(57)【特許請求の範囲】
【請求項１】
ロボットの動作単位で設定されたプログラムにしたがって、前記ロボットの動作を制御するロボット制御装置であって、
前記ロボットの可動領域全体からまんべんなく選ばれた目的点および各種動作についてのキャリブレーションを実行して、想定される可動領域全体において想定される各種動作に適用可能であって前記ロボットの制御の基礎となる汎用パラメータを取得する汎用パラメータ取得手段と、
前記ロボットの前記可動領域の一部に設定された特定領域における動作において、前記ロボットが可能な動作のうちの一部に設定された特定動作についてのキャリブレーションを実行して、前記特定領域かつ前記特定動作に専用の専用パラメータを取得する専用パラメータ取得手段と、
前記汎用パラメータ取得手段で取得した汎用パラメータ、および前記専用パラメータ取得手段で取得した専用パラメータを記憶する記憶手段と、
実行される実行プログラムに基づく前記ロボットの動作が、前記特定領域における前記特定動作であるか否かを判断する判断手段と、
前記判断手段において前記ロボットの動作が前記特定領域における前記特定動作であると判断すると前記記憶手段に記憶されている前記専用パラメータを適用して前記ロボットの動作を制御し、前記判断手段において前記ロボットの動作が前記特定領域における前記特定動作でないと判断すると前記記憶手段に記憶されている前記汎用パラメータを適用して前記ロボットの動作を制御する動作制御調整手段と、を備え、
前記動作制御調整手段は、前記ロボットにおいて一つのステップにおける動作が停止した後、前記汎用パラメータによる動作の制御と前記専用パラメータによる動作の制御とを切り替えることを特徴とするロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御装置に関し、特に動作領域ごとに要求されるロボットの制御精度に応じて適用するパラメータを変更するロボット制御装置に関する。
【背景技術】
【０００２】
産業用ロボットのシステムにおいては、動作時における制御精度を高めるために、各種のパラメータを高精度に同定する必要がある。ロボットは、例えば駆動力を発生するアクチュエータ、アクチュエータの位置を検出するエンコーダ、アクチュエータの駆動力をアームに伝達するリンク機構などを備えている。そのため、これらアクチュエータ、エンコーダおよびリンクなどに生じるわずかな誤差は、パラメータを利用して補正される（特許文献１参照）。
【特許文献１】特開平６−３０４８９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許文献１の場合、ロボットで想定されている任意の動作領域における任意の動作についての精度の向上を目的としてパラメータを設定するためにキャリブレーションを行う。そのため、ロボットの動作領域における各動作の平均精度は向上する。
しかしながら、これは単に各動作の平均精度が向上するだけであり、例えば同一の動作点において姿勢を変化させる動作など、限定された動作領域内の限定された動作などでは、精度が平均精度より悪くなり、十分な精度が確保できないという問題が発生する場合がある。
【０００４】
そこで、本発明は、上記の課題に鑑みてなされたものであり、その目的は、ロボットに想定されている可動領域全体における各種動作、およびロボットの特定の領域における特定の動作について、両立して高い精度が確保されるロボット制御装置を提供することにある。
【課題を解決するための手段】
【０００５】
請求項１記載の発明では、汎用パラメータを取得する汎用パラメータ取得手段および専用パラメータを取得する専用パラメータ取得手段を備えている。汎用パラメータは、ロボットの可動領域全体からまんべんなく選ばれた目的点および各種動作についてロットの制御の基礎となる汎用パラメータを取得する。一方、専用パラメータは、この可動領域の一部に設定された特定領域における特定動作に専用の専用パラメータを取得する。動作制御調整手段は、実行プログラムに基づくロボットの動作が特定領域における特定動作であるとき、専用パラメータを適用してロボットを制御するのに対し、ロボットの動作が特定領域における特定動作でないと判断したとき、汎用パラメータを適用してロボットを制御する。このように、動作制御調整手段は、ロボットの動作が特定領域における特定動作であるとき、専用パラメータを適用してロボットを制御し、それ以外のとき、汎用パラメータを適用してロボットを制御する。そのため、ロボットの動作が特定領域における特定動作にあるとき、ロボットはその特定領域における特定動作のために専用に設定された専用パラメータによって高精度に制御される。一方、ロボットの動作が特定領域における特定動作でないとき、ロボットの制御の基礎として設定された汎用パラメータによって高精度に制御される。したがって、ロボットの任意の領域における任意の動作における精度の確保と、ロボットの特定の領域における特定の動作における精度の確保とを両立して達成することができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明によるロボット制御装置の一実施形態を図面に基づいて説明する。
図１および図２は、本実施形態によるロボット制御装置を適用したロボットシステム１０を示す。図１は、ロボットシステム１０の構成を示すブロック図である。図２は、ロボットシステム１０の構成を示す概略図である。ロボットシステム１０は、ロボット１１および制御装置１２を備えている。ロボット１１は、例えば部品の組み立て用あるいは部品の検査用など、任意の構成のロボットである。制御装置１２は、周辺機器として操作ペンダントを構成するティーチィングペンダント１３およびプログラム入力用のパソコン１４などが接続されている。
【０００９】
ロボット１１は、例えば六軸の垂直多関節型のロボットとして構成されている。ロボット１１は、周知の通り、それぞれアクチュエータであるサーボモータ１５などからの駆動力で駆動されるアーム１６を有している。アーム１６は、先端にエンドエフェクタ１７を有している。例えばロボット１１で部品の運搬や組み立てなどを行う場合、エンドエフェクタ１７としてこれらの部品を保持するためのハンドが用いられる。また、例えばロボット１１で部品の検査などを行う場合、エンドエフェクタ１７として対象となる部品を撮影するカメラなどが用いられる。このように、エンドエフェクタ１７は、ロボット１１を適用する工程に応じて任意に選択することができる。サーボモータ１５からアーム１６のエンドエフェクタ１７までの間には、図示しない減速機構やリンクなどの駆動力伝達機構が設けられている。これにより、アーム１６の先端に設けられているエンドエフェクタ１７は、サーボモータ１５からの駆動力によって駆動される。ロボット１１と制御装置１２との間は、接続ケーブル１８によって接続されている。これにより、ロボット１１の各軸を駆動するサーボモータ１５、および作業を実施するエンドエフェクタ１７は、制御装置１２によって制御される。
【００１０】
ティーチィングペンダント１３は、例えばユーザが携帯あるいは手に所持して操作可能な程度の大きさで構成されている。ティーチィングペンダント１３は、例えば薄型の略矩形箱状に形成されている。ティーチィングペンダント１３は、表面部の中央部に例えば液晶ディスプレイからなる表示部２１を有している。表示部２１には、各種の画面が表示される。表示部２１は、タッチパネルで構成されている。また、ティーチィングペンダント１３は、表示部２１の周囲に各種のキースイッチ２２が設けられている。タッチパネルおよびキースイッチ２２は、制御装置１２へ種々の指示を入力するキー操作部２３を構成している。
【００１１】
ティーチィングペンダント１３の内部には、制御回路２４および図示しないインターフェイスなどが設けられている。制御回路２４は、マイクロコンピュータを主体として構成されている。ティーチィングペンダント１３は、インターフェイスを経由して制御装置１２との間で高速のデータ転送を実行する。ティーチィングペンダント１３は、ケーブル２５を経由して制御装置１２に接続している。ティーチィングペンダント１３のキー操作部２３から入力された操作信号などは、ケーブル２５を経由してティーチィングペンダント１３から制御装置１２へ送信される。また、制御装置１２は、ティーチィングペンダント１３へ制御信号や表示用の信号などとともに、駆動用の電力を供給する。
【００１２】
ユーザは、上記のティーチィングペンダント１３を用いてロボット１１の運転や設定などの各種の機能を実行可能である。具体的には、ユーザは、キー操作部２３を操作することにより、予め記憶されているロボット１１のプログラムを呼び出して、ロボット１１の起動や各種のパラメータの設定などを実行することができる。また、ロボット１１をマニュアル操作により動作させて各種の教示作業も実行可能である。このとき、表示部２１には、例えばメニュー画面、設定入力画面、状況表示画面など必要に応じて所望の画面が表示される。
【００１３】
パソコン１４には、例えば汎用のノートパソコンなどが適用される。パソコン１４でプログラミングソフトを実行させることにより、ユーザはアプリケーションに応じてロボット１１の動作手順などを記述したロボットプログラムを作成することができる。この場合、ユーザは、ロボット１１で実行するアプリケーションに応じて、パッケージ命令を組み合わせたり、修正を加えたりすることにより、比較的簡単にロボット１１の動作プログラムを作成することができる。このパソコン１４は、ケーブル２６を経由して制御装置１２に接続している。パソコン１４で作成されたロボット１１の動作プログラムは、ケーブル２６を経由してパソコン１４から制御装置１２へ入力される。
【００１４】
制御装置１２は、箱状のフレームの内部に制御部３１が組み込まれている。制御部３１は、ＣＰＵ、ＲＯＭおよびＲＡＭなどからなるマイクロコンピュータを主体として構成されている。制御部３１は、予め入力、記憶されたロボット１１の動作プログラムや、各種データおよびパラメータ、ティーチィングペンダント１３からの操作信号などに基づいて、サーボ制御部３２を経由してロボット１１の各軸のサーボモータ１５を駆動する。これにより、制御装置１２は、ロボット１１の動作を制御する。
【００１５】
制御装置１２は、上記の構成に加え、エンコーダ３３、記憶部３４、汎用パラメータ取得部３５、専用パラメータ取得部３６、判断部３７および動作制御調整部３８を有している。エンコーダ３３は、サーボモータ１５の動作量を検出する。エンコーダ３３は、例えばサーボモータ１５の回転角度などを検出する。エンコーダ３３は、検出したサーボモータ１５の回転角度を電気信号として制御部３１へ出力する。記憶部３４は、ロボット１１の動作プログラム、各種データあるいはパラメータなどを記憶する。記憶部３４は、例えばＥＰＰＲＯＭなどの不揮発性の記憶素子やＨＤＤなどから構成されている。また、制御部３１を構成するＲＯＭおよびＲＡＭによって記憶部３４を構成してもよい。
【００１６】
汎用パラメータ取得部３５は、ロボット１１の動作に適用する汎用パラメータを取得する。汎用パラメータは、ロボット１１の可動領域全体からまんべんなく選ばれた目的点および各種動作についてのキャリブレーションを実行することにより取得される。汎用パラメータは、ロボット１１に想定される可動領域のすべてにおいて想定されるすべての動作に適用可能である。すなわち、汎用パラメータは、ロボット１１の可動領域のすべてにおけるすべての動作に適用されるロボット１１の制御の基礎となるパラメータである。汎用パラメータ取得部３５は、ティーチィングペンダント１３またはパソコン１４から入力されたロボット１１の動作の繰り返し、あるいは予め設定された汎用パラメータ取得プログラムによるロボット１１の動作の繰り返しにより、ロボット１１のキャリブレーションを実行し、汎用パラメータを取得する。
【００１７】
汎用パラメータ取得部３５は、ロボット１１の動作領域の全体ですべての動作について適用可能なキャリブレーションを実行し、汎用パラメータを取得する。なお、汎用パラメータ取得部３５は、ロボット１１の動作領域のうち代表となる領域、および代表となる動作のキャリブレーションを実行し、動作領域の全体におけるすべての動作に適用される汎用パラメータを算出する構成としてもよい。汎用パラメータ取得部３５は、キャリブレーションの結果として取得した汎用パラメータを記憶部３４に記憶する。
【００１８】
専用パラメータ取得部３６は、ロボット１１の動作に適用する専用パラメータを取得する。専用パラメータは、ロボット１１の可動領域のうちの一部に設定されている特定領域において、ロボット１１に設定されている動作のうち一部の特定動作についてのキャリブレーションを実行することにより取得される。専用パラメータは、ロボット１１に想定される可動領域のうちの一部である特定領域において、ロボット１１に想定される動作のうちの一部である特定動作についてのみ適用される。すなわち、専用パラメータは、ロボット１１の特定領域における特定動作にのみ適用され、その特定領域における特定動作に専用のパラメータである。専用パラメータ取得部３６は、ティーチィングペンダント１３またはパソコン１４から入力されたロボット１１の動作の繰り返し、あるいは予め設定された専用パラメータ取得プログラムによるロボット１１の動作の繰り返しにより、ロボット１１のキャリブレーションを実行し、専用パラメータを取得する。このとき、専用パラメータ取得部３６は、ロボット１１で特定領域における特定動作を繰り返す。これにより、特定領域における特定動作についてのキャリブレーションが実行される。専用パラメータ取得部３６は、キャリブレーションの結果として取得した専用パラメータを記憶部３４に記憶する。
【００１９】
汎用パラメータ取得部３５および専用パラメータ取得部３６は、ロボット１１の各軸について、次のパラメータを取得する。汎用パラメータ取得部３５および専用パラメータ取得部３６は、例えば回転軸ｉの回転角θｉ、回転軸ｉによって駆動されるリンクＬｉ、回転軸ｉと回転軸ｉ＋１との間のリンク長ａｉ、リンクＬｉのｚ軸からリンクＬｉ＋１のｚ軸までのｘｉ軸まわりの回転角αｉ、および回転角θｉのオフセット量Δθｉなどのうちの全部または一部をパラメータとして取得する。
【００２０】
汎用パラメータが適用されるロボット１１の動作は、ロボット１１に想定されるすべての動作である。汎用パラメータおよび専用パラメータには、エンコーダ３３のオフセット量、駆動力伝達機構の誤差量および直角度などの任意のパラメータが含まれる。専用パラメータが適用されるロボット１１の動作としては、例えば同一点における姿勢変化動作、同一点を対象とする画像撮影動作、ある同一の領域内で設定された複数の動作、およびパレタイジング動作などがある。このように、ロボット１１の動作が限定された特定の領域内において、限定された特定の動作であるとき、制御装置１２によるロボット１１の制御には専用パラメータが適用される。
【００２１】
判断部３７は、ロボット１１の動作が特定領域における特定動作であるか否かを判断する。そして、動作制御調整部３８は、判断部３７でロボット１１の動作領域および動作を判断した結果、汎用パラメータを適用する領域および動作であるか、専用パラメータを適用する領域および動作であるかを判断する。制御装置１２には、ティーチィングペンダント１３またはパソコン１４からロボット１１で実行する動作が入力される。動作制御調整部３８は、この入力された動作が特定領域における特定動作であるか否かを判断する。動作制御調整部３８は、図３に示すように制御部３１に入力されたアプリケーションに基づくロボット１１の動作領域およびその動作から適用するパラメータの種類を判断する。具体的には、ロボット１１の動作領域が特定領域内であって、ロボット１１の動作が特定動作であるとき、動作制御調整部３８は専用パラメータを適用すると判断する。一方、ロボット１１の動作領域が特定領域内であっても特定動作でないとき、ロボット１１の動作が特定動作であっても動作領域が特定領域外であるとき、およびロボット１１の動作領域が特定領域外であり特定動作でもないとき、動作制御調整部３８はいずれも汎用パラメータを適用すると判断する。
【００２２】
次に、上記の構成によるロボットシステム１０の作動について説明する。
（キャリブレーションによるパラメータの取得）
図４に基づいて、ロボットシステム１０のキャリブレーションについて説明する。
キャリブレーションが開始されると、制御部３１はまず専用パラメータ取得部３６によって専用パラメータの取得を実行する。専用パラメータ取得部３６は、キャリブレーションの対象となるアプリケーションを決定する（Ｓ１０１）。キャリブレーションの対象となるアプリケーションは、パソコン１４から入力されたロボット１１の動作プログラムによって決定される。アプリケーションが決定すると、専用パラメータ取得部３６は動作エリアを決定する（Ｓ１０２）。動作エリアは、アプリケーションごとに一つ以上設定されている。専用パラメータ取得部３６は、その動作エリアからキャリブレーションを実行する動作エリアを決定する。
【００２３】
動作エリアが決定されると、専用パラメータ取得部３６はキャリブレーションの位置および姿勢を決定する（Ｓ１０３）。専用パラメータ取得部３６は、キャリブレーションの位置および姿勢が決定すると、ロボット１１のＤＨパラメータを保存する（Ｓ１０４）。専用パラメータ取得部３６は、キャリブレーションの位置および姿勢が決定したとき、ロボット１１のサーボモータ１５、アーム１６やエンドエフェクタ１７の位置など、ロボット１１の初期位置となるＤＨパラメータを取得する。専用パラメータ取得部３６は、取得したＤＨパラメータを記憶部３４に記憶する。
【００２４】
初期位置におけるロボット１１のＤＨパラメータが取得されると、専用パラメータ取得部３６はロボット１１を計測対象となる計測位置に動作させる（Ｓ１０５）。ロボット１１は、専用パラメータ取得部３６からの制御信号にしたがって計測位置に動作する。ロボット１１が計測対象となる計測位置に移動すると、専用パラメータ取得部３６は計測位置におけるロボット１１の位置および姿勢を取得する（Ｓ１０６）。計測位置におけるロボット１１の位置および姿勢は、図示しない外部機器によって取得される。すなわち、計測位置におけるロボット１１の位置および姿勢とは、外部機器によって取得された実位置および実姿勢である。外部機器としては、例えばレーザ変位計などの各種の計測機器が適用される。専用パラメータ取得部３６は、図示しない外部機器によって取得された実位置および実姿勢を、記憶部３４に記憶する。また、専用パラメータ取得部３６は、ロボット１１を計測対象となる計測位置へ動作させるときに出力した指令位置および姿勢もしくは指令角度を記憶部に記憶する（Ｓ１０７）。
【００２５】
専用パラメータ取得部３６は、ステップＳ１０６におけるロボット１１の実位置および実姿勢の取得および記憶、ならびにステップＳ１０７における指令位置および姿勢もしくは指令角度の取得および記憶が完了すると、キャリブレーション動作が完了したか否かを判定する（Ｓ１０８）。キャリブレーションは、ステップＳ１０３で決定されたキャリブレーション位置および姿勢について複数の計測点において実行される。そのため、専用パラメータ取得部３６は、キャリブレーション動作が完了するまでステップＳ１０５にリターンして各計測点におけるキャリブレーション動作を繰り返す。
【００２６】
専用パラメータ取得部３６は、ステップＳ１０８においてキャリブレーション動作が完了、すなわち各計測点におけるキャリブレーション動作が完了したと判断すると、キャリブレーションを実行し、キャリブレーションデータを作成する（Ｓ１０９）。キャリブレーションデータは、ステップＳ１０４で取得したＤＨパラメータ、ステップＳ１０６で取得した計測位置におけるロボット１１の実位置および実姿勢、ならびにステップＳ１０７で取得した計測位置におけるロボット１１への指令位置および姿勢もしくは指令角度に基づく演算によって算出される。専用パラメータ取得部３６は、ステップＳ１０９で算出したキャリブレーションデータを記憶部３４に記憶する（Ｓ１１０）。このとき、専用パラメータ取得部３６は、アプリケーションの動作ごと、およびアプリケーションの動作領域ごとにキャリブレーションデータを作成し、記憶部３４に記憶する。
【００２７】
専用パラメータ取得部３６は、アプリケーションの別の動作領域においてキャリブレーションデータを作成するか否かを判断する（Ｓ１１１）。専用パラメータ取得部３６は、別の動作領域においてキャリブレーションデータを作成する必要があると判断すると、ステップＳ１０２へリターンし、ステップＳ１０３からステップＳ１１０の処理を繰り返す。
専用パラメータ取得部３６は、アプリケーションの各領域におけるキャリブレーションデータの作成が完了したと判断すると、別のアプリケーションにおけるキャリブレーションデータを作成するか否かを判断する（Ｓ１１２）。専用パラメータ取得部３６は、別のアプリケーションについてキャリブレーションデータを作成する必要があると判断すると、Ｓ１０１へリターンし、ステップＳ１０２からステップＳ１１１の処理を繰り返す。
【００２８】
以上のように、ロボット１１に設定されているアプリケーションのすべての動作領域においてステップＳ１０１からステップＳ１１２の処理を実行することにより、専用パラメータ取得部３６は、ロボット１１の特定領域における特定動作について専用のキャリブレーションデータを作成する。そして、専用パラメータ取得部３６は、作成したキャリブレーションデータに基づき専用パラメータを取得する。専用パラメータ取得部３６は、取得した専用パラメータを記憶部３４に記憶する。
制御部３１は、専用パラメータ取得部３６によるステップＳ１０１からステップＳ１１２の処理が完了すると、汎用パラメータ取得部３５による汎用パラメータの取得に移行する。汎用パラメータ取得部３５は、まず汎用キャリブレーション位置および姿勢を決定する（Ｓ１１３）。ここで、汎用キャリブレーション位置とは、ロボット１１のすべての動作領域におけるすべての動作に対象とするキャリブレーションが実行されるロボット１１の代表的な位置および姿勢である。
【００２９】
汎用パラメータ取得部３５は、汎用キャリブレーション位置および姿勢を決定すると、ロボット１１の計測対象となる計測位置へ動作させる（Ｓ１１４）。ロボット１１は、汎用パラメータ取得部３５からの制御信号にしたがって計測位置に動作する。ロボット１１が計測対象となる計測位置に移動すると、汎用パラメータ取得部３５は計測位置におけるロボット１１の位置および姿勢を取得する（Ｓ１１５）。計測位置におけるロボット１１の位置および姿勢は、図示しない外部機器によって取得される。すなわち、計測位置におけるロボット１１の位置および姿勢とは、例えばレーザ変位計などの各種の計測機器からなる外部機器によって取得された実位置および実姿勢である。汎用パラメータ取得部３５は、取得した実位置および実姿勢を記憶部３４に記憶する。また、汎用パラメータ取得部３５は、ロボット１１を計測対象となる計測位置へ動作させるときに出力した指令位置および姿勢もしくは指令角度を記憶部３４に記憶する（Ｓ１１６）。
【００３０】
汎用パラメータ取得部３５は、ステップＳ１１５におけるロボット１１の実位置および実姿勢の取得および記憶、ならびにステップＳ１１６における指令位置および姿勢もしくは指令角度の取得および記憶が完了すると、キャリブレーション動作が完了したか否かを判定する（Ｓ１１７）。キャリブレーションは、ステップＳ１１３で決定されたキャリブレーション位置および姿勢について複数の計測点において実行される。そのため、汎用パラメータ取得部３５は、キャリブレーション動作が完了するまでステップＳ１１４にリターンして各計測点におけるキャリブレーション動作を繰り返す。
【００３１】
汎用パラメータ取得部３５は、ステップＳ１１７においてキャリブレーション動作が完了、すなわち各計測点におけるキャリブレーション動作が完了したと判断すると、キャリブレーションを実行し、キャリブレーションデータを作成する（Ｓ１１８）。キャリブレーションデータは、ステップＳ１１５で取得した計測位置におけるロボット１１の実位置および実姿勢、ならびにステップＳ１１６で取得した計測位置におけるロボット１１への指令位置および姿勢もしくは指令角度に基づく演算によって算出される。汎用パラメータ取得部３５は、ステップＳ１０１８で算出したキャリブレーションデータを記憶部３４に記憶する（Ｓ１１９）。このとき、汎用パラメータ取得部３５は、ロボット１１のすべての動作領域におけるすべての動作に適用可能なキャリブレーションデータを作成し、記憶部３４に記憶する。
【００３２】
以上のように、ステップＳ１１３からステップＳ１１９の処理を実行することにより、汎用パラメータ取得部３５は、ロボット１１のすべての動作領域におけるすべての動作についての基礎となるキャリブレーションデータを作成する。そして、汎用パラメータ取得部３５は、作成したキャリブレーションデータに基づき汎用パラメータを取得する。汎用パラメータ取得部３５は、取得した汎用パラメータを記憶部３４に記憶する。
【００３３】
（パラメータの適用）
制御部３１は、上述の図４に示す流れによって取得した専用パラメータおよび汎用パラメータを用いてロボット１１の動作を制御する。以下、図５に基づいてパラメータの選択およびパラメータの適用について説明する。
ロボット１１を動作させるとき、ユーザはロボット１１に適用する動作プログラムを入力する（Ｓ２０１）。動作プログラムは、例えばパソコン１４から制御装置１２に入力される。制御装置１２には、複数の動作プログラムが入力される場合がある。そのため、複数の動作プログラムのうち、制御装置１２で選択されてロボット１１で実行されるプログラムが特許請求の範囲の実行プログラムに相当する。
【００３４】
判断部３７は、入力された動作プログラムのうちロボット１１で実行される実行プログラムを解析する（Ｓ２０２）。判断部３７および動作制御調整部３８は、協働して実行プログラムが専用パラメータを適用すべきものか、汎用プログラムを適用すべきものかを判断する。具体的には、判断部３７は、実行プログラムに特定動作が含まれているか否かを判断する（Ｓ２０３）。すなわち、判断部３７は、実行プログラムに特定動作をともなうアプリケーションが含まれているか否かを判断する。判断部３７は、実行プログラムに特定動作をともなうアプリケーションが含まれていると判断すると、特定領域内での動作であるか否かを判断する（Ｓ２０４）。すなわち、判断部３７は、実行プログラムにしたがうロボット１１の動作が特定領域で動作するものか否かを判断する。
【００３５】
動作制御調整部３８は、ステップＳ２０３において実行プログラムがロボット１１の特定動作をともなうアプリケーションを含み、かつステップＳ２０４においてロボット１１の動作が特定領域内であると判断すると、記憶部３４から専用パラメータを読み取る（Ｓ２０５）。一方、動作制御調整部３８は、ステップＳ２０３において実行プログラムがロボット１１の特定動作をともなうアプリケーションを含まない、またはステップＳ２０４においてロボット１１の動作が特定領域外であると判断すると、記憶部３４から汎用パラメータを読み取る（Ｓ２０６）。
【００３６】
動作制御調整部３８は、ステップＳ２０５において専用パラメータを読み取る、またはステップＳ２０６において汎用パラメータを読み取ると、読み取った専用パラメータまたは汎用パラメータを適用して補正値を計算する（Ｓ２０７）。すなわち、動作制御調整部３８は、ステップＳ２０５において専用パラメータを読み取ると、ロボット１１の制御に専用パラメータを適用する。一方、動作制御調整部３８は、ステップＳ２０６において汎用パラメータを読み取ると、ロボット１１の制御に汎用パラメータを適用する。
【００３７】
制御部３１は、ステップＳ２０７で計算された補正値を適用して実行プログラムを実行し、ロボット１１を制御する（Ｓ２０８）。以上のように、制御装置１２は、実行プログラムにしたがうロボット１１の動作が特定領域における特定動作を含むとき、専用パラメータを適用してロボット１１を制御する。一方、制御装置１２は、実行プログラムにしたがうロボット１１の動作が特定領域における特定動作を含まないとき、汎用パラメータを適用してロボット１１を制御する。
【００３８】
以上説明した本発明の一実施形態では、ロボット１１の動作領域および動作に応じて専用パラメータまたは汎用パラメータを適用してロボット１１を制御している。例えば非常に高い精度が要求される限られた領域における限られた動作となる専用性が高い動作をロボット１１で実行する場合、ロボット１１の可動領域の全体に適用可能な汎用パラメータを適用してロボット１１を制御すると、この微少な領域における微少な動作の精度確保が困難になりやすい。一方、この微少な領域における微少な動作の精度をロボット１１の可動領域全体に適用すると、ロボット１１の動作の補正に適用するためのデータが膨大となる。そこで、本発明の一実施形態では、ロボット１１の動作を規定する実行プログラムに含まれるアプリケーションが特定領域における特定動作であるときに限り専用パラメータを適用してロボット１１を制御し、その他の領域および動作では汎用パラメータを適用してロボット１１を制御している。そのため、ロボット１１が特定領域における特定動作であるとき、高い精度が確保される専用パラメータを適用してロボット１１を制御し、その他の領域および動作ではデータ量の小さな汎用パラメータを適用してロボット１１を制御している。したがって、ロボット１１の可動領域全体での各種動作における精度の確保と、ロボット１１の特定領域における特定動作における精度の確保とを両立して達成することができる。
【００３９】
（その他の実施形態）
制御部３１は、ロボット１１が起動時にある場合、上記の図５に示す判断に基づくことなく、汎用パラメータを適用してロボット１１を制御してもよい。ロボット１１は、起動と同時あるいは起動直後に精密な特定領域における特定動作を実行することはほとんどない。そのため、ロボット１１が起動時にある場合、制御部３１は汎用パラメータを適用してロボット１１を制御する。したがって、起動に要する時間を短縮することができる。
【００４０】
ところで、ロボット１１は、その動作によっては特定領域外における任意の動作から特定領域における特定動作に移行する場合がある。このとき、制御装置１２は、ロボット１１の動作が一つのステップを完了した後に、図５に示すステップＳ２０７におけるパラメータの適用を切り替える構成としてもよい。すなわち、制御装置１２は、ロボット１１の動作が一連して継続している途中で専用パラメータと汎用パラメータとを切り替えない。専用パラメータを適用してロボット１１を制御するときと、汎用パラメータを適用してロボット１１を制御するときとでは、動作にずれあるいは誤差が生じるおそれがある。例えば特定領域外から特定領域における特定動作に移行するとき、パラメータを切り替えると、ロボット１１が特定領域外から特定領域に移動した際に制御精度は変化する。その結果、ロボット１１の位置や角度にわずかなずれが生じるおそれがある。そこで、制御装置１２は、ロボット１１の動作が専用パラメータを適用する条件から汎用パラメータを適用する条件へ移行するとき、およびその逆に移行するとき、ロボット１１の動作が一つのステップを完了するまでパラメータの切り替えを行わない。すなわち、制御装置１２は、ロボット１１が一連の動作を行っているとき、その動作が完了するまでパラメータを切り替えない。したがって、ロボット１１の動作中における動作のずれを低減することができる。
【図面の簡単な説明】
【００４１】
【図１】本発明の一実施形態によるロボットシステムの概略を示すブロック図
【図２】本発明の一実施形態によるロボットシステムの構成を示す概略図
【図３】本発明の一実施形態によるロボットシステムにおいて、動作領域および動作とパラメータとの関係を示す概略図
【図４】本発明の一実施形態によるロボットシステムによるキャリブレーションの流れを示す概略図
【図５】本発明の一実施形態によるロボットシステムによるパラメータの選択および適用の流れを示す概略図
【符号の説明】
【００４２】
図面中、１１はロボット、１２は制御装置（ロボット制御装置）、３４は記憶部（記憶手段）、３５は汎用パラメータ取得部（汎用パラメータ取得手段）、３６は専用パラメータ取得部（専用パラメータ取得手段）、３７は判断部（判断手段）、３８は動作制御調整部（動作制御調整手段）を示す。
【図１】
0004882990.tif 000002
【図２】
0004882990.tif 000003
【図３】
0004882990.tif 000004
【図４】
0004882990.tif 000005
【図５】
0004882990.tif 000006