(57)【要約】【課題】可動部に対して独立に動作するツールが取り付けられる場合でも、可動部及びツールが動作する際の可動部及びツールの位置精度を向上することが可能な自動機械を提供する。【解決手段】自動機械は、駆動部３５により駆動される可動部（１２−１５）と、可動部に取り付けられ、可動部とは独立に動作する可動機構１６ｂを有するツール１６と、可動機構１６ｂに取り付けられ、可動機構１６ｂの位置を測定する測定部４と、ツール１６を目標位置へ移動させる指令に従って駆動部３５を制御したときの測定部４により測定された可動機構１６ｂの位置と、可動機構１６ｂの可動範囲内の基準点からの可動機構１６ｂの移動量とに基づいて、可動機構１６ｂが基準点に仮想的に固定されている場合の第１の位置を検出する位置検出部４１と、目標位置と第１の位置との差が減少するように駆動部３５の制御量に対する補正量を求める学習制御部４２とを有する。【選択図】図１
2020006469.tif 000002
【特許請求の範囲】
【請求項１】
駆動部により駆動されることで移動可能な可動部と、
前記可動部に取り付けられ、前記可動部とは独立に動作する可動機構を有するツールと、
前記可動機構に取り付けられ、前記可動機構の位置を測定する測定部と、
前記ツールを目標位置へ移動させる指令に従って前記駆動部を制御したときの前記測定部により測定された前記可動機構の位置と、前記ツールを基準とする前記可動機構の可動範囲内の基準点からの前記可動機構の移動量とに基づいて、前記可動機構が前記基準点に仮想的に固定されている場合の第１の位置を検出する位置検出部と、
前記目標位置と前記第１の位置との差が減少するように前記駆動部の制御量に対する補正量を求める学習制御部と、
を有する自動機械。
【請求項２】
前記位置検出部は、前記指令に従って前記駆動部を制御したときの前記駆動部の動作量に基づいて前記可動部の姿勢を求め、当該姿勢に従って、前記自動機械が設置される空間について設定される世界座標系での前記可動機構の移動方向を求め、前記測定部により測定された前記可動機構の位置から当該移動方向に沿って前記移動量を減じることで前記第１の位置を検出する、請求項１に記載の自動機械。
【請求項３】
駆動部により駆動されることで移動可能な可動部と、前記可動部に取り付けられ、前記可動部とは独立に動作する可動機構を有するツールとを有する自動機械の制御装置であって、
前記ツールを目標位置へ移動させる指令に従って前記駆動部を制御したときの前記可動部に取り付けられた測定部により測定された前記可動機構の位置と、前記ツールを基準とする前記可動機構の可動範囲内の基準点からの前記可動機構の移動量とに基づいて、前記可動機構が前記基準点に仮想的に固定されている場合の第１の位置を検出する位置検出部と、
前記目標位置と前記第１の位置との差が減少するように前記駆動部の制御量に対する補正量を求める学習制御部と、
を有する制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、可動部を有する自動機械、及び、そのような自動機械の制御装置に関する。
【背景技術】
【０００２】
アームなどの可動部を有し、その可動部がサーボモータを用いて駆動されるロボットまたは工作機械といった自動機械において、可動部の動作精度を向上するための技術が提案されている（例えば、特許文献１及び２を参照）。
【０００３】
これらの技術では、可動部にセンサが取り付けられる。そして可動部が所定の動作を実行している間の可動部の位置がセンサにより測定され、その測定された位置が目標となる位置に近づくように、可動部を駆動するサーボモータを制御するための制御量（例えば、サーボモータに供給される電流量など）が補正される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１６７８１７号公報
【特許文献２】特開２０１７−７４６４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
自動機械によっては、可動部に、自動機械自身の動作とは独立して動作する可動機構を持つツールが取り付けられることがある。このような場合、上記の技術では、可動部に取り付けられたツールの位置を目標となる位置に近づけようとしても、ツール自身の動作により、サーボモータを制御するための制御量を適切に補正することができず、その結果として、可動部及びツールが動作する際の位置精度を向上できないことがある。
【０００６】
一つの側面では、可動部に対して独立に動作するツールが取り付けられる場合でも、可動部及びツールが動作する際の可動部及びツールの位置精度を向上することが可能な自動機械を提供することを目的とする。
【課題を解決するための手段】
【０００７】
一つの実施形態によれば、自動機械が提供される。この自動機械は、駆動部により駆動されることで移動可能な可動部と、可動部に取り付けられ、可動部とは独立に動作する可動機構を有するツールと、可動機構に取り付けられ、可動機構の位置を測定する測定部と、ツールを目標位置へ移動させる指令に従って駆動部を制御したときの測定部により測定された可動機構の位置と、ツールを基準とする可動機構の可動範囲内の基準点からの可動機構の移動量とに基づいて、可動機構が基準点に仮想的に固定されている場合の第１の位置を検出する位置検出部と、目標位置と第１の位置との差が減少するように駆動部の制御量に対する補正量を求める学習制御部とを有する。
【０００８】
他の実施形態によれば、駆動部により駆動されることで移動可能な可動部と、可動部に取り付けられ、可動部とは独立に動作する可動機構を有するツールとを有する自動機械の制御装置が提供される。この制御装置は、ツールを目標位置へ移動させる指令に従って駆動部を制御したときの、可動機構に取り付けられる測定部により測定された可動機構の位置と、ツールを基準とする可動機構の可動範囲内の基準点からの可動機構の移動量とに基づいて、可動機構が基準点に仮想的に固定されている場合の第１の位置を検出する位置検出部と、目標位置と第１の位置との差が減少するように駆動部の制御量に対する補正量を求める学習制御部とを有する。
【発明の効果】
【０００９】
一つの側面によれば、可動部に対して独立に動作するツールが取り付けられる場合でも、可動部及びツールが動作する際の可動部及びツールの位置精度を向上することができる。
【図面の簡単な説明】
【００１０】
【図１】一つの実施形態によるロボットシステムの概略構成図である。
【図２】制御装置の概略構成図である。
【図３】制御情報学習処理に関する、制御装置が有するプロセッサの機能ブロック図である。
【図４】制御情報学習処理の動作フローチャートである。
【発明を実施するための形態】
【００１１】
以下、図を参照しつつ、本発明の実施形態による自動機械について説明する。この自動機械は、アームといった可動部を有し、可動部の先端に、可動部とは独立して動作する可動機構を持ったツールが取り付けられる。そしてそのツールの可動機構に、位置を求めるためのセンサが取り付けられる。この自動機械は、可動部及びツールを目標となる位置へ移動させたときに、可動機構に取り付けられたセンサを用いて、ツールの可動機構の実際の位置を測定する。そしてこの自動機械は、ツールの可動機構の実際の位置から、その可動機構の基準点からの移動量を減じることで得られる、可動機構が仮想的に基準点に固定されている場合のツールの位置と目標となる位置との差を減少させるように、可動部を駆動するサーボモータを制御するための制御量を学習制御する。
【００１２】
なお、ツールの可動機構が可動部に対して独立に動作するとは、自動機械の制御装置により制御される可動部の動作（例えば、目標となる位置への可動部の移動あるいは目標となる姿勢をとるための可動部の動作）とは無関係に可動機構が動作することをいう。
【００１３】
図１は、一つの実施形態による、ロボットシステム１の概略構成図である。ロボットシステム１は、ロボット２と、ロボット２を制御する制御装置３と、ロボット２に取り付けられるツール１６の可動機構の位置を検出するための加速度センサ４とを有する。ロボットシステム１は、自動機械の一例である。
【００１４】
ロボット２は、台座１１と、回転ステージ１２と、第１のアーム１３と、第２のアーム１４と、リスト１５と、ツール１６とを有する。回転ステージ１２、第１のアーム１３、第２のアーム１４及びリスト１５は、それぞれ、可動部の一例である。回転ステージ１２、第１のアーム１３、第２のアーム１４及びリスト１５のそれぞれは、それらが取り付けられる関節に設けられる軸により支持され、サーボモータがその軸を駆動することで動作する。また、ツール１６は、自動機械の可動部とは独立に動作する可動機構を有するツールの一例である。
【００１５】
台座１１は、ロボット２が床置き設置される場合に台となる部材である。回転ステージ１２は、台座１１の天面に、関節２１にて、台座１１のその一方の面と直交するように設けられる軸（図示せず）を回転中心として回動可能に取り付けられる。
【００１６】
第１のアーム１３は、その一端側にて、回転ステージ１２に設けられる関節２２において回転ステージ１２に取り付けられる。本実施形態では、図１に示されるように、第１のアーム１３は、関節２２にて、台座１１の回転ステージ１２が取り付けられる面と平行に設けられる軸（図示せず）を中心として回動可能となっている。
【００１７】
第２のアーム１４は、その一端側にて、関節２２とは反対側の第１のアーム１３の他端側に設けられる関節２３にて第１のアーム１３に取り付けられる。本実施形態では、図１に示されるように、第２のアーム１４は、関節２３にて、台座１１の回転ステージ１２が取り付けられる面と平行に設けられる軸（図示せず）を中心として回動可能となっている。
【００１８】
リスト１５は、関節２３とは反対側の第２のアーム１４の先端にて、関節２４を介して取り付けられる。リスト１５は、関節２５を有し、関節２５にて関節２２の軸及び関節２３の軸と平行に設けられる軸（図示せず）を回転中心として屈曲可能となっている。さらに、リスト１５は、第２のアーム１４の長手方向と平行な軸（図示せず）を回転中心として、第２のアーム１４の長手方向と直交する面において回動可能であってもよい。
【００１９】
ツール１６は、関節２４とは反対側のリスト１５の先端に取り付けられる。本実施形態では、ツール１６は、レーザを用いてワークを加工するために用いられる。そのために、ツール１６は、リスト１５の先端から延伸されるように設けられる筒状のツール本体１６ａと、ツール本体１６ａ内に、矢印１０１で示されるツール本体１６ａの延伸方向に沿って移動可能に取り付けられ、かつ、加工用のレーザ光を出力するレーザヘッド１６ｂとを有する。レーザヘッド１６ｂは、ロボット２の可動部とは独立に動作する可動機構の一例であり、ツール本体１６ａ内に収容されたモータ（図示せず）によって駆動されることで、ツール本体１６ａの延伸方向に沿って移動する。そしてレーザヘッド１６ｂは、例えば、レーザヘッド１６ｂに取り付けられた距離センサ（図示せず）により検出される、ワークまでの距離に基づいて、レーザヘッド１６ｂとワーク間の距離が一定に保たれるようにその位置が制御される。レーザヘッド１６ｂの移動量は、レーザヘッド１６ｂを駆動するモータに取り付けられたエンコーダといった、移動量を検出するためのセンサにより検出され、通信回線５を介して制御装置３へ出力される。なお、レーザヘッド１６ｂが、ステッピングモータといった回転量を直接指定できるモータにより駆動されている場合は、レーザヘッド１６ｂの移動量として、そのモータの回転量が通信回線５を介して制御装置３へ出力されてもよい。
【００２０】
加速度センサ４は、可動機構の位置を測定する測定部の一例であり、レーザヘッド１６ｂに取り付けられる。加速度センサ４は、例えば、３軸の加速度センサとすることができる。そしてロボット２が動作している間、加速度を測定し、測定した加速度を通信回線５を介して制御装置３へ出力する。
【００２１】
なお、自動機械は、図１に示されるロボット２に限られず、サーボモータといった駆動部により駆動される軸及びその軸にて支持される可動部を少なくとも一つ有するものであればよい。
【００２２】
また、ロボット２のリスト１５に取り付けられるツール１６も、上記のものに限られない。例えば、ツール１６は、溶接に用いられるサーボガンであってもよい。この場合には、ツール１６は、可動機構の一例であるガン本体と、リスト１５にサーボガンを取り付けるための取り付け部と、ガン本体と取り付け部との間に設けられるイコライジング機構とを有する。イコライジング機構は、サーボガンにかかる反力を軽減させるよう、ガン本体を、所定の方向に沿って駆動する。この場合も、加速度センサ４は、ガン本体に取り付けられればよい。
【００２３】
制御装置３は、通信回線５を介してロボット２と接続され、ロボット２のそれぞれの関節に設けられる軸を駆動するサーボモータの動作状況を表す情報、加速度センサ４からの加速度、ツール１６のレーザヘッド１６ｂの移動量などを、ロボット２から通信回線５を介して受信する。そして制御装置３は、受信した情報、及び、上位制御装置（図示せず）から受信した、あるいは、予め設定されたロボット２の動作に基づいて、サーボモータを制御することで、ロボット２の各可動部の位置及び姿勢を制御する。
【００２４】
図２は、制御装置３の概略構成図である。制御装置３は、通信インターフェース３１と、駆動回路３２と、メモリ３３と、プロセッサ３４とを有する。さらに、制御装置３は、タッチパネルといったユーザインターフェース（図示せず）を有していてもよい。
【００２５】
通信インターフェース３１は、例えば、制御装置３を通信回線５と接続するための通信インターフェース及び通信回線５を介した信号の送受信に関する処理を実行するための回路などを含む。そして通信インターフェース３１は、例えば、ロボット２から、通信回線５を介して、駆動部の一例であるサーボモータ３５の回転量を検出するためのエンコーダからの回転量の測定値など、サーボモータ３５の動作状況を表す情報を受信して、その情報をプロセッサ３４へわたす。なお、図２では、代表的に一つのサーボモータ３５が図示されているが、ロボット２は、関節ごとに、その関節の軸を駆動するサーボモータを有してもよい。さらに、通信インターフェース３１は、加速度センサ４により測定された加速度、及び、レーザヘッド１６ｂの移動量を表す測定値などをロボット２から受信してプロセッサ３４へわたす。
【００２６】
駆動回路３２は、電流供給用のケーブルを介してサーボモータ３５と接続され、プロセッサ３４による制御に従って、サーボモータ３５に生じさせるトルク、回転方向あるいは回転速度に応じた電力をサーボモータ３５へ供給する。
【００２７】
メモリ３３は、記憶部の一例であり、例えば、読み書き可能な半導体メモリと読み出し専用の半導体メモリとを有する。さらに、メモリ３３は、半導体メモリカード、ハードディスク、あるいは光記憶媒体といった記憶媒体及びその記憶媒体にアクセスする装置を有していてもよい。
【００２８】
メモリ３３は、制御装置３のプロセッサ３４で実行される、ロボット２の制御用の各種コンピュータプログラムなどを記憶する。また、メモリ３３は、ロボット２を動作させる際のロボット２の動作を指定するための情報、例えば、ロボット２の各アーム及びツール１６を所定の目標位置へ移動させるための位置指令などを記憶する。さらに、メモリ３３は、ロボット２の動作中においてロボット２から得られるサーボモータ３５の動作状況を表す情報、制御情報学習処理の途中において、または制御情報学習処理の結果として生成される補正量といった、各種のデータを記憶する。
【００２９】
プロセッサ３４は、制御部の一例であり、例えば、Central Processing Unit(CPU)及びその周辺回路を有する。さらにプロセッサ３４は、数値演算用のプロセッサを有していてもよい。そしてプロセッサ３４は、ロボットシステム１全体を制御する。またプロセッサ３４は、制御情報学習処理を実行する。
【００３０】
図３は、制御情報学習処理に関する、プロセッサ３４の機能ブロック図である。プロセッサ３４は、位置検出部４１と、学習制御部４２とを有する。プロセッサ３４が有するこれらの各部は、例えば、プロセッサ３４上で実行されるコンピュータプログラムにより実現される機能モジュールである。あるいは、これらの各部は、プロセッサ３４の一部に実装される専用の演算回路として実装されてもよい。
【００３１】
位置検出部４１は、ツール１６を所定の目標位置へ移動させる位置指令に従ってサーボモータ３５を制御したときの、ツール１６のレーザヘッド１６ｂが仮想的に基準点に固定されている場合のレーザヘッド１６ｂの位置を検出する。本実施形態では、位置検出部４１は、加速度センサ４から得られた加速度、及び、レーザヘッド１６ｂの基準点に対するレーザヘッド１６ｂの移動量を表す測定値に基づいて、レーザヘッド１６ｂが仮想的に基準点に固定されている場合のレーザヘッド１６ｂの位置を検出する。
【００３２】
なお、基準点は、例えば、ツール１６を基準とする、レーザヘッド１６ｂの可動範囲内の任意の位置、例えば、レーザヘッド１６ｂの可動範囲のリスト１５側の端点とすることができる。基準点は、ツール１６上の任意の位置を原点とし、かつ、ツール１６の所定の方向（例えば、ツール１６の長手方向あるいはレーザヘッド１６ｂの可動方向）を何れかの軸とするツール座標系で表される。したがって、レーザヘッド１６ｂを駆動するモータによる、レーザヘッド１６ｂの基準点からの移動方向及び移動量は、ツール座標系で表される。また、基準点自体の世界座標系での位置は、ロボット２の姿勢の変化に応じて移動する。なお、世界座標系は、ロボット２が設置される空間の何れかの点を原点とし、ロボット２の姿勢が変化しても変動しない座標系である。
【００３３】
例えば、位置検出部４１は、位置指令に従ってロボット２が動作を開始してから、位置指令で指定された目標位置へツール１６を移動させる制御が終了するまでに得られた、加速度センサ４からの加速度を２階積分することで、その動作の開始時点でのレーザヘッド１６ｂの位置からの変位量を算出する。そして位置検出部４１は、動作の開始時点でのレーザヘッド１６ｂの位置に変位量を加算することで、世界座標系でのレーザヘッド１６ｂの位置を算出する。
【００３４】
さらに、位置検出部４１は、ツール座標系での基準点に対するレーザヘッド１６ｂの移動方向を、世界座標系で表される移動方向に変換する。その際、位置検出部４１は、位置指令に従ってロボット２が動作を開始してから、位置指令で指定された目標位置へツール１６を移動させる制御が終了するまでの間のサーボモータ３５の実際の回転量（すなわち、駆動部の動作量）から、ロボット２の各関節の回転量をもとめることができるので、制御終了時点におけるロボット２の姿勢を検出できる。そして位置検出部４１は、制御終了時点における、ロボット２の姿勢から、リスト１５に取り付けられたツール１６の姿勢も検出できる。位置検出部４１は、検出したツール１６の姿勢から、ツール座標系から世界座標系へ変換するためのアフィン行列を算出し、そのアフィン行列を用いて、ツール座標系でのレーザヘッド１６ｂの移動方向を、世界座標系でのレーザヘッド１６ｂの移動方向に変換すればよい。
【００３５】
位置検出部４１は、世界座標系で表されたレーザヘッド１６ｂの位置から、世界座標系で表された基準点からのレーザヘッド１６ｂの移動量を減じることで、レーザヘッド１６ｂが仮想的に基準点に固定されている場合の世界座標系でのレーザヘッド１６ｂの位置を検出する。そして位置検出部４１は、レーザヘッド１６ｂが仮想的に基準点に固定されている場合の世界座標系でのレーザヘッド１６ｂの位置を、学習制御部４２へ通知する。
【００３６】
学習制御部４２は、位置指令によって指定されたツール１６の目標位置（なお、目標位置は、例えば、レーザヘッド１６ｂの基準点に対して設定される）と、位置検出部４１により検出された、レーザヘッド１６ｂが仮想的に基準点に固定されている場合のレーザヘッド１６ｂの位置の差（以下、便宜上、位置偏差と呼ぶ）が減少するように、サーボモータ３５に対する制御量を学習制御する。
【００３７】
理想的には、位置指令によって指定されたツール１６の目標位置と、位置検出部４１により検出された、レーザヘッド１６ｂが仮想的に基準点に固定されている場合のレーザヘッド１６ｂの位置とは、互いに一致する。しかし、ロボット２が動作する際の各アーム１３、１４、リスト１５またはツール１６の振動などにより、位置指令によって指定されたツール１６の目標位置と、レーザヘッド１６ｂの基準点の実際の位置との間に位置ずれが生じるため、位置偏差が０とはならない。学習制御部４２は、この位置偏差が減少するようにサーボモータ３５に対する制御量を学習制御することで、振動による位置精度への影響を軽減して、ロボット２が動作する際のロボット２の先端に位置するツール１６の位置精度を向上させることができる。
【００３８】
学習制御部４２は、例えば、ロボットの先端に取り付けられた加速度センサなどにより測定されるロボットの先端位置と、位置指令により指定されるロボットの先端位置間の位置ずれを減少させる各種の学習制御手法の何れかに従って、学習制御を実行すればよい。例えば、学習制御部４２は、特開２００６−１７２１４９号公報あるいは特開２０１１−１６７８１７号公報に開示されている学習制御手法に従って、学習制御を実行すればよい。その際、学習制御部４２は、これらの学習制御手法における、加速度センサなどを用いて測定されるロボットの先端位置の代わりに、位置検出部４１により検出された、レーザヘッド１６ｂが仮想的に基準点に固定されている場合の世界座標系でのレーザヘッド１６ｂの位置を利用すればよい。
【００３９】
例えば、プロセッサ３４は、特開２００６−１７２１４９号公報に記載されているようにサーボモータ３５を制御する。すなわち、プロセッサ３４は、ロボット２の動作を制御する際に、上位制御装置（図示せず）から受信した、あるいは、メモリ３３から読み込んだ位置指令と、サーボモータ３５の実際の回転量などに基づいてサーボモータ３５の回転速度を指定する速度指令を算出する。プロセッサ３４は、その速度指令と、サーボモータ３５の実際の回転量を微分することで算出される速度フィードバックとに基づいて速度ループ制御を行ってサーボモータ３５に供給する電流量を表すトルク指令を算出する。そしてプロセッサ３４は、トルク指令と駆動回路３２に設けられた電流検出器（図示せず）からフィードバックされる電流フィードバックに基づいて、サーボモータ３５に供給される電流についてループ制御を行って、サーボモータ３５を駆動する。
【００４０】
この場合、学習制御部４２は、サーボモータ３５の回転量に対する補正量を学習する。すなわち、学習制御部４２は、所定の制御周期ごとに、位置偏差を算出し、算出した位置偏差と１周期前の補正量とを加算して得られる値を、制御系の安定性を図るための帯域制限フィルタでフィルタ処理することで、最新の補正量とする。また、学習制御部４２は、１周期前の補正量に対して、制御対象の位相遅れ、ゲイン低下を補償して得られる値を、位置指令により指定される目標位置に応じたサーボモータ３５の回転量とサーボモータ３５の実際の回転量の差に加算し、加算して得られる値にポジションゲインを乗じることで速度指令を算出する。
【００４１】
学習制御部４２は、例えば、位置偏差の絶対値が所定の閾値以下となるまで上記の処理を繰り返して最終的に得られる補正量をメモリ３３に記憶する。なお、所定の閾値は、例えば、ツール１６により加工されるワークの加工精度が許容公差以下となるように設定されればよい。
【００４２】
プロセッサ３４は、ロボット２を通常動作させる際には、メモリ３３から補正量を読み込み、上記の学習制御部４２の処理と同様に、読み込んだ補正量に対して、制御対象の位相遅れ、ゲイン低下を補償して得られる値を、位置指令により指定される目標位置に応じたサーボモータ３５の回転量とサーボモータ３５の実際の回転量の差に加算し、加算して得られる値にポジションゲインを乗じることで速度指令を算出すればよい。そしてプロセッサ３４は、その速度指令にしたがって、速度ループ制御及び電流ループ制御を行って、サーボモータ３５を駆動すればよい。
【００４３】
図４は、制御情報学習処理の動作フローチャートである。プロセッサ３４は、下記の動作フローチャートに従って制御情報学習処理を実行する。
【００４４】
位置検出部４１は、位置指令に従って目標位置へツール１６を移動させたときの、レーザヘッド１６ｂに取り付けられた加速度センサ４による加速度に基づいて、世界座標系でのレーザヘッド１６ｂの位置を測定する（ステップＳ１０１）。また、位置検出部４１は、ロボット２が動作を開始してから、位置指令で指定された目標位置へツール１６を移動させる制御が終了するまでの間のサーボモータ３５の実際の回転量から検出される、ロボット２の姿勢に従って、ツール座標系でのレーザヘッド１６ｂの移動方向を、世界座標系でのレーザヘッド１６ｂの移動方向に変換する（ステップＳ１０２）。そして位置検出部４１は、世界座標系で表されたレーザヘッド１６ｂの位置から、世界座標系で表された基準点に対するレーザヘッド１６ｂの移動量を減じることで、レーザヘッド１６ｂが仮想的に基準点に固定されている場合の世界座標系でのレーザヘッド１６ｂの位置を検出する（ステップＳ１０３）。
【００４５】
学習制御部４２は、位置指令により特定される、ツール１６の目標位置と、位置検出部４１により検出された、レーザヘッド１６ｂが仮想的に基準点に固定されている場合のレーザヘッド１６ｂの位置との間の位置偏差が減少するように、サーボモータ３５の制御量に対する補正量を学習する（ステップＳ１０４）。学習制御部４２は、得られた補正量をメモリ３３に保存する（ステップＳ１０５）。そしてプロセッサ３４は、制御情報学習処理を終了する。
【００４６】
以上に説明してきたように、この自動機械は、自動機械が有する可動部に取り付けられたツールが有する、自動機械の可動部とは独立に動作する可動機構に取り付けられたセンサからの測定値に基づいて求められる可動機構の位置から、基準点に対する可動機構の移動量を減じて可動機構が仮想的に基準点に固定されている場合のその可動機構の位置を求める。そしてこの自動機械は、位置指令により特定される、指定されたツールの目標位置と、可動機構が仮想的に基準点に固定されている場合のその可動機構の位置との間の位置偏差が減少するように、可動部を駆動する駆動部の制御量に対する補正量を学習する。これにより、この自動機械は、自動機械の可動部とは独立に動作する可動機構を有するツールがその可動部に取り付けられている場合でも、自動機械が動作する際の可動部及びツールの位置精度を向上できる。
【００４７】
変形例によれば、制御装置３のプロセッサ３４は、互いに異なる複数の位置にツール１６を移動して、その複数の位置のそれぞれについて上記の制御情報学習処理を実行してもよい。この場合、プロセッサ３４は、複数の位置のそれぞれについて、サーボモータ３５の制御量に対する補正量を求め、その補正量を対応する位置とともにメモリ３３に保存する。プロセッサ３４は、ロボット２を通常動作させる際には、複数の位置のうち、位置指令により指定された位置に対応する補正量をメモリ３３から読み込み、読み込んだ補正量を用いて、サーボモータ３５の制御量を補正すればよい。あるいは、プロセッサ３４は、複数の位置のそれぞれについて求められた補正量の平均値、中央値あるいは最頻値といった統計的代表値を算出し、その統計的代表値を補正量としてメモリ３３に保存してもよい。そしてプロセッサ３４は、ロボット２を通常動作させる際には、位置指令により指定された位置によらず、メモリ３３から補正量を読み込み、読み込んだ補正量を用いて、サーボモータ３５の制御量を補正すればよい。
この変形例によれば、自動機械は、互いに異なる複数の位置で可動部を駆動する駆動部の制御量に対する補正量を求めるので、自動機械が動作する際の可動部及びツールの位置精度をより向上できる。
【００４８】
他の変形例によれば、自動機械の可動部に取り付けられるツールが有する可動機構は、モータなどの駆動部により能動的に駆動されるものでなく、弾性部材などを利用して受動的に動作するものであってもよい。この場合も、加速度センサは、可動機構に取り付けられればよい。またこの場合、可動機構についての基準点からの移動量は、例えば、リニアエンコーダといった可動機構の変位量を測定するセンサにより測定されて、自動機械の制御装置へ出力されればよい。
【００４９】
これにより、自動機械の制御装置は、上記の実施形態による制御情報学習処理を実行することで、可動機構が受動的に動作する場合も、自動機械の可動部を駆動する駆動部の制御量に対する補正量を学習できる。
【００５０】
また他の変形例によれば、ツールが有する可動機構の位置を測定するために、可動機構に取り付けられる測定部として、加速度センサの代わりに、あるいは、加速度センサとともに、変位量を検出できる他のセンサが用いられてもよい。例えば、変位量を検出できる他のセンサとして、ジャイロセンサ、慣性センサ、レーザトラッカ、あるいはステレオカメラが用いられてもよい。例えば、ステレオカメラが用いられる場合には、そのステレオカメラは、世界座標系での位置が既知である、予め設置されたマーカを撮影することで、マーカが表された二枚の画像を生成する。そして制御装置が、その二枚の画像のそれぞれから、例えば、テンプレートマッチングによりマーカを検出し、各画像上のマーカの位置から、三角測量の原理によってステレオカメラの世界座標系での位置を求めることで、ステレオカメラが取り付けられる可動機構の世界座標系での位置を測定できる。
【００５１】
なお、可動機構に取り付けられるセンサは、可動機構に対して着脱可能となっていてもよい。そしてそのセンサは、自動機械の通常の動作時には可動機構から取り外されてもよい。センサが可動機構から取り外される場合には、センサの重量と同じ重量を持つバランサが、可動機構へのセンサの取り付け位置に取り付けられてもよい。
【００５２】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【符号の説明】
【００５３】
１    ロボットシステム
２    ロボット
３    制御装置
４    加速度センサ
５    通信回線
１１    台座
１２    回転ステージ
１３    第１のアーム
１４    第２のアーム
１５    リスト
１６    ツール
１６ａ    ツール本体
１６ｂ    レーザヘッド
２１〜２５    関節
３１    通信インターフェース
３２    駆動回路
３３    メモリ
３４    プロセッサ
３５    サーボモータ
４１    位置検出部
４２    学習制御部
【図１】
2020006469.tif 000003
【図２】
2020006469.tif 000004
【図３】
2020006469.tif 000005
【図４】
2020006469.tif 000006