目录

  • 前言
    • 指数形式的线性化:
  • 一、旋转矩阵SO(3)群
  • 二、位姿矩阵SE(3)群
  • 三、利用高斯牛顿法求解

参考书:机器人学中的状态估计------(高翔等译)侵删!仅供学术交流
链接: https://pan.baidu.com/s/1fcSXRUg-FjfO3cj-PBRS5Q
密码: jmul



前言

指数形式的线性化:

若存在一个无穷小量x0x_0x0​,则对指数ex0e^{x_0}ex0​泰勒展开:
ex0=1+x0+x022!+...+x0nn!e^{x_0}=1+x_0+ \frac {x_0^2} {2!}+...+\frac {x_0^n} {n!} ex0​=1+x0​+2!x02​​+...+n!x0n​​
我们取一阶的泰勒展开:ex0≈1+x0e^{x_0}\approx 1+x_0ex0​≈1+x0​
所以对于无穷小量δϕ\delta \phiδϕ,δξ\delta \xiδξ有:
exp⁡(δϕ)⋅C≈(1+δϕ)⋅Cexp⁡(δξ)⋅C≈(1+δξ)⋅C\exp (\delta \phi)\cdot \bm C\approx (1+\delta \phi)\cdot \bm C\\ \exp (\delta \xi)\cdot \bm C\approx (1+\delta \xi)\cdot \bm C exp(δϕ)⋅C≈(1+δϕ)⋅Cexp(δξ)⋅C≈(1+δξ)⋅C
上述就是旋转线性化位姿线性化

一、旋转矩阵SO(3)群

考虑SO(3)旋转群,设关于θ\thetaθ的函数:
c(θ)=R(θ)⋅p\small \bm c(\theta) = \bm R(\theta)\cdot p c(θ)=R(θ)⋅p
对于SO(3),其BCH近似为:

左乘: exp⁡(Δϕ∧)⋅exp⁡(ϕ∧)=exp⁡((ϕ+Jl−1(ϕ)Δϕ)∧)\exp(\Delta \phi ^ \land)\cdot \exp(\phi ^ \land) =\exp((\phi+\bm J_l^{-1}(\phi)\Delta \phi)^\land)exp(Δϕ∧)⋅exp(ϕ∧)=exp((ϕ+Jl−1​(ϕ)Δϕ)∧)
右乘: exp⁡(ϕ∧)⋅exp⁡(Δϕ∧)=exp⁡((ϕ+Jr−1(ϕ)Δϕ)∧)\exp(\phi ^ \land) \cdot \exp(\Delta \phi ^ \land)=\exp((\phi+\bm J_r^{-1}(\phi)\Delta \phi)^\land)exp(ϕ∧)⋅exp(Δϕ∧)=exp((ϕ+Jr−1​(ϕ)Δϕ)∧)

根据BCH 近似以及旋转线性化:
c(θ+Δθ)=exp⁡((Jl⋅Δθ)∧)⋅exp⁡(θ∧)=(1+(JlΔθ)∧)R(θ)⋅p=c(θ)+(−R(θ)⋅p)∧Jl⋅Δθ(1)\small \begin{aligned} \bm c(\theta+\Delta\theta)&=\exp((\bm J_l\cdot \Delta \theta)^\land)\cdot \exp(\theta^\land)\\~\\ &= (1+(\bm J_l\Delta\theta)^\land)\bm R(\theta)\cdot p\\ ~\\ &=\bm c(\theta) + (-\bm R(\theta)\cdot p)^\land \bm J_l\cdot \Delta \theta \end{aligned}\tag{1} c(θ+Δθ)  ​=exp((Jl​⋅Δθ)∧)⋅exp(θ∧)=(1+(Jl​Δθ)∧)R(θ)⋅p=c(θ)+(−R(θ)⋅p)∧Jl​⋅Δθ​(1)
根据泰勒展开式:
c(θ+Δθ)=c(θ)+∂R(θ)⋅p∂θ⋅Δθ(2)\small \bm c(\theta+\Delta\theta) = \bm c(\theta)+\frac {\partial{\bm R(\theta)\cdot p}} {\partial \theta} \cdot \Delta \theta\tag{2} c(θ+Δθ)=c(θ)+∂θ∂R(θ)⋅p​⋅Δθ(2)
对比(1)(2)两式可以得到:
∂R(θ)⋅p∂θ=(−R(θ)⋅p)∧Jl\small \frac {\partial{\bm R(\theta)\cdot p}} {\partial \theta} =(-\bm R(\theta)\cdot p)^\land \bm J_l ∂θ∂R(θ)⋅p​=(−R(θ)⋅p)∧Jl​
这样就求出了c(θ)c(\theta)c(θ)对θ\thetaθ的导数,但其中包含了一个Jl(ϕ)\bm J_l(\phi)Jl​(ϕ),加大了计算的复杂度;


