MuJoCo 是一个免费且开源的物理引擎,旨在促进机器人、生物力学、图形和动画以及其他需要快速准确模拟的领域的研发。MuJoCo 结合了速度、准确性和建模能力,但它不仅仅是一个更好的模拟器。相反,它是第一个从头开始为基于模型的优化而设计的全功能模拟器,特别是通过接触进行优化。
特性
MuJoCo 使得扩展计算密集型技术成为可能,例如优化控制、物理一致的状态估计、系统识别和自动化机制设计,并将其应用于接触丰富的复杂动态系统。它还具有更传统的应用,例如在部署在物理机器人上的控制方案之前进行测试和验证、交互式科学可视化、虚拟环境、动画和游戏。
- 在广义坐标中进行仿真,避免关节违规
- 即使在存在接触的情况下,逆动力学也定义良好
- 通过凸优化实现约束的统一连续时间公式
- 约束包括软接触、限制、干摩擦、等式约束
- 仿真粒子系统、布料、绳索和软体物体
- 执行器包括电机、气缸、肌肉、肌腱、滑块连杆机构
- 提供牛顿法、共轭梯度法或投影高斯-塞德尔法求解器
- 提供金字塔或椭圆摩擦锥,稠密或稀疏雅可比矩阵的选择
- 提供欧拉法或龙格-库塔法数值积分器的选择
- 多线程采样和有限差分近似
- 直观的 XML 模型格式(称为 MJCF)和内置模型编译器
- 跨平台 GUI,使用 OpenGL 进行交互式 3D 可视化
- 运行时模块使用 ANSI C 编写,并经过手动优化以提高性能
安装
预编译二进制文件
推荐从GitHub发布页面下载预编译的版本(适用于Linux x86-64和AArch64、Windows x86-64和macOS通用版)。
从源码构建
如需从源码构建,请参考文档中的相关章节,注意主分支上的最新提交可能不稳定。
Python (>= 3.8)
MuJoCo的Python绑定可以通过以下命令安装:
pip install mujoco