120 {
122 if (algorithm::SensorManager::Instance()->
IsCamera(sensor_id)) {
123 camera_object =
track_ref_->GetSensorObject(sensor_id);
124 UpdateToicWithoutCameraMeasurement(sensor_id, measurement_timestamp,
125 min_match_dist);
126 }
131 if ((lidar_object != nullptr && lidar_object->GetSensorId() == sensor_id) ||
132 (camera_object_latest != nullptr &&
133 camera_object_latest->GetSensorId() == sensor_id) ||
134 (radar_object != nullptr && radar_object->GetSensorId() == sensor_id &&
135 lidar_object == nullptr && camera_object_latest == nullptr)) {
136 Dst existence_evidence(fused_existence_.
Name());
137 double unexist_factor = GetUnexistReliability(sensor_id);
139 double dist_decay = ComputeDistDecay(obj, sensor_id, measurement_timestamp);
140 double obj_unexist_prob = unexist_factor * dist_decay;
141 existence_evidence.SetBba(
144
145 const double unexist_fused_w = 1.0;
146 double min_match_dist_score = min_match_dist;
147
148
149
150
152 << " min_match_dist: " << min_match_dist
153 << " min_match_dist_score: " << min_match_dist_score;
154 fused_existence_ = fused_existence_ + existence_evidence * unexist_fused_w *
155 (1 - min_match_dist_score);
157 << " 1 - match_dist_score: " << 1 - min_match_dist_score
158 << " sensor_id: " << sensor_id << " dist_decay: " << dist_decay
160 }
161 UpdateExistenceState();
162}
std::shared_ptr< const SensorObject > SensorObjectConstPtr