JP2019155573A - ロボット制御装置、ネットワークシステム、ロボットの監視方法およびプログラム - Google Patents

ロボット制御装置、ネットワークシステム、ロボットの監視方法およびプログラム Download PDF

Info

Publication number
JP2019155573A
JP2019155573A JP2018048907A JP2018048907A JP2019155573A JP 2019155573 A JP2019155573 A JP 2019155573A JP 2018048907 A JP2018048907 A JP 2018048907A JP 2018048907 A JP2018048907 A JP 2018048907A JP 2019155573 A JP2019155573 A JP 2019155573A
Authority
JP
Japan
Prior art keywords
robot
unit
value
feature amount
feature
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.)
Pending
Application number
JP2018048907A
Other languages
English (en)
Inventor
石川 博一
Hirokazu Ishikawa
博一 石川
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.)
Nidec Corp
Original Assignee
Nidec Corp
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 Nidec Corp filed Critical Nidec Corp
Priority to JP2018048907A priority Critical patent/JP2019155573A/ja
Publication of JP2019155573A publication Critical patent/JP2019155573A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

【課題】ロボットの性質の経時的な変化に伴って、単位工程についてのロボットの挙動の正常性の判定基準を変化させることができる技術を提供する。【解決手段】ロボット制御装置は、ロボットの動作を制御する制御部、第1の取得部、第2の取得部、記憶部、判定部、および基準閾値導出部を有する。第1の取得部と第2の取得部は、それぞれ、ロボットの動作の単位工程における、ロボットの挙動の正常性の度合いを表す第1の特徴量と、ロボットの稼働進行状態を表す第2の特徴量を取得し、過去の各時刻での第1、第2の特徴量を関連付けて記憶部に蓄積する。判定部は、現在の第2の特徴量と基準閾値の比較結果に応じて、単位工程でのロボットの挙動の正常性の度合いを判定する。基準閾値導出部は、蓄積された複数時刻での第1、第2の特徴量から統計的手法により基準閾値を導出し、第1、第2の特徴量の時間的変化に伴い、基準閾値を更新する。【選択図】図2

Description

