具身智能新手名词表English

递归牛顿-欧拉算法

Recursive Newton-Euler AlgorithmRNEA进阶

先由基座向末端推速度加速度,再由末端往回推力,算出关节力矩的逆动力学算法。

递归牛顿-欧拉算法用来算逆动力学:已知关节位置 q、速度 q̇、加速度 q̈,求所需关节力矩 τ = M(q)q̈ + C(q,q̇)q̇ + g(q),M 是质量矩阵,C 项是科里奥利力和离心力,g 是重力项。它分两趟:前向从基座到末端,逐个连杆算速度和加速度;反向从末端回到基座,对每个连杆用牛顿-欧拉方程求它受的力和力矩,投影到关节轴上就是 τ。计算量随关节数线性增长,比展开拉格朗日方程高效得多。1980 年 Luh、Walker、Paul 的在线计算方案是其经典形式,Featherstone 用 6 维空间向量给出了统一写法。Pinocchio 的 rnea()、MuJoCo 的 mj_rne 都实现了它;把加速度设为 0 就得到重力、科氏力等偏置力,常用于重力补偿、计算力矩控制和基于模型的碰撞检测。

例子用 Pinocchio 时,pinocchio.rnea(model, data, q, v, a) 直接返回关节力矩;令 v 和 a 为零,得到的就是让机械臂在当前姿态停住所需的重力补偿力矩。

也叫
递推牛顿-欧拉算法、RNE、牛顿-欧拉逆动力学
相关
逆动力学、牛顿-欧拉方程、铰接体算法、复合刚体算法、计算力矩控制、Pinocchio
来源
Modern Robotics (Lynch & Park), Sec. 8.3 Newton–Euler Inverse Dynamics
MuJoCo Documentation: Computation(bias force via RNE with acceleration set to 0)
Pinocchio documentation(Recursive Newton-Euler algorithm, pinocchio::rnea)

在完整名词表里查看 →