这些模拟是针对特定机器人的组件和任务而进行的,以便调整和优化其性能。今天,设计一个自主机器人在某些方面很像从头开始烤蛋糕,没有配方或准备好的混合物刻意确保成功的结果。
改进自主机器人系统
一种新的通用优化工具可以改善许多自主机器人系统的性能。这里显示的是一个硬件演示,在这个演示中,该工具自动优化了两个机器人一起工作以移动一个重箱的性能。
现在,麻省理工学院的工程师们已经开发出一种通用的设计工具供机器人专家使用,作为一种自动化的成功秘诀。该团队设计了优化代码,可以应用于几乎任何自主机器人系统的模拟,并可用于自动识别如何以及在何处调整系统以提高机器人的性能。
工程师们表明,该工具能够迅速改善两个非常不同的自主系统的性能:一个是机器人在两个障碍物之间的路径导航,另一个是一对机器人合作移动一个重箱。
该小组希望新的通用优化器能够帮助加快各种自主系统的开发,从步行机器人和自动驾驶汽车,到柔软灵巧的机器人,以及协作机器人团队。
由麻省理工学院研究生Charles Dawson(查尔斯·道森)和麻省理工学院航空航天系助理教授ChuChu Fan(范楚楚)组成的研究人员,在纽约举行的年度机器人学。科学与系统"会议上发表了他们的研究成果。
倒置的设计
Dawson和Fan在观察了大量可用于其他工程学科的自动化设计工具后,意识到对通用优化工具的需求。
"如果一个机械工程师想设计一个风力涡轮机,他们可以使用三维CAD工具来设计结构,然后使用有限元分析工具来检查它是否能抵御某些负载,"道森说。"然而,目前缺乏这些用于自主系统的计算机辅助设计工具。"
通常情况下,机器人专家优化一个自主系统,首先开发一个系统及其许多相互作用的子系统的模拟,如其规划、控制、感知和硬件组件。然后,她必须调整每个组件的某些参数,并向前运行模拟,看看系统在该场景下的表现。
只有在通过试验和错误运行许多场景后,机器人专家才能确定成分的最佳组合,以产生所需的性能。这是一个繁琐的、过度定制的、耗时的过程,道森和范试图将其颠覆。
"我们不是说'给定一个设计,性能如何',而是想反过来说,'给定我们想看到的性能,什么设计能让我们达到这个目的?道森解释道。
研究人员开发了一个优化框架,或计算机代码,可以自动找到可以对现有自主系统进行的调整,以达到预期的结果。
该代码的核心是基于自动分化,或"autodiff",这是一个在机器学习界开发的编程工具,最初用于训练神经网络。autodiff是一种技术,可以快速有效地"评估导数",或对计算机程序中任何参数变化的敏感性。研究人员在autodiff编程的最新进展的基础上,为自主机器人系统开发了一个通用的优化工具。
道森说:"我们的方法自动告诉我们如何从最初的设计向实现我们目标的设计迈出小步。使用autodiff本质上是在挖掘定义模拟器的代码,并找出如何自动进行这种反转。"
建立更好的机器人
该团队在两个独立的自主机器人系统上测试了他们的新工具,结果显示,与传统的优化方法相比,该工具在实验室实验中迅速提高了每个系统的性能。
第一个系统包括一个轮式机器人,其任务是根据它从放置在不同位置的两个信标收到的信号,在两个障碍物之间规划一条路径。该团队试图找到信标的最佳位置,以便在障碍物之间产生一条清晰的路径。
他们发现新的优化器通过机器人的模拟迅速回溯,并在5分钟内确定了信标的最佳位置,而传统方法需要15分钟。
第二个系统更加复杂,包括两轮机器人一起工作,将一个箱子推向目标位置。这个系统的模拟包括许多更多的子系统和参数。然而,该团队的工具有效地确定了机器人完成其目标所需的步骤,其优化过程比传统方法快20倍。
"如果你的系统有更多的参数需要优化,我们的工具可以做得更好,可以节省成倍的时间,"范说。"这基本上是一个组合选择。随着参数数量的增加,选择也在增加,而我们的方法可以一次性减少这种情况。"
该团队已经提供了一般优化器的下载,并计划进一步完善代码,以适用于更复杂的系统,如旨在与人类互动和一起工作的机器人。
道森说:"我们的目标是让人们能够建造更好的机器人。"我们正在为优化他们的系统提供一个新的构建模块,所以他们不必从头开始。"
扫一扫
在手机上阅读