(57)【要約】【課題】重力トルク以外のトルクについても考慮した、減速機ねじれに起因する軌跡ずれを補正するロボット制御装置を提供する。【解決手段】ロボット本体６の各関節軸を駆動する各サーボモータの指令関節角度を算出する関節角度演算部４と、この指令関節角度に基づいて各関節軸の動作の際に発生する重力トルクおよび重力トルク以外のトルクを算出するトルク計算部７と、前記重力トルク以外のトルクを入力しこれに起因する減速機のねじれ量を算出するねじれ量計算部８と、前記重力トルクを入力しこれに起因する減速機のねじれ量を算出する重力ねじれ量計算部１０と、前記指令関節角度に対して補正量としての前記減速機のねじれ量が加味された補正された指令関節角度を入力し、これにロボット本体６を追従させるための駆動トルクを出力する各軸サーボ５と、を有することを特徴とするロボット制御装置０を提供した。【選択図】図１
2005052913.tif 000002
【特許請求の範囲】
【請求項１】
ロボット本体の各関節軸を駆動する各サーボモータの指令関節角度を算出する関節角度演算部と、
該関節角度演算部から出力された指令関節角度に基づいて各関節軸の動作の際に発生する重力トルクおよび重力トルク以外のトルクを算出するトルク計算部と、
該トルク計算部にて算出された重力トルク以外のトルクを入力し、重力トルク以外のトルクに起因する減速機のねじれ量を算出するねじれ量計算部と、
前記トルク計算部にて算出された重力トルクを入力し、重力トルクに起因する減速機のねじれ量を算出する重力ねじれ量計算部と、
前記関節角度演算部から出力された指令関節角度に対して前記ねじれ量計算部および前記重力ねじれ量計算部から出力された補正量としての減速機のねじれ量が加味された補正された指令関節角度を入力し、該補正された指令関節角度にロボット本体を追従させるための駆動トルクを出力する各軸サーボと、
を有することを特徴とするロボット制御装置。
【請求項２】
前記重力トルク以外のトルクは慣性力トルクであることを特徴とする請求項１に記載のロボット制御装置。
【請求項３】
前記重力トルク以外のトルクはコリオリ遠心力トルクであることを特徴とする請求項１または２に記載のロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業用ロボットのロボット制御装置に関し、特に、ティーチングプレイバック方式のロボットの位置制御における減速機ねじれ量に基づく軌跡ずれを補正することが可能なロボット制御装置に関する。
【背景技術】
【０００２】
近年、産業用ロボットにおいては、その用途範囲の拡大により、高い位置精度や軌跡精度が要求されるようになってきた。そのため、現在では、産業用ロボットを構成する各アームの駆動源としては、位置決め精度が高いサーボモータが使用されている。係るサーボモータを駆動源とした産業用ロボットにおいては、各アームには一般に減速機を介してサーボモータの動力が伝達されている。しかし、減速機にはバネ要素のために生じるねじれを代表とする機械的誤差（減速機ねじれ）が存在するので、位置決めに関する絶対精度を保証することは困難となっている。そのため、ロボットの動作軌跡をロボット制御装置に入力する際には、ロボットのアームを所望の位置に移動させて直接作業点を教示する所謂ティーチングプレイバック方式を採用することが現在の主流となっている。
【０００３】
このティーチングプレイバック方式においては、停止時の教示点においては前述の減速機ねじれも含んで教示されることになるので、指令位置すなわち教示位置と実際にロボットを動作させたときの位置との偏差（位置偏差）は生じない。しかし、教示点間を直線補間などにより補間することを考えると、各教示点では減速機ねじれによる誤差が生じないが、教示点間に設けられた補間点では減速機ねじれによる位置偏差が生じることになる。この位置偏差を補正する方法としては、重力トルクに起因する減速機ねじれを小さくするために、従来は教示点の数を増やすことが最も一般的に行われてきた。また、特許文献１や特許文献２では、前述の位置偏差を補正する方法として、教示点間に代表点を選定し、重力によるたわみ量を演算し、この重力によるたわみ量から各教示点での位置補正量が０となるような補正を実施するような、たわみを含んだ教示点を自動的に生成する方法が開示されている。なお、特許文献１では全補間点を代表点として選定することが、また特許文献２では１点以上の代表点を選定することが、それぞれ開示されている。
【特許文献１】特開昭６０−１１８４７８号公報
【特許文献２】特開平１１−２５４３５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、前述した特許文献１や特許文献２に開示されている方法は、減速機ねじれとして重力トルクしか考慮していないので、減速機ねじれに起因する位置偏差は完全には補正できないという問題がある。例えば、ロボットが非常にゆっくりと動作する場合は重力トルクだけを考えれば軌跡を十分に保証することができるが、ロボットがある程度高速で動作する場合は、重力トルク以外にも、アームが加減速することにより生じるトルクすなわち慣性力トルクや、アームが速度をもって動作するときに生じるトルクすなわちコリオリ遠心力トルクが発生する。これら慣性力トルクやコリオリ遠心力トルクといった重力トルク以外のトルクについても、重力トルクと同様に、減速機をねじれさせ、軌跡ずれを生じさせる要因になるので、減速機ねじれに起因する位置偏差を完全には補正するためには、重力トルクの他に重力トルク以外のトルクについても考慮する必要がある。
【０００５】
一方、前述した教示点を増やす方法でも、各教示点でロボットの動作を停止させなければ加速度や速度が発生し、重力トルク以外の慣性力トルクなどが大きくなってしまうので、軌跡ずれが大きくなるという問題は解消しないことになる。さらに、この教示点を増やす方法では、各教示点でロボットの動作を停止させると、作業のタクトタイムが長くなったり、すべての教示点で速度ムラが発生したりするので、アーク溶接やシーリング剤塗布といった産業用ロボットの代表的なアプリケーションに対しては適用することができないという問題もある。
【０００６】
本発明は、前述した従来技術の問題点を解決するためになされたものであり、重力トルク以外のトルクについても考慮した、減速機ねじれに起因する軌跡ずれを補正するロボット制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
前述した目的を達成するために、請求項１に係る発明では、ロボット本体の各関節軸を駆動する各サーボモータの指令関節角度を算出する関節角度演算部と、この関節角度演算部から出力された指令関節角度に基づいて各関節軸の動作の際に発生する重力トルクおよび重力トルク以外のトルクを算出するトルク計算部と、このトルク計算部にて算出された重力トルク以外のトルクを入力し、重力トルク以外のトルクに起因する減速機のねじれ量を算出するねじれ量計算部と、前記トルク計算部にて算出された重力トルクを入力し、重力トルクに起因する減速機のねじれ量を算出する重力ねじれ量計算部と、前記関節角度演算部から出力された指令関節角度に対して前記ねじれ量計算部および前記重力ねじれ量計算部から出力された補正量としての減速機のねじれ量が加味された補正された指令関節角度を入力し、この補正された指令関節角度にロボット本体を追従させるための駆動トルクを出力する各軸サーボと、を有することを特徴とするロボット制御装置を提供した。
【０００８】
係る構成としたことにより、ロボットが高速で動作する場合に考慮しなければならない重力トルク以外のトルクに起因する減速機のねじれ量についても補正された指令関節角度が、ロボット本体を動作させる各軸サーボに入力されることになるので、ロボットが高速で動作する場合においても、ロボット先端の応答軌跡が関節角度演算部から出力された指令関節角度に基づく指令軌跡に一致するようになる。
【０００９】
なお、前述した重力トルク以外のトルクとしては、ロボットアームが加減速することにより生じる慣性力トルク（請求項２）や、ロボットアームが速度をもって動作するときに生じるコリオリ遠心力トルク（請求項３）を含むものであってもよい。
【発明の効果】
【００１０】
本発明によれば、サーボモータを駆動源とした産業用ロボットにおいて、加速度、減速度、あるいは動作速度が大きな動作パターンでも、重力トルクおよび慣性力トルクやコリオリ遠心力トルクといった重力トルク以外のトルクに起因する減速機ねじれによる軌跡ずれを補正することができるものとなった。そのため、教示点間に設けられた各補間点においては減速機ねじれに起因する位置偏差が生じなくなるので、ロボットの動作において高い位置精度や軌跡精度が実現できるものとなった。
【発明を実施するための最良の形態】
【００１１】
以下、本発明を実施するための最良の形態について、図面を参照して説明する。図１は、本発明の実施形態に係るロボット制御装置０を含むロボットシステムの構成を示すブロック図である。
【００１２】
１は教示点を入力する（ティーチングする）ための教示点入力手段である。この教示点入力手段１は、例えば可搬型の教示操作盤（ティーチペンダント）であり、図示しないケーブルを介してロボット制御装置０と接続されている。教示点の入力作業は、教示点入力手段１が具備する図示しないスイッチ等を作業者が操作することにより行われる。６はロボット本体であり、ロボット制御装置０とは図示しないケーブルを介して接続されている。このロボット本体６は、複数の関節軸を有する多関節ロボットであり、各関節軸は図示しないサーボモータにより駆動される。
【００１３】
ロボット制御装置０は、教示点記憶部２、直線補間演算部３、関節角度演算部４、各軸サーボ５、トルク計算部７、ねじれ量計算部８、及び重力ねじれ量計算部１０から構成されている。教示点記憶部２は、教示点入力手段１により入力された複数の教示点を記憶する。直線補間演算部３は、教示点記憶部２に記憶されている複数の教示点に対して、各教示点間（例えば教示点Ａと教示点Ｂとの間）の補間点を図２に示すような直線になるように演算することにより算出する。関節角度演算部４は、直線補間演算部３にて算出された補間点に対してロボットの逆キネマティクスを解くことにより、ロボット本体６の各関節軸を駆動する各サーボモータの指令関節角度に変換する。
【００１４】
次に、補正量を算出するためのトルク計算部７、ねじれ量計算部８、及び重力ねじれ量計算部１０について説明する。トルク計算部７は、関節角度演算部４から出力された指令関節角度に基づいて、各関節軸の動作の際に発生する重力トルクおよび重力トルク以外のトルクすなわち慣性力トルクおよびコリオリ遠心力トルクを算出する。
【００１５】
ねじれ量計算部８は、トルク計算部７にて算出された重力トルク以外のトルクすなわち慣性力トルクおよびコリオリ遠心力トルクを入力し、重力トルク以外のトルクに起因する減速機のねじれ量を算出する。慣性力トルクに起因する減速機のねじれ量については、「ｄθ＝τ／ｋ」の関係式にて計算する。ここでｄθは慣性力トルクに起因する減速機のねじれ量、τは慣性力トルク、ｋは減速機の剛性を表すばね定数である。一方、コリオリ遠心力トルクに起因する減速機のねじれ量については、「ｄθｃ＝τｃ／ｋ」の関係式にて計算する。ここで、ｄθｃはコリオリ遠心力に起因する減速機のねじれ量、τｃはコリオリ遠心力、ｋは減速機の剛性を表すばね定数である。これにより算出された慣性力トルクに起因する減速機のねじれ量ｄθおよびコリオリ遠心力トルクに起因する減速機のねじれ量ｄθｃを加算することにより、重力トルク以外のトルクに起因する減速機のねじれ量を算出することができる。
【００１６】
一方、重力ねじれ量計算部１０は、トルク計算部７にて算出された重力トルクを入力し、重力トルクに起因する減速機のねじれ量を算出する。この重力トルクに起因する減速機のねじれ量については、「ｄθｇ＝ＬＭ／２＋１／ｋ（τｇ−τＬＭ）」の関係式にて計算する。ここで、ｄθｇは重力トルクに起因する減速機のねじれ量、ＬＭは減速機のロストモーション、ｋは減速機の剛性、τｇは重力トルク、τＬＭはＬＭ／２のロストモーションを生じたときの入力トルクである。
【００１７】
各軸サーボ５には、補正された指令関節角度が入力される。すなわち、減算器９にて関節角度演算部４から出力された指令関節角度に対してねじれ量計算部８および重力ねじれ量計算部１０から出力された補正量としての減速機のねじれ量が加味され、この補正された指令関節角度が各軸サーボ５に入力される。各軸サーボ５は、補正された指令関節角度に基づいて、この指令関節角度にロボット本体６を追従させるための駆動トルクを出力する。この駆動トルクはロボット本体６が具備するアーム駆動用のサーボモータに入力され、これによりロボット本体６を構成する各アームが動作することになる。
【００１８】
次に、前述した構成を有するロボット制御装置における作用について説明する。まず、教示点入力手段１により教示点Ａおよび教示点Ｂを入力し、入力された教示点Ａ、Ｂは教示点記憶部２に記憶される。通常の直線補間再生においては、教示点記憶部２より教示点Ａ、Ｂを取り出し、直線補間演算部３にて教示点ＡＢ間の補間点を図２に示すような直線になるように演算し、その補間点から関節角度演算部４にてロボットの逆キネマティクスを解くことにより各軸角度に変換し、各軸サーボ５へ指令関節角度を出力し、ロボット本体６を指令関節角度に追従させるための駆動トルクを各軸サーボ５が出力する。
【００１９】
ここで、図２に示すような補正が全くない直線の指令関節角度の場合を考えると、各関節軸の動作の際に発生する重力トルクおよび慣性力トルクによって減速機が歪むことになる。例えば、図３に示すように、慣性力トルクによって加速中である動作開始付近と減速中である動作終了付近とで実軌跡は歪み（図３の両端部）、さらに軌跡全体には重力トルクによる実軌跡の歪み（図３の中央部）が付加されることになる。
【００２０】
本実施形態では、前述したように、関節角度演算部４からの出力である指令関節角度から、トルク計算部７にて各駆動軸に発生する重力トルクおよび慣性力トルクを計算している。重力ねじれ量計算部１０において算出された重力トルクの影響を補正する軌跡は、図４に示すようになる。また、ねじれ量計算部８において算出された慣性力トルクの影響を補正する軌跡は、図５に示すようになる。したがって、図４に示した重力トルクの影響を補正する軌跡および図５に示した慣性力トルクの影響を補正する軌跡を、前述した補正が全くない直線の指令関節角度の場合の軌跡（図３）に加味すると、図３の軌跡における歪みが補正されることになる。
【００２１】
さらに、コリオリ遠心力トルクなどの速度に関するトルクについても同様である。図６はコリオリ遠心力の影響が存在した場合における軌跡の歪みの例であるが、ねじれ量計算部８において算出されたコリオリ遠心力トルクの影響を補正する軌跡は図７に示すようになるので、コリオリ遠心力トルクに起因する減速機ねじれについても補正できることになる。
【００２２】
本実施形態によれば、サーボモータを駆動源とした産業用ロボットにおいて、加速度、減速度、あるいは動作速度が大きな動作パターンでも、重力トルクおよび慣性力トルクやコリオリ遠心力トルクといった重力トルク以外のトルクに起因する減速機ねじれによる軌跡ずれを補正することができるものとなる。そのため、教示点間に設けられた各補間点においては減速機ねじれに起因する位置偏差が生じなくなるので、ロボットの動作において高い位置精度や軌跡精度が実現できるものとなる。
【００２３】
以上、本発明に係る実施形態について説明した。前述したように、本実施形態においては、重力トルク以外のトルクに起因する減速機のねじれ量を算出するねじれ量計算部８と、重力トルクに起因する減速機のねじれ量を算出する重力ねじれ量計算部１０の、２つのねじれ量計算部を有している。そのため、各ねじれ量計算部は独立して動作することになるので並列処理が可能になり、その結果ねじれ量の計算における処理を高速化することができる。また、ロボットが非常にゆっくりと動作する場合は重力トルクだけを考えれば軌跡を十分に保証することができるので、この場合は重力トルクに起因する減速機のねじれ量を算出する重力ねじれ量計算部１０のみを動作させることにより、ねじれ量の計算における処理を高速化させることも可能である。
【００２４】
なお、本発明の要旨は減速機のねじれ量の算出において重力トルクだけではなく重力トルク以外のトルクについても考慮したことにあるので、重力トルク以外のトルクに起因する減速機のねじれ量を算出するねじれ計算部８と、重力トルクに起因する減速機のねじれ量を算出する重力ねじれ量計算部１０の２つを設けることは必須要件ではなく、重力トルク以外のトルクに起因する減速機のねじれ量の算出と重力トルクに起因する減速機のねじれ量の算出とを１つのねじれ量計算部において行わせることも本発明の範囲内で可能である。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施形態に係るロボット制御装置０を含むロボットシステムの構成を示すブロック図である。
【図２】理想的な指令直線軌跡を示した概念図である。
【図３】減速機に重力トルクおよび慣性力トルクによる歪みが生じた場合のロボットの実軌跡を示した概念図である。
【図４】重力トルクの影響を補正する軌跡を示した概念図である。
【図５】慣性力トルクの影響を補正する軌跡を示した概念図である。
【図６】減速機にコリオリ遠心力トルクによる歪みが生じた場合のロボットの実軌跡を示した概念図である。
【図７】コリオリ遠心力トルクの影響を補正する軌跡を示した概念図である。
【符号の説明】
【００２６】
０  ロボット制御装置
１  教示点入力手段
２  教示点記憶部
３  直線補間演算部
４  関節角度演算部
５  各軸サーボ
６  ロボット本体
７  トルク計算部
８  ねじれ量計算部
１０  重力ねじれ量計算部
【図１】
2005052913.tif 000003
【図２】
2005052913.tif 000004
【図３】
2005052913.tif 000005
【図４】
2005052913.tif 000006
【図５】
2005052913.tif 000007
【図６】
2005052913.tif 000008
【図７】
2005052913.tif 000009