On a dusty red planet almost 290 million km away... NASA's Ingenuity Mars Helicopter flies
NASA’s JPL lab speaks to The Reg
NASA's Ingenuity today hovered in the skies of Mars making the equipment the first human-made helicopter to take flight on another planet.
Amid cheers in the control room, engineers confirmed the diminutive helicopter had spun up its rotors, taken off, landed, and spun everything down, leaving the stage set for further tests. An image from the helicopter's onboard navigation camera showing its shadow on the surface of Mars was swiftly followed by another sequence from the Perseverance rover showing the helicopter hovering.
As one of the newest bits of kit on the rover, Ingenuity was initially strapped onto the vehicle's belly. The small, never-before-tested, foldable helicopter flies using its two rotor blades and is powered by solar panels and batteries. Its on-board hardware, however, is more cellphone-like than helicopter-like; it runs Linux on a Qualcomm Snapdragon 801 chip, a processor traditionally found in smartphones like Samsung’s Galaxy S5.
Using hardware off-the-shelf has some advantages and disadvantages, Tim Canham, a senior software engineer at NASA’s JPL lab, explained to El Reg over the phone. “It tends to be more powerful because it’s more recent and it’s cheaper too compared to older components that have been specially designed to operate in space. But it also means that it’s not as reliable and less robust from a radiation and thermal perspective. The silicon on the Snapdragon 801 is tuned for use on Earth, not Mars.”
Since it's the first flying gizmo to ever power up on another planet, it’s more of an experiment to test the technology. Ingenuity will only operate over 30 days so its hardware can afford to be less rugged than the gear on Perseverance. The goal is to successfully fly it along a series of planned paths, where it takes off and lands in the same spot and has a maximum flight time of just 90 seconds.“
The Snapdragon 801 chip is a 2.26GHz quad-core Arm-compatible system-on-chip with 2GB RAM and 32GB flash memory. Canham said he’s a fan of Linux, but that wasn’t why NASA picked it over other types of operating systems traditionally used, such as VxWorks on the Perseverance rover. “The main driver is because the Snapdragon 801 board came already with Linux. We like [Linux] don’t get me wrong, but it’s because the chip came prepackaged.”
NASA’s Mars 2020 mission is the first one to use an open source OS like Linux in space. “People use Linux for all sorts of reasons, not only is it in things like server farms but it’s also at the hobbyist level like in Raspberry Pi too. This flight project is very new for NASA, we’re very careful about what kind of software is allowed on a vehicle, so I do see this as a win for Linux. We’re finally getting payloads using Linux in these deep space missions, where it hasn’t been used before,” he added.
In the future, we could use these helicopters to locate rovers or even astronauts. It’s the first time something like this has ever been done
“It’s important because everyone has access to it. There’s already a big community of developers maintaining it, and lots of people are fixing bugs. We get the advantage of being able to refine our programs. And I think there’s a good chance it’ll become more widely used once we start using more recent processors in space.”
A whole host of other open-source software was used in the helicopter, listed here.
It’s tricky flying on another planet with different atmospheric and gravitational conditions. The Martian atmosphere is about 100 times less dense than Earth’s, there’s less air resistance making it difficult to control the ‘copter’s movements.
Ingenuity uses a mixture of hardware to control its flight motion, according to a paper [PDF]. First, its sensors feed information from its cameras, altimeter and inclinometer to an ProASIC3 chip, an FPGA that sports an Arm Cortex-M1 soft processor. That data is passed to a microcontroller model TMS570LC43x from Texas instruments to perform the necessary functions to fly; this runs at 300MHz, with 512KB of RAM and 4MB flash memory, using an Arm Cortex-R5F architecture. There are two microcontrollers onboard, one is used as back-up in case the other one fails mid-flight.
Ingenuity’s flight code is public and has been uploaded to GitHub. Known as F’ (F prime), the software written in C++ has been used to fly other sorts of devices, such as NASA’s CubeSats. The telemetry data describing the helicopter’s location is beamed to the Snapdragon 801, where it can be communicated to a base station on Perseverance over radio and relayed back to Earth.
The communication between the helicopter and base station isn’t very fast, data can only be transferred at a maximum rate of 200 kilobits per second. “That’s bits not bytes,” Canham said. The flight commands are compressed into binary files that are only four or five kilobits, and it’ll only take a second or two to transmit them. Downloads of detailed flight data and images, however, can take hours.
NASA is planning to operate Ingenuity over three-day cycles, where it will perform a flight one day and spend the next two days sending back data to the base station before it starts over again. “We have three canonical flights that we will perform, but for the other two flights we’re still planning them so stay tuned.”
Although Ingenuity is only being tested on short, simple routes, the space agency has high hopes for how the technology could advance and help us explore space in the future.
More powerful successors to Ingenuity could one day assist robotic rovers, carry light payloads, help scout new terrain, and direct vehicles to locations with particularly interesting rocks or features to analyse. They can also probe areas that are difficult to reach and have a more expansive view of the land than robots on the ground.
Cadham said the rover will stay close, about 100 meters, from the drone as it flies. “It’s like a Wright Brothers' moment in many ways. It’ll be the first flight powered vehicle to ever fly on a planet other than Earth. In the future, we could use these helicopters to locate rovers or even astronauts. It’s the first time something like this has ever been done.” ®