自动驾驶(三)---------多传感器标定

传感器的标定是传感器融合的重要部分

本文分为三个重要部分来分析:

1.初始化    2.更新    3.错误检测


1.初始化

    标定的的含义就是找到不同传感器的三维坐标变换,一共六个自由度,三个平移,三个旋转向量

    假定在一个标定场内,两个传感器对同一物体的不同位置获取一套坐标

             Pi(Xm,Ym, Zm)     Pj(Xn, Yn, Zn)  .   

     i,j 分别为两套传感器对应不同的位置,我不知道有没有说清楚,举例子吧

        标定摄像头和超声波雷达,做一个金属板,贴上车屁股的图片,把它放在车不同的位置(距离,角度)

        采集到对应两组不同的坐标。通过这两组坐标计算变换坐标。

                                                       

      R为旋转矩阵,T为平移向量,特别的R为3*3共9个参数,可以转化为3维旋转向量 罗德里格斯变换

      这样一组点如何求解A和T,求解这个最好的解决方法是点云匹配的ICP算法:

      三个轴旋转抽象成3个自由度公式:

     自动驾驶(三)---------多传感器标定_第1张图片

        合并3个旋转公式得到:

     由于点可以取得足够多,变成求解最优问题,求以下方程最小值:

       

    后面就是其实就很麻烦了 ,求偏导,梯度下降,中间用到李群代数,具体我也搞不清楚了

    幸好吴博给我找到另一种方法:SVD求解ICP:https://blog.csdn.net/zhouyelihua/article/details/77807541

    后面直接opencv有代码。欧耶。

    特别的,opencv有摄像头坐标求解的方程(世界坐标系和摄像头坐标系的坐标变换)solvepnp();

2.更新

   假定你用opencv代码求出了坐标变换,但是车辆不是绝对的刚体,难免会出现变形,如何更新变换坐标成了难题,

   重要的如何确定两个传感器数据的对应性,同步性等等。

   首先默认平移不会出现变化,即安装位置不会变化,角度容易发生变化

   每天记录两个传感器的误差,控制变量法更新角度,减小误差

   具体方法不详。

3. 错误检测

    传感器之间每一帧的数据都不匹配时,统计传感器的误差均值,当大于阈值时,认为当前的变换方程是错误的

    重新标定传感器。

    这篇文章虎头蛇尾,主要是没做过,不知道怎么办。。。。。。

你可能感兴趣的:(自动驾驶)