2. 机器人建模基础

机器人优化控制与模型预测控制都建立在“可计算的模型”之上。若模型不能准确描述关节、连杆、末端执行器之间的运动与受力关系,再先进的优化器也只能在错误的地图上寻找最优解。本节围绕刚体运动学、动力学建模方法、状态空间表示、拉格朗日方程与牛顿-欧拉方程展开,目标是建立从几何描述到动力学方程、再到控制器可用状态空间模型的完整链路。

一、刚体运动学:先解决“在哪里、朝哪里”

刚体运动学描述机器人各连杆的位置、姿态及其随时间的变化,不涉及质量与力。对串联机械臂而言,常用关节变量 q 表示各旋转或移动关节,通过正运动学得到末端位姿:

正运动学:T_0n(q) = T_01(q1) · T_12(q2) · … · T_(n-1)n(qn)
其中 T 为 4×4 齐次变换矩阵,包含旋转矩阵 R 与平移向量 p。

逆运动学则根据期望末端位姿求解关节角,常存在多解、无解或奇异问题。速度层面用雅可比矩阵 J(q) 建立关节速度与末端速度的关系:ẋ = J(q)q̇。雅可比矩阵不仅用于速度映射,还决定奇异位形、力传递和后续动力学中的科氏项与离心项。对移动机器人,运动学还包含非完整约束,例如差速轮式底盘的横向速度为零。

二、动力学建模:从能量与力两条路径出发

机器人动力学研究关节力矩与运动状态之间的关系。通用形式可写为:

M(q)q̈ + C(q,q̇)q̇ + G(q) + F(q̇) = τ
M(q):惯性矩阵;C(q,q̇)q̇:科氏力与离心力;G(q):重力项;
F(q̇):摩擦项;τ:关节驱动力矩。

建立该方程主要有两类方法:拉格朗日方程从能量角度出发,牛顿-欧拉方程从力与力矩递推出发。两者在理论上等价,但计算结构与适用场景不同。

三、拉格朗日方程:能量视角的系统化推导

拉格朗日方程定义拉格朗日函数 L = K - P,其中 K 为系统动能,P 为势能。对每个广义坐标 q_i,有:

d/dt(∂L/∂q̇_i) - ∂L/∂q_i = τ_i

该方法优点是物理意义清晰、无需分析内部约束力,适合推导多连杆机械臂的闭式动力学模型。缺点是随着自由度增加,符号推导量迅速膨胀,且对实时控制而言计算量较大。实际工程中常先用拉格朗日法获得结构形式,再通过参数辨识或递归算法降低在线计算负担。

四、牛顿-欧拉方程:递推视角的高效计算

牛顿-欧拉法将机器人视为多刚体系统,先向外递推各连杆的速度与加速度,再向内递推力与力矩,最终得到关节力矩。其核心是牛顿方程 F = ma 与欧拉方程 N = Iω̇ + ω × Iω。相比拉格朗日法,牛顿-欧拉递推算法计算复杂度为 O(n),更适合实时控制与高自由度机器人。

选择建议:教学与结构分析优先拉格朗日法,便于理解能量与耦合项;实时控制、仿真与高自由度系统优先牛顿-欧拉递推,便于数值实现。

五、状态空间表示:把模型交给控制器

优化控制与 MPC 通常要求模型写成状态空间形式。令状态 x = [q; q̇],输入 u = τ,则机器人动力学可写为:

ẋ = f(x,u) = [ q̇ ; M(q)^(-1)(u - C(q,q̇)q̇ - G(q) - F(q̇)) ]

若在工作点附近线性化,可得到线性状态空间模型 ẋ = Ax + Bu,用于线性 MPC 或 LQR。非线性 MPC 则直接使用上述非线性模型,通过滚动时域优化求解控制序列。状态空间表示的关键在于状态量选择、输入量定义、输出量定义以及离散化步长。

机器人建模基础:从运动学到状态空间 刚体运动学 正/逆运动学 雅可比 J(q) 动力学建模 M(q)q̈ + Cq̇ + G = τ 惯性/科氏/重力/摩擦 状态空间表示 x = [q; q̇] ẋ = f(x,u) 优化控制 MPC / LQR 滚动优化 拉格朗日方程 L = K - P d/dt(∂L/∂q̇) - ∂L/∂q = τ 能量视角 · 结构清晰 · 推导量大 牛顿-欧拉方程 F = ma,N = Iω̇ + ω × Iω 外推速度 → 内推力/力矩 递推视角 · O(n) · 适合实时 统一动力学模型 M(q)q̈ + C(q,q̇)q̇ + G(q) + F(q̇) = τ → 状态空间 → 优化控制与 MPC

六、案例与场景:二连杆机械臂建模

以平面二连杆机械臂为例,设连杆长度 l1、l2,质量 m1、m2,关节角 q1、q2。其惯性矩阵可写为:

M11 = m1 l1² + m2(l1² + l2² + 2 l1 l2 cos q2) + I1 + I2
M12 = m2(l2² + l1 l2 cos q2) + I2
M22 = m2 l2² + I2
C 项包含 q̇2 与 sin q2 的耦合,重力项 G 与 cos(q1)、cos(q1+q2) 有关。

若采用牛顿-欧拉递推,则从基座向末端依次计算各连杆角速度、角加速度与线加速度,再反向计算关节力矩。两种方法得到相同结果,但牛顿-欧拉更适合写成循环程序,拉格朗日更适合分析耦合结构。

七、常见误区与复盘

误区 表现 修正方法
忽略科氏力与离心力 高速运动时轨迹跟踪误差大 保留 C(q,q̇)q̇ 项,或使用前馈补偿
把运动学模型直接当动力学模型 MPC 预测与实际力矩响应不符 补充 M、C、G、F 项并辨识参数
状态量选择不完整 控制器无法同时约束位置与速度 使用 x = [q; q̇],必要时扩展执行器状态
线性化范围过大 大范围运动时线性 MPC 失效 缩小工作点范围或采用非线性 MPC

建模检查清单:① 坐标系与 DH/POE 参数是否一致;② 质量、质心、惯量参数是否辨识;③ 摩擦与关节柔顺是否建模;④ 状态空间离散化步长是否满足实时性;⑤ 模型验证是否覆盖低速、高速与负载变化场景。

注意:拉格朗日方程与牛顿-欧拉方程不是两套互斥理论,而是同一动力学规律的两种推导路径。工程实现中常以拉格朗日法获得解析结构,以牛顿-欧拉递推完成实时计算,再统一写入状态空间模型供 MPC 使用。

综上,机器人建模基础的核心链路是:刚体运动学提供几何与速度映射,动力学建模给出力矩与运动的关系,拉格朗日方程与牛顿-欧拉方程分别从能量和力递推角度建立模型,最终统一为状态空间形式,成为优化控制与模型预测控制的预测模型。只有把这条链路打通,后续的约束处理、滚动优化与稳定性分析才有可靠基础。