JP6360016B2 - 診断装置、診断システム、機器、及び、診断方法 - Google Patents

診断装置、診断システム、機器、及び、診断方法 Download PDF

Info

Publication number
JP6360016B2
JP6360016B2 JP2015166892A JP2015166892A JP6360016B2 JP 6360016 B2 JP6360016 B2 JP 6360016B2 JP 2015166892 A JP2015166892 A JP 2015166892A JP 2015166892 A JP2015166892 A JP 2015166892A JP 6360016 B2 JP6360016 B2 JP 6360016B2
Authority
JP
Japan
Prior art keywords
index
index data
diagnostic
template
motion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2015166892A
Other languages
English (en)
Other versions
JP2017045257A (ja
Inventor
韵成 朱
韵成 朱
沖田 英樹
英樹 沖田
花岡 誠之
誠之 花岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2015166892A priority Critical patent/JP6360016B2/ja
Priority to US15/234,798 priority patent/US20170063997A1/en
Publication of JP2017045257A publication Critical patent/JP2017045257A/ja
Application granted granted Critical
Publication of JP6360016B2 publication Critical patent/JP6360016B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0808Diagnosing performance data
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01MTESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
    • G01M17/00Testing of vehicles
    • G01M17/007Wheeled or endless-tracked vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01MTESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
    • G01M99/00Subject matter not provided for in other groups of this subclass
    • G01M99/008Subject matter not provided for in other groups of this subclass by doing functionality tests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39412Diagnostic of robot, estimation of parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Manipulator (AREA)

Description

本発明は、診断装置、診断システム、機器、及び、診断方法に関する。
通信技術の発達により、既存の情報関連機器以外の様々な機器もインターネットに接続されるようになっている。このようなインターネットに介してあらゆる機器の情報疎通を提供する技術がIoT(Internet of Things)と呼ばれ、接続機能を持つ機器がIoT機器と呼ばれる。IoT機器が普及し、社会インフラの一部になり、その動作品質が人々の生活品質に繋がっているため、その動作品質の保証が重要である。
このため、IoT機器の動作品質を診断することにより、IoT障害の発生を予防できるようになる。また、IoT機器の障害発生前に整備計画を立案できるようになる。
IoT機器の動作品質を診断する技術として、ネットワークを介して仮想生物を診断する方法が存在する。従来、仮想生物のソフトウェアまたはハードウェアの状態を診断するのに必要なデータを、通信路を介して送信し、診断用データの解析結果に基づいて仮想生物の状態を診断する方法が提案されている(例えば、特許文献1参照)。
また、IoT機器に対する操作を診断する技術として、車両操作診断方法が存在する。従来、車両の走行データと該走行データの走行が行われた際の周辺環境を表す情報を取得し、運転者の車両操作が行われた際の前記車両の周辺環境に対応する走行データの履歴を抽出し、前記取得された走行データと前記抽出された走行データの履歴に基づいて、運転者の車両操作を診断する車両操作診断手段が提案されている(例えば、特許文献2参照)。
また、蓄積データの履歴から特定される運転行動パターンを分類することで生成された複数のテンプレートを備え、該テンプレートと取得された運転データとを比較することで、案内ポイントでの運転者の行動を推定する技術が提案されている(例えば、特許文献3参照)。
特開2001−282570号公報 特開2013−003887号公報 特開2006−133216号公報
しかしながら、特許文献1に挙げられたようなIoT機器の動作品質を診断する技術では、IoT機器の動作を中断し、IoT機器が診断プログラムによって既定された動作を実行し、診断データを生成する必要がある。そのため、診断時に中断によるロスコストが発生し、頻繁に診断を行うことが困難である。
また、特許文献2に挙げられたようなIoT機器に対する操作を診断する技術では、IoT機器の動作を中断することなく、周辺環境と動作データを用いてIoT機器に対する操作の妥当性を診断でき、また、所定の車両操作を診断することは可能であるが、複数の異なる車両操作に対して診断方法を切り替えることができない。このため、このような技術をIoT機器の動作品質診断に適用したとしても、高精度な診断が困難である。
これは、IoT機器の動作品質診断を実行する場合、IoT機器の動作の種類ごとに診断する方法を切り変える必要があるためである。これは、例えば、IoT機器の一部のパーツは特定の動作時のみ、その劣化の特徴が一部の診断指標値の正常動作時の指標値からのかい離として現れる。そのため、あらゆる動作を、同じ診断指標を分析する同じ診断方法を用いて診断した場合、上記劣化の特徴が診断指標全体に含まれるノイズに埋もれてしまい、動作品質劣化を正確に診断できなくなる可能性があるためである。
また、特許文献3に挙げられたような技術を用いた場合、運転者の行動を推定できるが、運転者の行動による自動車の動作を診断することができない。
本発明は、上記の点を鑑みてなされたものであり、IoT機器と動作品質診断装置とを含むシステムにおいて、動作品質劣化が発生したIoT機器を高精度で診断することを目的とする。
上記課題を解決するために、本発明は、診断装置であって、プロセッサと、メモリと、機器が出力するデータを受け付けるインターフェースと、を有し、前記機器が測定した物理量の結果を示す指標データ、及び、前記機器による動作の内容を示す指標データの少なくとも一つを示す動作指標を、前記インターフェースを介して受け付け、前記受け付けた動作指標を前記メモリに格納し、前記機器の動作を推定するために必要な前記指標データを示すテンプレートと、前記受け付けた動作指標とを照合することによって、前記機器の動作を推定し、前記推定した動作を診断するために必要な指標データを、前記受け付けた動作指標から抽出し、前記抽出した指標データに基づいて前記推定した動作の品質を診断する。
本発明によれば、動作品質劣化が発生した機器を高精度に診断できる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
実施例1の診断システムの構成を示す説明図である。 実施例1のロボットの構成を示すブロック図を示す。 実施例1のロボットが保持するアクチュエータ情報テーブルの例を示す説明図である。 実施例1のロボットが保持するセンサ情報テーブルの例を示す説明図である。 実施例1のロボットが保持する動作テンプレート情報テーブルの例を示す説明図である。 実施例1のロボットが保持する動作指標情報テーブルの例を示す説明図である。 実施例1のロボットの動作指標送信プログラムによる具体的な処理を示すフローチャートである。 実施例1の診断装置の構成を示すブロック図である。 実施例1の診断装置が保持する環境指標情報テーブルの例を示す説明図である。 実施例1の診断装置が保持する動作効率指標情報テーブルの例を示す説明図である。 実施例1の診断装置が保持する動作指標履歴テーブルの例を示す説明図である。 実施例1の診断装置の動作品質診断プログラムによる具体的な処理を示すフローチャートである。 実施例2の診断システムの構成を示す説明図である。 実施例2の診断装置の構成を示すブロック図である。 実施例2の診断装置が保持する動作テンプレート情報テーブルの例を示す説明図である。 実施例2の診断装置が実施する動作品質診断プログラムの具体的な処理を示すフローチャートである。
以下、本発明の実施の形態を、図面を用いて説明する。
なお、以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明などの関係にある。
また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合及び原理的に明らかに特定の数に限定される場合などを除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良いものとする。
さらに、以下の実施の形態において、その構成要素(要素ステップなどを含む)は、特に明示した場合及び原理的に明らかに必須であると考えられる場合などを除き、必ずしも必須のものではない。
さらに、以下に示した実施の形態は単独で適用してもよいし、複数もしくはすべての実施の形態を組み合わせて適用しても構わない。
本実施例では、複数のロボットとロボットの動作品質を診断する診断装置とを含むロボット診断システムに関する。本実施例のロボットは、通信手段を介して動作指標を診断装置に送信する。
また、本実施例の診断装置は、受信した動作指標によりロボットの動作パターンを推定し、推定結果に基づいて、あらかじめ決まった動作指標の履歴を抽出し、受信した動作指標と履歴とに基づいてロボットの動作品質劣化を診断する。
本実施例の動作パターンとは、少なくとも一つの動作を含み、ロボットの動作の単位である。例えば、動作パターンが歩行である場合、動作パターンには、右腿を前方にあげる動作と、右足を地面におろす動作とが含まれる。以下において、本実施例の診断装置は、ロボットの少なくとも一つの動作を推定するが、これを、動作パターンを推定するとして記載する。
図1は、実施例1の診断システムの構成を示す説明図である。
本実施例のシステム構成は、図1に示すように、複数のロボット101と、動作指標の指標データを送信する通信手段102と、診断装置103と、表示装置104とを含む。
診断装置103は、通信手段102を経て、ロボット101から動作指標を取得し、各ロボットの動作品質が劣化しているかを診断する。また、診断装置103は、動作品質の診断結果を表示装置104に提供する。表示装置104は、ディスプレイ又はプリンタ等の出力装置を有する。
ロボット101は、実施例1のIoT機器である。ロボット101は、能動的に動作する機器である。ロボット101は、自らの動作の結果を示す指標、及び、動作中の環境を示す指標を、動作指標として診断装置103に送信する。
通信手段102は、信号を中継する手段であればいかなる手段であってもよい。通信手段102は、例えば、通信ネットワークであってもよいし、サーバであってもよいし、記録メディアであってもよい。
通信手段102がサーバである場合、このサーバは、複数のロボット101から動作指標を取得し、取得した動作指標をまとめて診断装置103に提供してもよい。また、通信手段102が記録メディアである場合、ロボット101が記録メディアに動作指標を格納し、管理者等がこの記録メディアを用いて診断装置103に動作指標を格納してもよい。
ロボット101は、常時通信手段102と接続してもよいし、動作指標の送信が必要な時だけ通信手段102と接続してもよい。
図2は、実施例1のロボット101の構成を示すブロック図を示す。
ロボット101は、メモリ201、及び、CPU202を含むコンピュータの機能を有する。さらに、実施例1のロボット101は、動作品質診断に必要とされる機能を、プログラムソフトウェア又はファームウェアによって実装する。ロボット101のCPU202は、ロボット101のメモリ201上に前述のプログラムソフトウェア又はファームウェアを展開し、実行する。
メモリは、不揮発性の記憶素子であるROM及び揮発性の記憶素子であるRAMを含む。ROMは、不変のプログラム(例えば、BIOS)などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、補助記憶装置に格納されたプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
具体的には、メモリ201は、動作指標送信プログラム206及び動作効率指標計算プログラム207等を格納する。これらのプログラムによって機能ブロックが実装される。
また、ロボット101は、あらかじめ開発者によって定められたようなロボットの動作を実行するアクチュエータ203と、外部環境及びアクチュエータ203の情報を測定するセンサ204と、通信手段102に接続する通信I/F205とを含む。
実施例1のロボット101のメモリ201は、動作指標送信プログラム206と動作効率指標計算プログラム207とを格納する。さらに、ロボット101のメモリ201は、アクチュエータ203の状態情報を格納するアクチュエータ情報テーブル208と、センサ204が取得したデータを格納するセンサ情報テーブル209と、動作パターンのテンプレートを格納する動作テンプレート情報テーブル210と、動作パターンが対応する動作指標の項目を格納する動作指標情報テーブル211とを格納する。
動作パターンが対応する動作指標とは、動作パターンをロボット101が実行した際に取得された指標データを含む情報である。
なお、実施例1において、一つのロボット101が、前述のプログラム及び情報をメモリ201に格納する構成を示す。しかし、実施例1のロボット101は、前述のメモリ201に格納される情報を外部記憶装置(図示なし)に格納してもよい。そして、CPU202は、前述のプログラムの処理の都度、必要な情報を外部記憶装置から読み出し、さらに、それぞれの処理が終了するごとに外部記憶装置に結果を格納してもよい。
ロボット101の外部記憶装置は、例えば、磁気記憶装置(HDD)、フラッシュメモリ(SSD)等の大容量かつ不揮発性の記憶装置である。通信I/F205は、所定のプロトコルに従って、他の装置との通信を制御するネットワークインターフェース装置である。
CPU202が実行するプログラムは、リムーバブルメディア(CD−ROM、フラッシュメモリなど)又はネットワークを介してロボット101に提供され、非一時的記憶媒体である外部記憶装置に格納される。このため、ロボット101は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
ロボット101は、物理的に一つのコンピュータ上で、又は、論理的又は物理的に複数のコンピュータ上で構成されるコンピュータシステムを有しても良く、前述したプログラムが、同一のコンピュータ上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。
また、動作指標送信プログラム206及び動作効率指標計算プログラム207による機能は、集積回路等の物理装置によって実装されてもよい。たとえば、ロボット101は、動作指標送信プログラム206の機能を有する動作指標送信部を有してもよい。
以上のような情報の格納方法の違いは、本発明の本質には影響を与えない。
図3は、実施例1のロボット101が保持するアクチュエータ情報テーブル208の例を示す説明図である。
アクチュエータ情報テーブル208は、アクチュエータ情報を含む。アクチュエータ情報は、ロボット101が動作した際の動作の内容を示す指標データである。
アクチュエータ情報は、アクチュエータ203の識別子を示すアクチュエータID301と、アクチュエータ203の意味を示すアクチュエータ名302と、アクチュエータ203の状態を示すアクチュエータ状態303と、を含む。
アクチュエータID301は、アクチュエータ情報における指標データの項目を示し、アクチュエータ状態303は、アクチュエータ情報における指標データの値を示す。
アクチュエータ名302は、アクチュエータ203が制御するロボット101の部位の名称であってもよい。アクチュエータ名302は、説明と管理の簡便化とのための情報であり、アクチュエータ情報テーブル208に含まれなくてもよい。
図3に示すアクチュエータ状態303は、「存在しない(Null)」、数値、又は、バイナリデータ(音声データ)のいずれかを示す。「存在しない(Null)」とは、アクチュエータID301が示すアクチュエータ203が動作中ではない状態を示す。
また、アクチュエータ203からデータを取得できない場合、動作指標送信プログラム206は、アクチュエータ状態303に「Null」を格納し、アクチュエータID301にデータを取得できなかったアクチュエータ203のIDを格納するエントリを、アクチュエータ情報に追加してもよい。
図3に示す例以外に、アクチュエータ状態303は、他の任意のフォーマットにより表現される値を格納してもよい。
アクチュエータ状態303は、例えば、アクチュエータ203がロボット101の部位を動作させる程度を数値で示してもよいし、アクチュエータ203がロボット101の部位を介して出力する音声の内容をバイナリデータによって示してもよい。
図4は、実施例1のロボット101が保持するセンサ情報テーブル209の例を示す説明図である。
センサ情報テーブル209はセンサ情報を含む。センサ情報は、ロボット101が動作した際にセンサ204が測定した物理量の結果を示す指標データである。
センサ情報は、センサ204の識別子を示すセンサID401と、センサ204の意味を示すセンサ名402と、センサ204が収集したデータを示すセンサデータ403と、を含む。
センサID401は、センサ情報における指標データの項目を示し、センサデータ403は、センサ情報における指標データの値を示す。
センサ名402は、センサID401が示すセンサ204が測定する内容を示してもよい。センサ名402は、説明と管理の簡便化とのための情報であり、センサ情報テーブル209に含まれなくてもよい。
センサデータ403は、センサ204が測定した物理量の結果を示す。図4に示すセンサデータ403は、「存在しない」(Null)、単位を含む数値、及び、バイナリデータ(画像データ、音声データ)のいずれかである。「存在しない」とは、センサID401が示すセンサ204が動作中ではない状態を示す。
また、センサ204からデータを取得できない場合、動作指標送信プログラム206は、センサデータ403に「Null」を格納し、アクチュエータID301にデータを取得できなかったセンサ204のIDを格納するエントリを、アクチュエータ情報に追加してもよい。
センサデータ403は、図4に示す例以外に、他の任意のフォーマットにより表現される値を格納してもよい。センサデータ403は、例えば、センサ204が撮影した画像データであってもよいし、センサ204が測定した気温であってもよい。
図3のアクチュエータ情報テーブル208及び図4のセンサ情報テーブル209は、最新のアクチュエータ情報及びセンサ情報を含む。しかし、本実施例のアクチュエータ情報テーブル208及びセンサ情報テーブル209は、後述する動作結果情報を算出するため、必要に応じて過去の一定期間に取得されたアクチュエータ情報及びセンサ情報を含んでもよい。
本実施例において、ロボット101の動作の種類ごとに、発生するアクチュエータ情報及びセンサ情報の組み合わせ、及び、発生したアクチュエータ情報及びセンサ情報の値は異なる。このため、後述のロボット101及び診断装置103は、ロボット101の動作を特定するための指標データとして、アクチュエータ情報及びセンサ情報を用いる。
図5は、実施例1のロボット101が保持する動作テンプレート情報テーブル210の例を示す説明図である。
動作テンプレート情報テーブル210は、動作テンプレート情報を含む。動作テンプレート情報は、ロボット101の動作パターンを推定するために必要な指標データ(アクチュエータ情報及びセンサ情報)の組み合わせを示す。
動作テンプレート情報は、テンプレートID501、テンプレート名502、Null項目リスト503及び非Null項目リスト504を含む。テンプレートID501は、動作テンプレートの識別子を示し、動作パターンを一意に示す。
テンプレート名502は、動作テンプレートが対応する動作パターンの意味を示す。テンプレート名502は、ロボット101の動作パターンの名称を示してもよい。テンプレート名502は、説明と管理の簡便化とのための情報であり、動作テンプレート情報テーブル210に含まれなくてもよい。
Null項目リスト503は、テンプレート照合時に発生すべきでないアクチュエータ情報及びセンサ情報の項目(本実施例において識別子)を示す。非Null項目リスト504は、テンプレート照合時に発生すべきアクチュエータ情報及びセンサ情報の項目(本実施例において識別子)を示す。
図5においてテンプレートID501が「T001」を示すエントリは、ロボット101が動作パターン「歩行(Walk)」を実行した際、値がNullであるセンサ情報又はアクチュエータ情報は一つも発生せず、かつ、Image Sensor(センサIDが「S001」)のセンサ情報と、Left Ankle Pitch(アクチュエータIDが「A021」)のアクチュエータ情報となどは、必ず発生することを示す。
ロボット101及び診断装置103は、動作テンプレート情報と、取得したセンサ情報及びアクチュエータ情報とを照合することにより、発生した指標データ及び発生していない指標データを特定し、特定結果に従ってロボット101が実行した動作パターンを推定する。
このように、動作テンプレート情報は、ロボット101による動作を、指標データに従って推定できる動作パターンとして定義する。そして、図5に示す動作テンプレート情報は、指標データが発生するか否かによって動作パターンを推定する方法に用いられる。しかし、本実施例の動作テンプレート情報は、これ以外にも、他の任意の条件で動作テンプレートと照合するための情報であってもよい。
例えば、非Null項目リスト504が、指標データの値の範囲を示してもよい。そして、ロボット101及び診断装置103は、取得した指標データの値が特定のエントリの非Null項目リスト504の値の範囲に含まれている場合、当該エントリの動作パターンが実行されたと推定してもよい。
図6は、実施例1のロボット101が保持する動作指標情報テーブル211の例を示す説明図である。
動作指標情報テーブル211は、動作指標情報を含む。動作指標情報は、診断装置103に送信すべき指標データを、動作パターンごとに示す。
動作指標情報は、テンプレートID501、環境指標リスト601、及び、動作効率指標リスト602を含む。テンプレートID501は、動作テンプレートの識別子を示し、動作パターンを一意に示す。
環境指標リスト601は、テンプレートID501が示す動作パターンに該当する指標データが取得された時に診断装置103に送信するセンサ情報(環境指標)を示す。動作効率指標リスト602は、テンプレートID501が示す動作パターンに該当する指標データが取得された時に診断装置103に送信する動作効率指標を示す。
環境指標とは、ロボット101が動作する時の外部環境の状態を示すセンサデータである。また、動作効率指標とは、ロボット101の動作に伴って変化する量であり、動作結果を示すデータである。
動作効率指標は、アクチュエータ情報を含み、また、必要に応じて、アクチュエータ情報及びセンサ情報の少なくとも一つに基づいて算出される動作結果情報を含む。動作結果情報は、指標データであり、例えば、ロボット101の移動距離、及び、発熱量等である。動作結果情報は、動作効率指標計算プログラム207によって算出される。
図6においてテンプレートID501が「T001」を示すエントリは、動作パターン「歩行」に対応するテンプレートT001(Walk)に該当する指標データを取得した場合、ロボット101が、Image Sensor(センサIDが「S001」)と、Sonar(センサIDが「S003」)と、Outer Temperature(センサIDが「S004」)と、のセンサ情報(特にセンサデータ403)等を環境指標として診断装置103に送信し、さらに、動作効率指標計算プログラム207による計算I(識別子:C001)の結果と、Left Ankle Pitch(アクチュエータIDが「A021」)と、Left Ankle Roll(アクチュエータIDが「A022」)とのアクチュエータ情報(特にアクチュエータ状態303)等を動作効率指標として診断装置103に送信することを示す。
動作結果情報は、動作効率指標計算プログラム207によって算出され、例えば、アクチュエータ状態303及びセンサデータ403の少なくとも一つと、動作効率指標リスト602において指定される方法とを用いて算出される。また、動作効率指標計算プログラム207は、他のロボット101又は他の機器が取得した情報を用いて、動作結果情報を算出してもよい。
例えば、動作効率指標計算プログラム207は、GPSセンサのデータを用いてロボット101の移動速度を、動作結果情報として算出してもよい。
動作指標情報テーブル211を用いて診断装置103に送信する動作指標の内容を定義することにより、ロボット101は、診断に不要な指標データを診断装置103に送信することがなく、必要なネットワーク帯域を低減できる。
図7は、実施例1のロボット101の動作指標送信プログラム206による具体的な処理を示すフローチャートである。
ステップ701において、ロボット101は、一定時間経過をトリガーに、動作指標送信プログラム206を起動する。ロボット101は、一定時間経過の他、センサ204又はアクチュエータ203から出力されるアラーム等の他の情報をトリガーとして、動作指標送信プログラム206を起動してもよい。
ステップ701の後、動作指標送信プログラム206は、アクチュエータ203及びセンサ204から最新の情報(アクチュエータ状態及びセンサデータ)を取得し、アクチュエータ情報テーブル208とセンサ情報テーブル209とに取得した情報を各々格納する(702)。
また、ここで、動作指標送信プログラム206は、取得元のアクチュエータ203及びセンサ204に従って、アクチュエータID301、アクチュエータ名302、センサID401、及び、センサ名402に値を格納する。
なお、動作指標送信プログラム206は、ステップ702を実行した後、最新のアクチュエータ情報及びセンサ情報を、動作指標として診断装置103に送信してもよい。これにより、ロボット101が指標データに基づいて動作テンプレートを特定する必要がなく、ロボット101における処理の負荷を低減できる。また、診断装置103は、ロボット101によって精査された指標データを用いて動作パターンを推定できるため、正確に動作パターンを推定でき、精度の高い診断を行うことができる。
この場合、診断装置103に送られる動作指標には、動作パターンに対応しない指標データが含まれる。しかし、診断装置103は、診断に必要な指標データを受信した動作指標から抽出するため、不要な指標データを診断に用いない。
ステップ702の後、動作指標送信プログラム206は、動作テンプレート情報テーブル210に含まれるエントリの先頭から順に、Null項目リスト503及び非Null項目リスト504と、アクチュエータ情報テーブル208及びセンサ情報テーブル209とを照合し、最新のアクチュエータ情報及びセンサ情報に該当する動作テンプレートを特定する。そして、動作指標送信プログラム206は、最新のアクチュエータ情報及びセンサ情報に該当する動作テンプレートを特定できるかを判定する(703)。
具体的には、動作指標送信プログラム206は、まず、動作テンプレート情報テーブル210のエントリの中から、Null項目リスト503又は非Null項目リスト504が示すアクチュエータID及びセンサIDが、アクチュエータ情報テーブル208及びセンサ情報テーブル209に含まれるエントリを特定する。
そして、動作指標送信プログラム206は、特定したエントリのNull項目リスト503が示す指標データが、アクチュエータ情報テーブル208及びセンサ情報テーブル209において「Null」を示し、特定したエントリの非Null項目リスト504が示す指標データが、アクチュエータ情報テーブル208及びセンサ情報テーブル209において「Null」以外の値を示す場合、特定したエントリのテンプレートID501を、最新のアクチュエータ情報及びセンサ情報に該当する動作テンプレートとして特定する。
例えば、Null項目リスト503が示す指標データが、アクチュエータ情報テーブル208及びセンサ情報テーブル209においてNull値以外の値である場合、動作指標送信プログラム206は、当該Null項目リスト503のエントリの動作テンプレートを該当する動作テンプレートとして特定しない。
動作指標送信プログラム206は、該当する動作テンプレートを特定できない場合、図7に示す動作指標送信プログラム206の処理を終了する。
動作指標送信プログラム206は、該当する動作テンプレートを特定できた場合、動作指標情報テーブル211に該当する動作テンプレートのテンプレートID501を取得する。そして、取得したテンプレートID501を含む動作指標情報テーブル211のエントリの動作効率指標リスト602が、計算が必要な項目(例えば、図6に示す計算I等)を含むかを判定する(704)。
動作効率指標リスト602が、計算が必要な項目を含む場合、動作指標送信プログラム206は、動作効率指標計算プログラム207を呼び出す。そして、動作効率指標計算プログラム207は、動作効率指標リスト602が示す計算を実行し、動作効率指標を算出する(705)。
ステップ704において動作効率指標リスト602が、計算が必要な項目を含まないと判定された場合、及び、ステップ705の後、動作指標送信プログラム206は、動作指標を、通信I/F205及び通信手段102を介して診断装置103に送信する(706)。
ここで、動作指標は、動作指標送信プログラム206が属する個体の識別子であるロボットIDと、ステップ703において特定した該当する動作テンプレートが示すアクチュエータID301及びアクチュエータ状態303と、該当する動作テンプレートが示すセンサID401及びセンサデータ403とを、少なくとも含む。また、動作指標は、必要に応じて、該当する動作テンプレートが示す動作結果情報の識別子と値とを含む。
なお、動作指標送信プログラム206は、ステップ706において、動作指標に含めるため、該当する動作テンプレートが示すアクチュエータID301及びアクチュエータ状態303を、アクチュエータ情報テーブル208から抽出し、さらに、該当する動作テンプレートが示すセンサID401及びセンサデータ403を、センサ情報テーブル209から抽出する。
ステップ706の後、動作指標送信プログラム206は、処理を終了する。
図8は、実施例1の診断装置103の構成を示すブロック図である。
診断装置103は、CPU802、メモリ801、及び外部記憶装置805を有するコンピュータを含む。
実施例1の診断装置103の機能は、コンピュータの外部記憶装置805にプログラムソフトウェアとして格納される。そして、機能開始時、CPU802が、メモリ801上にプログラムソフトウェアを展開することにより実行される。
また、診断装置103は、入出力インターフェース803及び通信I/F804の少なくとも一方を介して通信手段102と表示装置104とに接続する。
メモリ801は、不揮発性の記憶素子であるROM及び揮発性の記憶素子であるRAMを含む。ROMは、不変のプログラム(例えば、BIOS)などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、補助記憶装置に格納されたプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
メモリ801は、動作品質診断プログラム806を格納する。さらに、メモリ801は、動作パターンのテンプレートを格納する動作テンプレート情報テーブル807と、動作パターンに対応する環境指標を格納する環境指標情報テーブル808と、動作パターンに対応する動作効率指標を格納する動作効率指標情報テーブル809と、過去に受信した動作指標を格納する動作指標履歴テーブル810とを格納する。
なお、本実施例では前述のプログラム及び情報を単一のコンピュータのメモリ801上に格納する構成を示した。しかし、前述の情報を外部記憶装置805に格納し、上記プログラムの処理のつど前述の情報を外部記憶装置805から読み込み、それぞれの処理が完了するごとに外部記憶装置805に格納する構成を取ることも可能である。
また、前述のプログラム及び情報を複数のコンピュータに分散して格納することも可能である。例えば前述の情報をそれぞれリレーショナルデータベースのテーブルとして実装して診断装置103とは異なるデータベースサーバに格納し、診断装置103上で実行された前述のプログラムがデータベースサーバ上の情報を参照及び更新することも可能である。以上のような情報の格納方法の違いは、本発明の本質には影響を与えない。
外部記憶装置805は、例えば、磁気記憶装置(HDD)、フラッシュメモリ(SSD)等の大容量かつ不揮発性の記憶装置である。入出力インターフェース803は、表示装置104と所定のプロトコルに従って通信するインターフェース装置である。通信I/F804は、所定のプロトコルに従って、他の装置との通信を制御するネットワークインターフェース装置である。
診断装置103が保持する動作テンプレート情報テーブル807は、ロボット101が保持する動作テンプレート情報テーブル210のNull項目リスト503及び非Null項目リスト504に相当する内容を含めば、動作テンプレート情報テーブル210と同じ形式でもよいし、違う形式でもよい。また、同じ形式の場合、格納した内容が同じでもよいし、異なってもよい。
これは、ロボット101が保持する動作テンプレート情報テーブル210の内容と、診断装置103が保持する動作テンプレート情報テーブル807の内容とが、厳密に同期されている必要がないためである。特に、テンプレートID501の文字列自体が同期されている必要はなく、動作テンプレート情報テーブル807は、同じテンプレート名502を示すテンプレートIDを保持できれば、いかなるテンプレートIDを有してもよい。
CPU802が実行するプログラムは、リムーバブルメディア(CD−ROM、フラッシュメモリなど)又はネットワークを介して診断装置103に提供され、非一時的記憶媒体である外部記憶装置805に格納される。このため、診断装置103は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
診断装置103は、物理的に一つの計算機上で、又は、論理的又は物理的に複数の計算機上で構成される計算機システムであり、前述したプログラムが、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。
また、動作品質診断プログラム806の機能は、物理的な集積装置によって診断装置103に実装されてもよい。具体的には、診断装置103は、動作品質診断プログラム806の機能を有する動作品質診断部を有してもよい。
図9は、実施例1の診断装置103が保持する環境指標情報テーブル808の例を示す説明図である。
環境指標情報テーブル808は、環境指標情報を含む。環境指標情報は、動作パターンを診断するために必要なセンサ情報の項目を示す。また、環境指標情報は、類似する環境(類似環境)において測定されると予測されるセンサデータの値の範囲を、類似環境において行われた動作パターンごとに示す。
診断装置103は、環境指標情報を参照することによって、基準とはならない環境において行われた動作パターンについて取得された指標データを、診断に用いる指標データから除外できる。そしてこれにより、精度の高い診断を行うことができる。
環境指標情報は、動作テンプレートの識別子を示すテンプレートID501と、環境指標(センサデータ)の識別子(センサID)を示す環境指標ID901と、類似環境において測定されたセンサデータを判定する閾値の下限を示す下限レート902と、類似環境において測定されたセンサデータを判定する閾値の上限を示す上限レート903と、を含む。
環境指標ID901は、テンプレートID501が示す動作パターンを診断するために必要な環境指標の識別子を示す。言い換えれば、環境指標ID901は、動作パターンを診断するために必要な指標データの項目を示す。なお、環境指標情報は、管理者又は運用者等によりあらかじめ定められる。
図10は、実施例1の診断装置103が保持する動作効率指標情報テーブル809の例を示す説明図である。
動作効率指標情報テーブル809は、動作効率指標情報を含む。動作効率指標情報は、各動作パターンを診断するために必要な動作効率指標を示す。動作効率指標情報は、動作テンプレートの識別子を示すテンプレートID501と、診断に使う指標データを示す動作効率指標リスト1001と、を含む。
図10に示す動作効率指標リスト1001は、アクチュエータID、及び、動作結果情報の識別子を示す。言い換えれば、動作効率指標リスト1001は、動作パターンを診断するために必要な指標データの項目を示す。
なお、動作効率指標情報は、管理者又は運用者等によりあらかじめ定められる。このため、動作効率指標リスト1001は、必要に応じてセンサIDを示してもよい。また、ロボット101が動作結果情報を算出しない場合、動作効率指標リスト1001は、動作結果情報を示さなくてもよい。
図11は、実施例1の診断装置103が保持する動作指標履歴テーブル810の例を示す説明図である。
動作指標履歴テーブル810は、動作指標履歴を含む。動作指標履歴は、ロボット101の動作の品質が所定の状態である場合に取得された指標データの値を、ロボット101及び動作パターンごとに示す。実施例1における所定の状態とは、正常状態であり、動作の品質が劣化していない状態である。
動作指標履歴は、送信元のロボットの識別子を示すロボットID1101と、指標データを受信した時刻を示す受信時刻1102と、指標データが該当する動作パターンを示すテンプレートID501と、指標データの内容及び値を示す受信データ1103と、を含む。
図11に示す動作指標履歴は、後述の図12を示す処理によって動作の品質が劣化していないと診断された指標データを示し、図12に示す処理によってエントリが追加更新される。しかし、本実施例の動作指標履歴は、管理者又は運用者等によりあらかじめ定められてもよいし、また、過去に診断された指標データと、管理者又は運用者等により定められた指標データを含んでもよい。
図12は、実施例1の診断装置103の動作品質診断プログラム806による具体的な処理を示すフローチャートである。
ステップ1201において、診断装置103のCPU802は、新たな動作指標を受信したことをトリガーとして、動作品質診断プログラム806を起動する。なお、診断装置103は、記憶媒体によって動作指標を受け付けた場合も、動作指標を受信したと判定し、動作品質診断プログラム806を起動してもよい。
また、ステップ1201において、動作品質診断プログラム806は、受信した動作指標をメモリ801に格納し、必要に応じて外部記憶装置805に格納する。
ステップ1201の後、動作品質診断プログラム806は、動作テンプレート情報テーブル807に含まれるエントリの先頭から順に、Null項目リスト及び非Null項目リストと、受信した動作指標の指標データとを照合し、受信した動作指標の指標データに該当する動作テンプレートを特定する。そして、受信した動作指標に該当する動作テンプレートを特定できるかを判定する(1202)。
ステップ1202において特定する方法は、ステップ703と同様である。具体的には、動作品質診断プログラム806は、Null項目リスト及び非Null項目リストが示す指標データが、受信した動作指標に各々Null値の指標データ及びNull値ではない指標データとして含まれる動作テンプレートを、該当する動作テンプレートとして特定する。
しかし、動作テンプレート情報テーブル807は、Null項目リスト及び非Null項目リストに、動作結果情報の識別子を含んでもよい。そして動作品質診断プログラム806は、受信した動作指標に含まれる動作結果情報の識別子が動作テンプレート情報テーブル807に含まれるかに従って、動作テンプレートを特定してもよい。
ステップ1202によって、動作品質診断プログラム806は、ロボット101から受信した動作指標に、動作テンプレート情報テーブル807が示す指標データが含まれるか否かを特定し、その結果、動作テンプレートを特定することによってロボット101の動作パターンを推定する。
そして、ステップ1202を実行することによって、動作品質診断プログラム806は、ロボット101が動作する際に発生したセンサ情報及びアクチュエータ情報(並びに動作結果情報)の項目に従って動作パターンを推定するため、ロボット101及び診断装置103間でテンプレートIDを同期しておく必要がない。このため、ロボット101及び診断装置103の少なくとも一つが設定を変更した場合も、動作品質診断プログラム806は正確に動作を推定できる。
受信した動作指標に該当する動作テンプレートを特定できない場合、動作品質診断プログラム806は、処理を終了する。
受信した動作指標に該当する動作テンプレートを特定できた場合、動作品質診断プログラム806は、環境指標情報テーブル808及び動作効率指標情報テーブル809を参照し、特定した動作テンプレートの動作パターンを診断するために必要な指標データを、受信した動作指標の中から抽出する(1203)。
具体的には、動作品質診断プログラム806は、特定した動作テンプレートのテンプレートID501に対応する環境指標情報テーブル808の環境指標ID901から、診断するために必要な環境情報の項目(センサID)を取得する。また、特定した動作テンプレートのテンプレートID501に対応する動作効率指標情報テーブル809の動作効率指標リスト1001から、診断するために必要な動作効率指標の項目(アクチュエータID、又は、動作結果情報の識別子)を取得する。
そして、動作品質診断プログラム806は、取得した環境指標ID901の項目及び取得した動作効率指標リスト1001の項目の少なくとも一方と一致する指標データを、受信した動作指標から抽出する。これによって、動作品質診断プログラム806は、推定した動作パターンを診断するために必要な指標データを、受信した動作指標から抽出できる。
ステップ1203の後、動作品質診断プログラム806は、ステップ1202において推定された動作パターンが類似環境において行われた場合に取得された動作指標履歴であり、推定された動作パターンの品質が所定の状態(実施例1において正常状態)であると診断された動作指標履歴(履歴データA)を、動作指標履歴テーブル810から選択する(1204)。
具体的には、動作品質診断プログラム806は、ステップ1202において特定した動作テンプレートのテンプレートID510に対応する環境指標情報テーブル808のエントリを取得する。ここで取得した環境指標情報テーブル808のエントリは、ステップ1202において推定した動作パターンが類似環境において行われた場合に測定されると予測されるセンサデータの値の範囲を示す。
そして、動作品質診断プログラム806は、取得したエントリの環境指標ID901と上限レート903と下限レート902とをフィルタとし、取得したエントリの上限レート903と下限レート902とに該当する指標データ(環境指標:センサ情報)を含むエントリを、履歴データAとして動作指標履歴テーブル810から選択する。
なお、上限レート903と下限レート902とに該当する指標データとは、上限レート903と下限レート902とが示す範囲に値が含まれるセンサ情報のことである。
管理者又は運用者等は、類似環境を示す環境指標の値の範囲を環境指標情報テーブル808に任意に指定することが可能である。このため、動作品質診断プログラム806は、ステップ1204において環境指標情報テーブル808に基づいて履歴データAを選択することによって、管理者等が指定する基準を満たす環境において過去に行われた動作パターンの動作指標履歴を、受信した動作指標との比較に用いることができる。
そして、動作品質診断プログラム806は、比較に適さない環境において取得された動作指標履歴を除外することができ、これにより、より精度の高い診断が可能である。
ステップ1204の後、動作品質診断プログラム806は、履歴データAと、ステップ1203において抽出した指標データとの比較に基づいて、推定した動作パターンの品質を診断する。実施例1の動作品質診断プログラム806は、ステップ1205から1207において、履歴データAと抽出した指標データとの距離を比較に用いることによって、推定した動作パターンの品質を診断する。
ステップ1205において、動作品質診断プログラム806は、ステップ1202において特定した動作テンプレートのテンプレートID510に対応する動作効率指標リスト1001を、動作効率指標情報テーブル809から取得する。
そして、動作品質診断プログラム806は、取得した動作効率指標リスト1001が示す各指標データ(すなわち、ステップ1203において抽出した指標データ)を軸にした多次元空間を生成し、この多次元空間の中に、選択した履歴データAのクラスタを生成する(1205)。ここで生成する多次元空間の次元数は、取得した動作効率指標リスト1001が示す各指標データの項目の数と同じである。
ここで生成されるクラスタは、一つであってもよく、また、複数個に分割されたクラスタであってもよい。また、クラスタを生成する方法は、k−means法等の公知の方法であってもよい。ステップ1205においてクラスタを生成することにより、後述の処理において動作品質診断プログラム806は、複数の項目の指標データを含む動作指標と、複数の項目の動作指標履歴とを比較することができ、精度よく診断することができる。
ステップ1205の後、動作品質診断プログラム806は、ステップ1203において抽出した動作効率指標の各値が、ステップ1204において生成された多次元空間における少なくとも一つのクラスタとの距離を算出し、算出した距離が最も小さい最短距離を特定する(1206)。
ステップ1206の後、動作品質診断プログラム806は、最短距離と予め保持する所定の閾値とを比較し、最短距離が所定の閾値を超えているかを判定する(1207)。最短距離が所定の閾値を超えている場合、実施例1の動作品質診断プログラム806は、動作効率指標が正常値から外れていると判定する。そして、動作指標の送信元であるロボット101の動作品質は劣化しており、動作が異常状態であるという診断結果を、表示装置104に向けて出力する(1209)。
ステップ1208において、最短距離が所定の閾値を超えていないと判定した場合、実施例1の動作品質診断プログラム806は、動作効率指標が正常値内であると判定する。そして、受信した動作指標と該当する動作テンプレートのテンプレートIDとを、動作指標履歴テーブル810に格納する(1208)。
これによって、動作指標履歴テーブル810は、正常状態において取得された最新の動作指標を保持することができる。そして、動作品質診断プログラム806は、図12に示す処理を実行するごとに動作指標履歴テーブル810が保持するデータを増やすことによって、処理の精度を上げることができる。
ステップ1208の後、動作品質診断プログラム806は、ステップ1209において動作指標の送信元であるロボット101による動作の動作品質は劣化しておらず、正常状態であるという診断結果を表示装置104に向けて出力し、処理を終了する。
動作品質診断プログラム806は、例えば、ロボットIDと、診断時刻と、算出した距離と、診断結果とを表示するためのデータを表示装置104に出力する。
このように、実施例1において、複数のロボット101と動作品質の診断装置103とを含むシステムにおいて、ロボット101は環境指標と動作効率指標とを含む動作指標を、診断装置103に送信する。そして、診断装置103は、ロボット101から受信した動作指標における特定の指標データの有無と、あらかじめ保持する動作テンプレートとを照合することによって、ロボット101の動作パターンを推定する。
そして、動作品質診断プログラム806は、推定結果に従って、診断に用いる環境指標及び動作効率指標を抽出し、過去の受信履歴から、抽出した環境指標の項目を用いて類似環境の動作指標履歴を選択し、抽出した動作効率指標を軸にする次元空間中に選択された動作指標履歴をクラスタリングし、抽出した動作効率指標(必要に応じて環境指標)とクラスタとの最短距離とに基づいて、ロボット101の動作品質に劣化が発生しているかを判定する。
これにより、ロボット101が特定の動作パターンを行う際の動作品質の劣化を診断するために、その動作パターンに関わる指標データだけを用いるため、実施例1の動作品質診断プログラム806は、無関係な情報を診断処理のパラメータとすることにより発生するノイズを取り除くことが可能となる。
例えば、人型のロボット101が腕を回転させる動作パターンを診断する場合、診断に必要な指標データは、肩のアクチュエータ203が取得した回転率等である。しかし、脚の発熱量等の、腕の回転に影響を受けない指標データは必要ではない。
このため、実施例1の動作品質診断プログラム806は、脚の発熱量を示す指標データをノイズとして取り除くため、精度の高い診断を行うことができる。
そして、その動作パターンに関する動作指標履歴だけをクラスタ分析することで、より細かいクラスタを生成でき、従来は検出が困難だった動作品質劣化を検出可能となり、ロボット101の動作品質の劣化を高精度に検出可能である。
また、ロボット101は、アクチュエータ203のアクチュエータ情報とセンサ204のセンサ情報とを用いて、特定の指標データの有無と、予め保持しているテンプレートとを照合し、ロボット101の動作パターンを推定する。ロボット101は、推定結果に基づいて、特定の指標データのみを含む動作指標を診断装置103に送信する。
これにより、ロボット101は動作品質診断が必要となる時だけ、診断に必要な指標データのみを収集し、診断装置103に送信し、動作品質診断に使われる計算リソースと通信リソースを抑えることが可能となり、常時に動作品質の劣化を診断することが可能となる。
なお、実施例1の動作品質診断プログラム806は、診断する基準として、過去に収集し、かつ、劣化が発生していない動作指標履歴を選択した。しかし、そういった実動作から収集した動作指標履歴以外でも、メーカが指定した劣化判定範囲、又は、シミュレーションにより生成した擬似動作履歴データなどを利用することも可能である。
指定された劣化判定範囲を用いる場合、動作品質診断プログラム806は、ステップ1204〜1206の処理を実行する必要がなく、ステップ1203において抽出した動作指標の指標データと劣化判定範囲(閾値)とを比較し、動作の品質を診断してもよい。
さらに、前述の動作品質診断プログラム806は、動作品質が劣化しているか否かを判定したが、本実施例の診断装置103は、動作指標履歴テーブル810に含まれる履歴が取得された状態を任意に変更することにより、いかなる動作の状態を判定してよい。
さらに、前述の動作品質診断プログラム806は、ステップ1205において履歴データAをクラスタリングしたうえで、抽出した診断データとの距離を算出した。しかし、履歴データAに含まれるエントリの数が少ない場合、クラスタリングを行わずに距離を算出してもよい。
また、前述の動作品質診断プログラム806は、受信した動作指標から抽出した動作効率指標のみに基づいて、クラスタの生成及びクラスタとの比較を行った。しかし、必要に応じて、受信した動作指標に含まれる環境情報(センサ情報)を用いてクラスタの生成及びクラスタとの比較を行ってもよい。
実施例2の処理は、複数の自動車と自動車の動作品質を診断する診断装置とを含むシステムにおける処理である。実施例2の診断装置は、通信手段を経て複数の自動車それぞれの動作指標を取得する。そして、診断装置は、受信した動作指標の特定の項目の値と、予め保持しているテンプレートとを照合し、自動車の動作パターンを推定する。推定した動作パターンに従って、動作品質診断アルゴリズムを選択し、選択したアルゴリズムを用いて自動車の動作品質を診断する。
そのため、実施例2によれば、自動車の複数の異なる動作それぞれに、動作に関わるパーツの動作品質劣化診断に適したアルゴリズムを使用することにより、高精度な診断ができる。
実施例1における動作品質診断プログラム806は、推定した動作に従って診断のための指標データを変化させ、これによりパラメータを変更させることで診断方法を変更した。しかし、実施例2の動作品質診断プログラムは、推定した動作に従ってアルゴリズムを変更し、診断方法を変更する点において、実施例1の動作品質診断プログラムと相違する。
図13は、実施例2の診断システムの構成を示す説明図である。
なお、実施例1と重複する内容は説明を省略する。
実施例2の診断システムは、自動車1301と、通信手段102と、診断装置1302と、表示装置104を含む。実施例2の通信手段102及び表示装置104は、実施例1の通信手段102及び表示装置104と同じである。
実施例2の自動車1301は、実施例1のロボット101に相当し、ロボット101と同じく、動作を実行するIoT装置である。自動車1301とロボット101とは、同じ構成及び同じ機能を有する。
具体的には、自動車1301は、図2に示すメモリ201、CPU202、アクチュエータ203、センサ204、及び、通信I/F205を有する。また、自動車1301のメモリ201に展開されるプログラム及び情報は、図2に示すメモリ201内のプログラム及び情報と同じである。
なお、自動車1301は、アクチュエータとして、一般的な自動車が有する装置を有し、例えば、エンジン、ブレーキ及びタイヤを有する。
実施例2の診断装置1302は、実施例1の診断装置103に相当する。診断装置1302と診断装置103との相違点を、以下に述べる。
図14は、実施例2の診断装置1302の構成を示すブロック図である。
なお、実施例1の診断装置103と重複する構成については、説明を省略する。診断装置1302は、診断装置103と同じく、メモリ801、CPU802、入出力インターフェース803、通信I/F804及び外部記憶装置805を含む。また、診断装置1302のメモリ801は、診断装置103と同じく、環境指標情報テーブル808、動作効率指標情報テーブル809、及び、動作指標履歴テーブル810を含む。
診断装置1302のメモリ801は、実施例1と同様に、動作品質を診断する動作品質診断プログラム1401と、動作パターンのテンプレートを格納する動作テンプレート情報テーブル1405とを有する。しかし、動作品質診断プログラム1401は、実施例1の動作品質診断プログラム806と処理の内容が異なる。また、動作テンプレート情報テーブル1405は、実施例1の動作テンプレート情報テーブル807と保持する内容が異なる。
さらに、診断装置1302のメモリ801は、実施例1のメモリ801と異なり、複数種類の診断アルゴリズムを有するプログラムを格納する。図14に示す診断を実行するアルゴリズムは、例であり、エンジン診断プログラム1402、ブレーキ診断プログラム1403、及び、タイヤ診断プログラム1404である。
エンジン診断プログラム1402は、自動車1301のエンジンの動作品質を診断する。ブレーキ診断プログラム1403は、自動車1301のブレーキの動作品質を診断する。タイヤ診断プログラム1404は、自動車1301のタイヤの動作品質を診断する。
実施例2のメモリ801が格納するプログラムの機能は、実施例1と同じく、物理的な集積装置によって診断装置1302に実装されてもよい。具体的には、診断装置1302は、動作品質診断プログラム1401の機能を有する動作品質診断部を有してもよいし、エンジン診断プログラム1402の機能を有するエンジン診断部を有してもよい。
図15は、実施例2の診断装置1302が保持する動作テンプレート情報テーブル1405の例を示す説明図である。
動作テンプレート情報テーブル1405は、実施例2の動作テンプレート情報を含む。実施例2の動作テンプレート情報は、動作テンプレートが示す動作パターンが実行された際に発生する指標データがとりうる値と、動作テンプレートが示す動作パターンを診断するためのアルゴリズムとを示す。
動作テンプレート情報は、動作テンプレートの識別子を示すテンプレートID501と、動作テンプレートに該当する指標データの値の条件を示す条件1501と、動作テンプレートに対応する動作パターンを診断するために用いる診断アルゴリズムを示すアルゴリズム1502と、を含む。
図15に示す条件1501は、指標データの値が整数であるか、若しくは、[−1,1]に含まれる範囲に含まれることを示す。それ以外にも、条件1501は他の任意の範囲を示してもよい。また、例えば、条件1501は、音声データを示すバイナリデータの一部を示すことにより、動作パターンが実行された際に発生する指標データの値を示してもよい。
アルゴリズム1502は、診断装置1302のメモリ801に含まれる診断を実行するアルゴリズムのいずれかを示す。
図16は、実施例2の診断装置1302が実施する動作品質診断プログラム1401の具体的な処理を示すフローチャートである。
ステップ1601において、診断装置1302は、ステップ1201と同じく、新たな動作指標の受信をトリガーに動作品質診断プログラム1401を起動する。また、ステップ1601において、動作品質診断プログラム806は、受信した動作指標をメモリ801に格納し、必要に応じて外部記憶装置805に格納する。
ステップ1601の後、動作品質診断プログラム1401は、動作テンプレート情報テーブル1405に含まれるエントリの先頭から順に、条件1501が示す範囲と受信した動作指標の値とを照合し、受信した動作指標の値が条件1501が示す範囲に該当する動作テンプレートを特定する(1602)。
より具体的には、動作品質診断プログラム1401は、受信した動作指標の値が条件1501が示す範囲に含まれる場合、受信した動作指標の値が条件1501が示す範囲に該当すると判定する。なお、条件1501が一つの値を示し、受信した動作指標の値が条件1501の値と一致する動作テンプレートを、該当する動作テンプレートとして特定してもよい。
実施例2の動作品質診断プログラム1401は、受信した動作指標の値の条件に従って動作パターンを推定する。これにより、動作パターンに対応する動作指標がより厳密に限定されるため、精度よく動作パターンを推定することができる。
該当する動作テンプレートを特定できない場合、動作品質診断プログラム1401は、図16に示す処理を終了する。
該当する動作テンプレートを特定できた場合、動作品質診断プログラム1401は、受信した動作指標に該当する動作テンプレートが示す動作パターンを、動作パターンの推定結果として取得する。そして、推定した動作パターンの動作テンプレートに対応する動作指標の項目を、動作効率指標情報テーブル809及び環境指標情報テーブル808から抽出する。これにより、受信した動作指標が発生した際の動作パターン(推定した動作パターン)を診断するための動作指標の指標データを抽出する(1603)。
具体的には、動作品質診断プログラム1401は、受信した動作指標に該当する動作テンプレートのテンプレートID501に対応する環境指標ID901を環境指標情報テーブル808から取得し、さらに、該当する動作テンプレートのテンプレートID501に対応する動作効率指標リスト1001を動作効率指標情報テーブル809から取得する。
そして、動作品質診断プログラム1401は、取得した環境指標ID901及び取得した動作効率指標リスト1001の少なくとも一方と一致する動作指標の指標データ(センサID、アクチュエータID、及び動作結果情報の識別子)を、受信した動作指標から抽出する。これによって、動作品質診断プログラム806は、推定した動作パターンを診断するための指標データを、受信した動作指標から抽出する。
ステップ1603の後、動作品質診断プログラム1401は、実施例1のステップ1204と同じく、環境指標が類似する動作指標履歴を、動作指標履歴テーブル810から選択する(1604)。
ステップ1604の後、動作品質診断プログラム1401は、ステップ1602において特定した動作テンプレートのアルゴリズムを、動作テンプレート情報テーブル1405のアルゴリズム1502から選択する。そして、動作品質診断プログラム1401は、選択したアルゴリズムに対応するプログラムを実行する(1605)。
ここで、動作品質診断プログラム1401は、選択したアルゴリズムを実行するため、ステップ1603において抽出した動作指標の指標データを用いる。また、選択したアルゴリズムに従って、必要に応じて、ステップ1604において選択した動作指標履歴を用いてもよい。
動作品質診断プログラム1401は、選択したアルゴリズムによって動作品質を診断することによって、推定した動作に従ったアルゴリズムにより精度よく診断することができる。
動作品質診断プログラム1401は、診断アルゴリズムの実行結果から、自動車1301に動作品質劣化が発生しているかを判定する(1606)。
例えば、自動車1301から受信された動作指標に、(ギア=1,アクセル=0.6,ブレーキ=0)が含まれる場合、受信した動作指標は、動作テンプレートT101に該当する。
このため、動作品質診断プログラム1401は、動作テンプレートT101が示す動作パターンを推定結果として取得し、さらに、動作テンプレートT101が対応するエンジン診断プログラム1402を実行し、エンジンに動作品質劣化が発生しているかを判定する。エンジン診断プログラム1402は、エンジンの診断を実行するアルゴリズムとして、公知の方法を用いてもよい。
動作品質劣化が発生していない場合、動作品質診断プログラム1401は、受信したデータから抽出した動作指標と該当するテンプレートID501とを動作指標履歴テーブル810に格納する(1607)。ステップ1607の後、及び、ステップ1606において動作品質が劣化していないと判定された後、診断装置1302は、診断結果を表示するためのデータを表示装置104に向けて出力し、処理を終了する(1608)。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細を説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。
また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル又はファイル等の情報は、メモリ、ハードディスク、若しくは、Solid State Drive(SSD)等の記録装置、又は、ICカード、SDカード、若しくはDVD等の記憶媒体に置くことができる。
101 ロボット
102 通信手段
103 診断装置
104 表示装置
1301 自動車
1302 診断装置

Claims (14)

  1. 診断装置であって、
    プロセッサと、メモリと、機器が出力するデータを受け付けるインターフェースと、を有し、
    前記機器が測定した物理量の結果を示す指標データ、及び、前記機器による動作の内容を示す指標データの少なくとも一つを示す動作指標を、前記インターフェースを介して受け付け、
    前記受け付けた動作指標を前記メモリに格納し、
    前記機器の動作を推定するために必要な前記指標データを示すテンプレートと、前記受け付けた動作指標とを照合することによって、前記機器の動作を推定し、
    前記推定した動作を診断するために必要な指標データを、前記受け付けた動作指標から抽出し、
    前記抽出した指標データに基づいて前記推定した動作の品質を診断することを特徴とする診断装置。
  2. 請求項1に記載の診断装置であって、
    前記テンプレートは、前記機器の動作において発生する指標データの項目を含み、
    前記受け付けた動作指標は、前記機器の動作において発生した前記指標データの項目を含み、
    前記診断装置は、前記照合の結果、前記テンプレートに含まれる指標データの項目が、前記受け付けた動作指標に含まれるか否かを特定することによって、前記機器の動作を推定することを特徴とする診断装置。
  3. 請求項2に記載の診断装置であって、
    前記テンプレートは、前記機器の動作において発生する指標データの値の範囲を、さらに示し、
    前記受け付けた動作指標が示す指標データは、前記機器の動作において発生するものであって、
    前記診断装置は、前記照合の結果、前記受け付けた動作指標に含まれる指標データの値が、前記テンプレートが示す範囲に該当するかを判定することによって、前記機器の動作を推定することを特徴とする診断装置。
  4. 請求項1に記載の診断装置であって、
    前記機器が動作した場合に、類似する環境として定められた類似環境において測定されると予測される前記指標データを示す環境情報と、
    所定の状態であると過去に診断された指標データを含む指標履歴と、を前記メモリに格納し、
    前記類似環境において前記推定した動作が行われる場合に、前記類似環境において測定されると予測される指標データを含む前記指標履歴を、前記メモリから選択し、
    前記選択した指標履歴と前記抽出した指標データとに基づいて、前記推定した動作の品質が前記所定の状態であるかを診断することを特徴とする診断装置。
  5. 請求項4に記載の診断装置であって、
    前記推定した動作を診断するために必要な指標データの項目に基づく次元を有する多次元空間を生成し、
    前記選択した指標履歴が示す指標データを、前記多次元空間においてクラスタリングすることによって、少なくとも一つのクラスタを生成し、
    前記クラスタと前記抽出した指標データとの距離に基づいて、前記推定した動作の品質を診断することを特徴とする診断装置。
  6. 請求項1に記載の診断装置であって、
    前記メモリは、前記動作を診断するためのアルゴリズムを示すアルゴリズム情報を有し、
    前記推定した動作を診断するためのアルゴリズムを、前記アルゴリズム情報から選択し、
    前記抽出した指標データと前記選択したアルゴリズムとを用いることによって、前記推定した動作の品質を診断することを特徴とする診断装置。
  7. 診断システムであって、
    機器と、前記機器の動作を診断する診断装置とを含み、
    前記機器は、
    プロセッサと、前記診断装置に向けてデータを出力するためのインターフェースと、を有し、
    前記機器が測定した物理量の結果を示す指標データ、及び、前記機器による動作の内容を示す指標データの少なくとも一つを示す動作指標を、前記機器のインターフェースを介して、前記診断装置に向けて出力し、
    前記診断装置は、
    プロセッサと、メモリと、前記機器が出力するデータを受け付けるインターフェースと、を有し、
    前記機器が出力した動作指標を、前記診断装置のインターフェースを介して受け付け、
    前記受け付けた動作指標を前記診断装置のメモリに格納し、
    前記機器の動作を推定するために必要な前記指標データを示すテンプレートと、前記受け付けた動作指標とを照合することによって、前記機器の動作を推定し、
    前記推定した動作を診断するために必要な指標データを、前記受け付けた動作指標から抽出し、
    前記抽出した指標データに基づいて前記推定した動作の品質を診断することを特徴とする診断システム。
  8. 請求項7に記載の診断システムであって、
    前記テンプレートは、前記機器の動作において発生する指標データの項目を含み、
    前記受け付けた動作指標は、前記機器の動作において発生した前記指標データの項目を含み、
    前記診断装置は、前記照合の結果、前記テンプレートに含まれる指標データの項目が、前記受け付けた動作指標に含まれるか否かを特定することによって、前記機器の動作を推定することを特徴とする診断システム。
  9. 請求項8に記載の診断システムであって、
    前記テンプレートは、前記機器の動作において発生する指標データの値の範囲を、さらに示し、
    前記受け付けた動作指標が示す指標データは、前記機器の動作において発生するものであって、
    前記診断装置は、前記照合の結果、前記受け付けた動作指標に含まれる指標データの値が、前記テンプレートが示す範囲に該当するかを判定することによって、前記機器の動作を推定することを特徴とする診断システム。
  10. 請求項7に記載の診断システムであって、
    前記診断装置は、
    前記機器が動作した場合に、類似する環境として定められた類似環境において測定されると予測される前記指標データを示す環境情報と、
    所定の状態であると過去に診断された指標データを含む指標履歴と、を前記診断装置のメモリに格納し、
    前記類似環境において前記推定した動作が行われる場合に、前記類似環境において測定されると予測される指標データを含む前記指標履歴を、前記診断装置のメモリから選択し、
    前記選択した指標履歴と前記抽出した指標データとに基づいて、前記推定した動作の品質が前記所定の状態であるかを診断することを特徴とする診断システム。
  11. 請求項10に記載の診断システムであって、
    前記診断装置は、
    前記推定した動作を診断するために必要な指標データの項目に基づく次元を有する多次元空間を生成し、
    前記選択した指標履歴が示す指標データを、前記多次元空間においてクラスタリングすることによって、少なくとも一つのクラスタを生成し、
    前記クラスタと前記抽出した指標データとの距離に基づいて、前記推定した動作の品質を診断することを特徴とする診断システム。
  12. 請求項7に記載の診断システムであって、
    前記診断装置は、
    前記動作を診断するためのアルゴリズムを示すアルゴリズム情報を、前記診断装置のメモリに格納し、
    前記推定した動作を診断するためのアルゴリズムを、前記アルゴリズム情報から選択し、
    前記抽出した指標データと前記選択したアルゴリズムとを用いることによって、前記推定した動作の品質を診断することを特徴とする診断システム。
  13. アクチュエータによって動作する機器であって、
    プロセッサと、メモリと、診断装置に向けてデータを出力するためのインターフェースと、を有し、
    前記機器が測定した物理量の結果を示す指標データ、及び前記動作の内容を示す指標データの少なくとも一つを含む動作指標を取得し、
    前記取得した動作指標を前記メモリに格納し、
    前記動作を推定するために必要な前記指標データを示すテンプレートと、前記動作指標とを照合することによって、前記動作を推定し、
    前記推定した動作を診断するために必要な指標データを、前記取得した動作指標から抽出し、
    前記抽出した指標データを、前記インターフェースを介して前記診断装置に向けて出力することを特徴とする機器。
  14. 診断装置による診断方法であって、
    前記診断装置は、プロセッサと、メモリと、機器が出力するデータを受け付けるインターフェースと、を有し、
    前記診断方法は、
    前記プロセッサが、前記機器が測定した物理量の結果を示す指標データ、及び、前記機器による動作の内容を示す指標データの少なくとも一つを示す動作指標を、前記インターフェースを介して受け付ける手順と、
    前記プロセッサが、前記受け付けた動作指標を前記メモリに格納する手順と、
    前記プロセッサが、前記機器の動作を推定するために必要な前記指標データを示すテンプレートと、前記受け付けた動作指標とを照合することによって、前記機器の動作を推定する手順と、
    前記プロセッサが、前記推定した動作を診断するために必要な指標データを、前記受け付けた動作指標から抽出する手順と、
    前記プロセッサが、前記抽出した指標データに基づいて前記推定した動作の品質を診断する手順と、を含むことを特徴とする診断方法。

JP2015166892A 2015-08-26 2015-08-26 診断装置、診断システム、機器、及び、診断方法 Expired - Fee Related JP6360016B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015166892A JP6360016B2 (ja) 2015-08-26 2015-08-26 診断装置、診断システム、機器、及び、診断方法
US15/234,798 US20170063997A1 (en) 2015-08-26 2016-08-11 Evaluation apparatus, evaluation system, device, and evaluation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015166892A JP6360016B2 (ja) 2015-08-26 2015-08-26 診断装置、診断システム、機器、及び、診断方法

Publications (2)

Publication Number Publication Date
JP2017045257A JP2017045257A (ja) 2017-03-02
JP6360016B2 true JP6360016B2 (ja) 2018-07-18

Family

ID=58097099

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015166892A Expired - Fee Related JP6360016B2 (ja) 2015-08-26 2015-08-26 診断装置、診断システム、機器、及び、診断方法

Country Status (2)

Country Link
US (1) US20170063997A1 (ja)
JP (1) JP6360016B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018163631A1 (ja) 2017-03-09 2018-09-13 住友電気工業株式会社 電源装置及び電源装置の制御方法
WO2018169372A1 (en) 2017-03-17 2018-09-20 Samsung Electronics Co., Ltd. Method and system for routine disruption handling and routine management in a smart environment
CN107945499B (zh) * 2017-11-30 2021-04-20 中国科学院力学研究所 一种遥操作系统的测评方法及设备
KR102587127B1 (ko) 2017-12-26 2023-10-11 삼성전자주식회사 고장 예측을 위해 가전기기의 운영데이터를 관리하는 방법 및 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5851205B2 (ja) * 2011-11-01 2016-02-03 日本電信電話株式会社 クラスタリング装置、方法、及びプログラム
JP5342708B1 (ja) * 2013-06-19 2013-11-13 株式会社日立パワーソリューションズ 異常検知方法及びその装置

Also Published As

Publication number Publication date
US20170063997A1 (en) 2017-03-02
JP2017045257A (ja) 2017-03-02

Similar Documents

Publication Publication Date Title
US11541899B2 (en) Vehicle diagnosis apparatus, vehicle diagnosis system, and vehicle diagnosis program
JP6360016B2 (ja) 診断装置、診断システム、機器、及び、診断方法
JP6879239B2 (ja) 異常検知システム、サポート装置およびモデル生成方法
WO2012128256A1 (ja) 車両データ解析装置、車両データ解析方法、及び故障診断装置
CN102375452B (zh) 改善故障代码设定和隔离故障的事件驱动的数据挖掘方法
JP2019179395A (ja) 異常検知システム、サポート装置および異常検知方法
JP6172678B2 (ja) 検出装置、検出方法、およびプログラム
JP6183252B2 (ja) 故障情報提示システム
JP6888953B2 (ja) トレーニングセットの評価
JP2019159903A (ja) 異常検知システム、サポート装置およびモデル生成方法
EP2646884A1 (en) Machine anomaly detection and diagnosis incorporating operational data
US11769355B2 (en) Fault diagnosis support device
JP7343374B2 (ja) 航空機の保守を実行するための方法及びシステム
WO2017201952A1 (zh) 一种存储信息的系统和装置
CN103150250A (zh) 应用程序性能检测系统和应用程序性能检测方法
EP2135144A1 (en) Machine condition monitoring using pattern rules
WO2017141589A1 (ja) 車両制御装置
EP2535853A1 (en) Methods systems and apparatus for ranking tests used to identify faults in a system
CN112585548B (zh) 用于确定设备的状态的系统和方法以及包括该系统的设备
WO2019073512A1 (ja) システム分析方法、システム分析装置、および、プログラム
US11803433B2 (en) Localization of potential issues to objects
KR101971553B1 (ko) 사물인터넷 기반 기기 관리 시스템 및 방법
KR20160053977A (ko) 모델 적응을 위한 장치 및 방법
JP6865904B2 (ja) 機器管理装置、機器管理方法および機器管理プログラム
CN114450647B (zh) 技术系统的诊断

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170920

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180525

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180612

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180621

R150 Certificate of patent or registration of utility model

Ref document number: 6360016

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees