CN112171660B - 一种基于深度强化学习的空间双臂系统约束运动规划方法 - Google Patents

一种基于深度强化学习的空间双臂系统约束运动规划方法 Download PDF

Info

Publication number
CN112171660B
CN112171660B CN202010830247.1A CN202010830247A CN112171660B CN 112171660 B CN112171660 B CN 112171660B CN 202010830247 A CN202010830247 A CN 202010830247A CN 112171660 B CN112171660 B CN 112171660B
Authority
CN
China
Prior art keywords
network
constraint
mechanical arm
target
arm
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.)
Active
Application number
CN202010830247.1A
Other languages
English (en)
Other versions
CN112171660A (zh
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.)
Nanjing University of Aeronautics and Astronautics
Original Assignee
Nanjing University of Aeronautics and Astronautics
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 Nanjing University of Aeronautics and Astronautics filed Critical Nanjing University of Aeronautics and Astronautics
Priority to CN202010830247.1A priority Critical patent/CN112171660B/zh
Publication of CN112171660A publication Critical patent/CN112171660A/zh
Application granted granted Critical
Publication of CN112171660B publication Critical patent/CN112171660B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1607Calculation of inertia, jacobian matrixes and inverses
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators

Abstract

本发明公开了一种基于深度强化学习的空间双臂系统约束运动规划方法,步骤如下:1)利用广义雅可比矩阵建立自由漂浮空间双机械臂系统的运动学模型;2)基于上述的空间双臂系统的运动学模型,结合DDPG算法,设计空间双臂系统运动规划算法;3)对DDPG算法中奖励函数进行设计,以实现对空间双臂系统运动规划算法中各约束条件的满足,包括机械臂末端执行机构的速度约束和双机械臂协同运动的自碰撞约束。本发明提高了运动规划算法的泛用性与安全性。

Description

