(57)【要約】【課題】  エンドエフェクタの軌跡の精度を改善する学習機能を備えたロボット及びそのロボットの制御方法を提供する。【解決手段】  ロボット１のエンドエフェクタ５に加速度センサ５０及びビジョンセンサ５２を取付けた状態でエンドエフェクタ５の情報を測定しつつ動作プログラムのテスト運転を繰り返すことにより、ロボット制御装置１０は最適動作を学習する。その後の実稼動では、センサ５０及び５２は使用されず、学習した最適動作に基づく高精度の動作が行われる。実稼動時は、センサ５０及び５２を取外してもよい。【選択図】      図１
2006110702.tif 000002
【特許請求の範囲】
【請求項１】
ロボット機構部と、
前記ロボット機構部に取付けられるエンドエフェクタと、
前記ロボット機構部の動作による前記エンドエフェクタ又は前記ロボット機構部の移動情報を測定するための移動情報測定部と、
前記ロボット機構部の動作を制御する制御装置と、を備えたロボットにおいて、
前記制御装置は、前記移動情報測定部から得た情報に基づいて前記ロボット機構部の動作によるテスト運転を制御して、前記ロボット機構部の動作を改善するための学習制御を実行する学習制御部と、
前記学習制御部が実行した前記学習制御の結果として得られた補正量に基づいて、前記ロボット機構部による実稼動を制御する実稼動制御部と、を有することを特徴とする、
ロボット。
【請求項２】
前記移動情報は前記エンドエフェクタの加速度を含み、前記移動情報測定部は前記エンドエフェクタの加速度を測定するための加速度センサを有する、請求項１に記載のロボット。
【請求項３】
前記移動情報は前記エンドエフェクタの位置を含み、前記移動情報測定部は前記エンドエフェクタの位置を検出するためのビジョンセンサをさらに有する、請求項２に記載のロボット。
【請求項４】
前記ビジョンセンサは前記エンドエフェクタに取付けられる、請求項３に記載のロボット。
【請求項５】
前記ビジョンセンサは作業空間内の任意の固定位置に配置される、請求項３に記載のロボット。
【請求項６】
前記学習制御部及び前記実稼動制御部による前記ロボット機構部への動作指令は、速度指令、トルク指令及び位置指令の少なくとも１つを含む、請求項１〜５のいずれか１項に記載のロボット。
【請求項７】
ロボット機構部と、
前記ロボット機構部に取付けられるエンドエフェクタと、
前記ロボット機構部の動作による前記エンドエフェクタ又は前記ロボット機構部の移動情報を測定するための移動情報測定部と、
前記ロボット機構部の動作を制御する制御装置と、を備えたロボットの前記ロボット機構部の動作を制御する方法であって、
前記移動情報測定部から得た情報に基づいて前記ロボット機構部の動作によるテスト運転を制御して、前記ロボット機構部の動作を改善するための学習制御を実行することと、
前記学習制御部が実行した前記学習制御の結果として得られた補正量に基づいて、前記ロボット機構部による実稼動を制御することと、を含むことを特徴とする方法。
【請求項８】
前記学習制御を実行することにおいて前記テスト運転を複数回繰り返す、請求項７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習制御機能を備えたロボット及びそのロボットの制御方法に関する。
【背景技術】
【０００２】
従来、ロボットの動作制御に使用される学習制御機能を備えた装置としては、例えば特許文献１に開示されるサーボ制御装置がある。このサーボ制御装置は、同一指令パターンにおける位置偏差に基づいて補正データを作成しメモリに記憶するとともに位置偏差を補正する学習制御手段を備える。学習制御手段は、学習制御開始指令から学習制御終了指令までの間、位置偏差に基づいて補正データを作成するとともに位置偏差を補正することができる。この場合学習制御に使用されるセンサは、ロボットのエンドエフェクタ等に常時取付けた状態でデータの出力を行うのが一般的である。
【０００３】
また位置補正に関し、アームの位置補正を高精度かつ短時間に行うことを目的とした、ビジョンセンサを用いた産業用ロボットが特許文献２に記載されている。このロボットは、アームの先端に設けられたビジョンセンサと、このセンサの座標軸をロボット座標軸と一定の関係に保つようにセンサを駆動するセンサ駆動手段と、センサからの情報に基づいてロボットの位置を変更可能に制御する制御手段とを有する。
【０００４】
【特許文献１】特開２００４−２２７１６３号公報
【特許文献２】特開平５−９２３７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
高精度の動作制御が要求される場合には、実稼動を反復する間に学習制御を行うことが一般に行われる。その場合は、センサの保守を比較的頻繁に行う必要があり、また故障時等の交換用として複数のセンサを用意する必要もある。またエンドエフェクタの作動環境によっては、センサが他の機器等に干渉する虞もある。
【０００６】
また特許文献２に記載の産業用ロボットはビジョンセンサを使用するが、一般にビジョンセンサは、画像を取り込む時間間隔との関係等から、比較的低周波の偏差への追従には適しているが高周波の偏差には追従できないという周波数特性を有する。従ってより高精度の制御を行うにはやや不十分である。
【０００７】
そこで本発明は、センサの数や保守費用を減らし、低コストでエンドエフェクタの位置の軌跡を改善でき、さらに高周波の偏差にも追従できる学習制御を実行可能なロボット、及びそのようなロボットの制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、請求項１に係る発明は、ロボット機構部と、前記ロボット機構部に取付けられるエンドエフェクタと、前記ロボット機構部の動作による前記エンドエフェクタ又は前記ロボット機構部の移動情報を測定するための移動情報測定部と、前記ロボット機構部の動作を制御する制御装置と、を備えたロボットにおいて、前記制御装置は、前記移動情報測定部から得た情報に基づいて前記ロボット機構部の動作によるテスト運転を制御して、前記ロボット機構部の動作を改善するための学習制御を実行する学習制御部と、前記学習制御部が実行した前記学習制御の結果として得られた補正量に基づいて、前記ロボット機構部による実稼動を制御する実稼動制御部と、を有することを特徴とする、ロボットを提供する。
【０００９】
請求項２に係る発明は、請求項１に記載のロボットにおいて、前記移動情報は前記エンドエフェクタの加速度を含み、前記移動情報測定部は前記エンドエフェクタの加速度を測定するための加速度センサを有する、ロボットを提供する。
【００１０】
請求項３に係る発明は、請求項２に記載のロボットにおいて、前記移動情報は前記エンドエフェクタの位置を含み、前記移動情報測定部は前記エンドエフェクタの位置を検出するためのビジョンセンサをさらに有する、ロボットを提供する。
【００１１】
請求項４に係る発明は、請求項３に記載のロボットにおいて、前記ビジョンセンサは前記エンドエフェクタに取付けられる、ロボットを提供する。
【００１２】
請求項５に係る発明は、請求項３に記載のロボットにおいて、前記ビジョンセンサは作業空間内の任意の固定位置に配置される、ロボットを提供する。
【００１３】
請求項６に係る発明は、請求項１〜５のいずれか１項に記載のロボットにおいて、前記学習制御部及び前記実稼動制御部による前記ロボット機構部への動作指令は、速度指令、トルク指令及び位置指令の少なくとも１つを含む、ロボットを提供する。
【００１４】
請求項７に係る発明は、ロボット機構部と、前記ロボット機構部に取付けられるエンドエフェクタと、前記ロボット機構部の動作による前記エンドエフェクタ又は前記ロボット機構部の移動情報を測定するための移動情報測定部と、前記ロボット機構部の動作を制御する制御装置と、を備えたロボットの前記ロボット機構部の動作を制御する方法であって、前記移動情報測定部から得た情報に基づいて前記ロボット機構部の動作によるテスト運転を制御して、前記ロボット機構部の動作を改善するための学習制御を実行することと、前記学習制御部が実行した前記学習制御の結果として得られた補正量に基づいて、前記ロボット機構部による実稼動を制御することと、を含むことを特徴とする方法を提供する。
【００１５】
請求項８に係る発明は、請求項７に記載の方法において、前記学習制御を実行することにおいて前記テスト運転を複数回繰り返す、方法を提供する。
【発明の効果】
【００１６】
本発明によれば、テスト運転時はセンサをエンドエフェクタに取付けた状態で最適動作を学習し、実稼動時はセンサからの情報を使用せずに学習された最適動作に基づいて駆動制御が行われるので、実稼動時のエンドエフェクタの実軌道を実稼動時全体にわたり改善することができ、さらにセンサの保守の頻度を大きく低減することができる。
またセンサに加速度センサを用いることにより、高周波の偏差にも追従した高精度の制御が可能になる。
【発明を実施するための最良の形態】
【００１７】
以下に添付図面を参照してこの発明にかかるロボットの好適な実施の形態を詳細に説明する。
図１は、本発明に係るロボット１の概略構成及びロボット１が有するロボット制御装置１０のブロック構成を示す。なお本実施形態においては、学習制御部は後述する学習処理部及びサーボ制御部から構成され、実稼動制御部はサーボ制御部から構成される。
【００１８】
ロボット１は好ましくは多関節ロボットであり、そのロボット機構部２は、旋回可能な３つの関節３ａ、３ｂ及び３ｃと、回転可能な３つの関節４ａ、４ｂ及び４ｃとを有し、さらにロボット機構部２の末端（図示例では関節４ｃ）にはエンドエフェクタ５が取付けられる。さらにエンドエフェクタ５には、エンドエフェクタ５の並進方向および回転方向の加速度を検出するための移動情報測定部すなわち加速度センサ５０と、作業空間に固定的に配置された目印すなわちマーカー６０のエンドエフェクタ５に対する並進方向及び回転方向の座標を検出するための移動情報測定部すなわちビジョンセンサ５２が取付けられる。あるいは、エンドエフェクタ５の適当な箇所にマーカーを設け、ビジョンセンサ５２を他の固定部位に取付けてそのマーカーを検知するように構成してもよい。なお加速度センサ５０及びビジョンセンサ５２は、エンドエフェクタ５以外のロボット機構部２の部位の移動情報を測定するように構成されてもよい。
【００１９】
ロボット１を制御するロボット制御装置１０は、不揮発性メモリ１２を有し、さらに不揮発性メモリ１２は予め定めたロボットプログラムを格納するプログラム記憶部１４と、そのロボットプログラムに含まれる個々の動作文における補間周期毎の補正量（後述）を記憶する補正量記憶部１６とを有する。
【００２０】
またロボット制御装置１０は、プログラムの再生時に、プログラム内の動作文の始点位置、終点位置、移動速度、補間形式等の情報に基づいてエンドエフェクタ５の目標軌道を作成する軌道計画部１８と、目標軌道に基づいて補間周期毎のエンドエフェクタ５の位置を作成する動作補間部２０と、それら補間周期毎のエンドエフェクタ位置に対応するロボットの各制御軸位置を求めるとともに補間周期毎の移動量を算出する制御軸移動量算出部２２とを有する。ロボット制御装置１０はさらに、ロボット機構部２に動作指令を送って各制御軸の駆動を制御する駆動制御部例えばサーボ制御部２４を有し、制御軸移動量算出部２２はサーボ制御部２４に速度指令値の初期値を送る。
【００２１】
ロボット制御装置１０は、エンドエフェクタ５の実際の動作時の軌道（すなわち実軌道）の偏差の高周波成分及び低周波成分をそれぞれ演算する高周波演算部２６及び低周波演算部２８を含んでおり、高周波演算部２６及び低周波演算部２８は、それぞれ加速度センサ５０及びビジョンセンサ５２からの情報に基づいて演算を行う。高周波演算部２６及び低周波演算部２８の出力を足し合わせれば、エンドエフェクタ５の実軌道を求めることができる。なおここでの高周波成分と低周波成分とを区別する周波数は数十Ｈｚである。
【００２２】
さらに制御装置１０は、エンドエフェクタ５の目標軌道及び実軌道から後述する学習処理２００を行う学習処理部３０を有する。
【００２３】
次に図２を参照して、本発明に係るロボット制御装置１０におけるプログラム再生のフローチャートを説明する。
プログラム再生が開始されると、先ずプログラム記憶部１４からプログラムが軌道計画部１８によって読み出される（ステップ１０１）。
【００２４】
次に軌道計画部１８は、読み出したプログラムを順次又は行を選択して実行する。この場合、先ずその実行すべき行番号を読み出し（ステップ１０２）、その行番号に相当する行の有無を判定する（ステップ１０３）。相当する行がない場合は、プログラム再生は終了する。相当する行がある場合は、さらにその行が動作文を含むか否かを判断し（ステップ１０４）、動作文を含む場合はその行の動作文ＩＤを変数ｍとしてレジスタに格納する（ステップ１０５）。次に軌道計画部１８は、その行に対して軌道計画を行い（ステップ１０６）、補間周期カウンターｉをゼロに設定する（ステップ１０７）。
一方その行が動作文を含まない場合は、ステップ１０４からステップ１０８に移ってロジック処理等を行った後、ステップ１０２に戻る。
【００２５】
ステップ１０７の次に、ステップ１０９において補間周期カウンターｉと軌道計画で定められた補間点数とを比較し、ｉが補間点数以上ならば、その行の動作は終了したことになり、処理はステップ１０２に戻って次に選択される行を実行する。一方ｉが補間点数未満の場合は、その行の動作は終了していないことになり、処理はステップ１１０に移って動作補間部２０による動作補間が行われる。動作補間部２０は、軌道計画部１８により作成された軌道に基づいて、補間周期毎のエンドエフェクタ５の目標位置ｒ（ｉ）を作成する。
【００２６】
次にステップ１１１において、各軸移動量算出部２２が、補間周期毎のエンドエフェクタ５の目標位置ｒ（ｉ）に対応するロボット機構部２の各制御軸の位置を求めるとともに、補間周期毎の移動量を算出し、学習処理がなされていないときの各制御軸の速度指令値ｕ0（ｉ）を計算する。そして、（例えばオペレータの事前操作によって）現在の動作が学習中か否かを示すスイッチを確認し（ステップ１１２）、学習中であれば処理は後述する学習処理２００に進む。学習中でなければ、（例えばオペレータの事前操作によって）直近の学習に基づいた補正を行うべきか否かを示す補正スイッチを確認する（ステップ１１３）。
【００２７】
ステップ１１３において補正スイッチが有効であれば、その動作文ＩＤ（すなわちｍ）及び補間周期カウンターｉの値に応じた速度補正量Δｕ（ｍ，ｉ）が、補正量記憶部１６から読み出される（ステップ１１４）。ここでステップ１１５においてΔｕ（ｍ，ｉ）が設定されていると判定されれば、サーボ制御部２４に送られる速度指令ｕ（ｉ）は、次の（１）式により求められる（ステップ１１６）。
ｕ（ｉ）＝ｕ0（ｉ）＋Δｕ（ｍ，ｉ）                              ・・（１）
次にステップ１１７において、この速度指令ｕ（ｉ）がサーボ制御部２４に送られる。
【００２８】
一方ステップ１１３において補正スイッチが無効の場合は、処理は直ちに１１７に進み、この場合のサーボ制御部２４に送られる速度指令ｕ（ｉ）は
ｕ（ｉ）＝ｕ0（ｉ）                                              ・・（２）
となる。
【００２９】
ステップ１１７の次に、補間周期カウンターｉが１加算され（ステップ１１８）、処理はステップ１０９すなわちｉと補間点数との比較に戻る。プログラム再生が終了するのは、上述のようにステップ１０３において選択される行がなくなった場合である。
【００３０】
次に上述の学習処理２００について、図３を用いて説明する。
先ず学習処理部３０は、補正量記憶部１６から速度補正量Δｕ（ｍ，ｉ）を読み出し（ステップ２０１）、上記（１）式によって得られるｕ（ｉ）を速度指令値としてサーボ制御部２４に送り（ステップ２０２）、実際に動作させる。
【００３１】
次に学習処理部３０は、動作補間部２０がステップ１１０にて求めたエンドエフェクタ５の目標位置ｒ（ｉ）と実際にサーボ制御部２４を動作させたときのセンサ５０及び５２の測定結果に基づいたエンドエフェクタ５の軌跡すなわち実位置ｙ（ｉ）とから、補間周期毎の偏差ｅ（ｉ）を以下の（３）式に従って計算する（ステップ２０３）。
ｅ（ｉ）＝ｒ（ｉ）−ｙ（ｉ）                                      ・・（３）
ここでｙ（ｉ）は、加速度センサ５０の出力を位置に換算したものに基づいて求められる高周波成分ｙH（ｉ）及びビジョンセンサ５２の出力を位置に換算したものに基づいて求められる低周波成分ｙL（ｉ）を用いて、以下の（４）式から求められる。
ｙ（ｉ）＝ｙH（ｉ）＋ｙL（ｉ）                                    ・・（４）
【００３２】
次に学習処理部３０は、上述の偏差ｅ（ｉ）及びｅ（ｉ）を速度指令に換算するために予め設定された定数行列Γと、補正量記憶部１６から読み出した補正量Δｕ（ｍ，ｉ）Oとを用いて新たな補正量Δｕ（ｍ，ｉ）Nを求め（ステップ２０４）、補正量記憶部１６に書き込む（ステップ２０５）すなわち更新する。なおΔｕ（ｍ，ｉ）Nは以下の（５）式により求められる。Ｔは補間周期である。
Δｕ（ｍ，ｉ）N＝Δｕ（ｍ，ｉ）O＋Γ（ｅ（ｉ）−ｅ（ｉ−１））／Ｔ・・（５）
但し（５）式は、ｉ＝０のときは
Δｕ（ｍ，ｉ）N＝Δｕ（ｍ，ｉ）O＋Γｅ（ｉ）／Ｔ                  ・・（５）′
となる。
【００３３】
本実施形態においては、サーボ制御部２４がロボット機構部２に送る動作指令は速度指令であるが、ロボット機構部２の各軸駆動装置のトルク値を含むトルク指令又はエンドエフェクタ５の位置座標を含む位置指令等の他の動作指令に変更されてもよいし、これらを組み合わせて使用してもよい。
【００３４】
ロボット制御装置１０は、ロボット１のエンドエフェクタ５にセンサ５０及び５２を取付けた状態行われる上述の学習制御を、テスト運転時に限り１回又は繰り返し行うように構成される。従って実稼動時には学習制御は行われないので、Δｕ（ｉ）は更新されず、テスト運転の最後に記憶されたΔｕ（ｉ）によって補正が行われることになる。そしてロボット制御装置１０は、実稼動時にはセンサ又はセンサからの情報を使用せず、テスト運転によって得られた最適動作に基づいたロボット制御を行う。
【００３５】
上述のように、ロボット１はテスト運転において最適動作の学習を完了するので、その後の実稼動におけるエンドエフェクタ５の軌跡の精度は実稼動初期から全体にわたって劇的に向上する。また高周波成分及び低周波成分をそれぞれ求めるために２種類のセンサ５０及び５２を使用するので、さらなる高精度を実現することができる。なおテスト運転を複数回繰り返すことにより、さらに最適化された動作を得ることができる。
【００３６】
またその後の実稼動ではセンサは使用されないので、センサの保守の頻度も大幅に低減できる。さらに実稼動においてセンサが他の機器と干渉する虞がある場合には、センサを取外すこともできる。
【図面の簡単な説明】
【００３７】
【図１】本発明に係るロボット概略構成及びロボット制御装置のブロック構成を示す図である。
【図２】本発明に係るロボットにおけるプログラム再生時のフローチャートである。
【図３】図２のフローチャートに含まれる学習処理の詳細を示すフローチャートである。
【符号の説明】
【００３８】
１    ロボット
２    ロボット機構部
５    エンドエフェクタ
１０    制御装置
５０    加速度センサ
５２    ビジョンセンサ
【図１】
2006110702.tif 000003
【図２】
2006110702.tif 000004
【図３】
2006110702.tif 000005