Class GazeboMultiCameraMonitorPlugin

Inheritance Relationships

Base Type

  • public gazebo::GazeboMonitorBasePlugin< gazebo_video_monitor_interfaces::srv::StartGmcmRecording, gazebo_video_monitor_interfaces::srv::StopRecording > (Template Class GazeboMonitorBasePlugin)

Class Documentation

class GazeboMultiCameraMonitorPlugin : public gazebo::GazeboMonitorBasePlugin<gazebo_video_monitor_interfaces::srv::StartGmcmRecording, gazebo_video_monitor_interfaces::srv::StopRecording>

Provides a ROS interface for creating multi-camera videos.

Records videos in which the stream can be configured from a pool of n cameras. The source camera can be changed dynamically during the recording. A second camera can be selected to be shown in picture-in-picture mode. Metadata can be shown in the videos, like real time, sim time, and elapsed real time since the start of the recording.

Note

The parent sensor can hold an arbitrary number of cameras. The pose of the cameras in their configuration can be wrt the sensor parent, or any other model in the world. In the latter case, these models need to be specified in the plugin configuration.

Expects the following configuration (extends the configuration of

GazeboMonitorBasePlugin):
  • startRecordingService: name of the service for starting a recording

  • stopRecordingService: name of the service for stopping and saving a recording

  • cameraSelectTopic: name of the topic for selecting the cameras. One or two camera names are allowed in the messages.

  • recorder: configuration of the video recorder (see GazeboVideoRecorder)

  • cameraReference ([1-n] times): reference model configuration with a name attribute pointing to one of the sensor cameras (see parseRefModelConfig)

Public Functions

GazeboMultiCameraMonitorPlugin()
virtual ~GazeboMultiCameraMonitorPlugin() override
virtual void Load(sensors::SensorPtr _sensor, sdf::ElementPtr _sdf) override
virtual void Reset() override