Siin video robotist millega käisime seekord Robomikul võistlemas. Parimates katsetes saime palliviskekauguseks 6,5 meetrit.
NXT robotimaailm ja programmeerimine C-keeles
Siin video robotist millega käisime seekord Robomikul võistlemas. Parimates katsetes saime palliviskekauguseks 6,5 meetrit.
Selleks korraks on ette nähtud ehitada robot, mis tulistab suuri siniseid ja punaseid palle. Või kui täpsem olla, siis robotil peab olema ehitatud laadur, mis teeb pallide osas valiku – st. punaseid palle peab tulistama, sinised seevastu kõrvale eraldama. http://www.robomiku.ee/
Kuna praegu on veel 1 päev võistluseni siis videot ma meie roboti kohta üles ei pane, kuna ma arvan lihtsalt, et meil on liiga hea ideega robot mille teised jõuaksid hea tahtmise korral maha kopeerida.
Pildi panen kuna see ei anna detailset infot roboti toimimispõhimõtte kohta. Kui oma esimesi katsetusi tegime kõikvõimalike erinevate moodustega siis õnnestus pall tulistada 20 ja 30 cm kaugusele. Vaadates ja ka ise proovides ütlesin poistele, “tulemus on rahuldav siis kui lasete palli sinna raamaturiiulini” (kuhu on ca 5m). Selle peale muidugi arvati et ma olen hull, kuna oli selge, et üle 50 cm või noh pingutustega 1 m – rohkem küll võimalik pole.
Täna võin öelda, et maksimaalse kauguse saimegi 6,5 m, kuid keskmiselt jääb veidike alla 6m, kuna kummid hakkasid veidi välja venima ning kasutada tohib ainult Lego robootika enda komplekti kumme. Seega ei tohi minna Piritale purjepoodi, et sealt mõne vinge kummiga naasta.
|
Robootikas on joonejälgija roboti ehitamine üks esmaseid asju mida tavaliselt õpitakse ja tehakse. Ja alati on eesmärgiks luua robot, mis suudab joonel püsides kõige kiiremini liikuda.
NXT robotile saab joonejälgimise anduritena kasutada algselt kaasasolevat valgusandurit, NXT 2.0 värviandurit, Hitechnic värviandurit, Hitechnic EOPD andurit (ehk infrapuna kaugusandur). Lisaks on olemas spetsiaalne Mindsensori joonejälgija andur, mis koosneb 8-st infrapuna diood-andurist, tagades erakordselt nobeda liikumise.
Joonejälgija robot töötab alati põhimõttel, et jälgitakse joone serva ehk siis musta-valge vahekohta. See tähendab, et ühe sensoriga joonejälgija on ehitatud alati järgima kas joone parem- või vasakpoolset serva. Kui andur satub valgele, keerab robot tagasi musta peale ja vastupidi – tulemuseks on sik-sak sõitmine. Selle väite juures on paar erisust:
|
![]() ![]() ![]() ![]() |
previous_error = 0 integral = 0 start: error = setpoint - actual_position integral = integral + (error*dt) derivative = (error - previous_error)/dt turn = (Kp*error) + (Ki*integral) + (Kd*derivative) previous_error = error // wait(dt) goto start
|
Ziegler-Nichols meetod PID controlleri konstantide määramiseks.
|
|||
|
Controller
|
KP
|
KI
|
KD
|
|
P
|
0,5 * KC
|
0
|
0
|
|
PI
|
0,45 * KC
|
1,2 * KP / PC
|
0
|
|
PID
|
0,6 * KC
|
2 * KP / PC
|
KP*PC / 8
|
|
Konstantide suurendamise tagajärjel tekkiv mõju roboti liikumisele
|
||||
|
Parameeter
|
Joone hoidmise täpsus
|
Üle keeramise amplituud
|
Nulli jõudmise kiirus
|
Hälve tasakaaluasendis
|
|
KP
|
Väheneb
|
Suureneb
|
Väike mõju
|
Väheneb
|
|
KI
|
Väheneb
|
Suureneb
|
Suureneb
|
Kõrvaldab
|
|
KD
|
Väga väike mõju
|
Väheneb
|
Väheneb
|
Puudb
|
Osalesime edukalt Robotexil ning siin põgus ülevaade TTÜ-s toimunust.
Eesti suurim robotivõistlus, 3-4 detsember 2010
http://www.robotex.ee
TULEMUSED
Robotex 2010 Põhigrupis "Pro" jagunesid auhinnatud kohad järgmiselt:
(Võistkond, Roboti nimi, Õppeasutus/Organisatsioon)
I KOHT: N.E.V.E, Neve, Eesti Infotehnoloogia Kolledž
II KOHT: Madistajad, Madistaja, Eesti Infotehnoloogia Kolledž
III KOHT: TTÜ Robotiklubi võistkond Mäger, Darth Mäger, Tallinna Tehnikaülikooli Robotiklubi
PARIMA DISAINI AUHIND: TTÜ Robotiklubi võistkond Mäger, Darth Mäger, Tallinna Tehnikaülikooli Robotiklubi
ILUSAIMA KOODI AUHIND: RIHMA, Robin, Tartu Ülikool/Tallinna Tehnikakõrgkool
Robotex 2010 "Avatud" grupis jagunesid auhinnatud kohad järgmiselt:
I KOHT: Kuulipildur, Goblin, Tartu ülikool/Tallinna Tehnikakõrgkoo
II KOHT: NXT Hispaania, David "LEGO" Villa, Tartu Kivilinna Gümnaasium
III KOHT: MS8, SG4, Saue Gümnaasium
PARIMA DISAINI AUHIND: Koopaoravad, Fluffy, Tartu Kivilinna Gümnaaasium
Postimees Online sattus juhuslikult meie tiimi jalkamatšile peale. Vasakpoolne on robot Goblin kes võttis tänase üldvõidu ning meie robot Robojalg parempoolne.
Ülilahe võistlus kust saime kaasa suurel hulgal kogemusi ja uusi ideid.
Uksed avati kell eelmisel õhtul kell 8 ning selleks ajaks me ka kohale läksime. Roboti-ehitus ja programmeerimine aga kestis kella 5-ni hommikul. Seejärel sundisin Jaani ja Ramsese kolmeks tunniks magama, et kell 8 algavale kohtade loosimisele ja tiimide intervjuudele jõuda.
Sügisel oli poistega kaasas Tarmo, kes ka käesoleva videoülesvõtte tegi.
Sellest on nüüd aastaid tagasi kui ma mõnest progemisest nii haaratud olin, et ööl ega päeval vahet polnud. Kas kardinad liikusid ise ette ja eest ära? Ah et juba jälle päev?
Tegelikult olin haaratud robootikast. Sügisest alates olen taas juhendanud robootikaringi ning täpselt nädal tagasi saime kätte koolivaheajal toimuva robomiku võistluse korralduse. Seega viimase nädalaga tegid poisid valmis kaks erineval põhimõttel töötavat võistlusrobotit.
Võistlus on pealtnäha lihtne: on üks suur ovaalne 60cm laiune rada, mille sisering on tähistatud 5cm laiuse musta joonega ning väline serv 5cm laiuse punase joonega. Võidab see, kes kiiremini kolm ringi läbib.
Poiste käe ja tiheda mõttetöö abil valmisid Valgusrobot ja Värvirobot. Esimene neist kasutab kahte valgusandurit ning püüab nende abil maksimaalselt kiiresti mustal joonel sõita. Teine robot kasutab värviandureid ning püüab nende abil võimalikult kiiresti ühest rajaservast teise sik-sakitades ringitada.
Praktiliselt tulid robotid ühekiired, kuigi üks neist läbib oluliselt pikema teekonna.
Valgusroboti pluss:
1. Robot läbib peaaegu lühima tee ehk siis siseringi
Valgusroboti miinus:
1. Andurite kalibreerimisele vaatamata töötavad need veidi ebakindlalt erinevates valgustingimustes. Selle asemel on hea kasutada Hitechnicu EOPD andureid, kuid neid on mul vaid üks – ja siis ei hakanud seda kasutama.
2. Robot kaotab joone väga kergelt kui kiirust tõsta.
Värviroboti pluss:
1. Värviandurid töötavad kiiresti ja erakordselt täpselt kõikides valgusoludes.
2. Otsesõites võib robot arendada päris suurt kiirust (kass üllatus korduvalt selle roboti tegutsemise peale)
Värviroboti miinus:
1. Juhuslikkuse printsiibil võib ette tulla olukord, kus robot paneb täie lauluga risti joone peale. sellisel juhul on üsna kindel väljasõit.
Kuidas kõik need miinused eemaldada ja teha väga kiire ringirobot, seda ma tean. Aga nii noortelt kõrgemat matemaatikat, loogikat, abstraktset mõtlemist, alamprogramme jms nädalaga selgeks õppida oleks ilmselt palju tahta. Ja vingeid programme, millest nad midagi aru ei saa, pole mõtet neile kirjutada.
Sest võistlusel võidakse poiste käest küsida, “kuidas sinu tehtud programm töötab”. Ja selle peale oleks ju päris lahe kui 11-12 aastane hakkaks selgitama õpetajale “uurisin siin väheke Calculus printsiipe robotite juhtimisel ning mõtlesin joonejälgija juures kasutada sellest tulenevalt PID-controlleri tööpõhimõtet” või “värviroboti juures otsustasin järskude tagasipöördenurkade juures võtta kasutusele gyroskoop-anduri, et selle abil vastavalt pöördenurgale tasakaalustada roboti esialgne suund, tagades sellega sujuva ja kiire sõidu”.
Ülaltoodud kaks olidki ideed mis mind hommikuni arvuti taga ja ilmselt kauemgi oleks hoidnud kui Kaja poleks ajanud mind Lasnamäe Spordihalli lätti võistlema minejatele köieharjutusi ja ronimisjuhendamist tegema.
PID Controlleri tööpõhimõte joonejälgijale minu vabas sõnastuses: “analüüsides läbitud teed ja võttes arvesse käesolevat hetke joone ning andurite suhtes, ennustame kuhu ja kui kiiresti peab robot järgnevalt liikuma”.
Wiki page on PID Controllers
Ulmekirjanik ja teadlane Isaac Asimov on kirjutanud raamatud mis sisaldavad ühel või teisel moel sõna Asum. Galaktikate tuleviku osas mängivad teadus, matemaatika, psühhoajalugu ja robotid äärmiselt olulist rolli.
Siinkohal panen kirja reeglid, millest lähtuvalt peavad olema loodud kõik robotid (Isaac Asimov).
1. Robot ei tohi kunagi teha viga inimesele või oma tegevusetusega lubama, et viga saab inimene.
2. Robot peab kuuletuma inimesele, välja arvatud juhul kui see läheb vastuollu Esimese Reegliga.
3. Robot peab tagama enda eksistentsi, kuid seda tingimustes et oleksid täidetud Esimene ja Teine Reegel.
Seega, robotid võivad omavahel võidelda ning sellisel juhul on nende esmane ülesanne ellu jääda ja ainuke võimalus selle realiseerimiseks on hävitada teine robot.
Taas on mõned tunnid mööda läinud ning poisid on igasugu vigureid teinud.
Robot, kes valgusanduri abil oskab liikuda täpselt etteantud musta joont mööda. Teine robot, kes võiks hiiri püüda (hiirelõks).
Siis tegime roboti, kes tunneb ära värvilise palli enda ees ning vastavalt värvile tegutseb. Punast peab lööma, sinist mitte.
Spinner, ja mõned mõned muud väiksemad asjad ka veel.
Põrkaja-robot, kes sõidab seina suunas aga enne kokkupuudet “põrkab” nö. tagasi.
Viimane tund võttis üks poiss kaasa kodus tehtud klotside sorteerija, mis vastavalt lego klotsi värvile need erinevatesse karpidesse pani.