我们重新定义增量方程,利用⊕\oplus⊕来定义,并规定其具有运算的顺序性,所以下面的方程为左乘扰动:
c(Δθ⊕θ)=exp⁡(Δθ∧)⋅exp⁡(θ∧)p=exp⁡((θ+Jl−1(θ)Δθ)∧)p=(1+Δθ∧)exp⁡(θ∧)p=R(θ)p+[−(R(θ)p)]∧Δθ(3)\small \begin{aligned} \bm c(\Delta \theta \oplus \theta)&=\exp(\Delta \theta^\land)\cdot \exp(\theta^\land)p =\exp((\theta+\bm J_l^{-1}(\theta)\Delta \theta)^\land)p\\~\\ &=(1+\Delta\theta^\land)\exp(\theta^\land)p\\~\\ &=\bm R(\theta)p+[-(\bm R(\theta)p)]^\land\Delta\theta \end{aligned}\tag{3}c(Δθ⊕θ)  ​=exp(Δθ∧)⋅exp(θ∧)p=exp((θ+Jl−1​(θ)Δθ)∧)p=(1+Δθ∧)exp(θ∧)p=R(θ)p+[−(R(θ)p)]∧Δθ​(3)
进行泰勒展开得:
c(Δθ⊕θ)=exp⁡((θ+Jl−1(θ)Δθ)∧)p=c(Jl−1(θ)Δθ+θ)=c(θ)+∂R(θ)⋅p∂θ⋅Jl−1(θ)Δθ(4)\small \begin{aligned} \bm c(\Delta \theta \oplus \theta) &=\exp((\theta+\bm J_l^{-1}(\theta)\Delta \theta)^\land)p=c(\bm J_l^{-1}(\theta)\Delta \theta+\theta)\\~\\ & =\bm c(\theta)+\frac {\partial{\bm R(\theta)\cdot p}} {\partial \theta} \cdot \bm J_l^{-1}(\theta)\Delta \theta \tag{4} \end{aligned}c(Δθ⊕θ) ​=exp((θ+Jl−1​(θ)Δθ)∧)p=c(Jl−1​(θ)Δθ+θ)=c(θ)+∂θ∂R(θ)⋅p​⋅Jl−1​(θ)Δθ​(4)
结合公式(3)和(4),可以得到:
[−(R(θ)p)]∧=∂R(θ)⋅p∂θ⋅Jl−1(θ)\small [-(\bm R(\theta)p)]^\land= \frac {\partial{\bm R(\theta)\cdot p}} {\partial \theta} \cdot \bm J_l^{-1}(\theta) [−(R(θ)p)]∧=∂θ∂R(θ)⋅p​⋅Jl−1​(θ)
右边按照定义:
∂R(θ)⋅p∂θ⋅Jl−1(θ)=lim⁡Δθ→0R(Δθ+θ)p−R(θ)pΔθ⋅Jl−1(θ)=lim⁡Δθ→0(1+(Jl(θ)Δθ)∧)exp⁡(θ∧)p−exp⁡(θ∧)pΔθ⋅Jl−1(θ)=lim⁡Δθ→0(Jl(θ)Δθ)∧⋅exp⁡(θ∧)pΔθ⋅Jl−1(θ)=lim⁡Δθ→0−(exp⁡(θ∧)p)∧JlΔθJlΔθ=−(exp⁡(θ∧)p)∧(5)\small \begin{aligned} \frac {\partial{\bm R(\theta)\cdot p}} {\partial \theta} \cdot \bm J_l^{-1}(\theta) &= \lim_{\Delta \theta \to 0} \frac {R(\Delta \theta+\theta) p-R(\theta)p} {\Delta \theta}\cdot \bm J_l^{-1}(\theta)\\ ~\\ &= \lim_{\Delta \theta \to 0} \frac {(1+(\bm J_l(\theta)\Delta \theta)^\land)\exp(\theta^\land)p-\exp(\theta^\land)p} {\Delta \theta } \cdot \bm J_l^{-1}(\theta)\\ ~\\ &= \lim_{\Delta \theta \to0} \frac {(\bm J_l(\theta)\Delta \theta)^\land\cdot \exp(\theta^\land)p} {\Delta \theta} \cdot \bm J_l^{-1}(\theta) \\ ~\\ &= \lim_{\Delta \theta \to0} \frac {-(\exp(\theta^\land)p)^\land \bm J_l \Delta \theta} {\bm J_l \Delta \theta} \\ ~\\ &= {{-(\exp(\theta^\land)p)^\land } } \tag{5} \end{aligned}∂θ∂R(θ)⋅p​⋅Jl−1​(θ)    ​=Δθ→0lim​ΔθR(Δθ+θ)p−R(θ)p​⋅Jl−1​(θ)=Δθ→0lim​Δθ(1+(Jl​(θ)Δθ)∧)exp(θ∧)p−exp(θ∧)p​⋅Jl−1​(θ)=Δθ→0lim​Δθ(Jl​(θ)Δθ)∧⋅exp(θ∧)p​⋅Jl−1​(θ)=Δθ→0lim​Jl​Δθ−(exp(θ∧)p)∧Jl​Δθ​=−(exp(θ∧)p)∧​(5)
到这里就是我们定义的左扰动模型求导,省去了复杂的Jl\bm J_lJl​:
∂c(Δθ⊕θ)∂δθ=∂R(θ)⋅p∂θ⋅Jl−1(θ)=−(exp⁡(θ∧)p)∧\frac {\partial{\bm c(\Delta \theta \oplus \theta) }} {\partial \delta \theta} = \frac {\partial{\bm R(\theta)\cdot p}} {\partial \theta} \cdot \bm J_l^{-1}(\theta) ={{-(\exp(\theta^\land)p)^\land } } ∂δθ∂c(Δθ⊕θ)​=∂θ∂R(θ)⋅p​⋅Jl−1​(θ)=−(exp(θ∧)p)∧
这就是我们线性化旋转矩阵的雅克比矩阵:Jδθ=∂c(Δθ⊕θ)∂δθ=−(Rp)∧\bm J_{\delta \theta}=\frac {\partial{\bm c(\Delta \theta \oplus \theta) }} {\partial \delta \theta}=-(\bm Rp)^\landJδθ​=∂δθ∂c(Δθ⊕θ)​=−(Rp)∧

