今天下午在进行激光雷达标定,标定软件不太好用,运行出来还是各种bug,好不容易用AI修复好了结果在标定的时候怎么选墙面方向都不对,这里解释一下,这个标定算法是通过将激光雷达的数据与旁边的墙面拟合计算出激光雷达的朝向角度,所以在进行墙面选取的时候要选取正确的墙面。然而,我实际在标定的时候,明明墙面在小车的右侧并且与X轴平行,当我把墙面选取成右侧的时候标定出来的数据反而是错误的。经过一番简单的调查后,原来我的标定程序规定墙面的选取是依据激光雷达坐标系,所以我在标定的时候墙面左右的选取必须是相对于激光雷达坐标系。

        但是我们又怎么知道激光雷达的坐标系?大多数激光雷达的0°为X轴,有些激光雷达的说明手册里可能会有特定的坐标系。如果不清楚怎么办?总不能在标定不同型号的激光雷达靠猜吧,这里我给出一个思路:

        订阅一帧 LaserScan,把原始极坐标(ranges)转成激光坐标系的直角坐标,按四个方向(+x / -x / +y / -y)统计最近障碍距离。不经过任何 TF,看到的就是雷达原始扫描坐标系(laser_link)。把一个方向已知的参照物(纸箱/柱子/墙)按照特定的距离放在车旁某侧,看哪个激光角度范围报出该距离,即可反推 laser 坐标轴的物理朝向(约定+x轴为angle=0,+y轴为angle≈90°)。例如:

将一米长的纸箱放在小车物理右侧 1m,经过计算后雷达约45°-135°方向的障碍物点云总距离大约1.0m ,则可推出该激光雷达的+y轴 = 小车的物理右侧。     

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