(57)【要約】画像処理ボードに画像データを転送する機器固有のデジタルインターフェースに制限されることなく、安価かつ小型で画像データの伝送距離が延長できる延長装置を提供する。装着装置１０のリモート側延長器２は、撮像素子１１が撮像した画像データ（画素値）をＦＰＧＡ１６が取り込む処理を行う。ＦＰＧＡ１６は、取り込んだ画素値を８Ｂ／１０Ｂ符号化方式で符号化し、符号化した複数の画素値をローカル側延長器３に向けて送信する。ローカル側延長器３は、受信した画素値をＦＰＧＡ２６が復号化し、復号化したデータを画像処理ボード５の拡張ボード３１のデジタルインターフェースに準拠したデータ形式に変換しＰＨＹ−ＩＣ２７を介して拡張ボード３１に向けて送信する。
2015063930.tif 000002
【特許請求の範囲】
【請求項１】
リモート側延長器とローカル側延長器とが接続される延長装置であって、
前記リモート側延長器は、
対象物を撮像した画像データを出力する撮像素子と、
前記撮像素子と接続され、前記画像データを取り込む処理と、独自のデジタルインターフェースで前記画像データを送信する処理とを同一の素子で行う第１プログラマブル論理デバイスと、を備え、
前記ローカル側延長器は、
前記独自のデジタルインターフェースで送信される前記画像データを受信する処理を行い、前記独自のデジタルインターフェースから前記画像データを処理する画像処理ボードに前記画像データを転送する機器固有のデジタルインターフェースのデータ形式に前記画像データを変換し、変換した前記画像データを前記画像処理ボードに前記機器固有のデジタルインターフェースにより出力する第２プログラマブル論理デバイスを備え、
前記リモート側延長器には前記機器固有のデジタルインターフェースを備えないことを特徴とする延長装置。
【請求項２】
前記第１プログラマブル論理デバイスは、前記画像データを８Ｂ／１０Ｂ符号化方式により符号化し前記第２プログラマブル論理デバイスに向けて送信し、
前記第２プログラマブル論理デバイスは、前記リモート側延長器を制御する制御データを前記８Ｂ／１０Ｂ符号化方式で提供されるＫ符号により符号化し、前記第１プログラマブル論理デバイスに向けて送信することを特徴とする請求項１に記載の延長装置。
【請求項３】
前記リモート側延長器と前記ローカル側延長器とは、光ファイバーケーブル及びＬＡＮケーブルの少なくとも一方の通信媒体を介した前記独自のデジタルインターフェースで前記画像データを送受信することを特徴とする請求項１又は請求項２に記載の延長装置。
【請求項４】
前記対象物に対する作業を行う作業用ロボットであって、
請求項１乃至請求項３のいずれかに記載の延長装置を備えることを特徴とする作業用ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データの伝送距離を延長する延長装置及びその延長装置を備える作業用ロボットに関するものである。
【背景技術】
【０００２】
従来、作業用ロボット、例えば、電子部品装着装置は、電子部品を保持し回路基板に実装する装着ヘッドと、当該装着ヘッドを制御する制御装置とが高速に通信可能なデジタルインターフェースにより接続されたものがある（特許文献１など）。特許文献１に開示される電子部品装着装置は、装着ヘッドと制御装置とが光ファイバーケーブルにより接続され、装着ヘッドの駆動部を制御する制御データが光ファイバーケーブルを介して転送されるものである。また、この種の電子部品装着装置は、装着ヘッドに電子部品等を撮像するためのカメラを備えることがあり、制御データと同様に、カメラが撮像した画像データを高速な通信で制御装置に転送するデジタルインターフェースが必要となってくる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２４６２８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記した画像データを転送するためのデジタルインターフェースは、例えば作業用ロボットの装着ヘッドに搭載されたカメラと、制御装置に搭載され画像データを処理する画像処理ボードとを接続するインターフェースとして用いられる。このデジタルインターフェースは、装着ヘッドが装着作業にともなって電子部品装着装置の装置本体上をＸ方向やＹ方向に自由に可動できるように、装着ヘッド（カメラ）と制御装置（画像処理ボード）との２つの装置の接続可能な距離が制限されないことが好ましい。しかしながら、デジタルインターフェースの接続可能な距離は、制御装置の画像処理ボードが備える画像データを転送するためのインターフェースなどの機器固有のデジタルインターフェースに依存して距離が制限される場合がある。【０００５】
本発明は、上記の課題に鑑みてなされたものであり、画像処理ボードに画像データを転送する機器固有のデジタルインターフェースに制限されることなく、安価かつ小型で画像データの伝送距離が延長できる延長装置及び作業用ロボットを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を鑑みてなされた本願に開示される技術に係る延長装置は、リモート側延長器とローカル側延長器とが接続される延長装置であって、リモート側延長器は、対象物を撮像した画像データを出力する撮像素子と、撮像素子と接続され、画像データを取り込む処理と、独自のデジタルインターフェースで画像データを送信する処理とを同一の素子で行う第１プログラマブル論理デバイスと、を備え、ローカル側延長器は、独自のデジタルインターフェースで送信される画像データを受信する処理を行い、独自のデジタルインターフェースから画像データを処理する画像処理ボードに画像データを転送する機器固有のデジタルインターフェースのデータ形式に画像データを変換し、変換した画像データを画像処理ボードに機器固有のデジタルインターフェースにより出力する第２プログラマブル論理デバイスを備え、リモート側延長器には機器固有のデジタルインターフェースを備えないことを特徴とする。なお、プログラマブル論理デバイスとは、コンフィグレーション情報に基づいて回路が構築される論理デバイスである。【０００７】
また、上記課題を鑑みてなされた本願に開示される技術に係る作業用ロボットは、対象物に対する作業を行う作業用ロボットであって、当該対象物を撮像した画像データを転送する延長装置を備える。この延長装置は、リモート側延長器とローカル側延長器とが接続される延長装置であって、リモート側延長器は、対象物を撮像した画像データを出力する撮像素子と、撮像素子と接続され、画像データを取り込む処理と、独自のデジタルインターフェースで画像データを送信する処理とを同一の素子で行う第１プログラマブル論理デバイスと、を備え、ローカル側延長器は、独自のデジタルインターフェースで送信される画像データを受信する処理を行い、独自のデジタルインターフェースから画像データを処理する画像処理ボードに画像データを転送する機器固有のデジタルインターフェースのデータ形式に画像データを変換し、変換した画像データを画像処理ボードに機器固有のデジタルインターフェースにより出力する第２プログラマブル論理デバイスを備え、リモート側延長器には機器固有のデジタルインターフェースを備えないことを特徴とする。
【発明の効果】
【０００８】
本願に開示される技術によれば、画像処理ボードに画像データを転送する機器固有のデジタルインターフェースに制限されることなく、安価かつ小型で画像データの伝送距離が延長できる延長装置及び作業用ロボットを提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施例の延長装置が適用される電子部品装着装置を説明するための模式図。
【図２】データ転送モードとコマンド転送モードとにおけるフレームデータのデータ構成を説明するための図。
【図３】データ転送モードのフレームデータにビット割り当てされるデータの内容を示す図。
【図４】コマンド転送モードのフレームデータにビット割り当てされるデータの内容を示す図。
【図５】コマンド転送モードのフレームデータにビット割り当てされるデータの内容を示す図。
【図６】コマンド転送モードのフレームデータにビット割り当てされるデータの内容を示す図。
【図７】制御コマンドのＫ符号の割り当てを説明するための図。
【図８】固有値のビット値の割り当てを説明するための図。
【図９】画像処理ボード及びリモート側延長器の制御コマンドを用いた処理を説明するための動作シーケンスを示す図。
【図１０】比較例の延長装置が適用される電子部品装着装置を説明するための模式図。
【発明を実施するための形態】
【００１０】
以下、本発明の実施例について図１を参照して説明する。初めに、本願の延長装置を適用する作業用ロボットの一例として電子部品装着装置（以下、「装着装置」と略する場合がある）について説明する。図１は、本実施例の装着装置１０の一部を示しており、当該装着装置１０において通信可能に接続されたリモート側延長器２とローカル側延長器３との間におけるデータの転送に本願の延長装置が適用された構成を例示している。
【００１１】
装着装置１０は、例えば、集積回路の生産ラインにおいて、回路基板に複数の電子部品を実装する電子部品装着装置である。装着装置１０は、リモート側延長器２と、ローカル側延長器３と、画像処理ボード５とを備える。リモート側延長器２は、例えば、電子部品や回路基板を撮像するために装着装置１０に組み込まれている撮像素子１１を備えるものである。装着装置１０は、例えば、電子部品を保持し回路基板に実装する装着ヘッドにリモート側延長器２を備える。リモート側延長器２とローカル側延長器３は、光ファイバーケーブル６により通信可能に接続され、リモート側延長器２が備える撮像素子１１と画像処理ボード５との間のデータの伝送距離を延長するものである。
【００１２】
リモート側延長器２は、撮像素子１１と、レンズ部１２と、通信部１３とを備える。また、ローカル側延長器３は、通信部２１と、物理層のＩＣ（以下、ＰＨＹ−ＩＣという）２７とを備える。通信部１３のＳＦＰ１５は、ローカル側延長器３の通信部２１が備えるＳＦＰ２５と光ファイバーケーブル６を介して各種データの転送を行う。ＳＦＰ１５，２５は、例えば、ＳＦＰ＋規格に準拠した光トランシーバを備える。ＳＦＰ１５，２５は、例えば、１フレームが４０ビットで構成されるフレームデータＦＲＭＤを、１フレーム当りの周期が８ｎｓｅｃ（周波数が１２５ＭＨｚ）に設定され、通信速度が５Ｇｂｐｓ（４０ビット×１２５ＭＨｚ）となる独自のデジタルインターフェースを構成する。
【００１３】
リモート側延長器２のレンズ部１２は、レンズやレンズ保持部材などを備え、被写体である対象物（回路基板や電子部品など）からの光を撮像素子１１の撮像面に結像する。撮像素子１１は、例えば、ＣＣＤ（Charge Coupled Device）やＣＭＯＳ（Complementary Metal Oxide Semiconductor）などのイメージセンサである。撮像素子１１は、レンズ部１２により撮像面に結像された光を光電変換しアナログの撮像信号として出力する。撮像素子１１が出力した撮像信号は、Ａ／Ｄ変換回路（図示略）にてデジタル信号に変換され通信部１３のＦＰＧＡ１６に出力される。ＦＰＧＡ１６は、プログラム可能なロジックデバイスであり、例えばＦＰＧＡ（Field Programmable Gate Array）で構成されている。ＦＰＧＡ１６は、例えば、画像処理ボード５からの撮像の開始を示すトリガ信号に応じて撮像素子１１を駆動する。装着装置１０は、このトリガ信号を光ファイバーケーブル６とは別に設けた通信線により転送してもよく、光ファイバーケーブル６を介して転送してもよい。ＦＰＧＡ１６は、Ａ／Ｄ変換回路から入力されるデジタル信号の画像データに対しゲイン調整等の前処理を施す。画像データは、例えば画素値が８ビット単位のデータである。ＦＰＧＡ１６は、画像データの８ビットの画素値を８Ｂ／１０Ｂ符号化方式により１０ビットのデータに符号化する。ＦＰＧＡ１６は、例えば８Ｂ／１０Ｂ符号方式により提供されるデータ用に割り当てられたＤ符号により８ビットの画素値を符号化する。８Ｂ／１０Ｂ符号方式により符号されたデータは、ＤＣバランスが一定に保持される。ＦＰＧＡ１６は、符号化した１０ビットのデータをバッファなどに一時的に蓄積し、符号化されたデータの４つ分（４０ビット分）をＳＦＰ１５に出力する。ＳＦＰ１５は、ＦＰＧＡ１６から入力される４０ビットのデータを１つのフレームデータＦＲＭＤにビット割り当てし光信号に変換してローカル側延長器３のＳＦＰ２５に向けて送信する。ローカル側延長器３のＦＰＧＡ２６は、ＳＦＰ２５がフレームデータＦＲＭＤから変換したデータに含まれる符号化された画素値（画像データ）を処理する。
【００１４】
画像処理ボード５は、装着装置１０を統括制御する制御装置（図示略）と他の装置とを接続するための処理ボードであり、撮像素子１１により撮像された画像データを処理する。画像処理ボード５は、画像データが入力されるインターフェースとして、例えばＵＳＢ（ユニバーサルシリアルバス）３．０規格と互換性があるインターフェースを備える処理ボード（以下、「拡張ボード」という）３１が拡張スロットに接続されている。従って、画像処理ボード５は、当該画像処理ボード５が備える画像データを転送するためのインターフェース、即ち機器固有のデジタルインターフェースとしてＵＳＢ３．０規格と互換性があるインターフェースを備える。また、ローカル側延長器３は、ＵＳＢ３．０規格に準拠したＰＨＹ−ＩＣ２７を備える。ＰＨＹ−ＩＣ２７は、専用の接続ケーブル８を介して拡張ボード３１のＵＳＢポートなどに電気的に接続されている。ＰＨＹ−ＩＣ２７は、例えば、接続ケーブル８を介して入力されるアナログ信号をデジタル信号に変換しＦＰＧＡ２６に転送する、あるいはＦＰＧＡ２６から入力されるデジタル信号をアナログ信号に変換し接続ケーブル８を介して拡張ボード３１に転送する処理を実行する。ローカル側延長器３のＦＰＧＡ２６は、ＳＦＰ２５が受信した画像データを画像処理ボード５に向けて送信する。ＦＰＧＡ２６は、８Ｂ／１０Ｂ符号化方式により符号化された画像データ（１０ビットの画素値のデータ）を８ビットに復号化し、復号化した画像データをＵＳＢ３．０規格に準拠したデータ形式に変換しＰＨＹ−ＩＣ２７を介して拡張ボード３１に向けて送信する。画像処理ボード５は、拡張ボード３１から内部バスを通じて入力される画像データを処理する。制御装置は、画像データの処理結果に応じて次の制御を行う。
【００１５】
本実施例の装着装置１０は、画像データなどのデータを転送するデータ転送モードと、制御コマンドによる制御を行うコマンド転送モードとの２つのモードで動作する。画像処理ボード５は、リモート側延長器２に対する制御コマンドを処理する。制御コマンドは、例えば、上記したトリガ信号やリモート側延長器２のＦＰＧＡ１６に対して撮像素子１１の出力ゲインを変更する制御データである。画像処理ボード５は、拡張ボード３１を介してローカル側延長器３のＰＨＹ−ＩＣ２７に制御コマンドを送信する。ＦＰＧＡ２６は、画像処理ボード５から受信した制御コマンドを、当該制御コマンドに対応付けたＫ符号を用いて符号化してＳＦＰ２５からリモート側延長器２のＳＦＰ１５に向けて送信する。ここでいうＫ符号とは、８Ｂ／１０Ｂ符号方式で提供されるデータ用のＤ符号とは別に設けられる制御用のコードである。なお、本実施例の装着装置１０は、制御コマンドを光ファイバーケーブル６により転送しているが、制御コマンドを転送するための通信線を光ファイバーケーブル６とは別に設けた構成に変更してもよい。即ち、装着装置１０は、画像データと制御コマンドとを別の通信線で転送する構成でもよい。リモート側延長器２のＦＰＧＡ１６は、ＳＦＰ１５がＳＦＰ２５から受信したフレームデータＦＲＭＤに含まれる符号化された制御コマンドを復号化する。ＦＰＧＡ１６は、例えば復号化した制御コマンドに基づいて撮像素子１１の出力ゲインを変更する制御を行う。
【００１６】
ここで、リモート側延長器２及びローカル側延長器３の間で転送される画像データや制御コマンドなどは、８Ｂ／１０Ｂ符号化方式により符号化されフレームデータＦＲＭＤにビット割り当てして転送される。図２は、４０ビットのフレームデータＦＲＭＤのデータ構成の一例を示している。以下の説明では、４０ビットのフレームデータＦＲＭＤを先頭ビットから順に１０ビット単位に区別するために、説明の便宜上、１０ビット単位の各データをブロックＡ〜Ｄと称して説明する。例えば、ブロックＡは、フレームデータＦＲＭＤの０ビット（先頭ビット）から９ビットまでの１０ビットのビット位置に割り当てられるデータである。
【００１７】
図２に示す表は、各行がブロックＡ〜Ｄに対応している。「データ転送モード」と表記された第３列は、例えば、フレームデータＦＲＭＤの４つのブロックＡ〜ＤのすべてにＤ符号を用いて符号化されたデータ（画像データなど）が設定される場合のデータ構成を示している。データ転送モードのフレームデータＦＲＭＤは、ブロックＡ〜Ｄの各々にＤ符号により符号化された１０ビットのデータがビット割り当てされる。図３は、データ転送モードのフレームデータＦＲＭＤにビット割り当てされる具体的なデータの内容を示している。「通信方向」と表記された第３列は、フレームデータＦＲＭＤが転送される方向を示しており、例えば、画像データがリモート側延長器２からローカル側延長器３に向けて転送されることが示されている。画像データを転送する場合のフレームデータＦＲＭＤは、例えば、ブロックＡに画素値１、ブロックＢに画素値２、ブロックＣに画素値３、ブロックＤに画素値４の順にビット割り当てされる。この画素値１〜４は、例えば、画像データの水平方向に並ぶ画素値を順に示すデータであり、８ビットで表される画素値（白黒又はＲＧＢの各画素値を２５６階調で表す値）が符号化されたものである。
【００１８】
なお、装着装置１０は、画像データの他にデータ転送モードにおいて、例えば、固有値がリモート側延長器２及びローカル側延長器３の間で転送される。ここでいう固有値とは、レンズ歪み補正や欠陥点補正などのレンズ部１２や撮像素子１１の特性を示すデータであり、例えば画像処理ボード５が画像データの処理において参照するデータである。例えば、リモート側延長器２が備えるメモリ（図示略）には、レンズ歪み補正や欠陥点補正などの固有値の補正に必要なデータが保存されている。レンズ歪み補正のデータとは、例えば、レンズ部１２のレンズや撮像素子１１の取り付け位置の誤差などによって被写体が歪んで写った画像データを補正するデータである。また、欠陥点補正のデータとは、例えば、撮像素子１１が有する複数の素子（ＣＭＯＳなど）のうち、明るさに反応せずに正常な画素値を出力しない画素（素子）に係るデータである。
【００１９】
画像処理ボード５は、リモート側延長器２のメモリに対し、保存された固有値の読み出しや書き込みの処理を実行する。フレームデータＦＲＭＤは、画像処理ボード５が固有値の書き込み処理を行う場合には、ローカル側延長器３からリモート側延長器２に向けて送信されるフレームデータＦＲＭＤ中のすべてのブロックＡ〜Ｄに書き込み用の固有値が設定される（図３参照）。この固有値のデータは、８ビット単位でＤ符号に符号化されフレームデータＦＲＭＤに設定される。また、フレームデータＦＲＭＤは、画像処理ボード５が固有値の読み出し処理を行う場合には、読み出す固有値がブロックＡ〜Ｄに設定される。
【００２０】
また、図２に示す表において、「コマンド転送モード」と表記された第４列は、フレームデータＦＲＭＤの４つのブロックＡ〜Ｄのうち、任意のブロックに制御コマンドが設定される場合のデータ構成を示している。コマンド転送モードにおけるフレームデータＦＲＭＤは、ブロックＡ〜Ｄのうち、ブロックＡ，Ｂに制御コマンドの種類を識別するための番号（以下、「Ｋ符号番号」という）に対応付けられたＫ符号が設定される。また、コマンド転送モードにおけるフレームデータＦＲＭＤは、ブロックＡ，ＢのＫ符号により識別される制御コマンドが使用するパラメータ等が残りのブロックＣ，Ｄに設定される。従って、本実施例のリモート側延長器２及びローカル側延長器３のＦＰＧＡ１６，２６は、画像処理ボード５が処理する制御コマンドをＫ符号に対応付けたものに変換して転送する処理を実行する。
【００２１】
図４〜図６の表は、制御コマンドとＫ符号との対応を示しており、コマンド転送モードのフレームデータＦＲＭＤに設定される具体的なデータの内容の一部を示している。「Ｎｏ」と表記された第１列は、装着装置１０で用いられる制御コマンドを大分類した数字であり、図７に示すＫ符号番号に対応している。例えば、「Ｎｏ．０」に分類されるフレームデータＦＲＭＤは、通信の初期化に用いられる。「Ｎｏ．０」のフレームデータＦＲＭＤは、図７に示すＫ符号番号が「０」に対応付けられたＫ符号（図中のＫコードがＫ２８．５（１））の正と負の２種類のランニング・ディスパリティ（ＲＤ−，ＲＤ＋）のビットデータ（１０ビット）がブロックＡにビット割り当てされる。図４に示すように、「Ｎｏ．０」のフレームデータＦＲＭＤは、ブロックＡのみにＫ符号（Ｋ２８．５（１））が設定される。リモート側延長器２及びローカル側延長器３は、例えば、データの転送がない間のクロックの同期を維持するために、このフレームデータＦＲＭＤを双方向で送受信する。なお、図４〜図６に示す表の空白部分は、例えば、非処理対象であることを示すデータ（ビット値がすべて「０」の値など）が設定される。
【００２２】
また、例えば、図４の「Ｎｏ．１」に分類されるフレームデータＦＲＭＤは、起動時の初期化処理などに用いられる。「Ｎｏ．１」のフレームデータＦＲＭＤは、図７に示すＫ符号番号が「１」に対応付けられたＫ符号（Ｋ２８．１）がブロックＡにビット割り当てされる。図４に示すように、「Ｎｏ．１」のフレームデータＦＲＭＤは、ブロックＢに設定されたＫ符号番号によって、より詳細に分類された制御コマンドに対応付けられている（図４中の第３列の「小分類」を参照）。「Ｎｏ．１」のフレームデータＦＲＭＤは、例えばブロックＡ及びブロックＢにＫ符号番号が「１」のＫ符号（Ｋ２８．１）が設定されものがローカル側延長器３（画像処理ボード５）からリモート側延長器２に向けて送信された場合には、カメラの品番を読み出す処理を指示する制御コマンドとなる。同様に、「Ｎｏ．１」のフレームデータＦＲＭＤは、ブロックＡ及びブロックＢにＫ符号番号が「１」のＫ符号が設定されたものがリモート側延長器２からローカル側延長器３に向けて送信された場合には、カメラの品番の読み出しの要求に対して応答する制御コマンドとなる。この応答するフレームデータＦＲＭＤには、カメラの品番を例えば８Ｂ／１０Ｂ符号化方式のＤ符号により符号化したビット値がブロックＣ及びブロックＤに設定される。
【００２３】
また、例えば、図５に示す「Ｎｏ．４」に分類されるフレームデータＦＲＭＤは、リモート側延長器２における画像データに対する補正処理の実行、あるいは停止を選択する処理に用いられる。「Ｎｏ．４」のフレームデータＦＲＭＤは、例えばブロックＡにＫ符号番号が「４」、ブロックＢにＫ符号番号が「１」のＫ符号が設定されものが、リモート側延長器２のＦＰＧＡ１６に対して画像データの明るさを変更するブライトネスを実行させる制御コマンドとなる。また、例えば、図６に示す「Ｎｏ．８」に分類されるフレームデータＦＲＭＤは、リモート側延長器２のメモリ（フラッシュメモリなど）に対する固有値の読み出しや書き込み処理に用いられる。「Ｎｏ．８」のフレームデータＦＲＭＤは、ブロックＡにＫ符号番号が「８」のＫ符号（Ｋ２７．７）が設定され（図７参照）、ブロックＢに制御コマンドの詳細な分類（図６中の第３列の「小分類」を参照）に対応するＫ符号が設定される。例えば、「Ｎｏ．８」のフレームデータＦＲＭＤは、ブロックＡにＫ符号番号が「８」、ブロックＢにＫ符号番号が「１」のＫ符号が設定されたものが、固有値の転送を要求する制御コマンドとなる。また、固有値の転送を要求するフレームデータＦＲＭＤは、ブロックＣに固有値の種類（図６中の「データ種類」）が設定される。固有値は、図８に示すように、例えば、複数のデータの種類が対応付けられている。例えば、図６の「Ｎｏ．８」のフレームデータＦＲＭＤは、ブロックＣにビット値の「１」をＤ符号により符号化した１０ビットの値が設定された場合には、ブライトネスの固有値（明るさを増加させる補正値）を指定したことを示している。なお、固有値は、各データの種類の番号をＫ符号に対応付けてもよい。
【００２４】
上記したように、リモート側延長器２及びローカル側延長器３の間で転送される画像データや制御コマンドなどは、符号化されたビット値がフレームデータＦＲＭＤ４つのブロックＡ〜Ｄに設定され転送される。なお、リモート側延長器２及びローカル側延長器３は、図４〜図６に示す制御コマンドとＫ符号とが対応付けられた変換テーブルがメモリ等に保存されている。例えば、ローカル側延長器３のＦＰＧＡ２６は、画像処理ボード５から転送される制御コマンドを変換テーブルに基づいて符号化の処理を行う。
【００２５】
次に、画像処理ボード５が上記した制御コマンドを用いてリモート側延長器２に対して行う制御について説明する。図９は、画像処理ボード５とリモート側延長器２との制御コマンドＣＴＬＤ１，ＣＴＬＤ２を用いた処理を示す動作シーケンスの一例を示している。装着装置１０の制御装置（図示略）は、例えば、装着装置１０の起動にともなって図４の「Ｎｏ．１」のフレームデータＦＲＭＤを用いて初期化処理を行う。画像処理ボード５は、制御装置の制御に基づいてリモート側延長器２のカメラの品番を要求する処理を行う。
【００２６】
図９に示すように、画像処理ボード５は、制御コマンドＣＴＬＤ１をローカル側延長器３に送信する。制御コマンドＣＴＬＤ１は、カメラの品番を要求する制御コマンドである。ローカル側延長器３のＦＰＧＡ２６は、画像処理ボード５から受信した制御コマンドＣＴＬＤ１を図４〜図６に示すＫ符号に対応付けた独自の制御コマンドに変換してＳＦＰ２５からリモート側延長器２のＳＦＰ１５に向けて送信する。例えば、ＦＰＧＡ２６は、制御コマンドとＫ符号とが対応付けられた変換テーブルに基づいてカメラの品番を要求する制御コマンドＣＴＬＤ１を符号化する。符号化されたフレームデータＦＲＭＤは、ブロックＡにＫ符号番号が「１」、ブロックＢにＫ符号番号が「１」のＫ符号を設定される（図４参照）。
【００２７】
リモート側延長器２のＦＰＧＡ１６は、復号化した制御コマンドＣＴＬＤ１に基づいて、画像処理ボード５からの要求に対して応答ＡＣＫ１を返信する処理を行う。この応答ＡＣＫ１は、リモート側延長器２からローカル側延長器３（画像処理ボード５）に向けた制御コマンドであり、この場合にはカメラの品番が含まれている。ＦＰＧＡ１６は、図４に示すブロックＡ及びブロックＢにＫ符号番号が「１」のＫ符号が設定され、ブロックＣ及びブロックＤにカメラの品番を符号化したビット値が設定されたフレームデータＦＲＭＤを応答ＡＣＫ１として送信する。ローカル側延長器３のＦＰＧＡ２６は、リモート側延長器２から受信した応答ＡＣＫ１を復号化し画像処理ボード５に転送する。
【００２８】
なお、ローカル側延長器３のＦＰＧＡ２６は、リモート側延長器２からの応答ＡＣＫ１を受信するまでの時間に応じて画像処理ボード５に擬似的に応答を送信する構成としてもよい。詳述すると、本実施例の装着装置１０は、ＵＳＢ３．０規格のデジタルインターフェースで画像処理ボード５とローカル側延長器３とが接続されており、画像処理ボード５がマスター、ローカル側延長器３に接続されたリモート側延長器２がスレーブとなる接続関係にある。この場合、マスターの画像処理ボード５は、制御コマンドＣＴＬＤ１の送信に対する応答ＡＣＫ１の返信が、例えばリモート側延長器２における符号化や転送の処理によって遅延すると、タイムアウトとして処理する不具合が生じる虞がある。このため、ＦＰＧＡ２６は、画像処理ボード５から制御コマンドＣＴＬＤ１を受信した場合に、タイムアウトとなるのを防止するためにコマンドを正常に受信した旨の応答を画像処理ボード５に返信しつつ、リモート側延長器２に対する制御コマンドＣＴＬＤ１の転送を行う。そして、ＦＰＧＡ２６は、リモート側延長器２から制御コマンドＣＴＬＤ１に対する応答ＡＣＫ１があると、応答ＡＣＫ１を復号化したデータを画像処理ボード５に転送する。このような構成のＦＰＧＡ２６では、制御コマンドＣＴＬＤ１の送信に対する応答に短い時間制限が設けられたデジタルインターフェースの規格であってもタイムアウトによるエラーを生じさせることなく正常に制御コマンドＣＴＬＤ１を処理することが可能となる。
【００２９】
次に、画像処理ボード５が上記した制御コマンドを用いてリモート側延長器２から画像データを取得する処理について説明する。
図９に示すように、装着装置１０の制御装置（図示略）は、例えば、制御コマンドＣＴＬＤ１を含む複数の制御コマンド（図示略）により初期化処理を行うと、次の制御として画像データを取得する処理を画像処理ボード５に実行させる。画像処理ボード５は、制御装置の制御に基づいてリモート側延長器２のＦＰＧＡ１６に対しトリガの設定を行った後に画像データを取得する処理を行う。画像処理ボード５は、制御コマンドＣＴＬＤ２をローカル側延長器３に送信する。制御コマンドＣＴＬＤ２は、例えば、図４の「Ｎｏ．３」に示すトリガ設定に対応する制御コマンドである。ローカル側延長器３のＦＰＧＡ２６は、画像処理ボード５から受信した制御コマンドＣＴＬＤ２を符号化してＳＦＰ２５からリモート側延長器２のＳＦＰ１５に向けて送信する。符号化されたフレームデータＦＲＭＤは、例えばブロックＡにＫ符号番号が「３」、ブロックＢにＫ符号番号が「１」のＫ符号を設定され、ブロックＣにトリガモードに応じたビット値を符号化したデータが設定される（図４参照）。このトリガモードのビット値は、例えばブロックＣに「０」を設定した場合にはＦＰＧＡ１６が外部機器からのトリガ信号に応じて撮像するモードであり、ブロックＣに「１」を設定した場合にはＦＰＧＡ１６の内部処理により所定のタイミングで複数回撮像を実行するモードである。
【００３０】
リモート側延長器２のＦＰＧＡ１６は、復号化した制御コマンドＣＴＬＤ２に基づいて例えば外部機器からのトリガ信号に応じて撮像するモードに設定される。また、ＦＰＧＡ１６は、制御コマンドＣＴＬＤ２の要求に対する応答ＡＣＫ２を返す処理を行う。ＦＰＧＡ１６は、トリガの設定が正常に処理できたか否かを示すデータ（ＡＣＫ，ＮＡＫ，ＢＵＳＹなどに対応するビット値）を応答ＡＣＫ２のブロックＣに設定する。ＦＰＧＡ１６は、応答ＡＣＫ２として、例えばブロックＡにＫ符号番号が「３」、ブロックＢにＫ符号番号が「１」、ブロックＣに設定が完了したことを示すデータ（ＡＣＫ）を設定したフレームデータＦＲＭＤを送信する。ブロックＣに設定されるデータは、例えば、ＡＣＫであればビット値が「０」、ＮＡＫであればビット値が「１」を示す値が符号化され設定される。ローカル側延長器３のＦＰＧＡ２６は、リモート側延長器２から受信した応答ＡＣＫ１を復号化し画像処理ボード５に転送する。
【００３１】
そして、リモート側延長器２のＦＰＧＡ１６は、例えば光ファイバーケーブル６とは別に設けた通信線により画像処理ボード５から転送されたトリガ信号に応じて撮像素子１１を駆動する。ＦＰＧＡ１６は、画像データにゲイン調整等の前処理を施し符号化する。画像データを符号化したフレームデータＦＲＭＤは、ブロックＡ〜Ｄに画像データの画素値が設定される（図３の大分類が「画像データ」の項目を参照）。リモート側延長器２は、画像データを符号化したフレームデータＦＲＭＤをローカル側延長器３（画像処理ボード５）に向けて送信する。このようにして、画像処理ボード５は、リモート側延長器２から画像データの各画素値を順次読み出す処理を行実行する。
【００３２】
以上、詳細に説明した本実施例によれば以下の効果を奏する。
＜効果１＞本実施例の装着装置１０は、撮像素子１１により撮像された画像データをリモート側延長器２からローカル側延長器３まで転送する独自のデジタルインターフェースと、画像データをローカル側延長器３から画像処理ボード５まで転送する機器固有のデジタルインターフェースとを備える。詳述すると、装着装置１０は、対象物（回路基板や電子部品など）を撮像素子１１が撮像した画像データ（画素値）をリモート側延長器２のＦＰＧＡ１６が取り込み処理を行う。また、ＦＰＧＡ１６は、取り込んだ画像データ（８ビットの画素値）を８Ｂ／１０Ｂ符号方式により１０ビットのデータに符号化し、１０ビットに符号化された画素値の４つ分をＳＦＰ１５に出力する。ＳＦＰ１５は、ＦＰＧＡ１６から入力される４０ビットのデータをフレームデータＦＲＭＤにしてローカル側延長器３のＳＦＰ２５に向けて送信する。一方で、画像データを受信したローカル側延長器３は、ＦＰＧＡ２６が画像データを機器固有のデジタルインターフェース（ＵＳＢ３．０）に準拠したデータ形式に変換しＰＨＹ−ＩＣ２７を介して拡張ボード３１に向けて送信する。画像処理ボード５は、拡張ボード３１から内部バスを通じて入力される画像データを処理する。
【００３３】
次に、図１０を用いて比較例の延長装置が適用される装着装置１００について説明する。なお、図１０は、図１と同様の構成については同一の符号を付している。以下の説明では、図１と同様の構成については、適宜省略する。図１０に示す装着装置１００は、ＵＳＢ３．０規格に準拠したＰＨＹ−ＩＣ１１１を標準的なインターフェースとして備えるカメラ１１０と画像処理ボード５との間にリモート側延長器２Ａ及びローカル側延長器３を挿入して画像データの伝送距離を延長した構成である。リモート側延長器２Ａは、図１のリモート側延長器２とは異なり、ＵＳＢ３．０規格に準拠したＰＨＹ−ＩＣ１９が専用の接続ケーブル１２０を介して装着装置１００のＰＨＹ−ＩＣ１１１に電気的に接続されている。カメラ１１０は、例えばＦＰＧＡで構成される取込部１１２を備える。取込部１１２は、撮像素子１１により撮像された画像データをＰＨＹ−ＩＣ１１１からＰＨＹ−ＩＣ１９に向けて転送する。リモート側延長器２ＡのＦＰＧＡ１６は、光ファイバーケーブル６を介してＰＨＹ−ＩＣ１９から入力された画像データをローカル側延長器３に向けて送信する。
【００３４】
ここで、装着装置１０，１００を含む作業用ロボットが備えるカメラ（マシンビジョンカメラなど）に用いられるデジタルインターフェースは、通信規格の種類などに応じて画像データの伝送距離が制限される。例えば、ＵＳＢ３．０規格に準拠した通信の最大伝送距離は３〜５ｍである。また、例えば、CameraLink規格に準拠した通信の最大伝送距離は５〜１０ｍである。また、例えば、ＩＥＥＥ１３９４ａに準拠した通信の最大伝送距離は４．５ｍである。このため、このようなデジタルインターフェースの規格により制限された伝送距離を超えて画像データを伝送しようとする場合には、装着装置は、カメラ（撮像素子を含む）と画像処理ボードとの間に延長装置を挿入する必要が生じる。また、装着装置１０，１００は、カメラが搭載される装着ヘッドなどの可動部と、カメラの画像データを処理する画像処理ボードとの２つの装置のデータの伝送距離が制限されると、設計の自由度が低下するなどの不具合が生じるため、可能な限り伝送距離が制限されないことが好ましい。図１０に示す装着装置１００では、光ファイバーケーブル６を介したＳＦＰ１５，２５の通信により、ＵＳＢ３．０規格に準拠した通信の伝送距離が延長される。従って、装着装置１００は、画像処理ボード５（拡張ボード３１）の機器固有のデジタルインターフェースの規格による制限を超えて画像データの伝送距離を延長することが可能となる。
【００３５】
しかしながら、図１０に示す装着装置１００では、ＵＳＢ３．０規格に準拠したデジタルインターフェースを備えるカメラ１１０と拡張ボード３１との間にリモート側延長器２Ａとローカル側延長器３とを挿入した構成であるため、カメラ１１０に接続されるリモート側延長器２ＡにＵＳＢ３．０規格に準拠したＰＨＹ−ＩＣ１９を備える必要がある。また、カメラ１１０は、撮像素子１１から出力される画像データを処理する取込部１１２（ＦＰＧＡ）やＰＨＹ−ＩＣ１１１を搭載した構成となっている。結果として、装着装置１００の構成では、リモート側延長器２Ａ側の処理回路などが増加し製造コストの増加に繋がる虞がある。また、装着装置１００は、カメラ１１０及びリモート側延長器２Ａを装着ヘッドに搭載した場合には、部品点数の増加にともなって装着ヘッドの装置自体の大型化を招くこととなる。
【００３６】
これに対し、本実施例の装着装置１０のリモート側延長器２は、撮像素子１１が撮像した画像データ（画素値）をＦＰＧＡ１６が取り込む処理を行う。また、ＦＰＧＡ１６は、取り込んだ画像データを８Ｂ／１０Ｂ符号化方式により符号化したデータをＳＦＰ１５に出力する処理を行う。従って、このような構成では、図１０に示す装着装置１００に比べてリモート側延長器２側の処理回路などの部品点数を少なくし製造コストの削減を図るとともに、リモート側延長器２を搭載する装着ヘッドの小型化を図ることが可能となる。
【００３７】
また、リモート側延長器２は、画像データを取り込む処理及び取り込んだ画像データをＳＦＰ１５から送信する処理の両方の処理を実行するＦＰＧＡ１６を備える。ここで、上記した図１０に示す比較例の装着装置１００は、リモート側延長器２ＡにＰＨＹ−ＩＣ１９を備える構成である。この装着装置１００では、仮に、ＵＳＢ３．０とは異なる規格（CameraLink規格など）に準拠したデジタルインターフェースを備えるカメラ１１０や拡張ボード３１を搭載したい場合には、通信規格（マスタ・スレーブ方式など）の変更を考慮した大幅な設計変更が必要となってくる。これに対し、図１に示す本実施例の装着装置１０は、仮に、ローカル側延長器３と接続される拡張ボード３１が異なるデジタルインターフェースに変更された場合であっても、フレームデータＦＲＭＤを受信しデータ形式の変更を行うローカル側延長器３（ＦＰＧＡ２６など）を変更することで対応できる。従って、ＦＰＧＡ１６を備えるリモート側延長器２は、機器固有のデジタルインターフェースを介さずに撮像素子１１からの画像データを取り込んでＳＦＰ１５から出力する構成であるため、受信側の拡張ボード３１の変更に対して汎用性を高めることが可能となる。また、ＦＰＧＡ１６は、プログラム可能なロジックデバイス（ＦＰＧＡ）で構成されている。これにより、ＦＰＧＡ１６は、異なる種類の撮像素子１１に変更され撮影信号のデータ形式が変更された場合に、ＦＰＧＡの内部ロジックを変更することで対応できるため、撮像素子１１の変更に対して汎用性を高めた構成となっている。
【００３８】
＜効果２＞リモート側延長器２は、画像データを８Ｂ／１０Ｂ符号化方式によりＤ符号に符号化しローカル側延長器３に向けて送信する。また、ローカル側延長器３は、画像処理ボード５がリモート側延長器２を制御する制御コマンドをＫ符号に対応付けた変換テーブルで符号化し、リモート側延長器２に向けて送信する。これにより、装着装置１０は、光ファイバーケーブル６において画像データ及び制御コマンドをＤＣバランスが一定に保持された状態で転送できる。その結果、装着装置１０は、画像データ及び制御コマンドのデータ転送において、例えば、一定のクロック周期の間にハイレベルの信号が連続しないため、信号のレベルの反転にともなうビット値の誤検出を防ぎ通信品質の向上を図ることが可能となる。
【００３９】
＜効果３＞装着装置１０は、光ファイバーケーブル６により独自のデジタルインターフェースを構成しており、機器固有のデジタルインターフェースの規格で規定される通信速度を満たす通信経路を構築でき、画像データの伝送距離を安定的に延長することが可能となる。
【００４０】
＜効果４＞装着装置１０は、画像処理ボード５（拡張ボード３１）に依存した機器固有のデジタルインターフェースに係わらず、リモート側延長器２とローカル側延長器３との伝送距離が延長でき、例えば、撮像素子１１等が設けられた装着ヘッドを装置内に設置する位置が制限されないため、設計の自由度が向上される。
【００４１】
ここで、電子部品装着装置１０は、延長装置を備える作業用ロボットの一例である。ＦＰＧＡ１６は、第１プログラマブル論理デバイスの一例である。ＦＰＧＡ２６は、第２プログラマブル論理デバイスの一例である。フレームデータＦＲＭＤによるデータ転送は、独自のデジタルインターフェースによる画像データの転送の一例である。ＵＳＢ３．０規格に準拠したＰＨＹ−ＩＣ２７、接続ケーブル８及び拡張ボード３１は、機器固有のデジタルインターフェースの一例である。制御コマンドＣＴＬＤ１，ＣＴＬＤ２は、制御データの一例である。
【００４２】
尚、本発明は上記の実施例に限定されるものではなく、本発明の趣旨を逸脱しない範囲内での種々の改良、変更が可能であることは言うまでもない。
例えば、本実施例では、リモート側延長器２とローカル側延長器３とを、光ファイバーケーブル６を介して接続したが、他の有線通信（例えば、ＬＡＮケーブルなど）を介した接続に変更してもよく、有線に限らず無線通信に変更してもよい。なお、各通信方式を適用する場合には、フレームデータＦＲＭＤの構成等を適宜変更する。
【００４３】
また、上記実施例において、ＦＰＧＡ１６，２６は、８Ｂ／１０Ｂ符号化方式による符号化を実施しない構成でもよい。例えば、ＦＰＧＡ１６は、撮像素子１１から取り込んだ画像データの複数の画素値をそのままＳＦＰ１５に出力しフレームデータＦＲＭＤにビット割り当させてＳＦＰ２５（ローカル側延長器３）に向けて送信する構成でもよい。この場合、ＦＰＧＡ２６は、ＳＦＰ２５がフレームデータＦＲＭＤから変換した画素値に対する復号化が不要となる。即ち、リモート側延長器２とローカル側延長器３との間の独自のデジタルインターフェースは、符号化せずに画像データの複数の画素値をフレームデータＦＲＭＤにまとめて転送する構成でもよい。
また、上記実施例において、光ファイバーケーブル６は、画像データのみを転送する構成に変更してもよい。この場合、装着装置１０は、他のデータ（制御コマンドなど）を、光ファイバーケーブル６とは別の通信線により転送する構成に変更される。
【００４４】
また、ＦＰＧＡ１６，２６を、画像データや制御コマンドに誤り訂正処理を行う構成に変更してもよい。この場合、転送するデータの種類に応じて誤り訂正処理を変更してもよい。例えば、画像データは、複数の画素（例えば、４画素）が１つのフレームデータＦＲＭＤで転送されるため、バーストエラー等により複数ビットに誤りが生じる虞がある。このため、画像データは、複数ビットをシンボルとして取り扱いシンボルごとに誤り訂正可能なリードソロモン符号を用いて誤り訂正処理を行うことが好ましい。
また、ＦＰＧＡ１６，２６は、プログラマブル論理デバイスに限らず、同様の処理が可能な処理回路（ＩＣなど）で構成してもよい。
【００４５】
また、上記実施例では電子部品を回路基板に実装する電子部品装着装置１０について説明したが、本願はこれに限定されるものではなく、他の様々な製造ラインにおいて稼働する作業用ロボットなどに適用することができる。例えば、二次電池（太陽電池や燃料電池など）等の組立て作業を実施する作業用ロボットに適用してもよい。また、作業用ロボットとは、実装や組立を行うものに限らず、例えば切削等を行う工作機械を含む。
【符号の説明】
【００４６】
２  リモート側延長器、３  ローカル側延長器、５  画像処理ボード、６  光ファイバーケーブル、１０  電子部品装着装置、１１  撮像素子、１６，２６  ＦＰＧＡ。
【図１】
2015063930.tif 000003
【図２】
2015063930.tif 000004
【図３】
2015063930.tif 000005
【図４】
2015063930.tif 000006
【図５】
2015063930.tif 000007
【図６】
2015063930.tif 000008
【図７】
2015063930.tif 000009
【図８】
2015063930.tif 000010
【図９】
2015063930.tif 000011
【図１０】
2015063930.tif 000012
【国際調査報告】
2015063930.tif 000013
2015063930.tif 000014