下面对位姿进行线性化求解

二、位姿矩阵SE(3)群

考虑SE(3)旋转群,设关于ξ\xiξ的函数:
H(ξ)=T(ξ)⋅v,(v为列向量,T∈SE(3))\small \bm H(\xi) = \bm T(\xi)\cdot v,{(v为列向量,T \in SE(3))} H(ξ)=T(ξ)⋅v,(v为列向量,T∈SE(3))
ξ\xiξ是一个6维的向量,由于只有3维向量有反对称矩阵,所以我们定义这样的
ξ∧=[ϕ∧ρ0T0]4×4,ρ∈R3,ϕ∈so(3)\xi^\land= \begin{bmatrix} \bm \phi^\land & \bm \rho\\ \\ \bm 0^T &\bm 0 \end{bmatrix}_{4 \times 4},\rho \in {\mathbb{R}^3},\phi \in so(3) ξ∧=⎣⎡​ϕ∧0T​ρ0​⎦⎤​4×4​,ρ∈R3,ϕ∈so(3)

同样是BCH公式:
左乘: exp⁡(Δξ∧)⋅exp⁡(ξ∧)=exp⁡((ξ+Jl−1(ξ)Δξ)∧)\exp(\Delta \xi ^ \land)\cdot \exp(\xi ^ \land) =\exp((\xi+\bm J_l^{-1}(\xi)\Delta \xi)^\land)exp(Δξ∧)⋅exp(ξ∧)=exp((ξ+Jl−1​(ξ)Δξ)∧)
右乘: exp⁡(ξ∧)⋅exp⁡(Δξ∧)=exp⁡((ξ+Jr−1(ξ)Δξ)∧)\exp(\xi ^ \land) \cdot \exp(\Delta \xi ^ \land)=\exp((\xi+\bm J_r^{-1}(\xi)\Delta \xi)^\land)exp(ξ∧)⋅exp(Δξ∧)=exp((ξ+Jr−1​(ξ)Δξ)∧)

