一种基于非线性MPC的氢燃料电池无人船路径跟踪控制方法
未命名
09-07
阅读:101
评论:0

一种基于非线性mpc的氢燃料电池无人船路径跟踪控制方法
技术领域
1.本发明涉及氢燃料电池无人船路径跟踪技术领域,尤其是涉及一种基于非线性mpc的氢燃料电池无人船路径跟踪控制方法。
背景技术:
2.氢燃料电池无人船实际航行时存在各种复杂工况,因此,其路径跟踪控制(使氢燃料电池无人船按照期望路径航行)是一个较为复杂的控制问题。
3.目前主要是通过los制导系统依据氢燃料电池无人船的实时位置和当前期望路径点求解参考航向,但由于基本los存在着缺陷,这些缺陷将导致氢燃料电池无人船的路径跟踪控制存在跟踪误差。
技术实现要素:
4.本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种基于非线性mpc的氢燃料电池无人船路径跟踪控制方法和系统,能够减少氢燃料电池无人船的跟踪误差,提升其跟踪精度。
5.根据本发明的第一方面实施例的基于非线性mpc的氢燃料电池无人船路径跟踪控制方法,所述基于非线性mpc的氢燃料电池无人船路径跟踪控制方法包括如下步骤:
6.确定氢燃料电池无人船的期望路径,并定位所述氢燃料电池无人船的实时位置和实时航向角;
7.将所述实时位置、所述实时航向角及所述期望路径输入至los制导系统中,以使所述los制导系统通过自适应的前视圆半径策略或通过自适应的积分los策略计算所述氢燃料电池无人船的位置偏差和航向偏差;其中,所述自适应的前视圆半径策略用于使所述氢燃料电池无人船的前视圆半径与所述期望路径之间存在交点,且使所述前视圆半径随所述实时位置至所述期望路径的垂直距离进行非线性自适应调整;所述自适应的积分los策略是指在积分los上增加随所述实时位置至所述期望路径的垂直距离而介入的虚拟控制输入;
8.构建基于所述氢燃料电池无人船的一阶非线性响应模型的mpc控制器,将所述位置偏差和所述航向偏差输入至所述mpc控制器中,得到输出的控制量;
9.根据所述控制量控制所述氢燃料电池无人船移动。
10.根据本发明实施例的控制方法,至少具有如下有益效果:
11.方法首先针对基本los制导律存在的不足进行改进,通过改进的los制导律将期望路径跟踪问题转换为航向跟踪问题,改进的los制导律通过自适应的前视圆半径策略或通过自适应的积分los策略计算所述氢燃料电池无人船的位置偏差和航向偏差,所提出的自适应的前视圆半径策略不仅解决前视圆可能与期望路径没有交点的问题,而且实际航行时,进一步缩小了前视圆半径,使氢燃料电池无人船找到最短路径,更快地收敛到期望路径上;所提出的自适应的积分los策略既能够保证氢燃料电池无人船能够准确地收敛至期望
路径,而且也能够避免积分增益设置不当产生的积分超调及饱和问题;然后基于氢燃料电池无人船的一阶非线性响应模型设计了mpc航向跟踪控制器,实现氢燃料电池无人船的航向跟踪控制。
12.根据本发明的一些实施例,所述自适应的积分los策略的前视圆半径的表达式为:
[0013][0014]
其中,r
min
为预设的最小前视圆半径,ye为氢燃料电池无人船实时位置至期望路径的垂直距离,|ye|为ye的绝对值,tanh为双曲正切函数。
[0015]
根据本发明的一些实施例,所述在积分los上增加随所述实时位置至所述期望路径的垂直距离而介入的虚拟控制输入的表达式为:
[0016][0017]
其中,ye为氢燃料电池无人船的实时位置至期望路径的垂直距离,|ye|为ye的绝对值,λ=λ0exp(-ρ1|ye|-ρ2|ye|2),ψ
p
为期望路径方向角,ψd为期望航向角,δ为前视距离,y
int
为虚拟控制输入,v表示氢燃料电池无人船的速度,λ0、ρ1和ρ2为大于零的常数。
[0018]
根据本发明的一些实施例,所述一阶非线性响应模型包括:
[0019][0020]
其中,u0>0为氢燃料电池无人船纵荡速度,ψ=ψd,t,k为操纵性指数,α为非线性系数,δ为输入。
[0021]
根据本发明的一些实施例,所述mpc控制器的目标函数包括:
[0022][0023]
其中,y(k+n)为第k+n时刻的输出状态量,yd(k+n)为第k+n时刻的参考输出状态量,δu(k+n)为第k+n时刻的控制增量,nc为控制时域步长,n
p
为预测时域步长,n
p
≥nc,m,n分别为状态增量和控制增量的加权矩阵。
[0024]
根据本发明的一些实施例,所述目标函数的约束条件包括:
[0025][0026]
其中,
为行数为nc的列向量,为克罗内克积,u
min
、u
max
为控制输入的最小值、最大值,y
min
、y
max
为控制输出的最小值、最大值,δu
min
、δu
max
为控制增量的最小值、最大值,y(k)为在预测时域内的预测输出,u(k-1)为k-1时刻的控制量。
[0027]
根据本发明的一些实施例,根据fmincon函数求解δ,得到n
p
组控制序列的解,并将n
p
组控制序列中的第一组解反馈输出所述控制量。
[0028]
根据本发明的第二方面实施例的基于非线性mpc的氢燃料电池无人船路径跟踪控制系统,所述基于非线性mpc的氢燃料电池无人船路径跟踪控制系统包括:
[0029]
参数获取单元,用于确定氢燃料电池无人船的期望路径,并定位所述氢燃料电池无人船的实时位置和实时航向角;
[0030]
los改进单元,用于将所述实时位置、所述实时航向角及所述期望路径输入至los制导系统中,以使所述los制导系统通过自适应的前视圆半径策略或通过自适应的积分los策略计算所述氢燃料电池无人船的位置偏差和航向偏差;其中,所述自适应的前视圆半径策略用于使所述氢燃料电池无人船的前视圆半径与所述期望路径之间存在交点,且使所述前视圆半径随所述实时位置至所述期望路径的垂直距离进行非线性自适应调整;所述自适应的积分los策略是指在积分los上增加随所述实时位置至所述期望路径的垂直距离而介入的虚拟控制输入;
[0031]
控制量计算单元,用于构建基于所述氢燃料电池无人船的一阶非线性响应模型的mpc控制器,将所述位置偏差和所述航向偏差输入至所述mpc控制器中,得到输出的控制量;
[0032]
氢燃料电池无人船控制单元,用于根据所述控制量控制所述氢燃料电池无人船移动。
[0033]
根据本发明实施例的控制系统,至少具有如下有益效果:
[0034]
系统首先针对基本los制导律存在的不足进行改进,通过改进的los制导律将期望路径跟踪问题转换为航向跟踪问题,改进的los制导律通过自适应的前视圆半径策略或通过自适应的积分los策略计算氢燃料电池无人船的位置偏差和航向偏差,所提出的自适应的前视圆半径策略不仅解决前视圆可能与期望路径没有交点的问题,而且实际航行时,进一步缩小了前视圆半径,使氢燃料电池无人船找到最短路径,更快地收敛到期望路径上;所提出的自适应的积分los策略既能够保证氢燃料电池无人船能够准确地收敛至期望路径,而且也能够避免积分增益设置不当产生的积分超调及饱和问题;然后基于氢燃料电池无人船的一阶非线性响应模型设计了mpc航向跟踪控制器,实现氢燃料电池无人船的航向跟踪控制。
[0035]
根据本发明的第三方面实施例的一种电子设备,包括至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行上述的基于非线性mpc的氢燃料电池无人船路径跟踪控制方法。
[0036]
根据本发明的第四方面实施例的一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述的基于非线性mpc的氢燃料电池无人船路径跟踪控制方法。
[0037]
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变
得显而易见,或者通过实施本发明而了解。
附图说明
[0038]
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0039]
图1是本发明一实施例提供的氢燃料电池无人船的三自由度运动示意图;
[0040]
图2是本发明一实施例提供的氢燃料电池无人船的差速推进系统图;
[0041]
图3是本发明一实施例提供的路径跟踪几何示意图;
[0042]
图4是本发明一实施例提供的los原理图;
[0043]
图5是本发明一实施例提供的路径跟踪控制的原理图;
[0044]
图6是本发明一实施例提供的基于非线性mpc的氢燃料电池无人船路径跟踪控制方法的流程示意图;
[0045]
图7是本发明一实施例提供的前视圆半径随|ye|的变化曲线;
[0046]
图8是本发明一实施例提供的改进积分los导引策略的原理图;
[0047]
图9是本发明一实施例提供的氢燃料电池无人船实物图;
[0048]
图10是本发明一实施例提供的基于非线性mpc的氢燃料电池无人船路径跟踪控制系统的结构示意图;
[0049]
图11是本发明一实施例提供的一种电子设备的结构示意图。
具体实施方式
[0050]
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0051]
在本发明的描述中,如果有描述到第一、第二等只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
[0052]
在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
[0053]
本发明的描述中,需要说明的是,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
[0054]
背景介绍
[0055]
参照图1和图2,氢燃料电池无人船(后续简称氢燃料电池无人船)的路径跟踪控制是使其按照期望路径航行。需要注意的是,本发明以两个推进器(左舷和右舷推进器)的欠驱动氢燃料电池无人船为例,但不能作为本技术保护范围的限定。
[0056]
fossen等人将氢燃料电池无人船的模型进行整合提出了其三自由度运动学方程为:
[0057][0058]
其中,在惯性坐标系下氢燃料电池无人船的实际位置为(x,y);航向角为ψ;u、v、r分别代表氢燃料电池无人船相应的速度和角速度。
[0059]
响应型模型是一种常见的船舶运动模型,其以舵角作为控制的输入,航向角和艏摇角作为控制的输出。从数理角度看,响应型模型可以看作水动力模型的简化形式,响应型模型在船舶运动控制领域中有着十分广泛的应用。针对输入仅来自两个推进器的欠驱动氢燃料电池无人船,引入虚拟舵角概念,并将虚拟舵角与氢燃料电池无人船尾部安装的左、右推进电机的转速建立联系,定义虚拟舵角与左舷和右舷推进器转速之间的映射关系为:
[0060][0061]
式中,δ为虚拟舵角,k为比例系数,δ
max
为人为设定的舵角调整界值。
[0062]
已知氢燃料电池无人船在稳定状态下航行时,其纵向速度基本不变,因此,可将操纵方程先线性化和再做拉氏变换,得到虚拟舵角δ与艏摇角速度之间的传递函数:
[0063][0064]
其中,k、t1、t2、t3为操纵性指数。对式(3)拉普拉斯逆变换,可得时域方程为:
[0065][0066]
式(4)即为氢燃料电池无人船的二阶响应模型。
[0067]
将式(4)降阶为一阶模型,可得:
[0068][0069]
式中,t=t1+t
2-t3。进一步可得氢燃料电池无人船的一阶非线性响应模型为:
[0070][0071]
其中,α为非线性系数。
[0072]
为了便于实际航行的控制,设计基准转速为λ,调节转速为δλ,则左右舷推进器的实际转速可表示为:
[0073][0074]
将式(7)代入式(2)得:
[0075][0076]
其中,δλ为调节转速,用于保证左右舷推进器转速变化量绝对值一致,δλ的引入不仅可以减少控制量,还可以控制氢燃料电池无人船转向起到模拟转向舵的作用,且在δλ=0时氢燃料电池无人船做直航运动。
[0077]
需要注意的是,上述是以响应型模型和以两个推进器(左舷和右舷推进器)的欠驱动氢燃料电池无人船作为示例,本技术所示的技术方案还可适用于其它模型的氢燃料电池无人船的路径跟踪领域。
[0078]
参照图3,令w(s)为一系列路径点生成的期望路径,氢燃料电池无人船的实际位置p(x,y)在期望路径上的投影点为p
′
(xw(s),yw(s))。
[0079]
路径点p
′
(xw(s),yw(s))处的方向角为:
[0080]
ψ
p
=arctan2(y
′w(s),x
′w(s))
ꢀꢀꢀ
(9)
[0081][0082]
定义ψ
p
为期望路径方向角,则氢燃料电池无人船路径跟踪误差可以表示为:
[0083][0084]
由于点p
′
(xw(s),yw(s))是氢燃料电池无人船实际位置p(x,y)的投影点,故xe=0,则路径跟踪的横向位置偏差为:
[0085][0086]
为了实现氢燃料电池无人船的路径跟踪,需要保证ye能够较好的收敛于0。
[0087]
基本los可将目标路径划分成多个路径点,形成一个路径序列,并根据氢燃料电池无人船的实时位置和当前期望路径点求解参考航向。当氢燃料电池无人船巡航至当前期望路径点邻近区域时,路径序列中的下一个路径点更新为目标路径点,同理,依次控制氢燃料电池无人船航行至每个路径点,其原理如图4所示。
[0088]
在惯性坐标系xioiyi中定义pw(xw,yw),p
w+1
(x
w+1
,y
w+1
),p
w+2
(x
w+2
,y
w+2
)三个路径点,形成期望路径以氢燃料电池无人船的实际位置p(x,y)为圆心,r
los
=nl(n>1)(l为船长)为半径的圆弧与路径的交点中距p
w+1
较近的交点即为los的视线点p
los
(x
los
,y
los
),该圆弧为前视圆,r
los
为前视圆半径。求解视线点p
los
(x
los
,y
los
)的公式为:
[0089][0090]
氢燃料电池无人船的期望航向角ψd计算公式为:
[0091][0092]
当氢燃料电池无人船航行到以p
w+1
为圆心,r0为半径的圆形区域时,则需要更新下一个路径点p
w+2
作为参考点,更新条件为:
[0093][0094]
其中,r0=ml(m>1)(l为船长),称为路径切换圆半径,一般根据经验确定。
[0095]
氢燃料电池无人船实际位置p(x,y)到路径的垂直距离为ye,即氢燃料电池
无人船航行的横向位置偏差。由几何关系可得:
[0096]
ye=-(x-xw)sinψ
p
+(y-yw)cosψ
p
ꢀꢀꢀ
(16)
[0097]
其中,ψ
p
为oiyi轴与路径的夹角。则los制导律,即期望航向角为:
[0098][0099]
其中,δ为前视距离,一般根据经验取2~5个船长l。
[0100]
基本los会存在如下缺陷,进而导致氢燃料电池无人船的路径跟踪存在误差:
[0101]
(1)由于基本los的前视圆半径r
los
=nl(n>1)为定值,当横向位置误差大于转向半径r
los
时,前视圆存在与期望路径无交点的可能,此时los制导律将失效。
[0102]
(2)另外氢燃料电池无人船在航行时受外部干扰,这些外部干扰会导致氢燃料电池无人船航行时产生漂角,导致较大的跟踪误差。
[0103]
因此由于los存在上述的不足,这将导致氢燃料电池无人船存在着跟踪误差。
[0104]
实施例部分
[0105]
参照图5至图9,本技术一个实施例,提供了一种基于非线性mpc的氢燃料电池无人船路径跟踪控制方法,本方法包括如下思路:
[0106]
首先设置期望路径点,生成由路径点相互连接的直线期望路径;其次改进los制导律,los制导系统可以依据期望路径以及gps和惯导模块提供的氢燃料电池无人船实时位置和航向角计算跟踪路径的横向位置偏差和航向偏差;然后基于氢燃料电池无人船的一阶非线性响应模型设计mpc控制器,mpc控制器可以根据氢燃料电池无人船的横向位置偏差、航向偏差计算出最优控制量;最终将相应控制指令输入到氢燃料电池无人船的动力系统,完成路径跟踪。
[0107]
如图6,本方法具体包括如下流程:
[0108]
步骤s101、确定氢燃料电池无人船的期望路径,并定位氢燃料电池无人船的实时位置和实时航向角。
[0109]
氢燃料电池无人船的路径跟踪控制是使其按照期望路径航行。通常是给出期望路径点,参照图3,p点是氢燃料电池无人船的位置点,已知每一段期望路径都由2个期望路径点生成,例如:pw、p
w+1
和p
w+2
是连续三个期望路径点,pwp
w+1
是一段期望路径,p
w+1
p
w+2
是一段期望路径。
[0110]
氢燃料电池无人船的实时位置和实时航向角可以通过gps或惯导检测出。
[0111]
步骤s102、将实时位置、实时航向角及期望路径输入至los制导系统中,以使los制导系统通过自适应的前视圆半径策略和通过自适应的积分los策略计算氢燃料电池无人船的位置偏差和航向偏差;其中,自适应的前视圆半径策略用于使氢燃料电池无人船的前视圆半径与期望路径之间存在交点,且使前视圆半径随实时位置至期望路径的垂直距离进行非线性自适应调整;自适应的积分los策略是指在积分los上增加随实时位置至期望路径的垂直距离而介入的虚拟控制输入。
[0112]
为了解决上述缺陷,本技术在步骤s102中分别进行如下设计:
[0113]
针对问题(1)前视圆可能与期望路径没有交点的问题,可引入自适应动态调节的思想,将los制导律的前视圆半径随横向位置偏差的变化进行动态调节,保证前视圆始终与期望路径有交点。先初步将los制导律的前视圆半径改进为:,
[0114]rlos1
=|ye|+r
min
ꢀꢀꢀ
(18)
[0115]
其中,r
min
为最小前视圆半径。
[0116]
式(18)虽然解决了前视圆可能与期望路径没有交点的问题,但是前视圆半径随|ye|线性变化。当|ye|较大时,前视圆半径也比较大,导致氢燃料电池无人船收敛至期望路径的时间变长。然而,实际航行时,是希望当氢燃料电池无人船偏离期望路径时,能够找到最短路径,以最快的速度收敛到期望路径上;因此,本实施例在式(18)的基础上引入双曲正切函数,在r
los1
基础上改进为:
[0117][0118]
改进后的前视圆半径随|ye|的变化曲线如图7所示。此处为了便于对比说明,绘制曲线时取r
min
=1.225m。根据图7分析,当ye较小时,r
los2
→rmin
;当ye→
∞时,r
los2
→
|ye|且r
los2
>|ye|,保证了前视圆与期望路径始终有交点,且当|ye|较大时,相比于r
los1
进一步缩小了前视圆半径,使氢燃料电池无人船找到最短路径,更快地收敛到期望路径上。
[0119]
参照图8本技术针对问题(2),提出一种改进的积分los导引策略:
[0120][0121][0122]
λ=λ
0 exp(-ρ1|ye|-ρ2|ye|2)
ꢀꢀꢀ
(22)
[0123]
其中,y
int
是虚拟控制输入,即积分项;u,v为氢燃料电池无人船的纵荡速度和横荡速度;λ0、ρ1和ρ2为大于零的常数。
[0124]
根据式(22)可得:
[0125][0126]
根据式(23),当氢燃料电池无人船路径跟踪误差|ye|较大时,积分项y
int
≈0,此时积分项不起作用;当|ye|较小时,λ≈λ0,此时积分项起到补偿漂角的作用,保证氢燃料电池无人船能够准确地收敛至期望路径。本方法能够依据|ye|的大小及时介入积分项,有效避免积分增益设置不当产生的积分超调及饱和问题。
[0127]
这里通过如下方式,证明式(20)的稳定性。
[0128]
证明:将式(12)求导,并代入式(11)可得:
[0129][0130]
将式(1)代入式(24)可得:
[0131][0132]
其中,ψ为氢燃料电池无人船的实际航向,β=a tan2(v,u)为漂角,通常漂角β较小,故进行合理近似sinβ≈β,cosβ≈1,可得:
[0133][0134]
为了实现氢燃料电池无人船的路径跟踪,需要满足氢燃料电池无人船的航向角ψ等于利用los制导律求得的期望航向角ψd,即ψ=ψd,此时有ψ
los
=ψ
p-ψ,所以:
[0135][0136][0137]
令则在路径跟踪控制研究时,认为氢燃料电池无人船的纵荡速度u≈u0(u0>0为定常速度),由于横荡速度很小,取v≈0,式(26)可改写为:
[0138][0139]
构建李雅普诺夫函数:
[0140][0141]
由于对式(30)求导,并将式(20)和式(29)代入,可得:
[0142][0143]
可得当且仅当ye=0时,因此,在平衡点ye=0处,导引系统是一致全局渐进稳定的,证毕。
[0144]
步骤s103、构建基于氢燃料电池无人船的一阶非线性响应模型的mpc控制器,将位置偏差和航向偏差输入至mpc控制器中,得到输出的控制量。
[0145]
为了完成期望路径跟踪,需要使氢燃料电池无人船的航向跟踪至pp
los
方向,即ψ=ψd,此时航向角偏差已知航向角误差微分方程为:
[0146][0147]
改进los制导律时引入了积分项消除了漂角的影响,故简化式(26)可得:
[0148][0149]
结合氢燃料电池无人船的一阶非线性响应模型(式(25)),可得:
[0150][0151]
将式(34)改写为状态空间方程得:
[0152][0153]
其中系统状态量输入u=δ,输出p为输出矩阵。
[0154]
接下来采用经典四阶龙格-库塔法对氢燃料电池无人船的非线性状态空间方程进行离散化,当前k时刻的状态值为x(k),则k+1时刻的状态值为:
[0155][0156]
其中,t为离散时间间隔,k1、k2、k3、k4表达式为:
[0157][0158][0159]
对式(35)离散化处理,得到:
[0160][0161]
其中,fb为f离散化后的函数,y(k+1)为离散系统输出。
[0162]
由于氢燃料电池无人船的运动受到机械性能的限制,其运动范围有限,因此需要在控制量和控制增量上加入限制约束。在k时刻,控制增量、控制量极限及输出量约束可表示为:
[0163][0164]
其中,nc代表控制时域步长,n
p
代表预测时域步长,且n
p
≥nc,δu
min
、δu
max
表示控制增量的最小值、最大值,u
min
、u
max
控制输入的最小值、最大值,y
min
、y
max
为控制输出的最小值、最大值。此外δu(k+n)=u(k+n)-u(k+n-1),且当n=nc,
…
,n
p-1时,u(k+n)=u(k+n
c-1)。
[0165]
为了处理式(40)的约束,解决非线性最优化问题时,需要构建新的状态空间表达。令输入变量为控制增量δu(k),新的状态变量为ζ(k),且ζ(k)由控制变量δu(k-1)和状态空间变量x(k)扩充。定义ζ(k)为:
[0166][0167]
可得新的状态空间模型为:
[0168][0169]
其中,p1=[i
i oi×2],p2=[o2×
i ij],且i=1,j=3。
[0170]
因此,式(40)的约束条件可进一步表示为:
[0171][0172]
式中u
min
、u
max
、δu
min
、δu
max
、y
min
、y
max
的表达式分别为:
[0173][0174][0175][0176]
其中,表示行数为nc的列向量,表示克罗内克积。y(k)为在预测时域内的预测输出,表达式为:
[0177]
y(k)=[y(k+1),y(k+2),
…
,y(k+n
p
)]
t
ꢀꢀꢀ
(47)
[0178]
且y(k+n+1)=p3f
′b(ζ(k+n),δu(k+n)),n=n=0,1,
…np-1。p3=[i
j o2×i]。
[0179]
为了使氢燃料电池无人船跟踪期望路径,接下来使用控制增量以及状态量设计目标函数,定义目标函数如下:
[0180][0181]
式中m,n分别代表状态增量和控制增量的加权矩阵;yd(k)为系统的参考输出变量。
[0182]
基于非线性mpc的氢燃料电池无人船路径跟踪控制问题,可以转化为如下最优化问题。
[0183][0184]
s.t.ζ(k+n+1)=f
′b(ζ(k+n),δu(k+n)),n=n=0,1,
…np-1
[0185]
δu
min
≤δu(k)≤δu
max
[0186]umin
≤mδu(k)+u(k)≤u
max
[0187]ymin
≤y(k)≤y
max
ꢀꢀꢀꢀ
(49)
[0188]
利用matlab自带的fmincon函数求解最优控制输入δ,得到n
p
组控制序列的解,并将该序列的第一组解反馈输出,然后根据虚拟舵角与左舷和右舷推进器转速之间的映射关系,即式(8),解算出调节转速δλ为:
[0189][0190]
根据式(7)进一步可以得到左右舷推进器实际控制转速为:
[0191][0192]
步骤s104、根据控制量控制氢燃料电池无人船移动。
[0193]
最终通过调节氢燃料电池无人船的左右舷推进器转速便可完成路径跟踪控制。
[0194]
本方法通过改进的los制导律将期望路径跟踪问题转换为目标航向跟踪问题,改进的los制导律通过自适应的前视圆半径策略或通过自适应的积分los策略计算所述氢燃料电池无人船的位置偏差和航向偏差,所提出的自适应的前视圆半径策略不仅解决前视圆可能与期望路径没有交点的问题,而且实际航行时,进一步缩小了前视圆半径,使氢燃料电池无人船找到最短路径,更快地收敛到期望路径上;所提出的自适应的积分los策略既能够保证氢燃料电池无人船能够准确地收敛至期望路径,而且也能够避免积分增益设置不当产生的积分超调及饱和问题。
[0195]
本方法首先设计了带有双曲正切函数的los前视圆半径动态调节方程,缩短了氢燃料电池无人船到期望路径的收敛距离;适时引入los制导律中的积分项有效避免了积分增益导致的系统超调和震荡,实现更平稳的路径收敛。然后基于氢燃料电池无人船的一阶非线性响应模型设计了mpc目标航向跟踪控制器。
[0196]
参照图10,本技术一实施例,提供了一种基于非线性mpc的氢燃料电池无人船路径跟踪控制系统,所述基于非线性mpc的氢燃料电池无人船路径跟踪控制系统包括:参数获取单元1100、los改进单元1200、控制量计算单元1300和氢燃料电池无人船控制单元1400,具体包括:
[0197]
参数获取单元1100用于确定氢燃料电池无人船的期望路径,并定位氢燃料电池无人船的实时位置和实时航向角。
[0198]
los改进单元1200用于将实时位置、实时航向角及期望路径输入至los制导系统中,以使los制导系统通过自适应的前视圆半径策略或通过自适应的积分los策略计算氢燃料电池无人船的位置偏差和航向偏差;其中,自适应的前视圆半径策略用于使氢燃料电池无人船的前视圆半径与期望路径之间存在交点,且使前视圆半径随实时位置至期望路径的垂直距离进行非线性自适应调整;自适应的积分los策略是指在积分los上增加随实时位置至期望路径的垂直距离而介入的虚拟控制输入。
[0199]
控制量计算单元1300用于构建基于氢燃料电池无人船的一阶非线性响应模型的mpc控制器,将位置偏差和航向偏差输入至mpc控制器中,得到输出的控制量。
[0200]
氢燃料电池无人船控制单元1400用于根据控制量控制氢燃料电池无人船移动。
[0201]
本系统实施例与上述方法实施例是基于相同发明构思,因此上述方法实施例的内
容也能适用于本方法实施例,这里不再赘述。
[0202]
参照图11,本技术实施例还提供了一种电子设备,本电子设备包括:
[0203]
至少一个存储器;
[0204]
至少一个处理器;
[0205]
至少一个程序;
[0206]
至少一个氢燃料电池;程序被存储在存储器中,处理器执行至少一个程序以实现本公开实施上述的基于非线性mpc的氢燃料电池无人船路径跟踪控制方法。方法首先针对基本los制导律存在的不足进行改进,通过改进的los制导律将期望路径跟踪问题转换为目标航向跟踪问题,改进的los制导律通过自适应的前视圆半径策略或通过自适应的积分los策略计算所述氢燃料电池无人船的位置偏差和航向偏差,所提出的自适应的前视圆半径策略不仅解决前视圆可能与期望路径没有交点的问题,而且实际航行时,进一步缩小了前视圆半径,使氢燃料电池无人船找到最短路径,更快地收敛到期望路径上;所提出的自适应的积分los策略既能够保证氢燃料电池无人船能够准确地收敛至期望路径,而且也能够避免积分增益设置不当产生的积分超调及饱和问题;然后基于氢燃料电池无人船的一阶非线性响应模型设计了mpc目标航向跟踪控制器,实现氢燃料电池无人船的目标航向跟踪控制。
[0207]
该电子设备可以为包括手机、平板电脑、个人数字助理(personal digital assistant,pda)、车载电脑等任意智能终端。
[0208]
下面对本技术实施例的电子设备进行详细介绍。
[0209]
处理器1600,可以采用通用的中央处理器(central processing unit,cpu)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本公开实施例所提供的技术方案;
[0210]
存储器1700,可以采用只读存储器(read only memory,rom)、静态存储设备、动态存储设备或者随机存取存储器(random access memory,ram)等形式实现。存储器1700可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1700中,并由处理器1600来调用执行本公开实施例的基于非线性mpc的氢燃料电池无人船路径跟踪控制方法。
[0211]
输入/输出接口1800,用于实现信息输入及输出;
[0212]
通信接口1900,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信;
[0213]
总线2000,在设备的各个组件(例如处理器1600、存储器1700、输入/输出接口1800和通信接口1900)之间传输信息;
[0214]
其中处理器1600、存储器1700、输入/输出接口1800和通信接口1900通过总线2000实现彼此之间在设备内部的通信连接。
[0215]
本公开实施例还提供了一种存储介质,该存储介质是计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使计算机执行上述基于非线性mpc的氢燃料电池无人船路径跟踪控制方法。方法首先针对基本los制导律存在的不足进行改进,通过改进的los制导律将期望路径跟踪问题转换为目标航向跟踪问题,改进的los制导律通过自适应的前视圆半径策略或通过自适应的积分los策略计算所述氢燃料电池无人船的位置偏差和航向偏差,所提出的自适应的前视圆半径策略不仅解决前视圆
可能与期望路径没有交点的问题,而且实际航行时,进一步缩小了前视圆半径,使氢燃料电池无人船找到最短路径,更快地收敛到期望路径上;所提出的自适应的积分los策略既能够保证氢燃料电池无人船能够准确地收敛至期望路径,而且也能够避免积分增益设置不当产生的积分超调及饱和问题;然后基于氢燃料电池无人船的一阶非线性响应模型设计了mpc目标航向跟踪控制器,实现氢燃料电池无人船的目标航向跟踪控制。
[0216]
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0217]
本公开实施例描述的实施例是为了更加清楚的说明本公开实施例的技术方案,并不构成对于本公开实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本公开实施例提供的技术方案对于类似的技术问题,同样适用。
[0218]
本领域技术人员可以理解的是,图中示出的技术方案并不构成对本公开实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
[0219]
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0220]
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
[0221]
本技术的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0222]
应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
[0223]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互
之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0224]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0225]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0226]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序的介质。
[0227]
上面结合附图对本发明实施例作了详细说明,但本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
技术特征:
1.一种基于非线性mpc的氢燃料电池无人船路径跟踪控制方法,其特征在于,所述基于非线性mpc的氢燃料电池无人船路径跟踪控制方法包括如下步骤:确定氢燃料电池无人船的期望路径,并定位所述氢燃料电池无人船的实时位置和实时航向角;将所述实时位置、所述实时航向角及所述期望路径输入至los制导系统中,以使所述los制导系统通过自适应的前视圆半径策略或通过自适应的积分los策略计算所述氢燃料电池无人船的位置偏差和航向偏差;其中,所述自适应的前视圆半径策略用于使所述氢燃料电池无人船的前视圆半径与所述期望路径之间存在交点,且使所述前视圆半径随所述实时位置至所述期望路径的垂直距离进行非线性自适应调整;所述自适应的积分los策略是指在积分los上增加随所述实时位置至所述期望路径的垂直距离而介入的虚拟控制输入;构建基于所述氢燃料电池无人船的一阶非线性响应模型的mpc控制器,将所述位置偏差和所述航向偏差输入至所述mpc控制器中,得到输出的控制量;根据所述控制量控制所述氢燃料电池无人船移动。2.根据权利要求1所述的基于非线性mpc的氢燃料电池无人船路径跟踪控制方法,其特征在于,所述自适应的积分los策略的前视圆半径的表达式为:其中,r
min
为预设的最小前视圆半径,y
e
为氢燃料电池无人船实时位置至期望路径的垂直距离,|y
e
|为y
e
的绝对值,tanh为双曲正切函数。3.根据权利要求1所述的基于非线性mpc的氢燃料电池无人船路径跟踪控制方法,其特征在于,所述在积分los上增加随所述实时位置至所述期望路径的垂直距离而介入的虚拟控制输入的表达式为:其中,y
e
为氢燃料电池无人船的实时位置至期望路径的垂直距离,|y
e
|为y
e
的绝对值,λ=λ0exp(-ρ1|y
e
|-ρ2|y
e
|2),ψ
p
为期望路径方向角,ψ
d
为期望航向角,δ为前视距离,y
int
为虚拟控制输入,v为氢燃料电池无人船的速度,λ0、ρ1和ρ2为大于零的常数。4.根据权利要求3所述的基于非线性mpc的氢燃料电池无人船路径跟踪控制方法,其特征在于,所述一阶非线性响应模型包括:其中,u0>0为氢燃料电池无人船纵荡速度,ψ=ψ
d
,t,k为操纵性指数,α为非线性系数,δ为输入。
5.根据权利要求4所述的基于非线性mpc的氢燃料电池无人船路径跟踪控制方法,其特征在于,所述mpc控制器的目标函数包括:其中,y(k+n)为第k+n时刻的输出状态量,y
d
(k+n)为第k+n时刻的参考输出状态量,δu(k+n)为第k+n时刻的控制增量,n
c
为控制时域步长,n
p
为预测时域步长,n
p
≥n
c
,m,n分别为状态增量和控制增量的加权矩阵。6.根据权利要求5所述的基于非线性mpc的氢燃料电池无人船路径跟踪控制方法,其特征在于,所述目标函数的约束条件包括:其中,其中,其中,为行数为n
c
的列向量,为克罗内克积,u
min
、u
max
为控制输入的最小值、最大值,y
min
、y
max
为控制输出的最小值、最大值,δu
min
、δu
max
为控制增量的最小值、最大值,y(k)为在预测时域内的预测输出,u(k-1)为k-1时刻的控制量。7.根据权利要求6所述的基于非线性mpc的氢燃料电池无人船路径跟踪控制方法,其特征在于,根据fmincon函数求解δ,得到n
p
组控制序列的解,并将n
p
组控制序列中的第一组解反馈输出所述控制量。8.一种基于非线性mpc的氢燃料电池无人船路径跟踪控制系统,其特征在于,所述基于非线性mpc的氢燃料电池无人船路径跟踪控制系统包括:参数获取单元,用于确定氢燃料电池无人船的期望路径,并定位所述氢燃料电池无人船的实时位置和实时航向角;los改进单元,用于将所述实时位置、所述实时航向角及所述期望路径输入至los制导系统中,以使所述los制导系统通过自适应的前视圆半径策略或通过自适应的积分los策略计算所述氢燃料电池无人船的位置偏差和航向偏差;其中,所述自适应的前视圆半径策略用于使所述氢燃料电池无人船的前视圆半径与所述期望路径之间存在交点,且使所述前视圆半径随所述实时位置至所述期望路径的垂直距离进行非线性自适应调整;所述自适应的积分los策略是指在积分los上增加随所述实时位置至所述期望路径的垂直距离而介入的虚拟控制输入;控制量计算单元,用于构建基于所述氢燃料电池无人船的一阶非线性响应模型的mpc控制器,将所述位置偏差和所述航向偏差输入至所述mpc控制器中,得到输出的控制量;氢燃料电池无人船控制单元,用于根据所述控制量控制所述氢燃料电池无人船移动。9.一种电子设备,其特征在于:包括至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行权利要
求1至7任一项所述的基于非线性mpc的氢燃料电池无人船路径跟踪控制方法。10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行权利要求1至7任一项所述的基于非线性mpc的氢燃料电池无人船路径跟踪控制方法。
技术总结
本发明公开了一种基于非线性MPC的氢燃料电池无人船路径跟踪控制方法,首先基本LOS制导律的不足进行改进,使改进的LOS制导律通过自适应的前视圆半径策略或通过自适应的积分LOS策略计算氢燃料电池无人船的位置偏差和航向偏差,通过自适应的前视圆半径策略解决前视圆可能与期望路径没有交点的问题,也进一步缩小前视圆半径,使氢燃料电池无人船找到最短路径,更快地收敛到期望路径上;通过自适应的积分LOS策略能够保证氢燃料电池无人船准确地收敛至期望路径,也能够避免积分增益设置不当产生的积分超调及饱和问题;然后基于氢燃料电池无人船的一阶非线性响应模型设计了MPC航向跟踪控制器,实现氢燃料电池无人船的航向跟踪控制。制。制。
技术研发人员:潘林 肖敏 禹远
受保护的技术使用者:武汉理工大学三亚科教创新园
技术研发日:2023.06.25
技术公布日:2023/9/6
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/