説明

学習制御機能を備えたスポット溶接ロボット

【課題】従来のスポット溶接ロボットは、ロボットの高速動作によって発生する軌跡誤差や振動成分によって、ロボットの最適動作が阻害されるという問題があった。
【解決手段】本発明のスポット溶接ロボットは、制御対象部位とセンサとを備えたロボット機構部(1)と、制御対象部位の目標軌跡または目標位置に関する位置指令データを取得し、位置偏差データに従って、ロボット機構部を所定の動作速度で動作させる動作制御部(4)と、センサの検出結果から制御対象部位の軌跡または位置を算出し、軌跡誤差または位置誤差を補正するための、もしくは振動を抑制するための、学習補正量を算出する学習制御部(3)と、を有し、動作制御部は、学習補正量を用いて位置偏差データを補正し、学習制御部は、学習補正量を算出する過程で、最大動作速度に至るまで1回又は複数回に渡って動作速度を増加させながら学習補正量を算出する、ことを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は学習制御機能を備えたスポット溶接ロボットに関し、特にアーム側に取り付けたセンサを利用して動作の高速化を行うスポット溶接ロボットに関する。
【背景技術】
【0002】
ロボットにおいて、サーボモータで駆動される被駆動体の位置や速度を制御するために、通常、位置フィードバック制御、速度フィードバック制御さらには電流フィードバック制御がなされ、被駆動体が指令位置、速度と一致するように制御がなされる。
【0003】
このような位置、速度、電流のフィードバック制御を行っても、ロボットの高速動作では、軌跡誤差、位置誤差、または振動(以下、「軌跡誤差等」という)が発生する。また、高速動作ではモータ側とアーム側の動特性が違うために、モータエンコーダからはアーム側の軌跡誤差等を直接測定する事はできなくなる。そのために、アーム側に直接センサを取り付けて軌跡誤差等を計測する必要がある。センサを取り付けた学習制御の例として、ロボットの例ではないが加速度センサを使用した学習制御が公開されている(特許文献1)。
【0004】
図1に従来の学習制御を実施する学習制御器を備えたロボットの概略図を示す。ロボット100は、ロボット機構部1と、ロボット機構部1を制御するロボット制御部2により構成される。ロボット制御部2は、ロボットの学習制御を実施する学習制御部3と、ロボット機構部1を直接的に駆動する動作制御部4とを備えている。
【0005】
ロボット機構部1には、センサ10、アーム11、アーム先端部を構成するガン12、モータ(図示せず)が設けられている。ロボット機構部1のモータには、ロボット制御部2に含まれる動作制御部4からの信号が入力され、アーム11を駆動し、ガン12を所望の位置に移動させて、例えば溶接等の作業を実行する。ガン12にはセンサ10が設置されており、ガン12の空間的な位置データ(yj(k))を得ることができる。センサ10の検出結果から算出される位置データ(yj(k))は学習制御部3に出力され、学習制御に利用される。ここで、jは試行回数、kは時間である。yd(k)は位置指令データ、yj(k)は前回(一試行前)の制御対象量である位置データ、ej(k)はフィルターを通して、yd(k)とyj(k)から計算された目的補正量である。uj(k)は前回の学習補正量を表す。
【0006】
動作制御部4には、位置制御部41、速度制御部42、電流制御部43、アンプ44、微分手段45が設けられている。位置制御部41は、ロボット制御部2の外部から入力される目標動作速度及び位置指令データ(yd(k))を受信するとともに、ロボット機構部1のモータ位置情報を受信し、ロボット機構部1のガン12の所望の位置偏差データを速度制御部42に対して出力する。微分手段45は、ロボット機構部1からフィードバックされるモータ位置情報を受信し、モータ速度を算出し、これを速度制御部42に対して出力する。
【0007】
速度制御部42は、位置制御部41からの位置偏差データ及び微分手段45からのモータ速度情報を勘案して所望のモータ速度を算出し、これを電流制御部43に対して出力する。電流制御部43は、アンプ44からフィードバックされる電流値を受信するとともに、速度制御部42から入力された所望のモータ速度となるようにモータに流す電流を算出し、これをアンプ44に対して出力する。アンプ44は、電流制御部43からの電流値に基づいて所望の電力を算出し、これをロボット機構部1のモータ(図示せず)に投入する。
【0008】
学習制御部3には、第1メモリ31、学習制御器L(q)32、ローパスフィルターQ(q)33、第2メモリ34、第3メモリ35、一試行遅れW-1300が設けられている。第1メモリ31には、ガン12に関する位置指令データ(yd(k))と、センサ10の検出結果から算出される位置データ(yj(k))からフィルターを通して、目的補正量ej(k)が入力され、これを記憶するともに、目的補正量ej(k)をL(q)32に対して出力する。ここで、目的補正量ej(k)は、ガン12の所望の位置に対する軌跡誤差等に相当する。
【0009】
学習制御器L(q)32は、L(q)32に格納された作業プログラムを実行することにより、目的補正量ej(k)とuj(k)から学習補正量uj+1(k)を算出し、これをローパスフィルターQ(q)33に対して出力する。Q(q)33に入力された学習補正量uj+1(k)は、記憶部である第2メモリ34に対して出力され、第2メモリ34に記憶されるとともに、動作制御部4の位置制御部41で算出される位置偏差データに加算される。
【0010】
補正された位置偏差データに基づいて、ロボット機構部1が制御され、学習制御が繰り返される。学習制御は、この一連のプロセスを繰り返し実行する事により位置偏差を「0」に収束させるものである。学習制御終了後には、図1の点線で示した学習補正量更新のためのループは実行されず、第2メモリ34から学習補正量uj+1(k)が位置制御部41に出力される。なお、図1において、実線部分は動作制御部4がロボット機構部1を動作させる際に実行される部分を表し、点線部分である学習制御は学習稼動状態で動作終了後に実行される。
【0011】
一方、スポット溶接にロボットを用いる例が報告されている(例えば、特許文献2、3)。また、視覚センサによって対象物の位置を検出し、ロボットでスポット溶接を行なう事例が開示されている(例えば、特許文献4)。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開2006−172149号公報
【特許文献2】特開2007−268590号公報
【特許文献3】特開2007−7666号公報
【特許文献4】特開2005−138223号公報
【発明の概要】
【発明が解決しようとする課題】
【0013】
従来の学習制御は、ある条件下の軌跡誤差等の改善という点に着目していた。しかしながら、アプリケーションの幅は狭く、また使い勝手に関しては余り考慮されていないという問題があった。
【0014】
センサを使った学習制御の例である上記従来技術は、工作機械の例であるものの、センサとして加速度センサを使用する事を想定している。ロボットに加速度センサを取り付けた場合、直交座標での軌跡・位置誤差が抽出可能であるが、そのままではセンサデータから各軸の軌跡・位置誤差の算出ができないという問題があった。
【0015】
また、上記従来技術では、加速度センサから軌跡誤差等を抽出する際に通常のハイパスフィルターを用いて抽出している。工作機械の場合は対象とするフィードバック制御帯域が数十Hz〜数百Hzと高いため、すなわちフィードバック制御がその帯域で非常に良い性能を持っているので、オフセットデータを取り除くために10Hz以下のデータを学習できなくても、大きな問題は無い。それ故、オフセットはそれ程重要な問題ではない。一方、産業用ロボットにおいては、通常、フィードバックの制御帯域は数Hzであり、それ以上高い帯域はフィードフォワードで制御していて、性能がモデル誤差に依存しやすいため、その部分を学習制御で補正している。例えば、加速度センサデータのオフセットを除去するために1Hzのハイパスをかけた場合は10Hz前後までの軌跡誤差等の位相が回転するので、除去したい帯域の軌跡誤差等データまで加工されてしまい、学習制御の性能が劣化してしまうという問題があった。
【0016】
さらに、学習制御器の調整が難しいという問題もあった。色々な調整方法が提案されているものの、コントローラの次数が高くなる、安定性が低くなる、膨大な行列計算が必要になる等の問題点がある。それ故、大部分の現場において、調整は経験に基づいて試行錯誤で行われているのが実情である。また、ロボットは姿勢に応じてシステムが変化するために試行錯誤での調整がより難しいという特徴がある。そして、これまでのところ、自動的にパラメータの調整を行い、高速化を行う学習機能を備えた産業用ロボットは存在していない。
【0017】
特許文献2及び3に開示されている、従来の一般的なスポット溶接ロボットは、予め記憶した動作を再生しスポット溶接を行なうだけのものであったため、ロボットの高速動作によって発生する軌跡誤差や振動成分によって、ロボットの最適動作が阻害されるという問題があった。また、特許文献4に開示されている視覚センサによって対象物を検出し、ロボットの動作を補正する例においても、対象物に向かうロボット自身の動作を最適化することは不可能であったため、前述同様、軌跡誤差や振動成分が発生し、ロボットの動作速度の低下の原因となっていた。
【0018】
本発明は、ロボット動作が生産性を左右するスポット溶接アプリケーションにおいて、位置制御の対象となる部位の位置をセンサで検出し、これを目標とする動作に近づけるよう制御する、学習制御機能を備えたスポット溶接ロボットを提供することで、ロボット動作の高速化による生産性の向上、コストカットを実現するものである。
【課題を解決するための手段】
【0019】
本発明のスポット溶接ロボットは、位置制御の対象とする制御対象部位と、制御対象部位に設置されたセンサと、を備えたロボット機構部と、制御対象部位の目標軌跡または目標位置に関する位置指令データを取得し、位置指令データを用いて算出される位置偏差データに従って、作業プログラムにより、ロボット機構部を所定の動作速度で動作させる動作制御部と、センサの検出結果から制御対象部位の軌跡または位置を算出し、軌跡と目標軌跡との間の軌跡誤差または位置と目標位置との間の位置誤差を補正するための、もしくはロボット機構部を動作させたときに生じる制御対象部位の振動を抑制するための、学習補正量を、学習制御により算出する学習制御部と、を有し、動作制御部は、学習補正量を用いて位置偏差データを補正し、学習制御部は、学習補正量を算出する過程で、ロボット機構部で設定可能な最大動作速度を算出し、最大動作速度に至るまで1回又は複数回に渡って動作速度を増加させながら学習補正量を算出する、ことを特徴とする。
【0020】
本発明の他の実施態様として、動作制御部は、ロボット機構部の動作速度の目標値である目標動作速度を取得し、学習制御部は、目標動作速度と最大動作速度とを比較し、目標動作速度が最大動作速度より小さい場合には、目標動作速度に至るまで1回又は複数回に渡って動作速度を増加させながら学習補正量を算出するようにしてもよい。
【0021】
本発明の他の実施態様として、学習制御部は、最大動作速度をロボット機構部で許容される最大速度及び最大加速度に基づいて算出することが好ましい。
【0022】
本発明の他の実施態様として、本発明のスポット溶接ロボットは、位置制御の対象とする制御対象部位と、制御対象部位に設置されたセンサと、を備えたロボット機構部と、制御対象部位の目標軌跡または目標位置に関する位置指令データを取得し、位置指令データを用いて算出される位置偏差データに従って、作業プログラムにより、ロボット機構部を所定の動作速度で動作させる動作制御部と、センサの検出結果から制御対象部位の軌跡または位置を算出し、軌跡と目標軌跡との間の軌跡誤差または位置と目標位置との間の位置誤差を補正するための、もしくはロボット機構部を動作させたときに生じる制御対象部位の振動を抑制するための、学習補正量を、学習制御により算出する学習制御部と、を有し、動作制御部は、学習補正量を用いて位置偏差データを補正し、学習制御部は、学習補正量を算出し、軌跡誤差または位置誤差、もしくは、振動と予め設定した各閾値とを比較する処理を行い、軌跡誤差または位置誤差、もしくは、振動が各閾値を越えるまで、動作速度を増加させながら、処理を繰り返す、ことを特徴とする。
【0023】
本発明の他の実施態様として、動作制御部は、ロボット機構部の動作速度の目標値である目標動作速度を取得し、学習制御部は、目標動作速度に至るまで1回又は複数回に渡って動作速度を増加させ、増加させる度に、学習補正量を算出し、軌跡誤差または位置誤差、もしくは、振動と予め設定した各閾値とを比較する処理を行い、軌跡誤差または位置誤差、もしくは、振動が各閾値内に収まる限り、あるいは動作速度が目標動作速度に至るまで、処理を繰り返すようにしてもよい。
【0024】
本発明の他の実施態様として、学習制御部は、センサの検出結果から算出された制御対象部位の軌跡誤差、位置誤差または振動成分を含んだデータをロボット機構部の各軸を基準とした位置座標に変換することにより各軸上のデータを算出するようにしてもよい。
【0025】
本発明の他の実施態様として、学習制御部は、ロボット機構部に所定の動作を実行させて、センサの位置及び傾きを算出するようにしてもよい。
【0026】
本発明の他の実施態様として、学習補正量を保存するための記憶部を更に有することが好ましい。
【0027】
本発明の他の実施態様として、センサは、ビジョンセンサ、加速度センサ、ジャイロセンサ、慣性センサ、及び歪ゲージのいずれかであることが好ましい。
【0028】
本発明の他の実施態様として、ロボット機構部へのセンサの着脱を可能とする取付手段を備えることが好ましい。
【発明の効果】
【0029】
本発明によれば、学習制御部が学習稼動状態で設定可能な最大動作速度を算出し、最大動作速度に至るまで1回または複数回に渡って動作速度を増加させながら学習補正量を算出する学習を行うことにより、学習中における動作の高速化を自動的に実行することができる。
【0030】
また本発明によれば、位置制御の対象となる部位の位置をセンサで検出し、これを目標とする動作に近づけるよう制御する、学習制御機能を有することにより、スポット溶接ロボットの振動を抑え、俊敏な動作を実現することができる。
【0031】
さらに本発明によれば、振動のない俊敏な動作によって、ロボットの動作速度をあげ、ロボットの作業能力を向上させることが可能となる。スポット溶接では、ロボット動作速度の向上によって生産性の向上を達成することができる。また、同じサイクルタイムのスポット溶接システムであれば、より少ない台数のスポット溶接ロボットで、これまでと同じボリュームのスポット溶接が実現できるため、システムコストの低減が可能となる。
【図面の簡単な説明】
【0032】
【図1】従来のロボットの構成図である。
【図2】本発明の実施例1に係るスポット溶接ロボットのロボット機構部の斜視図である。
【図3】本発明の実施例1に係るスポット溶接ロボットのロボット機構部及びセンサの構成図である。
【図4】本発明の実施例1に係るスポット溶接ロボットのロボット機構部の構成概念図である。
【図5】ワールド座標系におけるセンサの位置を示す図である。
【図6】本発明の実施例1に係るスポット溶接ロボットの構成図である。
【図7】本発明の実施例1に係るスポット溶接ロボットを構成するロボット機構部の動作手順について説明するためのフローチャートである。
【図8】本発明の実施例2に係るスポット溶接ロボットを構成するロボット機構部の動作手順について説明するためのフローチャートである。
【図9】本発明の実施例3に係るスポット溶接ロボットを構成するロボット機構部の動作手順について説明するためのフローチャートである。
【図10】本発明の実施例4に係るスポット溶接ロボットを構成するロボット機構部の動作手順について説明するためのフローチャートである。
【図11】ビジョンセンサの例を示す図である。
【発明を実施するための形態】
【0033】
以下、図面を参照して、本発明に係るスポット溶接ロボットについて説明する。ただし、本発明の技術的範囲はそれらの実施の形態には限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
【実施例1】
【0034】
本実施例ではスポット溶接ロボットの動作の高速化を行う例について説明する。まず、図2に本発明のスポット溶接ロボットのロボット機構部の斜視図を示す。また、図3に本発明のスポット溶接ロボットのロボット機構部の構成図を示す。図3(a)はロボット機構部の全体構成を示し、図3(b)はセンサを取り付けたスポット溶接ガン(以下、単に「ガン」という。)の拡大図を示す。ロボット機構部1は公知のロボットマニピュレータであり、位置制御の対象とする制御対象部位であるガン12が作業を行う位置姿勢に到達可能であれば、その機構に制限はない。ガン12は対向する一対の電極(対向電極21及び可動電極22)を備えており、一方を可動として対向電極21と可動電極22との間の間隔を可変とすることにより、種々の溶接ワーク(図示せず)に対して溶接を行うことができる。ロボット機構部1の軌跡及び位置及びロボット機構部が静止するために減速した際に起きる振動を検出するセンサとして、センサ10が、ロボット機構部の位置制御の対象とする制御対象部位であるガン12の先端部に取り付けられている。センサ10として、三軸加速度センサを用いることができる。センサ10は、ロボット機構部1への着脱を可能とする取付手段として磁石を備えており、着脱可能となっている。センサ10のケースを磁石としてもよい。なお、磁石を用いる例は一例であって、他の手段により取付手段を構成してもよい。
【0035】
以下、本発明の実施例として加速度センサを用いた例について説明するが、加速度センサの代わりにビジョンセンサを用いてもよい。ビジョンセンサを用いた例を図11に示す。ビジョンセンサ70は、第1カメラ72及び第2カメラ73の2台のカメラを備えており、ロボットハンド71に設置される。ビジョンセンサ70は、カメラ72、73を用いて、ターゲットライン74上の仮想ツールセンターポイント(TCP)76の位置を計測し、進行方向75をx軸の正の方向にとった場合における、x軸、y軸、z軸のそれぞれの軸方向の軌跡誤差等であるΔx, Δy, Δzを算出するものである。
【0036】
センサ10を取り付けた後、ロボット機構部に所定の動作を実行させて、センサの位置及び傾きを算出するキャリブレーションを行う。キャリブレーションの手順は次の通りである。
【0037】
まず、最初に加速度センサの傾きを特定する。図4のように、ワールド座標系のある点P0からX軸方向に動作を行い、ある点P1を通過し、その時の加速度データを取得する。そして、P0点における静止状態での加速度データをa0として、P1点における動作状態での加速度データをa1とする。その時、重力加速度(静止加速度)を除外した加速度aはa= a1- a0と表す事ができる。このとき、モータエンコーダからの推定アーム加速度をaxwとすると、規格化を行って、ax=a/axwと表すことができる。
【0038】
同様に、点P0からY軸方向に動作を行い、ある点P2を通過し、その時の加速度データa2を取得する。その時、重力加速度を除外した加速度aはa=a2-a0と表す事ができる。このとき、モータエンコーダからの推定アーム加速度をaywとすると、規格化を行って、ay=a/aywと表すことができる。
【0039】
これら二つに直交するベクトルをa=ax×ayとして、以下のように表すことができる。
【数1】

【0040】
それ故、ツール座標系からワールド座標系へ姿勢の変換を行うための行列Rtは以下のように表すことができる。
【0041】
【数2】

【0042】
次に、J5とJ6を動作させる事により、加速度センサの位置を特定する。まず、図4の様にJ5をΔθ1だけ回転させる。そして、その時の変位Δφ1を以下のようにする。
【0043】
【数3】

その時のワールド座標系のX軸方向のオフセット量ΔxはΔx=Δφ1/Δθ1と表される。
【0044】
そして、図5の様にJ6をΔθ2だけ回転させる。そして、その時の変位Δφ2を以下のようにする。
【0045】
【数4】

【0046】
そのとき、γ=Δφ2/Δθ2となり、ワールド座標系Y軸方向のオフセット量ΔyはΔy=γcosθ2、ワールド座標系のZ軸方向のオフセット量ΔzはΔz=γsinθ2と計算される。
【0047】
次に学習制御器の設計を行う。まず、それぞれの軸について学習補正量の入力から加速度センサの検出結果から推定した位置までの周波数応答を測定する。また、学習制御のブロックは図6に描かれている。
【0048】
図6に本発明の実施例に係るスポット溶接ロボットの概略構成図を示す。ロボット100は、ロボット機構部1と、ロボット機構部1を制御するロボット制御部2により構成される。ロボット機構部1は、位置制御の対象とする制御対象部位であるガン12と、ガン12に設置されたセンサ10と、を備えている。ロボット制御部2は、ロボットの学習制御を実施する学習制御部3と、ロボット機構部1を直接的に駆動する動作制御部4とを備えている。動作制御部4は、制御対象部位であるガン12の目標軌跡または目標位置に関する位置指令データを取得し、位置指令データを用いて算出される位置偏差データに従って、作業プログラムにより、ロボット機構部1を所定の動作速度で動作させる。
【0049】
学習制御部3は、センサ10の検出結果から制御対象部位であるガン12の軌跡または位置を算出し、軌跡と目標軌跡との間の軌跡誤差または位置と目標位置との間の位置誤差を補正するための、もしくはロボット機構部1を動作させたときに生じる制御対象部位であるガン12の振動を抑制するための、学習補正量を、学習制御により算出する。動作制御部4は、学習補正量を用いて位置偏差データを補正する。
【0050】
実施例1に係るスポット溶接ロボットは、学習制御部3が、学習補正量を算出する過程で、ロボット機構部1で設定可能な最大動作速度を算出し、最大動作速度に至るまで1回又は複数回に渡って動作速度を増加させながら学習補正量を算出する点を特徴としている。学習制御部3以外は、図1に示した従来のロボットの構成と同様であるので、詳細な説明は省略する。
【0051】
学習制御部3には、第1メモリ31、位置変換器35、ハイパスフィルター36、逆変換器IK(Inverse Kinematics)37、順変換器FK(Forward Kinematics)38、学習制御器L(q)32、ローパスフィルターQ(q)33、第2メモリ34、第3メモリ35、第4メモリ39、一試行遅れW-1300が設けられている。そして、その周波数応答結果から、線形行列不等式を解く事により、学習制御器の設計を行う。
【0052】
次に、学習制御器の設計方法について説明する。上述の線形行列不等式とは以下の拘束条件下で、
【0053】
【数5】

