(57)【要約】【課題】力制御のパラメータ調整において、慣れていない作業者であっても熟練した作業者と同様の判定ができるように支援を行う判定装置を提供すること。【解決手段】判定装置１は、産業用ロボット２の力制御を行った時の動作におけるマニピュレータに掛かる力とモーメントの状態及び位置と姿勢の状態を少なくとも取得データとして取得するデータ取得部３４と、取得データに基づいて、産業用ロボット２の動作の良否を評価する評価関数を作成する評価関数作成部３６と、評価関数作成部３６が作成した評価関数を用いて、取得データに対する判定データを作成する判定データ作成部３７と、取得データに基づいて機械学習に用いる状態データを作成する前処理部３８と、状態データ及び判定データを用いて、産業用ロボット２の動作の良否を判定するための学習モデルを生成する学習部１１０と、を備える。【選択図】図２
2020110900.tif 000002
【特許請求の範囲】
【請求項１】
マニピュレータに掛かる力とモーメントを検出する機能を備えた産業用ロボットの動作を判定する判定装置であって、
前記産業用ロボットの力制御を行った時の動作におけるマニピュレータに掛かる力とモーメントの状態及び位置と姿勢の状態を少なくとも取得データとして取得するデータ取得部と、
前記取得データに基づいて、前記動作の良否を評価する評価関数を作成する評価関数作成部と、
前記評価関数作成部が作成した評価関数を用いて、前記取得データに対する判定データを作成する判定データ作成部と、
前記取得データに基づいて機械学習に用いる状態データを作成する前処理部と、
前記状態データ及び前記判定データを用いて、前記産業用ロボットの動作の良否を判定するための学習モデルを生成する学習部と、
を備える判定装置。
【請求項２】
前記データ取得部は、前記動作に掛かった時間に応じて動作の良否を判定した仮判定データを作成し、
前記評価関数作成部は、前記仮判定データに基づいて前記評価関数を作成する、
請求項１に記載の判定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、判定装置に関し、特にロボットの力制御に係る状態データを自動的に判定する判定装置に関する。
【背景技術】
【０００２】
部品同士を精密な嵌め合う場合やギヤの位相合わせ、バリ取りや研磨などの作業を力センサ付きロボットで行う場合がある。このような作業は、ロボットに部品やツールを把持させて、所定の方向の力を所望の値に制御する（力制御）ことにより実現される。この様な力制御の方式として、インピーダンス制御やダンピング制御、ハイブリッド制御などが知られているが、いずれの方式でも適切な制御ゲインを人手で設定する必要がある。制御ゲインを自動調整する方法は公知である（例えば、特許文献１等）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２３７３１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記したように、力制御における制御ゲインの設定方法については公知となっているが、その他のパラメータ、例えば適切な押付け力や進行速度、進行方向などは作業者による調整に頼っている。この様なパラメータ調整の良し悪しに対する作業者の判定には、熟練した作業者と慣れていない作業者とで差が生じる。特に、慣れていない作業者がパラメータ調整の判定を行うと、試行錯誤して判定するのに時間がかかったり、現実のパラメータの調整の結果とは異なる判定をしてしまい、該判定結果に基づくその後の作業に支障をきたすことがある。例えば、この様な誤った判定結果に基づいて機械学習を行うと、精度の良い学習結果（学習モデル）が得られないという問題が生じる。
【０００５】
そこで、力制御のパラメータ調整において、慣れていない作業者であっても熟練した作業者と同様の判定ができるように支援を行う判定装置を提供する。
【課題を解決するための手段】
【０００６】
本発明の一態様では、産業用ロボットのマニピュレータの制御に関する各パラメータの調整において、産業用ロボットの力制御実行時の動作から取得されるデータに対する該動作の成功／失敗に係る判定の結果を出力する評価関数を作成することにより、上記課題を解決する。この様に構成された判定装置では、所定の基準に従って判定結果を出力する評価関数を用いることにより、産業用ロボットの動作時に取得されるデータに対する該動作の判定を評価関数を用いて行うので、作業者の経験によらずに安定した動作判定を行うことが可能となる。
【０００７】
そして、本発明の一態様は、マニピュレータに掛かる力とモーメントを検出する機能を備えた産業用ロボットの動作を判定する判定装置であって、前記産業用ロボットの力制御を行った時の動作におけるマニピュレータに掛かる力とモーメントの状態及び位置と姿勢の状態を少なくとも取得データとして取得するデータ取得部と、前記取得データに基づいて、前記動作の良否を評価する評価関数を作成する評価関数作成部と、前記評価関数作成部が作成した評価関数を用いて、前記取得データに対する判定データを作成する判定データ作成部と、前記取得データに基づいて機械学習に用いる状態データを作成する前処理部と、前記状態データ及び前記判定データを用いて、前記産業用ロボットの動作の良否を判定するための学習モデルを生成する学習部と、を備える判定装置である。
【発明の効果】
【０００８】
本発明により一態様によれば、力制御のパラメータ調整において、慣れていない作業者であっても産業用ロボットの動作の良否について所定の基準に基づいて判断することができるようになる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態による判定装置の概略的なハードウェア構成図である。
【図２】第１の実施形態による制御装置の概略的な機能ブロック図である。
【図３】産業用ロボットによる部品の嵌合作業の例を示す図である。
【図４】産業用ロボットによるギヤの組立作業の例を示す図である。
【図５】産業用ロボットによるワークのバリ取り・研磨作業の例を示す図である。
【図６】第２の実施形態による制御装置の概略的な機能ブロック図である。
【図７】第３の実施形態によるシステムの概略的な機能ブロック図である。
【図８】一実施形態によるコンピュータの概略的なハードウェア構成図である。
【図９】第４の実施形態によるシステムの概略的な機能ブロック図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態を図面と共に説明する。
図１は一実施形態による機械学習装置を備えた制御装置の要部を示す概略的なハードウェア構成図である。本実施形態の判定装置１は、例えば部品の嵌め込みや組付け、バリ取り等をする産業用ロボットを制御する制御装置として実装することができる。
【００１１】
本実施形態による判定装置１が備えるＣＰＵ１１は、判定装置１を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステム・プログラムをバス２０を介して読み出し、該システム・プログラムに従って判定装置１全体を制御する。ＲＡＭ１３には一時的な計算データ、教示操作盤６０や入力装置７１を介して作業者が入力した各種データ等が一時的に格納される。
【００１２】
不揮発性メモリ１４は、例えば図示しないバッテリでバックアップされたメモリやＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等で構成され、判定装置１の電源がオフされても記憶状態が保持される。不揮発性メモリ１４には、インタフェース１９を介して教示操作盤６０から入力された教示データや、入力装置７１から入力されたデータ、図示しないインタフェースを介して入力された産業用ロボット制御用のプログラム、産業用ロボットに取り付けられたセンサ３が検出したデータ（マニピュレータに掛かる力やモーメント等）、産業用ロボットの軸を駆動するサーボモータ５０から検出されたデータ（サーボモータ５０の電流値、位置、速度、加速度、トルク等）、図示しない外部記憶装置やネットワークを介して読み込まれたデータ等が記憶される。不揮発性メモリ１４に記憶されたプログラムや各種データは、実行時／利用時にはＲＡＭ１３に展開されても良い。また、ＲＯＭ１２には、ロボットの制御や教示位置の教示に掛かる処理などを実行するための各種のシステム・プログラム（後述する機械学習装置１００とのやりとりを制御するためのシステム・プログラムを含む）があらかじめ書き込まれている。
【００１３】
表示装置７０には、メモリ上に読み込まれた各データ、プログラム等が実行された結果として得られたデータ、後述する機械学習装置１００から出力されたデータ等がインタフェース１７を介して出力されて表示される。また、キーボードやポインティングデバイス等から構成される入力装置７１は、作業者による操作に基づく指令，データ等をインタフェース１８を介してＣＰＵ１１に渡す。
【００１４】
教示操作盤６０はディスプレイやハンドル、ハードウェアキー等を備えた手動データ入力装置であり、インタフェース１９を介して判定装置１からの情報を受けて表示すると共に、ハンドルやハードウェアキー等から入力されたパルスや指令、各種データをＣＰＵ１１に渡す。
【００１５】
産業用ロボットが備える関節等の軸を制御するための軸制御回路３０はＣＰＵ１１からの軸の移動指令量を受けて、軸の指令をサーボアンプ４０に出力する。サーボアンプ４０はこの指令を受けて、ロボットが備える軸を移動させるサーボモータ５０を駆動する。軸のサーボモータ５０は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路３０にフィードバックし、位置・速度のフィードバック制御を行う。なお、図１のハードウェア構成図では軸制御回路３０、サーボアンプ４０、サーボモータ５０は１つずつしか示されていないが、実際には制御対象となるロボットに備えられた軸の数だけ用意される。例えば、６つの軸を備えたロボットの場合には、軸制御回路３０、サーボアンプ４０、サーボモータ５０は、それぞれの軸に対して用意される。
【００１６】
インタフェース２１は、判定装置１と機械学習装置１００とを接続するためのインタフェースである。機械学習装置１００は、機械学習装置１００全体を統御するプロセッサ１０１と、システム・プログラム等を記憶したＲＯＭ１０２、機械学習に係る各処理における一時的な記憶を行うためのＲＡＭ１０３、及び学習モデル等の記憶に用いられる不揮発性メモリ１０４を備える。機械学習装置１００は、インタフェース２１を介して判定装置１で取得可能な各情報（マニピュレータに掛かる力やモーメント、サーボモータ５０の電流値、位置、速度、加速度、トルク等）を観測することができる。また、判定装置１は、機械学習装置１００から出力される、力指令乃至トルク指令の変更指示を受けて、プログラムや教示データに基づくロボットの制御指令の修正等を行う。
【００１７】
図２は、第１の実施形態による判定装置１と機械学習装置１００の概略的な機能ブロック図である。本実施形態の判定装置１は、機械学習装置１００が学習を行う場合に必要とされる構成を備えている（学習モード）。図２に示した各機能ブロックは、図１に示した判定装置１が備えるＣＰＵ１１、及び機械学習装置１００のプロセッサ１０１が、それぞれのシステム・プログラムを実行し、判定装置１及び機械学習装置１００の各部の動作を制御することにより実現される。
【００１８】
本実施形態の判定装置１は、制御部３２、データ取得部３４、評価関数作成部３６、判定データ作成部３７、前処理部３８を備え、判定装置１が備える機械学習装置１００は、学習部１１０を備えている。また、不揮発性メモリ１４上には、産業用ロボット２，センサ３等から取得されたデータが記憶される取得データ記憶部５４、取得されたデータに対する評価に用いられる評価関数が記憶される評価関数記憶部５６が設けられており、機械学習装置１００の不揮発性メモリ１０４上には、学習部１１０による機械学習により構築される学習モデルを記憶する学習モデル記憶部１３０が設けられている。
【００１９】
制御部３２は、不揮発性メモリ１０４に記憶された制御用プログラム５２に基づいて、産業用ロボット２の動作を制御する機能手段である。
制御部３２は、作業者による図示しない操作盤の制御操作や、不揮発性メモリ１４等に記憶された制御用プログラムに基づいて産業用ロボット２を制御する機能手段である。制御部３２は、制御用プログラム５２により産業用ロボット２が備える各軸（関節）の移動が指令されている場合に当該軸を駆動するモータに対して制御周期毎に軸角度の変化量としての指令データを出力する、等といったように、産業用ロボット２の各部を制御するために必要とされる一般的な制御のための機能を備える。また、制御部３２は、産業用ロボット２が備える各モータのモータ状態量（モータの電流値、位置、速度、加速度、トルク等）を取得し、データ取得部３４へと出力する。
【００２０】
データ取得部３４は、産業用ロボット２、センサ３、及び入力装置７１等から各種データを取得する機能手段である。データ取得部３４は、例えば、産業用ロボット制御用のプログラムによる指令や、産業用ロボット２のマニピュレータに掛かる力やモーメント、産業用ロボット２の軸を駆動するサーボモータ５０の電流値、位置、速度、加速度、トルク等を取得し、取得データ記憶部５４に記憶する。データ取得部３４は、センサ３から検出するデータや、サーボモータ５０に掛かるデータを時系列データとして取得するようにしても良い。データ取得部３４は、図示しない外部記憶装置や有線／無線のネットワーク７を介して他のコンピュータからデータを取得するようにしても良い。
【００２１】
データ取得部３４は、判定装置１が評価関数作成部３６による評価関数の作成を行う段階（評価関数作成モード）において、産業用ロボット２、センサ３、及び入力装置７１等から取得した取得データに対して、予め定められた所定の基準に従って取得データを分類する仮判定データを作成し、作成した仮判定データと取得データとを関連付けて評価関数作成用データとして取得データ記憶部５４に記憶する。データ取得部３４が作成する仮判定データの例として、図３に示されるような、シリンダーの挿入などでの目的に使われる、円柱を円筒穴に差し込む円柱嵌合の良否を判定する場合を例とすると、予め閾値ｔlim1＜閾値ｔlim2＜閾値ｔlim3を定めておき、目標深さまで嵌合するまでにかかった時間ｔがｔlim1未満の場合に成功（高）、目標深さまで嵌合するまでに掛かった時間ｔがｔlim1以上閾値ｔlim2未満の場合に成功（中）、目標深さまで嵌合するまでに掛かった時間ｔがｔlim2以上ｔlim3未満の場合に成功（低）、時間ｔlim3までに目標深さまで嵌合しなかった場合に失敗とする事が考えられる。この様に、データ取得部３４は、予め定められた基準に基づいて、取得データを成功や失敗等のように複数に分類する他、更に成功や失敗等の各分類の中を複数の副分類に分類する。上記した例では、成功の分類を更に時間基準で副分類に分類したものを示しているが、例えば、成功の分類を丁寧さ重視の副分類（ロボット先端部に掛かる力の最大値に応じて分類）に分類してもよいし、失敗の分類をこじりぐあい（ロボット先端部に掛かる力の最大値に応じて分類）や精度（ロボット先端部の位置の精度に応じて分類）するようにしても良い。この基準は、例えば熟練した作業者等が適宜定めておくようにしても良い。
【００２２】
また、データ取得部３４は、判定装置１が機械学習装置１００による機械学習を行う段階（学習モード）において、産業用ロボット２、センサ３、及び入力装置７１等から取得した取得データを機械学習に用いる取得データとして取得データ記憶部５４に記憶する。
【００２３】
評価関数作成部３６は、データ取得部３４により取得され取得データ記憶部５４に記憶された評価関数作成用データに基づいて、取得データに対する判定データを出力する評価関数を作成して評価関数記憶部５６に記憶する機能手段である。評価関数作成部３６が作成する評価関数は、例えば取得データの各データ値を引数として所定の評価値を算出する関数と、該評価値から判定データを導く評価式とから構成される。評価関数作成部３６が作成する評価関数が出力する判定データは、取得データから作成される状態データと共に機械学習装置１００による機械学習に用いられる。
【００２４】
評価関数作成部３６が作成する評価関数の例を説明する。例えば、図３に示されるような、シリンダーの挿入などでの目的に使われる、円柱を円筒穴に差し込む円柱嵌合を想定する。このような円柱嵌合の場合、データ取得部３４は取得データとして、産業用ロボット２やセンサ３等から、動作開始から終了までに掛かった時間やロボット先端部の力データ６成分の推移、位置データ６成分の推移（各サーボモータの位置データの推移から算出できる）等を取得できる。また、機械学習装置１００における機械学習に用いられる状態データＳとしては、例えばセンサ３としての力検出手段（力センサ）と位置検出手段（パルスコーダ）からそれぞれ取得されるロボット先端部の時系列の力及びモーメントのデータ６成分（Ｆx，Ｆy，Ｆz，Ｍx，Ｍy，Ｍz）及び位置及び姿勢データ６成分（Ｐx，Ｐy，Ｐz，Ｐw，Ｐd，Ｐr）が用いられ、判定データＤとしては、成功（高）、成功（中）、成功（低）、失敗の値を取るものと定める。
【００２５】
この時、評価関数記憶部５６には、例えば、以下に示す数１式に例示されるような評価値を算出する関数の雛形と、数２式に例示されるような評価式の雛形を予め記憶しておく。なお、数１式において、Ｑkは評価値、ｔは時間、Ｆpは押付力の最大値、Ｐoは姿勢の変化量、Ｐdは位置の変化量を示し、また、ｗk1，ｗk2，ｗk3，ｗk4はそれぞれのデータに対する重みの係数を示す。また、数２式において、ｌｉｍ0，ｌｉｍ1，ｌｉｍ2，ｌｉｍ3は判定データの分類を決定するための閾値を示す。
【００２６】
【数１】
2020110900.tif 000003
【００２７】
【数２】
2020110900.tif 000004
【００２８】
評価関数作成部３６は、上記した数１式、数２式における重みの係数と、閾値とを決定することにより、評価関数を作成する。より具体的には、データ取得部３４により取得され取得データ記憶部５４に記憶された、それぞれの評価関数作成用データに含まれる取得データに基づいて算出される時間ｔ、押付力の最大値Ｆp、姿勢の変化量Ｐo、位置の変化量Ｐdを数１式に当てはめ、その時に算出されるそれぞれの評価値Ｑkが評価関数作成用データに含まれる仮判定データと一致するように重みの係数と、閾値とを決定する。評価関数作成部３６は、重み係数については例えば相関分析や回帰分析等のような公知の統計的手法により求めれば良い。また、評価関数作成部３６は、閾値については隣接する分類における各取得データの評価値の分布に応じてその境界値を閾値として求めるようにすれば良い。
【００２９】
判定データ作成部３７は、評価関数作成部３６が作成して評価関数記憶部５６に記憶された評価関数を用いて、取得データ記憶部５４に記憶されている機械学習用の取得データに対する判定データを作成する機能手段である。判定データ作成部３７が作成する判定データは、前処理部３８による学習データの作成に用いられる。
【００３０】
前処理部３８は、データ取得部３４が取得した機械学習用の取得データと、該取得データに対して判定データ作成部３７が作成した判定データとに基づいて、機械学習装置１００による学習に用いられる学習データを作成する。前処理部３８は、データ取得部３４が取得したデータを機械学習装置１００において扱われる統一的な形式へと変換（数値化、サンプリング等）した状態データを作成する。
【００３１】
前処理部３８が作成する状態データＳは、例えば産業用ロボット２のマニピュレータに掛かる力に係る情報を含む力状態データＳ１、マニピュレータの位置に係る情報を含む位置状態データＳ２を含んでいても良い。この様な場合、力状態データＳ１は、産業用ロボット２のマニピュレータに掛かる送り方向の力を少なくとも含み、また、送り方向以外の方向に掛かる力や、力のモーメントを含んでいても良い。力状態データＳ１は、産業用ロボット２のマニピュレータに設置されたセンサ３により検出してもよいし、産業用ロボット２のそれぞれの軸を駆動するサーボモータ５０に流れる電流等から総合的に求めるようにしても良い。位置状態データＳ２は、前記力状態データＳ１の力の状態において行ったマニピュレータの送り方向の制御指令（速度指令、力指令、トルク指令等）の調整行動としてマニピュレータの送り方向の速度指令、力指令、トルク指令等の制御指令を少なくとも含み、また、更に送り方向以外の方向の制御指令を含んでいても良い。
なお、前処理部３８が学習データとして用いる判定データＤは、判定データ作成部３７が作成した判定データをそのまま用いるようにすれば良い。
【００３２】
学習部１１０は、前処理部３８が作成したデータを用いた機械学習を行う。学習部１１０は、例えば教師あり学習等の公知の機械学習の手法により、作業者により調整された産業用ロボット２の動作状態に対する、該動作に対する良否の判定を学習した学習モデルを生成し、生成した学習モデルを学習モデル記憶部１３０に記憶する。学習部１１０が行う教師あり学習の手法としては、例えばｍｕｌｔｉｌａｙｅｒ  ｐｅｒｃｅｐｔｒｏｎｎ法、ｒｅｃｕｒｒｅｎｔ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ法、Ｌｏｎｇ  Ｓｈｏｒｔ−Ｔｅｒｍ  Ｍｅｍｏｒｙ法、ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ法等が挙げられる。
【００３３】
学習部１１０は、取得データに基づいて作成された状態データＳに対して、該取得データに基づいて判定データ作成部３７が評価関数を用いて作成した判定データＤをラベルデータとした学習データを用いて教師あり学習を行い、産業用ロボット２の動作の成功／失敗（即ち、作業者による調整動作の成功／失敗）の判別境界、成功の度合い乃至失敗の度合いの判別境界を学習モデルとして生成することができる。このようにして生成された学習モデルを用いて、後述する判定部１２０は、産業用ロボット２の動作時に取得されたデータに基づいて、該動作の成功／失敗、成功の度合いや失敗の度合いを判定し、判定結果を算出することができる。
【００３４】
上記した構成を備えた判定装置１では、産業用ロボット２の動作時に取得されたデータに基づいて、該産業用ロボット２の動作を判定する際に用いる評価関数を作成する事ができる。判定装置１で作成された評価関数は、産業用ロボット２の動作時に取得されたデータに対する判定データを作成するために用いられ、所定の評価基準（熟練者による評価の基準）に基づいた産業用ロボット２の動作時に取得されたデータに対する該動作の判定結果を出力することができるので、作業者の経験によらずに安定した産業用ロボット２の動作の判定データを作成することが可能となる。
【００３５】
本実施形態の判定装置１は、図３に例示した嵌合動作以外にも、例えば図４に例示されるように、産業用ロボット２に取り付けられたマニピュレータでギヤを把持して、他のギヤに対して歯車の位相を合わせながらギヤを組み立てる動作や、図５に例示されるように、産業用ロボット２にマニピュレータの代わりに取り付けられた研磨工具でワークのバリ取りや研磨を行う動作等にも適用することができる。
【００３６】
本実施形態の変形例として、学習部１１０が学習に用いる状態データＳとして、産業用ロボット２及びセンサ３から取得された力状態データ及び位置状態データに加えて、ロボットの先端に取り付けられたツールの質量、ワークとツールとの隙間距離、摩擦係数、温度、力センサ特性等の各種データを状態データＳに追加して、機械学習を行うようにしても良い。
【００３７】
図６は、第２の実施形態による判定装置１と機械学習装置１００の概略的な機能ブロック図である。本実施形態の判定装置１は、機械学習装置１００が推定を行う場合に必要とされる構成を備えている（推定モード）。図６に示した各機能ブロックは、図１に示した判定装置１が備えるＣＰＵ１１、及び機械学習装置１００のプロセッサ１０１が、それぞれのシステム・プログラムを実行し、判定装置１及び機械学習装置１００の各部の動作を制御することにより実現される。
【００３８】
本実施形態の判定装置１は、制御部３２、データ取得部３４、前処理部３８を備え、判定装置１が備える機械学習装置１００は、判定部１２０を備えている。また、不揮発性メモリ１４上には、機械学習装置１００による産業用ロボット２の動作の判定に用いられる取得データが記憶される取得データ記憶部５４が設けられており、機械学習装置１００の不揮発性メモリ１０４上には、学習部１１０による機械学習により構築された学習モデルが記憶されている学習モデル記憶部１３０が設けられている。
【００３９】
本実施形態によるデータ取得部３４は、判定装置１が機械学習装置１００による機械学習を行う段階（判定モード）において、産業用ロボット２、センサ３、及び入力装置７１等から取得した取得データを産業用ロボット２の動作の判定に用いる取得データとして取得データ記憶部５４に記憶する。
また、本実施形態による制御部３２は、第１実施形態における制御部３２と同様の機能を備える。
【００４０】
本実施形態による前処理部３８は、データ取得部３４が取得して取得データ記憶部５４に記憶された取得データに基づいて、機械学習装置１００による産業用ロボット２の動作の判定に用いられる状態データＳを作成する。前処理部３８は、例えば、データ取得部３４が取得していた取得データを機械学習装置１００において扱われる統一的な形式へと変換（数値化、サンプリング等）したデータを作成する。
【００４１】
判定部１２０は、前処理部３８が作成した状態データＳに基づいて、学習モデル記憶部１３０に記憶された学習モデルを用いた産業用ロボット２の動作の判定を行う。本実施形態の判定部１２０では、学習部１１０により生成された（パラメータが決定された）学習モデルに対して、前処理部３８から入力された状態データＳを入力することで、産業用ロボット２の動作の成功／失敗、成功の度合い、失敗の度合い等を判定して出力する。判定部１２０が判定した結果は、表示装置７０に表示出力したり、図示しない有線／無線ネットワークを介してホストコンピュータやクラウドコンピュータ等に送信出力して利用するようにしても良い。
【００４２】
上記構成を備えた判定装置１では、産業用ロボット２から取得された取得データを用いて判定部１２０が該産業用ロボット２の動作の判定を行う。学習モデル記憶部１３０に記憶されている学習モデルは、評価関数作成部３６により作成された評価関数により所定の基準で作成された判定データを用いた学習により作成されているため、これを用いる判定部１２０は、所定の基準のもとで精度の高い産業用ロボット２の動作の判定を行うことができる。
【００４３】
図７は、判定装置１を備えた第３の実施形態によるシステム１７０を示す。システム１７０は、セルコンピュータやフォグコンピュータ、ホストコンピュータ、クラウドサーバ等のコンピュータ５の上に実装された少なくとも１台の機械学習装置１００と、産業用ロボット２を制御する制御装置（エッジコンピュータ）として実装された少なくとも１台の判定装置１と、コンピュータ５及び判定装置１を互いに接続する有線／無線のネットワーク１７２とを備える。
【００４４】
本実施形態による判定装置１は、前処理部３８及び機械学習装置１００を備えておらず、代わりにネットワークを介して接続されたコンピュータ５の上に前処理部３８及び機械学習装置が配置されている点で、第１，第２の実施形態と異なる。上記構成を有するシステム１７０では、機械学習装置１００を備えるコンピュータ５が、各々の判定装置１から産業用ロボット２の動作時に取得された取得データと（判定データ作成部３７により作成された）判定データとをネットワーク１７２を介して収集し、収集した取得データ及び判定データを用いた機械学習を行い、学習モデルを生成する（第１の実施形態に相当する動作モード）。
【００４５】
また、機械学習装置１００を備えるコンピュータ５は、それぞれの判定装置１からネットワーク１７２を介してそれぞれの産業用ロボット２の動作時に取得された取得データを受けて、それぞれの産業用ロボット２の動作の判定を行い、その判定結果を判定装置１に対して返信する（第２の実施形態に相当する動作モード）。
【００４６】
本実施形態によるシステムでは、例えばエッジコンピュータとしての複数の産業用ロボット２（判定装置１）に対して設置されたフォグコンピュータとしてのコンピュータ５の上に機械学習装置１００を配置し、各々の産業用ロボット２（判定装置１）の動作の判定をコンピュータ５上で集中的に行うことができるようになり、判定装置１毎に機械学習装置１００を用意する必要がなくなるため、機械学習装置１００の運用コストを削減することができる。
【００４７】
図８は、図７で示したコンピュータ５の概略的なハードウェア構成図である。
コンピュータ５が備えるＣＰＵ５１１は、コンピュータ５を全体的に制御するプロセッサである。ＣＰＵ５１１は、ＲＯＭ５１２に格納されたシステム・プログラムをバス５２０を介して読み出し、該システム・プログラムに従ってコンピュータ５全体を制御する。ＲＡＭ５１３には一時的な計算データ、入力装置５３１を介して作業者が入力した各種データ等が一時的に格納される。
【００４８】
不揮発性メモリ５１４は、例えば図示しないバッテリでバックアップされたメモリやＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等で構成され、コンピュータ５の電源がオフされても記憶状態が保持される。不揮発性メモリ５１４には、コンピュータ５の動作に係る設定情報が格納される設定領域や、入力装置５３１から入力されたデータ、各判定装置１から取得されるデータ、図示しない外部記憶装置やネットワークを介して読み込まれたデータ等が記憶される。不揮発性メモリ５１４に記憶されたプログラムや各種データは、実行時／利用時にはＲＡＭ５１３に展開されても良い。また、ＲＯＭ５１２には、各種データを解析するための公知の解析プログラム等を含むシステム・プログラムが予め書き込まれている。
【００４９】
コンピュータ５は、インタフェース５１６を介してネットワーク１７２と接続されている。ネットワーク１７２には、少なくとも１つの判定装置１や他のコンピュータ等が接続され、コンピュータ５との間で相互にデータのやり取りを行っている。
【００５０】
表示装置５３０には、メモリ上に読み込まれた各データ、プログラム等が実行された結果として得られたデータ等がインタフェース５１７を介して出力されて表示される。また、キーボードやポインティングデバイス等から構成される入力装置５３１は、作業者による操作に基づく指令，データ等をインタフェース５１８を介してＣＰＵ５１１に渡す。
なお、機械学習装置１００については、図１で説明したものと同様のハードウェア構成を備える。
【００５１】
図９は、判定装置１を備えた第４の実施形態によるシステム１７０を示す。システム１７０は、セルコンピュータやフォグコンピュータ、ホストコンピュータ、クラウドサーバ等のコンピュータ上に実装された判定装置１と、産業用ロボット２を制御する制御装置６（エッジコンピュータ）と、判定装置１及び制御装置６を互いに接続する有線／無線のネットワーク１７２とを備える。
【００５２】
上記構成を有するシステム１７０では、判定装置１が、各々の制御装置６から産業用ロボット２の動作時に取得された取得データをネットワーク１７２を介して収集し、収集した取得データを用いて複数の産業用ロボット２の動作に共通する評価関数を作成する。また、判定装置１が、各々の制御装置６から産業用ロボット２の動作時に取得された取得データをネットワーク１７２を介して収集し、収集した取得データを用いた機械学習を行い、学習モデルを生成する（第１の実施形態に相当する動作モード）。
【００５３】
更に、判定装置１は、それぞれの制御装置６からネットワーク１７２を介してそれぞれの産業用ロボット２の動作時に取得された取得データを受けて、それぞれの産業用ロボット２の動作の判定を行い、その判定結果を制御装置６に対して返信する（第２の実施形態に相当する動作モード）。
【００５４】
本実施形態によるシステムでは、例えばエッジコンピュータとしての複数の産業用ロボット２（制御装置６）に対して設置されたフォグコンピュータとしての判定装置１を配置し、各々の産業用ロボット２（制御装置６）の動作の判定を判定装置１上で集中的に行うことができるようになり、産業用ロボット２毎に機械学習装置１００を用意する必要がなくなるため、機械学習装置１００の運用コストを削減することができる。
【００５５】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
例えば、上記した実施形態では判定装置１と機械学習装置１００が異なるＣＰＵ（プロセッサ）を有する装置として説明しているが、機械学習装置１００は判定装置１が備えるＣＰＵ１１と、ＲＯＭ１２に記憶されるシステム・プログラムにより実現するようにしても良い。
【符号の説明】
【００５６】
１  判定装置
２  産業用ロボット
３  センサ
５  コンピュータ
６  制御装置
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性メモリ
１６，１７，１８，１９  インタフェース
２０  バス
２１  インタフェース
３０  軸制御回路
３２  制御部
３４  データ取得部
３６  評価関数作成部
３７  判定データ作成部
３８  前処理部
４０  サーボアンプ
５０  サーボモータ
５２  制御用プログラム
５４  取得データ記憶部
５６  評価関数記憶部
６０  教示操作盤
７０  表示装置
７１  入力装置
１００  機械学習装置
１０１  プロセッサ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  不揮発性メモリ
１１０  学習部
１２０  判定部
１３０  学習モデル記憶部
１７０  システム
１７２  ネットワーク
【図１】
2020110900.tif 000005
【図２】
2020110900.tif 000006
【図３】
2020110900.tif 000007
【図４】
2020110900.tif 000008
【図５】
2020110900.tif 000009
【図６】
2020110900.tif 000010
【図７】
2020110900.tif 000011
【図８】
2020110900.tif 000012
【図９】
2020110900.tif 000013