Gazebo EngineΒΆ

This is an engine implementation that integrates the Gazebo physics simulator in NRP-core: the gzserver executable is running inside the gazebo engine server process.

The integration of gzserver in NRP-core is implemented through gazebo plugins, which must be used in the gazebo simulation sdf file in order to register the engine with the SimulationManager and setup datapack communication.

Two implementations of the Gazebo engine are provided. One is based on JSON over REST and another on Protobuf over gRPC. The latter performs much better and it is recommended. The former is provided for situations in which gRPC may not be available. The gRPC implementation uses protobuf objects to encapsulate data exchanged between the Engine and TFs, whereas the JSON implementation uses nlohmann::json objects. Besides from this fact, both engines are very similar both in their configuration and behavior. The rest of the documentation below is implicitely referred to the gRPC implementation even though in most cases the JSON implementation shows no differences.

On this page you can find the description of the Gazebo Engine configuration.

The description of the implemented gazebo plugins can be found here, and a description of the datapacks supported off-the-shelf by the gazebo engine can be found here

Related Pages: