Robotex 2008 võistkond 3 - "Pointless"
Võistkond
Visioon robotist
Plaan on robot teha Lego Mindstorms NXT komplekti baasil, kasutades lisaandureid: Sharp-i IR kaugusemõõdikuid, IR majakaotsijat, jooneandurit ja laseriga objektiotsijat. Robot korjab esialgu ainult purke. Haarab neid haaratsiga ja viib 1-e kaupa kogumisalasse, orienteerudes majaka järgi. Katalooge väldib või sõidab üle. Sokid jäävad vist väljakule.
Purgiotsimine: Laseriga otsib purgi, liigub selle poole, IR anduritega positsioneerib purgi haaratsi juurde, haarab, liigub majaka suunas kogumisalasse, joont märgates paneb purgi maha ja läheb uue järgi kuni 6 tk on ära toodud.
Laseriga andur asendus lihtsa, ilma valgustita fototransistoriga!
Töökava
| Tegu | Tegija | Tähtaeg | Olukord |
|---|---|---|---|
| Robot | Indrek, Elary, Joel, Taavi | 04.12.2008 | valmis |
| NXT programm | Elary | 04.12.2008 | valmis |
| Laseriga andur | Indrek | 04.12.2008 | valmis |
| IR majakas | Indrek | 04.12.2008 | valmis |
| Fotoandur | Indrek, Elary | 04.12.2008 | valmis |
| Aku ja toide | Indrek | 04.12.2008 | valmis |
| Andurite lisamoodul | Indrek | 04.12.2008 | valmis |
| Sokkidekorjaja | 04.12.2008 | — |
Dokumentatsioon
Lahenduse kirjeldus
Roboti põhikontrolleriks on LEGO MINDSTORMS NXT kontroller. Robotil on 3 mootorit: 2 liikumiseks ja 3-s haaratsi jaoks(haarab ja tõstab). Orienteerumiseks ja objektide otsimiseks kasutab erinevaid andureid:
- SHARP-i analoog IR-kaugusmõõdikud(4tk)- objekti lähituvastus.
- Läätsega fototransistor(skeem“Fotoandur“) - objekti kaugtuvastus.
- IR majakaotsija - Majaka otsimiseks, suudab tuvastada erinevaid suundi.
- Jooneandur - musta joone tuvastamiseks.
IR-kaugusemõõdikud ja fototransistor on ühendatud HiTechnic-si NXT lisaplaadiga. Lisaplaat omab 5-e analoog sisendit, 6-e pööratavat digital S/V ja PIC kontrollerit, lisaplaadile sai 5V stabilisaatori abil lisatud eraldi toide IR andurite jaoks(vt skeem“Pingeregulaator“), NXT kontroller ja lisaplaat suhtlevad omavahel kasutades I2C protokolli. Majakaotsija ja NXT kontroller suhtlevad samuti I2C abil, ühendatakse otse NXT porti. Jooneandur on tavaline analoog skeem, mis on ühendatud otse NXT porti. Toiteks kasutab robot originaal AA patareide/akude asemel 7.2V 800mAh LIPO akut. Lisatud on ka sulavkaitsmest ja shottky dioodist koosnev kaitselülitus. Roboti ehituseks on kasutatud erinevaid LEGO NXT ja RCX komplektide detaile. NXT programmeerimine toimub USB kaabli või Bluetooth liidese abil.
Komponentide nimekiri
| Komponent | Kasutuskoht | Kogus |
|---|---|---|
| Lego Mindstorms NXT | Robot | 1 |
| IR LED | Majakas | 25 |
| NE555 timer | Laserandur | 1 |
| Hamamatsu S4282-51 | Laserandur | 1 |
| LM-8705 | IR andurite toide | 1 |
| NXT prototype board (HiTechnic) | Robot | 1 |
| Sharp GPD12 | Robot | 4 |
Skeemid
Programm
Programmi käitumise kirjeldus
Robot otsis purki fotoanduriga kõigepealt kohapeal vaikselt keerutades(kaugvaatlus), kui nägi purki ning ees ei olnud takistust(IR andurite vaateväljas) või purk ei olnud parasjagu krabatud, sõitis purgi poole. Takistuse ette jäämisel tehti põige takistusest mööda ning alustati uuesti purgi otsimist keerutades. Purgi kadumisel fotoanduri vaateväljast alustati uuesti purgi otsimist keerates vastupidiselt viimati otsimiseks valitud suunale. Purgile piisavalt lähedale jõudmisel lõpetati sõitmine ning krabati purk(seismajäämiseks ja krabamiseks kasutati keskmise ülemise IR anduri mõõtetulemust).
Kui purk oli käes, alustati majaka otsimist IR-majakaotsija abil kohapeal keerutades. Kui majakas ei olnud teatava aja jooksul leitav, sõitis robot hetkeks suvalises suunas ning jätkas sealt otsimist. Kui robot nägi majakat, sõitis selle poole. Kuna majaka suunda suutis robot eristada, siis korrigeeris robot oma suunda ka sõidu ajal. Takistuse ette jäämisel tegi sarnaselt purgi otsimisega manöövri ning jätkas majaka poole sõitmist. Purgi maha viskamiseks mõõtis majaka signaali tugevust ning joone olemasolu. Kui majakas oli piisavalt lähedal ja robot märkas joont, siis viskas purgi maha ning alustas järgmise otsimist.
Roboti kinni jäämise vältimiseks mõõtis robot igal hetkel liikumise reaalset liikumist. Kui liikumist ei toimunud, siis proovis teha mõlemale poole kiire pöörde reaalse sõidu jätkamiseks. Igal hetkel kontrollis robot ka takistuste olemasolu IR andurite abil, mille korral põhiprogramm ajutiselt peatati ning püüti takistusest mööda saada. Soki peale sõites tegi robot kiire manöövri kinni jäämise vältimiseks. Ka kontrollis robot purgi olemasolu IR anduri abil. Purki haaras igal hetkel, kui see õiges kohas oli. Selle kaotamisel alustas programm uuesti purgi otsimist.
Programmi kood
Pildid
Hinnang
Plussid:
- Lihtne
- Kerge ehitada
- Väike
Miinused:
- Ei korja sokke
- Viib purke 1-e kaupa
- IR valgus segab IR andurite tööd
Võistlusest:
Tulemuseks oli 5. koht. Fotoanduri jaoks oli tugev valgustus väga hea, kuid need laelambid kirgasid ka palju IR-valgust, mis rikkus sharp-i IR andurite töö ning purkide krabamine ja takistuste vältimine ei toiminud hästi - valetulemused ja suvalised näidud. Samuti ka IR- majakaotsija töö oli sellepärast raskendatud ja kaugemalt majaka tuvastamisel esines vigu. Seega oleks võinud mingeid valgusest sõltumatuid, täpseid andureid kasutada.
Samuti oleks pidanud veel programmi optimeerima. Veel oleks võimalik olnud välja mõelda sokkidekorjamise mehanism, kasutades lisaplaadi vabu S/V viike, lisamootoreid jne. Oleks tulnud varem alustada ehitamist ja paremini korraldada võistkonna tööd.










