articles:matrix

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
articles:matrix [2021/06/03 13:54] – [直交行列による参照座標系の変換] Takashi Suehiroarticles:matrix [2023/01/30 11:55] (現在) – [直交行列と直交座標系] Takashi Suehiro
行 1: 行 1:
-====== 三次元直交行列(回転行列) ======+====== 三次元直交行列(回転行列)と座標系 ======
  
 ロボットの分野では直交行列は大きく以下の3つの役割を果たす. ロボットの分野では直交行列は大きく以下の3つの役割を果たす.
行 9: 行 9:
 ===== 直交行列と直交座標系 ===== ===== 直交行列と直交座標系 =====
  
-直交行列とは以下を満たす行列のことである.+一般的に直交行列とは以下を満たす行列のことである.
 $$ $$
  A^\mathrm{T} A = A A^\mathrm{T} = I  A^\mathrm{T} A = A A^\mathrm{T} = I
 $$ $$
-ここで$ I $は単位行列, +ここで$ I $は単位行列,これは
-$$ +
-I = \left( \begin{array}{cc} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ \end{array} \right) +
-$$ +
-である. +
-これは+
 $$ $$
 A^{-1}=A^\mathrm{T} A^{-1}=A^\mathrm{T}
 $$ $$
 ということであり,行列$ A $の転置行列$ A^\mathrm{T}$が逆行列$A^{-1}$になっていることがわかる. ということであり,行列$ A $の転置行列$ A^\mathrm{T}$が逆行列$A^{-1}$になっていることがわかる.
 +
 +ロボットの働く環境の空間的記述には主に3次元の直行行列を扱う.その場合,
 +$$
 +I = \left( \begin{array}{cc} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ \end{array} \right)
 +$$
 +である.
  
 ここで$ A $を以下のように3つの縦ベクトルで表現すると, ここで$ A $を以下のように3つの縦ベクトルで表現すると,
行 42: 行 43:
 $$ $$
 であり,$ \boldsymbol{e}_x $, $ \boldsymbol{e}_y $, $ \boldsymbol{e}_z $  は正規直交基底となっている. であり,$ \boldsymbol{e}_x $, $ \boldsymbol{e}_y $, $ \boldsymbol{e}_z $  は正規直交基底となっている.
-つまり直交行列は三次元直交座標系の座標軸を並べたものであり,これを用いて座標系の姿勢を表現することができる((基底ベクトルの一つの符号を反転させることで鏡像変換,つまり右手系と左手系の変換もできるが,複雑になるのでここでは回転変換のみを考える.)).+つまり3x3の直交行列は三次元直交座標系の座標軸を並べたものであり,これを用いて座標系の姿勢を表現することができる((基底ベクトルの一つの符号を反転させることで鏡像変換,つまり右手系と左手系の変換もできるが,複雑になるのでここでは回転変換のみを考える.)).
  
  
 ここで注意しなくてはいけないのは直交行列は成分表示されなくてはならないということである. ここで注意しなくてはいけないのは直交行列は成分表示されなくてはならないということである.
-[[articles:vector|三次元ベクトル]]で述べているように,成分表示するためには参照座標系を決める必要がある.+[[articles:vector|三次元ベクトル]]で述べているように,成分表示するためには[[articles:vector#参照座標系(wrt座標系)|参照座標系]]を決める必要がある.
 たとえば図1のように参照座標系を座標系$ \Sigma_1 $とするなら座標系$ \Sigma_2 $を表す直交行列は たとえば図1のように参照座標系を座標系$ \Sigma_1 $とするなら座標系$ \Sigma_2 $を表す直交行列は
 $$ $$
行 65: 行 66:
 [{{ articles:matrix_03.png?250| 図2 参照座標系の変換}}] [{{ articles:matrix_03.png?250| 図2 参照座標系の変換}}]
 ベクトルの成分表示が複数の座標系間でどのように変換されるか考える. ベクトルの成分表示が複数の座標系間でどのように変換されるか考える.
-[[articles:vector|三次元ベクトル]]の式(8)を示す.+[[articles:vector#参照座標系(wrt座標系)|三次元ベクトル]]の式(8)を示す.
 $$ $$
 {^1v_x} ^i\boldsymbol{e}_{1x} + {^1v_y} ^i\boldsymbol{e}_{1y} + {^1v_z} ^i\boldsymbol{e}_{1z} {^1v_x} ^i\boldsymbol{e}_{1x} + {^1v_y} ^i\boldsymbol{e}_{1y} + {^1v_z} ^i\boldsymbol{e}_{1z}
行 113: 行 114:
 $$ $$
 であることが確認できる. であることが確認できる.
 +
 +==== 射影としての解釈 ====
 +式(6)に示したように逆変換は転置行列になっている.これを式(2)に当てはめて考えると,
 +$$
 +^1\boldsymbol{v}  = {^1A_2} {^2\boldsymbol{v}} = {^2A_1^\mathrm{T}}\,{^2\boldsymbol{v}}
 +$$
 +$$
 +=
 +\left( \begin{array}{c} 
 +^2\boldsymbol{e}_{1x}^\mathrm{T} \\ 
 +^2\boldsymbol{e}_{1y}^\mathrm{T} \\ 
 +^2\boldsymbol{e}_{1z}^\mathrm{T} \end{array} 
 +\right)
 +{^2\boldsymbol{v}} \tag{7}
 +$$
 +これは座標系$ \Sigma_2 $1からみた座標系$ \Sigma_1 $の座標軸と座標系$ \Sigma_2 $のベクトルとの射影(内積)を計算することで
 +座標系$ \Sigma_1 $からみたベクトルの成分を求めているということを
 +表した式になってる.これはこれで理解しやすい解釈となっている.
 +
  
 ===== 回転行列 ===== ===== 回転行列 =====
行 132: 行 152:
 式(3)のままでは少し理解しにくいので以下のように少し書き換えてみる(図5). 式(3)のままでは少し理解しにくいので以下のように少し書き換えてみる(図5).
 $$ $$
-^0\boldsymbol{v}^{\prime} = {^0A_1}{^1\boldsymbol{v}^{\prime}} = {^0A_1}{^0\boldsymbol{v}}  \tag{7}+^0\boldsymbol{v}^{\prime} = {^0A_1}{^1\boldsymbol{v}^{\prime}} = {^0A_1}{^0\boldsymbol{v}}  \tag{8}
 $$ $$
 ここで$ ^0\boldsymbol{v}^{\prime} $ と ${^1\boldsymbol{v}^{\prime}} $ は同じベクトルを異なる参照座標系で成分表示したもので,${^1\boldsymbol{v}^{\prime}} $と$ {^0\boldsymbol{v}}$ は同じ成分表示だが異なる座標系のベクトルである. ここで$ ^0\boldsymbol{v}^{\prime} $ と ${^1\boldsymbol{v}^{\prime}} $ は同じベクトルを異なる参照座標系で成分表示したもので,${^1\boldsymbol{v}^{\prime}} $と$ {^0\boldsymbol{v}}$ は同じ成分表示だが異なる座標系のベクトルである.
行 143: 行 163:
 $$R$$ $$R$$
 と表記して区別することも多い. と表記して区別することも多い.
 +
 +
  
  • articles/matrix.1622696095.txt.gz
  • 最終更新: 2021/06/03 13:54
  • by Takashi Suehiro