Dear ROS community,
The Webots development team has recently switched from using Docker containers to UTM Virtual Machines (VM) for running ROS 2 packages with Webots on macOS devices. This change allows for a better user experience with improved support for RViz on ARM-based macOS machines. This change is available with the
2023.0.2 version of the package, which is only available on Rolling currently. It will step into Humble and Foxy at the next sync. You can however already use it by installing the package from sources. The instructions are available here: macOS Installation Guide · cyberbotics/webots_ros2 Wiki · GitHub.
Why the switch to UTM Virtual Machines?
While Docker containers were previously used to run the ROS 2 packages alongside Webots on macOS, we encountered limitations with the compatibility of RViz on ARM-based macOS machines.
To address these limitations, we have switched to using UTM Virtual Machines, which allows Webots to be run natively on macOS, while the ROS 2 packages are run in a Linux-based virtual machine. The better display handling and compatibility of UTM Virtual Machines enables RViz to run correctly, resulting in an improved user experience.
How to use it?
The procedure to set up the UTM Virtual Machine with the
webots_ros2 package and start the examples is available here: macOS Installation Guide · cyberbotics/webots_ros2 Wiki · GitHub
In the future, we will also provide pre-configured UTM images to avoid the configuration procedure. These will be available on the same instructions page, making it even easier for users to get started with the
webots_ros2 package on macOS.
The ROS 2 tutorial for setting up a robot simulation with Webots has also been updated to reflect the switch to UTM Virtual Machines: Setting up a robot simulation (Webots) — ROS 2 Documentation: Humble documentation.
Want more details?
For those interested in the technical details of the switch, please refer to the pull request: Replace macOS Docker installation by UTM Virtual Machine by ygoumaz · Pull Request #578 · cyberbotics/webots_ros2 · GitHub.