猎鹰与龙飞船基于 Linux采用 C++、Chromium与JS开发 (转)
最近两天科技界最重大的事件莫过于马斯克的 SpaceX 成功实现了猎鹰 9 号(Falcon 9)带着龙飞船(Crew Dragon)成功发射,并使飞船与国际空间站对接,将 NASA 两名宇航员送上了轨道前哨。背后关于 Falcon 9 与 Crew Dragon 使用的计算机和软件等信息也引起了开发者的关注。自称为 SpaceX 公司软件开发团队的网友表示 Falcon 9 火箭与 C#、MVC 都没有关系。Falcon、Dragon(此次载人的 Crew Dragon 前一代飞船)的应用主要使用 LabVIEW 进行编码,用于开发任务和发射控制的 GUI,供工程师和操作员监控车辆遥测并指挥火箭、航天器和护垫支持设备。
LabVIEW(Laboratory Virtual Instrumentation Engineering Workbench,实验室虚拟仪器工程平台)是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于 C 和 BASIC 开发环境。LabVIEW 采用图形化编辑语言 G 编写程序,产生的程序是框图的形式。
该网友还表示 Dragon 和 Falcon 9 使用 Linux 操作系统,其他网友补充,在 GDC 2016 与 Dragon 团队交流后了解到,Falcon 采用“三重冗余”系统,简单来讲,Falcon 9 具有 3 个双核 x86 处理器,每个核上都运行 Linux 实例。飞行软件采用 C/C++ 编写。对于每个计算/决定,“飞行字符串”都会比较两个核的结果,如果存在不一致,则字符串是错误的,不发送任何命令。如果两个内核都返回相同的响应,则字符串将命令发送到火箭上的各种微控制器,这些微控制器控制诸如引擎之类的东西。
运行在 PowerPC 处理器上的微控制器从三个飞行字符串接收到三个命令,他们充当法官来选择正确的行动方案。如果所有三个字符串都一致,则微控制器将执行命令。
而 Crew Dragon 飞行界面上使用了 Chromium 与 JavaScript 开发,实际的飞行计算机仍基于 C++ 运行。 剩余氧气:undefined% 真是个牛人,吹的每一个牛B,都慢慢实现了。 计算单元6倍冗余,执行单元不冗余也不行呀 从软件开发上都可以看出他们使用的技术都是尽可能高效和低成本的 我们还是8032,还在用五十年前经过验证的,稳定的电路。。。 Himem 发表于 2020-6-1 19:04
剩余氧气:undefined%
js如果使用TypeScript开发,编译出来的js代码,应该不会出现你这种情况了 自称为 SpaceX 公司软件开发团队的网友表示 Falcon 9 火箭与 C#、MVC 都没有关系。Falcon、Dragon(此次载人的 Crew Dragon 前一代飞船)的应用主要使用 LabVIEW 进行编码,用于开发任务和发射控制的 GUI,供工程师和操作员监控车辆遥测并指挥火箭、航天器和护垫支持设备。
真的假的(有没有图片资料)?没想到他们尽然也用到了LabVIEW开发。
foxpro2005 发表于 2020-6-1 23:10
真的假的(有没有图片资料)?没想到他们尽然也用到了LabVIEW开发。
...
这个链接有个更详细的:链接 LabView主要用来做地面指挥监控的。飞船控制使用c++(估计最牛的自动回收算法都在里面),估计使用实时linux嵌入式系统配合c++开发,cpu就用x86芯片。
飞船那个触摸界面使用js+Chromium开发。估计和c++开发的系统通过以太网进行通信(当然这个通信肯定也是冗余的),猜测上面的三个触摸界面也是冗余,
真正控制用一个屏也就够了。 最早的登月计算机,内存还是K级的 “飞行字符串”,看上去好高级的样子,就是不知道对应的飞行指针的速度能不能跟得上 最牛逼的是原本需要贵上千倍的航天级芯片器件用普通的就代替了 belove 发表于 2020-6-2 13:55
最牛逼的是原本需要贵上千倍的航天级芯片器件用普通的就代替了
还真是,我感觉三台计算机,其中一个用我们普通的pc主板,用金箔包好一些,固定地更坚固一些,应该也没啥问题
页:
[1]