(57)【要約】【課題】計測プログラムを自動的に作成し、オフラインプログラムの作成時間及び手間を大幅に削減することができるオフラインプログラミング装置を提供する。【解決手段】オフラインプログラミング装置１０は、作業台４０上の複数の参照点と、カメラ５０のハンド３２に対する取り付け位置及び姿勢とについての複数の候補を記憶する記憶部１２と、計測を行うときの参照点に対するカメラの計測位置及び計測姿勢を求める演算部１４と、記憶部１２に記憶されている複数の候補から、カメラ５０の計測位置及び計測姿勢を実現できる少なくとも１つの計測プログラムを生成する計測プログラム生成部１６と、少なくとも１つの計測プログラムを所定の基準に従って評価する評価部１８と、少なくとも１つの計測プログラムの中から所定の基準を満足する計測プログラムを選定する選定部２０とを有する。【選択図】図１
2007160486.tif 000002
【特許請求の範囲】
【請求項１】
オフラインのシミュレーションによるロボット及び作業対象物の相対位置関係を、計測された実際の前記ロボット及び前記作業対象物の相対位置関係に基づいて補正するために、前記ロボットの可動部に取り付けられた視覚センサを用いて前記作業対象物を計測するための計測プログラムを作成するオフラインプログラミング装置であって、
前記作業対象物に関連する複数の計測箇所と、前記視覚センサの前記可動部に対する取り付け位置及び姿勢とについての複数の候補を記憶する記憶部と、
計測を行うときの前記計測箇所に対する前記視覚センサの計測位置及び計測姿勢を求める演算部と、
前記記憶部に記憶されている前記複数の候補から、前記視覚センサの前記計測位置及び前記計測姿勢を実現できる少なくとも１つの計測プログラムを生成する計測プログラム生成部と、
前記少なくとも１つの計測プログラムを所定の基準に従って評価する評価部と、
前記少なくとも１つの計測プログラムの中から前記所定の基準を満足する計測プログラムを選定する選定部と、
を有するオフラインプログラミング装置。
【請求項２】
前記所定の基準は、前記計測プログラムにおける前記ロボットの動作範囲が、前記ロボットが作業を行うための作業プログラムにおける前記ロボットの動作範囲内に収まるか否かを含む、請求項１に記載のオフラインプログラミング装置。
【請求項３】
前記所定の基準は、前記ロボットの前記可動部に取り付けられた作業ツール及び視覚センサ、並びに該視覚センサの視野を表す視体積モデルの少なくとも１つと他の物体との干渉の有無を含む、請求項１又は２に記載のオフラインプログラミング装置。
【請求項４】
前記所定の基準は、前記計測箇所を含む面と該計測箇所に向かうカメラの視線とが成す角度を含む、請求項１〜３のいずれか１項に記載のオフラインプログラミング装置。
【請求項５】
前記ロボットはスポット溶接ロボットであり、前記所定の基準は、計測時のロボットの姿勢と実際にスポット溶接を行うときのロボットの姿勢との乖離度を含む、請求項１〜４のいずれか１項に記載のオフラインプログラミング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットのオフラインのプログラミング装置に関し、特には、ロボットと作業対象との相対位置に関するオフラインと現場とでのずれの補正を容易に行うためのオフラインプログラミング装置に関する。
【背景技術】
【０００２】
従来、ロボットを用いて作業対象物すなわちワークに対し所定の作業を行う場合、ＣＡＤ又はＣＡＭ等を用いてロボットとワークとの相対位置関係をオフラインで仮想的に求めて両者の配置を行っていた。しかしこの方法はロボットの大まかな位置決めしか行えず、スポット溶接等の精度を要する場合には不適であった。
【０００３】
そこで例えば特許文献１に示すような、ロボットにカメラを取り付けてワークの正確な位置を測定する制御装置が開発されている。この制御装置は、カメラを用いてワーク上の３つの基準点を撮像し、それによりロボットとワークとの３次元相対位置関係を求め、その結果を用いてオフラインで求めた相対位置関係を補正して、精度を向上させるものである。
【０００４】
【特許文献１】特許第２７６７４１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述のような視覚センサを用いた補正を行えば、ロボットとワークとの相対位置精度を高めることができる。しかし、視覚センサを用いてワークの基準点を撮像する計測プログラムは、作業者が通常のプログラミングと同様に試行錯誤を繰り返しながら作成していた。そのため、計測プログラムを含むオフラインプログラムの作成にはかなりの時間を要する。またオフラインプログラムの動作確認が不十分であると、現場でロボットとワークとの干渉が生じる場合があり、その修正にも時間がかかる。
【０００６】
そこで本発明は、計測プログラムを自動的に作成し、オフラインプログラムの作成時間及び手間を大幅に削減することができるオフラインプログラミング装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、請求項１に記載の発明は、オフラインのシミュレーションによるロボット及び作業対象物の相対位置関係を、計測された実際の前記ロボット及び前記作業対象物の相対位置関係に基づいて補正するために、前記ロボットの可動部に取り付けられた視覚センサを用いて前記作業対象物を計測するための計測プログラムを作成するオフラインプログラミング装置であって、前記作業対象物に関連する複数の計測箇所と、前記視覚センサの前記可動部に対する取り付け位置及び姿勢とについての複数の候補を記憶する記憶部と、計測を行うときの前記計測箇所に対する前記視覚センサの計測位置及び計測姿勢を求める演算部と、前記記憶部に記憶されている前記複数の候補から、前記視覚センサの前記計測位置及び前記計測姿勢を実現できる少なくとも１つの計測プログラムを生成する計測プログラム生成部と、前記少なくとも１つの計測プログラムを所定の基準に従って評価する評価部と、前記少なくとも１つの計測プログラムの中から前記所定の基準を満足する計測プログラムを選定する選定部と、を有するオフラインプログラミング装置を提供する。
【０００８】
請求項２に記載の発明は、請求項１に記載のオフラインプログラミング装置において、前記所定の基準は、前記計測プログラムにおける前記ロボットの動作範囲が、前記ロボットが作業を行うための作業プログラムにおける前記ロボットの動作範囲内に収まるか否かを含む、オフラインプログラミング装置を提供する。
【０００９】
請求項３に記載の発明は、請求項１又は２に記載のオフラインプログラミング装置において、前記所定の基準は、前記ロボットの前記可動部に取り付けられた作業ツール及び視覚センサ、並びに該視覚センサの視野を表す視体積モデルの少なくとも１つと他の物体との干渉の有無を含む、オフラインプログラミング装置を提供する。
【００１０】
請求項４に記載の発明は、請求項１〜３のいずれか１項に記載のオフラインプログラミング装置において、前記所定の基準は、前記計測箇所を含む面と該計測箇所に向かうカメラの視線とが成す角度を含む、オフラインプログラミング装置を提供する。
【００１１】
請求項５に記載の発明は、請求項１〜４のいずれか１項に記載のオフラインプログラミング装置において、前記ロボットはスポット溶接ロボットであり、前記所定の基準は、計測時のロボットの姿勢と実際にスポット溶接を行うときのロボットの姿勢との乖離度を含む、オフラインプログラミング装置を提供する。
【発明の効果】
【００１２】
本発明に係るオフラインプログラミング装置によれば、問題の発生しない計測プログラムを短時間で自動的に作成することができ、従来、現場で試行錯誤しながら教示又は修正を行う必要がなくなり、現場での調整時間を大幅に短縮することができる。さらに、計測プログラムに関する種々の評価基準を設けることにより、最適な計測プログラムを作業者の熟練度等に依存することなく作成することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照しながら本発明を詳細に説明する。図１は、本発明に係るオフラインプログラミング装置１０を含むロボットシステムの概略構成を示す図である。ロボットシステム１は、作業台等の治具４２に保持された作業対象物すなわちワーク４０に対して作業を作業ツール（図示せず）備えたハンド３２を有するロボット３０を有し、ロボット３０にはワーク４０又は作業台４０の参照点（後述）を計測する視覚センサ例えばカメラ５０が取り付けられる。カメラ５０を用いた計測プログラムは、システム１に含まれるオフラインプログラミング装置１０によって作成される。オフラインプログラム装置１０は実際には、例えばディスプレイを備えたパーソナルコンピュータに内蔵され、作業者はキーボード等を介して種々のデータを入力することができる。
【００１４】
オフラインプログラミング装置１０は、オフラインのシミュレーションによるロボット３０及びワーク４０の相対位置関係を、カメラ５０により実際に計測されたロボット３０及びワークの相対位置関係に基づいて補正するために、ロボット３０のハンド３２等の可動部に取り付けられたカメラ５０を用いてワーク又は作業台を計測するための計測プログラムを作成するものである。本発明に係るオフラインプログラミング装置１０は、作業台４０上の複数の計測箇所（参照点）と、カメラ５０のハンド３２に対する取り付け位置及び姿勢とについての複数の候補を記憶する記憶部１２と、計測を行うときの計測箇所に対するカメラの計測位置及び計測姿勢を求める演算部１４と、記憶部１２に記憶されている複数の候補から、カメラ５０の計測位置及び計測姿勢を実現できる少なくとも１つの計測プログラムを生成する計測プログラム生成部１６と、少なくとも１つの計測プログラムを所定の基準（後述）に従って評価する評価部１８と、少なくとも１つの計測プログラムの中から所定の基準を満足する計測プログラムを選定する選定部２０とを有する。
【００１５】
図２は、オフラインプログラミング装置１０による作業の流れを示すフローチャートである。先ずステップＳ１において、作成するプログラム等を識別し管理するためのロボット識別情報を設定する。ロボット識別情報の具体例としては、複数の工程ラインの名称、各工程ラインに含まれるステーションの名称、及び各ステーションに含まれるロボットの名称等があり、作業者はそれらをパーソナルコンピュータに直接入力するか、パーソナルコンピュータのディスプレイに表示されたウィザード画面からそれらの候補を選択することができる。設定されたライン、ステーション及びロボットの名称は、例えば図３に示すように分類されてパーソナルコンピュータの表示画面に表示される。
【００１６】
次に図２のステップＳ２において、作業全体において共通するパラメータ、例えばツール座標系の番号、カメラによる計測結果の格納レジスタ番号、カメラで計測する領域の数等の設定を行う。ここでいう領域とは、例えば異なるワーク毎に設定可能であり、各領域はあるワーク又はワークを保持する治具上のいくつかの計測箇所すなわち参照点を含む。この操作もパーソナルコンピュータの画面に表示されたウィザード画面を用いて行うことができる。
【００１７】
次にステップＳ３において、カメラで計測するワークの参照点の位置を格納するレジスタ番号を設定する。本実施形態では、ステップＳ２で設定した各領域について３つの参照点の位置情報を格納するレジスタが用意される。
【００１８】
次にステップＳ４では、現場で使用するロボットプログラムを選択する。現場用ロボットプログラムは、パーソナルコンピュータに予め含まれているものや、適当な通信手段によって他のパーソナルコンピュータやデータベースからダウンロード可能なもの等、用途に応じて選択可能である。
【００１９】
次に、ステップＳ５において、選択したロボットプログラムの動作範囲の確認を行う。本実施形態では、現場用ロボットプログラムをＲＯＢＯＧＵＩＤＥ（登録商標）等のシステム上で動作させ、ロボットの各軸（例えばＪ１〜Ｊ６軸）についてのシミュレーションを行い、各軸の動作範囲を取得する。得られた動作範囲は各軸毎に表示することができる。ここで得られた動作範囲は、次に説明する参照点計測プログラムの動作確認処理に使用される。すなわち、生成された参照点計測プログラムの動作範囲がここで得られた動作範囲内に収まるか否かが判定される。
【００２０】
以降のステップＳ６〜Ｓ１４では、ステップＳ２で設定した領域毎に各種パラメータの設定及び計測プログラムの生成を行う。先ずステップＳ６では、ある領域に含まれる参照点（ここでは３点）の座標を設定する。この座標設定は作業者がオフラインプログラミング装置に直接入力してもよいし、図４に示すような表示画面からマウスクリック等により視覚的に入力することもできる。なお図４には、ロボット３０によってハンドリングされるワーク（図示せず）を固定する作業台４２上に３つの参照点４４ａ〜４４ｃを設定した状態を示している。
【００２１】
次に、ステップＳ７において、オフラインプログラミング装置上でのカメラの取り付け位置を設定する。この座標設定も作業者がオフラインプログラミング装置に直接入力してもよいし、図４に示すような表示画面からマウスクリック等により視覚的に入力してもよい。なお図４は、ロボット３０の可動部例えばハンド３２の先端にカメラ５０を取り付けた状態を示す表示画面の一例である。
【００２２】
次のステップＳ８では、ステップＳ７で取り付けられたカメラ５０の視線方向を選択する。カメラ５０の視線は任意の方向を選択できるが、一般にどの方向が計測に最適であるかは現時点では不明なので、通常はツール座標系の主軸方向（すなわちＸ、Ｙ及びＺそれぞれについて正負方向の計６方向）を候補として選択し、上述の記憶部１２に記憶しておく。なお図５（ａ）〜（ｃ）はそれぞれ、カメラ５０の視線５２の方向をＸ軸、Ｙ軸及びＺ軸方向に平行になるようにカメラ５０を取り付けた状態を示す表示画面の一例である。
【００２３】
次にステップＳ９において、参照点を計測するための計測プログラムを生成する。計測プログラム生成においては、ステレオ（３次元）計測を行う方向や、干渉等によりハンドを傾ける必要がある場合のハンドの傾斜方向及び傾斜量等の制約条件等を事前に入力することができる。このような制約条件及び記憶部１２に記憶されている複数の候補のデータから上述の演算部１４が先ず各計測箇所に対するカメラ５０の計測位置及び計測姿勢を求め、次に計測プログラム生成部１６が、計測位置及び計測姿勢を実現可能な計測プログラムを、ステップＳ８で選択した視線方向（通常は＋Ｘ、−Ｘ、＋Ｙ、−Ｙ、＋Ｚ及び−Ｚ方向の６方向）のそれぞれについて生成する。
【００２４】
次のステップＳ１０では、ステップＳ９で生成された各計測プログラムを評価する。ここでは、主として以下の点について計測プログラムの動作確認が行われる。
（１）計測プログラムの動作範囲がロボットのストローク範囲及び現場用プログラムの動作範囲をこえていないか
（２）ロボットが他の物体と干渉しないか
（３）カメラの視線上に障害物がないか
（４）想定される誤差（例えばロボットの配置誤差）を含めて上記（１）〜（３）を判断する
なお（３）については、カメラの視野を表す視体積モデルとして、カメラの視線を軸とする適当な径の円柱、円錐、四角錐等を想定し、視体積モデルに干渉する障害物があるか否かで判断することができる。また（４）については、ロボットを所定量（例えば想定される誤差量又はそれよりいくらか大きい量）だけ異なる方向にずらしたいくつかの位置に再配置（例えば図６（ａ）の配置から図６（ｂ）の配置に変更）して計測プログラムを生成し、それぞれについて動作確認を行うことで実行可能である。
【００２５】
カメラの各視線方向について計測プログラムの動作確認が完了したら、作業者がいずれの計測プログラムを採用するかを選定する（ステップＳ１１）。なおパーソナルコンピュータの画面には、各計測プログラムを上記（１）〜（４）に基づいて装置内で評価（例えば修正量や経由点の有無で評価）した結果を併せて表示できるので、作業者は最適な計測プログラムを容易に見出すことができる。またこれら以外の好適な評価基準としては、参照点を含む面とその参照点に向かうカメラの視線とが成す角度が挙げられる。この角度が垂直に近いほど参照点の正確な計測が行いやすい。さらに、ロボットが自動車の車体等にスポット溶接を行うスポット溶接ロボットである場合は、参照点は溶接箇所と同じ位置又はその近傍に設定されることが多いので、参照点計測時のロボットの姿勢が実際にスポット溶接を行うときのロボットの姿勢に最も近いものに最高評価を与えることも考えられる。換言すれば、計測時の姿勢と溶接時の姿勢との乖離度が小さいほど好ましい計測プログラムであると言える。
【００２６】
次のステップＳ１２では、選定された計測プログラムのシミュレーションを行う。具体的には、ロボットが各参照点に到達した時点でハンドに取り付けたカメラによる参照点の撮像を行う。全ての参照点を適切に撮像できることが確認されたら、その計測プログラムを採用する計測プログラムとして確定する。
【００２７】
次に、ステップＳ１３において、例えば図７に示すように、ステップＳ１２で確定した計測プログラムで指定された形態でハンド３２の先端に取り付けられたカメラ５０の取り付け部位の状態を撮像するために、オフラインプログラミング装置上のワークセル内に仮想のカメラ５４を別途配置する。カメラ５４による画像は、作業者が現場で実際にカメラをハンド先端に対しどのように取り付ければよいかを示すものである。従ってカメラ５４による撮像は、平面図、正面図、背面図及び側面図が得られる４方向全てについて行われることが好ましい。
【００２８】
なお任意に、ステップＳ１４において、本発明に係るオフラインプログラミング装置で生成されたプログラムにおいてカメラがどのような状態でロボットに取り付けられているかを他のパーソナルコンピュータ等から参照できるようにするために、対象となる画像をｈｔｍｌ形式のファイルとして作成することができる。
【００２９】
最後にステップＳ１５にて全ての領域についてステップＳ６〜Ｓ１４の処理が完了したかを判定し、完了していれば作業は終了する。
【図面の簡単な説明】
【００３０】
【図１】本発明に係るオフラインプログラミング装置を含むロボットシステムの基本構成を示す図である。
【図２】オフラインプログラミング装置による作業の流れを示すフローチャートである。
【図３】ロボット識別情報の表示例を示す図である。
【図４】ロボット及び作業対象物の画面表示例を示す図である。
【図５】（ａ）ロボットにカメラを視線方向がＸ軸に平行になるように取り付けた画面表示例を示す図であり、（ｂ）カメラ視線方向がＹ軸に平行な場合を示す図であり、（ｃ）カメラ視線方向がＺ軸に平行な場合を示す図である。
【図６】（ａ）ロボットと作業対象物とのある相対位置関係の画面表示例を示す図であり、（ｂ）（ａ）の状態からロボットをいくらかずらした状態を示す図である。
【図７】ロボットに取り付けられたカメラを撮像する他のカメラを配置した状態の画面表示例を示す図である。
【符号の説明】
【００３１】
１    ロボットシステム
１０    オフラインプログラミング装置
１２    記憶部
１４    演算部
１６    計測プログラム生成部
１８    評価部
２０    選定部
３０    ロボット
４０    ワーク
４２    作業台
５０、５４    カメラ
【図１】
2007160486.tif 000003
【図２】
2007160486.tif 000004
【図３】
2007160486.tif 000005
【図４】
2007160486.tif 000006
【図５】
2007160486.tif 000007
【図６】
2007160486.tif 000008
【図７】
2007160486.tif 000009