Uses a distributed architecture with seperate libiraries for
physics simulation\
rendering\
user interface\
communication\
sensor generation
The gzclient and gzserver communicate using the gazebo communication library.
Communication Between Processes
Use the open source "Google Protobuf" for the message serialization
Use the boost::ASIO for the transport mechanism.
The communication library supports the publish and subscribe communication paradigm.
The simulated world publishes body pose updates
The sensor generation and GUI will consume (use) these messages to produce output.
System
Gazebo Master
A topic server.
it provides
name lookup,
topic management. And
can handle multiple
physics simulations
sensor generators
GUIs
Communication Library
communication and transport mechanism for Gazebo.
support only publish / subscribe. use the RPC
Physics Library
It provides a simple and generic (common) interface to fundamental simulation components, including
rigid bodies,
collision shapes,
joints.
A model described in the SDF using XML can be loaded by each of these phsics engines.
Rending Library, Sensor Generation, GUI and Plugins
Screenshot save location
saving to "~/.gazebo/pictures" with a timestamped filename.
Uses a distributed architecture with seperate libiraries for physics simulation\ rendering\ user interface\ communication\ sensor generationThe gzclient and gzserver communicate using the gazebo communication library.Communication