articles:note_on_ik

文書の過去の版を表示しています。


逆運動学を用いた動作の注意点

動作の目標がハンドなどがとるべき座標系(位置・姿勢)として与えられた場合, 一般には逆運動学計算で関節パラメタ(関節角度)を求めて動作させることが多い 1)

その場合,以下の点に注意する必要がある.

  1. 複数損愛する逆運動学解のどれを選択するか
  2. 始点と終点を関節角で補間してしまうと中間点が想定と異なることがある
  3. 関節角の可動範囲,制限を考慮して逆運動学を選択する必要がある

これらについて一つずつ検討する.

簡単のため平面2関節のアームを考えてみる.

たとえば図1のようにロボットの正面 2) 左側にあるA地点では点線より実線の解を採用したくなるかもしれない 3). そのようにした場合逆に正面右側にあるB地点では対称性を考えて実線の解を採用するのは自然なことである.

しかし,その選択に基づいてA地点からB地点への連続した動作を行った場合, 図2のようにアームは一旦真っ直ぐに伸びた特異姿勢を通過することになる.

これに対してB地点での買い手して点線のものを採用した場合には図3のように特異姿勢を通過しない比較的素直な動作となる.

図2と図3の違いはあまり大きくないようにも見えるが,図4のように始点と終点が近い場合はより際立つことになる.

図1 逆運動学解の選択
図2 特異姿勢を通過する動作
図3 特異姿勢を通過する動作
図4 始点と終点が近い場合

これれは次節で述べるように始点から終点への軌道を分割してのぞみの軌道を生成しようとした場合にはとりわけ大きな問題となる.

解を正しく選択すればこの問題を避けることは可能であるが, 複数ある解のどれとどれを採用すればよいのかその選択は簡単ではない.

たとえば3自由度アームの位置決めでも4通りの解があり,6自由度アームで位置・姿勢を制御する場合には8通りの解がある 4).

図5 軌道の分割

一般に逆運動学計算で始点と終点の関節パラメタを求めて動作させても, 関節パラメタで補間して動作させるとその軌道は図5のように必ずしも直線にはならない.

直線に限らず,手先の軌道を希望通りのものにしようとするならば 軌道を十分に細かく分割してそれぞれの分割点での逆運動学解を求め, それをつないでいく必要がある.

このような場合には特に前節で述べた解の選択が重要となる. 途中で解の選択を誤れば手先の軌道は前節の図4のようにその瞬間に大きく異なる軌道を通過することになる.

ここで述べたのぞみの軌道の生成や前述解の選択の問題は,始点を初期解とした逆運動学の数値解法分解運動制御を用いることで比較的素直に解決することができる.

これは逐次的な解法が特異姿勢を乗り越えることが出来ないという欠点を逆にうまく利用していることになっている.

アームの可動域の問題は前述の2つとはまた異なる視点の問題となる. 一般に逆運動学解を求めるときには関節の可動域を考慮しないことが多い. もちろん実際問題としては解を求めた後に可動域内かどうかをチェックする. しかし,始点と終点がともに可動域内にあったとしても,軌道の途中が 可動域内かどうかは保証がない.

例として3自由度アームの逆運動学で扱った アームをを考えてみよう.図6,7は,それを上から見たものである. 逆運動学解を求めるときは可動範囲を考慮していなかったが, たとえば図6のようにでアームの第一回転軸の可動範囲が ±170°,すなわち後ろ側20°の範囲は通過できないとする 5). このような制約は実際のアームとしてはありふれたものである.

しかしnote_on_ikでやった3自由度アームの場合は,根本の回転軸を前に向けたまま後ろに アームを回すことができる

図6 3自由度アームの可動域(上から見たところ)
図7 逆運動学解の選択による別軌道

1)
分解運動速度制御などによって座標系の位置・姿勢を直接制御すると逆運動学計算は不要になる. 分解運動制御は制御の過程がそのままヤコビ行列を用いた逆運動学の数値解法となっている.
2)
第一関節がゼロ度が正面と考えている
3)
人間の腕のイメージに引きずられているがロボットにとって「良い」かどうかは分からない
4)
特異姿勢を通過しない同じ領域の解に同一ラベルを付けるのは良いアイデアではあるが そのラベルがどの場面で採用すると自然な姿勢になるのかを判断するのも簡単ではない.
5)
±180°としても真後ろを通過できないので同じことではあるが わかりやすいように可動範囲を狭めている
  • articles/note_on_ik.1635079886.txt.gz
  • 最終更新: 2021/10/24 21:51
  • by Takashi Suehiro