SLAM Engineer

๐ŸŒˆ A nano Lie theory: 1ํŽธ (๊ฐœ๋… ํŽธ)


A micro Lie theory ๋…ผ๋ฌธ์ด ์–ด๋ ต๋‹ค๋ฉด โ€ฆ

  • ์ด ๊ธ€์„ ๋จผ์ € ์ฝ์–ด๋ณด์ž.
  • a.k.a A nano Lie theory!

๊ฐœ์š”

  • ์•ž์˜ ๋ธ”๋กœ๊ทธ ํŠœํ† ๋ฆฌ์–ผ ๋ฐ ์˜ˆ์ „ ๋ธ”๋กœ๊ทธ ์—์„œ๋„ ๋งจ๋‚  ์ •๋ฆฌํ•˜๋Š” rotation ์ด์•ผ๊ธฐ๋ฅผ ๋‹ค์‹œ ํ•œ๋ฒˆ, ์ข€ ๋” consiceํ•˜๊ฒŒ, ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.
  • ์ด๋ฅธ๋ฐ” Nano Lie Theory!
    • Joan Sola ์˜ A micro Lie theory for state estimation in robotics ๋ฅผ ์ฝ๊ธฐ ์ „์— ํ†บ์•„๋ณด๊ณ  ๊ฐ€๋ฉด ์ข‹์€ ์ด์•ผ๊ธฐ๋“ค์„ ์ˆ˜ํ•™์—†์ด ์ ์–ด๋ณด์•˜๋‹ค.
    • ์ค‘์š”ํ•œ ๊ฒƒ์€ How ๋ณด๋‹ค Why์ด๋‹ค. Lie theory๋ฅผ ์™œ ์•Œ์•„์•ผ ํ•˜๋Š”๊ฐ€?
    • micro ๋ณด๋‹ค ์ข€ ๋” ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ด์•ผ๊ธฐํ•œ๋‹ค๋Š” ์ธก๋ฉด์—์„œ nano Lie theory.

Nano Lie Theory

์—”์ง€๋‹ˆ์–ด์˜ ์ผ

  • ์šฐ๋ฆฌ๋Š” ์–ด๋–ค ๋ณ€์ˆ˜๋“ค์˜ ์ตœ์ ๊ฐ’์„ ์•Œ๊ณ ์‹ถ๋‹ค.
  • ์šฐ๋ฆฌ๊ฐ€ ์•Œ๊ณ ์‹ถ์€ ๊ฐ’๋“ค์˜ ๋ชจ์Œ์€ vector (== multi dimensional 1-d tensor) ์ด๋‹ค. let it $\textbf{x}$.
  • ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋ณ€์ˆ˜๋“ค์ด ๋งŒ์กฑํ•ด์•ผ ํ•˜๋Š” ์–ด๋–ค ์ œ์•ฝ๋“ค์ด ์ฃผ์–ด์ง„๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด ์–ด๋–ค ๋œจ๊ฑฐ์šด ๋ฌผ์ฒด๋ฅผ ๊ฐ์‹œํ•˜๋Š” ๋กœ๋ด‡์ด ์žˆ๋‹ค๊ณ  ํ•˜์ž. ๊ทธ ๋กœ๋ด‡์€ ๋œจ๊ฑฐ์šด ๋ฌผ์ฒด ์ฃผ๋ณ€์„ ์–ด๋–ป๊ฒŒ ๋Œ๋ฉด์„œ ๊ฐ์‹œํ•ด์•ผํ• ๊นŒ?
    • x = (๋กœ๋ด‡์˜ ์œ„์น˜, ๋กœ๋ด‡์˜ ์ž์„ธ, ๋กœ๋ด‡์ด ๋Š๋ผ๋Š” ์˜จ๋„) ๋ผ๊ณ  ํ•˜๋ฉด,
      • ์ž์„ธ ์ œ์•ฝ: ๋กœ๋ด‡์˜ ์ž์„ธ๋Š” ๊ทธ ๋ฌผ์ฒด๋ฅผ ์ตœ์†Œํ•œ ์–ด๋Š์ •๋„ ์ด์ƒ์œผ๋กœ๋Š” ์ˆ˜์ง์— ๊ฐ€๊น๊ฒŒ ๋ฐ”๋ผ๋ณด์•„์•ผ ํ•˜๋ฉฐ,
      • ์œ„์น˜ ์ œ์•ฝ: ๋กœ๋ด‡์˜ ์œ„์น˜๋Š” ๊ทธ ์—ด์›์„ ์ž˜ ๊ฐ์‹œํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋Š์ •๋„ ๊ฑฐ๋ฆฌ ๊นŒ์ง€ ๊ฐ€๊นŒ์›Œ์ง€๋ ค๊ณ  ๋…ธ๋ ฅํ•ด์•ผํ•œ๋‹ค.
      • ์˜จ๋„ ์ œ์•ฝ: ํ•˜์ง€๋งŒ ๊ทธ ๋•Œ ๋กœ๋ด‡ ์ž์ฒด๊ฐ€ ๋„ˆ๋ฌด ๋œจ๊ฑฐ์›Œ์ง€๋ฉด ๊ธฐ๋Šฅ์„ ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๊ทธ ๋ฌผ์ฒด์— ๋„ˆ๋ฌด ๊ฐ€๊นŒ์›Œ์ง€๋ฉด ๋˜ ์•ˆ๋œ๋‹ค.
  • ๊ทธ ์ œ์•ฝ๋“ค์„ ๋งŒ์กฑํ•˜๋Š” ์ตœ์ ๊ฐ’ $\textbf{x}^{*}$ ๋ฅผ ์ฐพ๊ณ ์‹ถ๋‹ค.

