由于太空探索对硬件设备的稳定性要求极高,很多设备都采用了已经在地面运行了多年的处理器,机智号也是如此。但值得注意的是,机智号这次没有采用商业级别的处理器,而是用于手机的民用处理器。这是因为,机智号被 NASA 视为一项“技术演示”,因此愿意接受更多风险,于是采用了民用的骁龙 801 处理器。
此外,由于毅力号的任务对信息的收集和处理要求极高,需要捕捉图像、分析特征,并以 30 赫兹的频率从一帧到另一帧跟踪它们。以往已经使用多年的商业级处理器已无法达到标准。而骁龙 801 的本质是一款手机处理器,而且它的主板非常小。它的功能远比其他火星车上的处理器多得多,拥有更强大的计算力。
除了手机处理器,机智号还带来了一个惊喜,将 Linux 带上了火星。
这是人类第一次在火星上使用 Linux 飞行控制系统,据 NASA 介绍,机智号使用的软件框架是JPL 为立方体卫星和仪器开发的,并在几年前就开源了。也就是说,任何人都能使用这个在火星直升机上的软件框架,并将它用在你自己的项目上。
F Prime 是火星无人机“机智号”的飞行软件框架,目前已在 GitHub 上全部公开!
F Prime 是为机智号量身定制的一个组件驱动的框架,可以快速开发和部署太空飞行及其他嵌入式软件应用程序。
那么,有了这些公开的代码,我们是不是也能下载机智号同款代码搞个火星无人机出来了呢?
NASA 开源的 F Prime 提供了一个完整的开发生态系统,包括建模工具、测试工具和地面数据系统。开发人员使用建模工具编写高级规范,自动使用 C ++ 生成实现,并使用特定领域的代码填充实现。框架和代码生成器提供 F Prime 部署所需的所有样板代码,包括用于线程管理的代码,用于组件之间通信的代码以及用于处理命令,遥测和参数的代码。测试工具和地面数据系统简化了在工作站和实验室中的飞行硬件上的软件测试。 此外,F Prime 还实现了以下几个关键功能:
1.可重用性:基于组件的体系结构可实现高度的模块化和软件重用。
2.可移植性:F Prime 在从微控制器到多核计算机的多种处理器以及多种操作系统上运行,将其移植到新的操作系统非常简单。
3.高性能:采用点对点架构,最大程度地减少了计算资源的使用,非常适合较小的处理器。
4.量身定制,可满足小型任务所需的复杂程度,不仅易于使用,还能同时仍支持多种任务。
5.可分析性:类型化的端口连接为编译时的正确性提供了有力的保证。
安装这些实用程序后,即可安装 F Prime Python 依赖项。在 Python 虚拟环境中安装依赖项可以防止系统级问题,但是不需要在虚拟环境中进行安装。
要快速安装 F Prime,请输入: