Live data from Hacker News

JPL Open-Source Rover Project Based on the Rovers on Mars

github.com

41–50 of 73 posts

Re: JPL Open-Source Rover Project Based on the Rovers on Mars

#41

Earlier quoted context omitted.

Why couldn't this be re-used to some degree for a rover in non-Earth with tougher, more resilient hardware?

The hardware we use for non-earth stuff is effectively arduino-level (ok, maybe not exactly - but on the order of 70-100Mhz) because of the constraints put upon it by the radiation hardened hardware. Writing python is a trade-off between computer resources and developer time; we've got a lot of developer time and not a lot of hardware resource, so we write in compiled languages. There are also some safety implication…

has JPL ever investigsted alternative real-time systems? say a real-time ML (as in sml, f#, etc.)?

Re: JPL Open-Source Rover Project Based on the Rovers on Mars

#42
post #26

Earlier quoted context omitted.

Hardened CPUs shouldn't be a problem, as long as you can also run the code on a normal CPU, or in an emulator.

having a 15 year old mac as a requirement is probably not the best

How is having a 15 year old mac a requirement for running Qemu?

Re: JPL Open-Source Rover Project Based on the Rovers on Mars

#43
post #37

Earlier quoted context omitted.

The hardware we use for non-earth stuff is effectively arduino-level (ok, maybe not exactly - but on the order of 70-100Mhz) because of the constraints put upon it by the radiation hardened hardware. Writing python is a trade-off between computer resources and developer time; we've got a lot of developer time and not a lot of hardware resource, so we write in compiled languages. There are also some safety implication…

Do you find C/C++ acceptable from a safety/reliability perspective, or do you write in safer languages (Fortran, Ada)? AFAIK critical software coding standards forbid dynamic memory allocation, so things like stack overflows, null dereference or out-of-memory errors can't happen, but array-out-of-bounds exceptions can still get you. On the other hand, static verification tools catch most of that.

C/C++ is fine as long as you adhere to coding standards like MISRA and you thoroughly test it. Our code for example, is unit tested, then we have java tests running on a server-based simulator, then other independently written java tests running on test benches that more closely represent the spacecraft itself, then a replica of the spacecraft.

The industry used to use Fortran / Ada quite extensively, and depending on company/organisation and team, might still do so. Things like the F-35 are written in C++, which is where I can see these things heading.

Re: JPL Open-Source Rover Project Based on the Rovers on Mars

#44
post #37

Earlier quoted context omitted.

The hardware we use for non-earth stuff is effectively arduino-level (ok, maybe not exactly - but on the order of 70-100Mhz) because of the constraints put upon it by the radiation hardened hardware. Writing python is a trade-off between computer resources and developer time; we've got a lot of developer time and not a lot of hardware resource, so we write in compiled languages. There are also some safety implication…

Do you find C/C++ acceptable from a safety/reliability perspective, or do you write in safer languages (Fortran, Ada)? AFAIK critical software coding standards forbid dynamic memory allocation, so things like stack overflows, null dereference or out-of-memory errors can't happen, but array-out-of-bounds exceptions can still get you. On the other hand, static verification tools catch most of that.

Safety critical standards indeed forbid memory allocation usually. If you want more details you can search for MISRA C (automotive market), the standards can be found online.

That being said, stack overflows and null derefs are not caused by dynamic memory allocation, so you still have to be careful about those and use some other rules / tools to protect you.

Re: JPL Open-Source Rover Project Based on the Rovers on Mars

#46
post #22

if anyone has worked at JPL or similar, what's the best resource for learning how to make an actual Mars/Moon rover? I'm very curious about things like, what kind of wheels you need for regolith, how to manage extreme temperatures (electronics, motors, batteries, cameras), how communication works (could you have a remotely-operated lunar rover?), dealing with radiation (SpaceX works with consumer electronics AFAIK, b…

> dealing with radiation

I can at least answer this part of the question. (I have had NASA contracts working on radiation tech, though not in that sector currently)

You can use COTS. Just depends how reliable you want it. There's a good interview on EEV blog with one of the XPrize contestants. [0] He talks in detail about how they handle radiation (they basically don't and hope for the best).

If you have a mission critical design or are sending to a more extreme environment, like Mars, then you actually have to deal with radiation. Commonly this is done with rad hard chips. Instead of silicon they use sapphire. Sapphire is what is considered rad hard. Downside is that these chips tend to be older and not nearly as powerful as current technology. They will also encase more vital parts in tungsten (especially see Jovian probe designs). Good news is that there's lots of work being done to determine how to make COTS viable (also a LOT cheaper). There's plenty of NASA SBIR/STTR topics on the subject if you want to try your hand at it AND get paid! Note: many abstracts for proposals are public, so you can see what others are attempting.

As for LEO and MEO, again it depends on how mission critical you are. Companies like Planet Labs (LEO) don't really concern themselves with radiation (most cube sats don't). They will just reprogram their satellites or take the hit. Typically GEO satellites are very rad hard, because the nature of the mission is to be there a long time and it is extremely expensive to get into that orbit. Typically they go with the tungsten box and rad hard chip design.

