ROS1-Anwendung
Systemkonfiguration: Ubuntu 20.04
ROS1-Version: noetic
ROS1-Umgebung konfigurieren
- ROS1-Installationsquelle einrichten
PowerShell
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'- Key einrichten
PowerShell
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654Plain
sudo apt update- ROS1 installieren (offizieller Download)
PowerShell
sudo apt install ros-noetic-desktop-fullROS1 mit Proxy-Beschleunigung installieren wget http://fishros.com/install -O fishros && . fishros
- Umgebungsvariablen konfigurieren
Plain
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrcPowerShell
source ~/.bashrcGerät mit der VM verbinden
- Gerät prüfen
PowerShell
ll /dev/ttyUSB*- Port-Zuordnung erstellen
PowerShell
sudo gedit /etc/udev/rules.d/99-serial-imu.rules- Inhalt der Zuordnungsdatei eintragen
PowerShell
KERNEL=="ttyUSB*", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE:="0777", SYMLINK+="imu-serial"- Speichern und beenden, Befehle zum Aktivieren der Regeln ausführen
PowerShell
sudo udevadm triggerPlain
sudo service udev reloadPlain
sudo service udev restart- Verifizieren
PowerShell
ll /dev/imu-serialBash
sudo usermod -aG dialout ashVorbereitetes Archiv importieren
Im gleichen Verzeichnis wie die Feishu-Dateien: IMU_ROS1.zip
Entpacken und per Übertragungssoftware in die VM übertragen
IMU_Library-Bibliothek installieren
PowerShell
cd IMU_ROS1
# Nach dem Herunterladen und Entpacken des IMU_ROS1-Archivs in das Verzeichnis IMU_Library wechseln und folgenden Befehl ausführen
cd IMU_Library
# Bibliothek und ihre Abhängigkeiten installieren
pip install -e .
# Oder mit setup.py installieren
python setup.py installPython-Bibliotheken installieren
PowerShell
sudo pip3 install pyserial
sudo pip3 install smbus2Falls Rendering-Probleme auftreten, folgenden Befehl ausführen
PowerShell
sudo apt-get install ros-noetic-imu-filter-madgwick
sudo apt-get install ros-noetic-rviz-imu-pluginROS1-Projekt bauen
- Im /home-Verzeichnis neues Terminal öffnen, ros1-Workspace erstellen
PowerShell
mkdir imu_ros1
cd imu_ros1
mkdir src
cd src/
catkin_init_workspace- Übertragenen IMU_ROS1-Ordner nach ~/imu_ros1/src/ kopieren
PowerShell
# Den Ordner IMU_ROS1 in das neu erstellte src-Verzeichnis kopieren
cp -r ~/IMU_ROS1 ~/imu_ros1/src
cd ~/imu_ros1
catkin_make- Arbeitsverzeichnis ~/imu_ros1 in die Umgebungsvariablen eintragen
PowerShell
# ~/.bashrc bearbeiten
sudo gedit ~/.bashrc
# Die folgenden Befehle ans Ende schreiben
source ~/imu_ros1/devel/setup.bash
source ~/.bashrcROS1-Node starten
- Terminal öffnen, roscore eingeben zum Starten des Nodes
PowerShell
# roscore starten
roscore
# Neues Terminal öffnen, Umgebung einrichten, Node starten
source ~/imu_ros1/devel/setup.bash- Python-Skripten Ausführungsrechte geben (wichtig)
In das scripts-Verzeichnis der Skripte wechseln und mit chmod +x Ausführungsrechte vergeben (+x = Ausführungsberechtigung hinzufügen):
PowerShell
# In das Verzeichnis mit imu_driver.py wechseln (gemäß Ihrem tatsächlichen Pfad)
cd ~/imu_ros1/src/IMU_ROS1/scripts/
# Ausführungsrechte vergeben (nur einmal nötig, dauerhaft wirksam)
chmod +x imu_driver.py
chmod +x mag_visualizer.pyZurück zum imu_ros1-Ordner und imu_driver.py ausführen
Plain
cd ~/imu_ros1Plain
rosrun IMU_ROS1 imu_driver.pyIMU-Daten ausgeben
- Neues Terminal öffnen, imu-Topic anzeigen
PowerShell
# Alle aktuell veröffentlichten Topics anzeigen
rostopic list- Topic-Daten ausgeben
PowerShell
# IMU-Rohdaten ausgeben
rostopic echo /imu/data_raw
# Magnetometerdaten ausgeben
rostopic echo /imu/magRViz-Visualisierung
- Befehl ausführen, um rviz zu starten
PowerShell
roslaunch IMU_ROS1 imu_display.launchHäufige Fragen
- Falls der Node nicht startet, folgende Befehle versuchen
PowerShell
# Im Verzeichnis ~/imu_ros1 ausführen
source devel/setup.bash
# Probleme mit der Portnummer
sudo chmod 666 /dev/imu-serial- Wenn die Achsen in RViz sehr klein dargestellt werden, Enable axes erneut aktivieren


