JP2004276125A - 負荷パラメータ同定方法 - Google Patents

負荷パラメータ同定方法 Download PDF

Info

Publication number
JP2004276125A
JP2004276125A JP2003066727A JP2003066727A JP2004276125A JP 2004276125 A JP2004276125 A JP 2004276125A JP 2003066727 A JP2003066727 A JP 2003066727A JP 2003066727 A JP2003066727 A JP 2003066727A JP 2004276125 A JP2004276125 A JP 2004276125A
Authority
JP
Japan
Prior art keywords
load
parameters
identified
speed
axis
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.)
Granted
Application number
JP2003066727A
Other languages
English (en)
Other versions
JP4137673B2 (ja
Inventor
Seiseki Maekawa
清石 前川
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
Priority to JP2003066727A priority Critical patent/JP4137673B2/ja
Publication of JP2004276125A publication Critical patent/JP2004276125A/ja
Application granted granted Critical
Publication of JP4137673B2 publication Critical patent/JP4137673B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Abstract

【課題】高精度にパラメータを同定する負荷パラメータ同定方法を得る。
【解決手段】有負荷時にロボットを低速動作させた時(ST3)の動作データから摩擦力と重力に関するパラメータとを同定し(ST4)、有負荷時にロボットを高速動作させた時(ST5)の動作データから摩擦力と低速動作時には同定しなかった残りのパラメータとを同定する(ST6)ものである。低速動作させた時の動作データから重力に関するパラメータを同定し、高速動作させた時の動作データから低速動作時には同定しなかった残りのパラメータを同定することにより、全てのパラメータを高精度に同定することができる。また、低速動作時および高速動作時において摩擦力を同時に同定するため、摩擦力をキャンセルする必要がなく、同定に使用する動作パターンの制約を少なくすることができる。さらに、パラメータの同定に使用される動作も少なくすることができる。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
この発明は、ロボット等のメカニカルシステムの負荷のパラメータを同定する負荷パラメータ同定方法に関するものである。
【0002】
【従来の技術】
従来の負荷パラメータ同定方法としては、基準姿勢に基づいた動作パターンプログラムを作成しておき、作成した動作パターンプログラムで多関節ロボットを低速かつ一定速度で動作させ、動作中の駆動電流の平均値と軸角度の平均値とを求める。次に駆動電流の平均値から求めたトルクの平均値がアンバランストルク、すなわち重力トルクと等価であるとして、多関節ロボットの負荷重量および負荷重心位置を算出するものがある(下記特許文献1)。
【0003】
【特許文献1】
特開平10−138187号公報(特に、[0008]から[0011])
【0004】
【発明が解決しようとする課題】
従来の負荷パラメータ同定方法は以上のように構成されているので、重力トルクからでは算出できない負荷自身の慣性モーメントを算出することはできない課題があった。
また、軸角度の平均値に軸がある時の重力と動作中の重力の平均値が一致する動作パターンでなければ、負荷重量および負荷重心位置を正確に算出することができない。そのため、同定用の動作パターンが限定される課題があった。
さらに、動作パターンが限定されるため、実際の動作毎に負荷パラメータを算出することもできない課題があった。
さらに、一般にロボット自体の質量、重心位置、慣性モーメントのパラメータには何らかの誤差があり、ロボット自体の補正を行わないと負荷のパラメータを正確に算出できない課題があった。
さらに、ロボットを駆動するために使用するモータのトルク定数には若干のばらつきがあることがある。したがって個体毎に予めモータのトルク定数を正確に求めておかないと、駆動電流から求めたトルクが真のトルクからずれるため、負荷のパラメータを正確に算出できない課題があった。
【0005】
この発明は上記のような課題を解決するためになされたもので、高精度にパラメータを同定する負荷パラメータ同定方法を得ることを目的とする。
【0006】
【課題を解決するための手段】
この発明に係る負荷パラメータ同定方法は、有負荷時にメカニカルシステムを低速動作させた時の動作データから摩擦力と重力に関するパラメータとを同定し、有負荷時にメカニカルシステムを高速動作させた時の動作データから摩擦力と低速動作時には同定しなかった残りのパラメータとを同定するものである。
【0007】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態1.
図1はこの発明の実施の形態1による負荷パラメータ同定方法を示すフローチャートであり、同図において、まず、メカニカルシステム、例えばロボットに負荷が取り付けられていない状態で、複数の動作を低速かつ一定速度で動作させ、その時の各軸の位置、速度、電流を記憶しておく(ステップST1)。次にステップST1で記憶した各軸の位置、速度、電流からロボット本体補正モデルのパラメータと、ステップST1での動作速度における摩擦力を同定する(ステップST2)。次に同定したい負荷をロボットに取り付け、ある動作を低速かつ一定速度で動作させ、その時の各軸の位置、速度、電流を記憶しておく(ステップST3)。次にステップST3で記憶した位置、速度、電流から、負荷の質量、重心位置とステップST3での動作速度における摩擦力とを同定する(ステップST4)。次にステップST3とは異なる動作パターンでロボットを高速動作させ、その時の各軸の位置、速度、加速度、電流を記憶しておく(ステップST5)。次にステップST5で記憶した各軸の位置、速度、加速度、電流から負荷の慣性モーメントと摩擦係数とを同定する(ステップST6)。
【0008】
次に動作について説明する。
まず、ロボットモデルを、ロボット本体モデル、ロボット本体補正モデル、追加負荷モデルの3モデルの和で表現する。すなわち、各軸の駆動トルクをτ、ロボット本体モデルの駆動トルクをτ、ロボット本体補正モデルの駆動トルクをτ、追加負荷モデルの駆動トルクをτとし、
τ=τ+τ+τ (1)
で表現する。ここで、ロボット本体モデルとは追加負荷がない時のロボットモデルで、追加負荷モデルとは、リンク長はロボット本体と同一で、ロボット本体は質量および慣性モーメントが0であるとし、追加負荷のみ質量および慣性モーメントが存在する仮想的なモデルである。ロボット本体補正モデルは、各軸の重力モーメント補正係数から構成されるモデルである。なお、摩擦トルクはロボット本体モデルに含まれるものとする。すなわち、ロボット本体モデルから摩擦を除いたモデルをτrm、摩擦トルクをτとすると、
τ=τrm+τ (2)
なる関係がある。
【0009】
図2は6軸垂直多関節型ロボットの一例を示す説明図であり、同図において、第1軸1から第6軸6と、負荷7と、第1リンク8および第2リンク9とから構成されている。
図2に示したように、6軸垂直多関節型ロボットの第6軸の先端部に設けられている手先に負荷7が取り付けられている場合、第3軸、第5軸、第6軸の重力から、手先に取り付けた負荷の質量および重心位置を求めることができる。
【0010】
一方、第i軸の重力モーメント補正係数をmgとすると、ロボット本体補正モデルの第i軸要素τhiは、
τhi=mg・f(θ) (3)
と書ける。ここで、θは各軸の角度から構成されるベクトルで、重力モーメント補正係数mgが未知パラメータになる。
【0011】
手先の負荷の同定が目的の場合、第3軸、第5軸、第6軸の重力モーメント補正係数が分かれば良いので、ステップST2で第3軸、第5軸、第6軸の重力モーメント補正係数の同定を行う。
まず、第3軸が動作する複数の動作パターンでロボットを低速かつ同一の一定速度で動作させ、一定速度で動作中の各軸の位置、速度、電流を記録する。第3軸での駆動トルクは電流にトルク定数を乗じることにより算出できる。また、一定速度で動作中は加速度は0である。したがって、記録した各軸の位置、速度、電流のデータから第kサンプルの第3軸駆動トルクτ[k]、ロボット本体から摩擦を除いたモデルの第3軸トルクτrm3[k]、式(3)におけるf(θ)の第3軸の値f[k]が算出できる。
【0012】
したがって、上記一定速度における第3軸の摩擦力をfr3、パラメータベクトルP03を、
03=[mgr3 (4)
とすれば、
Figure 2004276125
と書ける。ここで、v[k]は第kサンプルにおける第3軸速度、sgn()は正の時1、負の時−1となる関数であり、Tは転置を意味する。記録した複数動作の中で、一定速度で動作中の各サンプル毎のτ[k]−τrm3[k]を縦に並べたベクトルをT03、各サンプル毎の[f[k] sgn(v[k])]を縦に並べた行列をY03とすれば、
03=Y03・P03 (6)
が得られる。Y03の擬似逆行列をY03 とすれば、P03の推定値P03hは、
03h=Y03 ・T03 (7)
で求められる。
第5軸、第6軸の重力モーメント補正係数も全く同様にして求められる。
【0013】
次に、ステップST3で負荷をロボットに取り付け、第3軸、第5軸、第6軸が同時に動く動作パターンで、ロボットを低速かつ一定速度で動作させる。追加負荷モデルの慣性力をτla、遠心・コリオリ力をτlb、重力をτlcとすると、一定速度の時は加速度が0となるため、τla=0となり、低速の場合はτlbが無視できるため、式(1)、式(2)から、
τ=τrm+τ+τ+τlc (8)
と書ける。
【0014】
ロボットの運動方程式は、質量、重心位置等のパラメータからは直接には線形化できないが、(質量)×(重心位置)等を改めてパラメータと見なすと、パラメータに関して線形化できることが知られている。したがって、追加負荷モデルの重力τlcも負荷質量、重心位置等の組み合わせから構成されるパラメータPlgを用いて、
τlc=Ylg・Plg (9)
と線形化できる。手先負荷の質量をm、重心位置をlgx,lgy,lgzとすると一例は、
lg=[m・lgx・lgy・lgz (10)
である。
【0015】
lg,τ,τrm,τの第i行をそれぞれYlgi,τ,τrmi,τhiとし、第i軸の一定速度値における摩擦トルクをfriとすると、
Figure 2004276125
と書ける。
【0016】
式(11)は第3軸、第5軸、第6軸の全てで成り立つため、
Figure 2004276125
とすれば、T=Y・P (14)
とパラメータPに対して線形化できる。
【0017】
,Yを各サンプル毎に縦に並べた行列をそれぞれT,Yとすれば、
=Y・P (15)
となる。したがって、Yの擬似逆行列Y を用いてPの推定値Plhは、
lh=Y ・T (16)
で求められる。Plhが求められれば、式(12)より手先負荷の質量m、重心位置lgx,lgy,lgzも算出できる。
【0018】
次に、ステップST5において高速動作のデータから負荷の慣性モーメントI,I,Iを求める。まず、第5軸、第6軸が動作する複数の動作パターンで高速にロボットを動作させ、動作中の各軸の位置、速度、加速度、電流を記録する。手先の負荷の質量m、重心位置lgx,lgy,lgzは算出済みなので、追加負荷モデルの駆動トルクτは、
τ=τlm+Y・P3I (17)
3I=[I (18)
と表現できる。ここで、τlmは負荷の慣性モーメントI,I,Iを含まないτの成分である。したがって、τを、
τ=τ−τ−τlm−τrm (19)
とし、τの第i軸要素をτdi、Yの第i行ベクトルをY3iとすれば、
τd5=Y35・P3I+fc5・sgn(v)+fv5・v (20)
τd6=Y36・P3I+fc6・sgn(v)+fv6・v (21)
と書ける。ここで、fc5,fv5,fc6,fv6はそれぞれ第5軸のクーロン摩擦係数、第5軸の粘性摩擦係数、第6軸のクーロン摩擦係数、第6軸の粘性摩擦係数である。したがって、
=[Ic5v5c6v6 (22)
で定義すれば、式(20)、式(21)の右辺はPに関して線形化できる。
【0019】
以上より、第5軸、第6軸が高速動作した時の動作データから、
=Y・P (23)
が導出できる。ここで、Tは各サンプルのτd5,τd6から構成されるベクトルで、Yは各サンプルのY35,Y36,sgn(v),sgn(v),v,vから構成される行列である。Yの擬似逆行列をY とすれば、Pの推定値P3hは、
3h=Y ・T (24)
で算出できる。
【0020】
以上のように、この実施の形態1によれば、重力から同定可能なパラメータは重力に基づいて同定し、重力からでは同定できないパラメータのみ慣性力、遠心・コリオリ力に基づいて同定するため、全てのパラメータを高精度に同定することができる。また、摩擦を同時に同定するため、摩擦をキャンセルする必要がなく、同定に使用する動作パターンの制約が少ない。さらに、ロボットモデルとしてロボット本体補正モデルを設け、そのロボット本体補正モデルのパラメータを無負荷時の動作データから予め算出しておくことにより、ロボット本体の誤差の影響を受けずに高精度に負荷パラメータの同定を行うことができる。
【0021】
実施の形態2.
この実施の形態2では、ロボット本体補正モデルを求めるために行う無負荷時のロボット動作パターンを、ステップST3で行う重力に基づく負荷パラメータ同定用の動作パターンと全く同じ動作パターンとするものである。すなわち、低速動作で負荷の質量、重心位置を同定するのに使用するのと同一の動作パターンのみに基づいてロボット本体補正モデルのパラメータを同定する。ステップST3以降の処理は上記実施の形態1と同一なので説明は省略する。
【0022】
以上のように、この実施の形態2によれば、同定に使用する動作に特化したロボット本体モデルの補正が行えるため、ロボット本体のモデル化誤差の影響をさらに低減することができる。
【0023】
実施の形態3.
この実施の形態3では、負荷の慣性モーメントを求めるためにステップST5で行う高速動作の動作パターンを、ステップST3の低速動作の動作パターンと全く同一のものとする。
Figure 2004276125
で定義すれば、第3軸、第5軸、第6軸の動作データから、
=Y・P (26)
が上記実施の形態1と同様にして導出できる。Pの推定値P5hはYの擬似逆行列Y を用いて、
5h=Y ・T (27)
で算出できる。なお、ステップST4までの処理は上記実施の形態1と全く同一である。
【0024】
以上のように、この実施の形態3によれば、負荷の同定に使用する動作パターンが1種類で良いため、動作パターンの準備に要する時間を短縮することができる。
【0025】
実施の形態4.
この実施の形態4では、上記実施の形態1のステップST2、ステップST4、ステップST6でのパラメータの算出方法において若干異なるものである。上記実施の形態1では各サンプル毎の各軸の電流、位置、速度、加速度をそのまま用いていたが、この実施の形態4では平滑化フィルタに通してから使用する。
【0026】
まず、ステップST2でロボット本体補正モデルのパラメータを算出する際、式(5)のτ[k]−τrm3[k],f[k],sgn(v[k])の各要素と、v[k]とを平滑化フィルタに通したものをそれぞれfa1[k],fa2[k],fa3[k],fa4[k]とし、fa4[k]が等速になっている区間のfa1[k],fa2[k],fa3[k]を用いて同定する。すなわち、fa4[k]が等速になっている区間のfa1を縦に並べたベクトルをT0f3、[fa2[k] fa3[k]]を縦に並べた行列をY0f3、Y0f3の擬似逆行列をY0f3 とし、
03h=Y0f3 ・T0f3 (28)
でP03の推定値P03hを求める。平滑化フィルタとしては移動平均フィルタを用いる。第5軸、第6軸のロボット本体補正モデルのパラメータも同様に求める。
【0027】
ステップST4で負荷の質量、重心位置を算出する際も同様である。まず、式(14)のT,Yの各要素と、第3軸の速度vを平滑化フィルタに通す。vの平滑化フィルタに通した時の出力が等速になっている区間のT,Yの各要素のフィルタに通した時の出力を使用して同定する。すなわち、T,Yの各要素のフィルタに通した時の出力を縦に並べた行列をそれぞれT2f,Y2fとし、Y2fの擬似逆行列Y2f+を用いて、
lh=Y2f ・T2f (29)
より、Pの推定値Plhを算出する。
【0028】
ステップST6で残りのパラメータを求める時もほぼ同様である。式(20)、式(21)のτd5,τd6,Y35,Y36,sgn(v),sgn(v),v,vをそれぞれ平滑化フィルタに入力し、T4fを各サンプルのτd5,τd6のフィルタ出力から構成されるベクトル、Y4fを各サンプルのY35,Y36,sgn(v),sgn(v),v,vのフィルタ出力から構成される行列とし、Pの推定値P3hを、
3h=Y4f ・T4f (30)
で算出する。ここで、Y4f はY4fの擬似逆行列である。
【0029】
以上のように、この実施の形態4によれば、動作データを平滑化フィルタに通してから使用したことにより、さらに、負荷パラメータを高精度に同定することができる。
【0030】
実施の形態5.
この実施の形態5では、上記実施の形態1のステップST2、ステップST4、ステップST6でのパラメータの算出方法において異なるものである。上記実施の形態1では同定パラメータに関する線形化式を導出した後、擬似逆行列を用いてパラメータを算出しているが、この実施の形態5では擬似逆行列を用いず、記憶したデータに対して適応同定理論を繰り返し適用することによりパラメータを算出するものである。
【0031】
まず、ステップST2でロボット本体補正モデルのパラメータを算出する際、式(5)の(τ[k]−τrm3[k]),[f[k] sgn(v[k])]をそれぞれT,Yとする。この時、第kサンプル目の未知パラメータPの推定値P[k]を、
Figure 2004276125
で算出する。ここで、Δt,σは定数、Gは定数から構成される行列で、行列Rおよびベクトルqの初期値は各要素が0であるとする。また、同定パラメータPの初期値は予め定めている値とする。
【0032】
ステップST2の第3軸のロボット本体補正モデルでは未知パラメータPは式(4)のP03となる。式(31)〜式(33)の演算をまず、記憶したデータに対して、サンプル数kが記憶したデータ個数mに達するまで行う。次に第m番目のP,R,qの値を初期値として、再度サンプル数kが記憶したデータ個数mに達するまで式(31)〜式(33)の演算を行う。この繰り返しを予め決められた回数n回繰り返す。最後のn回目の繰り返しにおけるP[k]の平均値を求めるパラメータ値とする。第5軸、第6軸のロボット本体補正モデルのパラメータも全く同様に算出する。
【0033】
ステップST4で負荷および重心位置の算出を行う際には、式(13)のTをT、式(14)のYをYとし、ステップST3で記憶したデータを用いて式(31)〜式(33)の計算を、サンプル数kが記憶したデータ個数mに達するまで行う。次に第m番目のP,R,qの値を初期値として、再度サンプル数kが記憶したデータ個数mに達するまで式(31)〜式(33)の演算を行う。この繰り返しを予め決められた回数n回繰り返す。最後のn回目の繰り返しにおけるP[k]の平均値を求めるパラメータ値とする。
【0034】
ステップST6で残りのパラメータの同定を行う際には、式(20)〜式(22)から、
=[τd5 τd6] (34)
=Y3b・P (35)
を導出する。T=T、Y=Y3bとし、ステップST5で記憶したデータを用いて式(31)〜式(33)の計算を、サンプル数kが記憶したデータ個数mに達するまで行う。次に第m番目のP,R,qの値を初期値として、再度サンプル数kが記憶したデータ個数mに達するまで式(31)〜式(33)の演算を行う。この繰り返しを予め決められた回数n回繰り返す。最後のn回目の繰り返しにおけるP[k]の平均値を求めるパラメータ値とする。
【0035】
以上のように、この実施の形態5によれば、擬似逆行列を用いないので、同定に使用する動作パターンが、擬似逆行列をとる行列がフルランクになる動作に限る必要をなくすことができる。
【0036】
実施の形態6.
この実施の形態6では、上記実施の形態1のステップST4、ステップST6でのパラメータの算出方法とステップST3、ステップST5で行う動作のパターン数において異なるものである。まず、ステップST3では複数の第3軸、第5軸、第6軸が動く動作パターンでロボットを動作させる。ステップST4ではステップST3で行ったそれぞれの動作に対して式(8)〜式(16)の演算を行い、それぞれの動作パターンに対するパラメータ同定値Plhl,・・・,Plhnを算出する。
【0037】
次に、Plhlから手先負荷の質量初期値ml0、重心位置初期値lgx0,lgy0,lgz0をまず算出する。
Figure 2004276125
【数1】
Figure 2004276125
B=[B ・・・ B (39)
ΔPlh=[ΔPlhl ΔPlh2 ・・・ ΔPlhn (40)
ΔP=B・ΔPlh (41)
を計算し、式(41)で算出される第1要素〜第4要素をそれぞれ負荷の質量推定値ml0、重心位置推定値lgx0,lgy0,lgz0に加算したものを改めて手先負荷の質量推定値をml0、重心位置推定値lgx0,lgy0,lgz0とする。式(36)〜式(41)でΔPを求め、負荷および重心位置の推定値を修正することを規定回数繰り返す。規定回数終了後の推定値を求めるパラメータとする。
【0038】
ステップST5では第5軸、第6軸が動く動作を、同定に必要なパターンのn倍の動作パターンで動作させる。n個の動作パターンの組み合わせ毎に式(24)でパラメータを算出し、それぞれの平均値を求めるパラメータとする。
【0039】
以上のように、この実施の形態6によれば、複数の同定結果から平均を出すことによって、あらゆる動作パターンに基づいて負荷パラメータを高精度に同定することができる。
【0040】
実施の形態7.
図3はこの発明の実施の形態7による負荷パラメータ同定方法を示すフローチャートであり、同図において、実際の作業と同じ速度で、実際に行う動作パターンの1つを動作させ、その時の一定サンプル時間毎の位置、速度、加速度、電流を記憶する(ステップST11)。次にステップST11で記憶した位置、速度、加速度、電流を用いて、その動作に特化した負荷パラメータ値の同定を行う(ステップST12)。この実施の形態7では、実作業で動作させる各々の動作に対して、ロボットに取り付けた負荷が変わるかどうかに関わらず、ステップST11、ステップST12の同定作業を実施するものである。
【0041】
次に動作について説明する。
ステップST12での同定方法について説明する。式(1)の追加負荷モデルの駆動トルクτは、追加負荷の質量、重心位置、慣性モーメントの演算結果から構成されるパラメータベクトルPに関して、
τ=Y・P (42)
と線形化できる。また、式(1)、式(2)より、
τ+τ=τ−τrm−τ (43)
が得られる。したがって、パラメータベクトルPを各軸のクーロン摩擦係数、粘性摩擦係数を含む新しいパラメータベクトルP7bに拡張し、式(43)の左辺をτ7bとおけば、
τ7b=Y7b・P7b (44)
と線形化できる。
【0042】
このパラメータベクトルの各要素を上記実施の形態5と同様に、適応同定理論を繰り返し適用することによりパラメータを算出する。具体的には、第kサンプル目の未知パラメータP7bの推定値P7bh[k]を、
Figure 2004276125
で算出する。ここで、Δt,σは定数、Gは定数から構成される行列で、行列Rおよびベクトルqの初期値は各要素が0であるとする。また、同定パラメータP7bhの初期値は予め定めている値とする。式(45)〜式(47)の演算をまず、記憶したデータに対して、サンプル数kが記憶したデータ個数mに達するまで行う。次に第m番目のP7bh,R,qの値を初期値として、再度サンプル数kが記憶したデータ個数mに達するまで式(45)〜式(47)の演算を行う。この演算を予め決められた回数n回繰り返す。最後のn回目の繰り返しにおけるP7bh[k]の平均値を求めるパラメータ値とする。
【0043】
以上のように、この実施の形態7によれば、擬似逆行列を用いないので、同定に使用する動作パターンが、擬似逆行列をとる行列がフルランクになる動作に限る必要をなくすことができる。また、動作毎に特化したパラメータを同定するため、その動作のトルク推定精度がさらに向上し、最適な加減速時間の算出を行うことができる。
【0044】
実施の形態8.
この実施の形態8による負荷パラメータ同定方法も図3のフローチャートで示されるものである。ステップST11で実際の作業と同じ速度で、実際に行う動作パターンの1つを動作させ、その時の一定サンプル時間毎の位置、速度、加速度、電流を記憶する。次にステップST12で、ステップST11で記憶した位置、速度、加速度、電流を用いて、その動作に特化した負荷パラメータ値の同定を行う。この実施の形態8では、上記実施の形態7とは異なり、負荷7の質量のみを未知パラメータとして同定する。質量以外のパラメータと摩擦係数は既知とし、初期値、もしくは、予め同定した値を使用する。式(1)の右辺は、手先負荷質量を含む成分をτla、負荷を含まない成分をτlbとすると、
τ=τla+τlb (48)
と変形できる。τ−τlbをτとすると、手先負荷質量を含む成分をτlaは手先負荷質量Pに関して線形化できるため、
τ=Y・P (49)
と書ける。したがって、ステップST1で記憶した各サンプル毎のτ,Yを縦に並べた行列をそれぞれT,Y8bとすれば、Y8bの擬似逆行列Y8b を用いて、
=Y8b ・T (50)
でその動作の手先負荷質量Pが推定できる。
【0045】
以上のように、この実施の形態8によれば、擬似逆行列をとる行列がほぼ全ての場合でフルランクになるため、同定に使用する動作パターンがほとんど制限されることはない。また、動作毎に特化したパラメータを同定するため、その動作のトルク推定精度がさらに向上し、最適な加減速時間の算出を行うことができる。
【0046】
実施の形態9.
図4はこの発明の実施の形態9による負荷パラメータ同定方法を示すフローチャートであり、同図において、ステップST23〜ST28はそれぞれ図1のステップST1〜ST6に対応するので、説明は省略する。ステップST21では、ロボットの手先に何も取り付けず(無負荷状態)にある決まった動作をさせ、その時の位置、速度、加速度、電流を決まったサンプリング周期毎に記憶しておく。次に質量、重心位置、慣性モーメントが既知の負荷を手先に取り付け、ステップST21で無負荷状態にて行った動作と同じ動作を行い、その時の位置、速度、加速度、電流を決まったサンプリング周期毎に記憶しておく。
ステップST22では、各軸のトルク定数が公称値であるとして、各軸の電流から各軸のトルクを算出し、無負荷時の動作データおよび既知の負荷を取り付けた時の動作データから、既知負荷のパラメータを同定する。同定した既知負荷のパラメータと、既知負荷パラメータの真値の比に応じて、トルク定数を修正する。ステップST23以降では、修正したトルク定数を用いて、未知負荷のパラメータを同定する。
【0047】
以上のように、この実施の形態9によれば、トルク定数が個体毎にばらつく場合でも、高精度に追加負荷のパラメータ同定を行うことができる。
【0048】
実施の形態10.
この実施の形態10による負荷パラメータ同定方法も図4のフローチャートで示されるものである。図4のステップST23〜ステップST28はそれぞれ図1のステップST1〜ステップST6に対応するので、説明は省略する。
まず、予め機種毎に、ある動作を行った時のロボット本体補正モデルのパラメータ値を算出しておく。次に、ステップST21で、ロボット本体補正モデルのパラメータの同定に使用されたのと全く同じ動作を行い、その時の位置、速度、加速度、電流を決まったサンプリング周期毎に記憶しておく。
ステップST22では、各軸のトルク定数が公称値であるとして、各軸の電流から各軸のトルクを算出し、ロボット本体補正モデルのパラメータを同定する。同定したロボット本体補正モデルのパラメータ値と予め記憶してある機種毎のロボット本体補正モデルのパラメータ値の比に応じて、トルク定数を修正する。ステップST23以降では、修正したトルク定数を用いて、未知負荷のパラメータを同定する。
【0049】
以上のように、この実施の形態10によれば、トルク定数が個体毎にばらつく場合でも、高精度に追加負荷のパラメータ同定を行うことができる。
【0050】
実施の形態11.
図5はこの発明の実施の形態11による負荷パラメータ同定方法を示すフローチャートであり、同図において、ステップST31で実際の作業と同じ速度で、実際に行う動作パターンの1つを動作させ、その時の一定サンプル時間毎の位置、速度、加速度、電流を記憶する。次にステップST32で各サンプル毎の速度ノルムを計算し、速度ノルムの差分をとることにより加速度ノルムを算出する。加速度ノルムが正のサンプルにおける位置、速度、加速度、電流のデータは加速区間のデータとして記憶し、加速度ノルムが負のサンプルにおける位置、速度、加速度、電流のデータは減速区間のデータとして記憶する。ステップST33では加速区間、減速区間のそれぞれに対して式(44)の線形化を行い、式(45)〜式(47)の計算を加速区間、減速区間のそれぞれに対して繰り返すことにより、加速区間のパラメータと減速区間のパラメータを別個に算出する。
【0051】
以上のように、この実施の形態11によれば、動作毎の加速区間と、減速区間とのそれぞれに特化したパラメータを同定するため、その動作の加速区間および減速区間におけるトルク推定精度がさらに向上し、最適な加速時間および減速時間の算出を行うことができる。
【0052】
実施の形態12.
図6はこの発明の実施の形態12による負荷パラメータ同定方法を示すフローチャートであり、同図において、ステップST41で実際の作業と同じ速度で、実際に行う動作パターンの1つを動作させ、その時の一定サンプル時間毎の位置、速度、加速度、電流を記憶する。次にステップST42で各サンプル毎の速度ノルムを計算し、速度ノルムの差分をとることにより加速度ノルムを算出する。加速度ノルムが正のサンプルにおける位置、速度、加速度、電流のデータは加速区間のデータとして記憶し、加速度ノルムが負のサンプルにおける位置、速度、加速度、電流のデータは減速区間のデータとして記憶する。
【0053】
ステップST43では、まず、加速区間の電流から加速区間のトルクを求め、加速区間の各軸のトルク最大値を算出する。各軸の加速区間トルク最大値をその軸のトルク許容値で除した値の絶対値が最も大きい軸ikを求める。同様にして、各軸の減速区間トルク最大値をその軸のトルク許容値で除した値の絶対値が最も大きい軸igを求める。
【0054】
ステップST44では、加速区間は軸ikのデータに基づいてパラメータの同定を行い、減速区間は軸igのデータに基づいてパラメータの同定を実施する。
まず、加速区間の式(44)から軸ikに関する部分のみ取り出せば、
τ7bik=Y7bik・P7b (51)
が得られる。そこで、P7bを上記実施の形態11と同様に、
Figure 2004276125
を繰り返し計算することにより算出する。
【0055】
減速区間も同様に、減速区間の式(44)から軸igに関する部分のみ取り出せば、
τ7big=Y7big・P7b (55)
が得られる。そこで、P7bを上記実施の形態11と同様に、
Figure 2004276125
を繰り返し計算することにより算出する。
【0056】
以上のように、この実施の形態12によれば、動作毎の加速区間と、減速区間とのそれぞれにおいて、加減速時間を制約するであろう軸に特化したパラメータを同定するため、その動作の加速区間および減速区間における加減速時間を制約するであろう軸のトルク推定精度がさらに向上し、最適な加速時間および減速時間の算出を行うことができる。
【0057】
実施の形態13.
この実施の形態13による負荷パラメータ同定方法も図1のフローチャートで示されるものである。この実施の形態13では、図2に示した6軸垂直多関節ロボットの第2リンク9に取り付けた負荷のパラメータを同定する。
図7は垂直2自由度ロボットの一例を示す説明図であり、図において、第1軸10および第2軸11と、第1リンク12および第2リンク13と、負荷14ととから構成されている。上記実施の形態1と異なるのは、追加負荷モデルとして図7に示す垂直2自由度ロボットモデルを用いことであり、図7の垂直2自由度ロボットは第1リンク12の質量は0で、第2リンク13は負荷14の質量、重心位置、慣性モーメントで構成される。第1リンク12の長さは本体ロボットの第1リンクの長さと同一である。
同定した追加負荷パラメータは、図1の第2リンク9の要素の一部と見なしてロボット本体モデルの第2リンク13のパラメータを修正してから、加減速時間の算出、トルクフィードフォワードの計算等に使用する。
【0058】
以上のように、この実施の形態13によれば、ロボットの手先以外に取り付けられた負荷14のパラメータも簡単な計算により同定することができる。
【0059】
実施の形態14.
図8はこの発明の実施の形態14による負荷パラメータ同定方法を示すフローチャートであり、図9はエレベータドアの一例を示す説明図である。図9において、エレベータドア駆動用モータ15の回転は、Vベルト17を通じてプーリ16を回転させ、さらに、そのプーリ16を回転は、タイミングベルト18を通じてカゴドア19を動作させる。乗り場ドア(図示せず)は、その乗り場ドアに設けられた装置(図示せず)でカゴドア19と結合され、連動して動作する。なお、戸締め力発生リンク20は、カゴドア19に連動して、その重力に応じた戸締め力をカゴドア19に与えるものである。
【0060】
次に動作について説明する。
図8および図9において、まず、乗り場ドアがドアカゴ19と結合された状態で、エレベータドア駆動用モータ15を低速かつ一定速度で動作させ、その時のエレベータドア駆動用モータ15の回転角、速度、電流を記憶しておく(ステップST51)。次にステップST51で記憶したエレベータドア駆動用モータ15の回転角、速度、電流から戸締め力発生リンク20の質量、重心位置と、ステップST51での動作速度における摩擦力とを同定する(ステップST52)。次に乗り場ドアがドアカゴ19と結合された状態で、エレベータドア駆動用モータ15を高速動作させ、その時のエレベータドア駆動用モータ15の回転角、速度、加速度、電流を記憶しておく(ステップST53)。次にステップST53で記憶したエレベータドア駆動用モータ15の回転角、速度、加速度、電流からドアカゴ19と乗り場ドアを合わせた質量と、摩擦係数とを同定する(ステップST54)。
【0061】
以上のように、この実施の形態14によれば、重力から同定可能な戸締め力発生リンク20のパラメータは重力から同定し、重力からでは同定できないパラメータのみ慣性力、遠心・コリオリ力に基づいて同定するため、全てのパラメータを高精度に同定することができる。
【0062】
実施の形態15.
この実施の形態15による負荷パラメータ同定方法も図5のフローチャートで示されるものである。まず、実装機(図示しない)の先端に実際の作業の一つで実装される電子部品を取り付ける。次にステップST31で実際の作業と同じ速度で、実際に行う動作パターンの一つを動作させ、その時の一定サンプル時間毎の位置、速度、加速度、電流を記憶する。次にステップST32で各サンプル毎の速度ノルムを計算し、速度ノルムの差分をとることにより加速度ノルムを算出する。加速度ノルムが正のサンプルにおける位置、速度、加速度、電流のデータは加速区間のデータとして記憶し、加速度ノルムが負のサンプルにおける位置、速度、加速度、電流のデータは減速区間のデータとして記憶する。ステップST33では、加速区間、減速区間のそれぞれに対して、実装機の先端に取り付けた電子部品の質量、重心位置、慣性モーメントの演算結果と摩擦係数から構成されるベクトルPに関して、式(44)と同様な線形化を実施し、式(45)〜式(47)と同様な計算を加速区間、減速区間のそれぞれに対して繰り返すことにより、加速区間のパラメータと減速区間のパラメータとを別個に計算する。
【0063】
以上のように、この実施の形態15によれば、動作毎の加速区間と減速区間とのそれぞれに特化したパラメータを同定するため、その動作の加速区間および減速区間におけるトルク推定速度がさらに向上し、最適な加速時間および減速時間の算出を行うことができる。
【0064】
実施の形態16.
図10はこの発明の実施の形態16による負荷パラメータ同定方法を示すフローチャートであり、同図において、まず、工作機械(図示しない)の先端に負荷が取り付けられていない状態で、複数の動作を低速かつ一定速度で動作させ、その時の各軸の位置、速度、電流を記憶しておく(ステップST61)。次にステップST61で記憶した各軸の位置、速度、電流から工作機械本体補正モデルのパラメータと、ステップST61での動作速度における摩擦力を同定する(ステップST62)。次に同定したい切削工具等の負荷を工作機械に取り付け、ある動作を低速かつ一定速度で動作させ、その時の各軸の位置、速度、電流を記憶しておく(ステップST63)。次にステップST63で記憶した各軸の位置、速度、電流から、負荷の質量、重心位置と、ステップST63での動作速度における摩擦力とを同定する(ステップST64)。次にステップST63とは異なる動作パターンで工作機械を高速動作させ、その時の各軸の位置、速度、加速度、電流を記憶しておく(ステップST65)。次にステップST65で記憶した各軸の位置、速度、加速度、電流から負荷の慣性モーメントと摩擦係数とを同定する(ステップST66)。
【0065】
以上のように、この実施の形態16によれば、重力から同定可能なパラメータは重力から同定し、重力からでは同定できないパラメータのみ慣性力、遠心・コリオリ力に基づいて同定するため、全てのパラメータを高精度に同定することができる。
【0066】
【発明の効果】
以上のように、この発明によれば、低速動作させた時の動作データから重力に関するパラメータを同定し、高速動作させた時の動作データから低速動作時には同定しなかった残りのパラメータを同定することにより、全てのパラメータを高精度に同定することができる。また、低速動作時および高速動作時において摩擦力を同時に同定するため、摩擦力をキャンセルする必要がなく、同定に使用する動作パターンの制約を少なくすることができる。さらに、パラメータの同定に使用される動作も少なくすることができる効果がある。
【図面の簡単な説明】
【図1】この発明の実施の形態1による負荷パラメータ同定方法を示すフローチャートである。
【図2】6軸垂直多関節型ロボットの一例を示す説明図である。
【図3】この発明の実施の形態7による負荷パラメータ同定方法を示すフローチャートである。
【図4】この発明の実施の形態9による負荷パラメータ同定方法を示すフローチャートである。
【図5】この発明の実施の形態11による負荷パラメータ同定方法を示すフローチャートである。
【図6】この発明の実施の形態12による負荷パラメータ同定方法を示すフローチャートである。
【図7】垂直2自由度ロボットの一例を示す説明図である。
【図8】この発明の実施の形態14による負荷パラメータ同定方法を示すフローチャートである。
【図9】エレベータドアの一例を示す説明図である。
【図10】この発明の実施の形態16による負荷パラメータ同定方法を示すフローチャートである。
【符号の説明】
1,10 第1軸、2,11 第2軸、3 第3軸、4 第4軸、5 第5軸、6 第6軸、7,14 負荷、8,12 第1リンク、9,13 第2リンク、15 エレベータドア駆動用モータ、16 プーリ、17 Vベルト、18 タイミングベルト、19 カゴドア、20 戸締め力発生リンク。

Claims (7)

  1. 有負荷時にメカニカルシステムを低速動作させた時の動作データから摩擦力と重力に関するパラメータとを同定し、有負荷時に上記メカニカルシステムを高速動作させた時の動作データから摩擦力と上記低速動作時には同定しなかった残りのパラメータとを同定することを特徴とする負荷パラメータ同定方法。
  2. メカニカルシステムモデルを、メカニカルシステム本体モデル、メカニカルシステム本体補正モデル、追加負荷モデルの3つのモデルの和で表現し、そのメカニカルシステム本体補正モデルのパラメータを無負荷時に上記メカニカルシステムを低速動作させた時の動作データから予め求めておくことを特徴とする負荷パラメータ同定方法。
  3. 実際に行う動作パターンに基づいてメカニカルシステムを動作させた時の動作データから逐次的にパラメータの修正を行うことにより、パラメータの同定を行うことを特徴とする負荷パラメータ同定方法。
  4. 実際に行う動作パターンに基づいてメカニカルシステムを動作させた時の動作データから特定のパラメータのみ同定を行うことを特徴とする負荷パラメータ同定方法。
  5. メカニカルシステムの動作の加速区間と減速区間とで独立にパラメータの同定を行うことを特徴とする負荷パラメータ同定方法。
  6. パラメータの同定に使用されるメカニカルシステムの軸のトルク定数を予め同定しておくことを特徴とする負荷パラメータ同定方法。
  7. 複数の軸から構成されるメカニカルシステムの隣接する2つの軸の間に取り付けられた負荷のパラメータの同定を行うことを特徴とする負荷パラメータ同定方法。
JP2003066727A 2003-03-12 2003-03-12 負荷パラメータ同定方法 Expired - Lifetime JP4137673B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003066727A JP4137673B2 (ja) 2003-03-12 2003-03-12 負荷パラメータ同定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003066727A JP4137673B2 (ja) 2003-03-12 2003-03-12 負荷パラメータ同定方法

Publications (2)

Publication Number Publication Date
JP2004276125A true JP2004276125A (ja) 2004-10-07
JP4137673B2 JP4137673B2 (ja) 2008-08-20

Family

ID=33284543

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003066727A Expired - Lifetime JP4137673B2 (ja) 2003-03-12 2003-03-12 負荷パラメータ同定方法

Country Status (1)

Country Link
JP (1) JP4137673B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009098786A (ja) * 2007-10-15 2009-05-07 Mitsubishi Electric Corp メカニカルシステムの制御装置
JP2010055464A (ja) * 2008-08-29 2010-03-11 Osaka Kiko Co Ltd 数値制御工作機械の位置決め制御方法及び位置決め制御装置
KR101209779B1 (ko) * 2008-04-30 2012-12-07 현대중공업 주식회사 로봇의 부하 추정 방법
WO2014095439A2 (de) * 2012-12-19 2014-06-26 Trumpf Werkzeugmaschinen Gmbh + Co. Kg Verfahren zum materialabtragenden bearbeiten eines werkstücks
WO2016042958A1 (ja) * 2014-09-19 2016-03-24 株式会社 日立産機システム 複数のパラメータを同定する方法および複数のパラメータを同定する方法を用いた複数のパラメータ同定装置
JP2016209952A (ja) * 2015-05-08 2016-12-15 ファナック株式会社 負荷パラメータ設定装置および負荷パラメータ設定方法
JP2019193965A (ja) * 2017-09-21 2019-11-07 上銀科技股▲分▼有限公司 ロボットアームのための負荷推定及び重力補償方法、並びにそのシステム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012088827A (ja) * 2010-10-18 2012-05-10 Mitsubishi Heavy Ind Ltd 負荷イナーシャ推定方法及び制御パラメータ調整方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009098786A (ja) * 2007-10-15 2009-05-07 Mitsubishi Electric Corp メカニカルシステムの制御装置
KR101209779B1 (ko) * 2008-04-30 2012-12-07 현대중공업 주식회사 로봇의 부하 추정 방법
JP2010055464A (ja) * 2008-08-29 2010-03-11 Osaka Kiko Co Ltd 数値制御工作機械の位置決め制御方法及び位置決め制御装置
WO2014095439A2 (de) * 2012-12-19 2014-06-26 Trumpf Werkzeugmaschinen Gmbh + Co. Kg Verfahren zum materialabtragenden bearbeiten eines werkstücks
WO2014095439A3 (de) * 2012-12-19 2014-12-18 Trumpf Werkzeugmaschinen Gmbh + Co. Kg Verfahren zur ermittlung eines näherungswertes der aktuellen werkstückmasse
CN104871101A (zh) * 2012-12-19 2015-08-26 通快机床两合公司 用于材料切除地加工工件的方法
WO2016042958A1 (ja) * 2014-09-19 2016-03-24 株式会社 日立産機システム 複数のパラメータを同定する方法および複数のパラメータを同定する方法を用いた複数のパラメータ同定装置
JP2016209952A (ja) * 2015-05-08 2016-12-15 ファナック株式会社 負荷パラメータ設定装置および負荷パラメータ設定方法
US10252418B2 (en) 2015-05-08 2019-04-09 Fanuc Corporation Load parameter setting method and load parameter setting device
JP2019193965A (ja) * 2017-09-21 2019-11-07 上銀科技股▲分▼有限公司 ロボットアームのための負荷推定及び重力補償方法、並びにそのシステム

Also Published As

Publication number Publication date
JP4137673B2 (ja) 2008-08-20

Similar Documents

Publication Publication Date Title
CN106815642B (zh) 机械学习装置及方法以及电动机控制装置
CN103213134B (zh) 机械手的控制方法和机械手
CN105033999B (zh) 多台机器人的模拟装置
CN103495977B (zh) 一种6r型工业机器人负载识别方法
JP6400750B2 (ja) 学習制御機能を備えた制御システム及び制御方法
JP5912415B2 (ja) ゴルフスイング解析装置およびゴルフスイング解析方法
US7986118B2 (en) Open-loop torque control on joint position-controlled robots
CN108890650A (zh) 基于动力学参数辨识的ptp加速度优化方法及装置
CN106346477A (zh) 六轴机器人的负载辨识方法及模块
JP6834125B2 (ja) ロボット制御装置、ロボット制御方法
JP2020101541A (ja) トルク推定のための方法および装置
JP4137673B2 (ja) 負荷パラメータ同定方法
JP7173916B2 (ja) 機械学習装置および機械学習方法
JP2006215807A (ja) ロボット制御装置および制御方法
Chellal et al. An identification methodology for 6-dof cable-driven parallel robots parameters application to the inca 6d robot
JP2007272597A (ja) ロボットの加減速パターン生成方法
CN113459082A (zh) 故障预测方法及故障预测装置
JP3698770B2 (ja) 負荷重量の推定方法
JP4807260B2 (ja) モータ制御装置とその制御方法
KR101209779B1 (ko) 로봇의 부하 추정 방법
US20230052996A1 (en) Method of obtaining vibrational properties of robot arm
JP4449693B2 (ja) ロボット制御装置およびその制御方法
JP2020075329A (ja) シミュレーション装置、制御システム、ロボットシステム、シミュレーション方法、プログラム及び記録媒体
Lee et al. Motion teaching method for complex robot links using motor current
Świder et al. The modeling and analysis of a partial loads in the Fanuc am100ib robot joints

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051026

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20071024

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071024

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080215

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080604

R150 Certificate of patent or registration of utility model

Ref document number: 4137673

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130613

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term