Class GazeboMultiViewMonitorPlugin

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 GazeboMultiViewMonitorPlugin : 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 with up to 4 camera streams shown in parallel in the 4 quadrants of the videos. The source streams can be configured from a pool of n cameras and can be changed dynamically during the recording. 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 Types

using ImageDataPtr = ImageDataPtrVector::value_type

Public Functions

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