Unfortunately, I think Linux isn’t that good at hard realtime applications yet, which I imagine you’d really want for a rover.
This is somewhere that I hope the seL4 microkernel would eventually take over. It’s GPLv2, formally verified for security and reliability, and has a sound worst-case execution-time (WCET) analysis.
Hard realtime is not a feature to add. Instead the kernel needs to be simple enough. So the more features Linux gets, the less suitable for realtime it is.
Funny, I’ve always assumed all the software powering NASA’s Mars rovers was running on Linux. Turns out they’re mostly running on VxWorks (from wikipedia’s comparison of embedded computer systems on board the Mars rovers)
Unfortunately, I think Linux isn’t that good at hard realtime applications yet, which I imagine you’d really want for a rover.
This is somewhere that I hope the seL4 microkernel would eventually take over. It’s GPLv2, formally verified for security and reliability, and has a sound worst-case execution-time (WCET) analysis.
Hard realtime is not a feature to add. Instead the kernel needs to be simple enough. So the more features Linux gets, the less suitable for realtime it is.