美国宇航局开源毅力号搭载的无人机代码
大家好。
在 2020 年 2 月,美国宇航局(NASA)宣布了在毅力号(Perseverance)在火星上的顺利着陆,另外还有一个有趣的事情是,毅力号其实还带了另外一个小伙伴登陆火星,它就是一架能够在火星稀薄的大气(不足地球的 1%)环境中使用的无人机,无人机的样子如下图。
而以上无人机的飞行控制程序是基于 Jet Propulsion Laboratory’s (JPL) 的开源框架 F´ **定制的,搭载于 **Linux 系统中,这让Linux 成为第一个登上火星的操作系统。
F’(Fprime) 就是今天要推荐的项目,目前已在 GitHub 开源,它是一个基于组件驱动的框架,可以快速的开发和部署到航天器和其他嵌入式设备中。
F´ 目前已经成功的部署到多个航天系统中,它作为一个框框架支持自由定制,虽然目前应用的领域都是航天相关,但是其不仅限于小规模的航天系统,比如卫星、机智号等小型无人机等。
F´ 有如下部分组成:
- 架构设计上具备定义良好的接口,从而使得各组件相互解耦
- 提供了如消息队列和多线程等核心功能的 C++ 框架
- 提供了组件定义、连接和代码自动生成的抽象建模工具
- 逐步增长的可复用组件集合
- 支持航天软件的测试工具,包括单元测试和集成测试等
简单点说就是,F´ 是经过优良设计的一款开源框架,它可以很快的进行相应的开发和定制化。我们虽然不能开发航天系统中的应用,但如果有必要,你可以尝试基于 F´ 定制你需要的应用,然后植入到你的嵌入式设备中,毕竟 F´ 已经在航天无人机中得到了认证,其稳定性和可靠性毋庸置疑。
以上从侧面证明了开源的意义,即使像航天如此复杂的场景,依然能够借助开源的力量(Linux&JPL),构建能够在太空运行的系统。
以上就是 F´ 的全部介绍,更多项目详情请查看如下链接。
开源项目地址:https://github.com/nasa/fprime
更多精彩请扫码关注如下公众号。
Written on March 14, 2020