以下、本発明の一実施形態を、図面に基づいて説明する。図1は床下塗装装置の斜視図、図2は床下塗装装置を示すブロック図、図3はキャブの床下を示す平面図である。図4は第1基準孔を示す斜視図、図5は第1のビジョンカメラの第1の画角を示す図、図6は第2のビジョンカメラの第2の画角を示す図である。図7はキャブ搬送処理を示すフローチャート、図8は第1の撮像処理を示すフローチャート、図9は第1の画像解析処理を示すフローチャートである。図10は塗装ロボット制御装置による第2の移動処理を示すフローチャート、図11はシーリングロボット制御装置による第2の移動処理を示すフローチャート、図12は第2の画像解析処理を示すフローチャートである。図13はシーリング処理を示すフローチャート、図14は塗装処理を示すフローチャート、図15はハンガーの変形例を示す斜視図である。
図1〜図6に示すように、床下塗装装置(ワーク姿勢検出装置、ワーク処理実行手段)1は、キャブ(ワーク)2の床下2aを塗装する塗装ラインに設けられ、ハンガー(ワーク支持手段)3と、塗装ロボット(撮像支持手段、処理実行手段)4と、シーリングロボット(撮像支持手段、処理実行手段)5,6と、第1〜第4のビジョンカメラ7,8,9,10と、マスター制御装置11と、画像認識装置(概略変位演算手段、詳細変位演算手段)12と、塗装ロボット制御装置(概略変位演算手段、撮像制御手段、詳細変位演算手段、処理実行手段)13と、シーリングロボット制御装置(概略変位演算手段、撮像制御手段、詳細変位演算手段、処理実行手段)14,15等を備えている。
キャブ2は、前面2bが塗装ラインの下流側を向いた状態で塗装ラインに供給される。
ハンガー3は、枠部3aと枠部3aによって上方から支持された吊持部3bとを有している。枠部3aは、特に図示していない案内レールによって上方から支持され、塗装ラインの上流側から下流側へ移動する。吊持部3bは下端部が略L字状に形成され、上端部が枠部3aに移動自在に支持されている。ハンガー3はマスター制御装置11に通信可能に接続され、マスター制御装置11からの動作信号を受けてキャブ2の窓枠2cに吊持部3bの下端を引っ掛けてキャブ2を吊り下げ保持し、枠部3aを後述する塗装ロボット4及びシーリングロボット5,6の上方(以下、作業領域と称する)へ移動する。
作業領域でのキャブ2の位置・姿勢(以下、作業姿勢と称する)は、吊持部3bによって所定の範囲内に設定される。本実施形態では、この所定の範囲に属する特定の作業姿勢(例えば、後述するシーリング・塗装作業を行う上で塗装ロボット4及びシーリングロボット5,6を最も効率的に制御し得る作業姿勢)を基準姿勢として予め設定する。後述する塗装ロボット制御装置13及びシーリングロボット制御装置14,15のメモリには、基準姿勢のキャブ2の第1〜第3基準孔17,18,19の位置・姿勢情報が予め記憶されている。
第1基準孔(第1の撮像対象、第2の撮像対象)17は、キャブ2の床下2aに設けられた左右一対のフロアアンダーフレーム20,21のうち、右側(図3中下側)のフロアアンダーフレーム20の前部に設けられた孔である。
第2基準孔(第3の撮像対象)18は、キャブ2の床下2aの左側(図3中上側)のフロアアンダーフレーム21の前部に設けられた孔であり、第3基準孔(第4の撮像対象)19は、キャブ2の床下2aの右側のフロアアンダーフレーム20の後部に設けられた孔である。すなわち、第1〜第3基準孔17,18,19には、床下2aにおいて一直線上に並ばない3つの孔が予め設定されている。
なお、以下の説明において、キャブ2が基準姿勢に設定されたときの第1〜第3基準孔17,18,19を、基準姿勢の第1〜第3基準孔17,18,19と称し、キャブ2が作業姿勢に設定されたときの第1〜第3基準孔17,18,19を、作業姿勢の第1〜第3基準孔17,18,19と称する。
塗装ロボット4は多関節型ロボットであり、ハンガー3よりも下方の床25に配置される。塗装ロボット4は、ベース4aとアーム部4bと塗装ガン(撮像支持部、処理実行手段)4cとを備えている。
ベース4aは、床25の走行軸(図示せず)上に移動自在に設けられるとともに、床25に対して回転自在となっている。アーム部4bはベース4a上に設けられ、関節16に設けられたサーボモータ等が動作制御されることによって屈伸する。塗装ガン4cはアーム部4bの先端に設けられ、内蔵された開放弁の開閉動作に応じて塗料をキャブ2の床下2aに塗布する。
塗装ロボット4は、塗装ロボット制御装置13に通信可能に接続されている。塗装ロボット4は、塗装ロボット制御装置13からの制御信号を受けて、走行軸上を移動するとともにアーム部4bを屈伸させて塗装ガン4cの位置及び方向を制御し、キャブ2の床下2aに対して塗装作業を行う。
シーリングロボット5,6は多関節型ロボットであり、塗装ロボット4の両側に配置されて作業領域にキャブ2が搬送された際に床下2aの幅方向両側と対向する。シーリングロボット5,6は、ベース5a,6aとアーム部5b,6bとシーリングガン(撮像支持部、処理実行手段)5c,6cとを備えている。
ベース5a,6aは、床25の走行軸上に移動自在に設けられるとともに、床25に対して回転自在となっている。アーム部5b,6bはベース5a,6a上に設けられ、関節16に設けられたサーボモータ等が動作制御されることによって屈伸する。シーリングガン5c,6cは、アーム部5b,6bの先端に設けられ、内蔵された開放弁の開閉動作に応じてシーリング材をキャブ2の床下2aに塗布する。
各シーリングロボット5,6は、各シーリングロボット制御装置14,15にそれぞれ通信可能にそれぞれ接続されている。シーリングロボット5,6は、シーリングロボット制御装置14,15からの制御信号を受けて、走行軸上を移動するとともにアーム部5b,6bを屈伸させてシーリングガン5c,6cの位置及び方向を制御し、キャブ2の床下2aに対してシーリング作業を行う。
第1のビジョンカメラ(第1の撮像手段)7及び第2のビジョンカメラ(第2の撮像手段)8は、光軸方向が塗装ガン4cの加工方向とほぼ一致した状態で塗装ガン4cの側面に取付けられ固定されている。第3のビジョンカメラ(第3の撮像手段)9は、光軸方向がシーリングガン5cの加工方向とほぼ一致した状態でシーリングガン5cの側面に取付けられて固定されている。第4のビジョンカメラ(第4の撮像手段)10は、光軸方向がシーリングガン6cの加工方向とほぼ一致した状態でシーリングガン6cの側面に取付けられ固定されている。
すなわち、第1のビジョンカメラ7と第2のビジョンカメラ8とは、塗装ガン4cの位置及び方向を制御することによって、所望の位置及び方向に設定され、第3のビジョンカメラ9と第4のビジョンカメラ10とは、シーリングガン5c,6cの位置及び方向をそれぞれ制御することによって、所望の位置及び方向にそれぞれ設定される。このため、以下の説明において、第1〜第4のビジョンカメラ7,8,9,10を所望の位置に設定するために塗装ガン4cやシーリングガン5c,6cの位置及び方向を制御する場合には、便宜上、第1〜第4のビジョンカメラ7,8,9,10を制御対象として説明する。
第1〜第4のビジョンカメラ7,8,9,10は、画像認識装置12に相互通信可能にそれぞれ接続されている。
第1〜第4のビジョンカメラ7,8,9,10が対象物を撮像する際の画角(第1〜第4の画角)は、それぞれ所定の角度に予め設定されている。第2〜第4の画角は、第1の画角よりも狭く設定され、本実施形態の第2〜第4の画角は、同一に設定されている。なお、第1のビジョンカメラ7の第1の画角を図4の点線枠I及び図5で示し、第2のビジョンカメラ8の第2の画角を図4の点線枠II及び図6で示す。また、第2〜第4の画角が第1の画角よりも狭く設定することが可能な理由については後述する。
第1のビジョンカメラ7は、予め設定された二次元検出位置に移動し、床下2aを第1の画角で撮像し、撮像した画像データ(第1画像データ)を画像認識装置12に送信する。
二次元検出位置とは、基準姿勢の第1基準孔17を想定した位置及び方向に、第1のビジョンカメラ7の位置及び撮像方向を設定する位置である。基準姿勢の第1基準孔17を想定した方向とは、例えば、第1のビジョンカメラ7の光軸が基準姿勢の第1基準孔17を通る方向(好ましくは、第1のビジョンカメラ7の光軸が基準姿勢の第1基準孔17の中心を通る方向)である。
第1の画角は、キャブ2が上述した所定の範囲内の何れの作業姿勢に設定されていても、二次元検出位置から作業姿勢の第1基準孔17を撮像可能な角度に設定されている。すなわち、作業領域に搬送されたキャブ2の第1基準孔17は、キャブ2の作業姿勢によらず第1画像データに必ず含まれる。
このように、第1のビジョンカメラ7は、キャブ2が何れの作業姿勢であっても、同じ位置及び方向(二次元検出位置)で第1基準孔17を撮像する。
第2のビジョンカメラ8は、第1の補正位置に移動して床下2aを第2の画角で撮像し、第2の補正位置に移動して床下2aを第2の画角で撮像し、各補正位置で撮像した画像データを画像認識装置12に送信する。同様に、第3のビジョンカメラ9は、第1の補正位置に移動して床下2aを第3の画角で撮像し、第2の補正位置に移動して床下2aを第3の画角で撮像し、各補正位置で撮像した画像データを画像認識装置12に送信する。また、第4のビジョンカメラ10は、第1の補正位置に移動して床下2aを第4の画角で撮像し、第2の補正位置に移動して床下2aを第4の画角で撮像し、各補正位置で撮像した画像データを画像認識装置12に送信する。
第1及び第2の補正位置とは、予め設定された第1及び第2の三次元検出位置を、基準姿勢に対する作業姿勢のキャブ2の概略変位に応じてそれぞれ補正した位置であり、キャブ2の概略変位は、上記第1画像データを解析することによって算出される。また、第1の三次元検出位置と第2の三次元検出位置とは、第2〜第4のビジョンカメラ8〜10のそれぞれに対して個別に設定されており、合計で6箇所の三次元検出位置が存在する。第1の補正位置は、第2〜第4のビジョンカメラ8〜10の第1の三次元検出位置からそれぞれ算出され、第2の補正位置は、第2〜第4のビジョンカメラ8〜10の第2の三次元検出位置からそれぞれ算出されるため、第1及び第2の補正位置も、第1及び第2の三次元検出位置と同様に、合計で6箇所存在する。
第2のビジョンカメラ8の三次元検出位置とは、基準姿勢の第1基準孔17を想定した位置及び方向に、第2のビジョンカメラ8の位置及び撮像方向を設定する位置である。基準姿勢の第1基準孔17を想定した方向とは、例えば、第2のビジョンカメラ8の光軸が基準姿勢の第1基準孔17を通る方向(好ましくは、第2のビジョンカメラ8の光軸が基準姿勢の第1基準孔17の中心を通る方向)である。第2のビジョンカメラ8に対して、上記条件を満たすように2箇所の三次元検出位置(第1の三次元検出位置と第2の三次元検出位置)が設定されている。なお、2箇所の三次元検出位置を設定しているのは、同一の対象物をステレオで撮像するためである。
第2の画角は、キャブ2が上述した所定の範囲内の何れの作業姿勢に設定されていても、第1及び第2の補正位置の双方でキャブ2の第1基準孔17を撮像可能な角度に設定されている。すなわち、作業領域に搬送されたキャブ2の第1基準孔17は、キャブ2の作業姿勢によらず、第2のビジョンカメラ8からの画像データに必ず含まれる。
第3及び第4のビジョンカメラ9,10の第1及び第2の三次元検出位置も、その設定の基準となる基準孔が相違する(第3のビジョンカメラ9では基準姿勢の第2基準孔18、第4のビジョンカメラ10では基準姿勢の第3基準孔19)ことを除き、第2のビジョンカメラ8の場合と同様に設定される。また、第3及び第4の画角についても、第2の画角と同様に設定される。
このように、第2〜第4のビジョンカメラ8,9,10は、予め設定された三次元検出位置ではなく、三次元検出位置を修正した補正位置で、作業姿勢の第1〜第3基準孔17〜19をそれぞれ撮像する。従って、第2〜第4のビジョンカメラ8,9,10が第1〜第3基準孔17〜19を撮像する位置及び方向(第1及び第2の補正位置)は、上記第1のビジョンカメラ7とは異なり、キャブ2の作業姿勢に応じて都度変更される。
また、キャブ2が何れの作業姿勢であっても第1基準孔17が必ず撮像されるように第2のビジョンカメラ8の画角(第2の画角)を所定の角度に設定する場合、第1基準孔17と第2のビジョンカメラ8との相対的な位置関係(両者間の距離及び回転角度)が、基準姿勢の第1基準孔17と三次元検出位置の第2のビジョンカメラ8との相対的な位置関係(基本相対位置関係)に近づくほど、第2の画角を狭く設定することができる。この点に関し、上記第2のビジョンカメラ8の撮像位置は、基本姿勢から作業姿勢へのキャブ2の変位概略変位を考慮して(概略変位に応じて)三次元検出位置を修正した補正位置であり、両者の相対的な位置関係は、第2のビジョンカメラ8が三次元検出位置に設定されている場合よりも上記基本相対位置関係に近づく。このため、補正位置で撮像した場合の方が、基本姿勢から作業姿勢へのキャブ2の変位を考慮していない三次元検出位置で撮像する場合に比べて、第2の画角を狭く設定することができる。同様の理由から、補正位置で撮像する第2のビジョンカメラ8の画角(第2の画角)の方が、基本姿勢から作業姿勢へのキャブ2の変位を考慮していない二次元検出位置で撮像する第1のビジョンカメラ7の画角(第1の画角)よりも狭く設定することが可能である。また、第3及び第4のビジョンカメラ9,10の画角(第3の画角及び第4の画角)についても、第2のビジョンカメラ8と同様の理由から、第1の画角よりも狭く設定することが可能である。
マスター制御装置11は、塗装ロボット制御装置13及びシーリングロボット制御装置14,15に双方向通信可能に接続されている。マスター制御装置11は、塗装ロボット制御装置13及びシーリングロボット制御装置14,15に作業開始信号を送信し、また塗装ロボット制御装置13及びシーリングロボット制御装置14,15から作業完了信号を受信する。マスター制御装置11のメモリ(図示せず)には、キャブ2を作業領域に搬送するキャブ搬送プログラムが予め記憶されている。
マスター制御装置11はタイマ22を有し、ハンガー3を作業領域に移動させたときにタイマ22を作動させ、計測時間が所定時間(本実施形態では7秒間)を経過したときに塗装ロボット制御装置13に上記作業開始信号を送信する。
画像認識装置12には、第1〜第4のビジョンカメラ7,8,9,10によって撮像された第1〜第3基準孔17,18,19の各画像データと、塗装ロボット制御装置13及びシーリングロボット制御装置14,15からの撮像実行指示信号とが入力する。
画像認識装置12のメモリ(図示せず)には、第1〜第3基準孔17,18,19のそれぞれの基準位置情報と、位置ずれ算出プログラムとが予め記憶されている。
第1基準孔17の基準位置情報は、二次元検出位置の第1のビジョンカメラ7によって基準姿勢の第1基準孔17を撮像した場合に、撮像画像における第1基準孔17の位置を示す情報(以下、第1の二次元基準位置情報と称する)と、第1及び第2の補正位置の第2のビジョンカメラ8によって基準姿勢の第1基準孔17をそれぞれ撮像した場合に、各撮像画像における第1基準孔17の位置を示す情報(以下、第1の補正基準位置情報と称する)である。第2及び第3基準孔18,19の基準位置情報は、各補正位置の第3及び第4のビジョンカメラ9,10によって基準姿勢の第2及び第3基準孔18,19をそれぞれ撮像した場合に、各撮像画像における第2及び第3基準孔18,19の位置をそれぞれ示す情報(以下、第2の補正基準位置情報及び第3の補正基準位置情報と称する)である。すなわち、第1基準孔17については、第1の二次元基準位置情報と2つの第1の補正基準位置情報という3つの基準位置情報が記憶され、第2基準孔18と第3基準孔19とについては、第2及び第3の補正位置がそれぞれ2つずつ記憶されている。
画像認識装置12は、位置ずれ算出プログラムに従って位置ずれ算出処理を実行する。位置ずれ情報算出処理では、第1〜第4のビジョンカメラ7,8,9,10から受信した画像データを解析し、撮像画像内における第1〜第3基準孔17,18,19の位置(作業位置)を位置情報として検出し、検出した位置情報と、メモリに記憶された第1〜第3基準孔17,18,19の基準位置情報とに基づいて、基準姿勢に対する作業姿勢の第1〜第3基準孔17,18,19の位置ずれ(位置ずれ情報)をそれぞれ算出する。例えば、第1のビジョンカメラ7が二次元検出位置で撮像した画像データの位置情報が示す位置と第1の二次元基準位置情報が示す位置との差分を、基準姿勢に対する第1基準孔17の位置ずれ情報(以下、第1の位置ずれ情報と称する)として算出する。また、第2〜第4のビジョンカメラ8,9,10が各補正位置で撮像した画像データ(第1の補正位置に対応した画像データと第2の補正位置に対応した画像データ)の位置情報が示す位置と第1〜第3の補正基準位置情報との各差分を、基準姿勢に対する第1〜第3基準孔17,18,19の位置ずれ情報として算出する。なお、以下の説明中、第1の補正位置に対応した位置ずれ情報を第2の位置ずれ情報と称し、第2の補正位置に対応した位置ずれ情報を第3の位置ずれ情報と称する。
画像認識装置12は、塗装ロボット制御装置13及びシーリングロボット制御装置14,15に双方向通信可能に接続され、塗装ロボット制御装置13及びシーリングロボット制御装置14,15から撮像実行指示信号を受けて、第1〜第4のビジョンカメラ7,8,9,10の撮像制御を行う。また、画像認識装置12は、位置ずれ算出処理によって算出した位置ずれ情報を、塗装ロボット制御装置13及びシーリングロボット制御装置14,15にそれぞれ送信する。
塗装ロボット制御装置13には、マスター制御装置11からの作業開始信号と画像認識装置12からの位置ずれ情報とが入力する。
塗装ロボット制御装置13のメモリ(図示せず)には、概略変位演算プログラムと、詳細位置算出プログラムと、各種の処理プログラムとが予め記憶されている。
塗装ロボット制御装置13は、概略位置算出プログラムに従って概略位置算出処理を実行する。概略位置算出処理では、画像認識装置12から受信した第1基準孔17の第1の位置ずれ情報に基づいて、基準姿勢に対する作業姿勢のキャブ2の概略変位を算出する。第1の位置ずれ情報を用いたキャブ2の概略変位の算出方法は、特に限定されるものではなく、例えば、第1の位置ずれ情報をそのまま所定平面内におけるキャブ2の概略変位と見做し、第1の位置ずれ情報の座標系を、キャブ2に対して設定した座標系に変換する演算処理でもよい。また、ハンガー3などの構造的な特性により、第1の位置ずれ情報から第1基準孔17の所定方向への概略変位と所定軸周りの回転方向の概略変位とを推定して演算可能である場合には、その演算結果をキャブ2に対して設定される座標系に変換する演算処理でもよい。
塗装ロボット制御装置13は、詳細位置算出プログラムに従って詳細位置算出処理を実行する。詳細位置算出処理では、画像認識装置12から受信した第1〜第3基準孔17,18,19の第2及び第3の位置ずれ情報に基づいて、基準姿勢に対する作業姿勢のキャブ2の詳細変位を算出する。具体的には、独立した6つの位置ずれ情報(第2のビジョンカメラ8が2箇所の補正位置で撮像した各画像データに基づく2つの位置ずれ情報と、第3のビジョンカメラ9が2箇所の補正位置で撮像した各画像データに基づく2つの位置ずれ情報と、第4のビジョンカメラ10が2箇所の補正位置で撮像した各画像データに基づく2つの位置ずれ情報)を用いて、キャブ2に対して設定した座標系において、キャブ2が基準姿勢からx軸方向、y軸方向、及びz軸方向にそれぞれどのくらい変位しているかを示す各軸方向の変位量と、x軸周り、y軸周り、及びz軸周りにどのくらい回転移動しているか(傾いているか)を示す各軸周りの回転量とを、詳細変位情報として算出する。
各種の処理プログラムには、第1の移動プログラム、第2の移動プログラム、塗装プログラム、第1の修正プログラム、及び第2の修正プログラム等が含まれる。
第1の移動プログラムは、基準姿勢のキャブ2を想定した二次元検出位置へ第1のビジョンカメラ7を設定するプログラムであり、二次元検出位置へ第1のビジョンカメラ7を移動するための位置情報(以下、第1の基準位置情報と称する)を含む。第2の移動プログラムは、基準姿勢のキャブ2を想定した第1の三次元検出位置とこの第1の三次元検出位置から所定方向に所定距離離れた第2の三次元検出位置とに第2のビジョンカメラ8を設定するプログラムであり、第1及び第2の三次元検出位置へ第2のビジョンカメラ8を移動するための位置情報(以下、第2の基準位置情報と称する)を含む。塗装プログラムは、基準姿勢のキャブ2に対して塗装作業を行うために塗装ガン4cを制御するプログラムであり、塗装ガン4cの塗装作業位置を示す位置情報(以下、第3の基準位置情報と称する)を含む。
第1の修正プログラムは、第2のビジョンカメラ8の撮像位置を第1及び第2の三次元検出位置からキャブ2の概略変位分ずれた第1及び第2の補正位置に設定するために、第2の移動プログラムの第2の基準位置情報をキャブ2の概略変位に応じて修正するプログラムである。第2の修正プログラムは、基準姿勢のキャブ2に対して設定された塗装プログラムの第3の基準位置情報をキャブ2の詳細変位に応じて修正するプログラムである。
塗装ロボット制御装置13は、マスター制御装置11からの作業開始信号を受信すると、第1の移動プログラムに従って、第1の移動処理を実行する。第1の移動処理では、第1の基準位置情報に応じた制御信号を塗装ロボット4に出力し、第1のビジョンカメラ7を二次元検出位置に移動する。二次元検出位置の第1のビジョンカメラ7は、基準姿勢のキャブ2の第1基準孔を想定した方向を向く。塗装ロボット制御装置13は、第1のビジョンカメラ7が二次元検出位置に移動したときに撮像実行指示信号を画像認識装置12に送信する。
塗装ロボット制御装置13は、第1の修正プログラムに従って第1の修正処理を実行し、第2の移動プログラムの第2の基準位置情報をキャブ2の概略変位に応じて修正し、修正された第2の移動プログラムに従って第2の移動処理を実行する。第2の移動処理では、キャブ2の概略変位に応じて修正された第2の基準位置情報に基づく制御信号を塗装ロボット4に出力し、第2のビジョンカメラ8を第1の補正位置と第2の補正位置とに順次移動する。塗装ロボット制御装置13は、第2のビジョンカメラ8が第1の補正位置に移動したとき及び第2の補正位置に移動したときに、画像認識装置12にそれぞれ撮像実行指示信号を出力する。
塗装ロボット制御装置13は、第2の修正プログラムに従って第2の修正処理を実行し、塗装プログラムの第3の基準位置情報をキャブ2の詳細変位に応じて修正し、修正された塗装プログラムに従って塗装処理を実行する。塗装処理では、キャブ2の詳細変位に応じて修正された第3の基準位置情報に基づいて塗装ガン4cを適宜移動させながら塗装作業を行う。
また、塗装ロボット制御装置13は、塗装ロボット4による塗装作業が終了したときにマスター制御装置11に作業完了信号を出力する。
シーリングロボット制御装置14,15には、マスター制御装置11からの作業開始信号と画像認識装置12からの位置ずれ情報とが入力する。
シーリングロボット制御装置14,15の各メモリ(図示せず)には、詳細位置算出プログラムと、各種の処理プログラムとが予め記憶されている。
詳細位置算出プログラムは上記塗装ロボット制御装置13のメモリに記憶された詳細位置算出プログラムと同一であり、シーリングロボット制御装置14,15が詳細位置算出プログラムに従ってそれぞれ実行する詳細位置算出処理は上記塗装ロボット制御装置13が実行する詳細位置算出処理と同じであるため、その詳細な説明は省略する。
各種の処理プログラムには、第2の移動プログラム、シーリングプログラム、及び第2の修正プログラム等が含まれる。
第2の移動プログラムは、基準姿勢のキャブ2を想定した第1の三次元検出位置とこの第1の三次元検出位置から所定方向に所定距離離れた第2の三次元検出位置とに第3及び第4のビジョンカメラ9,10をそれぞれ設定するプログラムであり、第1及び第2の三次元検出位置へ第3及び第4のビジョンカメラ9,10を移動するための第2の基準位置情報をそれぞれ含む。シーリングプログラムは、基準姿勢のキャブ2に対してシーリング作業を行うためにシーリングガン5c,6cをそれぞれ制御するプログラムであり、シーリングガン5c,6cのシーリング作業位置を示す第3の基準位置情報をそれぞれ含む。
第2の修正プログラムは、基準姿勢のキャブ2に対して設定された各シーリングプログラムの第3の基準位置情報をキャブ2の詳細変位に応じてそれぞれ修正するプログラムである。
シーリングロボット制御装置14,15は、第1の修正プログラムに従って第1の修正処理を実行し、第2の移動プログラムの第2の基準位置情報をキャブ2の概略変位に応じて修正し、修正された第2の移動プログラムに従って第2の移動処理を実行する。第2の移動処理では、キャブ2の概略変位に応じて修正された第2の基準位置情報に基づく制御信号をシーリングロボット14,15に出力し、第3及び第4のビジョンカメラ9,10を第1の補正位置と第2の補正位置とに順次移動する。シーリングロボット制御装置14,15は、第3及び第4のビジョンカメラ9,10が第1の補正位置に移動したとき及び第2の補正位置に移動したときに、画像認識装置12にそれぞれ撮像実行指示信号を出力する。
シーリングロボット制御装置14,15は、第2の修正プログラムに従って第2の修正処理を実行し、シーリングプログラムの第3の基準位置情報をキャブ2の詳細変位に応じて修正し、修正されたシーリングプログラムに従ってシーリング処理を実行する。シーリング処理では、キャブ2の詳細変位に応じて修正された第3の基準位置情報に基づいてシーリングガン5c,6cをそれぞれ適宜移動させながらシーリング作業を行う。
また、シーリングロボット制御装置14,15は、シーリングロボット5,6によるシーリング作業が終了したときにマスター制御装置11に作業完了信号を出力する。
次に、床下塗装装置1が実行する処理を、キャブ搬送処理と第1の撮像処理と第2の撮像処理とシーリング・塗装処理とに分けて説明する。なお、キャブ搬送処理は、特に図示していないキャブ搬送スイッチからのON信号がマスター制御装置11に入力すること、あるいは、塗装ロボット制御装置13及びシーリングロボット制御装置14,15からの作業完了信号がマスター制御装置11に入力することによって開始される。
キャブ搬送処理が開始されると、図7に示すように、マスター制御装置11は、キャブ搬送プログラムに従ってキャブ搬送処理を実行する。キャブ搬送処理では、ハンガー3に制御信号を出力し、キャブ2を作業領域に搬送する(ステップS1)。キャブ2を作業領域に搬送すると、マスター制御装置11に内蔵されたタイマ22を作動させ(ステップS2)、タイマ22による計測時間が7秒間を経過したと判断すると(ステップS3:YES)、塗装ロボット制御装置13に作業開始信号を出力し(ステップS4)、本処理を終了する。
第1の撮像処理では、図8に示す第1のカメラ移動処理と図9に示す第1の画像解析処理とが実行される。
図8に示す第1の移動処理では、塗装ロボット制御装置13は、マスター制御装置11から作業開始信号を受信すると(ステップS11)、第1の移動処理を実行して塗装ロボット4に制御信号を出力し、第1のビジョンカメラ7を二次元検出位置に移動させて(ステップS12)、画像処理装置12に撮像実行指示信号(第1の撮像実行信号)を出力し(ステップS13)、本処理を終了する。
図9に示す第1の画像解析処理では、画像処理装置12は、塗装ロボット制御装置13から撮像実行指示信号を受信すると(ステップS21)、二次元検出位置の第1のビジョンカメラ7を制御して作業姿勢のキャブ2の床下2a(第1基準孔17)を撮像し、その画像データを第1のビジョンカメラ7から受信する(ステップS22)。
次に、画像処理装置12は、第1のビジョンカメラ7から受信した画像データ(第1のビジョンカメラ7が二次元検出位置で撮像した画像データ)を用いて、位置ずれ算出処理を実行する。具体的には、第1のビジョンカメラ7から受信した画像データを解析し、第1基準孔17の位置を検出し、その位置情報と第1の二次元基準位置情報とに基づいて、基準姿勢に対する第1基準孔17の位置ずれ情報(第1の位置ずれ情報)を算出する(ステップS23)。
次に、算出した第1の位置ずれ情報を塗装ロボット制御装置13及びシーリングロボット制御装置14,15に送信し(ステップS24)、本処理を終了する。
第2の撮像処理では、図10及び図11に示す第2のカメラ移動処理と図12に示す第2の画像解析処理とが実行される。
図10に示す第2のカメラ移動処理では、塗装ロボット制御装置13は、画像処理装置12から第1基準孔17の第1の位置ずれ情報を受信すると(ステップS31)、キャブ2の概略変位算出処理を実行する(ステップS32)。概略変位算出処理では、受信した第1基準孔17の第1の位置ずれ情報に基づいて、基準姿勢に対する作業姿勢のキャブ2の概略変位を算出する。次に、第1の修正処理を実行して、第2の移動プログラムの第2の基準位置情報を概略変位に応じて修正する(ステップS33)。
次に、第2の基準位置情報が修正された第2の移動プログラムに従って第2の移動処理を実行し、塗装ロボット4に制御信号を出力して、第1の三次元検出位置を概略変位に応じて修正した第1の補正位置に第2のビジョンカメラ8を移動させ(ステップS34)、画像認識装置12に撮像実行指示信号を出力する(ステップS35)。次に、第2の三次元検出位置を概略変位に応じて修正した第2の補正位置に第2のビジョンカメラ8を移動させ(ステップS36)、画像認識装置12に撮像実行指示信号(第2の撮像実行指示信号)を出力し(ステップS37)、本処理を終了する。
この塗装ロボット制御装置13の処理と同様の処理がシーリングロボット制御装置14,15においても実行される。すなわち、図11に示すように、シーリングロボット制御装置14,15が画像処理装置12から第1基準孔17の第1の位置ずれ情報を受信すると(ステップS41)、受信した第1基準孔17の第1の位置ずれ情報に基づいて、基準姿勢に対する作業姿勢のキャブ2の概略変位を算出し(ステップS42)、第1の修正処理を実行する(ステップS43)。次に、第2の基準位置情報が修正された第2の移動プログラムに従って第2の移動処理を実行し、シーリングロボット5,6に制御信号を出力して、第1の三次元検出位置を概略変位に応じて修正した第1の補正位置に第2及び第4のビジョンカメラ8,10を移動させ(ステップS44)、画像認識装置12に撮像実行指示信号を出力する(ステップS45)。次に、第2の三次元検出位置を概略変位に応じて修正した第2の補正位置に第3及び第4のビジョンカメラ9,10を移動させ(ステップS46)、画像認識装置12に撮像実行指示信号(第2の撮像実行指示信号)を出力し(ステップS47)、本処理を終了する。
図12に示す第2の画像解析処理では、画像処理装置12が塗装ロボット制御装置13及びシーリングロボット制御装置14,15から第1の撮像実行指示信号を受信すると(ステップS51)、第2〜第4のビジョンカメラ8,9,10を制御して作業姿勢のキャブ2の床下2aをそれぞれ撮像する(ステップS52)。
また、画像処理装置12が塗装ロボット制御装置13及びシーリングロボット制御装置14,15から第2の撮像実行指示信号を受信すると(ステップS53)、第2〜第4のビジョンカメラ8,9,10を制御して作業姿勢のキャブ2の床下2a(第1〜第3基準孔17,18,19)をそれぞれ撮像する(ステップS54)。
次に、画像処理装置12は、位置ずれ算出処理を実行し、第2〜第4のビジョンカメラ8,9,10が各補正位置で撮像した画像データの位置情報と第1〜第3の補正基準位置情報とに基づいて、基準姿勢に対する第1〜第3基準孔17,18,19の位置ずれ情報(第2及び第3の位置ずれ情報)をそれぞれ算出する(ステップS55)。
具体的には、まず、第2のビジョンカメラ8から受信した画像データのうち第1の補正位置に対応した画像データから第1基準孔17の位置情報を検出し、検出した第1基準孔17の位置情報と、記憶された第1基準孔17の基準位置位置情報とに基づいて、第1基準孔17の第2の位置ずれ情報を算出する。同様に、第2のビジョンカメラ8から受信した画像データのうち第2の補正位置に対応する画像データから第1基準孔17の位置情報を検出し、検出した第1基準孔17の位置情報と、記憶された第1基準孔17の基準位置情報とに基づいて、第1基準孔17の第3の位置ずれ情報を算出する。さらに、第2基準孔18の画像データ及び第3の基準孔19の画像データについても、上記と同様に位置ずれ算出処理を実行し、第2及び第3基準孔18,19の第2及び第3の位置ずれ情報をそれぞれ算出する。
次に、画像処理装置12が算出した各位置ずれ情報(第1〜第3基準孔17,18,19のそれぞれの第2の位置ずれ情報及び第3の位置ずれ情報)を塗装ロボット制御装置13及びシーリングロボット制御装置14,15に送信して(ステップS56)、本処理を終了する。
シーリング・塗装処理では、図13に示すシーリング処理と図14に示す塗装処理とが並行して実行される。
図13に示すシーリング処理では、シーリングロボット制御装置14,15が画像処理装置12から第1〜第3基準孔17,18,19の第2及び第3の位置ずれ情報を受信すると(ステップS61)、詳細位置算出処理を実行する(ステップS62)。詳細位置算出処理では、画像認識装置12から受信した第1〜第3基準孔17,18,19の第2及び第3の位置ずれ情報に基づいて、基準姿勢に対する作業姿勢のキャブ2の詳細変位を算出する。
次に、シーリングロボット制御装置14,15は、第3の基準位置情報が修正されたシーリングプログラムに従ってシーリング処理を実行し、キャブ2の詳細変位に応じて修正された第3の基準位置情報に基づいてシーリングガン5c,6cをそれぞれ適宜移動させながら、作業姿勢の床下2aに対するシーリング作業を行う(ステップS63,S64)。シーリング作業が終了すると、マスター制御装置11に作業完了信号を出力して(ステップS65)、本処理を終了する。
同様に、図14に示す塗装処理では、塗装ロボット制御装置13が画像処理装置12から第1〜第3基準孔17,18,19の第2及び第3の位置ずれ情報を受信すると(ステップS71)、詳細位置算出処理を実行する(ステップS72)。詳細位置算出処理では、画像認識装置12から受信した第1〜第3基準孔17,18,19の第2及び第3の位置ずれ情報に基づいて、基準姿勢に対する作業姿勢のキャブ2の詳細変位を算出する。
次に、塗装ロボット制御装置13は、第3の基準位置情報が修正された塗装プログラムに従って塗装処理を実行し、キャブ2の詳細変位に応じて修正された第3の基準位置情報に基づいて塗装ガン4cを適宜移動させながら、作業姿勢の床下2aに対する塗装作業を行う(ステップS73,S74)。塗装作業が終了すると、マスター制御装置11に作業完了信号を出力して(ステップS75)、本処理を終了する。
このように、本実施形態では、キャブ2の位置を検出する際に、所定位置で所定方向を向く基準姿勢からの変位が所定の範囲内となる作業姿勢にキャブ2を設定すればよいので、キャブ2を基準姿勢に設定する場合に比べて、位置決めの精度に対する要求が低く、キャブ2の位置決め作業が容易である。
また、第1のビジョンカメラ7は、基準姿勢のキャブ2を想定した二次元検出位置から作業姿勢の第1基準孔17を第1の画角で撮像し、画像認識装置12、塗装ロボット制御装置13及びシーリングロボット制御装置14,15は、第1のビジョンカメラ7が撮像した画像データを解析して基準姿勢に対する作業姿勢のキャブ2の概略変位を暫定的に演算し、塗装ロボット制御装置13及びシーリングロボット制御装置14,15は、作業姿勢のキャブ2の概略変位を演算すると、基準姿勢のキャブ2を想定した三次元検出位置に対して概略変位に応じて修正された補正位置に、第2〜第4のビジョンカメラ8,9,10をそれぞれ設定し、第2〜第4のビジョンカメラ8,9,10は、作業姿勢の第1〜第3基準孔17,18,19を第2〜第4の画角でそれぞれ撮像し、画像認識装置12、塗装ロボット制御装置13及びシーリングロボット制御装置14,15は、第2〜第4のビジョンカメラ8,9,10が撮像した画像を解析して、基準姿勢に対する作業姿勢のキャブ2の詳細変位を演算する。
このように、ワーク姿勢検出の際には、基準姿勢からの変位が所定の範囲内となる作業姿勢にキャブ2を設定すればよいので、例えば基準姿勢にキャブ2を設定する場合に比べて、位置決めの精度が低くて済み、キャブ2の位置決め作業が容易である。換言すると、高精度なワークの位置決めを必要とせず、大まかに位置決めされたキャブ2に対して、位置・姿勢を精度良く検出することができる。
すなわち、姿勢検出の際のキャブ2の位置決め作業の容易化と、作業姿勢のキャブ2の位置・姿勢の検出精度の向上とを両立して図ることができる。
また、第2〜第4のビジョンカメラ8,9,10によって第1〜第3基準孔17,18,19をそれぞれ2つの地点から撮像(ステレオ方式で撮像)し、画像認識装置12によって第1〜第3基準孔17,18,19の各位置ずれ情報を2個ずつ(計6個)求め、6個の位置ずれ情報から詳細変位を算出しているので、作業姿勢のキャブ2の位置・姿勢をより精度良く検出することができる。
また、第1基準孔17を撮像する際に、基準姿勢のキャブ2を想定した二次元検出位置に第1のビジョンカメラ7を設定しているため、第1のビジョンカメラ7を所定位置に固定した場合に比べて、第1のビジョンカメラ7の第1の画角を狭く設定することができ、これに応じて、第2〜第4の画角もさらに狭く設定することが可能になる。従って、基準姿勢に対する作業姿勢のキャブ2の概略変位をより詳細に演算することできる。
さらに、塗装プログラム及びシーリングプログラムに含まれる各位置情報を詳細変位に応じて修正して、塗装ロボット4及びシーリングロボット5,6がキャブ2に対するシーリング・塗装処理を三次元的に施しているため、簡略化された処理プログラムによって、キャブ2の床下2aに対するシーリング・塗装処理の精度を向上させることができる。
なお、本実施形態では、第1のビジョンカメラ7が塗装ガン4cに取付けられている場合を説明したが、これは一例であって、例えば、第1のビジョンカメラ7を床25に固定してもよい。
また、第2のビジョンカメラ8が第1基準孔17を撮像する場合を説明したが、第2のビジョンカメラ8の撮像対象として、床下2aに設けられた複数の孔の中から第1〜第3基準孔17,18,19とは別の孔を設定してもよい。
また、第1〜第4のビジョンカメラ7,8,9,10の撮像対象が、キャブ2の床下2aに設けられた孔である場合を説明したが、例えば、床下2aのコーナー部や凸部等であってもよい。
また、第1のビジョンカメラ7による第1基準孔17の撮像をステレオ方式で行ってもよい。すなわち、第1のビジョンカメラ7を二次元検出位置へ移動させて第1基準孔17を撮像し、二次元検出位置から所定方向に所定距離だけ第1のビジョンカメラ7を移動させて再度第1基準孔17を撮像してもよい。かかる構成によれば、概略変位の精度が高くなり、これに応じて、第2〜第4の画角もさらに狭く設定することが可能になり、基準姿勢に対する作業姿勢のキャブ2の概略変位をより詳細に演算することが可能になる。
また、第2〜第4のビジョンカメラ8,9,10によって第1〜第3基準孔17,18,19をそれぞれ2つの地点から撮像する場合に限られず、第1〜第3基準孔17,18,19をそれぞれ1つの地点から撮像してもよい。
また、塗装ロボット制御装置13及びシーリングロボット制御装置14,15は、第1〜第3基準孔17,18,19のそれぞれの三次元位置情報(3軸の座標値)を検出し、検出した三次元位置情報によって基準姿勢に対する作業姿勢のキャブ2の詳細変位を演算してもよく、また、第1〜第3基準孔17,18,19のそれぞれの二次元位置情報(2軸の座標値)を検出し、基準姿勢に対する作業姿勢のキャブ2の詳細変位を演算してもよい。
また、塗装ロボット制御装置13及びシーリングロボット制御装置14,15の各メモリには、基準位置情報に代えて又は加えて、基準姿勢の第1基準孔17を二次元検出位置の第1のビジョンカメラ7によって撮像した場合に得られる画像データと、基準姿勢の第1〜第3基準孔17,18,19を上記各補正位置の第2〜第4のビジョンカメラ8,9,10によって撮像した場合に得られる各画像データ(以下、これらの画像データを基準画像データと称する)が記憶されていてもよい。この場合、塗装ロボット制御装置13及びシーリングロボット制御装置14,15は、位置ずれ情報を算出する際に、受信した画像データを解析して位置情報を求めるとともに、基準画像データを解析して基準位置情報を求め、求めた位置情報と基準位置情報とに基づいて、位置ずれ情報を算出すればよい。
さらに、図15に示すように、キャブ2を下方から支持する台枠23とハンガー3の枠部3aとをワイヤー24で接続し、キャブ2を台枠23ごと吊り下げて作業領域へ搬送してもよい。
また、キャブ2の作業姿勢が基準姿勢により近い状態となるように吊持部3bを引っ掛けてもよい。これにより、基準姿勢からの変位が少なくなるため、第1のビジョンカメラ7の第1の画角をより狭く設定できるとともに、第2〜第4のビジョンカメラ8,9,10の第2〜第4の画角を狭く設定して、詳細変位をより詳細に求めることができる。
また、本実施形態では、塗装ロボット制御装置13及びシーリングロボット制御装置14,15のそれぞれが概略変位演算プログラム及び詳細変位演算プログラムを実行する場合を説明したが、塗装ロボット制御装置13及びシーリングロボット制御装置14,15に接続する演算装置を別途設け、この演算装置でこれらのプログラムを実行し、演算結果を塗装ロボット制御装置13及びシーリングロボット制御装置14,15に送信する構成としてもよい。あるいは、これらのプログラムを塗装ロボット制御装置13及びシーリングロボット制御装置14,15のうちの1つ装置で実行し、得られた演算結果を残り装置に送信する構成としてもよい。
以上、本発明者によってなされた発明を適用した実施形態について説明したが、この実施形態による本発明の開示の一部をなす論述及び図面により本発明は限定されることはない。すなわち、この実施形態に基づいて当業者等によりなされる他の実施形態、実施例及び運用技術等は全て本発明の範疇に含まれることは勿論であることを付け加えておく。