行列 は回転成分と並進成分を含んでおり, 3 次元剛体変換の集 合であるリー群 の元である. (中略) カメラ姿勢の変化は のカ メラ運動行列 を左から乗算することによって表現される: ただしカメラ運動も の元であり,指数写像を用いることで 6 次元ベク トル によって最少のパラメータで表示できる. Klein and Murray, Parallel Tracking and Mapping for Small AR Workspaces, Int'l Symp. Mixed and Augmented Reality (ISMAR 2007) 2 / 38 W C 4 × 4 E CW p = jC E p CW jW E CW SE(3) 4 × 4 M E = CW ′ ME = CW exp(μ)E CW SE(3) μ
次元空間の中の 3 次元多様体であり,各点で接平面が定まる 行列を 9 次元ベクトルとみなす 絵としては 3 次元空間内の 2 次元多様体で我慢してください このように群であり滑らかな多様体である集合をリー群と呼ぶ 左からの乗算で 3 次元ベクトルに作用する 群演算としての乗算と,群作用としての乗算は区別して考える 8 / 38 R = ⎝ ⎛r 11 r 21 r 31 r 12 r 22 r 32 r 13 r 23 r 33 ⎠ ⎞ 3 × 3 R (R R )R = 1 2 3 R (R R ) 1 2 3 RI = IR = R RR = −1 R R = −1 I 3 × 3
直交行列の行列式は 1 (鏡映なし) または (鏡映あり) : 特殊直交群 (Special Orthogonal Group) n 次元回転行列の集合 「特殊」は行列式が 1 のものにつく 丸括弧の中の は次元 : 直交群 回転だけでなく鏡映も許した集合 9 / 38 A A A = T AA = T I −1 SO(n) n O(n)
: 次元並進ベクトル) 普通は同次変換で考えるのが便利: この同次変換行列の行列式は 1 : ユークリッド群 上記の を (回転に限らない) 直交行列にとったもの : 特殊線形群 (Special Linear Group) 行列式が 1 である 行列の全体 : 一般線形群 正則行列の全体 なぜかこれだけ General (一般) の G をつける 10 / 38 SE(n) x = ′ Rx + t R n × n t n = ( x′ 1 ) ( R 0T t 1 ) ( x 1 ) E(n) R SL(n) n × n GL(n) n × n
両者の間の変換を演算子 と で表すことがある (本によってマチマチ) この変換をわざわざ明示しないことも多い (数学書ではそれが普通) 本講演では以下のように統一する: (vee 演算子.ベクトル化するから v) (wedge 演算子.v の逆さま) 15 / 38 {M } k X = x M ∑ k=1 n k k x = (x , x , ..., x ) 1 2 n T x e + 1 1 x e 2 2 (x , x ) 1 2 ∧ ∨ x = X∨ X Murray+1994, Bullo+2010 = x = ∧ x Lynch+2017 = [x] Hartley+2004, Szeliski 2010 = [x] × x = X∨ X = [x] ∧
を左からかけて を 作ると, 上の曲線になる で微分して, の における接ベクトル は 単位元における接ベクトル を 1 本選べば,任意 の点 において, が接ベクトルの 1 本となる これにより 上に定まるベクトル場を左不変ベクト ル場と呼ぶ 17 / 38 G A(t) A(0) = I, (0) = A ˙ X B ∈ G C(t) = BA(t) G t = 0 C(t) B (t) = C ˙ B (0) = A ˙ BX X B BX G I X B ⟼ B BX ⟼ B
逆に, のとき, は単位元における接ベクトルだから この写像 を 指数写像と呼ぶ ( を とも書く) 18 / 38 X ∈ g (t) = B ˙ B(t)X, B(0) = I B(t) = exp(tX) B(t) X ∈ g t ∈ R exp(tX) ∈ G X exp(tX) exp(tX) ∈ G exp(tX) = dt d ∣ ∣ t=0 X X ∈ g exp : g → G exp(X) eX
リー群 の元を表すためのパラメータとして使える 注: 指数写像は全射とは限らない.一般には,あくまで から の単位元 の近傍への写像である 19 / 38 exp(tX) ∈ G X g g {X } i X = p X ∑ i i i (p , p , ...) 1 2 G g G I G ⏐ ↑ exp g ⏐ ↑ ∧ Rn ∋ ∋ ∋ exp( p X ) = exp([p] ) i=1 ∑ n i i ∧ p X = [p] i=1 ∑ n i i ∧ p リー群の行列表示 リー代数の行列表示 リー代数のベクトル表示
だから: より 歪対称行列はこれを満たす 逆に, が歪対称なら かつ であることも確認できる よって, は 歪対称行列全体の集合 の場合: から , なので改めて やはり , , を基底に取れることが確認できる の場合も同様に, 21 / 38 SO(n) A(t) = exp(tX) ∈ SO(n) A A = T AA = T I (t)A(t) + A ˙T A(t) (t) = TA ˙ O t = 0 A(0) = I (0) = A ˙ X X = T −X ∣A∣ = 1 e = tr X 1 tr X = 0 X A A = T AA = T I ∣A∣ = 1 so(n) n × n n = 3 X = = ⎝ ⎛x 11 x 21 x 31 x 12 x 22 x 32 x 13 x 23 x 33 ⎠ ⎞ − ⎝ ⎛x 11 x 12 x 13 x 21 x 22 x 23 x 31 x 32 x 33 ⎠ ⎞ x = ii 0 x = ij −x ji X = = ⎝ ⎛ 0 x 3 −x 2 −x 3 0 x 1 x 2 −x 1 0 ⎠ ⎞ x J + 1 1 x J + 2 2 x J 3 3 J 1 J 2 J 3 n = 2 X = = ( 0 x −x 0 ) x = ( 0 1 −1 0 ) xK
行列指数関数の定義を代入して展開すると, ( の1次の項が現れないことに注意.3次以上は省略) パラメータを と取り直して を作ると, は単位元における 接ベクトルであり に属する よって を任意に取ったとき も に属することが要請される と書き,交換子積と呼ぶ 31 / 38 X, Y ∈ g P(t) X Y P(t) G t = 0 P(t) = exp(tX) exp(tY ) exp(−tX) exp(−tY ) P(t) = I + t (XY − 2 Y X) + ⋯ t s = t2 Q(s) = P( ) t (0) = Q ˙ XY − Y X g X, Y ∈ g XY − Y X g [X, Y ] = XY − Y X
これら3つを満たす積 をリー括弧積と呼ぶ.交換子積 はその具体例 リー括弧積が定義されたベクトル空間をリー代数とみなすことができる (詳細は省略) 32 / 38 X Y XY Y X [X, Y ] = XY − Y X [X, Y ] = O [X, Y ] = −[Y , X] [c X + 1 1 c X , Y ] = 2 2 c [X , Y ] + 1 1 c [X , Y ] 2 2 [[X, Y ], Z] + [[Y , Z], X] + [[Z, X], Y ] = O [x, y] [X, Y ] = XY − Y X
ば,対応するリー群 の積の挙動がわかる リー代数はベクトル空間だから,適当な基底 について交換子積の関係を列挙しておけば, あらゆる元どうしの交換子積の挙動がわかる ∵ 交換子積は双線形 33 / 38 X Y exp(X) exp(Y ) = exp X + Y + [X, Y ] + [X, [X, Y ]] + [Y , [Y , X]] + ⋯ { 2 1 12 1 ( ) } X Y g G
2012. Richard M. Murray, Zexiang Li, S. Shankar Sastry: A Mathematical Introduction to Robotic Manipulation, CRC Press, 1994. Kevin M. Lynch, Frank C. Park: Modern Robotics: Mechanics, Planning, and Control, Cambridge University Press, 2017. John Stillwell: Naive Lie Theory, Springer, 2008. 鏡 慎吾: ロボット工学のためのリー群・リー代数入門, 日本ロボット学会誌, 2023. 38 / 38