Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
mindstorms:plnxt:plnxtdev:start [2009/02/20 12:21]
gjn
mindstorms:plnxt:plnxtdev:start [2013/01/17 12:14]
esimon Page moved from plnxt:plnxtdev:start to mindstorms:plnxt:plnxtdev:start
Line 47: Line 47:
  
 See example [[https://​hekate.ia.agh.edu.pl/​webtrac/​hades/​trac.vc/​chngview?​cn=94|here]] See example [[https://​hekate.ia.agh.edu.pl/​webtrac/​hades/​trac.vc/​chngview?​cn=94|here]]
 +
 +===== Milestones =====
 +==== M0 ====
 +20.02.2009: __DONE__ initial
 +
 +==== M1 ====
 +06.03.2009: F1, T1?
 +
 +==== M2 ====
 +20.03.2009: F2
 +
 +==== M3 ====
 +06.02.2010: F3
 +
 +===== Functionality =====
 +==== F1 ====
 +  * fix jsi2008 bugs
 +  * make sure icommand works
 +
 +==== F2 ====
 +  * run and debug on freerunner
 +  * control concepts -> S. Nowaczyk
 +==== F3 ====
 +control //several// robots!
 +
 +==== F ====
 +client-server
 +
 +==== F ====
 +
 +===== Technicals =====
 +==== T1 ====
 +  * on-line docs
 +
 +
 +
 +===== Algorithm examples =====
 +
 +==== Square, avoiding obstacles ====
 +
 +<code prolog>
 +%  * Robot does a square line move.
 +%  * It will stop and turn around, if senses an obstacle. After that it continues square move.
 +%  * Stops after typing "​stop."​
 +
 +% Type: start.
 +
 +:- consult('​../​plnxt'​).
 +
 +start :-
 + nxt_open,
 + thread_create(rectangle_start,​_,​[detached(true)]).
 +
 +rectangle_start :-
 + trigger_create_noreturn(_,​check_distance,​obstacle),​
 + rectangle_loop.
 +
 +check_distance :-
 + nxt_ultrasonic(Value,​force),​
 + Value < 15.
 +
 +obstacle :-
 + nxt_stop,
 + nxt_rotate(350,​180),​
 + thread_create(rectangle_start,​_,​[detached(true)]).
 +
 +rectangle_loop :-
 + nxt_go_cm(350,​40),​
 + nxt_rotate(350,​100),​
 + rectangle_loop.
 +
 +stop :-
 + trigger_killall,​
 + nxt_stop,
 + nxt_close.
 +</​code>​
 +
 +==== Following the black line ====
 +
 +<code prolog>
 +%  * Robot follows the black line on the test pad clockwise.
 +%  * Stops after typing "​stop."​
 +
 +% Type: start.
 +
 +:- consult('​../​plnxt'​).
 +
 +start :-
 + nxt_open,
 + nxt_light_LED(activate),​
 + thread_create(follow_line,​_,​[detached(true)]).
 +
 +follow_line :-
 + trigger_create(_,​check_colour,​adjust),​
 + nxt_go(350).
 +
 +check_colour :-
 + nxt_light(Value,​force),​
 + Value > 50.
 +
 +am_i_on_track(Value) :-
 + Value < 50,
 + follow_line.
 +
 +am_i_on_track(_) :-
 + adjust.
 +
 +adjust :-
 + nxt_stop,
 + nxt_rotate(350,​5),​
 + nxt_light(Value),​
 + am_i_on_track(Value).
 +
 +stop :-
 + trigger_killall,​
 + nxt_stop,
 + nxt_close.
 +</​code>​
  
 ===== SPOOL ===== ===== SPOOL =====
 +==== Ideas ====
 +  * communication overhead, time issues
 +  * interrobot communication -> groupwork
 +  * thread polling frequency, parameter?
 +  * bricku UI (Buttons/​screen) support -> future work
  
 ==== NXT USB Linux ==== ==== NXT USB Linux ====
Line 67: Line 190:
  
 FIXME move to the mindstorms hp FIXME move to the mindstorms hp
- 
- 
mindstorms/plnxt/plnxtdev/start.txt · Last modified: 2019/06/27 15:50 (external edit)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0