JP6906711B1 - 摩擦補償装置、衝突検知装置、トルクフィードフォワード演算装置およびロボット制御装置並びに摩擦補償方法 - Google Patents

摩擦補償装置、衝突検知装置、トルクフィードフォワード演算装置およびロボット制御装置並びに摩擦補償方法 Download PDF

Info

Publication number
JP6906711B1
JP6906711B1 JP2020549820A JP2020549820A JP6906711B1 JP 6906711 B1 JP6906711 B1 JP 6906711B1 JP 2020549820 A JP2020549820 A JP 2020549820A JP 2020549820 A JP2020549820 A JP 2020549820A JP 6906711 B1 JP6906711 B1 JP 6906711B1
Authority
JP
Japan
Prior art keywords
friction
calculation unit
torque
motor
force
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
JP2020549820A
Other languages
English (en)
Other versions
JPWO2021192181A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6906711B1 publication Critical patent/JP6906711B1/ja
Publication of JPWO2021192181A1 publication Critical patent/JPWO2021192181A1/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
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1641Programme controls characterised by the control loop compensation for backlash, friction, compliance, elasticity in the joints
    • 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/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position 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/1674Programme controls characterised by safety, monitoring, diagnostic
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/14Estimation or adaptation of motor parameters, e.g. rotor time constant, flux, speed, current or voltage
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P29/00Arrangements for regulating or controlling electric motors, appropriate for both AC and DC motors
    • H02P29/02Providing protection against overload without automatic interruption of supply
    • H02P29/024Detecting a fault condition, e.g. short circuit, locked rotor, open circuit or loss of load

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Power Engineering (AREA)
  • Manipulator (AREA)
  • Control Of Electric Motors In General (AREA)
  • Control Of Position Or Direction (AREA)

Abstract

本開示の摩擦補償装置(10)は、モータの位置、速度および加速度から、モータと軸を介して接続され、モータの駆動力を伝達する伝達機構の出力トルクを演算する駆動トルク演算部(13)と、軸の摩擦力の推定値である摩擦推定値を演算する摩擦推定値演算部(14)と、を備える。摩擦推定値演算部(14)は、駆動トルク演算部(13)の出力に応じて、軸の摩擦力を補正する摩擦補正値を演算する摩擦補正値演算部(24)を有する。

Description

本開示は、ロボットまたは産業機械の駆動軸の摩擦トルクを算出する摩擦補償装置、衝突検知装置、トルクフィードフォワード演算装置およびロボット制御装置並びに摩擦補償方法に関する。
ロボットおよび産業機械を含む制御対象を駆動する際、制御対象の動特性を高精度にコントローラで演算することによって、制御対象の高速化、高機能化が実現される。ロボットおよび産業機械は、一般的に駆動軸に伝達機構である減速機構を備えており、ロボットの障害物への衝突の検出などの制御を行うためには、駆動トルクを高精度に推定することが求められている。特に、駆動軸の摩擦トルクを高精度に推定する技術が要求される。
特許文献1には、関節を有するロボットを制御するコントローラで、その時点で実施している動作を行うために必要な関節を駆動するための駆動トルクの予測値を演算し、予測値と、実際のモータ電流から演算した関節の駆動トルクの実測値と、の差分を予め設定された判定値と比較して、ロボットの障害物への衝突を検出する技術が開示されている。特許文献1に記載の技術では、ロボットの関節に働く摩擦トルクは、モータの速度の符号に応じて決まるクーロン摩擦と、モータの速度に比例する粘性摩擦と、の和によって求まるという摩擦モデルを用いて、関節の駆動トルクの予測値を算出している。すなわち、各軸のモータの速度のみで決定する摩擦モデルを用いて、関節に働く駆動トルクを補償している。
特開2002−283276号公報
しかしながら、ロボットの関節の駆動トルクを詳細に分析した結果、速度および駆動部の温度が同一である条件下においても、摩擦トルクの変動があることが判明した。すなわち、特許文献1に記載の技術のように、各軸のモータの速度のみで決定される摩擦モデルでは、上記の摩擦トルクの変動が考慮されていないため、高精度に摩擦トルクを推定できないという問題があった。
本開示は、上記に鑑みてなされたものであって、従来に比して高精度に摩擦トルクを推定することができる摩擦補償装置を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本開示の摩擦補償装置は、モータの位置、速度および加速度から、モータと軸を介して接続され、モータの駆動力を伝達する伝達機構の出力トルクを軸の慣性力、遠心力およびコリオリ力並びに重力を用いて演算する駆動トルク演算部と、駆動トルク演算部によって伝達機構の出力トルクとして出力された軸の慣性力、遠心力およびコリオリ力並びに重力のそれぞれの絶対値に、伝達機構の慣性力、遠心力およびコリオリ力並びに重力に応じて変動する摩擦の補正係数である補正パラメータを乗じた値を用いて、軸の摩擦力を補正する摩擦補正値を演算する摩擦補正値演算部を有し、摩擦補正値を用いて軸の摩擦力の推定値である摩擦推定値を演算する摩擦推定値演算部と、を備える
本開示にかかる摩擦補償装置は、従来に比して高精度に摩擦トルクを推定することができるという効果を奏する。
実施の形態1による摩擦補償装置の構成の一例を模式的に示すブロック図 実施の形態1による摩擦補償装置における摩擦補正値演算部の構成の一例を模式的に示すブロック図 実施の形態2による摩擦補償装置における摩擦推定値演算部の構成の一例を模式的に示すブロック図 実施の形態3による摩擦補償装置の構成の一例を模式的に示すブロック図 実施の形態5による摩擦補償装置の構成の一例を模式的に示すブロック図 実施の形態5による摩擦補償装置における摩擦補正値演算部の構成の一例を模式的に示すブロック図 実施の形態6による摩擦補償装置における摩擦補正値演算部の構成の一例を模式的に示すブロック図 実施の形態7による摩擦補償装置における摩擦補正パラメータ決定部の構成の一例を模式的に示すブロック図 実施の形態8による摩擦補償装置の構成の一例を模式的に示すブロック図 実施の形態8による摩擦補償装置における摩擦補正値演算部の構成の一例を模式的に示すブロック図 実施の形態8による摩擦補償装置における摩擦補正値演算部の構成の他の例を模式的に示すブロック図 実施の形態8によるロボットの摩擦補正値演算における摩擦補正関数決定部の構成の一例を模式的に示すブロック図 実施の形態9による摩擦補償装置を備えた衝突検知装置の構成の一例を模式的に示すブロック図 実施の形態10による摩擦補償装置を備えたトルクフィードフォワード演算装置の構成の一例を示すブロック図 実施の形態11による摩擦補償装置を備えたロボット制御装置の構成の一例を模式的に示すブロック図 実施の形態11によるロボット制御装置における加減速時間決定部の構成の一例を模式的に示すブロック図 実施の形態12による摩擦補償装置を備えたロボット制御装置の構成の一例を模式的に示すブロック図 摩擦補償装置の制御部の機能をハードウェアで実現した構成の一例を示す図 摩擦補償装置の制御部の機能をソフトウェアで実現した構成の一例を示す図 実施の形態13による摩擦補償方法の一例を示すフローチャート
以下に、本開示の実施の形態にかかる摩擦補償装置、衝突検知装置、トルクフィードフォワード演算装置およびロボット制御装置並びに摩擦補償方法を図面に基づいて詳細に説明する。
実施の形態1.
図1は、実施の形態1による摩擦補償装置の構成の一例を模式的に示すブロック図である。実施の形態1による摩擦補償装置10は、ロボットの制御を行うロボット制御装置の内部に設けられる。ロボットの一例は、6軸ロボットである。摩擦補償装置10は、ロボットの各軸のモータの位置であるモータ位置から、ロボットの各軸の摩擦を推定した摩擦推定値を算出し出力する。
摩擦補償装置10は、速度算出部11と、加速度算出部12と、駆動トルク演算部13と、摩擦推定値演算部14と、を備える。
速度算出部11は、入力される異なる時間のモータの位置を示すモータ位置の差分を用いて、モータの速度を検出する。以下では、モータの速度は、モータ速度と称される。速度算出部11は、モータ速度を加速度算出部12、駆動トルク演算部13および摩擦推定値演算部14に出力する。
加速度算出部12は、速度算出部11から入力される異なる時間のモータ速度の差分を用いて、モータの加速度を検出する。以下では、モータの加速度は、モータ加速度と称される。加速度算出部12は、モータ加速度を駆動トルク演算部13に出力する。
駆動トルク演算部13は、次式(1)で示されるロボットの運動方程式に基づいて、ロボットのモータの駆動力を伝達する軸の伝達機構の出力トルク、すなわち慣性力、遠心力およびコリオリ力並びに重力をそれぞれ算出する。なお、伝達機構は、軸を介してモータと接続され、モータの駆動力を出力側に伝達する機構である。駆動トルク演算部13は、算出した各軸の伝達機構の慣性力、遠心力およびコリオリ力並びに重力を摩擦推定値演算部14の内部の後述する摩擦補正値演算部24に出力する。ここで、ロボットの各軸の伝達機構の出力トルクから構成されるベクトルはτとされ、各軸のモータ位置を伝達機構の出力位置に換算した各軸の位置で構成されるベクトルはqとされる。また、モータ速度を伝達機構の出力速度に換算した各軸の速度で構成されるベクトルはvとされ、モータ加速度を伝達機構の出力加速度に換算した各軸の加速度で構成されるベクトルはaとされる。モータ位置を伝達機構出力位置に換算した位置がqにおける慣性力のベクトルはM(q)aとなり、モータ位置を伝達機構出力位置に換算した位置がqであり、速度がvである場合の遠心力およびコリオリ力のベクトルはh(q,v)となり、モータ位置を伝達機構出力位置に換算した位置がqにおける重力のベクトルはg(q)となる。
τ=M(q)a+h(q,v)+g(q) ・・・(1)
すなわち、駆動トルク演算部13は、入力されるモータ位置、モータ速度およびモータ加速度から伝達機構の出力側に換算した値で構成されるベクトルq,vおよびaを算出することによって、慣性力のベクトルM(q)a、遠心力およびコリオリ力のベクトルh(q,v)並びに重力のベクトルg(q)を求めることができる。また、駆動トルク演算部13は、これらを用いて、(1)式のように伝達機構の出力側の出力トルク、すなわち駆動トルクτを求めることができる。
摩擦推定値演算部14は、駆動トルク演算部13から入力される各軸の慣性力、遠心力およびコリオリ力並びに重力と、速度算出部11で算出されたモータ速度と、を用いて、ロボットの各軸に作用する摩擦力の推定値である摩擦推定値を算出する。これは、ロボットのモータの速度および駆動部の温度が同一である条件下での摩擦トルクの変動は、各軸の伝達機構の出力部の慣性力、遠心力およびコリオリ力並びに重力に応じて変動する摩擦成分の影響を受けていることを見出したことにより、摩擦推定値を算出するものである。摩擦推定値演算部14は、符号回路21と、クーロン摩擦演算部22と、粘性摩擦演算部23と、摩擦補正値演算部24と、加算器25と、を有する。
符号回路21は、速度算出部11から出力されたモータ速度に応じた符号を出力する。符号回路21の機能は、一例では、sgn関数によって表すことができる。sgn関数は、入力が負の数のときには−1を出力し、入力が0のときには0を出力し、入力が正の数のときには1を出力する関数である。
クーロン摩擦演算部22は、モータ速度を符号回路21に通した結果に、各軸のクーロン摩擦係数を乗じて当該軸のクーロン摩擦を算出する。クーロン摩擦は、モータ速度の符号に応じて決まる。
粘性摩擦演算部23は、モータ速度に粘性摩擦係数を乗じて当該軸の粘性摩擦を算出する。なお、粘性摩擦が温度により変動する場合には、温度によって粘性摩擦係数の値が設定されてもよい。また、粘性摩擦が速度の1乗に比例するモデルではなく、速度の指数乗に比例するモデルとしてもよい。クーロン摩擦演算部22および粘性摩擦演算部23は、出力側の駆動トルクに依存しない摩擦を演算する。
摩擦補正値演算部24は、駆動トルク演算部13から入力された出力トルクまたは出力トルクの要素に応じて、各軸の摩擦力を補正する摩擦補正値を算出する。出力トルクの要素の一例は慣性力である。実施の形態1では、摩擦補正値演算部24は、各軸の慣性力、遠心力およびコリオリ力並びに重力の絶対値と、モータ速度を符号回路21に通した結果と、に基づいて、摩擦補正値を算出する。
図2は、実施の形態1による摩擦補償装置における摩擦補正値演算部の構成の一例を模式的に示すブロック図である。摩擦補正値演算部24は、慣性力絶対値算出部101と、慣性力補正部102と、遠心コリオリ力絶対値算出部103と、遠心コリオリ力補正部104と、重力絶対値算出部105と、重力補正部106と、加算器107と、乗算器108と、を有する。
慣性力絶対値算出部101は、入力される慣性力のベクトルから各軸の慣性力の絶対値を算出する。慣性力補正部102は、算出された各軸の慣性力の絶対値に、補正パラメータである補正ゲインを乗じた補正慣性力を算出し、加算器107に出力する。
遠心コリオリ力絶対値算出部103は、入力される遠心力およびコリオリ力の和のベクトルから各軸の遠心力およびコリオリ力の和の絶対値を算出する。遠心コリオリ力補正部104は、算出された各軸の遠心力およびコリオリ力の絶対値に、補正パラメータである補正ゲインを乗じた補正遠心コリオリ力を算出し、加算器107に出力する。
重力絶対値算出部105は、入力される重力のベクトルから各軸の重力の絶対値を算出する。重力補正部106は、算出された各軸の重力の絶対値に、補正パラメータである補正ゲインを乗じた補正重力を算出し、加算器107に出力する。
加算器107は、各軸の補正慣性力、補正遠心コリオリ力および補正重力を加算し、その結果を乗算器108に出力する。
乗算器108は、図1の速度算出部11で出力されたモータ速度を符号回路21に通した値と、各軸について加算器107で加算した結果と、を乗じて、各軸の摩擦補正値を算出する。このように、実施の形態1では、モータ速度の符号と同じ符号を有し、各軸の補正慣性力、補正遠心コリオリ力および補正重力の和に正比例する値で摩擦力を補正するものが摩擦補正値となる。
図1に戻り、加算器25は、各軸について、クーロン摩擦演算部22から入力されるクーロン摩擦と、粘性摩擦演算部23から入力される粘性摩擦と、摩擦補正値演算部24から入力される摩擦補正値と、を加算し、加算した値を摩擦推定値として出力する。6軸ロボットでは、1軸から6軸のそれぞれについて摩擦推定値を算出して出力する。
出力された各軸の摩擦推定値は、ロボット制御装置内の他の機能処理部でロボットの制御処理の演算のために使用される。一例では、ロボットが障害物に衝突したかどうかを判定する衝突検知機能でのトルク推定値、トルクフィードフォワードの摩擦力成分、動作前に当該動作の加減速時間を算出する際の代表点での摩擦トルク、あるいは異常診断を行う際の摩擦トルク推定値として、摩擦推定値が使用される。
上記のような構成を有する摩擦補償装置10は、制御部10Aによって構成される。
実施の形態1では、摩擦補償装置10の摩擦推定値演算部14が、ロボットの伝達機構の出力部における慣性力、遠心力およびコリオリ力並びに重力の各軸の絶対値を含む成分を摩擦補正値として算出した。また、摩擦推定値演算部14は、モータ速度の符号に応じて決まるクーロン摩擦と、モータ速度に比例する粘性摩擦と、の和に、摩擦補正値を加算したものを、摩擦推定値として出力する。これによって、速度および駆動部の温度が同一である条件下で摩擦トルクの変動が生じた場合に、各軸の速度のみで決定される摩擦モデルに基づいて算出される摩擦トルクに比して、摩擦トルクの推定値である摩擦推定値を高精度に推定することができるという効果を有する。すなわち、伝達機構の出力部の慣性力、遠心力およびコリオリ力並びに重力に応じて変動する摩擦を高精度に推定することができる。
実施の形態2.
実施の形態2による摩擦補償装置10の構成は、図1と同様である。ただし、実施の形態2による摩擦補償装置10は、実施の形態1の摩擦補正値演算部24の構成が異なる。そこで、以下では、実施の形態1と同一の構成については説明を省略し、実施の形態1とは異なる部分について説明する。
図3は、実施の形態2による摩擦補償装置における摩擦推定値演算部の構成の一例を模式的に示すブロック図である。実施の形態2では、摩擦補正値演算部24に、ロボットの各軸の伝達機構の慣性力、遠心力およびコリオリ力並びに重力のそれぞれが入力されるのではなく、各軸の慣性力、遠心力およびコリオリ力並びに重力の和である伝達機構の駆動トルクτが入力される。摩擦補正値演算部24は、駆動トルク絶対値算出部111と、駆動トルク補正部112と、乗算器113と、を有する。
駆動トルク絶対値算出部111は、入力される各軸の慣性力、遠心力およびコリオリ力並びに重力の和である伝達機構の駆動トルクの絶対値を算出する。駆動トルク補正部112は、算出された各軸の駆動トルクの絶対値に、補正パラメータである補正ゲインを乗じた補正駆動トルクを算出し、乗算器113に出力する。
乗算器113は、図1の速度算出部11で出力されたモータ速度を符号回路21に通した値と、各軸について駆動トルク補正部112から出力される補正駆動トルクと、を乗じて、各軸の摩擦補正値を算出する。このように、実施の形態2では、モータ速度の符号と同じ符号を有し、各軸の慣性力、遠心力およびコリオリ力並びに重力の絶対値の和に正比例する値で摩擦力を補正するものが摩擦補正値となる。
実施の形態2では、摩擦補償装置10の摩擦補正値演算部24が、ロボットの伝達機構の出力部における慣性力、遠心力およびコリオリ力並びに重力の各軸の絶対値の和に、補正ゲインとモータ速度の符号と同じ符号とを乗じたものを摩擦補正値として算出した。これによって、実施の形態1の場合に比して摩擦補正値の算出を簡易化することができるという効果を、実施の形態1の効果に加えて有する。
実施の形態3.
図4は、実施の形態3による摩擦補償装置の構成の一例を模式的に示すブロック図である。なお、上記した実施の形態と同一の構成要素には同一の符号を付し、その説明を省略する。以下では、上記した実施の形態と異なる部分について説明する。実施の形態3による摩擦補償装置10は、摩擦補正値演算部24で使用される補正ゲインを算出する摩擦補正パラメータ決定部30をさらに備える。図4では、摩擦補正パラメータ決定部30は、摩擦補償装置10およびロボット制御装置の外部に設けられる場合が示されている。この場合、摩擦補正パラメータ決定部30は、一例では、パーソナルコンピュータなどによって構成される。しかし、摩擦補正パラメータ決定部30は、摩擦補償装置10またはロボット制御装置の内部に設けられてもよい。なお、摩擦補正値演算部24は、実施の形態1の図2の構成を有するものとする。
実施の形態3では、駆動トルク演算部13は、(1)式のロボットの各軸の伝達機構の出力トルクτに加えて、次式(2)に示される各軸のモータ自身を加減速するのに必要なトルクであるベクトルτmを算出する。ただし、Imはモータおよび伝達機構の高速側部品の慣性モーメントである。また、τmはモータ慣性力とも称される。
τm=Ima ・・・(2)
摩擦補正パラメータ決定部30には、駆動トルク演算部13から(1)式の伝達機構の出力トルクτの各要素である、慣性力、遠心力およびコリオリ力並びに重力と、(2)式のモータ慣性力τmと、が入力される。また、摩擦補正パラメータ決定部30には、モータ位置およびモータ電流も入力される。
まず、摩擦補正パラメータ決定部30は、クーロン摩擦演算部22および粘性摩擦演算部23と同様の方式およびパラメータを用いて、モータ位置からクーロン摩擦および粘性摩擦を演算し、その和τを算出する。次に、摩擦補正パラメータ決定部30は、モータ電流から、トルク定数および減速比の情報を用いて摩擦を含めた駆動トルクの実測値τを算出する。慣性力のベクトル、遠心力およびコリオリ力を合成した遠心コリオリ力のベクトル並びに重力のベクトルをそれぞれτa,τb,τcとし、摩擦補正値演算部24で使用する各軸の慣性力の絶対値に乗じる補正ゲインをKaとし、各軸の遠心力およびコリオリ力の和の絶対値に乗じる補正ゲインをKbとし、各軸の重力の絶対値に乗じるゲインをKcとすると、次式(3)が成り立つ。
τr−τ−τm−τf=y・p ・・・(3)
ここで、(3)式中のベクトルyおよびpは、次式(4)および次式(5)によって示される。ただし、abs(X)は、ベクトルXの絶対値を返す関数である。
y=[abs(τa),abs(τb),abs(τc)] ・・・(4)
p=[Ka,Kb,Kc]T ・・・(5)
(3)式から(5)式はいずれも軸毎の式とする。摩擦補正パラメータ決定部30は、nを2以上の自然数としたとき、時刻t1からtnまでのデータを用いて摩擦補正値演算部24に出力する(5)式の補正ゲインpを算出する。そのためには、kを1以上n以下の自然数とし、時刻tkのときの(3)式の左辺をτ(k)とし、(3)式の右辺のyをy(k)として、行列T,Yをそれぞれ次式(6)および次式(7)で定義する。そして、Yの疑似逆行列Y+を用いることによって、次式(8)のように補正ゲインpが算出される。
Figure 0006906711
Figure 0006906711
p=Y+T ・・・(8)
摩擦補正パラメータ決定部30は、以上のように各軸について算出した補正ゲインpの各要素、すなわち補正パラメータを摩擦補正値演算部24の内部で使用する補正ゲインとして出力する。つまり、補正ゲインpの要素Kaは、慣性力補正部102で使用される補正ゲインであり、慣性力補正部102に出力される。補正ゲインpの要素Kbは、遠心コリオリ力補正部104で使用される補正ゲインであり、遠心コリオリ力補正部104に出力される。補正ゲインpの要素Kcは、重力補正部106で使用される補正ゲインであり、重力補正部106に出力される。
実施の形態3では、摩擦補正パラメータ決定部30が、モータ位置、モータ電流、伝達機構の各軸の駆動トルクおよび各軸のモータ慣性力に基づいて、摩擦補正値演算部24で使用される補正ゲインを算出する。これによって、伝達機構の慣性力、遠心力およびコリオリ力並びに重力に応じて変動する摩擦の補正係数である補正ゲインを高精度に決定することができる。その結果、実施の形態1,2の場合に比して、摩擦推定値の精度を高めることができるという効果を有する。
実施の形態4.
実施の形態4による摩擦補償装置10の構成は、実施の形態3の図4と同様である。ただし、実施の形態4では、摩擦補正パラメータ決定部30および摩擦補正値演算部24の機能が実施の形態3の場合とは異なる。なお、摩擦補正値演算部24は、実施の形態2の図3と同じ構成を有する。以下では、上記した実施の形態と異なる部分について説明する。
補正ゲインを決定する軸の+方向の重力が最大になる位置をθ1とし、重力が0になる位置をθ2とし、−方向の重力が最大になる位置をθ3とする。位置θ1,θ2およびθ3を低速かつ一定速で通過するようにロボットを単軸動作させ、そのときのモータ位置、モータ速度およびモータ電流を測定する。位置θ1,θ2およびθ3それぞれにおけるモータ電流から算出した駆動トルクをτ1,τ2,τ3とする。このとき、τ1およびτ3から重力最大値は(τ1−τ3)/2と算出され、クーロン摩擦と重力が最大になるときの摩擦補正値との和は(τ1+τ3)/2と算出される。また、τ2がクーロン摩擦力となることから、重力が最大になるときの摩擦補正値は、(τ1+τ3)/2−τ2と算出される。以上より、補正ゲインKは、次式(9)によって算出される。
K=((τ1+τ3)/2−τ2)/((τ1−τ3)/2) ・・・(9)
ここで、(9)式は、τ1>τ3,τ2>0となるように動作させたときの計算式である。摩擦補正パラメータ決定部30は、(9)式で算出した補正ゲインKの値を図3の摩擦補正値演算部24で使用される補正ゲインとして出力する。
実施の形態4では、補正ゲインを決定する軸の+方向の重力が最大になる位置をθ1とし、重力が0になる位置をθ2とし、−方向の重力が最大になる位置をθ3とし、位置θ1,θ2およびθ3を定速かつ一定速で通過するようにロボットを単軸動作させて得られる駆動トルクから、補正ゲインを算出した。これによって、伝達機構の出力トルクに応じて変動する摩擦の補正係数を、重力の作用する軸に関して高精度に決定することができるという効果を実施の形態2の効果に加えて得ることができる。
実施の形態5.
図5は、実施の形態5による摩擦補償装置の構成の一例を模式的に示すブロック図である。なお、上記した実施の形態と同一の構成要素には同一の符号を付し、その説明を省略する。また、以下では、上記した実施の形態と異なる部分について説明する。
実施の形態5による摩擦補償装置10は、実施の形態1から4で説明した駆動トルク演算部13に代えて、駆動トルク非駆動軸トルク演算部15を備える。駆動トルク非駆動軸トルク演算部15は、駆動軸のトルクに加えて、非駆動方向の力およびモーメントも算出する。また、摩擦補正値演算部24は、駆動トルクと、非駆動方向の力およびモーメントと、から摩擦補正値を演算する。なお、ニュートン・オイラーの運動方程式を用いることによって、非駆動方向の力およびモーメントを容易に算出することができる。駆動トルク非駆動軸トルク演算部15は、駆動トルク演算部に対応する。
図6は、実施の形態5による摩擦補償装置における摩擦補正値演算部の構成の一例を模式的に示すブロック図である。摩擦補正値演算部24の構成は、実施の形態1の図2を非駆動軸について拡張したものとなっている。ここで、駆動軸をZ軸とし、非駆動軸をX軸およびY軸とする。摩擦推定値演算部14は、駆動軸でないX軸のモーメントであるトルクの補正量を算出する非駆動X軸トルク補正量算出部120と、駆動軸でないY軸のモーメントであるトルクの補正量を算出する非駆動Y軸トルク補正量算出部130と、駆動軸であるZ軸の駆動トルク補正量を算出する駆動トルク補正量算出部100と、加算器138と、乗算器108と、を有する。なお、駆動軸でないX軸は、非駆動X軸と称され、駆動軸でないY軸は、非駆動Y軸と称される。
非駆動X軸トルク補正量算出部120は、駆動トルク非駆動軸トルク演算部15から入力される非駆動X軸のトルク、すなわちモーメントの慣性力、遠心力およびコリオリ力並びに重力から非駆動X軸トルク補正量を算出する。非駆動X軸トルク補正量算出部120は、慣性力絶対値算出部121と、慣性力補正部122と、遠心コリオリ力絶対値算出部123と、遠心コリオリ力補正部124と、重力絶対値算出部125と、重力補正部126と、加算器127と、を有する。
慣性力絶対値算出部121は、入力される非駆動X軸の慣性力の絶対値を算出する。慣性力補正部122は、算出された慣性力の絶対値に、補正パラメータである補正ゲインを乗じた補正慣性力を算出し、加算器127に出力する。
遠心コリオリ力絶対値算出部123は、入力される非駆動X軸の遠心力およびコリオリ力の絶対値を算出する。遠心コリオリ力補正部124は、算出された非駆動X軸の遠心力およびコリオリ力の絶対値に、補正パラメータである補正ゲインを乗じた補正遠心コリオリ力を算出し、加算器127に出力する。
重力絶対値算出部125は、入力される非駆動X軸の重力の絶対値を算出する。重力補正部126は、算出された非駆動X軸の重力の絶対値に、補正パラメータである補正ゲインを乗じた補正重力を算出し、加算器127に出力する。
加算器127は、非駆動X軸の補正慣性力、補正遠心コリオリ力および補正重力を加算して非駆動X軸の補正量を算出し、非駆動X軸の補正量を加算器138に出力する。
非駆動Y軸トルク補正量算出部130は、駆動トルク非駆動軸トルク演算部15から入力される非駆動Y軸のトルク、すなわちモーメントの慣性力、遠心力およびコリオリ力並びに重力から非駆動Y軸トルク補正量を算出する。非駆動Y軸トルク補正量算出部130は、慣性力絶対値算出部131と、慣性力補正部132と、遠心コリオリ力絶対値算出部133と、遠心コリオリ力補正部134と、重力絶対値算出部135と、重力補正部136と、加算器137と、を有する。なお、非駆動Y軸トルク補正量算出部130の各構成要素は、非駆動X軸トルク補正量算出部120の各構成要素と同様の機能を有する。ただし、非駆動Y軸トルク補正量算出部130では、非駆動Y軸のトルクの慣性力、遠心力およびコリオリ力並びに重力について処理を行う。
駆動トルク補正量算出部100は、駆動トルク非駆動軸トルク演算部15から入力される駆動軸のトルクの慣性力、遠心力およびコリオリ力並びに重力から駆動軸の補正量である駆動トルク補正量を算出する。駆動トルク補正量算出部100の構成は、図2で説明したものと同様であるので、その説明を省略する。
加算器138は、非駆動X軸トルク補正量算出部120から出力される非駆動X軸トルク補正量と、非駆動Y軸トルク補正量算出部130から出力される非駆動Y軸トルク補正量と、駆動トルク補正量算出部100から出力される駆動トルク補正量と、を加算し、加算した結果を乗算器108に出力する。
乗算器108は、図5の速度算出部11で出力されたモータ速度を符号回路21に通した値と、加算器138での加算結果と、を乗じて、摩擦補正値を算出する。
なお、実施の形態5の摩擦補正パラメータ決定部30では、実施の形態3を拡張したものになっており、時刻t1からtnまでのモータ電流およびモータ位置から(3)式から(7)式を用いて行列Y,Tを算出し、補正ゲインKa,Kb,Kcで構成されるベクトルpが(8)式に示される疑似逆行列Y+を用いて算出される。
実施の形態5の摩擦補償装置10では、駆動トルク非駆動軸トルク演算部15が、駆動軸のトルクに加えて、非駆動方向の力およびモーメントも算出し、摩擦補正値演算部24は、駆動トルクと非駆動方向のモーメントとから摩擦補正値を演算する。これによって、非駆動方向の力とモーメントとに応じて変動する摩擦成分も高精度に補償することができる。つまり、非駆動方向の慣性力、遠心力およびコリオリ力並びに重力に応じて変動する摩擦を考慮して、摩擦トルクを高精度に推定することができるという効果を有する。
実施の形態6.
実施の形態6による摩擦補償装置10の構成は、図5と同様である。ただし、実施の形態6による摩擦補償装置10は、実施の形態5の摩擦補正値演算部24および摩擦補正パラメータ決定部30の構成が異なる。以下では、上記した実施の形態と同一の構成要素には同一の符号を付し、その説明を省略し、上記した実施の形態と異なる部分について説明する。
図7は、実施の形態6による摩擦補償装置における摩擦補正値演算部の構成の一例を模式的に示すブロック図である。摩擦補正値演算部24の構成は、実施の形態2の図3を非駆動軸について拡張したものとなっている。摩擦補正値演算部24は、非駆動X軸補正量算出部140と、非駆動Y軸補正量算出部150と、駆動軸補正量算出部160と、加算器165,166,167と、乗算器113と、を有する。
非駆動X軸補正量算出部140は、駆動軸でないX軸方向の力およびモーメントによる摩擦補正量を算出する。非駆動X軸補正量算出部140は、力絶対値算出部141と、力補正部142と、モーメント絶対値算出部143と、モーメント補正部144と、を有する。力絶対値算出部141は、駆動トルク非駆動軸トルク演算部15から入力される非駆動X軸の方向における力である非駆動X軸力の絶対値を算出する。力補正部142は、算出された非駆動X軸力の絶対値に、補正パラメータである補正ゲインを乗じた補正非駆動X軸力を算出し、加算器165に出力する。モーメント絶対値算出部143は、駆動トルク非駆動軸トルク演算部15から入力される非駆動X軸の方向におけるモーメント、すなわち慣性力、遠心力およびコリオリ力並びに重力の和である非駆動X軸モーメントの絶対値を算出する。モーメント補正部144は、算出された非駆動X軸モーメントの絶対値に、補正パラメータである補正ゲインを乗じた補正非駆動X軸モーメントを算出し、加算器165に出力する。
非駆動Y軸補正量算出部150は、駆動軸でないY軸方向の力およびモーメントによる摩擦補正量を算出する。非駆動Y軸補正量算出部150は、力絶対値算出部151と、力補正部152と、モーメント絶対値算出部153と、モーメント補正部154と、を有する。力絶対値算出部151、力補正部152、モーメント絶対値算出部153およびモーメント補正部154の機能は、非駆動Y軸方向の力またはモーメントについて演算する点を除いて、非駆動X軸補正量算出部140の力絶対値算出部141、力補正部142、モーメント絶対値算出部143およびモーメント補正部144の機能と同じである。力補正部152からは補正非駆動Y軸力が出力され、モーメント補正部154からは、補正非駆動Y軸モーメントが出力される。
駆動軸補正量算出部160は、駆動軸方向の力および駆動トルクによる摩擦補正量を算出する。駆動軸補正量算出部160は、力絶対値算出部161と、力補正部162と、駆動トルク絶対値算出部111と、駆動トルク補正部112と、を有する。力絶対値算出部161および力補正部162の機能は、駆動軸方向の力について演算する点を除いて、非駆動X軸補正量算出部140の力絶対値算出部141および力補正部142の機能と同じである。また、駆動トルク絶対値算出部111および駆動トルク補正部112は、実施の形態2で説明したものと同様である。力補正部162からは補正駆動軸力が出力され、駆動トルク補正部112からは、補正駆動軸トルクが出力される。
加算器165は、力補正部142から出力された補正非駆動X軸力と、モーメント補正部144から出力された補正非駆動X軸モーメントと、力補正部152から出力された補正非駆動Y軸力と、を加算する。加算器166は、モーメント補正部154から出力された補正非駆動Y軸モーメントと、力補正部162から出力された補正駆動軸力と、駆動トルク補正部112から出力された補正駆動軸トルクと、を加算する。加算器167は、加算器165での加算結果と、加算器166での加算結果と、を加算し、乗算器113に出力する。
乗算器113は、図5の速度算出部11で出力されたモータ速度を符号回路21に通した値と、加算器167での加算結果と、を乗じて、摩擦補正値を算出する。
なお、摩擦補正パラメータ決定部30では、実施の形態3を拡張したものになっており、時刻t1からtnまでのモータ電流およびモータ位置から(3)式から(7)式を用いて行列Y,Tを算出し、補正ゲインKa,Kb,Kcで構成されるベクトルpが(8)式に示される疑似逆行列Y+を用いて算出される。
実施の形態6の摩擦補償装置10では、駆動トルク非駆動軸トルク演算部15は、駆動軸の力およびトルクに加えて、非駆動方向の力およびモーメントも算出し、摩擦補正値演算部24は、駆動軸方向および非駆動方向の力およびモーメントから摩擦補正値を演算する。これによって、非駆動方向の力とモーメントに応じて変動する摩擦を高精度に推定することができるという効果を有する。
実施の形態7.
実施の形態7による摩擦補償装置10の構成は、実施の形態3の図4と同様である。ただし、実施の形態7では、駆動トルク演算部13および摩擦補正パラメータ決定部30の構成が実施の形態3の場合とは異なっている。以下では、上記した実施の形態と異なる部分について説明する。
駆動トルク演算部13は、モータ自身を加減速するのに必要なトルク、すなわちモータ慣性力τmと、ロボットの各軸の伝達機構の慣性力、遠心力およびコリオリ力並びに重力の和である伝達機構の駆動トルクτと、を算出し、摩擦補正パラメータ決定部30へ出力する。
図8は、実施の形態7による摩擦補償装置における摩擦補正パラメータ決定部の構成の一例を模式的に示すブロック図である。摩擦補正パラメータ決定部30は、速度算出部31と、摩擦トルク演算部32と、モータ駆動トルク比較部33と、パラメータ学習部34と、を有する。
速度算出部31は、入力される異なる時間のモータ位置の差分を用いてモータ速度を算出する。摩擦トルク演算部32は、摩擦推定値演算部14と同様の機能を有する。すなわち、摩擦トルク演算部32は、速度算出部31から入力されるモータ速度と、駆動トルク演算部13から入力される伝達機構の慣性力、遠心力およびコリオリ力並びに重力と、パラメータ学習部34から入力される補正ゲインと、を用いて、クーロン摩擦、粘性摩擦および摩擦補正値を算出する。さらに、摩擦トルク演算部32は、クーロン摩擦、粘性摩擦および摩擦補正値を加算した摩擦トルク推定値を算出する。この摩擦トルク推定値は、上記した摩擦推定値に対応する。
モータ駆動トルク比較部33は、モータ電流から算出した駆動トルクの実測値τrと、モータ慣性力τm、伝達機構の駆動トルクτおよび摩擦トルク推定値τfの和と、の差である駆動トルク推定誤差τr−(τ+τm+τf)を算出し、パラメータ学習部34に出力する。
パラメータ学習部34は、まず補正ゲインの初期値を摩擦トルク演算部32に設定する。また、パラメータ学習部34は、モータ駆動トルク比較部33から入力される駆動トルク推定誤差が小さくなるように補正ゲインを探索し、探索した結果を摩擦トルク演算部32に出力する。補正ゲインの探索手法の一例は、ベイズ最適化または粒子群最適化である。パラメータ学習部34は、一例では、駆動トルク推定誤差が予め定められた範囲に収まった補正パラメータである補正ゲインを、摩擦補正値演算部24に出力する。このとき、パラメータ学習部34は、学習に用いた条件である補正ゲインで求めた駆動トルク推定誤差よりも小さくなる駆動トルク推定誤差となる補正ゲインを探索できた場合には、探索した補正ゲインを学習に用いた条件に類似した条件として摩擦補正値演算部24に出力してもよい。
実施の形態7の摩擦補償装置10では、駆動トルクの実測値と、モータ慣性力、伝達機構の駆動トルクおよび摩擦トルク推定値の和と、の差である駆動トルク推定誤差が小さくなる補正ゲインを探索するように学習し、学習した結果である補正ゲインを摩擦補正値演算部24に設定した。これによって、動作に応じて摩擦トルクを高精度に補償することができる。つまり、学習に用いた条件および学習に用いた条件に類似した条件で、高精度に摩擦を推定することができるという効果を有する。
実施の形態8.
図9は、実施の形態8による摩擦補償装置の構成の一例を模式的に示すブロック図である。なお、上記した実施の形態と同一の構成要素には同一の符号を付し、その説明を省略する。以下では、上記した実施の形態と異なる部分について説明する。
実施の形態8による摩擦補償装置10は、実施の形態3の摩擦補正パラメータ決定部30に代えて、摩擦補正関数決定部40を備える。また、実施の形態8による摩擦補償装置10は、駆動トルク演算部13および摩擦補正値演算部24の機能が実施の形態3とは異なる。
駆動トルク演算部13は、モータ自身を加減速するのに必要なトルク、すなわちモータ慣性力τmと、ロボットの各軸の伝達機構の慣性力、遠心力およびコリオリ力並びに重力の和である伝達機構の駆動トルクτと、を算出し、摩擦補正関数決定部40へ出力する。
図10は、実施の形態8による摩擦補償装置における摩擦補正値演算部の構成の一例を模式的に示すブロック図である。摩擦補正値演算部24は、慣性力絶対値算出部101と、遠心コリオリ力絶対値算出部103と、重力絶対値算出部105と、駆動トルク補正量演算部109と、乗算器108と、を有する。なお、慣性力絶対値算出部101、遠心コリオリ力絶対値算出部103、重力絶対値算出部105および乗算器108は、実施の形態1の図2で説明したものと同様であるので説明を省略する。
駆動トルク補正量演算部109は、慣性力絶対値算出部101で算出される慣性力の絶対値と、遠心コリオリ力絶対値算出部103で算出される遠心コリオリ力絶対値と、重力絶対値算出部105で算出される重力絶対値と、を入力とする補正関数を用いて、補正駆動トルクを算出する。駆動トルク補正量演算部109で使用される補正関数は、後述する摩擦補正関数決定部40によって学習された補正関数が用いられる。
摩擦補正値演算部24は、他の構成を有していてもよい。図11は、実施の形態8による摩擦補償装置における摩擦補正値演算部の構成の他の例を模式的に示すブロック図である。摩擦補正値演算部24は、駆動トルク絶対値算出部111と、駆動トルク補正量演算部114と、乗算器113と、を有する。なお、駆動トルク絶対値算出部111および乗算器113は、実施の形態2の図3で説明したものと同様であるので説明を省略する。
図11における駆動トルク補正量演算部114は、駆動トルク絶対値算出部111で算出される慣性力、遠心力およびコリオリ力並びに重力の和の絶対値を入力とする補正関数を用いて、補正駆動トルクを算出する。駆動トルク補正量演算部114で使用される補正関数は、後述する摩擦補正関数決定部40によって学習された補正関数が用いられる。
図12は、実施の形態8によるロボットの摩擦補正値演算における摩擦補正関数決定部の構成の一例を模式的に示すブロック図である。摩擦補正関数決定部40は、速度算出部41と、摩擦トルク演算部42と、モータ駆動トルク比較部43と、補正関数学習部44と、を有する。
速度算出部41は、入力される異なる時間のモータ位置の差分を用いてモータ速度を算出する。摩擦トルク演算部42は、速度算出部41から入力されるモータ速度と、駆動トルク演算部13から入力される伝達機構の慣性力、遠心力およびコリオリ力並びに重力と、を用いて、クーロン摩擦および粘性摩擦を算出する。さらに、摩擦トルク演算部42は、クーロン摩擦と粘性摩擦との和である摩擦トルクτf0を算出する。
モータ駆動トルク比較部43は、モータ電流から算出した駆動トルクの実測値τrと、モータ慣性力τm、伝達機構の駆動トルクτおよび摩擦トルクτf0の和と、の差τr−(τ+τm+τf0)を駆動トルク推定誤差として算出し、補正関数学習部44に出力する。
補正関数学習部44は、慣性力、遠心力およびコリオリ力並びに重力のそれぞれの絶対値、または慣性力、遠心力およびコリオリ力並びに重力の和の絶対値を入力とし、出力が駆動トルク推定誤差と一致するような補正関数を学習する。すなわち、補正関数学習部44は、駆動トルク推定誤差との誤差を小さくするように補正関数を学習する。一例では、複数の駆動トルク推定誤差との誤差のうち、駆動トルク推定誤差との誤差が最も小さいものが補正関数とされる。補正関数の学習として例えばニューラルネットワーク、多項式近似などを適用することができる。補正関数学習部44は、学習した補正関数を摩擦補正値演算部24に出力する。
実施の形態8の摩擦補償装置10では、慣性力、遠心力およびコリオリ力並びに重力のそれぞれの絶対値、または慣性力、遠心力およびコリオリ力並びに重力の和の絶対値を入力とし、出力が駆動トルクの実測値と、モータ慣性力、伝達機構の駆動トルクおよび摩擦トルクの和と、の差である駆動トルク推定誤差と一致するように、補正関数を学習し、学習した結果である補正関数を摩擦補正値演算部24に設定した。摩擦補正値演算部24では、補正関数を用いて、摩擦補正値を演算した。これによって、各軸の伝達機構の出力トルクの大きさに対応して非線形に変動する摩擦成分も高精度に補償することができる。つまり、慣性力、遠心力およびコリオリ力並びに重力のそれぞれの絶対値またはそれぞれの和の絶対値と非線形な関係がある摩擦の場合でも高精度に摩擦を推定することができるという効果を有する。
実施の形態9.
図13は、実施の形態9による摩擦補償装置を備えた衝突検知装置の構成の一例を模式的に示すブロック図である。実施の形態9による衝突検知装置70は、ロボット制御装置の内部に設けられる。衝突検知装置70は、衝突検知トルク演算部71と、衝突判定部73と、を備える。なお、上記した実施の形態と同一の構成要素には同一の符号を付し、その説明を省略する。また、以下では、上記した実施の形態と異なる部分について説明する。
衝突検知トルク演算部71は、摩擦補償装置10と、衝突検知用トルク合算部72と、を備える。摩擦補償装置10は、上記した実施の形態1から8で説明したものを用いることができるが、ここでは、実施の形態2で説明したものが適用されたものとして説明を行う。また、衝突検知トルク演算部71と、衝突判定部73と、は、制御部10Aによって構成される。
衝突検知トルク演算部71には、予め定められた周期毎、一例では制御周期毎に、ロボットの各軸の位置が入力される。速度算出部11は、入力されるロボットの各軸のモータ位置の差分から、モータ速度を算出し、加速度算出部12は、速度算出部11から入力されるモータ速度の差分からモータ加速度を算出する。
駆動トルク演算部13は、モータ自身を加減速するのに必要なトルクであるモータ慣性力τmと、ロボットの各軸の伝達機構の慣性力、遠心力およびコリオリ力並びに重力の和である伝達機構の駆動トルクτと、を算出する。駆動トルク演算部13は、モータ慣性力τmと伝達機構の駆動トルクτとを衝突検知用トルク合算部72に出力し、伝達機構の駆動トルクτを摩擦推定値演算部14に出力する。
摩擦推定値演算部14は、実施の形態1,2で説明したものと同一であり、実施の形態2と同様に、摩擦補正値演算部24では、入力された伝達機構の駆動トルクτの絶対値を算出した後に補正ゲインを乗じ、さらにモータ速度の符号と同じ符号を乗じて、その軸の摩擦補正値を算出する。また、摩擦推定値演算部14は、クーロン摩擦および粘性摩擦を算出し、クーロン摩擦と粘性摩擦と摩擦補正値との和である摩擦推定値τfeを算出し、衝突検知用トルク合算部72に出力する。
衝突検知用トルク合算部72は、入力されたモータ慣性力τm、伝達機構の駆動トルクτおよび摩擦推定値τfeの和を衝突検知用駆動トルク推定値τcとして算出し、衝突判定部73に出力する。
衝突判定部73は、入力されたモータ電流から算出した駆動トルクの実測値τrと、衝突検知用トルク合算部72から入力された衝突検知用駆動トルク推定値τcと、を比較し、ロボットが障害物に衝突したか否かを判定する。具体的には、駆動トルクの実測値τrと衝突検知用駆動トルク推定値τcとの差が予め定めた閾値以上の場合に、衝突判定部73は、ロボットが障害物に衝突したと判定する。
実施の形態9では、衝突検知装置70が実施の形態1から8に記載の摩擦補償装置10を備える。摩擦補償装置10で算出された摩擦推定値と、モータ慣性力と、伝達機構の駆動トルクと、の和が衝突検知用駆動トルク推定値とされる。モータ電流から算出した駆動トルクの実測値と、衝突検知用駆動トルク推定値と、の差を用いて、ロボットが障害物に衝突したか否かが判定される。衝突検知用駆動トルク推定値では、各駆動軸の伝達機構の出力トルクの大きさに応じて変動する摩擦成分が高精度に補償されているので、ロボットが障害物に接触したことを高感度に検知することができるという効果を有する。
実施の形態10.
図14は、実施の形態10による摩擦補償装置を備えたトルクフィードフォワード演算装置の構成の一例を示すブロック図である。トルクフィードフォワード演算装置80は、ロボット制御装置の内部に設けられる。トルクフィードフォワード演算装置80は、摩擦補償装置10Bと、トルクフィードフォワード指令生成部81と、を備える。なお、上記した実施の形態と同一の構成要素には同一の符号を付し、その説明を省略する。また、以下では、上記した実施の形態と異なる部分について説明する。また、摩擦補償装置10Bと、トルクフィードフォワード指令生成部81と、は、制御部10Aによって構成される。
摩擦補償装置10Bは、実施の形態1から8で説明した摩擦補償装置10と基本的には同一の構成を有するが、摩擦推定値演算部14Aの構成が、実施の形態1から8で説明した摩擦推定値演算部14と異なる。摩擦推定値演算部14Aは、符号回路21と、クーロン摩擦演算部22と、粘性摩擦演算部23と、摩擦補正値演算部24と、加算器25aと、フィルタ部26と、を備える。符号回路21、クーロン摩擦演算部22、粘性摩擦演算部23および摩擦補正値演算部24は、上記した実施の形態1から8で説明したものと同様である。ただし、ここでは、摩擦補正値演算部24は、実施の形態2で説明したものが適用されたものとして説明を行う。
加算器25aは、クーロン摩擦演算部22から出力されたクーロン摩擦と、摩擦補正値演算部24から出力された摩擦補正値と、を加算する。フィルタ部26は、摩擦補正値とクーロン摩擦との加算結果をフィルタリングする。フィルタ部26の一例は、移動平均フィルタ、1次遅れフィルタ、2次遅れフィルタなどの低域通過フィルタである。フィルタ部26は、フィルタリングした結果をトルクフィードフォワード指令生成部81に出力する。また、粘性摩擦演算部23は、演算した粘性摩擦をトルクフィードフォワード指令生成部81に出力する。
ここで、トルクフィードフォワード演算装置80での動作の概要を説明する。トルクフィードフォワード演算装置80には、予め定められた周期毎、一例では制御周期毎に、ロボットの各軸のモータ位置指令が入力される。速度算出部11は、入力されるロボットの各軸のモータ位置指令の差分から、モータ速度の指令であるモータ速度指令を算出する。加速度算出部12は、速度算出部11から入力されるモータ速度指令の差分からモータ加速度の指令であるモータ加速度指令を算出する。
駆動トルク演算部13は、モータ自身を加減速するのに必要なトルクであるモータ慣性力τmdと、ロボットの各軸の伝達機構の慣性力、遠心力およびコリオリ力並びに重力の和である伝達機構の駆動トルクτdと、を算出する。駆動トルク演算部13は、伝達機構の駆動トルクτdを摩擦推定値演算部14に出力し、モータ慣性力τmdと伝達機構の駆動トルクτdとをトルクフィードフォワード指令生成部81に出力する。
摩擦補正値演算部24は、実施の形態2で説明したものと同一である。実施の形態2と同様に、摩擦補正値演算部24では、入力された伝達機構の駆動トルクτdの絶対値を算出した後に補正ゲインを乗じ、さらにモータ速度の符号と同じ符号を乗じて、その軸の摩擦補正値を算出する。加算器25aは、算出した摩擦補正値と、クーロン摩擦演算部22で演算されたクーロン摩擦と、を加算する。フィルタ部26は、摩擦補正値とクーロン摩擦との加算結果をフィルタリングする。
トルクフィードフォワード指令生成部81は、摩擦補正値およびクーロン摩擦の加算結果をフィルタリングした結果と、粘性摩擦演算部23で演算された粘性摩擦と、駆動トルク演算部13で算出されたモータ慣性力τmdおよび伝達機構の駆動トルクτdと、を加算し、トルクフィードフォワード指令として図示しない各軸のモータ制御部に出力する。
実施の形態10のトルクフィードフォワード演算装置80は、摩擦補償装置10Bを備える。摩擦補償装置10Bは、実施の形態1から8に記載の摩擦補償装置10と同様の構成を有する。摩擦補償装置10Bで算出された摩擦補正値とクーロン摩擦との和を低域通過フィルタに通した結果と、粘性摩擦と、モータ慣性力と、伝達機構の駆動トルクと、を加算したものがトルクフィードフォワード指令とされる。トルクフィードフォワード指令では、各駆動軸の伝達機構の出力トルクの大きさに応じて変動する摩擦成分が高精度に補償されているので、高精度にロボット先端の軌跡を制御することができるという効果を有する。
実施の形態11.
図15は、実施の形態11による摩擦補償装置を備えたロボット制御装置の構成の一例を模式的に示すブロック図である。ロボット制御装置300は、制御対象であるロボット330を制御する装置である。ロボット制御装置300は、プログラム読出部311と、加減速時間決定部312と、位置指令生成部313と、各軸モータ制御部314と、を備える。
プログラム読出部311は、実行が指定されたロボットプログラムの各行を順次読み出して、読み出したロボットコマンドが移動指令の場合には、その移動指令の動作開始地点、動作終了地点およびプログラムで指定されている最高速度を加減速時間決定部312に出力する。
加減速時間決定部312は、一例では、移動指令で指示される動作の代表点における加速時間および減速時間である加減速時間を決定する。一例では、移動指令で指示される動作を動作させるための速度台形パターンにおける加速終了地点での時刻と動作開始地点での時刻との差が加速時間に対応し、動作終了地点での時刻と減速開始地点での時刻との差が減速時間に対応する。図16は、実施の形態11によるロボット制御装置における加減速時間決定部の構成の一例を模式的に示すブロック図である。加減速時間決定部312は、代表点データ算出部321と、駆動トルク演算部13と、摩擦推定値演算部14と、代表点での加減速時間演算部323と、加減速時間選定部324と、を有する。なお、駆動トルク演算部13と摩擦推定値演算部14とは、実施の形態1から8で説明した摩擦補償装置10に対応する。
代表点データ算出部321は、プログラム読出部311から入力された動作開始地点、動作終了地点および最高速度のデータから当該動作の代表点における位置および速度を算出する。1回目の代表点の位置および速度の算出の際には、代表点データ算出部321は、予め定められた加減速時間の初期値を用いて代表点における位置および速度を算出する。代表点での加減速時間の算出を複数回繰り返す場合には、前回の加減速時間の算出結果を用いて代表点の位置および速度を算出する。代表点としては、一例では、当該動作を速度台形パターンで動作させる場合の動作開始地点、加速終了地点、減速開始地点および動作終了地点が採用される。ただし、代表点の選び方は上記に限定されるものではなく、動作の中点、加速区間の中点等が採用されてもよい。
以下では、駆動トルク演算部13、摩擦推定値演算部14、代表点での加減速時間演算部323および加減速時間選定部324について、代表点が加速終了地点である場合を具体的に例に挙げて説明する。
加速終了地点での伝達機構の出力軸側に換算したモータ位置から構成されるベクトルをqkとし、伝達機構の出力軸側に換算したモータ速度から構成されるベクトルをvkとする。また、指定されている最高速度を伝達機構の出力軸側に換算した速度から構成されるベクトルをVmaxとし、各軸のモータの許容トルクを伝達機構の出力軸側に換算した値から構成されるベクトルをτmaxとする。さらに、代表点の位置および速度を算出するのに用いた加減速時間の初期値または前回の加減速時間のうち加速時間をkt0とする。駆動トルク演算部13は、次式(10)を用いて伝達機構の出力軸側の慣性力に関連するベクトルであるMddtを算出し、次式(11)を用いて出力軸側の遠心力およびコリオリ力並びに重力によるトルクToraを算出する。また、駆動トルク演算部13は、次式(12)を用いて、出力軸側の慣性力、遠心力およびコリオリ力並びに重力、すなわち慣性力によるトルクTorbを算出する。
Mddt=M(qk)Vmax・・・ (10)
Tora=h(qk,vk)+g(qk) ・・・(11)
Torb=Tora+Mddt/kt0 ・・・(12)
ここで、行列M、ベクトルh,gは(1)式で説明したものと同一である。駆動トルク演算部13は、算出したMddt,Toraを代表点での加減速時間演算部323に出力し、算出したTorbを摩擦推定値演算部14に出力する。
摩擦推定値演算部14は、ここでは、実施の形態2の図1および図3で示す摩擦推定値演算部14と同じ構成になっている。つまり、ロボット330の各軸の摩擦補正値演算部24の補正ゲインの値をKiとし、Torbの各軸成分をTorbiとし、伝達機構の出力軸側に換算したモータ速度のベクトルvkの各軸成分をvkiとし、各軸のクーロン摩擦係数をKfciとし、各軸の粘性摩擦係数をKfviとするとき、摩擦推定値演算部14は、次式(13)によって各軸の摩擦推定値Torfiを算出する。摩擦推定値演算部14は、算出した各軸の摩擦推定値Torfiを代表点での加減速時間演算部323に出力する。
Torfi=abs(Torbi)*K*sgn(vki)+Kfci*sgn(vki)+Kfvi*vki ・・・(13)
代表点での加減速時間演算部323は、次式(14)を満たす正の最小のktaをktaiとし、軸毎に算出したktaiの最大値を当該代表点での加速時間候補ktaとして加減速時間選定部324に出力する。ただし、Mddti,ToraiおよびτmaxiはそれぞれMddt,Toraおよびτmaxの第i軸成分である。
−τmaxi≦Mddti/kta+Torai+Torfi≦τmaxi ・・・(14)
加減速時間選定部324は、代表点が複数ある場合には、複数の代表点で算出した加速時間候補のうち最大の加速時間を選択する。加減速時間選定部324は、減速時間についても同様に、複数の代表点で算出した減速時間候補のうち最大の減速時間を選択する。加減速時間選定部324は、最大の加速時間および最大の減速時間の選択が規定の繰り返し回数に達した場合には、選定した加速時間と減速時間とを当該動作の加減速時間として、動作開始地点、動作終了地点および最高速度と併せて、図15の位置指令生成部313に出力する。加減速時間選定部324は、規定の繰り返し回数に達していない場合には、選択した加速時間と減速時間とを今回の繰返し周期の加減速時間として、代表点データ算出部321に出力する。代表点データ算出部321で、加減速時間が次回の繰り返しにおける代表点データの算出に活用される。
図15に戻り、位置指令生成部313は、加減速時間決定部312から入力された動作開始地点、動作終了地点、最高速度および加減速時間に基づいて、予め定められた周期毎、一例では制御周期毎の位置指令を生成し、生成した位置指令を各軸モータ制御部314に出力する。
各軸モータ制御部314は、各軸の位置が位置指令に追従するように、各軸のモータの駆動トルクをロボット330に出力する。
なお、上記した説明では、摩擦推定値演算部14は、実施の形態2の構成を有する場合を説明したが、実施の形態1,3から8の構成を有するものであってもよい。また、プログラム読出部311、加減速時間決定部312および位置指令生成部313は制御部10Aによって構成される。
実施の形態11では、ロボット制御装置300は、実施の形態1から8で説明した摩擦補償装置10を備える。ロボット制御装置300では、各駆動軸の伝達機構の出力トルクの大きさに応じて変動する摩擦成分が高精度に補償されているので、運動方程式から算出される加速時間および減速時間をより高精度に算出することができる。また、制約を満たす範囲で、ロボット制御装置300と、ロボット330の各動作を高速化すること、すなわちロボット330の動作時間を短縮することができるという効果を有する。
実施の形態12.
図17は、実施の形態12による摩擦補償装置を備えたロボット制御装置の構成の一例を模式的に示すブロック図である。なお、上記した実施の形態と同一の構成要素には同一の符号を付し、その説明を省略する。また、以下では、上記した実施の形態とは異なる部分のみ説明する。ロボット制御装置300は、実施の形態10のトルクフィードフォワード演算装置80と、実施の形態9の衝突検知装置70と、をさらに備えている。トルクフィードフォワード演算装置80は、位置指令生成部313と各軸モータ制御部314との間に設けられる。衝突検知装置70は、各軸モータ制御部314に接続されるように設けられる。なお、衝突検知装置70、トルクフィードフォワード演算装置80、プログラム読出部311、加減速時間決定部312および位置指令生成部313は制御部10Aによって構成される。
実施の形態12では、実施の形態11のロボット制御装置300にトルクフィードフォワード演算装置80と衝突検知装置70とを設けた。これによって、ロボット330が障害物に接触したことを高感度に検知するとともに、高精度にロボット330の先端の軌跡を制御することができるという効果を、実施の形態11の効果に加えて得ることができる。
上記の実施の形態1から8による摩擦補償装置10、実施の形態9の衝突検知装置70、実施の形態10のトルクフィードフォワード演算装置80、および実施の形態11,12のロボット制御装置300の制御部10Aの機能は、処理回路により実現される。処理回路は、専用のハードウェアであっても、記憶装置に格納されるプログラムを実行する処理装置であってもよい。
処理回路が専用のハードウェアである場合、処理回路は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、特定用途向け集積回路、フィールドプログラマブルゲートアレイ、またはこれらを組み合わせたものが該当する。図18は、摩擦補償装置の制御部の機能をハードウェアで実現した構成の一例を示す図である。処理回路501には、制御部10Aの機能を実現する論理回路501aが組み込まれている。
処理回路501が処理装置の場合、制御部10Aの機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。
図19は、摩擦補償装置の制御部の機能をソフトウェアで実現した構成の一例を示す図である。処理回路501は、プログラム501bを実行するプロセッサ511と、プロセッサ511がワークエリアに用いるランダムアクセスメモリ512と、プログラム501bを記憶する記憶装置513と、を有する。記憶装置513に記憶されているプログラム501bをプロセッサ511がランダムアクセスメモリ512上に展開し、実行することにより、制御部10Aの機能が実現される。ソフトウェアまたはファームウェアはプログラム言語で記述され、記憶装置513に格納される。プロセッサ511は、中央処理装置を例示できるがこれに限定はされない。記憶装置513は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、またはEEPROM(登録商標)(Electrically Erasable Programmable Read Only Memory)といった半導体メモリを適用できる。半導体メモリは、不揮発性メモリでもよいし揮発性メモリでもよい。また記憶装置513は、半導体メモリ以外にも、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスクまたはDVD(Digital Versatile Disc)を適用できる。なお、プロセッサ511は、演算結果といったデータを記憶装置513に出力して記憶させてもよいし、ランダムアクセスメモリ512を介して不図示の補助記憶装置に当該データを記憶させてもよい。プロセッサ511、ランダムアクセスメモリ512および記憶装置513を1チップに集積することにより、制御部10Aの機能をマイクロコンピュータにより実現することができる。
処理回路501は、記憶装置513に記憶されたプログラム501bを読み出して実行することにより、制御部10Aの機能を実現する。プログラム501bは、制御部10Aの機能を実現する手順および方法をコンピュータに実行させるものであるとも言える。
なお、処理回路501は、制御部10Aの機能の一部を専用のハードウェアで実現し、制御部10Aの機能の一部をソフトウェアまたはファームウェアで実現するようにしてもよい。
このように、処理回路501は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって、上述の各機能を実現することができる。
なお、ここでは、摩擦補償装置10の制御部10Aの場合を例に挙げたが、衝突検知装置70、トルクフィードフォワード演算装置80およびロボット制御装置300の制御部10Aのハードウェア構成も同様である。
実施の形態13.
図20は、実施の形態13による摩擦補償方法の一例を示すフローチャートである。ここでは、摩擦補償方法における摩擦トルクを推定する手順について示している。また、以下では、図1の摩擦補償装置10を参照して、ロボットの摩擦補償方法を説明する。
まず、モータ位置が入力されると、速度算出部11は、モータ位置の差分によってモータ速度を算出する(ステップS11)。また、加速度算出部12は、モータ速度の差分によってモータ加速度を算出する(ステップS12)。算出されたモータ速度は、駆動トルク演算部13と摩擦推定値演算部14に出力され、算出されたモータ加速度は、駆動トルク演算部13に出力される。
次いで、伝達機構の出力側に配置される駆動トルク演算部13は、モータ位置、モータ速度およびモータ加速度から、伝達機構の出力側の駆動トルクを算出する(ステップS13)。具体的には、駆動トルク演算部13は、モータ位置、モータ速度およびモータ加速度から、それぞれ伝達機構の出力側に換算した値で構成されるベクトルq,v,aを算出し、各軸の伝達機構の出力側の駆動トルクで構成されるベクトルτを(1)式にしたがって算出する。
その後、出力側の駆動トルクに依存する摩擦補正値演算部24は、出力側の駆動トルクに依存する摩擦トルクを算出する(ステップS14)。具体的には、摩擦補正値演算部24は、駆動トルクのベクトルτ、モータ速度を伝達機構の出力速度に換算した速度のベクトルvの第i軸成分をそれぞれτi、viとし、駆動トルクに依存する摩擦トルクの各軸の補正係数をKiとして、出力側の駆動トルクに依存する各軸の摩擦トルクTorfaiを次式(15)を用いて算出する。この摩擦トルクTorfaiは、摩擦補正値に対応する。
Torfa=abs(τi)*Ki*sgn(vi) ・・・(15)
一方、ステップS13およびS14と並行して、出力側の駆動トルクに依存しないクーロン摩擦演算部22および粘性摩擦演算部23は、出力側の駆動トルクに依存しない摩擦トルクを算出する(ステップS15)。具体的には、クーロン摩擦演算部22、粘性摩擦演算部23および加算器25は、各軸のクーロン摩擦係数をKfciとし、各軸の粘性摩擦係数をKfviとして、次式(16)を用いて、出力側の駆動トルクに依存しない摩擦トルクの各軸成分Torfbiを求める。
Torfbi=Kfci*sgn(vi)+Kfvi*vi ・・・(16)
その後、加算器25は、出力側の駆動トルクに依存する摩擦トルクと、出力側の駆動トルクに依存しない摩擦トルクとの和から、摩擦トルク推定値を算出する(ステップS16)。具体的には、加算器25は、算出したTorfaおよびTorfbを各軸成分について加算し、各軸の摩擦トルク推定値を算出する。以上で、摩擦補償方法が終了する。
実施の形態13による摩擦補償方法では、伝達機構の駆動トルクの絶対値と、モータ速度の符号と、駆動軸トルクに依存する摩擦トルクの補正係数とを乗じた摩擦補正値を、クーロン摩擦および粘性摩擦の和に加算して、摩擦トルク推定値を算出した。これによって、速度および駆動部の温度が同一である条件下での摩擦トルクの変動が生じた場合に、各軸の速度のみで決定される摩擦モデルに基づいて算出される摩擦トルクに比して、高精度で摩擦トルクを推定することができるという効果を有する。すなわち、伝達機構の出力部の慣性力、遠心力およびコリオリ力並びに重力に応じて変動する摩擦を高精度に推定することができる。
以上の説明では、ロボットの駆動軸の摩擦を補償する場合を例に挙げたが、上記の実施の形態は、産業機械など駆動軸を含む制御対象全般に適用することができる。
以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
10,10B 摩擦補償装置、10A 制御部、11,31,41 速度算出部、12 加速度算出部、13 駆動トルク演算部、14,14A 摩擦推定値演算部、15 駆動トルク非駆動軸トルク演算部、21 符号回路、22 クーロン摩擦演算部、23 粘性摩擦演算部、24 摩擦補正値演算部、25,25a,107,127,137,138,165,166,167 加算器、26 フィルタ部、30 摩擦補正パラメータ決定部、32,42 摩擦トルク演算部、33,43 モータ駆動トルク比較部、34 パラメータ学習部、40 摩擦補正関数決定部、44 補正関数学習部、70 衝突検知装置、71 衝突検知トルク演算部、72 衝突検知用トルク合算部、73 衝突判定部、80 トルクフィードフォワード演算装置、81 トルクフィードフォワード指令生成部、100 駆動トルク補正量算出部、101,121,131 慣性力絶対値算出部、102,122,132 慣性力補正部、103,123,133 遠心コリオリ力絶対値算出部、104,124,134 遠心コリオリ力補正部、105,125,135 重力絶対値算出部、106,126,136 重力補正部、108,113 乗算器、109,114 駆動トルク補正量演算部、111 駆動トルク絶対値算出部、112 駆動トルク補正部、120 非駆動X軸トルク補正量算出部、130 非駆動Y軸トルク補正量算出部、140 非駆動X軸補正量算出部、141,151,161 力絶対値算出部、142,152,162 力補正部、143,153 モーメント絶対値算出部、144,154 モーメント補正部、150 非駆動Y軸補正量算出部、160 駆動軸補正量算出部、300 ロボット制御装置、311 プログラム読出部、312 加減速時間決定部、313 位置指令生成部、314 各軸モータ制御部、321 代表点データ算出部、323 代表点での加減速時間演算部、324 加減速時間選定部、330 ロボット。

