IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ファナック株式会社の特許一覧

<>
  • 特許-画像処理システム及び画像処理方法 図1
  • 特許-画像処理システム及び画像処理方法 図2
  • 特許-画像処理システム及び画像処理方法 図3
  • 特許-画像処理システム及び画像処理方法 図4
  • 特許-画像処理システム及び画像処理方法 図5
  • 特許-画像処理システム及び画像処理方法 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-24
(45)【発行日】2024-07-02
(54)【発明の名称】画像処理システム及び画像処理方法
(51)【国際特許分類】
   B25J 13/08 20060101AFI20240625BHJP
   B25J 9/10 20060101ALI20240625BHJP
【FI】
B25J13/08 A
B25J9/10 A
【請求項の数】 5
(21)【出願番号】P 2022568249
(86)(22)【出願日】2021-12-03
(86)【国際出願番号】 JP2021044535
(87)【国際公開番号】W WO2022124232
(87)【国際公開日】2022-06-16
【審査請求日】2023-07-11
(31)【優先権主張番号】P 2020204868
(32)【優先日】2020-12-10
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【弁理士】
【氏名又は名称】廣瀬 繁樹
(74)【代理人】
【識別番号】100169856
【弁理士】
【氏名又は名称】尾山 栄啓
(72)【発明者】
【氏名】傅 万峰
(72)【発明者】
【氏名】並木 勇太
【審査官】臼井 卓巳
(56)【参考文献】
【文献】特開2016-221645(JP,A)
【文献】特開2010-079845(JP,A)
【文献】特開2011-221612(JP,A)
【文献】特開2017-212812(JP,A)
【文献】特開2020-047049(JP,A)
【文献】米国特許出願公開第2014/0039666(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/10-13/08
G06T 7/593
(57)【特許請求の範囲】
【請求項1】
産業機械と、
視覚センサと、
ワークの検出対象箇所に配置された視覚パターンであって、前記視覚センサと当該視覚パターンとの相対位置関係を特定するための視覚パターンと、
前記視覚センサにより前記視覚パターンが撮影された画像から、前記視覚センサと前記視覚パターンとの相対位置関係を決定する画像処理部と、
前記視覚センサの視野に前記視覚パターンが写っている状態で、決定された前記相対位置関係に基づいて前記視覚パターンを基準とする所定の方向において前記視覚センサと前記視覚パターンとの相対位置を変更させながら前記視覚センサにより前記視覚パターンを撮像させて前記視覚パターンの合焦度を求めることで、前記視覚センサを前記視覚パターンに合焦させる合焦動作制御部と、を備え、
前記視覚センサは前記産業機械の所定の可動部位に搭載され、
前記合焦動作制御部は、前記視覚センサの視野に前記視覚パターンが写っている状態で、前記相対位置関係に基づいて前記産業機械により前記視覚センサを前記所定の方向に移動させながら前記視覚センサにより前記視覚パターンを撮像させて前記視覚パターンの合焦度を求めることで、前記視覚センサを前記視覚パターンに合焦する合焦位置に移動させ、
前記視覚センサは前記視覚パターンを用いたキャリブレーションを実施済みであり、前記合焦動作制御部は、前記視覚センサを前記視覚パターンを基準とする前記所定の方向に向けるために、前記視覚センサの前記産業機械の所定の基準位置を基準とした位置及び姿勢を表すキャリブレーションデータを用いる、画像処理システム。
【請求項2】
前記合焦動作制御部は、前記視覚パターンが形成された面に対して予め定められた方向おいて前記視覚センサと前記視覚パターンとの相対位置を変更する、請求項1に記載の画像処理システム。
【請求項3】
前記合焦動作制御部は、前記視覚センサを前記視覚パターンに対して所定の動作範囲内で移動させ、前記視覚パターンの合焦度が最も高いときの合焦度基準値と、前記視覚センサを移動させながら得られる前記合焦度とを比較することで前記視覚センサを前記合焦位置に移動させる、請求項1または2に記載の画像処理システム。
【請求項4】
前記産業機械は産業用ロボットである、請求項1からのいずれか一項に記載の画像処理システム。
【請求項5】
画像処理システムにおいて実行される画像処理方法であって、
ワークの検出対象箇所に配置された視覚パターンを視覚センサで撮像した画像から当該視覚センサと当該視覚パターンとの相対位置関係を決定する手順と
視覚センサの視野に前記視覚パターンが写っている状態で、決定された前記相対位置関係に基づいて前記視覚パターンを基準とする所定の方向において前記視覚センサと前記視覚パターンとの相対位置を変更させながら前記視覚センサにより前記視覚パターンを撮像させて前記視覚パターンの合焦度を求めることで、前記視覚センサを前記視覚パターンに合焦させる手順と、を含み、
前記視覚センサは産業機械の所定の可動部位に搭載され、
前記視覚センサを前記視覚パターンに合焦させる手順において、前記視覚センサの視野に前記視覚パターンが写っている状態で、前記相対位置関係に基づいて前記産業機械により前記視覚センサを前記所定の方向に移動させながら前記視覚センサにより前記視覚パターンを撮像させて前記視覚パターンの合焦度を求めることで、前記視覚センサを前記視覚パターンに合焦する合焦位置に移動させ、
前記視覚センサは前記視覚パターンを用いたキャリブレーションを実施済みであり、
前記視覚センサを前記視覚パターンを基準とする前記所定の方向に向けるために、前記視覚センサの前記産業機械の所定の基準位置を基準とした位置及び姿勢を表すキャリブレーションデータを用いる、画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理システム及び画像処理方法に関する。
【背景技術】
【0002】
産業用ロボットその他の産業機械の可動部に視覚センサを搭載し、ワークの外観検査や位置検出などを画像処理により行うように構成されたシステムが知られている(例えば、特許文献1参照)。産業ロボット等の可動部に視覚センサを搭載して、ワークの位置検出等を行うためには、産業用ロボット等に設定した基準座標系に対する視覚センサの座標系の相対位置関係を求めておくこと、すなわち、視覚センサのキャリブレーションを行うことが必要になる。視覚センサのキャリブレーションを行う技術については、当分野において各種手法が知られている(例えば、特許文献2-5)。
【0003】
上述のようなロボットシステムでは、検査対象位置に対してカメラのピントが合うように調整を行う必要が生じる。このような場合、ユーザがカメラのピント調節リングを回して調整を行ったり、教示操作盤を操作してロボットを動かすことにより対象物とカメラの距離を調節したりするのが一般的である。他方、特許文献5は、「画像処理システムSYSは、特定したワークWの配置状況に応じて、設定されたワークWの計測点Wpについての法線Vを特定し、特定した法線Vと2次元カメラ310の光軸とが一致するように2次元カメラ310の位置姿勢を変化させる(S1)。画像処理システムSYSは、特定した法線Vと2次元カメラ310の光軸とが一致するように、2次元カメラ310と計測点Wpとの距離を変化させることで、2次元カメラ310のピントを計測点Wpに合わせる。」と記載する(要約書)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2018-91774号公報
【文献】特開2014-128845号公報
【文献】特開平8-210816号公報
【文献】特開2018-192569号公報
【文献】特開2018-194542号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献5は、カメラと特定のワークとの距離を調整することでピント調整を行う構成を記載するものであるが、特許文献5による構成では、ワークの形状を指定するための処理、ワークの配置状態を特定するための処理、ワークの法線を求めるための処理等、複雑な処理やその為の設定が必要になる。また、ワークには様々な形状が有り得るため、ワークの配置情報の取得、法線の取得、合焦度の計算が正しくできない場合も有り得る。
【課題を解決するための手段】
【0006】
本開示の一態様は、産業機械と、視覚センサと、ワークの検出対象箇所に配置された視覚パターンであって、前記視覚センサと当該視覚パターンとの相対位置関係を特定するための視覚パターンと、前記視覚センサにより前記視覚パターンが撮影された画像から、前記視覚センサと前記視覚パターンとの相対位置関係を決定する画像処理部と、前記視覚センサの視野に前記視覚パターンが写っている状態で、決定された前記相対位置関係に基づいて前記視覚パターンを基準とする所定の方向において前記視覚センサと前記視覚パターンとの相対位置を変更させながら前記視覚センサにより前記視覚パターンを撮像させて前記視覚パターンの合焦度を求めることで、前記視覚センサを前記視覚パターンに合焦させる合焦動作制御部と、を備え、前記視覚センサは前記産業機械の所定の可動部位に搭載され、前記合焦動作制御部は、前記視覚センサの視野に前記視覚パターンが写っている状態で、前記相対位置関係に基づいて前記産業機械により前記視覚センサを前記所定の方向に移動させながら前記視覚センサにより前記視覚パターンを撮像させて前記視覚パターンの合焦度を求めることで、前記視覚センサを前記視覚パターンに合焦する合焦位置に移動させ、前記視覚センサは前記視覚パターンを用いたキャリブレーションを実施済みであり、前記合焦動作制御部は、前記視覚センサを前記視覚パターンを基準とする前記所定の方向に向けるために、前記視覚センサの前記産業機械の所定の基準位置を基準とした位置及び姿勢を表すキャリブレーションデータを用いる、画像処理システムである。
【0007】
本開示の別の態様は、画像処理システムにおいて実行される画像処理方法であって、ワークの検出対象箇所に配置された視覚パターンを視覚センサで撮像した画像から当該視覚センサと当該視覚パターンとの相対位置関係を決定する手順と、視覚センサの視野に前記視覚パターンが写っている状態で、決定された前記相対位置関係に基づいて前記視覚パターンを基準とする所定の方向において前記視覚センサと前記視覚パターンとの相対位置を変更させながら前記視覚センサにより前記視覚パターンを撮像させて前記視覚パターンの合焦度を求めることで、前記視覚センサを前記視覚パターンに合焦させる手順と、を含み、前記視覚センサは産業機械の所定の可動部位に搭載され、前記視覚センサを前記視覚パターンに合焦させる手順において、前記視覚センサの視野に前記視覚パターンが写っている状態で、前記相対位置関係に基づいて前記産業機械により前記視覚センサを前記所定の方向に移動させながら前記視覚センサにより前記視覚パターンを撮像させて前記視覚パターンの合焦度を求めることで、前記視覚センサを前記視覚パターンに合焦する合焦位置に移動させ、前記視覚センサは前記視覚パターンを用いたキャリブレーションを実施済みであり、前記視覚センサを前記視覚パターンを基準とする前記所定の方向に向けるために、前記視覚センサの前記産業機械の所定の基準位置を基準とした位置及び姿勢を表すキャリブレーションデータを用いる、画像処理方法である。
【発明の効果】
【0008】
視覚パターンを検出対象箇所に配置することで、視覚センサを、視覚パターンを配置した箇所に自動的に合焦させることができる。
【0009】
添付図面に示される本発明の典型的な実施形態の詳細な説明から、本発明のこれらの目的、特徴および利点ならびに他の目的、特徴および利点がさらに明確になるであろう。
【図面の簡単な説明】
【0010】
図1】一実施形態に係るロボットシステム(画像処理システム)の機器構成を表す図である。
図2】視覚センサ制御装置及びロボット制御装置のハードウェアの概略構成を表す図である。
図3】視覚センサ制御装置及びロボット制御装置の機能構成を表す機能ブロック図である。
図4】キャリブレーション治具の平面図である。
図5】合焦動作を表すフローチャートである。
図6】カメラが指標を撮影した画像データの一例を表す図である。
【発明を実施するための形態】
【0011】
次に、本開示の実施形態について図面を参照して説明する。参照する図面において、同様の構成部分または機能部分には同様の参照符号が付けられている。理解を容易にするために、これらの図面は縮尺を適宜変更している。また、図面に示される形態は本発明を実施するための一つの例であり、本発明は図示された形態に限定されるものではない。
【0012】
図1は、一実施形態に係るロボットシステム100の機器構成を表す図である。図1に示されるように、ロボットシステム100は、産業機械としての産業用ロボット(以下、ロボットと記す)10と、ロボット10を制御するロボット制御装置50と、視覚センサ70と、視覚センサ70を制御する視覚センサ制御装置20とを備える。ロボットシステム100は、視覚センサ70で撮像されたワークの撮影画像に基づいてワークの位置を認識し、ワークの検査、ハンドリング、加工等の所定の作業を実行するためのシステムである。ロボット10は、図1の例では垂直多関節ロボットであるが、他のタイプのロボットが用いられても良い。
【0013】
視覚センサ制御装置20とロボット制御装置50とは通信インタフェースを介して接続され、各種情報をやり取りすることができる。
【0014】
ロボット10のアーム先端部のフランジ11の先端面には、エンドエフェクタとしてのツール31が取り付けられている。ツール31は、例えば、ワークを把持するハンドである。ロボット10は、ロボット制御装置50の制御により、ワークのハンドリング等を所定の作業を実行する。視覚センサ70は、ツール31の支持部(すなわち、ロボット10の所定の可動部位)に取り付けられている。
【0015】
視覚センサ70は、視覚センサ制御装置20により制御され、ワーク等の撮像対象物を撮像する。視覚センサ70としては、一般的な二次元カメラを用いても良く、ステレオカメラ等の三次元センサを用いても良い。視覚センサ70は、被写体像を受光して光電変換する撮像センサ(CCD、CMOS等)、及び、被写体像を撮像センサに集光させる光学レンズ等を有する。視覚センサ70は、撮像した画像データを視覚センサ制御装置20に送信する。なお、図1には、図1の状態にある視覚センサ70がキャリブレーション治具Jを撮像した画像M1を示した。
【0016】
図2は、視覚センサ制御装置20及びロボット制御装置50のハードウェアの概略構成を表す図である。図2に示されるように、視覚センサ制御装置20は、プロセッサ21に対して、メモリ(ROM、RAM、不揮発性メモリ等を含む)22、外部機器との通信を行うための入出力インタフェース23等がバスを介して接続される一般的なコンピュータとしての構成を有していても良い。また、ロボット制御装置50は、プロセッサ51に対して、メモリ(ROM、RAM、不揮発性メモリ等を含む)52、外部機器との通信を行うための入出力インタフェース53、各種操作スイッチ類を含む操作部54等がバスを介して接続される一般的なコンピュータとしての構成を有していても良い。なお、ロボット制御装置50には、ロボット10の教示を行うための教示装置(教示操作盤等)が更に接続されていても良い。なお、本実施形態では視覚センサ制御装置20とロボット制御装置50とを別々の装置とする場合の機器構成としているが、視覚センサ制御装置20とロボット制御装置50とは同一の装置として構成することもできる。例えば、ロボット制御装置50内に視覚センサ制御装置20の機能を取り込んでも良い。
【0017】
ロボット10には、ロボット座標系C1が設定されている。ロボット座標系C1は、ロボット10の各可動要素の動作を制御するための制御座標系であって3次元空間に固定されている。本実施形態では、一例として、ロボット座標系C1は、その原点がロボット10のベース部の中心に設定されているものとするが、ロボット座標系C1はこれとは異なる位置や姿勢となるように設定されても良い。
【0018】
フランジ11の先端面には、フランジ座標系C2が設定されている。フランジ座標系C2は、ロボット座標系C1におけるフランジ11の位置及び姿勢を制御するための制御座標系である。本実施形態では、一例として、フランジ座標系C2は、その原点がフランジ11の先端面の中心に配置され、そのz軸がフランジ11の中心軸線に一致するように設定されているものとするが、フランジ座標系C2はこれとは異なる位置や姿勢となるように設定されても良い。ロボット10の手首部(ツール31)を移動させるとき、ロボット制御装置50(プロセッサ51)は、ロボット座標系C1にフランジ座標系C2を設定し、設定したフランジ座標系C2によって表される位置及び姿勢にフランジ11を配置させるように、ロボット10の各関節部のサーボモータを制御する。このようにして、ロボット制御装置50は、ロボット座標系C1における任意の位置及び姿勢にフランジ11(ツール31)を位置決めすることができる。
【0019】
視覚センサ70には、センサ座標系C3が設定される。センサ座標系C3は、視覚センサ70が撮像した画像データの各画素の座標を規定する座標系であって、その原点が、視覚センサ70の撮像センサの受光面(又は光学レンズ)の中心に配置され、そのx軸及びy軸が、撮像センサの横方向及び縦方向と平行に配置され、且つ、そのz軸が視覚センサ70の視線(光軸)と一致するように、視覚センサ70に対して設定されている。
【0020】
後に詳細に説明するように、ロボットシステム100は、視覚センサ70による検出対象箇所に配置された視覚パターンであって、視覚センサ70と当該視覚パターンの相対位置関係を特定するための視覚パターンを撮像することで、視覚パターンに対して所定の方向に視覚センサ70を移動させて合焦動作を行う画像処理システムとして構成されている。本実施形態において、視覚センサ70による検出対象箇所は、ワークを搭載する台60の上面であり、視覚パターンはキャリブレーション治具Jに形成されている。視覚パターンは、塗料を用いた模様、又は、刻印(凹凸)等、視覚的に認識可能な形態であれば良い。なお、視覚パターンは、検出対象位置(台60の上面)に直接形成されていても良い。本明細書において、視覚パターンというときには、模様、マーク、指標、識別標識、記号その他の各種の視覚的な表示物を含む。視覚センサ70との相対位置関係の取得に視覚パターンを用いることで高い精度で相対位置関係を取得することができる。特に上述の特許文献5に記載されているようなカメラと特定のワークとの間の相対位置関係を求めるような構成と比較して精度を高めることができる。
【0021】
以下では、ロボットシステム100におけるこのような画像処理システムとしての機能に着目して説明を行う。
【0022】
図3は、ロボットシステム100の画像処理システムとしての機能に着目した場合の視覚センサ制御装置20及びロボット制御装置50の機能構成を表す機能ブロック図である。図3に示すように、視覚センサ制御装置20は、視覚センサ70で撮像された入力画像201に対する画像処理を実行する画像処理部202と、ロボット10に設定された基準座標系(ロボット座標系C1、或いは、フランジ座標系C2)に対する視覚センサ70(センサ座標系C3)の相対的位置を定めるキャリブレーションデータを記憶するキャリブレーションデータ記憶部204とを備える。
【0023】
画像処理部202は、ワークのハンドリング等を実現するための機能として、例えばモデルパターンを用いて入力画像からワークを検出し、ワークの位置及び姿勢を検出する機能を有する。更に、本実施形態に係る画像処理部202は、撮影画像中に写った対象物の合焦度を算出する合焦度算出部203を備える。
【0024】
キャリブレーションデータ記憶部204は、視覚センサ70のキャリブレーションデータを記憶する。キャリブレーションデータ記憶部204は、例えば不揮発性メモリ(EEPROM等)である。視覚センサ70のキャリブレーションデータは、視覚センサ70(カメラ)の内部パラメータ及び外部パラメータを含む。内部パラメータは、レンズひずみや焦点距離等の光学的データを含む。外部パラメータは、所定の基準位置(例えばフランジ11の位置)を基準とした視覚センサ70の位置である。
【0025】
キャリブレーションデータを利用することにより、カメラ内部の幾何学的変換特性及び物体が存在する三次元空間と二次元画像平面との幾何学的関係が求まり、さらに、キャリブレーション治具Jの特性から視覚センサ70で撮像したキャリブレーション治具Jの画像から、視覚センサ70とキャリブレーション治具Jの三次元空間位置を一意に決定することができる。すなわち、キャリブレーション済みの視覚センサ70を用いて撮像した撮像画像内のキャリブレーション治具Jの情報から、視覚センサ70の位置を基準としたキャリブレーション治具の位置・姿勢を求めることができる。
【0026】
図4は、キャリブレーション治具Jの平面図である。キャリブレーション治具Jとしては、視覚センサ70で撮影した画像から視覚センサ70の位置を基準としてキャリブレーション治具の位置及び姿勢を求めることが可能な当分野で知られた各種のキャリブレーション治具を用いることができる。図4のキャリブレーション治具Jは、平面上に配置されたドットパターンを視覚センサ70で撮像することで視覚センサ70のキャリブレーションに必要な情報を取得することができる治具であり、(1)ドットパターンの格子点間隔が既知であること、(2)一定数以上の格子点が存在すること、(3)各格子点がどの格子点にあたるか一意に特定可能である、の3つの要件を満たしている。キャリブレーション治具Jは、図4に示されるような二次元の平面に所定のドットパターン等の特徴が配置されたものに限られず、三次元の立体に特徴が配置されたものでもよく、二次元位置情報(X方向、Y方向)に加えて高さ方向(図1の矢印91方向)の位置情報を含めた三次元位置情報が得られるものであればよい。また、このキャリブレーション治具Jは、視覚センサ70のキャリブレーションデータを取得する際に用いたものと同じものでもよく、異なるものであってもよい。なお、視覚センサ70により撮像したドットパターンから、視覚センサ70の位置を基準としたドットパターンの位置姿勢を計算するためには、上述のキャリブレーションデータの内部パラメータが使用される。なお、本実施形態では撮像装置からみた対象物の位置姿勢を求めるための対象物として図4のようなドットパターンを有するキャリブレーション治具Jを用いているが、これに代えて、撮影装置(視覚センサ70)からみた対象物の位置姿勢を求め得るあらゆるタイプの対象物を用いることができる。
【0027】
本実施形態では、キャリブレーション治具Jは視覚センサ70を合焦させる対象の場所(すなわち、台60の上面)に設置される。
【0028】
図3に示されるように、ロボット制御装置50は、動作プログラムにしたがってロボット10の動作を制御する動作制御部501を備える。更に、本実施形態に係るロボット制御装置50は、合焦度算出部203により算出された合焦度に基づいてロボット10を移動させて視覚センサ70を合焦位置に移動させる制御を行う合焦動作制御部502を備える。
【0029】
なお、図3に示した視覚センサ制御装置20或いはロボット制御装置50の機能ブロックは、視覚センサ制御装置20或いはロボット制御装置50のプロセッサ(CPU)が、メモリに格納された各種ソフトウェアを実行することで実現されても良く、或いは、ASIC(Application Specific Integrated Circuit)等のハードウェアを主体とした構成により実現されても良い。
【0030】
図5は、合焦動作制御部による合焦動作(画像処理方法)の流れを表すフローチャートである。なお、ここでは、視覚センサ70のキャリブレーションデータは、予めキャリブレーションデータ記憶部204に格納されている場合を想定する。図5の合焦動作は、ロボット制御装置50のプロセッサ51による制御の下で実行される。
【0031】
はじめに、合焦動作制御部502は、視覚センサ70によりキャリブレーション治具Jが撮像された画像に基づいて、キャリブレーション治具Jと視覚センサ70の位置関係を計算し取得する。この場合、合焦動作制御部502は、キャリブレーションデータ記憶部Jに記憶されたキャリブレーションデータを用いる。
【0032】
ステップS1により得らえた視覚センサ70とキャリブレーション治具Jの相対位置関係を用いて、合焦動作制御部502は、視覚センサ70の光軸とキャリブレーション治具Jの上面の法線方向(図1において矢印91方向)とが平行になるように視覚センサ70を移動させながらキャリブレーション治具Jの撮影を行う(ステップS2)。このとき、合焦動作制御部502は、合焦度算出部203に画像に映った対象物(すなわち、キャリブレーション治具Jのドット点)の像の合焦度を算出させる(ステップS3)。
【0033】
そして、合焦動作制御部502は、合焦度算出部203により算出される合焦度を、キャリブレーション治具Jのドット点の合焦度が最も高い時の値としての基準値(合焦度基準値)と比較することで、ステップS3で取得された合焦度が最も高い合焦度となっているか否かを判定する(ステップS4)。ここで用いる基準値(合焦度基準値)は、ロボット制御装置50(合焦動作制御部502)が予め記憶しておいても良く、或いは、合焦動作制御部502が例えば所定の移動範囲で視覚センサ70を移動させて最も高かった合焦度を合焦度基準値として設定する動作を行うようにしても良い。合焦度が最も高いと判定されない場合(S4:NO)、合焦動作制御部502は、視覚センサ70を移動させながら合焦度を確認する処理(ステップS2-S4)を継続する。合焦度が最も高くなっていると判定された場合(S4:YES)、合焦動作制御部502は、合焦度が最も高くなっているときの視覚センサ70の位置(合焦位置)を撮像位置として記録する(ステップS5)。
【0034】
合焦度算出部203は、合焦度の算出手法として、位相差検出法やコントラスト検出法など、当分野で知られた各種の算出手法を採用することができる。一例として、合焦度算出部203は、特開2013-29803号公報に記載されているような、位相差検出法により検出された合焦度の信頼度が低いと判定された場合にコントラスト検出法による検出結果に基づいて位相差検出法を用いる画素範囲を選択し、当該選択された画素範囲の信号を用いて位相差検出法による合焦度の算出を行うような手法を用いても良い。合焦度算出部203は、合焦度の算出に用いるデータを視覚センサ70内の合焦計算のための機能要素から取得することができる。
【0035】
ステップS2からS4の処理で視覚センサ70を移動させる所定の動作範囲は、カメラの焦点距離の調節範囲に基づいて決定しても良い。例えば、視覚センサ70の焦点調節リングでの焦点調節範囲に基づき決定される撮影距離の範囲内で視覚センサ70を移動させるようにロボット10を制御しても良い。ステップS1により視覚センサ70とキャリブレーション治具Jとの位置関係が既知となっているので、このような視覚センサ70の移動制御が可能となっている。
【0036】
ステップS5で記録した撮像位置は、台60の上面に置かれたワークの外見検査等の所定の作業を実行する場合に視覚センサ70を位置付けるための撮影位置として用いられる。このように、図5の合焦動作によれば、キャリブレーション治具Jを設置した位置に対して焦点が合う位置に自動的に視覚センサ70を位置付けることができる。すなわち、視覚センサ70の焦点調節を自動で効率的に実施することができる。
【0037】
以上では、視覚センサ70のキャリブレーションが予め実施済みの場合(すなわち、視覚センサ制御装置20がキャリブレーションデータを予め保有している場合)の例について説明したが、視覚センサ70のキャリブレーションが未実施の場合(すなわち、視覚センサ制御装置20がキャリブレーションデータを保有していない場合)には、ロボット制御装置50及び視覚センサ制御装置20は、当分野で知られた各種のキャリブレーション手法(例えば、前述の特許文献2-5)を用いてキャリブレーションデータを取得しても良い。
【0038】
以上のように本実施形態においては図5の合焦制御動作においてキャリブレーション治具Jを用いる構成としているため、図5の合焦制御動作を行う際にキャリブレーション治具Jを用いてその場でキャリブレーションを行うことも容易である。カメラを校正(キャリブレーション)する方法自体は周知技術であるので説明は省略するが、例えばRoger Y. Tsaiによる「An Efficient and Accurate Camera Calibration Technique for 3D Machine Vision」(CVPR, pp.364-374, 1986 IEEE)に詳述されている。具体的手段としては、図4に示したキャリブレーション治具Jのような治具(既知の幾何学的配置でドットが形成されたドットパターンプレート)をカメラの光軸に直交させ、既知の2箇所の位置で計測を行うことによりカメラを校正することができる。
【0039】
ここでは、ロボット10に設定した基準座標系(ロボット座標系C1或いはフランジ座標系C2)を基準としたセンサ座標系C3の姿勢を決定するための画像処理手法の例を説明する。合焦動作制御部502は、更に、このような機能を司るように構成されていても良い。ここで説明する手法によりロボット10に設定した基準座標系に対するセンサ座標系C3の姿勢を既知にすることで、上述の合焦動作において視覚センサ70の光軸をキャリブレーション治具Jに対して所定の方向(例えば、法線方向)に向けることが可能となる。
【0040】
本例では、視覚センサ70が撮像した指標IDの画像データに基づいて、基準座標系における視覚センサ70の姿勢のデータを取得する。図6に、指標IDの一例を示す。指標IDは、検出対象位置(台60の上面)に設けられており、円線Cと、互いに直交する2つの直線D及びEから構成されている。指標IDは、例えば、塗料を用いた模様、又は、台60の上面に形成された刻印(凹凸)等、視覚的に認識可能な形態であれば良い。
【0041】
ロボット制御装置50(合焦動作制御部502)は、ロボット10に設定した基準座標系を基準としたセンサ座標系C3の姿勢を以下のような手順で求める。
(A1)ロボット制御装置50によって指標IDが視覚センサ70の視野に入るように視覚センサ70が初期位置PS0及び初期姿勢OR0に配置された状態で、指標IDが撮像され、指標IDの画像データJD0が取得される。図6に示すような画像(JDn)が取得されたとする。
(A2)画像処理部202は、画像JDnに写る指標IDの画像から、交点Fの座標(xn,yn)を指標IDの位置として取得し、円Cの面積を指標IDのサイズISn(単位:pixel)として取得する。画像処理部202は、予め保存されたデータとして、実空間にける指標IDのサイズRS(単位:mm)、視覚センサ70の光学レンズの焦点距離FD、撮像センサのサイズSS(単位:mm/pixel)を取得する。
【0042】
(A3)画像処理部202は、取得した座標(xn,yn)、サイズISn、サイズRS、焦点距離FD、及びサイズSSを用いて、ベクトル(Xn,Yn,Zn)を取得する。ここで、Xnは、Xn=xn×ISn×SS/RSなる式から求めることができる。また、Ynは、Yn=yn×ISn×SS/RSなる式から求めることができる。また、Znは、Zn=ISn×SS×FD/RSなる式から求めることができる。このベクトル(Xn,Yn,Zn)は、画像データJDnを撮像したときの視覚センサ70(つまり、センサ座標系C3の原点)から指標ID(具体的には、交点F)までのベクトルであって、視覚センサ70に対する指標IDの相対位置(又は、センサ座標系C3の座標)を示すデータである。
【0043】
(A4)同様に、画像処理部202は、視覚センサ70を初期位置からフランジ座標系のx軸方向に所定の距離δxだけ並進移動させた位置PS1及び姿勢OR0で指標IDを撮像した画像JD1から、画像データJD1を撮像したときの視覚センサ70から指標IDまでのベクトルを取得する。
(A5)同様に、画像処理部202は、視覚センサ70を初期位置からフランジ座標系のy軸方向に所定の距離δyだけ並進移動させた位置PS2及び姿勢OR0で指標IDを撮像した画像JD2から、画像データJD2を撮像したときの視覚センサ70から指標IDまでのベクトルを取得する。
(A6)同様に、画像処理部202は、視覚センサ70を初期位置からフランジ座標系のz軸方向に所定の距離δzだけ並進移動させた位置PS3及び姿勢OR0で指標IDを撮像した画像JD3から、画像データJD3を撮像したときの視覚センサ70から指標IDまでのベクトルを取得する。
(A7)以上のデータから、画像処理部202は、フランジ座標系C2における視覚センサ70(センサ座標系C3)の姿勢(W,P,R)を表す回転行列を以下の数式(1)により取得する。
【0044】
【数1】
【0045】
ロボット制御装置50(合焦動作制御部502)は、更に、ロボット10に設定した基準座標系を基準としたセンサ座標系C3の位置を求めるように構成されていても良い。この場合の動作手順を以下に示す。
(B1)ロボット制御装置50は、まず、初期位置PS0及び初期姿勢OR0でのフランジ座標系C2において、参照座標系C4を設定する。本実施形態においては、ロボット制御装置50は、参照座標系C4を、その原点が、フランジ座標系C2の原点に配置され、その姿勢(各軸の方向)が、上述の手順で取得した姿勢(W,P,R)に一致するように、フランジ座標系C2において設定する。したがって、参照座標系C4のx軸、y軸、及びz軸の方向は、それぞれ、センサ座標系C3のx軸、y軸、及びz軸と平行となる。
【0046】
(B2)次いで、ロボット制御装置50は、ロボット10を動作させて、視覚センサ70(つまり、フランジ11)を、初期位置PS0及び初期姿勢OR0から、参照座標系C4のz軸の周りに、姿勢変化量θ1(第1の姿勢変化量)だけ回転させることによって、位置PS4及び姿勢OR1に配置させる。
(B3)画像処理部202は、上述の姿勢を求める場合と同様の手法により、視覚センサ70を動作させて指標IDを撮像し、このときの視覚センサ70に対する指標IDの相対位置データ(X4,Y4,Z4)を取得する。
【0047】
(B4)次に、ロボット制御装置50は、ロボット10を動作させて、視覚センサ70を、初期位置PS0及び初期姿勢OR0から、参照座標系C4のx軸又はy軸(すなわち、視線の方向と直交する軸)の周りに、姿勢変化量θ2(第1の姿勢変化量)だけ回転させることによって、位置PS5及び姿勢OR2に配置させる。
(B5)画像処理部202は、上述の姿勢を求める場合と同様の手法により、視覚センサ70を動作させて指標IDを撮像し、このときの視覚センサ70に対する指標IDの相対位置データ(X5,Y5,Z5)を取得する。
【0048】
フランジ座標系C2における、参照座標系C4の原点(本実施形態においては、MIF座標系C2の原点)から、位置が未知であるセンサ座標系C3の原点までのベクトルを(ΔX1,ΔY1,ΔZ1)とすると、以下の式(2)、(3)が成立する。
【0049】
【数2】
【0050】
【数3】
【0051】
ロボット制御装置50は、上述の式(2)及び(3)を解くことによって、フランジ座標系C2における参照座標系C4の原点から、未知であるセンサ座標系C3の原点までのベクトル(ΔX1,ΔY1,ΔZ1)を推定できる。
【0052】
以上説明したように、指標IDは、視覚センサ70と指標IDとの相対位置関係を特定可能な視覚パターンであるため、上述の合焦動作で用いたキャリブレーション治具Jに代えて指標IDを用いることも可能である。
【0053】
以上説明したように本実施形態によれば、視覚パターンを検出対象箇所に配置することで、視覚センサを、視覚パターンを配置した箇所に自動的に合焦させることができる。すなわち、視覚センサの焦点調節を自動で効率的に実施することができる。
【0054】
以上、典型的な実施形態を用いて本発明を説明したが、当業者であれば、本発明の範囲から逸脱することなしに、上述の各実施形態に変更及び種々の他の変更、省略、追加を行うことができるのを理解できるであろう。
【0055】
上述の実施形態で説明した構成は、可動部位に視覚センサを搭載した各種の産業機械における焦点調節動作に適用することができる。
【0056】
図1に示した機器構成例では視覚センサをロボットに搭載し、キャリブレーション治具を固定位置に配置した構成例であったが、視覚センサを作業空間に固定した固定カメラとし、キャリブレーション治具(視覚パターン)をロボットのツールに搭載するような構成も有り得る。この場合も、図3で示した機能ブロック構成と同様の機能ブロック構成が適用され得る。この場合、合焦動作制御部502は、視覚センサの視野にキャリブレーション治具(視覚パターン)が写っている状態で、決定された相対位置関係に基づいて視覚パターンを視覚センサに対して移動させながら(視覚パターンを基準とする所定の方向において視覚センサと視覚パターンとの相対位置を変更させながら)視覚センサにより視覚パターンを撮像させて視覚パターンの合焦度を求めることで、視覚センサを視覚パターンに合焦させる。
【0057】
図2に示した機能ブロック図における視覚センサ制御装置20及びロボット制御装置50の機能ブロックの配置は例示であり、機能ブロックの配置については様々な変形例が有り得る。例えば、画像処理部202としての機能の少なくとも一部をロボット制御装置50側に配置しても良い。
【0058】
図5で示した合焦動作においては、合焦度が合焦度基準値と一致するか否かを比較することによって(ステップS4)、合焦位置を特定する構成となっているが、このような構成に替えて、所定の動作範囲でカメラを移動させて合焦度のピークが得られる位置を探索することによって合焦位置を得るようにしても良い。
【0059】
上述した実施形態における合焦動作その他の各種処理を実行するためのプログラムは、コンピュータに読み取り可能な各種記録媒体(例えば、ROM、EEPROM、フラッシュメモリ等の半導体メモリ、磁気記録媒体、CD-ROM、DVD-ROM等の光ディスク)に記録することができる。
【符号の説明】
【0060】
10 ロボット
11 フランジ
20 視覚センサ制御装置
21 プロセッサ
22 メモリ
23 入出力インタフェース
31 ツール
50 ロボット制御装置
51 プロセッサ
52 メモリ
53 入出力インタフェース
54 操作部
60 台
70 視覚センサ
100 ロボットシステム
201 入力画像
202 画像処理部
203 合焦度算出部
204 キャリブレーションデータ記憶部
図1
図2
図3
図4
図5
図6