Are there any decent/recommended tutorials around for transitioning to webots from gazebo Sim? Or at least setting up existing ROS 2 robots in webots?

I got a bit sick of trying to get the latest version of Gazebo working with Ros 2 Humble properly (ros2_control didn't seem to want to work at all) so I decided to give Webots a try and I'm loving it so far. But I'm still trying to get my head around how it all goes together since it seems very different to how a robot is integrated using Gazebo. Particularly getting velocity controllers working so I can get my cmd_vels into the Webots sim.

I have most of the samples working, but most of them seem to have the robot constructed in Webots and just interfacing with ROS 2 rather than importing everything through the ROS 2 Xacro pathway.

Any recommendations for resources on this area of ROS 2 and Webots?

Many thanks in advance


1 Answer 1


Yes, there are some resources available that can help you transition from Gazebo to Webots or set up existing ROS 2 robots in Webots.

Firstly, the official ROS 2 documentation has a tutorial on how to set up a basic Webots simulation with ROS 2, which can be found at https://docs.ros.org/en/rolling/Tutorials/Advanced/Simulators/Webots.html. This tutorial provides step-by-step instructions on how to set up a simple Webots simulation and interface it with ROS 2.

Additionally, the webots_ros2 package has several resources available that could be helpful. As you mentioned, there are some examples available that show how to use Webots with other ROS 2 packages like ros2_control, cartographer, etc. webots_ros2_universal_robot shows how to import your robot from a Xacro file and use it in the Webots simulation.

Moreover, the webots_ros2 wiki page contains explanations on the examples and how to use them. There are also more advanced tutorials that cover a range of topics, including how to set up an existing ROS 2 robot in Webots. These pages can be accessed at https://github.com/cyberbotics/webots_ros2/wiki.

We are currently working on moving these wiki pages to the official ROS 2 documentation for more visibility.

Disclaimer: I am a Webots developer working at Cyberbotics.

  • $\begingroup$ Ah thanks for that Yannick, I managed to figure out how to get the controllers working with imported urdf files with the universal_robot example but I haven't managed to get physics working for my differential robot (I have asked this in a new question ) $\endgroup$
    – Craig MS
    Mar 22, 2023 at 11:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.