Differences

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

Link to this comparison view

mindstorms:plnxt:plnxtdev:start [2013/01/17 12:13]
esimon Page moved from plnxtdev:start to plnxt:plnxtdev:start
mindstorms:plnxt:plnxtdev:start [2019/06/27 15:50]
Line 1: Line 1:
-====== PlNXT Development ====== 
  
-A page dedicated to the coordination of the Hekate Project Prolog API for Mindstorms, a.ka. //PlNXT// 
- 
-===== CVS access ===== 
-Some docs: a sane [[http://​furryland.org/​~mikec/​cvs.html|CVS Howto]], [[http://​ximbiot.com/​cvs/​manual/​|CVS Manual]]. 
- 
-  export CVSROOT=:​ext:​pholownia@charon.ia.agh.edu.pl/​mnt/​cvs/​cvs-hades 
-  export CVS_RSH=ssh 
- 
-Example (from student): 
-  export CVSROOT=:​ext:​pholownia@charon.ia.agh.edu.pl/​mnt/​cvs/​cvs-hades 
-  export CVS_RSH=ssh 
-  cvs co plnxt 
- 
-Locally on charon: 
-  export CVSROOT=/​mnt/​cvs/​cvs-hades 
-  cvs co plnxt 
- 
-When updating from CVS: 
-  cvs update 
- 
-Commiting changes 
-  cvs ci 
- 
-Adding files (before commit!): 
-  cvs add file 
- 
-===== Source OnLine Access ===== 
- 
-The [[https://​hekate.ia.agh.edu.pl/​webcvs/​cvs-hades/​view.vc|Hades CVS]] online. 
- 
-Log in with the same user/​password as in wiki, you need to be in the appropriate cvs group at charon for this to work! 
- 
-FIXME 
-The //plnxt docs//, automagically regenereted while you sleep :-) 
- 
- 
-===== Trac ===== 
-Test the new [[https://​hekate.ia.agh.edu.pl/​webtrac/​hades/​trac.vc|CVStrac]] here. 
- 
-Log in with the same user/​password as in wiki, you need to be in the appropriate cvs group at charon for this to work! 
- 
-When making a commit related to a Trac ticket, write something like 
-  Fix for ticket #N, such as... 
-where ''​N''​ is the ticker number! 
- 
-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 ===== 
-==== 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 
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