首页 最新文章正文

这些技术栈实现了SpaceX火箭的成功发射

space: normal; text-align: center; background: white; line-height: 2em; box-sizing: border-box !important; overflow-wrap: break-word !important;">image.png

01 

背景

北京时间5月31日凌晨3点22分,NASA 与 spaceX 合作,猎鹰9号火箭顺利升空。这是 SpaceX 公司首次利用载人龙飞船,把两位宇航员送入地球轨道。龙飞船目前正在追逐国际空间站,预计 19 个小时后,尝试与国际空间站对接……

02 

技术团队

SpaceX 软件工程师的目标有 2 个

  • 火箭和航天器上运行的代码

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

工作内容范围就很大了,从大型 Web 应用到小型嵌入式计算平台都有涉及。

SpaceX 软件工程师的技术栈

  • C#、mvc4、EF、MSSQL (REST);

  • javascript、KNockout、Handlebars、LESS;

  • C++、linux、C、Python、LabviEW、MATLAB;

其中C#和MVC是用来开发内部信息系统

SpaceX 有 4 个独立的软件团队。

1、飞行软件团队


大约有 35 人(这是 2013 年的人数)。猎鹰9号火箭、蚱蜢火箭和龙飞船上所有的代码,都由飞行软件团队包圆了。

此外,他们还得:

  • 编写仿真软件,测试飞行代码;

  • 编写部署在地面站的通信和分析软件;

  • 在飞行任务控制部门工作,为现役任务提供支持。

2、企业信息系统团队

建立内部软件系统,让 Spacex 得以运转。

这个团队中的成员身兼多职,但他们开发和发布的旗舰产品,几乎所有 SpaceX 员工都在使用的内部 Web 应用程序

包括:

  • 创建采购订单和填写零件库存的人员,

  • 工程师创建设计和工作订单,

  • 技术人员在现场打卡并根据这些设计查看当天的工作内容。

  • (基本涉及到方方面面了。市面上有一些商业化产品可以满足他们的需求,但 SpaceX 是自己开发了)

SpaceX 正在从一个研究和工程公司转型为一个制造公司,该团队功不可没。他们充分利用了C#/MVC4/EF/SQL、Javascript/Knockout/Handlebars/LESS 和 REST API。

3、地面软件团队


这个团队大约有 9 人。主要在 LabVIEW 中编码,开发用于任务和发射控制的 GUI,供工程师和操作人员监控飞行器遥测和指挥火箭、航天器和平台支持设备。

他们在高度分布式系统中推送高带宽的数据,并实现严格要求的复杂用户界面,以确保操作人员能够及时控制和评估航天器。

LabVIEW 是什么?

LabVIEW(英语:Laboratory Virtual Instrumentation Engineering Workbench)是由美国国家仪器公司所开发的图形化程序编译平台,由杰夫·考度斯基(Jeff Kodosky)发明,程序最初于 1986 年在苹果电脑上发表。


LabVIEW 早期是为了仪器自动控制所设计,至今转变成为一种逐渐成熟的高级编程语言,目前广泛的被应用于工业自动化之领域上。


图形化程序与传统编程语言之不同点在于程序流程采用"数据流"之概念打破传统之思维模式,使得程序设计者在流程图构思完毕的同时也完成了程序的编写。—— 维基百科

4、航电测试团队

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

该团队的主要任务:写出非常全面和强大的软件,以便能够在大批量的情况下自动发现硬件的问题。

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

03 

几个问题

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

  2. 火箭和飞船的主力编程语言都是 C++。

  3. 运载工具代码约为几十万行。

  4. 龙飞船对接国际空间站是最具挑战性的项目,因为必须要开发许多新代码。

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

04 

动画演示

SpaceX 龙飞船如何送宇航员去国际空间站




评论

百度搜索

站点信息

  • 文章总数:508
  • 页面总数:7
  • 分类总数:29
  • 标签总数:861
  • 评论总数:285
  • 浏览总数:653970
Copyright ©2019-2020.Powered by©刘相涛 辽ICP备14000512号-5