Dieses Repository beinhaltet den Workspace für einen Roboter, der über ein Holybro Pixhawk Jetson Baseboard (SKU: 20338X) gesteuert wird.
- Baseboard: Holybro Pixhawk Jetson Baseboard
- Verbindung: Pixhawk und Jetson sind intern per Ethernet verbunden.
- Jetson Board: Ubuntu 22.04.5 LTS (Jammy) | ROS 2 Humble
- Pixhawk Flight Controller: PX4 v1.17 alpha (oder v1.16)
- Steuerung: PWM Signale für Fortbewegung und Rotation
- SSID:
frl_2.4GHz - Passwort:
Frl2024! - Hostname/IP Check:
hostname -I(Sollte10.157.175.187sein, sonst im Bridged Modus prüfen)
Verbindung zum Jetson Board:
ssh holybro@10.157.174.254Passwort: frl2025!
- Problem: Navigation Error (position / global position)
- Lösung: Reboot des Jetson.
- Alternativ: In QGroundControl:
Vehicle configuration->parameter->tools->reboot vehicle. - Hinweis: EKF2 benötigt einen Delay von ca. 45 ms. Wenn der Delay vom Vicon System zu groß wird, entstehen Probleme.
- Switch einschalten.
- Einloggen am Vicon PC:
- Account:
MSA-Mocap - Passwort:
msA!54
- Account:
- App öffnen: Vicon Tracker
- Drücke: Go live
- Requested Frame Rate:
30(überprüfen)
Repository: ros2-vicon-bridge
Sicherstellen, dass man im selben Netz ist wie der Roboter. Dann die Bridge starten:
cd ~/ros2_ws
source install/setup.bash
ros2 launch vicon_bridge all_segments.launch.pyDie Odometrie-Daten an PX4 senden:
ros2 run px4_localization_bridge vicon_odometry_pub --ros-args -p vicon_topic:=/vicon/Robot_1/Robot_1/posePer SSH auf dem Roboter ausführen:
ros2 topic pub --once /fmu/in/vehicle_command px4_msgs/msg/VehicleCommand "{timestamp: $(($(date +%s%N)/1000)), command: 400, param1: 1.0, target_system: 1, target_component: 1, from_external: true}"Wechsel in den Modus, in dem der Jetson die Steuerung übernimmt:
ros2 topic pub --once /fmu/in/vehicle_command px4_msgs/msg/VehicleCommand "{timestamp: $(($(date +%s%N)/1000)), command: 176, param1: 1.0, param2: 6.0, target_system: 1, target_component: 1, from_external: true}"Kamera Node auf dem Jetson starten:
ros2 run jetson_camera camera_noderos2 launch mirmi_apriltag usb_apriltag_detection.launch.pyVerbindung über WebSocket.
- IP Adresse:
10.157.174.254(oder viaip -aunterwlP1p1s0prüfen) - URL:
ws://10.157.174.254:8765
Foxglove Bridge auf dem Jetson starten:
ros2 launch foxglove_bridge foxglove_bridge_launch.xml- Per USB-C mit dem Baseboard verbinden.
- QGroundControl starten.
Um die Genauigkeit der AprilTag Erkennung gegenüber dem Vicon System zu evaluieren:
ros2 run mirmi_apriltag accuracy_investigationDas Skript speichert die Daten in einem lokalen Ordner mit Zeitstempel:
~/accuracy_data/accuracy_YYYY-MM-DD_HH-MM-SS.csv
Um die gesamten Messdaten zu sichern und zu synchronisieren, verwenden wir rclone.
- Rclone installieren (Benötigt sudo):
sudo apt install rclone
- Google Drive konfigurieren:
rclone config
n(New remote)- Name:
gdrive - Storage:
drive(Google Drive) - Folge den Anweisungen zur Authentifizierung.
Nutzen Sie das bereitgestellte Skript, um den lokalen Ordner ~/accuracy_data mit dem Cloud-Ordner accuracy_data zu synchronisieren:
cd ~/ws_sensor_combined
./backup_data.shFür die Docking Test Suite (~/docking_test_data) verwenden Sie das entsprechende Skript:
cd ~/ws_sensor_combined
./backup_docking_data.sh