説明

振動抑制方法

【課題】加速または減速運動に伴って運動体に生じるn自由度かつ時変の振動を、インプットシェイピング法を適用して効果的に抑制する振動抑制方法を提供する。
【解決手段】運動体に付加された第1の入力によって運動体に生じる第1の応答に、第1の応答の変位が0となる時刻において、第2の入力を運動体に付加して生じる第2の応答を重ね合わせて、互いに打ち消し合うインプットシェイピング法を適用する場合に、n自由度かつ時変の振動における複数のモード間のエネルギの移り変わりのうち、モード間の相互作用によるものを無視し、固有振動数および減衰比の変化によるものを考慮して、第1の入力に対する第2の入力の大きさを決定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、加速または減速運動に伴って運動体に生じる振動を抑制する振動抑制方法に関するものであり、特に、運動中に運動体自体の姿勢が変化する場合に、運動体に生じるn自由度(nは自然数)かつ時変の振動を抑制する振動抑制方法に関する。
【背景技術】
【0002】
様々な作業を行うために運動動作を行うロボットアームは、モータとアームの間に減速機を用いている。減速機はねじりばねとして振る舞うため、モータ停止後もアームの振動が残留する。その結果、振動が収まるまで次の作業に移ることができず、作業効率を向上させることができない。
【0003】
このような残留振動に伴う課題は、ロボットアームだけに限られず、加速または減速運動を含む運動動作を行う運動体、例えば、工作機械やクレーン等についても共通する。
【0004】
フィードバック制御で振動を抑える場合は検出器が必要となるため、検出器が不要なフィードフォワード制御で振動を抑える方法が求められている。
【0005】
フィードフォワード制御での振動抑制方法としては、インプットシェイピング法が知られている(例えば、非特許文献1参照)。このインプットシェイピング法は、工作機械などのように、固有振動数が変化しない場合に有効な振動抑制方法であり、様々な提案がなされている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2009−29617号公報
【非特許文献】
【0007】
【非特許文献1】Neil C. Singer and Warren P. Seering : Preshaping Command Inputs to Reduce System Vibration, Trans.ASME Journal of Dynamic Systems, Measurement, and Control, Vol.112, No.1, 76-82 (1990)
【非特許文献2】Pyung Hun Chang and Hyung-Soon Park : Time-varying input shaping technique applied to vibration reduction of an industrial robot, Control Engineering Practice 13 (2005) 121-130
【発明の概要】
【発明が解決しようとする課題】
【0008】
ロボットアームは、様々な作業に対応可能とするために、一般に多関節および多自由度を有している。そのため、ロボットアームにおいて、一の関節が駆動された運動動作を行っている間に他の関節が駆動されると、運動動作を行っているアーム自体の姿勢が変化する。そのため、アームの固有振動数が時間によって変化することになる。このような場合にあっては時変の振動系となるため、時不変の振動系を対象として従来のインプットシェイピング法を単に適用するだけでは、振動抑制に対応することができない。
【0009】
このような時変の振動系において振動を抑制する方法としては、いくつかの提案がなされている(例えば、特許文献1および非特許文献2参照)。しかしながら、時変の振動抑制に対して、インプットシェイピング法を効果的に適用できる振動抑制方法が求められている。特に、自由度が2以上のロボットアームに対しては、複数の固有振動数が時々刻々と変化していくため、インプットシェイピング法を用いて多自由度かつ時変の振動を効果的に抑制することが求められている。
【0010】
従って、本発明の目的は、上記課題を解決することにあって、加速または減速運動に伴って運動体に生じるn自由度かつ時変の振動を、インプットシェイピング法を効果的に適用して抑制する振動抑制方法を提供することにある。
【課題を解決するための手段】
【0011】
上記目的を達成するために、本発明は以下のように構成する。
【0012】
本発明の第1態様によれば、加速または減速運動が行われる運動体において、加速または減速運動に伴って運動体に生じるn自由度(nは自然数)かつ時変の振動を抑制する振動抑制方法において、運動体に付加された第1の入力によって運動体に生じる第1の応答に、第1の応答の変位が0となる時刻において、第2の入力を運動体に付加して生じる第2の応答を重ね合わせて、互いに打ち消し合うインプットシェイピング法を適用する場合に、n自由度かつ時変の振動における複数のモード間のエネルギの移り変わりのうち、モード間の相互作用によるものを無視し、固有振動数および減衰比の変化によるものを考慮して、第1の入力に対する第2の入力の大きさを決定する、振動抑制方法を提供する。
【0013】
本発明の第2態様によれば、加速または減速運動が行われる運動体において、加速または減速運動に伴って運動体に生じるn自由度(nは自然数)かつ時変の振動を抑制する振動抑制方法において、運動体に付加された第1の入力によって運動体に生じる第1の応答に、第1の応答の変位が0となる時刻において、第2の入力を運動体に付加して生じる第2の応答を重ね合わせて、互いに打ち消し合うインプットシェイピング法を適用する場合に、n自由度かつ時変の振動における複数のモード間の相互作用によるエネルギの移り変わりを無視し、加速または減速運動を行っている間に運動体自体の姿勢が変化することにより生じるコリオリがした仕事を考慮して、第1の入力に対する第2の入力の大きさを決定する、振動抑制方法を提供する。
【0014】
本発明の第3態様によれば、加速または減速運動が行われる運動体において、加速または減速運動に伴って運動体に生じるn自由度(nは自然数)かつ時変の振動を抑制する振動抑制方法において、運動体に付加された第1の入力によって運動体に生じる第1の応答に、第1の応答の変位が0となる時刻において、第2の入力を運動体に付加して生じる第2の応答を重ね合わせて、互いに打ち消し合うインプットシェイピング法を適用する場合に、n自由度かつ時変の振動におけるモード間の相互作用によるエネルギの移り変わりをゼロと見なして、固有振動数および減衰比の時間変化によるモード間のエネルギの移り変わりを考慮して、第1の入力に対する第2の入力の大きさを決定する、振動抑制方法を提供する。
【0015】
本発明の第4態様によれば、各振動モードにおいて、第1の入力に対応する入力を打ち消す第2の入力に対応する入力の大きさを個別に算出して、振動モードごとに算出された入力を合成することで第2の入力の大きさを決定する、第1態様から第3態様のいずれか1つに記載の振動抑制方法を提供する。
【0016】
本発明の第5態様によれば、運動体が多関節型ロボットアームであって、ロボットアームに生じるn自由度かつ時変の振動を抑制する、第1態様から第4態様のいずれか1つに記載の振動抑制方法を提供する。
【発明の効果】
【0017】
本発明によれば、加速または減速運動に伴って運動体に生じる、n自由度かつ時変の振動を、インプットシェイピング法を用いて抑制する場合に、n自由度かつ時変の振動における複数のモード間のエネルギの移り変わりのうち、モード間の相互作用によるものを無視し、固有振動数および減衰比の変化によるものを考慮して、第2の入力を決定するという手法を採用している。そのため、第1の入力によって生じたn自由度かつ時変の振動(第1の応答)を抑制できる第2の入力を算出することが可能となる。よって、加速または減速運動に伴って運動体に生じるn自由度かつ時変の振動を、インプットシェイピング法適用して効果的に抑制する振動抑制方法を提供することができる。
【図面の簡単な説明】
【0018】
【図1】本発明の実施の形態にかかる振動抑制方法が適用される多関節型ロボットアームの模式図
【図2】図1のロボットアームにおける関節の模式図
【図3】時変におけるインパルス応答の変位と時間の関係図
【図4】時変におけるインパルスの重ね合わせの考え方を示す図
【図5】2関節ロボットアームにおける各モードの振動形態を示す図
【図6】実施例1にかかる可変ばねを備える1自由度線形時変系の構成図
【図7】インパルス応答H(t,0)を示す図
【図8】追加入力と時間の関係図
【図9】オリジナル系の応答と近似式による応答との比較図(a=π)
【図10】参照加速度指令値と追加指令値との波形図
【図11】整形した加速度指令値の波形図
【図12】加速度指令値に対する応答の波形図
【図13】整形された加速度指令値とCho方法による加速度指令値の波形図
【図14】残留振動の低減効果を示す図
【図15】実施例2にかかる水平2関節型ロボットアームの構成図
【図16】水平2関節型ロボットアームの実験モデルの上面図
【図17】サーボドライバの設定値を示す表
【図18】実験モデルの測定パラメータを示す表
【図19】自由応答の測定方法の模式図
【図20】2関節型ロボットアームのアクセラレンスを示す図
【図21】実験モデルのパラメータを示す表
【図22】実固有値解析により求まる固有振動数を示す図
【図23】ロボットアームにおける座標系の定義を示す図
【図24】2関節型ロボットアームの突き出し動作の模式図
【図25】突き出し動作における指令値を示す図
【図26】突き出し動作中の疑似固有振動数と疑似減衰比を示す図
【図27】オリジナル系と近似式による応答との比較図
【図28】近似における応答誤差を示す図
【図29】整形後の加減速パターンを示す図
【図30】ZV Shaperにより整形した加減速パターンを示す図
【図31】突き出し動作におけるΣE座標系のアーム先端の変位を示す図(計算値)
【図32】突き出し動作におけるΣE座標系のアーム先端の変位を示す図(実験値)
【図33】突き出し動作におけるΣH座標系のアーム先端の変位を示す図(計算値)
【図34】突き出し動作におけるΣB座標系のアーム先端の変位を示す図(計算値)
【図35】三角形速度パターンの図
【図36】台形速度パターンの図
【図37】アーム先端の最大変位を示す図
【図38】アーム先端の最大変位を示す図(計算値)
【図39】アーム先端の最大変位を示す図(実験値)
【図40】加減速パターン、速度パターン、指令値を示す図
【図41】整形した加減速パターン、速度パターン、指令値を示す図
【図42】理想指令角と、送信されるデジタル化された指令角を示す図
【図43】2関節型ロボットアームの振り回し動作の模式図
【図44】振り回し動作後のΣE座標系におけるアーム先端の変位を示す図(計算値)
【図45】振り回し動作後のΣE座標系におけるアーム先端の変位を示す図(実験値)
【図46】アーム先端の最大変位を示す図(計算値)
【図47】アーム先端の最大変位を示す図(実験値)
【図48】2関節型ロボットアームの折り畳み動作の模式図
【図49】折り畳み動作後のΣE座標系におけるアーム先端の変位を示す図(実験値)
【図50】残留振動のパワースペクトル図
【図51】実施例3にかかる垂直2関節型ロボットアームの構成図
【図52】垂直2関節型ロボットアームのパラメータを示す表
【図53】参照指令値、加減速パターン、速度パターンを示す図
【図54】整形後の参照指令値、加減速パターン、速度パターンを示す図
【図55】突き出し動作後のΣB座標系におけるアーム先端の変位を示す図
【図56】動作中の各関節の角速度を示す図
【図57】釣り合い位置からの偏差角を示す図
【発明を実施するための形態】
【0019】
以下に、本発明にかかる実施の形態を図面に基づいて詳細に説明する。
【0020】
(実施の形態)
本発明の実施の形態にかかる運動体の振動抑制方法について、運動体の一例であるロボットアーム10を用いて説明する。
【0021】
(多関節型ロボットアームの運動方程式)
図1に示すように、ロボットアーム10は、多関節型ロボットアームであり、n個のリンクL,・・・,Lと、それぞれのリンクLを動作可能に接続するn個の関節J,・・・,Jとを備えている(nは自然数)。また、関節Jの部分を示す図2および図1に示すように、このロボットアーム10のそれぞれのリンクLおよび関節Jは、1つの平面内で動作可能となっている。
【0022】
図2に示すように、関節Jの角度をθ1、その指令角をθ01、ばね定数をk1とし、関節J以外の任意の関節jの角度をθj、その指令角をθ0j、ばね定数をkjとする。上付き添え字Tは転置を表すとし、数1〜数3のように定義する。
【数1】

