ロボット工学

ロボット工学の基礎 順運動学と逆運動学を理解する

ロボット工学を学ぶうえで必要な基本、

『順運動学』と『逆運動学』について解説してきます。

 

運動学の定義

運動学とは、ロボットの「関節の角度や長さ」と「位置や姿勢」の関係を数式で表したものです。

ロボットを好きなように制御する際に、この運動学が重要になります。

 

運動学には下記の2種類があります。

  • 順運動学(Forward Kinematics): 関節の変位(回転・直動)からロボットの位置や姿勢を求める。
  • 逆運動学(Inverse Kinematics): ロボットの位置・姿勢から関節の変位を求める。

 

このように、順運動学と逆運動学は対の関係になってます。

 

今回はとてもシンプルなモデル(回転関節と直動関節が各1つのロボットアーム)を用いて、実際に順運動学と逆運動学を計算していきます。

 

順運動学を算出してみよう

このシンプルなモデルの順運動学を求めていきます。

 

順運動学を求めるということは、ロボットの関節の値を用いて、ロボットの位置姿勢を数式で表すことです。

つまり、Lθを使ってxyを表します。

 

ロボットのリンク(青色の部分)の長さがLで角度(緑色の部分)がθの場合、ロボットのX軸、Y軸それぞれの値は、三角関数を使って求められます。

$$ x = L \cos \theta $$

$$ y = L \sin \theta $$

 

この二つの式が今回のモデルの順運動学を表しています。

 

逆運動学を算出してみよう

つぎにこのモデルの逆運動学を求めていきます。

 

逆運動学は、順運動学の場合とは逆に、ロボットの位置の値を用いて、ロボットの関節の値を数式で表すことです。

つまり、xyを使ってLθを表します。

 

xyが分かっているとき、リンクの長さLは三平方の定理(黄色の三角形に注目)を用いて表すことが出来ます。

$$ L = \sqrt{x^2 + y^2} $$

 

関節の角度θとロボットの位置xy三角関数を用いて関係を表すことが出来ます。

$$ \tan \theta = (y/x) $$

 

この式をθについて解くと、θの値をxyを使って表すことが出来ました。

$$ \theta = \arctan{(y/x)} $$

 

このように、シンプルなモデルの逆行列は、モデルを表した図から算出することが出来ます。

 

まとめ

今回は順運動学と逆運動学についての基本を伝えるため、とてもシンプルなモデルを取り扱いました。

ただ基本的な考え方は複雑なモデルでも同じです。

(当然、計算式はかなり複雑になりますが…)

 

次回は、より複雑な構造のロボットの場合を計算していきたいと思います。

今回のモデルよりも構造が少し複雑になるので、計算式も少し複雑になるかと思います。

2リンクモデルの運動学を求めてみよう!簡単に順運動学の式を算出する方法 ロボット工学を学び、ロボットや機械を制御する際に、順運動学や逆運動学を理解することはとても重要です。 以前の記事で...