Robotino programozása
Bolla Dániel (BME-VIK)
2009 - FESTO
Mit tud a Robotino? • 2D mozgás bármely irányba • Függőleges tengely menti forgás • Web-kamera (képfeldolgozás) • Vezeték nélküli programozás • Infra szenzorok • I/O portok (analóg/digitális)
Robotino® View
Menüsor / Eszköztár
Munkaterület Modulok
Konstansok
Modulok paraméterei
Állapotsor
Robotino® View - Modulok
Web-kamera képe • Webkamera képének megtekintése:
Motor objektum
Sebesség megadása (RPM)
Aktuális sebesség (RPM)
Prioritás
Pozíció
Pozíció nullázása
Felvett áram
Fék Motor objektum
Ki kell választani, hogy az adott objektum a 3 motor közül melyikre vonatkozik!
Motorok közvetlen vezérlése • Mozgás előre:
• Forgás jobbra:
OmniDrive objektum
Motorok aktuális sebessége (RPM)
X sebesség megadása
Motor 1 sebessége (RPM)
Y sebesség megadása
Motor 2 sebessége (RPM)
Forgási sebesség megadása
Motor 3 sebessége (RPM)
X, Y irányú, valamint forgási sebesség aktuális értéke
OmniDrive objektum
Motorok vezérlése az OmniDrive-val • Mozgás előre:
• Forgás jobbra:
Motorok vezérlése az OmniDrive-val • Mozgás más irányokban:
• Mozgás köríven:
A motorok vezérlésére majdnem mindig az OmniDrive-ot használjuk!
Irányítás a ControlPanel objektummal X sebesség Y sebesség Forgási sebesség ControlPanel objektum
Irányítás a Joystick objektummal Tengely / gomb Tengely / gomb
Force-Feedback X
Tengely / gomb
Force-Feedback Y
Tengely / gomb Tengely / gomb Joystick objektum
Program leállítása ütközéskor • Bumper: Robotino oldalán körbefutó mikrokapcsolós ütközésérzékelő
Ütközés történt
• EXIT A: Kilépés a programból (részletesebben lásd később)
Kilépés
• A teljes program: A Robotino védelme érdekében ezt a Bumper – Exit párost érdemes minden programba beépíteni!
Vektorműveletek – Vektorok megadása • Vektor létrehozása x és y koordinátákkal y
x
Az x tengely hátulról előre, míg az y tengely jobbról balra irányuló tengelyek.
• Vektor létrehozása polár koordinátákkal (szög, hossz)
r +φ
0° az előrefelé irányt jelenti. A pozitív forgásirány az óramutató járásával ellentétes irányú.
• Vektor konstans: megadás x és y vagy polár koordinátákkal
Vektorműveletek • Vektor felbontása x és y, illetve polár koordinátákra • Vektorkorok összegzése, kivonása • Vektor szorzása skalárral, Vektorhossz megadása • Vektor forgatása • Vektoriális szorzat
Vektorműveletek • Vektorműveletek használata:
y
Vektor1 Vektor2 Vektor 1+2 Eredmény vektor x
Infra szenzorok (Distance modul) Jelerősség Irány Distance objektum
Ki kell választani, hogy az adott objektum a 9 szenzor közül melyikre vonatkozik!
PassiveAviod értelmezése
PassiveAviod értelmezése
Bumper – Exit páros
PassiveAviod értelmezése
Bumper – Exit páros
Infra szenzorok
PassiveAviod értelmezése Vektorok létrehozása Bumper – Exit páros
Infra szenzorok
PassiveAviod értelmezése Vektorok létrehozása Vektorok összegzése
Bumper – Exit páros
Infra szenzorok
Minél hosszabb a vektor, annál közelebb van a fal.
PassiveAviod értelmezése Vektorok létrehozása Vektorok összegzése
Bumper – Exit páros
Vektorhossz megadása
Infra szenzorok
PassiveAviod értelmezése Vektorok létrehozása Vektorok összegzése
Bumper – Exit páros
Vektorhossz megadása Vektor forgatása 180 fokkal
Infra szenzorok
PassiveAviod értelmezése Vektorok létrehozása Vektorok összegzése
Bumper – Exit páros
Vektorhossz megadása Vektor forgatása 180 fokkal
Vektor szétbontása Infra szenzorok
PassiveAviod értelmezése Vektorok létrehozása Vektorok összegzése
Bumper – Exit páros
Vektorhossz megadása Vektor forgatása 180 fokkal
Vektor szétbontása Infra szenzorok
OmniDrive és a motorok
Képfeldolgozás • Segmenter Modul: Az állatalunk kijelölt színekre bontja a kamera képét. Web-kamera képe
1
•Kép lefagyasztása
Szegmentált kép
Képfeldolgozás • Segmenter Modul: Az állatalunk kijelölt színekre bontja a kamera képét. Web-kamera képe
Szegmentált kép
2
•Kép lefagyasztása
Képfeldolgozás • Segmenter Modul: Az állatalunk kijelölt színekre bontja a kamera képét. Web-kamera képe
Szegmentált kép
3
•Kép lefagyasztása •Terület kijelölése
Képfeldolgozás • Segmenter Modul: Az állatalunk kijelölt színekre bontja a kamera képét. Web-kamera képe
4
•Kép lefagyasztása •Terület kijelölése
Szegmentált kép
Képfeldolgozás • Segmenter Modul: Az állatalunk kijelölt színekre bontja a kamera képét. Web-kamera képe
Szegmentált kép
5
•Kép lefagyasztása •Terület kijelölése
Képfeldolgozás • Segmenter Modul: Az állatalunk kijelölt színekre bontja a kamera képét. Web-kamera képe
Szegmentált kép
6
•Kép lefagyasztása •Terület kijelölése
•Szegmentálás ellenőrzése
Képfeldolgozás • Segment extractor: Az adott színszegmensek pozícióját adja meg. X Szegmentált kép
Y
Szegmens szám
Terület Szegmens találat
Szegmens szám Minimális terület y x
A kép közepe a 0,0 koordináta.
Képfeldolgozás • Teljes képfeldolgozó rendszer: Forduljon a lilára!
Képfeldolgozás • Vonalkövetés (LineDetector modul): Web-kamera képe Érzékenység Él kiválasztása
X Vonal találat
Szekvenciális programvégrehajtás • Funkcióblokk: Egy bizonyos funkciót ellátó program. (Ilyet csináltunk eddig) • Exit modul felhasználása: • Vészleállítás:
• Funkcióblokk kilépési pontok:
Exit modulok
Szekvenciális programvégrehajtás • Flow control program: A megnyitott programok megfelelő sorrendű lefuttatását valósítja meg. Exit A Program indítása
Exit B Exit C Program objektum
Start: szekvenciális végrehajtás indítása Szekvenciális ÉS: bemenetre kapcsolt programok bevárása Szekvenciális VAGY: egyik bementeti program leállásakor a többit is leállítja
Szekvenciális programvégrehajtás
RobotinoSim használata
http://www.festo-didactic.com/int-en/services/robotino/
Vége Kérdések? Játékra fel! ☺