JP3558179B2 - サーボ制御装置及びサーボ制御方法並びにこれらを用いたロボット制御装置及びロボット制御方法 - Google Patents
サーボ制御装置及びサーボ制御方法並びにこれらを用いたロボット制御装置及びロボット制御方法 Download PDFInfo
- Publication number
- JP3558179B2 JP3558179B2 JP15864695A JP15864695A JP3558179B2 JP 3558179 B2 JP3558179 B2 JP 3558179B2 JP 15864695 A JP15864695 A JP 15864695A JP 15864695 A JP15864695 A JP 15864695A JP 3558179 B2 JP3558179 B2 JP 3558179B2
- Authority
- JP
- Japan
- Prior art keywords
- acceleration
- robot
- deceleration pattern
- control
- arm
- 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
Description
【0001】
【産業上の利用分野】
本発明は、複数の駆動軸が力学的に干渉作用を及ぼしながら運動する制御対象をあたかも各駆動軸が力学的に干渉しない系であるかのように制御することよって、制御の高速化や安定化を図ることを目的とした新規なサーボ制御装置及びサーボ制御方法、そしてロボット制御装置及び制御方法を提供しようとするものである。
【0002】
【従来の技術】
一般に、2以上の自由度を有する機構は、複数の駆動要素(摺動や回動、その他、部材間の相対運動を可能とする構成要素)の組み合わせによって構成されており、例えば、駆動軸のうちの2軸が互いに独立又は略独立した力学系(以下、「力学的非干渉系」という。)とされている場合には、各軸についての制御を分離して取り扱うをことができるため、制御が簡単である。
【0003】
しかしながら、駆動軸同士が相互に干渉し合うように構成されている力学系(以下、「力学的干渉系」という。)では、ある駆動軸に対する制御に他の駆動軸に係る運動制御が関与するため、系の運動状態は一般に複雑な様相を呈することとなる。
【0004】
例えば、多関節型ロボットの場合には、ロボット本体が複数のアームやアームの手先位置に取着されるツール等を有し、アーム間あるいはアームとツール間で力学的な干渉作用を及ぼし合いながら運動することになる。
【0005】
図12は水平関節型ロボットの構成を簡略的に示すものである。
【0006】
ロボットaは、基軸部bと、第1アームc、第2アームdとを備え、第1アームcの一端部が回動し得る状態で基軸部bに取り付けらている。そして、第1アームcの他端部には第2アームdの一端部が回動し得る状態で取り付けられており、第2アームdの他端部にはツール搭載軸eが設けられている。
【0007】
基軸部bには第1アームcを回動させるためにモータfとハーモニック減速機gとが設けられており、モータfの駆動力がハーモニック減速機gを介して第1アームcの回動力として伝達される。
【0008】
第1アームcには、第2アームdを回動させるための機構が設けられている。例えば、図示するように第1アームcに固定された支持部hにモータi及びハーモニック減速機jが取り付けられており、ハーモニック減速機jの出力軸にプーリkが取り付けられている。プーリlはプーリkと対をなすものであり、第2アームdの回動軸に固定されている。そして、プーリkとプーリlとの間にベルトmが掛け渡されている。モータiの駆動力はハーモニック減速機jを介してプーリkの回動力となり、これがベルトmによってプーリlに伝達され、第2アームdの回動力となる。
【0009】
図13はロボットaを平面で見たときの構成を略線的に表現したものであり、第1アームcの回動中心を原点Oとする2次元の位置座標系(X,Y)を基軸部bに設定している。
【0010】
図において点Cは第2アームdの回動中心を示し、点Eは手先位置を示しており、線分OC(その長さを「L1」とする。)によって第1アームcを表し、線分CE(その長さを「L2」とする。)が第2アームdを表している。また。角度「θ1」は線分OCがX軸に対してなす角度を示し、角度「θ2」は線分CEが線分OCの延長線に対してなす角度を示している。
【0011】
点P1は第1アームcの重心位置、点P2は第2アームdの重心位置をそれぞれ示しており、線分OP1の長さが「l1」とされ、線分CP2の長さが「l2」とされている。
【0012】
このように簡略化された力学系モデルについての運動方程式を導出するにあたっては、X軸を実数軸とし、Y軸を虚数軸とする複素平面座標系を用いるようにすると、位置や速度等を、複素表示で表現することができる。
【0013】
例えば、各アームの重心位置やその1階の時間微分は複素量に拡張されて下式のように表わされる。
【0014】
【数1】
【0015】
尚、ここで「j」は虚数単位である。
【0016】
解析にあたって必要な物理量の記号を表形式にまとめたものが、下表1、2である。
【0017】
【表1】
【0018】
【表2】
【0019】
第1アームcの回転角がθ1である時のモータfの回転角はR1・θ1であり、第2アームdの回転角がθ2である時のモータiの回転角はR2・θ2であるので、ロボット系(ロボット本体の他、負荷等を含む系)の運動エネルギーを「Ek」とすると、下式のようになる。
【0020】
【数2】
【0021】
速度の2乗値は複素数の絶対値として求められるので、Ekは下式のようになる。
【0022】
【数3】
【0023】
重力に係るポテンシャルエネルギーを無視した場合に、ラグランジアンがEkに等しいことに注意して、オイラー−ラグランジュ方程式に従って各アームに係る運動方程式([数4]式)に[数3]式を適用すると、ハーモニック減速機の出力トルクが[数5]式のように求められる。
【0024】
【数4】
【0025】
【数5】
【0026】
尚、上式において摩擦等の粘性項の影響は無視している。
【0027】
[数5]式において、トルクT1に係る第1式の右辺第1項は慣性項を示し、第2項は第2アームdから受ける慣性力(トルク)を示しており、また、第3項はコリオリ力(トルク)を示し、第4項は第2アームdの回転による遠心力が第1アームcに及ぼすトルクを示している。
【0028】
また、トルクT2に係る第2式の右辺第1項は慣性項を示し、第2項は第1アームcから受ける慣性力(トルク)を示しており、また、第3項は第1アームcの回転による遠心力が第2アームdに及ぼすトルクを示している。
【0029】
各アームの運動についてはアーム自身の慣性項の他に干渉項が存在し、該干渉項の絶対値は慣性項と略同程度の大きさをもっているため無視することができない。
【0030】
【発明が解決しようとする課題】
上述のように力学的干渉系に係る制御は、駆動要素間の干渉項の存在を充分考慮して制御を行う必要があるため、運動の高速化や安定化を図ることが難しいという問題がある。
【0031】
例えば、上記のようなロボットでは、第1アームcと第2アームdとが互いに力学的な干渉作用を及ぼし合いながら運動しているため、運動状態によっては、ロボットの手先位置について位置決めを行う際に静定が悪化したり、タクトタイム(作業時間)が長くなるといった不都合が生じることになる。
【0032】
これは、例えば、以下の(1)乃至(3)に示す事項が要因となっているからである。
(1)第1アームcの運動に関して慣性項([数5]式の第1式右辺第1項)が第2アームdの姿勢に影響される(慣性項における2・b・cosθ2の項に注意)。
(2)第1アームcは、第2アームdの運動によって生じる慣性力や、コリオリ力、遠心力([数5]式の第1式右辺第2項乃至第4項)の影響を受ける。
(3)第2アームdは、第1アームcの運動によって生じる慣性力や遠心力([数5]式の第2式右辺第2項、第3項)の影響を受ける。
【0033】
このように第1アームと第2アームとの間の複雑な干渉作用のため、位置や速度のフィードバック制御における最適ゲインがロボットの姿勢によって変化してしまい制御が難しくなってしまう。
【0034】
尚、このような干渉作用が生じないようにロボットの構造自体を力学的非干渉系又はこれに近い系に改変する方法も考えられるが、そのためにはロボットの設計に比較的強い制約が課せられてしまうという危惧が生じるので、ロボットの構造の如何によって制御の仕方が著しく変化しない汎用性の高い制御装置や制御方法が求められている。
【0035】
【課題を解決するための手段】
そこで、本発明は、サーボ系に係る運動方程式において、ある駆動軸が他の駆動軸から受ける力学的干渉項(コリオリ力や遠心力等)を打ち消すための補正項の値を、加減速パターン生成部により生成される加減速パターンに係る制御変数を力学的干渉項に代入することで計算し、計算結果と加減速パターンに係る制御指令とをサーボ系に送出して、サーボ系において力学的干渉項に起因する外乱を除去することができるようにしたものである。
【0036】
【作用】
本発明によれば、補正項を負の要因としてサーボ系に送出することによって力学的干渉項が打ち消され又は干渉作用の影響が弱められるので、各駆動要素について略独立した運動系であるかのように取り扱うことができる。
【0037】
【実施例】
以下に、本発明の詳細を図示した実施例に従って説明する。尚、図示した実施例は本発明をロボット制御装置に適用したものである。
【0038】
図1はロボット制御装置1のハードウェア構成の要部を概略的に示すものである。
【0039】
ロボット制御装置1は、CPU(中央演算装置)2を核とし、そのバス3に直接又は間接的に接続されるプログラム記憶部4を有している。
【0040】
プログラム記憶部4には、ロボットの動作手順の記述に係るロボットプログラムや、ロボットシステムの記述(例えば、ロボットの各軸の動作を決定する座標変換等の記述)に係るシステムプログラムが記憶されるようになっている。
【0041】
サーボユニット5、5、・・・は、制御対象たるロボット6の駆動軸毎に独立しており、CPU2から発せられた命令に従ってロボット6の軸駆動を行なうアクチュエータ(モータやシリンダー等)を制御するために設けられている。
【0042】
ロボット6の動作指示に係るティーチングペンダント7は、T.P.(ティーチングペンダントの略)インターフェース8を介してバス3に接続されている。図2は、制御対象となるロボット6の構成例として、4軸構成の水平多関節型ロボットを示すものである。
【0043】
即ち、ロボット6は、基軸部9と、第1アーム10、第2アーム11とを備え、第1アーム10の一端部が回動し得る状態で基軸部9に取り付けらている。そして、第1アーム10の他端部には第2アーム11の一端部が回動し得る状態で取り付けられており、第2アーム11の他端部にはツール搭載軸12が設けられている。
【0044】
基軸部9には第1アーム10を回動させるためにモータ13が設けられており、該モータ13の駆動力がハーモニック減速機14を介して第1アーム10の回動力として伝達される。
【0045】
第1アーム10には、第2アーム11を回動させるための機構が設けられている。即ち、第1アーム10の一端部に固定された支持部15にモータ16及びハーモニック減速機17が取り付けられており、ハーモニック減速機17の出力軸にプーリ18が取り付けられている。このプーリ18と対をなすプーリ19が第2アーム11の回動軸11aに固定されており、プーリ18とプーリ19との間にベルト20が掛け渡されている。つまり、モータ16の駆動力はハーモニック減速機17を介してプーリ18の回動力となり、これがベルト20によってプーリ19に伝達されて第2アーム11の回動力となる。
【0046】
ツール搭載軸12は、第2アーム11の回動端部の上面に設けられたアクチュエータ21によって鉛直方向に摺動されるとともに、第2アーム11の回動軸11a寄りの端部に設けられたモータ22の回転力がベルト等によってツール搭載軸12に伝達されることによって軸回りに回動されるようになっている。そして、ツール搭載軸12の下端部には、ツール搭載部23が固定されており、ハンドや工具等の効果器を取り付けることができるようになっている。
【0047】
図3はロボット6を平面で見たときの構成を略線的に表現したものであり、第1アーム10の回動中心O1を原点とする2次元の位置座標系(X,Y)を基軸部9に設定している。
【0048】
図において、点O2は第2アーム11の回動中心、点O3はツール搭載軸12の回動中心、点Eはツール搭載部23の回動端点をそれぞれ示している。そして、線分O1O2(その長さを「L1」とする。)が第1アーム10を表し、線分O2O3(その長さを「L2」とする。)が第2アーム11を表し、線分O3E(その長さを「L4」とする。)がツール搭載部23を表している。尚、ツール搭載軸12の長さを「L3」とする。
【0049】
また、「θi(i=1、2、3、4)」は、各駆動軸に係る関節変位量を表しており、「θi(i=1、2、4)」は角度変位、「θ3」が鉛直方向の摺動変位を表している。つまり、角度「θ1」は線分O1O2がX軸に対してなす角度、角度「θ2」は線分O2O3が線分O1O2の延長線に対してなす角度、角度「θ4」は線分O3Eが線分O2O3の延長線に対してなす角度をそれぞれ示しており、「θ3」はツール搭載軸12の鉛直方向における変位を示している。
【0050】
点P1は第1アーム10の重心位置、点P2は第2アーム11の重心位置、点P3はツール搭載軸12の重心位置、点P4はツール搭載部23の重心位置をそれぞれ示しており、線分O1P1の長さが「l1」、線分O2P2の長さが「l2」、線分O3P4の長さが「l4」とされている。
【0051】
しかして、図2及び図3に示すように、ロボット6は、点O1の回りの回動軸(以下、「θ1軸」という。)、点O2の回りの回動軸(以下、「θ2軸」という。)、点O3を通って鉛直方向に延びる摺動軸(以下、「Rz軸」という。)、点O3の回りの回動軸(以下、「Rθ軸」という。)に係る4つの駆動軸が関節要素として組み合わされることで構成されている。
【0052】
尚、以下では、ある定義量「X」に添え字「i」を付すことによって各駆動軸に関する量を示すものとし、i=1がθ1軸、i=2がθ2軸、i=3がRz軸、i=4がRθ軸に係る量をそれぞれ表すものとする。つまり、各駆動軸に係る減速比を「Gi」とし、アーム等の駆動中心に関する慣性モーメントを「Jai」、駆動モータのロータの慣性モーメントを「Jmi」とし、駆動モータの位相角を「θmi」とすると、例えば、G1がハーモニック減速機14の減速比、Ja1が第1アーム10の慣性モーメント、Jm1がモータ13のロータの慣性モーメント、θm1がモータ13の位相角をそれぞれ示し、また、G3がアクチュエータ21に係る減速比、Ja3がツール搭載軸12の慣性モーメント、Jm3がアクチュエータ21の駆動源であるモータのロータの慣性モーメント、θm3がモータの位相角をそれぞれ示すことになる。
【0053】
以上の定義量を表形式にまとめると下表3のようになる。
【0054】
【表3】
【0055】
このように簡略化された力学系モデルについての運動方程式を導出するにあたっては、X軸を実数軸とし、Y軸を虚数軸とする複素平面座標系と、両軸に直交するZ軸とからなる座標系を設定すると、アーム等の重心位置やその1階の時間微分等を複素量に拡張して下式のように表わすことができる。即ち、点Piの位置を示す複素量「Pi」は、[数6]式のように表され、また、それらについての時間による1次微分が、[数7]式のように表される。
【0056】
【数6】
【0057】
【数7】
【0058】
尚、ここで「j」は虚数単位である。
【0059】
ロボット6の基軸部9が設置される地面に固定された基準座標系に対するロボット系の運動エネルギー(正確にはラグランジアン)を「Lg」とし、各駆動軸に係るラグランジアンを「Lgi」(i=1、2、3、4)とすると、これらは下式に示すようになる。
【0060】
【数8】
【0061】
【数9】
【0062】
【数10】
【0063】
【数11】
【0064】
即ち、θ1軸に係るラグランジアンLg1は、[数8]式の右辺に示すように、並進エネルギー(第1項)と第1アーム10の回転エネルギー(第2項)と駆動モータ13のロータの回転エネルギー(第3項)の和であり、また、θ2軸に係るラグランジアンLg2も同様に並進エネルギーと、第2アーム11や駆動モータ16のロータの回転エネルギーの和として、[数9]式の右辺に示すように表される。尚、Jm2の公転分についての並進エネルギーや回転エネルギーはラグランジアンLg1に含まれるものとする。
【0065】
Rz軸に係るラグランジアンLg3は、[数10]式の右辺に示すように、駆動モータの回転エネルギー(第1項)と、ツール搭載軸12の鉛直方向における運動エネルギー(第2項)と、ツール搭載軸12にかかる重力のポテンシャルエネルギー(第3項)との和である。尚、アクチュエータ21を構成するモータや、ボールネジ等の機構部分、負荷等の公転分についてのエネルギーはラグランジアンLg2に含まれる。
【0066】
Rθ軸に係るラグランジアンLg4は、[数11]式に示すように、負荷の並進エネルギー(第1項)と公転エネルギー(第2項)と、モータ22の回転エネルギーの和である。
【0067】
尚、以上の解析にあたっては、説明を簡単にするために、運動方程式における粘性項や非線形項、熱エネルギーの散逸を無視するとともに、アーム等がサーボ指令値通りに運動するものと仮定している。
【0068】
しかして、全系のラグランジアンLgはLg1乃至Lg4の和となるが、下式[数12]の関係式を用いると、最終的に下式[数13]のようになる。
【0069】
【数12】
【0070】
【数13】
【0071】
但し、[数13]式における力学定数「Ai(i=1、2、3、4)」、「Bi(i=1、4)」、「C1」、「Di(i=1、2、3、4)」、「Ei(i=1、4)」、「Fi(i=1、3、4)」、「Hi(i=0、1)」は下式に示す通りである。
【0072】
【数14】
【0073】
【数15】
【0074】
【数16】
【0075】
尚、[数13]式の導出に係る式変形にあたっては、上記[数6]式乃至[数11]式や複素数の絶対値の計算等を用いれば良い。また、[数14]式乃至[数16]式において定義される18個の力学定数については、ロボット6の設計図に基づいて計算することができるが、これらの力学定数を精度良く同定するためには、実験によって決定する方が好ましい(例えば、モータ電流や、位相角、角速度、角加速度等を実測すれば良い。)。
【0076】
さて、以上のようにラグランジアンが求まると、ロボット系の運動を記述することができる。即ち、各駆動軸についてモータの発生するトルクを「τi」(i=1、2、3、4)とすると、下式[数17]に示すオイラー−ラグランジュ方程式に従って、各駆動軸に係る運動方程式([数18]式乃至[数21]式)を導出することができる。
【0077】
【数17】
【0078】
【数18】
【0079】
【数19】
【0080】
【数20】
【0081】
【数21】
【0082】
尚、[数18]、[数19]、[数21]式では「cosθ=C(θ)」、「sinθ=S(θ)」とおいて、記述の簡略化を図った。
【0083】
[数20]式に示すRz軸を除いて、各駆動軸の間には複雑な力学的干渉作用が働いていることが、[数18]、[数19]、[数21]式から明らかとなる。
【0084】
図4は、本発明に係るサーボ制御装置24の機能的な構成を示すものであり、指令部25からの信号が加減速パターン生成部26に入力され、加減速パターン生成部26の出力はサーボ系27に送出されるとともに、非干渉化計算部28を介してサーボ系27に送出される。尚、ここにいう「サーボ系」とは、制御対象である駆動源及び/又は駆動機構の他、サーボ回路等を含む系を意味している。また、サーボ系を除く部分は制御装置においてソフトウェア処理により実現される部分であるが、図では各部の機能をブロック要素で視覚化して表現している。また、「加減速パターン」とは、加減速曲線によって直接に記述される状態量の変化は勿論、該状態量の時間微分や積分値の変化等を含む広義の概念である。
【0085】
加減速パターン生成部26は、指令部25からの信号に基づいて状況に応じた加減速パターンを生成するものであり、例えば、本願出願人が特開平3−147103号公報にて開示したように、サーボ系27の応答特性を基本とし、この応答特性を再現する手段に指令値を与えたときの応答出力結果として、加速パターンを生成し、減速時には、加速パターンに対して時間的な対称化操作を施すことによって減速パターンを得ることを制御の基礎としている。
【0086】
例えば、サーボ系27にステップ入力信号を与えた場合には、理想的なサーボ系を除いてこれに完全に追従した振る舞いをすることはなく、サーボ系27の応答の遅れにより、実際の立ち上がり特性では、ステップ入力信号の定常値に達するまでに時間がかかることになる。そこで、運動方程式の可逆性(つまり、運動方程式が時間反転に関して対称性を有するという性質。)を利用して、サーボ系27が追従可能な加速パターンに対して時間的な対称化を行う(例えば、スタックを用いた操作等による。)ことによって減速パターンが得られるように制御すると、サーボ系の円滑な制御が可能となる。例えば、図5(b)に示すように、速度ωの制御では、速度ωがそのピーク値ωpを示す時間を「Tp」とした時、t=Tpを通りω軸に平行な直線LNに関して加速時のグラフ曲線29を折り返した曲線によって減速時のグラフ曲線30が得られるように操作し、または、これと同じ事を位置θの制御について言及すれば、図5(a)に示すように、加速時のグラフ曲線31に対して、点P(t=Tp)に関する点対称操作を施すことによって減速時のグラフ曲線32が得られるように操作する。尚、最適な加減速パターンを決める上で主要な要素はサーボ系の応答特性であり、この点に関して設計者の能力や経験等が介入する余地は皆無であるため、原理的に明確なアルゴリズムに従ってサーボ系にとっての最適制御パターンを得ることができる。また、図5(a)、(b)では、加速パターンに対して、時間t=一定の線に関する線対称性化の操作や、時間t=一定の線上の点に関する点対称化の操作によって減速パターンを得るようにしたが、これらはほんの一例に過ぎず、例えば、図5(c)に示すように、加速時のグラフ曲線29′を、時間軸上の点Q(t=Tp)に関して時計回り方向に90゜だけ回転させることによって、グラフ曲線29′に対して回転対称性を有する減速パターン30′を形成する等、各種の対称化の操作が可能である。
【0087】
そして、例えば、PTP(Point To Point)動作に係る制御については、特開平4−157508号公報に示すように、速度のピーク時間Tpと移動距離との間の関係を予め指定したり、あるいは、特開平4−306711号公報に示すように、駆動軸間の力学的な干渉作用について、エネルギー式や駆動源のパワー及びパワー配分に基づいてサーボ系を理論的にモデル化して速度のピーク時間Tpの最適値を算出して、上記のような加減速パターンを生成する方法を本願出願人が提案している。
【0088】
即ち、図6に示すように、制御装置33は、指令部25からの指令がパターン生成部34やTp値設定/決定部35に送出され、パターン生成部34の出力がサーボ系27に送出されるように構成される。
【0089】
Tp値設定/決定部35は、加減速パターンの形状を指定するための情報等を入力部36から受け取り、軸駆動量と速度のピーク時間との関数関係やエネルギー演算式に基づいて速度のピーク時間Tpを求めるために設けられており、Tp値に係る情報をパターン生成部34に送出する。
【0090】
パターン生成部34は指令部25からの情報やTp値設定/決定部35からのTp値に係る情報に基づいて加減速パターンを生成するものである。つまり、ここでは、加減速パターンを生成する上で基準となる関数を用意して、これに時間的なスケール変換操作や図5で示したような時間的な対称化の操作が基本となる。尚、「時間的なスケール変換操作」とは、軸駆動量についての保存を前提とした時間軸に関する変倍操作を意味する。図7は、速度ωに関する時間的なスケール変換操作について示すものであり、変換パラメータkを導入して、グラフ曲線37(t=Tpでの速度値=ωp、時間軸方向の幅2・Tp)に対して、時間軸をk倍に伸縮するとともに速度ピーク値をk分の1倍にすることでグラフ曲線38を得る純粋に理論的な操作である。
【0091】
パターン生成部34は、このような時間的なスケール変換操作をTp値に応じて施すことにより加速パターンの元を生成して、該加速パターンに対して時間的な対称化操作を施すことによって減速パターンを得ることができるように構成されている。
【0092】
尚、パターン生成方法としては、例えば、下記に示す2通りの方法を挙げることができる。
(1)関数計算による方法(図8(a)参照。)
現実のサーボ系の応答特性が、理論的に明快に解析されているような場合に、サーボ系の制御変数を関数式として表現することができれば、パターン生成の対象となる量を予め数式によって用意することができる。例えば、図8(a)に簡単に示すように、パターン生成部34内に関数演算部34aと時間軸操作部34bとを設け、関数演算部34aにおいて制御変数に係る基準関数群を予め決定しておけば、時間軸操作部34bによって上記のような時間的スケール変換や対称化操作を基準関数に対して容易に施すことができる。即ち、基準関数の関数値の計算とこれに四則演算を組みあわせた計算レベルで済むことになる。
(2)仮想サーボ系を用いる方法(図8(b)参照。)
ここにいう「仮想サーボ系」とは、現実のサーボ系に対応した構成をソフトウェア処理によって模擬的に構築して制御装置内に用意される系であり、これを計算手段として用いることによって各種の推定量の算出に利用することができる。
例えば、モータの制御回路には、モータの制御に直接に関係する回路部分や制御の安定化のための動的補償に係る部分等がサーボ系内に設けられるが、これらに対応した構成を有する仮想モータ系を、ソフトウェア処理による内部モデルとして制御装置内に用意すれば、仮想モータ系に対して指令を与えた時の応答特性を得て、これをそのまま実際のサーボ系の制御に利用することができる。
【0093】
また、サーボ系の構成が比較的簡単な場合、即ち、サーボ系の応答特性が解析式によって表現することができ、計算が簡単な場合には、上記(1)のように関数計算による方法が有効であるが、一般には、サーボ系の応答特性は解析式によって容易に表わされるとは限らないので、現実のサーボ系を摸した仮想サーボ系を導入することは、実際的な見地から有用である。
【0094】
例えば、図8(b)に示すように、仮想サーボ系34c(図ではシグナルフロー線図で表現している。)を用意するとともに、時間軸操作部34bを設け、該仮想サーボ系34cの各ノードから得られる諸量に対して時間軸操作部34bによる時間的なスケール変換操作や対称化操作を施すことができるようにプログラム処理により系を構成すれば良い。
【0095】
また、ロボットの種類や構造等が異なる場合でも、ロボットの駆動に係るサーボ系の構成に応じて仮想サーボ系34cの構成を改変すれば容易に制御の変更が可能であるため、汎用性が高い。
【0096】
尚、これまでの説明はPTP動作に係る制御について行ったが、CP(Continuous Path)動作に関する制御については、本願出願人が、特開平6−19528号公報で示した方法を用いれば、サーボ系の構造に依存することのない汎用的なアルゴリズムに従った制御を実現することができる。
【0097】
即ち、PTP動作にあっては、ロボットの移動経路上の重要な点のみを指定し、その点間の経路が不問とされるのに対し、後者のCP動作ではロボットの移動経路(以下、その指定曲線を「CP曲線」という。)を指定するとともに、CP曲線に沿ってロボットの手先位置を如何に正確にトレースさせるかが問題となるため、軸駆動量の概念をCP曲線の曲線長で置き換えるだけでは不充分であり、CP曲線における作用点の位置制御が重要項目として浮上してくる。
【0098】
その制御の大要を簡単にまとめると、以下の(a)乃至(e)に示すようになる。
【0099】
(a)CP曲線の計算時間間隔の決定
(b)CP曲線の曲線長に応じた加減速パターンの生成及び線素列の算出
(c)CP曲線上に指定される点列と線素列とに基づく関節角列の算出
(d)CP制御の精度を評価量とした速度ピーク値の最適値の決定
(e)関節角列の算出に係る再計算処理及び計算結果のサーボ系への出力
上記の「線素列」とは、CP曲線上に設定される多数の点列間の長さを制御始点から制御終点に向かって順次に配列したものであり、線素列や点列から関節角列を求めることは、CP曲線に沿ってロボットの作用点を運動させようとするCP動作にとって基本的な事項であり、ロボットアームの関節角列は逆運動学問題(手先位置が与えられたときにロボットの関節変位や姿勢を求める問題)の解として求められる。また、(c)の速度ピーク値については、理想的には大きい値程好ましいが、制御精度の如何によって制限を受けるため、その適正値を規定する必要が生じる。
【0100】
尚、逆運動学問題の解析にあたっては、順運動学問題(ロボットの関節変位や姿勢からロボットの手先位置を求める問題)の解法に係る演算要素(同次変換行列)を利用してこれにロボット構造を反映させ、該演算要素を含むネガティブフィードバックフィルターによる計算処理を通して解を求めるようにしたフィルタリング法を挙げることができ、また、ロボットの作用点を指定されたCP曲線に沿って精度良く移動させるために標本化に際して時間軸補正を行い、加減速パターンの生成や速度制御等に要する計算処理上の負担を減らして処理の高速化を図るとともに、この時間軸補正を介在させることによってCP動作に係る制御のアルゴリズムの基本部分には何等変更を加えることなく単にCP曲線の曲線長を駆動軸の軸駆動量へと置換するだけでPTP動作の制御を可能とし、PTP動作とCP動作との間で制御の統一化を図ることができることは特筆すべき事項である(その詳細については説明を省略する。)。
【0101】
非干渉化計算部28は、加減速パターン生成部26によって得られる諸量に基づいて各駆動軸に関する力学的な干渉項を打ち消すためのトルク補正計算を行うものであり、力学系の非干渉化にとって本質的な部分である。
【0102】
今、ある駆動軸に係る状態量を「θ」とし、その時間によるn次(nは自然数)の導関数を「θ(n)」で表すことにする。例えば、サーボ系がモータを含むものとして、該モータの位相角を「θ」とすると、「θ(1)」は角速度、「θ(2)」は角加速度をそれぞれ示すことになる。
【0103】
また、各駆動軸に係る状態量を、「θ」に下付の添え字「i」(i=1、2、・・・)を付すことによって表して、これらの列(θ1、θ2、・・・)をベクトル「Θ」とし、その時間によるn次(nは自然数)の導関数θ(n)に下付の添え字「i」(i=1、2、・・・)を付したもので構成される列(θ1 (n)、θ2 (n)、・・・)をベクトル「Θ(n)」で表すことにする。
【0104】
駆動軸の発生トルクに係るベクトル量をT(=(T1、T2、・・・))、慣性モーメントに係るベクトル量をΘの関数として「J(Θ)」とし、また、ある駆動軸を対象とした時これとは異なる駆動軸が当該駆動軸に及ぼす外乱トルクに係るベクトル量を、Θ、Θ(1)、Θ(2)のベクトル関数として「TH(Θ、Θ(1)、Θ(2))」(TH=(TH1、TH2、・・・)。但し、i番目の駆動軸に係る量THiはTHi=THi(Θ、Θ(1)、Θ(2))である。)とし、駆動軸間の干渉作用に依らない純粋にランダムな外乱に係るベクトル量を時間tの関数として「d(t)」でそれぞれ表すことにすると、ロボット系の運動方程式は、下式に示すベクトル方程式として一般化することができる。
【0105】
【数22】
【0106】
パターン生成部34により加減速パターンとして得られる、ある駆動軸についての状態量を「θd(t)」とし、その時間によるn次(nは自然数)の導関数を「θd (n)」で表すことにし、各駆動軸に係る状態量を、「θd」に下付の添え字「i」(i=1、2、・・・)を付すことによって表して、これらの列(θd1、θd2、・・・)をベクトル「Θd」とし、その時間によるn次(nは自然数)の導関数θd (n)に下付の添え字「i」(i=1、2、・・・)を付してたもので構成される列(θd1 (n)、θd2 (n)、・・・)をベクトル「Θd (n)」で表すことにする。
【0107】
そして、加減速パターンに沿って各駆動軸を運動させた場合に、ある駆動軸を対象としてこれとは異なる駆動軸が当該駆動軸に及ぼす外乱トルクに係るベクトル量を「THd」と定義すると、これは、Θd、Θd (1)、Θd (2)のベクトル関数として「THd(Θ、Θ(1)、Θ(2))」(THd=(THd1、THd2、・・・)。但し、i番目の駆動軸に係る量THdiはTHdi=THi(Θd、Θd (1)、Θd (2))である。)と表すことができる。このベクトル量THdは加減速パターンの生成にあたってΘd、Θd (1)、Θd (2)が知られていることから明らかなように事前に計算可能な量であり、具体的には、[数18]、[数19]、[数21]式における「τIFi」(i=1、2、4)の「θmi」、「θmi (n)」に「θdi」、「θdi (n)」をそれぞれ代入することによって下式のように求めることができる。
【0108】
【数23】
【0109】
【数24】
【0110】
【数25】
【0111】
但し、加減速曲線については、そのθdiやθdi (n)がサーボ系にとって実現可能なものである必要があり、三角波のようにその頂点で加速度が不連続となるものは避ける必要がある。
【0112】
ところで、[数22]式の右辺にベクトルTHdに負符号を掛けたものを加えると下式が得られる。
【0113】
【数26】
【0114】
上式の右辺第2項及び第3項の「TH−THd」は、ロボット系のモデル化や力学的定数の同定が完全であって、サーボ系が加減速パターンに追従して制御される場合には理論的にゼロとなるので、結局、[数26]式は下式のようになる
。
【数27】
【0115】
上式は、各駆動軸がランダムな外乱の影響を受けながらも、他の駆動軸からの干渉から完全に解放されている状態を示している。即ち、他の駆動軸からの干渉項THがTHdによって打ち消されることで、各駆動軸に係る運動方程式が互いに独立した系を記述することになり、これによって多関節型ロボットをあたかも直交型ロボットのように力学的非干渉系として取り扱うことの可能性が開けることになる。勿論、現実のロボット系では各種の誤差要因によって「TH−THd」が完全にゼロになるとは限らないが、サーボ系が上記のような加減速パターンにほぼ追従して制御されている場合には、「TH−THd」という外乱項が小さな値となる。
【0116】
非干渉化計算部28は、加減速パターンに基づいて補正項THdを計算して、これによって干渉項THを打ち消すための出力をサーボ系27に送出するように構成されている。例えば、パターン生成方法として、上述した仮想サーボ系を用いる方法を採用した場合には、図9に示すように、仮想サーボ系34cのノードから直接又は間接的にΘd、Θd (1)、Θd (2)を得て、補正項THdの値を[数23]乃至[数25]式に基づく演算により求めて、これに負の符号をつけたものを、非干渉化計算部28が現実のサーボ系27におけるトルクノードTにそのまま送出するように構成すれば良い。また、関数計算による方法では、Θd、Θd (1)、Θd (2)や干渉項THに係る関数形は既知であるため、単に関数値を求めれば良い。
【0117】
例えば、PTP動作に係る制御において、指令信号としてランプ信号を用いた場合には、Θd、Θd (1)、Θd (2)が下式のように表されるので、これらを補正項THdに代入すれば、THd=TH(Θd、Θd (1)、Θd (2))からTHdの値を計算することができる。
【0118】
【数28】
【0119】
尚、上式において、「ΔΘ」は軸駆動量、「Tf」はランプ信号の折れ時間、「T1」、「T2」、「T3」は仮想モータ系として3次のフィルタ構造を有する場合の制御ループにおける極の逆数をそれぞれ示している。また、関数u(t)は、Θd等の表現の便宜上導入される関数であり、Θdの時間微分によってΘd (1)やΘd (2)が直接に得られる訳ではないことに注意を要する。
【0120】
本発明に係る制御の手順をまとめると、以下の(S1)乃至(S5)及び図10に示すようになる。
【0121】
(S1)制御対象についての力学的なモデル化
即ち、図3及び[数6]乃至[数16]式を用いて説明したように、制御対象であるロボット系についての力学的なモデル化に基づいてエネルギー解析を行う。
【0122】
(S2)運動方程式における力学的干渉項の算定
[数17]式乃至[数21]式に示すように、各駆動軸についての運動方程式に基づいて、駆動軸が他の駆動軸から受ける力学的干渉項を導出する。
【0123】
(S3)指令値に応じた加減速パターンの生成
指令部25の発する指令値に応じて、加速度の連続性が保証されかつ加速パターンと減速パターンとが時間軸について対称性を有する加減速パターン(図5参照。)を生成する。尚、ここでいう「時間軸についての対称性」には、前述したように、時間t=一定の線に関する線対称性、時間t=一定の線上の点に関する点対称性、時間軸上の点に関する回転対称性等が含まれる。
【0124】
(S4)非干渉化のための補正項THdの計算
加減速パターンに沿う制御変数を(S2)の力学的干渉項に代入して、補正項THdの値を[数23]式乃至[数25]式に示すように算出する。
【0125】
(S5)サーボ系への制御出力の送出
加減速パターンに沿う制御出力と、補正項THd又は補正項THdによる力学的非干渉化作用と同等の効果を得るための出力をサーボ系27に送出する。
【0126】
尚、本発明に係る非干渉化のためのトルク補正は、図4及び図9から明らかなように、パターン生成部34からサーボ系27へと至るフィードフォワード法であるため、制御の安定性の面で有利である。
【0127】
図11は、上記ロボット6に関する制御装置の機能的構成の要部を各駆動軸に対して視覚化して示したものである。
【0128】
各加減速パターン生成部26i(i=1、2、3、4)には、指令部25からの指令信号、例えば、図示するような所定の傾斜をもったランプ信号等がそれぞれ入力され、これに応じた加減速パターンが生成される。そして、加減速パターンに沿う制御変数ΘdiやΘdi (1)、Θdi (2)が非干渉化計算部28に送られ、ここで、補正項THdの値が各駆動軸に対して計算される(但し、Rz軸については、[数20]式から明らかなように、干渉項がないので計算から除外される。)。 非干渉化計算部28i(i=1、2、4)は、サーボ系27に対して加減速パターンに沿う制御変数ΘdiやΘdi (n)、補正項THdに係るトルク計算値([数23]式乃至[数25]式参照。)を、サーボ系27においてこれらに対応するノードに制御指令としてそれぞれ送出する。
【0129】
以上に説明したように、本発明によれば機構的には力学的干渉系である制御対象をあたかも力学的非干渉系であるかのように、つまり、ロボット6について言えば、多関節型ロボットを直交型ロボットであるかのように擬制することが可能となる。
【0130】
尚、上記実施例では、本発明をロボット系の制御に適用したが、ロボット系を構成する各駆動軸に対して本発明を適用することができることから明らかなように、駆動軸が互いに力学的に干渉し合っている系であれば、その構造が如何なるものであっても本発明を適用することが可能である。
【0131】
【発明の効果】
以上に記載したところから明らかなように、請求項1、請求項2に係る発明によれば、ある駆動要素が他の駆動要素から受ける力学的干渉項を打ち消すための補正計算を行い、これによってサーボ系における力学的干渉項による外乱を除去して、構造上は力学的干渉系である制御対象をあたかも力学的非干渉系であるかのように制御することができるので、サーボ系に対する制御性の向上によって、運動の高速化や安定化を図ることができる。
【0132】
また、請求項3、請求項4に係る発明によれば、請求項1や請求項2に係るサーボ制御をロボット系の制御に適用することによって、アームとアームとの間やアームとツール搭載部との間の力学的干渉作用がアーム又はツール搭載部に与える影響を、ロボットの構造の改変に拠ることなくその制御において除去することで、例えば、多関節型ロボットをあたかも直交型ロボットであるかのように制御することができ、ロボットの特定の構造に依存しない汎用性の高い制御を行うことができる。
【図面の簡単な説明】
【図1】図2乃至図11とともに本発明について説明するための図であり、本図はロボット制御装置の構成例を示す図である。
【図2】制御対象であるロボットの構成例を示す概略図である。
【図3】平面で見た場合の図2のロボットを略線的に示す図である。
【図4】本発明に係る制御装置の機能的な構成を示すブロック図である。
【図5】加減速パターンの生成法について説明するためのグラフ図であり、(a)は駆動軸の移動量ΔΘについての時間的な対称化操作を示し、(b)は速度ωについての時間的な対称化操作を示し、(c)は時間軸上の点に関する回転対称性についてそれぞれ示す。
【図6】加減速パターン部の構成例を概略的に示すブロック図である。
【図7】加減速パターンの生成にあたって基準関数に対する時間的なスケール変換操作を施した様子を示すグラフ図である。
【図8】加減速パターンの生成法に係るパターン生成部について説明するための概念図であり、(a)は関数計算を用いる方法、(b)は仮想サーボ系を用いる方法についてそれぞれ示す。
【図9】非干渉化計算部における補正項の計算について説明するための概略図である。
【図10】制御手順について説明するための図である。
【図11】図2のロボットに対する制御装置の機能的な構成を示すブロック図である。
【図12】図13とともに従来の問題点について説明するための図であり、本図はロボットの構成例を示す概略図である。
【図13】平面で見た場合の図12のロボットを略線的に示す図である。
【符号の説明】
1 ロボット制御装置
6 ロボット
10、11 アーム
23 ツール搭載部
24 サーボ制御装置
25 指令部
26 加減速パターン生成部
27 サーボ系
28 非干渉化計算部
【産業上の利用分野】
本発明は、複数の駆動軸が力学的に干渉作用を及ぼしながら運動する制御対象をあたかも各駆動軸が力学的に干渉しない系であるかのように制御することよって、制御の高速化や安定化を図ることを目的とした新規なサーボ制御装置及びサーボ制御方法、そしてロボット制御装置及び制御方法を提供しようとするものである。
【0002】
【従来の技術】
一般に、2以上の自由度を有する機構は、複数の駆動要素(摺動や回動、その他、部材間の相対運動を可能とする構成要素)の組み合わせによって構成されており、例えば、駆動軸のうちの2軸が互いに独立又は略独立した力学系(以下、「力学的非干渉系」という。)とされている場合には、各軸についての制御を分離して取り扱うをことができるため、制御が簡単である。
【0003】
しかしながら、駆動軸同士が相互に干渉し合うように構成されている力学系(以下、「力学的干渉系」という。)では、ある駆動軸に対する制御に他の駆動軸に係る運動制御が関与するため、系の運動状態は一般に複雑な様相を呈することとなる。
【0004】
例えば、多関節型ロボットの場合には、ロボット本体が複数のアームやアームの手先位置に取着されるツール等を有し、アーム間あるいはアームとツール間で力学的な干渉作用を及ぼし合いながら運動することになる。
【0005】
図12は水平関節型ロボットの構成を簡略的に示すものである。
【0006】
ロボットaは、基軸部bと、第1アームc、第2アームdとを備え、第1アームcの一端部が回動し得る状態で基軸部bに取り付けらている。そして、第1アームcの他端部には第2アームdの一端部が回動し得る状態で取り付けられており、第2アームdの他端部にはツール搭載軸eが設けられている。
【0007】
基軸部bには第1アームcを回動させるためにモータfとハーモニック減速機gとが設けられており、モータfの駆動力がハーモニック減速機gを介して第1アームcの回動力として伝達される。
【0008】
第1アームcには、第2アームdを回動させるための機構が設けられている。例えば、図示するように第1アームcに固定された支持部hにモータi及びハーモニック減速機jが取り付けられており、ハーモニック減速機jの出力軸にプーリkが取り付けられている。プーリlはプーリkと対をなすものであり、第2アームdの回動軸に固定されている。そして、プーリkとプーリlとの間にベルトmが掛け渡されている。モータiの駆動力はハーモニック減速機jを介してプーリkの回動力となり、これがベルトmによってプーリlに伝達され、第2アームdの回動力となる。
【0009】
図13はロボットaを平面で見たときの構成を略線的に表現したものであり、第1アームcの回動中心を原点Oとする2次元の位置座標系(X,Y)を基軸部bに設定している。
【0010】
図において点Cは第2アームdの回動中心を示し、点Eは手先位置を示しており、線分OC(その長さを「L1」とする。)によって第1アームcを表し、線分CE(その長さを「L2」とする。)が第2アームdを表している。また。角度「θ1」は線分OCがX軸に対してなす角度を示し、角度「θ2」は線分CEが線分OCの延長線に対してなす角度を示している。
【0011】
点P1は第1アームcの重心位置、点P2は第2アームdの重心位置をそれぞれ示しており、線分OP1の長さが「l1」とされ、線分CP2の長さが「l2」とされている。
【0012】
このように簡略化された力学系モデルについての運動方程式を導出するにあたっては、X軸を実数軸とし、Y軸を虚数軸とする複素平面座標系を用いるようにすると、位置や速度等を、複素表示で表現することができる。
【0013】
例えば、各アームの重心位置やその1階の時間微分は複素量に拡張されて下式のように表わされる。
【0014】
【数1】
【0015】
尚、ここで「j」は虚数単位である。
【0016】
解析にあたって必要な物理量の記号を表形式にまとめたものが、下表1、2である。
【0017】
【表1】
【0018】
【表2】
【0019】
第1アームcの回転角がθ1である時のモータfの回転角はR1・θ1であり、第2アームdの回転角がθ2である時のモータiの回転角はR2・θ2であるので、ロボット系(ロボット本体の他、負荷等を含む系)の運動エネルギーを「Ek」とすると、下式のようになる。
【0020】
【数2】
【0021】
速度の2乗値は複素数の絶対値として求められるので、Ekは下式のようになる。
【0022】
【数3】
【0023】
重力に係るポテンシャルエネルギーを無視した場合に、ラグランジアンがEkに等しいことに注意して、オイラー−ラグランジュ方程式に従って各アームに係る運動方程式([数4]式)に[数3]式を適用すると、ハーモニック減速機の出力トルクが[数5]式のように求められる。
【0024】
【数4】
【0025】
【数5】
【0026】
尚、上式において摩擦等の粘性項の影響は無視している。
【0027】
[数5]式において、トルクT1に係る第1式の右辺第1項は慣性項を示し、第2項は第2アームdから受ける慣性力(トルク)を示しており、また、第3項はコリオリ力(トルク)を示し、第4項は第2アームdの回転による遠心力が第1アームcに及ぼすトルクを示している。
【0028】
また、トルクT2に係る第2式の右辺第1項は慣性項を示し、第2項は第1アームcから受ける慣性力(トルク)を示しており、また、第3項は第1アームcの回転による遠心力が第2アームdに及ぼすトルクを示している。
【0029】
各アームの運動についてはアーム自身の慣性項の他に干渉項が存在し、該干渉項の絶対値は慣性項と略同程度の大きさをもっているため無視することができない。
【0030】
【発明が解決しようとする課題】
上述のように力学的干渉系に係る制御は、駆動要素間の干渉項の存在を充分考慮して制御を行う必要があるため、運動の高速化や安定化を図ることが難しいという問題がある。
【0031】
例えば、上記のようなロボットでは、第1アームcと第2アームdとが互いに力学的な干渉作用を及ぼし合いながら運動しているため、運動状態によっては、ロボットの手先位置について位置決めを行う際に静定が悪化したり、タクトタイム(作業時間)が長くなるといった不都合が生じることになる。
【0032】
これは、例えば、以下の(1)乃至(3)に示す事項が要因となっているからである。
(1)第1アームcの運動に関して慣性項([数5]式の第1式右辺第1項)が第2アームdの姿勢に影響される(慣性項における2・b・cosθ2の項に注意)。
(2)第1アームcは、第2アームdの運動によって生じる慣性力や、コリオリ力、遠心力([数5]式の第1式右辺第2項乃至第4項)の影響を受ける。
(3)第2アームdは、第1アームcの運動によって生じる慣性力や遠心力([数5]式の第2式右辺第2項、第3項)の影響を受ける。
【0033】
このように第1アームと第2アームとの間の複雑な干渉作用のため、位置や速度のフィードバック制御における最適ゲインがロボットの姿勢によって変化してしまい制御が難しくなってしまう。
【0034】
尚、このような干渉作用が生じないようにロボットの構造自体を力学的非干渉系又はこれに近い系に改変する方法も考えられるが、そのためにはロボットの設計に比較的強い制約が課せられてしまうという危惧が生じるので、ロボットの構造の如何によって制御の仕方が著しく変化しない汎用性の高い制御装置や制御方法が求められている。
【0035】
【課題を解決するための手段】
そこで、本発明は、サーボ系に係る運動方程式において、ある駆動軸が他の駆動軸から受ける力学的干渉項(コリオリ力や遠心力等)を打ち消すための補正項の値を、加減速パターン生成部により生成される加減速パターンに係る制御変数を力学的干渉項に代入することで計算し、計算結果と加減速パターンに係る制御指令とをサーボ系に送出して、サーボ系において力学的干渉項に起因する外乱を除去することができるようにしたものである。
【0036】
【作用】
本発明によれば、補正項を負の要因としてサーボ系に送出することによって力学的干渉項が打ち消され又は干渉作用の影響が弱められるので、各駆動要素について略独立した運動系であるかのように取り扱うことができる。
【0037】
【実施例】
以下に、本発明の詳細を図示した実施例に従って説明する。尚、図示した実施例は本発明をロボット制御装置に適用したものである。
【0038】
図1はロボット制御装置1のハードウェア構成の要部を概略的に示すものである。
【0039】
ロボット制御装置1は、CPU(中央演算装置)2を核とし、そのバス3に直接又は間接的に接続されるプログラム記憶部4を有している。
【0040】
プログラム記憶部4には、ロボットの動作手順の記述に係るロボットプログラムや、ロボットシステムの記述(例えば、ロボットの各軸の動作を決定する座標変換等の記述)に係るシステムプログラムが記憶されるようになっている。
【0041】
サーボユニット5、5、・・・は、制御対象たるロボット6の駆動軸毎に独立しており、CPU2から発せられた命令に従ってロボット6の軸駆動を行なうアクチュエータ(モータやシリンダー等)を制御するために設けられている。
【0042】
ロボット6の動作指示に係るティーチングペンダント7は、T.P.(ティーチングペンダントの略)インターフェース8を介してバス3に接続されている。図2は、制御対象となるロボット6の構成例として、4軸構成の水平多関節型ロボットを示すものである。
【0043】
即ち、ロボット6は、基軸部9と、第1アーム10、第2アーム11とを備え、第1アーム10の一端部が回動し得る状態で基軸部9に取り付けらている。そして、第1アーム10の他端部には第2アーム11の一端部が回動し得る状態で取り付けられており、第2アーム11の他端部にはツール搭載軸12が設けられている。
【0044】
基軸部9には第1アーム10を回動させるためにモータ13が設けられており、該モータ13の駆動力がハーモニック減速機14を介して第1アーム10の回動力として伝達される。
【0045】
第1アーム10には、第2アーム11を回動させるための機構が設けられている。即ち、第1アーム10の一端部に固定された支持部15にモータ16及びハーモニック減速機17が取り付けられており、ハーモニック減速機17の出力軸にプーリ18が取り付けられている。このプーリ18と対をなすプーリ19が第2アーム11の回動軸11aに固定されており、プーリ18とプーリ19との間にベルト20が掛け渡されている。つまり、モータ16の駆動力はハーモニック減速機17を介してプーリ18の回動力となり、これがベルト20によってプーリ19に伝達されて第2アーム11の回動力となる。
【0046】
ツール搭載軸12は、第2アーム11の回動端部の上面に設けられたアクチュエータ21によって鉛直方向に摺動されるとともに、第2アーム11の回動軸11a寄りの端部に設けられたモータ22の回転力がベルト等によってツール搭載軸12に伝達されることによって軸回りに回動されるようになっている。そして、ツール搭載軸12の下端部には、ツール搭載部23が固定されており、ハンドや工具等の効果器を取り付けることができるようになっている。
【0047】
図3はロボット6を平面で見たときの構成を略線的に表現したものであり、第1アーム10の回動中心O1を原点とする2次元の位置座標系(X,Y)を基軸部9に設定している。
【0048】
図において、点O2は第2アーム11の回動中心、点O3はツール搭載軸12の回動中心、点Eはツール搭載部23の回動端点をそれぞれ示している。そして、線分O1O2(その長さを「L1」とする。)が第1アーム10を表し、線分O2O3(その長さを「L2」とする。)が第2アーム11を表し、線分O3E(その長さを「L4」とする。)がツール搭載部23を表している。尚、ツール搭載軸12の長さを「L3」とする。
【0049】
また、「θi(i=1、2、3、4)」は、各駆動軸に係る関節変位量を表しており、「θi(i=1、2、4)」は角度変位、「θ3」が鉛直方向の摺動変位を表している。つまり、角度「θ1」は線分O1O2がX軸に対してなす角度、角度「θ2」は線分O2O3が線分O1O2の延長線に対してなす角度、角度「θ4」は線分O3Eが線分O2O3の延長線に対してなす角度をそれぞれ示しており、「θ3」はツール搭載軸12の鉛直方向における変位を示している。
【0050】
点P1は第1アーム10の重心位置、点P2は第2アーム11の重心位置、点P3はツール搭載軸12の重心位置、点P4はツール搭載部23の重心位置をそれぞれ示しており、線分O1P1の長さが「l1」、線分O2P2の長さが「l2」、線分O3P4の長さが「l4」とされている。
【0051】
しかして、図2及び図3に示すように、ロボット6は、点O1の回りの回動軸(以下、「θ1軸」という。)、点O2の回りの回動軸(以下、「θ2軸」という。)、点O3を通って鉛直方向に延びる摺動軸(以下、「Rz軸」という。)、点O3の回りの回動軸(以下、「Rθ軸」という。)に係る4つの駆動軸が関節要素として組み合わされることで構成されている。
【0052】
尚、以下では、ある定義量「X」に添え字「i」を付すことによって各駆動軸に関する量を示すものとし、i=1がθ1軸、i=2がθ2軸、i=3がRz軸、i=4がRθ軸に係る量をそれぞれ表すものとする。つまり、各駆動軸に係る減速比を「Gi」とし、アーム等の駆動中心に関する慣性モーメントを「Jai」、駆動モータのロータの慣性モーメントを「Jmi」とし、駆動モータの位相角を「θmi」とすると、例えば、G1がハーモニック減速機14の減速比、Ja1が第1アーム10の慣性モーメント、Jm1がモータ13のロータの慣性モーメント、θm1がモータ13の位相角をそれぞれ示し、また、G3がアクチュエータ21に係る減速比、Ja3がツール搭載軸12の慣性モーメント、Jm3がアクチュエータ21の駆動源であるモータのロータの慣性モーメント、θm3がモータの位相角をそれぞれ示すことになる。
【0053】
以上の定義量を表形式にまとめると下表3のようになる。
【0054】
【表3】
【0055】
このように簡略化された力学系モデルについての運動方程式を導出するにあたっては、X軸を実数軸とし、Y軸を虚数軸とする複素平面座標系と、両軸に直交するZ軸とからなる座標系を設定すると、アーム等の重心位置やその1階の時間微分等を複素量に拡張して下式のように表わすことができる。即ち、点Piの位置を示す複素量「Pi」は、[数6]式のように表され、また、それらについての時間による1次微分が、[数7]式のように表される。
【0056】
【数6】
【0057】
【数7】
【0058】
尚、ここで「j」は虚数単位である。
【0059】
ロボット6の基軸部9が設置される地面に固定された基準座標系に対するロボット系の運動エネルギー(正確にはラグランジアン)を「Lg」とし、各駆動軸に係るラグランジアンを「Lgi」(i=1、2、3、4)とすると、これらは下式に示すようになる。
【0060】
【数8】
【0061】
【数9】
【0062】
【数10】
【0063】
【数11】
【0064】
即ち、θ1軸に係るラグランジアンLg1は、[数8]式の右辺に示すように、並進エネルギー(第1項)と第1アーム10の回転エネルギー(第2項)と駆動モータ13のロータの回転エネルギー(第3項)の和であり、また、θ2軸に係るラグランジアンLg2も同様に並進エネルギーと、第2アーム11や駆動モータ16のロータの回転エネルギーの和として、[数9]式の右辺に示すように表される。尚、Jm2の公転分についての並進エネルギーや回転エネルギーはラグランジアンLg1に含まれるものとする。
【0065】
Rz軸に係るラグランジアンLg3は、[数10]式の右辺に示すように、駆動モータの回転エネルギー(第1項)と、ツール搭載軸12の鉛直方向における運動エネルギー(第2項)と、ツール搭載軸12にかかる重力のポテンシャルエネルギー(第3項)との和である。尚、アクチュエータ21を構成するモータや、ボールネジ等の機構部分、負荷等の公転分についてのエネルギーはラグランジアンLg2に含まれる。
【0066】
Rθ軸に係るラグランジアンLg4は、[数11]式に示すように、負荷の並進エネルギー(第1項)と公転エネルギー(第2項)と、モータ22の回転エネルギーの和である。
【0067】
尚、以上の解析にあたっては、説明を簡単にするために、運動方程式における粘性項や非線形項、熱エネルギーの散逸を無視するとともに、アーム等がサーボ指令値通りに運動するものと仮定している。
【0068】
しかして、全系のラグランジアンLgはLg1乃至Lg4の和となるが、下式[数12]の関係式を用いると、最終的に下式[数13]のようになる。
【0069】
【数12】
【0070】
【数13】
【0071】
但し、[数13]式における力学定数「Ai(i=1、2、3、4)」、「Bi(i=1、4)」、「C1」、「Di(i=1、2、3、4)」、「Ei(i=1、4)」、「Fi(i=1、3、4)」、「Hi(i=0、1)」は下式に示す通りである。
【0072】
【数14】
【0073】
【数15】
【0074】
【数16】
【0075】
尚、[数13]式の導出に係る式変形にあたっては、上記[数6]式乃至[数11]式や複素数の絶対値の計算等を用いれば良い。また、[数14]式乃至[数16]式において定義される18個の力学定数については、ロボット6の設計図に基づいて計算することができるが、これらの力学定数を精度良く同定するためには、実験によって決定する方が好ましい(例えば、モータ電流や、位相角、角速度、角加速度等を実測すれば良い。)。
【0076】
さて、以上のようにラグランジアンが求まると、ロボット系の運動を記述することができる。即ち、各駆動軸についてモータの発生するトルクを「τi」(i=1、2、3、4)とすると、下式[数17]に示すオイラー−ラグランジュ方程式に従って、各駆動軸に係る運動方程式([数18]式乃至[数21]式)を導出することができる。
【0077】
【数17】
【0078】
【数18】
【0079】
【数19】
【0080】
【数20】
【0081】
【数21】
【0082】
尚、[数18]、[数19]、[数21]式では「cosθ=C(θ)」、「sinθ=S(θ)」とおいて、記述の簡略化を図った。
【0083】
[数20]式に示すRz軸を除いて、各駆動軸の間には複雑な力学的干渉作用が働いていることが、[数18]、[数19]、[数21]式から明らかとなる。
【0084】
図4は、本発明に係るサーボ制御装置24の機能的な構成を示すものであり、指令部25からの信号が加減速パターン生成部26に入力され、加減速パターン生成部26の出力はサーボ系27に送出されるとともに、非干渉化計算部28を介してサーボ系27に送出される。尚、ここにいう「サーボ系」とは、制御対象である駆動源及び/又は駆動機構の他、サーボ回路等を含む系を意味している。また、サーボ系を除く部分は制御装置においてソフトウェア処理により実現される部分であるが、図では各部の機能をブロック要素で視覚化して表現している。また、「加減速パターン」とは、加減速曲線によって直接に記述される状態量の変化は勿論、該状態量の時間微分や積分値の変化等を含む広義の概念である。
【0085】
加減速パターン生成部26は、指令部25からの信号に基づいて状況に応じた加減速パターンを生成するものであり、例えば、本願出願人が特開平3−147103号公報にて開示したように、サーボ系27の応答特性を基本とし、この応答特性を再現する手段に指令値を与えたときの応答出力結果として、加速パターンを生成し、減速時には、加速パターンに対して時間的な対称化操作を施すことによって減速パターンを得ることを制御の基礎としている。
【0086】
例えば、サーボ系27にステップ入力信号を与えた場合には、理想的なサーボ系を除いてこれに完全に追従した振る舞いをすることはなく、サーボ系27の応答の遅れにより、実際の立ち上がり特性では、ステップ入力信号の定常値に達するまでに時間がかかることになる。そこで、運動方程式の可逆性(つまり、運動方程式が時間反転に関して対称性を有するという性質。)を利用して、サーボ系27が追従可能な加速パターンに対して時間的な対称化を行う(例えば、スタックを用いた操作等による。)ことによって減速パターンが得られるように制御すると、サーボ系の円滑な制御が可能となる。例えば、図5(b)に示すように、速度ωの制御では、速度ωがそのピーク値ωpを示す時間を「Tp」とした時、t=Tpを通りω軸に平行な直線LNに関して加速時のグラフ曲線29を折り返した曲線によって減速時のグラフ曲線30が得られるように操作し、または、これと同じ事を位置θの制御について言及すれば、図5(a)に示すように、加速時のグラフ曲線31に対して、点P(t=Tp)に関する点対称操作を施すことによって減速時のグラフ曲線32が得られるように操作する。尚、最適な加減速パターンを決める上で主要な要素はサーボ系の応答特性であり、この点に関して設計者の能力や経験等が介入する余地は皆無であるため、原理的に明確なアルゴリズムに従ってサーボ系にとっての最適制御パターンを得ることができる。また、図5(a)、(b)では、加速パターンに対して、時間t=一定の線に関する線対称性化の操作や、時間t=一定の線上の点に関する点対称化の操作によって減速パターンを得るようにしたが、これらはほんの一例に過ぎず、例えば、図5(c)に示すように、加速時のグラフ曲線29′を、時間軸上の点Q(t=Tp)に関して時計回り方向に90゜だけ回転させることによって、グラフ曲線29′に対して回転対称性を有する減速パターン30′を形成する等、各種の対称化の操作が可能である。
【0087】
そして、例えば、PTP(Point To Point)動作に係る制御については、特開平4−157508号公報に示すように、速度のピーク時間Tpと移動距離との間の関係を予め指定したり、あるいは、特開平4−306711号公報に示すように、駆動軸間の力学的な干渉作用について、エネルギー式や駆動源のパワー及びパワー配分に基づいてサーボ系を理論的にモデル化して速度のピーク時間Tpの最適値を算出して、上記のような加減速パターンを生成する方法を本願出願人が提案している。
【0088】
即ち、図6に示すように、制御装置33は、指令部25からの指令がパターン生成部34やTp値設定/決定部35に送出され、パターン生成部34の出力がサーボ系27に送出されるように構成される。
【0089】
Tp値設定/決定部35は、加減速パターンの形状を指定するための情報等を入力部36から受け取り、軸駆動量と速度のピーク時間との関数関係やエネルギー演算式に基づいて速度のピーク時間Tpを求めるために設けられており、Tp値に係る情報をパターン生成部34に送出する。
【0090】
パターン生成部34は指令部25からの情報やTp値設定/決定部35からのTp値に係る情報に基づいて加減速パターンを生成するものである。つまり、ここでは、加減速パターンを生成する上で基準となる関数を用意して、これに時間的なスケール変換操作や図5で示したような時間的な対称化の操作が基本となる。尚、「時間的なスケール変換操作」とは、軸駆動量についての保存を前提とした時間軸に関する変倍操作を意味する。図7は、速度ωに関する時間的なスケール変換操作について示すものであり、変換パラメータkを導入して、グラフ曲線37(t=Tpでの速度値=ωp、時間軸方向の幅2・Tp)に対して、時間軸をk倍に伸縮するとともに速度ピーク値をk分の1倍にすることでグラフ曲線38を得る純粋に理論的な操作である。
【0091】
パターン生成部34は、このような時間的なスケール変換操作をTp値に応じて施すことにより加速パターンの元を生成して、該加速パターンに対して時間的な対称化操作を施すことによって減速パターンを得ることができるように構成されている。
【0092】
尚、パターン生成方法としては、例えば、下記に示す2通りの方法を挙げることができる。
(1)関数計算による方法(図8(a)参照。)
現実のサーボ系の応答特性が、理論的に明快に解析されているような場合に、サーボ系の制御変数を関数式として表現することができれば、パターン生成の対象となる量を予め数式によって用意することができる。例えば、図8(a)に簡単に示すように、パターン生成部34内に関数演算部34aと時間軸操作部34bとを設け、関数演算部34aにおいて制御変数に係る基準関数群を予め決定しておけば、時間軸操作部34bによって上記のような時間的スケール変換や対称化操作を基準関数に対して容易に施すことができる。即ち、基準関数の関数値の計算とこれに四則演算を組みあわせた計算レベルで済むことになる。
(2)仮想サーボ系を用いる方法(図8(b)参照。)
ここにいう「仮想サーボ系」とは、現実のサーボ系に対応した構成をソフトウェア処理によって模擬的に構築して制御装置内に用意される系であり、これを計算手段として用いることによって各種の推定量の算出に利用することができる。
例えば、モータの制御回路には、モータの制御に直接に関係する回路部分や制御の安定化のための動的補償に係る部分等がサーボ系内に設けられるが、これらに対応した構成を有する仮想モータ系を、ソフトウェア処理による内部モデルとして制御装置内に用意すれば、仮想モータ系に対して指令を与えた時の応答特性を得て、これをそのまま実際のサーボ系の制御に利用することができる。
【0093】
また、サーボ系の構成が比較的簡単な場合、即ち、サーボ系の応答特性が解析式によって表現することができ、計算が簡単な場合には、上記(1)のように関数計算による方法が有効であるが、一般には、サーボ系の応答特性は解析式によって容易に表わされるとは限らないので、現実のサーボ系を摸した仮想サーボ系を導入することは、実際的な見地から有用である。
【0094】
例えば、図8(b)に示すように、仮想サーボ系34c(図ではシグナルフロー線図で表現している。)を用意するとともに、時間軸操作部34bを設け、該仮想サーボ系34cの各ノードから得られる諸量に対して時間軸操作部34bによる時間的なスケール変換操作や対称化操作を施すことができるようにプログラム処理により系を構成すれば良い。
【0095】
また、ロボットの種類や構造等が異なる場合でも、ロボットの駆動に係るサーボ系の構成に応じて仮想サーボ系34cの構成を改変すれば容易に制御の変更が可能であるため、汎用性が高い。
【0096】
尚、これまでの説明はPTP動作に係る制御について行ったが、CP(Continuous Path)動作に関する制御については、本願出願人が、特開平6−19528号公報で示した方法を用いれば、サーボ系の構造に依存することのない汎用的なアルゴリズムに従った制御を実現することができる。
【0097】
即ち、PTP動作にあっては、ロボットの移動経路上の重要な点のみを指定し、その点間の経路が不問とされるのに対し、後者のCP動作ではロボットの移動経路(以下、その指定曲線を「CP曲線」という。)を指定するとともに、CP曲線に沿ってロボットの手先位置を如何に正確にトレースさせるかが問題となるため、軸駆動量の概念をCP曲線の曲線長で置き換えるだけでは不充分であり、CP曲線における作用点の位置制御が重要項目として浮上してくる。
【0098】
その制御の大要を簡単にまとめると、以下の(a)乃至(e)に示すようになる。
【0099】
(a)CP曲線の計算時間間隔の決定
(b)CP曲線の曲線長に応じた加減速パターンの生成及び線素列の算出
(c)CP曲線上に指定される点列と線素列とに基づく関節角列の算出
(d)CP制御の精度を評価量とした速度ピーク値の最適値の決定
(e)関節角列の算出に係る再計算処理及び計算結果のサーボ系への出力
上記の「線素列」とは、CP曲線上に設定される多数の点列間の長さを制御始点から制御終点に向かって順次に配列したものであり、線素列や点列から関節角列を求めることは、CP曲線に沿ってロボットの作用点を運動させようとするCP動作にとって基本的な事項であり、ロボットアームの関節角列は逆運動学問題(手先位置が与えられたときにロボットの関節変位や姿勢を求める問題)の解として求められる。また、(c)の速度ピーク値については、理想的には大きい値程好ましいが、制御精度の如何によって制限を受けるため、その適正値を規定する必要が生じる。
【0100】
尚、逆運動学問題の解析にあたっては、順運動学問題(ロボットの関節変位や姿勢からロボットの手先位置を求める問題)の解法に係る演算要素(同次変換行列)を利用してこれにロボット構造を反映させ、該演算要素を含むネガティブフィードバックフィルターによる計算処理を通して解を求めるようにしたフィルタリング法を挙げることができ、また、ロボットの作用点を指定されたCP曲線に沿って精度良く移動させるために標本化に際して時間軸補正を行い、加減速パターンの生成や速度制御等に要する計算処理上の負担を減らして処理の高速化を図るとともに、この時間軸補正を介在させることによってCP動作に係る制御のアルゴリズムの基本部分には何等変更を加えることなく単にCP曲線の曲線長を駆動軸の軸駆動量へと置換するだけでPTP動作の制御を可能とし、PTP動作とCP動作との間で制御の統一化を図ることができることは特筆すべき事項である(その詳細については説明を省略する。)。
【0101】
非干渉化計算部28は、加減速パターン生成部26によって得られる諸量に基づいて各駆動軸に関する力学的な干渉項を打ち消すためのトルク補正計算を行うものであり、力学系の非干渉化にとって本質的な部分である。
【0102】
今、ある駆動軸に係る状態量を「θ」とし、その時間によるn次(nは自然数)の導関数を「θ(n)」で表すことにする。例えば、サーボ系がモータを含むものとして、該モータの位相角を「θ」とすると、「θ(1)」は角速度、「θ(2)」は角加速度をそれぞれ示すことになる。
【0103】
また、各駆動軸に係る状態量を、「θ」に下付の添え字「i」(i=1、2、・・・)を付すことによって表して、これらの列(θ1、θ2、・・・)をベクトル「Θ」とし、その時間によるn次(nは自然数)の導関数θ(n)に下付の添え字「i」(i=1、2、・・・)を付したもので構成される列(θ1 (n)、θ2 (n)、・・・)をベクトル「Θ(n)」で表すことにする。
【0104】
駆動軸の発生トルクに係るベクトル量をT(=(T1、T2、・・・))、慣性モーメントに係るベクトル量をΘの関数として「J(Θ)」とし、また、ある駆動軸を対象とした時これとは異なる駆動軸が当該駆動軸に及ぼす外乱トルクに係るベクトル量を、Θ、Θ(1)、Θ(2)のベクトル関数として「TH(Θ、Θ(1)、Θ(2))」(TH=(TH1、TH2、・・・)。但し、i番目の駆動軸に係る量THiはTHi=THi(Θ、Θ(1)、Θ(2))である。)とし、駆動軸間の干渉作用に依らない純粋にランダムな外乱に係るベクトル量を時間tの関数として「d(t)」でそれぞれ表すことにすると、ロボット系の運動方程式は、下式に示すベクトル方程式として一般化することができる。
【0105】
【数22】
【0106】
パターン生成部34により加減速パターンとして得られる、ある駆動軸についての状態量を「θd(t)」とし、その時間によるn次(nは自然数)の導関数を「θd (n)」で表すことにし、各駆動軸に係る状態量を、「θd」に下付の添え字「i」(i=1、2、・・・)を付すことによって表して、これらの列(θd1、θd2、・・・)をベクトル「Θd」とし、その時間によるn次(nは自然数)の導関数θd (n)に下付の添え字「i」(i=1、2、・・・)を付してたもので構成される列(θd1 (n)、θd2 (n)、・・・)をベクトル「Θd (n)」で表すことにする。
【0107】
そして、加減速パターンに沿って各駆動軸を運動させた場合に、ある駆動軸を対象としてこれとは異なる駆動軸が当該駆動軸に及ぼす外乱トルクに係るベクトル量を「THd」と定義すると、これは、Θd、Θd (1)、Θd (2)のベクトル関数として「THd(Θ、Θ(1)、Θ(2))」(THd=(THd1、THd2、・・・)。但し、i番目の駆動軸に係る量THdiはTHdi=THi(Θd、Θd (1)、Θd (2))である。)と表すことができる。このベクトル量THdは加減速パターンの生成にあたってΘd、Θd (1)、Θd (2)が知られていることから明らかなように事前に計算可能な量であり、具体的には、[数18]、[数19]、[数21]式における「τIFi」(i=1、2、4)の「θmi」、「θmi (n)」に「θdi」、「θdi (n)」をそれぞれ代入することによって下式のように求めることができる。
【0108】
【数23】
【0109】
【数24】
【0110】
【数25】
【0111】
但し、加減速曲線については、そのθdiやθdi (n)がサーボ系にとって実現可能なものである必要があり、三角波のようにその頂点で加速度が不連続となるものは避ける必要がある。
【0112】
ところで、[数22]式の右辺にベクトルTHdに負符号を掛けたものを加えると下式が得られる。
【0113】
【数26】
【0114】
上式の右辺第2項及び第3項の「TH−THd」は、ロボット系のモデル化や力学的定数の同定が完全であって、サーボ系が加減速パターンに追従して制御される場合には理論的にゼロとなるので、結局、[数26]式は下式のようになる
。
【数27】
【0115】
上式は、各駆動軸がランダムな外乱の影響を受けながらも、他の駆動軸からの干渉から完全に解放されている状態を示している。即ち、他の駆動軸からの干渉項THがTHdによって打ち消されることで、各駆動軸に係る運動方程式が互いに独立した系を記述することになり、これによって多関節型ロボットをあたかも直交型ロボットのように力学的非干渉系として取り扱うことの可能性が開けることになる。勿論、現実のロボット系では各種の誤差要因によって「TH−THd」が完全にゼロになるとは限らないが、サーボ系が上記のような加減速パターンにほぼ追従して制御されている場合には、「TH−THd」という外乱項が小さな値となる。
【0116】
非干渉化計算部28は、加減速パターンに基づいて補正項THdを計算して、これによって干渉項THを打ち消すための出力をサーボ系27に送出するように構成されている。例えば、パターン生成方法として、上述した仮想サーボ系を用いる方法を採用した場合には、図9に示すように、仮想サーボ系34cのノードから直接又は間接的にΘd、Θd (1)、Θd (2)を得て、補正項THdの値を[数23]乃至[数25]式に基づく演算により求めて、これに負の符号をつけたものを、非干渉化計算部28が現実のサーボ系27におけるトルクノードTにそのまま送出するように構成すれば良い。また、関数計算による方法では、Θd、Θd (1)、Θd (2)や干渉項THに係る関数形は既知であるため、単に関数値を求めれば良い。
【0117】
例えば、PTP動作に係る制御において、指令信号としてランプ信号を用いた場合には、Θd、Θd (1)、Θd (2)が下式のように表されるので、これらを補正項THdに代入すれば、THd=TH(Θd、Θd (1)、Θd (2))からTHdの値を計算することができる。
【0118】
【数28】
【0119】
尚、上式において、「ΔΘ」は軸駆動量、「Tf」はランプ信号の折れ時間、「T1」、「T2」、「T3」は仮想モータ系として3次のフィルタ構造を有する場合の制御ループにおける極の逆数をそれぞれ示している。また、関数u(t)は、Θd等の表現の便宜上導入される関数であり、Θdの時間微分によってΘd (1)やΘd (2)が直接に得られる訳ではないことに注意を要する。
【0120】
本発明に係る制御の手順をまとめると、以下の(S1)乃至(S5)及び図10に示すようになる。
【0121】
(S1)制御対象についての力学的なモデル化
即ち、図3及び[数6]乃至[数16]式を用いて説明したように、制御対象であるロボット系についての力学的なモデル化に基づいてエネルギー解析を行う。
【0122】
(S2)運動方程式における力学的干渉項の算定
[数17]式乃至[数21]式に示すように、各駆動軸についての運動方程式に基づいて、駆動軸が他の駆動軸から受ける力学的干渉項を導出する。
【0123】
(S3)指令値に応じた加減速パターンの生成
指令部25の発する指令値に応じて、加速度の連続性が保証されかつ加速パターンと減速パターンとが時間軸について対称性を有する加減速パターン(図5参照。)を生成する。尚、ここでいう「時間軸についての対称性」には、前述したように、時間t=一定の線に関する線対称性、時間t=一定の線上の点に関する点対称性、時間軸上の点に関する回転対称性等が含まれる。
【0124】
(S4)非干渉化のための補正項THdの計算
加減速パターンに沿う制御変数を(S2)の力学的干渉項に代入して、補正項THdの値を[数23]式乃至[数25]式に示すように算出する。
【0125】
(S5)サーボ系への制御出力の送出
加減速パターンに沿う制御出力と、補正項THd又は補正項THdによる力学的非干渉化作用と同等の効果を得るための出力をサーボ系27に送出する。
【0126】
尚、本発明に係る非干渉化のためのトルク補正は、図4及び図9から明らかなように、パターン生成部34からサーボ系27へと至るフィードフォワード法であるため、制御の安定性の面で有利である。
【0127】
図11は、上記ロボット6に関する制御装置の機能的構成の要部を各駆動軸に対して視覚化して示したものである。
【0128】
各加減速パターン生成部26i(i=1、2、3、4)には、指令部25からの指令信号、例えば、図示するような所定の傾斜をもったランプ信号等がそれぞれ入力され、これに応じた加減速パターンが生成される。そして、加減速パターンに沿う制御変数ΘdiやΘdi (1)、Θdi (2)が非干渉化計算部28に送られ、ここで、補正項THdの値が各駆動軸に対して計算される(但し、Rz軸については、[数20]式から明らかなように、干渉項がないので計算から除外される。)。 非干渉化計算部28i(i=1、2、4)は、サーボ系27に対して加減速パターンに沿う制御変数ΘdiやΘdi (n)、補正項THdに係るトルク計算値([数23]式乃至[数25]式参照。)を、サーボ系27においてこれらに対応するノードに制御指令としてそれぞれ送出する。
【0129】
以上に説明したように、本発明によれば機構的には力学的干渉系である制御対象をあたかも力学的非干渉系であるかのように、つまり、ロボット6について言えば、多関節型ロボットを直交型ロボットであるかのように擬制することが可能となる。
【0130】
尚、上記実施例では、本発明をロボット系の制御に適用したが、ロボット系を構成する各駆動軸に対して本発明を適用することができることから明らかなように、駆動軸が互いに力学的に干渉し合っている系であれば、その構造が如何なるものであっても本発明を適用することが可能である。
【0131】
【発明の効果】
以上に記載したところから明らかなように、請求項1、請求項2に係る発明によれば、ある駆動要素が他の駆動要素から受ける力学的干渉項を打ち消すための補正計算を行い、これによってサーボ系における力学的干渉項による外乱を除去して、構造上は力学的干渉系である制御対象をあたかも力学的非干渉系であるかのように制御することができるので、サーボ系に対する制御性の向上によって、運動の高速化や安定化を図ることができる。
【0132】
また、請求項3、請求項4に係る発明によれば、請求項1や請求項2に係るサーボ制御をロボット系の制御に適用することによって、アームとアームとの間やアームとツール搭載部との間の力学的干渉作用がアーム又はツール搭載部に与える影響を、ロボットの構造の改変に拠ることなくその制御において除去することで、例えば、多関節型ロボットをあたかも直交型ロボットであるかのように制御することができ、ロボットの特定の構造に依存しない汎用性の高い制御を行うことができる。
【図面の簡単な説明】
【図1】図2乃至図11とともに本発明について説明するための図であり、本図はロボット制御装置の構成例を示す図である。
【図2】制御対象であるロボットの構成例を示す概略図である。
【図3】平面で見た場合の図2のロボットを略線的に示す図である。
【図4】本発明に係る制御装置の機能的な構成を示すブロック図である。
【図5】加減速パターンの生成法について説明するためのグラフ図であり、(a)は駆動軸の移動量ΔΘについての時間的な対称化操作を示し、(b)は速度ωについての時間的な対称化操作を示し、(c)は時間軸上の点に関する回転対称性についてそれぞれ示す。
【図6】加減速パターン部の構成例を概略的に示すブロック図である。
【図7】加減速パターンの生成にあたって基準関数に対する時間的なスケール変換操作を施した様子を示すグラフ図である。
【図8】加減速パターンの生成法に係るパターン生成部について説明するための概念図であり、(a)は関数計算を用いる方法、(b)は仮想サーボ系を用いる方法についてそれぞれ示す。
【図9】非干渉化計算部における補正項の計算について説明するための概略図である。
【図10】制御手順について説明するための図である。
【図11】図2のロボットに対する制御装置の機能的な構成を示すブロック図である。
【図12】図13とともに従来の問題点について説明するための図であり、本図はロボットの構成例を示す概略図である。
【図13】平面で見た場合の図12のロボットを略線的に示す図である。
【符号の説明】
1 ロボット制御装置
6 ロボット
10、11 アーム
23 ツール搭載部
24 サーボ制御装置
25 指令部
26 加減速パターン生成部
27 サーボ系
28 非干渉化計算部
Claims (4)
- 各駆動要素が互いに力学的な干渉作用を及ぼし合いながら運動するように構成された力学系の制御を行うために、駆動要素とその制御手段を含むサーボ系に対して制御信号を送出するサーボ制御装置であって、
サーボ制御変数について指令を発する指令部と、
加速度の連続性が保証されかつ加速パターンと減速パターンとが時間軸について対称性を有する加減速パターンを生成してサーボ系に送出する加減速
パターン生成部と、
サーボ系に係る運動方程式においてある駆動要素に対して他の駆動要素から受ける力学的干渉項を打ち消すための補正項の値を、加減速パターン生成部からの加減速パターンに係る制御変数を力学的干渉項に代入して計算し、計算結果を駆動要素間の力学的干渉項を打ち消すための出力としてサーボ系に送出する非干渉化計算部とを備えた
ことを特徴とするサーボ制御装置。 - 各駆動要素が互いに力学的な干渉作用を及ぼし合いながら運動するように構成された力学系の制御を行うためのサーボ制御方法であって、
(1)駆動要素とその制御手段を含むサーボ系についての力学的なモデル化を行った後、
(2)サーボ系に係る運動方程式において、ある駆動要素が他の駆動要素から受ける力学的な干渉項を算定し、
(3)サーボ制御変数についての指令値に応じて、加速度の連続性が保証されかつ加速パターンと減速パターンとが時間軸について対称性を有する加減速パターンを生成し、
(4)(3)の加減速パターンに基づいて(2)の力学的干渉項を打ち消して非干渉化するための補正項の値を、加減速パターンに係るサーボ制御変数を(2)の力学的干渉項に代入することで計算し、
(5)(3)の加減速パターンに沿う制御指令及び(4)の補正項に係る出力を略同時にサーボ系に送出するようにした、
ことを特徴とするサーボ制御方法。 - アームとアームとの間又はアームとツール搭載部との間で力学的な干渉作用を及ぼしながら運動するように構成されたロボットの制御を行うために、ロボットのアーム又はツール搭載部の駆動制御に係る駆動源やサーボ回路を含むサーボ系に対して制御信号を送出するロボット制御装置であって、
ロボットの運動状態に係る制御変数について指令を発する指令部と、
指令部からの指令に応じて、加速度の連続性が保証されかつ加速パターンと減速パターンとが時間軸について対称性を有する加減速パターンを生成してサーボ系に送出する加減速パターン生成部と、
ロボットの駆動軸に係る運動方程式においてある駆動軸が他の駆動軸から受ける力学的な干渉項を打ち消すための補正項の値を、加減速パターン生成部からの加減速パターンに係る制御変数を力学的干渉項に代入することで計算し、計算結果を駆動軸間の力学的干渉項を打ち消すための出力としてサーボ系に送出する非干渉化計算部とを備えた、
ことを特徴とするロボット制御装置。 - アームとアームとの間又はアームとツール搭載部との間で力学的な干渉作用を及ぼしながら運動するように構成されたロボットの制御を行うためのロボット制御方法であって、
(1)ロボットのアーム又はツール搭載部の駆動制御に係る駆動源やサーボ回路を含むサーボ系についての力学的なモデル化を行った後、
(2)ロボットの各駆動軸に係る運動方程式において、あるアーム又はツール搭載部が他のアーム又はツール搭載部から受ける力学的な干渉項を算定し、
(3)ロボットの運動状態に係る制御変数の指令値に応じて、加速度の連続性が保証されかつ加速パターンと減速パターンとが時間軸について対称性を有する加減速パターンを生成し、
(4)(3)の加減速パターンに基づいて(2)の力学的干渉項を打ち消してすための補正項の値を、加減速パターンに係る制御変数を(2)の力学的干渉項に代入することで計算し、
(5)(3)の加減速パターンに沿う制御指令及び(4)の補正項に係る出力を略同時にサーボ系に送出するようにした、
ことを特徴とするロボット制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15864695A JP3558179B2 (ja) | 1995-06-01 | 1995-06-01 | サーボ制御装置及びサーボ制御方法並びにこれらを用いたロボット制御装置及びロボット制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15864695A JP3558179B2 (ja) | 1995-06-01 | 1995-06-01 | サーボ制御装置及びサーボ制御方法並びにこれらを用いたロボット制御装置及びロボット制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08328627A JPH08328627A (ja) | 1996-12-13 |
JP3558179B2 true JP3558179B2 (ja) | 2004-08-25 |
Family
ID=15676264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15864695A Expired - Fee Related JP3558179B2 (ja) | 1995-06-01 | 1995-06-01 | サーボ制御装置及びサーボ制御方法並びにこれらを用いたロボット制御装置及びロボット制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3558179B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012070572A2 (ja) * | 2010-11-26 | 2012-05-31 | ローツェ株式会社 | ロボットの制御装置および制御方法 |
JP6044171B2 (ja) * | 2012-08-10 | 2016-12-14 | 株式会社デンソーウェーブ | ロボットシステム |
JP5958166B2 (ja) * | 2012-08-10 | 2016-07-27 | 株式会社デンソーウェーブ | ロボット制御装置 |
JP5983170B2 (ja) * | 2012-08-10 | 2016-08-31 | 株式会社デンソーウェーブ | ロボットのシミュレーション装置 |
KR102115950B1 (ko) | 2013-11-07 | 2020-06-05 | 삼성전자주식회사 | 보행 보조 로봇 및 보행 보조 로봇의 제어 방법 |
CN105242640B (zh) * | 2014-07-09 | 2018-10-26 | 北京自动化控制设备研究所 | 一种新型的高速高精度多轴伺服运动控制器电路 |
JP6998514B2 (ja) * | 2017-07-11 | 2022-01-18 | パナソニックIpマネジメント株式会社 | ロボット制御装置 |
-
1995
- 1995-06-01 JP JP15864695A patent/JP3558179B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08328627A (ja) | 1996-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Good et al. | Dynamic models for control system design of integrated robot and drive systems | |
Gasparetto et al. | Experimental validation and comparative analysis of optimal time-jerk algorithms for trajectory planning | |
Kazerooni | Design and analysis of the statically balanced direct-drive robot manipulator | |
Grotjahn et al. | Identification of friction and rigid-body dynamics of parallel kinematic structures for model-based control | |
Carusone et al. | Experiments in end-effector tracking control for structurally flexible space manipulators | |
Qi et al. | Decoupled modeling and model predictive control of a hybrid cable-driven robot (HCDR) | |
EP2752274B1 (en) | Control method and control device | |
CN107479385A (zh) | 直角坐标机器人迭代滑模交叉耦合控制方法 | |
CN110007594A (zh) | 一种汽车电泳涂装输送用混联机器人的自适应鲁棒滑模控制方法 | |
Yuan et al. | Position-based impedance force controller with sensorless force estimation | |
JP3558179B2 (ja) | サーボ制御装置及びサーボ制御方法並びにこれらを用いたロボット制御装置及びロボット制御方法 | |
JPH04306711A (ja) | 加減速パターン生成装置及びパターン生成方法 | |
Liu et al. | Frequency-division based hybrid force/position control of robotic arms manipulating in uncertain environments | |
Tamir et al. | Passivity based control of stewart platform for trajectory tracking | |
Filipovic | Relation between Euler–Bernoulli equation and contemporary knowledge in robotics | |
Ren et al. | Impedance control of collaborative robots based on joint torque servo with active disturbance rejection | |
JP3936242B2 (ja) | サーボモータ制御用コントローラにおけるゲイン設定法、コントローラの有効性検証法およびロボット制御法 | |
Danaei et al. | Control of a two degree-of-freedom parallel robot as a stabilization platform | |
Zhukov et al. | Adaptive neural network control of hexapod for aerospace application | |
Koivo et al. | Self-tuning control of a two-link manipulator with a flexible forearm | |
Hazem et al. | A Study of Stabilization and Swing-up Linear Control for a Single Link Rotary Pendulum | |
Han et al. | Nonlinear dynamics of controlled synchronizations of manipulator system | |
Jiang | Vision-based Cartesian space motion control for flexible robotic manipulators | |
JPH0760667A (ja) | ロボットのウィービング制御装置 | |
Staufer et al. | Passivity-based tracking control of a flexible link robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040210 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040409 |
|
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: 20040430 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040513 |
|
LAPS | Cancellation because of no payment of annual fees |