CN113954069A - 一种基于深度强化学习的机械臂主动容错控制方法 - Google Patents
一种基于深度强化学习的机械臂主动容错控制方法 Download PDFInfo
- Publication number
- CN113954069A CN113954069A CN202111243205.9A CN202111243205A CN113954069A CN 113954069 A CN113954069 A CN 113954069A CN 202111243205 A CN202111243205 A CN 202111243205A CN 113954069 A CN113954069 A CN 113954069A
- Authority
- CN
- China
- Prior art keywords
- fault
- mechanical arm
- joint
- tolerant control
- actuator
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 230000002787 reinforcement Effects 0.000 title claims abstract description 60
- 238000003745 diagnosis Methods 0.000 claims abstract description 50
- 238000001514 detection method Methods 0.000 claims abstract description 42
- 238000012549 training Methods 0.000 claims abstract description 38
- 238000013135 deep learning Methods 0.000 claims abstract description 10
- 238000004422 calculation algorithm Methods 0.000 claims description 21
- 230000008859 change Effects 0.000 claims description 12
- 230000009471 action Effects 0.000 claims description 11
- 238000004088 simulation Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 8
- 238000013527 convolutional neural network Methods 0.000 claims description 6
- 238000013528 artificial neural network Methods 0.000 claims description 5
- 238000005070 sampling Methods 0.000 claims description 5
- 238000013461 design Methods 0.000 claims description 4
- 230000001133 acceleration Effects 0.000 claims description 3
- 230000005484 gravity Effects 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 230000003044 adaptive effect Effects 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000004590 computer program Methods 0.000 claims description 2
- 230000036541 health Effects 0.000 claims description 2
- 239000003795 chemical substances by application Substances 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 238000011217 control strategy Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011897 real-time detection Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 206010061258 Joint lock Diseases 0.000 description 1
- 208000025174 PANDAS Diseases 0.000 description 1
- 208000021155 Paediatric autoimmune neuropsychiatric disorders associated with streptococcal infection Diseases 0.000 description 1
- 240000004718 Panda Species 0.000 description 1
- 235000016496 Panda oleosa Nutrition 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005183 dynamical system Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1674—Programme controls characterised by safety, monitoring, diagnostic
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Feedback Control In General (AREA)
Abstract
一种基于深度强化学***滑的主动容错控制。
Description
技术领域
本发明涉及机械臂及容错控制领域,特别是涉及一种基于深度强化学 习的机械臂主动容错控制方法。
背景技术
随着工业技术的发展,现代控制***愈显智能化和复杂化。而在*** 运作时,故障的发生不可避免,为了提高***的安全性以及可靠性,故障 检测,故障诊断和容错控制技术受到学者的广泛关注,并逐渐被应用到各 种***中。故障检测与诊断FDD(FaultDetection and Diagnosis)旨在尽快 判断故障的发生并识别故障的特征,而容错控制的目的是弥补故障带来的 性能损失。一个有效的容错控制***能够保证操作的安全运行,并维持故 障发生时的控制性能。
当前容错控制的研究方法主要分为两类:主动容错控制AFTC(Active FaultTolerant Control)和被动容错控制PFTC(Passive Fault Tolerant Control)。被动容错控制的研究目标在于提高***在故障状态下的鲁棒性, 由此设计出的控制器能够在不改变其结构和参数的情况下容忍外部干扰和 故障的发生,但容错性能有限。主动容错控制与被动容错控制相比,增加 了一个故障检测和诊断模块,通常情况下控制器的参数或结构将根据诊断 信息进行相应的调整,因此具有更好的容错性能。其中,故障检测与诊断 方法又可分为两类:基于数据的方法和基于模型的方法。基于模型的方法 依赖于***精确的动力学模型,通过设计观测器、构造健康***模型等方 法来产生信号残差,从而进行诊断。基于数据的方法则充分利用***的输 入输出数据,通过分析信号,深度学习等技术进行故障识别,无需考虑系 统的建模和外界扰动。因此,基于数据的方法在实际应用中适用性更强。
近年来深度强化学习DRL(Deep Reinforcement Learning)的兴起为容 错控制提供了一个新方法。强化学习的主要思想在于通过环境交互,在试 错中主动寻找一个较优的策略,而深度强化学习则是结合了深度神经网络 强大的数据拟合能力。基于DRL的容错控制方法,其优点在于能够根据环 境反馈去自主估计故障的幅度,并输出对应的控制策略。
在现有的文献中,已存在深度强化学习在容错控制中的应用案例。例 如,一种针对无人机的基于深度强化学习的容错控制方法,在原始的无人 机控制***中加入了DRL辅助控制器,根据***状态变化输出辅助控制信 号,实现了无人机在多种故障攻击下的稳定飞行。然而,当前基于DRL 的容错控制方法仅考虑被动容错,辅助控制***在健康和故障状态下始终 保持运行,而在复杂非线性***中,如多自由度机械臂,DRL策略运行的 长期稳定性是无法保障的,因此发展基于DRL的主动容错控制方法对提高 ***的稳定性具有实际意义。
在一种基于深度强化学习的被动容错控制方法中,无论***处于健康 或故障模态,基于深度强化学习的辅助控制器始终处于工作状态,该方法 对于机械臂这类复杂非线性***存在安全隐患,因为强化学习策略具有一 定的随机性。
有种基于深度学习的机械臂故障诊断方法只考虑了故障的检测与诊断, 而给出没有诊断后机械臂的容错控制方案,在基于数据的框架下,尚没有 针对多自由度机械臂的故障诊断与容错控制相结合的方法。
有种基于模型的机械臂容错控制方法,依赖于准确的机械臂模型。而 在实践中精密的数据测量往往是困难和昂贵的,且器件的物理属性会随着 使用时间的推移而改变,因此该类方法难以在实际中使用。
需要说明的是,在上述背景技术部分公开的信息仅用于对本申请的背 景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的 信息。
发明内容
本发明的主要目的在于克服上述背景技术的缺陷,提供一种基于深度 强化学习的机械臂主动容错控制方法。
为实现上述目的,本发明采用以下技术方案:
一种基于深度强化学习的机械臂主动容错控制方法,包括:利用深度 学习方法进行实时的故障检测,其中,将训练得到的基于数据的动力学模 型作为名义模型来产生机械臂关节速度的残差信号,并根据所述残差信号 进行在线的故障检测和诊断;当机械臂发生单或多执行器突变故障时,通 过诊断定位发生故障的机械臂关节,为容错控制提供故障信息;根据所述 故障信息,针对发生故障的关节,基于深度强化学习的辅助控制器与*** 控制器一起工作,输出补偿控制力矩以弥补关节性能损失,从而实现在机 械臂执行器故障情况下维持轨迹跟踪性能;其中,机械臂的每一个关节配 置有所述基于深度强化学习的辅助控制器,在健康状态下,所述辅助控制 器停止工作,机械臂由本身的名义控制器控制,当发生故障时,所述辅助 控制器与所述名义控制器并行工作,自主估计执行器的故障程度并输出补 偿力矩。
进一步地:
n自由度的机械臂动力学模型:
机械臂执行器的故障模型:
机械臂***的执行器即为驱动各个关节的伺服电机,执行器故障表示 为
τi=δτn_i+Δri (4)
其中τi,τn_i分别表示第i个关节的实际力矩和计算得到的名义力矩, δ∈[0,1]表示执行器的损失系数,Δri表示偏置量。
所述执行器故障包括乘性故障、恒偏置故障和完全故障。
所述故障检测为基于多层感知机的故障检测方法:
构建一组名义***模型和真实的故障***模型,在每一时刻k,名义系 统输入计算力矩而真实***输入真实力矩,通过比较***输出的残差rk判 断故障的发生,即
在数据驱动的框架下,名义的动力学***由多层感知机拟合历史数据得 到;由式(4),在k时刻根据当前的状态sk和输入ak预测下一步的状态sk+1, 拟合此非线性函数f(·):
收集无故障情况下的机械臂运行轨迹数据τ=(s0,a0,…,sn,an),优化的损失函数定义为
其中D表示历史数据库,每次批量采样状态-动作对(sk,ak,sk+1)对神经网络进 行训练,网络参数通过反向传播算法更新;训练好的多层感知机用于信号 残差的生成,从而实现机械臂的故障检测,即
所述故障诊断为基于一维卷积网络的故障诊断方法:
通过一维卷积网络对所述残差信号进行分类识别,从而得到发生故障 的具体关节位置;其中,所述一维卷积神经网络输入为关节速度残差的时 间序列,输出为关节故障的类别数;其中,当残差超出指定阈值时,按设 定的截取序列长度nl,截取故障时间点之后的一段关节速度残差信号用于 故障诊断;对于一个n自由度机械臂,每一批数据维度为n×nl;优选的, 训练数据通过仿真环境下模拟各类执行器故障获得。
所述深度强化学习采用深度确定性策略梯度算法,该算法包括策略网 络μθ和价值网络Qθ,所述策略网络用于输出一个确定性的连续动作,所述 价值网络用于评估状态-动作对的价值;具体包括如下步骤:
初始化价值网络Q(s,a|θQ)和策略网络μ(s|θμ)的参数θQ与θμ;
初始化目标价值网络Q′和目标策略网络μ′:θQ′←θQ,θμ′←θμ;
初始化记忆库R;
迭代N个回合:
初始化用于探索的高斯噪声N,获得初始状态s1;
迭代T个时间步:
根据策略选择动作at=μ(st|θμ)+Nt;
执行动作at,并获得奖励rt,获得新的状态st+1;
存储数据组(st,at,rt,st+1)到记忆库R;
从R中随机抽取M组数据(si,ai,ri,si+1);
令yi=ri+γQ′(si+1,μ′(si+1∣θμ′)∣θQ′);
通过采样计算得到的策略梯度更新策略网络:
更新目标网络:
θQ′←τθQ+(1-τ)θQ′。
θμ′←τθμ+(1-τ)θμ′
将强化学习问题定义为机械臂末端位置轨迹跟踪任务,
状态空间定义为:
a=τ (10)
输出动作为该关节的辅助力矩值,是标量;奖励函数的设计为:
其中pgoal,pee表示笛卡尔空间下的目标位置和机械臂末端位置。
将强化学习任务训练设置为:训练开始前首先指定可能发生故障的关 节,训练过程中机械臂将执行轨迹跟踪任务,名义控制器和基于强化学习 的辅助控制器同时工作,在随机时间步,将对指定关节注入执行器突变故 障;在训练过程中辅助控制器始终开启,通过从健康***到故障***的切 换让强化学习策略学会对执行器故障进行动态估计和自适应力矩补偿。
训练过程中设置单关节的执行器故障,或者,通过分散式的容错控制 结构处理多关节故障的情况。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序由处 理器运行时,实现所述的机械臂主动容错控制方法。
本发明具有如下有益效果:
本发明以机械臂为对象,以执行器故障为具体故障类型,针对机械臂 单关节至多关节执行器故障,提出了一种基于深度强化学***滑的主动容错控制。
本发明的优点具体而言体现如下方面:
1、利用本发明提出的主动容错控制方法,可以在数据框架下,实现在 线的机械臂执行器故障检测与诊断,确定发生故障的关节位置;
2、利用本发明提出的主动容错控制方法,可以对故障关节进行自主估 计和补偿,降低***在故障情况下由性能损失带来的影响;
3、利用本发明提出的主动容错控制方法,实现了基于数据的故障诊断 与基于深度强化学习的容错控制的结合,形成了一个完整通用的多自由度 机械臂主动容错控制框架。同时,对强化学习策略的使用进行了引导和限 制,提高了***的安全性。
附图说明
图1为本发明一个实施例的主动容错控制框架示意图;
图2为本发明一个实施例的故障诊断示意图;
图3为本发明一个实施例的一维卷积神经网络结构图;
图4为本发明一个实施例的仿真环境图;
图5为本发明一个实施例的基于数据的动力学模型预测精度图;
图6为本发明一个实施例的在关节A突变故障下的各关节速度残差变 化曲线图;
图7为本发明一个实施例的各关节强化学习训练曲线图;
图8为本发明一个实施例的单关节故障下的轨迹跟踪曲线图,其中: (a)三维空间跟踪曲线;(b)二维平面跟踪曲线;
图9为本发明一个实施例的多关节故障下的轨迹跟踪曲线图。
具体实施方式
以下对本发明的实施方式做详细说明。应该强调的是,下述说明仅仅 是示例性的,而不是为了限制本发明的范围及其应用。
需要说明的是,当元件被称为“固定于”或“设置于”另一个元件, 它可以直接在另一个元件上或者间接在该另一个元件上。当一个元件被称 为是“连接于”另一个元件,它可以是直接连接到另一个元件或间接连接 至该另一个元件上。另外,连接既可以是用于固定作用也可以是用于耦合 或连通作用。
需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、 “右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关 系为基于附图所示的方位或位置关系,仅是为了便于描述本发明实施例和 简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以 特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或 暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第 一”、“第二”的特征可以明示或者隐含地包括一个或者更多该特征。在本 发明实施例的描述中,“多个”的含义是两个或两个以上,除非另有明确具 体的限定。
参阅图1,本发明实施例提供一种基于深度强化学习的机械臂主动容 错控制方法,包括:在机械臂的控制***中设置故障检测与诊断模块以及 容错控制模块,以实现对机械臂输出数据的实时检测和故障发生时的辅助 力矩补偿;其中,由所述故障检测与诊断模块利用深度学习方法进行实时 的故障检测,其中,将训练得到的基于数据的动力学模型作为名义模型来 产生机械臂关节速度的残差信号,并根据所述残差信号进行在线的故障检 测和诊断;当机械臂发生单或多执行器突变故障时,通过诊断定位发生故 障的机械臂关节,为容错控制提供故障信息;由所述容错控制模块根据所 述故障信息,针对发生故障的关节,基于深度强化学习的辅助控制器与系 统控制器如PID控制器一起工作,输出补偿控制力矩弥补关节性能损失, 从而实现在机械臂执行器故障情况下维持轨迹跟踪性能;其中,机械臂的 每一个关节配置有所述基于深度强化学习的辅助控制器,在健康状态下, 所述辅助控制器停止工作,机械臂由本身的名义控制器控制,当发生故障 时,所述辅助控制器与所述名义控制器并行工作,自主估计执行器的故障 程度并输出补偿力矩。
本发明的方法将深度强化学习与主动容错控制应用相结合,具体而言, 该方法能够实现:利用深度学习方法进行实时的故障检测;在故障发生后, 对残差信号进行故障诊断,得到具体故障信息;在得到故障信息后,利用 基于深度强化学习的容错控制模块,对各关节故障进行补偿。
本发明以机械臂为对象,以执行器故障为具体故障类型,针对机械臂 单关节至多关节执行器故障,提出了一种基于深度强化学***滑的主动容错控制。
以下进一步描述本发明具体实施例。
***描述
n自由度的机械臂动力学建模:
机械臂执行器故障建模:
对于机械臂***而言,***的执行器即为驱动各个关节的伺服电机。 在电机控制器无法完全控制电机的实际输出时即可视为执行器故障。常见 的执行器故障可分为:
乘性故障:实际输出力矩为计算力矩乘以折扣系数,即损失了执行器 的部分性能。
恒偏置故障:实际输出力矩与计算力矩间存在恒定误差。
完全故障:执行器完全失效,通常表现为关节锁死或自由摆动。
上述故障类型均可统一表示为
τi=δτn_i+Δri (4)
其中τi,τn_i分别表示第i个关节的实际力矩和计算得到的名义力矩,δ∈[0,1] 表示执行器的损失系数,Δri表示偏置量。
主动容错控制策略
机械臂的主动容错控制框架:
如图1所示,机械臂的主动容错控制***建立在原控制***的基础上, 通过加入故障检测与诊断模块以及容错控制模块,实现对机械臂输出数据 的实时检测和故障发生时的辅助力矩补偿。故障检测与诊断模块中,将训 练得到的基于数据的动力学模型作为名义模型来产生关节速度残差信号, 残差信号被用于进行故障检测和诊断。通过诊断可定位发生故障的关节, 为容错控制提供故障信息。容错控制模块中,一旦得到故障信息,基于深度强化学习的辅助控制器将与原***PID控制器一起工作,输出补偿控制 力矩弥补性能损失,从而实现在机械臂执行器故障情况下维持轨迹跟踪性 能。
主动容错控制***各模块算法实现
主动容错控制***由故障检测与诊断模块和容错控制模块构成。
故障检测与诊断模块实现基于深度学习的机械臂故障检测与诊断,其实 时检测故障的发生,并对故障进行诊断,从而为后续的容错控制模块提供 有效的故障信息。
优选的实施例中,基于深度学习的机械臂故障检测与诊断包括基于多层 感知机的故障检测和基于一维卷积网络的故障诊断。
基于多层感知机的故障检测方法:
故障诊断通过构建一组名义***模型和真实的故障***模型来实现,在 每一时刻k,名义***输入计算力矩而真实***输入真实力矩,通过比较 ***输出的残差rk判断故障的发生,即
在数据驱动的框架下,名义的动力学***由多层感知机拟合历史数据得到。 由式(4)可知,在k时刻可根据当前的状态sk和输入ak预测下一步的状态 sk+1,神经网络的目标便是拟合此非线性函数f(·):
首先收集大量无故障情况下的机械臂运行轨迹数据τ=(s0,a0,…,sn,an),优化的损失函数定义为
其中D表示历史数据库,每次批量采样状态-动作对(sk,ak,sk+1)对神经网络进 行训练,网络参数通过反向传播算法更新。训练好的多层感知机便可用于 信号残差的生成,从而实现机械臂的故障检测,即
基于一维卷积网络的故障诊断方法:
检测到故障发生之后,需要对故障进行诊断从而得到更加具体的故障信 息。这是因为当机械臂发生单个执行器故障时,由于机械臂***的耦合性 与非线性,会导致所有的关节位置和关节速度发生突变,这将导致基于多 层感知机的故障检测方法只能判断故障发生而无法定位到具体发生故障的 关节。由于不同的故障类型会导致不同的故障信号特征,为了提高容错控 制模块的性能,优选实施例采用一维卷积网络对残差信号进行分类识别, 从而得到发生故障的具体关节位置。
如图2所示,当残差超出指定阈值时,即故障发生。而后截取该时间 点之后的一段关节速度残差信号用于故障诊断,即图中灰色方块部分。截 取序列长度nl由人为设定,nl越大则故障数据越丰富,更利于一维卷积网 络的分类识别,但相应的故障诊断时间将越长,容错性能下降。nl越小则 故障诊断时间变短,但数据信息减少,分类识别难度提高。对于一个n自 由度机械臂,每一批数据维度为n×nl,训练数据通过仿真环境下模拟各类 执行器故障获得。
一维卷积神经网络结构如图3所示,输入为关节速度残差的时间序列, 输出则为关节故障的类别数。
容错控制模块用于进行基于深度强化学习的容错控制。
基于深度强化学习的容错控制方法:
利用前述的故障检测与诊断方法,当机械臂发生单或多执行器突变故 障时,便可在固定时间内判断出发生故障的关节位置。在此基础上,容错 控制算法只需针对发生故障的关节即可。因此,本发明中针对机械臂的每 一个关节都增加了一个基于深度强化学习的辅助控制器,在***的健康状 态下,辅助控制器停止工作,机械臂由本身的名义控制器控制。仅当发生 故障时,辅助控制器开始与名义***并行工作,自主估计执行器故障程度 并输出补偿力矩。
深度强化学习算法:
深度强化学习算法中,强化学习的组成元素包含智能体、环境和奖励 三部分。奖励是一个标量的信号反馈,它表明智能体在某个时刻t所采取 动作的好坏,智能体的目标即最大化预期累积奖励。一般的,智能体在t 时刻获得环境反馈st,根据自身的策略做出决策at=πθ(st),并得到即时奖 励Rt,同时环境更新至下一状态st+1,智能体通过与环境交互学习得到一 个最优或次优策略。
优选实施例中采用深度确定性策略梯度算法,该算法由策略网络μθ和 价值网络Qθ构成。策略网络用于输出一个确定性的连续动作,价值网络用 于评估状态-动作对的价值。算法训练流程如表1。
表1.深度确定性策略梯度算法
强化学习问题建模:
本发明中将强化学习问题定义为机械臂末端位置轨迹跟踪任务,由于 机械臂各关节的强化学习辅助控制器是相互独立的,因此每次只需对单控 制器进行训练。
状态空间定义为:
a=τ (10)
因单策略只对应单关节,因此输出动作为该关节的辅助力矩值,是标量。 奖励函数的设计为:
其中pgoal,pee表示笛卡尔空间下的目标位置和机械臂末端位置。奖励的设计 目的是尽可能提高机械臂的轨迹跟踪效果。
强化学习任务训练设置:
训练开始前首先指定可能发生故障的关节,训练过程中机械臂将执行 轨迹跟踪任务,名义控制器和基于强化学习的辅助控制器同时工作,在随 机时间步,将对指定关节注入执行器突变故障。辅助控制器的目的是在故 障情况下维持控制性能,因此在训练过程中辅助控制器始终开启,通过从 健康***到故障***的切换能够让强化学习策略学会对执行器故障进行动 态估计和自适应力矩补偿。
因机械臂中各关节对于运动性能的力矩贡献不同,因此不同关节所训 练得到的强化学习策略亦存在区别,但皆可通过该训练模式进行训练。此 外,尽管训练过程中只设置了单关节的执行器故障,但这种分散式的容错 控制结构使得本发明能够轻易应对多关节故障的情况。
仿真示例
为了验证算法的有效性,本发明在MuJoCo物理仿真环境下在7自由 度Panda机械臂上进行了仿真实验。仿真环境如图4,A,B,C分别对应 三个发生故障的旋转关节。
故障检测与诊断算法验证:
在***健康的状态下,通过采集大量的机械臂运行数据进行多层感知 机的网络训练,从而得到基于数据的动力学模型。为验证训练模型精度, 将真实值(st,st+1,…,st+N)与一步预测值进行 对比,如图5所示,可见模型的训练精度满足故障检测的需求。
在正常状态下,关节速度残差信号始终保持在一定的阈值范围之内, 一旦发生突变的执行器故障,残差信号将超出设定阈值,图6即为关节A 在时间步k=40时发生乘性故障后的各关节速度残差变化曲线图。红色虚线 即为预设阈值,任一关节速度残差超出范围即意味着故障发生。
故障诊断算法对检测到故障后的残差时间序列进行分类识别。为训练 一维卷积神经网络,本发明通过模拟不同的故障场景制作了训练数据集。 详细设置见表(2)。对于每个标签,都有共有1000个样本,包含两种故障 类型。每个样本由7条长度为10的时间序列组成。经过训练,在考虑所有 故障情形的测试场景下,其预测精度能够达到94.4%。
表2.执行器故障具体设置表
基于深度强化学习的容错控制算法实验结果:
针对图4中的三个机械臂关节A,B,C分别进行了基于深度强化学习的 辅助控制器训练。各关节的训练方式与算法参数设置完全相同,共训练100 回合,每回合9000个时间步,因物理仿真时间间隔为0.002秒,即每回合 18秒,控制器控制频率为500Hz。训练曲线如图7所示,不同的关节位置 其训练结果存在差异,但总体上它们都快速收敛到了一个定值,大约需要 20个回合来学习到一个次优策略。
完整框架下的主动容错控制策略验证:
在对算法的各模块进行验证之后,对完整的主动容错控制算法进行仿真 测试,通过比较原***与主动容错控制***的容错表现来验证算法的有效 性。测试中机械臂将在X-Y平面执行圆形参考轨迹跟踪任务,并在随机时 刻受到执行器故障攻击。
单关节执行器故障情况:
如图8所示,在时间步k=300处将乘性故障注入关节A,即红星标记 处。故障导致任务所需的扭矩降低至原力矩的76%。力矩损失导致关节速 度发生突变,并立即被故障检测模块检测,接下来的10个时间步用于收集 故障诊断所需的残差数据。因此在故障发生后的短时间内容错控制模块并 未开启,控制精度持续下降。当一旦确定故障发生的位置,将激活对应的 辅助控制器进行力矩补偿。图8中红线表示参考轨迹,绿线表示原***的 跟踪轨迹,蓝线表示在本发明提出的主动容错控制方法下***的跟踪轨迹。
多关节执行器故障情况:
在多关节执行器故障情况下,不同类型的故障被分别注入到两个关节 上。该实验中,关节B受到偏置故障的攻击,即加性常数扰动(3.65N·m)。 关节C受到乘性故障的攻击,故障程度为80%。实验结果如图9所示。
通过对比实验可知,本发明提出的主动容错控制方案能够保证实时的 故障检测与识别,利用智能化的容错控制方法提高了机械臂***的容错能 力。超调量和跟踪误差都大幅降低,提高了故障情况下操作安全性。
本发明基于深度强化学习的机械臂主动容错控制方法具有如下的优 点:
1、利用本发明提出的主动容错控制方法,可以在数据框架下,实现在 线的机械臂执行器故障检测与诊断,确定发生故障的关节位置;
2、利用本发明提出的主动容错控制方法,可以对故障关节进行自主估 计和补偿,降低***在故障情况下由性能损失带来的影响;
3、利用本发明提出的主动容错控制方法,实现了基于数据的故障诊断 与基于深度强化学习的容错控制的结合,形成了一个完整通用的多自由度 机械臂主动容错控制框架。同时,对强化学习策略的使用进行了引导和限 制,提高了***的安全性。
本发明将深度学习的故障检测与诊断和基于深度强化学习的容错控制, 二者结合的主动容错控制框架,可实现多自由度机械臂执行器故障的主动 容错控制的整体***。
本发明的背景部分可以包含关于本发明的问题或环境的背景信息,而 不一定是描述现有技术。因此,在背景技术部分中包含的内容并不是申请 人对现有技术的承认。
以上内容是结合具体/优选的实施方式对本发明所作的进一步详细说 明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术 领域的普通技术人员来说,在不脱离本发明构思的前提下,其还可以对这 些已描述的实施方式做出若干替代或变型,而这些替代或变型方式都应当 视为属于本发明的保护范围。在本说明书的描述中,参考术语“一种实施 例”、“一些实施例”、“优选实施例”、“示例”、“具体示例”、或“一些示例” 等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点 包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的 示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、 结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结 合。在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的 不同实施例或示例以及不同实施例或示例的特征进行结合和组合。尽管已 经详细描述了本发明的实施例及其优点,但应当理解,在不脱离专利申请 的保护范围的情况下,可以在本文中进行各种改变、替换和变更。
Claims (10)
1.一种基于深度强化学习的机械臂主动容错控制方法,其特征在于,包括:利用深度学习方法进行实时的故障检测,其中,将训练得到的基于数据的动力学模型作为名义模型来产生机械臂关节速度的残差信号,并根据所述残差信号进行在线的故障检测和诊断;当机械臂发生单或多执行器突变故障时,通过诊断定位发生故障的机械臂关节,为容错控制提供故障信息;根据所述故障信息,针对发生故障的关节,基于深度强化学习的辅助控制器与***控制器一起工作,输出补偿控制力矩以弥补关节性能损失,从而实现在机械臂执行器故障情况下维持轨迹跟踪性能;其中,机械臂的每一个关节配置有所述基于深度强化学习的辅助控制器,在健康状态下,所述辅助控制器停止工作,机械臂由本身的名义控制器控制,当发生故障时,所述辅助控制器与所述名义控制器并行工作,自主估计执行器的故障程度并输出补偿力矩。
3.如权利要求2所述的机械臂主动容错控制方法,其特征在于,所述执行器故障包括乘性故障、恒偏置故障和完全故障。
4.如权利要求2所述的机械臂主动容错控制方法,其特征在于,所述故障检测为基于多层感知机的故障检测方法:
构建一组名义***模型和真实的故障***模型,在每一时刻k,名义***输入计算力矩而真实***输入真实力矩,通过比较***输出的残差rk判断故障的发生,即
在数据驱动的框架下,名义的动力学***由多层感知机拟合历史数据得到;由式(4),在k时刻根据当前的状态sk和输入ak预测下一步的状态sk+1,拟合此非线性函数f(·):
收集无故障情况下的机械臂运行轨迹数据τ=(s0,a0,…,sn,an),优化的损失函数定义为
其中D表示历史数据库,每次批量采样状态-动作对(sk,ak,sk+1)对神经网络进行训练,网络参数通过反向传播算法更新;训练好的多层感知机用于信号残差的生成,从而实现机械臂的故障检测,即
5.如权利要求1至4任一项所述的机械臂主动容错控制方法,其特征在于,所述故障诊断为基于一维卷积网络的故障诊断方法:
通过一维卷积网络对所述残差信号进行分类识别,从而得到发生故障的具体关节位置;其中,所述一维卷积神经网络输入为关节速度残差的时间序列,输出为关节故障的类别数;其中,当残差超出指定阈值时,按设定的截取序列长度nl,截取故障时间点之后的一段关节速度残差信号用于故障诊断;对于一个n自由度机械臂,每一批数据维度为n×nl;优选的,训练数据通过仿真环境下模拟各类执行器故障获得。
6.如权利要求2至5任一项所述的机械臂主动容错控制方法,其特征在于,所述深度强化学习采用深度确定性策略梯度算法,该算法包括策略网络μθ和价值网络Qθ,所述策略网络用于输出一个确定性的连续动作,所述价值网络用于评估状态-动作对的价值;具体包括如下步骤:
初始化价值网络Q(s,a|θQ)和策略网络μ(s|θμ)的参数θQ与θμ;
初始化目标价值网络Q′和目标策略网络μ′:θQ′←θQ,θμ′←θμ;
初始化记忆库R;
迭代N个回合:
初始化用于探索的高斯噪声N,获得初始状态s1;
迭代T个时间步:
根据策略选择动作at=μ(st|θμ)+Nt;
执行动作at,并获得奖励rt,获得新的状态st+1;
存储数据组(st,at,rt,st+1)到记忆库R;
从R中随机抽取M组数据(si,ai,ri,si+1);
令yi=ri+γQ′(si+1,μ′(si+1∣θμ′)∣θQ′);
通过采样计算得到的策略梯度更新策略网络:
更新目标网络:
θQ′←τθQ+(1-τ)θQ′。
θμ′←τθμ+(1-τ)θμ′。
8.如权利要求7所述的机械臂主动容错控制方法,其特征在于,将强化学习任务训练设置为:训练开始前首先指定可能发生故障的关节,训练过程中机械臂将执行轨迹跟踪任务,名义控制器和基于强化学习的辅助控制器同时工作,在随机时间步,将对指定关节注入执行器突变故障;在训练过程中辅助控制器始终开启,通过从健康***到故障***的切换让强化学习策略学会对执行器故障进行动态估计和自适应力矩补偿。
9.如权利要求8所述的机械臂主动容错控制方法,其特征在于,训练过程中设置单关节的执行器故障,或者,通过分散式的容错控制结构处理多关节故障的情况。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序由处理器运行时,实现如权利要求1至9任一项所述的机械臂主动容错控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111243205.9A CN113954069B (zh) | 2021-10-25 | 2021-10-25 | 一种基于深度强化学习的机械臂主动容错控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111243205.9A CN113954069B (zh) | 2021-10-25 | 2021-10-25 | 一种基于深度强化学习的机械臂主动容错控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113954069A true CN113954069A (zh) | 2022-01-21 |
CN113954069B CN113954069B (zh) | 2023-01-13 |
Family
ID=79466905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111243205.9A Active CN113954069B (zh) | 2021-10-25 | 2021-10-25 | 一种基于深度强化学习的机械臂主动容错控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113954069B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114734441A (zh) * | 2022-04-15 | 2022-07-12 | 北京邮电大学 | 一种关节部分失效故障空间机械臂运动能力优化方法 |
CN114986511A (zh) * | 2022-06-21 | 2022-09-02 | 暨南大学 | 机械臂控制方法、装置、电子设备及计算机可读存储介质 |
CN116021515A (zh) * | 2022-12-22 | 2023-04-28 | 西南科技大学 | 一种基于深度强化学习的机械臂容错避障方法 |
CN116021516A (zh) * | 2022-12-22 | 2023-04-28 | 西南科技大学 | 一种多自由度机械臂容错控制方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5285381A (en) * | 1992-09-09 | 1994-02-08 | Vanderbilt University | Multiple control-point control system and method of use |
CN106292681A (zh) * | 2016-09-19 | 2017-01-04 | 北京航空航天大学 | 一种基于观测器和在线控制分配的卫星主动容错控制方法 |
CN109986562A (zh) * | 2019-04-11 | 2019-07-09 | 南京航空航天大学 | 一种平面机械臂***及其分散式容错控制方法 |
CN110142766A (zh) * | 2019-05-23 | 2019-08-20 | 重庆大学 | 带性能和状态约束的关节型机器人末端轨迹控制方法 |
CN112171721A (zh) * | 2020-11-30 | 2021-01-05 | 北京科技大学 | 一种机器人关节传感器和执行器故障诊断方法及*** |
CN112454359A (zh) * | 2020-11-18 | 2021-03-09 | 重庆大学 | 基于神经网络自适应的机器人关节跟踪控制方法 |
CN113146640A (zh) * | 2021-04-27 | 2021-07-23 | 长春工业大学 | 一种考虑执行器故障的机械臂分散最优容错控制方法 |
-
2021
- 2021-10-25 CN CN202111243205.9A patent/CN113954069B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5285381A (en) * | 1992-09-09 | 1994-02-08 | Vanderbilt University | Multiple control-point control system and method of use |
CN106292681A (zh) * | 2016-09-19 | 2017-01-04 | 北京航空航天大学 | 一种基于观测器和在线控制分配的卫星主动容错控制方法 |
CN109986562A (zh) * | 2019-04-11 | 2019-07-09 | 南京航空航天大学 | 一种平面机械臂***及其分散式容错控制方法 |
CN110142766A (zh) * | 2019-05-23 | 2019-08-20 | 重庆大学 | 带性能和状态约束的关节型机器人末端轨迹控制方法 |
CN112454359A (zh) * | 2020-11-18 | 2021-03-09 | 重庆大学 | 基于神经网络自适应的机器人关节跟踪控制方法 |
CN112171721A (zh) * | 2020-11-30 | 2021-01-05 | 北京科技大学 | 一种机器人关节传感器和执行器故障诊断方法及*** |
CN113146640A (zh) * | 2021-04-27 | 2021-07-23 | 长春工业大学 | 一种考虑执行器故障的机械臂分散最优容错控制方法 |
Non-Patent Citations (1)
Title |
---|
赵博等: "基于信号重构的可重构机械臂主动分散容错控制", 《自动化学报》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114734441A (zh) * | 2022-04-15 | 2022-07-12 | 北京邮电大学 | 一种关节部分失效故障空间机械臂运动能力优化方法 |
CN114734441B (zh) * | 2022-04-15 | 2023-11-24 | 北京邮电大学 | 一种关节部分失效故障空间机械臂运动能力优化方法 |
CN114986511A (zh) * | 2022-06-21 | 2022-09-02 | 暨南大学 | 机械臂控制方法、装置、电子设备及计算机可读存储介质 |
CN114986511B (zh) * | 2022-06-21 | 2024-08-06 | 暨南大学 | 机械臂控制方法、装置、电子设备及计算机可读存储介质 |
CN116021515A (zh) * | 2022-12-22 | 2023-04-28 | 西南科技大学 | 一种基于深度强化学习的机械臂容错避障方法 |
CN116021516A (zh) * | 2022-12-22 | 2023-04-28 | 西南科技大学 | 一种多自由度机械臂容错控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113954069B (zh) | 2023-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113954069B (zh) | 一种基于深度强化学习的机械臂主动容错控制方法 | |
Schultz et al. | Test and evaluation by genetic algorithms | |
Eski et al. | Fault detection on robot manipulators using artificial neural networks | |
Gullapalli et al. | Learning reactive admittance control. | |
JP2016511699A (ja) | ロボットとその環境との衝突の検出を改善する方法、同方法を実施するシステムおよびコンピュータプログラム製品 | |
US20220339787A1 (en) | Carrying out an application using at least one robot | |
WO2020213062A1 (ja) | モータ制御装置 | |
Visinsky et al. | Layered dynamic fault detection and tolerance for robots | |
Pitz et al. | Dextrous tactile in-hand manipulation using a modular reinforcement learning architecture | |
Ahmadzadeh et al. | Online discovery of AUV control policies to overcome thruster failures | |
Leyendecker et al. | Deep Reinforcement Learning for Robotic Control in High-Dexterity Assembly Tasks—A Reward Curriculum Approach | |
Doran et al. | Autonomic architecture for fault handling in mobile robots | |
Jandaghi et al. | Motion dynamics modeling and fault detection of a soft trunk robot | |
Schultz et al. | Adaptive testing of controllers for autonomous vehicles | |
Yan et al. | Active fault-tolerant control integrated with reinforcement learning application to robotic manipulator | |
CN114800525B (zh) | 机器人碰撞检测方法、***、计算机及可读存储介质 | |
CN111984000A (zh) | 用于自动影响执行器的方法和设备 | |
Dev Anand et al. | A hybrid fuzzy logic? artificial neural network algorithm-based fault detection and isolation for industrial robot manipulators | |
Kormushev et al. | Robot learning for persistent autonomy | |
Khireddine et al. | Fault diagnosis in robotic manipulators using artificial neural networks and fuzzy logic | |
Panda et al. | Combined online and offline inverse dynamics learning for a robot manipulator | |
Khireddine et al. | Reconfigurable control for a scara robot using RBF networks | |
Quamar et al. | Review on Fault Diagnosis and Fault-Tolerant Control Scheme for Robotic Manipulators: Recent Advances in AI, Machine Learning, and Digital Twin | |
Sconyers et al. | Diagnosis of fault modes masked by control loops with an application to autonomous hovercraft systems | |
Piltan et al. | Robot manipulator active fault-tolerant control using a machine learning-based automated robust hybrid observer |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |