Robotika
Készült:2000/2001 tanév II. szemeszter
1. Feladat:Egy robot megépítése, mely egy elöre definiált típusú úton képes végighaladni kanyaroktól függetlenül.
1. Feladat - 1. Megoldás
Felhasznált elemek:2 közepes erősségü motor
3 fényérzékelő
1 propeller
1 központi egység
Alapötlet:Mind a három érzékelő a az útra illeszkedik. Az érzékelők egyenlőszárú háromszög alakban helyezkednek el. A háromszög alapjánál lévő érzékelők a robot hátulján, míg a harmadik érzékelő a robot elején található. A robot azt figyeli, hogy a kezdeti állapothoz képest, mikor változik valamelyik érzékelő.
Mozgatás:A 2 motor egy-egy lánctalpat hajt meg. Ezek különbözö irányú meghajtásai adják a mozgás tipusokat.
Mozgás tipusok:A két motort számmal jelöljük. Ha a motor meghajtásra kerül elöre, akkor E betüvel jelöljük. Ha a motor hártafelé forog, akkor H betüvel jelöljük, ha pedig áll, akkor A-val.
1E - 2E Előre halad
1E - 2A Enyhe jobbra kanyar
1A - 2E Enyhe balra kanyar
1E - 2H Erős jobbra kanyar
1H - 2E Erős balra kanyar
1H - 2H Tolat
1A - 2A Áll
1A - 2H -Nincs használva- (Enyhe balra tolatás)
1H - 2A -Nincs használva- (Enyhe jobbra tolatás)
Specifikáció:Az érzékelők, attól függően, hogy az uton vagy azon kívül esnek-e, összesen 8 állapotot vehetnek fel. Ez annak köszönhető, hogy feltétetleztük, hogy az útnak és az út szélének állandó színe van, melyek erősen eltérőek. Ezentúl jelölje 1 a bal,3 a jobb hátsó érzékelőt, mig 2 az első érzékelőt. Ha az érzékelő helyes adatot fogad, vagyis az útat érzékeli, akkor ezt U-vel jelőljük. Különben pedig K jelölést használjuk. Igy a mozgás specifikációja a lehetséges 8 esetben a következőképpen néz ki:
1U - 2U - 3U Előre halad
1U - 2K - 3U Előre halad
1U - 2U - 3K Enyhe jobbra kanyar
1K - 2U - 3U Enyhe balra kanyar
1U - 2K - 3K Erős jobbra kanyar
1K - 2K - 3U Erős balra kanyar
1K - 2U - 3K Előre halad
1K - 2K - 3K Tolat valamely irányba rövid ideig.
Program:1. feladat 1. megoldásának letöltéséhez klikkelj ide!
1. Feladat - 2. Megoldás
Felhasznált elemek:2 közepes motor
Általában 2 , de bizonyos esetben (lsd. késobb ) 3 fényérzékelő
1 központi egység
Alapötlet:Az esetek nagy részében 2, a robot elejére épített érzékelőre támaszkodva haladunk az úton úgy, hogy az egyik az út jobb szélét látja, a másik éppen leér az út jobb oldala melletti sávra, innen vesz mintát indításkor.
Ennek köszönhetően egyszerüen tud haladni egyenesen és minden jobb-kanyar esetén.
Amennyiben az utat érzékelő szenzor letér az útról, két eset lehet.
- az úton szakadás van, később folytatódik az út:
Ekkor kap szerepet a 3., hátul lévő és az útra állított szenzor. Amíg az utat érzékel, folytatódik az előre haladás, figyelve arra, hogy az elöl levő szenzorok mit éreznek. Ha mindkét, útra állított szenzor (elöl és hátul levő) hibát jelez, akkor a második eset léphetett fel, ha azok visszataláltak a helyes útra, ismét övék a vezérlés.
- feltehető, hogy bal-kanyar következett be:
Igy ekkor arra próbál tovább menni, miután visszatolatott az utolsó, még jó pozicióba.
Mozgás tipusok:A két motort számmal jelöljük. Ha a motor meghajtásra kerül elöre, akkor E betüvel jelöljük. Ha a motor hártafelé forog, akkor H betüvel jelöljük, ha pedig áll, akkor A-val. (Megjegyzés : az alábbi leírás akkor igaz, ha a robot eleve erre a megoldásra épül. Mivel azonban az 1. megoldásra megépített robotot használtuk, a lehető legkevesebb átalakítást választva, a programban mindezek inverzét találod)
1E - 2E Előre halad
1E - 2A -Nincs használva- (Enyhe jobbra kanyar)
1A - 2E -Nincs használva- (Enyhe balra kanyar)
1E - 2H Erős jobbra kanyar
1H - 2E Erős balra kanyar
1H - 2H Tolat
1A - 2A Áll
1A - 2H -Nincs használva- (Enyhe balra tolatás)
1H - 2A Enyhe jobbra tolatás
Specifikáció:Az érzékelők, attól függően, hogy az úton vagy azon kívül esnek-e, összesen 5 állapotot vehetnek fel. Ez annak köszönhető, hogy feltétetleztük, hogy az útnak és az út szélének állandó színe van, melyek erősen eltérőek. Ezentúl jelölje 1 az elöl levő, útra állított, 3 az elöl levő,közvetlenül az út melletti szegélyre állított első érzékelőt, mig 2 az hátsó, útra állított érzékelőt. Ha az érzékelő helyes adatot fogad, vagyis az útat érzékeli, akkor ezt U-vel jelőljük. Különben pedig K jelölést használjuk. Igy a mozgás specifikációja a lehetséges 5 esetben a következőképpen néz ki:
1U - 3U Előre halad
1U - 3K Jobbra kanyar
1K - 2U - 3U Tovább előre (út szakadás?)
1K - 2K - 3U Tolatás egyenesen 1U-3U állapotig, majd kanyar balra
1K - 3K Nagyon hegyes szögü jobb kanyar
Program:1. feladat 2. megoldásának letöltéséhez klikkelj ide!
Képek az első robotról:
(Nagyításhoz kattints a képre)
2. Feladat:Egy mentő akciót végrehajtó robot készítése. A robotnak egy elakadt másik robotot kell megtalálnia. Miután rátalált a másik robotra, azt a robotok megfelelő kommunikációja után valamilyen formában meg kell mentenie. (pl.: kivezeti az adott területről)
2. Feladat - 1. Megoldás
Felhasznált elemek:4 közepes erősségü motor
1 fényérzékelő
1 propeller
2 központi egység
1 hangszóró
Alapötlet:Mindkét robot egyhelyben forog különböző forgási sebességgel. Az elakadt robot addig figyel, amig a mentő robot meg nem "szólítja". Ezután "segély jelet" küld az elakadt robot mindaddig, amig a mentő robot beméri helyzetét és oda nem megy hozzá. Ekkor a mentő robot átadja a szükséges információkat a masik robotnak, mely alapján az képes elhagyni a területet. Ha az egyhelyben történő forgáskor a mentő robot nem tudta bemérni a másik robot helyzetét, akkor egy tetszőleges heurisztika alapján másik pozícióba megy át. Ekkor a keresési eljárás elölről kezdődik. Ez mindaddig folytatódik, amíg sikeres "küldetést" nem hajt végre, vagy pedig a keresésre forított idő le nem jár.
Megvalósult:A fejlesztésre fordítható idő rövidsége, valamint a kommunikációs berendezések nem megfelelő érzékenysége miatt a kitüzött feladatból a következőket sikerült megvalósítani:
- Csak a mentő robot forog. Az elakadt robot áll.
- A mentő robot nem keres új helyet, ha nem találta meg az elakadt robotot. Folytatja ez egyhelybeni keresést.
- A mentő robot sikeres bemérés után a odamegy a másik robothoz. Ebben az esetben sikeresnek lett felfogva a küldetés és a program véget ér. (Nem kerül sor másodlagos kommunikációra.)
Mozgatás:Mindkét robot esetén egy-egy motor egy-egy első kereket hajt meg. Ezek különbözö irányú meghajtásai adják a mozgás tipusokat. A robotok hátuljánál egy-egy kerék található, amik nem kerültek meghajtásra, mert gombforgatásosak.
Mozgás tipusok:A két motort számmal jelöljük. Ha a motor meghajtásra kerül elöre, akkor E betüvel jelöljük. Ha a motor hártafelé forog, akkor H betüvel jelöljük, ha pedig áll, akkor A-val.
1E - 2E Előre halad
1E - 2A -Nincs használva- (Kis köríves jobbra kanyar)
1A - 2E -Nincs használva- (Kis köríves balra kanyar)
1E - 2H Egyhelyben jobbra kanyar
1H - 2E Egyhelyben balra kanyar
1H - 2H -Nincs használva- (Tolat)
1A - 2A Áll
1A - 2H -Nincs használva- (Kis köríves balra tolatás)
1H - 2A -Nincs használva- (Kis köríves jobbra tolatás)
Specifikáció:Kiindulási helyzetben a mentő robot forgás közben kereső jelet ad, míg az elakadt robot várva a megtalálását figyel. Ha az elakadt robot kereső jelet vesz az éterből, akkor befejezi a figyelést és vészjelet küld. A vészjel érzékelése után a mentő robot addig forog tovább, amig el nem vesziti a jelet. Amig érzékeli a mentő robot a vész jelet, addig a propellere bekapcsol. A vész jel elvesztése után ismert az a spektrumsugár, amiben az alakadt robot jele érzékelhető. Ennek a spektrumsugárnak kiszámítja a felét, és visszafordul adott szöggel. Ezt követően addig megy elöre, amig a fényérzékelője nem érzékeli a másik robot megfelelő közelségét. A kommunikációhoz kis erősségü jel lett felhasználva.
Problémák:- A jeladás kétféle állapota vagy túl rövidnek, vagy túl hosszúnak bizonyult.
- A kommunikációnál a ráhangolódás ideje elég nagy, így nehezen állapítható meg a jeladó forrás helye.
- A kommunikáció a ráhangolódás miatt csak megfelelő mennyiségü jel újraleadásával valósítható meg.
- Nem figyelhető közvetlen, hogy milyen jel érkezik. Az figyelhető csak, hogy érkezett-e jel, és ezt kell megfelelően feldolgozni utólag.
- A motorok nem egyforma erőssége nem tesz lehetővé pontos mozgást.
- A rendelkezésre álló fényérzékelő csak szélsőséges eseteket képes érzékelni.
- A ráhangolódás idő miatt nem adhat és figyelhet mindkét robot egyszerre.
- A robotok képesek nem megfelelő ráhangolódás esetén elkommunikálni egymás mellett.
Program:2. feladat 1. megoldásának letöltéséhez klikkelj ide!
Film a mentő robotról:
Az elakadt robotot a kereső robot megtalálja, mégha háttal is áll neki...
(Lejátszás csak Explorer-ből.)