雲栖号資訊:【 點選檢視更多行業資訊】
在這裡您可以找到不同行業的第一手的上雲資訊,還在等什麼,快來!
在經曆了 十幾個小時的飛行後,SpaceX 的載人龍飛船與國際空間站成功對接,國際空間站迎來第一艘商業載人飛船的到訪,其背後的技術棧也引起了開發人員的關注,甚至有程式員搞起了 3D 版飛船生成器。
SpaceX 飛船技術棧
美國當地時間 5 月 30 号下午 3 點 22 分,中原標準時間 5 月 31 日淩晨 3 點 22 分,由埃隆·馬斯克創辦的航天公司 SpaceX 執行的載人航天發射任務在肯尼迪航天中心圓滿完成,可能很多技術人員對于 SpaceX 應用到的技術棧非常關注,導緻這個話題在 Reddit 和 Hacker News 上的熱度都不低。

事實上,SpaceX 的軟體工程師曾在 2013 年做過一次公開回應,可以總結出一些相關資訊:
SpaceX 使用 Actor-Judge 系統為火箭和航天器提供三重備援。 Falcon 9 具有 3 個雙核 x86 處理器,每個核上都運作着 Linux 執行個體(作業系統用的是 Linux,還有 LabVIEW 和 Matlab)。飛行軟體是用 C/C ++ 編寫的(這一點也得到了 SpaceX 工程師的确認,火箭和飛船的主要程式設計語言是 C++),并且在 x86 環境中運作 (SpaceX 獵鷹九号和龍飛船用的都是 Intel 雙核的 x86 處理器),整個主要程式隻有幾十萬行代碼。
注:LabVIEW 是美國國家儀器公司所開發的圖形化程式編譯平台
對于每個計算和決定,字元串都會比較不同核的傳回結果。如果存在不一緻,則字元串傳回是錯誤的,并且不發送任何指令。如果都傳回相同的結果,則字元串将指令發送到火箭上的各種微控制器,這些微控制器控制是諸如引擎之類的東西。
SpaceX 的軟體工程師主要工作就是編寫火箭和航天器上運作的代碼以及火箭和航天器的設計和制造過程的代碼,内部分為飛行軟體、企業資訊系統、地面軟體及航電測試四個團隊,人數在幾個到數十個人員不等,分别承擔不同的研發任務。
此外,SpaceX 的龍飛船主要系統的晶片組僅用了 2.6 萬人民币。要知道,這與其他載人飛船搭載的星載計算機和控制器相比(超過一億人民币),成本極低。
在對 SpaceX 飛船技術棧進行探索的同時,也有開發者搞出了一個 3D 版本的開源飛船生成器項目,這個項目的實際開發時間是在 2016 年,但卻在馬斯克的 SpaceX 首次載人飛船發射成功後被送上了 Hacker News 熱搜,我們也一起看看該項目的實際效果。
Reddit 讨論連結:
https://www.reddit.com/r/programming/comments/gtvmb4/what_computer_and_software_is_used_by_the_falcon_9/開源 3D 版飛船生成器
Spaceship Generator 項目在 GitHub 上收獲了 5.7k 的 star,這是一個 Blender 腳本,可根據代碼生成 3D 飛船。真的飛船搞不來,搞一個 3D 版的過過瘾還是可以的。
使用
開發者需要自行安裝 Blender 2.76 或更高版本,然後從 Releases 中下載下傳最新的 add_mesh_SpaceshipGenerator.zip,打開下載下傳的 ZIP 檔案,然後按照 Under File > User Preferences… > Add-ons enable this script (search for “spaceship”) 這個路徑啟用這個腳本,最後在 3D View 中添加宇宙飛船(Add > Mesh > Spaceship)。
Blender 最新版本下載下傳位址:
https://www.blender.org/download/Blender 是一款免費的開源 3D 創作套件,可用于建立 3D 可視化的靜态圖像、3D 動畫、VFX 鏡頭,也可作為視訊編輯工具。它是一個跨平台的應用程式,可以在 Linux、macOS 和 Windows 系統上運作。與其他 3D 創作套件相比,Blender 對記憶體和驅動器的要求也相對較小。它的界面使用 OpenGL 架構(建立),為所有支援的硬體和平台提供一緻的體驗。
主要特征
- Blender 是一個完全內建的 3D 内容建立套件,提供了廣泛的基本工具,包括模組化、渲染、動畫和 Rigging、視訊編輯、VFX、合成、紋理繪制和多種類型的模拟。
-
它是跨平台的,擁有在所有主流平台上統一的 OpenGL GUI(并可通過 Python 腳本進行定制)。
擁有一個高品質的 3D 架構,可以實作快速、高效地建立工作流程。
- 擁有活躍的社群支援,詳情請參見 blender.org/community。
- 它有一個小的、可選的輕量級可執行檔案。
實際效果
首先從一個盒子開始延伸建造船體,多次拉伸前、後表面,并在此過程中随機添加平移、縮放、旋轉效果;其次開始在船體上增加不對稱性,選取随機的面并将其以類似的方式改變;然後向船體添加細節,按其朝向對每個面孔進行分類,并在其上生成一些細節,例如引擎、天線、炮塔、照明燈等;最後進行一些細微調整等,如下圖:
算法原理
以下截屏使用船體線段數和非對稱線段數的極值建立,以顯示算法的工作原理。
【雲栖号線上課堂】每天都有産品技術專家分享!
課程位址:
https://yqh.aliyun.com/zhibo立即加入社群,與專家面對面,及時了解課程最新動态!
【雲栖号線上課堂 社群】
https://c.tb.cn/F3.Z8gvnK
原文釋出時間:2020-06-01
本文作者: 趙钰瑩,李冬梅
本文來自:“
InfoQ”,了解相關資訊可以關注“
”