这里的JlJ_lJl​和JrJ_rJr​都是6×66\times 66×6的矩阵,这里不再展开;

根据对旋转矩阵的线性化分析,我们继续利用⊕\oplus⊕来定义,所以下面的方程为左乘扰动:
H(Δξ⊕ξ)=exp⁡(Δξ∧)⋅exp⁡(ξ∧)v=exp⁡((ξ+Jl−1(ξ)Δξ)∧)v=(1+Δξ∧)exp⁡(ξ∧)v=T(ξ)v+[−(T(ξ)v)]4×6∧Δξ6×1=H(ξ)+[−(T(ξ)v)]4×6∧Δξ6×1(6)\small \begin{aligned} \bm H(\Delta \xi \oplus \xi)&=\exp(\Delta \xi^\land)\cdot \exp(\xi^\land)v =\exp((\xi+\bm J_l^{-1}(\xi)\Delta \xi)^\land)v\\~\\ &=(1+\Delta\xi^\land)\exp(\xi^\land)v\\~\\ &=\bm T(\xi)v+[-(\bm T(\xi)v)]_{4\times 6}^\land\Delta\xi_{6\times1}\\~\\ &=\bm H(\xi)+[-(\bm T(\xi)v)]_{4\times 6}^\land\Delta\xi_{6\times1} \end{aligned} \tag{6}H(Δξ⊕ξ)   ​=exp(Δξ∧)⋅exp(ξ∧)v=exp((ξ+Jl−1​(ξ)Δξ)∧)v=(1+Δξ∧)exp(ξ∧)v=T(ξ)v+[−(T(ξ)v)]4×6∧​Δξ6×1​=H(ξ)+[−(T(ξ)v)]4×6∧​Δξ6×1​​(6)
进行泰勒展开得:
H(Δξ⊕ξ)=exp⁡((ξ+Jl−1(ξ)Δξ)∧)p=H(Jl−1(ξ)Δξ+ξ)=H(ξ)+∂T(ξ)⋅v∂ξ⋅Jl−1(ξ)Δξ6×1(7)\small \begin{aligned} \bm H(\Delta \xi \oplus \xi) &=\exp((\xi+\bm J_l^{-1}(\xi)\Delta \xi)^\land)p=H(\bm J_l^{-1}(\xi)\Delta \xi+\xi)\\~\\ & =\bm H(\xi)+\frac {\partial{T(\xi)\cdot v}} {\partial \xi} \cdot \bm J_l^{-1}(\xi)\Delta \xi_{6\times1} \tag{7} \end{aligned}H(Δξ⊕ξ) ​=exp((ξ+Jl−1​(ξ)Δξ)∧)p=H(Jl−1​(ξ)Δξ+ξ)=H(ξ)+∂ξ∂T(ξ)⋅v​⋅Jl−1​(ξ)Δξ6×1​​(7)
结合公式(6)和(7),可以得到:
[−(T(ξ)v)]∧=(∂T(ξ)⋅v∂ξ)4×6⋅Jl−1(ξ)\small [-(\bm T(\xi)v)]^\land= (\frac {\partial{\bm T(\xi)\cdot v}} {\partial \xi})_{4 \times 6} \cdot \bm J_l^{-1}(\xi) [−(T(ξ)v)]∧=(∂ξ∂T(ξ)⋅v​)4×6​⋅Jl−1​(ξ)
右边按照定义:
∂T(ξ)⋅v∂ξ⋅Jl−1(ξ)=lim⁡Δξ→0T(Δξ+ξ)v−T(ξ)vΔξ⋅Jl−1(ξ)=lim⁡Δξ→0(1+(Jl(ξ)Δξ)∧)exp⁡(ξ∧)v−exp⁡(ξ∧)vΔξ⋅Jl−1(ξ)=lim⁡Δξ→0(Jl(ξ)Δξ)∧⋅exp⁡(ξ∧)vΔξ⋅Jl−1(ξ)=lim⁡Δξ→0(Jl(ξ)Δξ)∧⋅exp⁡(ξ∧)vJlΔξ=[I3×3−(T(ξ)v)1:3∧0T0T]4×6(8)\small \begin{aligned} \frac {\partial{\bm T(\xi)\cdot v}} {\partial \xi} \cdot \bm J_l^{-1}(\xi) &= \lim_{\Delta \xi \to 0} \frac {\bm T(\Delta \xi+\xi) v-T(\xi)v} {\Delta \xi}\cdot \bm J_l^{-1}(\xi)\\ ~\\&= \lim_{\Delta \xi \to 0} \frac {(1+(\bm J_l(\xi)\Delta \xi)^\land)\exp(\xi^\land)v-\exp(\xi^\land)v} {\Delta \xi } \cdot \bm J_l^{-1}(\xi)\\ ~\\&= \lim_{\Delta \xi \to0} \frac {(\bm J_l(\xi)\Delta \xi)^\land\cdot \exp(\xi^\land)v} {\Delta \xi} \cdot \bm J_l^{-1}(\xi) \\ ~\\&= \lim_{\Delta \xi\to0} \frac {(\bm J_l(\xi)\Delta \xi)^\land\cdot \exp(\xi^\land)v} {\bm J_l \Delta \xi} \\~\\ \\ &= {\begin{bmatrix}\bm I_{3\times3} &-(\bm T(\xi)v)_{1 :3}^\land \\ \\\bm 0^T& \bm 0^T \\ \end{bmatrix} }_{4\times6}\tag{8} \end{aligned}∂ξ∂T(ξ)⋅v​⋅Jl−1​(ξ)    ​=Δξ→0lim​ΔξT(Δξ+ξ)v−T(ξ)v​⋅Jl−1​(ξ)=Δξ→0lim​Δξ(1+(Jl​(ξ)Δξ)∧)exp(ξ∧)v−exp(ξ∧)v​⋅Jl−1​(ξ)=Δξ→0lim​Δξ(Jl​(ξ)Δξ)∧⋅exp(ξ∧)v​⋅Jl−1​(ξ)=Δξ→0lim​Jl​Δξ(Jl​(ξ)Δξ)∧⋅exp(ξ∧)v​=[I3×3​0T​−(T(ξ)v)1:3∧​0T​]4×6​​(8)
到这里我们定义的左扰动模型求导,省去了复杂的Jl\bm J_lJl​:
∂H(Δξ⊕ξ)∂δξ=∂T(ξ)⋅v∂ξ⋅Jl−1(ξ)=[I3×3−(T(ξ)v)1:3∧0T0T]4×6\small \frac {\partial{\bm H(\Delta \xi \oplus \xi) }} {\partial \delta \xi} = \frac {\partial{\bm T(\xi)\cdot v}} {\partial \xi} \cdot \bm J_l^{-1}(\xi) \\~\\ \\~\\ ={\begin{bmatrix}\bm I_{3\times3} &-(\bm T(\xi)v)_{1 :3}^\land \\ \\\bm 0^T& \bm 0^T \\ \end{bmatrix} }_{4\times6} ∂δξ∂H(Δξ⊕ξ)​=∂ξ∂T(ξ)⋅v​⋅Jl−1​(ξ)  =[I3×3​0T​−(T(ξ)v)1:3∧​0T​]4×6​
这就是我们线性化 位姿矩阵 的雅克比矩阵:Jδξ=∂H(Δξ⊕ξ)∂δξ=(Tv)⊙\bm J_{\delta \xi}=\frac {\partial{\bm H(\Delta \xi \oplus \xi) }} {\partial \delta \xi}=(\bm Tv)^\odotJδξ​=∂δξ∂H(Δξ⊕ξ)​=(Tv)⊙
(Tv)⊙=[I3×3−(Tv)1:3∧0T0T]4×6(\bm Tv)^\odot={\begin{bmatrix}\bm I_{3\times3} &-(\bm Tv)_{1 :3}^\land \\ \\\bm 0^T& \bm 0^T \\ \end{bmatrix} }_{4\times6} (Tv)⊙=⎣⎡​I3×3​0T​−(Tv)1:3∧​0T​⎦⎤​4×6​