【0054】
【数6】

【0055】
この式ではQ(z)が学習帯域をカット周波数に持つローパスフィルター、L(z)が学習制御フィルター、P(z)が学習補正量入力から制御対象までの伝達関数になる。このγが小さい程、学習制御器の性能は高くなる。学習制御器の最適化問題はQ(z)すなわち、学習制御の帯域が与えられた時、最小のγを与える学習フィルターL(z)を算出する問題である。そして、この式は以下の様に変形する事が可能である。
【0056】
【数7】

【0057】
【数8】

【0058】
ここで、Lkをαk,jとVjの線形性により表す事ができる。ここで、VjはLkと同じ次元であり、Vjは、要素(j,i)以外は全てゼロになる。例えば、Ny=2、Nu=2とする。
【0059】
【数9】

【0060】
【数10】

【0061】
【数11】

【0062】
そして、最小化問題はcTxすなわちγ2を最小とする問題に帰着する。これは、学習制御器の最適化問題と読み替える事ができる。よって、安定性条件と単調減少性への十分条件は
【0063】
【数12】

となる。そこで、実験からP(ejΩi)を測定し、学習帯域フィルターQ(z)を与えれば、自動的に学習フィルターL(z)を求める事ができる。
【0064】
更に、学習制御器のロバスト性を考慮する。ロボットは姿勢により大きくシステムが変化するのが特徴である。
【0065】
ある一つの姿勢を基準姿勢とした時に、Pn(z)は基準姿勢の学習システムとする。そうすると、任意の姿勢Pm(z)はPm(z)=Pn(z)+ΔPm(z)と表される。ΔPm(z)はその基準姿勢からの学習システムの変化量である。その時、学習帯域フィルターQ(z)が与えられた場合の拘束条件は以下のようになる。
【0066】
【数13】

