Live data from Hacker News

Mars helicopter employs advanced control techniques to survive in-flight anomaly

control.com

41–50 of 101 posts

Re: Mars helicopter employs advanced control techniques to survive in-flight anomaly

#41

Earlier quoted context omitted.

Pretty sure SpaceX's first deliveries to Mars (orbit) will include just that. I think they could probably use Starlink satellites without much modification (most important one I can think of would be more panels to cope with the reduced solar irradiance)? The GPS constellation has 32 satellites. A GPS satellite weighs ~2000kg. Starship should get 100-150 tons to Mars - the math checks out! (Disclosure: I got all my r…

It's funny/amazing to me how we lived without GPS for thousands of years, but it's become so integral to our society that it's one of the first things we're setting up there before visiting.

One of the main risks for early explorers was simply getting lost.

Re: Mars helicopter employs advanced control techniques to survive in-flight anomaly

#42
post #34

Earlier quoted context omitted.

Sensor fusion is part of the control system. Sensor fusion that incorporates visual information is outside of the typical classical controls sphere and is likely considered part of an advanced controls segment of the devices firmware as opposed to the bog standard deterministic controls algorithm. You need not gatekeep here, this is a real term.

> Sensor fusion that incorporates visual information is outside of the typical classical controls sphere and is likely considered part of an advanced controls segment of the devices firmware as opposed to the bog standard deterministic controls algorithm. Not so advanced as very correctly pointed out by https://news.ycombinator.com/item?id=27554949 Motor-attitude control loop cannot, and should not be "fused" with na…

Do any of these commenters have experience designing small "helicopter" "drone" avionics systems using off-the-shelf hardware, as in Ingenuity? For instance, you mention "aerospace grade" inertial sensors, yet Ingenuity apparently uses COTS components in that role^[1].

There are smart people on HN, but unless they have actual professional experience designing similar vehicles, I'm inclined to give the JPL folks the benefit of the doubt. It's also worth considering that they are the only team that has ever flown such a vehicle on another planet, which imposes constraints that even other experts may not be familiar with; that they were working with a limited budget, and making heavy use of existing open-source code; and that, generally speaking, we weren't in the room.

On the other hand, maybe they really are incompetents whose avionics system is "designed wrong", and who do need these things explained to them so that they can learn faster, as the commenter you linked so delightfully put it. In that view, I guess their groundbreaking achievement is probably more dumb luck than anything else--maybe JPL should do some firing and hiring so that things don't turn out worse next time!

^[1] https://spectrum.ieee.org/automaton/aerospace/robotic-explor...

Re: Mars helicopter employs advanced control techniques to survive in-flight anomaly

#43
post #36

Earlier quoted context omitted.

> The first and most moral responsibility of Freeland will be establishing a decent brewery on the new planet. (Civilization: Beyond Earth - Hutama) Sure, our ancestors (who could make their way and thrive in the wild) would probably consider me (who gets lost the moment I make a wrong right turn and depends on the local supermarket) a complete idiot, especially since I couldn't recreate any of the technology my dail…

>(I think I'm supposed to bang rocks together to make fire, right?) Won't work very well unless you have flint specifically :-) Even if you know the techniques, starting fire without any manufactured tools or manufactured tools to make the devices is really really hard.

Its possible to just spin a dry stick against another dry stick with your hands. takes < 5 minutes to get a fire going.

Re: Mars helicopter employs advanced control techniques to survive in-flight anomaly

#44
post #31
post #22

The article says the problem was a dropped frame from the camera, but that just further piques my curiosity: Presumably they use some kind of Kalman Filter, but those are easy to program to account for missing frames, or frames at non-discrete timepoints, perhaps even for screwy camera images if the programmer had a reasonable prior for the likelihood of it happening. Kalman Filters by design account for measurement…

It seems like the issue wasn’t that there was a dropped frame, it’s that the time slot for that frame got filled by the next frame, then every subsequent frame was off by one resulting in a persistent timestamp offset of the vision data from reality for the remainder of the flight. I didn’t read into it too much so I may not have all the details right, but I think this is the gist of it.

That would be a straight-up, avoidable software/hardware bug: The incoming timestamp is incorrect, and garbage in is garbage out.

That would make me curious how the timestamp error occurred: software, hardware? Camera or Navigation code? I assume they have very high standards, what was the process failure point?

Re: Mars helicopter employs advanced control techniques to survive in-flight anomaly

#45
post #28

Earlier quoted context omitted.

GPS doesn't have to be satellites. It can simply be beacons on the ground. Often used terrestrially to get a few more decimal points on a fix.

Not sure what techniques exactly you’re referring to, but the commonly used techniques for GPS enhancement (e.g. RTK [1]) are not simple distance measurements between GPS receivers and base stations but rather both stations measuring the satellite signal and using the difference of the signal in both locations to improve position estimates. I imagine it’s possible to set up a ground-based network, but you would need…

With the fuzzy GPS signal you had DGPS correcting it by broadcasting the current change from a known point. [0]

Before GPS LORAN [1] and it's versions was used relying on ground stations

[0]: https://en.m.wikipedia.org/wiki/Differential_GPS

[1]: https://en.m.wikipedia.org/wiki/LORAN

Re: Mars helicopter employs advanced control techniques to survive in-flight anomaly

#46

Earlier quoted context omitted.

