(58)【調査した分野】(Int.Cl.,DB名)
ワークに予め設定しておく少なくとも3点の測定対象点から前記ワークの位置及び姿勢を検出して、前記ワークとその把持手段との相関位置を決定する、ワークとの相関位置決め方法であって、
前記ワークに設定された測定対象点毎に、
カメラとレーザ変位計とを備える位置測定手段を搭載したロボット治具を、前記測定対象点の基準位置を教示する教示位置データに基づいて移動させることで、前記カメラをカメラ基準計測位置へ固定し、前記カメラで撮影したカメラ画像から前記測定対象点の位置を測定する第1測定工程と、
前記第1測定工程で測定した測定対象点の位置と、前記カメラのレンズ中心の位置との差分を実空間距離に換算した換算値である第1位置ずれの分だけ前記ロボット治具を移動させたカメラ補正計測位置へ前記カメラを固定する計測位置補正工程と、
前記カメラ補正計測位置にて前記カメラで撮影したカメラ画像から前記測定対象点の位置を再度測定する第2測定工程と、
前記ロボット治具を移動させることで、レーザ基準計測位置を前記第1位置ずれの分だけ補正したレーザ補正計測位置へ前記レーザ変位計を固定し、前記レーザ変位計で前記測定対象点の奥行位置を計測し、前記測定対象点の基準奥行位置からの位置ずれを検出する奥行位置ずれ検出工程と、を含み、
前記ワークに設定されたすべての前記測定対象点について得られた、前記第1位置ずれと、前記第2測定工程で測定した測定対象点の位置と前記カメラのレンズ中心の位置との差分を実空間距離に換算した換算値である第2位置ずれと、前記奥行位置の位置ずれとから、前記ワークの位置及び姿勢を検出し、当該ワークの前記測定対象点の基準位置からのずれ量の分だけ、当該ワークに対する前記教示位置データを補正する位置データ補正工程を含む
ことを特徴とするワークとの相関位置決め方法。
前記ワークには、前記把持手段が把持する際に使用する少なくとも3つの貫通孔が穿設されており、前記ワークに穿設された貫通孔に対して前記測定対象点が設定されていることを特徴とする請求項1に記載のワークとの相関位置決め方法。
【発明を実施するための形態】
【0018】
図面を参照して本発明を実施するための形態(実施形態という)について詳細に説明する。なお、各図面が示す部材のサイズや位置関係等は、説明を明確にするため誇張していることがある。
【0019】
[1.ロボットシステムの構成の概要]
ここでは、本発明に係るワークとの相関位置決め方法を実施するためのロボットシステムの構成の概要について
図1を参照して説明する。
本発明に係るワークとの相関位置決め方法は、ワーク100をその図示しない把持手段へ提供する作業の前工程として、ワーク100に予め設定しておく少なくとも3点の測定対象点110からワーク100の位置及び姿勢を検出して、ワーク100と前記把持手段との相関位置を決定する方法である。
このために、ロボットシステム1は、
図1に示すように、主として、ロボット2と、ロボット制御装置3と、教示データ入力装置4と、ロボット治具5と、位置測定手段6としてのカメラ7およびレーザ変位計8と、位置補正制御装置10と、を備えている。
【0020】
各構成要素の詳細については後記する。なお、ロボット制御装置3と、位置補正制御装置10とは、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、入出力インタフェース等を備えている。
【0021】
ロボットシステム1は、ロボット2を用いて、教示された基準測定位置へ位置測定手段6を移動させ、その移動先から、所定の場所に置かれたワーク100上に予め設定された測定対象点110の位置を測定し、ワーク100の事前に定められた位置・姿勢の基準値からの位置ずれを検出するものである。
【0022】
ロボットシステム1では、カメラ7を含む位置測定手段6の移動先にて、カメラ画像を基に測定対象点110の画像のxy方向の基準からのずれ量を一度検出し、検出したずれ量を実空間の距離に換算した位置ずれの分だけ、カメラ7を含む位置測定手段6を移動させた後に同じ測定対象点110を再撮影したカメラ画像から2回目のずれ量を検出する。そして、レーザ変位計8の基準測定位置から、1回目の位置ずれの分だけ移動させた測定位置にて、測定対象点110までの距離を測定し、z方向の基準からのずれとして奥行位置ずれを検出する。
【0023】
[2.ワーク]
ここでは、本発明において位置決めの対象とするワークについて説明する。
本実施形態のワークとの相関位置決め方法において、ワークの用途、形状、材質、サイズは特に限定されないが、説明の都合上、ワークの具体例について
図2および
図3を参照して説明する。
図2は、本発明に係るロボットシステムにおいてワークの位置を測定する様子を模式的に示す図である。
図3は、ワークの一例を示す図であって、(a)は側面図、(b)は正面図を示している。なお、
図3(a)に示すz軸は、
図3(b)に示すxy平面に直交している。
【0024】
図2に示すワーク100は、一例として、車体に用いるワークであって亜鉛メッキ鋼板を所定形状に加工した一辺が数十cm程度のものとする。また、
図2に示すワーク100について空間上の位置を説明するため、
図3に示す空間座標(xyz座標)を用いる。なお、
図3に示す空間座標(xyz座標)は、特定の1つの測定対象点110に着目しているときの説明のための座標である。
【0025】
図2に示すように、ワーク100の近傍には、ロボット2が配置され、ロボット2の先端側のアームにはロボット治具5が取り付けられている。ロボット治具5には、カメラ7およびレーザ変位計8が並設されている。
【0026】
このワーク100を撮影する側を、ワークにとっての上側(z軸の正の向き:
図3(a)参照)と呼ぶ。ワーク100は、上側が開口となっている筐体101と、筐体101の開口側(ワークにとっての上側)に設けられて横長の帯状の部材(以下、ビーム102,103と呼ぶ)がy軸の方向(
図3(b)参照)に所定間隔をあけて2本設けられている。ビーム102,103は、ワーク100の筐体101の輪郭から外に向かって両側にはみ出しており、そのはみ出た部分には貫通孔(以下、孔という)が穿設されている。これらの孔は、図示しないワーク把持専用ロボットがワーク100を把持するときに使用することを想定したものである。本実施形態では、これら4つの孔のうちの3つを測定対象点110とする。
【0027】
ワーク100は、
図2に示すように、テーブル状のワークスタンド200に載置されている。ワークスタンド200は、元のワーク置き場から、ワーク搬送先の目的地である組立ラインにて組立途中の車体の内部に搬送する場合の中継地点となるものである。
ワークスタンド200のワーク100に接触する面には、ワーク100を左右(x軸の方向:
図3(b)参照)の両側で支持する2つの支持部201,202が設けられている。支持部201,202は、ワーク100を斜めに傾けて載置したときにワーク100のビーム102,103を挟持して支持する。
【0028】
ワークスタンド200に対してワーク100を高精度で位置決めした理想的な載置状態を
図4(a)に示す。また、ワークスタンド200上でワーク100の位置がバラツキを持っている場合の載置状態を
図4(b)に示す。
図4(a)に示すように、ワークスタンド200上の3つの測定対象点110についての3次元空間の基準位置P1,P2,P3を設定する。
例えば、
図4(a)に示す基準位置P1(X
1,Y
1,Z
1)は、ワーク100の位置を測定するための1番目の測定対象点110の中心位置を示す。一方、
図4(b)に示す載置状態の場合、ワーク100の1番目の測定対象点110の中心位置はP’1で表される。
【0029】
図4(a)に示す3つの測定対象点110の測定のタイミングは異なっている。よって、座標系を独立に考慮することができる。
1番目の測定対象点110固有の座標系では基準位置P1が原点である。したがって、P1=(0,0,0)、P’1=(Δx
1,Δy
1,Δz
1)のように表現することもできる。同様に、2番目の測定対象点110固有の座標系では基準位置P2が原点である。したがって、P2=(0,0,0)、P’2=(Δx
2,Δy
2,Δz
2)のように表現することもできる。同様に、3番目の測定対象点110固有の座標系では基準位置P3が原点である。したがって、P3=(0,0,0)、P’3=(Δx
3,Δy
3,Δz
3)のように表現することもできる。
【0030】
また、別の観点からは、測定のタイミングが異なっている3つの測定対象点110の位置を包括的に捉えるために、ロボット2側に原点を有する空間座標において、ワーク100の位置・姿勢を記述することができる。
例えば、
図4(a)に示す基準位置P1(X
1,Y
1,Z
1)の(Z
1)の値は、1番目の測定対象点110固有の座標系では0であるが、ロボット2側に原点を有する空間座標系では、奥行値または距離を表す。なお、以下、奥行位置というときには、一般的なカメラによる測距に対応して、
図3(b)に示すxy平面および
図3(a)に示すz軸の原点の位置を、カメラ7またはレーザ変位計8上に設け、かつ、z軸の方向を
図3(a)に示す方向とは逆転させた座標系を想定している。
【0031】
ここで、ロボット2側の原点は、例えばロボット治具5、カメラ7またはレーザ変位計8等に設定できる。また、ロボット制御装置3では、教示位置データ等を用いて、ロボット2側に原点を有する空間座標系による位置指定を行うことができる。また、ロボット制御装置3にてワールド座標系を使用してもよい。なお、ロボット2側に原点を有する空間座標系と、ワーク中に原点を有する空間座標系は、所定の座標変換によって、相互に変換可能である。これらの変換処理は、例えばロボット制御装置3で行うことができる。
【0032】
[3.ロボットシステムの構成の詳細]
図1に戻って、ロボットシステム1の構成の詳細について説明する。
【0033】
(ロボット2)
ロボット2は、一般的な産業用ロボットであり、例えば、多軸多関節型の汎用ロボットである。ロボット2の先端側のアームにはロボット治具5が取り付けられている。
ロボット2の構造が、下から、関節が旋回する基台と、関節が回動する下アームと、関節が回動する上アームと、3自由度の関節を有するハンドとを備える構造の場合、ハンドにロボット治具5が取り付けられる。ロボット2は、モータで各関節を動かすことによりロボット治具5を移動させることができる。一般的な産業用の汎用ロボットでは、その仕様により、繰り返し位置決め精度が±0.1mm〜±1mm程度のものが知られているので、それに準じた性能のものを用いることが好ましい。
【0034】
(ロボット制御装置3)
ロボット制御装置3は、ロボット2に接続されており、ワーク100の位置座標を測定するための、ロボット2の測定位置への経路等の入力コマンドまたは予め記憶されたコマンドに基づいてロボット2の動作や姿勢を制御するものである。
本実施形態では、ロボット制御装置3は、教示データ入力装置4から、ロボット2の動作や姿勢を制御するための教示データを受け付けることができるように構成されている。
【0035】
本実施形態では、ロボット制御装置3は、位置補正制御装置10から、ワークスタンド200に実際に載置されたワーク100のカメラ画像上の位置の差分であるずれ量(例えば画素数)を受け付けると、実空間であるxy平面上の位置ずれに換算するための座標変換処理を行う。これにより、ロボット制御装置3は、教示データ入力装置4から受け付けた教示データに対して、実際に載置されているワーク100の位置ずれを反映して補正した教示データを生成し、装置内部のメモリに記憶する。この補正データは、例えば実際に載置されていて位置・姿勢の測定がなされたワーク100を、図示しないワーク把持専用ロボットが把持する動作を行う際に利用される。なお、ワーク100が載置される基準位置と、カメラ7による基準計測位置と、カメラ計測範囲等によって、カメラ画像中の所定領域の長さを示す画素数と実空間上の距離とは対応可能である。
【0036】
(教示データ入力装置4)
教示データ入力装置4は、ロボット2のアーム先端に取り付けられたロボット治具5における所定の基準点が移動する際の目標とする移動先の位置(基準計測位置)等のデータをロボット制御装置3に入力する装置である。教示データ入力装置4は、例えばパーソナルコンピュータを用いてもよいし、例えば産業用ロボットの制御装置に教示データを入力するためのペンダントを用いることができる。
【0037】
(ロボット治具5)
ロボット治具5には、位置測定手段6としてのカメラ7およびレーザ変位計8が配置されている。本実施形態では、カメラ7およびレーザ変位計8を水平方向に並設して、同じ向きでワーク100に対向するように、カメラ7およびレーザ変位計8がロボット治具5に固定されている。
【0038】
なお、教示データ入力装置4から入力する基準計測位置は、ロボット治具5における所定の基準点のための位置なので、カメラ7用の基準計測位置として指定してもよいし、あるいはレーザ変位計8用の基準計測位置として指定してもよい。本実施形態では、それら2つとも指定することとした。なおまた、カメラ7に対してレーザ変位計8の位置が固定しているので、カメラ7用の基準計測位置だけを指定し、ロボット治具5の姿勢に応じて相対位置関係からレーザ変位計8用の基準計測位置を必要に応じて求めるように構成してもよい。
【0039】
本実施形態では、ロボット治具5は、棒状の部材を組み合わせて構成されている。ロボット治具5は、位置測定手段6を固定できて、ロボット2のアーム先端に装着できる構造であれば、その構造は特に限定されない。ロボット治具5は、位置測定手段6を支持する強度を備えていれば、その材料は限定されず、例えば金属製でも合金製でも構わない。
【0040】
(位置測定手段6)
位置測定手段6は、測定対象点110のxyzの3次元位置のうち、2次元平面のx方向およびy方向の位置をカメラ7で計測し、このxy平面に直交したz方向の位置をレーザ変位計8で計測するものである。
なお、カメラ7と、後記する画像処理手段11とによって画像センサが構成される。この画像センサによって撮影されたカメラ画像(2次元xy平面の画像)に基づいて、xy2次元空間上の被写体の位置が計測されることになる。
【0041】
(カメラ7)
カメラ7は、測定対象点110のx方向およびy方向の位置を計測するためのものである。このカメラ7は、ロボット治具5が教示された基準計測位置(画像センサ用の基準計測位置)に移動したときにワーク100上の測定対象点110の中心をカメラ7の光軸が通るようなカメラ7の向きでロボット治具5に固定されている。ここで、画像センサ用の基準計測位置は、ワーク100を接写するためにワーク100の測定対象点110に接近した空間上に設定される。
【0042】
ワーク100を接写する際には、カメラ7をワーク100から、1m以内、好ましくは、十数cm〜50cm程度離間して撮影する。カメラ7は、ワーク100を接写することができるものであれば、特に限定されない。カメラレンズは、広角レンズや広角気味のレンズなどでもよく、カメラレンズ構成は特に限定されず、カメラ画像の周辺部に歪みが生じるような廉価なカメラレンズを用いたものであっても構わない。
【0043】
また、カメラ撮影の際には、別体の照明装置でワーク100を照らすことが好ましい。この照明装置は、ワーク100の測定対象点110の辺りを撮影時に部分的に照らすことができればよく、カメラ撮影専用のライトである必要はなく、一般的な照明装置でも構わない。
【0044】
(レーザ変位計8)
レーザ変位計8は、測定対象点110のz方向の位置(奥行位置)を計測するものである。このレーザ変位計8は、ロボット治具5が教示された基準計測位置(レーザ変位計用の基準計測位置)に移動したときに、ワーク100上の測定対象点110である孔の周縁から所定距離離間した位置にレーザ光が照射できるような向きでロボット治具5に固定されている。
ここで、レーザ変位計用の基準計測位置は、ワーク100の測定対象点110に接近した空間上に設定される。用いるレーザ変位計8の仕様にもよるが、精度よく奥行の距離を検出するためには、レーザ変位計8をワーク100から十数cm〜50cm程度離間してレーザ光を照射する。レーザ変位計8としては、レーザ光により対象物までの距離を測定できる一般的なものを用いることができる。
【0045】
(位置補正制御装置10)
位置補正制御装置10は、ロボット2の移動のために予め設定された位置を示す教示データを補正する制御を行うものである。
位置補正制御装置10は、
図1に示すように、画像処理手段11と、レーザ制御手段12と、記憶手段13と、出力手段14と、演算処理手段15と、を備えている。
【0046】
<画像処理手段11>
画像処理手段11は、カメラ7で撮影されたカメラ画像(2次元xy平面の画像)を処理して、2次元画像上の被写体の位置を計測するものである。
カメラ画像から測定対象点110(孔)を検出する方法は、例えば、カメラ画像を輝度に応じて2値化し、この2値化画像における画像オブジェクトをラベリングし、サイズや形状に関する特徴量を抽出し、検出したい測定対象点110に合致するものを選別するといったフィルタリング処理等の、従来公知の画像処理方法で行うことができる。
【0047】
図5(a)は、ワーク100においてビーム102(103)に設けられた測定対象点110を拡大して示す図であり、
図5(b)は、カメラ画像のカメラ計測範囲70を矩形で模式的に示す図である。なお、カメラ計測範囲70において、Oはカメラ7のレンズ中心を示す。
図5(a)に示すように、測定対象点110は、所定サイズの円形の孔であり、その近傍には特徴的な形状をもった点がない。
そのため、
図5(b)に示すように、ワーク100を接写した得られたカメラ画像のカメラ計測範囲70において、円形の仮想線で示すように測定対象点(孔)を容易に検出することができる。なお、測定対象点(孔)の中心の位置というとき、画像上の測定対象点110の円形領域の中心座標を示す。
図5(c)は、測定対象点110(孔)の中心とカメラ7のレンズ中心Oとが一致している状態(ずれのない状態)を模式的に示す図である。
画像処理手段11は、測定対象点110の位置と、カメラ7のレンズ中心Oの位置との差分を、2次元画像上のずれ量(カメラ画像上のずれ量)として検出する。
【0048】
本実施形態では、画像処理手段11は、1つの測定対象点110当たり、画像センサ用の基準計測位置で撮影されたカメラ画像上のずれ量と、後記する補正位置で撮影されたカメラ画像上のずれ量とを検出する。
そして、ずれ量の実空間上での距離の和を、ロボット治具5が教示された基準計測位置(画像センサ用の基準計測位置)に加算して補正した位置が、測定対象点110についての3次元空間上のx軸方向およびy軸方向の位置となり、図示しないワーク把持専用ロボットにとっての補正された教示位置データの一部となる。なお、測定対象点110についてのz軸方向の位置については後記する。
【0049】
ここで、測定対象点110についての3次元空間上のx軸方向およびy軸方向の教示位置データの補正の原理について、2つの具体例に分けてそれぞれ
図6、
図7を参照して説明する。
≪具体例1≫
まず、
図6を参照する。
図6(a)は、画像処理手段11と共に画像センサを構成するカメラ7に、高価で歪みの小さいカメラレンズを用いて所定の被写体を接写して得られた画像(以下画像aという)を模式的に示す図である。
図6(b)は、画像処理手段11と共に画像センサを構成するカメラ7に、廉価で歪みの大きいカメラレンズを用いて所定の被写体を接写して得られた画像(以下画像bという)を模式的に示す図である。これらの例では、画像a,画像bは、室内のテーブルおよびその上の箱を同様な条件で撮影したものとする。
【0050】
図6(b)に示すように、画像bでは、レンズの中心から離れるにつれて歪みが大きくなっている。画像aにおいて周辺部に写っている被写体(例えばテーブルの脚の先)を、測定対象点であると仮定すると、カメラ画像上の中心からのずれ量は、例えば(x軸方向:+440画素,y軸方向:−660画素)のように表すことができる。
【0051】
一方、画像bにおいて周辺部に写っている被写体(例えばテーブルの脚の先)を、同様に測定対象点であると仮定すると、カメラ画像上の中心からのずれ量は、例えば(x軸方向:+400画素,y軸方向:−540画素)のように表すことができる。
【0052】
つまり、画像aにおいて周辺部に写っている被写体(例えばテーブルの脚の先)の中心からのずれ量が例えば正解であるとすると、画像bにおいて周辺部に写っている被写体(例えばテーブルの脚の先)の中心からのずれ量は、正解よりも低く見積もっていたことになる。
【0053】
したがって、この具体例1によれば、正解のずれ量を求めるためには、画像aで見積もったずれ量(画素数)を実空間距離に換算した換算値の分だけ、3次元空間上のx軸方向およびy軸方向にカメラ7自体を移動し、その補正位置で再度撮影をすることが必要であることがわかる。加えて、その補正位置で再撮影により得られた画像では、1回目の撮影で正解よりも低く見積もっていたずれ量を反映した位置ずれが起きているはずである。そのため、補正位置において検出されるずれ量を実空間距離に換算した換算値を、1回目に検出したずれ量に対応する実空間上の距離(換算値)に加算することで、正解のずれ量に対応する実空間上の距離(換算値)が得られることになる。
【0054】
≪具体例2≫
図7は、本発明に係るロボットシステムにおいてワーク100の測定対象点110の位置を測定する手順を模式的に示す説明図である。
図7(a)は、ワーク100の1つの測定対象点110の位置を計測するために、画像センサ用の基準計測位置でカメラ撮影する様子を模式的に示す図である。この1回目の撮影では、カメラ画像において、カメラ7のレンズ中心Oと、測定対象点110の孔の中心とは大きく離れており、測定対象点110はカメラ計測範囲71の端に近い周辺部に存在する。ここで、カメラ画像上のずれ量は、例えば(x軸方向:−500画素,y軸方向:+600画素)のように表すことができる。
【0055】
図7(a)に示すカメラ画像上における、カメラ7のレンズ中心Oと、測定対象点110の孔の中心との差分を実空間距離に換算すると、例えば、x軸方向の差分(距離Δx
11)が例えば−10mm、y軸方向の差分(距離Δy
11)が例えば+12mmのように換算値が求められる。この場合に、実空間上のxy平面に投影したカメラ7のレンズ中心の位置Caと、測定対象点110の孔の中心の位置Haとを
図7(b)に示す。
【0056】
図7(b)に示すように、位置Caを基準とすると、位置Haは、x軸の負の方向に距離Δx
11だけ離間し、y軸の正の方向に距離Δy
11だけ離間した位置である。
ここで、画像センサ用の基準計測位置に移動したときのカメラ7のレンズ中心のxy座標は、例えば
図4(a)に示すワーク100の基準位置P1(X
1,Y
1,Z
1)における(X
1,Y
1)になるように設定されている。したがって、
図5(c)に示したように位置ずれが無い場合には、距離Δx
11や距離Δy
11は0になる。
【0057】
一方、
図7(b)に示す例のように位置ずれがある場合、ロボット治具5に設けられたカメラ7を、画像センサ用の基準計測位置から、x軸の負の方向に距離Δx
11だけ移動させ、かつ、y軸の正の方向に距離Δy
11だけ移動させることで計測位置を補正する。
【0058】
図7(c)および
図7(d)は、カメラ7を移動した後で行う2回目の撮影についての図面であって
図7(a)および
図7(b)に対応しているので、説明を適宜省略する。
図7(c)に示すように、補正された計測位置にて行う2回目の撮影では、カメラ画像において、カメラ7のレンズ中心Oと、測定対象点110の中心とは1回目の撮影よりも近づいているが依然離れており、測定対象点110はカメラ計測範囲72のレンズ中心Oに近い部分に存在する。ここで、カメラ画像上のずれ量は、例えば(x軸方向:−150画素,y軸方向:+200画素)のように表すことができる。
【0059】
図7(c)に示すカメラ画像上における、カメラ7のレンズ中心Oと、測定対象点110の孔の中心との差分を実空間距離に換算すると、例えば、x軸方向の差分(距離Δx
12)が例えば−3mm、y軸方向の差分(距離Δy
12)が例えば+4mmのように換算値が求められる。この場合に、実空間上のxy平面に投影したカメラ7のレンズ中心の位置Cbと、測定対象点110の孔の中心の位置Hbとを
図7(d)に示す。
【0060】
図7(d)に示すように、位置Cbを基準とすると、位置Hbは、いまだx軸の負の方向に距離Δx
12だけ離間し、y軸の正の方向に距離Δy
12だけ離間している。
図7(d)には、1回目の撮影時のカメラ7のレンズ中心の位置Caを併せて表示した。図示するように、レンズ中心の位置Cbは、1回目の撮影時のレンズ中心の位置Caとは異なる。一方、孔の中心の位置Hbは、1回目の撮影時の孔の中心の位置Haと同じである(動いていない)。つまり、
図7(d)における位置Ca−位置Cb間の距離と、
図7(b)における位置Ca−位置Ha間の距離とは、同一である。ただし、
図7(d)における位置Ca−位置Cb間の距離と、
図7(b)における位置Ca−位置Ha間の距離とは、異なるように作図されている。これは、
図7(a)に示すカメラ画像は周辺部に歪みがあるためである。なお、
図7(a)に示すカメラ画像が正しい位置を反映しているものとすると、
図7(b)に示す空間上の換算値は正しいことになる。同様に、
図7(c)に示すカメラ画像が正しい位置を反映しているものとすると、
図7(d)に示す空間上の換算値は正しいことになる。
【0061】
よって、
図7(b)および
図7(d)から、測定対象点110の位置Hb(=位置Ha)と、1回目の撮影時のカメラ7のレンズ中心の位置Caとの実空間におけるx軸方向の位置ずれは次の式(1)のΔx
1であり、y軸方向の位置ずれは次の式(2)のΔy
1で表されることが分かる。
Δx
1=Δx
11+Δx
12 … 式(1)
Δy
1=Δy
11+Δy
12 … 式(2)
【0062】
前記した実空間における距離の数値例では、正解の位置ずれを次の式(3)および式(4)のように表すことができる。
(−10mm)+(−3mm)=−13mm … 式(3)
(+12mm)+(+4mm)=+16mm … 式(4)
つまり、カメラ画像から1回の検出で(−13mm,+16mm)と判定すべきところを、1回目の測定だけでは位置ずれを(−10mm,+12mm)と判定していたことになる。これは、1回目の撮影時に測定対象点110がカメラ画像の周辺部に写っていたために、カメラ画像上のずれ量を正解よりも低く見積もっていたことに対応する。
本実施形態では、カメラ画像上のずれ量(例えば画素数)を、実空間であるxy平面上の位置ずれに変換するための座標変換処理は、ロボット制御装置3側にて行うこととした。なお、位置補正制御装置10の演算処理手段15が代わりに行うように構成することもできる。
【0063】
図1に示す位置補正制御装置10の画像処理手段11以外の各手段について説明を続ける。
【0064】
<レーザ制御手段12>
レーザ制御手段12は、レーザ変位計8の動作を制御するものである。レーザ制御手段12は、レーザ変位計8から所定のタイミングでレーザ光を照射するように制御したり、レーザ変位計8の検出信号を増幅して出力手段14に出力したりする。レーザ制御手段12に対してレーザ光を照射するタイミング等の設定は、演算処理手段15から行うようにすることができる。この場合、事前にオペレータが図示しないマウスやキーボード等の入力装置からコマンド等を入力することで演算処理手段15を介して設定データがレーザ制御手段12に入力され、レーザ照射タイミング等が事前設定される。なお、レーザ変位計8とレーザ制御手段12とは、公知のセンサヘッドとアンプユニットをケーブルで接続したセットとして構成することができる。
【0065】
レーザ制御手段12は、レーザ変位計用の基準計測位置を、画像処理手段11にて1回目に検出したずれ量に対応する実空間上の距離だけ移動させたレーザ計測位置にて、レーザ光を照射するように制御する。このときにレーザ変位計8にて検出された検出信号が、レーザ変位計8から測定対象点110までの距離を示す。この距離が測定対象点110についてのz軸方向の位置に対応する。
【0066】
<記憶手段13>
記憶手段13は、位置補正制御装置10の処理に用いる各種データや動作プログラム等を記憶するものである。記憶手段13は、例えば、一般的なハードディスクやメモリ等から構成される。記憶手段13は、位置補正制御装置10のユニットの内部に配設してもよいし、外部記憶装置としてもよい。記憶手段13として複数の記憶装置を分散配置してもよい。
【0067】
<出力手段14>
出力手段14は、画像処理手段11の処理結果であるずれ量や、レーザ変位計8の検出信号をロボット制御装置3に出力するための所定の出力インタフェースである。
出力手段14は、演算処理手段15の制御の下、所定のタイミングで、ずれ量やレーザ変位計8の検出信号をロボット制御装置3に出力する。
【0068】
<演算処理手段15>
演算処理手段15は、位置補正制御装置10の各部の制御を司り、例えば、CPUやメモリ等を備えている。演算処理手段15は、例えばパーソナルコンピュータ等で構成することもできる。演算処理手段15は、ワーク100に設けられた少なくとも3つの測定対象点110について、後記する予め定められたアルゴリズムにより位置測定処理を順次行う。
【0069】
[4.ロボットシステムにおける処理の流れ]
ロボットシステム1における処理の流れについて
図8を参照(適宜、
図1参照)して説明する。
図8は、本発明に係るワークとの相関位置決め方法の手順を模式的に示すフローチャートである。
まず、ステップS1にて、位置補正制御装置10の演算処理手段15は、i番目の測定対象点110(以下、測定対象点iと表記する)の識別子を初期化する(i=1とする)。そして、ワーク100に設定された測定対象点毎に以下のステップS2〜S10を順次行う。
【0070】
<第1測定工程>
ステップS2にて、ロボット制御装置3は、位置測定手段6を搭載したロボット治具5をティーチングに基づき、測定対象点iに接近させた画像センサ用の基準計測位置(1回目の計測位置)へ移動し、そこに一旦固定する。
ステップS3にて、画像センサ用の基準計測位置に固定した状態で、画像センサによって測定対象点iの位置を計測し、カメラ7のレンズ中心Oからの1回目のずれ量を検出する。
ステップS4にて、位置補正制御装置10は、画像センサの検出信号(1回目のずれ量x
i1,y
i1)をロボット制御装置3へ出力する。なお、画像センサの検出信号はカメラ画像上の距離に対応している。
【0071】
<計測位置補正工程>
ステップS5にて、ロボット制御装置3は、カメラ画像上の距離を実空間上の距離に変換する処理を行い、その値を記憶すると共に、その値に応じて、画像センサ用の基準計測位置を1回目の位置ずれの分だけ補正し、補正後の2回目の計測位置へロボット治具5を移動する。つまり、ロボット治具5を移動させることでカメラ7を基準計測位置からカメラ補正計測位置へ移動させる。
【0072】
<第2測定工程>
ステップS6にて、カメラ補正計測位置(2回目の計測位置)に固定した状態で、画像センサによって、測定対象点iの位置を再度計測し、カメラ画像から、カメラ7のレンズ中心Oを基準とした測定対象点iの2回目のずれ量を検出する。
ステップS7にて、位置補正制御装置10は、画像センサの検出信号(2回目のずれ量x
i2,y
i2)をロボット制御装置3へ出力する。なお、画像センサの検出信号はカメラ画像上の距離に対応している。ロボット制御装置3は、2回目のずれ量についても、カメラ画像上の距離を実空間上の距離に変換する処理を行い、その値を記憶しておく。
【0073】
<奥行位置ずれ検出工程>
ステップS8にて、ロボット制御装置3は、前記ステップS5にて変換処理で算出した実空間上の距離を読み出し、ロボット治具5を移動させることで、レーザ変位計8用の基準計測位置を1回目の位置ずれの分だけ補正したレーザ計測位置へレーザ変位計8を移動する。
ステップS9にて、補正したレーザ計測位置に固定した状態で、レーザ変位計8によって、測定対象点iの奥行位置を計測し、測定対象点iの基準奥行位置からの位置ずれを検出する。ここで、測定対象点iの基準奥行位置とは、例えば
図4(a)に示すワーク100の基準位置P1(X
1,Y
1,Z
1)における(Z
1)を表す。
ステップS10にて、位置補正制御装置10は、レーザ変位計8の検出信号(奥行位置ずれz
i)をロボット制御装置3へ出力する。
【0074】
<ロボット制御装置のデータ管理>
ロボット制御装置3は、例えば1番目(i=1)の測定対象点について、ステップS4にて取得して変換処理した第1位置ずれと、ステップS7にて取得して変換処理した第2位置ずれとを加算した結果を記憶する。つまり、ロボット制御装置3は、前記した式(1)および式(2)の演算を行うことで(Δx
1,Δy
1)を求める。加えて、ロボット制御装置3は、ステップS10にて取得したレーザ変位計8の検出信号z
iを記憶する。そして、このΔz
1を(Δx
1,Δy
1)と対応付けて測定対象点iの3次元空間の位置ずれ(Δx
1,Δy
1,Δz
1)として記憶する。
【0075】
ステップS11にて、位置補正制御装置10の演算処理手段15は、測定対象点iをすべて選択したか否かを判別する。未処理の測定対象点iがある場合(ステップS11:No)、ステップS12にて、演算処理手段15は、iの現在値に1を加算し、ステップS11に戻って処理を続行する。一方、測定対象点iをすべて選択した場合(ステップS11:Yes)、処理の終了をロボット制御装置3へ通知する。
【0076】
≪位置データ補正工程≫
ステップS13にて、ロボット制御装置3は、ワーク100に設定されたすべての測定対象点110について得られた、第1位置ずれの分と、第2位置ずれの分と、奥行位置の位置ずれの分だけ、当該ワーク100に対する教示位置データを補正する。
【0077】
例えば、ロボット2側に原点を有する空間座標において、ワーク100の位置・姿勢を記述し、
図4(a)に示す基準位置P1についての教示位置データが(X
1,Y
1,Z
1)で表され、かつ、
図4(b)に示す載置状態のワーク100にて検出された3次元空間の位置ずれが(Δx
1,Δy
1,Δz
1)である場合、1番目の測定対象点110の中心位置P’1を教示するための補正後の教示位置データは、(X
1+Δx
1,Y
1+Δy
1,Z
1+Δz
1)となる。
同様に、
図4(a)に示す基準位置P2についての教示位置データが(X
2,Y
2,Z
2)で表され、かつ、検出された3次元空間の位置ずれが(Δx
2,Δy
2,Δz
2)である場合、2番目の測定対象点110の中心位置P’2を教示するための補正後の教示位置データは、(X
2+Δx
2,Y
2+Δy
2,Z
2+Δz
2)となる。
同様に、
図4(a)に示す基準位置P3についての教示位置データが(X
3,Y
3,Z
3)で表され、かつ、検出された3次元空間の位置ずれが(Δx
3,Δy
3,Δz
3)である場合、3番目の測定対象点110の中心位置P’3を教示するための補正後の教示位置データは、(X
3+Δx
3,Y
3+Δy
3,Z
3+Δz
3)となる。
【0078】
[5.ワーク100の位置のバラツキの例]
例えばワーク100の測定対象点110である孔の直径が数cm程度であるときに、ワークスタンド200上に載置されたワーク100の孔の位置のバラツキが、x方向、y方向、z方向のそれぞれに対して最大で数cm程度ある場合を想定する。
この場合、図示しないワーク把持専用ロボットが、ワークスタンド200上に載置されたワーク100を確実に把持するためには、通常では、教示される基準位置P1,P2,P3(
図4(a)参照)から数mm以下の高精度に位置決めされたバラツキのない位置にワーク100を置く必要があると考えられる。
【0079】
これに対して、本発明の実施形態に係るワークとの相関位置決め方法によれば、ワークスタンド200上でワーク100の位置がバラツキを持っている場合、実際に載置されているワーク100の位置・姿勢を位置測定手段6(カメラ7およびレーザ変位計8)にて検出し、その位置ずれ情報をロボット制御装置3に受渡し、教示位置データを補正することができる。
【0080】
そのため、基準位置P1,P2,P3を、補正された基準位置P’1,P’2,P’3(
図4(b)参照)に置き換えた上で、図示しないワーク把持専用ロボットにワーク位置を教示することができる。したがって、中継地点のワークスタンド200を経由して目的地までワーク100を搬送することを前提とする場合、中継地点から目的地までの搬送を図示しないワーク把持専用ロボットで行うように設備を改良する際に、中継地点のワークスタンド200上に、ワーク100を載置する工程にて、基準位置P1,P2,P3から数mm以下というような厳格な位置決め要求を満たさずとも現状のまま搬送作業を行うことが可能である。
【0081】
以上説明したように、本発明の実施形態に係るワークとの相関位置決め方法は、廉価なカメラを用いたとしてもワークの位置を高精度に検出できる。また、ワークとの相関位置決めを行うために新たに導入する構成に必要なコストを低減できる。また、可能ならば使用したい性能のカメラが手に入りにくいために手近にある既存のカメラを流用したい場合には、カメラを新たに購入する必要はなく、既存のカメラを流用して本発明の手法により、ワークの位置を高精度に検出できる。よって、高価なカメラを用いても同様のアルゴリズムによってワークの位置を高精度に検出できる。
【0082】
以上、本発明のワークとの相関位置決め方法の好ましい実施形態について説明したが、本発明は、前記した実施形態に限定されるものではない。例えば、前記実施形態では、画像センサの2回の検出信号について水平方向および垂直方向それぞれを加算する処理をロボット制御装置3にて行うこととして説明したが、位置補正制御装置10の演算処理手段15にて行うこととしてもよい。この場合、演算処理手段15は、画像上の距離を実空間上の距離に変換する処理を行ってから加算する。
【0083】
また、位置補正制御装置10において、画像処理手段11、レーザ制御手段12、記憶手段13、出力手段14および演算処理手段15を1つのユニットに組み込む構成として説明したが、それらを別ユニットにして構成してもよい。あるいは、位置補正制御装置10をロボット制御装置3とは別に設けたが、これに限定されず、ロボット制御装置3の中に組み込んでもよい。
【0084】
また、前記実施形態では、位置決めの対象とするワークとして、
図2および
図3に示すワーク100について説明したが、ワークの材質、形状、サイズ等はこれに限定されるものではない。
測定対象点の個数を3個としたが、4個以上でもよい。
測定対象点をワークの端にある孔の位置に設定するものとしたが、ワーク上の任意の位置に設定してもよい。
図2には、ワークスタンドとして、1つのワーク100に対応したワークスタンド200を図示したが、ワークスタンドは、一度に複数のワークを整列した状態で載置できるように構成することもできる。
これらの変形例であっても同様な効果を奏することができる。
【0085】
前記実施形態では、カメラ7を用いて検出したずれ量の実空間への換算値を示す第1位置ずれの分だけカメラ7を移動させた後に再撮影したカメラ画像から2回目のずれ量を検出するものとしたが、この2回目のずれ量の実空間への換算値を示す第2位置ずれの分だけカメラ7をさらに移動させた後にもう一度撮影したカメラ画像から3回目のずれ量を検出するようにしてもよいし、同様にずれ量を4回以上検出してもよい。この場合、検出されたずれ量が、予め定められた閾値よりも小さくなるまで検出を繰り返すように構成することができる。
【0086】
前記実施形態では、レーザ変位計8の基準測定位置から、第1位置ずれの分だけ移動させた測定位置にて奥行位置ずれを検出するものとしたが、さらに、第1位置ずれと第2位置ずれとを加算した分だけレーザ変位計8を移動させた測定位置にて奥行位置ずれを検出するようにしてもよい。