JP3940665B2 - ハイブリッドシミュレーション装置およびプログラム - Google Patents

ハイブリッドシミュレーション装置およびプログラム Download PDF

Info

Publication number
JP3940665B2
JP3940665B2 JP2002344228A JP2002344228A JP3940665B2 JP 3940665 B2 JP3940665 B2 JP 3940665B2 JP 2002344228 A JP2002344228 A JP 2002344228A JP 2002344228 A JP2002344228 A JP 2002344228A JP 3940665 B2 JP3940665 B2 JP 3940665B2
Authority
JP
Japan
Prior art keywords
continuous system
equation
simulation
system equation
description
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 - Lifetime
Application number
JP2002344228A
Other languages
English (en)
Other versions
JP2004178300A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2002344228A priority Critical patent/JP3940665B2/ja
Priority to US10/721,544 priority patent/US20040158442A1/en
Priority to CNB2003101186527A priority patent/CN1242327C/zh
Publication of JP2004178300A publication Critical patent/JP2004178300A/ja
Application granted granted Critical
Publication of JP3940665B2 publication Critical patent/JP3940665B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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

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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Feedback Control In General (AREA)
  • Complex Calculations (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、コンピュータを用いて機械等の挙動のシミュレーションを行うための方法およびプログラムに関し、特に本発明はハイブリッドモデルを用いるものである。
【0002】
【従来の技術】
現在、コンピュータを用いて機械やプラント等の挙動のシミュレーションを行う際に、ハイブリッドモデリングと呼ばれる手法が使われている。ハイブリッドモデルを用いたシミュレーションは「ハイブリッドシミュレーション」と呼ばれている。このようなシミュレーション挙動をするシステムを「ハイブリッドシステム」と呼ぶこともある。
【0003】
シミュレーションの目的で作成されるハイブリッドモデルは、概念的には常微分方程式や代数方程式を連立させた連立方程式によって表現される連続系モデルと、イベント発生に伴う状態遷移を表現するための状態遷移モデルとを組み合わせたモデルである。ハイブリッドモデルによれば、連続系モデルで表現される状態が外部からのイベントなどにより瞬時に切り替わるシステムを表現することができる。
【0004】
ハイブリッドモデルを記述するための言語として、米国ゼロックス社(商標)のパロアルト研究所にて創作されたHCC(Hybrid Concurrent Constraint Programming)と呼ばれる言語がある(下記特許文献1および非特許文献1参照。)。HCCは発展途上にあり、現在も米国NASAのエイムズ研究所において研究が進められている。HCCは制約処理プログラミング(コンストレイントプログラミング)と呼ばれる技術の一種であり、連続系モデルを表現する常微分方程式や代数方程式を制約として扱い、これら方程式をそのまま順不同で記述することができる。このような制約記述に、状態遷移を制御する記述を付加してHCC言語のハイブリッドモデルは完成される。HCCによれば、方程式をそのまま制約として羅列する(プログラミングする)ことができ、複雑なモデルを記述可能である。
【0005】
このようにハイブリッドモデルの技術を用いれば、系の特性を常微分方程式などでモデル表現し、初期状態から時間の推移に従ってどのような挙動を示すかをシミュレーションすることができる。
【0006】
微分方程式などで表現可能な対象や現象を的確にモデル化できるハブリッドモデルの技術の応用例として、ソフトウエアにより機構が制御されるメカトロニクス機器の機構シミュレーションがある。かかる機構シミュレーションによれば、機構の実機が存在しない状況においても、当該機構を制御する制御ソフトウエアのプロトタイピング、テスト、あるいはデバッグなどが行えるようになる。
【0007】
しかし、ハイブリッドモデルを扱うことのできる公知のプログラム言語は、必ずしもメカトロニクス機器の機構シミュレーションに応用することを目的に開発されたものではなく、このため次のような問題点がある。
【0008】
例えば米国ゼロックス社(商標)のHCCは、インタプリタ型のプログラミング言語であり、実行中にGC(Garbage Collection:ごみ集め)と呼ばれる処理が起動される。この処理が完了するまで、シミュレーション(のプログラム)は一時的に停止させられてしまう。これによりシミュレーションの実行時間を正確に把握できない。アプリケーションの実装に不向きな点は他にもある。例えばシミュレーションのプログラム作成が極めて難易度が高い点である。たとえば制御ソフトウエアが機構に送信するアクチュエータへの動作コマンドなどを、シミュレータの外部から制御信号として受け取るような構成とする場合、外部関数などを個別に定義する必要がある上、プログラミングにおいてかなりの工夫を必要とする。
【0009】
【特許文献1】
米国特許第5,831,853号明細書
【0010】
【非特許文献1】
インターネット<URL:http://www2.parc.com/spl/projects/mbc/publications.html#cclanguages>
【0011】
【発明が解決しようとする課題】
本発明はかかる事情を考慮してなされたものであり、ハイブリッドモデルを用いて複雑な機構系を簡便かつ正確にモデル化でき、該機構系を制御する制御ソフトウエアとの連携シミュレーションにも好適なシミュレーション方法およびプログラムを提供することを目的とする。
【0012】
【課題を解決するための手段】
上記課題を解決し目的を達成するために本発明は次のように構成されている。
【0013】
本発明に係るシミュレーション方法は、ハイブリッドモデルを利用して、対象とする機構の挙動を時間軸に沿ってシミュレーションするシミュレーション方法であって、前記ハイブリッドモデルの記述データを解析し、状態遷移に伴う連続系方程式の切り替えに関する記述と、前記ハイブリッドモデルの記述データ中に出現する連続系方程式の記述とを抽出する解析ステップと、前記解析ステップにおいて抽出された状態遷移に伴う連続系方程式の切り替えに関する記述から、該連続系方程式の切り替えが必要となる条件及び対象となる連続系方程式の関係を表すテーブルを生成するテーブル生成ステップと、前記解析ステップにおいて抽出された連続系方程式の記述から、該連続系方程式についての内部データ表現を生成する内部データ表現生成ステップと、イベントの生起に応じて前記テーブルを参照し、前記条件に従って連続系方程式を有効なものに切り替える切り替えステップと、前記切り替えステップにおいて切り替えられた連続系方程式に対応する前記内部データ表現を用い、前記時間軸に沿った数値積分により該連続系方程式を解いて前記機構の挙動を表すデータを出力するシミュレーション実行ステップと、を具備することを特徴とするシミュレーション方法である。
【0014】
また、本発明に係るシミュレーション方法は、ハイブリッドモデルを利用して、対象とする機構の挙動を時間軸に沿ってシミュレーションするシミュレーション方法であって、前記ハイブリッドモデルの記述データを解析し、状態遷移に伴う連続系方程式の切り替えに関する記述と、前記ハイブリッドモデルの記述データ中に出現する連続系方程式の記述とを抽出する解析ステップと、前記解析ステップにおいて抽出された連続系方程式の記述に基づいて、第1のプログラムを生成する第1生成ステップと、前記解析ステップにおいて抽出された状態遷移に伴う連続系方程式の切り替えに関する記述に基づいて、第2のプログラムを生成する第2生成ステップと、前記第1生成ステップにおいて生成された第1のプログラムを実行することにより、前記連続系方程式についての内部データ表現を生成するステップと、前記第2生成ステップにおいて生成された第2のプログラムを実行することにより、イベントの生起に応じて前記条件に従って連続系方程式を有効なものに切り替える切り替えステップと、前記切り替えステップにおいて切り替えられた連続系方程式に対応する前記内部データ表現を用い、前記時間軸に沿った数値積分により該連続系方程式を解いて前記機構の挙動を表すデータを出力するシミュレーション実行ステップと、を具備することを特徴とするシミュレーション方法である。
【0015】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態を説明する。
【0016】
(第1実施形態)
図1は、本発明の第1実施形態に係る機構シミュレータの概略構成を示すブロック図である。
【0017】
本発明の第1実施形態に係る機構シミュレータ(ハイブリッドモデルシミュレーション部101)はモデル方程式制御情報解析部111と、方程式構文解析部112と、ハイブリッドモデルシミュレーション実行部102とにより構成されている。ハイブリッドモデル記述104は、例えばHCCのようなハブリッドモデル記述言語で記述されたソースプログラムであって、本実施形態に係る機構シミュレータ101への入力である。制御信号106も機構シミュレータ101への入力であり、この制御信号106は後述する機構制御ソフトウエアないしは機構制御ソフトウエアのシミュレータから与えられる。また、本実施形態に係る機構シミュレータ101からの出力は、シミュレーション結果としての変数値の演算結果およびその時間履歴であり、記憶部105に対して出力される。
【0018】
図1に示すように、ハイブリッドモデルシミュレーション実行部102は、モデル方程式制御情報記憶部113と、方程式データ記憶部114と、連続系方程式切り替え部115と、連続系シミュレーション部103とにより構成されている。なお、本実施形態は一般的なコンピュータを用いて構成することができ、その基本的なハードウェア構成として、図示しないが中央演算ユニット(CPU)、メモリ、外部記録装置、通信インターフェース(I/F)、および表示装置やキーボード、マウス等の入力装置を備える。また、これらのハードウェアを制御するためのオペレーティングシステム(OS)を備える。また、本発明の実施形態に係る機構シミュレータは、このようなオペレーティングシステム上で動作するアプリケーションソフトウェアとして実装することができる。
【0019】
このような本実施形態に係る機構シミュレータの構成及びその処理手順について説明する前に、ここではまずハイブリッドモデル104がどのように記述されるかを具体例を挙げて説明する。
【0020】
図2および図3は、具体例に係るハイブリッドモデルの記述対象である機械装置を示す図であって、この機械装置は、バルブ301、バネ303、およびピストン302を備えた簡素な構造を有するシリンダ装置である。
【0021】
バルブ301は外部からの指令(イベント)に応じて開閉動作する。これによりシリンダ装置内の空気の流れを図2のように右側に変更するイベントを以下、「Right」と呼び、空気の流れを図3のように左側に変更するイベントを「Left」と呼ぶ。図2は、バルブ301にRightのイベントが与えられた状態を示しており、ピストン302には紙面左向きへの力が作用している。この状態を示す運動方程式はシリンダ装置の下部に示してあるように、「-F = m x’’」である。これに対し図3は、バルブ301にLeftのイベントが与えられた状態を示しており、空気の流れの向きが変わり、運動方程式は同図のように「F = m x’’」に変化している。
【0022】
図4は、このような状態変化とそれぞれの状態に対応する運動方程式を状態遷移図として表現したものである。ハイブリッドモデルは、この図4に示されるような状態遷移と、各状態の記述が微分方程式や代数方程式で表現されるものを指す。図4によれば、状態が2つあって、かかる2つの状態間に状態遷移が存在することがわかる。
【0023】
図5は、図4の状態遷移図をもとに具体的なハイブリッドモデルの内容をHCC(Hybrid Concurrent Constraint Programming)言語で記述したプログラムの一例を示す図である。図5において、(ソース)プログラムの論理行番号を仮にL1〜L10とする。L3、L4、およびL10は、この機械装置の初期状態やバルブ操作のタイミングなどの運転条件の記述に相当し、L6およびL8は図4に示した状態遷移の表現記述である。
【0024】
HCCでは、運動方程式は、図から分かるようにプログラム内でそのまま記述することができる。また、それぞれの状態へ遷移する条件は、「always if」に続いて記述し、また、それぞれの状態から遷移していく条件は「watching」に続けて記述すればよい。
【0025】
なお、HCCでは、プログラムの記述の順序(図5における論理行番号L1→L10の順序)にそって実行されるわけではない。HCCでは、個別のプログラム記述のうち、シミュレーションを実行する時間軸に沿って成立するものが探索され、実行される。すなわち、論理行番号L1→L10の順序は実行順序とは関係がない。たとえば、シミュレーションを開始した時点では、L3およびL10のみが有効である。ここで、イベントRight(ev1)がL3により発生するため、L8の前提条件であるRightが有効となり、L8に記述されている運動方程式eq2が有効になる。つまり、図4の左側の状態からシミュレーションが実行されることになる。
【0026】
さらに、時間が50になるとL4が有効となり、イベントLeft(ev2)が発生し、L8の遷移条件(「watching」以下、すなわちLeft)が有効となって、L8の運動方程式eq2が無効となる。これに代わって、L6の前提条件が有効となり、運動方程式eq1が有効となる。
【0027】
なお、以上のようなプログラム例は外部からのイベント(ev3,ev4)によって状態が遷移する場合を記述したものであったが、勿論、内部の状況によって状態を変化させてもよい。たとえば、図2においてバルブ301が切り替えられない場合には、移動するピストン302がバネ303に接触し、該バネ303からの反力を受けるようになる。すなわちピストン302の位置に関して、外部からのイベントが無い場合でも状態遷移が起こる場合が存在する。このような場合は、例えばxが正であるかどうかの評価式(不等式)を評価することで状態遷移の必要性を判断できる。
【0028】
一般的に、ハイブリッドモデルは、常微分方程式や代数方程式を連立させた連立方程式によって表現される連続系モデルと、イベント発生に伴う状態遷移を表現するための状態遷移モデルとを組み合わせたモデルである。ハイブリッドモデルによれば、連続系モデルで表現される状態が外部からのイベントなどにより瞬時に切り替わるシステムを表現することができる。
【0029】
そして図1のモデル方程式制御情報解析部111は、以上説明した図5に示されるようなハイブリッドモデル記述104を入力とし、シミュレーション実行に先立ってモデル記述をまず解析し、必要となる連続系方程式のすべてをシミュレーションに適した形で登録する。
【0030】
具体的には、モデル方程式制御情報解析部111は、図5に示される運動方程式eq1や運動方程式eq2などの連続系方程式の記述と、同図に示されるRightやLeftなどのイベントに伴う状態遷移の制御情報の記述とをハイブリッドモデル記述104からシミュレーションの実行前に予め全て抽出するとともに両者を分離し、それぞれ、方程式構文解析部112およびモデル方程式制御情報記憶部113に渡す。
【0031】
モデル方程式制御情報解析部111は、イベントに伴う状態遷移の制御情報の記述に基づき、条件式とその条件式が成り立つ場合に成立する連続系方程式のID、およびこれに応じて無効になる連続系方程式のIDとを関連付けるテーブルを生成する。このテーブルにより表される情報がモデル方程式制御情報113である。連続系方程式切り替え部115は、シミュレーション実行過程において定期的にこのテーブルを参照し、その内容を順番にすべてチェックする。ここで、条件式が成立した場合には該当する連続系方程式IDについて、該連続系方程式を有効化又は無効化するための他のAPI(Application Interface)関数を呼び出す。このAPI関数は、該連続系方程式について設けられた有効・無効を表すフラグをセット/リセットする。これにより連続系方程式の切り替えが実行される。なお、後述する第2実施形態では、上記のようなテーブル(モデル方程式制御情報113)を生成することに代えて、上記API関数を呼び出す第2のプログラミング言語(例えばC言語)のソースプログラムを生成する。
【0032】
方程式構文解析部112は、与えられた連続系方程式を構文解析し、シミュレーション実行可能なデータ構造に変換して、方程式データ記憶部114に登録する。具体的には、方程式構文解析部112は個々の連続系方程式の記述を構文解析して複数の文字列に分解する。これら連続系方程式の記述を構成する文字列は、連続系方程式を登録するための所定のAPI(Application Interface)関数への引数として渡される。この方程式登録用API関数は、上記構文解析結果に基づき、連続系方程式の記述をシミュレーション実行可能なデータ構造(内部データ表現)に変換して、方程式データ記憶部114に登録する。なお、個々の連続系方程式には、ユニークなID番号が割り当てられる。
【0033】
たとえば「ab/cos(a-(c+b))-3c」という式が与えられたと仮定すると、上記内部データ表現として図6のような木構造を生成する。この木構造において、例えば参照数字61は線形多項式の親ノード(節)、62は掛け算のノード、63は割り算のノード、64は外部関数(四則演算以外の意)のノード、65は線形多項式を構成する各項のノードを表している。本例において、木構造の葉に相当するものはすべて変数(a,b,c)であり、これらに実数の係数が加わって線形式となる。線形式はcosなどの外部関数の引数になったり、掛け算や割り算の対象となる。変数には、別途、値が確定しているかどうかのフラグが設けられており、またこのような木構造のデータに基づいて該変数の現在の値が保持される。木構造のすべての葉の値(すなわち変数の値)が確定していれば、式の値を計算することができる。方程式データ記憶部114では、式の値の計算などを高速に行うことができるように、予め内部のデータ構造をつなぎ合わせて木構造を構成してある。このように、方程式データ(木構造を有する内部データ表現)を予め準備しておく本実施形態によれば、例えば「ab/cos(a-(c+b))-3c」といった式の記述をシミュレーション実行時に構文解析する場合に比べ、シミュレーションを高速に実行できるようになる。
【0034】
ここで、本実施形態との比較例として、ハイブリッドモデルのプログラム記述をインタプリタ型の言語処理系にて実行させる場合を説明する。かかる比較例はたとえば従来技術で説明した米国ゼロックス社(商標)のHCCである。
【0035】
インタプリタ型の場合、シミュレーション実行途中に方程式を追加することなどが許されるため、時間ステップを進めて数値積分を行うたびごとに、連立させるべき有効な方程式を列挙する処理、列挙された方程式を構文解析して内部の計算に適した内部データ構造(図6がその一例である)に変換する処理、方程式を連立させて実際の解く処理などを行わなければならない。これらの処理の際に、例えばどれだけの数の方程式が連立させられるかについても、あらかじめ決めることができないため、方程式が1つずつ列挙されるごとに必要なメモリを動的に確保する。処理によって必要なメモリの大きさは異なるため、あらかじめまとまったメモリ領域が確保されており、そこから必要なだけのメモリを確保することがよく行われる。また、その方程式が無効になった際にメモリを解放する処理を行わなければならない。開放されたメモリは後の処理で別の目的に使うことが可能であるが、小さな単位で細かく動的に確保されらメモリは、解放された後にそのまま利用することが難しいから、ガーベジコレクション(ごみ集め;Garbage Collection)の処理によって、開放された細かなメモリの断片を集め、まとまった再利用可能なメモリ領域として再構成する必要がある。このような構文解析やメモリ管理の処理は計算コストが極めて高い複雑な処理であり、本来の目的であるシミュレーションの実行に影響を及ぼし得る。たとえば、ガーベジコレクションの処理が起動されてシミュレーションの実行が一時的に中断される場合などである。
【0036】
これに対し本発明の実施形態では、上述したようにモデル方程式制御情報解析部111および方程式構文解析部112が設けられており、あらかじめハイブリッドモデル記述104をすべて解析し必要な内部データ表現(アクセスが高速でかつ単純な配列などのデータ)を生成、管理する構成であるから、上記比較例のような問題は生じない。
【0037】
シミュレーション実行時においては、ハイブリッドモデルシミュレーション実行部102が起動され、機構制御ソフトウエアシミュレータ108などから得られる制御信号106を受信しながら、連続系方程式の値を計算することでシミュレーション実行が行われる。このとき、連続系方程式切り替え部115はモデル方程式制御情報記憶部113の内容を参照し、連続系方程式の切り替えを有効・無効のフラグを用いて実行する。図2の状態では、図5の運動方程式eq1は無効であり、運動方程式eq2が有効になっている。ここで、Leftのイベントが発生した図3の状況においては、図5の運動方程式eq1を有効にし、運動方程式eq2を無効にするようフラグを操作する。これら有効・無効のフラグは方程式データ記憶部114に記憶される方程式それぞれの属性データとして管理される。
【0038】
連続系シミュレーション部103は、方程式データ記憶部114を参照し、同記憶部114に木構造の形式で格納されている連続系方程式の内部データ表現を演算対象として、時間ステップづつ数値積分を実行する。シミュレーションは、常微分方程式及び代数多項式の連立からなる非線形連立方程式についての初期値問題である。このため、例えば図2に示される初期状態が与えられ、例えば一般によく使われているルンゲクッタアルゴリズムを用いて解の値を計算する。
【0039】
必要なデータは機構シミュレータから出力を行い、さらに連続系方程式切り替え部115の処理に戻り、上記の処理を繰り返すことにより必要な時間のシミュレーションを実行する。シミュレーション結果は、変数値時間時歴記憶部105に保存され、シミュレーション終了後の分析などに利用される。
【0040】
図7は、以上のように図1を参照して説明した機構シミュレータと、機構制御ソフトウエアとの連携を示す構成図である。図7において、機構シミュレータ(ハイブリッドシミュレーション部101)はブラックボックスとして簡易に示してある。
【0041】
機構制御ソフトウエア(ないしは機構制御ソフトウェアシミュレータ)108は、シミュレーションの対象である機構の構成要素である例えばモータや、ソレノイドなどのアクチュエータへの動作コマンドを制御信号106として与える。これに応じてハイブリッドモデルシミュレーション部101はシミュレーション動作し、対象とする機構に設けられたフォトセンサーなどのセンサー情報を中心に必要なデータを生成して機構制御ソフトウエア108に送る。このような連携動作により、機構制御ソフトウエア108は、機構シミュレータ107との間で実機の機構と授受するものと同じデータを適正なタイミングで擬似的にやりとりすることができ、実機が存在しない状況におけるソフトウエアの検証作業などを実現できるようになる。
【0042】
図8は、図7の構成に対しさらにキネマティクスシミュレーション部109を加えた場合を説明している。この図8の構成によれば、機構シミュレータ(ハイブリッドモデルシミュレーション部101)は、キネマティクスシミュレーション部109に基づいて、例えばモータの軸の角度が時間的にどのように変化するかといった運動理論的解析情報をさらに求めることができる。各時間ステップにおいて、キネマティクスシミュレーション部109は、求まったモータの角度などから機構の姿勢などを計算することもできる。これにより、機構シミュレータ側では、例えばロボットのアームがフォトセンサーの光ビームを遮っていないかどうかなどの判定を行うことができる。つまり、3次元空間において複雑形状を有する機構物体が運動するような場合に、センサーの状態などを効率的に計算することができる。なお、キネマティクスシミュレーション部109の具体的な実現方法やこれに必要な要素技術に関しては、本願発明と同一出願人による出願に係る特開2000−137740公報、特開2001−282877公報、特開2002−215697公報等の記載が参考になる。
【0043】
また、市販の機構解析ソフトウエアや3次元CADの機構シミュレーション機能などを利用することも可能である。また、図8の構成に関し、ハイブリッドモデルのようなモデル記述言語で機構の挙動をモデル化する機能は提供されていないが、特開2001−222572公報に記載の技術も参考にすることができる。
【0044】
図9は、以上説明した本発明の第1実施形態に係るシミュレーションにおける一連の処理手順を示すフローチャートである。尚、この図9のフローチャートは、図8に示した構成、すなわちキネマティクスシミュレーション部109を備える構成におけるものである。
【0045】
まず、図1のモデル方程式制御情報解析部111および方程式構文解析部112はハイブリッドモデル記述104を入力して構文解析する(ステップ501)。そして、イベントの発生に伴う状態遷移の制御情報の記述に基づき、条件式とその条件式が成り立つ場合に成立する連続系方程式のID、およびこれに応じて無効になる連続系方程式のIDとを関連付けるテーブルを生成し、モデル方程式制御情報記憶部113に記憶させる。また、連続系方程式の記述の構文解析結果に基づき、同記述をシミュレーション実行可能なデータ構造に変換するとともに方程式データ記憶部114に登録する(ステップ502)。
【0046】
以上でシミュレーション実行のための前処理を終え、ここからシミュレーション実行の段階に移る。まずは機構制御ソフトウエアシミュレータ108等から与えられる制御信号106の受信処理を行う(ステップ503)。ここで、必要であれば、受信した制御信号に基づく値を適宜、変数に代入する。次に、状態変化の必要有無をステップ504にて判定する。状態変化が必要な場合、連続系方程式切り替え部115は、該当する連続系方程式について、その有効・無効のフラグを操作することにより、必要に応じて連続系方程式の切り替えを行なう(ステップ505)。
【0047】
次に、連続系シミュレーション部103は数値積分を実行する(ステップ506)。次に、ハイブリッドモデルシミュレーション部101とキネマティクスシミュレーション部109との間で通信処理を行う(ステップ507)。具体的には、ハイブリッドモデルシミュレーション部101とキネマティクスシミュレーション部109との間で、モータ角度情報やセンサー情報などのやりとりが行われる。なお、図7のようにキネマティクスシミュレーション部109を備えない構成の場合、このステップ507はスキップされる。
【0048】
次に、機構制御ソフトウエアシミュレータ108に対し機構シミュレータ側からセンサー情報などが送信される(ステップ508)。さらに、ステップ509にて終了判断を行ったのち、所定の終了条件が成立するまで時間を1ステップ進め(ステップ510)、ステップ503以降の処理手順を繰り返すことによりシミュレーション実行が行われる。
【0049】
ハイブリッドモデルシミュレーション部101が機構制御ソフトウエアシミュレータ108やキネマティクスシミュレーション部109と連携し、全体として効率的にシミュレーションが実行されるためには、専らハイブリッドモデル記述104の内容に応じた処理を行う504、505、および506の各ステップと、専らデータ送受信等を行う503、507、および508の各ステップとの間の実行順序が適切かつ効率的に制御されなければならない。ここで、既に述べたように従来では、ハイブリッドモデル記述言語の特性(どの行が最初に実行されるか分からない)に起因し、上記実行順序を適切かつ効率的に制御するようプログラミングするには、極めて高度なテクニックを要し、難易度の高い作業である。また、単なる変数の値を扱うのではなく、外部から得られた情報を変数に代入してからハイブリッドモデルの処理を行うなど、外部とのインターフェースに関わる特別な外部関数などを用意し、これらをモデルの作成者が記述しなければならない。
【0050】
これに対し本発明の実施形態によれば、ハイブリッドモデルシミュレーション実行部102が図9に示した一連の処理を実行するよう構成されていることから、上記のような問題を回避できる。すなわち、機構制御ソフトウエアシミュレータ108等の外部(プロセス)との間の通信に相当するソフトウェア部分は、ハイブリッドモデルとは独立して予め固定的に組み込まれている。このようなソフトウェアモジュールを俗に「(シミュレーション)エンジン」などと称し、本発明に従う一の実施形態として提供される。なお、外部から得られたデータをどの変数に代入するかは、ハイブリッドモデル記述104とは別個に入力しておくことになるが、ハイブリッドモデル記述104を作成する際には、外部から得られたデータが代入される変数名だけ理解しておけばよく、通信等の手順を何ら気にすることなくモデル作成(プログラミング)が可能になる。
【0051】
また、上述したように本実施形態によれば、シミュレーション実行に先立ってハイブリッドモデル記述104をまず解析し、必要となる連続系方程式のすべてをシミュレーションに適した形で登録しておくとともに、特に第1実施形態ではイベントの成立等に基づく状態遷移に係る実行制御のためのテーブルを生成しておく。シミュレーション時には連続系方程式切り替え部115が該テーブルを参照する。ここで、状態遷移に伴う方程式の切り替え(入れ替え)を行う必要があると判断した際には、該当する連続系方程式の有効・無効のフラグを操作(セット/リセット)することで簡単にこれを実現できる。このような仕組みによれば、シミュレーション中にモデル記述の構文解析やガーベジコレクション(Garbage Collection(GC):ごみ集め)処理などに起因するシミュレーション実行速度の低下を防ぐことが可能になる。このような第1実施形態の機構シミュレータは、内部的には上記のような本発明に固有の処理手順を実行するものであるが、外見的にはインタプリタライクである。例えば、上記テーブルや方程式データを記憶する記憶部113、114等はRAM等の記憶装置を用いて構成される。
【0052】
(第2実施形態)
次に本発明の第2実施形態を説明する。
【0053】
図10は本発明の第2実施形態に係る機構シミュレータの概略構成を示すブロック図である。第2実施形態の構成は、モデル方程式制御情報解析部111がハイブリッドモデル前処理部201としてハイブリッドモデルシミュレーション実行部102から独立した構成となっている点で第1実施形態とは異なっている。第2実施形態においては、ハイブリッドモデル記述104がまずハイブリッドモデル前処理部201により処理され、モデル方程式登録プログラム202およびモデル方程式制御プログラム203が生成される。また、ハイブリッドモデルシミュレーション実行部102を構成するソフトウェアモジュールとして、モデル方程式の登録を行うための関数および連続系方程式を切り替えるための関数がAPI(Application Program Interface)関数として提供される構成である。
【0054】
モデル方程式登録プログラム202およびモデル方程式制御プログラム203は、該当する上記API関数を呼び出す記述を、入力されたハイブリッドモデル記述104に沿って適切に組み合わせたプログラムであり、モデル方程式制御情報解析部111により生成される。この観点から考えると、ハイブリッドモデル前処理部201は、入力をハイブリッドモデル記述104とし、出力を例えばC言語のAPI関数呼び出しの記述を含むCプログラム(ソース)とするような、一種のコンパイラと考えることもできる。このようなモデル方程式登録プログラム202とモデル方程式制御プログラム203は、さらにC言語などのコンパイラによりコンパイルされ、例えば実行時に動的にリンク可能なライブラリが生成される。ハイブリッドモデルシミュレーション実行部102は、シミュレーション実行にあたっては、生成された動的リンクライブラリがリンクされ、これにより入力ハイブリッドモデルを忠実に再現するシミュレーションプログラムが完成し、実行可能になる。その実行時には、まず方程式構文解析部112を起動するAPI関数が呼ばれ、その後に連続系切り替えのAPI関数群が実行されてシミュレーションは遂行される。
【0055】
ここで、図1に示した構成の第1実施形態と、図10に示した構成の第2実施形態との相違点をより詳細に説明する。
【0056】
それぞれの実施形態において、ハイブリッドモデルシミュレーション部102のアプリケーションインターフェースを構成する具体的なソフトウエアモジュールの仕様などは様々考えられるが、ここでは説明の都合上、以下の3つのAPI関数が最低定義されているとする。なお、プログラミング言語はC言語とする。
【0057】
int XXX_AddEqnData(char *eqn, int *err)
int XXX_ActivateEqn(int eqnid)
int XXX_DeActivateEqn(int eqnid)
1つ目のAPI関数XXX_AddEqnDataは、1つの連続系方程式を表す文字列のポインタを引数に指定する。XXX_AddEqnDataは、この連続系方程式を構文解析し、上述した図9のようなデータ構造に変換し、かかる内部データ表現を方程式データ記憶部114に登録する処理を行う。この処理において何らかのエラーが発生した場合には、errにエラーコードがセットされる。正常に処理が終了した場合は、登録された方程式のID番号を返り値とする。
【0058】
2番目のAPI関数XXX_ActivateEqnは、引数に指定された方程式ID番号に相当する方程式を有効にする。もし、すでに有効となっている方程式が指定されている場合には何もしない。返り値はエラーコードである。
【0059】
3番目のAPI関数XXX_DeActivateEqnは、XXX_ActivateEqnとは逆に、引数に指定された方程式ID番号に相当する方程式を無効にする。すでに無効となっている方程式が指定された場合には何もしない。
【0060】
第1の実施形態においては、上述したようにモデル方程式制御情報解析部111によりハイブリッドモデル記述104から個々の方程式が抽出され、各々の方程式は更に方程式構文解析部112により複数の文字列に分解される。該方程式を構成する文字列はXXX_AddEqnDataに引数として渡される。これにより方程式データ記憶部114に該方程式の内部データ表現が登録、蓄積される。同時に、個々の方程式には、ユニークなID番号が割り当てられ、モデル方程式制御情報解析部111は、モデル制御情報記憶部113の内部データとして、条件式とその条件式が成り立つ場合に成立する方程式のIDおよび無効になる方程式IDとを表すテーブルを生成する。連続系方程式切り替え部115は、シミュレーション実行過程において定期的にこのテーブルを参照し、その内容を順番にすべてチェックする。ここで、条件式が成立した場合には該当する連続系方程式IDについて、該連続系方程式を有効化又は無効化するため、XXX_ActivateEqnないしはXXX_DeActivateEqnを呼び出す。
【0061】
これに対し第2実施形態においては、モデル方程式制御情報解析部111がXXX_AddEqnDataを必要な方程式について順に呼ぶ関数(InitEqnData)を生成する。これがモデル方程式登録プログラム202に相当する。
【0062】
また、モデル方程式制御情報解析部111は、シミュレーション実行の際に、時間がΔt進むごとに条件のチェックおよび方程式の変更(入れ替え)を行う関数(ChangeEqn)も生成する。これはモデル方程式制御プログラム203に相当する。第1実施形態では、これが内部のテーブルデータとそれを参照する方程式切り替えメカニズムであったのに対し、第2実施形態では上記のように具体的なソースプログラムの形態で実現されている。例えば、図5に示したハイブリッドモデル例について、以下のようなC言語のソースプログラムが自動生成される。
【0063】
Figure 0003940665
Figure 0003940665
なお、GetEventは、名前で指定されたイベントが生起しているかどうかをチェックする関数である。以上のプログラムは、上述したようにC言語のコンパイラによってコンパイルされ、さらに動的リンクライブラリの形式に整えられ、実行時にリンクされる。このように(ソース)プログラムが自動生成される本実施形態の場合、同ソースプログラム中に、eqn1idとeqn2idの宣言がなされており、2つの方程式しか出現してないことが明記されているから、実行時に割り当てるメモリ量を、これら2つの方程式分について十分に用意すればよいことがわかる点で好ましい。なお、第1実施形態では、シミュレーション開始後にモデル制御情報記憶部113の内部データであるテーブルを原則的には拡張しない。シミュレーション開始前に最初にテーブルを生成する際には、モデル方程式制御情報解析部111から得られたテーブルの大きさに従って、該テーブルを保持するのに必要なメモリを確保すればよい。
【0064】
なお、本発明は上述した実施形態に限定されず種々変形して実施可能である。
【0065】
【発明の効果】
以上説明したように、本発明によれば、ハイブリッドモデルを用いて複雑な機構系を簡便かつ正確にモデル化でき、該機構系を制御する制御ソフトウエアとの連携シミュレーションにも好適なシミュレーション方法およびプログラムを提供できる。
【図面の簡単な説明】
【図1】本発明の第1実施形態に係る機構シミュレータの概略構成を示すブロック図
【図2】ハイブリッドモデル記述を説明するための具体例に係るシリンダ装置のある状態を示す図
【図3】ハイブリッドモデル記述を説明するための具体例に係るシリンダ装置の別の状態を示す図
【図4】ハイブリッドモデル記述を説明するための具体例に係るシリンダ装置の状態遷移を示す図
【図5】ハイブリッドモデル記述の内容を示す図
【図6】1つの連続系方程式を構文解析した結果得られる内部データ構造の説明図
【図7】機構制御ソフトウエアと機構シミュレータの連携を示す構成図
【図8】キネマティクスシミュレーション部を含む場合の構成図
【図9】機構シミュレーションの処理手順を示すフローチャート
【図10】本発明の第2実施形態に係る機構シミュレータの概略構成を示すブロック図
【符号の説明】
101…機構シミュレータ(ハイブリッドシミュレーション部)
102…ハイブリッドシミュレーション実行部
103…連続系シミュレーション部
104…ハイブリッドモデル記述
105…変数値時間履歴記憶部
106…制御信号
111…モデル方程式制御情報解析部
112…方程式構文解析部
113…モデル方程式制御情報記憶部
114…方程式データ記憶部
115…連続系方程式切り替え部

Claims (10)

  1. ハイブリッドモデルを利用して、対象とする機構の挙動を時間軸に沿ってシミュレーションするハイブリッドシミュレーション装置であって、
    前記ハイブリッドモデルの記述データを解析し、状態遷移に伴う連続系方程式の切り替えに関する記述と、前記ハイブリッドモデルの記述データ中に出現する連続系方程式の記述とを抽出すると共に、該状態遷移に伴う連続系方程式の切り替えに関する記述から、該連続系方程式の切り替えが必要となる条件及び対象となる連続系方程式の関係を表すテーブルを生成するモデル方程式制御情報解析部と、
    前記モデル方程式制御情報解析部において抽出された連続系方程式の記述から、該連続系方程式についての内部データ表現を生成する方程式構文解析部と、
    イベントの生起に応じて前記テーブルを参照し、前記条件に従って連続系方程式を有効なものに切り替える連続系方程式切り替え部と、
    前記連続系方程式切り替え部において切り替えられた連続系方程式に対応する前記内部データ表現を用い、前記時間軸に沿った数値積分により該連続系方程式を解いて前記機構の挙動を表すデータを出力する連続系シミュレーション部と、
    を具備することを特徴とするハイブリッドシミュレーション装置
  2. 前記連続系方程式切り替え部は、少なくとも一つの前記連続系方程式について、該連続系方程式が有効であるか否かを表すフラグを操作することにより、該連続系方程式を有効なものに切り替えることを特徴とする請求項1に記載のハイブリッドシミュレーション装置
  3. 前記イベントは、前記機構を制御する機構制御ソフトウェアを含む外部からの制御信号又は所定の内部変数の評価結果を含むことを特徴とする請求項1又は2に記載のハイブリッドシミュレーション装置
  4. 前記連続系シミュレーション部における数値積分の演算結果に基づいてキネマティックスシミュレーションを実行するキネマティックスシミュレーション部をさらに具備することを特徴とする請求項1乃至3のいずれかに記載のハイブリッドシミュレーション装置
  5. ハイブリッドモデルを利用して、対象とする機構の挙動を時間軸に沿ってシミュレーションするハイブリッドシミュレーション装置であって、
    前記ハイブリッドモデルの記述データを解析し、状態遷移に伴う連続系方程式の切り替えに関する記述と、前記ハイブリッドモデルの記述データ中に出現する連続系方程式の記述とを抽出する共に、該連続系方程式の記述に基づいて、第1のプログラムを生成し、前記状態遷移に伴う連続系方程式の切り替えに関する記述に基づいて、第2のプログラムを生成するモデル方程式制御情報解析部と、
    前記第1のプログラムを実行することにより、前記連続系方程式についての内部データ表現を生成する方程式構文解析部と、
    前記第2のプログラムを実行することにより、イベントの生起に応じて前記条件に従って連続系方程式を有効なものに切り替える連続系方程式切り替え部と、
    前記連続系方程式切り替え部において切り替えられた連続系方程式に対応する前記内部データ表現を用い、前記時間軸に沿った数値積分により該連続系方程式を解いて前記機構の挙動を表すデータを出力する連続系シミュレーション部と、
    を具備することを特徴とするハイブリッドシミュレーション装置
  6. 前記連続系方程式切り替え部は、少なくとも一つの前記連続系方程式について、該連続系方程式が有効であるか否かを表すフラグを操作することにより、該連続系方程式を有効なものに切り替えることを特徴とする請求項5に記載のハイブリッドシミュレーション装置
  7. 前記イベントは、前記機構を制御する機構制御ソフトウェアを含む外部からの制御信号又は所定の内部変数の評価結果を含むことを特徴とする請求項5又は6に記載のハイブリッドシミュレーション装置
  8. 前記連続系シミュレーション部における数値積分の演算結果に基づいてキネマティックスシミュレーションを実行するキネマティックスシミュレーション部をさらに具備することを特徴とする請求項5乃至7のいずれかに記載のハイブリッドシミュレーション装置
  9. ハイブリッドモデルを利用して、対象とする機構の挙動を時間軸に沿ってシミュレーションするシミュレーションプログラムであって、
    前記ハイブリッドモデルの記述データを解析し、状態遷移に伴う連続系方程式の切り替えに関する記述と、前記ハイブリッドモデルの記述データ中に出現する連続系方程式の記述とを抽出する解析手順と、
    前記解析手順において抽出された状態遷移に伴う連続系方程式の切り替えに関する記述から、該連続系方程式の切り替えが必要となる条件及び対象となる連続系方程式の関係を表すテーブルを生成するテーブル生成手順と、
    前記解析手順において抽出された連続系方程式の記述から、該連続系方程式についての内部データ表現を生成する内部データ表現生成手順と、
    イベントの生起に応じて前記テーブルを参照し、前記条件に従って連続系方程式を有効なものに切り替える切り替え手順と、
    前記切り替え手順において切り替えられた連続系方程式に対応する前記内部データ表現を用い、前記時間軸に沿った数値積分により該連続系方程式を解いて前記機構の挙動を表すデータを出力するシミュレーション実行手順と、
    をコンピュータに実行させるためのシミュレーションプログラム。
  10. ハイブリッドモデルを利用して、対象とする機構の挙動を時間軸に沿ってシミュレーションするシミュレーションプログラムであって、
    前記ハイブリッドモデルの記述データを解析し、状態遷移に伴う連続系方程式の切り替えに関する記述と、前記ハイブリッドモデルの記述データ中に出現する連続系方程式の記述とを抽出する解析手順と、
    前記解析手順において抽出された連続系方程式の記述に基づいて、第1のプログラムを生成する第1生成手順と、
    前記解析手順において抽出された状態遷移に伴う連続系方程式の切り替えに関する記述に基づいて、第2のプログラムを生成する第2生成手順と、
    前記第1生成手順において生成された第1のプログラムを実行することにより、前記連続系方程式についての内部データ表現を生成する手順と、
    前記第2生成手順において生成された第2のプログラムを実行することにより、イベントの生起に応じて前記条件に従って連続系方程式を有効なものに切り替える切り替え手順と、
    前記切り替え手順において切り替えられた連続系方程式に対応する前記内部データ表現を用い、前記時間軸に沿った数値積分により該連続系方程式を解いて前記機構の挙動を表すデータを出力するシミュレーション実行手順と、
    をコンピュータに実行させるためのシミュレーションプログラム。
JP2002344228A 2002-11-27 2002-11-27 ハイブリッドシミュレーション装置およびプログラム Expired - Lifetime JP3940665B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2002344228A JP3940665B2 (ja) 2002-11-27 2002-11-27 ハイブリッドシミュレーション装置およびプログラム
US10/721,544 US20040158442A1 (en) 2002-11-27 2003-11-26 Simulation method, apparatus, and computer program using hybrid model
CNB2003101186527A CN1242327C (zh) 2002-11-27 2003-11-27 仿真方法和仿真装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002344228A JP3940665B2 (ja) 2002-11-27 2002-11-27 ハイブリッドシミュレーション装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2004178300A JP2004178300A (ja) 2004-06-24
JP3940665B2 true JP3940665B2 (ja) 2007-07-04

Family

ID=32705781

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002344228A Expired - Lifetime JP3940665B2 (ja) 2002-11-27 2002-11-27 ハイブリッドシミュレーション装置およびプログラム

Country Status (3)

Country Link
US (1) US20040158442A1 (ja)
JP (1) JP3940665B2 (ja)
CN (1) CN1242327C (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004220566A (ja) * 2002-12-26 2004-08-05 Toshiba Corp 機構シミュレーション方法および機構シミュレーションプログラム
GB0423110D0 (en) * 2004-10-18 2004-11-17 Manthatron Ip Ltd Acting on a subject system
US7822592B2 (en) * 2004-10-18 2010-10-26 Manthatron-Ip Limited Acting on a subject system
JP4413891B2 (ja) * 2006-06-27 2010-02-10 株式会社東芝 シミュレーション装置およびシミュレーション方法並びにシミュレーションプログラム
JP2008243042A (ja) * 2007-03-28 2008-10-09 Toshiba Corp ハイブリッドモデルのシミュレーション装置、方法及びプログラム
JP5091520B2 (ja) * 2007-03-28 2012-12-05 株式会社東芝 ハイブリッドモデルシミュレーション装置
JP2009104388A (ja) * 2007-10-23 2009-05-14 Toshiba Corp シミュレーション再生表示装置及びシミュレーション再生表示方法並びにシミュレーションプログラム
JP5278904B2 (ja) * 2009-03-24 2013-09-04 インターナショナル・ビジネス・マシーンズ・コーポレーション ハイブリッド・システムのシミュレーション方法及びシミュレーション・プログラム
US20110054873A1 (en) * 2009-08-31 2011-03-03 Siemens Product Lifecycle Management Software Inc. System and method for creation of function-based mechatronic objects
JP5208891B2 (ja) * 2009-09-07 2013-06-12 株式会社東芝 ハイブリッドモデルシミュレーション装置および方法
JP5843230B2 (ja) * 2011-06-17 2016-01-13 国立大学法人京都大学 ハイブリッドシステムの検証方法、検証装置、及び検証コンピュータプログラム、並びに、ハイブリッドシステムのモデル変換方法、変換装置、及び変換コンピュータプログラム
TWI525543B (zh) * 2013-11-20 2016-03-11 財團法人資訊工業策進會 混合式動態碼編譯裝置、方法及其服務系統
JP6485537B1 (ja) * 2017-12-28 2019-03-20 横河電機株式会社 装置、方法、およびプログラム
GB2623651A (en) 2019-06-10 2024-04-24 Fisher Rosemount Systems Inc Automatic load balancing and performance leveling of virtual nodes running real-time control in process control systems
US11599100B2 (en) 2019-06-10 2023-03-07 Fisher-Rosemount Systems, Inc. Ease of node switchovers in process control systems
US11231701B2 (en) 2019-06-10 2022-01-25 Fisher-Rosemount Systems, Inc. Publish/subscribe protocol for real-time process control
GB2589661A (en) 2019-06-10 2021-06-09 Fisher Rosemount Systems Inc Virtualized real-time I/O in process control systems
US11249464B2 (en) 2019-06-10 2022-02-15 Fisher-Rosemount Systems, Inc. Industrial control system architecture for real-time simulation and process control
RU2757409C1 (ru) * 2020-06-19 2021-10-15 Акционерное общество "Лаборатория Касперского" Эмулятор и способ эмуляции
CN113672207B (zh) * 2021-09-02 2024-03-26 北京航空航天大学 一种x语言混合模型建模系统、方法及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5831853A (en) * 1995-06-07 1998-11-03 Xerox Corporation Automatic construction of digital controllers/device drivers for electro-mechanical systems using component models
JP3802297B2 (ja) * 1999-11-10 2006-07-26 株式会社東芝 ヘッド位置決め制御システム及びディスク記憶装置
JP3866595B2 (ja) * 2002-03-15 2007-01-10 株式会社東芝 ハイブリッドモデル作成装置及びプログラム
US20040181380A1 (en) * 2002-12-26 2004-09-16 Mitsunobu Yoshida Simulation method and program product
JP2004220566A (ja) * 2002-12-26 2004-08-05 Toshiba Corp 機構シミュレーション方法および機構シミュレーションプログラム

Also Published As

Publication number Publication date
CN1242327C (zh) 2006-02-15
CN1503188A (zh) 2004-06-09
JP2004178300A (ja) 2004-06-24
US20040158442A1 (en) 2004-08-12

Similar Documents

Publication Publication Date Title
JP3940665B2 (ja) ハイブリッドシミュレーション装置およびプログラム
Rouson et al. Scientific software design: the object-oriented way
Schumacher et al. Formal representation of GRAFCET to automatically generate control code
US8046202B1 (en) Generation of intermediate representations based on user specified elements in a graphical model that enable simulation, propagation and code generation
Hadj et al. An interoperability process between CAD system and CAE applications based on CAD data
Jayasekera et al. Assembly validation in virtual reality—a demonstrative case
Denil et al. Explicit semantic adaptation of hybrid formalisms for FMI co-simulation
JP2004220566A (ja) 機構シミュレーション方法および機構シミュレーションプログラム
Liu et al. Virtual assembly with physical information: a review
Molesini et al. Simulation in agent-oriented software engineering: The SODA case study
CN100498817C (zh) 模拟方法
US20220019414A1 (en) Method for merging architecture data
US20210096830A1 (en) Incremental code generation method
JP4564255B2 (ja) シミュレーション装置
Abdel-Hamid et al. A tool converting finite state machine to VHDL
US9841954B1 (en) Method and system for automatic code generation
Johansson et al. A system for information management in simulation of manufacturing processes
Whitsitt et al. Message modeling for the joint architecture for unmanned systems (JAUS)
Cleaveland Programming is modeling
Wang et al. Study on integrated modeling methods toward co-simulation of cyber-physical system
Wiśniewski et al. Hippo-CPS: A Tool for Verification and Analysis of Petri Net-Based Cyber-Physical Systems
Guedelha et al. A Flexible MATLAB/Simulink Simulator for Robotic Floating-base Systems in Contact with the Ground: Theoretical background and Implementation Details
Xiang et al. Multi-disciplinary modeling and collaborative simulation of multi-robot systems based on HLA
WO2011036768A1 (ja) シミュレーション装置
Lopez et al. Study of framework based on roles for application development of service robots

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040609

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070213

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: 20070320

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070402

R151 Written notification of patent or utility model registration

Ref document number: 3940665

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20100406

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110406

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130406

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140406

Year of fee payment: 7

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term