掌桥专利:专业的专利平台
掌桥专利
首页

一种冗余机器人自碰撞规避控制方法

文献发布时间:2024-04-18 19:58:26


一种冗余机器人自碰撞规避控制方法

技术领域

本发明涉及机器人控制规划技术领域,更具体地,涉及一种冗余机器人自碰撞规避控制方法。

背景技术

机器人在工业生产中被广泛应用,可以代替人类完成重复性、危险性、高精度的生产工作,提高生产效率和质量。机器人的运动规划是机器人控制中的重要环节,其目标是规划出一条从起点到终点的安全、高效、平滑的轨迹。然而,由于机器人的自身结构和工作环境的复杂性,机器人在运动过程中可能会发生自碰撞,即身体的两个部位发生碰撞,这些碰撞可能会导致规划目标不能完成,甚至使机器人失去平衡或控制,对机器人和工作环境产生损坏。因此,自碰撞规避是机器人运动规划中必须考虑的问题之一。

然而,现有的自碰撞规避控制方法由于关节多自由度高而产生的高维度配置空间需要花费大量的计算时间,不适用于实时的运动规划,特别是对于冗余机器人而言,冗余机器人的额外自由度使相同的末端执行器姿势可以对应无限数量的反向运动学(IK)解,导致难以确定适当的IK解来避免自我碰撞,且满足自碰避免的约束十分复杂。

发明内容

本发明为克服上述现有技术所述的额外自由度使得相同的末端执行器姿势可以对应无限数量的反向运动学解,导致难以避免自我碰撞的缺陷,提供一种冗余机器人自碰撞规避控制方法。

为解决上述技术问题,本发明的技术方案如下:

第一方面,一种冗余机器人自碰撞规避控制方法,包括:

基于伪逆方法,建立用于控制冗余机器人的关节速度的伪逆求解器,并引入干扰项;

建立强化学习求解器并进行训练;

响应于训练完成的所述强化学习求解器输出的干扰项,所述伪逆求解器生成反向运动学解;

根据所述反向运动学解控制冗余机器人的关节速度,调整所述冗余机器人的末端执行器至目标点。

第二方面,一种计算机可读存储介质,所述存储介质上存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行,以实现第一方面所述方法。

与现有技术相比,本发明技术方案的有益效果是:

本发明公开了一种冗余机器人自碰撞规避控制方法及存储介质,所述方法关注的是直接操作末端执行器的场景,引入了强化学习求解器,通过强化学习求解器输出干扰项以对伪逆求解器施加干扰而非直接控制机器人,由伪逆求解器将干扰合并到解析过程以获得反向运动学解,以避免机器人自碰撞问题。相较于现有技术,本发明能够引导冗余机器人达到更多目标,同时保持机器人平稳性,适用于三维空间,有效避免了额外自由度使得相同的末端执行器姿势可以对应无限数量的反向运动学解、难以寻找到合适解的缺陷。

附图说明

图1为本发明实施例1中冗余机器人自碰撞规避控制方法的流程示意图;

图2为本发明实施例1中强化学习求解器的迭代训练过程示意图;

图3为本发明实施例1中强化学习求解器中的神经网络架构示意图;

图4为本发明实施例2中不同强化学习方法下冗余机器人关节的平均加速度对比图;

图5为本发明实施例2中采用改进的缓冲区前后的训练效果对比图。

具体实施方式

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。

附图仅用于示例性说明,不能理解为对本专利的限制;

为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;

对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

下面结合附图和实施例对本发明的技术方案做进一步的说明。

实施例1

本实施例提出了一种冗余机器人自碰撞规避控制方法,参阅图 1,包括:

基于伪逆方法,建立用于控制冗余机器人的关节速度的伪逆求解器(Pseudo-Inverse-solver),并引入干扰项;

建立强化学习求解器并进行训练;

响应于训练完成的所述强化学习求解器(RL-Solver)输出的干扰项,所述伪逆求解器生成反向运动学解;

根据所述反向运动学解控制冗余机器人的关节速度,调整所述冗余机器人的末端执行器至目标点。

