文章目录

  • 剑客马斯克
    • 低潮2018
    • 高光2020
  • 第一代龙飞船
  • 第二代龙飞船
  • 目标:星辰大海
  • 复用/敏捷:用写代码的方式造火箭与飞船
    • 代码级的复用
    • 模块级的复用
    • 项目级的复用
    • 可重复使用的火箭/飞船
    • 敏捷开发一枚火箭/飞船
  • SpaceX 里的软件
    • SpaceX 软件工程师团队在干什么
      • SpaceX 软件工程师的目标
      • SpaceX 软件工程师的技术栈
      • SpaceX 有 4 个独立的软件团队
      • 飞行软件团队干什么
      • 航电测试团队干什么
      • 飞行软件和航电测试团队的技术栈
        • 龙飞船和猎鹰9号用的是 Linux
        • 主力编程语言C++
  • SpaceX 工程师的推荐学习路径
    • 入门c再学c++
    • 学校里做项目

十年磨一剑,霜刃未曾试。
今日把示君,谁有不平事。

​ ——唐·贾岛《剑客》

剑客马斯克

低潮2018

乔布斯走之后,这个世界上还有谁是最创新又最孤独的剑客?

我想只有埃隆•马斯克。天下英雄,舍我其谁?

在《纽约时报》的报道中,马斯克几乎成了个泪人,倾诉着自己的辛酸。这与他过往的“体面”形象大相径庭。

文章一开头就写道,马斯克“努力保持着镇定”( struggling to maintain his composure)地说:“过去这一年是我职业生涯中最艰难、最痛苦的一年。”

在采访中,马斯克则是“又哭又笑”(alternated between laughter and tears)。

马斯克回忆称,今年6月28日,47岁生日当天,他躲在办公室里24小时工作。

“整夜都是,没有朋友的陪伴,啥都没有。”

2018年是马斯克低潮的一年,媒体的报道:超人不会流泪,但“钢铁侠”马斯克会,最近还越发频繁。

男人哭吧哭吧不是罪,再强的人都会流泪啊!

真男人马斯克:

通过视频重温一下SpaceX的高光时刻。

欧航局最新发布一段高清视频:SpaceX货运飞船飞离国际空间站的优美姿态:

4分半钟看完SpaceX载人版龙飞船首次发射 7大阶段精彩镜头全覆盖:

高光2020

度过了2018的低潮,终于迎来了2020年的高光时刻。

猎鹰九号升空:

尽管新冠肺炎的事情让人类社会鸡飞狗跳,但我们把眼光投向深空,人类仍然充满了希望,特别是SpaceX。

从 2010 年 12 月 8 日第一代货运龙飞船试飞成功,再到今天发射的载人龙飞船,SpaceX 十年磨一剑,发射时的震撼场面,彷佛带我们重回两年前,猎鹰重型首发现场的热情澎湃,抑或是 50 多年前阿波罗 11 号发射时的慷慨激昂。

美国肯尼迪航天中心 39A 发射场的猎鹰九号:

由于天气原因,原计划于 27 日发射的猎鹰 9 号和载人龙飞船发射任务推迟:

宇航员鲍勃·本肯(左后)和道格·赫尔利(右前):

猎鹰9号发射轨迹:

第一代龙飞船

美东时间3月6日午夜23:50:31,编号为C112.3的货运龙飞船搭乘一枚二手猎鹰9号火箭腾空而起,一飞冲天,开启一船第三飞征程。

绝版龙飞船谢幕飞,定格一个先锋时代

美东时间4月7日下午15:40,这艘第三飞货运龙飞船借助于降落伞,海上溅落在加州长滩西南太平洋海域,完美收官谢幕飞。

这次任务堪称龙飞船标志性谢幕飞,既标志着一个时代的结束,又意味着一个绝版的定格。

第一代龙飞船时代的结束:从2010年12月8日第一艘龙飞船(C101)首次轨道试飞,一直到第一代绝版龙飞船(C112.3)谢幕飞,十年间总计发射22次(20次成功发射、1次试飞,唯一一次失败是在2015年6月28日,猎鹰9号火箭空中折戟,编号C109的龙飞船在爆炸中幸存下来,安全海上溅落并回收)。

