首页 / 专利库 / 数学与统计 / 工作空间 / 工作空间安全监控和设备控制

工作空间安全监控和设备控制

阅读:890发布:2020-05-13

专利汇可以提供工作空间安全监控和设备控制专利检索,专利查询,专利分析的服务。并且使用围绕 工作空间 分布的 传感器 出于安全目监控工作空间的系统和方法。传感器相对于彼此配准,并且随时间对该配准进行监控。识别出被遮挡的空间以及已占用空间,且此映射经常更新。,下面是工作空间安全监控和设备控制专利的具体信息内容。

1.一种用于识别三维工作空间中的安全区域的安全系统,所述工作空间包括受控的机械设备,所述系统包括:
围绕工作空间分布的多个传感器,每个传感器与像素网格相关联,用于记录工作空间在传感器视场内的一部分的图像,工作空间多个部分彼此部分重叠;
控制器,其配置为:
传感器相互之间进行配准,使得传感器获得的图像共同代表所述工作空间;
以多个体积生成工作空间的三维表示;
对于强度平高于阈值的每个传感器像素,初步标记为未占用的体积由穿过该像素的视线光线路径所拦截并在一估计距离处从关联的遮挡传感器终止,标记为已占用的体积对应于光线路径的终点,以及标记为未知的任何体积在沿光线路径的遮挡之外;
对于强度水平低于阈值的每个传感器像素,初步标记为未知的所有体素由穿过该像素的视线光线路径所拦截并在工作空间的边界处终止;
最后标记为未占用的体积,其至少已初步被标记为未占用的一次;以及
在工作空间内映射一个或多个安全体积区域,所述体积区域在机械设备的安全区域外,且仅包括标记为未占用的体积。
2.根据权利要求1所述的安全系统,其中,所述点为体素。
3.根据权利要求1所述的安全系统,其中,所述安全区域为围绕所述机械设备的至少一部分的3D体积。
4.根据权利要求3所述的安全系统,其中,所述控制器响应于所述传感器对所述工作空间的实时监控,并配置为响应于由所述传感器检测到的进入所述安全区域的侵入而改变所述机械设备的运行。
5.根据权利要求4所述的安全系统,其中,所述安全区域在所述3D体积内被划分为多个嵌套的子区域,检测到的对每个所述子区域的侵入使所述机械设备的运行产生不同程度的改变。
6.根据权利要求1所述的安全系统,其中,所述传感器为3D传感器。
7.根据权利要求6所述的安全系统,其中,所述传感器的至少其中一些为飞行时间相机。
8.根据权利要求6所述的安全系统,其中,所述传感器的至少其中一些为3D LIDAR传感器。
9.根据权利要求6所述的安全系统,其中,所述传感器的至少其中一些为立体视觉相机。
10.根据权利要求1所述的安全系统,其中,所述控制器配置为识别正由所述机械设备处理的工件,并且在产生所述安全区域时将所述工件视为所述机械设备的一部分。
11.根据权利要求4所述的安全系统,其中,所述控制器配置为根据人运动的模型计算地扩展至所述工作空间中的侵入。
12.一种在三维工作空间中安全运行机械设备的方法,所述方法包括以下步骤:
用围绕工作空间分布的多个传感器监控所述工作空间,每个传感器与像素网格相关联,用于记录工作空间在传感器视场内的一部分的图像,工作空间多个部分彼此部分重叠;
传感器相互之间进行配准,使得传感器获得的图像共同代表所述工作空间;
计算地生成存储在计算机存储器中的工作空间的三维表示;
对于强度水平高于阈值的每个传感器像素,在计算机存储器中,初步标记为未占用的体积由穿过该像素的视线光线路径所拦截并在一估计距离处从关联的遮挡传感器终止,标记为已占用的体积对应于光线路径的终点,以及标记为未知的任何体积在沿光线路径的遮挡之外;
对于强度水平低于阈值的每个传感器像素,初步标记为未知的所有体素由穿过该像素的视线光线路径所拦截并在工作空间的边界处终止;
最后标记为未占用的体积,其至少已初步被标记为未占用的一次;以及
在工作空间内计算地映射一个或多个安全体积区域,所述体积区域在机械设备的安全区域外,且仅包括标记为未占用的体积。
13.根据权利要求12所述的方法,其中,所述点为体素。
14.根据权利要求12所述的方法,其中,所述安全区域为围绕所述机械设备的至少一部分的3D体积。
15.根据权利要求14所述的方法,还包括以下步骤:通过响应地改变所述机械设备的运行,对检测到的侵入所述安全区域做出响应。
16.根据权利要求15所述的方法,其中,所述安全区域在所述3D体积内被划分为多个嵌套的子区域,检测到的侵入每个所述子区域使所述机械设备的运行产生不同程度的改变。
17.根据权利要求12所述的方法,还包括以下步骤:计算地识别由所述机械设备处理的工件,并且在生成所述安全区域时将所述工件作为所述机械设备的一部分来处理。
18.根据权利要求15所述的方法,还包括以下步骤:根据人运动的模型,计算地扩展至所述工作空间中的侵入。
19.根据权利要求17所述的方法,其中,计算地识别的步骤使用神经网络执行。
20.根据权利要求12所述的方法,还包括以下步骤:为所述机械设备生成安全动作约束并据此控制所述机械设备。
21.根据权利要求12所述的方法,其中所述机械设备为至少一个机器人
22.一种用于强制执行机械设备的安全运行的安全系统,所述机械设备在三维(3D)工作空间中执行活动,所述系统包括:
围绕工作空间分布的多个传感器,每个传感器与像素网格相关联,用于记录工作空间在传感器视野内的一部分的图像,所述工作空间多个部分共同覆盖整个工作空间;
计算机存储器,用于存储(i)来自传感器的多个图像,(ii)机械设备的模型以及在活动进行期间其允许的运动,以及(iii)指定机械设备靠近人的速度限制以及机械设备与人之间的最小间隔距离的安全协议;以及
处理器,其配置为:
从存储的图像计算地生成工作空间的3D空间表示;
识别工作空间的第一3D区域,所述第一3D区域对应于机械设备在工作空间内所占用的空间,该空间通过围绕机械设备的3D包络扩大,所述包络根据存储的模型跨越允许的运动;
识别工作空间的第二3D区域,所述第二3D区域对应于人在工作空间内已占用的或可能占用的空间,该空间通过围绕人的3D包络扩大,所述包络对应于人在预定的未来时间内在工作空间内的预期运动;和
基于第一和第二区域之间的接近程度,根据安全协议限制机械设备的活动。
23.根据权利要求22所述的安全系统,其中,所述工作空间计算地表示为多个体素。
24.根据权利要求22所述的安全系统,其中,所述处理器配置为至少部分地基于由所述机械设备提供的状态数据来识别与所述机械设备相对应的区域。
25.根据权利要求24所述的安全系统,其中,所述状态数据为安全级的,且通过安全级通信协议提供。
26.根据权利要求3所述的安全系统,其中,所述状态数据为非安全级的,而是由从所述传感器接收的信息来验证。
27.根据权利要求24所述的安全系统,其中,通过构造机器人模型、移除在所述模型内检测到的对象以及如果有任何剩余对象与所述机械设备相邻则停止所述机械设备来验证所述状态数据。
28.根据权利要求24所述的安全系统,其中,通过使用计算机视觉来识别所述机械设备的位置并将其与报告的位置进行比较来验证所述状态数据。
29.根据权利要求24所述的安全系统,其中,所述状态数据由所述传感器在没有与所述机械设备的任何接口的情况下确定。
30.根据权利要求22所述的安全系统,其中,所述第一3D区域被划分为多个嵌套的、在空间上不同的3D子区域。
31.根据权利要求25所述的安全系统,其中,所述第二3D区域与每个子区域之间的重叠使所述机械设备的运行发生不同程度的改变。
32.根据权利要求24所述的安全系统,其中,所述处理器还配置为识别由所述机械设备正在处理的工件,并且在识别所述第一3D区域时将所述工件视为所述机械设备的一部分。
33.根据权利要求22所述的安全系统,其中,所述处理器配置为动态地控制所述机械设备的最大速度,以防止除了当所述机械设备停止时之外所述机械设备与人之间的接触
34.根据权利要求22所述的安全系统,其中,所述处理器配置为基于所述接近程度来计算碰撞的最小可能时间。
35.根据权利要求22所述的安全系统,其中,所述处理器响应于所述传感器对所述工作空间的实时监控,并配置为响应于由所述传感器检测到的进入所述工作空间的侵入而改变所述机械设备的运行。
36.根据权利要求22所述的安全系统,其中所述机械设备为至少一个机器人。
37.一种在三维(3D)工作空间中安全运行机械设备的方法,所述方法包括以下步骤:
用围绕工作空间分布的多个传感器监控所述工作空间,每个传感器与像素网格相关联,用于记录工作空间在传感器视场内的一部分的图像,工作空间多个部分彼此部分重叠;
传感器相互之间进行配准,使得传感器获得的图像共同代表所述工作空间;
在计算机存储器中存储(i)来自传感器的多个图像,(ii)机械设备的模型以及在活动进行期间其允许的运动,以及(iii)指定机械设备靠近人的速度限制以及机械设备与人之间的最小间隔距离的安全协议;
从存储的图像计算地生成工作空间的3D空间表示;
计算地识别工作空间的第一3D区域,所述第一3D区域对应于机械设备在工作空间内所占用的空间,该空间通过围绕机械设备的3D包络扩大,所述3D包络根据存储的模型跨越允许的运动;
计算地识别工作空间的第二3D区域,所述第二3D区域对应于人在工作空间内已占用的或可能占用的空间,该空间通过围绕人的3D包络扩大,所述3D包络对应于人在预定的未来时间内在工作空间内的预期运动;和
基于第一和第二区域之间的接近程度,根据安全协议限制机械设备的活动。
38.根据权利要求31所述的方法,其中,所述工作空间计算地表示为多个体素。
39.根据权利要求31所述的方法,其中,所述第一3D区域被划分为多个嵌套的、在空间上不同的3D子区域。
40.根据权利要求33所述的方法,其中,所述第二3D区域与每个子区域之间的重叠使所述机械设备的运行发生不同程度的改变。
41.根据权利要求31所述的方法,还包括以下步骤:识别由所述机械设备正在处理的工件,并在计算地识别所述第一3D区域时将所述工件作为所述机械设备的一部分来处理。
42.根据权利要求31所述的方法,其中,限制所述机械设备的活动包括与所述接近程度的平方根成比例地控制所述机械设备的最大速度。
43.根据权利要求31所述的方法,其中,限制所述机械设备的活动包括基于所述接近程度计算碰撞的最小可能时间。
44.根据权利要求31所述的方法,还包括以下步骤:响应于由所述传感器检测到的进入所述工作空间的侵入而改变所述机械设备的运行。
45.根据权利要求31所述的方法,其中所述机械设备为至少一个机器人。
46.一种用于识别三维(3D)工作空间中的安全区域的安全系统,所述工作空间包括执行活动的机械设备,所述系统包括:
围绕工作空间分布的多个传感器,每个传感器包括像素网格,用于记录工作空间在传感器视场内的一部分的图像,所述工作空间多个部分共同覆盖整个工作空间;
计算机存储器,用于存储(i)来自传感器的多个图像,(ii)机械设备的模型以及在活动进行期间其允许的运动,以及(iii)指定机械设备靠近人的速度限制以及机械设备与人之间的最小间隔距离的安全协议;以及
处理器,其配置为:
从存储的图像计算地生成工作空间的3D空间表示;
随时间识别并监控机械设备在工作空间内占用的空间作为3D机械设备区域的表示,并根据存储的模型在机械设备区域周围生成跨越机械设备的允许运动的3D包络区域;
识别机械设备与工作空间内的工件之间的相互作用;
响应于识别的相互作用,更新机械设备区域以包括工件并根据存储的模型和更新的机械设备区域更新包络区域;和
根据安全协议,随更新在机器人区域周围计算地生成3D安全区域。
47.根据权利要求46所述的安全系统,其中所述处理器还配置为:
识别体积中与工作空间内的人已占用的或可能占用的空间相对应的区域;和基于机器人区域与人已占用的区域之间的接近程度,根据安全协议限制机器人的活动。
48.根据权利要求47所述的安全系统,其中,所述人已占用的区域通过围绕所述人的3D包络扩大,所述3D包络对应于所述人在预定的未来时间内在所述工作空间内的预期运动。
49.根据权利要求46所述的安全系统,其中,所述处理器还配置为在所述图像中识别工作空间中除所述机器人和所述工件之外的的物品,所述处理器像人一样识别检测到的物品不是机器人或工件的一部分且不是以其他方式识别到的物品。
50.根据权利要求49所述的安全系统,其中,所述处理器配置为在所述图像中检测所述工作空间内的物品并接收其外部提供的标识,所述处理器像人一样识别检测到的物品不是机器人或工件的一部分且针对检测到的物品尚未收到外部提供的标识。
51.根据权利要求46所述的安全系统,其中,所述工作空间计算地表示为多个体素。
52.根据权利要求46所述的安全系统,其中所述机械设备为至少一个机器人。
53.一种在三维(3D)工作空间中安全运行机械设备的方法,所述方法包括以下步骤:
用围绕工作空间分布的多个传感器监控所述工作空间,每个传感器包括像素网格,用于记录工作空间在传感器视场内的一部分的图像,工作空间多个部分彼此部分重叠;
传感器相互之间进行配准,使得传感器获得的图像共同代表所述工作空间;
在计算机存储器中存储(i)来自传感器的多个图像,(ii)机械设备的模型以及在活动进行期间其允许的运动,以及(iii)指定机械设备靠近人的速度限制以及机械设备与人之间的最小间隔距离的安全协议;
从存储的图像计算地生成工作空间的3D空间表示;
随时间计算地识别并监控机械设备在工作空间内占用的空间作为3D机械设备区域的表示,并根据存储的模型在机械设备区域周围生成跨越机械设备的允许运动的3D包络区域;
识别机械设备与工作空间内的工件之间的相互作用;
响应于识别的相互作用,根据存储的模型和更新的机械设备区域,计算地更新机械设备区域以包括工件,并计算地更新包络区域;和
根据安全协议,随更新在机器人区域周围计算地生成3D安全区域。
54.根据权利要求53所述的方法,还包括以下步骤:
识别体积中与工作空间内的人已占用的空间相对应的区域;和
基于机器人区域与人已占用的区域之间的接近程度,根据安全协议限制机器人的活动。
55.根据权利要求54所述的方法,进一步包括以下步骤:通过围绕人的3D包络来扩大人已占用的区域,所述3D包络对应于人在预定的未来时间内在工作空间内的预期运动。
56.根据权利要求53所述的方法,还包括以下步骤:(i)在图像中识别工作空间中除机械设备和工件之外的物品,以及(ii)像人一样识别检测到的物品不是机械设备或工件的一部分且不是以其他方式识别到的物品。
57.根据权利要求56所述的方法,还包括以下步骤:(i)在图像中检测工作空间内的物品并接收其外部提供的标识,以及(ii)像人一样识别检测到的物品不是机械设备或工件的一部分且针对检测到的物品尚未收到外部提供的标识。
58.根据权利要求53所述的方法,其中,所述工作空间计算地表示为多个体素。
59.根据权利要求53所述的方法,其中所述机械设备为至少一个机器人。

