Informatik Einführung in das ROS Robot Operating System

Ähnliche Dokumente
Einführung in das Robot Operating System (ROS)

Turtlebot(s) Evaluation, Programmierung und mehr Robotik FP SS2013

Simulink: Softwareentwurf für eingebettete Systeme ROS-Arduino-Interface. von Christian Schildwächter

Einführung Software. Gerald Steinbauer Institut für Softwaretechnologie. Gerald Steinbauer. Konstruktion Mobiler Roboter, PR, WS10

Systemanforderungen Manufacturing Execution System fabmes

Leistungskurs C++ ROS: Einstieg und Tools

Archive / Backup System für OpenVMS

Rolland. Niels Schütte Hristo Gurdzhanov. 1 Vorstellung 2 Gliederung 3 Forschung 4 Rolland 1 5 Rolland 2. 6 Obstacle Map 7 Rolland 3 8 Projekte

ObjectBridge Java Edition

Simultaneous localization and mapping mit dem Pioneer 3AT Robotor. Author: Eugen Bopp Betreuer: Professor Dr. rer. nat.

Fakultät für Informatik der Technischen Universität München. Cognitive Systems. Introduction to Practical Session

PLIN-Slave Test-Slave für den LIN-Bus mit diversen I/Os. Benutzerhandbuch V1.1.0

Roberta Workshops. Robotik in Forschung und Lehre. Roberta Workshops. 3 Schwerpunkte Robotik in Schulen

Linux als File- und Printserver - SAMBA

Lehrstuhl für Datenverarbeitung. Technische Universität München. Leistungskurs C++ Subversion / CMake

Das ISO / OSI -7 Schichten Modell

Prüfung WS 2006/07. Robotik

3-schichtige Informationssystem-Architektur

Virtueller Campus. Virtueller Campus Horw mit interaktiver Steuerung. HowTo: Externe Bibliotheken

Anbindung des Robot Operating Systems an Speicherprogrammierbare Steuerungen

Konstruktion Mobiler Roboter Einführung Software

Styleguides als Werkzeug für bessere Software-Usability im Gesundheitswesen

Xcalibur-2 Alpha. Time. Christian Rempis University of Applied Sciences Bonn-Rhein-Sieg 17. Januar

Projekt AGB-10 Fremdprojektanalyse

Beispiel Architekturentwurf

Smartphone Entwicklung mit Android und Java

Einführung Software. Gerald Steinbauer Institut für Softwaretechnologie. Gerald Steinbauer. Konstruktion Mobiler Roboter, PR, WS12

QUICK INSTALLATION GUIDE

Seminararbeit Embedded Systems - Discovery Mechanismus für sdds. Kevin Sapper

ein Versandsystem...das immer passt

Benutzerhandbuch. Neukirchen

DBUS Interprozess-Kommunikation für Embedded-Plattformen

Einführung Software. Gerald Steinbauer Institut für Softwaretechnologie. Gerald Steinbauer. Konstruktion Mobiler Roboter, PR, WS11

Kommunikation zwischen Mikrocontrollern

SiDaS Sicherer Datenaustausch Sachsen Meine Daten in der SachsenCloud? 27. September 2016 Renate Bachmann & André Berthold

Digitale Transformation

Systemvoraussetzungen

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016

TUSReport Installationsanleitung

4. Hierarchische und netzwerkartige Datenbankmodelle

Aufbau & Analyse von Industrie-Netzwerken

ANDROID. Analyse der Android Plattform. Andre Rein, Johannes Florian Tietje. 28. Oktober FH-Gieÿen-Friedberg Android Praktikum

DIGITALVARIO. Anleitung Bootloader. Ausgabe 0.1 deutsch für Direkt-Digital-Vario. Firmware ab Hardware 01 Seriennummer ab 0003

IHR WEG ZUR DOI-REGISTRIERUNG

Projektmanagementsoftware

Grid-Systeme. Betrachtung verschiedener Softwareplattformen zur Realisierung von Grids und Vorstellung des Globus Toolkit Grid Systeme 1

Szenario 3: Service mit erweiterter Schnittstelle

JMS Java Message Service

GEARWHEEL V4.0 - Release Notes ( )

Fortgeschrittenes Programmieren mit R. Christoph Beck. Di, 14:00-15:30 (3065)

disigner Bedienungsanleitung Version 1.0, 26. Mai 2010

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?

KONFIGURATIONSMANAGEMENT MIT PUPPET TIM SCHMELING. 4b:65:72:73:74:69:6e:2c:20:69:63:68:20:6c:69:65:62:65:20:64:69:63:68:21

Release Notes scvenus 2.2.0

4. Network Interfaces Welches verwenden? 5. Anwendung : Laden einer einfachen Internetseite 6. Kapselung von Paketen

Aufbau eigener Cloud-Infrastrukturen mit Eucalyptus Hochschule Mannheim

Studienprojekt HP-MOM

Docker. Eine Einführung

Projektseminar Parallele Programmierung