第二代龙飞船


*与第一代货运龙飞船相比明显优化:

  • ①装载体积比第一代飞船多出20%;
  • ②最多可使用5次(第一代最多3次);
  • ③可以全自动直接对接空间站(第一代需要加拿大机械臂先擒获,再对接舱口);
  • ④升级降落伞系统,返航安全系数变得更高;
  • ⑤太阳能电池系统由阵列翅膀变成裙装,更高效率更安全可靠;
  • ⑥海上溅落着陆区从加州太平洋海域改为佛州大西洋海域,大大缩短返航时间,从一两天锐减到几个小时回港,有助于科学实验尽快送达、缩短飞船翻新复用间隔。

目标:星辰大海

2016年9月,伊隆-马斯克(Elon Musk)在墨西哥的世界宇航大会上正式对外公布了SpaceX 的大计划——让人类成为星际物种(Making Life Multiplanetary)。

“让人类成为星际物种”,正是SpaceX 过去十年所做的一切,以及今后十年将要做的事,紧密围绕着的战略内核。

用马斯克的原话来说就是, I can’t think of anything more exciting than going out there and being among the stars。

马斯克给出了两个理由:

第一个,离开地球,去往星空,如此让人激动。

第二个,为地球的人类备份。

复用/敏捷:用写代码的方式造火箭与飞船

复用火箭、复用飞船,这不仅是SpaceX目前最硬的硬核,而且是未来大规模进入太空、跨星际旅行的基础。可喜的是,SpaceX一直在朝这个目标不断突破。第二代龙飞船正是开路先锋。

SpaceX 公司的开发火箭和飞船的过程,可能借鉴了软件工程的思想,复用和迭代开发。

软件工程的的一个核心就是:如何复用。

近20年,软件工程的另外一个思想就是:不断迭代,敏捷开发。

代码级的复用

函数/类

模块级的复用

库/组件

项目级的复用

框架

在马斯克这里变成了,可重复使用火箭,可重复使用飞船,不断升级。

这10年可以看成马斯克和他的SpaceX一路开挂打怪的游戏过程。

可重复使用的火箭/飞船

为了攻克火箭的可重复利用技术,SpaceX 专门打造了一台蚱蜢火箭(Grasshopper)来做垂直起降(Vertical Takeoff Vertical Landing)测试。

从一开始的离地1.8米,到5.4米,再到40米,80米,250米,325米,蚱蜢火箭离地高度逐渐增加,最终达到了744米这一高度。

从最初只能在空中悬停三五秒,到能够平稳滞空一分钟再降落,再到加入了导航系统能够实现精确降落,每一次蚱蜢火箭的发射,都在尝试新东西,都在不断进步。

在蚱蜢火箭退役之后,SpaceX 又改造了一台F9R Dev1火箭,继续测试可回收火箭控制系统的稳定性。

最终在2015年底,猎鹰9号完成了首次一级火箭的陆地回收。

最终在2015年底,猎鹰9号完成了首次一级火箭的陆地回收。这天距离蚱蜢火箭首次测试返场飞行仅过了三年。

敏捷开发一枚火箭/飞船

迭代思维和敏捷开发同样被应用于 SpaceX 的火箭设计。它的策略是先尽快造出一款MVP产品,然后在其基础上通过大量测试来不断地迭代升级。

猎鹰1号(Falcon 1)就是这样一个MVP产品。和很多其他MVP产品一样,它的核心交付并没有做到完美,猎鹰1号在它的首次发射过程中就发生了爆炸。

随着更多次的试验和更多的失败,猎鹰1号终于完成入轨,成为第一枚私人建造的入轨火箭。

而SpaceX 的下一代产品猎鹰9号,更是在设计和试验上都将“敏捷”二字诠释地淋漓尽致。

猎鹰9号的一级火箭采用了9台与猎鹰1号相同的发动机并联。因此,在猎鹰1号的研发中,其实已经嵌入了对猎鹰9号动力系统的研究。

