物体移动系统的制作方法

文档序号:30713530发布日期:2022-07-11 15:15阅读:5017来源:国知局
物体移动系统的制作方法

1.本发明涉及用于在环境中移动物体的系统和方法,在一个特定示例中,涉及使用连接到物体上的一个或多个模块化轮子来移动物体的系统和方法。


背景技术:

2.本说明书中对任何先前出版物(或从其衍生的信息)或任何已知事项的引用不是也不应被视为对先前出版物的承认或承认或任何形式的建议(或从中派生的信息)或已知事物构成本规范所涉及的努力领域中公知常识的一部分。
3.troy cordie、tirthankar bandyopadhyay、jonathan roberts、ryan steindl、ross dungavell和kelly greenop在2016年澳大利亚机器人与自动化会议,acra 2016p107-115中的“使用模块化移动单元实现快速现场部署”描述了一组模块化轮子,可实现定制平台开发,以实现快速现场部署。模块化轮子受现有模块化和检查机器人的影响,但为探索各种环境提供了一种易于操作的解决方案。每个轮子提供两个自由度,允许在一个平面内实现任何连续定向。板载计算和wi-fi连接使模块化轮子能够单独或协作运行。通过使用适配器,可以根据需要创建异构机器人平台。正如实验室和现场演示的那样,可以在运行时创建不同形状、大小和配置的机器人。系统模型的动态特性决定了向用户提供差分、阿克曼和非完整全向控制选项的控制特性。
4.在上述系统中,整体控制由操作员执行,从而限制系统与手动控制一起使用。


技术实现要素:

