(57)【特許請求の範囲】
【請求項１】
装置を制御するための方法であって、
前記装置が動作しているかまたは動作することとなる現実の環境の統合シミュレーションモデルを形成するステップを含み、前記統合シミュレーションモデルは、当該現実の環境に関連する既存のデータおよび実時間のデータを用いて形成され、前記方法はさらに、
前記現実の環境の統合シミュレーションモデルにおいて動作可能な前記装置の表現体（representation）を含むシミュレーションを示すステップと、
前記現実の環境の統合シミュレーションモデルにおいて前記装置のシミュレーションの制御を可能にするステップと、
前記現実の環境の統合シミュレーションモデルにおける前記装置のシミュレーションを用いて現実の環境における前記装置の動作を制御するステップとを含み、
前記シミュレーションにおいて予め実行されるシミュレートされた機能に対応する現実の機能を、現実の環境における前記装置が実行する前の予め定められた期間に、前記現実の環境の統合シミュレーションモデルにおいて前記装置の表現体の動作の制御を可能にするステップを含み、
前記シミュレーションのうち選択されたリドゥされる部分に対応する機能の実行前に、選択された部分をリドゥし、かつ現実の環境における前記装置に転送することを可能にするのに十分に長い予め定められた期間に応じて、前記シミュレーションのうち選択された部分をリドゥすることを可能にするステップをさらに含む、方法。
【請求項２】
前記現実の環境の統合シミュレーションモデルにおける前記装置のシミュレーションの速度を上げるかまたは下げることを可能にすることにより、前記予め定められた期間の調整を可能にするステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記シミュレーションの速度を下げて、当該シミュレーション内で前記装置の表現体の調整および制御、ならびに判断を行なうための時間を追加することを可能にするステップと、
前記シミュレーションの速度を上げて、前記予め定められた期間を増大させることを可能にするステップとをさらに含む、請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の背景
この開示は、無人航空システム（ＵＡＳ：unmanned aerial system）、無人航空輸送手段（ＵＡＶ：unmanned aerial vehicle）または他の輸送手段もしくは装置などの装置の遠隔制御に関し、より特定的には、時間シフトのオプションを有する統合シミュレーションを用いて装置の動作を制御するための方法およびシステムに関する。
【背景技術】
【０００２】
システムまたは装置の動作を遠隔制御する際にレイテンシ（latency）が問題となる。これは、離れている人間またはコンピュータによって少なくとも部分的に制御されるシステムまたは装置に最もよく関連している。レイテンシとは、一般に、オペレータの制御入力と、当該入力に対するシステム応答についてのオペレータによる検知との間の期間として規定され得る。レイテンシは、センサ測定に応答して制御入力を行なうことのできる速さを制限する傾向がある。
【０００３】
レイテンシの典型的な構成要素は、センサ信号の処理と、データストリームにおけるスポットを待つ信号のドゥエルタイム（dwell time）と、遠隔装置またはシステムの送信機から基地局の受信機までの途中の信号時間と、基地局による信号処理と、起こり得る信号の表示と、基地局のコンピュータまたはオペレータによる所望される制御応答の計算と、この応答の処理と、データストリームにおけるスロットを待つ応答のドゥエルタイムと、基地の送信機と遠隔受信機との間の伝送時間と、遠隔システムによる信号処理と、制御動作の遅延とを含み得る。いくつかのシステムにおいては、レイテンシは、システムの機能を著しく妨げるレベルに到達する可能性がある。たとえば、マーズローバー（Mars Rover）の場合、火星上のローバーと地球上の基地局との間の距離が遠く離れているため、レイテンシが約２０分のオーダとなる。地球基地のオペレータによるシステムの制御は、正確なセンサデータに基づいて制御入力を行なうために厳密に測定されなければならず、遅くなる筈である。
【０００４】
レイテンシについての１つの解決策は、一連の制御システムの各部分におけるレイテンシを低減させることである。しかしながら、このような低減はいくつかの状況においては制限されてしまう可能性がある。遠隔操作の場合、光の速度が制限されていることによる信号の単純な遅延が制約条件になる可能性がある。他のレイテンシの要素も、なくしたり減らしたりすることが難しいかもしれない。
【０００５】
別の解決策は、より多くの制御システム処理タスクを装置または輸送手段に搭載してしまうことであり得る。このようにして、輸送手段は、その短期間の動作においては自律的になり、基地局からの制御をそれほど頻繁には受けず、本質的により一般的な制御を受ける。しかしながら、特に、エラーのもたらす結果が重大なものとなる場合、または動作の状況または環境が複雑で不確実である場合、いくつかの種類のシステムを人間が制御することは有利であり得る。他方では、制御システム処理タスクを機上に移すことは、機内またはシステム内に人間のオペレータを配置することを意味し得る。この構成についての１つの不利点は、オペレータを潜在的な危険に晒す可能性があることである。別の不利点は、機内に人間のオペレータを配置することにより、当該システムの複雑さ、重量および費用が増大する可能性があることである。代替的には、増大しつつある制御権限を基地局から人間以外のオペレータを備えた遠隔システムへと移すことにより、システム全体のうち、人間が制御できる範囲が小さくなる。これについての１つの欠点は、人間のオペレータ
であれば何らかの理由で拒否するであろう措置を取ることを当該システムが「決定する」かもしれないことである。
【０００６】
レイテンシについての別の可能な解決策は、反復型の移動−待機サイクルにおいて動作を行なうことであり得る。動作を制御する手段は、マーズローバーなどの無人宇宙船に対するいくつかのコマンドのために用いられる。ゆっくりとした移動−待機サイクルを用いることによりシステムの生産性が低減する可能性がある。というのも、当該システムは、当該サイクルの「待機」部分の間には動作できないからである。このような制御方法はまた、それが、サイクルの待機部分の間に（静止ではないにしても）安定するように設計されなければならないことを意味し得る。当該システムに対するこの付加的な制約は、重量、複雑さまたは費用を犠牲にする可能性がある。
【０００７】
加えて、いくつかのシステムの動作では、オペレータがエラーを起こす可能性がある。この明細書中で用いられるように、「オペレータ」は、人間のオペレータ、または人間以外、すなわちコンピュータのオペレータに該当し得る。たとえば、いくつかのミッションの場合、無人の航空輸送手段が高速で地面に可能な限り接近して飛行することが望ましいかもしれない。このような動作はしばしば「地形追従」と称される。地形追従は、変化する地形または丘陵性の地形上では困難になる。輸送手段が飛行できる最低限の高度は、昇降舵の制御入力により垂直（上下）に加速する輸送手段の能力によって幾分制限されてしまう。すべての航空輸送手段はこの点で制限されている。高度に対する別の制限事項は、離れたところに位置するオペレータまたは制御システムが正確な地点を判断して、山を避けるために引き上げ操作を行なうか、または谷へと降下するために押し下げ操作を行なう能力である。引き上げ操作が僅かに遅れると、山との衝突が避けられなくなる可能性がある。谷へと進むのが僅かに早過ぎても衝突する可能性がある。さらに、理想的な無風条件または穏やかな条件では、最適な経路は、場合によっては実際の飛行に先立って算出され得る。しかしながら、現実面では、実際の飛行中には、予見したり事前に予測したりすることのできない条件の変動が起こる可能性がある。これらの変動は、風、風向きの違い、乱気流、上昇気流および下降気流を含み得る。さらに予測不可能な条件は、新たな障害物、たとえば、塔、電力線または他の障害物もしくは危険要因を含み得る。条件の不確実性は、最新の測定または観察と現実の動作または飛行との間の期間に幾分依存している可能性があり、この期間が長ければ長いほど、より不確実になってしまう。
【０００８】
オペレータのエラーを減らすための一方法は、オペレータによるエラーがあるかまたは予期せぬ条件の場合でもシステムの安全な動作の継続を可能にする「安全マージン」でシステムを動作させることである。一般に、この安全域は、エラーを許容可能なレベルにまで減らすよう統計的に決定され得る。しかしながら、安全域は、一般には、１つ以上の性能基準に対して動作上の犠牲を伴う。
【０００９】
オペレータのエラーを減らすための別の方法は、人間のオペレータをコンピュータと置換えることであり得る。しかしながら、これには欠点がないわけではない。一般に、複雑なシステムを自律的に作動させるソフトウェアは、特に当該システムが極めて確実でなければならない場合、複雑で高価なものになってしまう。加えて、人間のオペレータは、予期せぬ状況に直面してもより柔軟で回復力があり、複雑な状況下でも極めて重要な決定を行なう能力がより高いと一般に考えられている。
【発明の開示】
【課題を解決するための手段】
【００１０】
開示の概要
この開示の実施例に従うと、装置を制御するための方法は、当該装置が動作しているかまたは動作することとなる現実の環境の統合シミュレーションモデルを形成するステップ
を含み得る。統合シミュレーションモデルは、現実の環境に関連する既存のデータおよび実時間のデータを用いて形成され得る。当該方法はまた、現実の環境の統合シミュレーションモデルにおいて動作可能な現実の装置の表現体（representation）を含むシミュレーションを示すステップと、現実の環境の統合シミュレーションモデルにおける装置のシミュレーションおよび表現体の動作の制御を可能にするステップとを含み得る。当該方法はさらに、現実の環境の統合シミュレーションモデルにおける装置のシミュレーションを用いて、現実の環境における現実の装置の動作を制御するステップを含み得る。
【００１１】
この開示の別の実施例に従うと、装置を制御するためのシステムは、当該装置が動作しているかまたは動作することとなる現実の環境の統合シミュレーションモデルを形成するためのプロセッサを含み得る。ここでは、統合シミュレーションモデルは、現実の環境に関連する既存のデータおよび実時間のデータを用いて形成される。当該システムはまた、現実の環境の統合シミュレーションモデルにおいて動作可能な装置の表現体を含むシミュレーションを表示するためのディスプレイを含み得る。制御インターフェイスを設けて、現実の環境の統合シミュレーションモデルにおける装置のシミュレーションの動作の制御を可能にし得る。当該システムはまた、現実の環境の統合シミュレーションモデルにおける装置のシミュレーションを用いて、現実の環境における装置の動作を制御するための制御スクリプトを当該装置に伝送するためのトランシーバを含み得る。
【００１２】
この開示の他の局面および特徴は、添付の特許請求の範囲によってのみ規定されるとおり、添付の図面に関連付けてこの開示の以下の非限定的な詳細な説明を検討することにより当業者に明らかになるだろう。
【発明を実施するための最良の形態】
【００１３】
開示の詳細な説明
実施例についての以下の詳細な説明は、この開示の具体的な実施例を例示する添付の図面を参照する。さまざまな構造および動作を有する他の実施例は、この開示の範囲から逸脱するものではない。
【００１４】
当業者に理解されるように、この開示は、方法、システムまたはコンピュータプログラムプロダクトとして具体化され得る。したがって、この開示の部分は、完全にハードウェアの実施例、（ファームウェア、常駐するソフトウェア、マイクロコードなどを含む）完全にソフトウェアの実施例、または、この明細書中においてすべてが概して「回路」、「モジュール」、「ユニット」もしくは「システム」と称され得るソフトウェアとハードウェアとの局面を組合せた実施例の形をとり得る。さらに、この開示は、媒体において具体化されるコンピュータ使用可能なプログラムコードを有するコンピュータ使用可能な記憶媒体上でコンピュータプログラムプロダクトの形をとり得る。
【００１５】
如何なる好適なコンピュータ使用可能またはコンピュータ読取可能な媒体が用いられてもよい。コンピュータ使用可能またはコンピュータ読取可能な媒体は、たとえば、電子的、磁気、光学、電磁気、赤外線または半導体のシステム、機器、装置、または伝搬媒体であり得るが、これらに限定されない。コンピュータ読取可能な媒体についてのより具体的な例（限定的なリスト）は以下のものを含むだろう。すなわち、１つ以上の配線を有する電気的接続、携帯用のコンピュータディスケットなどの有形の媒体、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読出専用メモリ（ＲＯＭ）、消去およびプログラム可能な読出専用メモリ（ＥＰＲＯＭもしくはフラッシュメモリ）、光ファイバ、携帯用のコンパクトディスク読出専用メモリ（ＣＤ−ＲＯＭ）、または、他の有形の光学もしくは磁気記憶装置、または、インターネットもしくはイントラネットをサポートするような伝送媒体である。なお、コンピュータ使用可能またはコンピュータ読取可能な媒体は、プログラムが印刷される紙または別の好適な媒体であってもよい。というのも、プログラムは、
たとえば紙または他の媒体を光学的にスキャンすることによって電子的に取込まれ、次いで、必要に応じて好適な態様でコンパイル、解釈または処理され、さらに、コンピュータメモリに記憶され得るからである。この文書の文脈においては、コンピュータ使用可能またはコンピュータ読取可能な媒体は、命令実行システム、機器もしくは装置によって用いられるかまたはこれに関連付けて用いられるプログラムを包含、記憶、通信、伝搬または移送し得る如何なる媒体であってもよい。
【００１６】
この開示の動作を実行するためのコンピュータプログラムコードは、Java（登録商標）、Smalltalk、Ｃ＋＋などのオブジェクト指向のプログラミング言語で書込まれてもよい。しかしながら、この開示の動作を実行するためのコンピュータプログラムコードはまた、「Ｃ」プログラミング言語または同様のプログラミング言語などの従来の手続きプログラミング言語で書込まれてもよい。プログラムコードは、完全にユーザのコンピュータ上で、スタンドアローンのソフトウェアパッケージとして部分的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、部分的に遠隔コンピュータ上で、または、完全に遠隔コンピュータもしくはサーバ上で実行可能である。後者のシナリオの場合には、遠隔コンピュータは、ローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）を通じてユーザのコンピュータに接続され得るか、または、接続が（たとえば、インターネットサービスプロバイダを用いたインターネットを通じて）外部のコンピュータに対してなされてもよい。
【００１７】
この開示は、開示の実施例に従った方法、機器（システム）およびコンピュータプログラムプロダクトのフローチャート図および／またはブロック図に関連付けて以下に説明される。フローチャート図および／またはブロック図の各ブロック、ならびに、フローチャート図および／またはブロック図におけるブロックの組合せがコンピュータプログラム命令によって実現可能であることが理解されるだろう。これらのコンピュータプログラム命令を汎用コンピュータのプロセッサ、特殊用途のコンピュータまたは他のプログラム可能なデータ処理機器に与えて、コンピュータのプロセッサまたは他のプログラム可能なデータ処理機器を介して実行される命令がフローチャートおよび／またはブロック図のブロックにおいて特定される機能／動作を実現するための手段を作成するような機械を実現し得る。
【００１８】
これらのコンピュータプログラム命令はまた、コンピュータ読取可能なメモリに記憶されてもよく、コンピュータ読取可能なメモリに記憶された命令がフローチャートおよび／またはブロック図のブロックにおいて特定される機能／動作を実現する命令手段を含む製品を実現するように、特定の態様でコンピュータまたは他のプログラム可能なデータ処理機器に機能するよう指示し得る。
【００１９】
コンピュータプログラム命令はまた、コンピュータまたは他のプログラム可能なデータ処理機器にロードされて、一連の動作ステップをコンピュータまたは他のプログラム可能な機器上で実行させることにより、コンピュータまたは他のプログラム可能な機器上で実行される命令がフローチャートおよび／またはブロック図のブロックにおいて特定される機能／動作を実現するためのステップを提供するようにコンピュータ実現型プロセスを実現し得る。
【００２０】
図１は、時間遅延のオプションを有する統合シミュレーションを用いて装置の動作を制御するための、この開示の実施例に従った例示的な方法１００のフローチャートを示す。当該装置は、無人の航空システム（ＵＡＳ）もしくは輸送手段（ＵＡＶ）もしくは他の航空輸送手段、陸上の輸送手段、たとえばマーズローバー、月面ローバー、地球上で使用可能な他の輸送手段、船舶、無人の潜水艇、または如何なる種類の機械、工場、工場における機械もしくはシステムであってもよい。
【００２１】
ブロック１０２において、現実のミッションもしくは動作の環境、または当該装置が動作しているかもしくは動作し得る状況に関連する、既存のデータまたは情報が取得され得る。既存のデータの例は、現実の環境もしくは状況の写真もしくは画像、地形、天気予報、環境もしくは状況における対象となる目標もしくは地点に関連する記述、位置および他の情報、環境における装置に対する脅威もしくは危険要因に関連する記述、位置および他の情報、または、対象となり得る動作の環境もしくは状況に関連する他の如何なるデータをも含み得る。既存のデータは、衛星または衛星システム、航空および／または地上偵察、固定された位置、上記手段または他の手段のいずれかに関連付けられるセンサによって取得されてもよい。
【００２２】
ブロック１０４において、現実の動作環境の少なくとも１つの仮想モデルが、既存のデータに基づいて生成または形成され得る。
【００２３】
ブロック１０６において、現実の動作もしくはミッションの環境または状況に関連する、実時間のデータまたは情報が取得され得る。実時間のデータまたは情報の例はまた、現実の環境もしくは状況の写真もしくは画像、地形、天気予報、環境もしくは状況における対象となる目標もしくは地点に関連する記述、位置および他の情報、環境における装置に対する脅威もしくは危険要因に関連する記述、位置および他の情報、または、対象となり得る動作の環境もしくは状況に関連する他の如何なるデータをも含み得る。実時間のデータはまた、衛星または衛星システム、航空および／または地上偵察、固定された位置、上記手段または他の手段に関連付けられるセンサによって取得され得る。
【００２４】
ブロック１０８において、現実のミッション環境または状況の少なくとも１つの仮想モデルは、実時間のデータに基づいて形成または生成され得る。
【００２５】
ブロック１１０において、仮想モデルは、装置が動作しているかまたは動作することとなる現実の動作環境、ミッション環境または状況の統合シミュレーションモデルを生成または形成するよう一体化され得るかまたは組合され得る。動作環境をモデル化するのに用いられ得るソフトウェアまたはプログラムの例は、カリフォルニア州（California）のマウンテンビュー（Mountain View）にあるグーグル（Google）によって提供されるグーグル・アース（Google Earth）、サウスカロライナ州（South Carolina）のコロンビア（Columbia）にあるラミナー・リサーチ（Laminar Research）によって提供されるGlobal-SceneryもしくはX-Scenery、または、同様のソフトウェアアプリケーションを含み得る。複数の写真に基づいた正確な三次元のコンピュータモデルは、カナダ（Canada）のブリティッシュ・コロンビア州（British Columbia）、バンクーバー（Vancouver）にあるイー・オー・エス・システムズ社（EOS Systems, Inc.）から入手可能なPhotoModelerなどのソフトウェア、または同様のソフトウェアもしくはプログラムを用いて生成され得る。グーグルは、米国、他の国またはその両方におけるグーグル社（Google, Inc.）の商標である。Global-SceneryおよびX-Sceneryは、米国、他の国またはその両方におけるラミナー・リサーチの商標であり、PhotoModelerは、米国、カナダおよび他の国々におけるイー・オー・エス・システム社の商標である。統合シミュレーションモデルは、実時間のデータまたは他のデータに基づいて継続的に更新され得る。
【００２６】
大気および／または天候の条件はまた、さまざまな計器を用いて測定または決定され、現実の環境の統合シミュレーションモデルに組込まれてもよい。たとえば、大気の動きは、レーザベースのセンサまたは同様のセンサを用いて遠くから測定することができる。動作環境または状況における条件はまた、レーダー、マイクロ波、赤外線および光のセンサなどのさまざまな種類の電磁センサを用いて測定または決定され得る。これらのセンサからのデータは、さまざまな種類またはタイプの情報に集約させるよう多数の方法で処理す
ることができる。たとえば、周波数の偏移は、ドップラーの原理に従って目標または他の装置による動きと解釈されてもよい。
【００２７】
ブロック１１２において、現実の環境の統合シミュレーションモデルにおいて動作可能な現実の装置の表現体を含むシミュレーションが生成または作成され得る。
【００２８】
ブロック１１４において、現実の環境のシミュレーションモデルにおいて動作する装置の表現体を含むシミュレーションは、現実の環境の統合シミュレーションモデルにおける現実の装置のシミュレーションおよび表現体の動作の制御を可能にするようオペレータに示され得る。
【００２９】
ブロック１１６において、シミュレーションは、統合シミュレーションモデルにおけるシミュレートされた装置の動作とともに制御され得る。この明細書中においてより詳細に記載されるとおり、シミュレーションのさまざまな特徴、たとえば、装置の飛行経路または移動経路、装置またはシミュレーションの速度、時間遅延のオプション、リドゥ（re-do）のオプション、シミュレーション時に装置の動作がそこから観察されるさまざまな視点などは、オペレータによって制御されてもよい。時間遅延のオプションにより、シミュレーション時の動作の実行と、現実の環境における装置による同じ動作または関連する動作の実行との間に所定の期間が与えられる。この時間遅延を調整することにより、ミッションについての重大な操作または重要な局面のための時間や、判断を下すための時間を増やすことができるだろう。シミュレーションは、作業負荷が軽い間に、時間遅延を増大させるよう速度が上げられてもよい。時間遅延はまた、現実の装置が動作を行なう前に、シミュレーションにおける如何なる誤りをも訂正するかまたはシミュレーションにおける選択された動作もしくは機能をリドゥすることを可能にし得る。
【００３０】
システムにおけるコンピュータベースのシミュレーションは極めて一般的である。たとえば、飛行シミュレータは、現在、パイロットの訓練に用いられている。飛行シミュレータは、一般に、コックピットの透明性と現実の入力とによる映像スクリーンビューを備えたレプリカの飛行機のコックピットを用いている。飛行機の飛行特性および外部環境はコンピュータにおいてモデル化され得る。現実のミッションのシミュレーションを訓練の目的で「流す」ことができる。数例を挙げると、ラミナー・リサーチによるX-Planeや、マイクロソフト・フライトシミュレータ（Microsoft Flight Simulator）などの飛行シミュレータも現在一般的である。X-Planeシミュレータは、外部ビューと計器パネルとを単一のコンピュータスクリーン上に組込んでおり、単一のキーボードおよびジョイスティックで動作させることができる。他の多くのシステムのシミュレーションも利用可能である。
【００３１】
この開示の実施例に従うと、シミュレーション時のオペレータによる制御入力は、時間を遅延させて現実の装置に伝えられてもよい。時間の遅延は、シミュレーションを「一時停止させる（pause）」かまたは「巻戻す（rewind）」機会を与えるようオペレータによって調整可能であり得る。オペレータは、あまりに多くの情報が示されている期間中にオプションについて検討するかまたは理解を容易にするためにシミュレーションを一時停止させてもよい。代替的には、オペレータは、誤りが起こった可能性があるかまたは或る機能の性能が改善される可能性があると判断し得る。この場合、オペレータは、動作を「リドゥ」し、エラーを訂正するかまたは性能を向上させるために、或る期間だけシミュレーションを「巻戻し」得る。なお、巻戻し期間は、シミュレーションと、現実の装置のシミュレートされた動作の性能との間の時間遅延を超えてはならない。ブロック１１８において、調整可能な時間遅延およびリドゥのオプションは、現実の動作環境における現実の装置動作に先行するかまたは少なくとも同時に起こるよう管理され得る。巻戻しのオプションが時間遅延を超えてしまう場合、または、現実の装置が操作を実行すべき前に制御信号を確実に送信するために、巻戻しがいくらかの時間マージンのある時間遅延の程度までに
限って許容されている場合、警告を発してもよい。
【００３２】
一時停止または巻戻しにより時間遅延が低減されることとなる。オペレータが先の時間遅延を回復させることを希望する場合、当該オペレータは、所望の遅延に達するまで速度を上げて（早送りで）シミュレーションを実行させることができる。この場合、オペレータの制御入力と、当該装置への制御信号の伝送との間の遅延は、現実の装置のために一定の速度で時間が経過するように調整されなければならない。
【００３３】
最適な時間遅延は、動作環境が如何に動的であり得るかに幾分依存する可能性がある。静的な環境においては、長い遅延を用いることができる。極めて動的な環境においては、時間遅延をなくすことができる（または、いくらかのレイテンシが避けられない場合には最小限にすることができる）。場合によっては、最適な遅延は、ある中間の時間長さとなるだろう。
【００３４】
エラー訂正のための一時停止またはリドゥについての代替例も可能であり得る。この開示の別の実施例に従うと、装置のシミュレートされた能力は、当該装置の実際の能力を上回るよう設定されてもよい。言い換えれば、シミュレートされた装置は、現実の装置に比べて変更または強化された性能特性で動作させることにより、シミュレーションの際にいくつかの動作または機能がより効率的または効果的に実行され得る。たとえば、飛行機は、重力による力の１０倍、すなわち１０Ｇで垂直に加速する能力を有するかもしれない。これにより、たとえば、飛行機が丘陵性の地形に追従し得る程度が制限されてしまう。他方では、シミュレーションでは、たとえば２０Ｇを引き上げる能力があり得る。シミュレートされたミッションにおいては、オペレータは、加速を１０Ｇに制限するよう試みて経路を飛行し得る。オペレータは、エラーを犯した場合、地形に対するシミュレートされた衝突を回避するためにより強く引き上げることができる。制御ソフトウェアは、シミュレートされた飛行経路を補正することにより、現実の航空機が、航空機の動作限度を超えることなく、シミュレートされた飛行経路に物理的に可能な限り近接して追従することを可能にし得る。飛行経路を変更できる度合いは遅延期間に依存することとなる。したがって、ブロック１２０において、現実の装置が、シミュレートされた動作を実際により効率的および効果的に行なえるように、現実の装置の動作限度に基づいて必要な補償が実行されてもよい。代替的には、いくつかのシステムにおいては、当該装置のシミュレートされた能力を低下させることが有利になり得る。このように低下させることにより、たとえば、シミュレーションスクリプトと現実のシステムの能力との間の性能マージンを有効に与えることができる。これにより、現実のシステムが、現実の性能を低減させるおそれのある不確実な環境またはシステム要因を考慮に入れてスクリプトに正確に追従することのできる可能性が増大する。
【００３５】
ブロック１２２において、制御スクリプトは、シミュレーションに基づいて生成されてもよい。ブロック１２４において、制御スクリプトは現実の装置に伝送されて、現実の環境において装置の動作を制御し得る。制御スクリプトは、現実の環境の統合シミュレーションモデルにおける装置のシミュレーションの動作を制御しつつ継続的に生成されてもよい。次いで、制御スクリプトが現実の装置にストリーミングされてもよい。これにより、データが、データの実質的に連続的な流れとして現実の装置に直接送信され得る。先に述べたのと同様に、シミュレーションにおける機能の実行後に現実の装置が当該機能をいくらかの予め定められた期間にわたって実行するように、制御スクリプトが予め定められた時間遅延の後に現実の装置にストリーミングされてもよい。
【００３６】
いくつかのシミュレーションの正確かつ繰返し可能な挙動に比べて、現実の装置の性能のばらつきは、この開示の実施例によっても管理され得る。たとえば、予めスクリプトされた一連の制御翼面のたわみにより生じる、航空機の１回の飛行についての或る飛行経路
に対し、その後の飛行についての経路が、大気条件における僅かな変動または他の軽微な変化のために全く異なったものになる可能性がある。これらの変動は、所望の飛行経路を（空間および時間的に）制御し、かつ、航空機の飛行制御システムによる制御翼面の操作を可能にして、シミュレーションが指示するとおりの経路を維持することによって対処され得る。航空機の命令された経路と現実の経路との間のずれは、特定の条件のセットにおける特定の日の航空機の能力についての情報を制御システムに与えることを可能にする。この情報はまた、現実の環境における航空機の現実の能力を明らかにするために、ミッションを調整し得るオペレータに中継され得る。
【００３７】
図１に関連して記載される開示の実施例に従うと、実時間のデータは、環境の既存のコンピュータモデルと装置の表現体とに組込まれてもよい。これにより、現実の装置を動作させる際に動的な事象および条件を考慮に入れることが可能となる。最適な時間遅延により、実時間の環境および動作の情報についての利益と、いくつかの動作のリドゥおよび／または飛行経路の変更もしくは他の動作の変更についての利益とのバランスを取ることもできる。調整可能な時間遅延により、環境が不確実な場合の変動に対して動的な応答を行なうことが可能となる。この統合能力の例は、シミュレーションに用いられるジオメトリに合致するよう処理されている現実の装置または航空機から得られるレーダーデータの統合であり得る。このデータは、ベースラインのジオメトリには存在していない新たなデータを示すようフィルタリングされてもよい。たとえば、阻塞気球などの障害物の配置は、レーダーによって検出され得るかまたはシミュレーションの際に表示され得る。この例においては、現実の航空機は、シミュレーションの対象となる区域をレーダー（または他のセンサ）が認識することのできないシミュレーションの（空間的に）後方にあってはならない。
【００３８】
この開示の実施例の別の特徴は、シミュレーションを用いることにより、ミッションについての現実の時間に比べて、ミッションを実行するためのオペレータ時間を減らせることである。このモードでは、シミュレーションは、シミュレートされたミッションの期間が短くなるようにより高速で実行可能である。現実の装置の動作を制御するためにシミュレーションを再生する場合、正確な速度または通常の速度で再生がなされる。なお、このモードでは、現実のミッションが、シミュレートされたミッションと同時に開始され得ることに留意されたい。
【００３９】
代替的には、オペレータが動作を調整するための時間を増やし、これにより、精度を高めるかまたはより十分に考慮された判断が可能となるように、シミュレーションにおけるダウンタイムを遅くすることによりオペレータ精度を高めるよう当該システムを用いることができる。このモードでは、シミュレーションは、ミッションの終わりにシミュレーションが現実のミッションと同時となるかまたは現実のミッションに先行するような時間に、現実のミッションよりも前に開始させなければならない。
【００４０】
図２は、時間遅延のオプションを有する統合シミュレーションを用いて装置の動作を制御するための、この開示の実施例に従ったシステム２００の例を示す概略ブロック図である。方法１００は、システム２００において具体化され得るか、または当該システム２００によって実行され得る。図２に示される制御中の装置は、ＵＡＳ、ＵＡＶなどの航空機２０２であり、図２に示されるこの開示の実施例は、飛行機または航空機２０２の動作の制御に関して説明される。しかしながら、この開示は、如何なる種類の輸送手段、機械またはシステムを制御するよう適合されてもよい。
【００４１】
システム２００は、装置または航空機２０２が動作しているかまたは動作することとなる現実の動作環境２０８または状況の統合シミュレーションモデル２０６を形成するための画像プロセッサ２０４を含み得る。先に述べたのと同様に、統合シミュレーション環境
モデル２０６は、現実の環境２０８に関連する既存のデータまたは情報と、現実の環境２０８に関連する実時間のデータとを用いて形成され得る。
【００４２】
画像プロセッサ２０４は、トランシーバ（Ｔｘ／Ｒｘ）２１０に結合され得る。トランシーバ２１０は、現実の航空機２０２と、衛星２１２または複数の衛星を含む衛星システムとから、現実の環境２０８に関連する既存のおよび／または実時間のもしくは現在のデータを受信し得る。トランシーバ２１０はまた、他の輸送手段（空輸および地上）などの他の移動可能な装置または固定された位置から、環境２０８に関連する既存のデータおよび実時間のデータを受信し得る。航空機２０２、他の装置または輸送手段および固定された位置は、この明細書においてより詳細に記載されるとおり、環境に関連する何らかの特徴、たとえば地理的データ、脅威および目標の情報、大気条件および天候条件、ならびに、対象となり得るかまたはミッションにとって重要となり得る他の条件または情報、を検出するためのセンサを含み得る。
【００４３】
トランシーバ２１０はまた、地理的位置、速度、高度、飛行経路、輸送手段システムの状態、および、ミッションに応じて対象となり得る他のデータまたは情報などの、航空機２０２の動作に関連するデータを航空機２０２から受信し得る。たとえば、航空機２０２は、航空機２０２によってシステム２００のトランシーバ２１０に伝送され得る緯度、経度および高度の情報を提供し得る全地球測位システム（ＧＰＳ）受信機を含み得る。使用され得る別の正確な測位システムは、ナビゲーションにおいて公知でありかつ一般に用いられるジャイロスコープセンサから得られる角度情報に加えて３軸加速に基づいた慣性誘導システムであってもよい。
【００４４】
画像プロセッサ２０４は、ジオメトリ変換モジュール２１４およびオーバーレイ制御モジュール２１６を含み得る。変換モジュール２１４は、現実の環境２０８の統合シミュレーションモデル２０６の形成時に使用されるトランシーバ２１０が受信したデータを変換し得る。オーバーレイ制御モジュール２１６は、現実の環境２０８に関連する既存および実時間のデータから生成された現実の動作環境２０８のさまざまな仮想モデルまたは画像を適切に整列またはオーバーレイさせて、現実の環境の統合シミュレーションモデル２０６を形成してディスプレイ２２５上で表現し得る。
【００４５】
オーバーレイ制御モジュール２１６はマッピング機能を実行し得る。画像のマッピングは、二次元および三次元の情報をある形状から別の形状に変換することに関する。カメラは、画像をマップするのに用いることのできる一装置の例である。カメラは、視点（レンズノード）および画像面（概して平坦）を提供する。外界における地点は、視点を通じて画像面に投影される。マッピングの正確な結果は、カメラの向き、画像面から視点（焦点距離）までの距離に対する画像面のサイズ、および、他のいくつかの要因に依存している。カメラは、その視野の範囲内で三次元配列をその画像面にマップすることができる。
【００４６】
マッピングの別の形式は、異なる視点から見るのと同じ画像を示すよう画像を再度形成することに関する。これについての例は、上方から見ると非常に細長く現れるが操縦者の視点からは垂直に現れるテキストに言葉（「停止」など）が映し出されている何らかの道路において見られる。別の例は、地球表面の一部の衛星写真である。この画像は、ほぼ垂直な投影となるこのような高い視点から得られる。この画像は、別の視点からは幾何学的に正確に現れるようマップされて（または歪められて）もよい。地球の表面が非平面に表わされ、そのジオメトリが既知である場合、衛星画像は、如何なる視点からも幾何学的に正確に現れるようマップすることができる。衛星画像をマップするためのプログラムの一例は、上述のグーグル・アース・プログラムであり、これにより、任意の位置および角度からの地球表面の三次元図に対し、地球についての等高線付きのジオメトリにマップされた衛星画像が与えられる。
【００４７】
マッピングに用いられ得る他の装置の例は、カメラに加えて、レーダー、ライダー（lidar）、ソナーおよびマイクロ波レーダーを含み得る。パラボラマイクロフォンなどの他の装置は、エネルギの点源またはエネルギの反射の相対角度を決定可能にし得る。
【００４８】
三次元（３−Ｄ）のマッピングはより複雑な形式のマッピングであり、これも実現可能である。三次元のマッピングはいくつかの方法で行うことができる。ある方法では、走査レーザ距離計を用いてもよい。このレーザ距離計は、パルス化されたレーザで水平角および鉛直角の範囲にわたって視野を走査する。パルスの出力からそれが戻ってくるまでの間の時間を測定することにより、当該装置は外部の物体までの距離を計算する。当該装置は、点の行列についての情報をコンパイルし、この「曇り点」から、三次元の表面ジオメトリが計算され得る。
【００４９】
三次元のマッピングの別の方法では、１つ以上のカメラからの複数の画像が用いられる。これらの画像を立体的な画像化の向上されたバージョンとして用いて、物体の正確なジオメトリを算出し得る。物体の（複数の視点からの）複数の画像における共通点のジオメトリは、当該物体の三次元ジオメトリを決定するよう分析され得る。画像のうちの少なくとも１つの画像の視点位置、角度および視野が既知であれば、三次元ジオメトリの位置およびスケールを算出することができる。物体または対象物に対して同一線上にない視点から複数の画像を得ることは有利である。また、面が物体または対象物と交差する場合、同一平面上にない視点を有することも所望され得る。加えて、大幅に異なる視点を有することにより、視界に実質的な違いが与えられ、計算の精度が高められる。このような三次元マッピングを実行することのできるソフトウェアアプリケーションの例は、マイクロソフト・ライブ・ラボ（Microsoft Live Labs）によって提供されるPhotosynthである。MicrosoftおよびPhotosynthは、ワシントン州（Washington）のレドモンド（Redmond）にあるマイクロソフト社（Microsoft Corporation）の商標である。マイクロソフト・ライブ・ラボのPhotosynthのウェブサイトに示されるように、Photosynthは、場所または物体の写真を多数収集し、これらの類似点について分析することができる。次いで、これらの写真は、再度構築された三次元の空間において表示されてもよい。Photosynthでは、ユーザは、写真を用いて如何なる角度からも場所または物体を見るために、場面を仮想的に歩くかまたは飛行することができる。写真は継目なしに拡大または縮小することができる。
【００５０】
画像プロセッサ２０４はまた、シンボル体系モジュール２１８および追跡制御モジュール２２０を含み得る。シンボル体系モジュール２１８は、統合シミュレーションモジュール２０６における現実の環境２０８内のさまざまなランドマークまたは特徴を表現または識別するよう予め定められた記号を割当て得るかまたは関連付け得る。追跡制御モジュール２２０は、現実の環境２０８における航空機２０２の如何なる動きをも追跡して、シミュレーション２２２における現実の航空機２０２の表現体２２１の動きを追跡し得る。
【００５１】
環境シミュレーションモジュール２２４は画像プロセッサ２０４に関連付けられて、ディスプレイ２２５上に表示される現実の環境の統合シミュレーションモデル２０６の形成を支援し得る。環境シミュレーションモジュール２２４は、現実の環境２０８からの実時間のデータに基づいてシミュレーション２２２における天候条件をより正確にシミュレートするために、地理的データベース２２６、脅威および目標データベース２２８、画像データベース２３０および天候データベース２３１またはモジュールを含み得る。
【００５２】
地理的データベース２２６は、現実の環境２０８に関連する既存の地理的データを記憶し得る。地理的データは、上述したのと同様に調査、写真、地形マップまたは他のソースから得られてもよい。脅威および目標データベース２２８は、統合シミュレーションモデル２０６における表現体のために、現実の環境２０８内における現実の航空機２０２に対
する起こり得る脅威または危険要因に関連する如何なる既存のデータをも記憶し得る。脅威および目標データベース２２８は、統合シミュレーションモデル２０６内での表現体のために、現実の環境２０８内の対象となる目標または点に関連する如何なる既存のデータをも記憶し得る。画像データベース２３０は、現実の環境２０８に関連する如何なる画像にも対応する如何なる既存のデータをも記憶し得る。上述のとおり、画像は、衛星２１２、現実の航空機２０２または他の装置によって集められてもよい。
【００５３】
脅威および目標は動的であり得る。すなわち、これらは、時間が経つにつれて特徴および位置を変える傾向があり得る。これらの性質に応じて、特徴的な期間は、日、時、分または秒であってもよい。加えて、シミュレーションがそれらに基づいている地形または地理的データベース２２６および画像データベース２３０は、週、月または年であってもよい。したがって、実時間のデータまたは少なくともより最新のデータでシミュレーション２２２を更新することは有益であり得る。データの更新により、新たな障害物または起こり得る脅威を回避することが可能となり得る。無人の輸送手段の動作時には、オペレータと、制御されている輸送手段または装置との間の距離が広くなる可能性があり、結果として、固有の制御ループの遅れが生じ得る。環境データを更新することにより、現実の環境２０８内における脅威または目標の移動などの動的な変化に対応するオペレータの能力を向上させることができる。
【００５４】
実時間のデータまたは現在のデータは、多数のソースから得ることができ、多数の方法でオペレータ２３４に提示され得るが、既存のデータなどの他のデータとともに、統合された容易に理解可能な方法で提示される必要がある。この開示の一実施例に従うと、実時間の画像は、地理的データベース２２６における三次元の地形または地理的データ上にオーバーレイされてもよい。この機能は、オーバーレイ制御モジュール２１６において実行され得るか、またはオーバーレイ制御モジュール２１６によって制御され得る。先に述べたのと同様に、実時間の画像は、１つ以上の上空の衛星、偵察用飛行機、または地上ベースのカメラもしくはセンサから得られてもよい。代替的に、またはそれに加えて、画像は現実の飛行機２０２から得られてもよい。これらの画像は、上述のとおり、地形のシミュレーション上にマップされ、次いで、視点２３６などの所望の視点からシミュレーションにおいて示され得る。
【００５５】
この開示の別の実施例に従うと、三次元の地形モデルは、飛行中のシミュレーションにおける地形を画像でラップする（wrapping）ことで作成可能である。地形モデルは、上述のとおり、Photosynthなどの三次元地形モデル化ソフトウェアアプリケーション、または別の地形モデル化ソフトウェアパッケージを用いて作成され得る。地形は、上述のグーグル・アースと同様のプロセスを用いてラップされてもよい。三次元地形モデルを作成するカメラは、１つ以上の衛星、偵察用飛行機または地上の位置にあってもよい。代替的には、または加えて、カメラは現実の飛行機２０２に搭載され、その動きを用いて、三次元シミュレーションモデルを算出するのに必要な複数の視点を提供し得る。実時間の三次元地形モデルの形成は、新たな人工の構造を識別するという利点を有する。
【００５６】
実時間の三次元地形モデルを作成することの別の利点は、いくつかの状況においては、地形のジオメトリが予め完全には既知であり得ないことである。このことの例は、火星などの惑星の岩が多く複雑な表面上で無人のローバーを地球から操作することである。この場合、三次元モデルを作成するための上述の方法を用いて、ローバー周囲の領域をモデル化することができる。これらのモデルは、この明細書中に記載のとおり、シミュレートされた動作において用いることができ、次いで、シミュレーションからのスクリプトを用いて現実のローバーを動作させることができる。この構成の利点は、地球と火星または別の天体との間の遠く離れた距離にわたり、制限された光の速度によってもたらされる制御ループ時間が異常に長くなることを防ぐことである。
【００５７】
この開示の別の実施例に従うと、脅威、目標および他の特徴は、オペレータ２３４が容易に認識できるように画質向上されるか、または強調もしくは識別され得る。これらは、色、輝度またはグラフィック記号を用いることによって強調され得る。これらは、ディスプレイ上で、この明細書中に記載のとおり、オペレータ２３４に示され得るか、または場合によっては、サポートオペレータ（ブロック２４６）に示され得る。これらの特徴のうちのいくつかは、主要なオペレータのディスプレイ２２５を制御または変更し得るサポートオペレータによって識別され得る。
【００５８】
上述のとおり、環境シミュレーションモジュール２２４は、現実の環境２０８における現在の実際の天候または大気の条件をより正確にシミュレートするための天候データベース２３１またはモジュールを含み得る。現実の環境２０８における現在または実時間の天候条件に関して、風速および風向は、測定された対気速度および飛行機の飛行方向を飛行機の対地速度および航跡と比較することによって推定され得る。対気速度および飛行方向は、それぞれ、航空機の対気速度センサおよびそのコンパスから決定することができる。対地速度および航跡は、先に述べたのと同様に、ＧＰＳまたは慣性システムによって測定され得る。次いで、この情報は、飛行機２０２からトランシーバ２１０に送信されて、システム２００によってシミュレーション２０６に統合され得る。
【００５９】
現在または実時間の乱気流のレベルは、３つのすべての軸上で直線加速度および角加速度を測定する加速度計または他のセンサで測定され得る。これらの値を用いることにより、シミュレートされた飛行機が現実の飛行機２０２と同じ規模および特性の加速度を経験するように、シミュレーション乱気流モデルパラメータを駆動することができる。天候モジュール２３１は、シミュレーション２２２における乱気流の影響を実質的にシミュレートするように実時間の乱気流レベルを処理し得る。加速度計または他のセンサは、現実の飛行機２０２、または、他の空中もしくは地上の偵察用輸送手段または固定された位置に関連付けられてもよい。
【００６０】
システム２００はまた、現実の環境２０８の統合シミュレーションモデル２０６における現実の航空機２０２の表現体２２１を含むシミュレーション２２２の動作をオペレータ２３４が制御することを可能にするための制御装置を含む制御インターフェイス２３２を含み得る。制御インターフェイス２３２は、統合シミュレーションモデル２０６における航空機２０２の表現体の飛行経路、シミュレーションの速度および／または航空機の表現体２２１の速度、シミュレーション２２２の時間遅延、装置システムまたは飛行輸送手段システム、ならびに、航空機２０２のシミュレーションの特徴を制御するための制御装置または手段を含み得る。上述のとおり、シミュレーション２２２は、現実の環境２０８における航空機２０２より前に、予め定められた期間、動作させてもよい。言い換えれば、航空機２０２の現実の動作は、より正確な操作または判断を行なうために飛行のうち肝要な部分をより低速でシミュレートすることを可能にするか、または、選択された動作もしくは機能のリドゥを可能にするように、予め定められた期間だけ時間遅延されてもよい。したがって、シミュレーション２２２は、図２における仮想の航空機２３５で示されるように、現実の動作環境２０８における航空機２０２に先立って実際に動作していてもよい。仮想の航空機２３５は、現実の環境２０８における現実の航空機２０２に比べて、シミュレーション２２２における装置の表現体２２１の時間フレームを示す。
【００６１】
オペレータ制御インターフェイス２３２はまた、シミュレーション２２２がそこから観察される視点２３６を制御し得る。さまざまな視点２３６の例は、シミュレーション２２２における航空機の表現体２２１内からの視点、図２における視点２３６と同様に、航空機の表現体２２１の外側の視点、ならびに、航空機の表現体２２１および航空機２０２に関連付けられる計器を含む視点を含み得る。後者の視点の例は、航空機２０２内のパイロ
ットが見ることとなる計器を含む航空機２０２のコックピットのシミュレーションであってもよい。
【００６２】
システム２０２はまた、シミュレーション２２２における航空機の表現体２２１の動作特性を制御し、かつ、現実の環境２０８における航空機２０２の如何なる動作制限をも補償するための装置または飛行輸送手段シミュレーションモジュール２３８を含み得る。上述のとおり、シミュレーションは、実時間のデータまたは更新されたデータをシミュレーションに組込むことによって実質的に改善され得る。したがって、飛行輸送手段シミュレーションモジュール２３８は、現実の航空機２０２の動作に関連する実時間のデータまたは更新されたデータをトランシーバ２１０を介して受信して、シミュレーション２２２に組込み得る。航空機２０２の現実の性能は、シミュレーション２２２の主要なパラメータが飛行中に調整され得るように、飛行中に決定され、シミュレーション２２２に中継され得る。公知でありかつ飛行試験団体が用いているパラメータ識別などの技術を用いて、航空機２０２の推力および抗力特徴を飛行中に推定することができる。これらの測定値をシミュレーション２２２に中継して、これらの主要な航空機パラメータを調整することができる。飛行機の性能についての他の局面は、パイロットまたはシミュレーションオペレータ２３４にとって関心があるものとなり得る。これらは、エンジン温度、毎分回転数（ＲＰＭ）、システム警告（漏れ、火災など）、燃料量、選択されたシステムに関連付けられる電圧および電流、液圧、または対象となる他のシステムパラメータなどのパラメータを含むシステムの状態を含み得る。
【００６３】
上述のとおり、シミュレーション２２２における航空機の表現体２２１は、何らかの動作をより効率的または効果的に実行するために、現実の航空機２０２に比べて、特徴を改善させるかまたは変更して動作させてもよい。改善された動作または変更された動作は、現実の航空機の２０２の飛行または動作の限度に基づいて補償され得る。
【００６４】
システム２００はさらに、装置または飛行制御およびシステムプロセッサ２４０を含み得る。制御スクリプト生成器２４２は、先に述べたのと同様に、現実の環境２０８において航空機２０２を制御するためのシミュレーションに基づいて制御スクリプトを生成するために、飛行制御およびシステムプロセッサ２４０において具体化され得る。
【００６５】
バッファ２４４は、航空機２０２に伝送される前に制御スクリプトをバッファリングするために設けられてもよい。シミュレーション２２２が航空機２０２の現実のミッションまたは動作に先立って実行され得、制御スクリプトが適切な時間フレーム内で制御スクリプトをトランシーバ２１０から航空機２０２に伝送するようバッファリングされ得るので、システム２００におけるレイテンシは、オペレータのエラーと同様に実質的に減らすかまたはなくすことができる。
【００６６】
システム２００はまた、補助オペレーションモジュール２４６を含み得る。補助オペレーションモジュール２４６または特徴は、先に述べたのと同様に、シミュレーション２２２の判断と動作の制御とを支援するためのサポート動作を含み得る。
【００６７】
上述のように、制御スクリプトは、シミュレーション２２２から生成されてもよく、制御スクリプトを用いて、航空機２０２を動作させるかまたは飛行させてもよい。制御スクリプトは、航空機２０２の位置および飛行経路を規定するために時間関数として空間座標および角度値を規定し得る。時間は、たとえば１０分の１秒のわずかな増分に分割され、各々の増分について、空間座標および角度値が特定され得る（なお、いくつかの値が他のものよりも頻繁に供給（または更新）され得ることに留意されたい）。データストリームは、シーケンス、たとえば時間（Time）１、Ｘ、Ｙ、Ｚ、角度（Angle）１、角度２、角度３；時間２、Ｘ、Ｙ、Ｚ、角度１、角度２、角度３；時間３などに追従し得る。
【００６８】
座標および角度については、時間はさまざまな方法で特定されてもよい。一般に、単位時間は秒であってもよい（分、時、日などは秒についての変形例であり得る）。時間は、任意の瞬間後の期間として特定されてもよい。たとえば、時間は、（時間が任意に０に設定された）開始後３２．５秒であるとも言える。代替的には、「標準時」（ＵＴ：Universal Time）として公知である時間についての国際的な基準が存在し、この場合、時間が一定の速度で連続的に流れ、日、時、分および秒に換算して特定される。標準時は国際的な換算であり、世界全体を通じて同じである。このため、上述の例を挙げると、ある事象の開始後３２．５秒はまた、たとえば３月１４日の１６時８分４５．３１２秒（時、分および秒）であり得る。
【００６９】
一般に、シミュレーションは、標準時に固定されることなく任意の時間に実行され得る。しかしながら、シミュレーションはＵＴで行なわれる可能性があり、このため、シミュレーションにより現実のＵＴが制御スクリプトに記録される。代替的には、シミュレーションは、当該シミュレーションが未来において（シミュレーションが行なわれた後のシミュレートされたＵＴで）、または、過去において（シミュレーション前からのシミュレートされたＵＴで）行なわれるように、シミュレートされたＵＴで行なわれてもよい。
【００７０】
制御スクリプトが現実のＵＴでシミュレーションを記録する場合、このシミュレーションを時間に対して正確に再生することはできない。というのも、スクリプトが再生され得る前に真のＵＴ時間が過ぎてしまうからである。過去に行なわれるシミュレーションについても同じ問題が生じる。
【００７１】
しかしながら、これは、未来からのＵＴで記録されたシミュレーションには当てはまらない。たとえば、火曜日に、次の日（水曜日）からのＵＴで、同じ時刻にシミュレーションを記録することができる。このシミュレーションは、水曜日の現実の飛行時に真のＵＴ時間で再生され得る。これにより、スクリプトおよび現実の飛行機を準備するために正確に１日を付与することとなる。シミュレーションと現実の動作との間の遅延が正確に１日であるとも言える。
【００７２】
シミュレーションと現実の飛行との間の遅延は、正の値であってもよい（正であれば、シミュレーション後に現実の飛行を行なう）。最小値は、スクリプトを準備、中継および処理するのにどれだけの時間がかかるかを決定する技術的検討によって制限される。最大値は無制限であり得る。シミュレーションと現実の飛行との間の時間遅延が飛行の期間未満とされてもよい。これは、シミュレーションの完了前に、現実の飛行によるシミュレーションの再生が始まることを意味する。遅延制限が最小限であれば、シミュレーションスクリプトは、シミュレーションの直後に飛行機を飛行させる。これは、ほぼ「リアルタイム」と称されてもよく、全体的な遅延が実質的に短い場合、飛行機の直接的な動作としてパイロットまたはオペレータによって認識され得る。このような動作においては、シミュレーションにより、上述のとおり、速やかに制御スクリプトが作成される。当該スクリプトは航空機２０２に直ちに中継される。航空機２０２はスクリプトを処理し、特定の座標および角度をその測定された座標および角度と比較し、制御入力を行なって如何なる差も最小限にする。
【００７３】
代替的には、シミュレーションと現実の飛行との間の遅延を増大させる理由が存在する可能性がある。この場合、シミュレーションは、上述のとおり、遅延が最小限にされる前と同じように、スクリプトを作成する。しかしながら、この場合、スクリプトは、バッファ２４４などの何らかのバッファにおいて順に記憶される。バッファ２４４は、たとえば、メモリチップ、ディスクドライブまたは磁気テープであってもよい。次いで、このデータのストリームは順に再生され、所望の遅延期間の後、航空機２０２に中継され得る。
【００７４】
バッファ２４４は、シミュレーションが、現実の飛行または動作に先立って十分に実行されているのであれば、スクリプトの一部をリドゥすることを可能にする。たとえば、シミュレーション２２２は、時間をいくらか遅延させて航空機２０２の動作を制御し得る。この例のために、遅延を１００秒とする。この場合、「書込」がシミュレーションスクリプト入力を介して行なわれてから１００秒後に、バッファ２４４が「読取」されている。シミュレータのパイロットまたはオペレータ２３４がエラーを起こし、これについて「アンドゥ（Undo）」が所望されるエラーであると直ちに認識するかもしれない。彼は、ボタンまたは他の手段を押すことによって「リドゥ」オプションを実行し得る。この動作は、瞬時にシミュレーション２２２を飛び越して、予め定められたまたは選択された時間増分、たとえば２０秒、にまで戻ることとなる。当該動作はまた、バッファ２４４におけるデータのうち前の２０秒への上書きを瞬時に始め、バッファ遅延を８０秒に変更することとなる。これについての効果は、誤った入力のうちの２０秒を削除し、この誤った入力を「リドゥ」入力と置き換え、遅延を８０秒に減らすことである。
【００７５】
上述のとおり、システム２００は、時間の増分に従ってシミュレーション２２２に関連付けられる計算を実行し得る。座標、角度、推力、制御翼面位置、対気速度および方向を含む最初の条件が特定され得る。これらの条件から、シミュレータまたはシステム２００が、装置または飛行機の直線加速度および角加速度を算出し得る。これらの値を用いて、時間増分に基づいた新しいセットの条件を計算し、シミュレーション２２２における飛行機の表現体２２１の位置を表示し得る。システム２００は典型的には当該計算を実行し、当該計算で用いられる時間増分が、当該計算を実行するのにかかる現実の時間と同じ長さになるように、航空機２０２をその新しい位置において表示する。このようにして、シミュレーション２２２は、スローモーションでもファーストモーションでもなく、実質的に真の速度で進行し得る。コンピュータまたはプロセッサは、特定された時間増分よりもはるかに短い時間で計算を実行することができるだろう。この場合、少なくとも２つの方法を用いて真の速度を維持し得る。「一時停止」は、シミュレーションが真の時間と同期したままになるように、各サイクルの計算の間にルーチンにおいて挿入され得る。代替的には、計算で用いられる時間増分は、コンピュータの計算時間が時間増分と等しくなるように減らすこともできる。概して、より多くの計算ステップがあることが望ましい。というのも、これにより、シミュレーションの物理学の計算がわずかにより正確になるからである（理想的には、時間増分は無視できる程に小さくなるだろう）。また、時間増分があまりに長ければ、シミュレーションディスプレイには「カクカクした動きになる（notchy）」可能性がある。というのも、フレームレートが低すぎるからであり、滑らかな動画エフェクトではなく、個々のフレームが目立ってしまい、散漫なものになってしまう。真の時間でのシミュレーション２２２の表現体は一般に望ましいものであるが、真の時間に対してシミュレーションの速度を上げるかまたは下げることが望ましい場合もあり得る。
【００７６】
シミュレーション２２２は、上に簡潔に述べたのと同様に、少なくとも２つの手段によって減速され得る。第１に、可変長の一時停止を各々の計算サイクルの間に挿入することができる。この一時停止の長さを用いてシミュレーション２２２の速度を制御することができる。この場合、一時停止が長ければ、真の時間に対してシミュレーションがより遅くなる。この方法は、あまりにも離れて行なわれた場合、結果としてシミュレーションが滑らかでなくなってしまう可能性があり、現実のフレームが、上述のとおり、目立ってしまい、滑らかさに欠ける動きをする可能性がある。第２の方法は、シミュレーション計算が実行される時間増分を低減させることである。これによりシミュレーション２２２の速度も低減されることとなる。これらの２つの方法は組合されてもよい。
【００７７】
シミュレーション２２２はまた速度を上げることもできる。一時停止が計算サイクル間に使用される場合、この一時停止を減らすことができる。代替的には、計算サイクルにお
いて用いられる時間増分を増やすこともできる。この方法は、長さが有限である時間増分から生じる計算時の概して瑣末なエラーを誇張するという影響を及ぼす。この方法は、やり過ぎるとシミュレーションを不正確にしてしまう可能性がある。
【００７８】
シミュレーション２２２が非真の速度で実行されたとしても、シミュレーション２２２からのスクリプトは依然として真の時間に基づいて座標、角度などを出力することができる。しかしながら、これは、バッファ状態に影響を及ぼすこととなる。シミュレーション２２２が真の速度よりも速く実行される場合、読出されているよりも多くのデータがバッファ２４４に書込まれることとなる。というのも、バッファ２４４が真の速度で読出されているからである。これは、時間遅延が増大することを意味する。シミュレーション２２２が真の速度よりも低速で実行された場合、読出されているよりも少ないデータがバッファ２４４に書込まれることとなる。これは、時間遅延が低減していることを意味する。
【００７９】
シミュレーション２２２の速度を上げる能力は、多くの理由で望ましいものであり得る。１つの例示的な理由は、比較的わずかな制御入力しか必要とせず、これらの入力が特に正確でなくてもよい状況において高速の飛行プログラミングを可能にすることであり得る。このため、シミュレーションのパイロットまたはオペレータ２３４は、実時間（および実行時）にはより多くの時間を要する飛行を迅速に実行することができる。なお、現実の飛行がシミュレーション２２２のすぐ後に始まった場合であっても、飛行の終了時には時間遅延が長くなるだろう。というのも、飛行機２０２の飛行が終了するよりもかなり前にオペレータ２３４がシミュレーション２２２を終えてしまうことになるからである。これは、バッファの容量が大きいことを意味している。
【００８０】
シミュレーション２２２の速度を上げる別の理由は、上述のとおり、リドゥの後に所望のバッファ遅延または時間遅延を再度確立することであり得る。
【００８１】
シミュレーション２２２の速度を下げるための能力も望ましいものであり得る。スローモーションのシミュレーションを提供することについての１つの具体的理由は、オペレータ２３４が困難な操作のために非常に注意深く測定された制御入力を行なうことを可能にすることであり得る。または、シミュレーション２２２の速度を落として、オペレータ２３４が、さほど急がずに多くのオプションまたはミッションの特徴を検討できるようにすることであり得る。スローモーションのシミュレーション期間が最初の遅延によって制限されるように、スローモーションによりバッファ遅延を低減させる。遅延が既に最小限にされている場合、スローモーションは実行不可能である。スクリプトは常に現実の飛行に先行していなければならない。
【００８２】
航空機２０２には連続的なデータストリームスクリプトが供給されなければならない。長い期間のスキップはされるべきではない。というのも、飛行機の制御システムが頻繁な位置特定更新に依存しているからである。このため、シミュレーションのリドゥでは、シミュレーションの時間が遡るものであるが、時間シーケンスまたは位置特定を途切れさせないように、リドゥスクリプトを先行するスクリプトと同期させなければならない。特に、これは、シミュレーション２２２が時間を前方には飛び越せないことを意味する。これにより時間および位置の増分にギャップが残ることとなり、飛行機２０２には本質的に命令がないままになってしまう。さらに、これは、単に前方に飛び越すのではなく、シミュレーション速度を上げることによって、やり直しからのバッファ遅延に追いつかなければならないことを意味する。なお、シミュレーション速度の変化は急であってもよい。すなわち、シミュレーション速度は必ずしも滑らかに変化する必要はない。
【００８３】
現実の飛行時に、パイロットは、制御を調整するために飛行機からのフィードバックに依拠する。多くの有人飛行機は制御と飛行制御翼面との間が直接リンクされているので、
制御翼面は制御入力に直ちに応じる。さらに、大抵の飛行機は、制御翼面のたわみに直ちに予想通りに応答する。制御入力と飛行機の応答との間の時間遅延は、パイロットを混乱させるおそれがある。遅延はしばしば「パイロット誘起発振」（ＰＩＯ（Pilot Induced Oscillations））、または、現在一般に「パイロットを含むループの発振（Pilot-in-the-loop oscillations）」と称され得るものにつながる。このような発振の際には、パイロットは何らかの制御偏位に陥る。何も起こらないのであればパイロットはさらなる制御を行なう。あまりに多くのことが起こると、パイロットは逆の制御を行なう。基本的には、パイロットと飛行機とが互いを追跡し合うと、飛行機が発振してしまう。これは極めて不所望なことである。このような遅延は、パイロットの制御と飛行制御翼面との間を仲介する飛行制御コンピュータを用いる最近の飛行機にとって問題となっている。これらのシステムの中には、いくつかの状況でＰＩＯを引起すのに十分な時間遅延をもたらすものもある。高精度の操作においては時間遅延が最も肝心なものであり、これらの操作では発振に耐える余裕がないことが判明している。
【００８４】
研究によれば、制御入力と認識された応答との間の遅延を約０．１００秒未満に維持することにより、コンピュータが媒介する飛行機および無人飛行機においてＰＩＯを回避することができる。
【００８５】
いくつかの無人システムは、ループにおける多数の媒介するコンピュータシステムでもって、離れた位置から流されてもよい。これは、結果として、許容できない程長い制御遅延をもたらす可能性がある。これにより、無人システムのパイロットまたはオペレータの入力が包括的な誘導に有効に制限される。すなわち、飛行機が大幅に自律してそれ自体を飛行させる。
【００８６】
シミュレーションから作成されるスクリプトを記録する特徴に関連して説明されたこの開示の実施例は、シミュレーションパイロットまたはオペレータによって認識されるレイテンシを減らす。システム２００により、オペレータがはるかに直接的に無人システムを飛行させることも可能になるので、飛行機自体にはこのような大幅な自律性が必要ではなくなる。これにより、はるかに複雑で動的なミッションを容易にすることができる。この文脈における「動的」という語は、多くの要因が不確実であるミッション、または、多くの要因が時間もしくは空間に関して流動的であるミッションを意味している。
【００８７】
この開示の別の実施例に従うと、オペレータおよび制御システムは全体としてシステム内に位置し得る。このことが有利になり得るいくつかのシステム、工場、輸送手段などが存在し得る。一例として、船または他のシステムなどの非常に大型の輸送手段システムを挙げることができる。船は典型的には応答時間が非常に遅いものであり、結果が認識される数分前や、実際の不所望な事象または不要な事象が起こり得る数分前に取り消しのできないエラーが起こる可能性がある。リードタイムの長いシミュレーションモードでこのような船を動作させることにより、動作が実際に実行されるかまたは作業が開始される前に結果を認識することが可能となり得る。このようなシナリオの下では、この開示のリドゥの特徴が実行され得る。
【００８８】
図におけるフローチャートおよびブロック図は、この開示のさまざまな実施例に従ったシステム、方法およびコンピュータプログラムプロダクトについての可能な実現例のアーキテクチャ、機能および動作を示す。これに関して、フローチャートまたはブロック図における各ブロックは、特定されたロジック機能を実現するための１つ以上の実行可能な命令を含むモジュール、セグメントまたはコード部分を表わし得る。なお、いくつかの代替的な実現例においては、ブロックにおいて示される機能は、図において示される順通りには行なわれない可能性があることにも留意されたい。たとえば、連続して示される２つのブロックは実際には実質的に同時に実行されてもよく、または、ブロックは、しばしば、
関連する機能に応じて逆の順序で実行されてもよい。また、ブロック図および／またはフローチャート図の各ブロック、ならびに、ブロック図および／またはフローチャート図におけるブロックの組合せが、特定の機能もしくは動作、または、特殊用途のハードウェアとコンピュータ命令との組合せを実行する特殊用途のハードウェアベースのシステムによって実現され得ることに留意されたい。
【００８９】
この明細書において用いられる用語は、特定の実施例を説明することだけを目的としており、開示を限定することを意図するものではない。この明細書中に用いられるように、単数形の「ａ」、「an」および「the」は、文脈において明確に示されない限り、複数形も含むことが意図される。さらに、「含む（″comprises″および／または″comprising″、ならびに、″includes″および／または″including″）」という語は、この明細書中に用いられる場合、規定された特徴、整数、ステップ、動作、要素および／または構成要素の存在を特定するものであるが、１つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、および／またはそのグループの存在または追加を除外するものではないことが理解される。
【００９０】
この明細書において特定の実施例を例示および説明してきたが、当業者であれば、同じ目的を達成するために予測される構成がいずれも図示される特定の実施例と置き換え可能であり、当該開示が他の環境においては他の応用例を有することを認識するだろう。本願は、この開示の適合例または変形例を包含するよう意図されたものである。添付の特許請求の範囲は、開示の範囲をこの明細書中に記載される特定の実施例に限定することを意図したものではない。
また、本発明は以下に記載する態様を含む。
（態様１）
装置を制御するための方法であって、
前記装置が動作しているかまたは動作することとなる現実の環境の統合シミュレーションモデルを形成するステップを含み、前記統合シミュレーションモデルは、当該現実の環境に関連する既存のデータおよび実時間のデータを用いて形成され、前記方法はさらに、
前記現実の環境の統合シミュレーションモデルにおいて動作可能な前記装置の表現体（representation）を含むシミュレーションを示すステップと、
前記現実の環境の統合シミュレーションモデルにおいて前記装置のシミュレーションの制御を可能にするステップと、
前記現実の環境の統合シミュレーションモデルにおける前記装置のシミュレーションを用いて現実の環境における前記装置の動作を制御するステップとを含む、方法。
（態様２）
前記シミュレーションにおいて予め実行されるシミュレートされた機能に対応する現実の機能を、現実の環境における前記装置が実行する前の予め定められた期間に、前記現実の環境の統合シミュレーションモデルにおいて前記装置の表現体の動作の制御を可能にするステップをさらに含む、態様１に記載の方法。
（態様３）
前記現実の環境の統合シミュレーションモデルにおける前記装置のシミュレーションの速度を上げるかまたは下げることを可能にすることにより、前記予め定められた期間の調整を可能にするステップをさらに含む、態様２に記載の方法。
（態様４）
前記シミュレーションのうち選択されたリドゥされる部分に対応する機能の実行前に、選択された部分をリドゥし、かつ現実の環境における前記装置に転送することを可能にするのに十分に長い予め定められた期間に応じて、前記シミュレーションのうち選択された部分をリドゥすることを可能にするステップをさらに含む、態様２に記載の方法。
（態様５）
前記シミュレーションの速度を下げて、当該シミュレーション内で前記装置の表現体の調整および制御、ならびに判断を行なうための時間を追加することを可能にするステップと、
前記シミュレーションの速度を上げて、前記予め定められた期間を増大させることを可能にするステップとをさらに含む、態様２に記載の方法。
（態様６）
現実の環境における前記装置と比べて、変更された性能特性で前記現実の環境の統合シミュレーションモデルにおける前記装置のシミュレーションの動作を可能にするステップと、
現実の環境における前記装置の任意の動作制限を補償するステップとをさらに含む、態様１に記載の方法。
（態様７）
前記現実の環境の統合シミュレーションモデルにおける前記装置のシミュレーションがそこから視認および制御され得る視点の選択を可能にする、態様１に記載の方法。
（態様８）
前記現実の環境の統合シミュレーションモデルにおける前記装置のシミュレーションから制御スクリプトを作成するステップと、
前記装置の動作を制御するために制御スクリプトを現実の環境における前記装置に転送するステップとをさらに含む、態様１に記載の方法。
（態様９）
前記装置は、航空宇宙輸送手段、地上輸送手段、船舶および機械のうちの１つを含む、態様１に記載の方法。
（態様１０）
装置を制御するためのシステムであって、
前記装動作しているかまたは動作することとなる現実の環境の統合シミュレーションモデルを形成するためのプロセッサを含み、前記統合シミュレーションモデルは、当該現実の環境に関連する既存のデータおよび実時間のデータを用いて形成され、前記システムはさらに、
前記現実の環境の統合シミュレーションモデルにおいて動作可能な前記装置の表現体（representation）を含むシミュレーションを示すためのディスプレイ（２２５）と、
前記現実の環境の統合シミュレーションモデルにおける前記装置のシミュレーションの動作の制御を可能にするための制御インターフェイス（２３２）と、
前記統合シミュレーションモデルにおける前記装置の表現体のシミュレーションを用いて、現実の環境における前記装置の動作を制御するために、制御スクリプトを現実の環境における前記装置に伝送するためのトランシーバ（２１０）とを含む、システム。
（態様１１）
現実の環境に関連する既存のデータおよび実時間のデータを用いて、現実の環境の画像を生成するための画像プロセッサ（２０４）をさらに含む、態様１０に記載のシステム。
（態様１２）
前記画像プロセッサ（２０４）は、
制御されている装置（２０２）、衛星（２１２）、現実の環境（２０８）内における固定された位置、および、現実の環境の統合シミュレーションモデルを形成する際に用いられる他の装置のうちの少なくとも１つから受信される現実の環境に関連するデータを変換するためのジオメトリ変換モジュール（２１４）と、
前記現実の環境に関連する既存のデータおよび実時間のデータから生成された現実の環境のさまざまな仮想モデルを適切に配列させて、現実の環境の統合シミュレーションモデルを形成するためのオーバーレイ制御モジュール（２１６）と、
前記統合シミュレーションモデルにおける現実の環境におけるさまざまなランドマークまたは特徴を示すようシンボルを割当てるためのシンボル体系モジュール（２１８）と、
現実の環境における前記装置の任意の動きを追跡するための追跡制御モジュール（２２０）とを含む、態様１１に記載のシステム。
（態様１３）
前記現実の環境の統合シミュレーションモデルを形成してディスプレイ上で示すための、画像プロセッサに関連付けられた環境シミュレーションモジュール（２２４）をさらに含む、態様１１に記載のシステム。
（態様１４）
前記環境シミュレーションモジュール（２２４）は、
現実の環境に関連する既存の任意の地理的データを記憶するための地理的データベース（２２６）と、
現実の環境内における前記装置に対して起こり得る任意の脅威に関連する任意の既存のデータを記憶し、かつ、現実の環境内における任意の目標に関連する任意の既存のデータを記憶するための脅威および目標データベース（２２８）と、
現実の環境に関連する任意の画像の任意の既存のデータを記憶するための画像データベース（２３０）とを含む、態様１３に記載のシステム。
（態様１５）
前記制御インターフェイス（２３２）は、
前記装置の動きを制御するための制御と、
シミュレーションの速度を制御するための制御と、
現実の環境における前記装置のシミュレーションと動作との間の予め定められた時間遅延を制御するための制御とを含む、態様１０に記載のシステム。
（態様１６）
シミュレーションにおける前記装置の表現体の動作特性を制御し、かつ、現実の環境における前記装置の任意の動作制限を補償するための装置シミュレーションモジュール（２３８）をさらに含む、態様１０に記載のシステム。
（態様１７）
シミュレーションに基づいて制御スクリプトを生成するための装置制御およびシステムプロセッサ（２４０）をさらに含む、態様１０に記載のシステム。
（態様１８）
現実の環境における前記装置に伝送される前に前記制御スクリプトをバッファリングするためのバッファ（２４４）をさらに含む、態様１０に記載のシステム。
【図面の簡単な説明】
【００９１】
【図１】時間遅延のオプションを有する統合シミュレーションを用いて装置の動作を制御するための、この開示の実施例に従った例示的な方法を示すフローチャートである。
【図２】時間遅延のオプションを有する統合シミュレーションを用いて装置の動作を制御するための、この開示の実施例に従ったシステムの例を示す概略ブロック図である。
【符号の説明】
【００９２】
２００  システム、２０２  航空機、２０４  画像プロセッサ、２０６  統合シミュレーションモデル、２０８  動作環境、２１０  トランシーバ、２１２  衛星。
【図１】
0005455339.tif 000002
【図２】
0005455339.tif 000003