科技狂人马斯克(Elon Musk)旗下太空公司SpaceX,与美国太空总署(NASA)5月30日成功发射搭载龙飞船(Crew Dragon)的猎鹰9号(Falcon-9)火箭,接载两名美国太空人上太空。今次是美国9年来,首次本土发射载人太空任务,更是美国首个商业运营的载人升空计划。这创举到底是如何做到的呢?“猎鹰9号”与“龙飞船”所使用的编程及软件,再次引起开发者热议。
这次太空盛事,使早已沉底有关“猎鹰9号”的论坛帖文,重新成为焦点。有自称为SpaceX软件开发团队的网民表示,火箭与编程语言C#、MVC框架毫无关系,猎鹰9号及Dragon主要应用LabVIEW进行编程,并设计了图形化使用者接口(GUI),用于开发任务以及发射控制,方便工程师和操作员监控车辆遥测,指挥火箭、太空船和支持设备。
LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司所开发,类似于C和BASIC开发环境。LabVIEW采用图形化编辑语言G编写程序,属资料流程序语言,工程师透过绘制导线连线不同功能的节点,图形化的程序框图结构将决定程序如何执行。这些线传递不同变量,所有输入资料准备完成后,节点便马上执行。该网民又称,操作系统方面,“猎鹰9号”及Dragon使用Linux。
亦有网友补充,“猎鹰9号”采用了“三重模组冗余(TMR)”系统,简单来说,火箭具备3个双核x86处理器,均在Linux上运作;飞行软件则采用C/C++编写,针对每个决定,如果3个处理器的字串一致,系统将指令火箭上的各种微控制器,包括引擎来执行命令。若3个处理器中有1个损坏,飞行字串(Flight string)会比较其余两个,成为最终的输出。此外,龙飞船的飞行界面使用了Chromium及JavaScript开发,而实际的飞行管理系统仍基于C++运作。
目前程序运行正常,龙飞船的2名太空人,已与国际太空站完成对接。升空任务成功后,SpaceX将开始定期执行国际太空站工作,运送来往地球的太空人与物资补给。
领取专属 10元无门槛券
私享最新 技术干货