camera.h
Go to the documentation of this file.
1 
34 #ifndef MULTISENSE_ROS_CAMERA_H
35 #define MULTISENSE_ROS_CAMERA_H
36 
37 #include <memory>
38 #include <mutex>
39 #include <thread>
40 
41 #include <ros/ros.h>
42 
49 #include <stereo_msgs/DisparityImage.h>
50 #include <sensor_msgs/PointCloud2.h>
52 
53 #include <multisense_lib/MultiSenseChannel.hh>
54 #include <multisense_ros/RawCamData.h>
57 
58 namespace multisense_ros {
59 
60 class Camera {
61 public:
63  const std::string& tf_prefix);
64  ~Camera();
65 
66  void updateConfig(const crl::multisense::image::Config& config);
67 
80 
81  void borderClipChanged(const BorderClip& borderClipType, double borderClipValue);
82 
83  void maxPointCloudRangeChanged(double range);
84 
86 
88  const ground_surface_utilities::SplineDrawParameters &spline_draw_params);
89 
90  void timeSyncChanged(bool ptp_enabled, int32_t ptp_time_offset_sec);
91 
92 private:
93  //
94  // Node names
95 
96  static constexpr char LEFT[] = "left";
97  static constexpr char RIGHT[] = "right";
98  static constexpr char AUX[] = "aux";
99  static constexpr char CALIBRATION[] = "calibration";
100  static constexpr char GROUND_SURFACE[] = "ground_surface";
101 
102  //
103  // Frames
104 
105  static constexpr char ORIGIN_FRAME[] = "/origin";
106  static constexpr char HEAD_FRAME[] = "/head";
107  static constexpr char LEFT_CAMERA_FRAME[] = "/left_camera_frame";
108  static constexpr char LEFT_RECTIFIED_FRAME[] = "/left_camera_optical_frame";
109  static constexpr char RIGHT_CAMERA_FRAME[] = "/right_camera_frame";
110  static constexpr char RIGHT_RECTIFIED_FRAME[] = "/right_camera_optical_frame";
111  static constexpr char AUX_CAMERA_FRAME[] = "/aux_camera_frame";
112  static constexpr char AUX_RECTIFIED_FRAME[] = "/aux_camera_optical_frame";
113 
114  //
115  // Topic names
116 
117  static constexpr char DEVICE_INFO_TOPIC[] = "device_info";
118  static constexpr char RAW_CAM_CAL_TOPIC[] = "raw_cam_cal";
119  static constexpr char RAW_CAM_CONFIG_TOPIC[] = "raw_cam_config";
120  static constexpr char RAW_CAM_DATA_TOPIC[] = "raw_cam_data";
121  static constexpr char HISTOGRAM_TOPIC[] = "histogram";
122  static constexpr char MONO_TOPIC[] = "image_mono";
123  static constexpr char RECT_TOPIC[] = "image_rect";
124  static constexpr char DISPARITY_TOPIC[] = "disparity";
125  static constexpr char DISPARITY_IMAGE_TOPIC[] = "disparity_image";
126  static constexpr char DEPTH_TOPIC[] = "depth";
127  static constexpr char OPENNI_DEPTH_TOPIC[] = "openni_depth";
128  static constexpr char COST_TOPIC[] = "cost";
129  static constexpr char COLOR_TOPIC[] = "image_color";
130  static constexpr char RECT_COLOR_TOPIC[] = "image_rect_color";
131  static constexpr char POINTCLOUD_TOPIC[] = "image_points2";
132  static constexpr char COLOR_POINTCLOUD_TOPIC[] = "image_points2_color";
133  static constexpr char ORGANIZED_POINTCLOUD_TOPIC[] = "organized_image_points2";
134  static constexpr char COLOR_ORGANIZED_POINTCLOUD_TOPIC[] = "organized_image_points2_color";
135  static constexpr char MONO_CAMERA_INFO_TOPIC[] = "image_mono/camera_info";
136  static constexpr char RECT_CAMERA_INFO_TOPIC[] = "image_rect/camera_info";
137  static constexpr char COLOR_CAMERA_INFO_TOPIC[] = "image_color/camera_info";
138  static constexpr char RECT_COLOR_CAMERA_INFO_TOPIC[] = "image_rect_color/camera_info";
139  static constexpr char DEPTH_CAMERA_INFO_TOPIC[] = "depth/camera_info";
140  static constexpr char DISPARITY_CAMERA_INFO_TOPIC[] = "disparity/camera_info";
141  static constexpr char COST_CAMERA_INFO_TOPIC[] = "cost/camera_info";
142  static constexpr char GROUND_SURFACE_IMAGE_TOPIC[] = "image";
143  static constexpr char GROUND_SURFACE_INFO_TOPIC[] = "camera_info";
144  static constexpr char GROUND_SURFACE_POINT_SPLINE_TOPIC[] = "spline";
145 
146 
147  //
148  // Device stream control
149 
152  void stop();
153 
154  //
155  // Republish camera info messages by publishing the current messages
156  // Used whenever the resolution of the camera changes
157 
158  void publishAllCameraInfo();
159 
160  //
161  // CRL sensor API
162 
164 
165  //
166  // Driver nodes
167 
174 
175  //
176  // Image transports
177 
194 
195  //
196  // Data publishers
197 
203  image_transport::Publisher ni_depth_cam_pub_; // publish depth infomation in the openNI format
211 
227 
231 
234 
238 
241 
242  //
243  // Raw data publishers
244 
250 
251  //
252  // Store outgoing messages for efficiency
253 
254  sensor_msgs::Image left_mono_image_;
255  sensor_msgs::Image right_mono_image_;
256  sensor_msgs::Image left_rect_image_;
257  sensor_msgs::Image right_rect_image_;
258  sensor_msgs::Image depth_image_;
259  sensor_msgs::Image ni_depth_image_;
260  sensor_msgs::PointCloud2 luma_point_cloud_;
261  sensor_msgs::PointCloud2 color_point_cloud_;
262  sensor_msgs::PointCloud2 luma_organized_point_cloud_;
263  sensor_msgs::PointCloud2 color_organized_point_cloud_;
264 
265  sensor_msgs::Image aux_mono_image_;
266  sensor_msgs::Image left_rgb_image_;
267  sensor_msgs::Image aux_rgb_image_;
268  sensor_msgs::Image left_rgb_rect_image_;
269  sensor_msgs::Image aux_rect_image_;
270  sensor_msgs::Image aux_rgb_rect_image_;
271 
272  sensor_msgs::Image left_disparity_image_;
273  sensor_msgs::Image left_disparity_cost_image_;
274  sensor_msgs::Image right_disparity_image_;
275 
276  stereo_msgs::DisparityImage left_stereo_disparity_;
277  stereo_msgs::DisparityImage right_stereo_disparity_;
278 
279  sensor_msgs::Image ground_surface_image_;
280 
281  multisense_ros::RawCamData raw_cam_data_;
282 
283  std::vector<uint8_t> pointcloud_color_buffer_;
284  std::vector<uint8_t> pointcloud_rect_color_buffer_;
285 
286  //
287  // Calibration from sensor
288 
291  std::vector<crl::multisense::system::DeviceMode> device_modes_;
292 
293  //
294  // Calibration manager
295 
296  std::shared_ptr<StereoCalibrationManager> stereo_calibration_manager_;
297 
298  //
299  // The frame IDs
300 
301  const std::string frame_id_origin_;
302  const std::string frame_id_head_;
303  const std::string frame_id_left_;
304  const std::string frame_id_right_;
305  const std::string frame_id_aux_;
306  const std::string frame_id_rectified_left_;
307  const std::string frame_id_rectified_right_;
308  const std::string frame_id_rectified_aux_;
309 
311 
312  //
313  // Stream subscriptions
314 
315  typedef std::map<crl::multisense::DataSource, int32_t> StreamMapType;
316  std::mutex stream_lock_;
318 
319  //
320  // Max distance from the camera for a point to be considered valid
321 
322  double pointcloud_max_range_ = 15.0;
323 
324  //
325  // Histogram tracking
326 
327  int64_t last_frame_id_ = -1;
328 
329  //
330  // The mask used to perform the border clipping of the disparity image
331 
333  double border_clip_value_ = 0.0;
334 
335  //
336  // Parameters for drawing ground surface spline
337 
339 
340  //
341  // Storage of images which we use for pointcloud colorizing
342 
343  std::unordered_map<crl::multisense::DataSource, std::shared_ptr<BufferWrapper<crl::multisense::image::Header>>> image_buffers_;
344 
345  //
346  // Has a left camera
347 
348  bool has_right_camera_ = false;
349 
350  //
351  // Has a left camera
352 
353  bool has_left_camera_ = false;
354 
355  //
356  // Has a 3rd aux color camera
357 
358  bool has_aux_camera_ = false;
359 
360  //
361  // Has color camera streams, either color sensors or a color aux
362 
363  bool has_color_ = false;
364 
365  //
366  // Can support the ground surface detector
367 
369 
370  //
371  // Diagnostics
376 
379 
380  //
381  // Timestamping and timesync settings
382  ros::Time convertImageTimestamp(uint32_t time_secs, uint32_t time_microsecs);
383 
384  std::atomic_bool ptp_time_sync_{false};
386 };
387 
388 }
389 
390 #endif
multisense_ros::Camera::diagnostic_updater_
diagnostic_updater::Updater diagnostic_updater_
Definition: camera.h:372
multisense_ros::Camera::left_rect_image_
sensor_msgs::Image left_rect_image_
Definition: camera.h:256
multisense_ros::Camera::disparity_right_transport_
image_transport::ImageTransport disparity_right_transport_
Definition: camera.h:187
multisense_ros::Camera::left_rgb_image_
sensor_msgs::Image left_rgb_image_
Definition: camera.h:266
multisense_ros::Camera::borderClipChanged
void borderClipChanged(const BorderClip &borderClipType, double borderClipValue)
Definition: camera.cpp:764
multisense_ros::Camera::left_disparity_cost_image_
sensor_msgs::Image left_disparity_cost_image_
Definition: camera.h:273
multisense_ros::Camera::DISPARITY_TOPIC
static constexpr char DISPARITY_TOPIC[]
Definition: camera.h:124
multisense_ros::Camera::left_rgb_transport_
image_transport::ImageTransport left_rgb_transport_
Definition: camera.h:182
multisense_ros::Camera::driver_
crl::multisense::Channel * driver_
Definition: camera.h:163
multisense_ros::Camera::right_rect_cam_pub_
image_transport::CameraPublisher right_rect_cam_pub_
Definition: camera.h:201
multisense_ros::Camera::RECT_CAMERA_INFO_TOPIC
static constexpr char RECT_CAMERA_INFO_TOPIC[]
Definition: camera.h:136
multisense_ros::Camera::frame_id_aux_
const std::string frame_id_aux_
Definition: camera.h:305
multisense_ros::Camera::raw_cam_cal_pub_
ros::Publisher raw_cam_cal_pub_
Definition: camera.h:247
multisense_ros::Camera::frame_id_rectified_aux_
const std::string frame_id_rectified_aux_
Definition: camera.h:308
multisense_ros::Camera::StreamMapType
std::map< crl::multisense::DataSource, int32_t > StreamMapType
Definition: camera.h:315
multisense_ros::Camera::border_clip_type_
BorderClip border_clip_type_
Definition: camera.h:332
ros::Publisher
multisense_ros::Camera::AUX_RECTIFIED_FRAME
static constexpr char AUX_RECTIFIED_FRAME[]
Definition: camera.h:112
multisense_ros::Camera::LEFT_RECTIFIED_FRAME
static constexpr char LEFT_RECTIFIED_FRAME[]
Definition: camera.h:108
multisense_ros::Camera::left_disparity_pub_
image_transport::Publisher left_disparity_pub_
Definition: camera.h:235
image_transport::ImageTransport
multisense_ros::Camera::left_rect_transport_
image_transport::ImageTransport left_rect_transport_
Definition: camera.h:180
multisense_ros::Camera::pointcloud_color_buffer_
std::vector< uint8_t > pointcloud_color_buffer_
Definition: camera.h:283
crl::multisense::system::ExternalCalibration
multisense_ros::Camera::ni_depth_cam_pub_
image_transport::Publisher ni_depth_cam_pub_
Definition: camera.h:203
multisense_ros::Camera::publishAllCameraInfo
void publishAllCameraInfo()
Definition: camera.cpp:2346
multisense_ros::Camera::colorImageCallback
void colorImageCallback(const crl::multisense::image::Header &header)
Definition: camera.cpp:1872
multisense_ros::Camera::LEFT
static constexpr char LEFT[]
Definition: camera.h:96
multisense_ros::Camera::depth_cam_info_pub_
ros::Publisher depth_cam_info_pub_
Definition: camera.h:221
multisense_ros::Camera::right_disparity_image_
sensor_msgs::Image right_disparity_image_
Definition: camera.h:274
multisense_ros::Camera::right_stereo_disparity_pub_
ros::Publisher right_stereo_disparity_pub_
Definition: camera.h:240
multisense_ros::Camera::left_rect_cam_pub_
image_transport::CameraPublisher left_rect_cam_pub_
Definition: camera.h:200
distortion_models.h
multisense_ros::Camera::last_frame_id_
int64_t last_frame_id_
Definition: camera.h:327
multisense_ros::Camera::diagnostic_trigger_
ros::Timer diagnostic_trigger_
Definition: camera.h:378
multisense_ros::Camera::aux_rgb_cam_pub_
image_transport::Publisher aux_rgb_cam_pub_
Definition: camera.h:206
multisense_ros::Camera::GROUND_SURFACE
static constexpr char GROUND_SURFACE[]
Definition: camera.h:100
multisense_ros::Camera::device_modes_
std::vector< crl::multisense::system::DeviceMode > device_modes_
Definition: camera.h:291
multisense_ros::Camera::aux_rgb_rect_cam_pub_
image_transport::CameraPublisher aux_rgb_rect_cam_pub_
Definition: camera.h:209
multisense_ros::Camera::aux_rgb_image_
sensor_msgs::Image aux_rgb_image_
Definition: camera.h:267
multisense_ros::Camera::stop
void stop()
Definition: camera.cpp:2431
multisense_ros::Camera::aux_rgb_rect_image_
sensor_msgs::Image aux_rgb_rect_image_
Definition: camera.h:270
ros.h
multisense_ros::Camera::COST_TOPIC
static constexpr char COST_TOPIC[]
Definition: camera.h:128
multisense_ros::Camera::raw_cam_data_
multisense_ros::RawCamData raw_cam_data_
Definition: camera.h:281
multisense_ros::Camera::ptpStatusDiagnostic
void ptpStatusDiagnostic(diagnostic_updater::DiagnosticStatusWrapper &stat)
Definition: camera.cpp:2315
multisense_ros::Camera::convertImageTimestamp
ros::Time convertImageTimestamp(uint32_t time_secs, uint32_t time_microsecs)
Definition: camera.cpp:2191
multisense_ros::Camera::groundSurfaceSplineCallback
void groundSurfaceSplineCallback(const crl::multisense::ground_surface::Header &header)
Definition: camera.cpp:2145
multisense_ros::Camera::Camera
Camera(crl::multisense::Channel *driver, const std::string &tf_prefix)
Definition: camera.cpp:167
multisense_ros::Camera::LEFT_CAMERA_FRAME
static constexpr char LEFT_CAMERA_FRAME[]
Definition: camera.h:107
multisense_ros::Camera::can_support_ground_surface_
bool can_support_ground_surface_
Definition: camera.h:368
multisense_ros::Camera::ptp_time_offset_secs_
int32_t ptp_time_offset_secs_
Definition: camera.h:385
multisense_ros::Camera::timeSyncChanged
void timeSyncChanged(bool ptp_enabled, int32_t ptp_time_offset_sec)
Definition: camera.cpp:778
multisense_ros::Camera::rawCamDataCallback
void rawCamDataCallback(const crl::multisense::image::Header &header)
Definition: camera.cpp:1831
multisense_ros::Camera::has_left_camera_
bool has_left_camera_
Definition: camera.h:353
multisense_ros::Camera::right_mono_transport_
image_transport::ImageTransport right_mono_transport_
Definition: camera.h:179
multisense_ros::Camera::right_nh_
ros::NodeHandle right_nh_
Definition: camera.h:170
multisense_ros::Camera::deviceStatusDiagnostic
void deviceStatusDiagnostic(diagnostic_updater::DiagnosticStatusWrapper &stat)
Definition: camera.cpp:2284
diagnostic_updater::Updater
multisense_ros::Camera::right_disparity_pub_
image_transport::Publisher right_disparity_pub_
Definition: camera.h:236
multisense_ros::Camera::aux_mono_cam_pub_
image_transport::Publisher aux_mono_cam_pub_
Definition: camera.h:207
multisense_ros::Camera::frame_id_origin_
const std::string frame_id_origin_
Definition: camera.h:301
multisense_ros::Camera::aux_rect_image_
sensor_msgs::Image aux_rect_image_
Definition: camera.h:269
multisense_ros::Camera::left_rgb_rect_transport_
image_transport::ImageTransport left_rgb_rect_transport_
Definition: camera.h:183
multisense_ros::Camera::version_info_
crl::multisense::system::VersionInfo version_info_
Definition: camera.h:289
multisense_ros::Camera::luma_organized_point_cloud_pub_
ros::Publisher luma_organized_point_cloud_pub_
Definition: camera.h:232
multisense_ros::Camera::colorizeCallback
void colorizeCallback(const crl::multisense::image::Header &header)
Definition: camera.cpp:2061
multisense_ros::Camera::RAW_CAM_CAL_TOPIC
static constexpr char RAW_CAM_CAL_TOPIC[]
Definition: camera.h:118
multisense_ros::Camera::right_rect_image_
sensor_msgs::Image right_rect_image_
Definition: camera.h:257
multisense_ros::Camera::aux_mono_cam_info_pub_
ros::Publisher aux_mono_cam_info_pub_
Definition: camera.h:222
multisense_ros::Camera::ground_surface_transport_
image_transport::ImageTransport ground_surface_transport_
Definition: camera.h:193
multisense_ros::Camera::aux_rgb_transport_
image_transport::ImageTransport aux_rgb_transport_
Definition: camera.h:190
multisense_ros::Camera::border_clip_value_
double border_clip_value_
Definition: camera.h:333
multisense_ros::Camera::left_mono_cam_info_pub_
ros::Publisher left_mono_cam_info_pub_
Definition: camera.h:212
multisense_ros::Camera::aux_mono_transport_
image_transport::ImageTransport aux_mono_transport_
Definition: camera.h:189
multisense_ros::Camera::right_rect_transport_
image_transport::ImageTransport right_rect_transport_
Definition: camera.h:181
multisense_ros::Camera::ground_surface_info_pub_
ros::Publisher ground_surface_info_pub_
Definition: camera.h:226
multisense_ros::Camera::disparity_left_transport_
image_transport::ImageTransport disparity_left_transport_
Definition: camera.h:186
multisense_ros::Camera::aux_mono_image_
sensor_msgs::Image aux_mono_image_
Definition: camera.h:265
multisense_ros::Camera::RECT_COLOR_CAMERA_INFO_TOPIC
static constexpr char RECT_COLOR_CAMERA_INFO_TOPIC[]
Definition: camera.h:138
multisense_ros::Camera::RIGHT
static constexpr char RIGHT[]
Definition: camera.h:97
multisense_ros::Camera::RAW_CAM_CONFIG_TOPIC
static constexpr char RAW_CAM_CONFIG_TOPIC[]
Definition: camera.h:119
multisense_ros::Camera::frame_id_rectified_left_
const std::string frame_id_rectified_left_
Definition: camera.h:306
publisher.h
multisense_ros::Camera::histogram_pub_
ros::Publisher histogram_pub_
Definition: camera.h:249
stereo_camera_model.h
diagnostic_updater.h
multisense_ros::Camera::left_rgb_rect_cam_pub_
image_transport::CameraPublisher left_rgb_rect_cam_pub_
Definition: camera.h:205
multisense_ros::Camera::pointCloudCallback
void pointCloudCallback(const crl::multisense::image::Header &header)
Definition: camera.cpp:1493
multisense_ros::Camera::ground_surface_spline_pub_
ros::Publisher ground_surface_spline_pub_
Definition: camera.h:230
multisense_ros::Camera::left_stereo_disparity_pub_
ros::Publisher left_stereo_disparity_pub_
Definition: camera.h:239
multisense_ros::Camera::POINTCLOUD_TOPIC
static constexpr char POINTCLOUD_TOPIC[]
Definition: camera.h:131
multisense_ros::Camera::DEPTH_TOPIC
static constexpr char DEPTH_TOPIC[]
Definition: camera.h:126
multisense_ros::Camera::left_rgb_rect_image_
sensor_msgs::Image left_rgb_rect_image_
Definition: camera.h:268
multisense_ros::Camera::left_rect_cam_info_pub_
ros::Publisher left_rect_cam_info_pub_
Definition: camera.h:214
multisense_ros::Camera::GROUND_SURFACE_POINT_SPLINE_TOPIC
static constexpr char GROUND_SURFACE_POINT_SPLINE_TOPIC[]
Definition: camera.h:144
tf2_ros::StaticTransformBroadcaster
multisense_ros::Camera::disconnectStream
void disconnectStream(crl::multisense::DataSource disableMask)
Definition: camera.cpp:2462
multisense_ros::Camera::deviceInfoDiagnostic
void deviceInfoDiagnostic(diagnostic_updater::DiagnosticStatusWrapper &stat)
Definition: camera.cpp:2241
crl::multisense::image::Config
multisense_ros::Camera::frame_id_rectified_right_
const std::string frame_id_rectified_right_
Definition: camera.h:307
multisense_ros::Camera::extrinsicsChanged
void extrinsicsChanged(crl::multisense::system::ExternalCalibration extrinsics)
Definition: camera.cpp:784
multisense_ros::Camera::device_info_pub_
ros::Publisher device_info_pub_
Definition: camera.h:248
multisense_ros::Camera::AUX_CAMERA_FRAME
static constexpr char AUX_CAMERA_FRAME[]
Definition: camera.h:111
multisense_ros::Camera::aux_rgb_rect_cam_info_pub_
ros::Publisher aux_rgb_rect_cam_info_pub_
Definition: camera.h:225
multisense_ros
Definition: camera.h:58
multisense_ros::Camera::aux_rect_cam_info_pub_
ros::Publisher aux_rect_cam_info_pub_
Definition: camera.h:224
crl::multisense::DataSource
uint64_t DataSource
multisense_ros::Camera::pointcloud_max_range_
double pointcloud_max_range_
Definition: camera.h:322
multisense_ros::Camera::COLOR_TOPIC
static constexpr char COLOR_TOPIC[]
Definition: camera.h:129
multisense_ros::Camera::color_organized_point_cloud_pub_
ros::Publisher color_organized_point_cloud_pub_
Definition: camera.h:233
multisense_ros::Camera::left_mono_transport_
image_transport::ImageTransport left_mono_transport_
Definition: camera.h:178
crl::multisense::system::DeviceInfo
multisense_ros::Camera::HEAD_FRAME
static constexpr char HEAD_FRAME[]
Definition: camera.h:106
multisense_ros::Camera::left_rgb_cam_pub_
image_transport::Publisher left_rgb_cam_pub_
Definition: camera.h:204
multisense_ros::Camera::ground_surface_image_
sensor_msgs::Image ground_surface_image_
Definition: camera.h:279
multisense_ros::Camera::COLOR_POINTCLOUD_TOPIC
static constexpr char COLOR_POINTCLOUD_TOPIC[]
Definition: camera.h:132
multisense_ros::Camera::ORGANIZED_POINTCLOUD_TOPIC
static constexpr char ORGANIZED_POINTCLOUD_TOPIC[]
Definition: camera.h:133
multisense_ros::Camera::right_rect_cam_info_pub_
ros::Publisher right_rect_cam_info_pub_
Definition: camera.h:215
multisense_ros::Camera::ground_surface_nh_
ros::NodeHandle ground_surface_nh_
Definition: camera.h:173
ground_surface_utilities.h
multisense_ros::Camera::stream_lock_
std::mutex stream_lock_
Definition: camera.h:316
multisense_ros::Camera::CALIBRATION
static constexpr char CALIBRATION[]
Definition: camera.h:99
multisense_ros::Camera::has_color_
bool has_color_
Definition: camera.h:363
multisense_ros::Camera::left_rgb_rect_cam_info_pub_
ros::Publisher left_rgb_rect_cam_info_pub_
Definition: camera.h:220
multisense_ros::Camera::stereo_calibration_manager_
std::shared_ptr< StereoCalibrationManager > stereo_calibration_manager_
Definition: camera.h:296
multisense_ros::Camera::depth_cam_pub_
image_transport::Publisher depth_cam_pub_
Definition: camera.h:202
multisense_ros::Camera::~Camera
~Camera()
Definition: camera.cpp:728
multisense_ros::Camera::luma_point_cloud_pub_
ros::Publisher luma_point_cloud_pub_
Definition: camera.h:228
multisense_ros::Camera::ptp_time_sync_
std::atomic_bool ptp_time_sync_
Definition: camera.h:384
multisense_ros::Camera::aux_rect_transport_
image_transport::ImageTransport aux_rect_transport_
Definition: camera.h:191
multisense_ros::Camera::has_aux_camera_
bool has_aux_camera_
Definition: camera.h:358
image_transport::CameraPublisher
multisense_ros::Camera::right_stereo_disparity_
stereo_msgs::DisparityImage right_stereo_disparity_
Definition: camera.h:277
multisense_ros::BorderClip::NONE
@ NONE
multisense_ros::Camera::has_right_camera_
bool has_right_camera_
Definition: camera.h:348
multisense_ros::Camera::HISTOGRAM_TOPIC
static constexpr char HISTOGRAM_TOPIC[]
Definition: camera.h:121
multisense_ros::Camera::updateConfig
void updateConfig(const crl::multisense::image::Config &config)
Definition: camera.cpp:2202
multisense_ros::BorderClip
BorderClip
Definition: camera_utilities.h:62
multisense_ros::Camera::color_point_cloud_
sensor_msgs::PointCloud2 color_point_cloud_
Definition: camera.h:261
multisense_ros::Camera::COST_CAMERA_INFO_TOPIC
static constexpr char COST_CAMERA_INFO_TOPIC[]
Definition: camera.h:141
ground_surface_utilities::SplineDrawParameters
Struct containing parameters for drawing a pointcloud representation of a B-Spline model.
Definition: ground_surface_utilities.h:68
ros::TimerEvent
multisense_ros::Camera::groundSurfaceSplineDrawParametersChanged
void groundSurfaceSplineDrawParametersChanged(const ground_surface_utilities::SplineDrawParameters &spline_draw_params)
Definition: camera.cpp:814
multisense_ros::Camera::histogramCallback
void histogramCallback(const crl::multisense::image::Header &header)
Definition: camera.cpp:820
multisense_ros::Camera::RECT_COLOR_TOPIC
static constexpr char RECT_COLOR_TOPIC[]
Definition: camera.h:130
multisense_ros::Camera::left_rgb_cam_info_pub_
ros::Publisher left_rgb_cam_info_pub_
Definition: camera.h:219
multisense_ros::Camera::RAW_CAM_DATA_TOPIC
static constexpr char RAW_CAM_DATA_TOPIC[]
Definition: camera.h:120
image_transport.h
multisense_ros::Camera::depth_image_
sensor_msgs::Image depth_image_
Definition: camera.h:258
multisense_ros::Camera::color_organized_point_cloud_
sensor_msgs::PointCloud2 color_organized_point_cloud_
Definition: camera.h:263
multisense_ros::Camera::aux_rgb_cam_info_pub_
ros::Publisher aux_rgb_cam_info_pub_
Definition: camera.h:223
multisense_ros::Camera::disparityImageCallback
void disparityImageCallback(const crl::multisense::image::Header &header)
Definition: camera.cpp:920
multisense_ros::Camera::disparity_cost_transport_
image_transport::ImageTransport disparity_cost_transport_
Definition: camera.h:188
multisense_ros::Camera::AUX
static constexpr char AUX[]
Definition: camera.h:98
multisense_ros::Camera::rectCallback
void rectCallback(const crl::multisense::image::Header &header)
Definition: camera.cpp:1217
multisense_ros::Camera::connectStream
void connectStream(crl::multisense::DataSource enableMask)
Definition: camera.cpp:2443
multisense_ros::Camera::left_mono_cam_pub_
image_transport::Publisher left_mono_cam_pub_
Definition: camera.h:198
multisense_ros::Camera::luma_point_cloud_
sensor_msgs::PointCloud2 luma_point_cloud_
Definition: camera.h:260
camera_utilities.h
crl::multisense::system::VersionInfo
multisense_ros::Camera::COLOR_ORGANIZED_POINTCLOUD_TOPIC
static constexpr char COLOR_ORGANIZED_POINTCLOUD_TOPIC[]
Definition: camera.h:134
multisense_ros::Camera::ground_surface_cam_pub_
image_transport::Publisher ground_surface_cam_pub_
Definition: camera.h:210
multisense_ros::Camera::aux_rect_cam_pub_
image_transport::CameraPublisher aux_rect_cam_pub_
Definition: camera.h:208
multisense_ros::Camera::left_cost_cam_info_pub_
ros::Publisher left_cost_cam_info_pub_
Definition: camera.h:218
multisense_ros::Camera::jpegImageCallback
void jpegImageCallback(const crl::multisense::image::Header &header)
Definition: camera.cpp:855
crl::multisense::Channel
multisense_ros::Camera::RECT_TOPIC
static constexpr char RECT_TOPIC[]
Definition: camera.h:123
multisense_ros::Camera::depth_transport_
image_transport::ImageTransport depth_transport_
Definition: camera.h:184
multisense_ros::Camera::monoCallback
void monoCallback(const crl::multisense::image::Header &header)
Definition: camera.cpp:1105
multisense_ros::Camera::left_stereo_disparity_
stereo_msgs::DisparityImage left_stereo_disparity_
Definition: camera.h:276
ros::Time
multisense_ros::Camera::frame_id_head_
const std::string frame_id_head_
Definition: camera.h:302
multisense_ros::Camera::luma_organized_point_cloud_
sensor_msgs::PointCloud2 luma_organized_point_cloud_
Definition: camera.h:262
multisense_ros::Camera::GROUND_SURFACE_INFO_TOPIC
static constexpr char GROUND_SURFACE_INFO_TOPIC[]
Definition: camera.h:143
multisense_ros::Camera::image_buffers_
std::unordered_map< crl::multisense::DataSource, std::shared_ptr< BufferWrapper< crl::multisense::image::Header > > > image_buffers_
Definition: camera.h:343
multisense_ros::Camera::spline_draw_params_
ground_surface_utilities::SplineDrawParameters spline_draw_params_
Definition: camera.h:338
multisense_ros::Camera::OPENNI_DEPTH_TOPIC
static constexpr char OPENNI_DEPTH_TOPIC[]
Definition: camera.h:127
multisense_ros::Camera::left_nh_
ros::NodeHandle left_nh_
Definition: camera.h:169
multisense_ros::Camera::MONO_TOPIC
static constexpr char MONO_TOPIC[]
Definition: camera.h:122
image_transport::Publisher
multisense_ros::Camera::raw_cam_config_pub_
ros::Publisher raw_cam_config_pub_
Definition: camera.h:246
multisense_ros::Camera::stream_map_
StreamMapType stream_map_
Definition: camera.h:317
multisense_ros::Camera
Definition: camera.h:60
multisense_ros::Camera::maxPointCloudRangeChanged
void maxPointCloudRangeChanged(double range)
Definition: camera.cpp:773
multisense_ros::Camera::left_disp_cam_info_pub_
ros::Publisher left_disp_cam_info_pub_
Definition: camera.h:216
multisense_ros::Camera::depthCallback
void depthCallback(const crl::multisense::image::Header &header)
Definition: camera.cpp:1348
multisense_ros::Camera::diagnosticTimerCallback
void diagnosticTimerCallback(const ros::TimerEvent &)
Definition: camera.cpp:2341
multisense_ros::Camera::RIGHT_CAMERA_FRAME
static constexpr char RIGHT_CAMERA_FRAME[]
Definition: camera.h:109
multisense_ros::Camera::left_mono_image_
sensor_msgs::Image left_mono_image_
Definition: camera.h:254
multisense_ros::Camera::DISPARITY_CAMERA_INFO_TOPIC
static constexpr char DISPARITY_CAMERA_INFO_TOPIC[]
Definition: camera.h:140
multisense_ros::Camera::calibration_nh_
ros::NodeHandle calibration_nh_
Definition: camera.h:172
multisense_ros::Camera::ORIGIN_FRAME
static constexpr char ORIGIN_FRAME[]
Definition: camera.h:105
static_transform_broadcaster.h
multisense_ros::Camera::frame_id_left_
const std::string frame_id_left_
Definition: camera.h:303
multisense_ros::Camera::COLOR_CAMERA_INFO_TOPIC
static constexpr char COLOR_CAMERA_INFO_TOPIC[]
Definition: camera.h:137
multisense_ros::Camera::DEVICE_INFO_TOPIC
static constexpr char DEVICE_INFO_TOPIC[]
Definition: camera.h:117
diagnostic_updater::DiagnosticStatusWrapper
multisense_ros::Camera::groundSurfaceCallback
void groundSurfaceCallback(const crl::multisense::image::Header &header)
Definition: camera.cpp:2076
multisense_ros::Camera::aux_rgb_rect_transport_
image_transport::ImageTransport aux_rgb_rect_transport_
Definition: camera.h:192
multisense_ros::Camera::GROUND_SURFACE_IMAGE_TOPIC
static constexpr char GROUND_SURFACE_IMAGE_TOPIC[]
Definition: camera.h:142
multisense_ros::Camera::static_tf_broadcaster_
tf2_ros::StaticTransformBroadcaster static_tf_broadcaster_
Definition: camera.h:310
multisense_ros::Camera::device_info_
crl::multisense::system::DeviceInfo device_info_
Definition: camera.h:290
multisense_ros::Camera::right_mono_cam_info_pub_
ros::Publisher right_mono_cam_info_pub_
Definition: camera.h:213
multisense_ros::Camera::right_mono_cam_pub_
image_transport::Publisher right_mono_cam_pub_
Definition: camera.h:199
multisense_ros::Camera::aux_nh_
ros::NodeHandle aux_nh_
Definition: camera.h:171
multisense_ros::Camera::right_mono_image_
sensor_msgs::Image right_mono_image_
Definition: camera.h:255
header
const std::string header
multisense_ros::Camera::device_nh_
ros::NodeHandle device_nh_
Definition: camera.h:168
crl::multisense::ground_surface::Header
multisense_ros::Camera::ni_depth_image_
sensor_msgs::Image ni_depth_image_
Definition: camera.h:259
multisense_ros::Camera::ni_depth_transport_
image_transport::ImageTransport ni_depth_transport_
Definition: camera.h:185
multisense_ros::Camera::color_point_cloud_pub_
ros::Publisher color_point_cloud_pub_
Definition: camera.h:229
multisense_ros::Camera::MONO_CAMERA_INFO_TOPIC
static constexpr char MONO_CAMERA_INFO_TOPIC[]
Definition: camera.h:135
multisense_ros::Camera::frame_id_right_
const std::string frame_id_right_
Definition: camera.h:304
multisense_ros::Camera::RIGHT_RECTIFIED_FRAME
static constexpr char RIGHT_RECTIFIED_FRAME[]
Definition: camera.h:110
ros::Timer
multisense_ros::Camera::DISPARITY_IMAGE_TOPIC
static constexpr char DISPARITY_IMAGE_TOPIC[]
Definition: camera.h:125
multisense_ros::Camera::raw_cam_data_pub_
ros::Publisher raw_cam_data_pub_
Definition: camera.h:245
multisense_ros::Camera::DEPTH_CAMERA_INFO_TOPIC
static constexpr char DEPTH_CAMERA_INFO_TOPIC[]
Definition: camera.h:139
ros::NodeHandle
camera_publisher.h
multisense_ros::Camera::pointcloud_rect_color_buffer_
std::vector< uint8_t > pointcloud_rect_color_buffer_
Definition: camera.h:284
multisense_ros::Camera::right_disp_cam_info_pub_
ros::Publisher right_disp_cam_info_pub_
Definition: camera.h:217
crl::multisense::image::Header
multisense_ros::Camera::left_disparity_image_
sensor_msgs::Image left_disparity_image_
Definition: camera.h:272
multisense_ros::Camera::left_disparity_cost_pub_
image_transport::Publisher left_disparity_cost_pub_
Definition: camera.h:237


multisense_ros
Author(s):
autogenerated on Thu Apr 17 2025 02:49:24