APP下载

双连杆刚柔机械臂无残余振动位置控制

2020-05-12孟庆鑫赖旭芝王亚午

控制理论与应用 2020年3期
关键词:执行器连杆柔性

孟庆鑫,赖旭芝,闫 泽,王亚午,吴 敏

(中国地质大学(武汉)自动化学院,湖北武汉 430074;复杂系统先进控制与智能自动化湖北省重点实验室,湖北武汉 430074)

1 引言

相对于刚性机械臂,柔性机械臂具有结构轻、响应快、能耗低等优点,可以适应苛刻的工作环境[1–4],在空间探索、航天器在轨服务以及高精度机械加工等领域有着非常广阔的应用前景.然而,柔性机械臂是一类分布参数系统,其所表现出的特性是具有无限个自由度的同时控制输入为有限个.根据欠驱动系统的定义[5–8]可知,这类系统是欠驱动机械系统,其模型中存在欠驱动变量,且状态变量间存在复杂的耦合关系[9].因此,柔性机械臂控制方法的研究被视为是一个具有挑战性的课题,吸引了越来越多的学者.

对于柔性机械臂系统,学者们普遍研究其位置控制方法,即设计控制器将机械臂的末端执行器从任意初始位置稳定到目标位置[10–12].然而,由于这类系统存在欠驱动的变量,在位置控制中,很难针对系统欠驱动变量直接设计控制器使其收敛,这就导致在末端执行器到达目标位置后,系统存在弹性振动.这一振动称之为残余振动.残余振动的产生降低了系统的位置控制精度,且在外太空等空气阻尼微弱的工作环境中,残余振动很难自行消失[13–14].因此,如何解决柔性机械臂残余振动的问题是实现该系统位置控制的关键.

目前比较常用的方法是主动抑制残余振动.文献[15]以压电陶瓷为传感器与作动器来抑制柔性机械臂的残余振动,取得了理想的抑振效果.文献[9]针对单连杆柔性机械臂提出了基于系统能量的位置控制方法,通过控制系统的总能量收敛到零来抑制系统的残余振动.文献[16]针对双连杆柔性机械臂提出了一种模糊补偿滑模控制方法,文献[17]针对双连杆刚柔机械臂系统提出了一种基于自适应迭代学习算法的边界控制方法.文献[18]利用PSO算法优化轨迹参数来最小化系统残余振动.上述控制方法均有效抑制了系统的残余振动并实现了系统的位置控制,然而,抑制残余振动的过程需要耗费一定的时间,也就是说,当机械臂的末端执行器到达目标位置后,不能立即开展后续工作而需等待其残余振动被抑制,这无疑降低了机械臂的工作效率.

基于上述研究背景,本文以双连杆刚柔机械臂为研究对象来研究基于轨迹规划的柔性机械臂无残余振动位置控制方法.所谓无残余振动位置控制,即控制柔性机械臂的末端执行器在到达目标位置时没有弹性振动.首先,运用欧拉–拉格朗日法和假设模态法来建立双连杆刚柔机械臂的动力学模型.然后,分析系统动力学模型,得到该系统的状态约束方程.基于此状态约束方程,提出一种双向轨迹规划方法,构造一条从系统初始状态到中间状态的前向轨迹和一条从系统目标状态到中间状态的反向轨迹.随后,利用时间倒转方法及基于遗传算法的轨迹优化方法对这两条轨迹进行处理,使得两条轨迹在中间状态拼合,从而得到一条从系统初始状态到目标状态的期望轨迹.最后,设计轨迹跟踪控制器,使系统的状态跟踪这条期望轨迹,实现双连杆刚柔机械臂的无残余振动位置控制.仿真结果表明,本文所提方法有效实现了双连杆刚柔机械臂的无残余振动位置控制.

2 系统建模及问题描述

本节将建立双连杆刚柔机械臂的动力学模型,并基于该动力学模型对系统的无残余振动位置控制目标进行讨论.

2.1 系统动力学建模

双连杆刚柔机械臂的结构如图1所示,其中:(xt,yt)是系统的末端执行器坐标,XOY是系统的惯性坐标系,X1OY1和X2O2Y2分别是刚性连杆和柔性连杆的旋转坐标系,qi,Li分别是系统第i根连杆的转角和长度,τi是作用在第i个关节上的输入力矩,i=1,2,m1是刚性连杆的质量,l1是刚性连杆质心到第1关节的长度,J1是刚性连杆的转动惯量,ρ,A,EI,Ih分别是柔性连杆的密度、截面面积、抗弯刚度和转动惯量.Mh是第2个关节电机的质量,Mt则是末端执行器的质量.ω(x,t)表示柔性连杆上位置x的一点在时刻t时相对坐标系X2O2Y2的弹性形变.

图1 双连杆刚柔机械臂的结构图Fig.1 Structure of the two-link rigid-flexible manipulator

基于假设模态法,ω(x,t)可以表示为

其中:ϕi(x)为柔性连杆第i阶模态函数,pi(t)为柔性连杆第i阶模态坐标,n表示假设模态法所选取的模态阶数.模态函数ϕi(x)的具体表达式可参考文献[9,19].另外,根据文献[9]所得结论,当n取值为2时,所建立的模型就足够描述柔性连杆的振动行为,因此,在本文的研究中,选取n=2.

令R为柔性连杆上任意点相对于惯性坐标系XOY的位置向量,则其可以表示为

其中x为R相对X2O2Y2坐标系的x-轴坐标.因此,柔性机械臂末端执行器的位置向量可以表示为

系统的动能可以表示为

系统的弹性势能可以表示为

选取L=T −D为拉格朗日方程,应用欧拉–拉格朗日公式可以得到系统的动力学模型为

令θ=[q1q2p1p2]T,式(5)可以改写为

其中τ=[τ1τ20 0]T为系统的输入力矩矩阵.

M(θ)是一个正定对称矩阵,其具体形式可以表示为

其中:

M(θ)的结构参数为

其中i=1,2.

H(θ,)为系统的科里奥利力与离心力的结合矩阵,可以表示为

K为系统的弹性力矩阵,可以表示为

其中k1,k2为系统的弹性系数,可以表示为

根据建立的双连杆刚柔机械臂动力学模型(6),接下来将讨论系统的无残余振动位置控制问题.

2.2 问题描述

在讨论柔性机械臂系统的位置控制之前,首先根据机械臂末端执行器的初始位置和目标位置来求解机械臂两根连杆的初始角度及目标角度.

图2 静止状态下双连杆刚柔机械臂结构图Fig.2 Structure of the two-link rigid-flexible manipulator under static state

如图2所示,当机械臂处于静止状态时,柔性连杆没有弹性振动,此时,系统的末端执行器坐标(xt,yt)与两杆角度q1,q2存在以下关系:

根据逆运动学方法,可以求得

其中:

ϑ1,ϑ2为整数,且atan2(b,a)表示向量(a,b)和X轴正方向的夹角.

定义(xti,yti)为机械臂末端执行器的初始位置,(xtd,ytd)为目标位置.根据式(15)可以求解得到两杆初始角度q1i,q2i及目标角度q1d,q2d.

记Θ=[θT]T表示系统的状态变量,对于双连杆刚柔机械臂系统而言,它的静止状态可以表示为Θ∗=[q1∗q2∗0 0 0 0 0 0]T,其中q1∗,q2∗是常数.因此,系统的初始状态Θi和目标状态Θd可以分别表示为

系统的位置控制目标是将双连杆刚柔机械臂的末端执行器从(xti,yti)稳定到(xtd,ytd).即,将系统的状态从Θi控制到Θd.然而,由于p1,p2,为系统的欠驱动变量,无法对其进行直接的控制.它们与系统的驱动变量存在以下状态约束:

由式(18)可知,系统的欠驱动变量可以通过控制驱动变量来间接控制.因此,传统的位置控制方法通常通过以下控制策略实现控制目标:

1)对系统的驱动变量进行调节控制,使它们收敛到各自的目标值,即为q1→q1d,q2→q2d,→0;

2)通过控制系统的驱动变量,间接控制系统的欠驱动变量收敛到目标值,即p1→0,p2→0,

