开源MuJoCo

'开源MuJoCo' can be translated to 'Open-source MuJoCo'.

2021年10月,我们宣布我们收购了MuJoCo物理模拟器,并使其免费提供给所有人以支持全球的研究。我们还承诺将MuJoCo开发和维护为一个免费、开源、社区驱动的项目,并具备一流的功能。今天,我们非常高兴地宣布开源工作已经完成,整个代码库都在GitHub上!

在这里,我们将解释为什么MuJoCo是一个优秀的开源协作平台,并分享我们未来的路线图的预览。

一个协作平台

物理模拟器是现代机器人研究中至关重要的工具,通常可以分为以下两类:

  1. 闭源的商业软件。
  2. 开源软件,通常由学术界创建。

第一类对用户来说是不透明的,虽然有时可以免费使用,但无法修改且难以理解。第二类通常有较小的用户群体,并且在开发人员和维护者毕业后往往遭受困扰。

MuJoCo是少数几个由一家成熟公司支持的功能全面的模拟器,真正是开源的。作为一个以研究驱动的组织,我们将MuJoCo视为一个协作平台,在这里,机器人学家和工程师可以加入我们,共同开发世界上最好的机器人模拟器之一。

MuJoCo特别适合协作的特点包括:

  • 功能齐全的模拟器,可以模拟复杂的机制。
  • 可读性强、性能优越、可移植的代码。
  • 易于扩展的代码库。
  • 详细的文档:包括面向用户的文档和代码注释。

我们希望学术界和开源社区的同行们从这个平台中受益,并为代码库做出贡献,改进研究成果。

性能

MuJoCo是一个没有动态内存分配的C库,非常快速。不幸的是,由于Python包装器的存在,原始物理速度在历史上受到了限制,这使得批处理、多线程操作在性能上不佳,因为存在全局解释器锁(GIL)和非编译代码。在下面的路线图中,我们解决了这个问题。

目前,我们想分享一些常见模型的基准测试结果。这些结果是在一台标准的AMD Ryzen 9 5950X机器上,运行Windows 10操作系统下获得的。

这些数值是从我们的testspeed示例代码中获得的。值得注意的是,通过向执行器注入控制噪声,防止系统进入固定状态,因此这些数值代表了真实世界的性能表现。

路线图

以下是我们对MuJoCo的近期路线图:

  • 通过批处理、多线程模拟发挥MuJoCo的速度潜力。
  • 通过改进内部内存管理来支持更大的场景。
  • 使用更好的模型组合性的增量式编译器。
  • 通过Unity集成支持更好的渲染。
  • 原生支持物理导数,包括解析和有限差分。

了解更多

关于MuJoCo的有用资源:

  • MuJoCo的文档
  • MuJoCo在GitHub上的代码库
  • 如何贡献

我们期待收到您的贡献!