无人机加入“毅力号”火星探险

Linux成为首个登上火星的开源系统


“毅力号”火星车登陆火星的视频传回来了!


这是美国国家宇航局(NASA)的“毅力号”火星车最黑暗的7分钟,这7分钟里,航天器与地球控制中心的通讯完全中断,这期间的着陆过程需要由火星车自主控制。


幸运的是,自主着陆系统表现良好,火星车成功着陆预定地点——耶泽洛陨石坑。


整个着陆的场面可谓惊心动魄。着陆的时候,释放火星车的飞行器将火星地表的尘埃和沙砾卷起漩涡。


除了“毅力号”火星车本身,《大数据文摘》注意到,这次参与火星探险的还有一个无人机——“机智号”。


“机智号”无人机不仅是第一个在外星球上测试动力飞行的飞行器,其飞行控制程序搭载在Linux上,也让Linux成为首个登上火星的开源系统。


寻找远古生命:探索开源软件上火星的可能性


这次“毅力号”登陆火星的任务主要是寻找远古生命的迹象,收集岩石和泥土样本等,大多由火星车自己完成,“机智号”无人机并不参与。


“机智号”作为第一款在火星上进行飞行测试的无人机,更多是一种技术示范,目的在于展示使用商用硬件和开源软件在火星上飞行的可能性。


火星的大气密度只有地球大气密度的百分之一,引力也只有地球的三分之一。在此之前,还从来没有人尝试过在火星上飞行。


想要在火星上飞行,要克服许多不利条件:


首先是其设计要足够轻巧和坚固,可以藏在火星车有限的空间中,并且能够在合适的位置正确展开。


其次是要克服火星恶劣的气候,在火星零下90摄氏度的寒冷夜晚,无人机要自动保持温度。


第三是没有外来能源,无人机还要能自主通过太阳能电池板充电。


最后就是自主飞行,这就要靠NASA的研究人员基于Jet Propulsion Laboratory's (JPL)的开源框架 F′(发音为F prime)开发的飞行程序来控制了。


这一切,都将集成在“机智号”这个仅1.8公斤的机身里,技术难度可想而知。


开源系统+开源框架 你也能做一个


“机智号”无人机的飞行控制程序是基于Jet Propulsion Laboratory's (JPL)的开源框架 F′定制的,搭载于Linux系统中,这让Linux成为第一个登上火星的操作系统。


F′ 是一个组件驱动的框架,支持航天飞行和其他嵌入式软件应用程序的快速开发和部署。


F′曾多次成功地部署在多个空间应用领域,支持量身定制,不仅限于小规模的航天系统,还可以在如小型卫星,以及像“机智号”无人机这样的自主飞行无人机上运行。


它包括:将飞行软件分解为具有定义良好的接口的离散组件的体系结构;提供消息队列和线程等核心功能的C++框架;用于指定组件和连接并自动生成代码的建模工具;越来越多的通用组件集合;在单元和集成级别测试飞行软件的测试工具。


几年前,这个框架在GitHub上已经开源。在 IEEE Spectrum 的一次采访中,Timothy Canham,一位 JPL 嵌入式软件工程师说:“这是我们第一次在火星上飞行 Linux。(无人机)实际上运行在一个 Linux 操作系统上。我们正在使用的软件框架是当时在 JPL 为立方体卫星和仪器开发的,几年前我们开源了它。


所以,你可以得到在火星直升机上飞行的软件框架,并将它用在你自己的项目上。这是一种开源的胜利,因为我们拥有一个开源的操作系统和一个开源的飞行软件框架,还有一些现成的商业部件,如果你有一天想自己做的话,你可以买到。”


Linux是最成功的太空操作系统


当然,还有许多其他的 NASA 开源项目,美国宇航局有超过500个开源3.0许可认证的项目。


早在出现自由软件和开放代码概念之前,美国宇航局就在 COSMIC 程序下自由地分享了它的大部分代码。


至于Linux,除了是第一个登上火星的操作系统,也是最早进入太空的开源操作系统,NASA在国际空间站上就长期使用 Linux


Linux 通往霸主开源系统地位的道路也始于NASA的戈达德太空飞行中心超级计算机中心(GSFC)的第一台 Beowulf 超级计算机。


和“机智号”无人机一样,Beowulf 超级计算机是用 COTS 设备打造的。它搭载16 Intel 486DX 处理器和一个10mbps 的网络,总价格只有几千美元。


虽然它的运算速度相当慢,但 Beowulf 向我们展示了用极少的预算和开源的 Linux 就可以构建超级计算机。


包括到现在,“机智号”无人机依然向我们证明,在太空中,用 Linux 配合开源软件依然可以做成伟大的事情。