IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オムロン株式会社の特許一覧

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