Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
mindstorms:plnxt:plnxtdev:start [2009/02/17 13:17] gjn |
mindstorms:plnxt:plnxtdev:start [2019/06/27 15:50] (current) |
| |
A page dedicated to the coordination of the Hekate Project Prolog API for Mindstorms, a.ka. //PlNXT// | A page dedicated to the coordination of the Hekate Project Prolog API for Mindstorms, a.ka. //PlNXT// |
| |
| |
| |
| |
===== NXT USB Linux ===== | |
| |
* linux+ usb http://forums.nxtasy.org/index.php?showtopic=2143 http://forums.nxtasy.org/index.php?s=114db3461178f97b9e60e6505172e10c&showtopic=2240&st=0&p=17166&#entry17166 | |
* libnxt http://jgraef.bplaced.de/libnxt/ http://forums.nxtasy.org/index.php?s=bfec39b7cf29627892175f8a1d8dd819&showtopic=1417&st=0&p=11726&#entry11726 | |
* nxtfs http://jgraef.bplaced.net/nxtfs/doc.html http://forums.nxtasy.org/index.php?s=bdb63f5b93dbefc8c4a428be53e5a157&showtopic=2083&st=0&p=16248&#entry16248 | |
* http://www.juju.org/articles/2006/10/22/bluetooth-serial-port-to-nxt-in-linux | |
* solution: copy and paste {{:mindstormsdev:nxt-lego.txt|this scrpit}} to root console :-) | |
* test the ''nexttool'' form nbc, register and [[http://forums.nxtasy.org/index.php?showtopic=2143&st=0|download here]] | |
* [[http://home.comcast.net/~dplau/nxt_python/index.html|NXT in Python]], could be a reference for Prolog? | |
* a simple [[http://xorff.blogspot.com/2007/01/introducing-nxtsh-command-line.html|shell]] using the above | |
| |
==== Extra links ==== | |
* http://www.jstuber.net/lego/nxt-programming/index.html | |
* http://www.teamhassenplug.org/NXT/NXTSoftware.html | |
* http://www.techbricks.nl/index.php?option=com_weblinks&view=category&id=19&Itemid=63&limitstart=20 | |
FIXME move to the mindstorms hp | |
| |
===== CVS access ===== | ===== CVS access ===== |
| |
FIXME | FIXME |
The [[https://hekate.ia.agh.edu.pl/webdoxy/hqed/doc/|DoxyGen doc]] for Hqed, automagically regenereted while you sleep :-) | The //plnxt docs//, automagically regenereted while you sleep :-) |
| |
| |
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]] |
| |
===== HeDEs ===== | ===== Milestones ===== |
HeKatE developers, update info [[hekatedev:hades|here]]. | ==== 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 ===== |
| ==== Ideas ==== |
| * communication overhead, time issues |
| * interrobot communication -> groupwork |
| * thread polling frequency, parameter? |
| * bricku UI (Buttons/screen) support -> future work |
| |
| ==== NXT USB Linux ==== |
| |
| * linux+ usb http://forums.nxtasy.org/index.php?showtopic=2143 http://forums.nxtasy.org/index.php?s=114db3461178f97b9e60e6505172e10c&showtopic=2240&st=0&p=17166&#entry17166 |
| * libnxt http://jgraef.bplaced.de/libnxt/ http://forums.nxtasy.org/index.php?s=bfec39b7cf29627892175f8a1d8dd819&showtopic=1417&st=0&p=11726&#entry11726 |
| * nxtfs http://jgraef.bplaced.net/nxtfs/doc.html http://forums.nxtasy.org/index.php?s=bdb63f5b93dbefc8c4a428be53e5a157&showtopic=2083&st=0&p=16248&#entry16248 |
| * http://www.juju.org/articles/2006/10/22/bluetooth-serial-port-to-nxt-in-linux |
| * solution: copy and paste {{:mindstormsdev:nxt-lego.txt|this scrpit}} to root console :-) |
| * test the ''nexttool'' form nbc, register and [[http://forums.nxtasy.org/index.php?showtopic=2143&st=0|download here]] |
| * [[http://home.comcast.net/~dplau/nxt_python/index.html|NXT in Python]], could be a reference for Prolog? |
| * a simple [[http://xorff.blogspot.com/2007/01/introducing-nxtsh-command-line.html|shell]] using the above |
| |
| === Extra links === |
| * http://www.jstuber.net/lego/nxt-programming/index.html |
| * http://www.teamhassenplug.org/NXT/NXTSoftware.html |
| * http://www.techbricks.nl/index.php?option=com_weblinks&view=category&id=19&Itemid=63&limitstart=2 |
| |
| FIXME move to the mindstorms hp |