本发明提供一种输入输出非对称受限的全驱动水面舰船轨迹跟踪控制方法,它为输入输出受非对称限制的全驱动无人水面舰船,提供一种抑制外界扰动影响的跟踪期望轨迹的新控制方法,属于自动控制技术领域。
背景技术:
近年来,对于无人水面舰船的运动控制研究越来越多。其中,轨迹跟踪控制作为一个典型的运动控制,对于航海、智能勘测和智能侦查等方面的工作都有重大意义。所以我们需要针对无人水面舰船设计一种具有高性能的轨迹跟踪能力的控制器,从而实现水面舰船准确参考轨迹或虚拟对象。然而在实际应用系统中,会出现输入饱和的问题,从而导致性能退化、超前滞后、产生负脉冲信号甚至系统不稳定。同时,由于水面舰船的推进器只能输出正的动力,或当执行器有效性部分损失时,都会出现非对称输入饱和情况。此外,当水面舰船在一个狭窄的河道行进时,船的航迹被河道的两岸严格限制,因此需要考虑输出受限的问题。当航迹不是在河道的中间时,系统输出的限制也是非对称的。
因此发明“一种输入输出非对称受限的全驱动水面舰船轨迹跟踪控制方法”是把以上问题作为切入点,而提出的有针对性的,解决输入输出受非对称限制问题的水面舰船轨迹跟踪控制理论。引入有界李雅普诺夫函数、双曲正切函数和Nussbaum函数解决时变非对称输入输出限制的问题;使用自适应算法估计有界的不确定项以及外界扰动;同时,利用指令滤波器避免复杂的求导运算。该方法解决了输入输出非对称受限的问题,保证了系统的渐进稳定性,可实现可靠的轨迹跟踪,为水面舰船轨迹跟踪控制工程提供了一种高效可行的设计手段。
技术实现要素:
(1)目的:本发明的目的在于提供一种输入输出非对称受限的全驱动水面舰船轨迹跟踪控制方法,控制工程师可以在结合实际参数的同时,按照该方法实现水面舰船抗不确定项、抗扰动、抗输入输出受非对称限制的轨迹跟踪控制。
(2)技术方案:本发明“输入输出非对称受限的全驱动水面舰船轨迹跟踪控制方法”,其主要内容及步骤是:先由给定的轨迹期望跟踪值进行误差计算;然后根据轨迹运动学方程进行轨迹运动学控制计算得到虚拟控制律;利用神经网络逼近水面舰船模型中的不确定项,设计辅助控制系统解决执行机构饱和问题,随后基于水面舰船动力学方程得到控制量;最终将此控制量用于水面舰船模型。在实际应用当中,水面舰船的轨迹、速度等状态量由传感器测量得到,而由该方法计算得到的控制量将传输至舵机和螺旋桨等执行机构,即可实现水面舰船抗不确定项、抗扰动、抗执行机构非对称饱和问题的轨迹跟踪控制功能。
本发明“输入输出非对称受限的全驱动水面舰船轨迹跟踪控制方法”,其具体步骤如下:
步骤一给定期望跟踪轨迹:给定期望平面位置(xd,yd);给定期望偏航角ψd;期望跟踪轨迹表示为ηd=[xd,yd,ψd]T。
步骤二轨迹跟踪误差计算:计算实际轨迹与期望轨迹之间的误差z1=η-ηd。
步骤三对输入饱和部分进行处理:引入光滑分段函数近似描述执行器模型。
步骤四虚拟控制量α10计算:计算消除期望轨迹与实际轨迹之间的误差所需的虚拟控制量α10。
步骤五虚拟控制量α20计算:计算消除期望速度与实际速度之间的误差所需的虚拟控制量α20。
步骤六系统控制律设计:计算消除执行器期望输出与实际输出之间的误差所需的控制量φ。
其中,在步骤一中所述的给定期望跟踪轨迹包括:期望跟踪轨迹为ηd=[xd,yd,ψd]T,三个分量表示含义为:(xd,yd)表示期望平面位置,ψd表示期望偏航角。
其中,在步骤二中所述的轨迹跟踪误差的计算方法如下:
z1=η-ηd
η为水面舰船在惯性坐标系下的实际轨迹,η=[x,y,ψ]T,其中,(x,y)表示水面舰船的位置,ψ表示偏航角。
其中,在步骤三中所述的对输入饱和部分进行处理,其计算方法如下:
根据附图1,首先建立图中所示的惯性坐标系和体坐标系。从而可得到水面舰船的三自由度非线性运动方程:
其中,η=[x,y,ψ]T为在惯性坐标系下舰船的实际轨迹,(x,y)表示水面舰船的位置,ψ表示偏航角。υ=[u,v,r]T为舰船在体坐标系下的速度矢量,u,v,r分别为速度矢量沿船体坐标系的分解量,分别表示前进速度、横向速度和偏航角速度。R(ψ)为旋转矩阵,满足R-1(ψ)=RT(ψ):
M是非奇异、对称的正定惯性矩阵。C(υ)是向心矩阵,D(υ)是阻尼矩阵。三者分别表示如下:
b(t)=[b1(t) b2(t) b3(t)]T为不确定项,包括未建模不确定项以及未知时变的干扰量。为饱和执行器的输出及系统的输入。执行器输入输出的关系可被表示为:
其中,是不考虑执行器饱和下的控制量,可看做饱和执行器的输入。和分别是τi的上下限。但是此时输入与输出的关系曲线是不平滑的,无法使用反步法进行设计。因此定义一个光滑分段函数来近似表示执行器输入输出关系。
则水面舰船的运动方程可改写为
其中,是一个有界的函数向量,c>0,φ为之后需要设计的控制律。
其中,在步骤四中所述的计算虚拟控制量α10,其计算方法如下:
1)计算实际轨迹与给定期望轨迹的误差:z1=η-ηd。
2)给定非对称输出限制:kc(t)为系统输出下限,kd(t)为系统输出上限,则输出上下限与给定期望轨迹的差值
kαi=ηdi-kci,kbi=kdi-ηdi,(i=1,2,3)。
3)计算z1的导数:
4)设计虚拟控制量α10:
其中k1=diag(k11,k12,k13)为正定的对称矩阵;kα1>0,p≥0为正整数,
Q=diag(Q1,Q2,Q3),且
e1为辅助系统的状态,表示为
其中,为一个很小的常数,ke1>1,γ1>0,
Δα1=α1-α10。通过如附图2所示的微分跟踪滤波器,可由αi0(i=1,2)得到αi以及其导数值
从而可避免复杂的求导运算。
其中,在步骤五中所述的计算虚拟控制量α20,其计算方法如下:
1)计算实际速度与期望速度的误差:z2=v-α1。
2)计算z2的导数:
3)设计虚拟控制量α20:
其中,kα2>0,e2与e1相似,为辅助系统的一个状态变量,表示为
其中,为一个很小的常数,ke2>1,γ2>0,
Δα2=α2-α20。
4)自适应律设计:设计自适应律将模型中的不确定项以及外部扰动通过自适应算法近似估计,
其中γf,γσ>0,ρ∈R+。
其中,在步骤六中所述的系统控制律设计,其设计方法如下:
1)计算执行器的实际输出与期望输出的误差:
2)计算z3的导数:其中Θ=diag(θ1,θ2,θ3),由于时变的Θ会给设计和分析带来极大困难,引入Nussbaum函数阵N=diag(N1(χ1),N2(χ2),N3(χ3)),
3)设计控制量φ:
其中k3=diag(k31,k32,k33),为正定的对称矩阵。
(3)优点及效果:
本发明“执行器非对称饱和的水面舰船轨迹跟踪控制方法”,与现有技术比,其优点是:
1)本方法避免模型线性化,可直接应用于非线性模型,步骤简洁高效,并能保证系统的渐次稳定性;
2)本方法能够有效解决执行器非对称饱和问题,大幅度改善了由于执行机构的非对称饱和问题对于系统稳定性及各方面性能造成的不利影响;
3)本方法通过对输出进行非对称限制,能够使水面舰船在狭窄的河道行进时,可靠的跟踪参考航迹;
4)采用自适应算法良好的抑制了模型不确定性和外界扰动对系统的干扰影响;
5)本方法算法结构简单,响应速度快,易于工程实现。
在应用过程中,控制工程师可以根据实际要求给定水面舰船任意期望轨迹与相应的输入输出限制,并将由该方法计算得到的控制量直接传输至执行机构实现轨迹跟踪控制的功能。
附图说明
图1为本发明水面舰船模型图。
图2为本发明中滤波器的组成框图。
符号说明如下:
ηd ηd=[xd,yd,ψd]T为期望水面舰船行进轨迹,其中(xd,yd)表示期望平面位置,ψd表示偏航角。
η η=[x,y,ψ]T为水面舰船的实际轨迹;
υ υ=[u,v,r]T为水面舰船的速度矢量,u,v,r分别为速度矢量沿船体坐标系的分解量;
α10 α10为所设计的虚拟控制量;
α20 α20为所设计的虚拟控制量;
α1 α1为水面舰船的期望速度,可由α10通过滤波器得到;
α2 α2为执行器的期望输出,可由α20通过滤波器得到;
z1 z1为期望轨迹与实际轨迹之间的误差;
z2 z2为期望速度与实际速度之间的误差;
z3 z3为期望速度与实际速度之间的误差;
b b(t)=[b1(t)b2(t)b3(t)]T为不确定项,包括未建模动力以及未知时变的干扰量;
为不考虑执行器饱和下的系统输入量;
为饱和执行器的输出以及系统输入;
为一个光滑分段函数,用来近似表示执行器饱和模型;
为一个有界函数;
B B为模型不确定项b与的和;
kc(t) kc(t)为系统的最小输出限制;
kd(t) kd(t)为系统的最大输出限制;
φ φ为系统控制量;
为系统输入量所限定的最小值;
为系统输入量所限定的最大值;
e1,e2 e1,e2辅助系统的状态变量;
为不确定项的估计值;
具体实施方式
下面结合附图,对本发明的技术方案做进一步的说明。
本发明“输入输出非对称受限的全驱动水面舰船轨迹跟踪控制方法”,其具体步骤如下:步骤一:给定期望跟踪值
1)如图1所示,以一个固定点为原点,x轴指向北方,y轴指向东方,建立惯性坐标系;以水面舰船模型中的结构几何中心为原点,x轴指向舰船的头部,y轴垂直于x轴,建立体坐标系。
2)给定的期望轨迹为ηd=[xd,yd,ψd]T,三个分量表示含义为:(xd,yd)表示期望平面位置,ψd表示偏航角。
步骤二:计算轨迹跟踪误差z1
z1=η-ηd
步骤三:对输入饱和部分进行处理
根据附图1,首先建立图中所示的惯性坐标系和体坐标系。从而可得到水面舰船的三自由度非线性运动方程:
其中,η=[x,y,ψ]T为在惯性坐标系下舰船的实际轨迹,(x,y)表示水面舰船的位置,ψ表示偏航角。υ=[u,v,r]T为舰船在体坐标系下的速度矢量,u,v,r分别为速度矢量沿船体坐标系的分解量,分别表示前进速度、横向速度和偏航角速度。R(ψ)为旋转矩阵,满足R-1(ψ)=RT(ψ):
M是非奇异、对称的正定惯性矩阵。C(υ)是向心矩阵,D(υ)是阻尼矩阵。三者分别表示如下:
b(t)=[b1(t)b2(t)b3(t)]T为不确定项,包括未建模不确定项以及未知时变的干扰量。为饱和执行器的输出及系统的输入。执行器输入输出的关系可被表示为:
其中,是不考虑执行器饱和下的控制量,可看做饱和执行器的输入。和分
别是τi的上下限。但是此时输入与输出的关系曲线是不平滑的,无法使用反步法进行设计。因此定
义一个光滑分段函数来近似表示执行器输入输出关系。
则水面舰船的运动方程可改写为
其中,是一个有界的函数向量,c>0,φ为之后需要设计的控制律。
步骤四:计算虚拟控制量α10
1)计算实际轨迹与给定期望轨迹的误差:z1=η-ηd。
2)给定非对称输出限制:kc(t)为系统输出下限,kd(t)为系统输出上限,则输出上下限与给定期望轨迹的差值
kαi=ηdi-kci,kbi=kdi-ηdi,(i=1,2,3)。
3)计算z1的导数:
4)设计虚拟控制量α10:
其中k1=diag(k11,k12,k13)为正定的对称矩阵;kα1>0,p≥0为正整数,
Q=diag(Q1,Q2,Q3),且
e1为辅助系统的状态,表示为
其中,为一个很小的常数,ke1>1,γ1>0,
Δα1=α1-α10。通过如附图2所示的微分跟踪滤波器,可由αi0(i=1,2)得到αi以及其导数值
从而可避免复杂的求导运算。
步骤五:计算虚拟控制量α20
1)计算实际速度与期望速度的误差:z2=v-α1。
2)计算z2的导数:
3)设计虚拟控制量α20:
其中,kα2>0,e2与e1相似,为辅助系统的一个状态变量,表示为
其中,为一个很小的常数,ke2>1,γ2>0,
Δα2=α2-α20。
4)自适应律设计:设计自适应律将模型中的不确定项以及外部扰动通过自适应算法近似估计,
其中γf,γσ>0,ρ∈R+。
步骤六:设计系统控制律
1)计算执行器的实际输出与期望输出的误差:
2)计算z3的导数:其中Θ=diag(θ1,θ2,θ3),由于时变的Θ会给设计和分析带来极大困难,引入Nussbaum函数阵N=diag(N1(χ1),N2(χ2),N3(χ3)),
3)设计控制量φ:
其中k3=diag(k31,k32,k33),为正定的对称矩阵。