本発明は、ロボット制御装置、ネットワークシステム、ロボットの監視方法およびプログラムに関する。
生産ラインで使用されるロボットに対して、蓄積された情報に基づいた学習機能を利用して、各種の解析を行う提案がされている。
特許文献1は、ロボットを有する生産システム内の状況を解析するシステムを開示する。このシステムは、カメラで取得された画像データ、温度データ、湿度データ、気圧データ、異常データ、ロボットの動作データを記憶し、これらのデータを用いて、機械学習を行うことにより各種の解析情報を生成する。また、このシステムは、機械学習によって、それぞれのデータから有用な規則や生産システム内の異常検知等を行うための判定基準等となる解析情報を生成する。ここでの判定基準は、ロボットがワークに対して正確な作業を行うことができない動作エラーが生じるか否かの判定に使用される。
特開2017−068553号公報
時間の経過に伴い、ロボットの性質は変化する。短期間で性質が変化する要因としては、例えば、運転時の温度変化によるロボットの部品の熱膨張がある。長期間で性質が変化する要因としては、例えば、ロボットの部品の摩耗、部品間の隙間の拡大、部品の締結の緩み、潤滑剤の性質の変化、潤滑剤の量の変化、工場の地盤沈下などがある。したがって、判定基準が固定されていると、誤った判定が発生するおそれがある。
また、判定基準は、ロボットの動作の単位工程によっても異なりうる。単位工程とは、例えば、ロボットが被搬送物をピックアップする工程、ロボットが被搬送物を搬送する工程、ロボットが被搬送物を降ろす工程、またはこれらの工程の組み合わせである。
そこで、本発明は、ロボットの性質の経時的な変化に伴って、単位工程についてのロボットの挙動の正常性の判定基準を変化させることができる技術を提供する。
本発明のある態様に係るロボット制御装置は、ロボットの動作を制御する制御部と、前記ロボットの動作の単位工程における、前記ロボットの挙動の正常性の度合いを表す第1の特徴量を取得する第1の取得部と、前記単位工程における、前記ロボットの稼働進行状態を表す第2の特徴量を取得する第2の取得部と、過去の複数時刻における前記第1の特徴量と前記第2の特徴量を、各時刻での第1の特徴量と第2の特徴量を関連付けて、蓄積する記憶部と、現在の第2の特徴量を基準閾値と比較して、比較結果に応じて、前記単位工程における前記ロボットの挙動の正常性の度合いを判定する判定部と、前記記憶部に蓄積された前記複数時刻における前記第1の特徴量と前記第2の特徴量から統計的手法により、前記基準閾値を導出する基準閾値導出部と、を有し、前記基準閾値導出部は、前記記憶部に蓄積された前記第1の特徴量と前記第2の特徴量の時間的変化に伴い、前記基準閾値を更新する。
本発明においては、時間の経過に伴うロボットの性質の変化があっても、動的に基準閾値を更新することができ、ロボットの挙動の正常性の度合いを適切に判定し続けることができる。また、判定部は、単位工程におけるロボットの挙動の正常性の度合いを判定するので、各単位工程に適切な判定を行うことができる。
図1は、本発明の実施形態に係るネットワークシステムの概略を示すブロック図である。 図2は、本発明の実施形態に係るロボット制御装置であるコントローラを示すブロック図である。 図3は、コントローラにより格納された動作ログの内容の一例を模式的に示す概略図である。 図4は、動作ログ中のタイムスタンプと工程の項目の関係の一例を模式的に示す概略図である。 図5は、コントローラにより使用される基準閾値テーブルの一例を模式的に示す概略図である。 図6は、基準閾値テーブルの各特徴量についての4つの基準閾値の用途を模式的に示す概略図である。 図7は、コントローラにより格納されたパラメータテーブルの一例を模式的に示す概略図である。 図8は、コントローラにより使用されるパラメータ設定閾値テーブルの一例を模式的に示す概略図である。 図9は、パラメータ設定閾値テーブルの各特徴量についての4つのパラメータ設定閾値の用途を模式的に示す概略図である。 図10は、本発明の変形例に係るロボット制御装置であるコントローラとゲートウェイを示すブロック図である。
以下、添付の図面を参照しながら本発明に係る複数の実施の形態を説明する。
<ネットワークシステムの概略構成>
図1は、本発明の実施形態に係るネットワークシステム1の概略を示すブロック図である。図1に示すように、ネットワークシステム1は、複数のロボット2をそれぞれ制御および監視する複数のコントローラ(ロボット制御装置)4と、これらのコントローラ4の遠隔にあるクラウドサーバ6とを有する。各ロボット2は、工場内での製造ロボットであり、例えば多関節ロボットである。
クラウドサーバ6は、複数のコンピュータ(通信装置)7を備える。コンピュータ7は、ネットワーク10に接続されている。
ネットワーク10は、例えば社内LAN(Local Area Network)でもよいし、公衆ネットワークでもよい。また、ネットワーク10は有線ネットワークでもよいし、無線ネットワークでもよい。各コントローラ4は、ゲートウェイ(GW)12を介してネットワーク10に接続されている。各ゲートウェイ12は、コントローラ4に対するエッジコンピューティング処理、およびネットワーク10とコントローラ4の間の通信プロトコル変換などの処理を行う。
<コントローラの詳細>
図2は、コントローラ4の詳細を示すブロック図である。コントローラ4は、プロセッサ14とメモリ(記憶部)16を有する。プロセッサ14は、例えばCPU(Central Procesing Unit)であり、メモリ16に記憶された各種のプログラムを実行することで各種の機能動作を実行する。メモリ16は、例えば、EEPROM(Electrically Erasable Programmable Read−Only Memory)であり、プロセッサ14に使用されるプログラムおよび各種のデータを格納する。
プロセッサ14は、メモリ16からプログラムを読み出して実行することにより、ロボット2の動作を制御する制御部として機能し、ロボット2に所要の作業を実行させる。すなわち、プロセッサ14は、ロボット動作制御21の機能を有する。また、プロセッサ14は、メモリ16からプログラムを読み出して実行することにより、後述する様々な機能を実行することが可能である。
コントローラ4には、各種のセンサ18が接続されている。図2は、2つのセンサ18のみを示すが、さらに多くのセンサ18がコントローラ1に接続されてよい。センサ18は、例えば、ロボット2の所定箇所の加速度を示す測定信号、ロボット2の所定箇所に配置されたアクチュエータ2a,2b,2d,2d(例えばモータ)の各々に供給された電圧値を示す測定信号、アクチュエータ2a,2b,2d,2dの各々に供給された電流値を示す測定信号、アクチュエータ2a,2b,2d,2dが発揮した力またはトルクを示す測定信号、ロボット2の温度を示す測定信号を、電気信号の形式で、コントローラ1に供給する。センサ18は、ロボット2の内部に配置されてもよいし、外部に配置されてもよい。
コントローラ1には、ロボット2を撮影するカメラ20が接続されており、撮影で得られたロボット2の挙動を示す画像信号を電気信号の形式でコントローラ1に供給する。カメラ20は、好ましくは動画を撮影する。カメラ20は、深度センサを有しており、深度センサは、ロボット2の各種の部分の位置を示す深度測定信号を電気信号の形式でコントローラ1に供給する。
図2において、プロセッサ14の各種の機能を便宜的にプロセッサ14の内部に示す。
プロセッサ14は、カメラ20から供給される画像信号から画像特徴量を演算する画像特徴量演算22の機能を有する。画像特徴量は、ロボット2の作業の成功を表す数値、作業の許容可能な失敗を表す数値、作業の許容不能な(明白な)失敗を表す数値のいずれかである。作業の許容可能な失敗とは、例えば、ロボット2が貯蔵位置にある被搬送物をピックアップして、被搬送物を搬送し、他の箇所に降ろす作業では、ロボットが被搬送物を保持する位置が想定位置と異なること、被搬送物を降ろす位置が想定位置からある範囲内にあることなどである。作業の許容不能な失敗とは、例えば、当該作業では、ロボットが被搬送物をピックアップできないこと、被搬送物を搬送途中で落とすこと、被搬送物を降ろす位置が想定位置からある範囲外にあることなどである。
プロセッサ14は、深度センサから供給される深度測定信号からロボット2の複数の部分の位置の座標(例えば、X,Y,Z座標)を取得する座標取得24の機能を有する。プロセッサ14は、センサ18から供給されるロボット2の所定箇所の加速度を示す測定信号から当該箇所の加速度を取得する加速度取得26の機能を有する。
また、プロセッサ14は、センサ18から供給されるロボット2の温度を示す測定信号からロボット2の温度を取得する温度取得28の機能を有する。
さらに、プロセッサ14は、センサ18から供給されるアクチュエータ2a,2b,2d,2dの各々に供給された電気信号の電圧値を示す測定信号から当該アクチュエータに供給された電気信号の電圧値を取得する電圧値取得30の機能を有する。プロセッサ14は、センサ18から供給されるアクチュエータ2a,2b,2d,2dの各々に供給された電気信号の電流値を示す測定信号から当該アクチュエータに供給された電気信号の電流値を取得する電流値取得32の機能を有する。プロセッサ14は、センサ18から供給されるアクチュエータ2a,2b,2d,2dの各々が発揮したトルク値を示す測定信号から当該アクチュエータが発揮したトルク値(アクチュエータの動作の測定結果に関する特徴量)を取得するトルク値取得34の機能を有する。
画像特徴量演算22の機能で得られる画像特徴量、座標取得24の機能で得られる座標、および加速度取得26の機能で得られる加速度は、便宜的に、ロボット2の挙動の正常性の度合いを表す第1の特徴量と考えることができる。画像特徴量演算22、座標取得24、および加速度取得26の機能を実行するプロセッサ14は、便宜的に、第1の特徴量を取得する第1の取得部と考えることができる。
電圧値取得30の機能で得られる電圧値、電流値取得32の機能で得られる電流値、およびトルク値取得34の機能で得られるトルク値は、便宜的に、ロボット2の稼働進行状態を表す第2の特徴量と考えることができる。電圧値取得30、電流値取得32、およびトルク値取得34の機能を実行するプロセッサ14は、便宜的に、第2の特徴量を取得する第2の取得部と考えることができる。
温度取得28の機能で得られる温度は、便宜的に、環境の状態を表す第3の特徴量と考えることができる。温度取得28の機能を実行するプロセッサ14は、便宜的に、第3の特徴量を取得する第3の取得部と考えることができる。第3の特徴量は、ロボット2の周囲の磁場、放射線量、湿度および気圧を含んでもよい。
<動作ログの作成および更新>
プロセッサ14は、これらの特徴量を動作ログ36として、メモリ16に格納する。図3は動作ログ36の内容の一例を模式的に示す。図3に例示される動作ログ36は、画像特徴量演算22の機能で得られる画像特徴量、座標取得24の機能で得られる複数のツールの位置の座標、加速度取得26の機能で得られる特定のツールの加速度、温度取得28の機能で得られるロボット2の温度、電圧値取得30の機能で得られる複数のモータの電圧値、電流値取得32の機能で得られる複数のモータの電流値、およびトルク値取得34の機能で得られる複数のモータのトルク値を、タイムスタンプとともに記録する。
タイムスタンプは、プロセッサ14が特徴量を取得した時刻、またはメモリ16に格納した時刻を示す。プロセッサ14は、一定の時間間隔で、特徴量とタイムスタンプを動作ログ36に追加してゆく。
図3において、斜線のブロックは、数値または文字列で埋められることを示す。図3において、工程の項目は、ロボット2の動作における各単位工程の境界、すなわち開始と終了を示し、タイムスタンプで表されるすべての時刻で必ずしも記録されるのではない。したがって、図3においては、工程の項目が空欄であることもある。
図4は、動作ログ36中のタイムスタンプと工程の項目の関係の一例を模式的に示す。単位工程には、短期間を要するシナリオと、より長い期間を要する作業がある。作業はシナリオの集合である。
例えば、ロボット2が貯蔵位置にある被搬送物をピックアップして、被搬送物を搬送し、他の箇所に降ろす単位工程を1つの作業と考えることができる。この場合、初期位置から貯蔵位置にロボット2の先端が移動する単位工程が最初のシナリオ(シナリオ1)であり、ロボット2が貯蔵位置にある被搬送物をピックアップする単位工程が次のシナリオ(シナリオ2)であり、ロボット2が貯蔵位置から他の箇所に被搬送物を搬送する単位工程がさらに次のシナリオ(シナリオ3)であり、ロボット2が被搬送物を降ろす単位工程が第4のシナリオ(シナリオ4)であり、ロボット2が初期位置に戻る単位工程が最後のシナリオ(シナリオ5)である。
他の例として、ロボット2が所望箇所のネジを締結する単位工程を1つの作業と考えることができる。この場合、初期位置から所望箇所にロボット2の先端が移動する単位工程が最初のシナリオ(シナリオ1)であり、ロボット2がネジを締結する単位工程が次のシナリオ(シナリオ2)であり、ロボット2が初期位置に戻る単位工程が最後のシナリオ(シナリオ3)である。
あるシナリオの終了時刻は、次のシナリオの開始時刻と考えることができる。図4において、シナリオ1終了はシナリオ2の開始と同じ意味であり、シナリオ2終了はシナリオ3の開始と同じ意味である。最後のシナリオの終了時刻は、そのシナリオを有する作業の終了時刻と考えることができる。図4において、作業終了はシナリオ3の終了も意味する。
図3から明らかなように、プロセッサ14は、一定の周期で各種の特徴量を取得し、いずれかの時刻は、単位工程の開始および/または終了(境界)に対応する。したがって、プロセッサ14は、ロボット2の動作の単位工程における各種の特徴量を取得する。
単位工程の開始および/または終了は、例えば、カメラ20から供給される画像信号を監視することにより、プロセッサ14が判断してよい。あるいは、座標取得24の機能で取得した特定のツールの座標により、プロセッサ14が単位工程の開始および/または終了を判断してもよい。プロセッサ14は、単位工程の開始および/または終了を判断すると、動作ログ36の工程の項目に、当該単位工程の開始および/または終了を記録して、図3に例示される動作ログ36を更新する。
以上のように、メモリ16は、過去の複数時刻における各種の特徴量を、各時刻でのこれらの特徴量を相互に関連付けて、動作ログ36に蓄積する。プロセッサ14は、一定周期で特徴量を取得し、特徴量をタイムスタンプ(該当する場合には工程の項目)とともに追加することにより動作ログ36を更新する。
<ロボットの挙動の正常性の度合いの判定>
図2に戻り、プロセッサ14は、単位工程におけるロボット2の挙動の正常性の度合いを判定する正常性判定38の機能を有する。正常性判定38の機能においては、プロセッサ14は、電圧値取得30の機能で取得された各アクチュエータ(例えばモータ)の現在の電圧値を、メモリ16に格納された基準閾値テーブル40内の複数の電圧基準閾値と比較する。また、プロセッサ14は、電流値取得32の機能で取得された各アクチュエータの現在の電圧値を、基準閾値テーブル40内の複数の電流基準閾値と比較する。また、プロセッサ14は、トルク値取得34の機能で取得された各アクチュエータの現在のトルク値を、基準閾値テーブル40内の複数のトルク基準閾値と比較する。
図5は、プロセッサ14により使用される基準閾値テーブル40の一例を模式的に示す。基準閾値テーブル40は、各単位工程の境界における複数の基準閾値を記録する。図5の例では、各単位工程の境界は、シナリオ1終了(すなわちシナリオ2開始)、シナリオ2終了(すなわちシナリオ3開始)、作業終了(すなわちシナリオ3終了)である。図5の例では、基準閾値テーブル40は、ロボット2で使用される各モータの電圧値に4つの基準閾値が設けられ、各モータの電流値に4つの基準閾値が設けられ、各モータのトルク値に4つの基準閾値が設けられる。つまり、各特徴量に4つの基準閾値が設けられている。
図6は、基準閾値テーブル40の各特徴量についての4つの基準閾値の用途を模式的に示す。プロセッサ14の正常性判定38の機能は、現在の各特徴量と4つの基準閾値との比較結果に従って、単位工程におけるロボットの挙動の正常性の5段階のいずれかに応じた措置を実行する。現在の特徴量が第1の基準閾値より高いことは、許容不能な異常(超過)が生じたこと、すなわち単位工程の遂行が許容不能な失敗であったことを意味し、この場合、プロセッサ14の正常性判定38の機能は、異常な超過を示す警告情報を生成する。現在の特徴量が第1の基準閾値と第2の基準閾値の間にあることは、許容可能な異常(超過)が生じたこと、すなわち単位工程の遂行が許容可能な失敗であったことを意味し、この場合、プロセッサ14の正常性判定38の機能は、要注意な超過を示す警告情報を生成する。現在の特徴量が第2の基準閾値と第3の基準閾値の間にあることは、ロボット2の動作が正常であったこと、すなわち単位工程の遂行が正常であったことを意味し、この場合、プロセッサ14の正常性判定38の機能は、正常を示す正常情報を生成するか、何も生成しない。現在の特徴量が第3の基準閾値と第4の基準閾値の間にあることは、許容可能な異常(不足)が生じたこと、すなわち単位工程の遂行が許容不能な失敗であったことを意味し、この場合、プロセッサ14の正常性判定38の機能は、要注意な不足を示す警告情報を生成する。現在の特徴量が第4の基準閾値より低いことは、許容不能な異常(不足)が生じたこと、すなわち単位工程の遂行が許容可能な失敗であったことを意味し、この場合、プロセッサ14の正常性判定38の機能は、異常な不足を示す警告情報を生成する。現在の特徴量がいずれかの基準閾値と等しい場合には、プロセッサ14は、特徴量がその基準閾値よりわずかに高い場合に行うべき措置を実行してもよいし、特徴量がその基準閾値よりわずかに低い場合に行うべき措置を実行してもよい。
プロセッサ14は、正常性判定38の結果で生成された警告情報を、ネットワーク10を通じて、クラウドサーバ6、またはクラウドサーバ6に属するいずれかのコンピュータ7に送信してよい。これに代えてあるいはこれに加えて、プロセッサ14は、警告情報をメモリ16または他の記憶媒体に記録してもよい。この場合、プロセッサ14は、動作ログ36に警告情報を記録してもよい。
警告情報が送信または記録される場合、警告情報は、どのモータのどの特徴量に対応するか、またどの時刻に対応するかが識別可能なように、送信または記録される。これにより、解析者は、いつ、どのような異常が発生したのか判別することができる。
プロセッサ14の正常性判定38の機能は、各単位工程における基準閾値を参照して、各単位工程におけるロボット2の挙動の正常性の度合いを判定するので、各単位工程に適切な判定を行うことができる。
また、各特徴量についての複数(実施形態では4つ)の基準閾値を用いることにより、単に正常と異常だけではなく、例えば、許容可能な異常、許容不能な異常、および正常な動作に応じて、適切な措置を実行することができる。また、解析者は、異常の程度を知ることができる。
<基準閾値の導出および更新>
この実施形態において、正常性判定38で使用される基準閾値テーブル40内に記録された複数の基準閾値は、可変である。図2に戻り、プロセッサ14は、動作ログ36に基づいて、機械学習機能(統計的手法)により、これらの基準閾値を導出する基準閾値導出42の機能を有する。
基準閾値導出42の機能は、動作ログ36に蓄積された複数時刻における第1の特徴量(ロボット2の挙動の正常性の度合いを表す特徴量)と第2の特徴量(ロボット2の稼働進行状態を表す特徴量)から統計的手法により、各基準閾値を導出する。また、基準閾値導出42の機能は、動作ログ36に蓄積された第1の特徴量と第2の特徴量の時間的変化に伴い、各基準閾値を更新する。
例えば、第2の特徴量の移動平均(単純移動平均、加重移動平均、指数平滑移動平均、または他の移動平均のいずれかでよい)を利用して、プロセッサ14の基準閾値導出42の機能は、当該特徴量についての基準閾値を導出してよい。以下、具体例を説明するが、基準閾値導出42の機能は下記の具体例に限定されない。
例えば、シナリオ1終了時のモータ#1の電圧値の第1の基準閾値(図5)を導出する場合には、プロセッサ14は、動作ログ36に蓄積された、過去の多数のシナリオ1終了時の画像特徴量と、モータ#1に対応するツール#1の座標と、ツール#4の加速度に基づいて、ツール#1が目標位置に比べて過剰に移動し、過剰移動した距離が所定の第1の距離よりも多く、ツール4の加速度が所定の第1の値より大きかった、直前の所定数(複数)の時刻(シナリオ1終了時)を選択する。つまり、プロセッサ14は、許容不能なほどツール#1が過剰に移動し、ツール4の加速度が許容不能なほど大きかった、直前の所定数のシナリオ1終了時の時刻を選択する。
次に、プロセッサ14は、これらの複数の時刻でのモータ#1の電圧値の平均を算出する。つまり、プロセッサ14は、許容不能な過剰な電圧値の平均を算出する。この平均は、時間的変化に伴い時間的に移動するので移動平均である。加重移動平均、指数平滑移動平均、または他の移動平均を算出してもよい。加重移動平均または指数平滑移動平均を利用する場合には、現在時刻に近いほど、重みを大きくするのが好ましい。
さらに、プロセッサ14は、動作ログ36に蓄積された、過去の多数のシナリオ1終了時の画像特徴量と、モータ#1に対応するツール#1の座標と、ツール#4の加速度に基づいて、ツール#1が目標位置に比べて過剰に移動し、過剰移動した距離が所定の第2の距離よりも多く第1の距離以下であり、ツール4の加速度が所定の第2の値より大きく第1の値以下であった、直前の所定数(複数)の時刻(シナリオ1終了時)を選択する。つまり、プロセッサ14は、ツール#1の過剰移動距離が許容可能であり、ツール4の加速度が大きいが許容可能であった、直前の所定数のシナリオ1終了時の時刻を選択する。
次に、プロセッサ14は、これらの複数の時刻でのモータ#1の電圧値の平均を算出する。つまり、プロセッサ14は、許容可能な過剰な電圧値の移動平均を算出する。
そして、プロセッサ14は、許容不能な過剰な電圧値の移動平均と、許容可能な過剰な電圧値の移動平均の中間の値を、シナリオ1終了時のモータ#1の電圧値の第1の基準閾値として算出する。例えば、許容不能な過剰な電圧値の移動平均をA1とし、許容可能な過剰な電圧値の移動平均をA2とした場合、第1の基準閾値Aは、下記のようにして算出される。
A={α・A1+(2−α)・A2}/2
ここでαは、0より大きく2より小さい値である。値αは1でもよく、この場合、Aは、A1とA2の平均または中央値である。また、値αは、機械学習によって、適切な第1の基準閾値Aが得られるように更新してもよい。
同様にして、プロセッサ14は、動作ログ36に蓄積された、過去の多数のシナリオ1終了時の画像特徴量と、モータ#1に対応するツール#1の座標と、ツール#4の加速度に基づいて、ツール#1が目標位置に対する所望範囲に移動し、ツール4の加速度が所望範囲であった、直前の所定数(複数)の時刻(シナリオ1終了時)を選択する。つまり、プロセッサ14は、ツール#1の移動距離が所望範囲であり、ツール4の加速度が所望範囲であった、直前の所定数のシナリオ1終了時の時刻を選択する。
次に、プロセッサ14は、これらの複数の時刻でのモータ#1の電圧値の平均を算出する。つまり、プロセッサ14は、所望範囲の電圧値の移動平均を算出する。
そして、プロセッサ14は、許容可能な過剰な電圧値の移動平均と、所望範囲の電圧値の移動平均の中間の値(例えば加重平均または中央値)を、シナリオ1終了時のモータ#1の電圧値の第2の基準閾値として算出する。
同様にして、プロセッサ14は、ツール#1の不足移動距離が許容可能であり、ツール4の加速度が大きいが許容可能であった、直前の所定数のシナリオ1終了時の時刻を選択する。次に、プロセッサ14は、これらの複数の時刻でのモータ#1の電圧値の平均を算出する。つまり、プロセッサ14は、許容可能な不足な電圧値の移動平均を算出する。そして、プロセッサ14は、所望範囲の電圧値の移動平均と、許容可能な不足な電圧値の移動平均の中間の値(例えば加重平均または中央値)を、シナリオ1終了時のモータ#1の電圧値の第3の基準閾値として算出する。
同様にして、プロセッサ14は、ツール#1の不足移動距離が許容不能であり、ツール4の加速度が許容不能なほど大きかった、直前の所定数のシナリオ1終了時の時刻を選択する。次に、プロセッサ14は、これらの複数の時刻でのモータ#1の電圧値の平均を算出する。つまり、プロセッサ14は、許容不能な不足な電圧値の移動平均を算出する。そして、プロセッサ14は、許容可能な不足な電圧値の移動平均と、許容不能な不足な電圧値の移動平均の中間の値(例えば加重平均または中央値)を、シナリオ1終了時のモータ#1の電圧値の第4の基準閾値として算出する。
同様にして、プロセッサ14は、他の各モータについてもシナリオ1終了時の4つの基準閾値を導出し、各モータの電流値についてもシナリオ1終了時の4つの基準閾値を導出し、各モータのトルク値についてもシナリオ1終了時の4つの基準閾値を導出する。さらに、プロセッサ14は、シナリオ2終了時の基準閾値および作業終了時の基準閾値を導出する。
以上、第2の特徴量の移動平均を利用して、当該特徴量についての基準閾値を算出する機械学習機能(統計的手法)の例を説明した。しかし、プロセッサ14は、他の機械学習アルゴリズムを用いて、基準閾値を算出してもよい。例えば、外挿アルゴリズムを用いて、第2の特徴量の許容不能な不適切レベル、許容可能な不適切レベル、および適切レベルを算出し、これらに基づいて基準閾値を算出してもよい。外挿アルゴリズムとしては、例えば、カルマンフィルタ、ビタビアルゴリズム、または隠れマルコフモデルを用いてよい。基準閾値は、計算によって導出されるだけでなく、ルックアップテーブルを用いて導出してもよい。
プロセッサ14の基準閾値導出42の機能は、動作ログ36に蓄積された第1の特徴量と第2の特徴量の時間的変化に伴い、各基準閾値を更新する。例えば、移動平均などの統計的手法を使用する場合には、動作ログ36に蓄積された第1の特徴量と第2の特徴量の時間的変化に伴い、計算される各基準閾値は時間的に変化する。したがって、時間の経過に伴うロボット2の性質の変化があっても、基準閾値導出42の機能は、動的に基準閾値を更新することができ、正常性判定38の機能は、ロボット2の挙動の正常性の度合いを適切に判定し続けることができる。
さらに、基準閾値の導出において、環境の状態を表す第3の特徴量、例えば、温度取得28の機能で得られる温度、磁場、放射線量、湿度および気圧を用いてもよい。例えば温度を用いる場合、ロボットの温度が第1の範囲にある場合の第1の特徴量と第2の特徴量から、ロボットの温度が第1の範囲にある場合の第2の特徴量についての複数の基準閾値を導出し、ロボットの温度が第2の範囲にある場合の第1の特徴量と第2の特徴量から、ロボットの温度が第2の範囲にある場合の第2の特徴量についての複数の基準閾値を導出してよい。
<ロボットに与えるべきパラメータの導出>
図2に戻り、この実施形態に係るプロセッサ14は、ロボット2の正常な挙動を達成するためにロボット2に与えるべきパラメータを導出するパラメータ導出44の機能を有する。ロボット動作制御21の機能は、パラメータ導出44の機能で導出されたパラメータをロボット2の制御に使用する。
ロボット2の正常な挙動を達成するために、動作ログ36に蓄積された複数時刻における第1の特徴量(挙動の正常性の度合いを表す特徴量、すなわち画像特徴量、座標、および/または加速度)と、動作ログ36に蓄積された複数時刻における第2の特徴量(ロボット2の稼働進行状態を表す特徴量、すなわち電圧値(測定電圧値)、電流値(測定電流値)、および/またはトルク値(測定トルク値))に基づいて、機械学習機能(統計的手法)により、プロセッサ14のパラメータ導出44の機能は、適切なパラメータを導出する。そして、プロセッサ14のロボット動作制御21の機能は、パラメータ導出44の機能で導出されたパラメータをロボット2の制御に使用する。
この実施形態では、パラメータ導出44の機能は、ロボット2に与えるべきパラメータとして、ロボット2の各アクチュエータ2a,2b,2d,2dに与えるべき電流値(指令電流値)、ロボット2の各アクチュエータ2a,2b,2d,2dに与えるべき電圧値(指令電圧値)、およびロボット2の各アクチュエータ2a,2b,2d,2dに与えるべきトルク値(指令トルク値)を導出する。但し、パラメータ導出44の機能は、ロボット2のいずれかのアクチュエータに与えるべき電流値、電圧値、およびトルク値のいずれか1つを導出してもよい。パラメータ導出44の機能は、導出されたパラメータをメモリ16に格納されたパラメータテーブル46に記録する。
図7は、プロセッサ14のパラメータ導出44の機能により格納されたパラメータテーブル46の一例を模式的に示す。図7の例から明らかなように、パラメータ導出44の機能は、各単位工程で使用されるべきパラメータを導出する。具体的には、図7の作業開始時のパラメータは、作業開始からシナリオ1終了時まで使用され、シナリオ1終了時のパラメータは、シナリオ1終了時(シナリオ2開始時)からシナリオ2終了時まで使用され、シナリオ2終了時のパラメータは、シナリオ2終了時(シナリオ3開始時)からシナリオ3終了時(作業終了時)まで使用される。
プロセッサ14のロボット動作制御21の機能は、パラメータテーブル46内の指令電流値、指令電圧値、および指令トルク値に従って、ロボット2の各アクチュエータを制御する。
第1の特徴量と第2の特徴量からパラメータ導出44の機能がパラメータを導出する統計的手法は、例えば、各単位工程における第2の特徴量の移動平均(単純移動平均、加重移動平均、指数平滑移動平均、または他の移動平均のいずれかでよい)を利用してよい。例えば、作業開始時のモータ#1の指令電圧値(図7)を導出する場合には、プロセッサ14は、動作ログ36に蓄積された、過去の多数のシナリオ1終了時の画像特徴量と、モータ#1に対応するツール#1の座標と、ツール#4の加速度に基づいて、ツール#1が目標位置に対する所望範囲に移動し、ツール4の加速度が所望範囲であった、直前の所定数(複数)の時刻(シナリオ1終了時)を選択する。次に、プロセッサ14は、これらの複数の時刻でのモータ#1の電圧値の平均を、作業開始時のモータ#1の指令電圧値として、算出する。この平均は、時間的変化に伴い時間的に移動するので移動平均である。同様にして、プロセッサ14は、他の各モータについても作業開始時の指令電圧閾値を導出し、作業開始時の各モータの指令電流値と指令トルク値も導出する。さらに、プロセッサ14は、シナリオ1終了時のパラメータおよびシナリオ2終了時のパラメータを導出する。
但し、プロセッサ14は、他の機械学習アルゴリズムを用いて、パラメータを算出してもよい。例えば、外挿アルゴリズムを用いて、第2の特徴量の適切範囲を算出し、これに基づいて基準閾値を算出してもよい。外挿アルゴリズムとしては、例えば、カルマンフィルタ、ビタビアルゴリズム、または隠れマルコフモデルを用いてよい。パラメータは、計算によって導出されるだけでなく、ルックアップテーブルを用いて導出してもよい。
以上のようにして、蓄積された複数種類の特徴量に基づいて、ロボット2に与えるべき適切なパラメータを導出することができる。プロセッサ14のパラメータ導出44の機能は、動作ログ36に蓄積された第1の特徴量と第2の特徴量の時間的変化に伴い、各パラメータを更新する。例えば、移動平均などの統計的手法を使用する場合には、動作ログ36に蓄積された第1の特徴量と第2の特徴量の時間的変化に伴い、計算される各パラメータは時間的に変化する。したがって、時間の経過に伴うロボット2の性質の変化があっても、パラメータ導出44の機能は、動的にパラメータを更新することができ、ロボット動作制御21の機能は、ロボット2の正常な挙動を適切に維持することができる。
さらに、パラメータの導出において、環境の状態を表す第3の特徴量、例えば、温度取得28の機能で得られる温度、磁場、放射線量、湿度および気圧を用いてもよい。例えば温度を用いる場合、ロボットの温度が第1の範囲にある場合の第1の特徴量と第2の特徴量から、ロボットの温度が第1の範囲にある場合の複数のパラメータを導出し、ロボットの温度が第2の範囲にある場合の第1の特徴量と第2の特徴量から、ロボットの温度が第2の範囲にある場合の複数のパラメータを導出してよい。
さらに、この実施形態では、パラメータ導出44で使用される統計的手法は、可変である。図2に戻り、プロセッサ14のパラメータ導出44の機能は、現在の第2の特徴量をメモリ16に格納されたパラメータ設定閾値テーブル50内のパラメータ設定閾値と比較して、比較結果に応じて、パラメータを導出するための統計的手法を選択し、選択された手法に従って、パラメータを導出する。
プロセッサ14は、動作ログ36に基づいて、機械学習機能(統計的手法)により、パラメータ導出44で使用される統計的手法を決定するためのパラメータ設定閾値を導出するパラメータ設定閾値導出48の機能を有する。パラメータ設定閾値導出48の機能は、導出されたパラメータ設定閾値をメモリ16に格納されたパラメータ設定閾値テーブル50内に記録する。
図8は、プロセッサ14により使用されるパラメータ設定閾値テーブル50の一例を模式的に示す。図8の例から明らかなように、パラメータ設定閾値導出48の機能は、各単位工程で使用されるべきパラメータ設定閾値を導出する。具体的には、図8の作業開始時のパラメータ設定閾値は、作業開始からシナリオ1終了時まで使用され、シナリオ1終了時のパラメータ設定閾値は、シナリオ1終了時(シナリオ2開始時)からシナリオ2終了時まで使用され、シナリオ2終了時のパラメータ設定閾値は、シナリオ2終了時(シナリオ3開始時)からシナリオ3終了時(作業終了時)まで使用される。図8の例では、パラメータ設定閾値テーブル50は、ロボット2で使用される各モータの電圧値に4つのパラメータ設定閾値が設けられ、各モータの電流値に4つのパラメータ設定閾値が設けられ、各モータのトルク値に4つのパラメータ設定閾値が設けられる。つまり、各特徴量に4つのパラメータ設定閾値が設けられている。
図9は、パラメータ設定閾値テーブル50の各特徴量についての4つのパラメータ設定閾値の用途を模式的に示す。プロセッサ14のパラメータ導出44の機能は、各特徴量と4つのパラメータ設定閾値との比較結果に従って、単位工程におけるロボットの挙動の正常性の5段階のいずれかに応じた措置を実行する。現在の特徴量が第1のパラメータ設定閾値より高いことは、許容不能な異常(超過)が生じるおそれが高いこと、すなわち単位工程の遂行が許容不能な失敗となるおそれが高いことを意味し、この場合、プロセッサ14のパラメータ導出44の機能は、異常な超過を抑圧可能な設定手法1を選択する。現在の特徴量が第1のパラメータ設定閾値と第2のパラメータ設定閾値の間にあることは、許容可能な異常(超過)が生じるおそれが高いこと、すなわち単位工程の遂行が許容可能な失敗となるおそれが高いことを意味し、この場合、プロセッサ14のパラメータ導出44の機能は、要注意な超過を抑圧可能な設定手法2を選択する。現在の特徴量が第2のパラメータ設定閾値と第3のパラメータ設定閾値の間にあることは、ロボット2の動作が正常であること、すなわち単位工程の遂行が正常となる可能性が高いことを意味し、この場合、プロセッサ14のパラメータ導出44の機能は、標準的な設定手法3を選択する。現在の特徴量が第3のパラメータ設定閾値と第4のパラメータ設定閾値の間にあることは、許容可能な異常(不足)が生じるおそれが高いこと、すなわち単位工程の遂行が許容不能な失敗となるおそれが高いことを意味し、この場合、プロセッサ14のパラメータ導出44の機能は、要注意な不足を抑圧可能な設定手法4を選択する。現在の特徴量が第4のパラメータ設定閾値より低いことは、許容不能な異常(不足)が生じるおそれが高いこと、すなわち単位工程の遂行が許容可能な失敗となるおそれが高いことを意味し、この場合、プロセッサ14のパラメータ導出44の機能は、異常な不足を抑圧可能な設定手法5を選択する。現在の特徴量がいずれかのパラメータ設定閾値と等しい場合には、プロセッサ14は、特徴量がそのパラメータ設定閾値よりわずかに高い場合に行うべき措置を実行してもよいし、特徴量がそのパラメータ設定閾値よりわずかに低い場合に行うべき措置を実行してもよい。
プロセッサ14のパラメータ導出44の機能は、各単位工程におけるパラメータ設定閾値を参照して、各単位工程におけるロボット2の挙動の正常性の度合いに応じた適切な設定手法を選択するので、各単位工程に適切なパラメータを導出することができる。
また、各特徴量についての複数(実施形態では4つ)のパラメータ設定閾値を用いることにより、単に正常と異常だけではなく、例えば、許容可能な異常、許容不能な異常、および正常な動作に応じて、適切なパラメータを導出することができる。
パラメータ設定閾値導出48の機能は、動作ログ36に蓄積された複数時刻における第1の特徴量(ロボット2の挙動の正常性の度合いを表す特徴量)と第2の特徴量(ロボット2の稼働進行状態を表す特徴量)から統計的手法により、各パラメータ設定閾値を導出する。また、パラメータ設定閾値導出48の機能は、動作ログ36に蓄積された第1の特徴量と第2の特徴量の時間的変化に伴い、各パラメータ設定閾値を更新する。
例えば、第2の特徴量の移動平均(単純移動平均、加重移動平均、指数平滑移動平均、または他の移動平均のいずれかでよい)を利用して、プロセッサ14のパラメータ設定閾値導出48の機能は、当該特徴量についてのパラメータ設定閾値を導出してよい。以下、具体例を説明するが、パラメータ設定閾値導出48の機能は下記の具体例に限定されない。
例えば、シナリオ1終了時のモータ#1の電圧値の第1のパラメータ設定閾値(図8)を導出する場合には、プロセッサ14は、動作ログ36に蓄積された、過去の多数のシナリオ1終了時の画像特徴量と、モータ#1に対応するツール#1の座標と、ツール#4の加速度に基づいて、ツール#1が目標位置に比べて過剰に移動し、過剰移動した距離が所定の第1の距離よりも多く、ツール4の加速度が所定の第1の値より大きかった、直前の所定数(複数)の時刻(シナリオ1終了時)を選択する。つまり、プロセッサ14は、許容不能なほどツール#1が過剰に移動し、ツール4の加速度が許容不能なほど大きかった、直前の所定数のシナリオ1終了時の時刻を選択する。
次に、プロセッサ14は、これらの複数の時刻でのモータ#1の電圧値の平均を算出する。つまり、プロセッサ14は、許容不能な過剰な電圧値の平均を算出する。この平均は、時間的変化に伴い時間的に移動するので移動平均である。加重移動平均、指数平滑移動平均、または他の移動平均を算出してもよい。加重移動平均または指数平滑移動平均を利用する場合には、現在時刻に近いほど、重みを大きくするのが好ましい。
さらに、プロセッサ14は、動作ログ36に蓄積された、過去の多数のシナリオ1終了時の画像特徴量と、モータ#1に対応するツール#1の座標と、ツール#4の加速度に基づいて、ツール#1が目標位置に比べて過剰に移動し、過剰移動した距離が所定の第2の距離よりも多く第1の距離以下であり、ツール4の加速度が所定の第2の値より大きく第1の値以下であった、直前の所定数(複数)の時刻(シナリオ1終了時)を選択する。つまり、プロセッサ14は、ツール#1の過剰移動距離が許容可能であり、ツール4の加速度が大きいが許容可能であった、直前の所定数のシナリオ1終了時の時刻を選択する。
次に、プロセッサ14は、これらの複数の時刻でのモータ#1の電圧値の平均を算出する。つまり、プロセッサ14は、許容可能な過剰な電圧値の移動平均を算出する。
そして、プロセッサ14は、許容不能な過剰な電圧値の移動平均と、許容可能な過剰な電圧値の移動平均の中間の値を、作業開始時のモータ#1の電圧値の第1のパラメータ設定閾値として算出する。例えば、許容不能な過剰な電圧値の移動平均をA1とし、許容可能な過剰な電圧値の移動平均をA2とした場合、第1のパラメータ設定閾値Bは、下記のようにして算出される。
B={β・A1+(2−β)・A2}/2
ここでβは、0より大きく2より小さい値である。値βは1でもよく、この場合、Aは、A1とA2の平均または中央値である。また、値βは、機械学習によって、適切な第1のパラメータ設定閾値Bが得られるように更新してもよい。
同様にして、プロセッサ14は、動作ログ36に蓄積された、過去の多数のシナリオ1終了時の画像特徴量と、モータ#1に対応するツール#1の座標と、ツール#4の加速度に基づいて、ツール#1が目標位置に対する所望範囲に移動し、ツール4の加速度が所望範囲であった、直前の所定数(複数)の時刻(シナリオ1終了時)を選択する。つまり、プロセッサ14は、ツール#1の移動距離が所望範囲であり、ツール4の加速度が所望範囲であった、直前の所定数のシナリオ1終了時の時刻を選択する。
次に、プロセッサ14は、これらの複数の時刻でのモータ#1の電圧値の平均を算出する。つまり、プロセッサ14は、所望範囲の電圧値の移動平均を算出する。
そして、プロセッサ14は、許容可能な過剰な電圧値の移動平均と、所望範囲の電圧値の移動平均の中間の値(例えば加重平均または中央値)を、作業開始時のモータ#1の電圧値の第2のパラメータ設定閾値として算出する。
同様にして、プロセッサ14は、ツール#1の不足移動距離が許容可能であり、ツール4の加速度が大きいが許容可能であった、直前の所定数のシナリオ1終了時の時刻を選択する。次に、プロセッサ14は、これらの複数の時刻でのモータ#1の電圧値の平均を算出する。つまり、プロセッサ14は、許容可能な不足な電圧値の移動平均を算出する。そして、プロセッサ14は、所望範囲の電圧値の移動平均と、許容可能な不足な電圧値の移動平均の中間の値(例えば加重平均または中央値)を、作業開始時のモータ#1の電圧値の第3のパラメータ設定閾値として算出する。
同様にして、プロセッサ14は、ツール#1の不足移動距離が許容不能であり、ツール4の加速度が許容不能なほど大きかった、直前の所定数のシナリオ1終了時の時刻を選択する。次に、プロセッサ14は、これらの複数の時刻でのモータ#1の電圧値の平均を算出する。つまり、プロセッサ14は、許容不能な不足な電圧値の移動平均を算出する。そして、プロセッサ14は、許容可能な不足な電圧値の移動平均と、許容不能な不足な電圧値の移動平均の中間の値(例えば加重平均または中央値)を、作業開始時のモータ#1の電圧値の第4のパラメータ設定閾値として算出する。
同様にして、プロセッサ14は、他の各モータについても作業開始時の4つのパラメータ設定閾値を導出し、各モータの電流値についても作業開始時の4つのパラメータ設定閾値を導出し、各モータのトルク値についても作業開始時の4つのパラメータ設定閾値を導出する。さらに、プロセッサ14は、シナリオ1終了時のパラメータ設定閾値およびシナリオ2終了時のパラメータ設定閾値を導出する。
以上、第2の特徴量の移動平均を利用して、当該特徴量についてのパラメータ設定閾値を算出する機械学習機能(統計的手法)の例を説明した。しかし、プロセッサ14は、他の機械学習アルゴリズムを用いて、パラメータ設定閾値を算出してもよい。例えば、外挿アルゴリズムを用いて、第2の特徴量の許容不能な不適切レベル、許容可能な不適切レベル、および適切レベルを算出し、これらに基づいてパラメータ設定閾値を算出してもよい。外挿アルゴリズムとしては、例えば、カルマンフィルタ、ビタビアルゴリズム、または隠れマルコフモデルを用いてよい。パラメータ設定閾値は、計算によって導出されるだけでなく、ルックアップテーブルを用いて導出してもよい。
プロセッサ14のパラメータ設定閾値導出48の機能は、動作ログ36に蓄積された第1の特徴量と第2の特徴量の時間的変化に伴い、各パラメータ設定閾値を更新する。例えば、移動平均などの統計的手法を使用する場合には、動作ログ36に蓄積された第1の特徴量と第2の特徴量の時間的変化に伴い、計算される各パラメータ設定閾値は時間的に変化する。したがって、時間の経過に伴うロボット2の性質の変化があっても、パラメータ設定閾値導出48の機能は、動的にパラメータ設定閾値を更新することができ、パラメータ導出44の機能は、ロボット2の挙動の正常性の度合い応じた設定手法を適切に選択し続けることができる。
さらに、パラメータ設定閾値の導出において、環境の状態を表す第3の特徴量、例えば、温度取得28の機能で得られる温度、磁場、放射線量、湿度および気圧を用いてもよい。例えば温度を用いる場合、ロボットの温度が第1の範囲にある場合の第1の特徴量と第2の特徴量から、ロボットの温度が第1の範囲にある場合の第2の特徴量についての複数のパラメータ設定閾値を導出し、ロボットの温度が第2の範囲にある場合の第1の特徴量と第2の特徴量から、ロボットの温度が第2の範囲にある場合の第2の特徴量についての複数のパラメータ設定閾値を導出してよい。
変形例
以上、本発明の実施形態を説明したが、上記の説明は本発明を限定するものではなく、本発明の技術的範囲において、構成要素の削除、追加、置換を含む様々な変形例が考えられる。
例えば、上記の実施形態では、コントローラ4がロボット制御装置であるが、コントローラ4とゲートウェイ12が協働でロボット制御装置を構成してもよい。図10は、変形例に係るロボット制御装置であるコントローラ4とゲートウェイ12を示すブロック図である。この変形例では、ゲートウェイ12のプロセッサ12Aが、正常性判定38の機能、基準閾値導出42の機能、パラメータ導出44の機能、およびパラメータ設定閾値導出48の機能を実行する。また、ゲートウェイ12のメモリ12Bが基準閾値テーブル40、パラメータテーブル46およびパラメータ設定閾値テーブル50を格納する。実施形態のプロセッサ14の各機能は、図10の例以外の形式で、プロセッサ14またはプロセッサ12Aに割り当てることが可能である。つまり、これらの機能の各々は、コントローラ4で実行されてもよいし、ゲートウェイ12で実行されてもよい。このように機能が分散される場合、プロセッサ14およびプロセッサ12Aは、それぞれ相応のプログラムに従って動作することにより、これらの機能を実行する。また、実施形態のメモリ16に格納される動作ログ36、基準閾値テーブル40、パラメータテーブル46およびパラメータ設定閾値テーブル50は、図10の例以外の形式で、メモリ16またはメモリ12Bに格納することが可能である。
また、実施形態のプロセッサ14の各機能は、コントローラ4と通信するコンピュータ(通信装置)7に割り当てることが可能である。つまり、これらの機能の各々は、コントローラ4で実行されてもよいし、ゲートウェイ12で実行されてもよいし、コンピュータ7で実行されてもよい。すなわち、ネットワークシステム1全体が協働して機能を実行してもよい。このように機能が分散される場合、プロセッサ14、プロセッサ12A、およびコンピュータ7のプロセッサは、それぞれ相応のプログラムに従って動作することにより、これらの機能を実行する。
上記の実施形態では、プロセッサ14は、メモリ16に格納されたプログラムを読み出して実行し、同じメモリ16に動作ログ36、基準閾値テーブル40、パラメータテーブル46およびパラメータ設定閾値テーブル50が格納されている。但し、プログラム、動作ログ36、基準閾値テーブル40、パラメータテーブル46およびパラメータ設定閾値テーブル50は、異なる記憶媒体に格納されてもよい。例えば、動作ログ36は、リングバッファに格納されてもよい。
プロセッサが実行する各機能は、プロセッサの代わりに、ハードウェアで実行してもよいし、例えばFPGA(Field Programmable Gate Array),DSP(Digital Signal Processor)等のプログラマブルロジックデバイスで実行してもよい。
画像特徴量演算22の機能、座標取得24の機能、および加速度取得26の機能のすべてを使用しなくてもよい。つまり、ロボット2の挙動の正常性の度合いを表す第1の特徴量は、上記の例示のうちいずれかであってもよい。逆に、他の特徴量を第1の特徴量として使用してもよい。
電圧値取得30の機能、電流値取得32の機能、およびトルク値取得34の機能のすべてを使用しなくてもよい。つまり、ロボット2の稼働進行状態を表す第2の特徴量は、上記の例示のうちいずれかであってもよい。逆に、他の特徴量を第2の特徴量として使用してもよい。
環境の状態を表す第3の特徴量、例えば、温度取得28の機能を使用しなくてもよい。逆に、上記していない他の特徴量を第3の特徴量として使用してもよい。
上記の実施形態では、正常性判定38の機能は、4つの基準閾値を用いて5段階のいずれかに応じた措置を実行する。但し、正常性判定38は、2つの基準閾値を用いて3段階(例えば、正常、許容可能な異常、または許容不能な異常)のいずれかに応じた措置を実行してもよいし、1つの基準閾値を用いて2段階(例えば、正常または異常)のいずれかに応じた措置を実行してもよい。
上記の実施形態では、パラメータ導出44の機能は、4つの基準閾値で5段階のいずれかに応じた措置を実行する。但し、パラメータ導出44は、2つの基準閾値で3段階(例えば、正常、許容可能な異常、または許容不能な異常)のいずれかに応じた措置を実行してもよいし、1つの基準閾値を用いて2段階(例えば、正常または異常)のいずれかに応じた措置を実行してもよい。
上記の実施形態の現在の第2の特徴量を基準閾値と比較する正常性判定38の機能および基準閾値導出42の機能は必ずしも必須ではない。
1 ネットワークシステム
2 ロボット
2a,2b,2d,2d アクチュエータ
4 コントローラ(ロボット制御装置)
6 クラウドサーバ
7 コンピュータ(通信装置)
10 ネットワーク
12 ゲートウェイ
12A プロセッサ
12B メモリ
14 プロセッサ(制御部、第1の取得部、第2の取得部、判定部、基準閾値導出部、パラメータ導出部、パラメータ閾値導出部)
16 メモリ(記憶部)
18 センサ
20 カメラ
21 ロボット動作制御
22 画像特徴量演算
24 座標取得
26 加速度取得
28 温度取得
30 電圧値取得
32 電流値取得
34 トルク値取得
36 動作ログ
38 正常性判定
40 基準閾値テーブル
42 基準閾値導出
44 パラメータ導出
46 パラメータテーブル
48 パラメータ設定閾値導出
50 パラメータ設定閾値テーブル

Claims (9)

  1. ロボットの動作を制御する制御部と、
    前記ロボットの動作の単位工程における、前記ロボットの挙動の正常性の度合いを表す第1の特徴量を取得する第1の取得部と、
    前記単位工程における、前記ロボットの稼働進行状態を表す第2の特徴量を取得する第2の取得部と、
    過去の複数時刻における前記第1の特徴量と前記第2の特徴量を、各時刻での第1の特徴量と第2の特徴量を関連付けて、蓄積する記憶部と、
    現在の第2の特徴量を基準閾値と比較して、比較結果に応じて、前記単位工程における前記ロボットの挙動の正常性の度合いを判定する判定部と、
    前記記憶部に蓄積された前記複数時刻における前記第1の特徴量と前記第2の特徴量から統計的手法により、前記基準閾値を導出する基準閾値導出部と、
    を有し、
    前記基準閾値導出部は、前記記憶部に蓄積された前記第1の特徴量と前記第2の特徴量の時間的変化に伴い、前記基準閾値を更新する、
    ロボット制御装置。
  2. 前記基準閾値導出部は、複数の基準閾値を導出し、
    前記判定部は、現在の前記第2の特徴量を前記複数の基準閾値と比較して、比較結果に従って、前記単位工程における前記ロボットの挙動の正常性の3つ以上の段階のいずれかに応じた措置を実行する、
    ことを特徴とする請求項1に記載のロボット制御装置。
  3. 前記第1の取得部は、前記ロボットを撮影するカメラから出力された画像信号に関する第1の特徴量を取得する、
    ことを特徴とする請求項1または2に記載のロボット制御装置。
  4. 前記第1の取得部は、前記ロボットの部分の位置に関する第1の特徴量を取得する、
    ことを特徴とする請求項1から3のいずれか1項に記載のロボット制御装置。
  5. 前記第2の取得部は、前記ロボットを駆動するアクチュエータに供給される電気信号に関する第2の特徴量を取得する、
    ことを特徴とする請求項1から4のいずれか1項に記載のロボット制御装置。
  6. 前記第2の取得部は、前記ロボットを駆動するアクチュエータの動作の測定結果に関する第2の特徴量を取得する、
    ことを特徴とする請求項1から5のいずれか1項に記載のロボット制御装置。
  7. ロボットの動作を制御する制御部を有するロボット制御装置と、
    前記ロボット制御装置と通信する通信装置と、
    を有するネットワークシステムであって、
    前記ロボット制御装置または前記通信装置が、前記ロボットの動作の単位工程における、前記ロボットの挙動の正常性の度合いを表す第1の特徴量を取得する第1の取得部を有し、
    前記ロボット制御装置または前記通信装置が、前記単位工程における、前記ロボットの稼働進行状態を表す第2の特徴量を取得する第2の取得部を有し、
    前記ロボット制御装置または前記通信装置が、過去の複数時刻における前記第1の特徴量と前記第2の特徴量を、各時刻での第1の特徴量と第2の特徴量を関連付けて、蓄積する記憶部を有し、
    前記ロボット制御装置または前記通信装置が、現在の第2の特徴量を基準閾値と比較して、比較結果に応じて、前記単位工程における前記ロボットの挙動の正常性の度合いを判定する判定部を有し、
    前記ロボット制御装置または前記通信装置が、前記記憶部に蓄積された前記複数時刻における前記第1の特徴量と前記第2の特徴量から統計的手法により、前記基準閾値を導出し、前記記憶部に蓄積された前記第1の特徴量と前記第2の特徴量の時間的変化に伴い、前記基準閾値を更新する基準閾値導出部を有する、
    ネットワークシステム。
  8. ロボットの動作の単位工程における、前記ロボットの挙動の正常性の度合いを表す第1の特徴量を取得し、
    前記単位工程における、前記ロボットの稼働進行状態を表す第2の特徴量を取得し、
    過去の複数時刻における前記第1の特徴量と前記第2の特徴量を、各時刻での第1の特徴量と第2の特徴量を関連付けて、記憶部に蓄積し、
    現在の第2の特徴量を基準閾値と比較して、比較結果に応じて、前記単位工程における前記ロボットの挙動の正常性の度合いを判定し、
    前記記憶部に蓄積された前記複数時刻における前記第1の特徴量と前記第2の特徴量から統計的手法により、前記基準閾値を導出し、
    前記記憶部に蓄積された前記第1の特徴量と前記第2の特徴量の時間的変化に伴い、前記基準閾値を更新する、
    ロボットの監視方法。
  9. コンピュータに、
    ロボットの動作の単位工程における、前記ロボットの挙動の正常性の度合いを表す第1の特徴量を取得する機能と、
    前記単位工程における、前記ロボットの稼働進行状態を表す第2の特徴量を取得する機能と、
    過去の複数時刻における前記第1の特徴量と前記第2の特徴量を、各時刻での第1の特徴量と第2の特徴量を関連付けて、記憶部に蓄積する機能と、
    現在の第2の特徴量を基準閾値と比較して、比較結果に応じて、前記単位工程における前記ロボットの挙動の正常性の度合いを判定する機能と、
    前記記憶部に蓄積された前記複数時刻における前記第1の特徴量と前記第2の特徴量から統計的手法により、前記基準閾値を導出する機能と、
    前記記憶部に蓄積された前記第1の特徴量と前記第2の特徴量の時間的変化に伴い、前記基準閾値を更新する機能と、
    を実行させるプログラム。