一种基于深度强化学习的空间双臂系统约束运动规划方法
技术领域
本发明属于空间机械臂运动规划技术领域,具体涉及一种基于深度强化学习的空间双臂系统约束运动规划方法。
背景技术
空间机械臂作为空间操控任务中十分有效的一种执行机构,在修复故障卫星、清除空间碎片、组装大型空间结构等空间操控任务中都具有很高的工程应用价值。由于空间中微重力环境的影响,空间机械臂的运动特性与地面机械臂存在明显的差异,具体体现在地面机械臂一般具有固定的基座,而空间机械臂在执行任务的过程中基座一般都处于自由漂浮的状态。空间双机械臂系统相比于空间单机械臂系统而言在执行操控任务时更加安全可靠,且具有更高的灵活性,空间双臂系统的运动规划技术是研发空间双臂系统的一项关键技术。
目前,针对空间双臂系统的运动规划问题,往往采用遗传算法或粒子群算法等启发式算法进行寻优处理,然而采用启发式算法往往只能针对特定的一组空间机械臂初始构型与目标未知进行点对点的运动规划,而当空间机械臂初始构型或目标抓取点位置发生变化时,则需要从头开始重新进行一次运算,因此该方法的泛用性较差。
发明内容
针对于上述现有技术的不足,本发明的目的在于提供一种基于深度强化学习的空间双臂系统约束运动规划方法,以解决现有技术中传统运动规划方法泛用性差,以及无约束的基于深度强化学习算法的运动规划方法造成的机械臂碰撞损伤等问题。
为达到上述目的,本发明采用的技术方案如下:
本发明的一种基于深度强化学习的空间双臂系统约束运动规划方法,步骤如下:
1)利用广义雅可比矩阵建立自由漂浮空间双机械臂系统的运动学模型;
2)基于上述的空间双臂系统的运动学模型,结合DDPG算法,设计空间双臂系统运动规划算法;
3)对DDPG算法中奖励函数进行设计,以实现对空间双臂系统运动规划算法中各约束条件的满足,包括机械臂末端执行机构的速度约束和双机械臂协同运动的自碰撞约束。
进一步地,所述步骤1)具体包括:根据下式(1)建立空间双机械臂系统的运动学模型:
Figure GDA0003155816040000011
其中,Iv0Iω0分别为空间机械臂基座在惯性参考系下的速度矢量与角速度矢量;
Figure GDA0003155816040000021
Figure GDA0003155816040000022
分别为第1个机械臂在惯性参考系下的速度矢量与角速度矢量;
Figure GDA0003155816040000023
Figure GDA0003155816040000024
分别为第2个机械臂在惯性参考系下的速度矢量与角速度矢量;
Figure GDA0003155816040000025
Figure GDA0003155816040000026
分别为两臂各关节角的角速度;M为空间机械臂系统的质量矩阵,r0g=rg-r0,rg表示系统质心位置,r0表示空间机械臂基座位置,算子×表示斜对称矩阵;
Figure GDA0003155816040000027
Figure GDA0003155816040000028
J0和Jφ为机械臂系统分别对关节角和基座的雅可比矩阵,其中:
Figure GDA0003155816040000029
式中,
Figure GDA00031558160400000210
为第i关节的角速度方向矢量,
Figure GDA00031558160400000211
为第i关节的位置矢量,
Figure GDA00031558160400000212
为第i连杆的质心位置矢量,I为惯性张量矩阵。
进一步地,所述步骤2)具体包括:
21)在python编程环境中将上述建立的空间双机械臂系统的运动学模型构建为DDPG算法中的环境部分,与DDPG算法之间的信息交互,具体为:由DDPG算法生成具体需要执行的动作(即机械臂各关节的角速度信息)作为输入信息,输入到构建的上述环境部分中,通过运动学递推更新机械臂的状态信息,从而计算执行该动作所获得的即时奖励,最后由环境反馈更新后的机械臂状态信息、单步即时奖励以及是否已完成目标的标志位;
22)DDPG算法采用actor-critic模式,利用actor做出决策、critic做出评价:从环境中观测得到状态s,传递给actor根据所述状态s凭当前的策略网络做出决定得到动作a,将动作a作用于环境之后,给出当前步的奖励反馈r和新的状态,根据奖励反馈r,critic更新对actor的行为评价网络,actor再沿着critic建议的方向更新自身的策略网络,从而完成了一步训练,继续循环直到训练成功;DDPG采用记忆池的设计,将与环境交互得到的数据样本存储在记忆池中,再从中随机选择一条数据进行训练,打破数据间的关联,实现了样本的独立;DDPG采用四个神经网络:将actor对应的网络称为策略网络,分为现实策略网络和目标策略网络,将critic对应的网络称为价值网络即Q网络,分为现实Q网络和目标Q网络;现实策略网络用于与环境进行交互,根据当前的状态s选择相应的动作a,并更新策略网络中的参数θμ;目标策略网络采用从记忆池中抽取的数据进行训练,完成根据下一状态s'选择合适的下一动作a'这一任务,该网络的网络参数θμ'定期从现实策略网络中进行复制更新;现实Q网络用于计算当前的Q值Q(s,a|θQ)和目标Q值y=r+γQ′(s′,a′|θQ'),并更新Q网络中的参数θQ;目标Q网络用于计算目标Q值中的Q′(s′,a′|θQ),该网络的网络参数θQ'定期从现实Q网络中进行复制更新;
23)基于DDPG算法设计空间双臂系统约束运动规划算法包括以下步骤:
231)初始化现实策略网络与现实Q网络的网络参数θμ与θQ,并赋予目标策略网络与目标Q网络相同的网络参数值;
232)初始化步骤21)中构建的环境;
233)根据当前的状态s选取动作a,将动作a作为环境的输入,在环境中执行动作a并给出下一时刻的状态s'、当前单步的即时奖励以及是否完成目标的标志位;
234)判断重放缓存区是否存满,若未存满,则将当前时刻状态、当前执行的动作、当前单步奖励以及下一时刻状态(s,a,r,s')存入重放缓存区,并使用s'更新s,继续执行步骤233),若已存满,则将重放缓存区中最早的一组数据删除,并将当前时刻状态、当前执行的动作、当前单步奖励以及下一时刻状态(s,a,r,s')存入重放缓存区,继续执行步骤235);
235)从重放缓存区中随机选取一批数据(s,a,r,s'),开始进行步骤22)中的训练过程,对网络参数进行更新并判断,若未完成目标或未到达设置的最大单回合步数,则继续执行步骤233),若已完成目标或到达设置的最大单回合步数,则判断是否达到了最大回合数,若未达到,则继续执行步骤232),若已达到,则结束。
进一步地,所述步骤3)具体包括:
31)机械臂运动规划的成功与否取决于机械臂末端执行器是否能够到达目标点,两个机械臂末端执行器与其对应的目标点之间的距离d1、d2是设计奖励函数的依据;设计一种线性函数与对数函数混合形式的奖励函数如下所示:
r=-(d1+d2)-lg(d1+10-8)-lg(d2+10-8) (3)
其中,r表示奖励值,线性函数项为r=k(d1+d2),k为负常数,值为-1,用于保证两个机械臂末端执行机构有向其各自目标点靠近的趋势,而只使用线性函数形式的奖励函数只能保证部分收敛趋势,而很难保证两个末端执行机构同时精准地到达目标位置,因此添加对数函数项-lg(d1+10-8)-lg(d2+10-8),10-8项用于避免对数函数产生奇异,同时约束对数函数项的最大值,用于在末端执行器到达目标点附近时,使其能够加速收敛到目标点处并获得该决策方法(即当末端执行器到达目标点附近时,做出决策让末端执行器加速向目标点靠近);
32)对机械臂末端执行器速度设置如下约束:当机械臂末端执行器距离其对应的抓取目标点较远时,速度约束项对整体奖励没有影响;当机械臂末端执行器与其对应的抓取目标点之间的距离超过安全阈值后,距离越近,速度约束所能提供的惩罚就越大;为了满足这一要求,速度约束所对应的惩罚项设计为如下形式:
Figure GDA0003155816040000041
其中,rv表示速度约束对应的奖励值,
Figure GDA0003155816040000042
Figure GDA0003155816040000043
分别为两个末端执行器的速度,系数k1为距离对惩罚项大小的影响程度,系数k2为限制惩罚项的最大值,k1=1,k2=1;
33)当两个机械臂协同工作时,加入碰撞检测算法,具体如下:
假设s0,s1,t0,t1分别表示两条有向线段S和T的四个端点,ls和lt表示线段S和T所在的直线;sj,tj表示直线ls和lt的公垂线在这两条直线上的垂足;定义向量u=s1-s0,v=t1-t0,则使用这两个向量对垂足sj和tj进行表示:
Figure GDA0003155816040000044
其中,系数ks和kt分别表示垂足sj和tj在直线ls和lt上的位置;定义向量w0=s0-t,0w=sj-tj,结合上式(5),w表示为如下形式:
Figure GDA0003155816040000046
向量w垂直于向量u和向量v,故有u·w=0,w·v=0,结合上式(6)和上述向量w与向量u和向量v的垂直关系,得到如下关系式:
Figure GDA0003155816040000045
令a=u·u,b=u·v,c=v·v,d=u·ω0,e=v·ω0,则系数ks和kt通过上式(7)获得:
Figure GDA0003155816040000051
将系数ks和kt代入公式(5)即可求出垂足sj和tj的位置;当ac-b2=0时,出现直线ls和lt平行或重合的情况,当两直线平行时,取kt=0,即可求出一组垂足位置sj和tj,此时两线段之间的最小距离就是两个垂足之间的距离;当两直线重合时,不考虑线段重合的情况,则两线段之间的最小距离通过直接求解端点s0,s1与t0,t1之间距离的最小值获得;最终通过判断垂足与两线段之间的相对位置,即可求出两线段之间的最小距离dST,其具体形式如下式所示:
Figure GDA0003155816040000052
其中,dst表示点s到点t的最小距离,点s包括s0,s1,sj,点t包括t0,t1,tj
34)根据上述步骤33)得到左机械臂上每一个连杆与右机械臂上每一个连杆之间的最小距离,再通过比较得到的最小距离得到其中的最小值dmin,即为左机械臂与右机械臂之间的最小距离,然后设计避免发生自碰撞的惩罚项函数;
在奖励函数中,两个机械臂之间最小距离dmin约束的惩罚项需要满足如下性质:当dmin足够大时,最小距离约束所提供的惩罚忽略;当dmin超过安全阈值时,随着dmin的减小,最小距离约束所提供的惩罚加重;最小距离约束的惩罚项采用与速度约束惩罚项相同的函数形式:
Figure GDA0003155816040000053
其中,rd表示最小距离约束对应的奖励值,最小距离约束惩罚项中的系数为:h1=100,h2=0.5;
35)结合步骤31)、32)与34),得到考虑各约束条件的最终形式的奖励函数如下:
Figure GDA0003155816040000061
本发明的有益效果:
1、本发明利用广义雅各比矩阵描述空间双臂系统的运动学模型,能够准确描述基座自由漂浮的空间双臂系统末端执行器、基座的速度以及角速度与各关节的角速度之间的映射关系。
2、本发明利用强化学习算法进行空间双臂系统运动规划,显著提高了运动规划算法的泛用性。
3、本发明通过对强化学习算法的奖励函数进行合理的设计,使得运动规划算法能够满足一定的安全性约束,包括机械臂末端执行机构的速度约束以及双臂协同运动时的自碰撞约束,从而提高了规划运动轨迹的安全性。
附图说明
图1为本发明方法流程图;
图2为DDPG算法的原理图;
图3a为使用训练完成的网络抓取带自转卫星过程中第0秒效果图;
图3b为使用训练完成的网络抓取带自转卫星过程中第6秒效果图;
图3c为使用训练完成的网络抓取带自转卫星过程中第12秒效果图;
图3d为使用训练完成的网络抓取带自转卫星过程中第18秒效果图。
具体实施方式
为了便于本领域技术人员的理解,下面结合实施例与附图对本发明作进一步的说明,实施方式提及的内容并非对本发明的限定。
参照图1所示,本发明的一种基于深度强化学习的空间双臂系统约束运动规划方法,步骤如下:
1)利用广义雅可比矩阵建立自由漂浮空间双机械臂系统的运动学模型;
根据下式(1)建立空间双机械臂系统的运动学模型:
Figure GDA0003155816040000071
其中,Iv0Iω0分别为空间机械臂基座在惯性参考系下的速度矢量与角速度矢量;
Figure GDA0003155816040000072
Figure GDA0003155816040000073
分别为第1个机械臂在惯性参考系下的速度矢量与角速度矢量;
Figure GDA0003155816040000074
Figure GDA0003155816040000075
分别为第2个机械臂在惯性参考系下的速度矢量与角速度矢量;
Figure GDA0003155816040000076
Figure GDA0003155816040000077
分别为两臂各关节角的角速度;M为空间机械臂系统的质量矩阵,r0g=rg-r0,rg表示系统质心位置,r0表示空间机械臂基座位置,算子×表示斜对称矩阵;
Figure GDA0003155816040000078
Figure GDA0003155816040000079
J0和Jφ为机械臂系统分别对关节角和基座的雅可比矩阵,其中:
Figure GDA00031558160400000710
式中,
Figure GDA00031558160400000711
为第i关节的角速度方向矢量,
Figure GDA00031558160400000712
为第i关节的位置矢量,
Figure GDA00031558160400000713
为第i连杆的质心位置矢量,I为惯性张量矩阵。
2)基于上述的空间双臂系统的运动学模型,结合DDPG(深度确定性策略梯度)算法,设计空间双臂系统运动规划算法;具体包括:
21)在python编程环境中将上述建立的空间双机械臂系统的运动学模型构建为DDPG算法中的环境部分,与DDPG算法之间的信息交互,具体为:由DDPG算法生成具体需要执行的动作(即机械臂各关节的角速度信息)作为输入信息,输入到构建的上述环境部分中,通过运动学递推更新机械臂的状态信息,从而计算执行该动作所获得的即时奖励,最后由环境反馈更新后的机械臂状态信息、单步即时奖励以及是否已完成目标的标志位;
22)参照图2所示,DDPG算法采用actor-critic模式,利用actor做出决策、critic做出评价:从环境中观测得到状态s,传递给actor根据所述状态s凭当前的策略网络做出决定得到动作a,将动作a作用于环境之后,给出当前步的奖励反馈r和新的状态,根据奖励反馈r,critic更新对actor的行为评价网络,actor再沿着critic建议的方向更新自身的策略网络,从而完成了一步训练,继续循环直到训练成功;DDPG采用记忆池的设计,将与环境交互得到的数据样本存储在记忆池中,再从中随机选择一条数据进行训练,打破数据间的关联,实现了样本的独立;DDPG采用四个神经网络:将actor对应的网络称为策略网络,分为现实策略网络和目标策略网络,将critic对应的网络称为价值网络即Q网络,分为现实Q网络和目标Q网络;现实策略网络用于与环境进行交互,根据当前的状态s选择相应的动作a,并更新策略网络中的参数θμ;目标策略网络采用从记忆池中抽取的数据进行训练,完成根据下一状态s'选择合适的下一动作a'这一任务,该网络的网络参数θμ'定期从现实策略网络中进行复制更新;现实Q网络用于计算当前的Q值Q(s,a|θQ)和目标Q值y=r+γQ′(s′,a′|θQ'),并更新Q网络中的参数θQ;目标Q网络用于计算目标Q值中的Q′(s′,a′|θQ),该网络的网络参数θQ'定期从现实Q网络中进行复制更新;
23)基于DDPG算法设计空间双臂系统约束运动规划算法包括以下步骤:
231)初始化现实策略网络与现实Q网络的网络参数θμ与θQ,并赋予目标策略网络与目标Q网络相同的网络参数值;
232)初始化步骤21)中构建的环境;
233)根据当前的状态s选取动作a,将动作a作为环境的输入,在环境中执行动作a并给出下一时刻的状态s'、当前单步的即时奖励以及是否完成目标的标志位;
234)判断重放缓存区是否存满,若未存满,则将当前时刻状态、当前执行的动作、当前单步奖励以及下一时刻状态(s,a,r,s')存入重放缓存区,并使用s'更新s,继续执行步骤233),若已存满,则将重放缓存区中最早的一组数据删除,并将当前时刻状态、当前执行的动作、当前单步奖励以及下一时刻状态(s,a,r,s')存入重放缓存区,继续执行步骤235);
235)从重放缓存区中随机选取一批数据(s,a,r,s'),开始进行步骤22)中的训练过程,对网络参数进行更新并判断,若未完成目标或未到达设置的最大单回合步数,则继续执行步骤233),若已完成目标或到达设置的最大单回合步数,则判断是否达到了最大回合数,若未达到,则继续执行步骤232),若已达到,则结束。
3)对DDPG算法中奖励函数进行设计,以实现对空间双臂系统运动规划算法中各约束条件的满足,包括机械臂末端执行机构的速度约束和双机械臂协同运动的自碰撞约束;
31)机械臂运动规划的成功与否取决于机械臂末端执行器是否能够到达目标点,两个机械臂末端执行器与其对应的目标点之间的距离d1、d2是设计奖励函数的依据;设计一种线性函数与对数函数混合形式的奖励函数如下所示:
r=-(d1+d2)-lg(d1+10-8)-lg(d2+10-8) (3)
其中,r表示奖励值,线性函数项为r=k(d1+d2),k为负常数,值为-1,用于保证两个机械臂末端执行机构有向其各自目标点靠近的趋势,而只使用线性函数形式的奖励函数只能保证部分收敛趋势,而很难保证两个末端执行机构同时精准地到达目标位置,因此添加对数函数项-lg(d1+10-8)-lg(d2+10-8),10-8项用于避免对数函数产生奇异,同时约束对数函数项的最大值,用于在末端执行器到达目标点附近时,使其能够加速收敛到目标点处并获得该决策方法(即当末端执行器到达目标点附近时,做出决策让末端执行器加速向目标点靠近);
32)对机械臂末端执行器速度设置如下约束:当机械臂末端执行器距离其对应的抓取目标点较远时,速度约束项对整体奖励没有影响;当机械臂末端执行器与其对应的抓取目标点之间的距离超过安全阈值后,距离越近,速度约束所能提供的惩罚就越大;为了满足这一要求,速度约束所对应的惩罚项设计为如下形式:
Figure GDA0003155816040000091
其中,rv表示速度约束对应的奖励值,
Figure GDA0003155816040000092
Figure GDA0003155816040000093
分别为两个末端执行器的速度,系数k1为距离对惩罚项大小的影响程度,系数k2为限制惩罚项的最大值,k1=1,k2=1;
33)当两个机械臂协同工作时,加入碰撞检测算法,考虑到以下原因:1、通过机械臂的运动学参数可以看出,机械臂的半径相对于长度来说是可以忽略的;2、由于需要在算法的每一步中都进行碰撞检测运算,所以复杂的模型必然会带来庞大的计算量,甚至可能会导致算法无法运行。同时DDPG算法需要进行大量的迭代运算,碰撞检测算法的设计也需要尽量简化,因此,选取一种基于向量运算的方法来进行两臂之间最短距离的计算;具体如下:
假设s0,s1,t0,t1分别表示两条有向线段S和T的四个端点,ls和lt表示线段S和T所在的直线;sj,tj表示直线ls和lt的公垂线在这两条直线上的垂足;定义向量u=s1-s0,v=t1-t0,则使用这两个向量对垂足sj和tj进行表示:
Figure GDA0003155816040000094
其中,系数ks和kt分别表示垂足sj和tj在直线ls和lt上的位置;定义向量w0=s0-t0,w=sj-tj,结合上式(5),w表示为如下形式:
Figure GDA0003155816040000103
向量w垂直于向量u和向量v,故有u·w=0,w·v=0,结合上式(6)和上述向量w与向量u和向量v的垂直关系,得到如下关系式:
Figure GDA0003155816040000101
令a=u·u,b=u·v,c=v·v,d=u·ω0,e=v·ω0,则系数ks和kt通过上式(7)获得:
Figure GDA0003155816040000102
将系数ks和kt代入公式(5)即可求出垂足sj和tj的位置;当ac-b2=0时,出现直线ls和lt平行或重合的情况,当两直线平行时,取kt=0,即可求出一组垂足位置sj和tj,此时两线段之间的最小距离就是两个垂足之间的距离;当两直线重合时,不考虑线段重合的情况,则两线段之间的最小距离通过直接求解端点s0,s1与t0,t1之间距离的最小值获得;最终通过判断垂足与两线段之间的相对位置,即可求出两线段之间的最小距离dST,其具体形式如下式所示:
Figure GDA0003155816040000111
其中,dst表示点s到点t的最小距离,点s包括s0,s1,sj,点t包括t0,t1,tj
34)根据上述步骤33)得到左机械臂上每一个连杆与右机械臂上每一个连杆之间的最小距离,再通过比较得到的最小距离得到其中的最小值dmin,即为左机械臂与右机械臂之间的最小距离,然后设计避免发生自碰撞的惩罚项函数;
在奖励函数中,两个机械臂之间最小距离dmin约束的惩罚项需要满足如下性质:当dmin足够大时,最小距离约束所提供的惩罚忽略;当dmin超过安全阈值时,随着dmin的减小,最小距离约束所提供的惩罚加重;最小距离约束的惩罚项采用与速度约束惩罚项相同的函数形式:
Figure GDA0003155816040000112
其中,rd表示最小距离约束对应的奖励值,最小距离约束惩罚项中的系数为:h1=100,h2=0.5;
35)结合步骤31)、32)与34),得到考虑各约束条件的最终形式的奖励函数如下:
Figure GDA0003155816040000113
采用上式所述的奖励函数对网络进行训练,使用训练完成的网络抓取带自旋卫星的全过程效果图如图3a-图3d所示。
本发明基于深度强化学习的空间双臂系统,采用深度强化学习模型,只需要选取一个合理的机械臂初始构型和目标抓取点位置的范围,通过训练,即使在该范围内任意选定机械臂初始构型和目标抓取点位置,也可以实时地规划出合理的运动路径,因此能够很好地提高规划算法的泛用性。然后,由于没有考虑各类约束问题,该方法规划出地运动路径往往存在两机械臂之间发生碰撞或机械臂与目标之间发生碰撞等问题,可能会造成机械臂的损伤。
本发明具体应用途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进,这些改进也应视为本发明的保护范围。

Claims (4)

1.一种基于深度强化学习的空间双臂系统约束运动规划方法,其特征在于,步骤如下:
1)利用广义雅可比矩阵建立自由漂浮空间双机械臂系统的运动学模型;
2)基于上述的空间双臂系统的运动学模型,结合DDPG算法,设计空间双臂系统运动规划算法;
3)对DDPG算法中奖励函数进行设计,以实现对空间双臂系统运动规划算法中各约束条件的满足,包括机械臂末端执行机构的速度约束和双机械臂协同运动的自碰撞约束;
所述步骤1)具体包括:根据下式(1)建立空间双机械臂系统的运动学模型:
Figure FDA0003221981830000011
其中,E3表示3x3的单位矩阵;Pω、J、Pφ均为定义的符号变量;Iv0Iω0分别为空间机械臂基座在惯性参考系下的速度矢量与角速度矢量;
Figure FDA0003221981830000012
Figure FDA0003221981830000013
分别为第1个机械臂在惯性参考系下的速度矢量与角速度矢量;
Figure FDA0003221981830000014
Figure FDA0003221981830000015
分别为第2个机械臂在惯性参考系下的速度矢量与角速度矢量;
Figure FDA0003221981830000016
Figure FDA0003221981830000017
分别为两臂各关节角的角速度;M为空间机械臂系统的质量矩阵,r0g=rg-r0,rg表示系统质心位置,r0表示空间机械臂基座位置,算子×表示斜对称矩阵;
Figure FDA0003221981830000018
Figure FDA0003221981830000019
J0和Jφ为机械臂系统分别对关节角和基座的雅可比矩阵,其中:
Figure FDA00032219818300000110
式中,
Figure FDA00032219818300000111
为第i关节的角速度方向矢量,
Figure FDA00032219818300000112
为第i关节的位置矢量,
Figure FDA00032219818300000113
为第i连杆的质心位置矢量,I为惯性张量矩阵,
Figure FDA0003221981830000021
均为定义的符号变量;
Figure FDA0003221981830000022
表示第1根机械臂中第1根至第i根连杆的角速度方向向量组成的矩阵;
Figure FDA0003221981830000023
表示第2根机械臂中第1根至第i根连杆的角速度方向向量组成的矩阵;I0表示空间双机械臂系统中基座的转动惯量;
Figure FDA0003221981830000024
表示空间双机械臂系统中第k根机械臂中第i根连杆的转动惯量;i和j均表示机械臂上连杆的序号,i∈[1,n],j∈[1,n];k表示机械臂的序号,k∈[1,2];n表示单根机械臂上总连杆个数,m为质量。
2.根据权利要求1所述的基于深度强化学习的空间双臂系统约束运动规划方法,其特征在于,所述步骤2)具体包括:
21)在python编程环境中将上述建立的空间双机械臂系统的运动学模型构建为DDPG算法中的环境部分,与DDPG算法之间的信息交互,具体为:由DDPG算法生成具体需要执行的动作作为输入信息,输入到构建的上述环境部分中,通过运动学递推更新机械臂的状态信息,从而计算执行该动作所获得的即时奖励,最后由环境反馈更新后的机械臂状态信息、单步即时奖励以及是否已完成目标的标志位;
22)DDPG算法采用actor-critic模式,利用actor做出决策、critic做出评价:从环境中观测得到状态s,传递给actor根据所述状态s凭当前的策略网络做出决定得到动作a,将动作a作用于环境之后,给出当前步的奖励反馈r和新的状态,根据奖励反馈r,critic更新对actor的行为评价网络,actor再沿着critic建议的方向更新自身的策略网络,从而完成了一步训练,继续循环直到训练成功;DDPG采用记忆池的设计,将与环境交互得到的数据样本存储在记忆池中,再从中随机选择一条数据进行训练,打破数据间的关联,实现了样本的独立;DDPG采用四个神经网络:将actor对应的网络称为策略网络,分为现实策略网络和目标策略网络,将critic对应的网络称为价值网络即Q网络,分为现实Q网络和目标Q网络;现实策略网络用于与环境进行交互,根据当前的状态s选择相应的动作a,并更新策略网络中的参数θμ;目标策略网络采用从记忆池中抽取的数据进行训练,完成根据下一状态s'选择合适的下一动作a'这一任务,该网络的网络参数θμ'定期从现实策略网络中进行复制更新;现实Q网络用于计算当前的Q值Q(s,a|θQ)和目标Q值y=r+γQ′(s′,a′|θQ'),并更新Q网络中的参数θQ;目标Q网络用于计算目标Q值中的Q′(s′,a′|θQ),该网络的网络参数θQ'定期从现实Q网络中进行复制更新;
23)基于DDPG算法设计空间双臂系统约束运动规划算法。
3.根据权利要求2所述的基于深度强化学习的空间双臂系统约束运动规划方法,其特征在于,所述步骤23)具体包括:
231)初始化现实策略网络的网络参数θμ与现实Q网络的网络参数θQ,并赋予目标策略网络与目标Q网络相同的网络参数值;
232)初始化步骤21)中构建的环境;
233)根据当前的状态s选取动作a,将动作a作为环境的输入,在环境中执行动作a并给出下一时刻的状态s'、当前单步的即时奖励以及是否完成目标的标志位;
234)判断重放缓存区是否存满,若未存满,则将当前时刻状态、当前执行的动作、当前单步奖励以及下一时刻状态(s,a,r,s')存入重放缓存区,并使用s'更新s,继续执行步骤233),若已存满,则将重放缓存区中最早的一组数据删除,并将当前时刻状态、当前执行的动作、当前单步奖励以及下一时刻状态(s,a,r,s')存入重放缓存区,继续执行步骤235);
235)从重放缓存区中随机选取一批数据(s,a,r,s'),开始进行步骤22)中的训练过程,对网络参数进行更新并判断,若未完成目标或未到达设置的最大单回合步数,则继续执行步骤233),若已完成目标或到达设置的最大单回合步数,则判断是否达到了最大回合数,若未达到,则继续执行步骤232),若已达到,则结束。
4.根据权利要求1所述的基于深度强化学习的空间双臂系统约束运动规划方法,其特征在于,所述步骤3)具体包括:
31)机械臂运动规划的成功与否取决于机械臂末端执行器是否能够到达目标点,两个机械臂末端执行器与其对应的目标点之间的距离d1、d2是设计奖励函数的依据;设计一种线性函数与对数函数混合形式的奖励函数如下所示:
r=-(d1+d2)-lg(d1+10-8)-lg(d2+10-8) (3)
其中,r表示奖励值,线性函数项为r=k(d1+d2),k为负常数,值为-1,用于保证两个机械臂末端执行机构有向其各自目标点靠近的趋势,因此添加对数函数项-lg(d1+10-8)-lg(d2+10-8),10-8项用于避免对数函数产生奇异,同时约束对数函数项的最大值,用于在末端执行器到达目标点附近时,使其能够加速收敛到目标点处并获得该决策方法;
32)对机械臂末端执行器速度设置如下约束:当机械臂末端执行器距离其对应的抓取目标点较远时,速度约束项对整体奖励没有影响;当机械臂末端执行器与其对应的抓取目标点之间的距离超过安全阈值后,距离越近,速度约束所能提供的惩罚就越大;为了满足这一要求,速度约束所对应的惩罚项设计为如下形式:
Figure FDA0003221981830000041
其中,rv表示速度约束对应的奖励值,
Figure FDA0003221981830000042
Figure FDA0003221981830000043
分别为两个末端执行器的速度,系数k1为距离对惩罚项大小的影响程度,系数k2为限制惩罚项的最大值,k1=1,k2=1;
33)当两个机械臂协同工作时,加入碰撞检测算法,具体如下:
假设s0,s1,t0,t1分别表示两条有向线段S和T的四个端点,ls和lt表示线段S和T所在的直线;sj,tj表示直线ls和lt的公垂线在这两条直线上的垂足;定义向量u=s1-s0,v=t1-t0,则使用这两个向量对垂足sj和tj进行表示:
Figure FDA0003221981830000044
其中,系数ks和kt分别表示垂足sj和tj在直线ls和lt上的位置;定义向量
w0=s0-t0,w=sj-tj,结合上式(5),w表示为如下形式:
Figure FDA0003221981830000045
向量w垂直于向量u和向量v,故有u·w=0,w·v=0,结合上式(6)和上述向量w与向量u和向量v的垂直关系,得到如下关系式:
Figure FDA0003221981830000046
令a=u·u,b=u·v,c=v·v,d=u·ω0,e=v·ω0,则系数ks和kt通过上式(7)获得:
Figure FDA0003221981830000047
将系数ks和kt代入公式(5)即可求出垂足sj和tj的位置;当ac-b2=0时,出现直线ls和lt平行或重合的情况,当两直线平行时,取kt=0,即可求出一组垂足位置sj和tj,此时两线段之间的最小距离就是两个垂足之间的距离;当两直线重合时,不考虑线段重合的情况,则两线段之间的最小距离通过直接求解端点s0,s1与t0,t1之间距离的最小值获得;最终通过判断垂足与两线段之间的相对位置,即可求出两线段之间的最小距离dST,其具体形式如下式所示:
Figure FDA0003221981830000051
其中,dst表示点s到点t的最小距离,点s包括s0,s1,sj,点t包括t0,t1,tj
34)根据上述步骤33)得到左机械臂上每一个连杆与右机械臂上每一个连杆之间的最小距离,再通过比较得到的最小距离得到其中的最小值dmin,即为左机械臂与右机械臂之间的最小距离,然后设计避免发生自碰撞的惩罚项函数;
在奖励函数中,两个机械臂之间最小距离dmin约束的惩罚项需要满足如下性质:当dmin足够大时,最小距离约束所提供的惩罚忽略;当dmin超过安全阈值时,随着dmin的减小,最小距离约束所提供的惩罚加重;最小距离约束的惩罚项采用与速度约束惩罚项相同的函数形式:
Figure FDA0003221981830000052
其中,rd表示最小距离约束对应的奖励值,最小距离约束惩罚项中的系数为:h1=100,h2=0.5;
35)结合步骤31)、32)与34),得到考虑各约束条件的最终形式的奖励函数如下:
Figure FDA0003221981830000053
CN202010830247.1A 2020-08-18 2020-08-18 一种基于深度强化学习的空间双臂系统约束运动规划方法 Active CN112171660B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010830247.1A CN112171660B (zh) 2020-08-18 2020-08-18 一种基于深度强化学习的空间双臂系统约束运动规划方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010830247.1A CN112171660B (zh) 2020-08-18 2020-08-18 一种基于深度强化学习的空间双臂系统约束运动规划方法

Publications (2)

Publication Number Publication Date
CN112171660A CN112171660A (zh) 2021-01-05
CN112171660B true CN112171660B (zh) 2021-11-23

Family

ID=73919629

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010830247.1A Active CN112171660B (zh) 2020-08-18 2020-08-18 一种基于深度强化学习的空间双臂系统约束运动规划方法

Country Status (1)

Country Link
CN (1) CN112171660B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112965372B (zh) * 2021-02-01 2022-04-01 中国科学院自动化研究所 基于强化学习的微零件精密装配方法、装置和系统
CN113967909B (zh) * 2021-09-13 2023-05-16 中国人民解放军军事科学院国防科技创新研究院 基于方向奖励的机械臂智能控制方法
CN113829351B (zh) * 2021-10-13 2023-08-01 广西大学 一种基于强化学习的移动机械臂的协同控制方法
CN114683280B (zh) * 2022-03-17 2023-11-17 达闼机器人股份有限公司 对象控制方法、装置、存储介质及电子设备
CN116476042B (zh) * 2022-12-31 2024-01-12 中国科学院长春光学精密机械与物理研究所 基于深度强化学习的机械臂运动学逆解优化方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102211012B1 (ko) * 2016-09-15 2021-02-03 구글 엘엘씨 로봇 조작을 위한 심층 강화 학습
CN109048892A (zh) * 2018-07-26 2018-12-21 西北工业大学 一种基于q学习的机械臂末端避障方法
CN108983804B (zh) * 2018-08-27 2020-05-22 燕山大学 一种基于深度强化学习的双足机器人步态规划方法
CN109606753B (zh) * 2018-11-11 2022-03-29 上海宇航系统工程研究所 一种空间双臂机器人协同抓捕目标的控制方法
CN109760046A (zh) * 2018-12-27 2019-05-17 西北工业大学 基于强化学习的空间机器人捕获翻滚目标运动规划方法
CN110104216B (zh) * 2019-01-28 2022-09-06 西北工业大学深圳研究院 一种针对运动学冗余双臂空间机器人的协同路径规划方法
CN111208822A (zh) * 2020-02-17 2020-05-29 清华大学深圳国际研究生院 一种基于强化学习和cpg控制器的四足机器人步态控制方法

