(57)【要約】【課題】  ロボットのモデル化を行わずにより正確なシミュレーションを行う。【解決手段】  ロボット１０を制御するロボット制御装置２０が備える制御情報の記憶手段２６に対して、ロボットの制御により得られる制御情報の少なくとも一部を取得する制御情報取得手段と、取得された制御情報に基づいてロボットの動作のシミュレーションを行う。つまり、実際のロボットの動作制御で得られる制御情報を利用するので、モデル化を行わず正確なシミュレーションが可能となる。【選択図】図５
2006281330.tif 000002
【特許請求の範囲】
【請求項１】
ロボットのシミュレーション装置において、
ロボット制御装置からロボットの制御により得られる制御情報の少なくとも一部を取得する制御情報取得手段と、
前記取得された制御情報に基づいて前記ロボットの動作のシミュレーションを行うことを特徴とするロボットシミュレーション装置。
【請求項２】
前記制御情報取得手段により取得された制御情報を記憶する取得情報記憶手段を備え、
前記取得情報記憶手段に記憶された制御情報に基づいて前記ロボットの動作のシミュレーションを行うことを特徴とする請求項１記載のロボットシミュレーション装置。
【請求項３】
前記制御情報取得手段は、前記ロボットの第一の動作による軌道の各位置でのサーボ遅れ量を前記制御情報として取得し、
当該サーボ遅れ量取得時のロボットの第一の動作による軌道の各位置でのロボット各軸に生じるイナーシャを算出するイナーシャ演算手段と、
前記算出された各位置でのイナーシャと前記取得されたサーボ遅れ量とから、イナーシャとサーボ遅れの対応関係を特定すると共に、当該対応関係から前記ロボットの第二の動作による軌道の各位置でのサーボ遅れ量を算出するサーボ遅れ特定手段とを備えることを特徴とする請求項１又は２記載のロボットシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業用ロボットの動作をシミュレートするシミュレーション装置に関する。
【背景技術】
【０００２】
従来からロボットのサイクルタイムをシミュレーションで求める場合、ＲＲＳ(Realistic Robot Simulation)の規格を用いてサイクルタイム精度の向上が図られていた。しかし、このＲＲＳの規格では、例えば、サーボ系のシミュレーションができないという問題があった。
このため、従来のロボットシミュレーション装置では、ロボット制御装置でロボットの制御に使用されるものと同じ機能ソフトウェアを搭載すると共に、サーボ遅れ時間を設定入力可能なサーボ遅れ入力部と、設定されたサーボ遅れ時間に応じて応答時間を遅らせてフィードバックパルスを出力するサーボシミュレーション部とを付加するという構成を採っている（例えば、特許文献１参照）。
そして、ロボット制御装置で使用される機能ソフトウェアの機能により、あたかもロボットに対して動作指令を行うように、機能ソフトウェアの処理部からサーボシミュレーション部に対して指令パルスを出力すると、サーボシミュレーション部はサーボ遅れ入力部で設定された値に基づく時間だけフィードバックパルスの応答を遅延させて、機能ソフトウェアの処理部に返す。これにより、実際のロボットの動作を把握し、軌跡精度やサイクルタイムのシミュレーションを行っていた。
【特許文献１】特開２００３−３００１８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記従来のロボットシミュレーション装置では、サーボシミュレーション部が実際のロボットによるフィードバックパルスの応答を正確に再現しなければシミュレーションにより求められるサイクルタイムの精度を上げることができなかった。つまり、上記従来例ではロボットの詳細且つ正確なモデル化を行わなければ精度の高いシミュレーションを行うことができないという不都合があった。
また、同じ型式のロボットでも固体差がある場合には、各ロボットを個別に再現するそれぞれのサーボシミュレーション部が必要となるという不都合があった。
【０００４】
本発明は、ロボットの詳細なモデル化を行わずにより正確なシミュレーションを行うことをその目的とする。
また、本発明は、例えば同型機種の複数のロボットの間で生じるような格差を反映してシミュレーションを行うことを、さらなる目的とする。
【課題を解決するための手段】
【０００５】
請求項１記載の発明は、ロボットのシミュレーション装置において、ロボット制御装置からロボットの制御により得られる制御情報の少なくとも一部を取得する制御情報取得手段と、取得された制御情報に基づいてロボットの動作のシミュレーションを行う、という構成を採っている。
【０００６】
請求項２記載の発明は、請求項１記載の発明と同様の構成を備えると共に、制御情報取得手段により取得された制御情報を記憶する取得情報記憶手段を備え、取得情報記憶手段に記憶された制御情報に基づいてロボットの動作のシミュレーションを行う、という構成を採っている。
【０００７】
請求項３記載の発明は、請求項１又は２記載の発明と同様の構成を備えると共に、制御情報取得手段は、ロボットの第一の動作による軌道の各位置でのサーボ遅れ量を制御情報として取得し、当該サーボ遅れ量取得時のロボットの第一の動作による軌道の各位置でのロボット各軸に生じるイナーシャを算出するイナーシャ演算手段と、算出された各位置でのイナーシャと取得されたサーボ遅れ量とから、イナーシャとサーボ遅れの対応関係を特定すると共に、当該対応関係からロボットの第二の動作による軌道の各位置でのサーボ遅れ量を算出するサーボ遅れ特定手段とを備える、という構成を採っている。
上記構成にあっては、仮に駆動源が複数ある場合には、当該各駆動源により駆動されるロボット各軸についてイナーシャを求め、各々のロボット各軸についてイナーシャとサーボ遅れとの対応関係を求めることが好ましい。
また、「第一の動作」とは、サーボ遅れ量の実測値を取得するためにロボットが実際に実行する動作を示し、「第二の動作」とは、シミュレーションによりサーボ遅れ量を求めようとする動作を示すものである。
また、「サーボ遅れ量」とは、速度偏差、位置偏差或いは予定される通過点への到達遅れ時間を示すものとする。
【発明の効果】
【０００８】
請求項１記載の発明では、ロボット制御装置により実際にロボットの制御が行われる。つまり、ロボット制御装置は、制御に要する各種の指令をロボットに出力し、ロボットはこれに対する各種の応答を行う。そして、ロボット制御装置では、制御情報として、ロボットの応答に基づくデータ又は当該データから演算により求められるデータ等を記憶手段に記憶する。
一方、ロボットシミュレーション装置では、制御情報取得手段により、ロボット制御装置の記憶手段からロボットの応答に基づくデータ又は当該データから演算により求められるデータ等を取得し、当該取得した制御情報に基づいてシミュレーションを実行する。
【０００９】
請求項１記載の発明では、ロボット制御装置が実際にロボットの動作制御を実行し、その際に蓄積されるロボットの応答に基づくデータ又は当該データから演算により求められるデータ等をロボットシミュレーション装置が取得し、ロボットのシミュレーションに用いるため、従来のようにロボットの詳細なモデル化を行わずに、ロボットの特性を忠実に反映した制御情報に基づくシミュレーションを行うことが可能となる。
また、複数のロボット間に個体差がある場合であっても、各ロボットの動作制御により制御情報を取得することにより、個々のロボットを仮想的に再現する手段を用意することなく、個別のシミュレーションを実現することが可能となる。
【００１０】
請求項２記載の発明は、制御情報取得手段から取得した制御情報を一旦、取得情報記憶手段に記憶することができるため、制御情報の取得時にのみ、制御情報取得手段とロボット制御装置とを接続していれば、その後のシミュレーションにあっては非接続とすることが可能となる。
このため、例えば、既に作業現場に設置されてシミュレーション結果の検証等を行うには向かない環境にあるロボットに対しても、制御情報の取得作業時にのみロボットシミュレーション装置をロボット制御装置に接続し、シミュレーション結果の検証は別の場所で行うことも可能となり、ロボットの使用環境に関わらすシミュレーションを行うことが可能となる。
【００１１】
請求項３記載の発明では、ロボット制御装置がロボットを第一の動作の軌道で動作させ、制御情報取得手段はその所定の軌道の各位置でのサーボ遅れ量を取得する。
さらに、イナーシャ演算手段は、第一の動作の軌道の各位置によるロボット各軸の軸周りのイナーシャを算出する。
これにより、サーボ遅れ特定手段では、第一の動作の軌道の各位置でのイナーシャとサーボ遅れ量とを対応付けることができる。かかる対応付けは、ロボット各軸に生じるサーボ遅れが、主にイナーシャの大小に大きく影響されることに起因するものである。
そして、サーボ遅れとイナーシャとの対応関係を取得することで、ロボットが第二の動作を行う場合であっても、その動作軌道の各位置でのイナーシャが近似する場合には、前述の対応関係からサーボ遅れ量を求めることができる。
【００１２】
このように、請求項３記載の発明は、ロボットに第一の動作を実行させることによりサーボ遅れとイナーシャとの対応関係を求めるため、第一の動作以外の他の動作（第二の動作）についてもイナーシャからサーボ遅れ量を求めることが可能となる。
また、サーボ遅れとイナーシャとの対応関係は、ロボットの実際の動作から取得するので、これに基づいて得られるサーボ遅れ量はそのロボットに固有の値であると共に、設計値からの計算でのみ求める場合と比べて、容易且つ高精度に求めることが可能となる。
【発明を実施するための最良の形態】
【００１３】
（発明の実施形態の全体構成）
本発明の実施の形態を図１乃至図５に基づいて説明する。図１は、本発明の実施形態の概略構成図である。
上記実施形態は、溶接ガン等の作業手段を先端部で保持すると共に当該先端部を任意の位置に移動させ或いは任意の向きに向ける動作を行うロボット１０と、ロボット１０の動作制御を行うロボット制御装置２０と、ロボット制御装置２０から所定情報の送受を行う通信回線であるイーサネット（登録商標）を介して接続されたロボットシミュレーション装置３０とを示している。
【００１４】
（ロボット）
上述のロボット１０は、土台となるベース１１と、関節１３で連結された複数のアーム１２と、各関節１３ごとに設けられた駆動源としてのサーボモータ（図示略）と、各サーボモータの軸角度をそれぞれ検出するエンコーダ（図示略）とを備えている。そして、連結された各アーム１２の先端部１４にはロボットの用途に応じた作業手段１５（例えば溶接ガン等）が装備される。
上記各関節１３は、アーム１２の一端部を揺動可能として他端部を軸支する揺動関節と、アーム自身をその長手方向を中心に回転可能に軸支する回転関節とのいずれかから構成される。つまり、本実施形態におけるロボット１０はいわゆる多関節型ロボットに相当する。
また、ロボット１０は、六つの関節１３を具備しており、その先端部１４を任意の位置に位置決めすることが可能となっている。
【００１５】
（ロボット制御装置）
ロボット制御装置２０は、当該ロボット制御装置２０全体を制御するシステムプログラムとロボット１０の動作制御を行う制御プログラムと各種の初期設定データが格納されたＲＯＭ２２と、ＲＯＭ２２に格納された各種のプログラムを実行するＣＰＵ２１と、ＣＰＵ２１の処理により各種データをワークエリアに格納するＲＡＭ２３と、ＣＰＵ２１の実行する制御プログラムに従って決定されるロボット１０の各関節１３のサーボモータのトルク値に応じたサーボモータ駆動電流を通電するサーボ制御回路２４と、各関節１３のエンコーダ出力を受信するインターフェイス２５と、前述の制御プログラムの処理により求められるロボット１０の制御に関する各種のデータが格納される記憶手段としてのバッファ２６と、ロボット１０の教示点、その他の各種の設定を入力するための例えばキーボード及びそのインターフェイスを備える入力手段２７と、ＬＡＮケーブル５１を介してロボットシミュレーション装置３０との間で各種のデータ送信を行うＬＡＮボード２８と、上記各構成の信号の送受可能に接続するバス２９とを備えている。
なお、上述のバッファ２６は、格納されたデータを書き替え可能に記憶保持可能な手段であれば良く、例えば、不揮発性の半導体メモリ或いはいわゆるハードディスク装置等で構成されている。
【００１６】
（ロボット制御装置の処理）
ロボット制御装置２０において行われる主要な処理について説明する。図２に基づいて説明する。図２は制御プログラムに基づく処理を示すフローチャートである。
【００１７】
（処理：教示点入力）
上記入力手段２７から、ロボットアームの先端部１４（各関節１３で接続された複数アーム１２の最も先端となる位置）の移動軌跡の指標となる複数の教示点の位置座標と、各教示点に対してロボットアーム先端部１４がどの程度離れた距離を通過するかを定める距離値と、各教示点に対するロボットアーム先端部１４の停止又は通過速度とが入力されると、これらはロボットプログラムデータとしてバッファ２６内に記憶される（ステップＳ１）。
なお、各教示点位置の入力は、座標入力に限らず、ロボットアーム１２を実際に移動させて設定入力する、いわゆるティーチングにより行うことも可能である。
【００１８】
（制御装置：軌道計画の作成）
次いで、ロボットの動作開始のコマンドの入力が行われると、ＣＰＵ２１は制御プログラムに従って、バッファ２６内に格納された前述のロボットプログラムデータにより、軌道計画の作成を開始する。
軌道計画は、まず、周知の手法により、各教示点に基づくロボットアーム先端部１４の通過軌跡と、その通過軌跡に沿って所定の間隔で配置される無数の通過点の位置座標を算出する。各通過点の間隔は、ロボット１０の動作中における各関節１３のエンコーダに対する検出サンプリング間隔に応じた間隔とされる（ステップＳ２）。
なお、軌道計画の作成に際しては、ロボット１０に対してワークの供給等を行う搬送装置や治具等の周辺機器のデータを有する場合には、これを考慮しても良い。つまり、搬送装置や治具等がロボット１０の周囲に配置される場合であって、その配置や移動軌跡を示すデータがある場合には、これらとの干渉を回避したり、或いは、これらと協調した動作を行うための軌道計画が作成される。
【００１９】
さらに、各通過点の座標値から、ロボットアームの先端部１４が各通過点を通過するための各関節１３のサーボモータの軸角度を算出する。また、ロボットプログラムデータとして設定された各教示点の通過速度から各通過点の通過速度を求めて、各関節１３のサーボモータの軸速度（回転速度）も算出する（ステップＳ３）。これら各通過点の位置座標、各通過点における各サーボモータの軸角度、軸速度は軌道計画データとしてバッファ２６に記憶される。
【００２０】
（制御装置：動作制御）
さらに、ＣＰＵ２１は制御プログラムに従って、軌道計画データを読み出すと共に各サーボモータを駆動して、設定された教示点に基づく移動軌跡でロボットアーム先端部１４を移動させる（ステップＳ４）。
かかるロボット１０の動作中において、サーボ制御回路２４は各サーボモータに通電する電流値を検出し、目標とする電流値となるようにフィードバックを実行する。
また、ロボット１０の動作中において、ＣＰＵ２１は、規定のサンプリング間隔でロボット１０の各関節１３におけるエンコーダ出力を検出し、これらをそれぞれ微分して各通過点におけるロボットアームの移動速度を求める。そして、予め求められた軌道計画データの各通過点における各サーボモータの軸速度と比較して、速度偏差を求めると共に当該速度偏差に基づいて各サーボモータに対してその指令トルク値に対するフィードバックを実行する。
さらに、ロボット１０の動作中において、ＣＰＵ２１は、前述の各通過点におけるエンコーダ出力検出に基づいて各通過点における各関節１３のサーボモータの軸角度を求め、予め求められた軌道計画データの各通過点における各サーボモータの軸角度と比較して、位置偏差を求めると共に当該位置偏差に基づいて各サーボモータに対してその指令トルク値に対するフィードフィードバックを実行する。
また、上述の速度と位置のフィードバックについては、各サーボモータについて速度フィードバックゲインと位置ループゲインとが予めＲＯＭ２２内に記憶設定されており、速度と位置のフィードバックにおいてそれぞれが参照される。
また、上述の各種のゲインについては、各関節１３ごとのイナーシャ等をパラメータとするイナーシャと各ゲインとの対応関係を定めたテーブルを予めＲＯＭ２２内に格納して、各テーブルを参照してフィードバックを行っても良い。この場合、各関節１３ごとに、各通過点ごとのイナーシャが算出され、その算出値にも基づいて各種のゲインが決定されることとなる。
【００２１】
そして、上記動作制御において、各通過点における各サーボモータの速度偏差、位置偏差及びこれらのいずれかから求まる各通過点における時間的な遅れは、サーボ遅れ量として、バッファに記憶される（ステップＳ５）。
以上の動作制御により、ロボット１０は、設定された各教示点に基づく動作を実行する。
【００２２】
（ロボットシミュレーション装置）
ロボットシミュレーション装置３０は、ロボット制御装置２０から制御情報としてのロボットプログラムデータ及び軌道計画データとを取得して、これに基づくロボット１０のサーボ遅れの発生のシミュレーションを実行する。
ロボットシミュレーション装置３０は、全体を制御するシステムプログラムと後述するサーボ遅れ量テーブルを作成する前処理プログラムとロボット１０のサーボ遅れのシミュレーションを行うシミュレーションプログラムと各種の初期設定データが格納されたＲＯＭ３２と、ＲＯＭ３２に格納された各種のプログラムを実行するＣＰＵ３１と、ＣＰＵ３１の処理により各種データをワークエリアに格納するＲＡＭ３３と、ロボット１０のシミュレーションプログラムの処理によりロボット制御装置２０のバッファ２６から取得される制御情報が格納される取得情報記憶手段としてのバッファ３４と、ロボット１０のシミュレーションプログラムにおける各種の設定を入力するための例えばキーボード及びそのインターフェイスを備える入力手段３５と、シミュレーションの結果を表示するＣＲＴ等を備える表示装置３６と、通信回線としてのＬＡＮケーブル５１を介してロボット制御装置２０との間で各種のデータ送信を行うＬＡＮボード３７と、上記各構成の信号の送受可能に接続するバス３８とを備えている。
なお、バッファ３４もまた、格納されたデータを書き替え可能に記憶保持可能な手段であれば良く、例えば、不揮発性の半導体メモリ或いはいわゆるハードディスク装置等で構成されている。
【００２３】
（ロボットシミュレーション装置の処理）
ロボットシミュレーション装置３０の主要な処理について図３乃至図５に基づいて説明する。
ロボットシミュレーション装置３０は、ロボット制御装置２０から制御情報を取得してシミュレーションの実行のためのサーボ遅れ量テーブルを作成する処理と、作成されたサーボ遅れ量テーブルを利用してロボット１０のサーボ遅れ量のシミュレーションを行う処理とを主に行うものである。
【００２４】
（テーブル作成処理）
図３は前処理プログラムに基づくサーボ遅れテーブルを作成する処理を示すフローチャートである。
ＣＰＵ３１は、前処理プログラムを実行することにより、制御情報取得手段としての処理を実行する。つまり、ＣＰＵ３１は、ＬＡＮケーブル５１を介して、ロボット制御装置２０のバッファ２６から、前述のステップＳ２，Ｓ３で書き込まれた制御情報としての軌道計画データを読み出すと共に、当該データをバッファ３４に書き込む処理を実行する（ステップＳ１１）。
【００２５】
さらに、ＣＰＵ３１は、前処理プログラムに従い、ロボット１０の各関節１３における各通過点ごとのイナーシャ（慣性モーメント）の算出を行う（ステップＳ１２）。
ＲＯＭ３２内には、各関節１３のサーボモータの軸周りに生じるイナーシャを算出するための必須データ、即ち、ロボットアーム全体を構成する複数アーム１２の各々についての形状、寸法、重量、重心位置、各関節１３の軸の位置及び軸の方向等が予め記憶されている。
また、各関節１３のサーボモータの軸角度に応じてロボットアームの姿勢全体は変化し、これに伴い、重心位置が変動してイナーシャも変化するので、各サーボモータの軸周りのイナーシャの算出には、当該サーボモータよりロボットアーム先端側となる他のサーボモータの軸角度も必要となる。このため、各サーボモータのイナーシャの算出には、軌道計画データに含まれる各通過点での各サーボモータの軸角度も参照される。
【００２６】
次いで、ＣＰＵ３１は、前処理プログラムに従い、ＬＡＮケーブル５１を介して、ロボット制御装置２０のバッファ２６から、前述のステップＳ５で書き込まれたロボット１０の各サーボモータにおける各通過点ごとのサーボ遅れ量（位置偏差、速度偏差又は時間的な遅れ）を読み出すと共に、バッファ３４に書き込む処理を実行する（ステップＳ１３）。
【００２７】
次いで、ＣＰＵ３１は、前処理プログラムに従い、イナーシャとサーボ遅れ量との対応関係を示すサーボ遅れ量テーブルを作成する（ステップＳ１４）。
即ち、前述したステップＳ１２で求めた各サーボモータにおける各通過点ごとのイナーシャと、ステップＳ１３で取得した各サーボモータにおける各通過点ごとのサーボ遅れ量とについて、各サーボモータごとに同じ通過点についてイナーシャとサーボ遅れの対応を図り、各関節１３のサーボモータごとに、イナーシャとサーボ遅れとの対応関係を示すテーブルを作成する。
サーボ遅れ量は、位置偏差、速度偏差又はこれらから求まる所定の移動距離に対する時間的な遅れを示す。ここで、図４にサーボ遅れ量テーブルの概念図を示す。この図に示すように、上記処理に基づくサーボ遅れ量テーブルは、各値のイナーシャＪに対して、各サーボモータごとの所定の移動距離に対する時間的な遅れＴが特定されている。つまり、上記テーブルを参照することにより、各関節１３のサーボモータの軸周りのイナーシャが分かれば、これから所定の移動距離に対する時間的な遅れを求めることが可能となる。
【００２８】
上記処理により、ロボット１０におけるサーボ遅れ量テーブルを取得することができ、取得後は、ＣＰＵ３１は、これをバッファ３４に記憶する。
【００２９】
（サーボ遅れ量のシミュレーション）
図５はシミュレーションプログラムに基づくサーボ遅れのシミュレーションを実行する処理を示すフローチャートである。
まず、入力手段３５から、複数の教示点の位置座標と、各教示点に対してロボットアーム先端部１４がどの程度離れた距離を通過するかを定める距離値と、各教示点に対するロボットアーム先端部１４の停止又は通過速度とが入力されると、シミュレーションプログラムにより、ＣＰＵ３１は、これらをロボットプログラムデータとしてバッファ３４内に記憶する（ステップＳ２１）。
なお、ここで入力される複数の教示点は、前述したロボット制御装置２０においてロボット１０を制御する際に入力した複数の教示点とは異なる教示点であっても良い。つまり、ここでの処理では、図３に示す処理で作成されたサーボ遅れ量テーブルを用いることにより、種々の移動動作で生じるサーボ遅れをシミュレーションにより求めようとするものである。
【００３０】
次に、ＣＰＵ３１は、シミュレーションプログラムを実行することにより、ロボット制御装置２０の制御プログラムと同じアルゴリズムで軌道計画を作成し、各通過点の設定、各通過点の位置座標、各サーボモータの軸角度、軸速度を算出する（ステップＳ２２）。
【００３１】
さらに、ＣＰＵ３１は、シミュレーションプログラムを実行することにより、イナーシャ演算手段として機能する。即ち、ＣＰＵ３１は、前処理プログラムと同じアルゴリズムで、ロボット１０の各関節１３における各通過点ごとのイナーシャの算出を行う（ステップＳ２３）。
【００３２】
次いで、ＣＰＵ３１は、シミュレーションプログラムを実行することにより、サーボ遅れ特定手段として機能する。即ち、ＣＰＵ３１は、バッファ３４に格納されたサーボ遅れ量テーブルを参照して、各関節１３のサーボモータにおける各通過点での算出イナーシャから、サーボ遅れ時間を特定する。つまり、各関節１３のサーボモータについて各通過点でのサーボ遅れ時間を特定することができる（ステップＳ２４）。
なお、各関節１３のサーボモータにおける各通過点での算出イナーシャが、サーボ遅れ量テーブルにある二つのイナーシャの間の値となるような場合には、補間処理によりサーボ遅れ時間を特定する処理が行われる。例えば、補間処理としては、算出イナーシャの値の前後二つのイナーシャにより特定されるサーボ遅れ時間を平均化した値を採用したり、さらにはイナーシャの値がより近い方のサーボ遅れ時間に重み付けをして平均して算出したサーボ遅れ時間を採用する。
【００３３】
次いで、ＣＰＵ３１は、シミュレーションプログラムを実行することにより、各サーボモータにおける各通過点でのサーボ遅れ時間を、各サーボモータごとに目標位置まで合計する処理を行う。さらに、サーボ遅れ時間の合計の値が最も大きくなるサーボモータを特定し、特定されたサーボモータの合計サーボ遅れ時間を目的位置までの動作において生じるサーボ遅れ時間と特定する。さらに、この特定されたサーボモータの合計サーボ遅れ時間とロボット制御装置が目的位置までの動作指令を各サーボモータに出力し終わるまでの時間とを加算し、これをロボットの１０のサイクルタイムに特定する処理を行う（ステップＳ２５）。
そして、ＣＰＵ３１は、算出した目的位置までのサイクルタイムと目的位置までの動作において生じるサーボ遅れ時間とを、表示手段３６の表示画面にシミュレーション結果として表示させる制御を行い（ステップＳ２６）、シミュレーションを終了する。
【００３４】
（ロボットシミュレーション装置の効果）
上述したロボットシミュレーション装置３０では、イナーシャとサーボ遅れ量の対応関係を示すサーボ遅れ量テーブルを求めるため、計算により比較的に容易に求まるイナーシャが特定されれば、テーブルを参照してサーボ遅れ量を算出することが可能となる。このため、設計値からの計算でのみサーボ遅れ量を求める場合と比べて、容易にサーボ遅れ量を求めることが可能となる。
また、サーボ遅れ量テーブルと計算したイナーシャの値とからサーボ遅れ量が求まるので、サーボ遅れ量テーブルを求めるためのロボット１０の最小限の実際の動作から、多種多様な動作において生じるサーボ遅れ量を特定することが可能となる。
また、サーボ遅れ量テーブルはロボット１０の実際の動作から得られるサーボ遅れ量に基づいて作成するので、設計値からの計算でのみサーボ遅れ量を求める場合と比べて、高精度にサーボ遅れ量を求めることが可能となる。
【００３５】
また。ロボットシミュレーション装置３０は、ロボット制御装置が実際にロボットの動作制御を実行する際に蓄積されるデータからサーボ遅れ量テーブルを取得し、ロボット１０のサーボ遅れのシミュレーションに用いるため、イナーシャの算出に要する簡易な演算を要するが、従来例のように、各軸の静摩擦、動摩擦、減速器の効率等を考慮した複雑且つ精細なロボット１０のモデル化を不要としつつ、ロボット１０の固有の特性を忠実に反映したシミュレーションを行うことが可能となる。
さらに、ロボットシミュレーション装置３０では、ロボット制御装置２０から取得した各種の制御情報をバッファ３４に記憶するため、制御情報の取得後はＬＡＮケーブル５１を取り外して切断状態とすることができる。このため、例えば、既に作業現場に設置されてシミュレーション結果の検証等を行うには向かない環境にあるロボットに対しても、制御情報の取得作業時にのみロボットシミュレーション装置をロボット制御装置に接続し、シミュレーション結果の検証は別の場所で行うことも可能となり、ロボットの使用環境に関わらすシミュレーションを行うことが可能となる。
【００３６】
（その他）
なお、前述したサーボ遅れテーブルを作成する処理において、ロボット制御装置２０からの軌道計画データ及びサーボ遅れ量の読み出しを行うタイミングについては、ロボット制御装置２０がロボット１０の制御を開始して、そのバッファ２６に軌道計画データ及びサーボ遅れ量のデータが蓄積される過程において、リアルタイムでバッファ３４に転送しても良いし、ロボット制御装置２０がロボット１０の制御を完全に完了した後にバッファ２６に残存するデータをバッファ３４に転送させるものであっても良い。
【００３７】
また、通常のロボット１０の作業時にロボット制御装置２０が動作制御を実行することで得られた軌道計画データやサーボ遅れ量のデータに基づいて、ロボットシミュレーション装置３０はサーボ遅れ量テーブルを作成しても良いが、ロボット１０の各サーボモータの軸周りのより広範囲又はより細密な値のイナーシャに対応するサーボ遅れ量のデータが取得可能な固有の動作（データ取得に好適な動作）を、ロボット１０に実行させる動作制御を行ってサーボ遅れ量テーブルを作成しても良い。
【００３８】
また、本実施形態では、ロボット制御装置２０とロボットシミュレーション装置３０とをＬＡＮケーブル５１で接続し、データの送受を行っているが、当該ＬＡＮケーブル５１は、データの転送時以外では取り外しておいても良い。また、データの転送後には、ロボットシミュレーション装置３０は他の場所に移動してシミュレーションを実行しても良い。
さらに、ＬＡＮケーブル５１に限らず、必要量のデータの移動が可能であればいかなる手段を使用しても良い。例えば、不揮発性の記録メディアの読み出し／書き込み装置をロボット制御装置２０とロボットシミュレーション装置３０のそれぞれに設け、記録メディアを用いてデータの移動を行っても良い。
【図面の簡単な説明】
【００３９】
【図１】本発明の一実施形態の全体構成図である。
【図２】図１に開示したロボット制御装置の制御プログラムに基づく処理を示すフローチャートである。
【図３】図１に開示したロボットシミュレーション装置の前処理プログラムに基づくサーボ遅れテーブルを作成する処理を示すフローチャートである。
【図４】サーボ遅れ量テーブルの概念図である。
【図５】図１に開示したロボットシミュレーション装置のシミュレーションプログラムに基づくサーボ遅れのシミュレーションを実行する処理を示すフローチャートである。
【符号の説明】
【００４０】
１０  ロボット
２０  ロボット制御装置
２１  ＣＰＵ
２２  ＲＯＭ
２６  バッファ
３０  ロボットシミュレーション装置
３１  ＣＰＵ
３２  ＲＯＭ
３４  バッファ（取得情報記憶手段）
５１  ＬＡＮケーブル
【図１】
2006281330.tif 000003
【図２】
2006281330.tif 000004
【図３】
2006281330.tif 000005
【図４】
2006281330.tif 000006
【図５】
2006281330.tif 000007