(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024129631
(43)【公開日】2024-09-27
(54)【発明の名称】情報処理装置、情報処理方法およびプログラム
(51)【国際特許分類】
G05B 23/02 20060101AFI20240919BHJP
【FI】
G05B23/02 302Z
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023038960
(22)【出願日】2023-03-13
(71)【出願人】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】坂下 将太
【テーマコード(参考)】
3C223
【Fターム(参考)】
3C223AA12
3C223BA03
3C223BB08
3C223CC02
3C223DD03
3C223EB05
3C223FF13
3C223FF35
3C223GG01
3C223HH02
3C223HH03
3C223HH07
3C223HH08
3C223HH15
(57)【要約】
【課題】評価対象動画に写る生産設備の動作が正常範囲内であるか否かを容易に判断できる情報処理装置を提供する。
【解決手段】情報処理装置は、対象動作を繰り返し実行する生産設備が写る、対象動作ごとの複数の動画の中から、対象動作が正常であるときの2以上の動画を2以上の正常動画として選択する選択部と、2以上の正常動画に対して半透明化処理を含む第1画像処理を行なうことにより2以上の第1処理済動画を生成し、2以上の第1処理済動画を重ね合わせることにより合成動画を生成する第1処理部と、合成動画と評価対象動画とが重ね合わされて再生される画面を示す画面データを出力する出力部とを備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
情報処理装置であって、
対象動作を繰り返し実行する生産設備が写る、前記対象動作ごとの複数の動画の中から、前記対象動作が正常であるときの2以上の動画を2以上の正常動画として選択する選択部と、
前記2以上の正常動画に対して半透明化処理を含む第1画像処理を行なうことにより2以上の第1処理済動画を生成し、前記2以上の第1処理済動画を重ね合わせることにより合成動画を生成する第1処理部と、
前記合成動画と評価対象動画とが重ね合わされて再生される画面を示す画面データを出力する出力部とを備える、情報処理装置。
【請求項2】
前記選択部は、前記複数の動画の中から、前記対象動作が異常であるときの動画を異常動画として選択し、
前記評価対象動画は、前記異常動画、または、前記異常動画に対して第2画像処理が行われた動画を含む、請求項1に記載の情報処理装置。
【請求項3】
前記選択部は、前記複数の動画の中から、前記対象動作が異常であるときの2以上の動画を2以上の異常動画として選択し、
前記情報処理装置は、さらに、
前記2以上の異常動画に対して半透明化処理を含む第2画像処理を行なうことにより2以上の第2処理済動画を生成し、前記2以上の第2処理済動画を重ね合わせることにより前記評価対象動画を生成する第2処理部を備える、請求項1に記載の情報処理装置。
【請求項4】
前記画面において、前記合成動画の表示態様は、前記評価対象動画の表示態様と異なる、請求項1から3のいずれか1項に記載の情報処理装置。
【請求項5】
前記第1画像処理および前記第2画像処理は、エッジ強調処理および前記生産設備以外の背景部分を除去する処理の少なくとも一方を含む、請求項1または2に記載の情報処理装置。
【請求項6】
前記第1処理部は、前記2以上の正常動画の各々に対応する第1時系列データセットにおいて、指定された条件が満たされる第1タイミングを特定し、
前記第1時系列データセットは、前記2以上の正常動画のうちの対応する正常動画の撮影期間の前記生産設備の状態を示し、
前記第1処理部は、前記第1タイミングが互いに一致するように前記2以上の第1処理済動画を重ね合わせることにより前記合成動画を生成する、請求項1から3のいずれか1項に記載の情報処理装置。
【請求項7】
前記画面において、前記第1タイミングと、前記評価対象動画の撮影期間の前記生産設備の状態を示す第2時系列データセットにおいて前記指定された条件が満たされる第2タイミングとが一致するように、前記合成動画と前記評価対象動画とが再生される、請求項6に記載の情報処理装置。
【請求項8】
前記画面データは、前記第1時系列データセットと前記第2時系列データセットとを前記画面上に可視化するための情報を含む、請求項7に記載の情報処理装置。
【請求項9】
前記画面上には、前記合成動画と前記評価対象動画との一致度が表示される、請求項1から3のいずれか1項に記載の情報処理装置。
【請求項10】
情報処理方法であって、
対象動作を繰り返し実行する生産設備が写る、前記対象動作ごとの複数の動画の中から、前記対象動作が正常であるときの2以上の動画を2以上の正常動画として選択することと、
前記2以上の正常動画に対して半透明化処理を含む第1画像処理を行なうことにより2以上の第1処理済動画を生成し、前記2以上の第1処理済動画を重ね合わせることにより合成動画を生成することと、
前記合成動画と評価対象動画とが重ね合わされて再生される画面を示す画面データを出力することとを備える、情報処理方法。
【請求項11】
情報処理方法をコンピュータに実行させるプログラムであって、
前記情報処理方法は、
対象動作を繰り返し実行する生産設備が写る、前記対象動作ごとの複数の動画の中から、前記対象動作が正常であるときの2以上の動画を2以上の正常動画として選択することと、
前記2以上の正常動画に対して半透明化処理を含む第1画像処理を行なうことにより2以上の第1処理済動画を生成し、前記2以上の第1処理済動画を重ね合わせることにより合成動画を生成することと、
前記合成動画と評価対象動画とが重ね合わされて再生される画面を示す画面データを出力することとを含む、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
製造業において、生産設備の異常な動作の確認のために、生産設備の動画を再生する情報処理装置が利用される(特開2020-13528号公報(特許文献1)参照)。情報処理装置のユーザは、正常に動作しているときの生産設備の動画と、評価対象動画とを比較することにより、評価対象動画に写る生産設備の異常な動作を確認しやすくなる。特開2004-134891号公報(特許文献2)は、複数の異なる動画を容易に比較できるように、当該複数の異なる動画を重ねて表示する技術を開示している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2020-13528号公報
【特許文献2】特開2004-134891号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
生産設備が正常に動作しているときであっても、動作ごとに生産設備の状態が異なり得る。そのため、正常に動作しているときの1つの動画と評価対象動画とが重ねて表示されたとしても、ユーザは、評価対象動画に写る生産設備の動作が正常範囲内であるのか否かを判断できない。
【0005】
本開示は、上記の問題に鑑みてなされたものであり、その目的は、評価対象動画に写る生産設備の動作が正常範囲内であるか否かをユーザが容易に判断できる情報処理装置、情報処理方法およびプログラムを提供することである。
【課題を解決するための手段】
【0006】
本開示の一例によれば、情報処理装置は、選択部と、第1処理部と、出力部とを備える。選択部は、対象動作を繰り返し実行する生産設備が写る、対象動作ごとの複数の動画の中から、対象動作が正常であるときの2以上の動画を2以上の正常動画として選択する。第1処理部は、2以上の正常動画に対して半透明化処理を含む第1画像処理を行なうことにより2以上の第1処理済動画を生成し、2以上の第1処理済動画を重ね合わせることにより合成動画を生成する。出力部は、合成動画と評価対象動画とが重ね合わされて再生される画面を示す画面データを出力する。
【0007】
この開示によれば、画面において、2以上の正常動画を半透明化したうえで重ね合わせることにより得られる合成動画が再生される。そのため、ユーザは、合成動画を確認することにより、正常に動作しているときの生産設備のぶれを把握できる。当該ぶれは、生産設備の動作の正常範囲を表している。その結果、ユーザは、画面を確認することにより、評価対象動画内の生産設備の動作が正常範囲内であるか否かを容易に判断できる。
【0008】
上述の開示において、選択部は、複数の動画の中から、対象動作が異常であるときの動画を異常動画として選択する。評価対象動画は、異常動画、または、異常動画に対して第2画像処理が行われた動画を含む。
【0009】
この開示によれば、ユーザは、画面を確認することにより、異常な対象動作のうち正常範囲から外れる動作部分を容易に把握できる。
【0010】
上述の開示において、選択部は、複数の動画の中から、対象動作が異常であるときの2以上の動画を2以上の異常動画として選択する。情報処理装置は、さらに、2以上の異常動画に対して半透明化処理を含む第2画像処理を行なうことにより2以上の第2処理済動画を生成し、2以上の第2処理済動画を重ね合わせることにより評価対象動画を生成する第2処理部を備える。
【0011】
この開示によれば、ユーザは、2以上の異常動画の各々の生産設備の動作が正常範囲内であるか否かを判断できる。
【0012】
上述の開示において、画面において、合成動画の表示態様は、評価対象動画の表示態様と異なる。
【0013】
この開示によれば、ユーザは、合成動画に写る生産設備の動作と、評価対象動画に写る生産設備の動作とを容易に区別できる。
【0014】
上述の開示において、第1画像処理および第2画像処理は、エッジ強調処理および生産設備以外の背景部分を除去する処理のすくなくとも一方を含む。
【0015】
この開示によれば、エッジ強調処理が行なわれる場合、生産設備の輪郭が強調される。これにより、撮影時の照明環境(例えば、明るさまたは光の当たり方を含む)に起因する、動画に写る生産設備の輪郭のぶれが軽減される。また、生産設備以外の背景部分を除去する処理が行なわれる場合、ユーザは、動画に写る生産設備の動作を把握しやすくなる。
【0016】
上述の開示において、第1処理部は、2以上の正常動画の各々に対応する第1時系列データセットにおいて、指定された条件が満たされる第1タイミングを特定する。第1時系列データセットは、2以上の正常動画のうちの対応する正常動画の撮影期間の生産設備の状態を示す。第1処理部は、第1タイミングが互いに一致するように2以上の第1処理済動画を重ね合わせることにより合成動画を生成する。
【0017】
この開示によれば、2以上の第1処理済動画の時刻合わせが自動的に行なわれる。その結果、ユーザは、2以上の第1処理済動画の時刻合わせの手間を省くことができる。
【0018】
上述の開示において、画面において、第1タイミングと、評価対象動画の撮影期間の生産設備の状態を示す第2時系列データセットにおいて指定された条件が満たされる第2タイミングとが一致するように、合成動画と評価対象動画とが再生される。
【0019】
この開示によれば、合成動画と評価対象動画との時刻合わせが自動的に行なわれる。その結果、ユーザは、合成動画と評価対象動画との時刻合わせの手間を省くことができる。
【0020】
上述の開示において、画面データは、第1時系列データセットと第2時系列データセットとを画面上に可視化するための情報を含む。この開示によれば、ユーザは、動画の撮影期間における生産設備の状態の推移を把握できる。
【0021】
上述の開示において、画面上には、合成動画と評価対象動画との一致度が表示される。この開示によれば、ユーザは、評価対象動画に写る生産設備の動作が正常時の動作からのずれ具合を把握できる。
【0022】
本開示の別の例によれば、情報処理方法は、対象動作を繰り返し実行する生産設備が写る、対象動作ごとの複数の動画の中から、対象動作が正常であるときの2以上の動画を2以上の正常動画として選択することと、2以上の正常動画に対して半透明化処理を含む第1画像処理を行なうことにより2以上の第1処理済動画を生成し、2以上の第1処理済動画を重ね合わせることにより合成動画を生成することと、合成動画と評価対象動画とが重ね合わされて再生される画面を示す画面データを出力することとを備える。
【0023】
本開示のさらに別の例によれば、プログラムは、情報処理方法をコンピュータに実行させる。情報処理方法は、対象動作を繰り返し実行する生産設備が写る、対象動作ごとの複数の動画の中から、対象動作が正常であるときの2以上の動画を2以上の正常動画として選択することと、2以上の正常動画に対して半透明化処理を含む第1画像処理を行なうことにより2以上の第1処理済動画を生成し、2以上の第1処理済動画を重ね合わせることにより合成動画を生成することと、合成動画と評価対象動画とが重ね合わされて再生される画面を示す画面データを出力することとを含む。
【0024】
これらの開示によっても、ユーザは、評価対象の動画に写る生産設備の動作が正常範囲内であるか否かを容易に判断できる。
【発明の効果】
【0025】
本開示によれば、ユーザは、評価対象の動画に写る生産設備の動作が正常範囲内であるか否かを容易に判断できる。
【図面の簡単な説明】
【0026】
【
図1】実施の形態に係る情報処理装置を含む製造システムの一例を模式的に例示する図である。
【
図2】実施の形態に係る情報処理装置のハードウェア構成の一例を示す模式図である。
【
図3】実施の形態に従うPLCのハードウェア構成の一例を示す模式図である。
【
図6】実施の形態に係る情報処理装置およびPLCのモジュール構成の一例を示す模式図である。
【
図8】第1の処理例の流れを示すフローチャートである。
【
図9】第2の処理例の流れを示すフローチャートである。
【
図10】第3の処理例の流れを示すフローチャートである。
【
図11】情報処理装置から出力される画面に含まれるウィンドウの一例を示す図である。
【
図12】情報処理装置から出力される画面に含まれる別のウィンドウの一例を示す図である。
【発明を実施するための形態】
【0027】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。本明細書において、特に示さない限り、「または」の用語は、「または」の意味に加えて、「および」の意味を包含する。
【0028】
§1 適用例
図1は、実施の形態に係る情報処理装置を含む製造システムの一例を模式的に例示する図である。
図1に示すように、実施の形態に係る製造システム1は、情報処理装置100と、PLC(Programmable Logic Controller)200と、カメラ300と、生産設備400とを備える。
【0029】
生産設備400は、物の製造に関する設備であり、加工、検査、搬送、または組み立てなどの処理を行う。生産設備400は、複数の機器で構成されてもよいし、1つの機器で構成されてもよい。生産設備400は、製造に関する対象動作を繰り返し実行する。例えば、
図1に示す生産設備400は、ハンドを有する多関節ロボットを含み、対象物のピックアンドプレース動作を繰り返し実行する。なお、生産設備400は、多関節ロボットに限定されず、各種の動作を行なう機構を含み得る。
【0030】
PLC200は、予め作成された制御プログラムに従って、対象動作(例えば、対象物のピックアンドプレース動作)を繰り返し実行するように生産設備400を制御する。PLC200は、生産設備400を制御するために、予め定められた制御周期毎に入出力データ(以下、「IOデータ」と称する)を取得(収集)する。IOデータは、生産設備400からPLC200へ転送される入力データと、生産設備400へ出力される出力データとを含む。さらに、IOデータは、制御演算によって算出される各種のデータを含み得る。
【0031】
さらに、PLC200は、生産設備400の対象動作の開始タイミングにおいて、カメラ300に撮影開始指示を出力し、対象動作の終了タイミングにおいて、カメラ300に撮影終了指示を出力する。
【0032】
カメラ300は、生産設備を撮影することにより得られる動画データ(以下、単に「動画50」と称する)を情報処理装置100に出力する。カメラ300は、PLC200から撮影開始指示を受けると撮影を開始し、撮影終了指示を受けると撮影を終了し、撮影により得られる動画50を出力する。上述したように、撮影開始指示は、生産設備400の対象動作の開始タイミングにおいて出力され、撮影終了指示は、対象動作の終了タイミングにおいて出力される。そのため、カメラ300は、対象動作ごとに動画50を生成する。
【0033】
情報処理装置100は、カメラ300から受けた動画50を蓄積する記憶部10を備え、以下の処理(1)~(3)を行なう。
【0034】
処理(1)において、情報処理装置100は、記憶部10に蓄積された複数の動画50の中から、対象動作が正常であるときの2以上の動画50を2以上の正常動画52として選択する。さらに、情報処理装置100は、対象動作が異常であるときの動画50(以下、「異常動画54」と称する)を評価対象動画として選択する。
【0035】
処理(2)において、情報処理装置100は、2以上の正常動画52に対して半透明化処理を含む第1画像処理を行なうことにより2以上の第1処理済動画を生成し、2以上の第1処理済動画を重ね合わせることにより合成動画52bを生成する。
【0036】
処理(3)において、情報処理装置100は、合成動画52bと評価対象動画(
図1に示す例では異常動画54)とが重ね合わされて再生される画面60を示す画面データを出力する。
図1に示す例では、画面60において、合成動画52bの生産設備400が破線で示され、評価対象動画である異常動画54の生産設備400が実線で示されている。
【0037】
本実施の形態によれば、画面60において、合成動画52bが再生される。合成動画52bは、2以上の正常動画52を半透明化したうえで重ね合わせることにより得られる。そのため、合成動画52bを確認することにより、生産設備400が正常に動作しているときの生産設備400のぶれを把握できる。当該ぶれは、生産設備400の動作の正常範囲を表している。その結果、ユーザは、画面60を確認することにより、評価対象動画内の生産設備400の動作が正常範囲内であるか否かを容易に判断できる。
【0038】
例えば、
図1に示す画面60では、異常動画54に写るハンド41の位置は、合成動画52bにおいてハンド41が写る範囲から外れている。そのため、ユーザは、ハンド41の開き幅が正常範囲外であったために、対象物2が落下したことを認識できる。
【0039】
§2 具体例
<情報処理装置のハードウェア構成>
図2は、実施の形態に係る情報処理装置のハードウェア構成の一例を示す模式図である。
図2に示されるように、情報処理装置100は、CPU(Central Processing Unit)110と、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置で構成されるメモリ112と、不揮発性の記憶装置で構成されるハードディスク114と、入力インターフェイス118と、表示コントローラ120と、通信インターフェイス124と、データリーダ/ライタ126とを含む。これらの各部は、バス128を介して互いにデータ通信が可能なように接続されている。
【0040】
CPU110は、ハードディスク114に格納された解析プログラム116を読出して、メモリ112に展開する。CPU110は、展開されたプログラムを実行する。CPU110は、例えばマルチコアプロセッサであり、並列して複数の処理を実行可能である。なお、ハードディスク114の代わり、他の不揮発性の記憶装置(例えばSSD(Solid State Drive)など)が使用されてもよい。
【0041】
入力インターフェイス118は、CPU110と、キーボード、マウスまたはタッチパネルなどの入力装置132との間のデータ伝送を仲介する。すなわち、入力インターフェイス118は、後述する各種のユーザ入力を示すデータを入力装置132から受け付け、受け付けたデータをCPU110に伝送する。表示コントローラ120は、ディスプレイ122と接続され、CPU110における処理の結果などをディスプレイ122に表示する。通信インターフェイス124は、PLC200およびカメラ300と通信する。データリーダ/ライタ126は、CPU110と外部の記憶媒体130との間のデータ伝送を仲介する。記憶媒体130は、揮発性記憶媒体、不揮発性記憶媒体、CF(Compact Flash)もしくはSD(Secure Digital)などの汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)などの磁気記憶媒体、またはCD-ROM(Compact Disk Read Only Memory)などの光学記憶媒体を含む。
【0042】
解析プログラム116は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、任意のプログラムと協働して本実施の形態に従う処理が実現される。また、解析プログラム116によって提供される機能の一部または全部は、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)、またはFPGA(Field-Programmable Gate Array))によって実現されてもよい。
【0043】
<PLCのハードウェア構成>
図3は、実施の形態に従うPLCのハードウェア構成の一例を示す模式図である。
図3を参照して、PLC200は、主たるコンポーネントとして、PLC200の各部に電力PWを供給する電源回路201と、CPU202と、チップセット204と、主に揮発性記憶媒体を含むメモリ206と、主に不揮発性記憶媒体からなるストレージ208と、USBコントローラ250と、フィールドネットワークコントローラ252と、ネットワークコントローラ254と、タイマ260とを含む。
【0044】
CPU202は、ストレージ208に格納された制御プログラム214を読出して、メモリ206に展開する。CPU202は、予め定められた制御周期で展開されたプログラムを繰り返し実行することで、生産設備400を制御するための制御演算処理を実現する。
【0045】
CPU202は、ストレージ208に格納されたIOリフレッシュプログラム215を読出して、メモリ206に展開する。CPU202は、予め定められた制御周期で展開されたプログラムを実行することでIOデータ220の収集処理とログデータ224の生成処理とを実現する。IOデータ220は、生産設備400から受ける入力データと、生産設備400への出力データとを含む。IOデータ220は、上記の制御演算処理に利用され得る。
【0046】
図4は、ログデータの一例を示す図である。
図4に示されるように、ログデータ224は、生産設備400において発生したイベントごとに、発生日時と、ステータスと、発生箇所と、内容とを示す。CPU202は、IOデータ220および制御演算結果に基づいてログデータ224を更新する。
【0047】
図3に示すCPU202は、ストレージ208に格納されたデータ収集プログラム216を読出して、メモリ206に展開する。CPU202は、展開されたプログラムを解釈および実行することで、時系列データセット222の収集処理と、カメラ300への撮影指示の出力処理とを実現する。撮影指示の出力処理は、撮影開始指示を出力する処理と、撮影終了指示を出力する処理とを含む。
【0048】
図5は、時系列データセットの一例を示す図である。
図5に示されるように、時系列データセット222は、予め定められた制御周期ごとに、当該周期に対応する時刻(例えば周期の開始時刻)と、生産設備400の状態を示す1以上の変数の値とを示す。当該1以上の変数は、設定情報230によって指定される。
【0049】
図3に示すメモリ206は、DRAMまたはSRAM(Static Random Access Memory)などの揮発性記憶装置で構成される。ストレージ208は、例えば、HDD(Hard Disc Drive)、SSD(Solid State Drive)、またはフラッシュメモリの不揮発性記憶装置で構成されるが、一部は、揮発性ストレージで構成されてもよい。
【0050】
チップセット204は、CPU202と各コンポーネントとの間のデータの遣り取りを仲介することで、PLC200全体としての処理を実現する。
【0051】
ストレージ208には、PLC200の基本的な機能を実現するためのOS(Operating System)212およびスケジューラプログラム213を有するシステムプログラム211に加えて、制御対象に応じて作成される制御プログラム214と、IOリフレッシュプログラム215とが格納される。ストレージ208には、さらに、データ収集プログラム216が格納される。さらに、ストレージ108は、IOデータ220と、時系列データセット222と、ログデータ224と、設定情報230とが格納される領域を有する。設定情報230は、情報処理装置100によって生成される。
【0052】
USBコントローラ250は、USB接続を介して外部の装置(情報処理装置100およびカメラ300を含む)との間のデータの遣り取りを担当する。なお、カメラ300とPLC200との間のデータの遣り取りは、フィールドネットワークコントローラ252またはネットワークコントローラ254を介して行なわれてもよい。
【0053】
フィールドネットワークコントローラ252は、生産設備400が属するフィールドネットワークを接続するコネクタ252aを有し、PLC200とフィールドネットワークを介した生産設備400との間のデータの遣り取りを制御する。フィールドネットワークコントローラ252は、フィールドネットワークから受信する入力データおよびPLC200からフィールドネットワークに出力される出力データを格納する内部バッファを有する。当該入力データおよび出力データは、IOデータ220に含まれる。
【0054】
ネットワークコントローラ254は、上位ネットワークを接続するコネクタ254aを有し、PLC200と外部の装置(例えば、製造実行システム(Manufacturing Execution System(MES))との間のデータの遣り取りを制御する。
【0055】
タイマ260は、時間を計測するクロック回路またはカウンタ回路を含んで構成されるが、このような回路に限定されず、CPU202が実行するソフトウェアモジュールにより構成されてもよい。
【0056】
図3には、CPU202がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGA)を用いて実装してもよい。あるいは、PLC200の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、マルチコア技術を適用して処理を並列に実行してもよい。または、仮想化技術を用いて、用途の異なる複数のOSを並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
【0057】
<モジュール構成>
図6は、実施の形態に係る情報処理装置およびPLCのモジュール構成の一例を示す模式図である。
図6に示されるように、PLC200は、制御部20と、データ収集部22とを含む。制御部20は、
図3に示すCPU202が制御プログラム214およびIOリフレッシュプログラム215を実行することにより実現される。データ収集部22は、CPU202がデータ収集プログラム216を実行することにより実現される。
【0058】
制御部20は、予め定められた制御周期ごとに、生産設備400から各種の変数の値(例えばセンサの計測値など)を示す入力データを受け、生産設備400を制御するための制御演算を行なう。さらに、制御部20は、制御演算により得られる各種の変数の値(例えば指令値など)を示す出力データを生産設備400に出力する。このようにして、制御部20は、制御周期ごとに、入力データと出力データとを含むIOデータ220を収集する。
【0059】
さらに、制御部20は、収集されたIOデータ220に基づいて、ログデータ224を更新する。具体的には、制御部20は、各イベントに関する変数の値に基づいて異常発生の有無を判断し、判断結果に応じてログデータ224を更新する。制御部20は、更新されたログデータ224を情報処理装置100に出力する。
【0060】
データ収集部22は、情報処理装置100によって設定された設定情報230(
図3参照)に基づいて、生産設備400が繰り返し実行する対象動作ごとの時系列データセット222を生成する。データ収集部22は、生成した時系列データセット222を情報処理装置100に出力する。
【0061】
さらに、データ収集部22は、生産設備400が繰り返し実行する対象動作ごとの動画の撮影をカメラ300に指示する。すなわち、データ収集部22は、生産設備400が対象動作を開始するタイミングに撮影開始指示をカメラ300に出力し、生産設備400が対象動作を終了するタイミングに撮影終了指示をカメラ300に出力する。さらに、データ収集部22は、動画の出力をカメラ300に指示する。データ収集部22は、設定情報230に従って、動画の出力先として情報処理装置100を指定する。これにより、カメラ300は、対象動作ごとに動画50を生成し、生成した動画50を情報処理装置100に出力する。
【0062】
図6に示されるように、情報処理装置100は、記憶部10と、設定部11と、処理部12と、出力部13とを含む。記憶部10は、
図2に示すメモリ112およびハードディスク114によって実現される。設定部11、処理部12および出力部13は、
図2に示すCPU110が解析プログラム116を実行することにより実現される。
【0063】
記憶部10は、対象動作ごとの時系列データセット222と、ログデータ224と、対象動作ごとの動画50とを記憶する。時系列データセット222およびログデータ224は、PLC200から伝送される。動画50は、カメラ300から伝送される。
【0064】
設定部11は、時系列データセット222および動画50の収集に関する設定、および、処理部12の処理対象に関する設定を行なう。設定部11は、選択部11aと、収集データ設定部11bと、カメラ設定部11cとを含む。
【0065】
収集データ設定部11bは、時系列データセット222の収集に関する設定を行なう。具体的には、収集データ設定部11bは、ユーザ入力に応じて、対象動作の開始タイミングおよび終了タイミングを指定する情報を含む設定情報230を生成し、生成した設定情報230をPLC200に出力する。これにより、PLC200のデータ収集部22は、設定情報230に従って、対象動作ごとの時系列データセット222を収集する。
【0066】
例えば、PLC200が図示しない製造実行システムから対象動作の開始信号および終了信号を受けて対象動作に関する制御を行なう場合、ユーザは、当該開始信号および終了信号を受けるタイミングを対象動作の開始タイミングおよび終了タイミングとして入力すればよい。あるいは、ユーザは、対象動作の開始のときに値が変化する変数と当該変数の変化の特徴とを開始タイミングに関する情報として入力し、対象動作の終了のときに値が変化する変数と当該変数の変化の特徴とを終了タイミングに関する情報として入力してもよい。
【0067】
さらに、収集データ設定部11bは、ユーザ入力に応じて、IOデータ220によって示される複数の変数のうち、時系列データセット222によって値が示される1以上の変数を指定する情報を設定情報230に含める。これにより、PLC200のデータ収集部22は、設定情報230に従って、生産設備400が対象動作を行なっている期間内に収集されたIOデータ220によって示される複数の変数の値のうち、指定された1以上の変数の値の推移を示す時系列データセット222を生成する。
【0068】
カメラ設定部11cは、ユーザ入力に応じて、カメラ300の撮影条件を設定する。設定された撮影条件は、PLC200に出力される。PLC200は、指定された撮影条件に従った撮影指示をカメラ300に出力する。これにより、カメラ300は、指定された撮影条件で撮影を行なう。
【0069】
さらに、カメラ設定部11cは、製造システム1(
図1参照)が複数のカメラを備える場合、ユーザ入力に応じて、当該複数のカメラの中からカメラ300を指定し、指定したカメラ300のIDをPLC200に出力する。PLC200は、設定情報230に従って、対象動作ごとの動画を撮影する指示を当該IDのカメラ300に出力する。
【0070】
選択部11aは、ユーザ入力に応じて、表示対象となる動画50および時系列データセット222を選択する。
【0071】
具体的には、選択部11aは、ユーザ入力に応じて、記憶部10に格納された複数の動画50の中から、生産設備400の対象動作が正常であるときの2以上の正常動画52を表示対象として選択する。例えば、選択部11aは、各動画50の撮影期間とログデータ224とに基づいて、内容が異常を示すイベントが発生していない撮影期間の第1リストを生成し、ユーザ入力に応じて、第1リストから複数の撮影期間(以下、「正常動作期間」と称する)を選択する。選択部11aは、複数の正常動作期間の各々に対応する動画50を正常動画52として選択する。
【0072】
選択部11aは、ユーザ入力に応じて、記憶部10に格納された複数の動画50の中から、生産設備400の対象動作が異常であるときの1以上の異常動画54を表示対象として選択する。例えば、選択部11aは、各動画50の撮影期間とログデータ224とに基づいて、内容が異常を示すイベントが発生した撮影期間の第2リストを生成し、ユーザ入力に応じて、第2リストから1以上の撮影期間(以下、「異常動作期間」と称する)を選択する。選択部11aは、1以上の異常動作期間の各々に対応する動画50を異常動画54として選択する。
【0073】
さらに、選択部11aは、選択した2以上の正常動画52および1以上の異常動画54の各々に対応する時系列データセット222を表示対象として選択する。すなわち、選択部11aは、複数の正常動作期間および1以上の異常動画54の各々に対応する時系列データセット222を選択する。以下、各正常動作期間の時系列データセット222を第1時系列データセット222aと称し、各異常動作期間の時系列データセット222を第2時系列データセット222bと称する。
【0074】
選択部11aは、2以上の正常動画52、1以上の異常動画54、2以上の第1時系列データセット222a、および1以上の第2時系列データセット222bを記憶部10から読み出し、処理部12に出力する。
【0075】
処理部12は、選択部11aによって選択された、2以上の正常動画52、1以上の異常動画54、2以上の第1時系列データセット222a、および1以上の第2時系列データセット222bに対する処理を行なう。処理部12は、時刻調整部12aと、動画処理部12bとを含む。
【0076】
時刻調整部12aは、2以上の第1時系列データセット222aおよび1以上の第2時系列データセット222bの時刻を調整する。
【0077】
例えば、時刻調整部12aは、2以上の第1時系列データセット222aおよび1以上の第2時系列データセット222bの各々について、開始時刻が基準時刻(例えば00:00)となるように時刻を調整する。
【0078】
あるいは、時刻調整部12aは、2以上の第1時系列データセット222aおよび1以上の第2時系列データセット222bの各々について、指定された条件(以下、「時刻合わせ条件」と称する)が満たされるタイミングを特定する。時刻合わせ条件は、ユーザ入力に従って指定される。例えば、時刻合わせ条件は、指定された変数(例えば、生産設備400に含まれる多関節ロボットの第1関節の位置)の値が第1指定値から第2指定値に変化するという条件である。時刻調整部12aは、特定したタイミングが基準時刻となるように、2以上の第1時系列データセット222aおよび1以上の第2時系列データセット222bの時刻を調整する。
【0079】
動画処理部12bは、2以上の正常動画52に対する処理を行なう第1処理部12b1と、1以上の異常動画54に対する処理を行なう第2処理部12b2とを含む。
【0080】
図7は、動画処理部の処理を説明する図である。
図7に示されるように、第1処理部12b1は、正常動画52_1~52_nに対して半透明化処理を含む第1画像処理を行なうことにより第1処理済動画52a_1~52a_nを生成する。nは、正常動画52の個数であり、2以上の整数である。半透明化処理において、透明度α1は、例えば1/nに設定されるが、これに限られない。透明度α1は、異常動画54の撮像時刻と正常動画52の撮像時刻との差に応じて、段階的または連続的に設定可能であってもよい。例えば、透明度α1は、上記差が小さいほど小さく設定されてもよい。
【0081】
次に、第1処理部12b1は、第1処理済動画52a_1~52a_nを重ね合わせることにより合成動画52bを生成する。
【0082】
例えば、第1処理部12b1は、第1処理済動画52a_1~52a_nの各々について、1番目のフレームの時刻が基準時刻(例えば00:00)となるように各フレームの時刻を調整する。その後、第1処理部12b1は、第1処理済動画52a_1~52a_nの同一時刻のフレームを重ね合わせることにより、合成動画52bを生成する。
【0083】
あるいは、時刻合わせ条件が指定された場合、第1処理部12b1は、正常動画52_1~52_nの各々について、撮影期間の生産設備の状態を示す第1時系列データセット222aにおいて時刻合わせ条件が満たされる第1タイミングを特定する。第1処理部12b1は、特定された第1タイミングが互いに一致するように第1処理済動画52a_1~52a_nを重ね合わせることにより合成動画52bを生成する。具体的には、第1処理部12b1は、特定された第1タイミングに対応するフレームの時刻が基準時刻となるように第1処理済動画52a_1~52a_nの各フレームの時刻を調整する。その後、第1処理部12b1は、第1処理済動画52a_1~52a_nの同一時刻のフレームを重ね合わせることにより、合成動画52bを生成する。
【0084】
第1画像処理は、エッジ強調処理および生産設備400以外の背景部分を除去する処理の少なくとも一方を含んでもよい。
【0085】
第1画像処理がエッジ強調処理を含むことにより、正常動画52_1~52_nに写る生産設備400の輪郭が強調される。その結果、撮影時の照明環境(例えば、明るさまたは光の当たり方を含む)に起因する、正常動画52内の生産設備400の輪郭のぶれが軽減される。なお、エッジ強調処理として公知の技術が用いられる。第1画像処理がエッジ強調処理を含む場合、エッジ強調処理は、半透明化処理の前に行なわれることが好ましい。なぜなら、明暗の差を低下させる半透明化処理の後にエッジ強調処理が行なわれると、エッジ強調処理におけるエッジ検出の精度が低下するためである。
【0086】
生産設備400以外の背景部分を除去する処理は、正常動画52_1~52_nの各々について、生産設備400の写る画素を特定する処理と、特定された画素以外の画素の濃度を0とする処理とを含む。生産設備400の写る画素を特定する処理は、例えば生産設備400のテンプレート画像を用いた公知の物体認識技術を用いて行なわれる。生産設備400以外の背景部分を除去する処理が行なわれることにより、合成動画52bにおいて背景部分が写らない。その結果、ユーザは、合成動画52bを確認することにより、対象動作を行なうときの生産設備400の正常範囲を把握しやすくなる。
【0087】
図6に示す第2処理部12b2は、1以上の異常動画54から評価対象動画を生成する。
【0088】
選択部11aによって1つの異常動画54が選択された場合、第2処理部12b2は、選択された異常動画54を評価対象動画として生成してもよい。あるいは、第2処理部12b2は、選択された異常動画54に対して第2画像処理を行ない、第2画像処理が行なわれた異常動画54を評価対象動画として生成してもよい。
【0089】
第2画像処理は、例えば半透明化処理、エッジ強調処理および生産設備400以外の背景部分を除去する処理の少なくとも1つを含む。
【0090】
第2画像処理がエッジ強調処理を含むことにより、異常動画54に写る生産設備400の輪郭が強調される。その結果、撮影時の照明環境(例えば、明るさまたは光の当たり方を含む)に起因する、異常動画54内の生産設備400の輪郭のぶれが軽減される。なお、第2画像処理が半透明化処理およびエッジ強調処理を含む場合、エッジ強調処理は、半透明化処理の前に行なわれることが好ましい。
【0091】
さらに、第2処理部12b2は、評価対象動画において、1番目のフレームの時刻が基準時刻(例えば00:00)となるように各フレームの時刻を調整する。あるいは、時刻合わせ条件が指定された場合、第2処理部12b2は、異常動画54に対応する第2時系列データセット222bにおいて時刻合わせ条件が満たされる第2タイミングを特定する。そして、第2処理部12b2は、合成動画52bにおける上記の第1タイミングと、特定した第2タイミングとが一致するように、異常動画54の各フレームの時刻と調整する。具体的には、第2処理部12b2は、特定された第2タイミングに対応するフレームの時刻が基準時刻となるように異常動画54の各フレームの時刻を調整する。
【0092】
選択部11aによって2以上の異常動画54が選択された場合、第2処理部12b2は、第1処理部12b1と同様の処理に従って、2以上の異常動画54から評価対象動画を生成してもよい。すなわち、
図7に示されるように、第2処理部12b2は、異常動画54_1~54_mに対して半透明化処理を含む第2画像処理を行なうことにより第2処理済動画54a_1~54a_mを生成する。mは、異常動画54の個数であり、2以上の整数である。半透明化処理において、透明度α2は、例えば1/mに設定されるが、これに限られない。透明度α2は、異常動画54の撮像時刻と正常動画52の撮像時刻との差に応じて、段階的または連続的に設定可能であってもよい。例えば、透明度α2は、上記差が小さいほど小さく設定されてもよい。さらに、第2画像処理は、エッジ強調処理および生産設備400以外の背景部分を除去する処理の少なくとも一方を含んでもよい。
【0093】
次に、第2処理部12b2は、第2処理済動画54a_1~54a_mを重ね合わせることにより得られる合成動画54bを評価対象動画として生成する。
【0094】
例えば、第2処理部12b2は、第2処理済動画54a_1~54a_mの各々について、1番目のフレームの時刻が基準時刻(例えば00:00)となるように各フレームの時刻を調整する。その後、第2処理部12b2は、第2処理済動画54a_1~54a_nの同一時刻のフレームを重ね合わせることにより、合成動画54bを生成する。
【0095】
あるいは、時刻合わせ条件が指定された場合、第2処理部12b2は、異常動画54_1~54_mの各々について、対応する第2時系列データセット222bにおいて時刻合わせ条件が満たされる第2タイミングを特定する。第2処理部12b2は、特定された第2タイミングが互いに一致するように第2処理済動画54a_1~54a_mを重ね合わせることにより合成動画54bを生成する。具体的には、第2処理部12b2は、特定された第2タイミングに対応するフレームの時刻が基準時刻となるように第2処理済動画54a_1~54a_mの各フレームの時刻を調整する。その後、第2処理部12b2は、第2処理済動画54a_1~54a_mの同一時刻のフレームを重ね合わせることにより、合成動画54bを生成する。
【0096】
図6に示す出力部13は、合成動画52bと評価対象動画とが重ね合わされて再生される画面を示す画面データを出力する。出力部13は、動画出力部13aと、時系列データ出力部13bとを含む。
【0097】
動画出力部13aは、再生の指示を受けると、画面において合成動画52bと評価対象動画とを重ね合わせて再生させる。デフォルトとして、動画出力部13aは、画面において、合成動画52bおよび評価対象動画を1番目のフレームから再生させる。さらに、動画出力部13aは、合成動画52bと評価対象動画との一方について、表示されるフレームの変更指示を受け付けてもよい。動画出力部13aは、フレームの変更指示を受け付けた場合、合成動画52bおよび評価対象動画のうち指示された動画について表示されるフレームを変更する。フレームの変更指示を受けた後に再生指示を受けると、動画出力部13aは、変更されたフレームから動画を再生させる。
【0098】
動画出力部13aは、画面において、合成動画52bの表示態様を評価対象動画の表示態様と異ならせる。例えば、動画出力部13aは、合成動画52bを第1色(例えば青)で表示し、評価対象動画を第1色とは異なる第2色(例えば赤)で表示する。具体的には、動画出力部13aは、合成動画52bに対して第1色のフィルタをかけ、評価対象動画に対して第2色のフィルタをかける。
【0099】
時系列データ出力部13bは、2以上の第1時系列データセット222aと1以上の第2時系列データセット222bとを画面上に可視化するための情報を画面データに含める。当該情報は、例えば、画面上に時系列データセット222によって示される1以上の変数の値の推移を示すグラフを表示するために用いられる。例えば、時系列データ出力部13bは、2以上の第1時系列データセット222aによって示される1以上の変数の値の平均値の推移を示すグラフと、1以上の第2時系列データセット222bによって示される1以上の変数の値の平均値の推移とを示すグラフとが画面上に表示されるように画面データを生成する。あるいは、時系列データ出力部13bは、2以上の第1時系列データセット222aのうちの1つによって示される1以上の変数の値の推移と、1以上の第2時系列データセット222bのうちの1つによって示される1以上の変数の値の推移とを示すグラフが画面上に表示されるように画面データを生成する。あるいは、時系列データ出力部13bは、2以上の第1時系列データセット222aの各々によって示される1以上の変数の値の推移を示すグラフが画面上に表示されるように画面データを生成する。この場合、時系列データ出力部13bは、各変数のグラフにおいて、2以上の第1時系列データセット222aによって示される複数の推移の線を重ね合わせてもよい。複数の推移の線は、互いに異なる表示形態(例えば色)を有してもよい。さらに、複数の推移の線は、半透明化されてもよい。
【0100】
<情報処理装置の処理の流れ>
情報処理装置100における動画に対する処理の流れの例について以下に説明する。第1,第2の処理例は、選択部11aが1つの異常動画54を選択した場合に対応する。第3の処理例は、選択部11aが2以上の異常動画54を選択した場合に対応する。
【0101】
(第1の処理例)
図8は、第1の処理例の流れを示すフローチャートである。
図8に示されるように、情報処理装置100のCPU110は、ユーザ入力に応じて、1番目の正常動画52を選択する(ステップS1_1)。
【0102】
次に、CPU110は、正常動画52の各フレームの時刻を調整する(ステップS2_1)。例えば、CPU110は、1番目のフレームの時刻が基準時刻(例えば00:00)となるように、各フレームの時刻を調整する。あるいは、時刻合わせ条件が指定された場合、CPU110は、対応する第1時系列データセット222aにおいて時刻合わせ条件が満たされるタイミングのフレームの時刻が基準時刻となるように、各フレームの時刻を調整する。
【0103】
次に、CPU110は、1番目の正常動画52に対して、半透明化処理を含む第1画像処理を行ない、第1処理済動画52a_1を生成する(ステップS3_1)。
【0104】
CPU110は、ステップS1_1~S3_1と並行して、k番目(kは2~nの整数)の正常動画52に対するステップS1_k~S3_kを行なう。ステップS1_k~S3_kの処理内容は、処理対象となる正常動画52が異なる点を除いて、ステップS1_1~S3_1の処理内容とそれぞれ同じである。
【0105】
ステップS3_1~S3_nが終了すると、CPU110は、第1処理済動画52a_1~52a_nを重ね合わせることにより合成動画52bを生成する(ステップS4)。次に、CPU110は、合成動画52bに第1色のフィルタをかける(ステップS5)。
【0106】
CPU110は、ステップS1_1~S3_n,S4,S5と並行して、ステップS6,S7,S10を実行する。
【0107】
ステップS6において、CPU110は、ユーザ入力に応じて、1つの異常動画54を評価対象動画として選択する。
【0108】
次のステップS7において、CPU110は、評価対象動画の各フレームの時刻を調整する(ステップS8)。例えば、CPU110は、1番目のフレームの時刻が基準時刻(例えば00:00)となるように、各フレームの時刻を調整する。あるいは、時刻合わせ条件が指定された場合、CPU110は、対応する第2時系列データセット222bにおいて時刻合わせ条件が満たされるタイミングのフレームの時刻が基準時刻となるように、各フレームの時刻を調整する。
【0109】
次のステップS10において、CPU110は、評価対象動画に第2色のフィルタをかける。
【0110】
ステップS5,S10が終了すると、CPU110は、合成動画52bと評価対象動画とが重ね合わされて再生される画面を示す画面データを出力する(ステップS11)。なお、評価対象動画(つまり、異常動画54)は、半透明化処理が行なわれていない。そのため、CPU110は、評価対象動画を下のレイヤーとし、評価対象動画の上に合成動画52bを重ねる。ステップS11の後、処理は終了する。
【0111】
(第2の処理例)
図9は、第2の処理例の流れを示すフローチャートである。
図9に示されるように、第2の処理例は、
図8に示す第1の処理例と比較して、ステップS6の代わりにステップS6aを含み、かつ、ステップS7の後にステップS8を含む点で相違する。そのため、ステップS6a,S8について説明する。
【0112】
ステップS6aにおいて、CPU110は、ユーザ入力に応じて、1つの異常動画54を選択する。その後のステップS7において、異常動画54の各フレームの時刻が調整される。
【0113】
ステップS8において、CPU110は、異常動画54に対して第2画像処理を行なうことにより評価対象動画を生成する。すなわち、評価対象動画は、第2画像処理が行なわれた異常動画54である。
【0114】
なお、第2画像処理が半透明化処理を含まない場合、ステップS11において、CPU110は、評価対象動画を下のレイヤーとし、評価対象動画の上に合成動画52bを重ねる。一方、第2画像処理が半透明化処理を含む場合、ステップS11において、CPU110は、評価対象動画の上に合成動画52bを重ねてもよいし、合成動画54bの上に評価対象動画を重ねてもよい。
【0115】
(第3の処理例)
図10は、第3の処理例の流れを示すフローチャートである。
図10に示されるように、第3の処理例は、
図9に示す第2の処理例と比較して、ステップS6a,S7,S8の代わりにステップS6a_1~S6a_m,S7_1~S7_m,S8_1~S8_mを含み、かつ、ステップS9を含む点で相違する。そのため、ステップS6a_1~S6a_m,S7_1~S7_m,S8_1~S8_m,S9について説明する。
【0116】
ステップS6a_1において、CPU110は、ユーザ入力に応じて、1番目の異常動画54を選択する。
【0117】
次のステップS7_1に、CPU110は、1番目の異常動画54の各フレームの時刻を調整する。例えば、CPU110は、1番目のフレームの時刻が基準時刻(例えば00:00)となるように、各フレームの時刻を調整する。あるいは、時刻合わせ条件が指定された場合、CPU110は、対応する第2時系列データセット222bにおいて時刻合わせ条件が満たされるタイミングのフレームの時刻が基準時刻となるように、各フレームの時刻を調整する。
【0118】
次のステップS8_1において、CPU110は、1番目の異常動画54に対して、半透明化処理を含む第2画像処理を行ない、第2処理済動画54a_1を生成する。
【0119】
CPU110は、ステップS6a_1,S7_1,S8_1と並行して、k番目(kは2~mの整数)の異常動画54に対するステップS6a_k,S7_k,S8_kを行なう。ステップS6a_k,S7_k,S8_kの処理内容は、処理対象となる異常動画54が異なる点を除いて、ステップS6a_1,S7_1,S8_1の処理内容とそれぞれ同じである。
【0120】
ステップS8_1~S8_mが終了すると、ステップS9において、CPU110は、第2処理済動画54a_1~54a_mを重ね合わせて評価対象動画を生成する。すなわち、評価対象動画は、第2処理済動画54a_1~54a_mを重ね合わせた合成動画54bである。
【0121】
<画面例>
図11は、情報処理装置から出力される画面に含まれるウィンドウの一例を示す図である。
図12は、情報処理装置から出力される画面に含まれる別のウィンドウの一例を示す図である。
図11に示すウィンドウ60aと
図12に示すウィンドウ60bとは互いに連携しながら表示される。
【0122】
図11に示すウィンドウ60aは、動画を確認するために利用される。ウィンドウ60aは、ボタン61~63と、領域64と、ボタン群65と、スライダー66,67と、表示欄68とを含む。
【0123】
ボタン61は、2以上の正常動画52を選択するために使用される。選択部11aとして動作するCPU110は、ボタン61がクリックされると、内容が異常を示すイベントが発生していない撮影期間の第1リストを生成し、ユーザ入力に応じて、第1リストから複数の撮影期間を複数の正常動作期間として選択する。CPU110は、複数の正常動作期間の各々に対応する動画50を正常動画52として選択する。
【0124】
ボタン62は、1以上の異常動画54を選択するために使用される。CPU110は、ボタン62がクリックされると、内容が異常を示すイベントが発生した撮影期間の第2リストを生成し、ユーザ入力に応じて、第2リストから1以上の撮影期間を1以上の異常動作期間として選択する。CPU110は、1以上の異常動作期間の各々に対応する動画50を異常動画54として選択する。
【0125】
ボタン63は、動画に対する処理の開始を指示するために使用される。処理部12として動作するCPU110は、ボタン63がクリックされると、2以上の正常動画52から合成動画52bを生成するとともに、1以上の異常動画54から評価対象動画を生成する。
【0126】
領域64には、合成動画54bと評価対象動画とが重ね合わされて再生される。ボタン群65は、動画の再生に関する複数のボタンとして、再生ボタン、停止ボタン、早送りボタン、または早戻しボタンなどを含む。CPU110は、ボタン群65に対する操作に応じて、領域64に表示されるフレームを更新する。
【0127】
スライダー66は、領域64に表示される、合成動画52bのフレームを変更するために使用される。スライダー67は、領域64に表示される、評価対象動画のフレームを変更するために使用される。ユーザは、スライダー66,67を操作することにより、合成動画52bと評価対象動画とのうちの一方のみを先のフレームに進めたり、前のフレームに遅らせたりできる。その結果、ユーザは、合成動画52bに写る生産設備400の動作と、評価対象動画に写る生産設備400の動作との間の時間的なずれを最小限にしたうえで、両動画を比較できる。
【0128】
表示欄68には、領域64に表示される合成動画52bおよび評価対象動画のフレーム間の一致度が表示される。動画出力部13aとして動作するCPU110は、例えば2つのフレームの画素毎の濃度の類似度の合計を規格化した値を一致度として算出し、算出した一致度を表示欄68に表示する。
【0129】
図12に示すウィンドウ60bは、時系列データセット222によって示される1以上の変数の各々の値の推移を確認するために利用される。ウィンドウ60bは、ボタン71~74と、表示欄71a,72a,75とを含む。
【0130】
ボタン71は、2以上の第1時系列データセット222aを選択するために使用される。CPU110は、ボタン71がクリックされると、内容が異常を示すイベントが発生していない撮影期間の第1リストを生成し、ユーザ入力に応じて、第1リストから複数の撮影期間を複数の正常動作期間として選択する。CPU110は、複数の正常動作期間の各々に対応する第1時系列データセット222aを選択する。表示欄71aには、選択された2以上の第1時系列データセット222aのファイル名が表示される。
【0131】
なお、
図11に示すウィンドウ60aのボタン61の操作により複数の正常動作期間が選択済みである場合、CPU110は、当該複数の正常動作期間の各々に対応する第1時系列データセット222aを選択し、2以上の第1時系列データセット222aのファイル名を表示欄71aに表示すればよい。
【0132】
ボタン61の操作により複数の正常動作期間が選択済みである状態においてボタン71がクリックされた場合、CPU110は、ユーザ入力に応じて、複数の正常動作期間を更新する。そして、CPU110は、更新後の複数の正常動作期間の各々に対応する第1時系列データセット222aおよび正常動画52を選択する。これにより、
図11に示す領域64において再生される合成動画52bも更新される。
【0133】
ボタン72は、2以上の第2時系列データセット222bを選択するために使用される。CPU110は、ボタン72がクリックされると、内容が異常を示すイベントが発生した撮影期間の第2リストを生成し、ユーザ入力に応じて、第2リストのうちの1以上の撮影期間を1以上の異常動作期間として選択する。CPU110は、1以上の異常動作期間の各々に対応する第2時系列データセット222bを選択する。表示欄72aには、選択された1以上の第2時系列データセット222bのファイル名が表示される。
【0134】
なお、
図9に示すウィンドウ60aのボタン62の操作により1以上の異常動作期間が選択済みである場合、CPU110は、選択済みの1以上の異常動作期間の各々に対応する第2時系列データセット222bを選択し、1以上の第2時系列データセット222bのファイル名を表示欄72aに表示する。
【0135】
ボタン62の操作により1以上の異常動作期間が選択済みである状態においてボタン72がクリックされた場合、CPU110は、ユーザ入力に応じて、1以上の異常動作期間を更新する。そして、CPU110は、更新後の1以上の異常動作期間の各々に対応する第2時系列データセット222bおよび異常動画54を選択する。これにより、
図11に示す領域64において再生される評価対象動画も更新される。
【0136】
ボタン73は、時刻合わせ条件の設定に利用される。ボタン73がクリックされると、時刻調整部12aとして動作するCPU110は、時刻合わせ条件を入力するためのウィンドウを表示し、ユーザ入力に応じて時刻合わせ条件を設定する。
図12に示す例では、時刻合わせ条件として、変数「第1関節の位置」の値が第1指定値から第2指定値に変化するという条件が設定される。そのため、ボタン73に、時刻合わせ条件として設定された変数の名称「第1関節の位置」が表示される。
【0137】
ボタン74は、時刻合わせ条件に従った時刻合わせの実行を開始するために使用される。ボタン74がクリックされると、CPU110は、時刻合わせ条件が満たされるタイミングが同一時刻となるように2以上の第1時系列データセット222aおよび1以上の第2時系列データセット222bの時刻を調整する。
【0138】
さらに、ボタン74がクリックされると、動画処理部12bとして動作するCPU110は、時刻合わせ条件が満たされるタイミングが互いに一致するように第1処理済動画52a_1~52a_nを重ね合わせることにより合成動画52bを生成する。さらに、CPU110は、時刻合わせ条件が満たされるタイミングに対応するフレームの時刻が互いに一致するように、合成動画52bおよび評価対象動画の各フレームの時刻を調整する。これにより、
図11の領域64において、時刻合わせ条件が満たされるタイミングが一致するように、合成動画52bおよび評価対象動画が再生される。
【0139】
なお、ボタン74がクリックされない場合、CPU110は、2以上の第1時系列データセット222aおよび1以上の第2時系列データセット222bの各々について、開始時刻が基準時刻(例えば00:00)となるように時刻を調整する。
【0140】
表示欄75には、時系列データセット222によって示される1以上の変数の各々の値の推移を示すグラフ76が表示される。各グラフ76において、横軸は調整後の時刻を表し、縦軸は変数の値を表す。各グラフ76において、第1時系列データセット222aによって示される変数の値の推移が破線76aによって表され、第2時系列データセット222bによって示される変数の値の推移が実線76bによって表される。
【0141】
なお、破線76aは、2以上の第1時系列データセット222aによって示される1以上の変数の値の平均値の推移を示してもよいし、選択された1つの第1時系列データセット222aによって示される1以上の変数の値の推移を示してもよい。あるいは、2以上の第1時系列データセット222aにそれぞれ対応する2以上の破線76aが重ねて表示されてもよい。同様に、2以上の第2時系列データセット222bが選択された場合、実線76bは、2以上の第2時系列データセット222bによって示される値の平均値の推移を示してもよいし、選択された1つの第2時系列データセット222bによって示される1以上の変数の値の推移を示してもよい。あるいは、2以上の第2時系列データセット222bにそれぞれ対応する2以上の実線76bが重ねて表示されてもよい。
【0142】
さらに、表示欄75には、
図11に示すウィンドウ60aの領域64に表示されるフレームの時刻に対応するライン77a,77bが表示される。ライン77aは、合成動画52bのフレームの時刻に対応する。ライン77bは、評価対象動画のフレームの時刻に対応する。ライン77a,77bは、領域64に表示されるフレームが変化するたびに移動する。なお、ウィンドウ60aにおいてスライダー66,67が操作されない限り、ライン77a,77bは重なり合う。スライダー66,67のうちの一方が操作された場合、ライン77a,77bは、互いに異なる位置に表示される。
【0143】
<変形例1>
上記の説明では、対象動作が行なわれるたびに、動画50および時系列データセット222が情報処理装置100に蓄積されるものとした。しかしながら、情報処理装置100への動画50および時系列データセット222の蓄積方法はこれに限定されない。
【0144】
例えば、生産設備400の導入直後の初期運転期間において、対象動作が行なわれるたびに、動画50および時系列データセット222が情報処理装置100に蓄積される。初期運転期間において蓄積された動画50および時系列データセット222は、正常動画52および第1時系列データセット222aとして選択される。
【0145】
初期運転期間の後の運用期間において、PLC200は、ステータスが「異常」であるイベントが発生した対象動作についてのみ時系列データセット222を情報処理装置100に出力するとともに、動画50を出力するようにカメラ300に指示してもよい。これにより、運用期間において、情報処理装置100には何らかの異常が発生したときの動画50および時系列データセット222が蓄積される。そのため、運用期間において蓄積された動画50および時系列データセット222は、異常動画54および第2時系列データセット222bとして選択される。
【0146】
<変形例2>
上記の説明では、情報処理装置100に内蔵される記憶部10に動画50および時系列データセット222が蓄積されるものとした。しかしながら、情報処理装置100の外部のデータベースまたはサーバに動画50および時系列データセット222が蓄積されてもよい。この場合、情報処理装置100のCPU110は、データベースまたはサーバにアクセスして、表示対象となる正常動画52,異常動画54,第1時系列データセット222a,および第2時系列データセット222bを取得すればよい。
【0147】
<変形例3>
上記の説明では、2以上の異常動画54が選択された場合、2以上の異常動画54に対して第2画像処理を行なうことにより得られる2以上の第2処理済動画54aを重ね合わせた合成動画54bが評価対象動画として生成されるものとした。しかしながら、2以上の第2処理済動画54aの各々が評価対象動画として生成されてもよい。この場合、画面60において、2以上の第2処理済動画54aの各々が合成動画52bに重ね合わされて再生される。
【0148】
<変形例4>
上記の説明では、選択部11aは、ログデータ224に基づいて、内容が異常を示すイベントが発生していない撮影期間の第1リストを生成し、ユーザ入力に応じて、第1リストから2以上の正常動作期間を選択する。さらに、選択部11aは、ログデータ224に基づいて、内容が異常を示すイベントが発生した撮影期間の第2リストを生成し、ユーザ入力に応じて、第2リストから1以上の異常動作期間を選択する。しかしながら、第1リストおよび第2リストの生成は、上記の方法に限定されない。
【0149】
例えば、選択部11aは、生産設備400が設置される工程よりも後の検査工程により得られる検査結果に基づいて、第1リストおよび第2リストを生成してもよい。具体的には、PLC200および検査工程を管理する上位システム(例えば、製造実行システム)は、製品ごとに付与された製品IDと紐付けて、生産設備400による対象動作の開始信号および終了信号をPLC200に出力するとともに、検査指示を検査工程に出力する。上位システムは、製品IDに基づいて、検査結果が品質異常である製品に対して対象動作が実施された期間(以下、「品質異常期間」と称する)を特定し、品質異常期間を示す情報を情報処理装置100に出力する。情報処理装置100の選択部11aは、品質異常期間と重なる撮影期間を第1リストから除外し、第2リストに含める。
【0150】
変形例4によれば、ユーザは、品質異常である製品に対して行なわれた対象動作に対応する動画50を異常動画54として選択できる。
【0151】
<変形例5>
画面60における合成動画52bと評価対象動画との表示態様を互いに異ならせる方法は、両動画の色を互いに異ならせる方法に限定されない。例えば、動画出力部13aは、画面60において、合成動画52bと評価対象動画とのシャープネスを互いに異ならせてもよい。具体的には、動画出力部13aは、評価対象動画のシャープネスを合成動画52bのシャープネスよりも高める。これによっても、ユーザは、合成動画52bと評価対象動画とを区別しやすくなる。
【0152】
あるいは、動画出力部13aは、画面において、合成動画52bおよび評価対象動画の一方を常時表示させ、他方を定期的に非表示にしてもよい。例えば、動画出力部13aは、画面60上の評価対象動画について、表示と非表示とを一定時間(例えば0.5秒であるが、これに限られない)ごとに切り替える。
【0153】
<変形例6>
上記の説明では、情報処理装置100は、PLC200とは異なる装置とした。しかしながら、情報処理装置100は、PLC200と一体化されてもよい。具体的には、情報処理装置100は、PLC200の機能を含む産業用パーソナルコンピュータ(Industrial Personal Computer(IPC))によって実現されてもよい。
【0154】
一変形例として、情報処理装置100の構成および動作を、互いに通信可能な複数のコンピュータに分散させた形態も可能である。
【0155】
例えば、情報処理装置100の一部の構成要素を、クラウドコンピューティングシステムまたはその他のコンピューティングシステムに属するサーバ等のコンピュータに設けた形態も可能である。
【0156】
別の例として、情報処理装置100の一部の構成要素を、制御対象を制御するPLC等のコンピュータに設けた形態も可能である。この場合、情報処理装置100は、制御対象に対する制御演算に影響を与えることなく、上述した処理を実行可能なように構成される。
【0157】
<変形例7>
汎用のコンピュータを、上述した実施の形態に係る情報処理装置100として機能させる実施の形態も可能である。具体的には、上述した実施の形態に係る情報処理装置100の各機能を実現する処理内容を記述した解析プログラム116を、汎用のコンピュータのメモリに格納し、プロセッサによって解析プログラム116を読み出して実行させる。したがって、本実施の形態に係る発明は、プロセッサが実行可能な解析プログラム116、又は解析プログラム116を記憶する非一時的なコンピュータ可読媒体としても実現可能である。
【0158】
§3 付記
以上のように、本実施の形態は以下のような開示を含む。
【0159】
(構成1)
情報処理装置(100)であって、
対象動作を繰り返し実行する生産設備(400)が写る、前記対象動作ごとの複数の動画(50)の中から、前記対象動作が正常であるときの2以上の動画(50)を2以上の正常動画(52)として選択する選択部(11a,110)と、
前記2以上の正常動画(52,52_1~52_n)に対して半透明化処理を含む第1画像処理を行なうことにより2以上の第1処理済動画(52a_1~52a_n)を生成し、前記2以上の第1処理済動画(52a_1~52a_n)を重ね合わせることにより合成動画(52b)を生成する第1処理部(12b1,110)と、
前記合成動画(52b)と評価対象動画(54,54b)とが重ね合わされて再生される画面(60)を示す画面データを出力する出力部(13,110)とを備える、情報処理装置(100)。
【0160】
(構成2)
前記選択部(11a,110)は、前記複数の動画(50)の中から、前記対象動作が異常であるときの動画(50)を異常動画(54)として選択し、
前記評価対象動画は、前記異常動画(54)、または、前記異常動画(54)に対して第2画像処理が行われた動画を含む、構成1に記載の情報処理装置(100)。
【0161】
(構成3)
前記選択部(11a,110)は、前記複数の動画(50)の中から、前記対象動作が異常であるときの2以上の動画(50)を2以上の異常動画(54,54_1~54_m)として選択し、
前記情報処理装置(100)は、さらに、
前記2以上の異常動画(54,54_1~54_m)に対して半透明化処理を含む第2画像処理を行なうことにより2以上の第2処理済動画(54a_1~54a_m)を生成し、前記2以上の第2処理済動画(54a_1~54a_m)を重ね合わせることにより前記評価対象動画を生成する第2処理部(12b2,110)を備える、構成1に記載の情報処理装置(100)。
【0162】
(構成4)
前記画面(60)において、前記合成動画(52b)の表示態様は、前記評価対象動画(54,54b)の表示態様と異なる、構成1から3のいずれかに記載の情報処理装置(100)。
【0163】
(構成5)
前記第1画像処理および前記第2画像処理は、エッジ強調処理および前記生産設備以外の背景部分を除去する処理の少なくとも一方を含む、構成1から4のいずれかに記載の情報処理装置(100)。
【0164】
(構成6)
前記第1処理部(12b1,110)は、前記2以上の正常動画(52,52_1~52_n)の各々に対応する第1時系列データセット(222a)において、指定された条件が満たされる第1タイミングを特定し、
前記第1時系列データセット)222a)は、前記2以上の正常動画(52,52_1~52_n)のうちの対応する正常動画の撮影期間の前記生産設備(400)の状態を示し、
前記第1処理部(12b1,110)は、前記第1タイミングが互いに一致するように前記2以上の第1処理済動画(52a_1~52a_n)を重ね合わせることにより前記合成動画(52b)を生成する、構成1から5のいずれかに記載の情報処理装置(100)。
【0165】
(構成7)
前記画面(60)において、前記第1タイミングと、前記評価対象動画の撮影期間の前記生産設備(400)の状態を示す第2時系列データセット(222b)において前記指定された条件が満たされる第2タイミングとが一致するように、前記合成動画(52b)と前記評価対象動画(54,54b)とが再生される、構成6に記載の情報処理装置(100)。
【0166】
(構成8)
前記画面データは、前記第1時系列データセット(222a)と前記第2時系列データセット(222b)とを前記画面(60)上に可視化するための情報を含む、構成7に記載の情報処理装置(100)。
【0167】
(構成9)
前記画面(60)上には、前記合成動画(52b)と前記評価対象動画(54,54b)との一致度が表示される、構成1から8のいずれかに記載の情報処理装置(100)。
【0168】
(構成10)
情報処理方法であって、
対象動作を繰り返し実行する生産設備(400)が写る、前記対象動作ごとの複数の動画(50)の中から、前記対象動作が正常であるときの2以上の動画(50)を2以上の正常動画(52,52_1~52_n)として選択すること(S1_1~S1_n)と、
前記2以上の正常動画(52,52_1~52_n)に対して半透明化処理を含む第1画像処理を行なうことにより2以上の第1処理済動画(52a_1~52a_n)を生成し、前記2以上の第1処理済動画(52a_1~52a_n)を重ね合わせることにより合成動画(52b)を生成すること(S3_1~S3_n,S4)と、
前記合成動画(52b)と評価対象動画(54,54b)とが重ね合わされて再生される画面(60)を示す画面データを出力すること(S11)とを備える、情報処理方法。
【0169】
(構成11)
情報処理方法をコンピュータ(110)に実行させるプログラム(116)であって、
前記情報処理方法は、
対象動作を繰り返し実行する生産設備(400)が写る、前記対象動作ごとの複数の動画(50)の中から、前記対象動作が正常であるときの2以上の動画(50)を2以上の正常動画(52,52_1~52_n)として選択すること(S1_1~S1_n)と、
前記2以上の正常動画(52,52_1~52_n)に対して半透明化処理を含む第1画像処理を行なうことにより2以上の第1処理済動画(52a_1~52a_n)を生成し、前記2以上の第1処理済動画(52a_1~52a_n)を重ね合わせることにより合成動画(52b)を生成すること(S3_1~S3_n,S4)と、
前記合成動画(52b)と評価対象動画(54,54b)とが重ね合わされて再生される画面(60)を示す画面データを出力すること(S11)とを含む、プログラム(116)。
【0170】
本発明の実施の形態について説明したが、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0171】
1 製造システム、2 対象物、10 記憶部、11 設定部、11a 選択部、11b 収集データ設定部、11c カメラ設定部、12 処理部、12a 時刻調整部、12b 動画処理部、12b1 第1処理部、12b2 第2処理部、13 出力部、13a 動画出力部、13b 時系列データ出力部、20 制御部、22 データ収集部、41 ハンド、50 動画、52 正常動画、52a 第1処理済動画、52b,54b 合成動画、54 異常動画、54a 第2処理済動画、60 画面、60a,60b ウィンドウ、61~63,71~74 ボタン、64 領域、65 ボタン群、66,67 スライダー、68,71a,72a,75 表示欄、76 グラフ、77a,77b ライン、100 情報処理装置、108,208 ストレージ、110,202 CPU、112,206 メモリ、114 ハードディスク、116 解析プログラム、118 入力インターフェイス、120 表示コントローラ、122 ディスプレイ、124 通信インターフェイス、126 データリーダ/ライタ、128 バス、130 記憶媒体、132 入力装置、200 PLC、201 電源回路、204 チップセット、211 システムプログラム、213 スケジューラプログラム、214 制御プログラム、215 リフレッシュプログラム、216 データ収集プログラム、220 IOデータ、222 時系列データセット、222a 第1時系列データセット、222b 第2時系列データセット、224 ログデータ、230 設定情報、250 USBコントローラ、252 フィールドネットワークコントローラ、252a,254a コネクタ、254 ネットワークコントローラ、260 タイマ、300 カメラ、400 生産設備。