听这篇文章
|

这张图展示的是“月球手电筒”航天器,这是一个六单元的立方体卫星,旨在使用特殊的激光在月球表面寻找冰。F Prime计划在这个项目和近地小行星侦察立方体卫星上运行。|来源:美国国家航空航天局/姓名
当美国宇航局的“独创火星直升机”盘旋在上空这颗红色星球于4月19日进行处女航在美国,这一时刻被誉为在另一个星球上进行动力控制飞行的首次实例。火星空气稀薄,但重力只有地球的三分之一,弄清楚如何在火星上飞行需要多年的工作。除了开发一种能够胜任这项任务的飞行器的挑战外,这项任务还需要软件来实现前所未有的飞行。
于是他们转向F ',可重复使用的多任务飞行软件框架,专为立方体卫星、小型航天器和仪器设计。程序最初是2013年由一个团队开发由Tim Canham美国宇航局喷气推进实验室在南加州,目的是创建一个低成本、便携、柔韧的软件架构选项允许组件编写一个应用程序很容易被重用在其他应用程序和运行在一个处理器。
2017年,该团队推动F Prime以开源,允许外部合作者、大学和公众在他们自己的项目上使用该框架。这是NASA向公众免费提供的数百个代码之一,有开源的,也有通过的它的软件目录.
“F Prime已经实现了我们在喷气推进实验室的许多目标,设计了一个真正可重用的多任务飞行架构,加上火星直升机项目提供的开源协作和可视性的额外好处,”Canham说。“这是一场开源的胜利,因为我们使用的是开源的操作系统和开源的飞行软件框架,以及可以买到的商用部件,如果你有一天想自己做的话。(这架直升机搭载了定制和现成的组件,其中许多来自手机技术领域,包括它的两个摄像头。)
在“发明”之前,F Prime(也写为F ')已经通过了航天器的测试,自2014年以来在国际空间站的RapidScat散度仪上成功运行,2017年在喷气推进实验室的ASTERIA立方体卫星上成功运行。展望未来,F Prime计划运行的项目包括美国宇航局的月球手电筒立方体卫星(Lunar Flashlight CubeSat),该卫星将寻找月球陨石坑表面的冰;该机构的近地小行星侦察立方卫星(Near-Earth Asteroid Scout CubeSat)将绘制一颗小行星的地图;可能还有喷气推进实验室的海洋世界生命测量仪,它将帮助我们寻找太阳系中的水生生命。
Aadil Rizvi是JPL的Lunar Flashlight和NEA Scout的飞行软件主管,他说F Prime为一些飞行软件服务提供了开箱即用的解决方案,比如航天器的指挥、遥测、参数和排序。还有一种“自动编码”工具,使F Prime在不同任务中使用时高度便携。
Rizvi说:“这使得把火星直升机之类的软件组件放入另一个任务的飞行软件,比如月球手电筒,或者让使用F Prime的任何人都可以使用开源组件,变得非常容易。”“很酷的是,火星直升机上使用的很大一部分软件与前往月球、小行星或学生课桌上的其他航天器上的软件完全相同。”
大学看到了F Prime的好处
自从F Prime首次开放源代码以来,它已经逐渐成为大学和学生项目的一个有用的飞行软件选择。
在佐治亚理工学院,一个团队将F Prime纳入其GT1立方体卫星,旨在作为一个教育演习,将携带交互式和自动业余无线电有效载荷。
“在评估了一些飞行软件框架后,我们选择了F Prime,包括从头开始编写我们自己的选择,”佐治亚理工学院研究教师和GT1的软件主管Sterling Peet说。“我们没有资源从头开始构建所有这些代码,并使用和测试它,以确保必要的内部可靠性水平。但通过使用F Prime,我们可以利用它的遗产,并将我们的测试和相关好处贡献给F Prime社区和项目。”
卡耐基梅隆大学(Carnegie Mellon University)的一个学生领导的团队选择了F Prime来运行它的Iris月球车,这是一个微型机器人,旨在证明纳米漫游者在行星探索中的可行性。Iris项目副经理Raewyn Duvall说:“这是一个可行的选择,可以直接链接到创作者,所以我们决定自己使用它。”
F Prime将控制漫游者,同时记录数据和监测其健康状况。
Duvall说:“事实上,它是开源的,这给我们提供了广泛的例子来建立我们自己的模块,让我们使用论坛来快速得到答案,而不必担心潜在的支持服务费用,只是为了得到我们可能遇到的问题的答案。”
喷气推进实验室小型飞行软件小组主管Jeff Levison认为大学之间的合作关系,如与佐治亚理工学院和卡耐基梅隆大学的合作关系,是一条双向通道:喷气推进实验室为崭露头角的工程师提供了世界领先的飞行系统专业知识,接下来,这些未来的工程师可能会带着他们的才华和对F Prime的理解在喷气推进实验室开始他们的职业生涯。
卡耐基梅隆大学的杜瓦尔说:“F Prime不是一个容易掌握的架构,所以一个能够掌握它并创建一个可靠的工作项目的学生显然对喷气推进实验室这样的组织具有惊人的潜力。”“我们很多在Iris上学习F Prime的学生都表达了申请JPL的兴趣,我相信这证明了F Prime作为招聘工具的价值。”
编者按:这篇文章被转载美国国家航空航天局.
我认为f '分布已经过时了。一些原因如下。
1.我最初是一名嵌入式程序员,用处理器编写代码,而不调用子例程。在此背景下,我认为Snapdragon处理器的框架应该包括云技术。我的改变是基于我2018年发表的一篇论文,https://github.com/NanoDataCenter/nano_data_center/blob/master/presentations/Application%20of%20Redis%20to%20IOT%20Gateway%20Devices%20Final.pptx,它记录了我的旅程。
2.应该使用Rust语言而不是c++。Rust Language将防止内存泄漏。此外,Rust代码可以在Linux内核中使用。
3.应该使用容器化体系结构。Rust Containers的基本映像大小非常小。容器体系结构对于共享代码非常有效。
4.这个系统需要一个事件代理。事件代理可以是ZeroMq或Redis。(Redis的内存占用非常低)。事件代理允许将大型应用程序分解为小型应用程序。
总之,我不喜欢风河。然而,这种架构可能会依赖于Rover和其他喷气推进实验室项目的架构。风河已经把大部分零件都准备好了。但是,他们需要集成事件代理,并使用事件代理推广微服务方法。在云系统中,有许多关于这个主题的书。