JP3866595B2 - ハイブリッドモデル作成装置及びプログラム - Google Patents

ハイブリッドモデル作成装置及びプログラム Download PDF

Info

Publication number
JP3866595B2
JP3866595B2 JP2002073212A JP2002073212A JP3866595B2 JP 3866595 B2 JP3866595 B2 JP 3866595B2 JP 2002073212 A JP2002073212 A JP 2002073212A JP 2002073212 A JP2002073212 A JP 2002073212A JP 3866595 B2 JP3866595 B2 JP 3866595B2
Authority
JP
Japan
Prior art keywords
state
state transition
data
hybrid
hybrid model
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
JP2002073212A
Other languages
English (en)
Other versions
JP2003271679A (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 JP2002073212A priority Critical patent/JP3866595B2/ja
Priority to US10/388,663 priority patent/US20030195726A1/en
Publication of JP2003271679A publication Critical patent/JP2003271679A/ja
Application granted granted Critical
Publication of JP3866595B2 publication Critical patent/JP3866595B2/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
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、機械やプラント等の挙動シミュレーションに用いられるハイブリッドモデルを作成するためのハイブリッドモデル作成方法及びプログラムに関する。
【0002】
【従来の技術】
近頃、コンピュータを用いて機械やプラント等の挙動のシミュレーションを行う際に、ハイブリッドモデリングと呼ばれる手法が使われ始めている。ハイブリッドモデルを用いたシミュレーションを「ハイブリッドシミュレーション」と呼び、このようなシミュレーション挙動をするシステムを「ハイブリッドシステム」と呼ぶ。ハイブリッドモデルは、概念的には常微分方程式や代数方程式を連立させた連立方程式を用いてシステム構成要素の状態を表現するための連続系モデルと、このような連続系モデルによって表現された状態の、イベント発生(成立)に伴う状態遷移を表現するための状態遷移モデルとを組み合わせたモデルである。すなわちハイブリッドモデルは、連続系モデルで表現される状態が外部からのイベントなどにより瞬時に切り替わるシステムを表現するモデルである。
【0003】
ハイブリッドモデルを記述するための言語として米国ゼロックス社のパロアルト研究所にて創作されたHCC(Hybrid Concurrent Constraint Programming)と呼ばれる言語がある。HCCは発展途上にあり、現在も米国NASAのエイムズ研究所において研究が進められている。HCCは制約処理プログラミング(コンストレイントプログラミング)と呼ばれる技術の一種であり、連続系モデルを表現する常微分方程式や代数方程式を制約として扱い、これら方程式をそのまま順不同で記述することができる。このような制約記述に、状態遷移を制御する記述を付加してハイブリッドモデルは完成される。
【0004】
このようなHCCは、方程式をそのまま制約として羅列できるという利便性や複雑なモデルを記述することも可能であるといった利点を有している。しかし、HCCはプログラミング言語の一種であることから、他のプログラミング言語と同様に言語仕様等の十分な理解が必要である。そしてHCCはとりわけプログラム言語として難解であるとされており、HCCプログラムの作成、すなわちハイブリッドモデルの作成を行なうための能力の習得が困難である。
【0005】
他の従来技術として、ハイブリッドモデルと等価的なモデルを記述可能な技術があり、例えばMathWorks社のMatlab製品群は、制御系の技術者などを中心によく使われているソフトウエアツールである。しかし、これらソフトウェアツールにおいては例えば常微分方程式をそのまま記述することまでは行えない。このため常微分方程式の内容を分析し、これを積分要素などの要素を組み合わせたブロック線図として定義しなおす必要がある。尚、ハイブリッドモデルとは直接的な関係はないが、常微分方程式で表現される系のシミュレーションを行う際に、似かよったアプローチでブロック線図を用いる例として、たとえば特開平7−160673号公報記載の解析装置が公知である。
【0006】
【発明が解決しようとする課題】
HCCのような特殊なプログラミング言語についての深い知識がなく、制御設計者が通常行うブロック線図による系の表現などに不慣れな技術者(特に機械技術者など)であっても、直感的かつ容易にハイブリッドモデルを作成できることが好ましい。機械技術者などは、対象とする機構などの挙動を常微分方程式で記述することには慣れている。また、例えば搬送系において製品が次々にベルトコンベアに受け渡されるような場合のように、系の状態が遷移する様子(例えばベルトAで搬送されている状態からベルトBで搬送されている状態へ遷移することなど)を具体的に列挙することにも特に問題はない。しかしながら、これらの情報をもとにHCC言語によるプログラムを作成したり、ブロック線図で常微分方程式を記述するといった作業段階では、対象製品とは直接関係のないプログラミング能力やモデル記述能力が必要となり、その習得は難易度が高く、大いに熟練を要するのである。
【0007】
本発明はかかる事情を考慮してなされたものであり、その目的は、熟練を要することなくユーザが直感的かつ容易にハイブリッドモデルを作成できるよう支援を行うためのハイブリッドモデル作成方法及びプログラムを提供することにある。
【0008】
【課題を解決するための手段】
上記課題を解決し目的を達成するために本発明は次のように構成されている。
【0009】
本発明に係るハイブリッドモデル作成方法は、状態遷移図形式又は状態遷移表形式の入力データからハイブリッドモデル形式のデータを作成するハイブリッドモデル作成方法であって、状態を定義するための連続系方程式の記述を前記入力データから抽出し、これを前記ハイブリッドモデル形式の第1データに変換する連続系変換ステップと、離散的なイベントの発生に伴う状態遷移を前記入力データから抽出し、これを前記ハイブリッドモデル形式の第2データに変換する状態遷移変換ステップと、前記第1データと第2データとを組み合わせて前記ハイブリッドモデル形式のデータを生成する生成ステップと、を具備することを特徴とする。
【0010】
また、本発明に係るプログラムは、状態遷移図形式又は状態遷移表形式の入力データからハイブリッドモデル形式のデータを作成するハイブリッドモデル作成プログラムであって、コンピュータに、状態を定義するための連続系方程式の記述を前記入力データから抽出し、これを前記ハイブリッドモデル形式の第1データに変換する連続系変換機能と、離散的なイベントの発生に伴う状態遷移を前記入力データから抽出し、これを前記ハイブリッドモデル形式の第2データに変換する状態遷移変換機能と、前記第1データと第2データとを組み合わせて前記ハイブリッドモデル形式のデータを生成する生成機能、を実現させるためのプログラムである。
【0011】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態を説明する。
【0012】
図1は、本発明の一実施形態に係るハイブリッドモデル作成装置の概略構成を示すブロック図である。この装置は汎用のコンピュータ(例えばパーソナルコンピュータ(PC)など)と、同コンピュータ上で動作するソフトウェアとを用いて実現される。コンピュータとしては、CADやCAEに好適なエンジニアリングワークステーション(EWS)なども含む。本発明はこのようなコンピュータに、ハイブリッドモデル作成に係る一連の手続きを実行させるプログラムとして実施することもできる。
【0013】
図1に示すように、本実施形態のハイブリッドモデル作成装置は、ディスプレイ201、キーボード202、マウス203等からなる入出力デバイスと、CPU(不図示)およびメモリ209や二次記憶装置205等を含む処理部204とにより構成されている。処理部204は状態定義部206、連続系方程式入力部207、状態遷移定義部208、ハイブリッドモデル出力部210を含む。これらは、コンピュータを構成するハードウェアと協働するソフトウェアとして実現され、良く知られたオペレーティングシステムの下で動作する。状態定義部206、連続系方程式入力部207、状態遷移定義部208により状態遷移図形式の入力データがメモリ209上に生成される。この入力データはハイブリッドモデル出力部210がメモリ209にアクセスすることで読み出され、後述する手続きによりハイブリッドモデル形式のデータに変換され、二次記憶装置205に出力される。
【0014】
図2は、本実施形態のハイブリッドモデル作成装置によるハイブリッドモデル作成手順を示すフローチャートである。まず処理種別判定ステップ(S101)では、マウス203やキーボード202などの入力デバイスからの情報、既に入力済みのデータ等をもとに、ユーザが希望する処理の種別を判定する。本実施形態では、処理種別は、すくなくとも、状態定義ステップ(S102)、連続系方程式入力ステップ(S103)、状態遷移定義ステップ(S104)からなるものとする。ステップ(S101)において判定された処理種別に応じて、上記(S102)、(S103)、(S104)のいずれかが起動される。ユーザは起動された処理に応じた入力編集操作をディスプレイ201での表示の下にマウス203やキーボード202を操作しながら行う。上記(S102)、(S103)、(S104)の処理を全て終えることで後のステップS301以降においてハイブリッドモデルを完成することができる。ハイブリッドモデルが完成したらステップS105においてこれを出力するか否かについてユーザに問い合わせる。なお、例えば連続方程式入力ステップ(S103)を行わないうちにステップS301以降の処理に移行してもよく、この場合は連続方程式に該当する記述のないハイブリットモデルが出力されることになる。
【0015】
連続系変換ステップ(S300)および状態遷移変換ステップ(S301)は、上記(S102)、(S103)、(S104)により状態遷移図形式で入力されたデータをハイブリッドモデルに変換する手続きである。これにより作成されたハイブリッドモデルのデータは、ファイル205に出力される。
【0016】
以下では、状態遷移図形式の入力データに基づいてハイブリッドモデルがどのように作成されるかについて、具体的な例題を挙げて説明する。図3乃至図6は例題に係る機械装置およびその状態変化を示す図である。この機械装置は主たる構成要素であるシリンダにバルブ301、ピストン302、バネ303等が配置された簡素なメカニズムである。バルブ301は図示のようにピストン302により隔てられたシリンダの領域間を結ぶパイプに作用する。すなわち、バルブ301は外部からの運転操作指令に応じて、外部からパイプに供給された空気の流れを図の紙面右側または左側に変更する。この運転操作指令は外部イベントに相当するのであり、それぞれ「Right」および「Left」と記す。ピストン302はパイプから供給された空気圧力、あるいはバネ303からの弾性力を受けてシリンダ内を移動する。なお、バネ303の一端はシリンダの内壁に固定されており、他端は解放されている。このような本例の機械装置が図3乃至図6に示す4つの状態を取る場合を考える。まず図3に示す状態では、バルブ301への運転操作指令はRightであり、ピストン302には左向きの空気圧力が働いている。この状態におけるピストン302についての運動方程式は「−F=mx’’」である(マイナスは図の紙面左方向である)。図4は、ピストン302が移動してバネ303に接触したときの状態を示している。この状態においては、バネ303からの反力が発生するから、ピストン302についての運動方程式は「−F−kx=mx’’」であり、図3のものから変化している。
【0017】
図5は運転操作指令がRightからLeftに変更されたときの状態であって、空気の流れの向きが変わり、運動方程式がさらに「F−kx=mx’’」に変化している。図6は、図5の状態からさらにピストン302が移動してバネ303からの反力が消失したときの状態を示している。この状態では運動方程式が「F=mx’’」に変化している。
【0018】
図7は、このような例題の機械装置における4つの状態変化と、それぞれの状態に対応するピストン302についての運動方程式を状態遷移図として表現したものを示している。本発明に従って作成するハイブリッドモデルは、概念的にはこの図に示されるような状態遷移と、各状態の記述が常微分方程式(あるいは代数方程式;これらは連立されてもよい)との両者を含む状態遷移図表現の入力データに対し後述する変換処理を施すことで作成される。図8は、このような状態遷移図表現の入力データがどのように変換され、ハイブリッドモデルの記述として出力されるかを分かりやすく説明するために、図7をさらに簡略化したものである。ここでは2つの状態とその間の状態遷移のみを考える。
【0019】
図9は図8の状態遷移図表現の入力データをHCC言語記述に変換した例を示している。図9に示す(1)(2)(5)の各ステートメントは、本例の機械装置の初期状態やバルブ操作タイミングなどの運転条件を記述したものである。(3)および(4)のステートメントが図8の状態遷移表現に対応している。HCC言語では、上述したようにプログラム中で運動方程式をそのまま記述することができる。また、各々の状態へ遷移するための前提条件を文頭における「always if」に続けて記述し、また各々の状態から次状態へ遷移するための条件を文末尾における「watching」に続けて記述することができる。ハイブリッドモデル出力部210は、このようなHCC言語に固有の「alwaysif」や「watching」などの表現を自動的に追加する。なお、本発明によるハイブリッドモデル作成は、ハイブリッドコンストレイントプログラミング言語としてのHCC言語のみに限定されず、HCC言語と等価的な機能を備える他のプログラミング言語を対象に実施することも可能である。
【0020】
ハイブリッドコンストレイントプログラミング言語では、図9のようなプログラム中の記述順序(図9の(1)〜(5)の順序)で各ステートメントが逐次に実行されるわけではない。言い替えれば、シミュレーションを実行する時間軸に沿って成立するステートメントが探索され、順不同にて実行される。つまり、プログラムにおけるステートメント(1)〜(5)の記述順序はその実行順序とは関係がない。たとえば、シミュレーションを開始した時点では、(1)と(5)のみが有効である(成立している)。同開始時点でイベント「Right」(図9のe1)がステートメント(1)により発生しているので、ステートメント(4)の前提条件であるイベント「Right」(e4)が真であり、同ステートメント(4)の運動方程式f2が有効である。つまり、図8の紙面左側に示す状態を初期状態としてシミュレーションが実行開始されることになる。
【0021】
図9のHCC言語記述のプログラムによると、時間が「50」になるとステートメント(2)が有効になり、イベント「Left」(e2)が発生する。これに伴い、ステートメント(4)の条件(「watching」に続いて記述されたイベントe6)が有効になるとともに同ステートメント(4)の運動方程式f2が無効となる。代わって、ステートメント(3)の前提条件(イベントe3)が真となり、運動方程式f1が有効となる。
【0022】
図8のような状態遷移図表現の入力データを図9のようなHCC言語(ハイブリッドコンストレイントプログラミング言語)で記述されたハイブリッドモデルに変換する具体的な手順は一例として次のようなものである。すなわち、先ず図2に示す連続系変換ステップ(S300)において、状態遷移図表現の入力データにおけるそれぞれの状態の記述である常微分連立方程式を抽出し、HCC言語のハイブリッドモデル形式のデータに転記する。この作業は図1のメモリ209を利用して行われる。なお、HCC言語においては上述のようにステートメントの記述順序は意味をなさないので、転記においてはこれを考慮する必要はない。
【0023】
また、連続系変換ステップ(S300)においては、複数の常微分方程式が連立されている場合に、これを個別の方程式に分解し、所定の書式に変換する。例えば、図9の運動方程式f1が「y=0」と連立されている場合は、この運動方程式f1の部分を{f=m*x’’,y=0}という{}によって連立(二元、三元、あるいはそれ以上でもよい)を明記する書式とする。この書式においては、連立させる方程式は「,」(カンマ)によって区切られている。
【0024】
あるいは、図9のHCC言語記述に、新たに「(6) always if Left then do always y = 0 watching Right」というプログラム記述を加えることで、{}による連立を行わなくても同じ効果を得ることができる。これは、ステートメント(3)とこの新たに追加するステートメント(6)とは、その前提条件と遷移条件がまったく同じであり、ハイブリッドコンストレイントプログラミング言語の処理系がステートメント(3)とステートメント(6)の運動方程式を自動的に連立させることができるからである。
【0025】
次に、図2に示す状態遷移変換ステップ(S301)において、状態遷移図表現の入力データから、状態の遷移を起こすイベント(外部イベントと内部状態に起因する内部イベントの両方を含む)を抽出する。図8の例では、それぞれの状態において、自分の状態に遷移してくるための前提条件と自分の状態から他の状態へ遷移していく遷移条件とがそれぞれ1つずつしかないため、図9のステートメント(3)、(4)における前提条件(「always if」に続く箇所)と遷移条件(「watching」に続く箇所)にイベント名をそのまま転記すれば良い。これによりハイブリッドコンストレイントプログラミング言語への変換が終了する。しかし、図7の例では、状態遷移がより複雑である。例えばバルブ左のイベント「Left」が発生した場合、その前の状態が図7の上側であるのか下側であるかによって遷移先が異なる。このように同じイベントの発生であっても遷移前の状態によって遷移先が異なる場合には、イベントを区別する必要がある。今、図7上側の「バルブ左のイベント」を「Left1」、同図下側の「バルブ左のイベント」を「Left2」とする。さらに、状態を示す変数「state」を新たに導入する。そして、図7左上の状態で変数「state」は1、左下で2、右上で3、右下で4の値をとることにする。これを用いて、イベント「Left」が外部から発生した場合に、変数「state」により示される内部の状態に応じてイベント「Left1」または「Left2」を発生する。イベント「Left」に関わるプログラム記述は以下のようになる。
always if Left1 then always { F = m x’’, state = 3} watching {Right || NoContact}
always if Left2 then always { F − k x = m x’’, state = 4 } watching {Right || Contact}
always if (Left && state == 1) then Left1
always if (Left && state == 2) then Left2
但し、「NoContact」、「Contact」はバネの接触・非接触に関するイベントである。これらは「Left」のイベントと同様に考えることができるが、説明が複雑になるのでプログラムの全部は示さない。このように状態遷移変換ステップ(S301)では、同じイベントによって、結果として異なる状態に遷移するかどうかを判定し、そのような場合にはLeftをLeft1とLeft2に分解したように、イベントを内部イベントに分解して名前付け等を行う。
【0026】
なお、遷移条件が複雑になる場合には、中間遷移状態を導入する以下のような状態遷移変換手順を適用することも有効である。この場合の状態遷移変換ステップ(S301’)は、図7のような状態遷移について、図10に示すような中間状態を設定する。すべて状態からは「GoToNeutral」イベントによって中間状態に遷移する。これに加えて変数「PrevState」、「Eventtype」という変数を導入し、中間状態遷移前の状態を記憶しておく。このようにすると、
always if Right then do always Eventtype = Right watching {GoTo1 || GoTo2 || GoTo3 || GoTo4}
always if Left then do always Eventtype = Left watching {GoTo1 || GoTo2 || GoTo3 || GoTo4}
always if Contact then do always Eventtype = Contact watching {GoTo1 || GoTo2 || GoTo3 || GoTo4}
always if NoContact then do always Eventtype = NoContact watching {GoTo1 || GoTo2 || GoTo3 || GoTo4}
always if Goto1 then do always { prevState = 1, -F = m x’} watching GoToNeutral
always if Goto2 then do always { prevState = 2, -F −kx = m x’} watching GoToNeutral
always if Goto3 then do always { prevState = 3, F = m x’} watching GoToNeutral
always if Goto4 then do always { prevState = 4, F − k x = m x’} watching GoToNeutral
always if (GoToNeutral && Eventtype == NoContact && prevState == 2 ) then GoTo1
always if (GoToNeutral && Eventtype == Right && prevState == 3 ) then GoTo1
always if (GoToNeutral && Eventtype == Contact && prevState == 1 ) then GoTo2
always if (GoToNeutral && Eventtype == Right && prevState == 4 ) then GoTo2
always if (GoToNeutral && Eventtype == NoContact && prevState == 4 ) then GoTo3
always if (GoToNeutral && Eventtype == Left && prevState == 1 ) then GoTo3
always if (GoToNeutral && Eventtype == Contact && prevState == 3 ) then GoTo4
always if (GoToNeutral && Eventtype == Left && prevState == 2 ) then GoTo4
とすることにより、図7の状態遷移を表現できる。すなわち、まず、Rightなどの外部イベント、Contactなどの内部イベントそれぞれに対して、Eventtypeという状態変数を定義する。これら状態変数の値の設定処理を対応イベントと関連付けて生成する。これに相当するものとして例えば「always if Right then do always Eventtype = Right watching {GoTo1 || GoTo2 || GoTo3 || GoTo4}」は、このステップで生成されるプログラム記述である。次に、それぞれの状態に対して遷移してくる動作(図7のバルブ左などの矢印)を列挙し、それぞれの矢印に対して動作を表現する論理式を生成する。例えば、「always if (GoToNeutral && Eventtype == Contact && prevState == 3 ) then GoTo4」はそのような例であり、遷移前の状態と遷移をさせるイベントとの組になっている。このような表現をすべての矢印について列挙すればよい。
【0027】
以上のように、連続系変換ステップ(S300)および状態遷移変換ステップ(S301)によって、状態遷移図表現の入力データをHCC言語で記述されたハイブリッドモデルに変換できる。なお、入力データが状態遷移図表現ではなく状態遷移表の表現であってもよいことは言うまでもない。また、連続系変換ステップ(S300)および状態遷移変換ステップ(S301)の実行順序を逆にしてもよい。
【0028】
次に、状態遷移図表現の入力データから、ブロック線図形式のモデルを得て出力する場合について説明する。この場合、連続系変換ステップ(S300)及び状態遷移変換ステップ(S301)を図2のフローに従い実行してもよいが、ブロック線図形式のモデルを出力するのみとしてもよい。
【0029】
図11は、ある振動系の一例について、各々の状態における常微分方程式をブロック線図に変換した結果を示している。501に示されているようにM1及びM2を有する振動系は502のような常微分方程式で表現される。これをブロック線図で表現したものが503である。502の形式から503への変換については、よく知られているので説明を省略する。詳しくは、MathWorks社のSimulinkのソフトウェアマニュアルや特開平7−160673号公報の記載を参考することができる。
【0030】
ブロック線図形式のこのようなモデルは、GUIを構成する連続系方程式入力部207にて入力された常微分連立方程式の入力データを用いて作成される。このような本実施形態の処理は、HCC言語のように常微分方程式をそのまま記述することまでは行えないようなシミュレーションとの連繋に有効である。
【0031】
以下、処理部204により提供されるGUI(グラフィカルユーザインターフェース)の構成例および操作手順を図12乃至図16を参照して説明する。図12乃至図16に示す状態遷移の描画画面400はディスプレイ201に表示される。この画面400上においてユーザはマウス203の操作に対応するマウスポインタ404によって処理種別の指示や各種編集操作を行うことができる。処理種別は、本例では3つのメニューボタン、すなわち新規状態定義ボタン401、状態遷移定義ボタン402、モデル出力ボタン403とからなる。
【0032】
図12はユーザが新規状態定義ボタン401を選択し、画面400上の作業域に第1の状態を示す長方形(矩形)405aをマウス203を操作して描画した状態を示す。ユーザがマウスポインタ404を既に描画した長方形405aの領域内に移動させると、自動的に連続系方程式が入力可能な状態になる。ここでユーザはキーボード202を利用して運動方程式を図13に示すように入力する。
【0033】
図14はユーザが再度新規状態定義ボタン401を選択し、画面400上の作業域において第1の状態を示す長方形(矩形)405aに加えてさらに第2の状態を示す長方形(矩形)405bを描画し、運動方程式を入力した状態を示している。ここでユーザは、状態遷移定義ボタン402を選択すると、状態間の遷移を矢印で入力することができる(図15)。ここでの操作は例えば405aを指定しつつマウス203のドラッグ操作を行うことによる。さらに、指定された状態遷移が発生する前提条件として、矢印406aの近傍にイベント「Left」を入力することができる。図16は、さらに状態遷移を示す矢印406bを書き加えた状態を示している。
【0034】
ここで、ユーザがモデル出力ボタン403を選択すると、これまでの入力データが状態遷移図表現の入力データとして確定されるとともに、上述した変換処理が実行され、その結果(HCC言語等のハイブリッドモデル)が所定のファイル205に出力される。
【0035】
以上説明した本発明の実施形態によれば、コンピュータなどの画面上でグラフィカルなインターフェースを用いて状態遷移を記述することができる。また、それぞれの状態については常微分方程式や代数方程式を直接入力することができる。さらに、このようにして入力されたデータをもとに、HCC言語などのハイブリッドコンストレイントプログラミングのプログラム形式や、ブロック線図により常微分方程式を解く形式への変換出力を得ることができ、ハイブリッドモデルを極めて効率よく実行することが可能になる。
【0036】
したがって、HCCのような特殊なプログラミング言語についての深い知識がなく、制御設計者が通常行うブロック線図による系の表現などに不慣れな技術者(特に機械技術者など)であっても、直感的かつ容易にハイブリッドモデルを作成できる。
【0037】
なお、本発明は上述した実施形態に限定されず種々変形して実施可能である。
【0038】
【発明の効果】
以上説明したように、本発明によれば、熟練を要することなくユーザが直感的かつ容易にハイブリッドモデルを作成できるよう支援を行うためのハイブリッドモデル作成方法及びプログラムを提供できる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るハイブリッドモデル作成装置の概略構成を示すブロック図
【図2】実施形態のハイブリッドモデル作成装置によるハイブリッドモデル作成手順を示すフローチャート
【図3】ハイブリッドモデルの作成対象の例題である機械装置を示す図であって、その第1状態を示す図
【図4】ハイブリッドモデルの作成対象の例題である機械装置を示す図であって、その第2状態を示す図
【図5】ハイブリッドモデルの作成対象の例題である機械装置を示す図であって、その第3状態を示す図
【図6】ハイブリッドモデルの作成対象の例題である機械装置を示す図であって、その第4状態を示す図
【図7】例題の機械装置について、その4つの状態変化と、それぞれの状態に対応する運動方程式を状態遷移図として表現した図
【図8】実施形態で考慮する図7の簡略化を示す図
【図9】図8の状態遷移図表現の入力データをHCC言語記述に変換した例を示す図
【図10】状態遷移変換における中間状態の設定を説明する図
【図11】
【図12】 状態遷移図形式の入力データを編集するためのGUIを示す図であって、新規状態を定義した様子を示す図
【図13】 状態遷移図形式の入力データを編集するためのGUIを示す図であって、連続系方程式(常微分方程式)を入力した様子を示す図
【図14】 状態遷移図形式の入力データを編集するためのGUIを示す図であって、他の状態を定義した様子を示す図
【図15】 状態遷移図形式の入力データを編集するためのGUIを示す図であって、定義された2つの状態間の一方の遷移を定義する様子を示す図
【図16】 状態遷移図形式の入力データを編集するためのGUIを示す図であって、定義された2つの状態間の他方の遷移を定義する様子を示す図
【符号の説明】
201…ディスプレイ
202…キーボード
203…マウス
204…処理部
205…二次記憶装置
206…状態定義部
207…連続系方程式入力部
208…状態遷移定義部
209…メモリ
210…ハイブリッドモデル出力部

Claims (6)

  1. 状態遷移図形式又は状態遷移表形式の入力データからハイブリッドコンストレイントプログラミング言語のデータを作成するハイブリッドモデル作成装置であって、
    状態遷移の描画画面を表示し、複数の状態を定義する複数の常微分連立方程式と、離散イベントにより発生する前記複数の状態間の状態遷移とを含む前記入力データを前記描画画面上でユーザに入力させるためのユーザインターフェイスと、
    前記入力データから前記複数の常微分連立方程式の記述を抽出し、該複数の常微分連立方程式の記述を前記ハイブリッドコンストレイントプログラミング言語の第1のデータに変換する連続系変換手段と、
    前記入力データから状態遷移の記述を抽出し、該状態遷移の記述を前記ハイブリッドコンストレイントプログラミング言語の第2のデータに変換する状態遷移変換手段と、
    前記第1のデータと前記第2のデータとを組み合わせて前記ハイブリッドコンストレイントプログラミング言語のデータを出力する出力手段と、を具備することを特徴とするハイブリッドモデル作成装置。
  2. 前記状態遷移は、定義された前記状態について、他の状態から当該状態へ遷移する際の第1条件及び当該状態から他の状態へ遷移するための第2条件を含むことを特徴とする請求項1に記載のハイブリッドモデル作成装置
  3. 前記連続系方程式の記述により定義された複数の状態間で共通に遷移可能な中間状態を定義する手段と、
    前記中間状態への状態遷移、および当該中間状態からの状態遷移を引き起こすイベントを定義する手段と、をさらに具備することを特徴とする請求項1又は2のいずれか一項記載のハイブリッドモデル作成装置
  4. 状態遷移図形式又は状態遷移表形式の入力データからハイブリッドコンストレイントプログラミング言語のデータを作成するハイブリッドモデル作成プログラムであって、
    コンピュータに、
    状態遷移の描画画面を表示し、複数の状態を定義する複数の常微分連立方程式と、離散イベントにより発生する前記複数の状態間の状態遷移とを含む前記入力データを前記描画画面上でユーザに入力させるためのユーザインターフェイスと、
    前記入力データから前記複数の常微分連立方程式の記述を抽出し、該複数の常微分連立方程式の記述を前記ハイブリッドコンストレイントプログラミング言語の第1のデータに変換する連続系変換機能と、
    前記入力データから状態遷移の記述を抽出し、該状態遷移の記述を前記ハイブリッドコンストレイントプログラミング言語の第2のデータに変換する状態遷移変換機能と、
    前記第1のデータと前記第2のデータとを組み合わせて前記ハイブリッドコンストレイントプログラミング言語のデータを出力する出力機能、を実現させるためのハイブリッドモデル作成プログラム。
  5. 前記状態遷移は、定義された前記状態について、他の状態から当該状態へ遷移する際の第1条件及び当該状態から他の状態へ遷移するための第2条件を含むことを特徴とする請求項4に記載のハイブリッドモデル作成プログラム。
  6. 前記連続系方程式の記述により定義された複数の状態間で共通に遷移可能な中間状態を定義する機能と、
    前記中間状態への状態遷移、および当該中間状態からの状態遷移を引き起こすイベントを定義する機能と、をさらに具備することを特徴とする請求項4又は5のいずれか一項記載のハイブリッドモデル作成プログラム。
JP2002073212A 2002-03-15 2002-03-15 ハイブリッドモデル作成装置及びプログラム Expired - Fee Related JP3866595B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002073212A JP3866595B2 (ja) 2002-03-15 2002-03-15 ハイブリッドモデル作成装置及びプログラム
US10/388,663 US20030195726A1 (en) 2002-03-15 2003-03-17 Hybrid model generation method and program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002073212A JP3866595B2 (ja) 2002-03-15 2002-03-15 ハイブリッドモデル作成装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2003271679A JP2003271679A (ja) 2003-09-26
JP3866595B2 true JP3866595B2 (ja) 2007-01-10

Family

ID=28786120

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002073212A Expired - Fee Related JP3866595B2 (ja) 2002-03-15 2002-03-15 ハイブリッドモデル作成装置及びプログラム

Country Status (2)

Country Link
US (1) US20030195726A1 (ja)
JP (1) JP3866595B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011059789A (ja) * 2009-09-07 2011-03-24 Toshiba Corp ハイブリッドモデルシミュレーション装置および方法

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3940665B2 (ja) * 2002-11-27 2007-07-04 株式会社東芝 ハイブリッドシミュレーション装置およびプログラム
JP2004220566A (ja) * 2002-12-26 2004-08-05 Toshiba Corp 機構シミュレーション方法および機構シミュレーションプログラム
US7979243B1 (en) * 2005-05-13 2011-07-12 The Mathworks, Inc. System and method for graphical model processing
US10817628B1 (en) 2005-05-13 2020-10-27 The Mathworks, Inc. System and method for graphical model processing
JP4413891B2 (ja) * 2006-06-27 2010-02-10 株式会社東芝 シミュレーション装置およびシミュレーション方法並びにシミュレーションプログラム
JP5091520B2 (ja) * 2007-03-28 2012-12-05 株式会社東芝 ハイブリッドモデルシミュレーション装置
JP2009104388A (ja) * 2007-10-23 2009-05-14 Toshiba Corp シミュレーション再生表示装置及びシミュレーション再生表示方法並びにシミュレーションプログラム
US9431006B2 (en) * 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
WO2011036768A1 (ja) * 2009-09-25 2011-03-31 株式会社 東芝 シミュレーション装置
JP5843230B2 (ja) * 2011-06-17 2016-01-13 国立大学法人京都大学 ハイブリッドシステムの検証方法、検証装置、及び検証コンピュータプログラム、並びに、ハイブリッドシステムのモデル変換方法、変換装置、及び変換コンピュータプログラム
US20170083013A1 (en) * 2015-09-23 2017-03-23 International Business Machines Corporation Conversion of a procedural process model to a hybrid process model
CN114008682A (zh) * 2019-06-28 2022-02-01 宝马股份公司 用于标识对象的方法和系统
CN113672206B (zh) * 2021-09-02 2024-04-02 北京航空航天大学 一种x语言混合建模平台及建模方法
CN113672207B (zh) * 2021-09-02 2024-03-26 北京航空航天大学 一种x语言混合模型建模系统、方法及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011059789A (ja) * 2009-09-07 2011-03-24 Toshiba Corp ハイブリッドモデルシミュレーション装置および方法

Also Published As

Publication number Publication date
JP2003271679A (ja) 2003-09-26
US20030195726A1 (en) 2003-10-16

Similar Documents

Publication Publication Date Title
JP3866595B2 (ja) ハイブリッドモデル作成装置及びプログラム
Encarnacao et al. Computer aided design: fundamentals and system architectures
Hix Generations of user-interface management systems
Schumacher et al. Formal representation of GRAFCET to automatically generate control code
JPH09259153A (ja) バッチ実行制御プログラム作成装置及び方法
Helm et al. An object-oriented architecture for constraint-based graphical editing
Löwgren History, state and future of user interface management systems
Manesis et al. Automated synthesis of ladder automation circuits based on state-diagrams
JP2004220566A (ja) 機構シミュレーション方法および機構シミュレーションプログラム
Kingsley et al. Development of a multi-disciplinary computing environment (MDICE)
JP2009289162A (ja) 制御プログラム及び試験方案自動作成装置
JP4564255B2 (ja) シミュレーション装置
JPH09106337A (ja) ユーザーインタフェース生成装置
Beaudouin-Lafon Human-computer interaction
Theunissen et al. Improving evolvability of a patient communication control system using state-based supervisory control synthesis
JP2008123242A (ja) Cadシステム及びこのシステムに実装されるプログラム
WO2021229785A1 (ja) 製造システム設計検証装置
JP5844347B2 (ja) コンピュータプログラム生成装置
JP4652072B2 (ja) シミュレーション機能付設計支援装置及び方法並びにシミュレーション機能付運転支援装置及び方法
KR100408894B1 (ko) 복합 컴포넌트 기반 다분야 해석 및 최적 설계 방법 및장치
JP2551935B2 (ja) 図的言語処理方式
Lee et al. A multi-paradigm modeling approach for hybrid dynamic systems
JP5091520B2 (ja) ハイブリッドモデルシミュレーション装置
JP2003303004A (ja) 制御用ソフトウエア、その作成方法及び装置
Ko et al. Visual validation of PLC programs

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060516

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060718

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061005

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

Free format text: PAYMENT UNTIL: 20101013

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111013

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111013

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121013

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees