After six months on Mars, NASA's tiny copter is still flying high
phys.org
phys.org
It makes perfect sense that NASA used a lot of open source software for this. If some high quality, widely used and tested code already exists, why not use it instead of trying to reinvent everything?
This is precisely the spirit of free software and the motivation behind movements like public money public code. Govermnets immensely overpay for software (projects).
Oh, the badge tells, you... Hmm, let's see, it says "attrs". That's not mine, I must have submitted a PR at some point, let me find it.
Ah, right. I changed "serious business aliases" to "serious-business aliases" in the README.
You guys are all welcome.
There were redundant paths with redundant hardware, and the node I worked on wasn't particularly important, but I got a taste of what the engineers and scientists at NASA must live for, the sense of contributing to something historic, profound, and deeply human.
The fix was simple at the end, a firmware rollback and disabling further updates, and most of the time was consumed in conversation and carefully assessing each step and action, but I count it as a high point in my career. Just to touch the edge of it was special.
The people whose code and engineering get sent to space are contributing to the betterment of mankind, literally making the universe a better place. Kudos to those guys. To write code that's part of a critical system is a meaningful in a way
https://docs.github.com/en/account-and-profile/setting-up-an...
Intel only enables it on Xeons but AMD doesn't officially support it on their consumer chips but sometimes it works.
Here's the full paper. https://trs.jpl.nasa.gov/bitstream/handle/2014/46229/CL%2317...
I read a bit of the paper, it's actually even more redundant than what you said:
- snapdragon is only used for higher level functions of the flight: The SnapdragonTM processor has a 2.26 GHz Quad-core SnapdragonTM 801 processor with 2 GB Random Access Memory (RAM), 32 GB Flash memory, a Universal Asynchronous Receiver Transmitter (UART), a Serial Peripheral Interface (SPI), General Purpose Input/Ouput (GPIO), a 4000 pixel color camera, and a Video Graphics Array (VGA) black-and-white camera. This processor implements visual navigation via a velocity estimate derived from features tracked in the VGA camera, filter propagation for use in flight control, data management, command processing, telemetry generation, and radio communication. The SnapdragonTM processor is connected to two
- for flight control they use 2 (redundant) automotive chips from Texas Instruments: TMS570LC43x high-reliability automotive processor operating at 300 MHz, with 512 K RAM, 4 MB flash memory, UART, SPI, GPIO.
- these are all controlled by a radiation hardened board, the 3rd level of redundancy
edit: https://www.garmin.com/en-US/blog/general/garmin-on-mars/
Whereas Mars requires the Deep Space Network to reasonably be able to maintain communications - so your very cheap probes still need super-highgrade radios to be useful (the landers for example still generally pack an antenna that can reach all the way back to Earth even when they use uplinks - the helicopter is relaying via the lander).
What we're missing on Mars is reliable communications for probes: there's no common backhaul to Earth that you can just hook into. But I'd be willing to bet that's coming: if Starlink works on Earth, there's no real reason it shouldn't work on Mars. At which point you can go with the "swarm of cheap hardware" idea because it can hand off the need for the power, hardware and logistics and backing to communicate inter-planetary.
That's not technically true. They maintain fancy radios that can reach Earth as a backup. Data transfer is done via the Mars Relay network.
https://mars.nasa.gov/news/8861/the-mars-relay-network-conne...
Ingenuity uses this as well.
> if Starlink works on Earth, there's no real reason it shouldn't work on Mars.
Ground-to-low orbit comms relays have been in operations for half a century. And decades at Mars already. Starlink is for high throughput communications from ground to ground on the same planet with always-on connectivity and global coverage. Their sattelites are engineered cheap and replenished with cheap lift from SpaceX. Totally different problem calculus at Mars and doesn't address "backhaul" to Earth.
You'd need longer-lived high throughput optical terminals or better, preferably at Areostationary orbits. Checkout work by Briedenthal and Edwards on the matter.
It really depends. It’s often not cheaper to use such commodity stuff unless you can tolerate a lot of risk. A lot of normal and automotive components are used in space, but it’s mostly simple stuff that’s relatively easy to qualify. A snapdragon cpu will basically never be fully qualified as a single component because you cannot control each state, let alone test it in each state (I am oversimplifying but bear with me). What you can do is apply overcurrent detection, external watchdog timers, redundancy and other techniques to mitigate the effects of radiation.
Then, you can almost fully test that mitigation in theory but not really because it will cost you millions of dollars with huge technical risk and the part will probably be obsoleted or made by a different fab next time you need it. So, you choose older proven easily-hard stuff where you can, or for anything mission critical or related to safety. Better to just buy the $200k rad hard cpu and save your millions.
Then, you are left with only bonus items such as this helicopter that simultaneously do not have many reliability requirements (because it’s not mission critical) and are not possible with traditional space grade technology due to performance requirements.
“Easier to work with” is only true when you take risks too. Yeah, you can start developing right away using a devkit and Linux, but if you find your project needs reliability or safety requirements, you may find you are spending person-years of software engineering time if it’s even possible at all. You might be required for the system to be deterministic and avoid dynamic memory allocation, for example.
Interestingly, students making cubesats don’t “know better” yet. And while the overall failure rate is probably bad on a per mission basis, it’s probably good on a per kg or per dollar basis. There’s a ton of cubesats and cubesat payloads that have raspberry pi’s inside for Leo missions.
https://rotorcraft.arc.nasa.gov/Publications/files/Balaram_A...
I added both the Perseverance Rover and Ingenuity to our VR puzzle game Peco Peco[0], and I was totally surprised both times by how bigger than I thought they were. (Players can assemble the puzzle for Ingenuity at full scale, and at both full scale and 1/3rd of scale for the rover)
So if you have a VR headset, I highly suggest to find a way to discover Ingenuity at full scale in VR.
Little is quoted because it’s a hotly debated and subjective word.
In order to ensure that a critical mission-goal is met, with, say, 95% confidence, every subcomponent must be much more reliable, as there will be many ways to fail. The net effect is that often the overall perceived reliability turns out to be much better than the requirement.
This is especially so for systems that have already achieved some measure of success, as a number of those subcomponents will have already done their jobs completely.
So if things go alright, those provide lifespan far beyond specifications.
They could at least say "the doodad is designed to work for two years, but there's a 5% chance that it'll be DOA, because so many things can go wrong in space". That would be more realistic.
but there is also a position I'd like to point out between the one most people here are taking ("NASA over-engineers every part individually to avoid failures")
and yours ("here's our reasonably expected life, but could come up short")
and that is: they need to set a bar that evaluates a reasonable amount of science they need to accomplish to justify the budget.
It's not the minimum number ("crashed in flames but we learned some things")
and it's not the gloriously optimistic number ("this thing's still going after 12 years, it's really worth it!")
and it's not a fake marketing expectations number ("we'll fake the budget numbers so we can razzle dazzle by blowing past the expectations")
rather it's just, "for X hundred million we expect to spend a month taking pics in every direction and gathering and analyzing some rocks from different promising places, and that mission alone is worth it" because that's what congress is approving
And Tesla seems to be master of the exact opposite technique with Autopilot.
Particular with SpaceX on the scene, it's time to start rethinking risk, because launch costs will be so much lower.
Obviously it wouldn't be able to fly in the pressure chamber due to increased gravity, but by suspending it on elastic you can still test that the blade functions as intended.
The only bit you can't really fully test is the constants for the control loops in the flight control algorithm, but I assume they chose them with a lot of stability margin.
They did exactly that. NASA has a big (adjustable) vacuum chamber for this kind of purpose.
This comment links to video: https://news.ycombinator.com/item?id=28432811
> The current MSH concept has a mass of about 31 kg and a total diameter of just over four meters, with six rotors each sporting a quartet of 0.64 meter blades
Or use the raw image library https://mars.nasa.gov/mars2020/multimedia/raw-images/
One notable photo was on Ingenuity's third flight, where it happened to get the Perseverance rover and landing area together in one frame: https://mars.nasa.gov/resources/25862/ingenuity-spots-persev...
There is also the NASA blog just covering Ingenuity, which has some more notable photos along with explanations: https://mars.nasa.gov/technology/helicopter/status/
Shirley you must be joking!
Not if Musk gets his rocket filled with 100 people on Mars in next years. Then you'll have a better way to do science on that soil.