【数2】

【数3】

【0023】
数1〜数3の定義と、ラグランジュの方法により、多関節型ロボットアーム10の運動方程式は、数4のように表される。
【数4】

ここで、J(θ)は慣性行列、h(左辺第2項)はコリオリの力と遠心力を表す項、g(θ)は重力付加を表す項、CVは粘性減衰行列である。
【0024】
(テイラー展開)
次に、非線形な式である数4をθ=θ0まわりの1次のテイラー展開により線形化を行うと、数5が得られる。なお、数5におけるφ、Ch、Km、Kh、Kgは、数6〜数10の通りである。
【数5】

【数6】

【数7】

【数8】

【数9】

【数10】

【0025】
(多自由度線形時変系のモード分解)
モード解析は、本来は線形時不変系を対象とする解析手法の一つである。ここでは、このモード分解を連続時間で記述される線形時変系に適用し、入力値整形に利用する。
【0026】
一般にn自由度線形時変系の運動方程式は、n次正方実行列の質量行列M(t)、減衰
行列C(t)、剛性行列K(t)、n行縦ベクトルの入力f(t)、偏差角ベクトルφ(t)を用いて、数11のように表せる。
【数11】

【0027】
多関節型ロボットアーム10の場合には、指令値θ0に対して参照指令値θref(t)を与えるものとして、数12〜数15とすれば、数5は数11の形の多自由度線形時変系とみなすことができる。ただし、href(t)、gref(t)は数16、数17のように表される。
【数12】

【数13】

【数14】

【数15】

【数16】

【数17】

【0028】
ここで釣り合いの位置からの偏差角ψは数18の通りである。
【数18】

この時間に関する1階微分と2階微分はそれぞれ数19、数20のようであるので、釣り合いの位置からの偏差角ψに関する運動方程式は数21のようになり、数22のように表される。
【数19】

【数20】

【数21】

【数22】

【0029】
をn次単位行列とすると、数21の運動方程式に対応する状態方程式は、数23〜数26にように表される。
【数23】

【数24】

【数25】

【数26】

【0030】
ここで、Aの時刻tにおける瞬間的な固有ベクトルと固有値について、常に共役なペアがn個存在する場合、つまり、全モードの応答が振動的であり、過減衰または臨界減衰でない場合についてのみ考える。Aの時刻tにおけるi番目の瞬間的な固有ベクトルをpi(t)、対応する瞬間的な固有値をλi(t)とし、固有ベクトルからなる行列P(t)と固有値を対角要素にもつ行列Λ(t)を、数27、数28のように定義する(iは自然数)。ただし、数29の関係式が成立するようにiを選ぶものとする。
【数27】

【数28】

【数29】

【0031】
ここで、モード座標qを数30のように定義する。すると、状態方程式はモード座標について、数31のように表すことができる。
【数30】

【数31】

ここで、数31に示される状態方程式における右辺第一項である数32にて表される行列のうち対角要素のみを取り出した行列D(t)を考え、この行列D(t)を数33のように表す。
【数32】

【数33】

数32の行列において、非対角要素の絶対値が対角要素の絶対値に比べて十分に小さいことから、数33の行列D(t)を用いて、数31の状態方程式を数34のように近似できる。なお、この状態方程式の近似の考え方については後述する。
【数34】

【0032】
数31の状態方程式では、数32の行列において、非対角要素に有意な値があるため、このままでは方程式を解くことができない。しかしながら、数31の状態方程式を数34の状態方程式にように近似することで、各モードの応答を独立な方程式を解くことで求めることが可能となる。これにより、i次モードのインパルス応答関数を数35のように導くことができる。なお、τは単位インパルスを与える時刻である。
【数35】

【0033】
(モードごとの入力値整形)
次に、ロボットアーム10に付加された第1の入力によってロボットアーム10に生じる第1の応答に、ロボットアーム10に第2の入力を付加して生じる第2の応答を重ね合わせて、互いに打ち消し合うような第2の入力の値を、振動モードごとに算出方法について説明する。
【0034】
ここで、インプットシェイピング法におけるインパルス応答の重ね合わせの考え方について、図3に示す。図3ではインパルス応答の変位(振動量:縦軸)と時間(横軸)との関係を示している。
【0035】
図3に示すように、ある時刻τに与えられる第1のインパルスP1(第1の入力)に対する第1の応答Hi(t,τ)(第1の応答)を打ち消すため、第2のインパルスP2(第2の入力)を与える時刻をτ~(数式上では、「τ」の上に「~」と表す。以降同じ。)(>τ)とし、第1のインパルスP1に対する第2のインパルスP2の大きさの比を実数α~(数式上では、「α」の上に「~」と表す。以降同じ。)とする。ここで、α~とτ~は未知数であり、これらは以下のように求めることができる。
【0036】
まず、第1のインパルスP1により生じる第1の応答とインパルスP2により生じる第2の応答とが、t>τ~において互いに打ち消しあうための条件は、数36にて表される。
【数36】

数35より、t>τ~では、数37の関係式が成り立つため、数36は数38のようになる。
【数37】

