概要
- 姿勢の記述 (群)
- 姿勢変化の記述 (多様体)
- 姿勢制御のためのリー群・リー代数
- (ココ) 付録: 回転対称性を持つ剛体の姿勢
このシリーズでは回転非対称な剛体の姿勢を主対象にして数理的に扱う方法を解説してきた.
番外編の今回は剛体が回転対称な場合に商集合を使ってそれを記述できることを紹介する.
注意として, ここではより一般的な姿勢を扱える集合として $SE(d)$ を取り上げているが, 回転対称性を考える場合は $SO(d)$ による記述が重要になることが多い.
ただし議論の展開に大きな違いはないため, $SO(d)$ を用いたい場合は適当に読み替えて欲しい.
前提知識
前回までに解説した内容をベースに, 集合論・群論の基礎的な操作に慣れているといい.
解説
回転対称な剛体の姿勢制御問題
第一回において, そもそも「姿勢」とは $d$ 次元空間の部分集合である姿勢集合によって記述され, 特殊ユークリッド変換 $\varphi \in SE(d)$ (または回転行列 $g \in SO(d)$) とは基準となる姿勢集合を変換する写像として相対姿勢を表すものであったことを思い出そう.
姿勢集合の代わりに特殊ユークリッド変換を用いることができるのは, 剛体が回転非対称だと仮定することである姿勢集合 $\mathcal{R} \subset \mathbb{R}^d$ を考えた時に基準姿勢集合 $\mathcal{R}_0 \subset \mathbb{R}^d$ を $\mathcal{R}$ に写す特殊ユークリッド変換が一意に決まり, $\varphi, \varphi' \in SE(d)$ に対して,
$$
\varphi = \varphi' \ \iff \ \varphi(\mathcal{R}_0) = \varphi'(\mathcal{R}_0) = \mathcal{R},
$$
が成り立つためであった.
ここから剛体の回転対称性を定義し, その姿勢や姿勢の変化を記述する方法を述べていく.
回転対称な剛体の姿勢の記述
上の議論から, 剛体が回転対称であるとは, 相異なる $\varphi, \varphi' \in SE(d)$ ($\varphi \neq \varphi'$) で $\varphi(\mathcal{R}_0) = \varphi'(\mathcal{R}_0)$ となるものが存在することと定義できる.
この時, 基準姿勢 $\mathcal{R}_0$ に関して相対姿勢が一致する, つまり $\varphi(\mathcal{R}_0) = \varphi'(\mathcal{R}_0)$ となることを $\varphi \equiv \varphi'$ と書くようにして, 写像として一致することと区別するため $\varphi$ と $\varphi'$ は ($\mathcal{R}_0$ に関して) 合同であるということにする.
相対姿勢の合同関係 $\equiv$ は同値関係となるため「姿勢が一致している」という状態を表すのに適しているが, 二つの相対姿勢が合同かどうかは基準姿勢 $\mathcal{R}_0$ の取り方で異なることに注意しておこう.
回転対称な剛体の姿勢は, 合同関係によって互いに合同である姿勢のグループに分類される.
つまり, ある部分集合 $S \subset SE(d)$ があって,
$$
SE(d) = \bigsqcup_{\varphi \in S}[\varphi], \quad [\varphi] := \{\varphi' \in SE(d) \ \vert \varphi \equiv \varphi'\},
$$
と分解されるということで1, これは,
$$
SE(d)/{\equiv} \ := \{[\varphi] \ \vert \ \varphi \in S\},
$$
という $[\varphi]$ からなる集合によって回転対称な剛体の姿勢が記述されるということである.
この $[\varphi]$ を $\varphi$ の同値類と呼び, 同値類の集合 $SE(d)/{\equiv}$ を $SE(d)$ の $\equiv$ による商集合と呼ぶ.
ここでは $SE(d)/{\equiv}$ という集合によって剛体の姿勢を記述することのみを考えており, 姿勢の変化を扱う群演算は求めていないことに注意しておこう.
実際, 後で見るように $SE(d)/{\equiv}$ には自然な群演算が定まるとは限らず, 代わりに $SE(d)$ による作用という形で姿勢の変化が実現されることになる.
以上の議論は回転非対称な剛体にも適用可能であり, その場合, 任意の姿勢 $\varphi \in SE(d)$ の同値類は $\varphi$ 自身のみからなる集合となって $SE(d)/{\equiv}$ は $SE(d)$ に一致する (と見なせる).
回転対称性に付随する部分群
任意の $x \in \mathbb{R}^d$ をそのまま $x$ に写す恒等変換 $\iota$ は $d$ 次特殊ユークリッド変換の一つであり, その同値類 $[\iota]$ は剛体の種類や基準姿勢の取り方に関わらず $SE(d)$ の部分群をなす (演習).
この時,
$$
\varphi \in [\iota] \ \iff \ \varphi(\mathcal{R}_0) = \iota(\mathcal{R}_0) = \mathcal{R}_0,
$$
から $[\iota]$ は $\mathcal{R}_0$ を保存する変換全体とも言えて, これを $\mathcal{R}_0$ の自己同型群, 固定部分群等と呼ぶこともある2.
また, $SE(d)$ が可逆な変換の集合であることに注意すると,
$$
\begin{align*}
\varphi \equiv \varphi' \ & \iff \ \varphi(\mathcal{R}_0) = \varphi'(\mathcal{R}_0) \ \\
& \iff \ \varphi'^{-1}\varphi(\mathcal{R}_0) = \mathcal{R}_0 \ \\
& \iff \ \varphi'^{-1}\varphi \in [\iota], \\
\end{align*}
$$
より, 姿勢の合同関係 $\equiv$ は $SE(d)$ の部分群 $[\iota]$ によって特徴付けられる3ことが分かる.
一般に, 群 $G$ に対して部分群 $K \subset G$ を取った時, $g \equiv g'$ を $g'^{-1}g \in K$ が成り立つことと定めると $\equiv$ は同値関係となり, 単位元 $e \in G$ の同値類 $[e]$ は $K$ に一致する.
この時, $K$ から得られた合同関係 $\equiv$ による商集合を $G/K := G/{\equiv}$ と書き, $G$ の $K$ による商集合と呼ぶ.
しかし, $SE(d)$ について任意の部分群 $K \subset SE(d)$ とそれに対応する合同関係 $\equiv$ を取った時,
$$
\varphi \equiv \varphi' \ \iff \ \varphi(\mathcal{R}_0) = \varphi'(\mathcal{R}_0),
$$
を満たす $\mathcal{R}_0$ が存在しない場合もあり, その時 $\equiv$ は回転対称な剛体を表さない.
例えば,
$$
T_d := \{\varphi_w: \mathbb{R}^d \ni x \mapsto x+w \in \mathbb{R}^d \ \vert \ w \in \mathbb{R}^d\} \subset SE(d),
$$
という平行移動のみの変換からなる $SE(d)$ の部分集合は部分群となり, そこから定まる合同を考えると, これは平行移動以外の部分, つまり線型変換部分が同じかどうかという判定基準となり, $SE(d)/T_d$ は $SE(d)$ の線型変換部分である $SO(d)$ に一致すると見なせる.
ところが,
$$
\varphi \equiv \varphi' \ \iff \ \varphi(\mathcal{R}_0) = \varphi'(\mathcal{R}_0),
$$
を満たす $\mathcal{R}_0$ を考えると, $\varphi' = \iota$ を代入すれば任意の $\varphi_w \in T_d$ ($w \in \mathbb{R}^d$) に対して $\mathcal{R}_0+w = \mathcal{R}_0$ が成り立つ必要があるため, $\mathcal{R}_0$ が $\mathbb{R}^d$ に一致するということになる.
すると任意の $\varphi \in SE(d)$ に対して $\varphi(\mathbb{R}^d) = \mathbb{R}^d$ なので $[\iota] = SE(d) \neq T_d$ となり, $SE(d)/T_d$ に対応する $\mathcal{R}_0$ が存在しないということになる.
これは $SE(d)$ の適当な部分群を元に回転対称性を設定するといった手続きが難しいということを表している一方で, 剛体の「回転対称である」という性質の定義を拡張できるとも考えられる.
例えば上述の通り $SE(d)/T_d$ は通常の意味で回転対称な剛体の姿勢は表さないが $SO(d)$ に一致し, 部分群を起点にした商集合を考えることが姿勢制御に関わる重要な集合を与えることを示唆している.
商集合で記述される姿勢の変換
冒頭でも確認したように, $SE(d)$ (及び $SO(d)$) は元々姿勢を変換する写像として与えられたものであり, 商集合で記述される回転対称な剛体の姿勢を変換するのにも利用できる.
一般に集合 $S$ と群 $G$ があって, 任意の $g \in G$ が $S$ から $S$ への全単射写像となっていて, $x \in S$ 及び $g, g' \in G$ に対して,
$$
g(g'(x)) = (gg')(x),
$$
となる, つまり $g$ と $g'$ の群演算が写像としての合成に一致する時, $G$ は $S$ に作用するという.
任意の群 $G$ は部分群 $K \subset G$ による商集合 $G/K$ に自然に作用することが知られており, $g, g' \in G$ 及び $\hat{g} \in G$ に対して $g \equiv g' \Leftrightarrow \hat{g}g \equiv \hat{g}g'$ が成り立つため,
$$
\hat{g}([g]) := [\hat{g}g],
$$
によって $G$ の $G/K$ への作用が導かれる4.
これを $SE(d)$ に適用すれば回転対称な剛体の姿勢の離散的な変換を記述できる.
この時, 部分群 $K \subset SE(d)$ に関して姿勢 $[\varphi] \in SE(d)/K$ を $\psi \in SE(d)$ で変換すると $[\psi\varphi]$ になることは, 回転対称性を考えない姿勢 $\varphi$ を $\psi$ で変換した姿勢が $\psi\varphi$ となることと整合するため, $SE(d)$ の $SE(d)/K$ への作用は自然な姿勢の変換を表していると考えられる.
姿勢を $SE(d)$ で記述した時は $SE(d)$ による $SE(d)$ への同じ集合の間の作用が群の演算となったのに対して, $SE(d)/K$ を扱う場合は $SE(d)/K$ の要素同士の演算を考える必要がなく, $SE(d)/K$ が群となることは求められないことに注意しておこう5.
異なる変換による姿勢の合同判定
部分群 $K \subset SE(d)$ を取った時, $\varphi, \varphi' \in SE(d)$ が写像として一致しないことはこれらが合同でないことを意味しないため, 同じ姿勢 $\varphi$ を異なる変換 $\psi, \psi' \in SE(d)$ ($\psi \neq \psi'$) で写した時もそれら $\psi\varphi, \psi'\varphi$ が合同でないとは限らない.
ここで気を付けたいのは $\psi, \psi'$ が合同であったとしても $\psi\varphi$ と $\psi'\varphi$ が合同でない場合があるということである6;
$$
\begin{align*}
\varphi \neq \varphi' & \ \not\!\!\Longrightarrow \ \varphi \not\equiv \varphi', \\
\psi \neq \psi' & \ \not\!\!\Longrightarrow \ \psi\varphi \not\equiv \psi'\varphi, \\
\psi \equiv \psi' & \ \not\!\!\Longrightarrow \ \psi\varphi \equiv \psi'\varphi. \\
\end{align*}
$$
実際, $K$ に対応する基準姿勢 $\mathcal{R}_0$ が存在したとすると, $\psi\varphi \equiv \psi'\varphi$ とは $\psi\varphi(\mathcal{R}_0) = \psi'\varphi(\mathcal{R}_0)$ が成り立つということであり, これは基準姿勢を $\varphi(\mathcal{R}_0)$ で取り直した時に $\psi$ と $\psi'$ が合同となることを意味する.
姿勢が合同かどうかは基準姿勢の取り方によるため, この場合 $\psi$ と $\psi'$ は $\mathcal{R}_0$ に関して合同とは限らないことになる.
$\psi\varphi, \psi'\varphi$ が $K$ に関して合同な時, $\psi$ と $\psi'$ はどのような関係にあるか見てみよう.
部分群に関する合同の定義から, $\psi\varphi, \psi'\varphi$ が $K$ に関して合同であるとは,
$$
(\psi'\varphi)^{-1}(\psi\varphi) = \varphi^{-1}\psi'^{-1}\psi\varphi \in K,
$$
が成り立つということで, これはある $\eta \in K$ があって $\varphi^{-1}\psi'^{-1}\psi\varphi = \eta$ となると言い換えられる.
これを変形すると $\psi'^{-1}\psi = \varphi\eta\varphi^{-1}$ より,
$$
\psi'^{-1}\psi \in K^\varphi, \quad K^\varphi := \{\varphi\eta\varphi^{-1} \ \vert \ \eta \in K\},
$$
と書けるため $\psi$ と $\psi'$ が $K^\varphi$ に関して合同となり, $K^\varphi$ に関して合同な変換が $\varphi$ を合同な姿勢に写すことが分かった.
この $K^\varphi$ が (群の一般論として) $SE(d)$ の部分群になることも各々確認しておこう.
また, 以上の議論を考えると, $\psi$ を $\psi\varphi^{-1}$ に写す写像は $K$ に関する合同関係を $K^\varphi$ に関する合同関係に変換することから, $K^\varphi$ に関する同値類を $[\cdot]^\varphi$ と書けば
$$
SE(d)/K \ni [\psi] \mapsto [\psi\varphi^{-1}]^\varphi \in SE(d)/K^\varphi,
$$
という写像を定義することができて7, 基準姿勢を $\varphi$ で取り替えた時の姿勢の変換が得られる.
リー群の商集合に定まる多様体構造
群の商集合がまた群になるとは限らないのと同様, 多様体の商集合も常に自然に多様体と見なせるとは限らない.
しかしリー群に関しては部分リー群 (元のリー群の閉部分群) による商集合には自然な多様体構造が入ることが知られており, これを等質空間と呼ぶ8.
対象とする回転対称な剛体に対応する $SE(d)$ の部分群が部分リー群となるかは個別に確認すべきところだが, 「常識的な9」剛体であれば部分リー群が対応すると考えていいと思われる.
特に現実的な姿勢制御問題では $SE(d)$ の部分群として離散群や, $d' \lt d$ による $SO(d')$ を $SE(d)$ の部分群と見なしたもの及びそれらの組み合わせで得られる群を考えれば十分で, これらは全て $SE(d)$ の部分リー群となる.
そのため, 以降もリー群については部分リー群とそれに対応する等質空間に制限して話を進める.
等質空間が多様体であることを確認するにはベクトル空間と局所同相な写像を与えて局所座標系を持つことを見ればいい.
リー群 $G$ と対応するリー代数 $\mathfrak{g}$ に対して, 部分リー群 $K \subset G$ のリー代数 $\mathfrak{k}$10 は $\mathfrak{g}$ の部分空間 (部分リー代数) として得ることができ, ベクトル空間による商集合である商空間 $\mathfrak{g}/\mathfrak{k}$ が構成される.
商空間は常にベクトル空間となり, 特にリー代数と部分リー代数から定まる商空間については $g \in G, X \in \mathfrak{g}$ に対して,
$$
\chi_g: \mathfrak{g}/\mathfrak{k} \ni [X] \mapsto [g\exp{(X)}] \in G/K,
$$
が $[g] \in G/K$ における局所同相写像となるため, $G/K$ は $\mathfrak{g}/\mathfrak{k}$ を接空間とする多様体となる11.
このシリーズでは多様体上の滑らかな変化を記述するのに指数写像に頼ってきたが, 等質空間の場合はそれに作用するリー群の指数写像を利用できる.
この時, $\chi_g([X]) = [g\exp{(X)}]$ が単位元の同値類 $[e] \in G/K$ への $g\exp{(X)} \in G$ の作用と見なせることに注目すると, リー群の等質空間への作用及びリー群の指数写像は滑らか (微分可能) であることから12, $X \mapsto \chi_g([X])$ という写像は $\mathfrak{g}$ をパラメータ集合とする $G/K$ の滑らかなパラメータ付けとなる.
特に $\mathbb{R}$ から $G/K$ への写像 $\tau \mapsto \chi_g([\tau X])$ は $G$ の測地線に沿った作用による $G/K$ の滑らかな曲線を与える.
以上で回転対称な剛体の姿勢を等質空間 $SE(d)/K$ によって記述し, $SE(d)$ の曲線に沿った作用によって姿勢の変化を記述できることが分かった.
四元数からなるリー群の等質空間
最後に等質空間に関連する話題として, 前回 $SE(3)$ より扱いやすいリー群として導入した四元数からなるリー群 $\mathbb{H}^\times\times\mathbb{H}$ に関する等質空間を見ていこう.
群の準同型写像から定まる商集合
まずは $\mathbb{H}^\times\times\mathbb{H}$ から $SE(3)$ への準同型写像から, $SE(3)$ が $\mathbb{H}^\times\times\mathbb{H}$ の等質空間として得られることを見る.
一般に群の準同型写像 $f: G \rightarrow H$ があった時, $e_H$ を $H$ の単位元とすると,
$$
\mathrm{Ker}(f) := f^{-1}(e_H) = \{g \in G \ \vert \ f(g) = e_H\},
$$
は $f$ の核 (kernel) と呼ばれて $G$ の部分群となり, 商集合 $G/\mathrm{Ker}(f)$ を考えることができる.
さらに, この商集合は $G, H$ や $f$ によらず自然に群と見なせて (脚注5参照),
$$
\mathrm{Image}(f) := f(G) = \{f(g) \in H \ \vert \ g \in G\},
$$
で定まる $H$ の部分群 ($f$ の像, image と呼ばれる) と同型になることが知られている (準同型定理).
$f: G \rightarrow H$ がリー群の準同型写像の場合, $\mathrm{Ker}(f)$ は閉集合 $\{e_H\} \subset H$ の逆像で $G$ の閉集合なので部分リー群となり, $G/\mathrm{Ker}(f)$ は等質空間となる.
一方で, $\mathrm{Image}(f)$ は $H$ の部分群となるが部分リー群であるとは限らず, 準同型定理から $G/\mathrm{Ker}(f)$ も群であってもリー群にならない場合があるが, $f$ が全射で $\mathrm{Image}(f) = H$ であれば $G/\mathrm{Ker}(f)$ は $H$ と同型なリー群を与える.
ここで前回構成した $\mathbb{H}^\times\times\mathbb{H}$ から $SE(3)$ への準同型写像を,
$$
\Phi: \mathbb{H}^\times\times\mathbb{H} \ni q\boxtimes u \mapsto \begin{bmatrix} P(q) & \begin{matrix} u_1 \\ u_2 \\ u_3 \end{matrix} \\ 0 & 1 \end{bmatrix} \in SE(3),
$$
と置く ($P(q)$ 等の詳細は前回参照).
すると上の表示において $SE(3)$ の単位元は $4$ 次単位行列 $I_4$ となることから,
$$
\mathrm{Ker}(\Phi) = \mathbb{R}^\times\times\mathbb{R} = \{q_0\boxtimes u_0 \ \vert \ q_0, u_0 \in \mathbb{R}, \ q_0 \neq 0\} \subset \mathbb{H}^\times\times\mathbb{H},
$$
が得られる (演習).
従って, $\Phi$ は全射で $\mathrm{Image}(\Phi) = SE(3)$ となるため, 準同型定理により $SE(3)$ は $\mathbb{H}^\times\times\mathbb{H}/\mathbb{R}^\times\times\mathbb{R}$ と同型になることが分かる.
$SE(3)$ の等質空間の引き戻し
ここまで見たように $SE(3)$ の部分リー群 $K \subset SE(3)$ を取って等質空間 $SE(3)/K$ を考えることで回転対称な剛体の姿勢を扱うことができるが, 前回述べたように $SE(3)$ より $\mathbb{H}^\times\times\mathbb{H}$ の方が扱いやすい.
そこで $SE(3)/K$ を $\mathbb{H}^\times\times\mathbb{H}$ に引き戻して $SE(3)/K$ によるの姿勢の記述や $SE(3)$ の作用が $\mathbb{H}^\times\times\mathbb{H}$ でどのように実現されるか調べてみよう.
一般のリー群 $G, H$ の間のリー群として準同型な写像 $f: G \rightarrow H$ があるとこれは連続写像であり, 部分リー群 $K \subset H$ は $H$ の閉集合なので, その逆像 $f^{-1}(K)$ は $G$ の閉集合となる.
よって $f^{-1}(K)$ は $G$ の部分リー群で, $G/f^{-1}(K)$ は等質空間になる.
この時 $f^{-1}(K)$ に関して合同な $g, g' \in G$ を取ると $f(g)$ と $f(g')$ は $K$ に関して合同となり, 逆に $K$ に関して合同な $h, h' \in H$ を取った場合は, $f$ が全射であれば $f^{-1}(K)$ に関して合同な $g, g' \in G$ で $h = f(g), h' = f(g')$ となるものを取れる (演習).
従って, リー群として準同型な全射写像 $f: G \rightarrow H$ に対して,
$$
[f]: G/f^{-1}(K) \ni [g] \mapsto [f(g)] \in H/K,
$$
という写像が定義できる7.
この写像は全単射であり, $G/f^{-1}(K)$ に対する操作で $H/K$ に対するそれを過不足なく記述できるということになる.
この時, $H/K$ への $H$ の作用についても, $g, \hat{g} \in G$ に対して,
$$
\begin{align*}
f(\hat{g})([f(g)]) & = [f(\hat{g})f(g)] \\
& = [f(\hat{g}g)] \\
& = [f] ([\hat{g}g]) \\
& = [f] (\hat{g}([g])),
\end{align*}
$$
であり, $\hat{g}$ の $[g]$ への作用を $[f]$ で写すと $f(\hat{g})$ の $[f(g)]$ への作用が得られることが分かった.
以上により, 回転対称な剛体を表す等質空間 $SE(d)/K$ 及びその $SE(d)$ による作用は $\mathbb{H}^\times\times\mathbb{H}/\Phi^{-1}(K)$ と $\mathbb{H}^\times\times\mathbb{H}$ による作用を用いて書き換えられ, $[\Phi]$ で $SE(d)/K$ による記述を復元できるという結論が得られる.
参考資料
より具体的計算を伴う解説はこちらから.
ロボット技術者向け 速習(1) リー群・リー代数を使った3次元回転表現 - Qiita
CV・CG・ロボティクスのためのリー群・リー代数入門: (0) 目次 - swk's log はてな別館
リー群の他, 等質空間に関する議論もこちらから.
リー群と表現論 / 小林 俊行, 大島 利雄 - 岩波書店
-
$S$ を一つに決めた時はその要素を代表元と呼んだりするが, $S$ の選び方自体に決まりはない. ↩
-
いずれも一般的な呼称ではなく, 自己同型群というとある集合から同じ集合への同型写像からなる群, 固定部分群というとある集合から同じ集合への一点 $x_0$ を固定する ($\varphi(x_0) = x_0$ となる) 全単射写像からなる群を指すことが多い. ↩
-
二つの数学的概念があり, 片方を一つに決めると他方が一意に定まる, という関係が相互に成り立つことを特徴付けられるという. ↩
-
$g, g'$ と $\hat{g}$ を冗長に切り分けて記号も変えているのは, 作用を受ける $g, g'$ と作用を与える $\hat{g}$ を明確に区別するためである. この書き分けによって両者の役割が分かりやすくなっていると信じたい. ↩
-
部分群による商集合で自然な演算によって群となるものを商群と呼び, その時は部分群が正規部分群というものになることが知られている. 前節の $T_d$ は $SE(d)$ の正規部分群であるため, $SE(d)/T_d$ は商群となって $SO(d)$ と群として同型になる. ↩ ↩2
-
前節で述べたのは $\psi \equiv \psi' \Rightarrow \varphi\psi \equiv \varphi\psi'$ で, 演算の順序が逆であることに注意. ↩
-
厳密には群の作用によって任意の二点が写り合う (作用が推移的であるという) 集合が等質空間と定義され, 等質空間はそれに作用する群の商集合として書けることが証明される. ↩
-
実際に $SE(d)$ の部分群で部分リー群にならない例は知られているが, それに対応する剛体としては可算無限個の棘を持つ球体等を考える必要がある. ↩
-
フラクトゥール体の $k$ である. ↩
-
この $\chi_g$ は適当な計量を取れば $G/K$ の指数写像になる感じもするが, そのような議論は見当たらなかった. 等質空間に自然な計量を入れるにはさらにいくつかの仮定が必要なようである. ↩
-
$g \mapsto [gg']$ も $[g'] \mapsto [gg']$ も共に滑らかである. ↩