์ตœ์ ํ™”์˜ ๋ณธ์งˆ 1: Ax = b

  • ์ด ์ตœ์ ํ™”๋ผ๋Š” ๊ฒƒ์€ ํ•ญ์ƒ $\textbf{A}\textbf{x} = \textbf{b}$ ๊ผด์ด ๋œ๋‹ค.
    • ps. ์™œ ๊ทธ๋Ÿฐ์ง€ ์ž์„ธํ•œ ์„ค๋ช…์€ ์ƒ๋žตํ•œ๋‹ค. ์ด์— ๋Œ€ํ•ด์„œ๋Š” Numerical Optimization ์ด๋ผ๊ณ  ๊ฒ€์ƒ‰ํ•ด์„œ ๋‚˜์˜ค๋Š” ์—ฌ๋Ÿฌ ํ…์ŠคํŠธ๋ถ๋“ค์„ ์ถ”์ฒœํ•œ๋‹ค. ๋Œ€ํ‘œ์ ์œผ๋กœ๋Š” Nocedal, Jorge, and Stephen J. Wright, eds. Numerical optimization. New York, NY: Springer New York, 1999.. ํ˜„์žฌ ์ธ์šฉ์ด 40000ํšŒ๊ฐ€ ๋„˜๋Š”๋‹ค.
  • ์‚ฌ์‹ค ํ˜„์‹ค ์„ธ๊ณ„์—์„œ๋Š” $\textbf{A}\textbf{x} = \textbf{b}$ ์™€ ๊ฐ™์ด ์ œ์•ฝ๋“ค์ด ์˜ˆ์œ ๋งคํŠธ๋ฆญ์Šค ๊ณฑ์œผ๋กœ ๋”ฑ ๋–จ์–ด์ง€์ง€ ์•Š๊ณ , $\mathcal{A}(\textbf{x}) = \textbf{b}$ ์™€ ๊ฐ™์€ ์–ด๋–ค ํ•จ์ˆ˜ ํ˜•ํƒœ๋กœ ์ œ์•ฝ์ด ์กด์žฌํ•œ๋‹ค (โ€ฆ ์ •๋ง ์•„๋ฌด ์˜ˆ๋ฅผ ๋“ค์ž๋ฉด $(\textbf{A}\textbf{A}^{T})^{-1}\textbf{x} + \textbf{x}^{T}\textbf{A}\textbf{x} = \textbf{b}$)
    • ps. ์ด๋ฅผ ํ˜„์‹ค์„ธ๊ณ„๋Š” nonlinear ํ•˜๋‹ค๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.
  • ์•„๋ฌดํŠผ๊ฐ„์— ๋ฌด์กฐ๊ฑด ์ € ํ˜•ํƒœ(๋”๋„๋ง๊ณ  ๋œ๋„๋ง๊ณ  ๋”ฑ $\textbf{A}\textbf{x} = \textbf{b}$ ๋ชจ์–‘์ƒˆ) ๋ฅผ ๋งŒ๋“ค์–ด ๋‚ด๋Š” ๊ฒƒ์ด ๊ด€๊ฑด์ด๋‹ค. ๊ทธ ์ดํ›„๋ถ€ํ„ฐ ์ด์ œ ๊ทœ์น™์ ์ธ ์ตœ์ ํ™” ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ๋Œ๊ธฐ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
    • โ€˜๊ทœ์น™์ ์ธ ์ตœ์ ํ™” ๋ฉ”์ปค๋‹ˆ์ฆ˜โ€™ ์ด๋ž€ โ€˜๋งค์šฐ ์ž˜ ์ •๋ฆฝ๋œ ๊ธฐ๊ณ„์ ์ธ ๊ณผ์ •โ€™ ์„ ์˜๋ฏธํ•œ๋‹ค. ์ฆ‰ ์•„์ฃผ ๊ณ„์‚ฐ๊ธฐ์Šค๋Ÿฌ์šด. ์˜ˆ๋ฅผ ๋“ค์–ด $1+1$ ์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋ฌด์กฐ๊ฑด 2๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ๋ฐ–์— ์—†๋Š” ์‚ฐ์ˆ˜ ๊ทธ ์ž์ฒด.
  • $\mathcal{A}(\textbf{x}) = \textbf{b}$ ๋ผ๋Š” ๋ชจ์–‘์„ $\textbf{A}\textbf{x} = \textbf{b}$ ๋ผ๋Š” ํ˜•ํƒœ๋กœ ๋งŒ๋“ค์–ด๋‚ด๋Š” ๊ฒƒ์ด ํ…Œ์ผ๋Ÿฌ expansion ๊ธฐ๋ฒ•์ด๋‹ค (Power series ๋กœ ํŽธ๋‹ค, ์™€ ๊ฐ™์ด ๋งํ•˜๊ธฐ๋„ ํ•œ๋‹ค).
    • ๊ทธ๋ฆฌ๊ณ  ์ด ๋•Œ์˜ $\textbf{A}$์˜ ๋ชจ์–‘์ƒˆ์— ๋”ฐ๋ผ $\textbf{A}$๋Š” ์—ฌ๋Ÿฌ ์„œ๋กœ ๋‹ค๋ฅธ ์„ฑ๊ฒฉ์„ ์ง€๋‹ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.
    • $\textbf{A}$์˜ ์„ฑ๊ฒฉ์€ ์ตœ์ ํ™”์˜ ๊ฒฐ๊ณผ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ € $\textbf{A}$์˜ ๋ชจ์–‘์ƒˆ๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.
      • ๊ธฐ์ดˆ์ ์ธ ๊ฒƒ๋งŒ ์–˜๊ธฐํ•˜๋ฉด under-determinant, over-determination ์ด๋Ÿฐ ์ด์•ผ๊ธฐ๋ฅผ ํ•  ์ˆ˜ ์žˆ๊ฒ ๋‹ค. ํ˜น์€ ์ € $\textbf{A}$๊ฐ€ dense ํ•˜๋ƒ sparse ํ•˜๋ƒ ์ด๋Ÿฐ ๊ฒƒ๋„ ์ค‘์š”ํ•œ ์ฃผ์ œ์ด๋‹ค. ๊ทธ๋ž˜์„œ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด์„œ๋Š” ๊ธฐ์ดˆ์ ์œผ๋กœ ์„ ํ˜•๋Œ€์ˆ˜ํ•™์ด ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ด์•ผ๊ธฐํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋ชจ๋“  ๊ณตํ•™์  ๋ฌธ์ œ์™€ ๋ชจ๋“  ์ตœ์ ํ™”๋Š” $\textbf{A}\textbf{x} = \textbf{b}$ ํ˜•ํƒœ์˜ ์ œ๋„ˆ๋Ÿดํ•œ ํฌ๋งท์œผ๋กœ ๊ฒฐ๊ตญ ๊ท€๊ฒฐ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
  • ์•„๋ฌดํŠผ $\textbf{A}\textbf{x} = \textbf{b}$ ๋ผ๋Š” ์‹์„ ๋งŒ์กฑํ•˜๋Š” ์ตœ์ ๊ฐ’ $\textbf{x}^{*}$ ๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด ์šฐ๋ฆฌ์˜ ๋ชฉํ‘œ์ด๋‹ค.

์ตœ์ ํ™”์˜ ๋ณธ์งˆ 2: Iterative Optimization on vector space

  • $\textbf{A}\textbf{x} = \textbf{b}$ ์„ ํ‘ธ๋Š” ๊ณผ์ •์€ ๋Œ€์ฒด๋กœ (์•„๋‹ˆ ์‚ฌ์‹ค ์‹ค์ œ ๋ฌธ์ œ์—์„œ ๋ชจ๋“  ๊ฒฝ์šฐโ€ฆ) iterative ํ•˜๊ฒŒ ์ด๋ฃจ์–ด์ง„๋‹ค.
    • ์˜ˆ์‹œ ํ‚ค์›Œ๋“œ: Gauss-Newton
  • ์ด ๋•Œ iterative ๋ผ ํ•จ์€ $\textbf{x}$ ์˜ ์ตœ์ ๊ฐ’์ด closed form์œผ๋กœ ๋™‡ ํ•˜๊ณ  ๋ฐ”๋กœ ๋‚˜์˜ค์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.
  • ๋Œ€์‹ ์— ์šฐ๋ฆฌ๋Š” $ \delta \textbf{x}$ ์˜ ์ตœ์ ๊ฐ’์„ ๊ตฌํ•œ๋‹ค. ๊ทธ ์ตœ์ ๊ฐ’์„ $ \delta \textbf{x}^{*}$๋ผ๊ณ  ํ•˜์ž
    • ps. ๊ตณ์ด ์ฒจ์–ธํ•˜์ž๋ฉด (์ž์„ธํ•œ notation ์„ค๋ช…์€ ์–ธ์ œ๋‚˜ ๋Š˜ ์˜ณ๋‹ค).. $ \delta \textbf{x}$ ๋ž€ ๋‹น์—ฐํžˆ ๋ธํƒ€ ๊ณฑํ•˜๊ธฐ $x$ ๊ฐ€ ์•„๋‹ˆ๋‹ค. $\textbf{x}$๋Š” $\textbf{x}$์ธ๋ฐ $\textbf{x}$ ์ฃผ๋ณ€์—์„œ์˜ ์•„์ฃผ ์ž‘์€ $\textbf{x}$ ๋ผ๋Š” ๋œป์ด๋‹ค.
  • ๊ทธ๋Ÿฌ๋ฉด i ๋ฒˆ์งธ ํ„ด์—์„œ์˜ $\textbf{x}^{*}_{i}$๋Š”
    • ์ง์ „ ํ„ด์—์„œ์˜ (์ž„์‹œ ์ตœ์ ๊ฐ’) $\textbf{x}^{\ast-}_{i-1}$์— (${}^{\ast-}$ ๋Š” ๊ทธ ํ„ด๊นŒ์ง€์˜ ์ตœ์ ๊ฐ’์„ ์˜๋ฏธ)
    • ์ด๋ฒˆ ํ„ด์—์„œ์˜ ์ตœ์ ์กฐ๊ธˆ์›€์ง์ž„๊ฐ’ $\delta\textbf{x}^{\ast}_{i}$ ๋ฅผ ๋”ํ•œ ๊ฒƒ์ด ๋œ๋‹ค.
    • ์ฆ‰ $\textbf{x}^{\ast}_{i}$ = $\textbf{x}^{\ast-}_{i-1}$ $+$ $\delta\textbf{x}^{\ast}_{i}$
  • ์ด ๋•Œ ์ € ์ตœ์ ์กฐ๊ธˆ์›€์ง์ž„์˜ ์–‘์ด ๋„ˆ๋ฌด ์ž‘๊ฑฐ๋‚˜ ์•„๋‹ˆ๋ฉด ๊ทธ๋ƒฅ 3๋ฒˆ๋งŒ iteration ์„ ๋Œ๊ธฐ๋กœ ํ–ˆ๋‹ค๋˜๊ฐ€ ํ•˜๋Š”, ์•„๋ฌดํŠผ๊ฐ„์˜ ์—”์ง€๋‹ˆ์–ด์˜ ๊ทœ์น™์— ๋„๋‹ฌํ•˜๊ฒŒ ๋˜๋ฉด $\textbf{x}^{\ast-}_{i}$ ๋ฅผ ์ตœ์ข…์ตœ์ ๊ฐ’์ธ $\textbf{x}^{\ast}_{i}$ ์ด๋‹ค ๋ผ๊ณ  ๋•…๋•… ๊ฒฐ์ •ํ•œ๋‹ค.
  • ์ด ๋•Œ $\delta\textbf{x}^{\ast}$ ๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์€ ๋‹คํ–‰ํžˆ closed form ์œผ๋กœ ํŽธํ•˜๊ฒŒ ์ด๋ฃจ์–ด์ง„๋‹ค.
  • ์šฐ๋ฆฌ๋Š” ์•ž์„œ $\textbf{A}\textbf{x} = \textbf{b}$ ๋ผ๋Š” ๋ฌธ์ œ๋ฅผ $\textbf{A}(\textbf{x} + \delta \textbf{x}) = \textbf{b}$ ๋ผ๋Š” ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๊ฒƒ ์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.
    • ์—ฌ๊ธฐ์—์„œ $\textbf{x}$๋Š” ์ง์ „ ํ„ด์˜ ๊ฐ’์ด๋‹ˆ ์ƒ์ˆ˜์ด๊ณ , $ \delta \textbf{x}$๋งŒ์ด ๋ณ€์ˆ˜์ž„์„ ๋ช…์‹ฌ!
  • ๊ทธ๋Ÿฌ๋ฉด ๋‹ค์‹œ ๋ณ€์ˆ˜๋งŒ์„ ๋‚จ๊ธฐ๋ฉด, ์ด ๋ฌธ์ œ๋Š” $\textbf{C} \cdot \delta \textbf{x} = \textbf{d}$ ๋ผ๋Š” ๋ฌธ์ œ๋กœ ์น˜ํ™˜๋œ๋‹ค ($\cdot$๋Š” (์•ž์—์„œ๋Š” ์“ฐ๋Š” ๊ฒƒ์„ ์ƒ๋žตํ–ˆ์ง€๋งŒ) ๋‹จ์ˆœํ•œ ๋งคํŠธ๋ฆญ์Šค-๋ฒกํ„ฐ ๊ณฑ ์—ฐ์‚ฐ์„ ์˜๋ฏธ).
    • ์ด ๋•Œ ์–‘๋ณ€์— transposed C๋ฅผ ๊ณฑํ•ด์ฃผ๋ฉด $\textbf{C}^T \cdot \textbf{C} \cdot dx = \textbf{C}^T \cdot \textbf{d}$ ์ด๊ณ ,
    • ์ด๊ฑธ ๋„˜๊ฒจ์ฃผ๋ฉด $\delta \textbf{x}^{\ast} = (\textbf{C}^T \textbf{C})^{-1} \textbf{C}^{T} \textbf{d} $ ๊ฐ€ ๋œ๋‹ค. ์ด๋ฅผ ์„ ํ˜•๋Œ€์ˆ˜ํ•™์šฉ์–ด๋กœ โ€˜normal equationโ€™์„ ํ‘ผ๋‹ค, ๋ผ๊ณ  ๋งํ•˜๊ธฐ๋„ ํ•œ๋‹ค.
  • ๊ทธ๋Ÿผ ๋‹ค์‹œ ์•ฝ๊ฐ„ ์•ž์œผ๋กœ ๋Œ์•„๊ฐ€์„œ,
    • $\textbf{A}\textbf{x} = \textbf{b}$ ๋‚˜ $\textbf{C} \cdot \delta \textbf{x} = \textbf{d}$ ๋‚˜ ์‚ฌ์‹ค ์™„์ „ํžˆ ๋™์ผํ•œ ๋ชจ์–‘์ƒˆ์ด๋‹ค.
    • ๊ทธ๋Ÿฐ๋ฐ ์™œ $\textbf{x}$์— ๋Œ€ํ•ด์„œ๋Š” normal equatoin ์„ ํ†ตํ•ด $\textbf{x}^{\ast}$ ๋ฅผ ๋ฐ”๋กœ ๊ณ„์‚ฐํ•˜๋ฉด (ํ•˜๋ ค๋ฉด ํ…Œํฌ๋‹ˆ์ปฌ๋ฆฌ ๋‹น์—ฐํžˆ ํ• ์ˆ˜์•ผ ์žˆ์ง€๋งŒ) ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋ง์ด ์•ˆ๋˜๊ณ ,
    • ์™œ $\delta \textbf{x}$์— ๋Œ€ํ•ด์„œ๋Š” normal equation ์„ ํ†ตํ•ด์„œ $\delta \textbf{x}^{\ast}$๋ฅผ ๊ณ„์‚ฐํ•˜๋ฉด ๋ง์ด ๋ ๊นŒ?
  • ๊ทธ๊ฒƒ์€ normal equation ์„ Vector space ์— ๋Œ€ํ•ด์„œ๋งŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
    • ๋งŒ์•ฝ์— x์˜ ์„ฑ๋ถ„์— ์ˆ˜ํ•™์ ์œผ๋กœ vector space ๊ฐ€ ์•„๋‹Œ ์š”์†Œ๋“ค์˜ ๊ฐ’์ด ๋‹จ์ˆœํžˆ ๋‚˜์—ด๋˜์–ด์„œ ๋“ค์–ด์žˆ๋‹ค๋ฉด, ์• ์ดˆ์— ๋…ผ๋ฆฌ์ ์œผ๋กœ ํ‹€๋ฆฐ ์ด์•ผ๊ธฐ๊ฐ€ ๋œ๋‹ค๋Š” ๋œป์ด๋‹ค.
    • ๋กœ๋ณดํ‹ฑ์Šค์—์„œ ์ด๋Ÿฌํ•œ non-vector space์ธ ์š”์†Œ๋Š” rotation ์ด ๋Œ€ํ‘œ์ ์ด๋‹ค.
      • ์˜ˆ๋ฅผ ๋“ค์–ด, ์•ž์„œ x = (๋กœ๋ด‡์˜ ์œ„์น˜, ๋กœ๋ด‡์˜ ์ž์„ธ, ๋กœ๋ด‡์ด ๋Š๋ผ๋Š” ์˜จ๋„) ๋ผ๊ณ  ํ–ˆ์„ ๋•Œ, ๋กœ๋ด‡์˜ ์ž์„ธ (attitude)๋ฅผ 3x3 matrix ๋กœ ํ‘œํ˜„ํ–ˆ๋‹ค๊ณ  ํ•˜์ž (์ฆ‰, SO(3)). ์ด ํ–‰๋ ฌ์˜ ๊ฐ’ 9๊ฐœ๋ฅผ x์— ์ž˜ ํŽด์„œ ๋‚˜์—ดํ•ด์„œ ๋„ฃ์œผ๋ฉด ๋ ๊นŒ? ๋ฌผ๋ก  ๋˜๊ธฐ๋Š” ๋œ๋‹ค. ํ•˜์ง€๋งŒ $\textbf{A}\textbf{x} = \textbf{b}$ ๋ฅผ ํ’€ ๋•Œ, normal equation ์„ $\textbf{x}$์— ๋Œ€ํ•ด์„œ ๋ฐ”๋กœ ํ’€์–ด๋ฒ„๋ฆฌ๋ฉด ๊ทธ ๋•Œ ๋‚˜์˜ค๋Š” $\textbf{x}^{\ast}$ ์ค‘ ์ž์„ธ ๋ถ€๋ถ„์˜ 9๊ฐœ ๊ฐ’์€ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๊ทธ๋ƒฅ ๋ง์ด ์•ˆ๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.
  • ๋‹ค์‹œ ๊ฐ•์กฐ: ์ตœ์ ํ™”๋ฅผ ๋‹นํ•˜๋Š” x ๋Š” vector space ์— ์‚ด๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค!
  • ๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” SO(3) ํ˜•ํƒœ๋กœ ์ฆ๊ฒจ์‚ฌ์šฉํ•˜๋Š” rotation์„ vector space ์— ์‚ด๊ณ  ์žˆ๋Š” ํ˜•ํƒœ๋กœ ๋ฐ”๊พธ์–ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค.