【数38】

一般にHi(t,τ~)≠0であるので、数36を満たすための条件は、数39のようになる。
【数39】

この数39は、第2のインパルスP2の大きさを求める式である。τ~は未知であり、α~は実数であるので、数40に示す関係を満たさなければならない。
【数40】

数40を用いて、時刻τで与えられた第1のインパルスP1に対する第1の応答の虚部が0になる時刻τ~を求めることができる。しかし、数40を満たすτ~は無数に存在する。そこで、数40を満たす最小のτ~をτ'とする。なお、τ'は力学系においては、第1のインパルスP1によって生じる第1の応答に対して、変位が最初に0になる時刻である。また、(τ'−τ)は、時不変系で言うところの半周期に相当する。時変系であれば、τ'は第1のインパルスP1を与える時刻τにより異なるので、τ'をτの実関数として、数41にように表す。
【数41】

さらに、αi(τ)を数42のように定義すれば、数43の関係式が成り立つ。
【数42】

【数43】

【0037】
次に、このインパルスの組み合わせを用いて、i次モードに対する任意の入力ui(t)による応答を打ち消すことができる追加の入力wi(t)を求める。任意の入力ui(t)はある時刻τSからτEの間にのみ任意の複素数をとるものとし、それ以外の時刻(t<τS,t>τE)では0とする。数43にui(t)を乗じ、τについてτSからτEまで積分すると、τ>ηi(τE)のとき、数44が成り立つ。
【数44】

数44の左辺第一項は畳み込み積分の形になっており、入力ui(t)に対する応答を表している。左辺第二項についても畳み込み積分の形にするため、積分変数をτからτ'に変換する。なお、ηiの逆関数をηi-1、ηi-1の1次導関数を数45のように表すと、数46、数47のようになる。
【数45】

【数46】

【数47】

これらより、数44は数48のように表される。ただし、数49〜数51のような関係になる。
【数48】

【数49】

【数50】

【数51】

【0038】
数48の左辺第一項は、ui(t)による応答、左辺第二項はwi(t)による応答を表すことになる。さらに、これらの足し合わせがt>τ'Eにおいて0になることを、数48は示している。つまり、ui(t)+wi(t)をi次モードに対する第2の入力とすれば、このi次モードに生じた残留振動は抑えられることになる。なお、第1のインパルスP1が与えられた時刻τから第1の応答の虚部が最初に0になるまでの時間(τ'−τ)を時変系における半周期と呼ぶことにすれば、数51においてηi-1(τ')は、時刻τ'から見て半周期前の時刻τを表すことになる。また、αii-1(τ'))は時刻τに与えられた第1のインパルスP1に対する第1の応答が、半周期の間にどれだけ減衰するのかを表しており、uii-1(τ'))は半周期前の入力の大きさを表すことになる。また、数52は、時変系における固有周期の変化に対する補正量である。
【数52】

ここで、時変系において連続的に第1のインパルスが入力される場合を考える。図4に示すように、第1の入力として、連続的にインパルスが入力された第1のインパルス列P3により生じる第1の応答を打ち消すように連続的にインパルスが入力された第2のインパルス列P4を考える。時変系の場合は、第1のインパルス列P3の時間間隔がdτであるのに対して、第2のインパルス列P4の時間間隔は数48における積分変数の変換により数53のように表される。そのため、この時間間隔を補正するために追加の入力に対しては、数52に示される時変系における固有周期の変化に対する補正量を乗じる必要がある。
【数53】

【0039】
ここで、元々の入力ui(t)に対してwi(t)を足し合わせると、例えばこの入力を力とみれば、系に加わる力積が単純に増えるということになる。そこで、入力の正規化係数を数54で定義する。
【数54】

数48に任意の複素定数を乗じても右辺が0となることから、ui(t)+wi(t)に任意の複素定数を乗じても2つの入力は打ち消し合うことになる。そこで、数54で定義される正規化係数を用いて、各モードにおける整形された入力値は、数55のように表すことができる。
【数55】

【0040】
(複数モードを対象とした入力値整形)
次に、複数モードを対象とした入力値整形の方法を示す。まず、入力fとして任意の参照入力frefを与えると、対応する各モードへの入力uiは、数56のように表される。
【数56】

この数56をもとに数55により整形された入力u'i(t)をモードごとに求め、任意の実定数κ1,・・・,κnを用いて、数57のように表す。
【数57】

をBの疑似逆行列とすると、数58で表されるfshapedが、数56で表される多自由度線形時変系において、全てのモードの残留振動を抑制する入力となる。κiu'iがi次モードの残留振動を抑制する入力であり、さらにその他のモードを励起しないため、そのような入力の足し合わせであるfshapedは、結局、全てのモードについての残留振動を抑制することになる。
【数58】

【0041】
(加減速パターンの生成)
次に、ロボットアーム10の残留振動を抑制する加減速パターン(数59)を生成する方法について説明する。本手法により加減速パターンを整形した結果、対応する速度パターン(数60)、変位指令値(数61)は、(数62)、(数63)から大きく変わらないものとする。これにより、加減速パターンを整形した後もモード形状の時間推移は変わらないものとみなせる。すると、数15、数22より、数64で表される加減速パターン(数59)が残留振動を抑制する加減速パターンとして生成される。ただし、κ=[κ1・・・κn]は動作終了時に、対応する速度パターン(数60)が0となるように、信頼領域Dogleg法によりκを変化させながら数56〜数58、数64を繰り返し評価することにより決めることが望ましい。また、Γは対角実行列であり、整形後の指令値(数61)が参照指令値(数63)と同じ値で終わるようにその要素を決めることが望ましい。
【数59】

【数60】

【数61】

【数62】

【数63】

【数64】

【0042】
(状態方程式の近似について)
ここで、上述した数31の状態方程式において、数32にて表される右辺第一項の行列のうちの非対角要素を無視して(すなわち0として)、対角要素のみを取り出した行列D(t)を用いて、数34のように近似した本発明の考え方について、さらに説明する。
【0043】
2関節ロボットアーム20を例として説明する。図5に示すように、2関節ロボット20では2種類の振動の形態が考えられる。図5(a)に示す振動の形態が1次モードであり、図5(b)に示す形態が2次モードである。このような振動の形態は、1次モードについては固有ベクトルpによって決まり、2次モードについては固有ベクトルpによって決まる。実際には、この2つの振動モードが合成されて(混在して)アームが振動し、2つの振動の形態が合成された動きとなる。
【0044】
時変系の場合は、数31において、行列(数32)の非対角要素が0でないため、q1の値がq2に影響を及ぼし、q2の値がq1に影響を及ぼすことになる。すなわち、時変系の場合には振動モード間での相互作用が発生することになる。これに対して、時不変系の場合には振動モード間での相互作用は発生しない。時変系におけるこの相互作用の大きさが行列(数32)の非対角要素の値の大きさと対応する。
【0045】
しかしながら、運動体がロボットアームの場合には、振動モード間での相互作用はあまり大きくない。具体的には、行列(数32)の対角要素(モード毎の自らの時変性が示されている要素)に比して、非対角要素(モード間の相互作用の大きさが示されている要素)が十分に小さい。そこで、この非対角要素を無視して0とみなし、数32の対角要素のみを取り出したDという行列(数33)を用いることで、数31の状態方程式を数34のように近似することで、モードごとの応答を独立な方程式を解くことで算出することを可能とするというのが、本発明の考え方である。なお、このような観点からは、本発明において「振動モード間の相互作用」とは、数31において、q1の値がq2に影響を及ぼし、q2の値がq1に影響を及ぼす作用を意味すると言うことができる。
【0046】
また、モード間のエネルギのやり取りの観点からも、この相互作用について説明できる。系に減衰が無く、外力も与えられていないとすれば、エネルギ保存則が成り立つ。1次モードのエネルギをE1、2次モードのエネルギをE2とすれば、E1+E2は常に一定の値となる。時不変系であれば、さらにモードごとにエネルギ保存則が成り立つ。つまり、E1とE2がそれぞれ一定の値となる。これに対して、時変系では、モードごとにエネルギ保存則が成り立たず、モード間でエネルギのやり取りが発生する。例えば、E1が大きくなるときには、E2がその分だけ小さくなる。逆に、E1が小さくなるときには、E2はその分だけ大きくなる。
【0047】
ここで、このような時変系におけるモード間でのエネルギのやり取りには2つの要因がある。1つ目は、行列(数32)の対角要素、つまり固有振動数と減縮比が時間により変化することである。2つ目は、行列(数32)の非対角要素により異なるモード間にて相互に作用し合うことによるものである。本発明では、時変系において、1つ目の要因を考慮しながら、2つ目の要因を無視することにより、数34のような近似式を得るという考え方に基づいている。
【0048】
すなわち、本発明の振動抑制方法では、n自由度かつ時変の振動における複数のモード間のエネルギの移り変わりのうち、モード間の相互作用によるものを無視し、固有振動数および減衰比の変化によるものを考慮して、第1の入力により生じる第1の応答を打ち消すような第2の入力の大きさを決定する、という考え方に基づいている。
【0049】
次に、このような考え方に基づく、n自由度かつ時変の振動を抑制する振動抑制方法について、具体的な実施例を用いて説明する。
【0050】
(実施例1:1自由度線形時変系)
まず、実施例1として、1自由度線形時変系について説明する。具体的には、上記実施の形態にて説明した手法を、図6に示す可変ばねを有する1自由度振動系に適用し、本手法の時変系に対する有効性を確かめる。特に固有周期の変化に対する補正が、高速にパラメータが変化する際に重要となることを本実施例1にて示す。
【0051】
(運動方程式)
図6に示す可変ばねを有する1自由度振動系を考える。ばねの自然長は一定である。質量は1に正規化し、図示右向きを正として質量の位置をξとする。固有振動数をωn(t)とすると、ばね定数はωn2となる。また、右向きを正として指令値をξ0とする。すると、この系の運動方程式は数65で表される。
【数65】

