Few days ago representatives of the NASA space agency, in an interview with Spectrum IEEE, revealed details about the Ingenuity autonomous reconnaissance helicopter, which successfully landed on Mars as part of the Mars 2020 mission.
A special feature of the project was the use of a Qualcomm Snapdragon 801 SoC-based control board, which is used in the production of smartphones. Ingenuity software is based on the Linux kernel and open source flight software.
It should be noted that this is the first use of Linux on spacecraft shipped to Martand. Additionally, the use of open source software and commercially available hardware components enables 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 the operation of the control loop at a rate of 500 cycles per second, as well as image analysis at a rate of 30 frames per second.
The Snapdragon 801 SoC (Quad Core, 2,26GHz, 2GB RAM, 32GB Flash) is used to provide a basic Linux-based system environment, which is responsible for operations of high level such as visual navigation based on camera image analysis, data management, command processing, telemetry generation and maintenance of wireless communication channels.
Processor connects via 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.
The two microcontrollers are used for redundancy in case of failure 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 it can take control. FPGA MicroSemi ProASIC3L is responsible for transferring data from sensors to microcontrollers and to interact with the actuators that control the blades, which also switches to a replacement microcontroller in the event of failure.
Of the team, the drone uses a SparkFun Electronics laser altimeter, an open source hardware company and one of the creators of the definition of open source hardware (OSHW). Among other typical components, the gyrostabilizer (IMU) and video cameras used in smartphones stand out.
A VGA camera is used to track the location, direction and speed through frame-by-frame comparisons. The second 13 megapixel color camera is used to create images of the area.
Bringing Ingenuity to Mars in one piece and having it lift off and land even once is a definite victory for NASA, JPL's Tim Canham tells us.
Canham helped develop the software architecture that runs Ingenuity. As Ingenuity's operations leader, he now focuses on flight planning and coordination with the Perseverance rover team. We spoke to Canham to better understand how Ingenuity will rely on autonomy for its upcoming flights to Mars.
The flight control software components were developed at NASA's JPL (Jet Propulsion Laboratory) for small and ultra-small artificial terrestrial satellites (cubsats) and have been developed for several years as part of the open platform F Prime ( F´), distributed under the Apache 2.0 license.
F Prime provides the tools for the rapid development of flight control systems and related embedded applications. Flight software is divided into individual components with well-defined programming interfaces.
In addition to the specialized components, a C ++ framework is provided with the implementation of features such as message queuing and multithreading, as well as modeling tools that allow you to link components and automatically generate code.
Finally if you are interested in knowing more about it, you can consult the following link.