然而,上述控制策略无法实现系统的所有状态变量同时收敛到目标值,这就导致了系统残余振动的产生.

为了实现双连杆刚柔机械臂的无残余振动位置控制目标,需要设计一种控制策略,可以控制系统的所有状态同时收敛到目标值.在本文中,这一控制问题将被转化为轨迹规划与跟踪控制问题来讨论.

3 轨迹规划

本节讨论双连杆刚柔机械臂从初始状态Θi到目标状态Θd的轨迹规划问题.根据系统的无残余振动位置控制目标,待规划的期望轨迹应该具有以下边界条件:

当t →0时,

当t →tf时,

其中,tf为机械臂两根连杆到达目标角度的时间.

下面,本文提出双向轨迹规划方法及轨迹拼合方法来规划符合上述边界条件的期望轨迹.

3.1 双向轨迹规划

因为欠驱动变量的存在,直接规划系统从Θi到Θd的轨迹是困难的.因此,本文提出一种双向轨迹规划的方法,分别规划一条前向轨迹和一条反向轨迹.

其中前向轨迹是一条从Θi到系统中间状态的轨迹,反向轨迹轨迹是一条从Θd到系统中间状态的轨迹.鉴于双连杆刚柔机械臂的欠驱动变量无法直接控制,下面针对系统的驱动变量进行轨迹规划.为保证机械臂可以平滑地跟踪规划的轨迹,系统驱动变量的轨迹应该满足均有界,其中j=1,2.

基于上述思想,在系统前向轨迹中,规划驱动变量的轨迹为

在系统反向轨迹中,规划驱动变量的轨迹为

其中:qji,qjm,qjd分别表示机械臂第j根连杆的初始角度、中间角度及目标角度.式(21)中,式(22)中.ka>0,kb>0分别是系统前向轨迹和反向轨迹的时间因子.显然,及均有界.因此,所规划的前向轨迹及反向轨迹满足本文对轨迹平滑性的要求.

将式(21)及初始值(19)代入式(18)中,通过对式(18)进行数值求解,可以得到相应欠驱动变量的轨迹.且当时,

由此,系统从Θi到Θd的轨迹规划问题转化为系统前向轨迹与反向轨迹在中间状态的拼合问题.下面利用时间倒转方法及基于遗传算法的轨迹优化方法来拼合两条轨迹.

3.2 轨迹拼合

由于反向轨迹与系统真正的运动方向相反,本小节利用时间倒转的方法[8]使其轨迹方向与系统运动方向一致.具体的,设计一条倒转轨迹,使其驱动变量满足

则其所对应的欠驱动变量轨迹为

遗传算法的评价函数定义如下:

基于遗传算法的优化过程如下:

步骤1随机初始化N条染色体组成遗传算法的初始群体.每条染色体代表一组轨迹参数q1m,q2m,ka,kb.初始化代数计数器gen=1.

步骤2将所有的染色体所对应的参数q1m,q2m,ka,kb分别代入式(21)(26)中.通过方程(18)计算得到每条染色体分别对应的,的值.

步骤3将得到的值代入评价函数(29),从而得到每一条染色体所对应的评价值ft的值.

步骤4如果种群中最小的ft值小于或等于一个非常小的正数ϖ,程序跳转到步骤6,否则,程序跳转到步骤5.

步骤5如果gen等于最大优化代数Max,退出程序.否则,对种群中的染色体以代沟Pg进行选择重组操作,以概率Pc进行交叉操作,以概率Pm进行变异操作.更新所有染色体且gen=gen+1.程序跳转到步骤2.

步骤6将种群中最小ft值所对应的染色体作为优化后的结果,读取其所对应的轨迹参数q1m,q2m,ka,kb.将这些参数代入式(21)及式(26)中,从而将这两条轨迹拼合成一条系统的期望轨迹(30).退出程序.

拼合后的系统期望轨迹的驱动变量轨迹可以表示为

欠驱动变量的轨迹可以表示为

