JP2009274180A - ロボット動作計画方法及び装置 - Google Patents
ロボット動作計画方法及び装置 Download PDFInfo
- Publication number
- JP2009274180A JP2009274180A JP2008128626A JP2008128626A JP2009274180A JP 2009274180 A JP2009274180 A JP 2009274180A JP 2008128626 A JP2008128626 A JP 2008128626A JP 2008128626 A JP2008128626 A JP 2008128626A JP 2009274180 A JP2009274180 A JP 2009274180A
- Authority
- JP
- Japan
- Prior art keywords
- robot
- axis
- speed
- freedom
- posture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】CP制御を行うロボットに関する動作計画方法及び同方法を用いる装置において、冗長性を利用できる範囲内での姿勢変化を解としてメタヒューリスティックス手法を適用して、作業経路の全ての点において障害物を回避できる動作計画を自動作成する。
【解決手段】本発明に係るロボット動作計画方法は、ロボットの自由度が作業に必要な自由度より大きい場合に、エンドエフェクタがワークに設定された作業経路上の複数目標点間を順次補間して動作するためのロボット各軸の速度を分解速度制御法を用いて導出する方法であって、一つの目標点からその次の目標点への動作にて、上記各軸速度の冗長自由度成分が、ロボット上の任意の位置に設定された座標系での上記エンドエフェクタの速度ベクトルを満たす各軸速度成分を含むことを特徴とする。
【選択図】図1
【解決手段】本発明に係るロボット動作計画方法は、ロボットの自由度が作業に必要な自由度より大きい場合に、エンドエフェクタがワークに設定された作業経路上の複数目標点間を順次補間して動作するためのロボット各軸の速度を分解速度制御法を用いて導出する方法であって、一つの目標点からその次の目標点への動作にて、上記各軸速度の冗長自由度成分が、ロボット上の任意の位置に設定された座標系での上記エンドエフェクタの速度ベクトルを満たす各軸速度成分を含むことを特徴とする。
【選択図】図1
Description
本発明は、障害物を回避するロボット動作計画方法、及び同方法を用いる装置に関する。
ロボット動作における障害物回避の技術として、図6に示すように、PTP制御に係るものが従来開発されてきた。このPTP制御では、ロボットの移動の開始点と終了点が定められ、その間のロボットの姿勢は特に問題にされずに障害物20の回避(干渉の回避)に注目される。例えば、特許文献1では、移動の開始点、終了点、および、それらの中間点であるサブゴール点24を設定し、それらの点を滑らかに接続するような方法を開示している。このような方法では、作業のアプローチ/デパート動作における干渉は回避できるが、作業経路における干渉の回避は実施できないことがある。
そのようなロボットの作業経路においても障害物20を回避できる技術として、図7に示すようなCP制御が挙げられる。CP制御における従来技術では、作業経路上に複数のサンプリング点が設けられ、それらサンプリング点の各々において、ロボットアームと障害物との間の距離が算出され、その距離が一定値以内となる(即ち、接近する)と、前者が後者からまっすぐ遠ざかるようにロボットアームの動作が制御される。即ち、最急降下法によりロボットの冗長性を活用できる範囲内でロボットアームを引っ張る、というCP制御に係る技術が開発されている。
しかし、上記技術に係る装置では、作業経路の途中において障害物20を回避できなくなるという事象が発生することがある。即ち、所謂ローカルミニマムに陥るという現象が発生することがある。
特開2000−020117公報
上記のCP制御の下で、ロボットがワーク8に対して作業を行うとき、作業経路にはワーク8に対して位置・向きが固定である目標点(教示点)(P1、P2、P3、P4・・)が設定される。作業の開始から終了までの教示点間を夫々直線補完で動作させる場合、作業上満たすべき制約を満足した上で全体の機構に冗長性が残されていれば、これを活用できる範囲内で全体の姿勢を任意に変化させることができる。この際、姿勢変化の与え方次第で、障害物との干渉を回避することが可能になる。
本発明では、CP制御を行うロボットに関する動作計画方法及び同方法を用いる装置において、冗長性を利用できる範囲内での姿勢変化を解として組合せ最適化手法(メタヒューリスティックス手法)を適用して、作業経路の全ての点において障害物を回避できる動作計画を自動作成することを目的とする。
作業始端から終端において、この間の冗長自由度成分の速度ベクトルを変化させて動作を試行し、動作全体を通して評価して障害物回避を実現する。このとき、ランダムに探索する場合では非常に多大な時間を要する。このために組合せ最適化手法を利用し、効率的に探索する。
まず、本発明に係る請求項1に記載のロボット動作計画方法は、
ロボットの自由度が作業に必要な自由度より大きい場合に、エンドエフェクタがワークに設定された作業経路上の複数目標点(点P1〜PN)間を順次補間して動作するためのロボット各軸の速度を分解速度制御法を用いて導出する方法であって、
一つの目標点(Pi)からその次の目標点(Pi+1)への動作にて、上記各軸速度の冗長自由度成分が、ロボット上の任意の位置に設定された座標系での上記エンドエフェクタの速度ベクトルを満たす各軸速度成分を含むことを特徴とする。
ロボットの自由度が作業に必要な自由度より大きい場合に、エンドエフェクタがワークに設定された作業経路上の複数目標点(点P1〜PN)間を順次補間して動作するためのロボット各軸の速度を分解速度制御法を用いて導出する方法であって、
一つの目標点(Pi)からその次の目標点(Pi+1)への動作にて、上記各軸速度の冗長自由度成分が、ロボット上の任意の位置に設定された座標系での上記エンドエフェクタの速度ベクトルを満たす各軸速度成分を含むことを特徴とする。
本発明に係る請求項2に記載のロボット動作計画方法は、
上記速度ベクトルに基づく探索ベクトルを解として組合せ最適化手法を適用して、上記速度ベクトルを算出することを特徴とする請求項1に記載のロボット動作計画方法である。
上記速度ベクトルに基づく探索ベクトルを解として組合せ最適化手法を適用して、上記速度ベクトルを算出することを特徴とする請求項1に記載のロボット動作計画方法である。
本発明に係る請求項3に記載のロボット動作計画方法は、
上記各軸速度の上記冗長自由度成分が、更に、最急勾配方向に姿勢変化を作用させる誘導関数で導出する変化量と、外部から設定される重み定数との積を含むことを特徴とする請求項2に記載のロボット動作計画方法である。
上記各軸速度の上記冗長自由度成分が、更に、最急勾配方向に姿勢変化を作用させる誘導関数で導出する変化量と、外部から設定される重み定数との積を含むことを特徴とする請求項2に記載のロボット動作計画方法である。
本発明に係る請求項4に記載のロボット動作計画方法は、
一つ又は複数の評価関数、及び各々の評価関数に対する重み定数を設定し、
上記分解速度制御法を用いて上記各軸速度を導出する際に決定される上記ロボット各軸に関する最小動作を示す最小動作量と、上記各軸速度の上記冗長自由度成分とから、ロボット各軸の姿勢を導出した後、
導出された姿勢、設定された評価関数、及び各々の評価関数に対する重み定数に基づいて、解の評価値を算出し、
上記評価値に従って、更に組合せ最適化手法による解の更新を行うか否かを決定することを特徴とする請求項3に記載のロボット動作計画方法である。
一つ又は複数の評価関数、及び各々の評価関数に対する重み定数を設定し、
上記分解速度制御法を用いて上記各軸速度を導出する際に決定される上記ロボット各軸に関する最小動作を示す最小動作量と、上記各軸速度の上記冗長自由度成分とから、ロボット各軸の姿勢を導出した後、
導出された姿勢、設定された評価関数、及び各々の評価関数に対する重み定数に基づいて、解の評価値を算出し、
上記評価値に従って、更に組合せ最適化手法による解の更新を行うか否かを決定することを特徴とする請求項3に記載のロボット動作計画方法である。
本発明に係る請求項5に記載のロボット動作計画方法は、
上記評価関数が、周囲障害物との干渉回数、ロボット姿勢の良さを示す可操作度、及び、ロボット関節動作限度からの距離のうちの、少なくとも一つを含むことを特徴とする請求項4に記載のロボット動作計画方法である。
上記評価関数が、周囲障害物との干渉回数、ロボット姿勢の良さを示す可操作度、及び、ロボット関節動作限度からの距離のうちの、少なくとも一つを含むことを特徴とする請求項4に記載のロボット動作計画方法である。
本発明に係る請求項6に記載のロボット動作計画装置は、
ロボットの自由度が作業に必要な自由度より大きい場合に、エンドエフェクタがワークに設定された作業経路上の複数目標点(点P1〜PN)間を順次補間して動作するためのロボット各軸の速度を分解速度制御法を用いて導出する装置であって、
ロボット上の任意の位置に設定された座標系での上記エンドエフェクタの速度ベクトルを満たすロボット各軸の各軸速度成分を算出する第1の演算部と、
作業経路上の一つの目標点(Pi)からその次の目標点(Pi+1)への動作における上記各軸速度の冗長自由度成分が、上記第1の演算部の算出による上記各軸速度成分を少なくとも含むように、上記各軸速度の上記冗長自由度成分を算出する第2の演算部と
を含むことを特徴とする。
ロボットの自由度が作業に必要な自由度より大きい場合に、エンドエフェクタがワークに設定された作業経路上の複数目標点(点P1〜PN)間を順次補間して動作するためのロボット各軸の速度を分解速度制御法を用いて導出する装置であって、
ロボット上の任意の位置に設定された座標系での上記エンドエフェクタの速度ベクトルを満たすロボット各軸の各軸速度成分を算出する第1の演算部と、
作業経路上の一つの目標点(Pi)からその次の目標点(Pi+1)への動作における上記各軸速度の冗長自由度成分が、上記第1の演算部の算出による上記各軸速度成分を少なくとも含むように、上記各軸速度の上記冗長自由度成分を算出する第2の演算部と
を含むことを特徴とする。
本発明に係る請求項7に記載のロボット動作計画装置は、
上記速度ベクトルに基づく探索ベクトルを算出する第3の演算部と、
上記探索ベクトルを解として組合せ最適化手法を適用して、上記速度ベクトルを算出する第4の演算部と
を更に含むことを特徴とする請求項6に記載のロボット動作計画装置である。
上記速度ベクトルに基づく探索ベクトルを算出する第3の演算部と、
上記探索ベクトルを解として組合せ最適化手法を適用して、上記速度ベクトルを算出する第4の演算部と
を更に含むことを特徴とする請求項6に記載のロボット動作計画装置である。
本発明に係る請求項8に記載のロボット動作計画装置は、
上記第2の演算部が、
最急勾配方向に姿勢変化を作用させる誘導関数で導出する変化量と、外部から設定される重み定数との積を、上記各軸速度の上記冗長自由度成分が更に含むように上記冗長自由度成分を算出することを特徴とする請求項7に記載のロボット動作計画装置である。
上記第2の演算部が、
最急勾配方向に姿勢変化を作用させる誘導関数で導出する変化量と、外部から設定される重み定数との積を、上記各軸速度の上記冗長自由度成分が更に含むように上記冗長自由度成分を算出することを特徴とする請求項7に記載のロボット動作計画装置である。
本発明に係る請求項9に記載のロボット動作計画装置は、
一つ又は複数の評価関数及び各々の評価関数に対する重み定数が設定されるデータ格納部と、
上記分解速度制御法を用いて上記各軸速度を導出する際に決定される上記ロボット各軸に関する最小動作を示す最小動作量と、上記第2の演算部により算出された上記各軸速度の上記冗長自由度成分とから、ロボット各軸姿勢量を導出する第5の演算部と、
上記第5の演算部による上記ロボット各軸姿勢量の導出後、導出された上記姿勢量、設定された上記評価関数、及び各々の評価関数に対する上記重み定数に基づいて、解の評価値を算出する第6の演算部と、
上記評価値に従って、更に組合せ最適化手法による解の更新を行うか否かを決定する第7の演算部と
を、更に含むことを特徴とする請求項8に記載のロボット動作計画装置である。
一つ又は複数の評価関数及び各々の評価関数に対する重み定数が設定されるデータ格納部と、
上記分解速度制御法を用いて上記各軸速度を導出する際に決定される上記ロボット各軸に関する最小動作を示す最小動作量と、上記第2の演算部により算出された上記各軸速度の上記冗長自由度成分とから、ロボット各軸姿勢量を導出する第5の演算部と、
上記第5の演算部による上記ロボット各軸姿勢量の導出後、導出された上記姿勢量、設定された上記評価関数、及び各々の評価関数に対する上記重み定数に基づいて、解の評価値を算出する第6の演算部と、
上記評価値に従って、更に組合せ最適化手法による解の更新を行うか否かを決定する第7の演算部と
を、更に含むことを特徴とする請求項8に記載のロボット動作計画装置である。
本発明に係る請求項10に記載のロボット動作計画装置は、
上記評価関数が、周囲障害物との干渉回数、ロボット姿勢の良さを示す可操作度、及び、ロボット関節動作限度からの距離のうちの、少なくとも一つを含むことを特徴とする請求項9に記載のロボット動作計画装置である。
上記評価関数が、周囲障害物との干渉回数、ロボット姿勢の良さを示す可操作度、及び、ロボット関節動作限度からの距離のうちの、少なくとも一つを含むことを特徴とする請求項9に記載のロボット動作計画装置である。
本発明を利用することにより、ロボット動作計画にて障害物を回避する動作を自動的に獲得できるため、ユーザによるロボット姿勢の修正などの作業が軽減される。これにより、シミュレータによるオフライン教示時間が短縮される。
また、従来の最急降下法を用いる方法・装置に比べて、本発明では組合せ最適化手法を用いるため、導出された動作(各軸速度成分)を作業の開始から終了まで評価することで、ローカルミニマムに陥ることなく全体最適に近い動作(各軸速度成分)を求めることができる。また、導出された動作(各軸速度成分)の評価に用いる評価関数をユーザが設定するため、ユーザにとって望ましい動作(各軸速度成分)を導出できる枠組みを構築できる。
更に、本発明では探索の対象とするロボット各軸速度の冗長自由度成分を、ロボットの前後方向、横方向、縦方向に関する任意の移動量、及び回転量からなる速度ベクトル(即ち、ロボット上の任意の位置に設定された座標系でのエンドエフェクタの速度ベクトル)を満足する各軸速度成分を含むものとしているが、この各軸速度成分はロボットの形態によらない解表現であるため、どのようなロボットシステムにも適用できる。つまり、ロボット関節変位からロボット先端(エンドエフェクタ)の位置姿勢に関する変換のヤコビ行列さえ求まることができれば、任意の形態のロボットシステムに適用することができる。しかも、3次元空間上での速度ベクトルを解としているため、解の広さが安定的であり、非常に冗長性が高いロボットに対しても安定した計算量で探索を行うことができる。
以下、図面を参照して本発明に係る好適な実施形態を説明する。
[ベクトル表記について]
ベクトルを示す下記[数1]の項(式)を、本文中では夫々、a・、b^と表記する。
ベクトルを示す下記[数1]の項(式)を、本文中では夫々、a・、b^と表記する。
[分解速度制御法]
本発明は、ロボット先端、即ちエンドエフェクタの目標速度を与えて、それを満たすロボット各軸の速度ベクトル(ロボットの動き)を計算する「分解速度制御法」を基礎とするものである。まず、ロボット各軸の速度ベクトルq・と、エンドエフェクタの動き(速度)y・との、両者の関係は数2のようになる。
本発明は、ロボット先端、即ちエンドエフェクタの目標速度を与えて、それを満たすロボット各軸の速度ベクトル(ロボットの動き)を計算する「分解速度制御法」を基礎とするものである。まず、ロボット各軸の速度ベクトルq・と、エンドエフェクタの動き(速度)y・との、両者の関係は数2のようになる。
数2において、『J』はロボット関節角に関するヤコビ行列であり、ある関節(ロボット各軸の一要素)が動いたときのエンドエフェクタの動き(速度)への影響を、全部の関節に関して記したものである。
ここで、分解速度制御法は、「ある作業をさせるときのロボットの動きを自動で求めたい」ときに、上記数2を逆算する。つまり、「ある作業」を作業開始から終了までのエンドエフェクタの速度y・で表現し、それを利用して以下の数3のようにロボット各軸の速度ベクトルを求める。
以下の数3において、ヤコビ行列『J』は非正方行列である(即ち、「ロボット各軸の速度ベクトル」の次数>「エンドエフェクタの速度」の次数、である)ため、周知のように、『J』の逆行列『J−1』ではなく疑似逆行列『J+』が利用されている。この『J+』は、ワークに固定されている「ワーク基準座標系」でのヤコビ行列である。なお、『I』は単位行列である。
以下の数3において、ヤコビ行列『J』は非正方行列である(即ち、「ロボット各軸の速度ベクトル」の次数>「エンドエフェクタの速度」の次数、である)ため、周知のように、『J』の逆行列『J−1』ではなく疑似逆行列『J+』が利用されている。この『J+』は、ワークに固定されている「ワーク基準座標系」でのヤコビ行列である。なお、『I』は単位行列である。
上記数3では、
『「ロボット各軸の速度ベクトル」の次数>「エンドエフェクタの速度」の次数』
であることを前提としているが、このことは、「作業を実現するためのロボット関節が余分に多い」、即ち「冗長である」ということを意味する。つまり、「エンドエフェクタの速度」→「ロボット各軸の速度ベクトル」への写像が1つに限られないということであるから、実際には該写像において無数の候補から一つを選ぶ必要がある。
このような無数の候補の中で、数3の各項目の持つ意味合いは、以下のように(数4)なる。
『「ロボット各軸の速度ベクトル」の次数>「エンドエフェクタの速度」の次数』
であることを前提としているが、このことは、「作業を実現するためのロボット関節が余分に多い」、即ち「冗長である」ということを意味する。つまり、「エンドエフェクタの速度」→「ロボット各軸の速度ベクトル」への写像が1つに限られないということであるから、実際には該写像において無数の候補から一つを選ぶ必要がある。
このような無数の候補の中で、数3の各項目の持つ意味合いは、以下のように(数4)なる。
即ち、上記数4において、上記(1)の項は所定のものとなるが、上記(2)の項の存在により、ロボット各軸の動きは上記(2)の項の傾向(特に、q^部分の傾向)を有することになる。
[ロボット各軸速度の冗長自由度成分q^]
本発明に係る障害物回避ロボット動作計画方法、及び該方法を用いるロボット動作計画装置の基礎となる分解速度制御法では、ロボット各軸速度の冗長自由度成分q^は、以下の数5のように、「ロボットの前後方向、横方向、縦方向に関する任意の移動量、および回転量からなる速度ベクトルを満足する各軸速度成分」(q^1)と、「最急勾配方向に姿勢変化を作用させる誘導関数で導出する変化量」(q^2)とを含むものとしている。
本発明に係る障害物回避ロボット動作計画方法、及び該方法を用いるロボット動作計画装置の基礎となる分解速度制御法では、ロボット各軸速度の冗長自由度成分q^は、以下の数5のように、「ロボットの前後方向、横方向、縦方向に関する任意の移動量、および回転量からなる速度ベクトルを満足する各軸速度成分」(q^1)と、「最急勾配方向に姿勢変化を作用させる誘導関数で導出する変化量」(q^2)とを含むものとしている。
[ロボットの速度ベクトルを満足する各軸速度成分q^1]
まず、q^1の「ロボットの前後方向、横方向、縦方向に関する任意の移動量、および回転量からなる速度ベクトルを満足する各軸速度成分」について、図1を用いて説明する。具体的に、図1(a)に示すようなワークにおける太線で示す1辺(以下、「ワーク対象部位」と言う。)で溶接を行うものとする。また、図1(b)、(c)に示すように、ロボット2は複数の軸を有するものとする。
まず、q^1の「ロボットの前後方向、横方向、縦方向に関する任意の移動量、および回転量からなる速度ベクトルを満足する各軸速度成分」について、図1を用いて説明する。具体的に、図1(a)に示すようなワークにおける太線で示す1辺(以下、「ワーク対象部位」と言う。)で溶接を行うものとする。また、図1(b)、(c)に示すように、ロボット2は複数の軸を有するものとする。
まず、q^1=0であるとする(同時に、後述するq^2も0であるとする)と、図1(b)に示すように、ロボット2のエンドエフェクタ6は単純にワーク対象部位をなぞるに過ぎない。このとき、ロボット各軸の動きは以下の数6で表され、ロボット各軸の動きに関する「最小動作」が得られる。
これに対して、q^1≠0である(後述するq^2は0である)場合を想定する。つまり、図1(c)に示すように、「ロボット前後方向−50、横方向+50、縦方向・回転0の速度ベクトル」を、エンドエフェクタ6が、ワーク8と共に辿るものとする。このとき、エンドエフェクタ6は、ワーク8に追随して、目的の経路であるワーク対象部位をなぞりつつ、前後方向−50、横方向+50に全体として動くような動作を行う。具体的には、ワーク8が図1(c)における右下方向に移動し、エンドエフェクタ6が追従しつつワーク対象部位をなぞるという動作になる。なお、図1では示していないが、ワーク8自体の動作は、ワーク8の姿勢を固定しつつワーク8と共に動くポジショナ10により行われる。このワーク8の姿勢を固定しつつワーク8と共に動くポジショナ10の例は、図2に示されている。
複数の軸4を有する図2(a)に示すロボット2は、ポジショナ10を含む。図2(a)に示すポジショナ10は、ワーク8の姿勢を固定しつつワーク8と共にロボット2の前後方向・横方向(図2(a)に示すx・y方向)に動作する。このポジショナ10及びワーク8の動作に合わせて勿論エンドエフェクタ6がワーク8との相対的位置を保持しつつ動くことができる。図2(b)では、x方向(前後方向)にポジショナ10、ワーク8、及びエンドエフェクタ6が、図2(a)に示す位置からvだけ動いたことを示している。図2に示すロボット2では、エンドエフェクタ6、ポジショナ10、及びワーク8が前後方向・横方向に動くことのみを示しているが、本発明に係るロボット動作は、少なくとも、前後方向、横方向、縦方向に移動し、更にそれら方向に関して回転することを含むことを想定している。
このように、本発明では、ロボット全体を任意に動かすことで、ロボットの肘部などでの干渉を回避するという発想が基礎となる。「ロボットの前後方向、横方向、縦方向に関する任意の移動量、および回転量からなる速度ベクトル」を「v」とおくと、各軸速度成分q^1は以下の数7の式で表される。
上記数7の式において、vは「ロボットの前後方向、横方向、縦方向に関する任意の移動量、および回転量からなる速度ベクトル」であるから、ロボットベース(基準座標系)での速度ベクトルである。従って、『J1 +』は、ロボットの足元にある「ロボットベース基準座標系」でのヤコビ行列となる
「ロボットの前後方向、横方向、縦方向に関する任意の移動量、および回転量からなる速度ベクトル」の具体的数値の決定については、後述する。
「ロボットの前後方向、横方向、縦方向に関する任意の移動量、および回転量からなる速度ベクトル」の具体的数値の決定については、後述する。
上記の説明ではロボットにポジショナが含まれる場合について説明したが、ポジショナが含まれない場合にも当然本発明を適用することができる。更に、上記の説明ではq^1がロボットアームの基部に設定された座標系に関するものとして説明したが、これに限られず、ロボット上の任意の位置に設定された座標系に関するものとして規定されても、本発明の効果を奏することができる。
[最急勾配方向に姿勢変化を作用させる誘導関数で導出する変化量q^2]
次に、q^2の「最急勾配方向に姿勢変化を作用させる誘導関数で導出する変化量」について説明する。q^2は以下の数8の式で表すことができる。
次に、q^2の「最急勾配方向に姿勢変化を作用させる誘導関数で導出する変化量」について説明する。q^2は以下の数8の式で表すことができる。
H(q)は、常に最急勾配方向に姿勢変化を作用させる、各軸qを変数とする誘導関数である。kは外部から設定される定数である。
q^2は、背景技術の欄でも説明したように、最急降下法によりロボットの冗長性を活用できる範囲内でロボット各軸を動作させる(引っ張る)という技術の、中心となる変化量である。つまり、q^2は、作業経路上に複数のサンプリング点を設け、それらサンプリング点の各々においてロボット各軸と障害物との間の距離を算出し、その距離が一定値以内となる(即ち、接近する)と、前者を後者からまっすぐ遠ざけるようにロボット各軸の動作を制御する基礎となる変化量である。
従って、本発明に係る障害物回避ロボット動作計画方法、及び該方法を用いるロボット動作計画装置は、この「q^2」も副次的に利用するものである。「q^2」と「q^1」の利用の手順については後述する。
[障害物回避ロボット動作計画装置]
続いて、本発明の好適な実施形態に係る障害物回避ロボット動作計画装置について説明する。
続いて、本発明の好適な実施形態に係る障害物回避ロボット動作計画装置について説明する。
障害物回避ロボット動作計画装置は、一般的なコンピュータ上に適切なソフトウエアを実装することにより実現される装置である。図3は、本発明の好適な実施形態に係る障害物回避ロボット動作計画装置1の概略構成図である。図3に示す障害物回避ロボット動作計画装置により導出されたNC(Numerical Control;数値制御)データは、導出後、個々のロボットのためのコントローラにロードされる。
障害物回避ロボット動作計画装置は、一般的なコンピュータでよい。但し、以下のような機能を備えている必要がある。
(A)まず、全体のロボット機構をモデルとして計算機上で定義できなければならない。この場合のロボット機構には、ロボット自体、ポジショナ、ワーク、及び周囲物などが含まれる。これらロボット機構のモデルが、実環境と同じように設定できなければならない。更に、ロボットの初期姿勢がデータとして設定され得る必要がある。
(B)次に、特にCP制御における複数の教示点の設定が可能でなければならない。また、誘導関数とその重み定数や、種々の評価関数が設定され得る必要がある。
(C)更に、分解速度制御法を計算する機能が必要である。分解速度制御法の計算時には、同時にロボット動作のシミュレーションが行われることになる。このとき、干渉回数チェックや、可操作度計算が為されることが好ましい。
(D)後述する組合せ最適化手法におけるアルゴリズムを実施する必要がある。
(E)また、結果を保存して出力する機能も必要である。
(A)まず、全体のロボット機構をモデルとして計算機上で定義できなければならない。この場合のロボット機構には、ロボット自体、ポジショナ、ワーク、及び周囲物などが含まれる。これらロボット機構のモデルが、実環境と同じように設定できなければならない。更に、ロボットの初期姿勢がデータとして設定され得る必要がある。
(B)次に、特にCP制御における複数の教示点の設定が可能でなければならない。また、誘導関数とその重み定数や、種々の評価関数が設定され得る必要がある。
(C)更に、分解速度制御法を計算する機能が必要である。分解速度制御法の計算時には、同時にロボット動作のシミュレーションが行われることになる。このとき、干渉回数チェックや、可操作度計算が為されることが好ましい。
(D)後述する組合せ最適化手法におけるアルゴリズムを実施する必要がある。
(E)また、結果を保存して出力する機能も必要である。
従って、図3に示す障害物回避ロボット動作計画装置は、演算部(CPU)52、ディスプレイ等の表示部54、キーボードやマウス等の操作部56、及び、データ格納部58を含み、該データ格納部58は、
・計算機上で定義される全体のロボット機構モデル、
・ロボット初期姿勢データ、
・ロボット機構モデルに定義される教示点データ、
・操作部から設定される誘導関数とその重み定数、
・同じく操作部から設定される評価関数、
・分解速度制御法に係る計算式及び計算機能、
・ロボット動作シミュレーション機能、及び、
・組合せ最適化手法によるアルゴリズム
を格納している。そして、これらモデルやデータが適宜演算部に実装されて、障害物を回避するロボット動作計画が算出される。
・計算機上で定義される全体のロボット機構モデル、
・ロボット初期姿勢データ、
・ロボット機構モデルに定義される教示点データ、
・操作部から設定される誘導関数とその重み定数、
・同じく操作部から設定される評価関数、
・分解速度制御法に係る計算式及び計算機能、
・ロボット動作シミュレーション機能、及び、
・組合せ最適化手法によるアルゴリズム
を格納している。そして、これらモデルやデータが適宜演算部に実装されて、障害物を回避するロボット動作計画が算出される。
[ロボット動作計画の手順]
障害物回避ロボット動作計画装置におけるロボット動作計画の手順を述べる。
障害物回避ロボット動作計画装置におけるロボット動作計画の手順を述べる。
なお、以下では計算のための変数として「検索ベクトル;Am」を導入している。本発明の、特に「ロボットの速度ベクトルを満足する(各軸の)速度成分q^1」は、「ロボット全体を任意に動かして、肘部などでの干渉を回避する」発想を基礎としている。「ロボット全体の任意の動き」が「v」であり、本発明ではこの「v」を後述の組合せ最適化手法で探索する。ところで、一般的に組合せ最適化手法では、探索の効率の都合上、生の数値ではなく多少表現を変えたものを解として利用し記憶することが多い。この多少表現を変えた解(即ち、vの表現を変えたもの)が「Am」(探索ベクトル)である。例えば、「ロボット前後方向+50、横方向−50、縦方向・回転0」の例では、
v=(50,−50,0,0,0,0)
と表記されるが、これに対し、Amは、
Am=(5,−5,0,0,0,0)
と表現されて組合せ最適化手法での計算に利用される。
v=(50,−50,0,0,0,0)
と表記されるが、これに対し、Amは、
Am=(5,−5,0,0,0,0)
と表現されて組合せ最適化手法での計算に利用される。
続いて、図4に示されるフローチャートに従って、コンピュータである障害物回避ロボット動作計画装置の、具体的動作手順を示す。
(ステップS02);まず、コンピュータ上のワーク(モデル)に対して、教示点(P1〜PN)が設定入力される。このとき開始点(P1)から順に、教示点に関して、以下の数9のように、複数の教示点グループ(G1〜GM)への分割が設定入力される。
(ステップS02);まず、コンピュータ上のワーク(モデル)に対して、教示点(P1〜PN)が設定入力される。このとき開始点(P1)から順に、教示点に関して、以下の数9のように、複数の教示点グループ(G1〜GM)への分割が設定入力される。
(ステップS04);上記教示点グループGmごとに「ロボットの前後方向、横方向、縦方向に関する任意の移動量、および回転量からなる速度ベクトル」vを満たす各軸速度成分q^1が想定され、その各軸速度成分q^1の基になる速度ベクトルvに対応する探索ベクトルAmが設定される。つまり、Gmに属する教示点PiからPi+1の各軸の動作を導出する際には、各軸速度の冗長自由度成分の一成分q^1(の基になる速度ベクトルv)に対応する探索ベクトルとしてAmが採用される。設定されるA1〜AMは、組合せ最適化手法で利用される解とされる。なお、一般的に組合せ最適化手法での初期解(最初のAm)はランダムに決定されてもよい。従って、ランダムに決定されることも含めてAmは任意に設定されてよい。
(ステップS06);評価の際に用いられる評価関数及びその重み定数が設定される。ここでの評価関数は、周囲障害物との干渉回数、ロボット姿勢の良さを示す可操作度、又は、ロボット関節動作限度からの距離などを含むが、特に周囲障害物との干渉回数は必ず含まれることが好ましい。
(ステップS08);ロボットの各軸動作導出の際に、常に最急勾配方向に姿勢を変化させるように作用する誘導関数(数8参照)の重み定数「k」が設定される。
(ステップS10);設定された教示点P1〜PNで満たすべき制約、探索ベクトルA1〜AM、設定された誘導関数、及び、設定された初期姿勢を基にして、作業開始から作業終了までのロボット各軸の速度成分を、分解速度制御法により導出する。
(ステップS12);ロボット各軸の速度成分の導出後、ステップS06で設定された評価関数に基づいて、現状の解A1〜AMの評価値を算出する。
(ステップS14);算出された評価値に従い、組合せ最適化手法による解の更新を行うか否かが決定される。
(ステップS16);更新を行う場合には、組合せ最適化手法のアルゴリズムに基づき解A1〜AMが更新され、ステップS10に戻り、ロボット各軸の速度成分の導出(ステップS10)及び解の評価値の算出(ステップS12)を行い、再び算出された評価値に従い組合せ最適化手法による解の更新を更に行うか否かが決定される。
(ステップS18);更新を行わない場合には、そのときのロボット各軸の速度成分が、障害物回避ロボット動作計画装置におけるロボット動作計画のNCデータとなる。
(ステップS16);更新を行う場合には、組合せ最適化手法のアルゴリズムに基づき解A1〜AMが更新され、ステップS10に戻り、ロボット各軸の速度成分の導出(ステップS10)及び解の評価値の算出(ステップS12)を行い、再び算出された評価値に従い組合せ最適化手法による解の更新を更に行うか否かが決定される。
(ステップS18);更新を行わない場合には、そのときのロボット各軸の速度成分が、障害物回避ロボット動作計画装置におけるロボット動作計画のNCデータとなる。
[遺伝的アルゴリズム]
組合せ最適化手法のアルゴリズムについて述べる。本発明に係る障害物回避ロボット動作計画方法では、組合せ最適化手法として遺伝的アルゴリズムを適用することができる。図5は、組合せ最適化手法として遺伝的アルゴリズムを適用した事例を模式的に示す図である。
組合せ最適化手法のアルゴリズムについて述べる。本発明に係る障害物回避ロボット動作計画方法では、組合せ最適化手法として遺伝的アルゴリズムを適用することができる。図5は、組合せ最適化手法として遺伝的アルゴリズムを適用した事例を模式的に示す図である。
まず、初期解として、「解1」が設定される。この「解1」に基づいて(「適用」)、作業開始から作業終了までのロボット各軸の速度成分が分解速度制御法により導出される(「動作計算」)。前述のように、教示点グループGmには検索ベクトルAmが対応する。その場合、Amが「ロボットの前後方向、横方向、縦方向に関する任意の移動量、および回転量からなる速度ベクトル」vに変換されて計算に適用される。
ロボット各軸の速度成分の導出(「動作決定」)後、評価関数に基づいて、現状の解A1〜AMの評価値を算出する(「評価」)。このように、解についての適用・評価の後、評価値を基に、更新が必要とされれば、遺伝的アルゴリズムで解が「解2」に更新される。
このような、解の適用〜動作計算〜動作決定〜評価〜更新のサイクルが必要に応じて繰り返される。繰り返しを行うか否かを決定する際には、評価値が参酌され得る。
2・・・ロボット、4・・・軸、6・・・エンドエフェクタ、8・・・ワーク、10・・・ポジショナ、20・・・障害物。
Claims (10)
- ロボットの自由度が作業に必要な自由度より大きい場合に、エンドエフェクタがワークに設定された作業経路上の複数目標点(点P1〜PN)間を順次補間して動作するためのロボット各軸の速度を分解速度制御法を用いて導出する方法であって、
一つの目標点(Pi)からその次の目標点(Pi+1)への動作にて、上記各軸速度の冗長自由度成分が、ロボット上の任意の位置に設定された座標系での上記エンドエフェクタの速度ベクトルを満たす各軸速度成分を含むことを特徴とするロボット動作計画方法。 - 上記速度ベクトルに基づく探索ベクトルを解として組合せ最適化手法を適用して、上記速度ベクトルを算出することを特徴とする請求項1に記載のロボット動作計画方法。
- 上記各軸速度の上記冗長自由度成分が、更に、最急勾配方向に姿勢変化を作用させる誘導関数で導出する変化量と、外部から設定される重み定数との積を含むことを特徴とする請求項2に記載のロボット動作計画方法。
- 一つ又は複数の評価関数、及び各々の評価関数に対する重み定数を設定し、
上記分解速度制御法を用いて上記各軸速度を導出する際に決定される上記ロボット各軸に関する最小動作を示す最小動作量と、上記各軸速度の上記冗長自由度成分とから、ロボット各軸の姿勢を導出した後、
導出された姿勢、設定された評価関数、及び各々の評価関数に対する重み定数に基づいて、解の評価値を算出し、
上記評価値に従って、更に組合せ最適化手法による解の更新を行うか否かを決定することを特徴とする請求項3に記載のロボット動作計画方法。 - 上記評価関数が、周囲障害物との干渉回数、ロボット姿勢の良さを示す可操作度、及び、ロボット関節動作限度からの距離のうちの、少なくとも一つを含むことを特徴とする請求項4に記載のロボット動作計画方法。
- ロボットの自由度が作業に必要な自由度より大きい場合に、エンドエフェクタがワークに設定された作業経路上の複数目標点(点P1〜PN)間を順次補間して動作するためのロボット各軸の速度を分解速度制御法を用いて導出する装置であって、
ロボット上の任意の位置に設定された座標系での上記エンドエフェクタの速度ベクトルを満たすロボット各軸の各軸速度成分を算出する第1の演算部と、
作業経路上の一つの目標点(Pi)からその次の目標点(Pi+1)への動作における上記各軸速度の冗長自由度成分が、上記第1の演算部の算出による上記各軸速度成分を少なくとも含むように、上記各軸速度の上記冗長自由度成分を算出する第2の演算部と
を含むことを特徴とするロボット動作計画装置。 - 上記速度ベクトルに基づく探索ベクトルを算出する第3の演算部と、
上記探索ベクトルを解として組合せ最適化手法を適用して、上記速度ベクトルを算出する第4の演算部と
を更に含むことを特徴とする請求項6に記載のロボット動作計画装置。 - 上記第2の演算部が、
最急勾配方向に姿勢変化を作用させる誘導関数で導出する変化量と、外部から設定される重み定数との積を、上記各軸速度の上記冗長自由度成分が更に含むように上記冗長自由度成分を算出することを特徴とする請求項7に記載のロボット動作計画装置。 - 一つ又は複数の評価関数及び各々の評価関数に対する重み定数が設定されるデータ格納部と、
上記分解速度制御法を用いて上記各軸速度を導出する際に決定される上記ロボット各軸に関する最小動作を示す最小動作量と、上記第2の演算部により算出された上記各軸速度の上記冗長自由度成分とから、ロボット各軸姿勢量を導出する第5の演算部と、
上記第5の演算部による上記ロボット各軸姿勢量の導出後、導出された上記姿勢量、設定された上記評価関数、及び各々の評価関数に対する上記重み定数に基づいて、解の評価値を算出する第6の演算部と、
上記評価値に従って、更に組合せ最適化手法による解の更新を行うか否かを決定する第7の演算部と
を、更に含むことを特徴とする請求項8に記載のロボット動作計画装置。 - 上記評価関数が、周囲障害物との干渉回数、ロボット姿勢の良さを示す可操作度、及び、ロボット関節動作限度からの距離のうちの、少なくとも一つを含むことを特徴とする請求項9に記載のロボット動作計画装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008128626A JP2009274180A (ja) | 2008-05-15 | 2008-05-15 | ロボット動作計画方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008128626A JP2009274180A (ja) | 2008-05-15 | 2008-05-15 | ロボット動作計画方法及び装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009274180A true JP2009274180A (ja) | 2009-11-26 |
Family
ID=41440066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008128626A Pending JP2009274180A (ja) | 2008-05-15 | 2008-05-15 | ロボット動作計画方法及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009274180A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105313120A (zh) * | 2014-07-09 | 2016-02-10 | 发那科株式会社 | 机器人程序修正系统 |
CN106113044A (zh) * | 2016-08-23 | 2016-11-16 | 重庆盛学科技有限公司 | 工业应用教学机器人控制方法 |
JP2018020410A (ja) * | 2016-08-04 | 2018-02-08 | キヤノン株式会社 | レイアウト設定方法、およびレイアウト設定装置 |
CN113110490A (zh) * | 2021-05-07 | 2021-07-13 | 金陵科技学院 | 基于改进的樽海鞘群算法的机器人多目标路径规划 |
WO2023002627A1 (ja) * | 2021-07-21 | 2023-01-26 | ファナック株式会社 | 移動経路決定装置及びコンピュータプログラム |
-
2008
- 2008-05-15 JP JP2008128626A patent/JP2009274180A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105313120A (zh) * | 2014-07-09 | 2016-02-10 | 发那科株式会社 | 机器人程序修正系统 |
US9682475B2 (en) | 2014-07-09 | 2017-06-20 | Fanuc Corporation | Robot program modification system |
JP2018020410A (ja) * | 2016-08-04 | 2018-02-08 | キヤノン株式会社 | レイアウト設定方法、およびレイアウト設定装置 |
JP7009051B2 (ja) | 2016-08-04 | 2022-01-25 | キヤノン株式会社 | レイアウト設定方法、制御プログラム、記録媒体、制御装置、部品の製造方法、ロボットシステム、ロボット制御装置、情報処理方法、情報処理装置 |
CN106113044A (zh) * | 2016-08-23 | 2016-11-16 | 重庆盛学科技有限公司 | 工业应用教学机器人控制方法 |
CN113110490A (zh) * | 2021-05-07 | 2021-07-13 | 金陵科技学院 | 基于改进的樽海鞘群算法的机器人多目标路径规划 |
WO2023002627A1 (ja) * | 2021-07-21 | 2023-01-26 | ファナック株式会社 | 移動経路決定装置及びコンピュータプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6497953B2 (ja) | オフライン教示装置、オフライン教示方法及びロボットシステム | |
JP4137909B2 (ja) | ロボットプログラム補正装置 | |
JP5349478B2 (ja) | 逆運動学 | |
Neto et al. | High‐level robot programming based on CAD: dealing with unpredictable environments | |
JP5426719B2 (ja) | ロボットシステムの動作シミュレーション装置 | |
KR102300752B1 (ko) | 주어진 엔드-이펙터 경로를 정확하게 따라가기 위한 리던던트 매니퓰레이터의 충돌 없는 궤적 최적화 방법 및 장치 | |
JP2009032189A (ja) | ロボットの動作経路生成装置 | |
JP2007316942A (ja) | 経路作成装置及び経路作成方法 | |
JP2008238396A (ja) | ロボットのモーションの発生及び制御のための装置ならびに方法 | |
JP7293267B2 (ja) | 情報処理装置、情報処理方法及びロボットシステム | |
JP2009274148A (ja) | シミュレーション装置 | |
JP2009134352A (ja) | ロボットの動作経路作成装置及びロボットの動作経路作成方法 | |
JP2009274180A (ja) | ロボット動作計画方法及び装置 | |
JP2004094399A (ja) | 多関節マニピュレータの制御方法及びその制御プログラム、並びにその制御システム | |
JP2016055404A (ja) | 軌道生成方法、軌道生成装置、ロボット装置、プログラム及び記録媒体 | |
RU2308764C2 (ru) | Перемещение виртуального сочлененного объекта в виртуальном пространстве с предотвращением столкновений сочлененного объекта с элементами окружающего пространства | |
JP2015058492A (ja) | 制御装置、ロボットシステム、ロボット、ロボット動作情報生成方法及びプログラム | |
JP2011031309A (ja) | 移動体姿勢生成方法および移動体姿勢生成装置 | |
JP2019089201A (ja) | 教示データ作成装置、教示データ作成装置の制御方法及びロボットシステム | |
JP2014065098A (ja) | ロボット装置及び多関節ロボットの軌道シミュレーション装置並びに軌道生成方法 | |
JP4304512B2 (ja) | 経路計画装置 | |
Rubio et al. | The simultaneous algorithm and the best interpolation function for trajectory planning | |
JP6862849B2 (ja) | 演算装置、演算方法、演算プログラムおよびロボットシステム | |
JP2015100874A (ja) | ロボットシステム | |
JP2015058493A (ja) | 制御装置、ロボットシステム、ロボット、ロボット動作情報生成方法及びプログラム |