SLAM_Karto 学习(四) 深入理解 ScanMatch 过程 ScanMatch 调用过程 process函数UML process函数源码 ScanMatch 过程UML ScanMatch函数源码 FindPossibleLoopClosure函数 UML FindPossibleLoopClosure 函数源码 TryCloseLoop 函数 UML TryCloseLoop 函数源码 问题与思考 哪些节点可以成为回环检测的 Candidate? 减少 Candidate 数目是否会降低CPU运算量? 怎样减少Candidate数目? ScanMatch 调用过程 process函数UML process 函数是整个图优化的入口函数,包括激光的处理,图的构建及优化,其工作流程如下: Created with Raphaël 2.1.2 输入激光数据 激光 Validate? 地图初始化 ? 获得lastScan ? 利用LastScan和ODOM里程计初始化scan位姿 HaveMovedEnough? 第一束激光? 将scan 加入 scanBuffer, 分配id UseScanMatching 参数为true? 将scan加入GraphAddVertex, AddEdges, AddRunningScan DoLoopClosing 参数为true? TryCloseLoop 回环检测优化 将 scan 设置为 lastScan 结束 MatchScan利用RunningScan纠正位姿 结束 yes no yes no yes no yes no yes no yes