(57)【要約】【課題】  オフライン教示によって作成した教示データをシミュレーションした場合、実際のロボットを動作させた場合と比較して動作時間が異なることがあり、設定した動作時間となるように教示データを修正する必要があった。【解決手段】  従来のシミュレータ（モーションシミュレーション部）にサーボ演算とロボットダイナミクスを考慮したサーボシミュレーション部を接続し、シミュレーション統括部で全体のシミュレーションを同期させて制御するようにする。また、サーボシミュレーション部の位置決め完了信号をモーションシミュレーション部で処理するようにする。  【選択図】図１
2006099310.tif 000002
【特許請求の範囲】
【請求項１】
オフラインにてロボットの教示および動作シミュレーションを実行するロボットシミュレーション装置において、
教示データを生成し、前記教示データに基づいて動作指令を生成するモーションシミュレーション部と、
前記動作指令に応じてサーボ演算を行うサーボシミュレーション部と、
前記モーションシミュレーション部と前記サーボシミュレーション部とのデータ送受信を仲介し、両者の処理を同期させるシミュレーション統括部とを備えたことを特徴とするロボットシミュレーション装置。
【請求項２】
前記シミュレーション統括部は、前記モーションシミュレーション部および前記サーボシミュレーション部との通信を行う統括通信処理手段と、
前記モーションシミュレーション部および前記サーボシミュレーション部に対し起動やシミュレーション実行開始・停止を指示するシミュレーション制御手段と、
シミュレーション操作をする操作手段とを備えたことを特徴とする請求項１記載のロボットシミュレーション装置。
【請求項３】
前記モーションシミュレーション部は、前記シミュレーション統括部との通信によって前記サーボシミュレーション部へ前記動作指令を送信し、前記サーボシミュレーション部による前記サーボ演算の結果を受信するサーボ通信処理手段と、
前記サーボ演算の結果に基づいて前記ロボットの動作をシミュレートし、その所要時間を計測する動作時間計測手段と、
前記サーボ演算の結果に基づいて前記ロボットのグラフィック描画を行う描画手段とを備えたことを特徴とする請求項１または２記載のロボットシミュレーション装置。
【請求項４】
前記モーションシミュレーション部は、前記シミュレーション統括部との通信を有効にし、前記サーボシミュレーション部とのデータ送受信を行うか否かを設定するサーボシミュレーション設定手段と、
設定した内容に応じて前記サーボ通信処理手段の有効・無効を切り替えるサーボシミュレーション切り替え手段とを備えたことを特徴とする請求項３記載のロボットシミュレーション装置。
【請求項５】
前記サーボミュレーション部は、前記シミュレーション統括部との通信によって前記モーションシミュレーション部からの前記動作指令の受信や、前記モーションシミュレーション部への前記サーボ演算の結果の送信を行うモーション通信処理手段と、
前記ロボットのダイナミクスシミュレーション演算を行うダイナミクスシミュレーション手段とを備えたことを特徴とする請求項１または２記載のロボットシミュレーション装置。
【請求項６】
前記サーボミュレーション部は、前記シミュレーション統括部との通信を有効にし、前記モーションシミュレーション部とのデータ送受信を行うか否かを設定するモーションシミュレーション設定手段と、
設定した内容に応じて、前記モーション通信処理手段の有効・無効を切り替えるモーションシミュレーション切り替え手段とを備えたことを特徴とする請求項５記載のロボットシミュレーション装置。
【請求項７】
前記サーボシミュレーション部は、前記サーボ演算の結果に、前記ロボットの各関節軸の指令位置とフィードバック位置との差に応じて生成した位置決め完了信号を含め、
前記モーションシミュレーション部は、前記位置決め完了信号に応じて前記動作指令を生成することを特徴とする請求項１乃至６記載のロボットシミュレーション装置。
【請求項８】
前記サーボシミュレーション部は、前記サーボ演算の結果に、前記ダイナミクスシミュレーション手段で計算される２次側関節角度のフィードバック位置を含め、
前記モーションシミュレーション部は、前記描画手段において、前記２次側関節角度に応じてロボットをグラフィック描画することを特徴とする請求項１乃至６記載のロボットシミュレーション装置。
【請求項９】
オフラインにてロボットの教示および動作シミュレーションを実行するロボットシミュレーション方法において、
教示データを生成し、前記教示データに基づいて動作指令を生成する第１の工程と、
前記動作指令に応じてサーボ演算を行う第２の工程と、
前記第１の工程と前記第２の工程とのデータ送受信を仲介し、両者の処理を同期させる第３の工程からなることを特徴とするロボットシミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットシミュレーション装置に関するものであり、特に、オフライン教示により動作検証や動作所要時間を計測したり、ロボットの機械設計や電気設計、制御設計を支援したりするロボットシミュレーション装置および方法に関する。
【背景技術】
【０００２】
工業製品の製造過程においては、従来より産業用ロボットによる製造ライン自動化が図られており、例えば溶接、部品搬送、切断、組み立て等の工程でロボットが運用されている。ロボットを製造工程の中で運用する際は、まずロボットに動作を教える教示という作業が必要である。教示を行う際にシミュレータが利用されることも多く、各ロボットメーカ専用あるいは汎用のロボットシミュレータが市販されている。シミュレータを利用することによって、実際のロボットやラインを動かすことなく教示ができるという利点がある。ただし、実際の製造現場では生産効率を維持するため、各工程での作業時間（サイクルタイム）を設定しており、そのサイクルタイム内に収まるようにロボットの動作を教示する必要がある。このため、通常ロボットシミュレータはロボットの動作時間の計測機能を備えており、教示したデータに基づいてシミュレーションを行って任意の動作区間で動作時間が計測できる。しかしながら、シミュレーションで計測した動作時間が実際のロボットを動かした時のそれと大きく異なっていた場合、実際のロボットの動作時間が設定した動作時間に収まるように、教示データを修正してシミュレーションを行い、再び実際のロボットで動作時間や行程全体のサイクルタイムを評価するといった作業が必要になる。よってロボットシミュレータには正確な動作時間を算出することが望まれる。
動作時間の誤差の要因としては主に、動作指令に対するサーボ追従遅れ、周辺機器間の処理時間遅れ等がある。特にサーボ追従遅れに関しては、従来のロボットシミュレーション装置では、シミュレータ内にサーボ追従遅れ時間推定機能を設けて対応している（例えば、特許文献１参照）。
図６に従来のロボットシミュレーション装置の例を示す。６１は教示データ生成手段であり、教示データを作成する。６２は動作指令生成手段であり、教示データから各軸の動作指令を制御周期ごとに生成する。動作指令生成手段６２は実際のロボットコントローラの動作指令生成部を模擬したものであり、ここで生成された動作指令はサーボ追従遅れ推定手段６３に送られ、追従遅れを考慮したシミュレーションを行い、その結果を描画手段６４に送ってロボットの３次元モデルを描画する。また６５は動作時間計測手段であり、シミュレーションでの動作時間を計測する。このように、従来のロボットシミュレーション装置は、実際のロボットコントローラを模擬した動作指令生成手段とサーボ追従遅れ推定手段６３によって、より正確な動作時間計測を可能としている。
【０００３】
【特許文献１】特開２００４−１５１９７６号公報（第５−６頁、図２）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のロボットシミュレーション装置におけるサーボ追従遅れ推定手段では実際のロボットコントローラでの処理内容を模擬しておらず簡単なフィルタとなっており、さまざまなサーボ制御の制御則の特性や機種に応じたロボットダイナミクスの特性を考慮していない。これはシミュレーションソフトウェアを簡単にするためであるが、上記のような特性を考慮していないため、実際のロボットを動作させた時と一致するような正確な動作時間を計測することができないという問題があった。
本発明はこのような問題点に鑑みてなされたものであり、シミュレーションソフトウェアを複雑にすることなく、正確な動作時間を計測することができるロボットシミュレーション装置および方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記問題を解決するため、本発明は、次のように構成したのである。
請求項１に記載の発明は、オフラインにてロボットの教示および動作シミュレーションを実行するロボットシミュレーション装置において、教示データを生成し、前記教示データに基づいて動作指令を生成するモーションシミュレーション部と、前記動作指令に応じてサーボ演算を行うサーボシミュレーション部と、前記モーションシミュレーション部と前記サーボシミュレーション部とのデータ送受信を仲介し、両者の処理を同期させるシミュレーション統括部とを備えたことを特徴とする。
請求項２に記載の発明は、前記シミュレーション統括部は、前記モーションシミュレーション部および前記サーボシミュレーション部との通信を行う統括通信処理手段と、前記モーションシミュレーション部および前記サーボシミュレーション部に対し起動やシミュレーション実行開始・停止を指示するシミュレーション制御手段と、シミュレーション操作をする操作手段とを備えたことを特徴とする。
請求項３に記載の発明は、前記モーションシミュレーション部は、前記シミュレーション統括部との通信によって前記サーボシミュレーション部へ前記動作指令を送信し、前記サーボシミュレーション部による前記サーボ演算の結果を受信するサーボ通信処理手段と、前記サーボ演算の結果に基づいて前記ロボットの動作をシミュレートし、その所要時間を計測する動作時間計測手段と、前記サーボ演算の結果に基づいて前記ロボットのグラフィック描画を行う描画手段とを備えたことを特徴とする。
請求項４に記載の発明は、前記モーションシミュレーション部は、前記シミュレーション統括部との通信を有効にし、前記サーボシミュレーション部とのデータ送受信を行うか否かを設定するサーボシミュレーション設定手段と、設定した内容に応じて前記サーボ通信処理手段の有効・無効を切り替えるサーボシミュレーション切り替え手段とを備えたことを特徴とする。
請求項５に記載の発明は、前記サーボミュレーション部は、前記シミュレーション統括部との通信によって前記モーションシミュレーション部からの前記動作指令の受信や、前記モーションシミュレーション部への前記サーボ演算の結果の送信を行うモーション通信処理手段と、前記ロボットのダイナミクスシミュレーション演算を行うダイナミクスシミュレーション手段とを備えたことを特徴とする。
請求項６に記載の発明は、前記サーボミュレーション部は、前記シミュレーション統括部との通信を有効にし、前記モーションシミュレーション部とのデータ送受信を行うか否かを設定するモーションシミュレーション設定手段と、設定した内容に応じて、前記モーション通信処理手段の有効・無効を切り替えるモーションシミュレーション切り替え手段とを備えたことを特徴とする。
請求項７に記載の発明は、前記サーボシミュレーション部は、前記サーボ演算の結果に、前記ロボットの各関節軸の指令位置とフィードバック位置との差に応じて生成した位置決め完了信号を含め、前記モーションシミュレーション部は、前記位置決め完了信号に応じて前記動作指令を生成することを特徴とする。
請求項８に記載の発明は、前記サーボシミュレーション部は、前記サーボ演算の結果に、前記ダイナミクスシミュレーション手段で計算される２次側関節角度のフィードバック位置を含め、前記モーションシミュレーション部は、前記描画手段において、前記２次側関節角度に応じてロボットをグラフィック描画することを特徴とする。
また、請求項９に記載の発明は、オフラインにてロボットの教示および動作シミュレーションを実行するロボットシミュレーション方法において、教示データを生成し、前記教示データに基づいて動作指令を生成する第１の工程と、前記動作指令に応じてサーボ演算を行う第２の工程と、前記第１の工程と前記第２の工程とのデータ送受信を仲介し、両者の処理を同期させる第３の工程からなることを特徴とする。
【発明の効果】
【０００６】
請求項１に記載の発明によると、シミュレーションソフトウェアを複雑にすることなく、正確な動作時間を計測することができる。
請求項２に記載の発明によると、モーションシミュレーションとサーボシミュレーションのそれぞれのソフトウェアを統括してシミュレーションできるようになり、モーションシミュレーション部やサーボシミュレーション部自体のソフトウェアを複雑にすることがない。
請求項３に記載の発明によると、詳細なサーボシミュレーションのデータを受け取り、その結果に応じてサイクルタイムを計測するので、より正確な動作時間が得られる。
請求項４に記載の発明によると、詳細なサーボシミュレーションを行うか否かを選択することができるようになる。これによって大まかな動作時間計測でよい場合や、時間計測が不要で動作の確認のみで良い場合等では計算負荷を少なくすることができる。
請求項５に記載の発明によると、実際のコントローラを模擬した動作指令データでシミュレーションすることができるので、より高精度なサーボ制御シミュレーションが可能となる。
請求項６に記載の発明によると、詳細なモーションシミュレーションを行うか否かを選択することができる。これによってサーボシミュレーション部単体でサーボ制御の検証も可能となる。
請求項７に記載の発明によると、より正確な動作時間計測が可能となる。
請求項８に記載の発明によると、より正確なロボットの動作が描画にて確認できる。
請求項９に記載の発明によると、シミュレーションソフトウェアを複雑にすることなく、正確な動作時間を計測することができる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施の形態について図を参照して説明する。
【実施例１】
【０００８】
図１は、本発明のロボットシミュレーション装置の概略図である。図において、１はモーションシミュレーション部であり、従来のオフライン教示用ロボットシミュレータに相当するものである。ここでは主にオフライン教示を行って時系列にロボットの各関節軸の動作指令を生成し、シミュレーションの実行結果を３次元グラフィックで描画する。本発明が特許文献１と異なる部分は、これにサーボシミュレーション部２とシミュレーション統括部３を加えた部分である。サーボシミュレーション部２では、モーションシミュレーション部１で生成された各関節軸の動作指令を取り込み、ロボットダイナミクスに応じた位置速度の比例積分制御等の演算を行ってその結果をモーションシミュレーション部１に送る。このとき、シミュレーション統括部３はモーションシミュレーション部１とサーボシミュレーション部２を起動したり、シミュレーション開始・停止等の制御や、双方で同期したデータのやりとりを仲介したりする。このような構成にすることによってサーボやロボットダイナミクスの特性を考慮した詳細なシミュレーションが可能になり、実際のロボットに近い動作の描画と正確な動作時間計測が可能となる。また同時に、モーションシミュレーション部１とサーボシミュレーション部２を分散させることで、それぞれのソフトウェアが複雑になることがなく、それぞれを単独で利用することも可能となるため、モーションシミュレーション部１とサーボシミュレーション部２が多目的に活用できるようになる。
【０００９】
図２にモーションシミュレーション部１の詳細な構成を示す。モーションシミュレーション部１では、まずオフライン教示を行う教示データ生成手段１１で教示データを作成し、記憶しておく。動作指令生成手段１２では教示データを呼び出して、その中に記述されている教示位置や動作コマンドに応じて動作指令を生成する。この動作指令生成手段１２は、実際のロボットコントローラの指令生成部分のソフトウェアをシミュレータ用に移植して正確に模擬したものであり、実際のコントローラで用いる制御パラメータに応じた加減速や軌跡、直交座標系から関節座標系への変換（逆運動学演算）に基づいて各関節軸の位置指令が生成される。
従来のロボットシミュレーション装置ではここで生成された動作指令をサーボ追従遅れ推定手段１３を通して、描画手段１４でその結果を描画したり、動作時間計測手段１５で動作時間の計算を行ったりしている。
本発明が従来と異なる部分は、サーボシミュレーション設定手段１６とサーボシミュレーション切り替え手段１７、およびサーボ通信処理手段１８を備えており、この手段の動作に応じて描画手段１４で描画する内容が変わったり、動作時間計測手段１５で計測される動作時間が変わったりすることである。
【００１０】
まず、サーボシミュレーション設定手段１６では、従来のサーボ追従遅れ手段１３を用いるか、シミュレーション統括部を通してサーボシミュレーション部２とデータ送受信を行うか否かを設定する。そしてその設定値に応じてサーボシミュレーション切り替え手段１７によって動作指令生成手段１２の動作指令をどちらに送るかを切り替える。またその切り替えた方からそのサーボデータを受け取って描画手段１４や動作時間計測手段１５に送る。
サーボシミュレーション設定手段１６によってサーボシミュレーション部２と通信すると設定された場合は、サーボシミュレーション通信処理手段１８によって動作指令をシミュレーション統括部３に伝送し、シミュレーション統括部３からサーボシミュレーション結果であるサーボ演算データを受け取る。このよう構成になっているので、詳細なサーボシミュレーションを行うか、従来の簡単なサーボ追従遅れ推定を行うかを選択でき、また、詳細なサーボシミュレーションを選択した場合は実際の位置速度の比例積分制御やロボットダイナミクスを考慮した実際のロボットの動作によく一致した位置フィードバック信号を受け取ることができる。このため、より正確な動作時間計測が可能となりそれを描画で確認することも可能となる。一方で、ラフな動作時間計測でよい場合や時間計測が不要で動作の確認のみで良い場合等では比較的計算負荷が少ない従来の方法も利用可能である。
【００１１】
図３にサーボシミュレーション部２の詳細な構成を示す。本実施例では市販の汎用制御系シミュレータ「MATLAB/Simulink」（登録商標）を利用した例で説明する。サーボシミュレーション演算手段２１は、入力された動作指令に応じてサーボ演算する部分であり、実際のロボットコントローラで用いられているフィードフォワード制御やフィードバック制御の演算ソフトウェアがシミュレーション用に移植されモジュール化されたものであり、１つのシミュレーションブロックとしてMATLAB/Simulinkのモデル上に登録されている。また同様にダイナミクスシミュレーション手段２２はサーボシミュレーション演算手段２１のトルク指令出力に基づいてロボットのダイナミクス演算を行うモジュールであり、演算方法としてニュートンオイラー法やラグランジュ法等がよく知られている。そして、ロボットの各関節軸のモータの位置を検出するエンコーダの分解能に応じてサーボシミュレーション演算手段２１に各関節軸のモータ位置フィードバック値を返す。
【００１２】
本発明ではモーションシミュレーション部１において正確な動作時間計測を行うために、以下の手段を追加構成している。すなわちシミュレーション統括部３を通してモーションシミュレーション部１から動作指令を受け取り、サーボシミュレーション結果のサーボ演算データ（例えば位置フィードバック値）をモーションシミュレーション部１に返すための通信を行うモーション通信処理手段２３と、モーションシミュレーション部１とデータ送受信を行うか否かの設定を行うモーションシミュレーション設定手段２４、モーションシミュレーション設定手段２４で設定された値に応じてモーションシミュレーション部１からの動作指令をサーボシミュレーション演算部２１に送るか否かを切り替えるモーションシミュレーション切り替え手段２５を備えている。
モーションシミュレーション設定手段２４によってモーションシミュレーション部１とデータ送受信を行うと設定された場合は、モーションシミュレーション通信処理手段２３によって動作指令をシミュレーション統括部３から受け取ってサーボシミュレーション演算を行い、シミュレーション統括部３へサーボ演算データを送る。
このよう構成になっているので、モーションシミュレーション部１で正確なサーボシミュレーション結果を得ることが可能となる。さらに、詳細なモーションシミュレーションを行うか、MATLAB/Simulink上で指令生成ブロック２６を作成して指令を生成するかを選択でき、詳細なモーションシミュレーションを選択した場合は実際のロボットコントローラで生成されるのと同じ動作指令を受け取ることができる。このため、より実際のロボットコントローラに即したシミュレーションが可能となり、ロボットの機械設計や電気設計、制御設計にも有用となる。また、指令生成ブロック２６を選択した場合は、モーションシミュレーション部１やシミュレーション統括部３を用いることなく、サーボシミュレーション部２単独で、サーボ制御のシミュレーション検証が可能となる。
【００１３】
ここでは、サーボシミュレーション演算手段２１は、実際のロボットコントローラで演算されているフィードフォワード制御やフィードバック制御のソフトウェアがシミュレーション用に移植されモジュール化されたものとしたが、MATLAB/Simulinkで準備しているシミュレーションブロックを接続した簡易的なシミュレーションモデルでもよい。
また、産業用ロボットの場合、モータとロボットアームの間に減速機が配置されており、減速機のバネ特性によってモータとアームにねじれ角が生じるのが一般的である。従ってモータの角度（１次側角度）とアームの角度（２次側角度）は異なっているが、図２のモーションシミュレーション部１の描画手段１４で描画させるには２次側角度をモーションシミュレーション部１に送信するのが望ましい。２次側角度を送信する際はダイナミクスシミュレーション手段２２の演算過程の２次側角度データを送信するようにする。このようにすることで、実際のロボットに近い動作が描画されるようになる。
さらに、モーションシミュレーション部１で正確な動作時間を計測可能とするために、サーボシミュレーション演算手段２１の中で設定される位置決め完了信号をシミュレーション統括部３を通してモーションシミュレーション部１に送る。位置決め完了信号は各関節軸のモータの回転指令位置とフィードバック位置との差がある設定した値以下になった場合にＯＮになる信号である。この信号をモーションシミュレーション部１の動作指令生成手段１２で検出して位置指令を生成することにより、動作時間計測手段１５でより正確な動作時間が計測できることになる。
【００１４】
ここではサーボシミュレーション部１に市販の汎用制御系シミュレータ「MATLAB/Simulink」を利用した例を示したが、これに限定するものではなく、市販されているシミュレータでなくても上記のように構成されていればよい。
【００１５】
図４にシミュレーション統括部３の詳細な構成を示す。シミュレーション統括部は図２と図３で説明したモーションシミュレーション部１とサーボシミュレーション部２を統括して制御するものであり、マンマシンインターフェースである操作手段３１と、シミュレーション装置全体を制御するシミュレーション制御手段３２、モーションシミュレーション部１とサーボシミュレーション部２とのデータ送受信を行う統括通信処理手段３３で構成されている。
シミュレーション制御手段３２はモーションシミュレーション部１とサーボシミュレーション部２の起動やシミュレーション実行開始、停止を行う。シミュレーションを実行する際は、モーションシミュレーション部１とサーボシミュレーション部２の動作を設定した周期で同期したタイミングで処理を実行させる。
統括通信処理手段３３はシミュレーション制御手段３２が発行するコマンドや設定データをモーションシミュレーション部１やサーボシミュレーション部２に送り、その応答データやステータスを受け取る。モーションシミュレーション部に対しては、実行する教示データの読み込み指示やその実行開始、１周期実行要求等のコマンドを送信し、１周期実行時の目標位置指令等のデータを受け取る。また、サーボシミュレーション部２に対しては、シミュレーション開始指示や目標位置指令等を送信し、サーボシミュレーション演算とダイナミクスシミュレーションによる位置フィードバック値等のサーボ演算データを受け取る。
また、統括通信処理手段３３でモーションシミュレーション部１やサーボシミュレーション部２とデータ送受信を行う方法として、共有メモリを利用する方法、ソケットを利用する方法、ＯＬＥ（Object Linking and Embedding）を利用する方法等、様々な方法が考えられる。いずれにしても異なるプロセスで実行されているプログラムの間でデータの送受信を実現する方法としてよく知られているものであり、シミュレーションを実行する環境に合わせて最適な方法を選択すればよい。
【００１６】
次に、図５に、本発明のロボットシミュレーション装置の動作例のデータフローを示す。本動作例はサーボシミュレーション部２とのデータ送受信に共有メモリを利用したものである。共有メモリは同じＣＰＵ上の異なるプロセス間で高速に通信する際によく利用される手法である。ここでは、あらかじめオフライン教示した教示データを実行する例を示す。
まず、シミュレーション統括部３において、教示データ実行指示を出す(S0-S1)。図示していないが、モーションシミュレーション部１では教示データ実行指示を受け取った際に初期化を行い、パラメータ読み込みや指定された教示データの読み込み等を行う。また、この時シミュレーション統括部３はモーションシミュレーション部１から現在のロボットの関節角度（現在値）を取得する(S2)。この現在値を共有メモリにセット(S3)し、サーボシミュレーション部２にシミュレーション開始を指示する(S4)。サーボシミュレーション部２はシミュレーション開始の指示を受け取った際に、パラメータ読み込み(図示せず)や現在値の設定(S5-S7)等の初期化を行う。サーボシミュレーション初期化が終了すればシミュレーション実行の準備が終わり(S8)、周期実行処理に移行する。
【００１７】
周期実行処理ではまず、シミュレーション統括部３がモーションシミュレーション部１に対して１周期実行指示を出す(S9)。この指示に対する応答として、モーションシミュレーション部１は１周期後の目標位置指令を返す(S10)。次にシミュレーション統括部３がサーボシミュレーション部２に目標位置指令を渡すために、共有メモリに目標位置指令をセットする(S11)。サーボシミュレーション部２は共有メモリから目標位置指令を取得し(S12-S13)、サーボシミュレーション演算を行う。その結果の２次側関節角度を共有メモリにセット(S14)し、シミュレーション統括部３がそのデータを取得する(S15-S16)。このような共有メモリを使ってデータのやり取りを行う際は、セマフォを使って同時にデータの読み書きを行わないようにしている。この後、シミュレーション統括部３は２次側関節角度を描画更新指示とともにモーションシミュレーション部に送り(S17)、モーションシミュレーション部１で読み込まれた２次側関節角度データに応じてロボットの３次元グラフィクスの更新を行う。以上が周期実行処理の１周期分の処理であり、教示データの最後まで実行を繰り返す(S18以降)。
【産業上の利用可能性】
【００１８】
本発明はモーションシミュレーション部とサーボシミュレーション部がシミュレーション統括部によって接続されることで実際のロボットシステムにより近い形でシミュレーションが行えるので、オフライン教示の評価だけでなく機械設計や電気設計、制御設計時の検証用途にも適用できる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施例を示すロボットシミュレーション装置の概略図
【図２】本発明のモーションシミュレーション部の詳細図
【図３】本発明のサーボシミュレーション部の詳細図
【図４】本発明のシミュレーション統括部の詳細図
【図５】本発明のロボットシミュレーション装置のデータフロー図
【図６】従来のロボットシミュレーション装置の概略図
【符号の説明】
【００２０】
１  モーションシミュレーション部
２  サーボシミュレーション部
３  シミュレーション統括部
１１  教示データ生成手段
１２  動作指令生成手段
１３  サーボ追従遅れ推定手段
１４  描画手段
１５  動作時間計測手段
１６  サーボシミュレーション設定手段
１７  サーボシミュレーション切り替え手段
１８  サーボ通信処理手段
２１  サーボシミュレーション演算手段
２２  ダイナミクスシミュレーション手段
２３  モーション通信処理手段
２４  モーションシミュレーション設定手段
２５  モーションシミュレーション切り替え手段
２６  指令生成ブロック
３１  操作手段
３２  シミュレーション制御手段
３３  統括通信処理手段
６１  教示データ生成手段
６２  動作指令生成手段
６３  サーボ追従遅れ推定手段
６４  描画手段
６５  動作時間計測手段
【図１】
2006099310.tif 000003
【図２】
2006099310.tif 000004
【図３】
2006099310.tif 000005
【図４】
2006099310.tif 000006
【図５】
2006099310.tif 000007
【図６】
2006099310.tif 000008