While it's used in industry sometimes, ROS is really one of those by-and-for-academia tools. There's a reason it's near-universally reviled, and why "migrate off of ROS" is a standing goal at a lot of robotics companies. There's also a reason why it's a standing goal, rather than a completed goal. It does little or nothing really well, but it does everything kind of okay. There's a lot of "alternatives", most of whic…
Sure. A ROS system, being a collection of independent nodes coupled with a publish/subscribe messaging system, allows you to mix and match nodes for whatever. So as a researcher, it is great. It gives you a "good enough" robot for the 98% that is necessary infrastructure for the 2% where you want to experiment/innovate. In an commercial setting, yeah, you run into scaling issues all over the place. Also, the code qua…
Two examples come to mind of packages that do NOT do this:
1. plotjuggler [1], which is a tool for plotting time serious data. It can connect to ROS, but also supports many other communication paradigms, like mqtt, zeroMQ, websockets, custom data and some more I forget.
2. nvblox, which at its core doesn't depend on ROS but instead provides a ros2 compatibility layer.
[1] https://github.com/facontidavide/PlotJuggler
[2] https://github.com/nvidia-isaac/nvblox?tab=readme-ov-file#c-...