(57)【要約】      （修正有）【課題】蓄積されたデータに基づいて、ロボットに与えるべき適切なパラメータを導出することができる技術を提供する。【解決手段】ロボット制御装置は、ロボットの動作を制御する制御部、第１の取得部、第２の取得部、記憶部、およびパラメータ導出部を有する。第１の取得部と第２の取得部は、それぞれ、ロボットの動作の単位工程における、ロボットの挙動の正常性の度合いを表す第１の特徴量と、ロボットの稼働進行状態を表す第２の特徴量を取得し、過去の各時刻での第１、第２の特徴量を関連付けて記憶部に蓄積する。パラメータ導出部は、記憶部に蓄積された複数時刻における第１の特徴量と第２の特徴量から統計的手法により、ロボットの正常な挙動を達成するためにロボットに与えるべきパラメータを導出する。【選択図】図２
2019155574.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの動作を制御する制御部と、
前記ロボットの動作の単位工程における、前記ロボットの挙動の正常性の度合いを表す第１の特徴量を取得する第１の取得部と、
前記単位工程における、前記ロボットの稼働進行状態を表す第２の特徴量を取得する第２の取得部と、
過去の複数時刻における前記第１の特徴量と前記第２の特徴量を、各時刻での第１の特徴量と第２の特徴量を関連付けて、蓄積する記憶部と、
前記記憶部に蓄積された前記複数時刻における前記第１の特徴量と前記第２の特徴量から統計的手法により、前記ロボットの正常な挙動を達成するために前記ロボットに与えるべきパラメータを導出するパラメータ導出部と、
を有するロボット制御装置。
【請求項２】
前記制御部は、前記パラメータ導出部で導出された前記パラメータを前記ロボットの制御に使用する、
ことを特徴とする請求項１に記載のロボット制御装置。
【請求項３】
前記パラメータ導出部は、前記記憶部に蓄積された前記第１の特徴量と前記第２の特徴量の時間的変化に伴い、前記パラメータを更新する、
ことを特徴とする請求項１または２に記載のロボット制御装置。
【請求項４】
前記記憶部に蓄積された前記複数時刻における前記第１の特徴量と前記第２の特徴量から統計的手法により、パラメータ設定閾値を導出し、前記記憶部に蓄積された前記第１の特徴量と前記第２の特徴量の時間的変化に伴い、前記パラメータ設定閾値を更新するパラメータ閾値導出部をさらに有し、
前記パラメータ導出部は、現在の前記第２の特徴量をパラメータ設定閾値と比較して、比較結果に応じて、前記パラメータを導出する、
ことを特徴とする請求項１から３のいずれか１項に記載のロボット制御装置。
【請求項５】
前記第１の取得部は、前記ロボットを撮影するカメラから出力された画像信号に関する第１の特徴量を取得する、
ことを特徴とする請求項１から４のいずれか１項に記載のロボット制御装置。
【請求項６】
前記第１の取得部は、前記ロボットの部分の位置に関する第１の特徴量を取得する、
ことを特徴とする請求項１から５のいずれか１項に記載のロボット制御装置。
【請求項７】
前記第２の取得部は、前記ロボットを駆動するアクチュエータに供給される電気信号に関する第２の特徴量を取得する、
ことを特徴とする請求項１から６のいずれか１項に記載のロボット制御装置。
【請求項８】
前記第２の取得部は、前記ロボットを駆動するアクチュエータの動作の測定結果に関する第２の特徴量を取得する、
ことを特徴とする請求項１から７のいずれか１項に記載のロボット制御装置。
【請求項９】
前記パラメータ導出部は、前記パラメータとして、前記ロボットに与えるべき電流値を導出する、
ことを特徴とする請求項１から８のいずれか１項に記載のロボット制御装置。
【請求項１０】
前記パラメータ導出部は、前記パラメータとして、前記ロボットに与えるべきトルク値を導出する、
ことを特徴とする請求項１から９のいずれか１項に記載のロボット制御装置。
【請求項１１】
ロボットの動作を制御する制御部を有するロボット制御装置と、
前記ロボット制御装置と通信する通信装置と、
を有するネットワークシステムであって、
前記ロボット制御装置または前記通信装置が、前記ロボットの動作の単位工程における、前記ロボットの挙動の正常性の度合いを表す第１の特徴量を取得する第１の取得部を有し、
前記ロボット制御装置または前記通信装置が、前記単位工程における、前記ロボットの稼働進行状態を表す第２の特徴量を取得する第２の取得部を有し、
前記ロボット制御装置または前記通信装置が、過去の複数時刻における前記第１の特徴量と前記第２の特徴量を、各時刻での第１の特徴量と第２の特徴量を関連付けて、蓄積する記憶部を有し、
前記ロボット制御装置または前記通信装置が、前記記憶部に蓄積された前記複数時刻における前記第１の特徴量と前記第２の特徴量から統計的手法により、前記ロボットの正常な挙動を達成するために前記ロボットに与えるべきパラメータを導出するパラメータ導出部を有する、
ネットワークシステム。
【請求項１２】
ロボットの動作の単位工程における、前記ロボットの挙動の正常性の度合いを表す第１の特徴量を取得し、
前記単位工程における、前記ロボットの稼働進行状態を表す第２の特徴量を取得し、
過去の複数時刻における前記第１の特徴量と前記第２の特徴量を、各時刻での第１の特徴量と第２の特徴量を関連付けて、記憶部に蓄積し、
前記記憶部に蓄積された前記複数時刻における前記第１の特徴量と前記第２の特徴量から統計的手法により、前記ロボットの正常な挙動を達成するために前記ロボットに与えるべきパラメータを導出する、
ロボットのパラメータの導出方法。
【請求項１３】
コンピュータに、
ロボットの動作の単位工程における、前記ロボットの挙動の正常性の度合いを表す第１の特徴量を取得する機能と、
前記単位工程における、前記ロボットの稼働進行状態を表す第２の特徴量を取得する機能と、
過去の複数時刻における前記第１の特徴量と前記第２の特徴量を、各時刻での第１の特徴量と第２の特徴量を関連付けて、記憶部に蓄積する機能と、
前記記憶部に蓄積された前記複数時刻における前記第１の特徴量と前記第２の特徴量から統計的手法により、前記ロボットの正常な挙動を達成するために前記ロボットに与えるべきパラメータを導出する機能と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御装置、ネットワークシステム、ロボットのパラメータの導出方法およびプログラムに関する。
【背景技術】
【０００２】
生産ラインで使用されるロボットに対して、蓄積された情報に基づいた学習機能を利用して、各種の解析を行う提案がされている。
【０００３】
特許文献１は、ロボットを有する生産システム内の状況を解析するシステムを開示する。このシステムは、カメラで取得された画像データ、温度データ、湿度データ、気圧データ、異常データ、ロボットの動作データを記憶し、これらのデータを用いて、機械学習を行うことにより各種の解析情報を生成する。また、このシステムは、機械学習によって、それぞれのデータから有用な規則や生産システム内の異常検知等を行うための判定基準等となる解析情報を生成する。ここでの判定基準は、ロボットがワークに対して正確な作業を行うことができない動作エラーが生じるか否かの判定に使用される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−０６８５５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に記載の技術では、システム内の異常発生を防止することを目的とするだけである。
【０００６】
本発明は、蓄積されたデータに基づいて、ロボットに与えるべき適切なパラメータを導出することができる技術を提供する。
【課題を解決するための手段】
【０００７】
本発明のある態様に係るロボット制御装置は、ロボットの動作を制御する制御部と、前記ロボットの動作の単位工程における、前記ロボットの挙動の正常性の度合いを表す第１の特徴量を取得する第１の取得部と、前記単位工程における、前記ロボットの稼働進行状態を表す第２の特徴量を取得する第２の取得部と、過去の複数時刻における前記第１の特徴量と前記第２の特徴量を、各時刻での第１の特徴量と第２の特徴量を関連付けて、蓄積する記憶部と、前記記憶部に蓄積された前記複数時刻における前記第１の特徴量と前記第２の特徴量から統計的手法により、前記ロボットの正常な挙動を達成するために前記ロボットに与えるべきパラメータを導出するパラメータ導出部と、を有する
【発明の効果】
【０００８】
本発明においては、蓄積された複数種類の特徴量に基づいて、ロボットに与えるべき適切なパラメータを導出することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明の実施形態に係るネットワークシステムの概略を示すブロック図である。
【図２】図２は、本発明の実施形態に係るロボット制御装置であるコントローラを示すブロック図である。
【図３】図３は、コントローラにより格納された動作ログの内容の一例を模式的に示す概略図である。
【図４】図４は、動作ログ中のタイムスタンプと工程の項目の関係の一例を模式的に示す概略図である。
【図５】図５は、コントローラにより使用される基準閾値テーブルの一例を模式的に示す概略図である。
【図６】図６は、基準閾値テーブルの各特徴量についての４つの基準閾値の用途を模式的に示す概略図である。
【図７】図７は、コントローラにより格納されたパラメータテーブルの一例を模式的に示す概略図である。
【図８】図８は、コントローラにより使用されるパラメータ設定閾値テーブルの一例を模式的に示す概略図である。
【図９】図９は、パラメータ設定閾値テーブルの各特徴量についての４つのパラメータ設定閾値の用途を模式的に示す概略図である。
【図１０】図１０は、本発明の変形例に係るロボット制御装置であるコントローラとゲートウェイを示すブロック図である。
【発明を実施するための形態】
【００１０】
以下、添付の図面を参照しながら本発明に係る複数の実施の形態を説明する。
【００１１】
＜ネットワークシステムの概略構成＞
図１は、本発明の実施形態に係るネットワークシステム１の概略を示すブロック図である。図１に示すように、ネットワークシステム１は、複数のロボット２をそれぞれ制御および監視する複数のコントローラ（ロボット制御装置）４と、これらのコントローラ４の遠隔にあるクラウドサーバ６とを有する。各ロボット２は、工場内での製造ロボットであり、例えば多関節ロボットである。
【００１２】
クラウドサーバ６は、複数のコンピュータ（通信装置）７を備える。コンピュータ７は、ネットワーク１０に接続されている。
【００１３】
ネットワーク１０は、例えば社内ＬＡＮ（Local Area Network）でもよいし、公衆ネットワークでもよい。また、ネットワーク１０は有線ネットワークでもよいし、無線ネットワークでもよい。各コントローラ４は、ゲートウェイ（ＧＷ）１２を介してネットワーク１０に接続されている。各ゲートウェイ１２は、コントローラ４に対するエッジコンピューティング処理、およびネットワーク１０とコントローラ４の間の通信プロトコル変換などの処理を行う。
【００１４】
＜コントローラの詳細＞
図２は、コントローラ４の詳細を示すブロック図である。コントローラ４は、プロセッサ１４とメモリ（記憶部）１６を有する。プロセッサ１４は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｉｎｇ  Ｕｎｉｔ）であり、メモリ１６に記憶された各種のプログラムを実行することで各種の機能動作を実行する。メモリ１６は、例えば、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）であり、プロセッサ１４に使用されるプログラムおよび各種のデータを格納する。
【００１５】
プロセッサ１４は、メモリ１６からプログラムを読み出して実行することにより、ロボット２の動作を制御する制御部として機能し、ロボット２に所要の作業を実行させる。すなわち、プロセッサ１４は、ロボット動作制御２１の機能を有する。また、プロセッサ１４は、メモリ１６からプログラムを読み出して実行することにより、後述する様々な機能を実行することが可能である。
【００１６】
コントローラ４には、各種のセンサ１８が接続されている。図２は、２つのセンサ１８のみを示すが、さらに多くのセンサ１８がコントローラ１に接続されてよい。センサ１８は、例えば、ロボット２の所定箇所の加速度を示す測定信号、ロボット２の所定箇所に配置されたアクチュエータ２ａ，２ｂ，２ｄ，２ｄ（例えばモータ）の各々に供給された電圧値を示す測定信号、アクチュエータ２ａ，２ｂ，２ｄ，２ｄの各々に供給された電流値を示す測定信号、アクチュエータ２ａ，２ｂ，２ｄ，２ｄが発揮した力またはトルクを示す測定信号、ロボット２の温度を示す測定信号を、電気信号の形式で、コントローラ１に供給する。センサ１８は、ロボット２の内部に配置されてもよいし、外部に配置されてもよい。
【００１７】
コントローラ１には、ロボット２を撮影するカメラ２０が接続されており、撮影で得られたロボット２の挙動を示す画像信号を電気信号の形式でコントローラ１に供給する。カメラ２０は、好ましくは動画を撮影する。カメラ２０は、深度センサを有しており、深度センサは、ロボット２の各種の部分の位置を示す深度測定信号を電気信号の形式でコントローラ１に供給する。
【００１８】
図２において、プロセッサ１４の各種の機能を便宜的にプロセッサ１４の内部に示す。
【００１９】
プロセッサ１４は、カメラ２０から供給される画像信号から画像特徴量を演算する画像特徴量演算２２の機能を有する。画像特徴量は、ロボット２の作業の成功を表す数値、作業の許容可能な失敗を表す数値、作業の許容不能な（明白な）失敗を表す数値のいずれかである。作業の許容可能な失敗とは、例えば、ロボット２が貯蔵位置にある被搬送物をピックアップして、被搬送物を搬送し、他の箇所に降ろす作業では、ロボットが被搬送物を保持する位置が想定位置と異なること、被搬送物を降ろす位置が想定位置からある範囲内にあることなどである。作業の許容不能な失敗とは、例えば、当該作業では、ロボットが被搬送物をピックアップできないこと、被搬送物を搬送途中で落とすこと、被搬送物を降ろす位置が想定位置からある範囲外にあることなどである。
【００２０】
プロセッサ１４は、深度センサから供給される深度測定信号からロボット２の複数の部分の位置の座標（例えば、Ｘ，Ｙ，Ｚ座標）を取得する座標取得２４の機能を有する。プロセッサ１４は、センサ１８から供給されるロボット２の所定箇所の加速度を示す測定信号から当該箇所の加速度を取得する加速度取得２６の機能を有する。
【００２１】
また、プロセッサ１４は、センサ１８から供給されるロボット２の温度を示す測定信号からロボット２の温度を取得する温度取得２８の機能を有する。
【００２２】
さらに、プロセッサ１４は、センサ１８から供給されるアクチュエータ２ａ，２ｂ，２ｄ，２ｄの各々に供給された電気信号の電圧値を示す測定信号から当該アクチュエータに供給された電気信号の電圧値を取得する電圧値取得３０の機能を有する。プロセッサ１４は、センサ１８から供給されるアクチュエータ２ａ，２ｂ，２ｄ，２ｄの各々に供給された電気信号の電流値を示す測定信号から当該アクチュエータに供給された電気信号の電流値を取得する電流値取得３２の機能を有する。プロセッサ１４は、センサ１８から供給されるアクチュエータ２ａ，２ｂ，２ｄ，２ｄの各々が発揮したトルク値を示す測定信号から当該アクチュエータが発揮したトルク値（アクチュエータの動作の測定結果に関する特徴量）を取得するトルク値取得３４の機能を有する。
【００２３】
画像特徴量演算２２の機能で得られる画像特徴量、座標取得２４の機能で得られる座標、および加速度取得２６の機能で得られる加速度は、便宜的に、ロボット２の挙動の正常性の度合いを表す第１の特徴量と考えることができる。画像特徴量演算２２、座標取得２４、および加速度取得２６の機能を実行するプロセッサ１４は、便宜的に、第１の特徴量を取得する第１の取得部と考えることができる。
【００２４】
電圧値取得３０の機能で得られる電圧値、電流値取得３２の機能で得られる電流値、およびトルク値取得３４の機能で得られるトルク値は、便宜的に、ロボット２の稼働進行状態を表す第２の特徴量と考えることができる。電圧値取得３０、電流値取得３２、およびトルク値取得３４の機能を実行するプロセッサ１４は、便宜的に、第２の特徴量を取得する第２の取得部と考えることができる。
【００２５】
温度取得２８の機能で得られる温度は、便宜的に、環境の状態を表す第３の特徴量と考えることができる。温度取得２８の機能を実行するプロセッサ１４は、便宜的に、第３の特徴量を取得する第３の取得部と考えることができる。第３の特徴量は、ロボット２の周囲の磁場、放射線量、湿度および気圧を含んでもよい。
【００２６】
＜動作ログの作成および更新＞
プロセッサ１４は、これらの特徴量を動作ログ３６として、メモリ１６に格納する。図３は動作ログ３６の内容の一例を模式的に示す。図３に例示される動作ログ３６は、画像特徴量演算２２の機能で得られる画像特徴量、座標取得２４の機能で得られる複数のツールの位置の座標、加速度取得２６の機能で得られる特定のツールの加速度、温度取得２８の機能で得られるロボット２の温度、電圧値取得３０の機能で得られる複数のモータの電圧値、電流値取得３２の機能で得られる複数のモータの電流値、およびトルク値取得３４の機能で得られる複数のモータのトルク値を、タイムスタンプとともに記録する。
【００２７】
タイムスタンプは、プロセッサ１４が特徴量を取得した時刻、またはメモリ１６に格納した時刻を示す。プロセッサ１４は、一定の時間間隔で、特徴量とタイムスタンプを動作ログ３６に追加してゆく。
【００２８】
図３において、斜線のブロックは、数値または文字列で埋められることを示す。図３において、工程の項目は、ロボット２の動作における各単位工程の境界、すなわち開始と終了を示し、タイムスタンプで表されるすべての時刻で必ずしも記録されるのではない。したがって、図３においては、工程の項目が空欄であることもある。
【００２９】
図４は、動作ログ３６中のタイムスタンプと工程の項目の関係の一例を模式的に示す。単位工程には、短期間を要するシナリオと、より長い期間を要する作業がある。作業はシナリオの集合である。
【００３０】
例えば、ロボット２が貯蔵位置にある被搬送物をピックアップして、被搬送物を搬送し、他の箇所に降ろす単位工程を１つの作業と考えることができる。この場合、初期位置から貯蔵位置にロボット２の先端が移動する単位工程が最初のシナリオ（シナリオ１）であり、ロボット２が貯蔵位置にある被搬送物をピックアップする単位工程が次のシナリオ（シナリオ２）であり、ロボット２が貯蔵位置から他の箇所に被搬送物を搬送する単位工程がさらに次のシナリオ（シナリオ３）であり、ロボット２が被搬送物を降ろす単位工程が第４のシナリオ(シナリオ４）であり、ロボット２が初期位置に戻る単位工程が最後のシナリオ(シナリオ５）である。
【００３１】
他の例として、ロボット２が所望箇所のネジを締結する単位工程を１つの作業と考えることができる。この場合、初期位置から所望箇所にロボット２の先端が移動する単位工程が最初のシナリオ（シナリオ１）であり、ロボット２がネジを締結する単位工程が次のシナリオ（シナリオ２）であり、ロボット２が初期位置に戻る単位工程が最後のシナリオ(シナリオ３）である。
【００３２】
あるシナリオの終了時刻は、次のシナリオの開始時刻と考えることができる。図４において、シナリオ１終了はシナリオ２の開始と同じ意味であり、シナリオ２終了はシナリオ３の開始と同じ意味である。最後のシナリオの終了時刻は、そのシナリオを有する作業の終了時刻と考えることができる。図４において、作業終了はシナリオ３の終了も意味する。
【００３３】
図３から明らかなように、プロセッサ１４は、一定の周期で各種の特徴量を取得し、いずれかの時刻は、単位工程の開始および／または終了（境界）に対応する。したがって、プロセッサ１４は、ロボット２の動作の単位工程における各種の特徴量を取得する。
【００３４】
単位工程の開始および／または終了は、例えば、カメラ２０から供給される画像信号を監視することにより、プロセッサ１４が判断してよい。あるいは、座標取得２４の機能で取得した特定のツールの座標により、プロセッサ１４が単位工程の開始および／または終了を判断してもよい。プロセッサ１４は、単位工程の開始および／または終了を判断すると、動作ログ３６の工程の項目に、当該単位工程の開始および／または終了を記録して、図３に例示される動作ログ３６を更新する。
【００３５】
以上のように、メモリ１６は、過去の複数時刻における各種の特徴量を、各時刻でのこれらの特徴量を相互に関連付けて、動作ログ３６に蓄積する。プロセッサ１４は、一定周期で特徴量を取得し、特徴量をタイムスタンプ（該当する場合には工程の項目）とともに追加することにより動作ログ３６を更新する。
【００３６】
＜ロボットの挙動の正常性の度合いの判定＞
図２に戻り、プロセッサ１４は、単位工程におけるロボット２の挙動の正常性の度合いを判定する正常性判定３８の機能を有する。正常性判定３８の機能においては、プロセッサ１４は、電圧値取得３０の機能で取得された各アクチュエータ（例えばモータ）の現在の電圧値を、メモリ１６に格納された基準閾値テーブル４０内の複数の電圧基準閾値と比較する。また、プロセッサ１４は、電流値取得３２の機能で取得された各アクチュエータの現在の電圧値を、基準閾値テーブル４０内の複数の電流基準閾値と比較する。また、プロセッサ１４は、トルク値取得３４の機能で取得された各アクチュエータの現在のトルク値を、基準閾値テーブル４０内の複数のトルク基準閾値と比較する。
【００３７】
図５は、プロセッサ１４により使用される基準閾値テーブル４０の一例を模式的に示す。基準閾値テーブル４０は、各単位工程の境界における複数の基準閾値を記録する。図５の例では、各単位工程の境界は、シナリオ１終了（すなわちシナリオ２開始）、シナリオ２終了（すなわちシナリオ３開始）、作業終了（すなわちシナリオ３終了）である。図５の例では、基準閾値テーブル４０は、ロボット２で使用される各モータの電圧値に４つの基準閾値が設けられ、各モータの電流値に４つの基準閾値が設けられ、各モータのトルク値に４つの基準閾値が設けられる。つまり、各特徴量に４つの基準閾値が設けられている。
【００３８】
図６は、基準閾値テーブル４０の各特徴量についての４つの基準閾値の用途を模式的に示す。プロセッサ１４の正常性判定３８の機能は、現在の各特徴量と４つの基準閾値との比較結果に従って、単位工程におけるロボットの挙動の正常性の５段階のいずれかに応じた措置を実行する。現在の特徴量が第１の基準閾値より高いことは、許容不能な異常（超過）が生じたこと、すなわち単位工程の遂行が許容不能な失敗であったことを意味し、この場合、プロセッサ１４の正常性判定３８の機能は、異常な超過を示す警告情報を生成する。現在の特徴量が第１の基準閾値と第２の基準閾値の間にあることは、許容可能な異常（超過）が生じたこと、すなわち単位工程の遂行が許容可能な失敗であったことを意味し、この場合、プロセッサ１４の正常性判定３８の機能は、要注意な超過を示す警告情報を生成する。現在の特徴量が第２の基準閾値と第３の基準閾値の間にあることは、ロボット２の動作が正常であったこと、すなわち単位工程の遂行が正常であったことを意味し、この場合、プロセッサ１４の正常性判定３８の機能は、正常を示す正常情報を生成するか、何も生成しない。現在の特徴量が第３の基準閾値と第４の基準閾値の間にあることは、許容可能な異常（不足）が生じたこと、すなわち単位工程の遂行が許容不能な失敗であったことを意味し、この場合、プロセッサ１４の正常性判定３８の機能は、要注意な不足を示す警告情報を生成する。現在の特徴量が第４の基準閾値より低いことは、許容不能な異常（不足）が生じたこと、すなわち単位工程の遂行が許容可能な失敗であったことを意味し、この場合、プロセッサ１４の正常性判定３８の機能は、異常な不足を示す警告情報を生成する。現在の特徴量がいずれかの基準閾値と等しい場合には、プロセッサ１４は、特徴量がその基準閾値よりわずかに高い場合に行うべき措置を実行してもよいし、特徴量がその基準閾値よりわずかに低い場合に行うべき措置を実行してもよい。
【００３９】
プロセッサ１４は、正常性判定３８の結果で生成された警告情報を、ネットワーク１０を通じて、クラウドサーバ６、またはクラウドサーバ６に属するいずれかのコンピュータ７に送信してよい。これに代えてあるいはこれに加えて、プロセッサ１４は、警告情報をメモリ１６または他の記憶媒体に記録してもよい。この場合、プロセッサ１４は、動作ログ３６に警告情報を記録してもよい。
【００４０】
警告情報が送信または記録される場合、警告情報は、どのモータのどの特徴量に対応するか、またどの時刻に対応するかが識別可能なように、送信または記録される。これにより、解析者は、いつ、どのような異常が発生したのか判別することができる。
【００４１】
プロセッサ１４の正常性判定３８の機能は、各単位工程における基準閾値を参照して、各単位工程におけるロボット２の挙動の正常性の度合いを判定するので、各単位工程に適切な判定を行うことができる。
【００４２】
また、各特徴量についての複数（実施形態では４つ）の基準閾値を用いることにより、単に正常と異常だけではなく、例えば、許容可能な異常、許容不能な異常、および正常な動作に応じて、適切な措置を実行することができる。また、解析者は、異常の程度を知ることができる。
【００４３】
＜基準閾値の導出および更新＞
この実施形態において、正常性判定３８で使用される基準閾値テーブル４０内に記録された複数の基準閾値は、可変である。図２に戻り、プロセッサ１４は、動作ログ３６に基づいて、機械学習機能（統計的手法）により、これらの基準閾値を導出する基準閾値導出４２の機能を有する。
【００４４】
基準閾値導出４２の機能は、動作ログ３６に蓄積された複数時刻における第１の特徴量（ロボット２の挙動の正常性の度合いを表す特徴量）と第２の特徴量（ロボット２の稼働進行状態を表す特徴量）から統計的手法により、各基準閾値を導出する。また、基準閾値導出４２の機能は、動作ログ３６に蓄積された第１の特徴量と第２の特徴量の時間的変化に伴い、各基準閾値を更新する。
【００４５】
例えば、第２の特徴量の移動平均（単純移動平均、加重移動平均、指数平滑移動平均、または他の移動平均のいずれかでよい）を利用して、プロセッサ１４の基準閾値導出４２の機能は、当該特徴量についての基準閾値を導出してよい。以下、具体例を説明するが、基準閾値導出４２の機能は下記の具体例に限定されない。
【００４６】
例えば、シナリオ１終了時のモータ＃１の電圧値の第１の基準閾値（図５）を導出する場合には、プロセッサ１４は、動作ログ３６に蓄積された、過去の多数のシナリオ１終了時の画像特徴量と、モータ＃１に対応するツール＃１の座標と、ツール＃４の加速度に基づいて、ツール＃１が目標位置に比べて過剰に移動し、過剰移動した距離が所定の第１の距離よりも多く、ツール４の加速度が所定の第１の値より大きかった、直前の所定数（複数）の時刻（シナリオ１終了時）を選択する。つまり、プロセッサ１４は、許容不能なほどツール＃１が過剰に移動し、ツール４の加速度が許容不能なほど大きかった、直前の所定数のシナリオ１終了時の時刻を選択する。
【００４７】
次に、プロセッサ１４は、これらの複数の時刻でのモータ＃１の電圧値の平均を算出する。つまり、プロセッサ１４は、許容不能な過剰な電圧値の平均を算出する。この平均は、時間的変化に伴い時間的に移動するので移動平均である。加重移動平均、指数平滑移動平均、または他の移動平均を算出してもよい。加重移動平均または指数平滑移動平均を利用する場合には、現在時刻に近いほど、重みを大きくするのが好ましい。
【００４８】
さらに、プロセッサ１４は、動作ログ３６に蓄積された、過去の多数のシナリオ１終了時の画像特徴量と、モータ＃１に対応するツール＃１の座標と、ツール＃４の加速度に基づいて、ツール＃１が目標位置に比べて過剰に移動し、過剰移動した距離が所定の第２の距離よりも多く第１の距離以下であり、ツール４の加速度が所定の第２の値より大きく第１の値以下であった、直前の所定数（複数）の時刻（シナリオ１終了時）を選択する。つまり、プロセッサ１４は、ツール＃１の過剰移動距離が許容可能であり、ツール４の加速度が大きいが許容可能であった、直前の所定数のシナリオ１終了時の時刻を選択する。
【００４９】
次に、プロセッサ１４は、これらの複数の時刻でのモータ＃１の電圧値の平均を算出する。つまり、プロセッサ１４は、許容可能な過剰な電圧値の移動平均を算出する。
【００５０】
そして、プロセッサ１４は、許容不能な過剰な電圧値の移動平均と、許容可能な過剰な電圧値の移動平均の中間の値を、シナリオ１終了時のモータ＃１の電圧値の第１の基準閾値として算出する。例えば、許容不能な過剰な電圧値の移動平均をＡ1とし、許容可能な過剰な電圧値の移動平均をＡ2とした場合、第１の基準閾値Ａは、下記のようにして算出される。
Ａ＝｛α・Ａ1＋（２−α）・Ａ2｝／２
ここでαは、０より大きく２より小さい値である。値αは１でもよく、この場合、Ａは、Ａ1とＡ2の平均または中央値である。また、値αは、機械学習によって、適切な第１の基準閾値Ａが得られるように更新してもよい。
【００５１】
同様にして、プロセッサ１４は、動作ログ３６に蓄積された、過去の多数のシナリオ１終了時の画像特徴量と、モータ＃１に対応するツール＃１の座標と、ツール＃４の加速度に基づいて、ツール＃１が目標位置に対する所望範囲に移動し、ツール４の加速度が所望範囲であった、直前の所定数（複数）の時刻（シナリオ１終了時）を選択する。つまり、プロセッサ１４は、ツール＃１の移動距離が所望範囲であり、ツール４の加速度が所望範囲であった、直前の所定数のシナリオ１終了時の時刻を選択する。
【００５２】
次に、プロセッサ１４は、これらの複数の時刻でのモータ＃１の電圧値の平均を算出する。つまり、プロセッサ１４は、所望範囲の電圧値の移動平均を算出する。
【００５３】
そして、プロセッサ１４は、許容可能な過剰な電圧値の移動平均と、所望範囲の電圧値の移動平均の中間の値（例えば加重平均または中央値）を、シナリオ１終了時のモータ＃１の電圧値の第２の基準閾値として算出する。
【００５４】
同様にして、プロセッサ１４は、ツール＃１の不足移動距離が許容可能であり、ツール４の加速度が大きいが許容可能であった、直前の所定数のシナリオ１終了時の時刻を選択する。次に、プロセッサ１４は、これらの複数の時刻でのモータ＃１の電圧値の平均を算出する。つまり、プロセッサ１４は、許容可能な不足な電圧値の移動平均を算出する。そして、プロセッサ１４は、所望範囲の電圧値の移動平均と、許容可能な不足な電圧値の移動平均の中間の値（例えば加重平均または中央値）を、シナリオ１終了時のモータ＃１の電圧値の第３の基準閾値として算出する。
【００５５】
同様にして、プロセッサ１４は、ツール＃１の不足移動距離が許容不能であり、ツール４の加速度が許容不能なほど大きかった、直前の所定数のシナリオ１終了時の時刻を選択する。次に、プロセッサ１４は、これらの複数の時刻でのモータ＃１の電圧値の平均を算出する。つまり、プロセッサ１４は、許容不能な不足な電圧値の移動平均を算出する。そして、プロセッサ１４は、許容可能な不足な電圧値の移動平均と、許容不能な不足な電圧値の移動平均の中間の値（例えば加重平均または中央値）を、シナリオ１終了時のモータ＃１の電圧値の第４の基準閾値として算出する。
【００５６】
同様にして、プロセッサ１４は、他の各モータについてもシナリオ１終了時の４つの基準閾値を導出し、各モータの電流値についてもシナリオ１終了時の４つの基準閾値を導出し、各モータのトルク値についてもシナリオ１終了時の４つの基準閾値を導出する。さらに、プロセッサ１４は、シナリオ２終了時の基準閾値および作業終了時の基準閾値を導出する。
【００５７】
以上、第２の特徴量の移動平均を利用して、当該特徴量についての基準閾値を算出する機械学習機能（統計的手法）の例を説明した。しかし、プロセッサ１４は、他の機械学習アルゴリズムを用いて、基準閾値を算出してもよい。例えば、外挿アルゴリズムを用いて、第２の特徴量の許容不能な不適切レベル、許容可能な不適切レベル、および適切レベルを算出し、これらに基づいて基準閾値を算出してもよい。外挿アルゴリズムとしては、例えば、カルマンフィルタ、ビタビアルゴリズム、または隠れマルコフモデルを用いてよい。基準閾値は、計算によって導出されるだけでなく、ルックアップテーブルを用いて導出してもよい。
【００５８】
プロセッサ１４の基準閾値導出４２の機能は、動作ログ３６に蓄積された第１の特徴量と第２の特徴量の時間的変化に伴い、各基準閾値を更新する。例えば、移動平均などの統計的手法を使用する場合には、動作ログ３６に蓄積された第１の特徴量と第２の特徴量の時間的変化に伴い、計算される各基準閾値は時間的に変化する。したがって、時間の経過に伴うロボット２の性質の変化があっても、基準閾値導出４２の機能は、動的に基準閾値を更新することができ、正常性判定３８の機能は、ロボット２の挙動の正常性の度合いを適切に判定し続けることができる。
【００５９】
さらに、基準閾値の導出において、環境の状態を表す第３の特徴量、例えば、温度取得２８の機能で得られる温度、磁場、放射線量、湿度および気圧を用いてもよい。例えば温度を用いる場合、ロボットの温度が第１の範囲にある場合の第１の特徴量と第２の特徴量から、ロボットの温度が第１の範囲にある場合の第２の特徴量についての複数の基準閾値を導出し、ロボットの温度が第２の範囲にある場合の第１の特徴量と第２の特徴量から、ロボットの温度が第２の範囲にある場合の第２の特徴量についての複数の基準閾値を導出してよい。
【００６０】
＜ロボットに与えるべきパラメータの導出＞
図２に戻り、この実施形態に係るプロセッサ１４は、ロボット２の正常な挙動を達成するためにロボット２に与えるべきパラメータを導出するパラメータ導出４４の機能を有する。ロボット動作制御２１の機能は、パラメータ導出４４の機能で導出されたパラメータをロボット２の制御に使用する。
【００６１】
ロボット２の正常な挙動を達成するために、動作ログ３６に蓄積された複数時刻における第１の特徴量（挙動の正常性の度合いを表す特徴量、すなわち画像特徴量、座標、および／または加速度）と、動作ログ３６に蓄積された複数時刻における第２の特徴量（ロボット２の稼働進行状態を表す特徴量、すなわち電圧値（測定電圧値）、電流値（測定電流値）、および／またはトルク値（測定トルク値））に基づいて、機械学習機能（統計的手法）により、プロセッサ１４のパラメータ導出４４の機能は、適切なパラメータを導出する。そして、プロセッサ１４のロボット動作制御２１の機能は、パラメータ導出４４の機能で導出されたパラメータをロボット２の制御に使用する。
【００６２】
この実施形態では、パラメータ導出４４の機能は、ロボット２に与えるべきパラメータとして、ロボット２の各アクチュエータ２ａ，２ｂ，２ｄ，２ｄに与えるべき電流値（指令電流値）、ロボット２の各アクチュエータ２ａ，２ｂ，２ｄ，２ｄに与えるべき電圧値（指令電圧値）、およびロボット２の各アクチュエータ２ａ，２ｂ，２ｄ，２ｄに与えるべきトルク値（指令トルク値）を導出する。但し、パラメータ導出４４の機能は、ロボット２のいずれかのアクチュエータに与えるべき電流値、電圧値、およびトルク値のいずれか１つを導出してもよい。パラメータ導出４４の機能は、導出されたパラメータをメモリ１６に格納されたパラメータテーブル４６に記録する。
【００６３】
図７は、プロセッサ１４のパラメータ導出４４の機能により格納されたパラメータテーブル４６の一例を模式的に示す。図７の例から明らかなように、パラメータ導出４４の機能は、各単位工程で使用されるべきパラメータを導出する。具体的には、図７の作業開始時のパラメータは、作業開始からシナリオ１終了時まで使用され、シナリオ１終了時のパラメータは、シナリオ１終了時（シナリオ２開始時）からシナリオ２終了時まで使用され、シナリオ２終了時のパラメータは、シナリオ２終了時（シナリオ３開始時）からシナリオ３終了時（作業終了時）まで使用される。
【００６４】
プロセッサ１４のロボット動作制御２１の機能は、パラメータテーブル４６内の指令電流値、指令電圧値、および指令トルク値に従って、ロボット２の各アクチュエータを制御する。
【００６５】
第１の特徴量と第２の特徴量からパラメータ導出４４の機能がパラメータを導出する統計的手法は、例えば、各単位工程における第２の特徴量の移動平均（単純移動平均、加重移動平均、指数平滑移動平均、または他の移動平均のいずれかでよい）を利用してよい。例えば、作業開始時のモータ＃１の指令電圧値（図７）を導出する場合には、プロセッサ１４は、動作ログ３６に蓄積された、過去の多数のシナリオ１終了時の画像特徴量と、モータ＃１に対応するツール＃１の座標と、ツール＃４の加速度に基づいて、ツール＃１が目標位置に対する所望範囲に移動し、ツール４の加速度が所望範囲であった、直前の所定数（複数）の時刻（シナリオ１終了時）を選択する。次に、プロセッサ１４は、これらの複数の時刻でのモータ＃１の電圧値の平均を、作業開始時のモータ＃１の指令電圧値として、算出する。この平均は、時間的変化に伴い時間的に移動するので移動平均である。同様にして、プロセッサ１４は、他の各モータについても作業開始時の指令電圧閾値を導出し、作業開始時の各モータの指令電流値と指令トルク値も導出する。さらに、プロセッサ１４は、シナリオ１終了時のパラメータおよびシナリオ２終了時のパラメータを導出する。
【００６６】
但し、プロセッサ１４は、他の機械学習アルゴリズムを用いて、パラメータを算出してもよい。例えば、外挿アルゴリズムを用いて、第２の特徴量の適切範囲を算出し、これに基づいて基準閾値を算出してもよい。外挿アルゴリズムとしては、例えば、カルマンフィルタ、ビタビアルゴリズム、または隠れマルコフモデルを用いてよい。パラメータは、計算によって導出されるだけでなく、ルックアップテーブルを用いて導出してもよい。
【００６７】
以上のようにして、蓄積された複数種類の特徴量に基づいて、ロボット２に与えるべき適切なパラメータを導出することができる。プロセッサ１４のパラメータ導出４４の機能は、動作ログ３６に蓄積された第１の特徴量と第２の特徴量の時間的変化に伴い、各パラメータを更新する。例えば、移動平均などの統計的手法を使用する場合には、動作ログ３６に蓄積された第１の特徴量と第２の特徴量の時間的変化に伴い、計算される各パラメータは時間的に変化する。したがって、時間の経過に伴うロボット２の性質の変化があっても、パラメータ導出４４の機能は、動的にパラメータを更新することができ、ロボット動作制御２１の機能は、ロボット２の正常な挙動を適切に維持することができる。
【００６８】
さらに、パラメータの導出において、環境の状態を表す第３の特徴量、例えば、温度取得２８の機能で得られる温度、磁場、放射線量、湿度および気圧を用いてもよい。例えば温度を用いる場合、ロボットの温度が第１の範囲にある場合の第１の特徴量と第２の特徴量から、ロボットの温度が第１の範囲にある場合の複数のパラメータを導出し、ロボットの温度が第２の範囲にある場合の第１の特徴量と第２の特徴量から、ロボットの温度が第２の範囲にある場合の複数のパラメータを導出してよい。
【００６９】
さらに、この実施形態では、パラメータ導出４４で使用される統計的手法は、可変である。図２に戻り、プロセッサ１４のパラメータ導出４４の機能は、現在の第２の特徴量をメモリ１６に格納されたパラメータ設定閾値テーブル５０内のパラメータ設定閾値と比較して、比較結果に応じて、パラメータを導出するための統計的手法を選択し、選択された手法に従って、パラメータを導出する。
【００７０】
プロセッサ１４は、動作ログ３６に基づいて、機械学習機能（統計的手法）により、パラメータ導出４４で使用される統計的手法を決定するためのパラメータ設定閾値を導出するパラメータ設定閾値導出４８の機能を有する。パラメータ設定閾値導出４８の機能は、導出されたパラメータ設定閾値をメモリ１６に格納されたパラメータ設定閾値テーブル５０内に記録する。
【００７１】
図８は、プロセッサ１４により使用されるパラメータ設定閾値テーブル５０の一例を模式的に示す。図８の例から明らかなように、パラメータ設定閾値導出４８の機能は、各単位工程で使用されるべきパラメータ設定閾値を導出する。具体的には、図８の作業開始時のパラメータ設定閾値は、作業開始からシナリオ１終了時まで使用され、シナリオ１終了時のパラメータ設定閾値は、シナリオ１終了時（シナリオ２開始時）からシナリオ２終了時まで使用され、シナリオ２終了時のパラメータ設定閾値は、シナリオ２終了時（シナリオ３開始時）からシナリオ３終了時（作業終了時）まで使用される。図８の例では、パラメータ設定閾値テーブル５０は、ロボット２で使用される各モータの電圧値に４つのパラメータ設定閾値が設けられ、各モータの電流値に４つのパラメータ設定閾値が設けられ、各モータのトルク値に４つのパラメータ設定閾値が設けられる。つまり、各特徴量に４つのパラメータ設定閾値が設けられている。
【００７２】
図９は、パラメータ設定閾値テーブル５０の各特徴量についての４つのパラメータ設定閾値の用途を模式的に示す。プロセッサ１４のパラメータ導出４４の機能は、各特徴量と４つのパラメータ設定閾値との比較結果に従って、単位工程におけるロボットの挙動の正常性の５段階のいずれかに応じた措置を実行する。現在の特徴量が第１のパラメータ設定閾値より高いことは、許容不能な異常（超過）が生じるおそれが高いこと、すなわち単位工程の遂行が許容不能な失敗となるおそれが高いことを意味し、この場合、プロセッサ１４のパラメータ導出４４の機能は、異常な超過を抑圧可能な設定手法１を選択する。現在の特徴量が第１のパラメータ設定閾値と第２のパラメータ設定閾値の間にあることは、許容可能な異常（超過）が生じるおそれが高いこと、すなわち単位工程の遂行が許容可能な失敗となるおそれが高いことを意味し、この場合、プロセッサ１４のパラメータ導出４４の機能は、要注意な超過を抑圧可能な設定手法２を選択する。現在の特徴量が第２のパラメータ設定閾値と第３のパラメータ設定閾値の間にあることは、ロボット２の動作が正常であること、すなわち単位工程の遂行が正常となる可能性が高いことを意味し、この場合、プロセッサ１４のパラメータ導出４４の機能は、標準的な設定手法３を選択する。現在の特徴量が第３のパラメータ設定閾値と第４のパラメータ設定閾値の間にあることは、許容可能な異常（不足）が生じるおそれが高いこと、すなわち単位工程の遂行が許容不能な失敗となるおそれが高いことを意味し、この場合、プロセッサ１４のパラメータ導出４４の機能は、要注意な不足を抑圧可能な設定手法４を選択する。現在の特徴量が第４のパラメータ設定閾値より低いことは、許容不能な異常（不足）が生じるおそれが高いこと、すなわち単位工程の遂行が許容可能な失敗となるおそれが高いことを意味し、この場合、プロセッサ１４のパラメータ導出４４の機能は、異常な不足を抑圧可能な設定手法５を選択する。現在の特徴量がいずれかのパラメータ設定閾値と等しい場合には、プロセッサ１４は、特徴量がそのパラメータ設定閾値よりわずかに高い場合に行うべき措置を実行してもよいし、特徴量がそのパラメータ設定閾値よりわずかに低い場合に行うべき措置を実行してもよい。
【００７３】
プロセッサ１４のパラメータ導出４４の機能は、各単位工程におけるパラメータ設定閾値を参照して、各単位工程におけるロボット２の挙動の正常性の度合いに応じた適切な設定手法を選択するので、各単位工程に適切なパラメータを導出することができる。
【００７４】
また、各特徴量についての複数（実施形態では４つ）のパラメータ設定閾値を用いることにより、単に正常と異常だけではなく、例えば、許容可能な異常、許容不能な異常、および正常な動作に応じて、適切なパラメータを導出することができる。
【００７５】
パラメータ設定閾値導出４８の機能は、動作ログ３６に蓄積された複数時刻における第１の特徴量（ロボット２の挙動の正常性の度合いを表す特徴量）と第２の特徴量（ロボット２の稼働進行状態を表す特徴量）から統計的手法により、各パラメータ設定閾値を導出する。また、パラメータ設定閾値導出４８の機能は、動作ログ３６に蓄積された第１の特徴量と第２の特徴量の時間的変化に伴い、各パラメータ設定閾値を更新する。
【００７６】
例えば、第２の特徴量の移動平均（単純移動平均、加重移動平均、指数平滑移動平均、または他の移動平均のいずれかでよい）を利用して、プロセッサ１４のパラメータ設定閾値導出４８の機能は、当該特徴量についてのパラメータ設定閾値を導出してよい。以下、具体例を説明するが、パラメータ設定閾値導出４８の機能は下記の具体例に限定されない。
【００７７】
例えば、シナリオ１終了時のモータ＃１の電圧値の第１のパラメータ設定閾値（図８）を導出する場合には、プロセッサ１４は、動作ログ３６に蓄積された、過去の多数のシナリオ１終了時の画像特徴量と、モータ＃１に対応するツール＃１の座標と、ツール＃４の加速度に基づいて、ツール＃１が目標位置に比べて過剰に移動し、過剰移動した距離が所定の第１の距離よりも多く、ツール４の加速度が所定の第１の値より大きかった、直前の所定数（複数）の時刻（シナリオ１終了時）を選択する。つまり、プロセッサ１４は、許容不能なほどツール＃１が過剰に移動し、ツール４の加速度が許容不能なほど大きかった、直前の所定数のシナリオ１終了時の時刻を選択する。
【００７８】
次に、プロセッサ１４は、これらの複数の時刻でのモータ＃１の電圧値の平均を算出する。つまり、プロセッサ１４は、許容不能な過剰な電圧値の平均を算出する。この平均は、時間的変化に伴い時間的に移動するので移動平均である。加重移動平均、指数平滑移動平均、または他の移動平均を算出してもよい。加重移動平均または指数平滑移動平均を利用する場合には、現在時刻に近いほど、重みを大きくするのが好ましい。
【００７９】
さらに、プロセッサ１４は、動作ログ３６に蓄積された、過去の多数のシナリオ１終了時の画像特徴量と、モータ＃１に対応するツール＃１の座標と、ツール＃４の加速度に基づいて、ツール＃１が目標位置に比べて過剰に移動し、過剰移動した距離が所定の第２の距離よりも多く第１の距離以下であり、ツール４の加速度が所定の第２の値より大きく第１の値以下であった、直前の所定数（複数）の時刻（シナリオ１終了時）を選択する。つまり、プロセッサ１４は、ツール＃１の過剰移動距離が許容可能であり、ツール４の加速度が大きいが許容可能であった、直前の所定数のシナリオ１終了時の時刻を選択する。
【００８０】
次に、プロセッサ１４は、これらの複数の時刻でのモータ＃１の電圧値の平均を算出する。つまり、プロセッサ１４は、許容可能な過剰な電圧値の移動平均を算出する。
【００８１】
そして、プロセッサ１４は、許容不能な過剰な電圧値の移動平均と、許容可能な過剰な電圧値の移動平均の中間の値を、作業開始時のモータ＃１の電圧値の第１のパラメータ設定閾値として算出する。例えば、許容不能な過剰な電圧値の移動平均をＡ1とし、許容可能な過剰な電圧値の移動平均をＡ2とした場合、第１のパラメータ設定閾値Ｂは、下記のようにして算出される。
Ｂ＝｛β・Ａ1＋（２−β）・Ａ2｝／２
ここでβは、０より大きく２より小さい値である。値βは１でもよく、この場合、Ａは、Ａ1とＡ2の平均または中央値である。また、値βは、機械学習によって、適切な第１のパラメータ設定閾値Ｂが得られるように更新してもよい。
【００８２】
同様にして、プロセッサ１４は、動作ログ３６に蓄積された、過去の多数のシナリオ１終了時の画像特徴量と、モータ＃１に対応するツール＃１の座標と、ツール＃４の加速度に基づいて、ツール＃１が目標位置に対する所望範囲に移動し、ツール４の加速度が所望範囲であった、直前の所定数（複数）の時刻（シナリオ１終了時）を選択する。つまり、プロセッサ１４は、ツール＃１の移動距離が所望範囲であり、ツール４の加速度が所望範囲であった、直前の所定数のシナリオ１終了時の時刻を選択する。
【００８３】
次に、プロセッサ１４は、これらの複数の時刻でのモータ＃１の電圧値の平均を算出する。つまり、プロセッサ１４は、所望範囲の電圧値の移動平均を算出する。
【００８４】
そして、プロセッサ１４は、許容可能な過剰な電圧値の移動平均と、所望範囲の電圧値の移動平均の中間の値（例えば加重平均または中央値）を、作業開始時のモータ＃１の電圧値の第２のパラメータ設定閾値として算出する。
【００８５】
同様にして、プロセッサ１４は、ツール＃１の不足移動距離が許容可能であり、ツール４の加速度が大きいが許容可能であった、直前の所定数のシナリオ１終了時の時刻を選択する。次に、プロセッサ１４は、これらの複数の時刻でのモータ＃１の電圧値の平均を算出する。つまり、プロセッサ１４は、許容可能な不足な電圧値の移動平均を算出する。そして、プロセッサ１４は、所望範囲の電圧値の移動平均と、許容可能な不足な電圧値の移動平均の中間の値（例えば加重平均または中央値）を、作業開始時のモータ＃１の電圧値の第３のパラメータ設定閾値として算出する。
【００８６】
同様にして、プロセッサ１４は、ツール＃１の不足移動距離が許容不能であり、ツール４の加速度が許容不能なほど大きかった、直前の所定数のシナリオ１終了時の時刻を選択する。次に、プロセッサ１４は、これらの複数の時刻でのモータ＃１の電圧値の平均を算出する。つまり、プロセッサ１４は、許容不能な不足な電圧値の移動平均を算出する。そして、プロセッサ１４は、許容可能な不足な電圧値の移動平均と、許容不能な不足な電圧値の移動平均の中間の値（例えば加重平均または中央値）を、作業開始時のモータ＃１の電圧値の第４のパラメータ設定閾値として算出する。
【００８７】
同様にして、プロセッサ１４は、他の各モータについても作業開始時の４つのパラメータ設定閾値を導出し、各モータの電流値についても作業開始時の４つのパラメータ設定閾値を導出し、各モータのトルク値についても作業開始時の４つのパラメータ設定閾値を導出する。さらに、プロセッサ１４は、シナリオ１終了時のパラメータ設定閾値およびシナリオ２終了時のパラメータ設定閾値を導出する。
【００８８】
以上、第２の特徴量の移動平均を利用して、当該特徴量についてのパラメータ設定閾値を算出する機械学習機能（統計的手法）の例を説明した。しかし、プロセッサ１４は、他の機械学習アルゴリズムを用いて、パラメータ設定閾値を算出してもよい。例えば、外挿アルゴリズムを用いて、第２の特徴量の許容不能な不適切レベル、許容可能な不適切レベル、および適切レベルを算出し、これらに基づいてパラメータ設定閾値を算出してもよい。外挿アルゴリズムとしては、例えば、カルマンフィルタ、ビタビアルゴリズム、または隠れマルコフモデルを用いてよい。パラメータ設定閾値は、計算によって導出されるだけでなく、ルックアップテーブルを用いて導出してもよい。
【００８９】
プロセッサ１４のパラメータ設定閾値導出４８の機能は、動作ログ３６に蓄積された第１の特徴量と第２の特徴量の時間的変化に伴い、各パラメータ設定閾値を更新する。例えば、移動平均などの統計的手法を使用する場合には、動作ログ３６に蓄積された第１の特徴量と第２の特徴量の時間的変化に伴い、計算される各パラメータ設定閾値は時間的に変化する。したがって、時間の経過に伴うロボット２の性質の変化があっても、パラメータ設定閾値導出４８の機能は、動的にパラメータ設定閾値を更新することができ、パラメータ導出４４の機能は、ロボット２の挙動の正常性の度合い応じた設定手法を適切に選択し続けることができる。
【００９０】
さらに、パラメータ設定閾値の導出において、環境の状態を表す第３の特徴量、例えば、温度取得２８の機能で得られる温度、磁場、放射線量、湿度および気圧を用いてもよい。例えば温度を用いる場合、ロボットの温度が第１の範囲にある場合の第１の特徴量と第２の特徴量から、ロボットの温度が第１の範囲にある場合の第２の特徴量についての複数のパラメータ設定閾値を導出し、ロボットの温度が第２の範囲にある場合の第１の特徴量と第２の特徴量から、ロボットの温度が第２の範囲にある場合の第２の特徴量についての複数のパラメータ設定閾値を導出してよい。
【００９１】
変形例
以上、本発明の実施形態を説明したが、上記の説明は本発明を限定するものではなく、本発明の技術的範囲において、構成要素の削除、追加、置換を含む様々な変形例が考えられる。
【００９２】
例えば、上記の実施形態では、コントローラ４がロボット制御装置であるが、コントローラ４とゲートウェイ１２が協働でロボット制御装置を構成してもよい。図１０は、変形例に係るロボット制御装置であるコントローラ４とゲートウェイ１２を示すブロック図である。この変形例では、ゲートウェイ１２のプロセッサ１２Ａが、正常性判定３８の機能、基準閾値導出４２の機能、パラメータ導出４４の機能、およびパラメータ設定閾値導出４８の機能を実行する。また、ゲートウェイ１２のメモリ１２Ｂが基準閾値テーブル４０、パラメータテーブル４６およびパラメータ設定閾値テーブル５０を格納する。実施形態のプロセッサ１４の各機能は、図１０の例以外の形式で、プロセッサ１４またはプロセッサ１２Ａに割り当てることが可能である。つまり、これらの機能の各々は、コントローラ４で実行されてもよいし、ゲートウェイ１２で実行されてもよい。このように機能が分散される場合、プロセッサ１４およびプロセッサ１２Ａは、それぞれ相応のプログラムに従って動作することにより、これらの機能を実行する。また、実施形態のメモリ１６に格納される動作ログ３６、基準閾値テーブル４０、パラメータテーブル４６およびパラメータ設定閾値テーブル５０は、図１０の例以外の形式で、メモリ１６またはメモリ１２Ｂに格納することが可能である。
【００９３】
また、実施形態のプロセッサ１４の各機能は、コントローラ４と通信するコンピュータ（通信装置）７に割り当てることが可能である。つまり、これらの機能の各々は、コントローラ４で実行されてもよいし、ゲートウェイ１２で実行されてもよいし、コンピュータ７で実行されてもよい。すなわち、ネットワークシステム１全体が協働して機能を実行してもよい。このように機能が分散される場合、プロセッサ１４、プロセッサ１２Ａ、およびコンピュータ７のプロセッサは、それぞれ相応のプログラムに従って動作することにより、これらの機能を実行する。
【００９４】
上記の実施形態では、プロセッサ１４は、メモリ１６に格納されたプログラムを読み出して実行し、同じメモリ１６に動作ログ３６、基準閾値テーブル４０、パラメータテーブル４６およびパラメータ設定閾値テーブル５０が格納されている。但し、プログラム、動作ログ３６、基準閾値テーブル４０、パラメータテーブル４６およびパラメータ設定閾値テーブル５０は、異なる記憶媒体に格納されてもよい。例えば、動作ログ３６は、リングバッファに格納されてもよい。
【００９５】
プロセッサが実行する各機能は、プロセッサの代わりに、ハードウェアで実行してもよいし、例えばFPGA（Field Programmable Gate Array），DSP（Digital Signal Processor）等のプログラマブルロジックデバイスで実行してもよい。
【００９６】
画像特徴量演算２２の機能、座標取得２４の機能、および加速度取得２６の機能のすべてを使用しなくてもよい。つまり、ロボット２の挙動の正常性の度合いを表す第１の特徴量は、上記の例示のうちいずれかであってもよい。逆に、他の特徴量を第１の特徴量として使用してもよい。
【００９７】
電圧値取得３０の機能、電流値取得３２の機能、およびトルク値取得３４の機能のすべてを使用しなくてもよい。つまり、ロボット２の稼働進行状態を表す第２の特徴量は、上記の例示のうちいずれかであってもよい。逆に、他の特徴量を第２の特徴量として使用してもよい。
【００９８】
環境の状態を表す第３の特徴量、例えば、温度取得２８の機能を使用しなくてもよい。逆に、上記していない他の特徴量を第３の特徴量として使用してもよい。
【００９９】
上記の実施形態では、正常性判定３８の機能は、４つの基準閾値を用いて５段階のいずれかに応じた措置を実行する。但し、正常性判定３８は、２つの基準閾値を用いて３段階（例えば、正常、許容可能な異常、または許容不能な異常）のいずれかに応じた措置を実行してもよいし、１つの基準閾値を用いて２段階（例えば、正常または異常）のいずれかに応じた措置を実行してもよい。
【０１００】
上記の実施形態では、パラメータ導出４４の機能は、４つの基準閾値で５段階のいずれかに応じた措置を実行する。但し、パラメータ導出４４は、２つの基準閾値で３段階（例えば、正常、許容可能な異常、または許容不能な異常）のいずれかに応じた措置を実行してもよいし、１つの基準閾値を用いて２段階（例えば、正常または異常）のいずれかに応じた措置を実行してもよい。
【０１０１】
上記の実施形態のパラメータ導出４４の機能およびパラメータ設定閾値導出４８の機能は必ずしも必須ではない。
【符号の説明】
【０１０２】
１  ネットワークシステム
２  ロボット
２ａ，２ｂ，２ｄ，２ｄ  アクチュエータ
４  コントローラ（ロボット制御装置）
６  クラウドサーバ
７  コンピュータ（通信装置）
１０  ネットワーク
１２  ゲートウェイ
１２Ａ  プロセッサ
１２Ｂ  メモリ
１４  プロセッサ（制御部、第１の取得部、第２の取得部、判定部、基準閾値導出部、パラメータ導出部、パラメータ閾値導出部）
１６  メモリ（記憶部）
１８  センサ
２０  カメラ
２１  ロボット動作制御
２２  画像特徴量演算
２４  座標取得
２６  加速度取得
２８  温度取得
３０  電圧値取得
３２  電流値取得
３４  トルク値取得
３６  動作ログ
３８  正常性判定
４０  基準閾値テーブル
４２  基準閾値導出
４４  パラメータ導出
４６  パラメータテーブル
４８  パラメータ設定閾値導出
５０  パラメータ設定閾値テーブル
【図１】
2019155574.tif 000003
【図２】
2019155574.tif 000004
【図３】
2019155574.tif 000005
【図４】
2019155574.tif 000006
【図５】
2019155574.tif 000007
【図６】
2019155574.tif 000008
【図７】
2019155574.tif 000009
【図８】
2019155574.tif 000010
【図９】
2019155574.tif 000011
【図１０】
2019155574.tif 000012