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

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

▶ 株式会社日立製作所の特許一覧

<>
  • 特許-分散システムおよび診断方法 図1
  • 特許-分散システムおよび診断方法 図2
  • 特許-分散システムおよび診断方法 図3
  • 特許-分散システムおよび診断方法 図4
  • 特許-分散システムおよび診断方法 図5
  • 特許-分散システムおよび診断方法 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-30
(45)【発行日】2024-10-08
(54)【発明の名称】分散システムおよび診断方法
(51)【国際特許分類】
   G05B 23/02 20060101AFI20241001BHJP
   G05B 19/042 20060101ALI20241001BHJP
【FI】
G05B23/02 Z
G05B19/042
【請求項の数】 6
(21)【出願番号】P 2021047876
(22)【出願日】2021-03-22
(65)【公開番号】P2022146749
(43)【公開日】2022-10-05
【審査請求日】2023-05-29
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000279
【氏名又は名称】弁理士法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】鳥羽 忠信
(72)【発明者】
【氏名】新保 健一
(72)【発明者】
【氏名】植松 裕
(72)【発明者】
【氏名】上薗 巧
(72)【発明者】
【氏名】寺岡 秀敏
【審査官】大古 健一
(56)【参考文献】
【文献】特開2010-055545(JP,A)
【文献】米国特許出願公開第2015/0371151(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/00 -23/02
G05B 19/04 -19/05
(57)【特許請求の範囲】
【請求項1】
自動で稼働できる移動体または設備であるエッジシステムと、
前記エッジシステムと通信できる診断データ計算機と、
前記エッジシステムの製造会社が有する計算機であり前記診断データ計算機と通信できる製造会社用計算機と、
を有する分散システムであって、
前記エッジシステムは、稼働のための機構部と、前記機構部を制御するエッジ内コントローラと、前記エッジ内コントローラと車載ネットワークで通信できる診断コントローラとを有し、
前記診断コントローラは:
前記エッジ内コントローラの内部状態を示す診断データとして取得する情報種別およびタイミングを規定する1つ以上の診断シーケンスによって前記エッジ内コントローラを診断する手順を示す第1診断シーケンスセットに従って診断データを取得し、
前記取得された診断データを前記診断データ計算機に送信し、
前記診断データ計算機は:
受信した前記診断データに基づいて、前記エッジ内コントローラの状態の異常要因を特定する要因分析処理を行い、前記要因分析処理により得られた要因分析結果データを前記製造会社用計算機に送信するとともに、前記要因分析処理の要因分析結果に基づいて、前記エッジ内コントローラから診断データとして取得すべき情報種別およびタイミングを決定し、
前記決定した情報種別およびタイミングを規定する診断シーケンスを含む第2診断シーケンスセットへ更新する診断更新通知を前記診断コントローラに送信し、
前記診断コントローラは:
前記第1診断シーケンスセットから前記第2診断シーケンスセットに更新し、
前記第2診断シーケンスセットに従って診断データを取得し、
前記取得された診断データを前記診断データ計算機に送信する、
ものであり、
前記製造会社用計算機は:
前記要因分析結果データに基づいて、前記エッジ内コントローラの機能を更新するための機能更新情報を生成し、
前記機能更新情報を前記エッジ内コントローラおよび前記診断データ計算機に送信し、
前記エッジ内コントローラは、前記機能更新情報に従って機能を更新し、
前記診断データ計算機は:
前記機能更新情報に基づいて、前記エッジ内コントローラから診断データとして取得すべき情報種別およびタイミングを決定し、
前記決定した情報種別およびタイミングを規定する診断シーケンスを含む第3診断シーケンスセットへの診断更新通知を前記診断コントローラに送信し、
前記診断コントローラは:
前記第1診断シーケンスセットから前記第3診断シーケンスセットに変更して診断データを取得する、
ものである、
分散システム。
【請求項2】
請求項1に記載の分散システムであって、
前記診断データ計算機は、前記第2診断シーケンスセットのシミュレーションテストを行った後、前記第2診断シーケンスセットへの診断更新通知を前記診断コントローラに送信する、
分散システム。
【請求項3】
請求項1に記載の分散システムであって、
前記診断コントローラは:
前記第1診断シーケンスセットおよび前記第2診断シーケンスセットを含む複数の診断シーケンスセットのデータを指定可能に格納したシーケンスメモリを備え、
前記シーケンスメモリにおける指定先を変更することにより、前記第1診断シーケンスセットから前記第2診断シーケンスセットに変更する、
分散システム。
【請求項4】
請求項3に記載の分散システムであって、
前記シーケンスメモリには、診断シーケンスセットを追加可能な空き領域があり、
前記診断データ計算機は、前記決定した情報種別およびタイミングを規定する診断シーケンスを含み、前記シーケンスメモリに格納されていない第4診断シーケンスセットへの診断更新通知を前記診断コントローラに送信し、
前記診断コントローラは:
前記第4診断シーケンスセットのデータを前記空き領域に記録し、
前記シーケンスメモリにおける指定先を変更することにより、前記第1診断シーケンスセットから前記第4診断シーケンスセットに変更する、
分散システム。
【請求項5】
請求項1に記載の分散システムであって、
前記エッジシステムは自動車であり、
前記エッジ内コントローラはエレクトロニックコントロールユニットである、
分散システム。
【請求項6】
自動で稼働できる移動体または設備であるエッジシステムと、前記エッジシステムと通信できる診断データ計算機と、前記エッジシステムの製造会社が有する計算機であり前記診断データ計算機と通信できる製造会社用計算機と、を有し、前記エッジシステムは、稼働のための機構部と、前記機構部を制御するエッジ内コントローラと、前記エッジ内コントローラと車載ネットワークで通信できる診断コントローラとを有する分散システムにおいて、前記エッジシステムを診断するための診断方法であって、
前記診断コントローラは:
前記エッジ内コントローラの内部状態を示す診断データとして取得する情報種別およびタイミングを規定する1つ以上の診断シーケンスによって前記エッジ内コントローラを診断する手順を示す第1診断シーケンスセットに従って診断データを取得し、
前記取得された診断データを前記診断データ計算機に送信し、
前記診断データ計算機は:
受信した前記診断データに基づいて、前記エッジ内コントローラの状態の異常要因を特定する要因分析処理を行い、前記要因分析処理により得られた要因分析結果データを前記製造会社用計算機に送信するとともに、前記要因分析処理の要因分析結果に基づいて、前記エッジ内コントローラから診断データとして取得すべき情報種別およびタイミングを決定し、
前記決定した情報種別およびタイミングを規定する診断シーケンスを含む第2診断シーケンスセットへ更新する診断更新通知を前記診断コントローラに送信し、
前記診断コントローラは:
前記第1診断シーケンスセットから前記第2診断シーケンスセットに更新し、
前記第2診断シーケンスセットに従って診断データを取得し、
前記取得された診断データを前記診断データ計算機に送信する、
ものであり、
前記製造会社用計算機は:
前記要因分析結果データに基づいて、前記エッジ内コントローラの機能を更新するための機能更新情報を生成し、
前記機能更新情報を前記エッジ内コントローラおよび前記診断データ計算機に送信し、
前記エッジ内コントローラは、前記機能更新情報に従って機能を更新し、
前記診断データ計算機は:
前記機能更新情報に基づいて、前記エッジ内コントローラから診断データとして取得すべき情報種別およびタイミングを決定し、
前記決定した情報種別およびタイミングを規定する診断シーケンスを含む第3診断シーケンスセットへの診断更新通知を前記診断コントローラに送信し、
前記診断コントローラは:
前記第1診断シーケンスセットから前記第3診断シーケンスセットに変更して診断データを取得する、
診断方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、車両等のエッジシステムを診断する技術に関する。
【背景技術】
【0002】
特許文献1には、エッジシステムである車両を診断するシステムが開示されている。システムは、サーバーと、車両に搭載された診断装置とを有し、サーバーから車両に診断スクリプトを送り、診断スクリプトを受けた車両内の診断装置が診断スクリプトに従って診断を実行することが開示されている。診断スクリプトは、スクリプト生成装置により生成される。スクリプト生成装置は、プラットフォームに依存しないスクリプトを作成する。このスクリプトは、好ましくは、OTXスクリプトとODX-制御機器-診断データとの組み合わせである。
【先行技術文献】
【特許文献】
【0003】
【文献】特表2014-517378号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1では、診断スクリプトによる診断自体の品質を向上させていくことについて考慮されていない。また、特許文献1の手法では、車両に搭載される診断装置はセンサに接続され、センサで計測されたセンサデータを取得する処理をも担っている。そのため、診断装置には、センサで計測されたセンサデータを取得する処理と、診断スクリプトに従って診断を実行する処理との両方の負荷がかかる。診断装置に大きな負荷がかかると、それらいずれかの処理あるいは両方の処理に影響する可能性があった。
【0005】
本開示のひとつの目的は、診断の品質を向上させることを可能にし、かつ、車載装置への負荷を低減することを可能にする技術を提供することである。
【課題を解決するための手段】
【0006】
本開示のひとつの態様による分散システムは、自動で稼働できる移動体または設備であるエッジシステムと、前記エッジシステムと通信できる診断データ計算機と、を有する分散システムであって、前記エッジシステムは、稼働のための機構部と、前記機構部を制御するエッジ内コントローラと、前記エッジ内コントローラと車載ネットワークで通信できる診断コントローラとを有し、前記診断コントローラは:前記エッジ内コントローラの内部状態を示す診断データとして取得する情報種別およびタイミングを規定する1つ以上の診断シーケンスによって前記エッジ内コントローラを診断する手順を示す第1診断シーケンスセットに従って診断データを取得し、前記取得された診断データを前記診断データ計算機に送信し、前記診断データ計算機は:受信した前記診断データに基づいて、前記エッジ内コントローラから診断データとして取得すべき情報種別およびタイミングを決定し、前記決定した情報種別およびタイミングを規定する診断シーケンスを含む第2診断シーケンスセットへ更新する診断更新通知を前記診断コントローラに送信し、前記診断コントローラは:前記第1診断シーケンスセットから前記第2診断シーケンスセットに更新し、前記第2診断シーケンスセットに従って診断データを取得し、前記取得された診断データを前記診断データ計算機に送信する。
【発明の効果】
【0007】
本開示のひとつの態様によれば、診断の品質を向上させることが可能となり、かつ、車載装置への負荷を低減することが可能となる。
【図面の簡単な説明】
【0008】
図1】実施例1による分散システムのブロック図である。
図2】実施例1におけるシーケンスメモリのデータ構成を示す図である。
図3】実施例1における診断シーケンスセットを更新する処理の流れを示すシーケンス図である。
図4】サーバを構成する計算機400のハードウェア構成の例を示す図である。
図5】実施例2による分散システムのブロック図である。
図6】実施例2におけるシーケンスメモリのデータ構成を示す図である。
【発明を実施するための形態】
【0009】
以下の実施形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。
【0010】
また、以下の実施形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
【0011】
さらに、以下の実施形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。
【0012】
同様に、以下の実施形態において、構成要素等の形状、位置関係等に言及するときは特に明示した場合および原理的に明らかにそうではないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
【0013】
また、実施形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0014】
なお、以下では説明の簡略化のために、各種サーバがクラウドサーバにより実現される態様を例示するが、各種サーバの一部または全部が計算機により現されてもよい。
以下、実施例について説明する。
【実施例1】
【0015】
<システム構成>
【0016】
図1は、実施例1による分散システムのブロック図である。
【0017】
分散システム1000は、製造会社サーバ101と、診断クラウドサーバ104と、エッジシステム108とを有している。
【0018】
エッジシステム108は、自動で稼働することができる移動体または設備であり、分散システム1000による診断の対象となる装置である。エッジシステム108の詳細は後述する。
【0019】
診断クラウドサーバ104は、クラウド上に構築され、通信ネットワーク121を介してエッジシステム108と通信できるサーバであり、エッジシステム108の診断データを収集する診断データ計算機である。診断クラウドサーバ104の詳細は後述する。
【0020】
製造会社サーバ101は、エッジシステム108を設計または製造する会社が有する計算機であり、診断クラウドサーバ104と通信により連携動作することができる。製造会社サーバ101の詳細は後述する。
<エッジシステム>
【0021】
エッジシステム108は、例えば自動稼働可能な移動体(例えば車両、ドローン、ロボット)や、設備(例えばロボットアームや工作機械、数値制御旋盤等)であることが考えられる。なお、自動運転は「自動稼働」であることの一例である。エッジシステム108は、同一会社が製造したデバイスに限られず、多世代、多品種のデバイスが含まれる。さらには、移動体と設備のいずれかに限られず、両方を兼ねるものであってもよい。
【0022】
エッジシステム108は、移動機構(移動体の場合、例えばエンジン、モータ)又は作動機構(設備の場合、例えばモータや油圧等のアクチュエータ)である機構部122を有する。ここで「作動」とは、少なくとも、「ある動作を行うことによって、機器がその操作された指令どおりの状態の変化を行うこと(JIS B 0132準拠)。」を意味する。以後の説明では、説明の簡略化としてエッジシステム108が移動体の場合を代表して説明する。
【0023】
よって、機構部122は、移動機構であれば、例えば、ホイール、車輪、シャフト、ベルト、ギヤといった力の伝達構造の他、モータや油圧等のアクチュエータ、ブレーキ、モータといった力を発生させたり抑制する構成物、等が考えられるが、他の機構であってもよい。
【0024】
また、エッジシステム108は、通信制御部109と、データ通信ネットワーク110と、センサ部111と、認識演算部112と、診断制御部113と、アクチュエータ制御部115とを有している。
【0025】
通信制御部109は、エッジシステム108内のデータ通信ネットワークに110接続され、通信ネットワーク121に接続可能であり、エッジシステム108内の装置による外部装置との通信を可能にする通信装置である。通信制御部109による外部装置との通信は典型的にはワイヤレス通信モジュール(例えばWi-Fi(登録商標)モジュールや5G通信モジュール)で実現されるが、ワイヤレス通信モジュールは、必ずしもエッジシステム108の各構成物が持つ必要はない。代わりに、エッジシステム108がワイヤレス通信モジュールを有するゲートウェイ装置(例えば、ECU、スマートフォン、ワイヤレスルータ)を含み、ゲートウェイ装置に外部との通信処理を集約させてもよい。
【0026】
データ通信ネットワーク110は、エッジシステム108内において認識演算部112、アクチュエータ制御部115、診断制御部113と接続され、エッジシステム108内でのデータを伝送する車載ネットワークである。
【0027】
センサ部111は、速度、温度、現在位置など各種データを計測し、電気信号として出力するセンサーである。センサ部111じの例としては、GPS、燃料系、速度計、回転計(モータ、エンジン、ホイールが対象)、距離計(例えばLiDAR(Light Detection And Ranging)や超音波を用いた距離計)、位置又は変位センサ、角度検出センサ、といったデバイスが考えられる。
【0028】
認識演算部112およびアクチュエータ制御部115は、エッジ内コントローラである。認識演算部112は、センサ部111から出力された電気信号を認識し、状態情報に変換する。アクチュエータ制御部115は、認識演算部112で取得された状態情報に基づいて、機構部122を含むエッジシステム108の各部に配されたアクチュエータ(不図示)を制御する。エッジ内コントローラが動作することにより、機構部122およびセンサ部111を含むエッジシステム108を構成するハードウェアの状態がエッジ内コントローラの内部状態として格納される。エッジ内コントローラの例として、車両のECU(Electronic Control Unit)、ドローンのコントローラ、産業分野のPLC(Programmable Logic Controller)、工作機械のNCコントローラ、がある。
【0029】
エッジシステム108が車両であり、エッジ内コントローがECUである場合、エッジシステム108には複数のエッジ内コントローラが含まれ、各エッジ内コントローラ毎に異なる役割(車線維持、車間距離制御、エンジンの回転数制御、エッジデバイス12外部との通信制御)を担わせてもよい。また、複数の役割を共通のエッジ内コントローラに担わせてもよい。なお、自動車業界ではこのような役割のことを「機能」あるいは「システム機能」と呼ぶことがある。また、このような役割の持たせ方はエッジ内コントローラがECUでない場合に適用してもよい。
【0030】
エッジ内コントローラを構成するハードウェアは、例えば、CPU(Cnetral Processing Unit)、GPU(Graphics Processing Unit)、データ処理用のASIC(Application Specific Integrated Circuit)、バス、センサが考えられるが、必ずしも全てを必要とはしない。
【0031】
エッジ内コントローラは、エッジ内コントローラを構成するハードウェアによって、ソフトウェアプログラム(以後、制御プログラムと呼ぶことがある)を実行することで実現される。速度維持の役割を持ったエッジ内コントローラの場合、制御プログラムは、センサ部111の1つである速度計が計測した速度(センサデータの1つ)と指定速度とを比較しつつ、エンジンスロットルの開閉指示やモータへの加減速指示を送信する処理を実行させるプログラムである。制御プログラムは、エッジ内コントローラが受信したデータによって、インストール、アップデート、又はパラメータの更新がされてもよい。
【0032】
エッジ内コントローラは、エッジシステム108の自動稼働を実現するための処理の少なくとも一部を担っているため、ハードウェアおよび/またはソフトウェアが複雑化する傾向にある。例えば、ハードウェアの複雑化の例としては、機械学習処理導入や各種センサやカメラからのデータ入力をリアルタイムに認知、判断する処理導入のために、GPU、FPGA(Field-Programmable Gate Array)、ニューラルネットワーク専用プロセッサや、その他機械学習を加速させるハードウェアが含まれる場合もある。
【0033】
診断制御部113は、エッジシステム108の診断を制御する診断コントローラである。診断コントローラは、そのプロセッサおよびメモリ等の物理リソースがエッジ内コントローラとは別個独立に構成される。この構成を採用することにより、エッジ内コントローラの処理負荷が軽減される。
【0034】
診断コントローラである診断制御部113と、エッジ内コントローラである認識演算部112およびアクチュエータ制御部115とは、データ通信ネットワーク110に共に接続され、そのデータ通信ネットワーク110を介して通信する。また、エッジシステム108が車両である場合、車載ネットワークであるデータ通信ネットワーク110にコネクタを介してOBD2(On Board Diagnosis 2nd generation)の診断機(以下「OBD2診断機」ともいう)を接続することが可能であると考えられる。認識演算部112あるいはアクチュエータ制御部115がOBD2診断機と通信可能なECUである場合、診断制御部113は、その認識演算部112またはアクチュエータ制御部115からはOBD2診断機を経由して情報を取得してもよい。
【0035】
診断制御部113は、診断データインタフェース116と、機器内通信処理部114と、診断メモリマップ117と、シーケンス更新処理部118と、診断シーケンス制御処理部119と、シーケンスメモリ120とを有している。
【0036】
図2は、実施例1におけるシーケンスメモリのデータ構成を示す図である。実施例1では、シーケンスメモリ120には、指定可能な複数の診断シーケンスセットがライブラリとして予め格納されている。図2の例では、シーケンスメモリ120にn個の診断シーケンスセットSeq01-nが格納されている。診断シーケンスセットは、エッジシステム108の状態データを取得する一連の手順を規定する定義情報である。
【0037】
診断シーケンスセットには、各エッジ内コントローラで動作する診断シーケンスにより取得された各状態情報について、どの状態情報をどのタイミングで取得するかが設定される。タイミングは例えばポーリング周期により規定される。
【0038】
例えば、車載ネットワーク通信に関する診断を行う診断シーケンスとして、エッジ内コントローラがデータ通信ネットワーク110上で通信を行い、パケットロスをカウントし、単位時間当たりのエラーレートを計算するといったことが考えられる。また、マイコンの診断を行う診断シーケンスとして、エッジ内コントローラのCPUに含まれている複数コアの処理結果をコア間で比較し、コアの異常の有無を判定するといったことが考えられる。コア間での処理結果を比較した比較結果はコア外のレジスタに格納されるので、診断制御部113が所定の周期でレジスタからを比較結果を読み出す。また、各種センサの診断やメモリチェックといった診断シーケンスも考えられる。
【0039】
シーケンスメモリ120に格納されている複数の診断シーケンスセットはそれぞれ異なる設定がされており、指定する診断シーケンスセットを変更することにより、エッジシステム108に適用する診断シーケンスセットを更新することができる。
【0040】
診断シーケンス制御処理部119は、適用する診断シーケンスセットをポインタにより指定し、指定した診断シーケンスセットにしたがって、エッジシステム108を構成する各部のハードウェアの状態(エッジ内コントローラ10の内部状態の1つである)を示す状態情報を認識演算部112およびアクチュエータ制御部115から診断データインタフェース116を介して取得する。
【0041】
更に、診断シーケンス制御処理部119は、各部から取得した状態情報を診断メモリマップ117にマッピングすることにより診断データを生成する。また、診断シーケンス制御処理部119は、認識演算部112および/またはアクチュエータ制御部115(より具体的には制御プログラム)を監視することにより、認識演算部112および/またはアクチュエータ制御部115の状態を示す情報を取得し、エッジ内コントローラの内部状態を示す情報と同様に診断データに含めることにしてもよい。
【0042】
機器内通信処理部114は、診断メモリマップ117に格納された診断データを診断クラウドサーバ104に送信する。また、機器内通信処理部114は、診断クラウドサーバ104から診断シーケンスまたは診断シーケンスセットの通知を受信し、シーケンス更新処理部118へ引き渡す。
【0043】
シーケンス更新処理部118は、シーケンスメモリ120上の診断シーケンスセットを通知された診断シーケンスセットに基づき更新する、あるいはシーケンスメモリ120上の診断シーケンスセットにおける通知された診断シーケンスに相当する部分を、通知された診断シーケンスに基づき更新する。シーケンスメモリ120上の診断シーケンスが更新されると、その後、診断シーケンス制御処理部119により実行される診断シーケンスセットは更新後のものとなる。
<製造会社サーバ>
【0044】
製造会社サーバ101は、エッジ機能更新内容生成処理部102と、機能更新指示処理部103とを有している。
【0045】
エッジ機能更新内容生成処理部102は、エッジ内コントローラの機能を更新するとき、更新内容を決定する。
【0046】
機能更新指示処理部103は、エッジ機能更新内容生成処理部102で決定された更新内容の情報を含む機能更新情報を生成し、機能更新の指示とともに診断クラウドサーバ104に送信する。
<診断クラウドサーバ>
【0047】
診断クラウドサーバ104は、エッジシステムの診断内容およびその更新を管理する装置であり、状態診断処理部105と、要因分析処理部106と、診断処理更新指示部107とを有している。
【0048】
状態診断処理部105は、エッジシステム108から受信した診断データに含まれる状態情報に対してそれらの診断コードに応じた重要度によって分類し、所定以上の重要度を有する状態情報を要因分析処理部106に引き渡す。
【0049】
要因分析処理部106は、状態診断処理部105から引き渡された状態情報に対して要因分析を行い、エッジシステム108において何が発生したのか、具体的には異常要因を特定し、分析結果として診断処理更新指示部107および製造会社サーバ101に通知する。要因分析の分析結果は、製造会社サーバ101では機能更新に決定に利用される。
【0050】
要因分析は、例えばルールベースにより、状態情報から異常要因を特定するものであってよい。その分析ルールは、異常の連鎖関係、すなわち異常の因果の関係に基づいて連鎖して発生する異常状態の連鎖関係を定義した情報である。分析ルールは、設計データ13に基づいて生成されてもよく、又は診断モデルに基づいて生成されてもよい。そのため、析ルールは、製造会社サーバ101にて生成され、診断クラウドサーバ104の要因分析処理部106に送信されてもよい。また、製造会社サーバ101から診断クラウドサーバ104に、エッジシステム108の設計データや診断モデルを通知し、診断クラウドサーバ104にて分析ルールを生成することにしてもよい。
【0051】
診断処理更新指示部107は、分析結果に基づいて、必要に応じて診断シーケンスセットの全部または一部の診断シーケンスの更新を決定し、更新後に診断データとして取得すべき状態情報の種別と、その状態情報を取得すべきタイミングとを決定する。診断処理更新指示部107は、エッジシステム108内の診断制御部113に、更新後の診断シーケンスセットを指定する診断更新通知を送って、診断シーケンスセットの更新を指示する。
【0052】
また、診断処理更新指示部107は、製造会社サーバ101による、エッジシステム108におけるエッジ内コントローラが担う機能の更新に基づき、必要に応じて診断シーケンスセットの全部または一部の診断シーケンスの更新を決定し、更新後に診断データとして取得すべき状態情報の種別と、その状態情報を取得すべきタイミングとを決定する。その場合も、診断処理更新指示部107は、エッジシステム108内の診断制御部113に、更新後の診断シーケンスセットを指定する診断更新通知を送って、診断シーケンスセットの更新を指示する。
<分散システムにおける装置間の連携>
【0053】
図3は、実施例1における診断シーケンスセットを更新する処理の流れを示すシーケンス図である。
【0054】
(ステップS101) 製造会社サーバ101を用いる製造会社にてエッジシステム108が設計および製造される。
【0055】
(ステップS102) 製造会社で製造されたエッジシステム108がユーザの手に渡り、稼働を開始する。エッジシステム108は稼働している間、認識演算部112にて、センサ部111から入力されるセンサデータを基に状態監視を行う。
【0056】
(ステップS103) ここでエッジシステム108に何らかの異常が発生すると、診断制御部113は異常の発生を検知する。例えば、エッジシステム108内で通信エラーが発生すると、診断制御部113には、通信エラーの発生を検知する。異常の他の例として、ECU間のケーブル外れ、データ通信ネットワーク110上で通信量が過剰となることによるパケットロスの発生、メモリ上のデータ化けなどが考えられる。
【0057】
(ステップS104) 診断制御部113は、異常の発生を検知すると、診断シーケンスセットに従って診断を実行して診断データを生成し、診断データを診断クラウドサーバ104に通知する。実際に何らかの異常が発生すると、複数個所で異常な状態となる場合が多い。そのような場合には、診断によって複数個所での異常を示す診断コードが診断データとして診断クラウドサーバ104に通知されることになる。
【0058】
(ステップS105) 診断クラウドサーバ104では、状態診断処理部105が、診断データに含まれる診断コードにより示される異常状態に重要度を付加し、必要に応じて、要因分析処理部106に要因分析の実施を指示する。診断コードに対する重要度は、経験上得られている深刻度合いによって予め定めておけばよい。また、過去に要因が特定され解決済となっている診断コードは要因分析の必要性が低いので重要度が低く設定される。
【0059】
(ステップS106) 指示を受けた要因分析処理部106は、要因分析を行って異常の要因を特定し、異常およびその要因を含む分析結果を異常要因データとして記録保管するとともに、製造会社サーバ101に通知する。要因分析では、例えば、重要度の高い診断コードから順にルールベースの判断ロジックにより、エッジシステム108のどの部分にどのような異常があるかという要因を判断していく。また、例えば、一定以上の重要度がある診断コードについてだけ要因を判断することにしてもよい。また、製造会社サーバ101への通知はリアルタイム処理であってもよいし、バッチ処理であってもよい。
【0060】
(ステップS107) 製造会社サーバ101では、エッジ機能更新内容生成処理部102は、診断クラウドサーバ104から通知された分析結果を基に、更に必要に応じて設計者による判断も基にして、エッジシステム108の問題点を改善するための機能の更新内容を決定する。例えば、スロットルバルブの開閉量を制御する制御プログラム、自動走行のためのカメラ画像から例えば白線の認識などの画像認識を行う画像処理プログラムに対して機能更新が行われる。
【0061】
(ステップS108) 機能更新指示処理部103は、機能を更新する旨および機能の更新内容を示す機能更新情報をエッジシステム108と診断クラウドサーバ104に送信する。
【0062】
(ステップS109) エッジシステム108は、機能更新情報を受信し、認識演算部112およびアクチュエータ制御部115を含むエッジ内コントローラにて更新データに基づいて機能の更新を行う。
【0063】
(ステップS110) 一方、診断クラウドサーバ104は、機能更新情報を受信し、シーケンス更新処理部118にて、その機能更新情報と、その機能更新情報に示された機能更新の基となった異常要因データとを基に、当該機能更新に対応する診断シーケンスを決定し、その診断シーケンスを含む診断シーケンスセットを指定する診断更新通知をエッジシステム108に送信する。診断更新の内容としては、例えば、異常要因に関連する種別の状態情報を取得する頻度を上げるといったことが考えられる。
【0064】
(ステップS111) エッジシステム108では、シーケンス更新処理部118が、受信された診断更新通知により指定される診断シーケンスセットへポインタの指定先を変更することにより、適用する診断シーケンスセットを更新する。
【0065】
ステップS109の機能の更新とステップS111の診断シーケンスセットの更新とを同期させる必要があれば、それらの更新を同時に適用する。特に、同期させる必要が無ければ、機能と診断シーケンスセットとを順次更新すればよい。そのとき機能と診断シーケンスセットのどちらを先に更新してもよい。
【0066】
機能および/または診断シーケンスセットを更新したエッジシステム108は、新たな機能および/または診断シーケンスセットを用いて稼働および状態監視を継続する。
【0067】
(ステップS121) また、製造会社サーバ101では、異常の要因分析の結果に起因しない機能の向上や追加が行われる場合がある。その場合にも上記ステップS107に進み機能の更新とそれに対応する診断シーケンスの更新を行ってもよい。
【0068】
その場合、ステップS107では、エッジ機能更新内容生成処理部102は、必要に応じて設計者による判断を基にして、エッジシステム108の機能を向上あるいは追加するための機能の更新内容を決定する。
<サーバのハードウェア構成>
【0069】
図4は、サーバを構成する計算機400のハードウェア構成の例を示す図である。ここでいうサーバには製造会社サーバ101と診断クラウドサーバ104が含まれる。なお、計算機は装置の1つであるので計算機装置と呼んでもよい。
【0070】
計算機400は、CPU等のプロセッサ401と、主記憶装置であるメモリ402と、ハードディスクやSSD(Solid State Drive)等の外部記憶装置403と、スピーカー等の音声出力装置404と、カメラ、視線入力装置、マイクロフォン等の生体情報入力装置405と、キーボード、マウス、タッチパネル等の入力装置406と、ディスプレイ、プリンタ等の出力装置407と、NIC(Network Interface Card)等の通信装置408と、これらをつなぐバスと、を含んで構成される。なお、これらすべての構成物が必須ではない。
【0071】
メモリ402は、例えばRAM(Random Access Memory)などのメモリである。
【0072】
外部記憶装置403は、デジタル情報を記憶可能な、いわゆるハードディスクやSSD、あるいはフラッシュメモリなどの不揮発性記憶装置である。
【0073】
通信装置408は、ネットワークケーブルを介して有線通信を行う有線の通信装置、又はアンテナを介して無線通信を行う無線通信装置である。通信装置408は、同一のネットワークに接続される他の装置との通信を行う。その通信には、TCP/IP(Transmission Control Protocol/Internet Protocol)によるパケット通信を採用するが、これに限られるものではなく、UDP(User Datagram Protocol)等の他のプロトコルによる通信を採用してもよい。
【0074】
また、LAN(Local Area Network)等に通信可能に接続する通信部(図示しない)は、通信装置408により実現される。
【0075】
以上が、本実施形態におけるサーバを構成する計算機400のハードウェア構成例である。しかし、計算機400の構成はこれに限らず、その他のハードウェアを用いて構成されるものであってもよい。また、計算機400は、サーバコンピュータ、パーソナルコンピュータ、ノート型のパーソナルコンピュータ、タブレット装置や、スマートフォン、テレビジョン装置等の、各種の情報処理装置であってもよい。
【0076】
なお、計算機400は、図示しないが、OS(Operating System)、ミドルウェア、アプリケーションなどの公知のプログラムを有してもよい。こうしたプログラムは、他のプログラムと同様にプロセッサ401にて実行されることで、所定の処理を計算機400に行わせる。また、本明細書の各サーバにて「部」という名前で説明した構成物は、前述のプログラムにて実現してもよい。また、プロセッサ401は、CPUに限られず、他のプロセッサ、例えばGPU、FPGAにより実現されてもよい。
【0077】
また、メモリ402と外部記憶装置403については、仮想化等の技術により機能的な境界があいまいになってきていることから、記憶リソースとして利用できるものであれば厳密な区別を要しない。さらには、プロセッサと記憶リソース、および通信装置408を含める概念として、クラウドリソースと呼ぶことがある。なお、クラウドをデータセンタ全体とみなすこともできる。こうしたみなし方の場合は、クラウドリソースに、ネットワークスイッチ、ルータ、データセンタの電源、冷却設備もクラウドリソースの一部としてみよい。また、計算機400は仮想マシン等、物理的な計算機400のハードウェアを仮想化した仮想的な存在でもよい。
【0078】
なお、Web等、サーバ用途の計算機では、入力装置や出力装置が省略されることがある。この場合は、サーバ計算機に接続する別なクライアント用途の計算機(クライアント計算機)が備える入力装置の入力をサーバ用途の計算機が通信装置408を用いて入力データとして受信することで代替する。同様に、サーバ用途の計算機が出力対象のデータを通信装置408を用いてクライアント計算機に送信し、クライアント計算機の出力装置に当該出力データを用いて出力する。入力装置及び出力装置の有無にかかわらず、共通する点は、サーバ用途の計算機で実行されるプログラムによって、入力データが受信され、出力処理が行われることである。なお、HTML(HyperText Markup Language)とJavaScriptを用いたWebアプリケーションにおいては、Webブラウザを実行するクライアント計算機にてHTMLやJavaScriptを実行することで出力装置に表示するテキストを生成する。この場合、「出力処理」は、Webサーバ用途の計算機で実行されるWebサーバプログラムによるHTMLデータやJavaScriptデータの送信処理も含むものとする。
【実施例2】
【0079】
実施例2では、実施例1と同様に、自動で稼働できるエッジシステムの診断の手順を更新する構成について説明する。実施例2による分散システムは、基本的な構成は実施例1のものと同様である。しかし、実施例2の分散システムは、実施例1のものと異なり、診断クラウドサーバにて診断シーケンスセットのシミュレーションテストを行う機能を備えている。また、実施例2の分散システムは、実施例1のものと異なり、診断クラウドサーバからエッジシステムの診断制御部に新たな診断シーケンスセットを追加することができる。
【0080】
図5は、実施例2による分散システムのブロック図である。実施例2は、診断クラウドサーバとエッジシステム内の診断制御部とが実施例1のものと異なる。
【0081】
図5を参照すると、実施例2による診断クラウドサーバ200は、状態診断処理部105と、要因分析処理部106と、診断シーケンス作成処理部201と、診断シーケンスシミュレーション部202と、診断シーケンス格納メモリ203と、診断処理更新指示部204とを有している。状態診断処理部105および要因分析処理部106は、実施例1のものと同様である。
【0082】
図5を参照すると、実施例2による診断制御部205は、機器内通信処理部114と、診断データインタフェース116と、診断メモリマップ117と、診断シーケンス制御処理部119と、シーケンス更新処理部206と、シーケンスメモリ207とを有している。機器内通信処理部114、診断データインタフェース116、診断メモリマップ117、および診断シーケンス制御処理部119は、実施例1のものと同様である。
【0083】
診断シーケンス作成処理部201は、製造会社サーバ101による、エッジシステム108におけるエッジ内コントローラが担う機能の更新に基づき、必要に応じて診断シーケンスセットの全部または一部の診断シーケンスの更新を決定する。更に、診断シーケンス作成処理部201は、更新後に診断データとして取得すべき状態情報の種別と、その状態情報を取得すべきタイミングとを決定し、その状態情報の種別とタイミングとに基づき、更新後の診断シーケンスセットを作成する。
【0084】
診断クラウドサーバ200では、シーケンスメモリ207のデータ構成が実施例1のものと異なる。
【0085】
図6は、実施例2におけるシーケンスメモリ207のデータ構成を示す図である。実施例2では、シーケンスメモリ120には、指定可能な複数の診断シーケンスセットSeq01-nが予め格納されており、更に新たな診断シーケンスセットSeqEを追加で格納可能な空き領域がある。なお、実施例1においても同様に、シーケンスメモリ207の構成として空き領域を設けてもよく、診断クラウドサーバ104から、新たな診断シーケンスを書き込むこともできる。
【0086】
診断シーケンスシミュレーション部202は、エッジシステム108の認識演算部112およびアクチュエータ制御部115を模擬して、更新後の診断シーケンスセットに対してシミュレーションテストを行う。このとき、診断シーケンスシミュレーション部202は、例えば、更新後の診断シーケンスセットについて所望の種別の状態情報が所望のタイミングで取得されることを確認する。
【0087】
機能の更新のために認識演算部112またはアクチュエータ制御部115に当該更新後の機能を実現するソフトウェアプログラム(以下、機能プログラムともいう)を適用する場合、その認識演算部112またはアクチュエータ制御部115を模擬するために機能プログラムを製造会社サーバ101から診断クラウドサーバ104に送信することにしてもよい。その場合、診断クラウドサーバ104は、受信した機能プログラムに基づいて認識演算部112またはアクチュエータ制御部115を模擬すればよい。
【0088】
診断シーケンスシミュレーション部202は、シミュレーションテストの結果が正常であれば、テストした診断シーケンスセットのデータを診断シーケンス格納メモリ203に格納する。
【0089】
診断処理更新指示部204は、エッジシステム108内の診断制御部205に、診断シーケンス格納メモリ203に格納されている更新後の診断シーケンスセットと、その更新後の診断シーケンスセットを指定する診断更新通知とを送って、診断シーケンスセットの更新を指示する。
【0090】
エッジシステム108の診断制御部205では、シーケンス更新処理部206は、診断クラウドサーバ200から診断シーケンスセットの更新の指示を受けると、更新後の診断シーケンスセットをシーケンスメモリ207の空き領域に格納し、指定先をその更新後の診断シーケンスセットに変更する。
【0091】
以上説明した実施例には以下に示す事項が含まれている。ただし、上述した実施例に含まれる事項が以下に示すものだけに限定されることはない。
【0092】
(事項1)
自動で稼働できる移動体または設備であるエッジシステムと、
前記エッジシステムと通信できる診断データ計算機と、
を有する分散システムであって、
前記エッジシステムは、稼働のための機構部と、前記機構部を制御するエッジ内コントローラと、前記エッジ内コントローラと車載ネットワークで通信できる診断コントローラとを有し、
前記診断コントローラは:
前記エッジ内コントローラの内部状態を示す診断データとして取得する情報種別およびタイミングを規定する1つ以上の診断シーケンスによって前記エッジ内コントローラを診断する手順を示す第1診断シーケンスセットに従って診断データを取得し、
前記取得された診断データを前記診断データ計算機に送信し、
前記診断データ計算機は:
受信した前記診断データに基づいて、前記エッジ内コントローラから診断データとして取得すべき情報種別およびタイミングを決定し、
前記決定した情報種別およびタイミングを規定する診断シーケンスを含む第2診断シーケンスセットへ更新する診断更新通知を前記診断コントローラに送信し、
前記診断コントローラは:
前記第1診断シーケンスセットから前記第2診断シーケンスセットに更新し、
前記第2診断シーケンスセットに従って診断データを取得し、
前記取得された診断データを前記診断データ計算機に送信する。
これによれば、診断データに基づいて診断シーケンスセットを更新することにより診断の品質を向上させることを可能にするとともに、エッジ内コントローラとは別に診断コントローラを設けることにより車載装置への負荷を低減することを可能にする。
【0093】
(事項2)
事項1に記載の分散システムであって、
前記エッジシステムの製造会社が有する計算機であり前記診断データ計算機と通信できる製造会社用計算機を更に有し、
前記製造会社用計算機は:
前記エッジ内コントローラの機能を更新するための機能更新情報を生成し、
前記機能更新情報を前記エッジ内コントローラおよび前記診断データ計算機に送信し、
前記エッジ内コントローラは、前記機能更新情報に従って機能を更新し、
前記診断データ計算機は:
前記機能更新情報に基づいて、前記エッジ内コントローラから診断データとして取得すべき情報種別およびタイミングを決定し、
前記決定した情報種別およびタイミングを規定する診断シーケンスを含む第3診断シーケンスセットへの診断更新通知を前記診断コントローラに送信し、
前記診断コントローラは:
前記第1診断シーケンスセットから前記第3診断シーケンスセットに変更して診断データを取得する。
これによれば、機能更新情報に基づいて診断シーケンスセットを更新することにより、エッジ内コントローラの更新された機能に合った診断を行うことが可能となる。
【0094】
(事項3)
事項2に記載の分散システムであって、
前記診断データ計算機は:
前記診断データに基づいて、前記エッジ内コントローラの状態の要因分析処理を行い、
前記製造会社用計算機に、前記要因分析処理により得られた要因分析結果データを送信し、
前記製造会社用計算機は、前記要因分析結果データに基づいて前記機能更新情報を生成する。
これによれば、要因分析の結果に基づいてエッジ内コントローラの機能更新を行い、その機能更新情報に基づいて診断シーケンスセットを更新することにより、エッジ内コントローラの更新された機能に合った診断を行うことが可能となる。
【0095】
(事項4)
事項1に記載の分散システムであって、
前記診断データ計算機は、前記第2診断シーケンスセットのシミュレーションテストを行った後、前記第2診断シーケンスセットへの診断更新通知を前記診断コントローラに送信する。
これによれば、診断シーケンスセットのシミュレーションテストを行ってからエッジシステムに適用するので、診断シーケンスセットの更新を安全に行うことができる。
【0096】
(事項5)
事項1に記載の分散システムであって、
前記診断コントローラは:
前記第1診断シーケンスセットおよび前記第2診断シーケンスセットを含む複数の診断シーケンスセットのデータを指定可能に格納したシーケンスメモリを備え、
前記シーケンスメモリにおける指定先を変更することにより、前記第1診断シーケンスセットから前記第2診断シーケンスセットに変更する。
これによれば、複数の診断シーケンスセットを予め設定しておき、どの診断シーケンスセットを用いるかをポインタによって指定できるので、診断シーケンスセットを容易に更新することができる。
【0097】
(事項6)
事項5に記載の分散システムであって、
前記シーケンスメモリには、診断シーケンスセットを追加可能な空き領域があり、
前記診断データ計算機は、前記決定した情報種別およびタイミングを規定する診断シーケンスを含み、前記シーケンスメモリに格納されていない第4診断シーケンスセットへの診断更新通知を前記診断コントローラに送信し、
前記診断コントローラは:
前記第4診断シーケンスセットのデータを前記空き領域に記録し、
前記シーケンスメモリにおける指定先を変更することにより、前記第1診断シーケンスセットから前記第4診断シーケンスセットに変更する。
これによれば、シーケンスメモリに予め格納されていない診断シーケンスセットへも更新することができる。
【0098】
(事項7)
事項1に記載の分散システムであって、
前記エッジシステムは自動車であり、
前記エッジ内コントローラはエレクトロニックコントロールユニットである。
これによれば、処理能力が低い自動車のECUに与える、診断を実行することによる負荷を低減することができる。
【0099】
なお、上述した実施例は、本発明の説明のための例示であり、本発明の範囲をそれらの実施例のみに限定する趣旨ではない。当業者は、本発明の範囲を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【符号の説明】
【0100】
10…エッジ内コントローラ、12…エッジデバイス、13…設計データ、101…製造会社サーバ、102…エッジ機能更新内容生成処理部、103…機能更新指示処理部、104…診断クラウドサーバ、105…状態診断処理部、106…要因分析処理部、107…診断処理更新指示部、108…エッジシステム、109…通信制御部、110…データ通信ネットワーク、111…センサ部、112…認識演算部、113…診断制御部、114…機器内通信処理部、115…アクチュエータ制御部、116…診断データインタフェース、117…診断メモリマップ、118…シーケンス更新処理部、119…診断シーケンス制御処理部、120…シーケンスメモリ、121…通信ネットワーク、122…機構部、200…診断クラウドサーバ、201…診断シーケンス作成処理部、202…診断シーケンスシミュレーション部、203…診断シーケンス格納メモリ、204…診断処理更新指示部、205…診断制御部、206…シーケンス更新処理部、207…シーケンスメモリ、400…計算機、401…プロセッサ、402…メモリ、403…外部記憶装置、404…音声出力装置、405…生体情報入力装置、406…入力装置、407…出力装置、408…通信装置、1000…分散システム
図1
図2
図3
図4
図5
図6