(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-21
(45)【発行日】2024-08-29
(54)【発明の名称】自律移動装置、学習装置、異常検知方法、及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240822BHJP
G05D 1/43 20240101ALI20240822BHJP
G05D 1/46 20240101ALI20240822BHJP
【FI】
G06N20/00 130
G05D1/43
G05D1/46
(21)【出願番号】P 2020000463
(22)【出願日】2020-01-06
【審査請求日】2022-12-09
【前置審査】
(73)【特許権者】
【識別番号】000232254
【氏名又は名称】日本電気通信システム株式会社
(73)【特許権者】
【識別番号】304028346
【氏名又は名称】国立大学法人 香川大学
(74)【代理人】
【識別番号】100103894
【氏名又は名称】家入 健
(72)【発明者】
【氏名】鎌田 典彦
(72)【発明者】
【氏名】喜田 弘司
(72)【発明者】
【氏名】古▲濱▼ 尚樹
【審査官】青木 重徳
(56)【参考文献】
【文献】特開2019-123337(JP,A)
【文献】特開2018-124639(JP,A)
【文献】特開2011-059790(JP,A)
【文献】国際公開第2019/244930(WO,A1)
【文献】国際公開第2015/141221(WO,A1)
【文献】米国特許出願公開第2019/0310651(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G05D 1/43
G05D 1/46
(57)【特許請求の範囲】
【請求項1】
自律移動装置における現在の状態を検知するセンサ群と、
制御部と、
を備え、
前記制御部は、
前記センサ群で検知された検知開始時点から現時点までの時系列データである現センサデータを取得し、
前記現センサデータを第1所定間隔毎に分割した現分割データと前記現センサデータとに基づき生成された複数のグラフである現グラフ群を、学習済みモデルに入力し、前記自律移動装置における異常発生状態を検知又は予測した結果を得、
前記学習済みモデルは、前記自律移動装置及び他の同種の自律移動装置の少なくとも1つにおける状態について装置内部のセンサ群で検知した時系列データである蓄積センサデータについて、前記蓄積センサデータを第2所定間隔毎に分割した蓄積分割データと前記蓄積センサデータとに基づき生成された複数のグラフである蓄積グラフ群を、未学習モデルに入力して機械学習を行うことで構築された学習モデルであり、
前記蓄積センサデータは、前記自律移動装置及び他の同種の自律移動装置の少なくとも1つにおける動作状況についての
第1時系列データと、前記自律移動装置及び他の同種の自律移動装置の少なくとも1つにおける運行管理を行う側に報告する現在の位置についての
第2時系列データと、を含
み、
前記学習済みモデルは、前記蓄積グラフ群として、前記第1時系列データを前記第2所定間隔毎に分割した第1蓄積分割データと前記第1時系列データとに基づき生成された複数の第1グラフである第1蓄積グラフ群と、前記第2時系列データを前記第2所定間隔毎に分割した第2蓄積分割データと前記第2時系列データとに基づき生成された複数の第2グラフである第2蓄積グラフ群と、を前記未学習モデルに入力して機械学習を行うことで構築された学習モデルであり、
前記現センサデータは、前記自律移動装置における動作状況についての第3時系列データと、前記自律移動装置における運行管理を行う側に報告する現在の位置についての第4時系列データと、を含み、
前記現グラフ群として、前記第3時系列データを前記第1所定間隔毎に分割した第1現分割データと前記第3時系列データとに基づき生成された複数のグラフである第1現グラフ群と、前記第4時系列データを前記第1所定間隔毎に分割した第2現分割データと前記第4時系列データとに基づき生成された複数のグラフである第2現グラフ群とを、前記学習済みモデルに入力し、前記結果を得る、
自律移動装置。
【請求項2】
Nを1以上の整数、iを1からNまでの整数、Mを1以上の整数、jを1からMまでの整数とし、
前記学習済みモデルに入力される前記現グラフ群は、検知開始時点から前記第1所定間隔がi回分経過するまでの合計N個の期間のそれぞれについて、対応するi個の前記現分割データを示すように生成された、N個のグラフを有し、
前記未学習モデルに入力される前記蓄積グラフ群は、検知開始時点から前記第2所定間隔がj回分経過するまでの合計M個の期間のそれぞれについて、対応するj個の前記現分割データを示すように生成された、M個のグラフを有する、
請求項1に記載の自律移動装置。
【請求項3】
前記蓄積センサデータは、前記自律移動装置及び前記他の同種の自律移動装置の少なくとも1つにおける正常時の状態を、各装置内部のセンサ群で検知した時系列データである正常センサデータを含む、
請求項1又は2に記載の自律移動装置。
【請求項4】
前記蓄積センサデータは、前記自律移動装置及び前記他の同種の自律移動装置の少なくとも1つにおける異常時の状態を、各装置内部のセンサ群で検知した時系列データである異常センサデータを含む、
請求項1~3のいずれか1項に記載の自律移動装置。
【請求項5】
前記制御部は、
前記機械学習のアルゴリズム及び前記機械学習に用いた蓄積センサデータのうちの少なくとも一方が異なる複数の前記学習済みモデルの中から、使用する学習済みモデルを選択し、
選択した学習済みモデルである選択モデルを使用して、前記結果を得る、
請求項1~4のいずれか1項に記載の自律移動装置。
【請求項6】
前記制御部は、前記結果として、正常時の状態、異常時の予兆がある状態、及び異常時の状態を含む、複数の状態のうち1つを得る、
請求項1~5のいずれか1項に記載の自律移動装置。
【請求項7】
前記制御部は、前記学習済みモデルを生成する学習部を備え、
前記学習部は、
前記蓄積センサデータを取得し、
前記蓄積センサデータを前記第1所定間隔毎に分割して前記蓄積分割データを生成し、
前記蓄積分割データと前記蓄積センサデータとに基づき、前記蓄積グラフ群を生成し、
前記蓄積グラフ群を予め記憶された未学習モデルに入力して機械学習を行うことで、前記自律移動装置における異常発生状態を検知又は予測した結果を得るための前記学習済みモデルを生成する、
請求項1~6のいずれか1項に記載の自律移動装置。
【請求項8】
自律移動装置における現在の状態を検知するセンサ群を備えた自律移動装置と通信する学習装置側通信部と、
学習装置側記憶部と、
学習装置側制御部と、
を備え、
前記学習装置側制御部は、
前記学習装置側通信部を介して前記自律移動装置及び他の同種の自律移動装置の少なくとも1つから、前記センサ群で検知された検知開始時点から検知終了時点までの時系列データである蓄積センサデータ又は前記蓄積センサデータを第1所定間隔毎に分割した蓄積分割データを受信して、前記学習装置側記憶部に記憶し、
前記蓄積分割データと前記蓄積センサデータとに基づき、複数のグラフである蓄積グラフ群を生成し、
前記蓄積グラフ群を前記学習装置側記憶部に予め記憶された未学習モデルに入力して機械学習を行うことで、前記自律移動装置における異常発生状態を検知又は予測した結果を得るための学習済みモデルを生成し、
前記蓄積センサデータは、前記自律移動装置及び他の同種の自律移動装置の少なくとも1つにおける動作状況についての
第1時系列データと、前記自律移動装置及び他の同種の自律移動装置の少なくとも1つにおける運行管理を行う側に報告する現在の位置についての
第2時系列データと、を含
み、
前記学習済みモデルは、前記蓄積グラフ群として、前記第1時系列データを前記第2所定間隔毎に分割した第1蓄積分割データと前記第1時系列データとに基づき生成された複数の第1グラフである第1蓄積グラフ群と、前記第2時系列データを前記第2所定間隔毎に分割した第2蓄積分割データと前記第2時系列データとに基づき生成された複数の第2グラフである第2蓄積グラフ群と、を前記未学習モデルに入力して機械学習を行うことで構築された学習モデルである、
学習装置。
【請求項9】
自律移動装置における現在の状態を前記自律移動装置内のセンサ群で検知する検知ステップと、
前記自律移動装置における異常発生状態を検知又は予測した結果を得る制御ステップと、
を備え、
前記制御ステップは、
前記センサ群で検知された検知開始時点から現時点までの時系列データである現センサデータを取得し、
前記現センサデータを第1所定間隔毎に分割した現分割データと前記現センサデータとに基づき生成された複数のグラフである現グラフ群を、学習済みモデルに入力し、前記結果を得、
前記学習済みモデルは、前記自律移動装置及び他の同種の自律移動装置の少なくとも1つにおける状態について装置内部のセンサ群で検知した時系列データである蓄積センサデータについて、前記蓄積センサデータを第2所定間隔毎に分割した蓄積分割データと前記蓄積センサデータとに基づき生成された複数のグラフである蓄積グラフ群を、未学習モデルに入力して機械学習を行うことで構築された学習モデルであり、
前記蓄積センサデータは、前記自律移動装置及び他の同種の自律移動装置の少なくとも1つにおける動作状況についての
第1時系列データと、前記自律移動装置及び他の同種の自律移動装置の少なくとも1つにおける運行管理を行う側に報告する現在の位置についての
第2時系列データと、を含
み、
前記学習済みモデルは、前記蓄積グラフ群として、前記第1時系列データを前記第2所定間隔毎に分割した第1蓄積分割データと前記第1時系列データとに基づき生成された複数の第1グラフである第1蓄積グラフ群と、前記第2時系列データを前記第2所定間隔毎に分割した第2蓄積分割データと前記第2時系列データとに基づき生成された複数の第2グラフである第2蓄積グラフ群と、を前記未学習モデルに入力して機械学習を行うことで構築された学習モデルであり、
前記現センサデータは、前記自律移動装置における動作状況についての第3時系列データと、前記自律移動装置における運行管理を行う側に報告する現在の位置についての第4時系列データと、を含み、
前記制御ステップは、前記現グラフ群として、前記第3時系列データを前記第1所定間隔毎に分割した第1現分割データと前記第3時系列データとに基づき生成された複数のグラフである第1現グラフ群と、前記第4時系列データを前記第1所定間隔毎に分割した第2現分割データと前記第4時系列データとに基づき生成された複数のグラフである第2現グラフ群とを、前記学習済みモデルに入力し、前記結果を得る、
異常検知方法。
【請求項10】
自律移動装置のコンピュータに、
前記自律移動装置における現在の状態を前記自律移動装置内のセンサ群で検知させる検知ステップと、
前記自律移動装置における異常発生状態を検知又は予測した結果を得る制御ステップと、
を実行させるためのプログラムであって、
前記制御ステップは、
前記センサ群で検知された検知開始時点から現時点までの時系列データである現センサデータを取得し、
前記現センサデータを第1所定間隔毎に分割した現分割データと前記現センサデータとに基づき生成された複数のグラフである現グラフ群を、学習済みモデルに入力し、前記結果を得、
前記学習済みモデルは、前記自律移動装置及び他の同種の自律移動装置の少なくとも1つにおける状態について装置内部のセンサ群で検知した時系列データである蓄積センサデータについて、前記蓄積センサデータを第2所定間隔毎に分割した蓄積分割データと前記蓄積センサデータとに基づき生成された複数のグラフである蓄積グラフ群を、未学習モデルに入力して機械学習を行うことで構築された学習モデルであり、
前記蓄積センサデータは、前記自律移動装置及び他の同種の自律移動装置の少なくとも1つにおける動作状況についての
第1時系列データと、前記自律移動装置及び他の同種の自律移動装置の少なくとも1つにおける運行管理を行う側に報告する現在の位置についての
第2時系列データと、を含
み、
前記学習済みモデルは、前記蓄積グラフ群として、前記第1時系列データを前記第2所定間隔毎に分割した第1蓄積分割データと前記第1時系列データとに基づき生成された複数の第1グラフである第1蓄積グラフ群と、前記第2時系列データを前記第2所定間隔毎に分割した第2蓄積分割データと前記第2時系列データとに基づき生成された複数の第2グラフである第2蓄積グラフ群と、を前記未学習モデルに入力して機械学習を行うことで構築された学習モデルであり、
前記現センサデータは、前記自律移動装置における動作状況についての第3時系列データと、前記自律移動装置における運行管理を行う側に報告する現在の位置についての第4時系列データと、を含み、
前記制御ステップは、前記現グラフ群として、前記第3時系列データを前記第1所定間隔毎に分割した第1現分割データと前記第3時系列データとに基づき生成された複数のグラフである第1現グラフ群と、前記第4時系列データを前記第1所定間隔毎に分割した第2現分割データと前記第4時系列データとに基づき生成された複数のグラフである第2現グラフ群とを、前記学習済みモデルに入力し、前記結果を得る、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、自律移動装置、学習装置、異常検知方法、及びプログラムに関する。
【背景技術】
【0002】
近年、ドローンや自動運転車などの自律的に移動する装置(自律移動装置)の研究が盛んになされ、一部で実際に利用されてきている。このような自律移動装置は、故障や、セキュリティ攻撃による制御の乗っ取り又は妨害が起きて、異常動作が発生した場合、墜落や交通事故などを誘発し、人や社会に害を及ぼすことになる。そのため、自律移動装置において、異常動作をいち早く検知する仕組みが必要となる。
【0003】
異常の監視、検知の分野では、装置又はその一部を駆動するモータなど、故障が発生し易い個所にセンサを取り付け、得られるセンサ値を閾値処理して定められた範囲を逸脱した場合に異常とみなす方式が用いられている。このような方式は、主に工場の生産設備やその他の設置型の装置のような、固定設置され、ある程度環境条件が保たれ、定められた一定の動作を続けるような装置を対象としているため、閾値とセンサ値との対比という単純な仕組みで異常を検出することができる。
【0004】
また、様々なセンサのデータを分析する技術の例として、特許文献1には、製造工程における複数の時系列データを一括して分析するデータ分析システムが開示されている。特許文献1に記載のシステムは、複数のセンサからそれぞれの検知対象に関する時系列データを取得して、所定時間を単位として時系列データを画像に変換し、予め記憶された学習モデルに基づいて画像を判定した判定結果に基づいて検知対象の状態を推定する。
【0005】
また、特許文献2には、センサデータ取得手段、学習手段、及び診断手段を備え、機械設備の異常予兆の有無を診断する異常予兆診断システムが開示されている。上記センサデータ取得手段は、機械設備に設置された複数のセンサの検出値を含むセンサデータを取得する。上記学習手段は、機械設備が正常であることが既知である期間のセンサデータを学習対象とし、当該センサデータの時系列的な波形を正常モデルとして学習する(クラスタリングする)。上記診断手段は、正常モデルと診断対象のセンサデータの時系列的な波形との比較に基づいて、機械設備の異常予兆の有無を診断する診断手段と、を備える。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2018-124639号公報
【文献】特開2017-033471号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、自律移動装置は、他の自律移動装置、鳥等の動物、人などの多様な動く障害物、並びに、運行される場所を含む運行環境やその変化などに対し、自律的に対処しながら移動を行う(運行する)。そのため、自律移動装置は、各種センサデータがとりうる範囲が広く、一定ではなく、上述したような閾値を決めることができず、また、一定の基準やレンジを設けて比較するだけでは、異常の有無を判定することはできない。例えば、ドローンを例にとると、故障の前兆としてモータのセンサが極端な値をとったのか(異常)、強風にあおられて姿勢を立て直すために急な動作をして極端な値をとったのか(正常)は、いずれの場合も閾値を超えるため、判定ができない。
【0008】
また、特にセキュリティ攻撃による制御の乗っ取りや妨害による異常動作の場合、上述のような単一のセンサ値を監視する方法では、正常と判定されることになり異常を検知することができない。
【0009】
そこで、本発明者は、自律移動装置においては、モータなどの、故障しやすい箇所、直接動作に関する箇所にセンサを配置するだけでなく、周囲の環境や運行情報など多様な情報をセンサで取得し、これらを総合して異常か否かを判別する必要があることを見出した。ここで、周囲の環境とは、風、気温、湿度、明るさなどを指す。運行情報とは、元々自律移動装置の本体の制御を行うため、並びに管制や運行管理に対して報告するために取得されている情報であり、位置、高度、緯度、経度、方角、速度などを指す。つまり、本発明者は、自律移動装置においては、上述のような様々な情報も総合して異常の検知やセキュリティ攻撃の検知に用いることで、異常動作をいち早く検知することや異常動作の予兆を検知することができることを見出した。
【0010】
それに対し、特許文献1,2に記載の技術は、固定設備を前提としているため、自律移動装置に適用した場合において、正確で素早い異常検知や移動動作の予兆検知(予測)を実行できるとは言えない。よって、自律移動装置において、異常動作をいち早く検知する仕組みや、異常動作の予兆を検知する仕組みが望まれる。
【0011】
本開示の目的は、異常発生状態を素早く正確に検知又は予測することが可能な自律移動装置、学習装置、異常検知方法、及びプログラム等を提供することにある。
【課題を解決するための手段】
【0012】
本開示の第1の態様に係る自律移動装置は、自律移動装置における現在の状態を検知するセンサ群と、制御部と、を備え、前記制御部は、前記センサ群で検知された検知開始時点から現時点までの時系列データである現センサデータを取得し、前記現センサデータを第1所定間隔毎に分割した現分割データと前記現センサデータとに基づき生成された複数のグラフである現グラフ群を、学習済みモデルに入力し、前記自律移動装置における異常発生状態を検知又は予測した結果を得、前記学習済みモデルは、前記自律移動装置及び他の同種の自律移動装置の少なくとも1つにおける状態について装置内部のセンサ群で検知した時系列データである蓄積センサデータについて、前記蓄積センサデータを第2所定間隔毎に分割した蓄積分割データと前記蓄積センサデータとに基づき生成された複数のグラフである蓄積グラフ群を、未学習モデルに入力して機械学習を行うことで構築された学習モデルである、ものである。
【0013】
本開示の第2の態様に係る学習装置は、自律移動装置における現在の状態を検知するセンサ群を備えた自律移動装置と通信する学習装置側通信部と、学習装置側記憶部と、学習装置側制御部と、を備え、前記学習装置側制御部は、前記学習装置側通信部を介して前記自律移動装置から、前記センサ群で検知された検知開始時点から検知終了時点までの時系列データである蓄積センサデータ又は前記蓄積センサデータを第1所定間隔毎に分割した蓄積分割データを受信して、前記学習装置側記憶部に記憶し、前記蓄積分割データと前記蓄積センサデータとに基づき、複数のグラフである蓄積グラフ群を生成し、前記蓄積グラフ群を前記学習装置側記憶部に予め記憶された未学習モデルに入力して機械学習を行うことで、前記自律移動装置における異常発生状態を検知又は予測した結果を得るための学習済みモデルを生成する、ものである。
【0014】
本開示の第3の態様に係る異常検知方法は、自律移動装置における現在の状態を前記自律移動装置内のセンサ群で検知する検知ステップと、前記自律移動装置における異常発生状態を検知又は予測した結果を得る制御ステップと、を備え、前記制御ステップは、前記センサ群で検知された検知開始時点から現時点までの時系列データである現センサデータを取得し、前記現センサデータを第1所定間隔毎に分割した現分割データと前記現センサデータとに基づき生成された複数のグラフである現グラフ群を、学習済みモデルに入力し、前記結果を得、前記学習済みモデルは、前記自律移動装置及び他の同種の自律移動装置の少なくとも1つにおける状態について装置内部のセンサ群で検知した時系列データである蓄積センサデータについて、前記蓄積センサデータを第2所定間隔毎に分割した蓄積分割データと前記蓄積センサデータとに基づき生成された複数のグラフである蓄積グラフ群を、未学習モデルに入力して機械学習を行うことで構築された学習モデルである、ものである。
【0015】
本開示の第4の態様に係るプログラムは、自律移動装置のコンピュータに、前記自律移動装置における現在の状態を前記自律移動装置内のセンサ群で検知させる検知ステップと、前記自律移動装置における異常発生状態を検知又は予測した結果を得る制御ステップと、を実行させるためのプログラムであって、前記制御ステップは、前記センサ群で検知された検知開始時点から現時点までの時系列データである現センサデータを取得し、前記現センサデータを第1所定間隔毎に分割した現分割データと前記現センサデータとに基づき生成された複数のグラフである現グラフ群を、学習済みモデルに入力し、前記結果を得る、ものである。前記学習済みモデルは、前記自律移動装置及び他の同種の自律移動装置の少なくとも1つにおける状態について装置内部のセンサ群で検知した時系列データである蓄積センサデータについて、前記蓄積センサデータを第2所定間隔毎に分割した蓄積分割データと前記蓄積センサデータとに基づき生成された複数のグラフである蓄積グラフ群を、未学習モデルに入力して機械学習を行うことで構築された学習モデルである。
【発明の効果】
【0016】
本開示により、異常発生状態を素早く正確に検知又は予測することが可能な自律移動装置、学習装置、異常検知方法、及びプログラム等を提供することができる。
【図面の簡単な説明】
【0017】
【
図1】実施形態1に係る自律移動装置の一構成例を示すブロック図である。
【
図2】実施形態1に係る自律移動装置で利用する学習済みモデルを生成する学習装置の一構成例を示すブロック図である。
【
図3】
図2の学習装置における処理例を説明するためのフロー図である。
【
図4】
図1の自律移動装置における処理例を説明するためのフロー図である。
【
図5】実施形態2に係る自律移動装置の一構成例を示すブロック図である。
【
図6】
図5における正常センサデータの一例を示す図である。
【
図7】
図5における正常センサデータグラフ化部の出力例を示す図である。
【
図8】
図5における現センサデータの一例を示す図である。
【
図9】
図5における現センサデータグラフ化部の出力例を示す図である。
【
図10】
図9の出力例を出力するために用意するデータの一例を示す図である。
【
図11】
図5の自律移動装置におけるモデル生成フェーズの処理例を説明するためのフロー図である。
【
図12】
図5の自律移動装置における検知フェーズの処理例を説明するためのフロー図である。
【
図14】実施形態3に係る自律移動装置の一構成例を示すブロック図である。
【
図15】
図14の自律移動装置におけるモデル生成フェーズの処理例を説明するためのフロー図である。
【
図16】
図14の自律移動装置における検知フェーズの処理例を説明するためのフロー図である。
【
図17】
図14の自律移動装置をその処理例とともに示す概念図である。
【
図19】実施形態4に係る自律移動装置の一構成例を示すブロック図である。
【
図20】
図19の自律移動装置をその処理例とともに示す概念図である。
【
図21】実施形態5に係る自律移動装置の一構成例を示すブロック図である。
【
図22】
図21の自律移動装置におけるモデル生成フェーズの処理例を説明するためのフロー図である。
【
図23】
図21の自律移動装置における検知結果の具体例を示す概念図である。
【
図24】
図21の自律移動装置における検知結果の他の具体例を示す概念図である。
【
図25】
図21の自律移動装置における検知結果の他の具体例を示す概念図である。
【
図26】
図21の自律移動装置における検知結果の他の具体例を示す概念図である。
【
図27】
図21の自律移動装置におけるNNの一例を示す模式図である。
【
図28】装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0018】
以下、図面を参照して、実施形態について説明する。なお、実施形態において、同一又は同等の要素には、同一の符号を付すことがあり、重複する説明は適宜省略される。
【0019】
<実施形態1>
図1を参照しながら、実施形態1に係る自律移動装置について説明する。
図1は、実施形態1に係る自律移動装置の一構成例を示すブロック図である。
【0020】
図1に示すように、本実施形態に係る自律移動装置1は、制御部1a及び複数のセンサ(センサ群)1bを備えることができる。なお、自律移動装置1は、外部の装置との通信を行う通信部(図示せず)を備えることもできる。この通信部は、自律移動装置1の種類、外部とのデータの通信タイミングなどによって、無線通信部及び有線通信部の少なくとも一方とすることができる。
【0021】
自律移動装置1は、自律的に移動することが可能な装置であり、センサ群1bから出力されたセンサデータに基づき、後述する学習済みモデルを利用して、移動中(運行中)の動作異常の検知や動作異常の予兆の検知を行うものとすることができる。
【0022】
本実施形態に係る自律移動装置1は、移動中における異常の監視(検知)が必要となるような移動機器全般に適用でき、その管理に好適に利用することができる。例えば、自律移動装置1としては、ドローン(無人航空機)、自動運転車(手動運転可能な自動車である場合も含む)、航空機、船舶、ロボット電動車いすが挙げられる。ここで、ドローンは、地上、上空、水上、水中、宇宙など、その動作環境を問わず、ロボットは、走行、歩行など、その移動方式を問わない。さらに、自律移動装置1としては、例えば、工場や倉庫等で用いられるフォークリフトや無人搬送車、建機や重機等の工事用車両、鉄道車両、タクシー、トラック等の物流に用いられる車両、警察車両、消防車両なども挙げられる。ここで、鉄道車両は、ライトレール、鉄輪式、新交通システム、モノレール、磁気浮上式など、その移動方式を問わない。なお、自律移動装置1は、自律的に移動可能であればよく、外部のコントローラからの制御に従い、或いは搭乗者の操作に従い、移動する機能を有することもできる。
【0023】
以下、センサ群1b及び制御部1aについて説明する。
センサ群1bは、自律移動装置1における現在の状態を検知する。ここで、現在の状態とは、センサ群1bに含まれるセンサそれぞれについて、設置箇所における検知対象を計測した結果のセンサ値、或いはそのセンサ値が示す状態を指すことができ、主に移動状態(運行状態)が含まれる。上記移動状態は、自律移動装置1の傾きや位置などを含むことができる。なお、上記設置箇所や上記検知対象は、一般的に自律移動装置1の種別や形状によって異なることになる。
【0024】
制御部1aは、例えば、CPU(Central Processing Unit)、作業用メモリ、及びプログラムを記憶した不揮発性の記憶装置などによって実現することができる。このプログラムは、異常及び/又は異常予兆の検知プログラムとすることができる。また、制御部1aは、例えば集積回路(Integrated Circuit)によって実現することもできる。無論、制御部1aは、自律移動装置1の全体を制御するように構成すること、或いは自律移動装置1の全体を制御する制御部により制御されるように構成することができる。
【0025】
制御部1aは、センサ群1bで検知された検知開始時点から現時点までの時系列データである現センサデータを取得する。ここでは、現センサデータ(及び後述の蓄積センサデータ)が、センサ群1bに含まれる全てのセンサについて所定の形式で整えたデータであることを前提として説明する。但し、実際には、制御部1aは、これらのセンサの一部又は全部のそれぞれについて、センサ値のデータを個別に取得することができる。また、制御部1aは、現センサデータを取得できればよく、現センサデータを例えば後述の第1所定間隔等の間隔で順次取得することもできる。また、取得元は、基本的にセンサ群1bとなるが、制御部1aは、例えば無線通信ネットワーク経由で外部のサーバ装置などに個別のセンサ値のデータを送信し、纏まった段階でその返信として現センサデータを受信することもできる。
【0026】
また、制御部1aは、現センサデータを第1所定間隔毎に分割した現分割データと現センサデータとに基づき生成された複数のグラフを学習済みモデルに入力し、自律移動装置1における異常発生状態を検知又は予測した結果を得る。第1所定間隔は、例えば、第1の所定時間、所定距離、センシングデータ数などとすることができる。
【0027】
ここで、上記複数のグラフ(以下、現グラフ群)は、検知開始時点から現時点までの移動の途中経過等を示すグラフ群とすることができる。そして、現グラフ群は、制御部1aが生成すること、或いは、外部のサーバ装置に現センサデータを送信した応答として受信することができる。
【0028】
上記学習済みモデルの詳細については、
図2を参照しながら後述する。上記学習済みモデルは制御部1aの内部に記憶しておくなど、自律移動装置1の内部に保存しておくことができるが、外部のサーバ装置に保存しておくこともできる。サーバ装置に学習済みモデルを記憶しておく場合、自律移動装置1は、例えば、そのサーバ装置にセンサ個別のデータ、現センサデータ、現グラフ群のいずれかを送信し、その応答として上記結果を得ることができる。
【0029】
上記結果は、異常の未発生(つまり正常であること)を検知した結果、異常の発生を検知した結果、異常発生の予兆として検知した結果(予測結果)などを示すものとすることができる。つまり、制御部1aは、上記結果として、正常時の状態、異常時の予兆がある状態、及び異常時の状態を含む、複数の状態のうち1つを得ることが好ましい。制御部1aは、上記結果に基づき、例えば異常状態であるか正常状態であるかなどを示す情報を、自律移動装置1のフィードバック制御に用いることや、外部のサーバ装置や端末装置等に出力することができる。なお、サーバ装置に学習済みモデルを記憶しておく場合、上記結果は、サーバ装置から他の端末装置に送信されることもできる。
【0030】
ここで、自律移動装置1が通信部を備える場合について補足する。この場合、制御部1aは、現センサデータを取得し、上記通信部を介して、取得した現センサデータ又は現分割データをサーバ装置に送信してサーバ装置から上記結果を受信することができる。
【0031】
このサーバ装置は、図示しないが、自律移動装置1と通信するサーバ側通信部と、学習済みモデルを記憶するモデル記憶部と、サーバ側制御部と、を備えることができる。このサーバ側制御部は、サーバ側通信部を介して自律移動装置1から現センサデータ又は現分割データを受信する。そして、サーバ側制御部は、モデル記憶部に記憶された学習済みモデルを用いて上記結果を得、サーバ側通信部を介して自律移動装置1に上記結果を送信する。サーバ側制御部も制御部1aと同様に、ICや、CPU等のコンピュータ(制御コンピュータ)を採用することができる。その場合のプログラムは、この制御コンピュータに、データの送受等の処理と、学習済みモデルを用いた検知処理を実行させるためのプログラムを含むことができる。このように、本実施形態に係る自律移動装置1は、サーバ装置(図示せず)とともに自律移動システムを構成することもできる。
【0032】
また、自律移動装置1は、上述したように学習済みモデルを記憶する記憶部を備えることができる。この場合、制御部1aは、現センサデータを取得し、取得した現センサデータから現グラフ群を生成すれば、内部の学習済みモデルを用いた判定を行うことができる。
【0033】
自律移動装置1は、学習済みモデルを記憶する記憶部だけでなく通信部も備える場合、制御部1aは、現センサデータを取得し、通信部を介し、取得した現センサデータ又は現分割データをサーバ装置に送信してサーバ装置から現グラフ群を受信する。これにより、制御部1aは、現グラフ群を取得すれば、内部の学習済みモデルを用いた判定を行うことができる。
【0034】
次に、
図2を参照しながら、自律移動装置1で利用する学習済みモデルについて説明する。
図2は、自律移動装置1で利用する学習済みモデルを生成する学習装置の一構成例を示すブロック図である。
【0035】
図2で示すように、学習装置2は、制御部(学習装置側制御部)2a、通信部(学習装置側通信部)2b、及び記憶部(学習装置側記憶部)と2cを備えることができる。なお、学習装置2は、自律移動装置1の外部に備えることを前提として説明するが、学習部として自律移動装置1の内部に備えることもできる。
【0036】
制御部2aは、後述する蓄積グラフ群2eを、後述する未学習モデル2dに入力して機械学習を行うことで、学習済みモデルを生成する。制御部2aは、制御部1aと同様に、例えば、CPU、作業用メモリ、及びプログラムを記憶した不揮発性の記憶装置などによって実現することができる。このプログラムは、学習済みモデル生成プログラムとすることができる。なお、制御部2aに記憶装置を設ける場合、この記憶装置を記憶部2cとすることもできる。また、制御部2aは、例えば集積回路によって実現することもできる。無論、制御部2aは、学習装置2の全体を制御するように構成すること、或いは学習装置2の全体を制御する制御部により制御されるように構成することができる。
【0037】
通信部2bは、自律移動装置1と通信する部位であり、自律移動装置1の種類、データの通信タイミングなどによって、無線通信部及び有線通信部の少なくとも一方とすることができる。なお、通信部2bが有線通信部である場合、例えば自律移動装置1が停止した状態でデータの受信を行えばよい。
【0038】
記憶部2cは、学習段階、即ち学習済みモデルの生成フェーズにおいては、未学習モデル2dが記憶されているとともに、学習データとして蓄積グラフ群2e等が記憶されている。なお、未学習モデル2dとは、運用段階で用いることができない段階の学習モデルを指し、必要な学習データのうちの一部での学習を終えている段階の学習モデルも含むものとする。また、学習済みモデルは、更なる学習データを入力した学習により学習が可能な段階の学習モデルを指すことができる。
【0039】
蓄積グラフ群2eは、蓄積センサデータを第2所定間隔毎に分割した蓄積分割データと上記蓄積センサデータとに基づき生成された複数のグラフを指すことができる。ここで、蓄積センサデータは、自律移動装置1及び他の同種の自律移動装置の少なくとも1つにおける状態について装置内部のセンサ群で検知した(検知して蓄積した)時系列データを指す。例えば、蓄積グラフ群2eは、検知開始時点から検知終了時点までの移動の途中経過等を示すグラフ群とすることができる。蓄積グラフ群2eの生成は、制御部2aが行ってもよいし、例えば、上述のように自律移動装置1側で行った結果を通信部2bで受信したものとすることもできる。また、蓄積分割データは、所定回数分の第2所定間隔についてのデータである。また、第2所定間隔は、例えば、第2の所定時間、所定距離、センシングデータ数などとすることができる。第2所定間隔は、第1所定間隔と同じであってもよい。
【0040】
自律移動装置1についての蓄積センサデータは、検知開始時点から現時点までの上述した現センサデータにおいて、検知開始時点から検知終了時点までに拡張したデータであると言える。自律移動装置1における状態(例えば複数回のテスト移動時の状態のみでもよい)についてのみの時系列データを学習に用いる場合、自律移動装置やその内部センサ群についての器差を考慮することができる。但し、自律移動装置1と同種の自律移動装置における状態についての時系列データも学習に用いることで、学習データとして入力するデータセットを増やすことができる。
【0041】
学習済みモデルは、このような蓄積グラフ群2eを、未学習モデル2dに入力して機械学習を行うことで構築された学習モデルである。例えば、未学習モデル2dには、自律移動装置1又は同種の自律移動装置における検知開始時点から検知終了時点までの1回についての蓄積グラフ群2eを、学習データの1データセットとして入力することができる。なお、上記所定回数は蓄積センサデータ毎に任意とすること、つまり蓄積できた分のデータをもとに蓄積グラフ群2eを生成することができる。即ち、データセットの長さ(実施形態2におけるMに相当)は、各データセットで異なってもよい。
【0042】
このように、制御部2aは、通信部2bを介して自律移動装置1や他の同種の自律移動装置から蓄積センサデータ又は蓄積分割データを、一度に又は順次受信して、記憶部2cに記憶する。制御部2aは、蓄積分割データと蓄積センサデータとに基づき蓄積グラフ群2eを生成し、未学習モデル2dに入力して機械学習を行うことで、学習済みモデルを生成する(未学習モデル2dを学習済みモデルに更新する)。
【0043】
学習装置2で生成される学習済みモデルの元となる未学習モデル2dのアルゴリズムは、例えば、畳み込み層、プーリング層、及び全結合層を有するCNN(Convolutional Neural Network)とすることができるが、これに限らない。例えば、アルゴリズムは、RNN(Recurrent Neural Network)等の再帰的な構造をもつものなどであってもよい。また、RNNは、勾配消失問題を緩和するためにLSTM(Long short-term memory)ブロックを有するように拡張したニューラルネットワークとすることもできる。無論、未学習モデル2d、学習済みモデルはこれらのようなDNNを用いたものであることが精度上好ましいが、これに限らない。
【0044】
なお、生成された学習済みモデルは、その精度をチェックし、精度が良ければそのまま実装し、精度が悪ければ畳み込み処理等の前処理を変更する、或いはチューニングを行うなどの処理を実行してもよい。その後、学習済みモデルの生成、評価を行い、実装する学習済みモデルを決定すればよい。また、チューニングの対象となるハイパーパラメータは問わない。ハイパーパラメータとしては、例えば、NNの層数、各層のユニット数(ノード数)、同じデータセットを使用した反復学習の回数(エポック数)など、様々なものが挙げられる。
【0045】
このように、本実施形態に係る自律移動装置1は、上述した学習装置2とともに自律移動システムを構成することができ、さらにこの自律移動システムは、上述したようなサーバ装置を備えることもできる。この場合、サーバ装置は学習装置2を含むように構成することもできる。
【0046】
また、自律移動装置1に学習部を備える場合、この学習部は、前処理として、蓄積センサデータを取得し、蓄積センサデータから蓄積分割データを生成し、蓄積分割データと蓄積センサデータとに基づき蓄積グラフ群を生成する。そして、この学習部は、蓄積グラフ群を予め記憶された未学習モデルに入力して機械学習を行うことで、学習済みモデルを生成する。
【0047】
次に、
図3及び
図4を参照しながら、学習装置2及び自律移動装置1の処理の一例を説明する。
図3は、学習装置2における処理例を説明するためのフロー図で、
図4は、自律移動装置1における処理例を説明するためのフロー図である。
【0048】
まず、学習段階(モデル生成処理)では、学習装置2は、蓄積センサデータを取得し(ステップS11)、そこから蓄積分割データを生成する(ステップS12)。次いで、学習装置2は、蓄積センサデータ及び蓄積分割データに基づき、蓄積グラフ群2eを生成する(ステップS13)。最後に、学習装置2は、未学習モデル2dに蓄積グラフ群2eを入力し、機械学習を実行することで、学習済みモデルを生成する(ステップS14)。
【0049】
運用段階(検知処理)では、自律移動装置1は、現センサデータをセンサ群1bから取得し(ステップS21)、そこから現分割データを生成する(ステップS22)。次いで、自律移動装置1は、現センサデータ及び現分割データに基づき、現グラフ群を生成する(ステップS23)。自律移動装置1は、内部又は外部のサーバ装置などに記憶された学習済みモデルに、ステップS23で生成された現グラフ群を入力し、異常発生状態を検知又は予測した結果を得る(ステップS24)。
【0050】
例えば、学習済みモデルは、その出力ノードとして、異常発生状態が区別できるように異常を示す出力ノード、正常を示す出力ノードなどを用意しておけば、ステップS24で現グラフ群に対する結果を得ることができる。
【0051】
以上に説明したように、本実施形態では、自律移動装置1において、上述のような蓄積グラフ群2eを用いて機械学習した学習済みモデルに対して、現グラフ群を入力して異常発生状態を示す結果を得る。つまり、本実施形態では、閾値による異常判別処理とは異なり、機械学習により生成された学習済みモデルと現グラフとの類似性をもとに、自律移動装置1の異常検出を行う。
【0052】
特に、本実施形態では、ある期間全体のデータのグラフ化に加え、期間を途中経過で分割し、開始から分割した時間までの期間をグラフ化して機械学習を実行するため、途中経過における異常を検知でき、また異常を予兆段階で検知することもできる。このように、本実施形態によれば、期間全体でのみ異常を検知する場合に比べ、自律移動装置1の異常発生状態を素早く正確に検知又は予測することが可能になる。
【0053】
よって、本実施形態では、例えばドローンや自動運転車などの自律移動装置の故障による墜落や暴走、制御の乗っ取りなどセキュリティ攻撃などによる不正動作、風など自然現象による逸脱動作などの異常動作を事故に進展させないようにできる。つまり、本実施形態では、自律移動装置の状態を正確に把握し状態に応じた適切な対処をとること、異常を迅速に検出し事故になる前に早期に対処することができるため、被害を最小限にとどめることができる。特に、自律移動装置の場合には、工場内と異なり厳密に固定設置されて運用されるわけではなく、気象状況や周囲の環境等、時々刻々と変化する様々な外的要因に自律的に対処しながら運用されることから、本実施形態による効果は有益であると言える。さらに、自律移動装置の場合、故障が実際に発生してからでないと異常を検知できないと、故障が起きた場合、例えばドローンでは即墜落してしまうことになり、自動運転車では即事故につながることになる。一方で、本実施形態では事前に予測することができるため、手遅れにならずに事故を未然に防ぐことができる。
【0054】
このように、本実施形態では、前処理としてグラフ化処理を採用した機械学習を用い、且つ、複数センサの情報を統合することで、自律移動装置の状態を正常、異常の予兆、異常の三つの状態に区分して検知している。そのため、本実施形態では、これらの状態の内、異常の予兆を見極め、異常が発生する前に原因を特定することができ、事故を未然に防ぐことができる。
【0055】
<実施形態2>
実施形態2について、
図5~
図13を参照しながら、実施形態1との相違点を中心に説明するが、実施形態1で説明した様々な例が適用できる。
図5は、実施形態2に係る自律移動装置の一構成例を示すブロック図である。
図6は、
図5における正常センサデータの一例を示す図、
図7は、
図5における正常センサデータグラフ化部の出力例を示す図である。
図8は、
図5における現センサデータの一例を示す図、
図9は、
図5における現センサデータグラフ化部の出力例を示す図、
図10は、
図9の出力例を出力するために用意するデータの一例を示す図である。
【0056】
図5に示すように、本実施形態に係る自律移動装置10は、正常センサデータグラフ化部12、モデル学習部13、モデルDB14、現センサデータグラフ化部16、及び異常識別部17を備えることができる。
【0057】
本実施形態では、蓄積センサデータは、自律移動装置10における正常時の状態を、各装置内部のセンサ群で検知した時系列データ群である正常センサデータ11を含む。つまり、
図5における正常センサデータ11は、図示しないセンサ群から以前に取得されたデータであり、外部から取得されるか内部の記憶部から取得されることができる。
【0058】
このように、本実施形態では、正常動作を学習させた学習済みモデルを用いることで、正常以外つまり未知、未分類の異常を検出することができるようにしている。なお、本実施形態における蓄積センサデータとしては、実施形態1で説明したように他の同種の自律移動装置における正常時の状態を検知したデータを、代わりに又は同時に採用することもできる。
【0059】
また、
図5における現センサデータ15は、図示しないセンサ群から取得されたデータであり、ここでは実施形態1における現分割データを複数含むデータ(つまり現分割データ群)に相当する。
【0060】
以下では、自律移動装置10の一例としてドローン10を例に挙げて説明するが、他種の自律移動装置であっても同様である。ドローン10は、ドローン10の正常飛行を学習し、正常飛行の学習済みモデルを生成するモデル生成フェーズと、この正常飛行の学習済みモデルを使用して、現在の飛行の状態を検知する検知フェーズと、を実行するように構成される。
【0061】
モデル生成フェーズは、運行前に予め過去のセンサデータを用いて実施しておく。なお、モデル生成フェーズは、オフラインで行っても、運行中にオンラインで行ってもよい。モデル生成フェーズでは、正常センサデータグラフ化部12が、正常センサデータ11から、飛行(運行又は稼働)の途中経過のグラフを生成する。正常センサデータ11は、ドローン10の正常運行をセンサ群により観測した正常時のセンサデータであり、
図6で例示するようなデータであり、一括で全て正常センサデータグラフ化部12に入力されることができる。
図6で示す正常センサデータ11は、時間と、それに対応するスタートからの距離、加速度センサのX,Y,Z値、及びジャイロセンサのRoll,Pitch,Yaw値などが含まれる。
【0062】
正常センサデータグラフ化部12で生成されるグラフ(グラフデータ)は、
図7で例示するように、全間隔でのグラフ12a-hを含むことができる。また、このグラフデータは、検知開始時点から各間隔(第2所定間隔)が経過するまでのグラフ12a-1,12a-2,12a-3,・・・と、を含むことができる。ここでは、第2所定間隔は、一定間隔(ここではスタートからの距離について10m間隔)であるように図示しているが、例えばグラフ12a-1,12a-2の間隔とグラフ12a-2,12a-3の間隔とは互いに異ならせることもできる。つまり、第2所定間隔は、可変とすることもできる。
【0063】
このように、
図7の例では、未学習モデルに入力される蓄積グラフ群は、検知開始時点から第2所定間隔がj回分経過するまでの合計M個の期間のそれぞれについて、対応するj個の前記現分割データを示すように生成された、M個のグラフを有する。ここで、Mを1以上の整数、jを1からMまでの整数とする。なお、Mは後述のN以上であることが好ましい。j=Mの場合が、蓄積センサデータを第2所定間隔毎の値として示すように生成されたグラフである。
【0064】
次いで、モデル学習部13が、正常センサデータグラフ化部12で生成されたグラフデータを正常データとして機械学習させる。モデルDB14は、モデル学習部13により学習された正常飛行のモデルデータベースであり、学習済みモデルの各ノードのウェイト等を記述したものとすることができる。
【0065】
検知フェーズは、運行時に行われる。検知フェーズでは、現センサデータグラフ化部16が、現センサデータ15から、飛行の途中経過のグラフを生成する。現センサデータ15は、現在の運行をセンサ群により観測した現在のセンサデータであり、
図8で例示するようなデータである。
図8で示す現センサデータ15は、
図6の正常センサデータ11と同様の項目を含むことができる。
【0066】
現センサデータグラフ化部16で生成されるグラフ(グラフデータ)は、
図9で例示するように、検知開始時点から各間隔(例えば1分等の固定された第1所定間隔)が経過するまでのグラフ16a-1,16a-2,16a-3,・・・,16a-hを含むことができる。ここでグラフ16a-hは、図示しないが、現時点の最後のグラフ(現時点での全体のグラフ)を指す。なお、第1所定間隔も、可変としてもよい。このようなグラフデータを生成するために、
図10で例示するような間隔(上記第1所定間隔)毎のグラフ16b-1,16b-2,16b-3,・・・を予め生成して内部メモリに記憶しておき、それらを加算していく。
【0067】
このように、
図9の例では、学習済みモデルに入力される現グラフ群は、検知開始時点から第1所定間隔がi回分経過するまでの合計N個の期間のそれぞれについて、対応するi個の現分割データを示すように生成された、N個のグラフを有する。ここで、Nを1以上の整数、iを1からNまでの整数とする。i=Nの場合が、現センサデータを第1所定間隔毎の値として示すように生成されたグラフである。
【0068】
次いで、異常識別部17が、現センサデータグラフ化部16が生成したグラフデータについて、モデルDB14をもとに正常か正常でない(異常)かを判定(識別)して出力する。例えば、異常識別部17は、NNに、現センサデータから生成したグラフ16a-1,16a-2,16a-3,・・・等の現分割データと、モデルDB14のデータ(ウェイト等)と、を入力して計算を実行し、正常か正常でないかを判定して出力する。
【0069】
未設定のNNにモデルDB14のデータ(ウェイト等)が設定された状態で(これが学習済みモデルの例となる)、現分割データを入力することで判定結果が出力される。この判定及び出力は、現センサデータについての第1所定間隔(上述の例では1分等)毎に実行される。
【0070】
次に、本実施形態に係るドローン10における処理例について、
図11~
図13を併せて参照しながら説明する。
図11は、ドローン10におけるモデル生成フェーズの処理例を説明するためのフロー図である。
図12は、ドローン10における検知フェーズの処理例を説明するためのフロー図で、
図13は、その検知結果の具体例を示す概念図である。
【0071】
図11に示すように、モデル生成フェーズで実行される学習処理は、正常センサデータの数だけのループ処理(ステップS30a,S30b)を含む。このループ処理では、正常センサデータグラフ化部12が、処理対象の正常センサデータを入力し(ステップS31)、それをグラフ画像化(ラスターデータ化)し、それまでの時間毎のグラフ画像も生成する(ステップS32)。そして、モデル学習部13が未学習NNに生成されたグラフ画像群を入力し、正常センサデータから正常な状態のパターンを学習する(ステップS33)。このループ処理は、正常センサデータがある限り繰り返されることになる。その後、見つけたい対象の正常なパラメータ(ウェイト等)に対応する学習済みNNのパラメータを抽出し、モデルDB14に記憶する(ステップS34)。
【0072】
図12に示すように、検知フェーズで実行される検知処理は、一定間隔毎に運用終了まで実行されるループ処理(ステップS40a,S40b)を含む。このループ処理では、現センサデータグラフ化部16が、現間隔についての現センサデータ(現分割データ)、つまり前回処理完了から今回処理開始までに検知されたデータを入力する(ステップS41)。そして、現センサデータグラフ化部16が、その現分割データをグラフ画像化(ラスターデータ化)し、現在までのグラフ画像も生成する(ステップS42)。そして、異常識別部17がモデルDB14に基づき正常か否かを判定し(ステップS43)、その結果を出力する(ステップS44)。
【0073】
ステップS44により、例えば、正常センサデータで学習した正常モデル(説明のため、便宜上、
図13のグラフ12aで代表されるグラフと仮定する)と、現センサデータとが一致すれば、正常と出力され、一致しなければ異常と出力される。よって、この例では、現センサデータが
図13のグラフ16a-pのようにグラフ化できる場合には正常と出力され、現センサデータが
図13のグラフ16a-qのようにグラフ化できる場合には異常と出力される。なお、ここで一致とは、ある程度の許容範囲をもたせた一致とする(以下、同様)。
【0074】
以上に説明したように、本実施形態に係るドローン10によれば、正常状態を事前に学習させておくことにより、正常とは違う異常(未知の異常の検知)や異常の前兆(予兆)があれば検知することができる。例えば、正常を示した全てのセンサからどれが一番予兆することができるか調べ、選択することで、異常の予兆を見つけることができる。異常の予兆を検知できることで、これにより何らかのアクシデントがあっても素早く、素早く対処することができる。
【0075】
<実施形態3>
実施形態3について、
図14~
図18を参照しながら、その効果も含めた実施形態2との相違点を中心に説明する。実施形態3は、実施形態1,2で説明した様々な例が適宜利用できる。
図14は、実施形態3に係る自律移動装置の一構成例を示すブロック図である。
【0076】
図14に示す本実施形態に係る自律移動装置(ここでもドローンで例示)20は、基本的に、実施形態2に係る自律移動装置10において、正常センサデータを異常センサデータとしたものである。よって、本実施形態に係るドローン20は、異常センサデータグラフ化部22、モデル学習部23、モデルDB24、現センサデータグラフ化部26、及び異常識別部27を備えることができる。
【0077】
本実施形態では、蓄積センサデータは、ドローン20における異常時の状態を、各装置内部のセンサ群で検知した時系列データ群である異常センサデータ21を含む。つまり、
図14における異常センサデータ21は、図示しないセンサ群から以前に取得されたデータであり、外部から取得されるか内部の記憶部から取得されることができる。なお、
図14における現センサデータ25は、
図5における現センサデータ15と同様である。
【0078】
このように、本実施形態では、異常動作を学習させた学習済みモデルを用いることで、異常発生状態を検出することができるようにしている。さらに、本実施形態では、複数の異常動作を学習させた学習済みモデルを用いることで、既知の異常については、異常の種別を判別分類することができる。なお、本実施形態における蓄積センサデータとしては、実施形態1で説明したように他の同種の自律移動装置における異常時の状態を検知したデータを、代わりに又は同時に採用することもできる。
【0079】
ドローン20は、ドローン20の異常飛行を学習し、異常飛行の学習済みモデルを生成するモデル生成フェーズと、この異常飛行の学習済みモデルを使用して、現在の飛行の状態を検知する検知フェーズと、を実行するように構成される。
【0080】
モデル生成フェーズでは、異常センサデータグラフ化部22が、異常センサデータ21から、飛行(運行又は稼働)の途中経過のグラフを生成する。異常センサデータ21は、ドローン20の異常運行をセンサ群により観測した異常時のセンサデータであり、
図6で例示したようなデータ(但し、異常時のもの)であり、一括で全て異常センサデータグラフ化部22に入力されることができる。異常センサデータグラフ化部22で生成されるグラフ(グラフデータ)は、
図7で例示したものと同様である(但し、異常時のもの)。
【0081】
さらに、異常センサデータグラフ化部22は、生成されるグラフがどのような要因の異常であるかを記述し、グラフの異常が現れていないところでは正常であることを記述する。この記述は作業者が行うこともできるが、自動的に運行環境やドローン20の内部回路の故障状況等を考慮して入力するなど、自動的に行うこともできる。
【0082】
次いで、モデル学習部23が、異常センサデータグラフ化部22で生成された記述付きグラフデータを異常データとして機械学習させる。モデルDB24は、モデル学習部23により学習された異常飛行のモデルデータベースであり、学習済みモデルの各ノードのウェイト等を記述したものとすることができる。
【0083】
検知フェーズは、運行時に行われる。検知フェーズでは、現センサデータグラフ化部26が、現センサデータ25から、飛行の途中経過のグラフ(グラフデータ)を生成する。現センサデータ25は、現在の運行をセンサ群により観測した現在のセンサデータであり、
図8で例示したようなデータ(但し、異常時のもの)である。現センサデータグラフ化部26で生成されるグラフは、
図9で例示したようなグラフである。
【0084】
次いで、異常識別部27が、現センサデータグラフ化部26が生成したグラフデータについて、モデルDB24をもとに異常か異常でない(正常)かを判定して出力する。例えば、異常識別部27は、NNに、現センサデータから生成したグラフ16a-1,16a-2,16a-3,・・・等の現分割データと、モデルDB24のデータ(ウェイト等)と、を入力して計算を実行し、異常か異常でないかを判定して出力する。
【0085】
ここで例示している好ましい例では、異常識別部27は、次の出力を行う。即ち、異常識別部27は、記述付きグラフデータを、モデルDB24をもとに異常か正常か、異常の原因、異常が起きた位置を示す情報(緯度経度、スタートからの距離)、異常の発生時刻を示す情報(時刻や、スタートからの経過時間など)を出力する。
【0086】
未設定のNNにモデルDB24のデータ(ウェイト等)が設定された状態で(これが学習済みモデルの例となる)、現分割データを入力することで判定結果が出力される。この判定及び出力は、現センサデータについての第1所定間隔(例えば1分等)毎に実行される。
【0087】
このように、ドローン20の制御部は、異常時の状態を示す結果として、複数の異常要因のうち少なくとも1つを得るように構成することができる。また、ドローン20の制御部は、結果が異常時の状態であることを示していた場合、結果が示す異常要因に基づき、その移動制御を変更するようにすることが好ましい。
【0088】
次に、本実施形態に係るドローン20における処理例について、
図15~
図18を併せて参照しながら説明する。
図15は、ドローン20におけるモデル生成フェーズの処理例を説明するためのフロー図である。
図16は、ドローン20における検知フェーズの処理例を説明するためのフロー図である。
図17は、ドローン20をその処理例とともに示す概念図で、
図18は、
図16の検知結果の具体例を示す概念図である。
【0089】
図15に示すように、モデル生成フェーズで実行される学習処理は、異常センサデータの数だけのループ処理(ステップS50a,S50b)を含む。このループ処理では、異常センサデータグラフ化部22が、処理対象の異常センサデータを入力し(ステップS51)、それをグラフ画像化(ラスターデータ化)し、それまでの時間毎のグラフ画像も生成する(ステップS52)。そして、モデル学習部23が未学習NNに生成されたグラフ画像群を入力し、異常センサデータから異常な状態のパターンを学習する(ステップS53)。このループ処理は、異常センサデータがある限り繰り返されることになる。その後、見つけたい対象の異常なパラメータ(ウェイト等)に対応する学習済みNNのパラメータを抽出し、モデルDB24に記憶する(ステップS54)。
【0090】
図16に示すように、検知フェーズで実行される検知処理は、一定間隔毎に運用終了まで実行されるループ処理(ステップS60a,S60b)を含む。このループ処理では、現センサデータグラフ化部26が、現間隔についての現センサデータ(現分割データ)、つまり前回処理完了から今回処理開始までに検知されたデータを入力する(ステップS61)。そして、現センサデータグラフ化部26が、その現分割データをグラフ画像化(ラスターデータ化)し、現在までのグラフ画像も生成する(ステップS62)。そして、異常識別部27がモデルDB24に基づき正常/異常/異常要因(異常の場合)を判定し(ステップS63)、その結果を出力する(ステップS64)。
【0091】
ステップS64により、例えば、風要因、故障要因、攻撃要因のそれぞれの異常センサデータ21(
図17参照)で学習した異常モデルと、現センサデータとが一致すれば、一致したモデルに対応する要因の異常と出力され、一致しなければ正常と出力される。ここでは、それぞれの要因の異常モデルは、便宜上、それぞれ
図18のグラフ12c,12d,12eで代表されるグラフと仮定する。よって、この例では、現センサデータが一定方向に流されて飛行している状態であれば風要因であると出力される。また、現センサデータが最初は正常な動きであったが、ある時を境に急にセンサ値に変動が起きた状態であれば、故障要因であると出力される。また、現センサデータが、突然センサ値が小さくなったり大きくなったりする状態であれば、攻撃要因であると出力される。
【0092】
また、現センサデータがこれらのうち複数の状態を示している場合、つまり風要因、故障要因、攻撃要因のうちの2以上の要因の複合モデル(図示せず)を示している場合には、示している状態の要因が複数出力される。このように複数の要因を考慮した複合モデルで一致を行うこともできる。複合モデルは、上述の例の場合、例えばグラフ12c,12d,12eの各棒線を足し合わせたモデル、或いはそのうちの2つを足し合わせたモデルなどとすることができる。
【0093】
以上に説明したように、本実施形態に係るドローン20によれば、異常状態(見つけたい異常パターン)や異常の予兆を事前に学習させておくことにより、見つけたい異常と似たパターンの異常の検知や予兆の検知を行うことができる。例えば、異常を示した全てのセンサからどれが一番予兆することができるか調べ、選択することで、異常の予兆を見つけることができる。異常の予兆を検知できることで、これにより何らかのアクシデントがあっても素早く、素早く対処することができる。
【0094】
また、本実施形態に係るドローン20によれば、原因の異なる複数の異常パターンを事前に学習させておくことで、発生した異常を分類することができる。また、異常の要因を分類することで、それぞれ次のような効果を奏する。風の影響を受けていることがわかれば、風を考慮して経路を飛行することができ、無駄な動きをしなくてよくなる。よって、風要因を検知することで、バッテリー消費削減も期待できる。故障の影響を受けていることがわかれば、墜落しそうになる前に異常に気づくことができる。よって、故障要因を検知することで、落ちる場所などを考慮して、安全に落ちるように移動制御を行うことができる。攻撃要因を検知して攻撃の影響を受けていることがわかれば、よける、通報する、助けを求める、とにかく安全に着地するという対処を素早く行うことができる。
【0095】
また、本実施形態の考え方は、実施形態2にも適用することができる。即ち、実施形態2において、正常動作を学習した複数の学習済みモデルを用いることで、正常動作の種類を判別し分類することができるようになる。
【0096】
<実施形態4>
実施形態4について、
図19~
図20を参照しながら、その効果も含めた実施形態2,3との相違点を中心に説明する。実施形態4は、実施形態1~3で説明した様々な例が適宜利用できる。
図19は、実施形態4に係る自律移動装置の一構成例を示すブロック図である。
【0097】
図19に示すように、本実施形態に係る自律移動装置(ここでもドローンで例示)30は、実施形態2に係るドローン20と実施形態3に係るドローン30とを組み合わせたものであり、正常センサデータを異常センサデータの双方用いて学習済みモデルを生成する。よって、本実施形態に係るドローン30は、異常センサデータグラフ化部32、モデル学習部33、モデルDB34、現センサデータグラフ化部36、及び異常識別部37、及び正常センサデータグラフ化部39を備えることができる。
【0098】
本実施形態では、蓄積センサデータは、ドローン30における異常時、正常時の状態を、それぞれ各装置内部のセンサ群で検知した時系列データ群である異常センサデータ31、正常センサデータ38を含む。つまり、
図19における異常センサデータ31、正常センサデータ38は、それぞれ、実施形態3の異常センサデータ21、実施形態2の正常センサデータ11と同様とすることができる。なお、
図19における現センサデータ35は、
図5における現センサデータ15と同様である。
【0099】
このように、本実施形態では、異常動作及び正常動作を学習させた学習済みモデルを用いることで、異常発生状態を検出することができるようにしている。さらに、本実施形態でも実施形態3と同様に、複数の異常動作を学習させた学習済みモデルを用いることで、既知の異常については、異常の種別を判別分類することができる。
【0100】
ドローン30は、ドローン30の異常飛行及び正常飛行を学習し、異常飛行及び正常飛行の学習済みモデルを生成するモデル生成フェーズと、これらの学習済みモデルを使用して、現在の飛行の状態を検知する検知フェーズと、を実行するように構成される。
【0101】
モデル生成フェーズでは、異常センサデータグラフ化部32が、異常センサデータ31から、飛行の途中経過のグラフを生成する。異常センサデータグラフ化部32で生成されるグラフ(グラフデータ)は、
図7で例示したものと同様である(但し、異常時のもの)。さらに、異常センサデータグラフ化部32は、生成されるグラフがどのような要因の異常であるかを記述し、グラフの異常が現れていないところでは正常であることを記述する。
【0102】
モデル生成フェーズでは、正常センサデータグラフ化部39が、正常センサデータ38から、飛行の途中経過のグラフを生成する。正常センサデータグラフ化部39で生成されるグラフ(グラフデータ)は、
図7で例示したものと同様である。
【0103】
次いで、モデル学習部33が、正常センサデータグラフ化部39で生成されたグラフデータを正常データとして、且つ異常センサデータグラフ化部32で生成された記述付きグラフデータを異常データとして、機械学習させる。モデルDB34は、モデル学習部33により学習された正常飛行及び異常飛行のモデルデータベースであり、学習済みモデルの各ノードのウェイト等を記述したものとすることができる。
【0104】
検知フェーズは、運行時に行われる。検知フェーズでは、現センサデータグラフ化部36が、現センサデータ35から、飛行の途中経過のグラフを生成する。生成されるグラフは、
図9で例示したようなグラフである。
【0105】
次いで、異常識別部37が、現センサデータグラフ化部36が生成したグラフデータについて、モデルDB34をもとに異常か正常かそれ以外の異常かを判定して出力する。例えば、異常識別部37は、NNに、現分割データと、モデルDB34のデータ(ウェイト等)と、を入力して計算を実行し、異常か正常かそれ以外の異常(未知の異常)かを判定して出力する。ここで例示している好ましい例では、異常識別部37は、記述付きグラフデータを、モデルDB34をもとに、異常の原因、異常が起きた位置を示す情報、異常の発生時刻を示す情報も出力する。
【0106】
次に、本実施形態に係るドローン30における処理例について、
図20を併せて参照しながら説明する。
図20は、ドローン30をその処理例とともに示す概念図である。
【0107】
モデル生成フェーズは、
図11の処理と
図15の処理とを並行又はいずれかを最初に実行すればよい。これにより、見つけたい対象の異常なパラメータ及び正常なパラメータの双方に対応する学習済みNNのパラメータが抽出され、モデルDB34に記憶される。
【0108】
検知フェーズで実行される検知処理は、例えば
図16の処理を現センサデータグラフ化部36及び異常識別部37が行う。異常識別部37は、モデルDB34に基づき正常/異常/異常要因などを判定し、その結果を出力する。
【0109】
これにより、例えば、風要因、故障要因、攻撃要因のそれぞれの異常センサデータ31(
図20参照)で学習した異常モデルと、現センサデータとが一致すれば、一致したモデルに対応する要因の異常と出力される。また、現センサデータがこれらのうち複数の状態を示している場合、つまり風要因、故障要因、攻撃要因のうちの2以上の要因の複合モデルを示している場合には、示している状態の要因を複数出力される。
【0110】
また、正常センサデータ38が正常モデルと一致すれば、正常と出力される。さらに、異常要因数(ここでは3で例示)の異常モデルと正常モデルとのいずれにも、一致しなければ、未知の異常と出力される。
【0111】
以上に説明したように、本実施形態に係るドローン30では、実施形態3に係るドローン20において、正常パターンの学習も加えたことで、予め学習した以外の未知(未分類、非正常)の異常や予兆を検出することができる。つまり、本実施形態によれば、実施形態3の効果に加えて、風要因、故障要因、攻撃要因等の予め予想した要因ではない未知の異常を検知すること、並びに未知の異常の予兆を検知することができる。例えば、本実施形態では、異常と正常を示した全てのセンサからどれが一番予兆することができるか調べ、選択することで、異常の予兆を見つけることができる。異常の予兆を検知できることで、これにより何らかのアクシデントがあっても素早く、素早く対処することができる。
【0112】
<実施形態5>
実施形態5について、
図21~
図27を参照しながら、その効果も含めた実施形態4との相違点を中心に説明する。実施形態5は、実施形態1~4で説明した様々な例が適宜利用できる。
図23は、実施形態5に係る自律移動装置の一構成例を示すブロック図である。
【0113】
図21に示す本実施形態に係る自律移動装置(ここでもドローンで例示)40は、実施形態4に係るドローン30において、使用する学習済みモデルを選択できるようにしたものである。
【0114】
つまり、ドローン40の制御部は、機械学習のアルゴリズム及び機械学習に用いた蓄積センサデータのうちの少なくとも一方が異なる複数の学習済みモデルの中から、使用する学習済みモデルを選択する。
【0115】
この選択はユーザ操作に基づいてもよいが、ここではより好ましい予兆速度が速い(いち早く検知できる)学習済みモデルを自動的に選択する例を挙げる。これにより、実際に動作不良が起こる前に異常を検知することができる。このように、ドローン40の制御部は、最も事前に検知できる学習済みモデルを少なくとも含むように選択を行い、選択モデルを使用して、結果を得ることが好ましい。特に、ここでは、複数の異常動作、複数の正常動作の中から、最も早期に異常の予兆を示すモデルを選択する例を挙げて説明する。そして、この制御部は、選択した学習済みモデルである選択モデルを使用して、異常発生状態を検知又は予測した結果を得る。
【0116】
そのため、
図21に示すように、本実施形態に係るドローン40は、実施形態4に係るドローン30において、モデルDB34を複数設けたモデルDB44を備えるとともに、予兆モデルDB41、予兆モデル選択部42を備えることができる。また、ドローン40における異常識別部47は、予兆モデルDB41をもとに異常発生状態を判定する。
【0117】
ドローン40は、ドローン40の異常飛行及び正常飛行を学習し、異常飛行及び正常飛行の学習済みモデルを生成するモデル生成フェーズと、これらの学習済みモデルを使用して、現在の飛行の状態を検知する検知フェーズと、を実行するように構成される。
【0118】
モデル生成フェーズでは、モデル学習部33が、正常センサデータグラフ化部39で生成されたグラフデータを正常データとして、且つ異常センサデータグラフ化部32で生成された記述付きグラフデータを異常データとして、機械学習させる。モデルDB44は、モデル学習部33により学習された正常飛行及び異常飛行のモデルデータベースであり、学習済みモデルの各ノードのウェイト等を、モデル毎に記述したものとすることができる。ここでは、モデルDB34と学習済みモデルとが一対一に対応し、その纏まりをモデルDB44と称して説明する。モデルDBは、例えば、搭載されたセンサの種類のそれぞれ(又は登録されたセンサの検出対象のそれぞれ)に対応させることができ、その対応関係は、1対多であってもよい。
【0119】
検知フェーズは、運行時に行われる。検知フェーズでは、現センサデータグラフ化部36が、現センサデータ35から、
図9で例示したような飛行の途中経過のグラフを生成する。
【0120】
次いで、予兆モデル選択部42がモデルDB44の中から使用するモデルを選択し、予兆モデルDB41に登録(記録)する。ここでは、予兆モデル選択部42は、モデルDB44の中から、一番異常の予兆であると見つけるのが速かったモデルDB34を選択する例を挙げる。この場合、予兆モデル選択部42は、例えば、正常センサデータ38よりもどれだけ値が離れていたか、異常センサデータ31とどれだけ値が近かったか、予め設けた閾値をどの程度超えたかなど、の判定により、モデルDB34を選択することができる。また、この判定の処理には、平均化するなどの様々な統計処理を加えることもできる。
【0121】
次いで、異常識別部47が、現センサデータグラフ化部36が生成したグラフデータについて、予兆モデルDB41をもとに異常か正常かそれ以外の異常かを判定して出力する。例えば、異常識別部47は、NNに、現分割データと、予兆モデルDB41のデータ(ウェイト等)と、を入力して計算を実行し、異常か正常かそれ以外の異常(未知の異常)かを判定して出力する。ここで例示している好ましい例では、異常識別部47は、記述付きグラフデータを、予兆モデルDB41をもとに、異常の原因、異常が起きた位置を示す情報、異常の発生時刻を示す情報も出力する。
【0122】
次に、本実施形態に係るドローン40における処理例について、
図22~
図27を併せて参照しながら説明する。
図22は、ドローン40におけるモデル生成フェーズの処理例を説明するためのフロー図である。
図23は、ドローン40における選択結果の具体例を示す概念図である。
図24~
図26は、ドローン40における検知結果の具体例を示す概念図であり、いずれも異なる具体例を示している。なお、
図24~
図26の具体例は、実施形態4でも適用できる。
【0123】
図22に示すように、モデル生成フェーズは、
図11の処理と
図15の処理とを並行又はいずれかを最初に実行した後、予兆モデル選択部42が最も早期に予兆が現れるモデルDB34を選択し、予兆モデルDB41に記録する(ステップS71)。
図23に示すように、正常モデル(代表グラフ12a)、風のモデル(代表グラフ12c)、故障のモデル(代表グラフ12d)、攻撃のモデル(代表グラフ12e)が存在する場合を例に挙げる。予兆モデル選択部42は、このうち、最も早期に予兆が現れるモデル(この例では太線矢印で示した故障のモデル)を選択し、予兆モデルDB41に記録する。この選択は現センサデータに依らずに実行することができるが、予兆モデル選択部42は、現センサデータについて最も早期に予兆が現れるモデルを選択してもよい。
【0124】
また、ステップS71の選択は、異常の要因(種類)毎に実行することができる。即ち、予兆モデル選択部42は、例えば上述の4つのモデルそれぞれについて、1つずつ最も早期に予兆が現れるモデルDBを選択して予兆モデルDB41に記録することもできる。以下の検知フェーズでは、このような例を前提に説明する。
【0125】
検知フェーズで実行される検知処理は、例えば
図16の処理を現センサデータグラフ化部36及び異常識別部37が行う。但し、使用するモデルDBは予兆モデルDB41となる。異常識別部37は、予兆モデルDB41に基づき正常/異常/異常要因などを判定し、早期にその結果を出力する。
【0126】
これにより、例えば、
図24に示すように、正常センサデータ38で学習した正常モデルと現センサデータとが一致すれば、正常と出力される。例えば、
図25に示すように、正常モデルと現センサデータとが一致(マッチング)せず、且つ風要因、故障要因、攻撃要因のそれぞれの異常センサデータ31で学習した異常モデルのいずれかと現センサデータとが一致すれば、異常がその要因とともに出力される。例えば、
図26に示すように、正常モデルと現センサデータとが一致せず、且つ風要因、故障要因、攻撃要因のそれぞれの異常センサデータ31で学習した異常モデルのいずれとも現センサデータとが一致しない場合には、未知の異常と出力される。
【0127】
ここで、NNの例について、
図27を参照しながら説明する。
図27は、ドローン40におけるNNの一例を示す模式図である。
図27のNNは上述した実施形態4でも利用できる。
図27におけるNNは、入力層と複数の隠れ層と出力層とを備えることができる。入力層の各ノードには、全体の期間のグラフ画像のラスタデータと検知開始から各間隔の終了までのグラフ画像のラスタデータを入力することができる。出力層は、正常モデルについての結果を示す0,1のいずれかが出力されるノードを含むことができる。出力層は、風モデルについての結果を示す0,1のいずれかが出力されるノードと、故障モデルについての結果を示す0,1のいずれかが出力されるノードと、攻撃モデルについての結果を示す0,1のいずれかが出力されるノードと、を含むことができる。これらの出力層のノードの結果から、
図24~
図26で例示したような結果を得ることができる。
【0128】
以上に説明したように、本実施形態に係るドローン40では、実施形態4に係るドローン20において、例えば早期に予兆が現れるような学習済みモデルを使用することで、予兆の検知を早期に行うことができるようになる。つまり、本実施形態によれば、実施形態4の効果に加えて、所定の条件(早期に出現、高精度など)に合うような学習済みモデルを使用することで、所望の予兆検知が可能となる。
【0129】
<実施形態6>
実施形態6について、その効果も含めた実施形態2~5との相違点を中心に説明する。実施形態6は、実施形態1~5で説明した様々な例が適宜利用できる。
【0130】
本実施形態では、実施形態2~5の正常センサデータ、異常センサデータとして、特に次の第1情報と第2情報との組み合わせを用いる。
【0131】
第1情報は、進行方向、加速度、ハンドル(舵)の制御情報、モータやエンジンなどの動力の出力といった、自律移動装置の動作状況が分かるセンサ情報である。第2情報は、管制や運行管理に対して、自律移動装置が報告する現在の位置情報である。即ち、本実施形態における蓄積センサデータは、自律移動装置及び他の同種の自律移動装置の少なくとも1つにおける動作状況についての時系列データを含む。さらに、本実施形態における蓄積センサデータは、自律移動装置及び他の同種の自律移動装置の少なくとも1つにおける運行管理を行う側に報告する現在の位置についての時系列データも含む。
【0132】
自律移動装置に対して、セキュリティ攻撃による制御の乗っ取りが発生した場合に、発覚を恐れて管制や運行管理に対してウソの位置情報を報告しながら、実際には、本来の経路を外れて飛行するような事態が発生する。
【0133】
一方、本実施形態によれば、実施形態2~5の効果に加え、そのようなケースでも異常を検知すること、つまりセキュリティ上の異常を検知することができる。これは、上述のようなデータを用いて学習させると、管制や運行管理に対して報告している情報と実際の動作の情報の食い違いや、通常起こりえない組み合わせの矛盾を検出できるためである。
【0134】
<他の実施形態>
[a]
各実施形態において、自律移動装置の機能、学習装置の機能、サーバ装置の機能などについて説明したが、各装置は、例示した構成例に限ったものではなく、各装置としてこれらの機能が実現できればよい。
【0135】
[b]
各実施形態に係る各装置は、次のようなハードウェア構成を有していてもよい。
図28は、装置のハードウェア構成の一例を示す図である。なお、上記他の実施形態[a]についても同様である。
【0136】
図28に示す装置100は、プロセッサ101、メモリ102、及びインタフェース103を有することができる。プロセッサ101は、例えば、マイクロプロセッサ、MPU(Micro Processor Unit)、又はCPUなどであってもよい。プロセッサ101は、複数のプロセッサを含んでもよい。メモリ102は、例えば、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。各実施形態で説明した各装置における機能は、プロセッサ101がメモリ102に記憶されたプログラムを読み込んで実行することにより実現される。この際、情報の入出力は、内部の他の部位や外部の他の装置との通信を行う通信インタフェース等のインタフェース103を介して行うことができる。例えば、装置100が自律移動装置の場合、インタフェース103は、少なくとも各センサとのインタフェースを含むことができる。
【0137】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)を含む。さらに、この例は、CD-ROM(Read Only Memory)、CD-R、CD-R/Wを含む。さらに、この例は、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0138】
[c]
さらに、上述した各実施形態において、自律移動装置における処理の手順を例示したように、本開示は、自律移動装置における異常検知方法としての形態も採り得る。この異常検知方法は、次の検知ステップ及び制御ステップを備えることができる。上記検知ステップは、自律移動装置における現在の状態をその自律移動装置内のセンサ群で検知する。上記制御ステップは、その自律移動装置における異常発生状態を検知又は予測した結果を得る。上記制御ステップは、センサ群で検知された検知開始時点から現時点までの時系列データである現センサデータを取得する。上記制御ステップは、現センサデータを第1所定間隔毎に分割した現分割データと現センサデータとに基づき生成された複数のグラフである現グラフ群を、学習済みモデルに入力し、上記結果を得る。学習済みモデルは、その自律移動装置及び他の同種の自律移動装置の少なくとも1つにおける状態について装置内部のセンサ群で検知した時系列データ(蓄積センサデータ)についての蓄積グラフ群を、未学習モデルに入力して機械学習を行うことで構築される。蓄積グラフ群は、蓄積センサデータを第2所定間隔毎に分割した、蓄積分割データと蓄積センサデータとに基づき生成された複数のグラフである。なお、その他の例については、上述した各実施形態で説明した通りである。
【0139】
また、自律移動装置に関するプログラムは、自律移動装置に搭載されたコンピュータ(制御コンピュータ)に上述した検知ステップ及び制御ステップを実行させるためのプログラムであると言える。学習装置に関するプログラムは、学習装置に搭載されたコンピュータ(制御コンピュータ)に上記学習済みモデルを生成させるためのプログラムであると言える。サーバ装置に関するプログラムは、サーバ装置に搭載されたコンピュータ(制御コンピュータ)に、データの送受等の処理を行わせるためのプログラムとすることができ、学習済みモデルを搭載する場合にはこのプログラムに検知プログラムを含むことができる。
【0140】
なお、本開示は上記実施形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。また、本開示は、それぞれの実施形態を適宜組み合わせて実施されてもよい。
【0141】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
<付記>
【0142】
(付記1)
自律移動装置における現在の状態を検知するセンサ群と、
制御部と、
を備え、
前記制御部は、
前記センサ群で検知された検知開始時点から現時点までの時系列データである現センサデータを取得し、
前記現センサデータを第1所定間隔毎に分割した現分割データと前記現センサデータとに基づき生成された複数のグラフである現グラフ群を、学習済みモデルに入力し、前記自律移動装置における異常発生状態を検知又は予測した結果を得、
前記学習済みモデルは、前記自律移動装置及び他の同種の自律移動装置の少なくとも1つにおける状態について装置内部のセンサ群で検知した時系列データである蓄積センサデータについて、前記蓄積センサデータを第2所定間隔毎に分割した蓄積分割データと前記蓄積センサデータとに基づき生成された複数のグラフである蓄積グラフ群を、未学習モデルに入力して機械学習を行うことで構築された学習モデルである、
自律移動装置。
【0143】
(付記2)
Nを1以上の整数、iを1からNまでの整数、Mを1以上の整数、jを1からMまでの整数とし、
前記学習済みモデルに入力される前記現グラフ群は、検知開始時点から前記第1所定間隔がi回分経過するまでの合計N個の期間のそれぞれについて、対応するi個の前記現分割データを示すように生成された、N個のグラフを有し、
前記未学習モデルに入力される前記蓄積グラフ群は、検知開始時点から前記第2所定間隔がj回分経過するまでの合計M個の期間のそれぞれについて、対応するj個の前記現分割データを示すように生成された、M個のグラフを有する、
付記1に記載の自律移動装置。
【0144】
(付記3)
前記蓄積センサデータは、前記自律移動装置及び前記他の同種の自律移動装置の少なくとも1つにおける正常時の状態を、各装置内部のセンサ群で検知した時系列データである正常センサデータを含む、
付記1又は2に記載の自律移動装置。
【0145】
(付記4)
前記蓄積センサデータは、前記自律移動装置及び前記他の同種の自律移動装置の少なくとも1つにおける異常時の状態を、各装置内部のセンサ群で検知した時系列データである異常センサデータを含む、
付記1~3のいずれか1項に記載の自律移動装置。
【0146】
(付記5)
前記制御部は、
前記機械学習のアルゴリズム及び前記機械学習に用いた蓄積センサデータのうちの少なくとも一方が異なる複数の前記学習済みモデルの中から、使用する学習済みモデルを選択し、
選択した学習済みモデルである選択モデルを使用して、前記結果を得る、
付記1~4のいずれか1項に記載の自律移動装置。
【0147】
(付記6)
前記制御部は、前記選択モデルとして最も事前に検知できる学習済みモデルを含むように選択する、
付記5に記載の自律移動装置。
【0148】
(付記7)
前記制御部は、前記結果として、正常時の状態、異常時の予兆がある状態、及び異常時の状態を含む、複数の状態のうち1つを得る、
付記1~6のいずれか1項に記載の自律移動装置。
【0149】
(付記8)
前記制御部は、異常時の状態を示す前記結果として、複数の異常要因のうち少なくとも1つを得る、
付記4に記載の自律移動装置。
【0150】
(付記9)
前記学習済みモデルを記憶する記憶部をさらに備え、
前記制御部は、前記現センサデータを取得し、取得した前記現センサデータから前記現グラフ群を生成する、
付記1~8のいずれか1項に記載の自律移動装置。
【0151】
(付記10)
前記蓄積センサデータは、前記自律移動装置及び他の同種の自律移動装置の少なくとも1つにおける動作状況についての時系列データと、前記自律移動装置及び他の同種の自律移動装置の少なくとも1つにおける運行管理を行う側に報告する現在の位置についての時系列データと、を含む、
付記1~9のいずれか1項に記載の自律移動装置。
【0152】
(付記11)
前記制御部は、前記学習済みモデルを生成する学習部を備え、
前記学習部は、
前記蓄積センサデータを取得し、
前記蓄積センサデータを前記第1所定間隔毎に分割して前記蓄積分割データを生成し、
前記蓄積分割データと前記蓄積センサデータとに基づき、前記蓄積グラフ群を生成し、
前記蓄積グラフ群を予め記憶された未学習モデルに入力して機械学習を行うことで、前記自律移動装置における異常発生状態を検知又は予測した結果を得るための前記学習済みモデルを生成する、
付記1~10のいずれか1項に記載の自律移動装置。
【0153】
(付記12)
前記学習済みモデルを記憶する記憶部と、
通信部と、
をさらに備え、
前記制御部は、前記現センサデータを取得し、前記通信部を介し、取得した前記現センサデータ又は前記現分割データをサーバ装置に送信して前記サーバ装置から前記現グラフ群を受信する、
付記1~10のいずれか1項に記載の自律移動装置。
【0154】
(付記13)
通信部をさらに備え、
前記制御部は、前記現センサデータを取得し、前記通信部を介して、取得した前記現センサデータ又は前記現分割データをサーバ装置に送信して前記サーバ装置から前記結果を受信する、
付記1~10のいずれか1項に記載の自律移動装置。
【0155】
(付記14)
付記13に記載の自律移動装置と通信するサーバ側通信部と、
前記学習済みモデルを記憶するモデル記憶部と、
前記サーバ側通信部を介して前記自律移動装置から前記現センサデータ又は前記現分割データを受信し、前記モデル記憶部に記憶された前記学習済みモデルを用いて前記結果を得、前記サーバ側通信部を介して前記自律移動装置に前記結果を送信するサーバ側制御部と、
を備えたサーバ装置。
【0156】
(付記15)
付記13に記載の自律移動装置と、
サーバ装置と、
を備え、
前記サーバ装置は、
前記自律移動装置と通信するサーバ側通信部と、
前記学習済みモデルを記憶するモデル記憶部と、
前記サーバ側通信部を介して前記自律移動装置から前記現センサデータ又は前記現分割データを受信し、前記モデル記憶部に記憶された前記学習済みモデルを用いて前記結果を得、前記サーバ側通信部を介して前記自律移動装置に前記結果を送信するサーバ側制御部と、
を備えた、
自律移動システム。
【0157】
(付記16)
自律移動装置における現在の状態を検知するセンサ群を備えた自律移動装置と通信する学習装置側通信部と、
学習装置側記憶部と、
学習装置側制御部と、
を備え、
前記学習装置側制御部は、
前記学習装置側通信部を介して前記自律移動装置から、前記センサ群で検知された検知開始時点から検知終了時点までの時系列データである蓄積センサデータ又は前記蓄積センサデータを第1所定間隔毎に分割した蓄積分割データを受信して、前記学習装置側記憶部に記憶し、
前記蓄積分割データと前記蓄積センサデータとに基づき、複数のグラフである蓄積グラフ群を生成し、
前記蓄積グラフ群を前記学習装置側記憶部に予め記憶された未学習モデルに入力して機械学習を行うことで、前記自律移動装置における異常発生状態を検知又は予測した結果を得るための学習済みモデルを生成する、
学習装置。
【0158】
(付記17)
自律移動装置における現在の状態を前記自律移動装置内のセンサ群で検知する検知ステップと、
前記自律移動装置における異常発生状態を検知又は予測した結果を得る制御ステップと、
を備え、
前記制御ステップは、
前記センサ群で検知された検知開始時点から現時点までの時系列データである現センサデータを取得し、
前記現センサデータを第1所定間隔毎に分割した現分割データと前記現センサデータとに基づき生成された複数のグラフである現グラフ群を、学習済みモデルに入力し、前記結果を得、
前記学習済みモデルは、前記自律移動装置及び他の同種の自律移動装置の少なくとも1つにおける状態について装置内部のセンサ群で検知した時系列データである蓄積センサデータについて、前記蓄積センサデータを第2所定間隔毎に分割した蓄積分割データと前記蓄積センサデータとに基づき生成された複数のグラフである蓄積グラフ群を、未学習モデルに入力して機械学習を行うことで構築された学習モデルである、
異常検知方法。
【0159】
(付記18)
自律移動装置のコンピュータに、
前記自律移動装置における現在の状態を前記自律移動装置内のセンサ群で検知させる検知ステップと、
前記自律移動装置における異常発生状態を検知又は予測した結果を得る制御ステップと、
を実行させるためのプログラムであって、
前記制御ステップは、
前記センサ群で検知された検知開始時点から現時点までの時系列データである現センサデータを取得し、
前記現センサデータを第1所定間隔毎に分割した現分割データと前記現センサデータとに基づき生成された複数のグラフである現グラフ群を、学習済みモデルに入力し、前記結果を得、
前記学習済みモデルは、前記自律移動装置及び他の同種の自律移動装置の少なくとも1つにおける状態について装置内部のセンサ群で検知した時系列データである蓄積センサデータについて、前記蓄積センサデータを第2所定間隔毎に分割した蓄積分割データと前記蓄積センサデータとに基づき生成された複数のグラフである蓄積グラフ群を、未学習モデルに入力して機械学習を行うことで構築された学習モデルである、
プログラム。
【符号の説明】
【0160】
1 自律移動装置
1a 自律移動装置の制御部
1b センサ群
2 学習装置
2a 制御部
2b 通信部
2c 記憶部
2d 未学習モデル
2e 蓄積グラフ群
10、20、30、40 自律移動装置(ドローン)
11、38 正常センサデータ
12、39 正常センサデータグラフ化部
13、23、33 モデル学習部
14、24、34、44 モデルDB
15、25、35 現センサデータ
16、26、36 現センサデータグラフ化部
17、27、37、47 異常識別部
21、31 異常センサデータ
22、32 異常センサデータグラフ化部
41 予兆モデルDB、
42 予兆モデル選択部、
100 装置
101 プロセッサ
102 メモリ
103 インタフェース