说明书全文

工作空间安全监控和设备控制

相关申请的交叉引用

[0001] 本申请要求于2017年2月7日提交的美国临时专利申请号62/455,828和62/455,834的优先权和权益。

技术领域

[0002] 本发明的领域通常涉及对人和机械设备交互或接近的工业环境进行监控,且尤其涉及用于在监控的工作空间中检测不安全状况的系统和方法。

背景技术

[0003] 工业机械设备通常对人类来说是有危险的。某些机械设备除非完全关闭,否则是危险的,而其他机械设备可能具有多种运行状态,其中有一些是危险的,有一些则不是。在某些情况下,危险程度可能取决于人相对于机械设备的位置。因此,已经开发出许多“防护”方法来防止机械设备对人造成伤害。一种非常简单和常见类型的防护为围绕机械设备的笼罩,其构造成使得打开笼罩的会使电路关闭机械设备。这确保了在机械设备运行时,人永远无法接近机械设备。当然,这阻止了人与机器之间的所有交互,并严重限制了工作空间的使用。
[0004] 更复杂的类型的防护涉及光学传感器。示例包括光幕(light curtain),其确定是否有任何对象侵入由一个或多个光发射器和检测器监控的区域,以及2D LIDAR传感器,其使用主动光学感测来检测沿着从传感器发出的一系列光线到障碍物的最小距离,且因此可以配置为检测接近或侵入到预先配置的二维(2D)区域中。最近,系统开始使用例如3D飞行时间相机、3D LIDAR和立体视觉相机来采用3D深度信息。这些传感器具有以3D探测和定位进入工业机械设备周围区域的能,其具有多个优点。例如,当检测到侵入的距离远远超过机器人的臂长距离时,防护工业机器人的2D LIDAR系统将必须停止机器人,因为如果侵入代表一个人的腿,该人的手臂可能会更接近且将无法被平面LIDAR检测到。但是,3D系统可以允许机器人继续运行,直到该人实际上将他或她的手臂伸向机器人为止。这允许机器的动作与人的动作之间更紧密的互,这有利于许多应用,并节省了工厂车间的空间,这总是非常重要的。
[0005] 由于危及人身安全,防护设备通常必须符合严格的工业标准。这些标准可以指定硬件组件的故障率以及针对硬件和软件组件的严格的开发实践。符合标准的系统必须确保能够以很高的概率检测到危险情况,检测到系统本身的故障,以及系统通过将设备转换为在安全状态下受控来响应检测到的故障。在人与机器协同工作的相关任务中,防护设备的设计变得特别具有挑战性。尽管机器可能比人类更强大、更快、更精确并且更具可重复性,但它们缺乏人类的灵活性、灵巧性和判断力。协作应用的一个示例是在汽车中安装仪表板——仪表板很重,人很难操纵,但是将其连接起来需要各种连接器和固件,这需要人工才能正确处理。简单地将人与机器分开意味着防护工作要简单得多,然后当人主动使用可能伤害他们的机器时,检测不安全状况。传统的防护系统在操作上的粒度(granular)不足以可靠地监控此类环境。
[0006] 3D传感器系统提供了改进防护系统粒度的可能性。但是与2D传感器系统相比,3D数据系统可能较难配置。首先,考虑到机械设备、人在工作空间中可能的动作、工作空间布局以及每个传感器的位置和视场造成的特定危害,必须针对每种用例设计和配置特定区域。计算禁区的最佳形状会很困难,尤其是在尝试维持安全性的同时优化地面空间和系统吞吐量,其中一个对象可能相对于传感器出现遮挡,且其中光级相对于不同传感器不同。配置上的错误会导致严重的安全隐患,需要大量的设计和测试支出。如果对工作空间进行任何更改,那么所有的这些工作都必须完全重做。3D系统提供的额外自由度会导致更大范围的可能配置和危害。因此,需要用于以高粒度监控工作空间的改进的且在计算上易于处理的技术。
[0007] 即使可以精确地映射和监控工作空间,在机器人和人可以移动的动态环境中——即,改变位置和配置——以快速且不均一的方式维持安全性。典型的工业机器人是固定的,但仍具有强大的机械臂,这些机械臂可能会在可能的运动轨迹的较大“包络(envelope)”内造成伤害。通常,机械臂由许多机械连杆组成,这些机械连杆通过可以精确控制的旋转关节连接,并且控制器协调所有的关节以实现由工业工程师为特定应用确定的轨迹。
[0008] 单个机器人应用可能仅使用机器人整个运动范围的一部分。但是,控制机器人轨迹的软件通常不会考虑或开发为机器人安全系统的一部分。因此,尽管机器人可能只使用其轨迹包络的一小部分,但防护系统(例如,笼罩)已配置为包含机器人的整个运动范围。与其他类型的防护一样,此类设备已从简单的机械解决方案演变为电子传感器和软件控制。近年来,机器人制造商还引入了所谓的“软”轴和速率限制系统——安全级软件,其将机器人限制在其运动范围的某些部分以及特定的速度。然后在安全级软件中强制执行此约束——如果在任何时候发现机器人违反了软轴和速率限制设置,则紧急停止。该方法增大了机器人周围的有效安全区域并支持协作应用。
[0009] 然而,这些系统表现出至少两个明显的缺点。首先,考虑到机器人的轨迹、人在工作空间中可能的动作、工作空间布局以及每个传感器的位置和视场,通常必须由工业工程师针对每个用例对特定区域进行编程。无论这些区域本身可以被表征和监控的精度如何,都难以计算这些区域的最佳形状。配置上的错误会导致严重的安全隐患,如果对机器人程序或工作空间进行了任何更改,则必须重新配置安全区域。其次,这些区域和速度限制是离散的——通常没有办法按比例仅使机器人的速度降低到机器人与检测到的障碍物之间的精确距离所必需的速度,因此,它们必须非常保守。另一个复杂之处是需要计划预期的和可能的机器人轨迹,包括机器人已经拾取的工件或已经与机器人关联的工件。因此,随着工作空间占用和机器人任务的发展需要以动态方式配置和重新配置安全区域的新方法。

