MuJoCo 官方文档给出了详细介绍 MuJoCo Overview 。下面截取部分相对重要的内容翻译记录。
1. Key Feature
广义坐标 + 现代接触动力学 Generalized coordinates combined with modern contact dynamics
物理引擎传统上分为两类。1. 机器人学和生物力学引擎在广义坐标或关节坐标中使用高效准确的递归算法。然而,它们要么省略了接触动力学,要么依赖于早期的弹簧-阻尼器方法(这在仿真中需要非常小的时间步长)。2. 游戏引擎则使用一种更现代的方法,通过解决优化问题来模拟接触力。然而,它们通常采用笛卡尔坐标(注:over-specified Cartesian represenation,大概是说,仿真场景中物体的自由度大于真实世界中的自由度,再通过约束来限定关节/减小自由度),其中关节约束是数值施加的,当涉及复杂的运动学结构时,会导致仿真结果不准确、不稳定。MuJoCo 是结合了上述两类中各自优点的通用引擎:广义坐标中的仿真和基于优化的接触动力学。最近几年,其他引擎也加入了类似MuJoCo的方法(可能就是在点名PhysX),但也不太容易与它们原有的功能很好的兼容,因为这与他们最初的设计不一致(注:大概是说,其他引擎最开始是采用笛卡尔坐标的,虽然最近也支持了广义坐标下的仿真,但很难与原有的功能很好的兼容)。习惯了游戏引擎的用户,最初可能会觉得广义坐标不符合直觉(我也是这样的>_<)。
标签:engines,广义坐标,Overview,coordinates,contact,引擎,简介,MuJoCo From: https://www.cnblogs.com/wghou09/p/18387992Physics engines have traditionally separated in two categories. Robotics and biomechanics engines use efficient and accurate recursive algorithms in generalized or joint coordinates. However they either leave out contact dynamics, or rely on the earlier spring-damper approach which requires very small time-steps. Gaming engines use a more modern approach where contact forces are found by solving an optimization problem. However, they often resort to the over-specified Cartesian representation where joint constraints are imposed numerically, causing inaccuracies and instabilities when elaborate kinematic structures are involved. MuJoCo was the first general-purpose engine to combine the best of both worlds: simulation in generalized coordinates and optimization-based contact dynamics. Other simulators have more recently been adapted to use MuJoCo’s approach, but that is not usually compatible with all of their functionality because they were not designed to do this from the start. Users accustomed to gaming engines may find the generalized coordinates counterintuitive at first; see Clarifications section below.