はじめまして、りょーつといいます。高専出身の大学院2年生です。研究の専門は力学や機構学で、Qiitaでは主に制御工学や数学に関する記事を書いています。本稿はスクリュー理論の解説(布教)をする28個目の記事です。前回までの記事は以下のリンクを参照してください。
スクリュー理論① 外積の歪対称行列表現
スクリュー理論② 行列の指数関数
スクリュー理論③ 行列指数と回転行列の関係
スクリュー理論④ 回転行列の成分表示
スクリュー理論⑤ 回転行列による座標系の表現
スクリュー理論⑥ 剛体の速度・加速度の座標変換公式の導出
スクリュー理論⑦ 三次元空間における右手系の回転行列
スクリュー理論⑧ 回転行列による座標変換
スクリュー理論⑨ 回転行列によるベクトルの回転
スクリュー理論⑩ 回転行列と多様体の関係
スクリュー理論⑪ 同次変換行列の導入
スクリュー理論⑫ 同次変換行列による座標系の表現と基底変換
スクリュー理論⑬ 歪対称行列表現の回転座標変換
スクリュー理論⑭ 同次変換行列の微分とツイストの導入
スクリュー理論⑮ スクリューの導入と行列指数による同次変換行列の表現
スクリュー理論⑯ アジョイント変換
スクリュー理論⑰ 回転行列の行列対数
スクリュー理論⑱ 回転行列の積分
スクリュー理論⑲ 行列指数を用いた同次変換行列の成分表示
スクリュー理論⑳ 同次変換行列の行列対数
スクリュー理論㉑ シリアルリンクロボットアームの順運動学
スクリュー理論㉒ 円筒座標ロボットアームの順運動学
スクリュー理論㉓ 円筒座標ロボットアームのヤコビアン
スクリュー理論㉔ ボディ座標系を用いた順運動学
スクリュー理論㉕ アジョイント変換の図的イメージ
スクリュー理論㉖ 順運動学とアジョイント変換
スクリュー理論㉗ 空間ヤコビアン
スクリュー理論は剛体の運動を記述する方法で、ロボット工学などでよく使われています。日本の高専や大学ではDH法を使った記述を学ぶことが多いですが、国際的にはスクリュー理論を使った記述が一般的となってきているようです。スクリュー理論を扱う日本語の文献は少ないので、この記事が誰かの助けになればいいなと思います。
目次
1.はじめに
2.ツイストのアジョイント変換の復習
3.順運動学の時間微分と逆変換
4.ボディヤコビアン
5.空間ヤコビアンとボディヤコビアンの変換
6.おわりに
1. はじめに
今週の記事では、ボディヤコビアンの代数的な導入について解説します。ツイスト$\boldsymbol{\nu}$のアジョイント変換と順運動学を多用するので、アジョイント変換の記事とボディ座標系の順運動学の記事を先に読んでおくことをおすすめします。2章でアジョイント変換の復習、3章でちょっとした計算、4章でボディヤコビアンの導入、5章で空間ヤコビアンとの関係性についての説明を行います。
内容が盛りだくさんですね。
2. ツイストのアジョイント変換の復習
ここでは本記事の解説に必要となる、アジョイント変換とボディ座標系の順運動学についてまとめます。基準座標系を$\Sigma_s$、ボディ座標系を$\Sigma_b$とし、それぞれの座標系でツイスト$\boldsymbol{\nu_s},\boldsymbol{\nu_b} \in \mathbb{R}^6$を考えます。基準座標系$\Sigma_s$から見たボディ座標系$\Sigma_b$の位置姿勢を同次変換行列$T_{sb}\in
SE(3)$で表したとき、$\boldsymbol{\nu_s}$と$\boldsymbol{\nu_b}$はアジョイント変換によって以下のように変換できます。
\boldsymbol{\nu_s}
=
Ad_{T_{sb}}(\boldsymbol{\nu_b})
\tag{1}
また、各ツイストの行列表現を$[\boldsymbol{\nu_s}],[\boldsymbol{\nu_b}] \in
\mathbb{R}^4 \times \mathbb{R}^4$としたとき、以下の関係がなりたちます。
[\boldsymbol{\nu_s}]
=
\frac{d T_{sb}}{dt}
{T_{sb}}^{-1}
\tag{2}
[\boldsymbol{\nu_b}]
=
{T_{sb}}^{-1}
\frac{d T_{sb}}{dt}
\tag{3}
[\boldsymbol{\nu_s}]
=
T_{sb}
[\boldsymbol{\nu_b}]
{T_{sb}}^{-1}
\therefore
[Ad_{T_{sb}}(\boldsymbol{\nu_b})]
=
T_{sb}
[\boldsymbol{\nu_b}]
{T_{sb}}^{-1}
\tag{4}
ツイストの行列表現については過去記事を参照ください。
さらに(4)式の逆変換を考えると以下の関係も得られます。
[\boldsymbol{\nu_b}]
=
{T_{sb}}^{-1}
[\boldsymbol{\nu_s}]
T_{sb}
\therefore
[Ad_{T_{sb}}(\boldsymbol{\nu_b})]
=
{T_{sb}}^{-1}
[\boldsymbol{\nu_s}]
T_{sb}
\tag{5}
また、系のボディ座標系$\Sigma$からみたスクリューを$\boldsymbol{\beta}$としたとき、順運動学は以下の式で与えられます。
T_{sb}
=
M
e^{[\boldsymbol{\beta_1}]\theta_1}
e^{[\boldsymbol{\beta_2}]\theta_2}
\cdots
e^{[\boldsymbol{\beta_{n-1}}]\theta_{n-1}}
e^{[\boldsymbol{\beta_n}]\theta_n}
\tag{6}
ただし、各スクリュー$\boldsymbol{\beta_k}$の回転角を$\theta_k$、基準座標系$\Sigma$からみた、各回転角$\theta_k$をまとめたベクトル$\boldsymbol{\theta} = \begin{bmatrix}\theta_1 \cdots \theta_n \ \end{bmatrix}^T \in \mathbb{R}^n$が零ベクトルのときのボディ座標系$\Sigma_b$の位置姿勢を$M \in SE(3)$とします。右下の添え字はロボットアームの関節番号を意味しており、根元に近いものから先端に近づくにつれて数字を大きくしていきます。
図5 ロボットアームのイメージ
3. 順運動学の時間微分と逆変換
ボディヤコビアンを考えるにあたり、2章で紹介した順運動学の時間微分を考える必要があります。時間微分を$\dot{x}$のように表記すると、チェインルールより
\frac{d T_{sb}}{dt}
=
\frac{\partial T_{sb}}{\partial \theta_1} \frac{d \theta_1}{dt}
+
\frac{\partial T_{sb}}{\partial \theta_2} \frac{d \theta_2}{dt}
+
\cdots
\frac{\partial T_{sb}}{\partial \theta_2} \frac{d \theta_2}{dt}
\therefore
\frac{d T_{sb}}{dt}
=
\sum_{k=1}^n
\frac{\partial T_{sb}}{\partial \theta_k} \dot{\theta_k}
\tag{7}
になります。(7)式より、$\frac{\partial T_{sb}}{\partial \theta_k}$を計算すればよいと考えられますね。
実際に計算してみましょう。(4)式より
\frac{\partial T_{sb}}{\partial \theta_k}
=
\frac{\partial}{\partial \theta_k}
\bigg(
M
e^{[\boldsymbol{\beta_1}]\theta_1}
e^{[\boldsymbol{\beta_2}]\theta_2}
\cdots
e^{[\boldsymbol{\beta_{n-1}}]\theta_{n-1}}
e^{[\boldsymbol{\beta_n}]\theta_n}
\bigg)
=
\frac{\partial}{\partial \theta_k}
\bigg(
M
e^{[\boldsymbol{\beta_1}]\theta_1}
e^{[\boldsymbol{\beta_2}]\theta_2}
\cdots
e^{[\boldsymbol{\beta_{k-1}}]\theta_{k-1}}
e^{[\boldsymbol{\beta_k}]\theta_k}
e^{[\boldsymbol{\beta_{k+1}}]\theta_{k+1}}
\cdots
e^{[\boldsymbol{\beta_{n-1}}]\theta_{n-1}}
e^{[\boldsymbol{\beta_n}]\theta_n}
\bigg)
\tag{8}
であり、$\theta_k$以外は全て定数とみなすため
\frac{\partial T_{sb}}{\partial \theta_k}
=
M
e^{[\boldsymbol{\beta_1}]\theta_1}
e^{[\boldsymbol{\beta_2}]\theta_2}
\cdots
e^{[\boldsymbol{\beta_{k-1}}]\theta_{k-1}}
\frac{\partial}{\partial \theta_k}
\Big(
e^{[\boldsymbol{\beta_k}]\theta_k}
\Big)
e^{[\boldsymbol{\beta_{k+1}}]\theta_{k+1}}
\cdots
e^{[\boldsymbol{\beta_{n-1}}]\theta_{n-1}}
e^{[\boldsymbol{\beta_n}]\theta_n}
=
M
e^{[\boldsymbol{\beta_1}]\theta_1}
e^{[\boldsymbol{\beta_2}]\theta_2}
\cdots
e^{[\boldsymbol{\beta_{k-1}}]\theta_{k-1}}
e^{[\boldsymbol{\beta_k}]\theta_k}
[\boldsymbol{\beta_k}]
e^{[\boldsymbol{\beta_{k+1}}]\theta_{k+1}}
\cdots
e^{[\boldsymbol{\beta_{n-1}}]\theta_{n-1}}
e^{[\boldsymbol{\beta_n}]\theta_n}
\dot{\theta_k}
\tag{9}
が得られます。行列指数の微分について以下がなりたつ点に注意してください。
\frac{\partial}{\partial \theta_k}e^{[\boldsymbol{\beta_k}]\theta_k}
=
[\boldsymbol{\beta_k}]
e^{[\boldsymbol{\beta_k}]\theta_k}
\frac{d \theta}{dt}
=
e^{[\boldsymbol{\beta_k}]\theta_k}
[\boldsymbol{\beta_k}]
\frac{d \theta}{dt}
\tag{10}
また、順運動学の逆変換${T_{sb}}^{-1}$についても考えてみましょう。(※あくまでも同次変換行列の逆行列であり、逆運動学とは別の概念です。)
シンプルに(6)式の両辺の逆行列を取ると以下の式が得られます。
{T_{sb}}^{-1}
=
e^{-[\boldsymbol{\beta_n}]\theta_n}
e^{-[\boldsymbol{\beta_{n-1}}]\theta_{n-1}}
\cdots
e^{-[\boldsymbol{\beta_2}]\theta_2}
e^{-[\boldsymbol{\beta_1}]\theta_1}
M^{-1}
\tag{11}
すごく長い式ですが、すべての項の指数に$-1$がついて、かける順番が逆になっただけです。
これらの計算により、ボディヤコビアンの導出に必要な準備が完了しました。
4. ボディヤコビアン
ボディヤコビアン$J_b$の定義は、前回の記事で紹介した空間ヤコビアン$J_s$と似ており、以下の計算式で与えられます。
\boldsymbol{\nu_b}
=
J_b
\dot{\boldsymbol{\theta}}
\tag{12}
本記事では(3)式を直接計算した結果と、(12)式を比較することで、$J_b$を導出していこうと思います。では(7)式と(11)式を(3)式に代入し、直接$[\boldsymbol{\nu_b}]$を計算してみましょう。
[\boldsymbol{\nu_b}]
=
e^{-[\boldsymbol{\beta_n}]\theta_n}
e^{-[\boldsymbol{\beta_{n-1}}]\theta_{n-1}}
\cdots
e^{-[\boldsymbol{\beta_2}]\theta_2}
e^{-[\boldsymbol{\beta_1}]\theta_1}
M^{-1}
\sum_{k=1}^n
\frac{\partial T_{sb}}{\partial \theta_k} \dot{\theta_k}
=
\sum_{k=1}^n
e^{-[\boldsymbol{\beta_n}]\theta_n}
e^{-[\boldsymbol{\beta_{n-1}}]\theta_{n-1}}
\cdots
e^{-[\boldsymbol{\beta_2}]\theta_2}
e^{-[\boldsymbol{\beta_1}]\theta_1}
M^{-1}
\frac{\partial T_{sb}}{\partial \theta_k} \dot{\theta_k}
\tag{13}
一度に(13)式を計算するのは大変なので、まずは${T_{sb}}^{-1} \frac{\partial T_{sb}}{\partial \theta_k}$を計算してみましょう。(9)式を代入すると以下の計算結果が得られます。
{T_{sb}}^{-1} \frac{\partial T_{sb}}{\partial \theta_k}
=
e^{-[\boldsymbol{\beta_n}]\theta_n}
e^{-[\boldsymbol{\beta_{n-1}}]\theta_{n-1}}
\cdots
e^{-[\boldsymbol{\beta_2}]\theta_2}
e^{-[\boldsymbol{\beta_1}]\theta_1}
M^{-1}
M
e^{[\boldsymbol{\beta_1}]\theta_1}
e^{[\boldsymbol{\beta_2}]\theta_2}
\cdots
e^{[\boldsymbol{\beta_{k-1}}]\theta_{k-1}}
e^{[\boldsymbol{\beta_k}]\theta_k}
[\boldsymbol{\beta_k}]
e^{[\boldsymbol{\beta_{k+1}}]\theta_{k+1}}
\cdots
e^{[\boldsymbol{\beta_{n-1}}]\theta_{n-1}}
e^{[\boldsymbol{\beta_n}]\theta_n}
=
e^{-[\boldsymbol{\beta_n}]\theta_n}
e^{-[\boldsymbol{\beta_{n-1}}]\theta_{n-1}}
\cdots
e^{-[\boldsymbol{\beta_{k+1}}]\theta_{k+1}}
e^{-[\boldsymbol{\beta_k}]\theta_k}
e^{-[\boldsymbol{\beta_{k-1}}]\theta_{k-1}}
\cdots
e^{-[\boldsymbol{\beta_2}]\theta_2}
e^{-[\boldsymbol{\beta_1}]\theta_1}
M^{-1}
M
e^{[\boldsymbol{\beta_1}]\theta_1}
e^{[\boldsymbol{\beta_2}]\theta_2}
\cdots
e^{[\boldsymbol{\beta_{k-1}}]\theta_{k-1}}
e^{[\boldsymbol{\beta_k}]\theta_k}
[\boldsymbol{\beta_k}]
e^{[\boldsymbol{\beta_{k+1}}]\theta_{k+1}}
\cdots
e^{[\boldsymbol{\beta_{n-1}}]\theta_{n-1}}
e^{[\boldsymbol{\beta_n}]\theta_n}
=
e^{-[\boldsymbol{\beta_n}]\theta_n}
e^{-[\boldsymbol{\beta_{n-1}}]\theta_{n-1}}
\cdots
e^{-[\boldsymbol{\beta_{k+1}}]\theta_{k+1}}
[\boldsymbol{\beta_k}]
e^{[\boldsymbol{\beta_{k+1}}]\theta_{k+1}}
\cdots
e^{[\boldsymbol{\beta_{n-1}}]\theta_{n-1}}
e^{[\boldsymbol{\beta_n}]\theta_n}
\therefore
{T_{sb}}^{-1} \frac{\partial T_{sb}}{\partial \theta_k}
=
\bigg(
e^{-[\boldsymbol{\beta_n}]\theta_n}
e^{-[\boldsymbol{\beta_{n-1}}]\theta_{n-1}}
\cdots
e^{-[\boldsymbol{\beta_{k+1}}]\theta_{k+1}}
\bigg)
[\boldsymbol{\beta_k}]
\bigg(
e^{-[\boldsymbol{\beta_{k+1}}]\theta_{k+1}}
\cdots
e^{-[\boldsymbol{\beta_{n-1}}]\theta_{n-1}}
e^{-[\boldsymbol{\beta_n}]\theta_n}
\bigg)^{-1}
\tag{14}
ここで(4)式のアジョイント変換によるツイストの変換により、(14)式はアジョイント変換を用いて以下のように書き換えられます。
{T_{sb}}^{-1} \frac{\partial T_{sb}}{\partial \theta_k}
=
[
Ad_
{
e^{-[\boldsymbol{\beta_n}]\theta_n}
e^{-[\boldsymbol{\beta_{n-1}}]\theta_{n-1}}
\cdots
e^{-[\boldsymbol{\beta_{k+1}}]\theta_{k+1}}
}
(\boldsymbol{\beta_k})]
\tag{15}
では(13)式に(15)式を代入してみましょう。だいぶシンプルになりますね。
[\boldsymbol{\nu_b}]
=
\sum_{k=1}^n
[
Ad_
{
e^{-[\boldsymbol{\beta_n}]\theta_n}
e^{-[\boldsymbol{\beta_{n-1}}]\theta_{n-1}}
\cdots
e^{-[\boldsymbol{\beta_{k+1}}]\theta_{k+1}}
}
(\boldsymbol{\beta_k})]
\dot{\theta_k}
=
\Bigg [
\sum_{k=1}^n
Ad_
{
e^{-[\boldsymbol{\beta_n}]\theta_n}
e^{-[\boldsymbol{\beta_{n-1}}]\theta_{n-1}}
\cdots
e^{-[\boldsymbol{\beta_{k+1}}]\theta_{k+1}}
}
(\boldsymbol{\beta_k})\dot{\theta_k}
\Bigg ]
\tag{16}
(16)式より、行列表現の中身は恒等的に等しいと考えられるため、ボディツイスト$\boldsymbol{\nu_b}$が以下のように定まります。
\boldsymbol{\nu_b}
=
\sum_{k=1}^n
Ad_
{
e^{-[\boldsymbol{\beta_n}]\theta_n}
e^{-[\boldsymbol{\beta_{n-1}}]\theta_{n-1}}
\cdots
e^{-[\boldsymbol{\beta_{k+1}}]\theta_{k+1}}
}
(\boldsymbol{\beta_k})\dot{\theta_k}
\tag{17}
ここで、(17)式を理解しやすくするため、(15)式を書き下してみましょう。
{T_{sb}}^{-1} \frac{\partial T_{sb}}{\partial \theta_1}
=
[
Ad_
{
e^{-[\boldsymbol{\beta_n}]\theta_n}
e^{-[\boldsymbol{\beta_{n-1}}]\theta_{n-1}}
\cdots
e^{-[\boldsymbol{\beta_3}]\theta_3}
e^{-[\boldsymbol{\beta_2}]\theta_2}
}
(\boldsymbol{\beta_1})]
\tag{18}
{T_{sb}}^{-1} \frac{\partial T_{sb}}{\partial \theta_2}
=
[
Ad_
{
e^{-[\boldsymbol{\beta_n}]\theta_n}
e^{-[\boldsymbol{\beta_{n-1}}]\theta_{n-1}}
\cdots
e^{-[\boldsymbol{\beta_4}]\theta_4}
e^{-[\boldsymbol{\beta_3}]\theta_3}
}
(\boldsymbol{\beta_2})]
\tag{19}
\vdots
{T_{sb}}^{-1} \frac{\partial T_{sb}}{\partial \theta_{n-1}}
=
[
Ad_
{
e^{-[\boldsymbol{\beta_n}]\theta_n}
}
(\boldsymbol{\beta_{n-1}})]
\tag{20}
{T_{sb}}^{-1} \frac{\partial T_{sb}}{\partial \theta_n}
=
[\boldsymbol{\beta_n}]
\tag{21}
なんとなくイメージはつかめたでしょうか?(18)~(19)式を(17)式に代入し、行列にまとめると以下のようになります。
\boldsymbol{\nu_b}
=
\begin{bmatrix}
Ad_
{
e^{-[\boldsymbol{\beta_n}]\theta_n}
e^{-[\boldsymbol{\beta_{n-1}}]\theta_{n-1}}
\cdots
e^{-[\boldsymbol{\beta_3}]\theta_3}
e^{-[\boldsymbol{\beta_2}]\theta_2}
}
(\boldsymbol{\beta_1})
&
Ad_
{
e^{-[\boldsymbol{\beta_n}]\theta_n}
e^{-[\boldsymbol{\beta_{n-1}}]\theta_{n-1}}
\cdots
e^{-[\boldsymbol{\beta_4}]\theta_4}
e^{-[\boldsymbol{\beta_3}]\theta_3}
}
(\boldsymbol{\beta_2})
&
\cdots
&
Ad_
{
e^{-[\boldsymbol{\beta_n}]\theta_n}
}
(\boldsymbol{\beta_{n-1}})
&
\boldsymbol{\beta_n}
\\
\end{bmatrix}
\begin{bmatrix}
\dot{\theta_1} \\
\dot{\theta_1} \\
\vdots \\
\dot{\theta_{n-1}} \\
\dot{\theta_n} \\
\\
\end{bmatrix}
\therefore
\boldsymbol{\nu_b}
=
\begin{bmatrix}
Ad_
{
e^{-[\boldsymbol{\beta_n}]\theta_n}
e^{-[\boldsymbol{\beta_{n-1}}]\theta_{n-1}}
\cdots
e^{-[\boldsymbol{\beta_3}]\theta_3}
e^{-[\boldsymbol{\beta_2}]\theta_2}
}
(\boldsymbol{\beta_1})
&
Ad_
{
e^{-[\boldsymbol{\beta_n}]\theta_n}
e^{-[\boldsymbol{\beta_{n-1}}]\theta_{n-1}}
\cdots
e^{-[\boldsymbol{\beta_4}]\theta_4}
e^{-[\boldsymbol{\beta_3}]\theta_3}
}
(\boldsymbol{\beta_2})
&
\cdots
&
Ad_
{
e^{-[\boldsymbol{\beta_n}]\theta_n}
}
(\boldsymbol{\beta_{n-1}})
&
\boldsymbol{\beta_n}
\\
\end{bmatrix}
\dot{\boldsymbol{\theta}}
\tag{17}
なんとなく見たことある形になったかと思います。そうです、(17)は(12)式のボディヤコビアン$J_b$の定義に対応しています。したがって、ボディヤコビアン$J_b$は以下のように計算できます。空間ヤコビアンと同じように、アジョイント変換されたスクリューが並んだ形をしていますね(^▽^)
J_b
=
\begin{bmatrix}
Ad_
{
e^{-[\boldsymbol{\beta_n}]\theta_n}
e^{-[\boldsymbol{\beta_{n-1}}]\theta_{n-1}}
\cdots
e^{-[\boldsymbol{\beta_3}]\theta_3}
e^{-[\boldsymbol{\beta_2}]\theta_2}
}
(\boldsymbol{\beta_1})
&
Ad_
{
e^{-[\boldsymbol{\beta_n}]\theta_n}
e^{-[\boldsymbol{\beta_{n-1}}]\theta_{n-1}}
\cdots
e^{-[\boldsymbol{\beta_4}]\theta_4}
e^{-[\boldsymbol{\beta_3}]\theta_3}
}
(\boldsymbol{\beta_2})
&
\cdots
&
Ad_
{
e^{-[\boldsymbol{\beta_n}]\theta_n}
}
(\boldsymbol{\beta_{n-1}})
&
\boldsymbol{\beta_n}
\\
\end{bmatrix}
\dot{\boldsymbol{\theta}}
\tag{18}
ボディヤコビアン$J_b$の図形的なイメージについては別の記事にまとめようと思います。
5. 空間ヤコビアンとボディヤコビアンの変換
最後に空間ヤコビアン$J_s$とボディヤコビアン$J_b$の相互変換についてまとめておきます。空間ヤコビアン$J_s$は以下のように定義されます。
\boldsymbol{\nu_s}
=
J_s
\dot{\boldsymbol{\theta}}
\tag{19}
ではボディヤコビアン$J_b$の定義式(12)の両辺をアジョイント変換してみましょう。
Ad_{T_{sb}}
(\boldsymbol{\nu_b})
=
Ad_{T_{sb}}
(J_b)
\dot{\boldsymbol{\theta}}
\tag{20}
ここで$Ad_{T_{sb}}(J_b)$はボディヤコビアンを構成する各列ベクトルをそれぞれアジョイント変換したものであると定義します。(1)式と(19)式を(20)式に代入し、恒等的に変換行列を取り出すと以下の関係が得られます。
\boldsymbol{\nu_s}
=
J_s
\dot{\boldsymbol{\theta}}
=
Ad_{T_{sb}}
(J_b)
\dot{\boldsymbol{\theta}}
\therefore
J_s
=
Ad_{T_{sb}}
(J_b)
\tag{21}
つまり、ヤコビアンはツイストと同じように、アジョイント変換で各座標系へ変換できると言えます。(そもそもツイストを並べたのがヤコビアンなのでそれはそう)
(21)式を知っていると、速度運動学を考えるときにちょこちょこ便利です(^▽^)。
6. おわりに
本記事では、アジョイント変換を使ってボディヤコビアンの定義と導出を代数的に行いました。数式上でなりたつことは伝わるかもしれませんが、ボディヤコビアンの各項が何を意味しているのか伝わりづらいと思いますので、次回以降の記事でボディヤコビアンの図的イメージについてまとめていこうと思います。
あと少しでスクリュー理論を用いた運動学の記事シリーズが完結しそうです!(次はレンチとか動力学に手を出す予定)
なかなか数式がゴリゴリしていてツラかったと思いますが、ここまで読んでいただきありがとうございました!