Skip to content

Commit 81ab80e

Browse files
committed
Allow no-spawn obj to erase another no-spawn one
1 parent aabd7cd commit 81ab80e

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

perception/multi_object_tracker/src/multi_object_tracker_core.cpp

+5-5
Original file line numberDiff line numberDiff line change
@@ -401,10 +401,6 @@ void MultiObjectTracker::sanitizeTracker(
401401

402402
/* delete collision tracker */
403403
for (size_t i = 0; i < sorted_list_tracker.size(); ++i) {
404-
/* block erasing if no measurement */
405-
if (sorted_list_tracker[i]->getNoMeasurementCount() > 0) {
406-
continue;
407-
}
408404
autoware_auto_perception_msgs::msg::TrackedObject object1;
409405
sorted_list_tracker[i]->getTrackedObject(time, object1);
410406
for (size_t j = i + 1; j < sorted_list_tracker.size(); ++j) {
@@ -430,7 +426,11 @@ void MultiObjectTracker::sanitizeTracker(
430426
if (label1 == Label::UNKNOWN || label2 == Label::UNKNOWN) {
431427
if (min_iou_for_unknown_object < iou) {
432428
if (label2 == Label::UNKNOWN) {
433-
should_delete_tracker2 = true;
429+
/* erase only when prioritized one has a measurement or the other one doesn't */
430+
if (sorted_list_tracker[i]->getNoMeasurementCount() <= 0 or
431+
sorted_list_tracker[j]->getNoMeasurementCount() > 0) {
432+
should_delete_tracker2 = true;
433+
}
434434
}
435435
}
436436
} else { // If neither is UNKNOWN, delete the one with lower IOU.

0 commit comments

Comments
 (0)