(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025008970
(43)【公開日】2025-01-20
(54)【発明の名称】モデル生成装置、判定装置および判定方法
(51)【国際特許分類】
G06Q 10/20 20230101AFI20250109BHJP
【FI】
G06Q10/20
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023111640
(22)【出願日】2023-07-06
(71)【出願人】
【識別番号】000001236
【氏名又は名称】株式会社小松製作所
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】石田 将規
(72)【発明者】
【氏名】谷中 峻輔
(72)【発明者】
【氏名】村田 悠也
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049CC15
(57)【要約】
【課題】作業機械の過去の検査結果に基づいて、エラーコードから作業機械の検査の要否を精度よく決定する。
【解決手段】モデル生成装置は、検査情報取得ステップと、エラー取得ステップと、生成ステップを実行する。検査情報取得ステップでは、作業機械の検査について、検査を実行した時刻と検査の結果により判明した故障の有無とを取得する。エラー取得ステップでは、作業機械の制御装置から検査を実行した時刻よりも前の時間に出力されたエラーコードの組み合わせを取得する。作業機械の制御装置は、作業機械の状態が所望の状態でない場合にエラーの種別を表すエラーコードを出力する。生成ステップでは、故障の有無と、検査を実行した時刻よりも前の時間に出力されたエラーコードの組み合わせとに基づいて、エラーコードの組み合わせから故障の有無を予測するための予測モデルを生成する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
プロセッサを備え、
前記プロセッサは、
作業機械の検査について、前記検査を実行した時刻と前記検査の結果により判明した故障の有無とを取得する検査情報取得ステップと、
前記作業機械の状態が所望の状態でない場合にエラーの種別を表すエラーコードを出力する前記作業機械の制御装置から、前記検査を実行した時刻よりも前の時間に出力された前記エラーコードの組み合わせを取得するエラー取得ステップと、
前記故障の有無と、前記検査を実行した時刻よりも前の時間に出力されたエラーコードの組み合わせとに基づいて、前記エラーコードの組み合わせから前記故障の有無を予測するための予測モデルを生成する生成ステップと
を実行する
モデル生成装置。
【請求項2】
前記生成ステップでは、複数の検査それぞれについて、前記故障の有無と前記検査を実行した時刻よりも前の時間に出力された前記エラーコードの組み合わせとの統計処理によって、前記予測モデルを生成する
請求項1に記載のモデル生成装置。
【請求項3】
前記生成ステップでは、前記検査を実行した時刻よりも前の時間に出力された前記エラーコードの組み合わせのパターンと、前記検査それぞれにおける前記故障の有無との統計処理によって、前記予測モデルを生成する
請求項1に記載のモデル生成装置。
【請求項4】
前記生成ステップでは、エラーコードの組み合わせが変化しない期間ごとに、当該期間において少なくとも1つの故障が判明したか否かを判定し、前記少なくとも1つの故障が判明した期間の数に基づく統計処理によって、前記予測モデルを生成する
請求項3に記載のモデル生成装置。
【請求項5】
前記プロセッサは、
前記検査の実績が少ない前記エラーコードの組み合わせを特定する特定ステップをさらに実行する
請求項3または請求項4に記載のモデル生成装置。
【請求項6】
プロセッサを備え、
前記プロセッサは、
作業機械の状態が所望の状態でない場合にエラーの種別を表すエラーコードを出力する前記作業機械の制御装置から現在時刻よりも前の時間に出力された前記エラーコードの組み合わせを取得するエラー取得ステップと、
前記作業機械の検査を実行した時刻と前記検査の結果により判明した故障の有無と前記検査を実行した時刻よりも前の時間に出力された前記エラーコードの組み合わせとに基づいて生成された、前記エラーコードの組み合わせから前記故障の有無を予測するための予測モデルと、前記作業機械の制御装置から現在時刻よりも前の時間に出力された前記エラーコードの組み合わせとに基づいて、前記作業機械の検査の要否に関する情報を出力する出力ステップと
を実行する判定装置。
【請求項7】
作業機械の状態が所望の状態でない場合にエラーの種別を表すエラーコードを出力する前記作業機械の制御装置から現在時刻よりも前の時間に出力された前記エラーコードの組み合わせを取得するエラー取得ステップと、
前記作業機械の検査を実行した時刻と前記検査の結果によって判明した故障の有無と前記検査を実行した時刻よりも前の時間に出力された前記エラーコードの組み合わせとに基づいて生成された、前記エラーコードの組み合わせから前記故障の有無を予測するための予測モデルと、前記作業機械の制御装置から現在時刻よりも前の時間に出力された前記エラーコードの組み合わせとに基づいて、前記作業機械の検査の要否に関する情報を出力する出力ステップと
を備える判定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、モデル生成装置、判定装置および判定方法に関する。
【背景技術】
【0002】
作業機械に搭載された制御装置は、センサなどを介して作業機械の状態を監視し、作業機械の状態が所望の状態でない場合に、エラーを通知する。エラーの通知には、エラーの内容を表すエラーコードが付されており、保守者は当該エラーコードを読み取って作業機械の検査の要否を検討する。特許文献1には、エラーコードから作業機械の異常度合いを判断する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
エラーは、センサの計測値が所定の範囲を超えたときや、通信などの制御に失敗したときに出力される。そのため、エラーの発生は必ずしも作業機械の故障を表しているわけではない。そのため、保守者はエラーコードから作業機械の検査の要否を検討することが困難である。また保守者の経験によって検討の精度が異なる可能性がある。
本開示の目的は、作業機械の過去の検査結果およびエラーコードの発生状況に基づいて、エラーコードから作業機械の検査の要否を精度よく決定するためのモデル生成装置、判定装置および判定方法を提供することにある。
【課題を解決するための手段】
【0005】
本発明の一態様によれば、モデル生成装置は、プロセッサを備え、前記プロセッサは、作業機械の検査について、前記検査を実行した時刻と前記検査の結果により判明した故障の有無とを取得する検査情報取得ステップと、前記作業機械の状態が所望の状態でない場合にエラーの種別を表すエラーコードを出力する前記作業機械の制御装置から前記検査を実行した時刻よりも前の時間に出力された前記エラーコードの組み合わせを取得するエラー取得ステップと、前記故障の有無と前記検査を実行した時刻よりも前の時間に出力された前記エラーコードの組み合わせとに基づいて、前記エラーコードの組み合わせから前記故障の有無を予測するための予測モデルを生成する生成ステップとを実行する。
【発明の効果】
【0006】
上記態様によれば、予測モデルを用いることで、作業機械の過去の検査結果に基づいて、エラーコードから作業機械の検査の要否を精度よく決定することができる。
【図面の簡単な説明】
【0007】
【
図1】第一実施形態に係るトリガ通知システムの構成を示す概略図である。
【
図2】第一実施形態に係る制御装置の構成を示す概略ブロック図である。
【
図3】第一実施形態に係る管理サーバの構成を示す概略ブロック図である。
【
図4】第一実施形態に係る管理サーバによるモデル生成処理を示すフローチャートである。
【
図5】第一実施形態に係る予測モデルの例を示す図である。
【
図6】第一実施形態に係る管理サーバによるトリガ生成処理を示すフローチャートである。
【
図7】第二実施形態に係る管理サーバによるモデル生成処理を示すフローチャートである。
【
図8】第二実施形態に係る予測モデルの例を示す図である。
【
図9】第一実施形態に係る管理サーバによるトリガ生成処理を示すフローチャートである。
【発明を実施するための形態】
【0008】
〈第一実施形態〉
《トリガ通知システム1の構成》
以下、図面を参照しながら実施形態について詳しく説明する。
図1は、第一実施形態に係るトリガ通知システム1の構成を示す概略図である。トリガ通知システム1は、作業機械100の検査の要否を判定し、検査が必要であると判定された作業機械100を保守者に提示する。つまり、トリガ通知システム1は、保守者に作業機械100の検査のトリガを通知する。保守者は、トリガ通知システム1から通知されたトリガによって適切な作業機械100の検査タイミングを認識することができる。
【0009】
トリガ通知システム1は、作業機械100、管理サーバ300および保守者端末500を備える。作業機械100、管理サーバ300および保守者端末500は、ネットワークを介して通信可能に接続される。
【0010】
作業機械100は、例えばそれが油圧ショベルである場合、施工現場にて稼働し、土砂の掘削作業などを行う。
図1に示す作業機械100は、油圧ショベルであるが、他の実施形態においては、他の作業機械であってもよい。作業機械100の例としては、ブルドーザ、ダンプトラック、フォークリフト、ホイールローダ、モータグレーダなどが挙げられる。作業機械100は、自車両の状態を監視し、状態が所望の状態でない場合に管理サーバ300にエラーデータを送信する。
【0011】
管理サーバ300は、作業機械100のエラーデータに基づいて、検査すべき作業機械100を決定する。
管理サーバ300は、作業機械100のエラーデータおよび作業機械100の検査情報の履歴を記憶する。管理サーバ300は、エラーデータおよび検査情報の履歴に基づいて、作業機械100の故障の有無を予測する予測モデルを生成する。管理サーバ300は、予測モデルに基づいて、検査を行うべき作業機械100を決定し、保守者端末500に検査すべき作業機械100を示すトリガ情報を送信する。つまり、管理サーバ300はモデル生成装置の一例であり、また管理サーバ300は判定装置の一例である。
【0012】
保守者端末500は、管理サーバ300が生成したトリガ情報を表示し、または印刷する。また保守者端末500は、保守者による作業機械100の検査結果を示す検査結果データの入力を受け付け、管理サーバ300に送信する。検査結果データは、検査の日時と、故障の有無、検査および故障の内容を含む。
【0013】
《作業機械100の構成》
作業機械100は、走行体110、旋回体120、作業機130、制御装置140を備える。
走行体110は、作業機械100を走行可能に支持する。走行体110は、例えば左右1対の無限軌道である。
旋回体120は、走行体110に旋回中心回りに旋回可能に支持される。
作業機130は、旋回体120の前部に上下方向に駆動可能に支持される。作業機130は、油圧により駆動する。ここで、旋回体120のうち作業機130が取り付けられる部分を前部という。また、旋回体120について、前部を基準に、反対側の部分を後部、左側の部分を左部、右側の部分を右部という。
制御装置140は、オペレータの操作に基づいて、走行体110、旋回体120、および作業機130を制御する。制御装置140は、例えば運転室の内部に設けられる。制御装置140は、転倒リスク提示装置の一例である。
【0014】
作業機械100は、作業機械100の作業状態を検出するための複数のセンサ141を備える。具体的には、作業機械100は、サービスメータ、エンジン回転数センサ、排気温度センサ、油温センサ、油圧センサ、傾斜センサなどを備える。
【0015】
図2は、第一実施形態に係る制御装置140の構成を示す概略ブロック図である。
制御装置140は、プロセッサ210、メインメモリ230、ストレージ250、インタフェース270を備えるコンピュータである。
【0016】
ストレージ250は、一時的でない有形の記憶媒体である。ストレージ250の例としては、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリ等が挙げられる。ストレージ250は、制御装置140のバスに直接接続された内部メディアであってもよいし、インタフェース270または通信回線を介して制御装置140に接続される外部メディアであってもよい。ストレージ250は、作業機械100を制御するためのプログラムを記憶する。
【0017】
プログラムは、制御装置140に発揮させる機能の一部を実現するためのものであってもよい。例えば、プログラムは、ストレージ250に既に記憶されている他のプログラムとの組み合わせ、または他の装置に実装された他のプログラムとの組み合わせによって機能を発揮させるものであってもよい。なお、他の実施形態においては、制御装置140は、上記構成に加えて、または上記構成に代えてPLD(Programmable Logic Device)などのカスタムLSI(Large Scale Integrated Circuit)を備えてもよい。PLDの例としては、PAL(Programmable Array Logic)、GAL(Generic Array Logic)、CPLD(Complex Programmable Logic Device)、FPGA(Field Programmable Gate Array)が挙げられる。この場合、プロセッサによって実現される機能の一部または全部が当該集積回路によって実現されてよい。
【0018】
プロセッサ210は、プログラムを実行することで、取得部211、判定部212、送信部213として機能する。
【0019】
取得部211は、複数のセンサ141からそれぞれ計測値を取得する。
判定部212は、取得部211が取得した計測値に基づいてエラーの有無を判定する。判定部212は、計測値が所定の範囲を超える場合にエラーがあると判定する。また判定部212は、取得部211がセンサ141から計測値を取得できない場合に、エラーがあると判定する。判定部212は、エラーの内容を表すエラーコードを特定する。
【0020】
送信部213は、判定部212によって検出されたエラー示すエラーデータを、管理サーバ300に送信する。エラーデータは、作業機械100の識別情報と、エラーの発生時刻と、エラーコードとを含む。送信部213は、所定の送信タイミングで、エラーデータを管理サーバ300に送信する。送信部213はエラーデータをバッチ処理によって送信してもよいし、リアルタイムに管理サーバ300に送信してもよい。エラーデータをバッチ処理にて送信する場合、取得部211はストレージ250にエラーデータを記録し、送信部213はこれを管理サーバ300に送信する。なお、通信量の削減のために、送信部213は、必要に応じてこれら履歴データは圧縮して送信してもよい。
【0021】
また、送信部213は、通信量の削減のために、同一のエラーコードに係るエラーが所定の通知抑制時間以内に複数回発生したとしても、初回のエラー以外についてはエラーデータを送信しなくてもよい。具体的には、送信部213は、前回エラーデータを送信したエラーの検出時刻から所定の通知抑制時間(例えば20時間)以内に、同一のエラーコードのエラーが発生した場合には、当該エラーを通知しない。例えば、0時、10時、22時に、それぞれ傾斜に係るエラーが発生した場合について説明する。0時に検出されたエラーは初回のエラーである。そのため送信部213は、0時に検出されたエラーに係るエラーデータを管理サーバ300へ送信する。10時に検出されたエラーは、0時に検出されたエラーと同一のエラーコードに係るエラーであり、また検出から通知抑制時間である20時間が経過していない。そのため、送信部213は、10時に検出されたエラーに係るエラーデータを送信しない。22時に検出されたエラーは、0時に検出されたエラーと同一のエラーコードに係るエラーであるが、検出から通知抑制時間である20時間が経過している。そのため、送信部213は、22時に検出されたエラーに係るエラーデータを管理サーバ300へ送信する。
【0022】
《管理サーバ300の構成》
図3は、第一実施形態に係る管理サーバ300の構成を示す概略ブロック図である。
管理サーバ300は、プロセッサ310、メインメモリ330、ストレージ350、インタフェース370を備えるコンピュータである。
【0023】
ストレージ350は、一時的でない有形の記憶媒体である。ストレージ350の例としては、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリ等が挙げられる。ストレージ350は、管理サーバ300のバスに直接接続された内部メディアであってもよいし、インタフェース370または通信回線を介して管理サーバ300に接続される外部メディアであってもよい。ストレージ350は、インシデントレポートを生成するためのプログラムを記憶する。
【0024】
プログラムは、管理サーバ300に発揮させる機能の一部を実現するためのものであってもよい。例えば、プログラムは、ストレージ350に既に記憶されている他のプログラムとの組み合わせ、または他の装置に実装された他のプログラムとの組み合わせによって機能を発揮させるものであってもよい。なお、他の実施形態においては、管理サーバ300は、上記構成に加えて、または上記構成に代えてカスタムLSIを備えてもよい。この場合、プロセッサ310によって実現される機能の一部または全部が当該集積回路によって実現されてよい。また、他の実施形態においては、管理サーバ300は、1または複数のコンピュータ上で仮想化されたコンピュータによって実現されてもよい。
【0025】
プロセッサ310は、プログラムを実行することで、受信部311、モデル生成部312、判定部313、送信部314として機能する。
【0026】
受信部311は、作業機械100からエラーデータを受信する。受信部311は、受信したエラーデータをストレージ350に記録する。
受信部311は、保守者端末500から検査結果データを受信する。受信部311は、受信した検査結果データをストレージ350に記録する。保守者は、作業機械100の直接検査を行って故障の有無を判断し、判断結果を保守者端末500に入力することで検査結果データを生成する。なお、直接検査は、必ずしもエラーコードが発生したときにされるのではなく、保守者が現場監督からリクエストを受けたときなど、何らかの契機に応じて行われる。受信部311は、保守者が直接検査を行ったタイミングの直近に発生したエラーデータと、当該直接検査の結果を示す検査結果データとを受信する。
【0027】
モデル生成部312は、ストレージ350に記録された過去のエラーデータおよび検査結果データに基づいて、作業機械100が出力したエラーコードの組み合わせから当該作業機械100の故障の有無を予測するための予測モデルを生成する。具体的には、モデル生成部312は、エラーコードと故障の有無とのクロス集計によって、エラーコードの組み合わせパターンごとの故障割合およびP値を示すテーブルである予測モデルを生成する。P値は、故障がエラーコードの組み合わせと無関係に発生すると仮定したときの故障割合を表す確率密度分布において、あるエラーコードの組み合わせパターンの故障割合となる確率である。モデル生成部312は、作成した予測モデルをストレージ350に記録する。
【0028】
判定部313は、作業機械100から直近の対象期間(例えば、直近の30時間)内に受信されたエラーデータと、ストレージ350に記録された予測モデルとに基づいて、当該作業機械100の検査の要否を判定する。対象期間は、現在を起点にした過去の所定時間の期間であって、少なくとも作業機械100による同一エラーの通知抑制時間より長い期間である。例えば、判定部313は、対象期間に、エラーコードA、B、Cに係るエラーデータを受信した場合、エラーコードA、B、Cの組み合わせに関連付けられた故障割合およびP値を読み出す。故障割合は、エラーコードの組み合わせについて、過去に当該組み合わせが表れるときに発生した検査の数を分母とし、故障が判明した数を分子とする値である。判定部313は、読み出した故障割合が所定の閾値(例えば、70%)以上であって、かつ読み出したP値が所定の有意水準(例えば、5%)を満たす場合に、検査が必要であると判定する。他方、判定部313は、読み出した故障割合が所定の閾値未満である場合、または読み出したP値が所定の有意水準を満たさない場合には、検査が不要であると判定する。P値が有意水準を満たさないことは、当該エラーコードの組み合わせが故障に関係しない可能性が十分に高いことを表すためである。並列的に発生し得るエラーコードA、B、Cの組み合わせの例としては、エラーコードAが油温異常、エラーコードBが燃料インジェクタ異常、エラーコードCが冷却水音異常であることがあげられる。
【0029】
送信部314は、判定部313の判定結果に基づいて、複数の作業機械100のうち検査が必要な作業機械100を示すリストを、トリガデータとして保守者端末500に送信する。リストには、検査の要否に加え、判定部313が読み出した故障割合およびP値が含まれる。保守者は、保守者端末500に表示されたトリガデータによって、検査が必要な作業機械100を認識することができる。
【0030】
《管理サーバ300の処理》
管理サーバ300の受信部311は、作業機械100からエラーデータを受信するたびに当該エラーデータをストレージ350に記録し、保守者端末500から検査結果データを受信するたびに当該検査結果データをストレージ350に記録する。
【0031】
図4は、第一実施形態に係る管理サーバ300によるモデル生成処理を示すフローチャートである。管理サーバ300は、管理者から予測モデルの生成指示を受け付けると、
図4に示す処理を実行する。
【0032】
まず、管理サーバ300のモデル生成部312は、ストレージ350に記録された検査結果データを1つずつ選択し(ステップS1)、各検査結果データについて、ステップS2からステップS7の処理を実行する。モデル生成部312は、選択した検査結果データから、検査対象の作業機械100と検査の日時とを特定する(ステップS2)。モデル生成部312は、特定した作業機械100に係るエラーデータであって、特定した日時を終点とする対象期間(例えば、特定した日時の30時間前から特定した日時までの期間)において発生したエラーデータを、ストレージ350から読み出す(ステップS3)。
【0033】
モデル生成部312は、読み出したエラーデータから、対象期間において発生したエラーコードの組み合わせを特定する(ステップS4)。モデル生成部312は、特定した組み合わせに係るエラーコードで構成されうるエラーコードパターンをすべて特定する(ステップS5)。例えば、モデル生成部312は、ステップS4で、エラーコードの組み合わせ{A、B、C}を特定した場合、ステップS5でエラーコードパターン{A}、{B}、{C}、{A、B}、{B、C}、{A、C}、{A、B、C}を特定する。モデル生成部312は、ステップS1で選択した検査結果データが示す故障の有無に基づいて、特定した各エラーコードパターンの故障割合を更新する(ステップS6)。つまり、モデル生成部312は、ステップS1で選択した検査結果データが示す検査ごとに、エラー発生状況を読み取り、当該エラー発生状況に対応するエラーコードパターンごとに、故障割合を再計算して更新する。故障割合は、エラーコードパターンに係るエラーコードの組み合わせについて、当該組み合わせが表れる時期に実施された検査の数を分母とし、故障が判明した数を分子とする。具体的には、モデル生成部312は、各エラーコードパターンの故障割合について、検査結果データが故障があることを示す場合には分母と分子にそれぞれ1を加算し、検査結果データが故障がないことを示す場合には分母に1を加算する。また、モデル生成部312は、ステップS5で特定した各エラーコードパターンについて、P値を更新する(ステップS7)。なお、故障割合およびP値は、作業機械100の機種ごとに母集団を形成して計算される。故障割合およびP値は、機種のみならず、車格や地域などの区分ごとに母集団を形成して計算されてもよい。
【0034】
モデル生成部312は、ステップS1からステップS7の計算結果に基づいて、エラーコードパターンごとの故障割合およびP値を示すテーブルである予測モデルを生成する(ステップS8)。モデル生成部312は、生成した予測モデルをストレージ350に記録する(ステップS9)。
図5は、第一実施形態に係る予測モデルの例を示す図である。
図5は、エラーコードがA、B、Cの3種類である場合の例を示す。なお、予測モデルは、全てのエラーコードの組み合わせのうち、故障割合が所定の閾値(例えば、70%)以上であって、かつ読み出したP値が所定の有意水準(例えば、5%)を満たすもののみを抽出したものであってもよい。
【0035】
図6は、第一実施形態に係る管理サーバ300によるトリガ生成処理を示すフローチャートである。管理サーバ300は、所定の周期ごとに、
図6に示す処理を実行する。
【0036】
まず、管理サーバ300の判定部313は、複数の作業機械100を1つずつ選択し(ステップS21)、各作業機械100について、ステップS22からステップS27の処理を実行する。判定部313は、選択した作業機械100に係るエラーデータであって、現在時刻を終点とする対象期間(例えば、現在時刻の30時間前から現在時刻までの期間)において発生したエラーデータを、ストレージ350から読み出す(ステップS22)。
【0037】
判定部313は、読み出したエラーデータから、対象期間において発生したエラーコードの組み合わせを特定する(ステップS23)。判定部313は、ステップS23で特定したエラーコードの組み合わせに関連付けられた故障割合およびP値を読み出す(ステップS24)。判定部313は、読み出した故障割合が所定の閾値(例えば、70%)以上であって、かつ読み出したP値が所定の有意水準(例えば、5%)以上であるか否かを判定する(ステップS25)。判定部313は、故障割合が閾値以上であって、かつP値が有意水準以上である場合(ステップS25:YES)、ステップS21で選択した作業機械100について検査が必要であると判定する(ステップS26)。他方、判定部313は、故障割合が閾値未満である場合、またはP値が有意水準未満である場合(ステップS25:NO)、ステップS21で選択した作業機械100について検査が不要であると判定する(ステップS27)。
【0038】
送信部314は、ステップS21からステップS27による判定結果に基づいて、複数の作業機械100のうち検査が必要な作業機械100を示すリストを、トリガデータとして生成する(ステップS28)。トリガデータには、検査の要否に加え、判定部313が読み出した故障割合およびP値が含まれる。送信部314は、トリガデータを保守者端末500に送信する(ステップS29)。送信部314は、トリガデータを、例えば検査を要する作業機械100の保守サービスを担当する保守者の端末に送信する。なお、他の実施形態においては、送信部314は、作業機械100のオーナーにトリガデータを送信してよいし、オペレータに知らせるために作業機械100に備えられたモニタにトリガデータを送信してもよい。
【0039】
《作用・効果》
このように、第一実施形態に係る管理サーバ300は、作業機械100の検査について、検査を実行した時刻と検査の結果により判明した故障の有無とを取得する検査情報取得ステップと、作業機械100の制御装置140から出力されたエラーコードの組み合わせを取得するエラー取得ステップと、検査を実行した時刻と、故障の有無と、エラーコードの組み合わせとに基づいて、エラーコードの組み合わせから故障の有無を予測するための予測モデルを生成する生成ステップとを実行する。
これにより、管理サーバ300は、過去のエラーデータの履歴と検査の実績とに基づいて、故障の有無を予測する予測モデルを生成することができる。つまり、管理サーバ300は、作業機械100の過去の検査結果に基づいてエラーコードから作業機械の検査の要否を精度よく決定するための予測モデルを生成することができる。
【0040】
また、第一実施形態に係る管理サーバ300は、作業機械100の制御装置140から出力されたエラーコードの組み合わせを取得するエラー取得ステップと、予測モデルとエラーコードの組み合わせとに基づいて作業機械100の検査の要否に関する情報を出力する出力ステップとを実行する。これにより、管理サーバ300は、作業機械100の過去の検査結果に基づいて、エラーコードから作業機械100の検査の要否を精度よく決定することができる。
【0041】
〈第二実施形態〉
第一実施形態に係る管理サーバ300は、検査結果データを基準にしたクロス集計によって予測モデルを生成する。これに対し、第二実施形態に係る管理サーバ300は、作業機械100のエラーコードを基準にしたクロス集計によって予測モデルを生成する。
【0042】
第二実施形態に係るトリガ通知システム1の構成は、第一実施形態と同様である。他方、第二実施形態は、管理サーバ300による予測モデルの生成方法が第一実施形態と異なる。
【0043】
《管理サーバ300の処理》
管理サーバ300の受信部311は、作業機械100からエラーデータを受信するたびに当該エラーデータをストレージ350に記録し、保守者端末500から検査結果データを受信するたびに当該検査結果データをストレージ350に記録する。
【0044】
図7は、第二実施形態に係る管理サーバ300によるモデル生成処理を示すフローチャートである。管理サーバ300は、管理者から予測モデルの生成指示を受け付けると、
図7に示す処理を実行する。
【0045】
まず、管理サーバ300のモデル生成部312は、作業機械100を1つずつ選択し(ステップS41)、各作業機械100について、ステップS42からステップS48の処理を実行する。モデル生成部312は、ストレージ350に記録された最も古いエラーデータに係る時刻から現在時刻までの期間を所定時間ごとに区切った複数の時刻について、当該時刻を終点とする対象期間において検出されたエラーコードの組み合わせによって表される作業機械100の状態を特定する(ステップS42)。作業機械100の状態は、エラーコードの組み合わせのパターンを表すベクトルとして表される。例えば、エラーコードの種類がA、B、C,D,Eの5種類であって、対象期間においてエラーコードA、B、Eに係るエラーデータが存在する場合、作業機械100の状態は{1、1、0、0、1}と表される。
【0046】
モデル生成部312は、ステップS42で特定した作業状態が変化しない期間を1つずつ選択し(ステップS43)、各期間について、以下のステップS44からステップS48の処理を実行する。例えば、モデル生成部312は、時刻t1、時刻t2、時刻t3において、作業機械100の状態が{1、0、0、0、0}であって、時刻t4、時刻t5において、作業機械100の状態が{1、1、0、0、0}であって、時刻t6、時刻t7、時刻t8において、作業機械100の状態が{1、1、0、0、1}である場合、モデル生成部312は、時刻t1から時刻t3までの期間、時刻t4から時刻t5までの期間、時刻t6から時刻t8までの期間をそれぞれ選択する。
【0047】
モデル生成部312は、ステップS43で選択された期間に生成された、ステップS41で選択した作業機械100に係る検査結果データが存在するか否かを判定する(ステップS44)。ステップS43で選択された期間に生成された検査結果データが存在する場合(ステップS44:YES)、モデル生成部312は、当該期間に係る状態についての検査実績数に1を加算する(ステップS45)。モデル生成部312は、ステップS43で選択された期間に生成された、ステップS41で選択した作業機械100に係る検査結果データをすべて取得する(ステップS46)。モデル生成部312は、取得した検査結果データに故障が検出されたものが1つ以上存在するか否かを判定する(ステップS47)。故障が検出された検査結果データが1つ以上存在する場合(ステップS47:YES)、モデル生成部312は、当該期間に係る状態についての故障実績数に1を加算する(ステップS48)。
【0048】
なお、ステップS43で選択された期間に生成された、ステップS41で選択した作業機械100に係る検査結果データが存在しない場合(ステップS44:NO)、モデル生成部312は、当該期間に係る作業機械100の状態に係る検査実績数を加算しない。
また、ステップS43で選択された期間に生成された、ステップS41で選択した作業機械100に係る検査結果データが全てにおいて故障が検出されていない場合(ステップS47:NO)、モデル生成部312は、当該期間に係る作業機械100の状態に係る故障実績数を加算しない。
【0049】
モデル生成部312は、エラーコードの組み合わせパターンのそれぞれについて、故障実績数を検査実績数で除算することで、故障割合を算出する(ステップS49)。そしてモデル生成部312は、エラーコードの組み合わせパターンに、少なくとも当該パターンに係る故障割合と、検査実績数とを関連付けた予測モデルを生成する(ステップS50)。モデル生成部312は、生成した予測モデルをストレージ350に記録する(ステップS51)。
図8は、第二実施形態に係る予測モデルの例を示す図である。
図8は、エラーコードが3種類である場合の例を示す。
【0050】
図9は、第一実施形態に係る管理サーバ300によるトリガ生成処理を示すフローチャートである。管理サーバ300は、所定の周期ごとに、
図9に示す処理を実行する。
【0051】
まず、管理サーバ300の判定部313は、複数の作業機械100を1つずつ選択し(ステップS61)、各作業機械100について、ステップS62からステップS69の処理を実行する。判定部313は、選択した作業機械100に係るエラーデータであって、現在時刻を終点とする対象期間(例えば、現在時刻の30時間前から現在時刻までの期間)において発生したエラーデータを、ストレージ350から読み出す(ステップS62)。
【0052】
判定部313は、読み出したエラーデータから、対象期間において発生したエラーコードの組み合わせを特定する(ステップS63)。判定部313は、ステップS63で特定したエラーコードの組み合わせに関連付けられた故障割合および検査実績数を読み出す(ステップS64)。判定部313は、読み出した故障割合が所定の閾値(例えば、70%)以上であるか否かを判定する(ステップS65)。判定部313は、故障割合が閾値以上である場合(ステップS65:YES)、ステップS61で選択した作業機械100について検査が必要であると判定する(ステップS66)。
また、判定部313は、読み出した検査実績数が所定の閾値(例えば、5件)未満であるか否かを判定する(ステップS67)。判定部313は、検査実績数が閾値未満である場合(ステップS67:YES)、ステップS61で選択した作業機械100について、データ収集のために検査をすることが好ましい判定する(ステップS68)。
他方、判定部313は、故障割合が閾値未満であり、かつ検査実績数が閾値以上である場合(ステップS67:NO)、ステップS21で選択した作業機械100について検査が不要であると判定する(ステップS69)。
【0053】
送信部314は、ステップS61からステップS69による判定結果に基づいて、複数の作業機械100のうち検査が必要な作業機械100を示すリストを、トリガデータとして生成する(ステップS70)。トリガデータには、検査の要否に加え、判定部313が読み出した故障割合および検査実績数が含まれる。送信部314は、トリガデータを保守者端末500に送信する(ステップS71)。
【0054】
《作用・効果》
このように、第二実施形態に係る管理サーバ300は、エラーコードの組み合わせが変化しない期間ごとに、当該期間において少なくとも1つの故障が判明したか否かを判定し、少なくとも1つの故障が判明した期間の数に基づく統計処理によって、予測モデルを生成する。つまり、管理サーバ300は、エラーコードの組み合わせが変化しない期間について複数回の検査がなされても、検査実績を1と計数する。これにより、管理サーバ300は、1つの故障対応において複数回の検査がなされても、検査対応の重みに偏りが生じることを防ぐことができる。また、管理サーバ300は、エラーコードの組み合わせを作業機械100の状態として特定するため、作業機械100が発生するエラーコードの数に関わらず、1つの故障割合を出力する。
【0055】
また、第二実施形態に係る管理サーバ300は、検査の実績が少ないエラーコードの組み合わせを特定する特定ステップを実行する。これにより、予測モデルのうちデータが少ないために精度が低い作業機械100の状態について、保守者にデータの収集を促すことができる。
【0056】
〈他の実施形態〉
以上、図面を参照していくつかの実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。すなわち、他の実施形態においては、上述の処理の順序が適宜変更されてもよい。また、一部の処理が並列に実行されてもよい。
上述した実施形態に係る管理サーバ300は、単独のコンピュータによって構成されるものであってもよいし、管理サーバ300の構成を複数のコンピュータに分けて配置し、複数のコンピュータが互いに協働することで管理サーバ300として機能するものであってもよい。例えば、他の実施形態においては、管理サーバ300のうち予測モデルを生成するモデル生成装置としての機能と、予測モデルに基づいて検査の要否を判定する判定装置としての機能を別個のコンピュータに実装させてもよい。
【0057】
上述した実施形態に係る管理サーバ300は、クロス集計という統計処理によって予測モデルを生成するが、これに限られない。例えば、他の実施形態に係る管理サーバ300は、ニューラルネットワークモデルなどの機械学習モデルを用いた統計処理によって、予測モデルを生成してもよい。例えば、管理サーバ300は、検査実績データ毎の、当該検査時刻における作業機械100の状態(エラーコードの組み合わせ)と、故障の有無との組み合わせを、学習用データセットとして生成する。そして、管理サーバ300は、学習用データセットのうち、作業機械100の状態を入力として、故障割合を出力とするように、機械学習モデルである推定モデルのパラメータを学習させる。このような統計処理により、管理サーバ300は、機械学習モデルによって予測モデルを生成することができる。
【0058】
上述した実施形態に係る予測モデルは、
図5に示すようにエラーコードパターンごとの故障割合およびP値の関係を表すが、他の実施形態においては、これに限られない。例えば、他の実施形態に係る予測モデルは、故障割合およびP値に加え、さらに故障の内容を関連付けて記憶してもよい。また例えば、他の実施形態に係る予測モデルは、故障の内容別の故障割合およびP値を記憶してもよい。
【符号の説明】
【0059】
1…トリガ通知システム 100…作業機械 110…走行体 120…旋回体 130…作業機 140…制御装置 141…センサ 210…プロセッサ 211…取得部 212…判定部 213…送信部 230…メインメモリ 250…ストレージ 270…インタフェース 300…管理サーバ 310…プロセッサ 311…受信部 312…モデル生成部 313…判定部 314…送信部 330…メインメモリ 350…ストレージ 370…インタフェース 500…保守者端末