【0067】
そこで、m姿勢分だけ、実験よりP(ejΩi)を測定すれば、前例同様に自動的に学習制御器を求める事ができる。
【0068】
次に、学習制御器のデータ処理手順について説明する。図6に示されるように、フィードバックは位置制御、速度制御、電流制御の三つのループから成立していて、学習制御はフィードバックの位置制御ループ外側にループを組んでいる。実線部分は学習稼動状態で動作中に有効なループになり、停止後は点線のループが有効となる。ajは加速度センサから得たデータであり、位置変換器35は加速度データajを位置データに変換する。学習中は、センサ10が検出したロボットの静止の際に起きる振動のデータを第1メモリ31に保存する。第2メモリ34からは学習補正量uj+1(k)が出力される。
【0069】
動作終了後、位置変換器35により直交座標の軌跡誤差等を推定し、ゼロ位相ハイパスフィルターであるハイパスフィルター36を用いる事により、オフセットを取り除いた軌跡誤差等Δrを抽出する。その軌跡誤差等をモータ位置フィードバック(FB)データからFKを用いて推定したセンサの推定位置データrに加算することにより、アームのダイナミクスを含めた、センサ10の直交座標系でのセンサ位置を推定する。
【0070】
ここで、センサから推定されたセンサ位置を基軸三軸に逆変換(逆運動学計算)することにより、アームダイナミクスを含んだ各軸上での位置を計算する。即ち、センサの検出結果から算出された制御対象部位の軌跡誤差、位置誤差または振動成分を含んだデータをロボット機構部の各軸を基準とした位置座標に変換することにより各軸上のデータを算出する。このアームダイナミクスを含んだ各軸位置からアームダイナミクスを含まない各軸の位置、すなわちモータの位置を減算することにより各軸目的補正量を算出する。以下の式ではψjがj回目の試行の各軸目的補正量、IKは逆変換、θjはj回目の試行の各軸モータ位置である。
【0071】
【数14】

