MRBT. ROS Robot Operating System. Tomáš Florián

Podobné dokumenty
Robot Operating System. Ing. Zdeněk Materna,

ROS, ultrazvukový dálkoměr SRF, mobilní robotika, Linux, Lego NXT, Raspberry Pi

IT ESS II. 1. Operating Systém Fundamentals

Vytvoření bootovatelného média

Jak funguje GNU/Linux

Vývoj software pro Linuxové distribuce. Installfest Praha,

Matematika v programovacích

Extrémně silné zabezpečení mobilního přístupu do sítě.

DISTRIBUCE GNU/LINUXU

Simluátor Trilobota. (projekt do předmětu ROB)

úvod Historie operačních systémů

Identifikátor materiálu: ICT-1-17

Efektivní vývoj mobilních aplikací na více platforem současně. Mgr. David Gešvindr MCT MSP MCPD MCITP

Vývoj SW pro mobilní zařízení s ios. Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie,

Využití opensource při stavbě infrastrukturního cloudu Martin Kopta

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

O projektu Nasazení OpenOffice.org v praxi

konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian

Software. Mgr. Krejčí Jan (UJEP) Software 23. října / 6

99 % všech desktopů na platformě MS Windows

O projektu OpenOffice.org a IBM OS/2 OS/2 a Open Source

w w w. u l t i m u m t e c h n o l o g i e s. c z Infrastructure-as-a-Service na platformě OpenStack

Software. RNDr. Krejčí Jan, Ph.D. 5. listopadu RNDr. Krejčí Jan, Ph.D. (UJEP) Software 5. listopadu / 6

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí,

MODELOVÁNÍ A SIMULACE ROBOTICKÝCH APLIKACÍ MODELLING AND SIMULATION OF ROBOTIC APPLICATIONS

Bezpečná autentizace přístupu do firemní sítě

ADMINISTRACE POČÍTAČOVÝCH SÍTÍ. OPC Server

FOSS4G úspěšné projekty

Seznámení s open source vývojem a open source řešeními pro mobilní zařízení

VirtualBox desktopová virtualizace. Zdeněk Merta

Radim Dolák Gymnázium a Obchodní akademie Orlová

Využití systému Dynamips a jeho nástaveb pro experimenty se síťovými technologiemi Petr Grygárek

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Cobbler, Puppet, Func

Předměty. Algoritmizace a programování Seminář z programování. Verze pro akademický rok 2012/2013. Verze pro akademický rok 2012/2013

Linuxové distribuce. Michal Dočekal

Linuxové distribuce. Michal Dočekal

Svět svobodného softwaru

Formy komunikace s knihovnami

SOU Valašské Klobouky. VY_32_INOVACE_01_15 IKT Operační systémy, základní vlastnosti, přehled. Mgr. Radomír Soural

Úvod do Linuxu SŠSI Tábor 1

OPERAČNÍ SYSTÉM ROS PROJEKT Z PŘEDMĚTU. Ing. Sergei Korchakov

Vývoj programů. ÚVOD DO OPERAČNÍCH SYSTÉMŮ

Karel Bittner HUMUSOFT s.r.o. HUMUSOFT s.r.o.

VY_32_INOVACE_INF.19. Inkscape, GIMP, Blender

Úvod do operačního systému Linux Mgr. Josef Horálek

Linux na desktopu Pro Běžně Frustrované Uživatele

A to vše díky lidem, kteří Red Hat utváří svým nadšením a svými nápady. Přidáte se do našeho brněnského týmu i Vy?

EMBARCADERO TECHNOLOGIES. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů.

Olga Rudikova 2. ročník APIN

Enterprise Mobility Management

Středisko UN*Xových technologií

Instalační příručka Command WorkStation 5.6 se sadou Fiery Extended Applications 4.2

Úvod do operačního systému Linux Mgr. Josef Horálek

ArcGIS Server 10.1/10.2

PSAT Power System Analysis Toolbox

Co je Symantec pcanywhere 12.0? Hlavní výhody Snadné a bezpečné vzdálené připojení Hodnota Důvěra

Srovnání Linuxu a BSD z pohledu jádra. Jan Dyrczyk

05. Operační systémy PC 1. DOS. Nejdůležitější zástupci DOSu:

Projekt Datové schránky

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

FORTANNS. 22. února 2010

Představení Kerio Control

Operační systém GNU/Linux

O aplikaci Parallels Desktop 7 for Mac

