With Gazebo 7 reaching end of life, we’d like to bring some tips for how to migrate your Gazebo classic projects to Ignition Gazebo!
Gazebo classic currently has 2 supported versions:
- Gazebo 9: until January 2023
- Gazebo 11: until January 2025
Ignition also has 2 supported collections, and an upcoming one:
- Citadel: until December 2024
- Dome: until December 2021
- Edifice: to be released on March 2020
Among these versions, Gazebo 11 and Ignition Citadel are the most compatible. They use lots of the same underlying dependencies (
libSDFormat 9, Ignition Math 6, Ignition Transport 8…), so it’s possible to write code that is shared among them, even if the plugins themselves need to be different. These versions also have similar support schedules.
Therefore, if you’re doing a staged migration and want to maintain both a classic and an Ignition implementation for a while, Gazebo 11 + Citadel is a good combination to choose. On the other hand, if you’re doing a one-time migration and never looking back at Gazebo classic, then going from any version to any other version should be ok.
Another thing to keep in mind when choosing a version are the features available in each one of them. The links below should be good references:
- Feature comparison: Gazebo 11 and Ignition Citadel
- Feature comparison: Gazebo 11 and Ignition Dome
- Roadmap for all collections
Once you’ve chosen a version, check out the following guides according to your use case.
|Migrating SDF files||Migrating SDF files|
|Migrating plugins||Migrating plugins|
|Migrating World C++ API||Migrating World C++ API|
|Migrating Model C++ API||Migrating Model C++ API|
|Migrating Link C++ API||Migrating Link C++ API|
Here are some example packages that have been migrated from Gazebo classic to Ignition Gazebo.
- ArduPilot migration case study
- Dolly: example ROS 2 package that supports both Gazebo classic and Ignition Gazebo
- SubT: migration guide for URDF models using ROS 1
- SimSlides: package with GUI plugins for both Gazebo classic and Ignition
Have you migrated a project from classic to Ignition? We’d love to hear about your experience!
Ignition Dev Team