对自主移动机器人的机器人队列中正在发生的死锁冲突的检测的制作方法
- 国知局
- 2024-07-31 23:48:23
本发明涉及一种用于检测自主移动机器人的机器人队列中正在发生的死锁冲突的方法。本发明进一步涉及一种死锁检测系统。
背景技术:
1、自主移动机器人的基本挑战是死锁冲突的发生,其中至少一个机器人由于另一个机器人对其的阻挡而无法执行后续行为。一个示例是一种情况,其中一组机器人的每个成员等待被该组的另一个成员阻挡的资源,从而形成其中没有机器人能够向前移动的资源的循环依赖性。
2、已经进行了不同的尝试来预测死锁,以建立在理论上不发生死锁的操作计划。然而,经常需要自主移动机器人的队列在动态环境中行进,在该动态环境中人和突然的障碍物影响该队列中的单独的机器人的操作。通常,此类干扰是不可预测的并且不能被预防。因此,无论操作计划的质量如何,死锁几乎都不能完全避免。此外,由于移动自主机器人的系统形成了用于处理死锁的此类特别有挑战性的系统,因此与其他系统以及甚至其他自主系统相比,一般的解决方案在这里可能不适用。
3、因此,即使可能存在用于预测甚至解决死锁的概念,此类解决方案对于用于自主移动机器人来说未必是显而易见的。此外,死锁的发生通常不能完全避免。
技术实现思路
1、发明人已经认识到与自主移动机器人的死锁相关的上述问题和挑战,并且随后做出了下述发明,该发明可以便于对正在发生的死锁冲突的检测。
2、本发明的一个方面涉及一种用于检测自主移动机器人的机器人队列中正在发生的死锁冲突的方法,所述方法包括以下步骤:
3、将多个机器人资源区指定给物理环境中的相应物理区,其中所述机器人队列中的自主移动机器人单独地能够阻挡所述多个机器人资源区中的资源区并且正在朝向所述多个机器人资源区中的资源区操作;
4、操作所述机器人队列,使得所述机器人队列中的自主移动机器人单独地并且动态地阻挡所述多个机器人资源区中的不同资源区;
5、监测所述机器人队列以识别与所述机器人队列中的至少两个移动机器人相关联的死锁相关机器人状态,其中所述死锁相关机器人状态指示所述至少两个移动机器人的受限可移动性,其中所述至少两个移动机器人包括至少第一机器人和第二机器人;以及
6、识别所述第一机器人正在朝向所述多个机器人资源区中的被所述第二机器人阻挡的资源区操作,以检测所述正在发生的死锁冲突。
7、自主移动机器人的队列在复杂且动态的物理环境中操作,这些物理环境对于由例如计算机进行分析以估计机器人是否已经被暂时停止或者是否实际上正在发生死锁冲突而言是不平凡的。通过将多个机器人资源区指定给物理环境的相应物理区,建立复杂物理环境的表示,其可由基于计算机的系统访问以用于分析,这是有利的。此外,通过指定多个机器人资源区来建立物理空间的实际划分。
8、通过监测机器人队列,可以有利地识别死锁相关机器人状态。通常,队列中的每个机器人可以具有指示其当前操作状态的至少一个机器人状态。这些不同的机器人状态中的至少一些机器人状态可以指示给定机器人是正在发生的死锁冲突的一部分,而这些机器人状态中的至少一些其他机器人状态可以指示给定机器人不是正在发生的死锁冲突的一部分。然而,单个机器人的状态通常本身不足以推断可能正在发生死锁冲突,因为死锁冲突涉及若干机器人。因此,识别死锁相关机器人状态与机器人队列中的至少两个移动机器人相关联可以降低将正在发生的非死锁场景错误地识别为死锁冲突的风险。
9、表示实际物理区的机器人资源区以及与死锁相关机器人状态相关联的至少两个机器人被组合利用来检测正在发生的死锁冲突。即,在本发明的实施方案中,在至少两个机器人中的一个机器人正在朝向被这两个机器人中的另一个机器人阻挡的资源区操作的场景发生的情况下,该场景被识别为死锁冲突。换句话讲,检测到正在发生的死锁冲突。
10、该方法有利地提供了一种用于识别和检测复杂物理环境中的许多自主移动机器人的系统中正在发生的死锁冲突的清楚且直接的方法。
11、单独依赖死锁相关机器人状态(不考虑资源区)在比较中可能是不利的。通过基于被标记为死锁相关的状态来唯一地检测正在发生的死锁冲突,将许多不同的机器人状态标记为死锁相关可能会导致正在发生的死锁冲突的许多正误识检测,而标记很少不同的机器人状态可能会导致某些死锁场景没有被完全检测到。另选地,通过基于一个机器人正在朝向被另一个机器人阻挡的资源区操作来唯一地检测正在发生的死锁冲突,机器人仅仅在等待暂时阻挡区域的另一个机器人的许多场景也可能被错误地检测为正在发生的死锁冲突,即使此类冲突可以被机器人自身快速地解决。通过将对死锁相关机器人状态的识别与对机器人资源区的分析相结合,有利地提供了用于检测正在发生的死锁冲突的非常适合的阈值,其潜在地不识别太多的正误识死锁冲突,也不会不识别实际上正在发生的死锁冲突。并且将对正在发生的死锁冲突的检测基于机器人资源区的指定是自主移动机器人的有利方法,因为这些机器人确实依赖于实际上在不同物理区周围行进。
12、自主移动机器人(amr)也可以被称为自动导引车(agv)、驱动单元或移动工业机器人。在本公开内,amr也可以被简单地称为机器人。amr通常是能够被编程以例如在诸如生产设施、仓库设施和医疗设施(诸如医院)的工业环境中执行后勤任务的一件机器。此类机器人通常使用其自己的轮子自主移动,具有用于支撑在后勤任务中要移动的对象的主体。此外,机器人通常具有其自己的机器人控制系统,该机器人控制系统被布置成沿途径(诸如,计划的途径)操纵机器人。机器人控制系统还能够规划机器人然后可沿其行进的途径。控制系统可以例如包括过程控制器和对数字存储装置的访问。每个单独的机器人的控制系统可以提供指示该机器人的机器人状态的信息,诸如机器人状态本身。然后,机器人控制系统可以将该机器人状态提供给中央控制系统。控制系统还可以提供关于机器人正在占用哪个机器人资源区以及机器人正在朝向哪个机器人资源区操作的估计。自主移动机器人的示例包括差动驱动机器人、基于自行车转向的机器人和基于阿克曼转向的机器人。示例还包括自主机器人叉车。
13、自主移动机器人的机器人队列可以被理解为至少部分地在相同物理环境内操作使得死锁冲突可能在这些机器人之间发生的多个自主移动机器人。
14、机器人资源区可以被理解为物理环境的物理区的数字表示。通常,物理环境的每个单独的子部分(即,相应物理区)可以由相应的机器人资源区表示。并非物理环境的每个物理区都必须与机器人资源区相关联。例如,死锁冲突发生概率低的大房间可能不具有指定的机器人资源区,而走廊、十字路口和较小房间各自通常被指定有相应机器人资源区。然而,在一些实施方案中,整个物理环境由机器人资源区表示。机器人资源区还可与机器人相关装置相关联,诸如自主移动机器人的充电器或插接站。在本发明的典型实施方案中,物理环境是内部环境和/或平坦地面环境。本发明提供的解决方案在内部环境和平坦地面环境中特别有用。
15、在实践中,机器人资源区的指定可以存储在单独的机器人和/或中央控制系统中。
16、当正在操作机器人队列时,该队列中的每个单独的机器人可以操作以执行其已经被编程用于执行的任务。当正在操作机器人时,它最经常地围绕对应于资源区的不同物理区移动。通过占用、阻挡或正在朝向物理区操作,机器人可以被认为占用、阻挡或正在朝向表示该物理区/与该物理区相关联的机器人资源区操作。在该操作期间,机器人因此可以同时跨若干不同的资源区行进。在此类操作期间,它可以在一个点处占用一个资源区,而在稍后的点处,它可以占用不同的资源区。可选地,它也可以占用若干资源区,部分地占用一个或多个资源区,或者在一个时间点处完全不占用资源区。占用机器人资源区可以被理解为物理地存在于与该机器人资源区相关联的物理区中,因此限制其他机器人行进到该区中。相似地,部分地占用机器人资源区可以被理解为物理地存在于与该机器人资源区相关联的物理区中,因此部分地限制其他机器人行进到该区中。各自部分地占用资源区的若干机器人可以组合地完全占用该资源区。
17、机器人不一定必须占用资源区才能阻挡它。例如,机器人还可以通过占用朝向资源区(另一个机器人必须沿其行进)的途径来阻挡该资源区。或者,又如,在具有资源区队列的实施方案中,机器人可以通过在资源区队列中的另一个机器人之前来阻挡资源区。
18、正在朝向机器人资源区操作的机器人可以被理解为具有如下任务的机器人,在该任务中,该机器人旨在行进到该资源区或者行进通过该资源区。正在朝向机器人资源区操作的机器人因此在一些情况下可以对应于正在朝向该资源区行进的机器人。然而,在对与资源区相关联的物理区的访问被阻止的情况下,机器人可能被迫停止。在此类情况下,即使机器人没有移动,只要机器人仍然旨在行进到该资源区或者行进通过该资源区,机器人仍然可以被认为正在朝向该资源区操作。此类机器人然后可以例如与等待状态相关联。相反,在检测到正在发生的死锁冲突的情况下,可以可选地通过朝向另一个资源区操作机器人来解决死锁冲突。
19、在一些另选的实施方案中,操作机器人队列的步骤是以下步骤:操作所述机器人队列,使得所述机器人队列中的至少一个自主移动机器人(例如,第二机器人)能够至少部分地占用所述多个机器人资源区中的单独的资源区,并且使得如果朝向所述资源区操作的资源区被占用到不允许所述机器人队列中的更多自主移动机器人进入该资源区的程度,则朝向所述资源区操作的至少一个其他单独的自主移动机器人(例如,第一机器人)能够进入等待状态。在此类实施方案中,(至少)第一机器人正在等待当前由(至少)第二机器人占用的资源区(处于与之相关联的等待状态)。
20、通常,队列中的每个机器人具有指示其当前操作和/或操作状态的至少一个机器人状态。机器人状态的一些示例是“等待命令(awaitingorder)”、“执行命令(executingorder)”、“独立任务(independentmission)”、“充电(charging)”、“准备(staging)”、“同步(synchronizing)”、“疏散中(evacuating)”、“已疏散(evacuated)”、“低电量(lowbattery)”、“不可用(unavailable)”、“错误(error)”、“紧急停止(emergencystop)”、“崩溃(crashed)”和“未知(unknown)”。在此类状态中,一个或多个状态可以被认为或标记为死锁相关机器人状态。一些状态可以与其他条件结合被认为是死锁相关的,例如,“执行命令”状态仅在具有该状态的机器人没有移动的情况下被认为是死锁相关机器人状态。
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、在本发明的一些实施方案中,所述状态持续阈值为至少1秒,例如至少2秒,例如至少3秒,诸如至少5秒。
58、通过具有状态持续阈值,可以有利地避免对正在发生的死锁冲突的一些正误识检测,特别是在机器人恰好暂时停止但能够在短持续时间之后继续操作的情况下。此类情况例如可能发生在人短暂地插入机器人的途径时,其然后阻挡另一个机器人的资源区。
59、在本发明的一些实施方案中,所述方法包括以下步骤:将所述至少两个移动机器人中的每个移动机器人映射到数字有向图,该数字有向图包括图节点和指示所述图节点之间的依赖性的图边,其中所述多个机器人资源区中的资源区由所述图节点表示,并且所述机器人队列中的正在朝向所述多个机器人资源区中的资源区操作的自主移动机器人由所述图边表示。
60、用于分析机器人资源区的一种有利的方法是采用数学图论。即使机器人资源区涉及物理区,为了估计机器人与区之间的相互依赖性,它们也可以被视为抽象对象。因此,各个区可被视为图节点,并且机器人对区的依赖性可被视为图边。例如,每个机器人可以与图边相关联,使得该图边从机器人当前正在阻挡/占用的资源区指向机器人正在朝向其操作的资源区。
61、机器人可以另选地由图节点结合图边来表示,例如使得图节点表示资源区和占用该资源区的机器人两者。
62、数字有向图提供了用于识别和检测依赖性以及由此正在发生的死锁冲突的有利框架。尽管图论是研究的良好建立的数学领域,但是在实践中可以将此类抽象概念应用于在自主机器人队列中发生的混乱场景是不明显的。
63、在本发明的一些实施方案中,所述方法包括以下步骤:基于图论算法,诸如tarjan的强连通分量算法来分析所述数字有向图以识别所述数字有向图的一个或多个强连通分量,其中对所述正在发生的死锁冲突的检测进一步基于所述一个或多个强连通分量中的至少一个强连通分量。
64、例如,识别所述第一机器人正在朝向所述多个机器人资源区中的被所述第二机器人阻挡的资源区操作的(步骤)基于所述一个或多个强连通分量中的至少一者。
65、分析数字有向图的一种方式是通过采用图论算法,诸如tarjan的强连通分量算法,其可以识别图节点的强连通分量。强连通分量可以对应于彼此相互依赖的一个或多个节点。或者,在数学术语中,如果每个包含的顶点/节点可从每个其他顶点/节点到达,则有向图的(子)集被称为强连通。图节点的一个或多个强连通分量中的每一者是图节点的不同子集。然后可以使用强连通分量来识别潜在正在发生的死锁冲突。实际上,强连通分量可以精确地对应于正在发生的死锁冲突(假定强连通分量具有多于一个图节点)。
66、利用图论算法来识别强连通分量是有利的,因为此类强连通分量可直接指示正在发生的死锁冲突。
67、在本发明的一些实施方案中,所述至少两个移动机器人正在朝向被所述至少两个移动机器人中的机器人阻挡的资源区操作以形成循环依赖性。
68、例如,第一机器人朝向被第二机器人阻挡/占用的资源区操作,第二机器人继而朝向被第一机器人阻挡/占用的资源区操作。或者,例如,第一机器人朝向被第二机器人阻挡/占用的资源区操作,第二机器人继而朝向被第三机器人阻挡/占用的资源区操作,第三机器人继而朝向被第一机器人阻挡/占用的资源区操作。此类循环依赖性当然不限于两个和三个机器人的示例,而是可以包括任何数量的机器人。
69、在本发明的一些实施方案中,所述第二机器人正在朝向所述多个机器人资源区中的不饱和资源区操作。
70、在本发明的一些实施方案中,所述第二机器人没有正在朝向所述多个机器人资源区中的资源区操作。
71、正在发生的死锁冲突不一定具有循环依赖性。例如,可能发生线性依赖性,其中最前面的机器人(根据依赖性)由于一些非机器人障碍物阻挡它或者由于该机器人的故障而不能继续。该最前面的机器人(例如,第二机器人)正在朝向不饱和资源区操作可以指示此类线性依赖性。或者另选地,最前面的机器人没有正在朝向资源区操作可以类似地指示线性依赖性。
72、在本发明的一些实施方案中,所述方法包括以下步骤:向人工操作员通知所述正在发生的死锁冲突。
73、一旦死锁冲突发生,机器人通常不能自己解决死锁。因此,通知人工操作员是有利的,因为这允许人工操作员估计和解决死锁,这是有利的。
74、通知人工操作员的步骤可以基于视觉指示和/或音频指示。视觉指示的示例是警示灯、计算机设备(例如,智能电话、平板计算机、个人计算机或其他类型的基于计算机的系统)的监视器上的消息/通知。
75、在本发明的一些实施方案中,通知所述人工操作员的所述步骤包括向所述至少两个移动机器人提供指示标识。
76、此类指示标识可以包括与两个机器人相关的任何信息,例如允许识别两个机器人中的每个机器人的信息、机器人的操作任务(例如,先前的、当前的和未来的操作任务)、机器人的类型等。
77、此类信息可以有利地允许对正在发生的死锁冲突的估计,这继而可以用于评估该情况、评估它要解决的紧急程度、评估需要哪些手段来解决它和/或评估必须如何调整机器人队列的操作。
78、在本发明的一些实施方案中,通知所述人工操作员的所述步骤包括向所述多个机器人资源区中的被所述至少两个移动机器人阻挡的任何资源区提供指示标识。
79、资源区的指示标识实际上可以是与资源区相关联的相应物理区的指示标识。例如,可以与物理环境的地图相关地提供指示标识。
80、此类信息可以有利地允许对正在发生的死锁冲突的估计,这继而可以用于评估该情况、评估它要解决的紧急程度、评估需要哪些手段来解决它和/或评估必须如何调整机器人队列的操作。
81、在本发明的一些实施方案中,通知所述人工操作员的所述步骤包括提供所述数字有向图的表示。
82、所述表示可以为或包括一个或多个强连通分量中的任一者的表示。数字有向图的表示还可以包括识别机器人队列中的机器人(例如,在正在发生的死锁冲突中涉及的至少两个机器人)的信息,和/或识别在正在发生的死锁冲突(例如,阻挡/占用)中涉及的机器人资源区/物理区的信息。
83、在本发明的一些实施方案中,所述方法包括以下步骤:解决所述正在发生的死锁冲突。
84、解决死锁冲突可以由人工操作员执行,或者可以自动解决。人工操作员可以用来解决正在发生的死锁冲突的一种方法是简单地物理地移动机器人中的一个或多个机器人。
85、解决正在发生的死锁冲突的步骤可以基于通知人工操作员,或者可以通过通知被布置成自动解决正在发生的死锁冲突的控制系统(例如,中央控制系统)来解决。
86、实际上解决正在发生的死锁冲突是对检测正在发生的死锁冲突的可选补充。已经进行了不同的尝试来预测死锁冲突和解决此类预测的死锁冲突,但是正在发生的死锁冲突在原理上是不同的,因为当死锁必须被解决时,死锁通常当前正在发生。
87、在本发明的一些实施方案中,解决所述正在发生的死锁冲突的所述步骤基于提供与所述至少两个移动机器人的操作相关的操作序列。
88、此类操作序列可以例如与资源区队列的操作顺序的重排序相关,例如使得所述第二机器人在所述操作顺序中位于所述第二机器人之前,或者反之亦然。
89、操作序列可能潜在地解决各种死锁,这是有利的。
90、在本发明的一些实施方案中,解决所述正在发生的死锁冲突的所述步骤基于向所述至少两个移动机器人中的至少一个移动机器人提供死锁解决命令。
91、在本发明的一些实施方案中,所述死锁解决命令导致改变所述死锁相关机器人状态中的至少一个死锁相关机器人状态。
92、死锁解决命令的示例是将所述至少两个机器人中的至少一个机器人操作到所述多个机器人资源区中的新资源区。
93、本发明的一个方面涉及一种用于检测正在发生的死锁冲突的死锁检测系统,其中所述死锁检测系统包括:
94、多个机器人资源区,该多个机器人资源区被指定给物理环境的相应物理区;
95、自主移动机器人的机器人队列,该自主移动机器人单独地能够阻挡所述多个机器人资源区中的资源区并且正在朝向所述多个机器人资源区中的资源区操作;和
96、死锁检测处理器,该死锁检测处理器被配置为监测所述机器人队列以识别死锁相关机器人状态,该死锁相关机器人状态指示在所述机器人队列的操作期间所述机器人队列中的单独的自主移动机器人的受限可移动性,其中所述死锁检测处理器被进一步配置为:当所述处理器识别与所述机器人队列中的至少两个机器人相关联的死锁相关机器人状态时,识别第一机器人正在朝向所述多个机器人资源区中的被第二机器人阻挡的资源区操作,以检测所述正在发生的死锁冲突,其中所述至少两个移动机器人包括至少所述第一机器人和所述第二机器人。
97、根据本发明的任何系统可以潜在地提供本发明的任何方法的任何优点,反之亦然。
98、通常,死锁检测处理器实际上可以在任何类型的计算机系统中实现。计算机系统可以例如包括可以在其上(部分地)实现本发明的典型常规计算机系统的任何组件,诸如处理器、存储器/数字存储装置、数字存储的计算机程序、输入/输出设备等。它可以是集中式或分布式计算机系统。分布式控制系统可以例如分布在机器人队列中的机器人之间和/或经由云/互联网服务器分布。
99、在本发明的一些实施方案中,所述机器人队列被配置为提供指示所述机器人队列中的相应自主移动机器人的当前操作状态的单独的机器人状态,诸如所述死锁相关机器人状态,其中所述死锁检测处理器被配置为基于在所述单独的机器人状态中识别所述死锁相关机器人状态来识别所述死锁相关机器人状态。
100、通过在单独的机器人状态中检测死锁相关机器人状态,可以采用常规使用的标准机器人状态来检测死锁冲突,这是有利的。
101、在本发明的一些实施方案中,所述单独的机器人状态中的若干不同状态被认定为所述死锁相关机器人状态。
102、自主移动机器人通常可被配置为根据其操作而具有大量不同的状态。这些状态中的若干状态可以潜在地指示死锁,并且因此,使若干单独的机器人状态被认定为死锁相关机器人状态可以潜在地确保检测到许多正在发生的死锁冲突,这是有利的。
103、在本发明的一些实施方案中,所述单独的机器人状态包括非死锁相关机器人状态,该非死锁相关机器人状态指示在所述机器人队列的操作期间所述机器人队列中的单独的自主移动机器人的正常操作。
104、在本发明的一些实施方案中,所述单独的机器人状态包括至少一个临界状态,该至少一个临界状态指示所述机器人队列中的自主移动机器人的自维持操作限制,其中所述死锁相关机器人状态包括所述临界状态。
105、具有指示自维持操作限制的临界状态的机器人可以被理解为该机器人被限制在其独立于该队列中的其他机器人的进一步移动中。换句话讲,机器人具有受限可移动性,但不是由于其他机器人阻挡它。
106、将指示自维持操作限制的临界状态作为死锁相关状态是有利的,因为此类自维持操作限制可能潜在地阻挡该队列中的其他机器人。
107、在本发明的一些实施方案中,所述单独的机器人状态包括考虑状态,该考虑状态与所述机器人队列中的相应自主移动机器人的速度相结合地被评估以被认定为所述死锁相关机器人状态。
108、在本发明的一些实施方案中,所述考虑状态包括指示所述机器人队列中的相应自主移动机器人正在等待所述机器人资源区中的资源区的等待状态。
109、一些机器人状态可能主要指示潜在死锁冲突与其他条件的组合。此类类型的状态的示例是考虑状态。结合具有这些状态的机器人的速度来评估这些状态。例如,如果机器人的速度低于特定速度阈值,同时机器人具有该考虑状态,则考虑状态被认定为死锁相关机器人状态,从该状态可检测到正在发生的死锁冲突。
110、该速度可以是角速度、平移速度或它们的任何组合。平移速度阈值的示例是0.5米每秒、0.2米每秒、0.1米每秒和0.05米每秒。角速度阈值的示例是20度每秒、10度每秒、5度每秒和2度每秒。
111、本发明的实施方案可以基于具有临界状态和考虑状态两者、不同的临界状态和考虑状态、临界状态和不同的考虑状态、或不同的临界状态和不同的考虑状态的单独的机器人状态。具有被认定为死锁相关机器人状态的此类状态组合允许能够检测许多不同类型的死锁的灵活死锁检测方案。
112、此外,这允许检测死锁,其中一个机器人具有临界状态,而另一个机器人具有考虑状态,这是有利的。此类死锁不会被仅经由考虑状态寻找死锁和经由临界状态寻找其他死锁的系统检测到。
113、在本发明的一些实施方案中,所述死锁检测处理器被配置为基于所述第二机器人占用所述多个机器人资源区中的被所述第二机器人阻挡的所述资源区来识别所述正在发生的死锁冲突。
114、在本发明的一些实施方案中,所述死锁检测处理器被配置为基于所述第二机器人占用朝向所述多个机器人资源区中的被所述第二机器人阻挡的所述资源区的途径来识别所述正在发生的死锁冲突。
115、在本发明的一些实施方案中,所述第一机器人和所述第二机器人各自是资源区队列的一部分,该资源区队列指示所述至少两个机器人与所述多个机器人资源区中的被所述第二机器人阻挡的所述资源区有关的操作顺序。
116、在本发明的一些实施方案中,在所述操作顺序中,所述第一机器人早于所述第二机器人。
117、在本发明的一些实施方案中,在所述操作顺序中,所述第二机器人早于所述第一机器人。
118、上述这些示例对应于单独类型的死锁冲突,这些死锁冲突各自在本发明的框架内。因此,本发明可以有利地针对一种或多种特定类型的死锁场景而定制,这些死锁场景可以使用常规解决方案来检测,或者本发明可以更一般地应用于有利地检测许多不同类型的死锁场景。
119、因此,本发明的实施方案可以潜在地被配置为识别若干类型的正在发生的死锁冲突。例如,本发明的实施方案是用于检测第一正在发生的死锁和用于检测第二正在发生的死锁的死锁检测系统,该死锁检测系统包括死锁检测处理器,该死锁检测处理器被配置为基于所述第二机器人占用所述多个机器人资源区中的被所述第二机器人阻挡的所述资源区来识别所述第一正在发生的死锁冲突,并且所述死锁检测处理器被配置为基于所述第二机器人占用朝向所述多个机器人资源区中的被所述第二机器人阻挡的所述资源区的途径来识别所述第二正在发生的死锁冲突。在此类实施方案中,死锁检测处理器不必限于同时检测第一正在发生的死锁冲突和第二正在发生的死锁冲突,而是仅被配置为能够执行对不同类型的死锁的检测。具有能够检测此类不同类型的死锁的单个系统是有利的,因为这可以增加例如对于人工操作员检测到正在发生的死锁冲突的确定性。
120、在本发明的一些实施方案中,所述机器人队列中的每个自主移动机器人包括感测系统,例如包括诸如一个或多个lidar扫描仪的至少一个范围传感器的感测系统。
121、距离传感器的其他示例为接近传感器、雷达系统及相机(可能与图像分析结合以确定距离)。
122、当自主移动机器人被操纵通过途径时,感测系统可以例如连续地或定期地感测机器人的周围环境。因此,机器人可能能够感测到可能潜在地与其途径相冲突的障碍物以及潜在的安全危害。此外,它可以潜在地使用感测到的周围环境来执行同时定位和映射或蒙特卡罗定位以获得机器人相对于区域地图的实际物理位置的指示。
123、此外,在本发明的一些实施方案中,感测系统至少基于里程表。当在机器人周围环境中没有感测到障碍物时,里程表对于支持导航可以是特别有用的,否则其可以用于机器人的定位。在本发明的一些实施方案中,感测系统至少基于陀螺测试仪。陀螺测试仪可提供机器人的取向的指示。它可以支持里程表提供近似感知的机器人位置,特别是当在机器人周围环境中没有感测到障碍物时。
124、在本发明的一些实施方案中,所述机器人队列的每个自主移动机器人包括用于该自主移动机器人的自主操作的过程控制器和单独的安全控制器。
125、安全控制器可以提供确保机器人能够中断或操纵以避免碰撞的功能,例如,如果人突然走进机器人的途径,对应于感测到的障碍物的突然出现。
126、在本发明的一些实施方案中,所述机器人队列中的每个自主移动机器人被配置为经由所述物理环境的区域地图来操纵通过所述物理环境。
127、区域地图例如是具有所映射的元素的区域地图,并且其可被配置为基于绕行所映射的元素中的至少一些元素来根据计划的机器人途径行进通过该区域地图。计划的机器人途径可以例如提供从物理环境中的一个位置到物理环境的另一个位置的途径,例如以便于机器人能够执行特定的工作任务。
本文地址:https://www.jishuxx.com/zhuanli/20240730/198590.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。