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


multisense_ros
Author(s):
autogenerated on Thu Feb 20 2025 03:51:03