CN116430718A - 一种基于ddpg算法的水下机器人推进器故障容错控制方法 - Google Patents

一种基于ddpg算法的水下机器人推进器故障容错控制方法 Download PDF

Info

Publication number
CN116430718A
CN116430718A CN202310197205.2A CN202310197205A CN116430718A CN 116430718 A CN116430718 A CN 116430718A CN 202310197205 A CN202310197205 A CN 202310197205A CN 116430718 A CN116430718 A CN 116430718A
Authority
CN
China
Prior art keywords
underwater robot
fault
propeller
matrix
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310197205.2A
Other languages
English (en)
Inventor
钟麦英
秦娇
盖文东
张璐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong University of Science and Technology
Original Assignee
Shandong University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong University of Science and Technology filed Critical Shandong University of Science and Technology
Priority to CN202310197205.2A priority Critical patent/CN116430718A/zh
Publication of CN116430718A publication Critical patent/CN116430718A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T90/00Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

本发明公开了一种基于DDPG算法的水下机器人推进器故障容错控制方法,属于水下机器人容错控制技术领域。该容错控制方法包括:构建水下机器人非线性模型,设计比例‑积分‑微分控制器实现水下机器人的轨迹跟踪控制;基于控制器输出信号及水下机器人的轨迹跟踪误差设计二次型性能指标实时检测系统性能,判断是否存在推进器故障;当判定有故障发生时,设计基于DDPG算法的容错控制算法,通过构建策略网络、评价网络和相应目标网络生成控制补偿信号,补偿推进器故障对水下机器人造成的影响,从而实现容错控制。本发明将DDPG算法与水下机器人容错控制进行结合,提高了水下机器人轨迹跟踪控制系统的可靠性和安全性。

Description

