Alter Ego of Gazebo
Mabel Zhang, Ph.D.
Open Robotics team at Intrinsic
ICRA 2023 tutorial MT28 "All about ROS 2 and the new Gazebo"
29 May 2023
What will I hear about?
“New” Gazebo?
What can it do?
Can I get 3D models (that are Gazebo-ready)?
Will my Gazebo-classic stuff work in the new Gazebo?
What if I use a different simulator?
More resources?
How can I get involved?
2
“New” Gazebo?
3
“New” Gazebo?
Gazebo (formerly Ignition) gazebosim.org
A complete rewrite of Gazebo-classic classic.gazebosim.org
16 libraries, as opposed to 1 monolithic library
github.com/gazebo-tooling/gazebodistro/blob/master/collection-garden.yaml
Entry point: gz-sim, dependent on gz-math, gz-physics, gz-rendering, etc.
4
Physics and rendering in a nutshell
DART (default), Gazebo supports all features (uses ODE for collision detection)�Bullet, Gazebo supports partial features�Tutorial on loading different physics engines gazebosim.org/api/sim/7/physics.html�(Gazebo-classic default was ODE)
Rendering default is Ogre2 (aka Ogre Next)�Ogre2 supports Physically Based Rendering, Global Illumination, Area Lights, etc. (Ogre1 vs. Ogre2)�(Gazebo-classic used Ogre1. Can specify in SDF)
5
6
Gazebo-classic
Gazebo
Garden is the 7th release (A–G)
7
Currently supported releases: C, F, G
8
Dec 2019–Dec 2024
Long Term Support (LTS)
Sep 2021–Sep 2026�LTS
Sep 2022–Nov 2024
Edifice
demo world
9
Edifice
demo world
10
Edifice
demo world
11
Fortress
demo world
12
Fortress
demo world
13
Garden
demo world
14
NASA VIPER moon world
Custom shaders (pixel & fragment)�Vulcan rendering backend�gl Transmission Format (glTF)
Garden
demo world
15
Custom shaders
Vulcan�rendering backend
gl Transmission�Format (glTF)
Garden
demo world
16
Garden
new feature
17
Bullet-featherstone�(newer dynamics in Bullet, uses reduced coordinates)
Who said engineers have too much time?!
18
Our 3D artist made it.
Upcoming: Harmonic
19
Name �Community voted on architectural names starting with H
Long term support (LTS) �5 years
ROS 2 pairing�ROS 2 J-turtle
Supported Platforms�Ubuntu Jammy (22.04) & 24.04
Best effort for macOS and Windows
Sep 2023–Sep 2028
LTS
Installing with ROS
Recommended combination, e.g.,�ros-humble-desktop-full ships Gazebo Fortress
Incompatible / Impossible
Work required�Compile ros_gz from source�export GZ_VERSION=garden
20
ROS 2 Rolling
ROS 2 Humble
ROS 2 Foxy
ROS 1 Noetic
C
F
G
What can it do?
21
High-fidelity physics
as in Gazebo-classic.
22
Better rendering with Ogre2
e.g., physically based rendering; different types of lighting.
23
A free and open 3D model online dataset
with Gazebo-ready models created by artists, for robotics,
so that you can spend more time on algorithms.
24
More visualization and debug tools
for real-world applications.
25
Developed closely with customers
in industry, government, and research,
deploying heterogeneous robots
to land, space, and sea.
26
We worked closely with maintainers of
other simulators too,
to help you load your world in multiple simulators.
27
Stop bluffing.
Show me the goods.
28
DARPA SubTerranean
Challenge
29
Physically based rendering
Distributed simulation
Levels
CloudSim
Heterogeneous robots
Open Robotics + DARPA
DARPA SubTerranean
Challenge
30
Physically based rendering
Distributed simulation
Levels
CloudSim
Heterogeneous robots
Open Robotics + DARPA
Rubicon Trail worlds
31
32
33
Machine learning for
manipulation
34
Got (lens) flare? (Credit: darksylinc, community-contributed)
35
MBARI Wave
Energy Converter
36
Dynamic controls validation
400x faster than real time
Wave physics: MBARI
Simulation: Open Robotics
Wave visualization:
Rhys Mainwaring (community-contributed)
ArduPilot
37
MBARI LRAUV
38
Long-Range Autonomous Underwater Vehicle
Science mission validation
100x faster than real time
Open Robotics + MBARI
Full paper at ICRA 2023
100x FTRT
Space ROS
39
VIPER migrating from Gazebo-classic
Certification-ready
framework for flight-quality systems
Open Robotics +
Blue Origin + NASA
NASA VIPER moon rover
Canadarm
Tools
40
2D plotting
41
2D plotting
42
2D plotting
43
3D plotting
44
Plot robot trajectory in 3D
Here we validate proper “yoyo” for water sampling
Full paper at ICRA 2023
Axis visualization
45
Keep track of multiple coordinate systems
e.g., East North Up (ENU),
North East Down (NED)
used in maritime
Full paper at ICRA 2023
Native point cloud
visualization
46
Plot directly in Gazebo.
Marine science data
Large scale (150 miles)
Lat long
Data credit: MBARI
Full paper at ICRA 2023
Native point cloud
visualization
47
Plot directly in Gazebo.
Marine science data
Large scale (150 miles)
Lat long
Data credit: MBARI
Full paper at ICRA 2023
Other open source projects using the new Gazebo
Aerostack2: autonomous multi-aerial-robots systems�MBARI Wave Energy Buoy: Wave simulation for energy buoy control�MBARI LRAUV: Underwater simulation for glider science missions�MBZIRC: Maritime competition for surface and aerial vehicles with manipulation�Open-RMF: Warehouse robot fleet sharing and interoperability�Space ROS: Flight-quality robotic and autonomous space systems�SubT: DARPA Subterranean Challenge�Turtlebot 4: Low-cost educational robot�VRX: Virtual RobotX, maritime surface vehicle competition
Contribute yours to github.com/osrf/icra2023_ros2_gz_tutorial/blob/main/PROJECTS.md
48
Can I get 3D models
(that are Gazebo-ready)?
49
50
51
SubT (GitHub) 3D model collection (407 models) on Fuel
52
Google Research manipulation 3D model collection (1033 models) on Fuel
53
MBZIRC simulation (GitHub) 3D model collection on Fuel
54
55
Helper scripts to import from Blender
56
Cook up your own models: Blender tools
SDF exporter: Export 3D model from Blender to SDF file ready for Gazebo
Tutorial gazebosim.org/api/sim/7/blender_sdf_exporter.html
Secret sauce sdf_exporter.py
Blender procedural generation to SDF
(community-contributed; credit: Andrej Orsula)
Tutorial gazebosim.org/api/sim/7/blender_procedural_datasets.html
Secret sauce procedural_dataset_generator.py
57
58
Community-contributed; credit: Andrej Orsula
59
Community-contributed; credit: Andrej Orsula
Will my Gazebo-classic stuff work in
new Gazebo?
60
61
62
Migration Tutorials
(“Migration from Gazebo classic” at bottom) gazebosim.org/api/sim/7/tutorials.html
63
64
What if I use a different simulator?
65
Leverage features of multiple simulators
Use SDF format with other simulators:
66
NVIDIA Omniverse USD <-> Gazebo SDF
67
NVIDIA Omniverse USD <-> Gazebo SDF
68
NVIDIA Omniverse USD <-> Gazebo SDF
69
MuJoCo MJCF <-> Gazebo SDF
70
MuJoCo
Gazebo
More resources?
71
Resources
72
How can I get involved?
73
Get involved in ROS 2 / Gazebo
74
75
Questions!
76
77
GitHub: bit.ly / icra23_ros_git
78
Survey: bit.ly / icra23_ros_survey