(57)【特許請求の範囲】
【請求項１】
複数の作業点に対する多関節ロボットの動作経路を探索する動作経路探索方法において、
各作業点に係る動作経路の探索に割り当てる探索割当時間を設定するステップと、
前記各作業点の前記動作経路を探索するステップと、
前記動作経路の探索に係る探索開始からの探索経過時間を計測するステップと、
前記探索経過時間を、前記動作経路の探索に係る当該作業点に割り当てられた前記探索割当時間を探索開始からの前記各作業点の前記探索割当時間に累積した累積探索割当時間と比較するステップと、
前記探索経過時間が前記累積探索割当時間を超過した際、当該作業点に係る動作経路の探索を中断し、次の作業点に係る探索に移行するステップと、
からなることを特徴とする多関節ロボットの動作経路探索方法。
【請求項２】
請求項１記載の方法において、
複数の前記作業点に係る前記動作経路の探索に割り当てる複数作業点探索割当時間を設定するステップと、
複数の前記作業点に対する前記動作経路の探索が終了した後、前記探索経過時間から前記複数作業点探索割当時間に対する探索残り時間を演算するステップと、
探索を中断した当該作業点に対する前記動作経路の探索を前記探索残り時間において行うステップと、
からなることを特徴とする多関節ロボットの動作経路探索方法。
【請求項３】
請求項１記載の方法において、
前記各作業点に対する前記動作経路の探索は、複数のプロセス処理からなり、前記探索割当時間は、前記各プロセス処理に対して設定されることを特徴とする多関節ロボットの動作経路探索方法。
【請求項４】
複数の作業点に対する多関節ロボットの動作経路を探索する動作経路探索装置において、
各作業点に係る動作経路の探索に割り当てる探索割当時間を設定し、探索スケジュールを決定する探索スケジュール設定部と、
前記各作業点の前記動作経路を探索する動作経路探索部と、
前記動作経路の探索に係る探索開始からの探索経過時間を計測する経過時間計測部と、
前記探索経過時間を、前記動作経路の探索に係る当該作業点に割り当てられた前記探索割当時間を探索開始からの前記各作業点の前記探索割当時間に累積した累積探索割当時間と比較して判定する経過時間比較判定部と、
前記探索経過時間が前記累積探索割当時間を超過した際、当該作業点に係る動作経路の探索を中断し、次の作業点に係る探索に移行する処理を行う探索処理制御部と、
を備えることを特徴とする多関節ロボットの動作経路探索装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の作業点に対する多関節ロボットの動作経路を探索する動作経路探索方法および装置に関する。
【０００２】
【従来の技術】
従来、製造ラインに設置された多関節ロボットを直接操作させて作業姿勢のティーチングを行おうとすると、多関節ロボットの操作を熟知したオペレータが製造ラインの現場で作業を行わなければならないため、その分、作業が非効率的となってしまう。また、このような作業は、製造ラインを停止させた状態で行う必要があるため、当該製造ラインの稼働率も低下してしまう。
【０００３】
そこで、近時、前記ティーチング作業の効率化を図るため、あるいは、前記製造ラインの稼働率を向上させるために、オフラインによるティーチングが行われている。すなわち、コンピュータ上に多関節ロボット並びに作業対象物であるワークおよび周辺構造物のモデルを構築し、このモデルを用いてティーチングデータを作成した後、前記ティーチングデータを現場の多関節ロボットに供給することにより、製造ラインを停止させることなく、ティーチングデータを効率的に作成することが可能となる。
【０００４】
ところで、このようなオフライティーチングにおいては、例えば、オペレータが複数の作業点を指示することにより、周辺構造物や多関節ロボットの仕様を考慮して、コンピュータが多関節ロボットの動作経路を自動計算することも可能になってきている。
【０００５】
しかしながら、動作経路の自動計算が可能であるとはいっても、モデルの設定が不適切であった場合のように、適切な条件が設定されていないと、動作経路の解が得られなかったり、あるいは、１つの作業点に対する処理に相当な時間を要し、限られた時間内で動作経路を算出できない、といった不具合が指摘されている。従って、例えば、夜間や休日におけるコンピュータの十分な空き時間を利用して無人で動作経路の自動計算を行わせたとしても、必ずしも良好な計算結果が得られるものとは限らない。
【０００６】
【発明が解決しようとする課題】
本発明は、上述した不具合を解決するためになされたものであり、多関節ロボットの動作経路の探索を極めて効率的に行うことのできる多関節ロボットの動作経路探索方法および装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
前記の課題を解決するために、本発明方法では、複数の作業点に対する多関節ロボットの動作経路を探索する動作経路探索方法において、
各作業点に係る動作経路の探索に割り当てる探索割当時間を設定するステップと、
前記各作業点の前記動作経路を探索するステップと、
前記動作経路の探索に係る探索開始からの探索経過時間を計測するステップと、
前記探索経過時間を、前記動作経路の探索に係る当該作業点に割り当てられた前記探索割当時間を探索開始からの前記各作業点の前記探索割当時間に累積した累積探索割当時間と比較するステップと、
前記探索経過時間が前記累積探索割当時間を超過した際、当該作業点に係る動作経路の探索を中断し、次の作業点に係る探索に移行するステップと、
からなることを特徴とする。
【０００８】
この場合、動作経路の探索に要した探索経過時間が累積探索割当時間を超過した際、その作業点に対する探索を中断し、次の作業点に対する動作経路の探索を行うため、累積探索割当時間内で探索の完了する作業点の動作経路を効率的に算出することができる。また、前段の作業点に対する動作経路の探索が累積探索割当時間内で完了した場合、次の作業点の探索に与えられる探索割当時間が増加することになるため、当該作業点の動作経路を探索できる確率が増大する。
【０００９】
なお、複数の前記作業点に係る前記動作経路の探索に割り当てる複数作業点探索割当時間を設定し、複数の前記作業点に対する探索が終了した後、前記探索経過時間から前記複数作業点探索割当時間に対する探索残り時間を演算し、探索を中断した当該作業点に対する前記動作経路の探索を前記探索残り時間において行うことにより、与えられた前記複数作業点探索割当時間内で動作経路をさらに効率的に探索することができる。
【００１０】
上記の探索は、各作業点の動作経路の探索を構成する複数のプロセス処理に対してそれぞれ探索割当時間を設定し、各プロセス処理毎に行うことができる。
【００１１】
また、本発明装置では、複数の作業点に対する多関節ロボットの動作経路を探索する動作経路探索装置において、
各作業点に係る動作経路の探索に割り当てる探索割当時間を設定し、探索スケジュールを決定する探索スケジュール設定部と、
前記各作業点の前記動作経路を探索する動作経路探索部と、
前記動作経路の探索に係る探索開始からの探索経過時間を計測する経過時間計測部と、
前記探索経過時間を、前記動作経路の探索に係る当該作業点に割り当てられた前記探索割当時間を探索開始からの前記各作業点の前記探索割当時間に累積した累積探索割当時間と比較して判定する経過時間比較判定部と、
前記探索経過時間が前記累積探索割当時間を超過した際、当該作業点に係る動作経路の探索を中断し、次の作業点に係る探索に移行する処理を行う探索処理制御部と、
を備えることを特徴とする。
【００１２】
【発明の実施の形態】
図１は、本発明の多関節ロボットの動作経路探索方法および装置が適用される実施形態であるオフラインティーチング装置１０と、このオフラインティーチング装置１０によって作成されたティーチングデータが適用される多関節ロボット装置１２との概略構成を示す。
【００１３】
多関節ロボット装置１２は、ベース１４に対して複数の回動自在なリンク１６、１８および２０を介して連結される溶接ガン等のエンドエフェクタ２２を備え、ロボット制御部２４に設定されたティーチングデータに従って動作する。なお、多関節ロボット装置１２およびロボット制御部２４は、現場の製造ラインに配設される。
【００１４】
オフラインティーチング装置１０は、コンピュータによって構成されるものであり、図２に示すように、制御部２６は、オフラインティーチング装置１０の全体の制御を行うＣＰＵ２８と、記憶部であるＲＯＭ３０およびＲＡＭ３２と、ハードディスクドライブ３４によってデータが読み書きされるハードディスク３６と、フレキシブルディスクやコンパクトディスク等の外部記録媒体３８に対してデータの読み書きを行う記録媒体ドライブ４０と、多関節ロボット装置１２の動作経路データを作成する動作経路データ作成回路４２と、作成された動作経路データに基づいて多関節ロボット装置１２の動作シミュレーションを行うシミュレーション回路４４とを備える。なお、制御部２６には、オペレータによるティーチング作業の補助、シミュレーション画像の表示等を行うためのディスプレイ４６が描画制御回路４８を介して接続されるとともに、インタフェース５０を介してキーボード５２およびマウス５４が接続される。
【００１５】
ハードディスク３６には、多関節ロボット装置１２の動作経路データを作成するための動作経路作成プログラム５６と、動作経路データを作成するための条件データ５８と、動作経路データの作成時に生成される処理結果データ６０とが格納される。
【００１６】
動作経路作成プログラム５６は、図３に示すように、オペレータによって指示された所望の打点（作業点）Ｄ１、Ｄ２、…に対して多関節ロボット装置１２のエンドエフェクタ２２を到着させる経路を探索するプロセス処理Ｐ１、打点Ｄ１、Ｄ２、…からエンドエフェクタ２２を引き抜く経路を探索するプロセス処理Ｐ２、干渉物６２を回避しながら中継点Ｅ１、Ｅ２間を移動させる経路を探索するプロセス処理Ｐ３、および、探索された複数の経路からエンドエフェクタ２２の姿勢、移動時間等に係る最適な経路を探索するプロセス処理Ｐ４（図示せず）の各処理を行うことにより、所望の動作経路データを作成するプログラムである。
【００１７】
条件データ５８は、図４に示すように、工程別打点探索割当時間データ、プロセス処理探索割当時間データ、打点データ、打順データおよびプロセス処理優先度データを有する。
【００１８】
工程別打点探索割当時間データは、例えば、図５に示すように、ワーク６４に設定される複数の打点Ｄ１〜Ｄ８を動作経路データ作成の難易度に応じた工程６６Ａ、６６Ｂにグループ化し、各工程６６Ａ、６６Ｂ毎に１打点の各プロセス処理Ｐ１〜Ｐ４を行うために割り当てられる打点探索割当時間ＴＡ、ＴＢである。
【００１９】
プロセス処理探索割当時間データは、例えば、図６に示すように、各打点での探索を構成するプロセス処理Ｐ１〜Ｐ４に対して割り当てられるプロセス処理探索割当時間ｔ１〜ｔ４であり、本実施形態では、工程６６Ａに対し、
ＴＡ＝ｔ１＋ｔ２＋ｔ３＋ｔ４
として設定される。なお、このプロセス処理探索割当時間ｔ１〜ｔ４は、打点探索割当時間ＴＡ、ＴＢを各プロセス処理Ｐ１〜Ｐ４に配分するための比率として設定することもできる。
【００２０】
打点データは、打点Ｄ１、Ｄ２、…におけるエンドエフェクタ２２の姿勢および座標に係るデータである。打順データは、各打点Ｄ１、Ｄ２、…に対する動作経路の探索順序を設定するデータである。プロセス処理優先度データは、プロセス処理Ｐ１〜Ｐ４の処理順を設定するデータである。本実施形態では、プロセス処理Ｐ１〜Ｐ４の順で処理を行うものとする。
【００２１】
処理結果データ６０は、図７に示すように、処理実績データおよび動作経路データからなる。処理実績データは、探索した動作経路の工程、打点数、中断時の探索に要した時間、中断されたプロセス処理等のデータである。動作経路データは、探索された動作経路のデータである。
【００２２】
動作経路データ作成回路４２は、図８に示すように、条件データに基づき動作経路を探索するための探索スケジュールを設定する探索スケジュール設定部７０と、設定された探索スケジュールに従って動作経路の探索を行い、処理結果データを出力する動作経路探索部７２と、探索開始からの経過時間を計測する経過時間計測部７４と、探索スケジュール設定部７０で設定された累積探索割当時間（後述）と経過時間計測部７４で計測された経過時間とを比較し、時間超過の有無を判定する経過時間比較判定部７６と、経過時間比較判定部７６で時間超過と判定された際、当該打点での探索を中断し、動作経路探索部７２に対して次の打点に対する探索を指示する探索処理制御部７８とを備える。
【００２３】
本実施形態のオフラインティーチング装置１０は、基本的には以上のように構成されるものであり、次に、その動作について図９および図１０に示すフローチャートに従って説明する。
【００２４】
動作経路の探索に先立ち、ハードディスク３６から動作経路作成プログラム５６を読み込み、動作経路データ作成回路４２にロードする。次いで、動作経路データ作成回路４２の探索スケジュール設定部７０は、条件データ５８である工程別打点探索割当時間データおよびプロセス処理探索割当時間データを読み込むとともに（ステップＳ１）、打点データ、打順データおよびプロセス処理優先度データを読み込み（ステップＳ２）、探索スケジュールの設定を行う。
【００２５】
先ず、打順データおよびプロセス処理優先度データに従い、探索順序を設定する（ステップＳ３）。
【００２６】
次に、工程別打点探索割当時間データと打順データとを用いて、各工程６６Ａ、６６Ｂ（図５参照）別に打順に従った打点Ｄ１〜ＤＮ毎の打点累積探索割当時間Ｈ１〜ＨＮを設定する（ステップＳ４）。Ｎは、各工程６６Ａ、６６Ｂの打点数を表す。この場合、工程６６Ａ、６６Ｂの打点探索割当時間をＴＡ、ＴＢとすると、工程６６Ａの打点累積探索割当時間Ｈ１〜ＨＮは、
Ｈ１＝ＴＡ
Ｈ２＝２・ＴＡ
……
ＨＮ＝Ｎ・ＴＡ
として設定され、工程６６Ｂの打点累積探索割当時間Ｈ１〜ＨＮは、
Ｈ１＝ＴＢ
Ｈ２＝２・ＴＢ
……
ＨＮ＝Ｎ・ＴＢ
として設定される。図１１における点線は、各打点Ｄ１〜ＤＮに割り当てられた打点累積探索割当時間Ｈ１〜ＨＮを示している。
【００２７】
次に、プロセス処理探索割当時間データを用いてプロセス処理累積探索割当時間ｈ１１〜ｈ１４、ｈ２１〜ｈ２４、…、ｈＮ１〜ｈＮ４を設定する（ステップＳ５）。例えば、ｈＮ１〜ｈＮ４は、打点ＤＮの各プロセス処理Ｐ１〜Ｐ４に対する累積探索割当時間を表す。この場合、工程６６Ａでの各打点Ｄ１〜ＤＮのプロセス処理累積探索割当時間ｈ１１〜ｈ１４、ｈ２１〜ｈ２４、…、ｈＮ１〜ｈＮ４は、各プロセス処理Ｐ１〜Ｐ４でのプロセス処理探索割当時間データであるプロセス処理探索割当時間をｔ１〜ｔ４として、
ｈ１１＝ｔ１
ｈ１２＝ｈ１１＋ｔ２
ｈ１３＝ｈ１２＋ｔ３
ｈ１４＝ｈ１３＋ｔ４＝ＴＡ
……
ｈＮ１＝ｈ（Ｎ−１）１＋ｔ１
ｈＮ２＝ｈＮ１＋ｔ２
ｈＮ３＝ｈＮ２＋ｔ３
ｈＮ４＝ｈＮ３＋ｔ４＝Ｎ・ＴＡ
として設定される。工程６６Ｂでの各打点Ｄ１〜ＤＮのプロセス処理累積探索割当時間ｈ１１〜ｈ１４、ｈ２１〜ｈ２４、…、ｈＮ１〜ｈＮ４についても同様である。
【００２８】
以上のようにして探索スケジュールを設定した後、経過時間計測部７４が探索経過時間Ｈの計測を開始し（ステップＳ６）、動作経路探索部７２による動作経路の探索が開始される（ステップＳ７）。動作経路探索部７２は、ステップＳ３で設定した探索順序に従い、打点Ｄ１のプロセス処理Ｐ１から動作経路の探索を開始する。
【００２９】
一方、経過時間比較判定部７６は、探索スケジュール設定部７０で設定した打点Ｄ１のプロセス処理Ｐ１に対するプロセス処理累積探索割当時間ｈ１１と、経過時間計測部７４によって計測された探索経過時間Ｈとを逐次比較する（ステップＳ８）。
【００３０】
Ｈ＜ｈ１１の範囲でプロセス処理Ｐ１（エンドエフェクタ２２を打点Ｄ１に到着させる動作経路の探索）が終了すると（ステップＳ９）、打点Ｄ１の次のプロセス処理Ｐ２（エンドエフェクタ２２を打点Ｄ１から引き抜く動作経路の探索）に移行する（ステップＳ１０、Ｓ７）。この場合、プロセス処理Ｐ２に与えられるプロセス処理探索割当時間ｔ２には、プロセス処理Ｐ１で余った時間（ｈ１１−Ｈ）が加算されるため、プロセス処理Ｐ２がより確実に遂行されることが期待される。
【００３１】
一方、プロセス処理Ｐ１〜Ｐ４のいずれかにおいて、探索経過時間Ｈがプロセス処理累積探索割当時間ｈ１１〜ｈ１４を超過したとき（ステップＳ９）、探索処理制御部７８は、当該打点Ｄ１の探索を中断し（ステップＳ１１）、次の打点Ｄ２に対する探索を動作経路探索部７２に対して指示する（ステップＳ１２）。なお、ステップＳ１０において、当該打点Ｄ１の全てのプロセス処理Ｐ１〜Ｐ４が完了したときも同様に、次の打点Ｄ２に対する探索を動作経路探索部７２に対して指示する。
【００３２】
次の打点Ｄ２が指示された後、動作経路探索部７２は、処理結果データ６０をハードディスク３６に記録する（ステップＳ１３）。例えば、プロセス処理Ｐ１での動作経路が探索された場合には、その動作経路データが処理結果データ６０として記録される。また、プロセス処理Ｐ２での動作経路の探索が中断された場合には、プロセス処理Ｐ２が中断されたことを示すデータと、中断されるまでに得られた途中経過処理データとからなる処理実績データが処理結果データ６０として記録される。
【００３３】
以上の処理を工程６６Ａを構成する全ての打点ＤＮに対して繰り返し、探索中断の有無に拘わらず打点ＤＮまでの探索が完了すると（ステップＳ１４）、探索スケジュール設定部７０は、処理結果データ６０に基づいて探索中断打点の有無を判定し（ステップＳ１５）、中断があった場合には、探索スケジュールの再設定を行う。
【００３４】
すなわち、探索スケジュール設定部７０は、探索中断打点があった場合、ステップＳ４で求めた打点ＤＮでの打点累積探索割当時間ＨＮ（複数作業点探索割当時間）から、最後の打点ＤＮに対する探索が完了した時点での探索経過時間Ｈを差し引き、これを探索残り時間（ＨＮ−Ｈ）として設定する（ステップＳ１６）。
【００３５】
次いで、探索スケジュール設定部７０は、例えば、図１１の○で示すように、打点Ｄ３において探索が中断されており、処理結果データ６０から得られる打点Ｄ３での中断の内容が、図６のハッチングで示すように、プロセス処理Ｐ１が終了し、プロセス処理Ｐ２が中断され、且つ、プロセス処理Ｐ２に続くプロセス処理Ｐ３およびＰ４の処理に至っていない場合、プロセス処理Ｐ２〜Ｐ４に対して探索残り時間（ＨＮ−Ｈ）を割り振り、プロセス処理累積探索割当時間ｈ３２〜ｈ３４を再設定する（ステップＳ１７）。
【００３６】
なお、探索残り時間（ＨＮ−Ｈ）を割り振り方法としては、例えば、探索が全く行われていないプロセス処理Ｐ３およびＰ４に対しては、プロセス処理探索割当時間ｔ３およびｔ４を割り振り、プロセス処理Ｐ２に対しては、プロセス処理探索割当時間（ＨＮ−Ｈ−ｔ３−ｔ４）を割り振るようにすることができる。また、中断された打点が複数ある場合には、各打点に対して探索残り時間（ＨＮ−Ｈ）を割り振るようにしてもよい。
【００３７】
以上のようにして探索スケジュールを再設定した後、ステップＳ７からの処理を繰り返すことにより、与えられた打点累積探索割当時間ＨＮ内で動作経路を効率的に探索することができる。なお、工程６６Ｂについても、同様にして動作経路の探索を行うことができる。
【００３８】
多関節ロボット装置１２の動作経路の探索が完了し、全ての動作経路データが処理結果データ６０としてハードディスク３６に設定された後、シミュレーション回路４４は、動作経路データを用いて多関節ロボット装置１２の動作シミュレーションを行う。シミュレーションによって動作の確認された動作経路データは、記録媒体ドライブ４０を介して外部記録媒体３８に記録された後、多関節ロボット装置１２を構成するロボット制御部２４にダウンロードされ、多関節ロボット装置１２の制御に供される。
【００３９】
【発明の効果】
以上のように、本発明によれば、各作業点に係る動作経路を探索し、与えられた探索割当時間内で探索が終了しない場合には、その作業点に対する探索を中断して次の作業点に対する探索に移行し、探索割当時間内で探索が終了した場合には、残りの時間を次の作業点に対する探索割当時間に加算して探索を行うため、探索割当時間を無駄なく使用して動作経路を効率的に探索することができる。
【００４０】
また、複数の作業点に対する探索処理が与えられた時間内で終了した場合に、その残り時間を探索を中断した作業点に割り振り、再度動作経路の探索を行うことより、より多くの作業点に対する動作経路の探索を与えられた探索割当時間内で効率的に行うことができる。
【図面の簡単な説明】
【図１】本実施形態のオフラインティーチング装置および多関節ロボット装置の概略構成図である。
【図２】本実施形態のオフラインティーチング装置の回路構成図である。
【図３】プロセス処理の説明図である。
【図４】本実施形態のオフラインティーチング装置で設定される条件データの説明図である。
【図５】本実施形態のオフラインティーチング装置で設定されるティーチングデータを分類する工程の説明図である。
【図６】本実施形態のオフラインティーチング装置で設定されるプロセス処理探索割当時間の説明図である。
【図７】本実施形態のオフラインティーチング装置で得られる処理結果データの説明図である。
【図８】本実施形態のオフラインティーチング装置における動作経路データ作成回路のブロック図である。
【図９】本実施形態のオフラインティーチング装置における動作経路探索方法のフローチャートである。
【図１０】本実施形態のオフラインティーチング装置における動作経路探索方法のフローチャートである。
【図１１】本実施形態のオフラインティーチング装置における各打点に設定された累積探索割当時間と経過時間との関係説明図である。
【符号の説明】
１０…オフラインティーチング装置  １２…多関節ロボット装置
２４…ロボット制御部              ２６…制御部
３６…ハードディスク              ４２…動作経路データ作成回路
４４…シミュレーション回路        ５６…動作経路作成プログラム
５８…条件データ                  ６０…処理結果データ
７０…探索スケジュール設定部      ７２…動作経路探索部
７４…経過時間計測部              ７６…経過時間比較判定部
７８…探索処理制御部
【図１】
0004340407.tif 000002
【図２】
0004340407.tif 000003
【図３】
0004340407.tif 000004
【図４】
0004340407.tif 000005
【図５】
0004340407.tif 000006
【図６】
0004340407.tif 000007
【図７】
0004340407.tif 000008
【図８】
0004340407.tif 000009
【図９】
0004340407.tif 000010
【図１０】
0004340407.tif 000011
【図１１】
0004340407.tif 000012