Skip to content

Sayantani-Bhattacharya/unitree_go2_nav

Repository files navigation

ROS2 Navigation for Unitree GO2.

Author: Sayantani Bhattacharya

This is a standalone package, that has code and launch files for manual navigation operation on Unitree GO2.

Using:

Features:

Package Name: unitree_go2_nav

  • Transform publishers.
  • Robot State publishers.
  • Rtabmap pkgs generating odom tf and occupancy grid using GO2's 4d Lidar.
  • Rviz visulaizations with modified URDF.
  • Nav-to-pose to enable high level control with the GO2's APIs.
  • Nav2 based manual goal subscription.

Setup

  1. mkdir src && cd src
    git clone [email protected]:Sayantani-Bhattacharya/unitree_go2_nav.git
    cd unitree_go2_nav
    
  2. Pull the Unitree SDK Wrapper submodule.

    cd unitree_ros2       
    git clone [email protected]:Sayantani-Bhattacharya/unitree_ros2.git
    
  3. Follow the setup and build instructions mentioned in the unitree_ros2 package ReadMe. This will get you connected to the real Robot.

  4. cd ../
    source /opt/ros/jazzy/setup.bash
    colcon build
    source install/setup.bash
    

Directions:

  1. Complete the above setup.

  2. Verfiy that unitree topics are visible in your current workspace.

    ros2 topic list
    
  3. For mapping:

     ros2 launch unitree_go2_nav mapping.launch.py
    

    For the map to be generated initally, the robot needs to move a bit.

  4. For navigation and mapping:

    Terminal 1:

    ros2 launch unitree_go2_nav navigation.launch.py
    

    Terminal 2:

    cd unitree_ros
    source /opt/ros/jazzy/setup.bash
    source install/setup.bash
    ./install/unitree_ros2_example/bin/high_level_ctrl
    

    This will start Rviz, where you can use the 2D goal pose UI button to give GO2 commands. Or, you can publish ros2 topic as well.

Known issues, that I am currently working on:

  • Modifing the URDF joint states to make it similar to the real robot.

For developing autonomy packages with this as a base package:

Add this to your repository as a submodule

  git submodule add [email protected]:Sayantani-Bhattacharya/unitree_go2_nav.git 
  git submodule update --init --recursive 
  git commit -m "Added submodule unitree_go2_nav" 
  git push origin main 

For reference: https://github.com/Sayantani-Bhattacharya/Multi-Hetero-Agent-Exploration-on-UnitreeGOs/tree/go2_auto_nav

About

Navigation and SLAM package for Unitree GO2 using custom high level control over Unitree ROS2 SDK.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published