发明内容

[0010] 一方面,本发明的实施例提供了出于安全目的使用分布在工作空间周围的传感器监控工作空间的系统和方法。所述工作空间可包含一台或多台可能对人类造成危险的设备,以及工业机器人和辅助设备,例如零件进给器、导轨、夹具或其他机器。传感器相对于彼此配准,并且随时间对该配准进行监控。识别出被遮挡的空间以及已占用的空间,并且经常对此映射进行更新。
[0011] 被监控的空间内的区域可能标记为已占用的、未占用的或未知的;只有空的空间才能最终认为是安全的,并且只有在满足任何其他安全标准时——例如,与一台受控制的机械设备的最小距离——才可以认为是安全的。通常,对来自每个传感器的原始数据进行分析,以确定在与传感器相对应的整个覆盖区域内,是否已确定地检测到3D映射空间的对象或边界。
[0012] 当人在3D空间中移动时,他或她通常会遮挡某些区域妨碍某些传感器,导致空间中暂时未知的区域。此外,诸如工业机械臂等移动机械设备也可能暂时遮挡某些区域。当人或机械设备移动到不同位置时,一个或多个传感器将再次能够观测未知的空间并将其返回到确认为空的状态,且因此对于机器人或机器来说在该空间中运行是安全的。因此,在一些实施例中,空间也可以分类为“可能占用的”。当出现未知的空间可能为已占用的情况时,未知的空间将被视为可能占用的。当未知的空间与工作空间的入口点相邻时,或者如果未知的空间与已占用的或可能占用的空间相邻时,这可能会发生。可能占用的空间以代表人在工作空间中移动的速率“感染”未知的空间。可能占用的空间保持可能占用的状态,直到观测到其为空的为止。出于安全目的,可能占用的空间视作与已占用的空间相同。
[0013] 对于某些传感器模式,例如那些依赖于主动光信号的传感器,传感器确定地检测对象或边界的能力会随着距离的增大而迅速下降;就是说,超出一定距离,由于相关的光级太相似,传感器可能无法区分对象和空的空间。在此类位置的点或区域标记为相对于相关传感器“未知的”,如此标记的区域无法由传感器确认为空的。
[0014] 另一方面,本发明的实施例提供用于确定工作空间中的安全区域的系统和方法,其中,基于所有感测到的相关对象以及基于工作空间中的机械设备(例如,机器人)的当前状态实时计算安全动作。这些实施例可以但不必须利用下面的详细描述中所述的工作空间监控方法。本发明的实施例使用例如人体运动的模型和其他形式的控制来执行机器人几何形状的动态建模,并预测机器人和/或人的未来轨迹。在一些实施例中,机器人的建模和预测可以利用由可以包括或可以不包括安全保证的机器人控制器提供的数据。然而,在任一情况下,本发明的实施例都能够通过对该数据的独立验证以及使用安全级停止功能来提供安全保证。
[0015] 本发明的实施例可以实时地预测空间内的机械设备的运动以及人可能的运动,并且随着机械设备的运行以及人在工作空间中的移动而连续地更新预测。随着系统跟踪和预测,可能会遇到未知的以及可能被人占用的被遮挡的或未知的体积。系统将此类体积视为当前已被人占用。我们的方法克服了对特定区域进行编程的需要,不需要离散的速度限制即可运行,并且在工作空间中更广泛的人类动作范围内保持机器人运动,从而即使机器人继续运行也减少被指定为人员禁止的工作空间区域。
[0016] 又一方面,本发明的实施例确定工件的配置以及工件是否实际上由诸如机器人等受监控的机械设备处理。这些实施例解决的问题在现实工厂环境中尤其具有挑战性,因为许多对象(其中大部分不是工件)可能靠近机械设备。因此,这样的实施例可以利用语义理解来区分可能与工作空间中的机械设备和其他对象(和人)相关联的工件,所述对象在例如机器人正在搬运工件时将会或不会进行检测。在这种情况下,为了建立可能的机器人轨迹的包络,将工件视为机器人的一部分。当机器人和工件在工作单元中一起移动时对包络进行跟踪,且将与其对应的已占用的空间动态地标记为非空的和不安全的。除非可以从其他传感器获得对为空的独立验证,否则机器人工件组合所遮挡的3D空间将被标记为非空的。
[0017] 在各种实施例中,系统包括围绕工作空间分布的多个传感器。每个传感器包括像素网格或与像素网格相关联,用于记录传感器视场内的工作空间的一部分的表示;工作空间的多个部分共同覆盖整个工作空间。计算机内存存储(i)来自传感器的一系列图像,(ii)机器人的模型及其允许的运动,以及(iii)安全协议,规定了机器人在接近人类时的速度限制和机器人与人之间的最小间隔距离。处理器配置为从存储的图像生成工作空间的空间表示(例如,作为体积,其可以对应于体素,即3D像素)。处理器随时间识别并监控工作空间内机器人所占用的空间作为体积中的机器人区域的表示。处理器根据所存储的模型在机器人区域周围生成一包络区域,所述包络区域跨越机器人的允许的运动。
[0018] 处理器还识别并监控代表工件的体积。可以通过在配置过程中确定的有关工件物理形状的信息来辅助这种识别,所述信息可以包括CAD模型、3D扫描或系统在学习阶段学到的3D模型。然后将这些工件体积表征为确定未被人占用的,且因此允许机器人按照安全协议接近。另外,处理器识别工作空间内的机器人和工件之间的相互作用,并且响应于所识别的相互作用,更新机器人区域以包括工件,并根据所存储的模型和更新的机器人区域来更新包络区域。处理器根据安全协议随着更新在机器人区域周围生成安全区域。
[0019] 通常,如本文所用,术语“基本上”是指±10%,在一些实施例中,为±5%。另外,说明书中提及的“一个示例”、“示例”、“一个实施例”或“一实施例”表示与描述该实例有关的特定特征、结构或特性包括在本技术的至少一个实例中。因此,本说明书中在各个地方出现的短语“在一个示例中”、“在示例中”、“一个实施例”或“实施例”不一定都指代相同的示例。此外,特定特征、结构、程序、步骤或特性可以以任何合适的方式组合在本技术的一个或多个示例中。本文提供的标题仅是为了方便,并不旨在限制或解释所要求保护的技术的范围或含义。
附图说明
[0020] 在附图中,相同的附图标记在不同视图中通常指代相同的部分。而且,附图不一定按比例绘制,而是通常将重点放在说明本发明的原理上。在以下描述中,参考以下附图描述本发明的各种实施例,其中:
[0021] 图1为根据本发明的实施例的被监控工作空间的透视图。
[0022] 图2示意性地示出了根据本发明的实施例的被监控工作空间内的区域的分类。
[0023] 图3示意性地示出了根据本发明实施例的控制系统。
[0024] 图4示意性地示出了根据本发明实施例的对象监控系统
[0025] 图5示意性地示出了靠近一台工业机械设备的渐进式安全包络的限定。