另外,早期猎鹰1号经历的多次失败,也为猎鹰9号的研发提供了宝贵的经验积累。

2009年10月,猎鹰9号进行了第一次一级火箭点火试验。仅仅一个月后,二级火箭点火试验就开展进行了。又过了七个月,猎鹰9号直接执行首飞任务。整个试验流程简化至极。

最新的猎鹰重型火箭也秉承了同样的产品设计理念。它把两个猎鹰9号的一级火箭捆绑在一枚完整的猎鹰9号两侧,作为助推器。

从猎鹰1号首飞到重型猎鹰第一次发射,10年的时间,经历了多个迭代版本和数不清的测试,SpaceX将运载火箭的运力成功提高了15倍。

SpaceX 里的软件

很多人关注的是SpaceX里面的火箭飞船,更多是看得到摸得着的这一部分。那SpaceX的软件工程师团队又在干什么? 2013 年 SpaceX 的软件工程师在 Reddit 做过一次公开回应。

SpaceX 软件工程师团队在干什么

SpaceX 软件工程师的目标

  • 火箭和航天器上运行的代码;
  • 火箭和航天器的设计和制造过程的代码;

SpaceX 软件工程师的技术栈

  • C#、MVC4、EF、MSSQL (REST);
  • Javascript、Knockout、Handlebars、LESS;
  • C++、Linux、C、Python、LabVIEW、MATLAB;

SpaceX 有 4 个独立的软件团队

  • 飞行软件团队
  • 企业信息系统团队
  • 地面软件团队
  • 航电测试团队

其中最核心的团队应是这两个,直接涉及到火箭和飞船的。

飞行软件团队干什么

猎鹰9号火箭、蚱蜢火箭和龙飞船上所有的代码,都由飞行软件团队承担。

此外,他们还得:

  • 编写仿真软件,测试飞行代码;
  • 编写部署在地面站的通信和分析软件;
  • 在飞行任务控制部门工作,为现役任务提供支持。

航电测试团队干什么

他们与航电硬件设计工程师一起合作,编写测试软件,尽早发现硬件问题。

测试软件通常是在机械环境测试的时候运行。

该团队的主要任务:

  • 写出非常全面和强大的软件,以便能够在大批量的情况下自动发现硬件的问题。

飞行软件和航电测试团队的技术栈

龙飞船和猎鹰9号用的是 Linux

导航/推进控制系统

主力编程语言C++

火箭和飞船都是 C++

SpaceX 工程师的推荐学习路径

入门c再学c++

对于所有软件工程师来说,C 语言是一门很好的入门语言。它迫使你学习 CPU 是如何工作的,内存是如何工作的,等等。一旦你掌握了 C 语言之后,再去看 C++。

学校里做项目

我们团队所有人都有不同的背景,没有什么特别的路径,我们都是沿着一条路走到这里的。就我个人而言,我在学校里得到的最好经验就是做了个人编程项目。这年头在网上和应用商店里有很多机会,可以做一个产品,公开自己的作品让他人看到。

点击这里加入讨论群