三、利用高斯牛顿法求解

参考书籍:机器人学中的状态估计(高博等译)–P292-305

由线性化位姿方程:
H(Δξ⊕ξ)=H(Jl−1Δξ+ξ)=H(ξ)+JδξΔξ6×1\small \bm H(\Delta \xi \oplus \xi) =\bm H(\bm J_l^{-1}\Delta \xi+\xi) =\bm H(\xi)+\bm J_{\delta \xi} \Delta \xi_{6\times1} H(Δξ⊕ξ)=H(Jl−1​Δξ+ξ)=H(ξ)+Jδξ​Δξ6×1​
这里的Jδξ\bm J_{\delta \xi}Jδξ​为:
Jδξ=∂T(ξ)⋅v∂ξ⋅Jl−1(ξ)\small \bm J_{\delta \xi}=\frac {\partial{\bm T(\xi)\cdot v}} {\partial \xi} \cdot \bm J_l^{-1}(\xi) Jδξ​=∂ξ∂T(ξ)⋅v​⋅Jl−1​(ξ)

定义误差函数e,z为观测数据:
e(ξ)=z−H(ξ)=z−T(ξ)⋅v\small e(\xi) = z-\bm H(\xi)=z-T(\xi)\cdot v e(ξ)=z−H(ξ)=z−T(ξ)⋅v
所以扰动模型:
e(Δξ⊕ξ)=z−H(Δξ⊕ξ)\small e(\Delta \xi \oplus \xi) =z-\bm H(\Delta \xi \oplus \xi) e(Δξ⊕ξ)=z−H(Δξ⊕ξ)
求导:
∂e(Δξ⊕ξ)∂δξ=−∂H(Δξ⊕ξ)∂δξ=Je=−Jδξ\frac {\partial{\bm e(\Delta \xi \oplus \xi)}} {\partial \delta \xi}=- \frac {\partial{\bm H(\Delta \xi \oplus \xi)}} {\partial \delta \xi}=J_e=-J_{\delta\xi} ∂δξ∂e(Δξ⊕ξ)​=−∂δξ∂H(Δξ⊕ξ)​=Je​=−Jδξ​
再由我上一篇文章:SLAM–非线性优化
JeT⋅Je(Δξ)=−JeT⋅e(ξ)\small J_{e}^T\cdot J_{e}(\Delta \xi) = -J_{e}^T\cdot e(\xi) JeT​⋅Je​(Δξ)=−JeT​⋅e(ξ)
这样我们就可以求出Δξ\Delta \xiΔξ:
(Δξ)=−(JeT⋅Je)−1(JeT⋅e(ξ))\small (\Delta \xi) = -(J_{e}^T\cdot J_{e})^{-1}(J_{e}^T\cdot e(\xi)) (Δξ)=−(JeT​⋅Je​)−1(JeT​⋅e(ξ))
令JeT⋅Je=He,−JeT⋅e(ξ)=beJ_{e}^T\cdot J_{e}=\bm H_e,-J_{e}^T\cdot e(\xi)=b_eJeT​⋅Je​=He​,−JeT​⋅e(ξ)=be​
Δx=He−1⋅be\small \Delta x=H_e^{-1}\cdot b_eΔx=He−1​⋅be​
所以利用高斯迭代法,对于第K+1次更新位姿:
T(ξk+1)=exp⁡(Δx)⋅T(ξ0)=exp⁡(Δξ)⋅T(ξ0)\small T(\xi_{k+1}) = \exp(\Delta x)\cdot T(\xi_0)=\exp (\Delta \xi)\cdot T(\xi_0) T(ξk+1​)=exp(Δx)⋅T(ξ0​)=exp(Δξ)⋅T(ξ0​)
迭代到e(ξk+1)e(\xi_{k+1})e(ξk+1​)足够小时停止

