Palmer: Difference between revisions
Line 63: | Line 63: | ||
* 3x H-sild - DC mootorite juhtimiseks vajalikud | * 3x H-sild - DC mootorite juhtimiseks vajalikud | ||
* Solenoid - löögimehhanismi tarbeks | * Solenoid - löögimehhanismi tarbeks | ||
* Suure mahutavusega | * Suure mahutavusega elektrolüütkondensaatorite akupakk - solenoidi kasutamiseks | ||
* Väiksemad | * Väiksemad elektrolüütkondensaatorid - pinge stabiliseerimiseks | ||
* Feriitrõngad ja (keraamilised) kondensaatorid - mootorimüra varjestamiseks | * Feriitrõngad ja (keraamilised) kondensaatorid - mootorimüra varjestamiseks | ||
* Velcro ja poldid-mutrid-seibid - detailide kinnitamiseks | * Velcro ja poldid-mutrid-seibid - detailide kinnitamiseks |
Revision as of 00:33, 2 December 2011
Robotex 2012 robot Palmer | |
File:P1230809 - Palmer.jpg | |
Informatsioon | |
---|---|
Ülikool: | Eesti Infotehnoloogia Kolledž |
Projekti liikmed: | Karl Kadalipp Matis Palm |
Juhendaja: | Margus Ernits |
Asukoht: | Tallinn |
Töövõidud: | 1. koht 2009.a Robotex Tiim Madistajad Robot Troller-Roller 5. koht 2011.a Robotex Tiim Palmer Robot Palmer |
Projekti eesmärk
Ehitada ja programmeerida robot, mis võidaks 2012. a Robotexil vähemalt 4. koha. Robotex 2011 reeglid võib leida siit.
Tarkvara lühitutvustused ja tutorialid
... Roboti kood käivitatakse käsuga ./botmaster2011 -r robotinimi(näiteks Palmer) , olles directory's botmaster2011 Kompileerimine toimub käsuga make
käivitatakse programm,pilt võetakse failist:
./main.bin -r digipallur -f pilt.bmp(tuleb pilt ette anda, kui kaamera pole ühendatud),testimiseks saab robotikoodina kasutada "testrobot"
näidatakse seadmeid, mis on arvutiga ühendatud:
dmesg
näidatakse, kas usb 0 on küljes:
ls -l /dev/ttyUSB0
opencv testimine, pilt võetakse failist:
./opencvtest pilt.bmp
Riistvara
- Emaplaat - toimub roboti koodi jooksutamine ja signaali saatmine edasi protsessori plaati
- 8GB USB pulk - operatsioonisüsteemi ja vajalike programmide/andmete talletamine
- Protsessori plaat - roboti kontrollosa, mis suhtleb roboti juhtarvutiga
- PS3 eye, IR andurid - ümbritseva keskkonna tajumiseks
- Lülitid indikaator-LEDidega, kaitsmed jms - vajalikud turvalisuse ja mugavuse jaoks
- 14.8V to 12V voolualandaja plaat koos jahutusega - emaplaadi toide 4 celliselt Li-Po akult
- LiPo akud (2x 4S 14.8V 2200mAh + 2x 2S 7.4V ~2000mAh) - toide mootori, emaplaadi, protsessori ja jahutussüsteemi jaoks
- 3x H-sild - DC mootorite juhtimiseks vajalikud
- Solenoid - löögimehhanismi tarbeks
- Suure mahutavusega elektrolüütkondensaatorite akupakk - solenoidi kasutamiseks
- Väiksemad elektrolüütkondensaatorid - pinge stabiliseerimiseks
- Feriitrõngad ja (keraamilised) kondensaatorid - mootorimüra varjestamiseks
- Velcro ja poldid-mutrid-seibid - detailide kinnitamiseks
- Roboti raam + rattad + mootorid - mehaanilised detailid roboti ülessande täitmiseks
Tiim Palmer
Nimi | Roll |
---|---|
|
|
|
|
|
|
|
|
|
|
TO DO LIST
Peab olema tehtud:
- 2011 roboti dokumentatsioon
- Kokkuvõte Robotexist ja vigade analüüs
- Tiimi kontaktid siia seina peale
- ...
Teha:
- Roboti põhja velcro (vasak pool)
- Kadunud 5mm diameetriga polt üles leida
- Kontroll-LEDidega lülitid ühele kontrollpaneelile roboti "katusele"
- Konveier-lint stiilis "rullik"
- Rattad ära värvida matt-mustaks
- Vana kood kordatehtud robotiga testida ja siis uut lahendust leiutama hakata (algul lisame teise kaamera)
- Nutisemad connectorid sebida (ja tellida!!!!! ASAP!)
- Silikoonrull valada
- Rattapuksid treida + augud ja keermed
- Varu coilgun ja rullikusüsteem - mõlemad peavad olema kergesti vahetatavad, ent robustsed!
- Palliandurid ja LEDid paremini ära kinnitada/kaitsta
Hea, kui oleks:
- Head tööriistad ehk: liimipüstol, termorüüd, LokTide superatak, kruvikeerajad, erinevad metallisaed jne
- Tolmuimeja
Logi
Robotex 2011
01.09.2011-26.11.2011 (Üsna random järjekorras)
- Tiimi ja roboti nimi välja mõeldud (1 minut enne regamist)
Elektroonika - 1. korrus
- Hunnik deanse joodetud.
- Prose toitelüliti koos juhtmetega valmis joodetud (oleneb prose paigutusest).
- Fototakistid ja ledid ära joodetud, juhtmete pikkus parajaks tehtud, kuumliimitatud ja paika pandud. (Karl, Meelis)
- Kaamera korralikult ära kinnitatud ja kaader paika pandud(sõltub rullist ja vastupidi). (Karl)
- Rulli konstruktsioon valmis.
- Coilgun.
- Seinaandurid kinnitatud ja ühendatud (4tk).
- Akud tellitud ja kohal (2x 7.4V Karlilt laenatud tho - järgmiseks aastaks uued tellida).
- Ülikorralik kondekapakk joodetud overkill tuuning-juhtmetega (16 AWG silikoonümbrisega), teibitud ja velcrotatud.
- Soleka uus alus valmis.
- Rulli kinnitus tugevamaks ja kindlamaks muudetud, rull paralleelseks pandud. (Meelis ja Karl)
- Akudele velcrod kinnitatud, kuid mitte liimitud!
- Akude asukohad ja juhtmete ühendused normaalsetesse kohtadesse pandud, et Matis ei peaks näppe väänama.
- 2 alumist andurit külgedele vaatama kinnitatud - cutecomis väärtused testitud.
Elektroonika - 2. korrus
- Juhtmestik korras (väljaarvatud ajutised lahendused, mis on tehtud kell 5 hommikul). (Karl)
- Emaplaadi kinnitused olemas, kuid korpus jäigi tegemata.
- Väravalati sensorid kinnitatud.
- Varu H-bridged - olemas, kuid testimata. (Meelis)
- USB pikendused.
- Wifi pulgale usb pikendus otse emaplaadilt.
- Infrapunasaatjad külgede peale väravamajakate tarvis ja testida, üks saatja puudu. Vist sai tehtud.
Elektroonika - 3. korrus
- Tagumine katteplaat valmistatud (vahetult enne võistluspäeva).
- Välised (ajutised) kaitsmed tehtud võistluspäeval.
- Emaplaadi ja värava lülitid kinnitada. (väravalüliti tehtud)
Progremine
- Valdar - arvutada välja värava löömise distanceH viga ja panna muutujasse, arvestame sellega sihtimisel. Kirjutada sihtimise funktsiooni mis arvestab värava kaugusega (kaugemalt täpsem).
Kirjutada viimase palli suuna muutuja ja kasutada seda palli otsimise funktsioonis õige suuna etteandmiseks (värava kohta peaks sama tegema aga see on natuke keerulisem, peaks tegema taimeri mis arvutab kaua aega on möödas viimasest värava nägemisest ja selle järgi arvutama kas oleme väravast üle 180* pööranud või mitte). Kirjutada taimerid palli ja värava otsimise täispöörde jaoks, kui täispööre on tehtud hakkame näiteks aeglasemalt tagasi keerlema. Kirjutada kood mis arvestab kahe ülemise anduri väärtuseid ja pöörab õigele poole ära kui näeb nendega midagi (väravast pallide võtmise avoid). Kirjutada kood mis arvestab küljeandurite väärtuseid ja sõidab vastavalt sellele “külg ees” (sõidunurk ca 60* ?) palli peale. Kui see kõik on valmis siis peaks vist tegema veel natuke kiirema (max muutuse step 10pwm) pealesõidu ja lisaks eraldi max speed kui pall on väga kaugel. Kollane värav põhjustab kõvasti probleeme.Tuleks kollase värava korral väljak üle käia ennem (läbi) ja siis oma värava ees otsida palle.Reedel on testimine TTÜ spordihoones, eks seal näeb kuidas selle valgustusega on täpsemalt. Värava ligidalt ei tunne palli ära. Värava ligidalt nurga all löömine.
Robotex 2012
27.11.2011-30.11.2011
- Rattad vahetatud uute vastu, puksid hetkel veel vanad, kuid Matis lubas paar kuud tagasi uued teha :)
- Tagumine kaitseraam värvitud matt mustaks (Motip camo seeria värvid!)
- Tagumise kaitseraami keskmine laager suurema vastu vahetatud, ülejäänud puhastatud ja tagasi külge pandud (1x 5mm läbimõõduga polt on kadunud!)
- Robo põhjast vasakpoolne velcro eemaldatud ning eraldusplaat ära võetud (meil pole seda tegelikult kunagi vaja olnudki). Sinna tuleb lähiajal uus (õiges mõõdus velcro)
- Tagumine raam kinnitatud, kuid ma tahaks sinna paari lisavidinat
- Roboti sisemus juppideks kistud ja eelnevalt tühjaks tehtud lauale paigutatud
01.12.2011
- Dokumentatsiooni algus.
02.12.2011
- Homme...
Visuaalne progress
Tulemus
Kasulik materjal
H-bridge
H-bridge'i näol on tegemist võimenduselemendiga mootori juhtimiseks, kuna mikrokontrollerite pingega ei saa juhtida suuri võimsusi. H-bridge abil saab võimsust suurendada. Võimsus sõltub pinge ruudust. Seda saab kasutada ka muude seadmete juhtimiseks. Asub mikrokontrolleri ja mootori vahel. Tal on 3 sisendit ja 2 väljundit. Sisendid A, B ja PWM ja väljundid a & b. Juhib väikese võimsusega suurt võimsust. Kui A ja B peal on sama pinge, siis mootor ringi ei käi.
A | B | PWM | 0 | 0 | 0 | V V - Vabakäik 0 | 0 | 1 | P P - Pidurdus 0 | 1 | 0 | V <- - Mootor käib ühte pidi 0 | 1 | 1 | <- -> - Mootor käib teist pidi 1 | 0 | 0 | V 1 | 0 | 1 | -> 162=M1 1 | 1 | 0 | V 163=M2 1 | 1 | 1 | P 164=M3
PWM'iga mootorit kiiresti sisse-välja lülitades saavutatakse madalam kiirus täiskiirusest. kiirusevahemik on 0-st 255ni
Cutecom
Aadressid
- 162=Mootor1 vasak esimootor
- 163=Mootor2 tagumine mootor
- 164=Mootor3 parem esimootor
Parameetrid
- 0 = vabakäik
- 1-255 pwm/kiirus ühes suunas AB=0/1 sealjuures 1 on väikseim ja 255 suurim kiirus
- 256-511 pwm/kiirus teises suunas AB=1/0 sealjuures 256 on väikseim ja 511 suurim kiirus
- 512= võiks olla pidur kui kõik töötab ideaalselt.
Servobasic
- 1-10 loe servo väärtus.
- 20-27 loe adc väärtus.
- 129-138 kirjuta servo väärtus.
- 228 salvesta servode väärtused.
- 40 loe kõigi ADC sisendite väärtus, tagastab stringi (NÄIDE : 544,133,124,1,109,173,215,243 )
- 230 reset
- 231 kõik servod välja/sisse. Parameetrid: 1-sisse 2-välja
- 44 kõik analogid ja digitalid (NÄIDE: 88,2,40,36,1023,1011,1023,1022,0,0,0,0,0,0,0,1 )
- Servo nummerdamine 0 - 9
- ADC nummerdamine 0-5
- Löömine 233, 255 on kõik digitalid ühed ja 0 lülitab välja.
Omni
-
Seletav joonis: edasliikumine
-
Seletav joonis: keeramine sõidu ajal
-
DC mootor
-
Ratas
0° - sõidab otse 180° - sõidab tagasi 90° - pöörleb ümber enda vasakule 270° pöörleb paremale
Prose plaat (ehk mikrokontroller) infoga
Andurite, soleka ja majakate Analoog/Digitaal
Järgnevad analoogid on antud tulenevalt kasutatud robotist ning ei ole kohustuslikud Anduri juhtme ühendades vastavasse analoogsisendisse, peaks andma vastava anduri väärtuse, olenemata mitmendat analoogi kasutada.
- Analog 0 - Palli andur
- Analog 1 - Ees vasak andur
- Analog 2 - Ees parem andur
- Analog 3 - Vasak külje andur
- Analog 4 - Parem külje andur
- Analog 5 - Kaugusandur
- Digital 0 - solekas
- Digital 6 - Vasak majaka andur
- Digital 7 - Parem majaka andur
Soleka Relee
Majakas
USB
Lingid
Tarkvara
Varukoopia tegemine koodist SVN-i abil, TÄHTIS!
GIT
Robovision
OpenCV installeerimine
Kaamera draiveri paigaldamine ja kasutamine
USB seriali kasutamise lagi vähendamiseks
Taimeri kasutamine koodis
Riistvara
USB-RS232 üleminek
Trükiplaadi valmistamine
4S 14.8V Li-Po aku laadimine
Elektroonika algõpe