Rotation ์ตœ์ ํ™”์˜ ๋ณธ์งˆ preview: Optimization not on Lie group, but on Lie algebra

  • 3x3ํ˜•ํƒœ์˜ ํ”ํžˆ ์‚ฌ์šฉํ•˜๋Š” SO(3) rotation์„ Lie group์ด๋ผ๊ณ  ํ•œ๋‹ค. Lie group์€ manifold ๋ผ๊ณ  ๋ถˆ๋ฆฌ๊ธฐ๋„ ํ•œ๋‹ค.
  • ์–ด๋–ค SO(3) rotation ์˜ (identity ์ฃผ๋ณ€์—์„œ์˜) tangent space ์— ์‚ด๊ณ  ์žˆ๋Š” ์•„์ด๋“ค์„ Lie algebra ๋ผ๊ณ  ํ•œ๋‹ค.
    • ์‚ฐ์ˆ˜์ ์œผ๋กœ,
      • ์–ด๋–ค 3์ฐจ์› vector (3์š”์†Œ array) ๊ฐ€ ์žˆ์œผ๋ฉด ๊ทธ๊ฒƒ์— cross operator๋ฅผ ์ทจํ•œ 3x3 matrix ๊ฐ€ Lie algebra ์ด๋‹ค.
      • ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” Lie algebra๋Š” 3-dim vector ์™€ ๋™ํ˜•(isomorphic)์ด๋‹ค๋ผ๊ณ  ์ด์•ผ๊ธฐํ•œ๋‹ค. ๊ทธ๊ฒŒ ๊ทธ๊ฑฐ๋‹ค ๋ผ๊ณ  ์ดํ•ดํ•˜๋ฉด ๋˜๊ฒ ๋‹ค.
        • ๋น„๋ก Lie algebra ๋Š” 3x3 matrix ์˜ ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ ์‚ฌ์‹ค์ƒ 3๊ฐœ์˜ ๊ฐ’ (3-dof) ์œผ๋กœ๋ถ€ํ„ฐ ์ƒ์„ฑ๋˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ ์ด๋‹ค. ๋”ฐ๋ผ์„œ ์‚ฌ์‹ค์ƒ Lie algebra ์˜ ๋ณธ์งˆ์€ 3๊ฐœ์˜ ์š”์†Œ๋ฅผ ๊ฐ€์ง€๋Š” vector (3-dim array) ์ด๋‹ค.
    • ์ด ๋•Œ, ์ด tangent space (Lie algebra) ๋Š” vector space์ด๋‹ค.
  • Recap: optimization์€ vector space ์—์„œ ์ˆ˜ํ–‰๋˜์–ด์•ผ ํ•œ๋‹ค.
    • ์ฆ‰, ์šฐ๋ฆฌ๋Š” ์œ„์—์„œ ์„œ์ˆ ํ•œ iterative ํ•œ ๋ฐฉ๋ฒ•์„ (== Gauss-Newton with normal equation) ์„ Lie group (SO(3))์ด ์•„๋‹Œ Lie algebra ์— ์‚ด๊ณ ์žˆ๋Š” ์›์†Œ์— ๋Œ€ํ•ด์„œ๋งŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๊ทธ๊ณณ๋งŒ์ด vector space์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์–ด๋–ค ๋…ผ๋ฌธ๋“ค์—์„œ๋Š” Euclidean space ๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋„ ํ•œ๋‹ค.
  • (ํŽธ์˜์ƒ $\textbf{x}$์— rotation๋งŒ ์žˆ๋‹ค๊ณ  ํ•˜๋ฉด)
    • SO(3)๋Š” ์ด๋ฅธ ๋ฐ” $\textbf{x}$์ด๊ณ , Lie algebra ์˜ ์ตœ์ ๊ฐ’์€ ์•ž์„œ ์ด์•ผ๊ธฐํ–ˆ๋˜ $\delta \textbf{x}^{*}$ ์ธ๊ฒƒ์ด๋‹ค.
      • $\textbf{x}$ ๊ฐ€ ์†ํ•œ ๊ณต๊ฐ„์€ ๊ผญ vector space ์ผ ํ•„์š”๋Š” ์—†๊ณ  (์–ด๋–ค group์ด์–ด์„œ ์—ฐ์‚ฐ์— ๋‹ซํ˜€์žˆ๊ธฐ๋งŒ ํ•˜๋ฉด ๋˜๊ณ )
      • $\delta \textbf{x}$ ๊ฐ€ ์‚ฌ๋Š” ๊ณต๊ฐ„์€ ๊ผญ vector space ์—ฌ์•ผ ํ•œ๋‹ค๋Š” ๋œป.
      • ์™œ๋ƒํ•˜๋ฉด ์ตœ์ ํ™”๋Š” vector space ์—์„œ๋งŒ ์ˆ˜ํ–‰๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ.
    • ์•„์ง ์ด ๋ง์ด ์ดํ•ด๊ฐ€ ์•ˆ๊ฐ€๋”๋ผ๋„ ๊ณ„์† ์ฝ์–ด๋ณด์ž.
    • ํ˜น์€ (๋ช…ํ™•ํ•œ notation์— ๋น„ํ•ด ์ข‹์•„ํ•˜์ง€ ์•Š์ง€๋งŒ) ๊ตณ์ด ๋น„์œ ๋ฅผ ๋“ค์–ด๋ณด์ž๋ฉด โ€ฆ
      • ๊ธฐ๋ฌ˜ํ•œ ์ด์•ผ๊ธฐ์— ๋‚˜์˜ค๋Š” upside down ๊ฐ™์€๊ฑฐ๋ž„๊นŒโ€ฆ? ๋‘ ๊ณต๊ฐ„ ์‚ฌ์ด์—๋Š” bijective map ์ด ์กด์žฌํ•œ๋‹ค.. ์ง€ํ•˜๊ณต๊ฐ„์—์„œ๋งŒ ์•…๋งˆ๋ฅผ ์ฒ˜์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ ์ง€์ƒ๊ณต๊ฐ„์œผ๋กœ ์˜ฌ๋ผ์™€์•ผ ํ•œ๋‹คโ€ฆ (์ด ์Šคํ† ๋ฆฌ๊ฐ€ ๋งž๋˜๊ฐ€?!)

