quadruped_ros2_control/controllers/unitree_guide_controller
Zhenbiao Huang 4575779eb5 fix leg controller in jazzy, simplified gazebo launch file 2024-10-20 12:42:34 +08:00
..
include/unitree_guide_controller used share_ptr rather than reference in CtrlComponent 2024-10-10 20:31:03 +08:00
launch fix leg controller in jazzy, simplified gazebo launch file 2024-10-20 12:42:34 +08:00
src add estimator 2024-10-15 22:40:15 +08:00
CMakeLists.txt add support for gazebo classic simulator 2024-10-17 21:45:48 +08:00
README.md ocs2 launch file refact 2024-10-18 11:47:31 +08:00
package.xml init swing test 2024-09-12 13:56:51 +08:00
unitree_guide_controller.xml achieved passive mode on unitree simulation 2024-09-10 22:30:30 +08:00

README.md

Unitree Guide Controller

This is a ros2-control controller based on unitree guide. The original unitree guide project could be found here. I used KDL for the kinematic and dynamic calculation, so the controller performance has difference with the original one (sometimes very unstable).

Tested environment:

  • Ubuntu 24.04
    • ROS2 Jazzy
  • Ubuntu 22.04
    • ROS2 Humble

1. Interfaces

Required hardware interfaces:

  • command:
    • joint position
    • joint velocity
    • joint effort
    • KP
    • KD
  • state:
    • joint effort
    • joint position
    • joint velocity
    • imu sensor
      • linear acceleration
      • angular velocity
      • orientation

2. Build

cd ~/ros2_ws
colcon build --packages-up-to unitree_guide_controller

3. Launch

3.1 Mujoco Simulation

source ~/ros2_ws/install/setup.bash
ros2 launch unitree_guide_controller mujoco.launch.py pkg_description:=go2_description

3.2 Gazebo Classic 11 (ROS2 Humble)

source ~/ros2_ws/install/setup.bash
ros2 launch unitree_guide_controller gazebo_classic.launch.py pkg_description:=go2_description

3.3 Gazebo Harmonic (ROS2 Jazzy)

source ~/ros2_ws/install/setup.bash
ros2 launch unitree_guide_controller gazebo.launch.py pkg_description:=go2_description