原创 VINS-mono閱讀筆記

VINS-mono是當前常用的VIO框架之一,出自港科大的沈劭劼老師團隊。VINS-mono是基於優化的緊耦合方案,精度、速度、魯棒性俱佳。 1、整體框架 從上圖可得,VINS-mono可以分爲4個部分,跟蹤、初始化、滑窗優化、

原创 手眼標定eye-in-hand、eye-to-hand

手眼標定的目的是估計相機與機器人之間的轉換關係,可分爲eye-in-hand、eye-to-hand兩種情況。 這兩種情況都可以統一到AX=XBAX=XBAX=XB的求解框架下,下面推導這一過程: eye-on-base T

原创 Frank C. Park手眼標定方法

Frank C. Park與Tsai都是採用了兩步法,但它利用李代數求解AX=XB方法。 由logA=logXBXTlog A = log XBX^TlogA=logXBXT 有[a]=X[b]XT[a]=X[b]X^T[a]=X

原创 對極約束及對極誤差

對極約束是指參考幀與當前幀光心與觀測點組成的平面上的幾何約束。 基於運動關係和共面約束,可以推出本質矩陣: 對於x′x'x′,可以看作是直線ax′+by′+c′=0ax'+by'+c'=0ax′+by′+c′=0上的點,直線參

原创 PPF算法

PPF是一種三維點雲識別算法。它沒有采用三維特徵描述子這樣的局部特徵,而是採用了一種全局的點對特徵。 算法可以分爲兩部分:離線建模、採樣匹配。 離線建模 這一步是從模型中提取ppf特徵集。 ppf特徵可以用下面的公式表示:

原创 Tsai算法

Tsai算法主要用於求解手眼標定中的AX=XB問題,它屬於二階段法,先求解旋轉R後求平移t。 首先,求解R: skew(Pgij+Pcij)Pcg′=Pcij−Pgijskew(P_{gij}+P_{cij})P'_{cg}=

原创 g2o報錯error while loading shared libraries: libg2o_core.so: cannot open shared object file

解決辦法: sudo gedit /etc/ld.so.conf 添加如下代碼: /usr/local/lib 運行: sudo ldconfig 參考: https://github.com/gaoxiang12/slam

原创 相機標定的實現

1、相機內參 上面是一個小孔成像模型,相機的內參就是指相機座標系與像平面之間的座標轉換關係。 [xy1]=[fx0cx0fycy001][XcYc1]=K[XcYc1] \begin{bmatrix} x \\ y \\ 1 \

原创 python調用c++接口(pybind11)

pybind11是一個將c++接口轉接給python的庫,它支持C++ 11標準的編譯器。 這裏我做了一個簡單的實驗,主要是驗證將Eigen::MatrixXf類型映射到numpy::ndarray類型,這樣就可以在python愉

原创 Hand-eye Calibration: 4D Procrustes Analysis Approach閱讀筆記

首先看下實驗部分: 這篇論文提出的手眼標定算法在精度和速度上表現得都很好。 下面介紹算法流程: 1、通過T=[Rt01]↔RT,SO(4)=[Rϵt−ϵtTR1]T=\begin{bmatrix}R&t\\0&1\end{bma

原创 從單應性矩陣恢復R,t時排除不可能解

從單應性矩陣HHH,恢復運動時總共有8個可行解,但通過可見性約束和相對位置約束可以將可行解降至2個。 可見性約束: 觀測點應當在相機前方 對於參考幀和當前幀分別有: 相對位置約束: 參考幀和當前幀相機位姿都應該在觀測點平面的

原创 對偶四元數的應用

對偶四元數的定義 對偶四元數的一般形式爲:q^=r+εs\hat{q}=r+\varepsilon sq^​=r+εs,其中r=r0+ir1+jr2+kr3r=r_0+ir_1+jr_2+kr_3r=r0​+ir1​+jr2​+k

原创 三角測量原理

如上圖所示,三角測量是指在已知當前幀和參考幀的位姿和匹配點以及相機內參的情況下,恢復觀測點深度的過程。 根據當前幀和參考幀的投影方程有: 將上面的方程合併,並展開: 通過SVD分解就可以求解上式。 參考:https://ww

原创 An Efficient Solution to the Five-Point Relative Pose Problem閱讀筆記

本文介紹的是通過五點法恢復運動。 求解本質矩陣 首先根據對極約束有: q′TEq=0q'^TEq=0q′TEq=0 這個矩陣將E展開,可得: q^TE^=0\hat{q}^T\hat{E} = 0q^​TE^=0 其中, 這裏的本

原创 chrome 打開夜間模式

在地址欄輸入chrome://flags/#enable-force-dark可以打開隱藏設置。