Kasutaja tarvikud

Lehe tööriistad


projektid:voistlusrobotid:icdgc:2014

ICD Grand Challenge robot 2014

Ülesande ülevaade

Võistluskonkursi on välja kuulutanud ICD Industries koostöös Robotexi korraldajatega. Võistluse mänguliseks eesmärgiks on tormisel merel päästa uppuvalt purjekalt selle meeskond. Selleks tuleb päästealuse kraanajuhil toimetada turvavõrk uppuvale alusele, põigelda samal ajal kõrvale uppuva purjeka mastidest ning toimetada meeskond päästealusele. Teisisõnu, eesmärgiks on ehitada robot, mis kinnitub maapinna kohal oleva torulati külge. Lati ühepoolses otsas on stardipunkt, mille all asub koorem ja mis tuleb võimalikult kiirest transportida lati teise otsa ja tagasi. Teekonnal asuvad ees aga torntakistused, millest tuleb slaalomstiilis mööduda (koormat pendeldades). Punastest takistusest tuleb mööduda vaheldumisi paremalt ja vasakult (alustades vabalt valitud suunast) kuni jõutakse kollase takistuseni, mille ümber tuleb teha ring ning siis võimalikult kiiresti algpositsioonile naasta selliselt, et punastest takistustest möödutakse teiselt poolelt. Reeglid

Väljaku joonis

Roboti ehitus

Kere

Roboti erinevaid osi ühendab MakerBeam alumiiniumprofiilidest raam (pildil). Profiilid on omavahel ühendatud 3D prinditud nurkadega ja osaliselt ka tavaliste MakerBeam'i pakutavate nurkadega. See on väga kiire ja lihtne viis teha roboti prototüüpi ning õiget konstruktsiooni kasutades ka piisavalt tugev.

 Kere

Torul sõitmine

Torul edast-tagasi sõitmiseks kasutab robot BaneBots'i RS550 DC mootorit koos reduktoriga. Mootori pöörete ja distantsi lugemiseks on mootori küljes ka enkooder, mis võimaldab meil aru saada roboti positsioonist torul ja samuti saab selle abil teha lihtsat kiirusprofiili järgimist. Robot kinnitatakse torule selliselt, et toru surutakse kolme koonuselise ratta vahele, millest üks on vedav. Rehviks on rattale valatud kahekomponentsest silikoonist ribad. Need andsid küll väga hea pidamise, aga miinuseks oli segu pehmus. Liiga pehme segu tekitas lõtku ümber toru telje ja samuti ei pidanud see väga kaua vastu ja silikooni tuli uuesti liimida ja ka vahetada.

 3D mudel

Kelk

Kuna roboti ülesandeks on panna pendeldama raskus, siis otsustasime pendeldamise juhtimiseks kasutada lineaarlaagril põhinevat kelk süsteemi. Kelku kasutades on võimalik viia pendli kinnituspunkt igal ajahetkel võimalikult madalale ning juhtimist on lihtne kontrollida kasutades lõpulüliteid ning mootoril koodrit.
Kelku liigutatakse hammasrihmaga, mis on fikseeritud poltidega kelgu külge. Rihma liigutab Pololu DC mikromootor, millele on lisatud magnet koodri lahendus, et saada kiiruse ja positsiooni tagasisidet. Lisaks on kelgu positsioneerimiseks ja nullimiseks kasutusel 3 optokatkestit - kaks äärtes, üks keskel. Lahendus võimaldas kelgu positsiooni määrata vähemalt 1mm täpsusega kogu siini piirkonnas.
Lisaks kelgu positsioonile on vaja mõõta ka trossi reaalset nurka kinnituspunktis. Selleks kasutasime kahte potensiomeetrit. Trossi nurka kasutati pendli kõikuma panemiseks ning algoritmi leidmisel tagasisidena.

Roboti elektroonika

Põhiskeem

STM32

Sabertooth

Roboti tarkvara

Roboti tarkvaralahendus oli jaotatud arvuti ning STM32 kontrolleri vahel. Arvutis jooksev Pythoni kood analüüsis kaamerast tuleva pildi järgi koonuste asukohad ning pidi arvutama ideaalse sõidutrajektoori. STM32 ülesandeks oli juhtida robotit vastavalt arvutatud trajektoori pidi.

STM32

Pilditöötlus

Põhialgoritm

Meeskond

Toetajad

projektid/voistlusrobotid/icdgc/2014.txt · Viimati muutnud: 2016/09/03 14:50 persoon raimond.vaba