ここで、質量の変位と指令値の偏差z=ξ−ξ0について運動方程式を書きなおすと、数66で表される。なお、初期条件は数67にて表される条件とする。
【数66】

【数67】

この偏差に関する運動方程式に対応する状態方程式は、数68のように表される。
【数68】

数68において、A(t)の時刻tにおける瞬間的な固有ベクトp(t)と固有値λ(t)はそれぞれ数69、数70にて表される。
【数69】

【数70】

【0052】
(モード座標への変換)
次に、モード座標への変換を行う。数71および数72とすれば、数73にて表されるモード座標を用いて、状態方程式は数74と書き換えられる。
【数71】

【数72】

【数73】

【数74】

ここで、数75に表されるようにし、数74の非対角要素を無視すれば、数74は数76のように近似できる。
【数75】

【数76】

各モードへの入力を数77に示すようにすると、モードごとの運動方程式は、数78にて表すことができる。
【数77】

【数78】

ここで、数79とすれば、dの時間積分は数80と書けるので、インパルス応答関数は、数81と求まる。
【数79】

【数80】

【数81】

【0053】
(入力値整形)
次に、数40を満たす数82の最小値をτ'とすると、数83となる。
【数82】

【数83】

これをτ'とτについて解き、それぞれτ'=η(τ),τ=η−1(τ')とする。また、α(τ)=−H(η(τ),τ)とする。数51より、数84により励起される振動を打ち消す加速度指令値は、数85のように求めることができる。
【数84】

【数85】

【0054】
(シミュレーション)
シミュレーションの例として、固有振動数が数86のようになる場合について考える。ここで、ω0(>0)はt=0における初期固有振動数、a(>0)は固有振動数の時間変化率を表す実定数である。すると、各種関数が、数87〜数91のように、初等関数のみを使って求めることができる。
【数86】

【数87】

【数88】

【数89】

【数90】

【数91】

参考のため、a=π,ω0=πの場合の数90を図7に示し、数88、数89および数91を図8に示す。
【0055】
ここで、初速度0の状態から数92の状態まで加速するための参照加速度指令値として、数93を与えるものとする。
【数92】

【数93】

非対角要素を無視した数76の近似の妥当性を調べるため、数93を入力として与えたとき、数74による応答qと近似式である数76による応答qを、それぞれルンゲクッタ法の一種であるDormand-Prince法により図9のように得た。図9に示されるように、2つの応答はよく似ており、数76の近似は妥当であると言える。
【0056】
参照加速度指令値(数93)が与えられれば、数85を用いると、初等関数のみを用いて明示的に振動を打ち消す加速度指令値(数85)を求めることができる。このようにして求めた振動を打ち消す加速度指令値を図10に示す。ここで、残留振動を抑えつつ、加速期間終了時t=η(1)に速度(数94)が1m/sとなるように、加速度指令値を数95とする。
【数94】

【数95】

参照加速度指令値(数96)、整形後の加速度指令値(数97)、Choの方法により整形した加速度指令値を図11に示し、それぞれに対する応答を図12に示す。図12より明らかなように、本発明の手法で残留振動が大幅に抑制されていることが分かる。なお、Choの方法については参考文献(Cho, J. K. and Park, Y. S., “Vibration reduction in flexible systems using a time-varying impulse sequence”, Robotica, Vol. 13, Issue 3 (1995), pp. 303-313.)に開示されている。
【数96】

【数97】

【0057】
特に着目すべき点は、本発明の手法(Proposed method)では追加の入力に相当する部分がChoの方法に比べて大きい点である。これは、時間が経つにつれて固有周期が短くなっているためである。このような場合には参照入力と追加の入力が与える力積を等しくするために、追加の入力の方を大きくなるよう補正する必要がある。本発明の手法では、この固有周期の変化に対する補正を数52で示す項で行っている。一方で、図13に示すように、Choの方法により得られる加速度指令値は数52で示す項を1として整形した加速度指令値と一致することから、Choの方法では固有周期の変化に対する補正がされてないと言える。このことから、固有周期の変化に対する補正が時変系の残留振動抑制に必要であることが分かる。
【0058】
また、数75の積分が解析的に求まり、さらに、数83が解析的に解けるのであれば、本発明の手法では単純な演算のみで入力値整形を行うことができる。実際、固有振動数の変化が数86のように表せるため、初等関数のみを用いて入力値整形を行うことができた。このように、1自由度時変振動系を対象とする場合には、本発明の手法による入力値整形の演算量は少なくて済む。このため、多くの行列演算を必要とするChoの方法と比べて、本発明の手法は実機に実装するにあたって有用である。
【0059】
(高速時変系に対する効果)
本発明の手法の特徴は、パラメータが高速に変化する場合にでも適用可能な点にある。先に説明した例を用いて、固有振動数の変化率aが大きい場合でも残留振動が低減可能であることを数値計算によるシミュレーションにより示す。
【0060】
まず、数98に対する応答の絶対値|z|のt>1における最大値をzrefmaxとする。また、数99に対する応答の絶対値|z|のt>η(1)における最大値をzmaxとする。すると、zmax/zrefmaxが入力値整形によりどれだけ残留振動が低減されたかを表す指標になる。そこで、aをω0/10から10ω0の間で変えながら運動方程式をDormand-Prince法により解いた。どのようにzmax/zrefmaxが変化するのかを、Choの方法による結果とともに図14に示す。
【数98】

【数99】

【0061】
図14に示すように、本発明の手法では、固有振動数が初期固有振動数ω0に対して単位時間あたりで10倍も変化するような場合でも、残留振動が3%以下にまで低減されていることが分かる。また、Choの方法と比べると、固有振動数が高速に変化する場合でも効果的に残留振動が抑制されていることが分かる。
【0062】
(効果)
本発明の手法では、多自由度の複雑な系であっても、入力値整形に必要な関数を補間などの方法により求めることで計算時間の短縮を狙うことができる。α(t)は減衰などによるエネルギ消散量に関連しており、インパルス応答が分かれば容易にα(t)の関数形状を想像することができる。例えば、図7より、振幅が時間とともに増大していく場合には、対応するα(t)は常に1より大きくなり、振幅の変化が小さくなるとα(t)は1に近づいていく。また、η−1(t)についても瞬間的な固有周期の時間変化率に関連している。図7に示したように固有周期が短くなる場合には、2つ目のインパルスの値は大きくなるようにせねばならず、η−1(t)は常に1以上となる。また、固有周期をT(t)(数100)とすると、その変化率は数101のように表され、時間の経過とともに固有周期の変化が小さくなることが分かる。
【数100】

【数101】

このことから、時間の経過ともにη−1(t)が1に収束していくことが予想され、実際、図8ではそのようになっている。このように、固有周期の変化をあらかじめ知ることができればη−1(t)の形状を予測できる。すると、これらの関数は補間などの手法により得ることができ、設計者が補間に必要なだけの点数を選ぶことが可能になる。関数の形状さえ再現できるのであれば、不必要に時間間隔を細かく区切る必要が無くなる。このことから、本発明の手法では入力値を整形するのに必要な演算量(作業量)を低減することが可能であると言える。
【0063】
(実施例2:水平2関節型ロボットアーム)
次に、実施例2として、水平2関節型ロボットアームへの適用例について説明する。
【0064】
図15に示す水平面内で動作する2関節ロボットアーム20について、残留振動を抑制するための加減速パターンを生成し、数値計算と実験により上述にて説明した入力値整形の有効性を検証した。
【0065】
この検証にて用いた実験装置(実験モデル)を図16に示す。この実験装置は、第1リンク11を水平面内にて回動させる第1関節21(Joint 1)にACサーボモータRSF-14A-100(ハーモニック・ドライブ・システムズ社)を用い、第2リンク12を水平面内にて回動させる第2関節22(Joint 2)にACサーボモータRSF-14A-50(同社)を用いた水平面内で動作する2関節ロボットアーム20である。これらのACサーボアクチュエータには波動歯車装置が用いられている。各関節のモータM1、M2は、それぞれACサーボドライバHA-655(ハーモニック・ドライブ・システムズ社)により図17の表に示す設定で位置制御モードにより制御されており、外部指令装置からパルスを送ることで駆動する。第1関節21は1パルスあたり4.5×10−3度、第2関節は9.0×10−3度回転する。外部指令装置にはDS1104 R&D コントローラボード(dSPACE 社)のDAC出力を用い、1秒あたり最大で2.5×104パルスを同時に2つのACサーボドライバに送ることができる。また、動作終了後のアーム先端の残留振動の大きさの測定には、レーザー変位計HLC105B-HK(SUNX 社)を用いた。なお、この測定値はフィードバックすることなく、測定のためだけに用いた。
【0066】
(運動方程式)
関節jの回転角度をθj,その指令値をθ0j,リンクlの質量をm,リンクlの関節j周りの慣性モーメントをJj,リンクlの長さをb,関節jからリンクlの質量中心までの距離をlj,関節jのねじり剛性をkjとする。運動方程式は、数103〜数111の条件に基づいて数102のように表される。
【数102】

【数103】

【数104】

【数105】

【数106】

【数107】

【数108】

【数109】

【数110】

【数111】

【0067】
数5〜数10によるテイラー展開により、参照指令値をθref= [θref1 θref2]Tとすると、水平2関節型ロボットアームの運動方程式は数21で表される。ただし、各パラメータは数12〜数15より、数112〜数115のようになる。ただし、数116〜数122に示す関係にある。
【数112】

【数113】

【数114】

【数115】

【数116】

【数117】

【数118】

【数119】

【数120】

【数121】

【数122】

なお、水平多関節型ロボットアームの場合には重力項が無いため、数18よりψ=φである。
【0068】
(パラメータ同定)
本発明の手法により加減速パターンを生成するために必要なパラメータの同定方法について述べる。まず、電子はかりによる測定と幾何形状から求まるパラメータを図18の表に示す。ここで、未知のパラメータはJ、k、k、Cvである。これらは以下に説明するようにして同定した。
【0069】
(モーダルパラメータの同定)
まず、全てのモータをサーボオンにした状態で、第1関節21に対する指令角をθ01=0,θ02=θr2として固定したときの自由応答を測定した。ここで、θr2は、数123のように表される。
【数123】

自由応答は、図19のように、加速度ピックアップをアーム先端から9mmのところに貼り付け、その裏側をインパクトハンマにより加振し、アーム先端の加速度を測定した。θ02=θr2のときにFFTアナライザにより得られたアクセレランスをGrk)とする。なお、サンプリング周波数を256Hz,計測時間を16秒,ωk=2πfk,fkを0,0.0625,0.125,...,128Hzとした。ここで、一般粘性減衰をもつ2自由度系のアクセレランスLr(ω)(数124)に対し、Grk)を1〜100Hzの領域で曲線適合させるため、数125にて表される値が最小となるようパラメータUri,Vri,ωrni,ζriを信頼領域Reflective法により求めた。
【数124】

