(57)【特許請求の範囲】
【請求項１】
ロボットハンドの補間動作を微小区間の点列に従って順次移動させることにより行い、前記ロボットハンドを所定の経路に沿って移動させるようにしたロボットの制御方法において、前記ロボットハンドを支持するアームを複数のアームを有する多関節アームにより構成し、前記ロボットハンドに対して与えられた指令線速度に対して前記点列毎に前記ロボットハンドを支持する前記複数のアームのそれぞれのジョイント部における角速度を計算して求める一方、前記複数のアームのそれぞれのジョイント部における最大許容角速度を、前記ジョイント部における当該アームの物理的限界である最大角速度よりも小さい値に予め設定しておき、前記計算して求めた角速度をそれぞれ対応する前記ジョイント部における最大許容角速度と比較し、当該計算して求めた角速度がそれぞれ前記最大許容角速度以下である場合には前記与えられた指令線速度に従い前記ロボットハンドを移動させ、その一方で、前記計算して求めた角速度が前記最大許容角速度より大きいジョイント部がある場合は前記最大許容角速度と前記計算して求めた角速度の比率で前記指令線速度を低減修正し、当該低減後の線速度に基づき前記ジョイント部における角速度を再計算し、当該再計算して求めた角速度を前記最大角速度そのものの値と比較して、当該再計算して求めた角速度がこの最大角速度以下である場合には前記低減後の線速度に従い前記ロボットハンドを移動させることを特徴とするロボットの制御方法。
【請求項２】
前記最大許容角速度を前記最大角速度の所定割合に設定しておくとともに、前記所定割合を変更できるようにしてなることを特徴とする請求項１記載のロボットの制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ロボットの制御方法に関する。更に詳述すると、本発明は、多関節ロボットのアームを補間動作する方法の改良に関する。
【０００２】
【従来の技術】
ロボットの補間動作による制御が、カーテシアン座標上の軌跡を所望のものにし、かつ図４に示すようにカーテシアン座標上の線速度を一定にするために行われている。たとえば特開平４−１６７００４号では、指定された線速度による動作時間と関節軸の最大角速度を求め、同じ距離を動作する場合の動作時間の最大値を新たな動作時間として線速度一定で動作させようというロボットの制御方法が提案されている。また特公平１−４４４７６号では、サンプリング時間毎に線速度から関節角速度を計算し、それが最大角速度を越える場合は関節角速度を比例的に減少させる産業用ロボットの制御方法が提案されている。
【０００３】
【発明が解決しようとする課題】
しかしながら、多関節ロボットでは、ロボット関節の軸速度の制限とロボットアームの運動学上の制約を伴うことから、アーム姿勢によっては所望の線速度が得られないことがあるという問題があり、このような場合、従来のロボットコントローラでは、線速度を落として各関節の角速度が最大角速度以内になるように設定することしかできなかった。塗装や溶接などの用途では線速度が重要となるためこれでもよいが、昨今の液晶や半導体関連のハンドリング操作等では、クリアランスの少ないカセット等への挿入・抜き取り作業のため、たとえ線速度が図５に示すように一定とならなくても、線軌跡を保ってその姿勢でなるべく速く動作することが重要となる。このような場合、シリアルリンク型のロボットアームでは、線速度が動作途中で遅くなっても線軌跡を保ちながら動作し続けることが重要になり、さもなければ特異点近傍での極低速に合わせて特異点から遠い位置における速度も遅くなってしまって全体の速度パフォーマンスが劣化することになる。
【０００４】
また、特開平４−１６７００４号記載のロボットの制御方法では、関節の最大角速度に応じて目標点までの線速度を一律に減少させるため、動作途中で関節の最大角速度を越える場合があり、上記のように線軌跡を保つには不向きである。さらに特公平１−４４４７６号記載の産業用ロボットの制御方法では、関節の角速度を比例的に減少させるため、離散的な軌跡指令を生成するロボット制御装置の場合は生成された離散点間の移動でヤコビ行列が変化してしまい、実際には関節角速度と線速度は比例しなくなるため軌跡が当初の計画に対してずれるという不具合が生じてしまう。
【０００５】
そこで、本発明は、所望の移動軌跡を維持するとともに、アームのジョイント部における角速度を物理的限界内に保ちながら速い動作を行うことができるロボットの制御方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
かかる目的を達成するため、請求項１記載の発明では、ロボットハンドの補間動作を微小区間の点列に従って順次移動させることにより行い、ロボットハンドを所定の経路に沿って移動させるようにしたロボットの制御方法において、ロボットハンドを支持するアームを複数のアームを有する多関節アームにより構成し、ロボットハンドに対して与えられた指令線速度に対して点列毎にロボットハンドを支持する複数のアームのそれぞれのジョイント部における角速度を計算して求める一方、複数のアームのそれぞれのジョイント部における最大許容角速度を、ジョイント部における当該アームの物理的限界である最大角速度よりも小さい値に予め設定しておき、計算して求めた角速度をそれぞれ対応するジョイント部における最大許容角速度と比較し、当該計算して求めた角速度がそれぞれ最大許容角速度以下である場合には与えられた指令線速度に従いロボットハンドを移動させ、その一方で、計算して求めた角速度が最大許容角速度より大きいジョイント部がある場合は最大許容角速度と計算して求めた角速度の比率で指令線速度を低減修正し、当該低減後の線速度に基づきジョイント部における角速度を再計算し、当該再計算して求めた角速度を最大角速度そのものの値と比較して、当該再計算して求めた角速度がこの最大角速度以下である場合には低減後の線速度に従いロボットハンドを移動させるようにしている。
【０００７】
したがって、アームは、ロボットハンドの所望の軌跡を維持しながら、そのジョイント部における角速度が最大許容角速度を上回ることのない範囲内で旋回運動を行うようになる。よって、アームにおける角速度オーバーを防止しながら、この範囲内における速度パフォーマンスを向上させることができるようになる。
【０００８】
また、ロボットハンドを支持するアームを複数のアームを有する多関節アームにより構成し、複数のアームのそれぞれのジョイント部に対して最大許容角速度を予め設定するとともに計算して求めた角速度と比較するようにしているので、いずれのアームとも、ジョイント部における角速度が最大許容角速度を上回ることのないようにして旋回運動を行い得るようになる。
【０００９】
さらに請求項１記載の発明では、最大許容角速度はジョイント部における最大角速度より小さい値に設定しておく一方、指令線速度を修正した後は最大許容角速度を最大角速度として再計算して求めた角速度と比較するようにしている。
【００１０】
この場合、ロボットハンドにある指令線速度を与えるとともにそれにより計算された角速度を、まず、各ジョイント部における角速度の物理的限界である最大角速度よりも小さい値で評価制限している。角速度がその制限値を越える場合は、制限値と角速度の比率に応じて与えられた線速度を低減修正し、その低減された線速度により再計算された次点への角速度を今度は、最大角速度の１００％で評価制限し、これを越えなければそのまま動作させるようにしている。このため、一回の再計算で、最大角速度を越えずに、当初計画された軌道からずれることなく動作させることができるようになる。
【００１１】
請求項２記載のロボットの制御方法においては、最大許容角速度を最大角速度の所定割合に設定しておくとともに、所定割合を変更できるようにしている。この場合、最大許容角速度が最大角速度に対してどのくらいの割合とされるのが適当であるかはそのロボットアームや動作位置、速度等に依存していることから、この最大許容角速度を自由に調節できるプログラマブルなものとしておくことで、種々の場合に柔軟に対応させることができる。
【００１４】
【発明の実施の形態】
以下、本発明の構成を図面に示す実施の形態の一例に基づいて詳細に説明する。
【００１５】
図１および図２に本発明のロボットの制御方法の一実施形態を示す。このロボットの制御方法では、ロボットハンド１の補間動作を微小区間の点列Ｐ，…，Ｐに従って順次移動させることにより行い、ロボットハンド１を所定の経路に沿って移動させるようにしている。すなわち、図１に示すように所望の軌跡（たとえば直線）上に点列Ｐ，…，Ｐを設け、その点列Ｐ，…，Ｐ上を辿るようにロボットハンド１を移動させている。ここでは、点列Ｐ，…，Ｐのうち距離Ｄをおいて隣り合う点Ｐ１，Ｐ２を例示し、わかり易くその間を大きく開いて示している。そして、ロボットハンド１にある指令線速度を与えて軌跡上を一定の速度で移動させ、さらにロボットハンド１を支持するアーム２のジョイント部３における点列Ｐ，…，Ｐ毎の角速度を計算して求める。本実施形態では図１に示すように、冗長な軸を持たないため各アーム２１，２２の位置が一義的に定まる２関節型ロボットを例として挙げており、この場合には両アーム２１，２２全体としてアーム２とし、アーム２１の旋回中心をジョイント部３として考える。
【００１６】
一方、ジョイント部３における最大許容角速度ωmax’を予め設定しておき、計算して求めた角速度ωをこの最大許容角速度ωmax’と比較し、計算して求めた角速度ωが最大許容角速度ωmax’より大きい場合は指令線速度ｖを修正してジョイント部３における角速度ωを最大許容角速度ωmax’以内とするようにしている。この際、図２に示すように、ロボットハンド１にある指令線速度ｖを与えるとともにそれにより計算された角速度ωを、まず、ジョイント部３の角速度ωの物理的限界である最大角速度ωmaxよりも小さい値で評価制限し、角速度ωがその値を越える場合は、制限値（最大角速度ωmax）と角速度ωの比率に応じて与えられた線速度ｖを低減修正し、その低減された線速度により再計算された次点への角速度ωを今度は、最大角速度ωmaxの１００％で評価制限し、これを越えなければそのまま補間動作を終了させるようにしている。
【００１７】
このような本発明のロボットの制御方法の理論を以下に述べる。ロボットの制御を行うにあたり、カーテシアン座標上の線速度ベクトルｖ（ｔ）、ロボットジョイント角速度ベクトルω（ｔ）は、ヤコビ行列Ｊ（θ）によって数式１のように関係づけられる。
【００１８】
【数１】
ｖ（ｔ）＝Ｊ（θ）・ω（ｔ）
そこで、θの変化が十分に小さい場合、Ｊ（θ）を一定とみなし、ジョイント角速度ベクトルω（ｔ）をα倍（α＜１）して減少させると、数式２に示すようになり、
【００１９】
【数２】
αｖ（ｔ）＝Ｊ（θ）・αω（ｔ）
カーテシアン座標上の線速度ベクトルｖ（ｔ）もα倍されることになる。ここで、ある値の線速度ｖの時のジョイント角速度ωがジョイント角速度の物理的限界値であるωmaxを越えてしまっている（ωmax＜ω）場合、その最大ジョイント角速度ωmaxとωとの比をα（α＜１）とすれば（ωmax＝αω）、このときの線速度ｖ’とｖの比もαとなる（ｖ’＝αｖ）。したがって、ジョイント角速度ωの減少比率と同じ比率でカーテシアン座標上の線速度ｖを減少させ再計算することで、線軌跡を維持したままジョイント部の最大角速度ωmaxの制限範囲内においてカーテシアン線速度ｖを減少させることができる。
【００２０】
しかしながら、実際のロボット制御装置では補間動作の軌跡指令を連続的に発生させることができず、たとえば一定の微少時間間隔毎に離散化した複数の座標点で表すなど、カーテシアン座標上の連続的な指令軌跡を分割して離散化した点列Ｐ，…，Ｐで表している。そして、これらの点列Ｐ，…，Ｐ間をＰＴＰ（ポイント・ツー・ポイント）動作で結んで連続的な軌跡制御を行っている。つまり、点列Ｐ，…，Ｐ間のカーテシアン座標から逆運動学を解いて必要な各ジョイント部３の角位置および角速度ωを求め、それに応じて各ジョイント部３を動作させている。
【００２１】
このため、たとえばＰ１とＰ２のように、隣り合う点同士の間では僅かながら位置が異なるためヤコビ行列Ｊ（θ）も異なっているけれども、θの変化が微少な場合はＪ（θ）の違いも小さく、先の線速度ベクトルｖ（ｔ）と角速度ベクトルω（ｔ）の比例関係も近似的に成り立っている。一方、ロボットアームの特異点近傍では大きな線速度ｖを出そうとするとθの変化が大きくなりヤコビ行列も変化するため、上述した理論の前提条件であるθの変化が十分に小さい場合というのは成り立たなくなる。このような場合は、ジョイント部３の角速度制限（最大角速度ωmaxを越えてはならないこと）から上記比例関係で求めた線速度ｖに修正してもなお、次点（隣の点）へのＰＴＰ動作時にジョイント部３の角速度制限を越えてしまう場合が生じてくる。
【００２２】
そこで、最大許容角速度ωmax’という概念を導入し、このように個々の点列Ｐ，…，Ｐ間でＰＴＰ動作をさせる場合に、最大許容角速度ωmax’をジョイント部３における最大角速度ωmaxより小さい値に設定しておく（ωmax’＜ωmax）一方、指令線速度ｖを修正した後は最大許容角速度ωmax’を最大角速度ωmaxとして再計算して求めた角速度ωと比較するようにしている。これを図１を用いて説明すると、時間当たりの移動距離をＤより小さくし、動作点Ｐ２をＰ２’へ変えたことに対応する角速度が最大許容角速度ωmax’ということになる。つまり、与えられた指令線速度ｖ、およびそれにより計算された角速度ωを、まず、ジョイント部３の角速度ωの物理的限界である最大角速度ωmaxの１００％よりも小さい値（ここでは最大許容角速度ωmax’）で評価制限し、角速度ωがその制限値（つまり最大許容角速度ωmax’）を越える場合は、制限値ωmax’と角速度ωの比率に応じて与えられた線速度ｖを低減修正し、その低減された線速度ｖにより再計算された次点への角速度ωを今度は、最大角速度ωmaxの１００％の値（つまり最大角速度ωmaxそのものの値）で評価制限し、これを越えなければそのまま動作させるようにしている。
【００２３】
こうすることで、最大許容角速度ωmax’を最大角速度ωmaxの所定割合に設定しておくとともに、最初の制限を最大角速度ωmaxの何％にするかを、そのときのアームの位置によって自動的に設定するようにし、場合に応じてプログラマブルな対応が可能となるように所定割合を変更できるようにしている。即ち、その所定割合が適当であるかどうかはそのロボットアームの動作位置、速度等に依存しており、その値が大きすぎればロボットがすぐに動作不能となる一方、小さすぎれば物理的限界に対するロボット性能を十分にひきだすことができなくなるため、これを自由に調節可能とすることで種々の場合に柔軟に対応できるようにしている。このように最大許容角速度ωmax’は適宜変更され、特異点近傍でヤコビ行列Ｊ（θ）が変化する場合でも、一回の再計算で、最大角速度ωmaxを越えずに動作させることができる。
【００２４】
このようなロボット制御方法によれば、各軸の角速度オーバーを防ぎ、線軌跡を維持しつつ線速度を変化させて動作させることができる。また角速度の評価レートをプログラマブルにすることで、ロボットや用途に応じて無理のない角速度の評価レートを設定できるようになる。
【００２５】
なお、上述の実施形態は本発明の好適な実施の一例ではあるがこれに限定されるものではなく本発明の要旨を逸脱しない範囲において種々変形実施可能である。たとえば、本実施形態では図１に示したように、ロボットハンド１の所定の経路を直線とした場合を説明したが、特にこのような直線に限られることはなく、円弧形状など他の形状を経路としたような場合にあっても本発明は実施可能である。
【００２６】
また本実施形態ではロボットとして２関節型のものを例として説明したが、本発明を実施し得るロボットはこのようなものに特に限られない。たとえば、ロボットハンド１を支持するアームを複数のアーム２，…，２を有する多関節アームにより構成し、複数のアーム２，…，２のそれぞれのジョイント部３，…，３に対して最大許容角速度を予め設定するとともに計算して求めた角速度と比較するようにしても良い。図３に示すようなアーム２１，２２，２３を有する３関節型ロボットについては、ある拘束条件がなければ冗長となるため、各アーム２１，２２，２３の旋回中心それぞれがジョイント部３となり得る。したがってこのような場合には、上述した実施形態で求めたジョイント部３における角速度を、各ジョイント部３，…，３について同時に求めるようにすれば良い。即ち、各ジョイント部３，…，３についてそれぞれ最大許容角速度を設定し、これら最大許容角速度に対するジョイント部３，…，３において適する各角速度を、上述したのと同様にしてそれぞれ求めるようにすれば良い。
【００２７】
【発明の効果】
以上の説明より明らかなように、請求項１記載の発明のロボットの制御方法では、ロボットハンドに対して与えられた指令線速度に対して点列毎にロボットハンドを支持するアームのジョイント部における角速度を計算して求める一方、ジョイント部における最大許容角速度を予め設定しておき、計算して求めた角速度を最大許容角速度と比較し、この計算して求めた角速度が最大許容角速度より大きい場合は指令線速度を修正してジョイント部における角速度を最大許容角速度以内としているので、アームを、そのジョイント部における角速度が最大許容角速度を上回ることのない範囲内で旋回運動させ得るようになる。したがって、各軸の角速度オーバーを防ぎ、線軌跡を維持しつつ線速度を変化させて可能な限り早く簡単に動作させ、速度パフォーマンスを向上させることができる。また、角速度の評価レートをプログラマブルにすることで、ロボットや用途に応じて無理のない角速度の評価レートを設定できるようになる。さらに、角速度評価レートをロボットと角度に応じて自動的に設定できることで、操作者はロボットの違いを考慮することなく、簡単に確実に補間動作をさせることができる。
【００２８】
また請求項１記載の発明のロボットの制御方法では、ロボットハンドを支持するアームを複数のアームを有する多関節アームにより構成し、複数のアームのそれぞれのジョイント部に対して最大許容角速度を予め設定するとともに計算して求めた角速度と比較するようにしているので、いずれのアームにも、ジョイント部における角速度が最大許容角速度を上回ることのないようにして速い旋回運動を行わせることができる。
【００２９】
さらに請求項１記載の発明のロボットの制御方法では、最大許容角速度はジョイント部における最大角速度より小さい値に設定しておく一方、指令線速度を修正した後は最大許容角速度を最大角速度として再計算して求めた角速度と比較するようにしているので、一回の再計算を行うのみで、角速度を最大角速度を越えない範囲内で速く設定することができ、かつロボットハンドを当初計画された軌道からずらすようなことがない。
【００３０】
また請求項２記載の発明のロボットの制御方法では、最大許容角速度を最大角速度の所定割合に設定しておくとともに、所定割合を変更できるようにしているので、この最大許容角速度が自由に調節され得るプログラマブルなものとすることができる。これにより、動作位置や速度等に依存している最大角速度に対する所定割合を変化させ種々の場合に柔軟に対応させることができる。
【図面の簡単な説明】
【図１】本発明のロボットの制御方法の一実施形態として、２関節型ロボットを例として示す概略図である。
【図２】本発明のロボットの制御方法の流れを示すフロー図である。
【図３】本発明のロボットの制御方法の別の実施形態として、３関節型ロボットを例として示す概略図である。
【図４】ロボットにおける線速度一定の直線補間動作を示す概略図である。
【図５】ロボットにおける線速度不定の直線補間動作を示す概略図である。
【符号の説明】
１  ロボットハンド
２  アーム
３  ジョイント部
ｖ  指令線速度
ω  角速度
ωmax  最大角速度
ωmax’  最大許容角速度
【図１】
0003732938.tif 000002
【図２】
0003732938.tif 000003
【図３】
0003732938.tif 000004
【図４】
0003732938.tif 000005
【図５】
0003732938.tif 000006