體驗使用 MuJoCo:安裝踩雷排解與 UR5e 機械手臂關節控制實測
MuJoCo(Multi-Joint dynamics with Contact)是 Google DeepMind 開源的物理模擬引擎,常用於機器人控制與強化學習研究。
這篇文章記錄安裝時遇到的 MUJOCO_PATH 錯誤排解,以及用官方的 mujoco_menagerie 模型庫載入 UR5e 機械手臂,實際測試關節控制的效果。
執行安裝
pip install mujoco
但出現錯誤
self.distribution.run_command(command)
File "C:\Users\joker0820\AppData\Local\Temp\pip-build-env-ms9arrnm\overlay\Lib\site-packages\setuptools\dist.py", line 1107, in run_command
super().run_command(command)
File "C:\Users\joker0820\AppData\Local\Temp\pip-build-env-ms9arrnm\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 1019, in run_command
cmd_obj.run()
File "C:\Users\joker0820\AppData\Local\Temp\pip-build-env-ms9arrnm\overlay\Lib\site-packages\setuptools\_distutils\command\build.py", line 135, in run
self.run_command(cmd_name)
File "C:\Users\joker0820\AppData\Local\Temp\pip-build-env-ms9arrnm\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 341, in run_command
self.distribution.run_command(command)
File "C:\Users\joker0820\AppData\Local\Temp\pip-build-env-ms9arrnm\overlay\Lib\site-packages\setuptools\dist.py", line 1107, in run_command
super().run_command(command)
File "C:\Users\joker0820\AppData\Local\Temp\pip-build-env-ms9arrnm\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 1019, in run_command
cmd_obj.run()
File "<string>", line 154, in run
File "<string>", line 168, in _find_mujoco
RuntimeError: MUJOCO_PATH environment variable is not set
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for mujoco
Failed to build mujoco
error: failed-wheel-build-for-install
× Failed to build installable wheels for some pyproject.toml based projects
╰─> mujoco
那這邊強制從 PyPI 下載預編譯的版本,就不自行編譯
pip install mujoco --only-binary :all:
啓動 MuJoCo
python -m mujoco.viewer
可看到啓動畫面

到 repo 下載模型來測試
https://github.com/google-deepmind/mujoco_menagerie.git
進入目錄 universal_robots_ur5e 并且將 scene.xml 拖曳到 MuJoCo 編輯器内,加載后出現如下:

在右側調整 elbow,則左側的模型會對應變動

而左側的 Reset 是重置回去初始狀態,而 Reload 則是會重播(某些模型會有初始播放動作)

點了 Help 這邊會彈出操作選單説明

在右側可以看到
shoulder_pan_ 4.27e-16
shoulder_lift_j 0.025
elbow_joint 0.00666
wrist_1_joint -6.95e-05
wrist_2_joint 2.2e-06
wrist_3_joint 2.56e-17
代表了
shoulder_pan — 肩部左右旋轉(繞垂直軸)
shoulder_lift — 肩部抬升(大臂上下擺)
elbow — 肘關節
wrist_1/2/3 — 手腕三個旋轉軸
MuJoCo 本身只負責"物理世界",定義了物理結構,包含
- 剛體(body)、關節(joint)、執行器(actuator)
- 執行力矩上限、齒輪比、控制類型(位置/速度/力矩)
- 碰撞集合體、摩擦係數、重力等參數
MuJoCo 引擎本身沒有獎勵機制、目標設定、成功/失敗等概念或目標設定
關於獎勵機制跟訓練後續會再加入額外文章進行説明
