《机器人动力学与控制》第九章——动力学
9.1 初探欧拉-拉格朗日方程法
9.1.0 前言
本节我们推导一组描述受完整约束(Holonomic constraints)的机械系统运动的差分方程,这里的约束力满足虚功原理,这些方程组就叫欧拉——拉格朗日方程。推导欧拉——拉格朗日方程有两种方法:虚位移法和最小作用量法。(别问我什么意思,我从原版教材上翻译过来的)这里会从一个最简单的例子讲解求解机器人动力学的第一个方法:欧拉拉格朗日法。欧拉拉格朗日法可以总结为两个公式:
- 定义拉格朗日系数等于动能和势能之差:
- 由虚功原理得到的关节力/扭矩方程
9.1.1 一维系统
先讲一个最简单的例子:一个质量为m的质点,只受重力和竖直向上的拉力f的作用
假设向上为正方向,那么根据牛顿第二定律,我们有
把左边整理一下
这个
是这个质点的动能,接着我们再把右边项的重力动一下手脚
这个
是重力带来的势能。如果我们定义拉格朗日系数L是机械系统动能和势能之差
会发现
根据这个新发现我们重写第一个公式就能得到
这就是所谓的欧拉拉格朗日方程,用它我们可以描述力与系统运动的关系。接着我们用一个例子说明如何运用拉格朗日方程计算电机输出扭矩。
例9.1 单连杆结构
假设减速比为
r
r
r,那么电机的转速是输出端的
r
r
r倍,因此
系统的动能 = 电机的转动动能 + 连杆的转动动能,因此
J
m
J_m
Jm和
J
l
J_l
Jl分别是电机和连杆各自的转动惯量。系统的势能也能方便的得到,
l
l
l是连杆重心与转轴的距离(假设连杆竖直向下的时候是初始位置,同时也是0势能点的位置),那么当转动一个theta角度时该系统的势能为:
如果定义
那么拉格朗日系数为:
代入到欧拉拉格朗日法公式中,得到
J
θ
¨
ℓ
+
M
g
ℓ
sin
θ
ℓ
=
τ
ℓ
J \ddot{\theta}_{\ell}+M g \ell \sin \theta_{\ell}=\tau_{\ell}
Jθ¨ℓ+Mgℓsinθℓ=τℓ
又因为电机里面存在反向的阻尼,u是电机的实际输出扭矩
其中(第一项是电机转子的摩擦系数,第二项是输出端的摩擦系数)
所以这个系统的完整描述应该加上阻尼扭矩
J
θ
¨
ℓ
+
B
θ
˙
ℓ
+
M
g
ℓ
sin
θ
ℓ
=
u
J \ddot{\theta}_{\ell}+B \dot{\theta}_{\ell}+M g \ell \sin \theta_{\ell}=u
Jθ¨ℓ+Bθ˙ℓ+Mgℓsinθℓ=u
(以下是欧拉拉格朗日法的证明,还没写完。所以读者看到这里就可以了)
9.1.2 一般情况
现在我们考虑一般情况,考虑一个有k个质点的系统,每个质点有对应的向量r1,r2…rk来描述。如果这些质点可以没有限制的自由运动,那么就可以简单地用向量的变化率来描述他们的运动。但是如果这些质点受到了某种限制,那么我们就必须同时考虑产生这些限制的外力。为了讲解这个知识,我们先考虑一个两质点的简单系统。假设这两个质点被一个无质量的绝对刚性的长为l 的绳子连着。那么可以得到r1和r2满足限制:
如果此时这两质点收到外力,由于绳子的存在,质点不光受到外力作用,同时也收到绳子方向的内力。要分析这两个质点的运动情况,有两个方法。一是对于两个质点分别计算出内力外力来分析。另一种方法是免计算内力的分析方法。很显然第二种方法更受欢迎,因为不需要做复杂的受力分析。本节的内容就是要实现第二种方法做到免计算内力做运动分析。
在开始讲解之前,有必要介绍一些专业术语——完全约束与非完全约束。(以下是书本上拗口的定义)如果一个约束在一个k自由度的坐标系下面满足:
那么,这个约束就可以叫做完全约束,否则就叫非完全约束。我们来举个例子,如果一个球被一个铁杆连着,这个铁杆不可伸长或缩短,且另一端可以绕着原点旋转,可以发现球被完全约束在一个圆形轨迹上面,我们可以用以下方程表示球的运动:
那么我们可以称这个球收到了完全约束。如果同样的球由一个绳子连接而不是铁杆,那么这个球在圆形轨迹以内是可以自由运动的,其满足的运动方程是
我们就可以称这个球满足的是非完全约束。如果我们说一个系统受到l个完全约束,我们就可以理解为相比于非完全约束的这个系统,它少了l个自由度。