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

机器人系统动态速度修改的方法

文献发布时间:2023-06-19 19:28:50


机器人系统动态速度修改的方法

技术领域

本公开一般涉及工业机器人运动规划领域,并且更具体地涉及用于机器人运动规划的方法和系统,其执行动态速度衰减以避免与静态或动态对象碰撞,同时即使在需要减速时也维持规划的工具路径。

背景技术

使用工业机器人来执行各种各样的制造、装配和材料移动操作是众所周知的。在许多机器人工作空间环境中,障碍物存在并且有时可能存在在机器人的运动的路径中。障碍物可以是永久对象,诸如建筑物结构和固定装置,由于对象的静态性质,机器人能够利用预先规划的运动来容易地避开这些永久对象。障碍物还可以是动态对象,其有时随机地移动进入或通过机器人工作空间。动态对象必须由运动规划系统在实时计算中考虑,其中机器人必须调整其运动以在执行操作时避开对象。必须绝对避免机器人的任何部分和任何障碍物之间的碰撞。

已经开发了各种技术来检测机器人的工作空间中的对象,并且如果需要的话调整机器人运动以避免机器人与对象的碰撞或近似碰撞。一种这样的现有技术简单地当在阈值距离内检测到对象时停止机器人。然而,在大多数应用中,在工作空间存在障碍物的情况下停止机器人不是令人满意的解决方案。另一种通常与工业机器人一起使用的技术是定义“安全区域”,在该安全区域中人类操作员或其他动态对象可以安全地存在,因为机器人被预编程以禁止机器人移动到安全区域中。安全区域是有效的,但是需要额外的预编程努力,并且通常对机器人运动过度限制—包括消耗比必要的工作空间体积更多的几何形状的禁止区域,以及即使在禁止安全区域未被障碍物占据时也强制执行禁止安全区域。

用于机器人碰撞避免运动规划的另一技术基于检测到的对象实时调整机器人的速度。该技术基于机器人-障碍物距离、最大障碍物速度和作为关节速度的函数的计算的停止时间来确定适当的机器人关节速度限制。然而,该技术允许跟踪控制计算与命令的机器人运动不同步,使得机器人工具能够偏离编程的路径-特别是当编程的路径是弯曲的时,并且存在维持安全的机器人-障碍物距离所需的大量减速。

鉴于上述情况,需要一种改进的用于机器人的动态运动规划技术,其在必要时降低机器人速度以避开障碍物,同时忠实地遵循编程的机器人工具路径。

发明内容

根据本公开的教导,提供了一种用于机器人运动规划的方法和系统,其执行动态速度衰减以避免机器人与静态或动态对象的碰撞。该技术通过向跟踪控制器提供计算的减速比率的反馈使得路径计算总是与当前机器人速度同步,即使在需要减速时也保持规划的机器人工具路径。该技术使用机器人-障碍物距离和相对速度两者来确定何时应用速度衰减,并且基于机器人-障碍物距离、最大障碍物速度和作为关节速度的函数的计算的停止时间来计算关节速度限制向量。公开了两种不同的控制结构实现,这两种实现都向运动规划器提供减速比率的反馈以在需要时进行忠实路径遵循。还提供了一种在多机器人系统中建立速度衰减优先级的方法。

结合附图,根据以下描述和所附权利要求,当前公开的系统和方法的附加特征将变得显而易见。

附图说明

图1是示出如何以本领域已知的方式根据机器人关节速度以及最大关节加速度和加加速度约束来计算机器人停止时间的曲线图;

图2是本领域已知的动态运动优化技术的框图图示,其中在存在工作空间障碍物的情况下机器人速度可以被降低;

图3是在图2的现有技术中当速度降低时命令的工具路径位置如何能够偏离规划的参考路径的图示;

图4是根据本公开的实施例的动态运动优化系统的框图图示,其中机器人速度可以在存在工作空间障碍物的情况下被降低,并且减速因子作为反馈从在线速度修改(OVM)模块被提供给跟踪控制器;

