JP6875329B2 - 学習制御を行うロボットシステム - Google Patents

学習制御を行うロボットシステム Download PDF

Info

Publication number
JP6875329B2
JP6875329B2 JP2018120684A JP2018120684A JP6875329B2 JP 6875329 B2 JP6875329 B2 JP 6875329B2 JP 2018120684 A JP2018120684 A JP 2018120684A JP 2018120684 A JP2018120684 A JP 2018120684A JP 6875329 B2 JP6875329 B2 JP 6875329B2
Authority
JP
Japan
Prior art keywords
learning
time
correction amount
power spectrum
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018120684A
Other languages
English (en)
Other versions
JP2020001107A (ja
Inventor
稲垣 聡
聡 稲垣
鈴木 元
鈴木  元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FANUC Corp
Original Assignee
FANUC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by FANUC Corp filed Critical FANUC Corp
Priority to JP2018120684A priority Critical patent/JP6875329B2/ja
Priority to US16/445,212 priority patent/US11230003B2/en
Priority to DE102019004367.7A priority patent/DE102019004367B4/de
Priority to CN201910555180.2A priority patent/CN110640766B/zh
Publication of JP2020001107A publication Critical patent/JP2020001107A/ja
Application granted granted Critical
Publication of JP6875329B2 publication Critical patent/JP6875329B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1638Programme controls characterised by the control loop compensation for arm bending/inertia, pay load weight/inertia
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39195Control, avoid oscillation, vibration due to low rigidity
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41166Adaptive filter frequency as function of oscillation, rigidity, inertia load

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)
  • Feedback Control In General (AREA)

Description

