Split queue_size param into sync_queue_size and topic_queue_size parameters for more fine tuning of topic synchronization (#1054)

This commit is contained in:
matlabbe
2024-06-11 22:35:54 -07:00
parent 9ced85d5f8
commit ae44e1a215
33 changed files with 882 additions and 779 deletions
@@ -74,7 +74,8 @@ public:
bool isSubscribedToOdomInfo() const {return subscribedToOdomInfo_;}
bool isDataSubscribed() const {return isSubscribedToDepth() || isSubscribedToStereo() || isSubscribedToRGBD() || isSubscribedToScan2d() || isSubscribedToScan3d() || isSubscribedToRGB() || isSubscribedToOdom() || isSubscribedToSensorData();}
int rgbdCameras() const {return isSubscribedToRGBD()?(int)rgbdSubs_.size():0;}
int getQueueSize() const {return queueSize_;}
int getTopicQueueSize() const {return topicQueueSize_;}
int getSyncQueueSize() const {return syncQueueSize_;}
bool isApproxSync() const {return approxSync_;}
const std::string & name() const {return name_;}
@@ -140,16 +141,12 @@ private:
bool subscribeScan2d,
bool subscribeScan3d,
bool subscribeScanDesc,
bool subscribeOdomInfo,
int queueSize,
bool approxSync);
bool subscribeOdomInfo);
void setupStereoCallbacks(
ros::NodeHandle & nh,
ros::NodeHandle & pnh,
bool subscribeOdom,
bool subscribeOdomInfo,
int queueSize,
bool approxSync);
bool subscribeOdomInfo);
void setupRGBCallbacks(
ros::NodeHandle & nh,
ros::NodeHandle & pnh,
@@ -158,9 +155,7 @@ private:
bool subscribeScan2d,
bool subscribeScan3d,
bool subscribeScanDesc,
bool subscribeOdomInfo,
int queueSize,
bool approxSync);
bool subscribeOdomInfo);
void setupRGBDCallbacks(
ros::NodeHandle & nh,
ros::NodeHandle & pnh,
@@ -169,9 +164,7 @@ private:
bool subscribeScan2d,
bool subscribeScan3d,
bool subscribeScanDesc,
bool subscribeOdomInfo,
int queueSize,
bool approxSync);
bool subscribeOdomInfo);
void setupRGBDXCallbacks(
ros::NodeHandle & nh,
ros::NodeHandle & pnh,
@@ -180,9 +173,7 @@ private:
bool subscribeScan2d,
bool subscribeScan3d,
bool subscribeScanDesc,
bool subscribeOdomInfo,
int queueSize,
bool approxSync);
bool subscribeOdomInfo);
#ifdef RTABMAP_SYNC_MULTI_RGBD
void setupRGBD2Callbacks(
ros::NodeHandle & nh,
@@ -192,9 +183,7 @@ private:
bool subscribeScan2d,
bool subscribeScan3d,
bool subscribeScanDesc,
bool subscribeOdomInfo,
int queueSize,
bool approxSync);
bool subscribeOdomInfo);
void setupRGBD3Callbacks(
ros::NodeHandle & nh,
ros::NodeHandle & pnh,
@@ -203,9 +192,7 @@ private:
bool subscribeScan2d,
bool subscribeScan3d,
bool subscribeScanDesc,
bool subscribeOdomInfo,
int queueSize,
bool approxSync);
bool subscribeOdomInfo);
void setupRGBD4Callbacks(
ros::NodeHandle & nh,
ros::NodeHandle & pnh,
@@ -214,9 +201,7 @@ private:
bool subscribeScan2d,
bool subscribeScan3d,
bool subscribeScanDesc,
bool subscribeOdomInfo,
int queueSize,
bool approxSync);
bool subscribeOdomInfo);
void setupRGBD5Callbacks(
ros::NodeHandle & nh,
ros::NodeHandle & pnh,
@@ -225,9 +210,7 @@ private:
bool subscribeScan2d,
bool subscribeScan3d,
bool subscribeScanDesc,
bool subscribeOdomInfo,
int queueSize,
bool approxSync);
bool subscribeOdomInfo);
void setupRGBD6Callbacks(
ros::NodeHandle & nh,
ros::NodeHandle & pnh,
@@ -236,17 +219,13 @@ private:
bool subscribeScan2d,
bool subscribeScan3d,
bool subscribeScanDesc,
bool subscribeOdomInfo,
int queueSize,
bool approxSync);
bool subscribeOdomInfo);
#endif
void setupSensorDataCallbacks(
ros::NodeHandle & nh,
ros::NodeHandle & pnh,
bool subscribeOdom,
bool subscribeOdomInfo,
int queueSize,
bool approxSync);
bool subscribeOdomInfo);
void setupScanCallbacks(
ros::NodeHandle & nh,
ros::NodeHandle & pnh,
@@ -254,20 +233,17 @@ private:
bool subscribeScanDesc,
bool subscribeOdom,
bool subscribeUserData,
bool subscribeOdomInfo,
int queueSize,
bool approxSync);
bool subscribeOdomInfo);
void setupOdomCallbacks(
ros::NodeHandle & nh,
ros::NodeHandle & pnh,
bool subscribeUserData,
bool subscribeOdomInfo,
int queueSize,
bool approxSync);
bool subscribeOdomInfo);
protected:
std::string subscribedTopicsMsg_;
int queueSize_;
int topicQueueSize_;
int syncQueueSize_;
private:
bool approxSync_;
@@ -180,7 +180,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
} \
subscribedTopicsMsg_ = uFormat("\n%s subscribed to (%s sync):\n %s \\\n %s \\\n %s \\\n %s \\\n %s", \
name_.c_str(), \
approxSync?"approx":"exact", \
APPROX?"approx":"exact", \
SUB0.getTopic().c_str(), \
SUB1.getTopic().c_str(), \
SUB2.getTopic().c_str(), \