We've been building up a new design for our autonomy software called "lunatic". (Pronounced "lun-AT-ic", or so we claim.) Instead of a huge unmaintainable monolithic backend, this is designed as a set of modules that communicate using mmap'd files. Files make it modular, but the mmap trick makes it fast enough to use on the Raspberry Pi with minimal CPU overhead.
See the source code on github: https://github.com/UAFRMC/2020/blob/master/autonomy/include/aurora/lunatic.h
So far, we've ported over the computer vision and path planning stack, and it's coming out much cleaner! It's particularly handy to be able to stop, recompile, and test an individual component, instead of having everything baked into one huge executable.