1.一种基于显式模型预测控制的无人船航迹控制方法,其特征在于,包括步骤:(1)建立无人船三自由度操纵模型,并构建状态空间表达式作为预测模型;
无人船的三自由度操纵模型为:
T
式中,η=[x y ψ]为无人船位置向量,其中(x,y)为船体在北东坐标系下的位置,ψ为艏T向角;ν=[uc v r]为无人船速度向量,其中,uc为纵荡速度,v为横荡速度,r为转向率,δr为控制舵角;参数 d22=‑Yv,d33=‑Nr,其中m为无人船的质量,Iz为艏摇方向的转动惯量, 为附加质量,Xu、Yv、Nr为阻尼系数;Nδ为舵系数;
将船舶动力学模型重写为状态空间模型:
其中:
T
x=[ψ v r] ,u=δr,y=ψ
采用欧拉法对方程离散化处理,得到离散时间的状态空间模型:式中:Ad,Bd,Cd为离散化后的状态空间矩阵,在状态空间中加入参考状态,改写的状态空间模型如下所示:其中, y(k)的期望值r(k)=[ψlos 0],控制量△u(k)=u(k)‑u(k‑1);
定义基于△u的性能指标函数为:
式中,Hp和Hc分别是预测时域和控制时域,且Hc≤Hp;yk+i|k,rk+i|k和△uk+i|k分别表示在k时刻系统实际输出量 ,参考输出量和控 制增量在k+i时刻的预 测值 ;
是由最优控制增量构成的控制增量序列;Q,R和P分别是状态,输T T
入和终端权重矩阵,且满足Q=Q≥0,R=R≥0,P≥0;
(2)获取无人船的位置、艏向角和速度信息及预设路径的航迹点坐标;
(3)根据当前无人船与航迹点的位置,通过路径规划算法求取无人船的期望航速和艏向,将船舶航迹控制简化为艏向控制;
预设路径由航迹点构成,控制无人船艏向角与导引艏向角ψLOS相同时,无人船便能跟踪预设路径,路径规划角由LOS位置和LOS向量表示,LOS位置是相邻航迹点之间航迹线上的一点,无人船根据期望艏向角能够到达的位置,LOS向量是从无人船当前位置指向LOS位置的向量;
无人船当前位置用P(x,y)表示,LOS位置用Plos(xlos,ylos)表示,当前和下一航迹点分别用Pk(xk,yk),Pk+1(xk+1,yk+1)表示;当不考虑环境力影响时,期望的艏向角为:ψlos(e)=χp+χr(e) (6)式中,χp,χr(e)分别为预设路径的切向角和航速与路径的夹角:χp=αk=atan2(yk+1‑yk,xk+1‑xk) (7)△为预设的前视距离,e为无人船与(Pk,Pk+1)间航迹段的偏差值:e=‑[x‑xk]sin(αk)+[y‑yk]cos(αk) (9)利用路径规划算法,求取导引艏向角ψLOS,并控制无人船的艏向角收敛于ψLOS,可确保无人船位置收敛于预设航迹,因此将 问题转换为 问题;
(4)根据显式模型预测控制算法计算控制舵角并作用于无人船,以实现船的航迹控制;
对于带约束有限时间最优控制问题式(5),由式(4)得到:式中,i=1,2,...,Hp,式(10)表明任意时刻系统的状态 均可由初始状态 和输入向量△u线性表示;
根据式(10),预测时域内,系统的状态向量表示为:式中:
将式(11)带入式(5)中,并忽略常数项,得到:式中,
矩阵G,W和E可由式(11)计算得到;
接着继续定义 式(12)简化为:
其中, 式(13)中,z是ξk的一个
仿射函数,可利用一阶Karush‑Kuhn‑Tucker(KKT)条件求解,其显式表达式为:同时根据KKT条件,得到对应于初始状态ξk的一个临界区域CR0;
将 带入式(14)中,得到CR0内控制序列△U关于ξk的显式表达式,根据滚动优化原理,将控制序列△U的第一项作用于被控对象中,则同理,利用上述方法,得到其余区域的状态分区及对应的控制率,即式中,i∈{1,...,n},n为状态分区个数;
因此,最终得到的显式PWM控制率如下所示:式中,Hi,Ki是仅与序列号为i的状态分区相关的定长矩阵;
将上述离线计算过程的有效数据Hi、Ki、Fi、Gi预先存储在系统中,则在线计算过程可转换为查表过程:检测无人船系统在某一时刻的状态,判定该状态所在的状态分区,得到相应的控制率△u,并作用于无人船上,然后更新无人船的状态量;下一时刻,再次检测无人船的状态量作为初始状态,重复上述查表过程,以实现无人船航迹的显式模型预测控制;
最后,将控制增量作为状态量构建目标函数,具体定义为:其中,Hp和Hc分别是预测时域和控制时域,且Hc≤Hp;yk+i|k,rk+i|k和△uk+i|k分别表示在k时刻系统实际输出量 ,参考输出量和控 制增量在k+i时刻的预 测值 ;
是由最优控制增量构成的控制增量序列;Q,R和P分别是状态,输入T T
和终端权重矩阵,且满足Q=Q≥0,R=R≥0,P≥0;
(5)判断无人船是否到达当前航迹点,若未到达,则继续以该航迹点作为跟踪目标;反之,判断航迹点是否为终点,若是,则结束航行,若不是,则将下一航迹点设为当前航迹点,进入步骤(2)继续跟踪预设路径;
判断规则如下:计算无人船到当前航迹点的距离,若距离小于1.2m,则表明无人船到达当前航迹点,并将下一航迹点设为当前航迹点。