Projekt implementace OS Linux do výuky informačních technologií

Registrační číslo projektu: CZ.1.07/1.5.00/ Název projektu: Moderní škola 21. století. Zařazení materiálu: Ověření materiálu ve výuce:

TECHNICKÁ UNIVERZITA V LIBERCI FAKULTA UMĚNÍ A ARCHITEKTURY. Studijní program: B8206 Výtvarná umění. Obor: Vizuální komunikace BAKALÁŘSKÁ PRÁCE

Instalace a konfigurace ústředen Asterisk. Bc. Marek Červenka, IPEX a.s.,

PVBPS - Prezentace DUŠAN CHOLEVA (CHO0130)

eman s.r.o. Profil společnosti

Linux na mobilních telefonech

Windows a real-time. Windows Embedded

NÁVRH A REALIZACE NAVIGAČNÍHO SYSTÉMU PRO MOBILNÍ ROBOT BENDER II

Extrémně silné zabezpečení mobilního přístupu do sítě

Procesy a vlákna (Processes and Threads)

Moderní privátní cloud pro město na platformě OpenStack a Kubernetes

SOFTWARE. Programové vybavení počítače

Základy informatiky. Operační systémy

Vývojové nástroje pro multiagentové systémy

09. Operační systémy PC 1. DOS. Nejdůležitější zástupci DOSu:

Software Základní pojmy a rozdělení. Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1123_Software Základní pojmy a rozdělení_pwp

Uživatelská příručka

AutoCAD 2016 AutoCAD 2016 pro Mac

Na různých druzích počítačů se používají různé operační systémy. V průběhu času

Angličtina program k procvičování slovní zásoby

OPS Paralelní systémy, seznam pojmů, klasifikace

MATLAB a Simulink R2015b

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

Pokročilé architektury počítačů

Operační systémy: funkce

Střední úložiště. Uživatelská dokumentace Zřízení přístupu

Připravil: Ing. Vít Ondroušek, Ph.D. Technologie.Net Framework

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody

Úvod Seznámení s předmětem Co je.net Vlastnosti.NET Konec. Programování v C# Úvodní slovo 1 / 25

Úvod. Klíčové vlastnosti. Jednoduchá obsluha

C2184 Úvod do programování v Pythonu podzim Stanislav Geidl Národní centrum pro výzkum biomolekul Masarykova univerzita. Úvod.

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Systémy pro tvorbu digitálních knihoven

Transkript:

MRBT ROS Robot Operating System Tomáš Florián

OSNOVA 1. Co je ROS představení systému. 2. ROS přehled distribucí. 3. ROS základní členění a principy funkce. 4. ROS knihovny, nástroje a ovladače. 5. ROS roboty.

CO JE ROS? - Operační systém pro roboty, - poskytuje knihovny a nástroje pro podporu vývojářům, - poskytuje ovladače zařízení, vizualizaci, přeposílání zpráv, správu balíčků a mnoho dalšího, - je zcela otevřený a komerčně přívětiví (BSD licence), - kdokoliv ho může používat, měnit a využít pro svoje produkty, - cílem komunity je umožnit rychlé vyvíjení robotických aplikací na běžných platformách. - www.ros.org

CO JE ROS? - Autorem systému je Morgan Quigley (Open Source Robotics Foundation) a společnost Willow Garage (výrobce robotů PR2, Turtlebot a Texai). - Vychází ze zkušeností z projektů STAIR (Stanford AI Robot) a PRP (Personal Robots Program). - Od začátku navržen pro spolupráci při vývoji, integraci software třetích stran (OpenCV, Orocos), multijazykovou podporu (C++, Python, Java, LISP, Octave, Lua, ) a efektivní peer-to-peer komunikaci mezi různými systémy a sítěmi.

ROS DISTRIBUCE - ROS Box Turtle (březen, 2010) - ROS C Turtle (srpen, 2010) - ROS Diamondback (březen, 2011) - ROS Electric (srpen, 2011) - ROS Fuerte (duben, 2012) - ROS Groovy (prosinec, 2012) - ROS Hydro Medusa (září, 2013) - ROS Indigo Igloo (očekává se v květnu, 2014) - využívá se verzování (GitHub, SVN, )

ROS BOX TURTLE - První verze, - představena 2. března 2010, - intenzivní uživatelské testování, - intenzivní testování na robotech, - zaměřena především na Ubuntu Hardy, - podpora Red Hat, Debian, Gentoo, - limitovaná podpora Mac OS X, - 60 ROS balíčků rozdělených do tří variant (base, pr2, pr2all).

ROS C TURTLE - Druhá verze, - představena 2. srpna 2010, - aktualizace knihoven z předchozí verze, - přidán RVIZ (vizualizace), - zaměřena především na Ubuntu Jaunty, - podpora Red Hat, Debian, Gentoo, - limitovaná podpora Mac OS X a FreeBSD, - téměř 80 ROS balíčků rozdělených do tří variant (base, pr2, pr2all).

ROS DIAMONDBACK - Třetí verze, - představena 2. března 2011, - přes 40 nových balíčků, - přidána podpora Kinectu a integrace Point Cloud Library, - menší a jednodušší na instalaci, - rozrůstající se komunita ROS nadšenců, - zaměřena především na Ubuntu Lucid, - podpora Red Hat, Debian, Gentoo, - limitovaná podpora Mac OS X a FreeBSD, - přes 120 ROS balíčků rozdělených do tří variant (desktop-full, desktop, ros-base).

ROS ELECTRIC EMYS - Čtvrtá verze, - představena 30. srpna 2011, - zrychlení systému a jeho odlehčení, - podpora platform Android a Arduino, - zaměřena především na Ubuntu Lucid, - podpora Red Hat, Debian, Gentoo, - limitovaná podpora Mac OS X, FreeBSD, Android, Windows.

ROS FUERTE TURTLE - Pátá verze, - představena 23. dubna 2012, - jednodušší integrace s ostatními softwarovými frameworky a nástroji, - aktualizace stávajících knihoven, - nové nástroje pro vývojáře, - odebrání zastaralých knihoven, - zaměřena především na Ubuntu Lucid, - podpora Red Hat, Debian, Gentoo, - limitovaná podpora Mac OS X, FreeBSD, Android, Windows.

ROS GROOVY GALAPAGOS - Šestá verze, - představena 31. prosince 2012, - zaměřena na vnitřní infrastrukturu ROS, - práce napříč velkým množstvím pc/hw, - knihovny jádra přesunuty na GitHub, - zaměřena především na Ubuntu 12.04, - podpora Red Hat, Debian, Gentoo, - limitovaná podpora Mac OS X, FreeBSD, Android, Windows.

ROS HYDRO MEDUSA - Sedmá verze, - představena 4. září 2013, - zaměřena na převod balíčků do catkin systému, - vylepšeny nástroje jako rviz a rqt, - integrace knihovny GAZEBO, - zaměřena především na Ubuntu 12.04, - podpora Red Hat, Debian, Gentoo, Mac OS X, FreeBSD, Android, Windows.

ROS ZÁKLADNÍ ROZDĚLENÍ - ROS CORE (JÁDRO) - ROS NODES (UZLY) - ROS TOPICS (TÉMATA) - ROS MESSAGES (ZPRÁVY)

ROS JÁDRO (CORE) - Může být jen jedno. - Spouští se příkazem ROSCORE. - Registrace služeb. - Registrace jmen UZLŮM. - Kontaktování UZLŮ mezi sebou. - Bez něj by UZLY nemohly komunikovat a vyměňovat si ZPRÁVY.

ROS UZLY (NODES) - UZEL je proces, který provádí výpočet. - UZLY jsou spojeny do grafů a navzájem spolu komunikují. - Jeden robot má typicky několik (desítek) UZLŮ. - Každý UZEL má unikátní jméno, které ho jednoznačně identifikuje v systému.

ROS TÉMATA (TOPICS) - TÉMA je název sběrnice, po které spolu UZLY komunikují. - TÉMATA mají oddělené posílání a přijímání informací. - Kdokoliv se může k libovolnému TÉMATU připojit a posílat nebo přijímat ZPRÁVY. - Obecně platí, že UZLY nevědí s jakým jiným UZLEM komunikují (zajímají je pouze názvy TÉMAT). - TÉMATA jsou výhradně jednosměrné kanály (žádné potvrzování).

ROS ZPRÁVY(MESSAGES) - Každé TÉMA je definované ZPRÁVOU. - ZPRÁVA určuje proměnné a jejich strukturu. - UZLY mohou přijímat pouze zprávy, které znají. - Odkaz na web

ROS STRUKTURA

ROS ROSBASH - Často jen předpona ROS + příkaz ekvivalentní příkazu z Linuxu: - rosls seznam souborů, - roscd změna adresáře místního jména nebo balíčku, - rosed editace souboru, - roscp kopírování souborů. - rosmake nástroj pro překlad projektu. - doplňování a nápověda při stisku TAB.

