发明内容
发明目的:为了克服现有技术的不足,本发明提供一种基于柔性关节机械臂的自适应控制方法,该方法解决了上述的技术问题。
技术方案:本发明所述的基于柔性关节机械臂的自适应控制方法,包括以下步骤:
(1)根据柔性关节机械臂的动力学方程得到具有全状态约束的纯反馈非线性系统的状态方程;
(2)依据所述纯反馈非线性系统的状态方程构建设计变量;
(3)利用基于动态面控制方法进行递推设计,根据控制目标拟设计虚拟控制变量、实际控制输入及自适应更新律;
(4)采用所述设计变量和纯反馈非线性系统的状态方程构建Lyapunov函数,选取合适的Lyapunov函数V,对函数V求导并将虚拟控制变量、实际控制输入、自适应更新律代入,验证是否成立,如成立,则证明设计的控制器可使得系统变量最终一致有界;如不成立,重新设计虚拟控制、控制输入、自适应更新律,直至成立;
(5)利用Lyapunov稳定性理论对上述纯反馈非线性系统的稳定性进行分析,在证明系统稳定的基础上,证明系统的状态变量符合所述控制目标。
进一步的,包括:
步骤(1)中,具有全状态约束的纯反馈非线性系统的状态方程包括:
其中,n为机械臂的连杆和电机的相关参数,此处为4,x∈Rn,u∈R,y∈R分别为系统的状态向量、控制输入与控制输出,且为未知光滑函数,为已知光滑函数,di(t)∈R为未知外部扰动,所有的状态变量被限制在一个开集Πxi={xi:|xi|<kxi}中,kxi为已知正数,i=1,2,...,n。
进一步的,包括:
所述步骤(2)中,构建的设计变量为:
其中,yr为系统输出的参考轨迹,ωj为滤波器输出变量,αi为第i个虚拟控制变量,χi为滤波器输入、输出之间的误差; 为优化的权向量,为Θ的估计,为估计误差。
进一步的,包括:
所述步骤(3)中,控制目标包括:
目标1:系统所有的状态变量不违反状态约束条件,即保证|xi|<kxi,i=1,2,...,n;
目标2:系统输出跟踪误差小于预先设定正常数;
目标3:所有的闭环系统变量最终一致有界。
进一步的,包括:
所述步骤(3)中,根据控制目标拟设计虚拟控制变量、实际控制输入及自适应更新律包括:
其中,ki,bi,l,σ>0均为设计参数,φi为神经网络基函数;为funnel误差变量,Si(t)是递推设计过程中的第i个误差变量,fηi(t)为第i个funnel边界,fηi=bi,0exp(-t/tsi)+b∞,i,bi,0≥b∞,i>0,|ei(0)|<fηi(0),tsi为收敛时间常数。
进一步的,包括:
所述步骤(4)具体包括以下步骤:
(41)根据具有全状态约束的纯反馈非线性系统的状态方程与S1=x1-yr,计算误差变量S1的导数,得到:
利用神经网络去逼近未知非线性函数f1,可得其中,表示估计误差变量,满足ε1,m>0,表示RBF神经网络最优权向量;
将上述公式改写为:
设计第1个虚拟控制变量为:
其中,b1为待设计的正常数;
为避免对虚拟控制变量α2重复求导,引入一个时间常数为τ2一阶滤波器,α2通过滤波器之后可得新的变量ω2,即:
定义χ2=ω2-α2,对χ2取关于时间的导数可得
H2表示如下的连续函数:
定义funnel误差变量其中fη1=b0,1exp(-t/ts1)+b∞,1;
选择第1个候选的Lyapunov函数为
对V1求导,可得:
利用Young不等式,得到
由于H2(·)为关于其参数的连续函数,若将初值在给定的紧集范围内,那么H2(·)存在上界M2;结合Young不等式,可得
将式(8),(9)代入式(7)得到:
(42)计算得到表示为:
(43)计算得到表示为:
进一步的,包括:
所述步骤(5),包括:首先,考虑闭环系统的Lyapunov函数为:
计算V关于时间的导数可得
选择控制增益与滤波器时间常数
其中,Ci,Cn,ρ为正常数,i=1,...,n-1;
因此,式(2)改写为:
其中
求解式(3)可得:
根据式(4)可知,t→∞时,选取的Lyapunov函数V(t)→γ/C,故可知λi,xi,都是有界的;由于Θ为优化的常数,且可得有界;λ1有界,则S1有界,进而可知状态变量x1有界;
参考轨迹满足|yr|≤A0,使|y|≤|yr|+|S1|≤A0+b0,1+b∞,1<kx1,可知状态x1不会违反状态约束条件;类似的,得出Si,αi,ωi有界,且xi也不会违反状态约束条件,其中i=2,…,n;
因此,由调节参数增大C或减小γ,使得2γ|fη1-|S1||/C<q成立,则跟踪误差S1<q必然成立。
有益效果:本发明与现有技术相比,其显著优点是:本发明针对机器人系统状态方程,在所有状态变量都有约束条件的情况下,提出一种基于预定性能控制的自适应控制方法,该方法可保证系统的状态约束条件永远不被违反;针对系统中存在的未知参数,采用利用神经网络逼近,解决系统控制参数不完全情况下的控制问题;在自适应控制设计中,考虑实际控制需求,将在线更新的自适应参数减小为1个;本发明提出预定性能控制方法,系统输出轨迹能跟踪参考轨迹,跟踪误差、跟踪速度、最大超调量可根据需要设定,满足给定的性能指标要求。
具体实施方式
下面对本发明技术方案进行详细说明。
本发明本实施例中以柔性关节机械臂模型为例,对其进行控制器设计,该柔性关节机械臂系统的动力学方程为:
其中,M、g、L分别为机械臂质量、重力加速度和机械臂长度;分别为电机角位置、角速度、角加速度,分别为机械臂连杆角位置、角速度、角加速度;I、J分别为连杆和电机的惯量;K为弹性系数;τ为控制力矩;d1和d2为有界干扰信号;f1是关于的未知函数,f2为关于的模型未知函数。
定义状态变量则根据方程(1)可得到如下状态方程:
其中,y为系统输出,由于机械臂连杆与电机受其物理特性限制,故其角位置、角速度、角加速度都受到一定的限制,只能在一定范围内运行。故假定系统的状态变量被约束在一个开集Πi={xi:|xi|<kci}中,其中kci为正常数,i=1,2,3,4。本发明的系统是指非线性系统,把柔性机械臂的状态方程一般化为一个非线性系统,这样算法的实用性就更广一些,只要满足这个非线性系统模型的都是可以使用的。
基于更一般非线性系统为研究对象,设计柔性机器人控制方法。具有全状态约束的纯反馈非线性系统的状态方程如下:
其中,x∈Rn,u∈R,y∈R分别为系统的状态向量、控制输入与控制输出,且为未知光滑函数,为已知光滑函数,di(t)∈R为未知外部扰动;所有的状态变量被限制在一个开集Πxi={xi:|xi|<kxi}中,kxi为已知正数,其中i=1,2,...,n。
上述柔性关节机器人的状态方程(3)满足纯反馈非线性系统的结构,可将状态方程(3)看作是上述纯反馈非线性系统在n=4时的特例。因此,本发明考虑应用基于不确定纯反馈非线性系统的神经网络自适应控制方法来解决柔性关节机器人系统的控制设计。
采用本发明所述的控制方法实现上述具有全状态约束的柔性关节机器人控制系统的预定性能控制,具体步骤如下:
(1)构建误差变量及其界函数。
首先引入如下设计变量:
其中,yr为系统输出的参考轨迹,ωj为滤波器输出变量, 为优化的权向量。αi为第i个虚拟控制变量,χi为滤波器输入、输出之间的误差; 为优化的权向量,为Θ的估计,为估计误差。
(2)利用基于动态面控制方法进行递推设计,拟设计虚拟控制变量、实际控制输入及自适应更新律如下:
其中,ki,bi,l,σ>0,为设计参数,φi为神经网络基函数,i=1,…n,为funnel误差变量,其中,Si(t)是递推设计过程中的第i个误差变量,fηi(t)为第i个funnel边界,fηi=bi,0exp(-t/tsi)+b∞,i,bi,0≥b∞,i>0,|ei(0)|<fηi(0),tsi为收敛时间常数。funnel误差变量选取是后续控制设计与稳定性分析的关键步骤。
(3)构建Lyapunov函数,提升闭环系统稳定性。选取合适的Lyapunov函数V,对V求导,并将虚拟控制αi、实际控制输入u、自适应更新律代入,验证是否成立。如成立,则证明上一步骤设计的控制器可使得闭环系统变量最终一致有界;如不成立,重新设计虚拟控制、控制输入、自适应更新律,直至成立。
本发明的控制目标是针对具有全状态约束的纯反馈非线性系统(4),结合神经网络逼近与最少学习参数方法,设计基于动态面控制与预定性能控制方法的神经网络自适应控制方案,使得自适应更新参数只有1个,便于实际参数调整。本发明的主要控制目标有:
目标1:系统所有的状态变量不违反状态约束条件,即保证|xi|<kxi,i=1,2,...,n;
目标2:系统输出跟踪误差小于预先设定正常数p;
目标3:所有的闭环系统变量最终一致有界;
本发明的目标是预定性能自适应控制,故主要控制目标有以上3个。解决了系统模型有约束条件下的预定性能控制问题。故控制目标为:系统稳定,不违反约束条件,满足性能指标,变换系统变量有界。
将给出具有全状态约束的非线性系统的预定性能控制方案,设计过程被分为n步。
第1步:根据状态方程(4)与S1=x1-yr,计算误差变量S1的导数,可得
利用神经网络去逼近未知非线性函数f1,可得其中表示估计误差变量,满足 表示RBF神经网络最优权向量。可将上述式(7)改写为:
设计第1个虚拟控制变量为:
其中,b1为待设计的正常数。
为避免对虚拟控制变量α2重复求导,引入一个时间常数为τ2一阶滤波器,α2通过滤波器之后可得新的变量ω2,即:
定义χ2=ω2-α2,对χ2取关于时间的导数可得
H2可表示如下的连续函数:
定义funnel误差变量其中fη1=b0,1exp(-t/ts1)+b∞,1。
选择第1个候选的Lyapunov函数为
根据(8)-(11)对V1求导,可得
利用Young不等式,可得
由于H2(·)为关于其参数的连续函数,若将初值在给定的紧集范围内,那么H2(·)存在上界M2。结合Young不等式,可得
将式(13),(14)代入式(12)可得
第i步(2≤i≤n-1):根据状态方程(4)与Si=xi-ωi,计算误差变量Si的导数,可得
利用神经网络去逼近未知非线性函数f1,可得其中表示估计误差变量,满足εi,m>0,表示RBF神经网络最优权向量。可将式(16)改写为:
设计第i个虚拟控制变量为
其中bi为待设计正常数。
引入一个时间常数为τi+1一阶滤波器,αi+1通过滤波器之后可得新的变量ωi+1,即:
定义χi+1=ωi+1-αi+1,对χi+1取关于时间的导数,可得
Hi+1(·)表示如下的连续函数:
定义新的funnel误差变量其中fηi=b0,iexp(-t/tsi)+b∞,i。
选择第i个候选的Lyapunov函数
对求导,并将式(17)-(20)代入可得
由于Hi+1(·)为关于其参数的连续函数,若将初值在给定的紧集范围内,那么Hi+1(·)存在上界Mi+1。与第1步相似,可得
利用Young不等式,可得
将式(23),(24)代入(22)可得
第n步:根据状态方程(4)与Sn=xn-ωn,计算误差变量Sn的导数,可得
利用神经网络去逼近未知非线性函数f1,可得其中表示估计误差变量,满足 表示RBF神经网络最优权向量。可将式(26)改写为:
定义第n个funnel误差变量其中fηn=b0,nexp(-t/tsn)+b∞,n。
计算λn的导数,并将式(27)代入可得
设计实际的控制器u为
设计唯一的自适应在线更新律为
其中l,σ为正的设计参数。
选择第n个候选的Lyapunov函数
计算Vn关于时间的导数,将式(27)-(30)代入,可得
利用Young不等式,可得下面的不等式
假设对于界函数fηn及第n个误差变量Sn,存在正常数βm,使得成立。fηn函数的形式可知其导数有界,假设Sn的导数有界,主要是限制其变化律,并不会对预先设定的控制性能指标产生影响。因此,该假设条件并不会增加所研究控制问题的保守性。将该不等式代入式(33),可得
利用完全平方公式,可以推出如下不等式
由于并将式(35)代入,则式(34)变为
(4)稳定性分析,证明所设计方法满足控制系统预定性能要求。利用Lyapunov稳定性理论对闭环系统稳定性进行分析,在证明系统稳定的基础上,证明系统的状态变量没有违反给定的状态约束条件,收敛速度、稳态误差能满足给定的性能指标要求。
考虑非线性闭环纯反馈非线性系统(4),所有的初始条件被定义在紧集内。如果选择虚拟控制(9),(18),实际控制器(29),自适应更新律(30),选择合适的设计参数ki,τi+1,σ,l,b0,i,b∞,i,,使得ci>0,pi>0成立。那么,所有的闭环系统变量最终一致有界,系统输出跟踪误差小于预先给定常数q,且不违反给定状态约束条件。
证明.考虑闭环系统的Lyapunov函数为
计算V关于时间的导数可得
选择控制增益与滤波器时间常数
其中Ci,Cn,ρ为正常数,i=1,...,n-1。
式(38)可改写为
其中
求解式(39)可得
根据式(40)可知,t→∞时,选取的Lyapunov函数V(t)→γ/C。故可知都是有界的。由于Θ为优化的常数,且可得有界。λ1有界,则S1有界,进而可知状态变量x1有界。参考轨迹满足|yr|≤A0,使|y|≤|yr|+|S1|≤A0+b0,1+b∞,1<kx1,可知状态x1不会违反状态约束条件。类似的,能得出Si,αi,ωi有界,且xi也不会违反状态约束条件,其中i=2,…,n。
由调节参数增大C或减小γ,使得2γ|fη1-|S1||/C<q成立,则跟踪误差S1<q必然成立。
本发明针对具有全状态约束的非线性系统的控制问题,提出了一种只需调节一个自适应控制参数的自适应预定性能控制方法。从控制设计过程可以看出,为避免循环设计问题,设计中提出了一个只影响误差变量变化率的假设条件,在预定性能控制框架下,可保证系统预先设定的暂态与稳态性能。系统的输出轨迹的稳态与暂态性能指标可以预先设定,本发明提出的控制设计方法比已有文献中研究的基于障碍Lyapunov函数的设计方法更有实用价值。
上述证明过程,是从理论上证明本发明提出的自适应控制方法的有效性。在实际应用中本发明提出的方法更加易于应用。主要表现在:
(1)根据funnel误差函数的特点可知S1<fηn恒成立,由funnel界函数定义可知只需设定ρ∞,1≤q成立,则稳态输出跟踪误差S1<q必然成立。
(2)调整时间常数ts1可以调整系统的收敛时间,而最大超调量可以通过设置b0,i,b∞,i进行预先设定。
(5)利用Matlab等工具进行仿真验证,将本发明提出的方法应用于柔性机器人系统模型,利用Matlab软件构建数学模型验证本发明提出的控制方法的有效性。如图3-7所示,具体的仿真方法如下:
期望输出曲线yr=0.5sin(0.5t),设定收敛时间ts1=2,稳态误差指标b1,∞=0.01,得到的主要仿真结果。