一种基于DDPG算法的水下机器人推进器故障容错控制方法
技术领域
本发明属于水下机器人容错控制技术领域,具体涉及一种基于DDPG算法的水下机器人推进器故障容错控制方法。
背景技术
作为人类探索海洋的得力助手,水下机器人是多种现代高科技技术集成的产物,通过远程遥控和特定的功能模块可完成资源探测、水下作业和特种作战等任务,对于未来海洋科学技术的发展具有特殊意义。推进器是水下机器人必备的动力部件,与其它部件相比,推进器要在高压、高盐环境下长时间高负荷运转,是水下机器人负荷最重的部件。推进器故障时性能明显低于正常水平,难以完成预期的作业任务,甚至会对水下机器人的安全构成威胁。潜深越大,承载的静水压力也越大,推进器出现故障的概率也成倍增加。因此,如果能在故障发生时及时采取容错控制策略,将大幅提高水下机器人的安全性。
容错控制的基本思想是在故障发生时使用系统的冗余资源来保持原始性能,或者在牺牲一定性能的情况下确保系统能够在指定的时间内安全地完成计划任务。目前,水下机器人多通过集成故障诊断单元提供推进器故障信息来实现容错控制,然而深海环境的复杂和水下机器人自身的非线性、强耦合和模型的不确定性使其故障诊断成为了难点,另外由于故障发生初期无法提供足够多的有效数据,因此对于数据驱动的容错控制方法也同样具有挑战性。因此需要建立一种有效的不依赖于故障诊断单元的水下机器人容错控制方法。
强化学习的快速发展在处理模型的不确定性方面具有巨大的优势,为容错控制问题的解决提供了新的思路。考虑到深度确定性策略梯度(deep deterministic policygradient,DDPG)算法在连续动作空间中能够有效学习的优点,本发明将其应用到水下机器人容错控制领域,不需要故障诊断单元提供故障的精确估计信息,可以有效提高水下机器人轨迹跟踪控制系统的可靠性。
发明内容
针对含有模型不确定性、推进器饱和、未知外部干扰和推进器故障等问题的水下机器人非线性系统,本发明提出了一种基于深度确定性策略梯度算法的水下机器人推进器容错控制方法,首先考虑系统正常运行的情况设计了比例-积分-微分控制器(ProportionIntegration Differentiation,PID控制器),并利用二次型指标对系统性能进行实时检测。当水下机器人性能下降超过设定阈值时,判定为推进器发生了故障,由基于深度确定性策略梯度算法设计的容错控制算法生成控制补偿信号,补偿推进器故障对水下机器人造成的影响,从而实现容错控制。本发明所提方法增强了水下机器人在推进器故障情况下的轨迹跟踪控制性能,同时具有自学习能力,适用于复杂的海洋环境。
为了实现上述目的,本发明采用如下技术方案:
一种基于DDPG算法的水下机器人推进器故障容错控制方法,包括以下步骤:
步骤1:同时考虑模型不确定性、推进器饱和、未知外部干扰和推进器故障,构建水下机器人非线性模型;
步骤2:考虑系统正常运行时的情况,通过期望轨迹与水下机器人非线性模型的输出信息得到水下机器人轨迹跟踪误差,设计比例-积分-微分控制器实现水下机器人的轨迹跟踪控制;
步骤3:基于步骤2得到的轨迹跟踪误差及控制器的输出信号,构建二次型性能指标实时检测系统性能,并给出检测策略用于判断系统是否发生推进器故障;
步骤4:基于步骤3给出的检测策略,当判定系统发生故障时,设计DDPG算法的奖励函数,基于水下机器人的输出对DDPG算法中的策略网络和评价网络进行训练,得到控制器补偿信号,从而实现水下机器人的容错控制。
进一步地,步骤1的具体过程如下:
步骤1.1:所述水下机器人非线性模型包括运动学模型和动力学模型,在不考虑故障时分别如式(1)和式(2)所示:
Figure BDA0004107631380000021
Figure BDA0004107631380000022
式中,
Figure BDA0004107631380000023
为水下机器人的位置向量,其中ηxyz为水下机器人在惯性坐标系中的位置坐标,/>
Figure BDA0004107631380000024
ηθψ分别为水下机器人的横倾角、纵倾角、艏向角;/>
Figure BDA0004107631380000025
为η的一阶导数;V=[Vu,Vv,Vw,Vp,Vq,Vr]T为水下机器人的速度向量,其中Vu,Vv,Vw分别为水下机器人线速度矢量在载体坐标系中的3个分量,Vp,Vq,Vr分别为水下机器人角速度矢量在载体坐标系中的3个分量;/>
Figure BDA0004107631380000026
为V的一阶导数;MRB是刚体惯量矩阵,MA表示水下机器人在加速过程中所受到的来自周围液体惯性作用的水动力矩阵,C(V)是科氏力与向心力矩阵,D(|V|)是与航行器航行速度有函数关系的阻尼力矩阵,g(η)表示回复力;τRB为水下机器人推进器产生的力和力矩向量,τenv表示因环境产生的未知干扰;Jc(η)为坐标变换矩阵,其表达式为:
Figure BDA0004107631380000027
式中,03表示大小为“3×3”的零矩阵,
Figure BDA0004107631380000031
Figure BDA0004107631380000032
由于水下机器人具有较强的非线性和耦合特性,基于动态建模技术获得的模型具有较大的不确定性,表示如下:
Figure BDA0004107631380000033
Figure BDA0004107631380000034
式中,
Figure BDA0004107631380000035
分别为刚体惯量矩阵、水动力惯量矩阵、科氏力与向心力矩阵、水阻尼矩阵的标称值,ΔMRB,ΔMA,ΔC(V),ΔD(|V|)分别表示相对应矩阵的不确定性;
步骤1.2:考虑BT为推力分配矩阵,TRB为推进器产生的推力矢量,则有τRB=BTTRB;推进器的输出受到其输出能力的限制,考虑推进器输出的上限和下限分别为Tmax和Tmin,则推进器饱和由下式表示:
sat(TRB)=TRB
式中,
Figure BDA0004107631380000036
考虑水下机器人发生推进器故障,此时推进器真实输出为TRB,f,则有:
TRB,f=TRB-Tf
式中Tf=FkTRB+Fb,Fk=diag(k1,k2,k3,k4,k5,k6)和Fb=diag(b1,b2,b3,b4,b5,b6)是未知的推进器故障系数矩阵,满足06≤Fk≤I6,06≤Fb≤I6,k1,k2,k3,k4,k5,k6分别表示对应推进器的乘性故障系数,b1,b2,b3,b4,b5,b6分别表示对应推进器的加性故障系数,其中06表示大小为“6×6”的零矩阵,I6表示大小为“6×6”的单位矩阵;
步骤1.3:选取状态变量x1(t)=η(t),x2(t)=V(t),测量变量为y(t)=x1(t)=η(t),控制变量u(t)=TRB(t),则(1)、(2)式所示的水下机器人系统在考虑发生推进器故障的情况时描述成如下状态空间方程的形式:
Figure BDA0004107631380000041
式中,
h(x2(t))=-(MRB+MA)-1(C(x2(t))+D(x2(t)|))≤0
Bu=(MRB+MA)-1BT,Bd=(MRB+MA)-1,d(t)=τenv(t),f(t)=Tf(t)。
进一步地,步骤2中,考虑系统在正常运行时沿着期望轨迹yd(t)做轨迹跟踪运动,因此有轨迹跟踪误差ey(t)=y(t)-yd(t);设计比例-积分-微分控制器如下式所示:
Figure BDA0004107631380000042
式中,上标
Figure BDA0004107631380000043
代表矩阵Bu的伪逆矩阵,KP,KI,KD分别是对轨迹跟踪误差ey(t)及其积分、微分量的加权。
进一步地,步骤3中,给出如(4)式所示的二次型性能指标:
Figure BDA0004107631380000044
式中P1和P2是性能指标的权值矩阵,tn是时间窗长度;在系统稳定的情况下,给出基于性能的检测阈值Jth(t)如(5)式所示:
Figure BDA0004107631380000045
式中ε是人为给定的足够小的常数,由此得到如下检测策略:
Figure BDA0004107631380000046
由此可知,系统正常运行时J(t)小于等于阈值Jth(t),补偿算法不启动,即u(t)=un(t),un(t)为步骤2所设计的比例-积分-微分控制器产生的控制信号;而当J(t)大于阈值Jth(t)时,视为推进器故障引起的系统性能下降,触发后续容错控制算法。
进一步地,步骤4的具体过程如下:
步骤4.1:选取补偿控制信号uc(t)作为DDPG算法中的动作向量a(t),
Figure BDA0004107631380000047
作为DDPG算法中的观测状态向量s(t),考虑如(6)式所示的奖励函数:
Figure BDA0004107631380000048
式中||·||2表示2-范数,c表示当训练得到的DDPG算法代理接近理想条件时人为给予的恒定奖励,由奖励函数得长期累积奖励如下式所示:
Figure BDA0004107631380000051
式中γ∈(0,1)表示折扣系数,它使累积奖励随着迭代次数的增加而保持不变;r(τ)表示τ时刻的奖励值;
由此水下机器人推进器容错控制问题就转化成了让水下机器人学习在发生推进器故障之后如何调整补偿控制信号uc(t),从而获得最大的累积奖励值R(t),为:
Figure BDA0004107631380000052
步骤4.2:构建DDPG算法中的4个神经网络,其中当前策略网络负责学习策略函数μ,权值为θμ,而当前评价网络负责学习逼近值函数Q,权值为θQ,目标策略网络μ′权值为θμ′,目标评价网络Q′权值为θQ′,两个目标网络的网络结构与各自对应的当前网络完全相同;
步骤4.3:给定DDPG算法最大回合数Ne,每回合最大迭代次数Ns,折扣系数γ,目标网络更新率δ,初始化当前策略网络权值θμ,当前评价网络权值θQ,并将参数复制到相对应的两个目标网络,初始化数据样本经验池;
步骤4.4:初始化噪声
Figure BDA0004107631380000053
获取当前t时刻状态s(t);
步骤4.5:由当前策略网络计算动作a(t),为:
Figure BDA0004107631380000054
在水下机器人系统中执行动作a(t),获得下一时刻状态s(t+1)和r(t),将产生的数据样本(s(t),a(t),s(t+1),r(t))存储到数据样本经验池中用于训练策略网络和评价网络;
步骤4.6:在数据样本经验池中随机选取N组数据(s(i),a(i),s(i+1),r(i)),(i=1,…,N),求解式(7):
λ(i)=r(i)+γQ’(s(i+1),μ’(s(i+1)|θμ’)|θQ’) (7)
构造评价网络的损失函数:
Figure BDA0004107631380000055
求解令(8)式最小的权值θQ,并更新当前评价网络;
当前策略网络采用梯度下降法进行更新,计算样本的策略梯度为:
Figure BDA0004107631380000056
求解令(9)式最小的权值θμ,并更新当前策略网络;
根据步骤4.3中设定好的更新率δ对目标策略网络和目标评价网络的权值进行更新:
θμ’=δθμ+(1-δ)θμ’,θQ’=δθQ+(1-δ)θQ’
步骤4.7:步骤4.5~4.6视为一次迭代过程,当经过Ns次迭代后返回步骤4.4开始下一回合训练,当Ne个回合训练结束后,策略网络产生最优策略μ*(s|θμ),将训练好的策略网络作为容错控制器用于生成控制补偿信号,为:
uc(t)=μ*(s(t)|θμ)
由前述步骤2可知,当J(t)大于阈值Jth(t)时,视为推进器故障引起的系统性能下降,触发容错控制模块,此时DDPG算法利用实时信息产生控制补偿信号uc(t),有u(t)=un(t)+uc(t),进而实现水下机器人容错控制。
本发明所带来的有益技术效果:
本发明考虑了具有模型不确定性、推进器饱和、未知外部干扰和推进器故障的水下机器人非线性模型,采用二次型指标来实时检测系统的性能。当无故障时,采用比例-积分-微分控制器实现水下机器人的轨迹跟踪任务,当推进器故障导致的系统性能下降超过预设阈值时,容错控制器能够产生控制补偿信号补偿故障带来的影响。其中容错控制器的设计基于深度确定性策略梯度算法,通过最小化性能指标函数求解出轨迹跟踪的最优控制补偿信号,不需要先验故障信息,也不需要故障诊断单元提供精确的故障信息,同时深度确定性策略梯度算法具有自学习功能,因此可以适用于不同类型的推进器故障,更适用于复杂的海洋环境。本发明能够有效解决水下机器人在模型存在不确定性、推进器饱和、未知外部干扰及推进器故障情况下的轨迹跟踪容错控制问题。
附图说明
图1是本发明提出的容错控制方法结构框图;
图2是本发明实施例的水下机器人推进器分布图;
图3是本发明深度确定性策略梯度算法的结构图;
图4是本发明实施例中推进器故障发生时的跟踪误差图;
图5是本发明实施例中推进器故障发生时的三维轨迹跟踪效果图。
具体实施方式
下面结合附图以及具体实施方式对本发明作进一步详细说明:
一种在考虑水下机器人推进器故障的情况下,基于深度确定性策略梯度算法设计容错控制器产生控制补偿信号,从而实现容错控制的架构及方法。水下机器人长时间工作在复杂的海洋环境中,推进器很容易发生故障,但受水下机器人自身非线性、模型不确定性等因素影响,很难通过故障诊断单元获取精确的故障信息。将具有自学习能力的深度确定性策略梯度算法与水下机器人容错控制技术进行结合,可以使水下机器人在推进器故障情况下仍能实现轨迹跟踪任务,提高了水下机器人运行过程的可靠性。
如图1所示,本发明的基于深度确定性策略梯度算法的水下机器人推进器故障容错控制方法具体包括如下步骤:
步骤1:同时考虑模型不确定性、推进器饱和、未知外部干扰和推进器故障,构建水下机器人非线性模型;
步骤1.1:所述水下机器人非线性模型包括运动学模型和动力学模型,在不考虑故障时分别如式(1)和式(2)所示:
Figure BDA0004107631380000071
Figure BDA0004107631380000072
式中,
Figure BDA0004107631380000073
为水下机器人的位置向量,其中ηxyz为水下机器人在惯性坐标系中的位置坐标,/>
Figure BDA0004107631380000074
ηθψ分别为水下机器人的横倾角、纵倾角、艏向角。/>
Figure BDA0004107631380000075
为η的一阶导数。V=[Vu,Vv,Vw,Vp,Vq,Vr]T为水下机器人的速度向量,其中Vu,Vv,Vw分别为水下机器人线速度矢量在载体坐标系中的3个分量,Vp,Vq,Vr分别为水下机器人角速度矢量在载体坐标系中的3个分量。/>
Figure BDA0004107631380000076
为V的一阶导数。MRB是刚体惯量矩阵,MA表示水下机器人在加速过程中所受到的来自周围液体惯性作用的水动力矩阵,C(V)是科氏力与向心力矩阵,D(|V|)是与航行器航行速度有函数关系的阻尼力矩阵,g(η)表示回复力。τRB为水下机器人推进器产生的力和力矩向量,τenv表示因环境产生的未知干扰。Jc(η)为坐标变换矩阵,其表达式为:
Figure BDA0004107631380000077
式中,03表示大小为“3×3”的零矩阵,
Figure BDA0004107631380000078
Figure BDA0004107631380000079
由于水下机器人具有较强的非线性和耦合特性,基于动态建模技术获得的模型具有较大的不确定性,表示如下:
Figure BDA0004107631380000081
Figure BDA0004107631380000082
式中,
Figure BDA0004107631380000083
分别为刚体惯量矩阵、水动力惯量矩阵、科氏力与向心力矩阵、水阻尼矩阵的标称值,ΔMRB,ΔMA,ΔC(V),ΔD(|V|)分别表示相对应矩阵的不确定性。具体地,在本实施例中有:
Figure BDA0004107631380000084
Figure BDA0004107631380000085
Figure BDA0004107631380000086
Figure BDA0004107631380000087
ΔMRB=06,ΔMA=diag(4sin(0.1t),6cos(0.1t),0,0,0,0.04sin(0.1t))
Figure BDA0004107631380000088
ΔD(|V|)=06
其中,diag(·)表示以括号内元素作为主对角线构成的对角矩阵;t表示时间;
步骤1.2:考虑如图2所示的推进器分布方式,有
Figure BDA0004107631380000089
式中BT为推力分配矩阵,TRB为推进器产生的推力矢量,l1=0.35m为推进器1、2、5、6与重心间的水平距离,l2=0.5m为推进器3、4与重心间的水平距离,T1、T2、T3、T4、T5、T6分别表示其下角标对应的推进器产生的推力力矩。在实际应用中,推进器的输出受到其输出能力的限制,推进器输出的上限和下限分别为Tmax和Tmin,推进器饱和可由下式表示:
sat(TRB)=TRB
式中,
Figure BDA0004107631380000091
考虑水下机器人发生推进器故障,此时推进器真实输出为TRB,f,则有:
TRB,f=TRB-Tf
式中Tf=FkTRB+Fb,Fk=diag(k1,k2,k3,k4,k5,k6)和Fb=diag(b1,b2,b3,b4,b5,b6)是未知的推进器故障系数矩阵,满足06≤Fk≤I6,06≤Fb≤I6,k1,k2,k3,k4,k5,k6分别表示对应推进器的乘性故障系数,b1,b2,b3,b4,b5,b6分别表示对应推进器的加性故障系数,其中06表示大小为“6×6”的零矩阵,I6表示大小为“6×6”的单位矩阵。
步骤1.3:选取状态变量x1(t)=η(t),x2(t)=V(t),测量变量为y(t)=x1(t)=η(t),控制变量u(t)=TRB(t),则(1)、(2)式所示的水下机器人系统在考虑发生推进器故障的情况时可以描述成如下状态空间方程的形式:
Figure BDA0004107631380000092
式中,
h(x2(t))=-(MRB+MA)-1(C(x2(t))+D(|x2(t)|))≤0
Bu=(MRB+MA)-1BT,Bd=(MRB+MA)-1,d(t)=τenv(t),f(t)=Tf(t)
步骤2:考虑系统正常运行时的情况,通过期望轨迹与水下机器人非线性模型的输出信息得到水下机器人轨迹跟踪误差,设计比例-积分-微分控制器实现水下机器人的轨迹跟踪控制;
考虑系统在正常运行时沿着期望轨迹yd(t)做轨迹跟踪运动,因此有轨迹跟踪误差ey(t)=y(t)-yd(t)。设计如下式所示的比例-积分-微分控制器:
Figure BDA0004107631380000101
式中,上标
Figure BDA0004107631380000102
代表矩阵Bu的伪逆矩阵,KP,KI,KD分别是对轨迹跟踪误差ey(t)及其积分、微分量的加权。
步骤3:基于步骤2得到的轨迹跟踪误差及控制器的输出信号,构建二次型性能指标实时检测系统性能,并给出检测策略用于判断系统是否发生推进器故障;
所述方法的控制目标是针对水下机器人系统存在推进器故障的情况下,系统仍然能够跟踪所设定的期望轨迹,由此给出如(4)式所示的二次型性能指标:
Figure BDA0004107631380000103
式中P1=100I6和P2=0.1I6是性能评价指标的权值矩阵,tn=50是时间窗长度。在系统稳定的情况下,可给出基于性能的检测阈值Jth(t)如(5)式所示:
Figure BDA0004107631380000104
式中ε=0.1是人为给定的足够小的常数,由此可得如下检测策略:
Figure BDA0004107631380000105
由此可知,系统正常运行时J(t)小于等于阈值Jth(t),补偿算法不启动,即u(t)=un(t),un(t)为步骤2所设计的比例-积分-微分控制器产生的控制信号;而当J(t)大于阈值Jth(t)时,视为推进器故障引起的系统性能下降,触发后续容错控制算法。
步骤4:基于步骤3给出的检测策略,当判定系统发生故障时,设计深度确定性策略梯度算法的奖励函数,基于水下机器人的输出对深度确定性策略梯度算法中的策略网络和评价网络进行训练,得到控制器补偿信号,从而实现水下机器人的容错控制。
步骤4.1:选取补偿控制信号uc(t)作为深度确定性策略梯度算法中的动作向量a(t),
Figure BDA0004107631380000106
作为深度确定性策略梯度算法中的观测状态向量s(t),考虑如(6)式所示的奖励函数:
Figure BDA0004107631380000107
式中||·||2表示2-范数,c表示当训练得到的深度确定性策略梯度算法代理接近理想条件时人为给予的恒定奖励,具体地,本实施例中有:
Figure BDA0004107631380000111
由奖励函数可得长期累积奖励如下式所示:
Figure BDA0004107631380000112
式中γ∈(0,1)表示折扣系数,它可以使累积奖励随着迭代次数的增加而保持不变;如果γ=0,则只考虑立即奖励。r(τ)表示τ时刻的奖励值。由此水下机器人推进器容错控制问题就转化成了让水下机器人学习在发生推进器故障之后如何调整补偿控制信号uc(t),从而获得最大的累积奖励值R(t),即
Figure BDA0004107631380000113
步骤4.2:构建深度确定性策略梯度算法中的4个神经网络,具体结构如图3所示,将水下机器人的系统模型视为环境,当前策略网络负责学习策略函数μ,权值为θμ,而当前评价网络负责学习逼近值函数Q,权值为θQ,目标策略网络μ′权值为θμ′,目标评价网络Q权值为θQ′,两个目标网络的网络结构与各自对应的当前网络完全相同;
步骤4.3:给定深度确定性策略梯度算法最大回合数Ne,每回合最大迭代次数Ns,折扣系数γ,目标网络更新率δ,初始化当前策略网络权值θμ,当前评价网络权值θQ,并将参数复制到相对应的两个目标网络,初始化数据样本经验池;
步骤4.4:初始化噪声
Figure BDA0004107631380000115
获取当前t时刻状态s(t);
步骤4.5:由当前策略网络计算动作a(t),即:
Figure BDA0004107631380000116
在水下机器人系统中执行动作a(t),获得下一时刻状态s(t+1)和r(t),将产生的数据样本(s(t),a(t),s(t+1),r(t))存储到数据样本经验池中用于训练策略网络和评价网络;
步骤4.6:在数据样本经验池中随机选取N组数据(s(i),a(i),s(i+1),r(i)),(i=1,…,N),求解式(7):
λ(i)=r(i)+γQ’(s(i+1),μ’(s(i+1)|θμ’)|θQ’) (7)
构造评价网络的损失函数:
Figure BDA0004107631380000114
求解令(8)式最小的权值θQ,并更新当前评价网络。
当前策略网络采用梯度下降法进行更新,计算样本的策略梯度为:
Figure BDA0004107631380000121
求解令(9)式最小的权值θμ,并更新当前策略网络;
根据步骤4.3中设定好的更新率δ对目标策略网络和目标评价网络的权值进行更新:
θμ’=δθμ+(1-δ)θμ’,θQ’=δθQ+(1-δ)θQ’
步骤4.7:步骤4.5~4.6视为一次迭代过程,当经过Ns次迭代后返回步骤4.4开始下一回合训练,当Ne个回合训练结束后,策略网络产生最优策略μ*(s|θμ),将训练好的策略网络作为容错控制器用于生成控制补偿信号,即:
uc(t)=μ*(s(t)|θμ)
综上,本发明通过步骤2给出的二次型指标检测系统性能,系统正常运行时J(t)小于等于阈值Jth(t),补偿算法不启动,即u(t)=un(t),un(t)为步骤2设计的比例-积分-微分控制器产生的控制信号;而当J(t)大于阈值Jth(t)时,视为推进器故障引起的系统性能下降,触发容错控制模块,此时步骤4给出的深度确定性策略梯度算法利用实时信息产生控制补偿信号uc(t),有u(t)=un(t)+uc(t),进而实现容错控制。
实施案例:
为验证本发明中所述控制方法的效果,采用某水下机器人非线性模型为仿真对象开展仿真试验,仿真过程中参数设置如下:
设置机器人的初始位置为x1(0)=[50,0,0,0,0,0]T,跟踪轨迹为:
Figure BDA0004107631380000122
引入外界环境干扰τenv=[0.5sin(0.2πt),0.1sin(0.2πt),0,0,0,0]T,推进器输出的上限和下限分别为Tmax=[50,50,50,50,50,50]T和Tmax=[-50,-50,-50,-50,-50,-50]T,选取比例-积分-微分控制器参数为KP=200I6,KI=80I6,KD=20I6。仿真时长设置为300秒,初始时刻推进器正常工作,150秒之后1号推进器发生故障,损失30%效率,即:
Figure BDA0004107631380000131
Fb=06
根据本发明实施方式,仿真结果如图4、图5所示。其中图4展示了水下机器人发生推进器故障后的轨迹跟踪误差,6个子图的横坐标均为时间,纵坐标分别为对应维度的轨迹跟踪误差,图中ey是一个六维的误差向量,该图单独把每一维分开展示,其中ey1、ey2、ey3、ey4、ey5、ey6分别对应一、二、三、四、五、六维的轨迹跟踪误差。从图4中可以看出,在推进器故障发生初期由于故障带来的影响较小,不足以触发容错策略,此时仍只采用比例-积分-微分控制器进行控制,直到156秒时才加入控制补偿信号,之后跟踪误差逐渐收敛到零附近的小区间。图5展示了水下机器人在推进故障情况下的三维轨迹跟踪效果,X、Y、Z轴分别对应三维空间中的位置坐标(x,y,z),虚线是水下机器人需要跟踪的参考轨迹,实线是水下机器人实际运动轨迹。从图中可以看出,由于轨迹跟踪误差非常小,水下机器人实际运动轨迹与参考轨迹重合,说明水下机器人即使在推进器故障发生后,仍能很好的实现轨迹跟踪任务。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,在本发明的实质范围内所做出的变化、修改,等同替换,改进等,也应属于本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改,等同替换,改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种基于DDPG算法的水下机器人推进器故障容错控制方法,其特征在于,包括以下步骤:
步骤1:同时考虑模型不确定性、推进器饱和、未知外部干扰和推进器故障,构建水下机器人非线性模型;
步骤2:考虑系统正常运行时的情况,通过期望轨迹与水下机器人非线性模型的输出信息得到水下机器人轨迹跟踪误差,设计比例-积分-微分控制器实现水下机器人的轨迹跟踪控制;
步骤3:基于步骤2得到的轨迹跟踪误差及控制器的输出信号,构建二次型性能指标实时检测系统性能,并给出检测策略用于判断系统是否发生推进器故障;
步骤4:基于步骤3给出的检测策略,当判定系统发生故障时,设计DDPG算法的奖励函数,基于水下机器人的输出对DDPG算法中的策略网络和评价网络进行训练,得到控制器补偿信号,从而实现水下机器人的容错控制。
2.根据权利要求1所述的基于DDPG算法的水下机器人推进器故障容错控制方法,其特征在于,所述步骤1的具体过程如下:
步骤1.1:所述水下机器人非线性模型包括运动学模型和动力学模型,在不考虑故障时分别如式(1)和式(2)所示:
Figure FDA0004107631350000011
Figure FDA0004107631350000012
式中,
Figure FDA0004107631350000013
为水下机器人的位置向量,其中ηxyz为水下机器人在惯性坐标系中的位置坐标,/>
Figure FDA0004107631350000014
ηθψ分别为水下机器人的横倾角、纵倾角、艏向角;/>
Figure FDA0004107631350000015
为η的一阶导数;V=[Vu,Vv,Vw,Vp,Vq,Vr]T为水下机器人的速度向量,其中Vu,Vv,Vw分别为水下机器人线速度矢量在载体坐标系中的3个分量,Vp,Vq,Vr分别为水下机器人角速度矢量在载体坐标系中的3个分量;/>
Figure FDA0004107631350000016
为V的一阶导数;MRB是刚体惯量矩阵,MA表示水下机器人在加速过程中所受到的来自周围液体惯性作用的水动力矩阵,C(V)是科氏力与向心力矩阵,D(|V|)是与航行器航行速度有函数关系的阻尼力矩阵,g(η)表示回复力;τRB为水下机器人推进器产生的力和力矩向量,τenv表示因环境产生的未知外部干扰;Jc(η)为坐标变换矩阵,其表达式为:
Figure FDA0004107631350000017
式中,03表示大小为“3×3”的零矩阵,
Figure FDA0004107631350000021
Figure FDA0004107631350000022
由于水下机器人具有较强的非线性和耦合特性,基于动态建模技术获得的模型具有较大的不确定性,表示如下:
Figure FDA0004107631350000023
Figure FDA0004107631350000024
式中,
Figure FDA0004107631350000025
分别为刚体惯量矩阵、水动力惯量矩阵、科氏力与向心力矩阵、水阻尼矩阵的标称值,ΔMRB,ΔMA,ΔC(V),ΔD(|V|)分别表示相对应矩阵的不确定性;
步骤1.2:考虑BT为推力分配矩阵,TRB为推进器产生的推力矢量,则有τRB=BTTRB;推进器的输出受到其输出能力的限制,考虑推进器输出的上限和下限分别为Tmax和Tmin,则推进器饱和由下式表示:
sat(TRB)=TRB
式中,
Figure FDA0004107631350000026
考虑水下机器人发生推进器故障,此时推进器真实输出为TRB,f,则有:
TRB,f=TRB-Tf
式中Tf=FkTRB+Fb,Fk=diag(k1,k2,k3,k4,k5,k6)和Fb=diag(b1,b2,b3,b4,b5,b6)是未知的推进器故障系数矩阵,满足06≤Fk≤I6,06≤Fb≤I6,k1,k2,k3,k4,k5,k6分别表示对应推进器的乘性故障系数,b1,b2,b3,b4,b5,b6分别表示对应推进器的加性故障系数,其中06表示大小为“6×6”的零矩阵,I6表示大小为“6×6”的单位矩阵;
步骤1.3:选取状态变量x1(t)=η(t),x2(t)=V(t),测量变量为y(t)=x1(t)=η(t),控制变量u(t)=TRB(t),则(1)、(2)式所示的水下机器人系统在考虑发生推进器故障的情况时描述成如下状态空间方程的形式:
Figure FDA0004107631350000031
式中,
h(x2(t))=-(MRB+MA)-1(C(x2(t))+D(|x2(t)|))≤0
Bu=(MRB+MA)-1BT,Bd=(MRB+MA)-1,d(t)=τenv(t),f(t)=Tf(t)。
3.根据权利要求1所述的基于DDPG算法的水下机器人推进器故障容错控制方法,其特征在于,所述步骤2中,考虑系统在正常运行时沿着期望轨迹yd(t)做轨迹跟踪运动,因此有轨迹跟踪误差ey(t)=y(t)-yd(t);设计比例-积分-微分控制器如下式所示:
Figure FDA0004107631350000032
式中,上标
Figure FDA0004107631350000033
代表矩阵Bu的伪逆矩阵,KP,KI,KD分别是对轨迹跟踪误差ey(t)及其积分、微分量的加权。
4.根据权利要求1所述的基于DDPG算法的水下机器人推进器故障容错控制方法,其特征在于,所述步骤3中,给出如(4)式所示的二次型性能指标:
Figure FDA0004107631350000034
式中P1和P2是性能指标的权值矩阵,tn是时间窗长度;在系统稳定的情况下,给出基于性能的检测阈值Jth(t)如(5)式所示:
Figure FDA0004107631350000035
式中ε是人为给定的足够小的常数,由此得到如下检测策略:
Figure FDA0004107631350000036
由此可知,系统正常运行时J(t)小于等于阈值Jth(t),补偿算法不启动,即u(t)=un(t),un(t)为步骤2所设计的比例-积分-微分控制器产生的控制信号;而当J(t)大于阈值Jth(t)时,视为推进器故障引起的系统性能下降,触发后续容错控制算法。
5.根据权利要求1所述的基于DDPG算法的水下机器人推进器故障容错控制方法,其特征在于,所述步骤4的具体过程如下:
步骤4.1:选取补偿控制信号uc(t)作为DDPG算法中的动作向量a(t),
Figure FDA0004107631350000037
作为DDPG算法中的观测状态向量s(t),考虑如(6)式所示的奖励函数:
Figure FDA0004107631350000041
式中||·||2表示2-范数,c表示当训练得到的DDPG算法代理接近理想条件时人为给予的恒定奖励,由奖励函数得长期累积奖励如下式所示:
Figure FDA0004107631350000042
式中γ∈(0,1)表示折扣系数,它使累积奖励随着迭代次数的增加而保持不变;r(τ)表示τ时刻的奖励值;
由此水下机器人推进器容错控制问题就转化成了让水下机器人学习在发生推进器故障之后如何调整补偿控制信号uc(t),从而获得最大的累积奖励值R(t),为:
Figure FDA0004107631350000043
步骤4.2:构建DDPG算法中的4个神经网络,其中当前策略网络负责学习策略函数μ,权值为θμ,而当前评价网络负责学习逼近值函数Q,权值为θQ,目标策略网络μ′权值为θμ′,目标评价网络Q′权值为θQ′,两个目标网络的网络结构与各自对应的当前网络完全相同;
步骤4.3:给定DDPG算法最大回合数Ne,每回合最大迭代次数Ns,折扣系数γ,目标网络更新率δ,初始化当前策略网络权值θμ,当前评价网络权值θQ,并将参数复制到相对应的两个目标网络,初始化数据样本经验池;
步骤4.4:初始化噪声
Figure FDA0004107631350000044
获取当前t时刻状态s(t);
步骤4.5:由当前策略网络计算动作a(t),为:
Figure FDA0004107631350000045
在水下机器人系统中执行动作a(t),获得下一时刻状态s(t+1)和r(t),将产生的数据样本(s(t),a(t),s(t+1),r(t))存储到数据样本经验池中用于训练策略网络和评价网络;
步骤4.6:在数据样本经验池中随机选取N组数据(s(i),a(i),s(i+1),r(i)),(i=1,…,N),求解式(7):
λ(i)=r(i)+γQ’(s(i+1),μ’(s(i+1)|θμ’)|θQ’) (7)
构造评价网络的损失函数:
Figure FDA0004107631350000046
求解令(8)式最小的权值θQ,并更新当前评价网络;
当前策略网络采用梯度下降法进行更新,计算样本的策略梯度为:
Figure FDA0004107631350000051
求解令(9)式最小的权值θμ,并更新当前策略网络;
根据步骤4.3中设定好的更新率δ对目标策略网络和目标评价网络的权值进行更新:
θμ’=δθμ+(1-δ)θμ′,θQ’=δθQ+(1-δ)θQ’
步骤4.7:步骤4.5~步骤4.6视为一次迭代过程,当经过Ns次迭代后返回步骤4.4开始下一回合训练,当Ne个回合训练结束后,策略网络产生最优策略μ*(s|θμ),将训练好的策略网络作为容错控制器用于生成控制补偿信号,为:
uc(t)=μ*(s(t)|θμ)
由前述步骤2可知,当J(t)大于阈值Jth(t)时,视为推进器故障引起的系统性能下降,触发容错控制模块,此时DDPG算法利用实时信息产生控制补偿信号uc(t),有u(t)=un(t)+uc(t),进而实现水下机器人容错控制。
CN202310197205.2A 2023-03-03 2023-03-03 一种基于ddpg算法的水下机器人推进器故障容错控制方法 Pending CN116430718A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310197205.2A CN116430718A (zh) 2023-03-03 2023-03-03 一种基于ddpg算法的水下机器人推进器故障容错控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310197205.2A CN116430718A (zh) 2023-03-03 2023-03-03 一种基于ddpg算法的水下机器人推进器故障容错控制方法

Publications (1)

Publication Number Publication Date
CN116430718A true CN116430718A (zh) 2023-07-14

Family

ID=87093295

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310197205.2A Pending CN116430718A (zh) 2023-03-03 2023-03-03 一种基于ddpg算法的水下机器人推进器故障容错控制方法

Country Status (1)

Country Link
CN (1) CN116430718A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117250971A (zh) * 2023-11-17 2023-12-19 山东科技大学 一种微小型auv的控制方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117250971A (zh) * 2023-11-17 2023-12-19 山东科技大学 一种微小型auv的控制方法
CN117250971B (zh) * 2023-11-17 2024-02-09 山东科技大学 一种微小型auv的控制方法

Similar Documents

Publication Publication Date Title
CN108803321B (zh) 基于深度强化学习的自主水下航行器轨迹跟踪控制方法
Hassanein et al. Model-based adaptive control system for autonomous underwater vehicles
Kadiyam et al. Actuator fault-tolerant control study of an underwater robot with four rotatable thrusters
CN111158383B (zh) 基于干扰观测器和rbfnn的无人艇航迹跟踪控制方法
CN112286218B (zh) 基于深度确定性策略梯度的飞行器大迎角摇滚抑制方法
CN109189103B (zh) 一种具有暂态性能约束的欠驱动auv轨迹跟踪控制方法
CN111240345A (zh) 一种基于双bp网络增强学习框架的水下机器人轨迹跟踪方法
CN114115262B (zh) 基于方位角信息的多auv执行器饱和协同编队控制系统和方法
Marzbanrad et al. A robust adaptive fuzzy sliding mode controller for trajectory tracking of ROVs
CN116430718A (zh) 一种基于ddpg算法的水下机器人推进器故障容错控制方法
Peng et al. Research on hover control of AUV uncertain stochastic nonlinear system based on constructive backstepping control strategy
CN114077258B (zh) 一种基于强化学习ppo2算法的无人艇位姿控制方法
Wang et al. Path following with prescribed performance for under-actuated autonomous underwater vehicles subjects to unknown actuator dead-zone
Dong et al. An improved dynamic surface sliding mode method for autonomous cooperative formation control of underactuated USVs with complex marine environment disturbances
Liu et al. Navigation algorithm based on PSO-BP UKF of autonomous underwater vehicle
CN115826594B (zh) 不依赖动态模型参数的无人潜航器切换拓扑编队控制方法
CN114943168B (zh) 一种水上浮桥组合方法及系统
CN115657713A (zh) 一种考虑发射平台沉浮和晃动条件下发射决策控制方法
CN113110512B (zh) 一种减弱未知干扰与抖振影响的可底栖式auv自适应轨迹跟踪控制方法
Zhang et al. AUV 3D docking control using deep reinforcement learning
CN115047769A (zh) 一种基于约束跟随的无人作战平台避障-到达控制方法
Hou et al. AUV path planning with kinematic constraints in unknown environment using reinforcement learning
Sola et al. Evaluation of a deep-reinforcement-learning-based controller for the control of an autonomous underwater vehicle
Yu Saturated backstepping control for boat with disturbance estimator
CN113359471B (zh) 基于协状态辅助的自适应动态规划最优控制方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination