NASA used Linux and open source software in the Ingenuity spacecraft

Representatives of the NASA space agency in an interview with Spectrum IEEE revealed details about the filling of the autonomous reconnaissance helicopter Ingenuity, which successfully landed on Mars yesterday as part of the Mars 2020 mission. A feature of the project was the use of a control board based on SoC Snapdragon 801 from Qualcomm, which is used in the manufacture of smartphones. Ingenuity software is based on the Linux kernel and open source flight software. It is noted that this is the first use of Linux in vehicles sent to Mars. Moreover, the use of open source software and commercially available hardware elements makes it possible for interested enthusiasts to assemble similar drones on their own.

This decision is due to the fact that controlling a flying drone requires much more computing power than controlling a rover, which is equipped with specially made chips with additional radiation protection. For example, maintaining flight requires a control loop running at 500 cycles per second, as well as image analysis at a rate of 30 frames per second.

Snapdragon 801 SoC (quad-core, 2.26 GHz, 2 GB RAM, 32 GB Flash) is used to provide a Linux-based core system environment, which is responsible for high-level operations such as visual navigation based on camera image analysis, data management, command processing, telemetry generation and wireless communication channel maintenance.

The processor is connected using the UART interface to two microcontrollers (MCU Texas Instruments TMS570LC43x, ARM Cortex-R5F, 300 MHz, 512 KB RAM, 4 MB Flash, UART, SPI, GPIO) that perform flight control functions. Two microcontrollers are used for failure redundancy and receive identical information from the sensors. Only one microcontroller is active, and the second is used as a spare and, in case of failure, is able to take control. The MicroSemi ProASIC3L FPGA is responsible for transmitting data from the sensors to the microcontrollers and interacting with the actuators that control the blades, which also switches to a spare microcontroller in the event of a failure.

NASA used Linux and open source software in the Ingenuity spacecraft

Of the equipment in the drone, a laser altimeter is used by SparkFun Electronics, an open source hardware company and one of the creators of the definition of open hardware (OSHW, Open-source hardware). Among other typical components, the gyro stabilizer (IMU) and video cameras used in smartphones are noted. One VGA camera is used to track location, direction and speed through a frame-by-frame comparison. The second 13-megapixel color camera is used to take pictures of the area.

The flight control software components were developed in the NASA JPL (Jet Propulsion Laboratory) laboratory for small and ultra-small artificial Earth satellites (cubesats) and have been developed for several years as part of the F Prime (FΒ΄) open platform distributed under the Apache 2.0 license.

F Prime provides the means to rapidly develop flight control systems and related embedded applications. The flight software is divided into separate components with well-defined programming interfaces. In addition to specialized components, a C++ framework is offered with the implementation of features such as message queuing and multithreading, as well as modeling tools that allow you to connect components and automatically generate code.

NASA used Linux and open source software in the Ingenuity spacecraft


Source: opennet.ru

Add a comment