该实施例中,引入了基于强化学习方法的强化学习求解器,强化学习求解器并不直接控制冗余机器人,而是对伪逆求解器施加干扰,以此避免机器人自碰,与数值解相比,本实施例能够引导冗余机器人达到更多目标,同时保持机器人平稳性,适用于三维空间,得到的IK解与冗余机器人的机械特性保持一致,即关节变量有界,保证运动的平滑性和连续性,能够在变化的环境中运转。

需要说明的是,在自碰撞避免的情况下,现有技术中碰撞样本难以采集,通过强化学习直接控制冗余机器人关节会导致难以获得成功的训练结果,难以获得冗余机器人的闭合形式解。

此外,相较于现有技术关注固定或规则运动的外部碰撞,仅考虑了末端执行器自由移动的场景,而实际应用中机器人的手臂连杆是不规则运动的,本实施例关注的是直接控制末端执行器的场景,这要求对应的控制方法只能在零空间找到合适的姿态来避免自碰撞。

在一优选实施例中,所述基于伪逆方法,建立用于控制冗余机器人的关节速度的伪逆求解器,包括:

定义冗余机器人末端执行器的期望速度为六维向量

基于伪逆方法,将关节速度

这样无法满足自碰撞避免的需求,因此,引入一个与

根据拉格朗日乘子法,有:

定义

本领域技术人员应当理解,

证明了干扰下的关节速度

在一优选实施例中,所述建立强化学习求解器并进行训练,包括:

基于Actor-Critic神经网络架构构建强化学习求解器,用于输出干扰项;

给定环境(Environment)的观测空间

式中,

式中,

设置每一步的奖励函数

采用TD3(Twin Delayed Deep Deterministic Policy Gradient,双延时确定策略梯度)算法对智能代理进行迭代训练,参阅图 2,输出干扰量

在一可选实施例中,所述对TD3算法的回放缓冲区引入经验样本调整机制,包括:

引入一个epoch buffer(轮次缓冲区),缓存每个周期的

在每个周期结束后,基于周期结束奖励

在一些示例中,当满足以下至少之一时,视为周期结束:

(1)所述冗余机器人发生自碰撞;

(2)步数达到单个epoch(轮次)的预设上限;

(3)所述末端执行器发生外部碰撞(即碰到其他目标)。

进一步地,所述周期结束奖励

式中,

所述基于周期结束奖励

对第

式中,

本领域技术人员应当理解,一个完整周期的经验样本包含了连续动作和状态之间相关信息,将这些样本一起添加到回放缓冲区可以提高样本之间的相关性,基于改进的缓冲区策略,使得强化学习算法可以更好地利用在一个完整周期内收集到的经验,从而加快训练的收敛速度,并提高训练的稳定性。

在一些示例中,所述衰减因子

进一步地,所述方法还包括,对回放缓冲区引入动态平衡机制,具体为:

在每个周期结束时,返回一个info值表示末端执行器的执行结果;其中,所述info(消息)值为“真”(1)时表示对应周期末端执行器成功到达目标点,所述info值为“假”(0)时表示对应周期末端执行器未成功到达目标点;

定义

当所述info值满足以下至少之一时,将epoch buffer中的经验样本放入所述回放缓冲区:

(1)所述info值为“真”且

(2)所述info值为“假”且

需要说明的是,该动态平衡机制能确保回放缓冲区中来自成功周期和失败周期的样本数目大致相等,能避免因样本数不平衡导致训练过程出现收敛困难的问题,能够解决训练过程中奖励/惩罚稀疏的问题,让智能体更快学习到合适的策略。

在一可选实施例中,所述奖励函数包括平移部分奖励

其中,

式中,

本领域技术人员应当理解,若定义末端执行器当前速度向量与目标方向向量间的夹角为

在一些示例中,

在一可选实施例中,参阅图 3,所述强化学习求解器包括两个独立的Critic(评价)网络和一个Actor(动作)网络;

其中,所述Actor网络根据当前状态信息输入,输出Q值最大的干扰项

需要说明的是,每个Critic网络生成1个Q值,比较数值大小,取其中较小的Q值作为返回值用于更新Critic网络,以此抵消估值过大的问题。

进一步地,每个所述Critic网络各有两个完全连接的隐藏层,其输入层的维度是观测空间

在一些示例中,所述Critic网络中,每个隐藏层有128个PReLU单元。

在一些示例中,所述Actor网络中,每个隐藏层有128个PReLU单元。

