2024-09-24 19:48:14 +08:00
|
|
|
# OCS2 Quadruped Controller
|
|
|
|
|
2024-09-26 22:18:11 +08:00
|
|
|
This is a ros2-control controller based on [legged_control](https://github.com/qiayuanl/legged_control)
|
|
|
|
and [ocs2_ros2](https://github.com/legubiao/ocs2_ros2).
|
2024-09-24 21:50:46 +08:00
|
|
|
|
2024-10-03 20:51:33 +08:00
|
|
|
Tested environment:
|
2024-10-18 11:47:31 +08:00
|
|
|
|
2024-10-03 20:51:33 +08:00
|
|
|
* Ubuntu 24.04
|
2024-10-18 11:47:31 +08:00
|
|
|
* ROS2 Jazzy
|
2024-10-18 22:22:07 +08:00
|
|
|
* Ubuntu 22.04
|
|
|
|
* ROS2 Humble
|
2024-10-03 20:51:33 +08:00
|
|
|
|
2024-10-01 19:10:23 +08:00
|
|
|
[![](http://i0.hdslb.com/bfs/archive/e758ce019587032449a153cf897a543443b64bba.jpg)](https://www.bilibili.com/video/BV1UcxieuEmH/)
|
|
|
|
|
2024-10-03 20:51:33 +08:00
|
|
|
## 1. Interfaces
|
|
|
|
|
|
|
|
Required hardware interfaces:
|
|
|
|
|
|
|
|
* command:
|
2024-10-18 11:47:31 +08:00
|
|
|
* joint position
|
|
|
|
* joint velocity
|
|
|
|
* joint effort
|
|
|
|
* KP
|
|
|
|
* KD
|
2024-10-03 20:51:33 +08:00
|
|
|
* state:
|
2024-10-18 11:47:31 +08:00
|
|
|
* joint effort
|
|
|
|
* joint position
|
|
|
|
* joint velocity
|
|
|
|
* imu sensor
|
|
|
|
* linear acceleration
|
|
|
|
* angular velocity
|
|
|
|
* orientation
|
|
|
|
* feet force sensor
|
2024-10-03 20:51:33 +08:00
|
|
|
|
2024-09-24 19:48:14 +08:00
|
|
|
## 2. Build
|
2024-09-26 22:18:11 +08:00
|
|
|
|
|
|
|
### 2.1 Build Dependencies
|
|
|
|
|
|
|
|
* OCS2 ROS2 Libraries
|
|
|
|
```bash
|
|
|
|
colcon build --packages-up-to ocs2_legged_robot_ros
|
|
|
|
colcon build --packages-up-to ocs2_self_collision
|
|
|
|
```
|
|
|
|
|
|
|
|
### 2.2 Build OCS2 Quadruped Controller
|
|
|
|
|
2024-09-24 19:48:14 +08:00
|
|
|
```bash
|
|
|
|
cd ~/ros2_ws
|
|
|
|
colcon build --packages-up-to ocs2_quadruped_controller
|
2024-09-26 22:18:11 +08:00
|
|
|
```
|
|
|
|
|
|
|
|
## 3. Launch
|
2024-10-18 11:47:31 +08:00
|
|
|
|
|
|
|
supported robot description:
|
|
|
|
|
|
|
|
* Unitree
|
|
|
|
* go2_description
|
|
|
|
* go1_description
|
|
|
|
* a1_description
|
|
|
|
* aliengo_description
|
|
|
|
* b2_description
|
|
|
|
* Xiaomi
|
|
|
|
* cyberdog_description
|
|
|
|
|
|
|
|
### 3.1 Mujoco Simulation
|
|
|
|
|
|
|
|
```bash
|
|
|
|
source ~/ros2_ws/install/setup.bash
|
|
|
|
ros2 launch ocs2_quadruped_controller mujoco.launch.py pkg_description:=go2_description
|
|
|
|
```
|