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