JP6846607B2 - ロボットの制御方法 - Google Patents

ロボットの制御方法 Download PDF

Info

Publication number
JP6846607B2
JP6846607B2 JP2018556167A JP2018556167A JP6846607B2 JP 6846607 B2 JP6846607 B2 JP 6846607B2 JP 2018556167 A JP2018556167 A JP 2018556167A JP 2018556167 A JP2018556167 A JP 2018556167A JP 6846607 B2 JP6846607 B2 JP 6846607B2
Authority
JP
Japan
Prior art keywords
axis
load
rotation axis
predetermined position
torque
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
JP2018556167A
Other languages
English (en)
Other versions
JPWO2018109968A1 (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.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
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 Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Publication of JPWO2018109968A1 publication Critical patent/JPWO2018109968A1/ja
Application granted granted Critical
Publication of JP6846607B2 publication Critical patent/JP6846607B2/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/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/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
    • B25J13/00Controls for manipulators
    • 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/1651Programme controls characterised by the control loop acceleration, rate 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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • 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
    • 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/39194Compensation gravity

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Description

本発明はモータにより駆動されるロボットに装着された負荷の重力トルクを算出する方法に関するものである。
近年、モータによって駆動される複数の回転軸を持ったロボットにおいて安全性の向上や破損の防止を目的とした機能の高精度化が求められている。また、タクトタイムの短縮や追従性能向上を目的とした動作改善や振動抑制制御の向上、さらにロボットによる溶接や精密作業といった仕事の品質向上の実現が求められている。
このような用途を実現するため、各用途での制御方法において、ロボットのアームおよびアームの先端に装着される負荷の質量や重心位置といった情報を必要とする。このうち、ロボットが備えるアームの質量と重心位置は、設計時に使用したCAD等の設計ツールから事前に知ることができる。
しかし、ロボットのアーム先端に任意の負荷を装着する場合には、別途負荷の質量と重心位置を知ることが必要となる。ロボットが負荷の質量と重心位置を知る方法として、ロボットの操作者がロボットコントローラに対して手入力する方法があった。
また手入力しない方法として、静止状態において負荷の未装着時におけるモータ各軸のトルクと、負荷の装着時に微小量だけ持ち上げた時のトルクとの差分により負荷の質量を算出する方法が知られている(例えば、特許文献1参照)。
また、直交する2つの回転軸を中心に回転する各アームを等角速度で往復運動させて、取り付けた負荷の質量に対する重力トルクの大きさと前記2つの回転中心軸間を最短に結ぶ直線の長さとから負荷の質量と重心位置を算出する方法が知られている(例えば、特許文献2参照)。
特開2011−235374号公報 特開2010−76074号公報
しかしながら、負荷の質量と重心位置を手入力する方法では、ロボットの操作者が負荷の質量と重心位置を予め算出や測定によって求めておく必要があり、作業者の負担増や入力忘れ、入力ミスといった可能性があった。
また、手入力しない方法として、特許文献1に示すような負荷の未装着時での手先トルクの推定値と負荷装着時に微小量だけ持ち上げた時の手先のトルク推定値との差分により負荷の質量を推定する方法では、測定したい負荷に対して、装着時と未装着時の両方の状態でトルクの測定が必要となる。また摩擦の方向を考慮した微調整が必要となっており、負荷推定作業者の負担増となってしまう可能性があった。
摩擦の方向を考慮する特許文献2に示すような、直交する2軸にそれぞれかかる重力トルクとその2つの回転中心軸間を最短に結ぶ直線の長さとから負荷の質量と重心位置を算出する方法では、等角速度往復回転運動により動摩擦や粘性摩擦の影響を打ち消すことよって、推定を行っていた。しかし回転方向により動摩擦や粘性摩擦の影響が異なる場合には、その影響が残り、負荷の推定が困難であった。
本発明は、回転方向により動摩擦や粘性摩擦の影響が異なる場合でも、負荷の重力トルクの算出が可能とするロボットの制御方法を提供することを目的とする。
上記課題を解決するために、本発明のロボットの制御方法は、モータにより駆動され、回転軸方向が同じである第一の回転軸と第二の回転軸とを備え、第一の回転軸を中心に回転するアームの先端側に対して、直接または間接的に負荷を装着して用いるロボットの制御方法であって、第一の回転軸を第二の回転軸の関節角に一致する関節角を中心とした正方向と負方向への往復回転運動である加振させながら、第二の回転軸を等角速度で90度以上回転させることにより第一の回転軸を相対的に回転させて、第一の回転軸にかかる負荷の重力トルクを算出するものである。
また、上記に加えて、回転する第二の回転軸の動作角と相対的に回転される第一の回転軸の動作角とを同じと見なし、第一の回転軸の算出された重力トルクと第二の回転軸の動作角を関連付けるものとしてもよい。
また、上記に加えて、ロボットは、第一の回転軸と第二の回転軸の間に、第一の回転軸と第二の回転軸とは回転軸方向が異なる第三の回転軸を備えていてもよい。負荷の重力トルクの算出は、第一の回転軸と動作角が同じと見なされる第二の回転軸が第一の所定の位置にある場合の負荷の重力トルクと、第一の所定の位置から90度回転させた第三の所定の位置にある場合の負荷の重力トルクと、を求めることを含んでもよい。さらに、第三の回転軸を等角速度で90度以上往復回転運動させて、第三の回転軸が第二の所定の位置にある場合の負荷の重力トルクと、第二の所定の位置から90度回転させた第四の所定の位置にある場合の負荷の重力トルクと、を求めてもよい。さらに、第二の回転軸が第一の所定の位置にある場合と第三の所定の位置にある場合とでそれぞれ求められた負荷の重力トルクと、第三の回転軸が第二の所定の位置にある場合と第四の所定の位置にある場合とでそれぞれ求められた負荷の重力トルクと、第一の回転軸の回転中心と第三の回転軸の回転中心とを最短に結ぶ軸間距離と、を用いることで負荷における質量および重心位置を求めることとしてもよい。
装着された負荷に対して、回転方向によって動摩擦や粘性摩擦の影響が異なり、負荷の重力トルクが算出困難である場合においても、負荷の重力トルクの算出が可能となる。
本発明の実施の形態におけるロボットを構成する回転軸の制御方法を示すブロック図 本発明の実施の形態におけるロボットを構成する回転軸のX−Z平面における配置の一例を示す図 本発明の実施の形態におけるロボットを構成する回転軸のY−Z平面における配置の一例を示す図 本発明の実施の形態におけるロボットの、図2に相当するX−Z平面視の図 本発明の実施の形態におけるロボットの、図3に相当するY−Z平面視の図 第4軸が第五の所定の位置にある場合を示すY−Z平面図 第4軸が第五の所定の位置から負方向に90度回転した第六の所定の位置にある場合を示すY−Z平面図 第4軸が第六の所定の位置を超えて第五の所定の位置から負方向に90度以上回転した位置にある場合を示すY−Z平面図 第4軸が第六の所定の位置および第五の所定の位置を超えて図5Cに示された位置から正方向に90度以上回転した位置にある場合を示すY−Z平面図 図5A〜図5Dに示される等角速度運動を行った場合の第6軸にかかる重力トルクの一例を示す図 本発明の実施の形態におけるロボットを構成する回転軸の制御方法を示すブロック図 第5軸が第二の所定の位置にある場合を示すX−Z平面図 第5軸が第二の所定の位置から正方向に90度回転した第四の所定の位置にある場合を示すX−Z平面図 第5軸が第四の所定の位置を超えて第二の所定の位置から正方向に90度以上回転した位置にある場合を示すX−Z平面図 第5軸が第四の所定の位置および第二の所定の位置を超えて図8Cに示される位置から負方向に90度以上回転した位置にある場合を示すX−Z平面図
以下、本発明のロボットの制御方法の実施の形態について、図面を用いて説明する。
(実施の形態1)
本実施の形態では、X−Z平面において表現される図2とY−Z平面において表現される図3に示す、第1軸35、第2軸36、第3軸37、第4軸38(第二の回転軸)、第5軸39(第三の回転軸)、第6軸40(第一の回転軸)の回転軸を備えたロボットについて説明する。またロボットは回転軸と同数のアームを備え、各アームは対応する回転軸を中心に回転する。例えば、第4軸アーム48は、第4軸38を中心に回転し、第5軸アーム49は、第5軸39を中心に回転し、第6軸アーム50は、第6軸40を中心に回転する。このロボットは、6軸の垂直多関節型のロボットであり、ロボットの接地面にもっとも近い軸が第1軸35であり、ロボットの最も先端側の軸が第6軸40である。X−Y平面はロボットの接地面に平行であり、Z方向はロボットの接地面に対して垂直である。
図2と図3において、距離Xl,距離Yl,距離Zlは第6軸40の回転中心から第6軸アーム50の先端に装着された負荷41の重心位置までを最短で結ぶ軸間距離(負荷オフセット)のX成分,Y成分,Z成分を示す。
また図2において、アーム長Liiとアーム長Ljは、第5軸39の回転中心から第6軸40の回転中心までの距離(第5軸アーム49のアーム長)のZ成分とX成分を示す。本実施形態では、図3に示すように第5軸39と第6軸40の各回転中心がZ方向に平行な同一線上となる例をしめしている。第5軸アーム49のアーム長のY成分は、0である。
これらの寸法のうち、負荷41の重心位置に関する距離Xl、距離Ylおよび距離Zlは未知の数値である。そして第5軸39と第6軸40に関するアーム長Liiとアーム長Ljはロボットの構成に基づいて予め知ることができる既知の数値である。
図4Aは図2に相当するX−Z平面視の第3軸以降の図であり、図4Bは図3に相当するY−Z平面視の第4軸以降の図である。但し、図4Bは、図4Aに比べて見やすいように拡大して記載している。
図4Aにおいて距離L5は、第5軸39の回転中心から負荷41の重心位置までの長さを示している。図4Bにおいて距離L6は、第6軸40の回転中心から負荷41の重心位置までの長さを示している。ここで、距離L5は、アーム長Lii、アーム長Lj、距離Xl,距離Zlから算出可能であり、距離L6は、距離Yl,距離Zlから算出可能である。
次に、ロボットを構成するアームの先端に装着された負荷41に関し、アーム先端軸である第6軸40にかかる負荷41の重力トルクを算出する方法について説明する。
まず、図1はロボットの回転軸の制御方法を示すブロック図である。そしてこのブロック図で行われる制御は図示しないロボットコントローラ内で行われるものである。ロボット全体としては図1と同様にブロック図が複数軸分存在するが、図1のブロック図を代表としてモータの1軸分の制御について説明する。
図1の位置制御ブロック1において、ロボットの関節角指令θrcに減速比Rgを乗じて計算されたモータ位置指令θcomとモータ位置フィードバックθmの差分値と位置比例ゲインKPPから速度ループ指令ωcomを生成する。
図1の速度制御ブロック12において、速度ループ指令ωcomとモータ速度フィードバックωmの差分値と速度比例ゲインKPと速度積分ゲインKIとからモータ電流指令Imを生成する。
図1のモータと外力を示した動力学制御ブロック18において、減速機を剛体と仮定すると、モータ発生トルクτmは、モータ駆動側から見れば式(数1)で表され、負荷側から見れば式(数2)で表される。
Figure 0006846607
Figure 0006846607
ただし、式(数1)、式(数2)における記号は以下の通りである。
Kt:モータトルク定数。
Im:モータ電流。
αm:モータ角加速度(ωmの微分値)。
ωm:モータ角速度。
Jm:モータイナーシャ(ロータ+減速機の一次側、減速機の二次側に換算)。
D:粘性摩擦係数。
τμ:摩擦トルク。
τdyn:動力学トルク(重力トルク、慣性力、遠心力、コリオリ力の和)。
Rg:減速機の減速比。
摩擦トルクτμは以下の式で計算できる。
Figure 0006846607
ただし、
Kμ:動摩擦の大きさ。
Figure 0006846607
式(数2)における動力学トルクτdynは、低速で等角速度運動時に、角速度や角加速度に起因する慣性力、遠心力、コリオリ力は無視でき、重力トルク成分として近似できるので、以下の様に表すことができる。
Figure 0006846607
ただし、
θr:ロボット関節角(減速機出力角度)=θm/Rg
τgA[θr]:ロボットのアームに起因する重力トルク。
τgL[θr]:ロボットに装着された負荷に起因する重力トルク。
両方ともロボット関節角θrにより一意に決定される。
ロボットを構成するアーム等の部品の質量と形状は既知である。
そしてロボットのアームに起因する重力トルクτgA[θr]は、全軸のロボットの関節角がわかれば計算できる。
図1のアーム重力トルク演算ブロック24は、当該軸のロボット関節角θrと静止状態にある他軸のロボット関節角θrを入力し、ロボットを構成するアーム等の部品の質量と形状から、アームに起因する重力トルクτgA[θr]を計算する。
等角速度運動時では、モータ角加速度αmは0である。式(数1)〜式(数5)から負荷の重力トルクτgL[θr]を求める式を導出すると以下になる。
Figure 0006846607
ここで、負方向(sgn=−1)に−ωm0で等角速度運動させた時の電流をIm[θr]mとし、正方向(sgn=1)にωm0で等角速度運動させた時のモータ電流をIm[θr]pとして式(数6)を表すと、それぞれ以下の式(数7)、式(数8)となる。
Figure 0006846607
Figure 0006846607
式(数7)、式(数8)を加算して2で割ると以下の様になる。
Figure 0006846607
ただし、
Figure 0006846607
つまり、低速でかつ等角速度にて負荷を往復回転運動させ、負方向の運動中にロボット関節角θrとその角度でのモータ電流値Im[θr]mのデータを蓄積し、正方向の運動中にロボット関節角θrとその角度でのモータ電流値Im[θr]pのデータを蓄積する。そして、所定の角度角Δθrの往復回転運動の後で、同じ関節角θr同士で正負方向の平均をとれば(足して2で割れば)、摩擦力に関係する項が除去される。したがって、粘性摩擦係数Dや動摩擦Kμの値を求める必要がなく、重力トルクτgL[θr]を求めることができる。
ただし、この方法は、回転方向により動摩擦の影響の大きさが異なる場合において適用できない。例えば構造的な特徴があるハイポイドギア等の減速機を介した回転軸を持つロボットの例が該当する。
このような場合では式(数7)、式(数8)はそれぞれ以下のようになる。
Figure 0006846607
Figure 0006846607
ただし、式(数11)、式(数12)における記号は以下の通りである。
K’μ:負方向回転時における動摩擦の大きさ。
K’μ:正方向回転時における動摩擦の大きさ。
式(数11)、式(数12)を加算して2で割ると以下の様になる。
Figure 0006846607
ただし、
Figure 0006846607
式(数13)に示すように、負方向と正方向の動摩擦の大きさをそれぞれ求めなければ、重力トルクτgL[θr]を求めることができない。しかしながら、実際に動摩擦の大きさを測定または推定するのは困難である。したがって、動摩擦の影響を受けない方法で重力トルクτgL[θr]を求めることが望ましい。
ここで、本発明の実施の形態1のロボット制御方法は、モータにより駆動され、回転軸方向が同じである第6軸40(第一の回転軸)と第4軸38(第二の回転軸)とを備え、第6軸40を中心に回転する第6軸アーム50の先端側に対して、直接または間接的に負荷41を装着して用いるロボットの制御方法であって、第6軸40を加振させながら、第4軸38を回転させることにより第6軸40を相対的に回転させて、第6軸40にかかる負荷41の重力トルクを算出するものである。
まず、図5A〜図5Dに示すように第4軸38を90度以上回転させて、第6軸40にかかる負荷41の重力トルクを求める。
図5Aは第4軸38が第五の所定の位置にある場合を示している。図5Bは、第4軸38が第五の所定の位置から負方向に90度回転した第六の所定の位置にある場合を示している。図5Cは、第4軸38が、第六の所定の位置を超えて、第五の所定の位置から負方向に90度以上回転した位置にある場合を示している。図5Dは、第4軸38が、第六の所定の位置および第五の所定の位置を超えて、図5Cに示される位置から正方向に90度以上回転した位置にある場合を示している。図5A〜図5Dに示される通り、第6軸40の関節角(以下、動作角ともいう)は、回転中の第4軸38を基準とすると実質的に不変である。すなわち、第6軸40は、第4軸38から見ると実質的に回転していない。ここで「実質的に」と表現しているのは、後述の通り、第6軸40は僅かに加振されているからである。一方、第6軸40の動作角は、Y−Z平面(ひいてはロボットの接地面)を基準とすると、第4軸38の動作角に一致する。すなわち、第6軸40は、ロボットの接地面から見ると、第4軸38の回転に同期して回転している。したがって、ロボットの接地面を基準とすると、第4軸38の動作角を第6軸40の動作角と見なすことができる。
さらに、第4軸38を回転させる際には、第6軸40の静止摩擦の影響をなくすために、図5Aに示すように第6軸40を加振させる。加振は、第4軸38の関節角に一致する関節角を中心とした正方向と負方向への往復回転運動である。第6軸40の加振の振幅は、第4軸38の往復回転運動の振幅よりも小さい。第6軸40の加振の周期は、第4軸38の往復回転運動の周期よりも小さい。第6軸40の加振の中心は第4軸38の関節角に一致し、その振幅および周期は小さいので、第6軸40は、実質的に単独では回転していないと見なすことができる。すなわち、第6軸40は、第4軸38から見て実質的に回転していないと見なすことができる。実質的に単独で回転していない第6軸40は、動摩擦および粘性摩擦の影響を受けない。また加振された第6軸40は、静止摩擦の影響も受けない。そのため、第6軸40にかかる負荷41の重力トルクを正確に算出することが可能となる。具体的には、第6軸40を駆動するモータに流れるモータ電流の大きさと、第6軸40の動作角と見なすことができる第4軸38の動作角とを測定する。この測定結果を、式(数6)の右辺第1項に代入する。粘性摩擦と動摩擦の影響は受けないので、式(数6)の右辺第2項および第3項は無視できる。式(数6)の右辺第4項は既知である。これにより、第6軸40にかかる負荷41の重力トルクτgL(θr)を算出できる。
また、第4軸38の回転速度は、低速で等角速度とするのが良い。これは低速で等角速度で回転運動させると慣性力、遠心力、コリオリ力が無視できる程小さくなり、逆に高速で運動させると軸に角速度や角加速度による慣性力、遠心力、コリオリ力の影響が大きくなり、正確な重力トルクを求められない場合があるためである。
さらに、第4軸38の往復回転運動の振幅は、第五の所定の位置と第六の所定の位置とを含む90度以上の範囲(以下、所定の範囲という)が好ましい。これにより、第五の所定の位置及び第六の所定の位置ではともに第4軸38が回転中であるため、減速機のバックラッシュの影響を受けずに負荷41の重力トルクを求めることが出来る。
さらに、精度向上のため図6に示すように、式(数6)により求めた重力トルクに対して、加振の成分を取り除くフィルタ処理を行うこととしてもよい。そして、実際に回転した第4軸38の動作角を、負荷が取り付けられ加振している第6軸40の動作角と同じと見なし、上述の求めた第6軸40にかかる負荷41の重力トルクと、第6軸40の動作角と同じと見なした第4軸38の動作角とを関連付ける。第4軸38を往復回転運動させて、正方向の運動中に求めた負荷41の重力トルクのデータと負方向の運動中に求めた負荷41の重力トルクのデータとを蓄積する。そして同じ動作角同士で正負方向の平均をとることにより、算出する負荷41の重力トルクの精度をさらに向上させることが出来る。
図7は、ロボットの制御方法を示すブロック図である。第4軸38は、位置制御ブロック1a、速度制御ブロック12aおよび動力学制御ブロック18aにより制御される。第6軸40は、位置制御ブロック1b、速度制御ブロック12bおよび動力学制御ブロック18bにより制御される。
位置制御ブロック1aおよび位置制御ブロック1bは、図1の位置制御ブロック1と同様に働く。ここで、位置制御ブロック1aは、第4軸38についての関節角指令θrc4を受ける。関節角指令θrc4は、低速、等角速度かつ所定の範囲で第4軸38を往復回転運動させるための指令である。位置制御ブロック1bは、第6軸40についての関節角指令θrc6を受ける。関節角指令θrc6は、第6軸40を加振させるための指令である。
速度制御ブロック12aおよび速度制御ブロック12bは、図1の速度制御ブロック12と同様に働く。速度制御ブロック12aは、第4軸38を駆動するモータについてのモータ電流指令Im4を生成する。速度制御ブロック12bは、第6軸40を駆動するモータについてのモータ電流指令Im6を生成する。
動力学制御ブロック18aおよび動力学制御ブロック18bは、図1の動力学制御ブロック18と同様に働く。動力学制御ブロック18aは、第4軸38を駆動するモータについてのモータ位置指令θm4を生成する。動力学制御ブロック18bは、第6軸40を駆動するモータについてのモータ位置指令θm6を生成する。
アーム重力トルク演算ブロック24は、第4軸38のロボット関節角(動作角)と、他軸のロボット関節角とに基づいて、アームに起因する重力トルクτgA(θr)を算出する。データ蓄積・摩擦トルク除去ブロック26は、第4軸38の動作角θrのデータとそのときの第6軸40の駆動トルクτgI(θr)のデータとを蓄積する。
重力トルク算出ブロック28は、駆動トルクτgI(θr)とアームに起因する重力トルクτgA(θr)とから、第6軸40にかかる負荷41の重力トルクτgL(θr)を算出する。ここで、第6軸40にかかる負荷41の重力トルクτgL(θr)は、第4軸38の動作角θrの関数である。すなわち、算出された第6軸40にかかる重力トルクと第4軸38の動作角とが関連付けられている。
重力トルク算出ブロック28は、さらに、各動作角での重力トルクに対し、図6に示されるようなフィルタ処理および平均処理を実行してもよい。
以上により、第6軸40にかかる負荷41の重力トルクを求める方法を示した。本方法は、第6軸40を実質的に回転させず、第6軸40と回転軸方向が同じ第4軸38を回転させることにより第6軸40を相対的に回転させる。本方法は、さらに、第4軸38の回転中に第6軸40を加振させる。
これにより、第6軸40の回転方向により動摩擦及び粘性摩擦が異なる場合でも、第6軸40を中心として回転する第6軸アーム50の先端側に直接または間接的に装着された負荷41の重力トルクの正確な算出が可能となる。
(実施の形態2)
実施の形態1により、動摩擦の影響を受けずに装着された負荷の重力トルクを求めることができる。求めた重力トルクに関しての利用方法として挙げられるのが、負荷の質量Mおよび重心位置の推定である。背景技術で説明した特許文献2の方法では、直交する2軸にかかる負荷の重力トルクを求め、その負荷の質量や重心位置を算出している。そこで、実施の形態1と特許文献2の方法を併用することにより動摩擦の影響を受けずに精度良く、任意の負荷の質量や重心位置を求める例について説明する。
最初に第5軸39にかかる負荷41の重力トルクを求める方法について述べるが、これは特許文献2に記載の内容と同じである。第5軸39に関しては、第二の所定の位置と第二の所定の位置から90度回転した第四の所定の位置での重力トルクを求める。第二の所定の位置とは第5軸39を回転中心とする第5軸アーム49が水平となる位置である。そして、実際に重力トルクを求める際には、第二の所定の位置と第四の所定の位置を含む範囲で第5軸39を等角速度で往復運動させる。
図8Aは、第5軸39が第二の所定の位置にある場合(第5軸39を回転中心とする第5軸アーム49が水平の位置にある状態)を示している。図8Bは、第5軸39が第二の所定の位置から正方向に90度回転した第四の所定の位置にある場合を示している。図8Cは、第5軸39が第四の所定の位置を超えて、第二の所定の位置から正方向に90度以上回転した位置にある場合を示している。図8Dは、第5軸39が第四の所定の位置および第二の所定の位置を超えて、図8Cに示される位置から負方向に90度以上回転した位置にある場合を示している。
そして、この動作中に第二の所定の位置で第5軸39にかかる負荷41の重力トルクと第四の所定の位置で第5軸39にかかる負荷41の重力トルクを前述の式(数7)、式(数8)、式(数9)、式(数10)により計算する。
次に、実施の形態1で求められた第6軸40にかかる負荷41の重力トルクと特許文献2の方法にて求められた第5軸39にかかる負荷41の重力トルクを用いて、負荷41の質量Mと負荷41の重心位置に関する距離X1,距離Y1,距離Z1を求める方法について説明する。
負荷41の質量をM、重力加速度をgとする。第5軸39が第二の所定の位置にある場合の第5軸39にかかる負荷41の重力トルクT1は回転中心から負荷41の重心位置までの距離L5(図4A参照)を考慮すれば式(数15)で表現される。第5軸39が第四の所定の位置にある場合の第5軸39にかかる負荷41の重力トルクT2は式(数16)によって表現される。
なお、第二の所定の位置と第四の所定の位置は垂直の位置関係となるので、以下のような式を導出できる。
Figure 0006846607
Figure 0006846607
同様に回転中心から負荷41の重心位置までの距離L6(図4B参照)を考えて、第6軸40および第4軸38が第一の所定の位置にある場合の第6軸40にかかる負荷41の重力トルクT3は式(数17)にて表現できる。第6軸40および第4軸38が、第一の所定の位置から90度回転した第三の所定の位置にある場合の第6軸40にかかる負荷41の重力トルクT4は式(数18)にて表現できる。
Figure 0006846607
Figure 0006846607
一般的なロボット各軸の関節角は各軸に設けられたエンコーダ等の回転位置検出装置により検出しているので、第5軸アーム49を水平位置にするための第5軸39の関節角は回転位置検出装置により検出でき、負荷41が第一の所定の位置にあるときの第6軸40の関節角は水平位置の原点位置となり0度となるので、前述の式(数1)から式(数14)に基づいて負荷41に関する重力トルクT1、T2、T3、T4が計算できる。
さらに式(数16)、式(数18)から、
Figure 0006846607
となり負荷41の質量Mが求められる。
さらに、式(数19)により求めた質量Mを式(数15)に代入して距離Xlが求まり、式(数17)に代入して距離Ylが求まり、式(数16)または式(数18)に代入して距離Zlが求まる。
以上のように、実施の形態1の第6軸40(第一の回転軸)と、本実施の形態2での第5軸39(第三の回転軸)との2つの回転軸について、所定の位置(第一の所定の位置、第二の所定の位置)とその所定位置から90度回転させた位置(第三の所定の位置、第四の所定の位置)の2点においてそれぞれの重力トルクを求めるものである。
具体的には、実施の形態1に示される方法で、第6軸40と動作角が同じと見なされる第4軸38が第一の所定の位置にある場合の負荷41の重力トルクと、第一の所定の位置から90度回転させた第三の所定の位置にある場合の負荷41の重力トルクと、を求める。さらに、本実施の形態2に示される方法で、第5軸39を等角速度で90度以上往復回転運動させて、第5軸39が第二の所定の位置にある場合の負荷41の重力トルクと、第二の所定の位置から90度回転させた第四の所定の位置にある場合の負荷41の重力トルクと、を求める。さらに、第6軸40と動作角が同じと見なされる第4軸38が第一の所定の位置にある場合と第三の所定の位置にある場合とでそれぞれ求められた負荷41の重力トルクと、第5軸39が第二の所定の位置にある場合と第四の所定の位置にある場合とでそれぞれ求められた負荷41の重力トルクと、第6軸40の回転中心と第5軸39の回転中心とを最短に結ぶ軸間距離(Lj,Lii)と、を用いることで、簡便に負荷41の質量や重心位置を求めることができる。これによりモータにより駆動されるロボットに装着された負荷に関する重力トルクと負荷の質量や重心位置を精度良く算出することが出来る。
本発明は、モータにより駆動されるロボットに装着された負荷に関する重力トルクを精度良く算出する制御方法を提供するものであり、負荷の重量推定や衝突検出機能の高感度化を実現する。また、ロボットの利用分野の拡大と溶接や精密作業などの品質向上に利用できる。
1,1a,1b 位置制御ブロック
12,12a,12b 速度制御ブロック
18,18a,18b 動力学制御ブロック
24 アーム重力トルク演算ブロック
26 データ蓄積・摩擦トルク除去ブロック
28 重力トルク算出ブロック
35 第1軸
36 第2軸
37 第3軸
38 第4軸
39 第5軸
40 第6軸
41 負荷
48 第4軸アーム
49 第5軸アーム
50 第6軸アーム
M 質量

Claims (3)

  1. モータにより駆動され、回転軸方向が同じである第一の回転軸と第二の回転軸とを備え、前記第一の回転軸を中心に回転するアームの先端側に対して、直接または間接的に負荷を装着して用いるロボットの制御方法であって、
    前記第一の回転軸を前記第二の回転軸の関節角に一致する関節角を中心とした正方向と負方向への往復回転運動である加振させながら、前記第二の回転軸を等角速度で90度以上回転させることにより前記第一の回転軸を相対的に回転させて、前記第一の回転軸にかかる前記負荷の重力トルクを算出するロボットの制御方法。
  2. 回転する前記第二の回転軸の動作角と相対的に回転される前記第一の回転軸の動作角とを同じと見なし、前記第一の回転軸の算出された重力トルクと前記第二の回転軸の動作角を関連付ける請求項に記載のロボットの制御方法。
  3. 前記ロボットは、前記第一の回転軸と前記第二の回転軸の間に、前記第一の回転軸と前記第二の回転軸とは回転軸方向が異なる第三の回転軸を備え、
    前記負荷の重力トルクの算出は、前記第一の回転軸と動作角が同じと見なされる前記第二の回転軸が第一の所定の位置にある場合の前記負荷の重力トルクと、前記第一の所定の位置から90度回転させた第三の所定の位置にある場合の前記負荷の重力トルクと、を求めることを含み、
    さらに、
    前記第三の回転軸を等角速度で90度以上往復回転運動させて、
    前記第三の回転軸が第二の所定の位置にある場合の前記負荷の重力トルクと、前記第二の所定の位置から90度回転させた第四の所定の位置にある場合の前記負荷の重力トルクと、を求め、
    前記第二の回転軸が前記第一の所定の位置にある場合と前記第三の所定の位置にある場合とでそれぞれ求められた前記負荷の重力トルクと、前記第三の回転軸が前記第二の所定の位置にある場合と前記第四の所定の位置にある場合とでそれぞれ求められた前記負荷の重力トルクと、前記第一の回転軸の回転中心と前記第三の回転軸の回転中心とを最短に結ぶ軸間距離と、を用いることで前記負荷における質量および重心位置を求める請求項またはに記載のロボットの制御方法。
JP2018556167A 2016-12-16 2017-07-07 ロボットの制御方法 Active JP6846607B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016243916 2016-12-16
JP2016243916 2016-12-16
PCT/JP2017/024933 WO2018109968A1 (ja) 2016-12-16 2017-07-07 ロボットの制御方法

Publications (2)

Publication Number Publication Date
JPWO2018109968A1 JPWO2018109968A1 (ja) 2019-10-24
JP6846607B2 true JP6846607B2 (ja) 2021-03-24

Family

ID=62558237

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018556167A Active JP6846607B2 (ja) 2016-12-16 2017-07-07 ロボットの制御方法

Country Status (5)

Country Link
US (1) US11161242B2 (ja)
EP (1) EP3556522B1 (ja)
JP (1) JP6846607B2 (ja)
CN (1) CN110049850B (ja)
WO (1) WO2018109968A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6844434B2 (ja) * 2017-06-15 2021-03-17 株式会社デンソーウェーブ ロボットの負荷重心位置推定装置及びロボットの負荷重心位置推定方法
JP6795540B2 (ja) * 2018-04-24 2020-12-02 ファナック株式会社 ロボットを用いた負荷の重量及び重心位置を推定するための装置、方法及びプログラム
DE102018006612A1 (de) * 2018-08-21 2020-02-27 Franz Kessler Gmbh Verfahren zur Bestimmung von Masse und Schwerpunktlage einer Zuladung eines Bewegungssystems, insbesondere bei einer Werkzeugmaschine
US11691293B2 (en) * 2018-08-31 2023-07-04 Fanuc Corporation Robot
CN109483596B (zh) * 2018-11-22 2020-06-30 库曼机器人(武汉)有限公司 一种机器人工具端负载的测试方法
JP2021037582A (ja) * 2019-09-03 2021-03-11 ファナック株式会社 アームを有するロボットの制御装置
JP7473679B2 (ja) * 2020-04-15 2024-04-23 上海非夕機器人科技有限公司 ロボットに対する重力方向を推定する方法、ロボットシステム、および非一時的なコンピュータ可読媒体
CN111604901B (zh) * 2020-05-18 2022-06-24 哈尔滨工业大学 一种适用于机械手在手操作的目标旋转检测方法
CN117850433B (zh) * 2024-01-15 2024-06-21 齐鲁工业大学(山东省科学院) 受扰通信受限移动机器人避撞编队控制方法和系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0933369A (ja) * 1995-07-18 1997-02-07 Kobe Steel Ltd 電動モータ系の外力・外トルク検出方法並びにその装置
SE9700767D0 (sv) * 1997-03-04 1997-03-04 Asea Brown Boveri Förfarande för bestämning av lastparametrar hos en industrirobot
JP3835641B2 (ja) * 1997-08-05 2006-10-18 株式会社安川電機 ロボットの負荷パラメータ推定方法
JP4250538B2 (ja) 2004-01-27 2009-04-08 パナソニック株式会社 揺動装置を有する多関節ロボット
JP2010076074A (ja) * 2008-09-29 2010-04-08 Panasonic Corp ロボットの制御方法
JP5327722B2 (ja) 2010-05-07 2013-10-30 株式会社安川電機 ロボットの負荷推定装置及び負荷推定方法
JP5360254B2 (ja) * 2012-03-21 2013-12-04 トヨタ自動車株式会社 トルク検出方法及びアーム装置
GB2518576B (en) 2012-08-02 2015-09-02 Toshiba Machine Co Ltd Robotic apparatus and control method therefor
KR101438970B1 (ko) * 2012-12-27 2014-09-15 현대자동차주식회사 로봇의 보행제어방법
CN104298243B (zh) * 2014-08-19 2017-02-15 北京理工大学 一种仿人机器人不平整地面行走的稳定控制方法
WO2016185600A1 (ja) * 2015-05-21 2016-11-24 三菱電機株式会社 ロボット制御装置
KR102485718B1 (ko) * 2015-08-11 2023-01-06 삼성전자주식회사 보행 보조 장치의 토크 계산 방법 및 장치
CN107717982B (zh) * 2016-08-12 2020-09-25 财团法人工业技术研究院 机械手臂的控制装置及操作方法

Also Published As

Publication number Publication date
WO2018109968A1 (ja) 2018-06-21
US11161242B2 (en) 2021-11-02
JPWO2018109968A1 (ja) 2019-10-24
EP3556522A1 (en) 2019-10-23
CN110049850A (zh) 2019-07-23
EP3556522B1 (en) 2022-04-06
EP3556522A4 (en) 2020-01-15
US20190275674A1 (en) 2019-09-12
CN110049850B (zh) 2022-05-17

Similar Documents

Publication Publication Date Title
JP6846607B2 (ja) ロボットの制御方法
JP7314475B2 (ja) ロボット制御装置、及び、ロボット制御方法
JP4858229B2 (ja) ロボットに取り付けられた負荷の質量と重心位置の算出方法
JP6046218B1 (ja) 物体と物体とを合わせ状態にするロボットのロボット制御装置
JP3883544B2 (ja) ロボット制御装置およびロボットの制御方法
JP6008121B2 (ja) ロボットおよびロボット制御装置
JP2010076074A (ja) ロボットの制御方法
CN112654467A (zh) 获得机器人臂的机器人关节齿轮的齿轮刚度
JP5849451B2 (ja) ロボットの故障検出方法、制御装置およびロボット
WO2016039020A1 (ja) 振動モード測定装置
JP6248544B2 (ja) ロボット、制御装置、ロボットシステム
CN109129525B (zh) 机器人的负载重心位置推定装置及负载重心位置推定方法
JPS6010876B2 (ja) マニピュレ−タ及び工業用ロボットの制御方法
TW201546587A (zh) 馬達控制裝置
JP3933158B2 (ja) ロボットの衝突検出方法
JP2018158418A (ja) ロボットの負荷重心位置推定装置及びロボットの負荷重心位置推定方法
SE516720C2 (sv) Utrustning för styrning av en industrirobot och förfarande för programmering och/eller justering av robotens rörelse
CN110871456B (zh) 机器人
JP7034383B2 (ja) サーボ制御装置
JP2021091064A (ja) 外乱オブザーバ及び外乱オブザーバを用いた接触点推定手段
JP4305340B2 (ja) ロボットに取り付けられた負荷の質量と重心位置の算出方法
JP4030747B2 (ja) ロストモーション補正方法およびロストモーション補正装置
JP6565622B2 (ja) ロボットシステム及びロボット制御方法
JP5473889B2 (ja) 力制御装置
JP2006011752A (ja) パラレルメカニズム型工作機械の切削抵抗推定方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201130

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210118

R151 Written notification of patent or utility model registration

Ref document number: 6846607

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151