Anleitung zum einfachen Einstieg in ROS2
Autor: Marius Küpper
Art: Projektarbeit
Dauer: April - September 2022
Betreuer: Prof. Schneider
Thema
Aufgabenstellung
- Einarbeitung in ROS 2 mit Tutorials
- Dokumentation der wesentlichen Anleitungen bezogen auf das FTF im HSHL Wiki
- Evaluation durch andere(n) Studierende
- Optimierung des Artikels
- optional: Bereitstellung von Demoprogrammen zum einfachen Einstieg
Anforderungen an die Projektarbeit
- Wissenschaftliche Vorgehensweise (Projektplan, etc.), nützlicher Artikel: Gantt Diagramm erstellen
- Zweiwöchentlicher Fortschrittsberichte (informativ)
- Projektvorstellung im Wiki
- Studentische Arbeiten bei Prof. Schneider
- Anforderungen an eine wissenschaftlich Arbeit
- Regeln zum Umgang mit SVN
Projektplan
Nützlicher Artikel: Gantt Diagramm erstellen
Anforderungen
Hardwareanforderungen
- PC i5 ...
Softwareanforderungen
Installation der virtuellen Maschine VirtualBox
- 1. Download der Software
Direkter Download: VirtualBox-6.1.36.exe
- 2. Nach dem Download das Setup ausführen und abschließen.
- 3. Wenn möglich, Virtualization oder SVM im BIOS aktivieren. (Befindet sich im BIOS unter den CPU-Einstellungen. Dies sorgt dafür, dass man Virtualbox später mehr Ressourcen zuweisen kann.)
- 4. Download des Betriebssystems.
Direkter Download Ubuntu 20.04.4 LTS (Focal Fossa): [[1]] Direkter Download Ubuntu 22.04.1 LTS: [[2]]
ROS2 in Ubuntu einbinden
Die aktuelle Version von ROS2 (Humble Hawksbill) wird über das Terminal von Ubuntu installiert.
> Alle Eingaben für das Terminal befinden sich als Copy&Paste in diesen grauen Feldern <
Zunächst muss die ROS2 apt Repository zum System hinzugefügt werden. Dazu autorisieren wir unseren GPG Schlüssel mit apt:
sudo apt update && sudo apt install curl gnupg lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
Danach fügen Sie die Repository zur Liste Ihrer sources:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
Updaten Sie den Cache Ihrer apt Repository:
sudo apt update
Zur Sicherheit überprüfen wir noch, ob Ubuntu auf dem neusten Stand ist:
sudo apt upgrade
Installation der Vollversion von ROS2 für Desktop-PCs: sudo apt install ros-humble-desktop
ODER:
Installation der Basis-Version von ROS2 für Raspberrys etc.: sudo apt install ros-humble-ros-base
Nach der abgeschlossenen Installation muss nun das Environment eingerichtet werden, damit die ROS2-Befehle im Terminal auch verwendet werden können. Wir erweitern dazu die Befehlsliste des Terminals, um somit nicht jedes mal den selben Befehl eingeben zu müssen, wenn wir das Terminal öffnen. Geben Sie den folgenden Befehl ins Terminal ein um die .bashrc zu öffnen:
gedit ~/.bashrc
Nun fügen Sie unter die letzte Zeile des Dokuments zwei neue Zeilen ein und geben in die letzte Zeile (Z.119) folgenden Befehl ein:
source /opt/ros/humble/setup.bash
SVN-Repository in Linux erstellen
Um die Befehle für die Erstellung einer SVN-Repository zu nutzen muss zunächst das entsprechende Paket installiert werden:
sudo apt install subversion
Mit der Einagbe svn help checkout
kann man sich nun eine Hilfestellung anzeigen lassen, wie man sich eine Kopie der Repository auf Ubuntu lädt.
Zunächst sollten Sie sich einen Ordner anlegen, in den die Repository abgelegt wird. In diesem Fall wird der Ordner im persönlichen Benutzerordner erstellt.
cd
mkdir svn
Nach anlegen des Ordners "svn" kann nach folgendem Schema die Repository in den zuvor erstellten Ordner abgelegt werden: svn checkout "SVN Checkout URL" home/"Benutzer"/svn
Beispiel:
svn checkout https://svn-test.hshl.de/svn/Robotik_und_Autonome-Systeme/ /home/hshl/SVN
Inbetriebnahme der WeBots-Simulation von Hanning
Installation der benötigten Pakete, Environments und Repositorys:
sudo apt install python3-serial
install python3-colcon-common-extensions
sudo apt install ros-${ROS_DISTRO}-navigation2 ros-${ROS_DISTRO}-nav2-bringup '~ros-${ROS_DISTRO}-turtlebot3-.*' ros-${ROS_DISTRO}-laser-geometry ros-${ROS_DISTRO}-webots-ros2
wget -qO- https://cyberbotics.com/Cyberbotics.asc | sudo apt-key add -
sudo apt-add-repository 'deb https://cyberbotics.com/debian/ binary-amd64/'
sudo apt-get update
sudo apt-get install webots
Navigieren Sie jetzt ins "FTS" Verzeichnis.
Beispiel: cd SVN/trunk/Projekte/FTF_Hanning/FTS
Durch colcon build werden die benötigten Daten komprimiert und der Workspace "vernetzt".
colcon build --packages-select hewagv_simulation openslam_gmapping slam_gmapping
Eventuell muss die Eingabe wiederholt werden, wenn es zu einer Fehlermedlung kommt. Beim zweiten colcon build sollte der Prozess erfolgreich verlaufen.
Als letzten Schritt vor dem Start der Simulation muss nur noch das Environment gesourcet werden.
source install/local_setup.bash
Simulation starten:
ros2 launch hewagv_simulation full_system_launch.py
Funktionaler Systementwurf / Technischer Systementwurf
Komponentenspezifikation
Programmierung
Komponententest
Ergebnis
Zusammenfassung
Lessons Learned
Projektunterlagen
Link zu dem SVN_Ordner des Projekt.
YouTube Video
Das Video von diesem Projekt finden Sie auf Youtube unter dem Link:
Weblinks
Literatur
→ zurück zum Hauptartikel: Studentische Arbeiten