【技术实现步骤摘要】
【国外来华专利技术】用于机器人运动规划的碰撞检测
本公开内容总体涉及机器人运动规划,并且具体地,涉及经由处理器电路执行碰撞检测以产生运动规划从而驱动机器人等的系统和方法。
技术介绍
相关技术的描述运动规划是机器人控制和机器人技术中的基本问题。运动计划完全指定机器人从起始状态到目标状态能够遵循但通常不与操作环境中的任何障碍物碰撞或者与操作环境中的任何障碍物碰撞的可能性降低的路径。对运动规划的挑战涉及即使在环境的特性改变时也能够以非常快的速度执行运动规划。例如,诸如环境中的一个或更多个障碍物的位置或形状的特性可能随时间而改变。又例如,诸如机器人自身的一部分的位置或形状的特性可能随着时间而改变,例如臂工具的端部或端部执行器能够具有抓握配置和未抓握配置。挑战还包括使用相对低成本的设备、以相对低的能量消耗和有限的存储量(例如存储器电路,诸如在处理器芯片电路上的存储器电路)来执行运动规划。
技术实现思路
使用各种各样的算法来解决运动规划问题。这些算法中的每一个通常需要能够确定机器人的给定姿势或从一个姿势到另一个姿势的运动是否导致与机器人自身或与环境中的障碍物的碰撞。本文描述的碰撞检测硬件、软件和/或固件能够确定或计算单个机器人姿势或从一个姿势(例如开始姿势)到另一个姿势(例如结束姿势)的机器人运动是否导致机器人与其自身或与机器人操作的当前环境中的任何障碍物碰撞。环境可以包括障碍物,即呈现碰撞风险的物体(例如无生命物体、包括人和其他动物的有生命的物体)。环境可以包括或者可以不包括一个或更多个目标物体,即机器人要与之 ...
【技术保护点】
1.一种用于机器人运动规划的基于处理器的系统的至少一个部件的操作的方法,所述方法包括:/n对于机器人的至少第一数量的姿势中的每一个,通过至少一组电路至少部分地基于所述机器人的数据结构表示来确定所述机器人的任何部分是否将与所述机器人的另一部分碰撞;/n对于所述机器人的至少第二数量的姿势中的每一个,通过至少一组电路至少部分地基于环境中的一组持久障碍物的数据结构表示来确定所述机器人的任何部分是否将与所述机器人在其中操作的环境中的任何持久障碍物碰撞,所述数据结构表示包括第一数量的障碍物的表示,对于所述第一数量的障碍物,在所述环境中由所述第一数量的障碍物中的每一个占据的相应体积在配置时间是已知的;/n对于所述机器人的至少第三数量的姿势中的每一个,通过至少一组电路至少部分地基于所述环境中的一组瞬时障碍物的数据结构表示来确定所述机器人的任何部分是否将与所述环境中的任何瞬时障碍物碰撞,所述数据结构表示包括所述环境中存在时第二数量的障碍物的表示,对于所述第二数量的障碍物,在所述环境中由所述第二数量的障碍物中的每一个占据的相应体积在运行时间的至少部分期间是已知的,并且对于所述第二数量的障碍物,在所述环境中 ...
【技术特征摘要】
【国外来华专利技术】20180823 US 62/722,0671.一种用于机器人运动规划的基于处理器的系统的至少一个部件的操作的方法,所述方法包括:
对于机器人的至少第一数量的姿势中的每一个,通过至少一组电路至少部分地基于所述机器人的数据结构表示来确定所述机器人的任何部分是否将与所述机器人的另一部分碰撞;
对于所述机器人的至少第二数量的姿势中的每一个,通过至少一组电路至少部分地基于环境中的一组持久障碍物的数据结构表示来确定所述机器人的任何部分是否将与所述机器人在其中操作的环境中的任何持久障碍物碰撞,所述数据结构表示包括第一数量的障碍物的表示,对于所述第一数量的障碍物,在所述环境中由所述第一数量的障碍物中的每一个占据的相应体积在配置时间是已知的;
对于所述机器人的至少第三数量的姿势中的每一个,通过至少一组电路至少部分地基于所述环境中的一组瞬时障碍物的数据结构表示来确定所述机器人的任何部分是否将与所述环境中的任何瞬时障碍物碰撞,所述数据结构表示包括所述环境中存在时第二数量的障碍物的表示,对于所述第二数量的障碍物,在所述环境中由所述第二数量的障碍物中的每一个占据的相应体积在运行时间的至少部分期间是已知的,并且对于所述第二数量的障碍物,在所述环境中由所述障碍物中的每一个占据的相应体积在所述配置时间是未知的;以及
提供表示是否已经针对所述姿势中的至少一个检测到碰撞的信号。
2.根据权利要求1所述的方法,其中,至少部分地基于所述机器人的数据结构表示来确定所述机器人的任何部分是否将与所述机器人的另一部分碰撞包括确定在第一姿势中,机器人附肢的至少一部分是否将与所述机器人附肢的另一部分碰撞。
3.根据权利要求1所述的方法,其中,至少部分地基于所述机器人的数据结构表示来确定所述机器人的任何部分是否将与所述机器人的另一部分碰撞包括确定在第一姿势与第二姿势之间移动时,机器人附肢的至少一部分是否将与所述机器人附肢的另一部分碰撞。
4.根据权利要求1所述的方法,其中,至少部分地基于所述环境中的一组持久障碍物的数据结构表示来确定所述机器人的任何部分是否将与所述机器人在其中操作的环境中的任何持久障碍物碰撞包括确定在第一姿势中,机器人附肢的至少一部分是否将与所述环境中的任何持久障碍物碰撞。
5.根据权利要求1所述的方法,其中,至少部分地基于所述环境中的一组持久障碍物的数据结构表示来确定所述机器人的任何部分是否将与所述机器人在其中操作的环境中的任何持久障碍物碰撞包括确定在第一姿势与第二姿势之间移动时,机器人附肢的至少一部分是否将与所述环境中的任何持久障碍物碰撞。
6.根据权利要求1所述的方法,其中,至少部分地基于所述环境中的一组瞬时障碍物的数据结构表示来确定所述机器人的任何部分是否将与所述机器人在其中操作的环境中的任何瞬时障碍物碰撞包括确定在第一姿势中,机器人附肢的至少一部分是否将与所述环境中的任何瞬时障碍物碰撞。
7.根据权利要求1所述的方法,其中,至少部分地基于所述环境中的一组瞬时障碍物的数据结构表示来确定所述机器人的任何部分是否将与所述机器人在其中操作的环境中的任何瞬时障碍物碰撞包括确定在第一姿势与第二姿势之间移动时,机器人附肢的至少一部分是否将与所述环境中的任何瞬时障碍物碰撞。
8.根据权利要求1所述的方法,还包括:
在配置时间期间,
对于由运动学模型表示的机器人,生成所述机器人的数据结构表示;以及
对于所述环境,生成所述环境中的一组持久障碍物的数据结构表示,所述数据结构表示包括第一数量的障碍物的表示,对于所述第一数量的障碍物,在所述环境中由所述第一数量的障碍物中的每一个占据的相应体积在配置时间是已知的。
9.根据权利要求8所述的方法,其中,生成所述环境中的一组持久障碍物的数据结构表示包括生成包围体的分层结构。
10.根据权利要求9所述的方法,其中,生成包围体的分层结构包括生成以三角形网格作为叶节点的包围盒的分层结构。
11.根据权利要求9所述的方法,其中,生成包围体的分层结构包括生成球体的分层结构。
12.根据权利要求9所述的方法,其中,生成包围体的分层结构包括生成k叉球体树。
13.根据权利要求9所述的方法,其中,生成包围体的分层结构包括生成轴对齐的包围盒的分层结构。
14.根据权利要求9所述的方法,其中,生成包围体的分层结构包括生成有向包围盒的分层结构。
15.根据权利要求8所述的方法,其中,生成所述环境中的一组持久障碍物的数据结构表示包括生成八叉树,所述八叉树存储表示所述环境中的一组持久障碍物的体素占用信息。
16.根据权利要求8所述的方法,其中,生成所述机器人的数据结构表示包括生成k叉树。
17.根据权利要求8所述的方法,其中,生成所述机器人的数据结构表示包括针对所述机器人的多个连杆中的每一个生成相应的k叉树。
18.根据权利要求8所述的方法,其中,生成所述机器人的数据结构表示包括针对所述机器人的多个连杆中的每一个生成相应的8叉树。
19.根据权利要求8所述的方法,其中,生成所述机器人的数据结构表示包括针对所述机器人的多个连杆中的每一个生成树深度等于或大于四的相应8叉树。
20.根据权利要求8所述的方法,其中,生成所述机器人的数据结构表示包括针对所述机器人的多个连杆中的每一个生成相应的k叉树,其中,所述k叉树的每个节点是球体,如果球体的任何部分被占用,则相应球体被识别为被占用。
21.根据权利要求1所述的方法,还包括:
在所述运行时间期间,
对于所述环境,生成所述环境中的一组瞬时障碍物的数据结构表示,所述数据结构表示包括存在时所述瞬时障碍物的表示,对于所述瞬时障碍物,在所述环境中由所述第二数量的障碍物中的每一个占据的相应体积在所述运行时间的至少部分期间是已知的,并且对于所述瞬时障碍物,在所述环境中由所述障碍物中的每一个占据的相应体积在所述配置时间是未知的,以及
其中,确定所述机器人的任何部分是否将与所述机器人的另一部分碰撞、确定所述机器人的任何部分是否将与环境中的任何持久障碍物碰撞以及确定所述机器人的任何部分是否将与所述环境中的任何瞬时障碍物碰撞全部在所述运行时间期间进行。
22.根据权利要求21所述的方法,还包括:
接收表示所述环境中存在时瞬时障碍物的传感器信息;以及
将所述传感器信息转换成占用信息,并且其中:
生成所述环境中的一组瞬时障碍物的数据结构表示包括根据所述占用信息生成所述环境中的一组瞬时障碍物的数据结构表示。
23.根据权利要求1所述的方法,还包括:
接收运动学模型,所述运动学模型表示具有多个连杆和多个关节的机器人附肢形式的机器人,所述关节在相应的连杆对之间;
接收表示所述环境中的一组持久障碍物的相应位置的占用信息;以及
接收表示要在运动规划中采用的运动细分粒度的至少一个值。
24.根据权利要求23所述的方法,其中,接收所述运动学模型、接收所述占用信息和接收表示运动细分粒度的至少一个值全部在所述配置时间期间进行,并且所述方法还包括:
在所述配置时间期间,基于所述机器人的运动学模型生成所述机器人的数据结构表示;以及
在所述配置时间期间,生成所述环境中的一组持久障碍物的数据结构表示,所述数据结构表示包括所述第一数量的障碍物的表示,对于所述第一数量的障碍物,在所述配置时间,在所述环境中由所述第一数量的障碍物中的每一个占据的相应体积。
25.根据权利要求24所述的方法,还包括:
在所述运行时间期间生成所述环境中的一组瞬时障碍物的数据结构表示,所述数据结构表示包括存在时所述瞬时障碍物的表示,对于所述瞬时障碍物,在所述运行时间的至少部分期间,在所述环境中由所述第二数量的障碍物中的每一个占据的相应体积是已知的,并且对于所述瞬时障碍物,在所述配置时间,在所述环境中由所述障碍物中的每一个占据的相应体积是未知的。
26.根据权利要求1所述的方法,其中,所述机器人包括机器人附肢,并且所述方法还包括:
针对所述机器人附肢在所述机器人附肢的第一姿势与所述机器人附肢的第二姿势之间的运动,计算所述机器人附肢的多个中间姿势,直到C空间中多对连续相邻姿势之间的尺寸满足针对所述运动细分粒度所接收的值为止,所述多个中间姿势在所述机器人附肢的C空间中在所述机器人附肢的第一姿势与第二姿势之间。
27.根据权利要求26所述的方法,其中,计算所述机器人附肢的多个中间姿势包括:
对于所述机器人附肢的关节中的每一个,在所述第一姿势与所述第二姿势中的关节的相应位置和方向之间进行插值以获得第n个中间姿势;以及
对于所述机器人附肢的关节中的每一个,在相应的第i次迭代的相应对最近相邻姿势中的关节的相应位置和方向之间迭代地插值,直到达到结束条件。
28.根据权利要求27所述的方法,其中,所述结束条件是满足运动细分粒度以获得第n个中间姿势的连续相邻姿势之间的距离,并且所述方法还包括:
对于迭代的次数,确定是否已经达到所述结束条件。
29.根据权利要求26所述的方法,还包括:
对于多个姿势中的每一个,对运动学机器人模型执行正向运动学计算以计算机器人附肢的每个连杆的多个变换。
30.根据权利要求1至29中任一项所述的方法,其中,以下中的至少一个包括基于分层表示或欧几里得距离场表示中的至少一个的确定:确定所述机器人的任何部分是否将与所述机器人的另一部分碰撞、确定所述机器人的任何部分是否将与任何持久障碍物碰撞、或者确定所述机器人的任何部分是否将与任何瞬时障碍物碰撞。
31.一种生成用于机器人运动规划的碰撞评估的系统,所述系统包括:
至少一个处理器;
至少一种非暂时性处理器可读介质,其存储处理器可执行指令或数据中的至少一者,所述处理器可执行指令或数据在由所述至少一个处理器执行时,使得所述至少一个处理器:
对于机器人的至少第一数量的姿势中的每一个,至少部分地基于所述机器人的数据结构表示来确定所述机器人的任何部分是否将与所述机器人的另一部分碰撞;
对于所述机器人的至少第二数量的姿势中的每一个,至少部分地基于环境中的一组持久障碍物的数据结构表示来确定所述机器人的...
【专利技术属性】
技术研发人员:威廉·托马斯·弗洛伊德琼斯,肖恩·迈克尔·默里,乔治·迪米特里·科尼达里斯,丹尼尔·杰里米·索林,
申请(专利权)人:实时机器人有限公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。