(57)【要約】【課題】簡略モデルと詳細モデルの入力が異なる場合でも、簡略モデルから詳細モデルへの切り替えを信頼性を維持しつつ行うことが可能なシミュレーション装置を提供することである。【解決手段】本発明のシミュレーション装置１０では、第１シミュレーション（簡略モデル）１３から第２シミュレーション（詳細モデル）１７への切替時刻において、第１シミュレーション１３から取得した位置と、その位置に対応する回転角を基に、第２シミュレーション１７の情報位置情報算出部２２による位置の算出が実行される。【選択図】図１
2007178693.tif 000002
【特許請求の範囲】
【請求項１】
物体の移動を扱うシミュレーションを実行するシミュレーション装置において、
前記物体を代表する点の各時刻での位置を算出するシミュレーションである第１シミュレーションと、
前記物体を代表する点の各時刻での位置と、その各時刻での位置における代表する点の回りの前記物体の回転角を算出するシミュレーションである第２シミュレーションと、
前記第１シミュレーション、および、前記第２シミュレーションの起動・終了を制御するシミュレーション実行制御部を備え、
前記第２シミュレーションは、前記第１シミュレーションが補間して算出した位置を取得する補間データ取得部と、前記物体の位置と、その位置での前記物体の回転角を用いて、前記物体の次の時刻での位置を算出する位置情報算出部を備え、
前記第２シミュレーションは、前記補間データ取得部を介して前記物体の位置を取得するとともに、十分な数の位置の組が揃った場合、前記代表する点の回りの前記物体の回転角を算出し、
前記シミュレーション実行制御部は、指定された前記第１シミュレーションから前記第２シミュレーションへの切替時刻には、前記取得した位置とその位置に対応する回転角を基に、前記情報位置情報算出部による位置の算出が実行されるように、前記第２シミュレーションを、その切替時刻より前倒しして起動することを特徴とするシミュレーション装置。
【請求項２】
物体の移動を扱うシミュレーションをコンピュータが実行するシミュレーション方法において、
前記物体を代表する点の各時刻での位置を算出するシミュレーションである第１シミュレーションを実行する第１シミュレーション実行ステップと、
前記物体を代表する点の各時刻での位置と、その各時刻での位置における代表する点の回りの前記物体の回転角を算出するシミュレーションである第２シミュレーションを実行する第２シミュレーション実行ステップを備え、
前記第２シミュレーション実行ステップは、前記第１シミュレーションが補間して算出した位置を取得する補間データ取得ステップと、前記物体の位置と、その位置での前記物体の回転角を用いて、前記物体の次の時刻での位置を算出する位置情報算出ステップを備え、
前記第２シミュレーション実行ステップにおいて、前記補間データ取得ステップを介して前記物体の位置が取得されるとともに、十分な数の位置の組が揃った場合、前記代表する点の回りの前記物体の回転角が算出され、
指定された前記第１シミュレーションから前記第２シミュレーションへの切替時刻には、前記取得した位置とその位置に対応する回転角を基に、前記位置情報算出ステップによる位置の算出が実行されるように、前記第２シミュレーションを、その切替時刻より前倒しして起動する第２シミュレーション起動ステップをさらに備えることを特徴とするシミュレーション方法。
【請求項３】
物体の移動を扱うシミュレーションをコンピュータに実行させるシミュレーション・プログラムにおいて、
前記物体を代表する点の各時刻での位置を算出するシミュレーションである第１シミュレーションを実行する第１シミュレーション実行ステップと、
前記物体を代表する点の各時刻での位置と、その各時刻での位置における代表する点の回りの前記物体の回転角を算出するシミュレーションである第２シミュレーションを実行する第２シミュレーション実行ステップを前記コンピュータに実行させ、
前記第２シミュレーション実行ステップは、前記第１シミュレーションが補間して算出した位置を取得する補間データ取得ステップと、前記物体の位置と、その位置での前記物体の回転角を用いて、前記物体の次の時刻での位置を算出する位置情報算出ステップを備え、
前記第２シミュレーション実行ステップにおいて、前記補間データ取得ステップを介して前記物体の位置が取得されるとともに、十分な数の位置の組が揃った場合、前記代表する点の回りの前記物体の回転角が算出され、
指定された前記第１シミュレーションから前記第２シミュレーションへの切替時刻には、前記取得した位置とその位置に対応する回転角を基に、前記位置情報算出ステップによる位置の算出が実行されるように、前記第２シミュレーションを、その切替時刻より前倒しして起動する第２シミュレーション起動ステップをさらに前記コンピュータに実行させることを特徴とするシミュレーション・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーション装置、方法、および、プログラムに関し、特に、飛行物体の移動を扱うシミュレーションを実行するシミュレーション装置、方法、および、プログラムに関する。
【背景技術】
【０００２】
シミュレーションの実行時間を短縮するため、シミュレーションの実行途中に、シミュレーション用のモデルを、例えば、粗いモデルから詳細なモデルに切り替えることが行われている。例えば、対戦シミュレーションの場合、シミュレーション対象の航空機の移動を、出発地から対戦地までは粗いモデルで記述し、対戦地では詳細なモデルで記述することがある。
【０００３】
対戦シミュレーションとは異なるが、特許文献１には、ハードウェアの検証モデルにおいて、シミュレーションの途中で、簡略モデルから詳細モデルに切り替える技術が示されている。この技術では、モデルの切替時刻に先立って、詳細モデルを起動している。なお、特許文献１の技術は、簡略モデルと詳細モデルでは、時刻精度が異なるのみで、入力されるデータは同じである。
【特許文献１】特開平１０−２６１００２号公報  「設計支援方法および設計支援装置」
【発明の開示】
【発明が解決しようとする課題】
【０００４】
例えば、航空機のフライト・シミュレーションにおいて、簡略モデルでは航空機の重心の各時刻での位置を算出し、詳細モデルではその各時刻での位置と、その各時刻での位置における重心の回りの航空機の回転角を算出する場合を考える。
【０００５】
このような場合、詳細モデルでの航空機の重心の各時刻での位置座標の算出は、通常、算出された位置座標の他に、ローリング角、ピッチング角、ヨーイング角も用いられる。このため、簡略モデルの位置算出処理と詳細モデルの位置算出処理では、入力データが異なることになり、特許文献１の技術を適用して、簡略モデルから詳細モデルへ信頼性を保ちつつ切り替えることはできない。
【０００６】
本発明の課題は、簡略モデルと詳細モデルの入力が異なる場合でも、簡略モデルから詳細モデルへの切り替えを信頼性を維持しつつ行うことが可能なシミュレーション装置、方法、および、プログラムを提供することである。
【課題を解決するための手段】
【０００７】
本発明のシミュレーション装置は、物体の移動を扱うシミュレーションを実行するシミュレーション装置において、前記物体を代表する点の各時刻での位置を算出するシミュレーションである第１シミュレーションと、前記物体を代表する点の各時刻での位置と、その各時刻での位置における代表する点の回りの前記物体の回転角を算出するシミュレーションである第２シミュレーションと、前記第１シミュレーション、および、前記第２シミュレーションの起動・終了を制御するシミュレーション実行制御部を備え、前記第２シミュレーションは、前記第１シミュレーションが補間して算出した位置を取得する補間データ取得部と、前記物体の位置と、その位置での前記物体の回転角を用いて、前記物体の次の時刻での位置を算出する位置情報算出部を備え、前記第２シミュレーションは、前記補間データ取得部を介して前記物体の位置を取得するとともに、十分な数の位置の組が揃った場合、前記代表する点の回りの前記物体の回転角を算出し、前記シミュレーション実行制御部は、指定された前記第１シミュレーションから前記第２シミュレーションへの切替時刻には、前記取得した位置とその位置に対応する回転角を基に、前記情報位置情報算出部による位置の算出が実行されるように、前記第２シミュレーションを、その切替時刻より前倒しして起動することを特徴とするシミュレーション装置である。
【０００８】
ここで、第１シミュレーション（簡略モデル）から第２シミュレーション（詳細モデル）への切替時刻において、第１シミュレーションから取得した位置を第２シミュレーションでも用いているため、切替時点での位置情報の連続性が確保できるとともに、その切替時刻において、その取得した位置と、その位置に対応する回転角を基に、第２シミュレーションの情報位置情報算出部による位置の算出が実行されるように、シミュレーション実行制御部によって制御されている。このため、各時刻の位置を補間して算出する第１シミュレーションから、次時刻の位置の算出に、算出済みの位置の他にその位置に対応する回転角を用いる第２シミュレーションに、実行するシミュレーションを切り替える場合でも、その切り替えを信頼性を維持しつつ行うことができる。
【発明の効果】
【０００９】
本発明によれば、各時刻の位置を補間して算出する第１シミュレーション（簡略モデル）から、次時刻の位置の算出に、算出済みの位置の他にその位置に対応する回転角を用いる第２シミュレーション（詳細モデル）に、実行するシミュレーションを切り替える場合でも、その切り替えを信頼性を維持しつつ行うことができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態を、図面を参照しながら詳細に説明する。
図１は、本発明の一実施形態のシミュレーション装置の構成を示す図である。
図１に示すシミュレーション装置１０は、航空機の移動についてのシミュレーションを実行する装置である。
【００１１】
このシミュレーション装置１０は、航空機を代表する点（例えば、その航空機の重心）の各時刻での位置を算出するシミュレーションである第１シミュレーション（粗いモデル）１３と、航空機を代表する点の各時刻での位置と、その各時刻での位置における代表する点の回りの航空機の回転角を算出するシミュレーションである第２シミュレーション（詳細なモデル）１７と、第１シミュレーション１３、および、第２シミュレーション１７の起動・終了を制御するシミュレーション実行制御部１１を備える。
【００１２】
第２シミュレーション１７は、第１シミュレーション１３が補間して算出した位置を取得する補間データ取得部２１と、航空機の位置と、その位置での航空機の回転角を用いて、その航空機の次の時刻での位置を算出する位置情報算出部２２を備える。
【００１３】
第１シミュレーション１３からの切替先として第２シミュレーション１７が起動される場合の過渡的な動作モードでは、補間データ取得部２１は、第１シミュレーション１３で補間して算出された位置を第１シミュレーション１３の出力データファイル１５から取得し、第２シミュレーション１７の出力データファイル１９に出力する。このようにして、十分な数の位置の組が揃った場合、それらの位置を用いて、第２シミュレーション１７は、代表する点の回りの航空機の回転角を算出する。切替時刻に達した場合、第２シミュレーション１７の動作モードが過渡的なモードから通常モードに変更される。通常モードでは、位置情報算出部２２により各時刻での航空機の位置が算出される。
【００１４】
シミュレーション実行制御部１１は、指定された第１シミュレーション１３から第２シミュレーション１７への切替時刻には、取得した位置とその位置に対応する回転角を基に、位置情報算出部２２による算出が実行されるように、第２シミュレーション１７を、その切替時刻より前倒しして起動する。
【００１５】
第１シミュレーション１３に用いられる入力データファイル１４中に指定される情報と、第２シミュレーション１７に用いられる入力データファイル１８中に指定される情報は、完全には一致しないが、航空機（機体）の種類（型）、機体の揚力係数、機体の重量、航空機の飛行経路（航空機が通過する複数の位置とそれら位置を通過する時刻）については、双方の入力データファイル中に指定されている。いずれのシミュレーションにおいても、各時刻での算出結果は、出力データファイル１５または１９に出力される。
【００１６】
図２は、シミュレーションの実行制御の一例を説明する図である。
図２では、粗いモデル（第１シミュレーション）が詳細なモデル（第２シミュレーション）に先立って起動され、切替時刻に、粗いモデルから詳細なモデルに切り替える場合が示されている。モデルの切替時刻情報は、モデル切替時刻情報データベース２３に格納される。また、詳細なモデルを切替時刻からどれだけ前倒しして起動しなければならないかを示す時間、すなわち、第１シミュレーションで算出された補間データ（位置座標）をその第１シミュレーションから取得しなければならない時間（補間データ取得時間）は、補間データ取得時間情報データベース２４に格納される。すなわち、詳細なモデルは、切替時刻より補間データ取得時間だけ前倒しして起動される。
【００１７】
図１のシミュレーション実行制御部１１は、シナリオ・データ１２に基づいて、第１シミュレーション１３、および、第２シミュレーション１７の起動・終了を制御している。図３は、図２に対応するシナリオ・データの一例を示す図である。
【００１８】
図３において、１行目はモデルの切替時刻をファイルＦＩＬＥ１．ＤＡＴから読み込んで変数ｔｃに設定する処理、２行目は補間データ取得時間をファイルＦＩＬＥ２．ＤＡＴから読み込んで変数ｔｄに設定する処理、３行目はタイマーの初期化、４行目はモデル１（粗いモデル）の起動指示、６行目はモデル２（詳細なモデル）の起動時刻（ｔｃ−ｔｄ）に達したかどうかの判定指示、７行目はモデル２の過渡的なモード（TRANSITIONAL_MODE）での起動指示、９行目はモデルの切替時刻ｔｃに達したかどうかの判定処理、１０行目はモデル１の終了指示、をそれぞれ示している。
【００１９】
図４は、シミュレーションの実行制御の一例を示すフローチャートである。このフローチャートは、図１のシミュレーション実行制御部１１がシナリオ・データ１２として、図３のデータを読み込んで実行した場合の処理に相当する。
【００２０】
図４において、まず、ステップＳ１０１で、モデル切替時刻が図２のモデル切替時刻情報データベース２３から読み出され、ステップＳ１０２で、補間データ取得時間が図２の補間データ取得時間データベース２４から読み出される。
【００２１】
そして、ステップＳ１０３で、モデル切替時刻から補間データ取得時間を減算することで、詳細なモデルの起動時刻が算出される。ステップＳ１０４では、タイマーによって、起動時刻に達したかどうかが判定される。起動時刻に達したと判定された場合、ステップＳ１０５で、詳細なモデルが起動される。
【００２２】
また、ステップＳ１０６では、タイマーによって、モデル切替時刻に達したかどうかが判定される。モデル切替時刻に達したと判定された場合、ステップＳ１０７で、粗いモデルを終了する。
【００２３】
図５は、粗いモデルから詳細なモデルに切り替える場合に、詳細なモデルで入力として与えるデータ（粗いモデルが持たないデータ）を生成する様子を説明する図である。
図５に示すように、切替時刻ｔｃの３ステップ前の時刻（ｔｃ−２）から粗いモデルで補間して算出した位置を詳細なモデルで取得している。すなわち、時刻（ｔｃ−２）で、粗いモデルが算出した位置座標（Ｘｔｃ−２，Ｙｔｃ−２，Ｚｔｃ−２）、時刻（ｔｃ−１）で、粗いモデルが算出した位置座標（Ｘｔｃ−１，Ｙｔｃ−１，Ｚｔｃ−１）、時刻ｔｃで、粗いモデルが算出した位置座標（Ｘｔｃ，Ｙｔｃ，Ｚｔｃ）、をそれぞれ詳細なモデルで取得している。
【００２４】
そして、これらの位置座標の３つの履歴を基に、図８〜図１０に示す方法によりピッチ、ロール、ヨーを切替時刻ｔｃで算出している。
これにより、少なくとも切替時刻ｔｃで実行される次位置（時刻ｔｃ＋１の位置）の算出は、粗いモデルで算出された位置座標（Ｘｔｃ，Ｙｔｃ，Ｚｔｃ）と、その粗いモデルで算出された３履歴分（時刻ｔｃ−２、ｔｃ−２、ｔｃ）の位置座標から算出されたピッチ（ＰＩＴＣＨｔｃ）、ロール（ＲＯＬＬｔｃ）、ヨー（ＹＡＷｔｃ）の値を用いて行われることになり、粗いモデルから詳細なモデルへの切替を信頼性（位置座標の連続性）を保ちつつ行うことが可能になる。
【００２５】
図６Ａは、図１の第１シミュレーション１３のより詳細な構成を示すブロック図である。
図６Ａに示すように、第１シミュレーション１３は、位置座標算出部（補間データ算出部）２８を備える。位置座標算出部２８は、第１シミュレーション１３の入力データファイル１４中に指定される、航空機の飛行経路情報（航空機が通過する各位置と、それらの位置を通過する時刻）を用いて、各時刻での航空機の位置を、その飛行経路情報中の位置を補間して算出している。
【００２６】
図６Ｂは、図１の第２シミュレーション１７のより詳細な構成を示すブロック図である。
図６Ｂに示すように、第２シミュレーション１７は、上述の補間データ取得部２１、位置座標算出部２２に加えて、さらに、ローリング角算出部３１、ピッチング角算出部３２、ヨーイング角算出部３３を備える。算出部３１〜３３は、算出された３履歴分の位置座標を基に、ピッチング角、ローリング角、ヨーイング角をそれぞれ算出する。
【００２７】
第２シミュレーション１７は、動作モードとして、過渡的なモードと、通常モードの２つを持つ。過渡的なモードは、第２シミュレーション１７が、先に起動されている第１シミュレーション１３からの切替先として起動される場合に指定されるモードである。例えば、第２シミュレーション１７の起動時に動作モードを過渡的なモードに設定することを引数として指定することで、第２シミュレーション１７を過渡的なモードで起動することができる。
【００２８】
また、通常モードは、シミュレーションの当初から第２シミュレーションを起動する場合に指定されるモードである。第２シミュレーション１７内で動作モードのデフォルト値は、この通常モードに設定されている。
【００２９】
第２シミュレーション１７の過渡的な動作モードでは、補間データ取得部２１によって補間して算出された位置座標が第１シミュレーション１３から取得される。十分な数の位置座標の組（例えば、３履歴分の位置座標の組）が揃った場合、ローリング角算出部３１、ピッチング角算出部３２、ヨーイング角算出部３３による、ローリング角、ピッチング角、ヨーイング角の算出が行われる。
【００３０】
切替時刻に達すると、動作モード変更部３６によって、第２シミュレーション１７の動作モードが過渡的なモードから通常モードに変更される。
第２シミュレーション１７の通常の動作モードでは、位置座標算出部２２によって、算出された位置座標と、算出されたローリング角、ピッチング角、ヨーイング角を基に、次ステップの航空機の位置座標が算出される。
【００３１】
図７は、過渡的な動作モードで起動された場合の第２シミュレーション１７のモデル切替までの動作を示すフローチャートである。
図７において、まず、ステップＳ２０１で、図６Ｂの補間データ取得部２１によって、粗いモデル（第１シミュレーション）で補間により算出された位置座標が取得される。そして、ステップＳ２０２で、十分な数の位置座標の組（例えば、３組の位置座標）が取得（収集）されたかが判定される。ステップＳ２０２で十分な数の位置座標の組が取得されていないと判定された場合、ステップＳ２０４に進む。
【００３２】
一方、ステップＳ２０２で十分な数の位置座標の組が取得されたと判定された場合、ステップＳ２０３で、図６Ｂのローリング角算出部３１、ピッチング角算出部３２、ヨーイング角算出部３３によって、算出された３組分の位置座標を基に、ピッチング角、ローリング角、ヨーイング角がそれぞれ算出される。そして、ステップＳ２０４に進む。
【００３３】
ステップＳ２０４では、タイマーによって、モデルの切替時刻に達したかどうかが判定される。切替時刻に達していないと判定された場合、ステップＳ２０１に戻る。一方、切替時刻に達したと判定された場合、ステップＳ２０５で、図６Ｂの動作モード変更部３６によって、第２シミュレーション１７の動作モードが過渡的なモードから通常モードに変更され、一連の処理を終了する。
【００３４】
図８〜図１０を参照して、ローリング角、ピッチング角、ヨーイング角の算出方法を例をあげて説明する。地面に固定された地面軸が、これらの角度の算出で用いられる座標系である。
【００３５】
図８は、ローリング角の算出方法を説明する図である。このローリング角の算出処理は、図６Ｂのローリング角算出部３１によって実行される。
図８において、まず、（１）で、算出済みの位置の３点を取得し、その３点を通る円を求めることで、その円の半径（旋回半径）と、旋回率（単位時間当たりの角度変化）を算出する。そして、（２）で、算出された旋回半径と旋回率を基に、機体の速度と向心力を以下の式により算出する。
速度＝旋回半径×旋回率
向心力＝旋回率×機体質量×速度
そして、（３）で、揚力とローリング角（バンク角）を以下の式により算出する。
揚力＝速度×揚力係数
ローリング角＝ｓｉｎ−１（向心力／揚力）
なお、揚力係数は、第２シミュレーション１７の入力データファイル１８中に指定される。
【００３６】
図９は、ピッチング角の算出方法を説明する図である。このローリング角の算出処理は、図６Ｂのローリング角算出部３２によって実行される。
図９において、まず、（１）で、算出済みの位置の３点を取得し、その３点を通る円を求めることで、その円の中心座標（Ｘｃ，Ｙｃ，Ｚｃ）を算出する。そして、（２）で、機体の現在位置（Ｘｔ，Ｙｔ，Ｚｔ）と、算出された中心座標（Ｘｃ，Ｙｃ，Ｚｃ）を用いて、次式により、ピッチング角を算出する。
ピッチング角＝ｔａｎ−１（（Ｘｔ−Ｘｃ）／（Ｚｔ−Ｚｃ））
図１０は、ヨーイング角の算出方法を説明する図である。このヨーイング角の算出処理は、図６Ｂのヨーイング角算出部３３によって実行される。
【００３７】
図１０において、まず、（１）で、算出済みの位置の３点を取得し、その３点を通る円を求めることで、その円の中心座標（Ｘｃ，Ｙｃ，Ｚｃ）を算出する。そして、（２）で、機体の現在位置（Ｘｔ，Ｙｔ，Ｚｔ）と、算出された中心座標（Ｘｃ，Ｙｃ，Ｚｃ）を用いて、次式により、ヨーイング角を算出する。
ヨーイング角＝ｔａｎ−１（（Ｘｔ−Ｘｃ）／（Ｙｔ−Ｙｃ））
図１１は、詳細なモデルで用いられる座標系を説明する図であり、（ａ）は機体に固定される機体軸を、（ｂ）は地面に固定される地面軸を、（ｃ）は地面軸に対する機体軸の向きを示す図である。
【００３８】
図１１（ａ）に示すように、機体軸とは、機体の前後方向をＸ軸（Ｘａ軸）方向、機体の左右方向をＹ軸（Ｙａ軸）方向、機体の上下方向をＺ軸（Ｚａ軸）方向とし、それらの軸が機体の重心で交わるように定義された右手系である。機体の前方をＸ軸（Ｘａ軸）正方向とし、右翼方向をＹ軸（Ｙａ軸）正方向とする。機体の重心の速度ベクトルをＶ、重心の回りの角速度ベクトルをωとする。ｕ，ｖ，ｗを速度ベクトルＶの機体軸方向の各成分（Ｘａ成分、Ｙａ成分、Ｚａ成分）とする。また、ｐ，ｑ，ｒを角速度ベクトルωの機体軸方向の各成分（Ｘａ成分、Ｙａ成分、Ｚａ成分）とする。ｐ，ｑ，ｒをローリング（横揺れ）角速度、ピッチング（縦揺れ）角速度、ヨーイング（偏揺れ）角速度とそれぞれ呼ぶ。
【００３９】
なお、位置座標の算出では、この他に、図１１（ｂ）に示すような地面に固定された地面軸も用いられる。地面軸はＺ軸（Ｚｅ軸）の正方向が鉛直下方に一致する右手系である。
【００４０】
また、オイラー角とは、剛体（この場合、航空機）がどの方向を向いているのかを示すのに用いる３つの角度（φ、θ、ψ）である。すなわち、図１１（ｃ）に示すように、オイラー角を指定することで、地面に固定された座標系（地面軸）に対して、航空機に固定された座標系（機体軸）の向きを示すことができる。
【００４１】
図１１において、定義した変数、座標系を用いて、第２シミュレーション（詳細なモデル）１７の位置座標算出部２２が行う位置座標の算出処理について以下に説明する。なお、算出処理に用いる微分方程式は、航空工学の分野等で周知のものであり、例えば、下記非特許文献１に示されている。
【非特許文献１】航空宇宙工学便覧  第２版、日本航空宇宙学会編、丸善、１９９２年、ｐｐ３９６−３９８  まず、ローリング角速度ｐ、ピッチング角速度ｑ、ヨーイング角速度ｒと、オイラー角（φ、θ、ψ、ｄφ／ｄｔ、ｄθ／ｄｔ、ｄψ／ｄｔ）は以下のような関係がある。ｐ＝（ｄφ／ｄｔ）−（ｄψ／ｄｔ）・ｓｉｎθｑ＝（ｄθ／ｄｔ）・ｃｏｓθ＋（ｄψ／ｄｔ）・ｓｉｎφ・ｃｏｓθｒ＝−（ｄθ／ｄｔ）・ｓｉｎφ＋（ｄψ／ｄｔ）・ｃｏｓφ・ｃｏｓθ  図８〜図１０で算出したローリング角、ピッチング角、ヨーイング角の値を前タイムステップと現タイムステップとの差分で割ることで、上式のローリング角速度ｐ、ピッチング角速度ｑ、ヨーイング角速度ｒが求まる。これにより、上式を解くことで、オイラー角φ、θ、ψが時間の関数として求まる。
【００４２】
剛体（航空機）の運動方程式は、以下の通りである。
ｍ（ｄｕ／ｄｔ＋ｑｗ−ｒｖ）＝Ｘ
ｍ（ｄｖ／ｄｔ＋ｒｕ＋ｐｗ）＝Ｙ
ｍ（ｄｗ／ｄｔ＋ｐｖ−ｑｕ）＝Ｚ
Ｉｘ・（ｄｐ／ｄｔ）＋Ｊｘｚ・（ｄｒ／ｄｔ）−（Ｉｙ−Ｉｚ）ｑｒ＋Ｊｘｚ・ｐｑ＝Ｌ
Ｉｙ・（ｄｑ／ｄｔ）−（Ｉｚ−Ｉｘ）ｒｐ−Ｊｘｚ（ｐ２−ｒ２）＝Ｍ
Ｉｚ・（ｄｒ／ｄｔ）＋Ｊｘｚ・（ｄｐ／ｄｔ）−（Ｉｘ−Ｉｙ）ｐｑ−Ｊｘｚ・ｑｒ＝Ｎ
ここで、Ｘ，Ｙ，Ｚは、航空機に作用する外力の機体軸方向の各成分（Ｘａ成分、Ｙａ成分、Ｚａ成分）である。また、Ｌ，Ｍ，Ｎは、航空機に作用する外力がその航空機の重心の回りにつくるモーメントの機体軸方向の各成分（Ｘａ成分、Ｙａ成分、Ｚａ成分）である。また、ｍは航空機の質量、Ｉｘ，Ｉｙ，Ｉｚは慣性モーメント、Ｊｘｚは慣性乗積である。
【００４３】
これらの（運動方程式を含む）９つの方程式を解くことで、ｕ，ｖ，ｗ，φ，θ，ψ，等の諸量が時間ｔの関数として求まる。この算出結果と、既に算出済みの時刻ｔでの機体の位置座標（Ｘｅ（ｔ），Ｙｅ（ｔ），Ｚｅ（ｔ））を用いて、次の時刻（ｔ＋１）での機体の位置座標（Ｘｅ（ｔ＋１），Ｙｅ（ｔ＋１），Ｚｅ（ｔ＋１））が以下の式により算出される。
【００４４】
【数１】
2007178693.tif 000003
ここで、ａ１１、ａ１２、・・・、ａ３３は、下記のように定義される、地面軸と機体軸の方向余弦である。
【００４５】
【表１】
2007178693.tif 000004
方向余弦は、オイラー角（φ、θ、ψ）を用いて次のように表される。
【００４６】
【数２】
2007178693.tif 000005
これにより、次の時刻（ｔ＋１）での機体の位置座標を算出する式の右辺の積分記号内の項、例えば、（ｕ・ａ１１＋ｖ・ａ２１＋ｗ・ａ３１）が時間の関数として求められ、積分が実行されることで、次の時刻（ｔ＋１）での機体の位置座標（Ｘｅ（ｔ＋１），Ｙｅ（ｔ＋１），Ｚｅ（ｔ＋１））が算出される。
【００４７】
図１２は、第１シミュレーションで算出された機体の位置と第２シミュレーションで算出された機体の位置を比較して示した図である。
図１２において、○印は、航空機のある時刻での位置を示している。そして、×印は、第１シミュレーション１３および第２シミュレーション１７の入力データファイル中に指定された航空機の位置を示す位置情報である。Ｔ１，Ｔ２，Ｔ３はそれぞれの×印の位置を航空機が通過する時刻を示している。この時刻情報と位置情報とを合わせて飛行経路情報として入力データファイル中に指定されている。
【００４８】
第１シミュレーション１３では、飛行経路情報に指定される各位置を結ぶ直線（図中、実線矢印にて表記）を航空機が飛行すると仮定しているので、各区間（時刻Ｔ１，Ｔ２の間、時刻Ｔ２，Ｔ３の間、等）での航空機の平均速度がその区間の端点間の距離より分かる。そして、その平均速度を用いて、補間をすることで、各時刻の航空機の位置（図中、●印にて表記）を算出している。
【００４９】
一方、第２シミュレーション１７では、航空機を剛体として扱っているので、航空機の重心の回りの回転（バンク角等）が航空機の位置の算出にあたって考慮される。このため、第２シミュレーション１７による航空機の各時刻の位置（図中、▲印にて表記）は、直線的な経路よりやや迂回した（図中、破線矢印にて表記）、実在の航空機により近い経路となっている。
【００５０】
また、第２シミュレーション１７では、入力データファイル中に指定される飛行経路情報との整合性を保つため、飛行経路情報中に指定された位置の１つ前の位置（例えば、時刻Ｔ２の直前の▲印の位置）では、その飛行経路情報中に指定された位置（例えば、時刻Ｔ２の×印の位置）を算出結果としている。
【００５１】
図１３は、記憶媒体例を示す図である。
本発明のシミュレーション処理は、情報処理装置６１によって実現することが可能である。本発明の処理のためのプログラムやデータは、情報処理装置６１の記憶装置６５から情報処理装置６１のメモリにロードして実行することも、可搬型記憶媒体６３から情報処理装置６１のメモリにロードして実行することも、また、外部記憶装置６２からネットワーク６６を介して情報処理装置６１のメモリにロードして実行することも可能である。
【００５２】
なお、上記実施例は航空機を利用して説明を行ったが、本発明の適用はこれに限るものではなく、船や潜水艦などの航行物体のシミュレーションにも適用できる。
【００５３】
本発明は下記構成でもよい。
（付記１）  物体の移動を扱うシミュレーションを実行するシミュレーション装置において、
前記物体を代表する点の各時刻での位置を算出するシミュレーションである第１シミュレーションと、
前記物体を代表する点の各時刻での位置と、その各時刻での位置における代表する点の回りの前記物体の回転角を算出するシミュレーションである第２シミュレーションと、
前記第１シミュレーション、および、前記第２シミュレーションの起動・終了を制御するシミュレーション実行制御部を備え、
前記第２シミュレーションは、前記第１シミュレーションが補間して算出した位置を取得する補間データ取得部と、前記物体の位置と、その位置での前記物体の回転角を用いて、前記物体の次の時刻での位置を算出する位置情報算出部を備え、
前記第２シミュレーションは、前記補間データ取得部を介して前記物体の位置を取得するとともに、十分な数の位置の組が揃った場合、前記代表する点の回りの前記物体の回転角を算出し、
前記シミュレーション実行制御部は、指定された前記第１シミュレーションから前記第２シミュレーションへの切替時刻には、前記取得した位置とその位置に対応する回転角を基に、前記位置情報算出部による位置の算出が実行されるように、前記第２シミュレーションを、その切替時刻より前倒しして起動することを特徴とするシミュレーション装置。
（付記２）  前記物体は航空機であり、
前記物体の回転角とは、その航空機のそれぞれの機体軸の回りの回転角であるローリング角、ピッチング角、ヨーイング角であることを特徴とする付記１記載のシミュレーション装置。
（付記３）  前記第１シミュレーション、前記第２シミュレーションの起動指示を含むシミュレーションの実行シナリオであるシナリオ・データを基に、前記シミュレーション実行制御部は、シミュレーションの実行を制御することを特徴とする付記１記載のシミュレーション装置。
（付記４）  物体の移動を扱うシミュレーションをコンピュータが実行するシミュレーション方法において、
前記物体を代表する点の各時刻での位置を算出するシミュレーションである第１シミュレーションを実行する第１シミュレーション実行ステップと、
前記物体を代表する点の各時刻での位置と、その各時刻での位置における代表する点の回りの前記物体の回転角を算出するシミュレーションである第２シミュレーションを実行する第２シミュレーション実行ステップを備え、
前記第２シミュレーション実行ステップは、前記第１シミュレーションが補間して算出した位置を取得する補間データ取得ステップと、前記物体の位置と、その位置での前記物体の回転角を用いて、前記物体の次の時刻での位置を算出する位置情報算出ステップを備え、
前記第２シミュレーション実行ステップにおいて、前記補間データ取得ステップを介して前記物体の位置が取得されるとともに、十分な数の位置の組が揃った場合、前記代表する点の回りの前記物体の回転角が算出され、
指定された前記第１シミュレーションから前記第２シミュレーションへの切替時刻には、前記取得した位置とその位置に対応する回転角を基に、前記位置情報算出部による位置の算出が実行されるように、前記第２シミュレーションを、その切替時刻より前倒しして起動する第２シミュレーション起動ステップをさらに備えることを特徴とするシミュレーション方法。
（付記５）  物体の移動を扱うシミュレーションをコンピュータに実行させるシミュレーション・プログラムにおいて、
前記物体を代表する点の各時刻での位置を算出するシミュレーションである第１シミュレーションを実行する第１シミュレーション実行ステップと、
前記物体を代表する点の各時刻での位置と、その各時刻での位置における代表する点の回りの前記物体の回転角を算出するシミュレーションである第２シミュレーションを実行する第２シミュレーション実行ステップを前記コンピュータに実行させ、
前記第２シミュレーション実行ステップは、前記第１シミュレーションが補間して算出した位置を取得する補間データ取得ステップと、前記物体の位置と、その位置での前記物体の回転角を用いて、前記物体の次の時刻での位置を算出する位置情報算出ステップを備え、
前記第２シミュレーション実行ステップにおいて、前記補間データ取得ステップを介して前記物体の位置が取得されるとともに、十分な数の位置の組が揃った場合、前記代表する点の回りの前記物体の回転角が算出され、
指定された前記第１シミュレーションから前記第２シミュレーションへの切替時刻には、前記取得した位置とその位置に対応する回転角を基に、前記位置情報算出部による位置の算出が実行されるように、前記第２シミュレーションを、その切替時刻より前倒しして起動する第２シミュレーション起動ステップをさらに前記コンピュータに実行させることを特徴とするシミュレーション・プログラム。
【図面の簡単な説明】
【００５４】
【図１】本発明の一実施形態のシミュレーション装置の構成を示す図である。
【図２】シミュレーションの実行制御の一例を説明する図である。
【図３】図２に対応するシナリオ・データの一例を示す図である。
【図４】シミュレーションの実行制御の一例を示すフローチャートである。
【図５】粗いモデルから詳細なモデルに切り替える場合に、詳細なモデルで入力として与えるデータ（粗いモデルが持たないデータ）を生成する様子を説明する図である。
【図６Ａ】図１の第１シミュレーションのより詳細な構成を示すブロック図である。
【図６Ｂ】図１の第２シミュレーションのより詳細な構成を示すブロック図である。
【図７】過渡的な動作モードで起動された場合の第２シミュレーションのモデル切替までの動作を示すフローチャートである。
【図８】ローリング角の算出方法を説明する図である。
【図９】ピッチング角の算出方法を説明する図である。
【図１０】ヨーイング角の算出方法を説明する図である。
【図１１】詳細なモデルで用いられる座標系を説明する図であり、（ａ）は機体に固定される機体軸を、（ｂ）は地面に固定される地面軸を、（ｃ）は地面軸に対する機体軸の向きを示す図である。
【図１２】第１シミュレーションで算出された機体の位置と第２シミュレーションで算出された機体の位置を比較して示した図である。
【図１３】記憶媒体例を示す図である。
【符号の説明】
【００５５】
１０  シミュレーション装置
１１  シミュレーション実行制御部
１２  シナリオ・データ
１３  第１シミュレーション（粗いモデル）
１４、１８  入力データファイル
１５、１９  出力データファイル
１７  第２シミュレーション（詳細なモデル）
２１  補間データ取得部
２２、２８  位置情報算出部
２３  モデル切替時刻情報データベース
２４  補間データ取得時間情報データベース
３１  ローリング角算出部
３２  ピッチング角算出部
３３  ヨーイング角算出部
３６  動作モード変更部
【図１】
2007178693.tif 000006
【図３】
2007178693.tif 000007
【図４】
2007178693.tif 000008
【図６Ａ】
2007178693.tif 000009
【図６Ｂ】
2007178693.tif 000010
【図７】
2007178693.tif 000011
【図１２】
2007178693.tif 000012
【図１３】
2007178693.tif 000013
【図２】
2007178693.tif 000014
【図５】
2007178693.tif 000015
【図８】
2007178693.tif 000016
【図９】
2007178693.tif 000017
【図１０】
2007178693.tif 000018
【図１１】
2007178693.tif 000019