本発明は、学習制御を行うロボットシステムに関する。
産業用のロボットシステムにおいて、ロボットの動作を高速化してタクトタイムを短縮すれば、ロボットシステムにおける生産効率が向上する。しかしながら、ロボットの動作をある程度以上高速化すると、減速機やロボットアームの剛性不足等の要因によって、ロボットの先端に位置するサーボガン等のエンドエフェクタに振動が発生してしまう。特に近年では、さらなる生産性の向上のためエンドエフェクタも軽量化が行われており、エンドエフェクタの剛性不足による振動も無視できないものになってきている。このため、振動の除去が求められる制御対象部位(例えばエンドエフェクタ)に加速度センサを取り付け、ロボット動作中の制御対象部位の振動をセンサによって計測し、学習制御を行うことで振動を低減するロボットシステムが提案されている。
例えば、位置制御の対象とする部位にセンサを備えたロボット機構部と、前記ロボット機構部の動作を制御する制御装置とを含むロボットであって、前記制御装置は、前記ロボット機構部の動作を制御する通常制御部と、作業プログラムにより前記ロボット機構部を動作させて、前記センサによって検出した前記ロボット機構部の制御対象位置を前記通常制御部に与えられた目標軌跡もしくは位置に近づけるために学習補正量を算出する学習を行う学習制御部と、を有し、前記学習制御部は、前記学習稼動状態で設定可能な最大速度オーバライドを算出し、前記最大速度オーバライドに至るまで複数回に渡って速度オーバライドを増加させながら学習補正量を算出する学習を行うことを特徴とするロボットが知られている(例えば、特許文献1参照。)。
特開2011−167817号公報
学習制御を行うことで振動を低減するロボットシステムにおいて、例えば周波数応答データから学習制御器を設計する場合、周波数応答の測定には時間と手間がかかる。また、ロボットシステムが設けられた現場で実際に周波数応答データを取得することは難しいことから、実際には、代表的なエンドエフェクタに対する周波数応答データに基づき予め設計された学習制御器を、他のエンドエフェクタに対しても使用しているのが実情である。この場合、実際に使用されているエンドエフェクタの共振周波数が、学習制御器の制御帯域よりも高い場合は、当該学習制御器にて振動を低減することができる。しかしながら、実際に使用されているエンドエフェクタの剛性が低くその共振周波数が学習制御器の制御帯域内に含まれてしまう場合は、学習制御器における位相の遅れやゲインの増大により、振動が発散してしまう問題がある。したがって、制御対象部位の振動を学習制御により精度良くかつ容易に除去することができる技術が望まれている。
本開示の一態様によれば、制御対象部位の振動データを取得するセンサを有するロボット機構部と、作業プログラムに従ってロボット機構部の動作を制御するロボット制御装置と、を備える、ロボットシステムは、ロボット機構部の動作中にセンサによって検出される制御対象部位の位置を目標位置に近づけるための学習補正量を算出する学習を行う学習制御部と、学習制御部により算出された学習補正量を用いて制御対象部位の目標位置に関する動作指令を補正し、ロボット機構部の動作を制御するロボット制御部と、を備え、学習制御部は、学習制御部による学習回ごとに、センサによって検出された振動データをフーリエ変換してパワースペクトルを算出するパワースペクトル算出部と、パワースペクトル算出部により算出された今回学習時のパワースペクトルと直前回学習時のパワースペクトルとを周波数成分ごとに比較する比較部と、比較部による比較の結果、今回学習時のパワースペクトルに直前回学習時のパワースペクトルよりも大きい周波数成分が存在する場合、今回学習時のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなるように今回学習時の動作指令の補正に用いられた学習補正量の位相及びゲインのうちの少なくとも1つを調整し、次回学習時の動作指令の補正に用いられる新たな学習補正量として設定する学習補正量更新部と、を有する。
本開示の一態様によれば、制御対象部位の振動を学習制御により精度良くかつ容易に除去することができるロボットシステムを実現することができる。
本開示の一実施形態におけるロボットシステムの概略図である。 本開示の一実施形態におけるロボット機構部の構成図である。 本開示の一実施形態におけるロボットシステムを示すブロック図である。 本開示の他の実施形態におけるロボットシステムを示すブロック図である。 制御対象部位の共振周波数が学習制御部の制御帯域よりも高い場合における制御対象部位の周波数特性を例示するボード線図である。 図5に示す周波数特性を有する制御対象部位の振動を例示す図である。 制御対象部位の共振周波数が学習制御部の制御帯域内に含まれる場合における制御対象部位の周波数特性を例示するボード線図である。 図7に示す周波数特性を有する制御対象部位の振動を例示す図である。 制御対象部位の共振周波数が学習制御部の制御帯域内に含まれる場合における制御対象部位の振動のパワースペクトルを例示する図である。 図9に示す振動のパワースペクトルを有する制御対象部位の振動を例示す図である。 本開示の一実施形態におけるロボットシステムにおける学習補正量更新処理を説明するフローチャートである。 第1の形態による学習補正量更新部を有する学習制御部を示すブロック図である。 第1の形態による学習補正量更新部におけるフィルタの周波数特性を例示するボード線図である。 第2の形態による学習補正量更新部を有する学習制御部を示すブロック図である。 第3の形態による学習補正量更新部を有する学習制御部を示すブロック図である。 学習補正量の位相及びゲインの両方を調整する実施形態による学習補正量更新部を有する学習制御部を示すブロック図である。 学習補正量のゲインを調整するフィルタの周波数特性を例示するボード線図である。 学習補正量の位相及びゲインの両方を調整する実施形態による学習補正量更新処理を説明するフローチャートである。
以下図面を参照して、学習制御を行うロボットシステムについて説明する。理解を容易にするために、これらの図面は縮尺を適宜変更している。図面に示される形態は実施するための一つの例であり、図示された実施形態に限定されるものではない。
図1は、本開示の一実施形態におけるロボットシステムの概略図である。ロボットシステム1は、位置制御の対象であるエンドエフェクタなどの制御対象部位101の振動データを取得するセンサ102を有するロボット機構部103と、作業プログラムに従ってロボット機構部103の動作を制御するロボット制御装置104と、を備えており、制御対象部位101の振動を学習制御するように構成されている。またさらに、ロボットシステム1は、ここでは図示しないが、種々の情報を表示する表示装置を備える。
センサ102は、ロボット機構部103の手首先端部に位置する制御対象部位101に取り付けられる。センサ102は、制御対象部位101の位置を推定するために計算処理を必要とする情報(例えば、加速度、角速度、ひずみ(電気抵抗値)等)を検出するセンサであり、例えば、加速度センサ、ジャイロセンサ、慣性センサ、力センサ、レーザトラッカ、カメラ、モーションキャプチャなどを含む。
センサ102、ロボット機構部103、ロボット制御装置104、及び表示装置(図示せず)は、有線又は無線を介して相互に通信可能に接続されている。
図2は、本開示の一実施形態におけるロボット機構部の構成図である。ロボット機構部103は、サーボモータ、減速機等を有する6つの関節軸J1〜J6を備えている。ロボット機構部103は、空間上に固定されるワールド座標系C1と、関節軸J6のフランジ位置にあるメカニカルインタフェイス座標系C2とを定義したロボットマニピュレータである。
図3は、本開示の一実施形態におけるロボットシステムを示すブロック図である。
本開示の実施形態におけるロボットシステム1は、学習制御部11とロボット制御部12とを備える。学習制御部11及びロボット制御部12は公知のCPU、ASIC、FPGA等を備えている。
学習制御部11は、作業プログラムに従ったロボット機構部103の動作中にセンサ102によって検出される制御対象部位101の位置を目標位置に近づけるための学習補正量を算出する学習を行う。また、学習制御部11における学習は、オンラインで実行されてもよく、オフラインで実行されてもよい。
学習制御部11は、代表的な制御対象部位(エンドエフェクタ)に対する周波数応答データに基づき、学習回毎に振動が単調に減少するように設計されている。すなわち、学習制御部11は、ロボット機構部103による実際の制御対象部位101に対する周波数応答データに基づき設定されたものではない。よって、ロボット機構部103による実際の制御対象部位101が、代表的な制御対象部位(エンドエフェクタ)に対する周波数応答データに基づき設計された学習制御部11の制御帯域内に含まれるか否かによって、学習制御部11による学習制御により制御対象部位101の振動を除去できるか否かが変わってくる。これについて図5〜図8を参照して後述する。
ロボット制御部12は、作業プログラムに従って、学習制御部11により算出された学習補正量を用いて制御対象部位101の目標位置に関する動作指令を補正し、ロボット機構部103の動作を制御する。
図3に示す一実施形態によるロボットシステム1では、学習制御部11及びロボット制御部12はロボット制御装置104内に設けられる。他の実施形態において、学習制御部11は、ロボット制御装置104とは別体のコンピュータ内に設けられていてもよい。図4は、本開示の他の実施形態におけるロボットシステムを示すブロック図である。すなわち、図4に示す一実施形態によるロボットシステム1では、ロボット制御装置104とコンピュータ105とが有線又は無線を介して通信可能に接続され、学習制御部11及びロボット制御部12はコンピュータ105内に設けられる。
ロボット制御部12による制御により制御対象部位101の目標位置に関する動作指令に基づきロボット機構部103を動作させたときにおいて、センサ102によってロボット機構部103の振動を検出し、学習制御部11により学習制御を行うことでこの振動を低減させる。すなわち、学習制御部11において、学習制御の対象となる作業プログラムを実行し、その際のロボット機構部103の動作中の加速度データやロボットの指令位置を記録する。学習制御の対象となる作業プログラムを1回実行し終えたら、当該作業プログラムを実行した際の各制御周期における振動量とこの振動量を打ち消すための学習補正量とを算出し、学習制御部11内のメモリに記録する。メモリに記録された学習補正量は、次に同じ作業プログラムが実行される際に、ロボット制御部12において動作指令の補正に利用される。この一連の処理を繰り返し実行することで、ロボット機構部103の振動が低減されていく。
続いて、制御対象部位(エンドエフェクタ)の共振周波数と学習制御部の制御帯域との関係について図5〜図8を参照して説明する。
図5は、制御対象部位の共振周波数が学習制御部の制御帯域よりも高い場合における制御対象部位の周波数特性を例示するボード線図である。図6は、図5に示す周波数特性を有する制御対象部位の振動を例示す図である。図6において、横軸は時間軸であり、縦軸は振動の振幅を示す。また、図6において、点線は制御対象部位の指令軌跡を示し、一点鎖線は学習制御前の制御対象部位の軌跡を示し、実線は学習制御後の制御対象部位の軌跡を示す。図5に示すように共振周波数が例えば30Hzである制御対象部位に制御帯域が15Hzである学習制御部を適用した場合、図6の実線に示すように学習回毎に振動が単調に減少していく。
図7は、制御対象部位の共振周波数が学習制御部の制御帯域内に含まれる場合における制御対象部位の周波数特性を例示するボード線図である。図8は、図7に示す周波数特性を有する制御対象部位の振動を例示す図である。図8において、横軸は時間軸であり、縦軸は振動の振幅を示す。また、図8において、点線は制御対象部位の指令軌跡を示し、一点鎖線は学習制御前の制御対象部位の軌跡を示し、実線は学習制御後の制御対象部位の軌跡を示す。図7に示すように共振周波数が例えば14Hzである制御対象部位に制御帯域が15Hzである学習制御部を適用した場合、図8の実線に示すように振動が発散してしまう。
制御対象部位の共振周波数が学習制御部の制御帯域内に含まれる場合において図8に示すように振動が減少せずに発散してしまうのは、制御対象部位の共振周波数近傍の位相の遅れやゲインの増大によるものと考えられる。そこで、本実施形態では、学習制御部11による学習回毎に、制御対象部位101の振動のパワースペクトルを監視し、制御対象部位101の振動のパワースペクトルが直前回学習時よりも今回学習時の方が増加した場合には、制御対象部位101の共振周波数が学習制御部11の制御帯域内に含まれると考え、学習制御部11において学習補正量の位相及びゲインの少なくとも1つを調整し、調整後の学習補正量を、次回学習時の動作指令の補正に用いられる新たな学習補正量として設定する。
続いて、学習制御部11の構成についてより詳細に説明する。
図3及び図4に示すように、学習制御部11は、パワースペクトル算出部21と、比較部22と、学習補正量更新部23とを備える。
また、学習制御部11は、第1のメモリ24と第2のメモリ25と第3のメモリ26とを備える。第1のメモリ24は、センサ102から取得したセンサ情報を記憶する。第2のメモリ25は、パワースペクトル算出部21により算出(取得)されたパワースペクトルを記憶する。第3のメモリ26は、学習を繰返して収束した学習補正量を記憶する。第1のメモリ24及び第2のメモリ25は高速な学習を行うために揮発性メモリであることが好ましいが不揮発性メモリであってもよい。第1のメモリ24及び第2のメモリ25は、1つのメモリの領域を分割して割り当てられたものであってもよく、あるいはそれぞれ別個のメモリとして実現されてもよい。また、第3のメモリ26は電源切断後であっても学習補正量を記憶する不揮発性メモリであることが好ましい。電源投入後、収束した学習補正量が第3のメモリ26からに読み出されてロボット制御部12において利用される。
パワースペクトル算出部21は、学習制御部11による学習回ごとに、センサ102によって検出された振動データをフーリエ変換してパワースペクトルを算出(取得)する。パワースペクトル算出部21により算出されたパワースペクトルは、比較部22に送られるとともに、第2のメモリ25に記憶される。
比較部22は、パワースペクトル算出部21により算出された今回学習時のパワースペクトルと直前回学習時のパワースペクトルとの大小関係を周波数成分ごとに比較する。今回学習時のパワースペクトルは、当該学習回においてパワースペクトル算出部21から送られてきたものであり、直前回学習時のパワースペクトルは、第2のメモリ25から読み出されたものである。比較部22による比較結果である周波数成分ごとのパワースペクトルの大小関係に関する情報は、学習補正量更新部23に送られる。
学習補正量更新部23は、比較部22による比較の結果、今回学習時のパワースペクトルに直前回学習時のパワースペクトルよりも大きい周波数成分が存在する場合、今回学習時のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなるように今回学習時の動作指令の補正に用いられた学習補正量の位相及びゲインのうちの少なくとも1つを調整し、これを次回学習時の動作指令の補正に用いられる新たな学習補正量として設定する。つまり、学習補正量更新部23は、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有していると比較部22により判定された今回学習時の周波数成分に対応する学習補正量の周波数成分に対して位相を調整することで、当該大きい周波数成分についての今回学習時のパワースペクトルが直前回学習時のパワースペクトル以下になるようにし、調整後の学習補正量を、次回学習時の動作指令の補正に用いられる新たな学習補正量として設定する。新たに設定された学習補正量は、第3のメモリ26に記憶される。ロボット制御部12は、作業プログラムに従って、学習制御部11内の第3のメモリ26から読み出された学習補正量を用いて制御対象部位101の目標位置に関する動作指令を補正し、ロボット機構部103の動作を制御する。
続いて、学習補正量の位相を調整する実施形態について図9及び図10を参照してより詳細に説明する。学習補正量の位相及びゲインの両方を調整する実施形態については後述する。
図9は、制御対象部位の共振周波数が学習制御部の制御帯域内に含まれる場合における制御対象部位の振動のパワースペクトルを例示する図である。図9において、横軸は周波数を示し、縦軸はパワースペクトルを示す。また、図9において、実線は学習制御部11のN回目(Nは整数)における制御対象部位101の振動のパワースペクトルを示し、線は学習制御部11のN+1回目(Nは整数)における制御対象部位101の振動のパワースペクトルを示す。図10は、図9に示す振動のパワースペクトルを有する制御対象部位の振動を例示す図である。図10において、横軸は時間軸であり、縦軸は振動の振幅を示す。また、図10において、点線は制御対象部位の指令軌跡を示し、一点鎖線は学習制御前の制御対象部位の軌跡を示し、二点鎖線は、位相調整なしの学習制御後の制御対象部位の軌跡を示し、実線は位相調整ありの学習制御後の制御対象部位の軌跡を示す。図9及び図10に示す例では、一例として学習制御部11の制御帯域を15Hzとしている。制御対象部位101の共振周波数が、学習制御部11の制御帯域である15Hz内に含まれると、学習制御部11による学習制御の結果、今回学習時(N+1回目)のパワースペクトルは、直前回学習時(N回目)のパワースペクトルに比べて増大する。すなわち、図9に示すように、8Hzより大きい周波数成分については、今回学習時(N+1回目)のパワースペクトルの方が直前回学習時のパワースペクトルよりも大きくなる。この結果、図10に示すように、学習制御前は振動がなかったが(実線)、学習制御部11による学習制御により振動が発散してしまう(二点鎖線)。ここで、今回学習時の8Hzより大きい周波数成分のパワースペクトルが直前回学習時の8Hzより大きい周波数成分のパワースペクトルよりも小さくなるように、8Hzより大きい周波数成分の学習補正量に対して位相を進める調整を行うと、図10の実線に示すように学習回毎に振動が単調に減少していく。本実施形態では、学習制御部11による学習回毎に、制御対象部位101の振動のパワースペクトルを監視し、制御対象部位101の振動のパワースペクトルが直前回学習時よりも今回学習時の方が増加した場合には、学習補正量更新部23は、今回学習時パワースペクトルが直前回学習時のパワースペクトルよりも小さくなるように学習補正量の位相を調整し、調整後の学習補正量を、新たな学習補正量として設定する。新たな学習補正量は、第3のメモリ26に記憶される。ロボット制御部12は、作業プログラムに従って、学習制御部11内の第3のメモリ26から読み出された新たな学習補正量を用いて制御対象部位101の目標位置に関する動作指令を補正し、ロボット機構部103の動作を制御する。新たな学習補正量は、今回学習時パワースペクトルを直前回学習時のパワースペクトルよりも小さくするものであるので、ロボット制御部12において新たな学習補正量にて動作指令を補正してロボット機構部103の動作を制御すると、学習回毎に振動が単調に減少することになる。
図11は、本開示の一実施形態におけるロボットシステムにおける学習補正量更新処理を説明するフローチャートである。
ロボット制御部12が、学習制御部11により算出された学習補正量を用いて動作指令を補正してロボット機構部103の動作を制御する場合を考える。ステップS101において、パワースペクトル算出部21は、センサ102によって検出された振動データをフーリエ変換してパワースペクトルを算出する。パワースペクトル算出部21により算出されたパワースペクトルは、比較部22に送られるとともに、第2のメモリ25に記憶される。
ステップS102において、比較部22は、パワースペクトル算出部21により算出された今回学習時のパワースペクトルと直前回学習時のパワースペクトルとの大小関係を周波数成分ごとに比較する。ステップS102における比較部22による比較の結果、今回学習時のパワースペクトルに直前回学習時のパワースペクトルよりも大きい周波数成分が存在すると判定された場合は、ステップS103へ進む。一方、ステップS102における比較部22による比較の結果、今回学習時のパワースペクトルに直前回学習時のパワースペクトルよりも大きい周波数成分が存在しないと判定された場合は、学習補正量は更新せずに学習補正量更新処理を終了する。学習補正量更新処理の終了後、次回学習時に再度、学習補正量更新処理を実行してもよい。
ステップS103において、学習補正量更新部23は、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分に対応する今回学習時の動作指令の補正に用いられた学習補正量の周波数成分に対して、所定の刻み量だけ位相を進める。位相進み量処理の詳細については後述する。
ステップS104において、比較部22は、パワースペクトル算出部21により算出された今回学習時のパワースペクトルと直前回学習時のパワースペクトルとの大小関係を周波数成分ごとに比較する。ステップS104における比較部22による比較の結果、今回学習時のパワースペクトルに直前回学習時のパワースペクトルよりも大きい周波数成分が存在すると判定された場合は、ステップS103へ戻る。一方、ステップS104における比較部22による比較の結果、今回学習時のパワースペクトルの全ての周波数成分について直前回学習時のパワースペクトルよりも小さくなったと判定された場合は、ステップS105へ進む。
ステップS105において、学習補正量更新部23は、位相調整後の学習補正量を、次回学習時の動作指令の補正に利用される新たな学習補正量として設定し、その後、学習補正量更新処理を終了する。学習補正量更新処理の終了後、次回学習時に再度、学習補正量更新処理を実行してもよい。
このように、ステップS103〜S105における学習補正量更新部23の一連の処理により、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分に対応する今回学習時の動作指令の補正に用いられた学習補正量の周波数成分に対して、所定の刻み量にて順次増加する位相進み量にて位相を進めていき、当該周波数成分のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなったときにおける位相進み量が算出される。学習補正量更新部23は、算出された位相進み量にて当該周波数成分の位相が進められた学習補正量を、次回学習時の動作指令の補正に用いられる新たな学習補正量として設定する。
ステップS105において設定される次回学習時の動作指令の補正に利用される新たな学習補正量は、全ての当該周波数成分のパワースペクトルが直前回学習時のパワースペクトル以下になるように今回学習時の学習補正量の位相を進める調整を行うことで得られる学習補正量である。このように位相調整された新たな学習補正量を次回学習時の動作指令の補正に利用すれば、制御対象部位101の共振周波数付近の位相遅れを補償することができるので、代表的なエンドエフェクタに対する周波数応答データに基づき予め設計された学習制御部11により、制御対象部位101の振動を除去することができる。
一方、ステップS102において、比較部22により今回学習時のパワースペクトルに直前回学習時のパワースペクトルよりも大きい周波数成分が存在しないと判定された場合は、制御対象部位101の共振周波数が学習制御部11の制御帯域よりも大きいので、代表的なエンドエフェクタに対する周波数応答データに基づき予め設計された学習制御部11の今回学習時の学習補正量をそのまま次回学習時の動作指令の補正に利用しても、制御対象部位101の振動を除去することができるので、学習補正量は更新せずに、学習補正量更新処理を終了する。
続いて、学習補正量更新部23の形態について列記する。
図12は、第1の形態による学習補正量更新部を有する学習制御部を示すブロック図である。第1の形態による学習補正量更新部23は、位相進み量算出部31と、学習補正量の特定の周波数成分に対して位相を進めるフィルタ32とを有する。
比較部22による比較の結果、今回学習時のパワースペクトルが直前回学習時のパワースペクトルよりも大きい周波数成分が存在する場合、位相進み量算出部31は、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分に対応する今回学習時の動作指令の補正に用いられた学習補正量の周波数成分に対して、所定の刻み量にて順次増加する位相進み量にて位相を進めていき、当該周波数成分のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなったときにおける位相進み量を算出する。位相進み量算出部31により算出された位相進み量に関する情報は、フィルタ32に送られる。
フィルタ32は、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分に対応する今回学習時の動作指令の補正に用いられた学習補正量の周波数成分に対して、位相進み量算出部31により算出された位相進み量にて、位相を進める。位相進み量算出部31により算出された位相進み量にてフィルタ32により当該周波数成分の位相が進められた学習補正量が、新たな学習補正量として設定され、第3のメモリ26に記憶される。
上述の第1の形態による学習補正量更新部23による学習制御を数式にて表すと下記式1のように模式化できる。式1において、uiを学習i回目(iは整数)の学習補正量、eiを学習i回目の制御対象部位101の振動とし、位相進み量にて位相を進めるフィルタが適用されることを関数Fp、学習制御部11の制御帯域を規定するローパスフィルタが適用されることを関数Q、学習制御が適用されることを関数Lでそれぞれ表す。
Figure 0006875329
図13は、第1の形態による学習補正量更新部におけるフィルタの周波数特性を例示するボード線図である。例えばある今回学習(i回目)において、直前回学習(i−1回目)と比べて8Hz以上の周波数成分について振動のパワースペクトルが増大したとする。その時の学習補正量uiを例えば図13に示すような周波数特性を持つフィルタ32を使用して特定の周波数成分の学習補正量の位相を進める。特定の周波数成分の学習補正量に対して位相進み量を何パターンか変えながら(例えば20degから5deg刻みで増加させながら)位相を進めてロボット制御部12によりロボット機構部103を動作させる。8Hz以上の周波数成分についての振動のパワースペクトルが直前回(i−1回目)よりも減少するまで所定の刻み量にて位相進みを増加させていく。8Hz以上の周波数成分を含む全ての周波数成分についての振動のパワースペクトルが直前回(i−1回目)よりも減少したときにおける位相進み量を、式1におけるフィルタ32のFpに適用し、学習i回目の学習補正量uiをFpiで置き換えて、学習制御を再開する。
図14は、第2の形態による学習補正量更新部を有する学習制御部を示すブロック図である。第2の形態による学習補正量更新部23は、位相進み量算出部31と、フーリエ変換部33と、位相調整部34と、逆フーリエ変換部35とを有する。
比較部22による比較の結果、今回学習時のパワースペクトルが直前回学習時のパワースペクトルよりも大きい周波数成分が存在する場合、位相進み量算出部31は、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分に対応する今回学習時の動作指令の補正に用いられた学習補正量の周波数成分に対して、所定の刻み量にて順次増加する位相進み量にて位相を進めていき、当該周波数成分のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなったときにおける位相進み量を算出する。位相進み量算出部31により算出された位相進み量に関する情報は、位相調整部34に送られる。
フーリエ変換部33は、第3のメモリ26から読み出された今回学習時の動作指令の補正に用いられた学習補正量を、フーリエ変換する。フーリエ変換後の今回学習時の動作指令の補正に用いられた学習補正量は、位相調整部34に送られる。
位相調整部34は、フーリエ変換部33によるフーリエ変換後の今回学習時の動作指令の補正に用いられた学習補正量の、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分のみについて、位相進み量算出部31により算出された位相進み量だけ位相を進める。上述のように位相進み量算出部31により算出された位相進み量は、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の学習補正量の周波数成分が、直前回学習時のパワースペクトルよりも小さくなるようにするためのものである。学習補正量の周波数成分のうち特定の周波数成分について位相進み量算出部31により算出された位相進み量だけ位相を進めることにより、全ての周波数成分のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなる。位相調整部34による位相調整後の学習補正量は、逆フーリエ変換部35へ送られる。
逆フーリエ変換部35は、位相調整部34により全ての周波数成分のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなるように位相が進められた学習補正量を、逆フーリエ変換する。逆フーリエ変換部35による逆フーリエ変換後の学習補正量が、新たな学習補正量として設定されて第3のメモリ26に記憶される。
上述の第2の形態による学習補正量更新部23による学習補正量更新処理は、下記式2のように表される。式2において、W(ω)は、周波数領域上において特定の周波数成分の位相を進めるための重み付け関数を表す。位相進み量算出部31により算出された位相進み量をθとしたとき、位相を進めるべき周波数成分にはeがかけられ、位相を進める必要のない周波数成分には1がかけられる。
Figure 0006875329
式2において、時間領域上の今回学習時の動作指令の補正に用いられた学習補正量f(t)は、フーリエ変換部33によりフーリエ変換される。フーリエ変換後の今回学習時の動作指令の補正に用いられた学習補正量(すなわち周波数領域上の今回学習時の動作指令の補正に用いられた学習補正量)をF(ω)で表す。位相調整部34により、フーリエ変換後の今回学習時の動作指令の補正に用いられた学習補正量F(ω)の各周波数成分のうち、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分についてはeがかけられ、位相を進める必要のない周波数成分には1がかけられる。位相調整された学習補正量F(ω)W(ω)は、逆フーリエ変換部35により逆フーリエ変換される。逆フーリエ変換部35による逆フーリエ変換後の学習補正量(すなわち時間領域上の位相調整済の学習補正量)をf’(t)で表す。逆フーリエ変換部35による逆フーリエ変換後の学習補正量f’(t)は、全ての周波数成分のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなる。よって、ロボット制御部12において新たな学習補正量にて動作指令を補正してロボット機構部103の動作を制御すると、学習回毎に振動が単調に減少することになる。
図15は、第3の形態による学習補正量更新部を有する学習制御部を示すブロック図である。
1の形態及び第2の形態では、学習補正量の各周波数成分のうち特定の周波数成分(すなわち直前回学習時のパワースペクトルよりも大きいパワースペクトルを有している今回学習時の周波数成分に対応する学習補正量の周波数成分)についてのみ位相を進めることで、今回学習時のパワースペクトルの全ての周波数成分について直前回学習時のパワースペクトルよりも小さくなるようにした。これに対し、第3の形態では、学習補正量の各周波数成分のうち特定の周波数成分ではなく、学習補正量全体(すなわち全ての周波数成分)を時間的に進めることで、今回学習時のパワースペクトルの全ての周波数成分について直前回学習時のパワースペクトルよりも小さくなるようにする。したがって、第3の形態では、直前回学習時のパワースペクトルよりも小さいパワースペクトルを有する今回学習時の周波数成分に対応する今回学習時の動作指令の補正に用いられた学習補正量の周波数成分についても位相に進められることになるが、直前回学習時のパワースペクトルよりも小さいパワースペクトルを有する今回学習時の周波数成分は、当該周波数成分の学習補正量の位相を進めてもパワースペクトルがさらに小さくなるだけであるので、特に問題は生じない。
第3の形態による学習補正量更新部23は、タイミング早め量算出部36を有する。タイミング早め量算出部36は、今回学習時の学習補正量を用いて動作指令を補正するタイミングを所定の刻み量にて早めていき、今回学習時のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなったときにおけるタイミング早め量を算出する。タイミング早め量算出部36により算出されたタイミング早め量に関する情報は、第3のメモリ26に記憶される。ロボット制御部12は、第3のメモリ26に記憶されたタイミング早め量を読み出し、今回学習時の学習補正量を用いて動作指令を補正したタイミングよりタイミング早め量だけ早めたタイミングにて、次回学習時に新たな学習補正量を用いて動作指令を補正し、ロボット機構部103の動作を制御する。このように、次回学習時に新たな学習補正量を用いて動作指令を補正するタイミングを、第3の形態による学習補正量更新部23内のタイミング早め量算出部36により算出されたタイミング早め量だけ、今回学習時の学習補正量を用いて動作指令を補正したタイミングよりも早める。
続いて、学習補正量の位相及びゲインの両方を調整する実施形態について説明する。
制御対象部位101(エンドエフェクタ)の共振周波数が学習制御部11の制御帯域内に含まれる場合において、この共振周波数近傍の学習制御部11のフィルタのゲインが大きいと、学習補正量の位相の進める調整のみでは、今回学習時のパワースペクトルを直前回学習時のパワースペクトルよりも小さくしきれず、振動を低減することができないことがある。この場合は、学習補正量に適用されるフィルタのゲインを小さくする調整を行う。
図16は、学習補正量の位相及びゲインの両方を調整する実施形態による学習補正量更新部を有する学習制御部を示すブロック図である。
図16に示すように、学習補正量更新部23は、位相進み量算出部31と、学習補正量の特定の周波数成分に対して位相及びゲインを調整するフィルタ32と、位相進み量判定部37と、ゲイン算出部38とを有する。
比較部22による比較の結果、今回学習時のパワースペクトルが直前回学習時のパワースペクトルよりも大きい周波数成分が存在する場合、位相進み量算出部31は、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分に対応する今回学習時の動作指令の補正に用いられた学習補正量の周波数成分に対して、所定の刻み量にて順次増加する位相進み量にて位相を進める。
位相進み量判定部37は、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分に対応する今回学習時の動作指令の補正に用いられた学習補正量の周波数成分に対して、位相進み量算出部31により所定の刻み量にて順次増加する位相進み量にて位相を進めていったときにおいて、当該周波数成分のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなる前に位相進み量が所定の上限値に達したか否かを判定する。位相進み量が所定の上限値に達したと位相進み量判定部37が判定する前に、当該周波数成分のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなったときにおける位相進み量を算出できた場合は、位相進み量算出部31により算出された位相進み量に関する情報は、フィルタ32に送られる。一方、位相進み量が所定の上限値に達したと位相進み量判定部37が判定した場合は、その判定結果をゲイン算出部38に通知する。位相進み量算出部31の判定処理に用いられる上限値の設定例については後述する。
位相進み量判定部37により位相進み量が所定の上限値に達したとの判定結果を受けて、ゲイン算出部38は、位相進み量算出部31により算出していた位相進み量をゼロに戻したうえで、今回学習時の動作指令の補正に用いられた学習補正量に対して適用されるフィルタ32のゲインを所定の刻み量にて減少させていき、当該周波数成分のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなったときにおけるフィルタ32のゲインを算出する。ゲイン算出部38により算出されたゲインに関する情報は、フィルタ32に送られる。
位相進み量が所定の上限値に達したと位相進み量判定部37が判定する前に、当該周波数成分のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなったときにおける位相進み量を算出できた場合は、フィルタ32は、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分に対応する今回学習時の動作指令の補正に用いられた学習補正量の周波数成分に対して、位相進み量算出部31により算出された位相進み量にて、位相を進める。この場合、位相進み量算出部31により算出された位相進み量にてフィルタ32により当該周波数成分の位相が進められた学習補正量が、新たな学習補正量として設定され、第3のメモリ26に記憶される。
一方、位相進み量が所定の上限値に達したと位相進み量判定部37が判定した場合は、フィルタ32は、ゲイン算出部38により算出されたゲインを有するフィルタ32が適用された学習補正量(すなわち当該周波数成分のピークが小さくされた学習補正量)が、新たな学習補正量として設定され、第3のメモリ26に記憶される。
上述の学習補正量の位相及びゲインの両方を調整する実施形態による学習補正量更新部23による学習制御を数式にて表すと下記式3のように模式化できる。式3において、uiを学習i回目(iは整数)の学習補正量、eiを学習i回目の制御対象部位101の振動とし、位相進み量にて位相を進めるフィルタが適用されることを関数Fp、位相進み量にてゲインを減少させるフィルタが適用されることを関数Fg、学習制御部11の制御帯域を規定するローパスフィルタが適用されることを関数Q、学習制御が適用されることを関数Lでそれぞれ表す。
Figure 0006875329
図17は、学習補正量のゲインを調整するフィルタの周波数特性を例示するボード線図である。ある特定の周波数成分について振動のパワースペクトルのピークが大きい場合は、その時の学習補正量uiを例えば図17に示すような周波数特性を持つフィルタ32を使用して特定の周波数成分の学習補正量の位相を進める。図17の例では、一例として9Hzの周波数成分のピークを減少させるためのフィルタ32の周波数特性を示している。特定の周波数成分の学習補正量に対して適用されるフィルタ32のゲインを何パターンか変えながら位相を進めてロボット制御部12によりロボット機構部103を動作させる。全ての周波数成分についての振動のパワースペクトルが直前回(i−1回目)よりも減少するまで所定の刻み量にてフィルタ32のゲインを減少させていく。全ての周波数成分についての振動のパワースペクトルが直前回(i−1回目)よりも減少したときにおけるゲインを、式3におけるフィルタFpgに適用し、学習i回目の学習補正量uiをFpgiで置き換えて、学習制御を再開する。
位相進み量算出部31の判定処理に用いられる上限値は、例えば次のような値に設定すればよい。すなわち、学習i回目の振動iと学習i−1回目の振動ei-1との差分に学習制御を適用した「L(ei−ei-1)」をフーリエ変換して得られる第1の値と、学習i回目の学習補正量uiと学習i−1回目の学習補正量ui-1との差分「ui−ui-1」をフーリエ変換して得られる第2の値と、の位相差を、位相進み量算出部31の判定処理に用いられる上限値に設定する。学習制御部11は、ロボット機構部103の実際の制御対象部位101に対する周波数応答データではなく、代表的な制御対象部位に対する周波数応答データに基づき設計されたものである。ロボット機構部103の実際の制御対象部位101の共振周波数が学習制御部11の制御帯域内に含まれる場合(今回学習時のパワースペクトルに直前回学習時のパワースペクトルよりも大きい周波数成分が存在する場合)において、学習補正量の特性の周波数成分の位相を進めてもなお制御対象部位101の振動が除去できない(すなわち振動が発散する)ことがある。これは、位相をいくら進めてもなお第1の値(周波数領域上の学習制御適用後の振動差分)が第2の値(周波数領域上の学習補正量の差分)を上回るからである。このような場合は、学習補正量の位相の進みによる調整ではなく、学習補正量に適用されるフィルタのゲインを減少させる調整に切り替える必要があり、調整方法の切替の目安として、学習i回目の振動iと学習i−1回目の振動ei-1との差分に学習制御を適用した「L(ei−ei-1)」をフーリエ変換して得られる第1の値と、学習i回目の学習補正量uiと学習i−1回目の学習補正量ui-1との差分「ui−ui-1」をフーリエ変換して得られる第2の値と、の位相差を、上限値に設定する。
図18は、学習補正量の位相及びゲインの両方を調整する実施形態による学習補正量更新処理を説明するフローチャートである。
ロボット制御部12が、学習制御部11により算出された学習補正量を用いて動作指令を補正してロボット機構部103の動作を制御する場合を考える。ステップS101において、パワースペクトル算出部21は、センサ102によって検出された振動データをフーリエ変換してパワースペクトルを算出する。パワースペクトル算出部21により算出されたパワースペクトルは、比較部22に送られるとともに、第2のメモリ25に記憶される。
ステップS102において、比較部22は、パワースペクトル算出部21により算出された今回学習時のパワースペクトルと直前回学習時のパワースペクトルとを周波数成分ごとに比較する。ステップS102において、比較部22により今回学習時のパワースペクトルに直前回学習時のパワースペクトルよりも大きい周波数成分が存在すると判定された場合は、ステップS103へ進む。一方、ステップS102において、比較部22により今回学習時のパワースペクトルに直前回学習時のパワースペクトルよりも大きい周波数成分が存在しないと判定された場合は、学習補正量は更新せずに学習補正量更新処理を終了する。学習補正量更新処理の終了後、次回学習時に再度、学習補正量更新処理を実行してもよい。
ステップS103において、学習補正量更新部23は、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分に対応する今回学習時の動作指令の補正に用いられた学習補正量の周波数成分に対して、所定の刻み量だけ位相を進める。
ステップS104において、比較部22は、パワースペクトル算出部21により算出された今回学習時のパワースペクトルと直前回学習時のパワースペクトルとを周波数成分ごとに比較する。ステップS104において、比較部22により今回学習時のパワースペクトルに直前回学習時のパワースペクトルよりも大きい周波数成分が存在すると判定された場合は、ステップS106へ進む。一方、ステップS104において、比較部22により今回学習時のパワースペクトルの全ての周波数成分について直前回学習時のパワースペクトルよりも小さくなったと判定された場合は、ステップS105へ進む。
ステップS105において、学習補正量更新部23は、位相調整後または位相及びゲイン調整後の学習補正量を、次回学習時の動作指令の補正に利用される新たな学習補正量として設定し、その後、学習補正量更新処理を終了する。学習補正量更新処理の終了後、次回学習時に再度、学習補正量更新処理を実行してもよい。
ステップS106において、位相進み量判定部37は、直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分に対応する今回学習時の動作指令の補正に用いられた学習補正量の周波数成分に対して、当該周波数成分のパワースペクトルが直前回学習時のパワースペクトルよりも小さくなる前に位相進み量が所定の上限値に達したか否かを判定する。ステップS106において、位相進み量判定部37により位相進み量が所定の上限値に達したと判定された場合はステップS107へ進む。一方、ステップS106において、位相進み量判定部37により位相進み量が所定の上限値に達していないと判定された場合はステップS103へ戻る。ステップS106における判定処理は、ステップS103で位相進み量算出部31により所定の刻み量にて順次増加する位相進み量にて位相を進めていったときにおいて、ステップS104において比較部22により今回学習時のパワースペクトルに直前回学習時のパワースペクトルよりも大きい周波数成分が存在すると判定される限り、繰り返し実行される。
ステップS107において、ゲイン算出部38は、位相進み量算出部31により算出していた位相進み量をゼロに戻す。
ステップS108において、ゲイン算出部38は、今回学習時の動作指令の補正に用いられた学習補正量に対して適用されるフィルタ32のゲインを所定の刻み量にて減少させる。
ステップS109において、比較部22は、パワースペクトル算出部21により算出された今回学習時のパワースペクトルと直前回学習時のパワースペクトルとを周波数成分ごとに比較する。
ステップS109において、比較部22により今回学習時のパワースペクトルに直前回学習時のパワースペクトルよりも大きい周波数成分が存在すると判定された場合は、ステップS108へ戻る。
一方、ステップS109において、比較部22により今回学習時のパワースペクトルの全ての周波数成分について直前回学習時のパワースペクトルよりも小さくなったと判定された場合は、その時点でゲイン算出部38において算出されたゲインを保持し、ステップS103へ戻る。ステップS103では、新たに保持されたゲインでフィルタ32を動作させ、ステップS103の処理(学習補正量の位相を進める処理)を再度実行する。
ステップS101〜S106の処理を経てステップS105において設定される次回学習時の動作指令の補正に利用される新たな学習補正量は、全ての当該周波数成分のパワースペクトルが直前回学習時のパワースペクトル以下になるように今回学習時の学習補正量の位相を進める調整を行うことで得られる学習補正量である。このように位相調整された新たな学習補正量を次回学習時の動作指令の補正に利用すれば、制御対象部位101の共振周波数付近の位相遅れを補償することができるので、代表的なエンドエフェクタに対する周波数応答データに基づき予め設計された学習制御部11により、制御対象部位101の振動を除去することができる。
また、ステップS101〜S109の処理を経てステップS105において設定される次回学習時の動作指令の補正に利用される新たな学習補正量は、全ての当該周波数成分のパワースペクトルが直前回学習時のパワースペクトル以下になるように今回学習時の学習補正量の位相を進めるとともにゲインを小さくする調整が行われることで得られる学習補正量である。このように位相調整及びゲイン調整された新たな学習補正量を次回学習時の動作指令の補正に利用すれば、制御対象部位101の共振周波数付近の位相遅れ及びゲイン増大の影響を補償することができるので、代表的なエンドエフェクタに対する周波数応答データに基づき予め設計された学習制御部11により、制御対象部位101の振動を除去することができる。
一方、ステップS102において、比較部22により今回学習時のパワースペクトルに直前回学習時のパワースペクトルよりも大きい周波数成分が存在しないと判定された場合は、制御対象部位101の共振周波数が学習制御部11の制御帯域よりも大きいので、代表的なエンドエフェクタに対する周波数応答データに基づき予め設計された学習制御部11の今回学習時の学習補正量をそのまま次回学習時の動作指令の補正に利用しても、制御対象部位101の振動を除去することができるので、学習補正量は更新せずに、学習補正量更新処理を終了する。
このように、本開示の実施形態によれば、制御対象部位(エンドエフェクタ)の剛性が低くその共振周波数が学習制御部の制御帯域内に含まれてしまう場合であっても、代表的な制御対象部位に対する周波数応答データに基づき予め設計された学習制御部を用いて制御対象部位の振動を精度良く除去することができる。したがって、制御対象部位の剛性が低い場合でも現場で実際の制御対象部位で周波数応答データを取得して学習制御部を設計し直す必要はなく、代表的な制御対象部位に対する周波数応答データを流用できるので、制御対象部位の振動の除去を容易に実現することができ、低コストである。
上述したパワースペクトル算出部21、比較部22、学習補正量更新部23及びロボット制御部12は、例えばソフトウェアプログラム形式で構築されてもよく、あるいは各種電子回路とソフトウェアプログラムとの組み合わせで構築されてもよい。この場合、例えばASICやDSPなどの演算処理装置にこのソフトウェアプログラムを動作させて各部の機能を実現することができる。あるいは、パワースペクトル算出部21、比較部22、学習補正量更新部23及びロボット制御部12の機能を実現するソフトウェアプログラムを書き込んだ半導体集積回路として実現してもよい。
1 ロボットシステム
11 学習制御部
12 ロボット制御部
21 パワースペクトル算出部
22 比較部
23 学習補正量更新部
24 第1のメモリ
25 第2のメモリ
26 第3のメモリ
31 位相進み量算出部
32 フィルタ
33 フーリエ変換部
34 位相調整部
35 逆フーリエ変換部
36 タイミング早め量算出部
37 位相進み量判定部
38 ゲイン算出部
101 制御対象部位
102 センサ
103 ロボット機構部
104 ロボット制御装置
105 コンピュータ