On the ISS they do a fair amount of research testing shielding. But they are also concerned with debris. So while you may know about aluminum other materials that are good also include Kevlar and Spectra (Ultra High Molecular Weight PE: which is used in grocery bags). People are experimenting with doping these materials, interweaving, different layering conditions, and all sorts of things. Pretty fascinating (and frustrating) work. Hydrogens help get rid of neutrons but you need dense materials for neutrons AND everything else. Note: ISS is in LEO and though you'd get lethal dosages on extended stays with no shielding, rad levels are fairly low.

Btw, lots of this work can be done with only some basic understanding of particle physics and can be tested with open source tools like GEANT4[1]! (there are better non-open source tools) Since it is one of these extremely large solution spaces, who knows, you might get lucky! You can play around with different low density materials (like plastics) and high density materials or metals. Goal is light, cheap, and effective.

[0] https://www.youtube.com/watch?v=nJLOZDPTp3I (3? episodes. There's a few)

[1] http://geant4.web.cern.ch/ (this is difficult. I do have some tutorials if anyone is interested)

P.S. I can also talk about some of the other stuff, but in less detail since it wasn't my focus. But figured this was long winded enough. Let me know if there is more interest.

Re: JPL Open-Source Rover Project Based on the Rovers on Mars

#47
post #22

if anyone has worked at JPL or similar, what's the best resource for learning how to make an actual Mars/Moon rover? I'm very curious about things like, what kind of wheels you need for regolith, how to manage extreme temperatures (electronics, motors, batteries, cameras), how communication works (could you have a remotely-operated lunar rover?), dealing with radiation (SpaceX works with consumer electronics AFAIK, b…

While not quite actual rovers, NASA hosts the Robotic Mining Competition every year. [1] The gist of it is they're using a university competition to see lots of prototypes and innovative ideas. They can build a prototype every year or two, but they can see 40-50 ideas and how well they work at RMC.

Phil Metzger, a scientist who was at NASA Swamp Works for many years and is now in academia, has attended the competition every year. He also ended up at the top of Hacker News 4 months ago in an unfortunate situation. [2]

[1] https://www.nasa.gov/offices/education/centers/kennedy/techn...

[2] https://news.ycombinator.com/item?id=16723099

Re: JPL Open-Source Rover Project Based on the Rovers on Mars

#48
post #40
post #35

Earlier quoted context omitted.

Haven't worked in this field, but here are some episodes discussing the topic: https://www.youtube.com/watch?v=nJLOZDPTp3I https://www.youtube.com/watch?v=ADJwChUtdDQ https://theamphour.com/334-an-interview-with-gerry-roston/ https://theamphour.com/220-an-interview-with-shaun-meehan-do... https://theamphour.com/401-an-interview-with-brent-and-bryce... https://www.youtube.com/watch?v=FzRP1qdwPKw I think what you are t…

>I think what you are talking about is mostly just normal engineering in the sense that the process is similar. What really makes space unique isn't space as such but that there is no real-world (real-space?) testing, no inspections after the fact or do-overs. This is sort of true? Spacecraft of all types are subject to a battery of physical tests before launch. This includes vacuum testing, thermal cycling and vibra…

Sure. I would put that sort of more in the high level engineering than "real-world testing" though. I mean if you are Waymo you can drive around for a year and see what happens. If you are Audi you can still repair some fault after delivery and redesign the next model year. It is when you can't do that you need high levels of quality assurance, integration, fault tolerance etc. If anyone could teleport small objects to Mars it would soon be littered with smart phones in aluminium foil regardless of how harsh the environment is ;)

Re: JPL Open-Source Rover Project Based on the Rovers on Mars

#49
post #45

This is great. But it's a little discouraging to see the project only use the US Customary units considering this is a science project. I was under the impression that NASA used SI.

I think it's aimed at students, schools etc. Its purpose should be to attract people to science so it has to be less intimidating, hence the choices of the Raspberry PI or the phone app or the Xbox gamepad to control it.

Re: JPL Open-Source Rover Project Based on the Rovers on Mars

#50

It's interesting that the rover code itself is written in python. That makes it more approachable..

You can be 100% sure that no python code is on Mars. Not even Common Lisp which is much more secure and performant is on Mars.

The real rover code is all hardcore C. Erann Gat gave a presentation on the Lisp Conference about the JPL rover code and simulation.

Post reply on HN