Rotation ์ตœ์ ํ™”์˜ ๋ณธ์งˆ: lift-solve-retract

  • Recap: ๊ทธ๋ ‡๋‹ค๋ฉด $i$๋ฒˆ์งธ turn์˜ ์ตœ์  SO(3) ๊ฐ’์€ $\textbf{x}^{\ast}_{i}$ = $\textbf{x}^{\ast-}_{i-1}$ $+$ $\delta\textbf{x}^{\ast}_{i}$ ๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.
  • ๊ทธ๋Ÿฐ๋ฐ ์ด๋ฒˆ์— ์ฃผ์˜ํ•ด์•ผํ•  ๊ฒƒ์€ ๋ฐฉ๊ธˆ ์‹์—์„œ $+$ ๋ผ๋Š” ์ƒ๋‹นํžˆ ์ผ๋ฐ˜์ ์ธ ๊ธฐํ˜ธ๊ฐ€ ์“ฐ์˜€๋Š”๋ฐ ์ €๋ ‡๊ฒŒ ๋‚˜์ด๋ธŒํ•˜๊ฒŒ ์ƒ๊ฐํ•˜๋ฉด ์•ˆ๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.
    • ์™œ๋ƒํ•˜๋ฉด $\textbf{x}^{\ast-}_{i-1}$ (๋Š” SO(3)) ์™€ $\delta\textbf{x}^{\ast}_{i}$ (๋Š” SO(3)๊ฐ€ ์•„๋‹˜) ๋Š” ๋‹ค๋ฅธ ๊ณต๊ฐ„์— ์‚ด๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
    • ์„œ๋กœ ๋‹ค๋ฅธ ๊ณต๊ฐ„์— ์‚ด๊ณ  ์žˆ๋Š” ๋‘ ์›์†Œ ์‚ฌ์ด์— ์—ฐ์‚ฐ์„ ํ•ด์ค„ ์ˆ˜๋Š” ์—†๋Š” ๋…ธ๋ฆ‡์ด๋‹ค.
  • ๋”ฐ๋ผ์„œ ์ด ๋•Œ ํ•ด๋ฒ•์€ Lie algebra ์— ์‚ด๊ณ ์žˆ๋Š” $\delta\textbf{x}^{\ast}_{i}$ ๋ฅผ Lie group (==SO(3)) ์œผ๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.
    • ๊ทธ๋ ‡๋‹ค๋ฉด ๊ทธ ์ดํ›„์—๋Š” ํ†ต์ƒ์ ์ธ matrix multiplication์„ ํ†ตํ•ด ๋‘ rotation์„ compose ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.
  • ๊ทผ๋ฐ ์–ด๋–ป๊ฒŒ ๋ณ€ํ™˜ํ•˜๋Š”๊ฐ€? ๊ทธ๊ฒƒ์— ๊ด€ํ•œ์ด์•ผ๊ธฐ๊ฐ€ ์ด์ œ the exponential map, the logarithm map ์ด๋Ÿฐ ๊ธฐ์ˆ ๋“ค์ด๋‹ค.
    • ์ด์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ A micro lie theory ์˜ Example 4 ๋ถ€๋ถ„์„ ์ฐธ๊ณ .
    • ์•Œ๊ณ ๋‚˜๋ฉด ๊ทธ๋ƒฅ ๊ฐ„๋‹จํ•œ matrix exponential ๊ธฐ๋ฒ•์ด๋ฉฐ ์ˆ˜ํ•™์ด ์•„๋‹ˆ๋ผ ์‚ฌ์‹ค์ƒ์˜ ์‚ฐ์ˆ˜์— ๊ฐ€๊น๋‹ค (==๊ณ„์‚ฐ๊ธฐ).
      • ps. ๋Œ€ํ•™๊ต ์ €ํ•™๋…„ ์ž…์žฅ์—์„œ ์„ ํ˜•๋Œ€์ˆ˜ํ•™ ํŠธ๋ฆญ๋“ค์— ์ต์ˆ™ํ•˜์ง€ ์•Š๋‹ค๋ฉด matrix ๋ฅผ ์–ด๋–ป๊ฒŒ expํ•˜์ง€? ๋ผ๋Š” ๊ฒ๋จน์Œ์ด ๋ฐ”๋กœ ๋“ค์ˆ˜๋„ ์žˆ๊ฒ ์œผ๋‚˜, ์‚ฌ์‹ค์ƒ exp ๋ฅผ ํ…Œ์ผ๋Ÿฌ๊ธ‰์ˆ˜๋กœ ํŽผ์ณ์„œ matrix ์˜ ์ œ๊ณฑ๋“ค์˜ linear combination ๋ชจ์–‘์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ์ „ํ˜€ ์–ด๋ ค์šธ ๊ฒƒ์ด ์—†๋‹ค. ์ด ๋•Œ ๋‚ด๊ฐ€ ๊ณ„์‚ฐํ•˜๊ธฐ ๊ท€์ฐฎ๊ณ  ์–ด๋ ต๋‹ค๊ณ  ์–ด๋ ค์šด ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค. ๊ณ„์‚ฐ์€ ์–ด์งœํ”ผ ์ปดํ“จํ„ฐ๊ฐ€ ํ•˜๋Š” ๊ฒƒ.
  • ์•ฝ๊ฐ„ ์„ค๋ช…์ด ์žฅํ™ฉํ–ˆ๋Š”๋ฐ ์ •๋ฆฌํ•ด๋ณด์ž.
    • Rotation ์ตœ์ ํ™”๋ฅผ ํ•œ์ค„์š”์•ฝํ•˜์ž๋ฉด lift-solve-retract ์ด๋‹ค.
    • ์ด ๋ง์€ ๋‚ด๊ฐ€ ์ง€์–ด๋‚ธ ๋ง์€ ์•„๋‹ˆ๊ณ  ์•„๋ž˜ ๋…ผ๋ฌธ์—์„œ ์ด๋ฏธ ์ž˜ ์ •๋ฆฌ๋˜์–ด์žˆ๋Š” ์šฉ์–ด์ด๋‹ค.
      • Absil, P-A., Christopher G. Baker, and Kyle A. Gallivan. "Trust-region methods on Riemannian manifolds." Foundations of Computational Mathematics 7 (2007): 303-330.
        • 2023๋…„ 12์›” ๊ธฐ์ค€ ์ธ์šฉ 500ํšŒ ์ •๋„ ๋œ๋‹ค.
    • SLAM ์—…๊ณ„์—์„œ ์œ ๋ช…ํ•œ ๋…ผ๋ฌธ์ธ IMU Preintegration on Manifold for Efficient Visual-Inertial Maximum-a-Posteriori Estimation (RSS 2015) ๋…ผ๋ฌธ์—์„œ๋„ ๊ทธ๋Ÿฐ ๋ง์ด ์žˆ๋‹ค.

    • ์ € ๋ง์ด ๋‚ด ๋ง์ธ๋ฐ โ€ฆ
    • ์ข€ ๋” ์ •๋ฆฌํ•ด์„œ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด GPT4์—๊ฒŒ ์š”์•ฝ์„ ๋ถ€ํƒํ•˜์ž.
  • ์š”์•ฝ:

    ์ด ๊ธ€์—์„œ ์–ธ๊ธ‰๋œ โ€˜liftingโ€™๊ณผ โ€˜retractionโ€™์€ ๋‹ค์–‘์ฒด(manifold) ์ƒ์—์„œ์˜ ์ตœ์ ํ™” ๋ฌธ์ œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘์ฒด (e.g., SO(3))๋Š” ์ผ๋ฐ˜์ ์ธ ์œ ํด๋ฆฌ๋“œ ๊ณต๊ฐ„(Euclidean space)๊ณผ ๋‹ฌ๋ฆฌ ๋น„์„ ํ˜•์ ์ธ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ด๋Ÿฌํ•œ ๊ณต๊ฐ„์—์„œ์˜ ์ตœ์ ํ™”๋Š” ํŠน๋ณ„ํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. โ€˜Liftingโ€™๊ณผ โ€˜retractionโ€™์€ ์ด๋Ÿฌํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค.

    1. Lifting (๋ฆฌํ”„ํŒ…): Lifting์€ ๋‹ค์–‘์ฒด (e.g., SO(3)) ์ƒ์˜ ์  ์ฃผ๋ณ€์—์„œ์˜ ์ตœ์ ํ™” ๋ฌธ์ œ๋ฅผ ํ•ด๋‹น ์ ์—์„œ์˜ ์ ‘๊ณต๊ฐ„(tangent space) (e.g., Lie algebra)์œผ๋กœ โ€œ๋Œ์–ด์˜ฌ๋ฆฌ๋Š”โ€ ๊ณผ์ •์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ ‘๊ณต๊ฐ„์€ ํ•ด๋‹น ์  ๊ทผ์ฒ˜์—์„œ ๋‹ค์–‘์ฒด๋ฅผ ๊ตญ์†Œ์ ์œผ๋กœ ๊ทผ์‚ฌํ•˜๋Š” ์œ ํด๋ฆฌ๋“œ ๊ณต๊ฐ„์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Lifting์€ ์›๋ž˜์˜ ๋น„์„ ํ˜• ๋ฌธ์ œ๋ฅผ ์ ‘๊ณต๊ฐ„์—์„œ์˜ ์„ ํ˜• ๋˜๋Š” ์„ ํ˜•์— ๊ฐ€๊นŒ์šด ๋ฌธ์ œ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ, ํ‘œ์ค€์ ์ธ ์ตœ์ ํ™” ๊ธฐ๋ฒ•์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

    2. Retraction (๋ฆฌํŠธ๋ž™์…˜): Retraction์€ ์ ‘๊ณต๊ฐ„์—์„œ ์–ป์€ ํ•ด๋ฅผ ์›๋ž˜์˜ ๋‹ค์–‘์ฒด๋กœ โ€œ๋˜๋Œ๋ฆฌ๋Š”โ€ ๊ณผ์ •์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์ฒด์ ์œผ๋กœ, ๋ฆฌํŠธ๋ž™์…˜์€ ์ ‘๊ณต๊ฐ„์˜ ์›์†Œ(๋ฒกํ„ฐ)๋ฅผ ๋‹ค์–‘์ฒด ์ƒ์˜ ์ ์œผ๋กœ ๋งคํ•‘ํ•˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์€ ์ ‘๊ณต๊ฐ„์—์„œ์˜ ์ตœ์ ํ™” ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์–‘์ฒด ์ƒ์˜ ์œ ํšจํ•œ ํ•ด๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

    ์ด๋Ÿฌํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์˜ ์˜ˆ๋กœ ๊ฐ€์šฐ์Šค-๋‰ดํ„ด(Gauss-Newton) ๋ฐฉ๋ฒ•์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘์ฒด ์ƒ์—์„œ์˜ ์ตœ์ ํ™” ๋ฌธ์ œ๋ฅผ ์ ‘๊ณต๊ฐ„์œผ๋กœ โ€œ๋ฆฌํ”„ํŒ…โ€ํ•˜๊ณ , ์ด ๊ณต๊ฐ„์—์„œ ํ‘œ์ค€ ์ตœ์ ํ™” ๋ฐฉ๋ฒ•์„ ์ ์šฉํ•œ ๋‹ค์Œ, ๊ทธ ๊ฒฐ๊ณผ๋ฅผ โ€œ๋ฆฌํŠธ๋ž™์…˜โ€์„ ํ†ตํ•ด ๋‹ค์‹œ ๋‹ค์–‘์ฒด๋กœ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•จ์œผ๋กœ์จ, ๋ณต์žกํ•œ ๋น„์„ ํ˜• ๋‹ค์–‘์ฒด ์ƒ์˜ ๋ฌธ์ œ๋ฅผ ๋ณด๋‹ค ์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์€ ํŠนํžˆ ๋กœ๋ด‡ ๊ณตํ•™, ์ปดํ“จํ„ฐ ๋น„์ „, ๊ธฐ๊ณ„ ํ•™์Šต ๋“ฑ์—์„œ ๋‹ค์–‘์ฒด ์ƒ์˜ ๋ฐ์ดํ„ฐ๋‚˜ ๋ชจ๋ธ์„ ๋‹ค๋ฃฐ ๋•Œ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์นด๋ฉ”๋ผ์˜ ์›€์ง์ž„์„ ์ถ”์ ํ•˜๊ฑฐ๋‚˜ 3D ํ˜•ํƒœ๋ฅผ ๋ณต์›ํ•˜๋Š” ๋ฌธ์ œ์—์„œ ์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•๋“ค์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • ์ฒจ์–ธ
    • Manifold (SO(3)) ์—์„œ tangent space (Lie algebra) ๋กœ ๊ฐ€๋Š” ๊ฑธ ๋Œ์–ด์˜ฌ๋ฆฌ๋Š” ๊ฒƒ์œผ๋กœ ํ‘œํ˜„ํ•˜๊ณ  ์žˆ๋‹ค. ๋งค๋‹ˆํด๋“œ๋ฅผ ๋ณผ๋กํ•œ ์›(circle)์˜ ๋ฉด, ๊ทธ๋ฆฌ๊ณ  tangent space ๋ฅผ ๊ทธ ์›์˜ ๋ณผ๋กํ•œ ์ง€์ ์—์„œ์˜ ์ ‘ํ‰๋ช…์ด๋ผ๊ณ  ์‹œ๊ฐ์ ์œผ๋กœ ์ƒ๊ฐํ•ด๋ณธ๋‹ค๋ฉด, ๋Œ์–ด์˜ฌ๋ฆฐ๋‹ค๋Š” ํ‘œํ˜„์ด ๋‚ฉ๋“์ด ๋œ๋‹ค.
      • ๋ฐ˜๋Œ€๋กœ, Lie algebra (tangent space) ์—์„œ Lie group (manifold) ๋กœ ๋Œ์•„๊ฐ€๋Š” ๊ฑด, (์‹œ๊ฐ์ ์œผ๋กœ ํŽธ์˜์ƒ) ๋‚ด๋ ค๊ฐ€๋Š” ๊ฒƒ์ด๋ฏ€๋กœ, retract (== draw back) ๋ผ๊ณ  ํ‘œํ˜„ํ–ˆ๋‹ค.
      • Trust-region methods on Riemannian manifolds ๋…ผ๋ฌธ์˜ Figure 1 ์„ ๋ณด๋ฉด ์™œ ๊ทธ๋Ÿฐ ํ‘œํ˜„์„ ์ผ๋Š”์ง€ ์ดํ•ด๊ฐ€ ์‰ฝ๊ฒŒ ๋œ๋‹ค.

  • ๊ฒฐ๋ก : Rotation ์ตœ์ ํ™”๋ฅผ ํ•œ์ค„์š”์•ฝํ•˜์ž๋ฉด lift-solve-retract ์ด๋‹ค.

Rotation ์ตœ์ ํ™”: ์š”์•ฝ

  • ๊ทธ๋Ÿฌ๋ฉด ์š”์•ฝํ•ด๋ณด์ž.
    • vector space ์˜ ์š”์†Œ์— ๋Œ€ํ•ด์„œ $\textbf{x}^{\ast}_{i}$ = $\textbf{x}^{\ast-}_{i-1}$ $+$ $\delta\textbf{x}^{\ast}_{i}$ ์ด๋ ‡๊ฒŒ ์ผ๋˜ ๊ฒƒ์ด
    • ์‚ฌ์‹ค์€ rotation (Lie group) ์— ๋Œ€ํ•ด์„œ๋Š” $\textbf{x}^{\ast}_{i}$ = $\textbf{x}^{\ast-}_{i-1}$ $\cdot \textbf{Exp}$ $(\delta\textbf{x}^{\ast}_{i})$ ์ด๋ ‡๊ฒŒ ์จ์•ผ ์—„๋ฐ€ํ•˜๊ฒŒ ๋งž๋Š”๊ฒƒ์ด๋‹ค.
      • $ \delta\textbf{x}^{\ast}_{i} $ ๊ฐ€ Lie algebra ์— ์‚ด๊ณ ์žˆ์œผ๋‹ˆ $\textbf{Exp}(\cdot)$์„ ํ†ตํ•ด์„œ ๊ทธ๊ฑธ Retractํ•ด์„œ Lie group์œผ๋กœ ๊ฐ€์ ธ์˜จ ๋‹ค์Œ์—์•ผ, ๋™์ผํ•œ ๊ณต๊ฐ„์— ์‚ด๊ณ ์žˆ๋Š” ๋‘ ์›์†Œ๋ผ๋ฆฌ์˜ ์—ฐ์‚ฐ (i.e., matrix multiplication) ์„ ๋จน์—ฌ์ค„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.
      • ๊ทธ๋Ÿฐ๋ฐ ๋งค๋ฒˆ ์ €๋ ‡๊ฒŒ ์“ฐ์ž๋‹ˆ ์ข€ ๊ท€์ฐฎ๊ณ  ์˜ˆ์˜์ง€๋„ ์•Š๋‹ค. ์™œ๋ƒํ•˜๋ฉด (Lie group์— ๋Œ€ํ•ด ์ž˜ ์•Œ๊ณ ์žˆ๋Š” ์‚ฌ๋žŒ์ด ๋…์ž๋ผ๋ฉด) ์ข€ ๋” ์ถ”์ƒ์ ์ธ ๊ฐœ๋…์ ์œผ๋กœ๋Š” ๊ฐ™์€ ๊ณต๊ฐ„์— ์‚ด๋“ ๋ง๋“  ์•„๋ฌดํŠผ ๊ธฐ์กด ๊ฐ’์— ๋ฏธ์†Œ์ตœ์ ๋ฒ”์œ„๋ฅผ ๋”ํ•ด์ฃผ์—ˆ๋‹ค ๋ผ๋Š” ์‚ฌ์‹ค์€ ๋ณ€ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
      • ๋”ฐ๋ผ์„œ ์–ด๋–ค ์ฑ…์ด๋‚˜ ๋…ผ๋ฌธ๋“ค์—์„œ๋Š” $\textbf{x}^{\ast}_{i}$ = $\textbf{x}^{\ast-}_{i-1}$ $\oplus$ $\delta\textbf{x}^{\ast}_{i}$ ๋ผ๋˜๊ฐ€
      • $\textbf{x}^{\ast}_{i}$ = $\textbf{x}^{\ast-}_{i-1}$ $\boxplus$ $\delta\textbf{x}^{\ast}_{i}$ ์ด๋Ÿฐ์‹์œผ๋กœ +์— box ๋‚˜ O ๋ฅผ ๋‘˜๋Ÿฌ์„œ ํ‘œํ˜„ํ•˜๊ธฐ๋„ ํ•œ๋‹ค (boxplus, oplus ๋ผ๊ณ  ์ฝ์Œ).
      • ps. ๊ทธ๋ฆฌ๊ณ  ์—„์—„๋ฐ€ํ•˜๊ฒŒ $\textbf{Exp}$๋ผ๋Š” ์—ฐ์‚ฐ์ž๋Š” ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค (์†Œ๋ฌธ์ž์ธ $\textbf{exp}$ ๋งŒ ์กด์žฌ).
        • ๋”ฐ๋ผ์„œ ์‚ฌ์‹ค์€ $\textbf{exp}({\delta \textbf{x}_{i}}^{\wedge})$ ์ด๋ ‡๊ฒŒ ์จ์•ผ ๋งž๋Š” ๊ฒƒ์ด๋‹ค (์ด ๋•Œ ${}^{\wedge}$ ๋Š” hat operator. 3-dim vector๋ฅผ skew symmetric matrix๋กœ ๋งŒ๋“ ๋‹ค). ๊ทธ๋Ÿฐ๋ฐ ๊ทธ๋Ÿฌ๋ฉด ์“ฐ๋Š”๊ฒŒ ๋„ˆ๋ฌด ๊ท€์ฐฎ๊ณ  ์•ˆ์ด์˜๋‹ˆ e๋ฅผ ๋Œ€๋ฌธ์ž E๋กœ ๋ฐ”๊พธ์–ด์„œ ์“ฐ๊ณ  ${}^{\wedge}$๋ฅผ ๊ตณ์ด ์ ์ง€์•Š๋”๋ผ๋„, ์ €๊ฑธ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์ž„์„ ์ž˜ ์•Œ์•„๋“ค์œผ๋ ดใ…‹ ๋ผ๊ณ  ์•ฝ์†ํ•˜๊ณ  ์žˆ๋‹ค.
  • ๋ฐฉ๊ธˆ ํ•œ ์–˜๊ธฐ์—์„œ ํ•ต์‹ฌ์„ ์š”์•ฝํ•ด๋ณด์ž.
    • ํ”ํžˆ ์“ฐ๋Š” SO(3) ํ˜•ํƒœ์˜ rotation์€ vector space ์— ์‚ด์ง€ ์•Š๋Š”๋‹ค.
    • ๋”ฐ๋ผ์„œ iterative optimization (e.g., Gauss-newton) ์„ ๋ฐ”๋กœ ์ ์šฉํ•  ์ˆ˜ ์—†๋‹ค. ๋”ฐ๋ผ์„œ SO(3)๋ฅผ Lie algebra๋ผ๋Š” (์›๋ž˜ ๊ณต๊ฐ„๊ณผ bijectiveํ•œ) vector space ์—์„œ์˜ ํ‘œํ˜„๋ฒ•์œผ๋กœ ์˜ฎ๊ฒจ ๊ฐˆ ํ•„์š”๊ฐ€ ์žˆ๋‹ค. == Lift
    • vector space์™€ ๋™ํ˜•์ธ Lie algebra ๊ณต๊ฐ„์—์„œ ์ตœ์ ํ™” ๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค (e.g., solve the normal equation: $\delta \textbf{x}^{\ast} = (\textbf{C}^T \textbf{C})^{-1} \textbf{C}^{T} \textbf{d} $) == Solve
    • ๊ทธ ์ตœ์ ๊ฐ’์„ ์›๋ž˜์˜ SO(3) ๊ณต๊ฐ„์œผ๋กœ ๊ฐ€์ ธ์˜จ ๋‹ค์Œ ๊ธฐ์กด ๊ฐ’์— ๋ฏธ์†Œ์ตœ์ ๊ฐ’์„ ๋”ํ•ด์„œ ์ด๋ฒˆ ํ„ด์˜ ์ตœ์  SO(3) ๊ฐ’์„ ์ƒ์„ฑ (i.e., $\textbf{x}^{\ast}_{i}$ = $\textbf{x}^{\ast-}_{i-1}$ $\oplus$ $\delta\textbf{x}^{\ast}_{i}$) ํ•œ๋‹ค. == Retract

