今天使用
fanziqi
大佬的rl_docker搭建了一个isaac gym
下的四足机器人训练环境,成功运行legged gym
项目下的例子,记录一下搭建流程
基础配置
- Operating System: Ubuntu 22.04.5 LTS
- Kernel: Linux 6.8.0-49-generic
- Architecture: x86-64
- Hardware Vendor: MECHREVO
- Hardware Model: Yaoshi15Pro Series GM5IX0A
ubuntu下可使用
hostnamectl
查看配置。
1. 切换为国内系统源
使用 fishros
大佬的一键安装脚本,里面有对于的自动识别并更换最快的国内系统源
使用命令:
wget http://fishros.com/install -O fishros && . fishros
然后安装出现的选项选择更换系统源
即可。
2. 检查nvidia驱动和cuda版本
nvidia-smi
!![[Pasted image 20241206232824.png|800]]
我这里使用 Driver Version: 550.120 CUDA Version: 12.4
可以成功运行 isaac gym
的例程。
注意,我一开始是参考csdn一篇文章手动安装的nvidia驱动,后面运行的时候会出现问题。解决方法看后面 尝试了降低版本依然不可以,出现了以下错误:
输入命令:nvidia-smi
出现:
Failed to initialize NVML: Driver/library version mismatch NVML library version: 550.120
在网上查找了很多方法,总结如下:(虽然没解决问题, 但是学习了其他情况下的解决办法和一些linux下的指令)
- 查看驱动和内核版本是否对应,有时内核版本自动更新会导致
nvidia-smi
打不开的情况
cat /proc/driver/nvidia/version
![[Pasted image 20241206234151.png|800]]
dpkg -l | grep nvidia-driver
![[Pasted image 20241206234449.png|800]]
如果驱动和内核版本不对应,只需要将驱动升级到和内核一样的版本即可。
参考# 如何在Ubuntu系统中彻底卸载和删除NVIDIA显卡驱动程序 和 # nvidia-smi is returning “NVML: Driver/library version mismatch”.
- 彻底删除和卸载所有nvidia显卡驱动程序
sudo apt-get --purge remove "*nvidia*"
sudo apt-get --purge remove "*libnvidia*"
sudo apt-get --purge remove cuda
sudo apt autoremove
如果使用了手动安装驱动,即./NVIDIA-xxx-.run
则使用:
sudo NVIDIA-Linux-x86_64-<version>.run --uninstall
将<version>
替换为你的驱动版本号。
参考链接:# 如何在Ubuntu系统中彻底卸载和删除NVIDIA显卡驱动程序
- 关闭驱动内核
sudo systemctl stop gdm
sudo rmmod nvidia_uvm
sudo rmmod nvidia_drm
sudo rmmod nvidia_modeset
sudo rmmod nvidia
3. 安装 rl_docker rsl-rl legged_gym isaacgym
- 安装
rl_docker
https://github.com/fan-ziqi/rl_docker/blob/main/README_CN.md
-
修改
docker/Dockerfile
文件中的第一句为:nvcr.io/nvidia/pytorch:22.12-py3
-
在
run.sh
中加入 chmod +x ${SCRIPTROOT}/…/rl_docker/setup.sh -
在
Dockerfile
中如果:
RUN apt-get install -q -y --no-install-recommends wget \
&& wget http://archive.ubuntu.com/ubuntu/pool/main/c/ca-certificates/ca-certificates_20240203~20.04.1_all.deb \
&& dpkg -i ./ca-certificates_20240203~20.04.1_all.deb
出现错误,在官网查找最新的连接即可。
- 在使用
rl_docker
中的bash build.sh
之前,先安装rsl-rl legged_gym isaacgym
.rsl_rl
要安装旧版本 Pre-Release v1.0.2
![[Pasted image 20241207002449.png|800]]legged_gym
安装
https://github.com/leggedrobotics/legged_gymisaacgym
安装
https://developer.nvidia.com/isaac-gym/download
最终文件结构如下:
![[Pasted image 20241207003019.png]]
继续按照rl_docker
中步骤进行即可
4. 例程运行
- 运行
isaacgym
程序:
rl_ws
下执行cd ./isaacgym/python/examples/ && python ./joint_monkey.py
结果如下:
![[Pasted image 20241207003827.png|1000]]则成功安装isaacgym
. - 运行
legged_gym
程序
rl_ws
下执行cd ./legged_gym/ && python legged_gym/scripts/train.py --task=anymal_c_flat --num_envs=1024
结果如下:
![[Pasted image 20241207004722.png|1000]]