(57)【要約】      （修正有）【課題】学習制御器のロバスト性を確保しながら制御性能の低下を抑え、学習回数を低減し、ロボット機構部の振動を良好に除去する。【解決手段】ロボット機構部１１０の複数の姿勢および負荷において測定された周波数応答を記憶する応答記憶部２と、応答記憶部２に記憶されている周波数応答のうち、使用される動作プログラムに基づいて、動作プログラムにおいてロボット機構部１１０が取り得る姿勢および負荷の範囲に対応する周波数応答を応答記憶部２から読み出して利用し、センサ１２０により検出されたロボット機構部１１０の位置制御の対象とする制御対象部位の位置を目標位置に近づけるための学習補正量を算出する学習を行う学習制御部３とを備える学習制御装置１である。【選択図】図１
2020121358.tif 000002
【特許請求の範囲】
【請求項１】
ロボット機構部の複数の姿勢および負荷において測定された周波数応答を記憶する応答記憶部と、
該応答記憶部に記憶されている前記周波数応答のうち、使用される動作プログラムに基づいて、該動作プログラムにおいて前記ロボット機構部が取り得る姿勢および負荷の範囲に対応する前記周波数応答を前記応答記憶部から読み出して利用し、センサにより検出された前記ロボット機構部の位置制御の対象とする制御対象部位の位置を目標位置に近づけるための学習補正量を算出する学習を行う学習制御部とを備える学習制御装置。
【請求項２】
前記応答記憶部が、前記ロボット機構部の複数の姿勢および負荷におけるイナーシャに対応付けて前記周波数応答を記憶し、
前記学習制御部は、入力された前記動作プログラムに基づいて、該動作プログラムにおいて前記ロボット機構部が取り得る前記イナーシャの最小値および最大値に挟まれる範囲の前記イナーシャに対応する前記周波数応答を前記応答記憶部から読み出す請求項１に記載の学習制御装置。
【請求項３】
前記応答記憶部が、前記ロボット機構部の複数の姿勢および負荷におけるイナーシャに対応付けて前記周波数応答を記憶し、
前記学習制御部は、入力された前記動作プログラムを区分し、該動作プログラムの各区分において前記ロボット機構部が取り得る前記イナーシャの最小値および最大値に挟まれる範囲の前記イナーシャに対応する前記周波数応答を前記応答記憶部から読み出して、前記区分毎に学習を行う請求項１に記載の学習制御装置。
【請求項４】
前記学習制御部は、入力された前記動作プログラムを該動作プログラム内の各教示点における前記ロボット機構部の前記イナーシャの大きさによって区分する請求項３に記載の学習制御装置。
【請求項５】
請求項１から請求項４のいずれかに記載の学習制御装置と、
前記制御対象部位の目標軌跡もしくは前記目標位置に関する位置指令が与えられ、与えられた前記位置指令および前記学習補正量を用いて、前記ロボット機構部の動作を制御する通常制御部とを備え、
前記学習制御部は、前記位置指令および前記学習補正量を用いて前記動作プログラムにより前記ロボット機構部を動作させて、前記センサにより検出された前記制御対象部位の位置と前記目標位置との差分である目的補正量を算出し、前記学習補正量および前記目的補正量に基づいて前記制御対象部位の位置を前記目標位置に近づける新たな学習補正量を算出するロボット制御装置。
【請求項６】
位置制御の対象とする制御対象部位の位置を検出するためのセンサを備えたロボット機構部と、
該ロボット機構部の動作を制御する請求項５に記載のロボット制御装置とを備えるロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、学習制御装置、ロボット制御装置およびロボットに関するものである。
【背景技術】
【０００２】
姿勢により大きくシステムが変化するロボットにおいて、学習制御器のロバスト性を考慮するために、異なる複数のイナーシャに対する伝達関数を実験で測定し、測定された複数の伝達関数を用いて学習制御器を設計する方法が開示されている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許４８５０９５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
伝達関数（周波数応答）の測定をロボットの納入先において実施することは現実的ではない。実際には、出荷前にロボット機構部が取り得る最大のイナーシャにおける周波数応答および最小のイナーシャにおける周波数応答を取得してそれらの周波数応答からあらゆるイナーシャにおいてロバスト性を確保し得る学習制御器が設計される。そして、納入先においては、出荷前に設計された学習制御器を用いて、実際に使用されるロボット機構部および動作プログラムを用いた学習が行われる。
【０００５】
しかしながら、ロバスト性と制御性能とはトレードオフの関係があるため、ロバスト性を向上すると制御性能が低下する。したがって、学習制御器のロバスト性を確保しながら制御性能の低下を抑え、学習回数を低減し、ロボット機構部の振動を良好に除去することが望まれる。
【課題を解決するための手段】
【０００６】
本開示の一態様は、ロボット機構部の複数の姿勢および負荷において測定された周波数応答を記憶する応答記憶部と、該応答記憶部に記憶されている前記周波数応答のうち、使用される動作プログラムに基づいて、該動作プログラムにおいて前記ロボット機構部が取り得る姿勢および負荷の範囲に対応する前記周波数応答を前記応答記憶部から読み出して利用し、センサにより検出された前記ロボット機構部の位置制御の対象とする制御対象部位の位置を目標位置に近づけるための学習補正量を算出する学習を行う学習制御部とを備える学習制御装置である。
【図面の簡単な説明】
【０００７】
【図１】本開示の一実施形態に係るロボットを示すブロック図である。
【図２】図１のロボットに備えらえるロボット機構部の一例を示す図である。
【図３】図２のロボット機構部のとり得る全てのイナーシャ範囲に対応する周波数応答を示すボード線図である。
【図４】図３の周波数応答のうち、動作プログラム内において、ロボット機構部のとり得るイナーシャ範囲に対応する周波数応答を示すボード線図である。
【図５】図１のロボットに備えられるロボット制御装置内の学習制御装置による処理を説明するフローチャートである。
【発明を実施するための形態】
【０００８】
本開示の一実施形態に係る学習制御装置１、ロボット制御装置２００およびロボット１００について、図面を参照して以下に説明する。
本実施形態に係るロボット１００は、図１に示されるように、ロボット機構部１１０とロボット制御装置２００とを備えている。
【０００９】
ロボット機構部１１０は、例えば、図２に示されるように、スポット溶接用のマニピュレータである。ロボット機構部１１０としては、溶接ガン（負荷）１１１を先端に取り付けて、溶接作業を行う位置姿勢に溶接ガン１１１を到達させることができるのであれば、任意の機構のものを採用することができる。図２には、６軸多関節型ロボットが例示されている。溶接ガン１１１に代えて、任意のツールを適用してもよい。
【００１０】
ロボット機構部１１０の位置およびロボット機構部１１０が静止するために減速した際に起きる軌跡誤差および振動誤差を検出するセンサとして、加速度センサ１２０が、ロボット機構部１１０の位置制御の対象である溶接ガン１１１（制御対象部位）に取り付けられている。加速度センサ１２０として三軸加速度センサを用いることができる。加速度センサ１２０は磁石を備えており、溶接ガン１１１に着脱可能である。
【００１１】
ロボット制御装置２００は、本実施形態に係る学習制御装置１と、ロボット機構部１１０を駆動する通常制御部２０１とを備えている。ロボット制御装置２００はプロセッサおよびメモリにより構成されている。
【００１２】
通常制御部２０１は、動作プログラムに規定された溶接ガン１１１の先端の目標軌跡もしくは目標位置に関する位置指令が与えられ、与えられた位置指令および後述する学習補正量を用いて、ロボット機構部１１０の動作を制御する。すなわち、通常制御部２０１は、ロボット機構部１１０に備えられたモータに信号を入力して、ロボット機構部１１０を構成しているアーム１１２，１１３を駆動しアーム１１２，１１３の先端に取り付けられた溶接ガン１１１を所望の目標軌跡もしくは目標位置に移動させる。
【００１３】
学習制御装置１は、応答記憶部２と、学習制御部３とを備えている。
応答記憶部２は、メモリであり、図３に示されるように、ロボット機構部１１０の複数の姿勢および負荷において予め測定された学習補正量入力から制御対象部位までの周波数応答（伝達関数）を記憶している。
具体的には、ロボット機構部１１０の姿勢および負荷を種々設定したときの各軸のイナーシャと周波数応答とを対応付けて記憶している。
【００１４】
学習制御部３は、図５に示されるように、動作プログラムが入力されると（ステップＳ1）、イナーシャが計算され（ステップＳ２）、イナーシャに対応する周波数応答が読み出される（ステップＳ３）。読み出された周波数応答が適用され学習制御器Ｌ（ｑ）１０が設計され（ステップＳ４）、設計された学習制御器Ｌ（ｑ）１０を用いて動作プログラムを繰り返し実行することにより（ステップＳ５）、学習補正量が算出され、算出された学習補正量が記憶される（ステップＳ６）。
具体的には、学習制御部３は、入力された動作プログラムにおいてロボット機構部１１０が取り得る姿勢および負荷の範囲に対応する周波数応答を応答記憶部２から読み出して利用する。
【００１５】
さらに具体的には、学習制御部３は、入力された動作プログラムにおいてロボット機構部１１０が取り得る各軸のイナーシャの最小値および最大値を算出する処理部４を備える。処理部４は、図４に示されるように、イナーシャの最小値および最大値を算出し、算出されたイナーシャの最小値および最大値に挟まれる範囲に対応する周波数応答を応答記憶部２から読み出して学習制御部３に引き渡す。
【００１６】
イナーシャと周波数応答とを対応付けたデータが離散的である場合には、処理部４は、入力されたイナーシャの最小値および最大値に対応する周波数応答を、例えば、応答記憶部２に記憶されている周波数応答を補間することにより読み出せばよい。そして、学習制御部３は、読み出した周波数応答を用いて、学習制御器（学習フィルタ）Ｌ（ｑ）１０を求める。
【００１７】
学習制御部３による学習（学習制御器Ｌ（ｑ）１０の設計）について以下に説明する。
学習制御部３は、動作プログラムによりロボット機構部１１０を動作させて、加速度センサ１２０によって検出したロボット機構部１１０の制御対象位置を通常制御部２０１に与えられた目標位置ｙｄ（ｋ）に近づけるために学習補正量を算出する学習を行う。
【００１８】
ロボット機構部１１０には、加速度センサ１２０、アーム１１２，１１３、アーム先端部１１４、モータ（図示せず）が設けられている。ロボット機構部１１０のモータには、ロボット制御装置２００に含まれる通常制御部２０１からの信号が入力され、アーム１１２，１１３を駆動し、アーム先端部１１４を所望の位置に移動させて、例えば、溶接等の作業を実行する。
【００１９】
アーム先端部１１４には加速度センサ１２０が設置されており、アーム先端部１１４の空間的な位置データｙｊ（ｋ）を得ることができる。加速度センサ１２０からの位置データｙｊ（ｋ）は学習制御部３に出力され、学習制御に利用される。ここで、ｊは試行回数、ｋは時間、Ｎｓは一試行のサンプリング数である。
【００２０】
ｙｄ（ｋ）は位置指令、ｙｊ（ｋ）は前回の制御対象量、ｅｊ（ｋ）はフィルタを通して、ｙｄ（ｋ）とｙｊ（ｋ）から計算された目的補正量である。ｕｊ（ｋ）は前回の学習補正量を表す。
【００２１】
通常制御部２０１には、位置制御部２０２、速度制御部２０３、電流制御部２０４、アンプ２０５および微分手段２０６が設けられている。位置制御部２０２は、動作プログラムによって規定される位置指令データｙｄ（ｋ）を受信するとともに、ロボット機構部１１０のモータ位置等の位置情報および学習制御部３からの学習補正量を受信し、ロボット機構部１１０のアーム１１２，１１３の先端に取り付けられた溶接ガン１１１の所望の位置情報を速度制御部２０３に対して出力する。微分手段２０６は、ロボット機構部１１０からフィードバックされるモータ位置情報を受信し、モータ速度を算出し、これを速度制御部２０３に対して出力する。
【００２２】
速度制御部２０３は、位置制御部２０２からの位置情報および微分手段２０６からのモータ速度情報を勘案して所望のモータ速度を算出し、これを電流制御部２０４に対して出力する。電流制御部２０４は、アンプ２０５からフィードバックされる電流値を受信するとともに、速度制御部２０３から入力された所望のモータ速度を達成するためのモータに流す電流を算出し、これをアンプ２０５に対して出力する。アンプ２０５は、電流制御部２０４からの電流値に基づいて所望の電力を算出し、これをロボット機構部１１０のモータに投入する。
【００２３】
学習制御部３には、第１メモリ５、位置変換器６、ハイパスフィルタ７、逆変換器ＩＫ８、順変換器ＦＫ９、学習制御器Ｌ（ｑ）１０、ローパスフィルタＱ（ｑ）１１、第２メモリ１２、第３メモリ１３、第４メモリ１４および一試行遅れＺ−ＮＳ１５が設けられている。そして、応答記憶部２から読み出された周波数応答から、線形行列不等式を解くことにより、学習制御器Ｌ（ｑ）１０の設計を行う。
【００２４】
線形行列不等式とは、数１の拘束条件下で、ｃＴｘ｛ｃ∈Ｒｍ｝を最小とするｘを算出する問題である。
【数１】
2020121358.tif 000003
ここで、Ｆｉは半正定値符号行列である。
【００２５】
いま、学習制御器Ｌ（ｑ）１０を数２とする。
【数２】
2020121358.tif 000004
【００２６】
ここで、数３を定義することにより、学習制御器Ｌ（ｑ）１０の安定性および単調減少性を保証する条件は周波数領域状で数４の通りに表される。
【数３】
2020121358.tif 000005
【数４】
2020121358.tif 000006
【００２７】
数４ではＱ（ｚ）が学習帯域をカット周波数に持つローパスフィルタ、Ｌ（ｚ）が学習制御フィルタ、Ｐ（ｚ）が応答記憶部２から読み出された周波数応答になる。このγが小さい程、学習制御器Ｌ（ｑ）１０の性能は高くなる。
学習制御器Ｌ（ｑ）１０の最適化問題はＱ（ｚ）、すなわち、学習制御の帯域が与えられたとき、最小のγを与える学習フィルタＬ（ｚ）を算出する問題である。そして、数４は数５に変形することができる。
【００２８】
【数５】
2020121358.tif 000007
ここで、数６とおくと、学習フィルタＬ（ｚ）は数７の通りに表すことができる。
【数６】
2020121358.tif 000008
【数７】
2020121358.tif 000009
【００２９】
Ｌｋをαｋ，ｊとＶｊの線形性により表すと数８および数９の通りとなる。ここで、ＶｊはＬｋと同じ次元であり、Ｖｊは、要素（ｊ，ｉ）以外が全てゼロになる。例えば、Ｎｙ＝２、Ｎｕ＝２とする。
【００３０】
【数８】
2020121358.tif 000010
【数９】
2020121358.tif 000011
【００３１】
したがって、数９を用いて数５は数１０の通りに変形することができる。
【数１０】
2020121358.tif 000012
【００３２】
そして、数１０の第１項および第２項を数１１、数１０の第３項をＦ０として考慮し、数１２を定義することにより、数１０は、数１３と表現することができる。
【００３３】
【数１１】
2020121358.tif 000013
【数１２】
2020121358.tif 000014
【数１３】
2020121358.tif 000015
【００３４】
これは、線形行列不等式（１）の拘束条件と等価である。そして、最小化問題はｃＴｘ、すなわち、γ２を最小とする問題に帰着する。これは、学習制御器Ｌ（ｑ）１０の最適化問題と読み替えることができる。よって、安定性条件と単調減少性への十分条件は、
ｃＴｘ≦１
となる。そこで、応答記憶部２から読み出した周波数応答Ｐ（ｅｊΩｉ）および学習帯域フィルタＱ（ｚ）を与えれば、自動的に学習フィルタＬ（ｚ）を求めることができる。
【００３５】
さらに、学習制御器Ｌ（ｑ）１０のロバスト性を考慮する。ロボット１００は姿勢により大きくシステムが変化するのが特徴である。
ある一つの姿勢を基準姿勢としたときに、Ｐｎ（ｚ）は基準姿勢の学習システムとする。そうすると、任意の姿勢Ｐｍ（ｚ）はＰｍ（ｚ）＝Ｐｎ（ｚ）＋ΔＰｍ（ｚ）と表される。ΔＰｍ（ｚ）は基準姿勢からの学習システムの変化量である。そのとき、学習帯域フィルタＱ（ｚ）が与えられた場合の拘束条件は数１４の通りとなる。
【００３６】
【数１４】
2020121358.tif 000016
そして、数１５と定義する。
【数１５】
2020121358.tif 000017
【００３７】
このようにすると、安定性条件と単調減少性への十分条件は任意の整数ｍに対して、以下の条件式を満たすときである。
ｃＴｘｍ≦１
そして、m姿勢分だけ、応答記憶部２から読み出した周波数応答Ｐ（ｅｊΩｉ）を適用すれば、前例同様に自動的に学習制御器Ｌ（ｑ）１０を求めることができる。本実施形態においては、応答記憶部２に記憶されている図３の周波数応答のうち、図４に示されるように、動作プログラムにおいて取り得るイナーシャの最小値および最大値に挟まれる範囲のイナーシャに対応する周波数応答を読み出して適用する。これにより、学習制御器Ｌ（ｑ）１０を求める。
【００３８】
次に、学習制御器Ｌ（ｑ）１０のデータ処理手順について説明する。
図１に示されるように、フィードバックは位置制御、速度制御および電流制御の３つのループから成立していて、学習制御はフィードバックの位置制御ループ外側にループを組んでいる。
【００３９】
実線部分は学習稼動状態で動作中に有効なループになり、停止後は点線のループが有効となる。ａｊは加速度センサ１２０から得た加速度データであり、位置変換器６は加速度データａｊを位置データに変換する。学習中は、加速度センサ１２０が検出したロボット１００の静止の際に起きる振動のデータを第１メモリ５に保存する。第２メモリ１２からは学習補正量ｕｊ＋１（ｋ）が出力される。
【００４０】
学習動作終了後、位置変換器６により直交座標の軌跡・振動誤差を推定し、ゼロ位相ハイパスフィルタであるハイパスフィルタ７を用いることにより、オフセットを取り除いた軌跡・振動誤差Δｒを抽出する。その軌跡・振動誤差Δｒをモータ位置フィードバック（ＦＢ）データを記憶している第４メモリ１４から順変換器ＦＫ９を用いて推定したセンサからの位置データｒに加算することにより、アーム１１２，１１３のダイナミクスを含めた、加速度センサ１２０の直交座標系でのセンサ位置を推定する。
【００４１】
ここで、加速度センサ１２０から推定されたセンサ位置を、逆変換器ＩＫ８を用いて基軸３軸に逆変換することにより、アームダイナミクスを含んだ各軸上での位置を計算する。このアームダイナミクスを含んだ各軸位置からアームダイナミクスを含まない各軸の位置、すなわち、モータの位置を減算することにより各軸目的補正量を計算する。数１６ではψｊがｊ回目の試行の各軸目的補正量、ＩＫは逆変換、θｍｊはｊ回目の試行の各軸モータ位置である。
【００４２】
【数１６】
2020121358.tif 000018
【００４３】
この各軸目的補正量を学習制御器Ｌ（ｑ）１０に入力することにより、次の試行の学習補正量ｕｊ+１（ｋ）を計算する。学習制御器Ｌ（ｑ）１０を通して、第３メモリ１３から前の試行の学習補正量ｕｊ（ｋ）を足し込み、ローパスフィルタＱ（ｑ）１１を通して、次の試行の学習補正量ｕｊ+１（ｋ）が算出される。
【００４４】
算出された学習補正量ｕｊ+１（ｋ）は第２メモリ１２に記憶されるとともに、通常制御部２０１の位置制御部２０２において算出される位置偏差データに加算される。
学習補正量により補正された位置偏差データに基づいてロボット機構部１１０が制御され、学習制御が繰り返される。
【００４５】
言い換えると、通常制御部２０１が、位置指令および学習補正量を用いて動作プログラムによりロボット機構部１１０を動作させる。その間に、学習制御部３は、加速度センサ１２０により検出された溶接ガン１１１の先端位置と目標位置との差分である目的補正量を算出し、学習補正量および目的補正量に基づいて溶接ガン１１１の先端位置を目標位置に近づける新たな学習補正量を算出する。
【００４６】
学習制御部３による学習制御が繰り返されることにより、通常制御部２０１における位置偏差を「０」に収束させていく。学習制御部３により算出された学習補正量は、算出される都度更新されて第２メモリ１２に記憶され、学習が終了した後には、最後に記憶された学習補正量が用いられて通常制御部２０１がロボット機構部１１０を動作させる。
【００４７】
すなわち、学習終了後には、図１の点線で示した学習補正量更新のためのループは実行されず、第２メモリ１２から学習補正量ｕｊ+１（ｋ）が位置制御部２０２に出力される。なお、図１において実線部分は、通常制御部２０１がロボット機構部１１０を動作させる際に実行される部分を示している。
【００４８】
このように、本実施形態に係る学習制御装置１、ロボット制御装置２００およびロボット１００によれば、学習制御器Ｌ（ｑ）１０の設計に際して、ロボット機構部１１０が取り得るイナーシャの全範囲に対応する周波数応答が用いられるのではない。その代わりに、動作プログラムにおいてロボット機構部１１０が取り得るイナーシャの範囲に対応する周波数応答が用いられて学習制御器Ｌ（ｑ）１０が設計される。これにより、学習制御器Ｌ（ｑ）１０のロバスト性は過大なものとならず、制御性能の低下を抑えることができるという利点がある。
【００４９】
すなわち、制御性能の低下を抑えることにより、ロボット機構部１１０の振動を良好に除去することができる適正な学習補正量を取得することができる。
そして、必要な範囲の周波数応答のみを適用することにより、学習結果を収束させるのに必要な学習回数を低減することができ、短時間で学習制御器Ｌ（ｑ）１０を設計することができる。したがって、ロボット１００の納入先においてユーザが使用する動作プログラムが設定される都度に行われる学習制御器Ｌ（ｑ）１０の設計時間を短縮し、ユーザにかかる負担を軽減することができる。
【００５０】
なお、本実施形態においては、動作プログラム全体においてロボット機構部１１０が取り得るイナーシャの最小値と最大値とに挟まれる範囲に対応する周波数応答を応答記憶部２から読み出して学習制御器Ｌ（ｑ）１０の設計に使用することとした。これに代えて、イナーシャの最小値と最大値とに対応する周波数応答のみを読み出してもよい。
【００５１】
また、動作プログラム内におけるロボット機構部１１０のイナーシャの変動が大きい場合には、イナーシャの大きさによって動作プログラムを複数の小プログラムに区分し、各小プログラムについて学習制御器Ｌ（ｑ）１０を設計してもよい。これにより、各小プログラムに対応する学習制御器Ｌ（ｑ）１０に適用する周波数応答の範囲を狭くして、ロバスト性が過大となることを抑え、制御性能を担保することができる。
【００５２】
あるいは、イナーシャの大きさに関わらず、動作プログラムを複数の小プログラムに区分し、各小プログラムについて学習制御器Ｌ（ｑ）１０を設計してもよい。これによっても、各学習制御器Ｌ（ｑ）１０に適用する周波数応答の範囲を狭くして、ロバスト性が過大となることを抑えることができる。
【００５３】
また、本実施形態においては、センサとして加速度センサ１２０を採用したが、これに限定されるものではなく、ロボット機構部１１０の先端の位置を直接的あるいは間接的に検出できるものであれば任意のセンサを用いてよい。例えば、ロボット機構部１１０の外部に設置した距離センサ、あるいは、ロボット機構部１１０の先端に取り付けたビジョンセンサを用いてもよい。
【符号の説明】
【００５４】
１  学習制御装置
２  応答記憶部
３  学習制御部
１００  ロボット
１１０  ロボット機構部
１２０  加速度センサ（センサ）
２００  ロボット制御装置
２０１  通常制御部
【図１】
2020121358.tif 000019
【図２】
2020121358.tif 000020
【図３】
2020121358.tif 000021
【図４】
2020121358.tif 000022
【図５】
2020121358.tif 000023