NDT是一种点云配准算法,可同时用于点云的建图和定位。
NDT配准的原理
以下是一张用于配准的target_map,即已经建好的点云地图
?
以下是实时扫描到的一帧点云
?...以下是两幅点云进行配准之后的结果,中间输出的坐标轴为当前位置(x y z Y P R)
?
通过不断的比对实时扫描到的点云和已经建好的全局点云地图,我们就可以持续获得我们当前的位置。...,这些都会导致我们实时扫描到的点云与已建立的点云地图有些许的差别,从而导致较大匹配误差。...被极大的降采样了,因此这个数据没什么用)
pcl::transformPointCloud(*scan_ptr, *transformed_scan_ptr, t_localizer); // 对原始点云进行变换...可以看出NDT_Matching的逻辑还是很简单清晰的,即不断的接收实时扫描到的点云,以及异步更新target_map,并使用NDT算法不断进行配准获取当前位置。