图5是根据本公开的实施例的在图4的系统中如何将由内插点的序列组成的规划参考路径参数化到由弧长s限定的连续路径中的图示;

图6是根据本公开的实施例的具有相交路径的双机器人系统的图示,其中仿真结果示出当图4的在线速度修改技术在多个机器人的一个中实现时如何防止碰撞;

图7是根据本公开的实施例的在线速度修改控制结构的第一实现架构的框图图示;

图8是根据本公开的实施例的在线速度修改控制结构的第二实现架构的框图图示;

图9是根据本公开的实施例的用于基于机器人-障碍物距离和相对速度触发在线速度修改计算的方法的流程图;

图10是根据本公开的实施例的用于建立在多机器人系统中的每个机器人的优先级并且基于所述优先级执行在线速度修改计算的方法的流程图;

图11是根据本公开的实施例的具有交叉路径的双机器人系统的图示,其中仿真结果示出了图10的OVM优先级逻辑如何影响第一运动场景;

图12是根据本公开的实施例的图11的双机器人系统的图示,其中仿真结果示出了图10的OVM优先级逻辑如何影响第二运动场景;

图13是根据本公开的实施例的叠加在参考路径上的实际工具中心点路径的图,描绘了即使在急弯中以及当机器人速度被降低以避开障碍物时实际工具中心点路径如何遵循参考路径;以及

图14是根据本公开实施例的标绘机器人-障碍物距离和相对速度相对于时间并且还示出所得的OVM速度超控百分比或减速比率的图集。

具体实施方式

以下对本公开的实施例的讨论涉及用于机器人系统动态速度修改的方法和系统,其本质上仅是示例性的,并且决不旨在限制所公开的设备和技术或它们的应用或使用。

众所周知,使用工业机器人进行各种制造、装配和材料移动操作。这些操作包括喷漆、焊接、零件拾取和放置任务以及许多其它操作。在许多机器人工作空间环境中,障碍物可能存在,并且有时可能在机器人的运动的路径上。即,在没有自适应运动规划的情况下,当机器人从其当前位置移动到目的地位置时,机器人的一些部分可能与障碍物的一些部分碰撞。障碍物可以是静态结构,例如固定装置和桌子,或者障碍物可以是动态(移动)对象,例如人、叉车、其它机器人和其它机器。当动态对象可能存在时,必须针对每个控制循环实时规划机器人的运动。

在一些机器人应用中,机器人的路径能够被调整以在障碍物周围移动。然而,在许多应用中,机器人(工具中心)必须沿着规划的参考路径移动以便适当地完成任务。在这些限定路径的应用中,当障碍物阻碍机器人的路径时的唯一求助是减慢或停止机器人。已经开发了用于响应于障碍物的存在而修改机器人的速度的技术。然而,这些技术遭受各种缺点,包括在障碍物存在的情况下过于频繁地停止机器人,以及当机器人的速度降低时偏离规划的参考路径。

本公开提供了方法和系统,其适应性地响应于机器人工作空间中障碍物的存在,仅在必要时减慢机器人以允许潜在碰撞被清除,同时维持工具的规划参考路径。该技术已经在包括多机器人环境和人-机器人交互的仿真和真实世界实验中进行了测试。这些方法和系统,包括两个不同的实现实施例,其将在下面详细讨论。

在响应于工作空间障碍物的存在而使机器人减速的任何技术中,有必要确定机器人需要减速多少。减速的量基于若干因素,包括当前机器人速度(实际上是旋转速度的向量,机器人中的每个关节一个旋转速度的向量),根据当前速度和机器人机械约束计算的停止时间,以及障碍物的距离和速度特性。

图1是示出如何以本领域已知的方式根据机器人关节速度和最大关节加速度以及加加速度约束来计算机器人停止时间的曲线图100。曲线图100在纵轴上标出了关节加速度,在横轴上标出了时间。考虑表示单个机器人关节的曲线图100,其中对机器人中的(五个或六个)关节中的每一个执行相同的计算。在时间t=0,关节具有朝向障碍物的速度

