JP4837844B2 - シミュレーションシステム、方法、プログラム及び記録媒体 - Google Patents

シミュレーションシステム、方法、プログラム及び記録媒体 Download PDF

Info

Publication number
JP4837844B2
JP4837844B2 JP2001219188A JP2001219188A JP4837844B2 JP 4837844 B2 JP4837844 B2 JP 4837844B2 JP 2001219188 A JP2001219188 A JP 2001219188A JP 2001219188 A JP2001219188 A JP 2001219188A JP 4837844 B2 JP4837844 B2 JP 4837844B2
Authority
JP
Japan
Prior art keywords
simulation
processing
motor
task
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001219188A
Other languages
English (en)
Other versions
JP2003030251A (ja
Inventor
正芳 橋間
陽介 千田
裕一 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2001219188A priority Critical patent/JP4837844B2/ja
Priority to US10/013,450 priority patent/US20030078762A1/en
Publication of JP2003030251A publication Critical patent/JP2003030251A/ja
Application granted granted Critical
Publication of JP4837844B2 publication Critical patent/JP4837844B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/49Nc machine tool, till multiple
    • G05B2219/49029Virtual rapid prototyping, create a virtual prototype, simulate rapid prototyping process

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Manipulator (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、組込ソフトウェア実行装置からの制御入力に応じて仮想機構モデルをシミュレーション計算により動作させるシミュレーションシステム、方法、プログラム及び記録媒体に関し、特に、機構演算処理と第2処理を分離して仮想機構モデルを動作させるシミュレーションシステム、方法、プログラム及び記録媒体に関する。
【0002】
【従来技術】
従来、モータを駆動源として三次元的な動作を行う機構装置、例えばCDチェンジャ、MDチェンジャ、プリンタ等を開発設計する際には、その機構の構想を練った後、詳細設計、出図、部品手配を行ってから実機を試作する。同時に、機構装置の組込ソフトウェア実行装置を実現する通常組込ソフトウェアと呼ばれる制御プログラムを開発する。この制御プログラムを開発する際には、試作した実機を制御しながら、組込ソフトウエアの概略設計、詳細設計、更にデバッグを行っている。
【0003】
図33は従来システムの例であり、組込ソフトウェアを開発する際には、マイコン、マイコンを搭載した制御ボードを含む組込ソフトウェア実行装置200と機構装置(メカ実機)202を準備し、組込ソフトウェア実行装置200と機構装置202を信号線により接続し、モータに対するモータ信号やセンサからの信号の入出力を行っている。
【0004】
しかし、組込ソフトウェアの開発に比べて機構装置の製作には時間がかかるため、ソフトウェア開発が機構装置の試作機が出来上がるまで結合試験ができないという問題があった。
【0005】
この問題を解決する技術として、図34のように、機構装置に代えて計算機上に仮想的機構モデルを構築した仮想メカモデルシミュレーション装置206を準備し、インタフェース装置204を介して組込ソフトウェア実行装置200と結合し、仮想的機構モデルを実際の機構装置と見なして制御プログラムの開発を進めるシミュレーションシステムが提案されている。
【0006】
【発明が解決しようとする課題】
しかしながら、このようなシミュレーションシステムでは、組込ソフトウェア実行装置200からの指令入力に対し仮想メカモデルシミュレーション装置206で仮想機構モデルの3次元の動きを計算しながら描画しており、描画に関する処理である仮想機構モデルを構成する部品の位置姿勢計算と画面描画処理に時間がかかり、モデルの動きが制御プログラムの実行に比べてどうしても遅くなってしまう。そこで、組込ソフトウェア実行装置200と仮想メカモデルシミュレーション装置206との間に同期信号や同期処理を入れる必要があった。
【0007】
図35は組込ソフトウェア実行装置200と仮想メカモデルシミュレーション装置206との間に同期処理を入れた従来システムの処理フローである。組込ソフトウェア実行装置200の制御プログラムは、ステップS1で同期信号Flag1をシミュレーション装置に出力し、ステップS2で仮想メカモデルシミュレーション装置206からの同期信号Flag2を待っている。
【0008】
これによって仮想メカモデルシミュレーション装置206の遅い動きに制御プログラムの時間を合わせている。仮想メカモデルシミュレーション装置206から同期信号Flag2を受信すると、ステップS3でセンサ値を入力し、ステップS4で適宜のイベント処理を行った後、ステップS5でモータ指令値をシミュレータに出力し、この処理を繰り返す。
【0009】
仮想メカモデルシミュレーン装置206は、ステップS101で組込ソフトウェア実行装置200からの同期信号Flag1を待っており、制御プログラムでの一回の処理サイクルが済んで同期信号(Flag1)を受信すると、ステップS102でモータ指令値を入力し、ステップS103で機構モデルの指令値入力に対する三次元的な動きの機構演算を実行し、ステップS104で描画のために動きのあった仮想機構モデルを構成する全部品の位置姿勢を計算する。
【0010】
続いてステップS105で仮想機構モデルを画面に表示するための三次元の画面描画処理を実行し、ステップS106でセンサ値を出力した後、最終的にステップS107で同期信号Flag2を組込ソフトウェア実行装置に出力し、組込ソフトウェア実行装置200の制御プログラムに次のサイクルを実行させる。
【0011】
このように従来システムにあっては、組込ソフトウェア実行装置の組込ソフトウェアである制御プログラムにステップS2の同期信号待ちの状態を作ることにより、処理に時間のかかっている機構モデルのシミュレーションと時間スケールを合わせている。
【0012】
しかし、従来のシミュレーションシステムにあっては、組込ソフトウェアの開発者にとって、シミュレーション装置の同期待ちという余分な処理を、制御プログラムの中に追加しなければならない煩雑さがある。また画面描画に関する処理に時間がかかるため、組込ソフトウェア実行装置からのモータ指令値の入力に対するシミュレーション装置での機構モデルの動きが実際の制御におけるリアルタイムな動きにならず、制御プログラムによる指令がリアルタイムで機構モデルに反映されないという不具合もあった。
【0013】
本発明は、組込ソフトウェア実行装置の制御プログラム側での同期待ちを必要とすることなくシミュレーション計算により仮想機構モデルをリアルタイムで動かすことのできるシミュレーションシステム、方法、プログラム及び記録媒体を提供することを目的とする。
【0014】
【課題を解決するための手段】
図1は本発明の原理説明図である。本発明は、制御プログラム11を実行して機構装置を制御する組込ソフトウェア実行装置10と、機構装置の仮想機構モデルを構築し、組込ソフトウェア実行装置10からの入力データに応じたシミュレーション計算により仮想機構モデルを動作させる仮想メカモデルシミュレーション装置14を備えたシミュレーションシステムを対象とする。
【0015】
このようなシミュレーションシステムにつき本発明にあっては、仮想メカモデルシミュレーション装置14に、第1タスクとなる組込ソフトウェア実行装置10との入出力と仮想機構モデルの機構演算に関する第1処理を実行する第1処理部18と、第1処理部18の空き時間を使用して、第2タスクとなる仮想機構モデルの描画を含むユーザインタフェースに関する第2処理を実行する第2処理部20とを設けたことを特徴とする。
【0016】
本発明にあっては、仮想機構モデルを動作させるシミュレーション装置の処理の中には、処理量が少なく高速に計算できる高速低負荷処理として、モータ指令値入力、機構演算及びセンサ値出力といった処理があり、また処理量が大きく時間のかかる低速高負荷処理として、部品の位置姿勢計算と画面描画といったユーザインタフェースに関する処理がある点に着目し、シミュレーション装置の処理を高速低負荷処理と低速高負荷処理に分けて、高速低不可処理は制御プログラムからの制御サイクルと同じ周期で高速に実行し、低速高負荷処理は数回の制御サイクルに対し一回というように間引いて実行する。
【0017】
これにより組込ソフトウェア実行装置とシミュレーション装置の間で時間合わせのための同期処理を必要とせず、仮想機構モデルのリアルタイムなシミュレーションが実現できる。
【0018】
本発明は、シミュレーション装置に2台のプロセッサを設けて第1処理部と第2処理部を別々に実装し、第1処理部による入出力及び機構演算と前記第2処理部による描画処理を並列に実行する。
【0019】
また本発明は、シミュレーション装置のプロセッサに第1処理部と第2処理部をマルチタスクで実装し、第1処理部による入出力と機構演算は優先度を高くして短い周期で実行し、第2処理部による描画処理は優先度を低くして長い周期で実行する。
【0020】
マルチタスクの場合には、タイマカウンタと同期を取ることにより第1処理部の処理を一定周期で実行させ、これにより正確な周期でシミュレーション計算が実行できる。
【0021】
また本発明のシミュレーションシステムにおいて、機構装置はパルス信号や正弦波信号などの周期的な信号を入力とするモータ、例えばステッピングモータ、ACモータ、PWMモータなどを備えている場合、シミュレーション装置は、組込ソフトウェア実行装置からのモータ指令としてモータに対するパルス信号や正弦波信号を入力して仮想機構モデルを動作させることができる。
【0022】
第2処理を実行する描画処理は、仮想機構モデルの動く部分を対象に描画処理を実行する。これにより描画に必要な対象部品の位置計算と画面描画の処理量を低減し、リアルタイムに近い状態でモデルの動きが表示できる。
【0023】
本発明のシミュレーションシステムは、更に、予め定義された駆動機構の関係から、任意の選んだ軸にかかる負荷全体の等価慣性、等価静摩擦、等価動摩擦の少なくともいずれかを、選んだ軸から見た値に換算して表示する第3処理部を設けたことを特徴とする。更に第3処理部は、予め定義された駆動機構の関係から、任意の選んだ軸にかかるモータ駆動軸から見た負荷全体の等価慣性、等価静摩擦及び等価動摩擦を用いて、動作に必要なモータの駆動トルクをリアルタイムに算出し表示する。
【0024】
本発明のシミュレーション装置は、組込ソフトウェア実行装置からの入力データに対しトルクモータを実現して仮想機構モデルを動作させることを特徴とする。即ち、シミュレーション装置は、所定のシミュレーションサイクル毎に、
組込ソフトウェア実行装置の指令入力データからトルクモータの目標トルクを求め、
トルクモータの駆動軸から見た負荷全体の等価慣性、等価静摩擦及び等価動摩擦を求め、
目標トルク、等価慣性、等価静摩擦及び等価動摩擦からモータの変位量を求めてモータの変位を更新する処理を繰り返すことを特徴とする。
【0025】
シミュレーション装置は、シミュレーション中における組込ソフトウェア実行装置からの入力データを時間データと共に記憶しておき、シミュレーション後に記憶データを使って再度シミュレーションを再現することを特徴とする。
【0026】
本発明は、機構装置の仮想機構モデルを構築し、組込ソフトウェア実行装置からの入力データに応じたシミュレーション計算により仮想機構モデルを動作させるを備えたシミュレーション方法を提供するものであり、
組込ソフトウェア実行装置との入出力と仮想機構モデルの機構演算に関する第1処理を実行する第1処理ステップと、
第1処理ステップの空き時間を使用して、仮想機構モデルのユーザインタフェースに関する第2処理を実行する第2処理ステップと、
を備えたことを特徴とする。
【0027】
本発明は、コンピュータに、組込ソフトウェア実行装置との入出力と仮想機構モデルの機構演算に関する第1処理を実行する第1処理ステップと、第1処理ステップの空き時間を使用して、前記仮想機構モデルのユーザインタフェースに関する第2処理を実行する第2処理ステップとを実行させることを特徴とするプログラムを提供する。
【0028】
本発明は、コンピュータに、組込ソフトウェア実行装置との入出力と仮想機構モデルの機構演算に関する第1処理を実行する第1処理ステップと、第1処理ステップの空き時間を使用して、仮想機構モデルのユーザインタフェースに関する第2処理を実行する第2処理ステップとを実行させるプログラムを格納したコンピュータ読取可能な記録媒体を提供する。
【0029】
これらシミュレーション方法、プログラム及び記録媒体の詳細は、シミュレーションシステムの場合と基本的に同じになる。
【0030】
【発明の実施の形態】
図2は本発明によるシミュレーションシステムのシステム構成の説明図である。
【0031】
図2において、本発明のシミュレーションシステムは、組込ソフトウェア実行装置10、インタフェース装置12を備えた仮想メカモデルシミュレーション装置14、及び表示装置16で構成される。組込ソフトウェア実行装置10及び仮想メカモデルシミュレーション装置14のそれぞれは、MPUメモリハードディスクなどで構成されるコンピュータ装置で実現される。
【0032】
組込ソフトウェア実行装置10には制御負荷とする機構装置のコントローラとして機能する制御プログラム11が実装されており、この制御プログラム11は開発設計の途中にある試作品又は開発設計の済んだ完成品である。
【0033】
制御プログラム11は、組込ソフトウェア実行装置10の持っているループサンプリングの周期でモータ指令値としてのモータ信号E1を、インタフェース装置12を介して仮想メカモデルシミュレーション装置14に出力し、そのシミュレーション結果をセンサ値を示すセンサ信号E2より読み込む処理を繰り返している。
【0034】
仮想メカモデルシミュレーション装置14には、組込ソフトウェア実行装置10の制御プログラム11が制御対象とする機構装置に対応して仮想的に構築された仮想機構モデル15が準備されている。この仮想機構モデル15はCADなどにより作成することができ、3次元の機構モデルを構成している。
【0035】
この実施形態にあっては、表示装置16には仮想メカモデルシミュレーション装置14に構築している仮想機構モデル15の中のシミュレーション動作の際に動く部分のみを取り出して、3次元機構モデル25として表示している。この部分的な3次元機構モデル25は、組込ソフトウェア実行装置10からのモータ信号E1に対応した仮想メカモデルシミュレーション装置14におけるシミュレーション計算に基づいて動作する。
【0036】
即ち3次元機構モデル25は、例えばモータ26の出力軸のギア28をギア30に連結し、ギア30の軸に設けたカム32を回転するようにしており、このカム32の1回転をセンサ34で検出するようにしている。
【0037】
組込ソフトウェア実行装置10からモータ26に対するモータ指令値としてのモータ信号E1が出力されると、仮想メカモデルシミュレーション装置14において、モータ信号E1に対応した3次元機構モデル25のモータ26の一定回転に対する機構動作を演算し、この機構演算の演算結果に基づいてギア28,30及びカム32の位置を計算し、3次元第2処理により表示装置16上に、シミュレーションにより動作した状態の3次元機構モデル25を第2表示する。
【0038】
図3は、図2の表示装置16に表示している3次元機構モデル25のシミュレーション動作による動きを分解して概略的に表している。図3(A)の表示画面16−1にあっては、組込ソフトウェア実行装置10よりモータ信号E1がモータ26に送られ、このモータ信号E1に応じたモータ出力軸のギア28の回転に応じてギア30の回転が計算され、結果としてカム32の回転動作が図3(B)のようにして行なわれる。
【0039】
このようにしてモータ回転に対するギアの位置の変化が計算されると、最終的に図3(C)のように、その動きによるセンサ34からのセンサ信号E2を組込ソフトウェア実行装置10に出力して、1回のループサンプリングにおけるシミュレーション動作を行なうことになる。
【0040】
図2の実施形態にあっては、表示装置16に仮想メカモデルシミュレーション装置14上に構築している仮想機構モデル15の中のモータ信号E1によって動く部分のみを取り出して3次元機構モデル25として表示しているが、このような動きのある部分のみならず、例えば図4の表示装置16のようにシミュレーションの対象としている仮想機構モデル15の全体的な3次元モデル、例えば図示のようなCDチェンジャ36を表示させても良い。
【0041】
本発明の望ましい実施形態にあっては、シミュレーションによる3次元機構モデルの滑らかな動きを表示装置16上で実現するため、図4のような仮想機構モデルの全体的な詳細画像に代えて、例えば図2の表示装置16のようにモータ及びその負荷機構を含む動く部分の3次元機構モデル25のみを表示させることで、3次元機構モデル25の第2処理の処理量を低減し、モデル描画に要する1回の処理時間を短縮するようにしている。
【0042】
勿論、描画する3次元機構モデルのデータ量を低減して処理時間を短縮する処理としては
(1)モデルの形状を高速に描画できる形状に変更する。
(2)モデルを2次元断面で表示する。
(3)モデル全体を拡大(ズーム)して画面中のモデルの表示部分を減らす。
(4)動く部分だけを表示する。
などがあるが、このうちの(4)の動く部分だけを表示する方法が最も利便性が高く、しかもモデルのデータ量を動く部分だけに絞って削減したとしても、シミュレーション中の動作が3次元で任意の視点から確認できるという特徴を損なうことがないという利点を維持できる。
【0043】
このように動く部品だけで3次元機構モデルを表示させるためには、シミュレーション開始前に仮想メカモデルシミュレーション装置14上に構築されている仮想機構モデル15の中から動く部品だけを抽出すれば良い。
【0044】
即ち仮想メカモデルシミュレーション装置14上に構築している仮想機構モデル15は、モデルの動きをシミュレーションするために動く部品である関節と各関節の間の連動関係、例えばギア比、更には部品と部品の結合関係をデータとして設けるので、間接部品及び間接と結合した部品を抽出することで、例えば図2の3次元機構モデル25のような動く部分の抽出が可能である。
【0045】
このように仮想機構モデルを対象とした図2のシミュレーション装置において、仮想メカモデルシミュレーション装置14には入出力・演算処理部(第1処理部)18、描画処理部(第2処理部)20、駆動トルク演算処理部(第3処理部)22、及び指令入力記憶部24の各機能が設けられている。
【0046】
このうち組込ソフトウェア実行装置10からのモータ信号E1の入力を受けて3次元機構モデル25のシミュレーション動作を行なうための処理部は、基本的に第1処理部18と第2処理部20で構成される。
【0047】
入出力・演算処理部として機能する第1処理部18は、インタフェース装置12を経由した組込ソフトウェア実行装置10との間のモータ信号E1及びセンサ信号E2の入出力と、装置上に構築されている仮想機構モデル15に対しモータ信号E1を入力した場合のモデル定義に従って、モータの動きに対し全ての機構要素の動きを計算する機構演算を実行する。
【0048】
これに対し第2処理部20は、第1処理部18の演算結果に基づいて表示装置16上に3次元機構モデル25を第2するための第2処理を実行する。
【0049】
本発明の仮想メカモデルシミュレーション装置14にあっては、仮想機構モデル15のシミュレーション処理を、第1処理部18の処理と第2処理部20による処理に分離することによって、組込ソフトウェア実行装置10側での同期処理待ちを必要とすることなく、その制御プログラム11からの指令値によるシミュレーション動作をリアルタイムで実現することができる。
【0050】
図5は、図2の組込ソフトウェア実行装置10の制御プログラム11のフローチャートと、仮想メカモデルシミュレーション装置14に設けている第1処理部18による第1タスク18−1、及び第2処理部20による第2タスク20−1のフローチャートを表わしている。
【0051】
組込ソフトウェア実行装置10の制御プログラム11は、装置固有のループサンプリングの周期でステップS1のセンサ値入力、ステップS2のイベント処理、更にステップS3のモータ指令値出力の処理を繰り返している。
【0052】
制御プログラム11でステップS3のモータ指令値出力が実行されると、これに対応したモータ信号E1が仮想メカモデルシミュレーション装置14にインタフェース装置12を介して送られる。モータ信号E1は第1タスク18−1のステップS101におけるモータ指令値入力の処理により取り込まれ、次のステップS102で仮想機構モデルの機構演算を実行する。
【0053】
この機構演算はモータ指令値に対し仮想機構モデルがどのような動きをするかをシミュレーション前に予め設定しておき、シミュレーション中は設定に従って仮想機構モデルを動かすことになる。
【0054】
具体的には、図2の表示装置16に表示した3次元機構モデル25のように、モータ26に対しギア28,30及びカム32などの機構要素が連結されており、3次元機構モデルにはこの連動関係も事前に設定されている。モデルの連動関係は、ギアの場合はギア比を設定し、カムであれば駆動と従動の位置関係をテーブル化することで、連動による動きの計算処理を軽くしている。
【0055】
シミュレーション動作中は3次元機構モデル25の機構要素の連動関係を用いてモータ26の動きに対しすべての機構要素であるたとえばギア28,30及びカム32の動きを計算する。
【0056】
この機構演算によって、ギア28,30やカム32、更にカム32に対応して設けているセンサ34における新たな位置や姿勢が決まることになる。このため、最終的にステップS103でセンサ値が決まることから、このセンサ値をセンサ信号E2として組込ソフトウェア実行装置10の制御プログラム11に出力する。
【0057】
このような第1タスク18−1を構成するモータ指令値入力機構演算及びセンサ値出力は、データ処理量が比較的少なく、高速に計算することができる。このため第1タスク18−1は、組込ソフトウェア実行装置10のループサンプリングと同じ高速周期で計算処理を実行することができる。
【0058】
高速計算可能な第1タスク18−1に対し、本発明にあっては、シミュレーション計算結果のモデルの動きを描画するための第2タスク20−1を独立したタスクとして分離している。この第2タスク20−1は、ステップS201の部品の位置姿勢計算とステップS202の画面描画処理を含んでいる。
【0059】
この部品の位置姿勢計算及び画面描画処理は、シミュレーション計算全体の中でデータ処理量が多く、計算に時間がかかる処理である。このような第2タスク20−1を、従来のシミュレーション装置にあっては高速に計算できる第1タスク18−1と分離せずに一体化した処理としていたため、第2タスク20−1の時間遅れに対する同期処理のため組込ソフトウェア実行装置10側で同期待ちの処理を必要としていた。
【0060】
しかしながら本発明にあっては、シミュレーション計算を処理高速軽負荷処理である第1タスク18−1と低速高負荷処理である第2タスク20−1の2つに分離したことで、第1タスク18−1については組込ソフトウェア実行装置10のループサンプリングと同じ周期で高速に計算し、これに対し第2タスク20−1については第1タスク18−1の複数回の実行に対し1回だけ行なうように間引いた処理とすることで、組込ソフトウェア実行装置10との間で同期処理を必要としないリアルタイムなシミュレーションを実現することができる。
【0061】
図6は、図2の仮想メカモデルシミュレーション装置14において、第1処理部18と第2処理部20に分けた2つのタスクを実行するための仮想メカモデルシミュレーション装置14の構成の実施形態である。この図6の実施形態にあっては、仮想メカモデルシミュレーション装置14に2台のCPU38−1,38−2を設け、それぞれのCPU38−1,38−2で分離した2つの第1タスク18−1と第2タスク18−2を並列に実行するようにしたことを特徴とする。
【0062】
即ち、CPU18は組込ソフトウェア実行装置10からのモータ信号E1をインタフェース装置12を介して入力し、図5の第1タスク18−1に示したステップS101〜S103のモータ指令値入力機構演算及びセンサ値出力を高速で実行する。
【0063】
この第1タスク18−1の実行結果はCPU38の第2タスク20−1に送られ、第1タスク18−1の数回の実行に対し、間引きした1回だけ第2タスク20−1による図5の第2タスク20−1に示しているステップS201の部品の位置姿勢計算とこれに基づくステップS102の画面描画処理が実行される。
【0064】
図7は、2つのタスクに分けた本発明のシミュレーション処理を実施する仮想メカモデルシミュレーション装置14の他の実施形態である。この実施形態にあっては、仮想メカモデルシミュレーション装置14にCPU38を1台だけ設け、1つのCPU38上で2つのシミュレーション処理に分けた第1タスク18−1と第2タスク20−1を実行する。
【0065】
このように2つのタスクをCPU38上で実行する処理は、マルチタスク機能を持つOS上で実装することができ、一般にマルチタスク機能を持つOS上ではタスクごとに実行優先度を設定することができる。
【0066】
そこで本発明のシミュレーション処理にあっては、第1タスク18−1については第2タスク20−1を含む他のタスクより高い優先度を設定し、他の処理の影響を受けずに組込ソフトウェア実行装置10からのモータ信号E1に対しリアルタイムでシミュレーション計算と応答ができるようにする。
【0067】
これに対し第2タスク20−1については、第1タスク18−1よりも低い優先度を設定し、第1タスク18−1の処理が中断しているときに第2タスク20−1の処理を実行させる。このため、第1タスク18−1のループ処理の中に一定時間処理を中断するスリープ処理を追加し、このスリープ処理の間に第2タスク20−1による第2処理を実行できるように補償する。
【0068】
図8は、図7のマルチタスク機能を持つOS上に実装した第1タスク18−1と第2タスク20−1のフローチャートである。第1タスク18−1にあっては、ステップS101のモータ指令値の入力、ステップS102の機構演算、ステップS103のセンサ値出力に加え、ステップS104に一定時間処理を中断するスリープ処理を設けている。
【0069】
このようにリアルタイムで動作する第1タスク18−1にスリープ処理を含ませることで、スリープ処理の間、それより優先度の低い第2タスク20−1の実行を保証し、これによって第1タスク18−1に対し間引きした回数で第2タスク20−1を実行することができる。
【0070】
図9は、図7と同じ1つのCPU38上で2つの第1タスク18−1と第2タスク20−1を、マルチタスク機能を持つOS上への実装で実行する場合の他の実施形態であり、この実施形態にあっては第1タスク18−1の正確な時間周期での処理を実行するためタイマ割込みを使用するようにしたことを特徴とする。
【0071】
図9において、組込ソフトウェア実行装置10に対し仮想メカモデルシミュレーション装置14は、インタフェース装置12を介して接続され、モータ信号E1の入力とセンサ信号E2の出力を行なっている。これに加えて、この実施形態にあっては仮想メカモデルシミュレーション装置14に対し新たにタイマ割込み発生装置40を設けている。
【0072】
仮想メカモデルシミュレーション装置14におけるシミュレーション処理にあっては、仮想機構モデルの動きを計算する場合、予め設定したモータの速度と1回のシミュレーション時間から動きの量が決まるため、時間管理が重要になる。そこで図9のように、仮想メカモデルシミュレーション装置14に対しタイマ割込み発生装置40を設け、リアルタイムで動作する第1タスク18−1の処理を正確な時間周期で実行させる。
【0073】
図10はタイマ割込みによるシミュレーション処理のタイムチャートであり、優先度を高く設定した第1タスク18−1に対し、タイマ割込み発生装置40からのタイマ割込み42により一定時間ごとに割込みを発生し、タイマ割込み42ごとに第1タスク18−1のタスク44−1,44−2,…を割り当てることで、正確な時間周期での実行を実現する。
【0074】
このタイマ割込み42を行なうタイマ割込み発生装置40としては、OSが持つタイマ機能や外部のタイマ装置を使えば良い。勿論、タイマ割込み発生装置40からのタイマ割込み42は、第1タスク18−1に設定した優先度より更に高い優先度を持つことは勿論である。
【0075】
このように第1タスク18−1がタイマ割込み42に同期してタスク44−1,44−2,…のように実行されることで、タイマ割込み42の周期のタスク44−1,44−2,…以外の空き時間をそれより優先度の低い第2タスク20−1のタスク46−1,46−2,…に割り当てることができる。
【0076】
そして、このタイムチャートの例にあっては、第1タスク18−1のタイマ割込み42に同期した5回のタスク44−1〜44−5の空き時間の第2タスク20−1への割当てタスク46−1〜46−5によって1回の第2処理が行なわれる間引き処理ができる。
【0077】
また間引き処理となる第2タスク20−1の起動方法としては、前回の処理が終わり次第、次の処理を行なう方法とするか、あるいは一定時間ごとに起動する方法かのいずれかとすることができる。
【0078】
図11は図9,図10のタイマ割込みによるシミュレーション処理の実施例における仮想メカモデルシミュレーション装置14の第1タスク18−1と第2タスク20−1のフローチャートである。
【0079】
まず高速計算となる第1タスク18−1にあっては、ステップS101でタイマ割込みを待っており、タイマ割込みがなければ、ステップS102の一定時間の処理中断即ちスリープ処理となる。この処理中断の間に第2タスク20−1におけるステップS201,S202の部品位置の姿勢計算及び画面描画計算が分割実行される。
【0080】
ステップS102でタイマ割込みを判別すると、ステップS103でモータ指令値を入力し、ステップS104で機構演算を実行し、更にステップS105でセンサ値を出力し、一連のサンプリングループを終了し、再びステップS101で次のタイマ割込みを待つことになる。
【0081】
ここで本発明の仮想メカモデルシミュレーション装置14にあっては、シミュレーション処理に必要な第1タスク18−1と第2タスク20−1以外に、例えばマウスイベントを受け取り、そのイベントを処理するタスクや、入力データをメモリに保存する処理などを実行している。
【0082】
そこで、シミュレーション処理以外のタスクについては、そのタスクの優先度を低く設定することで、シミュレーション処理を中断させることなく高速な組込ソフトウェア実行装置10に対する応答処理が確保できる。
【0083】
このようにマウスイベントやメモリ保存などの処理のタスクが低い優先度で設定されていることで、シミュレーション中にマウス操作によってモデル全体を回転させたりズームしたりすることが可能であり、マウス操作によっても高速計算を行なっている第1タスク18−1が中断されることはなく、組込ソフトウェア実行装置10側での同期処理を不要としている。
【0084】
図12は本発明のシミュレーションシステムの他の実施形態であり、この実施形態にあってはステッピングモータのパルス信号を指令値として入力するシミュレーションを行なうようにしたことを特徴とする。
【0085】
即ち、図33に示した従来の同期処理を必要とするシミュレーション処理にあっては、同期処理を行なっている組込ソフトウェア実行装置100とパルス信号を出力する装置が独立しているため、同期処理を行なっていてもパルス信号が勝手に出力されてしまい、パルス信号を入力するシミュレーションが実行できない問題がある。
【0086】
これに対し本発明にあっては、組込ソフトウェア実行装置10と仮想メカモデルシミュレーション装置14との間で同期処理を必要としないため、仮想メカモデルシミュレーション装置14に対しパルス信号をリアルタイムで入力することができる。これによってパルスモータにより駆動されるステッピングモータを備えた機構装置に対応した仮想機構モデルを構築している仮想メカモデルシミュレーション装置14におけるシミュレーション処理が実現できる。
【0087】
図12において、組込ソフトウェア実行装置10に対し実機としての機構装置に設けているステッピングモータ54を駆動するため、パルス発振回路48、励磁回路50及びドライバ52が設けられることになる。
【0088】
組込ソフトウェア実行装置10は、モータ信号E1を出力することでパルス発振回路48を起動し、これによってパルス発振回路48からは一定周期でパルス信号E3が停止するまでの間、連続的に出力され、励磁回路50及びドライバ52を介してステッピングモータ54を駆動することになる。
【0089】
このようなステッピングモータ54を対象とした駆動系に対し、本発明の仮想メカモデルシミュレーション装置14に対しインタフェース装置12を介して例えばパルス発振回路48からのパルス信号E3を入力する。この仮想メカモデルシミュレーション装置14に対するパルス信号の入力は、励磁回路50の出力からのパルス信号E4としても良い。
【0090】
仮想メカモデルシミュレーション装置14は、パルス信号E3の入力に対し1パルスに対するステッピングモータ54の回転量が予め定義されていることから、1パルスに対応したシミュレーション計算を行なってモデルを動作させるようになる。
【0091】
図13は、図12のステッピングモータを対象とした仮想メカモデルシミュレーション装置14における第1タスク18−1と第2タスク20−1のフローチャートである。
【0092】
第1タスク18−1にあっては、ステップS101で1パルスをモータ指令値として入力し、ステップS102で1パルスに対応して予め定めているステッピングモータの回転量に対応した機構演算を実行し、ステップS103でセンサ値を出力する。そしてステップS106で一定時間処理を中断するスリープ処理を行なった後、再びステップS1の1パルスの入力に戻る。
【0093】
一方、第2タスク20−1にあっては、ステップS104の第1タスク18−1の一定時間の処理中断の間に、ステップS201の部品の位置姿勢計算と、ステップS202の画面描画計算を時分割で実行し、結果として間引き的に第2処理を行なうことになる。
【0094】
再び図2を参照するに、仮想メカモデルシミュレーション装置14には指令入力記憶部24が設けられている。本発明における組込ソフトウェア実行装置10からのモータ信号E1に基づいてリアルタイムに3次元機構モデル25をシミュレーションする場合、実際の機構装置と同じ速さで3次元機構モデル25が動くため、表示装置16上でモデルを見ながら動作を検証・解析することが難しい。
【0095】
このような問題に対しては、シミュレーションの中で表示画面をアニメーション化し、シミュレーション後に再生する方法も考えられるが、同じ計算機上でシミュレーションとアニメーション録画を同時に処理することは難しい。
【0096】
そこで本発明にあっては、仮想メカモデルシミュレーション装置14に設けた指令入力記憶部24により組込ソフトウェア実行装置10から入力したモータ信号E1の全てを時間データと共に記憶しておき、この記憶データを使用し、記憶データからのモータ信号を発生する時間を調整することで、全く同じ動作を任意の速さで再生することができる。
【0097】
実際に指令入力記憶部24で記憶するデータとしては、シミュレーション中の時間とモータ信号E1の値とすれば良い。またシミュレーション中にあっては、第2処理を間引き処理としているが、再生時には時間的に余裕があることから、間引き処理を行なわずにスローモーション的に細かく動作を表現するようにしても良い。
【0098】
次に図2の仮想メカモデルシミュレーション装置14に設けている駆動トルク演算処理部22の処理機能を説明する。
【0099】
図2の仮想メカモデルシミュレーション装置14に設けている駆動トルク演算処理部(第3処理部)22における駆動トルクの算出は、表示装置16に表示している3次元機構モデル25を対象に、例えばモータ26の駆動軸にかかる負荷全体の等価慣性(出量及びモーメント)、等価静摩擦及び等価動摩擦を算出し、これらの等価慣性、等価静摩擦及び等価動摩擦を用いて、負荷の動作に必要な駆動トルクをリアルタイムに算出して表示装置16の画面上に表示する。
【0100】
また駆動トルク演算処理部22としては、駆動トルクそのものの算出表示以外に、駆動トルクの算出のためのパラメータとして演算している等価慣性、等価静摩擦及びまたは等価動摩擦を、同様にリアルタイムに算出して画面上に表示することもできる。そこで、その駆動トルクの算出表示に必要な等価慣性、等価静摩擦及び等価動摩擦のそれぞれについて詳細に説明した後、駆動トルクの算出処理を説明する。
【0101】
図14は、等価慣性の概念を示した説明図である。等価慣性とは、図14(A)における駆動軸56、ギア58,60,61のような一連の従動関節(負荷)の慣性(モーメント)を、図14(B)のように駆動関節となるモータの駆動軸56から見たときの値に換算して表示するものである。ここでギア64は図14(A)のギア60,62を代表している。
【0102】
このように駆動関節となるモータから見た等価慣性(モーメント)を用いることで、モータがどれだけの負荷を持っているかを簡単に知ることができ、任意の角加速度で動作するために必要なトルクや任意のトルクによって得られる負荷の加速度を簡単に知ることができ、モータの選定に役立つ。ここでは、まず等価慣性(モーメント)の求め方を説明し、続いて機構解析ソフトウェアにおいて等価慣性(モーメント)を算出する方法を説明する。
【0103】
まず等価慣性の求め方を説明する。関節を構成している部品の質量をm、慣性モーメントをIとすると、この部品の運動エネルギEは次式で表わすことができる。
【0104】
【数1】
Figure 0004837844
【0105】
ここでx,φはそれぞれ直進と回転の関節値である。
【0106】
駆動関節(モータ)から見た等価慣性モーメントの値をIeq、関節値をθとすると、運動エネルギー保存の法則から
【0107】
【数2】
Figure 0004837844
【0108】
という関係が成り立つ。この式を等価慣性モーメントIeqについて求めると、
【0109】
【数3】
Figure 0004837844
【0110】
となる。これがモータ軸から見た部品(負荷)の等価慣性モーメントである。
【0111】
またモータが直線往復運動などを行う並進関節の場合、部品の等価慣性meqは同様に
【0112】
【数4】
Figure 0004837844
【0113】
となる。なお、yはモータ関節の関節値である。
【0114】
次に機構解析ソフトウェアを用いて等価慣性を求める方法を説明する。まず前提として機構解析ソフトウェアでは、既に設定されたギア、カム、ローラ、クラッチ、ラチェットなどの機構関係が存在し、駆動関節が変化すると、その機構関係に基づいて従動関節が動作し、それに応じて各従動関節を構成している各部品の姿勢が変化し、3次元描画に用いられているものとする。ここで部品の姿勢は位置(P)、回転行列(R)で表わされる。
【0115】
等価慣性を求めるためには、このような各部品の姿勢の変化を利用する。即ち図15のように、モータ66の駆動関節JをΔθ動かすと、関節関係によって従動部品Lが姿勢68−1から姿勢68−2に変化する。この変化量を部品Lの重心の直線移動量Δxと、ある単位ベクトルK軸周りの回転量ΔΦで表わしたとすると、部品Lの等価慣性Ieqは式(3)もしくは式(4)より、次の式で求めることができる。
【0116】
【数5】
Figure 0004837844
【0117】
ここでnは部品Lの出量、Iは部品LのK軸回りの慣性モーメントである。
【0118】
この部品Lの姿勢は、位置Pと回転行列Rで得られる。したがって、変化前の部品Lの姿勢(Pa,Ra)と、駆動関節JがΔθ変化したときの部品Lの姿勢(Pb,Rb)から、次の式を用いて重心の直線移動量Δx、単位K軸回りの回転量Δφ、及び慣性モーメントIを求めなければならない。
【0119】
【数6】
Figure 0004837844
【0120】
ただし、r11,r22,r33
【0121】
【数7】
Figure 0004837844
【0122】
で表わすことのできる行列の要素、Lは部品Lの慣性テンソルである。また、単位行列Kは次のような式で表わすことができる。
【0123】
【数8】
Figure 0004837844
【0124】
図16は、等価慣性を求めるアルゴリズムのメインルーチンのフローチャートである。まずステップS1で、等価慣性を得たい駆動関節の従動関節を構成している全ての部品リスト(LList)を作成する。この部品リストLListを作成するための処理は、図17,図18及び図19のフローチャートに示すようになる。図17は部品リスト作成のメインルーチンであり、ステップS1で駆動関節の部品リストJListと従動関節の部品リストLListを初期化した後、ステップS2でそれぞれの検索関数をコールする。
【0125】
図18は駆動関節部品リストの検索アルゴリズムのフローチャートである。また図19は従動関節部品リストの検索アルゴリズムのフローチャートである。
【0126】
再び図16を参照するに、次にステップS2で部品リストLListの部品の全てに対し、各部品の現在の姿勢(Pa,Ra)を保存する。続いてステップS3で駆動関節値をΔθだけ増加し、駆動部品を動かす。この駆動関節値の増加に対応して、ステップS4で等価慣性の算出を行なうため、図20の等価慣性算出関数をコールする。
【0127】
図20の等価慣性算出関数のフローチャートは、全ての従動部品に対し現在の姿勢(Pb,Rb)と図16のステップS2で求めた変化前の姿勢(Pa,Ra)から姿勢のΔx,Δφ及びIを求め、個々の部品の等価慣性を求める。
【0128】
具体的には、ステップS1で等価慣性Ieqを0に初期化した後、ステップS2で部品リストLListの中で未処理の部品があるか否かチェックし、未処理の部品があれば、ステップS3〜ステップS9により、各部品ごとに順番に等価慣性を算出し、図16のステップS3で行なった駆動部品のΔθの動きに対する等価慣性を加算することで最終的な等価慣性を求める。
【0129】
次に等価静摩擦を説明する。等価静摩擦も等価慣性と同じく、駆動関節から見た従動関節全ての静摩擦を等価的に見たものである。これにより、ギアの組み合せなどによる負荷を動かすために必要な最低限のトルクを得ることができ、同じくモータの選定に役立つ。
【0130】
いま図21のように、減速比r、伝達効率Rのギア70の先に、静摩擦トルクFのギアとなる駆動関節70の先に静摩擦トルクFのギアでなる従動関節72があったとする。駆動関節70のトルクをτとして、静摩擦と力の釣り合いが取れていたとすると、
【0131】
【数9】
Figure 0004837844
【0132】
という関係が成り立つ。これにより
【0133】
【数10】
Figure 0004837844
【0134】
が駆動間接軸から見た従動関節72の等価的な静摩擦となる。
【0135】
従動関係が図22(A)のように、駆動関節74に対し従動関節76,78というように連なっている場合は、式(12)を再帰的に用いて
【0136】
【数11】
Figure 0004837844
【0137】
という式で表わすことができる。
【0138】
また図22(B)のように、駆動関節80に対し従動関節82,84のように分岐している場合は、
【0139】
【数12】
Figure 0004837844
【0140】
という式で表わすことができる。ここでFn,Rn,rnは、図中の各関節の静摩擦トルク、伝達効率、減速比である。
【0141】
これまでの例ではギア関係で実現例を示したが、減速比rを、駆動側の関節をΔθ動かしたときの従動側の関節が動く値Δφの比(Δφ/Δθ)と考えることで、カム関係(溝を含む)でも同じ計算で実現できる。これは、あらゆる機構において力(トルク)と移動量の積は等しいからである。更に、カム関係において駆動関節と従動関節のどちらかが回転関節で、もう片方が並進関節であっても、単位系を適切に選ぶことによって、この関係は成立する。
【0142】
例えば図23(A)のような回転関節86と並進関節90の溝機構で考える。ここで溝88には回転関節86のピン91が摺動する。この機構において、Fは並進関節90の摩擦力(単位N)、τは回転関節86の駆動トルク(単位Nm)、lは回転関節88の軸から溝88に対するピン91の接触面までの距離(単位n)である。なお、駆動を並進関節90、従動を回転関節86と考えても結果は等しい。
【0143】
この際、x=lcosθという関係が成り立つので、減速比rは
【0144】
【数13】
Figure 0004837844
【0145】
となる。一方、ピン91の溝88に対する接触面が鉛直方向にあることから、力の釣り合いは図23(B)のような関係にあり、これから
【0146】
【数14】
Figure 0004837844
【0147】
という関係が成り立つ。これにより、lsinθは消去することが可能で
【0148】
【数15】
Figure 0004837844
【0149】
となる。そして伝達効率Rを考慮すると、式(12)と同じになる。
【0150】
以上のことから、図24のフローチャートに示すアルゴリズムに従って機構の等価静摩擦を求めることができる。まずステップS1で駆動間接の全ての部品リストJListを作成する。この部品リストの作成処理は、図17〜図19の詳細と同じになる。続いてステップS2で部品リストJList内の全ての部品に対し現在の関節値(q)を記憶した後、ステップS3で駆動間接をΔθだけ動かす。
【0151】
そしてステップS4で等価静摩擦を算出するための静摩擦算出関数をコールする。このステップS4の静摩擦算出関数の詳細は、図25のフローチャートに示すようになる。図25の静摩擦算出関数のフローチャートにあっては、ステップS1で変化前の関節値qa、現在の関節値qbをセットした後、ステップS2で両者を比較し、プラスの変化であればステップS4の正方向の静摩擦とし、マイナスの変化であればステップS3の負方向の静摩擦とする。そして、ステップS5で未処理の従動部品がなくなるまで、ステップS6〜S12の静摩擦算出処理を繰り返す。
【0152】
この静摩擦算出関数の処理で静摩擦(トルク)を正と負に分けているが、バネとか重力などによる向きの違いを簡易的に表現するためである。また滑りに関しては、滑りが発生したときに生ずる摩擦力を設定し、それを加算するように処理する。
【0153】
再び図24を参照するに、ステップS4で等価静摩擦が算出できたならば、ステップS5で駆動関節を逆方向にΔθ戻して、初期状態に戻す。
【0154】
次に等価動摩擦について説明する。等価動摩擦は等価慣性や等価静摩擦と同じ概念を動摩擦に拡張したものである。即ち、駆動関節の角速度をωaとした時、従動関節全ての動摩擦を駆動間接の軸回りに換算し、
τ=Kωa (18)
という形で表わしたときのKを等価動摩擦と考える。
【0155】
図21と同じように、減速比r、伝達効率Rのギアである駆動間接70によって動摩擦係数kの従動関節72が1つあった場合を考えると、従動関節72の角速度ωbは減速比の定義により
ωb=rωa (19)
という式が成り立つ。即ち、従動関節軸に発生する動摩擦トルクは
τb=Kωb=Krωa (20)
となる。このトルクを駆動関節軸回りに換算した場合、
【0156】
【数16】
Figure 0004837844
【0157】
これより、等価動摩擦は
【0158】
【数17】
Figure 0004837844
【0159】
で表わすことができる。
【0160】
更に図22(A)のように、駆動関節74に対し従動関節76,78が連なっていた場合、等価性摩擦と同じように再帰的に計算し、
【0161】
【数18】
Figure 0004837844
【0162】
となる。ここで、K0,K1,K2はそれぞれ駆動関節軸及び1段目、2段目の従動関節軸の動摩擦係数、R1,r1は駆動間接軸と1段目の従動関節のギアの伝達係数と減速比、R2,r2は1段目と2段目の従動間接の伝達関数と減速比である。
【0163】
更に図22(B)のように複数の従動関節がある場合や、図23のように片方が回転関節で片方が並進関節の場合における考え方も、等価静摩擦における考え方と同じになる。
【0164】
図26は等価動摩擦を算出するアルゴリズムのフローチャートであり、図27にそのステップS4の動摩擦算出関数の詳細のフローチャートを示している。この図26の等価動摩擦の算出アルゴリズムにあっても、ステップS1で駆動関節の部品リストJListを作成した後、ステップ2で部品リスト内の全ての部品に対し、現在の関節値qtを記憶し、ステップS3で駆動関節をΔθ動かす。そしてステップS4に進み、図27に示す動摩擦算出関数の処理を実行する。最終的にステップS5で、駆動関節を逆方向にΔθ戻して初期状態とする。
【0165】
次に駆動トルクの算出処理を説明する。今までに説明した等価慣性、等価静摩擦及び等価動摩擦を用いて図2の仮想メカモデルシミュレーション装置14に設けた駆動トルク演算処理部22は、シミュレーション中にリアルタイムでモータ26の駆動トルクを算出表示することができる。
【0166】
駆動間接となるモータ26の駆動トルクをτ、変位をθとすると、3次元機構モデル25の運動方程式は
【0167】
【数19】
Figure 0004837844
【0168】
という形で表わすことができる。ここでI,Kd,Ksは、それぞれ負荷全体の等価慣性、等価動摩擦及び等価静摩擦である。更に式(24)において一般に第2項の影響は小さいので無視すると、以下のような式になる。
【0169】
【数20】
Figure 0004837844
【0170】
この式(25)をシミュレーションサイクルごとに解くことで、モータ26にかかる負荷をリアルタイムに算出することができる。
【0171】
図28及び図29に駆動トルクを算出するアルゴリズムのフローチャートを示す。まずステップS1でモータ速度を算出する。このモータ速度の算出は、図30を参照して後の説明で明らかにする。続いてモータ速度の変化が0でなければ、ステップS3でシミュレーションループのサンプリング時間で割って加速度aを求める。
【0172】
続いてステップS4で図17〜図19のフローチャートに従って部品リストJList,LListを作成する。そしてステップS5で駆動関節の部品リストJListの全ての関節に対し、現在の関節値(q)を記憶した後、ステップS6で従動関節の部品リストLListの全ての部品に対し、現在の姿勢(Pa,Ra)を記憶する。続いてステップS7で速度の正、負を調べ、速度が正であればステップS8でモータ関節値をΔθ増やす。負であればステップS9でモータ関節値をΔθ減らす。
【0173】
次に図29のステップS10で等価慣性算出関数をコールして等価慣性を求める。具体的には図16,図20の処理を実行する。次にステップS11で動摩擦算出関数をコールして実行する。具体的には図26,図27の処理を実行する。更にステップS12で静摩擦算出関数をコールし、具体的には図24,図25の処理を実行して静摩擦を算出する。そしてステップS13でモータの駆動トルクを算出する。
【0174】
その後、ステップS14で速度が正か負か判別し、正であればステップS15でトルク計算に使用する静摩擦Ksをプラスとし、負であればステップS17でトルク計算に使用する等価静摩擦Ksをマイナスとする。
【0175】
そしてステップS16,S18で、ステップS8,S9の場合と逆に、モータ関節値を設定して初期状態に戻した後、ステップS19で最終的にモータ駆動トルクTを算出し、ステップS20で現在のモータ速度Vを次回の計算のためにV=0とする。勿論、ステップS2で速度差が0であれば、ステップS21でモータ駆動トルクを0として処理を終了する。
【0176】
この図28,図29におけるモータ駆動トルクの計算処理は、図2の仮想メカモデルシミュレーション装置14の中の1つの処理として組み込まれることになる。本発明にあっては、最も優先度の高い処理として第1処理部18により入出力・機構演算処理を行なっていることから、駆動トルク演算処理部22はそれより優先度の低いタスクとして処理が割り当てられることになる。具体的には、優先度の低い描画のための第2処理部20によるタスクと同じ優先度の処理に駆動トルク演算処理部22によるタスクを設定すれば良い。
【0177】
図30は図28のステップS1におけるモータ速度計算処理の説明図である。図30はモータを1次遅れ系とみなした時のモータの回転速度ωの初期変化の特性を示している。モータを1次遅れ系とみなした時の時刻tにおけるモータ速度は
【0178】
【数21】
Figure 0004837844
【0179】
により表わされる。ここでωiは目標速度、ω0は目標速度指令前のモータ速度、Tはモータの性質をあらわす制定時間4Tに比例した定数である。
【0180】
次に本発明のシミュレーションシステムにあっては、仮想機構モデルについて算出した等価慣性、等価動摩擦、等価静摩擦を用いてトルクモータを実現することができる。このトルクモータは、組込ソフトウェア実行装置10からのモータ速度信号E1となる入力ビット群からモータの目標速度を得てモータの動きを計算しているものを、目標速度の代わりに目標トルクを得ることで実現できる。そこで入力ビット群から求めた目標トルクからシミュレーションサイクルにおけるモータの移動量Δθを得るための方法を説明する。
【0181】
いまモータの速度ωがω0の時に目標トルクτがモータにかかったと考える。
【0182】
【数22】
Figure 0004837844
【0183】
とすると、式(25)より
【0184】
【数23】
Figure 0004837844
【0185】
となり、これを解くと
【0186】
【数24】
Figure 0004837844
【0187】
となる。
【0188】
これにより全体のシミュレーションサイクルにおけるモータ速度をωk−1としたとき、現在のシミュレーションサイクルのサンプリング間隔Δtの間のモータ移動量Δθは
【0189】
【数25】
Figure 0004837844
【0190】
と表わすことができる。ここでτ0は式(26)のように目標トルクから静摩擦トルクを引いた値である。
【0191】
このため本発明のシミュレーション処理にあっては、次の手順に従ったアルゴリズムを実行することでトルクモータを実現できる。
(1)組込ソフトウェア実行装置10からの入力ビット群から目標モータトルクを求める。
(2)等価慣性、等価動摩擦及び等価静摩擦を求める。
(3)式(29)よりモータの変位量Δθを求め、モータの変位を更新する。
(4)次回系の計算のためにモータ速度を記憶する。
【0192】
次に図2の仮想メカモデルシミュレーション装置14で実行されるシミュレーションプログラムを格納したコンピュータ読み取り可能な記録媒体の実施形態を説明する。
【0193】
図31のコンピュータシステム100は本発明のシミュレーションプログラムを実行するシステムであり、本体部102を有し、本体部102には図32のようにCPU120、RAM122、ROM124、ディスクドライブ装置HDD126、CD−ROMドライブ128、FDドライブ130、キーボード、マウス、ディスプレイを接続するI/Oインタフェース132、LANインタフェース134、モデム136などが内蔵されている。
【0194】
コンピュータシステム100は更に、本体部102からの指示により表示画面104aに画像などの情報を表示するディスプレイ106、コンピュータシステム100に種々の情報を入力するためのキーボード108、ディスプレイ106の表示画面104a上に任意の位置を指定するマウス110、回線で接続されたデータベースにアクセスするLANインタフェース134、モデム136が備えられている。
【0195】
本発明のシミュレーションプログラムは、CD−ROM、フロッピィディスク、DVDディスク、光ディスク、ICカードなどの可搬型記憶媒体、モデム136及びLANインタフェース134を利用し、回線を介して接続されたデータベース、更には他のコンピュータシステムのデータベースに格納され、コンピュータシステム100にインストールされた後に、コンピュータシステム100で実行される。
【0196】
ここで記録媒体とは、CD−ROM116、フロッピィディスク(FD)118、DVDディスク、光ディスク、ICカードなどの可搬型記憶媒体や、コンピュータシステム100の内外に備えられたハードディスクHDDなどの記憶装置の他、回線を介してプログラムを保持するデータベース、あるいは他のコンピュータシステム並びにそのデータベース、更には回線上の伝送媒体を含むものである。
【0197】
なお本発明は上記の実施形態に限定されず、その目的と利点を損なわない適宜の変形を含む。また本発明は上記の実施形態に示した数値による限定は受けない。
【0198】
(付記)
(付記1)
制御プログラムを実行して機構装置を制御する組込みソフトウェア実行装置と、
前記機構装置の仮想機構モデルを構築し、前記組込みソフトウェア実行装置からの入力データに応じたシミュレーション計算により前記仮想機構モデルを動作させるシミュレーション装置と、
を備えたシミュレーションシステムにおいて、
前記シミュレーション装置に、
前記組込みソフトウェア実行装置との入出力と前記仮想機構モデルの機構演算に関する第1処理を実行する第1処理部と、
前記第1処理部の空き時間を使用して、前記仮想機構モデルの描画を含むユーザインタフェースに関する第2処理を実行する第2処理部と、
を設けたことを特徴とするシミュレーションシステム。(1)
【0199】
(付記2)
付記1記載のシミュレーションシステムおいて、前記シミュレーション装置に2台のプロセッサを設けて前記第1処理部と第2処理部を別々に実装し、前記第1処理部による入出力及び機構演算と前記第2処理部による描画処理を並列に実行することを特徴とするシミュレーションシステム。
【0200】
(付記3)
付記1記載のシミュレーションシステムおいて、前記シミュレーション装置のプロセッサに前記第1処理部と第2処理部をマルチタスクで実装し、前記第1処理部による入出力と機構演算は優先度を高くして短い周期で実行し、前記第2処理部による描画処理は優先度を低くして長い周期で実行することを特徴とするシミュレーションシステム。
【0201】
(付記4)
付記3記載のシミュレーションシステムにおいて、タイマカウンタと同期を取ることにより前記第1処理部の処理を一定周期で実行させることを特徴とするシミュレーションシステム。
【0202】
(付記5)
付記1記載のシミュレーションシステムにおいて、前記機構装置はパルス信号や正弦波信号を入力とするモータを備え、前記シミュレーション装置は、前記組込みソフトウェア実行装置からのモータ指令として前記モータに対するパルス信号や正弦波信号を入力して前記仮想機構モデルを動作させることを特徴とするシミュレーションシステム。
【0203】
(付記6)
付記1記載のシミュレーションシステムにおいて、前記第2処理部は、仮想機構モデルの動く部分を対象に描画処理を実行することを特徴とするシミュレーションシステム。
【0204】
(付記7)
付記1記載のシミュレーションシステムにおいて、更に、予め定義された駆動機構の関係から、任意の選んだ軸にかかる負荷全体の等価慣性、等価静摩擦、等価動摩擦の少なくともいずれかを、前記選んだ軸から見た値に換算して表示する第3処理部を設けたことを特徴とするシミュレーションシステム。
【0205】
(付記8)
付記7記載のシミュレーションシステムにおいて、更に、予め定義された駆動機構の関係から、任意の選んだ軸にかかるモータ駆動軸から見た負荷全体の等価慣性、等価静摩擦及び等価動摩擦を用いて、動作に必要なモータの駆動トルクをリアルタイムに算出し表示する第3処理部を設けたことを特徴とするシミュレーションシステム。(2)
【0206】
(付記9)
付記8記載のシミュレーションシステムにおいて、前記シミュレーション装置は、前記組込みソフトウェア実行装置からの入力データに対しトルクモータを実現して仮想機構モデルを動作させることを特徴とするシミュレーションシステム。
【0207】
(付記10)
付記8記載のシミュレーションシステムにおいて、前記シミュレーション装置は、所定のシミュレーションサイクル毎に、
前記組込みソフトウェア実行装置の指令入力データからトルクモータの目標トルクを求め、
トルクモータの駆動軸から見た負荷全体の等価慣性、等価静摩擦及び等価動摩擦を求め、
前記目標トルク、等価慣性、等価静摩擦及び等価動摩擦からモータの変位量を求めてモータの変位を更新する処理を繰り返すことを特徴とするシミュレーションシステム。
【0208】
(付記11)
付記1記載のシミュレーションシステムにおいて、前記シミュレーション装置は、シミュレーション中における前記組込みソフトウェア実行装置からの入力データを時間データと共に記憶しておき、シミュレーション後に前記記憶データを使って再度シミュレーションを再現することを特徴とするシミュレーションシステム。
【0209】
(付記12)
機構装置の仮想機構モデルを構築し、組込みソフトウェア実行装置からの入力データに応じたシミュレーション計算により前記仮想機構モデルを動作させるシミュレーション方法において、
前記組込みソフトウェア実行装置との入出力と前記仮想機構モデルの機構演算に関する第1処理を実行する第1処理ステップと、
前記第1処理ステップの空き時間を使用して、前記仮想機構モデルの描画を含むユーザインタフェースに関する第2処理を実行する第2処理ステップと、
を備えたことを特徴とするシミュレーション方法。(3)
【0210】
(付記13)
付記12記載のシミュレーション方法おいて、前記シミュレーション装置に2台のプロセッサを設け、前記第1処理ステップによる入出力及び機構演算と前記第2処理ステップによる描画処理を並列に実行することを特徴とするシミュレーション方法。
【0211】
(付記14)
付記12記載のシミュレーション方法おいて、前記シミュレーション装置のプロセッサに前記第1処理ステップと第2処理ステップをマルチタスクで実装し、前記第1処理ステップによる入出力と機構演算は優先度を高くして短い周期で実行し、前記第2処理ステップによる描画処理は優先度を低くして長い周期で実行することを特徴とするシミュレーション方法。
【0212】
(付記15)
付記14記載のシミュレーション方法において、タイマカウンタと同期を取ることにより前記第1処理ステップの処理を一定周期で実行させることを特徴とするシミュレーション方法。
【0213】
(付記16)
付記12記載のシミュレーション方法において、前記機構装置はパルス信号や正弦波信号を入力とするモータを備え、前記組込みソフトウェア実行装置からのモータ指令として前記モータに対するパルス信号や正弦波信号を入力して前記仮想機構モデルを動作させることを特徴とするシミュレーション方法。
【0214】
(付記17)
付記12記載のシミュレーション方法において、前記第2処理ステップは、仮想機構モデルの動く部分を対象に描画処理を実行することを特徴とするシミュレーション方法。
【0215】
(付記18)
付記12記載のシミュレーション方法において、更に、予め定義された駆動機構の関係から、任意の選んだ軸にかかる負荷全体の等価慣性、等価静摩擦、等価動摩擦の少なくともいずれかを、前記選んだ軸から見た値に換算して表示する第3処理ステップを設けたことを特徴とするシミュレーション方法。
【0216】
(付記19)
付記12記載のシミュレーション方法において、更に、モータ駆動軸から見た負荷全体の等価慣性、等価静摩擦及び等価動摩擦を用いて、動作に必要なモータの駆動トルクをリアルタイムに算出し表示する第3処理ステップを設けたことを特徴とするシミュレーション方法。
【0217】
(付記20)
付記19記載のシミュレーション方法において、前記組込みソフトウェア実行装置からの入力データに対しトルクモータを実現して仮想機構モデルを動作させることを特徴とするシミュレーション方法。
【0218】
(付記21)
付記20記載のシミュレーション方法において、前記シミュレーション装置は、所定のシミュレーションサイクル毎に、
前記組込みソフトウェア実行装置の指令入力データからトルクモータの目標トルクを求め、
トルクモータの駆動軸から見た負荷全体の等価慣性、等価静摩擦及び等価動摩擦を求め、
前記目標トルク、等価慣性、等価静摩擦及び等価動摩擦からモータの変位量を求めてモータの変位を更新する処理を繰り返すことを特徴とするシミュレーション方法。
【0219】
(付記22)
付記12記載のシミュレーション方法において、前記シミュレーション装置は、シミュレーション中における前記組込みソフトウェア実行装置からの入力データを時間データと共に記憶しておき、シミュレーション後に前記記憶データを使って再度シミュレーションを再現することを特徴とするシミュレーション方法。
【0220】
(付記23)
コンピュータに、
組込みソフトウェア実行装置との入出力と仮想機構モデルの機構演算に関する第1処理を実行する第1処理ステップと、
前記第1処理ステップの空き時間を使用して、前記仮想機構モデルの描画を含むユーザインタフェースに関する第2処理を実行する第2処理ステップと、
を実行させることを特徴とするプログラム。(4)
【0221】
(付記24)
付記23記載のプログラムおいて、2台のコンピュータに、前記第1処理ステップによる入出力及び機構演算と前記第2処理ステップによる描画処理を並列に実行させることを特徴とするプログラム。
【0222】
(付記25)
付記24記載のプログラムおいて、コンピュータに前記第1処理ステップと第2処理ステップをマルチタスクで実装し、前記第1処理ステップによる入出力と機構演算は優先度を高くして短い周期で実行させ、前記第2処理ステップによる描画処理は優先度を低くして長い周期で実行させることを特徴とするプログラム。
【0223】
(付記26)
付記25記載のプログラムにおいて、タイマカウンタと同期を取ることにより前記第1処理ステップの処理を一定周期で実行させることを特徴とするプログラム。
【0224】
(付記27)
付記23記載のプログラムにおいて、パルス信号や正弦並信号を入力とするモータに対し、前記組込みソフトウェア実行装置からのモータ指令として前記モータに対するパルス信号や正弦波信号を入力して前記仮想機構モデルを動作させることを特徴とするプログラム。
【0225】
(付記28)
付記23記載のプログラムにおいて、前記第2処理ステップは、仮想機構モデルの動く部分を対象に描画処理を実行させることを特徴とするプログラム。
【0226】
(付記29)
付記23記載のプログラムにおいて、更に、予め定義された駆動機構の関係から、任意の選んだ軸にかかる負荷全体の等価慣性、等価静摩擦、等価動摩擦の少なくともいずれかを、前記選んだ軸から見た値に換算して表示する第3処理ステップを設けて実行させることを特徴とするプログラム。
【0227】
(付記30)
付記29記載のプログラムにおいて、更に、モータ駆動軸から見た負荷全体の等価慣性、等価静摩擦及び等価動摩擦を用いて、動作に必要なモータの駆動トルクをリアルタイムに算出し表示させる第3処理ステップを設けて実行させることを特徴とするプログラム。
【0228】
(付記31)
付記30記載のプログラムにおいて、前記組込みソフトウェア実行装置からの入力データに対しトルクモータを実現して仮想機構モデルを動作させることを特徴とするプログラム。
【0229】
(付記32)
付記31記載のプログラムにおいて、所定のシミュレーションサイクル毎に、前記組込みソフトウェア実行装置の指令入力データからトルクモータの目標トルクを求め、
トルクモータの駆動軸から見た負荷全体の等価慣性、等価静摩擦及び等価動摩擦を求め、
前記目標トルク、等価慣性、等価静摩擦及び等価動摩擦からモータの変位量を求めてモータの変位を更新する処理を繰り返すことを特徴とするプログラム。
【0230】
(付記33)
付記23記載のプログラムにおいて、シミュレーション中における前記組込みソフトウェア実行装置からの入力データを時間データと共に記憶しておき、シミュレーション後に前記記憶データを使って再度シミュレーションを再現することを特徴とするプログラム。
【0231】
(付記34)
コンピュータに、
組込みソフトウェア実行装置との入出力、仮想機構モデルの機構演算、及び前記仮想機構モデルの描画を含むユーザインタフェースに関する処理を実行するステップと、
予め定義された駆動機構の関係から、任意の選んだ軸にかかる負荷全体の等価慣性、等価静摩擦、等価動摩擦の少なくともいずれかを、前記選んだ軸から見た値に換算して表示させるステップと、
を実行させることを特徴とするプログラム。
【0232】
(付記35)
付記34のプログラムにおいて、更に、前記等価慣性、等価静摩擦及び等価動摩擦を用いて、動作に必要なモータの駆動トルクをリアルタイムに算出して表示させることを特徴とするプログラム。
【0233】
(付記36)
コンピュータに、
組込みソフトウェア実行装置との入出力と仮想機構モデルの機構演算に関する第1処理を実行する第1処理ステップと、
前記第1処理ステップの空き時間を使用して、前記仮想機構モデルの描画を含むユーザインタフェースに関する第2処理を実行する第2処理ステップと、
を実行させるプログラムを格納したコンピュータ読取可能な記録媒体。(5)
【0234】
【発明の効果】
以上説明してきたように本発明によれば、モータ指令値入力、機構演算及びセンサ値出力といった高速低負荷処理と、部品の位置姿勢計算と画面描画といった低速高負荷処理にシミュレーション処理を分け、高速低負荷処理は組込ソフトウェア実行装置に設けている制御プログラムのサイクルと同じ周期で高速に実行し、これに対し描画処理となる低速高負荷処理については数回に1回というように間引いて実行することで、組込ソフトウェア実行装置とシミュレーション装置との間の時間合せのための同期処理を不要とし、仮想機構モデルのリアルタイムなシミュレーションが実現でき、仮想機構モデルを用いた制御プログラムの設計開発を効率良く行なうことができる。
【0235】
また仮想機構モデルのモータなどのアクチュエータについて、等価慣性、等価静摩擦、等価動摩擦、更には駆動トルクがリアルタイムで算出されて表示されることで、機構モデルのモータ選定などの設計作業をより適切に行なうことができる。
【0236】
また同期処理が不要となったことで、ステッピングモータにおけるパルス入力によるシミュレーションを実現することができる。
【図面の簡単な説明】
【図1】本発明の原理説明図
【図2】本発明システム構成の説明図
【図3】仮想機構モデルの動く部分を表示した場合のシミュレーション動作の説明図
【図4】画面表示された仮想機構モデルの説明図
【図5】図2におけるシミュレーション処理のフローチャート
【図6】2台のCPUで2つのタスクを並列に処理する実施形態の説明図
【図7】マルチタスクにより処理する実施形態の説明図
【図8】図7におけるシミュレーション処理のフローチャート
【図9】タイマ割込みに同期してシミュレーションを実行する実施形態の説明図
【図10】図9のシミュレーション処理のタイムチャート
【図11】図9によるシミュレーション処理のフローチャート
【図12】ステッピングモータのパルス指令によりシミュレーションを実行する実施形態の説明図
【図13】駆動トルク演算処理を含むシミュレーション処理を実行する実施形態のフローチャート
【図14】等価慣性の概念わ示した説明図
【図15】等価慣性モーメントの算出法の説明図
【図16】等価慣性を求めるアルゴリズムのフローチャート
【図17】等価慣性を得たい駆動関節・部品の検索アルゴリズムのフローチャート
【図18】図17における従動関節検索の詳細のフローチャート
【図19】図17における従動関節検索の詳細のフローチャート
【図20】図16における等価慣性算出処理の詳細のフローチャート
【図21】等価静摩擦の概念を示した説明図
【図22】従動関係が複数ある場合の等価静摩擦の概念を示した説明図
【図23】回転と並進の溝機構の説明図
【図24】等価静摩擦算出処理のフローチャート
【図25】図24における等価静摩擦算出の詳細のフローチャート
【図26】等価動摩擦算出処理のフローチャート
【図27】図26における等価動摩擦算出の詳細のフローチャート
【図28】モータ駆動トルク算出アルゴリズムのフローチャート
【図29】図28に続くモータ駆動トルク算出アルゴリズムのフローチャート
【図30】図28におけるモータ速度算出の説明図
【図31】本発明のシミュレーションプログラムを格納した記録媒体が使用されるコンピュータシステムの説明図
【図32】図31における本体部の内部構成のブロック図
【図33】組込ソフトウェア実行装置に実機を結合した従来システムの説明図
【図34】組込ソフトウェア実行装置に仮想機構モデルのシミュレーション装置を結合した従来システムの説明図
【図35】同期待ち処理を含む従来のシミュレーションのフローチャート
【符号の説明】
10:組込ソフトウェア実行装置
11:制御プログラム
12:インタフェース装置
14:仮想メカモデルシミュレーション装置
16:表示装置
18:入出力・演算処理部(第1処理部)
18−1:第1タスク
20:描画処理部(第2処理部)
20−2:第2タスク
22:駆動トルク演算処理部(第3処理部)
24:指令入力記憶部
26:モータ
28,30:ギア
32:カム
34:センサ
36:仮想的機構モデル(CDオートチェンジャ)
38,38−1,38−2:CPU
40:タイマ割込み発生装置
48:パルス発振回路
50:励磁回路
52:ドライバ
54:ステッピングモータ

Claims (4)

  1. モータを駆動源として三次元的な動作を行う機構装置を制御するための制御プログラムを実行する組込ソフトウェア実行装置と、前記組込ソフトウェア実行装置からの入力データに応じたシミュレーション計算をプロセッサにより行い、構築された前記機構装置の仮想機構モデルを動作させるシミュレーション装置と、を備えたシミュレーションシステムにおいて、
    前記シミュレーション装置
    前記組込ソフトウェア実行装置との入出力処理、入力された指令値入力に対する前記仮想機構モデルの動作部分の三次元的な動作に関する機構演算処理を実行する第1処理部と、
    前記機構演算処理の結果に基づき、前記仮想機構モデルの動作部分の描画を含むユーザインタフェースの表示に関する第2処理を実行する第2処理部と、を有し
    前記シミュレーション装置のプロセッサ
    定期的にタイマ割り込みを行なうタイマ割り込み処理と、前記タイマ割り込みが行なわれた場合の前記第1処理部による入出力処理と機構演算処理と、前記タイマ割り込みが行なわれない場合の所定のスリープ時間中に前記第1処理部による入出力処理と機構演算処理を停止させる処理と、を含む第1のタスクと、
    前記第1のタスクより長い周期で、かつ、前記第1のタスクより優先順位を低くして、前記第2処理部による前記仮想機構モデルの動作部分の描画処理を前記スリープ時間中に行なう第2のタスクと、を行なわせることを特徴とするシミュレーションシステム。
  2. 前記シミュレーションシステムにおいて、予め定義された駆動機構の関係から、任意の選んだ軸にかかるモータ駆動軸から見た負荷全体の等価慣性、等価静摩擦及び等価動摩擦を用いて、動作に必要なモータの駆動トルクをリアルタイムに算出し表示する第3処理部を設けたことを特徴とする請求項1記載のシミュレーションシステム。
  3. モータを駆動源として三次元的な動作を行う機構装置を制御するための制御プログラムを実行する組込ソフトウェア実行装置と、前記組込ソフトウェア実行装置からの入力データに応じたシミュレーション計算をプロセッサにより行い、構築された前記機構装置の仮想機構モデルを動作させるシミュレーション装置と、を備えたシミュレーションシステムの制御方法において、
    前記シミュレーション装置が有する第1処理部が、前記組込ソフトウェア実行装置との入出力処理と、入力された指令値入力に対する前記仮想機構モデルの動作部分の三次元的な動作に関する機構演算処理を実行するステップと、
    前記シミュレーション装置が有する第2処理部が、前記機構演算処理の結果に基づき、前記仮想機構モデルの動作部分の描画を含むユーザインタフェースの表示に関する第2処理を実行するステップと、を有し
    定期的にタイマ割り込みを行なうタイマ割り込み処理と、前記タイマ割り込みが行なわれた場合の前記第1処理部による入出力処理と機構演算処理と、前記タイマ割り込みが行なわれない場合の所定のスリープ時間中に前記第1処理部による入出力処理と機構演算処理を停止させる処理と、を含む第1のタスクと、
    前記第1のタスクより長い周期で、かつ、前記第1のタスクより優先順位を低くして、前記第2処理部による前記仮想機構モデルの動作部分の描画処理を前記スリープ時間中に行なう第2のタスクと、を行なわせることを特徴とするシミュレーションシステムの制御方法
  4. モータを駆動源として三次元的な動作を行う機構装置を制御するための制御プログラムを実行する組込ソフトウェア実行装置と、前記組込ソフトウェア実行装置からの入力データに応じたシミュレーション計算をプロセッサにより行い、構築された前記機構装置の仮想機構モデルを動作させるシミュレーション装置と、を備えたシミュレーションシステムの制御プログラムにおいて、
    前記プロセッサに、
    前記組込ソフトウェア実行装置との入出力処理、入力された指令値入力に対する前記仮想機構モデルの動作部分の三次元的な動作に関する機構演算処理を実行するステップと、
    前記機構演算処理の結果に基づき、前記仮想機構モデルの動作部分の描画を含むユーザインタフェースの表示に関する第2処理を実行するステップと、を実行させ、
    定期的にタイマ割り込みを行なうタイマ割り込み処理と、前記タイマ割り込みが行なわれた場合の前記第1処理による入出力処理と機構演算処理と、前記タイマ割り込みが行なわれない場合の所定のスリープ時間中に前記第1処理部による入出力処理と機構演算処理を停止させる処理と、を含む第1のタスクと、
    前記第1のタスクより長い周期で、かつ、前記第1のタスクより優先順位を低くして、前記第2処理による前記仮想機構モデルの動作部分の描画処理を前記スリープ時間中に行なう第2のタスクと、を行なわせることを特徴とするシミュレーションシステムの制御プログラム。
JP2001219188A 2001-07-19 2001-07-19 シミュレーションシステム、方法、プログラム及び記録媒体 Expired - Fee Related JP4837844B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001219188A JP4837844B2 (ja) 2001-07-19 2001-07-19 シミュレーションシステム、方法、プログラム及び記録媒体
US10/013,450 US20030078762A1 (en) 2001-07-19 2001-12-13 Simulation system, method, program and record medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001219188A JP4837844B2 (ja) 2001-07-19 2001-07-19 シミュレーションシステム、方法、プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JP2003030251A JP2003030251A (ja) 2003-01-31
JP4837844B2 true JP4837844B2 (ja) 2011-12-14

Family

ID=19053229

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001219188A Expired - Fee Related JP4837844B2 (ja) 2001-07-19 2001-07-19 シミュレーションシステム、方法、プログラム及び記録媒体

Country Status (2)

Country Link
US (1) US20030078762A1 (ja)
JP (1) JP4837844B2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004310568A (ja) * 2003-04-09 2004-11-04 Matsushita Electric Ind Co Ltd シミュレータ装置、シミュレーション方法および性能解析方法
DE10352815B4 (de) * 2003-11-12 2009-06-25 Siemens Ag Simulationsverfahren für eine Bearbeitung eines Werkstücks durch eine Werkzeugmaschine und korrespondierender Rechner
JP4505295B2 (ja) * 2004-09-16 2010-07-21 ヤマザキマザック株式会社 Nc加工シミュレーション方法及びnc加工シミュレーション装置
US20070244683A1 (en) * 2005-08-19 2007-10-18 Honeywell International Inc. Device simulating operation of a machine that functions as either a motor or a generator
DE102006015981B4 (de) * 2005-08-19 2014-02-13 Siemens Aktiengesellschaft Verfahren zum Ermitteln des Verhaltens von zum Zwecke der Bewegung eines Werkzeugs oder einer Werkzeugaufnahme im Verbund bewegbaren Maschinenachsen einer mehrachsigen Maschine
JP4986508B2 (ja) * 2006-06-07 2012-07-25 キヤノン株式会社 シミュレータ装置およびコンピュータプログラム
EP2149982A4 (en) * 2007-05-15 2016-06-22 Yaskawa Denki Seisakusho Kk MOTOR REGULATOR SELECTION DEVICE, MOTOR REGULATOR SELECTION METHOD, COMPUTER PROGRAM USING THE METHOD, AND STORAGE METHOD
JP2009104388A (ja) * 2007-10-23 2009-05-14 Toshiba Corp シミュレーション再生表示装置及びシミュレーション再生表示方法並びにシミュレーションプログラム
AT11220U3 (de) * 2010-02-04 2010-12-15 Avl List Gmbh Verfahren zum testen eines fahrzeuges oder eines teilsystems davon
JP5552037B2 (ja) * 2010-12-10 2014-07-16 株式会社富士通コンピュータテクノロジーズ モデル変換プログラム、シミュレーションプログラム、シミュレーション装置、モデル変換方法およびシミュレーション方法
FR3010805A1 (fr) * 2013-09-13 2015-03-20 Airbus Operations Sas Procede et dispositif d'aide au pilotage d'un aeronef lors d'un vol parabolique en vue de generer une impesanteur dans l'aeronef.
JP6249740B2 (ja) * 2013-11-27 2017-12-20 キヤノン株式会社 制御ソフトウエアの検証装置
US10025286B2 (en) * 2014-04-30 2018-07-17 Mitsubishi Electric Corporation Simulation system, programmable controller, simulation device, and engineering tool
KR101653797B1 (ko) * 2016-04-15 2016-09-09 스튜디오씨드코리아 주식회사 프로토타입 제작 방법 및 그 장치
JPWO2018180148A1 (ja) * 2017-03-31 2020-02-06 ソニー株式会社 情報処理装置及び情報処理方法、コンピュータ・プログラム、並びにプログラム製造方法
JP6840288B1 (ja) * 2019-03-25 2021-03-10 三菱電機株式会社 表示支援プログラム、同プログラムを記憶したコンピュータ可読記憶媒体、表示支援方法、及び表示支援システム
CN111090972A (zh) * 2019-12-25 2020-05-01 江西麦克斯韦科技有限公司 一种使用MATLAB软件绘制电机效率map图的方法

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62182791A (ja) * 1986-02-06 1987-08-11 日本電気株式会社 2重vramを用いたcrtリフレツシユ方式
JPS6349851A (ja) * 1986-08-19 1988-03-02 Hitachi Electronics Eng Co Ltd シミユレ−シヨンシステム
JPH04190691A (ja) * 1990-09-07 1992-07-09 Fujitsu Ltd 張力一定吊り機構のモータ制御装置
JPH04246249A (ja) * 1991-01-31 1992-09-02 Nissan Motor Co Ltd 内燃機関の実圧縮比制御装置
JPH06149757A (ja) * 1992-11-10 1994-05-31 Hitachi Ltd 並列処理装置
US5712964A (en) * 1993-09-29 1998-01-27 Fujitsu Limited Computer graphics data display device and method based on a high-speed generation of a changed image
US6006247A (en) * 1995-03-21 1999-12-21 International Business Machines Corporation Method and system for scheduling threads and handling exceptions within a multiprocessor data processing system
JPH08272728A (ja) * 1995-03-30 1996-10-18 Sumitomo Metal Ind Ltd 中央処理装置の使用権配分最適化方法及び中央処理装置の使用権配分最適化システム
US5684948A (en) * 1995-09-01 1997-11-04 National Semiconductor Corporation Memory management circuit which provides simulated privilege levels
JP3361007B2 (ja) * 1995-11-07 2003-01-07 富士通株式会社 リンク機構解析装置
WO1997041935A1 (en) * 1996-05-02 1997-11-13 Sega Enterprises, Ltd. Game machine, its processing method and recording medium
JPH09305389A (ja) * 1996-05-15 1997-11-28 Ricoh Co Ltd ソフトウエア開発支援のシミュレーション装置
US20010040586A1 (en) * 1996-07-25 2001-11-15 Kabushiki Kaisha Sega Enterprises Image processing device, image processing method, game device, and craft simulator
JPH1063515A (ja) * 1996-08-26 1998-03-06 Nippon Telegr & Teleph Corp <Ntt> マルチタスク制御のスケジューリング方法
JP3770341B2 (ja) * 1996-11-22 2006-04-26 株式会社セガ 仮想移動体操縦装置
US5949994A (en) * 1997-02-12 1999-09-07 The Dow Chemical Company Dedicated context-cycling computer with timed context
JPH10301793A (ja) * 1997-04-30 1998-11-13 Toshiba Corp 情報処理装置及びスケジューリング方法
US6259456B1 (en) * 1997-04-30 2001-07-10 Canon Kabushiki Kaisha Data normalization techniques
JPH10312315A (ja) * 1997-05-12 1998-11-24 Nec Corp ソフトウェア/ハードウェア協調シミュレーション方式
US6445964B1 (en) * 1997-08-04 2002-09-03 Harris Corporation Virtual reality simulation-based training of telekinegenesis system for training sequential kinematic behavior of automated kinematic machine
US6002232A (en) * 1997-08-15 1999-12-14 Iowa State University Research Foundation, Inc. Robust vibration suppression methods and systems
US6233504B1 (en) * 1998-04-16 2001-05-15 California Institute Of Technology Tool actuation and force feedback on robot-assisted microsurgery system
US6161051A (en) * 1998-05-08 2000-12-12 Rockwell Technologies, Llc System, method and article of manufacture for utilizing external models for enterprise wide control
US6615091B1 (en) * 1998-06-26 2003-09-02 Eveready Battery Company, Inc. Control system and method therefor
JP2951948B1 (ja) * 1998-07-01 1999-09-20 コナミ株式会社 ゲームシステムおよびそのゲームを実行するためのプログラムを格納したコンピュータ読取り可能な記憶媒体
US6546297B1 (en) * 1998-11-03 2003-04-08 Robertshaw Controls Company Distributed life cycle development tool for controls
US6573905B1 (en) * 1999-11-09 2003-06-03 Broadcom Corporation Video and graphics system with parallel processing of graphics windows
SE9901146D0 (sv) * 1998-11-16 1999-03-29 Ericsson Telefon Ab L M A processing system and method
JP3708751B2 (ja) * 1998-12-16 2005-10-19 富士通株式会社 機構制御プログラム開発支援システム、機構制御プログラム開発支援装置、および機構制御プログラム開発支援プログラム記憶媒体
US6249714B1 (en) * 1998-12-31 2001-06-19 Rensselaer Polytechnic Institute Virtual design module
JP3259712B2 (ja) * 1999-01-12 2002-02-25 トヨタ自動車株式会社 内燃機関の制御装置
JP3027829B1 (ja) * 1999-02-19 2000-04-04 コナミ株式会社 画面表示方法、ゲ―ムプログラムを記録した記録媒体、及びビデオゲ―ム装置
US6714201B1 (en) * 1999-04-14 2004-03-30 3D Open Motion, Llc Apparatuses, methods, computer programming, and propagated signals for modeling motion in computer applications
KR100629035B1 (ko) * 1999-04-21 2006-09-26 시게이트 테크놀로지 엘엘씨 가상 디스크 드라이브를 사용한 서보 프로세서 코드 평가
JP2001153813A (ja) * 1999-11-30 2001-06-08 Matsushita Electric Works Ltd 壜外観検査システムおよびその方法
JP3803019B2 (ja) * 2000-08-21 2006-08-02 富士通株式会社 制御プログラム開発支援装置
US7081892B2 (en) * 2002-04-09 2006-07-25 Sony Computer Entertainment America Inc. Image with depth of field using z-buffer image data and alpha blending
US6691071B2 (en) * 2002-05-13 2004-02-10 Motorola, Inc. Synchronizing clock enablement in an electronic device
AU2003289022A1 (en) * 2002-12-12 2004-06-30 Matsushita Electric Industrial Co., Ltd. Robot control device
US7444637B2 (en) * 2003-02-18 2008-10-28 Microsoft Corporation Systems and methods for scheduling coprocessor resources in a computing system
US7095416B1 (en) * 2003-09-22 2006-08-22 Microsoft Corporation Facilitating performance analysis for processing

Also Published As

Publication number Publication date
JP2003030251A (ja) 2003-01-31
US20030078762A1 (en) 2003-04-24

Similar Documents

Publication Publication Date Title
JP4837844B2 (ja) シミュレーションシステム、方法、プログラム及び記録媒体
US7257521B2 (en) Support system, and computer-readable recording medium in which support program is recorded
KR100938036B1 (ko) 그래픽 표시 애니메이션 시스템, 표시 요소 애니메이션화 방법, 애니메이션 동작 적용 방법, 및 컴퓨터 판독가능 매체
US5625575A (en) Apparatus for modelling interaction of rigid bodies
JP7487341B2 (ja) ロボット実証学習のためのスキルテンプレート配布
Xia New advances for haptic rendering: state of the art
Srivastava et al. SIERA: A unified framework for rapid-prototyping of system-level hardware and software
US20230286167A1 (en) Robot choreographer
Cheng et al. Spatial-temporal motion control via composite cam-follower mechanisms
Böttcher et al. Multi-rate coupling of physical simulations for haptic interaction with deformable objects
WO2021154251A1 (en) Automatic simplification of a rigid-body simulation
JP2003075521A (ja) 三次元メッシュ生成方法、回転機の磁界解析方法、三次元メッシュ生成装置、回転機の磁界解析装置、コンピュータプログラム、及び記録媒体
Muller et al. Clayworks: A system for collaborative real-time modeling and high-performance simulation
CN113064708B (zh) 高速连续运动中的机械臂系统多任务协同与信息同步方法
JP2688633B2 (ja) 機構解析システム
JP2007233594A (ja) 凸多面体に対する重心座標を用いた自由形状変形システム
Fujita et al. Clayworks: Toward User-Oriented Software for Collaborative Modeling and Simulation
Gorlatch et al. Clayworks: Toward user-oriented software for collaborative modeling and simulation
Van Kooten Bridging Scientific Visualization and Unreal VR.
Li Reliable Contact Simulation With IPC
WO2006052750A2 (en) Asynchronous and parallel execution by physics processing unit
Flores Roboscope: a rebotic input: output device for enhancing computer aimators creativity and expression
Ma A Pervasive Parallel Processing Framework for Data Visualization and Analysis at Extreme Scale
Kim Dynamic simulation for multi-body systems linking matlab
Christopher Interactive Multiple-representation Editing of Physically-based 3D Animation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110221

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110627

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110630

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110706

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110906

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110929

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141007

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees