Einstieg ROS 2: Unterschied zwischen den Versionen
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 34: | Zeile 34: | ||
Nach der Installation von ubuntu ist es erforderlich, dass der Nutzer (hier "hshl-user") Zugriff auf die sudo-Gruppe hat bzw. Befehle als Admin ausführen darf. Folgende Kommandos sind dazu in einem Terminal notwendig: | Nach der Installation von ubuntu ist es erforderlich, dass der Nutzer (hier "hshl-user") Zugriff auf die sudo-Gruppe hat bzw. Befehle als Admin ausführen darf. Folgende Kommandos sind dazu in einem Terminal notwendig: | ||
# Super-User werden: <code>su</code> | # Super-User werden: <code>su</code> | ||
# Datei für sudo-Zugriff | # Datei für sudo-Zugriff prüfen: <code>nano /etc/sudoers</code> | ||
# Zeile | # Zeile muss so aussehen: <code>%sudo ALL=(ALL:ALL) ALL</code> | ||
# Speichern mit Strg+X | # Speichern mit Strg+X | ||
# Nutzer "hshl-user" der Gruppe sudo hinzufügen: <code>usermod -aG sudo hshl-user</code> | |||
# Root-Anmeldefenster verlassen: <code>exit</code> | # Root-Anmeldefenster verlassen: <code>exit</code> | ||
# ggf. Terminal-Fenster neu starten | |||
# Test, ob sudo funktioniert, z. B. mit: <code>sudo whoami</code>, Antwort muss "root" sein! | |||
=== Installation ROS 2 Galactic Geochelone === | === Installation ROS 2 Galactic Geochelone === | ||
Zeile 45: | Zeile 48: | ||
Zum Öffnen eines Terminalfensters kann die Tastenkombination [Strg] + [Alt] + [T] verwendet werden. | Zum Öffnen eines Terminalfensters kann die Tastenkombination [Strg] + [Alt] + [T] verwendet werden. | ||
Sollten noch keine Erfahrungen mit der Shell oder Kommandozeile vorhanden sein empfehlen wir den Einstieg über diese [https://wiki.ubuntuusers.de/Shell/Einführung/ Shell Einführung]. | Sollten noch keine Erfahrungen mit der Shell oder Kommandozeile vorhanden sein empfehlen wir den Einstieg über diese [https://wiki.ubuntuusers.de/Shell/Einführung/ Shell Einführung]. | ||
Zum Ausführen von ROS2-Befehlen muss im Terminal eingegeben werden: <code>source /opt/ros/galactic/setup.bash</code> | |||
=== Installation von Rapid SVN === | |||
Zur Arbeit mit dem u. g. Projekt wird ein Manager für SVN benötigt. Dieser wird mittels <code>snap install rapidsvn-snap</code> installiert. | |||
== Tutorials == | == Tutorials == | ||
Zeile 55: | Zeile 63: | ||
== Demo Fahrerloses Transport System == | == Demo Fahrerloses Transport System == | ||
[[Datei:FTS.mp4|thumb|500px|right|Demo Fahrerloses Transport System]] | [[Datei:FTS.mp4|thumb|500px|right|Demo Fahrerloses Transport System]] | ||
In unserer Demo wird ein Fahrerloses Transport System (FTS) in einer virtuellen Umgebung navigiert. Hierbei wird von dem Roboter die Umgebung kartografiert und autonom ein Weg von der Start zur Ziel Position gesucht. | |||
In | |||
=== Voraussetzungen === | === Voraussetzungen === | ||
Zeile 75: | Zeile 82: | ||
# In the root, source your overlay: <code type="latex"> ~$ . install/local_setup.bash</code> | # In the root, source your overlay: <code type="latex"> ~$ . install/local_setup.bash</code> | ||
# Start Webots and RViz with Hanning FTS <code type="latex"> ~$ ros2 launch hewagv_simulation full_system_launch.py </code> | # Start Webots and RViz with Hanning FTS <code type="latex"> ~$ ros2 launch hewagv_simulation full_system_launch.py </code> | ||
== Literaturverzeichnis == | == Literaturverzeichnis == |
Aktuelle Version vom 10. November 2022, 15:42 Uhr
→ zurück zum Hauptartikel: Robotik und autonome Systeme
Autor: Gerrit Wurth
Einleitung
Im Forschungsgebiet Robotik und autonome Systeme wird mit dem Robot Operating System 2 (ROS 2) gearbeitet. Das Robot Operating System ist ein Framework und soll bei der Softwareentwicklung von Roboteranwendungen helfen [1]. Bereits 2007 startete die Entwicklung am Stanford Artificial Intelligence Laboratory im Rahmen des Stanford-AI-Robot-Projektes. Seit 2009 wird die Software überwiegend am Robotikinstitut Willow Garage weiterentwickelt. Ab 2012 übernahm die gemeinnützige Organisation Open Source Robotics Foundation (OSRF) die Entwicklung [2].
ROS 2 Galactic Geochelone ist die aktuelle Version und bietet Softwarebibliotheken und Werkzeugen zur Entwicklung von Robotern und autonomen Systemen [3].
Für unsere vielfältigen Projekte hat ROS 2 einiges zu bieten [4]:
- Gerätetreiber für viele Aktoren und Sensoren
- Algorithmen zur Navigation und Bahnsteuerung
- Leistungsstarke Entwicklertools
- Software für die Bildverarbeitung
- Algorithmen für die Simultane Positionsbestimmung und Kartierung (SLAM)
- Echtzeitfähigkeit
Installation
Installation Ubuntu 20.04 LTS
Wir empfehlen die Installation von ROS 2 Galactic Geochelone unter Ubuntu 20.04 LTS (Focal Fossa). Für die Installation von Ubuntu kann dieses Tutorial verwendet werden. Alternativ kann auch mit UNetbootin ein USB-Stick für das Starten und Installieren von Ubuntu erstellt werden.
Nach der Installation von ubuntu ist es erforderlich, dass der Nutzer (hier "hshl-user") Zugriff auf die sudo-Gruppe hat bzw. Befehle als Admin ausführen darf. Folgende Kommandos sind dazu in einem Terminal notwendig:
- Super-User werden:
su
- Datei für sudo-Zugriff prüfen:
nano /etc/sudoers
- Zeile muss so aussehen:
%sudo ALL=(ALL:ALL) ALL
- Speichern mit Strg+X
- Nutzer "hshl-user" der Gruppe sudo hinzufügen:
usermod -aG sudo hshl-user
- Root-Anmeldefenster verlassen:
exit
- ggf. Terminal-Fenster neu starten
- Test, ob sudo funktioniert, z. B. mit:
sudo whoami
, Antwort muss "root" sein!
Installation ROS 2 Galactic Geochelone
Auch für die Installation von ROS 2 Galactic Geochelone werden Tutorials bereitgestellt. Wir empfehlen Installing ROS 2 via Debian Packages. Die in der Anleitung aufgeführten Befehle werden nacheinander in die Kommandozeile kopiert und ausgeführt. Zum Öffnen eines Terminalfensters kann die Tastenkombination [Strg] + [Alt] + [T] verwendet werden. Sollten noch keine Erfahrungen mit der Shell oder Kommandozeile vorhanden sein empfehlen wir den Einstieg über diese Shell Einführung.
Zum Ausführen von ROS2-Befehlen muss im Terminal eingegeben werden: source /opt/ros/galactic/setup.bash
Installation von Rapid SVN
Zur Arbeit mit dem u. g. Projekt wird ein Manager für SVN benötigt. Dieser wird mittels snap install rapidsvn-snap
installiert.
Tutorials
Für den schnellen einstieg in das Robot Operating System empfehlen wir diese Tutorials In dem ersten Teil Beginner: Command-Line Interface Tools wird unter anderem vermittelt, was Nodes, Topics, Services, Parameters und Actions sind und wofür sie verwendet werden. Im zweiten Teil Beginner: Client Libraries wird der erste eigene Workspace erstellt, erklärt was Packages sind und die ersten einfachen Programme erstellt. Hierbei besteht immer die Wahl zwischen C++ und Python als Programmiersprache. Für fortgeschrittene Anfänger ist der dritte Teil Intermediate, hier wird eine eigene Action erstellt, mehrere Nodes in einem Prozess zusammengeführt und das Unified Robot Description Format (URDF) vorgestellt. Wer noch tiefer einsteigen möchte kann im vierten Teil Advanced weitere Erfahrungen sammeln. Danach werden noch Simulation Tutorials, Verschiedenes, weitere Demos und Beispiele angeboten.
Demo Fahrerloses Transport System
In unserer Demo wird ein Fahrerloses Transport System (FTS) in einer virtuellen Umgebung navigiert. Hierbei wird von dem Roboter die Umgebung kartografiert und autonom ein Weg von der Start zur Ziel Position gesucht.
Voraussetzungen
- ROS 2 Galactic Geochelone wurde erfolgreich installiert
- Die Tutorials wurden bis einschließlich Beginner: Client Libraries durchgeführt
- Ein eigener Workspace wurde erstellt
- Webots wurde installiert
Pakete herunterladen und installieren
Die Demo ist im SVN-Ordner zu finden und wird in den src-Ordner des Workspaces kopiert. Danach werden im Workspace die Pakete aufgebaut:
- Go into the root of your workspace:
~$ cd ~/FTS_ws
- In the root of your workspace, build your packages:
~$ colcon build
Starten der Demo
- Source ROS2 Environment as your underlay:
~$ source /opt/ros/galactic/setup.bash
- Go into the root of your workspace:
~$ cd ~/FTS_ws
- In the root, source your overlay:
~$ . install/local_setup.bash
- Start Webots and RViz with Hanning FTS
~$ ros2 launch hewagv_simulation full_system_launch.py
Literaturverzeichnis
→ zurück zum Hauptartikel: Robotik und autonome Systeme