加速度相对于时间的曲线图的曲线下的面积是速度。第一阶段110中曲线下的面积的两个三角形部分彼此抵消。曲线下面积的剩余部分是曲线图100的阴影面积,包括矩形部分140和三角形部分150。矩形部分140和三角形部分150的总面积必须合计达到

机器人的总停止时间t

t

此外,最大加加速度段170的持续时间可以由下式确定:

对于机器人中的每个关节i,评估方程(1)-(3),机器人停止时间t

其中

最后,对于在障碍物存在的情况下的操作,可以为机器人中的每个关节i确定适当的机器人速度限制,如下:

其中,方程(5)中的所有常数和变量都已经在上面定义,并且速度限制

图2是本领域已知的动态运动优化技术的框图,其中在存在工作空间障碍物的情况下机器人速度可以被降低。跟踪控制器210接收作为输入的参考位置x

动态运动优化模块220接收从感知模块230输入的障碍物数据,并且分别计算机器人关节位置和速度命令,q

图3是在图2的现有技术中当速度降低时命令的工具路径位置如何能够偏离规划的参考路径的图示。在图3的左手侧,曲线310表示目标工具中心路径,其是上面定义的参考位置x

多连杆机器人臂340以俯视图示出。机器人臂340具有遵循参考路径350的工具中心点。机器人臂360在与机器人臂340相同的工作空间中操作,其中机器人臂360被编程为其工具中心点遵循参考路径370。参考路径350和370重叠,因此如果没有采取障碍物检测和避开措施,则机械臂340和360将彼此碰撞。在这个示例中,机器人臂340在没有碰撞避免措施的情况下执行其运动,同时机器人臂360被用图2的动态运动优化技术编程。即,当机器人臂340处于其路径中时,机器人臂360将被命令减速。

实际路径380示出了机器人臂360的工具中心点所采取的实际路径。可以看出,实际路径380在路径的中间部分偏离参考路径370。这种与参考的路径偏差是不期望的,并且是由上述效果引起的,即,动态运动优化模块220命令机器人臂360由于其路径中的障碍物而减速,但是跟踪控制器210没有充分地识别该减速并且提供引起实际路径偏离参考路径的期望速度指令。

已经开发本发明的技术以克服上文所论述的现有技术动态运动优化技术的缺点。

图4是根据本公开的实施例的动态运动优化系统400的框图图示和对应方法的流程图,其中可以在存在工作空间障碍物的情况下降低机器人速度,并且减速因子作为反馈从在线速度修改(OVM)模块被提供给跟踪控制器。跟踪控制器410接收参考位置q

在线速度修改模块420接收从感知模块430输入的障碍物数据,并且分别计算机器人关节位置和速度命令q

