《机器人动力学与控制》第九章——动力学 9.5 机器人动力学方程的性质

9.5.0 前言

随着关节数目的增加,一个多关节机器人的动力学方程可能会变得非常可怕。但幸运的是,动力学方程里面包含了一些重要的结构性质,这些性质可以给后面推导控制算法带来很大的便利。我们会在接下来的内容里看到这些优点。本节我们将会讨论其中的一些性质,包括反对称性质,被动性质以及参数的线性特征。对于转动关节机器人,惯量矩阵也满足了一些对设计控制算法有帮助的全局特征。

9.5.1 反对称性和无源性

反对称性

反对称性质指的是惯量矩阵 D ( q ) D(q) D(q)与矩阵 C ( q , q ˙ ) C(\boldsymbol{q}, \dot{\boldsymbol{q}}) C(q,q˙)之间的一种重要的关系,该性质定义如下
在这里插入图片描述
证明:
给定一个惯量矩阵 D ( q ) D(q) D(q),根据求导的链式法则,得到 D ˙ ( q ) \dot{D}(q) D˙(q)的第 k j kj kj 个元素为
d ˙ k j = ∑ i = 1 n ∂ d k j ∂ q i q ˙ i \dot{d}_{k j}=\sum_{i=1}^{n} \frac{\partial d_{k j}}{\partial q_{i}} \dot{q}_{i} d˙kj=i=1nqidkjq˙i
因此, N = D ˙ − 2 C N=\dot{D}-2 C N=D˙2C的第 k j kj kj 个元素为:
n k j = d ˙ k j − 2 c k j = ∑ i = 1 n [ ∂ d k j ∂ q i − { ∂ d k j ∂ q i + ∂ d k i ∂ j − ∂ d i j ∂ q k } ] q ˙ i = ∑ i = 1 n [ ∂ d i j ∂ q k − ∂ d k i ∂ q j ] q ˙ i \begin{aligned} n_{k j} &=\dot{d}_{k j}-2 c_{k j} \\ &=\sum_{i=1}^{n}\left[\frac{\partial d_{k j}}{\partial q_{i}}-\left\{\frac{\partial d_{k j}}{\partial q_{i}}+\frac{\partial d_{k i}}{\partial_{j}}-\frac{\partial d_{i j}}{\partial q_{k}}\right\}\right] \dot{q}_{i} \\ &=\sum_{i=1}^{n}\left[\frac{\partial d_{i j}}{\partial q_{k}}-\frac{\partial d_{k i}}{\partial q_{j}}\right] \dot{q}_{i} \end{aligned} nkj=d˙kj2ckj=i=1n[qidkj{qidkj+jdkiqkdij}]q˙i=i=1n[qkdijqjdki]q˙i
由于 D ( q ) D(q) D(q)是对称的,也就是说 d i j = d j i , d_{i j}=d_{j i}, dij=dji,根据这个条件带入到式子里面很容易就能得到证明:
n j k = − n k j n_{j k}=-n_{k j} njk=nkj

无源性

与反对称性质相关的另一个性质就是无源性,正如在之前的章节里面提到的那样,无源性意味着存在一个常量 β ≥ 0 , \beta \geq 0, β0, 使得
∫ 0 T q ˙ T ( ζ ) τ ( ζ ) d ζ ≥ − β , ∀ T > 0 \int_{0}^{T} \dot{q}^{T}(\zeta) \tau(\zeta) d \zeta \geq-\beta, \quad \forall T>0 0Tq˙T(ζ)τ(ζ)dζβ,T>0
q ˙ T τ \dot{q}^{T} \tau q˙Tτ这一项单位为能量单位,因此上述表达式的左边代表了该系统在时间0到T的间隔里所消耗的能量有一个 − β -\beta β定义的下限。单词“无源性”来自于电路理论里面的无源系统(一个仅由电阻电容和电感组成的电路系统)。比如一个无源的机械系统可以有配重,弹簧和阻尼器组成。
为了证明无源性,我们用H代表系统的总能量(动能+势能)
H = 1 2 q ˙ T D ( q ) q ˙ + P ( q ) H=\frac{1}{2} \dot{q}^{T} D(q) \dot{q}+P(q) H=21q˙TD(q)q˙+P(q)因此,H的求导满足
H ˙ = q ˙ T D ( q ) q ¨ + 1 2 q ˙ T D ˙ ( q ) q ˙ + q ˙ T ∂ P ∂ q = q ˙ T { τ − C ( q , q ˙ ) − g ( q ) } + 1 2 q ˙ T D ˙ ( q ) q ˙ + q ˙ T ∂ P ∂ q \begin{aligned} \dot{H} &=\dot{q}^{T} D(q) \ddot{q}+\frac{1}{2} \dot{q}^{T} \dot{D}(q) \dot{q}+\dot{q}^{T} \frac{\partial P}{\partial q} \\ &=\dot{q}^{T}\{\tau-C(q, \dot{q})-g(q)\}+\frac{1}{2} \dot{q}^{T} \dot{D}(q) \dot{q}+\dot{q}^{T} \frac{\partial P}{\partial q} \end{aligned} H˙=q˙TD(q)q¨+21q˙TD˙(q)q˙+q˙TqP=q˙T{τC(q,q˙)g(q)}+21q˙TD˙(q)q˙+q˙TqP这里我们代入了动力学方程来消除 D ( q ) q ¨ D(q) \ddot{q} D(q)q¨项,再代入 g ( q ) = ∂ P ∂ q g(q)=\frac{\partial P}{\partial q} g(q)=qP得到 H ˙ = q ˙ T τ + 1 2 q ˙ T { D ˙ ( q ) − 2 C ( q , q ˙ ) } q ˙ = q ˙ T τ \begin{aligned} \dot{H} &=\dot{q}^{T} \tau+\frac{1}{2} \dot{q}^{T}\{\dot{D}(q)-2 C(q, \dot{q})\} \dot{q} \\ &=\dot{q}^{T} \tau \end{aligned} H˙=q˙Tτ+21q˙T{D˙(q)2C(q,q˙)}q˙=q˙Tτ第二项为0是因为括号里由反对称矩阵的特性(为什么等于0的细节我还未弄清楚)。因为能量H(T)至少为0,因此最后两边求导得到
∫ 0 T q ˙ T ( ζ ) τ ( ζ ) d ζ = H ( T ) − H ( 0 ) ≥ − H ( 0 ) \int_{0}^{T} \dot{q}^{T}(\zeta) \tau(\zeta) d \zeta=H(T)-H(0) \geq-H(0) 0Tq˙T(ζ)τ(ζ)dζ=H(T)H(0)H(0)

9.5.2 惯量矩阵的限制条件

前面我们已经知道一个n关节的刚体机器人的惯量矩阵是对称的正定矩阵。对于一个定值 q,假设 0 < λ 1 ( q ) ≤ … , ≤ 0<\lambda_{1}(q) \leq \ldots, \leq 0<λ1(q), λ n ( q ) \lambda_{n}(q) λn(q)代表 D ( q ) D(q) D(q)的n个特征值。由于 D ( q ) D(q) D(q)是正定矩阵,因此这些所有特征值都为正。因此很容易得到:
λ 1 ( q ) I n × n ≤ D ( q ) ≤ λ n ( q ) I n × n \lambda_{1}(q) I_{n \times n} \leq D(q) \leq \lambda_{n}(q) I_{n \times n} λ1(q)In×nD(q)λn(q)In×n这里的 I n × n I_{n \times n} In×n 代表 n × n n \times n n×n 的单位矩阵。要理解上述不等式,我们需要给出以下定义:

  1. A和B是nxn的矩阵,如果B<A,那么A-B是正定矩阵
  2. 如果B<=A,那么A-B是半正定矩阵

如果全部关节都是转动关节,那么惯量矩阵仅仅包含关节变量的有界方程(例如:sin和cos项)。结果就是我们可以找到两个常数构成 D ( q ) D(q) D(q)的上下界:
λ m I n × n ≤ D ( q ) ≤ λ M I n × n < ∞ \lambda_{m} I_{n \times n} \leq D(q) \leq \lambda_{M} I_{n \times n}<\infty λmIn×nD(q)λMIn×n<

9.5.3 参数的线性性质

机器人的动力学方程由一些特定的参数构成,比如连杆质量,惯量矩等等,要使用这些参数去仿真动力学方程或者调试控制器,我们需要对于每个特定的机器人仔细地考究其动力学参数。动力学方程的复杂性使得这些参数的确定变得十分困难。幸运的是,某些条件下动力学方程的惯量参数可以看成是线性的。因此存在一个 n × ℓ n \times \ell n×的矩阵方程 Y ( q , q ˙ , q ¨ ) Y(q, \dot{q}, \ddot{q}) Y(q,q˙,q¨) ℓ \ell 维的向量使得之前的欧拉拉格朗日动力学方程可以改写为:
D ( q ) + C ( q , q ˙ ) q ˙ + g ( q ) = : Y ( q , q ˙ , q ¨ ) Θ = τ D(q)+C(q, \dot{q}) \dot{q}+g(q)=: Y(q, \dot{q}, \ddot{q}) \Theta=\tau D(q)+C(q,q˙)q˙+g(q)=:Y(q,q˙,q¨)Θ=τ
Y ( q , q ˙ , q ¨ ) Y(q, \dot{q}, \ddot{q}) Y(q,q˙,q¨)项被称为回归矩阵, Θ \Theta Θ是参数向量。 R ℓ \mathbf{R}^{\ell} R是参数空间的维度,也就是说要表达动力学方程,所需要的参数的个数并不是唯一的。一般来说,一个给定刚体需要用10个参数来描述:总质量、6个惯性张量的项以及3个质心坐标项。因此一个n连杆的机器人最多需要用10n个动力学参数来完全描述。由于连杆之间由于关节的连接有一定的耦合关系,所以少过10n个参数有时也能完全描述一个机器人。但是找到机器人的最少参数集也不是件容易的事情。我们来举个例子:

例9.3 双连杆平面机器人

