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/03/19 11:40]
holownia
mindstorms:plnxt:plnxtdev:start [2019/06/27 15:50] (current)
Line 57: Line 57:
 ==== M2 ==== ==== M2 ====
 20.03.2009: F2 20.03.2009: F2
 +
 +==== M3 ====
 +06.02.2010: F3
  
 ===== Functionality ===== ===== Functionality =====
Line 66: Line 69:
   * run and debug on freerunner   * run and debug on freerunner
   * control concepts -> S. Nowaczyk   * control concepts -> S. Nowaczyk
 +==== F3 ====
 +control //several// robots!
  
 ==== F ==== ==== F ====
- +client-server
-==== F ==== +
-control //several// robots!+
  
 ==== F ==== ==== F ====
Line 79: 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 =====
Line 84: Line 170:
   * communication overhead, time issues   * communication overhead, time issues
   * interrobot communication -> groupwork   * interrobot communication -> groupwork
 +  * thread polling frequency, parameter?
 +  * bricku UI (Buttons/​screen) support -> future work
  
 ==== NXT USB Linux ==== ==== NXT USB Linux ====
Line 102: Line 190:
  
 FIXME move to the mindstorms hp FIXME move to the mindstorms hp
- 
- 
mindstorms/plnxt/plnxtdev/start.1237459206.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