一种基于深度强化学习的连续体机械臂运动控制方法技术

技术编号:37468300 阅读:13 留言:0更新日期:2023-05-06 09:45
本发明专利技术公开了一种基于深度强化学习的连续体机械臂运动控制方法,将深度强化学习DDPG算法应用到连续体机械臂运动控制中,通过使机械臂在与环境不断交互中训练控制策略。本发明专利技术通过构建连续体机械臂虚拟训练环境、建立DDPG算法模型、构造奖励函数计算模型、积累经验回放池、训练深度强化学习网络及将训练好的模型部署到实际机械臂系统,实现连续体机械臂的自主运动控制。本发明专利技术中的DDPG算法采用确定性策略,网络收敛性好,通过使用目标网络降低过高的Q估计值,并加入随机动作噪声,有利于探索最优策略;训练时采用优先级经验回放,能加快训练速度和提升训练效果;并通过域随机化方法,减小训练环境与真实环境的偏差,提高模型部署的成功率。的成功率。的成功率。

【技术实现步骤摘要】
一种基于深度强化学习的连续体机械臂运动控制方法


[0001]本专利技术属于机械臂控制
,特别是一种基于深度强化学习的连续体机械臂运动控制方法。

技术介绍

[0002]连续体机械臂是一类基于仿生学发展而来的机械臂,具有体积小、重量轻、灵活性好等优点,可以应用于各种狭小和复杂作业环境。但是连续体机械臂存在着系统维数高、非线性特性明显、难以精确建模等问题,传统的控制方法大多依赖于系统模型,很难完成对其精确控制。
[0003]强化学习是一种“试错搜索”的方法,该方法不依赖于智能体的精确数学模型,通过使智能体在不断和环境交互中学习动作策略。深度强化学习则将深度神经网络的拟合能力和强化学习的决策能力相结合,二者优势互补,为复杂系统的感知决策问题提供解决思路。而且近年来,随着DDPG、TD3、SAC等深度强化学习算法的涌现,使得强化学习得以解决对于连续状态动作空间问题,能够很好的应用于机械臂环境,特别是给连续体机械臂的控制问题带来新的研究方向。
[0004]目前基于深度强化学习的机械臂控制问题,以Actor

Critic算法为代表,多使用不确定性动作策略、均匀经验回放等,存在着网络收敛速度慢,训练时间长,控制效果不好等问题;而且,绝大部分方法均采用“先在虚拟环境训练,后在实际系统部署”的策略,由于构建的虚拟环境与实际环境往往具有差异性,导致训练好的模型在实际系统上不能有很好的效果。

技术实现思路

[0005]本专利技术的目的在于针对上述现有技术存在的问题,提供一种基于深度强化学习的连续体机械臂控制方法。
[0006]实现本专利技术目的的技术解决方案为:一种基于深度强化学习的连续体机械臂运动控制方法,所述方法包括以下步骤:
[0007]步骤1,构建连续体机械臂虚拟训练环境;
[0008]步骤2,建立深度强化学习DDPG算法模型;
[0009]步骤3,构造奖励函数计算模型;
[0010]步骤4,积累经验回放池;
[0011]步骤5,进行深度强化学习网络一阶段训练;
[0012]步骤6,虚拟环境域随机化;
[0013]步骤7,进行深度强化学习网络二阶段训练;
[0014]步骤8,将训练好的深度强化学习模型部署到实际机械臂系统。
[0015]进一步地,步骤1所述构建连续体机械臂虚拟训练环境,具体包括:
[0016]步骤1.1,绘制连续体机械臂三维模型;
[0017]步骤1.2初始化虚拟环境,设定坐标系O

XYZ,规定机械臂工作空间,调整相机位置;
[0018]步骤1.3,导入连续体机械臂三维模型,并为其添加动力学、运动学属性,调整机械臂初始状态,渲染机械臂所处环境;
[0019]步骤1.4,规定机械臂的观测状态和动作信息,设定机械臂更新步骤;
[0020]步骤1.5,设置虚拟环境与外部算法模型的通信连接。
[0021]进一步地,步骤2所述建立深度强化学习DDPG算法模型,具体包括:
[0022]步骤2.1,建立DDPG算法神经网络:包括主网络和目标网络,其中主网络包括Actor网络和Critic网络,目标网络包括Target Actor网络和Target Critic网络,主网络和目标网络具有相同的网络结构,仅网络参数不同;Actor网络采用确定性策略,给定输入状态,输出一个确定的动作信息,表示为π(s;θ),其中s为机械臂观测状态,θ为Actor网络参数;Critic网络为评价网络,用于计算Q值,以评价Actor网络所采用策略的好坏,表示为Q(s,a;w),其中a为Actor网络输出的动作信息,w为Critic网络参数;目标网络用于计算目标Q值,以辅助更新主网络参数,TargetActor和Target Critic两个网络表示为π(s;θ

)和Q(s,a;w

),其中θ

和w

分别为TargetActor网络和Target Critic网络参数;随机初始化Actor网络的参数θ=θ0和Critic网络参数w=w0,并初始化TargetActor网络的参数为θ

=θ和Target Critic网络的参数为w

=w;
[0023]步骤2.2,建立经验回放池:经验池中存放的数据形式为五元组(s
t
,a
t
,r
t
,s
t+1
,δ
t
),其中s
t
表示t时刻的观测状态,a
t
表示状态s
t
输入下得到的动作输出,r
t
表示执行动作a
t
得到的奖励值,s
t+1
表示执行动作a
t
后得到的下一时刻状态;δ
t
为时间差分误差,用于确定经验回放优先级;若经验池容量大小为C,观测状态维度为dim
s
,动作信息维度为dim
a
,则用一个C行D列的二维矩阵进行存储,其中D=2
·
dim
s
+dim
a
+1+1,两个数字1代表r
t
和δ
t
各占一个存储空间;并初始化二维矩阵的各元素为0。
[0024]进一步地,步骤3中奖励函数的计算遵循以下规则:
[0025]规则1:若机械臂运行超出工作空间,则给予惩罚

10;
[0026]规则2:奖励值与机械臂末端到目标位置距离有关,新的末端位置相对于上一时刻末端位置越接近目标位置,则奖励值越大;
[0027]规则3:若末端位置到目标位置距离小于设定值d
min
,则认为末端已经到达目标位置,给予奖励+10;
[0028]根据以上规则,奖励值r
t
的计算过程如下:若机械臂末端在时刻t的初始位置为(x0
t
,y0
t
,z0
t
),目标位置为(x1
t
,y1
t
,z1
t
),机械臂根据当前输入状态s
t
执行动作a
t
后更新得到新的末端位置为(x0
t+1
,y0
t+1
,z0
t+1
),则奖励函数如式(1)所示:
[0029][0030]进一步地,步骤4所述积累经验回放池,具体包括:
[0031]步骤4.1,观测当前虚拟机械臂状态s
t
,输入到Actor网络得到动作输出
在积累经验回放池时,在动作的基础上添加随机噪声作为实际动作,即其中N
t
为均值为0,方差为σ2的高斯随机噪声;
[0032]步骤4.2,虚拟环境机械臂执行动作a...

【技术保护点】

【技术特征摘要】
1.一种基于深度强化学习的连续体机械臂运动控制方法,其特征在于,所述方法包括以下步骤:步骤1,构建连续体机械臂虚拟训练环境;步骤2,建立深度强化学习DDPG算法模型;步骤3,构造奖励函数计算模型;步骤4,积累经验回放池;步骤5,进行深度强化学习网络一阶段训练;步骤6,虚拟环境域随机化;步骤7,进行深度强化学习网络二阶段训练;步骤8,将训练好的深度强化学习模型部署到实际机械臂系统。2.根据权利要求1所述的基于深度强化学习的连续体机械臂运动控制方法,其特征在于,步骤1所述构建连续体机械臂虚拟训练环境,具体包括:步骤1.1,绘制连续体机械臂三维模型;步骤1.2初始化虚拟环境,设定坐标系O

