(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-05
(45)【発行日】2024-01-16
(54)【発明の名称】制御装置、ロボット制御装置及び制御方法
(51)【国際特許分類】
B25J 9/22 20060101AFI20240109BHJP
【FI】
B25J9/22 Z
(21)【出願番号】P 2022543932
(86)(22)【出願日】2021-08-16
(86)【国際出願番号】 JP2021029861
(87)【国際公開番号】W WO2022039119
(87)【国際公開日】2022-02-24
【審査請求日】2023-03-08
(31)【優先権主張番号】P 2020139925
(32)【優先日】2020-08-21
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】林 晃市郎
(72)【発明者】
【氏名】鈴木 元
【審査官】仁木 学
(56)【参考文献】
【文献】特開2019-104097(JP,A)
【文献】特開2020-1107(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
(57)【特許請求の範囲】
【請求項1】
ロボットの動作を制御するための補正量を作成する制御装置であって、
前記補正量を作成する学習制御に用いるパラメータを有する学習制御部と、
出荷前に設定した前記パラメータを記憶するパラメータ記憶部と、
前記ロボットによる生産時に、前記パラメータ記憶部が記憶している前記パラメータを調整して前記学習制御部に設定するパラメータ調整部と、
を備えた制御装置。
【請求項2】
前記パラメータ調整部は、前記パラメータの調整を前記ロボットの周波数応答特性の逆数に基づいて行う請求項1に記載の制御装置。
【請求項3】
前記パラメータ調整部は、前記パラメータの調整を遺伝的アルゴリズムによって行う請求項1又は2に記載の制御装置。
【請求項4】
請求項1から3のいずれか1項に記載の制御装置と、
該制御装置からロボットの動作を制御するための補正量が入力され、該ロボットの動作を制御する動作制御部と、
を備えたロボット制御装置。
【請求項5】
周波数が変わる信号を生成する周波数生成部と、
前記信号と、前記ロボットの位置検出部位に取り付けられたセンサからの出力信号とに基づいて、前記ロボットの周波数応答特性を測定する周波数特性測定部と、
を備えた、請求項4に記載のロボット制御装置。
【請求項6】
前記センサは、加速度センサ、ジャイロセンサ、慣性センサ、力センサ、レーザトラッカ、カメラ、モーションキャプチャのいずれかである、請求項5に記載のロボット制御装置。
【請求項7】
ロボットの動作を制御するための補正量を作成する制御装置の制御方法であって、
出荷前の、前記補正量を作成する学習制御に用いるパラメータをパラメータ記憶部から読み出し、
前記ロボットによる生産時に、前記パラメータ記憶部が記憶している前記パラメータを、前記ロボットの周波数応答特性の逆数に基づいて調整する、
制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置、ロボット制御装置及び制御方法に係り、特に、ロボットの動作を制御するための補正量を作成する制御装置、ロボット制御装置及び制御装置の制御方法に関する。
【背景技術】
【0002】
ロボット動作時の振動を低減することで高速化又は軌跡精度を向上することは、生産効率又は品質の向上に直結する。そこで、ロボットが動作する際に発生する振動又は軌跡ずれを低減したいという要望がある。
そのような要望に対し、特許文献1では、振動を除去したい箇所又は高精度軌跡を実現したい箇所に加速度センサ等のセンサを取り付け、ロボット動作中の振動をセンサによって計測し、学習制御を行うことで振動を低減する方法が提案されている。
【0003】
具体的には、特許文献1には、位置制御の対象とする部位にセンサを備えたロボット機構部と、ロボット機構部の動作を制御する制御装置とを含むロボットが記載されている。制御装置は、ロボット機構部の動作を制御する通常制御部と、作業プログラムによりロボット機構部を動作させて、センサによって検出したロボット機構部の制御対象位置を通常制御部に与えられた目標軌跡もしくは位置に近づけるために学習補正量を算出する学習を行う学習制御部と、を有する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ロボット出荷前に生成された学習制御部は、ユーザ側でロボットが稼働する稼働時(生産時)の状態(例えば、ロボットのツール及び姿勢)を考慮していない。ロボット出荷前の標準的な負荷の状態の周波数応答特性を基に生成された学習制御部では、ユーザ側での生産時に最適な効果が得られない場合がある。
ユーザ側での生産時の状態で学習による振動低減の効果を高めるためには、生産時の周波数応答特性を考慮した学習制御部を有する制御装置、ロボット制御装置及び制御装置の制御方法が求められる。
【課題を解決するための手段】
【0006】
(1) 本開示の第1の態様の制御装置は、ロボットの動作を制御するための補正量を作成する制御装置であって、
前記補正量を作成する学習制御に用いるパラメータを有する学習制御部と、
出荷前に設定した前記パラメータを記憶するパラメータ記憶部と、
前記ロボットによる生産時に、前記パラメータ記憶部が記憶している前記パラメータを調整して前記学習制御部に設定するパラメータ調整部と、
を備えた制御装置である。
【0007】
(2) 本開示の第2の態様のロボット制御装置は、上記(1)に記載の制御装置と、該制御装置からロボットの動作を制御するための補正量が入力され、該ロボットの動作を制御する動作制御部と、
を備えたロボット制御装置である。
【0008】
(3) 本開示の第3の態様の制御方法は、ロボットの動作を制御するための補正量を作成する制御装置の制御方法であって、
出荷前の、前記補正量を作成する学習制御に用いるパラメータをパラメータ記憶部から読み出し、
前記ロボットによる生産時に、前記パラメータ記憶部が記憶している前記パラメータを、前記ロボットの周波数応答特性の逆数に基づいて調整する、
制御方法である。
【発明の効果】
【0009】
本開示の態様によれば、ユーザ側での生産時の状態で学習による振動低減の効果を高めることができる。
【図面の簡単な説明】
【0010】
【
図1】本発明の一実施形態のロボットシステムの一構成例を示す構成図である。
【
図2】
図1に示したロボット機構部の構成図である。
【
図3】ロボット制御装置の構成を示すブロック図である。
【
図4】入出力ゲイン及び位相遅れの周波数特性の一例を示すボード線図である。
【
図5】学習を行うことで、実軌跡y
i(t)が理想軌跡r(t)に近づく様子を示す説明図である。
【
図6】出荷前の、入出力ゲイン及び位相遅れの2つの周波数特性の逆数と、学習制御部の周波数特性を示す特性図である。
【
図7】ユーザ側での生産時の、入出力ゲイン及び位相遅れの7つの周波数特性の逆数と、学習制御部の周波数特性を示す特性図である。
【
図9】ユーザ側での生産時の環境における、ロボット制御装置のロボット制御方法の動作を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態について図面を用いて詳細に説明する。
図1は、本発明の一実施形態のロボットシステムの一構成例を示す構成図である。
図2は、
図1に示したロボット機構部の構成図である。
図3は、ロボット制御装置の構成を示すブロック図である。
【0012】
図1に示すように、ロボットシステム10は、スポット溶接用のロボット100、及びロボット100の動作を制御するロボット制御装置200を備えている。ロボット100とロボット制御装置200とは、ケーブルを介して互いに接続されている。
【0013】
ロボット100は、ロボット機構部101、ロボット機構部101の先端に取り付けられたスポット溶接ガン102、及びスポット溶接ガン102に取り付けられた加速度センサ等のセンサ110を備えている。スポット溶接ガン102は、ロボットの位置検出部位となる。センサ110が有線接続の場合には、センサ110はロボット制御装置200とケーブルにより接続され、センサ110が無線接続の場合には、センサ110はロボット制御装置200と無線通信を行う。
本実施形態では、センサ110が加速度センサの場合について述べるが、センサ110は、その他のセンサ、例えばジャイロセンサ、慣性センサ、力センサ、レーザトラッカ、カメラ、又はモーションキャプチャであってもよい。
図2に示すように、ロボット機構部101は、6つの関節軸1011~1016を有し、関節軸1011~1016はそれぞれモータが設けられている。ロボット100は、空間上に固定されたワールド座標系と、ロボット100のフランジ位置にあるメカニカルインタフェイス座標系が定義されている。
【0014】
ロボット制御装置200は、
図3に示すように、周波数生成部210、周波数特性測定部220、制御部230及び動作制御部240を備えている。制御部230は、パラメータ調整部231、パラメータ記憶部232及び学習制御部233を備えている。制御部230は、制御装置に対応する。なお、周波数生成部210、周波数特性測定部220及び制御部230のうちの一つ又は複数は、動作制御部240内に設けられてもよい。周波数生成部210、周波数特性測定部220の一方又は両方は、制御部230内に設けられてもよい。
【0015】
周波数生成部210は、周波数を変化させながら正弦波信号を動作指令として、周波数特性測定部220、制御部230及び動作制御部240に出力する。
【0016】
周波数特性測定部220は、周波数生成部210で生成された、入力信号となる動作指令(正弦波)と、センサ110から出力された出力信号となる検出位置(正弦波)と、を用いて、動作指令により規定される各周波数ごとに、入力信号と出力信号との振幅比(入出力ゲイン)、及び位相遅れとを測定する。周波数特性測定部220は、測定した、入出力ゲイン及び位相遅れの周波数特性(周波数応答特性)を制御部230のパラメータ調整部231に出力する。
周波数特性測定部220は、出荷前には、最大負荷のテストワーク及び無負荷状態で数種類の姿勢(イナーシャ)でロボット100が動く時の入出力ゲイン及び位相遅れの周波数特性を測定して、制御部230のパラメータ調整部231に出力する。
図4は、入出力ゲイン及び位相遅れの周波数特性の一例を示すボード線図である。
また、周波数特性測定部220は、ユーザ側での生産時の環境でロボット100が動く時の入出力ゲイン及び位相遅れの周波数特性を測定して、制御部230のパラメータ調整部231に出力する。
【0017】
ここで、生産時は、ユーザ側で実際に生産を行う前の学習時を含み、この時の生産時の環境は、実際に生産を行うときと同じツール、及び姿勢とした環境とする。ただし、パラメータ調整部231が実際に生産を行っている時に学習制御部233のパラメータ調整を行う場合には、生産時は、実際に生産を行っている時を意味する。以下、「生産時」とは、ユーザ側で実際に生産を行う前の学習時又はユーザ側で実際に生産を行っている時をいうものとする。
学習制御部233のパラメータは、学習制御部233を構成する構成要素の伝達関数の内部パラメータである。学習制御部233が、バンドパスフィルタWt、ローパスフィルタQ、学習制御器L、及びハイパスフィルタWpを備えている場合、学習制御部233のパラメータは、バンドパスフィルタWt、ローパスフィルタQ、学習制御器L、及びハイパスフィルタWpの伝達関数のそれぞれの内部パラメータである。バンドパスフィルタWt、ローパスフィルタQ、学習制御器L、及びハイパスフィルタWpの伝達関数のそれぞれの内部パラメータについては後述する。
生産とは、工場を中心とする製造活動に限定されず、ロボットが使用可能な、財、サービス、又は付加価値を産み出す諸活動のことをいう。例えば、生産は、果実摘み取りロボット等の農業用ロボット、枝切り取りロボット等の林業用ロボット、運搬ロボット等の商業用ロボット等が行う活動を含む。
【0018】
パラメータ調整部231は、出荷前には、周波数特性測定部220から出力される入出力ゲイン及び位相遅れの周波数特性(周波数応答特性)の逆数を計算し、その逆数に基づいて学習制御部233のパラメータを調整し、最適なパラメータを決定して、そのパラメータをパラメータ記憶部232に記憶するとともに、学習制御部233に設定する。こうして、出荷前の学習制御部が生成される。
パラメータ調整部231は、ユーザ側での生産時には、パラメータ記憶部232からパラメータを読み出して初期パラメータとし、周波数特性測定部220から出力される周波数特性の逆数を計算し、その逆数に基づいて学習制御部233の初期パラメータを調整し、最適なパラメータを決定して、そのパラメータを学習制御部233に設定する。こうして、ユーザ側での生産時の学習制御部が生成される。
【0019】
学習制御部233は、センサ110から出力される検出位置を、動作指令の目標位置に近づけるために補正量を算出する。また、学習制御部233は、算出された補正量を、関節軸1011~1016に対応する補正量を求めるために逆変換し、計算された各関節軸の補正量を動作制御部240に出力する。
動作制御部240は、学習制御部233から出力される補正量を用いて、ロボット100の各関節軸を制御する。各関節軸の振動が補正されることで、ワールド座標系上の振動が補正される。
【0020】
以下、パラメータ調整部231、学習制御部233及び動作制御部240について更に詳細に説明する。
<学習制御部>
学習制御部233は、繰り返し学習制御(Iterative learning control)を用いて、センサ110から出力される検出位置を、動作指令の目標位置に近づけるために補正量を更新する動作を行う。繰り返し学習制御は、例えば、”Survey Of Iterative Learning Control: A Learning-Based Method for High-Performance Tracking Control”, Bristow, D. A., Tharayil, M., & Alleyne, A. G. (2006), IEEE Control Systems, 26(3), 96-114.、“Iterative Learning Control Analysis, Design, and Experiments”, Mikael Norrlof, Department of Electrical Engineering Linkopings universitet, SE-581 83 Linkoping, Sweden Linkoping 2000に記載されている。
【0021】
学習制御部233から動作制御部240への出力(補正量)は、数式1(以下の数1)に従って更新される。数式1において、u
i+1(t)は学習(i+1)回目における動作制御部240への出力(補正量)、u
i(t)は学習i回目における動作制御部240への出力(補正量)、e
i(t)は学習i回目における軌跡誤差、Qは学習制御部233に含まれるローパスフィルタの伝達関数、Lは学習制御部233に含まれる学習制御器(デジタルフィルタ)の伝達関数を示す。
軌跡誤差e
i(t)は、学習i回目におけるロボットの実軌跡をy
i(t)、理想軌跡(指令軌跡)をr(t)で示すと、数式2(以下の数2)で示される。ロボットの実軌跡y
i(t)はセンサ110から出力された検出位置、理想軌跡r(t)は周波数生成部2100から出力される動作指令(位置指令)がそれぞれ該当する。
【数1】
【数2】
図5は、学習を行うことで、実軌跡y
i(t)が理想軌跡r(t)に近づく様子を示す説明図である。
【0022】
学習制御部233は、以下の2つの性質が重要である。
(1)安定性
動作制御部240への出力(補正量)u
i(t)が発散することなく、数式3(以下の数3)に示すように、ある有界な値u
∞(t)に収束することが重要である。
【数3】
(2)単調減少性
軌跡誤差e
i(t)が一旦増加する様な推移で収束するようなケースは実用上受け入れらない場合が多い。そこで、数式4(以下の数4)に示すように、軌跡誤差e
i(t)がある有界な値e
∞に一様に収束する単調減少性が重要である。
【数4】
【0023】
学習回数i回目の補正量u
i(t)及び軌跡誤差e
i(t)と、学習回数(i+1)回目の補正量u
i+1(t)及び軌跡誤差e
i+1(t)との間には数式5(以下の数5)及び数式6(以下の数6)で示される関係式が成りたつ。数式5及び数式6において、Qはローパスフィルタの伝達関数、Lは学習制御器の伝達関数、Pは動作制御部240の補正量入力からロボット100への出力までの伝達関数である。
【数5】
【数6】
上記数式5及び数式6において、数式7(以下の数7)が1と同一又は1より小さければ、補正量及び軌跡誤差はそれぞれu
∞(t)、e
∞(t)に収束し、安定性と単調減少性が保たれる。
【数7】
【0024】
以上が、学習制御部233の安定性と単調減少性が保つための条件である。
学習制御部233が、バンドパスフィルタWt、ローパスフィルタQ、学習制御器L、及びハイパスフィルタWpを備えている場合、パラメータ調整部231は、学習制御部233の伝達関数の後述する内部パラメータを数式8(以下の数8)が最小となるように設計する。
【数8】
バンドパスフィルタWtの伝達関数は、通過帯域(wt)と通過帯域でのゲイン(dcwt)を内部パラメータとして持っている。ローパスフィルタQの伝達関数は、フィルタの次数(Nq)とカットオフ周波数(wn)を内部パラメータとして持っている。学習制御器Lの伝達関数は、何サンプル先の振動を利用するかを示す値(N_ILC)と次数(No)を内部パラメータとして持っている。ハイパスフィルタWpの伝達関数は、カットオフ周波数(wp)とフィルタのゲイン(dcwp)とフィルタの次数(wpNo)を内部パラメータとして持っている。
【0025】
<パラメータ調整部>
パラメータ調整部231は、出荷前に、最大負荷のテストワーク及び無負荷状態で数種類の姿勢(イナーシャ)でロボット100が動く時の入出力ゲイン及び位相遅れの複数の周波数特性を、周波数特性測定部220から取得し、これら複数の周波数特性の逆数をそれぞれ求める。そして、パラメータ調整部231は、学習制御部233の周波数特性が複数の周波数特性の逆数の間に入るように、バンドパスフィルタWt、ローパスフィルタQ、学習制御器L、及びハイパスフィルタWpの伝達関数の9個の内部パラメータの少なくとも1つの内部パラメータ、例えば学習制御器Lの伝達関数2つの内部パラメータを変更する。
学習制御部233の周波数特性は、測定した入出力ゲイン及び位相遅れの複数の周波数特性の逆数に近いものが望ましい。その理由は、学習制御部233の周波数特性が、測定した周波数応答の逆数と一致することで、学習制御部233により作られた補正量が振動に対して逆向きの補正として働き、ロボット100の振動を打ち消すことができるからである。
【0026】
図6は出荷前の、入出力ゲイン及び位相遅れの2つの周波数特性の逆数と、学習制御部の周波数特性を示す特性図である。
図6において、破線は入出力ゲイン及び位相遅れの複数の周波数特性の逆数を示し、実線は学習制御部233の周波数特性を示す。破線で示す周波数特性(入出力ゲイン及び位相遅れの複数の周波数特性の逆数)及び実線で示す周波数特性は、ともに学習前の周波数特性を示す。
図6においては、2つの破線は、ロボット100が2種類の姿勢(イナーシャ)で動いた時の周波数応答の逆数を示している。これらの2種の姿勢(イナーシャ)の入出力ゲイン及び位相遅れの2つの周波数特性の逆数に対して上記内容パラメータを調整して実線で示す学習制御部233の周波数特性を変えることで、2種類の姿勢の時の振動が抑制される。
しかし、ユーザ側での生産時の環境で他の姿勢(イナーシャ)でロボット100が動く時には、出荷前の内容パラメータでは、振動が抑制できない可能性がある。
【0027】
そこで、パラメータ調整部231は、ユーザ側での生産時の状態で測定された、入出力ゲイン及び位相遅れの周波数特性の逆数となるように、内部パラメータを調整する。このとき、パラメータ調整部231は、パラメータ記憶部232からパラメータを読み出して初期パラメータとし、周波数特性測定部220から出力される周波数特性の逆数に基づいて学習制御部233の初期パラメータを調整し、最適な内部パラメータを決定し、その内部パラメータを学習制御部233に設定する。
図7はユーザ側での生産時の、入出力ゲイン及び位相遅れの7つの周波数特性の逆数と、学習制御部の周波数特性を示す特性図である。
図7において、太い一点鎖線、細い一点鎖線、太い二点鎖線、細い二点鎖線、太い破線、細い破線、間隔の広い破線は、入出力ゲイン及び位相遅れの7つの周波数特性の逆数を示し、実線は学習制御部233の周波数特性を示す。
図7に示す、入出力ゲイン及び位相遅れの複数の周波数特性の逆数及び実線で示す周波数特性はともに学習前の周波数特性を示す。
7種の姿勢(イナーシャ)の7つの周波数特性の逆数に対して上記内容パラメータを調整して実線で示す学習制御部233の周波数特性を変えることで、7種類の姿勢の時の振動が抑制される。
なお、イナーシャは姿勢だけではなく、負荷(ロボットの先端に取り付けるサーボガン等)によっても変化する。
【0028】
パラメータ調整部231が最適な内部パラメータを探索する方法は、特に限定されないが、例えば、以下に説明する遺伝的アルゴリズムを適用することができる。
(1)あらかじめN個(Nは2以上の自然数)の個体が入る集合を二つ用意する。以下、この二つの集合を「現世代」、「次世代」と呼ぶことにする。1つの個体は、既に説明した9個の内部パラメータの情報をもっている。
(2)現世代にN個の個体をランダムに生成する。各個体は内部パラメータの取りうる範囲内でランダムに生成される。
(3)評価関数により、現世代の各個体の適応度をそれぞれ計算する。
適応度は、評価関数となる上記数式8が小さいほど高くなる。適応度により各個体(パラメータの組み合わせ)が良い学習コントローラかを判断できる。
(4)ある確率で次の3つの動作のどれかを行い、その結果を次世代に保存する。
A.個体を二つ選択して交叉を行う。
現世代個体のどちらかが持っているパラメータを次世代の個体に引き継ぐ。
B.個体を一つ選択して突然変異を行う。
選択された個体のパラメータの一部または全部をランダムに変更する。
C.個体を一つ選択してそのままコピーする。
(5)次世代の個体数がN個になるまで上記(4)の動作を繰り返す。
(6)次世代の個体数がN個になったら次世代の内容を全て現世代に移す。
(7)上記(3)以降の動作を最大世代数G回(Gは2以上の自然数)まで繰り返し、最終的に「現世代」の中で最も適応度の高い個体を「解」として出力する。
【0029】
<動作制御部>
図8は動作制御部240の構成を示すブロック図である。動作制御部240は、6つの関節軸1011~1016にそれぞれ対応して設けられるが、以下の説明では、動作制御部240はロボット100の関節軸1011のモータ1020を制御するものとする。
図8に示すように、動作制御部240は、減算器2401、加算器2402、位置制御部2403、減算器2404、速度制御部2405、減算器2406、電流制御部2407、アンプ2408、微分器2409及び補正部2410を備えている。
【0030】
減算器2401は、動作指令の指令位置と、ロボットの関節軸のモータ1020のロータリーエンコーダ等の位置検出器から出力される位置フィードバック値との差を求めて、その差を位置偏差として加算器2402に出力する。
加算器2402は、減算器2401から出力される位置偏差と、補正部2410から出力される補正量とを加算して、補正された位置偏差を位置制御部2403に出力する。
【0031】
位置制御部2403は、補正された位置偏差に基づいて速度指令値を生成して減算器2404に出力する。
減算器2404は、位置制御部2403から出力される速度指令値と微分器2409からの速度フィードバック値との差を求めて、その差を速度偏差として速度制御部2405に出力する。
【0032】
速度制御部2405は、速度偏差に基づいて電流指令値を生成して減算器2406に出力する。
減算器2406は、速度制御部2405から出力される電流指令値とアンプ2408からの電流フィードバック値との差を求めて、その差を電流偏差として電流制御部2407に出力する。
電流制御部2407は、電流偏差に基づいてトルク指令値(電流値)を生成してアンプ2408に出力する。
アンプ2408は、電流制御部2407からの電流値に基づいて所望の電力を算出し、これをロボット100の関節軸1011のモータ1020に入力する。
微分器2409は、位置フィードバック値を微分して減算器2404に出力する。
補正部2410は、学習制御部233から出力される補正量を記憶し、加算器2402に補正量を出力する。
【0033】
図1に示したロボット制御装置200の機能ブロックを実現するために、ロボット制御装置200は、CPU(Central Processing Unit)等の演算処理装置を備えるコンピュータで構成することができる。また、ロボット制御装置200は、アプリケーションソフトウェア又はOS(Operating System)等の各種の制御用プログラムを格納したHDD(Hard Disk Drive)等の補助記憶装置及び、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのRAM(Random Access Memory)といった主記憶装置も備える。
【0034】
そして、ロボット制御装置200において、演算処理装置が補助記憶装置からアプリケーションソフトウェア又はOSを読み込み、読み込んだアプリケーションソフトウェア又はOSを主記憶装置に展開させながら、これらのアプリケーションソフトウェア又はOSに基づいた演算処理を行なう。また、演算処理装置は、この演算結果に基づいて、ロボット制御装置200が備える各種のハードウェアを制御する。これにより、本実施形態の機能ブロックは実現される。つまり、本実施形態は、ハードウェアとソフトウェアが協働することにより実現することができる。
【0035】
学習制御部233については学習に伴う演算量が多い場合は、例えば、パーソナルコンピュータにGPU(Graphics Processing Units)を搭載することで、GPGPU(General-Purpose computing on Graphics Processing Units)と呼ばれる技術により、GPUを機械学習に伴う演算処理に利用して高速処理することができる。更には、より高速な処理を行うために、このようなGPUを搭載したコンピュータを複数台用いてコンピュータ・クラスターを構築し、このコンピュータ・クラスターに含まれる複数のコンピュータにて並列処理を行うようにしてもよい。
【0036】
次に、ユーザ側での生産時の環境における、ロボット制御装置200の動作について説明する。
図9はユーザ側での生産時の環境における、ロボット制御装置200のロボット制御方法の動作を示すフローチャートである。
図1に示した、パラメータ記憶部232には、出荷前の、学習制御部233の最適なパラメータが記憶されている。この最適なパラメータは、パラメータ調整部231が、出荷前における、周波数特性測定部220から出力される、入出力ゲイン及び位相遅れの周波数特性周波数特性(周波数応答特性)の逆数に基づいて学習制御部233のパラメータを調整することで決定される。
【0037】
ステップS10において、ユーザ側での生産時の環境において、周波数生成部210は正弦波信号を動作指令として動作制御部240に出力し、動作制御部240がロボット100を動作させる。
【0038】
ステップS11において、周波数特性測定部220は、周波数生成部210で生成された動作指令(正弦波)と、センサ110から出力された検出位置(正弦波)とを用いて、入力信号と出力信号との振幅比(入出力ゲイン)、及び位相遅れの周波数特性を測定する。
【0039】
ステップS12において、パラメータ調整部231は、出荷前の制御部230のパラメータを初期パラメータとして、パラメータ記憶部232から読み出す。
【0040】
ステップS13において、パラメータ調整部231は、周波数特性測定部220から出力される周波数特性の逆数を計算し、その逆数に基づいて学習制御部233の初期パラメータを調整し、最適なパラメータを決定し、そのパラメータを学習制御部233に設定する。
【0041】
ステップS14において、学習制御部233は、センサ110から出力される検出位置を、動作指令の目標位置に近づけるために補正量を算出し、動作制御部240は、その補正量を用いて、ロボット100の各関節軸を制御する。
【0042】
以上説明した実施形態の制御部(制御装置となる)は、ユーザ側での生産時の状態で学習による振動低減の効果を高めることができる。
また、制御部は、ユーザ側での生産時に初期パラメータを用いて学習制御部のパラメータを調整するので、パラメータを大幅に変更する必要がなく、試行回数を少なく設定できる。その結果、ユーザ側での調整時間を短縮できる。
また、制御部は、ユーザ側での生産時に出荷前の初期パラメータを用いず、周波数特性測定部から出力される周波数特性に基づいて学習制御部のパラメータを調整すると、周波数特性が変わると振動の発散を引き起こす学習制御部となってしまう可能性があるが、出荷前の初期パラメータを用いることで発散を抑制することができる。
【0043】
以上本発明に係る実施形態について説明したが、本実施形態の制御装置、ロボット制御装置及び制御方法の各構成部は、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。例えば、電子回路により実現してもよい。また、上記各構成部のそれぞれの協働により行なわれる画像処理方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【0044】
プログラムは、様々なタイプの非一時的なコンピュータ読み取り可能な記録媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ読み取り可能な記録媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ読み取り可能な記録媒体は、例えば、磁気記録媒体(例えば、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、又はフラッシュROM、RAM(random access memory))である。
【0045】
上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【0046】
例えば、上述した実施形態では、ロボットシステム10は、ロボット100とロボット制御装置200とが分離されて構成されているが、ロボット制御装置200がロボット100に含まれて構成されてもよい。
【0047】
また、上述した実施形態では、ロボットとして、スポット溶接用のロボットについて説明したが、その他のロボット、例えば、塗装用ロボット、組み立て用ロボット、又は搬送用ロボット等であってもよい。
【0048】
本開示による制御装置、ロボット制御装置及び制御方法は、上述した実施形態を含め、次のような構成を有する各種各様の実施形態を取ることができる。
【0049】
(1) 本開示の第1の態様は、ロボット(例えば、ロボット100)の動作を制御するための補正量を作成する制御装置(例えば、制御部230)であって、
前記補正量を作成する学習制御に用いるパラメータを有する学習制御部(例えば、学習制御部233)と、
出荷前に設定した前記パラメータを記憶するパラメータ記憶部(例えば、パラメータ記憶部232)と、
前記ロボットによる生産時に、前記パラメータ記憶部が記憶している前記パラメータを調整して前記学習制御部に設定するパラメータ調整部(例えば、パラメータ調整部231)と、
を備えた制御装置である。
この制御装置によれば、ユーザ側での生産時の状態で学習による振動低減の効果を高めることができる。
【0050】
(2)前記パラメータ調整部は、前記パラメータの調整を前記ロボットの周波数応答特性の逆数に基づいて行う上記(1)に記載の制御装置。
【0051】
(3)前記パラメータ調整部は、前記パラメータの調整を遺伝的アルゴリズムによって行う上記(1)又は(2)に記載の制御装置。
【0052】
(4) 本開示の第2の態様は、上記(1)から(3)のいずれかに記載の制御装置と、
該制御装置からロボットの動作を制御するための補正量が入力され、該ロボットの動作を制御する動作制御部と、
を備えたロボット制御装置である。
このロボット制御装置によれば、ユーザ側での生産時の状態で学習による振動低減の効果を高めることができる。
【0053】
(5) 周波数が変わる信号を生成する周波数生成部と、
前記信号と、前記ロボットの位置検出部位に取り付けられたセンサからの出力信号とに基づいて、前記ロボットの周波数応答特性を測定する周波数特性測定部と、
を備えた、上記(4)に記載のロボット制御装置。
【0054】
(6) 前記センサは、加速度センサ、ジャイロセンサ、慣性センサ、力センサ、レーザトラッカ、カメラ、モーションキャプチャのいずれかである、上記(5)に記載のロボット制御装置。
【0055】
(7) 本開示の第3の態様は、ロボット(例えば、ロボット100)の動作を制御するための補正量を作成する制御装置(例えば、制御部230)の制御方法であって、
出荷前の、前記補正量を作成する学習制御に用いるパラメータをパラメータ記憶部(例えば、パラメータ記憶部232)から読み出し、
前記ロボットによる生産時に、前記パラメータ記憶部が記憶している前記パラメータを、前記ロボットの周波数応答特性の逆数に基づいて調整する、
制御方法である。
この制御方法によれば、ユーザ側での生産時の状態で学習による振動低減の効果を高めることができる。
【符号の説明】
【0056】
10 ロボットシステム
100 ロボット
101 ロボット機構部
102 スポット溶接ガン
110 センサ
200 ロボット制御装置
210 周波数生成部
220 周波数特性測定部
230 制御部
231 パラメータ調整部
232 パラメータ記憶部
233 学習制御部
240 動作制御部