在火星或其他星球上飞行,是一项极为严峻的挑战。一架自主飞行器需在远离地球数百万英里的地方独立运行,无法依赖任何人工干预,必须自主感知未知环境、规避障碍、在复杂地形上完成着陆,并独立做出所有决策。每一次机动都依赖精密的感知、规划与控制系统,且必须具备足够的容错能力,以便在出现问题时能够自我恢复。一旦出现误判,价值数百万美元的飞行器可能就此坠毁,任务宣告终结。
"无论是在工业界还是学术研究领域,这个问题远未得到解决,"麻省理工学院航空航天系Jerome C. Hunsaker讲席教授尼古拉斯·罗伊表示,"你需要将大量代码、软件和多种硬件整合在一起,而这绝非易事。"
绝非易事,但对于即将完成航空航天专业本科学业的学生而言,并非遥不可及。在"16.85自主系统综合设计与测试"课程中,学生将为自主飞行系统设计、实现、部署并测试完整的软件架构。这类系统应用范围广泛,涵盖城市空中交通、可复用运载火箭乃至地外星体探索等领域。依托成熟的自主飞行技术,飞行器可在远离操控人员的环境中独立运行,而工程师则可在麻省理工Kresa自主系统中心的任务控制室中实时监控任务进展。
该课程由罗伊教授与福特工程讲席教授乔纳森·豪共同开发,旨在延伸"16.405机器人:科学与系统"课程的基础内容——后者通过预置软件的地面车辆,帮助学生初步掌握复杂机器人平台操作与自主导航能力。16.85课程将同样的原理应用于飞行场景,学生将在一架基础四旋翼无人机上,从零开始搭建自主导航系统。这些飞行器随后将在设有多种着陆区和复杂地形的障碍课程中接受测试。学生以大型团队形式参与(本学期首次开课共设两组,每组七人,分别命名为"SLAMdunkers"与"Spelunkers"),旨在模拟真实任务中跨岗位协作的工作模式。
"这些飞行器需要能够识别任务环境中潜藏的各类风险,并在此基础上安全完成任务,"豪教授说道,"我们真正希望学生学会的,是如何构建一套自己有信心的系统。"
任务:共同找到答案
"我们这学期布置的具体任务,是让学生想象自己驾驶某种飞行器,前往火星或月球等地外天体的表面进行探索,"罗伊教授解释道,"他们需要利用机载传感器飞行探索、绘制地图、识别感兴趣的目标,并最终安全降落在可能并不平坦的地形上。"
如此规模的任务,任何单个工程师都无法独自完成,而大规模团队协作本身同样是一项挑战。"如今最难解决的问题,往往是协调问题,"航空航天控制实验室研究生、课程助教安德鲁·菲什伯格表示,"用机器人学的术语来说,这样规模的团队有点像一个异构群体——每个人的技能不同,但每个人都能贡献自己的价值,如何有效协作本身就是一大挑战。"
这项挑战要求学生在任务中运用多维度的"系统思维"。软件架构中的关联关系、相互依赖性和反馈回路至关重要,团队成员之间的沟通与协作同样不可或缺。"撰写报告、与团队沟通,有时感觉像是额外的负担,但如果不沟通,整个团队就等于只有一个人在干活,"菲什伯格说,"那种'单打独斗'的发明家时代早已过去——如今是几百人共同构建一个庞大的系统。"
新一代飞行探索者
课程中的学生表示,他们对进入这一快速发展的领域充满期待,并渴望接触超越传统应用范畴的新型工具与飞行器。
"我们持续向地外天体派送探测车,但在地球上部署无人系统进行探索的需求也在不断增长,"罗伊教授说道,"地球上有很多人类难以涉足的危险地带,正是我们希望派遣机器人前往探索的地方。"正是这一不断拓展的应用版图,吸引着越来越多的学生投身这一领域。
"我对这门新课程非常感兴趣,尤其是它聚焦于自主系统领域,而这正是我未来的职业方向,"大四学生诺拉·米勒表示,"这门课让我切身体验了从零开始、一路完成完整飞行任务的软件开发全过程。"
对于授课教师和助教而言,这门综合设计课程带来了一种独特的视角——他们中的许多人见证了这些学生整个本科阶段的成长历程,而这门课正是他们看到学生蜕变结果的时刻。"几年前我们还在一起解微分方程,现在他们已经在大型测试空间里,将自己编写的软件部署到四旋翼无人机上实飞,"豪教授感慨道。
经历数周的学习、搭建、测试、迭代与最终的飞行验证,课程成果充分体现了教学目标。"这正是我们希望看到的结果,"罗伊教授说,"我们给他们布置了颇具挑战性的任务,提供了理论上足以完成任务但并无绝对保障的硬件,而学生们付出了大量努力,真正经受住了这场考验。"
Q&A
Q1:16.85自主系统综合设计与测试课程具体要求学生做什么?
A:学生需要从零开始,为一架基础四旋翼无人机设计并实现完整的自主飞行软件架构,包括感知、地图构建、目标识别和自主着陆等功能模块,最终在设有障碍和复杂地形的测试场地中进行实飞验证。整个过程模拟在火星或月球等地外天体上执行探索任务的真实场景。
Q2:这门课程和之前的16.405机器人课程有什么区别?
A:16.405课程主要通过预置软件的地面车辆引导学生入门,学习复杂机器人平台操作和自主导航基础。而16.85则将同样的原理应用于飞行场景,学生需从完全空白的状态开始,自行搭建飞行导航系统,挑战难度和工程复杂度均大幅提升。
Q3:为什么这门课程特别强调团队协作和沟通能力?
A:因为自主飞行系统的开发涉及感知、规划、控制、硬件集成等多个高度相互依赖的模块,任何单个工程师都无法独立完成。课程有意将学生分为大型团队,模拟真实工程项目中跨岗位协作的挑战,让学生理解有效沟通和系统协调对于成功完成复杂任务的关键作用。