XYZ,规定机械臂工作空间,调整相机位置;步骤1.3,导入连续体机械臂三维模型,并为其添加动力学、运动学属性,调整机械臂初始状态,渲染机械臂所处环境;步骤1.4,规定机械臂的观测状态和动作信息,设定机械臂更新步骤;步骤1.5,设置虚拟环境与外部算法模型的通信连接。3.根据权利要求1所述的基于深度强化学习的连续体机械臂运动控制方法,其特征在于,步骤2所述建立深度强化学习DDPG算法模型,具体包括:步骤2.1,建立DDPG算法神经网络:包括主网络和目标网络,其中主网络包括Actor网络和Critic网络,目标网络包括TargetActor网络和Target Critic网络,主网络和目标网络具有相同的网络结构,仅网络参数不同;Actor网络采用确定性策略,给定输入状态,输出一个确定的动作信息,表示为π(s;θ),其中s为机械臂观测状态,θ为Actor网络参数;Critic网络为评价网络,用于计算Q值,以评价Actor网络所采用策略的好坏,表示为Q(s,a;w),其中a为Actor网络输出的动作信息,w为Critic网络参数;目标网络用于计算目标Q值,以辅助更新主网络参数,TargetActor和Target Critic两个网络表示为π(s;θ

)和Q(s,a;w

),其中θ

和w

分别为TargetActor网络和Target Critic网络参数;随机初始化Actor网络的参数θ=θ0和Critic网络参数w=w0,并初始化Target Actor网络的参数为θ

=θ和Target Critic网络的参数为w

=w;步骤2.2,建立经验回放池:经验池中存放的数据形式为五元组(s
t
,a
t
,r
t
,s
t+1

t
),其中s
t
表示t时刻的观测状态,a
t
表示状态s
t
输入下得到的动作输出,r
t
表示执行动作a
t
得到的奖励值,s
t+1
表示执行动作a
t
后得到的下一时刻状态;δ
t
为时间差分误差,用于确定经验回放优先级;若经验池容量大小为C,观测状态维度为dim
s
,动作信息维度为dim
a
,则用一个C行D列的二维矩阵进行存储,其中D=2
·
dim
s
+dim
a
+1+1,两个数字1代表r
t
和δ
t
各占一个存储空间;并初始化二维矩阵的各元素为0。4.根据权利要求3所述的基于深度强化学习的连续体机械臂运动控制方法,其特征在于,步骤3中奖励函数的计算遵循以下规则:规则1:若机械臂运行超出工作空间,则给予惩罚

10;
规则2:奖励值与机械臂末端到目标位置距离有关,新的末端位置相对于上一时刻末端位置越接近目标位置,则奖励值越大;规则3:若末端位置到目标位置距离小于设定值d
min
,则认为末端已经到达目标位置,给予奖励+10;根据以上规则,奖励值r
t
的计算过程如下:若机械臂末端在时刻t的初始位置为(x0
t
,y0
t
,z0
t
),目标位置为(x1
t
,y1
t
,z1
t
),机械臂根据当前输入状态s
t
执行动作a
t
后更新得到新的末端位置为(x0
t+1
,y0
t+1
,z0
t+1
),则奖励函数如式(1)所示:5.根据权利要求4所述的基于深度强化学习的连续体机械臂运动控制方法,其特征在于,步骤4所述积累经验回放池,具体包括:步骤4.1,观测当前虚拟机械臂状态s
t
,输入到Actor网络得到动作输出在积累经验回放池时,在动作的基础上添加随机噪声作为实际动作,即其中N
t
为均值为0,方差为σ2的高斯随机噪声;步骤4.2,虚拟环境机械臂执行动作a
t
,更新机械臂状态得到下一时刻观测状态s
t+1
,并计算得到奖励值r
t
;步骤4.3,将状态s
t
和动作a
t
输入到Critic网络中得到Q估计值为Q
eval
=Q(s
t
,a
t
;w),将状态s
t+1
输入到Target Actor网络中得到该网络下一时刻动作输出a

t+1
=π(s
t+1
;θ

),再将状态s
t+1
和动作a

t+1
输入到Target Critic网络中得到Q(s
t+1
,a

t+1
;w

),进一步可得到Q目标值为Q
target
=r
t

·
Q(s
t+1
,a

t+1
;w

),其中γ为折扣因子,则按式(2)计算时间差分误差:δ
t
=Q
eval

Q
target
=Q(s<...

【专利技术属性】
技术研发人员:郭健李志广马国梁徐胜元马倩惠玉卓苗力
申请(专利权)人:南京理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1