System Overiew
The ROS2 SDK consists of three main services:- orchestrator: Manages SLAM, navigation, and map storage. Provides REST API endpoints for control and integration.
- om1_sensor: Handles all low-level sensor drivers (Intel RealSense D435, RPLidar) and publishes ROS2 topics for localization and mapping.
- watchdog: Monitors sensor and topic health, automatically restarting om1_sensor if issues are detected.
om1_sensorcollects and publishes sensor data.orchestratorconsumes this data for SLAM and navigation.watchdogensures continuous operation by monitoring data streams.zenoh_bridgeacts as a bridge netween OM1 and OM1_sensor to publish and subscribe to/from ROS2 topics.
Starting the System
- Clone the repository
- Open a terminal in the
unitree_sdkdirectory. - Run the following commands to start all services:
Components Overview
1. watchdog
- If any topics or sensors stop publishing data, the watchdog automatically restarts om1_sensor.
- Ensures system stability during long-running sessions.
2. om1_sensor
The om1_sensor container manages all low-level sensor drivers:- Intel RealSense D435 (depth camera)
- RPLidar (LiDAR scanning)
/om/paths— Processed path and localization data/scan— Raw LiDAR scan data
3. orchestrator
The orchestrator service provides an API endpoint and cloud service integration. It manages:- SLAM (Simultaneous Localization and Mapping)
- Navigation (Nav2)
- Map storage and loading
API Usage
Start SLAM
Stop SLAM
Save a Map
Start Navigation (Nav2)
Stop Navigation (Nav2)
Development Guidance
- This section provides guidance for developers working on the new OM backpack system.
- You can connect your Linux machine to one of the Ethernet ports of the OM backpack.
- Open the network settings and find the network interface that the robot is connected to. In IPv4 settings, change the IPv4 mode to manual, set the address to 192.168.123.100, and set the mask to 255.255.255.0. After completion, click apply and wait for the network to reconnect.
- Then you can subscribe to the topics published by the Orin AGX and the Unitree Go2/G1 robot.
Troubleshooting
RPLiDAR Connection Issues
- Check USB connection:
- Verify permissions:
- Add user to dialout group:
SLAM Performance Issues
- Reduce
scan_buffer_sizeif experiencing dropped messages - Adjust
correlation_search_space_dimensionfor better loop closure - Modify
loop_search_maximum_distancebased on environment size
Transform Issues
- Ensure all required transforms are being published
- Check TF tree with:
ros2 run tf2_tools view_frames - Verify timing with:
ros2 topic echo /tf
Robot Control Issues
- Check
cmd_velmessages: - Ensure robot is in correct mode for movement commands.
Additional Resources
If you encounter issues not listed here, please contact the OM1 support team or join our community on Discord.