(57)【要約】【課題】  ロボットの手先部を設定された目標軌道に追従させるように制御するものにあって、目標軌道に対する実際のロボットの軌道のずれを効果的に低減する。【解決手段】  ロボットコントローラのＣＰＵは、所定のサンプリング時間毎に、目標軌道を細分化して途中目標点を設定し、その途中目標点にロボット本体の手先部を移動させるように位置指令（角度指令）Ｐｔを出力するようになっている。このとき、現在（ｋ）から所定のサンプリング時間先（ｋ＋ｎ）のロボット本体の手先部の位置をモデルを用いて推定し、推定された位置と目標軌道とのずれを求めて位置指令の補正値を算出し、算出した補正値により現在の位置指令Ｐｔ（ｋ）を補正する。このとき、推定されたロボット本体の手先部の位置から、目標軌道上に下ろした垂線ベクトルＰαを補正値とする。【選択図】  図１
2006015431.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの手先部を、設定された目標軌道に追従させるように制御するロボットの制御装置であって、
サンプリング時間毎に、前記目標軌道を細分化した途中目標点にロボットの手先部を移動させるように位置指令を出力する位置指令出力手段と、
前記位置指令に基づいてロボットの各軸を制御する制御部と、
現在から所定のサンプリング時間先のロボットの手先部の位置を推定する推定手段と、
この推定手段により推定された位置と前記目標軌道とのずれを求めて前記位置指令の補正値を算出する補正値算出手段と、
この補正値算出手段の算出した補正値により現在の位置指令を補正する補正手段を備えることを特徴とするロボットの制御装置。
【請求項２】
前記補正値算出手段は、前記推定手段により推定された位置から、前記目標軌道上に下ろした垂線ベクトルを補正ベクトルとして補正値を算出することを特徴とする請求項１記載のロボットの制御装置。
【請求項３】
サンプリング時間毎に、設定された目標軌道を細分化した途中目標点にロボットの手先部を移動させるように位置指令を出力し、その位置指令に基づいてロボットの各軸を制御することにより、前記ロボットの手先部を前記目標軌道に追従させるように制御するロボットの制御方法であって、
現在から所定のサンプリング時間先のロボットの手先部の位置を推定し、
推定された位置と前記目標軌道とのずれを求めて前記位置指令の補正値を算出し、
算出された補正値により現在の位置指令を補正することを特徴とするロボットの制御方法。
【請求項４】
前記補正値は、推定されたロボットの手先部の位置から、前記目標軌道上に下ろした垂線ベクトルを補正ベクトルとして算出されることを特徴とする請求項３記載のロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの手先部を、設定された目標軌道に追従させるように制御するロボットの制御装置及び制御方法に関する。
【背景技術】
【０００２】
例えば加工や組立、シーリング、溶接などの作業を行う多関節（６軸）型ロボットにおいては、ロボットの制御装置により、ロボットの手先部の位置を予め設定（教示）された目標軌道に追従させるように、各軸のサーボモータを制御することが行われる。一般に、この制御には、フィードバック制御方式が採用されている。ところが、一般的なフィードバック制御では、どうしても各サーボモータに応答遅れが生ずるため、ロボットの実際の軌道に、目標軌道からのずれが生ずる問題がある。
【０００３】
そこで、近年では、フィードバック制御における軌道のずれを解消するために、特許文献１のように、教示軌跡と実際のロボットを動作させた際の軌跡との誤差を求めて、実際のロボットの軌跡が所望の教示軌跡に沿ったものとなるように、教示点を補正する調整を行う技術が考えられている。また、特許文献２には、ロボットにより補間動作を行う場合に、サーボ系の遅れを低減するために、フィードフォワード制御を採用し、ロボットの位置を指令位置に常に一致するように制御する技術が示されている。
【特許文献１】特開平１１−４８１７６号公報
【特許文献２】特開平８−９９２７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１に記載された技術では、ロボットの動作毎に、繰返し動作による調整が必要となるため、動作速度などの動作条件変更時にも調整が必要となる。また、外部条件等により動作を変更する場合に、全ての動作に対する調整が必要となり、調整工数が膨大なものとなってしまう欠点があった。
また、特許文献２に示されたようなフィードフォワード制御では、多関節型ロボットのような複雑な形状を有し、重力の影響や慣性力、負荷変動等のために特性が非線形となるものについては、偏差を零とすることは困難である。そして、目標位置指令に対してロボットの位置を常に一致させるように制御するため、位置指令が急激に変化することがあり、この場合、位置指令に無理に追従しようとして、ロボットに振動が発生し、結局、軌道のずれ低減の効果が十分に得られない不具合がある。
【０００５】
本発明は上記事情に鑑みてなされたもので、その目的は、ロボットの手先部を設定された目標軌道に追従させるように制御するものにあって、目標軌道に対する実際のロボットの軌道のずれを効果的に低減することができるロボットの制御装置及び制御方法を提供するにある。
【課題を解決するための手段】
【０００６】
ロボットの手先部を設定された目標軌道に追従させながら実行する作業においては、例えば加工工具によりワークに対する加工を行う場合や、シール剤の塗布作業、溶接作業などのように、目標軌道上における時間についてはさほどの厳密性を要求されず、目標軌道上を正しく追従することがより重要となる場合がある。本発明者は、ロボットの手先部を設定された目標軌道に追従させるように制御するにあたり、フィードフォワード制御のように位置指令に常に一致させるのではなく、時間遅れを許容しながら、ロボットの手先部の位置を目標軌道上にのせるような制御を行うことに着目し、これにより、位置指令の急激な変化をなくし、容易に目標軌道に追従させることが可能となることを確認し、本発明を成し遂げたのである。
【０００７】
即ち、本発明のロボットの制御装置は、ロボットの手先部を設定された目標軌道に追従させるように制御するものにあって、サンプリング時間毎に前記目標軌道を細分化した途中目標点にロボットの手先部を移動させるように位置指令を出力する位置指令出力手段と、前記位置指令に基づいてロボットの各軸を制御する制御部と、現在から所定のサンプリング時間先のロボットの手先部の位置を推定する推定手段と、この推定手段により推定された位置と前記目標軌道とのずれを求めて前記位置指令の補正値を算出する補正値算出手段と、この補正値算出手段の算出した補正値により現在の位置指令を補正する補正手段と
を備えるところに特徴を有する（請求項１の発明）。
【０００８】
また、本発明のロボットの制御方法は、サンプリング時間毎に、設定された目標軌道を細分化した途中目標点にロボットの手先部を移動させるように位置指令を出力し、その位置指令に基づいてロボットの各軸を制御することにより、前記ロボットの手先部を前記目標軌道に追従させるように制御する方法にあって、現在から所定のサンプリング時間先のロボットの手先部の位置を推定し、推定された位置と前記目標軌道とのずれを求めて前記位置指令の補正値を算出し、算出された補正値により現在の位置指令を補正するところに特徴を有する（請求項３の発明）。
【０００９】
本発明のロボットの制御装置及び制御方法によれば、ロボットの手先部を目標軌道に追従させるにあたり、ロボットの現在位置から所定のサンプリング時間先の、ロボットの位置の目標軌道とのずれが推定され、その推定されたずれに応じて現在の位置指令が補正されるようになる。これにより、先に発生すると推定されるロボットの位置ずれを、その手前における位置指令の補正によって、前以て吸収するような制御がなされることになり、ロボットの目標軌道との位置ずれを減少させることができる。このとき、サンプリング時間毎の途中目標点に対しては一定の遅れをもった制御となるが、指令値への無理な追従による振動を防止することができると共に、目標軌道からのずれを効果的に防止し、ロボットの手先部の実際の位置を精度良く追従させることができる。
【００１０】
尚、「所定のサンプリング時間先」については、ロボットの特性を考慮して、適当な時間を予め実験的（あるいは経験的）に決定しておくことができる。また、ロボットの手先部の位置を推定するための手段としては、ロボットの近似的モデルを構築し、モデルを解いて離散化するといった周知の手法を用いることができる。
【００１１】
そして、本発明においては、上記補正値を算出するにあたり、推定されたロボットの手先部の位置から、目標軌道上に下ろした垂線ベクトルを補正ベクトルとして補正値を算出するように構成することができる（請求項２、４の発明）。これによれば、最も効率的な補正値を求めることができ、より効果的となる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明を組立用の多関節型ロボットに適用した一実施例について、図面を参照しながら説明する。図５は、ロボットのシステムの外観構成を概略的に示している。このシステムは、ロボット本体１と、このロボット本体１を制御する本実施例に係る制御装置たるロボットコントローラ２とを備えて構成され、更に前記ロボットコントローラ２にはティーチングペンダント３が接続されている。
【００１３】
前記ロボット本体１は、この場合組立用の６軸の小形垂直多関節型ロボットとして構成されている。具体的には、前記ロボット本体１は、ベース部４にショルダ部５を垂直軸を中心に回動（旋回）可能に備え、そのショルダ部５の左右両端部に、図で上方に延びる一対の下アーム部６が水平軸を中心に回動可能に連結されており、この下アーム部６の上端部に両側から挟まれるようにして、中間アーム部７の前端部が水平軸を中心に回動可能に連結されている。
【００１４】
また、前記中間アーム部７の前端部には、前方に延びる上アーム部８の後端部が同軸回転可能に連結されており、その上アーム部８の前端側は、左右に二又をなすように延びており、それらの間に位置してリスト部９が水平軸を中心に回動可能に連結されている。さらに、前記リスト部９の前端部には、円形のフランジ部１０が同軸回転可能に連結されている。図示はしないが、前記フランジ部１０には、ワークを把持するハンドや、加工用工具、シール材塗布ヘッド、溶接ヘッド等のツールが取付けられるようになっている。尚、このフランジ部１０のツール取付面の中心部が手先部とされる。
【００１５】
そして、このロボット本体１内には、各軸を駆動するための駆動源であるサーボモータ１１（図４にのみ図示）や、図示しないベルト伝達機構や減速機等の伝動機構が組込まれている。また、図４に示すように、各サーボモータ１１には、位置検出センサとしてのロータリエンコーダ１２が設けられている。これら各軸のサーボモータ１１が、前記ロボットコントローラ２により制御されるようになっている。尚、図４では、ショルダ部５、下アーム部６、中間アーム部７、上アーム部８、リスト部９を可動部として１つのブロックで示し、サーボモータ１１も、１個のみを代表させて示している。
【００１６】
一方、図４に示すように、前記ロボットコントローラ２は、制御手段としてのＣＰＵ１３、このＣＰＵ１３に接続されたＲＯＭ１４、ＲＡＭ１５、インターフェース１６を備えると共に、前記各サーボモータ１１を駆動する駆動手段としての駆動回路（サーボ制御部）１７、位置検出手段としての位置検出回路１８などを備えて構成される。前記ＲＯＭ１４には、ロボット全体の制御プログラムなどが記憶されており、前記ＲＡＭ１５には、前記ティーチングペンダント３による教示データ等に基づいて設定された動作プログラムが記憶されるようになっている。また、前記インターフェース１６には、前記ティーチングペンダント３が接続されると共に、図示しない画像処理装置、モニタ装置、パソコン等の周辺機器を接続することも可能とされている。
【００１７】
前記位置検出回路１８は、前記ロータリエンコーダ１２からのパルス信号に基づいて各軸のサーボモータ１１の現在位置（各関節の回転角度）を検出するようになっており、検出された位置情報は、前記駆動回路１７及びＣＰＵ１３に与えられるようになっている。前記駆動回路１７は、ＣＰＵ１３から与えられる位置指令と、位置検出回路１８から与えられる現在位置（角度）とを比較し、その偏差に応じた電流をサーボモータ１１に供給して駆動（フィードバック制御）する制御部として機能するようになっている。これにより、ロボット本体１の手先部の位置（三次元の位置及び向きを含む概念である）が、前記動作プログラムに設定された目標軌道Ｌ（図３に実線で示す）に追従するように制御され、もって所定の作業（組立作業など）を行うようになっているのである。
【００１８】
さて、前記ロボットコントローラ２は、ＣＰＵ１３の処理を中心としたソフトウエア的構成により、所定のサンプリング時間（例えば８ｍｓ）毎に、前記目標軌道Ｌを細分化して途中目標点（図３に黒丸で示す）を設定し、その途中目標点にロボット本体１の手先部を移動させるように位置指令（角度指令）Ｐｔを出力するようになっている。このとき、本実施例では、後の作用説明でも述べるように、ロボットコントローラ２（ＣＰＵ１３）は、現在（ｋ）から所定のサンプリング時間先（ｋ＋ｎ）のロボット本体１の手先部の位置（図３に白丸で示す）を推定し、推定された位置と前記目標軌道Ｌとのずれを求めて前記位置指令の補正値を算出し、算出した補正値により現在の位置指令Ｐｔを補正するようになっている。
【００１９】
従って、ＣＰＵ１３が位置指令出力手段、推定手段、補正値算出手段及び補正手段として機能するようになっている。さらに、本実施例では、図３に示すように、上記補正値を算出するにあたり、推定されたロボット本体１の手先部の位置から、目標軌道Ｌ上に下ろした垂線ベクトルＰαを補正値とするようになっている。尚、上記所定のサンプリング時間先については、ロボット本体１の特性等を考慮して、例えば５０ｍｓ先といったように、適当な時間を予め実験的に決定しておくことができる。ロボット本体１の手先部の位置を推定するための手段としては、ロボット本体１の近似的モデルを構築し、モデルを解いて離散化するといった周知の手法を用いることができる。
【００２０】
次に、上記構成の作用について、図１ないし図３も参照して述べる。今、図３に示すように、設定された動作プログラムにおいて、ロボット本体１の手先部を目標軌道Ｌに追従させるように制御するものとすると、サンプリング時間（ｋ、ｋ＋１、ｋ＋２、‥、ｋ＋ｎ、‥）毎に、ロボット本体１の手先部が途中目標点に来るように位置指令（Ｐｔ（ｋ））が出力される。
【００２１】
しかし、通常のフィードバック制御を行った場合には、どうしても各サーボモータ１１に応答遅れが生ずるため、図３に破線で示すように、ロボット本体１の手先部の実際の軌道に、目標軌道Ｌからずれが生ずる事情がある。図３中、白丸は、通常のフィードバック制御を行った場合に、各サンプリング時間（ｋ、ｋ＋１、ｋ＋２、‥、ｋ＋ｎ、‥）におけるロボット本体１の手先部が実際に移動する位置の例を示している。
【００２２】
そこで、本実施例では、図１の制御ブロック図に示されるように、位置指令（Ｐｔ）の補正が行われてロボット本体１の位置制御が行われる。
即ち、まず、位置指令（指令角度Ｐｔ（ｋ＋ｎ））が、推定モデル部１９に入力される。この場合、位置指令Ｐｔ（ｋ＋ｎ）は、現在（ｋ）の途中目標点に対してｎサンプルだけ先行して出力されることになる。推定モデル部１９では、ｎサンプル後の各軸の位置（関節の角度）がモデルを使って推定され、推定位置（角度）が軌跡ずれ推定部２０に入力される。軌跡ずれ推定部２０では、ｎサンプル後の推定位置と、目標軌道Ｌとのずれが求められる。そして、軌跡補正ベクトル計算部２１では、補正指令値Ｐαが算出される。ここでは、図３に示すように、ｎサンプル先の推定位置から目標軌道Ｌ上に下ろした垂線ベクトルを補正ベクトルとするようになっている。算出された補正値Ｐαは、加算器２３に入力される。
【００２３】
一方、上記位置指令（指令角度Ｐｔ（ｋ＋ｎ））は、遅れ要素２２に入力され、この遅れ要素からは、現在のサンプリング時間（ｋ）における位置指令Ｐｔ（ｋ）が出力される。そして、加算器２３にて、その位置指令Ｐｔ（ｋ）に前記補正値Ｐαが加算され、位置指令がＰｔ（ｋ）＋Ｐαとされて、ロボットの制御ループ２４に入力される。詳しい図示は省略しているが、このロボットの制御ループ２４は、一般的なフィードバック制御を行うループである。
【００２４】
また、図２のフローチャートは、上記した制御における位置指令の補正の手順を示すものである。即ち、ステップＳ１では、動作プログラムに設定された目標軌道Ｌから、現在からｎサンプル先の位置指令値が算出される。次のステップＳ２では、ｎサンプル先のロボット本体１の手先部の位置が推定される。そして、ステップＳ３では、軌跡ずれの推定値（垂線ベクトル）が算出され、ステップＳ４では、現在の位置指令Ｐｔ（ｋ）を、上記軌跡ずれの推定値（補正値Ｐα）により補正することが行われる。
【００２５】
これにより、ｎサンプリング時間先に発生すると推定されるロボット本体１の手先部の目標軌道Ｌからの位置ずれを、その手前（現在）における位置指令Ｐｔ（ｋ）の補正によって、前以て吸収するような制御がなされるようになる。この場合、ロボット本体１の手先部を設定された目標軌道Ｌに追従させるように制御するにあたり、フィードフォワード制御のように位置指令に常に一致させるのではなく、時間遅れを許容しながら、ロボット本体１の手先部の位置を目標軌道Ｌ上にのせるような制御が行われることになる。
【００２６】
従って、各サーボモータ１１の応答遅れに起因する、ロボット本体１の手先部の目標軌道Ｌとの位置ずれ減少させることができ、ロボット本体１の手先部の実際の位置を目標軌道Ｌに精度良く追従させることができる。このとき、サンプリング時間毎の途中目標点に対しては一定の遅れをもった制御となるが、従来のフィードフォワード制御とは異なり、指令値への無理な追従による振動を防止することができる。しかも、予め教示軌跡と実際のロボット本体１を動作させた際の軌跡との誤差を求めて、教示点を補正するような調整を行うものと異なり、繰返し動作による調整作業の必要がないことは勿論である。
【００２７】
このように本実施例によれば、ロボット本体１の手先部を設定された目標軌道に追従させるように制御するものにあって、目標軌道Ｌに対する実際のロボット本体１の軌道のずれを効果的に低減することができる。この結果、加工工具によりワークに対する加工を行う場合や、シール剤の塗布作業、溶接作業などのように、目標軌道Ｌ上における時間についてはさほどの厳密性を要求されず、目標軌道Ｌ上を正しく追従することがより重要となる場合に有効となる。また、特に本実施例では、補正値を算出するにあたり、推定されたロボット本体１の手先部の位置から目標軌道Ｌ上に下ろした垂線ベクトルを補正ベクトルとするようにしたので、最も効率的な補正値を求めることができ、より効果的となるものである。
【００２８】
尚、上記実施例では、推定されたロボット本体１の手先部の位置から目標軌道Ｌ上に下ろした垂線ベクトルを補正値とするようにしたが、例えば、推定位置からｎサンプリング時間先の途中目標点に向かうベクトルを補正値とすることも可能である。その他、例えばロボット本体のハードウエア構成などについても様々な変形が可能である等、本発明は上記した実施例に限定されるものではなく、要旨を逸脱しない範囲内で適宜変更して実施し得るものである。
【図面の簡単な説明】
【００２９】
【図１】本発明の一実施例を示すもので、位置指令の補正の制御ブロック図
【図２】位置指令の補正の手順を示すフローチャート
【図３】目標軌道と実際の軌道とのずれが生ずる様子を示す図
【図４】ロボットコントローラの電気的構成を概略的に示すブロック図
【図５】ロボットの外観を概略的に示す斜視図
【符号の説明】
【００３０】
図面中、１はロボット本体、２はロボットコントローラ（制御装置）、１１はサーボモータ、１２はロータリエンコーダ、１３はＣＰＵ、１７は駆動回路、１８は位置検出回路、Ｌは目標軌道を示す。
【図１】
2006015431.tif 000003
【図２】
2006015431.tif 000004
【図３】
2006015431.tif 000005
【図４】
2006015431.tif 000006
【図５】
2006015431.tif 000007