本发明属于机械臂控制领域,特别是一种基于扩张状态观测器的机械臂高精度运动控制方法。
背景技术:
机械臂作为一种机电一体化设备,能够高效的完成各种复杂和危险的作业,提高生产效率,在工业、日常生活中得到广泛的应用。近年来该领域的快速发展,使得对机械臂的高精度运动控制提出更高的要求。但机械臂系统作为一种复杂的非线性系统,存在结构和非结构不确定性,如未建模干扰,非线性摩擦,参数不确定性,外部干扰等。这些不确定性的存在,对机械臂的运动控制精度带来很大的影响,从而加大控制器的设计难度。
对于机械臂的运动控制,常用的控制方法有前馈补偿控制、计算力矩法、自适应鲁棒控制方法等;前馈补偿控制、计算力矩法需要基于精确的机械臂模型。在实际工程中,由于以上不确定性,很难得到精确的机械臂数学模型,使得这些控制方法在实际工程中难以应用;自适应鲁棒控制方法针对系统中的参数不确定性,设计恰当的在线估计策略对其进行估计;对可能发生的外干扰等不确定性非线性,通过提高非线性反馈增益对其进行抑制进而提升系统性能。由于大的非线性反馈增益往往导致设计的保守性(即高增益反馈),从而使其在工程使用中有一定困难。然而,当外干扰等非结构不确定性逐渐增大时,所设计的自适应鲁棒控制器会引起跟踪性能恶化,甚至出现不稳定现象。
针对机械臂中存在的模型不确定性及外部扰动,设计一种基于扩张状态观测器(eso)的鲁棒控制器用于机械臂系统控制。所提出的方法在系统存在结构不确定性和非结构化不确定性的情况下具有较好跟踪性能。
技术实现要素:
本发明的目的在于提供一种基于扩张状态观测器的机械臂高精度运动控制方法,以提高机械臂的控制精度。
实现本发明目的的技术解决方案为:
一种基于扩张状态观测器的机械臂高精度运动控制方法,包括以下步骤:
步骤1、建立具有模型不确定性的机器臂系统状态方程;
首选建立机械臂系统名义模型;考虑外界干扰因数造成的不确定项,建立机械臂系统名义模型;建立具有模型不确定性的机器臂系统状态方程;
步骤2、基于反步法设计机械臂控制器;
步骤3、基于扩张状态观测器设计机械臂控制器:设计一个状态观测器对不确定集合进行观测从而在控制器中加以补偿,设计扩张状态观测器对模型不确定性及干扰进行估计;基于扩张状态观测器设计机械臂系统控制器。
本发明与现有技术相比,其显著优点:
本发明的基于扩张状态观测器的机械臂高精度运动控制方法对同时存在参数等结构不确定性以及外干扰等非结构不确定性有良好的鲁棒作用,并能够保证对跟关节的角度进行很好的跟踪。
下面结合附图对本发明作进一步详细描述。
附图说明
图1为本发明方法的流程图。
图2为实施例中双关节机械臂结构图。
图3为本发明所设计的基于扩张状态观测器的线性反馈控制器、线性反馈控制器以及传统pid控制器分别作用下的机械臂系统各关节角度跟踪随时间变化的对比曲线;(a)、(b)为局部放大图;(c)、(e)、(g)为关节1的角度跟踪曲线图;(d)、(f)、(h)为关节2的角度跟踪曲线图。
图4为本发明所设计的控制器、线性反馈控制器(图中以bfdl标识)以及传统pid控制器分别作用下的机械臂系统各关节角度跟踪误差随时间变化的对比曲线;(a)、(c)、(e)为关节1的角度跟踪误差曲线图;(b)、(d)、(f)为关节2的角度跟踪误差曲线图。
图5为本发明所涉及的控制器对机械臂模型不确定性及外部扰动的估计及估计误差图;(a)、(c)分别为关节1的外部扰动的估计和估计误差曲线图;(b)、(d)分别为关节2的外部扰动的估计和估计误差曲线图。
图6为本发明所涉及的控制器对机械臂各关节的控制输入曲线图。
具体实施方式
为了说明本发明的技术方案及技术目的,下面结合附图及具体实施例对本发明做进一步的介绍。
本发明的一种基于扩张状态观测器的机械臂高精度运动控制方法,包括以下步骤:
步骤1、建立具有模型不确定性的机器臂系统状态方程:
步骤1.1、建立具有不确定性的机器臂系统动力学模型:
为实现机器臂的高精度控制,必须综合考虑各种不确定因素,包括模型不确定性和外界干扰,建立具有不确定性的机器臂动力学模型:
其中q∈rn为关节角度,d(q)为n×n阶正定惯性矩阵,
步骤1.2、建立机械臂系统名义模型:
在实际工作中,由于测量误差、负载变化和外界干扰因素的影响,可能使得机器臂动力学参数值发生变化,因而机器臂动力学参数的精确值是很难或不可能获得的,只能够建立理想的名义模型。
将机器臂名义模型中机械臂各参数表示为d0(q),
其中δd(q),
其中
步骤1.3、建立具有模型不确定性的机器臂系统状态方程:
定义跟踪误差:角度误差e、角速度误差
其中qd为各关节期望角度,且二阶可导,q为各关节实际角度。
定义机械臂系统状态变量x1=e,
其中w=d0-1(q)(ρ+τd)包含模型不确定性和外界干扰的不确定集合。由机器臂的动力学特性知,w有界。
其中,为方便控制器的设计及分析,作出如下定义:设干扰力矩是有界的,即||τd||≤d,其中d>0,由机器臂的动力学特性知,d0(q)是正定有界的,因而w也是有界的,设
步骤2、基于反步法设计机械臂控制器:
步骤2.1、设计虚拟控制输入
为获得系统的稳定,引入状态变量x2的虚拟控制输入
则式(5)可表示为:
为保证系统稳定,设计虚拟控制输入
其中x1=[x11,...,x1n]t∈rn,x1n表示关节n的角度误差,k1为大于0的系数。
步骤2.2、设计控制器τ:
定义lyapunov函数v为:
则
基于式(10)设计控制器τ为:
其中k2为大于0的系数,将式(11)代入式(10)得:
则由式(12)知,机械臂系统渐进稳定。
步骤3、基于扩张状态观测器(eso)设计机械臂控制器:
步骤3.1、扩张状态观测器的设计:
在上述控制器设计中把不确定集合w当作已知量,但在实际中不确定集合w通常是无法准确知道的,因此在这里设计一个状态观测器对不确定集合w进行观测从而在控制器中加以补偿。考虑到扩张状态观测器eso不需要太多的模型信息的优点,设计扩张状态观测器eso对模型不确定性及干扰进行估计。
令状态变量x3=w,
由式(13),设计eso结构如下:
其中
令估计误差
定义
其中b=[0,0,1]t,a为赫尔维茨矩阵,有atp+pa=-i,矩阵p为对称正定矩阵,矩阵i为单位矩阵。由式(15)可以推导出
说明:假设h(t)是有界的,那么估计的状态总是有界的,且存在一个常数γi>0和有限时间t1>0,使得:
由上可知所提出扩张状态观测器eso具有良好的观测性能。在有限的时间之后,可以通过增加带宽ω0将估计误差缩小到规定范围。这表明,可以在控制器设计中使用估计状态
步骤3.2、基于扩张状态观测器eso设计机械臂系统控制器:
基于上述说明,设计基于eso的机械臂系统控制器为:
对上述机械臂系统控制器进行系统稳定性分析:
定义lyapunov函数为:
则
将式(18)代入式(20)得:
对上式各项进行简化得:
其中
则
由式(16)得:
将式(22)(24)(25)代入(21)得:
其中η=(x1,z,ε1,ε2,ε3)t,
令
则
则
由式(29)知,机械臂闭环系统有界稳定,且由
实施例
结合图2,本实施方式以串联二自由度机械臂说明本发明的一种基于扩张状态观测器的机械臂高精度运动控制方法的设计流程。具体步骤如下:
步骤1、建立具有模型不确定性的机器臂系统状态方程:
步骤1.1、建立具有不确定性的机器臂系统动力学模型:
为实现机器臂的高精度控制,必须综合考虑各种不确定因素,包括模型不确定性和外界干扰,建立具有不确定性的机器臂动力学模型:
其中q=[q1,q2]为关节角度,d(q)为2×2阶正定惯性矩阵,
步骤1.2、建立机械臂系统名义模型:
在实际工作中,由于测量误差、负载变化和外界干扰因素的影响,可能使得机器臂动力学参数值发生变化,因而机器臂动力学参数的精确值是很难或不可能获得的。只能够建立理想的名义模型。
将机器臂名义模型中机械臂各参数表示为d0(q),
其中δd(q),
其中
步骤1.3、建立具有模型不确定性的机器臂系统状态方程:
定义跟踪误差e,
其中qd为各关节期望角度,且二阶可导,q为各关节实际角度。
定义机械臂系统状态变量x1=e,
其中w=d0-1(q)(ρ+τd)包含模型不确定性和外界干扰的不确定集合。由机器臂的动力学特性知,w有界。
其中,为方便控制器的设计及分析,作出如下定义:设干扰力矩是有界的,即||τd||≤d,其中d>0,由机器臂的动力学特性知,d0(q)是正定有界的,因而w也是有界的,设
步骤2、基于反步法设计机械臂控制器:
步骤2.1、设计虚拟控制输入
为获得系统的稳定,引入状态变量x2的虚拟控制输入
则式(5)可表示为:
为保证系统稳定,设计虚拟控制输入
其中x1=[x11,x12]t∈r2,x12表示关节2的角度误差,k1为大于0的系数。
步骤2.2、设计控制器τ
定义lyapunov函数v为:
则
基于式(10)设计控制器τ为:
其中k2为大于0的系数,将式(11)代入式(10)得:
则由式(12)知,机械臂系统渐进稳定。
步骤3、基于扩张状态观测器(eso)设计机械臂控制器
步骤3.1、扩张状态观测器的设计
在上述控制器设计中把不确定集合w当作已知量,但在实际中不确定集合w通常是无法准确知道的,因此在这里设计一个状态观测器对不确定集合w进行观测从而在控制器中加以补偿。考虑到eso不需要太多的模型信息的优点,设计扩张状态观测器(eso)对模型不确定性及干扰进行估计。令状态变量x3=w,
由式(13),设计eso结构如下:
其中
令估计误差
定义
其中b=[0,0,1]t,a为赫尔维茨矩阵,有atp+pa=-i,矩阵p为对称正定矩阵,矩阵i为单位矩阵。由式(15)可以推导出
引理1:假设h(t)是有界的,那么估计的状态总是有界的,且存在一个常数γi>0和有限时间t1>0,使得:
说明1:由引理1可知所提出扩张状态观测器eso具有良好的观测性能。在有限的时间之后,可以通过增加带宽ω0将估计误差缩小到规定范围。这表明,可以在控制器设计中使用估计状态
步骤3.2、基于扩张状态观测器eso设计机械臂系统控制器
基于上述说明,设计基于eso的机械臂系统控制器为:
对上述机械臂系统控制器进行系统稳定性分析:
定义lyapunov函数为:
则
将式(18)代入式(20)得:
对上式各项进行简化得:
其中
则
由式(16)得:
将式(22)(24)(25)代入(21)得:
其中η=(x1,z,ε1,ε2,ε3)t,
令
则
则
由式(29)知,机械臂闭环系统有界稳定,且由
对上述设计的控制器进行matlab仿真:
取三种控制器的期望角度为q1d=1+0.2sin(0.5πt),q2d=1-0.2cos(0.5πt);取外部干扰
对比仿真结果:本发明所设计的基于扩张状态观测器的机械臂高精度运动控制器的参数选取为控制增益
三种控制器的跟踪性能如图3(a-g)、图4(a-f)所示。图3是本发明所设计的基于扩张状态观测器的线性反馈控制器(图中以esofdl标识)、线性反馈控制器(图中以bfdl标识)以及传统pid控制器分别作用下的机械臂系统各关节角度跟踪随时间变化的对比曲线。图4是本发明所设计的控制器(图中以esofdl标识)、线性反馈控制器(图中以bfdl标识)以及传统pid控制器分别作用下的机械臂系统各关节角度跟踪误差随时间变化的对比曲线。从图4可以看出基于扩张状态观测器的线性反馈控制器esofdl控制器随着时间的变化对关节角度具有较小的跟踪误差(关节1的角度误差为7.68×10-4°,关节2的角度误差为2.76×10-4°),其控制器瞬态和最终跟踪性能优于线性反馈控制器bfdl及pid控制器。此外,图5给出了扩张状态观测器(eso)对系统不确定性的估计及估计误差。从图5可以看出,扩张状态观测器(eso)对系统模型不确定性和外部扰动具有很好的估计及补偿。图6(a-b)给出了两关节的控制力矩。