お疲れ様です。秋並です。
この記事では「ロボットアームの動作計画」について解説します。
動作計画とは
ロボットアームの動作計画 (motion planning) とは
- 障害物と衝突しないような「初期姿勢」から「目標姿勢」に至る動作を生成すること
になります。
動作計画の解法
動作計画には、以下のような幾つかの解法があります。
各解法については、説明が長くなるのでそれぞれ別の記事で説明します。
- タスク空間(task space) における動作計画:「タスク空間における動作計画」では、タスク空間上で「初期手先位置」と「目標手先位置」を結ぶ軌道を求める
- コンフィギュレーション空間(Configuration space) を用いた動作計画:コンフィギュレーション空間上で「初期関節角度」と「目標関節角度」を結ぶ軌道を求める
- 深層学習による動作計画
各手法のメリット·デメリット
各手法のメリット·デメリットは以下のようになります。
深層学習による動作計画については様々な手法があり、単純に比較できないので割愛します
タスク空間における動作計画
- メリット
- タスク空間における軌道を求めるので、人間が任意の手先軌道を指定することが可能(動作計画法を用いることで、自動的に軌道を求めることも可能)
- デメリット
- 逆運動学を何度も解く必要がある(手先軌道の長さ分)
コンフィギュレーション空間上を用いた動作計画
- メリット
- コンフィギュレーション空間上で軌道を求めるため、逆運動学を計算する回数が少なくて済む(「初期関節角度」と「目標角度」の2回だけでよい)
- デメリット
- コンフィギュレーション空間上で軌道を求めるため、タスク空間においてどのような手先軌道になるか、実際に動かしてみないと分からない
「タスク空間における動作計画」と「コンフィギュレーション空間を用いた動作計画」を比較すると下動画のようになります。
どちらの手法が良いかは一概には言えませんが、個人的なイメージとしては以下のような使い分けになるかなと思っています。
- タスク空間における動作計画:任意の軌道を描くように手先位置を制御したい時
- 例:ペンを持って絵を描く
- コンフュギュレーション空間を用いた動作計画:単に、障害物にぶつからないように「初期手先位置」から「目標手先位置」まで移動させたい時
- 例:A地点からB地点までぶつからないように物を運びたい
ちなみに、ROSで採用されているロボットアームの動作計画用フレームワークである「MoveIt!」では「コンフィギュレーション空間を用いた動作計画」が採用されています。
最後に
今回は、ロボットアームの動作計画の概要について説明しました。
ロボティクスの辞書 記事一覧
ロボットアーム関連
移動ロボット関連
記事タイトル |
---|
衝突判定
画像処理
音声処理
機械学習
センサ
Robot Operating system(ROS)