【0072】
この各軸目的補正量ψjを学習制御器に入力する事により、次の試行の学習補正量uj+1(k)を算出する。学習制御器L(q)32を通して、第3メモリ35から前の試行の学習補正量uj(k)を足し込みローパスフィルターQ(q)33を通して、次の試行の学習補正量uj+1(k)が算出される。以上のようにして、センサ10から検出されたデータを用いて、位置振動成分を抑制する学習補正量uj+1(k)を算出する。
【0073】
次に、本発明の実施例1に係るロボット機構部の動作手順について図面を用いて説明する。図7は、実施例1に係るロボット機構部の動作手順について説明するためのフローチャートである。ロボット機構部の動作の高速化は、学習制御部が、学習実行中に、即ち学習補正量を算出する過程(学習稼動状態)で、ロボット機構部に設定可能な最大動作速度を算出し、最大動作速度に至るまで1回または複数回に渡って動作速度を増加させながら学習補正量を算出する学習を行うことにより実行される。ここで、「学習稼動状態」とは、作業プログラムによりロボット機構部を動作させて、センサの検出結果から算出したロボット機構部の制御対象位置の軌跡または位置を、動作制御部に与えられた目標軌跡もしくは目標位置に、それぞれ近づけるために学習補正量を算出する学習を行う状態をいう。
【0074】
まず、ステップS101において、学習制御部は、学習補正量を算出する過程で、ロボット機構部で設定可能な最大動作速度を算出する。最大動作速度は、ロボット機構部で許容される最大速度及び最大加速度に基づいて算出することができる。具体的には、最初に、ロボット機構部を一回動作させて、一回目の試行のデータから、各軸モータの学習可能な最大動作速度をロボット機構部に許容される最大加速度、最大速度の観点から算出する。
【0075】
まず、最大加速度の観点から各軸モータの学習可能な最大動作速度を算出する方法について説明する。ここで、動作速度の算出は、初期の動作速度に掛ける係数である速度オーバライドを算出することにより行う。ロボットの運動方程式は以下の様に定義される。
【0076】
【数15】

【0077】
【数16】

【0078】
【数17】

ここで、添え字のiはi軸目を示す。
【0079】
上記のようにして、最大加速度の観点から、最大速度オーバライドovr_max1,iが得られ、初期の動作速度に最大速度オーバライドを掛けることにより最大動作速度が得られる。
【0080】
同様に、最大速度の観点から、最大速度オーバライドovr_max2,iについて計算を行う。一回目の試行の最大速度をων,i、モータの最大速度許容量をωp,iとすると、
【0081】
【数18】

となる。
【0082】
上記のようにして、最大速度の観点から、最大速度オーバライドovr_max2,iが得られる。上記の2つの条件と更に軸の中で最小の速度オーバライドが学習制御で使用可能な最大速度オーバライドになる。よって、それをovr_maxと表すと、
【0083】
【数19】

となる。一回のステップで増加させる速度オーバライドの量をΔとすると、ステップ数nは、Δを用いて以下の様に算出される。
【0084】
【数20】

