Roboter mit ROS
Реклама. ООО «ЛитРес», ИНН: 7719571260.
Оглавление
Murat Calis. Roboter mit ROS
Roboter mit ROS
Inhaltsverzeichnis
1ROS – Robot Operating System
1.1Installation
1.1.1Ubuntu-Repositorien anpassen
1.1.2Freiburg Mirror als Quelle angeben
1.1.3Schlüssel importieren
1.1.4Installation
1.1.5Initialisierung mit rosdep
1.1.6Umgebungsvariablen setzen
1.1.7rosinstall, Werkzeug für die Arbeitsbereichverwaltung
1.1.8ROS-Arbeitsbereich erstellen
1.1.9Roboter Modell A installieren
1.2ROS-Grundlagen
1.2.1ROS-Dateisystem
1.2.2ROS-Paket
1.2.3ROS-Meta-Paket
1.2.4ROS-Master
1.2.5ROS-Nodes
1.2.6ROS-Topics
1.2.7ROS-Messages
1.2.8ROS-Services
1.2.9ROS-Actions
1.2.10ROS-Parameter
1.2.11ROS-Launch
1.2.12CMakeLists.txt
1.2.13package.xml
1.3ROS-Hilfswerkzeuge
1.3.1rqt_graph
1.3.2rqt_plot
1.3.3rqt_robot_steering
1.3.4ROS-Ereignisse und Logdateien
1.3.4.1rosconsole
1.3.4.2rqt_logger_level
1.3.4.3rqt_console
1.3.5roswtf
1.3.6rosbag
2Roboter konstruieren und simulieren
2.1Gazebo
2.1.1Virtuelle Welten mit dem Simulation Description Format – SDF
2.1.2Gazebo-Benutzeroberfläche
2.1.3Physikalische Eigenschaften
2.1.4Laserscanner
2.1.5Kamera
2.1.6Simulationen
2.2RViz
2.2.1RViz-Maussteuerung
2.2.2RViz, Koordinaten- und Bezugssysteme
2.2.3RViz-Konfigurationsdatei
2.3FreeCAD
2.4Blender
2.4.1Blender-Einstellungen
2.4.2Objekte transformieren
2.4.3Objekte färben
2.4.4Objekte modellieren
2.4.4.1Hintergrundbilder verwenden
2.4.4.2Hintergrundbilder mit Eckpunkten nachzeichnen
2.4.5Objekte texturieren
2.4.6Objekte von anderen Objekten abziehen
2.4.7Objektschwerpunkt festlegen
2.4.83D-Modelle exportieren
2.5URDF – Unified Robot Description Format
2.5.1URDF-Dateien
2.5.2URDF-Werkzeuge
2.5.2.1check_urdf
2.5.2.2xacro
2.5.2.3urdf_to_graphviz
2.5.3Maßeinheiten
2.5.4Wichtige Elemente in URDF-Dateien
2.5.4.1Xacro-Elemente mit dem include-Präfix
2.5.4.2Xacro-Elemente mit dem property-Präfix
2.5.4.3Link- und Joint-Elemente
2.5.4.4Collision-Elemente
2.5.4.5Visual-Elemente
2.5.4.6Inertial-Elemente
2.5.4.7origin-Elemente
2.5.4.8Xacro-Makros
2.5.4.9gazebo-Elemente
2.5.5URDF-Datei testen
2.5.6Aufbau und Struktur komplexer URDF-Dateien
2.5.6.1Eine Ordnerstruktur für URDF-Dateien anlegen
2.5.6.2Eine Struktur für URDF-Dateien festlegen
2.5.6.3Austauschbare Makros
2.5.6.4Ein bewegliches Gelenk beschreiben
3Roboterprojekt A
3.1Ziel
3.2Plan
3.2.1Recherche
3.2.1.1Chassis
3.2.1.2Antriebssystem
3.2.1.3Mini-PC
3.2.1.4Batterie
3.2.1.5Batterieladegerät
3.2.1.6Stromversorgung
3.2.1.7Möbelroller
3.2.1.8LIDAR – Light Detection And Ranging (Laserscanner)
3.2.1.9Teensy 3.2
3.2.1.10Verbrauchsmaterial
Stromkabel
Schaltlitze
Bau- und Befestigungsmaterial
3.2.2Einkauf
3.3Bau
3.3.1Chassis
3.3.2Antriebssystem
3.3.3Mini-PC
3.3.4Batterie
3.3.5Batterieladegerät
3.3.6Stromversorgung
3.3.7Möbelroller
3.3.8Laserscanner
3.3.9Teensy 3.2
4Roboterprojekt B
4.1Ziel
4.2Plan
4.2.1Recherche
4.2.1.1Servo-Controller
4.2.1.2Servomotor
4.2.1.3FTDI-Schnittstelle
4.2.2Einkauf
4.3Bau
4.3.1Servo-Controller und FTDI-Schnittstelle
4.3.2Servomotor
5Roboter programmieren
5.1Sicherheit
5.1.1Datenschutz
5.1.2Sichere Programmierung
5.1.3Roboter-Ethik
5.2Entwicklungsumgebung
5.2.1Netzwerk
5.2.2Zeit
5.2.3ROS auf mehreren Maschinen
5.3Hallo Welt
5.3.1Python Publisher und Subscriber
5.3.1.1Publisher
5.3.1.2Subscriber
5.3.1.3Launch-Datei
5.3.2C++ Service Server und Client
5.3.2.1Service Server
5.3.2.2Service Client
5.3.2.3Launch-Datei
5.3.3C++ Action Server und Python Action Client
5.3.3.1Action-Datei
5.3.3.2Action Server
5.3.3.3Action Client
5.4Navigation
5.4.1TeleOperation und Kartografierung mit SLAM – Synchronous Localisation And Mapping
5.4.2Navigation in einer bestehenden Karte mit AMCL – Adaptive Monte Carlo Localisation
5.5Gesichtserkennung
5.6Objekterkennung
Fußnoten. 1ROS – Robot Operating System
2Roboter konstruieren und simulieren
3Roboterprojekt A
4Roboterprojekt B
5Roboter programmieren
Отрывок из книги
Murat Çalış wurde in Heidelberg geboren. Er ist Informatiker im öffentlichen Dienst. Nebenberuflich unterstützt er Unternehmen in den Bereichen Programmierung, Informationssicherheit und Automatisierung. In seiner Freizeit beschäftigt er sich leidenschaftlich mit Robotik und experimenteller Informatik. Sein aktuelles Projekt ist ein Roboter, der selbstständig lernt.
Bots konstruieren und mit Open Source programmieren
.....
Services arbeiten blockierend, was so viel bedeutet wie, der Vorgang von Anfrage bis Antwort lässt keine parallelen Prozesse in dem aufrufenden Programm zu. Nehmen wir an, wir möchten zwei Arme gleichzeitig bewegen, dann würden wir eine Anfrage an den Service des einen Arms und eine weitere Anfrage in der nächsten Zeile unseres Nodes an den Service des anderen Arms senden. Der Node, aus dem wir beide Services aufrufen, wird allerdings zunächst die im Node erste Anfrage abarbeiten und erst wenn eine Antwort zurückgekommen oder der Vorgang abgeschlossen ist, wird der nächste Arm aufgerufen.
Service blockiert
.....