【数125】

【0070】
一例として、θ02=θ42=π/4radのときに計測した伝達関数G4k)と、求まったパラメータをもとに求めた伝達関数L4(ω)を図20に示す。
なお、θ02=π/2,7π/12radのときは、鉛直方向の1次固有振動数と水平方向の2次固有振動数が近く、インパクトハンマによる打撃によって鉛直方向の振動が少なからず励起されるとともに、加速度ピックアップが鉛直方向の加速度をも拾ってしまうため、曲線適合は一般粘性減衰をもつ3自由度系のアクセレランスLr(ω)(数126)を用いて行った。
【数126】

【0071】
(慣性モーメントとねじり剛性の同定)
次に、ωrniをi次モードの固有振動数とみなし、このパラメータをもとにJ1,k1,k2を以下のように同定した。数5において数127に示すようにしたときの偏差角φに関する運動方程式(数128)より実固有値解析によって求まる固有振動数をω'rniとする。
【数127】

【数128】

そして、数129に示す値が最小となるよう信頼領域Reflective法によりJ1,k1,k2を図21に示す表のように同定した。
【数129】

アクセレランスの曲線適合により求めた固有振動数ωrniと、同定したJ1,k1,k2を運動方程式(数130)に代入し、実固有値解析により求まる固有振動数ω'ni2)を図22に示す。
【数130】

なお、第1関節21に用いられているモータM1のねじり剛性は、ねじり角が小さい場合には4.7×103N・m/radである。また、第2関節22では3.4×103N・m/radである。同定したねじり剛性k1,k2がこれらの値よりも小さいのは、関節に用いられている軸の軸径が小さいことにより機械的剛性が低くなっている部分があることと、サーボ機構により系全体の剛性が下がっていることによる。
【0072】
(粘性減衰行列の同定)
次に、粘性減衰行列Cvを求める。ζriをi次モードのモード減衰比とみなし、θ02=θr2のときの粘性減衰行列が、定数αr,βrを用いて数131というRayleigh減衰の形で与えられるとすると、定数αr,βrは、i次モードに関して数132という関係を満たす。これより、1次のモーダルパラメータωrn1,ζr1と、2次のモーダルパラメータωrn2,ζr2を用いて、定数αr,βrがそれぞれ数133、数134と求まる。
【数131】

【数132】

【数133】

【数134】

数131、数133、数134よりCvrが求まるので、その平均をとることで数135のようにCvを決めた。
【数135】

【0073】
(座標系の定義)
アーム先端の面内振動を評価するため、図23のようにベースから見た座標系ΣB,アーム先端の指令位置から見た座標系ΣH,動作終了後のアーム先端の位置から見た座標系ΣEを定める。なお、θE=[θ1E θ2E]Tは動作終了時における関節の角度である。
【0074】
図23より、座標系ΣBにおけるアーム先端の位置は、数136、数137のようになる。
【数136】

【数137】

座標系ΣHにおけるアーム先端の位置は、同次変換(数138)により、数139、数140となる。
【数138】

【数139】

【数140】

この座標系ΣHは動作中のアーム先端の振動を評価するために用いる。同様にして,座標系ΣEにおけるアーム先端の位置は、数141、数142となる。
【数141】

【数142】

座標系ΣEにおけるアーム先端の位置は、レーザー変位計により直接測定できるもので、動作終了後のアーム先端の残留振動を評価するために用いる。
【0075】
(突き出し動作)
次に、図24に示す突き出し動作について考える。動作開始時の各関節の角度θSは数143にて表され、動作終了時の関節の角度θEは数144にて表される。
【数143】

【数144】

【0076】
最大角加速度を4πrad/s2,最大角速度をπrad/sとし、2つの関節が同時に動作終了するようにすると、最短時間制御は図25に示すような指令値となる。これを参照指令値θrefとし、対応する加減速パターン(数145),速度パターン(数146)についても図25に示す。
【数145】

【数146】

【0077】
ここで、i次モードの疑似固有振動数と疑似減衰比をそれぞれωi(t)=|di|,ζi(t)=−real[di]/ωiとすると、動作中の疑似固有振動数と疑似減衰比は図26のように変化する。1次固有振動数と2次固有振動数は、動作開始時にはそれぞれ7.9 Hz,18.3 Hzであるが、動作終了時にはそれぞれ6.2 Hz,28.0 Hz となる。
【0078】
(近似の妥当性)
この突き出し動作において、上述にて説明した加減速パターンを導出する際に行った近似の妥当性を検証する。元々の非線形な運動方程式(数4)、剰余項を無視して線形化した運動方程式(数21)、非対角項を無視することによって導いたモードごとの非連成な運動方程式(数34)をそれぞれ数値計算により解いた。その結果得られる偏差角をそれぞれψ=[ψ1 ψ2]T,ψL=[ψL1 ψL2]T,ψM=[ψM1 ψM2]Tとし、図27に示す。また、非線形な運動方程式(数34)の解ψからの誤差を数147、数148のように定義し、図28に示す。
【数147】

【数148】

なお、数値計算にはDormand-Prince法を用いた。図28より、線形化したことによる誤差が5%以下であり、モード分解をしても誤差が5.5%以下であることから、この突き出し動作における数34の近似は妥当であると言える。
【0079】
(加減速パターンの生成)
加減速パターンを生成するにあたって、数149を解析的に求めることは困難であるため、差分を用いて数149を計算する。しかしながら、図25に示す加減速パターンは時刻tに関して不連続であるため、微小時間ΔtPを用いて数150とすると、P(t)が不連続になる時刻tにおいて、数151の各要素が他の時刻のときと比べて非常に大きな値をとり、生成される加減速パターンは残留振動を抑制しなくなる。
【数149】

【数150】

【数151】

そこで、数151を数152とする。
【数152】

ただし、med関数は引数として与えられた行列のうち、フロベニウスノルムが中央値をとる行列を返す関数である。このように数149を定義しなおすと、ΔtPを小さくしても、Pが不連続な点において数149の各成分が異常に大きな値をとることがなくなる。
【0080】
この数149を用いて、数64により得られる加速度パターン(数59)と対応する(数60)(数61)を図29に示す。ただし,ΔtP=0.001sとした。整形前の図25と整形後の図29とを比べることにより、両者の速度パターンと指令値に大きな差異がないことが分かる。よって、この場合にはモード形状の時間推移は整形後も変わらないものとみなすことが妥当であると言える。
【0081】
比較のため、Input Shaperの中で最も基本的なZV Shaperにより数153を整形した加
減速パターン(数154)を図30に示す。なお,ZV Shaperのパラメータとして、同定した1次モードのモーダルパラメータの平均値を数155、数156のように用いた。
【数153】

【数154】

【数155】

【数156】

つまり、この加減速パターンは1次モードの固有振動数が6.9 Hz,減衰比が0.037である線形時不変系の残留振動を抑制する入力に相当する。時変系である2関節型ロボットアームに適用しても、ある程度残留振動が抑制されることが期待されることから、本発明の手法の比較対象として以下のように取り上げる。
【0082】
ここで、動作を開始してから最後に指令値を送るまでの時間を動作時間とし、各加減速パターンにより生成される指令値の動作時間を比較する。参照指令値ではt=0.834sで動作終了するのに対し、整形後の指令値ではt=0.915sで動作終了する。この参照指令値に対する動作終了時刻の遅れは、動作終了時の1次モードの半周期π/ω1E=0.081sに相当する。ここで、ωiEは動作終了時のi次モードの固有振動数である。本発明の手法では、一般に参照指令値の動作時間に対して1次固有周期の半分π/ω1Eだけ動作が遅れる。これは、モードごとに2パルスで入力値整形を行うため、最も固有周期の長い1次モードにおいて入力が終わるまでにかかる時間が動作時間となるからである。そのため、高次のモードを扱う場合でも1次固有周期の半分だけ動作が遅れることになる。これに対し、Choの方法などの2パルスのConvolved型のInput Shaperでは、一般に、残留振動を抑制したいモードの固有周期の合計の半分(数157)だけ動作終了時刻が遅れる。
【数157】

そのため、本発明の手法の方が動作終了時刻を短縮できることが分かる。なお、ZV Shaperでは平均的な固有振動数を用いて加減速パターンを整形するため、動作終了時刻はπ/ωZVだけ遅れる。すなわち、この突き出し動作の場合はt=0.907sで動作が終了する。
【0083】
(結果と考察)
生成した指令値θshapedを与えた場合に、参照指令値θrefを与えた場合やZV Shaperにより生成した指令値θZVを与えた場合と比べて残留振動がより抑制されることを数値計算と実験により検証した。なお、以下に示す数値計算による結果は、数4をDormand-Prince法により解いて得られるθから計算したものである。
【0084】
まず、動作終了後の残留振動を評価するため、数値計算により求めた動作終了後のyEを図31に示し、実験においてレーザー変位計により測定したyEを図32に示す。図31、図32より、実験結果が数値計算の結果をよく再現していることが分かるとともに、本発明の手法がZV Shaperと比べてより効果的に残留振動を抑制していることが分かる。ここで、動作開始から振動振幅が0.25mm以下に収まるまでの時間を位置決め時間とすると、実験結果より、θrefを与えた場合には位置決め時間が2.5秒以上、θZVを与えた場合には1.61秒となった。それらに対し、θshapedを与えた場合には、動作終了時には振動振幅が0.25mm以下となっており、位置決め時間は0.92秒となった。これより、本発明の手法を用いると位置決め時間が短縮され、作業効率を向上させられることが分かる。
【0085】
次に、動作中の振動を評価するため、数値計算により求めた動作中と動作終了後のxHとyHを図33に示す。図33より、θshapedを与えると動作中の振動も抑制されることが分かる。これは、時変性を考慮して入力値整形をしているためである。それに対し、θZVを与えた場合には、動作中である0.3〜0.58秒付近において偶然にも振動が収まっているが、時変性を考慮せずに入力値整形をしているため、動作中のその他の期間と動作終了後において振動が生じる結果となっている。
【0086】
最後に、数値計算の結果より、座標系ΣBにおいてアーム先端が描く軌跡を図34に示す。θshapedを与えたときのアーム先端の軌道は、必ずしも参照指令値θrefを与えたときと同じ軌道を描くとは限らないことが図34より分かる。そのため、アーム先端の軌道に制約がある場合などには、参照指令値θrefを変えて加減速パターンを生成しなおす必要がある。この突き出し動作の例の場合には、アーム先端がyB>0の領域に大きく侵入していることが分かる。これは、図25、図29に示すように、第2関節の参照加速度(数158)に比べて、生成した第2関節の加速度パターン(数159)では動作初期において大きく加速し、第1関節よりも速く動作するためである。このため、例えばyH=0.01mの位置に障害物があるような場合には、参照指令値の第2関節の角速度を落とすなどしてから加減速パターンを生成しなおす必要がある。
【数158】

【数159】

【0087】
(動作時間と残留振動)
非減衰1自由度線形時不変系において、固有周期の整数倍の時間だけ一定外力を与えると残留振動が生じないということから、図25のような一定加速度により加減速する加減速パターンを用いても、加速時間と減速時間を調整することにより残留振動をある程度まで抑えられることが予想される。同様に、時変性を考慮しないZV Shaperを用いても加減速時間と系の固有周期の関係により残留振動が効果的に抑えられる場合があると考えられる。しかし、これらの方法では系の固有周期により動作時間を決めなければならないため、必ずしも位置決め時間を短縮することができるとは限らない。それに対し、本発明の手法により生成する加減速パターンは、時変性を考慮しているため、系の固有周期と加減速時間の関係によらず残留振動を抑制でき、位置決め時間を短縮できると考えられる。このことを示すため、動作時間と発生する残留振動の大きさの関係を数値計算と実験により調べた。
【0088】
まず、一定加速度により加減速する動作について考える。θdを数160とする。
【数160】

参照指令値として最大角速度をvmax,最大角加速度をAmaxとし、2つの関節の動作が同時に終了する最短時間制御を行う。θd<v2max/Amaxの場合には図35のような三角形速度パターンとなり、θd≧v2max/Amaxの場合には図36のような台形速度パターンとなる。このとき加速時間(または減速時間)ta、動作時間tmは数161、数162のようになる。
【数161】

【数162】

【0089】
ここで、vmax=πrad/sとし、最大角加速度Amaxを与えると、ta,tm,および数163が決まる。この加減速パターンに対応する参照指令値θrefを与えたとき、数値計算により得られる動作終了後(t>tm)のアーム先端の最大変位max[|yE|]を図37に示す。ここで、横軸は動作終了時の1次固有周期に対する加速時間の比(数164)である。
【数163】

【数164】

