Simulation verification and physical deployment of robot reinforcement learning algorithms, suitable for quadruped robots, wheeled robots, and humanoid robots. "sar" stands for "simulation and real"
Go to file
fan-ziqi 96e2aa1452 fix: fix joy control 2024-03-18 14:53:17 +08:00
.github/workflows feat: add auto update 2024-03-06 17:49:50 +08:00
src fix: fix joy control 2024-03-18 14:53:17 +08:00
.gitignore feat: add models 2024-03-14 12:24:51 +08:00
.gitmodules feat: add submodule unitree_ros 2024-03-06 17:18:12 +08:00
LICENCE add LICENCE 2024-03-06 19:43:41 +08:00
README.md docs: fix exe name 2024-03-14 13:13:47 +08:00
README_CN.md docs: fix exe name 2024-03-14 13:13:47 +08:00

README.md

rl_sar

中文文档

Gazebo simulation verification and UnitreeA1 physical deployment for reinforcement learning. "sar" stands for "simulation and real".

Preparation

Clone the code (sync submodules)

git clone --recursive https://github.com/fan-ziqi/rl_sar.git

If there are updates:

git pull
git submodule update --remote --recursive

Download and deploy libtorch at any location

cd /path/to/your/torchlib
wget https://download.pytorch.org/libtorch/cpu/libtorch-cxx11-abi-shared-with-deps-2.0.1%2Bcpu.zip
unzip libtorch-cxx11-abi-shared-with-deps-2.0.1+cpu.zip -d ./
echo 'export Torch_DIR=/path/to/your/torchlib' >> ~/.bashrc

Install teleop-twist-keyboard

sudo apt install ros-noetic-teleop-twist-keyboard

Compilation

Customize the following two functions in your code to adapt to different models:

torch::Tensor forward() override;
torch::Tensor compute_observation() override;

Then compile in the root directory

cd ..
catkin build

Running

Before running, copy the trained pt model file to rl_sar/src/rl_sar/models

Simulation

Open a new terminal, launch the gazebo simulation environment

source devel/setup.bash
roslaunch rl_sar start_env.launch

Open a new terminal, run the control program

source devel/setup.bash
rosrun rl_sar rl_sim

Open a new terminal, run the keyboard control program

rosrun teleop_twist_keyboard teleop_twist_keyboard.py

Physical Deployment

Open a new terminal, run the control program

source devel/setup.bash
rosrun rl_sar rl_real

Some code references: https://github.com/mertgungor/unitree_model_control