在当今制造业中,我们日常使用的许多产品都由机器人制造——这些多自由度机械臂沿着传送带排列,以精确同步的动作完成令人叹为观止的表演。然而,所有这些动作通常都是手动编程的,可能需要耗费数百甚至数千小时的时间。谷歌DeepMind团队开发的AI系统RoboBallet,正让制造机器人能够自主决定如何完成任务。
旅行推销员问题的升级版
自动化规划制造机器人的高效工作方式是一项极具挑战性的任务。你需要同时解决任务分配和调度问题——决定哪个机器人应该以什么顺序执行哪些任务。这就像是著名的旅行推销员问题的强化版。此外,还有运动规划的问题;你需要确保所有这些机械臂不会相互碰撞,也不会与周围的设备发生冲突。
最终,你面临着无数种可能的组合,必须同时解决三个计算上极其困难的问题。"有一些工具可以自动化运动规划,但任务分配和调度通常需要手动完成,"谷歌DeepMind的研究工程师Matthew Lai表示。"解决这三个问题的结合正是我们在工作中要解决的挑战。"
Lai的团队首先生成了所谓的"工作单元"的模拟样本,这是机器人团队在制造产品上执行任务的区域。这些工作单元包含一个称为"工件"的产品,即机器人进行加工的对象,在这种情况下是放置在桌子上需要由铝制支柱构建的物体。桌子周围随机放置了多达八个Franka Panda机械臂,每个都有7个自由度,需要在工件上完成多达40项任务。每项任务都需要机械臂的末端执行器以正确的角度接近支柱上的正确位置,并在2.5厘米范围内停留片刻,模拟执行某种工作。
为了增加难度,团队在每个工作单元中随机放置了障碍物,机器人需要避开它们。"我们选择最多使用八个机器人,因为这是紧密排列机器人而不让它们相互阻挡的合理上限,"Lai解释道。要求机器人在工件上执行40项任务也是团队认为能代表实际工厂需求的设置。
使用最强大的强化学习算法处理这样的设置将是一场噩梦。Lai和他的同事通过将问题转化为图结构找到了解决方法。
复杂关系的图模型
在Lai的模型中,图由节点和边组成。机器人、任务和障碍物被视为节点。它们之间的关系被编码为单向或双向边。单向边连接机器人与任务和障碍物,因为机器人需要了解障碍物的位置以及任务是否完成。双向边连接机器人彼此,因为每个机器人都需要知道其他机器人在每个时间步的动向,以避免碰撞或重复任务。
为了读取和理解这些图,团队使用了图神经网络,这是一种人工智能,通过在节点之间的连接边上传递消息来提取节点间的关系。这简化了数据,使研究人员能够设计一个专注于最重要事项的系统:在避开障碍物的同时找到完成任务的最有效方式。在单个Nvidia A100 GPU上对随机生成的工作单元进行几天训练后,这个名为RoboBallet的新型工业规划AI能够在几秒钟内为复杂且前所未见的环境规划出看似可行的轨迹。
但最重要的是,它的扩展性非常好。
规模经济效应
将传统计算方法应用于复杂问题(如管理工厂中的机器人)的挑战在于,计算难度会随着系统中项目数量的增加而呈指数级增长。为一个机器人计算最优轨迹相对简单。为两个机器人做同样的工作要困难得多;当数量增加到八个时,问题变得实际上难以解决。
使用RoboBallet,计算复杂度也随着系统复杂度的增加而增长,但速度要慢得多。(计算量随任务和障碍物的数量线性增长,随机器人数量呈二次增长。)据团队称,这些计算应该使该系统在工业规模的应用中变得可行。
然而,团队希望测试他们的AI产生的计划是否有效。为了验证这一点,Lai和他的同事在几个简化的工作单元中计算了最优的任务分配、调度和运动,并与RoboBallet的结果进行了比较。在执行时间方面——这可能是制造中最重要的指标——AI的结果非常接近人类工程师能做到的水平。它并没有比他们做得更好——只是提供了更快的答案。
团队还在真实物理环境中测试了RoboBallet的计划,让四个Panda机器人在铝制工件上工作,结果与模拟中一样有效。但Lai表示,它不仅能加快机器人编程过程。
应对故障的能力
据DeepMind团队称,RoboBallet还能让我们设计更好的工作单元。"因为它运行速度非常快,设计人员几乎可以实时尝试不同的布局以及机器人的不同放置或选择,"Lai说。这样,工厂的工程师就能准确看到通过在单元中添加另一个机器人或选择不同类型的机器人可以节省多少时间。RoboBallet能做的另一件事是动态重新编程工作单元,使其他机器人在其中一个机器人故障时能够接替工作。
尽管如此,在RoboBallet进入工厂之前,仍有一些问题需要解决。"我们做了几项简化,"Lai承认。第一是将障碍物分解为立方体。工件本身也是立方体。虽然这在某种程度上代表了实际工厂中的障碍物和设备,但许多可能的工件具有更有机的形状。"用更灵活的方式表示它们会更好,比如网格图或点云,"Lai说。然而,这可能会导致RoboBallet惊人的速度下降。
另一点是,Lai实验中的机器人是相同的,而在实际工作单元中,机器人团队通常是异构的。"这就是为什么实际应用需要针对特定应用类型进行额外的研究和工程,"Lai说。但他补充说,当前的RoboBallet已经考虑了此类适应性——可以轻松扩展以支持它们。一旦完成,他希望这将使工厂更快、更灵活。
"系统需要提供工作单元模型、工件模型以及需要执行的任务列表——基于这些,RoboBallet将能够生成完整的计划,"Lai说。
技术突破与行业影响
RoboBallet的核心创新在于其图神经网络架构,它能够同时处理任务分配、调度和运动规划三个相互关联的复杂问题。传统方法通常需要分别处理这些任务,导致效率低下和潜在的冲突。而DeepMind的AI系统将这些问题统一在一个框架内,通过节点和边的表示方式捕捉机器人、任务和障碍物之间的复杂关系。
这种方法的显著优势在于其计算复杂度的可控增长。随着机器人数量的增加,计算量呈二次增长而非指数增长,这使得系统在实际工业环境中具有可行性。在测试中,RoboBallet能够在几秒钟内为多达八个机器人和40项任务生成高效的工作计划,而传统方法可能需要数小时甚至数天。
从实验室到工厂的挑战
尽管RoboBallet在模拟和受控环境中表现出色,但要将其部署到实际工厂仍面临一些技术挑战。首先是形状表示的问题。目前系统将工件和障碍物简化为立方体,而实际工厂中的物体往往具有更复杂的几何形状。开发能够处理非立方体障碍物的算法而不牺牲速度是研究人员需要解决的问题。
第二个挑战是处理异构机器人团队。在实际工厂中,不同机器人可能具有不同的规格、能力和限制。RoboBallet目前的实现假设所有机器人都是相同的,而实际应用需要系统能够适应不同类型的机器人。
DeepMind团队已经认识到这些限制,并正在积极解决这些问题。Lai表示,系统架构已经设计为可扩展的,可以支持未来对这些功能的添加。这种前瞻性的设计思维表明,RoboBallet不仅仅是一个概念验证,而是一个有潜力在实际工业环境中部署的成熟系统。
未来展望
RoboBallet的潜在应用远不止于传统的制造业。随着系统的不断发展和完善,它可能会在多个领域发挥作用:
柔性制造:使工厂能够快速重新配置生产线以适应不同的产品需求,实现真正意义上的大规模定制。
人机协作:通过精确规划机器人的运动轨迹,确保人类工人与机器人在同一空间安全工作。
灾难响应:协调多个机器人在危险环境中执行搜救任务,提高效率和安全性。
太空探索:协调多个机器人在外星球表面协同工作,如建立基地或进行科学实验。
医疗自动化:在手术室中协调多个医疗机器人,辅助复杂手术的执行。
随着技术的成熟,RoboBallet可能会成为未来智能工厂的标准配置,推动制造业向更高效、更灵活、更具适应性的方向发展。这不仅将提高生产效率,还将减少人为错误,降低生产成本,并可能创造全新的制造模式和商业模式。
结论
DeepMind的RoboBallet代表了人工智能与机器人技术融合的前沿成果。通过创新的图神经网络架构,它成功解决了工业机器人协作中的核心挑战,为制造业带来了新的可能性。虽然从实验室到工厂的道路仍有挑战,但这一技术已经展现出改变传统生产方式的潜力。随着系统的不断完善和扩展,RoboBallet可能会成为未来智能工厂的神经系统,使机器人协作变得更加智能、高效和自适应,最终推动整个制造业进入一个新的发展阶段。