(57)【特許請求の範囲】
【請求項１】
動作プログラムに従いロボット（１０）の動作を制御するロボットコントローラ（２０）に接続されロボットの動作姿勢を画面表示するシミュレータ（３０）を備え、上記動作プログラムの作成を支援するロボット動作教示支援装置であって、
上記ロボットコントローラは、ロボットの動作姿勢の将来位置を算出する将来位置算出部（２１）を有し、
上記シミュレータは、上記将来位置算出部から供給される将来位置でのロボットの動作姿勢を画面表示し、かつ将来位置での当該ロボットの干渉の有無を判断する干渉予知装置（３１）を有し、
上記ロボットコントローラに接続されロボットの動作位置情報を入力する教示装置（４０）をさらに備え、ここで教示装置は、上記動作プログラムにおいて作成されるロボットの動作姿勢の第１動作位置情報及び第２動作位置情報のうち第１動作位置情報が入力されるものであり、
上記将来位置算出部は、上記教示装置から入力された上記第１動作位置情報に応じて、ロボットの動作姿勢の将来位置に相当する上記第２動作位置情報を算出する、
ことを特徴とするロボット動作教示支援装置。
【請求項２】
上記干渉予知装置は、干渉有の判断に従いロボットコントローラへロボットの動作停止を指示する動作停止部（３１ｃ）を有する、請求項１記載のロボット動作教示支援装置。
【請求項３】
上記干渉予知装置は、ロボットにおける実際の作業環境と同じ位置関係でロボット及びロボット周辺装置を配置した３次元仮想空間を生成する仮想空間生成部（３１ａ）を有し、この３次元仮想空間において上記将来位置でのロボットの動作姿勢を表示し、
上記干渉予知装置は、さらに、教示装置から入力される動作位置情報に伴い変化するロボットの将来位置における干渉の有無を上記３次元仮想空間において判断し、かつ上記教示装置に対して干渉箇所を表示させる教示装置用干渉表示部（３１ｄ）を有する、請求項２記載のロボット動作教示支援装置。
【請求項４】
上記教示装置は、上記干渉予知装置における干渉有無の判断を有効又は無効にする有効／無効切替ボタン（４２）を有する、請求項３に記載のロボット動作教示支援装置。
【請求項５】
上記将来位置算出部は、数百ｍ秒から数秒先の将来位置を算出する、請求項１から４のいずれかに記載のロボット動作教示支援装置。
【請求項６】
上記干渉予知装置は、干渉有と判断するための、対象部材間の距離を可変に設定する距離設定部（３１ｅ）を有する、請求項１から５のいずれかに記載のロボット動作教示支援装置。
【請求項７】
動作プログラムに従いロボット（１０）の動作を制御するロボットコントローラ（２０）に接続されてロボットの動作姿勢を画面表示するシミュレータ（３０）と、上記ロボットコントローラに接続されロボットの動作位置情報を入力する教示装置（４０）とを備えたロボット動作教示支援装置にて実行される、ロボットの動作プログラムの作成を支援するロボット動作教示支援方法であって、
上記教示装置を介して、上記動作プログラムにおいて作成されるロボットの動作姿勢の第１動作位置情報及び第２動作位置情報のうち第１動作位置情報が入力されたとき、
上記ロボットコントローラは、入力された上記第１動作位置情報に応じて、ロボットの動作姿勢の将来位置に相当する上記第２動作位置情報を算出し、
上記シミュレータは、ロボットにおける実際の作業環境と同じ位置関係でロボット及びロボット周辺装置を配置した３次元仮想空間を生成し、この３次元仮想空間において上記将来位置でのロボットの動作姿勢を表示し、さらに、上記教示装置から入力される動作位置情報に伴い変化するロボットの将来位置での干渉の有無を上記３次元仮想空間において判断し、
干渉有のときには、上記シミュレータは、さらに、ロボットコントローラに対してロボットの動作停止を指示し、かつ干渉を回避可能な動作位置情報を入力するために上記教示装置へ干渉箇所を表示させる、
ことを特徴とするロボット動作教示支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの例えば動作教示時に使用可能な動作教示支援装置及び教示支援方法に関する。
【背景技術】
【０００２】
例えば自動車製造工場等では、生産ラインには複数のロボットが設置され、自動車製造に関与している。近年では、生産設備の省スペース化及び生産性の効率化を図るため、生産ラインのロボット、及び、ワークや治具といったロボット周辺装置の配置は、密集化してきている。そのため、ロボット同士の配置間隔が狭くなり、またロボットと周辺装置との距離も接近、近接して配置されてきている。
【０００３】
一方、このようなロボットの動作は、ロボットコントローラにて制御される。一つのロボットコントローラには、一もしくは複数台のロボットが接続され、ロボットコントローラは、予め完成された動作プログラムに従い、ロボットの動作を制御する。このような動作プログラムに使用される、ロボットを動作させるための位置つまり教示位置は、例えば次のような方法で教示される。即ち、生産ラインに設置された実際のロボットに対して、例えばティーチングペンダントと呼ばれる教示装置を用いて教示作業者がロボットを教示位置まで動作させて、その位置情報を入力することで教示される。
【０００４】
一方、作成された動作プログラムが実行される実動作時におけるロボットの干渉防止を図るため、さらに干渉防止用の外部センサを用いる発明も提案されている（例えば特許文献１、２）。
【０００５】
さらにまた、上述のように生産ラインにてロボット等が密集配置される状況下では、実機にて教示作業を行うことは困難であることから、コンピュータ画面上に、生産ラインにおけるロボットを３次元的に表示させて、擬似的にロボット動作を再現するシミュレータが使用される場合が多い。このような擬似的に再現した空間領域にて、ロボットの侵入禁止領域を算出する発明もまた提案されている（例えば特許文献３）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−２３４４９５号公報
【特許文献２】特開２００９−１６２７０９号公報
【特許文献３】特開２０１０−２４０７７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述したような教示作業を行う場合、教示作業者の操作ミスは避けることができず、ロボット間の干渉などが発生する可能性がある。即ち、ロボットの教示作業の際には、一般的に教示作業者は、ロボットの手先(作業用のツールを取り付けている箇所)に注視して教示を行ってしまう傾向がある。そのため、ロボットの手先以外の例えば関節部分等には注意が行き届かず、隣接するロボットや周辺装置との干渉等が発生する可能性が生じる。
【０００８】
一旦、例えば周辺装置とロボットとが干渉し周辺装置が破損したような場合には、その修理時間及びコストが発生する。このような状況を避けるためには、ロボットを低速で動作させて教示作業を行う方法もあるが、教示作業に長時間を要するという問題が生じる。また、教示作業者は、干渉防止のため細心の注意を払って作業する必要があり、教示作業者への負担も大きい。
【０００９】
また、上記特許文献１、２の従来技術では、外部センサを使用する必要があり、装置構成が大きくなるという欠点がある。
【００１０】
また、上記特許文献３の発明は、ロボットの侵入禁止領域を算出するもので、物体同士が干渉するか否かを算出するものではない。よってこの場合も、干渉有無の確認が必要となり、やはり上述の教示プログラムの動作確認及び教示修正などの作業は、避けることができない。
【００１１】
本発明は、このような問題点を解決するためになされたもので、装置間の干渉防止を図ることができ、かつ該干渉防止のために要する作業を従来に比べて効率化することができる、ロボット動作教示支援装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、本発明は以下のように構成する。
即ち、本発明の第１態様におけるロボット動作教示支援装置は、動作プログラムに従いロボットの動作を制御するロボットコントローラに接続されロボットの動作姿勢を画面表示するシミュレータを備え、上記動作プログラムの作成を支援するロボット動作教示支援装置であって、
上記ロボットコントローラは、ロボットの動作姿勢の将来位置を算出する将来位置算出部を有し、
上記シミュレータは、上記将来位置算出部から供給される将来位置でのロボットの動作姿勢を画面表示し、かつ将来位置での当該ロボットの干渉の有無を判断する干渉予知装置を有する、ことを特徴とする。
【００１３】
また、上記干渉予知装置は、干渉有の判断に従いロボットコントローラへロボットの動作停止を指示する動作停止部を有することもできる。
【００１４】
また、上記ロボットコントローラに接続されロボットの動作位置情報を入力する教示装置をさらに備え、
上記干渉予知装置は、ロボットにおける実際の作業環境と同じ位置関係でロボット及びロボット周辺装置を配置した３次元仮想空間を生成する仮想空間生成部を有し、この３次元仮想空間において上記将来位置でのロボットの動作姿勢を表示し、
上記干渉予知装置は、さらに、教示装置から入力される動作位置情報に伴い変化するロボットの将来位置における干渉の有無を上記３次元仮想空間において判断し、かつ上記教示装置に対して干渉箇所を表示させる教示装置用干渉表示部を有することもできる。
【００１５】
また、本発明の第２態様におけるロボット動作教示支援方法は、動作プログラムに従いロボットの動作を制御するロボットコントローラに接続されてロボットの動作姿勢を画面表示するシミュレータと、上記ロボットコントローラに接続されロボットの動作位置情報を入力する教示装置とを備えたロボット動作教示支援装置にて実行される、ロボットの動作プログラムの作成を支援するロボット動作教示支援方法であって、
上記ロボットコントローラは、ロボットの動作姿勢の将来位置を算出し、
上記シミュレータは、ロボットにおける実際の作業環境と同じ位置関係でロボット及びロボット周辺装置を配置した３次元仮想空間を生成し、この３次元仮想空間において上記将来位置でのロボットの動作姿勢を表示し、さらに、上記教示装置から入力される動作位置情報に伴い変化するロボットの将来位置での干渉の有無を上記３次元仮想空間において判断し、
干渉有のときには、上記シミュレータは、さらに、ロボットコントローラに対してロボットの動作停止を指示し、かつ干渉を回避可能な動作位置情報を入力するために上記教示装置へ干渉箇所を表示させることを特徴とする。
【発明の効果】
【００１６】
本発明の第１態様におけるロボット動作教示支援装置、及び第２態様におけるロボット動作教示支援方法によれば、ロボットコントローラと接続するシミュレータを備え、該シミュレータによって、ロボットの動作姿勢の将来位置における干渉の有無を判断するように構成した。したがって、ロボット間、あるいはロボットとその周辺装置との間の干渉防止を図ることができ、かつ該干渉防止のために要する作業を従来に比べて効率化することができる。その結果、ロボットの動作プログラム設計者における負担を軽減することができ、教示作業の効率化及び時間短縮を図ることができる。また、生産ライン立ち上げ時間を短縮することもできる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態におけるロボット動作教示支援装置の構成を示すブロック図である。
【図２】図１に示すシミュレータに含まれる干渉予知装置の構成を説明するためのブロック図である。
【図３】図１に示すロボット動作教示支援装置の各構成部分を具体的な一実施例の態様にて示した図である。
【図４】図１に示すロボット動作教示支援装置にて実行されるロボット動作教示支援方法における基本的動作を示すフローチャートである。
【図５】図１に示すシミュレータの表示画面に表示された画像の一例を示す図である。
【図６】図１に示すシミュレータの表示画面に表示された画像の一部を示す図であり、干渉が予測された状態を示す図である。
【発明を実施するための形態】
【００１８】
本発明の実施形態であるロボット動作教示支援装置及び方法について、図を参照しながら以下に説明する。尚、各図において、同一又は同様の構成部分については同じ符号を付している。
【００１９】
図１は、本実施形態におけるロボット動作教示支援装置１００の構成をブロック図にて示している。また図３では、ロボット動作教示支援装置１００の各構成部分を、具体的な一実施例の態様にて示している。
【００２０】
例えば、完成された生産ラインでは、この生産ラインに設置されたロボットは、予め作成された動作プログラムに従い動作制御されて自動的に動作する。ロボット動作教示支援装置１００は、そのような動作プログラムを作成するときに使用されてロボット動作の教示を支援する装置である。
【００２１】
このような本実施形態のロボット動作教示支援装置１００は、基本的構成部分として、ロボットコントローラ２０と、このロボットコントローラ２０に接続されるシミュレータ３０とを備える。ロボットコントローラ２０は、上記動作プログラムに従いロボット１０の動作を制御する装置であり、シミュレータ３０は、ロボットコントローラ２０に通信ネットワーク５０を介して接続され、ロボットの動作姿勢つまりロボット各部の動きを表示画面３２に表示するとともに詳細後述の動作を行う装置である。以下に、これらの各構成部分についてさらに詳しく説明する。
【００２２】
本実施形態において、ロボット１０としては、生産ラインに配置される作業ロボットであり、一例として、自動車の製造ラインにおける溶接ロボットを例に採る。尚、図３では、一例として一台のロボット１０のみを図示するが、通常、複数台のロボット１０が配置され、これらのロボット１０が一台もしくは複数台のロボットコントローラ２０にて制御される。また、ロボット１０は、勿論、上記溶接ロボットに限定されず、例えば塗装用ロボット、組立用ロボット等であっても良く、さらに生産ライン用ロボットのように固定設置されるロボットに限らず、搬送用ロボット（ＡＧＶ）、さらにはポジショナ等であってもよい。
【００２３】
本実施形態において、ロボットコントローラ２０は、ロボット１０の動作姿勢の将来位置を算出する将来位置算出部２１を有する。ロボットコントローラ２０は、ロボット１０の動作部分の一つである例えばアームの現在位置情報、及びこのアームに指定された移動速度情報を有することから、将来位置算出部２１は、これらの情報から、指定時間後における当該アームの将来位置つまり将来の指令値を算出することができる。また、従来のロボットコントローラと同様に、ロボットコントローラ２０は、上記動作プログラム等を格納する記憶部２２も含む。
【００２４】
将来位置算出部２１が、例えばアームの将来位置を算出する方法について説明する。まず、ロボット１０における各関節毎に指令値を与えて動作させるモードである、ジョイント動作モードを例に取ると、将来の指令値はθ（ｔ＋１）＝θ（ｔ）＋ＴΔθによって算出される。ここで、θはロボット１０における各関節角度を成分とするベクトルであり、Δθは各関節角度の変化量である。Δθは各関節の角速度に制御周期時間を乗じることで求められる。Ｔはここでいう「将来」までの進み幅を仮想的に調整するためのパラメータであり、Ｔを大きな値とすると、より遠い将来の位置を算出できることになる。ジョイント動作モード以外のモード、即ち、ロボット１０におけるベース座標系上で指令値を与えて動作させるモードであるベース座標系動作モードや、ロボット１０におけるツール座標系上で指令値を与えて動作させるモードであるツール座標系動作モードの場合も、上記ジョイント動作モードの場合と同様に将来位置を算出することができる。
【００２５】
このようなロボットコントローラ２０は、図３に示すように、主としてコンピュータを用いて実現され、将来位置算出部２１は、その機能に対応するソフトウェアと、これを実行するためのＣＰＵ（中央演算処理装置）等のハードウェアから構成されている。また、上記動作プログラムは、ロボットコントローラ２０によって直接実行可能なものだけでなく、例えば通信線を介してロボットコントローラ２０に読み込まれハードディスク等にインストールすることによって実行可能となるものも含む。又、圧縮されたり、暗号化されたりしたものも含まれる。
【００２６】
また、ロボットコントローラ２０には、動作プログラムを作成するに際し教示作業者がロボット動作の教示を行うため、例えばロボットアームの移動先の位置情報を入力するための、例えばティーチングペンダントと呼ばれる、教示装置４０も接続されている。教示作業時には、教示作業者は、教示装置４０によってロボット１０を操作する。
よって、ロボットコントローラ２０における将来位置算出部２１は、教示装置４０からの入力値に応じて時々刻々変化する将来の指令値を算出する。
【００２７】
従来のシミュレータは、実際の生産ラインを組み立てる前の段階、つまり画面上で仮想的にロボットを配置した仮の生産ラインにおけるロボットの大まかな動作を実行、検証するために使用される装置である。
これに対して本実施形態に含まれるシミュレータ３０は、このような従来の使用方法のみならず、上述のように通信ネットワーク５０にてロボットコントローラ２０と接続され、完成状態に近い状態における生産ラインの状況を表示画面３２上でシミュレーションする装置であり、干渉予知装置３１を有している。尚、シミュレータ３０とロボットコントローラ２０とは、図示のように別物で構成されてもよいし、ロボットコントローラ２０の機能を実行するソフトウェア（プログラム）と、シミュレータ３０の機能を実行するソフトウェア（プログラム）とが一つのコンピュータに格納された構成を採ることもできる。
【００２８】
上記干渉予知装置３１は、ロボットコントローラ２０の将来位置算出部２１から供給される将来位置（将来の指令値）でのロボット１０の動作姿勢を表示画面３２に表示し、かつ将来位置での当該ロボット１０の干渉の有無を判断する装置である。ここでロボット１０の干渉とは、複数のロボット１０同士の例えばアーム同士が当接する場合や、あるいはワークや治具といった周辺装置と、例えばアームとが当接する場合等を意味する。
【００２９】
また、上述のようにロボットコントローラ２０には教示装置４０が接続されていることから、シミュレータ３０は、教示装置４０との間でも双方向の通信を行う。よって、教示装置４０から入力された位置情報に応じて、シミュレータ３０は、ロボット１０の動作姿勢を表示画面３２に表示することができる。一方、図３に示すように、教示装置４０は、表示画面４１を有することから、上記双方向通信により表示画面４１には、シミュレータ３０における表示画面３２と同じ画像を表示することができる。
よって、シミュレータ３０の干渉予知装置３１にて上記将来位置での干渉有が判断されたときには、干渉予知装置３１は、ロボットコントローラ２０へロボット１０の動作停止を指示する。そして教示作業者は、干渉回避のための修正位置情報を教示装置４０から入力することができる。
【００３０】
このような干渉予知装置３１は、本実施形態では図２に示すように、説明の便宜上、機能動作部分として、仮想空間生成部３１ａ、画面表示部３１ｂ、動作停止部３１ｃ、教示装置用干渉表示部３１ｄ、距離設定部３１ｅ、及び干渉判断部３１ｆを有する。
【００３１】
このようなシミュレータ３０は、図３に示すように実際にはパーソナルコンピュータを用いて実現され、仮想空間生成部３１ａ、画面表示部３１ｂ、動作停止部３１ｃ、教示装置用干渉表示部３１ｄ、距離設定部３１ｅ、及び干渉判断部３１ｆは、それぞれの機能に対応するソフトウェアと、これを実行するためのＣＰＵやメモリ等のハードウェアから構成されている。
尚、仮想空間生成部３１ａ等の各機能動作部分の詳しい機能については、下記の当該ロボット動作教示支援装置１００の動作説明部分にて説明を行う。
【００３２】
以上のように構成される本実施形態のロボット動作教示支援装置１００における動作、つまりロボット動作教示支援方法について、さらに図４から図６も参照して以下に説明する。
【００３３】
上述のように、ロボットコントローラ２０、シミュレータ３０、及び教示装置４０は互いに通信ネットワーク５０を介して接続されており、ロボット動作教示支援装置１００の大まかな動作としては、図４を参照して次のようになる。
即ち、ロボット１０における、教示しようとする教示位置について、教示作業者は、当該動作に関するロボット１０の位置情報を教示装置４０から入力する（ステップＳ１）。次に、ロボットコントローラ２０の将来位置算出部２１は、入力された位置情報に応じて将来位置（将来の指令値）を算出し（ステップＳ２）、算出した将来の指令値をシミュレータ３０の干渉予知装置３１へ送信する。そして干渉予知装置３１は、ロボット１０の将来位置における、ロボット間や周辺装置との干渉の有無を判断する（ステップＳ３）。ステップＳ３にて、将来位置において干渉有りと判断されたときには、干渉予知装置３１からロボットコントローラ２０へ停止信号が送信され、ロボットコントローラ２０は、ロボット１０の動作を停止させる（ステップＳ４）。よって、ロボット１０における実際の干渉は、未然に防止される。また、予知された将来位置での干渉を回避するため、再度ステップ１へ戻り、教示作業者は、教示装置４０から修正位置情報を入力することができ、シミュレータ３０は、修正位置情報に応じて再び将来位置での干渉の有無を判断する。
尚、以下で説明するが、図４ではステップＳ０にて３次元空間を生成する旨を示しているが、該動作は、必須の動作ではない。
【００３４】
より詳しくロボット動作教示支援装置１００の動作について説明する。
ロボット１０に対する教示作業を行っている教示作業者において、上述した干渉の有無が容易に認識できるように、シミュレータ３０の干渉予知装置３１は、まず、実際の作業環境と同じ位置関係となるようにロボット１０、上記周辺装置等を配置設定した３次元仮想空間を構築する（図４、ステップＳ０）。この動作は、入力された実際の作業環境の情報を用いて、図２に示す干渉予知装置３１の仮想空間生成部３１ａで実行され、構築される３次元仮想空間は、実際のロボット１０及び周辺装置等に則したモデルとなる。構築された３次元仮想空間モデルは、干渉予知装置３１の画面表示部３１ｂ（図２）によって、シミュレータ３０の表示画面３２へ表示される。表示された３次元仮想空間モデルの一例を図５に示す。
【００３５】
上述のように教示作業者は、教示装置４０を用いてロボット１０の動作位置及び姿勢を指示する（図４、ステップＳ１）。この動作姿勢の入力作業に応じて、一もしくは複数台のロボットコントローラ２０の将来位置算出部２１は、将来の指令値を算出し（図４、ステップＳ２）、通信ネットワーク５０を介してシミュレータ３０の干渉予知装置３１へ送信する。ここで上記将来の指令値は、実時刻よりも例えば数百ｍ秒〜数秒先の時刻における指令値であり、将来位置算出部２１は、上述の範囲内の一つの時刻を任意に設定可能である。
【００３６】
供給される将来の指令値に応じて、干渉予知装置３１は、ロボット１０同士、及びロボット１０と周辺装置との間の干渉の有無をチェックする（図４、ステップＳ３）。この動作は、図２に示す干渉予知装置３１の干渉判断部３１ｆで実行される。また、この動作と並行して、画面表示部３１ｂは、将来の指令値に従い、３次元仮想空間モデル内におけるロボット１０の動作姿勢の表示を逐次変化させる。既に説明したように、教示作業者が教示装置４０を用いてロボット１０を操作することにより、将来の指令値は時々刻々変化する。よって干渉予知装置３１においては、ある時点での将来の指令値に基づいて３次元仮想空間内のロボット１０の姿勢を決定し、干渉の有無をチェックする。
【００３７】
干渉予知装置３１での干渉チェックの結果、干渉が無い場合には、ロボット１０は、教示作業者の指示に従って動作する。そして、ロボット１０が、教示しようとする場所に移動後、ロボットコントローラ２０に対する教示装置４０からの記憶指示に基づいて、そのときのロボット１０の位置情報が記憶部２２に取り込まれて、教示が完成される。
一方、干渉チェックの結果、干渉が発生する場合には、ロボット１０がこのまま動作すると干渉が発生することとなるため、干渉予知装置３１は、通信ネットワーク５０を介してロボットコントローラ２０へ停止信号を送信する。この動作は、図２に示す干渉予知装置３１の動作停止部３１ｃで実行される。停止信号を受信したロボットコントローラ２０は、対応するロボット１０の動作を停止させる（図４、ステップＳ４）。これにより、干渉を未然に防止することができる。
【００３８】
また、この動作と並行して干渉予知装置３１は、画面表示部３１ｂによって、表示画面３２の３次元仮想空間モデル内で、例えば表示色を変更する等の手法にてロボット１０の干渉するであろう干渉予測部分を強調表示する。このような干渉状況における３次元仮想空間モデルを図６に示す。図６において、「１１」の符号を付した部分が強調表示された、ロボット１０の干渉予測部分に相当する。これにより、教示作業者は、干渉予測部分を容易に認識することができる。
【００３９】
さらにまた、上記停止信号の送信と並行してシミュレータ３０の干渉予知装置３１は、通信ネットワーク５０を介して接続されている教示装置４０に対しても干渉予知を通知し、ロボット１０の干渉予測部分に関する情報を送信する。この動作は、図２に示す干渉予知装置３１の教示装置用干渉表示部３１ｄで実行される。よって、教示装置４０の表示画面４１にも、シミュレータ３０の表示画面３２に表示されているのと同じ画像が表示され、ロボット１０の干渉予測部分も表示される。尚、教示装置４０は、表示画面４１の必要領域（例えば干渉予測部分）を拡大表示可能に構成されている。これにより教示作業者は、ロボット１０のどの部分に注意しなければならないのかを認識でき、干渉回避用の動作を指示するための目安にすることができる。
【００４０】
その後、再び、図４のステップＳ１に戻り、教示作業者は、教示装置４０を用いて干渉を回避できるようにロボット１０の動作位置及び姿勢を指示する。以下、ステップＳ３にて干渉無しが判断されるまで、同様にステップＳ２〜４が繰り返され、教示作業者は、ロボット１０における、教示しようとする教示位置の教示を終了する。そして他の教示位置についても同様の教示作業を行い、最終的にロボット１０の教示作業が完成する。
【００４１】
このように本実施形態のロボット動作教示支援装置１００を用いることで、ロボット１０の干渉予知が実行され、実際に干渉が発生する前にロボット１０は停止され、かつ、教示装置４０にロボット１０の干渉予測部分が表示されて、教示作業者は教示装置４０から修正位置情報を入力できる。したがって、ロボット１０の動作プログラムにおける干渉防止のために要する作業を従来に比べて効率的に行うことができ、教示作業の効率化及び時間短縮を図ることができる。よって、動作プログラム設計者における負担を軽減することもでき、さらには、生産ライン立ち上げ時間を短縮することもできる。そして、実際のロボット１０の動作においてロボット１０同士、あるいはロボット１０とその周辺装置との干渉防止を図ることができる。また、上述のロボット１０の停止を、一時停止のような迅速な作業再開が可能な態様での停止とすることで、作業を更に効率的に行うことができる。
【００４２】
以下には、本実施形態のロボット動作教示支援装置１００における更なる工夫点等について説明を行う。
シミュレータ３０では、上述したように仮想的な３次元空間を構築して干渉の有無をチェックしている。よって、この３次元仮想空間における機器配置と、実際の機器配置とは数ｍｍオーダー以上の位置誤差が発生することは避けることができない。このような位置誤差に起因する干渉の誤検出に対処するために、本実施形態のロボット動作教示支援装置１００では以下の２点を構成している。
【００４３】
一つ目として、干渉予知装置３１における干渉有無のチェックロジックでは、３次元仮想空間モデルを構成する幾何形状間の距離が設定値未満になったときに、干渉すると判断している。そこで、上記位置誤差に対処するために、干渉予知装置３１では、上記位置誤差に対応して上記設定値を調整することで対応する。理想の設定値はゼロである。この動作は、図２に示す干渉予知装置３１の距離設定部３１ｅで実行される。
【００４４】
他の一つとして、ロボットコントローラ２０の将来位置算出部２１で将来の指令値（将来の位置）を算出する際に、どれだけ先の将来の時刻における指令値を算出するかで調整する。より先の時刻の指令値を算出する方が感度は上がる。
【００４５】
また、上述の位置誤差への対処とも関係するが、デッドロックと呼ばれる状態にロボット１０が陥る場合がある。即ち、ロボット１０の例えばアームが狭隘部に進入してしまい、ほとんどの方向に動作させた場合に干渉有と判断されてしまい、ロボット１０が移動できなくなる場合が想定される。
このようなデッドロック状態からの離脱を容易に行うために、教示装置４０は、干渉チェックの有効あるいは無効を容易に切り替えることのできる有効／無効切替ボタン(干渉チェックオーバーライドボタン)４２（図１）を有する。例えば、教示作業者がこのボタンを押しながら、かつロボット１０の軸操作キーを押下する等してロボット１０の動作位置及び姿勢を指示したときには、教示装置４０は、干渉予知装置３１に対して干渉チェックを無効の状態とすることができる。尚、本機能は、上述の、位置誤差による誤検知への対策としても使用できる。
【００４６】
既に、位置誤差による誤検知への対策の一つとして実時刻から将来の指令値算出時刻までの時間を調整すること、及びこの時間は短い方が理想的であることを述べた。しかしながら、干渉予知を行う対象のロボット１０の台数が増加する等の場合には、干渉チェックに要する時間が増大してしまう。その結果、ロボット１０の将来位置をチェックできず、干渉が発生する可能性も生じる。そこで干渉発生を防止するために、物理的に計算量を削減して干渉チェック時間の短縮を図る方法がある。つまり、シミュレータ３０の干渉予知装置３１は、例えば干渉が発生しない、動作範囲外に配置されるロボット及び周辺装置について、干渉チェックを実行しないように構成してもよい。また、教示装置４０を用いて、干渉チェックの対象とする組み合わせを手動で設定するようにしてもよい。
【００４７】
また、上述の、物理的に計算量を削減する以外で干渉発生防止を図る方法として、次の方法を採ることもできる。即ち、干渉チェックに要する時間と、実時刻から将来の指令値算出時刻までの時間との比較を常時行い、干渉チェックに要する時間の方が長いと判断されたときには、例えば、教示装置４０を介して教示作業者にその旨を通知して教示作業者に実時刻から将来の指令値算出時刻までの時間設定を変更させる、あるいは干渉予知装置３１にて自動的に時間設定を調整する、等の手段を採るようにしてもよい。
【００４８】
また、本実施形態のロボット動作教示支援装置１００では、シミュレータ３０は、ロボットコントローラ２０と通信ネットワーク５０を介して常時接続されている構成であるが、シミュレータ３０を取り外し可能とし必要時のみ通信ネットワーク５０に接続するように構成してもよい。ここで必要時とは、上述したような生産ライン立ち上げ時や、例えばワーク変更、ライン変更などに伴うロボット１０の教示変更などである。
【００４９】
また、ロボット動作教示支援装置１００では、上述したように、教示作業時での干渉を回避するための装置として使用を想定しているが、完成した動作プログラムによる自動運転時のロボットのエラー停止、プログラムミスなどによる干渉を防止するためにも使用することができる。
【００５０】
また、ロボット１０の周辺装置及びワークなどは、静止しているもの以外にも、ポジショナなどにより移動するような物体でも干渉チェック対象とできる。
また、物体を移動させるためのアクチュエータに内蔵された、エンコーダ等のセンサからの情報に基づき、物体の位置を求めることができる場合や、レーザ距離センサのような外部のセンサにて物体の位置を計測してもよい。計測したデータを干渉予知装置３１に入力することで、３次元仮想空間内における物体の位置を決定してもよい。
【産業上の利用可能性】
【００５１】
本発明は、ロボットの動作教示時における教示支援装置及び教示支援方法に適用可能である。
【符号の説明】
【００５２】
１０…ロボット、２０…ロボットコントローラ、２１…将来位置算出部、
３０…シミュレータ、３１…干渉予知装置、３１ａ…仮想空間生成部、
３１ｂ…画面表示部、３１ｃ…動作停止部、３１ｄ…教示装置用干渉表示部、
３１ｅ…距離設定部、４０…教示装置、４２…有効／無効切替ボタン、
１００…ロボット動作教示支援装置。
【図１】
0005872894.tif 000002
【図２】
0005872894.tif 000003
【図３】
0005872894.tif 000004
【図４】
0005872894.tif 000005
【図５】
0005872894.tif 000006
【図６】
0005872894.tif 000007