CN116430718A - 一种基于ddpg算法的水下机器人推进器故障容错控制方法 - Google Patents
一种基于ddpg算法的水下机器人推进器故障容错控制方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000011156 evaluation Methods 0.000 claims abstract description 25
- 238000011897 real-time detection Methods 0.000 claims abstract description 4
- 239000011159 matrix material Substances 0.000 claims description 54
- 239000013598 vector Substances 0.000 claims description 25
- 230000006870 function Effects 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 18
- 238000001514 detection method Methods 0.000 claims description 13
- 230000009471 action Effects 0.000 claims description 9
- 238000012549 training Methods 0.000 claims description 9
- 238000013016 damping Methods 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 claims description 6
- 230000015556 catabolic process Effects 0.000 claims description 4
- 230000008878 coupling Effects 0.000 claims description 4
- 238000010168 coupling process Methods 0.000 claims description 4
- 238000005859 coupling reaction Methods 0.000 claims description 4
- 238000006731 degradation reaction Methods 0.000 claims description 4
- 239000000654 additive Substances 0.000 claims description 3
- 230000000996 additive effect Effects 0.000 claims description 3
- 238000013459 approach Methods 0.000 claims description 3
- 238000013528 artificial neural network Methods 0.000 claims description 3
- 239000003795 chemical substances by application Substances 0.000 claims description 3
- 238000013461 design Methods 0.000 claims description 3
- 238000011478 gradient descent method Methods 0.000 claims description 3
- 238000012804 iterative process Methods 0.000 claims description 3
- 239000007788 liquid Substances 0.000 claims description 3
- 230000007774 longterm Effects 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 3
- 230000001960 triggered effect Effects 0.000 claims description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 3
- 230000001133 acceleration Effects 0.000 claims description 2
- 238000003745 diagnosis Methods 0.000 description 7
- 238000004088 simulation Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 241001391944 Commicarpus scandens Species 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000002706 hydrostatic effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 150000003839 salts Chemical class 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/04—Adaptive 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/042—Adaptive 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T90/00—Enabling 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算法的水下机器人推进器故障容错控制方法。
背景技术
作为人类探索海洋的得力助手,水下机器人是多种现代高科技技术集成的产物,通过远程遥控和特定的功能模块可完成资源探测、水下作业和特种作战等任务,对于未来海洋科学技术的发展具有特殊意义。推进器是水下机器人必备的动力部件,与其它部件相比,推进器要在高压、高盐环境下长时间高负荷运转,是水下机器人负荷最重的部件。推进器故障时性能明显低于正常水平,难以完成预期的作业任务,甚至会对水下机器人的安全构成威胁。潜深越大,承载的静水压力也越大,推进器出现故障的概率也成倍增加。因此,如果能在故障发生时及时采取容错控制策略,将大幅提高水下机器人的安全性。
容错控制的基本思想是在故障发生时使用系统的冗余资源来保持原始性能,或者在牺牲一定性能的情况下确保系统能够在指定的时间内安全地完成计划任务。目前,水下机器人多通过集成故障诊断单元提供推进器故障信息来实现容错控制,然而深海环境的复杂和水下机器人自身的非线性、强耦合和模型的不确定性使其故障诊断成为了难点,另外由于故障发生初期无法提供足够多的有效数据,因此对于数据驱动的容错控制方法也同样具有挑战性。因此需要建立一种有效的不依赖于故障诊断单元的水下机器人容错控制方法。
强化学习的快速发展在处理模型的不确定性方面具有巨大的优势,为容错控制问题的解决提供了新的思路。考虑到深度确定性策略梯度(deep deterministic policygradient,DDPG)算法在连续动作空间中能够有效学习的优点,本发明将其应用到水下机器人容错控制领域,不需要故障诊断单元提供故障的精确估计信息,可以有效提高水下机器人轨迹跟踪控制系统的可靠性。
发明内容
针对含有模型不确定性、推进器饱和、未知外部干扰和推进器故障等问题的水下机器人非线性系统,本发明提出了一种基于深度确定性策略梯度算法的水下机器人推进器容错控制方法,首先考虑系统正常运行的情况设计了比例-积分-微分控制器(ProportionIntegration Differentiation,PID控制器),并利用二次型指标对系统性能进行实时检测。当水下机器人性能下降超过设定阈值时,判定为推进器发生了故障,由基于深度确定性策略梯度算法设计的容错控制算法生成控制补偿信号,补偿推进器故障对水下机器人造成的影响,从而实现容错控制。本发明所提方法增强了水下机器人在推进器故障情况下的轨迹跟踪控制性能,同时具有自学习能力,适用于复杂的海洋环境。
为了实现上述目的,本发明采用如下技术方案:
一种基于DDPG算法的水下机器人推进器故障容错控制方法,包括以下步骤:
步骤1:同时考虑模型不确定性、推进器饱和、未知外部干扰和推进器故障,构建水下机器人非线性模型;
步骤2:考虑系统正常运行时的情况,通过期望轨迹与水下机器人非线性模型的输出信息得到水下机器人轨迹跟踪误差,设计比例-积分-微分控制器实现水下机器人的轨迹跟踪控制;
步骤3:基于步骤2得到的轨迹跟踪误差及控制器的输出信号,构建二次型性能指标实时检测系统性能,并给出检测策略用于判断系统是否发生推进器故障;
步骤4:基于步骤3给出的检测策略,当判定系统发生故障时,设计DDPG算法的奖励函数,基于水下机器人的输出对DDPG算法中的策略网络和评价网络进行训练,得到控制器补偿信号,从而实现水下机器人的容错控制。
进一步地,步骤1的具体过程如下:
步骤1.1:所述水下机器人非线性模型包括运动学模型和动力学模型,在不考虑故障时分别如式(1)和式(2)所示:
式中,为水下机器人的位置向量,其中ηx,ηy,ηz为水下机器人在惯性坐标系中的位置坐标,/>ηθ,ηψ分别为水下机器人的横倾角、纵倾角、艏向角;/>为η的一阶导数;V=[Vu,Vv,Vw,Vp,Vq,Vr]T为水下机器人的速度向量,其中Vu,Vv,Vw分别为水下机器人线速度矢量在载体坐标系中的3个分量,Vp,Vq,Vr分别为水下机器人角速度矢量在载体坐标系中的3个分量;/>为V的一阶导数;MRB是刚体惯量矩阵,MA表示水下机器人在加速过程中所受到的来自周围液体惯性作用的水动力矩阵,C(V)是科氏力与向心力矩阵,D(|V|)是与航行器航行速度有函数关系的阻尼力矩阵,g(η)表示回复力;τRB为水下机器人推进器产生的力和力矩向量,τenv表示因环境产生的未知干扰;Jc(η)为坐标变换矩阵,其表达式为:
式中,03表示大小为“3×3”的零矩阵,
由于水下机器人具有较强的非线性和耦合特性,基于动态建模技术获得的模型具有较大的不确定性,表示如下:
步骤1.2:考虑BT为推力分配矩阵,TRB为推进器产生的推力矢量,则有τRB=BTTRB;推进器的输出受到其输出能力的限制,考虑推进器输出的上限和下限分别为Tmax和Tmin,则推进器饱和由下式表示:
sat(TRB)=TRB+Λ
式中,
考虑水下机器人发生推进器故障,此时推进器真实输出为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)式所示的水下机器人系统在考虑发生推进器故障的情况时描述成如下状态空间方程的形式:
式中,
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);设计比例-积分-微分控制器如下式所示:
进一步地,步骤3中,给出如(4)式所示的二次型性能指标:
式中P1和P2是性能指标的权值矩阵,tn是时间窗长度;在系统稳定的情况下,给出基于性能的检测阈值Jth(t)如(5)式所示:
式中ε是人为给定的足够小的常数,由此得到如下检测策略:
由此可知,系统正常运行时J(t)小于等于阈值Jth(t),补偿算法不启动,即u(t)=un(t),un(t)为步骤2所设计的比例-积分-微分控制器产生的控制信号;而当J(t)大于阈值Jth(t)时,视为推进器故障引起的系统性能下降,触发后续容错控制算法。
进一步地,步骤4的具体过程如下:
式中||·||2表示2-范数,c表示当训练得到的DDPG算法代理接近理想条件时人为给予的恒定奖励,由奖励函数得长期累积奖励如下式所示:
式中γ∈(0,1)表示折扣系数,它使累积奖励随着迭代次数的增加而保持不变;r(τ)表示τ时刻的奖励值;
由此水下机器人推进器容错控制问题就转化成了让水下机器人学习在发生推进器故障之后如何调整补偿控制信号uc(t),从而获得最大的累积奖励值R(t),为:
步骤4.2:构建DDPG算法中的4个神经网络,其中当前策略网络负责学习策略函数μ,权值为θμ,而当前评价网络负责学习逼近值函数Q,权值为θQ,目标策略网络μ′权值为θμ′,目标评价网络Q′权值为θQ′,两个目标网络的网络结构与各自对应的当前网络完全相同;
步骤4.3:给定DDPG算法最大回合数Ne,每回合最大迭代次数Ns,折扣系数γ,目标网络更新率δ,初始化当前策略网络权值θμ,当前评价网络权值θQ,并将参数复制到相对应的两个目标网络,初始化数据样本经验池;
步骤4.5:由当前策略网络计算动作a(t),为:
在水下机器人系统中执行动作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)
构造评价网络的损失函数:
求解令(8)式最小的权值θQ,并更新当前评价网络;
当前策略网络采用梯度下降法进行更新,计算样本的策略梯度为:
求解令(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)所示:
式中,为水下机器人的位置向量,其中ηx,ηy,ηz为水下机器人在惯性坐标系中的位置坐标,/>ηθ,ηψ分别为水下机器人的横倾角、纵倾角、艏向角。/>为η的一阶导数。V=[Vu,Vv,Vw,Vp,Vq,Vr]T为水下机器人的速度向量,其中Vu,Vv,Vw分别为水下机器人线速度矢量在载体坐标系中的3个分量,Vp,Vq,Vr分别为水下机器人角速度矢量在载体坐标系中的3个分量。/>为V的一阶导数。MRB是刚体惯量矩阵,MA表示水下机器人在加速过程中所受到的来自周围液体惯性作用的水动力矩阵,C(V)是科氏力与向心力矩阵,D(|V|)是与航行器航行速度有函数关系的阻尼力矩阵,g(η)表示回复力。τRB为水下机器人推进器产生的力和力矩向量,τenv表示因环境产生的未知干扰。Jc(η)为坐标变换矩阵,其表达式为:
式中,03表示大小为“3×3”的零矩阵,
由于水下机器人具有较强的非线性和耦合特性,基于动态建模技术获得的模型具有较大的不确定性,表示如下:
ΔMRB=06,ΔMA=diag(4sin(0.1t),6cos(0.1t),0,0,0,0.04sin(0.1t))
其中,diag(·)表示以括号内元素作为主对角线构成的对角矩阵;t表示时间;
步骤1.2:考虑如图2所示的推进器分布方式,有
式中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+Λ
式中,
考虑水下机器人发生推进器故障,此时推进器真实输出为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)式所示的水下机器人系统在考虑发生推进器故障的情况时可以描述成如下状态空间方程的形式:
式中,
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)。设计如下式所示的比例-积分-微分控制器:
步骤3:基于步骤2得到的轨迹跟踪误差及控制器的输出信号,构建二次型性能指标实时检测系统性能,并给出检测策略用于判断系统是否发生推进器故障;
所述方法的控制目标是针对水下机器人系统存在推进器故障的情况下,系统仍然能够跟踪所设定的期望轨迹,由此给出如(4)式所示的二次型性能指标:
式中P1=100I6和P2=0.1I6是性能评价指标的权值矩阵,tn=50是时间窗长度。在系统稳定的情况下,可给出基于性能的检测阈值Jth(t)如(5)式所示:
式中ε=0.1是人为给定的足够小的常数,由此可得如下检测策略:
由此可知,系统正常运行时J(t)小于等于阈值Jth(t),补偿算法不启动,即u(t)=un(t),un(t)为步骤2所设计的比例-积分-微分控制器产生的控制信号;而当J(t)大于阈值Jth(t)时,视为推进器故障引起的系统性能下降,触发后续容错控制算法。
步骤4:基于步骤3给出的检测策略,当判定系统发生故障时,设计深度确定性策略梯度算法的奖励函数,基于水下机器人的输出对深度确定性策略梯度算法中的策略网络和评价网络进行训练,得到控制器补偿信号,从而实现水下机器人的容错控制。
式中||·||2表示2-范数,c表示当训练得到的深度确定性策略梯度算法代理接近理想条件时人为给予的恒定奖励,具体地,本实施例中有:
由奖励函数可得长期累积奖励如下式所示:
式中γ∈(0,1)表示折扣系数,它可以使累积奖励随着迭代次数的增加而保持不变;如果γ=0,则只考虑立即奖励。r(τ)表示τ时刻的奖励值。由此水下机器人推进器容错控制问题就转化成了让水下机器人学习在发生推进器故障之后如何调整补偿控制信号uc(t),从而获得最大的累积奖励值R(t),即
步骤4.2:构建深度确定性策略梯度算法中的4个神经网络,具体结构如图3所示,将水下机器人的系统模型视为环境,当前策略网络负责学习策略函数μ,权值为θμ,而当前评价网络负责学习逼近值函数Q,权值为θQ,目标策略网络μ′权值为θμ′,目标评价网络Q′权值为θQ′,两个目标网络的网络结构与各自对应的当前网络完全相同;
步骤4.3:给定深度确定性策略梯度算法最大回合数Ne,每回合最大迭代次数Ns,折扣系数γ,目标网络更新率δ,初始化当前策略网络权值θμ,当前评价网络权值θQ,并将参数复制到相对应的两个目标网络,初始化数据样本经验池;
步骤4.5:由当前策略网络计算动作a(t),即:
在水下机器人系统中执行动作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)
构造评价网络的损失函数:
求解令(8)式最小的权值θQ,并更新当前评价网络。
当前策略网络采用梯度下降法进行更新,计算样本的策略梯度为:
求解令(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,跟踪轨迹为:
引入外界环境干扰τ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%效率,即:
根据本发明实施方式,仿真结果如图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)所示:
式中,为水下机器人的位置向量,其中ηx,ηy,ηz为水下机器人在惯性坐标系中的位置坐标,/>ηθ,ηψ分别为水下机器人的横倾角、纵倾角、艏向角;/>为η的一阶导数;V=[Vu,Vv,Vw,Vp,Vq,Vr]T为水下机器人的速度向量,其中Vu,Vv,Vw分别为水下机器人线速度矢量在载体坐标系中的3个分量,Vp,Vq,Vr分别为水下机器人角速度矢量在载体坐标系中的3个分量;/>为V的一阶导数;MRB是刚体惯量矩阵,MA表示水下机器人在加速过程中所受到的来自周围液体惯性作用的水动力矩阵,C(V)是科氏力与向心力矩阵,D(|V|)是与航行器航行速度有函数关系的阻尼力矩阵,g(η)表示回复力;τRB为水下机器人推进器产生的力和力矩向量,τenv表示因环境产生的未知外部干扰;Jc(η)为坐标变换矩阵,其表达式为:
式中,03表示大小为“3×3”的零矩阵,
由于水下机器人具有较强的非线性和耦合特性,基于动态建模技术获得的模型具有较大的不确定性,表示如下:
步骤1.2:考虑BT为推力分配矩阵,TRB为推进器产生的推力矢量,则有τRB=BTTRB;推进器的输出受到其输出能力的限制,考虑推进器输出的上限和下限分别为Tmax和Tmin,则推进器饱和由下式表示:
sat(TRB)=TRB+Λ
式中,
考虑水下机器人发生推进器故障,此时推进器真实输出为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)式所示的水下机器人系统在考虑发生推进器故障的情况时描述成如下状态空间方程的形式:
式中,
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)。
5.根据权利要求1所述的基于DDPG算法的水下机器人推进器故障容错控制方法,其特征在于,所述步骤4的具体过程如下:
式中||·||2表示2-范数,c表示当训练得到的DDPG算法代理接近理想条件时人为给予的恒定奖励,由奖励函数得长期累积奖励如下式所示:
式中γ∈(0,1)表示折扣系数,它使累积奖励随着迭代次数的增加而保持不变;r(τ)表示τ时刻的奖励值;
由此水下机器人推进器容错控制问题就转化成了让水下机器人学习在发生推进器故障之后如何调整补偿控制信号uc(t),从而获得最大的累积奖励值R(t),为:
步骤4.2:构建DDPG算法中的4个神经网络,其中当前策略网络负责学习策略函数μ,权值为θμ,而当前评价网络负责学习逼近值函数Q,权值为θQ,目标策略网络μ′权值为θμ′,目标评价网络Q′权值为θQ′,两个目标网络的网络结构与各自对应的当前网络完全相同;
步骤4.3:给定DDPG算法最大回合数Ne,每回合最大迭代次数Ns,折扣系数γ,目标网络更新率δ,初始化当前策略网络权值θμ,当前评价网络权值θQ,并将参数复制到相对应的两个目标网络,初始化数据样本经验池;
步骤4.5:由当前策略网络计算动作a(t),为:
在水下机器人系统中执行动作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)
构造评价网络的损失函数:
求解令(8)式最小的权值θQ,并更新当前评价网络;
当前策略网络采用梯度下降法进行更新,计算样本的策略梯度为:
求解令(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),进而实现水下机器人容错控制。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117250971A (zh) * | 2023-11-17 | 2023-12-19 | 山东科技大学 | 一种微小型auv的控制方法 |
-
2023
- 2023-03-03 CN CN202310197205.2A patent/CN116430718A/zh active Pending
Cited By (2)
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 |