Py学习  »  机器学习算法

中国科学家提出深度学习方法Neural-Fly,12分钟教会飞行器全天候飞行,或用于飞行汽车及城市空中交通

DeepTech深科技 • 1 年前 • 295 次点击  


“Neural-Fly 最有意思的应用是飞行汽车或城市空中交通。随着空中交通密度的增大,人类必将需要更精准、更智能、更安全、适应性更强的决策方法。现在我们正把 Neural-Fly 应用在四旋翼以外的无人机系统上,尤其是能够垂直起降的电动无人机(e-VTOL,E-VTOL-Electric Vertical Takeoff and Landing)。其他应用场景包括无人机运货、飞行救护车等。”即将于 2023 年入职卡内基梅隆大学机器人研究所担任助理教授的石冠亚表示。


▲图 | 石冠亚(个人主页http://www.gshi.me)在调试位于加州理工学院 CAST 实验室的风墙(来源:石冠亚


近日,他研发出一个名为 Neural-Fly 的基于深度学习的机器人控制方法。Neural-Fly 的方法论和理论部分,并不局限于飞行机器人,而是适用于所有可以由欧拉-拉格朗日方程(Euler-Lagrange Equation)描述的机器人系统。目前,该团队正考虑将方法扩展到足式机器人上,并取得了一定进展。


(来源:Caltech)


相关论文以《Neural-Fly 能够在强风中快速学习敏捷飞行》(Neural-Fly enables rapid learning for agile flight in strong winds)为题,发表在 Science Robotics 上[1]。石冠亚担任共同第一作者(首字母顺序),加州理工学院工程与应用科学系教授Soon-Jo Chung 担任通讯作者。


▲图 | 相关论文(来源:Caltech)


立项动机和研发过程


这项研究开始于 2019 年末,最初立项是因为虽然该团队之前的工作“Neural-Lander”很好解决了单一环境下学习空气动力学的问题[2],但是它并不能在动态环境中进行在线自适应。


另一个立项动机是,2017 年开始加州理工学院建立了机器人与自动化中心。令石冠亚非常激动的是,该中心引入了可以即时控制风况的风墙。不同于传统风洞,研究人员能在这个风墙前面飞行无人机,而传统风洞通常需要把飞行器固定住。


因此,他很自然地产生了如下想法:为什么不能从多个风况中收集数据,用深度学习的工具从这些数据中“学习规律”,然后做在线自适应控制呢?


▲视频 | 风墙(来源:Caltech)


很快,他们将想法付诸行动。项目第一步便是收集数据,最后收集了 6 组不同风况下、累计 12 分钟的飞行数据。


▲动图‍ | 数据收集(来源:Caltech)


收集数据后,课题组开发出一种元学习算法 DAIML(domain adversarially invariant meta-learning),来学习一组能代表所有风况的基函数,这组基函数由一个深度神经网络表征。本质上,DAIML 近似地解决了一个带有对抗性判别器的双层优化问题。

 

(来源:Science Robotics


得到这组基函数后,他们又开发出与之匹配的非线性自适应控制算法,来进行在线权重更新。具体来讲,所开发的自适应控制算法基于复合自适应控制,并引入了谱归一化和 L2 正则化(L2 regularization)来保证指数稳定性和鲁棒性。


(来源:Science Robotics


算法开发完毕后,下一步便是测试。课题组首先在风墙中测试了 Neural-Fly 的控制精度,并与其他一些自适应控制算法进行了横向对比。值得注意的是,他们测试的最高风速为 12m/s,而数据收集过程只包括了 0-6m/s 的风速。也就是说,其开发的 DAIML 算法所学到的基函数,有着很强的泛化能力。


(来源:Science Robotics

 

(来源:Science Robotics


同时,他们还测试了 Neural-Fly 在户外飞行的表现。结果发现,即便没有室内定位系统,Neural-Fly 在室外的表现也非常优异和鲁棒


(来源:Science Robotics


完成算法开发和实验后,接下来就是一些有意思的“秀肌肉”的场景。比如,无人机在风中精准穿越障碍物等演示。


(来源:Science Robotics


当然,研究过程也绝非一帆风顺。从立项到论文发表,课题组先后损坏了两架无人机和 27 个旋翼。这再一次说明,如果想在无人机等对安全性要求极高的系统中应用基于深度学习的方法,必须慎之又慎。


▲图 | 损坏的旋翼图片(来源:Caltech)


另一个比较有意思的事发生在该团队接受一家外媒采访时。采访当天,他们买了一把印有 Caltech logo 的雨伞,结果发现测试的风速能够轻易吹坏雨伞,而无人机可以稳定保持位置和姿态,误差仅在一厘米左右。


▲动图 | 伞被吹坏(来源:Reuters)


技术内核:在变化的强风中保持稳定和精准飞行


就相关技术内核来说,该团队感兴趣的问题是,机器人如何在一个未知且动态的环境中,可以快速、可靠地在线自适应学习。比如,其希望一个足式机器人能够适应复杂的地表环境,从而在不同地面上都能健步如飞;以及希望一个无人机能够在线适应复杂的空气动力学,从而在变化的强风中保持稳定和精准飞行。


▲视频 | 180秒解读视频(来源:Caltech)


这个问题的挑战性来自于三个方面:


(1)复杂的动态环境决定了机器人的动力学方程,是高度非线性并且时变的,这就要求机器人的控制算法能够进行快速在线自适应。


(2)对于无人机等机器人系统,可靠性非常重要,该团队需要保证控制算法在理论上是鲁棒的、稳定的、安全的。


(3)机器人可在线调动的计算资源是有限的,比如此次项目仅仅使用了树莓派 RaspberryPi,因此课题组需要设计高效且可行的控制算法。


鉴于深度神经网络对于复杂模型的强大学习能力,基于深度学习的控制算法在很多问题上都取得了进展。然而,纯粹基于深度学习的方法并不满足上述要求。


一方面来讲,即便迁移学习、元学习、表征学习等方法,能对学到的模型进行一定程度上的微调和自适应。但通常来讲,研究人员不可能只利用机载资源对一个多层神经网络模型进行高频微调。


比如,在此次项目中,课题组需要比 50Hz 更快的模型更新频率,来应对快速变化的空气动力学,这个频率远远超过神经网络的在线更新速度上限。另一方面,由于模型的黑箱属性,基于深度学习的控制算法通常很难保证闭环系统的安全性、鲁棒性和稳定性。


在控制理论中,自适应控制关注的问题,在于如何设计控制器来适应未知的动力学模型。其中,最有代表性的框架,被称为模型参考自适应控制(model reference adaptive control,MRAC)。


不同于基于深度学习的方法,MRAC 首先对动力系统进行建模,模型中有一些参数是未知的比如无人机的负载重量。然后,MRAC 会基于这些未知参数,设计一个控制法则和一个自适应法则来更新未知参数,从而实现闭环系统的收敛性和李雅普诺夫稳定性。


但是,传统自适应控制只能解决参数化不确定性问题,也就是说它必须知道动力学模型不确定性的“结构”或者“形式”。另外,传统自适应控制很难从离线数据中学习规律来优化在线自适应过程。


Neural-Fly 融合了 MRAC 的哲学和现代深度学习的方法论。具体来讲,该团队提出了一种新的自适应控制框架:元自适应控制。


其核心思想如下。首先,该团队收集多个不同风况下的飞行数据。之后,他们开发了一种元学习算法(domain adversarially invariant meta-learning,DAIML)去优化一组能代表所有风况的基函数,这组基函数由一个深度神经网络表征。


再后,其又开发了与之匹配的非线性自适应控制算法,来进行在线权重更新。换言之,处于离线阶段的 Neural-Fly,学习了能表示不同风况下空气动力学的一组基函数,然后在在线阶段通过 MRAC 的框架重新组合这组基函数。


值得注意的有两点:其一,该团队并未学习全部的动力学模型,而是专注于去掉相对简单的刚体动力学之后的残差空气动力学。这种基于模型的残差学习的主要优点是,它极大提高了数据利用效率,并能提供自适应控制器的基本结构。其二,受益于 MRAC 的框架,该团队的方法有严格的李雅普诺夫稳定性和鲁棒性保证。


(来源:Science Robotics


这样的研究也得到了审稿人的好评,他们一致认为该团队的工作提出了一套新颖的、基于深度学习的自适应控制框架


其主要优势有:一方面数据效率和计算效率很高,只需 12 分钟数据,且可以在机载微型计算机上运行;另一方面还有安全可靠的理论保障;最后,该研究的控制效果远好于一众基线方法。


有趣的是,在实验设计层面,审稿人指出该团队的工作是第一次可重复地在变化的风况下量化无人机的飞行表现。



参考链接:
1、O’Connell, M., Shi, G., Shi, X., Azizzadenesheli, K., Anandkumar, A., Yue, Y., & Chung, S. J. (2022). Neural-Fly enables rapid learning for agile flight in strong winds. Science Robotics, 7(66), eabm6597.
开源数据及模型训练代码:https://github.com/aerorobotics/neural-fly
2、Shi, G., Shi, X., O’Connell, M., Yu, R., Azizzadenesheli, K., Anandkumar, A., Yue, Y., & Chung, S. J. (2019). Neural lander: Stable drone landing control using learned dynamics. In 2019 International Conference on Robotics and Automation (ICRA). IEEE.


【延展】


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/136937
 
295 次点击