【0085】
動作速度を最大動作速度まで、例えばnステップで増加させて学習を実行し学習補正量を算出する。具体的には、まず、ステップS102において、学習制御部は、初期の動作速度において学習を数回繰り返し、振動が収束した後に、学習補正量を算出する。次に、ステップS103において、学習制御部は、学習補正量をメモリ等の記憶部、例えばF−ROMもしくはメモリカード(MC)等に保存する。
【0086】
次に、ステップS104において、学習制御部は、動作速度を所定量増加させ、ステップS105において、学習制御部は、動作速度が最大動作速度より大きくなっているか否かを判断し、動作速度が最大動作速度以下である場合(No)には、ステップS102において、学習制御部は、所定量増加させた動作速度において学習を実行する。即ち、現在の動作速度である動作速度に所定量の速度を加算した新たな動作速度である新動作速度にて学習を実行する。動作速度が最大動作速度より大きくなっている場合(Yes)には、学習制御を終了する。
【0087】
このようにして、動作速度が最大動作速度に達するまで、動作速度を上げるプロセスと学習を行うプロセスを繰り返す事により、最大動作速度付近での学習補正量を得ることができ、ロボットの動作を高速化することができる。また、本実施例のように、動作速度を徐々に増加させることにより、学習過程で生じる振動を抑制することができ、学習補正量の補正によって抑えるべき振動を小さくすることができる。その結果として、振動を抑制する効果(制振効果)がよくなる。
【0088】
ロボット機構部を学習制御により算出した学習補正量基づいて動作させる実稼動時にはF−ROMもしくはメモリカード(MC)から呼び出して学習補正量を再生する。
【実施例2】
【0089】
次に、本発明の実施例2に係るスポット溶接ロボットのロボット機構部の動作手順について図面を用いて説明する。実施例2に係るスポット溶接ロボットの構成図は実施例1と同様であるので詳細な説明は省略する。図8は、実施例2に係るロボット機構部の動作手順について説明するためのフローチャートである。本発明の実施例2に係るスポット溶接ロボットは、動作制御部4が、ロボット機構部1の動作速度の目標値である目標動作速度を取得し、学習制御部3が、目標動作速度と最大動作速度とを比較し、目標動作速度が最大動作速度より小さい場合には、目標動作速度に至るまで1回又は複数回に渡って動作速度を増加させながら学習補正量を算出する点を特徴としている。
【0090】
まず、ステップS201において、スポット溶接ロボットの動作制御部4が外部から目標動作速度を取得する。具体的には、図6において、位置制御部41が位置指令データyd(k)とともに目標動作速度を取得し、速度制御部42に転送する。次に、ステップS202において、学習制御部3は、学習補正量を算出する過程で、ロボット機構部1で設定可能な最大動作速度を算出する。最大動作速度は、ロボット機構部で許容される最大速度及び最大加速度に基づいて算出することができる。具体的には、最初に、ロボット機構部を一回動作させて、一回目の試行のデータから、各軸モータの学習可能な最大動作速度をロボット機構部に許容される最大加速度、最大速度の観点から算出する。最大動作速度の算出方法は実施例1と同様であるので詳細な説明は省略する。
【0091】
次に、ステップS203において、取得した目標動作速度と最大動作速度との大小関係を比較する。目標動作速度が最大動作速度より小さい場合には、目標動作速度に至るまで1回又は複数回に渡って動作速度を増加させながら学習補正量を算出する。具体的には、ステップS204において、学習制御部3は、初期の動作速度において学習を数回繰り返し、振動が収束した後に、学習補正量を算出する。次に、ステップS205において、学習制御部3は、学習補正量をメモリ、例えばF−ROMもしくはメモリカード(MC)等に保存する。
【0092】
次に、ステップS206において、学習制御部は動作速度を所定量増加させ、ステップS207において、学習制御部3は、動作速度が目標動作速度より大きくなっているか否かを判断し、動作速度が目標動作速度以下である場合(No)には、ステップS204において、学習制御部3は、動作速度を所定量増加させた後の動作速度において学習を実行する。即ち、現在の動作速度である動作速度に所定量の速度を加算した新たな動作速度である新動作速度にて学習を実行する。動作速度が目標動作速度より大きくなっている場合(Yes)には、学習制御を終了する。
【0093】
このようにして、動作速度が目標動作速度に達するまで、動作速度を上げるプロセスと学習を行うプロセスを繰り返す事により、目標動作速度付近での学習補正量を得ることができ、ロボットの動作を高速化することができる。また、本実施例のように、動作速度を徐々に増加させることにより、学習過程で生じる振動を抑制することができ、学習補正量の補正によって抑えるべき振動を小さくすることができる。その結果として、振動を抑制する効果(制振効果)がよくなる。さらに、目標動作速度が最大動作速度よりも小さい場合には、動作速度を最大動作速度まで増加させる必要がなくなり、学習補正量の算出を短時間で行うことができる。
【0094】
ロボット機構部を学習制御により算出した学習補正量基づいて動作させる実稼動時にはF−ROMもしくはメモリカード(MC)から呼び出して学習補正量を再生する。
【0095】
一方、ステップS203において、目標動作速度が最大動作速度以上である場合については、学習制御を終了させてもよいし、実施例1と同様に動作速度が最大動作速度に至るまで学習制御を行うようにしてもよい。一例として、図8においては、動作速度が最大動作速度に至るまで学習制御を行う例を示している。ステップS209〜S211は、上記のS204〜S206と同様である。ステップS212において、学習制御部3は、動作速度が最大動作速度より大きくなっているか否かを判断し、動作速度が最大動作速度以下である場合(No)には、ステップS209において、学習制御部は、動作速度を所定量増加させて学習を実行する。即ち、現在の動作速度である動作速度に所定量の速度を加算した新たな動作速度である新動作速度にて学習を実行する。動作速度が最大動作速度より大きくなっている場合(Yes)には、学習制御を終了する。
【0096】
本実施例では、目標動作速度が最大動作速度を超えている場合について、動作速度を最大動作速度まで増加させて学習補正量を算出する例を示したがこのような例には限られない。上述のように、目標動作速度が最大動作速度を超えている場合には学習補正を終了するようにしてもよい。
【実施例3】
【0097】
次に、本発明の実施例3に係るスポット溶接ロボットのロボット機構部の動作手順について図面を用いて説明する。実施例3に係るスポット溶接ロボットの構成図は実施例1と同様であるので詳細な説明は省略する。図9は、実施例3に係るロボット機構部の動作手順について説明するためのフローチャートである。本発明の実施例3に係るスポット溶接ロボットは、位置制御の対象とする制御対象部位であるガン12と、制御対象部位であるガン12に設置されたセンサ10と、を備えたロボット機構部1と、制御対象部位であるガン12の目標軌跡または目標位置に関する位置指令データを取得し、位置指令データを用いて算出される位置偏差データに従って、作業プログラムにより、ロボット機構部1を所定の動作速度で動作させる動作制御部4と、センサ10の検出結果から制御対象部位であるガン12の軌跡または位置を算出し、軌跡と目標軌跡との間の軌跡誤差または位置と目標位置との間の位置誤差を補正するための、もしくはロボット機構部1を動作させたときに生じる制御対象部位であるガン12の振動を抑制するための、学習補正量を、学習制御により算出する学習制御部3と、を有し、動作制御部4は、学習補正量を用いて位置偏差データを補正し、学習制御部3は、学習補正量を算出し、軌跡誤差または位置誤差、もしくは、振動と予め設定した各閾値とを比較する処理を行い、軌跡誤差または位置誤差、もしくは、振動が各閾値を越えるまで、動作速度を増加させながら、上記処理を繰り返す、ことを特徴としている。
【0098】
以下、実施例3に係るスポット溶接ロボットの動作手順について説明する。まず、ステップS301において、学習制御部3は、初期の動作速度において学習を数回繰り返し、振動が収束した後に、学習制御部3は、センサ10の検出結果から制御対象部位であるガン12の軌跡または位置を算出し、軌跡と目標軌跡との間の軌跡誤差または位置と目標位置との間の位置誤差を補正するための、もしくはロボット機構部を動作させたときに生じる制御対象部位であるガン12の振動を抑制するための、学習補正量を、学習制御により算出する。次に、ステップS302において、学習制御部3は、学習補正量をメモリ等の記憶部、例えばF−ROMもしくはメモリカード(MC)等に保存する。
【0099】
次に、ステップS303において、動作速度を所定量増加させ、ステップS304において、軌跡誤差または位置誤差、もしくは、振動が各閾値を越えているか否かを判断する。図9においては、軌跡誤差とその閾値との間の大小関係について判断する例を示しているが、位置誤差及び振動についても同様である。軌跡誤差、位置誤差及び振動の各閾値は予めメモリに格納しておくことができる。次に、ステップS304において、軌跡誤差が閾値を越えている場合には処理を終了し、軌跡誤差が閾値以下の場合には、ステップS301に戻って学習を繰り返す。例えば、動作速度を50mm/secで動作させたときには軌跡誤差が閾値以下であり、動作速度を100mm/secで動作させたときには軌跡誤差が閾値を越えたような場合、学習補正量の算出は動作速度50mm/secの場合について実行され、動作速度100mm/secの場合には実行されない。このようにして、軌跡誤差が所定の閾値の範囲内となる学習補正量を算出することができる。
【0100】
ここで、動作速度を増加させる方法について詳しく説明する。本実施例のように、最大動作速度が設定されていない場合、即ち最大速度オーバライドが設定されていない場合、例えば動作時間終了前100msec(0.1sec)の軌跡誤差が閾値内に収まる限り、ある一定量のオーバライドを上げていく。このプロセスを繰り返す事により、高速化が行われる。
【0101】
振動量をψj(t)、動作終了時間をt_endとする。すると、振動量が閾値内に収まる条件は以下の様に表記可能である。
【0102】
【数21】

