diff --git a/README.md b/README.md index a80c87521f58ec2b216cb65a463189a0d32802e3..9a72adfdbaa3cff8737868456b1dd9dd09088ae8 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,43 @@ # Robot 3d SLAM -## How-to +## How-to: Sensor mit Arduino (VL53L7CX + Pico via Arduino IDE) + +1. **VL53L7CX mit dem Raspberry Pi Pico über die Arduino IDE vorbereiten** + - Installiere die [Arduino-Pico Core](https://github.com/earlephilhower/arduino-pico) über den Boardverwalter. + - Wähle im Menü: + `Werkzeuge → Board → Raspberry Pi RP2040 Boards → Raspberry Pi Pico` + - Schließe den VL53L7CX korrekt per I2C an den Pico an: + - SDA → GPIO 4 + - SCL → GPIO 5 + - Stromversorgung: 3.3 V + - Lade das Skript `VL53L7CX_HelloWorld_I2C_pico.ino` auf den Pico. + - Öffne den Seriellen Monitor (115200 Baud) und überprüfe, ob Messwerte ausgegeben werden. + - Stelle sicher, dass der Sensor erkannt wird und mit `Start ranging...` antwortet. + +2. **Micro-ROS Node starten** + ```bash + ros2 run my_robot_package tof_pico_node + + +3. **RViz2 starten und PointCloud anzeigen** + - Starte RViz2: + ```bash + rviz2 + ``` + - Setze unter **Global Options > Fixed Frame** den Wert auf `map` oder `vl53_frame` (je nachdem, welchen Transform du verwendest). + - Füge ein neues Display hinzu: + - Typ: `PointCloud2` + - Topic: `/vl53_pointcloud` + - Stelle sicher, dass `Decay Time` z. B. auf `0.1` Sekunden gesetzt ist, damit immer nur die aktuelle Messung sichtbar bleibt. + +4. **Optional: Statischen Transform zwischen map und Sensorrahmen setzen** + Falls du `vl53_frame` als Sensorframe benutzt, kannst du einen statischen Transform vom `map`-Frame aus definieren: + ```bash + ros2 run tf2_ros static_transform_publisher 0 0 0 0 1.5708 -1.5708 map vl53_frame + ``` + Das transformiert den Frame so, dass er in eine horizontale Richtung zeigt im Verhältnis zum Grid. + +## How-to UR 1. **UR-Simulation starten** - Die UR Offline-Simulation (Virtual Machine 1) starten