JP3698770B2 - 負荷重量の推定方法 - Google Patents
負荷重量の推定方法 Download PDFInfo
- Publication number
- JP3698770B2 JP3698770B2 JP26627895A JP26627895A JP3698770B2 JP 3698770 B2 JP3698770 B2 JP 3698770B2 JP 26627895 A JP26627895 A JP 26627895A JP 26627895 A JP26627895 A JP 26627895A JP 3698770 B2 JP3698770 B2 JP 3698770B2
- Authority
- JP
- Japan
- Prior art keywords
- load
- axis
- load weight
- unknown
- weight
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Feedback Control In General (AREA)
Description
【発明の属する技術分野】
本発明は、ロボットや工作機械のようなサーボモータで駆動される自動機械の制御のために負荷重量を推定する技術に関する。本発明の方法で推定された負荷重量を表わすパラメータは、例えばフィードフォワード制御時にフィードフォワード項の計算に利用される。
【0002】
【従来技術】
昨今、ロボット等を制御するためのディジタルサーボ制御技術においては、DSP(ディジタルシグナルプロセッサ)の処理能力や制御対象の特性(イナーシャが大きいなど)から、フィードバックゲインの更なるハイゲイン化を図ることは困難な状況にある。従って、目に見える制御性能の違いを与える要因は、フィードフォワードをうまく活用出来るか否かにかかって来る。
【0003】
フィードフォワードは、サーボモータを用いてロボットのアームや工作機械の送り軸などを駆動する場合にサーボ系の追従遅れを低減させる制御方法として、広く用いられている手法で、例えば、位置ループと速度ループに関してフィードフォワードを適用する場合には、位置・速度の処理周期毎に位置指令(移動指令)を微分し、この微分値を位置ループ処理で計算された速度指令値に加算して速度指令値を求める一方、イナーシャに関するパラメータに基づいて定められるフィードフォワード項を、速度ループ処理で計算されたトルク指令値に加算し、フィードフォワード制御時のトルク指令とする処理を行う。
【0004】
フィードフォワード制御を適正に行う為には、ロボットの動特性を正しく把握して、フィードフォワード項の計算を正しく行なわれなければならない。フィードフォワード項は、制御対象とする系自体に変更があれば当然変化する。そのため、従来は、ユーザがロボット等の自動機械に付加的な物体(例えば、ハンド、加工ツールなど)を取り付けた際に、その物体の質量、重心位置などのパラメータをユーザが入力し、そのパラメータをフィードフォワード項の計算に取り入れられる方式が採用されていた。
【0005】
しかし、ユーザが市販のハンドやツール等を自動機械に装着する場合、その質量や重心位置が簡単に判らないことも多く、それを知る為の調査がユーザの負担となっていた。また、ユーザが負荷重量値を入力しない場合には、最大許容値が自動設定されることが通例であり、無用なサイクルタイムの遅延や、フィードフォワードが不正確さによる振動を生ずるおそれがあった。
【0006】
このような状況から、ロボット等の製造時には未確定である負荷重量を、負荷が実際に取り付けられる現場で簡便且つ正確に推定する方法が求められていた。負荷重量を推定する一つの手法として、重力モーメントの釣合を表わす方程式を解く方法が知られている。この手法を例えば6軸ロボットに適用する場合には、次のような方程式を解くことになる。
【0007】
τi =Mi +P*Li (X,Y,Z)+Fi ・・・(1)
ここで、
τi ;ロボットの静止時に第i軸にかかるトルク
P ;負荷重量
Fi ;第i軸の静摩擦
Mi ;負荷以外の重量から発生し、第i軸にかかる重力モーメント
(X,Y,Z);負荷の重心位置で、最終軸(6軸ロボットであれば、第6軸)に固定された座標系上の座標値で、後述するように、(x6g,y6g,z6g)など表記される。
【0008】
Li ;第i軸について、負荷の重力モーメントの腕の長さ。負荷重量Pとの積は、第i軸にかかる負荷の重力モーメントを表わす。
【0009】
Mi 及びLi は、同一のロボットであれば、負荷を取り付けた後は、ロボットの姿勢のみの関数となる。静止時には、負荷のモーメントを表わすデータをロボットから得ることは出来ないので、上記(1)式を解いて求めるパラメータは、Pi ,X,Y,Zの4つになる。原理的には、負荷による重力モーメントがかかる4つ(以上)の軸を選んでトルクτi を測定し、上記(1)式を連立させて解けば、負荷重量の推定値と重心位置を表わす4つのパラメータPi ,X,Y,Zが求められる。
【0010】
しかし、この方法を実際に適用しようとした場合、静摩擦Fi の個体差やユーザの使用状況によるロボットリンクの重量の変化(例えば、ケーブルや溶接機などがロボットアームに装着されることによって変化する)の影響を補正することが困難なので、負荷重量の推定精度を上げることが出来なかった。
【0011】
【発明が解決しようとする課題】
そこで、本発明の目的は、サーボモータで駆動される制御対象(自動機械)に付加的に取り付けられる物体に関して、その物体の負荷重量に関するパラメータ(質量、重心位置を表わすパラメータ)を簡便且つ正確に推定することにある。また、本発明は、そのことを通して、ユーザがハンド、ツール等の物体をロボットや工作機械に取り付けて作業を行なう場合の作業負担を軽減するとともに、フィードフォワード制御の性能の向上に寄与しようとするものである。
【0012】
【課題を解決するための手段】
本発明は、上記技術課題を解決する為に、ソフトウェア処理能力を有する制御装置によって制御され、サーボモータで駆動される複数の軸を有する制御対象について、静止中の各軸のバランスを表わす下記のバランス式、
τi =Mi +P*Li (X,Y,Z)+Fi
(但し、τi ;制御対象の静止時に第i軸にかかるトルク
P;負荷の質量
Fi ;第i軸の静摩擦
Mi ;負荷以外の重量から発生し、第i軸にかかる重力モーメント
(X,Y,Z);負荷の重心位置
Li ;第i軸について、負荷の重力モーメントの腕の長さ)
の右辺に影響を与える変量について、既知な条件を含む複数の互いに異なる条件を制御対象に与え、各条件の下で所要数の軸についてトルクを測定し、それを前記式(1)の左辺に代入して得られる所要数の方程式を連立させ、未知の負荷重量のパラメータを求めることによって、前記付加的に取り付けられた物体の負荷重量を表わすパラメータを算出するようにしたものである。ここで、負荷重量のパラメータ(負荷重量パラメータ)には、少なくとも負荷の質量と重心位置を表わすものが含まれている。
【0013】
バランス式の右辺に影響を与える変量としては、「負荷の質量」と「姿勢」が有用である。前者を採用した場合には、共通した静止姿勢の下で、既知な第1の負荷重量条件と未知の第2の負荷重量条件を前記制御対象に与え、各負荷重量条件の下で、少なくとも4つの軸についてトルクを前記制御装置内部で測定し、上記バランス式の左辺に代入し、両負荷重量条件の間でバランス式の差分をとる形式で作成される連立方程式を解く。これによって、未知の第2の負荷重量条件を表わす未知パラメータが求められる。
【0014】
バランス式の右辺に影響を与える変量として、「姿勢」を採用した場合には、相互に異なる所定数の静止姿勢条件の下で、未知の負荷重量条件を制御対象に与え、各静止姿勢条件の下で、1つ以上の軸についてトルクを制御装置内部で測定する。そして、これらの測定されたトルクを前記のバランス式に代入して得られる方程式を連立させ、負荷以外の重量から発生し、第i軸にかかる重力モーメントMi を記述するリンクパラメータと第i軸の静摩擦Fi を先に求め、更に、それに基づいて未知の負荷重量条件を表わす未知パラメータを求めることにより、未知の負荷重量が推定される。
【0015】
制御対象としては、6軸ロボットや工作機械が考えられる。また、求められた負荷重量を表わすパラメータは、例えば、フィードフォワード制御を実行する際のフィードフォワード項の計算に利用される。
【0016】
【作用】
本発明は、制御対象の静止中の各軸のバランスを表わす前出のバランス式、
τi =Mi +P*Li (X,Y,Z)+Fi
(但し、τi ;制御対象の静止時に第i軸にかかるトルク
P;負荷の質量
Fi ;第i軸の静摩擦
Mi ;負荷以外の重量から発生し、第i軸にかかる重力モーメント
(X,Y,Z);負荷の重心位置
Li ;第i軸について、負荷の重力モーメントの腕の長さ)
の右辺に影響を与える変量について、既知な条件を含む複数の互いに異なる条件を制御対象に与え、各条件の下で所要数の軸についてトルクを測定し、それを前記式(1)の左辺に代入することによって、複数の独立した方程式が得られる点に着目したものである。即ち、求めるべき未知数の数以上の独立した方程式が得られれば、これらを連立させて、直接または間接に負荷重量を表わすパラメータが求められる。
【0017】
バランス式の右辺に影響を与える変量として、「負荷の質量」を採用した場合には、共通した静止姿勢の下で、既知な第1の負荷重量条件と未知の第2の負荷重量条件を前記制御対象に与え、各負荷重量条件の下で、少なくとも4つの軸についてトルクを前記制御装置内部で測定する。そして、それらを上記バランス式の左辺に代入し、両負荷重量条件の間でバランス式の差分をとる形式で作成される連立方程式を解けば、未知の第2の負荷重量条件を表わすパラメータが求められる。
【0018】
バランス式の右辺に影響を与える変量として制御対象の「姿勢」を採用した場合には、相互に異なる所定数の静止姿勢条件の下で、未知の負荷重量条件を制御対象に与え、各静止姿勢条件の下で、1つ以上の軸についてトルクを制御装置内部で測定する。そして、これらの測定されたトルクを前記のバランス式に代入して得られる方程式を連立させる。
【0019】
この場合には、未知の負荷重量条件を表わすパラメータを直接求めずに、先ず負荷以外の重量から発生し、第i軸にかかる重力モーメントMi を記述するリンクパラメータと第i軸の静摩擦Fi を先に求め、次いで、それに基づいて未知の負荷重量条件を表わすパラメータを求める手順を踏む。
【0020】
このようにして求められた負荷重量のパラメータを、ロボットや工作機械のフィードフォワード制御時のフィードフォワード項の計算に利用すれば、フィードフォワード項の計算値がユーザの使用実態を反映したものとなり、制御性能の向上が期待出来る。
【0021】
【発明の実施の形態】
本発明の一つの実施形態として、ここでは、図1に示したような「平行リンクなし」の軸(J5軸)が存在する6軸構成のロボット1の手先にツール2が装着された場合に、ツール2によって生じた負荷重量を推定する方法について説明する。図1で使用されている各符号の意味は次の通りである。
t1 〜t6 ;ロボット1のJ1 軸〜J6 軸の変位量を表わす変数
m1 〜m5 ;各々J1 軸〜J5 軸のアームの質量
m6 ;負荷(ツール)2の質量
x0 ,y0 ,z0 ;ロボットのベースに固定された座標系のx、y,z軸 座標系の原点はJ1 軸の回転中心にとる。
x1 ,y1 ,z1 ;ロボットのJ1 軸に固定された座標系のx、y,z軸 座標系の原点はJ2 軸の回転中心にとる。
x2 ,y2 ,z2 ;ロボットのJ2 軸に固定された座標系のx、y,z軸 座標系の原点はJ3 軸の回転中心にとる。
x3 ,y3 ,z3 ;ロボットのJ3 軸に固定された座標系のx、y,z軸 座標系の原点はJ4 軸の回転中心にとる。
x4 ,y4 ,z4 ;ロボットのJ4 軸に固定された座標系のx、y,z軸 座標系の原点はJ5 軸の回転中心にとる。
x5 ,y5 ,z6 ;ロボットのJ5 軸に固定された座標系のx、y,z軸 座標系の原点はJ5 軸の回転中心にとる。
x6 ,y6 ,z6 ;ロボットのJ6 軸に固定された座標系のx、y,z軸 座標系の原点はJ6 軸の回転中心にとる。なお、これらxj ,yj ,zj 軸(j=1〜6)を持つ座標系を座標系jと呼ぶことにする。
【0022】
l1x;J1 軸の回転中心とJ2 軸の回転中心の間の距離のx1 成分
l1y;J1 軸の回転中心とJ2 軸の回転中心の間の距離のy1 成分
l2x;J2 軸の回転中心とJ3 軸の回転中心の間の距離のx2 成分
l3x;J3 軸の回転中心とJ4 軸の回転中心の間の距離のx3 成分
l4y;J4 軸の回転中心とJ5 軸の回転中心の間の距離のy4 成分
l6z;J5 軸の回転中心とJ6 軸の回転中心の間の距離のz6 成分
隣合う座標系の関係を表わす一般的な方法としてD−Hパラメータ(θ,d,a,α)による記述法が周知である。図1に示した軸構成を有するロボットのD−Hパラメータは、図2の通りに与えられる。良く知られているように、D−Hパラメータが定まれば、各座標系間の関係を表わす同次変換行列が決まる。従って、上記l1x,l1y・・・l6zを教示しておけば、座標変換に必要なデータが教示されたことになる。
【0023】
以下、図中に示した質量m1 〜m6 の重心位置をそれぞれ座標系j上で表わしたものを(xjg,yjg,zjg)で表記する。すると、質量m6 を有する負荷重量の重心位置は、座標系6上で(x6g,y6g,z6g)となる。即ち、推定されるべき負荷重量のパラメータは、質量m6 とその重心位置(x6g,y6g,z6g)となる。
【0024】
ロボットに対して本発明の方法を実施するには、従来より使用されている通常のロボット制御システムを利用することが出来る。図3は、その基本的なシステム構成を記したものである。同図において、符号10はシステム全体を統括制御するロボット制御装置のホストCPUである。再生運転時には、ホストCPU10が動作プログラムを読み込み、軌道計画を立て、3次元空間上の補間点を作成する。ホストCPU10は更に、逆変換処理により、各軸の移動指令を作成して共有RAM11に書き込む。
【0025】
サーボDSP12は、共有RAM11に書き込まれた移動指令と、モータ14の位置検出器(パルスコーダ)からのフィードバック信号に基づき、速度指令、トルク指令を作成する。そして、トルク指令に応じた電流が、アンプ13から各軸のモータ14に供給される。
【0026】
本発明を実施する際には、ロボットに負荷重量推定のための静止姿勢をとらせた状態で、各軸のトルクを知る必要がある。そこで、ロボットに静止姿勢をとらせた状態でホストCPU10からサーボDSP12にトルク/各軸値書込指令を送り、その時点におけるトルク指令と、各軸値を共有RAM11に書き込ませる。各軸値はフィードバック信号から知ることが出来る。
【0027】
ホストCPU10は、各軸値(t1 〜t6 )とホストCPU10に実装された不揮発性メモリ15に予め格納されているリンクパラメータを使ってD−Hパラメータを求め、ロボットの姿勢を計算する。ホストCPU10は、更に、共有RAM11に書き込まれたトルク指令値を読み出し、不揮発性メモリ15に予め格納されているトルク定数等から実際のトルクτ1 〜τ6 (一部または全部)を推定する。
【0028】
以下、このようにして推定されたトルクと、ロボットの姿勢、リンクパラメータ等を用いて、負荷重量のパラメータ(m6 ,x6g,y6g,z6g)を推定する計算が、ホストCPU10によって実行される。以下、その計算内容について説明する。
【0029】
本発明に従って負荷重量のパラメータを推定するには、静止中のロボットのバランスを表わす前記式(1)の右辺に影響を与える変量について、既知な条件を含む複数の互いに異なる条件をロボットに与え、各条件の下で所要数の軸についてトルクを測定し、それを前記式(1)の左辺に代入して得られる所要数の方程式を連立させ、未知の負荷重量のパラメータを求めることが必要である。既知条件を与えることが容易で、前記式(1)の右辺に影響を与える変量として、「負荷重量」と「ロボット姿勢」がある。先ず、前者に該当する実施形態について説明する。
【0030】
[負荷重量の条件を変えてバランス式を立てる実施形態]
この実施形態を採用する場合には、任意の共通のロボット姿勢の下で、未知の負荷重量がロボットに作用する条件と、既知な負荷重量がロボットに作用する条件下を与え、前記(1)式に関する差分をとることで、連立方程式を解く。
【0031】
ここでは、既知な負荷重量として最も明解な「無負荷(ツール2をロボットからはずした状態)]を採用する。作業と処理の手順は、次の通りである。
1.ツール2を装着せずに(無負荷)、ロボット1に適当な静止姿勢をとらせる。静止姿勢は一般にはほぼ任意であるが、バランス式のトルク項に採用しようとする軸に、トルクがかかり難い姿勢は好ましくない。
【0032】
2.ロボット制御装置の教示操作盤等を用いた指令入力により、ホストCPU10からサーボDSP12にトルク/各軸値書込指令を送る。すると、上記したように、ロボット制御装置内部でトルク推定値とロボットの姿勢が求められ、記憶される。この無負荷条件(一般には、既知な第1の負荷重量条件)で、第i軸について得られたトルク推定値をT1i とする。
【0033】
3.ツール2をロボット1に装着する。
【0034】
4.上記1.で定めたロボット1の静止姿勢を維持したまま、ないしは、予め姿勢を教示しておいて、負荷取付け後ロボットをその点に移動させてから、再度、ロボット制御装置の教示操作盤等を用いた指令入力により、ホストCPU10からサーボDSP12にトルク/各軸値書込指令を送り、トルク推定値を算出・記憶させる。この未知の負荷条件(m6 ;x6g,y6g,z6g)で、第i軸について得られたトルク推定値をT2i とする。
【0035】
5.4つ以上の軸について、測定されたT1i ,T2i を用いて前出のバランス式(1)の差分をとる形で、連立方程式を立ててこれを解き、未知のパラメータm6 ;x6g,y6g,z6gを求める。その計算手順は次の通りである。
【0036】
各軸についてのバランスの式は、
T1i =M1i +P1*L1i (X1,Y1,Z1)+F1i ・・・(2)
T2i =M2i +P2*L2i (X2,Y2,Z2)+F2i ・・・(3)
となる。ここで、
P1;既知な第1の負荷重量(負荷の質量)。ここでは、P1=0
F1i ;既知な第1の負荷重量条件の下での第i軸の静摩擦
M1i ;既知な第1の負荷重量条件の下で、負荷以外の重量から発生し、第 i軸にかかる重力モーメント
(X1,Y1,Z1);既知な第1の負荷P1の重心位置。ここでは、P1 =0であるから、実際には不要なデータである。形 式的には、例えば、X2=Y2=Z2として良い。
【0037】
L1i ;既知な第1の負荷重量条件の下で第i軸にかかる負荷の重力モーメ ントの腕の長さ
P2;第1の未知の負荷重量(負荷の質量)。ここでは、P2=m6 である。
F2i ;未知な第2の負荷重量条件の下での第i軸の静摩擦
M2i ;未知な第2の負荷重量条件の下で、負荷以外の重量から発生し、第 i軸にかかる重力モーメント
(X2,Y2,Z2);未知な第2の負荷P2の重心位置。ここでは、
(x6g,y6g,z6g)である。
【0038】
M1i とM2i は、同一のロボットに同一の姿勢をとらせた場合は、等しい値を持つ。また、静摩擦F1i とF2i についても、同一のロボットに同一の姿勢をとらせた場合はほぼ等しい値とみなすことが出来る。従って、i軸に関するバランス式の差分として、上記(3)−(2)を採用すれば、次の(4)式が得られる。
【0039】
T2i −T2i =m6 *L2i (x6g,y6g,z6g) ・・・(4)
ここで、L2i (x6g,y6g,z6g)は、第i軸にかかる負荷m6 による重力モーメントの腕の長さである。従って、(4)式を未知のパラメータm6 ,x6g,y6g,z6gについて解くには、座標系iにおける負荷m2 の位置(xig,yig,zig)を、x6g,y6g,z6gを使って表わす必要がある。
【0040】
上述したように、各座標系間の座標変換の式は、D−Hパラメータから計算可能である。そこで、既知なロボット姿勢(各軸値t1 〜t6 )と設定済みのリンクパラメータで記述されるD−Hパラメータを用いて(図2参照)、L2i が未知のパラメータx6g,y6g,z6gに関する式で求められる。
【0041】
このようにして、少なくとも4軸(例えば、i=2,3,4,5)について、(4)式を計算すれば、4個の未知パラメータm6 ,x6g,y6g,z6gに関する4個以上の独立した方程式が得られる。そこで、ロボット制御装置内でホストCPU10を利用したソフトウェア処理によって、これら方程式を連立させて解くことで、負荷重量を表わすパラメータm6 ,x6g,y6g,z6gを求めることが出来る。独立した方程式の数が5以上である場合には、最小2乗計算等によって最適解を求めれば良い。
【0042】
[ロボットの姿勢の条件を変えてバランス式を立てる実施形態]
この実施形態を採用する場合には、未知の負荷重量を付けたままロボットに所定数の異なるロボット姿勢条件を与え、各後見下で得られる前記(1)式を連立させて、リンクパラメータを求め、それから未知の負荷重量のパラメータm6 ,x6g,y6g,z6gを推定する。作業と処理の手順は、次の通りである。
【0043】
1.ツール2をロボット1に装着する。
2.ロボット1に第1の静止姿勢をとらせる。
3.第1の静止姿勢を維持したまま、ロボット制御装置の教示操作盤等を用いた指令入力により、ホストCPU10からサーボDSP12にトルク/各軸値書込指令を送り、トルク推定値を算出・記憶させる。第1の姿勢条件下で、第i軸について得られたトルク推定値T(1)iを記憶する。
【0044】
4.ロボットをジョグ操作して、ロボット1に第1の静止姿勢とは異なる第2の静止姿勢をとらせる。この静止姿勢で測定されたトルク推定値T(2)iを記憶する。
5.以下、必要な組数Kのデータが得られるまで、ロボット1に第1、第2・・・第k−1の静止姿勢とは異なる第k(k=3,4・・・K)の静止姿勢を順次とらせ、各静止姿勢で得られたトルク推定値T(k)iを順次記憶する。
6.各姿勢における各軸についてのバランスの式は、
T(k)i=M(k)i +P*L(k)i (X,Y,Z)+F(k)i ・・・(5)
となる。ここで、
P;未知の負荷重量(負荷の質量)。ここでは、P=m6
L(k)i;第kの静止姿勢条件の下で、第i軸にかかる負荷の重力モーメ ントの腕の長さ
F(k)i ;第kの静止姿勢条件の下での第i軸の静摩擦
M(k)i ;第kの静止姿勢条件の下で、負荷以外の重量から発生し、第 i軸にかかる重力モーメント
(X,Y,Z);未知の負荷の重心位置で、ここでは、(x6g,y6g,z6g )である。
【0045】
式(5)におけるL(k)iは、静止姿勢kにおいて第i軸にかかる負荷m6 による重力モーメントの腕の長さである。従って、上述の差分をとるケースと同様に、k番目の既知なロボット姿勢における各軸値(t1 〜t6 )と設定済みのリンクパラメータで記述されるD−Hパラメータを用いて(図2参照)、L(k)iが、未知のパラメータx6g,y6g,z6gに関する式としてロボット制御装置内部で求められる。
【0046】
M(k)i については、6軸ロボットの場合、次式(6)で与えられる。
【0047】
【数1】
ここで、Aij,Bij(i=1,2,3・・・6;j=1,2,3・・・5)は、リンクパラメータで記述される係数である。また、J(j) はj軸の角度で、各軸値(t1 〜t6 )と同じものである。本実施形態では、所要数の姿勢に関する上記(5)式におけるM(k)iついて上記(6)式を代入し、得られた連立方程式を係数Aij,Bij 並びに静摩擦F(k)i について解く。独立した方程式の数が未知数の数以上である場合には、最小2乗計算等によって最適解を求めれば良い。
【0048】
そして、最後に、求められたM(k)i とF(k)i を(5)式に再代入して、負荷重量の未知パラメータm6 ,x6g,y6g,z6gが求められる。以上の計算は、すべて、ロボット制御装置内部で、ホストCPU10を利用したソフトウェア処理によって実行される。
【0049】
こうして、上記いずれかの実施形態で求められたツール(物体)2の負荷重量に関するパラメータは、フィードフォワード制御時にフィードフォワード項の算出の為に使用される。以下、図4に示されたような簡単なケースについてフィードフォワード制御の概略を説明する。
【0050】
図4は、モータ3(例えば、第1軸のモータ)で駆動される制御対象が、図示した関係でアーム4の手先にツール(物体)2を取り付けた系であると見なせる場合を表わしている。同図に併記したように、ここでは各パラメータJm ,m1 ,s1 ,I1z,l1 ,m6 ,s6 の意味は次の通りである。
【0051】
Jm ;モータ3のロータイナーシャ
m1 ;アームの質量
s1 ;アーム4の重心位置
I1z,;z軸回りに関するアーム4の重心回りのイナーシャ(重心回りのイナーシャのz成分)
l1 ;アームの長さ
m6 ;ツール2の質量
s6 ;アーム4の先端からツール2の重心位置までの距離
ここで、Jm は予めロボットに設定されるパラメータ、m1 ,s1 ,I1z並びにl1 はロボットの姿勢から計算されるパラメータである。また、m6 は上記処理で求められた値がそのまま使用される。s6 の値は、上記処理で求められた値x6g,y6g,z6gとロボット姿勢から計算される。
【0052】
このケースにおけるフィードフォワード項は次のようにして定められる。先ず、制御対象の運動方程式を立てる。モータ3の出力トルク及び位置を各々τ,tとおけば、運動方程式は次式(7)で与えられる。ここで、J=Jm +m1 ・s12+I1z,L=(s1 +l1 +s6 )2 とおけば、運動方程式(7)は式(8)で表わされる。但し、ツール2の重心まわりのイナーシャは無いものとする。
【0053】
【数2】
この右辺をそのままフィードフォワード項として採用して、速度指令値に加算する。
図5に、位置ループにこのフィードフォワード項を加算するフィードフォワード制御のブロック図を示した。同図において明らかなように、ロボット制御装置の位置作成部(工作機械であれば、CNC)から所定周期で出力される位置指令は、モータの位置検出器(パルスコーダ)と比較されその偏差が計算される。計算された位置偏差に基づいてゲインKpで位置ループ処理が実行され、フィードフォワード項加算以前の速度指令が作成される。
【0054】
一方、位置・速度の処理周期毎に位置指令(移動指令)が微分され、この微分値がゲインKpで実行される位置ループの処理得られた速度指令に加算される。
更に、ゲインKvで実行される速度ループ処理で計算されるトルク指令値に関しては、上記(2)式の右辺、即ち(J+m6 ・L)に位置指令の2階微分を乗じたものをフィードフォワード項としてトルク指令値に加算する。こうして計算されたトルク指令に基づいてサーボアンプからモータ3に電流が供給され、モータ3が駆動される。なお、1/(J+m6 ・L)は、モータ3にかかる負荷を表わす伝達関数であり、1/sは、モータ速度を積分したものがモータの回転位置であることを表わしている。
【0055】
以上、6軸ロボットを例にとって、本発明を説明したが、制御対象が軸数の異なるロボット(例えば、4軸ロボット)や工作機械(例えば3軸構成)に変わっても、上記説明した考え方を適用して付加的に取り付けられた物体に負荷重量を計算し得ることは明らかである。
【0056】
【発明の効果】
本発明の負荷重量推定方法によれば、ロボット等の自動機械の製造時には未確定な各ユーザの使用態様に即した負荷重量が設定出来るので、動力学の補正がより正確に行えるようになり、制御性能の向上が期待出来る。例えば、フィードフォワード制御時のフィードフォワード項の計算だ正しく行なわれるようになる。
【図面の簡単な説明】
【図1】実施形態において、本発明の方法が適用されるロボットの軸構成を表わした図である。
【図2】図1に示した軸構成を有するロボットのD−Hパラメータを記した図である。
【図3】ロボット制御システムの基本的なシステム構成を記したものである。
【図4】実施形態で求めた負荷重量のパラメータが使用されるフィードフォワード制御の適用事例を説明する図である。
【図5】図4に示したケースにおけるフィードフォワード制御の概要を説明する為のブロック図である。
【符号の説明】
1 ロボット
2 ツール(付加的に取り付けられた物体)
3,14 モータ
4 アーム
10 ホストCPU
11 共有RAM
12 サーボDSP
13 アンプ
15 不揮発性メモリ
Claims (6)
- ソフトウェア処理能力を有する制御装置によって制御され、サーボモータで駆動される複数の軸を有する制御対象に付加的に取り付けられた物体の負荷重量パラメータを推定する負荷重量推定方法であって、
前記負荷重量パラメータは、少なくとも前記物体による負荷の質量及び重心位置を表わしており、
静止中の制御対象について各軸のバランスを表わす下記のバランス式、
τi =Mi +P*Li (X,Y,Z)+Fi ・・・(1)
(但し、τi ;制御対象の静止時に第i軸にかかるトルク
P;負荷の質量
Fi ;第i軸の静摩擦
Mi ;負荷以外の重量から発生し、第i軸にかかる重力モーメント
(X,Y,Z);負荷の重心位置
Li ;第i軸について、負荷の重力モーメントの腕の長さ)
の右辺に影響を与える変量について、既知の条件を含む複数の互いに異なる条件を前記制御対象に与え、
各条件の下で所要数の軸についてトルクを測定し、それを前記バランス式(1)の左辺に代入して得られる所要数の方程式を連立させ、未知の負荷重量のパラメータを求めることによって、前記付加的に取り付けられた物体の負荷重量を表わすパラメータを算出するようにした、前記負荷重量推定方法。 - ソフトウェア処理能力を有する制御装置によって制御され、サーボモータで駆動される複数の軸を有する制御対象に付加的に取り付けられた物体の負荷重量パラメータを推定する負荷重量推定方法であって、
前記負荷重量パラメータは、少なくとも前記物体による負荷の質量及び重心位置を表わしており、
共通した静止姿勢の下で、既知な第1の負荷重量条件と未知の第2の負荷重量条件を前記制御対象に与え、
前記各負荷重量条件の下で、少なくとも4つの軸についてトルクを前記制御装置内部で測定し、
静止中の制御対象について各軸のバランスを表わす下記のバランス式、
τi =Mi +P*Li (X,Y,Z)+Fi
(但し、τi ;制御対象の静止時に第i軸にかかるトルク
P;負荷の質量
Fi ;第i軸の静摩擦
Mi ;負荷以外の重量から発生し、第i軸にかかる重力モーメント
(X,Y,Z);負荷の重心位置
Li ;第i軸について、負荷の重力モーメントの腕の長さ)
に代入し、前記少なくとも4つの軸について、前記既知な第1の負荷重量条件と前記未知の第2の負荷重量条件との間で上記バランス式の差分をとる形式で作成される連立方程式を、前記未知の第2の負荷重量条件を表わす未知パラメータに関して解くことにより、前記未知の第2の負荷重量条件に対応した負荷重量を推定するようにした、前記負荷重量推定方法。 - ソフトウェア処理能力を有する制御装置によって制御され、サーボモータで駆動される複数の軸を有する制御対象に付加的に取り付けられた物体の負荷重量パラメータを推定する負荷重量推定方法であって、
前記負荷重量パラメータは、少なくとも前記物体による負荷の質量及び重心位置を表わしており、
相互に異なる所定数の静止姿勢条件の下で、未知の負荷重量条件を前記制御対象に与え、
前記各静止姿勢条件の下で、1つ以上の軸についてトルクを前記制御装置内部で測定し、
静止中の制御対象について各軸のバランスを表わす下記のバランス式、
τi =Mi +P*Li (X,Y,Z)+Fi
(但し、τi ;制御対象の静止時に第i軸にかかるトルク
P;負荷の質量
Fi ;第i軸の静摩擦
Mi ;負荷以外の重量から発生し、第i軸にかかる重力モーメント
(X,Y,Z);負荷の重心位置
Li ;第i軸について、負荷の重力モーメントの腕の長さ)
に代入して得られる方程式を連立させ、前記1つ以上の軸について、負荷以外の重量から発生し、第i軸にかかる重力モーメントMi を記述するリンクパラメータと第i軸の静摩擦Fi を求め、
更に、それに基づいて前記未知の負荷重量条件を表わす未知パラメータを求めることにより、前記未知の負荷重量を推定するようにした、前記負荷重量推定方法。 - 前記制御対象が、ロボットである請求項1〜請求項3のいずれか1項に記載された負荷重量推定方法。
- 前記制御対象が、6軸ロボットである請求項1〜請求項3のいずれか1項に記載された負荷重量推定方法。
- 前記求められた負荷重量を表わすパラメータが、前記制御対象についてフィードフォワード制御を実行する際のフィードフォワード項の計算に利用される、請求項1〜請求項3のいずれか1項に記載された負荷重量推定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26627895A JP3698770B2 (ja) | 1995-09-20 | 1995-09-20 | 負荷重量の推定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26627895A JP3698770B2 (ja) | 1995-09-20 | 1995-09-20 | 負荷重量の推定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0991004A JPH0991004A (ja) | 1997-04-04 |
JP3698770B2 true JP3698770B2 (ja) | 2005-09-21 |
Family
ID=17428744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26627895A Expired - Fee Related JP3698770B2 (ja) | 1995-09-20 | 1995-09-20 | 負荷重量の推定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3698770B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI642523B (zh) * | 2017-09-21 | 2018-12-01 | 上銀科技股份有限公司 | 用於機械臂之負載估測重力補償的方法及其負載估測重力補償系統 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5327722B2 (ja) * | 2010-05-07 | 2013-10-30 | 株式会社安川電機 | ロボットの負荷推定装置及び負荷推定方法 |
JP2016087700A (ja) | 2014-10-29 | 2016-05-23 | ファナック株式会社 | 負荷情報の設定を確認する機能を備えた制御装置 |
JP6625322B2 (ja) * | 2014-12-15 | 2019-12-25 | Ntn株式会社 | リンク作動装置 |
CN109773827B (zh) * | 2017-11-10 | 2021-12-07 | 上银科技股份有限公司 | 用于机械臂的负载估测重力补偿的方法及其系统 |
JP6737831B2 (ja) | 2018-04-17 | 2020-08-12 | ファナック株式会社 | 設置形態判定装置、設置形態判定用コンピュータプログラム及び記録媒体 |
JP6795540B2 (ja) | 2018-04-24 | 2020-12-02 | ファナック株式会社 | ロボットを用いた負荷の重量及び重心位置を推定するための装置、方法及びプログラム |
JP7136729B2 (ja) * | 2019-03-20 | 2022-09-13 | ファナック株式会社 | ロボットを用いて負荷の重量及び重心位置を推定するための装置、方法、プログラム、制御装置及びロボットシステム |
JP6792687B2 (ja) * | 2019-10-08 | 2020-11-25 | Ntn株式会社 | リンク作動装置 |
CN111872942B (zh) * | 2020-08-07 | 2023-06-20 | 四川福莫斯工业技术有限公司 | 一种多轴机器人的扭矩前馈方法 |
JPWO2022210933A1 (ja) * | 2021-03-31 | 2022-10-06 | ||
CN117053654B (zh) * | 2023-10-12 | 2023-12-12 | 航天江南集团有限公司 | 一种无人机伺服机构的加载装置 |
-
1995
- 1995-09-20 JP JP26627895A patent/JP3698770B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI642523B (zh) * | 2017-09-21 | 2018-12-01 | 上銀科技股份有限公司 | 用於機械臂之負載估測重力補償的方法及其負載估測重力補償系統 |
US10702988B2 (en) | 2017-09-21 | 2020-07-07 | Hiwin Technologies Corp. | Method and system for load estimation and gravity compensation on a robotic arm |
Also Published As
Publication number | Publication date |
---|---|
JPH0991004A (ja) | 1997-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6781183B2 (ja) | 制御装置及び機械学習装置 | |
CN108189036B (zh) | 力矩控制方法、装置、机器人及存储介质 | |
JP3698770B2 (ja) | 負荷重量の推定方法 | |
JP2021098268A (ja) | 駆動装置、ロボット装置、物品の製造方法、制御方法、制御プログラム、記録媒体 | |
An et al. | Experimental determination of the effect of feedforward control on trajectory tracking errors | |
JP6669715B2 (ja) | 振動抑制装置 | |
CN106584489A (zh) | 具备计算传感器的位置和方向的功能的机器人系统 | |
CN109397265A (zh) | 一种基于动力学模型的关节型工业机器人拖拽示教方法 | |
JP2020101541A (ja) | トルク推定のための方法および装置 | |
CN115533916B (zh) | 一种机械臂末端负载质量辨识方法、系统、设备及介质 | |
JP3349652B2 (ja) | オフラインティーチング方法 | |
JP2018030210A (ja) | シミュレーション装置、制御システム、ロボットシステム、シミュレーション方法、プログラム及び記録媒体 | |
US20200189102A1 (en) | Robot apparatus, robot system, control method of robot apparatus, product manufacturing method using robot apparatus, and storage medium | |
Lu et al. | Experimental determination of dynamic parameters of robotic arms | |
Steinbach et al. | Mathematical optimization in robotics: Towards automated high speed motion planning | |
JPH10128688A (ja) | ロボットの非干渉化制御方法 | |
JP2020075329A (ja) | シミュレーション装置、制御システム、ロボットシステム、シミュレーション方法、プログラム及び記録媒体 | |
JPH08190433A (ja) | 負荷重量推定方法 | |
JP2017056525A (ja) | ロボット装置、ロボット制御方法、プログラム、記録媒体及び組立部品の製造方法 | |
JPH06190754A (ja) | ロボットアームの動的モデルの同定方法 | |
CN112512758B (zh) | 挠曲量推断装置、机器人控制装置以及挠曲量推断方法 | |
JPS6077210A (ja) | 空間運動機構の制御方法 | |
JP2020097101A (ja) | ロボット装置、ロボットシステム、ロボット装置の制御方法、ロボット装置を用いた物品の製造方法、制御プログラム及び記録媒体 | |
JPH02205489A (ja) | マニピュレータのインピーダンス制御方式 | |
JPH06332535A (ja) | ロボットの制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041006 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041012 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041213 |
|
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: 20050628 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050706 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090715 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |