(57)【要約】【課題】撮影装置を利用して生産機器管理システムを簡単安価に構成し、また効率よく運用でき、しかも撮影装置が取得した画像データをシステムのネットワーク負荷を増大させることなく管理サーバに送信できるようにする。【解決手段】スマートカメラ１０６が生産機器を撮像する撮像期間では、撮像した画像データを内部ストレージに蓄積しつつ、撮像した画像データから画像処理部が取得した画像処理結果をＩＤ情報と関連付けてデータ管理サーバ１１２に送信する。また、生産機器の撮像を行わない撮像休止期間では、スマートカメラ１０６は、内部ストレージに蓄積された画像データをＩＤ情報と関連付けてデータ管理サーバ１１２に送信する。【選択図】図１
2018200680.tif 000002
【特許請求の範囲】
【請求項１】
対象物を撮像する撮像部と、
前記撮像部が撮像した画像データから特徴量を取得する画像処理を行う制御部と、
前記画像データを蓄積する記憶装置と、を備え、
前記制御部は、
前記撮像部で前記対象物を撮像する撮像期間では、前記撮像部が撮像した画像データを前記記憶装置に蓄積しつつ、前記画像処理の結果をデータ管理サーバに送信し、
前記撮像部で前記対象物の撮像を行わない撮像休止期間では、前記記憶装置に蓄積された画像データを前記データ管理サーバに送信する撮影装置。
【請求項２】
請求項１に記載の撮影装置において、前記制御部は、前記画像処理の結果および画像データをＩＤ情報と関連付けて前記データ管理サーバに送信する撮影装置。
【請求項３】
請求項１または２に記載の撮影装置において、前記ＩＤ情報が、計時手段から取得した計時情報を含む撮影装置。
【請求項４】
請求項３に記載の撮影装置において、前記制御部は、ネットワーク時刻合せプロトコルを介して前記データ管理サーバ、または他の計時サーバと通信し、前記計時手段の時刻合せを行う撮影装置。
【請求項５】
請求項１から４のいずれか１項に記載の撮影装置において、前記撮像部および前記制御部を備えたＩｏＴ機器として構成される撮影装置。
【請求項６】
対象物を撮像する撮像部と、前記撮像部が撮像した画像データから特徴量を取得する画像処理を行う制御部と、前記画像データを蓄積する記憶装置と、を備えた撮影装置と、
前記撮影装置と通信可能なデータ管理サーバと、を備え、
前記制御部は、前記撮像部で前記対象物を撮像する撮像期間では、前記撮像部が撮像した画像データを前記記憶装置に蓄積しつつ、前記画像処理の結果をデータ管理サーバに送信し、
前記制御部は、前記撮像部で前記対象物の撮像を行わない撮像休止期間では、前記記憶装置に蓄積された画像データを前記データ管理サーバに送信するシステム。
【請求項７】
請求項６に記載のシステムにおいて、
前記対象物に処理を施す生産機器と、
前記生産機器を制御する生産制御装置と、を備え、
前記データ管理サーバは、前記生産制御装置と通信可能であり、
前記生産制御装置は、前記データ管理サーバに送信された前記画像処理の結果に基づいて前記生産機器を制御するシステム。
【請求項８】
請求項７に記載のシステムにおいて、前記データ管理サーバが、前記撮影装置から送信された前記画像処理の結果、もしくは前記画像データの少なくとも一方に対する画像処理の結果に基づき、前記生産機器、もしくは前記撮影装置の少なくとも一方の制御プログラムおよび／または制御パラメータが更新されるシステム。
【請求項９】
請求項７または８に記載のシステムにおいて、前記制御部は、前記画像処理の結果および画像データを、ＩＤ情報と関連付けて前記データ管理サーバに送信し、前記生産制御装置は、前記生産機器のイベントデータを、ＩＤ情報と関連付けて前記データ管理サーバに送信するシステム。
【請求項１０】
請求項９に記載のシステムにおいて、前記画像処理の結果および画像データと関連付けられるＩＤ情報、および／または前記生産機器のイベントデータと関連付けられるＩＤ情報が、計時情報を含むシステム。
【請求項１１】
請求項１０に記載のシステムにおいて、前記撮影装置および／または前記生産制御装置は、計時手段を備え、前記前記データ管理サーバまたは他の計時サーバと通信し前記計時手段の時刻合せを行うシステム。
【請求項１２】
請求項９から１１のいずれか１項に記載のシステムにおいて、前記画像処理の結果および画像データと関連付けられるＩＤ情報、および／または前記生産機器のイベントデータと関連付けられるＩＤ情報が、前記生産機器の制御に用いられる工程管理番号を含むシステム。
【請求項１３】
請求項９から１２のいずれか１項に記載のシステムにおいて、前記画像処理の結果および画像データと関連付けられるＩＤ情報、および／または前記生産機器のイベントデータと関連付けられるＩＤ情報が、前記対象物を識別する識別番号を含むシステム。
【請求項１４】
請求項６から１３のいずれか１項に記載のシステムにおいて、前記撮像期間では、前記撮影装置が、無線ネットワークを介して前記画像処理の結果を前記データ管理サーバに送信し、前記撮像休止期間では、前記撮影装置が、有線ネットワークを介して前記記憶装置に蓄積された画像データを前記データ管理サーバに送信するシステム。
【請求項１５】
請求項１４に記載のシステムにおいて、前記撮像休止期間では、前記撮影装置がクレイドル上に載置され、前記クレイドルを介して前記撮影装置が前記有線ネットワークと接続されるシステム。
【請求項１６】
請求項１５に記載のシステムにおいて、前記撮像休止期間では、前記クレイドル上に載置された前記撮影装置が、前記クレイドルを介して充電されるシステム。
【請求項１７】
請求項１５または１６に記載のシステムにおいて、前記撮影装置を把持する把持装置を備え、前記撮像休止期間に移行する場合に、前記把持装置が前記撮影装置を把持して前記クレイドルに載置するシステム。
【請求項１８】
生産装置を用いた物品の製造方法であって、
撮像部と、前記撮像部が撮像した画像データに対する画像処理を行う制御部と、前記画像データを蓄積する記憶装置と、備えた撮影装置により前記生産装置によって製造される物品を撮影し、撮影した画像データを前記撮影装置の記憶装置に蓄積し、前記撮影装置の制御部が前記画像データに対して画像処理を実行してその結果をデータ管理サーバに送信する工程と、
前記撮影装置による物品の撮像を行う撮像期間において前記撮影装置で撮影され前記撮影装置から前記データ管理サーバに送信された画像処理の結果に基づいて、生産制御装置が前記物品の生産状況を監視しつつ、前記生産装置によって物品を生産する工程と、
前記撮影装置による物品の撮像を行わない撮像休止期間において、前記撮影装置が、前記記憶装置に記憶されている画像データを前記データ管理サーバに送信する工程と、を備えた、
ことを特徴とする物品の製造方法。
【請求項１９】
請求項１８に記載の物品の製造方法において、前記制御部は、前記画像処理の結果および画像データをＩＤ情報と関連付けて前記データ管理サーバに送信する物品の製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像した画像データから特徴量を取得する画像処理を行い、また、撮像した画像データを外部に送信可能な撮影装置、およびその撮影装置を用いたシステムに関する。
【背景技術】
【０００２】
近年、ＦＡ（ファクトリオートメーション）の分野でもＩｏＴ化が進んでおり、例えば生産機器コンポーネントからの情報を収集するデータ管理サーバを配置した生産機器管理システムが知られている。この種の生産機器管理システムにおいては、データ管理サーバは、例えばディープラーニング等の手法で収集したデータを解析し、生産機器の異常を予知する予知保全や、トラブル発生時にその原因や傾向を分析する取組みが始まっている。このような解析には、監視カメラや画像検査装置の画像情報が利用価値が高く、これらの装置で取得した画像データをデータ管理サーバで収集し、生産機器の管理に役立てる構成が提案されている（例えば下記の特許文献１および特許文献２）。
【０００３】
しかしながら、画像情報は、ネットワーク上で送受信される時、大きな通信帯域を占有する問題がある。近年のＩｏＴビックデータ処理では、飛躍的に送受信データ量が増大している。このため、有線無線を問わず、データ管理サーバなどに接続するネットワークＩ／Ｆの構築が難しくなっている。例えば、送受信データ量の増大によって、配線量の増加に伴う装置の大型化と高コスト化、無線の場合は、チャンネル不足等、様々な問題が生じる。
【０００４】
その一方で、近年の技術進歩は目覚ましく、単に撮影を行うに留まらず、撮像した画像データの画像処理ないし画像解析を行う処理機能を備えた、いわゆるスマートカメラのような撮影装置が登場している。例えば、下記の特許文献３には、ロボットの作業域を撮影するスマートカメラから、撮像データの画像処理に基づく情報を直接ロボット制御装置等に送信し、ロボットを制御する生産システムが記載されている。
【０００５】
この種のスマートカメラは、近距離高速通信を用いて、外乱などに影響されず、低消費電力で簡易に、画像データの高速通信が可能な機器内Ｉ／Ｆが使用できる可能性がある。また、スマートカメラと、例えば生産システムの制御装置との間のネットワークは、情報量の少ない画像処理結果のみを送るだけでよく、低コストな１００ＢＡＳＥ、１０００ＢＡＳＥ程度の汎用的ＬＡＮや無線ＬＡＮで実現できる可能性がある。また、カメラから送信するデータ量が大幅に削減されるため、ビックデータ処理など高負荷の処理を実行する管理サーバに対する通信負荷が軽減される。
【０００６】
このように、生産管理にスマートカメラを利用すると、個々の機器の製造コストやネットワークコストの低減を図れ、生産管理システム全体の小型軽量化が容易になる可能性がある。また、旧来は管理サーバが実行していた処理の一部をスマートカメラに実行させることができ、多種類の生産機器やワークなどを高速に識別して行う、高度な生産管理を実現できる可能性がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１６−１７６８号公報
【特許文献２】特開２００４−３３３４４６号公報
【特許文献３】特開２０１３−１５８８８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、前述のスマートカメラを用いた生産システムにおいて、生産機器管理システムを構築しようとすると、以下のような問題が発生する。
【０００９】
スマートカメラから出力される情報は、画像処理された加工情報であるか、あるいは画像処理に基づく解析（ないし診断）結果などである。このため、生産システムの平常稼働中、あるいは予め予測された範囲のトラブルには対処できるが、予期せぬトラブルを解析するための情報としては、多くの情報が欠落している場合がある。例えば、カメラ撮影情報には、画像処理ワーク以外の情報が含まれており、トラブル発生時の画像の全体を人間が一目見る事ができれば、すぐに画像処理の不備やその原因が判明することがある。これに対して、画像処理結果のみからでは、処理上の不備を特定するのは難しく、その原因の推定もかなり難しい。また、カメラ内で行う画像処理には、その画像処理を調整するための画像処理パラメータが必要であり、一般的には、照明や撮影装置の経年変化や、突然のワークの色合いの変化により、これらのパラメータを調整する必要がある。その調整には、例えば加工ないし圧縮されていない、オリジナル（生）の撮影画像が必要になることがある。
【００１０】
あるいは、生産システムの平常稼働中、画像処理結果からワークに欠陥や異常が検出されると、ワークの欠陥や異常に対処するために、より詳細な情報が必要とされる場合がある。そのような場合には、加工ないし圧縮されていない、オリジナル（生）の撮影画像が必要になることがある。
【００１１】
以上のような事情で、予期しないトラブルの対処、カメラの調整、欠陥や異常が検出されたワークへの対処など、スマートカメラで生産機器やワークを撮像したオリジナル（生）の撮影画像が必要になることがある。このため、理想的には、スマートカメラから処理結果のみを送信させるだけではなく、スマートカメラが撮像したオリジナル（生）の撮影画像をネットワーク内に配置したＨＤなどの記憶装置にロギングするような構成が望まれる。しかしながら、上述のようにスマートカメラが撮像したオリジナル（生）の画像データは容量が大きく、撮影した全ての画像データを転送させる構成は現実的ではない場合がある。例えば、スマートカメラに大量の画像データを高速に送受信させるために、生産管理システム全体のネットワークを高速化させると、上記のスマートカメラを用いる利点が打ち消されてしまう可能性がある。
【００１２】
上記の問題を解決するには、画像データの容量（ないし転送量）を減少させることが考えられる。例えば特許文献１のように画像データの必要な部分のみを切り出す手法や、ＪＰＥＧエンコーダ（ＪＰＥＧエンジン）のような画像圧縮手段をスマートカメラ内に設ける構成が考えられる。しかしながら、ＪＰＥＧのような画像圧縮方式によって高圧縮率を得ようとする場合は非可逆圧縮が行われる。非可逆圧縮が行われている場合には、圧縮後のＪＰＥＧ画像データから圧縮前の画像データを復元することは不可能である。従って、非可逆圧縮した画像データをカメラからサーバに転送する方式では、管理サーバ等に残る画像データからはカメラ内で使われた非圧縮のＲＡＷフォーマット画像と同一データを復元できない。そのために、例えば前述した画像パラメータなどの微妙な調整を行うのが難しくなる場合がある。
【００１３】
また、画像データの切り出しは、画像データの情報量は減らせるものの、画像圧縮を行うのに比べて、データ量は依然として大きく、ネットワークコストをそれ程大きく低減しない。また、切り出された画像領域に目的の処理に必要な部位が残っていない場合には、上記のような解析や画像パラメータの調整はほぼ不可能になる。
【００１４】
さらに、ＪＰＥＧのような画像圧縮方式では、画像の伸長処理が必要であり、システムの制御系のレスポンスにも問題を生じる可能性がある。例えばＩｏＴ化の進展により、生産システムの各部から管理サーバに送信されるデータ量は飛躍的に増加しつつあり、画像データのような大きな塊の情報を送るということは、ＩｏＴ通信Ｉ／Ｆのデータレスポンスに多大な影響を与える可能性がある。
【００１５】
すなわち、大容量のデータ塊である画像データは、まとまったパケットを利用して通信を行う必要がある。しかしながら、大きなまとまったパケットは、その通信期間中は、通信リソースを占有してしまう。もし大容量の画像データによって、通信リソースが占有されてしまうと、他の通信が不可能となり、その結果、今度は、例え、優先順位が上位の情報が急に発生しても、そのパケットの通信期間中は、制御系が即座に応答できないという問題が発生する。このような問題は、データレスポンスの低下と呼ばれる。なお、画像データを細分化したパケットで送信してデータレスポンスを確保する方法もあるが、その場合は、画像データの通信効率が大幅に低下して、その画像を用いる生産システム全体のタクト低下のような別の問題が発生する。
【００１６】
上記のような問題を発生させる典型例は、無線通信を用いた生産機器コンポーネントを含む生産機器管理システムである。無線は、通信周波数が有限なため、同時に通信できるチャンネル数が限られているため、必要に応じ優先順位に応じて、異なるチャンネルを割り当てて別の通信経路を確保する事ができない。仮に、１つの生産機器システムに、全てのチャンネルを割り当ててしまうと、隣接する別の生産機器の無線に干渉をもたらして、データレスポンスをさらに低下させてしまうためである。また、この種の生産システムでは、たとえば緊急停止パネル等、無線接続形態で利用できれば便利であり、なおかつ、高速な応答データレスポンスが必要で、処理の優先順位が高い機器が配置されることがある。この緊急停止パネルのような機器が配置された生産システムでは、この機器が用いるのと同じネットワークを介してスマートカメラが撮影した画像を画像記録管理システムに送る構成は、他機器の応答レスポンスを損なう問題があって好ましくない。
【００１７】
本発明の課題は、撮影装置を利用して生産機器管理システムを簡単安価に構成し、また効率よく運用でき、しかも撮影装置が取得した画像データをシステムのネットワーク負荷を増大させることなく管理サーバに送信できるようにすることにある。
【課題を解決するための手段】
【００１８】
上記課題を解決するため、本発明においては、対象物を撮像する撮像部と、前記撮像部が撮像した画像データから特徴量を取得する画像処理を行う制御部と、前記画像データを蓄積する記憶装置と、を備え、前記制御部は、前記撮像部で前記対象物を撮像する撮像期間では、前記撮像部が撮像した画像データを前記記憶装置に蓄積しつつ、前記画像処理の結果をデータ管理サーバに送信し、前記撮像部で前記対象物の撮像を行わない撮像休止期間では、前記記憶装置に蓄積された画像データを前記データ管理サーバに送信する構成を採用した。
【発明の効果】
【００１９】
上記構成によれば、撮影装置を利用して、システムを簡単安価に構成し、また効率よく運用でき、しかも撮影装置が取得した画像データをシステムのネットワーク負荷を増大させることなく管理サーバに送信することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態１における生産システムの構成例を示す説明図である。
【図２】図１のスマートカメラの構成を示した説明図である。
【図３】図１のデータ管理サーバの構成を示した説明図である。
【図４】本発明の実施形態２における生産システムの構成例を示す説明図である。
【図５】図４のシステムにおけるスマートカメラ、生産機器としてのロボット装置のハンド、スマートカメラを休止時に載置させるクレイドルを示した説明図である。
【図６】図４のスマートカメラの構成を示した説明図である。
【図７】図４のデータ管理サーバの構成を示した説明図である。
【図８】実施形態１または２において、スマートカメラの動作の概要を示したフローチャート図である。
【図９】実施形態１または２において、撮像期間においてスマートカメラから送信されるＩＤ情報と関連付けされた画像処理結果の一例を示した説明図である。
【図１０】実施形態１または２において、撮像休止期間においてスマートカメラから送信されるＩＤ情報と関連付けされた画像データの説明図である。
【発明を実施するための形態】
【００２１】
以下、添付図面を参照して本発明の実施形態につき説明する。なお、以下に示す構成はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。
【００２２】
以下に示す生産システムでは、対象物（生産機器やワーク）を撮像する撮像部と、撮像部が撮像した画像データに対する画像処理を行う画像処理部と、画像データを蓄積する記憶装置と、を備えた撮影装置を用いる。この撮影装置は、以下の実施形態では、撮像部として撮像部カメラ（２０６、２０６ａ、２０６ｂ）と、画像処理部としてスマートカメラプログラム（２０３）を備えたステレオスマートカメラ（１０６〜１０８、４０３）などに相当する。また、撮影装置は、上記の撮像部および画像処理部を備えたＩｏＴ機器として構成することができる。また、これら撮影装置は、記憶装置として内部ストレージ（２０８、６０９）を備える。また、以下の実施形態において、生産機器は、ロボットアーム（１０１、４０１）や搬送装置（１０３）などに相当する。
【００２３】
以下の実施形態において、撮影装置は、撮像部で撮像を行う撮像期間では、撮像部が撮像した画像データを記憶装置に蓄積しつつ、撮像した画像データから画像処理部が取得した画像処理結果をＩＤ情報と関連付けてデータ管理サーバ（１１２）に送信する。また、撮像部で撮像を行わない撮像休止期間では、撮影装置は、記憶装置に蓄積された画像データをＩＤ情報と関連付けてデータ管理サーバに送信する。
【００２４】
以下の実施形態において、上記のＩＤ情報は、撮影装置が計時手段から取得した計時情報を含んでいてよい。また、撮影装置は、ネットワーク時刻合せプロトコルを介してデータ管理サーバ（１１２）、または他の計時サーバ（ＮＴＰサーバなど）と通信し、計時手段の時刻合せを行うことができる。また、上記のＩＤ情報は生産機器の制御に用いられる工程管理番号や、生産機器や生産機器が扱うワークを識別する識別情報などを含んでいてよい。
【００２５】
以下の実施形態において、上記の撮像期間と撮像休止期間において、異なるネットワークを通信に利用することができる。例えば、撮像期間では、撮影装置が、無線ネットワークを介して画像処理結果をＩＤ情報と関連付けてデータ管理サーバに送信する。また、撮像休止期間では、撮影装置が、有線ネットワークを介して記憶装置に蓄積された画像データをＩＤ情報と関連付けてデータ管理サーバに送信する。
【００２６】
また、撮像休止期間では、撮影装置がクレイドル上に載置され、クレイドルを介して撮影装置が有線ネットワークと接続されるよう構成することができる。このクレイドルは、さらに撮像休止期間において、クレイドル上に載置された撮影装置が、クレイドルを介して充電されるよう用いられてよい。また、撮影装置をクレイドル上に載置する動作は、生産機器、例えばロボットアーム（４０１）などによって行ってよい。例えば、撮像休止期間に移行する時、ロボットアーム（４０１）が撮影装置をクレイドルに載置する。
【００２７】
また、データ管理サーバ（１１２）は、撮影装置（１０６〜１０８）から送信された画像処理結果および／または画像データを、ディープラーニング処理などを用いて解析することができる。そして、その解析結果に基づき、生産機器および／または撮影装置の制御プログラム／または制御パラメータを更新させることができる。
【００２８】
なお、以下に例示する構成では、制御手段が、外部記録装置１１３を備えたデータ管理サーバ１１２、制御装置１１４（生産制御装置）などのように書き分けられているが、これはあくまでも一例に過ぎず、当業者において任意の設計変更が可能である。例えば、データ管理サーバ１１２、制御装置１１４（生産制御装置）を統合して、１つの制御サーバや管理サーバとして配置しても構わない。また、外部記録装置１１３は、データ管理サーバ１１２とは別体のＮＡＳ（ネットワーク接続ストレージ）のような装置としてシステムに実装されていても構わない。
【００２９】
＜実施形態１＞
図１〜図３に本実施形態１の生産システムの構成を示す。図１は、生産システムの全体構成を示している。同図の生産システムは、大容量の外部記録装置１１３と接続されたデータ管理サーバ１１２を備える。
【００３０】
また、図１の生産システムは、生産ラインを構成する生産機器として、ワーク１０５などを操作し、また搬送するロボットアーム１０１と、例えばコンベヤやＸＹステージのような搬送装置１０３を含む。これらロボットアーム１０１、搬送装置１０３は、所定の生産工程を実現すべく、それぞれロボットアーム制御装置１０２、搬送制御装置１０４によって制御される。
【００３１】
ロボットアーム制御装置１０２、搬送制御装置１０４は、例えばなんらかのインテリジェントな制御機能を備え、ネットワーク通信によって他の機器と連携できる、いわゆるＩｏＴ機器として構成される。
【００３２】
また、本実施形態１において、ＩｏＴ機器とは、データ管理サーバ１１２と接続する外部Ｉ／Ｆを有し、少なくともＩｏＴ機器が制御する機器に設置された各種のセンサの出力情報ないしその処理結果を、データ管理サーバ１１２に送信可能なものをいう。この意味では、後述のスマートカメラ１０６、１０７、１０８もイメージセンサで撮像した画像データないしは、その画像処理結果をデータ管理サーバ１１２に対して送信可能なＩｏＴ機器である。
【００３３】
例えば、ロボットアーム制御装置１０２は、ロボットアーム１０１の制御を行うと同時に、ロボットアーム１０１の備えたモータやエンコーダや温度等の各種のロボット情報を、データ管理サーバ１１２に送信する機能を有している。また、スマートカメラ１０６、１０７、１０８（ＩｏＴ機器）、ロボットアーム制御装置１０２や搬送制御装置１０４は、データ管理サーバ１１２で利用可能、例えば他の情報と関連付け可能なＩＤ情報を生成することができる。
【００３４】
生産機器としてのロボットアーム制御装置１０２や搬送制御装置１０４は、撮影装置としてのスマートカメラ１０６、１０７、１０８によって撮影（監視）される。図１では、便宜上、搬送制御装置１０４の上に図示してあるが、これらのカメラは生産ライン上の任意の生産状況を監視（撮影）したい位置に配置される。例えばスマートカメラ１０６、１０７、１０８は、ロボットアーム１０１（あるいは他のロボット）の作業域に１つまたは複数配置することができる。
【００３５】
スマートカメラ１０６〜１０８の構成は、後に図２によって詳述するが、スマートカメラ１０６、１０７、１０８は、イメージセンサ（カメラ２０６）で撮像した画像データを記憶する内部ストレージ２０８を備える。また、スマートカメラ１０６、１０７、１０８は、イメージセンサ（カメラ２０６）で撮像した画像データに対して所定の画像処理を行う画像処理手段（スマートカメラプログラム２０３）を備える。
【００３６】
図１の生産システムでは、データ管理サーバ１１２は、ロボットアーム制御装置１０２、搬送制御装置１０４、スマートカメラ１０６、１０７、１０８、と有線ＬＡＮハブ１０９、１１０、１１１を介して接続されている。本実施形態の場合、有線ＬＡＮハブ１０９、１１０、１１１は、例えばＩＥＥＥ  ８０２．３ネットワーク用で、１００ＢＡＳＥ、１０００ＢＡＳＥ程度の比較的低コストなネットワーク規格を満たしていればよい。
【００３７】
また図１の生産システムは、生産機器全体を制御するＰＬＣなどの制御装置１１４を備える。この制御装置１１４にも、ＬＡＮポートが設置されており、ロボットアーム制御装置１０２、搬送制御装置１０４、スマートカメラ１０６〜１０８とも、ＬＡＮポートを介して接続されている。即ち、図１の生産システムの各部は、ＬＡＮハブ１０９、１１０、１１１を用いた比較的低コストな単一のネットワークによって接続されている。
【００３８】
図１の生産ラインにおける生産処理は、概略、次のように行われる。例えば、制御装置１１４は、搬送装置１０３を動作させ、スマートカメラ１０６〜１０８に、ワーク１０５を撮影させる。そして、スマートカメラ１０６〜１０８の画像処理結果を受信し、その結果に応じて、必要な生産機器制御をＩｏＴ機器であるロボットアーム制御装置１０２に指示する。
【００３９】
スマートカメラ１０６（１０７または１０８）では、撮像期間中、カメラ（２０６）で撮像した画像データを内部ストレージ（２０８）にＩＤ情報と関連付けて記録する。そして、制御装置１１４、およびデータ管理サーバ１１２に対しては、画像処理手段（スマートカメラプログラム２０３）によって得た画像処理結果を送信する。制御装置１１４は、この画像処理結果を利用して、例えば、生産ラインを構成するロボットアーム１０１や搬送装置１０３の動作を制御することができる。また、データ管理サーバ１１２は、ＩＤ情報と関連付けられた画像処理結果を例えば外部記録装置１１３に蓄積する。
【００４０】
ＩｏＴ機器によって構成されるシステムでは、各ＩｏＴ機器が発生した情報を紐付けしたり、その情報に対応するイベント（事象）を特定したりするためにＩＤ情報が用いられる。ここで、ＩＤ情報とは、制御装置１１４やデータ管理サーバ１１２が、各ＩｏＴ機器、即ちロボットアーム制御装置１０２、搬送制御装置１０４、スマートカメラ１０６〜１０８の発生した情報を紐付け可能なＩＤ情報であれば何でも構わない。
【００４１】
典型的なＩＤ情報としては、計時情報（例えば時刻情報や日時情報）がある。例えば、ＩＤ情報として計時情報を用いる場合には、それぞれＩＤ情報に関連付けられている複数のＩｏＴ情報ないしそれに対応するイベントの同時性や時間軸上の前後関係を特定できる。ただし、ＩＤ情報として計時情報を用いる場合には、ＩｏＴ機器が発生する計時情報を計時する計時手段が正確に同期している（時刻合せされている）必要がある。このためには、例えばＩｏＴ機器、例えばスマート（ネットワーク）カメラは、ネットワーク時刻合せプロトコルを介してデータ管理サーバ１１２、または他の計時サーバ（ＮＴＰサーバなど）と通信して時刻合せを行うことが考えられる。このためには、データ管理サーバ１１２（あるいは制御装置１１４）でＮＴＰサービスを提供するＮＴＰサーバデーモンを実行させておく。このため、ＩｏＴ機器、スマートカメラ１０６〜１０８には、ＲＴＣ２１０Ａ（リアルタイムクロック）のような計時デバイス（不図示）を内蔵させることができる。そして、適当なインターバルでデータ管理サーバ１１２（あるいは制御装置１１４）に対してＮＴＰプロトコルを介して通信し、時刻合せを行わせる。これにより、例えば０．１数秒以下の誤差単位で、長期間に渡り、各サーバ、およびＩｏＴ機器の高精度な時刻合せが可能であり、ＩＤ情報としての計時情報の信頼性を維持できる。なお、上記の時刻合せに用いられる計時情報データの表現形式は任意である。
【００４２】
なお、各種ＩｏＴ機器から送信される各種ＩｏＴ情報に付与されるＩＤ情報も、計時情報を用いる場合は、その計時情報の取得タイミングが重要である。例えば、ＩＤ情報として用いる計時情報は、外部Ｉ／Ｆ等からのデータ送信時の時刻情報ではなく、ＩｏＴ情報の元となる情報の取得時刻がＩＤ情報として付与されているのが望ましい。
【００４３】
例えば、スマートカメラ１０６〜１０８のＩＤ情報は、画像処理後の画像処理結果を送信する時の計時（時刻）情報ではなく、好ましくはスマートカメラ内の撮影手段に撮影トリガを与えた時刻情報を用いるものとする。これは、本実施形態では、ＩＤ情報としての計時情報とともに送信される画像処理の結果情報の送信時刻は、スマートカメラの画像処理などの所要時間による遅延が発生し、またその遅延の大きさも処理内容や画像データによって異なるためである。
【００４４】
図１のシステムにおいて、スマートカメラ１０６〜１０８以外のＩｏＴ機器のＩＤ情報も同様であり、ＩＤ情報としての計時情報を用いる場合には、基本的にはＩｏＴ情報の元となるデータを取得した計時（時刻）情報をＩＤ情報として用いる。
【００４５】
以上のような構成により、各ＩｏＴ機器が発生したＩｏＴ情報をＩＤ情報（例えば計時情報）を介して全て紐付けて管理することが可能になり、例えばディープラーニングなどの手法によって、高度な傾向分析を行うことが可能になる。
【００４６】
この他のＩＤ情報としては、例えば、ワークや、ワークを乗せたトレイにＩＤ情報をバーコード等で設けておくことが考えられる。そして、そのバーコードをスマートカメラ１０６で読み取り、バーコードからデコードした情報をＩＤ情報として送信し、それを各種ＩｏＴ機器のＩＤ情報として用いる。このバーコードは、生産機器が扱うワーク（あるいはその作業台やトレイ）を識別する識別情報として利用できる。この場合、例えば、データ管理サーバ１１２から指令を送信し、スマートカメラ１０６、１０７、１０８に同時にバーコードを読み取らせ、それをＩＤ信号として画像処理結果とともに送信させる。これにより、生産機器の動作を、特定のワーク単位で紐付けすることができるようになる。
【００４７】
また、スマートカメラ１０６、１０７、１０８がバーコードを毎回、正常に読み込めるとは限らないことも考えられる。その場合、最初のスマートカメラ（例えば１０６）が正常に読み取ることができたバーコードデータをＩＤ情報の基本とすればよい。そして、例えばその読み取り時刻を０にリセットして、それからの経過時間を、前述のバーコードデータと組み合わせて使用してもよい。これにより、特定のワークを識別するバーコードデータの読み取り時刻からの（相対的な）経過時間、のような形で、そのワークに係る生産処理のイベントを特定し、またその関連付けが可能となる。
【００４８】
上記のように、ＩＤ情報は、各種のＩｏＴデータ（生産機器のイベントデータ）を識別するためのもので、例えば計時情報、バーコードなどを介して得たワークの識別情報などの１つ、あるいはその複数の組合せを用いることができる。また、ＩｏＴデータ（生産機器のイベントデータ）の関連付けは、制御装置１１４が各生産機器の制御に用いる工程管理番号などを介して行うこともできる。例えば、制御装置１１４が計時情報と特定の生産制御イベントの工程管理番号とを関連付けてＩＤ情報として用いることにより、スマートカメラの画像処理結果、画像データと、特定の生産制御イベントの相互の関連付けが可能となる。なお、ＩｏＴ情報に用いるＩＤ情報としては、サーバ（１１２）や制御装置（１１４）が、各種のＩｏＴデータ（生産イベント）、スマートカメラの画像処理結果、また、画像処理前の画像の関連付けに利用できるものであれば、任意のものを用いることができる。
【００４９】
次に、図２、図３を参照して、図１に示したスマートカメラ１０６〜１０８とデータ管理サーバ１１２につき、それぞれ説明する。
【００５０】
図２は、本実施形態の撮影装置に相当する、スマートカメラ１０６〜１０８の構成を示している。図２のスマートカメラ（１０６〜１０８）の各部は制御部を構成するＣＰＵ２０１を中心に配置されている。ＣＰＵ２０１が管理するデータバスやアドレスバスなどの各種の信号線から成るバスライン２１２には、メモリ２０２、カメラ２０６、内部ストレージ２０８、ＩＤ生成手段２１０、ＬＡＮポート２１１が接続されている。
【００５１】
撮影装置の撮像部としてのカメラ２０６は、例えば撮影レンズとイメージセンサを備え、撮像した画像データの入出力のための例えばＭＩＰＩインターフェース２０５を介してバスライン２１２に接続される。ＭＩＰＩインターフェース２０５は、携帯電話機などで用いられるカメラデバイスのインターフェースで、長距離伝送には向かないが、低消費電力で低コストなカメラインターフェースを構成できる。
【００５２】
ｅＭＭＣやＳＤメモリなどを用いた内部ストレージ２０８は、例えばＳＤＩインターフェース２０７を介してバスライン２１２に接続される。ＳＤＩインターフェース２０７は、外部機器との接続などには不向きであるが、低消費電力なインターフェースを構成でき、スマートカメラなどには適している。
【００５３】
本実施形態では、内部ストレージ２０８は、適当な長さの撮像期間の間にカメラ２０６で撮像した、例えば無圧縮の画像データを（ネットワークを介して送信することなく）蓄積しておくために用いる。本実施形態では、撮像期間の間に内部ストレージ２０８に蓄積した画像データは、撮像休止期間において、データ管理サーバ１１２に送信する。そのため、内部ストレージ２０８の記憶容量は任意であるが、通常予想される撮像期間中にカメラ２０６で撮像した例えば無圧縮の画像データを全て格納できる程度の記憶容量とする。内部ストレージ２０８の記憶容量は、生産システムの仕様によって異なるが、ＳＤメモリなどの記憶メディアでも１００Ｇｂオーダの製品を入手することは比較的容易である。
【００５４】
ＩＤ生成手段２１０は、上述したＩＤ情報の１つまたは複数を生成する手段で、例えば計時（時刻）情報を用いる場合には、ＩＤ生成手段２１０は、ＲＴＣ２１０Ａのような計時手段を備える。ＩＤ生成手段２１０は、例えばＩ２Ｃインターフェース２０９を介してバスライン２１２と接続する。Ｉ２Ｃインターフェースは、２線式の簡単安価な配線ハードウェアを利用してデータ入出力を行うことができ、例えば計時（時刻）情報のような小容量のデータ入出力には充分な性能を発揮できる。また、ＩＤ情報に上記のバーコードなどを用いる場合には、ＩＤ生成手段２１０は、例えばカメラ２０６で撮影したバーコードの画像からそのデータ内容をデコードするハードウェアないし、ＣＰＵ２０１が実行するソフトウェアによって構成すればよい。
【００５５】
本実施形態では、スマートカメラの外部通信ＩＦは、各種ＩｏＴ機器と運用上のフォーマットを統一されたＬＡＮポート２１１のみである。即ち、他のＩｏＴ機器と同じＬＡＮバックボーンを時分割して使用することができ、大幅にネットワーク配線を削減することができる。
【００５６】
図２の左側に示したカメラ内蔵のメモリ２０２はＤＲＡＭやＲＯＭのような記憶デバイスにより構成される。内部的には、メモリ２０２は画像やデータ等を一時的に保存する処理データ一時保存領域２０４と、スマートカメラプログラム２０３に大きく分けられる。
【００５７】
このうちスマートカメラプログラム２０３は、２０３１〜２０３９で示すような各部（プログラムモジュール、サブルーチンやカーネルサービス）のプログラムで構成される。以下、これらプログラム（２０３１〜２０３９）の各部の構成ないしは基本的な動作につき説明する。
【００５８】
スマートカメラの電源が起動すると、システム診断プログラム２０３６が起動し、当該スマートカメラの各部の故障の有無を確認する自己診断を行う。自己診断の結果、問題がなければ外部Ｉ／Ｆ制御プログラム２０３３によって、当該のスマートカメラの起動が制御装置１１４やデータ管理サーバ１１２に通知される。
【００５９】
起動を受けて、例えばデータ管理サーバ１１２で動作しているＮＴＰサーバが、時刻合わせの指令をＬＡＮポートに送信する。あるいは逆に、図２のスマートカメラ側から初期動作の一部としてデータ管理サーバ１１２または制御装置１１４のＮＴＰサーバに時刻合わせのリクエストを送信してもよい。このＮＴＰサービスによって、ＩＤ情報関連付けプログラム２０３４が、内部Ｉ／Ｆ制御プログラム２０３５を介してＩＤ生成手段２１０のＲＴＣなどの時刻合わせを行う。この時刻合わせは、ＮＴＰサーバないしスマートカメラ側の主導によって、数分〜数１０分程度のインターバルで定期的に実行することができる。
【００６０】
その後、図２のスマートカメラは、制御装置１１４からのトリガ信号待ちの状態になる。このトリガ待ちから、イメージセンサによる撮影、画像処理、結果送信までの一連の動作を、本発明では、撮像期間と呼び、それ以外の期間を撮像休止期間と呼ぶ。図１において各カメラ１０６〜１０８がそれぞれワーク１０５を撮像、画像処理、画像処理結果送信する期間が撮像期間であり、画像処理結果を送信してから次のトリガ信号を受けるまでの期間が撮像休止期間となる。また、メンテナンスやワークの入替え等の理由で、ワーク１０５の供給がしばらく停止する期間や、動作終了指令を受けてシステムが停止する期間なども撮像休止期間に該当する。
【００６１】
スマートカメラプログラム２０３としては、そのスマートカメラが実行する検査内容に応じて、いくつかの異なる画像処理を実行する画像処理プログラム２０３１がインストールされている。画像処理プログラム２０３１は、基本的な画像処理プログラムである画像処理ＬＩＢ２０３２（ライブラリ）のルーチンを利用して実行されるよう記述されている。画像処理ＬＩＢ２０３２には、マシンビジョンに使用する画像処理プログラムが、複数格納されている。このマシンビジョンに利用する画像処理プログラムは、撮像画像から特徴量を抽出する処理を行う。マシンビジョンで用いられる画像処理プログラムとしては、例えば、撮像画像から必要な特徴位置を算出する位置位相計測に関するプログラムや、ノイズ等に埋もれた撮影画像から必要な特徴量を抜き出す検査に関するプログラムが挙げられる。さらに、具体的には、前者の代表的なプログラムとしては、パターンマッチングや、パターンフィッティング等のプログラムがあげられ、後者の代表的なプログラムとしては、メディアンフィルターやブロブ解析等があげられる。抽出する特徴量は、ロボットアーム１０１や搬送装置１０３の制御やワークの良否判定などに用いられる量であり、例えば、目印となる所定の形状の位置、ワークの位置姿勢、ワークの傷や欠陥の有無などである。
【００６２】
図２のスマートカメラ（１０６〜１０８）は、カメラ２０６が対象の生産機器を特定の画角、撮影距離で撮影できるよう設置されており、制御装置１１４からのトリガ指令に基づき、カメラ２０６により対象の生産機器を撮像する。この撮像は、１ないし複数枚の静止画撮影であってもよく、また、適当な長さの動画撮影であってもよいが、以下では、説明を容易にするため１枚の静止画撮影であるものとする。
【００６３】
制御装置１１４から、撮像を指令するトリガ指令を外部Ｉ／Ｆ制御プログラム２０３３を介して受信すると、図２のスマートカメラは、内部Ｉ／Ｆ制御プログラム２０３５を介してＩＤ生成手段２１０にＩＤ情報を生成させる。ここでは、ＩＤ生成手段２１０は、ＩＤ情報として撮像タイミングに相当する計時情報を取得するものとする。取得したＩＤ情報（計時情報）は、例えばＲＡＭ上などに確保された処理データ一時保存領域２０４に格納される。カメラ制御プログラム２０３７はカメラ２０６に撮影開始信号を送り、これによりカメラ２０６が撮影動作を開始する。
【００６４】
ここで、スマートカメラ内での時間的なディレイ要素は、外部Ｉ／Ｆ（ＬＡＮポート２１１）の送受信タイムラグと、画像処理プログラムの処理時間が大半を占める。昨今のハードウェアやソフトウェアの場合、上記のＩＤ情報の処理データ一時保存領域２０４への格納や、カメラ２０６への撮影開始信号送出の時間差は、ほぼ０に近く、その間の時間差はほぼ無視しうる程度と考えてよい。
【００６５】
カメラ２０６が撮像した画像データは、一旦、カメラ制御プログラム２０３７によって処理データ一時保存領域２０４に転送される。続いて、画像処理プログラム２０３１が所定の画像処理を行ってその画像処理結果を処理データ一時保存領域２０４に記憶する。
【００６６】
以上のように処理データ一時保存領域２０４に記憶されたＩＤ情報および画像処理結果は、外部通信Ｉ／Ｆ制御プログラム２０３３の制御により、ＬＡＮポート２１１を介して、制御装置１１４およびデータ管理サーバ１１２に送信される。制御装置１１４はＩＤ情報および画像処理結果を利用して、ロボットアーム制御装置１０２や搬送制御装置１０４への指令を制御することができる。データ管理サーバ１１２は、例えば、受信したＩＤ情報および画像処理結果を外部記録装置１１３に蓄積する。
【００６７】
また、図２のスマートカメラにおいて、処理データ一時保存領域２０４に記憶されたＩＤ情報および画像処理前の画像データは、内部Ｉ／Ｆ制御プログラム２０３５の制御によって、内部ストレージ２０８に記録され、再び、トリガ待ちの状態になる。
【００６８】
生産ラインに配置された生産機器の稼働時は、図２のスマートカメラは、制御装置１１４の指示に応じて、上記の動作、即ち、撮像期間を繰り返す。図８のＳ１２〜Ｓ１５は、制御装置１１４のトリガに応じてＩＤ情報を生成（Ｓ１２）、生産機器を撮像（Ｓ１３）、画像処理（Ｓ１４）、ＩＤ情報＋画像処理結果を送信（Ｓ１５）、の撮像期間に実行される各処理を示している。スマートカメラから出力された画像処理結果は、ハブ１１１、１１０、を介して制御装置１１４へと送信される。制御装置１１４は、画像処理結果に応じて、ロボットアーム制御装置１０２や搬送制御装置１０４へ制御信号を送信し、ロボットアーム１０１や搬送装置１０３の動作を制御する。例えば、スマートカメラで取得する特徴量が、ワークの良否判定および位置に関する値である場合、制御装置１１４はロボットアーム１０１および搬送装置１０３を制御して、不良判定されたワークを取り除く処理を行う。
【００６９】
制御装置１１４は、生産システム内のロボットアーム制御装置１０２や搬送制御装置１０４などの各種ＩｏＴ装置にも、それぞれの役割に応じた制御信号を、ＬＡＮを経由して送信する処理を繰り返し、これにより、各機器による生産工程が進行する。また、これら制御装置１１４からの指示の応答時、ロボットアーム制御装置１０２や搬送制御装置１０４などの各種ＩｏＴ装置は、前述同様のＩＤ情報およびＩｏＴデータ（メッセージ）が送出され、データ管理サーバ１１２に蓄積、記録される。
【００７０】
制御装置１１４は、生産ラインないしそれを構成する生産機器の稼働を終了させる時、システム内の各種ＩｏＴ装置（１０２、１０４）およびスマートカメラ（１０６〜１０８）に動作終了指令を送出する。これにより、スマートカメラ（１０６〜１０８）の撮像モード（撮像期間）が終了する。なお、ラインを停止させる他に、例えばスマートカメラ（１０６〜１０８）を交換する必要が生じたような場合でも、同様にして撮像期間を終了させることができる。
【００７１】
スマートカメラは、例えば図８のステップＳ１１において、トリガ待ちの状態で、外部Ｉ／Ｆ制御プログラム２０３５を介して画像データ送信するよう指令を受けたり、動作終了指令を受けたりすると、撮像期間が終了したと認識する。即ち、上記の指令により、撮像期間が終了し、撮像休止期間に入ったと認識する（Ｓ１１−＞Ｓ１６）。
【００７２】
図８のステップＳ１６は、スマートカメラの撮像休止期間に相当する。撮像休止期間は、制御装置１１４から、スマートカメラへの指令等によって、切り替えられる。
【００７３】
スマートカメラは、制御装置１１４からの画像データを送信するよう指令を受けると、撮像休止期間に入り、データ管理サーバ１１２に対して、画像データ送出開始指令を送出し、データ管理サーバ１１２側の準備を確認する。この確認がとれると、スマートカメラ（１０６〜１０８）は、データ管理サーバ１１２に対して、生産機器稼働中に内部ストレージ２０８に撮像、蓄積したＩＤ情報およびそれに関連付けられた画像データを送信する。送信する画像データは、撮像休止期間中の長さに応じて、送信可能な容量の画像データを送信すればよく、１回の撮像で得られる画像データであってもよいし、複数回分の画像データであってもよい。
【００７４】
この時、送信済みのＩＤ情報や撮影画像は、基本的にはスマートカメラの内部ストレージから消去する。しかしながら、内部ストレージの記録容量の許す限り、内部ストレージの容量が一杯になった時点で、順に撮影情報の古いものから順に情報を削除しつつ、新しい情報を記録更新するような仕様を採用してもよい。
【００７５】
なお、図２のスマートカメラ（１０６〜１０８）において、画像処理プログラム２０３１には、画像処理を行う上で必須の画像処理パラメータが存在する。この画像処理パラメータは、例えば画像処理プログラム２０３１のプログラムコード中に記録されていてもよい。また、同画像処理パラメータは、内部ストレージ２０８に配置した記憶領域に記憶させ、画像処理プログラム２０３１が起動するたびにそれを読み出すような仕様であってもよい。また、この画像処理プログラム２０３１および画像処理パラメータは、独立または一緒にデータ管理サーバからの指令とデータ転送により、リモートで更新することができる。スマートカメラ（１０６〜１０８）側では、スマートカメラプログラム２０３に上記の更新動作に対応するアップデートプログラムを含めておくことができる。
【００７６】
図３は、本実施の形態に使用するデータ管理サーバ１１２の構成例を示している。図３のデータ管理サーバ１１２の各部は、制御部を構成するＣＰＵ３０１を中心に配置されている。ＣＰＵ３０１が管理するデータバスやアドレスバスなどの各種の信号線から成るバスライン３０２には、メモリ３１１の他、バスライン３０２を介して、ＵＳＢコントローラ３０３〜３０５に接続されている。
【００７７】
さらに、図３のデータ管理サーバ１１２は、各種ＩｏＴ機器やスマートカメラ（１０６〜１０８）に接続するためのＬＡＮコントローラ３０６と、ＩＤ情報生成手段３１５を備える。ＩＤ情報生成手段３１５は例えばＩ２Ｃバス３１４を介してバスライン３０２と接続される。
【００７８】
ＵＳＢコントローラ３０３には、大量のＩｏＴデータを蓄える不揮発ストレージ装置３１０が接続されている。不揮発ストレージ装置３１０は、ＨＤＤやＳＳＤなどのディスク装置から構成することができる。また、不揮発ストレージ装置３１０は、ＵＳＢインターフェースに限らず、ＳＡＴ、ＳＣＳＩなどのディスクＩ／Ｆを介して接続されてもよい。
【００７９】
表示装置３０９は、装置の動作状態や傾向、さらには画像や画像処理結果を確認するためのＬＣＤディスプレイなどの表示デバイスから構成される。操作入力装置３０８は、表示装置３０９とともに例えば生産ラインの管理者のためのユーザーインターフェースを構成する。この操作入力装置３０８はキーボードやマウスその他のポインティングデバイスから成る。
【００８０】
ＬＡＮハブ３０７は、ＬＡＮコントローラ３０６を介して接続されている。このＬＡＮハブ３０７はＬＡＮハブ１１０と同じものであってもよいし、またＬＡＮハブ１１０に向かうネットワークケーブルの接続に用いられる別のハブであってもよい。いずれにしてもこのＬＡＮハブ３０７を介して、上述の各種ＩｏＴ装置（１０２、１０４）やスマートカメラ（１０６〜１０８）の間のネットワーク接続が行われる。
【００８１】
メモリ３１１は、ＤＲＡＭやＲＯＭで構成される記録メモリであり、内部的には、その記憶領域は、画像やデータ等を一時的に保存する処理データ一時保存領域３１３と、情報管理プログラム３１２に分けることができる。
【００８２】
さらに情報管理プログラム３１２は３１２０〜３１２９で示すような各部（プログラムモジュール、サブルーチンやカーネルサービス）のプログラムで構成される。以下、これらプログラム（３１２０〜３１２９）の各部の構成ないしは基本的な動作につき説明する。
【００８３】
データ管理サーバ１１２は、生産ラインの中で、各種ＩｏＴ機器、スマートカメラより早く起動しておく必要があり、また、生産機器の非稼働中でも、動作を止めず、連続的に稼働させておくよう運用される。
【００８４】
データ管理サーバ１１２は、外部Ｉ／Ｆ制御プログラム３１２３から、各種ＩｏＴ機器やスマートカメラからの起動信号を確認すると、ＮＴＰサーバプログラム３１２９により、計時情報を抽出する。例えば、ＩＤ情報生成手段３１５が内蔵するＲＴＣ３１５Ａから基準ＩＤ情報として（マスタ）計時情報を抽出する。そしてこの基準ＩＤ情報としての計時情報を各種ＩｏＴ機器や、スマートカメラに送信して、データ管理サーバ１１２内のＩＤ情報と各種ＩｏＴ機器やスマートカメラとのＩＤ情報（この場合計時情報）の整合を図る。このＩＤ情報（計時情報）の整合は、新規に各種ＩｏＴ機器（１０２、１０４）やスマートカメラ（１０６〜１０８）の起動を確認した時、制御装置１１４から生産稼働開始指令が送信された時、などに行うことができる。また、連続稼働時間が所定時間を超えたときに、データ管理サーバ１１２側から指令が送信された時に行うことができ、さらに、各種ＩｏＴ機器（１０２、１０４）やスマートカメラ（１０６〜１０８）の側からのリクエストに応じて行われるものであってもよい。
【００８５】
このようなＩＤ情報生成手段３１５の生成するＩＤ情報としては、上記の計時情報の他、いわゆるティック（ｔｉｃｋ）などとして利用可能な、一定のタイミング、ＰＬＣ工程毎にインクリメントさせるようなカウンタの計数値を利用してもよい。
【００８６】
情報管理プログラム３１２には、各種ＩｏＴ機器やスマートカメラからのデータ送出に対応して、送られてきた情報を逐次、不揮発ストレージ装置３１０に記録させるデータ保存プログラム３１２７が含まれる。このデータ保存プログラム３１２７は、不揮発ストレージ装置３１０に、各種の解析用データとして、送信されたＩｏＴ情報がＩＤ情報をキー項目として検索可能な形式で保存される。データ保存プログラム３１２７は、このようなデータベース処理を行えるような公知のデータベースエンジンを利用して構成することができる。
【００８７】
なお、本実施形態では、ＩＤ情報はＩｏＴ情報の元となったセンサ情報を取得した時刻に相当する計時情報であるため、データ管理サーバ１１２に届く時刻が必ずしも、時刻順に届くとは限らない。そのため、情報再構築プログラム３１２４によって、例えばキー情報であるＩＤ情報をもとに、時刻順に並び替えて、データを再構築することが可能になっている。なお、この時、情報再構築プログラム３１２４によってＩｏＴデータのそのものを全てソーティングする必要はない。例えば、キーとなるＩＤ情報には、それぞれ、対応するデータ番号を割り当て、それに紐付ける形で、不揮発ストレージ装置３１０に記録する。この場合には、データのソーティングは、ＩＤ情報とその紐付けられたデータ番号に対して行えばよいことになる。
【００８８】
通常の生産ライン稼働時は、例えば不揮発ストレージ装置３１０に解析に必要なＩｏＴ情報が揃った時点で、傾向管理プログラム３１２６で各機器の動作傾向を解析することができる。傾向管理プログラム３１２６では、例えば、画像処理パラメータの更新や、装置に対する警告を表示、記録するような予知保全動作を行うことができ、これにより当該の生産ラインを動的に制御し、安定稼働を実現できる。傾向管理プログラムは、人手によるプログラム解析手段を含んでいてもよく、また、各種ＩｏＴ情報を、ディープラーニング処理３１２５を用いて、生産イベントの関連付けや、傾向分析を行うこともできる。
【００８９】
また、データ管理サーバ１１２のデータ保存プログラム３１２７は、生産機器の非稼働時に、スマートカメラ（１０６〜１０８）から送信（図８のＳ１６）されたＩＤ情報に関連付けられた生産機器の撮像結果としての画像データを入手することができる。このＩＤ情報および（生の）画像データは、図１の構成では、例えば外部記録装置１１３にロギングされる。このスマートカメラ（１０６〜１０８）から送信されたＩＤ情報および（生の）画像データは、次の活用をすることができる。
【００９０】
まず、傾向管理プログラム３１２６によっては原因が解明しづらいような突発事象、トラブルが生産機器に発生した時に利用できる。前述したように、データ管理サーバ１１２内のＩＤ情報と各種ＩｏＴ機器やスマートカメラとのＩＤ情報との整合が定期的に図られている。従って、ＩＤ情報を用いて、各種ＩｏＴ機材（１０２、１０４）からの情報とその突発事象の発生時刻にスマートカメラ（１０６〜１０８）が撮影した画像処理を経ていない、生の画像データとを対応づけることができる。具体例としては、突発事象の発生時刻に対応するＩＤ情報と関連付けられた、ロボットアームが備えるモータの温度およびエンコーダからの出力値と、生の画像データとを照らし合わせることができる。これにより、生産システムの管理者は、その突発事象における生産機器の状態をさまざまな角度からつぶさに観察することができ、発生した事象の真因を探ることが可能になる。
【００９１】
また、この種の分析にディープラーニング処理３１２５を利用してもよい。図３のデータ管理サーバ（１１２）には、スマートカメラ（１０６〜１０８）に内蔵された画像処理プログラム（２０３１）と、画像処理ＬＩＢ（２０３２）と同等の画像処理プログラム３１２１）と、画像処理ＬＩＢ３１２２が配置されている。従って、ディープラーニング処理３１２５によって、これらを動作させて各種画像パラメータと各種ＩｏＴ機器からの情報の傾向を分析できる。これにより、例えば、スマートカメラ（１０６〜１０８）の画像処理プログラムや画像処理パラメータを変更した際に、どのような事象が発生するかを予めシミュレートできる。また、ディープラーニング処理３１２５を介して画像処理プログラムや画像処理パラメータを一部改変するなどのアップデートも可能である。このようにして更新された画像処理プログラムや画像処理パラメータは、外部Ｉ／Ｆ制御プログラム３１２３の主導によって、ＬＡＮコントローラ３０６を経由してスマートカメラ（１０６〜１０８）に送信する。これにより、スマートカメラ（１０６〜１０８）は画像処理プログラム（２０３１）と、画像処理ＬＩＢ（２０３２）と同等のアップデートを実施することができる。また、スマートカメラ（１０６〜１０８）のみならず、他のＩｏＴ機器である生産機器（１０１、１０３）の制御装置（１０２、１０４）の機器制御プログラムやその制御パラメータなどを更新するようにしてもよい。
【００９２】
即ち、データ管理サーバ１１２は、スマートカメラ１０６〜１０８から送信された画像処理結果および／または画像データ、をディープラーニング処理などにより解析することができる。そして、その解析結果に基づき、生産機器の制御装置（１０２、１０４）やスマートカメラ１０６〜１０８の制御プログラムを更新させることができる。
【００９３】
他の利用法として、画像処理結果を送信する撮像期間と、生の画像データを送信する撮像休止期間とが交互に設定されている場合は、画像処理結果に応じて、生の画像データに対して画像処理を行い、より詳細な情報を取得することが可能となる。例えば、画像処理結果として、ワークの良否判断に関する特徴量を取得する場合に、得られた画像処理結果がワークの不良を示していると、続いて取得した生の画像データからワークの詳細な情報を取得する。具体的には、スマートカメラでの画像処理とは別の画像処理を施すなどの解析を行うことによって、不良と判定された状態をさらに詳しく知ることが可能となる。それにより、不良の原因を追究することが可能となる場合がある。
【００９４】
ここで、図９に、上記の撮像期間（図８のＳ１１〜Ｓ１５）において、スマートカメラ（１０６〜１０８）が送信し、例えば外部記録装置１１３にロギングされた、ＩＤ情報と関連付けされたＩｏＴ情報としての画像処理結果の一例を示す。また、図１０は、撮像休止期間（図８のＳ１６）において、スマートカメラ（１０６〜１０８）が送信し、例えば外部記録装置１１３にロギングされた、ＩＤ情報に関連付けられた生産機器の撮像結果としての画像データの一例を示す。
【００９５】
図９の１行は、特定のＩＤ情報（Ｌ１）に関連付けされた画像処理結果データの１レコードに相当する。この１レコードは、例えばＩＤ情報（Ｌ１）の他、Ｌ２〜Ｌ５の各フィールドから構成することができる。なお、図９（図１０も同様）の図示は、理解を容易にするため、各種のＯＳなどにおいて用いられているログデータと同様の可読テキストによる形式による表示に過ぎない。従って、実際に送受信されるＩＤ情報や画像処理結果は、他の形式、例えば特定の規約に基づき記述されたバイナリデータであってよい。また、図９（図１０も同様）は、データ管理サーバ１１２の表示装置３０９の表示画面で表示されるログ形式の表示と考えてもよい。
【００９６】
図９のＩＤ情報のフィールドＬ１は、日時表示となっており、本実施形態のようにＩＤ情報に計時情報を用いる場合には、この部分が画像処理結果に関連付けされたＩＤ情報に相当する。Ｌ４のフィールド（ＬＯＧＣＯＤＥ）は、画像処理結果に相当するリザルトコード（あるいはエラーないし警告コード）で、実際には何らかの数字や文字列によって表現される。本実施形態の場合、画像処理結果レコードは、ＩＤ情報および画像処理結果に相当するフィールドＬ１およびＬ４のみが送信されれば、上記の構成および動作は実施可能である。しかしながら、図９の例では、スマートカメラ（１０６〜１０８）を識別するフィールドＬ２、識別番号のフィールドＬ３、詳細な画像処理結果ないしデータ管理サーバ１１２が実行した解析結果へのポインタのフィールドＬ５などを含んでいる。これらのうち、フィールドＬ２のスマートカメラ識別情報は、データ管理サーバ１１２が送信元のスマートカメラを識別するため付与することができる。識別番号のフィールドＬ３は、当該レコードの通し番号などとしてデータ管理サーバ１１２が発生したものであってよい。このようなデータ番号は、上述のＩｏＴデータの並べ換えを行う時のポインタデータなどとして利用できる。
【００９７】
一方、図１０は、撮像休止期間（図８のＳ１６）において、スマートカメラ（１０６〜１０８）が送信し、例えば外部記録装置１１３にロギングされた、ＩＤ情報に関連付けられた生産機器の撮像結果としての画像データである。ここでは、各行に、特定のスマートカメラの１台（ｃａｍｅｒａ−０００１）が送信した未処理の画像データレコードと、画像処理結果データレコードＬＤ１が並んでいる。この図１０の状態は、ＩＤ情報（計時情報）をキーとしてソート済みの状態であり、図９の最上段のレコードＬＤ１と同じ画像処理結果レコードＬＤ１が２行目に並んでいる。
【００９８】
図１０において、フィールドＬ１、Ｌ２、Ｌ３は図９と同様にＩＤ情報、カメラの識別情報、レコード番号である。また、フィールドＬ６は無圧縮の画像データを示しており、ログファイルのフィールドＬ６の位置には、例えばＴＩＦＦ、ＢＭＰ、ＰＮＭなどの非圧縮画像データのストリームが並んでいてよい。あるいはフィールドＬ６の位置には、例えば、別ファイルで外部記録装置１１３に格納されている画像ファイルのパス名であってもよい。
【００９９】
なお、後述のようにバーコードを介して得た工程管理番号のようなＩＤ情報を利用する場合には、図９、図１０のフィールドＬ１をそのＩＤ情報のために用いることができる。また、図９、図１０のフィールドＬ３を工程管理番号のようなＩＤ情報を記録するのに割り当ててもよい。
【０１００】
以上のように、本実施形態の生産管理システムは、ＩＤ情報と関連付けされたＩｏＴ情報としてのスマートカメラ（１０６〜１０８）の解析した画像処理結果や、各ＩｏＴ機器（１０２、１０４）からフィードバックされる生産管理情報を利用できる。これにより、稼働時の生産機器（１０１、１０３）の傾向分析とそれに基づく制御パラメータの変更などの生産管理を定常的に行うことができる。
【０１０１】
さらに、例えば生産ラインを停止させる時などに、スマートカメラ（１０６〜１０８）を、撮像休止期間に移行させ、撮像期間において撮影した画像処理を経ていない、生の画像データを送信させ、例えば外部記録装置１１３に蓄積、記録することができる。これにより、スマートカメラ（１０６〜１０８）の解析した画像処理結果のみならず、撮像した生の画像データを用いてより詳しいデータ分析を行うことができる。このため、予期しないような突発事象、トラブルが生産機器に発生した場合でも問題解決の可能性が高まり、従って、当該の生産システムの安定稼働を図ることができる。
【０１０２】
なお、上記と同様のデータ分析を行うことにより、例えば外部記録装置１１３や不揮発ストレージ装置３１０に取得した画像や各種ＩｏＴ機器のＩｏＴ情報を、情報の有効度などの尺度でランク付けしてもよい。例えば、傾向分析を行った結果、関連性の低いような情報や撮像画像データは、ランクを低く設定する。このようなランク付けを行うことで、例えば外部記録装置１１３や不揮発ストレージ装置３１０が満杯に近づいた時点で、ランクの低いものから順に、データの消去を行うような処理が可能となる。これにより無限に増大しがちなビッグデータの情報量を抑制することができる。
【０１０３】
＜実施形態２＞
図４〜図７に、スマートカメラを用いた生産システムの第２の実施形態を示す。上記実施形態１では、生産ラインの各部とスマートカメラが有線ネットワークシステムを介して通信したが、本実施形態２では無線通信を利用可能なステレオスマートカメラ４０３を用いている。また、ステレオスマートカメラ４０３は、充電式のバッテリーで動作し、クレイドル４０７に載置した時に充電できるよう構成されている。
【０１０４】
図４は、図１と同等の様式で本実施形態２の生産管理システムの全体構成を示している。把持装置としてハンド４０２を備えたロボットアーム１０１を生産機器の１つとして備えている。図４では不図示であるが、生産ラインには他のロボットアームや搬送装置１０３（図１）のような生産機器が含まれていてもよい。
【０１０５】
本実施形態２では、ワイヤレスで操作可能なステレオスマートカメラ４０３の撮像時における位置姿勢は、例えばロボットアーム１０１のハンド４０２によって制御することができる。即ち、ステレオスマートカメラ４０３は、撮影が必要な時に、ロボットアーム１０１のハンド４０２に把持され、例えば不図示のワークやマーカ、バーコード（あるいは他の生産機器）などを撮像する位置姿勢に制御される。そして、撮影モードを終え、撮影休止モードに移行する時には、ロボットアーム１０１（把持装置）によってステレオスマートカメラ４０３をクレイドル４０７に移設、載置することができる。先の実施形態１では、制御装置により、撮影期間と撮影休止期間とを切り替えたが、本実施形態２のようにクレイドルを利用できる場合は、例えばクレイドルを利用して撮影期間と撮影休止期間とを切り替えることができる。例えば、スマートカメラ１０６〜１０８に、クレイドル４０７の検知機構を備え、クレイドルから外されると、撮影期間に移行し、クレイドルに載置されると、撮影休止期間に移行するよう制御する。
【０１０６】
なお、以下では、上述の実施形態１と同一ないし同等の部材には同一符号を用い、特に必要がなければ上記と重複した説明は省略するものとする。
【０１０７】
ステレオスマートカメラ４０３は、撮像部として少なくとも２つのカメラ（２０６ａ、２０６ｂ：図６）を備え、３次元測定ないし奥行き（深さ）測定などの位置計測を行うことができる。
【０１０８】
ロボットアーム１０１は、作業台４０４上で生産の対象であるワーク（不図示）を操作する。作業台４０４には、ロボットアーム１０１の作業時の位置姿勢を制御するためのマーカ４０５、および作業台４０４に相当する工程固有の値が入ったバーコード４０６が設けられている。
【０１０９】
上記の実施形態１と同様に、ロボットアーム１０１はロボットアーム制御装置１０２を介して、生産機器全体を制御するＰＬＣなどの制御装置１１４によって制御される。また、ロボットアーム１０１は、作業者の手動操作を受け付けるペンダント４０９を介して実時間で操作でき、またその動作を介してロボット動作の教示やその修正などを行えるようになっている。
【０１１０】
ステレオスマートカメラ４０３は、撮像休止期間においては、クレイドル４０７に載置され、クレイドル４０７を介して内蔵のバッテリーを充電するとともに、クレイドル４０７経由でシステムの有線ＬＡＮに接続される。従って、撮像休止期間における画像データのデータ管理サーバ１１２への送信は、クレイドル４０７を介して行うことができる。
【０１１１】
図４の生産システムは、上記実施形態１と同様に、大容量の外部記録装置１１３と接続されたデータ管理サーバ１１２、および上記の生産機器全体を制御する制御装置１１４を備える。
【０１１２】
データ管理サーバ１１２、制御装置１１４、ロボットアーム制御装置１０２は、ＬＡＮハブ４１３、４１４を介して敷設された有線ＬＡＮの（例えばＩＥＥＥ  ８０２．３）ネットワークで接続する。ＬＡＮハブ４１３には、ステレオスマートカメラ４０３とＩＥＥＥ  ８０２．１１規格などにより無線通信を行うためのＷｉＦｉステーション４１０が接続されている。
【０１１３】
ＰＬＣコントローラなどから成る制御装置１１４、およびロボットアーム制御装置１０２の構成は、実施形態１と同様である。制御装置１１４はロボットアーム制御装置１０２を介してロボットアーム１０１やハンド４０２に対し、各工程毎の動作指示を行う。
【０１１４】
ロボットアーム制御装置１０２は、例えば予め教示用のペンダント４０９などで指示、作成されたロボット教示データを有し、制御装置１１４の指示によって定められた動作を工程毎にロボットアーム１０１に行わせる。
【０１１５】
また、ロボットアーム制御装置１０２は、前述の実施形態１と同様にロボット内に組み込まれた各種センサの出力値（温度、エンコーダ値、力覚値等）を上記の有線ＬＡＮを介してデータ管理サーバ１１２に送信する。
【０１１６】
図５は、ステレオスマートカメラ４０３と、そのクレイドル４０７、およびそれを操作するロボットアーム１０１のハンド４０２を示している。ステレオスマートカメラ４０３は、撮像を行わない撮像休止期間では、クレイドル４０７に載置されている。クレイドル４０７には、接点５０３が配置され、ステレオスマートカメラ４０３は、クレイドルに載置されている間、カメラ側の固定接点５０２と接点５０３が接触し、内部のバッテリーを充電し、また、上記の有線ＬＡＮとネットワーク接続される。なお、図５では接点５０３は２端子のみ図示しているが、有線ＬＡＮ接続と充電のために用いられる端子の数や配置パターンは任意である。
【０１１７】
一方、即ちワークや作業台４０４廻りの撮像を行う時（上述の撮像期間）には、制御装置１１４がロボットアーム１０１を制御し、ハンド４０２によってステレオスマートカメラ４０３を把持させ、クレイドル４０７から外し、撮像を行う位置姿勢に制御する。
【０１１８】
図５の右側の図示は、ハンド４０２がステレオスマートカメラ４０３を把持している状態を示している（５０１）。この状態で、ステレオスマートカメラ４０３はカメラ背面に設けられた突起５０５（同図左側）によってハンド４０２に対する座面位置が位置決めされる。一方、ハンド４０２は、例えば内側に配置された爪部４０２ａのような突起を介してステレオスマートカメラ４０３の固定接点５０２の部位を把持する。以上のようにして、例えばハンド４０２がステレオスマートカメラ４０３を把持する時の位置姿勢を適当な精度範囲で保証することができる。
【０１１９】
撮像休止期間では、ハンド４０２がステレオスマートカメラ４０３を生産ライン中の所定位置に配置されたクレイドル４０７に載置する。この載置状態では、カメラ側の固定接点５０２が、クレイドルの接点５０３に接触するように載置される。図５左側のケーブル５０４は、接点５０３に接続されており、電源の供給ケーブルであると同時に、ＬＡＮハブ（４１４：図４）に接続される。これにより、クレイドル載置状態において、ステレオスマートカメラ４０３は有線ＬＡＮを介してデータ管理サーバ１１２と通信することができる。また上記のように、固定接点５０２は、同時に電源をステレオスマートカメラ４０３のバッテリーに供給する機能を有する。
【０１２０】
図４の作業台４０４には、予めその作業台の工程管理番号に相当する固有番号がバーコード４０６によって記載されている。ステレオスマートカメラ４０３は、このバーコード値を読み取り、そして、さらに、作業台４０４に設置されているマーカ４０５を読み取り、位置計測を行うことができる。
【０１２１】
ステレオスマートカメラ４０３が撮影し、計測した作業台４０４の位置計測値は撮影画像から読み取ったバーコード値（工程管理番号）をＩＤ情報として、無線ＷｉＦｉステーション４１０を介した無線通信によりデータ管理サーバ１１２に送信される。また、ＩＤ情報としてのバーコード値（工程管理番号）と位置計測値はロボットアーム制御装置１０２（図４）、あるいはさらに制御装置１１４に送信される。
【０１２２】
これにより、図４のロボットアーム制御装置１０２は、マーカ４０５の計測位置を介して、作業台４０４の現実の位置を特定でき、本来のあるべきロボットハンドの位置と現在の教示位置とのズレを計算することができる。従って、作業台４０４の現実の位置情報を用い、例えばペンダント４０９によって教示された教示点位置を自動的に修正することができる。
【０１２３】
このような、視覚系（ステレオスマートカメラ４０３）を利用した位置計測は、ハンド４０２の交換や、ロボットアーム１０１の本体やハンドが作業台等と干渉（いわゆるクラッシュ）した時のハンド位置のずれ量を計測する場合などにも有効である。このような視覚系（ステレオスマートカメラ４０３）を用いることにより、例えば、一度、作業者がラフな状態で、ロボットの動作を教示した後、その教示点を、視覚系を利用して精密に自動修正することができる。また、ハンド４０２に、部品交換やクラッシュ等に起因する歪みなどがある場合にも教示点を適宜修正することができ、作業者の手間を大幅に削減することが可能になる。
【０１２４】
図６は、実施形態１の図２と同様の様式で、ステレオスマートカメラ４０３の構成を示している。図６では、図２と同一ないし同等の部材には同一符号を用いてあり、その詳細な説明は省略し、以下では異なる要素についてのみ説明するものとする。
【０１２５】
図６の構成で図２と異なるのは、撮像部がカメラ２０６ａ、２０６ｂの２台（ステレオ）構成であることと、ＩＤ情報としてバーコード４０６を用いるため、図２のＲＴＣなどを用いて構成されたＩＤ生成手段２１０が図示省略してある点である。ただし、ＲＴＣなどによるＩＤ生成手段２１０は、図２と同様にステレオスマートカメラ４０３内に配置されていてもよい。また、図６のステレオスマートカメラ（４０３）では、下記のようにネットワーク廻りの構成が図２の構成と異なる。
【０１２６】
ステレオ撮影を行うカメラ２０６ａ、２０６ｂは、それぞれ前述同様のＭＩＰＩインターフェース２０５ａ、２０５ｂを介して接続される。このようにカメラが複数ある場合は特に、低消費電力で比較的簡単なＭＩＰＩインターフェースを採用することで、低コストな構成を実現できる。内部ストレージ２０８廻りの構成は図２と同様である。
【０１２７】
図６のステレオスマートカメラ（４０３）のネットワーク廻りは、ＰＯＥ６１５（ＰｏｗｅｒＯｖｅｒＥｔｈｅｒｎｅｔ）および無線ＬＡＮデバイス６１２を制御するＬＡＮコントローラ６１１から成る。ＰＯＥ６１５は、クレイドル４０７にカメラが載置された時、クレイドル側の接点５０３とカメラ側の固定接点５０２を介して有線ネットワークに接続され、またＰＯＥ６１５を介してカメラの電源制御部６１６への給電が行われる。
【０１２８】
図６のステレオスマートカメラ（４０３）は、クレイドル４０７から外された状態では、バッテリー６１７によって各部が動作する。このバッテリー６１７は充電式の電池であり、クレイドル４０７の載置状態において、電源制御部６１６がＰＯＥ６１５を介して供給された電力を用い、例えば充電残量などに応じて充電される。
【０１２９】
図６において、メモリ２０２のスマートカメラプログラム２０３の構成は、ブロック単位ではほぼ同等であるが、各部（２０３１〜２０３９：プログラムモジュール、サブルーチンやカーネルサービス）の動作で多少異なる部分がある。以下、これらプログラム（２０３１〜２０３９）の各部の構成ないしは基本的な動作につき説明する。
【０１３０】
生産システムの起動時、ステレオスマートカメラ４０３（図４）は、クレイドル４０７に載置された状態で待機している。この状態では、上記のようにクレイドルの接点５０３と固定接点５０２を介して（図５）、ステレオスマートカメラ４０３のバッテリー６１７（図６）が充電されるとともに、有線ＬＡＮと接続されている。
【０１３１】
ステレオスマートカメラ４０３の電源が起動すると、システム診断プログラム２０３６が起動し、当該スマートカメラの各部の故障の有無を確認する自己診断を行う。また、この時、ＬＡＮコントローラ６１１の状態、即ち有線および無線ＬＡＮでの接続状態などが確認される。上記自己診断の結果、問題がなければ外部Ｉ／Ｆ制御プログラム２０３３によって、当該のスマートカメラの起動が制御装置１１４やデータ管理サーバ１１２に通知される。
【０１３２】
制御装置１１４において、各生産機器およびステレオスマートカメラ４０３は、工程番号毎に、様々な動作が予めプログラミングされており、ハンド４０２、ステレオスマートカメラ４０３の動作は、例えば全て制御装置１１４によって制御される。
【０１３３】
本実施形態では、（ＩＤ情報として上述同様の計時情報を用いてもよいが）例えばバーコード４０６を介して取得可能な工程管理番号をＩＤ情報として機器の管理を行う。データ管理サーバ１１２工程管理番号をＩＤ情報として、ロボットアーム１０１やハンド４０２、ステレオスマートカメラ４０３などのＩｏＴ機器がどのような情報を出力したかを記録する。
【０１３４】
スマートカメラプログラム２０３には、そのスマートカメラが実行する検査内容に応じて、いくつかの異なる画像処理を実行する画像処理プログラム２０３１がインストールされている。画像処理プログラム２０３１は、基本的な画像処理プログラムである画像処理ＬＩＢ２０３２（ライブラリ）のルーチンを利用して実行されるよう記述されている。
【０１３５】
本実施形態２では、例えばステレオスマートカメラ４０３は、ロボットアーム１０１の教示データの修正に使用することができる。このロボットアーム１０１の教示データの修正は、下記のような制御装置１１４（ＰＬＣ）の制御によって行われる。このロボットアーム１０１の教示データの修正は、例えば生産ラインの本稼働時の制御プログラムとは独立したサブプログラムで実現される。
【０１３６】
まず、制御装置１１４が、ロボットアーム１０１およびハンド４０２を制御してステレオスマートカメラ４０３を把持させ、クレイドル４０７から取り外す。ステレオスマートカメラ４０３は、クレイドル４０７から取り外されると、電源制御部６１６によって、カメラの各部はバッテリー（６１７）駆動に移行するとともに、ネットワーク接続が無線ＷｉＦｉステーション４１０を経由する無線接続に切り換わる。
【０１３７】
教示データの修正を行う場合、制御装置１１４がロボットアーム１０１を制御して、ペンダント４０９などで教示された所定の位置姿勢にハンド４０２で把持したステレオスマートカメラ４０３を移動させる。この時のステレオスマートカメラ４０３の位置姿勢は、作業台４０４に設置されているバーコード４０６を撮像できる位置姿勢とする。
【０１３８】
制御装置１１４が撮影を指示するトリガ指令を送信すると、ステレオスマートカメラ４０３はこのトリガ指令を無線ＷｉＦｉステーション４１０を介して受信する。このトリガ指令の受信は、ステレオスマートカメラ４０３の外部Ｉ／Ｆ制御プログラム２０３３によって検出される。
【０１３９】
受信したトリガ指令に応じて、ステレオスマートカメラ４０３ではカメラ制御プログラム２０３７が動作し、作業台４０４に設置されているバーコード４０６をカメラ２０６ａ、２０６ｂによって撮影させる。ただし、バーコード４０６のデコードの場合、必ずしもステレオ撮影を行わなくてもよく、カメラ２０６ａ、２０６ｂのいずれか一方のみを用いた撮影であってもよい。
【０１４０】
バーコード４０６の撮像データは画像処理ＬＩＢ２０３２に用意されているルーチンによって、バーコードの記述内容に相当する数値または文字列に変換される。本実施形態では、このバーコード４０６の内容は工程管理番号であり、このバーコード４０６を介して取得した工程管理番号をＩＤ情報として用いる。
【０１４１】
バーコード４０６からデコードされた工程管理番号は処理データ一時保存領域２０４に格納されるとともに、カメラ制御プログラム２０３７を介して、カメラ２０６ａ、２０６ｂに撮影開始信号を送信して撮影動作を開始させる。カメラ２０６ａ、２０６ｂでステレオ撮影された画像データは、一旦、処理データ一時保存領域２０４に記憶される。
【０１４２】
続いて、画像処理プログラム２０３１によって、撮影した画像データに対する画像処理を行い、その画像処理結果を処理データ一時保存領域２０４に記憶する。この教示点修正のための画像処理は、例えば、画像認識などによって、作業台４０４のマーカ４０５の現状の（カメラやハンド４０２に対する）相対位置姿勢を取得するものとする。
【０１４３】
処理データ一時保存領域２０４に記憶されたＩＤ情報と画像処理結果は、無線ＬＡＮを経由して有線ＬＡＮ側に伝達され、制御装置１１４およびデータ管理サーバ１１２に送信される。即ち、ＩＤ情報と関連付けされた画像処理結果は、外部通信Ｉ／Ｆ制御プログラム２０３３の主導によってＬＡＮコントローラ６１１〜無線ＷｉＦｉデバイス６１２を介して有線ＬＡＮ側に伝達され、制御装置１１４およびデータ管理サーバ１１２に送信される。
【０１４４】
制御装置１１４では、上記のＩＤ情報と関連付けされた画像処理結果、例えば作業台４０４のマーカ４０５の現状の相対位置姿勢を用いて、作業台４０４にアプローチする時のロボットアーム１０１の軌道データなどを修正することができる。
【０１４５】
一方、処理データ一時保存領域２０４に記憶されたＩＤ情報と画像処理前の撮影画像は、内部Ｉ／Ｆ制御プログラム２０３５を介して、ステレオスマートカメラ４０３の内部ストレージ２０８に記録保存される。その後、ステレオスマートカメラ４０３は再びトリガ待ちの状態に戻る。
【０１４６】
以上のように、本実施形態２では、実施形態１のＩＤ生成手段（２１０）のような特段のハードウェアを用いておらず、撮影したバーコード４０６から取得した工程管理番号をＩＤ情報として用いる。また、この場合には、ＩＤ生成手段は、カメラ２０６ａ、２０６ｂのスマートカメラプログラム２０３によって構成される、と考えてもよい。このように、ＩＤ生成手段は、特段のハードウェアを用いずとも、カメラのハードウェアおよびソフトウェアによって実現することもできる。
【０１４７】
なお、上記のサブ工程制御による教示点修正は、本生産工程とは直接的には無関係であって、本生産工程の順番通りに、ステレオスマートカメラの撮影が行われるとは限らない。そのため、作業台４０４に本生産工程に対応した工程管理番号をバーコード４０６で付与し、これを撮影してＩＤ情報として制御装置１１４やデータ管理サーバ１１２に送信することにより、本生産工程の制御動作との関連付けを容易に行うことができる。また、この工程管理番号によるＩＤ情報は、ロボットコントローラ内の教示点データを特定する場合にも使用することができる。
【０１４８】
また、以上の説明では、１つの作業台４０４と１つのマーカ４０５、１つのバーコード４０６のみに言及した。しかしながら、複数の作業台を用意して、同様に例えばそれぞれ固有のマークとバーコードを付与しておけば、上記と同様の処理によって、複数の教示データの修正を一回のサブ工程内で実施することが可能である。
【０１４９】
教示データの修正を行うサブ工程が全て終了すると、ステレオスマートカメラ４０３はクレイドル４０７に戻され、ネットワーク接続が有線ＬＡＮ側に切り換わり、同時にバッテリー６１７の充電が開始される。また、本生産工程においても、ステレオスマートカメラ４０３による撮影が必要な場合は、上記と同様の制御によってステレオスマートカメラ４０３の撮像期間を実現できる。そして、ステレオスマートカメラ４０３を撮像休止期間に移行させる時には、同様にステレオスマートカメラ４０３をクレイドル４０７に戻される。
【０１５０】
クレイドル４０７に戻されたステレオスマートカメラ４０３は、データ管理サーバ１１２と、今度は有線ＬＡＮを介して通信可能になる。従って、この状態では、実施形態１と同様に、内部ストレージ２０８に蓄積されたＩＤ情報と（生の）画像データを有線ＬＡＮ経由でデータ管理サーバ１１２に送信することができる。データ管理サーバ１１２では、ＩＤ情報に関連付けされた状態で画像データを外部記録装置１１３に蓄積できる。このため、実施形態１と同様に、予期しないトラブルが生じた時に、ＩＤ情報と（生の）画像データを利用し、詳細な事象解析を行うことができる。
【０１５１】
なお、データ管理サーバ１１２にＩＤ情報や撮影画像を送信した後のステレオスマートカメラ４０３の内部ストレージ２０８に関する扱いは実施形態１と同様でよい。
【０１５２】
以上のように、本実施形態２では、ステレオスマートカメラ４０３がロボットアーム１０１のハンド４０２に把持された状態では、無線通信によって制御装置１１４ないしデータ管理サーバ１１２と接続される。このように、ステレオスマートカメラ４０３は、例えば撮像期間においては、ワイヤレス動作で運用できる。このため、例えば教示点修正動作などにおいて、ロボットアーム１０１の各部の動作をケーブルが邪魔しないメリットがある。
【０１５３】
また、ステレオスマートカメラ４０３の撮像期間では、内部で実行した画像処理結果のみをＩＤ情報と関連付けして送信するだけでよい。このため、無線通信におけるパケット長は非常に短くて済み、比較的低速な無線ＬＡＮ経由でも、効率よくＩＤ情報と関連付けされた画像処理結果を制御装置１１４やデータ管理サーバ１１２に送信することができる。また、ＩＤ情報と関連付けされた画像処理結果のサイズは非常に小さいため、そのパケットその他の無線通信機器に与える影響は極めて小さく、無線機器のデータレスポンスに影響を与えないで済む。
【０１５４】
一方、教示点修正後、あるいは生産機器が動作しない本生産工程の間のインターバルなどにおいてステレオスマートカメラ４０３がクレイドル４０７に戻される撮像休止期間となる。この状態では、ステレオスマートカメラ４０３は有線ネットワーク接続状態となる。この状態では、有線ＬＡＮ経由でＩＤ情報と関連付けされた未処理の（生の）画像データをステレオスマートカメラ４０３から送信し、データ管理サーバ１１２でロギングすることができる。もちろん、この動作は無線ＬＡＮ側に一切の影響を与えずに、万一のトラブルに備え、ステレオスマートカメラ４０３の画像処理前の原画像をデータ管理サーバ１１２に送信し、ロギングさせることができる。
【０１５５】
なお、ステレオスマートカメラ４０３のスマートカメラの有線および無線通信は、その教示修正期間中も、クレイドル載置期間中も、共に電源ＯＮとする仕様で動作させることができる。しかしながら、当然、いずれか使わない方のネットワークインターフェースに関しては電源を切るような制御を行ってもよい。
【０１５６】
例えば、ステレオカメラにおいては、内部で発生する熱によってカメラ２０６ａ、２０６ｂの光学系の光軸間距離（基線長）が変化する事は重大な問題である。しかしながら、上記のような構成により、教示点修正動作中のデータの外部通信時間を短くする事で、その期間中の大きな電力を消費するネットワークＩ／Ｆへの電源供給時間を短くし、内部の発熱量を低減することができる。これにより、カメラ２０６ａ、２０６ｂの光学系の光軸間距離（基線長）に対する影響を低減でき、ステレオカメラの測定精度を上げることが可能になる。
【０１５７】
また、本実施形態２によれば、工程管理番号をＩＤ情報として用いている。このため、ある工程でトラブルが生じた場合、その工程に関する各種のＩｏＴデータや撮像した画像データの関係を工程管理番号を用いて容易に特定し、検索し、またソートしたりすることができる。また、前述の実施形態１と同様に、工程管理番号に応じた各種の解析をディープラーニング等の学習システムを用いて実行することができる。
【０１５８】
なお、画像処理プログラム２０３１の画像処理パラメータの記憶場所や、修正については、実施形態１で同様である。また、画像処理前の（生の）画像データは、工程管理番号をＩＤ情報としてデータ管理サーバ１１２によってロギングされる。このため、例えばロボットアーム１０１の教示データに起因するトラブルが発生した場合には、いつでも教示データの修正などに関してステレオスマートカメラ内で行った画像処理についてデータ管理サーバ１１２が検証することが可能である。
【０１５９】
また、ステレオスマートカメラ４０３の画像処理プログラム２０３１やその画像処理パラメータは、それぞれ独立して、両者セットでリモートで更新することができる。例えばステレオスマートカメラ４０３に対して、データ管理サーバ１１２から更新指令とデータ転送を行うことにより画像処理プログラム２０３１やその画像処理パラメータを更新する。そのため、ステレオスマートカメラ４０３のスマートカメラプログラム２０３に、上記のような更新処理に対応できるアップデートプログラムを用意しておくことができる。
【０１６０】
なお、図８に示したスマートカメラの撮像期間および撮像休止期間の制御シーケンスの流れは、本実施形態２のスマートカメラプログラム２０３の場合でもほぼ同様に実施できる。本実施形態では、撮像モード（撮像期間）か否かの判定（Ｓ１１）は、例えば、クレイドル載置状態か否かの判定によって行うことができる。また、本実施形態２の教示データ修正処理においては、ＩＤ情報の生成（Ｓ１２）と撮像（Ｓ１３）は、上記のバーコード４０６の撮像およびそのデコード処理に読み換えることができる。ＩＤ情報＋未処理の（生の）画像データ送信（Ｓ１６）は上記の実施形態１と同様である。
【０１６１】
また、図９のＩＤ情報＋画像処理結果のデータフォーマット、および図１０のＩＤ情報＋未処理の（生の）画像データのデータフォーマットも本実施形態２においてもほぼ同様に実施できる。その場合、フィールドＬ１の計時情報は例えば、データ管理サーバ１１２でログ記録を行った時刻情報とすることができる。バーコード４０６を介して取得した本実施形態のＩＤ情報としての工程管理番号は、例えばフィールドＬ３などの格納位置を利用してロギングすることができる。
【０１６２】
図７は、本実施形態２で実施可能なデータ管理サーバ１１２の構成例を示している。図７の基本的な構成は、実施形態１のデータ管理サーバ１１２（図３）とほぼ同じである。図７で図３と異なるのは、ＩＤ情報としての計時情報の時刻合せのため図３では配置されていたＮＴＰサーバプログラム３１２９が省略されている点である。しかしながら、本実施形態２においてもデータ管理サーバ１１２でＮＴＰサーバプログラム（図３の３１２９）を実装し、動作させることには何の問題もない。
【０１６３】
また、図７では、サブＩＤ情報生成手段３１５１がＩ２Ｃインターフェース３１４を介してバスライン３０２と接続されている。このサブＩＤ情報生成手段３１５１は、図３の場合と同様にＲＴＣ３１５Ａなどの計時デバイスによって構成でき、このＲＴＣなどの計時（時刻）情報をサブＩＤ情報として利用できる。例えば、以上では、本実施形態２において、図９、図１０のフィールドＬ１をロギング時刻とする構成を説明した。このフィールドＬ１のロギング時刻には、サブＩＤ情報生成手段３１５１の発生したサブＩＤ情報としての計時（時刻）情報を用いることができる。
【０１６４】
このように本実施形態２では、ＩｏＴ情報を識別し、また相互に関連付けるメインのＩＤ情報としては、制御装置１１４が統轄する工程管理番号を用い、サブＩＤ情報生成手段３１５１のＲＴＣの計時（時刻）情報は、サブＩＤとして使用することができる。このようにＩｏＴ情報に関してメインおよびサブのＩＤ情報を利用できる構成には、ＩＤ情報を１種類しか用いない構成に比べ、次のような利点がある。例えば、工程管理番号（メインＩＤ情報）をマスターキーとした上で、情報取得（ロギング）時間（サブＩＤ情報）をサブキーとし、データ内容をソート（並べ換え）するような処理が可能となる。これにより、各工程における情報を１つのキーにより関連付けるとともに、その中でさらにＩｏＴ情報（イベント）の新旧を明確にでき、情報の取捨選択が容易になる。
【符号の説明】
【０１６５】
１０１…ロボットアーム、１０２…ロボットアーム制御装置、１０３…搬送装置、１０４…搬送制御装置、１０６、１０７、１０８…スマートカメラ、１０９、１１０、１１１、４１３、４１４…ＬＡＮハブ、１１２…データ管理サーバ、１１３…外部記録装置、１１４…制御装置、４０２…ハンド、４０３…無線ステレオスマートカメラ、４０４…作業台、４０５…マーカ、４０６…バーコード、４０７…クレイドル、４０９…ペンダント、４１０…無線ＷｉＦｉステーション。
【図１】
2018200680.tif 000003
【図２】
2018200680.tif 000004
【図３】
2018200680.tif 000005
【図４】
2018200680.tif 000006
【図５】
2018200680.tif 000007
【図６】
2018200680.tif 000008
【図７】
2018200680.tif 000009
【図８】
2018200680.tif 000010
【図９】
2018200680.tif 000011
【図１０】
2018200680.tif 000012