35 #define IMAGE_CONVERSION() \ 37 std::vector<cv_bridge::CvImageConstPtr> imageMsgs(4); \ 38 std::vector<cv_bridge::CvImageConstPtr> depthMsgs(4); \ 39 rtabmap_ros::toCvShare(image1Msg, imageMsgs[0], depthMsgs[0]); \ 40 rtabmap_ros::toCvShare(image2Msg, imageMsgs[1], depthMsgs[1]); \ 41 rtabmap_ros::toCvShare(image3Msg, imageMsgs[2], depthMsgs[2]); \ 42 rtabmap_ros::toCvShare(image4Msg, imageMsgs[3], depthMsgs[3]); \ 43 std::vector<sensor_msgs::CameraInfo> cameraInfoMsgs; \ 44 cameraInfoMsgs.push_back(image1Msg->rgbCameraInfo); \ 45 cameraInfoMsgs.push_back(image2Msg->rgbCameraInfo); \ 46 cameraInfoMsgs.push_back(image3Msg->rgbCameraInfo); \ 47 cameraInfoMsgs.push_back(image4Msg->rgbCameraInfo); 50 void CommonDataSubscriber::rgbd4Callback(
51 const rtabmap_ros::RGBDImageConstPtr& image1Msg,
52 const rtabmap_ros::RGBDImageConstPtr& image2Msg,
53 const rtabmap_ros::RGBDImageConstPtr& image3Msg,
54 const rtabmap_ros::RGBDImageConstPtr& image4Msg)
58 nav_msgs::OdometryConstPtr odomMsg;
59 rtabmap_ros::UserDataConstPtr userDataMsg;
60 sensor_msgs::LaserScanConstPtr scanMsg;
61 sensor_msgs::PointCloud2ConstPtr scan3dMsg;
62 rtabmap_ros::OdomInfoConstPtr odomInfoMsg;
63 commonDepthCallback(odomMsg, userDataMsg, imageMsgs, depthMsgs, cameraInfoMsgs, scanMsg, scan3dMsg, odomInfoMsg);
65 void CommonDataSubscriber::rgbd4Scan2dCallback(
66 const rtabmap_ros::RGBDImageConstPtr& image1Msg,
67 const rtabmap_ros::RGBDImageConstPtr& image2Msg,
68 const rtabmap_ros::RGBDImageConstPtr& image3Msg,
69 const rtabmap_ros::RGBDImageConstPtr& image4Msg,
70 const sensor_msgs::LaserScanConstPtr& scanMsg)
74 nav_msgs::OdometryConstPtr odomMsg;
75 rtabmap_ros::UserDataConstPtr userDataMsg;
76 sensor_msgs::PointCloud2ConstPtr scan3dMsg;
77 rtabmap_ros::OdomInfoConstPtr odomInfoMsg;
78 commonDepthCallback(odomMsg, userDataMsg, imageMsgs, depthMsgs, cameraInfoMsgs, scanMsg, scan3dMsg, odomInfoMsg);
80 void CommonDataSubscriber::rgbd4Scan3dCallback(
81 const rtabmap_ros::RGBDImageConstPtr& image1Msg,
82 const rtabmap_ros::RGBDImageConstPtr& image2Msg,
83 const rtabmap_ros::RGBDImageConstPtr& image3Msg,
84 const rtabmap_ros::RGBDImageConstPtr& image4Msg,
85 const sensor_msgs::PointCloud2ConstPtr& scan3dMsg)
89 nav_msgs::OdometryConstPtr odomMsg;
90 rtabmap_ros::UserDataConstPtr userDataMsg;
91 sensor_msgs::LaserScanConstPtr scanMsg;
92 rtabmap_ros::OdomInfoConstPtr odomInfoMsg;
93 commonDepthCallback(odomMsg, userDataMsg, imageMsgs, depthMsgs, cameraInfoMsgs, scanMsg, scan3dMsg, odomInfoMsg);
95 void CommonDataSubscriber::rgbd4InfoCallback(
96 const rtabmap_ros::RGBDImageConstPtr& image1Msg,
97 const rtabmap_ros::RGBDImageConstPtr& image2Msg,
98 const rtabmap_ros::RGBDImageConstPtr& image3Msg,
99 const rtabmap_ros::RGBDImageConstPtr& image4Msg,
100 const rtabmap_ros::OdomInfoConstPtr& odomInfoMsg)
104 nav_msgs::OdometryConstPtr odomMsg;
105 rtabmap_ros::UserDataConstPtr userDataMsg;
106 sensor_msgs::LaserScanConstPtr scanMsg;
107 sensor_msgs::PointCloud2ConstPtr scan3dMsg;
108 commonDepthCallback(odomMsg, userDataMsg, imageMsgs, depthMsgs, cameraInfoMsgs, scanMsg, scan3dMsg, odomInfoMsg);
110 void CommonDataSubscriber::rgbd4Scan2dInfoCallback(
111 const rtabmap_ros::RGBDImageConstPtr& image1Msg,
112 const rtabmap_ros::RGBDImageConstPtr& image2Msg,
113 const rtabmap_ros::RGBDImageConstPtr& image3Msg,
114 const rtabmap_ros::RGBDImageConstPtr& image4Msg,
115 const sensor_msgs::LaserScanConstPtr& scanMsg,
116 const rtabmap_ros::OdomInfoConstPtr& odomInfoMsg)
120 nav_msgs::OdometryConstPtr odomMsg;
121 rtabmap_ros::UserDataConstPtr userDataMsg;
122 sensor_msgs::PointCloud2ConstPtr scan3dMsg;
123 commonDepthCallback(odomMsg, userDataMsg, imageMsgs, depthMsgs, cameraInfoMsgs, scanMsg, scan3dMsg, odomInfoMsg);
125 void CommonDataSubscriber::rgbd4Scan3dInfoCallback(
126 const rtabmap_ros::RGBDImageConstPtr& image1Msg,
127 const rtabmap_ros::RGBDImageConstPtr& image2Msg,
128 const rtabmap_ros::RGBDImageConstPtr& image3Msg,
129 const rtabmap_ros::RGBDImageConstPtr& image4Msg,
130 const sensor_msgs::PointCloud2ConstPtr& scan3dMsg,
131 const rtabmap_ros::OdomInfoConstPtr& odomInfoMsg)
135 nav_msgs::OdometryConstPtr odomMsg;
136 rtabmap_ros::UserDataConstPtr userDataMsg;
137 sensor_msgs::LaserScanConstPtr scanMsg;
138 commonDepthCallback(odomMsg, userDataMsg, imageMsgs, depthMsgs, cameraInfoMsgs, scanMsg, scan3dMsg, odomInfoMsg);
142 void CommonDataSubscriber::rgbd4OdomCallback(
143 const nav_msgs::OdometryConstPtr & odomMsg,
144 const rtabmap_ros::RGBDImageConstPtr& image1Msg,
145 const rtabmap_ros::RGBDImageConstPtr& image2Msg,
146 const rtabmap_ros::RGBDImageConstPtr& image3Msg,
147 const rtabmap_ros::RGBDImageConstPtr& image4Msg)
151 rtabmap_ros::UserDataConstPtr userDataMsg;
152 sensor_msgs::LaserScanConstPtr scanMsg;
153 sensor_msgs::PointCloud2ConstPtr scan3dMsg;
154 rtabmap_ros::OdomInfoConstPtr odomInfoMsg;
155 commonDepthCallback(odomMsg, userDataMsg, imageMsgs, depthMsgs, cameraInfoMsgs, scanMsg, scan3dMsg, odomInfoMsg);
157 void CommonDataSubscriber::rgbd4OdomScan2dCallback(
158 const nav_msgs::OdometryConstPtr & odomMsg,
159 const rtabmap_ros::RGBDImageConstPtr& image1Msg,
160 const rtabmap_ros::RGBDImageConstPtr& image2Msg,
161 const rtabmap_ros::RGBDImageConstPtr& image3Msg,
162 const rtabmap_ros::RGBDImageConstPtr& image4Msg,
163 const sensor_msgs::LaserScanConstPtr& scanMsg)
167 rtabmap_ros::UserDataConstPtr userDataMsg;
168 sensor_msgs::PointCloud2ConstPtr scan3dMsg;
169 rtabmap_ros::OdomInfoConstPtr odomInfoMsg;
170 commonDepthCallback(odomMsg, userDataMsg, imageMsgs, depthMsgs, cameraInfoMsgs, scanMsg, scan3dMsg, odomInfoMsg);
172 void CommonDataSubscriber::rgbd4OdomScan3dCallback(
173 const nav_msgs::OdometryConstPtr & odomMsg,
174 const rtabmap_ros::RGBDImageConstPtr& image1Msg,
175 const rtabmap_ros::RGBDImageConstPtr& image2Msg,
176 const rtabmap_ros::RGBDImageConstPtr& image3Msg,
177 const rtabmap_ros::RGBDImageConstPtr& image4Msg,
178 const sensor_msgs::PointCloud2ConstPtr& scan3dMsg)
182 rtabmap_ros::UserDataConstPtr userDataMsg;
183 sensor_msgs::LaserScanConstPtr scanMsg;
184 rtabmap_ros::OdomInfoConstPtr odomInfoMsg;
185 commonDepthCallback(odomMsg, userDataMsg, imageMsgs, depthMsgs, cameraInfoMsgs, scanMsg, scan3dMsg, odomInfoMsg);
187 void CommonDataSubscriber::rgbd4OdomInfoCallback(
188 const nav_msgs::OdometryConstPtr & odomMsg,
189 const rtabmap_ros::RGBDImageConstPtr& image1Msg,
190 const rtabmap_ros::RGBDImageConstPtr& image2Msg,
191 const rtabmap_ros::RGBDImageConstPtr& image3Msg,
192 const rtabmap_ros::RGBDImageConstPtr& image4Msg,
193 const rtabmap_ros::OdomInfoConstPtr& odomInfoMsg)
197 rtabmap_ros::UserDataConstPtr userDataMsg;
198 sensor_msgs::LaserScanConstPtr scanMsg;
199 sensor_msgs::PointCloud2ConstPtr scan3dMsg;
200 commonDepthCallback(odomMsg, userDataMsg, imageMsgs, depthMsgs, cameraInfoMsgs, scanMsg, scan3dMsg, odomInfoMsg);
202 void CommonDataSubscriber::rgbd4OdomScan2dInfoCallback(
203 const nav_msgs::OdometryConstPtr & odomMsg,
204 const rtabmap_ros::RGBDImageConstPtr& image1Msg,
205 const rtabmap_ros::RGBDImageConstPtr& image2Msg,
206 const rtabmap_ros::RGBDImageConstPtr& image3Msg,
207 const rtabmap_ros::RGBDImageConstPtr& image4Msg,
208 const sensor_msgs::LaserScanConstPtr& scanMsg,
209 const rtabmap_ros::OdomInfoConstPtr& odomInfoMsg)
213 rtabmap_ros::UserDataConstPtr userDataMsg;
214 sensor_msgs::PointCloud2ConstPtr scan3dMsg;
215 commonDepthCallback(odomMsg, userDataMsg, imageMsgs, depthMsgs, cameraInfoMsgs, scanMsg, scan3dMsg, odomInfoMsg);
217 void CommonDataSubscriber::rgbd4OdomScan3dInfoCallback(
218 const nav_msgs::OdometryConstPtr & odomMsg,
219 const rtabmap_ros::RGBDImageConstPtr& image1Msg,
220 const rtabmap_ros::RGBDImageConstPtr& image2Msg,
221 const rtabmap_ros::RGBDImageConstPtr& image3Msg,
222 const rtabmap_ros::RGBDImageConstPtr& image4Msg,
223 const sensor_msgs::PointCloud2ConstPtr& scan3dMsg,
224 const rtabmap_ros::OdomInfoConstPtr& odomInfoMsg)
228 rtabmap_ros::UserDataConstPtr userDataMsg;
229 sensor_msgs::LaserScanConstPtr scanMsg;
230 commonDepthCallback(odomMsg, userDataMsg, imageMsgs, depthMsgs, cameraInfoMsgs, scanMsg, scan3dMsg, odomInfoMsg);
234 void CommonDataSubscriber::rgbd4DataCallback(
235 const rtabmap_ros::UserDataConstPtr& userDataMsg,
236 const rtabmap_ros::RGBDImageConstPtr& image1Msg,
237 const rtabmap_ros::RGBDImageConstPtr& image2Msg,
238 const rtabmap_ros::RGBDImageConstPtr& image3Msg,
239 const rtabmap_ros::RGBDImageConstPtr& image4Msg)
243 nav_msgs::OdometryConstPtr odomMsg;
244 sensor_msgs::LaserScanConstPtr scanMsg;
245 sensor_msgs::PointCloud2ConstPtr scan3dMsg;
246 rtabmap_ros::OdomInfoConstPtr odomInfoMsg;
247 commonDepthCallback(odomMsg, userDataMsg, imageMsgs, depthMsgs, cameraInfoMsgs, scanMsg, scan3dMsg, odomInfoMsg);
249 void CommonDataSubscriber::rgbd4DataScan2dCallback(
250 const rtabmap_ros::UserDataConstPtr& userDataMsg,
251 const rtabmap_ros::RGBDImageConstPtr& image1Msg,
252 const rtabmap_ros::RGBDImageConstPtr& image2Msg,
253 const rtabmap_ros::RGBDImageConstPtr& image3Msg,
254 const rtabmap_ros::RGBDImageConstPtr& image4Msg,
255 const sensor_msgs::LaserScanConstPtr& scanMsg)
259 nav_msgs::OdometryConstPtr odomMsg;
260 sensor_msgs::PointCloud2ConstPtr scan3dMsg;
261 rtabmap_ros::OdomInfoConstPtr odomInfoMsg;
262 commonDepthCallback(odomMsg, userDataMsg, imageMsgs, depthMsgs, cameraInfoMsgs, scanMsg, scan3dMsg, odomInfoMsg);
264 void CommonDataSubscriber::rgbd4DataScan3dCallback(
265 const rtabmap_ros::UserDataConstPtr& userDataMsg,
266 const rtabmap_ros::RGBDImageConstPtr& image1Msg,
267 const rtabmap_ros::RGBDImageConstPtr& image2Msg,
268 const rtabmap_ros::RGBDImageConstPtr& image3Msg,
269 const rtabmap_ros::RGBDImageConstPtr& image4Msg,
270 const sensor_msgs::PointCloud2ConstPtr& scan3dMsg)
274 nav_msgs::OdometryConstPtr odomMsg;
275 sensor_msgs::LaserScanConstPtr scanMsg;
276 rtabmap_ros::OdomInfoConstPtr odomInfoMsg;
277 commonDepthCallback(odomMsg, userDataMsg, imageMsgs, depthMsgs, cameraInfoMsgs, scanMsg, scan3dMsg, odomInfoMsg);
279 void CommonDataSubscriber::rgbd4DataInfoCallback(
280 const rtabmap_ros::UserDataConstPtr& userDataMsg,
281 const rtabmap_ros::RGBDImageConstPtr& image1Msg,
282 const rtabmap_ros::RGBDImageConstPtr& image2Msg,
283 const rtabmap_ros::RGBDImageConstPtr& image3Msg,
284 const rtabmap_ros::RGBDImageConstPtr& image4Msg,
285 const rtabmap_ros::OdomInfoConstPtr& odomInfoMsg)
289 nav_msgs::OdometryConstPtr odomMsg;
290 sensor_msgs::LaserScanConstPtr scanMsg;
291 sensor_msgs::PointCloud2ConstPtr scan3dMsg;
292 commonDepthCallback(odomMsg, userDataMsg, imageMsgs, depthMsgs, cameraInfoMsgs, scanMsg, scan3dMsg, odomInfoMsg);
294 void CommonDataSubscriber::rgbd4DataScan2dInfoCallback(
295 const rtabmap_ros::UserDataConstPtr& userDataMsg,
296 const rtabmap_ros::RGBDImageConstPtr& image1Msg,
297 const rtabmap_ros::RGBDImageConstPtr& image2Msg,
298 const rtabmap_ros::RGBDImageConstPtr& image3Msg,
299 const rtabmap_ros::RGBDImageConstPtr& image4Msg,
300 const sensor_msgs::LaserScanConstPtr& scanMsg,
301 const rtabmap_ros::OdomInfoConstPtr& odomInfoMsg)
305 nav_msgs::OdometryConstPtr odomMsg;
306 sensor_msgs::PointCloud2ConstPtr scan3dMsg;
307 commonDepthCallback(odomMsg, userDataMsg, imageMsgs, depthMsgs, cameraInfoMsgs, scanMsg, scan3dMsg, odomInfoMsg);
309 void CommonDataSubscriber::rgbd4DataScan3dInfoCallback(
310 const rtabmap_ros::UserDataConstPtr& userDataMsg,
311 const rtabmap_ros::RGBDImageConstPtr& image1Msg,
312 const rtabmap_ros::RGBDImageConstPtr& image2Msg,
313 const rtabmap_ros::RGBDImageConstPtr& image3Msg,
314 const rtabmap_ros::RGBDImageConstPtr& image4Msg,
315 const sensor_msgs::PointCloud2ConstPtr& scan3dMsg,
316 const rtabmap_ros::OdomInfoConstPtr& odomInfoMsg)
320 nav_msgs::OdometryConstPtr odomMsg;
321 sensor_msgs::LaserScanConstPtr scanMsg;
322 commonDepthCallback(odomMsg, userDataMsg, imageMsgs, depthMsgs, cameraInfoMsgs, scanMsg, scan3dMsg, odomInfoMsg);
326 void CommonDataSubscriber::rgbd4OdomDataCallback(
327 const nav_msgs::OdometryConstPtr& odomMsg,
328 const rtabmap_ros::UserDataConstPtr& userDataMsg,
329 const rtabmap_ros::RGBDImageConstPtr& image1Msg,
330 const rtabmap_ros::RGBDImageConstPtr& image2Msg,
331 const rtabmap_ros::RGBDImageConstPtr& image3Msg,
332 const rtabmap_ros::RGBDImageConstPtr& image4Msg)
336 sensor_msgs::LaserScanConstPtr scanMsg;
337 sensor_msgs::PointCloud2ConstPtr scan3dMsg;
338 rtabmap_ros::OdomInfoConstPtr odomInfoMsg;
339 commonDepthCallback(odomMsg, userDataMsg, imageMsgs, depthMsgs, cameraInfoMsgs, scanMsg, scan3dMsg, odomInfoMsg);
341 void CommonDataSubscriber::rgbd4OdomDataScan2dCallback(
342 const nav_msgs::OdometryConstPtr& odomMsg,
343 const rtabmap_ros::UserDataConstPtr& userDataMsg,
344 const rtabmap_ros::RGBDImageConstPtr& image1Msg,
345 const rtabmap_ros::RGBDImageConstPtr& image2Msg,
346 const rtabmap_ros::RGBDImageConstPtr& image3Msg,
347 const rtabmap_ros::RGBDImageConstPtr& image4Msg,
348 const sensor_msgs::LaserScanConstPtr& scanMsg)
352 sensor_msgs::PointCloud2ConstPtr scan3dMsg;
353 rtabmap_ros::OdomInfoConstPtr odomInfoMsg;
354 commonDepthCallback(odomMsg, userDataMsg, imageMsgs, depthMsgs, cameraInfoMsgs, scanMsg, scan3dMsg, odomInfoMsg);
356 void CommonDataSubscriber::rgbd4OdomDataScan3dCallback(
357 const nav_msgs::OdometryConstPtr& odomMsg,
358 const rtabmap_ros::UserDataConstPtr& userDataMsg,
359 const rtabmap_ros::RGBDImageConstPtr& image1Msg,
360 const rtabmap_ros::RGBDImageConstPtr& image2Msg,
361 const rtabmap_ros::RGBDImageConstPtr& image3Msg,
362 const rtabmap_ros::RGBDImageConstPtr& image4Msg,
363 const sensor_msgs::PointCloud2ConstPtr& scan3dMsg)
367 sensor_msgs::LaserScanConstPtr scanMsg;
368 rtabmap_ros::OdomInfoConstPtr odomInfoMsg;
369 commonDepthCallback(odomMsg, userDataMsg, imageMsgs, depthMsgs, cameraInfoMsgs, scanMsg, scan3dMsg, odomInfoMsg);
371 void CommonDataSubscriber::rgbd4OdomDataInfoCallback(
372 const nav_msgs::OdometryConstPtr& odomMsg,
373 const rtabmap_ros::UserDataConstPtr& userDataMsg,
374 const rtabmap_ros::RGBDImageConstPtr& image1Msg,
375 const rtabmap_ros::RGBDImageConstPtr& image2Msg,
376 const rtabmap_ros::RGBDImageConstPtr& image3Msg,
377 const rtabmap_ros::RGBDImageConstPtr& image4Msg,
378 const rtabmap_ros::OdomInfoConstPtr& odomInfoMsg)
382 sensor_msgs::LaserScanConstPtr scanMsg;
383 sensor_msgs::PointCloud2ConstPtr scan3dMsg;
384 commonDepthCallback(odomMsg, userDataMsg, imageMsgs, depthMsgs, cameraInfoMsgs, scanMsg, scan3dMsg, odomInfoMsg);
386 void CommonDataSubscriber::rgbd4OdomDataScan2dInfoCallback(
387 const nav_msgs::OdometryConstPtr& odomMsg,
388 const rtabmap_ros::UserDataConstPtr& userDataMsg,
389 const rtabmap_ros::RGBDImageConstPtr& image1Msg,
390 const rtabmap_ros::RGBDImageConstPtr& image2Msg,
391 const rtabmap_ros::RGBDImageConstPtr& image3Msg,
392 const rtabmap_ros::RGBDImageConstPtr& image4Msg,
393 const sensor_msgs::LaserScanConstPtr& scanMsg,
394 const rtabmap_ros::OdomInfoConstPtr& odomInfoMsg)
398 sensor_msgs::PointCloud2ConstPtr scan3dMsg;
399 commonDepthCallback(odomMsg, userDataMsg, imageMsgs, depthMsgs, cameraInfoMsgs, scanMsg, scan3dMsg, odomInfoMsg);
401 void CommonDataSubscriber::rgbd4OdomDataScan3dInfoCallback(
402 const nav_msgs::OdometryConstPtr& odomMsg,
403 const rtabmap_ros::UserDataConstPtr& userDataMsg,
404 const rtabmap_ros::RGBDImageConstPtr& image1Msg,
405 const rtabmap_ros::RGBDImageConstPtr& image2Msg,
406 const rtabmap_ros::RGBDImageConstPtr& image3Msg,
407 const rtabmap_ros::RGBDImageConstPtr& image4Msg,
408 const sensor_msgs::PointCloud2ConstPtr& scan3dMsg,
409 const rtabmap_ros::OdomInfoConstPtr& odomInfoMsg)
413 sensor_msgs::LaserScanConstPtr scanMsg;
414 commonDepthCallback(odomMsg, userDataMsg, imageMsgs, depthMsgs, cameraInfoMsgs, scanMsg, scan3dMsg, odomInfoMsg);
421 bool subscribeUserData,
422 bool subscribeScan2d,
423 bool subscribeScan3d,
424 bool subscribeOdomInfo,
431 for(
int i=0; i<4; ++i)
436 if(subscribeOdom && subscribeUserData)
444 if(subscribeOdomInfo)
448 SYNC_DECL8(rgbd4OdomDataScan2dInfo, approxSync, queueSize,
odomSub_,
userDataSub_, (*
rgbdSubs_[0]), (*
rgbdSubs_[1]), (*
rgbdSubs_[2]), (*
rgbdSubs_[3]),
scanSub_,
odomInfoSub_);
455 else if(subscribeScan3d)
459 if(subscribeOdomInfo)
463 SYNC_DECL8(rgbd4OdomDataScan3dInfo, approxSync, queueSize,
odomSub_,
userDataSub_, (*
rgbdSubs_[0]), (*
rgbdSubs_[1]), (*
rgbdSubs_[2]), (*
rgbdSubs_[3]),
scan3dSub_,
odomInfoSub_);
470 else if(subscribeOdomInfo)
481 else if(subscribeOdom)
488 if(subscribeOdomInfo)
499 else if(subscribeScan3d)
503 if(subscribeOdomInfo)
514 else if(subscribeOdomInfo)
525 else if(subscribeUserData)
532 if(subscribeOdomInfo)
543 else if(subscribeScan3d)
547 if(subscribeOdomInfo)
558 else if(subscribeOdomInfo)
575 if(subscribeOdomInfo)
586 else if(subscribeScan3d)
590 if(subscribeOdomInfo)
601 else if(subscribeOdomInfo)
std::string uFormat(const char *fmt,...)
#define SYNC_DECL7(PREFIX, APPROX, QUEUE_SIZE, SUB0, SUB1, SUB2, SUB3, SUB4, SUB5, SUB6)
#define SYNC_DECL5(PREFIX, APPROX, QUEUE_SIZE, SUB0, SUB1, SUB2, SUB3, SUB4)
virtual void commonDepthCallback(const nav_msgs::OdometryConstPtr &odomMsg, const rtabmap_ros::UserDataConstPtr &userDataMsg, const std::vector< cv_bridge::CvImageConstPtr > &imageMsgs, const std::vector< cv_bridge::CvImageConstPtr > &depthMsgs, const std::vector< sensor_msgs::CameraInfo > &cameraInfoMsgs, const sensor_msgs::LaserScanConstPtr &scanMsg, const sensor_msgs::PointCloud2ConstPtr &scan3dMsg, const rtabmap_ros::OdomInfoConstPtr &odomInfoMsg)=0
message_filters::Subscriber< rtabmap_ros::UserData > userDataSub_
bool subscribedToOdomInfo_
void setupRGBD4Callbacks(ros::NodeHandle &nh, ros::NodeHandle &pnh, bool subscribeOdom, bool subscribeUserData, bool subscribeScan2d, bool subscribeScan3d, bool subscribeOdomInfo, int queueSize, bool approxSync)
#define SYNC_DECL6(PREFIX, APPROX, QUEUE_SIZE, SUB0, SUB1, SUB2, SUB3, SUB4, SUB5)
message_filters::Subscriber< rtabmap_ros::OdomInfo > odomInfoSub_
#define IMAGE_CONVERSION()
message_filters::Subscriber< sensor_msgs::LaserScan > scanSub_
#define SYNC_DECL4(PREFIX, APPROX, QUEUE_SIZE, SUB0, SUB1, SUB2, SUB3)
message_filters::Subscriber< nav_msgs::Odometry > odomSub_
message_filters::Subscriber< sensor_msgs::PointCloud2 > scan3dSub_
void subscribe(ros::NodeHandle &nh, const std::string &topic, uint32_t queue_size, const ros::TransportHints &transport_hints=ros::TransportHints(), ros::CallbackQueueInterface *callback_queue=0)
#define SYNC_DECL8(PREFIX, APPROX, QUEUE_SIZE, SUB0, SUB1, SUB2, SUB3, SUB4, SUB5, SUB6, SUB7)
std::vector< message_filters::Subscriber< rtabmap_ros::RGBDImage > * > rgbdSubs_