์์ฝ๋น์ ์ ๋
๊ฐ๋ก
- ์์ฝ๋น์, ์ผ์ฝ๋น์, โฆ ๋ค์ํ๊ฒ ๋ถ๋ฆฌ๋ ์ด ๋
์
- ๊ทธ๋ฅ multi-dimensional ๊ธฐ์ธ๊ธฐ๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.
- Gauss-Newton optimization ์ ํ๊ธฐ ์ํด์๋ ๊ธฐ์ธ๊ธฐ ๊ฐ์ ์์์ผ ํ๊ธฐ ๋๋ฌธ.
- Kalman Filter ์์๋ ์ฐ์ธ๋ค. (ps. ์ฌ์ค iterative KF๋ GN ๊ณผ ๊ฐ๋ค. ref: 1993 The Iterated Kalman Filter Update as a Gauss-Newton Method)
- ์ด๋ค cost function $c$ ๊ฐ ์๊ณ , ๋ณดํต ์ด๊ฑด SLAM์์ $c := h(\textbf{x}) - \textbf{z} = \textbf{H}\textbf{x} - \textbf{z}$ ์ด๋ฐ ํํ๋ก ๋ง์ด ์ฐ์ธ๋ค. H ๋ measurement function (ํ์ฌ ์ํ์์์ ์์ธก ์ธก์ ๊ฐ์ ์ํ ๋ชจ๋ธ) ์ด๊ณ , z ๋ ์ค์ ์ธก์ ๊ฐ, ๊ทธ๋ฆฌ๊ณ cost ๋ ๊ทธ ๋์ ์ฐจ์ด ๋ฅผ ์๋ฏธํ๋ ๊ฒ ๋๊ฒ ๋ค.
- ๊ทธ๋ฆฌ๊ณ ๋น์ฐํ (model์ด ์ ์ค์ ๋์ด ์๊ณ ) ํ์ฌ state ๊ฐ $\textbf{x}$ ๊ฐ truth ์ ๊ฐ๊น๋ค๋ฉด, ์์ธก ์ธก์ ๊ฐ์ ์ค์ ์ธก์ ๊ฐ๊ณผ ๊ฑฐ์ ๊ฐ๊ฒ (== ์์ cost) ๋์ฌ ๊ฒ์ด๋ค.
- ๊ทธ๋ฆฌ๊ณ ๋ฐ๋๋ก ์๊ฐํ๋ฉด, ๊ทธ cost ๊ฐ ์์์ง๊ฒ ํ๋๋ก ํ์ฌ state ๊ฐ $\textbf{x}$ ๋ฅผ ์กฐ์ ํ ์ ์์ผ๋ฉด, ํ์ฌ state ๊ฐ $\textbf{x}$ ์ ๋ truth ์ ๊ฐ๊น๊ฒ ๋ง๋ค์๋ค๊ณ ๋งํ ์ ์๊ฒ ๋ค.
- ๊ทธ๋ฐ๋ฐ ์ค์ ์ธ๊ณ์ ๋ฌธ์ ์์๋ cost ๋ vector ์ด๊ณ , state ๋ vector ์ด๋ค.
- ์๋ฅผ ๋ค์ด์, reprojection error ์ cost ๋ ๊ฐ๋ก pixel ์ฐจ์ด, ์ธ๋ก pixel ์ฐจ์ด ์ 2-dimension vector์ด๊ณ , state ๋ ์ ํ๊ธฐ ๋๋ฆ์ด์ง๋ง ๊ฐ์ฅ ๊ฐ๋จํ๊ฒ๋ position ๊ณผ rotation (attitude) ๋ฅผ concat ํ 6-dimension vector ๋ผ๊ณ ํ ์ ์๋ค.
- ๋ฐ๋ผ์ cost ์ ๊ฐ ์ฑ๋ถ๋ง๋ค, state ์ ๊ฐ ์ฑ๋ถ์ ๋ํด ๋ฏธ๋ถํ ๊ฒ์ด scalar ๋ก ๋์ค๊ฒ ๋๋ฏ๋ก
- vector cost์ ๋ํ vector state ์ ์์ฝ๋น์์ matrix ๊ฐ ๋๊ฒ ๋๋ค.
- ๊ทธ๋ฌ๋ฉด ์ด ๋ ์์ฝ๋น์์ shape ์ ์ด๋ป๊ฒ ๋ ๊น์?
- ์์ฝ๋น์์ ์ด๋ ๊ฒ ๊ธฐ์ตํ๋ฉด ๋๋ค. matrix ๋ค๋ชจ์ ์ธ๋ก(์ฆ, row ๋ค) ๋ cost, ๊ฐ๋ก(์ฆ, column๋ค)๋ state.
- ๊ทธ๋ผ ์ ์์์์๋ 2x6 ๋ชจ์์ ์์ฝ๋น์ ๋งคํธ๋ฆญ์ค๊ฐ ๊ตฌํด์ง๊ฒ ๋๋ค.
- ์ด์ ํน์ ์ํฉ (์ฆ, ํน์ state ์ ํน์ cost) ์์์ ์์ฝ๋น์ ๋งคํธ๋ฆญ์ค๊ฐ ์๋ ค์ง๋ฉด, ๊ทธ ๋ค์ ๋จ๊ณ๋ ์์ ํ ๊ณ์ฐ๊ธฐ์ด๋ค.
- GN์ normal equation ์ ํ๋ฉด ๋๊ณ ,
- KF๋ ์ ๋ช
ํ KF equation ๋ฐ๋ผ์ ํ๋ฉด๋๋ค.
๊ฐ๋ก 2
- ๊ทธ๋ฐ๋ฐ ์ธ์์ nonlinear ํ๋ฏ๋ก,
- ์ฐ๋ฆฌ๋ vector space ์ ์ด๊ณ ์์ง ์์ $\textbf{x}$ ๋ฅผ ์ต์ ํ ํ ์ ์๊ณ ,
- ๋์ vector space์ ์ด๊ณ ์๋ $\delta\textbf{x}$ ๋ฅผ ์ต์ ํ ํด์ผ ํ๋ค.
- ์ฌ์ค SLAM์ ๊ฑฐ์ ๋ชจ๋ ๊ฒฝ์ฐ์์ state์ rotation ์ ํ์ ๋๋ค. $\mathbf{R} = \textbf{Exp}(\delta{r})$ ์ด ์๊ธด๋ฐ โฆ rotation formulation ์ด์ผ๊ธฐ๊น์ง ํ๋ฉด ๋๋ฌด ๊ธธ์ด์ง๋ ์ด๊ฒ์ ๋ค๋ฅธ ๊ฒ์๊ธ ์์ ๋ธ๋ก๊ทธ ํํ ๋ฆฌ์ผ ๋ก ๋งํฌ๋ฅผ ๋จ๊ธด๋ค ..
- ์ฆ, $c = \textbf{H}\textbf{x} - \textbf{z}$ ๋์ , $\textbf{H}(\textbf{x} + \delta\textbf{x}) - \textbf{z}$ ์ ๋ํ ์์ฝ๋น์์ ๊ตฌํ๋ค.
- ๋ญ์๋ฆฌ๋๋ฉด, $\frac{d(\mathbf{H}\mathbf{x} - \mathbf{z})}{d\mathbf{x}}$ ๋์ ์, $\frac{d(\mathbf{H}(\textbf{x} + \delta\textbf{x}) - \mathbf{z})}{d\delta\mathbf{x}}$ ๋ฅผ ๊ตฌํด์ผ ํ๋ค๋ ๊ฒ์ด๋ค.
- ์ด๋ ค์๋ณด์ด์ง๋ง ๊ทธ๋ฅ cost ์ state ๊ฐ $\mathbf{x}$ ์์ $\delta\mathbf{x}$ ๋ก ๋ฐ๋๊ฒ์ด ์ ๋ถ์ด๋ค. $\delta\mathbf{x}$ ๋ผ๋ ๋ฌธ์๊ฐ ๊ดํ ์ด๋ ค์ ๋ณด์ด๋ฉด $\mathbf{x}_d$ ๋ญ ์ด๋ฐ์์ผ๋ก ์จ๋ณผ ์๋ ์๊ฒ ๋ค. $\delta\mathbf{x}$ ๋ ๊ทธ์ vector์ด๋ค. ๋ง์ ํ
์คํธ๋ถ์์ $\delta\mathbf{x}$ ๋ผ๊ณ ์ด๋ค.
- ์ด ๋ ํต์ฌ์, $\frac{d(\mathbf{H}(\textbf{x} + \delta\textbf{x}) - \mathbf{z})}{d\delta\mathbf{x}}$ ๋ผ๋ ๋ฏธ๋ถ์์, $\mathbf{x}$ ์ ๋ํด ๋ฏธ๋ถํ๋ ๊ฒ์ด ์๋๋ผ๋ ์ ์ด๋ค. ์ฆ, ์ด ๋๋, $\mathbf{x}$ ๋ ์์๊ฐ์ด๋ค. ์๋ฅผ ๋ค์ด ์ง์ ์์ ์ $\mathbf{x}$ ๊ฐ ์ด๋ค ๊ฐ $\mathbf{b}$ ์๋ค๊ณ ํ์. ๊ทธ๋ผ ๋ฐฉ๊ธ ์ ์ ๋ฏธ๋ถ ์์ ์ข ๋ ์ฌ๋ฆฌ์ ์ผ๋ก ์ฅ๋ฒฝ์ด ๋ํ ํํ๋ก ์จ๋ณด๋ฉด $\frac{d(\mathbf{H}(\textbf{b} + \textbf{x}_d) - \mathbf{z})}{d\mathbf{x}_d}$ ๋ญ ์ด๋ ๊ฒ๋ ์จ๋ณผ ์ ์๊ฒ ๋ค. ์ข ๋ ๋ง์์ด ํธ์ํ ํํ๋ฅผ ์ํด์ ๊ดํธ๋ฅผ ํ์ด์ ์จ๋ณด๋ฉด $\frac{d(\mathbf{H}\textbf{x}_d - (\mathbf{z} - \mathbf{H}\textbf{b}))}{d\mathbf{x}_d}$ ์ด๋ ๊ฒ ์จ๋ณผ ์๋ ์๊ฒ ๋ค. ์ฆ, ์๋ ๊ฑฐ๋ ๋ชจ์์๋ ๋๊ฐ์ผ๋ ์ซ ํ์ ์๋ค.
- $\frac{d(\mathbf{A}\mathbf{x})}{d\mathbf{x}} = \mathbf{A}$ ์ด๋ฏ๋ก $\frac{d(\mathbf{H}\textbf{x}_d - (\mathbf{z} - \mathbf{H}\textbf{b}))}{d\mathbf{x}_d} = \mathbf{H}$ ์ด๋ค. ์ฐธ ์ฝ์ฃ ?
- ์ฆ, ๋ฏธ๋ถ๋์์ 1์ฐจ linear term ๋ง ์์ผ๋ฉด ํธ๋ฏธ๋ถ์ ๋งค์ฐ ์ฝ๊ณ ์๋ช
ํด์ง๋ค.
- SLAM ๋
ผ๋ฌธ๋ค์ ๋๋ถ๋ถ์ ์์ฝ๋น์ ์ ๋์์๋ ์ด ํธ๋ฆญ์ ์ด์ฉํ๊ณ ์๋ค.
- ์๋ํ๋ฉด,
- ๋ฏธ๋ถ์ ํด์ผํ๋ ๋์์ ๋ณดํต ์ผ๋ฐ์ ์ผ๋ก position, rotation (attitude), velocity, bias ๋ฑ์ธ๋ฐ,
- ์ฌ๊ธฐ์์ rotation ์ธ์๋ ๋ชจ๋ ์ด๋ฏธ vector space ์์ ์ด๊ณ ์๋ค.
- vector space ์ ์ฌ๋ ํญ๋ชฉ๋ค์ ์์ $\frac{d(\mathbf{A}\mathbf{x})}{d\mathbf{x}} = \mathbf{A}$ ๋ผ๋ ์ฌ์ค์ ์ด๋ฏธ ์ ์ฉํ ์ ์๋ค.
- ์๋ฅผ ๋ค์ด์
- ์ด๋ค position term์ ๋ํ cost function ์ด position ์ ๋ํ linear combination (๋คํญ์ฐจ์) ๋ก ๊ตฌ์ฑ๋์ด ์๋ค๊ณ ํ๋๋ผ๋,
- iterative optimization ์์๋ ๋ฏธ์๋ณ์๋ฅผ ์ต์ ํ ํ๊ธฐ ๋๋ฌธ์ ๋ฏธ์๋ณ์ position ์ 2์ฐจ ์ด์๋ค์ ๊ฑฐ์ 0์ผ๋ก ๊ทผ์ฌํ ์ ์๋ค, ์ด๋ ๊ฒ ํด๋ฒ๋ฆฌ๊ฒ ๋๋ฉด
- ๊ฒฐ๊ตญ ๋จ๋ ๊ฒ์ 1์ฐจ term์ผ๋ก ๊ฐ์ํ ํ ์ ์๋ค.
- ํ์ง๋ง rotation term ์ ๋ฏธ์๋ณ์์ธ rotation vector (== lie algebra) ๋ default ํํ๋ก๋ 1์ฐจ term๋ง์ด ๋จ์ง ์๊ธฐ ๋๋ฌธ์,
- ๋ช ๊ฐ์ง ํธ๋ฆญ๋ค์ ๋ ๋ํด์ค์, $\frac{d(\mathbf{A}\mathbf{r})}{d\mathbf{r}} = \mathbf{A}$ ๊ณผ ๊ฐ์ด ์์ ๊ธฐ๋ณธ ํธ๋ฆญ์ ๋์ผํ๊ฒ ์ ์ฉํ ์ ์๊ฒ ํด์ฃผ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ธ ๊ณผ์ ์ด๋ค.
- ๊ทธ ๋ช ๊ฐ์ง ํธ๋ฆญ๋ค์ด ์ด๋ค ๊ฒ์ธ์ง ์ค์ ์์๋ฅผ ํตํด ์์๋ณด์.
R2LIVE reprojection error
- R2LIVE ๋
ผ๋ฌธ์ appendix ์ reprojection error ์ ๋ ๊ณผ์ ์ ์กฐ๊ธ ๋ ์์ธํ๊ฒ ํ์ด์ ์จ๋ณด๋ ๊ฒ ์ด ํฌ์คํธ์ ๋ชฉ์ ์ด๋ค.
\[\begin{align*}
\mathbf{P}_{\mathbf{C}} (\check{\mathbf{x}}_{k+1} \boxplus \delta \check{\mathbf{x}}_{k+1}, {}^{\mathbf{G}}\mathbf{P}_s) = \left( {}^{\mathbf{G}}\check{\mathbf{R}}_{I_{k+1}} \textbf{Exp} \left( {}^{\mathbf{G}}\delta \check{\mathbf{r}}_{I_{k+1}} \right) {}^{\mathbf{I}}\check{\mathbf{R}}_{C_{k+1}} \textbf{Exp} \left( {}^{\mathbf{I}}\delta \check{\mathbf{r}}_{C_{k+1}} \right) \right)^T {}^{\mathbf{G}}\mathbf{P}_s - {}^{I}\check{\mathbf{p}}_{C}\\
- {}^{\mathbf{I}}\delta \check{\mathbf{p}}_{\mathbf{C}} - \left( {}^{\mathbf{I}}\check{\mathbf{R}}_{\mathbf{C}} \textbf{Exp} \left( {}^{\mathbf{I}}\delta \check{\mathbf{r}}_{\mathbf{C}} \right) \right)^T \left( {}^{\mathbf{G}}\check{\mathbf{p}}_{I_{k+1}} + {}^{\mathbf{G}}\delta \check{\mathbf{p}}_{I_{k+1}} \right)
\end{align*}\]
- ์ ์์์ ๊ฐ ๋ฏธ์๋ณ์ subvector ๋ค์ ๋ํด์ ํธ๋ฏธ๋ถ ํ๋ฉด, ๊ทธ subvector์ ๋ํ submatrix (block) Jacobian๋ค์ ์ป์ ์ ์๋ค. ์ด๊ฑธ ๊ทธ์ ์ ์์์ ํ๋์ Jacobian matrix ๋ฅผ ๋ง๋ค๋ฉด ๋๋ค.
- ์๋ฅผ ๋ค์ด์, world ์ขํ๊ณ์์์, position ์ ๋ํ ๋ฏธ์๋ณ์ ${}^{\mathbf{G}}\delta \check{\mathbf{p}}_{I_{k+1}}$ ์ ๋ํด ์์ cost (reprojection error) ๋ฅผ ๋ฏธ๋ถํ๋ฉด,
- $\mathbf{M}_{\mathbf{B}}$ ๋ผ๋ ๋ธ๋ก์ ์ป์ ์ ์๋ค.
- ps. dp ์
์ฅ์์ dr ์ 0์ผ๋ก ๋ฌด์ํ ์ ์๊ธฐ ๋๋ฌธ์, ์ด ๊ฒฝ์ฐ์, $\textbf{Exp} \left( {}^{\mathbf{I}}\delta \check{\mathbf{r}}_{\mathbf{C}} \right)$ ์ $\mathbf{I}$ ๋ก ๊ทผ์ฌํด์ ์ ๋ ๊ฒ ๋์๋ค.
- ์๋ฌดํผ ์ด๋ฏธ vector space ์ ์ด๊ณ ์๋ position term์ ๋ํด์๋ cost ๊ฐ 1์ฐจ term๋ง ์ด๋ฏธ ์์๊ฒ ๋จ๊ฒจ์ ธ์์ ๋, ํธ๋ฏธ๋ถํ์ฌ ์์ฝ๋น์ ๋ธ๋ก์ ์ป์ด๋ด๋ ๊ฒ์ด ๋งค์ฐ ์๋ช
ํจ์ ์ ์ ์๋ค.
- ๊ทธ๋ ๋ค๋ฉด ์ด์ rotation ์ชฝ term์ ๋ํ ์ถ๊ฐ ํธ๋ฆญ์ ์์๋ณด์๋ ๊ฒ์ด๋ค.
- ์ฆ, ์๋์ $\mathbf{M}_{\mathbf{A}}$ ๋ ๋๋์ฒด ์ด๋ป๊ฒ ์ป์ด์ง๋ ๊ฒ์ธ๊ฐ?
- ์ผ๋จ rotation term์ ๋ํ cost (์ด๋ก์ ๋ฐ์ค) ์์, ๋ฏธ๋ถ๋์์ธ ${}^{\mathbf{I}}\delta \check{\mathbf{r}}_{\mathbf{C}}$ ๊ฐ 1์ฐจ term์ผ๋ก ์กด์ฌํ๊ณ ์์ง ์๋ค.
- ๋ฐ๋ผ์ ์ ์ด๋ก์ ๋ฐ์ค๋ฅผ ์ง์ง๊ณ ๋ณถ์์ ${}^{\mathbf{I}}\delta \check{\mathbf{r}}_{\mathbf{C}}$ ์ ์ด๋ค ๋งคํธ๋ฆญ์ค๊ฐ ๊ทธ์ ๋จ์ํ๊ฒ matmul๋ก ๊ณฑํด์ง ํํ๋ก ๋ง๋๋ ๊ฒ์ด ์ด์ ๋ชฉํ์ด๋ค.
- ์ผ๋จ ๋
ผ์๋ฅผ ๋จ์ํ ํ๊ธฐ ์ํด
- extrinsic parameter ๋ ๊ณ ์ ํ์. ์ฆ, IMU์ ๋ํ camera ์ relative rotation ์ ๋ํ ๋ฏธ์๋ณํ๋์ด ์๋ ๊ฒ์ด๋ค. ์กฐ์ ํ์ง ์์ ๊ฒ์ด๊ธฐ ๋๋ฌธ์. ์ฆ, ${}^{\mathbf{I}}\delta \check{\mathbf{r}}_{C_{k+1}}$ ์ $\mathbf{0}$ ์ด๋ค. ๊ทธ๋ผ $\textbf{Exp} \left( {}^{\mathbf{I}}\delta \check{\mathbf{r}}_{C_{k+1}} \right)$ ๋ $\mathbf{I}$ ๊ฐ ๋๋ค.
- ๊ทธ๋ฌ๋ฉด $\left( {}^{\mathbf{G}}\check{\mathbf{R}}_{I_{k+1}} \textbf{Exp} \left( {}^{\mathbf{G}}\delta \check{\mathbf{r}}_{I_{k+1}} \right) {}^{\mathbf{I}}\check{\mathbf{R}}_{C_{k+1}} \textbf{Exp} \left( {}^{\mathbf{I}}\delta \check{\mathbf{r}}_{C_{k+1}} \right) \right)^T {}^{\mathbf{G}}\mathbf{P}_s$ ๋
- ์ด๋ ๊ฒ $\left( {}^{\mathbf{G}}\check{\mathbf{R}}_{I_{k+1}} \textbf{Exp} \left( {}^{\mathbf{G}}\delta \check{\mathbf{r}}_{I_{k+1}} \right) {}^{\mathbf{I}}\check{\mathbf{R}}_{C_{k+1}} \right)^T {}^{\mathbf{G}}\mathbf{P}_s$ ๊ฐ ๋๋ค.
- ํธ๋ฆญ 1: $\delta \mathbf{r} $ ์ด ์์ ๋, $\textbf{Exp} (\delta\mathbf{r}) \approx \mathbf{I} + \left[ \delta\mathbf{r}\right]_{\times}$ ์ด๋ค.
- ๊ทธ๋ฌ๋ฉด $\left( {}^{\mathbf{G}}\check{\mathbf{R}}_{I_{k+1}} \textbf{Exp} \left( {}^{\mathbf{G}}\delta \check{\mathbf{r}}_{I_{k+1}} \right) {}^{\mathbf{I}}\check{\mathbf{R}}_{C_{k+1}} \right)^T {}^{\mathbf{G}}\mathbf{P}_s$ ๋
- ์ด๋ ๊ฒ $\left( {}^{\mathbf{G}}\check{\mathbf{R}}_{I_{k+1}} \left(\mathbf{I} + \left[ {}^{\mathbf{G}}\delta \check{\mathbf{r}}_{I_{k+1}}\right]_{\times}\right) {}^{\mathbf{I}}\check{\mathbf{R}}_{C_{k+1}} \right)^T {}^{\mathbf{G}}\mathbf{P}_s$ ๊ฐ ๋๋ค.
- ํธ๋ฆญ 2: $\left( \mathbf{A} \mathbf{B} \mathbf{C} \right)^{T} = \mathbf{C}^{T} \mathbf{B}^{T} \mathbf{A}^{T}$ ๋ฅผ ์ด์ฉํด์ ์์ ์์ ํด์ฃผ๋ฉด
- ์ด๋ ๊ฒ $ {}^{\mathbf{I}}\check{\mathbf{R}}_{C_{k+1}}^{T} \left(\mathbf{I} + \left[ {}^{\mathbf{G}}\delta \check{\mathbf{r}}_{I_{k+1}}\right]_{\times}\right)^{T} {}^{\mathbf{G}}\check{\mathbf{R}}_{I_{k+1}}^{T} {}^{\mathbf{G}}\mathbf{P}_s$ ๊ฐ ๋๋ค.
- ํธ๋ฆญ 3: $\left( \mathbf{A} + \mathbf{B} \right)^{T} = \mathbf{A}^{T} + \mathbf{B}^{T} $ ๋ฅผ ์ด์ฉํด์ ์์ ์์ ํด์ฃผ๋ฉด
- ์ด๋ ๊ฒ ${}^{\mathbf{I}}\check{\mathbf{R}}_{C_{k+1}}^{T} {}^{\mathbf{G}}\check{\mathbf{R}}_{I_{k+1}}^{T} {}^{\mathbf{G}}\mathbf{P}_s + {}^{\mathbf{I}}\check{\mathbf{R}}_{C_{k+1}}^{T} \left[ {}^{\mathbf{G}}\delta \check{\mathbf{r}}_{I_{k+1}}\right]_{\times}^{T} {}^{\mathbf{G}}\check{\mathbf{R}}_{I_{k+1}}^{T} {}^{\mathbf{G}}\mathbf{P}_s$ ๊ฐ ๋๋ค.
- ๊ทธ๋์ ๋ ์ฒซ๋ฒ์งธ ํ
${}^{\mathbf{I}}\check{\mathbf{R}}_{C_{k+1}}^{T} {}^{\mathbf{G}}\check{\mathbf{R}}_{I_{k+1}}^{T} {}^{\mathbf{G}}\mathbf{P}_s$ ๋ rotation ๋ฏธ์๋ณ์์ ๋ํด์๋ ์์์ด๋ฏ๋ก ๋ฏธ๋ถํ๋ฉด 0์ด ๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ ๊ทธ๋ฅ ํธ์์ ๊ฐ๋จํ๊ฒ $c$ ๋ผ๊ณ ํ์.
- ํธ๋ฆญ 4: skew-symmetric matrix ์ ์ ์์ธ, $\left[\delta\mathbf{r}\right]_\times^{T} = - \left[\delta\mathbf{r}\right]$ ๋ฅผ ์ด์ฉํ๋ฉด
- ์ด๋ ๊ฒ $-{}^{\mathbf{I}}\check{\mathbf{R}}_{C_{k+1}}^{T} \left[ {}^{\mathbf{G}}\delta \check{\mathbf{r}}_{I_{k+1}}\right]_{\times} {}^{\mathbf{G}}\check{\mathbf{R}}_{I_{k+1}}^{T} {}^{\mathbf{G}}\mathbf{P}_s + c$ ๊ฐ ๋๋ค.
- ํธ๋ฆญ 5: skew-symmetric matrix ๋ ๋ ๋ฒกํฐ์ cross-product ์ matrix-vector ํํ์๊ณผ๋ ๊ฐ๋ค. ๊ทธ๋ ๋ค๋ฉด the cross product is anticommutative ๋ผ๋ ์ฑ์ง $ \mathbf {a} \times \mathbf {b} =-(\mathbf {b} \times \mathbf {a} )$ ๋ฅผ ์ด์ฉํ๋ฉด
- ์์ ์์์ ์ด ๋ถ๋ถ $\left[ {}^{\mathbf{G}}\delta \check{\mathbf{r}}_{I_{k+1}}\right]_{\times} {}^{\mathbf{G}}\check{\mathbf{R}}_{I_{k+1}}^{T} {}^{\mathbf{G}}\mathbf{P}_s = -\left[ {}^{\mathbf{G}}\check{\mathbf{R}}_{I_{k+1}}^{T} {}^{\mathbf{G}}\mathbf{P}_s \right]_{\times} {}^{\mathbf{G}}\delta \check{\mathbf{r}}_{I_{k+1}} $ ๊ฐ ๋๋ค.
- ๊ทธ๋ฌ๋ฉด $-{}^{\mathbf{I}}\check{\mathbf{R}}_{C_{k+1}}^{T} \left[ {}^{\mathbf{G}}\delta \check{\mathbf{r}}_{I_{k+1}}\right]_{\times} {}^{\mathbf{G}}\check{\mathbf{R}}_{I_{k+1}}^{T} {}^{\mathbf{G}}\mathbf{P}_s + c$ ๋
- ์ด๋ ๊ฒ ${}^{\mathbf{I}}\check{\mathbf{R}}_{C_{k+1}}^{T} \left[ {}^{\mathbf{G}}\check{\mathbf{R}}_{I_{k+1}}^{T} {}^{\mathbf{G}}\mathbf{P}_s \right]_{\times} {}^{\mathbf{G}}\delta \check{\mathbf{r}}_{I_{k+1}} + c$ ๊ฐ ๋๋ค.
- ๋ค ์๋ค!
- ์ ์์ ${}^{\mathbf{G}}\delta \check{\mathbf{r}}_{I_{k+1}}$ ์ ๋ํด ๋ฏธ๋ถํ๋ ๊ฒ์ ์ด์ ๊ทธ์ $\frac{d(\mathbf{A}\mathbf{x})}{d\mathbf{x}} = \mathbf{A}$ ์ ์์
์ด๋ค.
- ๋ฐ๋ผ์ ๋
ผ๋ฌธ์์ jacobian block, ์ฆ ์์ ๊ทธ๋ฆผ์์ $\mathbf{M}_{\mathbf{A}}$ block ์ด ${}^{\mathbf{I}}\check{\mathbf{R}}_{C_{k+1}}^{T} \left[ {}^{\mathbf{G}}\check{\mathbf{R}}_{I_{k+1}}^{T} {}^{\mathbf{G}}\mathbf{P}_s \right]_{\times}$ ์๋ ๊ฒ์ด๋ค.
- ์ ๋ ๋!
๊ฒฐ๋ก
- 1
- ํต์์ ์ผ๋ก SLAM์์ ํธ๋ state๋ค์ ํญ์ ๊ฑฐ๊ธฐ์ ๊ฑฐ๊ธฐ์ด๋ค. position, velocity, attitude (rotation), bias, gravity, โฆ
- ์ด๋ค substate๋ค์ ๋ํด์, ์์ฝ๋น์ ๊ตฌํ๋ ๊ฒ์ ๊ฑฐ์ ๊ณต์ํ๋์ด์๋ค. ์ฆ, ๋ ํญ์ ๊ทธ๋ฐ๋ฐฉ์์ผ๋ก โฆ ๊ฑฐ๊ธฐ์ ๊ฑฐ๊ธฐ.
- The One Ring: ์ฌ๋ฌ ๊ทผ์ฌ(approximations)๋ค๊ณผ linear algebera trick ๋ค์ ์ด์ฉํด์ cost๋ฅผ substate ์ ๋ํ 1์ฐจ์์ผ๋ก ํํํ๋ค. ๋
- rotation์ ์ ์ธํ substate๋ค์ ์ด๋ฏธ vector space ์ ์์ผ๋ฏ๋ก ๋ฏธ๋ถ์ด ์ด๋ ต์ง ์๊ณ ,
- rotation ์ด๋ผ๋ term์ ์ด๋ค ๋ฌธ์ ๋ค ํ๋ ์กด์ฌํ๋ ์์์ด๋ฏ๋ก, ์ด๋ค ๋ฌธ์ ๋ฅผ ํ๋ ์์ ํธ๋ฆญ๋ค์ด ๊ฑฐ์ ํญ์ ์ด์ฉ๋๋ค. ๋ฐ๋ผ์ ์์์ ์์ฝํ ๊ทธ ์ด์์ผ๋ก ๋ญ๊ฐ ๋ ํ์ํ ์ผ๋ ๋ณ๋ก ์๋ค.
- 2
- ์์ฆ Symforce ๋ฑ manualํ๊ฒ ๊ทผ์ฌํ์ง ์๊ณ symbolic ํ๊ฒ (์ฌ๋์ด ๋ณด๊ธฐ์๋ ๋ณต์กํ๊ฒ) ์๋์ผ๋ก ํ์ด์ฃผ๋ ๋ฏธ๋ถ๊ธฐ๋ค๋ ์์ผ๋ โฆ
- ์์ ๊ฐ์ด manual ํ๊ฒ ์์ฝ๋น์์ ๊ตฌํ๋ฉด ์ฌ๋์ด ์ฝ๋ ์ฝ๋๊ฐ ์์ฃผ ์๋ป์ง๋ค๋ ์ฅ์ ์ด ์๋ค. interpretable ํ ์ฝ๋์ธ์ง๋ ์ ์ง๋ณด์๊ด์ ์์ ์ค์ํ๋๊น.
- ๋ฌผ๋ก Pytorch๋ Ceres ์ฒ๋ผ automatic symbolic ์ด๋ manual symbolic ์ด๋ ๋ ๋ค ํ์ง์๊ณ ๊ณ์ฐ๊ทธ๋ํ๋ฅผ ์ ์งํด์ ๋ฏธ๋ถ๊ฐ (value) ๋ง์ ์์์ ๊ณ์ฐํด์ฃผ๋ฉด ์์ฝ๋น์์ด ์ด์ฉ๋ค ๋ค ๋ชฐ๋ผ๋ ๋๊ธด ํ์ง๋ง โฆ ์๊ณ ์ฐ๋ ๊ฒ๊ณผ ๋ชจ๋ฅด๊ณ ์ฐ๋ ๊ฒ์ ๋๋ฒ๊น
ํ ๋ ์ฐจ์ด๊ฐ ์๋ค๊ณ ์๊ฐํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ์ ํ concise ํ code base ๋ค์์๋ ์ง์ ์์ฝ๋น์์ ๊ตฌํด์ ๊ฐ๋จํ solve ๋ฅผ ์ง์ ์ํํ๋ ์คํ์์ค๋ค๋ ๋ง์ผ๋ฏ๋ก ์์๋๋ฉด ์ ์ฉํ ๊ฒ์ด๋ค (์: kiss-icp). ๋ชจ๋ฅด๋ฉด ๋ฌด์์ ๋๋ ต์ง๋ง ์๋ฉด ์ฝ๋ค.