Claims (12)

  1. モータの位置、速度および加速度から、前記モータと軸を介して接続され、前記モータの駆動力を伝達する伝達機構の出力トルクを前記軸の慣性力、遠心力およびコリオリ力並びに重力を用いて演算する駆動トルク演算部と、
    前記駆動トルク演算部によって前記伝達機構の出力トルクとして出力された前記軸の慣性力、遠心力およびコリオリ力並びに重力のそれぞれの絶対値に、前記伝達機構の慣性力、遠心力およびコリオリ力並びに重力に応じて変動する摩擦の補正係数である補正パラメータを乗じた値を用いて、前記軸の摩擦力を補正する摩擦補正値を演算する摩擦補正値演算部を有し、前記摩擦補正値を用いて前記軸の摩擦力の推定値である摩擦推定値を演算する摩擦推定値演算部と、
    を備えることを特徴とする摩擦補償装置。
  2. モータの位置、速度および加速度から、前記モータと軸を介して接続され、前記モータの駆動力を伝達する伝達機構の出力トルクを前記軸の慣性力、遠心力およびコリオリ力並びに重力を用いて演算する駆動トルク演算部と、
    前記駆動トルク演算部によって前記伝達機構の出力トルクとして出力された前記軸の慣性力、遠心力およびコリオリ力並びに重力の和の絶対値に、前記伝達機構の慣性力、遠心力およびコリオリ力並びに重力に応じて変動する摩擦の補正係数である補正パラメータを乗じた値を用いて、前記軸の摩擦力を補正する摩擦補正値を演算する摩擦補正値演算部を有し、前記摩擦補正値を用いて前記軸の摩擦力の推定値である摩擦推定値を演算する摩擦推定値演算部と、
    を備えることを特徴とする摩擦補償装置。
  3. 前記補正パラメータを決定する補正パラメータ決定部をさらに備え、
    前記補正パラメータ決定部は、前記モータの位置を用いて算出されるクーロン摩擦および粘性摩擦の和と、前記モータの電流であるモータ電流から算出される駆動トルクの実測値と、前記モータを加減速するのに必要なトルクであるモータ慣性力と、前記駆動トルク演算部から出力される前記出力トルクと、を用いて、前記補正パラメータを算出することを特徴とする請求項またはに記載の摩擦補償装置。
  4. 前記駆動トルク演算部は、前記軸の伝達機構の出力トルクに加えて、駆動方向ではない非駆動方向の力およびモーメントをさらに演算し、
    前記摩擦推定値演算部は、前記駆動トルク演算部で演算される前記出力トルク、並びに前記非駆動方向の力およびモーメントに応じて、前記軸の前記摩擦補正値を演算することを特徴とする請求項1からのいずれか1つに記載の摩擦補償装置。
  5. 前記補正パラメータ決定部は、前記駆動トルクの実測値と、前記伝達機構の出力トルク、前記モータ慣性力および前記摩擦推定値の和と、の差である駆動トルク推定誤差が予め定められた値よりも小さくなるように前記補正パラメータを学習するパラメータ学習部をさらに有することを特徴とする請求項に記載の摩擦補償装置。
  6. モータの位置、速度および加速度から、前記モータと軸を介して接続され、前記モータの駆動力を伝達する伝達機構の出力トルクを前記軸の慣性力、遠心力およびコリオリ力並びに重力を用いて演算する駆動トルク演算部と、
    前記駆動トルク演算部によって前記伝達機構の出力トルクとして出力された前記軸の慣性力、遠心力およびコリオリ力並びに重力のそれぞれの絶対値を補正関数に入力して前記軸の摩擦力を補正する摩擦補正値を演算する摩擦補正値演算部を有し、前記摩擦補正値を用いて前記軸の摩擦力の推定値である摩擦推定値を演算する摩擦推定値演算部と、
    記補正関数を決定する補正関数決定部と、
    を備
    記補正関数決定部は、前記軸の慣性力、遠心力およびコリオリ力並びに重力のそれぞれの絶対値を入力とし、出力が、前記モータの電流であるモータ電流から算出される駆動トルクの実測値と、前記伝達機構の前記出力トルク、前記モータを加減速するのに必要なトルクであるモータ慣性力並びに前記モータの位置を用いて算出されるクーロン摩擦および粘性摩擦の和と、の差である駆動トルク推定誤差と一致するような前記補正関数を学習することを特徴とする摩擦補償装置。
  7. モータの位置、速度および加速度から、前記モータと軸を介して接続され、前記モータの駆動力を伝達する伝達機構の出力トルクを前記軸の慣性力、遠心力およびコリオリ力並びに重力を用いて演算する駆動トルク演算部と、
    前記駆動トルク演算部によって前記伝達機構の出力トルクとして出力された前記軸の慣性力、遠心力およびコリオリ力並びに重力の和の絶対値を補正関数に入力して前記軸の摩擦力を補正する摩擦補正値を演算する摩擦補正値演算部を有し、前記摩擦補正値を用いて前記軸の摩擦力の推定値である摩擦推定値を演算する摩擦推定値演算部と、
    記補正関数を決定する補正関数決定部と、
    を備
    記補正関数決定部は、前記軸の慣性力、遠心力およびコリオリ力並びに重力の和の絶対値を入力とし、出力が、前記モータから得られるモータ電流から算出される駆動トルクの実測値と、前記伝達機構の前記出力トルク、前記モータを加減速するのに必要なトルクであるモータ慣性力並びに前記モータの位置を用いて算出されるクーロン摩擦および粘性摩擦の和と、の差である駆動トルク推定誤差と一致するような前記補正関数を学習することを特徴とする摩擦補償装置。
  8. 請求項1からのいずれか1つに記載の摩擦補償装置と、
    前記摩擦補償装置によって演算された前記摩擦推定値と、前記モータを加減速するのに必要なトルクであるモータ慣性力と、前記伝達機構の前記出力トルクと、を加算して衝突検知用駆動トルク推定値を算出する衝突検知用トルク合算部と、
    前記衝突検知用駆動トルク推定値と、前記モータから得られるモータ電流から算出される駆動トルクの実測値と、を比較してロボットの障害物への衝突の有無を判定する衝突判定部と、
    を備えることを特徴とする衝突検知装置。
  9. モータ位置指令を用いて各軸モータ制御部にトルクフィードフォワード指令を出力するトルクフィードフォワード演算装置であって、
    請求項1からのいずれか1つに記載の摩擦補償装置を備えることを特徴とするトルクフィードフォワード演算装置。
  10. ロボットプログラムにおける移動指令の動作開始地点、動作終了地点および前記ロボットプログラムで指定されている最高速度を出力するプログラム読出部と、
    前記動作開始地点、前記動作終了地点および前記最高速度のデータから、前記動作開始地点、前記動作終了地点および前記最高速度のデータによる動作の代表点における加速時間および減速時間を加減速時間として算出する加減速時間決定部と、
    前記動作開始地点、前記動作終了地点、前記最高速度のデータおよび前記加減速時間に基づいて予め定められた周期毎の位置指令を生成する位置指令生成部と、
    前記位置指令に基づいてロボットを制御する各軸モータ制御部と、
    を備え、
    前記加減速時間決定部は、請求項1からのいずれか1つに記載の摩擦補償装置を含み、前記加減速時間の演算に必要な前記摩擦推定値を算出することを特徴とするロボット制御装置。
  11. 前記位置指令生成部で生成される前記位置指令を用いて、前記トルクフィードフォワード指令を生成する請求項に記載のトルクフィードフォワード演算装置と、
    前記各軸モータ制御部で検出されたモータ電流から算出した駆動トルクと、前記衝突検知用駆動トルク推定値とを比較して、前記ロボットの前記障害物への衝突の有無の判定を行う請求項に記載の衝突検知装置と、
    をさらに備えることを特徴とする請求項10に記載のロボット制御装置。
  12. モータの位置、速度および加速度から、前記モータと軸を介して接続され、前記モータの駆動力を伝達する伝達機構の出力トルクを演算する駆動トルク演算部と、前記軸の摩擦力の推定値である摩擦推定値を演算する摩擦推定値演算部と、を備える摩擦補償装置における摩擦補償方法であって、
    前記駆動トルク演算部が、前記モータの位置の異なる時間での差分からモータの速度を算出する工程と、
    前記駆動トルク演算部が、前記モータの速度の異なる時間での差分からモータの加速度を算出する工程と、
    前記駆動トルク演算部が、前記モータの位置、速度および加速度から前記伝達機構の出力側の駆動トルクとして、前記軸の慣性力、遠心力およびコリオリ力並びに重力を算出する工程と、
    前記摩擦推定値演算部が、前記軸の慣性力、遠心力およびコリオリ力並びに重力のそれぞれの絶対値に、前記伝達機構の慣性力、遠心力およびコリオリ力並びに重力に応じて変動する摩擦の補正係数である補正パラメータを乗じた値を用いて、前記出力側の駆動トルクに依存する摩擦トルクを算出する工程と、
    前記駆動トルク演算部が、前記出力側の駆動トルクに依存しない摩擦トルクを算出する工程と、
    前記摩擦推定値演算部が、前記出力側の駆動トルクに依存する摩擦トルクと前記出力側の駆動トルクに依存しない摩擦トルクとを加算して摩擦トルク推定値を算出する工程と、
    を含むことを特徴とする摩擦補償方法。
JP2020549820A 2020-03-26 2020-03-26 摩擦補償装置、衝突検知装置、トルクフィードフォワード演算装置およびロボット制御装置並びに摩擦補償方法 Active JP6906711B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/013806 WO2021192181A1 (ja) 2020-03-26 2020-03-26 摩擦補償装置、衝突検知装置、トルクフィードフォワード演算装置およびロボット制御装置並びに摩擦補償方法

Publications (2)

Publication Number Publication Date
JP6906711B1 true JP6906711B1 (ja) 2021-07-21
JPWO2021192181A1 JPWO2021192181A1 (ja) 2021-09-30

Family

ID=76918303

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020549820A Active JP6906711B1 (ja) 2020-03-26 2020-03-26 摩擦補償装置、衝突検知装置、トルクフィードフォワード演算装置およびロボット制御装置並びに摩擦補償方法

Country Status (5)

Country Link
US (1) US11691282B2 (ja)
JP (1) JP6906711B1 (ja)
CN (1) CN115336167B (ja)
DE (1) DE112020006606B4 (ja)
WO (1) WO2021192181A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114800516A (zh) * 2022-05-13 2022-07-29 珞石(北京)科技有限公司 一种针对热误差的机器人运动补偿方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116460859B (zh) * 2023-06-19 2023-10-03 广东隆崎机器人有限公司 Scara机器人运动补偿方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005198404A (ja) * 2004-01-07 2005-07-21 Mitsubishi Electric Corp 電動機制御装置
WO2014021433A1 (ja) * 2012-08-02 2014-02-06 東芝機械株式会社 ロボット装置およびその制御方法
WO2017213182A1 (ja) * 2016-06-07 2017-12-14 三菱電機株式会社 異常診断装置及び異常診断方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4756618B2 (ja) 2001-03-21 2011-08-24 株式会社ダイヘン 多関節ロボットにおける衝突検出・停止制御法
KR20090124560A (ko) * 2008-05-30 2009-12-03 삼성전자주식회사 로봇 매니퓰레이터의 제어장치 및 그 제어방법
JP5198514B2 (ja) * 2010-07-22 2013-05-15 株式会社東芝 ロボット制御装置
JP5209810B1 (ja) * 2011-07-27 2013-06-12 ファナック株式会社 イナーシャと摩擦係数とばね定数を同時に推定する機能を備える電動機の制御装置
JP5895628B2 (ja) * 2012-03-15 2016-03-30 株式会社ジェイテクト ロボットの制御方法及びロボット制御装置、並びにロボット制御システム
JP6014401B2 (ja) 2012-07-25 2016-10-25 東芝シュネデール・インバータ株式会社 電動機制御装置
JP5650814B1 (ja) * 2013-07-05 2015-01-07 ファナック株式会社 フィードフォワード制御を備えたモータ制御装置
CN107921639B (zh) * 2015-08-25 2021-09-21 川崎重工业株式会社 多个机器人系统间的信息共享系统及信息共享方法
JP2018129957A (ja) * 2017-02-09 2018-08-16 株式会社コロナ モータ制御装置及び空気調和装置
EP3576298B1 (en) * 2017-03-01 2020-12-16 Panasonic Intellectual Property Management Co., Ltd. Robot control method
JP7111498B2 (ja) 2018-04-18 2022-08-02 ファナック株式会社 ロボットの制御装置およびロボットの制御方法
US20220233271A1 (en) * 2019-06-03 2022-07-28 Covidien Lp System and apparatus for external torque observation and compensation for surgical robotic arm

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005198404A (ja) * 2004-01-07 2005-07-21 Mitsubishi Electric Corp 電動機制御装置
WO2014021433A1 (ja) * 2012-08-02 2014-02-06 東芝機械株式会社 ロボット装置およびその制御方法
WO2017213182A1 (ja) * 2016-06-07 2017-12-14 三菱電機株式会社 異常診断装置及び異常診断方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114800516A (zh) * 2022-05-13 2022-07-29 珞石(北京)科技有限公司 一种针对热误差的机器人运动补偿方法
CN114800516B (zh) * 2022-05-13 2024-03-08 珞石(北京)科技有限公司 一种针对热误差的机器人运动补偿方法

