本教程将指导你从零开始安装宇树(Unitree)Go2机器狗的MuJoCo仿真平台,包括WSL2环境配置、Ubuntu安装、依赖软件安装以及仿真器运行。
操作系统: Windows 10 或 Windows 11
内存: 至少8GB RAM(推荐16GB)
硬盘空间: 至少20GB可用空间
网络: 需要稳定的网络连接
VcXsrv X Server
Ubuntu 22.04 WSL镜像(可选)
打开PowerShell(管理员模式)
按 Win + X 键,选择"Windows PowerShell (管理员)"或"终端 (管理员)"
启用WSL功能
wsl --install如果提示需要重启,请重启电脑
下载Ubuntu 22.04
打开Microsoft Store
搜索"Ubuntu 22.04"
点击"获取"或"安装"
启动Ubuntu
在开始菜单找到"Ubuntu 22.04 LTS"并打开
设置用户名(建议:yushu)和密码(建议:12345678)
等待初始化完成
下载Ubuntu 22.04 WSL镜像
或使用本项目中已备份的镜像:d:\yushu\jiqigou\wsl\ubuntu-22.04-wsl.tar.gz
导入镜像
xxxxxxxxxxwsl --import Ubuntu-22.04 d:\wsl\Ubuntu-22.04 d:\yushu\jiqigou\wsl\ubuntu-22.04-wsl.tar.gz --version 2设置默认用户
xxxxxxxxxxwsl -d Ubuntu-22.04 -u root在Ubuntu中执行:
xxxxxxxxxxuseradd -m -s /bin/bash yushuecho "yushu:12345678" | chpasswdusermod -aG sudo yushuecho "[user]" > /etc/wsl.confecho "default=yushu" >> /etc/wsl.confexit重启WSL:
xxxxxxxxxxwsl --shutdownxxxxxxxxxxsudo apt update && sudo apt upgrade -yxxxxxxxxxxsudo apt install -y git python3-pip vimxxxxxxxxxxcd ~git clone https://gitcode.com/gh_mirrors/un/unitree_mujoco.gitgit clone https://gitcode.com/gh_mirrors/un/unitree_sdk2_python.gitxxxxxxxxxxpip3 install mujoco pygamexxxxxxxxxxcd ~/unitree_sdk2_pythonpip3 install -e .xxxxxxxxxxsudo apt install -y libgl1-mesa-glx libgl1-mesa-dri libosmesa6 mesa-utils libegl1-mesa-dev测试MuJoCo是否正常:
xxxxxxxxxxpython3 -c "import mujoco; print('MuJoCo version:', mujoco.__version__)"测试pygame是否正常:
xxxxxxxxxxpython3 -c "import pygame; print('pygame version:', pygame.__version__)"测试unitree_sdk2py是否正常:
xxxxxxxxxxpython3 -c "import unitree_sdk2py; print('unitree_sdk2py OK')"xxxxxxxxxxcd ~/unitree_mujoco/simulate_pythoncat config.pyxxxxxxxxxxROBOT = "go2" # 机器人型号ROBOT_SCENE = "../unitree_robots/" + ROBOT + "/scene_terrain.xml"DOMAIN_ID = 1 # DDS域IDINTERFACE = "lo" # 网络接口USE_JOYSTICK = 1 # 使用游戏手柄JOYSTICK_TYPE = "xbox" # 手柄类型PRINT_SCENE_INFORMATION = TrueENABLE_ELASTIC_BAND = FalseSIMULATE_DT = 0.005VIEWER_DT = 0.02xxxxxxxxxx# 查找Windows主机IP(在PowerShell中执行)ipconfig# 找到"IPv4 地址",例如:192.168.43.182在Ubuntu中创建配置文件:
xxxxxxxxxxsudo nano /etc/profile.d/display.sh添加以下内容(将IP替换为你的Windows主机IP):
xxxxxxxxxxexport DISPLAY=192.168.43.182:0.0保存并退出(按 Ctrl+O 保存,Ctrl+X 退出),然后设置权限:
xxxxxxxxxxsudo chmod +x /etc/profile.d/display.sh点击绿色的"Download"按钮
下载完成后运行安装程序
双击下载的安装程序
保持默认设置,一路点击"Next"
点击"Install"开始安装
安装完成后点击"Finish"
在开始菜单找到并打开XLaunch
选择显示设置
选择"Multiple windows"或"One large window"
点击"Next"
选择启动客户端
选择"Start no client"
点击"Next"
额外设置(重要!)
☑️ 勾选 "Disable access control" ← 必须勾选!
☐ 取消勾选 "Native opengl" ← 必须取消!
点击"Next"
保存配置(可选)
点击"Save configuration"保存为config.xlaunch
点击"Finish"
保持XLaunch运行
XLaunch窗口保持打开状态(会显示在系统托盘)
在WSL中执行:
xxxxxxxxxxcd ~/unitree_mujoco/simulate_pythonexport MUJCO_EGL=1python3 unitree_mujoco.py确保XLaunch正在运行,然后:
xxxxxxxxxxsource /etc/profile.d/display.shcd ~/unitree_mujoco/simulate_pythonpython3 unitree_mujoco.pyxxxxxxxxxxpygame 2.6.1 (SDL 2.28.4, Python 3.10.12)Hello from the pygame community!No gamepad detected.
Go2机器狗应该会出现在VcXsrv窗口中!
现象:Microsoft Store无法打开或下载失败
解决方案:
使用方法2手动导入WSL镜像
或使用winget安装:
xxxxxxxxxxwinget install --id Canonical.Ubuntu.22.04现象:克隆GitHub仓库时速度慢或失败
解决方案:
使用国内镜像站
xxxxxxxxxxgit clone https://gitcode.com/gh_mirrors/un/unitree_mujoco.gitgit clone https://gitcode.com/gh_mirrors/un/unitree_sdk2_python.git现象:安装Python包时速度慢或失败
解决方案:
使用国内镜像源
xxxxxxxxxxpip3 install mujoco pygame -i https://pypi.tuna.tsinghua.edu.cn/simple现象:
xxxxxxxxxxE: Could not get lock /var/lib/dpkg/lock-frontend
解决方案:
等待其他apt进程完成,或:
xxxxxxxxxxsudo rm -f /var/lib/dpkg/lock-frontend /var/lib/dpkg/lock /var/cache/apt/archives/locksudo dpkg --configure -a现象:
xxxxxxxxxx/usr/local/lib/python3.10/dist-packages/glfw/__init__.py:917: GLFWError: (65542) b'GLX: Failed to load GLX'ERROR: could not create window
解决方案:
使用EGL渲染器
xxxxxxxxxxexport MUJCO_EGL=1python3 unitree_mujoco.py现象:
xxxxxxxxxxAuthorization required, but no authorization protocol specifiedX11: Failed to open display
解决方案:
确保XLaunch正在运行
确保XLaunch配置中勾选了"Disable access control"
检查DISPLAY环境变量配置是否正确
尝试使用localhost地址:
xxxxxxxxxxexport DISPLAY=localhost:0.0现象:
xxxxxxxxxxERROR: could not initialize GLFW
解决方案:
检查XLaunch是否正常运行
使用EGL渲染器:export MUJCO_EGL=1
安装OpenGL库:
xxxxxxxxxxsudo apt install -y libgl1-mesa-dev libegl1-mesa-dev现象:
xxxxxxxxxxbash: python3: command not found
解决方案:
xxxxxxxxxxsudo apt install -y python3 python3-pip现象:X连接超时或被拒绝
解决方案:
打开Windows Defender防火墙
点击"允许应用通过防火墙"
找到VcXsrv或XLaunch,确保已勾选"专用"和"公用"网络
或临时关闭防火墙测试
现象:
xxxxxxxxxxNo gamepad detected.
说明:这不是错误,只是提示没有检测到游戏手柄。仿真器仍可正常运行,只是无法用手柄控制机器人。
项目根目录: d:\yushu\
WSL镜像备份: d:\yushu\jiqigou\wsl\ubuntu-22.04-wsl.tar.gz
测试脚本: d:\yushu\jiqigou\test_sdk.py
用户主目录: /home/yushu/
unitree_mujoco: /home/yushu/unitree_mujoco/
unitree_sdk2_python: /home/yushu/unitree_sdk2_python/
仿真器配置: /home/yushu/unitree_mujoco/simulate_python/config.py
DISPLAY配置: /etc/profile.d/display.sh
创建一个快速启动脚本:
xxxxxxxxxxnano ~/start_simulation.sh添加内容:
xxxxxxxxxxsource /etc/profile.d/display.shcd ~/unitree_mujoco/simulate_pythonexport MUJCO_EGL=1echo "Starting Unitree Go2 simulation..."python3 unitree_mujoco.py设置执行权限:
xxxxxxxxxxchmod +x ~/start_simulation.sh以后运行只需:
xxxxxxxxxx~/start_simulation.sh项目提供了两个运动控制脚本,位于 D:\yushu\jiqigou\ 目录:
文件:go2_motion_control.py
启动方式:
x# 终端1:启动仿真器cd ~/unitree_mujoco/simulate_pythonexport MUJCO_EGL=1python3 unitree_mujoco.py
# 终端2:启动菜单控制python3 ~/go2_motion_control.py文件:go2_keyboard_control.py
启动方式:
xxxxxxxxxx# 终端1:启动仿真器cd ~/unitree_mujoco/simulate_pythonexport MUJCO_EGL=1python3 unitree_mujoco.py
# 终端2:启动键盘控制python3 ~/go2_keyboard_control.py详细使用说明请参考 D:\yushu\jiqigou\GO2_CONTROL_GUIDE.md
基础动作:站立、趴下、平衡站立、恢复站立
基本运动:前进、后退、左转、右转、左右平移
步态切换:静态走、小跑、自由走、自由跳跃
特殊动作:伸展、比心、舞蹈1、舞蹈2、擦地
极限动作:前翻、后翻、左翻、前跳、前扑、倒立
宇树官方文档:https://docs.unitree.com/
MuJoCo文档:https://mujoco.readthedocs.io/
本教程仅供学习使用。
祝学习愉快!🎉🐕
最后更新: 2026-06-02