Realtime Robotics:优化多机器人工作单元性能
原创 2023-10-16 09:27 Mulan 来源:AGV多个机器人在物料搬运应用中协同工作。这是一个可以通过工作单元优化来加速的潜在应用。
(作者:Dan Sorin,系Realtime Robotics(美国马萨诸塞州波士顿)创始人兼首席架构师)
在工业环境中部署机器人时,性能是首要目标之一。在工业机器人工作单元中,性能通常用周期时间来衡量:完成一组任务所需的时间。典型的任务包括喷漆、焊接和检查。无论哪种任务,目标都是尽快完成,以便工作单元可以开始下一组任务的工作。特定单元的周期过长会导致该单元成为装配线上的瓶颈。
提高性能的一种方法是在同一工作单元中使用多个机器人。在多机器人工作单元中,任务可由机器人分担,期望机器人能同时完成工作,从而缩短周期时间。从理论上讲,更多的机器人意味着更高的性能,但正如在厨房中增加厨师一样,实际结果并不总是符合预期。
多机器人工作单元性能的挑战
最近,一位客户在工作单元中增加了第二个机器人后找到我们,说他们只将周期时间缩短了 10%。虽然我们不能期望获得完美的并行性(从 1 个机器人增加到 N 个机器人,周期时间是之前的 1/N),但我们希望在工作单元中增加机器人能带来最大的效益。
为什么多机器人工作单元难以实现更好的性能?想象一下,您正在设计一个有四个机器人的工作单元,每个周期需要完成 50 个任务。如果我们认为设计既是为机器人分配任务,也是为每个机器人安排任务的顺序,那么就有大量可能的设计需要考虑。
首先,有大量可能的机器人任务分配。也许这种可能性会受到一些限制,因为有些机器人无法执行某些任务,要么是因为它们无法到达,要么是因为机器人是异构的,某些类型的机器人只能执行任务的子集。不过,可能分配的任务数量通常非常多,在本例中为 450 个(比 1030 个多一点)。然后,一旦分配了这些任务,机器人就可以按照大量不同的顺序执行任务。在我们的例子中,至少还有 1034 种可能的组合(假设任务平均分配为 12!4,如果任务分配不均,情况会更糟),因此我们最终需要考虑超过 1064 种可能的设计。即使我们可以每纳秒测试一个设计,所需的时间也比宇宙的年龄还要长。显然,设计的数量远远大于可以穷尽搜索的数量。
是什么将众多可能的设计区分开来呢?在好的设计中,每个机器人每个周期花费的时间大致相同;我们要避免一些机器人闲置,而另一些机器人仍在工作。同样,在一个好的设计中,每个机器人都能移动,而无需花费大量时间等待其他机器人让路,或采取非最佳路径以避开其他机器人。设计的目标是实现机器人的高性能编排。
在如此广阔的设计空间中,好的设计和差的设计之间的性能差异可能很大。即使忽略明显的不良设计,例如,将几乎所有任务分配给一个机器人,或对任务进行排序,使机器人的总运动量最大--看似合理的设计之间仍然存在显著的性能差异。
Realtime Robotics 的工程师正在研究多机器人紧固和检查单元
我们的团队开发了优化即服务 (OaaS),利用专有算法找到高性能的设计方案,否则工程师团队需要花费数月时间才能发现这些方案。与经验丰富的工程师费力开发的设计相比,使用我们的 OaaS(稍后讨论),我们的速度提高了 5%-20%。这一结果说明,设计既非常困难,又非常重要。
目前如何进行多机器人工作单元设计
工程师如何从如此庞大的设计空间中选择设计方案?从根本上说,搜索任何类型的巨大空间的唯一方法就是从其中抽取样本(选择一个设计),评估该设计(评估其性能),并根据对该样本和之前抽取的任何样本的评估结果,决定下一个样本的位置。这种设计循环一直持续到获得性能足够好的设计,或者确定付出更多努力也不可能获得更好的设计为止。
选择初始设计样本:鉴于可能的选项数量巨大,选择初始设计具有挑战性。从哪里开始?经验丰富的机器人工程师可能会有一些直觉,知道使用什么启发式方法来缩小空间。例如,我们可能希望每个机器人分配到的任务数量大致相同。然而,即使是这种直观的启发式方法,也没有考虑到每项任务--以及移动到该任务--可能需要不同的时间。其他启发式方法可能包括将任务分配给距离较近的机器人,以及对任务进行排序,以尽量减少机器人的总运动量。
评估设计样本:要评估一项设计,必须确定其性能。而要确定其性能,就必须为机器人制定运动计划。运动规划是计算如何让机器人从一个任务到另一个任务,同时不撞击任何障碍物或其他机器人的过程。运动规划历来是一个困难的计算问题,即使对于单个机器人来说也是如此,而编排多个机器人的运动规划更是难上加难。事实上,运动规划需要耗费大量精力,这也是多机器人工作单元设计往往无法实现其性能潜力的主要原因。
由于编排难度很大,工程师们经常使用 "干扰区 "来简化任务。如果有两个或两个以上的机器人可能占据工作单元的某一部分,该区域就会被视为干扰区,要求机器人在进入该区域前获得锁定,因此在同一时间内,只有一个机器人可以进入特定的干扰区。虽然干扰区让运动规划变得更容易,但却牺牲了相当可观的性能,因为多个机器人经常有可能在一个干扰区内运行而不会发生碰撞。
此外,由于找到一个好的运动规划需要很长时间,这就限制了在实际时间内可以评估的样本数量。在运动规划速度较慢的情况下,工程师通常只能考虑少数几种设计。评估较少的设计意味着找到优秀设计的机会较小。
选择后续设计样本:工程师必须根据最新样本的评估结果以及之前样本的评估结果,选择下一个样本。这里有许多可能的算法。通常情况下,这些算法会权衡两方面的需求,一方面是希望取样靠近被认为优秀的前一个样本,另一方面是希望取样远离前一个样本,以避免陷入局部最优。
优化多机器人工作单元的生产率
OaaS 首先分析制造商现有的数字孪生系统,找出瓶颈区域,从而提高整体生产率。我们的工程师使用 OaaS 软件,根据所需的参数(如周期时间)提出改进建议,但也可考虑占地面积和功耗等问题。这些建议从根本上说是基于对巨大的可能设计空间进行快速有效的搜索。
由于运动规划历来是搜索高性能多机器人工作单元设计的主要限制因素,我们的方法利用了高速运动规划的新技术。Realtime Robotics 公司推出了 RapidPlan 运动规划软件,该软件结合使用了更高效的算法和数据结构,使单个机器人和多个机器人的运动规划延迟时间达到毫秒量级。运动规划延迟时间的这种数量级的加速是一种变革,因为它使多机器人工作单元的设计过程更加有效。
由作为 OaaS 基础的 RapidPlan 软件控制的异构多机器人单元
与任何搜索巨大空间的方案类似,我们的想法也是遵循相同的设计循环:设计采样、评估设计、选择下一个设计,等等。不过,由于评估工作现在可以快速完成,因此可以在合理的时间内(例如不到一天)评估数十万甚至数百万个可能的样本。
无论采用哪种取样方法,考虑更多设计的能力都会大大增加在设计空间中找到更高性能设计的机会。优化算法可以在好设计附近提取更多样本,同时也可以提取更多足够远的样本,以避免局部最优。它还可以从多个初始样本开始,并行运行搜索。
与传统的增加机器人来解决问题的方法相比,OaaS 可以提供更好的结果。增加机器人就好比在高速公路上增加一条车道以改善交通状况,其所产生的额外成本甚至超过了额外机器人的成本,包括更高的编程复杂度。
要评估一项设计,必须确定其性能。而要确定其性能,就必须为机器人制定运动计划。
从已经优化的单元或新单元中挤出更多周期时间的潜力正促使越来越多的汽车制造商转向 OaaS。一家领先的汽车制造商最近在电动汽车制造的概念验证项目中使用了 OaaS。该公司在不停止或干扰正在进行的生产的情况下对模拟文件进行了分析,分析后提出的建议有助于将周期时间缩短 15%。改进措施最终在不暂停生产的情况下被采纳。
未来展望
多机器人工作单元设计并不是一个完全解决的问题。我们发现采用高速运动规划的设计性能更高,但机会仍然存在。更快的运动规划可以更彻底地探索设计空间,而更巧妙的采样算法可以使采样设计更好地覆盖设计空间。通过更好地搜索设计空间,我们可以找到性能更强、功耗更低、占地面积更小的设计。鉴于这一问题对工业机器人用户的重要性,我们期待在这一领域有更多创新。