2023-09-10 09:44:56 +08:00
# Robot Parkour Learning #
2023-09-11 15:19:20 +08:00
Project website: [https://robot-parkour.github.io/ ](https://robot-parkour.github.io/ ) < br >
2023-09-14 12:38:50 +08:00
Authors:
2023-09-11 15:19:20 +08:00
[Ziwen Zhuang* ](https://ziwenzhuang.github.io/ ),
[Zipeng Fu* ](https://zipengfu.github.io/ ),
2023-09-13 22:37:52 +08:00
[Jianren Wang ](https://www.jianrenw.com ),
[Christopher Atkeson ](http://www.cs.cmu.edu/~cga/ ),
2023-09-14 12:38:50 +08:00
[Sören Schwertfeger ](https://robotics.shanghaitech.edu.cn/people/soeren ),
[Chelsea Finn ](https://ai.stanford.edu/~cbfinn/ ),
[Hang Zhao ](https://hangzhaomit.github.io/ )< br >
2023-11-14 18:58:32 +08:00
Conference on Robot Learning (CoRL) 2023, **Oral** , **Best Systems Paper Award Finalist (top 3)** < br >
2023-09-10 09:44:56 +08:00
< p align = "center" >
< img src = "images/teaser.jpeg" width = "80%" / >
< / p >
## Repository Structure ##
* `legged_gym` : contains the isaacgym environment and config files.
2024-05-24 19:01:43 +08:00
- `legged_gym/legged_gym/envs/{robot}/` : contains all the training config files for a specific robot
2023-09-10 09:44:56 +08:00
- `legged_gym/legged_gym/envs/base/` : contains all the environment implementation.
- `legged_gym/legged_gym/utils/terrain/` : contains the terrain generation code.
* `rsl_rl` : contains the network module and algorithm implementation. You can copy this folder directly to your robot.
- `rsl_rl/rsl_rl/algorithms/` : contains the algorithm implementation.
- `rsl_rl/rsl_rl/modules/` : contains the network module implementation.
2023-09-11 15:19:20 +08:00
## Training in Simulation ##
2024-05-24 19:01:43 +08:00
To install and run the code for training A1/Go2 in simulation, please clone this repository and follow the instructions in [legged_gym/README.md ](legged_gym/README.md ).
2023-09-10 09:44:56 +08:00
2023-09-11 15:19:20 +08:00
## Hardware Deployment ##
2024-05-24 19:01:43 +08:00
To deploy the trained model on your unitree Go1 robot, please follow the instructions in [Deploy-Go1.md ](onboard_codes/Deploy-Go1.md ) for deploying on the Unittree Go1 robot.
To deploy the trained model on your unitree Go2 robot, please follow the instructions in [Deploy-Go2.md ](onboard_codes/Deploy-Go2.md ) for deploying on the Unittree Go2 robot.
2023-11-08 03:27:50 +08:00
2023-09-10 09:44:56 +08:00
2023-09-11 15:19:20 +08:00
## Trouble Shooting ##
2023-09-10 09:44:56 +08:00
If you cannot run the distillation part or all graphics computing goes to GPU 0 dispite you have multiple GPUs and have set the CUDA_VISIBLE_DEVICES, please use docker to isolate each GPU.
2024-05-24 19:01:43 +08:00
## To Do ##
- [x] Go1 training configuration (does not guarantee the same performance as the paper)
2023-09-11 15:19:20 +08:00
- [ ] A1 deployment code
2023-11-08 03:27:50 +08:00
- [x] Go1 deployment code
2024-05-24 19:01:43 +08:00
- [x] Go2 training configuration example (does not guarantee the same performance as the paper)
- [x] Go2 deployment code example
2023-09-10 09:44:56 +08:00
## Citation ##
2023-09-11 15:19:20 +08:00
If you find this project helpful to your research, please consider cite us! This is really important to us.
2023-09-10 09:44:56 +08:00
```
@inproceedings {
zhuang2023robot,
title={Robot Parkour Learning},
author={Ziwen Zhuang and Zipeng Fu and Jianren Wang and Christopher G Atkeson and S{\"o}ren Schwertfeger and Chelsea Finn and Hang Zhao},
2023-09-11 15:19:20 +08:00
booktitle={Conference on Robot Learning {CoRL}},
year={2023}
2023-09-10 09:44:56 +08:00
}
2023-09-11 15:19:20 +08:00
```