具体实施方式

[0001] 在下面的讨论中,我们描述了一种集成系统,用于监控工作空间、出于安全目的对其中的区域进行分类以及动态识别安全状态。在某些情况下,后面的功能涉及对工作空间中的机器人进行语义分析以及识别与其相互作用的工件。然而,应当理解,这些各种元件可以单独地或以期望的组合一起实施;在此讨论的发明方面不需要所描述的所有元件,仅出于易于呈现和说明其互操作性的目的而将它们一起阐述。所描述的系统仅代表一个实施例。1.工作空间监控
[0002] 首先参考图1,其示出了由1021、1022、1023表示的多个传感器监控的3D工作空间100。传感器102可以是常规光学传感器,诸如相机,例如3D飞行时间相机、立体视觉相机或
3D LIDAR传感器或基于雷达的传感器,理想地具有高率(例如,在30Hz和100Hz之间)。传感器102的操作模式不是关键,只要工作空间100的3D表示能够从由传感器102获得的图像或其他数据获得即可。如图所示,传感器102共同覆盖并监控工作空间100,所述工作空间包括由常规机器人控制器108控制的机器人106。机器人与各种工件W相互作用,且工作空间
100中的人P可以与工件和机器人108交互。工作空间100还可以包含各种辅助设备110,这些辅助设备由于从传感器遮挡工作空间的各个部分会使工作空间的分析复杂化。实际上,任何现实的传感器布置都经常无法“看到”活动工作空间的至少一些部分。这在图1的简化布置中示出:由于人P的存在,机器人控制器108的至少一些部分可能从所有的传感器遮挡。在人们来回移动甚至静止对象也可能不时移动的环境中,无法观察到的区域将会转移和变化。
[0003] 如图2所示,本发明的实施例将工作空间区域分类为已占用的、未占用的(或空的)或未知的。为了便于说明,图2示出两个传感器2021、2022和在工作空间200内的两个维度它们的覆盖区域2051、2052;类似地,仅示出了3D对象的2D覆盖区210。覆盖区域205在对象边界和传感器200之间的部分被标记为未占用的,因为每个传感器在该中间空间中肯定都没有检测到障碍物。对象边界处的空间标记为已占用的。在对象边界之外的覆盖区域205中,所有空间都标记为未知的;相应的传感器配置为感测在该区域中的占用,但是由于介入对象210而不能这样做。
[0004] 重新参考图1,来自每个传感器102的数据由控制系统112接收。每个传感器所覆盖的空间体积——通常为实心圆锥体——可以任何合适的方式表示,例如,该空间可以划分为小(例如5厘米)立方体或“体素”的3D网格或其他合适形式的体积表示。例如,工作空间100可以使用2D或3D射线追踪来表示,其中,从传感器102发出的2D或3D射线的交点用作工作空间100的体积坐标。该射线追踪可以动态地执行,或者通过使用预先计算的体积执行,其中工作空间100中的对象事先已由控制系统112识别并捕获。为了便于表示,随后的讨论假设使用体素表示;控制系统112将工作空间100的内部表示维持在体素级别,其中体素被标记为已占用的、未占用的或未知的。
[0005] 图3更详细地示出了控制系统112的代表性实施例,其可以在通用计算机上实施。控制系统112包括中央处理器(CPU)305、系统内存310以及一个或多个非易失性大容量存储设备(诸如一个或多个硬盘和/或光学存储单元)312。系统112还包括双向系统总线315,CPU 
305、内存310和存储设备312相互之间以及与诸如显示器320和外围设备322等内部或外部输入/输出(I/O)设备通过双向系统总线315通信,所述内部或外部输入/输出(I/O)设备可以包括传统的输入设备,例如键盘鼠标。控制系统112还包括无线收发器325和一个或多个I/O端口327。收发器325和I/O端口327可提供网络接口。术语“网络”在本文中广泛地用来表示计算机或电信设备(例如,有线或无线电话、平板电脑等)的有线或无线网络。例如,计算机网络可以是局域网(LAN)或广域网(WAN)。在LAN网络环境中使用时,计算机可以通过网络接口或适配器连接到LAN;例如,管理员可以使用无线加入网络的平板电脑与控制系统
112建立通信。在WAN网络环境中使用时,计算机通常包括调制解调器或其他通信机制。调制解调器可以是内部或外部的,并且可以通过用户输入接口或其他适当的机制连接到系统总线。联网计算机可以通过互联网、内联网、外联网、以太网或任何其他提供通信的系统进行连接。一些合适的通信协议包括例如TCP/IP、UDP或OSI。对于无线通信,通信协议可以包括IEEE 802.11x(“Wi-Fi”)、蓝牙、ZigBee、IrDa、近场通信(NFC)或其他合适的协议。此外,系统的组件可以通过有线或无线路径的组合进行通信,且通信可以涉及计算机和电信网络。
[0006] CPU 305通常是微处理器,但在各个实施例中,可以是微控制器、外围集成电路元件、CSIC(客户专用集成电路)、ASIC(专用集成电路)、逻辑电路数字信号处理器、可编程逻辑设备,例如FPGA(现场可编程门阵列)、PLD(可编程逻辑设备)、PLA(可编程逻辑阵列)、RFID处理器、图形处理单元(GPU)、智能芯片或任何其他能够实现本发明的过程的步骤的设备或设备的设置。
[0007] 系统内存310包含一系列帧缓冲器335,即以数字形式(例如,作为像素或体素或作为深度图(depth maps))存储由传感器102获得的图像的分区;如上所述,数据实际上可以经由I/O端口327和/或收发器325到达。系统内存310包含在概念上图示为一组模的指令,其控制CPU 305的运行及其与其他硬件组件的交互。操作系统340(例如,Windows或Linux)指导低级基本系统功能的执行,例如内存分配、文件管理和大容量存储设备312的运行。在较高级别,并且如下面更详细地描述的,分析模块342将图像寄存在帧缓冲器335中并对其进行分析以对所监控的工作空间100的区域进行分类。分类的结果可以存储在空间图(space map)345中,其包含工作空间100的体积表示,其中空间图中的每个体素(或其他表示单元)如本文所述进行标记。替代地,空间图345可以简单地为体素的3D阵列,其中体素标签存储在单独的数据库中(在内存310中或在大容量存储312中)。
[0008] 控制系统112还可以使用共同以350指示的常规控制例程来控制工作空间100中的操作或机械设备。如以下所解释的,随着人和/或机器的移动,工作空间的配置以及因此与其体素表示相关联的分类可能随时间而改变,并且控制例程350可以响应于操作机械设备中的这些改变以实现高安全级别。系统内存310中的所有模块可以用任何合适的编程语言来编程,包括但不限于高级语言,诸如C、C++、C#、Ada、Basic、Cobra、Fortran、Java、Lisp、Perl、Python、Ruby,或低级汇编语言。1.1传感器配准(Registration)
[0009] 在典型的多传感器系统中,在设置期间建立每个传感器102相对于所有其他传感器的精确位置。传感器配准通常是自动执行的,并且应尽可能简单,以简化设置和重新配置。为了简单起见,假设每个帧缓冲器335存储来自特定传感器102的图像(可以周期性地刷新),分析模块342可以通过将来自每个传感器的全部或部分图像与来自帧缓冲器335中的其他传感器的图像进行比较并使用常规计算机视觉技术来识别那些图像中的对应关系来配准传感器102。不需要初始配准近似(registration approximation)的合适的全局配准(global-registration)算法通常分为两类:基于特征的方法和基于强度的方法。基于特征的方法识别图像特征(如边缘)之间的对应关系,而基于强度的方法则使用强度图样之间的相关性指标(correlation metrics)。一旦识别出近似配准,就可以使用迭代最近点(ICP)算法或其合适的变型来微调配准。
[0010] 如果各个传感器102的视场之间有足够的重叠,并且工作空间100中有足够的细节以提供不同的传感器图像,可能就足以比较静态工作空间的图像。如果不是这种情况,则可以将具有3D独特签名的“配准对象”放置在工作空间100内所有传感器都能检测到的位置。替代地,可以通过使传感器102记录一段时间内站立在工作空间中或在工作空间中行走的一个或多个人的图像,组合足够数量的部分匹配的图像直到实现精确的配准来实现配准。
[0011] 在某些情况下,无需任何额外的仪器即可对工作空间100内的机械设备进行配准,特别是如果机械设备具有独特的3D形状(例如,机械手),只要机械设备对于至少一个相对于其它传感器配准的传感器可见即可。替代地,可以使用配准对象,或者在显示器320中示出并显示由传感器观察到的场景的用户界面可以允许用户将图像的某些部分指定为受控制的机械设备的关键元素。在一些实施例中,界面提供交互式3D显示,其显示所有传感器的覆盖范围以帮助配置。如果系统配置有关于被控制机械设备的某种程度的高级信息(例如,出于控制例程350的目的)——例如机械设备的一个或多个危险部件的位置以及停止时间和/或距离——分析模块342可以配置为提供关于传感器是否提供足够的覆盖范围的智能反馈,并建议对于另外的传感器的放置。
[0012] 例如,在给定步行速度的保守估计的情况下,可以对分析模块342进行编程,以确定距观察到的机械设备必须检测到人的最小距离,以便人接近机械设备(或其周围的安全区域)时停止机械设备。(或者,所需的检测距离可以通过显示器320直接输入到系统中。)可选地,分析模块342然后可以分析所有传感器的视场以确定空间是否充分覆盖以检测所有的接近。如果传感器覆盖范围不足,分析模块342可以建议对于现有传感器的新位置或对于另外的传感器的位置,这将弥补该缺陷。否则,控制系统将默认为安全状态,且控制例程350将不允许机械设备运行,除非分析模块342证实所有的接近都能够有效监控。机器学习和遗传或进化算法可用于确定单元内的最佳传感器放置。要优化的参数包括但不限于最大程度地减少运行过程中机器人周围的遮挡以及机器人和工件的可观察性。
[0013] 如果需要,此静态分析可以包括“背景”减法。在初始启动时段期间,当可以安全地假定没有对象侵入到工作空间100中时,分析模块342识别静态元素占据的所有体素。然后可以从将来的测量中减去这些元素,不将其视为潜在的侵入对象。尽管如此,执行连续监控以确保观察到的背景图像与在启动期间存储的空间图345一致。如果固定对象被移除或添加到工作空间中,背景也可以更新。
[0014] 可能存在传感器102不能充分观察以提供安全性的一些区域,但是这些区域受到其他方法(例如笼罩等)的防护。在这种情况下,用户界面可以允许用户将这些区域指定为安全的,覆盖基于传感器的安全性分析。安全级的(safety-rated)软轴(soft4-axis)和速率限制也可以用来限制机器人的包络,以提高系统性能。
[0015] 一旦已经实现配准,则在监控工作空间100的同时,传感器102应保持在相同的位置和方向。如果一个或多个传感器102意外移动,则产生的控制输出将无效,并可能导致安全隐患。分析模块342可以扩展用于初始配准的算法以监控配准的连续准确性。例如,在初始配准期间,分析模块342可以计算观测到的数据与在配准过程期间捕获的工作单元静态元素的模型的拟合精度的指标。随着系统的运行,相同的指标可以再次计算。如果在任意时刻指标超过指定的阈值,则配准被视为无效,并触发错误条件;作为响应,如果任何机械设备正在运行,控制例程350可以将其停止或将机械设备转换到安全状态。1.2识别已占用的和可能占用的区域
[0016] 一旦传感器已经配准,控制系统112就以高固定频率(例如,每个分析周期)周期性地更新空间图345,以便能够识别进入工作空间100的所有侵入。空间图345反映了来自某些或所有传感器102的数据融合。但是给定3D数据的性质,取决于传感器102的位置和工作空间100的配置,一个位置的对象可能将会遮挡在其他位置的对象的传感器的视野,包括比遮挡对象更靠近危险的机械设备的对象(可能包括人或人的一部分,例如手臂)。因此,为了提供可靠的安全系统,该系统监控被遮挡的空间以及已占用的空间。
[0017] 在一个实施例中,空间图345为体素网格。通常,每个体素都可能被标记为已占用的、未占用的或未知的;只有空的空间才能最终视为安全的,并且只有当满足任何其他安全标准——例如,与一台受控的机械设备的最小距离——时才能视为安全的。对来自每个传感器的原始数据进行分析,以确定是否已针对每个体素在与该体素相对应的体积中确定地检测到3D映射空间的对象或边界。为了增强安全性,分析模块342可以仅将由多个传感器102观测到为空的体素指定为空的。同样,所有无法确认为空的空间都标记为未知的。因此,仅传感器102和检测到的对象或沿着射线的映射3D空间边界之间的空间可以标记为空的。
[0018] 如果传感器在给定的体素中检测到任何东西,则位于从该传感器的焦点开始并经过已占用的体素的射线上以及位于焦点和已占用的体素之间的所有体素都归类为未占用的,而位于该射线上的已占用的体素之外的所有体素都归类为对该传感器来说是遮挡的;所有这些被遮挡的体素均视为“未知的”。来自所有传感器的信息都可以组合以确定哪些区域对于所有传感器都是被遮挡的;这些区域视为未知的且因此是不安全的。分析模块342可以最终仅将已经被至少一次(或者,在一些实施例中,至少两次)标记为“未占用的”的体素或工作空间体积标记为“未占用的”。基于与工作空间内的体素或离散体积相关联的标记,分析模块342可以在空间图345内映射一个或多个安全体积区域。这些安全区域在机械设备的安全区域之外,并且仅包括标记为未占用的体素或工作空间体积。
[0019] 依赖于反射的有源光学传感器(例如LIDAR和飞行时间相机)的常见故障模式是,它们不会从反射不充分的表面和/或当传感器和表面之间的入射太小时返回任何信号。这可能导致危险的故障,因为如果没有遇到障碍物,则该信号可能与返回的结果无法区分;
换句话说,尽管可能存在障碍物,但传感器将报告空的体素。这就是为什么ISO标准对于例如2D LIDAR传感器规定了必须检测到的对象的最小反射率;但是,对于某些3D传感器形式(例如ToF),这些反射率标准可能难以满足。为了缓解该故障形式,分析模块342仅在沿着相同的射线在更远的距离处确定地检测到某些障碍物时才将空间标记为空的。通过将传感器稍微向下指向,以便在没有障碍物的情况下大多数射线将遇到地板,因此可以确定地分析工作空间100的大部分。但是,如果给定体素中感测到的光级不足以确定性地确定为空的或存在边界,则将体素标记为未知的。信号和阈值可以取决于所使用的传感器的类型。在基于强度的3D传感器(例如,飞行时间相机)的情况下,阈值可以是信号强度,该信号强度可能会被工作空间中反射率低的对象衰减。在立体视觉系统的情况下,阈值可以是视场中分辨各个对象的能力。根据所使用的传感器的类型,可以利用其他信号和阈值组合。
通过将所有未知的空间视为已占用的,可以创建安全系统。但是,在某些情况下,这可能过于保守,从而导致性能不佳。因此,希望根据未知的空间是否可能为已占用的而对未知的空间进一步分类。当人在3D空间内移动时,他或她通常会遮挡某些传感器的某些区域,导致空间中暂时未知的区域(参见图1)。此外,诸如工业机械臂等移动的机械设备也可能会暂时遮挡某些区域。当人或机械设备移动到不同的位置时,一个或多个传感器将再次能够观测未知的空间并将其返回到确认为空的状态,在该状态机器人或机器的运行是安全的。因此,在一些实施例中,空间也可以分类为“可能占用的”。当出现未知的空间可能为已占用的情况时,未知的空间视为可能占用的。当未知的空间与工作空间的入口点相邻时,或者如果未知的空间与已占用的或可能占用的空间相邻时,可能会发生这种情况。可能占用的空间以代表人在工作空间中移动的速率“感染”未知的空间。可能占用的空间保持为可能占用的状态,直到观测到其为空的。出于安全目的,将可能占用的空间视作与已占用的空间相同。
可能需要使用诸如基于贝叶斯过滤等的概率技术来确定每个体素的状态,允许系统组合来自多个样本的数据以在结果中提供更高的置信度。包括预测速度(例如,手臂的举起速度可能快于人的行走速度)的人体运动的合适模型很容易获得。
2.对对象进行分类
[0020] 对于许多应用,如上所述对工作空间中的区域的分类可能是充分的——例如,如果控制系统112正在监控在正常运行期间完全不应该有任何对象的空间。然而,在许多情况下,需要监控在正常运行期间至少存在一些对象的区域,例如一台或多台机器以及机器在其上运行的工件。在这些情况下,分析模块342可以配置为识别意外的或可能为人的侵入对象。这种分类的一种合适的方法是将各个已占用的体素聚类为可以在更高级别进行分析的对象。
[0021] 为了实现这一点,分析模块342可以实施几种常规的、众所周知的聚类技术中的任何一种,诸如欧几里得聚类(Euclidean clustering)、K-均值聚类(K-means clustering)和吉布斯采样聚类(Gibbs-sampling clustering)。这些或类似算法中的任何一种都可以用于从3D点数据中识别已占用的体素的聚类。还可以使用网格技术,该技术确定最适合点云数据的网格,然后使用网格形状确定最佳聚类。一旦识别出,这些聚类可以以各种方式使用。
[0022] 可以使用的一种简单的聚类方法为消除太小而无法容纳人的已占用的或可能占用的体素的小组。如上所述,这样的小聚类可能来自占用和遮挡分析,并且否则可能导致控制系统112错误地识别危险。通过简单地将每个图像帧中的已识别聚类与先前帧中的附近聚类相关联,或使用更复杂的图像处理技术,可以随时间对聚类进行跟踪。聚类的形状、大小或其他特征可以从一帧到下一帧进行识别和跟踪。这样的特征可用于确认帧与帧之间的聚类之间的关联,或用于识别聚类的运动。该信息可用于增强或启用以下描述的某些分类技术。另外,可以采用跟踪点的聚类来识别错误的并从而识别潜在的危险情况。例如,在先前的帧中不存在并且不接近视场的已知边界的聚类可以指示错误情况。
[0023] 在某些情况下,可能足以过滤出某个大小以下的聚类,并识别表明错误状态的聚类转换。但是,在其他情况下,可能有必要将对象进一步分类为四个类别中的一个或多个:(1)由系统112控制的机械设备的元件,(2)机械设备在其上运行的一个或多个工件,以及(3)可能以无法预测的方式运动并且可能被机械设备伤害的其他外来对象,包括人。对人与其他未知的外来对象进行最终分类可能有也可能没有必要。可能有必要这样来确定地识别机械设备的元件,因为根据限定,这些元件将始终与机械设备本身处于“碰撞”状态,因此如果检测到这些元件并且分类不正确,则会导致系统错误地停止机械设备。类似地,机械设备通常会与工件接触,但是机械设备与人接触通常是危险的。因此,分析模块342应当能够区分工件和未知的外来对象,尤其是人。
[0024] 可以通过上述可选的背景减法校准步骤将机械设备本身的元件进行分类处理。在机械设备改变形状的情况下,可以例如通过向分析模块342提供关于这些元件的信息(例如,作为可缩放的3D表示)以及在某些情况下(例如,工业机械手)提供有关机械设备的状态的即时信息源来识别和分类机械设备的元件。分析模块342可以在传感器102的观测下通过孤立地操作机械设备、输送机等进行“训练”,使分析模块342学习由于执行全部动作和姿势而产生的精确的运行区域。分析模块342可将所得到的空间区域分类为已占用的。
[0025] 可以采用常规的计算机视觉技术来使分析模块342能够区分工件和人。其中包括深度学习,这是机器学习的一个分支,旨在使用更高级别的数据抽象。这些深度学习算法中最成功的是卷积神经网络(CNN)和最近的递归神经网络(RNN)。但是,这种技术通常用于意外误认人为非人不会造成安全隐患的情况。为了在当前环境中使用这样的技术,可能需要作许多修改。首先,通常可以将机器学习算法调整为偏错误肯定或偏错误否定(例如,可以针对高特异性和低敏感性对逻辑回归进行调整)。在这种情况下,错误肯定不会造成安全隐患——如果机器人将工件误认为是人,则会做出保守反应。此外,可以使用基于不同图像属性的多种算法或神经网络,提高对于实现安全等级足够的可靠性至关重要的差异性。通过使用提供同一对象的3D和2D图像数据的传感器,可以获得一种特别有价值的差异性来源。如果任何一种技术将一对象识别为人,则该对象将被视为人。使用多种技术或机器学习算法,所有技术都经过调整以偏错误肯定而不是错误否定,可以实现足够的可靠性。此外,可以对多个图像随时间进行跟踪,进一步提高可靠性——再次,可以将每个对象都视为人类,直到有足够的识别将其标识为非人类以实现可靠性指标。本质上,该差异性的算法,与其说是识别人类,不如说是识别确定不是人类的事物。
[0026] 除了组合分类技术外,还可以完全不依赖任何类型的人类分类的方式来识别工件。一种方法是通过提供工件的模型来配置系统。例如,系统配置中的“学习”步骤可以简单地将工件的图像或关键特征提供给分析模块342,分析模块在空间图345中搜索匹配的配置,或者可以替代地涉及训练神经网络以同样地在空间图中将工件自动分类。在任一种情况下,仅将与存储的模型精确匹配的对象视为工件,而将所有其他对象视为人类。
[0027] 另一种合适的方法是指定工作空间内的特定区域,如空间图345所示,工件将进入该特定区域(例如传送带的顶部)。只有在该位置进入工作空间的对象才符合视为工件的条件。然后,从工件进入工作空间到离开工作空间,可以对工件进行建模和跟踪。当诸如机器人等受监控的机器正在处理工件时,控制系统112确保工件仅以与机器人末端执行器的预期运动一致的方式运动。诸如传送带之类的已知设备也可以以此方式建模。可禁止人类以工件的方式,例如坐在传送带上,进入工作单元。
[0028] 所有这些技术都可以单独使用或组合使用,具体取决于设计要求和环境限制。然而,在所有情况下,可能存在分析模块342失去对所识别的对象是否为工件的跟踪的情况。在这些情况下,系统应回到安全状态。然后可以将一互锁装置(interlock)放置在工作空间的安全区域中,在该区域工人可以确认没有外来对象,允许系统恢复运行。
[0029] 在某些情况下,外来对象进入工作空间,但随后应被忽略或视为工件。例如,配置时在工作空间中不存在的一堆箱子随后可以放置在其中。这种类型的情况随着柔性系统替代固定防护装置将变得更加普遍,可以通过提供一用户界面(例如,显示在显示器320中或与控制系统112进行无线通信的设备上)来解决,所述用户界面允许工人将新对象指定为安全的以用于将来的交互。当然,分析模块342和控制例程350仍然可以起到防止机械设备与新对象碰撞的作用,但是新对象将不会被视为可能移向机械设备的可能为人类的对象,从而允许系统以不太保守的方式处理。3.生成控制输出
[0030] 在此阶段,分析模块342已经识别出被监控区域100中出于安全目的必须考虑的所有对象。给定此数据,可以采取各种措施并生成控制输出。在静态校准期间或在工作空间处于无人的默认配置的情况下,空间图345对人来说可用于评估传感器覆盖范围、部署的机械设备的配置以及人与机器之间不必要的相互作用的机会。即使没有设置笼罩或固定防护,也可以通过引导或鼓励人通过如上所述标记为安全区域的区域并远离传感器覆盖范围较差的区域来改善整体工作空间布局。
[0031] 当检测到某些条件时,响应于分析模块342,控制例程350可以生成操作工作空间100内的机械设备(诸如机器人)的控制信号。此控制可以是二元的,指示安全或不安全的条件,也可以更复杂,例如指示哪些动作是安全和不安全的。最简单的控制信号类型是二进制信号,指示在特定区域中是否检测到已占用的或可能占用的体积的侵入。在最简单的情况下,存在单个侵入区域,并且控制系统112提供指示侵入的单个输出。该输出可以例如经由I/O端口327传送到受控制的机械设备上的互补端口,以停止或限制机械设备的运行。在更复杂的情况下,将分别监控多个区域,并且控制例程350通过I/O端口327或收发器325通过网络将数字输出发送到目标机械设备(例如,使用互联网协议或其他合适的寻址方案)。
[0032] 可以监控的另一个条件是工作空间中任何对象与机器之间的距离,可与2D接近传感器的输出相比。通过建立接近程度阈值可以将其转换为二进制输出,在该阈值以下输出应当声明。该系统还可能需要记录并提供最接近机器的对象的位置和范围。在其他应用中,例如协作工业机器人的安全系统,所需的控制输出可以包括在传感器102覆盖的区域内观察到的所有对象的位置、形状和范围。4.安全动作约束与安全区域的动态确定
[0033] ISO 10218和ISO/TS 15066将速度和间隔监控描述为一种安全功能,可以实现工业机器人和工人之间的协作。通过在机器人运动期间至少维持工人与机器人之间的保护性间隔距离来实现险降低。使用包括机器人和工人的位置和移动、机器人停止距离、测量不确定度、系统延迟和系统控制频率在内的信息来计算该保护性间隔距离。当计算出的间隔距离减小到保护性间隔距离以下的值时,机器人系统停止。这种方法学可以从工业机器人推广到机械设备领域。
[0034] 为了方便起见,以下讨论着重于动态限定围绕工作空间100中运行的机器人的安全区域。但是,应当理解,本文描述的技术不仅适用于多个机器人,还适用于当太接近时可能会造成危险且具有最小的安全间隔距离的任何形式的机械设备,所述最小的安全间隔距离可能随时间和由机器执行的特定动作而变化。如上所述,传感器阵列获得足够的图像信息,以在每个分析周期中以3D形式表征机器人以及机器人周围区域中所有相关对象的位置和范围。(每个分析周期包括图像捕获、帧缓冲器刷新和计算分析;因此,尽管分析或控制周期的时间段对于实时进行有效监控足够短,但是它涉及许多个计算机时钟周期。)分析模块342利用该信息以及关于机器人在每个周期的当前状态的瞬时信息来确定机器人的运动的瞬时、当前安全动作约束。所述约束可以直接通过分析模块342或通过控制例程350传达给机器人,也可以通过收发器325或I/O端口327传达给机器人。
[0035] 参考图4的系统组织和运行的概念说明可以最好地理解系统的运行。如上所述,传感器阵列102监控包括机器人402的工作空间400。机器人的运动由常规的机器人控制器407控制,机器人控制器可以是机器人本身的一部分或与机器人本身分开;例如,单个机器人控制器可以向多个机器人发出命令。机器人的活动可以主要涉及机械手,所述机械手的运动由机器人控制器407使用操作机械手关节以实现所需运动的关节命令来协调。对象监控系统(OMS)410从传感器102获取有关对象的信息,并使用该传感器的信息来识别工作空间400中的相关对象。OMS 410经由任何合适的有线或无线协议与机器人控制器407通信。(在工业机器人中,控制电子设备通常位于外部控制箱中。但是,对于具有内置控制器的机器人,OMS 410直接与机器人的板载控制器通信。)使用从机器人(通常是传感器102)获得的信息,OMS 
410确定机器人的当前状态。于是OMS 410在给定机器人的当前状态和所有识别的相关对象的情况下确定机器人402的安全动作约束。最后,OMS 410将安全动作约束传达给机器人
407。(将理解,参照图3,OMS 410的功能在控制系统112中由分析模块342执行,并且在某些情况下由控制例程350执行。)
4.1识别相关对象
[0036] 传感器102以上述方式以固定频率提供由对象分析模块415分析的实时图像信息;特别地,在每个周期,对象分析模块415识别工作空间400中在机器人的触及范围内或者可以以保守的预期速度移动到机器人的触及范围内的所有对象的精确3D位置和范围。如果不是所有相关体积都在传感器102的共同视场内,则OMS 410可以配置为如此确定并指示该区域内所有固定对象(或这些对象的保守超集)的位置和范围和/或验证是否已使用其他防护技术来防止进入未受监控的区域。
4.2确定机器人状态
[0037] 机器人状态确定模块(RSDM)420响应来自传感器102的数据以及来自机器人402和/或机器人控制器407的信号,以确定机器人的瞬时状态。特别地,RSDM 420确定机器人402在工作空间400内的姿态和位置;这可以使用传感器102、来自机器人和/或其控制器的信号或来自这些源的某种组合的数据来实现。RSDM 420还可以确定机器人402或其任何附件的瞬时速度;此外,可能需要了解机器人的瞬时关节加速度或扭矩,或计划的未来轨迹,以便确定如下所述的后续周期的安全运动约束。通常,该信息来自机器人控制器407,但是在某些情况下,可以直接从传感器102记录的图像中进行推断,如下所述。
[0038] 例如,这些数据可以由机器人402或机器人控制器407经由提供对安全级数据的访问的安全级通信协议来提供。然后,可以通过将提供的关节位置与每个连杆的静态3D模型进行组合以获得整个机器人402的3D形状来确定机器人的3D姿态。
[0039] 在某些情况下,机器人可以提供一接口来获得非安全级的关节位置,在这种情况下,可以对照来自传感器102的图像验证关节位置(例如,使用安全级软件)。例如,可以将接收到的关节位置与每个连杆的静态3D模型进行组合,以生成整个机器人402的3D模型。该3D图像可用于移除传感数据中属于机器人本身的任何对象。如果关节位置正确,这将完全消除归因于机器人402的所有对象数据。然而,如果关节位置不正确,则机器人402的真实位置将与模型不同,并且将不会移除所检测的机器人的某些部分。然后这些点将在新周期中显示为外来对象。在前一个周期中,可以假定关节位置正确,因为否则机器人402将已被停止。由于机器人的基础关节不移动,因此至少其中一个分支点必须靠近机器人。然后可以使用对靠近机器人402的意外对象的检测来触发错误条件,这将使控制系统112(参见图1)将机器人402转换到安全状态。或者,可以使用传感器数据使用相关算法来识别机器人的位置,例如上文在配准部分中所述,并且可以将该检测到的位置与机器人报告的关节位置进行比较。如果已经以这种方式验证了由机器人402提供的关节位置信息,则可以将其用于验证关节速度信息,然后可以将其用于预测未来的关节位置。如果这些位置与先前验证的实际关节位置不一致,则程序可以类似地触发错误条件。这些技术允许使用非安全级接口来生成数据,然后可以使用这些数据来执行其他安全功能。
[0040] 最后,RSDM 420可以配置为仅使用传感器102提供的图像信息来确定机器人的关节状态,而无需机器人402或控制器407传感器102提供的任何信息。给定机器人的所有连杆的模型,RSDM 420可以使用几种常规的、众所周知的计算机视觉技术中的任何一种来将模型与传感器数据配准,从而确定建模对象在图像中的位置。例如,ICP算法(如上所述)将两个3D点云之间的差异最小化。ICP通常可以有效地提供局部最优的方案,因此,如果已知近似位置,则可以准确地使用ICP。如果算法每个周期运行,就将是这种情况,这是因为机器人402不能远离其先前位置。因此,不需要全局最佳的配准技术,其可能实时运行不够高效。给定由配准算法识别的关节位置,然后可以使用数字滤波器(例如卡尔曼滤波器或粒子滤波器)确定瞬时关节速度。
[0041] 这些基于图像的监控技术通常依赖于在每个系统周期运行,并假设系统在上一个周期处于安全状态。因此,可以在机器人402启动时执行测试——例如,确认机器人处于已知的、预先配置的“原始”位置以及所有的关节速度均为零。自动化设备通常具有一组由操作员以固定间隔执行的测试,例如,当设备启动或换班时。可靠的状态分析通常需要每个机器人连杆的准确模型。该模型可以先验地获得,例如从机器人制造商提供的3D CAD文件或工业工程师针对特定项目生成的3D CAD文件中。但是,此类模型可能不可用,至少不适用于机器人及其可能具有的所有可能的附件。
[0042] 在这种情况下,RSDM 420可以例如使用传感器102创建模型本身。这可以在单独的训练模式下完成,其中机器人402运行一组动作,例如,打算在给定应用中使用的运动和/或旨在为传感器102提供每个连杆的适当视野的一组运动。可以但不是必须地先验地提供有关机器人的一些基本信息,例如每个连杆的长度和旋转轴。在此训练模式期间,RSDM 420生成每个连杆的3D模型,包括所有必需的附件。然后,RSDM 420可以结合传感器图像使用此模型来确定机器人状态。4.3确定安全动作约束
[0043] 在传统的轴限制和速率限制应用中,工业工程师在给定机器人的计划轨迹和工作空间布局的情况下计算对于机器人来说哪些动作是安全的——完全禁止了机器人的运动范围的一些区域并限制了在其他区域的速度。这些限制假定一固定的静态工作环境。在这里,我们关注的是动态环境,在这种环境中,对象和人来来往往、改变位置;因此,安全动作确定模块(SADM)425基于所有感测到的相关对象以及机器人402的当前状态实时计算安全动作,并且这些安全动作可以每周期更新。为了被认为是安全的,动作应确保机器人402不会与任何静止的对象碰撞,并且还应确保机器人402不会与可能正朝机器人移动的人接触。由于机器人402具有某种最大的可能减速度,应指示控制器407开始提前充分降低机器人的速度,以确保在接触前可以达到完全停止。
[0044] 实现此目的的一种方法是将机器人的最大速度(即机器人本身或其任何附件的速度)与机器人上的任意点与要避开的相关组的感测对象的任意点之间的最小距离成比例地进行调整。当最接近的对象距离某个阈值距离更远时,允许机器人以最大速度运行,在该阈值距离之外,无需担心碰撞,且如果对象在某个最小距离内,将机器人完全停止。可以将足够的余量添加到指定的距离,以解决相关对象或人以某个最大实际速度向机器人的移动。这在图5中示出。SADM 425在机器人504周围通过计算生成外部包络或3D区域502。在该区域
502之外,人P的所有运动都视为安全的,因为在运行周期内,它们不能使人足够靠近机器人
504而造成危险。通过计算定义在区域502内的第二3D区域508内的人P的身体的任何部分的检测由SADM 425记录,但是允许机器人504继续全速运行。如果人P的任何部分超过区域508的阈值但仍在内部危险区域510之外,则向机器人504发出信号,使其以较慢的速度运行。如果人P的任何部分进入危险区域510——或基于人的运动的模型预测在下一个周期内进入危险区域510——机器人504的运行停止。如果机器人504在环境内移动,这些区域可以进行更新。
[0045] 针对SADM 425,该技术的改进是与最小距离的平方根成比例地控制最大速度,这反映了这样一个事实,在恒定减速度的情况下,速度与行进距离的平方根成比例地变化,结果是更顺畅且更高效,但仍然同样安全。针对SADM 425的进一步改进是,与碰撞的最短可能时间成比例地调整最大速度——即,及时向前投射机器人的当前状态,向机器人轨迹投射侵入,以及识别最近的潜在碰撞。该改进的优点是,机器人从障碍物远离的速度比朝向障碍物的速度更快,这可以最大程度地提高吞吐量,同时仍能正确地保持安全性。由于机器人的未来轨迹不仅取决于其当前速度,还取决于后续命令,因此SADM 425可以在给定机器人当前关节位置和速度的情况下,在一定的反应时间内考虑机器人402能够到达的所有点,并基于这些状态中的任何一个的最小碰撞时间产生要发出的控制信号。针对SADM 425的另一种进一步的改进是在进行此计算时考虑到机器人的整个计划轨迹,而不是仅考虑瞬时关节速度。另外,SADM 425可以经由机器人控制器407改变机器人的轨迹,而不是仅改变沿着轨迹的最大速度。可以从一组固定的轨迹中选择一个减少或消除潜在碰撞的轨迹,甚至可以实时生成新轨迹。
[0046] 尽管不一定违反安全规定,但通常不希望与工作空间的静态元件发生碰撞。相关对象组可以包括工作空间中的所有对象,包括静态背景(例如墙和桌子)以及运动对象(例如工件和工人)。根据先前的配置或运行时检测,传感器102和分析模块342可能能够推断出哪些对象可能正在移动。在这种情况下,可以对上述任何算法进行改进,以留出额外的余量来考虑可能正在移动的对象,但要消除已知为静态的对象的那些余量,以免不必要地降低吞吐量但仍然自动消除与工作单元的静态部分碰撞的可能性。
[0047] 除了简单地留出余量来考虑潜在移动对象的最大速度外,基于传感系统检测到的信息的状态估计技术也可用于及时向前投射人和其他对象的运动,从而扩展控制例程350可用的控制选项。例如,骨骼跟踪技术可用于识别已检测到的人的运动肢体,并基于人体的属性和估计的例如人的手臂而不是整个人的运动来限制潜在的碰撞。4.4向机器人传达安全动作约束
[0048] 由SADM 425识别的安全动作约束可以在每个周期通过机器人通信模块430由OMS 410传达给机器人控制器407。如上所述,通信模块可以对应于与机器人控制器407上的互补端口的I/O端口327接口,或者可以对应于收发器325。大多数工业机器人都提供与外部设备一起使用的各种接口。合适的接口应至少在系统的控制频率下以低延迟运行。接口可以配置为允许对机器人进行编程并像通常一样运行,最大速度通过接口发送。或者,某些接口允许以路径点的形式传递轨迹。使用这种类型的接口,可以在OMS 410内接收并存储机器人
402的预期轨迹,然后可以根据安全动作约束生成更靠近或更远的路径点。类似地,允许输入目标关节扭矩的接口可用于驱动据此计算的轨迹。这些类型的接口也可用于SADM 425根据安全动作约束选择新轨迹或修改轨迹的情况。
[0049] 如同用于确定机器人状态的接口一样,如果机器人402支持提供对相关安全级控制输入的实时访问的安全级协议,这可能就足够了。但是,安全级协议不可用,可以使用系统上的其他安全级软件来确保整个系统保持安全。例如,如果机器人根据已传达的安全动作运行,则SADM 425可以确定机器人的预期速度和位置。然后,SADM 425如上所述确定机器人的实际状态。如果机器人的动作与预期动作不对应,则SADM 425通常使用紧急停止信号使机器人转换到安全状态。这有效地实现了实时安全级控制方案,无需超出安全级停止机制的实时安全级接口。
[0050] 在某些情况下,混合系统可能是最佳的——许多机器人具有数字输入,可用于保持安全监控的停止(safety-monitored stop)。例如,当入侵对象距离机器人相对较远时,可能需要使用用于可变速度的通信协议,但是当机器人必须完全停止时,例如,当入侵对象靠近机器人时,使用数字安全监控的停止。
[0051] 以上描述了本发明的某些实施例。然而,明确指出,本发明不限于这些实施例;相反,对本文明确描述的内容的添加和修改也包括在本发明的范围内。
[0052] 权利要求书:
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