articles:robot_frame

差分

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

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
articles:robot_frame [2021/06/07 17:05] Takashi Suehiroarticles:robot_frame [2021/06/29 21:28] (現在) – [座標系の導入] Takashi Suehiro
行 7: 行 7:
 しかし,このロボットの動作や作業環境を「座標系」で表現するということが しかし,このロボットの動作や作業環境を「座標系」で表現するということが
 ロボットの初学者にはなかなか浸透しない. ロボットの初学者にはなかなか浸透しない.
-一回きりや繰り返し動作なら座標系なしでも良いが,+一回きりや単純な繰り返し動作なら座標系なしでも良いが,
 いろいろ条件を変えて実験したり,カメラからの情報で動作させたり, いろいろ条件を変えて実験したり,カメラからの情報で動作させたり,
 コンピュータで表示したりシミュレーションしたり, コンピュータで表示したりシミュレーションしたり,
行 13: 行 13:
 座標系を使い慣れていないとなかなか不便なことになる. 座標系を使い慣れていないとなかなか不便なことになる.
  
 +またロボットアームの順運動学,逆運動学の計算,ハンドアイキャリブレーション,
 +RGB-Dカメラを用いた物体の位置計測にも座標系は重要な役割を果たしている.
 +
 +
 +
 +===== ロボットの動作の表現 =====
  
 ロボットの動作をその関節パラメタ(関節角度,角速度など)で表現する方法は簡便であり ロボットの動作をその関節パラメタ(関節角度,角速度など)で表現する方法は簡便であり
行 26: 行 32:
 複数の連続する動作による作業全体を通して学習することはまだできていない. 複数の連続する動作による作業全体を通して学習することはまだできていない.
  
-===== ロボットの作業 ===== +table上のplace_aにあるboxをplace_bに動かすという単純な作業を例に考えてみる(図1)
- +
-table上のplace_aにあるboxをplace_bに動かすという単純な作業を例に考えてみる.+
  
 [{{ articles:robot_frame_01.png?300|図1 ロボットの作業の例}}] [{{ articles:robot_frame_01.png?300|図1 ロボットの作業の例}}]
