quadruped_ros2_control/controllers/ocs2_quadruped_controller
Zhenbiao Huang 6015ae749c update README.md 2024-11-06 20:07:48 +08:00
..
config add visualizer 2024-09-30 20:02:56 +08:00
include/ocs2_quadruped_controller add support for anymal c 2024-10-16 22:59:11 +08:00
launch ocs2 launch file refact 2024-10-18 11:47:31 +08:00
src add support for anymal c 2024-10-16 22:59:11 +08:00
CMakeLists.txt ocs2 launch file refact 2024-10-18 11:47:31 +08:00
README.md update README.md 2024-11-06 20:07:48 +08:00
ocs2_quadruped_controller.xml state estimate tested 2024-09-25 21:01:50 +08:00
package.xml add rl_sdk 2024-10-03 20:51:33 +08:00

README.md

OCS2 Quadruped Controller

This is a ros2-control controller based on legged_control and ocs2_ros2.

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
    • feet force sensor

2. Build

2.1 Build Dependencies

  • OCS2 ROS2 Libraries
    colcon build --packages-up-to ocs2_legged_robot_ros
    colcon build --packages-up-to ocs2_self_collision
    

2.2 Build OCS2 Quadruped Controller

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

3. Launch

supported robot description:

  • Unitree
    • go2_description
    • go1_description
    • a1_description
    • aliengo_description
    • b2_description
  • Xiaomi
    • cyberdog_description
  • DeepRobotics
    • lite3_description
    • x30_description
  • Anybotics
    • anymal_c_description

3.1 Mujoco Simulation

Warm Reminder: You need to launch Unitree Mujoco C++ Simulation before launch the controller.

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

At the first launch, controller may compile the OCS2 model and generate the shared library. The compilation process may take a few minutes. After the compilation, restart the controller and the robot should stand up. Then you can use the keyboard or joystick to control the robot (Keyboard 2 or Joystick LB+A to Trot mode).