【0103】
目標動作速度が設定されていない場合、即ち、目標オーバライドが設定されていない場合、上記の条件を満たす間、オーバライドを上げていく。over_curを今回の試行のオーバライドと定義する。
【0104】
なお、実施例2のように目標オーバライドover_max3がサイクルタイムにより算出されている場合は上記の条件と下記の条件が同時に満たされている間、オーバライドを上げていく。
over_cur<over_max3
【0105】
以上のように、本実施例によるスポット溶接ロボットによれば、軌跡誤差等が所定の閾値に収まる範囲内で動作速度を高めた状態での学習補正量を算出することができるので、一定の軌跡誤差等の範囲内でスポット溶接ロボットの動作速度を高速化することができる。
【実施例4】
【0106】
次に、本発明の実施例4に係るスポット溶接ロボットのロボット機構部の動作手順について図面を用いて説明する。実施例4に係るスポット溶接ロボットの構成図は実施例1と同様であるので詳細な説明は省略する。図10は、実施例4に係るロボット機構部の動作手順について説明するためのフローチャートである。本発明の実施例4に係るスポット溶接ロボットは、動作制御部4が、ロボット機構部1の動作速度の目標値である目標動作速度を取得し、学習制御部3は、目標動作速度に至るまで1回又は複数回に渡って動作速度を増加させ、増加させる度に、学習補正量を算出し、軌跡誤差または位置誤差、もしくは、振動と予め設定した各閾値とを比較する処理を行い、軌跡誤差または位置誤差、もしくは、振動が各閾値内に収まる限り、あるいは動作速度が目標動作速度に至るまで、処理を繰り返す、ことを特徴としている。
【0107】
以下、実施例4に係るスポット溶接ロボットの動作手順について説明する。まず、ステップS401において、スポット溶接ロボットの動作制御部4が外部から目標動作速度を取得する。具体的には、図6において、位置制御部41が位置指令データyd(k)とともに目標動作速度を取得し、速度制御部42に転送する。次に、ステップS402において、学習制御部3は、初期の動作速度において学習を数回繰り返し、振動が収束した後に、学習制御部3は、センサ10の検出結果から制御対象部位であるガン12の軌跡または位置を算出し、軌跡と目標軌跡との間の軌跡誤差または位置と目標位置との間の位置誤差を補正するための、もしくはロボット機構部を動作させたときに生じる制御対象部位であるガン12の振動を抑制するための、学習補正量を、学習制御により算出する。次に、ステップS403において、学習制御部3は、学習補正量をメモリ等の記憶部、例えばF−ROMもしくはメモリカード(MC)等に保存する。
【0108】
次に、ステップS404において、動作速度を所定量増加させ、ステップS405において、取得した目標動作速度と最大動作速度との大小関係を比較する。目標動作速度が最大動作速度より小さい場合には、ステップS406において、軌跡誤差または位置誤差、もしくは、振動が各閾値を越えているか否かを判断する。図10においては、軌跡誤差とその閾値との間の大小関係について判断する例を示しているが、位置誤差及び振動についても同様である。軌跡誤差、位置誤差及び振動の各閾値は予めメモリに格納しておくことができる。
【0109】
ステップS406において、軌跡誤差が閾値を越えている場合には処理を終了し、軌跡誤差が閾値以下の場合には、ステップS402に戻って学習を繰り返す。例えば、動作速度を50mm/secで動作させたときには軌跡誤差が閾値以下であり、動作速度を100mm/secで動作させたときには軌跡誤差が閾値を越えたような場合、学習補正量の算出は動作速度50mm/secの場合について実行され、動作速度100mm/secの場合には実行されない。このようにして、軌跡誤差が所定の閾値の範囲内となる学習補正量を算出することができる。一方、ステップS405において、目標動作速度が最大動作速度以上の場合には、処理を終了する。
【0110】
本実施例においては、動作速度が目標動作速度を超えない範囲内かつ軌跡誤差等が閾値を超えない範囲内で学習補正量を算出するようにしているので、目標動作速度及び軌跡誤差等の両者の条件を満足する学習補正量を算出することができる。従って、動作速度が設定した目標動作速度の範囲内において、軌跡誤差等が所定の閾値の範囲に収まる範囲内で動作速度を高めた状態での学習補正量を算出することができるので、所定の目標動作速度の範囲内かつ一定の軌跡誤差等の範囲内でスポット溶接ロボットの動作速度を高速化することができる。
【0111】
以上、本発明の実施例においては、ロボット機構部に取り付けるセンサとして、加速度センサを用いる例を示したが、ビジョンセンサ、ジャイロセンサ、慣性センサ、歪ゲージを用いてもよい。
【符号の説明】
【0112】
1 ロボット機構部
2 ロボット制御部
3 学習制御部
4 動作制御部
10 加速度センサ
12 ガン
21 対向電極
22 可動電極
31 第1メモリ
32 学習制御器
33 ローパスフィルター
34 第2メモリ
35 第3メモリ
36 ハイパスフィルター
37 逆変換器
38 順変換器
41 位置制御部
42 速度制御部
43 電流制御部
44 アンプ
45 微分手段
100 ロボット

