update README.md

This commit is contained in:
Zhenbiao Huang 2024-11-06 20:07:48 +08:00
parent 1a5baa354d
commit 6015ae749c
4 changed files with 28 additions and 8 deletions

View File

@ -25,6 +25,9 @@ Video for Unitree Guide Controller:
Video for OCS2 Quadruped Controller:
[![](http://i0.hdslb.com/bfs/archive/e758ce019587032449a153cf897a543443b64bba.jpg)](https://www.bilibili.com/video/BV1UcxieuEmH/)
Video for RL Quadruped Controller:
[![](http://i0.hdslb.com/bfs/archive/9886e7f9ed06d7f880b5614cb2f4c3ec1d7bf85f.jpg)](https://www.bilibili.com/video/BV1QP1pYBE47/)
## 1. Quick Start
* rosdep
@ -43,8 +46,9 @@ Please use **C++ Simulation** in this [Mujoco Simulation](https://github.com/leg
sensor.
> **Warning:** CycloneDDS ROS2 RMW may conflict with unitree_sdk2. If you cannot launch unitree mujoco simulation
> without `sudo`, then you cannot used `unitree_mujoco_hardware`. You can switch to gazebo, or try to solve the conflict
> by uninstall CycloneDDS ROS2 RMW.
> without `sudo`, then you cannot used `unitree_mujoco_hardware`. This conflict could be solved by one of below two methods:
> 1. Uninstall CycloneDDS ROS2 RMW, or
> 2. Follow the guide in [unitree_ros2](https://github.com/unitreerobotics/unitree_ros2) to configure the ROS2 RMW by compiling cyclone dds.
* Compile Unitree Hardware Interfaces
```bash

View File

@ -61,10 +61,17 @@ supported robot 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](https://github.com/legubiao/unitree_mujoco) before launch the controller.
```bash
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).

View File

@ -2,18 +2,25 @@
This repository contains the reinforcement learning based controllers for the quadruped robot.
[![](http://i0.hdslb.com/bfs/archive/9886e7f9ed06d7f880b5614cb2f4c3ec1d7bf85f.jpg)](https://www.bilibili.com/video/BV1QP1pYBE47/)
Tested environment:
* Ubuntu 24.04
* ROS2 Jazzy
* Ubuntu 22.04
* ROS2 Humble
## 2. Build
### 2.1 Installing libtorch
```bash
cd ~/CLionProjects/
wget https://download.pytorch.org/libtorch/cpu/libtorch-cxx11-abi-shared-with-deps-2.5.0%2Bcpu.zip
unzip unzip libtorch-cxx11-abi-shared-with-deps-2.5.0+cpu.zip
```
```bash
cd ~/CLionProjects/
rm -rf libtorch-cxx11-abi-shared-with-deps-2.5.0+cpu.zip
@ -22,6 +29,7 @@ echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/CLionProjects/libtorch/lib' >> ~
```
### 2.2 Build Controller
```bash
cd ~/ros2_ws
colcon build --packages-up-to rl_quadruped_controller
@ -30,20 +38,21 @@ colcon build --packages-up-to rl_quadruped_controller
## 3. Launch
### 3.1 Mujoco Simulation
> **Warm Reminder**: You need to launch [Unitree Mujoco C++ Simulation](https://github.com/legubiao/unitree_mujoco) before launch the controller.
```bash
source ~/ros2_ws/install/setup.bash
ros2 launch rl_quadruped_controller mujoco.launch.py pkg_description:=go2_description
```
### 3.2 Gazebo Classic 11 (ROS2 Humble)
```bash
source ~/ros2_ws/install/setup.bash
ros2 launch rl_quadruped_controller gazebo_classic.launch.py pkg_description:=a1_description
```
### 3.3 Gazebo Harmonic (ROS2 Jazzy)
```bash
source ~/ros2_ws/install/setup.bash
ros2 launch rl_quadruped_controller gazebo.launch.py pkg_description:=go2_description

View File

@ -42,7 +42,7 @@ colcon build --packages-up-to unitree_guide_controller
## 3. Launch
### 3.1 Mujoco Simulation
> **Warm Reminder**: You need to launch [Unitree Mujoco C++ Simulation](https://github.com/legubiao/unitree_mujoco) before launch the controller.
```bash
source ~/ros2_ws/install/setup.bash
ros2 launch unitree_guide_controller mujoco.launch.py pkg_description:=go2_description