(57)【要約】      （修正有）【課題】冗長関節部を含む複数の関節部を有する多関節ロボットの制御において、多関節ロボットの動作範囲をできるだけ広くするように、冗長関節部の角度位置の決定を簡便に行う制御方法を提供する。【解決手段】予め定める冗長関節部を固定した状態で、残余の関節部の角度位置を変化させたときの多関節ロボットのエンドエフェクタの動作範囲を、前記冗長関節部が複数の角度位置にある場合について調査する調査工程Ｓ１と、前記調査工程において得られた各動作範囲のうち、予め定める条件を満たす動作範囲となる冗長関節部の角度位置を抽出する抽出工程Ｓ２と、冗長関節部を前記抽出工程において抽出された角度位置に配置した状態で、残余の関節部を角変位させるように制御する関節部制御工程Ｓ３とを含む。【選択図】図２
2005199412.tif 000002
【特許請求の範囲】
【請求項１】
冗長関節部を含む複数の関節部を有する多関節ロボットを制御する制御方法であって、
予め定める冗長関節部を固定した状態で、残余の関節部の角度位置を変化させたときの多関節ロボットの遊端部の動作範囲を、前記冗長関節部が複数の角度位置にある場合について調査する調査工程と、
前記調査工程において得られた各動作範囲のうち、予め定める条件を満たす動作範囲となる冗長関節部の角度位置を抽出する抽出工程と、
冗長関節部を前記抽出工程において抽出された角度位置に配置した状態で、残余の関節部を角変位させるように制御する関節部制御工程とを含むことを特徴とする制御方法。
【請求項２】
前記予め定める条件を満たす動作範囲は、予め指定された位置を含むことを特徴とする請求項１記載の制御方法。
【請求項３】
少なくとも１つの関節部の角度位置が可動範囲の限界位置に近づいた場合、前記遊端部を予め定める軌道上に保持しながら、前記関節部の角度位置を前記可動範囲の中央位置に近づけるように前記冗長関節部を角変位させ、各関節部の角度位置が可動範囲の中央位置近傍にある場合、前記遊端部の動作範囲を広くするために冗長関節部を角変位させる補助制御工程をさらに含むことを特徴とする請求項１または２記載の制御方法。
【請求項４】
冗長関節部を含む複数の関節部を有する多関節ロボットを制御する制御装置であって、
予め定める冗長関節部を固定した状態で、残余の関節部の角度位置を変化させたときの多関節ロボットの遊端部の動作範囲を、前記冗長関節部が複数の角度位置にある場合について調査する調査手段と、
前記調査手段によって得られた各動作範囲のうち、予め定める条件を満たす動作範囲となる冗長関節部の角度位置を抽出する抽出手段と、
冗長関節部を前記抽出手段によって抽出された角度位置に配置した状態で、残余の関節部を角変位させるように制御する関節部制御手段とを含むことを特徴とする制御装置。
【請求項５】
前記予め定める条件を満たす動作範囲は、予め指定された位置を含むことを特徴とする請求項４記載の制御装置。
【請求項６】
少なくとも１つの関節部の角度位置が可動範囲の限界位置に近づいた場合、前記遊端部を予め定める軌道上に保持しながら、前記関節部の角度位置を前記可動範囲の中央位置に近づけるように前記冗長関節部を角変位させ、各関節部の角度位置が可動範囲の中央位置近傍にある場合、前記遊端部の動作範囲を広くするために冗長関節部を角変位させる補助制御手段をさらに含むことを特徴とする請求項４または５記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、冗長関節部を含む複数の関節部を有する多関節ロボットを制御する制御方法および制御装置に関する。
【背景技術】
【０００２】
７つ以上の複数の関節部を有する多関節ロボットの制御については、様々な方式があり、その典型的な従来技術が特許文献１および特許文献２に記載されている。特許文献１の多関節ロボットの制御装置では、多関節ロボットの先端関節が目標位置に距離的に近づくような関節角度を最小２乗法によって１軸ずつ求め、求めた目標角度と現在の関節角度との差に比例した量を１軸ずつ関節を回転させることによって、計算量を少なくして、先端の関節が目標位置に達するようにしている。特許文献２の多自由度マニピュレータの位置決め装置では、手先位置姿勢情報とマニピュレータの全体形状の指定値とから全体形状を指定するための解曲線を求め、全リンクの端点が前記解曲線状に配置されるようにリンク端点位置を算出し、隣接する２リンクのリンク端点と根元側リンクの姿勢とから２リンク間の関節角を算出し、前記関節角から手先側リンクの姿勢を求め、リンク毎に根元から手先まで逐次的に前記関節角とリンク姿勢とを繰返し算出して全関節角を求めることで、位置決めの算出を高速化する。
【０００３】
また前述のような多関節ロボットが障害物を回避するような制御についても様々な方式があり、その典型的な従来技術が特許文献３に記載されている。特許文献３のマニピュレータの制御装置では、始点から終点へ把手を移動するときに、障害物に干渉する状態での各関節の変位を予め離散的に求め、各関節の変位を避けるように各関節の離散的な動作間をマニピュレータの関節補間または単軸動作によって制御する。
【０００４】
また前述のような多関節ロボットを教示するための必要な情報を表示する典型的な従来技術が、特許文献４に記載されている。特許文献４の冗長自由度ロボット装置では、作業に必要な動作を記述する独立変数の現在地に依存する冗長パラメータの取り得る領域の演算を行って、その結果を表示することでロボット教示を行う。
【０００５】
またロボットの空間内の各方向に対する制御仕様を実現する典型的な従来技術が、特許文献５に記載されている。特許文献５のロボットの制御方法では、ロボットに行わせる作業の仕様を作業空間に対して固定された座標系を用いて記述し、各座標軸方向および各座標軸まわりの方向の動作制御目標を明確化し、前記各方向へのロボットの姿勢状態のそれぞれに対応する方向への作業仕様に関する制御性能評価指標を計算し、それらの加重総合評価指標値が最も大きな値となるロボットの姿勢状態を最適姿勢状態とし、この状態で作業を実行させる。
【０００６】
また作業対象物に対してロボットのアーム体が届く範囲が最大限となるようにする典型的な従来技術が、特許文献６に記載されている。特許文献６の産業用ロボットの位置制御方法は、３つの基本軸で決定される位置マトリクスをｏＴｂ、３つの手首軸でとる姿勢マトリクスをｂＴｗ、工具の取付けフランジマトリクスをｗＴｆ、工具のエンドエフェクタマトリクスをｆＴｅとしたときに、空間上の直交座標系における目的制御点の位置および姿勢が与えられたとき、ｏＴＣＤ＝ｏＴｂ・ｂＴｗ・ｗＴｆ・ｆＴｅの関係からロボットの位置を制御する。このときの取り得る位置ｏＴｂの集合である目標のｏＴＣＤの位置を原点としたベクトルＶの冗長軸方向の点Ｐｖを原点とした円周上で、ロボット演算原点Ｔ０からの距離が最小となる点ＰｂをｏＴｂの直交成分となるように目標ｏＴＣＤをｏＴＣＤ’として求め直し、このｏＴＣＤ’を逆変換して、導出した各関節座標系の各軸の位置を動作目標とする。
【０００７】
【特許文献１】特開２０００−１６７７８９号公報
【特許文献２】特開平１０−３３３７２３号公報
【特許文献３】特開平１１−３３３７８０号公報
【特許文献４】特開平５−３３７８６１号公報
【特許文献５】特開平５−２３９８２号公報
【特許文献６】特開２００２−３０１６７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
特許文献６に記載の位置制御方法では、多くの行列を用いて演算を行っているので、行列演算に要する時間が膨大となり、迅速なロボットの制御を行うことが極めて困難であり、実装することが難しい。したがって冗長関節部を含む複数の関節部を有する多関節ロボットの制御において、多関節ロボットの動作範囲をできるだけ広くするための制御を簡便に行う必要がある。
【０００９】
本発明の目的は、冗長関節部を含む複数の関節部を有する多関節ロボットの制御において、多関節ロボットの動作範囲をできるだけ広くするように、冗長関節部の角度位置の決定を簡便に行う制御方法および制御装置を提供することである。
【課題を解決するための手段】
【００１０】
本発明は、冗長関節部を含む複数の関節部を有する多関節ロボットを制御する制御方法であって、
予め定める冗長関節部を固定した状態で、残余の関節部の角度位置を変化させたときの多関節ロボットの遊端部の動作範囲を、前記冗長関節部が複数の角度位置にある場合について調査する調査工程と、
前記調査工程において得られた各動作範囲のうち、予め定める条件を満たす動作範囲となる冗長関節部の角度位置を抽出する抽出工程と、
冗長関節部を前記抽出工程において抽出された角度位置に配置した状態で、残余の関節部を角変位させるように制御する関節部制御工程とを含むことを特徴とする制御方法である。
【００１１】
また本発明は、前記予め定める条件を満たす動作範囲は、予め指定された位置を含むことを特徴とする。
【００１２】
また本発明は、少なくとも１つの関節部の角度位置が可動範囲の限界位置に近づいた場合、前記遊端部を予め定める軌道上に保持しながら、前記関節部の角度位置を前記可動範囲の中央位置に近づけるように前記冗長関節部を角変位させ、各関節部の角度位置が可動範囲の中央位置近傍にある場合、前記遊端部の動作範囲を広くするために冗長関節部を角変位させる補助制御工程をさらに含むことを特徴とする。
【００１３】
また本発明は、冗長関節部を含む複数の関節部を有する多関節ロボットを制御する制御装置であって、
予め定める冗長関節部を固定した状態で、残余の関節部の角度位置を変化させたときの多関節ロボットの遊端部の動作範囲を、前記冗長関節部が複数の角度位置にある場合について調査する調査手段と、
前記調査手段によって得られた各動作範囲のうち、予め定める条件を満たす動作範囲となる冗長関節部の角度位置を抽出する抽出手段と、
冗長関節部を前記抽出手段によって抽出された角度位置に配置した状態で、残余の関節部を角変位させるように制御する関節部制御手段とを含むことを特徴とする制御装置である。
【００１４】
また本発明は、前記予め定める条件を満たす動作範囲は、予め指定された位置を含むことを特徴とする。
【００１５】
また本発明は、少なくとも１つの関節部の角度位置が可動範囲の限界位置に近づいた場合、前記遊端部を予め定める軌道上に保持しながら、前記関節部の角度位置を前記可動範囲の中央位置に近づけるように前記冗長関節部を角変位させ、各関節部の角度位置が可動範囲の中央位置近傍にある場合、前記遊端部の動作範囲を広くするために冗長関節部を角変位させる補助制御手段をさらに含むことを特徴とする。
【発明の効果】
【００１６】
本発明によれば、調査工程では、予め定める冗長関節部を固定した状態で、残余の関節部の角度位置を変化させたときの多関節ロボットの遊端部の動作範囲を、前記冗長関節部が複数の角度位置にある場合について調査する。抽出工程では、前記調査工程において得られた各動作範囲のうち、予め定める条件を満たす動作範囲となる冗長関節部の角度位置を抽出する。関節部制御工程では、冗長関節部を前記抽出工程において抽出された角度位置に配置した状態で、残余の関節部を角変位させるように制御する。このように冗長関節部を前記抽出工程において抽出された角度位置に配置した状態で、残余の関節部を角変位させるように制御することによって、多関節ロボットの遊端部は、前記予め定める動作範囲を連続的に動作することができる。したがって条件毎に冗長関節部の角度位置を抽出しておくことによって、前記条件を満たす動作範囲において多関節ロボットの遊端部を確実に連続的に動作させることができ、作業に応じた制御を簡便に行うことができる。
【００１７】
また本発明によれば、前記予め定める条件を満たす動作範囲は、予め指定された位置を含むので、多関節ロボットの遊端部を前記予め指定された位置に確実に配置することができる。
【００１８】
また本発明によれば、補助制御工程では、少なくとも１つの関節部の角度位置が可動範囲の限界位置に近づいた場合、前記遊端部を予め定める軌道上に保持しながら、前記関節部の角度位置を前記可動範囲の中央位置に近づけるように前記冗長関節部を角変位させる。これによって角度位置が可動範囲の限界位置に近づいていた関節部は、前記可動範囲の中央位置に近づくので、角変位動作することが可能となり、遊端部を所定の位置に配置するための角変位動作を確実に行い、遊端部を所定の動作範囲で動作させたり、所定の位置に確実に配置したりすることができる。また補助制御工程では、各関節部の角度位置が可動範囲の中央位置近傍にある場合、前記遊端部の動作範囲を広くするために冗長関節部を角変位させるので、前記遊端部はより広い動作範囲内で動作することができる。
【００１９】
また本発明によれば、調査手段は、予め定める冗長関節部を固定した状態で、残余の関節部の角度位置を変化させたときの多関節ロボットの遊端部の動作範囲を、前記冗長関節部が複数の角度位置にある場合について調査する。抽出手段は、前記調査手段によって得られた各動作範囲のうち、予め定める条件を満たす動作範囲となる冗長関節部の角度位置を抽出する。関節部制御手段は、冗長関節部を前記抽出手段によって抽出された角度位置に配置した状態で、残余の関節部を角変位させるように制御する。このように冗長関節部を前記抽出手段によって抽出された角度位置に配置した状態で、残余の関節部を角変位させるように制御することによって、多関節ロボットの遊端部は、前記予め定める動作範囲を連続的に動作することができる。したがって条件毎に冗長関節部の角度位置を抽出しておくことによって、前記条件を満たす動作範囲において多関節ロボットの遊端部を確実に連続的に動作させることができ、作業に応じた制御を簡便に行うことができる。
【００２０】
また本発明によれば、前記予め定める条件を満たす動作範囲は、予め指定された位置を含むので、多関節ロボットの遊端部を前記予め指定された位置に確実に配置することができる。
【００２１】
また本発明によれば、補助制御手段は、少なくとも１つの関節部の角度位置が可動範囲の限界位置に近づいた場合、前記遊端部を予め定める軌道上に保持しながら、前記関節部の角度位置を前記可動範囲の中央位置に近づけるように前記冗長関節部を角変位させる。これによって角度位置が可動範囲の限界位置に近づいていた関節部は、前記可動範囲の中央位置に近づくので、角変位動作することが可能となり、遊端部を所定の位置に配置するための角変位動作を確実に行い、遊端部を所定の動作範囲で動作させたり、所定の位置に確実に配置したりすることができる。また補助制御手段は、各関節部の角度位置が可動範囲の中央位置近傍にある場合、前記遊端部の動作範囲を広くするために冗長関節部を角変位させるので、前記遊端部はより広い動作範囲内で動作することができる。
【発明を実施するための最良の形態】
【００２２】
図１は、本発明の実施の一形態の多関節ロボット１の制御装置２を示すブロック図である。多関節ロボット１は、７自由度を有する冗長自由度のロボットであり、複数の、本実施の形態では６つのアーム体３〜８と、アーム体を回転自在に連結する複数の、本実施の形態では７つの関節部９〜１５とを有する。各アーム体３〜８は、それぞれ連結されて直線状に延びるアーム構成体１６を構成する。
【００２３】
各関節部９〜１５は、同軸関節部と傾斜関節部とが組み合わされて設けられる。同軸関節軸は、隣接する２つのアーム体を、その各アーム体の軸線と同軸の回転軸線まわりに回転自在に連結する。傾斜関節部は、隣接する２つのアーム体のうちの一方を、各アーム体の軸線に対して傾斜する回転軸線まわりに円錐回転自在に連結する。詳細に述べると、第１関節部９、第５関節部１３および第７関節部１５は、同軸関節部であり、第２関節部１０、第３関節部１１、第４関節部１２および第６関節部１４は、傾斜関節部である。また本発明において、用語「回転」とは、回転軸線まわりに３６０度以上の回転だけでなく、回転軸線まわりに３６０度以下の角度で角変位する状態も含むものとする。
【００２４】
アーム構成体１６の一端部である第１アーム体３の一端部は、壁面２０などに固定される基台１７に、第１関節部９によって、第１アーム体３の軸線Ｌ３と同軸の第１回転軸線Ｌ９まわりに回転自在に連結されている。第２アーム体４の一端部は、第２関節部１０によって、第１アーム体３の軸線Ｌ３および第２アーム体４の軸線Ｌ４に対して所定の角度、本実施の形態では４５度で傾斜する第２回転軸線Ｌ１０まわりに回転自在に、第１アーム体３の他端部に連結される。第３アーム体５の一端部は、第３関節部１１によって、第２アーム体４の軸線Ｌ４および第３アーム体５の軸線Ｌ５に対して所定の角度、本実施の形態では４５度で傾斜する第３回転軸線Ｌ１１まわりに回転自在に、第２アーム体４の他端部に連結される。第２回転軸線Ｌ１０と第３回転軸線Ｌ１１とは平行である。
【００２５】
第４アーム体６の一端部は、第４関節部１２によって、第３アーム体５の軸線Ｌ５および第４アーム体６の軸線Ｌ６に対して所定の角度、本実施の形態では４５度で傾斜する第４回転軸線Ｌ１２まわりに回転自在に、第３アーム体５の他端部に連結される。第３回転軸線Ｌ１１と第４回転軸線Ｌ１２とは垂直である。第５アーム体７の一端部は、第５関節部１３によって、第４アーム体６の軸線Ｌ６および第５アーム体７の軸線Ｌ７と同軸の第５回転軸線Ｌ１３まわりに回転自在に、第４アーム体６の他端部に連結される。
【００２６】
アーム構成体１６の他端部である第６アーム体８の一端部は、第６関節部１４によって、第５アーム体７の軸線Ｌ７および第６アーム体８の軸線Ｌ８に対して所定の角度、本実施の形態では４５度で傾斜する第６回転軸線Ｌ１４まわりに回転自在に、第５アーム体７の他端部に連結される。多関節ロボット１の遊端部となるエンドエフェクタ１８は、第６アーム体８の他端部に、第７関節部１５によって、第６アーム体８の軸線Ｌ８と同軸の第７回転軸線Ｌ１５まわりに回転自在に連結されている。エンドエフェクタ１８は、たとえば溶接トーチやハンドリング装置などの手先装置であってもよい。
【００２７】
各アーム体３〜８は、各アーム体３〜８を回転駆動するモータを内蔵する。また各アーム体３〜８は、その軸線を挿通する中空空間が形成される。この中空空間に１または複数の配線が伸びて配置される。各配線は、前記モータを駆動させるための電力、前記モータへの回転指令およびエンドエフェクタ１８への電力および圧縮空気などを供給する。
【００２８】
各アーム体３〜８を回転軸線Ｌ９〜Ｌ１５まわりに回転する回転機構は、従来の機構と同様であってもよい。前記回転機構は、一例を挙げると、中空形状の波動歯車機構、たとえばハーモニックドライブ（登録商標）を用いてもよい。波動歯車機構は、入力側部材と出力側部材とを備え、それらが相対的に回転する。入力側部材は、各関節部９〜１５によって連結する２つの部材（基台およびアーム体）の一方に連結され、出力側部材は、前記２つの部材のうち他方に連結される。モータからの回転が入力側部材に与えられると、入力側部材と出力側部材とが相対的に回転する。これによって一方のアーム体と他方のアーム体とを相対的に回転させることができる。このような回転機構が、各アーム体３〜８に設けられることによって、隣接する２つのアーム体を相対的に回転させることができる。
【００２９】
空間座標系は、図１に示すように、多関節ロボット１の基台１７が固定されている壁面２０に沿う互いに垂直な２つの方向をそれぞれＸ方向およびＹ方向とし、壁面２０に垂直で壁面２０から離反する方向をＺ方向とする。
【００３０】
制御装置２は、中央演算処理部１９を備える。中央演算処理部１９は、たとえばＣＰＵおよびメモリなどで実現され、多関節ロボット１を制御するために必要な演算を行って、その演算結果を動作指令として多関節ロボット１に与える。
【００３１】
図２は、制御装置２の中央演算処理部１９による多関節ロボット１の制御方法の手順を示すフローチャートである。ステップｓ０で手順が開始されてステップｓ１に進む。
【００３２】
調査工程であるステップｓ１では、調査手段である中央演算処理部１９は、予め定める冗長関節部、本実施の形態では第１関節部９を固定した状態で、残余の関節部１０〜１５の角度位置（θ２，θ３，θ４，θ５，θ６，θ７）を変化させたときの多関節ロボット１のエンドエフェクタ１８の動作範囲を、第１関節部９が複数の角度位置θ１にある場合について調査してステップｓ２に進む。
【００３３】
図３〜図１０は、第１関節部９をある角度位置θ１に固定した状態で、残余の関節部である第２〜第７関節部１０〜１５の角度位置（θ２，θ３，θ４，θ５，θ６，θ７）を変化させるシミュレーションを行ったときの、多関節ロボット１のエンドエフェクタ１８の動作範囲を平面Ｘ＝０に限定した場合の、エンドエフェクタ１８近傍にある第６関節部１４の動作範囲を示す図である。図３は、θ１＝０度のときであり、図４は、θ１＝４５度のときであり、図５は、θ１＝９０度のときであり、図６は、θ１＝１３５度のときであり、図７は、θ１＝１８０度のときであり、図８は、θ１＝２２５度のときであり、図９は、θ１＝２７０度のときであり、図１０は、θ１＝３１５度のときである。
【００３４】
抽出工程であるステップｓ２では、抽出手段である中央演算処理部１９は、ステップｓ１において得られた各動作範囲のうち、予め定める条件を満たす動作範囲となる冗長関節部の角度位置θ１を抽出してステップｓ３に進む。
【００３５】
図５および図９に示すように、第１関節部９の角度位置θ１が９０度および２７０度のとき、他の図３、図４、図６〜図８、図１０に示す角度位置θ１に比べて連続的に動作可能な動作範囲が広いことがわかる。また図３および図７に示すように、第１関節部９の角度位置θ１が０度および１８０度のとき、他の図４〜図６、図８〜図１０に示す角度位置θ１に比べて連続的に動作可能な動作範囲が狭いことがわかる。また図３および図７に示すように、第１関節部９の角度位置θ１が０度および１８０度のとき、動作範囲が２つに分かれており、このとき多関節ロボット１のエンドエフェクタ１８は、一方の動作範囲から他方の動作範囲に直接連続的に移動することができない。しかし第１関節部９の角度位置θ１が９０度および２７０度のときは、平面Ｘ＝０におけるＺ方向の下限はＺ＝１０００ミリメートル程度であるけれども、θ１が０度および１８０度のときは、平面Ｘ＝０におけるＺ方向の下限はＺ＝２００ミリメートル程度にまですることができる。
【００３６】
したがってエンドエフェクタ１８が連続的に動作可能な広い動作範囲を得たい場合には、第１関節部９の角度位置θ１をたとえば９０度および２７０度にしてもよく、エンドエフェクタ１８をＺ軸方向の値の小さい位置に配置したい場合には、第１関節部９の角度位置θ１を０度および１８０度にしてもよい。このように予め指定されるエンドエフェクタ１８を配置したい位置を含む動作範囲、換言すれば予め定める条件を満たす動作範囲に基づいて、第１関節部９の角度位置θ１を任意の値に切換えるようなスイッチを制御装置２に設けることで、操作者が前記スイッチを切換操作することによってエンドエフェクタ１８を所望の位置に容易に配置することができる。
【００３７】
関節部制御工程であるステップｓ３では、関節部制御手段である中央演算処理部１９は、冗長関節部である第１関節部９をステップｓ２において抽出された角度位置に配置した状態で、残余の関節部１０〜１５を角変位させるように制御してステップｓ４に進み、全ての手順を終了する。ステップｓ３では、抽出された第１関節部９の角度位置のうち、前記第１関節部９の現在の角度位置に近い方が設定される。
【００３８】
以上のように多関節ロボット１のエンドエフェクタ１８の動作範囲がＸ＝０の平面内に限定される場合には、冗長関節部である第１関節部９の角度位置θ１を容易に導出することができる。また多関節ロボット１のエンドエフェクタ１８の動作範囲がＸ＝０の平面内に限定されない場合には、たとえば９０度および２７０度の代わりに、θ１＝｛ｔａｎ−１（ｙ／ｘ）＋９０｝度およびθ１＝｛ｔａｎ−１（ｙ／ｘ）＋２７０｝度とすればよい。ここでｘはエンドエフェクタ１８のＸ方向の座標であり、ｙはエンドエフェクタ１８のＹ方向の座標であり、ｔａｎ−１は逆正接関数である。同様に０度および１８０度の代わりには、θ１＝ｔａｎ−１（ｙ／ｘ）度およびθ１＝｛ｔａｎ−１（ｙ／ｘ）＋１８０｝度とすればよい。このように多関節ロボット１のエンドエフェクタ１８の動作範囲がＸ＝０の平面内に限定されない場合でも、冗長関節部である第１関節部９の角度位置θ１を容易に導出することができる。したがってどのような動作範囲であっても、冗長関節部である第１関節部９の角度位置θ１を容易に導出することができる。
【００３９】
以上のように本実施の形態では、第１関節部９を冗長関節部としたけれども、第１〜第４関節部９〜１２のいずれか１つを冗長関節部にしてもよく、冗長関節部となった第１〜第４関節部９〜１２に関して、前述の図２に示すフローチャートの手順を行うことができる。このように冗長関節部を抽出工程において抽出された角度位置に配置した状態で、残余の関節部を角変位させるように制御することによって、多関節ロボット１のエンドエフェクタ１８は、前記予め定める動作範囲を連続的に動作することができる。したがって条件毎に冗長関節部の角度位置を抽出しておくことによって、前記条件を満たす動作範囲において多関節ロボット１のエンドエフェクタ１８を確実に連続的に動作させることができ、このような制御を簡便に行うことができる。。
【００４０】
また本実施の形態では、冗長関節部とした第１関節部９の固定する角度位置θ１を０度、４５度、９０度、１３５度、１８０度、２２５度、２７０度、３１５度と、０度から４５度刻みとしたけれども、これに限ることはない。前記角度位置θ１は、たとえば０度から１０度刻みで、０度、１０度、２０度、…、３４０度、３５０度と設定してもよいし、０度から３０度刻みで、０度、３０度、６０度、…、３００度、３３０度と設定してもよい。
【００４１】
また前述の制御方法は、少なくとも１つの関節部の角度位置が可動範囲の限界位置に近づいた場合、エンドエフェクタ１８を予め定める軌道上に保持しながら、当該関節部の角度位置を前記可動範囲の中央位置に近づけるように冗長関節部を角変位させ、各関節部の角度位置が可動範囲の中央位置近傍にある場合、エンドエフェクタ１８の動作範囲を広くするために冗長関節部を角変位させる補助制御工程をさらに含むようにしてもよい。
【００４２】
具体的には、まずエンドエフェクタ１８を予め定める軌道上に保持して、エンドエフェクタ１８の位置および姿勢を保持した状態で、予め定める冗長関節部の変位角度量Δθだけ現在の角度位置からプラス方向に角変位させたときの残余の関節部の角度位置を、逆変換によって求める。
【００４３】
続いてエンドエフェクタ１８を予め定める軌道上に保持して、エンドエフェクタ１８の位置および姿勢を保持した状態で、予め定める冗長関節部の変位角度量Δθだけ現在の角度位置からマイナス方向に角変位させたときの残余の関節部の角度位置を、逆変換によって求める。
【００４４】
続いて、このようにして求められた冗長関節部を除く残余の関節部の角度位置から、可動範囲の限界位置に近づいた関節軸の角度を、冗長関節部をプラス方向に角変位させたときとマイナス方向に角変位させたときとで比較して、限界位置から遠い方を採用する。
【００４５】
また多関節ロボット１の各関節部９〜１５は、可動範囲がたとえば−１８０度以上、＋１８０度以下のように予め決まっており、これを超えて関節部を角変位させることはできない。このように各関節部９〜１５が可動範囲を超えて角変位することを回避するためには、少なくとも１つの関節部が可動範囲の限界位置に近づいたときに、当該関節部を可動範囲の中央位置に引き戻すように冗長関節部を角変位させることによって、各関節部の可動範囲に由来する問題点を取除くことができる。
【００４６】
これによって角度位置が可動範囲の限界位置に近づいていた関節部は、前記可動範囲の中央位置に近づくので、角変位動作することが可能となり、エンドエフェクタ１８を所定の位置に配置するための角変位動作を確実に行い、エンドエフェクタ１８を所定の動作範囲で動作させたり、所定の位置に確実に配置したりすることができる。また補助制御工程では、各関節部の角度位置が可動範囲の中央位置近傍にある場合、エンドエフェクタ１８の動作範囲を広くするために冗長関節部を角変位させるので、エンドエフェクタ１８はより広い動作範囲内で動作することができる。
【００４７】
本実施の形態において、予め定める軌道とは、ロボットが行う作業に応じて、たとえばアーク溶接時の溶接線、またはマテリアルハンドリング時の荷物の通過軌道に応じて、操作者がオンラインまたはオフラインで教示する軌道である。
【図面の簡単な説明】
【００４８】
【図１】本発明の実施の一形態の多関節ロボット１の制御装置２を示すブロック図である。
【図２】制御装置２の中央演算処理部１９による多関節ロボット１の制御方法の手順を示すフローチャートである。
【図３】第１関節部９を角度位置θ１＝０度に固定した状態で、残余の関節部である第２〜第７関節部１０〜１５の角度位置（θ２，θ３，θ４，θ５，θ６，θ７）を変化させるシミュレーションを行ったときの、多関節ロボット１のエンドエフェクタ１８の動作範囲を平面Ｘ＝０に限定した場合の、エンドエフェクタ１８近傍にある第６関節部１４の動作範囲を示す図である。
【図４】第１関節部９を角度位置θ１＝４５度に固定した状態で、残余の関節部である第２〜第７関節部１０〜１５の角度位置（θ２，θ３，θ４，θ５，θ６，θ７）を変化させるシミュレーションを行ったときの、多関節ロボット１のエンドエフェクタ１８の動作範囲を平面Ｘ＝０に限定した場合の、エンドエフェクタ１８近傍にある第６関節部１４の動作範囲を示す図である。
【図５】第１関節部９を角度位置θ１＝９０度に固定した状態で、残余の関節部である第２〜第７関節部１０〜１５の角度位置（θ２，θ３，θ４，θ５，θ６，θ７）を変化させるシミュレーションを行ったときの、多関節ロボット１のエンドエフェクタ１８の動作範囲を平面Ｘ＝０に限定した場合の、エンドエフェクタ１８近傍にある第６関節部１４の動作範囲を示す図である。
【図６】第１関節部９を角度位置θ１＝１３５度に固定した状態で、残余の関節部である第２〜第７関節部１０〜１５の角度位置（θ２，θ３，θ４，θ５，θ６，θ７）を変化させるシミュレーションを行ったときの、多関節ロボット１のエンドエフェクタ１８の動作範囲を平面Ｘ＝０に限定した場合の、エンドエフェクタ１８近傍にある第６関節部１４の動作範囲を示す図である。
【図７】第１関節部９を角度位置θ１＝１８０度に固定した状態で、残余の関節部である第２〜第７関節部１０〜１５の角度位置（θ２，θ３，θ４，θ５，θ６，θ７）を変化させるシミュレーションを行ったときの、多関節ロボット１のエンドエフェクタ１８の動作範囲を平面Ｘ＝０に限定した場合の、エンドエフェクタ１８近傍にある第６関節部１４の動作範囲を示す図である。
【図８】第１関節部９を角度位置θ１＝２２５度に固定した状態で、残余の関節部である第２〜第７関節部１０〜１５の角度位置（θ２，θ３，θ４，θ５，θ６，θ７）を変化させるシミュレーションを行ったときの、多関節ロボット１のエンドエフェクタ１８の動作範囲を平面Ｘ＝０に限定した場合の、エンドエフェクタ１８近傍にある第６関節部１４の動作範囲を示す図である。
【図９】第１関節部９を角度位置θ１＝２７０度に固定した状態で、残余の関節部である第２〜第７関節部１０〜１５の角度位置（θ２，θ３，θ４，θ５，θ６，θ７）を変化させるシミュレーションを行ったときの、多関節ロボット１のエンドエフェクタ１８の動作範囲を平面Ｘ＝０に限定した場合の、エンドエフェクタ１８近傍にある第６関節部１４の動作範囲を示す図である。
【図１０】第１関節部９を角度位置θ１＝３１５度に固定した状態で、残余の関節部である第２〜第７関節部１０〜１５の角度位置（θ２，θ３，θ４，θ５，θ６，θ７）を変化させるシミュレーションを行ったときの、多関節ロボット１のエンドエフェクタ１８の動作範囲を平面Ｘ＝０に限定した場合の、エンドエフェクタ１８近傍にある第６関節部１４の動作範囲を示す図である。
【符号の説明】
【００４９】
１  多関節ロボット
２  制御装置
９〜１５  関節部
１８  エンドエフェクタ
１９  中央演算処理部
【図１】
2005199412.tif 000003
【図２】
2005199412.tif 000004
【図３】
2005199412.tif 000005
【図４】
2005199412.tif 000006
【図５】
2005199412.tif 000007
【図６】
2005199412.tif 000008
【図７】
2005199412.tif 000009
【図８】
2005199412.tif 000010
【図９】
2005199412.tif 000011
【図１０】
2005199412.tif 000012