考虑例 9.4.2 里说到的双关节机器人。我们已经得到d的表达式
d 11 = m 1 ℓ c 1 2 + m 2 ( ℓ 1 2 + ℓ c 2 2 + 2 ℓ 1 ℓ c 2 2 + 2 ℓ 1 ℓ c 2 cos ⁡ q 2 ) + I 1 + I 2 d 12 = d 21 = m 2 ( ℓ c 2 2 + ℓ 1 ℓ c 2 cos ⁡ q 2 ) + I 2 d 22 = m 2 ℓ c 2 2 + I 2 \begin{aligned} d_{11} &=m_{1} \ell_{c 1}^{2}+m_{2}\left(\ell_{1}^{2}+\ell_{c 2}^{2}+2 \ell_{1} \ell_{c 2}^{2}+2 \ell_{1} \ell_{c 2} \cos q_{2}\right)+I_{1}+I_{2} \\ d_{12} &=d_{21}=m_{2}\left(\ell_{c 2}^{2}+\ell_{1} \ell_{c 2} \cos q_{2}\right)+I_{2} \\ d_{22} &=m_{2} \ell_{c 2}^{2}+I_{2} \end{aligned} d11d12d22=m1c12+m2(12+c22+21c22+21c2cosq2)+I1+I2=d21=m2(c22+1c2cosq2)+I2=m2c22+I2
因此如果取Θ满足:
Θ 1 = m 1 ℓ c 1 2 + m 2 ( ℓ 1 2 + ℓ c 2 2 + 2 ℓ 1 ℓ c 2 2 ) + I 1 + I 2 Θ 2 = m 2 ℓ 1 ℓ c 2 Θ 3 = m 2 ℓ c 2 2 + I 2 \begin{aligned} \Theta_{1} &=m_{1} \ell_{c 1}^{2}+m_{2}\left(\ell_{1}^{2}+\ell_{c 2}^{2}+2 \ell_{1} \ell_{c 2}^{2}\right)+I_{1}+I_{2} \\ \Theta_{2} &=m_{2} \ell_{1} \ell_{c 2} \\ \Theta_{3} &=m_{2} \ell_{c 2}^{2}+I_{2} \end{aligned} Θ1Θ2Θ3=m1c12+m2(12+c22+21c22)+I1+I2=m21c2=m2c22+I2
那么 d d d 的表达式可以重写为
d 11 = Θ 1 + 2 Θ 2 cos ⁡ ( q 2 ) d 12 = d 21 = Θ 3 + Θ 2 cos ⁡ ( q 2 ) d 22 = Θ 3 \begin{aligned} d_{11} &=\Theta_{1}+2 \Theta_{2} \cos \left(q_{2}\right)\\ d_{12} &=d_{21}=\Theta_{3}+\Theta_{2} \cos \left(q_{2}\right) \\ d_{22} &=\Theta_{3} \end{aligned} d11d12d22=Θ1+2Θ2cos(q2)=d21=Θ3+Θ2cos(q2)=Θ3
由于 C h r i s t o f f e l Christoffel Christoffel 项也可以由已经定义的 Θ 2 \Theta_{2} Θ2 来表达,因此不需要定义多余的参数描述。重力扭矩项则需要多两个参数描述,令
Θ 4 = m 1 ℓ c 1 + m 2 ℓ 1 Θ 5 = m 2 ℓ c 2 \begin{aligned} \Theta_{4} &=m_{1} \ell_{c 1}+m_{2} \ell_{1} \\ \Theta_{5} &=m_{2} \ell_{c2} \end{aligned} Θ4Θ5=m1c1+m21=m2c2
因此得到
ϕ 1 = Θ 4 g cos ⁡ ( q 1 ) + Θ 5 g cos ⁡ ( q 1 + q 2 ) ϕ 2 = Θ 5 cos ⁡ ( q 1 + q 2 ) \begin{aligned} \phi_{1} &=\Theta_{4} g \cos \left(q_{1}\right)+\Theta_{5} g \cos \left(q_{1}+q_{2}\right) \\ \phi_{2} &=\Theta_{5} \cos \left(q_{1}+q_{2}\right) \end{aligned} ϕ1ϕ2=Θ4gcos(q1)+Θ5gcos(q1+q2)=Θ5cos(q1+q2)
把上述结果带入到动力学方程得到:
在这里插入图片描述
然后得到Θ的表达
Θ = [ Θ 1 Θ 2 Θ 3 Θ 4 Θ 5 ] = [ m 1 ℓ c 1 2 + m 2 ( ℓ 1 2 + ℓ c 2 2 + 2 ℓ 1 ℓ c 2 2 ) + I 1 + I 2 m 2 ℓ 1 ℓ c 2 m 2 ℓ c 2 2 + I 2 m 1 ℓ c 1 + m 2 ℓ 1 m 2 ℓ c 2 ] \Theta=\left[\begin{array}{c} \Theta_{1} \\ \Theta_{2} \\ \Theta_{3} \\ \Theta_{4} \\ \Theta_{5} \end{array}\right]=\left[\begin{array}{c} m_{1} \ell_{c 1}^{2}+m_{2}\left(\ell_{1}^{2}+\ell_{c 2}^{2}+2 \ell_{1} \ell_{c 2}^{2}\right)+I_{1}+I_{2} \\ m_{2} \ell_{1} \ell_{c 2} \\ m_{2} \ell_{c 2}^{2}+I_{2} \\ m_{1} \ell_{c 1}+m_{2} \ell_{1} \\ m_{2} \ell_{c2} \end{array}\right] Θ=Θ1Θ2Θ3Θ4Θ5=m1c12+m2(12+c22+21c22)+I1+I2m21c2m2c22+I2m1c1+m21m2c2
因此我们用了五个参数就描述了该机器人的动力学方程,如果该机器人水平放置变成SCARA机器人的话,那么重力项就可以忽略,仅仅需要3个参数就够了。

参数的线性性质对于机器人动力学参数的辨识十分重要

参考引用

翻译自《robot dynamics and control》
作者:Mark W Spong,Seth Hutchinson, and M. Vidyasagar

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值