手眼標定
機器人手眼標定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