SpaceX十年磨一剑相关推荐

  1. 安全专家十年磨一剑的独门秘笈,威力堪比《九阴真经》

    "天之道,损有余而力不足,是故虚胜实,不足胜有余......" 公元 1206 年,武林中的几位侠客聚集华山,为一统武林展开了一场七天七夜的切磋,史称华山论剑.参赛选手阵势庞大,东 ...

  2. AI制药来了!新药研发或告别“十年磨一剑”

    AI人脸识别技术能帮忙从当红歌星的演唱会上抓逃犯,AI语音识别能让人人都用上贴身语音助手,AI医疗影像技术能辅助医生更快更好地完成阅片找到病人病灶--当人工智能技术引入周期漫长.技术难度高.人力资金耗 ...

  3. 十年磨一剑!阿里OceanBase创纪录卫冕,中国数据库从此告别卡脖子

    晶少 雷刚 发自 凹非寺  量子位 报道 | 公众号 QbitAI OceanBase,十年前有"海洋"一样的寄托,十年后梦想实现. 作为中国自研的数据库,它在短短7个月内再次.且 ...

  4. 爱回收:十年磨一剑,出鞘亮锋芒

    近日,有多家媒体报道,二手电商平台爱回收计划于今年6月初在美国IPO,融资金额在5亿到10亿美元之间. 据知情人士称,爱回收寻求在IPO时获得了40亿-50亿美元的估值,并已经聘请美国银行和高盛集团来 ...

  5. 十年磨一剑!SACC带你领略企业大数据平台实践优化!

    [IT168 评论]十余年来,企业架构经过了数次迭代和变迁,ITPUB是这一切的重要见证者,同样陪伴了无数架构师的成长.10月17日,第十届中国系统架构师大会以"十年架构,成长之路" ...

  6. 政府工作报告:让更多科研人员可以“十年磨一剑”

    "切实减轻科研人员不合理负担,使他们能够沉下心来致力科学探索,以'十年磨一剑'精神在关键核心领域实现重大突破."今年的政府工作报告给科研"浮躁症"开出一副&qu ...

  7. 双11特刊|十年磨一剑,云原生多模数据库Lindorm 2021双11总结

    前言 2021 年,转眼 Lindorm 已经在阿里发展了十年的时间,从基于 HBase 深度改造的 Lindorm 1.0 版本,到全面重构,架构大幅升级的 Lindorm 2.0 版本:从单一的宽 ...

  8. 十年磨一剑,阿里云RDS MySQL和AWS RDS谁的性能更胜一筹?

    MySQL代表了开源数据库的快速发展. 从2004年前后的Wiki.WordPress等轻量级Web 2.0应用起步,到2010年阿里巴巴在电商及支付场景大规模使用MySQL数据库,再到2012年开始 ...

  9. 十年磨一剑:从2009启动“去IOE”工程到2019年OceanBase拿下TPC-C世界第一

    十年前(2009年)的9月,我奉命组建当时的淘宝技术保障部:随即启动了2010年的技术预算工作,记得第一次给时任集团首席架构师的王坚博士汇报预算的时候,我得意地说到:"(淘宝)2010年不再 ...

最新文章

  1. Puppet的一些奇技淫巧
  2. 学长毕业日记 :本科毕业论文写成博士论文的神操作20170327
  3. P7097-[yLOI2020]牵丝戏【dp】
  4. CoreAnimation编程指南(简介)
  5. How to Easily Read a Linux Man Page
  6. C++之继承探究(十一):多重继承、菱形继承、虚继承、二义性问题及其解决方案
  7. OpenCV实现图像翻转
  8. ZOJ 1015 弦图判定
  9. Linux下VsFTP和ProFTP用户管理高级技巧 之一
  10. 机械硬盘的改进想法:一臂多头
  11. 二叉树的前中后序遍历(非递归实现)
  12. IEC62304-2006解读
  13. 如何快速学习一门技术?十步学习法
  14. 数据质量管理方法有哪些
  15. nvme SSD和sata SSD的对比
  16. python如何用色度表示数值大小_Python人体肤色检测
  17. oracle redo 状态,理解ORACLE REDO与UNDO
  18. U盘中Word文档打不开怎么办?
  19. 入侵WIN2003 PHP服务器的另类技术
  20. 集装箱编号校验码规则(JavaScript版本)

热门文章

  1. C语言结构体能否整体赋值
  2. 解决mingw-w64外网下载太慢问题,离线包安装配置过程讲解
  3. 网神通留言本群发 v3.0 免费
  4. 安卓框架,分析项目中surfaceFlinger出现的bug ---queueBuffer: BufferQueue has been abandoned
  5. 【STM32F407】第4章 ThreadX FileX文件系统移植到STM32F407(SD卡)
  6. OpenGL学习之VS2017+glfw+glew/glad/freeglut的基本配置与中文教程汇总
  7. 这是2021年个人所得税税率表
  8. T94 EndNote Journal List批量更新方案
  9. 微信小程序实现上传视频功能
  10. The Art Of Loving