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
Webkamera képének megtekintése: Web-kamera képe
Motor objektum Sebesség megadása (RPM) Prioritás Pozíció nullázása Fék Aktuális sebesség (RPM) Pozíció Felvett áram 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 Y sebesség megadása Forgási sebesség megadása Motor 1 sebessége (RPM) Motor 2 sebessége (RPM) 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: A motorok vezérlésére majdnem mindig az OmniDrive-ot használjuk! Mozgás köríven:
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 Force-Feedback X Force-Feedback Y Tengely / gomb Tengely / gomb 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 Vektor létrehozása polár koordinátákkal (szög, hossz) r +φ Az x tengely hátulról előre, míg az y tengely jobbról balra irányuló tengelyek. 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
Segmenter Modul: Az állatalunk kijelölt színekre bontja a kamera képét. Képfeldolgozás Web-kamera képe Szegmentált kép 1 Kép lefagyasztása
Segmenter Modul: Az állatalunk kijelölt színekre bontja a kamera képét. Képfeldolgozás Web-kamera képe Szegmentált kép 2 Kép lefagyasztása
Segmenter Modul: Az állatalunk kijelölt színekre bontja a kamera képét. Képfeldolgozás Web-kamera képe Szegmentált kép 3 Kép lefagyasztása Terület kijelölése
Segmenter Modul: Az állatalunk kijelölt színekre bontja a kamera képét. Képfeldolgozás Web-kamera képe Szegmentált kép 4 Kép lefagyasztása Terület kijelölése
Segmenter Modul: Az állatalunk kijelölt színekre bontja a kamera képét. Képfeldolgozás Web-kamera képe Szegmentált kép 5 Kép lefagyasztása Terület kijelölése
Segmenter Modul: Az állatalunk kijelölt színekre bontja a kamera képét. Képfeldolgozás 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 Szegmens szám Y Terület Szegmens találat Minimális terület y x Szegmens szám A kép közepe a 0,0 koordináta.
Teljes képfeldolgozó rendszer: Forduljon a lilára! Képfeldolgozás
Képfeldolgozás Vonalkövetés (LineDetector modul): Web-kamera képe X Érzékenység Vonal találat Él kiválasztása
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. Program indítása Program objektum Exit A Exit B Exit C 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!