机器人多变量控制方法简述

来源:互联网 发布:携程国际业务部 知乎 编辑:程序博客网 时间:2024/06/05 16:32

Thanks Mark W. Spong for his great work of Robot Modeling and Control.

机器人动力学模型

首先,我们将给出机械臂的动力学方程。机器人运动方程为:

j=1ndkj(q)q¨j+i=1nj=1ncijk(q)q˙iq˙j+gk=τk
机器人驱动器动力学为:
Jmkθ¨mk+Bkθ˙mk=Kmk/RkVkτk/rk
其中,对于所有的k=1,,nBk=Bmk+KbkKmk/Rk。结合上述公式,得到对于所有的k=1,,n
r2kJmkq¨k+j=1ndkjq¨j+i,j=1ncijkq˙iq˙j+r2kBkq˙k+gk=rkKmRVk
其中 θmk=rkqk。进一步简化可得:
M(q)q¨+C(q,q˙)q˙+Bq˙+g(q)=u
为了简单起见,我们设定摩擦系数矩阵 B=0

PD控制

一个独立关节的PD控制策略可以写成下列向量形式:

u=KPq~KDq˙
其中,q~=qqd 是期望关节位移(常值)与实际关节位移之间的误差。KPKD 分别为比例和微分增益的(正)对角矩阵。在没有重力的情况下(g(q)=0),上述控制律可以实现对期望关节位置的渐进跟踪。

然而,实际中仅使用PD控制无法保证系统实现渐进跟踪。在实践中,将会出现稳态误差,因为机器人必须能够使电机产生一个保持力矩来平衡重力扭矩g(q)。为了消除这个稳态误差,我们可以将PD控制律修改如下:

u=KPq~KDq˙+g(q)

上述控制律需要在每个时刻根据拉格朗日方程来计算重力项,在这些未知的情况下无法计算上述控制律。

逆动力学控制

关节空间

逆动力学控制包括两个表达式,一个是内环控制,一个是外环控制。考虑一个n-连杆刚性机器人的动力学方程:

M(q)q¨+C(q,q˙)q˙+g(q)=u
逆动力学的思路是:寻找一个非线性反馈控制律
u=f(q,q˙,t)
当该控制律被代入到动力学方程时,会得到一个线性闭环系统。

如果根据下列公式选择控制输入 u (内环):

u=M(q)aq+C(q,q˙)q˙+g(q)
由于惯量矩阵 M 可逆,综合系统可简化为 (外环):
q¨=aq
上式中 aq 代表一个尚待选择的新输入,该公式被称为双积分系统(double integrator system)。该公式是线性且解耦的,这意味着每个输入 aqk 可被设计用来控制一个SISO线性系统。此外,假设 aqk 仅是 qkq˙k 的函数,那么闭环系统将是解耦的。

一个明显的选择是令:

aq=q¨d(t)K0q~K1q~˙
这无非是一个带有前馈加速的PD控制器。

任务空间

任务空间内的跟踪可以通过修改外环控制,保持内环控制来实现。通过使用SO(3)XR6 表示末端执行器的姿态,我们有:

X˙X¨=J(q)q˙=J(q)q¨+J˙(q)q˙
其中 J 是分析型雅克比矩阵。如果我们选取下列 aq
aq=J1(aXJ˙q˙)
结果得到的是任务空间坐标系中的一个双积分系统,如下:
X˙=aX
给定一个任务空间轨迹 Xd(t) ,我们可以选择 aX 如下:
aX=X˙dK0(XXd)K1(X˙X˙d)

实施逆动力学控制方法的一个缺点是:系统参数必须是明确已知的。

基于无源性的运动控制

再次考虑机器人动力学方程:

M(q)q¨+C(q,q˙)q˙+g(q)=u
选取控制输入如下:
u=M(q)a+C(q,q˙)v+g(q)Kr
其中
var=q˙dΛq~=v˙=q¨dΛq~˙=q˙v=q~˙+Λq~
其中 KΛ 是定常正值增益的对角阵。将上述控制律代入到机器人动力学方程中可得:
M(q)r˙+C(q,q˙)r+Kr=0
注意到上述系统不是解耦的,仍是一个非线性偶合系统。其渐进收敛性可通过李雅普诺夫方法证明,此处省略。

基于无源性的鲁棒控制

鲁棒控制器是一个固定的控制器,它被设计用来面对大范围不确定时依然能满足性能要求。

对上述控制器做如下修改:

u=M^(q)a+C^(q,q˙)v+g^(q)Kr
就机器人动力学的线性参数化而言,上述控制器变为:
u=Y(q,q˙,a,v)θ^Kr
联立得到闭环系统:
M(q)r˙+C(q,q˙)r+Kr=Y(q,q˙,a,v)(θ^θ)

θ^=θ0+δθ
其中 θ0 是一个固定的名义参数向量, δθ 是一个额外的控制项。那么,闭环系统可以被写成:
M(q)r˙+C(q,q˙)r+Kr=Y(q,q˙,a,v)(θ~+δθ)
如果通过寻找一个非负常数 ρ0 使得这个不确定性有界,即
θ~=θθ0ρ
那么,附加项 δρ 可以根据下式设计:
δθ=ρYTrYTr,YTr>ϵρϵYTr,YTrϵ
我们可以证明跟踪误差的一致最终有界性,此处从略。

基于无源性的自适应控制器

自适应控制器与鲁棒控制器的区别在于:它采用某种形式的参数估计。在重复的运动任务中,由固定的鲁棒控制器产生的跟踪误差也趋于重复;随着控制参数根据运行时的信息而更新,由自适应控制器产生的跟踪误差预计会随时间减少。

在自适应控制方法中,θ^ 向量被当作是对真实参数向量 θ 的一个时变估计,即:

M(q)r˙+C(q,q˙)r+Kr=Yθ~
对参数的估计可以用梯度法或最小二乘法等标准方法。例如:使用梯度法
θ^=Γ1YT(q,q˙,a,v)r
将得到跟踪误差全局收敛性以及参数估计有界性。证明从略。