Featured image of post Legged Gym 环境配置

Legged Gym 环境配置

Ubuntu 22.04 下 Legged Gym 环境配置全流程记录

日期:2025-11

系统环境:Ubuntu 22.04 LTS

显卡要求:NVIDIA 显卡(支持 CUDA >= 11.7)

核心组件:Isaac Gym (Preview 4) + RSL_RL (v1.0.2) + Legged Gym


基础环境准备

Ubuntu 22.04 默认系统库较新,而 Isaac Gym 较旧,因此必须严格锁定 Python 和 PyTorch 版本。

:显卡驱动和CUDA安装相对较容易,可以自行寻找教程

创建 Conda 环境

miniconda安装指南

使用 Python 3.8 以获得最佳兼容性。

conda create -n legged_gym python=3.8
conda activate legged_gym

安装 PyTorch 1.13

为了适配 Isaac Gym 且不引发 CUDA 兼容问题,使用以下特定版本:

pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url [https://download.pytorch.org/whl/cu117](https://download.pytorch.org/whl/cu117)

验证安装: 进入 Python 输入 import torch; print(torch.cuda.is_available()) 应返回 True

安装 Isaac Gym (模拟器)

Isaac Gym下载地址

解压与安装

建议建立专门的工作目录(如 ~/workspace),不要在 Downloads/tmp 下安装。

# 假设压缩包已在当前目录
tar -xf IsaacGym_Preview_4_Package.tar.gz
cd isaacgym/python
pip install -e .

解决 Ubuntu 22.04 核心兼容问题 (Critical)

现象:运行示例时报错 ImportError: libpython3.8.so.1.0: cannot open shared object file原因:系统找不到 Conda 环境内的动态链接库。 错误尝试:不要将路径直接写入 ~/.bashrc,这会导致系统命令(如 nano, ls)因库冲突而发生“段错误”或崩溃。

正确解决方案: 在运行时动态指定环境变量。后续我们将通过启动脚本 (train.sh) 来一劳永逸地解决此问题。

安装 RSL_RL (算法库)

RSL_RL仓库地址

这是配置中最容易出错的环节。官方最新版 (master 分支) 适配了新版 PyTorch 2.x,会导致依赖冲突(如 ModuleNotFoundError: tensordictpyproject.toml 格式错误)。

解决方案:强制降级到 v1.0.2 版本。

cd ~/workspace  # 回到工作根目录
git clone [https://github.com/leggedrobotics/rsl_rl](https://github.com/leggedrobotics/rsl_rl)
cd rsl_rl

# 切换到稳定旧版本
git checkout v1.0.2

# 安装
pip install -e .

安装 Legged Gym (训练环境)

legged_gym仓库

安装本体

cd ~/workspace
git clone [https://github.com/leggedrobotics/legged_gym](https://github.com/leggedrobotics/legged_gym)
cd legged_gym
pip install -e .

解决 NumPy 版本冲突

现象:运行时报错 AttributeError: module 'numpy' has no attribute 'float'原因:Isaac Gym 依赖旧版 NumPy,而新版(1.24+)废弃了部分属性。 解决

pip install "numpy<1.24"

补充缺失工具

如果不安装 Tensorboard,训练时会报错。

pip install tensorboard

运行与显存优化

创建通用启动脚本 (推荐)

为了解决 libpython 路径问题,且避免使用不稳定的 alias,在 legged_gym/scripts 目录下创建 train.sh

cd legged_gym/scripts
# 写入脚本内容
echo '#!/bin/bash' > train.sh
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib' >> train.sh
echo 'python train.py "$@"' >> train.sh

# 赋予权限
chmod +x train.sh

解决显存溢出 (CUDA OOM)

现象:报错 RuntimeError: CUDA error: CUBLAS_STATUS_ALLOC_FAILED原因:默认配置开启 4096 个环境并行,显存需求大(需 8G+)。 解决: 修改 legged_gym/envs/a1/a1_config.py (或对应机器人的 config)。

class A1RoughCfg( LeggedRobotCfg ):
    class env( LeggedRobotCfg.env ):
        num_envs = 1024  # <--- 将 4096 改为 1024 或 512

启动训练

./train.sh --task=a1

常见报错速查表

错误特征 原因 解决方法
ImportError: libpython3.8.so.1.0 找不到 Python 动态库 使用 LD_LIBRARY_PATH 脚本启动 (见第五步)
nano 打开时报 段错误 .bashrc 中污染了全局库路径 清除 .bashrc 中的 LD_LIBRARY_PATH 设置
ModuleNotFoundError: tensordict rsl_rl 版本过新 切换 rsl_rlv1.0.2 标签
toml 解析错误 / license 格式错误 rsl_rl 配置文件兼容性差 切换 rsl_rlv1.0.2 标签
AttributeError: ... no attribute 'float' NumPy 版本过高 pip install "numpy<1.24"
CUDA error: CUBLAS_STATUS_ALLOC_FAILED 显存不足 减小配置文件中的 num_envs
ModuleNotFoundError: tensorboard 缺少依赖包 pip install tensorboard
Licensed under CC BY-NC-SA 4.0
|
萌ICP备20259913
Powered by Hugo with Stack
使用 Hugo 构建
主题 StackJimmy 设计, 由 秦时月 修改