Rotation ์ตœ์ ํ™”: Notations, and Terminologies

  • group ์ด๋‹ˆ algebra์ด๋‹ˆ ํ•˜๋Š” ์ˆ˜ํ•™์ ์ธ ๊ฐœ๋…์„ ๋– ๋‚˜์„œ๋ผ๋„, ์•„๋ฌดํŠผ rotation์˜ parametrization ์ด ์—ฌ๋Ÿฌ ์ข…๋ฅ˜๊ฐ€ ์žˆ๋‹ค ๋ผ๋Š” ์‚ฌ์‹ค์„ ์•Œ๊ฒŒ๋˜์—ˆ๋‹ค.
  • ๊ทธ๋ž˜์„œ rotation parametrization ์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.
    • ์ด๋Š” ์ง€๊ธˆ๊นŒ์ง€ ์ด์•ผ๊ธฐํ–ˆ๋“ฏ์ด ์ผ๋‹จ ์ตœ์ ํ™” ๊ด€์ ์—์„œ ์ค‘์š”ํ•˜๋‹ค.
    • ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์™ธ์—๋„ quaternion ๊ณผ ๊ฐ™์€ ๋˜ ๋‹ค๋ฅธ ํ‘œํ˜„๋ฒ•๋„ ์กด์žฌํ•œ๋‹ค. quaternion์€ SO(3)๋ณด๋‹ค ๊ฐ„๊ฒฐํ•œ ํ‘œํ˜„ (4๊ฐœ์˜ ์ˆซ์ž๋งŒ ํ•„์š”) ์œผ๋กœ global orientation ์„ ํ‘œํ˜„ํ•˜๋Š” ๋ฐ ์œ ์šฉํ•˜๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.
  • Terminologies: Lie algebra (3-dim array์— hat ์—ฐ์‚ฐ์ด ์ทจํ•ด์ง„ 3x3 matrix) ์˜ ๋ณธ์ฒด์ธ the 3-dim array ๋ฅผ rotation parametrization ๊ด€์ ์—์„œ
    • ์–ด๋–ค ์ฑ…๋“ค์€ angle-axis representation, rotation vector ์ด๋Ÿฐ์‹์œผ๋กœ ๋ถ€๋ฅด๊ธฐ๋„ ํ•œ๋‹ค.
    • ํ˜น์€ state estimation ์ฑ…/๋…ผ๋ฌธ๋“ค์—์„œ๋Š” SO(3)์˜ error-state ์ด๋‹ค~ ๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋„ ํ•œ๋‹ค.
      • Lie algebra (SO(3)์˜ tangent space) ์˜ ์š”์†Œ๋ฅผ ๊ณ„์† $\delta \textbf{x}$ ์™€ ๊ฐ™์ด ํ‘œ๊ธฐํ•ด์™”๋˜ ๊ฒƒ์„ ๋– ์˜ฌ๋ ค๋ณด์ž. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์˜ ๋ฌผ๋ฆฌ์ ์ธ ์˜๋ฏธ๋Š” ๋ฏธ์†Œ๋ณ€์œ„๋ฅผ ์–ผ๋งˆ๋งŒํผ ์ตœ์ ์œผ๋กœ ์กฐ์ ˆํ•ด์•ผ ์ „์ฒด์ ์ธ ๊ด€์ (==์›๋ž˜ ๊ณต๊ฐ„)์—์„œ๋„ ์ตœ์ ๊ฐ’์— ๋” ๊ฐ€๊นŒ์›Œ์งˆ๊นŒ, ๋ฅผ ์˜๋ฏธํ•˜๋ฏ€๋กœ <์ •๋‹ต์ง€์—์„œ ์•ฝ๊ฐ„ ์•„์ง์€ ์–ด๋Š์ •๋„ ๋–จ์–ด์ ธ์žˆ๋Š” ์ž‘์€ ์—๋Ÿฌ> ํ˜น์€ <๊ทธ๊ฑธ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ๋ณด์ƒํ•ด์ฃผ์–ด์•ผ ํ•˜๋Š” ๋ฏธ์†Œ ๋ณ€์œ„> ๋ผ๋Š” ์˜๋ฏธ์—์„œ error-state ๋ผ๋Š” ์šฉ์–ด๊ฐ€ ์“ฐ์ด๊ณ  ์žˆ๊ตฌ๋‚˜ ๋ผ๊ณ  ์ดํ•ดํ•˜๋ฉด ๋˜๊ฒ ๋‹ค.

