Palmer

From ICO wiki
Jump to navigationJump to search


Robotex 2012
robot Palmer


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
  • Varem olid kasutuses ka valged ledid pallide valgustamiseks pimedates väljakunurkades
  • PS3 eye, IR andurid, majakaandurid - ü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 2011/2012

Nimi Roll
  • Karl Kadalipp
Wiki, riistvara, testimine ja edaspidi osaliselt ka koodi kirjutamine (kui hammas peale hakkab)
  • Matis Palm
Chillax
  • Entusiastlik uus liige
Eriti odav tööjõud
  • Õige pisut uus liige
Õige pisut vähem tööjõud
  • Muhedalt uus liige
Keldritagune ghettolaks ühes kõrgtasemel programmeerimisega
  • Eriti uus liige
Hardcore koodikribamine kasutades selleks teisi tekstitöötlusvahendeid kui Skype (õppides sel ajal eelmiste aastate vigadest)
  • Sergei Podust
2012.a Robotexil ei osale, ent kirjutas ebailusat koodi (läbi skype!), mis kahjuks jäi Lennarti tasemele alla :D
  • Meelis Tamm
2012.a Robotexil ei osale, kuid tinutas jõhkralt ägedad H-bridged, mida me pole veel testinud, kuid tõotavad olla sama head kui rooliloksuta BMW-d
  • Valdar Vaht
2012.a Robotexil ei osale, aga tegi ilusat koodi, mis ühes 400 euriga ajalukku kirjutati

TO DO LIST

Peab olema tehtud:

  1. 2011 roboti dokumentatsioon
  2. Kokkuvõte Robotexist ja vigade analüüs
  3. Tiimi kontaktid siia seina peale
  4. Pildid ja kajastused uudistes alla laadida / ümber lindistada ning kusagile uploadida (nt YouTube ja Picasa)
  5. Erakogudes olevad pildid (spetsiaalselt selleks tehtud) Picasa galeriidesse toppida ning robowikisse lingid panna
  6. ...

Teha:

  1. Roboti põhja velcro (vasak pool)
  2. Kadunud 5mm diameetriga polt üles leida
  3. Kontroll-LEDidega lülitid ühele kontrollpaneelile roboti "katusele"
  4. Konveier-lint stiilis "rullik"
  5. Rattad ära värvida matt-mustaks
  6. Vana kood kordatehtud robotiga testida ja siis uut lahendust leiutama hakata (algul lisame teise kaamera)
  7. Nutisemad connectorid sebida (ja tellida!!!!! ASAP!)
  8. Silikoonrull valada
  9. Rattapuksid treida + augud ja keermed
  10. Varu coilgun ja rullikusüsteem - mõlemad peavad olema kergesti vahetatavad, ent robustsed!
  11. Palliandurid ja LEDid paremini ära kinnitada/kaitsta
  12. Promoda Co2 tulekustuteid Robotex 2012 korraldajatele, et Tartukate robotid täitsa mahakandmisele ei läheks ;)

Hea, kui oleks:

  1. Head tööriistad ehk: liimipüstol, termorüüd, LokTide superatak, kruvikeerajad, erinevad metallisaed jne
  2. 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.
  • (Edaspidi kasutame väikese nurga alt löömisel Peetri taktikat).

Robotex 2011 - VÕISTLUSE ANALÜÜS

FUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU















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 õhtupoolik

  • Eelmise võistlusaasta dokumentatsiooni algus ja lõpp.

02.12.2011

  • Homme...

Visuaalne progress

Praegune olek

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

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

Kondekapakk

  • Tuleb eraldi skeem välja joonistada, et tulevikus pangepanemisi poleks (5ne pakk, mis mahutavused, rööbiti joota koos testotstega, deansid!)

Inglisekeelne wiki artikkel kondekatest

Majakas

USB

Lingid

Robotex kodulehekülg

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