8 ms·
JPL Open-Source Rover Project Based on the Rovers on Mars
- deleted 8y ago[deleted]
- deleted 8y ago[deleted]
- xvilka 8y agoLooks more like a toy rover project, rather than "an open source rover project". Hoped they will make open source substantial (even if simplified) part of the rover project, so space startups can reuse and improve it.
- craftyguy 8y agoWhy couldn't this be re-used to some degree for a rover in non-Earth with tougher, more resilient hardware?
- aetherspawn 8y agoBecause it’s made out of consumer bits and pieces that talk on serial bus with little or no environmental protection (with electronics and sensors distributed in a way that’s probably not practical to do so to the level required). For non-earth you’d probably just want to start again.
- marsRoverDev 8y agoThe 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 implications centered around determinism etc which mean interpreted languages are a bit more gray area; with a well understood compiler and language you understand what the code is doing better, and you know it will run the same every time. That may be the case with python if you understand the whole shebang, but not that many people do... And if you have that level of knowledge of python, you may as well be writing C or C++.
- tomp 8y agoDo 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.
- marsRoverDev 8y agoC/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.
- antoinealb 8y agoSafety 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.
- nikofeyn 8y agohas JPL ever investigsted alternative real-time systems? say a real-time ML (as in sml, f#, etc.)?
- rurban 8y agoRover management was against anything modern or dynamic. They only trusted proven technology. Even if it was hardened C.
- Joeri 8y agoThe mars rovers run on hardened CPU’s that cost 200k per board, as well as a commercial OS, so creating an open source community around that would be challenging.
- adrianN 8y agoHardened CPUs shouldn't be a problem, as long as you can also run the code on a normal CPU, or in an emulator.
- Rebelgecko 8y agohaving a 15 year old mac as a requirement is probably not the best
- adrianN 8y agoHow is having a 15 year old mac a requirement for running Qemu?
- TaylorAlexander 8y agoMy coworker Liv designed that! I don’t know the original purpose but it’s a fun project. I’ve also got my own open source Rover design if you like this kind of thing: https://youtu.be/DXPmqCd0r04 https://youtu.be/DXPmqCd0r04
- jacobolus 8y agoIt’s very confusing having the frame rate of the camera and the rotation of the wheels in sync so that the wheels appear completely stationary while the rover drives forward.
- TaylorAlexander 8y agoRight! It was weird to watch when editing.
- craftyguy 8y agoIt's interesting that the rover code itself is written in python. That makes it more approachable..
- 4lch3m1st 8y agoThis is beautiful, and a wonderful project to develop along with some friends. JPL nailed it.
- gabcoh 8y agoThis seems really awesome, but my God is it expensive. Maybe I am not reading correctly but it seems like just the nuts and bolts from McMaster cost $230 and that's still excluding the electronics and additional hardware! I guess I'll have to save up a bit before I can play with my own minituare rover. edit: the motors also are going to cost around $500
- xupybd 8y agoYeah they list the cost as < $2,500. That's a little pricey for most. But I'd imagine a school class would be able to afford that if it was going to be worked on by 30 - 40 students?
- deleted 8y ago[deleted]
- dbcurtis 8y agoHmmm... so I can see you haven't tried to build a practical robot lately. $2500 is approximately nothing for a robot that has the specs of this one. Sure, I've built $10 robots and $80 robots. But they don't do what this one does.
- dokem 8y agoConsider cost per number of hours of your time this project this will occupy. It's probably around that of other common pass-times.
- ummonk 8y agoMcMaster is extremely overpriced. Good for just ordering stuff for quick prototypes where you don't need to shop on price, but otherwise, it's easy to end up paying multiple times as much for some item as you would if you found a good OEM supplier for each component (and this isn't even considering Chinese OEM suppliers).
- AYBABTME 8y agoI just recently learned about McMaster and noticed it's overpriced, but I don't know where else one would get all this variety of equipment. Where can I find such OEM suppliers?
- xupybd 8y agoMan I hope someone like Massdrop can find a way to source these parts a little cheaper. It seems to me that there has to be a way to build this thing for at least half that price.
- pjmlp 8y agoA mix of Python and Java regarding the software stack.
- picsao 8y agoQuestion: if they are all ready there.. Could they not build habitats after mission completion?
- tomp 8y agoif 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, but they mostly fly within Earth's magnetosphere, which ... changes things). Any replies or emails would be extremely appreciated.
- ncol 8y agoHaven'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=nJLOZDPTp3I https://www.youtube.com/watch?v=ADJwChUtdDQ https://www.youtube.com/watch?v=ADJwChUtdDQ https://theamphour.com/334-an-interview-with-gerry-roston/ https://theamphour.com/334-an-interview-with-gerry-roston/ https://theamphour.com/220-an-interview-with-shaun-meehan-doctiloquent-dove-deployer/ https://theamphour.com/220-an-interview-with-shaun-meehan-do... https://theamphour.com/401-an-interview-with-brent-and-bryce-salmi/ https://theamphour.com/401-an-interview-with-brent-and-bryce... https://www.youtube.com/watch?v=FzRP1qdwPKw https://www.youtube.com/watch?v=FzRP1qdwPKw 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.
- radiorental 8y ago> 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 becoming less true today as engineering problems become more complex and simulation tools become more capable. Most automotive manufacturers have virtual models of their vehicles in testing long before the first nut meets it's bolt.
- joshvm 8y ago>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 vibration (where many parts fail). There are normally duplicate components produced for different purposes. Some are just for testing the fit, others are to check that thermal expansion isn't a problem and so on. The actual flight hardware itself is usually tested as well, since it's designed to be repeatedly stressed within certain physical limits. NASA has duplicate rovers in the lab that commands are tested on. Before a mission plan is uploaded, it's tested on the ground system to make sure that, for example, an inspection arm doesn't collide with the body of the rover. Modern rovers like curiosity are reasonably good at self-inspection, since it can take a 360 selfie. The rover is covered with calibration points, for example to measure how much dust is covering things and how far the wheels have worn down. A lot of "testing" is gained through experience. Satellite manufacturers know what designs work based on prior designs. NASA learns a lot every time they put a new rover on Mars. Rover missions (like Curiosity, Spirit/Opportunity, etc) tend to outperform their original specs because the engineering is so conservative. In very rare cases astronauts have done in-space inspections - for example the repairs to Hubble. The ISS is also used as a space-based testing laboratory for hundreds of different projects. (I've worked in a space science laboratory where satellites were routinely tested, and indirectly on rover data).
- ReedJessen 8y agoThe fact that this level of work is given away for free with the intent of making the world a better place makes my heart dance. I am so optimistic for the future of humanity.
- rurban 8y agoPython? God riddance! The real rover code was in C, and the simulator in lisp.
- iwakura 8y agoThis 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.
- squarefoot 8y agoI 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.
- _verandaguy 8y agoIt's a weird world where kids are more scared of the metric system than they are of a credit card-sized Linux computer with its guts showing.
- squarefoot 8y agoIt probably is just a matter of being used to it. In the EU we are used to the metric system, but are ok with screen or hard disk sizes expressed in inches to the point if some brand advertising offered a 1.5 meter wide screen TV most of us would look for a calculator to make the conversion, including myself. If we changed to the metric system also for TV sizes, most people would find it uncomfortable at first, but probably would adapt in months.
- domtron_vox 8y agoIn my experience, Xbox controllers are actually fairly common for large robotics. It is relatively cheap to buy a controller and USB wireless dongle plus there are lots of software libraries to help interpret controller input. My main experience being my participation two years in a row in the Intelligent Ground Vehicle Competition (IGVC). A college competition to develop self-driving rovers and "cars" (golf carts). There were around 40 teams from various colleges (several international, not just usa) and many of the teams used xbox controllers for manual control including my team.
- 8y ago
- rsync 8y agoHow difficult would it be to add a self-leveling platform to a vehicle like this ? I have seen open source self-leveling two wheeled platforms (segway without the yoke) but I have not seen a self leveling platform on a 4-6 wheeled vehicle like this one ...
- elkos 8y agoIf you are interested in other open-source space technologies feel free to check out Libre Space Foundation's (https://libre.space https://libre.space) code repositories (https://gitlab.com/librespacefoundation/ https://gitlab.com/librespacefoundation/) We aren't NASA or JPL but a non-profit based in Greece. We already run SatNOGS (a network of satellite ground-stations), UPSat (the 1st satellite with components mainly under the CERN Open Hardware License) and on the side we work on amateur high power rocketry telemetry and PocketQubes.
- domtron_vox 8y agoBeen following SatNOGS for a while now. Building on of the ground station designs has been on my to-do list for a while. Recently checked in on the website and saw the building instructions have gotten better and much clearer.
- elkos 8y agoWell we wouldn't have made it without awesome contributors helping us out. Don't hesitate to join us :D
- tomp 8y agoAwesome! Can I contribute? In other words, how can I, as an experienced backend developer (Java, Python, Scala, Ocaml, some C/C++) but a complete newbie in space, hardware and/or realtime systems, contribute?
- elkos 8y agoHey tomp. Of course you can. Most of our source code for SatNOGS is actually Python (and Django) and there is a lot you can do with C++ too. Check out our forums and don't hesitate to introduce yourself to the rest of the community https://community.libre.space/t/new-users-welcome/29/278 https://community.libre.space/t/new-users-welcome/29/278 feel free to also hang-around over our IRC channels at the freenode server #satnogs Matrix bridged here https://riot.im/app/#/room/#satnogs:matrix.org https://riot.im/app/#/room/#satnogs:matrix.org or #librespace Matrix bridge https://riot.im/app/#/room/#librespace:matrix.org https://riot.im/app/#/room/#librespace:matrix.org