Open Source Robotics

精选高质量开源机器人项目、工具和软件,推动机器人社区发展。

Reduced Coordinates

  • 又称: minimal coordinates, joint coordinates
  • 类别: Software & tooling › Simulation & twins
  • 标签: physics-simulation, rigid-body-dynamics, multibody-systems, kinematics, simulation

一种只用关节变量来描述带关节机构的方式,使关节在构造上就保持连接,而不是作为自由物体之间的约束来强制满足。

定义

机械臂这类多体系统大致可以用两种方式进行仿真。在最大坐标(maximal coordinates)中,每个连杆都是具有六个自由度的自由刚体,关节则作为约束加入,求解器必须在每一步强制满足这些约束。在约化坐标(reduced coordinates)中,系统只用其关节变量来描述,例如关节角和移动关节的位移,对于浮动基座机器人还要加上基座的位姿。每个连杆的位姿随后通过正向运动学由这些变量计算得到,因此关节不可能分开:约束在构造上就自动满足。

约化坐标是经典机器人动力学算法的自然框架。递归牛顿-欧拉算法(recursive Newton-Euler algorithm)、复合刚体算法和 Featherstone 的铰接体算法都直接在关节空间量上运算,计算逆动力学或正动力学所需的时间随连杆数量线性或接近线性地增长。运动方程采用常见的形式 M(q) q̈ + C(q, q̇) q̇ + g(q) = τ,可以直接对应到机器人控制上。采用这种方法的仿真器包括 MuJoCo、Drake、基于 Pinocchio 的工具,以及 PhysX 和 Bullet 中的 articulation 类型;例如,Isaac Gym 把每个机器人都作为 PhysX 约化坐标 articulation 来仿真。

其主要优点是长链条的精度和稳定性:没有关节漂移或关节拉伸,关节限位和驱动作用在实际的关节变量上,需要积分的变量也更少。其局限在于结构必须是一棵运动学树,因此四连杆机构或并联机器人等闭环需要额外的闭环约束,而且与环境的接触仍然必须作为约束或罚力来处理。最大坐标在游戏物理以及松散连接的物体中仍然很常见,因为它简单且易于并行化。

为何重要

仿真器如何表示机器人,会影响关节在大载荷下是否保持连接、可以使用多大的时间步长,以及仿真的关节动力学与控制器的模型有多接近。了解一个工具使用的是约化坐标还是最大坐标,可以解释不同物理引擎之间在稳定性、性能和建模选项上的许多差异。

主要应用

  • 机械臂、足式机器人和人形机器人的物理仿真
  • 用于控制和模型预测控制的刚体动力学库
  • 用于强化学习的 GPU 并行仿真
  • 使用关节空间动力学模型的轨迹优化
  • 铰接系统的可微仿真

实际应用

一位工程师把一个人形机器人的 URDF 导入 GPU 仿真器进行强化学习。作为约化坐标 articulation 加载后,机器人的状态是基座位姿和速度,加上每个关节的一个位置和一个速度,这些可以直接对应到观测向量以及策略输出的关节 PD 目标。此前同一个模型由通过关节约束连接的独立刚体搭建时,膝关节在剧烈落地时明显分离,而且需要多得多的求解器迭代次数。该机器人还有一个闭链踝关节连杆机构;由于 articulation 必须是树,工程师把它建模为一棵带有一个额外闭环约束的树,并检查由此得到的关节力矩限制是否与真实机构一致。

常见误解

  • 约化坐标和最大坐标建模的是不同的物理 — 理想情况下两者描述相同的动力学;差异来自数值求解、漂移和约束刚度
  • 约化坐标可以直接表示任何机构 — 并联机器人和连杆机构中的闭合运动链需要额外的闭环约束
  • 使用约化坐标就不需要约束求解器 — 接触、关节限位和闭环仍然是必须求解的约束

谁需要了解

  • 仿真和物理引擎开发人员
  • 使用 GPU 仿真器的机器人学习工程师
  • 使用刚体动力学库的控制工程师
  • 准备 URDF 和 MJCF 文件等机器人模型的工程师

相关技术

  • PhysX Articulations
  • MuJoCo
  • Pinocchio
  • Drake
  • 递归牛顿-欧拉算法(Recursive Newton-Euler Algorithm)

相关术语

  • Articulated Body Algorithm
  • DOF
  • Configuration Space
  • URDF
  • Forward Kinematics
  • Differentiable Simulation

相关项目

  • GENESIS: World's fastest physics engine: 43M FPS for embodied AI learning
  • LeRobot: HuggingFace ML library for real-world robotics in PyTorch
  • PyBullet: Python physics simulator for robotics and RL research with fast CPU-based simulation
  • RLinf: Scalable infrastructure for post-training foundation models via RL
  • Webots: Cross-platform robot simulator with built-in models, sensors, and development environment
  • NVIDIA Isaac Sim: NVIDIA Omniverse app for AI-driven robot simulation and testing

本网站需要 JavaScript 才能正常运行。请启用 JavaScript 以浏览我们的开源机器人项目。