Nano Lie Theory: Beyond the Basics

  • ๊ธฐ๋ณธ์„ ๋„˜์–ด 1
    • ์—ฌ๊ธฐ๊นŒ์ง€๊ฐ€ A micro Lie theory for state estimation in robotics ์˜ II-E ๊นŒ์ง€์˜ ๋‚ด์šฉ์ด๋‹ค.
    • ์ด์ œ ๋‚จ์€ ๊ฒƒ (II-F,G,H,I) ์€ adjoint, ๋ฏธ๋ถ„, covariance propagatoin, ์ ๋ถ„ ์ •๋„์ด๋‹ค.
    • rotation parametrization ์— ๋Œ€ํ•ด ์ฒ˜์Œ ์ ‘ํ•  ๋•Œ์˜ ๋‘๋ ค์›€์€ ์ฑ…๋งˆ๋‹ค ๋‹ค๋ฅธ ์šฉ์–ด๋“ค, Lie algebra ์— ๋Œ€ํ•œ ๊ฐ‘์ž‘์Šค๋Ÿฌ์šด ์ •์˜๋ถ€ํ„ฐ ๋ฒ„์–ต ํ•˜๋ฉด์„œ ๋‚˜์˜ค๋Š” ์ , ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์ด ์™œ ํ•„์š”ํ•œ์ง€ ๋‚ฉ๋“์‹œํ‚ค์ง€ ์•Š๊ณ  ์‹œ์ž‘ํ•˜๋Š” ์ , ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š”๋ฐ ์ด๋Ÿฐ ์šฐ๋ ค๋“ค์— ๋Œ€ํ•ด ์ด Nano Lie theory ์—์„œ ์ •๋ฆฌ๊ฐ€ ๋˜์—ˆ์œผ๋ฆฌ๋ผ ์ƒ๊ฐํ•œ๋‹ค.
    • ๊ทธ๋Ÿฌ๋ฉด ๋‚จ์€ derivatives on Lie groups, Discrete integration on manifolds ๋“ฑ์€ ์ข€ ๋” ์‰ฝ๊ฒŒ ๊ฐ์ž ์ฝ์„ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.
    • ๋”ฐ๋ผ์„œ ๋‚จ์€ ๊ฒƒ๋“ค์— ๋Œ€ํ•œ ์„ค๋ช…์€ ์ƒ๋žตํ•œ๋‹ค!
  • ๊ธฐ๋ณธ์„ ๋„˜์–ด 2
    • ๊ทธ๋Ÿฐ๋ฐ $\textbf{x}^{\ast}_{i}$ = $\textbf{x}^{\ast-}_{i-1}$ $\oplus$ $\delta\textbf{x}^{\ast}_{i}$ ์ฒ˜๋Ÿผ ์™œ $\delta\textbf{x}^{\ast}_{i}$๋ฅผ ๊ณ„์† $\textbf{x}^{\ast-}_{i-1}$ ์˜ ์˜ค๋ฅธ์ชฝ์—๋งŒ ์“ธ๊นŒ?
    • $\oplus$ ๋Š” ๊ตํ™˜๋ฒ•์น™์ด ์„ฑ๋ฆฝํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์™ผ์ชฝ์— ์—ฐ์‚ฐํ•ด์ฃผ๋Š” ๊ฒƒ๊ณผ ์˜ค๋ฅธ์ชฝ์— ์—ฐ์‚ฐํ•˜๋Š” ๊ฒƒ์€ ๋ถ„๋ช…ํžˆ ๋‹ค๋ฅด๋‹ค.
    • ๊ทธ๋Ÿฌ๋ฉด ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅผ๊นŒ? ์ด์— ๋Œ€ํ•ด์„œ๋Š” Quaternion kinematics for the error-state KF์˜ section 4.4.1 ๋ฐ 4.4.2 ๋ฅผ ์ฐธ๊ณ ๋ฐ”๋žŒ.
      • ํ•œ์ค„์š”์•ฝํ•˜์ž๋ฉด local coordinate์—์„œ ๋ฐ”๋ผ๋ณธ ์กฐ๊ธˆ ์„ ๋”ํ•ด์ค„ ๊ฑฐ๋ƒ, world coordinate์—์„œ ๋ฐ”๋ผ๋ณธ ์กฐ๊ธˆ ์„ ๋”ํ•ด์ค„๊ฑฐ๋ƒ ๋ผ๋Š” ์˜๋ฏธ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค.

์ถ”์ฒœ ์ฝ๊ธฐ์ž๋ฃŒ

  • 2018, A micro Lie theory for state estimation in robotics
  • 2017, Quaternion kinematics for the error-state Kalman filter
  • 2015, IMU Preintegration on Manifold for Efficient Visual-Inertial Maximum-a-Posteriori Estimation
  • ํ›Œ๋ฅญํ•œ ์‹œ๊ฐํ™” ์ž๋ฃŒ - https://thenumb.at/Exponential-Rotations

Next work