技术文章和通讯

DARPA机器人的非线性反馈控制器设计的挑战

Russ Tedrake,麻省理工学院


2013年12月,一个人形机器人冲破墙,清除碎片从门口,未假脱机和连接一个消防站,开车一个多用途车Homestead-Miami赛道上通过一个障碍。

在MATLAB环境下机器人的控制软件的开发®和仿真软金宝app件®由麻省理工学院的一个团队参与DARPA机器人(DRC)的挑战。这次比赛的目的是促进研究开发机器人,可以在危险区域任务级别的自主权。机器人任务级别的自主权可以指示执行简单的任务,比如将方向盘或抓住一个句柄,然后它自己执行。

从我们收到机器人比赛的日子,我们有不到五个月开发、调试和测试我们的控制器算法。MATLAB和Simu金宝applink帮助我们保持这种积极的安排。我们能够高度复杂的原型,文中针对控制器速度是不可能与C或另一个低级的语言。

使机器人移动以优雅和效率

我们的工作在刚果民主共和国是我研究的延续使机器人移动优雅地在现实世界中。我的目标是设计腿机器人移动芭蕾舞演员一样熟练和无人机飞行的鸟类。这些都是机器人领域的基本问题;他们还强迫我们努力解决非线性控制问题,应用在许多其他领域。

仔细看,下次你看到一只鸟飞过去的窗口和土地在一根树枝上。小鸟是随意但显著优于一些最好的人类所设计的控制系统。在“栖息”机动,鸟类的翅膀旋转身体,这样他们几乎是垂直于旅行和迎面而来的气流的方向。这操作增加了空气动力阻力的鸟,都通过增加接触面积的空气流动,通过创建一个低压口袋背后的翅膀(图1)。

DARPA_Robotics_fig1_w.jpg
图1所示。上图:气流在机翼的翼角增加。底部:可视化滑翔机的机翼的气流在一个陡峭的摊位。

粘性和压力组合所需的快速减速,但机动具有重要影响:机翼成为“停滞不前”,这意味着他们体验巨大的升力损失和可能的控制权力。空气动力学变得不稳定(时变)和非线性,使空气动力很难模型和预测准确。然而轻松鸟类栖息。相比之下,直升机和垂直起降(VTOL)飞机需要大量的时间和精力来降落在一个目标上。同样,一些飞机飞行员愿意飞在摩天大楼之间,然而,猫头鹰和鹰派轻松导航茂密的森林。

控制系统,模拟这样的壮举必须使复杂的逻辑,机器人将如何决策。尽管描述系统运动学和动力学非线性方程,这些方程有可利用的结构。例如,许多可以被描述的理性的多项式方程。这意味着我们可以编写高效的算法,使用数值代数几何和凸优化评估系统稳定在一个广泛的操作条件。

当我们开始一个小型滑翔机降落在一根电线,我们使用了MATLAB和Simulink实现一个相对标准的轨迹优化方法和时变线性反馈。金宝app使用这种方法我们生产控制器能够持续降落,只要它总是从相同的位置和相同的发射速度。通过快速评估该系统的稳定使用多项式方法,表示为一个稳定的“漏斗”(图2),我们可以设计一个反馈库,将可靠的土地上的飞机上从一个广泛的初始条件。现在我们可以简单地把飞机向线从任何位置,它总会找到的鲈鱼。

DARPA_Robotics_fig2_w.jpg
图2。漏斗形区域的滑翔机可以可靠地土地上。

为什么MATLAB ?

当我们开始为美国国防部高级研究计划局机器人工作的挑战,我的一些同事质疑一种解释型语言的使用如MATLAB实时反馈控制回路。他们担心MATLAB算法执行速度不够快,由just-in-time-compiling中断,垃圾收集或后台进程会导致紧张和影响时间。

在仔细考虑这些问题,我认为我们的MATLAB算法能够运行在PC在300 Hz或更快,而且有足够的时间精度来满足我们的需要控制的设计。我知道如果我们需要加快关键或缓慢的组件,我们可以使用c++代码在我们的MATLAB仿真。而更高的采样率和更可靠的计时简化控制设计,我相信控制器可以而且应该被设计成具有足够的鲁棒性来处理低利率和准确的时间。人类神经系统管理复杂的运动相对较低的带宽和延迟高,我努力开发控制器,可以做同样的事情。

使用MATLAB和Simulink的众多优势成为明显的发展进步。金宝app例如:

  • MATLAB是一个最好的工具可用于快速原型基于线性代数算法。
  • 大多数的商业优化解决我们使用MATLAB接口,便于从MATLAB代码调用它们。
  • MATLAB和Simu金宝applink提供多种方法来可视化数据,仿真结果和虚拟机器人的运动。
  • 金宝app仿真软件使我们能够开发复杂的模型,结合MATLAB作为S-functions类,应用动力学的颂歌,模拟结合连续和离散混合系统和系统组件。
  • 许多学生在刚果民主共和国团队使用了MATLAB在控制他们的本科生或研究生学习,通信和信号处理。

第一个刚果民主共和国事件:指导一个模拟机器人在一个虚拟环境

团队没有自己的机器人为刚果民主共和国被邀请参与虚拟机器人的挑战,测试软件团队的控制模拟机器人的能力,因为它在虚拟环境下完成了三个任务。七决赛从本轮将前进到刚果民主共和国试验使用阿特拉斯机器人由DARPA提供。阿特拉斯是一个人形,液压机器人由波士顿动力公司。

这三个任务,密切相关八任务,真正的机器人将完成后的竞争,相当复杂。例如,他们要求机器人走过去粗糙、变量地形和操作消防水带(图3)。

DARPA_Robotics_fig3_w.jpg
图3。虚拟地图在仿真环境中机器人操纵消防水带。

刚果民主共和国,我们需要让阿特拉斯全身运动规划和控制算法执行速度不够快,在实时运行。操作在一个陌生的环境中,机器人将命令执行一个任务,立即和控制器需要整个机器人的运动规划。我们实现了在MATLAB利用知道机器人的结构和方程用来描述其早些时候我们所做的研究项目。阿特拉斯等机械系统,我们知道能量是守恒的,质量矩阵为正,质心动力学是独一无二的影响取决于重力和机器人与环境之间的接触力。方程具有重要的稀疏模式:右手只是的动态耦合的动力学左脚质量矩阵。

我们刚刚八个月从虚拟实际竞争挑战开始的会议。激进的时间表,我们不得不迅速发展。在MATLAB我们能够快速开发先进的控制思想,原型,视觉和调试,这是更重要的比跑快2%甚至20%的代码。

两个月后被任命为七个获奖者之一,虚拟机器人的挑战,我们收到了阿特拉斯机器人。

把地图从真实世界的虚拟环境

再次,限定的时间内快速发展势在必行。在第二阶段的比赛我们刚刚五个月项目ATLAS执行八任务,包括走在不平坦的地形,爬梯子,清理碎片从门口,突破一堵墙,把一个阀门,连接一个消防水带,开车一个多用途车。人类被允许直接的机器人,但只有通过低带宽的通信通道,使某种程度的任务级别的自治至关重要。

能够快速实现和调试算法和MATLAB仿真软件证明仪器的能力产生一个控制器能够指导阿特拉斯完成如此复杂的任务。金宝app

计划阿特拉斯的动作和执行其他任务在比赛中,我们有五个或六个单独的MATLAB和Simulink进程同时运行在桌面电脑上。金宝app这些过程与阿特拉斯机器人通过UDP使用轻量级通信和编组(LCM),一组库用于实时系统要求数据编组和消息传递。

两个任务尤其强调任务级别的价值我们与MATLAB和Simulink实现自治。金宝app当我们的阿特拉斯机器人清理残骸门口,董事会在其脚。它刚刚搬了阿特拉斯擅长很多任务,但机器人的运动学使触摸自己的脚趾非常具有挑战性。不过,我们的团队能够克服意外的挫折,成功将“出人意料”直接阿特拉斯把董事会从脚前清除剩余的碎片(图4)。

DARPA_Robotics_fig4.jpg
图4。ATLAS机器人把碎片从门口在刚果民主共和国试验。

另一个挑战。我们知道阿特拉斯几乎适合在车里开车(图5),但是我们没有实际的手段试图驾驶任务在麻省理工学院校园附近。我们刚刚30分钟尝试汽车30分钟的任务开始前和阿特拉斯。没有团队之前我们设法把汽车从起跑线上。由于我们解决方案的鲁棒性,使用MATLAB和Simulink开发了,我们最终花费45分钟得到阿特拉斯塞进汽车里了,但当时能够转方向盘,压低加速器金宝app,压低一半课程在我们时间过期。

DARPA_Robotics_fig5_w.jpg
图5。麻省理工学院的团队成员评估如何ATLAS融入刚果民主共和国多功能车。

为刚果民主共和国决赛做准备

我们在刚果民主共和国试验中放置第四,胜任刚果民主共和国决赛定于6月,2015年。在这个阶段的比赛中,机器人要完成一系列的物理任务与退化的机器人之间的通信和操作团队。美国国防部高级研究计划局最近宣布这个挑战将更加重视任务级别的自主权。团队依靠脚本解决方案或广泛的沟通与他们的机器人将会处于不金宝搏官方网站利地位。我们相信,这一阶段将展示我们的价值的方法。

在把大量的精力投入到软件工程,我们的团队已经决定让很大一部分的软件我们写为刚果民主共和国提供一个开源的分布称为德雷克——甚至在最后的竞争。德雷克是非线性动力系统的计划和控制工具箱。它包括丰富的刚体动力学引擎系统摩擦接触,运动轨迹规划、和非线性验证,以及多个硬件接口和可视化方法,估计和参数识别。

关于作者

Russ Tedrake副教授在电气工程和计算机科学和麻省理工学院航空航天和计算机科学和人工智能实验室主任机器人中心。他收到了疯牛病从密歇根大学的计算机工程,安阿伯市,他从麻省理工学院的电气工程和计算机科学博士学位。Tedrake教授的研究小组感兴趣驱动电机控制系统在动物身上,和机器的动态任务和能够执行与不可预知的交互环境。

2014 - 92229 v00出版

为相关行业观点文章