![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
lidar
文章平均质量分 79
2d and 3d lidar slam
陋室逢雨
leatherwang@foxmail.com
欢迎交流!
展开
-
GMapping与AMCL中的粒子滤波对比
GMapping和AMCL都是基于粒子滤波实现的,前者是一个SLAM过程,后者是一个Pure Localization过程,导致二者在具体实现有很大不同。1. 粒子属性AMCL粒子仅包含pose+weight,因此需要较多的粒子,才能比较好的表示机器人位姿的估计(比如,max_samples: 1000, min_samples: 100)GMapping粒子包含轨迹+地图+weight,粒子数不能太多,否则占用内存过多2. 粒子初始化GMapping的粒子的pose在刚初始时刻都是.原创 2021-04-11 19:56:24 · 1092 阅读 · 0 评论 -
【cartographer】(二)分支定界
分支定界将2D ICP问题转换成了DFS问题. 随着分支层数的增加,ICP的步长越小. 定界的关键是保证父分支的ICP得分都比其子分支的得分要高.1. DFS直接使用暴力法求解ICP问题无疑复杂度极高,如果我们看过一些ICP求解代码,即可发现其本质是一个先粗后精遍历的问题,这与DFS深度优先搜索很像,这里的深度在ICP中叫做精度,即遍历的步长,下图是一个DFS搜索树示例,2. 分支(Branching rule)cartographer中设置的DFS树共有8层,分别表示从顶层(dept.原创 2021-04-05 16:05:10 · 2042 阅读 · 0 评论 -
【cartographer】(一)占据栅格地图更新策略
cartographer中的栅格地图中每个栅格存储的是这个格子的空闲概率,这样scan match就能很方便地转换成了最小二乘问题1. Probability、Odds、CorrespondenceCost、Value的区别Probability:占据概率Odds:p/(1-p),见上CorrespondenceCost:空闲概率Value:将浮点空闲概率映射到[1-32767]的整型value2. 预计算hit_table和miss_table这两个table存的都是Value(.原创 2021-04-05 11:59:49 · 2466 阅读 · 0 评论 -
雷达安装方向与运动畸变去除
2D雷达的安装方向与坐标系的定义有关,range矩阵的存储顺序与去畸变有关,当倒装雷达时,会改变我们看到的雷达的旋转方向,需要使用外参对雷达的点云进行转换1. laser to pointcloud的转换公式angle = angle_min + (i * angle_increment)2. range矩阵的存储顺序与去畸变为了方便去畸变(时间插值)需要保证range矩阵中元素的存储顺序与扫描到顺序一致,即,ranges数组中第一个元素存的scan中第一个扫描到点ranges数组中最后一.原创 2020-10-05 13:46:48 · 1427 阅读 · 0 评论 -
雷达与相机的时空标定工具
激光雷达与相机的外参标定工具1、zhixy/Laser-Camera-Calibration-Toolboxmatlab版本、3D激光雷达需要手动缩放,并选择落在棋盘格上的激光点采集一次数据就能完成标定,一张图片,一帧激光数据2、swyphcosmo/ros-camera-lidar-calibrationfor 3D激光雷达手动选择6对匹配点(激光雷达坐标系的3D点和图像坐标系下的2D点)进行标定3、ethz-asl/lidar_alignfor 3D lidar and原创 2020-09-21 22:39:55 · 1638 阅读 · 0 评论