はじめまして、りょーつといいます。高専出身の博士課程1年生です。研究の専門は力学や機構学で、Qiitaでは主に制御工学や数学に関する記事を書いています。本稿はスクリュー理論の解説(布教)をする44個目の記事です。前回までの記事は以下のリンクを参照してください。
スクリュー理論① 外積の歪対称行列表現
スクリュー理論② 行列の指数関数
スクリュー理論③ 行列指数と回転行列の関係
スクリュー理論④ 回転行列の成分表示
スクリュー理論⑤ 回転行列による座標系の表現
スクリュー理論⑥ 剛体の速度・加速度の座標変換公式の導出
スクリュー理論⑦ 三次元空間における右手系の回転行列
スクリュー理論⑧ 回転行列による座標変換
スクリュー理論⑨ 回転行列によるベクトルの回転
スクリュー理論⑩ 回転行列と多様体の関係
スクリュー理論⑪ 同次変換行列の導入
スクリュー理論⑫ 同次変換行列による座標系の表現と基底変換
スクリュー理論⑬ 歪対称行列表現の回転座標変換
スクリュー理論⑭ 同次変換行列の微分とツイストの導入
スクリュー理論⑮ スクリューの導入と行列指数による同次変換行列の表現
スクリュー理論⑯ アジョイント変換
スクリュー理論⑰ 回転行列の行列対数
スクリュー理論⑱ 回転行列の積分
スクリュー理論⑲ 行列指数を用いた同次変換行列の成分表示
スクリュー理論⑳ 同次変換行列の行列対数
スクリュー理論㉑ シリアルリンクロボットアームの順運動学
スクリュー理論㉒ 円筒座標ロボットアームの順運動学
スクリュー理論㉓ 円筒座標ロボットアームのヤコビアン
スクリュー理論㉔ ボディ座標系を用いた順運動学
スクリュー理論㉕ アジョイント変換の図的イメージ
スクリュー理論㉖ 順運動学とアジョイント変換
スクリュー理論㉗ 空間ヤコビアン
スクリュー理論㉘ ボディヤコビアン
スクリュー理論㉙ 空間ヤコビアンの代数学的な導出
スクリュー理論㉚ Lie括弧積とアジョイント変換
スクリュー理論㉛ 実用的なヤコビアン
スクリュー理論㉜ キャチロボ機体を用いた空間ヤコビアンの具体例
スクリュー理論㉝ キャチロボ機体を用いた順運動学計算(ボディ座標系)
スクリュー理論㉞ キャチロボ機体を用いたボディヤコビアンの具体例
スクリュー理論㉟ キャチロボ機体を用いた実用的なヤコビアンの具体例
スクリュー理論㊱ ヤコビアンのランク
スクリュー理論㊲ 逆速度運動学とその具体例
スクリュー理論㊳ レンチの定義とヤコビアン
スクリュー理論㊴ レンチのアジョイント変換
スクリュー理論㊵ レンチとトルクの関係式の静力学に基づく導出
スクリュー理論㊶ 正定値行列と楕円体
スクリュー理論㊷ 可操作性楕円体
スクリュー理論㊸ 操作力楕円体
スクリュー理論は剛体の運動を記述する方法で、ロボット工学などでよく使われています。日本の高専や大学ではDH法を使った記述を学ぶことが多いですが、国際的にはスクリュー理論を使った記述が一般的となってきているようです。スクリュー理論を扱う日本語の文献は少ないので、この記事が誰かの助けになればいいなと思います。
目次
1.はじめに
2.直線の方程式
3.Plücker座標
4.ツイストの表現
5.おわりに
1. はじめに
今回は,古典的なスクリュー理論の起源ともなっている線幾何学において重要な概念となる「Plücker座標」について解説します.スクリュー理論にはツイストやレンチなど,回転軸っぽい概念がたくさん登場します.ロボティクスと融合してからはLie群を用いた表記が一般的となりましたが,スクリュー理論が誕生した当初は直線に注目した幾何学分野である「線幾何学」を用いた表記が一般的でした.本稿では,この線幾何学の最重要概念であるPlücker座標について解説します.概念の説明になるので,事前知識などは特に必要ありません.
2. 直線の方程式
3次元空間の中に存在する直線を数式で表現するにはどうすればよいでしょうか?多くの人は直線の方向ベクトル$\boldsymbol{a}$と直線状のある点$\boldsymbol{b}$,そして任意の実数$t$を用いて,直線状の任意の点$\boldsymbol{r}(t)$を以下のように表記すると思います.
\boldsymbol{r}(t)
=
t \ \boldsymbol{a} + \boldsymbol{b}
\tag{1}
図で表すと以下のような形になりますね.
図1 直線上の点を表すベクトル方程式
美しいですね.このままでも十分に使えそうなのですが,線幾何学やスクリュー理論では少し物足りません.それは(1)式が「直線上に存在する任意の点」を表現する式だからです.
スクリュー理論ではヤコビアンを計算するときにスクリューのアジョイント変換を行いました.これは順運動学(ロボットの関節角度変化)によってどのようにスクリューが変化するのかを考えていたんですね~
このようにスクリュー理論では「直線上の点ではなく,直線という存在そのもの」に焦点を当てる必要があります.
そこで登場するのが後述するPlücker座標です.Plücker座標は「直線そのもの」を座標表現したものになります.Plücker座標を使うと,点と同じようなノリで直線を扱うことができるようになります.($\boldsymbol{p} = (x,y)$みたいな感じ)
3. Plücker座標
Plücker座標では,ツイストやレンチと同様に直線を6次元ベクトルを用いて表現します.具体的には直線の方向を表す単位ベクトルと,その直線を中心とした渦状のベクトル場を考えた時,原点に発生する速度ベクトルの2つを組み合わせて表現します.
定義だけ聞くと完全にツイストと同じ概念なのですが,これらは別々に発見されているという点が面白いですよね.
例えば図2に示すような直線は,$(\boldsymbol{\omega} : \boldsymbol{v})$のように表すことができます.
図2 Plücker座標による直線の表現
このような座標表現と(1)式で表される直線の方程式の変換について考えてみましょう.ベクトル$\boldsymbol{a}$と$\boldsymbol{b}$から単位方向ベクトル$\boldsymbol{\omega}$と速度$\boldsymbol{v}$を計算してみるイメージです.
まず直線の単位方向ベクトル$\boldsymbol{\omega}$は,直線の方向ベクトル$\boldsymbol{a}$を正規化したものになります.
\boldsymbol{\omega}
=
\frac{\boldsymbol{a}}{|| \boldsymbol{a} ||}
\tag{2}
これは直感的ですよね.
次に速度$\boldsymbol{v}$を計算します.一言でいうと回転接速度の計算です.角速度と位置ベクトルのベクトル積で計算できます.ただし注意が必要なのは,ベクトル$\boldsymbol{b}$は原点からみた直線の位置を意味します.
一方で,速度$\boldsymbol{v}$の計算に必要な位置ベクトルは直線からみた原点の位置なので,$-\boldsymbol{b}$が必要です.
これらをまとめると,速度$\boldsymbol{v}$は以下のように計算できます.
\boldsymbol{v}
=
\boldsymbol{\omega}
\times
(
-
\boldsymbol{b}
)
=
\boldsymbol{b}
\times
\boldsymbol{\omega}
=
\frac{
\boldsymbol{b}
\times
\boldsymbol{a}
}{|| \boldsymbol{a} ||}
\tag{3}
このようにして直線を座標表現したものがPlücker座標であり,古典的なスクリュー理論ではよく用いられていました.
このようにして直線が自然な6次元ベクトルとして与えられ,ツイストやレンチが線幾何学を使って解析できるんですね~
4. おわりに
今週は,古典スクリュー理論を形成した線幾何学の重要概念であるPlücker座標について紹介しました.直線を直接表現するための座標系を作ってしまおう!という発想がとても面白いですよね.
今ではLie群を用いて体系化されたスクリュー理論ですが,体系化される前のゴリゴリ線幾何学のスクリュー理論についても少しずつ学びながら紹介していけたらいいなと考えています.
今週も最後まで読んでいただき,ありがとうございました!!