8.1 计算力矩控制
8.1.1 引言:基于模型控制的核心思想
在机器人控制领域,当任务对动态性能(如高速、高精度轨迹跟踪)的要求超越了传统PID等线性控制器能力范围时,基于模型的控制策略成为必然选择。这类控制器的核心思想是:利用机器人系统的动力学模型进行前馈补偿,主动抵消系统的非线性与耦合效应,从而使闭环系统呈现为易于控制的线性定常系统。计算力矩控制(也称逆动力学控制)是其中最具代表性、理论最清晰的方法之一。它通过实时计算逆动力学,为反馈控制器创造一个近乎“线性化”和“解耦”的被控对象,从而将复杂的机器人轨迹跟踪问题,转化为一系列简单的独立关节设定点调节问题。
8.1.2 基本原理与控制律推导
计算力矩控制建立在机器人完整动力学模型的基础之上。对于一个nnn自由度机器人,其动力学方程可表示为:
M(q)q¨+C(q,q˙)q˙+G(q)+Ff(q˙)=τ \mathbf{M}(\mathbf{q})\ddot{\mathbf{q}} + \mathbf{C}(\mathbf{q}, \dot{\mathbf{q}})\dot{\mathbf{q}} + \mathbf{G}(\mathbf{q}) + \mathbf{F}_f(\dot{\mathbf{q}}) = \boldsymbol{\tau}M(q)q¨+C(q,q˙)q˙+G(q)+Ff(q˙)=τ
其中,M(q)\mathbf{M}(\mathbf{q})M(q)为惯性矩阵,C(q,q˙)\mathbf{C}(\mathbf{q}, \dot{\mathbf{q}})C(q,q˙)代表科里奥利力和离心力项,G(q)\mathbf{G}(\mathbf{q})G(q)为重力项,Ff(q˙)\mathbf{F}_f(\dot{\mathbf{q}})Ff(q˙)为摩擦力项,τ\boldsymbol{\tau}τ为关节控制力矩。
计算力矩控制的核心是构造一个控制律,使其能够精确地抵消机器人动力学的非线性部分。其基本控制律形式如下:
τ=M^(q)a+C^(q,q˙)q˙+G^(q)+F^f(q˙) \boldsymbol{\tau} = \hat{\mathbf{M}}(\mathbf{q})\mathbf{a} + \hat{\mathbf{C}}(\mathbf{q}, \dot{\mathbf{q}})\dot{\mathbf{q}} + \hat{\mathbf{G}}(\mathbf{q}) + \hat{\mathbf{F}}_f(\dot{\mathbf{q}})τ=M^(q)a+C^(q,q˙)q˙+G^(q)+F^f(q˙)
这里,(⋅)^\hat{(\cdot)}(⋅)^表示动力学模型参数的估计值。a∈Rn\mathbf{a} \in \mathbb{R}^na∈Rn是一个新引入的虚拟控制输入,代表期望的关节加速度。
将上述控制律代入实际动力学方程,假设模型完全精确(即M^=M\hat{\mathbf{M}} = \mathbf{M}M^=M,C^=C\hat{\mathbf{C}} = \mathbf{C}C^=C,G^=G\hat{\mathbf{G}} = \mathbf{G}