1. Linux系统环境准备
1.1 虚拟机与Ubuntu安装
作为机器人仿真开发的基础,Linux系统提供了更接近实际部署环境的开发体验。我选择在VMware Workstation Pro 17上搭建Ubuntu 20.04.6 LTS环境,这个长期支持版本在稳定性和软件兼容性之间取得了良好平衡。
镜像下载建议:
- 阿里云镜像站速度稳定,适合国内用户
- 清华大学镜像站更新及时,学术网络访问更快
- 华为云镜像站对电信网络优化较好
虚拟机创建时几个关键参数设置:
- 处理器核心数:至少分配2核(4核更佳)
- 内存容量:建议8GB起步(复杂仿真需要更多)
- 磁盘空间:按教程建议的40GB是底线,实际开发建议60GB+
- 网络适配器:桥接模式更方便主机与虚拟机通信
实测发现,启用3D图形加速能显著提升后续MuJoCo的渲染性能,但需要主机GPU支持。在VMware的"虚拟机设置→显示器"中勾选"加速3D图形",并分配至少1GB显存。
1.2 系统初始化配置
安装完成后首要任务是更新软件源和升级系统组件:
bash复制sudo apt update && sudo apt upgrade -y
国内用户推荐更换软件源:
- 备份原配置:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak - 使用清华源:
bash复制sudo sed -i 's|http://.*archive.ubuntu.com|https://mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list
sudo sed -i 's|http://.*security.ubuntu.com|https://mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list
- 再次更新:
sudo apt update
必备工具安装:
bash复制sudo apt install -y build-essential git curl wget vim net-tools
1.3 Python环境管理
Miniconda是管理Python环境的理想选择,相比完整版Anaconda更轻量。安装时注意:
bash复制wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
chmod +x Miniconda3-latest-Linux-x86_64.sh
./Miniconda3-latest-Linux-x86_64.sh
安装后验证:
- 重新打开终端
- 执行
conda --version应显示版本号 - 执行
python --version应显示conda自带的Python版本
如果conda命令未找到,需要手动添加PATH。编辑
~/.bashrc添加:
export PATH="$HOME/miniconda3/bin:$PATH"
然后执行source ~/.bashrc
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. MuJoCo仿真环境搭建
2.1 MuJoCo引擎安装
MuJoCo 210是目前最稳定的版本,安装步骤如下:
bash复制mkdir -p ~/.mujoco
wget https://github.com/deepmind/mujoco/releases/download/2.1.0/mujoco210-linux-x86_64.tar.gz
tar -zxvf mujoco210-linux-x86_64.tar.gz -C ~/.mujoco
环境变量配置:
编辑~/.bashrc添加:
bash复制export MUJOCO_PY_MUJOCO_PATH=~/.mujoco/mujoco210
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/.mujoco/mujoco210/bin
图形驱动路径需要根据实际系统调整。使用
ls /usr/lib/x86_64-linux-gnu | grep nvidia查找正确的驱动目录。
2.2 许可证配置
从MuJoCo官网获取的mjkey.txt需要放置到两个位置:
bash复制cp mjkey.txt ~/.mujoco/
cp mjkey.txt ~/.mujoco/mujoco210/bin/
验证安装:
bash复制cd ~/.mujoco/mujoco210/bin
./simulate ../model/humanoid.xml
成功运行应看到黄色人形模型窗口。
2.3 Python接口安装
创建专用conda环境:
bash复制conda create -n mujoco python=3.8 -y
conda activate mujoco
安装系统依赖:
bash复制sudo apt install -y libosmesa6-dev libgl1-mesa-glx libglfw3 patchelf
安装mujoco-py:
bash复制pip install numpy
pip install 'Cython<3'
pip install 'mujoco-py<2.2,>=2.1'
常见问题解决:
- 如果遇到gcc错误:
bash复制sudo apt install build-essential -y
- 如果出现GLFW错误:
bash复制sudo apt install libglfw3-dev -y
3. LeRobot框架安装
3.1 系统依赖准备
bash复制sudo apt-get update
sudo apt-get install -y cmake build-essential python-dev pkg-config \
libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev \
libswscale-dev libswresample-dev libavfilter-dev
3.2 Python环境配置
创建Python 3.12环境:
bash复制conda create -y -n lerobot python=3.12
conda activate lerobot
安装FFmpeg:
bash复制conda install -c conda-forge ffmpeg=7.1.1 -y
3.3 源码安装
克隆仓库:
bash复制git clone https://github.com/huggingface/lerobot.git
cd lerobot
可编辑模式安装:
bash复制pip install -e .
安装额外组件:
bash复制pip install -e ".[feetech,sim]"
安装验证:
python复制import lerobot
print(lerobot.__version__)
4. 环境测试与问题排查
4.1 综合测试脚本
创建测试文件test_env.py:
python复制import mujoco_py
import lerobot
print("MuJoCo version:", mujoco_py.__version__)
print("LeRobot version:", lerobot.__version__)
model = mujoco_py.load_model_from_path(f"{mujoco_py.utils.discover_mujoco()}/model/humanoid.xml")
sim = mujoco_py.MjSim(model)
print("Simulation step test:", sim.data.qpos)
4.2 常见错误解决方案
错误1:GLFW Error: X11: The DISPLAY environment variable is missing
- 解决方案:确保在图形界面运行,或设置虚拟显示:
bash复制sudo apt install xvfb -y xvfb-run python your_script.py
错误2:Missing required OpenGL extension
- 解决方案:安装Mesa库:
bash复制sudo apt install libgl1-mesa-dev libgl1-mesa-glx -y
错误3:ImportError: libglew.so.2.1: cannot open shared object file
- 解决方案:
bash复制sudo apt install libglew-dev -y
5. 开发环境优化建议
5.1 性能调优
- 启用SSH远程开发:
bash复制sudo apt install openssh-server -y
sudo systemctl enable ssh
- 安装GPU加速驱动(如有NVIDIA显卡):
bash复制sudo ubuntu-drivers autoinstall
sudo reboot
5.2 实用工具推荐
- 进程监控:
bash复制sudo apt install htop -y
- 文件传输:
bash复制sudo apt install rsync -y
- 网络调试:
bash复制sudo apt install net-tools -y
经过完整的环境搭建和测试,现在你已经拥有了一个功能完备的机器人仿真开发环境。在实际开发中,建议定期更新各组件版本,并保持开发环境的独立性以避免依赖冲突。
