Reachy Mini仿真 - 设置指南
您不需要实体机器人即可开始构建!Reachy Mini仿真运行在MuJoCo上,提供真实的物理环境来原型设计、测试和调试您的应用。
1. 安装
📋 先决条件: 在设置仿真之前,您必须首先按照**安装指南**完成基本的安装和虚拟环境设置。本指南假设您已经安装了Reachy Mini SDK并激活了虚拟环境。
仿真需要mujocopython绑定。您可以使用额外的标签[mujoco]与Reachy Mini软件一起安装它们。
使用pip运行:
pip install "reachy-mini[mujoco]"
使用uv运行:
uv pip install "reachy-mini[mujoco]"
2. 运行仿真
要启动仿真机器人,只需使用--sim标志运行守护进程命令:
reachy-mini-daemon --sim
应该会打开一个窗口,显示机器人的3D视图。您可以使用鼠标与视图交互(拖动旋转、右键平移、滚轮缩放)。
🍎 Mac用户(Apple Silicon / Intel)
在macOS上,MuJoCo需要一个特定的启动器才能与GUI正确配合工作。不是使用上面的命令,而是使用mjpython:
mjpython -m reachy_mini.daemon.app.main --sim
⚠️ macOS用户:
uv可能与macOS上的MuJoCo存在兼容性问题。如果您遇到安装或运行时问题,建议直接使用pip而不是uv来处理MuJoCo相关包。
3. Reachy Mini Control和应用
您可以使用Reachy Mini Control与仿真机器人交互。只需打开应用并连接到本地仿真。

- 应用: 您可以安装和运行应用!它们将在仿真中执行(例如,机器人将在3D查看器中移动)。
4. 场景和选项
您可以使用--scene参数自定义仿真环境。
empty(默认):只有空白中的机器人。minimal:添加桌子和一些物体(苹果、牛角面包、鸭子)玩耍。
示例:
reachy-mini-daemon --sim --scene minimal
5. 连接您的代码
仿真运行后,它的行为与通过USB连接的真实Reachy Mini Lite完全一样。守护进程在localhost上监听,您可以运行任何Python SDK脚本,无需修改:
from reachy_mini import ReachyMini
from reachy_mini.utils import create_head_pose
# 连接到localhost上运行的仿真
with ReachyMini() as mini:
print("已连接到仿真!")
# 向上看并倾斜头部
print("移动头部...")
mini.goto_target(
head=create_head_pose(z=20, roll=10, mm=True, degrees=True),
duration=1.0
)
# 摆动天线
print("摆动天线...")
mini.goto_target(antennas=[0.6, -0.6], duration=0.3)
mini.goto_target(antennas=[-0.6, 0.6], duration=0.3)
# 重置到休息位置
mini.goto_target(
head=create_head_pose(),
antennas=[0, 0],
duration=1.0
)
下一步
- Python SDK:学习移动、观看、说话和聆听。
- AI集成:连接LLM、构建应用并发布到Hugging Face。
- 核心概念:架构、坐标系统和安全限制。
❓ 故障排除
使用mjpython时出现来自libgstpython.dylib的段错误(macOS)
您可能会看到类似这样的错误:
ERROR: Caught a segmentation fault while loading plugin file:
.../gstreamer_python/lib/gstreamer-1.0/libgstpython.dylib
这个GStreamer插件段错误是一个已知问题,在真实机器人上也会发生,但它发生在并行进程中,不会造成任何可见问题。但是使用mjpython时,它会崩溃主进程。解决方法是重命名插件,使GStreamer不再加载它:
# 在您的环境中找到该文件(根据路径调整)
mv $(python -c "import gstreamer_python, pathlib; print(pathlib.Path(gstreamer_python.__file__).parent / 'lib/gstreamer-1.0/libgstpython.dylib')") \
$(python -c "import gstreamer_python, pathlib; print(pathlib.Path(gstreamer_python.__file__).parent / 'lib/gstreamer-1.0/libgstpython_.dylib')")
这只是防止GStreamer自动加载插件。它不会影响正常的音频/视频功能。
遇到其他问题了吗?👉 查看故障排除和常见问题指南