Pretty sure SpaceX's first deliveries to Mars (orbit) will include just that. I think they could probably use Starlink satellites without much modification (most important one I can think of would be more panels to cope with the reduced solar irradiance)? The GPS constellation has 32 satellites. A GPS satellite weighs ~2000kg. Starship should get 100-150 tons to Mars - the math checks out! (Disclosure: I got all my r…

It's funny/amazing to me how we lived without GPS for thousands of years, but it's become so integral to our society that it's one of the first things we're setting up there before visiting.

The problem of determining position (specifically the longitude part; latitude is relatively easy) has been one of the most pressing technical problems in human history. See https://en.wikipedia.org/wiki/Longitude_rewards .

No kingdoms offered huge prizes for the first electric light, or the first antibiotic, the first radio, or the first computer. But geolocation has always been considered a big deal, and it arguably wasn't well and truly solved until the advent of satellite navigation. It'd be surprising if it weren't being planned for the next generation of Mars orbiters.

Re: Mars helicopter employs advanced control techniques to survive in-flight anomaly

#47
post #22

The article says the problem was a dropped frame from the camera, but that just further piques my curiosity: Presumably they use some kind of Kalman Filter, but those are easy to program to account for missing frames, or frames at non-discrete timepoints, perhaps even for screwy camera images if the programmer had a reasonable prior for the likelihood of it happening. Kalman Filters by design account for measurement…

Thank you for your comment, because it triggered an interesting chain of thoughts about a semi-related problem I’m working on at work. Usually with a Kalman filter, you’re taking into account the spatial measurement error (gyro-measured roll rate error, accelerometer-measured acceleration error, etc) but I don’t think I’ve ever encountered a system that explicitly modelled sensor latency variation relative to timesta…

HoloLens provides a timestamp with every frame from each sensor, which can be used for sensor fusion outside of the system usage. Windows.Perception.PerceptionTimestamp can be used for either recorded data (e.g. camera) or for future predictions (e.g. predicted device position). The predicted latency is also used to adjust the render to ensure the viewer's perspective is correct even though the draw calls may be lagging slightly behind the viewer's position.

Re: Mars helicopter employs advanced control techniques to survive in-flight anomaly

#48
post #44
post #31

Earlier quoted context omitted.

It seems like the issue wasn’t that there was a dropped frame, it’s that the time slot for that frame got filled by the next frame, then every subsequent frame was off by one resulting in a persistent timestamp offset of the vision data from reality for the remainder of the flight. I didn’t read into it too much so I may not have all the details right, but I think this is the gist of it.

That would be a straight-up, avoidable software/hardware bug: The incoming timestamp is incorrect, and garbage in is garbage out. That would make me curious how the timestamp error occurred: software, hardware? Camera or Navigation code? I assume they have very high standards, what was the process failure point?

Or timezone bug! Always hard to test.

Re: Mars helicopter employs advanced control techniques to survive in-flight anomaly

#49
I can't think of a polite way to say this, but as someone who professionally develops drone software, both of the software failures experienced by Ingenuity have been embarrassingly amateur at a technical level.

The first failure, which delayed the initial spin test, was described as a "watchdog timeout", which for anyone not familiar with embedded development basically means the code crashed. We all write code that crashes, but I am having trouble thinking of an excuse to justify the fact that their code crashed before takeoff, on Mars, and they didn't see it coming. There is nothing about sitting on the ground on Mars that shouldn't have been tested repeatedly on earth, and testing in production is _really_ not the right way to do Aerospace development (although Boeing Starliner would beg to differ)

Similarly, there are a huge number of things that can and will result in dropped frames when running Linux on a Qualcomm mobile chip, and having a software stack that infers frame timing purely from the sequence number is brittle, and would definitely not have passed code review and testing where I work (I actually checked, we do have a robust solution). If I had to guess, I suspect the root cause of the dropped frame wasn't actually anything exciting like a cosmic ray, but instead was some run-of-the-mill event that would have been caught by a couple hours of flight testing on Earth. Either way, it shouldn't have made it to Mars.

I'm sure that there are a lot of great engineers working on the Ingenuity project that _don't_ write these sorts of bugs, and am glad that theae amateur fuckups (barely) haven't crashed the drone before it has been able to do some incredible technology demonstration work.

Re: Mars helicopter employs advanced control techniques to survive in-flight anomaly

#50
post #30
post #29

The control system is clearly designed wrong. Navigation input should not be able to affect the closed-loop control system directly. It should affect only the calibration, incrementally. If that had been done, there would have been no flight instability, just disagreement between the IMU and navigation about how far they had flown. There are certainly people involved in the project who could have explained this to th…

> There are certainly people involved in the project who could have explained this to them. I hope they are learning fast. This is how nearly all modern high-end quadcopter drones fly - navigation using optical flow camera sensors short circuited directly into attitude/motor control loops. I guess there is not a small chance they entrusted helicopter autonomous operations programming to people with quadcopter backgro…

It is one thing to feed averaged relative motion into the control system, entirely another to feed in absolute position. The flight instability in response to navigational position error is incontrovertible proof of a mistaken design. Fixing the off-by-one coding error just papers over the design error. Testing clearly failed to detect the mistake.

I would not be at all surprised to learn that commercial quads share the design mistake. I was surprised to learn that NASA professionals copied it into a Mars probe. But, notably, not into the vehicle that delivered the lander.

Post reply on HN