A feladat olyan robot elkészítése, amely képes
egy útvonalat követni. Az útvonal a "nem út"-tól
eltérõ szinû.
Fontos tényezõk:
A robotot
egy minimotor mozgatja, ez forgatja a tengelyt, amely a rajta lévõ
csigák segítségével hajtja a fogaskerekeket.
A fogaskerekeken vannak a csápok, amelyekkel a robot az utat érzékeli.
Ha a robot elõrefele halad, a csápokat összezárja,
ha hátrafelé halad, akkor pedig kinyitja.
A robotnak hat lába van, amelyek közül a bal elsõ, a bal hátsó és a jobb középsõ valamint a jobb elsõ, jobb hátsó és a bal középsõ mozog egyszerre. A tengely gondoskodik arról, hogy a robot felváltva rakosgassa a lábak megfelelõ csoportját.
A robot forgását egy kerék segítségével oldottuk meg, ha a kerék a földön van, akkor megemeli és megforgatja a robotot.
A robot az út illetve a nemút intenzitásértéke
alapján képes érzékelni, hogy vajon helyesen
követi az utat. Ha letér az útról, a good_direction
változó jelzi azt az irányt, amely felé forognia
kell. A robot teljesen az úton van, ha mindkét csápja
az út intenzitásértékét érzékeli.
Ha valamelyik csápja nincs az úton, azt az adott csápon
lévõ szem útra illetve nemútra vonatkozó
intenzitásértékének különbsége
adja meg.
A program két függvényt tartalmaz, az init() nevû függvény gondoskodik a szenzorok beállításáról, a main() tartalmazza a tényleges útkeresést.
Az útkeresés a következõképpen történik:
a bal csáp helyzete |
|
elindulás/megállás |
|
|
az úton van | az úton van | elindul | szétnyitja | nem mozog |
az úton van | letért az útról | forog | megállítja | balra teker |
letért az útról | az úton van | forog | megállítja | jobbra teker |
letért az útról | letért az útról | megáll | összezárja | nem mozog |
Készítették:
Lázár Katalin
Várnagy Zoltán
Szabó Lajos
2001. május