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

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

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

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

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


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

“龙”飞船的飞行软件团队的 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 块触摸显示屏,看起来极具现代感。据了解,“龙”飞船的触摸屏下还设计了无力按钮,可在屏幕失效时使用。

yy.png

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

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


后记

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

相关文章
|
存储 缓存 算法
【OSTEP】分页: 快速地址转换(TLB) | TLB命中处理 | ASID 与页共享 | TLB替换策略: LRU策略与随机策略 | Culler定律
【OSTEP】分页: 快速地址转换(TLB) | TLB命中处理 | ASID 与页共享 | TLB替换策略: LRU策略与随机策略 | Culler定律
445 0
|
数据采集 传感器 监控
LabVIEW在SpaceX的应用
LabVIEW在SpaceX的应用
207 0
|
存储 缓存 算法
内存系列学习(四):Cache和Write Buffer一般性介绍
内存系列学习(四):Cache和Write Buffer一般性介绍
812 0
|
Java API 数据安全/隐私保护
Spring Boot中的文件系统操作
Spring Boot中的文件系统操作
|
11月前
|
人工智能 自然语言处理 搜索推荐
盘点4个国内外主流CRM系统,哪个最值得一用
CRM系统能够全面提升客户关系管理效率,通过全面收集和分析客户信息,实时跟踪客户需求和偏好,提供个性化服务,增强客户信任和满意度,促进客户忠诚度和长期合作关系。同时,CRM系统优化销售流程,支持跨部门协作,提升企业整体竞争力。选型时需关注综合性能、灵活性、可扩展性、用户界面友好性和数据安全性。主流CRM系统包括Neocrm销售易、Salesforce、简道云和神州云动,各具特色,适用于不同类型和规模的企业。
|
存储 缓存 算法
缓存优化利器:5分钟实现 LRU Cache,从原理到代码!
嗨,大家好!我是你们的技术小伙伴——小米。今天带大家深入了解并手写一个实用的LRU Cache(最近最少使用缓存)。LRU Cache是一种高效的数据淘汰策略,在内存有限的情况下特别有用。本文将从原理讲起,带你一步步用Java实现一个简单的LRU Cache,并探讨其在真实场景中的应用与优化方案,如线程安全、缓存持久化等。无论你是初学者还是有一定经验的开发者,都能从中受益。让我们一起动手,探索LRU Cache的魅力吧!别忘了点赞、转发和收藏哦~
364 2
|
块存储 芯片 内存技术
计算机组成原理(4)-----Cache的原理及相关知识点(1)
计算机组成原理(4)-----Cache的原理及相关知识点
836 2
|
存储 人工智能 自然语言处理
OpenAI如何让ChatGPT遵守了伦理道德的底线
OpenAI如何让ChatGPT遵守了伦理道德的底线
16745 0
|
网络协议 JavaScript 测试技术
网络安全-好用的模糊测试器汇总与思考
网络安全-好用的模糊测试器汇总与思考
437 0
|
存储 缓存 人工智能
MIPS架构深入理解5-内存管理
MIPS架构深入理解5-内存管理