ODK 1500S Standard Applikationen

Systemmanagement mit Puppet und Foreman

AUL22 Entdecken Sie die wichtigsten Vorteile einer PC basierenden HMI-Lösung

Viewing Client Version

Paketverwaltung und wichtige FOSS-Anwendungen

Alexander Kiontke Routing Protokolle

PaedIT Unternehmergesellschaft (haftungsbeschränkt) DNSControl GUI: Installation und Konfiguration

ABB i-bus KNX. Software-Information. Melde- und Bedientableau. Typ: MT 701.2

Virtualisierung unter GNU/Linux für Einsteiger

Konzept / Architektur Diagramme

Synchronisation des Temperatur-Loggers

Hier folgt eine kurze Aufstellung über die verwendete Architekur. Die Angaben sind ohne Gewähr für Vollständigkeit oder vollständige Richtigkeit.

Vorlesung 11: Netze. Sommersemester Peter B. Ladkin

Grafische Planung in der Freischaltabwicklung

ROS IN DER INDUSTRIELLEN ANWENDUNG

DIPLOMARBEIT. Entwurf und Implementierung eines modularen USB-Stacks für eingebettete Controller ohne Betriebssystem. Uwe Pfeiffer

Message Oriented Middleware am Beispiel von XMLBlaster

Pflichtenheft Programmanwendung "Syntax Tool"

Sensorsimulation in Hardware in the Loop-Anwendungen

Was ist neu in SIMATIC imap V2.0 SP1?

UML (Unified Modelling Language) von Christian Bartl

Gerald Steinbauer Institut für Softwaretechnologie. Gerald Steinbauer. Konstruktion Mobiler Roboter, PR, WS11

BOOTSTRAPPING. Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Universität Erlangen-Nürnberg

Teil 1: So klappt die Umstellung auf Windows 10: Anwendungskonflikte automatisiert identifizieren und beheben

HVS32. ein Versandsystem das immer passt. Dokumentation. SAP-IDoc Schnittstelle

Übung zur Vorlesung Echtzeitsysteme

Installation von gnuradio auf Ubuntu mit build-script. Zusammenfassung

SharePoint Schnittstelle für Microsoft Dynamics CRM 2011

Kurzanleitung. 29. Februar Oktober 2008 Update. APtool-Kurzanleitung-V1_2_DE Seite 1 von 8

Hardware «Jinn» mit Doppel-Servos parallel bewegt.

Isolierte Umgebungen für Python Anwendungen Teil 2. Christine Koppelt, Jürgen Schackmann, Stefan Seelmann

Spezifikationen und Voraussetzung

PCFaceSwitch. Treiber und Steuerprogramm für eine Extender-Karte für den PCI-Express-Bus

Spezifikationen und Voraussetzung

NanoCAN & NanoJEasy. Software training

Was zum Teufel mache ich mit zehn Koordinaten gleichzeitig?!

Zentrales Konfigurationsmanagement mit Puppet

Neuerungen in FME Ein Überblick

Regionaltreffen Rhein Main 26. März 2007

TSM-Client UNIX. Leibniz Supercomputing Centre Stephan Peinkofer 1

TechNote. Produkt: TWINFAX 7.0 (ab CD_24), TWINFAX 6.0 Modul: SMTP, T611, R3 Kurzbeschreibung: Briefpapier- und Mailbodyunterstützung

Transkript:

Informatik Einführung in das ROS Robot Operating System Robotik / AMR / Sensorik Jan Bühler Mannheim, 17.10.2011 Hochschule Mannheim University of Applied Sciences

Inhalt 1.Aufgaben des ROS Robot Operating System IPC, Pakete (Packages), Stacks, Messages, Services, Nodes und Topics 2.Funktionalitäten Publisher und Subscriber 3.Vorhandene wichtige Stacks Navigation-Stack, Koordinatentransformationen über TF 4.ROS - Visualisierung rviz, rosbag, rxbag rxplot, rxgraph 5.Beispiel am Pioneer3dx - Roboter 6.Zusammenfassung

1. Aufgaben des ROS Robot Operating System Übersicht: Allgemeines über ROS Interprozesskommunikation (IPC) Paketverwaltung / Packages und Stacks Messages Services Nodes Topics

1. Aufgaben des ROS Allgemeines über ROS - Releases C TURTLE DIAMONDBACK ELECTRIC

1. Aufgaben des ROS Allgemeines über ROS - Facts Open Source Operating System für Roboter Es bietet die Funktionalitäten eines Betriebssystems Hardware-Abstraktion, Unterste Schicht Geräteverwaltung Nachrichtenverwaltung zwischen Prozessen Möglichkeit der gleichzeitigen Entw. und Ausf. auf mehreren Rechnern Momentan bester Support unter Ubuntu (Version ab 9 aufwärts) Steuerung der versch. Progr., die gleichzeitig auf dem Roboter ablaufen ROS IPC nicht direkt echtzeitfähig Bereitstellung von Anzeigetools Bietet Schnittstellen für Sensoren und Programme Kann sowohl in Python als auch in C++ geschrieben werden

1. Aufgaben des ROS Interprozesskommunikation (IPC) Problematik der Kommunikation zwischen verschiedenen Systemen des Roboters Problematik bei Mikrocontroller zu PC oder umgekehrt Problematik bei Mikrocontroller zu Mikrocontroller Lösung durch IPC mit TCP/IP Sicherheitseinstellung bei der Übertragung Anforderung an die Geschwindigkeit / Schnelligkeit der Kommunikation Koordination von Nachrichten durch zentralen Master

1. Aufgaben des ROS Paketverwaltung - Packages ROS ist durch Softwarepakete (sogn. Packages) aufgebaut Ein Package beinhaltet Laufzeitprozesse (Nodes) ROS abhängige Bibliotheken Datensätze Konfigurationsdateien 3 rd Party Software Libs usw. in der mainfest.xml definiert Packages sind dazu da um Code wiederverwendbar zu machen (code reuse)

1. Aufgaben des ROS Paketverwaltung - Stacks Sammlung von Paketen (Packages) Definiert in der Datei stack.xml Der Sinn ist, dass Stacks die Verteilung und Verwendbarkeit von Code vereinfachen Meist viele Packages ähnlicher Aufgaben in einem Stack verpackt

1. Aufgaben des ROS Message (msg) Messages werden verwendet um unter ROS Nachrichten zwischen Knoten und Topics auszutuaschen Dafür verwendet ROS eine einfache Beschreibung der Datentypen in Textdateien Durch diese Beschreibung kann für unterschidliche Sprachen Code autogeneriert werden Diese sind in.msg-dateien im msg- Unterverzeichnis eines ROS-Pakets abgelegt Eigene Message-Typen sind mit Paket Ressource-Namen bezeichnet Standard Messages sind mit std_msg/msg/string.msg bezeichnet

1. Aufgaben des ROS Service (srv) ROS verwendet eine eigene vereinfachte Service Description Language ("srv") für die Beschreibung von ROS Service-Typen Setzt direkt auf die ROS msg-format auf Ermöglicht die Anfrage / Antwort-Kommunikation zwischen den Knoten Service-Beschreibungen sind in.srv-dateien im srv- Unterverzeichnis eines Pakets gespeichert Service-Beschreibungen werden für die Verwendung mit dem Paket Ressource-Namen bezeichnet Z. B.: wird die Datei robot_srvs/srv/setjointcmd.srv als Service robot_srvs/setjointcmd bezeichnet

1. Aufgaben des ROS Nodes Der Nachrichtenaustausch findet bei Nodes durch 3 Möglichkeiten statt Parameter Server Topics Services Nodes werden wie in einem Graph angeordnet In einem System laufen viele Nodes Parallel Diese werden zu beginn gestartet Beispiele sind Nodes für: Laserscanner Kinect Pfadplanung usw.

1. Aufgaben des ROS Topics Topics verhalten sich wie ein virtuelles BUS-System Nodes können von Topics lesen (subscribe) Nodes können an Topics senden (publish) Es gibt keine Begrenzung wie viele Nodes publsih oder subscribe auf ein Topic machen

2. Wichtige Funktionalitäten Talker und Listener Publisher / Subscriber Publish data to topic Topic: /camera/depth/points Topic... Subscribe to topic Subscribe to topic Node: Object recognition Node: Obstacle avoidance

3. Vorhandene wichtige Stacks Übersicht: TF Koordinatentransformation Navigationstack URDF - Modelle

TF Koordinatentransformation Pioneer3dx-Bot Pr2-Bot

Navigationstack Wertet Sensordaten aus z.b.: Laserdaten Baut daraus mit gmapping (ebenfalls ein ROS-Stack) eine Begehbarkeitskarte Warum? Zur Kollisionsvermeidung Bei erfolgreicher Erstellung einer Map kann dann ein Ziel übergeben werden Pfadplanung durch Navigationstack Kollisionsvermeidung Reaktion auf sich ändernde Umgebung Aufbau einer globalen Karte

Navigationstack global map:

Navigationstack local map:

URDF - Modelle

4. ROS - Visualisierung Übersicht: rviz rosbag rxbag rxplot rxgraph

rviz Startbefehl: rosrun rviz rviz

rosbag Rosbag record hört auf den angegebenen Topics zu und zeichnet die Aktivität auf Rosbag play kann dies wiedergeben Gut zu Demonstrationszwecken Gut um Referenzdaten zu erzeugen

rxbag

rxplot

rxgraph

5. Beispiel am Pioneer3dx - Roboter

6. Zusammenfassung Was ist ROS? Wie wird Kommuniziert? Was ist TF? Was ist der Navigation Stack? Was gibt es für Visualisierungstools?

Präsentationsabschluss Danke für Ihre Aufmerksamkeit Robotik / AMR / Sensorik Jan Bühler Mannheim, 17.10.2011