据外媒报道,美国马萨诸塞大学阿默斯特分校(the University of Massachusetts Amherst)的一项新研究表明,通过给机器人编程,让其创造自己的团队并自愿等待队友,可以更快完成任务,有望改善制造业、农业和仓储的自动化。
机器人协同(图片来源:马萨诸塞大学阿默斯特分校)
该项研究的作者之一、马萨诸塞大学阿默斯特分校Manning信息与计算机科学学院副教授兼以人为中心的机器人实验室主任Hao Zhang表示:“关于是否要打造一个功能强大、可以胜任所有工作的类人机器人,或者是否应该组建一支可以互相协作的机器人团队,人们已经争论了很长时间。”
在制造业场景中,一支机器人团队的成本可能更低,因为其可以将每个机器人的能力实现最大化。不过,随之而来的挑战在于:如何协调一组各不相同的机器人。有些机器人可能会被固定在一个地方,其他机器人可能可以移动;有些机器人可能可以举起重物,而其他机器人可能适合处理较小的任务。
Zhang教授及其团队研发了一种解决方案,打造了一种基于学习的机器人调度方法,名为“学习以实现自愿等待与分组协作”(learning for voluntary waiting and subteaming,LVWS)。
Zhang教授表示:“机器人与人类一样,也肩负着艰巨的任务。例如,单个机器人可能无法搬运一个大箱子。此种情况需要多个机器人协同工作。另一种行为是自愿等待。我们希望机器人能够主动地选择等待,因为如果它们选择比较贪心的解决方案,总是立即执行较小的任务,有时有些较大的任务就会永远得不到执行。”
为了测试LVWS方法,研究人员在计算机仿真模拟中给了6台机器人18个任务,并将其LVWS方法与其他4种方法进行了比较。
在该计算机模型中,有一个已知的、完美的解决方案,可以在最快的时间内完成该场景。研究人员通过仿真模拟技术运行了不同的模型,并计算了与该完美解决方案相比,每种方法差了多少,此种衡量方法被称为次优性。
被用于比较的方法的次优率为11.8%至23%不等,新型LVWS方法的次优率为0.8%。该论文的作者之一兼以人为中心的机器人实验室计算机科学专业的博士生Williard Jose表示:“所以,该解决方案与最佳可能性或理论解决方案最接近。”
如何通过让一台机器人等待来让整个机器人团队速度更快呢?想象一下这个场景:有三台机器人,两台都能够举起4磅重的物体,另一台可以举起10磅重的物体。其中一台小机器人正在忙于执行其他任务,而有一个7磅重的箱子需要搬运。Jose表示:“与其让大机器人执行该任务,让一台小机器人等待另一台小机器人,然后一起完成该项任务将更有利。因为较大机器人的资源适合用于处理其他不同的大任务。”
Jose解释道:“如果一开始就能确定最佳答案,那么机器人为什么会需要一个调度器呢?采用此种精确解决方案的问题在于,计算所需的时间非常长。随着更多数量的机器人和任务数量的增加,计算时间更会呈指数级增长,无法在一个合理的时间内得到最优解决方案。”
当研究人员使用100个任务来研究模型时,由于无法计算出精确解决方案,他们发现,其方法在22个时间步内完成了任务,比较模型则需要23.05至25.85个时间步。
Zhang教授希望该项研究可以促进自动化机器人团队的进一步发展,特别是涉及到大规模的任务时。例如,针对单户家庭的小空间,单个类人机器人可能更为合适;而在需要执行专业任务的大型工业环境中,多机器人系统则更是一个更合适的选择。