5.在一个广义的形式中,本发明的一个方面试图提供一种用于在环境中移动物体的系统,该系统包括:至少一个用于移动物体的模块化轮子,其中,至少一个模块化轮子包括:被配置为连接到所述物体上的主体;轮子;被配置为使轮子旋转的驱动器;以及配置为控制所述驱动器的控制器;以及一个或多个处理设备,其被配置为:从多个成像设备中的每一个接收包括多个捕获图像的图像流,所述多个成像设备被配置为捕获环境内物体的图像;分析图像以确定环境中的物体位置;至少部分地使用所述确定的物体位置生成控制指令;以及,向所述控制器提供所述控制指令,所述控制器响应所述控制指令以控制所述驱动器并因此移动所述物体。
6.在一个实施例中,所述系统包括安装到所述物体上的一个或多个被动轮。
7.在一个实施例中,所述至少一个模块化轮子包括转向驱动器,所述转向驱动器被配置为调整所述轮子的方向,其中,所述控制器被配置为控制所述转向驱动器从而改变所述轮子的方向。
8.在一个实施例中,所述至少一个模块化轮子包括收发器,所述收发器被配置为与所述一个或多个处理设备进行无线通信。
9.在一个实施例中,所述至少一个模块化轮子包括被配置为为以下各项中的至少一项供电的电源:驱动器;控制器;收发器;以及转向驱动器。
10.在一个实施例中,所述控制指令包括以下至少一项:每个轮子的轮子方向;以及每个轮子的转速。
11.在一个实施例中,所述系统包括多个模块化轮子。
12.在一个实施例中,所述一个或多个处理设备被配置为向每个控制器提供相应的控制指令,从而独立地控制每个模块化轮子。
13.在一个实施例中,所述一个或多个处理设备被配置为向所述控制器提供控制指令,其中,所述控制器进行通信以独立地控制每个模块化轮子。
14.在一个实施例中,所述控制指令包括所述物体的行进方向和速率,其中,所述控制器使用所述控制指令来确定以下至少一项:每个轮子的轮子方向;以及每个轮子的转速。
15.在一个实施例中,所述系统被配置为通过以下至少一项来使所述车辆转向:差动旋转多个模块轮子;以及改变一个或多个模块化轮子的方向。
16.在一个实施例中,所述一个或多个处理设备被配置为:确定物体配置;以及至少部分地根据物体范围生成所述控制指令。
17.在一个实施例中,所述物体配置指示以下至少一项:所述物体的物理范围;以及与所述物体相关的运动参数。
18.在一个实施例中,所述一个或多个处理设备被配置为:确定指示每个轮子相对于所述物体的位置的轮子配置;以及至少部分地根据所述轮子配置生成控制指令。
19.在一个实施例中,所述至少一个模块化轮子各自在已知位置处连接到所述物体。
20.在一个实施例中,所述物体包括平台,并且其中,所述至少一个模块化轮子连接到所述平台。
21.在一个实施例中,所述物体包括由所述平台支撑的物品。
22.在一个实施例中,所述一个或多个处理设备被配置为:确定以下至少一项的标识:每个模块化轮子;以及所述物体;以及根据所述标识生成控制指令。
23.在一个实施例中,所述一个或多个处理设备被配置为至少部分地使用网络标识符来确定所述标识。
24.在一个实施例中,所述一个或多个处理设备被配置为使用机器可读编码数据来确定标识。
25.在一个实施例中,所述机器可读编码数据是可见数据,其中,所述一个或多个处理设备被配置为分析所述图像以检测所述机器可读编码数据。
26.在一个实施例中,所述机器可读编码数据被编码在标签上,其中,所述一个或多个处理设备被配置为从标签读取器接收指示所述机器可读编码数据的信号。
27.在一个实施例中,所述标签至少是以下之一:短距离无线通信协议标签;射频识别标签;以及蓝牙标签。
28.在一个实施例中,所述一个或多个处理设备被配置为:确定指示以下至少一项的路由数据:行进路径;以及目的地;根据所述路由数据和所述物体位置生成控制指令。
29.在一个实施例中,所述路由数据指示以下各项中的至少一项:允许的物体行进路径;允许的物体运动;不同物体的允许接近限制;物体的允许区域;物体的拒绝区域。
30.在一个实施例中,所述一个或多个处理设备被配置为:确定以下至少一项的标识:所述物体;以及至少一个与所述物体相连的模块化轮子;至少部分地使用所述物体标识确
定所述路由数据。
31.在一个实施例中,所述一个或多个处理设备被配置为:生成校准控制指令;响应所述校准控制指令,监测所述物体和所述至少一个模块化轮子中的至少一个的运动;以及使用所述监测结果生成控制指令。
32.在一个实施例中,所述成像设备处于以下至少之一:位于所述环境中的固定位置;以及相对于所述环境的静态。
33.在一个实施例中,至少一些所述成像设备位于所述环境中以具有至少部分重叠的视场,其中,所述一个或多个处理设备被配置为:识别不同所述图像流中的重叠图像,所述重叠图像是由具有重叠视场的成像设备捕获的图像;以及分析所述重叠图像以确定所述环境中的物体位置。
34.在一个实施例中,至少一些所述成像设备位于所述环境内以具有至少部分重叠的视场,其中,所述一个或多个处理设备被配置为:分析物体位置随时间的变化,以确定物体在所述环境中的运动;将所述物体运动与态势感知规则进行比较;以及使用比较结果来识别态势感知事件。
35.在一个实施例中,所述重叠图像为大致同时捕获的同步重叠图像。
36.在一个实施例中,所述一个或多个处理设备被配置为:确定每个捕获图像的捕获时间;以及使用所述捕获时间识别同步图像。
37.在一个实施例中,所述一个或多个处理设备被配置为使用至少以下中的一个来确定捕获时间:所述成像设备生成的捕获时间;与每个图像相关联的接收时间,所述接收时间指示所述一个或多个处理设备的接收时间;以及所述图像中图像内容的比较。
38.在一个实施例中,所述一个或多个处理设备被配置为:分析来自每个图像流的图像以识别物体图像,所述物体图像为包括物体的图像;以及将重叠图像识别为包含相同所述物体的物体图像。
39.在一个实施例中,所述一个或多个处理设备被配置为至少部分地基于所述成像设备的定位来识别重叠图像。
40.在一个实施例中,所述一个或多个处理设备被配置为:分析来自图像流的多个图像以识别静态图像区域;以及将物体图像识别为包括非静态图像区域的图像。
41.在一个实施例中,所述图像中的至少一个是背景参考图像。
42.在一个实施例中,所述一个或多个处理设备被配置为使用以下至少一项来确定物体位置:可视化外壳技术;以及检测图像中的基准标记;以及检测多个三角图像中的基准标记。
43.在一个实施例中,所述一个或多个处理设备被配置为根据校准数据解释所述图像。
44.在一个实施例中,所述校准数据包括以下至少一项:指示每个成像设备成像特性的内在校准数据;以及指示成像设备在所述环境中相对定位的外部校准数据。
45.在一个实施例中,所述一个或多个处理设备被配置为在校准过程期间通过以下方式生成校准数据:使用成像设备接收从不同位置捕获的特定图案的图像;以及分析所述图像以生成指示成像设备的图像捕获特性的校准数据。
46.在一个实施例中,所述一个或多个处理设备被配置为在校准过程期间通过以下方
式生成校准数据:接收所述环境中目标的捕获图像;分析所述捕获图像以识别由不同所述成像设备捕获的显示相同目标的图像;以及分析所述识别图像以生成指示所述成像设备的相对位置和方向的校准数据。
47.在一个实施例中,所述一个或多个处理设备被配置为生成环境模型,所述环境模型指示以下至少一项:所述环境;成像设备在所述环境中的位置;当前物体位置;物体运动;预测的障碍物;预测的物体位置;以及预测的物体运动。
48.在一个实施例中,所述一个或多个处理设备被配置为生成所述环境模型的图形表示。
49.在一个实施例中,所述一个或多个处理设备被配置为:分析物体位置随时间的变化,以确定物体在所述环境中的运动;将所述物体运动与态势感知规则进行比较;以及使用所述比较结果来识别态势感知事件。
50.在一个实施例中,响应于态势感知事件的识别,所述一个或多个处理设备被配置为执行包括以下至少之一的动作:记录态势感知事件的指示;生成指示态势感知事件的通知;使输出设备生成指示态势感知事件的输出;激活警报;以及使物体的操作受到控制。
51.在一个实施例中,所述一个或多个处理设备被配置为:基本上实时地识别所述态势感知事件;以及基本上实时地执行动作。
52.在一个实施例中,所述成像设备是以下中的至少一种:安全成像设备;单视场成像设备;非基于计算机视觉的成像设备;以及没有相关内在校准信息的成像设备。
53.在一个广泛的形式中,本发明的一个方面试图提供一种用于在环境中移动物体的方法,该方法使用包括以下的系统来执行,所述系统包括:至少一个用于移动物体的模块化轮子,其中,至少一个模块化轮子包括:被配置为连接到所述物体上的主体;轮子;被配置为使轮子旋转的驱动器;以及配置为控制所述驱动器的控制器;以及一个或多个处理设备,其被配置为:从多个成像设备中的每一个接收包括多个捕获图像的图像流,所述多个成像设备被配置为捕获环境内物体的图像;分析图像以确定环境中的物体位置;至少部分地使用所述确定的物体位置生成控制指令;以及,向所述控制器提供所述控制指令,所述控制器响应所述控制指令以控制所述驱动器并因此移动所述物体。
54.在一种广义的形式中,本发明的一个方面试图提供一种计算机程序产品,用于使用系统在环境中移动物体,该系统包括:至少一个用于移动物体的模块化轮子,其中,至少一个模块化轮子包括:被配置为连接到所述物体上的主体;轮子;被配置为使轮子旋转的驱动器;以及配置为控制所述驱动器的控制器;以及一个或多个处理设备,其中,计算机程序产品包括计算机可执行代码,当由一个或多个处理设备执行时,所述执行代码使一个或多个处理设备:从多个成像设备中的每一个接收包括多个捕获图像的图像流,所述多个成像设备被配置为捕获环境内物体的图像;分析图像以确定环境中的物体位置;至少部分地使用所述确定的物体位置生成控制指令;以及,向所述控制器提供所述控制指令,所述控制器响应所述控制指令以控制所述驱动器并因此移动所述物体。
55.应当理解,本发明的宽泛形式和它们各自的特征可以结合和/或独立地使用,并且对单独的宽泛形式的引用不旨在进行限制。此外,应当理解,该方法的特征可以使用该系统或装置来执行,并且该系统或装置的特征可以使用该方法来实现。
附图说明
56.现在将参照附图描述本发明的各种示例和实施例,其中:
57.图1a是模块化轮子的示例的示意端视图;
58.图1b是图1a的模块化轮子的示意性侧视图;
59.图1c是安装到物体上的图1a的模块化轮子的示意性端视图;
60.图1d是图1c的物体的示意性侧视图;
61.图2是用于环境内的物体监控的系统的示例的示意图;
62.图3是用于在环境中移动物体的方法的示例的流程图;
63.图4是分布式计算机系统的示例的示意图;
64.图5是处理系统的示例的示意图;
65.图6是客户端设备的示例的示意图;
66.图7a是模块化轮子的具体示例的示意端视图;
67.图7b是图7a的模块化轮子的示意性侧视图;
68.图8是用于图7a的模块化轮子的轮子控制器的示例的示意图;
69.图9a-9d是不同轮子控制配置示例的示意图;
70.图10是用于在环境中移动物体的方法示例的流程图;
71.图11a和11b是用于在环境中移动物体的方法的另一示例的流程图;
72.图12是与用于在环境中移动物体的系统一起使用的校准方法的示例的流程图;
73.图13a-13c是用于在环境中移动物体的方法的具体示例的流程图;
74.图14是识别物体作为态势感知监测方法一部分的方法示例的流程图;
75.图15是态势感知模型的图形表示的示例示意图;
76.图16是用于图像区域分类的过程的示例的流程图;
77.图17是用于缓解阻塞过程的示例流程图;以及
78.图18是用于加权物体检测过程的示例流程图。
79.详细描述
80.现在将参照图1a-1d描述用于在环境中移动物体的模块化轮子的示例。
81.在该示例中,模块化轮子150包括主体151,主体151被配置为连接至物体。主体可以是任何适当的形式并且可以以任何方式连接到物体,包括通过使用安装支架或类似物。
82.模块化轮子包括轮子152和驱动器153,轮子152通常使用轴或类似物由车身支撑,驱动器153,例如马达,被配置为旋转轮子。提供控制器154,其被配置为控制驱动器153,从而允许轮152根据需要旋转。
83.控制器可以是任何适当的形式,但在一个示例中是执行存储在非易失性(例如,硬盘)存储器上的软件应用程序的处理系统,尽管这不是必需的。然而,还将理解,控制器可以是任何电子处理设备,例如微处理器、微芯片处理器、逻辑门配置、可选地与诸如fpga(现场可编程门阵列)等实现逻辑相关联的固件,或任何其他电子设备、系统或安排。
84.在使用中,可以将一个或多个模块化轮子连接到物体以允许移动物体,现在将参考图1c和1d描述其示例。
85.在该示例中,显示了平台形式的物体160,其中四个模块化轮子150安装到平台,允许通过控制四个模块化轮子150中的每一个来移动平台。考虑了不同布置的范围,并且以上
示例仅用于说明的目的而不是限制性的。
86.例如,系统可以使用从动模块化轮子和从动轮的组合,一个或多个模块化轮子可以用于提供原动力,而从动轮用于完全支撑物体。转向可以通过转向各个轮子来实现,如下面将更详细描述的和/或通过不同模块化轮子的差速旋转,例如,使用滑移转向装置或类似装置。
87.在当前示例中,模块化轮子被显示在靠近平台的拐角处提供。然而,这不是必需的,模块化轮子可以安装在任何位置,假设这足以充分支撑平台。
88.虽然当前示例集中于平台的使用,但是模块化轮子可以与大范围的不同物体一起使用。例如,使用带有平台、托盘或其他类似结构的轮子,允许一个或多个物品由平台支撑,并共同移动。因此,轮子可以连接到支撑多个物品的托盘上,允许托盘和物品在不需要使用托盘搬运车或类似物的情况下移动。在这种情况下,术语物体旨在共同指代平台/托盘以及其上支持的任何项目。或者,轮子可以直接连接到物品上,而不需要平台,在这种情况下,物品就是物体。
89.可以移动的物体的性质将根据优选实现、预期的使用场景和环境的性质而变化。特定的示例环境包括工厂、仓库、存储环境或类似环境,尽管应当理解,这些技术可以更广泛地应用,并且可以在室内和/或室外环境中使用。类似地,物体可以是各种各样的物体,并且可以,例如,包括要在工厂内移动的物品,例如,车辆的部件等。然而,应当理解,这并非意在进行限制。
90.现在将参照图2描述用于控制环境内物体移动的系统。
91.在该示例中,在存在可移动物体和可选地一个或多个其他物体201、202、203的环境e内执行移动控制。在这点上,术语可移动物体160指的是由于具有连接的模块化轮子而可移动的任何物体,而术语其他物体201、202、203是指不包括模块化轮子并且可以是静态的物体和/或使用模块化轮子以外的机制移动的物体。这样的其他物体可以是各种各样的物体,尤其是移动物体,例如人、动物、车辆、自动或半自动车辆,例如自动引导车辆(agvs)等,尽管这并非旨在限制。尽管当前示例中显示了四个物体,但这仅用于说明目的,并且可以使用任意数量的物体执行该过程。例如,环境可能仅包括一个或多个可移动物体,并且可能不包括任何其他物体。
92.用于控制物体移动的系统通常包括一个或多个电子处理设备210,其被配置为从成像设备220接收图像流,成像设备220被提供在环境e中以允许捕获物体160,201,202,203的图像。
93.为了说明目的,假设一个或多个电子处理设备形成一个或多个处理系统的一部分,例如,计算机系统、服务器等,其可以连接到一个或多个客户端设备诸如移动电话、便携式计算机、平板电脑等的网络架构,如将在下面更详细地描述的。此外,为了便于说明,其余描述将涉及处理设备,但应理解,可以使用多个处理设备,根据需要处理分布在处理设备之间,对单数的引用包括复数布置,反之亦然。
94.成像设备220的性质将取决于优选实施方式而变化,但在一个示例中,成像设备是低成本成像设备,例如,非计算机视觉单像相机。在一个特定示例中,可以使用安全摄像机,尽管从以下描述中将变得显而易见的是,可以附加地和/或替代地使用其他低成本摄像机,例如网络摄像机等。还可以使用范围广泛的不同成像设备220,并且成像设备220不需要是
类似类型或型号的。
95.成像设备220通常静态定位在环境中,以便在环境e的整个范围内提供覆盖,其中,至少一些相机包括至少部分重叠的视场,使得在环境中的任何物体环境e优选地由两个或多个成像设备在任一时间成像。还可以在不同位置范围内提供成像以提供完整覆盖。例如,成像设备可以设置在不同的高度,并且可以包括安装在地板、墙壁和/或天花板上的相机的组合,被配置为从不同角度捕捉环境视图。
96.现在将参照图3更详细地描述系统的操作。
97.在该示例中,在步骤300,处理设备210从每个成像设备220接收图像流,图像流包括多个捕获的图像,包括物体160、201、202、203在环境e的图像。
98.在步骤310,一个或多个处理设备分析图像以确定在步骤320环境内的一个或多个物体位置。在这方面,物体位置将包括任何可移动物体160的位置,可选地,该任何其他物体201、202、203的位置,尽管这不是必需,可以取决于优选实施方式。
99.在一个示例中,通过识别不同图像流中的重叠图像来执行该分析,这些图像是由具有不同重叠视场的成像设备捕获的图像,从而通过不同的成像设备的方向,从至少两个不同的图像中捕获物体的图像。在这种情况下,图像被分析以识别物体在不同重叠图像中的位置,已知成像设备位置用于对物体的位置进行三角测量。这可以利用任何适当的技术来实现,并且在一个示例中利用视觉外壳方法来实现,例如在a.laurentini(february 1994)中所描述的。“基于轮廓的图像理解的视觉外壳概念”,ieee trans,模式分析和机器智能,第150-162页。然而,也可以使用其他方法,例如,基准标记的图像分析。在一个优选示例中,基准标记与重叠图像一起使用,从而可以以更高的准确度确定物体位置,尽管应当理解这不是必需的。
100.在步骤330,一个或多个处理设备使用物体位置来生成控制指令,在步骤340将控制指令提供给一个或多个模块化轮子150的控制器154,从而允许控制这些移动物体160。
101.生成控制指令的方式将根据优选实现而变化。例如,每个可移动物体可能具有相关的路线信息,例如,预期的行进路径和/或预期的目的地,在这种情况下,可以生成控制指令以考虑路线信息和当前位置。另外和/或替代地,可以生成控制指令以考虑环境e内的障碍物的位置,例如,以确保物体160不与其他物体201、202、203或环境e的部分碰撞。
102.可以生成控制指令以独立地控制与物体160相关联的每个模块化轮子150,使得控制器154用于实施所提供的相应控制指令。例如,处理设备210可以生成指令,指定与物体160相关联的每个模块化轮子150的旋转速率和/或旋转量。然而,备选地,处理设备210可以简单地识别移动的方向和/或速率。物体作为一个整体,每个模块化轮子150的控制器154进行通信以解决每个轮子需要如何移动以便导致总体期望的物体运动。
103.在任何情况下,应当理解,上述布置提供了可以用于在环境中移动物体的系统。具体而言,该系统可用于允许将一个或多个模块化轮子连接到物体,其中使用定位在环境中的多个远程成像设备来监测物体在环境中的位置。分析来自成像设备的图像以监测物体在环境中的位置,该信息用于通过控制一个或多个模块化轮子来控制物体的移动。
104.这样的布置避免了对每个物体和/或每个轮子装配传感器以便在环境中导航的需要,同时仍然允许实现对物体的自动控制。由于传感元件往往很昂贵并且具有额外的复杂性,这有助于确保模块化轮子便宜且相对简单,从而比需要内置传感时更广泛地部署。
105.在一个示例中,该布置进一步允许使用公共传感设备控制多个不同的可移动物体,并允许集中协调运动,这反过来可以帮助优化运动,并避免潜在的碰撞。例如,这允许在诸如工厂等环境中容易地部署模块化轮子。具体而言,在一个示例中,这允许物体配备模块化轮子并像物体是agv一样四处移动,从而减少对建造agvs的需求。
106.在一个示例中,物体位置检测和控制可以由被配置为执行态势感知监控的系统来执行,并且在共同未决专利申请au2019900442中描述了这种系统的示例,其内容通过以下方式并入本文交叉引用。
107.在这点上,态势感知是关于时间或空间的环境元素和事件的感知、对它们的意义的理解以及对它们未来状态的预测。态势感知被认为对于在一系列情况下的决策很重要,特别是在人与设备之间存在相互作用的情况下,这可能导致伤害或其他不利后果。这方面的一个例子是在工厂内,人与设备之间的交互有可能造成伤害或死亡。
108.在一个示例中,可移动物体160和/或其他物体201、202、203的移动和/或位置可以与定义表示可移动物体160和/或环境内的其他物体201、202、203e的期望和/或潜在危险或其他不期望移动的标准的态势感知规则进行比较。态势感知规则和标准将根据诸如优选实施、使用态势感知监控过程的环境,被监控物体的性质等因素而变化。例如,规则可以与物体的接近度、物体的未来预测接近度、行进路径的拦截、进入或离开特定区域的某些物体等相关,并且这些的示例将在下面更详细地描述。
109.态势感知规则的比较结果可用于识别出现的任何态势感知事件,其通常对应于不遵守或潜在不遵守态势感知规则。因此,例如,如果违反态势感知规则,这可能表明存在潜在危险,而这反过来又可以用来允许采取行动。动作的性质和执行的方式将根据优选的实施方式而有所不同。
110.例如,该动作可以包括简单地记录态势感知事件的细节,从而允许将其记录以用于后续审计目的。另外和/或替代地,可以采取行动以尝试和防止危险情况,例如通过生成通知或听觉和/或视觉警报来提醒个人。这可以用来提醒环境中的个人,以便可以采取纠正措施,例如通过让个人调整他们当前的移动或位置,例如远离agv的路径。应当理解,在可移动物体160以及自动或半自动车辆的情况下,这可以包括控制物体/车辆,例如通过指示车辆改变路径或停止,从而防止事故发生。
111.因此,应当理解,上述布置提供了一种用于使用模块化轮子在环境内移动物体的系统。该系统可以配置为监控环境,从而控制可移动物体的移动。此外,这还可用于允许跟踪可移动和其他物体(例如agvs、人)的位置和/或移动,进而可以与态势感知规则一起使用,以确定何时出现不良情况,例如当agvs或其他车辆可能接触或接近人时,反之亦然。在一个示例中,系统允许自动执行校正动作,例如修改可移动物体、车辆的操作,或提醒人们车辆正在接近的事实。
112.为了实现这一点,系统利用在环境e内提供的多个成像设备并且操作以利用通常具有重叠视场的图像来识别物体位置。这避免了需要为物体提供可检测特征,例如rfid标签或类似物,尽管不排除使用这样的标签,如下文将更详细描述的。
113.此外,该过程可以使用低成本成像设备来执行,例如要使用的安全摄像机等,这提供了优于其他系统的显着商业价值。好处是相机更容易获得,众所周知并且成本更低,并且可以连接到用于通信和供电的单个以太网电缆。然后,这可以连接到现成的标准poe以太网
交换机以及标准电源调节。因此,这可以大大降低安装和配置此类系统的成本,避免使用昂贵的立体或计算机视觉摄像机,并且在许多情况下允许使用现有的安全摄像机基础设施进行态势感知监控。
114.另外,处理设备可以被配置为基本上实时地执行物体跟踪和控制,以及态势感知事件或动作的识别。因此,例如,图像捕捉和正在执行的动作之间所花费的时间可以小于约1s、小于约500ms、小于约200ms或小于约100ms。这使得系统能够有效地控制可移动物体和/或采取其他纠正措施,例如,警告环境中的个人、控制车辆等,从而允许避免,诸如撞击或伤害之类的事件。
115.现在将描述许多进一步的特征。
116.如上所述,在一个示例中,系统包括安装到物体的一个或多个被动轮。这种被动轮可以是多向轮,例如脚轮,或类似的,在这种情况下,控制器可以被配置为通过两个或多个模块化轮子的差速旋转来引导物体。另外和/或替代地,模块化轮子可以包括被配置为调整轮子的方向的转向驱动器,在这种情况下,控制器可以被配置为控制转向驱动器从而改变轮子的方向,并且因此可移动物体的直接运动。还将理解,可以使用其他配置,例如提供驱动轮和单独的方向盘。然而,一般而言,在单个模块化轮子中同时提供转向和驱动提供了更大范围的灵活性,允许以多种不同方式使用相同的模块化轮子。这也可以帮助解决轮子故障,例如,如果一个或多个模块化轮子发生故障,则允许使用不同的控制模式。
117.在一个示例中,模块化轮子包括被配置为与一个或多个处理设备无线通信的收发器。这允许每个模块化轮子直接与处理设备通信,尽管将理解这不是必需的,并且可以使用其他布置,例如使用集中式通信模块、多个模块化轮之间的网状网络等。
118.每个模块化轮子通常包括电源,例如电池,其被配置为向驱动器、控制器、收发器、转向驱动器和任何其他组件供电。为每个轮子提供电池,允许每个轮子是独立的,这意味着轮子只需要安装到物体上,不需要单独连接到电源或其他轮子,尽管应该理解,单独的可以根据预期的使用场景使用电源。
119.在一个示例中,系统包括多个模块化轮子,并且处理设备被配置为向每个控制器提供相应的控制指令,从而独立地控制每个模块化轮子。例如,这可以包括让处理设备为每个单独的模块化轮子生成包括轮子方向和/或旋转速率的控制指令。
120.在另一个示例中,处理设备被配置为向控制器提供控制指令,并且其中不同模块化轮子的控制器通信以独立地控制每个模块化轮子。例如,处理设备可以生成控制指令,包括物体的行进方向和速度,每个模块化轮子的控制器连接到该物体,然后协同确定每个轮子的轮子方向和/或旋转速度。在另一个示例中,可以使用主从布置,允许主模块化轮子计算每个单独的模块化轮子的运动,根据需要将该信息传送给其他模块化轮子控制器。
121.在一个示例中,处理设备被配置为确定物体配置,然后至少部分地根据物体配置生成控制指令。物体配置可以指示可以影响物体运动的任何事物,并且可以包括物体范围、与物体运动相关的参数等。这允许处理设备在控制轮子时考虑物体的尺寸和/或形状,从而确保物体不会影响其他物体或环境的一部分。这对于尺寸不规则的物体和/或带有悬垂物的物体尤其重要,否则它们可能会与诸如环境和/或其他物体之类的障碍物发生碰撞,即使轮子远离障碍物也是如此。
122.在这点上,应当理解,当使用图像分析检测物体位置时,可以使用这种相同的方法
来确定物体范围。例如,可以使用视觉外壳分析,从多个视点检查物体的图像,以便计算物体的大小和/或形状。
123.类似地,处理设备可以被配置为确定指示每个轮子相对于物体的位置和/或每个轮子的相对位置的轮子配置,并且至少部分地根据轮子生成控制指令配置。因此,以类似的方式,处理设备可以使用图像分析来检测轮子相对于物体的位置,然后在生成控制信号时使用该信息。这可用于确保轮子共同操作,从而精确控制物体的运动,尽管可以理解,一个或多个模块化轮子可替代地位于已知位置。
124.备选地,物体和/或轮子配置可以例如在初始设置过程期间被预定义,然后根据需要检索。
125.在一个示例中,处理设备被配置为确定一个或多个模块化轮子或物体的标识,然后根据该标识生成控制指令。例如,这可用于确保将控制指令传输到正确的模块化轮子。这也可用于允许处理设备检索物体或轮子配置,允许根据需要基于物体和/或轮子标识来存储和检索此类配置。
126.可以根据优选实施方式以多种方式中的任何一种方式来确定标识。例如,轮子可以被配置为通过通信网络与处理设备通信,在这种情况下,处理设备可以被配置为至少部分地使用网络标识符来确定标识,例如ip(互联网协议)或mac(媒体访问控制)地址或类似地址。在另一个示例中,处理设备可以被配置为使用机器可读编码数据来确定标识。这可能包括在物体和/或轮子上提供的可见编码数据,例如条形码、qr码或更典型的april标签,然后可以通过分析图像来识别图像中的可见机器可读编码数据,从而检测到这些数据,从而允许这将由处理设备解码。然而,在另一个示例中,物体和/或模块化轮子可以与标签相关联,例如短距离无线通信协议标签、射频识别(rfid)标签、蓝牙标签等,在这种情况下,可以检索机器可读编码数据来自合适的标签阅读器。
127.还将理解,可以结合使用不同的识别方法。例如,当物体和/或轮子经过合适的阅读器时,可以通过检测机器可读编码数据来唯一地识别物体和/或轮子。在这种情况下,一旦识别了物体,就可以通过在物体在环境中移动时对其进行跟踪来保持该标识。这意味着物体不需要再次经过阅读器即可被识别,这在物体仅在有限的情况下被识别的情况下特别有用,例如在进入某个区域时。
128.通常,一个或多个处理设备被配置为确定指示行进路径和/或目的地的路由数据,然后根据路由数据和物体位置生成控制指令。例如,可以使用物体和/或轮子标识从诸如数据库之类的数据存储中检索路线数据。
129.除了指示行进路径和/或目的地之外,路由数据还可以指示允许的物体行进路径、允许的物体移动、不同物体的允许接近限制、物体的允许区域或物体的拒绝区域。如果无法遵循首选路径,则可以使用此附加信息,从而允许计算替代路线,例如避开障碍物,例如其他物体。
130.类似地,处理设备可以被配置为识别物体移动是否偏离为该物体定义的允许的物体行进路径、物体移动是否偏离该物体的允许的物体移动、两个物体是否在允许的接近限度内物体,两个物体正在接近物体的允许接近限制,两个物体被预测在物体的允许接近限制内,两个物体具有相交的预测行进路径,一个物体在物体的允许区域之外,一个物体是离开物体的允许区域,物体位于物体的拒绝区域内,或者物体正在进入物体的拒绝区域。这可
以用来采取纠正措施,包括停止或纠正运动。
131.在一个示例中,特别是在轮子配置未知的情况下,处理设备可以被配置为生成校准控制指令,其用于引起一个或多个轮子的微小运动,例如执行单个或部分旋转,或轮子方向的定义变化。处理设备然后可以被配置为响应于校准控制指令,监测物体和/或模块化轮子的移动并且使用监测结果来生成控制指令。
132.例如,通过生成校准指令然后监测运动,这可以用于识别特定轮子,例如将轮子的ip地址与特定物体上的特定轮子匹配。这也可用于识别轮子如何响应,进而可用于精确控制轮子,例如考虑轮子在物体上的安装方向。因此,这允许系统使用视觉反馈来计算轮子配置,从而允许生成可用于精确控制轮子的控制指令。
133.在一个示例中,成像设备被定位在环境内的固定位置并且相对于环境是静止的,或者至少基本上是静止的。这允许更容易地解释由每个相机或其他成像设备捕获的图像,尽管将理解这不是必需的,并且可以使用可替换的移动相机,例如反复平移通过环境的相机。在这种情况下,处理设备通常被配置为考虑轮子的位置和/或方向来分析图像。
134.通常,成像设备定位在环境内以具有至少部分重叠的视场,并且其中一个或多个处理设备被配置为识别不同图像流中的重叠图像,重叠图像是通过具有重叠视场的成像设备捕获的图像,然后分析重叠图像以确定环境中的物体位置。
135.在一个示例中,重叠图像是同步重叠图像,因为它们大致同时被捕获。在这点上,要求在大致相同的时间捕获图像意味着在小于将导致物体的显着移动的时间间隔内捕获图像。虽然这将因此取决于物体的移动速度,但时间间隔通常小于约1s、小于约500ms、小于约200ms或小于约100ms。
136.为了识别同步重叠图像,处理设备通常被配置为同步图像流,通常使用诸如与图像相关联的时间戳和/或从成像设备接收图像的时间之类的信息。这允许从通常与处理设备时间同步的计算机视觉设备以外的成像设备接收图像。因此,这需要处理设备实现附加功能,以确保通常在硬件中执行的所有相机馈送之间的准确时间同步。
137.在一个示例中,处理设备被配置为确定每个捕获图像的捕获时间,然后使用捕获时间识别同步图像。这通常是必需的,因为成像设备没有像大多数计算机视觉相机中那样包含同步能力,从而允许使用更便宜的潜在和现有技术(例如安全相机等)来实现系统。
138.为每个捕获的图像确定捕获时间的方式将取决于优选实施方式而变化。例如,成像设备可以生成捕获的时间,例如时间戳,就像许多安全摄像机的情况一样。在这种情况下,默认情况下可以使用时间戳作为捕获时间。另外和/或替代地,捕获时间是基于指示处理设备接收时间的接收时间。这可以可选地考虑成像设备和处理设备之间的通信延迟,这可以在校准或其他设置过程期间建立。在一个优选示例中,结合使用这两种技术,从而使用接收图像的时间来验证与图像相关联的时间戳,从而为确定的捕获时间提供额外级别的验证,并允许纠正在未验证捕获时间的情况下应采取的措施。
139.然而,应当理解,同步图像的使用不是必需的,并且可以使用异步图像或其他数据,这取决于优选实施方式。例如,异步捕获的物体图像可能导致物体位置在图像之间发生变化。然而,这可以通过适当的技术来解决,例如对图像进行加权,因此异步捕获的图像在识别物体位置时被赋予时间权重,这将在下面更详细地描述。也可以采用其他技术,例如为物体分配模糊边界和/或位置等。
140.在一个示例中,处理设备被配置为分析来自每个图像流的图像以识别物体图像,该物体图像是包括物体的图像。识别出物体图像后,可以分析这些图像以将重叠图像识别为包括同一物体图像的物体图像。这可以基于图像识别过程来执行,但更典型地是基于关于成像设备的相对位置,特别是视场的知识来执行。这也可以考虑例如图像内物体的位置,这可以用于缩小不同成像设备之间的重叠视场,从而定位重叠图像。这样的信息可以在校准过程期间建立,如下文将更详细地描述。
141.在一个示例中,一个或多个处理设备被配置为分析来自图像流的多个图像以识别静态图像区域,然后将物体图像识别为包括非静态图像区域的图像。具体而言,这涉及比较连续或随后的图像以识别图像之间发生的运动,并评估图像中的运动分量是物体移动的结果。这取决于这样一个事实,即大部分环境将保持静止,并且通常只有物体会在图像之间发生移动。因此,这提供了一种识别物体的简单机制,并减少了分析图像以检测其中的物体所需的时间量。
142.应当理解,在物体是静态的情况下,如果在连续图像之间执行比较,则该技术可能不会检测到它。然而,这可以通过对背景和前景应用不同的学习率来解决。例如,可以建立环境中不存在物体的背景参考图像,相对于背景参考图像执行减法,而不是紧邻之前的图像。在一种优选方法中,周期性地更新背景参考图像以考虑环境的变化。因此,这种方法允许识别或跟踪静止物体。还将理解,可以利用环境模型来执行静态物体的跟踪,该环境模型保持静态物体的位置的记录,以便当物体重新开始移动时可以恢复跟踪,如下文将更详细地描述的。
143.因此,一个或多个处理设备可以被配置为确定图像流中的图像之间的图像区域的外观变化程度,然后基于变化程度识别物体。图像可以是连续图像和/或时间间隔图像,变化程度是变化幅度和/或变化率。图像区域的大小和形状可以变化,并且可以包括像素的子集或类似的,这取决于优选的实施方式。在任何情况下,应当理解,如果图像区域大部分是静态的,那么与图像区域正在经历显着的外观变化(这表明运动的物体)相比,物体在图像区域内的可能性更小。
144.在一个特定示例中,这是通过将图像区域分类为静态或非静态图像区域(也称为背景和前景图像区域)来实现的,其中非静态图像区域指示运动,因此在环境中指示物体。可以以任何适当的方式执行分类,但在一个示例中,这是通过将变化程度与分类阈值进行比较,然后基于比较结果对图像区域进行分类,例如,如果变化程度超过分类阈值,将图像区域分类为非静态来实现,或者如果变化程度低于分类阈值,则为静态。
145.此后,可以基于图像区域的分类来识别物体,例如通过分析非静态图像区域来识别物体。在一个示例中,这是通过使用图像区域来建立蒙版来实现的,然后将其用于执行后续分析,例如,前景蒙版用于识别和跟踪物体,而背景蒙版被排除在外以减少处理要求。
146.另外,为了提高辨别能力,处理设备可以被配置为动态地调整分类阈值,例如以考虑物体移动、环境影响等的变化。
147.例如,如果物体停止移动,这可能导致图像区域被重新分类为静态,即使它包含物体。因此,在一个示例中,这可以通过让处理设备识别包含先前已经移动的物体的物体图像区域,然后修改物体图像区域的分类阈值以降低所需的变化程度来解决。为了将图像区域分类为非静态图像区域。如上所述,这实际上改变了该区域的学习率。由于图像区域的外观
变化可以累积评估,这实际上可以增加从区域内的移动停止到该区域被分类为静态图像区域的时间的持续时间,因此被评估为不包含一个东西。因此,如果物体在相对较短的时间内停止移动,这可以避免对区域进行重新分类,从而可以更准确地跟踪物体。
148.在另一示例中,处理设备可以被配置为识别包括视觉效果的图像,然后根据视觉效果处理图像,从而识别物体。在这方面,视觉效果会导致同一场景的图像之间的外观发生变化,因此可以将其识别为潜在物体。例如,agvs可能包括车辆前方的照明,这可能会被错误地检测为与agvs分离的物体,因为它会导致随时间移动的外观变化。环境照明的其他变化也会出现类似的问题,例如,房间内阳光的变化、诸如显示器或监视器之类的视觉呈现设备的存在等。
149.在一个示例中,为了解决视觉效果,处理设备可以被配置为识别包括视觉效果的图像区域,然后排除包括视觉效果的图像区域和/或分类考虑视觉效果的图像区域。因此,这可以用于基于识别的视觉效果调整分类阈值,例如通过提高分类阈值使得当检测到视觉外观的变化时图像区域不太可能被分类为非静态图像区域。
150.视觉效果的检测可以使用多种技术来实现,这取决于优选实施方式、可用传感器和视觉效果的性质。例如,如果视觉效果是照明的变化,则可以使用来自一个或多个照明传感器的信号来检测视觉效果。或者,可以使用一个或多个参考图像来识别环境中经常出现的视觉效果,例如分析背景照明在一天中如何变化,从而将其考虑在内。这也可以与环境信息(例如天气报告、关于当前时间的信息等)结合使用,以预测环境中可能的照明。作为进一步的替代方案,可以执行手动识别,例如通过让用户指定可能经受照明变化和/或包含监视器或显示器等的环境部分。
151.在另一个示例中,可以通过根据定义的属性分析图像来识别视觉效果,从而允许排除满足那些属性的区域。例如,这可以包括识别具有已知波长和/或光谱特性的照明,例如对应于车辆警告灯,然后从分析中排除这些区域。
152.通常,处理设备被配置为分析同步重叠图像以确定物体位置。在一个示例中,这是使用视觉外壳技术执行的,该技术是一种从轮廓生成形状的3d重建技术。特别是,这种视觉外壳技术涉及识别图像中物体的轮廓,并使用这些来创建包含实际物体的反向投影广义锥体(称为“轮廓锥体”)。从不同视点拍摄的图像中的轮廓锥体用于确定两个或多个锥体的交集,这形成了视觉外壳,这是实际3d物体的边界几何。然后这可以用于根据成像设备的已知视点确定位置。因此,比较从不同视点捕获的图像允许确定物体在环境e内的位置。
153.然而,在一些示例中,不需要这样的视觉外壳方法。例如,如果物体包括机器可读的视觉编码数据,例如基准标记或april tag,如edwin olson在ieee国际机器人会议和自动化(icra),2011论文“强大而灵活的视觉基准系统”所描述的,然后可以通过对捕获图像中的基准标记的可视化分析得出位置。
154.在一个优选示例中,该方法使用基准标记和多个图像的组合,允许对包含基准标记的不同图像进行三角剖分,以允许以更高程度计算基准标记的位置以及因此物体的位置的准确性。
155.在一个示例中,特别是当使用视觉外壳或类似技术时,处理设备可以被配置为识别重叠图像中的对应图像区域,重叠图像是环境内的体积的图像,然后分析对应的图像区域以识别体积中的物体。具体而言,这通常包括识别对应的图像区域,这些图像区域是已从
不同视点捕获的相同体积的非静态图像区域。然后可以分析非静态区域以识别候选物体,例如使用视觉外壳技术。
156.虽然当存在足够高的摄像机密度和/或物体在环境中稀疏地布置时,该过程可能相对简单,但是当摄像机稀疏和/或物体密集地布置和/或靠近时,该过程对彼此变得更加复杂。特别是,在这种情况下,物体经常被完全或部分遮挡,这意味着使用某些成像设备可能无法准确地捕捉到物体的形状。这反过来又会导致对物体或其大小、形状或位置的错误识别。
157.因此,在一个示例中,一旦候选物体已经被识别,这些可以被并入环境的三维模型中,并且这种模型的示例在下面更详细地描述。然后可以分析模型以识别潜在的遮挡,例如,当另一个物体位于物体和成像设备之间时,通过将物体从三维模型反投影到成像设备的2d成像平面中。一旦被识别,潜在的遮挡就可以用来验证候选物体,例如允许在考虑遮挡的情况下执行视觉外壳过程。这些问题的示例在li guan、sudipta sinha、jean-sebastien franco、marc pollefeys的“存在部分遮挡的视觉外壳构造”中进行了描述。
158.在一个示例中,通过让处理设备将图像区域分类为被遮挡的图像区域(如果它们包含潜在的遮挡)来解决潜在的遮挡,在识别物体时考虑到这一点。虽然这可能涉及从分析中简单地排除被遮挡的图像区域,但这种方法通常会丢失有意义的信息,因此可能无法准确地识别和/或定位物体。因此,在另一示例中,这可以通过对对应图像中的不同图像进行加权来实现,该加权用于评估遮挡的可能影响,并因此评估任何结果物体检测的准确性。
159.也可以使用类似的加权过程来考虑其他问题。因此,在一个示例中,计算与对应图像区域相关联的物体分数,其中物体分数指示与在对应图像区域中检测到物体相关联的确定性。一旦计算出物体分数,就可以用来识别物体,例如,如果分数超过分数阈值,则评估要准确识别的物体。
160.应当理解,可以以多种方式使用物体分数。例如,如果物体分数太低,则可以简单地将物体从分析中排除。然而,更有用的是,这可用于限制物体位置的广为人知,因此低分可能导致物体在位置上具有高度的不确定性,从而在评估情境时将其考虑在内意识。
161.在一个示例中,通过生成每个对应图像区域的图像区域分数然后使用每个对应图像的图像区域的图像区域分数来计算物体分数来计算物体分数。因此,为捕获特定体积的图像区域的每个成像设备计算图像区域得分,并将这些组合以创建该体积的总体得分。
162.另外和/或备选地,单独的图像区域分数可以用于评估图像区域的潜在可靠性,该图像区域用于准确地识别物体。因此,如果任何特定图像区域的可能精度较低,例如,如果存在明显的遮挡等,则可以在任何分析中给予较低的权重,因此不太可能对后续分析产生不利影响,从而减少过度影响最终物体位置的机会。
163.如所提到的,虽然这种方法可以用于遮挡,但这也可以用于广泛的其他因素。例如,分数可以基于图像区域分类,或者图像流中图像之间图像区域的外观变化程度,因此不太可能包含物体的静态图像区域得分较低,而非静态区域可能有更高的分数。
164.类似地,该方法可以考虑图像区域分类的寿命或图像区域分类的历史变化。因此,如果图像区域的分类频繁变化,这可能表明该区域没有被正确分类,因此可以给出低置信度分数,而恒定分类意味着对正确分类的置信度更高,因此得分更高.
165.类似地,可以基于视觉效果的存在或可能性来分配分数,从而允许在识别物体时
考虑视觉效果。在另一个示例中,可以使用相对于感兴趣体积的相机几何形状,从而由远离体积或相对于体积倾斜布置的相机捕获的图像被赋予较低权重。
166.这些因素还可以考虑图像捕获的时间,这可以有助于允许使用异步数据捕获。在这种情况下,如果其中一个重叠图像是在与其他图像显着不同的时间捕获的,则在识别物体方面,这可以被赋予较低的权重,因为该物体可能在中间时间已经移动。
167.类似地,也可以考虑与图像质量有关的其他因素,例如分辨率、焦点、曝光等。
168.因此,应当理解,计算由每个成像设备捕获的图像的分数可以用于加权每个图像,从而在整个物体检测过程中依赖图像的程度可以采取考虑到诸如图像质量、遮挡、视觉效果、物体成像的好坏等因素,这反过来又可以更准确地执行物体检测。
169.不管如何检测物体,确定物体的位置通常需要了解成像设备在环境中的定位,因此处理设备被配置为根据图像的已知位置来解释图像设备。为了实现这一点,在一个示例中,位置信息包含在校准数据中,该校准数据用于解释图像。在一个特定示例中,校准数据包括指示每个成像设备的成像特性的内在校准数据和指示成像设备在环境e内的相对定位的外部校准数据。这允许处理设备校正图像以解决任何问题。捕获图像中的成像失真,以及考虑成像设备相对于环境e的位置。
170.校准数据通常在校准过程期间生成。例如,可以基于使用成像设备从不同位置捕获的定义图案的图像来生成内在校准数据。定义的图案可以是任何适当的形式并且可以包括点图案或类似的、基准标记等。分析图像以识别图像中定义的图案的失真,这又可以用于生成指示成像设备的图像捕获特性的校准数据。这样的图像捕捉属性可以包括诸如景深、镜头孔径、镜头畸变等的东西。
171.相比之下,外部校准数据可以通过接收环境内目标的捕获图像、分析捕获的图像以识别由显示相同目标的不同成像设备捕获的图像以及分析识别的图像以生成指示的校准数据来生成成像设备的相对位置和方向。同样,该过程可以通过在环境中定位多个目标然后识别使用哪些成像设备捕获了哪些目标来执行。这可以基于用户输入手动执行,也可以使用唯一目标自动执行,以便可以轻松识别不同目标和不同位置。由此可以理解,基准标记,例如april标签可以用于此目的。
172.如上所述,在一个示例中,该系统可以是态势感知监控系统的一部分。在该示例中,除了使用如上所述的模块化轮子来控制运动之外,系统还使用态势感知规则来识别态势感知事件,进而允许执行动作,例如尝试减轻事件。
173.态势感知规则的性质将根据优选实施方式以及环境的性质和环境内的物体而变化。在一个示例中,态势感知规则指示允许的物体行进路径、允许的物体移动、不同物体的允许接近限制、物体的允许区域或物体的拒绝区域中的一项或多项。在该示例中,如果物体移动偏离允许的物体行进路径、如果物体移动偏离允许的物体移动、如果两个物体在物体的预定接近限度内、如果两个物体正在接近物体的允许接近限制,如果两个物体具有相交的预测行进路径,如果一个物体在该物体的允许区域之外,如果一个物体正在离开该物体的允许区域,如果一个物体在拒绝区域内对于该物体,如果一个物体正在进入该物体的拒绝区域,等等。然而,应当理解,可以定义范围广泛的不同态势感知规则以识别范围广泛的不同态势感知事件,并且以上示例仅用于说明的目的。
174.这样的规则可以使用多种技术来生成,但通常是通过理解环境中物体的操作和交
互来手动生成的。在另一个示例中,可以至少部分地使用规则引擎来自动化该任务。规则引擎通常通过接收规则文档并使用自然语言处理进行解析来识别逻辑表达式和物体类型。然后通过基于物体的物体类型检索这些物体标识符或通过根据需要生成这些物体标识符来确定每个物体类型的物体标识符。然后,通过将逻辑表达式转换为触发事件和动作,使用逻辑表达式生成物体规则,然后将它们上传到标签。例如,逻辑表达式通常在规则文本中以“如果
……
那么
……”
语句的形式指定,可以转换为触发器和动作。这可以使用模板来执行,例如通过使用“如果
……
那么
……”
语句中的文本填充模板,以便以标准方式生成规则,从而可以一致地解释这些规则。
175.一旦生成规则,还可以定义响应违反规则而采取的动作,该信息作为规则数据存储在规则数据库中。
176.从以上可以理解,通常为不同的物体和/或物体类型定义不同的规则。因此,例如,可以为个人定义一组规则,而可以为agvs定义另一组规则。同样,可以为以不同方式运行的不同agvs定义不同的规则。还将理解,在某些情况下,规则将涉及物体之间的交互,在这种情况下,规则可能取决于多个物体的物体标识。
177.因此,在一个示例中,当创建规则时,规则与一个或多个物体标识相关联,该物体标识可以指示物体类型和/或可以唯一指示特定物体,从而允许物体态势感知为不同类型的物体或不同的单个物体定义规则。这允许处理设备随后基于环境内物体的物体标识检索相关规则。因此,在一个示例中,一个或多个处理设备被配置为确定至少一个物体的物体标识,然后至少部分地使用物体标识将物体移动与态势感知规则进行比较。因此,处理设备可以根据物体的标识选择一个或多个态势感知规则,然后将物体运动与选择的态势感知规则进行比较。
178.可以利用多种不同的技术来确定物体标识,例如取决于优选实施方式和/或物体的性质。例如,如果物体不包括任何形式的编码标识符,这可以使用图像识别技术来执行。例如,在识别人的情况下,人将具有广泛相似的外观,通常与agvs的外观完全不同,因此,可以使用对多个图像执行的图像识别技术来识别人。需要注意的是,这不一定需要区分不同的个体,尽管在某些情况下可以这样做。
179.另外和/或替代地,可以通过对运动的分析来识别标识,尤其是物体类型。例如,agvs的移动通常倾向于遵循预定模式和/或通常具有诸如恒定速度和/或方向变化等特征。与此相反,个人的运动往往更加随意,并且会受到方向和/或速度的变化的影响,因此可以根据对运动模式的分析来区分agvs和个人。
180.在另一个示例中,物体可以与指示物体标识的机器可读代码数据相关联。在该示例中,处理设备可以被配置为使用机器可读编码数据来确定物体标识。机器可读编码数据可以根据优选实施方式以多种方式中的任何一种方式进行编码。在一个示例中,这可以使用诸如条形码、qr码或更典型的april标签之类的视觉编码数据来实现,然后可以通过分析图像来识别图像中的可见机器可读编码数据,从而使其能够被检测到。由处理设备解码。然而,在另一个示例中,物体可以与标签相关联,例如短距离无线通信协议标签、射频识别(rfid)标签、蓝牙标签等,在这种情况下,机器可读编码数据可以从合适的标签阅读器中检索。
181.还将理解,识别方法可以结合使用。例如,当物体经过合适的阅读器时,可以通过
检测机器可读编码数据来唯一地识别物体。在这种情况下,一旦识别了物体,就可以通过在物体在环境中移动时对其进行跟踪来保持该标识。这意味着物体不需要再次经过阅读器即可被识别,这在物体仅在有限的情况下被识别的情况下特别有用,例如在进入某个区域时,例如当个人使用门禁卡进入房间。
182.在一个示例中,一个或多个处理设备被配置为使用物体运动来确定预测的物体运动。这可以例如通过在时间上向前推断历史运动模式来执行,例如假设沿直线移动的物体将继续沿直线移动至少短时间段。可以理解,可以使用多种技术来执行这种预测,例如使用机器学习技术来分析特定物体或类似类型物体的运动模式,将其与其他可用信息(例如定义的预期旅行)相结合路径等,以预测未来的物体运动。然后可以将预测的物体运动与态势感知规则进行比较,以便提前识别潜在的态势感知事件。例如,这可以用于确定agvs和人员是否预计在未来的某个时间点进行拦截,从而允许在任何拦截发生之前生成警报或警告。
183.在一个示例中,一个或多个处理设备被配置为生成环境模型,该环境模型指示环境、成像设备在环境中的位置、客户端设备的位置,例如警报信标、当前物体位置、物体移动、预测的物体位置、预测的物体运动等。环境模型可用于维护近期历史运动的记录,进而可用于帮助跟踪暂时静止的物体,并更准确地识别态势感知事件。
184.环境模型可以保留在存储器中并且可以根据需要由处理设备和/或诸如远程计算机系统的其他处理设备访问。在另一个示例中,处理设备可以被配置为生成环境模型的图形表示,无论是当前状态,还是在历史时间点。这可用于允许操作员或用户查看当前或历史环境状态,从而确定与态势感知事件相关的问题,例如查看导致事件发生的一组环境等。这可能包括显示热图,显示环境中物体的运动,这反过来又可以用来突出瓶颈,或其他可能引起态势感知事件的问题。
185.如前所述,响应于识别态势感知事件,可以采取行动。这可以包括但不限于记录态势感知事件的指示、生成指示态势感知事件的通知、使输出设备生成指示态势感知事件的输出,包括生成可听和/或视觉输出,激活警报,或引起被控制物体的操作。因此,可以向监督人员或操作员提供通知,可以在环境中生成警报,例如通知人类潜在的态势感知事件,例如即将发生碰撞的可能性,或者可以用于控制自动或半自动驾驶。自动车辆,例如agvs,允许车辆控制系统以某种其他方式停止车辆和/或改变车辆的操作,从而避免事故或其他事件。
186.成像设备可以选自安全成像设备、单视场成像设备、非基于计算机视觉的成像设备或不具有内在校准信息的成像设备中的任何一个或多个。此外,由于该方法不依赖于成像设备的配置,通过使用校准数据来处理不同的成像设备,这允许在单个系统中使用不同类型和/或型号的成像设备,从而提供更大的灵活性可用于实施态势感知监控系统的设备。
187.如上所述,在一个示例中,该过程由一个或多个处理系统以及可选地作为分布式架构的一部分操作的一个或多个客户端设备来执行,现在将参考图4来描述其示例。
188.在该示例中,多个处理系统410经由诸如因特网和/或一个或多个局域网(lan)的通信网络440耦合到多个客户端设备430和成像设备420,以及多个模块化轮子控制器454。应当理解,网络440的配置仅用于示例的目的,并且在实践中处理系统410、成像设备420、客户端设备430和控制器454可以通过任何适当的机制进行通信,例如通过有线或无线连接,包括但不限于移动网络、专用网络,例如802.11网络、互联网、lan、wan等,以及通过直接或
点点对点连接,例如蓝牙等。
189.在一个示例中,处理系统410被配置为从成像设备420接收图像流,分析图像流,生成用于控制模块化轮子的控制信号,并且可选地识别态势感知事件。处理系统410还可以被配置为实现动作,例如生成通知和/或警报,可选地通过客户端设备或其他硬件显示,控制agvs的操作或类似物,或者创建和提供对环境模型的访问。虽然处理系统410被示为单个实体,但是应当理解,处理系统410可以分布在多个地理上分离的位置上,例如通过使用处理系统410和/或作为数据库的一部分提供的数据库。基于云的环境。然而,上述布置不是必需的并且可以使用其他合适的配置。
190.图5中示出了合适的处理系统410的示例。
191.在该示例中,处理系统410包括至少一个微处理器511、存储器512、可选的输入/输出设备513,例如键盘和/或显示器,以及通过总线515互连的外部接口514,如图所示。在该示例中,外部接口514可以用于将处理系统410连接到外围设备,例如通信网络440、数据库、其他存储设备等。尽管示出了单个外部接口514,但这仅是为了示例的目的,并且实际上可以提供使用各种方法(例如以太网、串行、usb、无线等)的多个接口。
192.在使用中,微处理器511执行存储在存储器512中的应用软件形式的指令,以允许执行所需的处理。应用软件可以包括一个或多个软件模块,并且可以在合适的执行环境中执行,例如操作系统环境等。
193.因此,应当理解,处理系统410可以由任何合适的处理系统形成,例如适当编程的客户端设备、pc、web服务器、网络服务器等。在一个特定示例中,处理系统310是标准处理系统,例如基于英特尔架构的处理系统,其执行存储在非易失性(例如,硬盘)存储器上的软件应用程序,尽管这不是必需的。然而,还应当理解,处理系统可以是任何电子处理设备,例如微处理器、微芯片处理器、逻辑门配置、可选地与诸如fpga(现场可编程门阵列)等实现逻辑相关联的固件,或任何其他电子设备、系统或安排。
194.图6中示出了合适的客户端设备430的示例。
195.在一个示例中,客户端设备430包括通过总线635互连的至少一个微处理器631、存储器632、输入/输出设备633(例如键盘和/或显示器)和外部接口634,如图所示。在该示例中,外部接口634可以用于将客户端设备430连接到外围设备,例如通信网络440、数据库、其他存储设备等。尽管示出了单个外部接口634,但这仅是为了示例的目的,并且实际上可以提供使用各种方法(例如以太网、串行、usb、无线等)的多个接口。
196.在使用中,微处理器631执行存储在存储器632中的应用软件形式的指令以允许与处理系统410通信,例如以允许接收通知等和/或提供对环境模型。
197.因此,应当理解,客户端设备430可以由任何合适的处理系统形成,例如适当编程的pc、因特网终端、笔记本计算机或手持式pc,并且在一个优选示例中是平板电脑或智能手机等。因此,在一个示例中,客户端设备430是标准处理系统,例如基于英特尔架构的处理系统,其执行存储在非易失性(例如,硬盘)存储器上的软件应用程序,尽管这不是必需的。然而,还应当理解,客户端设备430可以是任何电子处理设备,例如微处理器、微芯片处理器、逻辑门配置、可选地与诸如现场可编程门阵列(fpga)等实现逻辑相关联的固件,或任何其他电子设备、系统或装置。
198.现在将参照图7a和7b更详细地描述模块化轮的示例。
199.在该示例中,模块化轮子750包括主体751,主体751具有被配置为连接至物体的安装件757。主体呈“7”形,上部横向部分751.1支撑安装件757,向内倾斜的对角腿751.2向下延伸到支撑轮子752的轮毂751.3。驱动器753连接到轮毂,允许要旋转的轮子。电池756安装在倾斜的对角腿751.2的下侧,控制器754安装在电池的外表面上。还提供了转向驱动器755,其允许主体751相对于安装件757旋转,从而允许调整轮子的方向(航向)。
200.在一个具体示例中,模块化轮子被设计为独立的两个自由度轮。每个模块化轮子可以通过使用位于轮子后面和模块顶部联轴器下方的连续旋转伺服系统来产生速度和航向。它们的旋转中心对齐以减少旋转过程中的扭矩。轮子和顶部联轴器使用iso 9409-1404m6螺栓模式,以实现跨平台可比性。一组通用适配器可用于实现快速系统组装和重新配置。
201.图8中示出了合适控制器的示例。
202.在一个示例中,控制器754包括至少一个微处理器871、存储器872、输入/输出设备873,例如键盘和/或显示器,以及通过总线875互连的外部接口874,如显示。在该示例中,外部接口874可以用于将控制器754连接到外围设备,例如通信网络440、数据库、其他存储设备等。尽管示出了单个外部接口874,但这仅是为了示例的目的,并且实际上可以提供使用各种方法(例如以太网、串行、usb、无线等)的多个接口。
203.在使用中,微处理器871执行存储在存储器872中的应用软件形式的指令以允许与处理系统410通信,例如以允许接收通知等和/或提供对环境模型。
204.因此,应当理解,控制器754可以由任何合适的处理系统形成,例如适当编程的pc、互联网终端、笔记本计算机或手持式pc,并且在一个优选示例中是平板电脑或智能手机等。因此,在一个示例中,控制器754是标准处理系统,其执行存储在非易失性(例如,硬盘)存储器上的软件应用程序,尽管这不是必需的。然而,还应当理解,控制器754可以是任何电子处理设备,例如微处理器、微芯片处理器、逻辑门配置、可选地与诸如fpga(现场可编程门阵列)的实现逻辑相关联的固件,或任何其他电子设备、系统或安排。
205.在一个具体示例中,控制器754采用树莓派的形式,提供轮子命令和模块化轮子和/或通信网络之间的wi-fi通信。内置在每个轮子的车身或腿上的是一个四芯锂聚合物电池,提供动力。可通过可拆卸面板访问电池。
206.在一个示例中,模块化轮子系统的中央控制使用相对速度来设置各个模块化轮子的速度,并因此设置旋转速率。每个模块化轮子相对于物体中心的姿势(位置和方向)可用于确定所需的速度,从而能够通过相对于轮子移动中心来创建传统控制系统。模块和中心点的不同组合可以创建阿克曼转向、差速驱动和非完整全向运动。这种集中式控制可以由控制器854执行,例如指定一个控制器作为主控制器而其他控制器作为从属,具有可选地集成到模块化轮之一中的集中式内置控制器,和/或可以由处理系统410执行。
207.示例配置在图9a至9d中示出。图9a显示了一个三轮配置,瞬时旋转中心(icr)位于所有连接轮之间的中心,从而产生非完整的全向配置。图9b显示了一个四轮配置,其icr与后两个轮子的驱动轴成一直线放置,以提供阿克曼控制。图9c显示了四轮配置,icr在两组轮子之间同轴放置,产生差动驱动或滑移转向,而图9d显示了三轮配置,icr与驱动轴同轴,以提供三轮车控制。
208.应当理解,也可以采用其他驱动配置并且这些仅用于说明的目的。
209.现在将更详细地描述用于控制物体的移动以及可选地用于同时执行态势感知监测的过程的示例。
210.为了这些示例的目的,假设一个或多个处理系统410用于监控来自图像设备420的图像流,分析图像流以识别物体位置并生成传送到控制器454的控制信号,允许控制模块化轮子,从而移动物体。
211.可以基于经由客户端设备430提供的用户输入来执行用户交互,从而由客户端设备430显示模型可视化的结果通知。在一个示例中,以平台不可知的方式提供此,允许这被使用不同操作系统并具有不同处理能力的客户端设备430容易访问,通过网页从客户端设备430接收输入数据和命令,由此产生的可视化由浏览器应用程序或由该应用程序执行的其他类似应用程序在本地呈现客户端设备430。
212.处理系统410因此通常是服务器(并且在下文中将被称为服务器),其通过通信网络440等与客户端设备430、控制器454和成像设备420通信,这取决于可用的特定网络基础设施。
213.为了实现这一点,服务器410通常执行用于分析图像的应用软件,以及执行其他所需任务,包括存储和处理数据、生成控制指令等,其中由服务器410执行的动作由服务器410执行。处理器511根据作为应用软件存储在存储器512中的指令和/或经由i/o设备513从用户接收的输入命令,或从客户端设备430接收的命令。
214.还将假设用户通过直接呈现在服务器410上或在客户端设备430上的gui(图形用户界面)等与服务器410交互,并且在一个特定示例中经由浏览器应用显示由服务器410托管的网页的应用程序,或显示由服务器410提供的数据的应用程序。客户端设备430执行的动作由处理器631根据作为应用软件存储在存储器632中的指令和/或输入来执行经由i/o设备633从用户接收的命令。
215.然而,应当理解,为了以下示例的目的而假定的上述配置不是必需的,并且可以使用许多其他配置。还将理解,客户端设备430和服务器410之间的功能划分可以根据特定实现而变化。
216.现在将参照图10描述用于控制具有模块化轮子的物体的移动的过程的示例。
217.在该示例中,在步骤1000,服务器410从每个成像设备420接收图像流,并在步骤1010分析图像流以识别同步重叠图像。具体而言,这将涉及分析来自具有重叠视场并考虑定时信息,例如与图像相关联的时间戳和/或图像的接收时间,从而识别同步图像。在步骤1020,服务器410使用视觉外壳技术确定环境内的一个或多个物体位置,该技术使用物体的同步重叠图像来执行。
218.在步骤1030,服务器410识别物体和/或轮子,例如使用物体识别和/或检测编码数据,例如april标签、qr码或类似物。在识别了物体和/或与物体相关联的模块化轮子之后,服务器410可以检索与物体相关联的路由数据。路由数据可以是通过环境的预定义路线,或者可以包括目标目的地,然后服务器410操作以计算路线。
219.在此之后,服务器410可以根据路线生成控制指令,控制指令可以被传送到控制器454,从而允许物体根据路线数据移动,从而遵循路线。
220.应当理解,该过程可以周期性地重复,例如每隔几秒,从而允许服务器410基本上连续地监视物体的移动,以确保遵循路线,并在需要时采取干预措施,例如考虑态势感知事
件,或纠正与预期旅行路径的任何偏差。这也降低了需要在控制过程的每个循环上生成的控制指令的复杂性,允许以一系列简单的控制指令来实现复杂的运动。
221.现在将参考图11a和11b来描述用于控制物体和监测态势感知的过程的另一个示例。
222.在该示例中,在步骤1100,服务器410从成像设备420获取多个图像流。在步骤1105,服务器410操作以识别图像流内的物体,通常通过分析每个图像流来识别图像流内的运动。图像流。在识别了物体之后,在步骤1110,服务器410操作以使用关于不同成像设备的相对位置的信息来识别同步重叠图像。在步骤1115,服务器410采用视觉外壳分析来定位环境中的物体。
223.在识别了环境内物体的位置之后,该信息用于在步骤1120更新环境模型。在这方面,环境模型是环境模型,包括关于物体在环境内的当前和可选历史位置的信息,然后可用于跟踪物体的移动和/或位置。下面将更详细地描述其示例。
224.在步骤1125,服务器410例如使用编码数据、网络地址等来识别可移动物体和/或轮子。一旦识别出物体和/或轮子,就可以确定物体/轮子的配置。
225.在这方面,物体配置通常指示物体的范围,但也可以指示附加信息,例如对物体应该移动的速度的限制、与物体相关联的接近限制或相似的。轮配置通常指示每个轮在物体上的位置,并且用于控制每个轮的相对速度和/或方向以产生特定的物体运动。
226.物体和/或轮子配置可以被预定义,例如在轮子连接到物体时的设置过程期间,或者可以例如使用视觉外壳分析来检测以计算物体的范围,并使用编码标识符,例如轮子上的april标签,从而识别和定位轮子。
227.在步骤1135,服务器410确定定义物体的路线和/或目的地的路由数据。同样,这通常是预定义的,例如在设置过程中,并根据需要检索,或者可以由操作员或其他个人手动输入,例如使用客户端设备430。
228.应当理解,物体和/或轮子配置和路由数据可能只需要确定一次,例如在环境中第一次检测到物体时,相关信息与环境中的物体相关联。环境模型以允许在后续控制循环中生成控制指令。
229.还将理解,在没有确定物体或轮子配置的情况下,可以检测到这些。例如,可以通过图像分析生成基本物体和/或轮子配置,从而允许使用视觉外壳分析得出物体的基本形状和/或轮子位置。轮子相对于彼此的位置也可以使用带有基准标记的编码数据来确定,例如april标签或类似物。此外,轮配置数据可以通过选择性地控制一个或多个模块化轮并监测物体和/或轮的最终移动、使用该反馈来导出轮的相对姿态并因此生成轮配置来导出。
230.假设实施了态势感知监控,则在步骤1140确定和跟踪其他物体的移动。一旦静态物体的物体运动和/或位置已知,则在步骤1145将运动或位置与态势感知规则进行比较,从而允许识别诸如违反规则的态势感知事件。在步骤1150,该信息用于执行任何所需的动作,例如警报或通知的生成、agvs的控制等。
231.在此之后或以其他方式,在步骤1155,服务器410计算可移动物体的路线。在这方面,路线将典型地根据路由数据生成,但可以可选地考虑其他物体的位置和/或移动,以及物体的范围和物体配置中的任何其他相关参数,允许移动物体以避免其他物体。
232.最后,在步骤1160,服务器410计算要发送到与物体相关联的每个模块化轮子的控
制指令。这是基于轮子配置执行的,使得服务器410可以计算每个模块化轮子的必要轮子旋转和/或方位以实施相应的路线。然后将控制指令提供给每个轮子控制器454,从而允许相应地移动轮子以使物体遵循计算的路线。
233.如上所述,上述方法通常依赖于校准过程,其包括在本质上校准成像设备420,以便确定成像设备特性,以及在外部校准,以便考虑成像设备的位置环境内。现在将参考图12描述这种校准过程的示例。
234.在该示例中,在步骤1200,成像设备用于捕获图案的图像。图案通常具有预定的已知形式并且可以包括点图案、机器可读编码数据,例如april标签等。图案的图像通常是从一系列不同的角度捕获的。
235.在步骤1210,通过将捕获的图像与表示已知图案的预期外观的参考图像进行比较来分析图像,允许使用比较的结果来确定由特定图案的特征引起的任何失真或其他视觉效果。成像设备。这用于在步骤1220导出成像设备的固有校准数据,然后将其存储为校准数据的一部分,从而允许将其用于校正由相应成像设备捕获的图像,从而生成校正图像。
236.应当理解,步骤1200到1220对于要使用的每个单独的成像设备重复,并且可以在原位执行,或者在放置成像设备之前执行。
237.在步骤1230,假设这还没有被执行,相机和一个或多个目标被定位在环境中。目标可以是任何适当的形式,并且可以包括点、基准标记,例如april标签等。
238.在步骤1240,目标的图像由成像设备420捕获,图像被提供给服务器410以在步骤1250进行分析。执行分析以便识别已经由不同成像捕获的目标成像设备420的不同角度,从而允许确定成像设备420的相对位置。该过程可以手动执行,例如通过让用户突出显示不同图像中的共同目标,允许使用三角测量来计算捕获图像的成像设备的位置。或者,这可以至少部分地使用图像处理技术来执行,例如通过识别定位在整个环境中的不同目标,然后再次使用三角测量来获得相机位置。这个过程也可以通过让用户识别相机的大致位置来辅助,例如通过在环境模型中指定它们。
239.在步骤1260,指示成像设备的相对定位的外部校准数据被存储为校准数据的一部分。
240.现在将参考图13a-13c更详细地描述用于执行情境监测的过程的示例。
241.在该示例中,在步骤1300,成像设备410捕获图像流,在步骤1302将这些图像流上传到服务器410。步骤1300和1302基本上连续地重复,使得图像流基本上被实时呈现给服务器410。
242.在步骤1304,图像流由服务器410接收,在步骤1306,服务器操作以识别图像流中的每个图像的图像捕获时间,通常基于与每个图像相关联并且由然后在步骤1308可选地验证该时间,例如通过让服务器410将加时间戳的捕获时间与服务器410接收图像的时间进行比较,同时考虑到预期的传输延迟,以确保时间在预定的误差范围内。如果未验证时间,则可能会生成错误,以便调查问题。
243.否则,在步骤1310,服务器410分析连续图像并在步骤1312操作以从图像中减去静态区域。这用于识别每个图像内的运动分量,这些运动分量被认为对应于在环境内移动的物体。
244.在步骤1314,通过识别来自不同图像流的图像来识别同步重叠图像,所述图像流
基本上同时捕获,并且包括从不同视点捕获的物体。可以使用外部校准数据执行重叠图像的识别,从而允许识别具有重叠视场的相机,还可以包括分析包括物体的图像以识别不同图像中的相同物体。这可以检查机器可读编码数据的存在,例如图像中的april标签,或者可以使用识别技术来识别物体的特征,例如物体颜色、大小、形状等。
245.在步骤1316中,分析图像以识别在步骤1318中物体位置。这可以使用编码的基准标记来执行,或者在这种标记不可用的情况下通过执行视觉外壳分析来执行。应当理解,为了执行分析,这必须考虑外部和内部校准数据,以针对成像设备的特性(例如任何图像失真)校正图像,然后进一步利用各自的相对位置的知识成像设备,以便在执行视觉外壳分析的情况下解释物体位置和/或粗略形状。
246.在确定了物体位置之后,在步骤1320,服务器410操作以确定物体标识。在这方面,识别物体的方式将根据物体的性质和任何识别数据而变化,现在将参考图14更详细地描述示例识别过程。
247.在该示例中,在步骤1400,服务器410使用图像处理技术分析物体的一个或多个图像,并在步骤1405确定图像是否包括可视编码数据,例如april标签。如果服务器识别april标签或其他可视编码数据,在步骤1410对其进行分析以确定与物体相关联的标识符。当编码数据最初分配给时,标识符和物体之间的关联通常作为物体数据存储在数据库中物体,例如在设置过程中,将april标签附加到物体时。因此,从机器可读编码数据中解码标识符允许从存储的物体数据中检索物体的标识,从而允许在步骤1415识别物体。
248.在不存在可视编码数据的情况下,服务器410在步骤1420确定物体是否与诸如蓝牙或rfid标签读取器之类的读取器一致。如果是,则在步骤1425询问标签读取器确定是否已从与物体关联的标签中检测到标记数据。如果是这样,则可以在步骤1410分析标签数据以确定标识符,在步骤1415使用该标识符以类似于上述方式的方式使用存储的物体数据来识别物体。
249.应当理解,如果轮子与相应的标识符和/或标签相关联,上述技术也可以用于识别各个轮子。
250.在未检测到标签数据或物体与阅读器不一致的情况下,可以在步骤1435使用图像识别技术执行视觉分析,以便在步骤1440尝试识别物体。它将应当理解,这可能仅足以识别一种类型的物体,例如人,并且可能不允许区分相同类型的物体。此外,在某些情况下,这可能不允许识别物体,在这种情况下,可以为物体分配未知标识。
251.在步骤1322,服务器410访问现有环境模型并在步骤1324评估检测到的物体是否是新物体。例如,如果检测到新标识符,这将指示新物体。或者,对于没有标识符的物体,服务器410可以评估该物体是否接近模型内的现有物体,这意味着该物体是已经移动的现有物体。在这方面要注意,由于物体是基于图像之间的移动来识别的,因此在图像内可能不会检测到长时间保持静止的物体,这取决于如前所述如何执行检测。但是,静态物体将根据其最后一个已知位置保留在环境模型中,因此当物体重新开始移动并位于图像内时,可以根据物体的重合位置,尽管应该理解,这可能不是必需的,这取决于物体是如何被检测到的。
252.如果确定物体是新物体,则在步骤1326将物体添加到环境模型。如果物体不是新物体,例如如果它表示移动的现有物体,则可以在步骤1328更新物体位置和/或移动。
253.在任一种情况下,在步骤1330,可以外推任何物体运动以便预测未来物体运动。因
此,这将检查历史运动模式的趋势,并使用它来预测短时间内可能的未来运动,从而允许服务器410提前短时间内预测物体将在哪里。如前所述,这可以使用机器学习技术或类似技术来执行,同时考虑物体或类似类型的物体的先前移动以及其他信息,例如定义的预期行进路径。
254.在步骤1332,服务器410使用相应的物体标识检索与环境模型中的每个物体相关联的规则。规则通常会指定可能针对相应物体出现的各种态势感知事件,并且可以包括允许和/或拒绝移动的详细信息。这些可以是绝对的,例如,将agvs的运动与预编程的行进路径进行比较,以确定物体是否离行进路径太远,或比较个人的运动以确认他们在允许的区域内,或在外面被拒绝区。态势感知规则还可以定义相对标准,例如两个物体是否在彼此之间小于一定距离内,或者是否在相交的预测行进路径上。
255.如前所述,通常基于对特定环境和环境内物体的要求的理解来定义规则。通常为特定物体、物体类型或多个物体定义规则,以便可以使用不同的规则来评估不同物体的态势感知。态势感知规则通常与关联的物体标识一起存储,以特定物体标识符或指定物体类型的形式作为规则数据,允许为环境内的每个检测到的物体检索相应的规则。
256.在步骤1334,将规则应用于与每个物体相关联的物体位置、移动或预测移动,以确定在步骤1336是否违反规则,从而确定事件正在发生。
257.如果在步骤1336评估出违反规则,则服务器410通过从规则数据中检索动作来确定在步骤1338所需的任何动作,从而允许在步骤1340启动动作。在这方面,相关动作通常会被指定为规则的一部分,允许定义与不同物体和不同态势感知事件相关联的不同动作。这允许根据特定事件定义各种动作,这可以包括但不限于记录事件、生成警报或通知,或控制自动或半自动车辆。
258.在一个示例中,诸如移动电话之类的客户端设备430可以用于显示警报,从而可以将警报广播给环境中的相关个人。这可以包括推送到任何可用客户端设备430的广播通知,或者可以包括将通知定向到与特定用户相关联的特定客户端设备430。例如,如果发生涉及车辆的事件,则可以向车辆操作员和/或主管提供通知。在另一个示例中,客户端设备430可以包括显示器或其他输出设备,例如被配置为生成听觉和/或视觉警报的信标,其可以在环境中的特定定义位置处提供,或者与诸如agvs的物体相关联。在这种情况下,如果即将与agvs或其他物体发生碰撞,则可以激活物体上的信标,提醒个人注意潜在的碰撞,从而避免碰撞。
259.在又一示例中,客户端设备430可以形成诸如自动或半自动车辆的物体的控制系统的一部分或耦合到物体的控制系统,从而允许服务器410指示客户端设备430控制物体,例如,导致物体的运动停止,直到态势感知事件被减轻。
260.从上文可以理解,客户端设备430可以与各个物体相关联,或者可以定位在环境中,并且这将被定义为设置过程的一部分。例如,可以在物体数据中识别与物体相关联的客户端设备430,以便当执行与相应物体相关联的动作时,物体数据可以用于检索相关联的客户端设备的细节,从而将通知推送到相应的客户端设备。类似地,静态客户端设备的详细信息可以存储为环境模型的一部分,并根据需要以类似的方式检索详细信息。
261.在任何情况下,一旦动作已经被启动或以其他方式启动,该过程可以返回到步骤1304以允许继续监控。
262.虽然上述示例集中在态势感知监控上,但是应当理解,这可以结合控制可移动物体来执行,具体而言,在该示例中,路由数据和关于物体移动和位置的信息可以用于控制模块化轮子,从而控制物体的运动。
263.除了执行态势感知监控和执行如上所述的动作之外,服务器410还维护环境模型并允许通过图形表示来查看它。这可以通过客户端设备430来实现,例如,允许监督者或其他个人维持环境内活动的概览,并且还可能在它们出现时查看态势感知事件。现在将参考图15更详细地描述环境模型的图形表示的示例。
264.在该示例中,图形表示1500包括环境e,例如建筑物的内部平面图或类似物。应当理解,建筑物的图形表示可以基于建筑平面图和/或通过扫描或成像环境而得到。该模型包括表示成像设备420的位置的图标1520、表示物体位置的图标1501、1502、1503和1504,以及表示客户端设备430的位置的图标1530,例如用于生成听觉和/或视觉警报的信标.
265.成像设备420的定位可以作为上述校准过程的一部分来执行,并且可以涉及让用户将图标手动定位在近似位置,随着校准的执行,定位被细化。类似地,客户端设备的定位也可以手动执行,在静态客户端设备420的情况下,和/或通过将客户端设备420与物体相关联,使得在物体在环境中被检测到时,客户端设备位置被添加到模型中。
266.在该示例中,表示还显示与物体相关联的附加细节。在这种情况下,物体1501的形状是矩形的,可以用来表示物体类型,例如agv,其图标的大小与实际物理agv的占地面积相似。物体1501具有显示的关联标识符id1501,其对应于检测到的物体标识。在这种情况下,物体具有相关联的预编程行进路径1501.1,这是agv预期要遵循的路径,而客户端设备图标1530.1显示为与物体1501相关联,指示客户端设备提供在agv。
267.在该示例中,物体1502是人,因此用与物体1501不同的形状来表示,例如圆形,同样具有与人的足迹相似的足迹。该物体有一个关联的物体标识符idper2,表示这是一个人,并使用一个数字来区分不同的人。物体1502具有行进路径1502.2,表示物体1502在环境中的历史运动。
268.物体1503再次是人,并且包括物体标识符idper3,以与物体1502区分开。在这种情况下,物体是静态的并且结果以虚线示出。
269.物体1504是第二个agv,在这种情况下具有由id???表示的未知标识符。agv 1504具有历史行进路径1504.2和预测行进路径1004.3。在这种情况下,注意到预测的行进路径与agv 1501的预定路径1501.1相交,并且预计在区域1504.4中可能发生交叉,这被强调为潜在问题。
270.最后,定义了拒绝区域1505,不允许任何物体进入其中,并提供相关的客户端设备430,如图标1530.5所示,如果物体接近拒绝区域,则允许生成警报。
271.如上所述,对图像区域进行分类以便评估图像区域是属于环境的静态部分还是属于包括运动的环境的一部分,这又可以用于识别物体。现在将参考图16更详细地描述用于对图像区域进行分类的过程的示例。
272.在步骤1600,识别图像区域。可以任意定义图像区域,例如通过基于分割网格或类似的分割每个图像,或者可以基于对先前图像中的运动的检测。一旦图像区域被识别,服务器可选地在步骤1610评估图像区域的历史,可以执行该步骤以识别图像区域最近是否被评估为非静态的,这又在识别物体中有用最近停止移动。
273.在步骤1620,可以识别视觉效果。可以根据视觉效果的性质和优选实施方式以任何适当的方式识别视觉效果。例如,这可能涉及分析来自照明传感器的信号以识别背景或环境照明的变化。或者,这可能涉及检索有关环境内视觉效果位置的信息,这些信息可以在校准过程中定义,例如通过指定环境中屏幕或显示器的位置。这还可以涉及分析图像以识别视觉效果,例如识别图像的包括已知对应于视觉效果的光谱响应的部分,例如特定照明源。执行此过程是为了考虑视觉效果并确保这些效果不会被错误地识别为移动物体。
274.在步骤1630,设置分类阈值,其用于评估图像区域是静态的还是非静态的。分类阈值可以是默认值,然后根据图像区域历史和/或识别的视觉效果根据需要对其进行修改。例如,如果单个区域历史表明图像区域以前或最近被分类为非静态,则可以从默认级别提高分类阈值,以降低在以下情况下图像区域被分类为静态的可能性一个物体最近停止了移动。这实际上增加了评估相应图像区域变化的学习持续时间,这对于跟踪暂时静止的物体很有用。类似地,如果区域内存在视觉效果,则可以修改威胁分类阈值以降低图像区域被错误分类的可能性。
275.一旦确定了分类阈值,就在步骤1640分析图像区域的变化。这通常通过跨图像流的多个图像比较相同图像区域来执行。多个图像可以是连续的图像,但这不是必需的,并且可以评估任何时间间隔的图像。此后,在步骤1650,将图像区域的变化与阈值进行比较,比较结果在步骤1660用于对图像区域进行分类,例如,如果运动程度下降,则将该区域定义为静态低于分类阈值。
276.如前所述,可能会出现遮挡,其中物体至少部分地被成像设备遮挡,现在将参考图17描述遮挡检测和缓解的过程的示例。
277.在该示例中,在步骤1700,在多个重叠图像中识别对应的图像区域。在这方面,对应的图像区域是来自多个重叠图像的图像区域,这些重叠图像是环境中公共体积的视图,例如一个或更多体素。在步骤1710,例如使用视觉外壳技术来识别一个或多个候选物体。
278.在步骤1720,任何候选物体被添加到三维模型,例如类似于上面关于图10描述的模型。在步骤1730,候选物体被反投影到一个图像的成像平面上。成像设备捕获候选物体的图像。执行此操作是为了确定候选物体是否重叠并因此可能已发生遮挡。
279.一旦已经识别出潜在的遮挡,在步骤1740,服务器可以使用该信息来验证候选物体。例如,对于不受遮挡的候选物体,这些可以被检测到的物体接受。相反,在检测到遮挡的情况下,可以在考虑遮挡的情况下重复视觉外壳过程。这可以通过从视觉外壳过程中移除包含遮挡的图像区域来实现,或者更典型地考虑遮挡的存在,例如使用将在下文更详细描述的加权过程或类似方法。
280.现在将参照图18描述用于物体识别的加权过程的示例。
281.在该示例中,在步骤1800,以类似于关于步骤1200描述的方式识别对应的图像区域。
282.在步骤1810,评估每个图像区域,评估用于确定物体检测准确的可能性。在这点上,应当理解,目标的成功检测将受到一系列因素的影响,包括图像质量(例如图像分辨率或失真)、相机几何形状(例如相机距离和角度)、图像区域历史(例如图像区域以前是静态的还是非静态的,是否存在遮挡或视觉效果,收集的数据之间的异步程度,例如重叠图像的捕获时间差异等。
283.因此,该过程试图通过基于每个因素分配一个值来考虑这些因素,并在步骤1820使用该值来确定图像区域得分。例如,每个因素的值通常表示该因素是否将对物体的成功检测产生积极或消极影响,因此如果当前存在遮挡,则可以使用-1的值,而如果不存在遮挡,则可以使用+1的值,表明它更有可能是一个物体如果存在遮挡,检测将是正确的。
284.一旦被计算,图像区域得分然后可以用于物体的识别。
285.在一个示例中,在步骤1830,使用图像区域得分作为权重来执行视觉外壳过程。因此,在这种情况下,具有低图像区域分数的图像区域,不太可能准确地成像物体,将在视觉外壳过程中被赋予低权重。因此,这将对物体检测过程的影响较小,因此该过程更严重地偏向具有较高图像区域源的图像区域。另外和/或替代地,可以通过在步骤1840组合每个对应图像区域的图像区域得分来计算复合物体得分,在步骤1850将结果值与阈值进行比较,这被用于评估是否在步骤1860已经成功地识别出一个物体。
286.因此,应当理解,上述系统操作以跟踪环境中物体的移动,这可以使用低成本传感器来实现。物体的移动和/或位置可以与定义的态势感知规则进行比较,以识别违反规则的行为,从而允许采取行动,例如通知违反行为和/或控制agvs,以防止事故或其他合规事件的发生。
287.在整个本说明书和随后的权利要求中,除非上下文另有要求,否则词语“包括”以及诸如“包括”或“包含”的变体将被理解为暗示包含所陈述的整数或整数组或步骤,但不排除任何其他整数或整数组。如本文所用且除非另有说明,术语“大约”是指
±
20%。
288.本领域技术人员将理解许多变化和修改将变得显而易见。对于本领域的技术人员来说显而易见的所有这些变化和修改都应该被认为落入之前描述的本发明广泛出现的精神和范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1