行 41: 行 45:
 そもそも「boxがplace_aにある」とはどういうことなのかすら良く分からない そもそも「boxがplace_aにある」とはどういうことなのかすら良く分からない
 ((たとえば具体的にはコンピュータ上でどう表現されることなのかということ)). ((たとえば具体的にはコンピュータ上でどう表現されることなのかということ)).
 +
 +===== 座標系の導入 =====
 +
 +一般的に空間中の位置を表現するには座標値を用いることが多い.
 +しかし,ロボットが行う作業においては位置だけでなくその姿勢も問題になる.
 +
 +[{{ articles:robot_frame_02.png?300|図2 座標系の導入}}]
 +
 +物体の位置だけでなく姿勢も表現するには,物体に固定された座標系を考え
 +その座標系の位置と姿勢で表現するのが一般的なやり方となる(図2).
 +
 +ロボットの動作記述に座標系の概念を導入したのは
 +スタンフォード大学人工知能研究所で開発されたALというロボット用言語
 +((S. Mujitaba, R. Goldman:"AL USER'S MANUAL", Stanford AI Lab. Memo, AIM-323,(1979) ))
 +であった.ALではこのような座標系を"FRAME"と呼んでいて
 +((
 +私は,このframeという呼び方はロボット特有のものかと思っていたがそうではないようだ. \\
 +
 +[[https://ja.wikipedia.org/wiki/%E5%9B%BD%E9%9A%9B%E5%A4%A9%E6%96%87%E5%9F%BA%E6%BA%96%E5%BA%A7%E6%A8%99%E7%B3%BB
 +|ウィキペディアの「国際天文基準座標系」]]の記述では,
 +  英語においては、座標系を規定する概念や考え方を"Reference System"
 +  それを実現した座標系の実体を"Reference Frame"と呼び、概念と実体を区別している[1]
 +とある. \\
 +
 +また[[https://kotobank.jp/word/%E5%9F%BA%E6%BA%96%E7%B3%BB-5047|ブリタニカ国際大百科事典]]にも
 +「基準系(frame of reference)」という項目がある. \\
 +
 +frameの用語は古くから使われていたようである.
 +))
 +ロボットの動作だけでなく,その環境やロボットの操作による環境の変化を統一的に管理できるようになっている.
 +このようなロボットの動作記述における座標系の導入はその後のロボットの作業プログラミングに大きな影響を与えた.
 +
 +たとえばboxの底面中心に座標系を設定/固定してtable上のしかるべき位置・姿勢に
 +place_aを設定すれば「boxがplace_aにある」というのは,この二つの座標系が
 +一致した状態であるということになる.
 +
 +ロボットがboxを掴んで移動させる場合には,関節角度ではなく
 +handに設定した座標系がbox座標系に対してしかるべき位置・姿勢関係に
 +なるようにして把持し,box座方形がplace_bに一致するように
 +動かすという形で記述する.
 +
 +またALでは座標系の親子関係を管理しているので,boxがhandで掴まれたという
 +情報を与えてやると,handではなくboxの位置・姿勢を直接ロボットへの
 +指令として与えることができるようになっていた.
 +
 +このように座標系を用いて記述することによって,ロボットのベース位置や
 +ロボットの種類が変化しても,ロボットの動作を計算により簡単に変更できるし,
 +カメラなどのセンサ情報を基に動作させることも容易になる.
 +
 +===== 座標系がいっぱい! =====
 +
 +図2の座標系の関係やそのおよその決まり方を図3に示す.$T$は座標系の関係を[[articles:frame#同次変換行列|同次変換行列]]で
 +表したものである.
 +[{{ articles:robot_frame_03.png?500|図3 座標系の関係と決まり方}}]
 +このようにロボットの働く環境やロボットの動作を座標系および座標系の連鎖を用いて表すのは
 +何のためかといえば,
 +
 +  * ロボットが働く環境を統一的に表現する
 +  * カメラや他のセンサと連携させる
 +  * ロボットが行う作業をロボットの構造によらずに記述する
 +  * 局所的な表現と全体的な表現を統一的につなげる(座標系の連鎖)
 +ということになる.
 +
 +このとき問題になるのが,
 +  * 座標系をどう表現するか
 +  * 座標系間の関係をどう表現するか
 +  * 位置・姿勢データは,どの座標系で表現されたものか
 +  * ある座標系での表現を他の座標系での表現に変換するにはどうするか
 +であり,これらについていろいろと説明をしていく.
 +
 +最終的には,ロボットの動作・作業に座標系をどのように使うかということの理解の助けになればと考えている.
 +
 +
 +
 +
 +
 +
 +
  
  
-英語においては、座標系を規定する概念や考え方を"Reference System"、それを実現した座標系の実体を"Reference Frame"と呼び、概念と実体を区別している[1] 
-https://ja.wikipedia.org/wiki/%E5%9B%BD%E9%9A%9B%E5%A4%A9%E6%96%87%E5%9F%BA%E6%BA%96%E5%BA%A7%E6%A8%99%E7%B3%BB 
  
-http://www.nict.go.jp/publication/kiho/45/001-002/Kiho_Vol45_SI_No001-002_pp003-018.pdf 
  
-https://kotobank.jp/word/%E5%9F%BA%E6%BA%96%E7%B3%BB-50473 
-ブリタニカ frame of reference 
  
  
-===== 座標系の表現 ===== 
  
  
-===== 参考文献 ===== 
  
-S. Mujitaba, R. Goldman:"AL USER'S MANUAL", Stanford AI Lab. Memo, AIM-323,(1979) 
  
  • articles/robot_frame.1623053100.txt.gz
  • 最終更新: 2021/06/07 17:05
  • by Takashi Suehiro