手眼标定
机器人手眼标定Ax=xB(eye to hand和eye in hand)及平面九点法标定
Ax = xB问题求解,旋转和平移分步求解法
手眼标定AX=XB求解方法(文献总结)
基于靶的方法
- 相机标定
(1) ApriTag
(2) 棋盘格:cv::findChessboardCorners
(3) 品字格 - 激光雷达标定
(1) 激光雷达反射板
在线标定
这里面的在线标定指相对路面的位姿估计
1.广角前视相机
(1) 基于LK稀疏光流求解H的动态标定方案
首先利用opencv::calcOpticalFlowPyrLK
提取出连续两帧之间的稀疏光流
假设相机在两个不同位置拍摄同一个平面(路面)
frame1中的点可以由以下公式转换到frame2中
X1表示三维坐标点,在平面P上,因此X1沿着平面法向量n的投影距离为d
进一步推导
结合公式1我们可以得到
因此我们就得到了平面的单应性矩阵
因此x2= Hx1,其中x1和x2分别是上一帧和当前帧相机坐标系下的点(x,y,1),我们可以根据x2 - Hx1构建重投影误差来优化H
那么如何由H分解出来相机与车辆的标定矩阵呢?
H是相机之间的变化Rt_cam求得的(本质上优化H也就是优化Rt_cam),然后根据车辆坐标系的移动Rt_vcs,可以计算出相机到车辆的标定Rt,如下所示
(2) 基于光流和车辆直行场景下估计yaw和pitch
首先通过光流构建前后帧特征点之间的匹配关系,然后构建极线约束求解Essential Matrix,分解E得到位移方向t的初值
利用最优化方法得到更精确的t的值,多个匹配特征点,tx和R构建sampson error优化,然后求解yaw和pitch