Skip to content

2024

Full-stack robotics architecture

Full-stack robotics is incredibly broad and complex, spanning everything from web development to physics, electronics, and algorithm development. Over the past five years, I've programmed several autonomous machines for commercial applications—each one going through multiple software iterations. In total, I've done this around ten times.

The first time, I learned ROS and the specifics of robot programming as I went. Like most roboticists, I lacked some key software engineering skills. The software quickly became a mess, and I had to start over. However, each iteration helped me better understand bottlenecks and find solutions. Fortunately, most of the issues I faced were software engineering-related, and with so many people working on this globally, excellent open-source solutions exist—if you know where to look. This was an evolutionary process: with each iteration, I removed components that were hindering progress or lacked the quality required for industrial applications and replaced them with those that met the necessary standards.  

All those iterations led to an architecture built on high-quality open-source tools—one that is scalable, maintainable, and elegant. And yes, I’m quite proud of it. This is the architecture I use in ROX Automation projects, enabling me to stay in control as complexity increases. 

To avoid getting lost in the details, let’s start with the big picture: the architecture.

ROX System architecture

Note: This is all free, but it takes a lot of time and effort. I'd love to know if it's valuable to you. Follow me if you're interested in full-stack robotics. There’s a lot to cover—embedded systems, Docker, DevOps, async programming, middleware, digital twins, front-end development, and much more...

Please don't hesitate to reach out at jev@roxautomation.com so I can better focus my future posts on what matters most.