2个反光柱的摆放要求:靠着墙摆,因为我们只能从一侧看到2个反光柱,从两侧都看到至少需要3个反光柱来定位。
landmark检测原理:因为我们是从一侧看到2个反光柱,所以看到2个反光柱在一帧激光数据中会有顺序,有2种情形,如下图
这两种情形,我们发现
情形1: 这种情形2个反光柱子被检测到的激光角度小于180,我们认为大一些激光角度的是原点。
情形2: 这种情形2个反光柱子被检测到的激光角度大于180,我们认为小一些激光角度的是原点。
这样原点就固定下来,并是唯一的。2个反光柱构成的坐标系也就确定了。和激光坐标系之间的旋转关系可以通过2个向量之间的夹角计算得出。再补充一张图:

talk is cheap, show my code first
代码如下:
//use two reflector as a landmark
//log(Info, "reflectors_ size " + std::to_string(reflec
本文介绍了如何在Cartographer中利用2个反光柱作为地标进行定位。关键在于理解当2个反光柱靠着墙放置且仅从一侧可见时,通过激光雷达数据中两柱子的角度顺序来唯一确定原点。根据激光角度大小,可以判断出哪个是原点,从而确立坐标系。具体实现代码可在开源项目中找到。
订阅专栏 解锁全文
3301

被折叠的 条评论
为什么被折叠?



