用开源软件驾驶火星飞行

2021-04-20 08:46:11

星期一早上3:31的奇迹发生了一只小奇迹。聪明,一个小型美国宇航局直升机,成为一架飞行在另一个星球,火星的动力飞机。该工程壮举是使用Linux,开源软件和基于喷射推进实验室的NASA构建的程序完成的。S(JPL)开源F'(发音为F Prime)框架的框架。

在距离地球11次灯光纪要的几分钟内,没有什么能力的。真实的,火星只有三分之一的地球和#39;火星'大气层只有百分之一的地球密度'空气。

实际上,聪明才智纯粹是一种技术示范。它并非旨在支持坚持不懈的使命,这些使命是寻找古代生命和收集岩石和污垢样本的迹象,以便返回地球。它的使命是表明它可以使用商业现货(COTS)硬件和开源软件在火星上飞行。

GitHub Ceo Nat Friedman和他的团队和他的团队和JPL Ingenuity Crew致力于直升机' s代码,发现" Github上的近12,000名开发人员贡献了通过开源的聪明才智和#39; S软件。然而,与黑洞的第一个形象一样,这些开发商的大多数甚至都不知道他们有助于使第一个火星直升机飞行成为可能。"

他们现在知道他们。弗里德曼写道:"今天,我们想制作看不见的可见。因此,我们与JPL合作,将新火星2020直升机使命徽章放在每个开发者的GitHub配置文件上,他们为聪明才智使用的任何开源项目和库的特定版本做出了贡献。"

开发人员列表是由JPL创建的,提供Github,其每个版本的每个开源项目的每个版本的全面列表。然后,GitHub可以识别制作这些项目及其依赖项的所有贡献者。

其中一些荣誉,如Linux' S Creator Linus Torvalds,都是着名的开发人员。许多其他人在默默无闻中劳动 - 但现在他们的工作得到了认可。作为GitHub'开发者关系高级主管,Martin Woodward,解释说:"许多获得徽章的人可能不知道他们的软件被用来在另一个星球上飞行直升机。我们希望确保每个人都认出于对这种令人难以置信的人类成就的贡献。"

伍德沃德继续:"我们发现的是那里的依赖性的层次结构。单个项目可能有10个或更少的依赖项,但它们从那里捕获,每个依赖关系都依赖于其他依赖。在你知道之前,你有一个令人难以置信的大量人员为一个项目做出了贡献。"

虽然结果,在这种情况下,虽然是非凡的,但今天几乎所有的送货软件都依赖于开源组件。 Carol愿意是Python的核心贡献者,补充说:"很多就像在湖中丢弃一块鹅卵石一样,你的小贡献将涟漪有更大的影响。那个开源的美女之一,别人可以带走你的良好工作,让它变得更加强大和有意义。"

对于许多贡献者,它很高兴看到他们的抽象作品变成了像火星上的小直升机飞行那么有真雅。 "在臭虫修复和维护时花了很多时间,令人耳目一新,听到Python的所有酷东西," Benjamin Peterson说,另一个核心Python维护者和Python兼容性库六的创建者。

GitHub idn' t认识到程序员。该公司还向其他开源贡献者提供了信贷。例如,Python核心团队成员Mariatta Wijaya主要关注社区管理,文档和构建工作流程,帮助Python Team函数并保持代码可用。 "只是创造拉请求是不够的," Wijaya说。 "我们仍然需要审查代码,文档更改,并与社区合作,决定建立什么以及如何。"

JPL开发人员长期使用并贡献回开源项目。但是,使用F'首次,JPL开始了自己的开源项目。据杰夫维森,JPL'小型飞行软件集团的主管的说法,那个'如果小规模飞行软件集团的主管,JPL'航空航天局以外的飞行软件仍有很少的应用。 "它在' t在很多意义之前,因为我们的软件如此紧密与定制硬件配对,"解释了莱蒙斯。 "' t真的是驾驶需要或福利在将其释放到公众。"

然而,这种情况是聪明才智。 Timothy Canham是一款JPL嵌入式飞行软件工程师,解释了直升机' S程序由高Qualcom Snapdragon 801供电,以2.2GHz运行。

虽然这可能听起来很慢,而且比火星坚持不懈,而不是#39;车辙加压器。因为美国宇航局级CPU和芯片必须迎合NASA' S高性能航天计算(HPSC)辐射标准。这些定制的处理器需要多年的设计工作和测试之前' RE认证用于空间飞行。例如,NASA' S最新的通用处理器是一个ARM A53变体,您可能知道从覆盆子PI 3.聪明才智,作为一个模拟项目可以使用更普通的,因此更现代化的CPU。

飞行控制软件本身在500Hz处运行。那个' s hertz,不是megahertz,Canham向ZDNET解释道。飞行软件"用于控制飞行硬件,读取传感器每秒500次,以保持直升机稳定。"实际上,Canham解释说:"我们从Sparkfun [电子产品]的零件有序。这是商业硬件,但我们' ll测试它,如果它运作良好,我们' ll使用它。"显然,正如我们今天早上所看到的那样,它确实如此。

JPL在2013年开发了F'的第一个版本。该想法是为各种空间的项目创建可重复使用的软件框架,这些项目可以适应实际上任何硬件,目的或目的地。

F'标志着JPL如何工作的转变,解释了Mars直升机运营在JPL Timothy Canham上引线。从历史上看,JPL' S软件一直很难重新批准。它通常包含嵌入在其代码中深度深度的特定于上下文功能。要可重复使用,F'必须是模块化的,而不是定制。例如,框架不假设工程师将使用特定品牌的板载相机 - 或任何相机。例如,如果需要拍摄照片,则可以根据需要添加或删除特定的组件和功能。这同样适用于任何传感器或硬件仪器。

F'SNSN' T意味着在盒子里是一个航天器系统,Canham解释道。它更像是初学套件的'其中一个地面控制系统,用于向设备发送命令,用于运行这些命令的序列器,以及用于将响应发送回地面控制的组件。虽然有一个标准的组件库,你' ll需要编写很多自己的软件。

很快就会变得显而易见的是,F'NSN'它只是在JPL内部重复使用,但在它之外也是如此。立方体,采用现成的商业硬件制成的小型卫星通常在低地轨道(LEO)中,现在被广泛使用。 "我们&#39一直在提供一些关于它的谈话,我们在卡内基梅隆和其他想要为自己的CubeSat项目使用它的其他组织的教师," Canham说。 "我们最终意识到我们更容易开源f'比尝试通过许可软件的漫长过程。"该团队通过代码进行了梳理,以确保在2017年7月在Apache许可证下通过国际条约控制的任何商业秘密或技术。

今天,所有这些项目都使Incenuity飞入火星'薄的粉红色天空。但是,当Elon Musk'金色的第一个机器人星舰时,这十年后苍蝇到火星,它也将由Linux和开源软件引导。