3 ms·
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.
by dbcurtis 2y ago
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 quality of different stock nodes is highly variable.
So ROS can get you past your A-round -- but count on addressing scalability and stability issues as go. Which is why "write out ROS" is on everybody's to-do list.
In any case, learning ROS is well worth it. As a hiring manager, I know I can easily teach you our system if you know ROS already.
- patrick451 2y agoOne of my pet peeves with the algorithm/science ecosystem surrounding ros is that almost all of these algorithms are not usable without ROS. Deep down inside some planning algorithm, you find ros data structures, ros publishers etc. This is poorly designed code. It's like letting raw SQL queries infect an entire ecosystem of libraries. IMO, this pattern is holding robotics back. 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 https://github.com/facontidavide/PlotJuggler [2] https://github.com/nvidia-isaac/nvblox?tab=readme-ov-file#c-interface https://github.com/nvidia-isaac/nvblox?tab=readme-ov-file#c-... [3] https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_nvblox https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_nvblox
- rcxdude 2y agoYeah, it makes it a real pain, because you have to rip a whole bunch out, and often there's a much smaller and cleaner library underneath, once it doesn't need to deal with the extra crap ROS inflicts on it.