Claims (8)

  1. 制御対象部位の振動データを取得するセンサを有するロボット機構部と、作業プログラムに従って前記ロボット機構部の動作を制御するロボット制御装置と、を備える、ロボットシステムであって、
    前記作業プログラムに従った前記ロボット機構部の動作中に前記センサによって検出される前記制御対象部位の位置を目標位置に近づけるための学習補正量を算出する学習を行う学習制御部と、
    前記学習制御部により算出された学習補正量を用いて前記制御対象部位の目標位置に関する動作指令を補正し、前記作業プログラムに従って前記ロボット機構部の動作を制御するロボット制御部と、
    を備え、
    前記学習制御部は、
    前記学習制御部による学習回ごとに、前記センサによって検出された振動データをフーリエ変換してパワースペクトルを算出するパワースペクトル算出部と、
    前記パワースペクトル算出部により算出された今回学習時のパワースペクトルと直前回学習時のパワースペクトルとを周波数成分ごとに比較する比較部と、
    前記比較部による比較の結果、前記今回学習時のパワースペクトルに前記直前回学習時のパワースペクトルよりも大きい周波数成分が存在する場合、前記今回学習時のパワースペクトルが前記直前回学習時のパワースペクトルよりも小さくなるように今回学習時の動作指令の補正に用いられた学習補正量の位相及びゲインのうちの少なくとも1つを調整し、次回学習時の動作指令の補正に用いられる新たな学習補正量として設定する学習補正量更新部と、
    を有する、ロボットシステム。
  2. 前記学習補正量更新部は、
    前記直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する前記今回学習時の周波数成分に対応する今回学習時に用いられた学習補正量の周波数成分に対して、所定の刻み量にて順次増加する位相進み量にて位相を進めていき、当該周波数成分のパワースペクトルが前記直前回学習時のパワースペクトルよりも小さくなったときにおける位相進み量を算出する位相進み量算出部を有し、
    前記位相進み量算出部により算出された位相進み量にて当該周波数成分の位相が進められた学習補正量を、前記新たな学習補正量として設定する、請求項1に記載のロボットシステム。
  3. 前記学習補正量更新部は、
    前記学習補正量の特定の周波数成分に対して位相を進めるフィルタを有し、
    前記位相進み量算出部により算出された位相進み量にて前記フィルタにより当該周波数成分の位相が進められた学習補正量を、前記新たな学習補正量として設定する、請求項2に記載のロボットシステム。
  4. 前記学習補正量更新部は、
    前記今回学習時に用いられた学習補正量をフーリエ変換するフーリエ変換部と、
    前記フーリエ変換部によるフーリエ変換後の今回学習時に用いられた学習補正量の、前記直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する今回学習時の周波数成分のみについて、前記位相進み量算出部により算出された位相進み量だけ位相を進める位相調整部と、
    前記位相調整部により当該周波数成分の位相が進められた学習補正量を逆フーリエ変換する逆フーリエ変換部と、
    を有し、
    前記逆フーリエ変換部による逆フーリエ変換後の学習補正量を、前記新たな学習補正量として設定する、請求項2に記載のロボットシステム。
  5. 前記学習補正量更新部は、今回学習時に用いられた学習補正量を用いて前記動作指令を補正するタイミングを所定の刻み量にて早めていき、前記今回学習時のパワースペクトルが前記直前回学習時のパワースペクトルよりも小さくなったときにおけるタイミング早め量を算出するタイミング早め量算出部を有し、
    前記ロボット制御部は、前記今回学習時に用いられた前記学習補正量を用いて前記動作指令を補正したタイミングより前記タイミング早め量算出部により算出されたタイミング早め量だけ早めたタイミングにて、次回学習時に前記新たな学習補正量を用いて前記動作指令を補正し、前記ロボット機構部の動作を制御する、請求項1に記載のロボットシステム。
  6. 前記学習補正量更新部は、
    前記直前回学習時のパワースペクトルよりも大きいパワースペクトルを有する前記今回学習時の周波数成分に対応する今回学習時に用いられた学習補正量の周波数成分に対して、前記位相進み量算出部により所定の刻み量にて順次増加する位相進み量にて位相を進めていったときにおいて、当該周波数成分のパワースペクトルが前記直前回学習時のパワースペクトルよりも小さくなる前に前記位相進み量が所定の上限値に達したか否かを判定する位相進み量判定部と、
    前記位相進み量判定部により前記位相進み量が所定の上限値に達したと判定された場合、前記位相進み量をゼロに戻したうえで、今回学習時に用いられた学習補正量に対して適用されるフィルタのゲインを所定の刻み量にて減少させていき、当該周波数成分のパワースペクトルが前記直前回学習時のパワースペクトルよりも小さくなったときにおけるフィルタのゲインを算出するゲイン算出部と、
    を有し、
    前記ゲイン算出部により算出されたゲインを有するフィルタを前記今回学習時に用いられた学習補正量に適用し、これを前記新たな学習補正量として設定する、請求項2〜4のいずれか一項に記載のロボットシステム。
  7. 前記センサは、加速度センサ、ジャイロセンサ、慣性センサ、力センサ、レーザトラッカ、カメラ、またはモーションキャプチャを含む、請求項1〜6のいずれか一項に記載のロボットシステム。
  8. 前記学習制御部は、前記ロボット制御装置に設けられるか、または、有線もしくは無線を介して前記ロボット制御装置に接続するコンピュータに設けられる、請求項1〜7のいずれか一項に記載のロボットシステム。