【特許請求の範囲】
【請求項1】
位置制御の対象とする制御対象部位と、前記制御対象部位に設置されたセンサと、を備えたロボット機構部と、
前記制御対象部位の目標軌跡または目標位置に関する位置指令データを取得し、前記位置指令データを用いて算出される位置偏差データに従って、作業プログラムにより、前記ロボット機構部を所定の動作速度で動作させる動作制御部と、
前記センサの検出結果から前記制御対象部位の軌跡または位置を算出し、前記軌跡と前記目標軌跡との間の軌跡誤差または前記位置と前記目標位置との間の位置誤差を補正するための、もしくは前記ロボット機構部を動作させたときに生じる前記制御対象部位の振動を抑制するための、学習補正量を、学習制御により算出する学習制御部と、を有し、
前記動作制御部は、前記学習補正量を用いて前記位置偏差データを補正し、
前記学習制御部は、前記学習補正量を算出する過程で、前記ロボット機構部で設定可能な最大動作速度を算出し、前記最大動作速度に至るまで1回又は複数回に渡って前記動作速度を増加させながら前記学習補正量を算出する、
ことを特徴とするスポット溶接ロボット。
【請求項2】
前記動作制御部は、前記ロボット機構部の動作速度の目標値である目標動作速度を取得し、
前記学習制御部は、前記目標動作速度と前記最大動作速度とを比較し、前記目標動作速度が前記最大動作速度より小さい場合には、前記目標動作速度に至るまで1回又は複数回に渡って前記動作速度を増加させながら前記学習補正量を算出する、請求項1に記載のスポット溶接ロボット。
【請求項3】
前記学習制御部は、前記最大動作速度を前記ロボット機構部で許容される最大速度及び最大加速度に基づいて算出する、請求項1又は2に記載のスポット溶接ロボット。
【請求項4】
位置制御の対象とする制御対象部位と、前記制御対象部位に設置されたセンサと、を備えたロボット機構部と、
前記制御対象部位の目標軌跡または目標位置に関する位置指令データを取得し、前記位置指令データを用いて算出される位置偏差データに従って、作業プログラムにより、前記ロボット機構部を所定の動作速度で動作させる動作制御部と、
前記センサの検出結果から前記制御対象部位の軌跡または位置を算出し、前記軌跡と前記目標軌跡との間の軌跡誤差または前記位置と前記目標位置との間の位置誤差を補正するための、もしくは前記ロボット機構部を動作させたときに生じる前記制御対象部位の振動を抑制するための、学習補正量を、学習制御により算出する学習制御部と、を有し、
前記動作制御部は、前記学習補正量を用いて前記位置偏差データを補正し、
前記学習制御部は、前記学習補正量を算出し、前記軌跡誤差または前記位置誤差、もしくは、前記振動と予め設定した各閾値とを比較する処理を行い、前記軌跡誤差または前記位置誤差、もしくは、前記振動が前記各閾値を越えるまで、前記動作速度を増加させながら、前記処理を繰り返す、
ことを特徴とするスポット溶接ロボット。
【請求項5】
前記動作制御部は、前記ロボット機構部の動作速度の目標値である目標動作速度を取得し、
前記学習制御部は、前記目標動作速度に至るまで1回又は複数回に渡って前記動作速度を増加させ、増加させる度に、学習補正量を算出し、前記軌跡誤差または前記位置誤差、もしくは、前記振動と予め設定した各閾値とを比較する処理を行い、前記軌跡誤差または前記位置誤差、もしくは、前記振動が前記各閾値内に収まる限り、あるいは前記動作速度が前記目標動作速度に至るまで、前記処理を繰り返す、請求項4に記載のスポット溶接ロボット。
【請求項6】
前記学習制御部は、前記センサの検出結果から算出された前記制御対象部位の軌跡誤差、位置誤差または振動成分を含んだデータを前記ロボット機構部の各軸を基準とした位置座標に変換することにより前記各軸上のデータを算出する、請求項1乃至5のいずれか一項に記載のロボット。
【請求項7】
前記学習制御部は、前記ロボット機構部に所定の動作を実行させて、前記センサの位置及び傾きを算出する、請求項1乃至6のいずれか一項に記載のスポット溶接ロボット。
【請求項8】
前記学習補正量を保存するための記憶部を更に有する、請求項1乃至7のいずれか一項に記載のスポット溶接ロボット。
【請求項9】
前記センサは、ビジョンセンサ、加速度センサ、ジャイロセンサ、慣性センサ、及び歪ゲージのいずれかである、請求項1乃至8のいずれか一項に記載のスポット溶接ロボット。
【請求項10】
前記ロボット機構部への前記センサの着脱を可能とする取付手段を備える、請求項1乃至9のいずれか一項に記載のスポット溶接ロボット。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2012−240142(P2012−240142A)
【公開日】平成24年12月10日(2012.12.10)
【国際特許分類】
【出願番号】特願2011−110787(P2011−110787)
【出願日】平成23年5月17日(2011.5.17)
【出願人】(390008235)ファナック株式会社 (1,110)
【Fターム(参考)】