SpaceX十年磨一劍


十年磨一劍,霜刃未曾試。
今日把示君,誰有不平事。

​ ——唐·賈島《劍客》

劍客馬斯克

低潮2018

喬布斯走之後,這個世界上還有誰是最創新又最孤獨的劍客?

我想只有埃隆•馬斯克。天下英雄,捨我其誰?

在《紐約時報》的報道中,馬斯克幾乎成了個淚人,傾訴着自己的辛酸。這與他過往的“體面”形象大相徑庭。

文章一開頭就寫道,馬斯克“努力保持着鎮定”( struggling to maintain his composure)地說:“過去這一年是我職業生涯中最艱難、最痛苦的一年。”

在採訪中,馬斯克則是“又哭又笑”(alternated between laughter and tears)。

馬斯克回憶稱,今年6月28日,47歲生日當天,他躲在辦公室裏24小時工作。

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

2018年是馬斯克低潮的一年,媒體的報道:超人不會流淚,但“鋼鐵俠”馬斯克會,最近還越發頻繁。

男人哭吧哭吧不是罪,再強的人都會流淚啊!

真男人馬斯克:

在這裏插入圖片描述

通過視頻重溫一下SpaceX的高光時刻。

歐航局最新發布一段高清視頻:SpaceX貨運飛船飛離國際空間站的優美姿態:

4分半鐘看完SpaceX載人版龍飛船首次發射 7大階段精彩鏡頭全覆蓋:

高光2020

度過了2018的低潮,終於迎來了2020年的高光時刻。

獵鷹九號升空:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-BI8iRp4b-1591256443447)(.\pic\獵鷹九號升空動圖.gif)]

儘管新冠肺炎的事情讓人類社會雞飛狗跳,但我們把眼光投向深空,人類仍然充滿了希望,特別是SpaceX。

從 2010 年 12 月 8 日第一代貨運龍飛船試飛成功,再到今天發射的載人龍飛船,SpaceX 十年磨一劍,發射時的震撼場面,彷佛帶我們重回兩年前,獵鷹重型首發現場的熱情澎湃,抑或是 50 多年前阿波羅 11 號發射時的慷慨激昂。

美國肯尼迪航天中心 39A 發射場的獵鷹九號:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-McMqE6qL-1591256443448)(.\pic\凌晨載人飛行前.jpg)]

由於天氣原因,原計劃於 27 日發射的獵鷹 9 號和載人龍飛船發射任務推遲:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-TPq3gjB5-1591256443449)(.\pic\由於天氣原因,原計劃於 27 日發射的獵鷹 9 號和載人龍飛船發射任務推遲.jpg)]

宇航員鮑勃·本肯(左後)和道格·赫爾利(右前):[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-q3wdVBhc-1591256443450)(.\pic\宇航員鮑勃·本肯(左後)和道格·赫爾利(右前).jpg)]

獵鷹9號發射軌跡:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ATJGZciZ-1591256443452)(.\pic\獵鷹9號升空.jpg)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-pkxjhetd-1591256443452)(.\pic\SpaceX龍飛船升空.jpg)]

第一代龍飛船

美東時間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

導航/推進控制系統

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-akkOVDQz-1591256443456)(.\pic\導航和推進系統linux.jpg)]

主力編程語言C++

火箭和飛船都是 C++

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-gDQdLeLq-1591256443456)(.\pic\火箭和飛船飛控採用c++.jpg)]

SpaceX 工程師的推薦學習路徑

入門c再學c++

對於所有軟件工程師來說,C 語言是一門很好的入門語言。它迫使你學習 CPU 是如何工作的,內存是如何工作的,等等。一旦你掌握了 C 語言之後,再去看 C++。

學校裏做項目

我們團隊所有人都有不同的背景,沒有什麼特別的路徑,我們都是沿着一條路走到這裏的。就我個人而言,我在學校裏得到的最好經驗就是做了個人編程項目。這年頭在網上和應用商店裏有很多機會,可以做一個產品,公開自己的作品讓他人看到。

必果祝您一臂之力

必果的一小步,您的一大步。

全棧課

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-gDUCwlja-1591256443458)(.\pic\課程大綱\全棧課.jpg)]

遊戲課

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-cam63iKn-1591256443461)(.\pic\課程大綱\遊戲課.jpeg)]
點擊這裏加入討論羣

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章