This guide provides detailed instructions for setting up and using the OM1 ROS2 SDK with the Unitree G1 robot.
[To be added: Hardware setup instructions specific to G1]
cd ~/ros2_ws/src
git clone https://github.com/OpenMind/OM1-ros2-sdk.gitcd ~/ros2_ws
rosdep install --from-paths . --ignore-src -r -ypip install -r requirements.txtcolcon build --packages-select unitree_api unitree_hg g1_sdksource install/setup.bash# Option 1: Temporary permission (needs to be run each time)
sudo chmod 777 /dev/ttyUSB0
# Option 2: Add user to dialout group (permanent, requires logout/login)
sudo usermod -a -G dialout $USER
# Option 3: Create udev rule (permanent)
echo 'KERNEL=="ttyUSB*", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", GROUP="dialout", MODE="0666"' | sudo tee /etc/udev/rules.d/99-rplidar.rules
sudo udevadm control --reload-rules && sudo udevadm triggerTo start the complete SLAM system:
ros2 launch g1_sdk slam_launch.pyOnce you have done the mapping, you can save the map through the RViz2 interface by clicking on the Save Map button and the Serialize Map button in the SlamToolboxPlugin panel.
To start the navigation system with SLAM:
ros2 launch g1_sdk nav2_launch.py map_yaml_file:=<path_to_your_map_yaml_file>[To be added: Sensor launch instructions for G1]
[To be added: G1-specific control instructions]
Launch RViz with the provided configuration:
rviz2 -d config/rviz.rviz[To be added: G1-specific troubleshooting tips]
- Check USB connection:
ls -la /dev/ttyUSB*- Verify permissions:
sudo chmod 777 /dev/ttyUSB0- Add user to dialout group:
sudo usermod -a -G dialout $USER- Reduce
scan_buffer_sizeif experiencing dropped messages - Adjust
correlation_search_space_dimensionfor better loop closure - Modify
loop_search_maximum_distancebased on environment size
- Ensure all required transforms are being published
- Check TF tree with:
ros2 run tf2_tools view_frames - Verify timing with:
ros2 topic echo /tf