CN116587275A - 基于深度强化学习的机械臂智能阻抗控制方法及系统 - Google Patents
基于深度强化学习的机械臂智能阻抗控制方法及系统 Download PDFInfo
- Publication number
- CN116587275A CN116587275A CN202310611177.4A CN202310611177A CN116587275A CN 116587275 A CN116587275 A CN 116587275A CN 202310611177 A CN202310611177 A CN 202310611177A CN 116587275 A CN116587275 A CN 116587275A
- Authority
- CN
- China
- Prior art keywords
- mechanical arm
- action
- rigid mechanical
- neural network
- data set
- 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 62
- 230000002787 reinforcement Effects 0.000 title claims abstract description 31
- 230000009471 action Effects 0.000 claims abstract description 115
- 238000013528 artificial neural network Methods 0.000 claims abstract description 84
- 238000012549 training Methods 0.000 claims abstract description 41
- 230000006870 function Effects 0.000 claims description 31
- 230000008569 process Effects 0.000 claims description 24
- 230000008859 change Effects 0.000 claims description 14
- 238000004422 calculation algorithm Methods 0.000 claims description 10
- 238000010276 construction Methods 0.000 claims description 8
- 238000013016 damping Methods 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 7
- 230000007613 environmental effect Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 2
- 230000000875 corresponding effect Effects 0.000 claims 19
- 230000001276 controlling effect Effects 0.000 claims 2
- 238000011217 control strategy Methods 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 239000004973 liquid crystal related substance Substances 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 239000012636 effector Substances 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000005498 polishing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Feedback Control In General (AREA)
Abstract
本发明公开一种基于深度强化学习的机械臂智能阻抗控制方法及系统,涉及机械臂控制技术领域,方法包括:基于刚性机械臂在不确定环境下的阻抗模型获取当前状态数据集,进而确定刚性机械臂的当前动作、对应的奖励值、下一状态数据集;刚性机械臂的当前状态数据集、当前动作、当前动作对应的奖励值以及下一状态数据集构成经验四元组;从机械臂动作经验池中选取多个经验四元组作为训练样本对DDPG模型中Actor‑Critic神经网络进行训练,以得到最优的Actor‑Critic神经网络,从而根据刚性机械臂在不确定环境下的状态数据集确定对应最优的动作。本发明提高机械臂在复杂不确定环境下的力跟踪控制性能。
Description
技术领域
本发明涉及机械臂控制技术领域,特别是涉及一种基于深度强化学习的机械臂智能阻抗控制方法及系统。
背景技术
目前,机械臂得到广泛应用,许多生产线和生活场景都可见其缩影。机械臂执行接触式任务的情况愈加普遍。例如手术、装配、抛光等,执行此类任务需要对机械臂进行有效力控制,使其处在柔顺状态,然而环境和复杂任务自身的不确定性因素往往导致力跟踪控制难以精准实现,所以提高机械臂自身的适应能力正是提高机械臂力控制性能重要举措。
阻抗控制技术为实现机械臂力控制的一种关键方法,在一些对接触力控制有一定要求的场景中得到广泛应用,但由于阻抗控制的结构较为简单,对于动态变化的环境不具备适应能力,且阻抗参数需要事先确定,难以补偿环境中不确定性因素对机械臂力跟踪控制性能的影响。
发明内容
本发明的目的是提供一种基于深度强化学习的机械臂阻抗控制方法及系统,提高机械臂在复杂不确定环境下的力跟踪控制性能。
为实现上述目的,本发明提供了如下方案:
一种基于深度强化学习的机械臂智能阻抗控制方法,包括:
构建刚性机械臂在不确定环境下的阻抗模型;
基于所述刚性机械臂在不确定环境下的阻抗模型,获取所述刚性机械臂的当前状态数据集;所述当前状态数据集用于表征所述刚性机械臂与不确定环境接触时,所述刚性机械臂末端位置变化与接触力的动态映射关系;
基于强化学习算法和预设机械臂动作策略,根据所述刚性机械臂的当前状态数据集,确定所述刚性机械臂的当前动作以及对应的奖励值;
基于所述刚性机械臂的当前动作对所述刚性机械臂的当前状态数据集进行更新,以得到下一状态数据集;所述刚性机械臂的当前状态数据集、当前动作、当前动作对应的奖励值以及下一状态数据集构成经验四元组;多个经验四元组构成机械臂动作经验池;
从所述机械臂动作经验池中选取多个经验四元组作为训练样本,对DDPG模型中Actor-Critic神经网络进行训练,以得到最优的Actor-Critic神经网络;所述最优的Actor-Critic神经网络用于根据所述刚性机械臂在不确定环境下的状态数据集,确定对应最优的动作。
可选地,所述刚性机械臂的当前状态数据集为:
其中,S表示刚性机械臂的当前状态数据集,fe表示刚性机械臂在力约束方向上与环境的接触力;表示刚性机械臂在力约束方向上的力跟踪偏差量、力跟踪偏差量的导数以及力跟踪偏差量的积分;/>表示刚性机械臂在力约束方向的实际位置及实际速度;/>表示刚性机械臂在力约束方向上的位置偏差量及位置偏差量的导数。
可选地,从所述机械臂动作经验池中选取多个经验四元组作为训练样本,对DDPG模型中Actor-Critic神经网络进行训练,以得到最优的Actor-Critic神经网络,具体包括:
构建Actor神经网络和Critic神经网络;
将任一训练样本中刚性机械臂的当前状态数据集输入至所述Actor神经网络,以输出当前预测动作;所述当前预测动作用于控制所述刚性机械臂与不确定环境交互,以确定对应的下一状态数据和奖励值;
将所述训练样本中刚性机械臂的当前状态数据集对应的下一状态数据集以及所述当前预测动作,输入至所述Critic神经网络进行学习,基于最小化损失函数更新Critic神经网络参数,并输出预测动作价值函数值;
基于确定性梯度策略,根据所述预测动作价值函数值,对所述Actor神经网络参数进行更新;
基于多个训练样本,采用软更新方式,分别对所述Actor神经网络和所述Critic神经网络进行参数更新,以得到最优的Actor-Critic神经网络。
一种基于深度强化学习的机械臂智能阻抗控制系统,包括:
阻抗模型构建模块,用于构建刚性机械臂在不确定环境下的阻抗模型;
机械臂状态获取模块,用于基于所述刚性机械臂在不确定环境下的阻抗模型,获取所述刚性机械臂的当前状态数据集;所述当前状态数据集用于表征所述刚性机械臂与不确定环境接触时,所述刚性机械臂末端位置变化与接触力的动态映射关系;
机械臂动作确定模块,用于基于强化学习算法和预设机械臂动作策略,根据所述刚性机械臂的当前状态数据集,确定所述刚性机械臂的当前动作以及对应的奖励值;
机械臂动作经验池构建模块,用于基于所述刚性机械臂的当前动作对所述刚性机械臂的当前状态数据集进行更新,以得到下一状态数据集;所述刚性机械臂的当前状态数据集、当前动作、当前动作对应的奖励值以及下一状态数据集构成经验四元组;多个经验四元组构成机械臂动作经验池;
最优动作模型构建模块,用于从所述机械臂动作经验池中选取多个经验四元组作为训练样本,对DDPG模型中Actor-Critic神经网络进行训练,以得到最优的Actor-Critic神经网络;所述最优的Actor-Critic神经网络用于根据所述刚性机械臂在不确定环境下的状态数据集,确定对应最优的动作。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明公开一种基于深度强化学习的机械臂智能阻抗控制方法及系统,基于刚性机械臂在不确定环境下的阻抗模型,确定刚性机械臂的当前状态数据集,进而确定当前动作、对应的奖励值以及下一状态数据,从而得到经验四元组;多个经验四元组构成机械臂动作经验池。从机械臂动作经验池中选取多个经验四元组作为训练样本,对DDPG模型中Actor-Critic神经网络进行训练得到最优的Actor-Critic神经网络,最优的Actor-Critic神经网络根据刚性机械臂在不确定环境下的状态数据集,确定对应最优的动作。本发明基于深度强化学习对机械臂阻抗控制策略进行改进,使得机械臂智能阻抗控制能以更小的超调、更快的响应速度、更高的跟踪精度完成机械臂的力跟踪过程,显著的提高机械臂的力跟踪控制性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明基于深度强化学习的机械臂智能阻抗控制方法的流程示意图;
图2为本发明智能阻抗控制框图;
图3为本发明IIC的Matlab仿真模型;
图4为本发明IIC网络结构的设置;
图5为本发明利用DDPG求解智能阻抗控制策略的学习过程;
图6为本发明安全学习机制流程图;
图7为本发明IIC方法在训练过程中的奖励变化曲线;
图8为本发明环境刚度突变时机械臂的力跟踪性能对比;
图9为本发明斜坡面环境下机械臂的力跟踪性能对比;
图10为本发明曲面环境下机械臂的力跟踪性能对比;
图11为本发明基于深度强化学习的机械臂智能阻抗控制系统的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在复杂不确定环境下,需要通过实时调整合理的阻抗参数来保证良好的力控制性能。针对这种需求,本发明基于深度强化学习的机械臂智能阻抗控制方法及系统,实现了机械臂在复杂不确定环境下的柔顺力控制,提高其力跟踪控制的动态和稳态性能。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
如图1所示,本发明提供一种基于深度强化学习的机械臂智能阻抗控制方法,包括:
步骤100,构建刚性机械臂在不确定环境下的阻抗模型。
步骤100,具体包括:
(1)在笛卡尔空间中,机械臂的动力学模型为:
其中,q,分别为机械臂的关节角度、关节角速度和关节角加速度;D(q)∈Rn×n为机械臂的惯性矩阵,为机械臂的哥氏力、离心力矩阵;G(q)∈Rn×1为机械臂的重力矢量,为机械臂的驱动力矩,Fe为机械臂末端执行器受到的外力,J(q)为机械臂的雅可比矩阵。
(2)机械臂与不确定环境发生接触时,在不考虑阻尼因素的缓慢接触形变运动下,建立环境动力学模型如下:
Fe=Ke(Xe-X);其中,Ke是环境等效刚度;X表示机械臂的实际位置;Xe表示环境位置。
(3)将期望的阻抗控制模型表示为:
其中,Md,Bd,Kd分别为期望的惯性、阻尼、刚度矩阵;E=Xd-X和Ef=Fd-Fe分别为位置偏差和力偏差;Xd为机械臂接触环境的期望位置;Fd为机械臂末端的期望接触力。
考虑到实际接触环境中的不确定因素,假设环境位置估计误差 其中,δXe为环境位置不确定性所造成的估计误差,继而,建立考虑不确定环境影响下的阻抗模型为:/>
将力与运动方向解耦,仅考虑单一维度的接触力约束,单维度的相关变量用小写字母表示,建立力约束方向上考虑不确定环境影响下的阻抗模型如下:
其中,为力约束方向上的位置估计偏差,δxe和δf体现为由于环境位置和接触力不确定性所造成的估计误差,可见不确定环境中的参数可能是时变的或者是非连续的,这都最终将影响机械臂的力控制性能。
(4)对阻抗模型进行优化,可以将公式重新表示为:
其中,m0,b0分别为初始惯性参数和初始阻尼参数,μb和μk分别为阻尼和刚度的调整参数,由此看出μb和μk为零时,退化为传统阻抗控制。
将公式进一步整理后,可得到刚性机械臂在不确定环境下的阻抗模型,如下:
其中,和/>分别为不可控项和可控项;ef表示刚性机械臂在力约束方向上的力跟踪偏差量,δf表示由于接触力不确定性造成的估计误差,表示由于环境位置不确定性造成的估计误差的导数,/>表示由于环境位置不确定性造成的估计误差的二次导数,μb和μk分别表示阻尼调整参数和刚度调整参数;/>表示刚性机械臂在力约束方向上的位置估计偏差,e表示刚性机械臂的位置偏差量,/>表示刚性机械臂的位置偏差量的二次导数,/>表示刚性机械臂在力约束方向上的位置估计偏差的导数,δxe表示由于环境位置不确定性造成的估计误差。由刚性机械臂在不确定环境下的阻抗模型可知,不确定环境下的力跟踪控制可以通过阻抗策略调整参数μb和μk来适应动态未知环境的变化,使得f2→f1,以此来消除复杂不确定环境所造成的影响。
步骤200,基于所述刚性机械臂在不确定环境下的阻抗模型,获取所述刚性机械臂的当前状态数据集;所述当前状态数据集用于表征所述刚性机械臂与不确定环境接触时,所述刚性机械臂末端位置变化与接触力的动态映射关系。
为优化阻抗参数集,将机械臂的力跟踪控制过程计为适用于不同环境的基于马尔科夫决策过程(Markov decision process,MDP)的强化学习框架,为IIC(IntelligentImpedance Control,智能阻抗控制)方法设计合适的状态和动作值和并构造奖励函数,同时为其添加安全学习机制。如图2所示,为智能阻抗控制框图,P=diag[1 1 0]为IIC的选择矩阵,用以实现机械臂的运动控制和力控制在不同维度任务空间上的解耦。考虑到机械臂与未知环境接触时机械臂末端位置变化与接触力的动态映射关系,确定刚性机械臂的当前状态数据集为:
其中,S表示刚性机械臂的当前状态数据集,fe表示刚性机械臂在力约束方向上与环境的接触力;表示刚性机械臂在力约束方向上的力跟踪偏差量、力跟踪偏差量的导数以及力跟踪偏差量的积分;/>表示刚性机械臂在力约束方向的实际位置及实际速度;/>表示刚性机械臂在力约束方向上的位置偏差量及位置偏差量的导数。
步骤300,基于强化学习算法和预设机械臂动作策略,根据所述刚性机械臂的当前状态数据集,确定所述刚性机械臂的当前动作以及对应的奖励值。
机械臂力控制过程中希望其根据实时接触状态来调整合理的阻抗参数从而改变机械臂末端的柔顺性,以此完成对期望接触力的跟踪,从而提升整体系统的鲁棒性和适应性。基于此,确定预设机械臂动作策略为:
A=[μb,μk];其中,A表示刚性机械臂的动作。
由于在稳定的参数范围内,若对A的范围无约束,则无法保证在期望力范围内的跟踪效果有明显的提升。因此,为了保证机械臂能够在A上进行有效探索,从而减小训练耗时和控制能耗,一般需要对智能体的探索范围加以限制。
为了使得智能体可以更有效率的探索到最优阻抗控制策略,构造奖励函数并为其添加安全学习机制。具体地,将奖励函数拆分成若干个子函数,即用奖励重塑(RewardShaping)的方法细化奖励函数,所述刚性机械臂的当前动作对应的奖励值的计算公式为:
reward=λ1rd+λ2rs+λ3rv。其中,reward表示刚性机械臂的当前动作对应的奖励值,rd为动态奖励;rs为稳态奖励;rv为任务完成奖励;λj,j=1,2,3为分配权重,该分配权重依据力跟踪控制过程中的动态性能、稳态性能和安全稳定性的均衡考虑来调整。
其中,i=1,2,...,m,m为设定的最大区间数,用来细分动态过程中不同区间所得到的不同奖励,奖励rd主要针对力跟踪控制过程的动态性能而定,以期减少机械臂与环境动态接触过程中所产生的力超调和振荡。结合实际的训练效果,以一定区域的力跟踪偏差|ef|为基准进行分区间处理,即|ef|表示刚性机械臂在力约束方向上的力跟踪偏差量的值。wi为每一区间对|ef|的缩放系数,区间是以所述力跟踪偏差量的值|ef|为基准划分得到的。di为到达每一区间的固定奖励值,wi为每一区间对|ef|的缩放系数。
rs=-ln(|ef|+η)。
其中,对|ef|取对数主要是考虑力控制过程的稳态性能。在跟踪期望力的过程中,力的偏差越小越好,可通过给机械臂更大的奖励值使其力的跟踪效果越来越好,即提高力跟踪精度的数量级的同时,保证奖励值迅速增大,以此来引导智能体将力跟踪稳态误差控制到较小的范围内。同时,η表示预设常数值,设置η防止对数函数趋近于零时出现无限增长的情况,η的设置与期望力跟踪稳态误差有关。
其中,ν1和ν2分别表示任务完成获得的固定奖励值以及任务失败获得的固定奖励值,所述任务表示所述刚性机械臂在所述不确定环境下执行所述当前动作。
需知,rv奖励函数能够激励智能体完成力控制任务并在学习过程中产生安全稳定行为。安全学习机制主要用来验证机械臂在每一个时间步的预期行为是否在一组定义的约束范围内,从而保证机械臂学习过程的安全稳定。如图6所示,所述任务完成奖励中任务完成或任务失败的判断,具体包括:
(1)初始化环境,并确定预设关节角范围(即不超过qmax)、预设接触力范围(即不超过fmax)和每一任务进程的最大步数T。其中,设置预设接触力范围是为了防止机械臂与环境产生巨大冲击力,造成机械臂和环境的潜在破坏。
(2)对于每一任务进程中的时间步,获取所述当前动作对应的位置命令xc。
(3)当所述位置命令xc存在逆解时,判断所述位置命令的逆解对应的刚性机械臂的关节角qc,是否处于预设关节角范围内。
(4)若刚性机械臂的关节角qc未处于预设关节角范围,则表明任务失败;若刚性机械臂的关节角qc处于预设关节角范围,则判断所述位置命令的逆解对应的刚性机械臂的关节角,与不确定环境的接触力,是否处于预设接触力范围内。
(5)若刚性机械臂的关节角与不确定环境的接触力处于预设接触力范围,则表明任务完成;若刚性机械臂的关节角与不确定环境的接触力未处于预设接触力范围,则表明任务失败。
步骤400,基于所述刚性机械臂的当前动作对所述刚性机械臂的当前状态数据集进行更新,以得到下一状态数据集;所述刚性机械臂的当前状态数据集、当前动作、当前动作对应的奖励值以及下一状态数据集构成经验四元组;多个经验四元组构成机械臂动作经验池。
步骤500,从所述机械臂动作经验池中选取多个经验四元组作为训练样本,对DDPG模型中Actor-Critic神经网络进行训练,以得到最优的Actor-Critic神经网络;所述最优的Actor-Critic神经网络用于根据所述刚性机械臂在不确定环境下的状态数据集,确定对应最优的动作。
具体地,利用DRL(Deep Reinforcement Learning,深度强化学习)解决高维度动态环境下的复杂计算,通过DDPG(Deep Deterministic Policy Gradient)算法求解IIC方法的阻抗控制策略。DDPG属于DRL算法中的一种,其基于Actor-Critic架构,兼具值函数更新和策略更新的特点,在解决连续动作空间的问题具有一定优势,适用于机械臂的力跟踪控制问题。在利用DDPG算法求解IIC方法的阻抗控制策略时,Actor神经网络对应当前策略网络μ(st|θμ)和目标策略网络μ′(st|θμ′),Critic神经网络对应当前价值网络Q(st,at|θQ)和目标价值网络Q′(st,at|θQ′),Actor神经网络和Critic神经网络分别包含两个结构完全相同的神经网络,θQ,θQ′,θμ,θμ′分别为各网络的参数。
本发明中DDPG利用神经网络的特征提取来优化策略和价值函数,通过不断更新和迭代,最终学习到一组权重参数,以此来定义策略和价值网络。如图4所示,Actor神经网络(对应图4中Actor Net)和Critic神经网络(对应图4中Critic Net)均采用全连接神经网络,分别含有2和4个隐层,每个隐层均含有64个神经元。Actor神经网络的输入层单元由当前状态st决定,其输出层采用tanh激活函数,因而可通过添加偏置使智能体的动作输出在给定范围内;Critic神经网络的输入层由状态st和动作at共同决定,在第3隐含层接收当前动作at,并将其与所提取的st特征同维求和,其输出层采用ReLU激活函数。
步骤500,具体包括:
(1)构建Actor神经网络和Critic神经网络;具体地,初始化当前网络中所包含的μ(st|θμ)和Q(st,at|θQ)的参数和经验池M,并将当前网络的参数复制到目标网络中的μ′(st|θμ′)和Q′(st,at|θQ′)。同时,还根据IIC方法所添加的安全学习机制设置终止条件。
(2)将任一训练样本中刚性机械臂的当前状态数据集输入至所述Actor神经网络,以输出当前预测动作;所述当前预测动作用于控制所述刚性机械臂与不确定环境交互,以确定对应的下一状态数据和奖励值。
(3)将所述训练样本中刚性机械臂的当前状态数据集对应的下一状态数据集以及所述当前预测动作,输入至所述Critic神经网络进行学习,基于最小化损失函数更新Critic神经网络参数,并输出预测动作价值函数值。
具体地,从经验池M中随机选取若干状态转换数据(si,ai,ri,si+1),si、ai和ri分别为i时刻的动作、状态和奖励值,将si和si+1作为Actor的输入,输出为μ(si|θμ)和μ′(si+1|θμ′),用来计算Critic的动作价值函数。将下一状态si+1和μ′(si+1|θμ′)作为Q′(st,at|θQ′)的输入,以此来计算时序差分(Temporal-Difference)目标yi:
yi=ri+γQ′(si+1,μ′(si+1|θμ′)|θQ′)。
依据最小化损失函数L(θQ)更新当前价值网络Q(st,at|θQ)的参数θQ,即所述最小化损失函数为:
其中,L(θQ)表示最小化损失函数的值,N表示训练样本的个数,yi表示时序差分目标,Q(si,ai|θQ)表示Critic神经网络,θQ表示Critic神经网络的参数,si表示输入至Critic神经网络的第i个状态,ai表示输入至Critic神经网络的第i个状态对应的预测动作;ri表示i个状态对应动作的奖励值,γ表示折扣因子,si+1表示当前预测动作对应的下一状态,μ′(si+1|θμ′)表示依据当前预测动作对应的下一状态更新后的Actor神经网络的动作输出,Q′(si+1,μ′(si+1|θμ′)|θQ′)表示当前预测动作对应的下一状态对应的Critic神经网络的价值输出。
(4)基于确定性梯度策略,根据所述预测动作价值函数值,对所述Actor神经网络参数进行更新,具体地,根据公式:
对所述Actor神经网络参数进行更新;其中,θμ表示Actor神经网络μ(st|θμ)的参数,N表示训练样本的个数,/>表示当前的策略梯度方向,/>表示当前状态下,由当前动作引起的Q值变化,/>用以计算策略梯度从而确定θμ的更新方向。由上述公式可得确定性策略梯度主要跟策略梯度和值函数有关。
(5)基于多个训练样本,采用软更新方式,分别对所述Actor神经网络和所述Critic神经网络进行参数更新,以得到最优的Actor-Critic神经网络。
其中,采用软更新方式更新目标网络的参数θQ′和θμ′的函数公式为:
其中,τ为平滑因子,一般τ<<1,通常取0.001。
在一个具体实施例中,为了确保系统能够输出最优阻抗控制策略,从而提高机械臂的力控制性能,可以对IIC方法中所涉及的相关参数进行调整:1)设定阻抗参数集的自适应变化范围,从而减小其训练耗时和控制能耗,同时根据训练效果设置奖励函数中的λi和wi等相关参数;2)配置Actor神经网络和Critic神经网络,优化关键DDPG的包括神经网络参数、噪声参数、单回合最大步数、缓冲池大小、折扣因子和采样时间等,以此来对智能阻抗控制器的进行调整,从而保证机械臂的良好的力跟踪控制性能。
为了验证本发明在提高机械臂力跟踪控制性能方面的有效性,如图3所示,本发明采用MATLAB/Simulink平台搭建智能阻抗控制器的仿真模型;所设计Actor网络和Critic网络的结构如图4所示。
以EFORT机械臂为仿真对象,利用DDPG求解智能阻抗控制策略的学习过程如图5所示。在实验中,设定期望接触力为10N。其它相关实验参数的设定如表1所示。
表1实验参数设置表
在训练过程中,设置最大训练回合数为300,单回合最大步数Ts/t,通过Matlab库的scaling函数对动作空间范围建议限制,减小无用的探索时间,为了保证智能阻抗控制器在学习过程中的安全稳定行为,为其添加的安全学习机制流程图如图6所示。最终,可以得到IIC方法在训练过程中奖励变化曲线如图7所示,可以看出随着训练次数的增加,IIC的奖励值逐渐增大,在学习初期,IIC处于策略探索阶段,通过不断的试错来寻得一个较优的阻抗控制策略,因此前期的累积奖励值变化幅度较大,210回合后,累积奖励曲线呈现出收敛的趋势,奖励值变化幅度变小,趋于平缓,说明训练模型达到收敛,IIC已寻得最优的阻抗控制策略。
将训练机械臂置于三种复杂不确定环境下,分别是环境刚度突变、斜坡面环境、曲面环境,可以得到IIC方法与传统阻抗控制(CIC)和自适应变阻抗控制(VIC)的力跟踪性能对比如图8、图9和图10所示,三张图中横坐标为时间t,单位为s;纵坐标为力fe,单位为N。可以看出,CIC的力跟踪稳态性能和VIC的力跟踪动态性能均不让人满意,相比与CIC和VIC,IIC均能以更小的超调、更快的响应速度、更高的跟踪精度完成机械臂的力跟踪过程,研究结果表明,IIC方法显著提高了机械臂的力控制性能。
综上,本发明针对n自由度的刚性机械臂动力学系统,将机械臂的力跟踪控制过程计为适用于不同环境的基于马尔科夫决策过程(Markov decision process,MDP)的强化学习(RL)框架,并基于深度确定性策略梯度算法优化阻抗参数来对机械臂的阻抗控制策略进行性能改进;同时为了防止IIC在学习过程中可能发生不期望行为,为设计合适的状态和动作值和并构造奖励函数并添加一种安全稳定学习机制。经过训练,所设计的IIC方案在几类含不确定性的场景下进行仿真测试,IIC均能以更小的超调、更快的响应速度、更高的跟踪精度完成机械臂的力跟踪过程,显著的提高了机械臂的力控制性能。
实施例二
如图11所示,本发明还提供了一种基于深度强化学习的机械臂智能阻抗控制系统,包括:
阻抗模型构建模块101,用于构建刚性机械臂在不确定环境下的阻抗模型。
机械臂状态获取模块201,用于基于所述刚性机械臂在不确定环境下的阻抗模型,获取所述刚性机械臂的当前状态数据集;所述当前状态数据集用于表征所述刚性机械臂与不确定环境接触时,所述刚性机械臂末端位置变化与接触力的动态映射关系。
机械臂动作确定模块301,用于基于强化学习算法和预设机械臂动作策略,根据所述刚性机械臂的当前状态数据集,确定所述刚性机械臂的当前动作以及对应的奖励值。
机械臂动作经验池构建模块401,用于基于所述刚性机械臂的当前动作对所述刚性机械臂的当前状态数据集进行更新,以得到下一状态数据集;所述刚性机械臂的当前状态数据集、当前动作、当前动作对应的奖励值以及下一状态数据集构成经验四元组;多个经验四元组构成机械臂动作经验池。
最优动作模型构建模块501,用于从所述机械臂动作经验池中选取多个经验四元组作为训练样本,对DDPG模型中Actor-Critic神经网络进行训练,以得到最优的Actor-Critic神经网络;所述最优的Actor-Critic神经网络用于根据所述刚性机械臂在不确定环境下的状态数据集,确定对应最优的动作。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种基于深度强化学习的机械臂智能阻抗控制方法,其特征在于,方法包括:
构建刚性机械臂在不确定环境下的阻抗模型;
基于所述刚性机械臂在不确定环境下的阻抗模型,获取所述刚性机械臂的当前状态数据集;所述当前状态数据集用于表征所述刚性机械臂与不确定环境接触时,所述刚性机械臂末端位置变化与接触力的动态映射关系;
基于强化学习算法和预设机械臂动作策略,根据所述刚性机械臂的当前状态数据集,确定所述刚性机械臂的当前动作以及对应的奖励值;
基于所述刚性机械臂的当前动作对所述刚性机械臂的当前状态数据集进行更新,以得到下一状态数据集;所述刚性机械臂的当前状态数据集、当前动作、当前动作对应的奖励值以及下一状态数据集构成经验四元组;多个经验四元组构成机械臂动作经验池;
从所述机械臂动作经验池中选取多个经验四元组作为训练样本,对DDPG模型中Actor-Critic神经网络进行训练,以得到最优的Actor-Critic神经网络;所述最优的Actor-Critic神经网络用于根据所述刚性机械臂在不确定环境下的状态数据集,确定对应最优的动作。
2.根据权利要求1所述的基于深度强化学习的机械臂智能阻抗控制方法,其特征在于,所述刚性机械臂的当前状态数据集为:
其中,S表示刚性机械臂的当前状态数据集,fe表示刚性机械臂在力约束方向上与环境的接触力;表示刚性机械臂在力约束方向上的力跟踪偏差量、力跟踪偏差量的导数以及力跟踪偏差量的积分;/>表示刚性机械臂在力约束方向的实际位置及实际速度;/>表示刚性机械臂在力约束方向上的位置偏差量及位置偏差量的导数。
3.根据权利要求1所述的基于深度强化学习的机械臂智能阻抗控制方法,其特征在于,所述刚性机械臂在不确定环境下的阻抗模型为:
其中,m0,b0分别表示初始惯性参数和初始阻尼参数,ef表示刚性机械臂在力约束方向上的力跟踪偏差量,δf表示由于接触力不确定性造成的估计误差,表示由于环境位置不确定性造成的估计误差的导数,/>表示由于环境位置不确定性造成的估计误差的二次导数,μb和μk分别表示阻尼调整参数和刚度调整参数;/>表示刚性机械臂在力约束方向上的位置估计偏差,e表示刚性机械臂的位置偏差量,/>表示刚性机械臂的位置偏差量的二次导数,/>表示刚性机械臂在力约束方向上的位置估计偏差的导数,δxe表示由于环境位置不确定性造成的估计误差;
所述预设机械臂动作策略为:
A=[μb,μk];其中,A表示刚性机械臂的动作。
4.根据权利要求1所述的基于深度强化学习的机械臂智能阻抗控制方法,其特征在于,所述刚性机械臂的当前动作对应的奖励值的计算公式为:
reward=λ1rd+λ2rs+λ3rv;
rs=-ln(|ef|+η);
其中,reward表示刚性机械臂的当前动作对应的奖励值,rd为动态奖励;rs为稳态奖励;rv为任务完成奖励;λj,j=1,2,3为分配权重;i=1,2,...,m,m为设定的最大区间数,di为到达每一区间的固定奖励值,|ef|表示刚性机械臂在力约束方向上的力跟踪偏差量的值,wi为每一区间对|ef|的缩放系数,区间是以所述力跟踪偏差量的值|ef|为基准划分得到的;η表示预设常数值,ν1和ν2分别表示任务完成获得的固定奖励值以及任务失败获得的固定奖励值,所述任务表示所述刚性机械臂在所述不确定环境下执行所述当前动作。
5.根据权利要求4所述的基于深度强化学习的机械臂智能阻抗控制方法,其特征在于,所述任务完成奖励中任务完成或任务失败的判断,具体包括:
对于每一任务进程中的时间步,获取所述当前动作对应的位置命令;
当所述位置命令存在逆解时,判断所述位置命令的逆解对应的刚性机械臂的关节角,是否处于预设关节角范围内;
若刚性机械臂的关节角未处于预设关节角范围,则表明任务失败;
若刚性机械臂的关节角处于预设关节角范围,则判断所述位置命令的逆解对应的刚性机械臂的关节角,与不确定环境的接触力,是否处于预设接触力范围内;
若刚性机械臂的关节角与不确定环境的接触力处于预设接触力范围,则表明任务完成;
若刚性机械臂的关节角与不确定环境的接触力未处于预设接触力范围,则表明任务失败。
6.根据权利要求1所述的基于深度强化学习的机械臂智能阻抗控制方法,其特征在于,从所述机械臂动作经验池中选取多个经验四元组作为训练样本,对DDPG模型中Actor-Critic神经网络进行训练,以得到最优的Actor-Critic神经网络,具体包括:
构建Actor神经网络和Critic神经网络;
将任一训练样本中刚性机械臂的当前状态数据集输入至所述Actor神经网络,以输出当前预测动作;所述当前预测动作用于控制所述刚性机械臂与不确定环境交互,以确定对应的下一状态数据和奖励值;
将所述训练样本中刚性机械臂的当前状态数据集对应的下一状态数据集以及所述当前预测动作,输入至所述Critic神经网络进行学习,基于最小化损失函数更新Critic神经网络参数,并输出预测动作价值函数值;
基于确定性梯度策略,根据所述预测动作价值函数值,对所述Actor神经网络参数进行更新;
基于多个训练样本,采用软更新方式,分别对所述Actor神经网络和所述Critic神经网络进行参数更新,以得到最优的Actor-Critic神经网络。
7.根据权利要求6所述的基于深度强化学习的机械臂智能阻抗控制方法,其特征在于,所述最小化损失函数为:
yi=ri+γQ′(si+1,μ′(si+1|θμ′)|θQ′);
其中,L(θQ)表示最小化损失函数的值,N表示训练样本的个数,yi表示时序差分目标,Q(si,ai|θQ)表示Critic神经网络,θQ表示Critic神经网络的参数,si表示输入至Critic神经网络的第i个状态,ai表示输入至Critic神经网络的第i个状态对应的预测动作;ri表示i状态对应动作的奖励值,γ表示折扣因子,si+1表示当前预测动作对应的下一状态,μ′(si+1|θμ′)表示依据当前预测动作对应的下一状态更新后的Actor神经网络的动作输出,Q′(si+1,μ′(si+1|θμ′)|θQ′)表示当前预测动作对应的下一状态对应的Critic神经网络的价值输出。
8.根据权利要求6所述的基于深度强化学习的机械臂智能阻抗控制方法,其特征在于,基于确定性梯度策略,根据所述预测动作价值函数值,对所述Actor神经网络参数进行更新,具体包括:
根据公式
对所述Actor神经网络参数进行更新;
其中,θμ表示Actor神经网络μ(st|θμ)的参数,N表示训练样本的个数,表示当前的策略梯度方向,/>表示当前状态下,由当前动作引起的Q值变化,/>用以计算策略梯度从而确定θμ的更新方向。
9.一种基于深度强化学习的机械臂智能阻抗控制系统,其特征在于,系统包括:
阻抗模型构建模块,用于构建刚性机械臂在不确定环境下的阻抗模型;
机械臂状态获取模块,用于基于所述刚性机械臂在不确定环境下的阻抗模型,获取所述刚性机械臂的当前状态数据集;所述当前状态数据集用于表征所述刚性机械臂与不确定环境接触时,所述刚性机械臂末端位置变化与接触力的动态映射关系;
机械臂动作确定模块,用于基于强化学习算法和预设机械臂动作策略,根据所述刚性机械臂的当前状态数据集,确定所述刚性机械臂的当前动作以及对应的奖励值;
机械臂动作经验池构建模块,用于基于所述刚性机械臂的当前动作对所述刚性机械臂的当前状态数据集进行更新,以得到下一状态数据集;所述刚性机械臂的当前状态数据集、当前动作、当前动作对应的奖励值以及下一状态数据集构成经验四元组;多个经验四元组构成机械臂动作经验池;
最优动作模型构建模块,用于从所述机械臂动作经验池中选取多个经验四元组作为训练样本,对DDPG模型中Actor-Critic神经网络进行训练,以得到最优的Actor-Critic神经网络;所述最优的Actor-Critic神经网络用于根据所述刚性机械臂在不确定环境下的状态数据集,确定对应最优的动作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310611177.4A CN116587275A (zh) | 2023-05-29 | 2023-05-29 | 基于深度强化学习的机械臂智能阻抗控制方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310611177.4A CN116587275A (zh) | 2023-05-29 | 2023-05-29 | 基于深度强化学习的机械臂智能阻抗控制方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116587275A true CN116587275A (zh) | 2023-08-15 |
Family
ID=87611421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310611177.4A Pending CN116587275A (zh) | 2023-05-29 | 2023-05-29 | 基于深度强化学习的机械臂智能阻抗控制方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116587275A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117140527A (zh) * | 2023-09-27 | 2023-12-01 | 中山大学·深圳 | 一种基于深度强化学习算法的机械臂控制方法及系统 |
CN117477607A (zh) * | 2023-12-28 | 2024-01-30 | 国网江西综合能源服务有限公司 | 一种含智能软开关的配电网三相不平衡治理方法及系统 |
-
2023
- 2023-05-29 CN CN202310611177.4A patent/CN116587275A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117140527A (zh) * | 2023-09-27 | 2023-12-01 | 中山大学·深圳 | 一种基于深度强化学习算法的机械臂控制方法及系统 |
CN117140527B (zh) * | 2023-09-27 | 2024-04-26 | 中山大学·深圳 | 一种基于深度强化学习算法的机械臂控制方法及系统 |
CN117477607A (zh) * | 2023-12-28 | 2024-01-30 | 国网江西综合能源服务有限公司 | 一种含智能软开关的配电网三相不平衡治理方法及系统 |
CN117477607B (zh) * | 2023-12-28 | 2024-04-12 | 国网江西综合能源服务有限公司 | 一种含智能软开关的配电网三相不平衡治理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112668235B (zh) | 基于离线模型预训练学习的ddpg算法的机器人控制方法 | |
CN116587275A (zh) | 基于深度强化学习的机械臂智能阻抗控制方法及系统 | |
CN112904728B (zh) | 一种基于改进型趋近律的机械臂滑模控制轨迹跟踪方法 | |
CN110238839B (zh) | 一种利用环境预测优化非模型机器人多轴孔装配控制方法 | |
Leottau et al. | Decentralized reinforcement learning of robot behaviors | |
CN116460860B (zh) | 一种基于模型的机器人离线强化学习控制方法 | |
CN113168566A (zh) | 通过使用熵约束来控制机器人 | |
CN111352419B (zh) | 基于时序差分更新经验回放缓存的路径规划方法及系统 | |
CN114083539B (zh) | 一种基于多智能体强化学习的机械臂抗干扰运动规划方法 | |
CN113093526B (zh) | 一种基于强化学习的无超调pid控制器参数整定方法 | |
CN117103282B (zh) | 一种基于matd3算法的双臂机器人协同运动控制方法 | |
CN111880412A (zh) | 基于单评判网络的可重构机器人零和神经最优控制方法 | |
Liang et al. | A novel impedance control method of rubber unstacking robot dealing with unpredictable and time-variable adhesion force | |
CN116834014A (zh) | 一种空间多臂机器人捕获非合作目标的智能协同控制方法和系统 | |
Rutherford et al. | Modelling nonlinear vehicle dynamics with neural networks | |
CN114967472A (zh) | 一种无人机轨迹跟踪状态补偿深度确定性策略梯度控制方法 | |
CN114378820B (zh) | 一种基于安全强化学习的机器人阻抗学习方法 | |
CN116604532A (zh) | 一种上肢康复机器人智能控制方法 | |
US20220410380A1 (en) | Learning robotic skills with imitation and reinforcement at scale | |
CN114932546B (zh) | 一种基于未知机械臂模型的深度强化学习抑振系统及方法 | |
CN116125815A (zh) | 小天体柔性着陆器智能协同控制方法 | |
Zhang et al. | Trajectory-tracking control of robotic systems via deep reinforcement learning | |
CN110908280B (zh) | 一种小车-二级倒立摆系统优化控制方法 | |
CN114976802B (zh) | 射频连接器自适应装配方法及系统 | |
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 |