MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR

Hasonló dokumentumok
Robot Operating System

Szárazföldi autonóm mobil robotok vezérlőrendszerének kialakítási lehetőségei. Kucsera Péter ZMNE Doktorandusz

MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR

Norway Grants. Az akkumulátor mikromenedzsment szabályozás - BMMR - fejlesztés technológiai és műszaki újdonságai. Kakuk Zoltán, Vision 95 Kft.

A LEGO Mindstorms EV3 programozása

Élettartam teszteknél alkalmazott programstruktúra egy váltóvezérlő példáján keresztül

Közösség, projektek, IDE

Dr. Schuster György október 30.

Ember és robot együttműködése a gyártásban Ipar 4.0

Könyvtári címkéző munkahely

Book Template Title. Author Last Name, Author First Name

IoT alapú mezőgazdasági adatgyűjtő prototípus fejlesztési tapasztalatok

Szolgáltatásintegráció (VIMIM234) tárgy bevezető

Nyílt forráskódú irodai programkomponensek vállalati környezetbe való integrációjának vizsgálata és implementációja

Projekt beszámoló. NEWSIT News basedearlywarning System forintradaytrading: Hír alapú Korai Figyelmeztető Rendszer Napon belüli Kereskedéshez

Házi feladatok Szenzorhálózatok és alkalmazásaik

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA01 9. hét

Tartalomjegyzék. Bevezetés. 1. A.NET 3.5-keretrendszer 1. A korszerű alkalmazások felépítésének kihívásai... 2

Integrációs mellékhatások és gyógymódok a felhőben. Géczy Viktor Üzletfejlesztési igazgató

OPENCV TELEPÍTÉSE SZÁMÍTÓGÉPES LÁTÁS ÉS KÉPFELDOLGOZÁS. Tanács Attila Képfeldolgozás és Számítógépes Grafika Tanszék Szegedi Tudományegyetem

SZENZORMODUL ILLESZTÉSE LEGO NXT PLATFORMHOZ. Készítette: Horváth András MSc Önálló laboratórium 2 Konzulens: Orosz György

ZBI Zebra Basic Interpreter

Az MTA Cloud a tudományos alkalmazások támogatására. Kacsuk Péter MTA SZTAKI

Programozás és Digitális technika I. Pógár István eng.unideb.hu/pogari

Java I. A Java programozási nyelv

Termeléshatékonyság mérés Ipar 4.0 megoldásokkal a nyomdaiparban

Szolgáltatásintegráció (VIMIM234) tárgy bevezető

30 MB INFORMATIKAI PROJEKTELLENŐR

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05+ Geodéziai Feldolgozó Program

RT-Middleware periféria távérzékelés

Mobilplatformok Merre tart a világ? Kis Gergely MattaKis Consulting

Fejlesztés, működtetés, felügyelet Hatékony infrastruktúra IBM szoftverekkel

Városi tömegközlekedés és utastájékoztatás szoftver támogatása

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Image Processor BarCode Service. Felhasználói és üzemeltetői kézikönyv

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

Járműinformatika A járműinformatikai fejlesztés

Data Integrátorok a gyakorlatban Oracle DI vs. Pentaho DI Fekszi Csaba Ügyvezető Vinnai Péter Adattárház fejlesztő február 20.

Üzleti folyamatok rugalmasabb IT támogatása. Nick Gábor András szeptember 10.

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

CRA - Cisco Remote Access

BME IPAR 4.0 TECHNOLÓGIAI KÖZPONT. Kovács László

SOA modell: Ez az interfész definiálja az elérhető adatokat, és megadja, hogy hogyan lehet azokhoz hozzáférni.

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05 Geodéziai Feldolgozó Program

SZENZORFÚZIÓS ELJÁRÁSOK KIDOLGOZÁSA AUTONÓM JÁRMŰVEK PÁLYAKÖVETÉSÉRE ÉS IRÁNYÍTÁSÁRA

Mi legyen az informatika tantárgyban?

Flex: csak rugalmasan!

Crossplatform mobil fejlesztőkörnyezet kiválasztását támogató kutatás

Osztott alkalmazások fejlesztési technológiái Áttekintés

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

A felhőről általában. Kacsuk Péter MTA SZTAKI

ARM Cortex magú mikrovezérlők. mbed

VIRTUALIZÁCIÓ KÉSZÍTETTE: NAGY ZOLTÁN MÁRK EHA: NAZKABF.SZE I. ÉVES PROGRAMTERVEZŐ-INFORMATIKUS, BSC

Magyarországi partner: S&T Consulting Hungary Kft.

Labor 2 Mikrovezérlők

Projekt beszámoló. Könyvelési Szakértői Rendszer Kifejlesztése Repetitív Könyvelési Feladatok Szabályalapú Feldolgozására

A mesterséges intelligencia alkalmazásának egyik legfontosabb és leglátványosabb területe

Rubin SPIRIT TEST. Rubin firmware-ek és hardverek tesztelése esettanulmány V1.0. Készítette: Hajnali Krisztián Jóváhagyta: Varga József

Firmware fejlesztés. Mártonfalvi Zsolt Hardware programozó


Orvosi készülékekben használható modern fejlesztési technológiák lehetőségeinek vizsgálata

Komponens alapú programozás Bevezetés

Csoportos üzenetszórás optimalizálása klaszter rendszerekben

alkalmazásfejlesztő környezete

Ismerkedés a Python programnyelvvel. és annak micropython változatával

A Java EE 5 plattform

Podoski Péter és Zabb László

Feltörekvő technológiák: seam, drools, richfaces és társai a JBossban

Prolan Zrt. fejlesztéseiben. Petri Dániel

BIG DATA ÉS GÉPI TANULÁS KÖRNYEZET AZ MTA CLOUD-ON KACSUK PÉTER, NAGY ENIKŐ, PINTYE ISTVÁN, HAJNAL ÁKOS, LOVAS RÓBERT

Bánfalvy Zoltán, ABB Kft., Védelmi és Irányítástechnikai Fórum, Siófok, IEC irányítástechnikai workshop Alállomási IEC 61850

1. Mi az hogy intelligens robot rendszer? 1. Autonóm cselekvő. 2. Hogyan épül fel egy intelligens alkalmazás?

Intelligens robot rendszerek Dr. Szemes Péter Tamás Villamosmérnöki és Mechatronikai Tanszék Műszaki Kar Debreceni Egyetem

Everything Over Ethernet

E-learning tananyagfejlesztő képzés tematika oktatott modulok

Modell alapú tesztelés mobil környezetben

UNIX / Linux rendszeradminisztráció

Laboratóriumi műszerek megvalósítása ARM alapú mikrovezérlővel és Linux-szal

ProofIT Informatikai Kft Budapest, Petzvál J. 4/a

Autóipari beágyazott rendszerek. Integrált és szétcsatolt rendszerek

Új kompakt X20 vezérlő integrált I/O pontokkal

Tartalom Platform-független modellezés Alkalmazás-modellezés A DECOS hardver platform Platform modellezés Hardver-szoftver integráció Implementáció 2

Mire nem jó egy telefon!

OPERÁCIÓS RENDSZEREK I. BEVEZETÉS Koczka Ferenc -

A ROBOTIKA ALKALMAZÁSÁNAK LEHETŐSÉGEI A HAD- ÉS BIZTONSÁGTECHNIKAI MÉRNÖK KÉPZÉSBEN

Intelligens biztonsági megoldások. Távfelügyelet

S01-7 Komponens alapú szoftverfejlesztés 1

WDS 4510 adatátviteli adó-vevő

Alkalmazások típusai Szoftverismeretek

IV.4. FELHŐ ALAPÚ BIZTONSÁGOS ADATTÁROLÁSI MÓDSZER ÉS TESZTKÖRNYEZET KIDOLGOZÁSA

ROBOT IRÁNYÍTÁS INFRAVÖRÖS LED TÖMBBEL

Microsoft SQL Server telepítése

MTA SZTAKI HBIT szakmai gyakorlatok 2014 nyár

SZOFTVERES SZEMLÉLTETÉS A MESTERSÉGES INTELLIGENCIA OKTATÁSÁBAN _ Jeszenszky Péter Debreceni Egyetem, Informatikai Kar jeszenszky.peter@inf.unideb.

Témakiírások 2014/15. őszi félévben

Mezőgazdasági robot fejlesztése és jövőbeli bővíthetősége

Átírás:

MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR Korszerű információs technológiák Robot operációs rendszerek Tompa Tamás tanársegéd Általános Informatikai Intézeti Tanszék Miskolc, 2018. október 20. ; november 09.

Tartalom Robotika Robot operációs rendszerek ROS OpenRTM-aist Demonstráció : ) valós robot (TurtleBot, Lego EV3, btrover)

Robotika - bevezetés Mi a robot? A robot egy elektromechanikai szerkezet, amely előzetes programozás alapján képes különböző feladatok végrehajtására. A robotika 3 alaptörvénye A robotnak nem szabad kárt okoznia emberi lényben vagy tétlenül tűrnie, hogy emberi lény bármilyen kárt szenvedjen. A robot engedelmeskedni tartozik az emberi lények utasításainak, kivéve, ha ezek az utasítások az első törvény előírásaiba ütköznének. A robot tartozik saját védelméről gondoskodni, amennyiben ez nem ütközik az első és a második törvény előírásaiba.

