机器人系统辨识

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

机器人动力学参数辨识专业:控制理论与控制工程姓名:徐勇军学号:2010522091一.引言机器人系统是一个非线性、强耦合、时变的复杂系统。在现有机器人控制方法中,大多是基于模型的控制方法,如前馈补偿法、计算力矩法及自适应控制等,而是机器人动力学模型参数对机器人控制系统的性能有着很大的影响。但是如何获得准确的动力学模型参数是很难的,因为在机器人动力学方程中的各项系数)(),,(),(GHD本质上是时变的、非线性和耦合的,因此要确定精确的系数值,只有对机器人的动力学参数进行辨识估计。目前,常用的机器人动力学方程有Lagrange方程、Gauss原理、Newton-Euler方程等等。本文从机器人动力学Lagrange方程出发,导出一种适用于进行动力学参数辨识的机器人动力学方程的表述形式。辨识方法的选择:目前,有很多成熟的方法可用于模型的参数辨识,如极大似然法、辅助变量法、随机逼近法和最小二乘法等。鉴于最小二乘法在参数辨识中对量测噪声及具有任意分布规律的干扰噪声都具有不变性;同时,考虑到该方程所获得的参数估计值有着最佳统计特性,在实用中亦具备多种通用算法与程序,故本文采用最小二乘法来解决机器人动力学参数的辨识问题。二、机器人动力学根据Lagrane_Euler方程,机器人动力学模型可用一个二阶非线性微分方程来描述,其形式如下:)())(())(),(()())((ttqGtqtqCtqtqM(1)式中,nRt)(为输入量,表示施加在机器人各个关节上的力/力矩向量;nRtqtqtq)(),(),(为输出量,分别代表机器人的位置、速度及加速度向量;nRtqM))((是惯性矩阵;nRtqtqC))(),((为哥式力与离心力向量;nRtqG))((是重力项。由方程(1),很容易得知))(),(()),((tqtqCtqM和))((tqG是)(tq与)(tq的非线性函数,同时还包含一组未知参数向量nR(该参数向量是由各个关节的质量、转动惯量及各个关节的几何尺寸所决定,是一组常参数向量)。只要确定了,那么该机器人的精确数学模型就得到了,就可以对机器人进行控制,使机器人完成各种指定的操作和任务,也可以进行各种分析和研究。三、机器人参数辨识推导由(二)中所讨论的结果可知,如果我们用参数辨识的思想得出参数向量,那么就可以得到精确的数学模型;因此,下面结合最小二乘法辨识思想,来讨论如何得到向量。对于任意n关节的机器人,其动力学方程对参数向量是线性的,也即,动力学方程可写成:),,(qqqW(2)式中,),,(qqqW是一个描述连杆运动的mn的信息矩阵,用i来表示的第i个分量,既可以是一个独立参数,也可以使几个参数的线性组合,这取决于给定机械臂的运动学结构。根据最小二乘估计法,未知动力学参数向量,由(2)可以确定为:W(3)式中,W表示W的广义逆矩阵。在(2)式中,W的各个元素师机器人关节角度、速度和加速度的函数,是一个非奇异矩阵。在实际中,W的各个元素师根据机器人关节角度、速度和加速度的测量值来计算的,假设有N个点的测量数据:)()2()1(N,)()2()1(N(4)这样,的估计值^可表示为:TT^)((5)四、仿真实验以图1所示的二自由度平面连杆机械臂为例:图1:机械臂平面图形根据Lagarange_Euler法(忽略重力项),可以得到此机械臂的动力学方程为:2112211222211212)sin()sin()cos()cos(bbcbba(6)其中,2/,3/,3/22222221lmclmblmlma;1关节1的角度,2表示关节2的角度;1是关节1的力矩,2是关节2的力矩。将上式改写为参数方程(2)的形式,即121m2m0X0Y1X1Y2Y1l2l2122112112221221)sin()cos(00)sin()cos(),,(qqqW(7)Tcba][,T][21(8)输入输出信号的获取:系统辨识时把机器人的关节转矩作为输入信号,若没有关节转矩传感器,激励信号是很难采集的。同样把关节的角加速度、角速度、角位移作为输出信号,需装有关节角加速度传感器,数据越多,辨识就精度越高。设机器人的轨迹参数为四次多项式,初始角度T]3015[,Tf6030,]10,0[t;32232106.09.030)(03.045.015)(tttttt,222118.08.1)(09.09.0)(tttttt,tttt36.08.1)(18.09.0)(21表4.1给出机械臂测得的相关参数:表4.1传感器所测参数值参数数值次数123456789101111515.4216.5618.2420.2822.524.7226.7628.4429.5830100.811.441.892.162.252.161.891.440.81010.90.720.540.360.180-0.18-0.36-0.54-0.72-0.9023030.8433.1236.4840.564549.4453.5256.8859.1660201.622.883.784.324.54.323.782.881.62021.81.441.080.720.360-0.36-0.72-1.08-1.44-1.8016.83832.7638-5.0072-14.3217-22.96-28.6378-29.6077-25.4197-17.4787-9.2139-5.852-2.252.57943.20454.10535.02325.69055.82973.82821.8016-0.4358-2.25由(7)式可得:7.27794.0003383.29.0)1(W,16.29545.0001725.172.0)2(W,62.15853.1008402.854.0)3(W,08.14132.2002455.1836.0)4(W,54.01705.3008938.2618.0)5(W,09373.1007493.70)6(W,54.04275.3002523.3218.0)7(W,72.02869.1000763.736.0)8(W,08.15127.0008998.454.0)9(W,16.21942.0001773.672.0)10(W,7.245.00035.19.0)11(W程序流程图如图2所示:图2:程序流程图Matlab程序:输入信号序列,画各个输入和输出观测值图形给样本矩阵和赋值根据式(5)算估计值从中分离出幷显示出被辨识的参数thea1\thea2\thea3停机clcfort=0:1:10a=15+0.45*t^2-0.03*t^3;%关节1角度a1=0.9*t-0.09*t^2;%关节1角速度a11=0.9-0.18*t;%角加速度b=30+0.9*t^2-0.06*t^3;%关节2角度b1=1.8*t-0.18*t^2;%关节2角速度b11=1.8-0.36*t;%角加速度t1=cos(b*pi/180)*(a11+b11)+2*a11+b11+a11-sin(b*pi/180)*(b1)^2-2*sin(b*pi/180)*a1*b1;%力矩1t2=cos(b*pi/180)*a11+a1+b11+sin(b*pi/180)*(a1)^2;%力矩2w=[a11(b11+a11)*cos(b*pi/180)-(b1+a1)^2*sin(b*pi/180)0;0a11*cos((b)*pi/180)+a1^2*sin((b)*pi/180)b11+a11];endw1=[0.92.33830;00.77942.7];w2=[0.72-1.17250;00.95452.16];w3=[0.54-8.84020;01.58531.62];w4=[0.36-18.24550;02.41321.08];w5=[0.18-26.89380;03.17050.54];w6=[0-32.21760;03.57970];w7=[-0.18-32.25230;03.4275-0.54];w8=[-0.36-26.49190;02.6582-1.08];w9=[-0.54-16.51540;01.4416-1.62];w10=[-0.72-6.17730;00.1942-2.16];w11=[-0.9-1.350;0-0.15-2.7];W=[w1;w2;w3;w4;w5;w6;w7;w8;w9;w10;w11];%WT1=[6.8383;-2.25];T2=[2.7638;2.5794];T3=[-5.0072;3.2045];T4=[-14.3217;4.1053];T5=[-22.96;5.0232];T6=[-28.6378;5.6905];T7=[-29.6077;5.8297];T8=[-25.4197;3.8282];T9=[-17.4787;1.8016];T10=[-9.2139;-0.4358];T11=[-5.85;-2.25];T=[T1;T2;T3;T4;T5;T6;T7;T8;T9;T10;T11];%TX=inv(W'*W)*W'*T%cangshu输出结果为:X=5.19400.89720.1583因此,在传感器满足精度的条件下,可以利用传感器测的机器人各个关节的角度和力矩信息就可以得出任何构型(模型基于(1)式)机器人的动力学参数,所以在不方便测量机器人构型参数的情况下,采用辨识的方法辨识参数是一种有效地方法。图形程序:%figuret=0:10;a=15+0.45*t.^2-0.03*t.^3;%关节1角度b=30+0.9*t.^2-0.06*t.^3;%关节2角度a1=0.9*t-0.09*t.^2;%关节1角速度a11=0.9-0.18*t;%角加速度b1=1.8*t-0.18*t.^2;%关节2角速度b11=1.8-0.36*t;%角加速度t1=cos(b*pi/180).*(a11+b11)+3*a11+b11-sin(b*pi/180).*b1.^2-2*sin(b*pi/180).*a1.*b1;%力矩1t2=cos(b*pi/180).*a11+a1+b11+sin(b*pi/180).*a1.^2;%力矩2figure(1);subplot(2,1,1);plot(t,a),gridon;title('关节1角度变化');subplot(2,1,2);plot(t,b),gridon;title('关节2角度变化');figure(2);subplot(2,1,1);plot(t,t1),gridon;title('关节1力矩变化');subplot(2,1,2);plot(t,t2),gridon;title('关节2力矩变化');仿真曲线如图3所示:01234567891015202530关节1角度变化01234567891030405060关节2角度变化012345678910-30-20-10010关节1力矩变化012345678910-50510关节2力矩变化图3:机器人测量参数图参考文献[1]郭良康,张启先;机器人动力学参数辨识,北京航空学院学报,1988[2]陈虹,严法高等;基于角度模型的机

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功