机器人系统辨识
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
机器人动力学参数辨识
专业:控制理论与控制工程姓名:徐勇军
学号:2010522091
一.引言
机器人系统是一个非线性、强耦合、时变的复杂系统。在现有机器人控制方法中,大多是基于模型的控制方法,如前馈补偿法、计算力矩法及自适应控制等,而是机器人动力学模型参数对机器人控制系统的性能有着很大的影响。但是如何获得准确的动力学模型参数是很难的,因为在机器人动力学方程中的各项系数)(),,(),(θθθθG H D ∙
本质上是时变的、非线性和耦合的,因此要确定精确的系数值,只有对机器人的动力学参数进行辨识估计。
目前,常用的机器人动力学方程有Lagrange 方程、Gauss 原理、Newton-Euler 方程等等。本文从机器人动力学Lagrange 方程出发,导出一种适用于进行动力学参数辨识的机器人动力学方程的表述形式。
辨识方法的选择:目前,有很多成熟的方法可用于模型的参数辨识,如极大似然法、辅助变量法、随机逼近法和最小二乘法等。鉴于最小二乘法在参数辨识中对量测噪声及具有任意分布规律的干扰噪声都具有不变性;同时,考虑到该方程所获得的参数估计值有着最佳统计特性,在实用中亦具备多种通用算法与程序,故本文采用最小二乘法来解决机器人动力学参数的辨识问题。
二、机器人动力学
根据Lagrane_Euler 方程,机器人动力学模型可用一个二阶非线性微分方程来描述,其形式如下:
)())(())(),(()())((t t q G t q t q C t q t q M τ=++∙
∙∙ (1) 式中,n R t ∈)(τ为输入量,表示施加在机器人各个关节上的力/力矩向量;
n R t q t q t q ∈∙
∙∙
)(),(),(为输出量,分别代表机器人的位置、速度及加速度向量;
n
R t q M ∈))((是惯性矩阵;n R t q t q C ∈∙
))(),((为哥式力与离心力向量;n R t q G ∈))((是
重力项。
由方程(1),很容易得知))(),(()),((t q t q C t q M ∙
和))((t q G 是)(t q 与)(t q ∙
的非线性函数,同时还包含一组未知参数向量n R ∈Φ(该参数向量是由各个关节的质量、转动惯量及各个关节的几何尺寸所决定,是一组常参数向量)。只要Φ确定了,那么该机器人的精确数学模型就得到了,就可以对机器人进行控制,使机器人完成各种指定的操作和任务,也可以进行各种分析和研究。
三、机器人参数辨识推导
由(二)中所讨论的结果可知,如果我们用参数辨识的思想得出参数向量Φ,那么就可以得到精确的数学模型;因此,下面结合最小二乘法辨识思想,来讨论如何得到向量Φ。
对于任意n 关节的机器人,其动力学方程对参数向量Φ是线性的,也即,动力学方程可写成:
Φ=∙
∙∙),,(q q q W τ (2)
式中,),,(∙
∙∙q q q W 是一个描述连杆运动的m n ⨯的信息矩阵,用i φ来表示Φ的第i 个分量,既可以是一个独立参数,也可以使几个参数的线性组合,这取决于给定机械臂的运动学结构。根据最小二乘估计法,未知动力学参数向量Φ,由(2)可以确定为:
τ
+
=ΦW (3)
式中,+W 表示W 的广义逆矩阵。在(2)式中,W 的各个元素师机器人关节角度、速度和加速度的函数,是一个非奇异矩阵。在实际中,W 的各个元素师根据机器人关节角度、速度和加速度的测量值来计算的,假设有N 个点的测量数据:
⎥⎥⎥⎥⎦⎤⎢⎢⎢
⎢⎣⎡=)()2()1(N ττττ ,⎥⎥⎥⎥
⎦
⎤⎢⎢⎢⎢⎣⎡=)()2()1(N W W W W (4)
这样,Φ的估计值^
Φ可表示为:
τ
T
T
W W W 1
^
)(-=Φ (5)
四、仿真实验
以图1所示的二自由度平面连杆机械臂为例:
图1:机械臂平面图形
根据Lagarange_Euler 法(忽略重力项),可以得到此机械臂的动力学方程为:
⎥⎦⎤⎢⎣⎡=⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡
---+⎥⎥⎦⎤⎢⎢⎣⎡⎥⎦⎤⎢⎣⎡
--∙∙∙∙∙∙2112211222211212)sin()sin()cos()cos(ττθθθθθθθθθθθθb b c b b a (6) 其中,2/,3/,3/22222221l m c l m b l m l m a ==+=;1θ关节1的角度,2θ表示关节2的角度;1τ是关节1的力矩,2τ是关节2的力矩。 将上式改写为参数方程(2)的形式,即
1
θ2
θ1
m 2
m 0
X 0
Y 1
X 1
Y 2Y 1
l 2
l
⎥⎥
⎥⎦
⎤
⎢⎢⎢⎣⎡-+----=∙∙∙∙∙∙∙∙∙∙∙
∙∙212211211
2221221)sin()cos(00)sin()cos(),,(θθθθθθθθθθθθθθq q q W (7) T c b a ][=Φ,T ][21τττ= (8)
输入输出信号的获取:系统辨识时把机器人的关节转矩作为输入信号,若没有关节转矩传感器,激励信号是很难采集的。同样把关节的角加速度、角速度、角位移作为输出信号,需装有关节角加速度传感器,数据越多,辨识就精度越高。
设机器人的轨迹参数为四次多项式,初始角度
T ]3015[=θ,[]T
f 6030=θ,]10,0[∈t ;
⎪⎩⎪⎨⎧-+=-+=3
223
2
106.09.030)(03.045.015)(t t t t t t θθ,⎪⎩⎪⎨⎧-=-=∙∙222
118.08.1)(09.09.0)(t t t t t t θθ,⎪⎩⎪⎨⎧-=-=∙∙∙∙t
t t
t 36.08.1)(18.09.0)(21θθ 表4.1给出机械臂测得的相关参数:
表4.1传感器所测参数值
参数 数值 次数
1
2
3
4
5
6
7
8
9
10
11
1θ
15 15.42 16.56 18.24 20.28 22.5 24.72 26.76 28.44 29.58 30
1∙
θ 0 0.81 1.44 1.89 2.16 2.25 2.16 1.89 1.44 0.81 0 1∙∙θ
0.9 0.72 0.54 0.36 0.18 0 -0.18 -0.36 -0.54 -0.72 -0.90 2θ
30 30.84 33.12 36.48 40.56 45 49.44 53.52 56.88 59.16 60 2∙
θ 0 1.62 2.88 3.78 4.32 4.5 4.32 3.78 2.88 1.62 0 2∙
∙θ
1.8 1.44 1.08
0.72 0.36
0 -0.36 -0.72 -1.08 -1.44 -1.80
1τ
6.8383
2.7638
-5.0072 -14.3217
-22.96 -28.6378
-29.6077
-25.4197
-17.4787
-9.2139
-5.85