ROS BALÍČKY (ROSBUILD) - Příkaz roscreate-pkg, - velmi jednoduché vytváření nových balíčků, - automatické přidání potřebných knihoven, - není potřeba kopírovat starý projekt a přepisovat kód, - vygeneruje vše, co je potřeba pro ROS balíček stačí přidat vlastní kód, - zápis: roscreate-pkg pkgname depend1 depend2 depend3, - příklad: roscreate-pkg beginner_tutorials std_msgs rospy roscpp,

ROS BALÍČKY (CATKIN) proč: - ROSBUILD je směs bash skriptů, GNU Make, CMake a přeloženého kódu => není jednoduše přenositelný na jinou architekturu (zvláště Windows), - CATKIN využívá jen CMake makra a Python kód => je portovatelný, - CATKIN je tedy nezávislý na ROSu a může být použit pro projekty, které nesouvisí s ROS. shrnutí: - Stejná struktura pro všechny systémy, - lepší portovatelnost na ostatní systémy, - trochu složitější (při přechodu z ROSBUILD).

ROS PRINCIP

ROS TWIST PŘÍKLAD KÓDU (C++) //we will be sending commands of type "twist" geometry_msgs::twist base_cmd; //move forward (speed 0.25 m / s) base_cmd.linear.x = 0.25; //publish the assembled command cmd_vel_pub_.publish(base_cmd);

ROS CO JE VYŘEŠENÉ? - Klientské knihovny (roscpp, rospy, roslips, rosjava, roslua, roscs, roseus, pharos, rosr), - API - balíčky ovladače, výpočetní uzly, - snímače ovladače - nástroje rviz, rosbag a rxbag, rxplot, rxgraph, command line tools.

ROS KNIHOVNY - GAZEBO 3D vnitřní a venkovní multi-robotický simulátor, - OpenCV přední knihovna pro zpracovávání obrazu, - MoveIt! knihovna pro plánování trajektorie, - Point Cloud Library knihovna pro manipulaci a zpracovávání trojrozměrných dat a hloubkových obrazů.

ROS GAZEBO - Vývoj procesů a algoritmů pro robotické platformy, - realisticky simuluje roboty a prostředí, - regresní testování, - často se využívá pouze na experimenty v simulaci, vlastnosti: - dynamics simulation, advanced 3d graphics, sensors, robot models, simple and complex environments, programmatic interface, plugins, TCP/IP communication, powerful graphical interface, collada import, active user community, person simulation

ROS OPENCV - BSD licence volné použití pro akademickou a podnikatelskou sféru, - C++, C, Python a Java rozhraní podporující Windows, Linux, Mac OS, ios a Android, - navrženo pro výpočetní efektivitu a silně zaměřeno na aplikace běžících v reálném čase, - podpora pro zpracovávání na více jádrech, - využívá OpenCL, - komunita přes 47 tisíc lidí.

ROS MOVEIT! - Software pro mobilní manipulátory (plánování dráhy, manipulace, 3D vnímání, kinematika, řízení a navigace), - jednoduchá platforma pro vývoj pokročilých robotických aplikací, - vývoj designu robotů, - vývoj integrovaných robotických systémů pro průmysl a komerci.

ROS POINTCLOUDLIBRARY - Otevřený projekt pro 2D/3D zobrazování a zpracovávání mračen bodů, - BSD licence (volný pro komerční a vědecké použití), - moderní algoritmy včetně filtrace, odhadu, rekonstrukce povrchu a segmentace - lze provozovat na Linux, MacOS, Windows a Android / ios, - rozdělen do množství menších knihoven, které mohou být kompilovány samostatně (menší výpočetní a datové nároky), - mračno bodů lze vytvořit stereo kamerami, 3D skenery, TOF kamerami, - nativně podporuje OpenNI 3D (MS Kinect, Asus XTionPRO)

ROBOTY - Seznam robotů

TURTLEBOT - WILLOWGARAGE

TURTLEBOT - VIDEO - video

ROS JUNIOR - Projekt STAIR (Stanford AI Robot) na Stanford Artificial Intelligence Laboratory, - vznikl systém Switchyard, - druhé místo na DARPA Urban Challenge 2007, - počátek ROS využití zkušeností.

ROS GRIZZLY - video

ROS 5 LET - video