对于从初始状态Θi出发的双连杆刚柔机械臂,倘若能够设计一个轨迹跟踪控制器使系统的驱动变量在上跟踪轨迹(30),由于系统状态约束的存在,其欠驱动变量也将被动跟踪轨迹(31).那么,在s时刻,系统的所有变量同时收敛于Θd.此时系统没有残余振动产生.这样的话,双连杆刚柔机械臂的无残余振动位置控制问题就转化为了跟踪期望轨迹的控制问题.

注1当时,为使系统维持在目标状态,系统驱动变量的轨迹为,其对应的欠驱动变量的轨迹为≡0.

4 轨迹跟踪控制器设计

在得到期望轨迹之后,本节讨论轨迹跟踪控制器的设计问题.针对系统的驱动变量设计轨迹跟踪控制器,使其跟踪轨迹(30).

令x=[x1x2x3x4x5x6x7x8]T=Θ,然后,将系统的模型(6)改写为状态空间的形式:

其中:

f1,f2,f3和f4满足

g1是一个4×4的零矩阵,g2满足

为方便描述跟踪控制器设计,定义如下符号:

设计两个滑模函数如下所示:

其中:ι1,ι2是正的常数,ε1=x1−x1d(t),ε2=x2−x2d(t),表示系统的跟踪误差.对S1,S2求导得

设计轨迹跟踪控制器为

δ1,δ2,ψ1,ψ2,∆1以及∆2均为正的常数,sat(·)是饱和函数,可以表示为

其中i=1,2.

定理1系统(33)的跟踪误差,ε1,ε2,在所设计的轨迹跟踪控制器(39)作用下可以收敛到零.

证构造以下Lyapunov函数:

将V对时间进行求导,结合式(38)–(39)可得

证毕.

因此,本节设计的轨迹跟踪控制器可以实现系统的轨迹跟踪控制目标.

5 仿真结果与分析

本节利用MATLAB联合Simulink来进行仿真研究.其中MATLAB提供的ODE45求解器被用来解决仿真中的数值求解问题.

双连杆刚柔机械臂的模型参数选取为

同时,选取末端执行器的初始位置为(xti,yti)=(−1,2)m,目标位置为(xtd,ytd)=(1.5,0.5)m.则根据式(15),可以求得一组连杆的初始角度和目标角度为

在轨迹规划中,选取遗传算法的参数为

同时,选取轨迹跟踪控制器的设计参数为

下面验证所提控制方法的有效性和优越性.

5.1 实例1

本小节使系统分别跟踪一条未经优化的摆线轨迹[20]和本文规划得到的期望轨迹(30).通过对比二者的仿真结果,来说明本文所提轨迹规划方法在实现系统无残余振动位置控制上的有效性.其中,从初始角度qji到目标角度qjd的摆线轨迹表达式给出如下:

其中j=1,2,tr=8 s为摆线轨迹的到达时间.

利用轨迹跟踪控制器(39)来使系统跟踪摆线轨迹(48),仿真结果如图3所示.

图3 跟踪轨迹(48)的仿真结果Fig.3 Simulation results of tracking the trajectory(48)

从图3所示的仿真结果中可以看出,当系统跟踪摆线轨迹(48)时,机械臂的两根连杆可以到达各自的目标角度.但之后,机械臂的柔性连杆呈现出等幅振动的状态,这一振动便是残余振动.这一仿真结果说明,摆线轨迹(48)无法消除柔性机械臂的残余振动.因此,当系统跟踪这一未经规划的轨迹时,其末端执行器无法实现高精度的定位.

根据本文所提出的轨迹规划方法,通过遗传算法优化,得到了一组轨迹规划的优化结果

将优化结果代入式(21)及式(26)中,进而利用轨迹跟踪控制器(39)使系统跟踪期望轨迹(30),仿真结果如图4所示.

图4 跟踪轨迹(30)的仿真结果Fig.4 Simulation results of tracking the trajectory(30)

图4显示,当系统跟踪期望轨迹(30)时,机械臂的两根连杆同样可以到达各自的目标角度.与图3所示仿真结果不同的是,机械臂的末端执行器由初始位置(−1,2)m到达目标位置(1.5,0.5)m的同时,柔性连杆的弹性振动也被抑制收敛到零,这表明柔性连杆机械臂的末端执行器在到达目标位置时没有产生残余振动.于是,通过对比图3–4所示的仿真结果,可以验证,本文所提出的轨迹规划方法可以有效实现双连杆刚柔机械臂的无残余振动位置控制目标.