机器人系统450包括控制器和机器人,其中控制器使机器人遵循来自在线速度修改模块420的关节命令(q

图5是根据本公开的实施例的在图4的系统中如何将由内插点的序列组成的规划参考路径参数化到由弧长s定义的连续路径中的图示。规划参考路径510由通过最终目标点q

在右侧,连续参考路径520被计算为弧长参数s的函数,其中在初始路径点q

返回图4,在线速度修改模块420从感知模块430接收障碍物数据,并且在每个计算循环处执行速度修改优化,如下:

其中方程(6)是使计算的路径q与期望的路径q

在优化计算已经收敛之后,通过下式计算减速比率ds的值:

其中方程(8)计算每个机器人关节i的

如上所述,将减速比率ds的值作为反馈从在线速度修改模块420提供到跟踪控制器410。然后,跟踪控制器410计算弧长度参数的新值作为s=s+ds。即,如果ds=1,则弧长参数被递增完全步长,并且如果ds=0,则弧长参数不改变并且机器人停止。然后,通过(在笛卡尔空间中)x

图4的框图图示还用作根据本公开的用于自适应机器人速度修改的方法的流程图图示。即,该方法包括提供工作空间障碍物数据,使用障碍物数据和参考路径来确定对于障碍物避开是否需要速度衰减,包括:计算减速比率ds,使用减速比率和期望运动来计算命令的机器人运动,使用减速比率和参考路径来计算下一个控制循环的期望运动(反馈回路440),以及将命令的机器人运动提供给机器人系统。

在图4的系统和方法中,如图5所示的将内插点的序列参数化到连续路径中是可选的。这种参数化可以在机器人控制器的运动系统中隐含地执行,其中,在下面讨论的一些实施例中,嵌入了在线速度修改计算。在其他实施例中,图5中所示的参数化是在除机器人控制器之外的计算机上执行的明确步骤。在所有实施例中,需要输入参考路径(描绘机器人的规划任务运动)。

图6是根据本公开的实施例的具有交叉路径的双机器人系统的图示,其中仿真结果示出当图4的在线速度修改技术在机器人中的一个中被实现时如何防止碰撞。机器人610和机器人630在图6中的三维(3D)笛卡尔网格所描绘的共享工作空间600中操作。机器人610被编程为遵循从起点622到终点624的单向的路径620。机器人630被编程为遵循从起点642到终点644并回到起点642的双向的路径640。

在没有任何碰撞避免技术的情况下,如果机器人610和630同时开始它们的任务,则它们将碰撞,因为在路径620和640交叉的区域周围存在它们的操作包络的明显重叠。简单地对机器人进行编程使得一个机器人完成其任务然后另一机器人开始是低效的。因此,存在在即将发生碰撞的情况下自动速度调节的需要。

当机器人610被配置有图4的运动优化/速度修改系统时,两个机器人开始沿着它们各自的路径跟踪它们的工具中心点,并且当机器人610接近点626时,机器人610检测到在其路径中在前面的机器人630(其工具中心在大约点646处)。机器人610因此减慢并且停止,其工具中心在大约点626处,而机器人630继续沿着路径640向外和返回。当机器人630到达返回运动上的大约点646时,机器人610恢复沿着路径620朝向端点624的运动。最终结果是避免了机器人碰撞,并且机器人610能够在机器人630处于其路径中时至少部分地完成其任务。能够容易地设想其他场景,其中,定时使得一个机器人简单地必须减速一点,而另一个机器人越过重叠区域,并且所公开的运动优化/速度修改技术在防止碰撞的同时保持非常高的效率。图6中概述的场景应对机器人到机器人的碰撞。所公开的速度修改技术同样适合和处理任何其它类型的移动障碍物。

图4示出了本公开的运动优化/速度修改系统在高层次的框图,并且随后的讨论描述了速度修改计算和减速比率反馈的细节以及将实际路径保持在参考路径上的使用。在以下附图中示出了两个不同的详细实施例,以及确定何时触发碰撞避免速度修改例行程序的方法。

图7是根据本公开的实施例的在线速度修改控制架构的第一实现架构700的框图图示。图7的架构反映了图4的架构,其中跟踪控制器710基于参考路径输入q

在线速度修改模块720基于在障碍物数据中识别的任何障碍物计算必要的速度修改量(“减小的速度限制”)。如果在工作空间中不存在障碍物,则机器人使用原始规划的运动路径和速度来执行其任务。在线速度修改模块720将减速比率ds(0≤ds≤1)的反馈提供给跟踪控制器710,并且在线速度修改模块720将命令的机器人关节位置和速度(q

图7的架构700已经在仿真中实现,该仿真确认了机器人760在没有任何工作空间障碍物的情况下以完全规划的速度操作,根据需要减速以避免与障碍物碰撞,并且当强制显著减速时,即使对于弯曲路径,工具中心点也忠实地跟踪参考路径。

图8是根据本公开的实施例的架构800的框图图示,该架构是在线速度修改控制结构的第二实现架构。图8的架构800被设计用于在现有机器人控制器系统中的直接实现。机器人控制器810具有运动控制模块820,其基于参考路径输入q

感知模块840(能够检测障碍物存在和移动的一个或多个传感器,诸如相机、激光雷达、运动捕捉系统或接近传感器)提供在相机图像或传感器数据中发现的任何障碍物的障碍物位置和速度数据(p

在线速度修改模块850从运动控制模块820接收期望的机器人运动q

图8的架构800已在实际物理机器人-控制器系统中实现,其中在线速度修改模块850编程于如上文所描述的控制器中的处理器上。该原型系统表现出期望的行为,包括机器人在没有任何工作空间障碍物的情况下以完全规划的速度操作,并且机器人根据需要减速以避免与障碍物碰撞,同时当强制显著减速时,即使对于弯曲路径,工具中心点忠实地跟踪参考路径。实验结果在下面进一步讨论。

图4-8的前述讨论描述了在线速度修改模块如何执行优化计算以基于工作空间障碍物的存在来确定机器人减速比率,以及在忠实地遵循工具中心的规划参考路径的同时,减速比率ds如何在必要时用于修改机器人速度。本公开的另一方面是一种用于确定何时“开启”速度修改优化计算的技术,使得在机器人-障碍物冲突不太可能或部可能的情况下不执行在线速度修改计算。

图9是根据本公开的实施例的用于基于机器人-障碍物距离和相对速度触发在线速度修改计算的方法的流程图900。在图9的方法中,机器人-障碍物距离(障碍物和机器人的任何部分之间的最小距离)和机器人-障碍物相对速度(最小距离的变化率)都被评估,并且仅当距离和速度都满足预定标准时才执行速度修改计算。图9的方法在图7的在线速度修改模块720或图8的在线速度修改模块850中执行。

在进入在线速度修改(OVM)模块时,在判断菱形902处,确定当前机器人-障碍物最小距离d

在判断菱形906处,确定障碍物相对于机器人的相对速度v

如果机器人-障碍物相对速度小于或等于零(并且距离小于来自判断菱形902的阈值),则在框908处,基于机器人-障碍物距离计算机器人停止时间t

其中v

然后,在方程(5)中使用停止时间t

在本领域中已知仅当工作空间障碍物在机器人的一定距离内时才执行机器人碰撞避免计算。然而,通过如图9所示评估机器人-障碍物相对速度以及最小距离,当前公开的技术避免了在障碍物正远离机器人移动(和/或机器人正远离障碍物移动)的情况下执行计算并且潜在地减慢机器人,此时即使机器人-障碍物距离可能很小,碰撞也是不可能的。

已经执行了许多仿真和真实世界实验,其验证了上述在线速度修改技术的有效性。仿真包括诸如图6中所示的情形之类的多机器人工作空间场景,并且真实世界实验包括人和在机器人的工作空间周围移动的手持障碍物,该手持障碍物被编程为遵循线性和弯曲路径段。在所有情况下,数据分析表明,仅当机器人-障碍物距离小于阈值并且机器人-障碍物相对速度正在减小时,才命令减速(ds<1),来自在线速度修改计算的减速比率基于机器人-障碍物距离是如所期望的,并且当机器人响应于ds<1而减速时,即使在路径的弯曲部分中,实际工具中心点路径也遵循参考工具中心点路径。仿真和实验结果的几个示例在后面的图中示出并在下面讨论。

在图6的较早讨论中,描述了当在线速度修改技术在机器人中的一个中实现时,如何在具有交叉路径的双机器人系统中防止碰撞。优选地,在多机器人系统的所有机器人中实现在线速度修改技术,使得可以最大化整体效率(最小化减速的次数和持续时间)。然而,为了做到这一点,必须基于工作空间条件实时建立机器人优先级或优先顺序,并且必须遵循按优先级顺序计算每个机器人的减速比率ds的顺序过程。下面讨论这种技术。

当两个或更多个机器人在共享工作空间中操作,其中机器人的操作包络重叠时,发生碰撞是可能的。这种碰撞能够通过对机器人进行预编程以严格地遵循同步的移动序列而避免,这防止两个机器人同时处于相同的位置。然而,一些类型的任务要求每个机器人以其自己的步调操作,这妨碍了移动的严格同步。在这种情况下,可以识别潜在的重叠区域,并且(在当前时间步或机器人控制循环)每个机器人与重叠区域的距离能够用于建立优先级顺序。下面描述该技术。

图10是根据本公开的实施例的用于建立多机器人系统中的每个机器人的优先级并且基于优先级执行在线速度修改计算的方法的流程图1000。图11是根据本公开的实施例的具有交叉路径的双机器人系统1100的图示,其中仿真结果示出了图10的OVM优先级逻辑如何影响第一运动场景。图12是根据本公开的实施例的双机器人系统1100的图示,其中仿真结果示出了图10的OVM优先级逻辑如何影响第二运动场景。

该过程开始于在框1002处的特定时间步(机器人控制循环),在其中识别机器人运动的潜在重叠区域。在图11的工作空间1100中,识别出涉及机器人1110和机器人1130的重叠区域1102。重叠区域可以是二维区域(例如,在顶视图中),或者重叠区域可以是三维体积。在框1004处,计算从每个机器人的当前位置到重叠区域的距离。距离计算可以被公式化以与重叠区域的性质相对应。例如,该距离可以被计算为机器人的工具中心点为了进入垂直投影的2D重叠区域而必须行进的距离。或者,该距离可以被计算为机器人的任何部分进入3D重叠体积的实际3D距离。这些计算可以被定义为适合特定的应用。

在框1006处,通过基于与重叠区域的(在一个实施例中)距离对各个机器人进行排序来定义系统中的各个机器人的优先级顺序,其中最靠近重叠区域的机器人具有最高优先级(1),并且最远离重叠区域的机器人具有最低优先级。这种优先级排序背后的思想是允许最近的机器人尽可能快地通过重叠区域,而其他机器人相继地通过重叠区域。在许多情况下,高优先级机器人将根本不必减速并且相继的机器人可能仅必须少量减速是可能的。

在替代实施例中,代替到重叠区域的距离,可以在框1004处计算每个机器人到达重叠区域的时间,并且在框1006处使用时间值来建立机器人优先级顺序。时间而不是距离可以使用在系统中的一个机器人具有与系统中的一个或多个其它机器人非常不同的规划速度或路径长度的应用中。在其他实施例中,在确定优先级时可以考虑机器人的加速/减速能力,其中具有最小加速/减速能力的机器人(诸如具有最大惯性的最大机器人)可以被分配最高优先级。也可以考虑其它因素,并且事实上可以基于用户偏好或者使用包括常数(诸如机器人能力)和变量(诸如在特定控制循环处与区域重叠的距离)的用户定义的公式来分配优先级。

框1006的输出是针对当前被评估的特定机器人控制循环的机器人的优先级顺序。在图11中,作为示例,机器人1130可以具有最高优先级,而机器人1110可以具有最低优先级。对于下面的讨论,3机器人的系统被用作示例,并且3机器人的系统的优先级顺序被假定为PO=[R

仍然继续特定机器人控制循环,在框1008处以初始化计算每个机器人的减速比率,其中初始化优先级顺序计数器(i=1),并且设置初步减速比率值(ds

在判断菱形1010处,确定是否所有机器人(在该示例中为所有三个)都已经计算了它们的ds值。如果不是,则在框1012处,选择具有当前优先级顺序计数器的优先级顺序的机器人,其是机器人R

在前面对框1012的讨论中,为最高优先级(i=1)机器人R

继续3机器人的系统的示例,到目前为止仅计算了最高优先级机器人R

然后,该过程循环回到判断菱形1010,并且前进到框1012,在那里为下一个较低优先级(i=3)的机器人R

图11描绘了具有单向规划路径1112的机器人1110和具有双向(向外和返回)规划路径1132的机器人1130。在图11中,场景是机器人1130由于最接近或最早到达重叠区域1102而具有最高优先级。因此,首先发生的事情是机器人1110开始沿着其规划路径1112移动,并且机器人1130开始沿着其规划路径1132移动。这些运动同时发生,并且都用指示它们首先发生的标记为①的箭头来描绘。当(其是较低优先级的)机器人1110接近点1114时,机器人1110必须减速,并且可以在点1114附近停止,以允许较高优先级机器人1130完成其向外路径(箭头①)和其返回路径(箭头②)。当机器人1130几乎完成其返回路径(箭头②),使得机器人1130不阻挡机器人1110和/或远离机器人1110移动时,只有这样机器人1110才能完成其路径,如虚线箭头③所示。

图12描述了相同的工作空间1100,其中机器人1110和1130具有相同的规划路径(分别为1112和1132)和相同的重叠区域1102,如图11所示。在图12中,场景是机器人1110由于最接近或最早到达重叠区域1102而具有最高优先级。因此,首先发生的事情是机器人1110开始沿着其规划路径1112移动,并且机器人1130开始沿着其规划路径1132移动。这些运动同时发生,并且都用指示它们首先发生的标记为①的箭头来描绘。机器人1110无中断地完成整个规划路径1112,因为其优先级最高。同时,当(其为较低优先级的)机器人1130靠近点1234时,机器人1130必须减速,并且可以停在点1234附近以允许较高优先级机器人1110通过重叠区域1102。当机器人1110几乎完成其路径(箭头①),使得机器人1110不阻挡机器人1130和/或远离机器人1130移动时,只有这样机器人1130才能完成其向外路径(虚线箭头②)以及然后其返回路径(箭头③)。

图11-12的机器人1110和1130可以彼此独立地操作,使得它们的运动不能针对每个任务永久地同步。这将是机器人执行例如取决于入站部件的可用性或取决于另一机器的状态的任务时的情况。这种情况使得适应性地实时确定机器人优先级并且根据需要执行速度修改以防止碰撞的当前公开的技术极其有益。

图13是根据本公开的实施例的叠加在参考路径上的实际工具中心点路径的曲线图1300,其描绘了即使在急弯中以及当机器人速度被减小以避开障碍物时实际工具中心点路径如何遵循参考路径。在曲线图1300上绘制的数据来自使用上述在线速度修改技术进行的物理实验,其被编程到如图8中那样控制机器人的机器人控制器上。

曲线图1300表示具有在水平轴1310上的x维度和在垂直轴1312上的y维度的工作空间。轴1310和1312的单位是毫米(mm)。z维未示出,并且对于讨论来说并不重要,因为实验中的机器人被编程为工具中心点遵循x-y平面中的一种之字形,其中该形状在y方向上来回移动几次,同时在x方向上稳定地移动,然后环绕回到起始点。该工具中心点路径由迹线1320描绘,其是实际工具中心点路径和参考(编程)路径两者;实际路径和参考路径是如此相同,以致于它们在图1300中不能被区分。

如在第二曲线图1330中,即使当放大到路径的各个角之一时,实际路径和参考路径在轨迹1340中是不可区分的,其中轨迹1340是轨迹1320的在椭圆形1322中指示的部分。即使在机器人运动期间由在线速度修改模块命令显著且重复的机器人减速,遵循的高保真度路径也是真实的。第三曲线图1350示出了对于在曲线图1300和1330的路径跟踪的持续时间内的速度超控百分比(将减速比率ds转换为百分比)相对于时间。用于碰撞避免的减速和停止在曲线图1350上是显而易见的。曲线图1350上的虚线轨迹指示由OVM模块计算的速度超控百分比(其是被转换为百分比的减速比率)的值,而实线轨迹指示在通过低通滤波器之后的速度超控百分比的ds值。

总之,图13上的曲线图示出了本公开的在线速度修改技术在维持编程(参考)工具中心点路径方面是高度有效的,同时根据需要衰减机器人速度以避免与工作空间障碍物的紧密相遇。

图14是根据本公开的实施例的标绘机器人-障碍物距离和相对速度相对于时间并且还示出合成OVM速度超控百分比或减速比率的曲线图集。曲线图1410标绘了最小机器人-障碍物距离相对于时间。曲线1412表示在使用实际机器人和用在线速度修改技术编程的控制器的实验的一部分期间,最小距离随着其增加、减小和再次增加时的最小距离的值。在曲线图1410的阴影部分1414中,最小机器人-障碍物距离大于最小距离阈值(0.5m),该最小距离阈值被用作如图9所示的在线速度修改计算的触发器。在部分1416中,最小机器人-障碍物距离小于最小距离阈值。在阴影部分1418中,最小机器人-障碍物距离再次大于最小距离阈值。因此,在阴影部分1414和1418中,最小机器人-障碍物距离指示不需要执行在线速度修改计算。

曲线图1420绘出机器人-障碍物相对速度相对于时间。曲线1422表示相对速度的值,该相对速度的值在使用实际机器人和用在线速度修改技术编程的控制器的实验的整个部分中变化。曲线图1420以相同的时间标度绘制来自与曲线图1410相同的实验性试验的数据。在曲线图1420的阴影部分1424中,机器人-障碍物相对速度大于零。在部分1426中,机器人-障碍物相对速度小于零。在阴影部分1428中,机器人-障碍物相对速度再次大于零。因此,再次参考图9的方法,在阴影部分1424和1428中,机器人-障碍物相对速度指示不需要执行在线速度修改计算。

曲线图1410上的曲线1412和曲线图1420上的曲线1422都表现出所谓的零阶保持信号行为。这是曲线从一个数据点到下一个数据点采用小的水平步长的地方。这种行为的原因是机器人系统以比感知系统(例如,相机)更高的频率运行。因此,当机器人系统(诸如图7的控制器750,或图8的控制器810)计算针对时间步的新的机器人命令,但是相机未提供更新的帧(没有新的障碍物数据)时,机器人系统将障碍物视为与先前时间步中处于相同位置和相同速度。当使用在线速度修改技术时,这种现象不会不利地影响机器人系统性能。

曲线图1430绘出OVM速度超控百分比相对于时间。曲线图1430以相同的时间标度绘制来自与曲线图1410和1420相同的实验性试验的数据。虚线1432表示当速度超控百分比在实验的一部分中变化时,由OVM模块计算的速度超控百分比(其是被转换为百分比的减速比率ds)的值。实线1434表示在通过低通滤波器之后的速度超控百分比的值。低通滤波器用于去除在某些条件下可能出现的速度超控百分比的不平稳特性,如在曲线图1430上大约1.25秒处观察到的。曲线图1430的部分1436对应于其中由最小距离曲线图1410(部分1416)和相对速度曲线图1420(部分1426)指示在线速度修改计算的时间段。因此,在机器人-障碍物最小距离小于阈值并且相对速度小于零的区段1436中,计算减速比率ds,并且该减速比率具有小于一的值。ds信号的低通滤波版本(曲线1434)被提供给机器人控制器中的运动系统,以减慢或停止机器人,从而提供期望的机器人-障碍物碰撞避免行为。

图14的曲线图清楚地示出本公开的在线速度修改技术仅在需要时基于工作空间中的障碍物条件(包括机器人-障碍物最小距离和相对速度条件)而命令机器人减速(或停止)方面是有效的。这些结果是在人利用机器人在工作空间中操纵对象的实验中获得和观察的,其中机器人控制器利用如图8中所示的在线速度修改技术来编程。

在整个前述讨论中,描述并暗示了各种计算机和控制器。应当理解,这些计算机和控制器的软件应用和模块在具有处理器和存储器模块的一个或多个电子计算设备上执行。具体地,这包括图7的机器人控制器750和单独的计算机740以及图8的控制器810中的每一个中的处理器,连同感知系统,如上文所讨论的。具体地,控制器和单独的计算机中的处理器被配置为执行上面详细描述的用于机器人-障碍物碰撞避免的在线速度修改计算,包括用于确定是否激活在线速度修改计算的技术,以及用于确定多机器人系统的优先级顺序的技术。

尽管上面已经讨论了用于机器人系统动态速度修改的方法和系统的多个示例性方面和实施例,但是本领域技术人员将认识到其修改、置换、添加和子组合。因此,所附权利要求和此后引入的权利要求旨在被解释为包括在它们的真实精神和范围内的所有这些修改、置换、添加和子组合。

技术分类

06120115928327