JP2018048907A 2018-03-16 2018-03-16 ロボット制御装置、ネットワークシステム、ロボットの監視方法およびプログラム Pending JP2019155573A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018048907A JP2019155573A (ja) 2018-03-16 2018-03-16 ロボット制御装置、ネットワークシステム、ロボットの監視方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018048907A JP2019155573A (ja) 2018-03-16 2018-03-16 ロボット制御装置、ネットワークシステム、ロボットの監視方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2019155573A true JP2019155573A (ja) 2019-09-19

Family

ID=67992227

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018048907A Pending JP2019155573A (ja) 2018-03-16 2018-03-16 ロボット制御装置、ネットワークシステム、ロボットの監視方法およびプログラム

Country Status (1)

Country Link
JP (1) JP2019155573A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115602195A (zh) * 2022-12-12 2023-01-13 杭州兆华电子股份有限公司(Cn) 一种汽车后视镜电机转动异响测试的方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115602195A (zh) * 2022-12-12 2023-01-13 杭州兆华电子股份有限公司(Cn) 一种汽车后视镜电机转动异响测试的方法

Similar Documents

Publication Publication Date Title
JP6569927B1 (ja) 異常判定システム、モータ制御装置、及び異常判定装置
JP6564412B2 (ja) 機械学習装置及び熱変位補正装置
CN111624951B (zh) 加工条件调整装置以及加工条件调整系统
JP7325481B2 (ja) 制御システム、工場システム、学習システム、推定用モデルの生成方法及びアクチュエータの状態推定方法
US10915419B2 (en) Industrial control system, and assistance apparatus, control assist method, and program thereof
JP7209360B2 (ja) 搬送装置の健全性評価のための方法および装置
CN109308048A (zh) 加工机械系统以及制造系统
CN108334652B (zh) 机台的预诊断方法及预诊断装置
US10507581B2 (en) Robot system
JPWO2020152741A1 (ja) 異常要因推定装置、異常要因推定方法、及びプログラム
JP2019155573A (ja) ロボット制御装置、ネットワークシステム、ロボットの監視方法およびプログラム
JP2019155574A (ja) ロボット制御装置、ネットワークシステム、ロボットのパラメータの導出方法およびプログラム
US20230147470A1 (en) Failure prediction system
JP2022168706A (ja) 異常検知装置、プログラム、異常検知方法、及び製造方法
CN110096029B (zh) 热位移校正装置
JP6882364B2 (ja) 機械学習装置及び熱変位補正装置
US11809156B2 (en) Thermal displacement correction method for machine tool
US20180095438A1 (en) Control apparatus, control method for control apparatus, control program, and storage medium
US11463849B2 (en) Data processing device, data analyzing device, data processing system and method for processing data
JP6913086B2 (ja) 意思決定を自動的に行う方法及びプログラム制御機械
KR20190114161A (ko) 설비의 고장 발생 검출 방법 및 장치
JP7108577B2 (ja) 診断装置と診断方法および加工装置
JP6909616B2 (ja) 製造システムおよび製造方法
JP2018169747A (ja) 管理システム
TWI794229B (zh) 用於運送裝置的健康評估的方法及裝置