自动驾驶Apollo6.0源码阅读-感知篇:感知融合 前景融合
ProbabilisticFusion::FuseForegroundTrack

matcher_->Associate
自动驾驶Apollo6.0源码阅读-感知篇:感知融合-数据关联
this->UpdateAssignedTracks
匹配上的结果做更新,使用探测更新tracker,tracker类是pdf_tracker
void ProbabilisticFusion::UpdateAssignedTracks(
const SensorFramePtr& frame,
const std::vector<TrackMeasurmentPair>& assignments) {
TrackerOptions options;
options.match_distance = 0;
for (size_t i = 0; i < assignments.size(); ++i) {
size_t track_ind = assignments[i].first;
size_t obj_ind = assignments[i].second;
//pbf_tracker,观测更新tracker
trackers_[track_ind]->UpdateWithMeasurement(
options, frame->GetForegroundObjects()[obj_ind], frame->GetTimestamp());
}
}
tracker更新的函数中会更新四个部分,existence、motion、shape、type和tracker的信息,前四个fusion的配置参数在modules/perception/proto/pbf_tracker_config.proto,就是init()中的默认值。
// 观测更新tracker
void PbfTracker::UpdateWithMeasurement(const TrackerOptions& options,

本文深入解析Apollo6.0自动驾驶系统的感知融合过程,重点介绍了ProbabilisticFusion模块的数据关联、已匹配和未匹配航迹的更新,以及新航迹创建的细节。涉及到的关键技术包括证据推理(DS理论)、卡尔曼滤波以及匈牙利匹配算法在数据融合和跟踪中的应用。
最低0.47元/天 解锁文章
986

被折叠的 条评论
为什么被折叠?



