From ead051af89e29d695d2a7bfe6e9f837a6f9f5b5a Mon Sep 17 00:00:00 2001 From: Mike Hamer Date: Tue, 4 Dec 2012 10:42:27 +0100 Subject: [PATCH] tags_xc no longer grows; cleared each round. Should fix bug introduced in 5969064, where legacynavdata_msg was moved to a member variable. Because of this we need to clear vector datatypes, otherwise they accumulate over time through .push_back() --- src/ardrone_driver.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/ardrone_driver.cpp b/src/ardrone_driver.cpp index c581215..471600c 100644 --- a/src/ardrone_driver.cpp +++ b/src/ardrone_driver.cpp @@ -682,7 +682,15 @@ void ARDroneDriver::publish_navdata(navdata_unpacked_t &navdata_raw, const ros:: legacynavdata_msg.wind_comp_angle = 0.0; } - // Tag Detection + // Tag Detection, need to clear vectors first because it's a member variable now + legacynavdata_msg.tags_type.clear(); + legacynavdata_msg.tags_xc.clear(); + legacynavdata_msg.tags_yc.clear(); + legacynavdata_msg.tags_width.clear(); + legacynavdata_msg.tags_height.clear(); + legacynavdata_msg.tags_orientation.clear(); + legacynavdata_msg.tags_distance.clear(); + legacynavdata_msg.tags_count = navdata_raw.navdata_vision_detect.nb_detected; for (int i = 0; i < navdata_raw.navdata_vision_detect.nb_detected; i++) {