Robotika - bevezetés Népszerű tématerület Sok, készletben (készen) megvásárolható robot létezik De sokan építenek is robotot barkács, hobby célból kutatási célból is pl. ember-robot interakció vizsgálata építsek vagy vegyek? cél függő

Robotika robotok csoportosítása Robotok csoportosítása Mobilitás alapján mobil helyhez kötött Felhasználás alapján anyagmozgató technológiai műveletet elvégző szociális Mobil robotok kinematikájuk alapján Helyhez kötött robotok kinematikájuk alapján

Robotika robotok csoportosítása Mobil robotok kinematikájuk alapján differenciális holonomikus egyéb Helyhez kötött robotok kinematikájuk alapján párhuzamos kinematikájú láncolt kinematikájú vegyes kinematikájú kinematika: robotmozgás leírása sebesség alapján matematikai feladat (koordináta transzformációk stb.)

Robotika robotok csoportosítása Differenciális vs. holonomikus hajtás

Robotika néhány szociális robot

Robotika néhány ipari robot

Robotika hardver

Robotika hardver Beágyazott rendszer néhány előre meghatározott feladatot lát el tartalmazhat olyan feladat-specifikus mechanikus és elektronikus alkatrészeket, melyek nem találhatók egy általános célú számítógépben A robot beágyazott rendszerekből épül fel mikrovezérlők (ARM, AVR, PIC, stb.) motorok szenzorok stb.

Robotika btrover hardver blokkvázlata

Robotika hardver Beágyazott rendszer feladata Jelek előállítása a motorok működtetéséhez szervok működtetéséhez szenzoroknak, stb. Jelek olvasása motorok enkódereitől (motor pozíciók) szenzoroktól, stb. Olvasott jelek feldolgozása Távolságszámítás, ütközésérzékelés, stb.

Robotika Csak csupán a beágyazott rendszerei segítségével nem tud önállóan valamilyen összetettebb feladatot, problémát megoldani pl. nem tud embert felismerni vagy térképet készíteni a környezetéről (SLAM) ezek csak az alacsonyszintű funkciókat valósítják meg Mitől tud majd egy összetettebb problémát megoldani? programozni kell magát a robotot. Hogyan? megoldás: központi PC, robot operációs rendszerrel kommunikációs kapcsolat a robot központi mikrovezérlőjével

Robot operációs rendszerek Eszköz komplex robot rendszer fejlesztéséhez egységes felületet biztosítsanak robotok programozására szabványosított komponensekkel kommunikációs csatornákkal programozói API-kal automatizmusokkal eszközökkel komponens alapú szemlélet

Robot operációs rendszerek Főbb funkcióik érzékelők, beavatkozók kezelése, integrációja vezérlési architektúra létrehozása kommunikációs csatornák definiálása működés közben adatok gyűjtése tesztelés meglévő adatmintákkal

Robot operációs rendszerek Példa komponens alapú szemléletre

Robot operációs rendszerek Elterjedtebbek: ROS OpenRTM-aist YARP OpenRDK

Robot operációs rendszerek Hogyan valósul meg a kommunikáció a köpntti PC és a robot hardvere között? általában soros port a mikrovezérlőn PC oldalon USB (virtuális soros port) kommunikáció adatkeretek segítségével keretfej + adat (több byte) + checksum adatkeretek írása a sororporta -> robot vezérlése adatkeretek olvasása a sorosportról

Robot Operating System Amerikai fejlesztésű, nyílt forráskódú rendszer 2007 Stanford Artificial Intelligence Laboratory (SAIL) a Stanford AI Robot projekt keretében, 2008-ban csatlakozott a fejlesztéshez a Willow Garage és még számos kutatócsoport

Támogatott OS Linux (főként) Mac OS X Windows Támogatott programozási nyelvek C++ Python

Az eddig megjelent ROS disztribúciók: Box Turtle (2010 Február) C Turtle (2010 Augusztus) Diamondback (2011 Február) Electric Emys (2011 Augusztus) Fuerte Turtle (2012 Március) Groovy Galapagos (2012 Október) Hydro (2013 szeptember) Indigo (2014 július) Jade (2015 május) Kinect Kame (2016 május) Lunar (2017 május)

Néhány ROS kompatibilis robot

A rendszer felépítése Nodes (csomópontok) Master (központi vezérlő) Parameter server (paraméter szerver) Messages (üzenetek) Topics (topik-ok, üzenetsorok) Services (szervizek, szolgáltatások) Bags

Csomópontok (nodes) Node-oknak,a rendszer futtatható alkalmazásait nevezik, melyek jól meghatározott feladatot hajtanak végre. A rendszerben több ilyen node is lehetséges. Központi vezérlő (master) A master a rendszer fontos eleme, ő valósítja meg az egyes csomópontok, illetve a rendszer elemi közötti kommunikációt, futtatókörnyezetet biztosítva azoknak. Paraméter szerver (parameter server) A csomópontoknak lehet segítségével paramétereket átadni, akár a csomópontok futása közben is.

Üzenetek (messages) A csomópontok kommunikációja üzeneteken keresztül történik, ezen üzenetek segítségével továbbítanak adatot egymásnak. Az üzenet tartalmazza a továbbítandó adatot. A rendszer tartalmaz előre beépített üzenettípusokat, de lehetőséget biztosít a fejlesztő számára, hogy saját üzenettípust is definiálhasson. Üzenetsorok, topik-ok (topics) A rendszer az üzenetek továbbítására üzenetsorokat, úgynevezett topikokat biztosít. Mikor egy csomópont üzenetet küld egy másik csomópont számára, akkor ezt egy üzenetsoron keresztül valósítja meg. A publikáló csomópont közzéteszi üzenetét a topikban, majd a fogadó csomópont pedig kiolvassa onnan. A rendszer lehetőséget biztosít saját, új topikok definiálásra, mindegyik topik saját névvel ellátva él a rendszerben.

Szervizek, szolgáltatások (services) A csomópontok közötti kommunikáció megvalósításának másik módja. A csomópontok közötti kérés-válasz típusú kommunikációt hívatottak megvalósítani. Bags Rendszerbeli üzenetek, adatok mentésére és azok visszajátszására biztosítanak lehetőséget. Fejlesztésnél különösen hasznos lehet például az egyes szenzorok által küldött adatok mentésére, majd azok visszajátszására tesztelés céljából.

Topic vs. Service

ROS fájlrendszer szerkezet

Jegyzékszerkezet, példa

Fontosabb parancsok és jelentésük

Telepíteni és konfigurálni kell a rendszert roscore szuperprocessz, központi mag, mindig futnia kell ROS workspace létrehozása catkin_init_workspace; ROS munkaterület, itt lesznek a node-ok catkin_ws jegyzékben ROS node létrehozása catkin_create_pkg <package_name> [depend1] [depend2] ROS node-ok fordítása catkin_make (a catkin_ws-ben!) ROS node futtatása rosrun [package_name] [node_name]

RVIZ - vizualizáció

RVIZ - vizualizáció

Gazebo - szimuláció

URDF robotmodel leíró xml

URDF

URDF model RVIZ-ben

Az RT-Middleware Robotvezérlő keretrendszer RT = Robot Technology Middleware: köztes réteg, az operációs rendszer és az alkalmazás között helyezkedik el Egy vázat biztosít, melyet feltölthetünk azzal a logikával, amely az adott problémát megoldja Önmagában nem használható, használatához olyan implementációra van szükség, amely teljesíti a specifikáció által definiált interfészeket. Ezekkel az interfészekkel lehetséges, hogy a komponensek, a middleware rendszer által vezérelve fussanak. CORBA alapú implementáció 40/17

Az OpenRTM RT-Middleware specifikáció nagy részét megvalósítja Japán fejlesztés Komponens alapú szemlélet Számos segédszoftver (pl.: RTSystemEditor) Több platform támogatása (Windows, Linux) Több programozási nyelv támogatása (Java, C++) Nyílt forráskódú 41/17

Az OpenRTM A rendszer komponensei több részből állnak Konfigurációs állományok Osztályok (programkód) Adatportok, szolgáltatás portok (IDL) A komponensek állapotai létrehozott aktív inaktív hibás 42/17

A komponens alapú szemlélet Minden komponens jól meghatározott feladatot lát el Rugalmas, könnyen bővíthető új modulokkal OpenRTM-aist + + + + + Nyílt forráskódú RT-Middlware implementáció (AIST) RT-Middleware 43/17

RT-Middleware és RT-komponensek Logika hardver vezérlés algoritmusok alkalmazások stb RT komponens Framework RT komponens Logika/algoritmus közös interfészekkel = RT-Komponens (RTC) RTC RTC RTC RTC RTC RTC RTC RTC RT-Middleware Futtató környezet=> RT-Middleware(RTM) RTC kommunikáció hálózaton keresztül (névszerver) 44/17 44

Az OpenRTM Eclipse fejlesztőkörnyezet RTC Builder 45/17

Az OpenRTM Eclipse fejlesztőkörnyezet RT System Editor 46/17

A rendszer működése - példa 47/17

Felhasznált irodalom www.ros.org http://www.openrtm.org/openrtm/ http://www.mogi.bme.hu/tamop/robotalkalmazasok/ch02.html http://www.mogi.bme.hu/tamop/robotmechanizmusok/index.html Aaron Martinez, Enrique Fernández - Learning ROS for Robotics Programming

Köszönöm a figyelmet!