Also Published As

Publication number Publication date
JPWO2021192181A1 (ja) 2021-09-30
US11691282B2 (en) 2023-07-04
DE112020006606B4 (de) 2024-03-14
CN115336167B (zh) 2023-09-22
US20230110472A1 (en) 2023-04-13
CN115336167A (zh) 2022-11-11
DE112020006606T5 (de) 2022-12-08
WO2021192181A1 (ja) 2021-09-30

Similar Documents

Publication Publication Date Title
US8442685B2 (en) Robot control apparatus
JP6400750B2 (ja) 学習制御機能を備えた制御システム及び制御方法
JP6324641B1 (ja) 異常診断装置及び異常診断方法
JP6906711B1 (ja) 摩擦補償装置、衝突検知装置、トルクフィードフォワード演算装置およびロボット制御装置並びに摩擦補償方法
CN111347421A (zh) 用于扭矩估计的方法和装置
JP7118249B2 (ja) モータ制御装置
JPWO2017047009A1 (ja) ロボットの衝突検出方法
US7366576B2 (en) Position control device and position control method for machine tools
JP6457569B2 (ja) サーボモータ制御装置、サーボモータ制御方法、及びサーボモータ制御用プログラム
Lu et al. Experimental determination of dynamic parameters of robotic arms
US20170261529A1 (en) Method for identifying friction parameter for linear module
US10386252B2 (en) Position control apparatus for identifying low-frequency disturbance
JP2020044590A (ja) ロボット装置
CN116018244A (zh) 机器人的碰撞检测装置
JPH05111889A (ja) 制御方式可変型ロボツト制御方式
KR20200051485A (ko) 감속기 시스템, 구동 유닛으로의 지령값의 보정 방법, 보정 데이터의 생성 방법 및 감속기 시스템의 제조 방법
Wang et al. An adaptive controller for robotic manipulators with unknown kinematics and dynamics
JP6333495B1 (ja) サーボ制御装置
JP6949284B1 (ja) 数値制御装置
CN114454150A (zh) 一种基于复合学习的臂式机器人控制方法及机器人系统
JP2958978B2 (ja) 学習制御方法
JP2881873B2 (ja) デジタル適応制御装置
JPS58143985A (ja) 多自由度運動機構の制御方式
JPH06289918A (ja) ロボットの学習制御方法
WO2023032156A1 (ja) ロボット制御システム、ロボット制御装置、動作計画装置、ロボット制御プログラムおよび動作計画プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200916

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200916

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200916

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20201223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210303

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: 20210601

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210629

R150 Certificate of patent or registration of utility model

Ref document number: 6906711

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250