(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024147193
(43)【公開日】2024-10-16
(54)【発明の名称】投影制御装置、投影システム、投影制御方法及びプログラム
(51)【国際特許分類】
G09G 5/00 20060101AFI20241008BHJP
G09G 5/37 20060101ALI20241008BHJP
H04N 5/74 20060101ALI20241008BHJP
G06T 7/00 20170101ALI20241008BHJP
G06T 1/00 20060101ALI20241008BHJP
【FI】
G09G5/00 510D
G09G5/00 510B
G09G5/37 320
G09G5/00 550C
H04N5/74 Z
G06T7/00 610Z
G06T1/00 300
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023060051
(22)【出願日】2023-04-03
(71)【出願人】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】100095407
【弁理士】
【氏名又は名称】木村 満
(72)【発明者】
【氏名】松原 邦裕
【テーマコード(参考)】
5B057
5C058
5C182
5L096
【Fターム(参考)】
5B057AA02
5B057CB01
5B057CE08
5C058BA35
5C058EA02
5C182AA04
5C182AB02
5C182AC03
5C182BA01
5C182BA03
5C182BA04
5C182BA14
5C182BC03
5C182CA32
5C182CB44
5C182CC21
5C182DA05
5C182DA06
5C182DA14
5C182DA62
5C182DA64
5L096BA03
5L096GA19
5L096GA40
(57)【要約】
【課題】検査対象を検査した結果が変化したか否かを確認する。
【解決手段】投影制御装置200は、検査対象が載置されている撮像エリアであって、複数の領域に分割された撮像エリアの領域毎に検査対象の状態を検査した結果である検査結果を取得し、検査結果に基づいて、投影部によって撮像エリアに重ねて投影される投影画像を、分割された領域に対応する投影画像の領域毎に更新する、制御部110を備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
検査対象が載置されている撮像エリアであって、複数の領域に分割された前記撮像エリアの領域毎に前記検査対象の状態を検査した結果である検査結果を取得し、
前記検査結果に基づいて、投影部によって前記撮像エリアに重ねて投影される投影画像を、前記分割された領域に対応する前記投影画像の領域毎に更新する、
制御部を備える、
投影制御装置。
【請求項2】
前記制御部は、
不良を示す検査結果が取得された領域に対応する前記投影画像の領域に不良を示すマーキング画像を書き込む、
請求項1に記載の投影制御装置。
【請求項3】
前記制御部は、
前記分割された領域の1つである第1領域の検査結果を取得したら、前記分割された領域の1つであって前記第1領域以外の領域である第2領域の検査結果を取得する前に、前記第1領域に対応する前記投影画像の領域に、前記第1領域の検査結果に基づく画像を書き込む、
請求項1に記載の投影制御装置。
【請求項4】
前記投影画像が投影される領域が前記撮像エリアに一致する、
請求項1に記載の投影制御装置。
【請求項5】
前記制御部は、
前記分割された領域を所定の順序で検査する、
請求項1に記載の投影制御装置。
【請求項6】
前記検査対象は、搬送部によって搬送され、
前記制御部は、
前記分割された領域を搬送の下流から上流に向かう順序で検査する、
請求項5に記載の投影制御装置。
【請求項7】
前記検査対象は、搬送部によって搬送され、
前記制御部は、
搬送の上流における前記分割された領域の1つである第1検査領域の検査対象を検査した結果が所定の条件を満たした場合だけ、搬送の下流であって前記第1検査結果が得られた前記検査対象が搬送される領域である第2検査領域における前記検査対象の状態を検査した結果である検査結果を取得する、
請求項1に記載の投影制御装置。
【請求項8】
前記検査対象は、搬送部によって搬送され、
前記制御部は、
前記検査結果が取得された領域に対応する前記投影画像の領域に前記検査結果に基づくマーキング画像を書き込み、
搬送の上流における前記分割された領域の1つである第1検査領域の検査対象を検査した結果である第1検査結果と、搬送の下流であって前記第1検査結果が得られた前記検査対象が搬送される領域である第2検査領域における前記検査対象の状態を検査した結果である第2検査結果と、を取得し、
前記第1検査結果と前記第2検査結果とに基づいて前記マーキング画像の色を変更する、
請求項1に記載の投影制御装置。
【請求項9】
前記検査対象は、搬送部によって搬送され、
前記制御部は、
搬送の上流における前記分割された領域の1つである第1検査領域の検査対象を検査した結果が前記検査対象の不良を示した場合に、搬送の下流であって前記第1検査結果が得られた前記検査対象が搬送される領域である第2検査領域を検査し、
前記検査対象が存在しないこと又は作業者の手が検出された場合、前記第2検査領域に対応する投影画像に含まれていた不良を示す前記マーキング画像を消去する、
請求項2に記載の投影制御装置。
【請求項10】
請求項1から9のいずれか1項に記載の投影制御装置と、
前記撮像エリアを撮像する検出部と、
前記投影画像を投影する前記投影部と、
を備え、
前記制御部は、
前記検出部で撮像して取得した情報に基づいて前記分割された前記撮像エリアの領域毎に前記検査結果を取得し、
前記検査結果に基づいて、前記投影画像を、前記分割された領域に対応する前記投影画像の領域毎に更新し、
前記投影画像を前記投影部で投影する、
投影システム。
【請求項11】
制御部が、
検査対象が載置されている撮像エリアであって、複数の領域に分割された前記撮像エリアの領域毎に前記検査対象の状態を検査した結果である検査結果を取得し、
前記検査結果に基づいて、投影部によって前記撮像エリアに重ねて投影される投影画像を、前記分割された領域に対応する前記投影画像の領域毎に更新する、
投影制御方法。
【請求項12】
制御部に、
検査対象が載置されている撮像エリアであって、複数の領域に分割された前記撮像エリアの領域毎に前記検査対象の状態を検査した結果である検査結果を取得し、
前記検査結果に基づいて、投影部によって前記撮像エリアに重ねて投影される投影画像を、前記分割された領域に対応する前記投影画像の領域毎に更新する、
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、投影制御装置、投影システム、投影制御方法及びプログラムに関する。
【背景技術】
【0002】
従来から、検査対象物をカメラで撮影して欠陥の有無を検査する装置が開発されている。例えば特許文献1には、検査対象を搬送し、検査テーブルにおいてカメラで撮影して欠陥を検出し、確認テーブルにおいて投影部で欠陥位置にマークを投影する欠陥位置検出装置等が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に開示されている従来の欠陥位置検出装置においては、検査対象は欠陥を検出するエリア(検査テーブル)を経由して、欠陥位置を表示するエリア(確認テーブル)に搬送される。そして、検査テーブルと確認テーブルは場所が異なっており、検査対象は、確認テーブルに搬送された後(欠陥位置が表示された後)に、再度検査テーブルに戻ることはなかった。このため、従来は、検査対象を検査した結果の変化(例えば欠陥が除去されたか否か)を確認することはできなかった。
【0005】
本発明は上記実情に鑑みてなされたものであり、検査対象を検査した結果が変化したか否かを確認することができる投影制御装置、投影システム、投影制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明に係る投影制御装置の一態様は、
検査対象が載置されている撮像エリアであって、複数の領域に分割された前記撮像エリアの領域毎に前記検査対象の状態を検査した結果である検査結果を取得し、
前記検査結果に基づいて、投影部によって前記撮像エリアに重ねて投影される投影画像を、前記分割された領域に対応する前記投影画像の領域毎に更新する、
制御部を備える。
【発明の効果】
【0007】
本発明によれば、検査対象を検査した結果が変化したか否かを確認することができる。
【図面の簡単な説明】
【0008】
【
図1】実施の形態に係る投影システムの構成例及び使用時のイメージを示す図である。
【
図2】実施の形態に係る投影システムの機能構成の一例を示す図である。
【
図3】搬送部に設定される搬送情報の一例を示す図である。
【
図4】搬送部から出力される搬送信号の一例を示す図である。
【
図5】搬送前後の検査物の状態の一例を説明するための図である。
【
図6】撮像エリアが複数の検査領域に分割されていることを説明するための図である。
【
図7】各検査領域の領域座標の設定の一例を説明するための図である。
【
図8】実施の形態に係る検査処理のフローチャートの一例である。
【
図9】搬送される直前の検査物、画像メモリ、投影のイメージを説明するための図である。
【
図10】実施の形態に係る搬送開始割込処理のフローチャートの一例である。
【
図11】搬送されて停止した直後の検査物、画像メモリ、投影のイメージを説明するための図である。
【
図12】実施の形態に係る投影割込処理のフローチャートの一例である。
【
図13】搬送された後の搬送停止中の検査物、画像メモリ、投影のイメージを説明するための図である。
【発明を実施するための形態】
【0009】
実施の形態に係る投影システム等について、図面を参照して説明する。なお、図中同一又は相当する部分には同一符号を付す。
【0010】
(実施の形態)
実施の形態に係る投影システム100は、例えば
図1に示すように、検出装置としての3D(Dimensional)カメラ240と投影装置としてのプロジェクタ250と搬送装置としてのコンベヤ260とが、投影制御装置としてのPC(Personal Computer)210に接続されて構成される。
【0011】
コンベヤ260は搬送ライン300を備え、搬送ライン300で多数の検査物310を搬送する。搬送ライン300の作業エリア301内の検査物310に不良品が存在した場合、作業者400は当該不良の検査物310を除去したり交換したりする。
【0012】
投影システム100は、PC210で制御され、作業エリア301を3Dカメラ240で撮影して検査物310を検査し、検査の結果、不良と判定された検査物310(検査結果が不良だった検査物310)にはその検査物310の位置にプロジェクタ250でマーキング画像320を投影する。したがって、作業者400は、マーキング画像320が投影された検査物310を取り除いたり交換したりして、不良品の検査物310が搬送ライン300の下流に搬送されないようにする。
【0013】
作業者400がこの作業を行う際には、搬送ライン300が停止していた方が作業しやすい。そこで、搬送ライン300は、所定の単位(
図1では、5行×4列の合計20個の検査物310で構成されるブロック)毎に搬送され、所定の時間の停止と搬送とを繰り返す間欠動作を行う。
【0014】
投影システム100は、例えば
図1に示すように、PC210に、3Dカメラ240がUSB(Universal Serial Bus)で接続され、プロジェクタ250がHDMI(登録商標)(High-Definition Multimedia Interface)で接続され、コンベヤ260がUSBで接続されて構成される。
【0015】
実施の形態に係る投影システム100及び投影制御装置200は、機能構成としては、
図2に示すように、投影制御装置200が制御部110、記憶部120、操作入力部130を備え、投影システム100はこれらに加えて検出部140、投影部150、搬送部160を備える。例えば投影制御装置200となるPC210が制御部110、記憶部120、操作入力部130に対応し、3Dカメラ240が検出部140に対応し、プロジェクタ250が投影部150に対応し、コンベヤ260が搬送部160に対応する。もっとも、投影システム100が備える各装置のうち、どの装置をこれらの各機能構成部に対応させるかは任意である。例えば、投影制御装置200を操作入力部130に対応させずに、プロジェクタ250を操作入力部130と投影部150に対応させてもよい。
【0016】
制御部110は、例えばCPU(Central Processing Unit)等のプロセッサで構成される。制御部110は、記憶部120に記憶されているプログラムにより、投影システム100の各種機能を実現する処理や後述する検査処理等を実行する。また、制御部110はタイマ機能を備え、時間を計測することができる。また、制御部110はマルチスレッドに対応し、複数の処理を並行して実行することができる。
【0017】
記憶部120は、制御部110が実行するプログラムや、必要なデータを記憶する。記憶部120は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等を含み得るが、これらに限られるものではない。なお、記憶部120は、制御部110の内部に設けられていてもよい。
【0018】
また、記憶部120は、後述する投影部150のビデオメモリに転送するデータを格納するための領域(画像メモリ)を備える。
【0019】
操作入力部130は、キーボード、マウス、押しボタンスイッチ等のユーザインタフェースを備え、ユーザからの操作入力を受け付ける。
【0020】
検出部140は画像情報(2次元情報)と画像情報に含まれる各ピクセルの深度情報(検出部140のカメラからの距離の情報)とからなる3次元データを取得できる3Dカメラ240を備え、3Dカメラ240で撮像可能なエリア(撮像エリア)の点群の情報を取得する。本実施の形態では、撮像エリアは、検査物310が配置されている作業エリア301と一致するように設定されるので、検出部140は、作業エリア301内の点群の情報を取得する。この点群の情報に基づき、制御部110は各検査物310の不良の有無を検出する。なお、
図1に示す例では、投影システム100は検出部140として3Dカメラ240を備えることとしたが、検出部140は必ずしも3Dカメラ240を備えなければならないわけではない。制御部110が検査物310の不良の有無を判定するための情報を検出部140で取得可能であるなら、検出部140は、3Dカメラ240に代えて任意のセンサを備えることができる。
【0021】
投影部150はプロジェクタ250(投影装置)であり、投影用の光を放射する光源、投影する画像(投影画像)の情報を記憶するビデオメモリ、投影画像を表示する投影デバイス、投影面に投影画像を結像するためのレンズユニット等を備える。光源、投影デバイス等の方式は任意である。ビデオメモリの内容が更新されると、それに応じて投影画像も更新される。本実施の形態では、投影部150で投影画像が投影される領域が作業エリア301に一致するように予めレンズユニットの調整が行われる。上述したように、撮像エリアも作業エリア301と一致するように設定されているので、投影部150による投影画像は撮像エリアに重ねて投影されることになる。
【0022】
搬送部160は、搬送ライン300を動かすモータ等を備えたベルトコンベヤであり、搬送ライン300に載置されている検査物310(検査対象)を上流から下流に搬送する。搬送の開始、停止や搬送速度については、制御部110で制御可能である。また、搬送モードとして間欠搬送モードが用意されており、このモードでは、
図3に示す搬送情報(搬送時間、停止時間、搬送量)に応じて自動的に間欠搬送が行われる。すなわち、停止時間の時間だけ停止した後に、搬送時間の時間をかけて搬送量の距離だけ搬送ラインを上流から下流に搬送する動作を繰り返し行う。
【0023】
そして、搬送が行われているか否かを示す信号(搬送信号)が、搬送部160から制御部110に出力される。
図4に示すように、搬送中(搬送時間の間)は、搬送信号がHになり、搬送中であることを示す。また、搬送が停止している間は搬送信号がLになり、停止中であることを示す。
【0024】
搬送情報のうち、搬送時間Tmは例えば5秒である。また、停止時間Tsは例えば25秒である。また、搬送量Ltは例えば1mである。これらの値はデフォルト値が予め搬送部160に設定されているが、制御部110が搬送部160に対して設定することで変更することも可能である。
【0025】
また、投影システム100は、設置される際に、投影部150における座標(プロジェクタ座標)と検出部140における座標(カメラ座標)との対応を取るために、キャリブレーション処理が行われる。
【0026】
キャリブレーション処理をどのように行うかは任意だが、例えば、まず市松模様のチェック画像を投影部150(プロジェクタ250)で作業エリア301に投影して、投影された画像を検出部140(3Dカメラ240)で撮影する。そして、制御部110は、撮影した画像中の各交点の座標(カメラ座標)と、元のチェック画像中の各交点の座標(プロジェクタ座標)とを対応させる。この両座標の対応に基づき、投影システム100は、作業エリア301上のある領域(カメラ座標で表される領域)に投影するには、どのような画像(プロジェクタ座標で表される画像)を投影すればよいか等、プロジェクタ座標とカメラ座標の対応関係の情報を取得することができる。
【0027】
搬送装置による具体的な搬送の様子を
図5に示す例を参照して説明する。この例では、検査物310は、5行×4列の合計20個の検査物310で構成されるブロック毎に検査及び搬送が行われている。まず、搬送停止中(Ts時間)の間は、
図5の(1)に示されるように、作業エリア301(すなわち撮像エリア)に検査物310が1番目から40番目まで載置されており、これらの各検査物310が順にスキャンされて不良か否かが検出される。
【0028】
制御部110がこれらの各検査物310を1つずつ順番にスキャンするために、検出部140が撮影する撮像エリア(すなわち作業エリア301)の画像データは、
図6に示すように、複数(本実施の形態では40個)の検査領域に分割される。そして、N番目の検査物310が載置されている位置に対応する検査領域がN番目の検査領域となるように、領域番号1番から40番までの検査領域が設定される。なお、撮像エリアを分割して設定される各検査領域については、予め記憶部120に、
図7に示すようなデータとして、領域番号毎の検査領域の座標(領域座標)が記憶されている。
【0029】
したがって、制御部110は、N番目の検査物310をスキャンする場合、検出部140から取得したデータのうち、N番目の検査領域(領域番号がNの検査領域)のデータ(画像データ又は点群データ)を検査物310の正常データと比較して、N番目の検査物310が不良であるか否かを判定する。そして、本実施の形態においては、制御部110は、このようなスキャンをN=1から40まで順次行って、各検査物310の状態を判定(検査結果を取得)していく。なお、検査物310の状態の判定においては、不良か否かの判定に限らず、所定の条件を満たすか否かの判定を行ってもよい。例えば、検査物310の状態に応じて「優良、良、普通、可、不良」のように3段階以上で評価判定してもよいし、不良か否かの判定が困難かどうかを判定してもよい。
【0030】
また、検査物310の正常データとは、正常な(不良でない)検査物310の画像データ又は点群データである。検査物310の不良判定を画像データで行える場合には、正常データは画像データであり、制御部110は画像認識により各検査物310に対応する検査領域の画像データと正常データの画像データとを比較して当該検査物310が正常か否かを判定する。検査物310が不良か否かを立体的に判定する必要がある場合には、正常データは点群データであり、制御部110は各検査物310に対応する検査領域の点群データと正常データの点群データとを比較して当該検査物310が正常か否かを判定する。
【0031】
検査物310(や検査領域)をどのように番号付けするかは任意であるが、例えば
図5の(1)(や
図6)に示すように、搬送ライン300の下流から上流に向かう順序で番号を割り振ることが望ましい。これにより、制御部110は、検査領域を下流から上流に向かう順序で検査することができるので、作業エリア301の外に搬送される時間が早い(先に作業エリア301の外に搬送される)検査物310から先に検査を行うことができる。
【0032】
そして、搬送動作により搬送時間(Tm時間)の間に搬送量(Lt)だけ搬送ライン300上の検査物310が搬送される。これにより
図5の(2)に示されるように、1番目から20番目の検査物310は作業エリア301の外に移動する。そして、この状態で停止時間(Ts時間)の間、搬送ライン300は停止する。搬送ライン300が停止している間に、作業エリア301内を検査するために、制御部110は
図5の(3)に示されるように、検査物310の番号を振り直す。そして、1番目の検査物310に対応する領域番号1の検査領域から再度スキャンが開始される。
【0033】
投影システム100は、搬送部160で検査物310を搬送するとともに、停止時間において上述のように検査物310を順次スキャンし、不良が検出されたらその検査物310の位置にマーキング画像320を投影する。この検査処理について、
図8を参照して説明する。この処理は、投影システム100が起動されたときや、ユーザにより検査処理の開始が指示されたときに開始される。
【0034】
まず、制御部110は、機器設定を初期化する(ステップS101)。このステップで、制御部110は、検出部140及び投影部150を初期化し、搬送部160に搬送情報を設定して搬送を開始させる。これにより、投影部150で投影される画像の情報が記憶されている(記憶部120の)画像メモリ及び(投影部150の)ビデオメモリの内容はクリアされ、搬送情報に従って間欠的に搬送ライン300の搬送が行われる。また、このステップで制御部110は、搬送開始割込と投影割込を設定する。搬送開始割込は、搬送部160が搬送を開始する時(搬送信号がHになる時)に発生し、この割込信号を受けると制御部110は、後述する搬送開始割込処理の実行を開始する。また、投影割込は、垂直同期信号のタイミング(例えば1/60秒毎)で発生し、この割込信号を受けると制御部110は、後述する投影割込処理の実行を開始する。
【0035】
次に、制御部110は、スキャンする検査物310(すなわち検査領域)の番号を示す変数Nを1に初期化する(ステップS102)。なお、後述する搬送開始割込処理から戻る際は、制御部110は、ステップS102から処理を再開する。
【0036】
そして、制御部110は、検出部140からの情報に基づき、N番目の検査領域をスキャンし、N番目の検査物310が不良か否かを判定する(ステップS103)。N番目の検査物310が不良なら(ステップS103;Yes)、制御部110は、N番目の検査領域に対応する画像メモリの領域にマーキング画像320が書き込まれているか否かを判定する(ステップS104)。対応する領域にマーキング画像320が書き込まれているなら(ステップS104;Yes)、ステップS108に進む。
【0037】
対応する領域にマーキング画像320が書き込まれていないなら(ステップS104;No)、制御部110は、その検査物310に対応する位置(N番目の検査領域)にマーキング画像(状態表示画像)320が投影されるように画像メモリ中(のN番目の検査領域に対応する領域)にマーキング画像320を書き込み(ステップS105)、ステップS108に進む。
【0038】
一方、N番目の検査物310が不良でないなら(ステップS103;No)、制御部110は、N番目の検査領域に対応する画像メモリの領域にマーキング画像320が書き込まれているか否かを判定する(ステップS106)。対応する領域にマーキング画像320が書き込まれていないなら(ステップS106;No)、ステップS108に進む。
【0039】
対応する領域にマーキング画像320が書き込まれているなら(ステップS106;Yes)、制御部110は、その検査物310に対応する位置(N番目の検査領域)にマーキング画像320が投影されないように画像メモリ中(のN番目の検査領域に対応する領域)のマーキング画像320を消去し(ステップS107)、ステップS108に進む。なお、マーキング画像320の更新(有無判定(ステップS104,S106)、書き込み(ステップS105)及び消去(ステップS107))の際は、制御部110は、後述する投影範囲読出位置を考慮して、更新する画像メモリのアドレス(位置)を調整する必要がある。
【0040】
そして、制御部110は、Nに1を加算し(ステップS108)、Nの値が検査領域数(
図5に示す例では40)より大きいか否かを判定する(ステップS109)。Nの値が検査領域数以下なら(ステップS109;No)、ステップS103に戻る。一方、Nの値が検査領域数より大きいなら(ステップS109;Yes)、制御部110はスキャン位置を先頭に戻すためにNを1に初期化して(ステップS110)、ステップS103に戻る。
【0041】
この検査処理により、搬送が停止している間に、制御部110は、検査物310の不良検査とマーキング画像320を生成する処理を、1番目の検査領域から順番に実行し、全ての検査領域に対して処理を終えたら、再度1番目の検査領域から処理を繰り返すことになる。そして、生成されたマーキング画像320は、投影割込処理により作業エリア301に投影される。
【0042】
例えば、
図9に示す例では、5行×4列の合計20個の検査物310のブロックが2ブロック分、作業エリア301に載置されており、N番目の検査物310はN番目の検査領域に位置している。制御部110は、ステップS103でN番目の検査物310の不良の有無を判定し、判定結果に応じて記憶部120の画像メモリ中のN番目の検査物310の載置位置に対応する領域にマーキング画像320を書き込んだり(ステップS105)、消去したり(ステップS107)してマーキング画像320を更新する。
【0043】
そして、上述の投影割込が発生すると、制御部110は、検査処理の実行を中断し、投影割込処理を開始する。これにより、画像メモリの内容が、投影範囲読出位置から投影部150のビデオメモリに転送され、不良の検査物310の位置にマーキング画像320が投影される。つまり、画像メモリの内容が投影部150で投影されて1枚の投影画像になるが、この投影画像は
図9に示すように40個の検査物310の全てをカバーしている。そして、この投影画像は、各検査物310に対応する領域毎に(マーキング画像320の更新により)更新される。
【0044】
また、上述の搬送開始割込が発生すると、制御部110は、検査処理の実行を中断し、搬送開始割込処理を開始する。これにより、画像メモリの内容のうち、搬送によって作業エリア301の外に出る検査物310に対応する領域がクリアされ、搬送によって移動した分、投影範囲読出位置が変更される。
【0045】
この搬送開始割込処理について、
図10を参照して説明する。搬送信号がHになると(すなわち、搬送部160が搬送ライン300の搬送を開始すると)、搬送開始割込が発生し、搬送開始割込処理が開始される。
【0046】
まず、制御部110は、搬送部160が搬送ライン300を搬送すると投影範囲外になる画像メモリの領域をクリアする(ステップS201)。この搬送により、搬送ライン300はLtだけ移動し、例えば
図5の(1)の状態から(2)の状態に遷移する。したがって、上述の例の場合は、
図11に示すように、搬送ライン300が検査物310の1ブロック(5行×4列の合計20個)分だけ移動して、画像メモリの1番目から20番目の検査物310に対応していた領域302が、クリアされる。なお、投影範囲外になる画像メモリの領域がどのような領域になるかについては、検査物310の配置情報と搬送量Ltとに基づいて制御部110が算出してもよいし、予め記憶部120に記憶しておくこととしてもよい。
【0047】
そして、制御部110は、画像メモリ上の投影範囲読出位置を変更する(ステップS202)。
図9及び
図11に示す例で説明すると、投影範囲読出位置は、搬送ラインが移動する前は
図9に示すように、画像メモリの右上であった。そして、搬送ラインが検査物310の1ブロック(5行×4列の合計20個)分だけ移動すると、その移動した分に応じて投影範囲読出位置が変更されて、
図11に示すように、画像メモリの中央上部になる。
【0048】
そして、制御部110は、搬送部160がまだ搬送ライン300を搬送中であるか否かを判定する(ステップS203)。これは搬送部160から出力される搬送信号がHのままになっているかを制御部110が確認することで判定可能である。搬送中なら(ステップS203;Yes)、ステップS203に戻る。
【0049】
搬送中でないなら(ステップS203;No)、搬送開始割込処理を終了して、検査処理のステップS102に戻る。これにより、制御部110は、また1番目の検査物310からスキャン(検査)を再開する。
【0050】
次に、投影割込処理について
図12を参照して説明する。垂直同期信号(フレーム信号)により、所定の間隔(例えば1/60秒)で投影割込が発生し、投影割込処理が開始される。
【0051】
まず、制御部110は、投影部150での投影を停止させる(ステップS301)。画像メモリの内容をビデオメモリに転送している間に投影される画像が乱れるのを防ぐためである。
【0052】
そして、制御部110は、画像メモリの投影範囲読出位置のアドレスを変数GAに、投影部150のビデオメモリの先頭アドレスを変数VAにセットする(ステップS302)。
【0053】
そして、制御部110は、画像メモリのアドレスGAの内容を投影部150のビデオメモリのアドレスVAにデータ転送し(ステップS303)、アドレスVAがビデオメモリの最終アドレスか否かを判定する(ステップS304)。
【0054】
VAがビデオメモリの最終アドレスではないなら(ステップS304;No)、制御部110は、VAに1を加算して(ステップS305)、アドレスGAが画像メモリの最終アドレスか否かを判定する(ステップS306)。GAが画像メモリの最終アドレスでないなら(ステップS306;No)、制御部110は、GAに1を加算して(ステップS307)、ステップS303に戻る。
【0055】
一方、GAが画像メモリの最終アドレスなら(ステップS306;Yes)、制御部110は、画像メモリの先頭アドレスをGAにセットし(ステップS308)、ステップS303に戻る。
【0056】
一方、ステップS304で、VAがビデオメモリの最終アドレスなら(ステップS304;Yes)、制御部110は、投影部150での投影を再開させ(ステップS309)、投影割込処理を終了し、中断していた検査処理の実行を中断位置から再開する。
【0057】
以上、検査処理、搬送開始割込処理、投影割込処理について説明したが、搬送開始割込が発生するタイミングは例えば30秒に1回であり、投影割込(例えば1/60秒に1回)に比べて格段に頻度が低い。したがって、搬送が停止している間(例えば25秒間)は、検査処理により画像メモリ上でマーキング画像320の更新が行われ、その間に頻繁(1/60秒毎)に投影割込処理が実行されて、その時点での画像メモリの内容が作業エリア301に投影される。
【0058】
例えば、検査処理(
図8)のステップS103からステップS110までの処理(1つの検査物310(検査領域)の不良判定とマーキング画像320の更新)に要する時間(=検査領域1つ当たりのスキャン時間)を0.1秒と仮定する場合、搬送が停止している間(25秒間)に、250回分の検査物310の判定が可能である(25÷0.1=250なので)。
図9に示す例では、作業エリア301に存在する検査物310は40個なので、250÷40=6.25から、搬送ライン300が停止している間に各検査物310について、最低6回の不良判定及びマーキング画像320投影を行うことができることがわかる。
【0059】
搬送が停止すると、制御部110は、搬送開始割込処理から検査処理のステップS102に戻ってきて、1番目の検査領域から40番目の検査領域までの判定とマーキング画像320の生成を検査領域毎に1つ1つ行うが、その間に頻繁に投影割込処理が実行されるため、マーキング画像320はほぼリアルタイムで作業エリア301の各検査物310の位置に投影される。
【0060】
1つの検査領域の不良判定に0.1秒の時間を必要としたとしても、40個の検査領域を全て判定するのに4秒の時間しか必要としないので、マーキング画像320が投影された検査物310を作業者400が取り除くと、遅くとも4秒後には(不良の検査物310が除去されているので)当該検査領域の不良は存在しなくなり、当該位置のマーキング画像320は消去される。したがって、作業者400は、不良の検査物310をきちんと除去できたことを、マーキング画像320が投影されなくなったことから把握することができる。
【0061】
検査処理、搬送開始割込処理、投影割込処理により、検査物310がどのように検査され、マーキング画像320が投影されるのかについて、図を参照して具体的な例で説明する。なお、この例では作業エリア301に40個の検査物310が載置されており、1つの検査物310(検査領域)の不良判定に0.1秒の時間を必要とするものとする。
【0062】
図9は画像メモリの投影範囲読出位置が画像メモリの右上(画像メモリの先頭アドレス)に設定されている場合の検査物310の載置状況と、画像メモリの内容と、作業エリア301に画像メモリの内容が投影されているイメージを示している。
【0063】
搬送が停止している間は、検査物310(検査領域)の1番目から40番目までが順番に不良判定される。具体的には、制御部110は、例えば各検査領域の画像データを画像認識して、正常な検査物310のデータ(正常データ)と比較することによって、当該検査領域に載置されている検査物310が不良か否かを判定する。もしN番目の検査物310(第1領域)が不良と判定されたら(ステップS103;Yes)、N+1番目の検査物310(第2領域)が不良か否かを判定する前に、制御部110は、N番目の検査物310(第1領域)に対応する画像メモリ(N番目の作業領域に投影される画像メモリのアドレス)にマーキング画像320を書き込む(ステップS105)。
【0064】
画像メモリにマーキング画像320が書き込まれると、遅くともその1/60秒後には投影割込処理により、作業エリア301の当該不良の検査物310の位置にマーキング画像320が投影される。したがって(全ての検査物310の不良判定には40個×0.1秒=4秒の時間がかかるにも関わらず)、制御部110は、各検査物310(検査領域)のマーキング画像320を不良判定後ほぼリアルタイム(1/60秒以下の遅延)で投影することができる。
【0065】
搬送部160により、検査物310が1ブロック分(20個分)搬送されると、
図5の(2)に示すように、それまでの1番から20番までの検査物310は作業エリアの外に移動する。これに対応するために、搬送部160が搬送を開始すると、搬送開始割込処理により、
図11に示すように、制御部110は、画像メモリの右半分の領域302をクリアし、投影範囲読出位置を画像メモリの中央部に変更する。
【0066】
投影範囲読出位置が変更されたことにより、
図11に示すように、画像メモリの左半分の領域303が、移動後の(21番から40番までの)検査物310の位置に対応して投影される。
【0067】
そして、搬送開始割込処理が終了すると、検査処理のステップS102に戻り、N=1から検査物310のスキャンが開始される。すると、
図13に示すように、検査物310の番号は再度下流から上流に向けて1番から割り当てが行われ、搬送前の21番目から40番目の検査物310が、搬送後の1番目から20番目の検査物310になる。ただし、投影範囲読出位置が変更されているため、
図13に示すように、作業エリア301の右側に位置する検査物310のブロック304は、画像メモリの左半分の領域303に対応し、作業エリア301の左側に位置する検査物310のブロック305は、画像メモリの右半分の領域302に対応することになる。
【0068】
そして、投影範囲読出位置から画像メモリの内容が投影部150のビデオメモリに転送されるので、
図13に示すように、搬送後に1番から20番になった検査物310(搬送前の21番から40番の検査物310)には画像メモリの左半分の領域303の内容に基づいてマーキング画像320が投影され、新たに搬送された21番から40番の検査物310には画像メモリの右半分の領域302の内容に基づいてマーキング画像320が投影される。
【0069】
なお、上述の実施の形態では、処理効率を向上させるために、搬送開始割込処理において投影範囲読出位置を変更しているが、制御部110は、投影範囲読出位置を変更する代わりに、画像メモリの内容をブロック転送してもよい。この場合、搬送が行われるたびに、制御部110は、画像メモリの左半分の領域303の内容を、画像メモリの右半分の領域302に書き込み、その後、左半分の領域303の内容をクリアする。このようにするとブロック転送の処理の時間を要することになるが、制御部110は、検査処理(
図8)でのマーキング画像320の更新の際に、投影範囲読出位置を考慮する必要はなくなる。
【0070】
また、上述の実施の形態では、検査物310が不良と判定された場合にマーキング画像320を投影したが、良品と判定された場合にマーキング画像320を投影したり、不良か否かの判定が難しかった場合にその旨を示すマーキング画像320を投影したりしてもよい。すなわち、制御部110は、検査物310を検査した結果が所定の条件(不良の場合、良の場合、判定困難な場合、可と不良の場合、等)を満たした場合に、その検査結果に応じて投影画像の領域毎にマーキング画像320を更新してもよい。
【0071】
以上説明したように、実施の形態に係る投影システムでは、制御部110は、複数の検査領域に分割された撮像エリアの検査領域毎に検査対象(検査物310)の状態を検査した結果(検査結果)を取得し、その検査結果に基づいて、投影画像を当該検査領域に対応する投影画像の領域毎に更新するので、検査物310を検査した結果が変化したか否かを迅速に確認することができる。
【0072】
また、制御部110は、不良を示す検査結果が取得された検査領域に対応する投影画像の領域にマーキング画像320を書き込むので、作業者400は、不良箇所を全てマーキング画像320で確認することができる。
【0073】
また、制御部110は、検査領域の1つである第1領域の検査結果を取得したら、それ以外の作業領域である第2領域の検査結果を取得する前に、第1領域に対応する投影画像の領域に、第1領域の検査結果を基づく画像を書き込むので、作業者400は、第1領域の検査結果を素早く知ることができる。
【0074】
また、投影部150が投影する投影画像は、検出部140が撮影する範囲である撮像エリアに一致するように重ねて投影されるので、制御部110が検査対象を検査した結果を作業者400はその場で分かりやすく把握することができる。
【0075】
また、制御部110は、検査領域を搬送の下流から上流に向かう順序で検査するので、作業エリア301の外に先に搬送されてしまう検査物310から先に検査を行うことができ、不良の検査物310を見逃してしまう可能性を低減することができる。
【0076】
(変形例1)
上述の実施の形態では、検査処理において、検査領域の1番目から40番目までを常に検査したが、検査結果を(例えば配列変数R[1]~R[40]に)保存しておき、前回の検査において、検査物310が所定の条件を満たした(例えば不良と判定された)場合のみ(前回の検査において、検査物310が所定の条件を満たした(例えば不良と判定された)検査領域に対してのみ)、再度所定の条件を満たすか否か(例えば不良か否か)の判定を行うようにしてもよい。このようにすると、作業エリア301内の全ての検査物310を常に検査するよりも検査に要する時間が短縮されるので、作業エリア301内のマーキング画像320の更新速度を高速化する(更新回数を増加させる)ことができる。
【0077】
また、搬送が行われた場合には、検査物310の番号が1単位分(本実施の形態では20)ずれるので、検査結果が保存されている配列変数の添字もずらす(例えばR[21]~R[40]をR[1]~R[20]に転送し、その後R[21]~R[40]の値を初期化する)処理を行う。これにより、前回の検査結果を搬送後の検査物310に対しても適用することができるようになる。
【0078】
こうすることにより、例えば、制御部110は、搬送の上流における検査領域(第1検査領域)の所定の検査物310を検査した結果が不良を示した場合だけ、搬送の下流であって当該所定の検査物310が搬送される検査領域(第2検査領域)について再度不良か否かの判定を行うようにすることができる。これにより、作業エリア301内のマーキング画像320の更新速度を高速化する(更新回数を増加させる)ことができるとともに、作業者400は、搬送の上流において不良の検査物310を交換あるいは除去した結果を搬送の下流において確認することができる。
【0079】
(変形例2)
上述の実施の形態では、検査物310が不良か否かによって、マーキング画像320を投影するか否かを決定していたが、過去の判定結果と現在の判定結果とに基づいて、マーキング画像320のデザインを変更したり、色を変更したりしてもよい。
【0080】
例えば、最初の検査結果が不良の時はまず黄色のマーキング画像320を投影し、次の検査結果も不良の時は赤色のマーキング画像320を投影することによって、作業者400に注意を促すことができる。また、最初の検査結果が不良の時はまず黄色のマーキング画像320を投影するが、次の検査結果が良になった時は正常を示す緑色のマーキング画像320を投影することによって、作業者400を安心させることができる。また、最初の検査結果が良の時はマーキング画像320を投影しないが、次の検査結果が不良になった時には異常事態を示すオレンジ色のマーキング画像320を投影することによって、作業者400に警告を発することができる。
【0081】
このような処理を行うためには、例えば、検査結果を保存する変数(例えば配列変数R[1]~R[40])に前回の検査結果を格納しておき、制御部110は、今回の検査結果と前回の検査結果を両方とも確認することで色を決定すればよい。また、搬送が行われた場合には、上述の変形例1と同様に、検査結果が保存されている配列変数の添字もずらす処理を行う。これにより、前回の検査結果を搬送後の検査物310に対しても適用することができるようになる。
【0082】
こうすることにより、例えば、制御部110は、搬送の上流における検査領域(第1検査領域)の所定の検査物310を検査した結果(第1検査結果)と、搬送の下流であって当該所定の検査物310が搬送される検査領域(第2検査領域)における当該所定の検査物310の状態を検査した結果(第2検査結果)とを取得し、第1検査結果と第2検査結果とに基づいてマーキング画像320の態様(色、デザイン等)を変更して投影することができる。
【0083】
このようにマーキング画像320に種類を設けることで、作業者400にその種類に応じた注意を促すことができ、不良の検査物310を取り除きやすくすることができる。
【0084】
(変形例3)
不良の検査物310を交換したり、除去したりする際には、作業者400の手が検査領域に写り込むことになる。したがって、検査処理のステップS103において、前回の検査結果が不良だった検査領域に手や指が認識されたら、当該検査領域の検査結果は不良ではないと判定するようにしてもよい。また、検査処理のステップS103において、前回の検査結果が不良だった検査領域に検査物310が存在しなかったら、当該検査領域の検査物310は除去されたということなので、当該検査領域の検査結果は不良ではないと判定するようにしてもよい。
【0085】
このようにすることにより、変形例3では、前回の検査結果が不良だった検査領域に、検査物310が存在しなかったり、作業者400の手が検出されたりした場合に、当該検査領域に対応する投影画像の領域のマーキング画像320が消去される。したがって、変形例3では、作業者400が不良の検査物310を良品に交換しても、検査領域に作業者400の手が写り込んでしまうことによって、当該検査物310(検査領域)に不良を示すマーキング画像320が投影されたままになってしまうことを防ぐことができる。また、作業者400が不良の検査物310を除去したのに、検査領域に正常な検査物310が存在しないことにより当該検査領域に対応する投影画像の領域に不良を示すマーキング画像320が投影されたままになってしまうことを防ぐことができる。
【0086】
(その他の変形例)
なお、投影システム100は、PC210、3Dカメラ240、プロジェクタ250、コンベヤ260からなるシステムに限らず、検査物310の不良判定機能を備えたプロジェクタ250とコンベヤ260とからなるシステムや、3Dカメラ240とプロジェクタ250とコンベヤ260とからなるシステムとして実現することもできる。また、上述の実施の形態では制御部110はPC210が備えるものとして説明したが、例えばプロジェクタ250が制御部110及び記憶部120を備え、投影システム100の制御を全てプロジェクタ250の備える制御部110が行うようにしてもよい。この場合、プロジェクタ250の制御部110及び記憶部120が投影制御装置を構成し、プロジェクタ250の光源、投影デバイス、ビデオメモリ、及びレンズユニットは投影部150を構成する。
【0087】
また、投影制御装置200としてのPC210は、通常のPCに限らず、制御部110と記憶部120を備えたコンピュータであれば任意のコンピュータを用いることができる。投影制御装置200は、例えばワンボードマイコンでもよい。
【0088】
また、上記実施の形態では、制御部110が実行する検査処理等のプログラムが、記憶部120に予め記憶されているものとして説明した。しかし、プログラムを、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto-Optical disc)、メモリカード、USBメモリ等の非一時的なコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の各処理を実行することができるコンピュータを構成してもよい。
【0089】
さらに、プログラムを搬送波に重畳し、インターネットなどの通信媒体を介して適用することもできる。例えば、通信ネットワーク上の掲示板(BBS:Bulletin Board System)にプログラムを掲示して配信してもよい。そして、このプログラムを起動し、OS(Operating System)の制御下で、他のアプリケーションプログラムと同様に実行することにより、上述の各処理を実行できるように構成してもよい。
【0090】
また、制御部110は、シングルプロセッサ、マルチプロセッサ、マルチコアプロセッサ等の任意のプロセッサ単体で構成されるものの他、これら任意のプロセッサと、ASIC(Application Specific Integrated Circuit)やFPGA(Field‐Programmable Gate Array)等の処理回路とが組み合わせられて構成されてもよい。
【0091】
以上、本発明の好ましい実施の形態について説明したが、本発明は係る特定の実施の形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲とが含まれる。
【符号の説明】
【0092】
100…投影システム、110…制御部、120…記憶部、130…操作入力部、140…検出部、150…投影部、160…搬送部、200…投影制御装置、210…PC、240…3Dカメラ、250…プロジェクタ、260…コンベヤ、300…搬送ライン、301…作業エリア、302,303…領域、304,305…ブロック、310…検査物、320…マーキング画像、400…作業者