図37より、加速時間が1次固有周期の整数倍に近いと発生する残留振動が小さくなることが分かる。しかし、2関節ロボットアームでは非線形性や時変性により、加速時間が1次固有周期の整数倍であっても少なからず残留振動が発生することが分かる。
【0090】
次に、数値計算により得られる動作終了後のアーム先端の最大変位max[|yE|]を、横軸を動作時間tmとして図38に示す。また、ZV Shaperを適用した場合の最大変位と、本発明の手法を適用した場合の最大変位も示す。なお、最高角速度vmaxをπrad/sとしているので、参照指令値の最高角加速度を大きくして最も制御時間が短くなるようにしても、一定加速度の加減速パターンでは、数165だけ動作に時間がかかる。同様にして、ZV Shaperにより整形した加減速パターンでは、数166だけ動作に時間がかかり、本発明の手法により生成された加減速パターンでは数167だけ動作に時間がかかる。
【数165】

【数166】

【数167】

ここで、実験においてレーザー変位計により測定した最大変位を図39に示す。図38、図39より、動作時間が短い場合には本発明の手法がZV Shaperと比較して動作時間によらず効果的に残留振動を抑制できることが分かる。図39より、動作時間によっては本発明の手法よりも発生する残留振動の大きさがZV Shaperを用いた方が小さくなる場合があることが分かる。しかし、アーム先端の負荷が変わるなどして固有周期が変化すれば、残留振動が小さくなる動作時間は変化する。そのため、残留振動が生じない動作時間を見つけるのは困難である上、動作時間が限られてしまうため、実際にZV Shaperを多関節型ロボットアームに適用して任意の動作の残留振動を抑制するのは難しい。これに対し、本発明の手法で加減速パターンを生成すると、残留振動を抑制しながら動作時間を短縮できることが分かる。
【0091】
なお、本発明の手法において、動作時間が短い場合、すなわち、角加速度が大きい場合には、角加速度が小さい場合と比べて残留振動の抑制効果が小さいことが図38より分かる。本発明の手法も含む各種Input Shaping法では、完全に打ち消し合わせられない振動的な応答が残る場合に、加振力に相当する角加速度が大きいことにより残留振動が大きくなる。時変性を考慮したにも関わらず本発明の手法により振動的な応答が残るのは、加減速パターンの整形前後においてモード形状の時間推移が比較的大きく変わったためだと考えられる。Amax=61.8 rad/s2のときの参照指令値の加減速パターンとそれに対応する速度パターン、指令値を図40に示す。また、この参照指令値をもとに本発明の手法で生成した加減速パターンとそれに対応する速度パターン、指令値を図41に示す。両者の速度パターンを比較すると、特に減速期間において速度パターンが異なることが分かる。しかし、加減速パターンを生成する際には加減速パターンの整形前後においてモード形状の時間推移が変わらないことを前提としているため、この前提をもとに生成した加減速パターンでは残留振動が完全に抑制できないということになる。
【0092】
ここで、図38と図39を比較することにより、動作時間が長い場合、すなわち、角加速度が小さい場合には、数値計算による結果と比べて実験ではあまり残留振動が抑制されていないことが分かる。これは、指令角の量子化の精度が粗いためである。動作終了前後における関節1に対する理想的な指令角θshaped1と、実際にサーボドライバに送信されるデジタル化された指令角を図42に示す。図42(a)には角速度が大きい場合の指令角を示し、図42(b)には角速度が小さい場合の指令角を示している。図42より、角加速度が小さい場合には、動作終了直前に非常にゆっくりと回転するように指令をするが、量子化の精度が粗いために、断続的に角度を指令することになる。このため、動作時間が長い場合に残留振動が発生してしまっていると考えられる。このことから、本発明の手法を実際にロボットアームに適用する場合には量子化の精度に注意することが望ましい。
【0093】
(振り回し動作)
図43に示すアームを振り回す動作により、ZV Shaperとの違いを明確にする。この動作は、図24に示す突き出し動作において第2関節22の回転方向を逆向きにしたものである。つまり、第2関節22への指令角θ02の符号を反転させただけであり、固有振動数の時間推移は等しくなる。しかし、1次モードに寄与するトルクが大きくなるため、その分だけ残留振動が大きくなり、時変性を考慮しない従来法との違いが顕著になる。
【0094】
ここで、最大角加速度を4πrad/s2,最大角速度をπrad/sとし,2つの関節が同時に動作終了するような最短時間制御を参照指令値θrefとする。これをもとに、ZV ShaperでθZVを、本発明の手法でθshapedを生成し、数値計算と実験により残留振動の大きさを調べた。yEについて、数値計算の結果を図44に、実験結果を図45に示す。これより、時変性を考慮しないZV Shaperと比べて、本発明の手法の方がより効果的に残留振動を抑制できることが分かる。
【0095】
最大角速度をπrad/s,最大角加速度をAmaxとし、2つの関節が同時に動作終了する最短時間制御を参照指令値θrefとする。Amaxを変化させて、この参照指令値をもとにZV Shaperで生成した指令値θZVと、本発明の手法で生成した指令値θshapedを与えたとき、残留振動のアーム先端の最大変位を数値計算により調べた結果を図46に示し、実験により調べた結果を図47に示す。突き出し動作と比べると、1次モードに寄与するトルクが大きいために、実験では残留振動の振幅が全体的に大きくなってしまっている。しかし、時変性を考慮しないZV Shaperでは動作時間により残留振動が抑制される場合とそうでない場合があるのに対し、本発明の手法では動作時間によらず残留振動が抑制されている。このことから、本発明の手法が多関節型ロボットアームに有効であると言える。
【0096】
(折りたたみ動作)
上述の説明にて述べたとおり、本発明の手法では全てのモードの残留振動を抑制する。しかしながら、これまでに見てきた動作例では2次の振動モードがほとんど励起されなかった。そこで、2次モードの振動も抑制されることを示すため、図48に示すアームを折りたたむ動作により発生する残留振動を、実験によりレーザー変位計で測定した。測定した座標系ΣEにおけるアーム先端の位置を図49に示す。図49よりyE方向の変位には2次モードの成分が多く含まれていると考えられる。そこで、yEのパワースペクトルを図50に示す。図50より、2次モードについてもピークレベルが下がっており、本発明の手法により複数の振動モードが抑制されることが分かる。
【0097】
なお、図50より、残留振動を抑制し、偏差角が小さくなると、固有振動数が変化することが分かる。これは、波動歯車装置の非線形剛性や、サーボ機構によるものだと考えられる。本発明の手法では、このような剛性の非線形性を厳密に考慮することはできない。しかしながら、上述にて説明した3つの動作例による実験結果から、剛性が線形であるとしてアクセレランスなどをもとにパラメータ同定をすることである程度まで振動が抑えることができることが分かる。
【0098】
(実施例3:垂直2関節型ロボットアーム)
次に、実施例3として、垂直2関節型ロボットアームへの適用した例について説明する。具体的には、図51に示す鉛直面内で動作する2関節ロボットアーム20について、残留振動を抑制するための加減速パターンを生成し、数値計算により重力がある場合でも本発明の手法が有効であることを検証した。
【0099】
(運動方程式)
関節jの回転角度をθj,その指令値をθ0j,リンクlの質量をm,リンクlの質量中心まわりの慣性モーメントをJGl,リンクlの長さをb,関節jからリンクlの質量中心までの距離をlj,関節jのねじり剛性をkjとする。運動方程式は数168のようになる。ただし、数169〜数179の関係にある。
【数168】

【数169】

【数170】

【数171】

【数172】

【数173】

【数174】

【数175】

【数176】

【数177】

【数178】

【数179】

また、g=9.8m/s2は重力加速度であり、図51に示す方向に重力が働いているものとする。数5〜数10によるテイラー展開により、参照指令値をθref=[θref1 θref2]Tとすると、垂直2関節型ロボットアームの運動方程式は数21で表される。ただし、各パラメータは数11〜数15より、数180〜数183のようになる。
【数180】

【数181】

【数182】

【数183】

なお、数184〜数190の関係にある。
【数184】

【数185】

【数186】

【数187】

【数188】

【数189】

【数190】

【数191】

【数192】

ここで、減衰力は各関節の偏差角の変化率に比例して働くものとすると、粘性減衰行列Cvは、数193のように表される。なお、本実施例3では、図52の表に示す諸元を用いて以下の数値計算を行った。
【数193】

【0100】
(突き出し動作での加減速パターンの生成)
図24に示す突き出し動作について考える。重力による釣り合いの位置を考慮すれば動作開始時の指令値θ0S= [θ01S θ02S]Tは、数194を満たすθ0Sとなる。ここで数195である。
【数194】

【数195】

同様にして、動作終了時の指令角θ0E=[θ01E θ02E]Tは、数196を満たすθ0Eとなる。
【数196】

図24のように、θ1S=7π/24=0.916rad,θ2S=−7π/12=−1.83rad,θ1E=θ2E=0radである場合には。θ01S=0.926rad,θ02S=−1.83rad,θ01E=0.016rad,θ02E=0.004radとなる。このことを考慮し、最大角加速度を4πrad/s2,最大角速度をπrad/sとすると、最短時間制御は図53に示すような指令値となる。これを参照指令値θrefとし、対応する加減速パターン(数197),速度パターン(数198)についても図53に示す。
【数197】

【数198】

【0101】
-1(t)gref(t)の時間微分を解析的に求めるのは困難であるので、数152と同様に数199、数200と定義する。
【数199】

【数200】

数199、数200、および数152を用いて、数64により得られる加速度パターン(数59)と対応する(数60)、(数61)を図54に示す。ただし、ΔtP=0.001s,ΔtG=10-5sとした。整形前の図53と整形後の図54とを比べることにより、両者の速度パターンと角度指令値は大きく違わないことが分かる。これにより、モード形状の時間推移は整形後も変わらないものとみなすことが妥当であると言える。
【0102】
(結果と考察)
参照指令値θrefを与えた場合と比べて、整形した加減速パターン(数59)に対応する角度指令値θshapedを与えたときの方が、残留振動が抑制されることを数値計算により示した。θrefを与えた場合とθshapedを与えた場合について、それぞれDormand-Prince法により数4を数値的に解いた。解いた結果得られるθから計算した、動作終了後のアーム先端の座標系ΣBにおけるy方向の変位を図55に示す。これより、本発明の手法が、重力を考慮しなければならない垂直2関節ロボットアームの残留振動抑制にも有効であることが分かる。
【0103】
また、数値計算の結果より、動作中の各関節の角速度θを図56に示し、釣り合いの位置からの偏差角ψ=[ψ1 ψ2]Tを図57に示す。これらより、水平2関節型ロボットアームの場合と同様に、動作中の振動が抑制されているのが分かる。
【0104】
これらの数値計算の結果より、釣り合いの位置からの偏差角ψを数18と定義し、ψに関する運動方程式を数21のように書くことで、水平2関節型ロボットアームと同じように残留振動を抑制する加減速パターンを生成できることが分かる。
【0105】
本発明によれば、加速または減速運動に伴って運動体に生じるn自由度かつ時変の振動を、インプットシェイピング法を用いて抑制する場合に、n自由度かつ時変の振動における複数のモード間のエネルギの移り変わりのうち、モード間の相互作用によるものを無視し、固有振動数および減衰比の変化によるものを考慮して、第2の入力を決定するという手法を採用している。
【0106】
また、本発明では、n自由度かつ時変の振動におけるモード間の相互作用によるエネルギの移り変わりをゼロと見なして、固有振動数および減衰比の時間変化によるモード間のエネルギの移り変わりを考慮して、第1の入力に対する第2の入力の大きさを決定するという手法を採用していると言うこともできる。
【0107】
また、別の観点からは、本発明では、n自由度かつ時変の振動における複数のモード間の相互作用によるエネルギの移り変わりを無視し、加速または減速運動を行っている間に運動体自体の姿勢が変化することにより生じるコリオリがした仕事を考慮して、第1の入力に対する第2の入力の大きさを決定するという手法を採用していると言うこともできる。
【0108】
このような手法を採用していることにより、各振動モードにおいて、第1の入力に対応する入力を打ち消す第2の入力に対応する入力の大きさを個別に算出して、振動モードごとに算出された入力を合成することで第2の入力の大きさを決定することが可能となる。
【0109】
そのため、本発明によれば、第1の入力によって生じたn自由度かつ時変の振動(第1の応答)を抑制できる第2の入力を算出することが可能となる。
【0110】
よって、ロボットアーム、工作機械、およびクレーンなど、その動作中に姿勢変化を伴うような動作を行う運動体に生じる振動、すなわち、n自由度かつ時変の振動を、インプットシェイピング法を適用して効果的に抑制する振動抑制方法を提供することができる。
【0111】
なお、上記様々な実施形態のうちの任意の実施形態を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。
【符号の説明】
【0112】
10 ロボットアーム
20 ロボットアーム
関節
リンク
P1 第1のインパルス
P2 第2のインパルス
P3 第1のインパルス列
P4 第2のインパルス列

【特許請求の範囲】
【請求項1】
加速または減速運動が行われる運動体において、加速または減速運動に伴って運動体に生じるn自由度(nは自然数)かつ時変の振動を抑制する振動抑制方法において、
運動体に付加された第1の入力によって運動体に生じる第1の応答に、第1の応答の変位が0となる時刻において、第2の入力を運動体に付加して生じる第2の応答を重ね合わせて、互いに打ち消し合うインプットシェイピング法を適用する場合に、n自由度かつ時変の振動における複数のモード間のエネルギの移り変わりのうち、モード間の相互作用によるものを無視し、固有振動数および減衰比の変化によるものを考慮して、第1の入力に対する第2の入力の大きさを決定する、振動抑制方法。
【請求項2】
加速または減速運動が行われる運動体において、加速または減速運動に伴って運動体に生じるn自由度(nは自然数)かつ時変の振動を抑制する振動抑制方法において、
運動体に付加された第1の入力によって運動体に生じる第1の応答に、第1の応答の変位が0となる時刻において、第2の入力を運動体に付加して生じる第2の応答を重ね合わせて、互いに打ち消し合うインプットシェイピング法を適用する場合に、n自由度かつ時変の振動における複数のモード間の相互作用によるエネルギの移り変わりを無視し、加速または減速運動を行っている間に運動体自体の姿勢が変化することにより生じるコリオリがした仕事を考慮して、第1の入力に対する第2の入力の大きさを決定する、振動抑制方法。
【請求項3】
加速または減速運動が行われる運動体において、加速または減速運動に伴って運動体に生じるn自由度(nは自然数)かつ時変の振動を抑制する振動抑制方法において、
運動体に付加された第1の入力によって運動体に生じる第1の応答に、第1の応答の変位が0となる時刻において、第2の入力を運動体に付加して生じる第2の応答を重ね合わせて、互いに打ち消し合うインプットシェイピング法を適用する場合に、n自由度かつ時変の振動におけるモード間の相互作用によるエネルギの移り変わりをゼロと見なして、固有振動数および減衰比の時間変化によるモード間のエネルギの移り変わりを考慮して、第1の入力に対する第2の入力の大きさを決定する、振動抑制方法。
【請求項4】
各振動モードにおいて、第1の入力に対応する入力を打ち消す第2の入力に対応する入力の大きさを個別に算出して、振動モードごとに算出された入力を合成することで第2の入力の大きさを決定する、請求項1から3のいずれか1つに記載の振動抑制方法。
【請求項5】
運動体が多関節型ロボットアームであって、ロボットアームに生じるn自由度かつ時変の振動を抑制する、請求項1から4のいずれか1つに記載の振動抑制方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate

【図44】
image rotate

【図45】
image rotate

【図46】
image rotate

【図47】
image rotate

【図48】
image rotate

【図49】
image rotate

【図50】
image rotate

【図51】
image rotate

【図52】
image rotate

【図53】
image rotate

【図54】
image rotate

【図55】
image rotate

【図56】
image rotate

【図57】
image rotate


【公開番号】特開2013−4037(P2013−4037A)
【公開日】平成25年1月7日(2013.1.7)
【国際特許分類】
【出願番号】特願2011−137776(P2011−137776)
【出願日】平成23年6月21日(2011.6.21)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り (1)公益社団法人計測自動制御学会発行の「第11回 公益社団法人 計測自動制御学会 システムインテグレーション部門 講演会 SI2010講演概要集」第150頁、ならびに「第11回 公益社団法人 計測自動制御学会 システムインテグレーション部門 講演会論文集(DVD)」において平成22年12月23日に発表を行った。 (2)一般社団法人日本機械学会発行の「関西支部 第86期定時総会講演会 講演論文集 No.114−1」第1−18頁において平成23年3月19日に発表を行った。
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成22年度、独立行政法人新エネルギー・産業技術総合開発機構「次世代ロボット知能化技術開発プロジェクト 作業知能(生産分野)の開発 作業知能(生産分野)の研究開発」委託研究、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(000006013)三菱電機株式会社 (33,312)
【出願人】(504132272)国立大学法人京都大学 (1,269)
【Fターム(参考)】