至此,线性化的估计位姿推导完成。

SLAM--线性化求解估计位姿相关推荐

  1. SLAM中姿态估计的图优化方法比较(g2o/Ceres/GTSAM/SE-Sync)

    编辑 | 深蓝AI 点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 后台回复[SLAM综述]获取视觉SLAM.激光SLAM.RGBD-SLAM等多篇综述! 本 ...

  2. 3d激光SLAM:LIO-SAM框架---位姿融合输出

    3d激光SLAM:LIO-SAM框架---位姿融合输出 前言 Eigen::Affine3f 位姿融合输出 result 前言 LIO-SAM的全称是:Tightly-coupled Lidar In ...

  3. 基于图像的三维重建——P3P求解相机位姿(5)

    文章目录 P3P简介 直接线性变换法 Kneip算法 算法原理及流程 基于RANSAC的Kneip算法 P3P简介 相机位姿求解是SFM中必要的一步,而P3P问题的目的就是通过三维点(3对)对应关系确 ...

  4. 反光板导航SLAM(四)如何通过两个反光柱估计位姿

    通常而言确定空间中的一个点的坐标需要三个点,也就是俗称的三点定位.但是在某些时候,场景内可能不一定能够采样到足够多的反光柱,比如只有两个.这个时候看起来似乎参数是不足的,毕竟机器人的参数有三个,两个方 ...

  5. 论文精读 | slam中姿态估计的图优化方法比较

    一. 摘要 对于位置环境中的自主导航问题,同步定位与建图(Simultaneous localization and mapping, SLAM)是一个非常重要的工具框架.根据SLAM字面含义可以得知 ...

  6. 基于直线的最小非线性SLAM相机姿态估计方法

    Minimal Non-linear Camera Pose Estimation Method Using Lines for SLAM Applications 1. 介绍 2. 非线性优化方法 ...

  7. ArUco估计位姿原理

    ArUco使用 PnP [OpenCV/aruco]校准相机(Camera Calibration) Demo -------------------------------------------- ...

  8. 6D 位姿估计 位姿测量 常用方法总结 (适用于单目标场景)

    在机器人的应用中,往往会涉及到基于视觉的 6D 位姿估计或者位姿测量的问题,现在 Pose Estimation 的论文现在非常多,也有很大的创新,不过目前SOTA的工作一般面向几个特定的数据集,比如 ...

  9. 无人机利用视觉slam实现位置估计

    无人机利用视觉slam实现室内位置估计 自己近期所做的以及思考的东西 我们实验室买了阿木的p200(带t265)无人机用于无人机的控制研究,通过阿木实验室的ros功能包px4_command可以无脑的 ...

  10. 使用C++ OpenCV实现椭圆区域检测与Aruco码的生成与检测并估计位姿

    前景概要 很多机器视觉的定位与识别场景,如无人车.无人机,都会用Aruco码或特定的标志物来实现,Aruco码的优点在于,xxxx(自行搜索). 对于像在低成本轻量级的无人机这种嵌入式系统上,搭载深度 ...

