(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-23
(45)【発行日】2024-10-31
(54)【発明の名称】カメラの位置ずれ測定方法
(51)【国際特許分類】
B25J 19/04 20060101AFI20241024BHJP
G06T 7/80 20170101ALI20241024BHJP
【FI】
B25J19/04
G06T7/80
(21)【出願番号】P 2022536096
(86)(22)【出願日】2020-07-17
(86)【国際出願番号】 JP2020027861
(87)【国際公開番号】W WO2022014043
(87)【国際公開日】2022-01-20
【審査請求日】2023-06-02
【前置審査】
(73)【特許権者】
【識別番号】000237271
【氏名又は名称】株式会社FUJI
(74)【代理人】
【識別番号】110000017
【氏名又は名称】弁理士法人アイテック国際特許事務所
(72)【発明者】
【氏名】川▲崎▼ 智紀
【審査官】松浦 陽
(56)【参考文献】
【文献】特開昭64-002889(JP,A)
【文献】特開平05-008185(JP,A)
【文献】特開2019-014031(JP,A)
【文献】特開2015-182144(JP,A)
【文献】特開平06-238584(JP,A)
【文献】特開2018-094648(JP,A)
【文献】特開2018-012184(JP,A)
【文献】特開2014-180720(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
G06T 7/80
(57)【特許請求の範囲】
【請求項1】
ロボットアームと、該ロボットアームの先端部に回転軸を介して取り付けられたハンドと、光軸が前記回転軸と平行となるように前記ロボットアームに取り付けられたカメラと、を有するロボットにおける前記カメラの位置ずれを測定するカメラの位置ずれ測定方法であって、
マークを有する治具を前記ハンドに装着するステップ(a)と、
前記ハンドを前記回転軸周りに回転させながら複数の回転位置において前記カメラで前記治具が有する前記マークを撮像するステップ(b)と、
前記複数の回転位置においてそれぞれ撮像された各撮像画像に写る前記マークの位置と当該回転位置における理想的な前記マークの位置との差分に基づいて前記カメラの位置ずれを求めるステップ(c)と、
を備え
、
前記ステップ(c)は、実際のカメラ視野を基準としたX
vr
Y
vr
座標系において、前記ステップ(b)により各回転位置n(n=1,2,…,k)でそれぞれ撮像され測定されたマークの位置を(x
vn
,y
vn
)とし、前記各回転位置n(n=1,2,…,k)での理想的なマークの位置を(x
in
,y
in
)とし、X
vr
軸方向およびY
vr
軸方向における前記カメラの各位置ずれを(x
c
,y
c
)とすると共に設計上のカメラ視野に対する前記実際のカメラ視野の回転方向の回転ずれをθ
c
としたとき、前記測定されたマーク位置(x
vn
,y
vn
)と前記理想的なマーク位置(x
in
,y
in
)との関係を表わす関係式を用いて前記位置ずれ(x
c
,y
c
)と前記回転ずれθ
c
とを求め、前記回転ずれθ
c
に基づいて前記位置ずれ(x
c
,y
c
)の座標系を前記X
vr
Y
vr
座標系から前記設計上のカメラ視野を基準としたX
vi
Y
vi
座標系に変換することで前記カメラの位置ずれを求めるものであって、
次式(1)~(3)で定義される平方和Fが最小化する前記位置ずれ(x
c
,y
c
)と前記回転ずれθ
c
との組合せを所定の最小化アルゴリズムを用いて求め、次式(4)および(5)により前記位置ずれ(x
c
,y
c
)の座標系を前記X
vr
Y
vr
座標系から前記X
vi
Y
vi
座標系に変換することで、前記X
vi
Y
vi
座標系における位置ずれ(x
ci
,y
ci
)を求める、
カメラの位置ずれ測定方法。
【数1】
【請求項2】
請求項
1に記載のカメラの位置ずれ測定方法であって、
前記ステップ(c)で求めた前記カメラの位置ずれおよび回転ずれに応じたオフセット値を前記カメラで撮像して測定した対象物の位置を補正するための補正値として登録するステップ(d)を備える
カメラの位置ずれ測定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、カメラの位置ずれ測定方法について開示する。
【背景技術】
【0002】
従来、アームを備えるロボットにおいて、アームとは独立して設置されたカメラの校正を行なうものが提案されている(例えば、特許文献1参照)。このカメラの校正の処理手順は、まず、手先座標系の3つの回転軸X,Y,Zを設定し、各回転軸を中心として手先に保持した校正用パターンをそれぞれ回転させるようにアームを動作させる。次に、各回転軸を中心とした回転の複数の回転位置における校正用パターンのパターン画像をカメラで撮像する。そして、これらのパターン画像を用いて手先座標系とカメラ座標系との間の座標変換行列を推定する。この処理手順によれば、手先座標系とカメラ座標系との間の座標変換を計算可能な外部パラメータが得られるため、カメラを用いた対象物の位置検出を行なうことができるとしている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述した特許文献1には、アームとは独立して設置されたカメラの校正を行なうことについては記載されているものの、アームに取り付けられたカメラの校正(位置ずれの測定)を行なうことについては何ら言及されていない。
【0005】
本開示は、アームに取り付けられたカメラの位置ずれの測定を簡易な手法により行なうことを主目的とする。
【課題を解決するための手段】
【0006】
本開示のカメラの位置ずれ量測定方法は、上述の主目的を達成するために以下の手段を採った。
【0007】
本開示のカメラの位置ずれ量測定方法は、
ロボットアームと、該ロボットアームの先端部に回転軸を介して取り付けられたハンドと、光軸が前記回転軸と平行となるように前記ロボットアームに取り付けられたカメラと、を有するロボットにおける前記カメラの位置ずれを測定するカメラの位置ずれ測定方法であって、
マークを有する治具を前記ハンドに装着するステップ(a)と、
前記ハンドを前記回転軸周りに回転させながら複数の回転位置において前記カメラで前記マークを撮像するステップ(b)と、
前記複数の回転位置においてそれぞれ撮像された各撮像画像に写るマークの位置と理想的なマークの位置との差分に基づいて前記カメラの位置ずれを求めるステップ(c)と、
を備えることを要旨とする。
【0008】
この本開示のカメラの位置ずれ量測定方法は、ロボットアームと、ロボットアームの先端部に回転軸を介して取り付けられたハンドと、光軸が回転軸と平行となるようにロボットアームに取り付けられたカメラと、を有するロボットにおけるカメラの位置ずれを測定するものである。この方法では、マークが付された治具をハンドに装着し、ハンドを回転軸周りに回転させながら複数の回転位置においてカメラによりマークを撮像する。そして、複数の回転位置においてそれぞれ撮像された各撮像画像に写るマークの位置と理想的なマークの位置との差分に基づいてカメラの位置ずれを求める。これにより、アームに取り付けられたカメラの位置ずれの測定を簡易な手順により行なうことができる。
【図面の簡単な説明】
【0009】
【
図3】ロボット本体と制御装置との電気的な接続関係を示すブロック図である。
【
図4】カメラ位置ずれ測定手順の一例を示す説明図である。
【
図5】マーク付き治具の装着の様子を示す説明図である。
【
図6】カメラに位置ずれが生じているときの設計上のカメラ視野と実際のカメラ視野とを示す説明図である。
【
図7】実際のカメラ視野を基準としたX
vrY
vr座標系における位置ずれ(x
c,y
c)と回転ずれをθ
cとを説明する説明図である。
【
図8】設計上のカメラ視野を基準としたX
viY
vi座標系における位置ずれ(x
ci,y
ci)を説明する説明図である。
【発明を実施するための形態】
【0010】
次に、本開示を実施するための形態について図面を参照しながら説明する。
【0011】
図1は、作業ロボットの外観斜視図である。
図2は、ロボット本体の側面図である。
図3は、ロボット本体と制御装置との電気的な接続関係を示すブロック図である。
【0012】
作業ロボット1は、ワークWに対して所定の作業(例えば、ワークWをピックアップして搬送する搬送作業や、ワークWをピックアップして対象物に組み付ける組付け作業など)を行なう水平多関節ロボットとして構成されている。作業ロボット1は、ロボット本体10(
図1~
図3参照)と、ロボット本体10を制御する制御装置70(
図3参照)と、を備える。ロボット本体10は、
図1,
図2に示すように、基台11と多関節アーム20とを備える。
【0013】
基台11は、作業台2に固定されており、多関節アーム20の基端側を支持する。多関節アーム20は、第1アーム21と第1アーム駆動部30と第2アーム22と第2アーム駆動部40とシャフト23とシャフト駆動部50とカメラ60とを備える。第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の軸方向に沿って昇降可能に構成される。シャフト23の先端には、ワークWに対して作業を行なうための各種ツールを保持するためのツール保持部24が設けられている。
【0014】
第1アーム駆動部30は、
図3に示すように、モータ32とエンコーダ34とを備える。モータ32の回転軸は、図示しない減速機を介して第1関節軸J1に連結されている。第1アーム駆動部30は、モータ32を駆動することにより減速機を介して第1関節軸J1に伝達されるトルクにより、第1関節軸J1を支点に第1アーム21を水平旋回させる。エンコーダ34は、モータ32の回転軸に取り付けられ、モータ32の回転変位量を検出するロータリエンコーダとして構成される。
【0015】
第2アーム駆動部40は、第1アーム駆動部30と同様に、モータ42とエンコーダ44とを備える。モータ42の回転軸は、図示しない減速機を介して第2関節軸J2に連結されている。第2アーム駆動部40は、モータ42を駆動することにより減速機を介して第2関節軸J2に伝達されるトルクにより、第2関節軸J2を支点に第2アーム22を水平旋回させる。エンコーダ44は、モータ42の回転軸に取り付けられ、モータ42の回転変位量を検出するロータリエンコーダとして構成される。
【0016】
シャフト駆動部50は、
図3に示すように、モータ52a,52bとエンコーダ54a,54bとを備える。モータ52aの回転軸は、ベルト(図示せず)を介してシャフト23に接続され、シャフト23を軸周りに回転させる。モータ52bの回転軸は、シャフト23を貫通するボールねじナット(図示せず)にベルトを介して接続され、当該ボールねじナットを回転させることでシャフト23を上下に昇降させる。エンコーダ54aは、シャフト23の回転変位量を検出するロータリエンコーダとして構成される。エンコーダ54bは、シャフト23の昇降位置を検出するリニアエンコーダとして構成される。
【0017】
カメラ60は、光軸がシャフト23の軸と平行となるように第2アーム22の先端部側面に取り付けられている。カメラ60は、作業対象のワークWを撮像し、その撮像画像を制御装置70へ出力する。制御装置70は、撮像画像を処理することによりワークWの位置を認識する。
【0018】
制御装置70は、
図3に示すように、CPU71とROM72とRAM73と不揮発性メモリ(記憶装置74)と入出力インタフェース(図示せず)とを備える。制御装置70には、エンコーダ34,44,54a,54bからの位置信号やカメラ60からの画像信号などが入出力インタフェースを介して入力されている。制御装置70からは、モータ32,42,52a,52bへの駆動信号などが入出力インタフェースを介して出力されている。
【0019】
次に、こうして構成された作業ロボット1の動作について説明する。制御装置70のCPU71は、まず、ワークWの上方にカメラ60を移動させるために手先が予め定められた目標位置に移動するよう第1アーム駆動部30と第2アーム駆動部40とシャフト駆動部50とを制御し、ワークWをカメラ60で撮像する。続いて、CPU71は、得られた撮像画像を処理する画像処理を行なってワークWの位置をカメラ座標系で計測する。画像処理は、撮像画像中に写るワークWの座標値を計測し、補正値を用いて計測した座標値に対して位置オフセット補正および回転オフセット補正を実行することにより行なわれる。ここで、補正値は、カメラ60の加工誤差や組付け誤差等によって生じるカメラ60と手先との位置関係のずれを補正するためのものである。補正値は、後述するカメラ位置ずれ測定手順によって予め測定され、記憶装置74に記憶されている。次に、CPU71は、ワークWの位置をロボット座標系に変換し、変換したワークWの位置に基づいてワークWをピックアップするための手先の目標位置を設定する。そして、CPU71は、設定した目標位置に手先が移動するよう第1アーム駆動部30と第2アーム駆動部40とシャフト駆動部50とを制御する。ワークWは、手先が目標位置へ移動することで、手先(ワーク保持部24)によりピックアップされる。
【0020】
次に、カメラ位置ずれ測定手順について説明する。
図4は、カメラ位置ずれ測定手順の一例を示す説明図である。カメラ位置ずれ測定手順は、ステップS100~S150により実行される。
【0021】
ステップS100は、
図5に示すように、シャフト23の先端に設けられたツール保持部24(手先)にマーク付き治具100を装着する。マーク付き治具100は、ツール保持部24に装着される装着箇所からシャフト23に直交する方向に離間した位置にマークMを有する。ステップS110は、シャフト23が所定角度ずつ(例えば、10度ずつ)回転するようシャフト駆動部50を制御し、シャフト23が所定角度回転する毎に、カメラ60でマークMを撮像する。これにより、複数の回転位置n(n=1,2,3
,…
,k)においてマークMの撮像画像が得られる。ステップS120は、撮像画像からカメラ60の位置ずれを含む実際のカメラ視野を基準とした座標系(X
vrY
vr座標系)において、回転位置n毎のマーク位置(x
vn,y
vn)(n=1,2,3
,…
,k)を測定する。マーク位置(x
vn,y
vn)の測定は、撮像画像を処理して画像に写ったマークMの中心座標を求めることにより行なわれる。
【0022】
ステップS130は、XvrYvr座標系において測定したマーク位置(xvn,yvn)(n=1,2,3,…,k)と、XvrYvr座標系において予めROM72に記憶された理想的なマーク位置(x
in
,y
in
)(n=1,2,3,…,k)との差分に基づいてカメラ60の位置ずれ(xc,yc)と回転ずれθcとを導出する。位置ずれ(xc,yc)は、それぞれXvr軸方向における位置ずれ量とYvr軸方向における位置ずれ量とを示す。また、回転ずれθcは、カメラ60の位置ずれを含まない設計上のカメラ視野に対するカメラ60の位置ずれを含む実際のカメラ視野の回転方向におけるずれ量を示す。ステップS130は、本実施形態においては、次式(1)~(3)により定義されるXvr軸方向における差分f
xn
とYvr軸方向における差分f
yn
との平方和Fが最小化する位置ずれ(xc,yc)と回転ずれθcとの組合せを遺伝的アルゴリズムやニュートンラフソン法などの周知の最小化アルゴリズムを用いて導出することにより行なわれる。ステップS140は、回転ずれθcを用いて次式(4)および(5)により、位置ずれ(xc,yc)を、実際のカメラ視野を基準とした座標系(XvrYvr座標系)から設計上のカメラ視野を基準とした座標系(XviYvi座標系)に変換する。これにより、XviYvi座標系において、カメラ60のXviYvi軸方向における位置ずれ(xci,yci)が導出される。ステップS150は、位置ずれ(xci,yci)と同量で方向が逆の位置オフセット値と、回転ずれθcと同量で方向が逆の回転オフセット値とを補正値として記憶装置74に登録する。これにより、ワークWをピックアップするに際して、カメラ60でワークWを撮像して測定したワークWの位置をオフセット補正(位置オフセットおよび回転オフセット)することで、カメラ60の位置ずれに拘わらずワークWの位置を正しく認識することができる。この結果、作業(ピックアップ)の精度をより高めることができる。
【0023】
【0024】
ここで、ステップS130において、測定したマーク位置(xvn,yvn)と理想的なマーク位置(x
in
,y
in
)との間には、理論上、次式(6)および(7)が成立する。このため、式(6)および(7)を用いてカメラ60の位置ずれ(xc,yc)と回転ずれθcとを導出することが可能である。しかし、実際には、両者の関係には、様々な誤差が含まれるため、差分f
xn
,f
yn
との平方和Fが最小化する位置ずれ(xc,yc)と回転ずれθcとの組合せを求めることで、補正精度をより高めることができる。
【0025】
【0026】
ここで、実施形態の主要な要素と請求の範囲に記載した本開示の主要な要素との対応関係について説明する。即ち、本実施形態では、多関節アーム20がロボットアームに相当し、ツール保持部24がハンドに相当し、カメラ60がカメラに相当する。
【0027】
なお、本開示は上述した実施形態に何ら限定されることはなく、本開示の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【0028】
例えば、上述した実施形態では、本開示のカメラの位置ずれ測定方法を水平多関節ロボットに適用して説明した。しかし、これに限定されるものではなく、例えば垂直多関節ロボットなど、ロボットアームと、ロボットアームの先端部に回転軸を介して取り付けられたハンドと、光軸が回転軸と平行となるようにロボットアームに取り付けられたカメラと、を有する構成であれば、如何なる構成のロボットにも適用可能である。
【0029】
以上説明したように、本開示のカメラの位置ずれ測定方法は、ロボットアームと、該ロボットアームの先端部に回転軸を介して取り付けられたハンドと、光軸が前記回転軸と平行となるように前記ロボットアームに取り付けられたカメラと、を有するロボットにおける前記カメラの位置ずれを測定するカメラの位置ずれ測定方法であって、マークを有する治具を前記ハンドに装着するステップ(a)と、前記ハンドを前記回転軸周りに回転させながら複数の回転位置において前記カメラで前記マークを撮像するステップ(b)と、前記複数の回転位置においてそれぞれ撮像された各撮像画像に写るマークの位置と理想的なマークの位置との差分に基づいて前記カメラの位置ずれを求めるステップ(c)と、を備えることを要旨とする。
【0030】
この本開示のカメラの位置ずれ量測定方法は、ロボットアームと、ロボットアームの先端部に回転軸を介して取り付けられたハンドと、光軸が回転軸と平行となるようにロボットアームに取り付けられたカメラと、を有するロボットにおけるカメラの位置ずれを測定するものである。この方法では、マークが付された治具をハンドに装着し、ハンドを回転軸周りに回転させながら複数の回転位置においてカメラによりマークを撮像する。そして、複数の回転位置においてそれぞれ撮像された各撮像画像に写るマークの位置と理想的なマークの位置との差分に基づいてカメラの位置ずれを求める。これにより、アームに取り付けられたカメラの位置ずれの測定を簡易な手順により行なうことができる。
【0031】
この本開示のカメラの位置ずれ測定方法において、前記ステップ(c)は、実際のカメラ視野を基準としたXvrYvr座標系において、前記ステップ(b)により各回転位置n(n=1,2…)でそれぞれ撮像され測定されたマークの位置を(xvn,yvn)とし、前記各回転位置n(n=1,2…)での理想的なマークの位置を(xin,yin)とし、Xvr軸方向およびYvr軸方向における前記カメラの各位置ずれを(xc,yc)とすると共に設計上のカメラ視野に対する前記実際のカメラ視野の回転方向の回転ずれをθcとしたとき、前記測定されたマーク位置(xvn,yvn)と前記理想的なマーク位置(xin,yin)との関係を表わす関係式を用いて前記位置ずれ(xc,yc)と前記回転ずれθcとを求め、前記回転ずれθcに基づいて前記位置ずれ(xc,yc)の座標系を前記XvrYvr座標系から前記設計上のカメラ視野を基準としたXviYvi座標系に変換することで前記カメラの位置ずれを求めるものとしてもよい。こうすれば、各回転位置nでそれぞれカメラで撮像され測定されたマークの位置から簡易な処理によりカメラの位置ずれを求めることができる。
【0032】
この場合、前記ステップ(c)は、式(1)~(3)で定義される平方和Fが最小化する前記位置ずれ(xc,yc)と前記回転ずれθcとの組合せを所定の最小化アルゴリズムを用いて求め、次式(4)および(5)により前記位置ずれ(xc,yc)の座標系を前記XvrYvr座標系から前記XviYvi座標系に変換することで、前記XviYvi座標系における位置ずれ(xci,yci)を求めるものとしてもよい。こうすれば、カメラの位置ずれや回転ずれの測定精度を更に高めることができる。
【0033】
また、本開示のカメラの位置ずれ測定方法において、前記ステップ(c)で求めた前記カメラの位置ずれおよび回転ずれに応じたオフセット値を前記カメラで撮像して測定した対象物の位置を補正するための補正値として登録するものとしてもよい。こうすれば、カメラを用いて対象物の位置を精度良く認識することが可能である。
【産業上の利用可能性】
【0034】
本開示は、ロボットの製造産業などに利用可能である。
【符号の説明】
【0035】
1 作業ロボット、2 作業台、10 ロボット本体、11 基台、20 多関節アーム、21 第1アーム、22 第2アーム、23 シャフト、30 第1アーム駆動部、32 モータ、34 エンコーダ、40 第2アーム駆動部、42 モータ、44 エンコーダ、50 シャフト駆動部、52a,52b モータ、54a,54b エンコーダ、60 カメラ、70 制御装置、71 CPU、72 ROM、73 RAM、74 記憶装置、J1 第1関節軸、J2 第2関節軸、J3 第3関節軸。