(57)【特許請求の範囲】
【請求項１】
動作プログラムをコンピュータにより自動的に生成してロボットを動作せさるロボット制御方法であって、
ロボット姿勢、ツール姿勢およびツールのそれぞれについて所定数の作業態様候補をそれぞれの優先順位にしたがってデータベースから選択する手順と、
選択された各作業態様候補の中からロボット姿勢、ツール姿勢およびツールのそれぞれの作業態様候補をそれぞれの優先順位にしたがって採用する手順と、
ロボット姿勢、ツール姿勢およびツールのそれぞれについて採用された作業態様候補により所定作業に対するロボットの動作をシミュレーションする手順と、 前記シミュレーションでの作業経路における部材との干渉の有無を自動的にチェックする手順と、
前記チェックにより干渉が確認された場合、干渉区間長を算出する手順と、
前記干渉区間長が第１の設定値を超えていなければ、干渉個所でロボットの作業経路を自動的に分断する手順と、
前記分断により干渉区間が排除された作業経路内においてロボットを動作させる手順
とを含んでいることを特徴とするロボット制御方法。
【請求項２】
干渉区間長が最小となるようロボット姿勢、ツール姿勢およびツールを選択することを特徴とする請求項１記載のロボット制御方法。
【請求項３】
干渉区間長が第１の設定値を超えていれば、干渉回避処理を行うことを特徴とする請求項１記載のロボット制御方法。
【請求項４】
干渉回避処理が、ロボット姿勢を変更するロボット姿勢処理を含み、ロボットアームと部材とが干渉する区間の長さが第２の設定値を超えている場合において、ロボット姿勢を変更する余地があれば、ロボット姿勢を変更することを特徴とする請求項３記載のロボット制御方法。
【請求項５】
ロボット姿勢の変更が予め定めた優先順位の高い順になされることを特徴とする請求項４記載のロボット制御方法。
【請求項６】
干渉回避処理が、ツール姿勢を変更するツール姿勢処理を含み、ロボットアームと部材とが干渉する区間の長さが第２の設定値を超えていないか、あるいは超えていてもロボット姿勢を変更する余地がない場合において、ツール姿勢に変更する余地があれば、ツール姿勢を変更することを特徴とする請求項３記載のロボット制御方法。
【請求項７】
ツール姿勢の変更が予め定めた優先順位の高い順になされることを特徴とする請求項６記載のロボット制御方法。
【請求項８】
干渉回避処理が、ツールを変更するツール変更処理を含み、ロボットアームと部材とが干渉する区間の長さが第２の設定値を超えていないか、あるいは超えていてもロボット姿勢を変更する余地がない場合で、かつツール姿勢を変更する余地がない場合において、ツールを変更する余地があれば、ツールを変更することを特徴とする請求項３記載のロボット制御方法。
【請求項９】
ツールの変更が予め定めた優先順位の高い順になされることを特徴とする請求項８記載のロボット制御方法。
【請求項１０】
前記干渉回避処理により、ロボット姿勢、ツール姿勢またはツールが変更された場合、再度シミュレーションして作業経路における部材との干渉の有無をチェックすることを特徴とする請求項４、５、６、７、８または９記載のロボット制御方法。
【請求項１１】
動作プログラムをコンピュータにより自動的に生成してロボットを動作せさるロボット制御システムであって、
データベースを備え、
ロボット姿勢、ツール姿勢およびツールのそれぞれについて所定数の作業態様候補をそれぞれの優先順位にしたがって前記データベースから選択し、選択された各作業態様候補の中からロボット姿勢、ツール姿勢およびツールのそれぞれの作業態様候補をそれぞれの優先順位にしたがって採用し、前記ロボット姿勢、ツール姿勢およびツールのそれぞれについて採用された作業態様候補により所定作業に対するロボットの動作をシミュレーションし、前記シミュレーションでの作業経路における部材との干渉の有無を自動的にチェックし、前記チェックにより干渉が確認された場合、干渉区間長を算出し、前記干渉区間長が第１の設定値を超えていなければ、干渉個所でロボットの作業経路を自動的に分断し、前記分断により干渉区間が排除された作業経路内においてロボットを動作させるよう構成されてなることを特徴とするロボット制御システム。
【請求項１２】
干渉区間長が最小となるようロボット姿勢、ツール姿勢およびツールを選択するよう構成されてなることを特徴とする請求項１１記載のロボット制御システム。
【請求項１３】
干渉区間長が第１の設定値を超えていれば、干渉回避処理を行うよう構成されてなることを特徴とする請求項１１記載のロボット制御システム。
【請求項１４】
干渉回避処理が、ロボット姿勢を変更するロボット姿勢処理を含み、ロボットアームと部材が干渉する区間の長さが第２の設定値を超えている場合において、ロボット姿勢を変更する余地があれば、ロボット姿勢を変更するよう構成されてなることを特徴とする請求項１３記載のロボット制御システム。
【請求項１５】
ロボット姿勢の変更が予め定めた優先順位の高い順になされるよう構成されてなることを特徴とする請求項１４記載のロボット制御システム。
【請求項１６】
干渉回避処理が、ツール姿勢を変更するツール姿勢処理を含み、ロボットアームと部材が干渉する区間の長さが第２の設定値を超えていないか、あるいは超えていてもロボット姿勢を変更する余地がない場合において、ツール姿勢に変更する余地があれば、ツール姿勢を変更するように構成されてなることを特徴とする請求項１３記載のロボット制御システム。
【請求項１７】
ツール姿勢の変更が予め定めた優先順位の高い順になされるように構成されてなることを特徴とする請求項１６記載のロボット制御システム。
【請求項１８】
干渉回避処理が、ツールを変更するツール変更処理を含み、ロボットアームと部材が干渉する区間の長さが第２の設定値を超えていないか、あるいは超えていてもロボット姿勢を変更する余地がない場合で、かつツール姿勢を変更する余地がない場合において、ツールを変更する余地があれば、ツールを変更するように構成されてなることを特徴とする請求項１３記載のロボット制御システム。
【請求項１９】
ツールの変更が予め定めた優先順位の高い順になされるように構成されてなることを特徴とする請求項１８記載のロボット制御システム。
【請求項２０】
前記干渉回避処理により、ロボット姿勢、ツール姿勢またはツールが変更された場合、再度シミュレーションして作業経路における部材との干渉の有無をチェックするように構成されてなることを特徴とする請求項１４、１５、１６、１７、１８または１９記載のロボット制御システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はロボット制御方法およびロボット制御システムに関する。さらに詳しくは、ロボットに対する教示作業が自動化されているロボット制御方法およびロボット制御システムに関する。
【０００２】
【従来の技術】
従来より、溶接ロボットなどの産業用ロボットにおける動作教示方法として、生産ライン上で実際のロボットおよびワークを用いて教示を行うオンラインティーチングと、パソコンなどの計算機を利用して仮想の空間内で仮想のロボットと仮想のワークとを用いて教示を行うオフラインティーチングとが知られている。
【０００３】
その中で、実際の生産ラインの外で実際のロボットを使用することなく教示作業を行うオフラインティーチングは、計算機のキーボードおよびマウスなどの操作だけで手軽に教示作業が行えるため、生産性を向上させるものとして注目されている。
【０００４】
しかしながら、従来のオフラインティーチングは、たとえ計算機の操作とはいえ実際に教示作業を行わなければならず、したがって船舶・橋梁部材などの多品種少量生産品を対象とする分野、すなわち教示された動作をロボットが多数回繰り返し実行することが少ない分野では教示作業に要する時間の割合が長くなり生産性が低下するという問題がある。
【０００５】
そこで、ＣＡＤ（Computer Aided Design）システムにより作成されるワークの形状データおよび溶接設計データを利用して溶接ロボットの動作プログラムを計算機により自動的に生成し、教示作業そのものを自動化する「ティーチレス」技術（以下、教示自動化技術という）がより注目されるようになってきている（特開平１０−１８７２２３号公報参照）。
【０００６】
ところが、従来の教示自動化技術は、主に平面的な単純な形状のワークへの適用を想定したものであり、したがって立体的で複雑な形状のワークに従来の教示自動化技術を適用すると、ツールおよびロボットアームとワークとの干渉関係を正確に把握できない場合があるという問題がある。
【０００７】
また、そのような複雑な形状のワークに対して作業を行う場合は、一般にツールなどがワークと干渉する干渉箇所が増加し、干渉箇所の作業を省略する方法ではロボットによる施工率が低下してしまうという問題がある。
【０００８】
【発明が解決しようとする課題】
本発明はかかる従来技術の課題に鑑みなされたものであって、複雑な形状のワークに対してもロボットアームおよびツールとワークなどの部材とができるだけ干渉しないような最適なロボットの作業態様を自動的に選択し、ロボットを動作させることができるロボット制御方法およびロボット制御システムを提供することを目的としている。
【０００９】
【課題を解決するための手段】
本発明のロボット制御方法は、動作プログラムをコンピュータにより自動的に生成してロボットを動作せさるロボット制御方法であって、
ロボット姿勢、ツール姿勢およびツールのそれぞれについて所定数の作業態様候補をそれぞれの優先順位にしたがってデータベースから選択する手順と、
選択された各作業態様候補の中からロボット姿勢、ツール姿勢およびツールのそれぞれの作業態様候補をそれぞれの優先順位にしたがって採用する手順と、
ロボット姿勢、ツール姿勢およびツールのそれぞれについて採用された作業態様候補により所定作業に対するロボットの動作をシミュレーションする手順と、 前記シミュレーションでの作業経路における部材との干渉の有無を自動的にチェックする手順と、
前記チェックにより干渉が確認された場合、干渉区間長を算出する手順と、
前記干渉区間長が第１の設定値を超えていなければ、干渉個所でロボットの作業経路を自動的に分断する手順と、
前記分断により干渉区間が排除された作業経路内においてロボットを動作させる手順とを含んでいることを特徴とする。
【００１０】
本発明のロボット制御方法においては、干渉区間長が最小となるようロボット姿勢、ツール姿勢およびツールを選択するのが好ましい。
【００１１】
本発明のロボット制御方法においては、前記干渉区間長が第１の設定値を超えていれば、干渉回避処理を行うのが好ましい。
【００１２】
また、本発明のロボット制御方法においては、前記干渉回避処理が、ロボット姿勢を変更するロボット姿勢処理を含み、ロボットアームと部材とが干渉する区間の長さが第２の設定値を超えている場合において、ロボット姿勢を変更する余地があれば、ロボット姿勢を変更するのが好ましい。その場合、ロボット姿勢の変更が予め定めた優先順位の高い順になされるのがさらに好ましい。
【００１３】
さらに、本発明のロボット制御方法においては、前記干渉回避処理が、ツール姿勢を変更するツール姿勢処理を含み、ロボットアームと部材とが干渉する区間の長さが第２の設定値を超えていないか、あるいは超えていてもロボット姿勢を変更する余地がない場合において、ツール姿勢に変更する余地があれば、ツール姿勢を変更するのが好ましい。その場合、ツール姿勢の変更が予め定めた優先順位の高い順になされるのがさらに好ましい。
【００１４】
さらに、本発明のロボット制御方法においては、前記干渉回避処理が、ツールを変更するツール変更処理を含み、ロボットアームと部材とが干渉する区間の長さが第２の設定値を超えていないか、あるいは超えていてもロボット姿勢を変更する余地がない場合で、かつツール姿勢を変更する余地がない場合において、ツールを変更する余地があれば、ツールを変更するのが好ましい。その場合、ツールの変更が予め定めた優先順位の高い順になされるのがさらに好ましい。
【００１５】
さらに、本発明のロボット制御方法においては、前記干渉回避処理により、ロボット姿勢、ツール姿勢またはツールが変更された場合、再度シミュレーションして作業経路における部材との干渉の有無をチェックするのが好ましい。
【００１６】
一方、本発明のロボット制御システムは、動作プログラムをコンピュータにより自動的に生成してロボットを動作せさるロボット制御システムであって、
データベースを備え、
ロボット姿勢、ツール姿勢およびツールのそれぞれについて所定数の作業態様候補をそれぞれの優先順位にしたがって前記データベースから選択し、選択された各作業態様候補の中からロボット姿勢、ツール姿勢およびツールのそれぞれの作業態様候補をそれぞれの優先順位にしたがって採用し、前記ロボット姿勢、ツール姿勢およびツールのそれぞれについて採用された作業態様候補により所定作業に対するロボットの動作をシミュレーションし、前記シミュレーションでの作業経路における部材との干渉の有無を自動的にチェックし、前記チェックにより干渉が確認された場合、干渉区間長を算出し、前記干渉区間長が第１の設定値を超えていなければ、干渉個所でロボットの作業経路を自動的に分断し、前記分断により干渉区間が排除された作業経路内においてロボットを動作させるよう構成されてなることを特徴とする。
【００１７】
本発明のロボット制御システムにおいては、干渉区間長が最小となるようロボット姿勢、ツール姿勢およびツールを選択するよう構成されてなるのが好ましい。
【００１８】
また、本発明のロボット制御システムにおいては、干渉区間長が第１の設定値を超えていれば、干渉回避処理を行うよう構成されてなるのが好ましい。
【００１９】
さらに、本発明のロボット制御システムにおいては、前記干渉回避処理が、ロボット姿勢を変更するロボット姿勢処理を含み、ロボットアームと部材とが干渉する区間の長さが第２の設定値を超えている場合において、ロボット姿勢を変更する余地があれば、ロボット姿勢を変更するのが好ましい。その場合、ロボット姿勢の変更が予め定めた優先順位の高い順になされるのがさらに好ましい。
【００２０】
さらに、本発明のロボット制御システムにおいては、干渉回避処理が、ツール姿勢を変更するツール姿勢処理を含み、ロボットアームと部材が干渉する区間の長さが第２の設定値を超えていないか、あるいは超えていてもロボット姿勢を変更する余地がない場合において、ツール姿勢に変更する余地があれば、ツール姿勢を変更するよう構成されてなるのが好ましい。その場合、ツール姿勢の変更が予め定めた優先順位の高い順になされるように構成されてなるのがさらに好ましい。
【００２１】
さらに、本発明のロボット制御システムにおいては、干渉回避処理が、ツールを変更するツール変更処理を含み、ロボットアームと部材が干渉する区間の長さが第２の設定値を超えていないか、あるいは超えていてもロボット姿勢を変更する余地がない場合で、かつツール姿勢を変更する余地がない場合において、ツールを変更する余地があれば、ツールを変更するよう構成されてなるのが好ましい。その場合、ツールの変更が予め定めた優先順位の高い順になされるように構成されてなるのがさらに好ましい。
【００２２】
さらに、本発明のロボット制御システムにおいては、前記干渉回避処理により、ロボット姿勢、ツール姿勢またはツールが変更された場合、再度シミュレーションして作業経路における部材との干渉の有無をチェックするよう構成されてなるのが好ましい。
【００２３】
【作用】
本発明は、前記の如く構成されているので、ロボットが所定の作業を行うときに、ロボットアームおよびツールとワークとができるだけ干渉しないような最適な作業態様を自動的に選択し、施工率が高い動作をロボットになさせることができる。
【００２４】
【発明の実施の形態】
以下、添付図面を参照しながら本発明を実施形態に基づいて説明するが、本発明はかかる実施形態のみに限定されるものではない。
【００２５】
図１に、本発明の実施形態１に係るロボット制御方法に適用されるロボット制御システムの概略構成を示し、このロボット制御システム（以下、単にシステムという）Ａは、例えば船舶および橋梁などの構造物の各構成部分（以下、ワークという）の製造に用いられるロボット、特にワークの各構成部材を相互に溶接する溶接用ロボットＲの動作プログラムを自動的に生成してロボットを動作させるものとされる。
【００２６】
システムＡは、具体的には、構造物および各ワーク（以下、構造物等という）の設計を行う設計ＣＡＤシステム１０と、構造物等の設計データおよび溶接設計データを利用してロボットＲの動作プログラムを作成する設計部門用ＣＡＭ（Computer Aided Manufacturing）２０および製造部門用ＣＡＭ３０と、設計部門用ＣＡＭ２０および製造部門用ＣＡＭ３０により生成された動作プログラムを作業実行時にロボットコントローラＣに供給する製造現場制御装置４０とを含み、これら各構成要素１０，２０，３０，４０が通信回線１を介して相互にデータ通信可能に接続されてなるものとされる。また、前記各構成要素１０，２０，３０，４０は、いわゆるパーソナルコンピュータなどの計算機にインストールされて動作する、各機能に対応するプログラムモジュールを含むソフトウェアから構成される。
【００２７】
ロボットＲは、例えば前後、左右および上下の３自由度を有する門構型移動装置（不図示である）に６軸のロボットアーム５０（図３等参照）が天吊りされてなるものとされる。また、ロボットアーム５０には溶接ツール６０が装着される。
【００２８】
設計ＣＡＤシステム１０は、構造物の設計・製図を行うためのシステムであって、設計される構造物に関する情報を構造物情報として保存するとともに、ワークＷ（図２参照）を構成する各部材Ｗ1，Ｗ2，…，Ｗnを相互に溶接するときの溶接線Ｂに関する情報を溶接線情報として保存する設計ＣＡＤ用データベース１１を備えてなるものとされる。
【００２９】
設計ＣＡＤ用データベース１１に保存される構造物情報には、構造物および構造物を構成する各ワークＷの形状を仮想空間内で再現可能にデータ化した３次元形状データが含まれる。また、溶接線情報には、溶接線の場所（例：ワークＷを構成する面のどこに当該溶接線が属するか）および溶接線の種類（例：水平溶接、立向溶接）に関する情報が含まれる。
【００３０】
設計部門用ＣＡＭ２０および製造部門用ＣＡＭ３０は、設計ＣＡＤシステム１０により生成される構造物の設計データを用いてロボットＲの動作プログラムを生成するシステムとされる。両者は内容的には同一とされ、例えば設計部門用ＣＡＭ２０で生成された動作プログラムを製造部門用ＣＡＭ３０で手直しするという運用がなされる。
【００３１】
また、設計部門用ＣＡＭ２０は、ロボットＲの動作を数値制御するためのＮＣ情報と、溶接の具体的な作業条件に応じた各種溶接条件をデータベース化した溶接条件データベース（ＤＢ）と、ツールとしての溶接トーチの運棒方法をデータベース化した運棒方法データベース（ＤＢ）と、ワーク位置を検出するためのセンシング方法をデータベース化したセンシング方法データベース（ＤＢ）と、ロボットの姿勢、ツールの姿勢およびツールの種類という各作業態様のカテゴリ毎に予め定めた優先順位を付して各種作業態様を予め作業態様候補として登録したロボット姿勢データベース、ツール姿勢データベースおよびツール種類データベース（以下、ロボット姿勢等データベース（ＤＢ）という）とを含むＣＡＭ用データベース２１を備えてなるものとされる。ＣＡＭ用データベース２１は、設計部門用ＣＡＭ２０と製造部門用ＣＡＭ３０とで共用される。
【００３２】
ここで、ロボット姿勢とは、図３に示すように、ツール６０の先端位置を原点Ｏとし、溶接線をＸ軸、その直交軸をＹ軸、上下方向をＺ軸とする座標系におけるロボットベース５１の位置Ｐ（Ｓx，Ｓy，Ｓz）を一つのパラメータとし（以下、前記座標系をベース座標系と称する）、ロボットアーム５０の形態（実施形態１では、「アンダー」と「アッパー」の２種類がある）を他の一つのパラメータとして定義される作業形態をいう。
【００３３】
すなわち、同図（ａ）に示すロボット姿勢で、ロボットベース５１の位置Ｐ（Ｓx，Ｓy，Ｓz）をＰ´（Ｓx´，Ｓy´，Ｓz´）に変更とすると同図（ｂ）に示されたロボット姿勢となり、ロボットアーム５０の形態を「アッパー」から「アンダー」に変更すると同図（ｃ）に示されたロボット姿勢となる。
【００３４】
このように、ＣＡＭ用データベース２１のロボット姿勢データベースは、ほぼ無限にあるロボット姿勢の中からツールおよびロボットアームとワークＷとの干渉を回避する上で有意な差異のある各ベース位置Ｐ（Ｓx，Ｓy，Ｓz）とロボットアーム５０の形態との組み合わせを予め所定数（例えば１１６種類）選出し、それら各組み合わせに予め定めた優先順位を付して登録してなるものとされる。
【００３５】
ロボット姿勢の優先順位は、ロボットに行わせる作業の品質を考慮して決定される。例えば、水平溶接の場合、溶接点に正対するロボットの姿勢、つまりＳxが値０であるロボット姿勢を基本姿勢として第１優先順位とし、以下、（２）：基本姿勢の形態を変更した姿勢、（３）：基本姿勢のベース位置をＹ方向にずらした姿勢、（４）：（３）の形態を変更した姿勢、（５）：基本姿勢のベース位置をＺ方向にずらした姿勢、（６）：（５）の形態を変更した姿勢、（７）：基本姿勢のベース位置をＹ、Ｚ方向にずらした姿勢、（８）：（７）の形態を変更した姿勢、（９）：基本姿勢のベース位置をＸ方向にずらした姿勢、（１０）：（９）の形態を変更した姿勢、（１１）：基本姿勢のベース位置をＸ、Ｙ方向にずらした姿勢、（１２）：（１１）の形態を変更した姿勢、（１３）：基本姿勢のベース位置をＸ、Ｚ方向にずらした姿勢、（１４）：（１３）の形態を変更した姿勢、（１５）：基本姿勢のベース位置をＸ、Ｙ、Ｚ方向にずらした姿勢、（１６）：（１５）の形態を変更した姿勢というような原則で予め定めた優先順位を決定する。なお、同一方向に複数の姿勢候補がある場合には、基本姿勢からの変更分が少ない姿勢を上位とし、また変更分が同じである場合は正の変更分の姿勢を上位とする。
【００３６】
ツール姿勢とは、図４に示すように、ツール６０の仰角θ、前進・後退角ψおよび回転角φを各パラメータとして定義される作業形態をいう。
【００３７】
ここで、ＣＡＭ用データベース２１に登録されるツール姿勢の優先順位は、ロボットに行わせる作業の品質を考慮して決定される。例えば、図４に示すように、直交して配される２つの板状部材Ｗ1、Ｗ2を溶接する場合であれば、仰角θが４５°、前進・後退角ψが０°、回転角φが０°のときのツール姿勢を基本姿勢として第１優先順位とし、以下、（２）：基本姿勢の回転角φを変更した姿勢、（３）：基本姿勢の仰角θを変更した姿勢、（４）：基本姿勢の前進・後退角ψを変更した姿勢、（５）：基本姿勢の仰角θおよび回転角φを変更した姿勢、（６）：基本姿勢の前進・後退角ψおよび回転角φを変更した姿勢、（７）：基本姿勢の仰角θ、前進・後退角ψおよび回転角φを変更した姿勢というように、予め定めた優先順位を決定する。なお、同一方向に複数の姿勢候補がある場合には、基本姿勢からの変更分が少ない姿勢を上位とし、また変更分が同じである場合は正の変更分の姿勢を上位とする。
【００３８】
また、ツール種類とは、図５に示すように、ツールの形態的・機能的差異による分類をいう。本実施形態では、ツール６０の軸Ｉに対する溶接トーチ６１の傾きにより、ストレートトーチ（同図（ａ））、２２．５度カーブドトーチ（同図（ｂ））および４５度カーブドトーチ（同図（ｃ））の３種類に分類される。
【００３９】
製造現場制御装置４０は、工場などの製造現場で各種機器を制御・管理するためのシステムとされ、ロボットＲの動作を数値制御するためのＮＣ情報を格納する製造現場データベース４１を備えてなるものとされる。
【００４０】
しかして、かかる構成のシステムＡにより自動的に動作プログラムを生成する教示自動化処理につき説明する。
【００４１】
図６に教示自動化処理のメインルーチンを示す。
【００４２】
ステップＳ１：ロボット姿勢、ツール姿勢およびツール種類という各作業態様カテゴリ毎に作業態様候補をＣＡＭ用データベース２１から取得する。
【００４３】
すなわち、ロボット姿勢データベースの中から溶接線Ｂの場所、溶接線Ｂの種類などを条件としてロボット姿勢候補を所定数選択し、ロボット姿勢候補テーブルを作成する。
【００４４】
下記表１に立向溶接の場合のロボット姿勢候補テーブルの一例を示す。また、下記表２に水平溶接の場合のロボット姿勢候補テーブルの一例を示す。
【００４５】
【表１】
0003639873.tif 000002
【００４６】
【表２】
0003639873.tif 000003
【００４７】
ツール姿勢は、図４に示した各パラメータθ、ψおよびφの中で本実施形態では例えば仰角θのみを変化させた姿勢を候補として選択する。すなわち、仰角θが４５°（ψおよびφはともに０°）であるものを基本姿勢として第１予め定めた優先順位とし、以下、仰角θが５０°、４０°、５５°、３５°である各ツール姿勢をこの予め定めた優先順位でツール姿勢候補として選択する。
【００４８】
ツール種類は、変更可能な全てのツールをツール種類候補として選択する。
【００４９】
ステップＳ２：各作業態様カテゴリ毎に予め定めた優先順位の最も高い候補を採用して今回の作業態様とする。
【００５０】
ステップＳ３：干渉チェック処理を実施する。すなわち、ロボットＲの動作経路上でツール６０およびロボットアーム５０とワークＷとの間で干渉が発生しないかをシミュレーションによりチェックする。以下、この干渉チェック処理につき説明する。
【００５１】
干渉チェック処理
図２に示すように、ロボットＲの動作経路上に設定される各チェックポイント、つまり溶接線Ｂに沿って等間隔で設定される各チェックポイントＰ1，Ｐ2，…，Ｐnにおいて、ツール６０およびロボットアーム５０とワークＷとが干渉しないかロボットアーム５０，ツール６０およびワークＷの各３次元形状データを利用してチェックする。
【００５２】
具体的には、ツール６０先端が各チェックポイントＰ1〜Ｐnにあるときに、ロボットアーム５０またはツール６０の各形状データがワークＷの形状データと交錯していないかを判断するようにして、干渉の有無をチェックする。図８（ａ）にツール６０およびロボットアーム５０とワークＷとが干渉しない場合を示し、同図（ｂ）にツール６０が部材Ｗ7と干渉している場合を示す。また、同図（ｃ）にロボットアーム５０が部材Ｗ8と干渉している場合を示す。
【００５３】
以下、図２（ｂ）に示すように、黒丸の各チェックポイントＰa，Ｐb，Ｐcでロボットアーム５０およびツール６０の両方がワークＷ（部材Ｗ3，Ｗ4）と干渉し、黒三角の各チェックポイントＰd，Ｐe，Ｐfでツール６０がワークＷ（部材Ｗ5）と干渉し、同黒三角の各チェックポイントＰg，Ｐh，Ｐi，Ｐjでロボットアーム５０がワークＷ（部材Ｗ6）と干渉している場合を例に説明する。
【００５４】
ステップＳ４：ツール６０およびロボットアーム５０とワークＷとの間に干渉が発生している区間の長さ（以下、干渉区間長という）ｄを演算し、干渉区間長ｄの溶接線Ｂ全長Ｌに対する割合が第１設定値Ｍを超えるか否かを判定する。
【００５５】
すなわち、前記黒丸の各チェックポイントＰa，Ｐb，Ｐcの区間長をｄrt、黒三角の各チェックポイントＰd，Ｐe，Ｐfの区間長をｄt、同黒三角の各チェックポイントＰg，Ｐh，Ｐi，Ｐjの区間長をｄrとすると、下記式（１）により干渉区間長ｄが算出される。
【００５６】
ｄ＝ｄrt＋ｄt＋ｄr                                          （１）
【００５７】
ここで、干渉区間長ｄの溶接線Ｂ全長Ｌに対する割合が第１設定値Ｍ以上であればステップＳ５の干渉回避処理に進み、第１設定値Ｍ以上でなければそのときのロボット姿勢、ツール姿勢およびツール種類の各作業態様の組み合わせを選択して、ステップＳ８に進む。
【００５８】
ステップＳ５：干渉回避処理を実施する。すなわち、ツール６０およびロボットアーム５０とワークＷとの干渉が発生した箇所での干渉を回避するように作業態様を変更するための処理を行う。
【００５９】
図７に干渉回避処理の手順をフローチャートで示す。
【００６０】
ステップＳ１１：これまでの処理でロボット姿勢が決定済みであるか否かが判定される。ロボット姿勢が決定されていればステップＳ１６に進み、決定されていなければステップＳ１２に進む。初回は決定されていないので、ステップＳ１２に進む。
【００６１】
ステップＳ１２：ロボットアーム５０がワークＷと干渉すると判断された区間の長さ（以下、ロボットアームと部材が干渉する区間の長さ長という）ｄarmを演算し、ロボットアームと部材が干渉する区間の長さ長ｄarmの溶接線Ｂ全長Ｌに対する割合が第２設定値Ｎ以上であるか否かを判定する。前記例では、ロボットアームと部材が干渉する区間の長さ長ｄarmは下記式（２）により演算される。
【００６２】
ｄarm＝ｄrt＋ｄr                                            （２）
【００６３】
ここで、前記割合が第２設定値Ｎ以上であればステップＳ１３に進み、第２設定値Ｎ以上でなければステップＳ２０に進み、現在のロボット姿勢候補をロボット姿勢に決定後、ステップＳ１６に進む。
【００６４】
ステップＳ１３：他にロボット姿勢候補があるか否かを判定する。他にロボット姿勢候補があればステップＳ１４に進み、他にロボット姿勢候補がなければステップＳ１５に進む。
【００６５】
ステップＳ１４：ロボット姿勢候補テーブル（表１または表２参照）の中から優先順位が次順位のロボット姿勢を選択した後、本干渉回避処理を終了し、図６の教示自動化処理に戻る。ステップＳ１２〜ステップＳ１４の処理によって、ロボットアーム５０とワークＷとの干渉箇所が多い場合にはロボット姿勢がツール姿勢よりも優先的に変更される。
【００６６】
ステップＳ１５：ロボットアームと部材が干渉する区間の長さ長ｄarmを最小とするロボット姿勢を選択し、ステップＳ１６に進む。
【００６７】
ステップＳ１６：他にツール姿勢候補があるか否かを判定する。他にツール姿勢候補があればステップＳ１７に進み、他にツール姿勢候補がなければステップＳ１８に進む。
【００６８】
ステップＳ１７：優先順位が次順位のツール姿勢を選択した後、本干渉回避処理を終了し、図６の教示自動化処理に戻る。
【００６９】
ステップＳ１８：他にツール種類候補があるか否かを判定する。ここで、他にツール種類候補がなければ本干渉回避処理を終了し、あればステップＳ１９のツール種類変更処理に進む。
【００７０】
ステップＳ１９：優先順位が次順位のツールを選択した後、本干渉回避処理を終了し、図６の教示自動化処理に戻る。なお、ここでツール６０の種類を変更したときには、第１優先順位のツール姿勢から再度ステップＳ３の干渉チェック処理を行う。
【００７１】
図６に戻り、ステップＳ６では、ロボット姿勢、ツール姿勢およびツール種類のいずれかに変更があったか否かを判定する。変更があれば前記ステップＳ３に戻り、変更がなければステップＳ７に進む。
【００７２】
ステップＳ７：干渉チェック処理の結果により干渉区間長ｄを最小とするロボット姿勢、ツール姿勢およびツール種類の各作業態様の組み合わせを選択する。
【００７３】
ステップＳ８：前記ステップＳ４またはステップＳ７で選択された各作業態様の組み合わせを最終的な作業態様として選択し、この作業態様で干渉箇所があればその箇所でロボットＲの動作経路を分割し、干渉が発生していない部分のみをロボットＲにより施工するものとして干渉を回避する。
【００７４】
すなわち、ロボット姿勢、ツール姿勢、ツール種類の変更による干渉回避処理の結果、図９に示すように、黒三角の各チェックポイントＰd、Ｐe、Ｐfの区間および同黒三角の各チェックポイントＰg、Ｐh、Ｐi、Ｐjの区間では干渉が解消し、黒丸の各チェックポイントＰa、Ｐb、Ｐcの区間ではロボットＲによる施工は行わないものとし、その余の区間Ｌ1、Ｌ2をロボットＲにより施工するように動作プログラムを生成する。
【００７５】
このように、本実施形態のロボット制御方法では、ロボット姿勢、ツール姿勢およびツール種類の各作業態様カテゴリ毎に作業品質に応じて予め定めた優先順位を付した作業態様候補を予め選定し、干渉区間長ｄが所定の長さを超えるときには前記予め定めた優先順位に従って作業態様を変更し、前記作業態様候補の中でロボットＲによる施工率が最も大きくなる作業態様を選択して動作プログラムが生成されるので、作業品質と作業効率とをバランスさせた最適な動作プログラムを生成することが可能となり、ロボットを効率よく動作させることができる。
【００７６】
また、干渉による作業不能な部分が所定長さ（割合）を超えるときにのみ作業態様を変更するようにしているので、最適な作業態様の探索に要する時間と、ロボットによる施工率アップによる作業時間節約とをバランスさせて動作プログラムを生成してロボットを動作させることも可能となる。
【００７７】
以上、本発明を実施形態に基づいて説明してきたが、本発明はかかる実施形態のみに限定されるものではなく、種々改変が可能である。例えば、実施形態では溶接ロボットを例に採り説明されているが、本発明の適用は溶接ロボットに限定されるものではなく、各種ロボットに適用でき、例えば塗装ロボットやシーリングロボットにも適用できる。
【００７８】
【発明の効果】
以上詳述したように、本発明によれば、複雑な形状のワークに対しても合理的な範囲で最適な作業態様を選定して、ロボットによる施工率の高い動作プログラムを自動生成して、ロボットを動作させることができるという優れた効果が得られる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るロボット制御方法が適用される教示自動化システムの概略構成を示すブロック図である。
【図２】ワークの一例を示す模式図であり、同（ａ）は斜視図、同（ｂ）は平面図を示す。
【図３】ロボット姿勢の各態様を示す斜視図であり、同（ａ）は変更前のロボット姿勢、同（ｂ）はベース位置変更後のロボット姿勢、同（ｃ）は形態変更後のロボット姿勢を示す。
【図４】ツール姿勢の態様を示す模式図であり、同（ａ）は斜視図、同（ｂ）は側面図、同（ｃ）は正面図を示す。
【図５】ツール種類の各態様を示す模式図であり、同（ａ）はストレートトーチ、同（ｂ）は２２．５度カーブドトーチ、同（ｃ）は４５度カーブドトーチを示す。
【図６】教示自動化処理の手順を示す流れ図である。
【図７】干渉回避処理の手順を示す流れ図である。
【図８】ツールおよびロボットアームとワークとの干渉の態様を示す模式図であり、同（ａ）は干渉のない場合、同（ｂ）はツールとワークとが干渉する場合、同（ｃ）はロボットアームとワークとが干渉する場合を示す。
【図９】ロボットの動作経路の分割例を示す模式図である。
【符号の説明】
１０    設計ＣＡＤシステム
１１    ＣＡＤ用データベース
２０    設計部門用ＣＡＭ
２１    ＣＡＭ用データベース
３０    製造部門用ＣＡＭ
４０    製造現場制御装置
４１    製造現場データベース
５０    ロボットアーム
６０    ツール
６１    トーチ
Ａ      ロボット制御システム
Ｃ      ロボットコントローラ
Ｒ      ロボット
Ｗ      ワーク
【図１】
0003639873.tif 000004
【図２】
0003639873.tif 000005
【図３】
0003639873.tif 000006
【図４】
0003639873.tif 000007
【図５】
0003639873.tif 000008
【図６】
0003639873.tif 000009
【図７】
0003639873.tif 000010
【図８】
0003639873.tif 000011
【図９】
0003639873.tif 000012