最新文章

  1. 10亿美元续命!OpenAI获微软投资,意在通用人工智能?
  2. 软件质量保证与测试笔记——江湖救急版
  3. IT兄弟连 JavaWeb教程 JSON和JSON字符串
  4. 2015!我来了,你在哪里?今年第一篇
  5. AsyncTask使用详解
  6. sigmoid函数手动求导
  7. VS2015 设置项目依赖项
  8. 如何用有道词典查找论文
  9. php员工信息表_一键:快速采集汇总个税专项附加扣除信息
  10. 多小区下小区上行速率的计算(2)
  11. Spring Cloud 快速入门指南(一)
  12. CSGO显示FPS(帧数)指令集设置调用方法 2020年最新版本CSGO教程
  13. 【script】python 调用阿里云解析 DNS API 实现 DDNS(动态域名解析)
  14. 游戏开发之NGUI字体集制作
  15. python后端需要什么基础_学习Python需要哪些基础知识?_后端开发
  16. pathon真的那么好用吗?
  17. AutoCAD家具设计入门到精通视频教程
  18. qq邮箱隐藏代码html,QQ邮箱原来这么好用,4个隐藏设置格调满满
  19. 操作系统的了解和安装
  20. echarts地图中显示数字或省份

热门文章

  1. MyBatis学习前篇
  2. SpringBoot整合jsp的使用
  3. springcloud feign负载均衡_SpringCloud学习笔记(2)——Ribbon
  4. Button的UseSubmitBehavior屬性
  5. laravel 模型事件 updated 触发条件
  6. ARM9 S3C2440 定时器中断
  7. Spring.net 容器注入是替换(后处理器appConfigPropertyHolder)
  8. 7-8-无向图的关节点-图-第7章-《数据结构》课本源码-严蔚敏吴伟民版
  9. Android上使用MP3格式录制声音
  10. php经过twemproxy无法delete后端memcache值的解决方法