1. 程式人生 > >Cartographer源碼閱讀(8):圖優化的前端——閉環檢測

Cartographer源碼閱讀(8):圖優化的前端——閉環檢測

tips 閱讀 psc style con 總結 rap mapi tex

約束計算

閉環檢測的策略:搜索閉環

分支定界法

通過匹配檢測是否是閉環

前已經述及PoseGraph的內容,此處繼續。位姿圖類定義了pose_graph::ConstraintBuilder constraint_builder_對象。

ConstraintBuilder類

定義了SubmapScanMatcher的鍵值對。

1 // Map of already constructed scan matchers by ‘submap_id‘.
2 std::map<mapping::SubmapId, SubmapScanMatcher> submap_scan_matchers_ GUARDED_BY(mutex_);

SubmapScanMatcher結構體定義如下:

1   struct SubmapScanMatcher 
2  {
3     const ProbabilityGrid* probability_grid;
4     std::unique_ptr<scan_matching::FastCorrelativeScanMatcher>
5         fast_correlative_scan_matcher;
6   };

這裏出現了scan_matching::FastCorrelativeScanMatcher,另一種掃描匹配的方法。論文中介紹的分支定界法就在這個類中實現。

Tips:總結一下出現的幾種掃描匹配的方法?

FastCorrelativeScanMatcher::BranchAndBound

Cartographer源碼閱讀(8):圖優化的前端——閉環檢測