TLDR; Compose ROS 2 powered robots from ROSbloX and directly benefit from all great features of ROS 2 without requiring an initial (theoretical) learning phase.
I am member of a lab which rapidly prototypes and explores novel robot designs. When our students want to realize a robotics project with ROS, they usually do not want to learn about ROS in a simulated environment. They want to be able to use and benefit from it immediately on hardware. I believe many roboticists desire to see things move in the real world.
However, I observe many students struggling getting started with ROS. These struggles include:
- installing Ubuntu and working in/with the terminal
- installing the base ROS distro with apt,
- connecting computers in a network,
- starting nodes/launch files,
- compiling their first community contributed package.
Frequently, a ROS solution is ditched in favor of a do-it-yourself implementation. If students can create their own package, the code quality is low (sorry) and even if the package works as intended, it is by no means portable/maintainable once students move on.
To lower the entry burden, I am currently experimenting with ROSbloX. ROSbloX are ROS building blocks, i.e. physical devices which run one single containerized ROS package, e.g. a LiDAR driver or a SLAM algorithm. ROSbloX can be used to compose robots with complex functionalities even by less experienced developers.
More information: https://rosblox.github.io/