(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-27
(45)【発行日】2024-10-07
(54)【発明の名称】カメラの位置ずれ測定装置および位置ずれ測定方法
(51)【国際特許分類】
B25J 13/08 20060101AFI20240930BHJP
【FI】
B25J13/08 A
(21)【出願番号】P 2023501705
(86)(22)【出願日】2021-02-24
(86)【国際出願番号】 JP2021006829
(87)【国際公開番号】W WO2022180674
(87)【国際公開日】2022-09-01
【審査請求日】2024-01-11
(73)【特許権者】
【識別番号】000237271
【氏名又は名称】株式会社FUJI
(74)【代理人】
【識別番号】110000017
【氏名又は名称】弁理士法人アイテック国際特許事務所
(72)【発明者】
【氏名】川▲崎▼ 智紀
【審査官】尾形 元
(56)【参考文献】
【文献】特開2017-100240(JP,A)
【文献】特開2016-52695(JP,A)
【文献】特開昭64-27885(JP,A)
【文献】特開昭60-159905(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00-21/02
(57)【特許請求の範囲】
【請求項1】
ロボットアームと該ロボットアームに取り付けられたハンドカメラとを有するロボットと、前記ロボットの外部に設置された外部カメラと、を備えるロボットシステムにおいて、前記ハンドカメラの位置ずれを測定するカメラの位置ずれ測定装置であって、
前記外部カメラの上方に設置され、上下に貫通する第1測定用穴を有する治具部材と、
前記外部カメラにより前記治具部材を撮像し、得られた前記第1測定用穴の撮像画像から前記第1測定用穴の位置を取得する第1位置取得部と、
前記第1位置取得部により取得された位置に前記ハンドカメラを移動させて前記ハンドカメラにより前記治具部材を撮像し、得られた前記第1測定用穴の撮像画像から前記第1測定用穴の位置を取得する第2位置取得部と、
前記第2位置取得部により取得された前記第1測定用穴の位置に前記ロボットの手先を移動させて前記外部カメラにより前記ロボットの手先を撮像し、得られた撮像画像から前記カメラの位置ずれを測定する位置ずれ測定部と、
を備えるカメラの位置ずれ測定装置。
【請求項2】
請求項1に記載のカメラの位置ずれ測定装置であって、
前記外部カメラの上方に設置され、前記第1測定用穴とは別に上下に貫通する複数の第2測定用穴を有する治具部材と、
前記外部カメラの上方に前記ロボットの手先を移動させて前記外部カメラにより前記手先を撮像し、得られた前記手先の撮像画像から前記外部カメラの位置を取得する外部カメラ位置取得部と、
前記外部カメラにより前記治具部材を撮像し、得られた前記第2測定用穴の撮像画像から前記第2測定用穴の位相を取得する第1位相取得部と、
前記外部カメラ位置取得部により取得された前記外部カメラの位置に前記ハンドカメラを移動させて前記ハンドカメラにより前記治具部材を撮像し、得られた前記第2測定用穴の撮像画像から前記第2測定用穴の位相を取得する第2位相取得部と、
前記第1位相取得部および前記第2位相取得部によりそれぞれ取得された第2測定用穴の位相に基づいて前記ハンドカメラの位相ずれを測定する位相ずれ測定部と、
を備えるカメラの位置ずれ測定装置。
【請求項3】
請求項1または2に記載のカメラの位置ずれ測定装置であって、
前記外部カメラの上方に設置され、前記第1測定用穴とは別に上下に貫通する複数の第2測定用穴を有する治具部材と、
前記外部カメラにより前記治具部材を撮像し、得られた前記第2測定用穴の撮像画像から前記第1測定用穴の高さを取得する高さ取得部と、
を備え、
前記第2位置取得部は、前記第1位置取得部により取得された位置および前記高さ取得部により取得された高さに前記ハンドカメラを移動させる、
カメラの位置ずれ測定装置。
【請求項4】
請求項1ないし3いずれか1項に記載のカメラの位置ずれ測定装置であって、
前記外部カメラの上方に設置され、前記第1測定用穴とは別に上下に貫通する複数の第2測定用穴を有する治具部材と、
前記外部カメラにより前記治具部材を撮像し、得られた前記第2測定用穴の撮像画像から前記第1測定用穴の高さを取得する高さ取得部と、
を備え、
前記位置ずれ測定部は、前記第2位置取得部により取得された位置および前記高さ取得部により取得された高さに前記ハンドカメラを移動させる、
カメラの位置ずれ測定装置。
【請求項5】
ロボットアームと該ロボットアームに取り付けられたハンドカメラとを有するロボットと、前記ロボットの外部に設置された外部カメラと、を備えるロボットシステムにおいて、前記ハンドカメラの位置ずれを測定するカメラの位置ずれ測定方法であって、
前記外部カメラの上方に、上下に貫通する第1測定用穴を有する治具部材を設置し、
前記外部カメラにより前記治具部材を撮像し得られた前記第1測定用穴の撮像画像から前記第1測定用穴の位置を取得し、該取得した位置に前記ハンドカメラを移動させて前記ハンドカメラにより前記治具部材を撮像し得られた前記第1測定用穴の撮像画像から前記第1測定用穴の位置を取得し、該取得した前記第1測定用穴の位置に前記ロボットの手先を移動させて前記外部カメラにより前記ロボットの手先を撮像し得られた撮像画像から前記カメラの位置ずれを測定する、
カメラの位置ずれ測定方法。
【請求項6】
請求項5に記載のカメラの位置ずれ測定方法であって、
前記外部カメラの上方に、前記第1測定用穴とは別に上下に貫通する複数の第2測定用穴を有する治具部材を設置し、
前記外部カメラの上方に前記ロボットの手先を移動させて前記外部カメラにより前記手先を撮像し得られた前記手先の撮像画像から前記外部カメラの位置を取得し、前記外部カメラにより前記治具部材を撮像し得られた前記第2測定用穴の撮像画像から前記第2測定用穴の位相を取得し、前記取得した外部カメラの位置に前記ハンドカメラを移動させて前記ハンドカメラにより前記治具部材を撮像し得られた前記第2測定用穴の撮像画像から前記第2測定用穴の位相を取得し、前記外部カメラおよび前記ハンドカメラによりそれぞれ取得した第2測定用穴の位相に基づいて前記ハンドカメラの位相ずれを測定する、
カメラの位置ずれ測定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、カメラの位置ずれ測定装置および位置ずれ測定方法について開示する。
【背景技術】
【0002】
従来、ロボットアームとロボットカメラとを有するロボットと、ロボットとは別個に設置された外部カメラと、を備え、予め校正済みのロボットカメラで校正用パターンを撮像すると共に外部カメラで校正用パターンを撮像して外部カメラの校正データを求めるロボットシステムが提案されている(例えば、特許文献1参照)。このシステムは、ロボットカメラおよび外部カメラでそれぞれ校正用パターンを撮像してパターン画像をそれぞれ取得し、取得したパターン画像とロボットカメラに対する既知の校正データとに基づいて外部カメラの校正データを求めている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した特許文献1記載の技術は、外部カメラを校正することについては記載されているものの、ロボットカメラを校正することについて何ら言及されていない。
【0005】
本開示は、ロボットのアームに取り付けられたカメラのずれを適切に測定することを主目的とする。
【課題を解決するための手段】
【0006】
本開示は、上述の主目的を達成するために以下の手段を採った。
【0007】
本開示のカメラの位置ずれ測定装置は、
ロボットアームと該ロボットアームに取り付けられたハンドカメラとを有するロボットと、前記ロボットの外部に設置された外部カメラと、を備えるロボットシステムにおいて、前記ハンドカメラの位置ずれを測定するカメラの位置ずれ測定装置であって、
前記外部カメラの上方に設置され、上下に貫通する第1測定用穴を有する治具部材と、
前記外部カメラにより前記治具部材を撮像し、得られた前記第1測定用穴の撮像画像から前記第1測定用穴の位置を取得する第1位置取得部と、
前記第1位置取得部により取得された位置に前記ハンドカメラを移動させて前記ハンドカメラにより前記治具部材を撮像し、得られた前記第1測定用穴の撮像画像から前記第1測定用穴の位置を取得する第2位置取得部と、
前記第2位置取得部により取得された前記第1測定用穴の位置に前記ロボットの手先を移動させて前記外部カメラにより前記ロボットの手先を撮像し、得られた撮像画像から前記カメラの位置ずれを測定する位置ずれ測定部と、
を備えることを要旨とする。
【0008】
この本開示のカメラの位置ずれ測定装置は、外部カメラを用いてロボットアームに取り付けられたハンドカメラの位置ずれを測定するものであり、外部カメラの上方に設置され、上下に貫通する第1測定用穴を有する治具部材を含む。さらに、位置ずれ測定装置は、外部カメラにより治具部材を撮像して第1測定用穴の位置を取得し、取得された位置にハンドカメラを移動させてハンドカメラにより治具部材を撮像して第1測定用穴の位置を取得する。そして、位置ずれ測定装置は、その取得した第1測定用穴の位置にロボットの手先を移動させて外部カメラによりロボットの手先を撮像し、カメラの位置ずれを測定する。これにより、ロボットのアームに取り付けられたカメラの位置ずれを適切に測定することができる。
【図面の簡単な説明】
【0009】
【
図2】ロボットと制御装置との電気的な接続関係を示すブロック図である。
【
図4】ベース座標系、カメラ座標系およびメカニカルインタフェース座標系を説明する説明図である。
【
図5】ハンドカメラ位置測定手順を示す説明図である。
【
図6】マーク付きエンドエフェクタの外観図である。
【
図7】ハンドカメラ位置測定用ワークカメラ位置測定処理を示すフローチャートである。
【
図8】ワークカメラ位置を測定する様子を示す説明図である。
【
図9】ワークカメラ位置のずれ量を説明する説明図である。
【
図11】ハンドカメラ位置測定用穴位置測定処理の一例を示すフローチャートである。
【
図12】ワークカメラで穴治具の3点穴を撮像する様子を示す説明図である。
【
図13】ハンドカメラ角度測定処理の一例を示すフローチャートである。
【
図14】ハンドカメラで穴治具を撮像する様子を示す説明図である。
【
図15】ワークカメラとハンドカメラとでそれぞれ測定した3点穴の位相を示す説明図である。
【
図16】ハンドカメラ位置測定処理の一例を示すフローチャートである。
【
図17】ワークカメラでマーク付きエンドエフェクタを撮像する様子を示す説明図である。
【
図18】ハンドカメラ中心から中心穴までの距離を説明する説明図である。
【
図19】マークピン位置(平均値)とハンドカメラ位置測定用穴中心位置と位置ずれ量との関係を示す説明図である。
【発明を実施するための形態】
【0010】
次に、本開示を実施するための形態について図面を参照しながら説明する。
【0011】
図1は、ロボットの外観斜視図である。
図2は、ロボットと制御装置との電気的な接続関係を示すブロック図である。
【0012】
ロボットシステム1は、作業ロボットシステムであり、例えば、ワーク供給部Pにより供給されるワークW(部品)を採取して基板Sに実装する。このロボットシステム1は、
図1,2に示すように、作業台2と、ロボット10と、ロボット10のロボットアーム20に取り付けられたハンドカメラ60と、外部カメラとしてのワークカメラ70と、ロボット10を制御する制御装置90と、を備える。作業台2には、鉛直方向に延在するメインポール3aと、メインポール3aから離間するように鉛直方向に延在するサブポール3bとが設置されている。
【0013】
ロボット10は、本実施形態では、スカラロボットであり、ベース11とロボットアーム20とを備える。
【0014】
ベース11は、作業台2に固定されており、ロボットアーム20の基端側を支持する。ロボットアーム20は、第1アーム21と第1アーム駆動部30と第2アーム22と第2アーム駆動部40とシャフト23とシャフト駆動部50とを備える。第1アーム21は、基端部が第1関節軸J1を介してベース11に連結され、第1関節軸J1の回動によりベース11に対して水平面内で回動(水平旋回)可能に構成される。第2アーム22は、基端部が第2関節軸J2を介して第1アーム21の先端部に連結され、第2関節軸J2の回動により第1アーム21に対して水平面内で回動(水平旋回)可能に構成される。シャフト23は、第2アーム22の先端部に第3関節軸J3を介して連結され、第2アーム22に対して第3関節軸J3の軸周りに回転可能かつ第3関節軸J3の軸方向に沿って昇降可能に構成される。本実施形態のロボットシステム1では、シャフト23の先端には、エンドエフェクタとして、ワークWを採取して保持するワーク保持部24が設けられている。なお、ワーク保持部24としては、例えば、負圧によりワークWを吸着する吸着ノズルや、一対の爪によりワークWを把持するメカニカルチャック、電磁石によりワークWを吸着する電磁チャックなどを挙げることができる。
【0015】
第1アーム駆動部30は、モータ32とエンコーダ34とを備える。モータ32の回転軸は、図示しない減速機を介して第1関節軸J1に連結されている。第1アーム駆動部30は、モータ32を駆動することで減速機を介して第1関節軸J1に伝達されるトルクにより、第1関節軸J1を支点に第1アーム21を回動させる。エンコーダ34は、モータ32の回転軸に取り付けられ、モータ32の回転変位量を検出するロータリエンコーダとして構成される。
【0016】
第2アーム駆動部40は、第1アーム駆動部30と同様に、モータ42とエンコーダ44とを備える。モータ42の回転軸は、図示しない減速機を介して第2関節軸J2に連結されている。第2アーム駆動部40は、モータ42を駆動することで減速機を介して第2関節軸J2に伝達されるトルクにより、第2関節軸J2を支点に第2アーム22を回動させる。エンコーダ44は、モータ42の回転軸に取り付けられ、モータ42の回転変位量を検出するロータリエンコーダとして構成される。
【0017】
シャフト駆動部50は、モータ52a,52bとエンコーダ54a,54bとを備える。モータ52aの回転軸は、図示しないベルトを介してシャフト23に接続されている。シャフト駆動部50は、モータ52aを駆動することによりシャフト23を軸周りに回転させる。モータ52bの回転軸は、図示しないボールねじ機構を介してシャフト23に接続されている。シャフト駆動部50は、モータ52bを駆動することにより、ボールねじ機構によりモータ52bの回転運動が直動運動に変換されることでシャフト23を上下に昇降させる。エンコーダ54aは、シャフト23の回転変位量を検出するロータリエンコーダとして構成される。エンコーダ54bは、シャフト23の昇降位置を検出するリニアエンコーダとして構成される。
【0018】
制御装置90は、
図2に示すように、CPU91と、処理プログラムを記憶するROM92と、ワークメモリとしてのRAM93と、HDDやSSD等の記憶装置94と、入出力インタフェース(図示せず)とを備える。制御装置90には、エンコーダ34,44,54a,54bからの位置信号やハンドカメラ60からの画像信号などが入出力インタフェースを介して入力される。制御装置90からは、モータ32,42,52a,52bへの駆動信号などが入出力インタフェースを介して出力される。
【0019】
ハンドカメラ60は、第2アーム22の先端部に取り付けられている。ハンドカメラ60は、ワーク供給部PのワークWを上から撮像し、その撮像画像を制御装置90へ出力する。制御装置90は、撮像画像を処理することによりワークWの位置を認識する。なお、ハンドカメラ60は第2アーム22に取り付けられているから、本実施形態では、ロボットアーム20は、ハンドカメラ60を上下方向に移動させることはできない。
【0020】
ワークカメラ70は、作業台2におけるワーク供給部Pと基板Sとの間に設置されている。ワークカメラ70は、上部に矩形状の開口部71aを有する収容ボックス71に収容されている。ワークカメラ70は、ロボット10のワーク保持部24に保持されたワークWを下から撮像し、その撮像画像を制御装置90へ出力する。制御装置90は、撮像画像を処理することによりワーク保持部24にワークWが正常に保持されているか否かを判定する。
【0021】
次に、こうして構成されたロボットシステム1の動作について説明する。ロボットシステム1の動作には、ワーク位置認識動作と採取動作と採取確認動作と実装動作とが含まれる。ワーク位置認識動作は、ハンドカメラ60によりワークWを撮像してワークWの位置を認識する。採取動作は、認識したワークWの位置にロボットシステム1の手先(ワーク保持部24)を移動させてワークWを採取する。採取確認動作は、手先に採取したワークWをワークカメラ70の上方へ移動させると共にワークカメラ70でワークWを撮像してワークWの採取状態の良否を確認する。実装動作は、採取したワークWを基板Sに実装する。
【0022】
ここで、ロボットシステム1の座標系について説明する。本実施形態では、
図2,
図3に示すように、ロボットシステム1の座標系として、ワールド座標系Σ
wとベース座標系Σ
bとカメラ座標系Σ
cとメカニカルインタフェース座標系Σ
mとを有する。ワールド座標系Σ
wは、原点がメインポール3aの先端に設定され、X軸がメインポール3aの先端とサブポール3bの先端とを通る方向に設定され、Z軸が鉛直方向に設定され、Y軸がX軸およびZ軸に直交する方向に設定される。ベース座標系Σ
bは、原点がロボット10のベース11の底面に設定され、X軸,Y軸およびZ軸がそれぞれワールド座標系Σ
wの対応する軸と方向が一致するように設定される。メカニカルインタフェース座標系Σ
mは、原点がロボットアーム20の手先に設定され、X軸,Y軸およびZ軸がそれぞれワールド座標系Σ
wの対応する軸と方向が一致するように設定される。カメラ座標系Σ
cは、原点が第2アーム22の底面であって第3関節軸J3の中心に設定され、X軸,Y軸およびZ軸がそれぞれワールド座標系Σ
wの対応する軸と方向が一致するように設定される。ワールド座標系Σ
wとベース座標系Σ
bとカメラ座標系Σ
cとメカニカルインタフェース座標系Σ
mとは、変換行列を用いて相互に変換される。
【0023】
ワーク位置認識動作において、制御装置90のCPU91は、まず、ワーク供給部Pから供給されるワークWを撮像するためのベース11(
図1に示すベース座標系Σ
b)から見たハンドカメラ60の目標位置X
btag,Y
btag,Z
btagを設定する。続いて、CPU91は、ハンドカメラ60の目標位置X
btag,Y
btag,Z
btagに対して逆運動学を解くことにより、ハンドカメラ60の位置を目標位置X
btag,Y
btag,Z
btagに一致させるための第1関節軸J1の角度θ
J1と第2関節軸J2の角度θ
J2とを算出する。
【0024】
次に、CPU91は、第1アーム21のねじれ,たわみや、第2アーム22のたわみ等の誤差要因を考慮して、第1関節軸J1の角度θJ1と第2関節軸J2の角度θJ2とに基づいて順運動学を解くことにより、ハンドカメラ60の推定位置Xbest,Ybest,Zbestを算出する。すなわち、CPU91は、ハンドカメラ60の位置が目標位置Xbtag,Ybtag,Zbtagと一致するように逆運動学により算出される第1および第2関節軸J1,J2の角度θJ1,θJ2を角度指令値として制御したと仮定した場合に、第1アーム21のねじれ,たわみや、第2アーム22のたわみ等の誤差要因によって、目標位置Xbtag,Ybtag,Zbtagからずれた位置である推定位置Xbest,Ybest,Zbestを算出する。
【0025】
CPU91は、推定位置Xbest,Ybest,Zbestを算出すると、算出した推定位置Xbest,Ybest,Zbestと目標位置Xbtag,Ybtag,Zbtagとの差分をとることにより、位置ずれ量ΔXb,ΔYb,ΔZbを算出する。続いて、CPU91は、目標位置Xbtag,Ybtag,Zbtagを位置ずれ量ΔXb,ΔYb,ΔZbの分だけオフセットした上で逆運動学を解くことによりハンドカメラ60を目標位置Xbtag,Ybtag,Zbtagに移動させるための第1関節軸J1の角度指令値θJ1*と第2関節軸J2の角度指令値θJ2*とを算出する。そして、CPU91は、エンコーダ34により検出される第1関節軸J1の角度が算出した角度指令値θJ1*に一致すると共にエンコーダ44により検出される第2関節軸J2の角度が算出した角度指令値θJ2*に一致するようフィードバック制御により対応するモータ31,32を制御する。
【0026】
次に、CPU91は、ワーク供給部Pから供給されたワークWをハンドカメラ60により撮像し、撮像画像に画像処理を施すことにより、ワークWの位置を認識する。そして、CPU91は、ワークWを採取するための手先(ワーク保持部24)の目標位置Xbtag,Ybtagを認識したワークWの位置に設定し、手先を目標位置Xbtag,Ybtag,Zbtagに移動させて採取する採取動作へ移行する。目標位置Xbtag,Ybtagの設定は、認識したワークWの位置に基づいて行なわれる。目標位置Zbtagの設定は、予め入力されたワークWの高さ情報に基づいて行なわれる。
【0027】
採取動作では、CPU91は、まず、手先を設定した目標位置(Xbtag,Ybtag,Zbtag)に移動させるための第1関節軸J1の角度θJ1と第2関節軸J2の角度θJ2とシャフト23の角度(シャフト角度)θJ4とシャフト23の昇降位置Zsとを逆運動学により算出する。続いて、CPU91は、第1アーム21のねじれ,たわみや、第2アーム22のたわみ等の誤差要因を考慮して、算出したθJ1,θJ2,θJ4,Zsに基づいて手先の推定位置Xbest,Ybest,Zbestを順運動学により算出する。次に、CPU91は、手先の推定位置Xbest,Ybest,Zbestと目標位置Xbtag,Ybtag,Zbtagとの差分をとることにより位置ずれ量ΔXb,ΔYb,ΔZbを算出する。次に、CPU91は、目標位置Xbtag,Ybtag,Zbtagを位置ずれ量ΔXb,ΔYb,ΔZbの分だけオフセットした上で逆運動学を解くことにより手先を目標位置Xbtag,Ybtag,Zbtagに移動させるための第1関節軸J1の角度指令値θJ1*と第2関節軸J2の角度指令値θJ2*とシャフト23の角度指令値θJ4*とシャフト23の昇降位置指令値Zs*とを算出する。そして、CPU91は、各指令値に基づいて対応するモータ31,32,33a,33bをフィードバック制御により制御する。
【0028】
このように、ロボットシステム1は、ロボットアーム20に取り付けられたハンドカメラ60でワークWを撮像してワークWの位置を認識し、認識した位置にロボットアーム20の手先を移動させてワークWを採取する。このため、ロボットシステム1とハンドカメラ60と位置関係が適切に把握されないと、ハンドカメラ60によりワークWの位置を正確に認識することができない。すなわち、ロボットシステム1の手先でワークWを適切に採取することができない。そこで、本実施形態では、予め設計位置に対するハンドカメラ60の位置ずれ量を測定し、測定した位置ずれ量をワーク位置認識動作における制御に反映させることで、ワークWの位置を正確に認識できるようにした。なお、ロボットシステム1は校正済みであるものとする。
【0029】
図5は、ハンドカメラ位置測定手順を示す説明図である。ステップS10は、マーク付きエンドエフェクタEE(マークピン)をシャフト23の先端に取り付ける。
図6は、マーク付きエンドエフェクタEEの外観図である。マーク付きエンドエフェクタEEは、シャフト23に取り付けられた状態で鉛直方向に延在するピン状の部材である。マーク付きエンドエフェクタEEのピンの先端には、マークMが設けられている。
【0030】
ステップS20は、ロボットシステム1に、ワークカメラ70のワールド座標系Σ
wにおける位置(ハンドカメラ位置測定用ワークカメラ位置X
wwc,Y
wwc,θ
wwc)を測定するハンドカメラ位置測定用ワークカメラ位置測定処理を実行させる。
図7は、制御装置90のCPU91により実行されるハンドカメラ位置測定用ワークカメラ位置測定処理の一例を示すフローチャートである。ハンドカメラ位置測定用ワークカメラ位置測定処理では、CPU91は、まず、オペレータからのマーク付きエンドエフェクタEEの制御点Zm(固有値)の入力を受け付ける(ステップS100)。制御点Zmは、シャフト23の先端とマーク付きエンドエフェクタEEの先端(マークM)との距離である。マーク付きエンドエフェクタEEの先端の座標は、メカニカルインタフェース座標系Σ
mの原点からZ軸方向下方向にZmだけ離れた位置に設定される。続いて、CPU91は、オペレータによりワークカメラ位置測定ボタンが押下されるまで待機する(ステップS110)。CPU91は、ワークカメラ位置測定ボタンが押下されたと判定すると、マーク付きエンドエフェクタEEをワークカメラ70の上方へ移動させ(ステップS120)、ワークカメラ70でマーク付きエンドエフェクタEEの先端面に設けられたマークMを撮像してワークカメラ70の位置(ワークカメラ位置X
wwc,Y
wwc,θ
wwcを測定する(ステップS130)。
図8は、ハンドカメラ位置測定用ワークカメラ位置を測定する様子を示す説明図である。図示するように、CPU91は、ワークカメラ70の設計上の中心位置を通るようにX軸方向およびY軸方向にそれぞれマーク付きエンドエフェクタEEの先端を移動させながら、ワークカメラ70によりマークMを撮像する。CPU91は、得られた撮像画像に写ったマークMのX軸方向およびY軸方向のそれぞれの移動軌跡を取得する。そして、CPU91は、
図9に示すように、撮像画像のX軸方向およびY軸方向のそれぞれにおいて、撮像画像の画像中心と取得した各移動軌跡の交点との差分を計算することによりワークカメラ70の位置ずれ量Δx,Δyを求める。さらに、CPU91は、
図9に示すように、撮像画像のX軸方向と移動軌跡のX軸方向との回転方向における差分によりワークカメラ70の回転ずれ量Δθを計算する。そして、CPU91は、ワークカメラ70の設計上の中心位置を位置ずれ量Δx,Δyだけオフセットした位置をワークカメラ位置X
wwc,Y
wwcとして求めると共に、ワークカメラ70を回転ずれ量Δθだけ回転方向にオフセットした角度をワークカメラ位置θ
wwcとして求める。CPU91は、こうしてワークカメラ位置X
wwc,Y
wwc,θ
wwcを測定すると、測定したワークカメラ位置X
wwc,Y
wwc,θ
wwcを記憶装置94に登録して(ステップS140)、本処理を終了する。
【0031】
ステップS30は、収容ボックス71の上部に設けられた開口部71aにハンドカメラ位置測定用の穴治具80を取り付ける。
図10は、穴治具の取付の様子を示す説明図である。図示するように、穴治具80は、収容ボックス71の開口部71aに嵌合された状態で固定具82により固定される。穴治具80には、ワークカメラ70の真上に位置すると共に上下に貫通する中心穴81aと、中心穴81aに周囲にそれぞれ周方向に間隔をおいて位置すると共に上下に貫通する3点穴81bと、が形成されている。なお、3点穴81bの穴の数は、3つに限られず、2つであってもよいし、4つ以上であってもよい。
【0032】
ステップS40は、ロボットシステム1に、ワークカメラ70により穴治具80の中心穴81aのワールド座標系Σ
wにおける位置(中心穴位置X
wwv,Y
wwv,Z
wwv)を測定するハンドカメラ位置測定用穴位置測定処理を実行させる。
図11は、制御装置90のCPU91により実行されるハンドカメラ位置測定用穴位置測定処理の一例を示すフローチャートである。ハンドカメラ位置測定用穴位置測定処理では、CPU91は、まず、オペレータによりハンドカメラ位置測定ボタンが押下されるまで待機する(ステップS200)。CPU91は、ハンドカメラ位置測定ボタンが押下されたと判定すると、ワークカメラ70で穴治具80を撮像して、得られた撮像画像から穴治具80の3点穴81bの距離a
mを測定する(ステップS210)。
図12は、ワークカメラで穴治具の3点穴を撮像する様子を示す説明図である。3点穴81bの距離a
mの測定は、撮像画像に写った3点穴81bの穴間の距離を測定することにより行なわれる。そして、CPU91は、測定した3点穴81bの距離a
mに基づいて次式(1)によりハンドカメラ位置測定用中心穴位置Z
wwvを計算し(ステップS220)、計算した中心穴位置Z
wwvを記憶装置94に登録する(ステップS230)。式(1)中、a
0は、3点穴81bの設計上の距離を示し、WDは、ワークカメラ70のワーキングディスタンスを示し、Zは、ワークカメラ70の撮像高さを示す。
【0033】
【0034】
次に、CPU91は、ステップS210で得られた撮像画像から穴治具80のワールド座標系Σwにおける中心穴位置Xwwv,Ywwvを測定する(ステップS240)。そして、CPU91は、測定した中心穴位置Xwwv,Ywwvを記憶装置94に登録して(ステップS250)、本処理を終了する。
【0035】
ステップS50は、ロボットシステム1に、ハンドカメラ60の角度(位置θ
ci)を測定するハンドカメラ角度測定処理を実行させる。
図13は、制御装置90のCPU91により実行されるハンドカメラ角度測定処理の一例を示すフローチャートである。ハンドカメラ角度測定処理では、CPU91は、まず、ワークカメラ70によりハンドカメラ位置測定用の穴治具80を撮像して穴治具80の3点穴81bのワールド座標系Σ
wにおける位相θ
wwvを測定し(ステップS300)、測定した3点穴位相θ
wwvを記憶装置94に登録する(ステップS310)。3点穴位相θ
wwvの測定は、得られた撮像画像に写った3点穴81bの各穴を結ぶ三角形のX軸に対する角度を求めることにより行なわれる。続いて、CPU91は、
図14に示すように、ハンドカメラ60の制御点を、ステップS20で登録したハンドカメラ位置測定用ワークカメラ位置X
wwc,Y
wwcとステップS40で登録したハンドカメラ位置測定用中心穴位置Z
wwvとに移動させる(ステップS320)。次に、CPU91は、ハンドカメラ60により穴治具80を撮像し、得られた撮像画像に基づいてステップS300と同様に穴治具80の3点穴81bのワールド座標系Σ
wにおける位相θ
whvを測定する(ステップS330)。そして、CPU91は、ステップS300,S310でワークカメラ70を用いて測定した3点穴位相θ
wwvとステップS330でハンドカメラ60を用いて測定した3点穴位相θ
whvとに基づいてハンドカメラ位置θ
ciを計算し(ステップS340)、計算したハンドカメラ位置θ
ciを記憶装置94に登録して(ステップS350)、本処理を終了する。
図15は、ワークカメラとハンドカメラとでそれぞれ測定した3点穴位相θを示す説明図である。図示するように、ハンドカメラ位置θ
ciの計算は、ワークカメラ70により下から測定した3点穴位相θ
wwvとハンドカメラ60により上から測定した3点穴位相θ
whvとの差分θe(=θ
wwv-θ
whv)を計算し、差分θeの分だけ設計上のハンドカメラ位置(固有値)を回転方向にオフセットすることにより行なわれる。
【0036】
ステップS60は、ロボットシステム1に、ハンドカメラ60の位置(ハンドカメラ位置X
ci,Y
ci)を測定するハンドカメラ位置測定処理を実行させる。
図16は、制御装置により実行されるハンドカメラ位置測定処理の一例を示すフローチャートである。ハンドカメラ位置測定処理では、CPU91は、まず、オペレータによりハンドカメラ位置測定ボタンが押下されるまで待機する(ステップS400)。CPU91は、ハンドカメラ位置測定ボタンが押下されたと判定すると、ハンドカメラ60の制御点を、ステップS20で登録したハンドカメラ位置測定用ワークカメラ位置X
wwc,Y
wwcとステップS40で登録したハンドカメラ位置測定用中心穴位置Z
wwvとに移動させる(ステップS410)。続いて、CPU91は、ハンドカメラ60により穴治具80を撮像し、得られた撮像画像から中心穴位置X
whv,Y
whvを測定する(ステップS420)。次に、CPU91は、
図18に示すように、撮像画像の画像中心と測定した中心穴位置X
whv,Y
whvとの距離Lを計算する(ステップS430)。距離Lは、画像中心を原点として中心穴位置X
whvをaとし、中心穴位置Y
whvをbとすると、次式(2)により計算することができる。そして、CPU91は、計算した距離Lが予め定められた許容値Lref以下であるか否かを判定する(ステップS440)。CPU91は、距離Lが許容値Lref以下でないと判定すると、距離Lが許容値Lref以下となるまでステップS410に戻って処理を繰り返し、距離Lが許容値Lref以下となると、ステップS450に進む。なお、距離Lが許容値Lref以下であるか否かに拘わらず、ステップS450に進んでもよい。
【0037】
【0038】
CPU91は、距離Lが許容値Lref以下であると判定すると、マーク付きエンドエフェクタEE(マークピン)の制御点を、ステップS20で登録したハンドカメラ位置測定用ワークカメラ位置X
wwc,Y
wwcとステップS40で登録したハンドカメラ位置測定用穴位置Z
wwvとに移動させる(ステップS450)。続いて、CPU91は、マーク付きエンドエフェクタEEを0°,90°,180°,270°の角度にそれぞれ回転させ、各角度においてワークカメラ70によりマークMを撮像してワールド座標系Σ
wにおけるマークピン位置(X0,y0),(X90,Y90),(X180,Y180),(X270,Y270)を測定する(ステップS460)。次に、CPU91は、マークピン位置(X0,Y0),(X90,Y90),(X180,Y180),(X270,Y270)の平均値X
mc,Y
mcを次式(3)により計算する。さらに、CPU91は、ステップS40でワークカメラ70により測定したハンドカメラ位置測定用中心穴位置X
wwc,Y
wwcとマークピン位置(平均値)X
mc,Y
mcとの差分を次式(4)により計算することにより、エンドエフェクタ中心のハンドカメラ位置測定用穴中心位置X
wwv,Y
wwvからの位置ずれ量X
me,Y
meを算出する(ステップS190)。
図19に、マークピン位置(平均値)X
mc,Y
mcとハンドカメラ位置測定用穴中心位置X
wwv,Y
wwvと位置ずれ量X
me,Y
meとの関係を示す。
【0039】
【0040】
そして、CPU91は、位置ずれ量Xme,Ymeの座標系を、ワールド座標系Σwからカメラ座標系Σcに変換し、変換後の位置ずれ量Xrme,Yrme分だけ設計上のハンドカメラ位置Xmo,Ymo(固有値)をオフセットした新たなハンドカメラ位置Xci,Yciを計算する(ステップS470)。位置ずれ量Xme,Ymeの座標系をワールド座標系Σwからカメラ座標系Σcへ変換するためには、位置ずれ量Xme,Ymeをワールド座標系Σwとカメラ座標系Σcとの位相差θrm分だけ回転させればよい。ワールド座標系Σwにおけるロボット10のベース原点の位相をθrwとし、ハンドカメラ60により穴治具81の中心穴81aを撮像した際の第1関節軸J1および第2関節軸J2の各回転角をθJ1,θJ2とすると、位相差θrmは、次式(5)により計算される。したがって、変換後の位置ずれ量Xrme,Yrmeは、次式(6)および式(7)の回転行列を用いて計算することができる。新たなハンドカメラ位置Xmm,Ymmは、固有値であるハンドカメラ位置Xmo,Ymoを用いて次式(8)により計算することができ、これがハンドカメラ位置Xci,Yciとなる。CPU91は、こうして新たなハンドカメラ位置Xci,Yciを計算すると、計算したハンドカメラ位置Xci,Yciを記憶装置94に登録する(ステップS480)。
【0041】
【0042】
さらに、CPU91は、ハンドカメラ位置変化量Eを次式(9)により計算し(ステップS490)、ハンドカメラ位置変化量Eが予め定められた許容値Eref以下であるか否かを判定する(ステップS500)。CPU91は、ハンドカメラ位置変化量Eが許容値Eref以下でないと判定すると、ステップS400に戻り、ハンドカメラ位置変化量Eが許容値Eref以下であると判定すると、これで本処理を終了する。これにより、記憶装置94には、正確なハンドカメラ位置Xci,Yci,θciが記憶される。このため、CPU91は、記憶装置94に記憶されたハンドカメラ位置Xci,Yci,θciを用いてハンドカメラ60の位置を制御することにより、ハンドカメラ60により撮像されたワークW(対象物)の位置を正確に把握することができるため、ワークWに対する作業をより正確に行なうことが可能となる。
【0043】
【0044】
ステップS70は、マーク付きエンドエフェクタEEとハンドカメラ位置測定用の穴治具80を取り外す。これにより、ハンドカメラ位置測定手順が完了する。
【0045】
ここで、実施形態の主要な要素と請求の範囲に記載した本開示の主要な要素との対応関係について説明する。即ち、本実施形態では、ロボット10がロボットに相当し、ハンドカメラ60がハンドカメラに相当し、ワークカメラ70が外部カメラに相当し、穴治具80が治具部材に相当し、中心穴81aが第1測定用穴に相当し、ハンドカメラ位置測定用穴位置測定処理のステップS240,S250の処理を実行する制御装置90のCPU91が第1位置取得部に相当し、ハンドカメラ位置測定処理のステップS410,S420の処理を実行する制御装置90のCPU91が第2位置取得部に相当し、ハンドカメラ位置測定処理のステップS450~S480の処理を実行する制御装置90のCPU91が位置ずれ測定部に相当する。また、ハンドカメラ位置測定用ワークカメラ位置測定処理を実行する制御装置90のCPU91が外部カメラ位置取得部に相当し、ハンドカメラ角度測定処理のステップS300,S310の処理を実行する制御装置90のCPU91が第1位相取得部に相当し、ハンドカメラ角度測定処理のステップS320,S330の処理を実行する制御装置90のCPU91が第2位相取得部に相当し、ハンドカメラ角度測定処理のステップS340の処理を実行する制御装置90のCPU91が位相ずれ測定部に相当する。また、ハンドカメラ位置測定用穴位置測定処理のステップS210,S220の処理を実行する制御装置90のCPU91が高さ取得部に相当する。
【0046】
なお、本開示は上述した実施形態に何ら限定されることはなく、本開示の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【0047】
例えば、上述した実施形態では、ロボット10は、水平多関節ロボット(スカラロボット)として構成されたが、これに限定されるものではなく、例えば垂直多関節ロボットなど、他の如何なる構成により構成されてもよい。
【0048】
以上説明したように、本開示のカメラの位置ずれ測定装置は、ロボットアームと該ロボットアームに取り付けられたハンドカメラとを有するロボットと、前記ロボットの外部に設置された外部カメラと、を備えるロボットシステムにおいて、前記ハンドカメラの位置ずれを測定するカメラの位置ずれ測定装置であって、前記外部カメラの上方に設置され、上下に貫通する第1測定用穴を有する治具部材と、前記外部カメラにより前記治具部材を撮像し、得られた前記第1測定用穴の撮像画像から前記第1測定用穴の位置を取得する第1位置取得部と、前記第1位置取得部により取得された位置に前記ハンドカメラを移動させて前記ハンドカメラにより前記治具部材を撮像し、得られた前記第1測定用穴の撮像画像から前記第1測定用穴の位置を取得する第2位置取得部と、前記第2位置取得部により取得された前記第1測定用穴の位置に前記ロボットの手先を移動させて前記外部カメラにより前記ロボットの手先を撮像し、得られた撮像画像から前記カメラの位置ずれを測定する位置ずれ測定部と、を備えることを要旨とする。
【0049】
この本開示のカメラの位置ずれ測定装置は、外部カメラの上方に設置され、上下に貫通する第1測定用穴を有する治具部材を含む。さらに、位置ずれ測定装置は、外部カメラにより治具部材を撮像して第1測定用穴の位置を取得し、取得された位置にハンドカメラを移動させてハンドカメラにより治具部材を撮像して第1測定用穴の位置を取得する。そして、位置ずれ測定装置は、その取得した第1測定用穴の位置にロボットの手先を移動させて外部カメラによりロボットの手先を撮像し、カメラの位置ずれを測定する。これにより、ロボットのアームに取り付けられたカメラの位置ずれを適切に測定することができる。
【0050】
こうした本開示のカメラの位置ずれ測定装置において、前記外部カメラの上方に設置され、前記第1測定用穴とは別に上下に貫通する複数の第2測定用穴を有する治具部材と、前記外部カメラの上方に前記ロボットの手先を移動させて前記外部カメラにより前記手先を撮像し、得られた前記手先の撮像画像から前記外部カメラの位置を取得する外部カメラ位置取得部と、前記外部カメラにより前記治具部材を撮像し、得られた前記第2測定用穴の撮像画像から前記第2測定用穴の位相を取得する第1位相取得部と、前記外部カメラ位置取得部により取得された前記外部カメラの位置に前記ハンドカメラを移動させて前記ハンドカメラにより前記治具部材を撮像し、得られた前記第2測定用穴の撮像画像から前記第2測定用穴の位相を取得する第2位相取得部と、前記第1位相取得部および前記第2位相取得部によりそれぞれ取得された第2測定用穴の位相に基づいて前記ハンドカメラの位相ずれを測定する位相ずれ測定部と、を備えてもよい。こうすれば、治具部材と外部カメラとを用いて、ハンドカメラの位置ずれに加えて位相ずれも適切に測定することができる。なお、第2測定用穴は、治具部材の第1測定用穴の周囲に周方向に間隔を置いて形成されてもよい。
【0051】
また、本開示のカメラの位置ずれ測定装置において、前記外部カメラの上方に設置され、前記第1測定用穴とは別に上下に貫通する複数の第2測定用穴を有する治具部材と、前記外部カメラにより前記治具部材を撮像し、得られた前記第2測定用穴の撮像画像から前記第1測定用穴の高さを取得する高さ取得部と、を備え、前記第2位置取得部は、前記第1位置取得部により取得された位置および前記高さ取得部により取得された高さに前記ハンドカメラを移動させてもよい。こうすれば、治具部材の設置高さに誤差が含まれていても、ハンドカメラの位置ずれを良好に測定することができる。
【0052】
さらに、本開示のカメラの位置ずれ測定装置において、前記外部カメラの上方に設置され、前記第1測定用穴とは別に上下に貫通する複数の第2測定用穴を有する治具部材と、前記外部カメラにより前記治具部材を撮像し、得られた前記第2測定用穴の撮像画像から前記第1測定用穴の高さを取得する高さ取得部と、を備え、前記位置ずれ測定部は、前記第2位置取得部により取得された位置および前記高さ取得部により取得された高さに前記ハンドカメラを移動させてもよい。こうすれば、治具部材の設置高さに誤差が含まれていても、ハンドカメラの位置ずれを良好に測定することができる。
【0053】
なお、本開示は、カメラの位置ずれ測定装置の形態としたが、カメラの位置ずれ測定方法の形態としてもよい。
【産業上の利用可能性】
【0054】
本開示は、ロボットシステムの製造産業などに利用可能である。
【符号の説明】
【0055】
1 ロボットシステム、2 作業台、3a メインポール 、3b サブポール、10 ロボット、11 ベース、20 ロボットアーム、21 第1アーム、22 第2アーム、23 シャフト、24 ワーク保持部、30 第1アーム駆動部、31 モータ、32 モータ、33a モータ、33b モータ、34 エンコーダ、40 第2アーム駆動部、42 モータ、44 エンコーダ、50 シャフト駆動部、52a モータ、52b モータ、54a エンコーダ、54b エンコーダ、60 ハンドカメラ、70 ワークカメラ、71 収容ボックス、71a 開口部、80 穴治具、81a 中心穴、81b 3点穴、82 固定具、90 制御装置、91 CPU、92 ROM、93 RAM、94 記憶装置、EE マーク付きエンドエフェクタ、J1 第1関節軸、J2 第2関節軸、J3 第3関節軸、M マーク、P ワーク供給部、S 基板。