LEGO robot za vás vyvenčí robotického psa: RoboPet riadený z RCX

Funguje aj s robotmi RoboSapien, RoboSapien V2 a RoboRaptor!

English version

Popis

V lete sme sa zabávali riadením robota RoboSapien pomocou infravežičky z LEGO Mindstorms verzia 1.5 pripájanej na sériový port. Na to ale musel byť robot na dohľad od vežičky a teda aj od PC. Program sa ale páčil viacerím, ktorí ale chceli riadiť aj novších členov robotickej rodiny WowWee. Zistili sme, že program sa dá jednoducho upraviť, keďže infračervené príkazy pre všetkých členov rodiny majú podobný formát. Viac informácií a program nájdete na konci stránky: RoboSapien riadený pomocou LEGO IR-Tower pripojenej na sériový port.

Myšlienka riadenia Sapiena priamo z kocky RCX bez prítomnosti PC nám zostala od leta, až kým mi Robert Oschler - autor RoboSapien Dance Machine napísal toto:

If anyone can do it Pavel, you can. :)

Veľmi som tomu neveril, ale aj tak som si podrobnejšie preštudoval hardvérový manuál procesora H8/3292 (a stálo to za to), ale všetky pokusy ukázali, že bez zmien v systéme BrickOS (čo už nebolo v mojich silách) sa mi nedarilo nastaviť ani režim synchrónnej komunikácie a ani jeden z interných časovačov - RCX jednoducho zmrzla po zapísaní bitu na príslušný port, ktorý tieto služby aktivoval. Keď už som to skoro vzdal, vyskúšal som ešte zmerať koľko trvá jednoduchý cyklus a odhadol som počet opakovaní tak, aby sa generovaný signál podobal želanému výsledku a na veľké prekvapenie to zafungovalo na prvý pokus a RoboPet začal reagovať na príkazy vysielané zo zabudovaného IR portu RCX.

Video

Môžete si downloadnuť video z malého dema (ospravedlňte prosím nižšiu kvalitu záznamu na kolene s webkamerou):

rcxnpetsmall.wmv (normal quality 1.9 MB).
rcxnpet.wmv (13.2 MB),

Blikajúce svetlo na výstupnom porte B len vizualizuje posielanie IR signálu z IR portu RCX.
Modro biele svetlo ktoré vychádza z robotovej hlavy je jeho senzor na zisťovanie vzdialenosti - webkamera je citlivá aj na vlnové dĺžky, ktoré nie sú okom viditeľné a prevádza ich do viditeľnej oblasti.

Software

Jednoduchý programček sapien.c v prostredí BrickOS ktorý vyšle príkaz STOP k robotovi RoboPet, ale jeho funkcie možno využiť na riadenie všetkých členov rodiny je voľne k dispozícii tu:

sapienrcx.zip

V zip-súbore sú aj potrebné časti systému BrickOS pre Windows, takže program môžete hneď vyskúšať.

Inak si ale downloadnite verziu BrickOS pre Linux alebo pre Windows (a cygwin), a napíšte nám. Program ešte možno budeme vylepšovať, lebo Rišo sľúbil, že to možno zmeria osciloskopom.

Extras: rcxrepeater.zip - posiela prikazy robotom z PC cez RCX (vezicka pre seriovy aj USB port by mala fungovat). rcxrepeater2.zip (updated 2006-02-24 04:38 [GMT+1]) - nova verzia s riadenim motorov a s 16 pamatovymi bankami.

(c) Január 2006, www.robotika.sk Paľo (ppetrovic (at) acm.org) a Rišo, (balogh (at) elf.stuba.sk).