(57)【要約】【課題】ＣＰ制御を行うロボットに関する動作計画方法及び同方法を用いる装置において、冗長性を利用できる範囲内での姿勢変化を解としてメタヒューリスティックス手法を適用して、作業経路の全ての点において障害物を回避できる動作計画を自動作成する。【解決手段】本発明に係るロボット動作計画方法は、ロボットの自由度が作業に必要な自由度より大きい場合に、エンドエフェクタがワークに設定された作業経路上の複数目標点間を順次補間して動作するためのロボット各軸の速度を分解速度制御法を用いて導出する方法であって、一つの目標点からその次の目標点への動作にて、上記各軸速度の冗長自由度成分が、ロボット上の任意の位置に設定された座標系での上記エンドエフェクタの速度ベクトルを満たす各軸速度成分を含むことを特徴とする。【選択図】図１
2009274180.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの自由度が作業に必要な自由度より大きい場合に、エンドエフェクタがワークに設定された作業経路上の複数目標点（点Ｐ１〜ＰＮ）間を順次補間して動作するためのロボット各軸の速度を分解速度制御法を用いて導出する方法であって、
一つの目標点（Ｐｉ）からその次の目標点（Ｐｉ＋１）への動作にて、上記各軸速度の冗長自由度成分が、ロボット上の任意の位置に設定された座標系での上記エンドエフェクタの速度ベクトルを満たす各軸速度成分を含むことを特徴とするロボット動作計画方法。
【請求項２】
上記速度ベクトルに基づく探索ベクトルを解として組合せ最適化手法を適用して、上記速度ベクトルを算出することを特徴とする請求項１に記載のロボット動作計画方法。
【請求項３】
上記各軸速度の上記冗長自由度成分が、更に、最急勾配方向に姿勢変化を作用させる誘導関数で導出する変化量と、外部から設定される重み定数との積を含むことを特徴とする請求項２に記載のロボット動作計画方法。
【請求項４】
一つ又は複数の評価関数、及び各々の評価関数に対する重み定数を設定し、
上記分解速度制御法を用いて上記各軸速度を導出する際に決定される上記ロボット各軸に関する最小動作を示す最小動作量と、上記各軸速度の上記冗長自由度成分とから、ロボット各軸の姿勢を導出した後、
導出された姿勢、設定された評価関数、及び各々の評価関数に対する重み定数に基づいて、解の評価値を算出し、
上記評価値に従って、更に組合せ最適化手法による解の更新を行うか否かを決定することを特徴とする請求項３に記載のロボット動作計画方法。
【請求項５】
上記評価関数が、周囲障害物との干渉回数、ロボット姿勢の良さを示す可操作度、及び、ロボット関節動作限度からの距離のうちの、少なくとも一つを含むことを特徴とする請求項４に記載のロボット動作計画方法。
【請求項６】
ロボットの自由度が作業に必要な自由度より大きい場合に、エンドエフェクタがワークに設定された作業経路上の複数目標点（点Ｐ１〜ＰＮ）間を順次補間して動作するためのロボット各軸の速度を分解速度制御法を用いて導出する装置であって、
ロボット上の任意の位置に設定された座標系での上記エンドエフェクタの速度ベクトルを満たすロボット各軸の各軸速度成分を算出する第１の演算部と、
作業経路上の一つの目標点（Ｐｉ）からその次の目標点（Ｐｉ＋１）への動作における上記各軸速度の冗長自由度成分が、上記第１の演算部の算出による上記各軸速度成分を少なくとも含むように、上記各軸速度の上記冗長自由度成分を算出する第２の演算部と
を含むことを特徴とするロボット動作計画装置。
【請求項７】
上記速度ベクトルに基づく探索ベクトルを算出する第３の演算部と、
上記探索ベクトルを解として組合せ最適化手法を適用して、上記速度ベクトルを算出する第４の演算部と
を更に含むことを特徴とする請求項６に記載のロボット動作計画装置。
【請求項８】
上記第２の演算部が、
最急勾配方向に姿勢変化を作用させる誘導関数で導出する変化量と、外部から設定される重み定数との積を、上記各軸速度の上記冗長自由度成分が更に含むように上記冗長自由度成分を算出することを特徴とする請求項７に記載のロボット動作計画装置。
【請求項９】
一つ又は複数の評価関数及び各々の評価関数に対する重み定数が設定されるデータ格納部と、
上記分解速度制御法を用いて上記各軸速度を導出する際に決定される上記ロボット各軸に関する最小動作を示す最小動作量と、上記第２の演算部により算出された上記各軸速度の上記冗長自由度成分とから、ロボット各軸姿勢量を導出する第５の演算部と、
上記第５の演算部による上記ロボット各軸姿勢量の導出後、導出された上記姿勢量、設定された上記評価関数、及び各々の評価関数に対する上記重み定数に基づいて、解の評価値を算出する第６の演算部と、
上記評価値に従って、更に組合せ最適化手法による解の更新を行うか否かを決定する第７の演算部と
を、更に含むことを特徴とする請求項８に記載のロボット動作計画装置。
【請求項１０】
上記評価関数が、周囲障害物との干渉回数、ロボット姿勢の良さを示す可操作度、及び、ロボット関節動作限度からの距離のうちの、少なくとも一つを含むことを特徴とする請求項９に記載のロボット動作計画装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、障害物を回避するロボット動作計画方法、及び同方法を用いる装置に関する。
【背景技術】
【０００２】
ロボット動作における障害物回避の技術として、図６に示すように、ＰＴＰ制御に係るものが従来開発されてきた。このＰＴＰ制御では、ロボットの移動の開始点と終了点が定められ、その間のロボットの姿勢は特に問題にされずに障害物２０の回避（干渉の回避）に注目される。例えば、特許文献１では、移動の開始点、終了点、および、それらの中間点であるサブゴール点２４を設定し、それらの点を滑らかに接続するような方法を開示している。このような方法では、作業のアプローチ／デパート動作における干渉は回避できるが、作業経路における干渉の回避は実施できないことがある。
【０００３】
そのようなロボットの作業経路においても障害物２０を回避できる技術として、図７に示すようなＣＰ制御が挙げられる。ＣＰ制御における従来技術では、作業経路上に複数のサンプリング点が設けられ、それらサンプリング点の各々において、ロボットアームと障害物との間の距離が算出され、その距離が一定値以内となる（即ち、接近する）と、前者が後者からまっすぐ遠ざかるようにロボットアームの動作が制御される。即ち、最急降下法によりロボットの冗長性を活用できる範囲内でロボットアームを引っ張る、というＣＰ制御に係る技術が開発されている。
【０００４】
しかし、上記技術に係る装置では、作業経路の途中において障害物２０を回避できなくなるという事象が発生することがある。即ち、所謂ローカルミニマムに陥るという現象が発生することがある。
【特許文献１】特開２０００−０２０１１７公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記のＣＰ制御の下で、ロボットがワーク８に対して作業を行うとき、作業経路にはワーク８に対して位置・向きが固定である目標点（教示点）（Ｐ１、Ｐ２、Ｐ３、Ｐ４・・）が設定される。作業の開始から終了までの教示点間を夫々直線補完で動作させる場合、作業上満たすべき制約を満足した上で全体の機構に冗長性が残されていれば、これを活用できる範囲内で全体の姿勢を任意に変化させることができる。この際、姿勢変化の与え方次第で、障害物との干渉を回避することが可能になる。
【０００６】
本発明では、ＣＰ制御を行うロボットに関する動作計画方法及び同方法を用いる装置において、冗長性を利用できる範囲内での姿勢変化を解として組合せ最適化手法（メタヒューリスティックス手法）を適用して、作業経路の全ての点において障害物を回避できる動作計画を自動作成することを目的とする。
【課題を解決するための手段】
【０００７】
作業始端から終端において、この間の冗長自由度成分の速度ベクトルを変化させて動作を試行し、動作全体を通して評価して障害物回避を実現する。このとき、ランダムに探索する場合では非常に多大な時間を要する。このために組合せ最適化手法を利用し、効率的に探索する。
【０００８】
まず、本発明に係る請求項１に記載のロボット動作計画方法は、
ロボットの自由度が作業に必要な自由度より大きい場合に、エンドエフェクタがワークに設定された作業経路上の複数目標点（点Ｐ１〜ＰＮ）間を順次補間して動作するためのロボット各軸の速度を分解速度制御法を用いて導出する方法であって、
一つの目標点（Ｐｉ）からその次の目標点（Ｐｉ＋１）への動作にて、上記各軸速度の冗長自由度成分が、ロボット上の任意の位置に設定された座標系での上記エンドエフェクタの速度ベクトルを満たす各軸速度成分を含むことを特徴とする。
【０００９】
本発明に係る請求項２に記載のロボット動作計画方法は、
上記速度ベクトルに基づく探索ベクトルを解として組合せ最適化手法を適用して、上記速度ベクトルを算出することを特徴とする請求項１に記載のロボット動作計画方法である。
【００１０】
本発明に係る請求項３に記載のロボット動作計画方法は、
上記各軸速度の上記冗長自由度成分が、更に、最急勾配方向に姿勢変化を作用させる誘導関数で導出する変化量と、外部から設定される重み定数との積を含むことを特徴とする請求項２に記載のロボット動作計画方法である。
【００１１】
本発明に係る請求項４に記載のロボット動作計画方法は、
一つ又は複数の評価関数、及び各々の評価関数に対する重み定数を設定し、
上記分解速度制御法を用いて上記各軸速度を導出する際に決定される上記ロボット各軸に関する最小動作を示す最小動作量と、上記各軸速度の上記冗長自由度成分とから、ロボット各軸の姿勢を導出した後、
導出された姿勢、設定された評価関数、及び各々の評価関数に対する重み定数に基づいて、解の評価値を算出し、
上記評価値に従って、更に組合せ最適化手法による解の更新を行うか否かを決定することを特徴とする請求項３に記載のロボット動作計画方法である。
【００１２】
本発明に係る請求項５に記載のロボット動作計画方法は、
上記評価関数が、周囲障害物との干渉回数、ロボット姿勢の良さを示す可操作度、及び、ロボット関節動作限度からの距離のうちの、少なくとも一つを含むことを特徴とする請求項４に記載のロボット動作計画方法である。
【００１３】
本発明に係る請求項６に記載のロボット動作計画装置は、
ロボットの自由度が作業に必要な自由度より大きい場合に、エンドエフェクタがワークに設定された作業経路上の複数目標点（点Ｐ１〜ＰＮ）間を順次補間して動作するためのロボット各軸の速度を分解速度制御法を用いて導出する装置であって、
ロボット上の任意の位置に設定された座標系での上記エンドエフェクタの速度ベクトルを満たすロボット各軸の各軸速度成分を算出する第１の演算部と、
作業経路上の一つの目標点（Ｐｉ）からその次の目標点（Ｐｉ＋１）への動作における上記各軸速度の冗長自由度成分が、上記第１の演算部の算出による上記各軸速度成分を少なくとも含むように、上記各軸速度の上記冗長自由度成分を算出する第２の演算部と
を含むことを特徴とする。
【００１４】
本発明に係る請求項７に記載のロボット動作計画装置は、
上記速度ベクトルに基づく探索ベクトルを算出する第３の演算部と、
上記探索ベクトルを解として組合せ最適化手法を適用して、上記速度ベクトルを算出する第４の演算部と
を更に含むことを特徴とする請求項６に記載のロボット動作計画装置である。
【００１５】
本発明に係る請求項８に記載のロボット動作計画装置は、
上記第２の演算部が、
最急勾配方向に姿勢変化を作用させる誘導関数で導出する変化量と、外部から設定される重み定数との積を、上記各軸速度の上記冗長自由度成分が更に含むように上記冗長自由度成分を算出することを特徴とする請求項７に記載のロボット動作計画装置である。
【００１６】
本発明に係る請求項９に記載のロボット動作計画装置は、
一つ又は複数の評価関数及び各々の評価関数に対する重み定数が設定されるデータ格納部と、
上記分解速度制御法を用いて上記各軸速度を導出する際に決定される上記ロボット各軸に関する最小動作を示す最小動作量と、上記第２の演算部により算出された上記各軸速度の上記冗長自由度成分とから、ロボット各軸姿勢量を導出する第５の演算部と、
上記第５の演算部による上記ロボット各軸姿勢量の導出後、導出された上記姿勢量、設定された上記評価関数、及び各々の評価関数に対する上記重み定数に基づいて、解の評価値を算出する第６の演算部と、
上記評価値に従って、更に組合せ最適化手法による解の更新を行うか否かを決定する第７の演算部と
を、更に含むことを特徴とする請求項８に記載のロボット動作計画装置である。
【００１７】
本発明に係る請求項１０に記載のロボット動作計画装置は、
上記評価関数が、周囲障害物との干渉回数、ロボット姿勢の良さを示す可操作度、及び、ロボット関節動作限度からの距離のうちの、少なくとも一つを含むことを特徴とする請求項９に記載のロボット動作計画装置である。
【発明の効果】
【００１８】
本発明を利用することにより、ロボット動作計画にて障害物を回避する動作を自動的に獲得できるため、ユーザによるロボット姿勢の修正などの作業が軽減される。これにより、シミュレータによるオフライン教示時間が短縮される。
【００１９】
また、従来の最急降下法を用いる方法・装置に比べて、本発明では組合せ最適化手法を用いるため、導出された動作（各軸速度成分）を作業の開始から終了まで評価することで、ローカルミニマムに陥ることなく全体最適に近い動作（各軸速度成分）を求めることができる。また、導出された動作（各軸速度成分）の評価に用いる評価関数をユーザが設定するため、ユーザにとって望ましい動作（各軸速度成分）を導出できる枠組みを構築できる。
【００２０】
更に、本発明では探索の対象とするロボット各軸速度の冗長自由度成分を、ロボットの前後方向、横方向、縦方向に関する任意の移動量、及び回転量からなる速度ベクトル（即ち、ロボット上の任意の位置に設定された座標系でのエンドエフェクタの速度ベクトル）を満足する各軸速度成分を含むものとしているが、この各軸速度成分はロボットの形態によらない解表現であるため、どのようなロボットシステムにも適用できる。つまり、ロボット関節変位からロボット先端（エンドエフェクタ）の位置姿勢に関する変換のヤコビ行列さえ求まることができれば、任意の形態のロボットシステムに適用することができる。しかも、３次元空間上での速度ベクトルを解としているため、解の広さが安定的であり、非常に冗長性が高いロボットに対しても安定した計算量で探索を行うことができる。
【発明を実施するための最良の形態】
【００２１】
以下、図面を参照して本発明に係る好適な実施形態を説明する。
【００２２】
［ベクトル表記について］
ベクトルを示す下記［数１］の項（式）を、本文中では夫々、ａ・、ｂ^と表記する。
【００２３】
【数１】
2009274180.tif 000003
【００２４】
［分解速度制御法］
本発明は、ロボット先端、即ちエンドエフェクタの目標速度を与えて、それを満たすロボット各軸の速度ベクトル（ロボットの動き）を計算する「分解速度制御法」を基礎とするものである。まず、ロボット各軸の速度ベクトルｑ・と、エンドエフェクタの動き(速度)ｙ・との、両者の関係は数２のようになる。
【００２５】
【数２】
2009274180.tif 000004
【００２６】
数２において、『Ｊ』はロボット関節角に関するヤコビ行列であり、ある関節(ロボット各軸の一要素)が動いたときのエンドエフェクタの動き（速度)への影響を、全部の関節に関して記したものである。
【００２７】
ここで、分解速度制御法は、「ある作業をさせるときのロボットの動きを自動で求めたい」ときに、上記数２を逆算する。つまり、「ある作業」を作業開始から終了までのエンドエフェクタの速度ｙ・で表現し、それを利用して以下の数３のようにロボット各軸の速度ベクトルを求める。
以下の数３において、ヤコビ行列『Ｊ』は非正方行列である（即ち、「ロボット各軸の速度ベクトル」の次数＞「エンドエフェクタの速度」の次数、である）ため、周知のように、『Ｊ』の逆行列『Ｊ−１』ではなく疑似逆行列『Ｊ＋』が利用されている。この『Ｊ＋』は、ワークに固定されている「ワーク基準座標系」でのヤコビ行列である。なお、『Ｉ』は単位行列である。
【００２８】
【数３】
2009274180.tif 000005
【００２９】
上記数３では、
『「ロボット各軸の速度ベクトル」の次数＞「エンドエフェクタの速度」の次数』
であることを前提としているが、このことは、「作業を実現するためのロボット関節が余分に多い」、即ち「冗長である」ということを意味する。つまり、「エンドエフェクタの速度」→「ロボット各軸の速度ベクトル」への写像が１つに限られないということであるから、実際には該写像において無数の候補から一つを選ぶ必要がある。
このような無数の候補の中で、数３の各項目の持つ意味合いは、以下のように（数４）なる。
【００３０】
【数４】
2009274180.tif 000006
【００３１】
即ち、上記数４において、上記（１）の項は所定のものとなるが、上記（２）の項の存在により、ロボット各軸の動きは上記（２）の項の傾向（特に、ｑ^部分の傾向）を有することになる。
【００３２】
［ロボット各軸速度の冗長自由度成分ｑ^］
本発明に係る障害物回避ロボット動作計画方法、及び該方法を用いるロボット動作計画装置の基礎となる分解速度制御法では、ロボット各軸速度の冗長自由度成分ｑ^は、以下の数５のように、「ロボットの前後方向、横方向、縦方向に関する任意の移動量、および回転量からなる速度ベクトルを満足する各軸速度成分」（ｑ^1）と、「最急勾配方向に姿勢変化を作用させる誘導関数で導出する変化量」（ｑ^２）とを含むものとしている。
【００３３】
【数５】
2009274180.tif 000007
なお、「ロボットの前後方向、横方向、縦方向に関する任意の移動量、および回転量からなる速度ベクトル」は、一般的に、ロボット上の任意の位置に設定された座標系でのエンドエフェクタ６の速度ベクトルであればよい。以下では、説明内容を具体的なものにするために、この速度ベクトルは「ロボットの前後方向、横方向、縦方向に関する任意の移動量、および回転量からなる」ものとして記載している。
【００３４】
［ロボットの速度ベクトルを満足する各軸速度成分ｑ^1］
まず、ｑ^1の「ロボットの前後方向、横方向、縦方向に関する任意の移動量、および回転量からなる速度ベクトルを満足する各軸速度成分」について、図１を用いて説明する。具体的に、図１（ａ）に示すようなワークにおける太線で示す１辺（以下、「ワーク対象部位」と言う。）で溶接を行うものとする。また、図１（ｂ）、（ｃ）に示すように、ロボット２は複数の軸を有するものとする。
【００３５】
まず、ｑ^1＝０であるとする（同時に、後述するｑ^２も０であるとする）と、図１（ｂ）に示すように、ロボット２のエンドエフェクタ６は単純にワーク対象部位をなぞるに過ぎない。このとき、ロボット各軸の動きは以下の数６で表され、ロボット各軸の動きに関する「最小動作」が得られる。
【００３６】
【数６】
2009274180.tif 000008
【００３７】
これに対して、ｑ^1≠０である（後述するｑ^２は０である）場合を想定する。つまり、図１（ｃ）に示すように、「ロボット前後方向−５０、横方向＋５０、縦方向・回転０の速度ベクトル」を、エンドエフェクタ６が、ワーク８と共に辿るものとする。このとき、エンドエフェクタ６は、ワーク８に追随して、目的の経路であるワーク対象部位をなぞりつつ、前後方向−５０、横方向＋５０に全体として動くような動作を行う。具体的には、ワーク８が図１（ｃ）における右下方向に移動し、エンドエフェクタ６が追従しつつワーク対象部位をなぞるという動作になる。なお、図１では示していないが、ワーク８自体の動作は、ワーク８の姿勢を固定しつつワーク８と共に動くポジショナ１０により行われる。このワーク８の姿勢を固定しつつワーク８と共に動くポジショナ１０の例は、図２に示されている。
【００３８】
複数の軸４を有する図２（ａ）に示すロボット２は、ポジショナ１０を含む。図２（ａ）に示すポジショナ１０は、ワーク８の姿勢を固定しつつワーク８と共にロボット２の前後方向・横方向（図２（ａ）に示すｘ・ｙ方向）に動作する。このポジショナ１０及びワーク８の動作に合わせて勿論エンドエフェクタ６がワーク８との相対的位置を保持しつつ動くことができる。図２（ｂ）では、ｘ方向（前後方向）にポジショナ１０、ワーク８、及びエンドエフェクタ６が、図２（ａ）に示す位置からｖだけ動いたことを示している。図２に示すロボット２では、エンドエフェクタ６、ポジショナ１０、及びワーク８が前後方向・横方向に動くことのみを示しているが、本発明に係るロボット動作は、少なくとも、前後方向、横方向、縦方向に移動し、更にそれら方向に関して回転することを含むことを想定している。
【００３９】
このように、本発明では、ロボット全体を任意に動かすことで、ロボットの肘部などでの干渉を回避するという発想が基礎となる。「ロボットの前後方向、横方向、縦方向に関する任意の移動量、および回転量からなる速度ベクトル」を「ｖ」とおくと、各軸速度成分ｑ^1は以下の数７の式で表される。
【００４０】
【数７】
2009274180.tif 000009
【００４１】
上記数７の式において、ｖは「ロボットの前後方向、横方向、縦方向に関する任意の移動量、および回転量からなる速度ベクトル」であるから、ロボットベース（基準座標系）での速度ベクトルである。従って、『Ｊ１＋』は、ロボットの足元にある「ロボットベース基準座標系」でのヤコビ行列となる
「ロボットの前後方向、横方向、縦方向に関する任意の移動量、および回転量からなる速度ベクトル」の具体的数値の決定については、後述する。
【００４２】
上記の説明ではロボットにポジショナが含まれる場合について説明したが、ポジショナが含まれない場合にも当然本発明を適用することができる。更に、上記の説明ではｑ^1がロボットアームの基部に設定された座標系に関するものとして説明したが、これに限られず、ロボット上の任意の位置に設定された座標系に関するものとして規定されても、本発明の効果を奏することができる。
【００４３】
［最急勾配方向に姿勢変化を作用させる誘導関数で導出する変化量ｑ^２］
次に、ｑ^２の「最急勾配方向に姿勢変化を作用させる誘導関数で導出する変化量」について説明する。ｑ^２は以下の数８の式で表すことができる。
【００４４】
【数８】
2009274180.tif 000010
【００４５】
Ｈ（ｑ）は、常に最急勾配方向に姿勢変化を作用させる、各軸ｑを変数とする誘導関数である。ｋは外部から設定される定数である。
【００４６】
ｑ^２は、背景技術の欄でも説明したように、最急降下法によりロボットの冗長性を活用できる範囲内でロボット各軸を動作させる（引っ張る）という技術の、中心となる変化量である。つまり、ｑ^２は、作業経路上に複数のサンプリング点を設け、それらサンプリング点の各々においてロボット各軸と障害物との間の距離を算出し、その距離が一定値以内となる（即ち、接近する）と、前者を後者からまっすぐ遠ざけるようにロボット各軸の動作を制御する基礎となる変化量である。
【００４７】
従って、本発明に係る障害物回避ロボット動作計画方法、及び該方法を用いるロボット動作計画装置は、この「ｑ^２」も副次的に利用するものである。「ｑ^２」と「ｑ^１」の利用の手順については後述する。
【００４８】
［障害物回避ロボット動作計画装置］
続いて、本発明の好適な実施形態に係る障害物回避ロボット動作計画装置について説明する。
【００４９】
障害物回避ロボット動作計画装置は、一般的なコンピュータ上に適切なソフトウエアを実装することにより実現される装置である。図３は、本発明の好適な実施形態に係る障害物回避ロボット動作計画装置１の概略構成図である。図３に示す障害物回避ロボット動作計画装置により導出されたＮＣ（Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌ；数値制御）データは、導出後、個々のロボットのためのコントローラにロードされる。
【００５０】
障害物回避ロボット動作計画装置は、一般的なコンピュータでよい。但し、以下のような機能を備えている必要がある。
（Ａ）まず、全体のロボット機構をモデルとして計算機上で定義できなければならない。この場合のロボット機構には、ロボット自体、ポジショナ、ワーク、及び周囲物などが含まれる。これらロボット機構のモデルが、実環境と同じように設定できなければならない。更に、ロボットの初期姿勢がデータとして設定され得る必要がある。
（Ｂ）次に、特にＣＰ制御における複数の教示点の設定が可能でなければならない。また、誘導関数とその重み定数や、種々の評価関数が設定され得る必要がある。
（Ｃ）更に、分解速度制御法を計算する機能が必要である。分解速度制御法の計算時には、同時にロボット動作のシミュレーションが行われることになる。このとき、干渉回数チェックや、可操作度計算が為されることが好ましい。
（Ｄ）後述する組合せ最適化手法におけるアルゴリズムを実施する必要がある。
（Ｅ）また、結果を保存して出力する機能も必要である。
【００５１】
従って、図３に示す障害物回避ロボット動作計画装置は、演算部（ＣＰＵ）５２、ディスプレイ等の表示部５４、キーボードやマウス等の操作部５６、及び、データ格納部５８を含み、該データ格納部５８は、
・計算機上で定義される全体のロボット機構モデル、
・ロボット初期姿勢データ、
・ロボット機構モデルに定義される教示点データ、
・操作部から設定される誘導関数とその重み定数、
・同じく操作部から設定される評価関数、
・分解速度制御法に係る計算式及び計算機能、
・ロボット動作シミュレーション機能、及び、
・組合せ最適化手法によるアルゴリズム
を格納している。そして、これらモデルやデータが適宜演算部に実装されて、障害物を回避するロボット動作計画が算出される。
【００５２】
［ロボット動作計画の手順］
障害物回避ロボット動作計画装置におけるロボット動作計画の手順を述べる。
【００５３】
なお、以下では計算のための変数として「検索ベクトル；Ａｍ」を導入している。本発明の、特に「ロボットの速度ベクトルを満足する（各軸の）速度成分ｑ^1」は、「ロボット全体を任意に動かして、肘部などでの干渉を回避する」発想を基礎としている。「ロボット全体の任意の動き」が「ｖ」であり、本発明ではこの「ｖ」を後述の組合せ最適化手法で探索する。ところで、一般的に組合せ最適化手法では、探索の効率の都合上、生の数値ではなく多少表現を変えたものを解として利用し記憶することが多い。この多少表現を変えた解（即ち、ｖの表現を変えたもの）が「Ａｍ」（探索ベクトル）である。例えば、「ロボット前後方向＋５０、横方向−５０、縦方向・回転０」の例では、
ｖ＝（５０，−５０，０，０，０，０）
と表記されるが、これに対し、Ａｍは、
Ａｍ＝（５，−５，０，０，０，０）
と表現されて組合せ最適化手法での計算に利用される。
【００５４】
続いて、図４に示されるフローチャートに従って、コンピュータである障害物回避ロボット動作計画装置の、具体的動作手順を示す。
（ステップＳ０２）；まず、コンピュータ上のワーク（モデル）に対して、教示点（Ｐ１〜ＰＮ）が設定入力される。このとき開始点（Ｐ１）から順に、教示点に関して、以下の数９のように、複数の教示点グループ（Ｇ１〜ＧＭ）への分割が設定入力される。
【００５５】
【数９】
2009274180.tif 000011
【００５６】
（ステップＳ０４）；上記教示点グループＧｍごとに「ロボットの前後方向、横方向、縦方向に関する任意の移動量、および回転量からなる速度ベクトル」ｖを満たす各軸速度成分ｑ^１が想定され、その各軸速度成分ｑ^１の基になる速度ベクトルｖに対応する探索ベクトルＡｍが設定される。つまり、Ｇｍに属する教示点ＰｉからＰｉ＋１の各軸の動作を導出する際には、各軸速度の冗長自由度成分の一成分ｑ^１（の基になる速度ベクトルｖ）に対応する探索ベクトルとしてＡｍが採用される。設定されるＡ１〜ＡＭは、組合せ最適化手法で利用される解とされる。なお、一般的に組合せ最適化手法での初期解（最初のＡｍ）はランダムに決定されてもよい。従って、ランダムに決定されることも含めてＡｍは任意に設定されてよい。
【００５７】
（ステップＳ０６）；評価の際に用いられる評価関数及びその重み定数が設定される。ここでの評価関数は、周囲障害物との干渉回数、ロボット姿勢の良さを示す可操作度、又は、ロボット関節動作限度からの距離などを含むが、特に周囲障害物との干渉回数は必ず含まれることが好ましい。
【００５８】
（ステップＳ０８）；ロボットの各軸動作導出の際に、常に最急勾配方向に姿勢を変化させるように作用する誘導関数（数８参照）の重み定数「ｋ」が設定される。
【００５９】
（ステップＳ１０）；設定された教示点Ｐ１〜ＰＮで満たすべき制約、探索ベクトルＡ１〜ＡＭ、設定された誘導関数、及び、設定された初期姿勢を基にして、作業開始から作業終了までのロボット各軸の速度成分を、分解速度制御法により導出する。
【００６０】
（ステップＳ１２）；ロボット各軸の速度成分の導出後、ステップＳ０６で設定された評価関数に基づいて、現状の解Ａ１〜ＡＭの評価値を算出する。
【００６１】
（ステップＳ１４）；算出された評価値に従い、組合せ最適化手法による解の更新を行うか否かが決定される。
（ステップＳ１６）；更新を行う場合には、組合せ最適化手法のアルゴリズムに基づき解Ａ１〜ＡＭが更新され、ステップＳ１０に戻り、ロボット各軸の速度成分の導出（ステップＳ１０）及び解の評価値の算出（ステップＳ１２）を行い、再び算出された評価値に従い組合せ最適化手法による解の更新を更に行うか否かが決定される。
（ステップＳ１８）；更新を行わない場合には、そのときのロボット各軸の速度成分が、障害物回避ロボット動作計画装置におけるロボット動作計画のＮＣデータとなる。
【００６２】
［遺伝的アルゴリズム］
組合せ最適化手法のアルゴリズムについて述べる。本発明に係る障害物回避ロボット動作計画方法では、組合せ最適化手法として遺伝的アルゴリズムを適用することができる。図５は、組合せ最適化手法として遺伝的アルゴリズムを適用した事例を模式的に示す図である。
【００６３】
まず、初期解として、「解１」が設定される。この「解１」に基づいて（「適用」）、作業開始から作業終了までのロボット各軸の速度成分が分解速度制御法により導出される（「動作計算」）。前述のように、教示点グループＧｍには検索ベクトルＡｍが対応する。その場合、Ａｍが「ロボットの前後方向、横方向、縦方向に関する任意の移動量、および回転量からなる速度ベクトル」ｖに変換されて計算に適用される。
【００６４】
ロボット各軸の速度成分の導出（「動作決定」）後、評価関数に基づいて、現状の解Ａ１〜ＡＭの評価値を算出する（「評価」）。このように、解についての適用・評価の後、評価値を基に、更新が必要とされれば、遺伝的アルゴリズムで解が「解２」に更新される。
【００６５】
このような、解の適用〜動作計算〜動作決定〜評価〜更新のサイクルが必要に応じて繰り返される。繰り返しを行うか否かを決定する際には、評価値が参酌され得る。
【図面の簡単な説明】
【００６６】
【図１】本発明に係るロボット動作計画装置の生成するＮＣデータにより制御されるロボットの動作を説明するための図である。
【図２】本発明に係るロボット動作計画装置の生成するＮＣデータにより制御されるロボットの動作の一つを示す図である。
【図３】本発明の好適な実施形態に係る障害物回避ロボット動作計画装置の概略構成図である。
【図４】本発明に係るロボット動作計画装置の具体的動作手順を示すフローチャートである。
【図５】組合せ最適化手法として遺伝的アルゴリズムをロボット動作計画に適用した事例を模式的に示す図である
【図６】従来技術のロボット動作計画方法であるＰＴＰ制御により制御されるロボットの概略の動作を示す図である。
【図７】従来技術のロボット動作計画方法であるＣＰ制御により制御されるロボットの概略の動作を示す図である。
【符号の説明】
【００６７】
２・・・ロボット、４・・・軸、６・・・エンドエフェクタ、８・・・ワーク、１０・・・ポジショナ、２０・・・障害物。
【図１】
2009274180.tif 000012
【図２】
2009274180.tif 000013
【図３】
2009274180.tif 000014
【図４】
2009274180.tif 000015
【図５】
2009274180.tif 000016
【図６】
2009274180.tif 000017
【図７】
2009274180.tif 000018