JP2018120684A 2018-06-26 2018-06-26 学習制御を行うロボットシステム Active JP6875329B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018120684A JP6875329B2 (ja) 2018-06-26 2018-06-26 学習制御を行うロボットシステム
US16/445,212 US11230003B2 (en) 2018-06-26 2019-06-19 Robot system configured to perform learning control
DE102019004367.7A DE102019004367B4 (de) 2018-06-26 2019-06-19 Zum durchführen einer lernsteuerung eingerichtetes robotersystem
CN201910555180.2A CN110640766B (zh) 2018-06-26 2019-06-25 进行学习控制的机器人***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018120684A JP6875329B2 (ja) 2018-06-26 2018-06-26 学習制御を行うロボットシステム

Publications (2)

Publication Number Publication Date
JP2020001107A JP2020001107A (ja) 2020-01-09
JP6875329B2 true JP6875329B2 (ja) 2021-05-19

Family

ID=68989762

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018120684A Active JP6875329B2 (ja) 2018-06-26 2018-06-26 学習制御を行うロボットシステム

Country Status (4)

Country Link
US (1) US11230003B2 (ja)
JP (1) JP6875329B2 (ja)
CN (1) CN110640766B (ja)
DE (1) DE102019004367B4 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7415018B2 (ja) * 2020-08-21 2024-01-16 ファナック株式会社 制御装置、ロボット制御装置及び制御方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH065192B2 (ja) 1988-11-25 1994-01-19 アイエムブイ株式会社 振動制御装置
JP3091625B2 (ja) 1994-03-28 2000-09-25 オークマ株式会社 学習型数値制御装置
JP4850956B2 (ja) 2010-02-19 2012-01-11 ファナック株式会社 学習制御機能を備えたロボット
JP2011224662A (ja) * 2010-04-15 2011-11-10 Yaskawa Electric Corp ロボット制御装置の補正パラメータ同定装置
US9075400B2 (en) * 2010-12-20 2015-07-07 Mitsubishi Electric Corporation Motor control device
JP5929150B2 (ja) * 2011-12-09 2016-06-01 セイコーエプソン株式会社 ロボット装置
JP2014030857A (ja) * 2012-08-01 2014-02-20 Seiko Epson Corp ロボット及び搬送装置
WO2015063842A1 (ja) * 2013-10-28 2015-05-07 株式会社安川電機 モータ制御装置
JP6347595B2 (ja) * 2013-11-25 2018-06-27 キヤノン株式会社 ロボット制御方法、及びロボット制御装置
DE102017000063B4 (de) 2016-01-14 2019-10-31 Fanuc Corporation Robotereinrichtung mit Lernfunktion
JP6386516B2 (ja) * 2016-01-14 2018-09-05 ファナック株式会社 学習機能を備えたロボット装置
JP6426770B2 (ja) * 2017-02-06 2018-11-21 ファナック株式会社 サーボ制御装置

