(57)【要約】  【課題】  高い計算能力を要せず簡単な計算で精度よく、姿勢に応じた最大加速度を求めて、低コストにロボット動作の高速化をはかる。  【解決手段】  ロボットアーム５の現在位置と目標位置から姿勢算出部７で各位置での姿勢を求め、その姿勢情報から、許容最大加速度算出部８において、アームの各回転軸廻りの慣性項およびアームの加速方向を加味した重力項を求め、これらに所定の係数を乗算して和算し、さらにさらにこれとロボットアーム５の最大負荷姿勢時の許容最大加速度とを乗算した値を、最大負荷姿勢時の許容最大加速度に付加して、現在位置と目標位置での許容最大加速度を算出する。【選択図】  図１
2006119958.tif 000002
【特許請求の範囲】
【請求項１】
モータによって駆動する複数の回転軸を有する回転アームを備え、予め教示されたプログラムに従って動作する多間接型ロボットの制御装置であって、前記モータの現在位置と目標位置の回転位置情報から算出する該当の回転軸廻りのアームの慣性項と、前記アームを加速する方向情報を加味して算出する重力項とにより前記回転軸の現在位置と目標位置での許容最大加速度を算出する手段を設けたロボットの制御装置。
【請求項２】
複数の各回転軸について許容最大加速度を算出する手段を備えた請求項１記載のロボットの制御装置。
【請求項３】
所定の係数をそれぞれ乗算して算出する慣性項と重力項とを和算しロボットアームの最大負荷姿勢時の許容最大加速度と乗算した値を、最大負荷姿勢時の許容最大加速度に付加して該当の回転軸の現在位置と目標位置での許容最大加速度を算出する手段を設けたロボットの制御装置。
【請求項４】
モータによって駆動する複数の回転軸を有する回転アームを備え、予め教示されたプログラムに従って動作する多間接型ロボットの制御方法であって、前記モータの現在位置と目標位置の回転位置情報から算出する該当の回転軸廻りのアームの慣性項と、前記アームを加速する方向情報を加味して算出する重力項とにより前記回転軸の現在位置と目標位置での許容最大加速度を算出するロボットの制御方法。
【請求項５】
複数の各回転軸について許容最大加速度を算出する請求項１記載のロボットの制御方法。
【請求項６】
所定の係数をそれぞれ乗算して算出する慣性項と重力項とを和算しロボットアームの最大負荷姿勢時の許容最大加速度と乗算した値を、最大負荷姿勢時の許容最大加速度に付加して該当の回転軸の現在位置と目標位置での許容最大加速度を算出するロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの動作制御に係るロボットの制御装置およびその制御方法に関する。
【背景技術】
【０００２】
図７に、複数の回転軸を備えた多関節型ロボットの制御装置の一般的な構成を示す。
【０００３】
動作プログラム１１には、教示点位置、教示点間の補間形態、移動速度もしくは移動時間が記述してある。
【０００４】
これに従って補間部１２は、ロボットアーム１５が教示点間を移動動作するための各関節軸の移動指令を生成する。
【０００５】
この移動指令は単位時間当りの移動量で、補間データと呼ぶこともある。この移動指令は、各軸同時に移動を開始し、同時に移動を終了して目標点に到達するように形成される。
【０００６】
加減速処理部１３は、この各軸の移動指令に対して加減速処理し、図８に示すように、移動開始時の加速処理、目標点到達時の減速処理を施した各軸移動指令を生成する。
【０００７】
サーボ１４は、この加減速処理された各軸移動指令に基づいて、各軸モータの制御を行いロボットアーム１５を駆動する。
【０００８】
加減速処理部１３で加減速処理を行うとき、加速のときの加速時間、減速のときの減速時間は、全軸同一とするのが一般的である（図８参照）。
【０００９】
このために、加減速時間算出部１６において、各軸それぞれの設定加速度と目標速度から各軸それぞれの加速時間を求め、これら各軸の加速時間の中で、最も大きいものを全体の加速時間として求める。目標点への減速時間についても同様である。
【００１０】
ここで、設定加速度は各軸がもつ固定値であり、ロボットがどのような姿勢においても、この設定加速度を用いて加減速時間を求める限り、各軸の機構部にかかるトルクはその許容範囲を超えることがない値である。
【００１１】
この設定加速度は次のようにして決める。すなわち、ロボットに最も負担のかかる動作（ロボットを水平にできるだけ伸ばした姿勢で振り上げ動作をさせる等）をさせたときにトルクが許容値を超えない範囲で、できるだけ大きな値となるように決める。
【００１２】
さて、ロボットの実際の運用において、溶接等低速で動作する作業区間以外への教示点への空走移動、ハンドリング作業等では、できるだけ短時間で目標点へ移動することが要求される。
【００１３】
この場合、ある軸が最高速度に達するように全体の移動時間が決められ、補間部２にて移動指令が生成される。各軸の最大速度は限られているので、このようにしてきめられた移動時間が最短となる。
【００１４】
さらに全体の移動時間を短縮するためには、加速時間と減速時間を短縮すればよい。
【００１５】
そのためには、ロボットアーム機構部のトルクが許容する範囲内で、加速度を最大にすることが必要である。
【００１６】
これを許許容最大加速度とすれば、それは（数１）のように求められる。
【００１７】
【数１】
2006119958.tif 000003
【００１８】
ここで、許容最大トルクとは、モータもしくは減速機の機械的仕様から許される最大のトルクである。さらに、重力トルクはアームおよびアームに取付けた負荷による重力モーメントであり、軸間干渉トルクは、遠心力、コリオリ力といった、アームが動作するときに他の軸から受ける干渉力であり、摩擦トルクは回転軸部に存在する摩擦等の抵抗力である。さらに、慣性はモータおよびアームの慣性の和である。
【００１９】
（数１）が示すように、許容最大加速度はロボットの姿勢によって変わる。これは、ロボットの姿勢によって、重力トルク、軸間干渉トルク、慣性が変わることによる。
【００２０】
特に、重力トルク、慣性は、軸間干渉トルクに比べて影響の割合は大きい。
【００２１】
さて、先に述べた設定加速度を求める方法では、アームを伸ばす等のロボットに最も負担のかかる状態で加速度を決めて、それをどの姿勢においても適用している。そのため、アームを縮めた姿勢では、加減速時にトルクを十分に出しきってはおらず、移動時間の短縮が十分にはかられているとは言えない。
【００２２】
そこで、姿勢に応じて加速度を変えるべく、加減速時間をアーム先端の位置の２次関数で表して決めるという方法がある（例えば特許文献１参照）。
【００２３】
また、アームダイナミクスの計算に基づいて、姿勢毎の重力トルク、軸間干渉トルク、慣性を正確に見積もった上で、姿勢毎の許容最大加速度を求めるという方法がある（例えば特許文献２参照）。
【特許文献１】特開平１１−１０２２１５号公報
【特許文献２】特開２００２−９１５７２号公報
【発明の開示】
【発明が解決しようとする課題】
【００２４】
しかし、加減速時間をアーム先端の位置の２次関数で表して決めるという方法では、アーム姿勢を縮めた状態での加速度の向上ははかられるが、アームダイナミクスを考慮して加速度を算出した場合に比べて、精度が悪く、また重力方向と加減速方向との符号関係が考慮されていないため、十分に加速度を引き出せないという課題がある。
【００２５】
また、アームダイナミクスを考慮して加速度を算出した場合は、精度よく許容最大加速度を求めることができ、どのアーム姿勢においても十分に加速度を引き出すことができるが、アームダイナミクスの計算に多大な計算能力を要するという課題がある。このため、補間、加減速といった基本的な処理以外の他の制御処理へまわす能力を欠いて、さらなる性能向上が望めなくなる。また、より計算能力の高いＣＰＵを用いるとしても、それがコストアップにつながる。
【００２６】
本発明は上記課題を解決するもので、低コストにロボット動作の高速化をはかることを目的とするものである。
【課題を解決するための手段】
【００２７】
上記課題を解決するために本発明は、モータによって駆動する複数の回転軸を有する回転アームを備え、予め教示されたプログラムに従って動作する多間接型ロボットの制御装置であって、前記モータの現在位置と目標位置の回転位置情報から算出する該当の回転軸廻りのアームの慣性項と、前記アームを加速する方向情報を加味して算出する重力項とにより前記回転軸の現在位置と目標位置での許容最大加速度を算出する手段を設けたロボットである。
【発明の効果】
【００２８】
以上、本発明によれば、高い計算能力を必要とせずに簡単な計算で精度よく、姿勢に応じた最大加速度を求めることができ、低コストにロボット動作の高速化をはかることができる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明の実施の形態例を説明する。
（実施の形態）
図１は，本発明の実施の形態における構成を示す図である。また、図２は，本発明の実施の形態における方法を示すフロー図である。
【００３０】
本実施の形態の構成について、図１で説明する。
【００３１】
動作プログラム１、補間部２、加減速処理部３、サーボ４、ロボットアーム５、加減速時間算出部６の各部については、従来技術で説明したのと同じものであり、働きについて従来技術で述べた部分については説明を省略する。
【００３２】
補間部２は、補間するにあたって、動作プログラム上の教示点位置が関節空間上の位置すなわち関節角度で記されている場合と直交空間上の位置で記されている場合のいずれにおいても、教示点を一旦、関節角度に変換する。
【００３３】
姿勢算出部７は、補間部２から、教示点の始点（以下、単に「始点」と呼ぶことがある）もしくは現在位置と、目標教示点（以下、「終点」と呼ぶことがある）での各関節角度を得て、これをキネマティクス変換して各関節軸の直交空間上での位置を算出する。
【００３４】
さらに、姿勢算出部７では、各関節軸の直交空間上での位置関係を求めて、この情報を許容最大加速度算出部８へ渡す。
【００３５】
許容最大加速度算出部８は、姿勢算出部７からの各関節軸の位置関係を表す情報と、補間部２からの各軸移動指令の符号と、各軸の設定加速度から、始点、終点の各姿勢における許容最大加速度を算出する。ここで、設定加速度は、ロボットアーム５の最大負荷姿勢に合わせて設定した加速度であり、その姿勢における許容最大加速度と同じかそれより小さい値とする。
【００３６】
加減速時間算出部６は、許容最大加速度算出部８からの、始点における各軸の許容最大加速度から全体の加速時間を、また終点における各軸の許容最大加速度から全体の減速時間を求める。その求め方は、従来技術のところで述べた通りである。
【００３７】
姿勢算出部７および許容最大加速度算出部８での演算内容の詳細は後述する。
【００３８】
次に、本実施の形態の方法について、図２で説明する。
【００３９】
ステップＳ１では、動作プログラムから移動命令を読み込む。この移動命令には、目標教示点（終点）の位置情報とそこへ移動するときの補間形態、速度または移動時間が含まれている。
【００４０】
ステップＳ２では、ステップＳ１で得た移動命令の情報の基づき、補間処理を行い、各軸の移動データすなわち補間データを生成する。
【００４１】
ステップＳ３では、ステップＳ２で得た補間データが目標教示点へ補間するときの最初のものか否かを判断し、最初のものであればステップＳ４を実行し、最初のものでなければステップ８を実行する。
【００４２】
ステップＳ４では、現在位置（始点）における各関節軸の直交空間上での位置と、目標教示点（終点）における各関節軸の直交空間上での位置を求める。
【００４３】
ステップＳ５では、終点に向けての各軸の動作方向と、始点、終点のそれぞれにおける、各関節軸間の位置関係を示すベクトルを求める。
【００４４】
ステップＳ６では、この各関節軸間の位置関係を示すベクトルと各軸の動作方向と設定加速度から、始点、終点それぞれにおける、各軸の許容最大加速度を算出する。その詳細については後述する。
【００４５】
ステップＳ７では、始点での各軸許容最大加速度と各軸の目標速度とから各軸について加速時間を求め、これらの中で最大のものを全体の加速時間として求める。終点での減速時間についても、終点での許容最大加速度と各軸の目標速度とから、同様にして求める。
【００４６】
ステップＳ８では、ステップＳ７で求めた加速時間および減速時間を用いて、ステップＳ２で求めた補間データに対して加減速処理を行う。なお、ステップ３で最初の補間データでないと判断された場合は、その移動データに関する補間データのうち最初の補間データを処理するときにステップ７で求めた加速時間および減速時間を用いて加減速処理を行う。
【００４７】
ステップＳ９では、ステップＳ８で加減速処理した補間データを移動指令として各軸のサーボへ渡す処理をする。
ステップＳ１０では、加減速処理する前の補間データが目標教示点へ到達する最後の補間データであるか否かを判定し、最後の補間データでなければ、続けて次の補間データを生成すべくステップ２の処理に戻る。また、最後の補間データであれば、補間処理を終了する。
【００４８】
次に、図１における姿勢算出部７、許容最大加速度算出部８、あるいは図２におけるステップＳ４〜ステップＳ６での処理の詳細について説明する。
【００４９】
図３はロボットアームのモデル図である。
【００５０】
図３において、設置面に近い方の軸からアーム手先にかけて順番に第１軸、第２軸、・・・とする。ベクトルｌｉｊを定義し、このように表記したときこれは、第ｉ軸の回転軸から第ｊ軸の回転軸に向けてのベクトルを表すものとする。
【００５１】
ここで、第ｉ軸の回転軸から第ｊ軸の回転軸に向けてのベクトルとは、両回転軸を最短距離で結ぶ線分で表されるベクトルである。また、
長さＬｉｊを定義し、これはベクトルｌｉｊの大きさの最大値を表すものとする。
【００５２】
さらに、ベクトルｅ１２を定義し、これはベクトルｌ１２の単位ベクトルである。このベクトルｅ１２は水平面と平行である。
【００５３】
このように定義した諸量は、図１における姿勢算出部７もしくは図２におけるステップＳ５で算出する。
【００５４】
そして、これらを使って、許容最大加速度算出部８もしくはステップＳ６において、次に示す（数２）、（数３）、（数４）による計算を行い、第１軸、第２軸、第３軸それぞれについて、任意の姿勢における許容最大加速度を算出する。
【００５５】
【数２】
2006119958.tif 000004
【００５６】
【数３】
2006119958.tif 000005
【００５７】
【数４】
2006119958.tif 000006
【００５８】
ここで、α１（θ），α２（θ），α３（θ）は、第１軸、第２軸、第３軸それぞれについての任意の姿勢における許容最大加速度である。なお、θはロボットの各関節角度を要素とするベクトル量を示していて、加速度を求める当該軸以外の軸の角度にも依存することを表している。
【００５９】
また、α１ｍｉｎ、α２ｍｉｎ、α３ｍｉｎは、先の説明で述べた設定加速度であり、各軸についてその最大負荷姿勢で動作させた場合に対して決めた値である。
【００６０】
さらに、Ａ１，Ａ２，Ｂ１，Ｂ２，Ｂ３，Ｃ３は定数である。これらの決め方については後述する。
【００６１】
また、σ１、σ２、σ３は、＋１または−１の値をとり、当該軸の動作方向を基に表１に示すように決める。
【００６２】
【表１】
2006119958.tif 000007
【００６３】
ここで、（表１）のω２は第２軸の速度、ω３は第３軸の速度である。
【００６４】
さらに、ベクトルａ，ｂに対して（ａ、ｂ）と表したものは、ベクトルａ，ｂの内積を表す。
【００６５】
さて、（数２）〜（数４）の意味するところであるが、これらは、ロボットアームおよびアームに取り付けられた負荷の質量のその殆どが、第３軸周りおよび第５軸周りに集中するものと近似して表したものである。
【００６６】
まず、（数２）について説明する。
【００６７】
（数２）の大括弧内の第２項は、第５軸周りの質量による第１軸まわりの慣性項を反映し、第３項は第３軸周りの質量による第１軸まわりの慣性項を反映している。
【００６８】
たとえば、（数２）の大括弧内の第２項について、その定性的な特性は、第５軸の位置が第１軸から離れるにしたがって０に近づき、逆に第５軸の位置が第１軸に近づくにしたがって値Ａ１に近づくというものである。さらにその変化量は第５軸と第１軸の距離の二乗に比例する。なお、（数２）内の内積（ｌ１５，ｌ１５）は、ベクトルｌ１５の大きさの二乗を表していることに注意する。
【００６９】
ここで、値Ａ１は、第５軸の位置が第１軸上にくることで、第１軸から見た第５軸周りの質量による慣性が最小となった場合に増やすことのできる許容加速度の増分に対応する量を表している。
【００７０】
（数２）の大括弧内の第３項についても同様である。さらに、値Ａ２は、第３軸の位置が第１軸上にくることで、第１軸から見た第３軸周りの質量による慣性が最小となった場合に増やすことのできる許容加速度の増分に対応する量を表している。
【００７１】
次に（数４）の方を先に説明する。
【００７２】
（数４）の大括弧内の第２項は、第５軸周りの質量による重力項を反映している。
【００７３】
（数４）の大括弧内の第２項について、その定性的な特性は、第５軸を通る鉛直線が第３軸から離れるにしたがって０に近づき、逆に第５軸を通る鉛直線が第３軸に近づくにしたがって値Ｃ１に近づくものである。さらにその変化量は第５軸を通る鉛直線と第３軸の距離に比例する。
【００７４】
ここで、値Ｃ１は、第５軸を通る鉛直線が第３軸上にくることで、第３軸から見た第５軸周りの質量による重力モーメントが最小となった場合に増やすことのできる許容加速度の増分に対応する量を表している。
【００７５】
ここで、第５軸を通る鉛直線と第３軸の距離は、第５軸に集中する質点による第３軸まわりの重力モーメントを表すときの距離である。
【００７６】
そして、（数４）の内積（ｅ１２，ｌ３５）がこれを表している。さらに、（数４）の内積（ｅ１２，ｌ３５）の符号は重力モーメントが作用する方向を表している。
【００７７】
さらに、（数４）で用いているσ３について説明する。
【００７８】
紙面から見て右回りを正方向とすれば、紙面から見て第５軸が第３軸の右側にある場合は、第５軸周りの質量による第３軸まわりの重力モーメントは、正方向に働く。
【００７９】
第３軸が正方向に動作する場合は、第５軸周りの質量による重力モーメントは、加速時は加速を助ける方向に働き、減速時は減速を妨げる方向に働く。符号σ３はこれを反映したものである。
【００８０】
なお、第５軸周りの質量による重力モーメントの方向は、第５軸が第３軸の右左（紙面から見て）どちら側にあっても、（数４）の内積（ｅ１２，ｌ３５）の符号で統一的に表されることは先に述べた通りである。
【００８１】
次に（数３）について説明する。
【００８２】
（数３）の大括弧内の第２項は、第５軸周りの質量による慣性項を反映し、第３項は第５軸周りの質量による重力項を反映し、第４項は、第３軸周りの質量による重力項を反映する。
【００８３】
（数３）の大括弧内の各項について、その定性的な特性は、（数２）及び（数４）の説明で述べたのと同様である。また、値Ｂ１〜Ｂ３の意味についても同様である。
【００８４】
ところで、（数３）について、第３軸周りの質量による慣性項を反映する項が存在しないが、これは第３軸周りの質量による慣性は、第２軸の角度に依存せず一定であるからである。（数４）における、第５軸周りの質量による慣性項についても同様である。
【００８５】
次に定数Ａ１、Ａ２、Ｂ１、Ｂ２、Ｂ３、Ｃ１の決め方について説明する。
【００８６】
第１軸について、α１ｍｉｎは、第５軸、第３軸ともに第１軸からの距離が最大となる姿勢で決めた許容最大加速度であった。同様に、第５軸、第３軸ともに第１軸からの距離が最小となる姿勢で決めた許容最大加速度をα１ｍａｘとすれば、これらと定数Ａ１，Ａ２との間に（数５）で示す関係が成り立つ。
【００８７】
【数５】
2006119958.tif 000008
【００８８】
そこで、α１ｍｉｎおよびα１ｍａｘを実機調整で決めて、そこから（数５）の関係を用いて、Ａ１とＡ２の和を求める。そして、Ａ１とＡ２の配分については、実機調整もしくはシミュレーションにて最適値を決める。
【００８９】
Ｂ１〜Ｂ３についても同様である。第５軸、第３軸ともに第２軸からの距離が最小となる姿勢で決めた第２軸の許容最大加速度をα２ｍａｘとすれば、（数６）の関係を用いて、Ｂ１〜Ｂ３の和を求め、これらの最適配分を、実機調整もしくはシミュレーションにて決める。
【００９０】
【数６】
2006119958.tif 000009
【００９１】
Ｃ１については、第５軸を通る鉛直線と第３軸との距離が最小となる姿勢で決めた第３軸の許容最大加速度をα３ｍａｘとすれば、（数７）の関係が成り立ち、これを用いれば一意に求まる。
【００９２】
【数７】
2006119958.tif 000010
【００９３】
なお、（数２）〜（数４）で各軸の姿勢に応じた許容最大加速度を求める前提として、ロボットアームと負荷を加えた質量の大部分が第５軸周りおよび第３軸周りに集中しているとした。
【００９４】
実際に、ロボットの現場での運用においては、負荷はアーム先端に取り付けられ、その質量による駆動時の慣性トルクおよび重力モーメントの、全体の駆動トルクに対する割合は大きい。
【００９５】
また、溶接用途等では、第３軸周りに付帯機器が取り付けれれることがあり、第３軸周りの質量分布は大きい。
【００９６】
よって、ロボットアームの質量の大半が第５軸周りおよび第３軸周りに集中していると近似して（数２）〜（数４）を適用して姿勢に応じた最大許容加速度を求めても、実用上十分な精度が得られる。
【００９７】
図４〜図６はこれを示すシミュレーション結果である。
【００９８】
図４は第１軸について、各姿勢における許容最大加速度を示すものであり、図４（ａ）は本実施の形態を用いて算出したものである。横軸にそれぞれ第２軸、第３軸の関節角度（θ２、θ３）をとり、縦軸に各姿勢での許容最大加速度を表している。また、図４（ｂ）は、アームダイナミクスに基づいて算出したものであり、図４（ｃ）は両者の差を表したものである。
【００９９】
なお、第１軸の関節角度は、（数２）によれば、許容最大加速度の算出には影響しない。よって、図４には第１軸の関節角度は示していない。
【０１００】
同様に、図５は第２軸についての結果であり、図６は第３軸についての結果である。
【０１０１】
実用上十分な精度が確保できている。
【産業上の利用可能性】
【０１０２】
本発明のロボットの制御装置およびその制御方法は、高い計算能力を必要とせずに簡単な計算で精度よく、姿勢に応じた最大加速度を求めることができるので、低コストにロボット動作の高速化をはかることができ、産業上有用である。
【図面の簡単な説明】
【０１０３】
【図１】本発明の実施の形態における構成図
【図２】本発明の実施の形態におけるフロー図
【図３】本発明の実施の形態の説明に用いる符号を示す図
【図４】本発明の実施の形態を第１軸に適用した結果を示す図
【図５】本発明の実施の形態を第２軸に適用した結果を示す図
【図６】本発明の実施の形態を第３軸に適用した結果を示す図
【図７】従来の構成を示す図
【図８】各軸の移動指令を示す図
【符号の説明】
【０１０４】
１    動作プログラム
２    補間部
３    加減速処理部
４    サーボ
５    ロボットアーム
６    加減速時間算出部
７    姿勢算出部
８    許容最大加速度算出部
９    制御部
【図１】
2006119958.tif 000011
【図２】
2006119958.tif 000012
【図３】
2006119958.tif 000013
【図４】
2006119958.tif 000014
【図５】
2006119958.tif 000015
【図６】
2006119958.tif 000016
【図７】
2006119958.tif 000017
【図８】
2006119958.tif 000018