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/24 12:51]
holownia preliminary milostones and schedule
mindstorms:plnxt:plnxtdev:start [2019/06/27 15:50] (current)
Line 51: Line 51:
 ==== M0 ==== ==== M0 ====
 20.02.2009: __DONE__ initial 20.02.2009: __DONE__ initial
 +
 +==== M1 ====
 +06.03.2009: F1, T1?
 +
 +==== M2 ====
 +20.03.2009: F2
 +
 +==== M3 ====
 +06.02.2010: F3
  
 ===== Functionality ===== ===== Functionality =====
-==== ====+==== F1 ====
   * fix jsi2008 bugs   * fix jsi2008 bugs
   * make sure icommand works   * make sure icommand works
 +
 +==== F2 ====
 +  * run and debug on freerunner
 +  * control concepts -> S. Nowaczyk
 +==== F3 ====
 +control //several// robots!
  
 ==== F ==== ==== F ====
-==== F ==== +client-server 
-==== F ====+
 ==== F ==== ==== F ====
  
Line 67: Line 82:
  
  
 +
 +===== 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 87: Line 190:
  
 FIXME move to the mindstorms hp FIXME move to the mindstorms hp
- 
- 
mindstorms/plnxt/plnxtdev/start.1235476313.txt.gz · Last modified: 2019/06/27 15:51 (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