实施例2

本实施例应用实施例1提出的方法,以说明其产生的冗余机器人的机械臂运动具备稳定性和平滑性。

首先,基于伪逆方法,建立用于控制冗余机器人的关节速度的伪逆求解器,并引入干扰项;

然后,基于Actor-Critic神经网络架构建立强化学习求解器,并采用TD3算法进行训练,在训练过程中对TD3算法的回放缓冲区引入经验样本调整机制和动态平衡机制;

随后,响应于训练完成的所述强化学习求解器输出的干扰项,所述伪逆求解器生成反向运动学解;

最后,根据所述反向运动学解控制冗余机器人的关节速度,调整所述冗余机器人的末端执行器至目标点。

相较于采用SAC(Soft Actor-Critic,柔性动作-评价)、PI(Pseudo-Inverse,伪逆)、DLS(Damped Least Squares,阻尼最小二乘)和TJ(Transpose Jacobian,转置雅可比)方法进行自碰撞规避控制,根据上述步骤,本实施例提出的方法在加速度方面表现较好,产生的运动更加稳定平滑,参阅图 4所示的平均加速度(Average Acceleration)对比。

此外,图 5展示了采用改进的缓冲区前后的神经网络训练情况,包括Critic网络的收敛曲线、Actor网络的收敛曲线以及奖励(Reward)情况。可以看到:

(1)对于Critic的收敛曲线,可见改进过的缓冲区使算法收敛更快,智能体通过学习过程中更准确地预测了执行特定动作在不同状态下的价值,从而对环境有了更好的理解和预测能力;

(2)对于Actor的收敛曲线,改进过的缓冲区提高了收敛的平滑度;

(3)由于对环境估算的准确性提升,智能体在每个步骤获得更高的奖励且波动性较低,使得学习过程更加可靠高效。

可以理解,上述实施例1中的可选项同样适用于本实施例,故在此不再重复描述。

实施例3

本实施例提出一种计算机可读存储介质,所述存储介质上存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行,以实现实施例1所述方法的全部或部分步骤。

可以理解,所述存储介质可以是瞬时性的,也可以是非瞬时性的。示范性地,所述存储介质包括但不限于U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机访问存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

在一些示例中提供一种计算机程序产品,具体可以通过硬件、软件或其结合的方式实现。作为非限制性示例,所述计算机程序产品可以体现为所述存储介质,还可以体现为软件产品,例如SDK(Software Development Kit,软件开发包)等。

在一些示例中提供一种计算机程序,包括计算机可读代码,在所述计算机可读代码在计算机设备中运行的情况下,所述计算机设备中的处理器执行用于实现所述方法中的部分或全部步骤。

本实施例还提出一种电子设备,包括存储器和处理器,所述存储器存储有至少一条指令、至少一段程序、代码集或指令集,所述处理器执行所述至少一条指令、至少一段程序、代码集或指令集时实现如实施例1中所述方法的部分或全部步骤。

示范性地,所述处理器可以为中央处理器(Central ProcessingUnit,CPU)、微处理器(Microprocessor Unit,MPU)、数字信号处理器(Digital SignalProcessor,DSP)或现场可编程门阵列(Field Programmable Gate Array,FPGA)等。

在一些示例中提供一种所述电子设备的硬件实体,包括:处理器、存储器和通信接口;

其中,所述处理器通常控制所述电子设备的总体操作;

所述通信接口用于使所述电子设备通过网络与其他终端或服务器通信;

所述存储器配置为存储由处理器可执行的指令和应用,还可以缓存待处理器以及电子设备中各模块待处理或已经处理的数据(包括但不限于图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(RAM,Random AccessMemory)实现。

进一步地,处理器、通信接口和存储器之间可以通过总线进行数据传输,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。

可以理解,上述实施例1中的可选项同样适用于本实施例,故在此不再重复描述。

附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制;

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。应理解,在本公开的各种实施例中,上述各步骤/过程的序号的大小并不意味着执行顺序的先后,各步骤/过程的执行顺序应以其功能和内在逻辑确定,而不应对实施例的实施过程构成任何限定。还应理解,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

相关技术
  • 一种协同机器人的相互碰撞规避方法
  • 一种协同机器人的相互碰撞规避方法
技术分类

06120116492492