注2在摆线轨迹(48)中,不同的tr会带来不同的控制效果.当tr较小时,机械臂的两根连杆可以较快速地到达各自目标角度,但柔性连杆的振动幅度较大,导致机械臂的末端执行器在目标位置附近剧烈振动.而当tr较大时,柔性连杆的振幅较小,但系统两根连杆到达目标角度所需的时间较长.在本文中,综合考虑连杆到达目标角度所需的时间以及柔性连杆的振动幅度,选择tr=8 s.

5.2 实例2

为了说明本文提出的无残余振动位置控制方法相对传统柔性机械臂位置控制方法的优越性,本小节分别对PD控制方法[21]和本文提出的控制方法进行仿真.PD控制器设计如下:

其中Kp,Kd为控制器增益.在仿真中,设置为Kp=4,Kd=3.仿真结果如图5所示.

图5 PD控制方法的仿真结果Fig.5 Simulation results of the PD control method

从图5可以看出,机械臂的两根连杆在5 s左右时便已到达目标角度,随后在目标角度附近做往复运动,以此来抑制柔性连杆的残余振动,直至30 s左右时,柔性机械臂的末端执行器才逐渐被稳定在目标位置(1.5,0.5)m.残余振动的抑制过程耗费近25 s,严重影响了机械臂的工作效率.此外,在控制的过程中,系统存在一定的超调且控制力矩存在初始跳变,降低了系统的安全性.

本文提出的控制方法中,基于机械臂两根连杆的初始角度和目标角度进行轨迹规划,在轨迹拼合中,可以优化得到一组结果为

值得注意的是,优化结果(51)与优化结果(49)是不同的.这表明了,在系统的轨迹拼合中,优化的可行解是具有多样性的.将优化的结果(51)代入式(21)及式(26)中,使系统跟踪拼合后的期望轨迹(30).仿真结果如图6所示.

图6 本文提出控制方法的仿真结果Fig.6 Simulation results of the proposed control method

从图6中可以看出,系统两根连杆均到达了其目标角度,没有出现超调.机械臂的末端执行器由初始位置(−1,2)m平滑运动到目标位置(1.5,0.5)m,且柔性连杆没有产生残余振动,系统整个位置控制过程耗费5.8 s左右.因此,相比较于PD控制方法,本文提出的控制方法可以大幅提高机械臂的工作效率.此外,本文提出控制方法的控制输入力矩在±2.5 N·m范围内变化,且初始输入力矩为0 N·m,这表明本文提出的控制方法实现了机械臂的“软启动”[22–23].因此,本文提出的控制方法在系统的安全性能上也优于PD控制方法.

6 结论

本文提出了一种基于轨迹规划的柔性机械臂无残余振动位置控制方法.以平面双连杆刚柔机械臂为研究对象,通过对该系统进行建模与分析,得到了系统存在的状态约束关系.进而利用这一约束关系,通过双向轨迹规划及遗传算法轨迹拼合方法,规划出一条从系统初始状态到目标状态的期望轨迹.设计轨迹跟踪控制器,使系统的状态变量沿着规划的期望轨迹到达目标状态.这种控制方法可以保证系统的所有变量同时收敛到目标值.这也就意味着,机械臂的末端执行器在到达目标位置时没有残余振动产生.仿真结果验证了本方法的有效性和优越性.值得一提的是,对于更为复杂的多柔性连杆多柔性模态的柔性机械臂,该方法依旧有效.

猜你喜欢

执行器连杆柔性
多场下压电喷油器执行器电学特性试验研究
更正说明
自动驾驶汽车执行器故障冗余算法
柔性仓储自动化技术在家居建材行业中的应用
高校学生管理工作中柔性管理模式应用探索
X-431实测篇2010年奔驰B200空调执行器电机学习
柯马智能柔性激光焊接站震撼发布
连杆的设计及有限元分析
470Q汽油机连杆设计
胀断连杆用的低合金钢