《机器人动力学与控制》第九章——动力学
9.3 再看欧拉-拉格朗日运动方程
9.3.0 回顾欧拉-拉格朗日方程法
本节我们进一步推导欧拉-拉格朗日方程。首先我们回忆一下欧拉-拉格朗日方程的内容:
-
用动能与势能之差表达出拉格朗日项
-
得到关节力的表达式
9.3.1 方便计算的特殊形式
为了更好的把 9.1 节所推导的欧拉-拉格朗日方程应用在机器人上,我们可以在满足下面两个条件的情况下进一步推导分析欧拉-拉格朗日方程:
- 条件1:动能可以表示为以下二次方程的形式
其中 nxn 的惯性矩阵 D ( q ) D(q) D(q)是对于任何 q q q 值都对称的正定矩阵 - 条件2:机械臂的势能与关节速度独立不相关
很容易就能发现我们所研究的串联机械臂都满足以上这两个条件,因此相应的欧拉-拉格朗日方程可以成为以下的形式:
L对关节速度求导,因为势能与关节速度无关,因此第二项为0
进一步对时间 t 求导
同时
因此,代入到欧拉-拉格朗日方程:
由于对称性可以变形得到:
因此中间项为:
令
这被称为Christoffel term(第一类)。注意到对于固定的 k,存在:
意味着我们可以利用这个结论减少一半的计算量。最后,我们定义
最终得到欧拉拉格朗日方程为:
在上述方程的左边有三个项,第一项是关于 q 的二次求导。第二项是 q 的一次求导的平方项,第二项可以被进一步的区分,包含
q
˙
i
2
\dot{q}_{i}^{2}
q˙i2 项的被称为离心力项,包含
q
˙
i
q
˙
j
\dot{q}_{i} \dot{q}_{j}
q˙iq˙j 项( i 不等于 j )的部分被称作科里奥力项。第三项仅仅与 q 有关,不与 q 的一次或者二次求导有关,很显然这项是来自于势能。一般可以把上面推导出来的欧拉-拉格朗日方程改写为:
D
(
q
)
q
¨
+
C
(
q
,
q
˙
)
q
˙
+
g
(
q
)
=
τ
D(\boldsymbol{q}) \ddot{\boldsymbol{q}}+C(\boldsymbol{q}, \dot{\boldsymbol{q}}) \dot{\boldsymbol{q}}+\boldsymbol{g}(\boldsymbol{q})=\tau
D(q)q¨+C(q,q˙)q˙+g(q)=τ
让我们考察一种特殊情况,即惯性矩阵是对角矩阵且与 q 独立。在这种情况下由于 dij 是常量,所有的 Christoffel 项都是0,另外如果 k=j,那么 dkj 不为0。因此欧拉-拉格朗日方程可以简化成:
d
k
k
q
¨
+
ϕ
k
(
q
)
=
τ
k
,
k
=
1
,
…
,
n
d_{k k} \ddot{q}+\phi_{k}(q)=\tau_{k}, \quad k=1, \ldots, n
dkkq¨+ϕk(q)=τk,k=1,…,n
这个方程在某些情况非常有用。
本节的推导至此告一段落,需要注意的是本节的推导是针对一般情况,可以应用到任何满足上述动能势能表达方式的机械系统。下一节我们通过几个实例讲解本节推导的公式要怎么用。
参考文献
《robot dynamics and control》 作者:Mark W Spong,Seth Hutchinson, and M. Vidyasagar