(57)【要約】【課題】センサ等の部品点数を増加させることなく、移動する撮影対象物を連続撮影した複数の画像の中から最良な画像を抽出することができる画像抽出方法を提供する。【解決手段】カメラ部と、１つの画像に関する画像関連データを所定数に限り記憶可能で、新たな画像関連データが書き込まれると最も古い画像関連データが消去されて更新される記憶部と、を備える画像抽出装置の画像抽出方法において、制御部が、連続撮影により得られた画像ごとに、各画像におけるワークの位置に基づいて評価値を演算する演算工程（ステップＳ６）と、制御部が、評価値のデータを、評価した画像の画像関連データとして記憶部に書き込む書込工程（ステップＳ７）と、制御部が、記憶部に書き込まれた評価値の中で、最も古い画像の評価値が最大値である場合に、最も古い画像を記憶部から抽出する抽出工程（ステップＳ１０）と、を備える。【選択図】図３
2015032231.tif 000002
【特許請求の範囲】
【請求項１】
撮像範囲の外から内に入り、内から外に出るよう相対移動する撮影対象物を連続撮影可能なカメラ部と、
１つの画像に関する画像関連データを所定数に限り記憶可能で、新たな画像関連データが書き込まれると最も古い画像関連データが消去されて更新される記憶部と、を備える画像抽出装置の画像抽出方法において、
制御部が、連続撮影により得られた画像ごとに、各画像における前記撮影対象物の位置に基づいて評価値を演算する演算工程と、
前記制御部が、前記評価値のデータを、評価した画像の画像関連データとして前記記憶部に書き込む書込工程と、
前記制御部が、前記記憶部に書き込まれた前記評価値の中で、最も古い前記画像の前記評価値が最大値である場合に、最も古い前記画像を前記記憶部から抽出する抽出工程と、を備える、
ことを特徴とする画像抽出方法。
【請求項２】
前記抽出工程では、前記制御部が、最も古い前記画像の前記評価値が所定の閾値より大きければ、前記記憶部に書き込まれた前記評価値の中で、最も古い前記画像の前記評価値が最大値である場合に、最も古い前記画像を前記記憶部から抽出する、
ことを特徴とする請求項１記載の画像抽出方法。
【請求項３】
前記演算工程では、前記制御部が、前記画像の中心と、該画像における前記撮影対象物の重心との距離を算出して、該距離が小さい程、前記評価値を大きくする、
ことを特徴とする請求項１又は２に記載の画像抽出方法。
【請求項４】
前記演算工程では、前記制御部が、前記連続撮影により得られた画像と、予め撮影した前記撮影対象物が存在しない場合の画像と、の差分を算出して、該差分が大きい程、前記評価値を大きくする、
ことを特徴とする請求項１又は２に記載の画像抽出方法。
【請求項５】
前記抽出工程の後に、前記制御部が、前記カメラ部による前記撮影対象物の連続撮影を停止する撮影停止工程を備える、
ことを特徴とする請求項１乃至４のいずれか１項に記載の画像抽出方法。
【請求項６】
請求項１乃至５のいずれか１項に記載の画像抽出方法の各工程をコンピュータに実行させるための画像抽出プログラム。
【請求項７】
請求項６に記載の画像抽出方法の各工程をコンピュータに実行させるための画像抽出プログラムが記録されたコンピュータが読み取り可能な記録媒体。
【請求項８】
撮像範囲の外から内に入り、内から外に出るよう相対移動する撮影対象物を連続撮影可能なカメラ部と、
１つの画像に関する画像関連データを所定数に限り記憶可能で、新たな画像関連データが書き込まれると最も古い画像関連データが消去されて更新される記憶部と、
連続撮影により得られた画像ごとに、各画像における前記撮影対象物の位置に基づいて評価値を演算し、前記評価値のデータを、評価した画像の画像関連データとして前記記憶部に書き込み、前記記憶部に書き込まれた前記評価値の中で、最も古い前記画像の前記評価値が最大値である場合に、最も古い前記画像を前記記憶部から抽出する制御部と、を備える、
ことを特徴とする画像抽出装置。
【請求項９】
前記制御部は、最も古い前記画像の前記評価値が所定の閾値より大きければ、前記記憶部に書き込まれた前記評価値の中で、最も古い前記画像の前記評価値が最大値である場合に、最も古い前記画像を前記記憶部から抽出する、
ことを特徴とする請求項８記載の画像抽出装置。
【請求項１０】
前記記憶部は、ＦＩＦＯメモリである、
ことを特徴とする請求項８又は９に記載の画像抽出装置。
【請求項１１】
撮影対象物を搬送可能な搬送機器を有する生産装置と、
請求項８乃至１０のいずれか１項に記載の画像抽出装置と、を備える、
ことを特徴とする生産システム。
【請求項１２】
前記搬送機器は、把持ツールで前記撮影対象物を把持して搬送可能な多関節ロボットであり、
前記記憶部から抽出された前記画像に基づいて前記撮影対象物の位置姿勢を演算し、前記演算された位置姿勢に基づいて前記多関節ロボットの軌道演算を実行する、
ことを特徴とする請求項１１記載の生産システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動するワーク等の撮影対象物を連続撮影し、撮影された複数の画像の中から最適な画像を抽出するために好適な画像抽出方法及び画像抽出装置に関する。
【背景技術】
【０００２】
従来、ロボットを使った製品の自動組立においては、ロボットが供給された部品を把持して、把持した部品をワークに組み付けるという作業が行われる。ロボットに供給される部品は、厳密に位置姿勢が決められていない場合がある。この場合、例えば、ロボットが部品を把持した後に、部品をカメラの前まで搬送してロボットを停止させ、部品（撮影対象物）をカメラで撮影し、得られた画像に基づいてワークに対する部品の位置姿勢を認識することが行われる。そして、認識された位置姿勢に応じて、ロボットハンドの位置姿勢を変更させたり部品を持ち替えたりすることによって、部品の位置姿勢をワークに組付けることのできる位置姿勢に変更してから組付動作を行う。
【０００３】
自動組立作業を更に高速に実施するには、ロボットの減速、停止、始動、加速に要する時間を少なくすることが効果的である。このため、カメラの前でロボットによる部品の搬送を停止させることなく、高速に移動する部品をそのまま撮影すること、即ち動体撮影を実施することが望ましい。この場合、光電センサ等を用いて撮影タイミングを設定することも考えられるが、部品点数の増加や、速度の変動等による誤差を考慮すると好ましくない。
【０００４】
そこで、光電センサ等を用いずに動体撮影を実現するために、固定したカメラの前をコンベアで搬送される部品を、部品の移動速度とカメラの画角とを勘案した一定時間の間隔で、連続的に撮影する撮像装置が開発されている（特許文献１参照）。
【０００５】
この撮像装置では、連続撮影で得られた最新の画像データと直前の画像データとを記憶し、両画像データについて部品の移動方向の中心座標と撮影視野の中心座標とのずれ量を演算する。そして、撮像装置は、演算したずれ量に基づいて、両画像データのうちのいずれかの画像データを使用するか、あるいはいずれも使用せずに連続撮影を継続するかを決定する。
【０００６】
具体的には、この撮像装置では、撮像範囲は複数の部品が同時に全ては収まらない大きさに設定されている。そして、画像に１つの部品が全て収まっていると最初に判断された場合に、当該画像のデータをメモリから抽出して出力し、画像処理等を施すようになっている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平９−２８８０６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に記載された撮像装置では、部品が撮像範囲の中でどこに位置するかまでは考慮されておらず、部品が撮像範囲に全て収まっていると最初に判断された時点で、該部品の画像データが抽出されてしまう。このため、画像取得をある程度高速にできる場合、抽出された画像は撮像範囲の最も上流側に位置するものとなり、撮像範囲の端部等、レンズ歪み等の影響で好適でない位置で撮影されてしまう可能性があるという問題があった。
【０００９】
これに対し、より好適な画像を得るために、例えば、撮像範囲の中央部付近を好適領域として設定し、部品が好適領域に全て入った場合のみ画像データを抽出して出力することも考えられる。しかしながら、単なる連続撮影では、部品が好適領域に全て収まっている時に撮影されるとは限らず、その場合は画像データを抽出できないことになってしまう。
【００１０】
本発明は、センサ等の部品点数を増加させることなく、移動する撮影対象物を連続撮影した複数の画像の中から最良な画像を抽出することができる画像抽出方法及び画像抽出装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、撮像範囲の外から内に入り、内から外に出るよう相対移動する撮影対象物を連続撮影可能なカメラ部と、１つの画像に関する画像関連データを所定数に限り記憶可能で、新たな画像関連データが書き込まれると最も古い画像関連データが消去されて更新される記憶部と、を備える画像抽出装置の画像抽出方法において、制御部が、連続撮影により得られた画像ごとに、各画像における前記撮影対象物の位置に基づいて評価値を演算する演算工程と、前記制御部が、前記評価値のデータを、評価した画像の画像関連データとして前記記憶部に書き込む書込工程と、前記制御部が、前記記憶部に書き込まれた前記評価値の中で、最も古い前記画像の前記評価値が最大値である場合に、最も古い前記画像を前記記憶部から抽出する抽出工程と、を備えることを特徴とする。
【００１２】
また、本発明の画像抽出装置は、撮像範囲の外から内に入り、内から外に出るよう相対移動する撮影対象物を連続撮影可能なカメラ部と、１つの画像に関する画像関連データを所定数に限り記憶可能で、新たな画像関連データが書き込まれると最も古い画像関連データが消去されて更新される記憶部と、連続撮影により得られた画像ごとに、各画像における前記撮影対象物の位置に基づいて評価値を演算し、前記評価値のデータを、評価した画像の画像関連データとして前記記憶部に書き込み、前記記憶部に書き込まれた前記評価値の中で、最も古い前記画像の前記評価値が最大値である場合に、最も古い前記画像を前記記憶部から抽出する制御部と、を備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、制御部が、連続撮影により得られた画像ごとに、各画像における撮影対象物の位置に基づいて評価値を演算し、それを、評価した画像の画像関連データとして記憶部に書き込む。そして、制御部は、記憶部に書き込まれた評価値の中で、最も古い画像の評価値が最大値である場合に、その最も古い画像を記憶部から抽出する。このため、センサ等の部品点数を増加させることなく、移動する撮影対象物を連続撮影した複数の画像の中から最良な画像を抽出することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係るロボット装置の概略構成を示す説明図である。
【図２】本発明の実施形態に係る画像撮像装置及び制御装置の概略を示す説明図であり、（ａ）は全体図、（ｂ）はＦＩＦＯメモリの拡大図である。
【図３】本発明の実施形態に係る画像撮像装置によりワークの撮影を行う際の手順を示すフローチャートである。
【図４】本発明の実施形態に係る画像撮像装置による連続撮影で得られた画像を示す説明図である。
【図５】本発明の実施形態に係る画像撮像装置による連続撮影で得られた撮影時刻と評価値との関係を示すグラフである。
【図６】本発明の実施形態に係る画像撮像装置の撮影対象物を示す説明図であり、（ａ）はワークが複数の類似形状を有する場合、（ｂ）はワークとハンドとが類似形状を有する場合である。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
【００１６】
図１に示すように、生産システムとしてのロボット装置１は、搬送機器としてのロボット本体２と、撮影対象物としてのワークＷを上方から撮影可能な画像撮像装置３と、ロボット本体２及び画像撮像装置３を制御する制御装置４と、を備えている。本実施形態では、ロボット本体２は、ワークＷを把持して５００ｍｍ×５００ｍｍの作業領域を予め教示した略直線状の軌道で、最大２０００ｍｍ／ｓの速度で一方向に搬送可能になっている。
【００１７】
ロボット本体２は、多関節ロボットであり、６軸の垂直多関節アーム（以下、アームと呼ぶ）２１と、エンドエフェクタである把持ツールとしてのハンド２２とを有している。本実施形態では、アーム２１として６軸の垂直多関節アームを適用しているが、軸数は用途や目的に応じて適宜変更してもよい。また、本実施形態では、エンドエフェクタとしてハンド２２を適用しているが、これには限られず、ワークＷを把持あるいは保持して移動させることができるツールの全般を含めることができる。
【００１８】
アーム２１は、７つのリンク６１〜６７と、各リンク６１〜６７を揺動又は回動可能に連結する６つの関節７１〜７６とを備えている。各リンク６１〜６７としては、長さが固定されたものを採用している。但し、例えば、直動アクチュエータにより伸縮可能なリンクを採用してもよい。各関節７１〜７６には、各関節７１〜７６を各々駆動するモータと、モータの回転角度を検知するエンコーダと、各モータに供給する電流を検知する電流センサと、各関節７１〜７６のトルクを検知するトルクセンサと、が設けられている。
【００１９】
ハンド２２は、アーム２１の先端リンク６７に取り付けられて支持され、アーム２１の動作により位置及び姿勢の少なくとも一自由度が調整されるようになっている。ハンド２２は、２本の指２３と、これら指２３の間隔を開閉可能に支持するハンド本体２４とを備え、指２３同士が接近する閉動作によりワークＷを把持可能になっている。
【００２０】
ハンド本体２４には、指２３を動作させるためのモータと、該モータの回転角度を検知するエンコーダと、先端リンク６７に連結される連結部とが設けられている。尚、本実施形態では、ハンド２２は指２３を２本有するものとしているが、これには限られず、ワークＷを把持するために指の数は２本以上あればよい。
【００２１】
図２に示すように、制御装置４は、コンピュータにより構成され、ロボット本体２及び画像撮像装置３を制御するようになっている。制御装置４を構成するコンピュータは、例えばＣＰＵ４０と、各部を制御するためのプログラムを記憶するＲＯＭ４１と、データを一時的に記憶するＲＡＭ４２と、入出力インタフェース回路（Ｉ／Ｆ）４３とを備えている。
【００２２】
本実施形態では、ワークＷは、製品を構成する部品であり、上方から視て例えば直径５０ｍｍ程度の円形状としている。ワークＷは、パレット上に厳密な位置決めがされることなく置かれており、ハンド２２によりピックアップされ、製品組立てのため所定の位置まで搬送されるようになっている。ワークＷは、ハンド２２にピックアップされた状態では、どのような位置姿勢を取っているか不明である。このため、画像撮像装置３により連続撮影し、その中から最良の画像を抽出した後に、制御装置４での画像処理により位置姿勢を計測して、アーム２１により位置姿勢を修正された上で、例えば、他のワークに組み付けられるようになっている。
【００２３】
また、本実施形態では、ワークＷが撮像範囲の中心に位置する際に最良の画像が撮影されるように、照明装置等が設置されている。尚、撮影された画像において、ワークＷは、撮影背景及びハンド２２から識別され易いことが望まれる。このため、ワークＷと、撮影背景及びハンド２２とには、十分な輝度差があるようにする。例えば、ワークＷは輝度の高い白色等とし、撮影背景及びハンド２２は輝度の低い黒色等とする。
【００２４】
次に、本実施形態の特徴部である画像撮像装置３について、図２（ａ）に基づいて詳細に説明する。画像撮像装置３は、ロボット本体２から離隔して配置され、例えば、基台に支持された架台に固定されて支持されている。画像撮像装置３及びワークＷの照明装置等は、制御装置４に設けられた不図示のシーケンサからワークＷの搬送開始指示であるトリガ信号を受信することにより、作動するようになっている。また、画像撮像装置３及びワークＷの照明装置等は、トリガ信号が発せられる前は撮影及び照明点灯を行わない待機状態になっており、トリガ受信を検知できるだけの最小限の回路が起動されている。
【００２５】
画像撮像装置３は、ワークＷを連続撮影するカメラ部３０と、撮影された画像から最適な画像を抽出する画像抽出装置５０とを備えている。本実施形態では、これらカメラ部３０及び画像抽出装置５０は、１つの筐体に収容されており、単体のカメラとして動体を連続撮影して最適画像を出力するようになっている。また、本実施形態では、カメラ部３０が固定され、ワークＷが移動するように設置しているが、これには限られず、ワークＷが固定され、カメラ部３０が移動するようにしてもよい。即ち、カメラ部３０は、相対移動するワークＷを連続撮影可能になっていればよい。
【００２６】
カメラ部３０は、撮影光学系としてのレンズ３１と、該レンズ３１からの画像を取り込んで電気信号に変換する撮像素子３２とを備えている。レンズ３１と撮像素子３２とを組み合わせた光学系は、２００ｍｍ×２００ｍｍの撮影範囲を持つようにしている。撮像素子３２の連続撮影で得られた画像は、画像抽出装置５０に出力される。撮像素子３２としては、例えばＣＭＯＳイメージセンサを適用している。但し、これには限られず、ＣＣＤセンサ等を適用してもよい。
【００２７】
撮像素子３２は、ワークＷの特徴を十分に捉えることのできる解像度を有すると共に、ワークＷの搬送速度に対して十分早い撮像間隔（以下フレームレートという）で撮像可能になっている。例えば、撮像素子３２は、約４メガピクセル（２０４８×２０４８画素）の空間解像度を持ち、各画素は８ｂｉｔのｂｉｔ深度を持ち、１０対のＬＶＤＳ信号により画像を出力する。即ち、撮像光学系の画素分解能は、約１００μｍ×１００μｍである。撮像素子３２により４メガピクセルを出力する場合のフレームレートは、例えば１００ｆｐｓである。このカメラ部３０によれば、ワークＷが撮像範囲の外から内に入り、内から外に出るように直線状に移動する間、即ち２００ｍｍ移動する間に、連続撮影可能になっている。その連続撮影により１０枚の画像を得ることができ、より効率的に最適な画像を得ることができる。
【００２８】
撮像素子３２の撮影モードは、一定のフレームレートで連続的に画像を撮影する連続撮影モードを少なくとも有している。また、撮像素子３２は、ＳＰＩ（Ｓｅｒｉａｌ  Ｐｅｒｉｐｈｅｒａｌ  Ｉｎｔｅｒｆａｃｅ）等の通信を介して、内蔵されるレジスタへ設定値を書き込んだ上で、約４メガピクセルの精細画像を読み出すようになっている。撮像素子３２は、内蔵されるレジスタに書き込んだ設定値により、１／２×１／２（１画素飛ばし）、１／４×１／４（３画素飛ばし）等の間引き量で画像を間引きした低画質の間引き画像を読み出しできる。また、間引きした量に応じてフレームレートを高速化でき、例えば１／４×１／４の間引きであれば、例えばフレームレートは１６倍の２５６０ｆｐｓとなる。
【００２９】
画像抽出装置５０は、制御部５１及び記憶部５２を備えており、これらを搭載する電子回路基板からなる。これらは、電子回路基板上に実装されるＦＰＧＡデバイスの中の演算ブロックとして実装されている。ＦＰＧＡとは、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙである。演算ブロックは、周知のＨＤＬ言語でのハードウェア記述を基にした合成回路と、ＦＰＧＡが備えるマクロ回路とにより実装されている。
【００３０】
尚、本実施形態では、ＦＰＧＡにより演算ブロックを構成しているが、これには限られず、例えば、プログラムにより動作するコンピュータ（ＣＰＵやＭＰＵ等を含む）や、ＡＳＩＣ等を適用してもよい。ＡＳＩＣとは、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔである。これらの構成は、回路面積、コスト、演算速度等の性能のバランスを考慮した上で、適宜設計することができる。
【００３１】
制御部５１は、画像整列部５３と、差分画像計算部５４と、評価値演算部５５と、抽出判定部５６と、画像出力部５７とを備えている。記憶部５２は、テンプレートメモリ５８と、ＦＩＦＯメモリ５９とを備えている。
【００３２】
画像整列部５３は、カメラ部３０から出力された画素信号を後段の処理に使うことができるように整列させる回路であり、撮像素子３２の出力形式によって並べ替えを行うようになっている。例えば、高速カメラでは１クロックで複数の画素を同時に出力するものが主流であるが、この回路で順番を整えて後段に送りこむようになっている。画像整列部５３の出力は、差分画像計算部５４及びＦＩＦＯメモリ５９に送られる。
【００３３】
図２（ｂ）に示すように、ＦＩＦＯメモリ５９は、ＦＩＦＯ画像バッファ８０と、ＦＩＦＯ評価値バッファ９０とを備えている。ＦＩＦＯ画像バッファ８０は、所定数（深さ）としての４つの記憶領域８１〜８４を備えている。第１の記憶領域８１には最新の画像データが記憶され、第２の記憶領域８２，第３の記憶領域８３には、順次古い画像データが記憶され、第４の記憶領域８４には４つの記憶領域の中で最も古い画像データが記憶されている。即ち、ＦＩＦＯ画像バッファ８０は、１つの画像に関する画像関連データを所定数に限り記憶可能で、新たな画像関連データが書き込まれると最も古い画像関連データが消去されて更新されるようになっている。
【００３４】
具体的には、画像整列部５３からＦＩＦＯメモリ５９に画像データが入力されると、第３の記憶領域８３に記憶された画像データが第４の記憶領域８４に上書きされ、第４の記憶領域８４に記憶されていた画像データは破棄される。そして、第２の記憶領域８２に記憶された画像データが第３の記憶領域８３に上書きされ、第１の記憶領域８１に記憶された画像データが第２の記憶領域８２に上書きされる。更に、画像整列部５３からＦＩＦＯメモリ５９に入力された最新の画像データが、第１の記憶領域８１に記憶される。
【００３５】
また、ＦＩＦＯ評価値バッファ９０は、ＦＩＦＯ画像バッファ８０に一対一に対応して設けられ、ＦＩＦＯ画像バッファ８０と同様に、第１〜第４の記憶領域９１〜９４を備えている。ＦＩＦＯ評価値バッファ９０には、ＦＩＦＯ画像バッファ８０に記憶された各画像に対応する評価値が記憶されており、第１の記憶領域９１に新たな評価値が記憶されると、各評価値が第４の記憶領域９４まで順次繰り下がるようになっている。
【００３６】
図２（ａ）に示すように、テンプレートメモリ５８は、不揮発性の画像メモリで、撮影背景のテンプレート画像が保存されている。ここでのテンプレート画像は、ワークＷ及びハンド２２が撮像範囲に入らないようにして、計測時と同一のカメラ部３０を利用して予め撮影された画像、あるいはその画像にノイズフィルタやローパスフィルタ等を施した画像となっている。
【００３７】
差分画像計算部５４は、画像整列部５３からの画像と、テンプレートメモリ５８からのテンプレート画像との差分画像を計算するようになっている。これにより、移動するワークＷ以外の背景部分を除去することができる。尚、ノイズ成分は差分画像では取れないので、差分画像計算部５４の出力に適宜ローパスフィルタを掛けることも有効である。
【００３８】
評価値演算部５５は、差分画像計算部５４から出力された差分画像について、該差分画像におけるワークＷの位置に基づいて画像の評価値を演算するようになっている。即ち、評価値は、画像と個々に対応して生成される画像関連データである。この演算では、差分画像計算部５４の出力から０以外の部分、即ち移動するワークＷがある位置を特定するようになっている。具体的には、例えば、撮像範囲に入ってきたワークＷの重心位置を算出し、差分画像の中心点等の理想位置との距離を評価値として用いることができる。この場合、距離が小さい程、良好な画像であり、評価値を大きくする（図４参照）。
【００３９】
尚、評価値の演算方法としては、ワークＷの重心位置と差分画像の中心点との距離を算出することには限られない。例えば、差分画像と、予め撮影したワークＷが存在しない場合の画像と、の差分を評価値としてもよい。即ち、ハンド２２を含めたワークＷの大きさと、撮影画角がほぼ一致する場合は、ワークＷが撮影画像の中央部にあるときに、予め記憶されたワークＷが存在しない場合の画像との差異が最も大きくなる。このため、差分画像と、ワークＷが存在しない場合の画像との単純な差異（画素同士の差の符号を除いた値の和等）の大きさを評価値とすることができる。この場合は、差異が大きい程、良好な画像であり、評価値を大きくする。
【００４０】
あるいは、評価値演算部５５の演算能力が十分あるときには、撮像範囲の中心位置にサンプルのワークＷを停止させて撮影し、評価用テンプレート画像としてテンプレートメモリ５８に記憶しておく。そして、評価用テンプレート画像を用いて、正規化相関演算を行い、実際の測定時に連続撮影して得られた画像の評価値を演算するようにしてもよい。評価値演算部５５による演算結果は、ＦＩＦＯ評価値バッファ９０の第１の記憶領域９１に送信されて記憶される。
【００４１】
抽出判定部５６は、ＦＩＦＯ評価値バッファ９０の第１〜第４の記憶領域９１〜９４に記憶された評価値を読み出すようになっている。そして、抽出判定部５６は、第４の記憶領域９４に記憶された最古の評価値が所定の閾値よりも大きく、かつ第１〜第３の記憶領域９１〜９３に記憶された評価値よりも大きいか否かを判断するようになっている。抽出判定部５６が、第４の記憶領域９４に記憶された評価値が所定の閾値及び他の３つの評価値よりも大きいと判断した場合は、ＦＩＦＯ画像バッファ８０の第４の記憶領域８４に記憶された最古の画像を画像出力部５７に出力するようになっている。
【００４２】
画像出力部５７は、入力された画像データを、所定の画像伝送規約に基づいて制御装置４の入出力インタフェース回路４３に送信するようになっている。制御装置４では、入力された画像データに基づいてワークＷの位置姿勢を演算し、ワークＷを適切に移動させるようにロボット本体２を制御するようになっている。
【００４３】
次に、本実施形態のロボット装置１によってワークＷを把持して搬送する際に、画像撮像装置３によりワークＷを撮影してその位置姿勢を算出する動作の手順について、図３に示すフローチャートに沿って説明する。
【００４４】
ワークＷを搬送する前に、予めロボット本体２に教示を行っておく。ここでは、ハンド２２にワークＷを把持させ、ワークＷが画像撮像装置３の撮像範囲を一定速度で直線上を通過するよう、ロボット本体２に教示する。本実施形態では、ワークＷを把持したハンド２２が、撮像範囲を２０００ｍｍ／ｓの一定速度で移動し、ワークＷは撮像範囲の中心付近を通るように教示する。即ち、図４に示すように、ワークＷは、撮像範囲の左端において外から内に入り、右方向へ直線的に移動して中心を通過し、撮像範囲の右端において内から外へ出るように移動する。
【００４５】
画像撮像装置３及び照明装置等は、待機状態になっており、シーケンサからの搬送開始指示であるトリガ受信を検知できるだけの最小限の回路が起動されている。画像撮像装置３は、トリガ信号が入力されたか否かを判断する（ステップＳ１）。ロボット装置１の動作が開始されると、シーケンサからトリガ信号が出力される。画像撮像装置３がシーケンサからのトリガ信号を検知すると、カメラ部３０は連続撮影を開始すると共に（ステップＳ２）、照明装置が点灯される。また、シーケンサは、搬送作業中は、作業中フラグをオン状態にしている。
【００４６】
撮像素子３２により新しい画像が撮像されると（ステップＳ３）、画像データは画像整列部５３を経て、ＦＩＦＯ画像バッファ８０の第１の記憶領域８１に記憶される（ステップＳ４）。この直前に第１〜第３の記憶領域８１〜８３に記憶されていた画像データは、それぞれ第２〜第４の記憶領域８２〜８４に移動される。また、並行して、画像整列部５３から出力された画像データは、差分画像計算部５４においてテンプレート画像との差分を計算され、その結果から差分画像が算出される（ステップＳ５）。
【００４７】
差分画像計算部５４において算出された差分画像は評価値演算部５５に入力され、評価値演算部５５は差分画像の評価値を演算する（ステップＳ６、演算工程）。ここでは、評価値演算部５５は、差分画像におけるワークＷの重心位置を算出し、それが差分画像の中心位置と一致する場合を１０点、ワークＷが全て画像外にある場合を０点とし、その間は重心位置と中心位置との距離を１０等分して０〜１０点で評価する。例えば、図４に示すように、ｔ４ではワークＷが差分画像の中心位置付近にあるので９点、ｔ８ではワークＷが差分画像の外にあるので０点となっており、評価値が大きい程、好適な画像となっている。
【００４８】
評価値演算部５５において演算された評価値は、ＦＩＦＯ評価値バッファ９０の第１の記憶領域９１に書き込まれて記憶される（ステップＳ７、書込工程）。
【００４９】
抽出判定部５６は、ＦＩＦＯ評価値バッファ９０の第４の記憶領域９４に記憶された評価値、即ち最古の評価値が所定の閾値より大きいか否かを判断する（ステップＳ８）。抽出判定部５６が、最古の評価値が閾値より大きくはないと判断した場合は、次の画像が撮影されるまで待つ（ステップＳ３）。
【００５０】
抽出判定部５６が、最古の評価値が閾値より大きいと判断した場合は、ＦＩＦＯ評価値バッファ９０の第４の記憶領域９４に記憶された最古の評価値が、記憶された４つの評価値の中で最大か否かを判断する（ステップＳ９）。尚、ステップＳ３において新たな撮影が実行されて画像データの入力が検出されてから、次の画像データが入力されるまでに、ステップＳ９の判定が終了するように設定する。抽出判定部５６が、最古の評価値が、記憶された４つの評価値の中で最大ではないと判断した場合は、次の画像が撮影されるまで待つ（ステップＳ３）。
【００５１】
抽出判定部５６が、最古の評価値が、記憶された４つの評価値の中で最大であると判断した場合は、その時点でＦＩＦＯ画像バッファ８０の第４の記憶領域８４に記憶されている最古の画像データを抽出して出力する（ステップＳ１０、抽出工程）。出力された画像データは制御装置４に入力され、制御装置４は入力された画像データに基づいてワークＷの位置姿勢を演算し、その位置姿勢に基づいてロボット本体２の軌道演算を実行し制御する（ステップＳ１１）。
【００５２】
ここで、最古の評価値が、記憶された４つの評価値の中で最大であるか否かを判断することにより、自動的に連続撮影された複数枚の画像から適切な画像を選択することができる理由を、以下に説明する。
【００５３】
図４の左列は、カメラ部３０の前をワークＷが通過する際に撮像される画像を、ｔ１〜ｔ８の等間隔な時系列で示したものである。各画像の下には、それぞれの評価値を示している。また、図４の右列は、ｔ１〜ｔ８の各時点でのＦＩＦＯメモリ５９の記憶内容を示す。より詳細には、ＦＩＦＯ画像バッファ８０については、左側から右側に向けて第１〜第４の記憶領域８１〜８４、ＦＩＦＯ評価値バッファ９０については、左側から右側に向けて第１〜第４の記憶領域９１〜９４となっている。尚、図４では便宜上、ｔ８のＦＩＦＯメモリ５９を示しているが、実際にはｔ７で撮影が終了するので、ＦＩＦＯメモリ５９がｔ８に示すようになることはない。
【００５４】
処理を開始して、ｔ１〜ｔ６の時点では、ＦＩＦＯ評価値バッファ９０の第４の記憶領域９４の評価値が最大ではないので、それに対応する画像データは出力されない（ステップＳ９；ＮＯ）。そして、ｔ７の時点では、ＦＩＦＯ評価値バッファ９０の第４の記憶領域９４の評価値が最大になるので、それに対応する画像データが出力される（ステップＳ９；ＹＥＳ）。
【００５５】
即ち、ｔ７において初めて最古の評価値が最大になったということは、ｔ１〜ｔ６での各最古の評価値は全てｔ７での最古の評価値より小さかったということである。しかも、ｔ７の時点でｔ７の後の撮影で３回分の評価値も、全てｔ７での最古の評価値より小さいということである。従って、ｔ７での最古の評価値がピークであり、この評価値の画像が一連の画像で最も好適な画像となる。このようにして、自動で最適な画像を選択することができるようになる。
【００５６】
尚、ワークＷが撮像範囲に入る直前等で評価値が小さい場合には、条件によっては、ノイズ成分によって新しい画像程、評価値が小さくなる可能性がある。このような場合に、上述したステップＳ９のみのアルゴリズムを単純に適用すると、好適ではない画像を出力してしまう虞がある。そこで、本実施形態では、ノイズレベルより大きい一定の値を所定の閾値として足切りすることによってそのような誤動作を防いでいる（ステップＳ８）。
【００５７】
特許文献１に示されるような従来例では、撮像範囲内にワークが全て入って撮影されれば、それ以降により好適な画像を取得できる可能性があっても最初に入った時点での画像データが出力されてしまっていた。これに対し、本実施形態では、正しく評価値がピークとなる画像を検出して、出力することができる。
【００５８】
また、実際にピークの画像を撮影してから、当該画像がピークであると判断できるまでの遅延は、撮像素子３２のフレームレートとＦＩＦＯメモリ５９の深さで決まる。例えば、１秒間に１００枚撮影できる能力のある撮像素子３２でフレームレートを１０ｍｓｅｃとし、ＦＩＦＯメモリ５９の深さ（段数）を本実施形態のように４とすると、撮影回数で３回分遅れるので、遅延は３０ｍｓｅｃとなる。
【００５９】
ここで、計測位置でのワークＷの速度を２ｍ／ｓとすると、３０ｍｓｅｃでのワークＷの移動量は６０ｍｍである。搬送距離が５００ｍｍ程度である一般的なロボット本体２の場合は、加減速も含めて全搬送時間が３００ｍｓｅｃ程度であるので、移動距離及び時間とも十分な余裕がある。
【００６０】
また、図５に、図４とは別の連続撮影での時刻と評価値との関係を示す。図５に示すように、評価値の系列に真の好適値でない所謂マイナーピーク（ｔ４及びｔ１２）が生じていても、ＦＩＦＯメモリ５９の深さを適切に設定すれば、最適な画像を自動で選択することが可能である。このように、マイナーピークが発生し易い状況として、例えば、図６（ａ）に示すように、ワークＷが複数の類似形状を隣接して有する場合がある。あるいは、図６（ｂ）に示すように、ハンド２２の指２３のような把持あるいは搬送のための部材がワークＷと類似形状をしていて評価値が影響を受ける場合がある。
【００６１】
次に、図５に示す場合で、ＦＩＦＯメモリ５９の深さを４とした本実施形態の効果を説明する。この条件では、ｔ４でマイナーピークが生じていても、その後、３回続けてｔ４より評価が小さい画像が取得されなければ、ｔ４での画像が出力されることはない。即ち、図５の例の場合、ｔ７の時点では、ｔ４の評価値が最古であり、それはｔ５の評価値より大きいが、ｔ７で得られた最新の評価値はｔ４よりも大きいので、結局ｔ４の評価値は出力されない。また、ｔ１２でもマイナーピークが生じているが、真のピークがｔ９にあり、ｔ１２において撮影が終了しているので、ｔ１２の画像が出力されることはない。
【００６２】
図３に示すように、ＦＩＦＯ画像バッファ８０の第４の記憶領域８４に記憶されている最古の画像データを出力した後は、連続撮影を停止して、ＦＩＦＯメモリ５９を一旦リセットする（ステップＳ１２）。更に、画像撮像装置３は待機状態になり、トリガ受信を検知だけ可能な低消費電力状態となる（ステップＳ１３、撮影停止工程）。尚、本実施形態では、ステップＳ１２及びステップＳ１３が、本発明の撮影停止工程に相当する。そして、画像撮像装置３は、シーケンサから出力される作業中フラグがオンであるか否かを検出する（ステップＳ１４）。画像撮像装置３は、作業中フラグがオンであることを検出した場合は、再度、連続撮影を開始する（ステップＳ２）。例えば、全てのワークＷが通過し、作業中フラグがオフであると、作業は終了する。
【００６３】
上述したように本実施形態の画像撮像装置３によれば、制御部５１が、連続撮影により得られた画像ごとに、各画像におけるワークＷの位置に基づいて評価値を演算し、それを、評価した画像の画像関連データとして記憶部５２に書き込む。そして、制御部５１は、記憶部５２に書き込まれた評価値の中で、最も古い画像の評価値が最大値である場合に、その最も古い画像を記憶部５２から抽出する。このため、センサ等の部品点数を増加させることなく、移動するワークＷを連続撮影した複数の画像の中から最良な画像を抽出することができる。
【００６４】
また、本実施形態の画像撮像装置３によれば、評価値が所定の閾値より大きくなければ、その画像は選択されないので、例えば、ワークＷが撮像範囲に入る前の状態での誤検知を防ぐことができる。また特許文献１に示された例と異なり、厳密に設定する必要はないため、緩く設定すればよく条件設定が簡単で、この処理によって取りこぼす虞もない。
【００６５】
また、本実施形態の画像撮像装置３によれば、最適な画像を出力した後に、撮影を停止している。このため、ワークＷが通過する際の連続撮影時間を必要最小限にして、消費電力の増大による発熱等を抑えることができ、作業中に常時連続撮影する場合と比較して消費電力を半分程度に抑えることができる。即ち、通常、移動体の撮影では露光時間を短くしなければならないため、強い照明が必要で電力を消費し発熱を起こす。特に、連続撮影を行う際は処理回路の動作速度が速いため大きな電力を消費し、大きな発熱があり得た。これに対し、本実施形態によれば発熱を緩和することができる。
【００６６】
尚、上述した実施形態では、連続撮影を開始するトリガとしてシーケンサからの搬送開始指示を適用する場合について説明したが、これには限られない。例えば、ワークＷが撮像範囲に近づいたことを光センサ等で得て、連続撮影を開始するようにしてもよい。この場合、シーケンサを利用するよりも消費電力を低減することができる。
【００６７】
また、上述した実施形態では、ＦＩＦＯメモリ５９の深さを４とした場合について説明したが、これには限られず、２以上であればよい。深さの設定は、メモリの大きさや遅延時間、評価関数等に関係するため、コストや要求処理速度に応じて適宜設定する。
【００６８】
また、上述した実施形態では、記憶部５２としてＦＩＦＯメモリ５９を適用した場合について説明したが、これには限られない。例えば、通常のＲＡＭを利用し、制御回路によって複数の記憶領域に分割すると共に、各記憶領域ごとに時系列の順にデータが書き込まれ、古いデータから廃棄されるように制御することで、本実施形態のＦＩＦＯメモリ５９と同様の構成を実現することができる。
【００６９】
また、上述した実施形態では、生産システムとしてロボット装置１を適用すると共に、搬送機器としてロボット本体２を適用した場合について説明したが、これには限られない。即ち、本発明の画像撮像装置は、ワークＷを搬送可能な搬送機器を有する生産装置を備える生産システムの全般に適用することができる。
【００７０】
また、上述した実施形態では、制御部５１は、ＦＰＧＡから構成された場合について説明したが、これには限られない。例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、各種インタフェースを有するコンピュータにより、制御部５１を構成するようにしてもよい。
【００７１】
この場合、本実施形態の各処理動作は、具体的には制御部５１により実行される。従って、上述した機能を実現するソフトウェアの画像抽出プログラムを記録した記録媒体を制御部５１に供給し、記録媒体に格納された画像抽出プログラムを各ＣＰＵが読み出し実行することによって達成されるようにしてもよい。この場合、記録媒体から読み出されたプログラム自体が上述した実施形態の機能を実現することになり、プログラム自体及びそのプログラムを記録した記録媒体は本発明を構成することになる。
【００７２】
また、上述した例では、コンピュータ読み取り可能な記録媒体がＲＯＭであり、ＲＯＭにプログラムが格納される場合について説明したが、これに限定するものではない。プログラムは、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラムを供給するための記録媒体としては、ＨＤＤ、外部記憶装置、記録ディスク等を用いてもよい。
【符号の説明】
【００７３】
１…ロボット装置（生産システム）、２…ロボット本体（生産装置、搬送機器）、３…画像撮像装置、２２…ハンド（把持ツール）、３０…カメラ部、５０…画像抽出装置、５１…制御部、５２…記憶部、５９…ＦＩＦＯメモリ（記憶部）、Ｗ…ワーク（撮影対象物）
【図１】
2015032231.tif 000003
【図２】
2015032231.tif 000004
【図３】
2015032231.tif 000005
【図４】
2015032231.tif 000006
【図５】
2015032231.tif 000007
【図６】
2015032231.tif 000008