NASA 的开源项目介绍

  • 张天雷

2014 年 7 月 4 日

话题:语言 & 开发架构

作为航空航天科技领域的领军机构,NASA 多年来在多个刷新人类历史的任务中表现出众,这背后,是众多专家成千上万小时的经验积累,从其开源主页上可以窥见一斑。

Data Productivity Toolkit,数据分析工具集,是一系列 linux 命令行工具,设计用来对文本数据进行分析。增强了通用 linux 管道工具,比如 awk,grep 和 sed。工具提供了选择、合并数据,计算统计数字,结果可视化等强力工具。用 Python 语言编写,提供命令行接口,而且跟 numpy、scipy、matplotlib 等热门工具结合紧密。

OpenSPIFe,探测器调度与规划接口,读音为 spee-fee。很多现有面向用户的自动规划系统规划工具,在探测规划方面都无法提供给用户足够的灵活度。比如在不同的应用场景下,迅速理解复杂的约束条件和内涵,或者在不干扰现有工作任务的情况下,针对下一步规划尝试不同的解决方案。通常来讲,这种接口都是和底层的规划调度与仿真引擎作为一个整体出现的。SPIFe 就是这样的一个整体调度和规划工具集,基于专家们在 NASA 内部几个应用中对现有最好的调度与规划算法进行上百个小时的观察、使用和调试而来。在设计时,SPIFe 充分考虑了用户,并提供了对于现有经典问题的出色解决方案。SPIFe 的设计采用了开源 Eclipse RCP 可插拔式架构,用到了 Eclipse 建模工具、Nebula 特性、Orbit 第三方库等,遵循 Apache 许可、Eclipse 公共许可、Mozilla 公共许可以及 GNU 通用公共许可等开源协议。SPIFe 已经应用于火星探测车项目、凤凰火星登陆项目以及火星科学实验室项目。国际空间站的起飞前计划和实时分析端口也采用了 SPIFe。

Core Flight Executive(cFE),核心飞行执行器框架,是个便携的、跨平台的嵌入式系统框架,由 NASA Goddard 宇宙飞行中心开发。此框架可用于操控卫星飞行系统中的数据和设备,也可用于其他嵌入式系统。核心飞行执行器框架采用 c 语言,和另外一个叫做操作系统抽象层(OSAL)的软件是独立的。

除上述软件以外,主页上还包括任务控制软件、太阳物理特性分析软件、地球科学数据发布软件、浏览分析获取数据的可视化系统 ViSBARD、开源库非线性运算的严格验证方法库、无人宇宙空间监视系统边界模型代码库、表面裂缝分析软件、网络传输协议、飞机几何参数工具、IP 交换及同步、多线程多节点工具、基于现有 ssh 主机构建 Mesh 网络的中间件、跨系统负载均衡、无损多频道数据压缩、卫星数据模拟单元、地面和空间雷达匹配和压缩、轨道决策工具集、通用任务分析工具、开源三维世界模拟器、多学科设计分析和优化框架等。

值得一提的是,除了软件源代码以外,NASA 还公布了 2014 年的软件转换清单。清单中罗列的技术代表了 NASA 在很多复杂问题上的最佳解决方案,现在都开放给公众使用。清单中涵盖了项目管理系统,设计工具,数据处理,图像处理以及生存支持,航空学,结构化分析,机器人和自主系统等多个方面。


感谢张逸对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

语言 & 开发架构