LoginSignup
0
0

【図解】ロボットアームの動作計画【概要】

Posted at

こちらの記事は,ロボティクスの辞書的な記事(にしたい記事)のコンテンツです.

お疲れ様です。秋並です。

この記事では「ロボットアームの動作計画」について解説します。

動作計画とは

ロボットアームの動作計画 (motion planning) とは

  • 障害物と衝突しないような「初期姿勢」から「目標姿勢」に至る動作を生成すること

になります。1

image.png

動作計画の解法

動作計画には、以下のような幾つかの解法があります。

各解法については、説明が長くなるのでそれぞれ別の記事で説明します。

  • タスク空間(task space) における動作計画:「タスク空間における動作計画」では、タスク空間上で「初期手先位置$\vec{P}_{\mathrm{start}}$」と「目標手先位置$\vec{P}_{\mathrm{goal}}$」を結ぶ軌道を求める
  • コンフィギュレーション空間(Configuration space) を用いた動作計画:コンフィギュレーション空間上で「初期関節角度$\vec{Q}_{\mathrm{start}}$」と「目標関節角度$\vec{Q}_{\mathrm{goal}}$」を結ぶ軌道を求める
  • 深層学習による動作計画

各手法のメリット·デメリット

各手法のメリット·デメリットは以下のようになります。

深層学習による動作計画については様々な手法があり、単純に比較できないので割愛します

タスク空間における動作計画

  • メリット
    • タスク空間における軌道を求めるので、人間が任意の手先軌道を指定することが可能(動作計画法を用いることで、自動的に軌道を求めることも可能)
  • デメリット
    • 逆運動学を何度も解く必要がある(手先軌道の長さ分)

コンフィギュレーション空間上を用いた動作計画

  • メリット
    • コンフィギュレーション空間上で軌道を求めるため、逆運動学を計算する回数が少なくて済む(「初期関節角度$\vec{Q}_{\mathrm{start}}$」と「目標角度$\vec{Q}_{\mathrm{goal}}$」の2回だけでよい)
  • デメリット
    • コンフィギュレーション空間上で軌道を求めるため、タスク空間においてどのような手先軌道になるか、実際に動かしてみないと分からない

「タスク空間における動作計画」と「コンフィギュレーション空間を用いた動作計画」を比較すると下動画のようになります。

Untitled.gif.gif


どちらの手法が良いかは一概には言えませんが、個人的なイメージとしては以下のような使い分けになるかなと思っています。

  • タスク空間における動作計画:任意の軌道を描くように手先位置を制御したい時
    • 例:ペンを持って絵を描く
  • コンフュギュレーション空間を用いた動作計画:単に、障害物にぶつからないように「初期手先位置$\vec{P}]_{\mathrm{start}}$」から「目標手先位置$\vec{P}_{\mathrm{goal}}$」まで移動させたい時
    • 例:A地点からB地点までぶつからないように物を運びたい

ちなみに、ROSで採用されているロボットアームの動作計画用フレームワークである「MoveIt!」では「コンフィギュレーション空間を用いた動作計画」が採用されています。

最後に

今回は、ロボットアームの動作計画の概要について説明しました。
次回は、「タスク空間における動作計画」の具体的な手順について解説します。

この記事が少しでも皆さんのお役に立てれば幸いです。

  1. 「動作計画」という言葉は「動作を計画する」という割と大雑把な単語なので、書籍や論文によっては意味合いが若干異なることがあります。今回紹介している「動作計画」の定義は一般的ではあると思いますが、あくまでこの記事内での定義であるということにご注意ください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0