So many interesting details in this article. Snapdragon 801-based hw running Linux, sensor fusion from three sensors whereof some bought COTS from sparkfun (who make breakout boards for sensors, basically the sensor datasheet recommended design). 3 flights planned, but potentially more which will be planned after the three first. 30 day lifetime window, due to dependecy on the rover, which needs to conserve resources.
I would looooove to know more more more about this. What did dev of this look like (eg simulators)? What's the flight envelope? What are the most important risks and how are they mitigated? What internal discussions took place (do this, prio that, don't do X etc).
Just so much interesting stuff! Can't wait :)
edit: from wikipedia: "Each flight is planned to be at altitudes ranging from 3–5 metres (10–16 ft) above the ground.[1] In up to 90 seconds per flight, it could travel as far as 50 metres (160 ft) downrange and then back to the starting area".
"The helicopter uses counter-rotating coaxial rotors about 1.2 metres (4 ft) in diameter".
Actually the computing power of Ingenuity surpasses one of the Perseverance rover (and probably by a lot). The rover has a radiation hardened RAD 750 CPU (based on PowerPC 750 architecture, which was introduced in 1997 to compete with Intel's Pentium II [1,2]) with 250-150nm technology process operating at 200Mhz[3]. Ingenuity's Snapdragon 801 can reach up to 2.5 GHz and is based on more energy-efficient 28nm modern (released in 2014) ARM architecture [4]. This CPU even has Wi-Fi and GPS, though probably not much of a use on Mars :)
I haven't seen much on the 'sky crane' portion. It seems that it will just use whatever fuel it has left after the landing procedure to just get as far away as possible. It seems like the perfect place to stick some experimental imagery gear: film everything you can all the way down and transmit it back to Perseverance. And there's the possibility that it would survive its crash too with all hardware intact.
Do you know why radiation hardening is not needed for the Ingenuity? Is there a mechanical shield? Or is it just the shorter runtime that makes the use of an off-the-shelf processor acceptable?
I had the opportunity to go down to JPL and speak with team members about this design decision. The space hardened processors are not fast enough to do real time sensor fusion and flight control, so they were forced to move to the faster snapdragon. This processor will have not flips on Mars, possibly up to every few minutes. Their solution is to hold two copies of memory and double check operations as much as possible, and if any difference is detected they simply reboot. Ingenuity will start to fall out of the sky, but it can go through a full reboot and come back online in a few hundred milliseconds to continue flying.
In the far future where robots are exploring distant planets, our best tech troubleshooting tool is to turn it off and turn it on again.
I'm a little surprised they didn't go for three separate computers and compare them for every operation, or something like that, but I'm sure they have their reasons.
I've never seen an off-the-shelf processor that has hardware support for doing that kind of cross-checking on every instruction. And doing it in software would probably add so much overhead that the error-checking would be much more likely to fail than the application code.
If you're willing to relax your real-time constraints a bit, and risk a brief period of incorrect behavior before the error is caught, the problem becomes vastly easier and cheaper to solve.
>off-the-shelf processor that has hardware support for doing that kind of cross-checking on every instruction.
it is usually done with COTS CPU by either running the CPUs in lockstep (the simpler early generations of CPU) or by inserting hardware checkpoints at various points like branches, by number of instructions, etc. A recent such commercial system was the triple Itanium from Tandem/NonStop(HP).
"This the first time we’ll be flying Linux on Mars. We’re actually running on a Linux operating system. The software framework that we’re using is one that we developed at JPL for cubesats and instruments, and we open-sourced[0] it a few years ago. So, you can get the software framework that’s flying on the Mars helicopter, and use it on your own project. It’s kind of an open-source victory, because we’re flying an open-source operating system and an open-source flight software framework and flying commercial parts that you can buy off the shelf if you wanted to do this yourself someday. This is a new thing for JPL because they tend to like what’s very safe and proven, but a lot of people are very excited about it, and we’re really looking forward to doing it."
My entirely uninformed opinion is that radiation hardened silicon is something that comes from government that isn't actually needed for most purposes. It's something you do when cost is no object.
I went down this rabbithole not long ago with the rovers on-board computer. The writeup from the people who designed the system was really approachable for someone without any aerospace experience. There's a lot of challenges and tradeoffs involved.
> Only get contact a few times a day, rover must be charged and ready each time regardless of uncompleted tasks. Scheduling is hard.
> Some tasks require parts preheated for X time, which depends on ambient temp, they use a lookup table for the time of day instead of measuring the temp directly. (Assume this is for reliability purposes)
> High level activities are constructed in a GUI by the operations team, low-level tasks are written in XML, both are uploaded to the rover as a binary plan file.
> Some tasks require parts preheated for X time, which depends on ambient temp, they use a lookup table for the time of day instead of measuring the temp directly. (Assume this is for reliability purposes)
That's an interesting one. Guessing that there also must not be that much variation of temp and weather conditions?
My big question is where does it land? Does it dock with the rover? It seems to power itself via a solar array. About 100 days into the mission they plan on launching the helicopter for the tiny lifespan window.
I think the limit on its lifespan is really, "How long until destroyed by wind/dust". And then how long until it cannot charge its own batteries/sustain itself.
I had the opportunity to speak with one of Ingenuity's engineers in the NASA pavilion at the EAA Fly In in Oshkosh, WI in 2017 (or perhaps 2016). This was before it had been accepted for the Rover2020 mission but just after they had proven the concept flight capable. I asked him about flight conditions on Mars and what they had to do to get their design airborne in such a thin atmosphere. He made a few points.
1. Given the thinness of the atmosphere, the counter rotating blades are balanced among thickness, length, and rotation speed. They're essentially as big as they can spin with the power they have at a speed where the tips are just under the Martian speed of sound.
2. I asked if wind was an issue. He said that it wasn't an issue for the stability of the craft (Martian wind moving much of anything is a movie trope) but the turbulence it caused could be a major issue for the blades, as they're essentially small wings, like a helicopter. The turbulence of a cross breeze could disrupt the flow of air over the blades and cause them to lose lift.
3. The design of the craft was essentially locked once they confirmed it could fly. They would keep most of their original hardware and software, rather than rebuild anything, which I found surprising. Given this was before they were accepted on the mission I'm not sure if anything changed. It does appear to be pretty equivalent to what we saw there.
I find, besides all the extremely exciting, technical challenges, the following sentence incredibly fascinating:
> "This [is] the first time we’ll be flying Linux on Mars."
But regardless of that, I find it so incredibly cool and inspiring that during my lifetime, a human flying vehicle will fly on Mars. I was a space nut in my childhood and youth and love to see this.
One thing that I have been wondering, if the atmosphere is so thin, then how does the RTG cool? I seem to have nerd-sniped myself.
It needs a temperature differential to generate electric current and it looks to have fins for convective cooling but the atmospheric pressure is a few % of that of sea level Earth.
Space is cold and yet getting rid of waste heat is a challenge for any spacecraft. The ISS has giant radiators to dissipate heat. It doesn't matter how cold Mars is if it's difficult to transfer the heat away, such as in a very thin atmosphere which has less capability to carry away heat than Earth's atmosphere. There needs to be some kind of medium for the heat to transfer away (aside from radiation), regardless of ambient temperature. It's why a vacuum-walled thermos can keep things warm even in a cold environment. That's what they were asking about.
Heat can be conducted away by contact with another object, probably not what you want if you're using an RTG to power your spacecraft, you don't want your RTG to heat it too much. It can be convected away, which is more difficult in a thin atmosphere like Mars has. Or it can be radiated away by blackbody radiation, which some certainly is, but that is limited and isn't much.
"Using the formulas below shows a human, having roughly 2 square meter in surface area, and a temperature of about 307 K, continuously radiates approximately 1000 watts."
At the temperature that you can keep your electronics at, say 60C, it would be 700W/m2. So, for example a GPU mining ethereum in space (where i think we're ultimately heading toward with the crypto) would need a heat radiator only 3-5 times the size of the GPU.
But the heat still needs to leak into the environment, and a thin atmosphere means little convection, so it's still just radiation - same problem as in a vacuum.
Can someone explain the phyics of flying a helicopter in such low density atmosphere? It must be less efficient than on earth, but evidently efficiency isn't proportional to density or else it could not fly at all.
No it mustn't. You'd expect efficiency to be higher, all else being equal, since there's less drag to overcome - aircraft can generally fly more efficiently at high altitude on Earth (up to a point). The limiting factor is that helicopter flight only works while the rotor tips are subsonic, so as the air gets thinner the "IAS" that a pitot tube on the rotor (that's going as fast as you safely can) would experience gets lower and lower, and so the flight dynamics will be like a helicopter with a slow rotor, but speeded up. But for a small helicopter the square-cube law is on your side and so a low "IAS" is quite doable.
Using actuator disc theory, accounting for 38% gravity and 1.2% air density, Ingenuity would need about 2.1x more power to hover on Mars.
But it's not that simple. The reynolds number which Ingenuity's blades are operating on Mars is extremely low, 10,000 to 20,000. This makes the airfoils less efficient compared to what you might design on Earth.
Compare to a Trex 450 (30% heavier weight equivalent) helicopter on Earth, it's got 10+ minutes of endurance and has a smaller diameter rotor, whereas Ingenuity has a 90 second stated endurance, although that is probably limited by navigation too.
I do remember reading about this - a balloon would work, but it would be absolutely enormous, far larger than anything we can bring into Mars currently. Maybe some day.
Another thing I'm wondering: the drones can probably carry only a small (light) camera, whereas a satellite can carry much more and thus also a much better camera. Wouldn't a satellite+camera be a better option?
For a given aperture there's a limit to the angular resolution you can get which means you can only see objects above a certain size from orbit. The highest resolution we had in 2013 had a resolution of ~.3m/pixel. That's too large for anything beyond rough mapping for things like landing or a vague plan for driving.
TL;DR a decent camera at <1km is hard to beat from >100km no matter how good the satellite camera is.
I guess the atmosphere would be too tenuous to try to blow dust away with it (max pressure should be a bit more than Ingenuity's mass/rotor surface, so not much).
How long before a commercial autonomous helicopter-based solar panel dusting service on Mars, I wonder?
techpod did an episode recently with the engineering camera payload uplink lead from nasa jpl doug ellison. it was very cool.
from the episode summary:
> "Friend of the podcast Doug Ellison from NASA's Jet Propulsion Lab stops by to give us the lowdown on the newest Mars rover Perseverance, which will be landing on the red planet in just a few weeks, plus all kinds of fun info about Lagrange transceivers, making oxygen out of thin air, flying helicopters on other planets, and recording home movies at mach 25."
I implemented a visual-inertial navigation based on the algorithm called MSCKF. It would be really interesting to know what kind of algorithm they are using. They mentioned state propagation in the article. This might indicate they are using an algorithm based on extended kalman filter.
It takes quite some care to make those algorithms robust. Even when you run in an environment covered with diverse visual features. The state divergence is a real thing which essentially means the copter is falling from the sky (Do they call it like that on Mars?).
No runways on Mars, so takeoff could be difficult. Maybe we could do that once we have well prepared surfaces.
Helicopters can also hover and are much more manoeuvrable than fixed-wing.
Lift is proportional to density.
L = Cl x .5 x rho x v^2 x S
(L is lift, Cl a non-dimensional coefficient which depends on wing shape, rho is density, v is speed and S is surface area of the wing).
For fixed wing aircraft, v is speed of aircraft. For helicopters its the speed of the blade (when its in hover. When its moving forward its a bit more complex).
Haven't done the math but the aircraft has to be going pretty fast ('v' in the equation) to generate the required lift. This also means longer runway lengths.
Quad/hex would be less efficient and heavier for the same performance (range, speed, service ceiling), but yes, more stable. In this mission, I suspect minimizing weight (as a rocket payload to be sent through space) and maximizing range (hop flights on Mars on a limited power source) were a priority. This is also why full size helicopters are almost all single main rotors with a TR.
The propellers are huge in order to get this tiny helicopter to fly. A quadcopter would be larger than Perseverance, unless you devise some zero-mass hinges to make the entire thing fold into the same space that was available for Ingenuity.
Mars has 1% of earth's atmosphere, so it will not affect the vehicle, The answer comes from an interview with the engineers here : https://youtu.be/GhsZUZmJvaM?t=534
I'm amazed they were able to pack enough energy in the thing to get the props to go fast enough to work in Mars's barely there atmosphere. Keeping it upright is standard equipment in even low-end quadcopter drones.
Seems shortsighted to end this mission after 30 days.
I imagine it's purely for mission planning complexity reasons. But a more sensible approach seems to be to say "after 30 days you have to limit comms to 100 bytes/sec back to earth and stay 100 meters from the rover".
In the future I could imagine the more modern processor on the helicopter might become handy... Some neural network based navigation system might run on it but not the rover main cpu... Also the helicopter might be able to get very good aerial photos that could be turned into 3d models to figure out the best spots to do science. It should be able to see much better than orbital radars.
The official mission length is just how long they have to wait before calling it a success. They expect it to last much longer. Since this is primarily a technology demonstrator once it's a "success" more options open up for actually experimenting with tactics and the limits of the device. It's like how you wait until you've left the parking lot to do a big smokey burnout and see how fast a rental goes in 1st gear.
> Seems shortsighted to end this mission after 30 days.
At this point, NASA is getting rather famous for this. Opportunity had a 90 day mission that survived for nearly fifteen years. Curiosity, a much bigger and more complicated machine, is still doing science 8.5 years later.
Because exploring is our nature.
And because it will be the first test or flying something in an alien atmosphere. Tons of data alone from the first 5 seconds is very interesting. It's the first step to commercial airliners on Mars :)
I would have thought atmospheric data that you can't get elsewhere - you'd be able to learn things about pressure and wind at altitudes that rovers can't get to.
I would looooove to know more more more about this. What did dev of this look like (eg simulators)? What's the flight envelope? What are the most important risks and how are they mitigated? What internal discussions took place (do this, prio that, don't do X etc).
Just so much interesting stuff! Can't wait :)
edit: from wikipedia: "Each flight is planned to be at altitudes ranging from 3–5 metres (10–16 ft) above the ground.[1] In up to 90 seconds per flight, it could travel as far as 50 metres (160 ft) downrange and then back to the starting area".
"The helicopter uses counter-rotating coaxial rotors about 1.2 metres (4 ft) in diameter".
Etc. Recommend the wiki page on it: https://en.wikipedia.org/wiki/Mars_Helicopter_Ingenuity