Also Published As

Publication number Publication date
CN112171660A (zh) 2021-01-05

Similar Documents

Publication Publication Date Title
CN112171660B (zh) 一种基于深度强化学习的空间双臂系统约束运动规划方法
Fang et al. DHER: Hindsight experience replay for dynamic goals
EP3621773B1 (en) Viewpoint invariant visual servoing of robot end effector using recurrent neural network
US9862090B2 (en) Surrogate: a body-dexterous mobile manipulation robot with a tracked base
Breyer et al. Comparing task simplifications to learn closed-loop object picking using deep reinforcement learning
CN110785268A (zh) 用于语义机器人抓取的机器学习方法和装置
Thakar et al. Accounting for part pose estimation uncertainties during trajectory generation for part pick-up using mobile manipulators
Bohez et al. Sensor fusion for robot control through deep reinforcement learning
CN114147708B (zh) 基于改进的天牛须搜索算法的机械臂避障路径规划方法
CN109778939B (zh) 一种可自主规划轨迹的挖掘机臂智能控制系统及方法
CN114952828A (zh) 一种基于深度强化学习的机械臂运动规划方法和系统
Hudson et al. Model-based autonomous system for performing dexterous, human-level manipulation tasks
CN112975977A (zh) 一种高效的机械臂抓取深度强化学习奖励训练方法及系统
Du et al. Learning to control a free-floating space robot using deep reinforcement learning
Jauhri et al. Interactive imitation learning in state-space
Li et al. Navigation of mobile robots based on deep reinforcement learning: Reward function optimization and knowledge transfer
CN114905508A (zh) 基于异构特征融合的机器人抓取方法
Ranjbar et al. Residual feedback learning for contact-rich manipulation tasks with uncertainty
Chen et al. Optimizing the obstacle avoidance trajectory and positioning error of robotic manipulators using multigroup ant colony and quantum behaved particle swarm optimization algorithms
Stolle et al. Knowledge transfer using local features
Liu et al. Sim-and-real reinforcement learning for manipulation: A consensus-based approach
US11921492B2 (en) Transfer between tasks in different domains
Pham et al. Constrained exploration and recovery from experience shaping
Das et al. Improved real time A*-fuzzy controller for improving multi-robot navigation and its performance analysis
Huang et al. Dexterous manipulation of construction tools using anthropomorphic robotic hand

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