Here you will find a list of robots that you can use for learning ROS2 or build robotics products on top of them based on ROS2.
By robots running ROS2, I mean robots that publish their control and sensor topics in ROS2 topics. Let’s call this type of robots ROS2 Native.
I’m not including here robots that publish in ROS1 and then, there is a node that subscribes to those ROS1 topics and republishes in ROS2 format. Let’s call this type of robots ROS2 Hybrid.
So here a list of ROS2 Native robots:
Turtlebot 3, by Robotis
This was the first commercial robot able to run ROS2 on it. Turtlebot3 was designed to run ROS1 by default, so if you buy it, it will come with ROS1 pre-installed. However, the guys from Robotis quickly prepared a tutorial about how to make your Turtlebot3 run ROS2. The full tutorial is here.
ROSbot, by Husarion.
Again, this robot default system is ROS1 but Husarion has released a full tutorial about how to change the default ROS version to ROS2. The full tutorial is here.
Rover Zero, by Rover Robotics
Same procedure as the previous 2. Default system is ROS1 but Rover provides a git repo with the code and instructions about how to install the ROS2 drivers for that robot. Check it out here.
Hadabot, by Hadabot
This is the first ROS2 native robot I have seen. It is a very simple robot with the main purpose of learn ROS2 while applying it to the real robot. Basically, just a pair of wheels with encoders, more than enough for learning basic ROS2. Check it out here.
e-puck 2, by GCTronic.
The e-puck 2 robot is a very small and cool robot with lots of sensors. The e-puck 2, from conception, it has nothing to do with ROS. However, recently Cyberbotics company created a ROS2 driver for that robot so we can now use this excellent robot with our favorite ROS. Here the drivers with tutorials.
Open Manipulator, by Robotis
This is the only arm robot running ROS2 that I’m aware of. It is produced by the creators of the Turtlebot3 and, again, the robot boots initially with ROS1. However, the Robotis team have created a detailed tutorial about how to set this manipulator work with ROS2. Find the tutorial here.
…and that is all that I’ve found!
Guys, I see a potential business here… just saying…
The reason behind so few ROS2 robots
I think that one of the reasons why there are no more ROS2 robots is because ROS1 ones can make the deal even with ROS2. I mean, you can have a ROS1 robot running all your drivers to the robot hardware in ROS1 format, and then use the ROS1_bridge to interface that with ROS2 programs (that is, republishing in ROS2 format).
In case you want to learn how to do the ROS2 republishing of ROS1 topics, take our ROS2 Basics course were we teach how to use the ROS1_bridge to mix ROS1 and ROS2 programs on a single robot, among many other things of ROS2.