NASA 在 Ingenuity 火星火箭中使用了 Linux 和开源软件

NASA 航天局的代表在接受 Spectrum IEEE 采访时透露了自主侦察直升机 Ingenuity 的内部细节,该直升机昨天作为火星 2020 任务的一部分成功登陆火星。 该项目的一个特点是使用了基于高通 Snapdragon 801 SoC 的控制板,该芯片用于智能手机的生产。 Ingenuity的软件基于Linux内核和开源飞行软件。 值得注意的是,这是Linux首次在发送到火星的设备中使用。 此外,使用开源软件和广泛使用的硬件组件使感兴趣的爱好者可以自己组装类似的无人机。

做出这一决定的原因是,控制飞行的无人机比控制火星漫游车需要更多的计算能力,火星漫游车配备了专门制造的芯片,具有额外的辐射防护。 例如,维持飞行需要每秒 500 个周期运行的控制循环和每秒 30 帧的图像分析。

Snapdragon 801 SoC(四核,2.26 GHz,2 GB RAM,32 GB Flash)为基于Linux的核心系统环境提供动力,该环境负责高级操作,例如基于相机图像分析的视觉导航、数据管理、处理命令、生成遥测数据并维护无线通信通道。

该处理器使用 UART 接口连接到两个执行飞行控制功能的微控制器(MCU Texas Instruments TMS570LC43x、ARM Cortex-R5F、300 MHz、512 KB RAM、4 MB 闪存、UART、SPI、GPIO)。 两个微控制器用于在发生故障时提供冗余,并从传感器接收相同的信息。 只有一个微控制器处于活动状态,第二个微控制器用作备用微控制器,在发生故障时能够接管控制权。 MicroSemi ProASIC3L FPGA 负责将数据从传感器传输到微控制器,并与控制叶片的执行器交互,在出现故障时还会切换到备用微控制器。

NASA 在 Ingenuity 火星火箭中使用了 Linux 和开源软件

设备中,无人机使用了 SparkFun Electronics 的激光高度计,该公司是一家生产开源硬件的公司,也是开源硬件(OSHW)定义的创建者之一。 其他典型组件包括智能手机中使用的万向稳定器 (IMU) 和摄像机。 一台 VGA 摄像头用于通过逐帧比较来跟踪位置、方向和速度。 第二个 13 兆像素彩色相机用于拍摄该区域的照片。

飞行控制软件组件是在 NASA JPL(喷气推进实验室)为小型和超小型人造地球卫星(立方体卫星)开发的,作为开放平台 F Prime (F´) 的一部分已经开发了好几年,在阿帕奇 2.0 许可证。

F Prime 提供用于快速开发飞行控制系统和相关嵌入式应用的工具。 飞行软件分为具有明确定义的编程接口的各个组件。 除了专用组件之外,还提供了 C++ 框架,可实现消息队列和多线程等功能,以及允许您连接组件并自动生成代码的建模工具。

NASA 在 Ingenuity 火星火箭中使用了 Linux 和开源软件


来源: opennet.ru

添加评论