(57)【要約】【課題】多入出力システムにおける出力に対する入力の干渉を抑制し得る駆動機械の学習制御装置及び学習制御方法を提供する。【解決手段】  駆動機械の学習制御装置は、駆動機械の可動部位である複数の対象部位それぞれにおいて観測された位置に関する物理量である観測物理量を取得し、Ｎ回目の繰り返し動作における複数の対象部位それぞれに対する目標の物理量である目標物理量のそれぞれと、Ｎ回目の繰り返し動作において取得された複数の対象部位それぞれに対する観測物理量のそれぞれとに基づいて、複数の対象部位毎に学習出力信号を生成し、生成された学習出力信号に基づいて、Ｎ＋１回目の繰り返し動作を駆動機械に実行させるための制御信号を、複数の対象部位それぞれに対して生成する。【選択図】図１
2019042842.tif 000002
【特許請求の範囲】
【請求項１】
複数の可動部位を有する駆動機械に一定の繰り返し動作を複数回実行させるように制御する駆動機械の学習制御装置であって、
前記駆動機械の前記可動部位である複数の対象部位それぞれにおいて観測された位置に関する物理量である観測物理量を取得する観測物理量取得手段と、
Ｎ回目の前記繰り返し動作における前記複数の対象部位それぞれに対する目標の前記物理量である目標物理量のそれぞれと、前記観測物理量取得手段によってＮ回目の前記繰り返し動作において取得された前記複数の対象部位それぞれに対する前記観測物理量のそれぞれとに基づいて、前記複数の対象部位毎に学習出力信号を生成する学習制御手段と、
前記学習制御手段によって生成された前記学習出力信号に基づいて、Ｎ＋１回目の前記繰り返し動作を前記駆動機械に実行させるための制御信号を、前記複数の対象部位それぞれに対して生成する制御信号生成手段と
を備える、
駆動機械の学習制御装置。
【請求項２】
前記学習制御手段は、
前記駆動機械の時間空間におけるＮ回目の前記繰り返し動作における前記目標物理量及び前記観測物理量を、所定の基底信号の射影空間に射影した目標物理量射影成分及び観測物理量射影成分を算出する射影手段と、
前記射影手段により算出されたＮ回目の前記繰り返し動作における前記目標物理量射影成分及び前記観測物理量射影成分に基づいて、Ｎ＋１回目の前記繰り返し動作における前記射影空間での学習出力信号射影成分を算出する学習出力射影成分算出手段と、
前記学習出力射影成分算出手段により算出された前記学習出力信号射影成分に基づいて、Ｎ＋１回目の前記繰り返し動作における前記時間空間での前記学習出力信号を算出する学習出力信号算出手段と
を有する、
請求項１に記載の駆動機械の学習制御装置。
【請求項３】
前記学習出力射影成分算出手段は、前記時間空間における前記観測物理量と前記学習出力信号との関係を示す数理モデルを前記射影空間における数理モデルに変換した射影空間モデルに基づいて構成された制御器により、前記学習出力信号射影成分を算出するように構成されている、
請求項２に記載の駆動機械の学習制御装置。
【請求項４】
前記学習出力射影成分算出手段は、前記射影空間モデルを定常誤差ゼロで安定化させる制御器として構成されている、
請求項３に記載の駆動機械の学習制御装置。
【請求項５】
前記基底信号は、前記対象部位の追従誤差に関する信号である、
請求項２乃至４の何れかに記載の駆動機械の学習制御装置。
【請求項６】
前記基底信号は、前記繰り返し動作の周波数の整数倍の周波数成分を有する正弦波信号の組合せである、
請求項５に記載の駆動機械の学習制御装置。
【請求項７】
複数の可動部位を有する駆動機械に一定の繰り返し動作を複数回実行させるように制御する駆動機械の学習制御方法であって、
前記駆動機械の前記可動部位である複数の対象部位それぞれにおいて観測された位置に関する物理量である観測物理量を取得するステップと、
Ｎ回目の前記繰り返し動作における前記複数の対象部位それぞれに対する目標の前記物理量である目標物理量のそれぞれと、Ｎ回目の前記繰り返し動作において取得された前記複数の対象部位それぞれに対する前記観測物理量のそれぞれとに基づいて、前記複数の対象部位毎に学習出力信号を生成するステップと、
生成された前記学習出力信号に基づいて、Ｎ＋１回目の前記繰り返し動作を前記駆動機械に実行させるための制御信号を、前記複数の対象部位それぞれに対して生成するステップと
を有する、
駆動機械の学習制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、繰り返し動作を行う駆動機械を制御するための学習制御装置及び学習制御方法に関する。
【背景技術】
【０００２】
一定の動作パターンを繰り返すロボット等の駆動機械が動作する場合に、駆動機械の固有振動に伴う振動が発生し、これによって高精度に動作の制御を行えないという問題がある。従来、かかる問題を解決するために、例えば機械先端点等の対象部位の前回周期における位置又は軌道誤差を求め、次回周期における位置又は軌道誤差を低減するように駆動機械を制御し、これを繰り返すことで位置又は軌道誤差を０付近までに収束させる学習制御方法が提案されている（特許文献１及び２参照）。
【０００３】
特許文献１に開示された方法は、機械先端点に取り付けられた加速度センサによる検出加速度に基づいて機械先端点の本来の位置からのずれ量Δθを求め、位置指令Ｐｃから位置フィードバックＰ１を減じて第１の位置偏差ε１を求め、第１の位置偏差ε１にずれ量Δθを加算して第２の位置偏差ε２を求め、第２の位置偏差ε２から補正量を求め、これを第１の位置偏差ε１に加算して速度指令Ｖｃを求めるというものである。
【０００４】
特許文献２に開示された方法は、多関節ロボットの制御対象部位に設けられたセンサの検出結果から制御対象部位の位置を算出し、位置誤差を補正するための学習補正量を算出し、学習補正量に基づいて、制御対象部位の目標位置に関する位置指令データから算出される位置偏差データを補正し、補正された位置偏差データに基づいて多関節ロボットを所定の動作速度で動作させるというものである。この方法では、学習補正量の算出過程において、最大動作速度に至るまで多関節ロボットの動作速度を増加させながら学習補正量を算出する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１７２１４９号公報
【特許文献２】特開２０１２−２４０１４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
多関節ロボットのような多入出力システムでは、１つの入力が１つの出力に影響するだけでなく、他の出力にも干渉する。したがって、１つの出力の制御に１つの入力を用いただけでは、この出力の制御を正確に行うことはできない。しかしながら、上記の特許文献１及び２には、かかる多入出力システムにおける干渉問題が考慮されておらず、干渉を抑制した正確な制御を行うことはできない。
【０００７】
本発明は斯かる事情に鑑みてなされたものであり、その主たる目的は、上記課題を解決することができる駆動機械の学習制御装置及び学習制御方法を提供することにある。
【課題を解決するための手段】
【０００８】
上述した課題を解決するために、本発明の一の態様の駆動機械の学習制御装置は、複数の可動部位を有する駆動機械に一定の繰り返し動作を複数回実行させるように制御する駆動機械の学習制御装置であって、前記駆動機械の前記可動部位である複数の対象部位それぞれにおいて観測された位置に関する物理量である観測物理量を取得する観測物理量取得手段と、Ｎ回目の前記繰り返し動作における前記複数の対象部位それぞれに対する目標の前記物理量である目標物理量のそれぞれと、前記観測物理量取得手段によってＮ回目の前記繰り返し動作において取得された前記複数の対象部位それぞれに対する前記観測物理量のそれぞれとに基づいて、前記複数の対象部位毎に学習出力信号を生成する学習制御手段と、前記学習制御手段によって生成された前記学習出力信号に基づいて、Ｎ＋１回目の前記繰り返し動作を前記駆動機械に実行させるための制御信号を、前記複数の対象部位それぞれに対して生成する制御信号生成手段とを備える。
【０００９】
この態様において、前記学習制御手段は、前記駆動機械の時間空間におけるＮ回目の前記繰り返し動作における前記目標物理量及び前記観測物理量を、所定の基底信号の射影空間に射影した目標物理量射影成分及び観測物理量射影成分を算出する射影手段と、前記射影手段により算出されたＮ回目の前記繰り返し動作における前記目標物理量射影成分及び前記観測物理量射影成分に基づいて、Ｎ＋１回目の前記繰り返し動作における前記射影空間での学習出力信号射影成分を算出する学習出力射影成分算出手段と、前記学習出力射影成分算出手段により算出された前記学習出力信号射影成分に基づいて、Ｎ＋１回目の前記繰り返し動作における前記時間空間での前記学習出力信号を算出する学習出力信号算出手段とを有してもよい。
【００１０】
また、上記態様において、前記学習出力射影成分算出手段は、前記時間空間における前記観測物理量と前記学習出力信号との関係を示す数理モデルを前記射影空間における数理モデルに変換した射影空間モデルに基づいて構成された制御器により、前記学習出力信号射影成分を算出するように構成されていてもよい。
【００１１】
また、上記態様において、前記学習出力射影成分算出手段は、前記射影空間モデルを定常誤差ゼロで安定化させる制御器として構成されていてもよい。
【００１２】
また、上記態様において、前記基底信号は、前記対象部位の追従誤差に関する信号であってもよい。
【００１３】
また、上記態様において、前記基底信号は、前記繰り返し動作の周波数の整数倍の周波数成分を有する正弦波信号の組合せであってもよい。
【００１４】
また、本発明の他の態様の駆動機械の学習制御方法は、複数の可動部位を有する駆動機械に一定の繰り返し動作を複数回実行させるように制御する駆動機械の学習制御方法であって、前記駆動機械の前記可動部位である複数の対象部位それぞれにおいて観測された位置に関する物理量である観測物理量を取得するステップと、Ｎ回目の前記繰り返し動作における前記複数の対象部位それぞれに対する目標の前記物理量である目標物理量のそれぞれと、Ｎ回目の前記繰り返し動作において取得された前記複数の対象部位それぞれに対する前記観測物理量のそれぞれとに基づいて、前記複数の対象部位毎に学習出力信号を生成するステップと、生成された前記学習出力信号に基づいて、Ｎ＋１回目の前記繰り返し動作を前記駆動機械に実行させるための制御信号を、前記複数の対象部位それぞれに対して生成するステップとを有する。
【発明の効果】
【００１５】
本発明に係る駆動機械の学習制御装置及び学習制御方法によれば、多入出力システムにおける出力に対する入力の干渉を抑制することが可能となる。
【図面の簡単な説明】
【００１６】
【図１】実施の形態に係る自動溶接システムの構成を示す模式図。
【図２】実施の形態に係る学習制御装置の構成を示すブロック図。
【図３】実施の形態に係る学習制御装置による制御の原理を説明するための機能ブロック図。
【図４】学習制御部の構成を示す機能ブロック図。
【図５】２リンクロボットの構成を示す模式図。
【図６】学習出力射影成分算出部の構築を説明するための機能ブロック図。
【図７】学習出力射影成分算出部の構築例を示す機能ブロック図。
【図８】実施の形態に係る学習制御装置の動作の手順を示すフローチャート。
【図９】学習出力信号生成処理の手順を示すフローチャート。
【図１０】従来手法の構成を示す機能ブロック図。
【図１１Ａ】従来手法における１軸目の角度指令信号及び関節角度の時間変化を示すグラフ。
【図１１Ｂ】従来手法における２軸目の角度指令信号及び関節角度の時間変化を示すグラフ。
【図１１Ｃ】従来手法におけるウィービング動作中の２リンクロボットの先端部位の横方向移動及び上下動を示すグラフ。
【図１１Ｄ】従来手法におけるウィービング動作中の２リンクロボットの先端部位の移動を示すグラフ。
【図１２Ａ】本手法の学習初期における１軸目の角度指令信号及び関節角度の時間変化を示すグラフ。
【図１２Ｂ】本手法の学習初期における２軸目の角度指令信号及び関節角度の時間変化を示すグラフ。
【図１２Ｃ】本手法の学習初期におけるウィービング動作中の２リンクロボットの先端部位の横方向移動及び上下動を示すグラフ。
【図１２Ｄ】本手法の学習初期におけるウィービング動作中の２リンクロボットの先端部位の移動を示すグラフ。
【図１３Ａ】本手法の学習後期における１軸目の角度指令信号及び関節角度の時間変化を示すグラフ。
【図１３Ｂ】本手法の学習後期における２軸目の角度指令信号及び関節角度の時間変化を示すグラフ。
【図１３Ｃ】本手法の学習後期におけるウィービング動作中の２リンクロボットの先端部位の横方向移動及び上下動を示すグラフ。
【図１３Ｄ】本手法の学習後期におけるウィービング動作中の２リンクロボットの先端部位の移動を示すグラフ。
【発明を実施するための形態】
【００１７】
以下、本発明の好ましい実施の形態を、図面を参照しながら説明する。なお、以下に示す各実施の形態は、本発明の技術的思想を具体化するための方法及び装置を例示するものであって、本発明の技術的思想は下記のものに限定されるわけではない。本発明の技術的思想は、特許請求の範囲に記載された技術的範囲内において種々の変更を加えることができる。また、以下に示す各実施の形態では多関節マニピュレータの溶接ロボットを例に挙げて説明するが、本発明の適用対象はこれらに限定されるわけではなく、多入出力システムであれば多関節マニピュレータ以外の駆動機械を適用対象とすることも可能である。
【００１８】
＜自動溶接システムの構成＞
図１は、本実施の形態に係る自動溶接システムの構成を示す模式図である。自動溶接システム１０は、溶接ロボット２０と、学習制御装置３０と、電源装置４０とを備えている。
【００１９】
溶接ロボット２０は、垂直多関節型のマニピュレータから構成され、その先端に溶接トーチ２１を有している。本実施の形態に係る溶接ロボット２０は、ＭＩＧ（Metal Inert Gas）溶接又はＭＡＧ（Metal Active Gas）溶接等の溶極式のアーク溶接を行う。かかる溶接ロボット２０は、学習制御装置３０及び電源装置４０のそれぞれに接続されている。
【００２０】
溶接トーチ２１にはワイヤ送給装置２３から溶接ワイヤ２４が送り込まれ、溶接トーチ２１の先端からこれが送り出される。電源装置４０は定電圧電源装置であり、溶接ワイヤ２４に電力を供給する。これにより、溶接ワイヤ２４とワーク（被溶接材）５０との間に溶接電圧が印加され、アークが発生する。また、溶接ロボット２０の先端部位、即ち溶接トーチ２１を支持するアームの先端部分には、加速度センサ２５が設けられている。加速度センサ２５は、学習制御装置３０に接続されている。電源装置４０は、溶接中に生じる溶接電流を検出する電流センサ（図示せず）を備えている。
【００２１】
電源装置４０は、ＣＰＵとメモリとを備えており、電源制御用のコンピュータプログラムをＣＰＵが実行することで溶接電力の制御を行う。また、電源装置４０はワイヤ送給装置２３に接続されており、ＣＰＵがワイヤの送給速度を制御する。かかる電源装置４０は、学習制御装置３０との間でデータ通信を行う。
【００２２】
次に、学習制御装置３０の構成について説明する。学習制御装置３０は、溶接ロボット２０の動作を制御する。図２は、学習制御装置３０の構成を示すブロック図である。学習制御装置３０は、ＣＰＵ３０１と、メモリ３０２と、複数のスイッチを含む操作パネル３０３と、教示ペンダント３０４と、入出力部３０５と、通信部３０６とを備えている。
【００２３】
溶接ロボット２０の学習制御用のコンピュータプログラムである学習制御プログラム３１０がメモリ３０２に格納されており、この学習制御プログラム３１０をＣＰＵ３０１が実行することで、溶接ロボット２０による溶接動作の学習制御が行われる。
【００２４】
学習制御装置３０に対する指示の入力には、操作パネル３０３及び教示ペンダント３０４が用いられる。オペレータは、教示ペンダント３０４に教示プログラムを入力することができる。学習制御装置３０は、教示ペンダント３０４から入力された教示プログラムにしたがって、溶接ロボット２０を制御する。また、この教示プログラムは、図示しないコンピュータによって作成することも可能である。この場合、可搬型記録媒体によって受け渡ししたり、データ通信によって伝送したりして、教示プログラムを学習制御装置３０に与えることができる。
【００２５】
入出力部３０５には、上述した加速度センサ２５、並びに、電源装置４０に設けられた電流センサ、溶接ロボット２０のアクチュエータであるモータの駆動回路、角度センサ及び角速度センサ（図示せず）が接続されている。加速度センサ２５によって検出された加速度、電流センサによって検出された溶接電流の電流値、溶接ロボット２０の各軸のモータの回転角度及び角速度が入出力部３０５に入力され、ＣＰＵ３０１に与えられる。また、ＣＰＵ３０１は、学習制御プログラム３１０により、後述するような溶接ロボット２０の学習制御を行い、制御信号を溶接ロボット２０のモータの駆動回路それぞれに出力する。
【００２６】
通信部３０６は、有線又は無線通信機能を有する。かかる通信部３０６は、所定の通信プロトコルを使用して電源装置４０との間でデータ通信を行う。
【００２７】
以上のような構成の学習制御装置３０は、溶接ロボット２０の各軸のモータを制御して、溶接トーチ２１の位置及び速度を制御する。かかる学習制御装置３０は、溶接ロボット２０にウィービング動作を実行させる。ウィービング動作は、溶接方向に対して交差する方向に溶接トーチ２１を交互に揺動させる繰り返し動作である。学習制御装置３０は、設定されたウィービング周期、振幅、溶接速度によってウィービング動作を行うように溶接ロボット２０を制御する。
【００２８】
＜学習制御の原理＞
図３は、本実施の形態に係る学習制御装置による制御の原理を説明するための機能ブロック図である。学習制御装置３０は、溶接ロボット２０に所要の動作を行わせるために各モータの角度指令を算出し、それぞれの角度指令と、各モータの角度及び角速度の測定値とに基づいて、角度指令通りにモータが動作するようにモータに電流を与える。学習制御装置３００は軸毎にモータを制御する１軸目のモータ制御部３１１，２軸目のモータ制御部３２１，…の各機能ブロックを有しており、モータ制御部３１１，３２１，…は各別に角度・角速度制御部３１２，３２２，…と電流制御部３１３，３２３，…とを有している。１軸目の角度・角速度制御部３１２には１軸目のモータへの角度指令信号θＲＥＦ，１（ｔ）と、１軸目のモータの角度及び角速度の測定値が入力される。角度・角速度制御部３１２は入力された角度指令信号θＲＥＦ，１（ｔ）並びに角度及び角速度の測定値から１軸目のモータへのトルク指令を算出する。２軸目のモータ制御部３２１も同様にして２軸目のモータへのトルク指令を算出する。３軸目以降のモータ制御部も同様である。
【００２９】
溶接ロボット２０の先端部位に設けられた加速度センサ２５の検出加速度は、データ変換部３１４により位置データ（ロボット先端位置信号）に変換され、座標変換部３１５に入力される。座標変換部３１５は、溶接ロボット２０の運動学モデルを用いて、ロボット先端位置信号（直交座標系での位置）から各軸の関節角度を示す関節角度位置信号を算出する。以下、変換された関節角度位置信号を「対象部位位置信号」という。
【００３０】
１軸目の対象部位位置信号θＬ，１（ｔ），２軸目の対象部位位置信号θＬ，２（ｔ），…は、ウィービング動作の各周期において取得され、学習制御部３１６に与えられる。また、学習制御部３１６には、各軸の角度指令信号θＲＥＦ，１（ｔ），θＲＥＦ，２（ｔ），…も与えられる。学習制御部３１６は、Ｎ回目のウィービング動作における各対象部位位置信号θＬ，ｉ（ｔ）（つまり、観測物理量）及び各角度指令信号θＲＥＦ，ｉ（ｔ）（つまり、目標物理量）とに基づいて、Ｎ＋１回目のウィービング動作用の学習出力信号ｚｉ（ｔ）を軸（つまり、対象部位）毎に出力する。なお、ｉは溶接ロボット２０の関節（軸）を示すインデックスである。
【００３１】
各軸の学習出力信号ｚｉは、対応する軸のＮ＋１回目のウィービング動作用のトルク指令に加算され、そのトルク指令が電流制御部３１３，３２３，…に入力される。つまり、１軸目の学習出力信号ｚ１は、１軸目の角度・角速度制御部３１２から出力されたトルク指令に加算され、このトルク指令が１軸目の電流制御部３１３に与えられる。２軸目以降の学習出力信号ｚ２，ｚ３，…も同様である。電流制御部３１３，３２３，…は、与えられたトルク指令を対応するモータが出力するための電流値を算出し、これを制御信号として出力する。このようにして算出された電流値の電流が各モータに供給され、各モータが駆動される。
【００３２】
ここで、学習制御部３１６についてさらに詳しく説明する。図４は、学習制御部３１６の構成を示す機能ブロック図である。学習制御部３１６は、信号記憶部３３１と、信号射影部３３２と、学習出力射影成分算出部３３３と、学習出力信号生成部３３４とを有している。学習制御部３１６に入力された角度指令信号θＲＥＦ，ｉ（ｔ）及び対象部位位置信号θＬ，ｉ（ｔ）は信号記憶部３３１に記憶される。かかる信号記憶部３３１は、Ｎ回目のウィービング動作１周期分の角度指令信号及び対象部位位置信号θＲＥＦ，ｉ（ｔ），θＬ，ｉ（ｔ）（ｔ∈［（Ｎ−１）Ｔ，ＮＴ］、Ｔ：１回のウィービング動作の期間）を記憶する。
【００３３】
信号記憶部３３１によって記憶されたＮ回目のウィービング動作１周期分の角度指令信号及び対象部位位置信号θＲＥＦ，ｉ（ｔ），θＬ，ｉ（ｔ）（ｔ∈［（Ｎ−１）Ｔ，ＮＴ］）は、信号射影部３３２に与えられる。信号射影部３３２は、角度指令信号及び対象部位位置信号θＲＥＦ，ｉ（ｔ），θＬ，ｉ（ｔ）（ｔ∈［（Ｎ−１）Ｔ，ＮＴ］）を、次式（１）で定義される基底Ｆに射影し、角度指令射影成分及び対象部位位置射影成分を算出する。
【数１】
2019042842.tif 000003
ここで、信号θＲＥＦ，ｉ（ｔ）を基底Ｆ上に射影することを次式（２）で表現するものとする。
【数２】
2019042842.tif 000004
本実施の形態に係る溶接ロボット２０のように複数のアクチュエータを有する多入出力システムの駆動機械においては、各関節の角度指令射影成分を並べるようにして、全体の角度指令射影成分を表現する。なお、対象部位位置射影成分についても同様である。
【００３４】
ここで、基底信号Ｆとしては、次式（３）で表されるように、繰り返し動作の周波数１／Ｔの整数倍の周波数成分を有する正弦波信号の組合せとすることができる。
【数３】
2019042842.tif 000005
【００３５】
なお、基底信号は、対象部位の追従誤差（＝角度指令信号−対象部位位置信号）の周波数成分を含むように選定することが好ましい。例えば、ロボットの固有振動による追従誤差が生じる場合には、固有振動周波数成分を有する正弦波信号を含んだ基底信号を選定する。これにより、対象部位位置信号にノイズが含まれていても、追従誤差を精度よく抽出することが可能になる。このため、このような基底信号を選定することで、ローパスフィルタ等のノイズ除去回路を設ける必要がなくなり、ローパスフィルタ等を設けることによる必要な情報の欠落、位相遅れの発生等が発生することがない。
【００３６】
信号射影部３３２によって生成された角度指令射影成分及び対象部位位置射影成分のそれぞれは、学習出力射影成分算出部３３３に入力される。学習出力射影成分算出部３３３は、与えられたＮ回目のウィービング動作１周期分の角度指令射影成分及び対象部位位置射影成分から、Ｎ＋１回目のウィービング動作用の学習出力射影成分を算出する。この学習出力射影成分算出部３３３は、後述する射影空間モデルに基づいて構成される。
【００３７】
射影空間モデルの導出について説明する。まず、時間空間において、学習出力信号を入力とし対象部位位置信号を出力とするモデルを考える。溶接ロボット２０のモデルＰを以下の状態空間表現とする。
【数４】
2019042842.tif 000006
なお、ここでは簡単のため、電流制御部のモデルを１と仮定した。
【００３８】
ここで、２つの関節のみを有する２リンクロボットのモデルを例に挙げて説明する。図５は、２リンクロボットの構成を示す模式図である。２リンクロボット２００は、２つのモータ２１１，２１２と、２つのアーム２２１，２２２とを有する。１軸目のモータ２１１の回転角をθＭ，１、２軸目のモータ２１２の回転角をθＭ，２と表し、１軸目のアーム２２１（１軸目のモータ２１１により駆動されるアーム）の回転角をθＬ，１、２軸目のアーム２２１（２軸目のモータ２１２により駆動されるアーム）の回転角をθＬ，２と表す。このとき、２リンクロボット２００のモデルは、次のように表現される。
【数５】
2019042842.tif 000007
【００３９】
上記の２リンクロボット２００の場合、次式のような状態空間表現となる。
【数６】
2019042842.tif 000008
【００４０】
また、制御器側のモデルＣは、次のような状態表現となる。
【数７】
2019042842.tif 000009
【００４１】
上記のモデルＰとＣとを組み合わせると、以下のように対象部位位置信号θＬ（ｔ）と学習出力信号ｚ（ｔ）との関係を示す数理モデルＧを得ることができる。
【数８】
2019042842.tif 000010
但し、上式において角度指令信号θＲＥＦは関係がなくなるので省略している。
【００４２】
ここで、上述した時間空間上の数理モデルＧを基底信号の射影空間上の表現に変換した射影空間モデルを導出する。Ｎ回目の繰り返し動作開始時の状態ｘＮを次式（５）のように定義する。
【数９】
2019042842.tif 000011
このとき、学習出力信号射影成分と対象部位位置射影成分との関係を示す射影空間モデルは、次のように表される。
【数１０】
2019042842.tif 000012
上記の射影空間モデルは、１回の繰り返し動作の試行を１サンプルとする離散時間動的システムとなる。
【００４３】
次に、上記のように導出された射影空間モデルを用いて学習出力射影成分算出部３３３を構築する。図６は、学習出力射影成分算出部３３３の構築を説明するための機能ブロック図である。射影空間モデル３５０を学習対象の離散時間動的システムとして扱い、射影空間モデル３５０の出力である対象部位位置射影成分を角度指令射影成分に一致させるための制御器３５１を設計し、この制御器３５１を学習出力射影成分算出部３３３とする。つまり、学習出力射影成分算出部３３３は、射影空間モデルに基づいて構成された制御器である。
【００４４】
ここで、繰り返し動作の場合、角度指令射影成分は一定値となる。射影空間上で考えることにより、時間により変化する角度指令信号θＲＥＦ（ｔ）への追従制御問題を、一定値への収束問題とすることができる。これにより、この離散時間動的システムを定常誤差ゼロで安定化させるような制御器（学習出力射影成分算出部）を設計すれば、対象部位位置射影成分を角度指令射影成分と一致させることが可能になり、対象部位位置信号θＬ（ｔ）＝角度指令信号θＲＥＦ（ｔ）とすることができる。
【００４５】
図７は、学習出力射影成分算出部３３３の構築例を示す機能ブロック図である。図７に示すように、定常誤差ゼロで安定化させる制御器３５１（学習出力射影成分算出部３３３）の設計として、状態推定部３４１、状態フィードバック部３４２、積分サーボ部３４３を備えた構成とすることができる。ここで、状態推定部３４１は、状態推定オブザーバ、カルマンフィルタ等の状態推定方法を用いて、対象部位位置射影成分と学習出力射影成分から射影空間モデル３５０の状態を推定する。状態フィードバック部３４２は、状態推定部３４１で推定された状態に対して状態フィードバックゲインを乗じて出力する。積分サーボ部３４３は、角度指令射影成分と対象部位位置射影成分との誤差を積分し、積分ゲインＫＩを乗じて出力する。
【００４６】
ここで、Ｎ回目の繰り返し動作の終了後に動作が止まる、即ち、振動が収まるのを待つようにした場合は、状態ｘＮ＝０となり、射影空間モデル３５０は静的システムとなる。本実施の形態では、ｘＮ≠０を考慮した動的システムに基づいて制御器である学習出力射影成分算出部３３３を構成したため、Ｎ回目の繰り返し動作終了後に待ち時間を入れずにＮ＋１回目の繰り返し動作を開始し、Ｎ＋１回目の繰り返し動作においてＮ回目の繰り返し動作において発生した振動の影響が存在する状態であっても問題なく学習制御を行うことができる。また、上記の動的システムは多入出力システムの駆動機械のモデルにより導出されたものであり、この動的システムに基づいて学習出力射影成分算出部３３３を構成したため、多入出力システムの駆動機械においても出力に対する入力の干渉を抑制した制御を行うことができる。
【００４７】
再び図４を参照する。上記のような学習出力射影成分算出部３３３によって出力された学習出力射影成分は、学習出力信号生成部３３４に入力される。学習出力信号生成部３３４は、入力された学習出力射影成分と、基底信号Ｆとに基づいて、次式（６）のように学習出力信号ｚｉ（ｔ）（ｔ∈［（Ｎ−１）Ｔ，ＮＴ］）を生成する。
【数１１】
2019042842.tif 000013
【００４８】
＜学習制御装置の動作＞
以下、本実施の形態に係る学習制御装置３０の動作について説明する。図８は、本実施の形態に係る学習制御装置の動作の手順を示すフローチャートである。学習制御装置３０のＣＰＵ３０１は、Ｎ回目のウィービング動作を溶接ロボット２０に実行させるよう、各軸のモータの角度指令を算出し、それぞれの角度指令信号を生成する（ステップＳ１０１）。また、溶接ロボット２０の各関節に設けられた角度センサ及び角速度センサから出力される角度及び角速度の測定値が学習制御装置３０に与えられる。ＣＰＵ３０１は、生成された角度指令信号と、入力された角度及び角速度の測定値とに基づいて、各軸のモータへのトルク指令（以下、「補正前トルク指令」という）を算出する（ステップＳ１０２）。ステップＳ１０２の処理は、角度・角速度制御部３１２，３２２，…により実行される（図３参照）。
【００４９】
次に、ＣＰＵ３０１は、Ｎ回目（但し、ここではＮ≧２）のウィービング動作用の学習出力信号を、補正前トルク指令に加算して、Ｎ回目のウィービング動作用のトルク指令を軸毎に算出する（ステップＳ１０３）。この学習出力信号は、上述した学習制御部３１６により、Ｎ−１回目のウィービング動作用の角度指令信号、及びＮ−１回目のウィービング動作において検出された溶接ロボット２０の先端部位の位置データから算出された対象部位位置信号に基づいて生成されたものである。
【００５０】
ＣＰＵ３０１は、トルク指令に示されるトルクを対応するモータが出力するための電流値を軸毎に算出し（ステップＳ１０４）。算出された電流値を示す制御信号を出力する（ステップＳ１０５）。これにより、電流が各モータに供給され、溶接ロボット２０がＮ回目のウィービング動作を実行する。ステップＳ１０４の処理は、電流制御部３１３，３２３，…により実行される（図３参照）。
【００５１】
Ｎ回目のウィービング動作における溶接ロボット２０の先端部位の加速度は、加速度センサ２５によって検出される。加速度センサ２５による検出加速度は学習制御装置３０に与えられ、ＣＰＵ３０１は、加速度センサ２５の検出加速度から溶接ロボット２０の先端部位の位置を算出し、この位置から各軸の関節角度を示す対象部位位置信号を算出する（ステップＳ１０６）。ステップＳ１０６の処理は、データ変換部３１４及び座標変換部３１５により実行される（図３参照）。
【００５２】
ＣＰＵ３０１は、Ｎ＋１回目のウィービング動作用の学習出力信号を生成する学習出力信号生成処理を実行する（ステップＳ１０７）。ステップＳ１０７の処理は、学習制御部３１６により実行される（図３参照）。
【００５３】
図９は、学習出力信号生成処理の手順を示すフローチャートである。学習出力信号生成処理において、まずＣＰＵ３０１は、Ｎ回目のウィービング動作における各軸の対象部位位置信号と、Ｎ回目のウィービング動作のための角度指令信号とを、メモリ３０２内の領域である信号記憶部３３１に記憶させる（ステップＳ２０１）。信号記憶部３３１には、Ｎ回目のウィービング動作１周期分の各軸の対象部位位置信号及び角度指令信号が記憶される。
【００５４】
次にＣＰＵ３０１は、信号記憶部３３１に記憶された角度指令信号及び対象部位位置信号を基底信号に射影し、角度指令射影成分及び対象部位位置射影成分を算出する（ステップＳ２０２）。ステップＳ２０２の処理は、信号射影部３３２により実行される（図４参照）。
【００５５】
ＣＰＵ３０１は、Ｎ回目のウィービング動作１周期分の角度指令射影成分及び対象部位位置射影成分から、Ｎ＋１回目のウィービング動作用の学習出力射影成分を算出する（ステップＳ２０３）。ステップＳ２０３の処理は、学習出力射影成分算出部３３３により実行される（図４参照）。次にＣＰＵ３０１は、学習出力射影成分と基底信号とに基づいて、Ｎ＋１回目のウィービング動作用の学習出力信号を生成する（ステップＳ２０４）。ステップＳ２０４の処理は、学習出力信号生成部３３４により実行される（図４参照）。以上で、学習出力信号生成処理が終了する。
【００５６】
Ｎ＋１回目のウィービング動作用の学習出力信号を生成すると、ＣＰＵ３０１は次の周期（Ｎ＋１回目）のウィービング動作用の角度指令信号の算出を開始するタイミングまで待機する（ステップＳ１０８）。次の周期のウィービング動作用の角度指令信号の算出タイミングに到達すると、ＣＰＵ３０１はステップＳ１０１に処理を戻し、Ｎ＋１回目のウィービング動作用の角度指令信号を生成し（ステップＳ１０１）、Ｎ＋１回目のウィービング動作用の補正前トルク指令を算出する（ステップＳ１０２）。そして、ＣＰＵ３０１はＮ＋１回目のウィービング動作用の学習出力信号を、Ｎ＋１回目のウィービング動作用の補正前トルク指令に加算して、Ｎ＋１回目のウィービング動作用のトルク指令を軸毎に算出する（ステップＳ１０３）。以降、ＣＰＵ３０１は、ステップＳ１０４乃至Ｓ１０８の処理を実行する。以上のように、ステップＳ１０８のタイミング調整処理を設けることで、前回の周期のウィービング動作に係る角度指令信号及び対象部位位置信号に基づいて生成された学習出力信号を、次回の周期のウィービング動作に係る補正前トルク指令に加算することができる。
【００５７】
以上説明したようなステップＳ１０１乃至Ｓ１０８の処理を繰り返し実行することにより、ウィービング動作の学習制御が繰り返し行われる。
【００５８】
以上の如く構成したことにより、本実施の形態に係る学習制御装置３０によれば、多入出力システムである溶接ロボット２０のＮ回目のウィービング動作における各軸に対する角度指令信号のそれぞれと、Ｎ回目のウィービング動作において取得された各軸に対する対象部位位置信号のそれぞれとに基づいて、各軸に対するＮ＋１回目の学習出力信号を生成するため、溶接ロボット２０の１つの軸に対する角度指令信号（入力）が他の軸の角度（出力）に干渉すること、即ち出力に対する入力の干渉を抑制することができる。
【００５９】
＜評価試験＞
発明者は、２リンクロボットに対して学習制御を伴わないフィードバック制御（以下、「従来手法」という）と本実施の形態に係る学習制御方法（以下、「本手法」という）を実施し、本手法の性能を評価した。図１０は、従来手法の構成を示す機能ブロック図である。図１０に示すように、角度・角速度制御部３１２，３２２，…及び電流制御部３１３，３２３，…を有し、データ変換部３１４，座標変換部３１５，及び学習制御部３１６を有しない制御装置によって従来手法を実施した。また、本評価試験では、従来手法及び本手法によって、ウィービング周波数２Ｈｚ、全振幅４ｍｍの条件でウィービング動作を２リンクロボット２００に実行させた。
【００６０】
図１１Ａ乃至図１１Ｄに、従来手法を実施した場合の２リンクロボット２００の挙動を示す。図１１Ａは、１軸目の角度指令信号及び関節角度（対象部位位置信号）の時間変化を示すグラフであり、図１１Ｂは、２軸目の角度指令信号及び関節角度（対象部位位置信号）の時間変化を示すグラフであり、図１１Ｃは、ウィービング動作中の２リンクロボット２００の先端部位の横方向（溶接方向に対する水平交差方向）の移動及び上下動を示すグラフであり、図１１Ｄはウィービング動作中の２リンクロボット２００の先端部位の移動を示すグラフである。図１１Ａ及び図１１Ｂにおいて、縦軸は関節角度を、横軸は時間を示している。図１１Ｃにおいて、縦軸は距離を、横軸は時間を示している。また、図１１Ｄにおいて、縦軸は２リンクロボット２００の先端部位の上下動の距離を、横軸はその横方向の移動の距離を示している。
【００６１】
図１１Ａ及び図１１Ｂからは、振動により各関節の角度指令信号と関節角度との間にずれが生じていることが分かる。また、図１１Ｃ及び図１１Ｄからは、ウィービング動作の横方向移動において正弦波状の波形を示しておらず、また±約０．７ｍｍの範囲で上下動が発生していることが分かる。これらの挙動は、前回のウィービング周期で生じた振動が、次回のウィービング動作においても残存しており、この振動による影響であると考えられる。
【００６２】
図１２Ａ乃至図１２Ｄに、本手法を実施した場合の２リンクロボット２００の学習初期の挙動を示し、図１３Ａ乃至図１３Ｄに、学習後期の挙動を示す。図１２Ａ及び図１３Ａは、１軸目の角度指令信号及び関節角度の時間変化を示すグラフであり、図１２Ｂ及び図１３Ｂは、２軸目の角度指令信号及び関節角度の時間変化を示すグラフであり、図１２Ｃ及び図１３Ｃは、ウィービング動作中の２リンクロボット２００の先端部位の横方向移動及び上下動の時間変化を示すグラフであり、図１２Ｄ及び図１３Ｄはウィービング動作中の２リンクロボット２００の先端部位の移動を示すグラフである。図１２Ａ、図１２Ｂ、図１３Ａ、及び図１３Ｂにおいて、縦軸は角度を、横軸は時間を示している。図１２Ｃ及び図１３Ｃにおいて、縦軸は距離を、横軸は時間を示している。また、図１２Ｄ及び図１３Ｄにおいて、縦軸は２リンクロボット２００の先端部位の上下動の距離を、横軸はその横方向の移動の距離を示している。
【００６３】
図１２Ａ及び図１２Ｂからは、従来手法に比べて各関節の角度指令信号と関節角度との間のずれが大幅に減少していることが分かる。また、図１２Ｃ及び図１２Ｄからは、従来手法に比べて、ウィービング動作の横方向移動が正弦波状の波形に近くなっており、また上下動の範囲が減少していることが分かる。このように、学習初期においては、従来手法に比べてウィービング動作の挙動が改善している。また、図１３Ａ及び図１３Ｂからは、各関節の角度指令信号と関節角度との間のずれがほとんどなくなっていることが、図１３Ｃ及び図１３Ｄからは、ウィービング動作の横方向移動が正弦波状の波形を示し、上下動が殆ど発生していないことが分かる。このように、多入出力システムにおける連続した（つまり、繰り返し動作の間に待ち時間がない）一連の動作に本手法を適用した場合に、繰り返し学習制御が進むにしたがって振動が徐々に低減していることが分かる。
【００６４】
（その他の実施の形態）
上述した実施の形態においては、繰り返し動作であるウィービング動作の１周期ずつ学習出力信号を生成する構成について述べたが、これに限定されるものではない。連続した複数周期の繰り返し動作についての角度指令信号及び対象部位位置信号をまとめて処理し、当該複数周期分の学習出力信号を生成するように構成してもよい。
【００６５】
また、上述した実施の形態では、単一の学習制御装置３０によって学習制御プログラム３１０のすべての処理が実行される構成について述べたが、本発明はこれに限定されるものではなく、学習制御プログラム３１０と同様の処理を、複数の装置（コンピュータ）により分散して実行する分散システムとすることも可能である。
【産業上の利用可能性】
【００６６】
本発明の駆動機械の学習制御装置及び学習制御方法は、繰り返し動作を行う駆動機械を制御するための学習制御装置及び学習制御方法等として有用である。
【符号の説明】
【００６７】
１０  自動溶接システム
２０  溶接ロボット
２５  加速度センサ
３０  学習制御装置
３０１  ＣＰＵ
３０２  メモリ
３１０  学習制御プログラム
３１６  学習制御部
３３１  信号記憶部
３３２  信号射影部
３３３  学習出力射影成分算出部
３３４  学習出力信号生成部
２００  ２リンクロボット
【図１】
2019042842.tif 000014
【図２】
2019042842.tif 000015
【図３】
2019042842.tif 000016
【図４】
2019042842.tif 000017
【図５】
2019042842.tif 000018
【図６】
2019042842.tif 000019
【図７】
2019042842.tif 000020
【図８】
2019042842.tif 000021
【図９】
2019042842.tif 000022
【図１０】
2019042842.tif 000023
【図１１Ａ】
2019042842.tif 000024
【図１１Ｂ】
2019042842.tif 000025
【図１１Ｃ】
2019042842.tif 000026
【図１１Ｄ】
2019042842.tif 000027
【図１２Ａ】
2019042842.tif 000028
【図１２Ｂ】
2019042842.tif 000029
【図１２Ｃ】
2019042842.tif 000030
【図１２Ｄ】
2019042842.tif 000031
【図１３Ａ】
2019042842.tif 000032
【図１３Ｂ】
2019042842.tif 000033
【図１３Ｃ】
2019042842.tif 000034
【図１３Ｄ】
2019042842.tif 000035