(57)【要約】【課題】  教示点を短時間修正しロボットや周辺設備を破損防止するプログラムの作成。【解決手段】  ロボットの教示点の情報とロボットの周囲環境モデルの情報とを格納する記憶部１１を有しロボットプログラムをオフラインで作成するプログラミング部１０と、ロボットの動作を制御しロボットを実際の教示点に移動させ実際の教示点の情報を捕えロボットプログラム上の教示点の情報を修正するロボット制御部２０とを有し、プログラミング部１０は、教示点の情報と周囲環境モデルの情報に基づきロボットをワークや障害物に干渉させずに現在位置から修正された教示点に向かって移動させる経路の生成手段１２を有し、ロボット制御部２０は、生成された経路に基づきロボットを修正された教示点に向かって移動させる手段２２を備え、移動後に修正された教示点を再び実際の教示点の情報に置換えることでロボットプログラム上の教示点の情報を修正する。【選択図】      図１
2006099260.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの教示点の情報と前記ロボット、該ロボットの作業対象ワークおよび該ロボットの作業障害物を含む周囲環境モデルの情報とを格納する記憶部を備え、該ロボットに一連の動作をさせるロボットプログラムを予めオフラインで作成するプログラミング部と、前記ロボットの動作を制御することで該ロボットを実際の教示点に移動させ該実際の教示点の情報を捕え前記ロボットプログラム上の教示点の情報を修正するロボット制御部とを備えたロボットプログラム作成装置において、
前記プログラミング部は、予め作成した前記ロボットプログラムに記述された教示点の情報と前記周囲環境モデルの情報とに基づいて、前記ロボットを前記作業対象ワークおよび前記作業障害物に干渉させずに該ロボットの現在位置から前記修正された教示点に向かって移動させる経路を生成する手段を備え、
前記ロボット制御部は、前記生成された経路に基づき前記ロボットを前記修正された教示点に向かって移動させる手段を備え、移動後に前記修正された教示点を再び実際の教示点の情報に置換えることで前記ロボットプログラム上の教示点の情報を修正する、
ことを特徴とするロボットプログラム作成装置。
【請求項２】
前記ロボットプログラムに記述された教示点には、位置修正が必要な教示点が何れであるかを特定するための要修正特定情報が付加されている、請求項１に記載のロボットプログラム作成装置。
【請求項３】
前記要修正特定情報は教示点の属性情報として設定される、請求項２に記載のロボットプログラム作成装置。
【請求項４】
前記プログラミング部は、位置修正が終了した教示点に対して位置修正終了情報を付加する手段を備える、請求項１乃至３の何れか１項に記載のロボットプログラム作成装置。
【請求項５】
前記プログラミング部は、位置修正が終了した教示点の属性情報の中に前記位置修正終了情報を設定する手段を備える、請求項４に記載のロボットプログラム作成装置。
【請求項６】
前記ロボット制御部は、
前記ロボットプログラムの起動操作を受けて該ロボットプログラムを実行する手段と、
前記起動操作を受けたとき、位置修正が必要であり、かつ該位置修正が未終了であるという条件を満たす教示点が存在するか否かを判断する手段と、
前記条件を満たす教示点が存在すると判断されたとき、前記起動を無視すると共に該条件を満たす教示点が存在していることを示す警告を表示する手段と、
を備えた請求項２乃至５の何れか１項に記載のロボットプログラム作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットプログラム作成装置に関し、特に、オフラインでロボットプログラムを作成して、作成したロボットプログラムで指定した教示点に対し、ロボットを実際の教示点に移動させその実際の教示点の情報を捕え上記ロボットプログラム上の教示点の情報を修正するロボットプログラム作成装置に関する。
【背景技術】
【０００２】
現在使用されているロボットプログラム作成装置では、オフラインで作成したロボットプログラムを現場に適用する場合、オフラインで作成したロボットプログラムを先頭からシングルステップで実行して、ロボットがワークに接触する手前におけるロボットの教示点でロボットを停止させジョグ送りを行いロボットがワークと接触するロボットの教示点の修正を行っている。ここで、ロボットの教示点とはロボットハンドではハンドの先端部、溶接ロボットでは溶接棒の先端部の位置を言い、ロボットの教示点の情報とは教示点の位置やロボットの姿勢を示す情報および教示点の関連情報、例えば属性情報を言う。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述した従来技術によるロボットプログラムの作成装置では、現状、オフラインで作成したロボットプログラムの中でどの教示点を修正するべきなのか見つけるのが難しい。この教示点を見つけるため、ロボットプログラムを先頭からすべて動作させる必要があり、ロボットを動作させながら教示点の修正を行うので、教示点の修正に時間がかかるという問題がある。
また、教示点の修正漏れがあった場合に、ロボットプログラムを実行させるとロボットとワークまたはロボットの周辺設備とが干渉してロボット、ワークまたはロボットの周辺設備を破損させてしまうという問題が生じる。
【０００４】
本発明は、上記問題を解決するためになされたものであり、教示点の修正に時間を要することなく、かつロボット、ワークまたはロボットの周辺設備を破損させることなくロボットプログラムを作成することを可能にするロボットプログラム作成装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成する本発明によるロボットプログラム作成装置は、オフラインでロボットプログラムを作成する際にロボットとワークまたはロボット周辺設備とが接触するロボットの教示点の情報をロボットプログラムに付加する。また、現在位置から修正が必要なロボットの教示点へ移動するためのパスを作成し、その教示点にロボットを移動する。また、修正するべき教示点がすべて修正されているかどうかの情報を残す。
【０００６】
より詳しくは、本発明によるロボットプログラム作成装置は、ロボットの教示点の情報と前記ロボット、該ロボットの作業対象ワークおよび該ロボットの作業障害物を含む周囲環境モデルの情報とを格納する記憶部を備え、該ロボットに一連の動作をさせるロボットプログラムを予めオフラインで作成するプログラミング部と、前記ロボットの動作を制御することで該ロボットを実際の教示点に移動させ該実際の教示点の情報を捕え前記ロボットプログラム上の教示点の情報を修正するロボット制御部とを備えたロボットプログラム作成装置において、前記プログラミング部は、予め作成した前記ロボットプログラムに記述された教示点の情報と前記周囲環境モデルの情報とに基づいて、前記ロボットを前記作業対象ワークおよび前記作業障害物に干渉させずに該ロボットの現在位置から前記修正された教示点に向かって移動させる経路を生成する手段を備え、前記ロボット制御部は、前記生成された経路に基づき前記ロボットを前記修正された教示点に向かって移動させる手段を備え、移動後に前記修正された教示点を再び実際の教示点の情報に置換えることで前記ロボットプログラム上の教示点の情報を修正する、ことを特徴とする。
【０００７】
上記ロボットプログラム作成装置において、前記ロボットプログラムに記述された教示点には、位置修正が必要な教示点が何れであるかを特定するための要修正特定情報が付加されている。
上記ロボットプログラム作成装置において、前記要修正特定情報は教示点の属性情報として設定される。
【０００８】
上記ロボットプログラム作成装置において、前記プログラミング部は、位置修正が終了した教示点に対して位置修正終了情報を付加する手段を備える。
上記ロボットプログラム作成装置において、前記プログラミング部は、位置修正が終了した教示点の属性情報の中に前記位置修正終了情報を設定する手段を備える。
【０００９】
上記ロボットプログラム作成装置において、前記ロボット制御部は、前記ロボットプログラムの起動操作を受けて該ロボットプログラムを実行する手段と、前記起動操作を受けたとき、位置修正が必要であり、かつ該位置修正が未終了であるという条件を満たす教示点が存在するか否かを判断する手段と、前記条件を満たす教示点が存在すると判断されたとき、前記起動を無視すると共に該条件を満たす教示点が存在していることを示す警告を表示する手段と、を備える。
【発明の効果】
【００１０】
上記構成により、オフラインでロボットプログラムを作成する際にワークと接触するロボットの教示点の情報をロボットプログラムに付加することにより、実機において教示修正をするべきロボットの教示点を簡単に見つけることが可能になる。これにより、従来のようにロボットプログラムの先頭からプログラムを実行しながら修正する必要がなくなるので、教示修正の時間を短縮することが可能になり、かつ現在位置から修正が必要なロボットの教示点へ移動するためのパスも作成され、そのパスを使ってロボットの教示点へロボットを移動させることによりロボット、ワークまたはロボットの周辺設備を干渉により破損させることなく安全にロボットの教示点にロボットをアプローチさせることが可能になる。また、修正するべき教示点がすべて修正されているかどうかがチェックされるので、修正漏れによるロボットやワークまたはロボットの周辺設備の干渉による損傷を防ぐことも可能になる。
【発明を実施するための最良の形態】
【００１１】
図１は本発明の一実施形態に係るロボットプログラム作成装置のブロック構成図であり、図２はロボットプログラム作成装置１、ロボット２およびロボットの作業対象であるワーク３の位置関係を示す図である。図１に示すロボットプログラム作成装置１は、ロボット２に所定の作業、例えば溶接、把持、運搬を実行させるためのロボットプログラムを作成するプログラミング部１０とロボット２に上記所定の作業を実行させるためのロボット２による動作を制御するロボット制御部２０とを有する。ここで、プログラミング部１０とロボット制御部２０のハードウェア構成について以下に説明する。
【００１２】
プログラミング部１０は、例えばパーソナルコンピュータからなり、コンピュータ本体、キーボードやマウス等の入力装置、表示ユニットやプリンタ等の出力装置およびコンピュータ本体とＬＡＮやインターネットを介した外部のコンピュータとの間でプログラムやデータを送受信する通信装置を有する（図示せず）。本実施形態では、この外部のコンピュータの１つとしてロボット制御部２０が接続されている。ロボット制御部２０には上記パーソナルコンピュータと同様の装置が設けられている他、ロボット２を動作させるサーボモータの駆動制御装置が設けられている。
【００１３】
上記コンピュータ本体は、ＣＰＵ、ＣＰＵが実行するプログラムやデータの一時記憶エリアおよびＣＰＵのワークエリアに用いられる主記憶装置としてのＲＡＭ、固定のプログラムやデータを記憶するＲＯＭ、必要に応じてＲＡＭに書込まれるプログラムやデータを格納する磁気ディスク等からなる補助記憶装置およびフレキシブルディスクＦＤやコンパクトディスクＣＤ等のようなプログラムやデータの記録媒体Ｍの読取装置を有する。ＣＰＵ、ＲＡＭ、ＲＯＭ、補助記憶装置および読取装置は、バスラインを介して互いに通信可能に接続されている。次に、本実施形態に係るプログラミング部１０とロボット制御部２０の機能構成について以下に説明する。
【００１４】
図１に示すプログラミング部１０は、記憶部１１と教示点アプローチパス生成部１２を有する。記憶部１１は、ロボット２に一連の動作をさせるロボットプログラムと、ロボット２の教示点の情報と、ロボット２、ロボット２の作業対象ワーク３およびロボット２の作業障害物（不図示）を含む周囲環境モデルの位置や三次元形状の情報とを格納する。ロボットプログラムは予めオフラインで作成しておく。ロボット２の教示点とは、ロボットハンドではハンドの先端部の位置、溶接ロボットでは溶接棒の先端部の位置を言い、ロボットの教示点の情報とは教示点の位置やロボットの姿勢を示す情報および教示点の関連情報、例えば属性情報を言う。
【００１５】
教示点アプローチパス生成部１２は、記憶部１１に格納された予め作成したロボットプログラムとロボット２の各教示点の情報と周囲環境モデルの情報とに基づいて、ロボット２を干渉させることなく現在位置から修正された教示点に向かって移動させるアプローチパス（経路）を生成する。ここで、ロボット２の各教示点とは、各プログラム指令実行開始時のロボット２の教示点を言う。
【００１６】
図１に示すロボット制御部２０は、表示部２１とロボット駆動部２２を有する。表示部２１は、例えばＣＲＴまたは液晶表示装置であり、プログラム部１１から送られた修正を要するロボット２の教示点の情報等を表示する。ロボット駆動部２２は、本実施形態ではロボット２を動作（６軸回転）させるためロボット２に組込まれた６つのサーボモータを駆動制御する装置を有する。この装置により、６軸の回転角度で示されるロボット２の教示点までロボット２の各軸を駆動させ停止させる。ロボット制御部２０は、ロボット２の動作を制御することでロボット２を実際の教示点に移動させその教示点の情報を捕え、予めオフラインで作成したロボットプログラム上の教示点の情報を捕えた情報に置換して修正する。ロボットプログラム上の教示点と実際の教示点とが異なるのは、ロボット２やワーク３の製造誤差や据付精度誤差、あるいはロボット２がロボットアームであればアームにたわみ等が生じるからである。
【００１７】
図３は図１に示すロボットプログラムの作成装置の処理手順を示すフローチャートである。以下、図３のフローチャートにしたがってロボットプログラム作成手順を説明する。
ステップＳ１では、予め記憶部１１に格納されたモデル化されたロボット、ロボットの作業対象ワークおよびロボットの作業障害物などの周囲環境モデルの位置や形状に関する情報を用いて、プログラム部１０でロボットプログラムを作成する際に、実機で教示修正が必要な教示点、本実施形態ではロボットの溶接棒の先端と車体のスポット溶接部が接触する位置の情報を作成する。
【００１８】
図４は車体のスポット溶接を行うロボットの溶接棒先端の移動経路を示す図である。図４から、ロボットの溶接棒先端の位置がＰ１、Ｐ２、…、Ｐ１７と移動する状態が示され、ロボットの溶接棒の先端とロボット２の作業対象ワークである車体３のスポット溶接部が接触する位置が、Ｐ３、Ｐ５、Ｐ７、Ｐ１０、Ｐ１２、Ｐ１４であることが判る。
図５はロボット制御部２０の表示部２１の画面に表示される教示位置と属性情報の表示例を示す図であり、図６はプログラムヘッダおよびロボットプログラムの表示例を示す図である。
【００１９】
ワークである車体３と接触するような確実に実機において教示修正が必要な教示点の情報を図５に示すように教示点の属性情報または図６に示すようにロボットプログラムヘッダ情報などに記録する。図６から判るように、位置修正要の教示点には○が、位置修正不要の教示点には×が示され、修正完了した教示点には×が示される。この教示点の情報は別ファイルに記録させることも可能である。なお、ロボットプログラムの本文において、第１行目のＰ  １００％は  Ｐ［１］は、「教示点Ｐ１に各軸１００％の速度で向かえ」という命令を示し、第３行目のＬ  ２０００ｍｍ／ｓｅｃ  Ｐ［３］は、「直線で教示点Ｐ３に先端速度２０００ｍｍ／ｓｅｃで向かえ」という命令を示している。
【００２０】
ステップＳ２では、このようにプログラム部１０で作成されたロボットプログラムと各教示点の情報をロボット制御部２０に送信する。
図７は教示点Ｐ１〜Ｐ１７の情報を示す図である。本実施形態では極座標系におけるロボットの教示点Ｐ１〜Ｐ１７の６軸の極座標データがプログラム部１０の記憶部１１に格納される。教示点の情報は、実施形態によっては直交座標系のデータが用いられる。
ステップＳ３では、ロボット制御部２０は、送信されたプログラムと教示点の情報とから実機で修正する必要がある教示点を表示部２１の画面上に一覧表示する。オペレータは、この画面を見てプログラム部１０に修正要の教示情報を送信する。
【００２１】
図８は実機で修正する必要がある教示点の一覧表を示す図である。図８からＮｏ．１〜Ｎｏ．６の６箇所の教示点が修正要であり、その実行プログラム名がメインプログラムかサブプログラムかまた何れのサブプログラムかであり、かつ対応するプログラムの行番号が判る。さらに、この一覧表には、修正済みの箇所は「修正済」が表示され、未修正の箇所は「未修正」が表示される。図８の右下の「アプローチ」は、教示点へのアプローチ操作実行時に押すボタンであり、「位置修正」は教示点の位置修正完了時に押すボタンであり、このボタン操作で「未修正」から「修正済」に変更される。
ステップＳ３では、ロボット制御部２０は、さらに、ロボット２の現在位置と今回修正する教示点の情報をプログラム部１０に送る。
【００２２】
ステップＳ４では、プログラム部１０は現在位置から修正する教示点への移動パスを作成する。
作成したパスを周囲環境モデル上で実行してワーク３や周辺機器（不図示）などと干渉しないことを確認する。干渉する場合は、干渉しないようパスに経由点を追加して干渉しないようにするパスを作成する。また、パスの作成に際しては、教示点まで移動するか、教示点の所定距離手前で停止するかの設定によりパスの最終到達位置を決定する。
【００２３】
図９は車体のスポット溶接を行うロボットの溶接棒先端の移動経路を新たに作成した移動パスを示す図である。ロボットの溶接棒先端の現在位置がＰ２の場合でＰ１２の教示点が接触し得るので修正したい場合、Ｐ２→Ｐ９→Ｐ１１→Ｐ１２とパスを移動することが示されている。
ステップＳ４では、このように作成したパスをロボット制御部２０に送信する。
【００２４】
ステップＳ５では、ロボット制御部２０は、移動パスに沿って教示点にアプローチして教示修正作業を実行する。
教示点へアプローチ後、ジョグ機能などを使って位置修正を行うと修正が完了したことが記録される。教示点毎に教示修正が完了しているかどうかの情報が記録される。
ステップＳ６では、全ての修正が完了したか否かを判定し、全ての修正が完了と判定されたときはステップＳ７に進み、ステップＳ７で教示修正したプログラムを実行し、少なくとも１つの修正が未完であると判定されたときはステップＳ４に戻り、ステップＳ４、Ｓ５を繰返し実行する。
【００２５】
図１０は警告画面の具体例を示す図である。
教示点の位置修正がすべて完了したらロボットプログラムを実行する。その際、属性情報に記録されている教示修正が必要な教示点の教示修正完了情報をすべてチェックし、修正が必要にも関わらず修正が完了していない教示点がある場合は、図１０に示すように、未修正のプログラム名（サブプログラム３、サブプログラム４）、行番号（１１行、２０行）および修正済か未修正かの修正状況（未修正）を示すと共に、その旨を警告表示してそれでも起動するかどうか判断を促す。
警告が表示されて起動した場合でも、未修正の教示点に移動する前に警告が表示される。起動しなかった場合は、教示修正を行う画面に切替わる。
各教示点の要教示修正、修正完了の情報は、教示点の属性情報、ロボットプログラムのヘッダまたはロボットプログラムとは別のファイルのいずれかの場所に記憶される。
【００２６】
ステップＳ８では、ロボットプログラムの実行が可能であったか否かを判定し、ロボットプログラムの実行可能と判定されたときは本処理を終了し、ロボットプログラムの実行不能と判定されたときはステップＳ９に進み、ステップＳ９で未修正の教示点を修正し、ステップＳ７に戻る。
【図面の簡単な説明】
【００２７】
【図１】本発明の一実施形態に係るロボットプログラム作成装置のブロック構成図である。
【図２】ロボットプログラム作成装置、ロボットおよびロボットの作業対象であるワークの位置関係を示す図である。
【図３】図１に示すロボットプログラムの作成装置の処理手順を示すフローチャートである。
【図４】車体のスポット溶接を行うロボットの溶接棒先端の移動経路を示す図である。
【図５】ロボット制御部の表示部の画面に表示される教示位置と属性情報の表示例を示す図である。
【図６】プログラムヘッダおよびロボットプログラムの表示例を示す図である。
【図７】教示点の情報を示す図である。
【図８】実機で修正する必要がある教示点の一覧表を示す図である。
【図９】車体のスポット溶接を行うロボットの溶接棒先端の移動経路を新たに作成した移動パスを示す図である。
【図１０】警告画面の具体例を示す図である。
【符号の説明】
【００２８】
１    ロボットプログラム作成装置
２    ロボット
３    ワーク
１０    プログラム部
１１    記憶部
１２    教示点アプローチパス生成部
２０    ロボット制御部
２１    表示部
２２    ロボット駆動部
【図１】
2006099260.tif 000003
【図２】
2006099260.tif 000004
【図３】
2006099260.tif 000005
【図４】
2006099260.tif 000006
【図５】
2006099260.tif 000007
【図６】
2006099260.tif 000008
【図７】
2006099260.tif 000009
【図８】
2006099260.tif 000010
【図９】
2006099260.tif 000011
【図１０】
2006099260.tif 000012