CN113910221A - 一种机械臂自主运动规划方法、装置、设备及存储介质 - Google Patents
一种机械臂自主运动规划方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113910221A CN113910221A CN202111143685.1A CN202111143685A CN113910221A CN 113910221 A CN113910221 A CN 113910221A CN 202111143685 A CN202111143685 A CN 202111143685A CN 113910221 A CN113910221 A CN 113910221A
- Authority
- CN
- China
- Prior art keywords
- action
- mechanical arm
- data
- value
- yaw
- 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
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
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
- B25J9/1666—Avoiding collision or forbidden zones
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明公开了一种机械臂自主运动规划方法、装置、设备及存储介质,所述方法包括:获取包括机械臂的位置坐标值、当前移动速度值、当前横摆角速度值的机械臂数据和包括障碍物的位置坐标值、尺寸数据的障碍物数据;根据机械臂数据和障碍物数据,采用人工势场算法获得动作评价指标值;将机械臂数据、障碍物数据和动作评价指标值作为状态值,输入至预设的决策模型,通过决策模型选择机械臂的移动动作、移动动作的连续速度值、横摆动作和横摆动作的连续角速度值;其中,决策模型采用基于正态分布的动作策略函数。本发明能够基于正态分布的动作策略函数,输出具有连续移动速度值和连续摆动角速度值的动作,提高了机械臂在连续运动时的操作精确度。
Description
技术领域
本发明涉及机器人控制技术领域,尤其是涉及一种机械臂自主运动规划方法、装置、设备及存储介质。
背景技术
精密操作机械手是一种通过工作人员对其导入事先编写好的运动代码后,便可以对工厂流水线上的产品进行精密加工的新型产物,是一种集高操作精度、高执行效率、高自动化的新型智能化产品。在传统车间里,往往需要依靠员工时刻盯紧流水线,对流水线上经过的半成品进行及时加工,但随着工厂智能化的持续推进,精密操作机械手凭借其操作精度高、误差小、操作时间短、效率高、可减少工厂人力资源损耗且降低企业成本等优点,逐渐被广泛应用于工厂流水线上,是未来智能化工厂的构建中不可缺少的一环。
然而目前大多数机械手采用的算法都是传统实现自主导航功能类的算法,如A*,D*,RRT类算法等,此类算法的思想是通过定位自身位置,同时根据目的点位置和障碍物位置,搜索出一条最优路径,应用于简单的实际场景时可以得到很好的效果,但采用此类算法的机械手在连续运动时操作精确度不高,难以适用于复杂的实际环境。
发明内容
本发明提供了一种机械臂自主运动规划方法、装置、设备及存储介质,以解决现有的机械臂动作规划方法无法提高机械臂在连续运动时的操作精确度的问题,能够基于正态分布的动作策略函数对机械臂的动作进行决策,决策动作能从正态分布中对移动速度和横摆角速度进行采样,以输出具有连续移动速度值和连续摆动角速度值的动作,提高了机械臂在连续运动时的操作精确度,以使机械臂适用于复杂的实际环境。
为了解决上述技术问题,本发明实施例第一方面提供了一种机械臂自主运动规划方法,包括:
获取机械臂数据和障碍物数据,所述机械臂数据包括机械臂的位置坐标值、当前移动速度值和当前横摆角速度值,所述障碍物数据包括障碍物的位置坐标值和尺寸数据;
根据所述机械臂数据和所述障碍物数据,采用人工势场算法获得动作评价指标值;
将所述机械臂数据、所述障碍物数据和所述动作评价指标值作为状态值,输入至预设的决策模型,通过所述决策模型选择所述机械臂的移动动作、所述移动动作的连续速度值、横摆动作和所述横摆动作的连续角速度值;其中,所述决策模型采用基于正态分布的动作策略函数。
作为其中一种改进,所述动作策略函数具体为:
其中,s表示状态值,θ表示参数向量值,α表示学习率,σ(s,θ)表示带有参数向量值θ的策略分布方差,μ(s,θ)表示带有参数向量值θ的策略分布期望,π(x|s,θ)表示决策模型在状态值为s,参数向量值为θ时选取动作x的概率。
作为其中一种改进,所述通过所述决策模型选择所述机械臂的移动动作、所述移动动作的连续速度值、横摆动作和所述横摆动作的连续角速度值,具体包括:
采用tanh激活函数分别对所述机械臂的移动速度的正态分布期望、所述机械臂的横摆角速度的正态分布期望进行限制,分别获得速度策略分布期望、角速度策略分布期望;
根据所述移动速度的策略分布方差和所述速度策略分布期望,获得所述移动速度的正态分布和移动动作策略函数;
根据所述移动动作策略函数,选择所述机械臂的移动动作,所述移动动作根据所述移动速度的正态分布对所述移动速度进行采样,选择所述连续速度值;
根据所述横摆角速度的策略分布方差和所述角速度策略分布期望,获得所述横摆角速度的正态分布和横摆动作策略函数;
根据所述横摆动作策略函数,选择所述机械臂的横摆动作,所述横摆动作根据所述横摆角速度的正态分布对所述横摆角速度进行采样,获得所述连续角速度值。
作为其中一种改进,所述方法通过以下步骤预先获取所述决策模型:
获取多个时刻的机械臂数据和障碍物数据;
根据多个时刻的所述机械臂数据和所述障碍物数据,采用人工势场算法获得多个时刻的动作评价指标值;
将多个时刻的所述机械臂数据、所述障碍物数据和所述动作评价指标值作为状态值输入至PPO模型;
基于正态分布的动作策略函数,采用PPO算法对所述PPO模型进行训练,并获取所述决策模型。
作为其中一种改进,所述决策模型包括输入层、全连接层、选择网络和评价网络;
所述输入层用于将状态空间序列(S1,S2,…,St)输入至所述全连接层,St表示在时刻t的状态值;
所述全连接层包括第一激活层和第二激活层;
其中,所述第一激活层有256个节点,一个节点对应所述机械臂的一个移动动作或横摆动作,根据所述状态空间序列,所述第一激活层选择所述机械臂的移动动作或横摆动作对应的评价函数,所述评价函数包括状态价值函数和动作价值函数;
所述第二激活层用于根据所述状态空间序列,采用tanh激活函数分别对所述机械臂的移动速度的正态分布期望、所述机械臂的横摆角速度的正态分布期望进行限制,分别获得速度策略分布期望、角速度策略分布期望;
所述评价网络用于根据所述状态空间序列对所述评价函数进行估计,并根据估计后的评价函数获得优势函数,根据所述优势函数获得回报值,根据所述回报值更新所述参数向量值;
所述选择网络根据所述第二激活层获得的所述速度策略分布期望和所述角速度策略分布期望,构造所述移动动作策略函数、所述移动速度的正态分布、所述横摆动作策略函数和所述角速度的正态分布,根据所述移动动作策略函数,选择所述机械臂的移动动作,所述移动动作根据所述移动速度的正态分布对所述移动速度进行采样,选择所述连续速度值,根据所述横摆动作策略函数,选择所述机械臂的横摆动作,所述横摆动作根据所述横摆角速度的正态分布对所述横摆角速度进行采样,获得所述连续角速度值。
作为其中一种改进,所述根据所述机械臂数据和所述障碍物信息数据,采用人工势场算法获得动作评价指标值,具体包括:
根据所述机械臂数据和所述障碍物数据,获得危险因子;
根据所述危险因子和预设危险阈值,获得障碍物的斥力势能;
根据所述斥力势能和目的地区域的引力势能,获得所述动作评价指标值;
其中,所述危险因子定义为:
t=d0-max(L,W)
t表示危险因子的值,d0表示所述机械臂与所述障碍物的距离,L、W分别表示所述障碍物的长度、宽度;
所述斥力势能定义为:
U′r表示斥力势能,η表示斥力因子,t*表示危险因子的最小值,t0表示预设危险阈值;
所述引力势能定义为:
所述动作评价指标值通过公式U=U′r+U′a获得。
作为其中一种改进,所述获取机械臂数据和障碍物数据,具体包括:
基于安装在所述机械臂的底座位置感应传感器,获得所述机械臂的位置坐标值;
基于安装在所述机械臂上的至少一个速度感应传感器,获得所述机械臂的当前移动速度值,基于安装在所述机械臂上的至少一个偏摆型角速度传感器,获得所述机械臂的当前横摆角速度值;
根据激光雷达获得所述障碍物的激光雷达点云数据,采用K-D树的欧式距离聚类方法,对所述激光雷达点云数据进行聚类处理,获得所述障碍物数据。
本发明实施例第二方面提供了一种机械臂自主运动规划装置,包括:
数据获取模块,用于获取机械臂数据和障碍物数据,所述机械臂数据包括机械臂的位置坐标值、当前移动速度值和当前横摆角速度值,所述障碍物数据包括障碍物的位置坐标值和尺寸数据;
动作评价指标值获取模块,用于根据所述机械臂数据和所述障碍物数据,采用人工势场算法获得动作评价指标值;
动作决策模块,用于将所述机械臂数据、所述障碍物数据和所述动作评价指标值作为状态值,输入至预设的决策模型,通过所述决策模型选择所述机械臂的移动动作、所述移动动作的连续速度值、横摆动作和所述横摆动作的连续角速度值;其中,所述决策模型采用基于正态分布的动作策略函数。
本发明实施例第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述的机械臂自主运动规划方法。
本发明实施例第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如第一方面任一项所述的机械臂自主运动规划方法。
相比于现有技术,本发明实施例的有益效果在于,本发明实施例提供的一种机械臂自主运动规划方法、装置、设备及存储介质,通过采用基于正态分布的动作策略函数作为决策模型的动作策略函数,并基于正态分布的动作策略函数对机械臂的动作进行决策,决策动作能从正态分布中对移动速度和横摆角速度进行采样,以输出具有连续移动速度值和连续摆动角速度值的动作,提高了机械臂在连续运动时的操作精确度,以使机械臂适用于复杂的实际环境。
附图说明
图1是本发明提供的一种机械臂自主运动规划方法的一个优选实施例的流程示意图;
图2是本发明提供的决策模型的一个优选实施例的网络架构示意图;
图3是本发明提供的一种机械臂自主运动规划装置的一个优选实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,是本发明提供的一种机械臂自主运动规划方法的一个优选实施例的流程示意图。
本发明实施例第一方面提供了一种机械臂自主运动规划方法,包括步骤S1至步骤S3,具体如下:
步骤S1:获取机械臂数据和障碍物数据,所述机械臂数据包括机械臂的位置坐标值、当前移动速度值和当前横摆角速度值,所述障碍物数据包括障碍物的位置坐标值和尺寸数据。
作为其中一种改进,所述获取机械臂数据和障碍物数据,具体包括:
基于安装在所述机械臂的底座位置感应传感器,获得所述机械臂的位置坐标值;
基于安装在所述机械臂上的至少一个速度感应传感器,获得所述机械臂的当前移动速度值,基于安装在所述机械臂上的至少一个偏摆型角速度传感器,获得所述机械臂的当前横摆角速度值;
根据激光雷达获得所述障碍物的激光雷达点云数据,采用K-D树的欧式距离聚类方法,对所述激光雷达点云数据进行聚类处理,获得所述障碍物数据。
具体地,为定义强化学习算法中的状态St,需要获取机械臂自身位置、速度和障碍物数据等多个数据。对工厂内以磁北方向设为y轴正方向,磁北偏东90°为x轴正方向,每隔一段距离放置一个路由器,放置距离以工厂的规模为准,规模越大,放置距离可适当缩短;通过路由器收集传感器发送的信息,借助无线传感网络,为机械臂提供其自身位置、速度和障碍物数据等多个数据。
本发明实施例在机械臂底座上放置一个位置感应传感器,借助由路由器构成的无线传感网络感知其在工厂里的所在位置坐标值(N,E,U),在机械臂上放置多个速度感应传感器和偏摆型角速度传感器,通过传感器得到机械臂移动的速度v和转过的横摆角速度ω。
进一步地,采用激光雷达作为障碍物的感知传感器,使用基于K-D树的欧式距离聚类方法,对激光雷达点云进行聚类处理后即可得到障碍物相对自身的位置坐标值(Xi,Yi,Zi)和包括长、宽、高信息的尺寸数据(Li,Wi,Hi)。
需要说明的是,强化学习是根据某一时刻状态St进行动作选择的,在本发明实施例的自主导航场景中,状态St中包含了位置坐标值(N,E,U),机械臂运动信息(ν,ω),障碍物信息(Xi,Yi,Zi,Li,Wi,Hi)。
步骤S2:根据所述机械臂数据和所述障碍物数据,采用人工势场算法获得动作评价指标值;
作为其中一种改进,所述根据所述机械臂数据和所述障碍物信息数据,采用人工势场算法获得动作评价指标值,具体包括:
根据所述机械臂数据和所述障碍物数据,获得危险因子;
根据所述危险因子和预设危险阈值,获得障碍物的斥力势能;
根据所述斥力势能和目的地区域的引力势能,获得所述动作评价指标值;
其中,所述危险因子定义为:
t=d0-max(L,W)
t表示危险因子的值,d0表示所述机械臂与所述障碍物的距离,L、W分别表示所述障碍物的长度、宽度;
所述斥力势能定义为:
U′r表示斥力势能,η表示斥力因子,t*表示危险因子的最小值,t0表示预设危阈值;
险所述引力势能定义为:
所述动作评价指标值通过公式U=U′r+U′a获得。
具体地,本发明实施例提出了一种改进的人工势场算法,以评价机械臂自身完成任务的情况,并将其作为作为决策模型进行强化学习的状态值。
人工势场算法作为机械臂的运动算法之一,其基本思想是障碍物对自身产生排斥力,目的地对自身产生吸引力,势能为引力斥力之和,通过这样的方法在环境中构建人工势场。传统的引力势能Ua和斥力势能Ur公式分别如下:
式子(1)中,Ua为引力势能,kp为引力因子,dg为自身与目的地的距离;式子(2)中,Ur为斥力势能,η为斥力因子,ρ为机械臂自身与最近障碍物间的距离,ρ0为机械臂自身与障碍物间的距离阈值。
然而传统人工势场的斥力势能取最近障碍物与自身的距离ρ,但很多时候距离远的障碍物可能因为其体积大更有碰撞风险,因此本文设计了一种危险因子t用于判断障碍物的危险程度,危险因子定义如下:
t=d0-max(L,W) (3)
式子(3)中,d0表示机械臂自身与障碍物的距离,L和W分别表示障碍物的长度和宽度。
计算各障碍物的危险因子并取其最小值t*,将斥力势能替换如下:
式子(4)中,t0为危险阈值。
除此之外,倘若机械手在复杂的环境下进行操作,即机械手运动的目的地并非某个点,而是一个区域,为更准确定义目的地区域的势能,将引力势能定义如下:
最终,取引力和斥力的势能和作为机械臂运动动作评价指标:
U=U′r+U′a (6)
需要说明的是,U值越大说明完成动作完成情况越差,U值越小说明动作完成情况越好。将该评价指标作为决策模型的状态值,方便模型进行动作决策设计。
步骤S3:将所述机械臂数据、所述障碍物数据和所述动作评价指标值作为状态值,输入至预设的决策模型,通过所述决策模型选择所述机械臂的移动动作、所述移动动作的连续速度值、横摆动作和所述横摆动作的连续角速度值;其中,所述决策模型采用基于正态分布的动作策略函数。
作为其中一种改进,所述动作策略函数具体为:
其中,s表示状态值,θ表示参数向量值,α表示学习率,σ(s,θ)表示带有参数向量值θ的策略分布方差,μ(s,θ)表示带有参数向量值θ的策略分布期望,π(x|s,θ)表示决策模型在状态值为s,参数向量值为θ时选取动作x的概率。
作为其中一种改进,所述通过所述决策模型选择所述机械臂的移动动作、所述移动动作的连续速度值、横摆动作和所述横摆动作的连续角速度值,具体包括:
采用tanh激活函数分别对所述机械臂的移动速度的正态分布期望、所述机械臂的横摆角速度的正态分布期望进行限制,分别获得速度策略分布期望、角速度策略分布期望;
根据所述移动速度的策略分布方差和所述速度策略分布期望,获得所述移动速度的正态分布和移动动作策略函数;
根据所述移动动作策略函数,选择所述机械臂的移动动作,所述移动动作根据所述移动速度的正态分布对所述移动速度进行采样,选择所述连续速度值;
根据所述横摆角速度的策略分布方差和所述角速度策略分布期望,获得所述横摆角速度的正态分布和横摆动作策略函数;
根据所述横摆动作策略函数,选择所述机械臂的横摆动作,所述横摆动作根据所述横摆角速度的正态分布对所述横摆角速度进行采样,获得所述连续角速度值。
作为其中一种改进,所述方法通过以下步骤预先获取所述决策模型:
获取多个时刻的机械臂数据和障碍物数据;
根据多个时刻的所述机械臂数据和所述障碍物数据,采用人工势场算法获得多个时刻的动作评价指标值;
将多个时刻的所述机械臂数据、所述障碍物数据和所述动作评价指标值作为状态值输入至PPO模型;
基于正态分布的动作策略函数,采用PPO算法对所述PPO模型进行训练,并获取所述决策模型。
需要说明的是,强化学习算法的基本思想是通过与环境交互来获取奖励,并以此进行自我学习。强化学习算法包含几个主要部分,分别为智能体、环境、状态、动作以及奖励。智能体若在t时刻处于状态St,可根据当前的策略函数π选择动作At,该动作会影响环境,并在下一时刻获得返回奖励Rt+1,与环境交互的轨迹序列可表示为:S0,A0,R1,S1,A1,R2,…,St,At,Rt+1。
其中,智能体训练的目的是最大化获取的回合奖励,即期望回报Gt,回报表示回合结束后的累计奖励加权值,Gt定义公式为:
式子(7)中,γ是值小于1的折扣因子。
为了评价某一个状态或者动作的好坏,引入状态价值函数Vπ(s)和动作价值函数Qπ(s,a),方程分别如下:
Vπ(s)=Eπ[Gt|St=s] (8)
Qπ(s,a)=Eπ[Gt|St=s,At=a] (9)
状态价值函数和动作价值函数反应了当前状态或动作可获取的回合平均期望回报值,因此可作为强化学***均期望回报值;Eπ[Gt|St=s,At=a]表示在状态St=s,模型选取动作At为a的概率的情况下,期望回报Gt的平均期望回报值。
进一步地,目前许多强化学习算法都基于Q值,模型参数用于更新动作价值函数Qπ(s,a),策略即选择最大的Qπ(s,a)。不同于基于Q值的强化学习算法,本发明实施例采用的PPO算法将模型参数定义在策略函数π(a|s,θ)中:
π(a|s,θt)=Pr{At=a|St=s,θt=θ} (10)
式子(10)中,Pr{At=a|St=s,θt=θ}表示在t时刻,状态St=s,参数向量θt=θ,该模型选取动作At为a的概率。
通过更新参数向量θt,可得到更优的策略函数,参数向量更新方程如下:
θt+1=θt+αδtπ(a|s,θt) (11)
式子(11)中,α为学习率,δt是根据训练过程中求解出来的基准值。
其参数向量更新的目的是使回报函数最大。回报函数定义如下:
式子(12)中,r(st)表示在st状态下的奖励值,求解所述奖励值的奖励函数如下:
式子(13)中,da表示机械臂到目的地中心的距离,表示可行驶区域阈值,c为碰撞检测因子,若发生碰撞则为1,不发生碰撞为0。当机械臂碰撞障碍物会得到负奖励,到达目的地会得到正奖励。除此之外,还定义了可行驶区域,超出该区域也会得到负奖励。
进一步地,在实际训练过程中,可能会由于设置的学习率α不合适导致决策模型表现越来越差。为解决此问题,PPO算法定义了优势函数Aπ(st,at):
Aπ(st,at)=Qπ(s,a)-Vπ(s) (14)
式(14)表示动作a所获得的回合奖励与动作平均可获得的回合奖励差值。若Aπ(st,at)>0,则说明动作a优于平均表现。
进一步地,为解决机械臂在运动过程中输出动作的连续性问题,本发明实施例在PPO算法的基础上,根据式(10)的PPO动作策略函数,利用正态分布函数将动作策略函数重新定义如下:
基于式(16)动作策略函数的定义,机械臂移动速度和横摆角速度将从正态分布中进行采样。相比于离散性采样,在正态分布中进行采样可以使输出动作数值连续,由此可解决输出动作连续性问题。且通过式(11)更新参数,可改变正态分布的期望和方差,从而改变动作的采样概率,使好的动作采样概率更高,坏的动作采样概率更低,进而得到更优的决策模型。
但考虑到机械臂的移动速度和角速度有上限值,若不对正态分布期望进行限制,大多采样动作会超出其上限值,这意味着许多采样动作将对模型的更新起不到作用,进而导致模型收敛速度慢。因此使用tanh激活函数对正态分布期望进行限制。由于tanh激活函数方程取值为(-1,1),将其乘以期望因子δμ可限制策略分布的期望,将策略分布期望定义如下:
μ(s,θ)=δμtanh(x) (17)
式子(17)中期望因子δμ取值为机械臂移动速度和横摆角速度的上限值。
参见图2,是本发明提供的决策模型的一个优选实施例的网络架构示意图。
作为其中一种改进,所述决策模型包括输入层201、全连接层202、选择网络203和评价网络204;
所述输入层201用于将状态空间序列(S1,S2,…,St)输入至所述全连接层202,St表示在时刻t的状态值;
所述全连接层202包括第一激活层301和第二激活层302;
其中,所述第一激活层301有256个节点,一个节点对应所述机械臂的一个移动动作或横摆动作,根据所述状态空间序列,所述第一激活层301选择所述机械臂的移动动作或横摆动作对应的评价函数,所述评价函数包括状态价值函数和动作价值函数;
所述第二激活层302用于根据所述状态空间序列,采用tanh激活函数分别对所述机械臂的移动速度的正态分布期望、所述机械臂的横摆角速度的正态分布期望进行限制,分别获得速度策略分布期望、角速度策略分布期望;
所述评价网络204用于根据所述状态空间序列对所述评价函数进行估计,并根据估计后的评价函数获得优势函数,根据所述优势函数获得回报值,根据所述回报值更新所述参数向量值;
所述选择网络203根据所述第二激活层302获得的所述速度策略分布期望和所述角速度策略分布期望,构造所述移动动作策略函数、所述移动速度的正态分布、所述横摆动作策略函数和所述角速度的正态分布,根据所述移动动作策略函数,选择所述机械臂的移动动作,所述移动动作根据所述移动速度的正态分布对所述移动速度进行采样,选择所述连续速度值,根据所述横摆动作策略函数,选择所述机械臂的横摆动作,所述横摆动作根据所述横摆角速度的正态分布对所述横摆角速度进行采样,获得所述连续角速度值。
具体地,根据式(16)动作策略函数的定义,本发明实施例提出了决策模型的网络框架如图2所示,包括输入层201、全连接层202、选择网络203和评价网络204。
输入层为状态空间序列(S1,S2,…,St),分别输入选择网络203和评价网络204的待激活层中。选择网络203和评价网络204的待激活层称为全连接层202,且第一层有256个节点,根据机械臂操作目的选取恰当的评价函数作为激活函数,当函数被运用,即被激活时,进入评价网络204;第二层有128个节点,激活函数为tanh,同理,当函数被激活时,进入选择网络203。
选择网络203用以选择策略分布π(x|s,θ)的期望μ(s,θ)和方差σ(s,θ),以构造机械臂移动速度v的正态分布和转过的横摆角速度ω的正态分布,决策动作将根据其分布函数进行采样。
评价网络204用于估计评价函数,根据式(14)和式(15)可知,该评价函数可计算出优势函数Aπ(st,at),进而得到回报函数的值,并参与选择网络策略分布的参数更新,逐步筛选出,在该机械臂运动场景中,机械臂应该选择怎样合适的移动速度v和横摆角速度ω,才能得到较高的回报函数
采用本发明实施例提供的一种机械臂自主运动规划方法,通过采用基于正态分布的动作策略函数作为决策模型的动作策略函数,并基于正态分布的动作策略函数对机械臂的动作进行决策,决策动作能从正态分布中对移动速度和横摆角速度进行采样,以输出具有连续移动速度值和连续摆动角速度值的动作,提高了机械臂在连续运动时的操作精确度,以使机械臂适用于复杂的实际环境。
本发明实施例第二方面提供了一种机械臂自主运动规划装置,包括:
数据获取模块401,用于获取机械臂数据和障碍物数据,所述机械臂数据包括机械臂的位置坐标值、当前移动速度值和当前横摆角速度值,所述障碍物数据包括障碍物的位置坐标值和尺寸数据;
动作评价指标值获取模块402,用于根据所述机械臂数据和所述障碍物数据,采用人工势场算法获得动作评价指标值;
动作决策模块403,用于将所述机械臂数据、所述障碍物数据和所述动作评价指标值作为状态值,输入至预设的决策模型,通过所述决策模型选择所述机械臂的移动动作、所述移动动作的连续速度值、横摆动作和所述横摆动作的连续角速度值;其中,所述决策模型采用基于正态分布的动作策略函数。
作为其中一种改进,所述动作策略函数具体为:
其中,s表示状态值,θ表示参数向量值,α表示学习率,σ(s,θ)表示带有参数向量值θ的策略分布方差,μ(s,θ)表示带有参数向量值θ的策略分布期望,π(x|s,θ)表示决策模型在状态值为s,参数向量值为θ时选取动作x的概率。
作为其中一种改进,所述动作决策模块403还用于:
采用tanh激活函数分别对所述机械臂的移动速度的正态分布期望、所述机械臂的横摆角速度的正态分布期望进行限制,分别获得速度策略分布期望、角速度策略分布期望;
根据所述移动速度的策略分布方差和所述速度策略分布期望,获得所述移动速度的正态分布和移动动作策略函数;
根据所述移动动作策略函数,选择所述机械臂的移动动作,所述移动动作根据所述移动速度的正态分布对所述移动速度进行采样,选择所述连续速度值;
根据所述横摆角速度的策略分布方差和所述角速度策略分布期望,获得所述横摆角速度的正态分布和横摆动作策略函数;
根据所述横摆动作策略函数,选择所述机械臂的横摆动作,所述横摆动作根据所述横摆角速度的正态分布对所述横摆角速度进行采样,获得所述连续角速度值。
作为其中一种改进,所述机械臂自主运动规划装置还包括决策模型获取模块404,用于:
获取多个时刻的机械臂数据和障碍物数据;
根据多个时刻的所述机械臂数据和所述障碍物数据,采用人工势场算法获得多个时刻的动作评价指标值;
将多个时刻的所述机械臂数据、所述障碍物数据和所述动作评价指标值作为状态值输入至PPO模型;
基于正态分布的动作策略函数,采用PPO算法对所述PPO模型进行训练,并获取所述决策模型。
作为其中一种改进,所述决策模型包括输入层201、全连接层202、选择网络203和评价网络204;
所述输入层201用于将状态空间序列(S1,S2,…,St)输入至所述全连接层202,St表示在时刻t的状态值;
所述全连接层202包括第一激活层301和第二激活层302;
其中,所述第一激活层301有256个节点,一个节点对应所述机械臂的一个移动动作或横摆动作,根据所述状态空间序列,所述第一激活层301选择所述机械臂的移动动作或横摆动作对应的评价函数,所述评价函数包括状态价值函数和动作价值函数;
所述第二激活层302用于根据所述状态空间序列,采用tanh激活函数分别对所述机械臂的移动速度的正态分布期望、所述机械臂的横摆角速度的正态分布期望进行限制,分别获得速度策略分布期望、角速度策略分布期望;
所述评价网络204用于根据所述状态空间序列对所述评价函数进行估计,并根据估计后的评价函数获得优势函数,根据所述优势函数获得回报值,根据所述回报值更新所述参数向量值;
所述选择网络203根据所述第二激活层302获得的所述速度策略分布期望和所述角速度策略分布期望,构造所述移动动作策略函数、所述移动速度的正态分布、所述横摆动作策略函数和所述角速度的正态分布,根据所述移动动作策略函数,选择所述机械臂的移动动作,所述移动动作根据所述移动速度的正态分布对所述移动速度进行采样,选择所述连续速度值,根据所述横摆动作策略函数,选择所述机械臂的横摆动作,所述横摆动作根据所述横摆角速度的正态分布对所述横摆角速度进行采样,获得所述连续角速度值。
作为其中一种改进,所述动作评价指标值获取模块402还用于:
根据所述机械臂数据和所述障碍物数据,获得危险因子;
根据所述危险因子和预设危险阈值,获得障碍物的斥力势能;
根据所述斥力势能和目的地区域的引力势能,获得所述动作评价指标值;
其中,所述危险因子定义为:
t=d0-max(L,W)
t表示危险因子的值,d0表示所述机械臂与所述障碍物的距离,L、W分别表示所述障碍物的长度、宽度;
所述斥力势能定义为:
U′r表示斥力势能,η表示斥力因子,t*表示危险因子的最小值,t0表示预设危险阈值;
所述引力势能定义为:
所述动作评价指标值通过公式U=U′r+U′a获得。
作为其中一种改进,所述数据获取模块401还用于:
基于安装在所述机械臂的底座位置感应传感器,获得所述机械臂的位置坐标值;
基于安装在所述机械臂上的至少一个速度感应传感器,获得所述机械臂的当前移动速度值,基于安装在所述机械臂上的至少一个偏摆型角速度传感器,获得所述机械臂的当前横摆角速度值;
根据激光雷达获得所述障碍物的激光雷达点云数据,采用K-D树的欧式距离聚类方法,对所述激光雷达点云数据进行聚类处理,获得所述障碍物数据。
需要说明的是,本发明实施例所提供的一种机械臂自主运动规划装置,能够实现上述任一实施例所述的机械臂自主运动规划方法的所有流程,装置中的各个模块的作用以及实现的技术效果分别与上述实施例所述的机械臂自主运动规划方法的作用以及实现的技术效果对应相同,这里不再赘述。
本发明实施例第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一实施例所述的机械臂自主运动规划方法。
所述终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器、存储器。所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本发明实施例第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如第一方面任一实施例所述的机械臂自主运动规划方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (10)
1.一种机械臂自主运动规划方法,其特征在于,包括:
获取机械臂数据和障碍物数据,所述机械臂数据包括机械臂的位置坐标值、当前移动速度值和当前横摆角速度值,所述障碍物数据包括障碍物的位置坐标值和尺寸数据;
根据所述机械臂数据和所述障碍物数据,采用人工势场算法获得动作评价指标值;
将所述机械臂数据、所述障碍物数据和所述动作评价指标值作为状态值,输入至预设的决策模型,通过所述决策模型选择所述机械臂的移动动作、所述移动动作的连续速度值、横摆动作和所述横摆动作的连续角速度值;其中,所述决策模型采用基于正态分布的动作策略函数。
3.如权利要求2所述的机械臂自主运动规划方法,其特征在于,所述通过所述决策模型选择所述机械臂的移动动作、所述移动动作的连续速度值、横摆动作和所述横摆动作的连续角速度值,具体包括:
采用tanh激活函数分别对所述机械臂的移动速度的正态分布期望、所述机械臂的横摆角速度的正态分布期望进行限制,分别获得速度策略分布期望、角速度策略分布期望;
根据所述移动速度的策略分布方差和所述速度策略分布期望,获得所述移动速度的正态分布和移动动作策略函数;
根据所述移动动作策略函数,选择所述机械臂的移动动作,所述移动动作根据所述移动速度的正态分布对所述移动速度进行采样,选择所述连续速度值;
根据所述横摆角速度的策略分布方差和所述角速度策略分布期望,获得所述横摆角速度的正态分布和横摆动作策略函数;
根据所述横摆动作策略函数,选择所述机械臂的横摆动作,所述横摆动作根据所述横摆角速度的正态分布对所述横摆角速度进行采样,获得所述连续角速度值。
4.如权利要求2所述的机械臂自主运动规划方法,其特征在于,所述方法通过以下步骤预先获取所述决策模型:
获取多个时刻的机械臂数据和障碍物数据;
根据多个时刻的所述机械臂数据和所述障碍物数据,采用人工势场算法获得多个时刻的动作评价指标值;
将多个时刻的所述机械臂数据、所述障碍物数据和所述动作评价指标值作为状态值输入至PPO模型;
基于正态分布的动作策略函数,采用PPO算法对所述PPO模型进行训练,并获取所述决策模型。
5.如权利要求3所述的机械臂自主运动规划方法,其特征在于,所述决策模型包括输入层、全连接层、选择网络和评价网络;
所述输入层用于将状态空间序列(S1,S2,…,St)输入至所述全连接层,St表示在时刻t的状态值;
所述全连接层包括第一激活层和第二激活层;
其中,所述第一激活层有256个节点,一个节点对应所述机械臂的一个移动动作或横摆动作,根据所述状态空间序列,所述第一激活层选择所述机械臂的移动动作或横摆动作对应的评价函数,所述评价函数包括状态价值函数和动作价值函数;
所述第二激活层用于根据所述状态空间序列,采用tanh激活函数分别对所述机械臂的移动速度的正态分布期望、所述机械臂的横摆角速度的正态分布期望进行限制,分别获得速度策略分布期望、角速度策略分布期望;
所述评价网络用于根据所述状态空间序列对所述评价函数进行估计,并根据估计后的评价函数获得优势函数,根据所述优势函数获得回报值,根据所述回报值更新所述参数向量值;
所述选择网络根据所述第二激活层获得的所述速度策略分布期望和所述角速度策略分布期望,构造所述移动动作策略函数、所述移动速度的正态分布、所述横摆动作策略函数和所述角速度的正态分布,根据所述移动动作策略函数,选择所述机械臂的移动动作,所述移动动作根据所述移动速度的正态分布对所述移动速度进行采样,选择所述连续速度值,根据所述横摆动作策略函数,选择所述机械臂的横摆动作,所述横摆动作根据所述横摆角速度的正态分布对所述横摆角速度进行采样,获得所述连续角速度值。
6.如权利要求1所述的机械臂自主运动规划方法,其特征在于,所述根据所述机械臂数据和所述障碍物信息数据,采用人工势场算法获得动作评价指标值,具体包括:
根据所述机械臂数据和所述障碍物数据,获得危险因子;
根据所述危险因子和预设危险阈值,获得障碍物的斥力势能;
根据所述斥力势能和目的地区域的引力势能,获得所述动作评价指标值;
其中,所述危险因子定义为:
t=d0-max(L,W)
t表示危险因子的值,d0表示所述机械臂与所述障碍物的距离,L、W分别表示所述障碍物的长度、宽度;
所述斥力势能定义为:
U′r表示斥力势能,η表示斥力因子,t*表示危险因子的最小值,t0表示预设危险阈值;
所述引力势能定义为:
所述动作评价指标值通过公式U=U′r+U′a获得。
7.如权利要求1所述的机械臂自主运动规划方法,其特征在于,所述获取机械臂数据和障碍物数据,具体包括:
基于安装在所述机械臂的底座位置感应传感器,获得所述机械臂的位置坐标值;
基于安装在所述机械臂上的至少一个速度感应传感器,获得所述机械臂的当前移动速度值,基于安装在所述机械臂上的至少一个偏摆型角速度传感器,获得所述机械臂的当前横摆角速度值;
根据激光雷达获得所述障碍物的激光雷达点云数据,采用K-D树的欧式距离聚类方法,对所述激光雷达点云数据进行聚类处理,获得所述障碍物数据。
8.一种机械臂自主运动规划装置,其特征在于,包括:
数据获取模块,用于获取机械臂数据和障碍物数据,所述机械臂数据包括机械臂的位置坐标值、当前移动速度值和当前横摆角速度值,所述障碍物数据包括障碍物的位置坐标值和尺寸数据;
动作评价指标值获取模块,用于根据所述机械臂数据和所述障碍物数据,采用人工势场算法获得动作评价指标值;
动作决策模块,用于将所述机械臂数据、所述障碍物数据和所述动作评价指标值作为状态值,输入至预设的决策模型,通过所述决策模型选择所述机械臂的移动动作、所述移动动作的连续速度值、横摆动作和所述横摆动作的连续角速度值;其中,所述决策模型采用基于正态分布的动作策略函数。
9.一种终端设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的机械臂自主运动规划方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至7任一项所述的机械臂自主运动规划方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111143685.1A CN113910221B (zh) | 2021-09-28 | 2021-09-28 | 一种机械臂自主运动规划方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111143685.1A CN113910221B (zh) | 2021-09-28 | 2021-09-28 | 一种机械臂自主运动规划方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113910221A true CN113910221A (zh) | 2022-01-11 |
CN113910221B CN113910221B (zh) | 2023-01-17 |
Family
ID=79236646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111143685.1A Active CN113910221B (zh) | 2021-09-28 | 2021-09-28 | 一种机械臂自主运动规划方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113910221B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114667852A (zh) * | 2022-03-14 | 2022-06-28 | 广西大学 | 一种基于深度强化学习的绿篱修剪机器人智能协同控制方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008242859A (ja) * | 2007-03-27 | 2008-10-09 | Sony Corp | 物体の運動制御装置及び運動制御方法、並びにコンピュータ・プログラム |
CN109960880A (zh) * | 2019-03-26 | 2019-07-02 | 上海交通大学 | 一种基于机器学习的工业机器人避障路径规划方法 |
CN110632931A (zh) * | 2019-10-09 | 2019-12-31 | 哈尔滨工程大学 | 动态环境下基于深度强化学习的移动机器人避碰规划方法 |
CN110794842A (zh) * | 2019-11-15 | 2020-02-14 | 北京邮电大学 | 基于势场的强化学习路径规划算法 |
CN111645065A (zh) * | 2020-03-25 | 2020-09-11 | 南京大学 | 一种基于深度强化学习的机械臂运动规划方法 |
-
2021
- 2021-09-28 CN CN202111143685.1A patent/CN113910221B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008242859A (ja) * | 2007-03-27 | 2008-10-09 | Sony Corp | 物体の運動制御装置及び運動制御方法、並びにコンピュータ・プログラム |
CN109960880A (zh) * | 2019-03-26 | 2019-07-02 | 上海交通大学 | 一种基于机器学习的工业机器人避障路径规划方法 |
CN110632931A (zh) * | 2019-10-09 | 2019-12-31 | 哈尔滨工程大学 | 动态环境下基于深度强化学习的移动机器人避碰规划方法 |
CN110794842A (zh) * | 2019-11-15 | 2020-02-14 | 北京邮电大学 | 基于势场的强化学习路径规划算法 |
CN111645065A (zh) * | 2020-03-25 | 2020-09-11 | 南京大学 | 一种基于深度强化学习的机械臂运动规划方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114667852A (zh) * | 2022-03-14 | 2022-06-28 | 广西大学 | 一种基于深度强化学习的绿篱修剪机器人智能协同控制方法 |
CN114667852B (zh) * | 2022-03-14 | 2023-04-14 | 广西大学 | 一种基于深度强化学习的绿篱修剪机器人智能协同控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113910221B (zh) | 2023-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Haarnoja et al. | Reinforcement learning with deep energy-based policies | |
Siekmann et al. | Learning memory-based control for human-scale bipedal locomotion | |
CN112937564B (zh) | 换道决策模型生成方法和无人车换道决策方法及装置 | |
CN110520868B (zh) | 用于分布式强化学习的方法、程序产品和存储介质 | |
Pineau et al. | Policy-contingent abstraction for robust robot control | |
US20210158162A1 (en) | Training reinforcement learning agents to learn farsighted behaviors by predicting in latent space | |
CN102708377B (zh) | 虚拟人组合任务规划方法 | |
KR102303126B1 (ko) | 사용자 선호에 따른 강화학습 기반 자율주행 최적화 방법 및 시스템 | |
Datta et al. | Integrating egocentric localization for more realistic point-goal navigation agents | |
CN107967513B (zh) | 多机器人强化学习协同搜索方法及*** | |
JP7448683B2 (ja) | マルチタスク強化学習におけるメタ勾配を用いたアクション選択のための学習オプション | |
Bakker et al. | Quasi-online reinforcement learning for robots | |
WO2022205844A1 (zh) | 机器人正运动学求解方法、装置、可读存储介质及机器人 | |
CN111830822A (zh) | 配置与环境交互的*** | |
EP4014162A1 (en) | Controlling agents using causally correct environment models | |
CN113910221B (zh) | 一种机械臂自主运动规划方法、装置、设备及存储介质 | |
CN115860107A (zh) | 一种基于多智能体深度强化学习的多机探寻方法及*** | |
CN115265547A (zh) | 一种未知环境下基于强化学习的机器人主动导航方法 | |
CN118201742A (zh) | 使用图神经网络的多机器人协调 | |
CN114529010A (zh) | 一种机器人自主学习方法、装置、设备及存储介质 | |
Riccio et al. | LoOP: Iterative learning for optimistic planning on robots | |
Palunko et al. | Learning near‐optimal broadcasting intervals in decentralized multi‐agent systems using online least‐square policy iteration | |
CN115542901A (zh) | 基于近端策略训练的可变形机器人避障方法 | |
JP2024522051A (ja) | 重み付けされたポリシー投影を使用した多目的強化学習 | |
KR20230151736A (ko) | 다종 작업을 수행하는 모바일 로봇의 강화학습 기반 이동경로 선택 방법 및 시스템 |
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 |