(57)【要約】【課題】多数のエンドエフェクターやワークに、そして多様な目標軌跡に対して、ロボットアームの適切な制御を行えるようにする。【解決手段】状態観測部により経時的に観測される、ロボットアームの各関節１２の角度及びロボットアームの先端部１５に作用する外力と、関節１２を駆動する駆動モーターの駆動トルクと、を含むデータセットを学習することで得られた、目標軌跡と先端部１５の位置と当該先端部１５に作用する外力とを入力とし、駆動モーターの駆動トルクを出力とする入出力の相関性を示す学習結果を用いて、新たに生成された目標軌跡と、各関節１２の角度及び当該先端部１５に作用する外力とに基づいて、ロボットアームを目標軌跡に追従するための駆動モーターの駆動トルクを求め、求めた駆動トルクに従って、駆動モーターを制御するアーム制御部ＡＣを備える。【選択図】図４
2020082313.tif 000002
【特許請求の範囲】
【請求項１】
複数の関節を有し、三次元空間を自在に移動可能なロボットアームと、
前記複数の関節それぞれに設けられた、前記関節を駆動する関節駆動部と、
前記ロボットアームの先端部の位置を検出する位置検出部と、
前記先端部に作用する外力を検出する力検出部と、を備えると共に、前記先端部にエンドエフェクターが着脱交換可能に構成されたロボットの動作を制御するロボット制御装置であって、
前記位置検出部及び前記力検出部による検出結果に基づいて、前記ロボットアームの状態を観測する状態観測部と、
前記ロボットアームの前記先端部を予め生成された目標軌跡に追従させるための動作過程において、前記状態観測部により経時的に観測される、前記先端部の位置及び当該先端部に作用する外力と、前記関節駆動部の駆動トルクと、を含むデータセットを学習することで得られた、前記目標軌跡と前記先端部の位置と当該先端部に作用する外力とを入力とし、前記関節駆動部の駆動トルクを出力とする入出力の相関性を示す学習結果を用いて、
新たに生成された目標軌跡と、前記先端部の位置及び当該先端部に作用する外力とに基づいて、前記ロボットアームの前記先端部を前記目標軌跡に追従させるための前記関節駆動部の駆動トルクを求める駆動トルク演算部と、
前記駆動トルク演算部で求められた駆動トルクに従って、前記関節駆動部を制御する制御部と、を備えるロボット制御装置。
【請求項２】
前記位置検出部は、前記複数の関節それぞれに設けられた、前記関節の角度を検出するもので、
前記状態観測部は、前記先端部の位置を、前記関節の角度を用いて計算する請求項１に記載のロボット制御装置。
【請求項３】
前記状態観測部により経時的に観測される、前記先端部の位置及び当該先端部に作用する外力と、前記関節駆動部の駆動トルクと、を含むデータセットに基づいて、前記目標軌跡と前記先端部の位置と当該先端部に作用する外力とを入力とし、前記関節駆動部の駆動トルクを出力とする入出力の相関性を学習する学習部を更に備え、
前記学習部は、前記駆動トルク演算部が求めた駆動トルクに従って前記関節駆動部を駆動させたことによる前記先端部の実際の位置と、前記目標軌跡との誤差を最小化するように、前記学習結果を更新する請求項１又は請求項２に記載のロボット制御装置。
【請求項４】
請求項１又は請求項２に記載のロボット制御装置が備える前記状態観測部により経時的に観測される、前記先端部の位置及び当該先端部に作用する外力と、前記関節駆動部の駆動トルクと、を含むデータセットに基づいて、前記目標軌跡と前記先端部の位置と当該先端部に作用する外力とを入力とし、前記関節駆動部の駆動トルクを出力とする入出力の相関性を学習する学習部を備える学習装置であって、
前記学習部は、前記駆動トルク演算部が求めた駆動トルクに従って前記関節駆動部を駆動させたことによる前記先端部の実際の位置と、前記目標軌跡との誤差を最小化するように、前記学習結果を更新する学習装置。
【請求項５】
請求項１乃至請求項３のいずれかに記載のロボット制御装置と、
前記ロボットと、を備えるロボット制御システム。
【請求項６】
請求項１又は請求項２に記載のロボット制御装置と、
請求項４に記載の学習装置と、
前記ロボットと、を備えるロボット制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットアームを構成する各関節の駆動を制御するロボット制御装置、学習装置、及びロボット制御システムに関する。
【背景技術】
【０００２】
下記の特許文献１に、ロボットアームに装備されるエンドエフェクターの位置の軌跡を改善でき、更に高周波の偏差にも追従できるようにするための学習制御を行うロボットについて記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１１０７０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ロボットアームの先端部に取り付けられるエンドエフェクターは、ユーザーが自由に取り換え可能であり、その種類は１種類ではない。例えば、爪部を有したグリッパーや、指部を有したハンドや、吸着部を有した吸着ノズル等がエンドエフェクターとして、ロボットアームの先端部に取り付けられる。
【０００５】
そのため、ロボットアームの先端部に取り付けられるエンドエフェクターの重量や形状が変わることがある。また、エンドエフェクターの把持対象となるワークも１種類ではなく、その重量や形状も変わることがある。
【０００６】
ロボットアームの先端部に取り付けられるエンドエフェクターや把持対象のワークが変わると、当該先端部に働く重力の大きさや、それら部材の重心位置が変わるので、ロボットアームの目標軌跡が変わらなかったとしても、ロボットアームに対する制御を変更する必要がある。例えば、エンドエフェクターやワークの重量が増加すれば、ロボットアームの駆動トルクについても大きくする必要がある。もし、駆動トルクを変更しなければ、ロボットアームの実際の軌跡は目標軌跡から大きく外れてしまう可能性がある。
【０００７】
また、ロボットアームの目標軌跡についても、タスク毎に異なる。ロボットアームを目標軌跡に追従させる動作に誤差（例えば、エンドエフェクターやワークの重量による撓み）が生じることがあるが、目標軌跡が変わると、誤差の発生の仕方も変わる。従って、目標軌跡の変化は、ロボットアームの位置精度や制御性能に影響を与える。
【０００８】
人間とは物理的に隔離した状態で使用される産業用ロボットであれば、ロボットそのものの強度や重量が大きく、ロボットアームの関節を駆動させるための駆動モーターの出力を、エンドエフェクターやワークの変化、そして目標軌跡の変化を無視することができる程度にまで大きくすることが可能である。
【０００９】
しかしながら、人間と同じ空間で使用される協働ロボットであれば、動作に制約が多く、ロボットは比較的小型で軽量なものとしなければならず、駆動モーターの出力についてもあまり大きくすることはできない。そのため、エンドエフェクターやワークの変化、目標軌跡の変化を無視することはできない。また、上記の特許文献１に記載されている技術では、ロボットアームの先端部に働く重量の大きさや重心位置が変化することに対処することはできない。
【００１０】
また、エンドエフェクターやワークの種類は数多く存在し、目標軌跡についても無数に考えられるので、すべてのパターンに対応した目標軌跡追従のための制御プログラムを設計者が事前に用意しておくことは困難である。
【００１１】
本発明は、上記の事情に鑑みなされたものであり、ロボットそのものの強度や重量、駆動モーターの出力を大きくしなくても、多数のエンドエフェクターやワークに、そして多様な目標軌跡に対して、ロボットアームの適切な制御を行えるようにすることを目的とする。
【課題を解決するための手段】
【００１２】
本発明の一局面に係るロボット制御装置は、複数の関節を有し、三次元空間を自在に移動可能なロボットアームと、前記複数の関節それぞれに設けられた、前記関節を駆動する関節駆動部と、前記ロボットアームの先端部の位置を検出する位置検出部と、前記先端部に作用する外力を検出する力検出部と、を備えると共に、前記先端部にエンドエフェクターが着脱交換可能に構成されたロボットの動作を制御するロボット制御装置であって、前記位置検出部及び前記力検出部による検出結果に基づいて、前記ロボットアームの状態を観測する状態観測部と、前記ロボットアームの前記先端部を予め生成された目標軌跡に追従させるための動作過程において、前記状態観測部により経時的に観測される、前記先端部の位置及び当該先端部に作用する外力と、前記関節駆動部の駆動トルクと、を含むデータセットを学習することで得られた、前記目標軌跡と前記先端部の位置と当該先端部に作用する外力とを入力とし、前記関節駆動部の駆動トルクを出力とする入出力の相関性を示す学習結果を用いて、新たに生成された目標軌跡と、前記先端部の位置及び当該先端部に作用する外力とに基づいて、前記ロボットアームを前記目標軌跡に追従するための前記関節駆動部の駆動トルクを求める駆動トルク演算部と、前記駆動トルク演算部で求められた駆動トルクに従って、前記関節駆動部を制御する制御部と、を備える。
【００１３】
また、本発明の一局面に係る学習装置は、上記ロボット制御装置が備える前記状態観測部により経時的に観測される、前記先端部の位置及び当該先端部に作用する外力と、前記関節駆動部の駆動トルクと、を含むデータセットに基づいて、前記目標軌跡と前記先端部の位置と当該先端部に作用する外力とを入力とし、前記関節駆動部の駆動トルクを出力とする入出力の相関性を学習する学習部を備える学習装置であって、前記学習部は、前記駆動トルク演算部が求めた駆動トルクに従って前記関節駆動部を駆動させたことによる前記先端部の実際の位置と、前記目標軌跡との誤差を最小化するように、前記学習結果を更新する。
【００１４】
また、本発明の一局面に係るロボット制御システムは、上記ロボット制御装置と、上記ロボットと、を備える。
【発明の効果】
【００１５】
本発明によれば、ロボットアームの先端部を目標軌跡に追従させるための動作過程において、状態観測部により経時的に観測される、ロボットアームの先端部の位置及び当該先端部に作用する外力と、関節駆動部の駆動トルクと、を含むデータセットを事前に学習させることで得られた学習結果を利用することが可能である。
【００１６】
従って、様々な重量や形状のエンドエフェクターやワークを用いて（すなわち、ロボットアームの先端部に作用する外力を様々に変化させて）、ロボットアームを動作させ、多様なロボットアームの軌跡に対して、位置精度の高い行動が実現できるように学習させることで、実際の学習結果から、多数のエンドエフェクターやワークに、そして多様な目標軌跡に対して、ロボットアームの適切な制御が行えるようになる。すなわち、誤差の小さい、位置精度の高い制御を実現することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態に係るロボット制御装置を含んで構成されるロボット制御システムの主要内部構成を概略的に示した機能ブロック図である。
【図２】ロボット制御システムを構成する各構成間でのデータ等の流れを説明するための説明図である。
【図３】制御の対象となるロボットを模式的に示した外観図である。
【図４】学習装置へ送信されるデータセットを構成する各データを説明するための説明図である。
【発明を実施するための形態】
【００１８】
以下、本発明の一実施形態に係るロボット制御装置、学習装置、及びロボット制御システムについて図面を参照して説明する。図１は、一実施形態に係るロボット制御装置を含んで構成されるロボット制御システムの主要内部構成を概略的に示した機能ブロック図である。図２は、ロボット制御システムを構成する各構成間でのデータ等の流れを説明するための説明図である。図３は、制御の対象となるロボットを模式的に示した外観図である。
【００１９】
ロボット制御システム１は、ロボット１０と、ロボット１０の動作を制御するロボット制御装置２０と、学習装置３０と、を含んで構成されている。
【００２０】
ロボット１０は、図３に示すように、人間の腕と同様の運動機能を持つマニピュレーターで、三次元空間を自在に移動可能なロボットアーム１１を備え、ロボットアーム１１の根元は台座１４に固定されている。ロボットアーム１１は、複数の関節１２Ａ乃至１２Ｃ（以降、まとめて「関節１２」とも称す）と、関節１２どうしをつなぐリンク１３Ａ，１３Ｂとを有する。
【００２１】
また、ロボットアーム１１は、その先端部１５にエンドエフェクターが着脱交換可能に構成されている。図３中では、エンドエフェクターとして、平行に配置された２つの爪部４１Ａ，４１Ｂを有するグリッパー４１が取り付けられ、グリッパー４１がワーク４２を把持した状態を示している。
【００２２】
ロボット１０は、関節１２それぞれに設けられた、関節１２を駆動する関節駆動部１６Ａ乃至１６Ｃ（以降、まとめて「関節駆動部１６」とも称す）と、関節１２それぞれに設けられた、関節１２の角度を検出する関節角検出部１７Ａ乃至１７Ｃ（以降、まとめて「関節角検出部１７」とも称す）と、先端部１５に作用する外力を検出する力検出部１８と、を備える。なお、関節駆動部１６、関節角検出部１７、及び力検出部１８としてはそれぞれ、例えば、モーター、エンコーダー、歪みセンサーが挙げられる。
【００２３】
また、関節角検出部１７は、特許請求の範囲における位置検出部の一例である。ロボットアーム１１の先端部１５の位置は、関節１２Ａ乃至１２Ｃすべての角度から割り出すことができる。なお、位置検出部としては、他にロボット１０の全体を撮影するカメラなどが挙げられる。
【００２４】
ロボット制御装置２０は、制御ユニット２１と、操作部２２と、表示部２３と、記憶部２４と、外部インターフェイス部（外部Ｉ／Ｆ）２５と、通信インターフェイス部（通信Ｉ／Ｆ）２６と、を備える。
【００２５】
操作部２２は、キーボードやマウス等から構成され、制御ユニット２１にコマンドや文字を入力したり、表示部２２における画面上のポインターを操作したりする。表示部２３は、制御ユニット２１からの応答やデータ結果を表示する。操作部２２は、例えば、ロボットアーム１１の先端部１５の目標到達位置の指示入力に用いられる。
【００２６】
記憶部２４は、ＨＤＤ（Hard Disk Drive）などの記憶装置であり、ロボット制御装置２０の動作に必要なプログラムやデータを記憶する。
【００２７】
外部インターフェイス部２５は、外部装置と接続するためのもので、ロボット制御装置２０は、外部インターフェイス部２５を介して、ロボット１０を構成する関節駆動部１６、関節角検出部１７、及び力検出部１８と接続されている。
【００２８】
通信インターフェイス部２６は、不図示のＬＡＮ（Local Area Network）チップなどの通信モジュールを備えるインターフェイスで、外部装置との間で通信を行う。ロボット制御装置２０は、通信インターフェイス部２６を介して、学習装置３０との間でデータの送受信を行う。
【００２９】
制御ユニット２１は、プロセッサー、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、及び専用のハードウェア回路を含んで構成される。プロセッサーは、例えばＣＰＵ（Central Processing Unit）、ＡＳＩＣ（Application Specific Integrated Circuit）、又はＭＰＵ（Micro Processing Unit）等である。制御ユニット２１は、制御部２１１と、状態観測部２１２と、アーム軌跡生成部２１３と、駆動トルク演算部２１４と、学習結果メモリー２１５と、を備えている。また、図２に示したように、制御部２１１と、駆動トルク演算部２１４と、学習結果メモリー２１５とを含んで、ロボットアーム１１の動作を制御するアーム制御部ＡＣが構成される。
【００３０】
制御ユニット２１は、記憶部２４に記憶されている制御プログラムに従った上記プロセッサーによる動作により、制御部２１１、状態観測部２１２、アーム軌跡生成部２１３、駆動トルク演算部２１４、及び学習結果メモリー２１５として機能する。但し、制御ユニット２１等の上記の各構成は、制御ユニット２１による制御プログラムに基づく動作によらず、それぞれハードウェア回路により構成することも可能である。以下、特に触れない限り、各実施形態について同様である。
【００３１】
制御部２１１は、ロボット制御装置２０の全体的な動作制御を司る。制御部２１１は、操作部２２、表示部２３、記憶部２４、外部インターフェイス部２５、及び通信インターフェイス部２６と接続されており、接続されている上記各構成の動作制御や、各構成との間での信号またはデータの送受信を行う。
【００３２】
状態観測部２１２は、関節角検出部１７で検出される関節１２それぞれの角度と、力検出部１８で検出されるロボットアーム１１の先端部１５に作用する外力とを、ロボットアーム１１の状態として観測する。また、状態観測部２１２は、関節角検出部１７で検出される関節１２すべての角度を用いて、先端部１５の位置を計算する。
【００３３】
アーム軌跡生成部２１３は、操作部２２を介してユーザーから指示された目標到達位置に基づいて、現在位置から当該目標到達位置までの、ロボットアーム１１の先端部１５の目標軌跡を生成する。なお、軌跡の生成には、種々の生成アルゴリズムを適用することができる。また、目標到達位置だけでなく、経由位置がユーザーにより指示された場合、アーム軌跡生成部２１３は、指示された経由位置を通る目標軌跡を生成する。
【００３４】
駆動トルク演算部２１４は、学習結果メモリー２１５に記憶されている学習結果を用いて、アーム軌跡生成部２１３により生成された目標軌跡と、ロボットアーム１１の先端部１５の位置（具体的には、関節１２それぞれの角度）及び当該先端部１５に作用する外力とに基づいて、ロボットアーム１１の先端部１５を上記目標軌跡に追従させるための関節駆動部１６それぞれの駆動トルクを求める。そして、制御部２１１が、駆動トルク演算部２１３で求められた駆動トルクに従って、関節駆動部１６を制御する。
【００３５】
学習結果メモリー２１５は、学習装置３０による学習で得られた学習結果を記憶するメモリーである。学習結果は、ロボットアーム１１の先端部１５を上記目標軌跡に追従させるための動作過程において、状態観測部２１２により経時的に観測される、先端部１５の位置（関節１２それぞれの角度）及び当該先端部１５に作用する外力と、関節駆動部１６の駆動トルクと、を含むデータセットを事前に学習することで得られるものである。
【００３６】
学習装置３０は、制御ユニット３１と、記憶部３２と、通信インターフェイス部（通信Ｉ／Ｆ）３３と、を備える。
【００３７】
記憶部３２は、ＨＤＤなどの記憶装置であり、学習装置３０の動作に必要なプログラムやデータを記憶し、データセット記憶部３２１を含む。データセット記憶部３２１は、ロボット制御装置２０から送信されてくるデータセットを記憶する。
【００３８】
通信インターフェイス部３３は、不図示のＬＡＮチップなどの通信モジュールを備えるインターフェイスで、外部装置との間で通信を行う。学習装置３０は、通信インターフェイス部３３を介して、ロボット制御装置２０との間でデータの送受信を行う。
【００３９】
制御ユニット３１は、プロセッサー、ＲＡＭ、ＲＯＭ、及び専用のハードウェア回路を含んで構成される。プロセッサーは、例えばＣＰＵ、ＡＳＩＣ、又はＭＰＵ等である。制御ユニット３１は、制御部３１１と、学習部３１２と、を備えている。
【００４０】
制御ユニット３１は、記憶部３２に記憶されている制御プログラムに従った上記プロセッサーによる動作により、制御部３１１及び学習部３１２として機能する。但し、制御ユニット３１等の上記の各構成は、制御ユニット３１による制御プログラムに基づく動作によらず、それぞれハードウェア回路により構成することも可能である。以下、特に触れない限り、各実施形態について同様である。
【００４１】
制御部３１１は、学習装置３０の全体的な動作制御を司る。制御部３１１は、記憶部３２、及び通信インターフェイス部３３と接続されており、接続されている上記各構成の動作制御や、各構成との間での信号またはデータの送受信を行う。
【００４２】
例えば、制御部３１１は、通信インターフェイス部３３を介して、ロボット制御装置２０から送信されてくるデータセットを受信すると、受信したデータセットをデータセット記憶部３２１に順次記憶する。
【００４３】
学習装置３０へ送信され、データ記憶部３２１で記憶されるデータセットを構成する各データについて、図４を用いて説明する。アーム制御部ＡＣ（を構成する制御部２１１）は、学習モードが設定されている間、アーム軌跡生成部２１３で生成された「目標軌跡（動作開始位置と目標到達位置とを結ぶ軌跡）」に追従するロボットアーム１１の動作過程において、状態観測部２１２による観測で得られた「各関節１２の角度」及びロボットアーム１１の「先端部１５に作用する外力」と、駆動トルク演算部２１４で求められた「駆動トルク」と、を含む時系列データ（シミュレーションデータ）を、当該「目標軌跡」と紐付けて、上記データセットとして学習装置３０へ送信する。学習装置３０は、受信したデータセットをデータセット記憶部３２１に記憶させる。
【００４４】
データセット記憶部３２１に記憶されているデータセットは、学習部３１２で学習され、学習部３１２による学習で得られた学習結果がアーム制御部ＡＣへ送信される。
【００４５】
学習モードは、例えば、工場内の作業員が、操作部２２を介して予め定められた特殊操作を行うことで移行するモードで、基本的には、ロボット制御装置２０の出荷前だけに利用されるモードである。
【００４６】
学習部３１２は、図１及び図２に示したように、誤差最小化部３１３と学習結果更新部３１４とを備え、データセット記憶部３２１に記憶されているデータセットを学習する。学習部３１２による学習で得られた学習結果は、図４に示したように、アーム制御部ＡＣで用いられる。
【００４７】
学習部３１２は、データセット記憶部３２１に記憶されているデータセットを用いて、例えば、機械学習を行い、データセットが有する特徴を学習し、ある時刻でのロボットアーム１１の先端部１５の位置（各関節１２の角度）と、当該先端部１５に作用する外力と、上記目標軌跡が示す目標通過位置と、を入力データとし、当該先端部１５の位置から当該目標通過位置へ到達するのに必要な関節駆動部１６の駆動トルクを出力データとした、ある入力に対する適切な出力を推定するための入出力の相関性を学習する。この入出力の相関性を示したモデルが学習結果となる。
【００４８】
従って、上記データセットを大量に学習することで、未知の「入力」から適切な「出力」を推定するモデル（学習結果）を獲得することができる。なお、これはニューラルネットワークなどのアルゴリズムを用いて実現することが可能で、入力データとして、ある時刻でのロボットアーム１１の先端部１５の位置（各関節１２の角度）と、当該先端部１５に作用する外力と、目標通過位置と、を入力すると、当該先端部１５の位置から当該目標通過位置へ到達するのに適した関節駆動部１６それぞれの駆動トルクを出力するように、ニューラルネットワークを構築する。
【００４９】
誤差最小化部３１３は、ニューラルネットワークから出力された駆動トルクで関節１２を実際に駆動させた後に、状態観測部２１２で観測された先端部１５の実際の位置と、目標通過位置との誤差が小さくなるように、ニューラルネットワークを更新する。具体的には、ニューラルネットワークを構成する各ニューロン間の結合の重みを調整する。なお、この重みの調整は、誤差逆伝搬法により可能である。
【００５０】
学習結果更新部３１４は、誤差最小化部３１３で調整された学習結果を、通信インターフェイス部３３を介して、ロボット制御装置２０へ送信することで、ロボット制御装置２０の学習結果メモリー２１５に記憶される学習結果を更新する。
【００５１】
ロボット制御装置２０の制御部２１１は、通信インターフェイス部２６を介して、学習装置３０から送信されてくる学習結果を受信すると、学習結果メモリー２１５に記憶される学習結果を新たに受信した学習結果に更新する。
【００５２】
続いて、データセットの収集について説明する。目標軌跡の追従に適切な駆動トルクを求めるには、優れた学習結果が必要である。優れた学習結果を得るには、学習部３１２に多様なデータセットを学習させる必要がある。
【００５３】
そこで、工場内の作業員は、ロボットアーム１１の先端部１５に、シミュレーション毎に、様々な重量や形状のエンドエフェクターを取り付け、ワークについても重量や形状の異なるものを使用し（すなわち、ロボットアーム１１の先端部１５に作用する外力を様々に変化させて）、そして多様な軌跡でロボットアーム１１を動作させる。
【００５４】
ロボット１０の可搬重量が２ｋｇの場合、エンドエフェクターとワークとの総重量が２ｋｇを超えない範囲で、例えば、エンドエフェクターを１ｋｇから２ｋｇの間で１００ｇずつ変化させ、ワークを１００ｇから１ｋｇの間で５０ｇずつ変化させる。また、それら部材の重心位置についてもシミュレーション毎に、ロボットアーム１１の先端部１５から半径１００ｍｍの範囲内にランダムで変化するように、エンドエフェクターを取り付けたり、エンドエフェクターにワークを把持させたりするのが好ましい。
【００５５】
そして、この運動過程において、状態観測部２１２による観測で得られた関節１２の角度及びロボットアーム１１の先端部１５に作用する外力と、駆動トルク演算部２１４で求められた駆動トルクと、を含む時系列データを、目標軌跡と紐付けて、上記データセットとして収集する。
【００５６】
上記実施形態によれば、ロボットアーム１１の先端部１５を目標軌跡に追従させるための動作過程において、状態観測部２１２により経時的に観測される、ロボットアーム１１の先端部１５の位置及び当該先端部１５に作用する外力と、関節駆動部１６の駆動トルクと、を含むデータセットを事前に学習させることが可能である。
【００５７】
従って、様々な重量や形状のエンドエフェクターやワークを用いて（すなわち、ロボットアーム１１の先端部１５に作用する外力を様々に変化させて）、ロボットアーム１１を動作させ、多様なロボットアーム１１の軌跡に対して、位置精度の高い行動が実現できるように学習させることで、実際の学習結果から、多数のエンドエフェクターやワークに、そして多様な目標軌跡に対して、ロボットアーム１１の適切な制御が行えるようになる。すなわち、誤差の小さい、位置精度の高い制御を実現することが可能となる。
【００５８】
これにより、ロボットアーム１１の先端部１５に働く重量の変化や重心位置の変化に対する位置精度のロパスト性を向上させることが可能となるので、ユーザーがロボットに適用できるエンドエフェクターやワークの選択範囲を広げることができる。
【００５９】
また、ロボットアーム１１の位置精度の向上を、ソフトウェア制御によって実現することが可能となるので、ロボット１０そのものの強度や重量や、関節駆動部１６（駆動モーター）の出力を変更しなくてもよいので、コスト面で有利となる。また、ロボット１０そのものの強度や重量、そして関節駆動部１６の出力を大きくしなくてよいので、協働ロボットに特に有効である。
【００６０】
また、目標軌跡に追従させるためのフィードフォワード制御などの複雑な制御を必要としない。そのため、フィードフォワード制御のような複雑な制御アルゴリズムに対し、シンプルで汎用的な制御アルゴリズムを生成することができる。
【００６１】
また、ロボットアーム１１の先端部１５に作用する外力は、ロボット１０に設けられた力検出部１８による検出結果に基づいて観測されるので、エンドエフェクターやワークの重量や形状をユーザーが意識する必要はない。もちろん、当該重量や形状の情報をロボット制御装置２０へユーザーが入力する必要もないので、非常に使い勝手のよいものとすることができる。
【００６２】
なお、上記実施形態では、学習装置３０が、ロボット制御装置２０と別の装置として構成される場合について説明しているが、学習装置３０を構成する各機能については、ロボット制御装置２０が備えるようにしてもよい。
【００６３】
本発明は上記実施の形態の構成に限られず種々の変形が可能である。また、上記実施形態では、図１乃至図４を用いて上記実施形態により示した構成及び処理は、本発明の一実施形態に過ぎず、本発明を当該構成及び処理に限定する趣旨ではない。
【符号の説明】
【００６４】
１        ロボット制御システム
１０      ロボット
１１      ロボットアーム
１２      関節
１５      先端部
１６      関節駆動部
１７      関節角検出部
１８      力検出部
２０      ロボット制御装置
３０      学習装置
４１      グリッパー
２１１    制御部
２１２    状態観測部
２１４    駆動トルク演算部
２１５    学習結果メモリー
３１２    学習部
３２１    データセット記憶部
【図１】
2020082313.tif 000003
【図２】
2020082313.tif 000004
【図３】
2020082313.tif 000005
【図４】
2020082313.tif 000006