织里资讯

搜索
查看: 1012|回复: 1

空中悬停、翻滚转身、成功着陆,我用强化学习“回收”了SpaceX的火箭

[复制链接]
发表于 2021-11-14 13:23:39|来自:中国 | 显示全部楼层 |阅读模式
机器之心报道
编辑:杜伟、陈萍
我自己造了个「火箭」,还把它回收了。
SpaceX 作为一家太空探索技能公司是美国一家民营航天制造商和太空运输公司,由伊隆 · 马斯克于 2002 年开办,目标是降低太空运输的成本,并举行火星探索。SpaceX 成立近 20 年以来,吸引了无数的火箭爱好者。
对于个人来说,怎样实现这个火箭梦呢?据了解,SpaceX 制造一枚猎鹰 9 号的费用实际在 3040 万美元左右。对于个人来说,这个费用简直是天方夜谭,更别说涉及到的技能等题目了。
有困难就要想办法解决,作为 SpaceX 的超级粉丝,来自密歇根大学安娜堡分校的博士后研究员 Zhengxia Zou 也是个火箭迷,不停梦想拥有自己的火箭。最近,他研究了一个有趣的题目,即我们是否可以「建造」一个假造火箭,并通过强化学习解决火箭回收这个具有挑战性的题目。在实验中,Zou 实验了关于火箭悬停和降落的两个任务。
由于这是 Zou 的第一个强化学习项目,包括情况、火箭动力学、RL 智能体等,Zou 表现尽量从头开始实现所有内容,并希望通过这些底层的编码,能够对强化学习有更深入的了解,包括基础算法,智能体与情况的交互,以及奖励的设计。

项目主页:https://jiupinjia.github.io/rocket-recycling/
GitHub 地址:https://github.com/jiupinjia/rocket-recycling
不外对于这个项目,也有网友提出质疑:「假如我们能够用经典的控制方法来完成这项任务,为什么在 SpaceX 之前没有人做过呢?」对于这一质疑,有网友表现:「SpaceX 没有利用强化学习,他们利用论文《 Lossless Convexification of Nonconvex Control Bound and Pointing Constraints of the Soft Landing Optimal Control Problem 》中的方法来解决火箭着陆题目,性能优于 RL。」

实现悬停和降落的智能体以及情况
Zou 实验了悬停和降落这两个任务。如下图所示,火箭被简化成二维平面上的刚体,而且考虑了基本圆柱体动力学模型,并假设氛围阻力与速度成正比。火箭底部安装了一个推力矢量发动机,该发动机为火箭提供差别方向的推力值 (0.2g, 1.0g, 2.0g)。喷嘴添加角速度束缚,角速度最大旋转速度为 30 度 / 秒。
通过上述基本设置,动作空间(action space)被界说为发动机离散控制信号的集合,包括喷管的推力加快度和角速度。状态空间(state-space)由火箭位置、速度、角度、角速度、喷嘴角度和模仿时间组成。

对于着陆任务,Zou 遵循了 Starship SN10 的 Belly Flop 式降落(腹部朝下的翻转动作以实现空中转身)的基本参数。初始速度设置为 - 50m/s,火箭方向设置为 90 度(水平),着陆 burn height 设置为离地 500 米。

图源:https://twitter.com/thejackbeyer/status/1367364251233497095
奖励函数非常简单。
对于悬停任务:基于两个规则给出 step-reward:1)火箭与预界说目标点之间的距离——它们越近,分配的奖励越大;2)火箭机身的角度(尽量保持竖立)。
对于着陆任务:观察看触地瞬间的速度和角度——当触地速度小于安全阈值而且角度接近 0 度(竖立)时,则以为它是成功着陆并获得丰厚奖励。别的规则与悬停任务相同。
除了举行上述任务外,有网友表现,「希望将燃料的研究也纳入进来,燃料的有效利用是火箭技能的主要关注点,因此看到有效着陆奖励将是一件功德。开始时火箭有给定的燃料量,剩余的燃料量成为学习者的另一个信号——既用于控制也作为奖励。」

实现效果
Zou 实现了上述情况,而且练习了一个基于策略的智能体(actor-critic)来解决这个题目。在超过 20,000 个练习 episodes 之后,episode 奖励终极收敛地非常好。
下图左为悬停任务上差别练习 episode 数量时的奖励;图右为着陆任务上差别 episode 数量时的奖励。

以下几个动图分别展示了颠末差别练习 episode 后学习到的 RL 行为:

左:练习 episode 为 0(随机警能体),右:练习 episode 为 100。

左:练习 episode 为 2,000,右:练习 episode 为 10,000。

20,000 个练习 episode 之后,左:执行悬停任务的完全练习智能体,右:执行着陆任务的完全练习智能体。
与 SN10 着陆的动效对比
尽管情况和奖励的设置很简单,但颠末练习的智能体已经很好地学会了 Belly Flop 式降落。
如下动图展示了真实的 Starship SN10 和从强化学习中学到的智能体在着陆时的比较:


智能体练习与测试
练习智能体,需要./example_train.py。
测试智能体的流程如下:
作者简介
项目作者 Zhengxia Zou 现为密歇根大学安娜堡分校的博士后研究员,此前先后于 2013 年和 2018 年取得北京航空航天大学的学士和博士学位。他的主要研究爱好包括计算机视觉及其在遥感、自动驾驶汽车和电子游戏等领域的相关应用。

谷歌学术主页:https://scholar.google.com/citations?user=DzwoyZsAAAAJ&hl=en
Zhengxia Zou 加入撰写的论文被 AAAI、CVPR、ICCV、IJCAI、ACM MM 等多个学术顶会接收。他还曾担当 NeurIPS、AAAI、ACCV 和 WACV 等多个学术会议的程序委员,以及 ICLR 会议及 IEEE Transactions on Image Processing 等多份期刊的审稿人。
机器之心此前报道过多篇他加入的研究,包括如下:
参考链接:
https://www.reddit.com/r/MachineLearning/comments/qt2tws/pr_rocketrecycling_with_reinforcement_learning/
第一期:快速搭建基于Python和NVIDIA TAO Toolkit的深度学习练习情况
英伟达 AI 框架 TAO(Train, Adapt, and optimization)提供了一种更快、更简单的方法来加快培训,并快速创建高度精确、高性能、领域特定的人工智能模型。
11月15日19:30-21:00,英伟达专家带来线上分享,将先容:
NVIDIA TAO Toolkit 的独到特性
快速摆设 NVIDIA TAO Toolkit
利用 NVIDIA TAO Toolkit 快速搭建深度学习练习情况
利用 TAO Toolkit 快速练习摆设目标检测模型
回复

使用道具 举报

发表于 2021-11-14 17:12:34|来自:中国 | 显示全部楼层
猎鹰九号已经发射成功快100次了
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

联系客服 关注微信 下载APP 返回顶部 返回列表