ヤコビ行列を用いることで、ロボットの「関節の速度」と「手先の速度」の関係を示すことが出来ます。
しかし、ヤコビ行列の算出式には偏微分が含まれていることで、一見すると難しく感じてしまう方も多くいます。
今回の記事では、2リンクモデルのヤコビ行列を算出する方法について説明したいと思います。
2リンクモデルと順運動学
今回の記事で取り扱う2リンクモデルについて、「関節の変位(θ1、θ2)」から「ロボットの位置(x、y)」を求めるための順運動学の式は
$$ \begin{eqnarray} \left\{ \begin{array}{l} x &=& L_1 \cos \left( \theta_1 \right) + L_2 \cos \left( \theta_1 + \theta_2 \right) \\ y &=& L_1 \sin \left( \theta_1 \right) + L_2 \sin \left( \theta_1 + \theta_2 \right) \end{array} \right. \end{eqnarray} $$
で表されます。
この順運動学の式について、それぞれの式を各変数で偏微分することで、ヤコビ行列を算出していきます。
順運動学の算出方法の詳細は、こちらの記事を参考にしてください。
2リンクモデルのヤコビ行列
算出した2リンクモデルの順運動学から、ヤコビ行列を求める流れを紹介します。
ヤコビ行列
ヤコビ行列は、順運動学の各式を各変数で偏微分したものを行列の形で表すことで求められます。
例えば、順運動学の式が2つ(f1とf2)で変数も2つ(x1とx2)ある場合について、ヤコビ行列の基本式は
$$ \boldsymbol{ J } = \begin{bmatrix} \frac{ \partial f_1 }{ \partial x_1 } & \frac{ \partial f_1 }{ \partial x_2 } \\ \frac{ \partial f_2 }{ \partial x_1 } & \frac{ \partial f_2 }{ \partial x_2 } \end{bmatrix} $$
のように表されます。
今回の2リンクモデルのケースでは、順運動学の式には「ロボットの位置(x、y)」の2式と「関節の変位(θ1、θ2)」の2変数があります。
よって、2リンクモデルのヤコビ行列は
$$ \boldsymbol{ J } = \begin{bmatrix} \frac{ \partial x }{ \partial \theta_1 } & \frac{ \partial x }{ \partial \theta_2 } \\ \frac{ \partial y }{ \partial \theta_1 } & \frac{ \partial y }{ \partial \theta_2 } \end{bmatrix} $$
を算出することで求めることが出来ます。
ヤコビ行列の算出
では、実際に2リンクモデルについて順運動学の式からヤコビ行列を求めていきたいと思います。
まず初めに、ロボットのx軸についての偏微分を考えます。
x軸の位置についての順運動学の式について、根元の関節の変位θ1について偏微分すると
$$ \begin{eqnarray} \frac{ \partial x }{ \partial \theta_1 } &=& \frac{ \partial }{ \partial \theta_1 } \left\{ L_1 \cos \left( \theta_1 \right) + L_2 \cos \left( \theta_1 + \theta_2 \right) \right\} \\ &=& – L_1 \sin \left( \theta_1 \right) – L_2 \sin \left( \theta_1 + \theta_2 \right) \end{eqnarray} $$
となります。
そして、2つ目の関節の変位θ2について偏微分を行うと
$$ \begin{eqnarray} \frac{ \partial x }{ \partial \theta_2 } &=& \frac{ \partial }{ \partial \theta_2 } \left\{ L_1 \cos \left( \theta_1 \right) + L_2 \cos \left( \theta_1 + \theta_2 \right) \right\} \\ &=& – L_2 \sin \left( \theta_1 + \theta_2 \right) \end{eqnarray} $$
と求めることが出来ます。
同様に、y軸ついての順運動学の式に対して、各関節の変位θ1とθ2について偏微分を行うと
$$ \begin{eqnarray} \frac{ \partial y }{ \partial \theta_1 } &=& \frac{ \partial }{ \partial \theta_1 } \left\{ L_1 \sin \left( \theta_1 \right) + L_2 \sin \left( \theta_1 + \theta_2 \right) \right\} \\ &=& L_1 \cos \left( \theta_1 \right) + L_2 \cos \left( \theta_1 + \theta_2 \right) \\ \frac{ \partial y }{ \partial \theta_2 } &=& \frac{ \partial }{ \partial \theta_2 } \left\{ L_1 \sin \left( \theta_1 \right) + L_2 \sin \left( \theta_1 + \theta_2 \right) \right\} \\ &=& L_2 \cos \left( \theta_1 + \theta_2 \right) \end{eqnarray} $$
のように表すことが出来ます。
これより、2リンクモデルのヤコビ行列は求めた偏微分の式を代入して
$$ \begin{eqnarray} \boldsymbol{ J } &=& \begin{bmatrix} \frac{ \partial x }{ \partial \theta_1 } & \frac{ \partial x }{ \partial \theta_2 } \\ \frac{ \partial y }{ \partial \theta_1 } & \frac{ \partial y }{ \partial \theta_2 } \end{bmatrix} \\ &=& \begin{bmatrix} – L_1 \sin \left( \theta_1 \right) – L_2 \sin \left( \theta_1 + \theta_2 \right) & – L_2 \sin \left( \theta_1 + \theta_2 \right) \\ L_1 \cos \left( \theta_1 \right) + L_2 \cos \left( \theta_1 + \theta_2 \right) & L_2 \cos \left( \theta_1 + \theta_2 \right) \end{bmatrix} \end{eqnarray}$$
と算出することが出来ました。
まとめ
今回の記事では、2リンクモデルのヤコビ行列を算出する方法について説明しました。
このように算出したヤコビ行列を用いることで、ロボット関節の微小変位の変化(速度)による手先の微小変位の変化(速度)を求めることが出来ます。