Robotika speci
Kápolnás György
Kondor Viktor
Rideg Balázs
Sasvári Antal
2. feladat (körbejáró)
A robot érdekessége, hogy az RCX-ben semmlyen program nincs,
teljesen a központi gép vezérli, Delphibõl,
a spirit.ocx modul segítségével. A Delphi-program
kapcsolgatja a motorokat, és kérdezi le az érzékelõket.
Ehhez elõször nagy hatótávolságura kellett
állítani az RCX infraadóvevõjét a megfelelõ
spirit-függvénnyel.
A robot alvázát az elõzõ csoporttól
kölcsönöztük, így a kettõs differenciálmü
segítségével történik a meghajtás
és a fordulás.
Elõl egy nyomásérzékelõ, bal oldalon
pedig egy fényérzékelõ található.
Két oldalt kis kerekek találhatók, ezek segítik,
hogy "hozzásimuljon" a falhoz, azaz teljesen beálljon a fal
irányába. A cél, hogy feltérképezze
az õt körülvevõ "szoba" (vagy dobozok) határát,
és ezt a monitorra rajzolja ki. Csak merõleges kanyarulatokat
ismer fel. Indításkor úgy kell elhelyezni, hogy a
bal oldali fényérzékelõ a fehér falnál
legyen. Ekkor halad elõre, míg az elülsõ nyomásérzékelõ
be nem nyomódik, vagy a bal oldali fényérékelõ
el nem hagyta a fehér falat. Ha a fényérzékelõ
hagyta el a falat, akkor balra kell fordulni. Visszatolat egy keveset,
majd 90+epszilon fokot fordul balra egyhelyben, és elindul
elõre. Az oldalsó kerekek miatt beáll a fallal egy
irányba, és így halad tovább. A képernyõre
ekkor kirajzolódik a fordulás elõtti egyenes szakasz
képe. Ha a fényérzékelõ még falat
lát, de az elsõ nyomásérzékelõ
benyomódott, akkor beértünk egy sarokba, jobbra kell
fordulni. Kirajzolódik az eddig megtett egyenes szakasz képe,
kicsit megint visszatolat, majd 90-epszilon fokot fordul jobbra,
így mikor elindul, "nekimegy" a falnak, majd az oldalsó kis
kerekek segítségével hozzásimul.
Akkor áll le, ha a kiindulási hely epszilon sugarú
környezetébe visszaér. Ha nem, ciki van, spirált
kezd el rajzolni :-)