天天看点

首个商业载人飞船升空背后:Space X 的软件技术栈

自 2011 年后,美国首次发射载人飞船飞向太空,引起了全球的高度关注。但这次,除了人类登上太空这一伟大进程外,更令人关注的是这次登上太空飞船居然是马斯克的商业航天公司 Space X 制造的。

Space X “龙”飞船的飞行软件团队为 Falcon 9、Grasshopper 和“龙”飞船应用程序编写所有代码,飞行软件使用 C/C++ 编写,地面软件主要使用 LabVIEW 进行编码。“龙”飞船的模拟器则是使用 GO 语言编写的。

5 月 30 日凌晨我们共同见证了  Space X “龙”飞船升上太空的历史时刻。今天,我们一起来详解“龙”飞船背后的技术力量。

首个商业载人飞船升空背后:Space X 的软件技术栈

软件团队编写代码全方位支持载人飞船任务

“龙”飞船的飞行软件团队的 35 人,除了为 Falcon 9、Grasshopper 和“龙”飞船应用程序编写所有代码,还进行核心平台工作。软件团队成员表示:“我们还编写仿真软件、测试飞行代码、编写部署在我们地面站中的通信和分析软件。我们还在任务控制领域工作,以支持进行中的任务。”

地面软件团队有 9 人,主要使用 LabVIEW 进行编码,开发用于任务和发射控制的 GUI,供工程师和操作员监控车辆遥测并指挥火箭。地面软件团队成员围绕高度分散的系统推送高带宽数据,建立严格、高要求、复杂的用户界面,以确保操作员能及时控制和评估航天器。

“龙”飞船的飞行计算机在 C ++ 上运行

“龙”飞船和 Falcon 9 火箭都广泛使用定制版的 Linux 系统,飞行软件使用 C/C++ 编写,飞船内的图形显示应用是基于 Chromium/JS。

SpaceX 使用 Actor-Judge 系统为火箭和航天器提供三重冗余。Falcon 9 具有 3 个双核 x86 处理器,每个核上都运行 linux 实例。飞行软件是用 C / C ++ 编写的,并且在 x86 环境中运行。

对于每个计算/决定,“飞行字符串”都会比较两个核的结果。如果存在不一致,则字符串是错误的,并且不发送任何命令。如果两个内核都返回相同的响应,则字符串将命令发送到火箭上的各种微控制器,这些微控制器控制诸如引擎和格栅鳍之类的东西。

运行在 PowerPC 处理器上的微控制器从三个飞行串接收到三个命令,他们充当法官来选择正确的行动方案。如果所有三个字符串都一致,则微控制器将执行命令,但是如果三个字符串中的一个不正确,它将与之前正确的字符串一起使用 Falcon 9 只需一条飞行绳就能成功完成其任务。

三重冗余使系统无需辐射,无需昂贵的抗辐射组件。SpaceX 在所谓的台式火箭上测试所有飞行软件。他们将Falcon 9 上的所有计算机和飞行控制器布置在桌子上,并将它们连接起来,就像在实际的火箭上一样。然后,他们在组件上进行完整的模拟飞行,监视性能和潜在故障。

SpaceX 工程师执行所谓的“切割字符串”操作,在此过程中,他们会在模拟过程中随机关闭飞行计算机,以查看其响应方式。

“龙”飞船团队表示,他们没有使用特斯拉的硬件,在 Chromium 和“龙”飞船飞行界面上使用了 Chromium 和 JavaScript,实际的飞行计算机仍在 C ++ 上运行。

飞船采用触摸屏控制,太空服由「蝙蝠侠」设计师定制

Space X 的“龙”飞船与科幻大片里的飞船非常相似,没有以前 NASA 在人飞船中那么多的密密麻麻的按钮,取而代之的是 3 块触摸显示屏,看起来极具现代感。据了解,“龙”飞船的触摸屏下还设计了无力按钮,可在屏幕失效时使用。

首个商业载人飞船升空背后:Space X 的软件技术栈

此外,宇航员所穿的太空服也与传统太空服有明显差异,头盔是 3D 打印的,手套有触屏功能。除此之外,太空服还有供氧和调节体温功能,有一根像“脐带”似的缆线可以跟座椅连接,作为通讯和输送可呼吸空气的管道。

这套为宇航员个人定制的太空服从头到脚连为一体,被称作“外星人制服”。外形设计来自好莱坞服装设计师何塞·费尔南德斯(Jose Fernandez );他曾参与《美国队长:内战》和《蝙蝠侠v 超人:正义的黎明》等影片的服装设计。

后记

商业航天载人飞船发射成功不仅代表航天技术水平的提高,更意味着人类航空事业的新篇章,或许有一天上太空也能像最飞机出行一样简单。