PART 02 · CHAPTER 10

动力学:力矩怎样变成运动

一句话理解

运动学只描述“怎样动”,动力学继续回答“要多大的力才能这样动,以及施力后会怎样动”。

约 1,935 字约 5 分钟4 个来源3 幅教学图

从几何进入物理

让机械臂保持一个姿态时,电机需要抵抗重力;快速抬臂时,还要克服惯性、关节耦合与摩擦;末端推墙时,环境反力会沿机构传回各关节。动力学把这些因素写进同一模型:

\[\mathbf M(\mathbf q)\ddot{\mathbf q} +\mathbf C(\mathbf q,\dot{\mathbf q})\dot{\mathbf q} +\mathbf g(\mathbf q) +\boldsymbol\tau_f =\boldsymbol\tau+\mathbf J^T(\mathbf q)\mathbf F_{\mathrm{ext}}.\]

\(\mathbf q,\dot{\mathbf q},\ddot{\mathbf q}\) 分别是关节位置、速度和加速度;\(\mathbf M\) 是质量矩阵,描述构型相关的惯性;\(\mathbf C\dot{\mathbf q}\) 汇集科里奥利力和离心力;\(\mathbf g\) 是重力项;\(\boldsymbol\tau_f\) 是摩擦等未完全理想的内力;\(\boldsymbol\tau\) 是执行器输出的关节力矩;\(\mathbf J^T\mathbf F_{\mathrm{ext}}\) 是外部接触力映射到关节后的效果。

质量矩阵中的关节项彼此耦合。挥动肩关节会带动整条手臂,改变肘部看到的负载;机械臂伸直和收拢时,即使总质量相同,转动惯量也不同。\(\mathbf M\) 对物理合理的刚体系统应对称正定,这意味着任何非零加速度方向都需要正的动能。

拉格朗日法:从能量得到方程

对广义坐标 \(\mathbf q\),先计算动能 \(K(\mathbf q,\dot{\mathbf q})\) 与势能 \(P(\mathbf q)\),定义拉格朗日量 \(L=K-P\)。每个关节满足

FIGURE 01一条机械臂上的动力学项重力惯性项外部接触力关节力矩动力学项会随构型、速度和接触共同变化。
图 1 电机力矩同时支付加速、重力、摩擦和外部接触的成本。
\[\frac{d}{dt}\frac{\partial L}{\partial \dot q_i} -\frac{\partial L}{\partial q_i}=\tau_i.\]

这个公式的直觉是:系统运动由能量随构型和速度的变化决定,外部广义力矩改变这种变化。它适合推导低自由度机构,能清楚揭示能量结构。自由度增加后,手工展开会非常繁琐,实际软件常用递归牛顿—欧拉算法计算逆动力学,或用关节空间惯量算法计算正动力学。

逆动力学输入期望的 \(\mathbf q,\dot{\mathbf q},\ddot{\mathbf q}\),求需要的力矩 \(\boldsymbol\tau\);正动力学输入当前状态和力矩,求加速度:

\[\ddot{\mathbf q}=\mathbf M^{-1} \bigl(\boldsymbol\tau+\mathbf J^T\mathbf F_{\mathrm{ext}} -\mathbf C\dot{\mathbf q}-\mathbf g-\boldsymbol\tau_f\bigr).\]

仿真器需要不断算正动力学,控制器常用逆动力学做前馈。两者共享模型参数:连杆质量、质心、惯量张量、传动比和摩擦。

接触让机器人变成混合动力系统

机器人一旦接触地面或物体,运动受到约束。若接触点不允许穿透表面,可把约束写为 \(\boldsymbol\phi(\mathbf q)=0\)。加速度层满足

FIGURE 02正动力学与逆动力学当前状态正动力学加速度与下一状态期望轨迹逆动力学力矩正逆动力学使用同一模型,方向相反。
图 2 仿真预测动作结果,控制计算实现动作所需的力。
\[\mathbf J_c\ddot{\mathbf q}+\dot{\mathbf J}_c\dot{\mathbf q}=\mathbf 0,\]

\(\mathbf J_c\) 是接触雅可比。动力学中增加接触力 \(\boldsymbol\lambda\)

\[\mathbf M\ddot{\mathbf q}+\mathbf h =\mathbf S^T\boldsymbol\tau+\mathbf J_c^T\boldsymbol\lambda,\]

其中 \(\mathbf h\) 汇集速度相关项和重力,\(\mathbf S\) 选择真正有执行器驱动的自由度。腿式机器人的机身在空间中有六个浮动基座自由度,没有电机直接推动,只能通过脚与地面的接触力改变运动,因此 \(\mathbf S\) 很重要。

库仑摩擦常用摩擦锥近似:切向力大小不超过法向力乘以摩擦系数,即 \(\|\mathbf f_t\|\le\mu f_n\)。若规划器要求的水平力超出摩擦锥,脚会滑;若法向力变成负值,意味着模型要求地面“拉住”脚,这在普通接触中不可能。走路和抓取中的很多失败,实质是接触假设失效。

模型辨识与模型误差

CAD 给出的质量与质心只是起点。线缆、夹爪、相机和负载都会改变动力学;减速器摩擦、背隙、柔性和温度难以精确建模。动力学参数常能写成对参数向量 \(\boldsymbol\theta\) 线性的形式:

FIGURE 03接触力的可行区域μ可行合力超界合力接触面控制器不能要求环境产生物理上不存在的接触力。
图 3 摩擦锥给出不滑动接触能够提供的力。
\[\boldsymbol\tau=\mathbf Y(\mathbf q,\dot{\mathbf q},\ddot{\mathbf q})\boldsymbol\theta,\]

\(\mathbf Y\) 是由运动数据构造的回归矩阵,\(\boldsymbol\theta\) 包含质量、质心和惯量等组合。通过激励丰富的轨迹采集力矩数据,可以最小二乘估计参数。轨迹若只在很小范围慢速运动,一些参数彼此无法区分,这属于可辨识性不足。

动力学模型的用途决定所需精度。做低速位置控制时,准确重力补偿常已很有价值;做高速全身运动,惯量与接触模型更关键;用电机电流估计外力时,摩擦模型误差会直接伪装成“接触力”。

工程例子:机械臂换了夹具后开始下垂

生产线给机械臂换上更重的吸盘,位置控制仍能到点,但靠近水平伸展姿态时误差变大,电机发热。原因可能是控制器仍使用旧负载模型,重力前馈不足,反馈积分项长期补偿静差。短时看任务完成,长期会降低跟踪性能并增加热负荷。

处理顺序是先确认工具质量、质心和惯量参数,再做安全范围内的重力补偿验证;随后观察各姿态下的残余力矩,必要时辨识摩擦。若只增大位置增益,刚度上升会放大噪声和碰撞冲击,且不能解决热负荷根因。模型更新后仍需保留反馈,因为工件重量变化和线缆拖拽不会完全消失。

深入阅读