(57)【要約】【課題】起動時間の短縮を図ることができる画像処理システムを提供する。【解決手段】画像入力ボード４とカメラ３との通信は、コマンドデータＣＭＤに比べて画素データＰＩＸＤのデータ転送レートが高い。また、カメラ３が備える不揮発性メモリには、レンズ歪み補正などの固有値が画素値に設定されたテストパターンが記憶されている。画像入力ボード４は、電子部品装着装置の起動にともなって必要な固有値に対応するテストパターンの送信を要求するコマンドＣＭＤ１をカメラ３に送信する。また、画像入力ボード４は、カメラ３からコマンドＣＭＤ１に対する応答信号ＡＣＫ１を受信すると、テストパターンの送信開始を指示するトリガ信号ＴＲＩＧ１をカメラ３に送信する。カメラ３は、トリガ信号ＴＲＩＧ１を受信すると、要求されたテストパターンに対応する画素データＰＩＸＤを送信する。【選択図】図４
2015076067.tif 000002
【特許請求の範囲】
【請求項１】
ワークからの光をレンズにより撮像素子に結像させ前記撮像素子が光電変換した画素データを取得する撮像手段と、
前記レンズ又は前記撮像素子の少なくとも一方の機器固有の固有値に基づいて前記画素データを補正する補正手段と、
前記撮像手段の撮像用のパラメータの読み出し及び書き込みの通信を行う低速伝送手段と、
データ転送レートの実効速度が前記低速伝送手段に比べて速く、前記撮像手段から前記補正手段に向けて前記画素データが伝送される高速伝送手段と、
前記画素データに対応するデータ形式に変換された前記固有値を、前記撮像手段から前記補正手段に向けて前記高速伝送手段により伝送させる固有値伝送手段と、
を備えることを特徴とする画像処理システム。
【請求項２】
前記固有値伝送手段は、前記撮像素子を試験するテストパターンに前記固有値を対応付けて前記高速伝送手段により伝送させることを特徴とする請求項１に記載の画像処理システム。
【請求項３】
前記固有値伝送手段は、前記画素データに対応する１フレームのデータ中の所定領域の画素値に前記固有値が割り当てられることを特徴とする請求項１又は請求項２に記載の画像処理システム。
【請求項４】
前記固有値伝送手段は、前記固有値の変換後のデータに対して誤りを検出するための誤り符号が付加されることを特徴とする請求項１乃至請求項３のいずれかに記載の画像処理システム。
【請求項５】
請求項１乃至請求項４のいずれかに記載の画像処理システムを有し、前記撮像手段により取得された前記ワークの前記画素データに基づいて動作することを特徴とする作業用ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像した画素データを対象とした通信を行う画像処理システム及びその画像処理システムにより取得した画素データに基づいて動作する作業用ロボットに関するものである。
【背景技術】
【０００２】
従来、作業用ロボット、例えば電子部品装着装置は、電子部品を実装する回路基板を撮像するための撮像装置を備えるものがある（例えば、特許文献１など）。電子部品装着装置は、例えば撮像装置が撮像した画素データが通信ケーブルを介して制御装置に伝送される。制御装置は、入力された画素データに対する画像処理を行って回路基板の保持位置の誤差等を検出し、検出結果に基づいて電子部品を保持する装着ヘッドの位置を調整し実装作業を行う。また、撮像装置と制御装置との間の通信は、例えば、ＬＶＤＳ（Low Voltage Differential Signaling）技術を用いたCameraLink規格に準拠した通信規格によりデータが伝送される。ここでいうCameraLink規格は、産業用デジタルカメラのデータ伝送方式を定めた通信規格の１つであり、コネクタやピンアサインの標準化を図り、画素データ等をシリアル通信で伝送する通信規格である。
【０００３】
また、上記した撮像装置は、同一規格の装置であっても製造工程における精度の限界などによりレンズや撮像素子（例えば、ＣＭＯＳ）の取り付け位置に誤差が生じてレンズ歪みなどの機器固有の特性が生じる。このため、撮像装置は、制御装置が画素データを補正する際に参照するデータとしてレンズ歪みなどの固有値がメモリ等に保存されている。制御装置は、作業用ロボットの起動時において撮像装置のメモリから固有値を読み出す処理を行う。また、固有値はレンズ歪みの他に様々なデータが設定される。例えば、撮像装置は、周囲の画素に比べて出力信号のレベルが過剰に高い撮像素子に係わる欠陥点の情報が固有値としてメモリに記憶されている場合がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−８９５５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
また、上記したCameraLink規格などの通信規格に準拠した通信ケーブルでは、一般的に撮像装置の撮像条件を設定するパラメータなどのデータのデータ転送レートに比べて画素データのデータ転送レートが高く設定されている。そして、固有値は、この撮像条件のパラメータを伝送する低速な通信により読み出される。一方で、固有値、例えばレンズ歪みに係わるデータは、１画素ごとの補正データが設定されると、マークカメラが高解像度化により画素数が増大するとそれに比例してデータ量が大きくなる。また、制御装置は、作業用ロボットの起動時において複数の種類の固有値を読み出す必要がある。このため、作業用ロボットは、制御装置が固有値の読み出しを低速な通信により実施することで起動時間に遅延が生じることが問題となる。
【０００６】
本発明は、上記した課題を鑑みてなされたものであり、起動時間の短縮を図ることができる画像処理システム及び作業用ロボットを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本願に開示される技術に係る画像処理システムは、ワークからの光をレンズにより撮像素子に結像させ撮像素子が光電変換した画素データを取得する撮像手段と、レンズ又は撮像素子の少なくとも一方の機器固有の固有値に基づいて画素データを補正する補正手段と、撮像手段の撮像用のパラメータの読み出し及び書き込みの通信を行う低速伝送手段と、データ転送レートの実効速度が低速伝送手段に比べて速く、撮像手段から補正手段に向けて画素データが伝送される高速伝送手段と、画素データに対応するデータ形式に変換された固有値を、撮像手段から補正手段に向けて高速伝送手段により伝送させる固有値伝送手段と、を備える。
【０００８】
また、本願に開示される技術に係る作業用ロボットは、画像処理システムの撮像手段により取得されたワークの画素データに基づいて動作する。この画像処理システムは、ワークからの光をレンズにより撮像素子に結像させ撮像素子が光電変換した画素データを取得する撮像手段と、レンズ又は撮像素子の少なくとも一方の機器固有の固有値に基づいて画素データを補正する補正手段と、撮像手段の撮像用のパラメータの読み出し及び書き込みの通信を行う低速伝送手段と、データ転送レートの実効速度が低速伝送手段に比べて速く、撮像手段から補正手段に向けて画素データが伝送される高速伝送手段と、画素データに対応するデータ形式に変換された固有値を、撮像手段から補正手段に向けて高速伝送手段により伝送させる固有値伝送手段と、を備える。
【発明の効果】
【０００９】
本願に開示される技術によれば、起動時間の短縮を図ることができる画像処理システム及び作業用ロボットが提供できる。
【図面の簡単な説明】
【００１０】
【図１】本実施例の装着装置に適用される画像処理システムを説明するための模式図。
【図２】カメラが備える不揮発性メモリに記憶されたデータであり、テストパターンとそれに対応するデータの対応関係を示す図。
【図３】カメラが画像入力ボードに転送する１フレームの画素データを示す図。
【図４】画像入力ボードがカメラからテストパターンを取得する処理の動作シーケンスを示す図。
【図５】従来の画像入力ボードがカメラからテストパターンを取得する処理の動作シーケンスを示す図。
【図６】別例のカメラが画像入力ボードに転送する１フレームの画素データを示す図。
【発明を実施するための形態】
【００１１】
以下、本発明の実施例について図を参照して説明する。初めに、本願の画像処理システムを適用する作業用ロボットの一例として電子部品装着装置（以下、「装着装置」と略する場合がある）について説明する。実施例では、装着装置の制御装置が備える画像処理ボードとカメラ（撮像装置）との間におけるデータ伝送に本願の画像処理システムが適用された構成を例示する。
【００１２】
（装着装置１０の構成）
図１の装着装置１０は、例えば、集積回路の生産ラインにおいて、回路基板に複数の電子部品を実装する電子部品装着装置である。回路基板は、生産ラインのクリームハンダ印刷機により電子部品の装着位置にハンダを塗布され、複数の装着装置１０を順に搬送されて電子部品を装着される。その後に、電子部品を装着された回路基板は、リフロー炉に搬送されてハンダ付けされることにより集積回路を構成する。また、カメラ３は、例えば、電子部品や回路基板を撮像するために装着装置１０に組み込まれているＦＡ用の撮像装置である。なお、図１は装着装置１０の一部を示している。
【００１３】
図１に示すように、装着装置１０は、画像処理ボード２と、画像処理ボード２に接続された画像入力ボード４と、画像入力ボード４と通信可能に接続されたカメラ３とを備えて構成されている。画像処理ボード２は、カメラ３が撮像した画素データＰＩＸＤを処理するＣＰＵ１１と、ＣＰＵ１１の画像処理における処理データを保存するためのＲＡＭ（Random Access Memory）１２とを備えている。画像入力ボード４は、例えば、画像処理ボード２の拡張スロットに接続され、内部バス５を介して画像処理ボード２に接続されている。画像入力ボード４は、コマンド通信部２１と、ＣＰＵ２２と、ＲＡＭ２５と、ＦＰＧＡ（Field Programmable Gate Array）２６とを備えている。一方、カメラ３は、コマンド通信部３１と、ＣＰＵ３２と、不揮発性メモリ３５と、ＦＰＧＡ３６と、撮像素子３９と、レンズ部４０とを備える。画像入力ボード４は、カメラ３と通信ケーブル７を介して通信可能に接続され各種信号の送受信を行う。画像入力ボード４のＦＰＧＡ２６及びカメラ３のＦＰＧＡ３６は、通信ケーブル７を通じて例えばCameraLink規格に準拠した通信を行う。ここでいうCameraLink規格とは、ＬＶＤＳ（Low Voltage Differential Signaling：小振幅の差動伝送方式）によって画素データを対象としてデータを送信するシリアル通信の通信規格である。通信ケーブル７は、例えば仕様がベース・コンフィグレーションのCameraLink規格に準拠しており、画素データＰＩＸＤ、コマンドデータＣＭＤ、制御信号（トリガ信号ＴＲＩＧなど）を転送する３種類の信号線７Ａ〜７Ｃが１本の通信ケーブル７内に設けられている。
【００１４】
画像入力ボード４が備えるコマンド通信部２１は、カメラ３のコマンド通信部３１と通信ケーブル７の信号線７Ａを介した低速なシリアル通信（例えばＲＳ２３２Ｃ規格に準拠した通信）を行う。コマンド通信部２１は、画像処理ボード２の制御に基づいてＣＰＵ２２が処理したコマンドデータＣＭＤが入力され、入力されたコマンドデータＣＭＤをカメラ３のコマンド通信部３１に送信する。コマンド通信部３１は、受信したコマンドデータＣＭＤをＣＰＵ３２に転送する。例えば、ＣＰＵ２２は、ＣＰＵ３２に対しカメラ３が備えるメモリなどに記憶された撮像用のパラメータ（撮像素子３９の出力ゲインの設定値など）の読み出し及び変更した設定値のメモリへの書き込みを指示するコマンドデータＣＭＤを送信する。また、ＣＰＵ３２は、メモリに記憶された設定値に応じて撮像素子３９の出力ゲインを変更する制御を行う。あるいは、ＣＰＵ２２は、ＣＰＵ３２に対しカメラ３が備える照明装置（図示略）の起動又は停止を指示するコマンドデータＣＭＤを送信し撮像条件を変更する。
【００１５】
カメラ３のレンズ部４０は、レンズやレンズ保持部材などにより構成され、被写体であるワーク（回路基板や電子部品など）からの光を撮像素子３９に結像する。撮像素子３９は、例えば、ＣＣＤ（Charge Coupled Device）やＣＭＯＳ（Complementary Metal Oxide Semiconductor）などのイメージセンサである。撮像素子３９は、レンズ部４０により撮像面に結像された光を光電変換しアナログの撮像信号として出力する。撮像素子３９が出力した撮像信号は、Ａ／Ｄ変換回路（図示略）にてデジタル信号の画素データＰＩＸＤに変換されＦＰＧＡ３６に出力される。ＦＰＧＡ３６は、プログラム可能なロジックデバイスである。ＦＰＧＡ３６は、画像入力ボード４のＦＰＧＡ２６からの信号線７Ｂを介したトリガ信号ＴＲＩＧに応じてＡ／Ｄ変換回路から取得した画素データＰＩＸＤに対しゲイン調整等の前処理を施し、通信ケーブル７の信号線７Ｃを介した高速な通信で処理結果の画素データＰＩＸＤをＦＰＧＡ２６に転送する。
【００１６】
（固有値について）
不揮発性メモリ３５は、例えばフラッシュメモリやＲＯＭであり、ＣＰＵ３２が撮像素子３９及びレンズ部４０を制御するためのドライバなどのプログラムの他に、画像入力ボード４のＦＰＧＡ２６が画素データＰＩＸＤの補正処理を行う際に参照するデータとして固有値が保存されている。ここでいう固有値とは、レンズ歪み補正、欠陥補正、ガンマ補正及びホワイトバランスなどのレンズ部４０や撮像素子３９の機器固有の特性を示すデータである。なお、レンズ歪み補正の固有値とは、レンズ部４０のレンズや撮像素子３９の取り付け位置の誤差などによって被写体（ワーク）が歪んで写った画素データＰＩＸＤを補正するデータである。また、欠陥補正の固有値とは、例えば、撮像素子３９が有する複数の素子（ＣＭＯＳ）のうち、明るさに反応せずに正常な画素値を出力しない画素（素子）に係わるデータなどである。ガンマ補正については後述する。
【００１７】
画像入力ボード４のＣＰＵ２２は、装着装置１０の起動時においてカメラ３に上記した複数の種類の固有値の送信を要求しＲＡＭ２５に保存する処理を行う。ＦＰＧＡ２６は、例えばカメラ３から取得した画素データＰＩＸＤに対しレンズ歪み補正やガンマ補正などの補正処理を行い、内部バス５を介して処理結果を画像処理ボード２に転送する。画像処理ボード２のＣＰＵ１１は、ＦＰＧＡ２６から転送された画素データＰＩＸＤに対し各種の画像処理を実行する。この画像処理は、例えば、画素データＰＩＸＤの二値化、フィルタリング、色相抽出などの加工処理と、加工処理された画素データＰＩＸＤから特定の形状やマークに基づいて被写体の有無や位置情報などを認識する認識処理が含まれる。
【００１８】
ここで、上記したCameraLink規格などの通信規格に準拠した通信ケーブル７では、一般的にコマンドデータＣＭＤに比べてデータ量が大きい画素データＰＩＸＤのデータ転送レートが高く設定されている。コマンドデータＣＭＤは、例えば、ＲＳ２３２Ｃ規格に準拠したシリアル通信により数百ｋｂｐｓのデータ転送レートで送受信される。また、画素データＰＩＸＤは、例えば、ＬＶＤＳ技術を用いたCameraLink規格に準拠したシリアル通信により数Ｇｂｐｓのデータ転送レートで転送される。例えば、画素データＰＩＸＤは、ＴＡＰ数（同時に転送可能なデータ線の本数）が３ＴＡＰ、出力周波数が８５ＭＨｚの場合２Ｇｂｐｓのデータ転送レートで転送される。一方で、例えば、レンズ歪み補正の固有値は、１画素ごとの補正データが必要となるため、カメラ３が高解像度化により画素数が増大するとそれに比例してデータ量が大きくなる。従来の装着装置１０では、カメラ３の不揮発性メモリ３５に保存された複数の固有値を、コマンドデータＣＭＤを転送する低速なデータ通信により読み出す処理を行っており起動時間に遅延が生じる虞がある。そこで、本実施例の装着装置１０は、固有値を画素データＰＩＸＤに含めて高速なデータ通信により伝送することで起動時間の短縮化が図られている。
【００１９】
詳述すると、カメラ３の不揮発性メモリ３５には、上記した固有値のデータを含むテストパターンが記憶されている。図２は不揮発性メモリ３５に記憶されたテストパターンとそれに対応するデータを示したテーブルＴＢの一例を示している。テーブルＴＢは、各テストパターンの番号に対応したデータが設定されている。例えば、テーブルＴＢは、１番から２０番までが通常の撮像素子３９の試験に用いられるデータが記憶されている。テストパターン１は、撮像素子３９が有するレジスタの値を変更するテストパターンが設定されている。カメラ３のＣＰＵ３２は、画像入力ボード４のＣＰＵ２２からのコマンドデータＣＭＤに応じて不揮発性メモリ３５のテーブルＴＢを検索しテストパターン１に対応するレジスト値を読み出す。ＣＰＵ３２は、読み出したレジスト値を撮像素子３９に出力し、撮像素子３９の出力信号を実画像からテストパターン１に応じた信号に切り替える。撮像素子３９が出力したテストパターン１に対応する画素データＰＩＸＤは、ＦＰＧＡ３６から画像入力ボード４のＦＰＧＡ２６を介して画像処理ボード２のＣＰＵ１１へ転送される。ＣＰＵ１１は、受信したテストパターン１の画素データＰＩＸＤに基づいて画像の上下の向きや画像位置のずれを検出及び補正する。
【００２０】
また、テーブルＴＢは、２１番目以降のテストパターンに固有値が対応付けられている。テストパターン２１〜２８は、レンズ歪み補正の固有値が設定されている。図３は、カメラ３から画像入力ボード４へ通信ケーブル７を介して伝送される１フレームの画素データＰＩＸＤの一例を示しており、図示例ではレンズ歪み補正の固有値が設定されたテストパターンの場合を示している。画素データＰＩＸＤは、１フレームに縦１０２４、横１０２４の格子状の画素が配置された画素データである。画素データＰＩＸＤは、１画素が例えば８ビットのデータを有する。例えば、ＦＰＧＡ３６は、ＦＰＧＡ２６からのトリガ信号ＴＲＩＧに応じて１フレームの画素データＰＩＸＤを１ラインごとに画像入力ボード４へ転送する。
【００２１】
レンズ歪み補正の固有値のデータは、例えば画素データＰＩＸＤの上下方向と左右方向との各々の方向に沿った位置を補正するために６４ビット（３２ビット×２方向）が１画素あたりに必要となる。この場合、固有値のデータ量は次式の値となる。
固有値のデータ量＝６４ビット×１０２４×１０２４＝６７１０８８６４ビット
例えば、コマンドデータＣＭＤのデータ転送レートの実効値を１１５２００ｂｐｓとすると、固有値のデータ転送に必要な時間が約５８２秒（＝６７１０８８６４／１１５２００）となる。一方、画素データＰＩＸＤのデータ転送レートの実効値を２０４０００００００ｂｐｓとすると、固有値のデータ転送に必要な時間が約０．０３秒（＝６７１０８８６４／２０４０００００００）となる。従って、データ転送レートのみを単純に比較すると固有値を画素データＰＩＸＤに含めてデータ転送すれば、転送時間が約１０分程度短縮できる。なお、画素データＰＩＸＤの１画素は８ビットであるため１画素あたり６４ビットの補正データが必要なレンズ歪み補正の固有値を転送するには、画像入力ボード４とカメラ３とは複数のフレーム（例えば、８個（＝６４ビット／８ビット）のフレーム）の画素データＰＩＸＤを転送する必要がある。このため、図２に示すテーブルＴＢには、１種類のレンズ歪み補正の固有値が８個のテストパターン２１〜２８に分割して設定されている。画像入力ボード４は、カメラ３に対し指定するテストパターンの番号を変更しながら８個のテストパターン２１〜２８を転送させレンズ歪み補正の固有値を受信する。
【００２２】
また、図２に示すテーブルＴＢは、テストパターン２９にガンマ補正の固有値が対応付けられている。ガンマ補正の固有値のデータ量は、レンズ歪み補正のデータ量に比べて少ない。画像入力ボード４のＦＰＧＡ２６は、例えば画像処理ボード２のＣＰＵ１１における画像処理（回路基板のエッジ検出処理など）の前処理として画素データＰＩＸＤの画素値を変換するガンマ補正を実施する。テーブルＴＢのテストパターン２９には、入力の画素値に対し変換した出力の画素値を対応付けた変換データ（ルックアップテーブル）が設定されている。このルックアップテーブルは画素値のビット幅（階調）を変換する値が設定されている。ＦＰＧＡ２６は、例えば、カメラ３から取得したルックアップテーブルを用いて画素データＰＩＸＤの各画素値を８ビットから所定のビット（例えば、６ビット）に変換しビット圧縮を図る。なお、テーブルＴＢは、複数のテストパターンのそれぞれに対応付けて、変換後のビット幅が異なる複数のルックアップテーブルが設定された構成でもよい。
【００２３】
固有値であるルックアップテーブルのデータは、例えば８ビットで表現可能な値（２５６階調）の各々に対応する変換後の６ビット（６４階調）のデータが必要となる。この場合、固有値のデータ量は次式の値となる。
固有値のデータ量＝２５６×６ビット＝１５３６ビット
この場合、テストパターン２９に対応する画素データＰＩＸＤは、１ライン目の途中までの領域の画素値にルックアップテーブルのすべてのデータを割り当てることが可能となる。このため、カメラ３のＦＰＧＡ３６は、例えば、テストパターン２９の画素データＰＩＸＤの全画素を処理対象とするのではなく、固有値に対応する一部の画素について読み出す部分読みだし処理を行う。ここでいう、部分読みだし処理とは、例えば、ＲＯＩ（Region Of Interest）読み出しなどと呼ばれるもので、画素データの処理対象の領域を限定して処理するものである。ＦＰＧＡ３６は、テストパターン２９が要求された場合に、例えば、不揮発性メモリ３５からルックアップテーブルを含む画素データＰＩＸＤを読み出す際に、１ライン分を読み出した時点で画素データＰＩＸＤの読み出しを終了し、１ライン分のデータのみを画像入力ボード４へ転送する。これにより、ＦＰＧＡ３６は、ルックアップテーブルをより高速に画像入力ボード４へ転送することが可能となる。
【００２４】
なお、テーブルＴＢの３０番以降のテストパターンには、上記した固有値と同様に、画素値に固有値（欠陥補正やホワイトバランスなど）が設定された画素データＰＩＸＤが設定されている。例えば、欠陥補正の固有値は、撮像素子３９が有する複数の素子（例えば、ＣＭＯＳ）のうち、明るさに反応せずに正常な画素値を出力しない画素や所定のゲインの値を超えると正常な画素値を出力しない画素の情報が設定されている。欠陥補正の固有値が設定された画素データＰＩＸＤの各画素には、例えば８ビットで表現される値に欠陥点の情報が対応付けて設定されている。例えば、欠陥点の情報は、８ビットのビット値が「０」であれば正常な画素値が出力されない画素を、ビット値が「１」であればレベル１以上のゲインの値を超えると正常な画素値が出力されない画素を、ビット値が「２」であればレベル２以上のゲインの値を超えると正常な画素値が出力されない画素を、ビット値が「３」であればレベル３以上・・・、のように正常な画素値が出力可能なゲインの値に応じたビット値が設定される。
【００２５】
次に、画像入力ボード４の固有値に係わるテストパターンの取得処理を説明する。図４は、画像入力ボード４がカメラ３にテストパターンを要求し固有値を取得する処理の動作シーケンスを示している。なお、図４の実線で示す矢印は、例えばコマンドデータＣＭＤを転送するＲＳ２３２Ｃに準拠したシリアル通信を示している（図１の信号線７Ａ参照）。また、一点鎖線で示す矢印は、例えばCameraLink規格で規定された４種類のカメラ制御信号（ＣＣ１，ＣＣ２，ＣＣ３，ＣＣ４）のうち、１つ（例えばＣＣ１）によりトリガ信号ＴＲＩＧを転送する通信を示している（図１の信号線７Ｂ参照）。また、破線で示す矢印は、例えば画素データＰＩＸＤを転送するベース・コンフィグレーションのCameraLink規格に準拠した通信を示している（図１の信号線７Ｃ参照）。まず、画像入力ボード４のＣＰＵ２２は、装着装置１０の起動にともなって固有値に対応するテストパターンの送信を要求するコマンドデータＣＭＤ（図中の「コマンドＣＭＤ１」）をコマンド通信部２１からカメラ３のコマンド通信部３１へ送信する。ＣＰＵ２２は、例えば、画像入力ボード４が備える不揮発性メモリ（図示略）に記憶された制御プログラムに従って起動時に画像処理に必要となる固有値を順番に要求する。コマンドＣＭＤ１は、例えば、レンズ歪み補正の固有値のテストパターン２１を要求するコマンドデータＣＭＤである。カメラ３のＣＰＵ３２は、コマンド通信部３１からコマンドＣＭＤ１を入力すると、コマンドＣＭＤ１を受信したことを示す応答信号ＡＣＫ１をコマンド通信部３１から画像入力ボード４のコマンド通信部２１へ送信する。この応答信号ＡＣＫ１は、カメラ３から画像入力ボード４に向けたコマンドデータＣＭＤである。ＣＰＵ２２は、コマンド通信部２１からの応答信号ＡＣＫ１が入力されると、ＦＰＧＡ２６を制御してテストパターン２１の送信の開始を指示するトリガ信号ＴＲＩＧ１をカメラ３のＦＰＧＡ３６に向けて送信させる。
【００２６】
カメラ３のＦＰＧＡ３６は、トリガ信号ＴＲＩＧ１を受信すると、不揮発性メモリ３５に記憶されたテストパターン２１に対応する固有値を含む画素データＰＩＸＤを画像入力ボード４へ転送する処理を実行する。ＦＰＧＡ３６は、テストパターン２１に対応する画素データＰＩＸＤをＦＰＧＡ２６へ１ラインごとに連続して送信する。画像入力ボード４のＦＰＧＡ２６は、ＦＰＧＡ３６から連続して転送される１ラインごとの画素データＰＩＸＤをＲＡＭ２５に記憶する。ＦＰＧＡ２６は、１０２４ライン目まで受信し１フレームの画素データＰＩＸＤの受信が終了した旨をＣＰＵ２２に通知する。ＣＰＵ２２は、レンズ歪み補正の固有値に対応する次のテストパターン（この場合、テストパターン２２）の送信を要求するコマンドデータＣＭＤ（図中の「コマンドＣＭＤ２」）をカメラ３に送信する。また、ＣＰＵ２２は、カメラ３のＣＰＵ３２からコマンドＣＭＤ２に対する応答信号ＡＣＫ２を受信すると、ＦＰＧＡ２６を制御してテストパターン２２の送信の開始を指示するトリガ信号ＴＲＩＧ２をカメラ３のＦＰＧＡ３６に向けて送信させる。このようにして、ＣＰＵ２２及びＦＰＧＡ２６は、テストパターン２１〜２８に含まれるレンズ歪み補正の固有値をカメラ３から受信しＲＡＭ２５に記憶してその後の処理に用いる。また、ＣＰＵ２２は、テストパターン２１〜２８までの画素データＰＩＸＤを受信すると、次の固有値（例えば、ガンマ補正）に対応するテストパターン２９を要求し、同様の動作シーケンスに従って取得する。
【００２７】
以上、上記した本実施例によれば以下の効果を奏する。
＜効果１＞画像入力ボード４とカメラ３との通信ケーブル７を介した通信は、画像入力ボード４のＣＰＵ２２とカメラ３のＣＰＵ３２とが送受信するコマンドデータＣＭＤ（コマンドＣＭＤ１など）に比べてカメラ３から画像入力ボード４に向けて転送される画素データＰＩＸＤのデータ転送レートが高く設定されている。また、カメラ３が備える不揮発性メモリ３５には、レンズ歪み補正などのカメラ３の機器固有の固有値のデータが画素値に設定されたテストパターンが記憶されている。ＣＰＵ２２は、装着装置１０の起動にともなって必要な固有値に対応するテストパターンの送信を要求するコマンドＣＭＤ１をカメラ３に送信する（図４参照）。また、ＣＰＵ２２は、カメラ３からコマンドＣＭＤ１に対する応答信号ＡＣＫ１を受信すると、ＦＰＧＡ２６を制御してテストパターンの送信開始を指示するトリガ信号ＴＲＩＧ１をカメラ３のＦＰＧＡ３６に送信させる。ＦＰＧＡ３６は、トリガ信号ＴＲＩＧ１を受信すると、要求されたテストパターンに対応する画素データＰＩＸＤを送信する。これにより、装着装置１０は、固有値を含む画素データＰＩＸＤをデータ転送レートが高い高速な通信により転送することによって固有値の読み出しに係る処理時間が短縮され、起動時間の短縮を図ることが可能となる。
【００２８】
ここで、図５は、従来技術における固有値のデータの取得処理の動作シーケンスを示している。図５に示す従来例では、コマンドデータＣＭＤを伝送する低速な通信（例えばＲＳ２３２Ｃ規格に準拠した通信）により固有値の転送を処理している。一般的に、撮像用のパラメータの読み出し処理などに用いられるコマンドデータＣＭＤを転送する通信は、データ量が大きい画素データＰＩＸＤを転送する通信に比べて１回の転送におけるデータ量（パケット長）が小さく設定されることが好ましい。また、コマンドデータＣＭＤの通信は、コマンドデータＣＭＤ内にヘッダー等の制御情報が付加されることで画素データＰＩＸＤの通信に比べて１回の転送におけるデータ量がより小さくなる場合がある。そして、図５に示すように、コマンドデータＣＭＤに適用される通信方式を用いて固有値を転送する処理では、データ量が小さいパケットを用いて１種類の固有値を複数回に分けて受信するとともに、受信するごとに次のデータを要求するコマンドデータＣＭＤ（図中のコマンドＣＭＤ１〜コマンドＣＭＤ４）を送信する応答確認を実行している。これに対し、図４に示すように、本実施例の画素データＰＩＸＤを用いて固有値を転送する通信では、カメラ３がトリガ信号ＴＲＩＧ１を受信すると、応答確認を行わずに１フレームの画素データＰＩＸＤを１ラインごとに連続して送信する。従って、本実施例の装着装置１０では、固有値のデータを連続して伝送することが可能となるため、起動時間の短縮を図ることが可能となる。
【００２９】
また、装着装置１０は、起動時間の短縮だけでなく、カメラ３を交換した後に作業を開始するまでの時間が短縮できる。より具体的には、レンズ歪み補正などの固有値は、レンズ部４０や撮像素子３９の機器固有の特性である。本実施例の装着装置１０が、例えば、電子部品を保持する装着ヘッドにカメラ３が設けられ、当該装着ヘッドが着脱可能な構成であるとする。この場合、装着装置１０は、種類の異なる装着ヘッドに交換する際に交換後の装着ヘッドが備えるカメラ３の固有値を画像入力ボード４が読み出す必要がある。このため、装着装置１０は、装着ヘッドの交換によりカメラ３が変更された場合にも画素データＰＩＸＤを用いた固有値の読み出しを実行することによって、交換後の作業開始までの時間が短縮される。
【００３０】
＜効果２＞カメラ３の不揮発性メモリ３５には、テストパターンの番号とそれに対応する固有値のデータを含む画素データＰＩＸＤが記憶されている（図２参照）。画像入力ボード４のＣＰＵ２２は、コマンドデータＣＭＤによりテストパターンの番号を指定して固有値を取得する。このため、画像入力ボード４は、要求するテストパターンの番号のみを変更するだけで必要な固有値を読み出すことができ、固有値を読み出す処理内容が簡易化され、より起動時間の短縮化を図ることが可能となる。
【００３１】
＜効果３＞テストパターン２９に対応する画素データＰＩＸＤは、１フレームの１ライン目の途中までの領域の画素値にルックアップテーブル（ガンマ補正の固有値）のすべてのデータが割り当てられている。カメラ３のＦＰＧＡ３６は、不揮発性メモリ３５に保存されたテストパターン２９の画素データＰＩＸＤの全画素を処理対象とするのではなく、固有値に対応する一部の画素について読み出す部分読みだし処理を行う。これにより、ＦＰＧＡ３６は、固有値が設定された画素データＰＩＸＤのすべての画素値を転送することなく、必要なデータのみを転送することが可能となる。従って、装着装置１０は、固有値を読み出す処理時間が短縮されるため、起動時間の短縮を図ることが可能となる。
【００３２】
なお、本発明は、上記実施例に限定されるものではなく、当業者の知識に基づいて種々の変更、改良を施した種々の態様で実施することが可能である。
例えば、通信ケーブル７に適用された通信規格（CameraLink規格）は一例であり、他のコマンドデータＣＭＤに比べて画素データＰＩＸＤを高速に伝送する通信規格、例えばCoaXPress規格に準拠した通信規格に変更してもよい。また、本願における画像処理システムは、画素データＰＩＸＤとコマンドデータＣＭＤとのデータ転送レートの実効速度が異なるシステムに適用できる。例えば、画像処理システムは、画素データＰＩＸＤとコマンドデータＣＭＤとが同一のデータ転送レートで送受信される通信規格であっても、画素データＰＩＸＤとコマンドデータＣＭＤとの各々の通信プロトコルが互いに違うシステムに適用できる。具体的には、画素データＰＩＸＤのデータ転送における送信側と受信側との応答確認の処理回数がコマンドデータＣＭＤの処理回数に比べて少ない通信プロトコルを用いる画像処理システムに適用できる。この画像処理システムでは、応答確認の処理の簡易化を図ることで、同一のデータ量を伝送する場合でもデータ転送レートの実効速度が高くなる画素データＰＩＸＤを転送する通信により固有値を読み出す。これにより、固有値の読み出しに必要な時間が短縮される。
【００３３】
また、上記実施例において、固有値が設定されたテストパターンに誤り訂正検出又は誤り訂正符号を付加してもよい。図６は、例えば、上記実施例のテストパターン２９（ガンマ補正の固有値）に誤り検出符号を付加した画素データＰＩＸＤを示している。図６に示す画素データＰＩＸＤには、ガンマ補正の固有値が設定された１ライン目の途中までの領域に連続した画素の画素値に誤り検出符号ＣＲＣが設定されている。例えば、画像入力ボード４のＦＰＧＡ２６は、転送されたガンマ補正の固有値（ルックアップテーブル）のデータに誤りを検出した場合には、ＣＰＵ２２にその旨を通知する。ＣＰＵ２２はカメラ３に対してテストパターンの再送を要求する処理を行う。このような構成では、画素データＰＩＸＤのデータ転送に適用される通信規格に誤り検出の手順がない場合にも、固有値が設定された個々の画素データＰＩＸＤ内に誤り検出符号を付加することにより画像入力ボード４側で固有値の誤り検出が可能となる。なお、誤り検出符号ＣＲＣは、他の固有値に設定してもよい。また、誤りの検出に限らず受信側で誤りの訂正が可能な誤り訂正符号（ＦＥＣなど）をルックアップテーブルに付与してもよい。
【００３４】
また、不揮発性メモリ３５は、固有値が予めテストパターンの画素データＰＩＸＤの画素値に設定された状態で記憶されていたが、例えば、固有値のみを記憶した構成でもよい。この場合、ＣＰＵ３２は、例えば固有値を指定するコマンドデータＣＭＤを受信するごとに固有値を画素値に設定した画素データＰＩＸＤを生成しＦＰＧＡ３６に転送させる。これにより、不揮発性メモリ３５の記憶領域が小さくでき、カメラ３の製造コストの低減を図ることが可能となる。
また、不揮発性メモリ３５に保存される１フレームの画素データＰＩＸＤに複数の種類の固有値を設定してもよい。例えば、図６に示す画素データＰＩＸＤの２ライン目以降の画素値に、欠陥補正、ホワイトバランスの固有値を設定してもよい。
【００３５】
また、画像入力ボード４とカメラ３とは、画素データＰＩＸＤ及びコマンドデータＣＭＤを１本の通信ケーブル７で送受信したが、それぞれのデータを異なる通信ケーブルで伝送する構成でもよい。
【００３６】
また、上記実施例では電子部品を回路基板に実装する電子部品装着装置１０について説明したが、本願はこれに限定されるものではなく、他の様々な製造ラインにおいて稼働する作業用ロボットなどに適用することができる。例えば、二次電池（太陽電池や燃料電池など）等の組立て作業を実施する作業用ロボットに適用してもよい。また、作業用ロボットは、スキージをマスクに沿って移動させ被印刷剤を印刷対象部材に印刷するスクリーン印刷装置を含む。また、作業用ロボットとは、実装や組立を行うものに限らず、他の作業例えば切削等を行う工作機械を含む。
【００３７】
なお、特許請求の範囲の用語との対応関係は以下の通りである。
電子部品装着装置１０は、作業用ロボットの一例である。カメラ３は、撮像手段の一例である。ＦＰＧＡ２６を備える画像入力ボード４は、補正手段の一例である。レンズ部４０は、レンズを備える装置の一例である。コマンド通信部２１，３１がコマンドデータＣＭＤを伝送するＲＳ２３２Ｃ規格に準拠したシリアル通信は、低速伝送手段を構成する。ＦＰＧＡ２６，３６が画素データＰＩＸＤを伝送するCameraLink規格に準拠したシリアル通信は、高速伝送手段を構成する。不揮発性メモリ３５に保存された固有値が画素値に設定された画素データＰＩＸＤは、画素データに対応するデータ形式に変換された固有値の一例である。ＦＰＧＡ２６からのトリガ信号ＴＲＩＧ１，ＴＲＩＧ２に応じて固有値を含む画素データＰＩＸＤを送信するカメラ３のＦＰＧＡ３６は、固有値伝送手段の一例である。回路基板及び回路基板に実装される電子部品は、ワークの一例である。
【符号の説明】
【００３８】
１０  電子部品装着装置、３  カメラ、４  画像入力ボード、３５  不揮発性メモリ、ＣＭＤ  コマンドデータ、ＰＩＸＤ  画素データ、ＡＣＫ１，ＡＣＫ２  応答信号、ＴＲＩＧ１，ＴＲＩＧ２  トリガ信号。
【図１】
2015076067.tif 000003
【図２】
2015076067.tif 000004
【図３】
2015076067.tif 000005
【図４】
2015076067.tif 000006
【図５】
2015076067.tif 000007
【図６】
2015076067.tif 000008