简易介绍:通过阅读代码,前端做了很多畸变矫正和多激光传感器数据融合的工作,还有使用CSM或者ceres激光匹配的工作,后端通过分支界定匹配算法进行类似CSM的激光匹配(所以当约束增加时会增加计算量),后端另一个是使用ceres解优化方程(这一部分我感觉资源消耗并不高)。所以我认为优化的方向首先是计算合理的约束关系,再来解决前端计算量(激光频率30Hz时我觉的没有必要做畸变矫正,同时单雷达没有必要使用多传感器融合的方式),最后再来优化ceres解优化方程(感觉几乎不需要优化,可感觉不一定对)。
总结:
分类 | 内容 | 占用比率 | 优化方向 |
---|---|---|---|
前端 | 激光畸变矫正、多激光数据融合、CSM或ceres激光匹配 | 40% | 激光不需要去畸变、单激光不需要使用融合方式,有IMU时不使用CSM方式做前端匹配 |
后端 | 分支界定类似CSM激光匹配 | 45% | 减少不合理的约束关系,因为每个约束关系需要使用分支界定的激光匹配,这个是占比较大的计算资源 |
后端 | ceres优化位姿图方程 | 5% | 还不知道咋优化 |
一般优化后,建图100*100地图,使用i5的低压工控机实际占用比率在2~5%,大地图应该也是一样(因为前端资源一样,后端只要不重复出现同一区域多次也不会上升资源,当然cartographer的作者对于重复出现的场景使用Trimmer删除相似子图来解决这个问题)。