本发明属于机器人系统控制技术领域,特别是对一类机械臂的轨迹跟踪控制方法。
背景技术:
机械臂对于提高生产自动化程度、提升国家制造业水平具有重要的意义,目前,机械臂被广泛的应用于生产、科研、服务等各个领域,发挥了重要的作用。而机械臂属于多刚体系统,其动力性特性较为复杂,而机械臂的加工与制造往往存在一定的误差,故基于动力学模型的控制方法难于运用于生产实践之中。而不基于动力学模型的控制方法需克服机器人所有的动力学特性与外界干扰,难于实现较为较高的控制精度。因此,国内外学者提出了时延估计控制理论,这一控制方法可以利用机器人系统前一时刻的状态估计系统当前的未知动力学特性与外界干扰,从而有效提升机器人控制器的控制性能。利用时延估计控制理论,国内外学者设计了多种控制器。
gunraecho等人针对机械臂的控制器设计展开了研究,基于时延估计技术和内部模式控制技术提出了一种增强型的控制器,该控制器含有一个内部模式补偿控制器以提升其鲁棒性,并以时延估计的方法克服摩擦力的影响,而时延估计是一种克服摩擦力影响的有效方法[chogr,changph,parksh.robusttrajectorycontrolofrobotmanipulatorsusingtimedelayestimationandinternalmodelconcept[c]//europeancontrolconferencecdc-ecc05ieeeconferenceondecision&control.ieee,2005]。pyunghunchang等人针对非线性目标阻抗控制提出了一种控制算法,该控制算法将一个非线性的阻抗项加入传统的线性目标阻抗之中以减少期望的能量值,他们采用一种基于时延估计的阻抗控制方法实现期望的目标阻抗,实现了一自由度机械臂在摩擦力影响下的阻抗控制[changph,jinm.nonlineartargetimpedancedesignanditsuseinrobotcompliantmotioncontrolwithtimedelayestimation[c]//conferenceoftheieeeindustrialelectronicssociety.ieee,2006.]。华南理工大学的刘海涛等人针对工业机器人系统的控制器设计,结合时延估计控制方法,设计出一种鲁棒时延估计跟踪控制算法,这种控制算法不依赖于系统的动力学模型,无需机器人逆动力学的在线运算;采用时延估计技术补偿了系统大部分的未知动力学特性与外界干扰,提升了系统的鲁棒性与控制性能[刘海涛,张铁.基于时延估计和鲁棒h_∞控制的工业机器人跟踪控制[j].华南理工大学学报(自然科学版),2012(01):77-81.]。junyounglee等人设计了一款基于滑模控制方法与时延估计理论的控制器,该控制器可以估计机器人未知的动力学特性,如参数变化和外干扰等,具有较好的控制效果[leej,changph,jinm.adaptiveintegralslidingmodecontrolwithtime-delayestimationforrobotmanipulators[j].ieeetransactionsonindustrialelectronics,2017,64(8):6796-6804.]。yassinekali等人提出了一种超扭曲滑模控制算法。该控制算法使用了时延估计技术,以在获得较高控制精度的同时,对于系统不确定性和未知外干扰具有一定的鲁棒性[kaliy,saadm,benjellounk,etal.super-twistingalgorithmwithtimedelayestimationforuncertainrobotmanipulators[j].nonlineardynamics,2018,93(2):557-569.]。
时延估计技术可应用于多种控制器的设计之中,可实现较好的控制效果。然而,当机器人的工作环境、工作任务发生变化时,就需要对时延估计的相关参数进行调整,否则可能导致系统震颤或控制性能不足。为此,yaoyaowang等人设计了自适应时延估计控制算法,并将其与滑模控制技术结合设计出了一款新型控制器[wangy,yanf,chenj,etal.anewadaptivetime-delaycontrolschemeforcable-drivenmanipulators[j].ieeetransactionsonindustrialinformatics,2018:1-1.],以自动调节时延估计的相关参数适应机械臂的不用工作状况。然而,当机械臂所受外界干扰或机械臂的工作状况变化较快时,该自适应算法相应较慢,不能适应快速变化外干扰力矩和机械臂工作状况。
为提高自适应算法的响应速度,为进一步提升现有控制方法的工程实用性,保证系统在不同工作状况下的控制品质,亟需设计有效地的自适应控制方案,解决以上所述问题。
技术实现要素:
本发明的目的是提供一种更加有效的自适应控制算法,目的为提升机械臂的控制效果并满足工程实际应用需求。
为解决上述问题,本发明提出一种基于时延估计的机械臂轨迹跟踪控制方法,所跟踪的轨迹除有限点外均具有连续、有界的两阶导数,并采用模糊逻辑设计自适应控制器,采用的技术方案如下:
一种基于时延估计的机械臂轨迹跟踪控制方法,用以控制n自由度串联机械臂,其中n为正整数,其特征在于,包含以下步骤:
(1)建立n自由度机械臂动力学方程:
式中,
(2)将步骤(1)中给出的机械臂动力学方程改写成如下形式:
其中
(3)采用时延估计的方法获得步骤(2)中的h的近似值,并用该近似值
式中h(t-η)表示t-η时刻的h值,τm,(t-η)表示t-η时刻的τm值;
(4)采用滑模控制方法设计控制器,定义滑模面为:
式中λ为常数控制参数,e为控制误差,
e=θd-θ
式中θd为所跟踪的期望轨迹;机器人各关节控制器为:
式中
本发明的优势:本发明的控制算法采用了时延估计技术,因此可以同时具备不依赖系统模型和控制效果较好的优点。另外相对于现有的基于自适应时延估计技术的控制方法,本发明所提出的自适应算法可以拥有更快的响应速度,可以更好地跟踪外界条件和机械臂工作状况的变化,并最终提升机械臂跟踪期望轨迹的作业性能。
附图说明
图1为本发明实施步骤(6)中滑模面的隶属度函数;
图2为本发明实施步骤(6)中控制误差的隶属度函数;
图3为本发明实施步骤(7)中控制力矩的输出函数;
图4为本发明实施例中仿真采用的二自由度机械臂;
图5为具体实施本发明所述算法和常规基于时延估计技术控制算法的关节1轨迹跟踪控制效果对比仿真图;
图6为具体实施本发明所述算法和常规基于时延估计技术控制算法的关节2轨迹跟踪控制效果对比仿真图;
图7为具体实施本发明所述算法和常规基于时延估计技术控制算法的关节1轨迹跟踪误差对比仿真图;
图8为具体实施本发明所述算法和常规基于时延估计技术控制算法的关节2轨迹跟踪误差对比仿真图;
图9为具体实施本发明所述算法和常规基于时延估计技术控制算法的关节1时延估计增益对比仿真图;
图10为具体实施本发明所述算法和常规基于时延估计技术控制算法的关节2时延估计增益对比仿真图;
具体实施方式
下面结合附图进一步说明本发明,以下实例仅用于描述本发明而不用于限制本发明的使用范围,各领域工程技术人员对本发明的各种等价变换均包含在本发明所要求的权利范围内。具体实施步骤如下:
本发明公开一种基于时延估计的机械臂轨迹跟踪控制方法,用以控制n自由度串联机械臂,其中n为正整数,该控制方法包含以下步骤:
(1)建立n自由度机械臂动力学方程:
式中,
(2)将步骤(1)中给出的机械臂动力学方程改写成如下形式:
其中
(3)考虑到步骤(2)中的h较为复杂,采用时延估计的方法获得其近似值,并用该近似值代替真实值计算控制信号:
式中h(t-η)表示t-η时刻的h值,τm,(t-η)表示t-η时刻的τm值,
(4)采用滑模控制方法设计控制器,定义滑模面为:
式中λ为常数控制参数,e为控制误差,
e=θd-θ
式中θd为所跟踪的期望轨迹。机器人各关节控制器设计为:
式中
在步骤(4)中,采用模糊逻辑设计
式中a>0,δm>0均为常数,a和δm都是控制器的设计参数,b为模糊逻辑系统的输出,sat(x)的计算方法如下:
步骤(4)中,模糊逻辑系统的输出b通过以下步骤获取:
(4.1)根据一定的隶属度函数对输入进行模糊化。采用三角形隶属度函数对输入变量进行模糊化,滑模面与控制误差的隶属度函数如图1和图2所示。由图所示,s和e均分为小、中、大三个等级,分别用s、m、b表示。s的三个隶属度函数分别记作ls(s)、lm(s)、lb(s),分别对应滑模面的小、中、大三个等级;同样,e的三个隶属度函数分别记作ls(e)、lm(e)、lb(e),分别对应控制误差的小、中、大三个等级。s1、s2、s3和e1、e2、e3为隶属度函数的设计参数,应根据机械臂的特性与实际需求进行取值。
(4.2)设计模糊规则并根据模糊规则进行模糊推理;为计算m的自适应值,设计如下的模糊规则:
s1=ls(e)×ls(s)
s2=lm(e)×ls(s)
s3=ls(e)×lm(s)
sout=max(s1,s2,s3)
mout=lm(e)×lm(s)
bout=max(lb(e),lb(s))
式中max()表示取括号中各元素的最大值;将模糊逻辑的三个输出函数分别记为s、m、b;s、m、b三个输出函数的函数值分别乘以sout、mout、bout,再将得到的结果相加即得模糊输出结果,模糊输出结果为自变量为u的函数,记为f(u)。
(4.3)将模糊输出结果进行解模糊化,即为模糊逻辑系统的输出,用b表示,具体计算方式如下所示:
将b代入模糊逻辑设计
对所发明的控制器与自适应算法进行稳定性分析。
由步骤(2)至(4)中的公式可得:
记ε为时延估计的误差,则有
从采用模糊逻辑设计
记k为一个常数,由下式给出:
选取如下所示的李雅普诺夫函数
上述李雅普诺夫函数关于时间的导数如下
根据式(2)和步骤(4)中的滑模面将式(6)进一步化为:
根据步骤(4.1)至(4.3)中的模糊逻辑设计与计算过程,可得m为一个有上界的正数,将其上界记作mmax,将式(7)化为
当s2≥a的时候,式(8)可以进一步化为
从式(4)中可以看出k是一个正数,而m也是一个正数,将k的定义代入式(9)可得
上式可以进一步化为
这说明当s2≥a时系统是渐进稳定的,s会不断收敛到w,w由下式给出
w=k·mmin-1|ε|(12)
当以下条件成立时,时延估计误差有界:
其中
|s|≤△(14)
本发明选取的滑模面为线性滑模面,只要适当选取λ的值,式(14)即可确保机械臂的轨迹的跟踪误差有界。
为验证所发明控制方法的有效性,我们将其与常规的基于时延估计技术的滑模控制器进行对比仿真研究。仿真平台为win7x64位操作系统下的matlab软件,版本为r2016b,仿真对象为二自由度机械臂,如图4所示。仿真采用ode4固定步长求解器,步长设置为0.001s,仿真总时长为16s。
为使表述更为简洁,采用以下简记:si=sin(θi),ci=cos(θi),cij=cos(θi+θj)。仿真所用二自由度机械臂的动力学模型为:
式中
机械臂的具体参数如以下表1所示。
表1
控制器参数如以下表2所示,表2中的
表2
仿真结果如图5-10所示。θ1和θ2分别表示关节1和关节2的转角,e1和e2分别表示关节1和关节2的控制误差,m1和m2分别表示关节1和关节2的m值。从仿真结果中可以看出,本发明所提出的自适应时延估计控制算法具有较好的控制性能,且时延估计的m值具有很好的自适应能力,可以有效适应机械臂的不同工作状况。