Also Published As

Publication number Publication date
CN110640766B (zh) 2024-05-14
US20200171654A1 (en) 2020-06-04
DE102019004367A1 (de) 2020-02-20
US11230003B2 (en) 2022-01-25
CN110640766A (zh) 2020-01-03
DE102019004367B4 (de) 2023-03-30
JP2020001107A (ja) 2020-01-09

Similar Documents

Publication Publication Date Title
JP4850956B2 (ja) 学習制御機能を備えたロボット
JP6400750B2 (ja) 学習制御機能を備えた制御システム及び制御方法
US10618164B2 (en) Robot system having learning control function and learning control method
JP6347595B2 (ja) ロボット制御方法、及びロボット制御装置
US11000949B2 (en) Robot for controlling learning in view of operation in production line, and method of controlling the same
JP6120497B2 (ja) 穿刺制御装置及び方法
JP6006256B2 (ja) 教示作業を簡易化し、動作性能を向上させる機能を備えたロボット制御装置
US20150112487A1 (en) Robot control system, robot system, and sensor information processing apparatus
JP6585666B2 (ja) 速度一定が要求されるアプリケーションにおいて学習制御を行うロボット及びその制御方法
JP6386516B2 (ja) 学習機能を備えたロボット装置
CN110662636B (zh) 减速机角度传递误差辨识***和减速机角度传递误差辨识方法
JP6564433B2 (ja) ロボットシステム
JP2019181610A (ja) モータエンコーダ及びセンサを用いて学習制御を行うロボットシステム
JP2013041478A (ja) 学習制御機能を備えたロボット
WO2020144776A1 (ja) 制御装置および制御方法
JP6875329B2 (ja) 学習制御を行うロボットシステム
JP4189445B2 (ja) ロボットの制御方法および制御装置
JP2003340755A (ja) サーボモータ制御用コントローラにおけるゲイン設定法、コントローラの有効性検証法およびロボット制御法
JP7227018B2 (ja) 学習制御装置、ロボット制御装置およびロボット
JP7031624B2 (ja) 制御装置および制御プログラム
JP7024235B2 (ja) 制御装置、制御装置の制御方法、情報処理プログラム、および記録媒体
JP6814441B2 (ja) 駆動機械の学習制御装置及び学習制御方法
JP2021003781A (ja) オーバーシュート量検出方法、オーバーシュート量検出システム、ロボットシステムおよびオーバーシュート量調整方法
JP7517867B2 (ja) 動作速度変更時の補正量修正機能を備えた機械システム
JP4200357B2 (ja) 電動機制御装置の運転立上げ方法および電動機制御装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190620

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191112

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200218

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200305

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200811

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210125

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210323

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210422

R150 Certificate of patent or registration of utility model

Ref document number: 6875329

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150