1.一种适用于同向实时点位跟踪的双无人船协同控制方法,其特征在于,包括以下步骤:S1、建立跟随船运动学与动力学模型;
S2、基于领航船的实时位置,及跟随船相对领航船位置的期望方向角及相对距离,确定点位跟踪控制协同系统模型;
S3、基于点位跟踪控制协同系统模型,及实时距离误差与方向角误差,引入障碍李雅普诺夫函数对跟随船设计纵向速度虚拟控制律及艏向角虚拟控制律;
S4、引入非线性扰动观测器观测环境扰动,并将其作为外部环境变量,和跟随船与领航船的实时位置误差,设计并训练主Deep Q‑Network(DQN)决策网络,该决策网络可根据实时输入的状态选择最为合适的动作完成点位跟踪协同控制;
所述的S1中,考虑双无人船点位跟踪控制协同系统模型,对于跟随船,其运动学模型可被描述为:式中,uf、vf、rf分别为跟随船的纵向速度、横向速度以及转艏角速度,(x,y,ψ)为跟随船T的纵向位置、横向位置及艏向角;令ηf=[xf,yf,ψf], 则式(1)可重写为:考虑系统误差及外部扰动,其动力学模型可设计为:
式中,m11f、m22f、m33f表示跟随船包含附加质量的惯性矩阵系数,τduf、τdvf、τdrf为三个方向上的扰动力矩,τuf、τrf为控制力矩输入,d11f、d22f、d33f为跟随船的附加质量惯性矩阵系数 ,uf 、v f 、r f 为 跟 随 船 的 纵 向 速 度 、横 向 速 度 及 艏 向 角 速 度 ;令则式(3)可重写为:式中, 为斜对角矩阵,τf、τdf分别为控制力矩输入及扰动力矩;
所述的S2中,点位跟踪控制协同系统模型领航船与跟随船之间的距离及角度关系为:式中,(xl,yl)为领航船的实时位置,(xf,yf)为跟随船的实时位置,di为实时距离, 为跟随船相对领航船的方向角;
所述的S3中,为建立点位跟踪控制协同系统模型,定义距离误差与方位角误差为:式中,dresi、 分别为期望距离与期望方向角;
为了使实际距离与实际方向角能跟踪上期望距离与方向角,定义距离与方向角的动态微分方程为:式中,ul为领航船的实时纵向速度,vl为领航船的实时横向速度,ψl为领航船的实时艏向角, 为跟随船相对领航船的方位角, 为领航船相对跟随船的方位角;
对式(7)求导,并结合式(8)、(9)得:
式中,ul为领航船的实时纵向速度,vl为领航船的实时横向速度,ψl为领航船的实时艏向角,uef为跟随船实际纵向速度与期望纵向速度的差值, 为领航船相对跟随船的方位角,α uf 与αψf为 跟随 船纵 向速度 与艏 向角 虚拟控 制律;并且 设标 量为了使实际距离与实际方向角能够跟踪上期望距离及期望方向角,定义:其中,edf、 分别是跟踪距离误差的下界与上界, 分别是跟踪方向角误差的下界与上界;
为了保证控制输出不违反上述上界和下界的约束,引入障碍李雅普诺夫函数:式中,
为求解αuf,对式(13)求导得:
设 并将式(10)代入,则式
(16)可被重写为:
式中,ul为领航船的实时纵向速度,vl为领航船的实时横向速度,ψl为领航船的实时艏向角,uef为跟随船实际纵向速度与期望纵向速度的差值, 为领航船相对跟随船的方位角;
因此标量wd可被设为:
式中,ul为领航船的实时纵向速度,vl为领航船的实时横向速度,ψl为领航船的实时艏向角,uef为跟随船实际纵向速度与期望纵向速度的差值,ψf为跟随船的实时艏向角, 为领航船相对跟随船的方位角,edf、 分别是跟踪距离误差的下界与上界;
同理,为求解αψf,对式(14)求导得:
设 并将式(11)代入,则式
(19)可被重写为:
式中,ul为领航船的实时纵向速度,vl为领航船的实时横向速度, 为领航船相对跟随船的方位角,ψl为领航船的实时艏向角;
因此标量 可被设为:
式中,ul为领航船的实时纵向速度,vl为领航船的实时横向速度,ψl为领航船的实时艏向角, 为领航船相对跟随船的方位角;
最终,式(10)与式(11)中的虚拟控制律αuf与αψf可被设计为:式中, 为领航船相对跟随船的方位角;
所述的S4中,所引入非线性扰动观测器为:
式中,β为关于速度的中间变量,τf为控制力矩输入, 为扰动观测器对
3×3
各方向扰动的估计值,K0∈R 为正定设计矩阵;
双DQN网络训练的体步骤为:
S4.1:初始化主DQN决策网络、target‑DQN评价网络,设定前期观察轮数N_obs、训练轮数N_train,总轮数N_total,单轮最大步数T_episode,主DQN决策网络向target‑DQN评价网络的更新周期N_renew,参数调节周期N_gap,纵向位置容许偏离e_x,横向位置容许偏离e_y;
S4.2:设定备选动作及动作选择策略,其中动作分别为纵向推力增加,艏向角控制力矩增加、纵向推力增加,艏向角控制力矩保持、纵向推力增加,艏向角控制力矩减小、纵向推力保持,艏向角控制力矩增加、纵向推力保持,艏向角控制力矩保持、纵向推力保持,艏向角控制力矩减小、纵向推力减小,艏向角控制力矩增加、纵向推力减小,艏向角控制力矩保持、纵向推力减小,艏向角控制力矩减小共9个动作;动作选择策略为:式中,ε为随机选取动作的概率,表示在每个步每一轮的动作选择中有ε的概率是随机选择的,1‑ε的概率是选择主DQN决策网络输出奖励值最高的动作;Ns是训练的总轮数即N_total,T表示训练的当前轮数;
S4.3:根据式(22)、(23)中的虚拟控制律及跟随船的实时位置与期望位置的误差设定奖励函数;其中,奖励函数设置为:式中,kx、ky∈(0,1)分别为纵向方向与横向方向的奖励权重系数,ex=x‑xd为当前纵向位置与期望纵向位置中心点的距离误差,ey=y‑yd为当前横向位置与期望横向位置中心点的距离误差,为了使期望位置中心点附近有较高的奖励值,取σ=0.5;
式中,uf为跟随船实时纵向速度,αuf、αψf为式(22)与式(23)中所提出的虚拟控制律,ku、kψ∈(0,1)分别为纵向速度奖励权重系数与艏向角奖励权重系数;
取综合奖励r为rp与rv的总合,即:
r=rp+rv (28)
S4.4:开始训练,若当前轮数小于N_total,进入步骤S4.5,否则结束训练过程;
S4.5:设置智能体及环境初始状态,包括跟随船初始位置、速度、初始期望位置、初始环境扰动;
S4.6:判断前步数是否大于T_episode,若是,返回步骤S4.5,否则进入步骤S4.7;
S4.7:按照所设定的动作选择策略选择当前步的动作;
S4.8:将动作代入跟随船运动学与动力学模型进行状态更新;
S4.9:将前一状态、新状态、当前步动作选择存放入经验池中;
S4.10:若当前轮数小于N_gap的倍数,进入步骤S4.6,否则进入步骤S4.11;
S4.11:从经验池中随机抽取若干组数据,利用target‑DQN评价网络及奖励函数对经验池中的当前状态下的各个动作进行评价,并利用梯度下降法对主DQN决策网络进行参数修正;
S4.12:判断当前轮数是否达到更新周期N_renew,若达到,将主DQN决策网络中的权重参数赋值给target‑DQN评价网络;
S4.13:若跟随船进入期望位置允许偏离范围内,将此后的纵向及横向偏离位置分别大于e_x、e_y作为单轮结束条件;
S4.14:返回步骤S4.4。