JP5924740B2 - 実時間ミッションプランニング - Google Patents

実時間ミッションプランニング Download PDF

Info

Publication number
JP5924740B2
JP5924740B2 JP2013510105A JP2013510105A JP5924740B2 JP 5924740 B2 JP5924740 B2 JP 5924740B2 JP 2013510105 A JP2013510105 A JP 2013510105A JP 2013510105 A JP2013510105 A JP 2013510105A JP 5924740 B2 JP5924740 B2 JP 5924740B2
Authority
JP
Japan
Prior art keywords
mission
assets
computer
program code
execution
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.)
Active
Application number
JP2013510105A
Other languages
English (en)
Other versions
JP2013527529A (ja
JP2013527529A5 (ja
Inventor
イーマッド ダブリュ. サード,
イーマッド ダブリュ. サード,
ステファン アール. ビエニアウスキー,
ステファン アール. ビエニアウスキー,
ポール イー. ピグ,
ポール イー. ピグ,
ジョン エル. ヴィアン,
ジョン エル. ヴィアン,
ポール エム. ロビネッティ,
ポール エム. ロビネッティ,
セカンド, ドナルド シー. ワンチ,
セカンド, ドナルド シー. ワンチ,
Original Assignee
ザ・ボーイング・カンパニーThe Boeing Company
ザ・ボーイング・カンパニーThe Boeing Company
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
Priority to US12/780,621 priority Critical patent/US9064222B2/en
Priority to US12/780,621 priority
Application filed by ザ・ボーイング・カンパニーThe Boeing Company, ザ・ボーイング・カンパニーThe Boeing Company filed Critical ザ・ボーイング・カンパニーThe Boeing Company
Priority to PCT/US2011/032459 priority patent/WO2011142933A2/en
Publication of JP2013527529A publication Critical patent/JP2013527529A/ja
Publication of JP2013527529A5 publication Critical patent/JP2013527529A5/ja
Application granted granted Critical
Publication of JP5924740B2 publication Critical patent/JP5924740B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management, e.g. organising, planning, scheduling or allocating time, human or machine resources; Enterprise planning; Organisational models
    • G06Q10/063Operations research or analysis
    • G06Q10/0631Resource planning, allocation or scheduling for a business operation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation, e.g. computer aided management of electronic mail or groupware; Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/103Workflow collaboration or project management

Description

本発明は、概してミッションに関し、具体的にはミッションプランニングのための方法とシステムに関する。さらに詳細には、本発明は、実時間でミッションを定義、実行及び修正するための方法とシステムに関する。
ミッションプランニングには、様々なリソースとタスクとが含まれ、それらがまとまって一つのミッションを形成する。例えば、ミッションを構成する様々なタスクのために、様々なリソースが利用される。複雑なミッションは、複数のリソースと複数のタスクとを単一のミッションとして運用するために手書きされなければならず、ミッション実行中に変更することはできない。
ミッションは、典型的には手書きされ、オフラインで完成されてからコンピュータシステムにより実行される。このような現行システムの多くは、例えば広域探索ミッションのような単一ミッションの種類に特異的である。既存の解決法は、飛行中にミッションを作成及び修正する必要のある動的な応用分野においては実用的でない。ミッションの実行が開始されたら、実行中にミッションを修正することはできない。
したがって、上述の問題の一又は複数に対処する方法と装置を有することが望ましい。
種々の有利な実施形態により、任意の数のコンピュータ、グラフィカルユーザインターフェース、コンピュータに格納される第1のプログラムコード、及びコンピュータに格納される第2のプログラムコードを備えたシステムが提供される。グラフィカルユーザインターフェースは、任意の数のコンピュータのうちの一つによって実行される。コンピュータは、第1のプログラムコードを実行することにより、任意の数のミッション要素を用いてミッションを定義する。コンピュータは、第2のプログラムコードを実行することにより、任意の数のアセットに対するミッションの実行命令を生成し、ミッション実行の間にそれら任意の数のアセットを監視する。
種々の有利な実施形態により、さらに、ミッションプランニングの方法が提供される。コンピュータはミッションのユーザ定義を受け取る。ユーザ定義及び任意の数のミッション要素を用いてミッションのスクリプトが生成される。任意の数のミッション要素は任意の数のアセットに割り当てられる。任意の数のアセットによる任意の数のミッション要素の実行が制御される。ミッションを実行する任意の数のアセットが監視される。
種々の有利な実施形態により、さらに、コンピュータで記録可能な記憶媒体及びコンピュータで記録可能な記憶媒体に格納されたプログラムコードを含むミッションプランニングのためのコンピュータプログラム製品が提供される。プログラムコードは、ミッションのユーザ定義を受け取り、ユーザ定義と任意の数のミッション要素とを用いてミッションスクリプトを生成し、任意の数のミッション要素を任意の数のアセットに割り当て、任意の数のミッション要素を用いて任意の数のアセットに対するミッションの実行命令を生成し、ミッションを実行する任意の数のアセットを監視する。
上記のフィーチャ、機能及び利点は、本発明の様々な実施形態において独立に実現することが可能であるか、他の実施形態において組み合わせることが可能である。これらの実施形態について、後述の説明及び添付図面を参照してさらに詳細に説明する。
新規のフィーチャと考えられる有利な実施形態の特徴は、特許請求の範囲に明記される。しかしながら、有利な実施形態と、好ましい使用モードと、さらにはその目的及び利点とは、添付図面を参照して本発明の有利な一実施形態の以下の詳細な説明を読むことにより最もよく理解されるであろう。
有利な一実施形態を実施可能なネットワークプランニング環境を示している。 有利な一実施形態によるデータ処理システムを示している。 有利な一実施形態によるミッションプランニング環境を示している。 有利な一実施形態によるミッションプランナークライアントを示している。 有利な一実施形態によるミッションプランナーサーバを示している。している。 有利な一実施形態によるグラフィカルユーザインターフェースを示している。している。 有利な一実施形態によるグラフィカルユーザインターフェースを示している。している。 有利な一実施形態によるグラフィカルユーザインターフェースを示している。している。 有利な一実施形態によるグラフィカルユーザインターフェースを示している。している。 有利な一実施形態によるミッションプランニングプロセスを示すフロー図である。している。 有利な一実施形態によるミッション定義プロセスを示すフロー図である。
添付図面、特に図1及び2は、本発明の有利な実施形態を実施可能なデータ処理環境を例示的に図示している。図1及び2は例示にすぎず、種々の実施形態が実施される環境に関していかなる制限をも主張又は示唆するものではない。図示の環境に対する多くの修正例が作成可能である。
ここで添付図面を参照する。図1は、本発明の有利な実施形態を実施可能なネットワークプランニング環境を図解している。ネットワークプランニング環境100は、実施形態を実施可能なコンピュータのネットワークである。ネットワークプランニング環境100はネットワーク101を含む。ネットワーク101は、ネットワークプランニング環境100内部で互いに接続する様々なデバイス及びコンピュータ間の通信リンクとなるために使用される媒体である。ネットワーク101は、有線、無線通信リンク、又は光ファイバケーブルといった接続部分を含むことができる。
図示の実施例では、ミッションプランニングシステム102は、任意の数のアセット108と共にネットワーク101に接続している。ミッションプランニングシステム102は、有利な一実施形態では、任意の数のサーバと任意の数のクライアントとを含むことができる。別の有利な実施形態では、ミッションプランニングシステム102のサーバ及びクライアントは、任意の数の場所に位置し、例えばネットワーク101に接続することができる。ミッションプランニングシステム102には、例えば、データ処理システム、パーソナルコンピュータ、及び/又はネットワークコンピュータが含まれる。
任意の数のユーザ104は、ミッションプランニングシステム102と対話することにより、ミッション106をプランニングし、実時間環境でミッション106を監視し、及び/又は実時間環境でミッション106を修正する。任意の数のユーザ104は、人間のユーザ、ロボット及び/又は機械のユーザ、プログラムコード、並びに/或いはミッションプランニングシステム102の他の適切なユーザを含みうる。
任意の数のアセット108は、無線通信リンク又はネットワーク101を使用する他のいずれかの種類の通信リンクを介してミッションプランニングシステム102とデータを交換する。このような実施例では、任意の数のアセット108は、コンピュータ及び/又はコンピュータにより制御されるアセットでありうる。コンピュータにより制御されるアセットには、例えば、限定されないが、モバイルアセット、ビークル、センサ、マシン、充電所、及び/又は他のいずれかの適切なアセットが含まれる。ネットワークプランニング環境100には、追加のサーバプロセス、クライアントプロセス、及び図示しない他のデバイスが含まれてもよい。
任意の数のアセット108は、図示の実施例において、ミッション106を達成するために任意の数のタスク110を実行する。ミッション106はタスクの集合でありうる。例えば、任意の数のタスク110を組み合わせてミッション106が形成される。
図示の実施例では、ネットワークプランニング環境100は、互いに通信するためにTCP/IP(TransmissionControlProtocol/InternetProtocol)式のプロトコルを使用するネットワーク及びゲートウェイの世界的集合を表わすネットワーク101を有するインターネットである。言うまでもなく、ネットワークプランニング環境100は、任意の数の異なる種類のネットワーク(例えば、イントラネット、ローカルエリアネットワーク(LAN)、又はワイドエリアネットワーク(WAN))として実施することもできる。図1は、実施例として意図されており、異なる実施形態をアーキテクチャ的に制限するものではない。
次に、図2は、有利な一実施形態によるデータ処理システムのブロック図である。データ処理システム200は、ミッションプランニングシステム102及び任意の数のアセット108といったサーバ及びクライアントを実施するために使用できるデータ処理システムの一例である。
この実施例では、データ処理システム200は通信ファブリック202を含み、これによりプロセッサユニット204、メモリ206、固定記憶域208、通信ユニット210、入出力(I/O)ユニット212、及びディスプレイ214の間の通信を可能にする。
プロセッサユニット204は、メモリ206にローディングされるソフトウェアに対する命令を実行するように働く。プロセッサユニット204は、特定の実装態様に応じて、任意の数のプロセッサ、マルチプロセッサコア、又は他の何らかの種類のプロセッサであってもよい。本明細書でアイテムに言及して「任意の数の」というとき、一又は複数のアイテムを意味する。さらに、プロセッサユニット204は、単一チップ上にメインプロセッサと二次プロセッサとが共存する任意の数の異種プロセッサシステムを使用して実施されてもよい。別の実施例では、プロセッサユニット204は同種のプロセッサを複数個含む対称型マルチプロセッサシステムであってもよい。
メモリ206及び固定記憶域208は、記憶装置216の例である。記憶装置は、例えば、限定しないが、データ、機能的な形態のプログラムコード、及び/又は他の好適な情報などの情報を、一時的に及び/又は永続的に格納することができる任意のハードウェア部分である。このような実施例では、メモリ206は、例えば、ランダムアクセスメモリか、或いは他のいずれかの適切な揮発性又は非揮発性の記憶装置とすることができる。固定記憶域208は、特定の実装態様に応じて様々な形態をとることができる。
例えば、固定記憶域208は、一又は複数のコンポーネント又はデバイスを含みうる。例えば、固定記憶域208は、ハードドライブ、フラッシュメモリ、書換え形光ディスク、書換え可能磁気テープ、又はそれらの何らかの組み合わせである。固定記憶域208によって使用される媒体は、取り外し可能なものでもよい。例えば、取り外し可能なハードドライブを固定記憶域208に使用することができる。
このような実施例では、通信ユニット210は、他のデータ処理システム又はデバイスとの通信を行う。このような実施例では、通信ユニット210はネットワークインターフェースカードである。通信ユニット210は、物理的通信リンク及び無線の通信リンクのいずれか一方又は両方を使用することによって、通信を行うことができる。
入出力ユニット212により、データ処理システム200に接続可能な他のデバイスによるデータの入力及び出力が可能になる。例えば、入出力ユニット212は、キーボード、マウス、及び/又は他の何らかの適切な入力装置を介してユーザ入力のための接続を提供することができる。さらに、入出力ユニット212は、プリンタに出力を送ることができる。ディスプレイ214は、ユーザに対して情報を表示する機構を提供する。
オペレーティングシステム、アプリケーション、及び/又はプログラムに対する命令は、記憶装置216に格納されており、通信ファブリック202を介してプロセッサ装置204と通信する。このような実施例では、命令は固定記憶域208上において機能的な形態になっている。これらの命令は、メモリ206にローディングされてプロセッサユニット204によって実行される。メモリ206のようなメモリに位置させることができるコンピュータで実施可能な命令を使用して、プロセッサユニット204により様々な実施形態のプロセスを実行することができる。
これらの命令は、プログラムコード、コンピュータで使用可能なプログラムコード、又はコンピュータで読込可能なプログラムコードと呼ばれ、プロセッサユニット204内の1つのプロセッサによって読込まれて実行されうる。異なる実施形態のプログラムコードは、メモリ206又は固定記憶域208など、異なる物理的な又は有形の、コンピュータで読込可能な媒体上に具現化することができる。
プログラムコード218は、選択的に取り外し可能なコンピュータで読込可能な媒体220上に機能的な形態で位置し、データ処理システム200にローディング又は転送されて、プロセッサユニット204によって実行される。プログラムコード218及びコンピュータで読込可能な媒体220は、このような実施例ではコンピュータプログラム製品222を形成する。一実施例では、コンピュータで読込可能な媒体220は、コンピュータで読込可能な記憶媒体224又はコンピュータで読込可能な信号媒体226である。コンピュータで読込可能な記憶媒体224は、例えば、固定記憶域208の一部であるドライブ又は他のデバイスに挿入又は配置されて、固定記憶域208の一部である、ハードドライブなどの記憶装置上に転送される光ディスク又は磁気ディスクなどを含みうる。コンピュータで読込可能な記憶媒体224は、データ処理システム200に接続されているハードドライブ、サムドライブ、又はフラッシュメモリなどの固定記憶域の形態もとりうる。幾つかの例では、コンピュータで読込可能な記憶媒体224は、データ処理システム200から着脱可能でなくともよい。このような実施例では、コンピュータで読込可能な記憶媒体224は、固定のコンピュータで読込可能な記憶媒体である。
別の構成では、プログラムコード218は、コンピュータで読込可能な信号媒体226を用いてデータ処理シスム200に転送可能である。コンピュータで読込可能な信号媒体226は、例えば、プログラムコード218を含む伝播されたデータ信号であってもよい。例えば、コンピュータで読込可能な信号媒体226は、電磁信号、光信号、及び/又は他のいずれかの適切な種類の信号であってもよい。これらの信号は、無線通信リンク、光ファイバケーブル、同軸ケーブル、有線、及び/又は他のいずれかの適切な種類の通信リンクといった通信リンクによって転送される。換言すると、本発明の実施例では、通信リンク及び/又は接続は物理的なもの又は無線によるものでありうる。
幾つかの有利な実施形態では、プログラムコード218は、コンピュータで読込可能な信号媒体226により他のデバイス又はデータ処理システムからネットワークを介して固定記憶域208にダウンロードされて、データ処理システム200内で使用される。例えば、サーバーデータ処理システムのコンピュータで読込可能な記憶媒体に格納されたプログラムコードは、ネットワークを介してサーバーからデータ処理システム200にダウンロードすることができる。プログラムコード218を提供するデータ処理システムは、サーバーコンピュータ、クライアントコンピュータ、又はグラムコード218を保存及び転送することができる他の何らかのデバイスであってもよい。
データ処理システム200に例示されている種々のコンポーネントは、種々の実施形態を実施できる方法をアーキテクチャ的に制限するものではない。種々の有利な実施形態を、データ処理システム200に図解されているコンポーネントに追加の又はその代わりのコンポーネントを含むデータ処理システム内において実施することができる。図2に示す他のコンポーネントは、図示の実施例から変更することができる。種々の実施形態は、プログラムコードを実行できる任意のハードウェアデバイス又はシステムを使用して実施することができる。一実施例として、データ処理システムは、無機コンポーネントと一体化した有機コンポーネントを含むことができる、及び/又は全体を人間を除く有機コンポーネントで構成することができる。例えば、記憶装置は、有機半導体で構成することができる。
別の実施例として、データ処理システム200に含まれる記憶装置は、データを格納できる任意のハードウェア装置である。メモリ206、固定記憶域208、及びコンピュータで読み取り可能な媒体220は、有形形態の記憶装置の例である。
別の実施例では、バスシステムを使用して通信ファブリック202を実施することができ、このバスシステムは、システムバス又は入出力バスといった一又は複数のバスから構成することができる。言うまでもなく、バスシステムは、バスシステムに取り付けられた種々のコンポーネント又はデバイスの間でのデータ伝送を行う任意の適切な種類のアーキテクチャを使用して実施することができる。加えて、通信ユニットは、モデム又はネットワークアダプタといったデータの送受信に使用される一又は複数のデバイスを含むことができる。さらに、メモリは、例えば、メモリ206、又はインターフェースに見られるようなキャッシュ、及び通信ファブリック202中に存在するメモリコントローラハブとすることができる。
本明細書において、列挙されたアイテムと共に使用する「〜のうちの少なくとも1つの」という表現は、列挙されたアイテムのうちの一又は複数からなる様々な組み合わせが使用可能であり、且つ列挙された各アイテムが1つだけあればよいことを意味する。例えば、「アイテムA、アイテムB、及びアイテムCのうちの少なくとも1つ」は、例えば、限定しないが、「アイテムA」、又は「アイテムAとアイテムB」を含む。この例は、「アイテムAとアイテムBとアイテムC」、又は「アイテムBとアイテムC」も含む。
本明細書において、第1のコンポーネントが第2のコンポーネントに接続されているとき、他のコンポーネントなしで第1のコンポーネントは第2のコンポーネントに接続していてよい。第1のコンポーネントは、一又は複数の他のコンポーネントによって第2のコンポーネントに接続されてもよい。例えば、一の電子デバイスと別の電子デバイスとは、間に他の電子デバイスを何も介さずに接続されてよい。場合によっては、互いに接続された二つの電子デバイスの間に別の電子デバイスが存在してもよい。
種々の有利な実施形態は、現行のミッションプランニングシステムでは、オフラインでのミッションのスクリプト作成を行なった後、オフラインで完成させてからミッションを実行することを認識し、考慮している。このような現行システムの多くは、例えば広域探索ミッションのような単一ミッションの種類に特異的である。既存の解決法は、飛行中にミッションを作成及び修正する必要のある動的な応用分野においては実用的でない。このような現行システムは、固定的であり、実行開始後にミッションを修正しない。現在利用可能なシステムでは、ユーザがコードを記述するだけでなく、ミッションのスクリプトを手書きで作成できなければならない。ミッションの手書きによるスクリプト作成は、大きな労働力を必要とし、非常にコスト高である。加えて、手書きのミッションは、メモ書きに基づいて構築されているためさらに大量の試験を要し、この試験プロセスはミッションの複雑性を増大させる。
したがって、種々の有利な実施形態により、任意の数のコンピュータ、グラフィカルユーザインターフェース、コンピュータに格納される第1のプログラムコード、及びコンピュータに格納される第2のプログラムコードを備えたシステムが提供される。グラフィカルユーザインターフェースは、任意の数のコンピュータのうちの一つによって実行される。コンピュータは、第1のプログラムコードを実行することにより、任意の数のミッション要素を用いてミッションを定義する。コンピュータは、第2のプログラムコードを実行することにより、任意の数のアセットに対するミッションの実行命令を生成し、ミッション実行の間にそれら任意の数のアセットを監視する。
種々の有利な実施形態により、さらに、ミッションプランニングの方法が提供される。コンピュータはミッションのユーザ定義を受け取る。ユーザ定義及び任意の数のミッション要素を用いてミッションのスクリプトが生成される。任意の数のミッション要素は任意の数のアセットに割り当てられる。任意の数のアセットによる任意の数のミッション要素の実行が制御される。ミッションを実行する任意の数のアセットが監視される。
種々の有利な実施形態により、さらに、コンピュータで記録可能な記憶媒体及びコンピュータで記録可能な記憶媒体に格納されたプログラムコードを含むミッションプランニングのためのコンピュータプログラム製品が提供される。プログラムコードは、ミッションのユーザ定義を受け取り、ユーザ定義と任意の数のミッション要素とを用いてミッションスクリプトを生成し、任意の数のミッション要素を任意の数のアセットに割り当て、任意の数のミッション要素を用いて任意の数のアセットに対するミッションの実行命令を生成し、ミッションを実行する任意の数のアセットを監視する。
次に図3を参照する。図3は、有利な一実施形態によるミッションプランニング環境を示している。ミッションプランニング環境300は、例えば図1のネットワークプランニング環境100のようなネットワーク環境において実施される。
ミッションプランニング環境300は、例えば、ミッションの生成、監視、更新、修正、及び/又は承認に適した任意の種類の環境とすることができる。ミッションプランニング環境300には、ミッションプランニングシステム302が含まれる。ミッションプランニングシステム302は、図1のミッションプランニングシステム102の一実施例である。ミッションプランニングシステム302は、種々の有利な実施形態では、任意の数のアセットを伴う任意の数のミッションの定義、実行、及び監視を行う。
ミッションプランニング環境302には、コンピュータシステム304が含まれる。コンピュータシステム304は、任意の数のコンピュータ、及び/又はデータ処理システム(例えば、図2のデータ処理システム200)として実施することができる。コンピュータシステム304には、任意の数のミッションプランナークライアント306及びミッションプランナーサーバ308が含まれる。有利な一実施形態では、コンピュータシステム304は任意の数のデータ処理システムを用いて実施することができ、この場合各データ処理システムは、任意の数のミッションプランナークライアント306のインスタンスを含み、例えば図1のネットワーク101のようなネットワークを用いて中央データ処理システムでミッションプランナーサーバ308に接続する。別の有利な実施形態では、任意の数のミッションプランナークライアント306及びミッションプランナーサーバ308は、例えば、同じデータ処理システム上で実施され、任意の数の異なるデータ処理システムを用いてアクセスされる。
任意の数のミッションプランナークライアント306は、遠隔でミッションを構築するために使用されるグラフィカルユーザインターフェースである。任意の数のミッションプランナークライアント306には、任意の数のデバイス310及び任意の数のモジュール312が含まれる。任意の数のデバイス310には、例えば、限定されないが、ディスプレイ、データグローブ、パーソナル携帯情報機器、ラップトップ、マウス、トラックパッド、キーボード、ジョイスティック、タッチスクリーン、光インターフェース、視覚インターフェース、触覚インターフェース、ビデオコンソール、ワイヤレスコントローラ、ワイヤレス三次元(3D)コントローラ、及び/又は他のいずれかの適切なデバイスが含まれる。一実施例では、ワイヤレス3Dコントローラは、三次元空間において運動を検知するための任意の数の加速度計及び赤外線検出器を含む遠隔制御式ポインティングデバイスである。別の実施例では、ワイヤレス3Dコントローラには、ミッションプランナーサーバ308により生成されたミッションに含まれるミッション要素により制御される場合、任意の数のモバイルアセットを直接制御するために使用される任意の数の加速度計が含まれる。有利な一実施形態では、例えば、ミッションプランナーサーバ308によって生成された特定のミッション要素に、任意の数のデバイス310を使用することができる。
任意の数のミッションプランナークライアント306は、例えば、限定しないが、拡張マークアップ言語−遠隔手続き呼び出し(XML−RPC)といったメッセージングフォーマットにより、ミッションプランナーサーバ308と通信する。一実施例では、任意の数のモジュール312は、任意の数のミッションプランナークライアント306用のグラフィカルコンポーネントのwxPythonのような言語で記述される。任意の数のモジュール312には、例えば、限定されないが、ミッション要素の記述及び作成に必要なデータ及び関数と、ミッションの作成中に任意の数のミッションプランナークライアント306のグラフィカルユーザインターフェース内でミッション要素を扱うために必要とされるグラフィカルコンポーネントとが含まれる。任意の数のユーザ314は、任意の数のモジュール312及び任意の数のミッションプランナークライアント306の任意の数のデバイス310を用いてミッション要素を作成することができる。
ミッションプランナーサーバ308は、例えば図2のデータ処理システム200のようなコンピュータ上で実行されるプロセスである。ミッションプランナーサーバ308は、任意の数のミッションプランナークライアント306から到来するXML−RPCの通信を聞いて、到来する通信を処理することにより、例えば、現行のミッションの照会及び修正を行う。ミッションプランナーサーバ308は、現行のミッションの実行前及び実行中に現行のミッションをメモリ(例えば、図2のメモリ206)内に維持するので、任意の数のミッションプランナークライアント306は、実時間で新規要素を追加しながら、現行ミッションを作成及び実行することができる。
ミッションプランナーサーバ308には、任意の数のモジュール316及びミッション管理フレームアーク318が含まれる。一実施例では、任意の数のモジュール316は、パイソンのような言語で記述される。任意の数のモジュール316には、例えば、限定されないが、ミッションの関数及びパラメータを識別、操作、及び記憶するため、並びにミッション実行中の情報についてミッション要素を解析するために必要な、データ及び関数が含まれる。
ミッション管理フレームワーク318は、ミッション要素のライブラリ、及びアセットのライブラリ、さらには任意の数のタスク割り当てプロセスを含むシステムである。ミッション要素のライブラリには、現行ミッションで実行されるべき任意の数のミッション要素が含まれる。任意の数のミッション要素は、例えば、ミッション作成中に、ミッション要素データベース319から取り出され、ミッションプランナーサーバ308によってミッション要素のライブラリに保存される。ミッション要素データベース319には、ユーザによって定義される前の、任意の数のミッション要素が含まれる。
アセットのライブラリには、各アセットに関する情報と共に、すべてのアセット(例えば、任意の数のアセット324)のリストが含まれる。例えば、アセットのライブラリには、アセットの利用可能性、ミッション及び/又はタスクへの使用に関するアセットの即応性、アセットの健全性、アセットのリソース使用、アセットによるリソースの枯渇、アセットの現状、及び/又はアセットに関する他のいずれかの適切な情報が含まれる。
ミッション管理フレームワーク318は、任意の数のミッション要素を実行するために必要とされるタスク及びアセットを識別し、識別された任意の数のアセットに対し、任意の数のタスク及び/又はミッション実行の割り当て及び制御命令を送る。ミッション実行中に問題が生じると、ミッション管理フレームワーク318は、例えば、利用可能なアセットを用いて、自律的にミッションを再構成することによりミッションの目的を達成する。換言すれば、アセットはミッションプランニングシステム302の延長となり、この場合、例えば、ミッション管理フレームワーク318は頭脳であり、アセットは身体の構成要素である。ミッション管理フレームワーク318は、アセットへのタスク実行命令を送り出し、アセットから返送されるタスクの状況及び/又はアセットの状況に関する情報を受取る。アセットからのこれらのメッセージを、ミッション管理フレームワーク318が使用して、ボトムアップ及びトップダウンプランニング構造においてミッション実行中に動的に命令を再構成する。
通信システム320は、コンピュータシステム304を任意の数のアセット324に接続する。通信システム320は、ミッション管理フレームワーク318と任意の数のアセット324との間での情報322の送受信を行う。情報322には、例えば、限定されないが、コマンド326、プログラム328、及びメッセージ330が含まれる。通信システム320は、種々の有利な実施形態では、無線通信システムでも有線通信システムでもよい。
有利な一実施形態では、任意の数のユーザ314は、コンピュータシステム304上で任意の数のミッションプランナークライアント306を用いて、ミッションプランニングタスクを開始する。例えば、任意の数のユーザ314は、ミッションプランニングシステム302が実行する特定のタスク又はミッションを識別しうる。任意の数のユーザ314は、任意の数のアセット324の近くにいる場合も、又は任意の数のアセット324から離れている場合もある。例えば、任意の数のアセット324は、任意の数のユーザ314とは異なる場所、国、又は惑星(例えば、月に展開されて、地球からミッション管理フレームワーク318によって制御されている任意の数の自律乗物)に所在しているかもしれない。ミッションプランニングシステム302は、任意の数のアセット324に任意の数のユーザ314がどれだけ近接しているか、又はいないかに関係なく、任意の数のユーザ314に対し、任意の数のアセット324によるミッションの実行中に実時間で複雑なミッションを構築及び監視する能力を供給する。任意の数のモバイルアセット332、任意の数のセンサ334、任意の数のマシン336、及び任意の数の充電所338は、任意の数のアセット324に含まれうる任意の数のアセットの例である。
任意の数のモバイルアセット332には、例えば、限定されないが、任意の数のビークル340が含まれる。任意の数のビークル340は、限定しないが、自律乗物、準自律乗物、無人ビークル、有人ビークル、及び/又は他のいずれかの適切なビークルを含むいずれかの種類のビークルとすることができる。ビークルは、例えば、自動車、陸上車両、船舶、航空機、宇宙船、壁面走行ロボット、及び/又は他のいずれかの適切な種類のビークルとすることができる。
一実施例では、任意の数のユーザ314は、任意の数のミッションプランナークライアント306を使用してミッションを構築することができる。任意の数のミッションプランナークライアント306は、任意の数のユーザ314によって構築されているときに、ミッションプランナーサーバ308にミッションを動的に伝える。ミッションプランナーサーバ308は、ミッション管理フレームワーク318の高レベルのスクリプトを生成する。例えば、高レベルのミッションスクリプトには、高レベルのコマンドが含まれる。ミッション管理フレームワーク318は、これらの高レベルのコマンドを低レベルのコマンドに変換し、任意の数のアセット324のうちの特定のアセットのミッションスクリプトを生成する。例えば、ミッション管理フレームワーク318により生成されるミッションスクリプトには、ミッション要素に関連付けられた一又は複数の特定のアセットを作動させて展開するためのコマンドが含まれる。ミッションスクリプトは任意の数の命令である。これらの命令には、例えば、任意の数のアセット324のコマンド326及び/又はプログラム328が含まれる。ミッション管理フレームワーク318は、通信システム320を用いて、コマンド326及び/又はプログラム328を有するミッション342を任意の数のアセット324に送る。任意の数のアセット324は、コマンド326及び/又はプログラム328に従ってミッション342を実行し、ミッションの実行中にミッション管理フレーム318にメッセージ330を返す。メッセージ330には、例えば、限定されないが、ミッションの状況、任意の数のタスクの状況、及び/又は任意の数のアセット324の状況が含まれる。ミッション管理フレームワーク318は、受け取ったメッセージ330中の情報を使用してミッション342を修正し、修正済みミッション344を任意の数のアセット324に送り返す。
一実施例では、メッセージ330は、ミッション342に含まれるタスク完了前に現行の燃料リソースを使い切る任意の数のビークル340のうちの一又は複数に関する情報を含むことができる。ミッション管理フレームワーク318は、この実施例では、ミッション342を再構成することにより、燃料補給の済んだ、未完了のタスクを完了させることが可能な別のビークルを識別して、未完了のタスクを完了させる新規ビークルを指定する修正済みミッション344を送ることができる。
図3に示すミッションプランニング環境300は、種々の有利な実施形態を実施可能な方式を物理的又はアーキテクチャ的に限定するものではない。図示されたコンポーネントに加えて及び/又は代えて、他のコンポーネントを使用することができる。一部の有利な実施形態では幾つかのコンポーネントは不要である。また、ブロックは、幾つかの機能的なコンポーネントを示すために提示されている。種々の有利な実施形態において実施されるとき、これらのブロックの一又は複数は、異なるブロックに合成及び/又は分割されてもよい。
例えば、ミッションプランニングシステム302は、コンピュータシステム304に加えて、他のコンピュータシステムで実施することができる。別の有利な実施形態では、コンピュータシステム304は、例えば、同時ミッションプランニング及び/又は複数ミッションのプランニングにおいて、任意の数のユーザ314によって使用される追加的データ処理システム上で実施される追加のミッションプランナークライアントを含むことができる。
次に図4を参照する。図4は、有利な一実施形態によるミッションプランナークライアントを示している。ミッションプランナークライアント400は、図3の任意の数のミッションプランニンナークライアント306の一実施例である。
任意の数のミッションプランナークライアント400には、任意の数のデバイス402、ディスプレイ404、及び任意の数のモジュール406が含まれる。任意の数のデバイス402は、図3の任意の数のデバイス310の一実装態様の一実施例である。ディスプレイ404は、図3の任意の数のユーザ314がミッションプランナークライアント400と対話するために使用する任意の数のデバイス402のうちの一種の一例である。
任意の数のモジュール406には、ミッション要素設計モジュール408、要素ボタンモジュール410、ミッション種類選択モジュール412、ミッション変数定義モジュール414、要素ポップアップモジュール416、及び選択ウィンドウモジュール418が含まれる。任意の数のモジュール406は、所与のソフトウェアモジュールに対応するボタン、タブ、テキストボックス、プルダウンメニューなどのユーザインターフェース上に提示される任意の数のソフトウェアモジュールである。
ミッション要素設計モジュール408は、ミッション要素を記述して図解式に示すために必要なデータ及び関数のすべてを含んでいる。一実施例では、ミッション要素は、例えば、ディスプレイ404などのデバイスを用いて、直前のミッション要素及び/又は次のミッション要素にミッション要素を接続するためのラインを示す三角形を伴う四角形としてグラフィカルに示される。
要素ボタンモジュール410は、グラフィカルユーザインターフェースのスクリーン内部にボタンをグラフィカルに示すために必要なプログラムコード、並びに提示されたボタンが選択されたとき、又は押されたとき、新規ミッション要素を生成するためのプログラムコードを含んでいる。要素ボタンモジュール410は、ミッション種類選択モジュール412にリンクされた、ミッション要素のスタート及びストップパラメータと、そのラベルとを、ミッション要素作成前に決定するためのmissionTypeSelectウィンドウを生じさせる。
ミッション種類選択モジュール412は、要素ボタンモジュール410のスタート及びストップパラメータに関連付けられたスタート及びストップの種類と、このミッション要素の値とを、ユーザ(たとえば、図3の任意の数のユーザ314)が決定することを可能にするダイアログボックスを提示する。ミッション種類選択モジュール412は、ユーザが、要素ボタンモジュール410によって生成されたelementButtonを選択した後で、但し要素ボタンモジュール410によってmissionElementが作成される前に、呼び出される。一実施例では、ミッション種類選択モジュール412によって提示されたダイアログボックス内のオプションは、ユーザに対し、現状何が利用可能であるかを示すためにグレーアウトされてもよい。例えば、要素は、シーケンス変更により開始されたのでないときは、シーケンス変更時に終了することができない。別の実施例では、いずれの要素も未だ定義されていないときには、直前の要素の終了時に要素が開始されることはありえない。現在選択されている種類の値だけが、ミッション種類選択モジュール412によって提示されたダイアログボックス内で変更可能である。
ミッション変数定義モジュール414は、ユーザがミッション幾つかの変数を変更することを可能にするダイアログボックスを提示する。一実施例では、スクリーンスペースを節約するために、変数は二つの欄に提示される。このダイアログは、missionElementが定義された直後に、missionElementが生成される前に提示される。
要素ポップアップモジュール416は、現在の要素にスタティックテキストとしてプログラムコードを提示する。要素ポップアップモジュール416は、ミッション要素を構成するコードを見たいと思うユーザによる任意の選択肢とすることができる。ユーザはポップアップモジュール416を選択することにより、ミッション要素のコードを表示する。ユーザはコードを見ることはできるが修正することはできないので、このコードはスタティックである。
選択ウィンドウモジュール418は、ユーザに対し、任意の数の異なる値を有する任意の数の異なるオプションの選択を提供する。これらの値は各オプションの関数のコードである。幾つかのオプションが複数の選択肢を可能にする一方、他のオプションは単一の選択肢のみを可能にする。これらのオプションはウィンドウ作成時に定義することができる。
一実施例では、ユーザは、図7のグラフィカルユーザインターフェースの左側に位置する要素ボタンの一つを選択するか、又は図6のグラフィカルユーザインターフェースにおいて、中央のウィンドウのいずれかを右クリックし、「ミッション要素の挿入」を選択する。次いで、ユーザは、図8に示されるミッションコンポーネントクリエータ804を見る。ユーザは、図8に示されるミッション要素データベース806内のミッション要素の一つを選択して「OK」を選択する。すると、図9に示されるコンポーネントエディタ904のビューが開く。ユーザは、ミッション要素パラメータを記入した後で、図9のコンポーネントエディタ904に示される「時間」タブを選択し、スタート及びストップ条件を記入してから「OK」を選択する。このプロセスを、ユーザがミッションに加えたいと考えるすべてのミッション要素と関数とについて繰り返す。最後にユーザは、図8及び図9のグラフィカルユーザインターフェースの上部にフロッピーディスクとして示されている「保存」ボタンをクリックする。
図4に示すミッションプランナークライアント400は、種々の有利な実施形態を実施可能な方式を物理的又はアーキテクチャ的に限定するものではない。図示されたコンポーネントに加えて及び/又は代えて、他のコンポーネントを使用することができる。一部の有利な実施形態では幾つかのコンポーネントは不要である。また、ブロックは、幾つかの機能的なコンポーネントを示すために提示されている。種々の有利な実施形態において実施されるとき、これらのブロックの一又は複数は、異なるブロックに合成及び/又は分割することができる。例えば、任意の数のモジュール406に加えて、他のモジュールをミッションプランナークライアント400に含めることができる。
次に図5を参照する。図5は、有利な一実施形態によるミッションプランナーサーバを示している。ミッションプランナーサーバ500は、図3のミッションプランナーサーバ308の一実施例である。
ミッションプランナーサーバ500には、任意の数のモジュール502及びミッション管理フレームワーク504が含まれる。任意の数のモジュール502は、図3の任意の数のモジュール316の一実装態様の一実施例である。任意の数のモジュール502には、ミッション関数モジュール506、ミッション要素モジュール508、ライブラリ読込みモジュール510、ミッション書込みモジュール512、及びメインモジュール514が含まれる。
ミッション関数モジュール506は、固有のミッション関数を識別するために必要なデータを収容している。ミッション関数モジュール506には、限定されないが、名称、説明、コード、パラメータ、必要とされるアセットの数、及び各ミッション関数の推定実行時間が含まれる。コードは、例えばパイソンで記述される。パラメータは、例えば、ユーザ(例えば、図3の任意の数のユーザ314)による変更が可能な、ミッション中の変数である。一実施例では、パラメータは、面積座標又は反復回数とすることができる。ユーザは、例えば、ミッション関数の面積座標を変更することができる。必要とされるアセットの数及び実行時間は、ミッション要素を実行するために必要とされるアセットの数及び時間を指す。
ミッション要素モジュール508は、ミッションに登録されたミッション要素に必要な情報を収容している。ミッション要素モジュール508には、限定されないが、オリジナルファイルによって定義された関数名、ユーザによって定義された固有のラベル、コード、ユーザによって定義されなければならない任意のパラメータ、並びに、ミッション要素のためのスタート及びストップの種類と、その値が含まれる。一実施例では、getCode()は、ミッション要素からパイソンコードを返す関数であり、それらに定義された値でパラメータの全インスタンスを置換する。
ライブラリ読込みモジュール510は、ファイルシステムからミッション関数を読み込み、情報についてミッション関数を解析する関数を収容している。例えば、vehTypeParamsは、ミッションに必要とされるビークルアセットの種類のパラメータを保持するデータ構造である。このデータ構造は、例えば、種類、数、waitflag及びreleaseflagの値を収容しうる。別の実施例では、readLibrary(dir)は、ディレクトリ(dir)内のすべてのファイルを読み、ディクショナリとしてファイルの内容を返す関数であり、このディクショナリは、拡張子を含まない(例えば、パイソンコードの「.py」を削除した)ファイル名と、その値としてのファイルの内容とをキーセットとして有する。この実施例において、この関数は、その名称中に「〜」を有するファイルはすべて一時的ファイルであり、読むべきでないとみなす。
また別の実施例では、parseFunc(code)は、ミッション要素のコードを取得して、複数のパラメータについてそのコードを解析する関数である。この関数は、三つのクオーテーションマーク(“””)によって囲まれた第1の文字列が要素の説明であるとみなす。この関数は、例えば、ミッション要素に必要とされるアセットに関する情報を集めるRequiresデコレータをチェックする。例えば、関数は、文字列「#Time=」を探し、これに続く、新規の行の前の文字列が、ミッション要素の推定実行時間とみなす。また、例えば、関数は、ユーザにより定義された変数であって、行頭の「#」の後ろに「$」と「$」の間に記載される変数を有するコメント行により示される変数を見つける。空白なしで「=」が変数の直後に続く場合、それがその変数のデフォルト値として保存される。間に空白を挟んで変数又はデフォルト値の後に文字列が続く場合、この実施例では、この文字列がこの変数の説明とみなされる。
ミッション書込みモジュール512は、ミッション管理フレームワーク504が読込可能なパイソンファイルにミッションを書き込む。ミッション書込みモジュール512は、以下の関数の組、すなわち、writeMission(dir,name,startFunc,stopFunc,onIterations,supportFuncs,missionElements) を使用することができる。このような関数の組は、ミッションファイルに書き込むために、複数のパラメータを取り込む。例えば、dirはファイルを配置するためのディレクトリであり、nameはミッションの名称である。ミッションの名称には、この実施例では「.py」が連結される。startFuncは、ミッションマネージャフレームワークに準拠するデコレータOnStartに従う関数である。stopFuncは、デコレータOnStopに従う関数である。onIterationsは、デコレータOnIterationを必要とする関数のリストである。supportFuncsは、後の要素で使用するためにミッション開始時に印刷しなければならない関数のリストである。missionElementsは、ミッション書込みモジュール512によって書き込まれるmissionElementsオブジェクトのリストである。missionElementsは、例えば、ミッションに必要なデコレータの加算をすべて取り扱う関数である。
メインモジュール514は、拡張マークアップ言語−遠隔手続き呼び出し(XML−RPC)サーバ上で動作し、ミッション関数のすべてを格納する。XML−RPCサーバ上のデータは、可能な関数(possiblefunctions)と動作中の関数(activefunctions)に分類される。可能な関数は、ライブラリ内で利用可能なすべての関数であり、ライブラリ読込みモジュール510によって読み込まれる。動作中の関数は、定義済みの関数すべてである。
可能な関数は、キーとして関数の名称を、値としてmissionFunctionオブジェクトをそれぞれ有するディクショナリとして格納される。すべてのコンポーネントは、ミッション開始時に、ミッション書込みモジュール512によって記述されたミッションスクリプトの開始時に定義された対応するディレクトリについて読み込まれる。可能なコンポーネントディクショナリの各々は、そのコンポーネント名をキーとして、ディクショナリ自体を値としてそれぞれ使用して、possibleComponentsディクショナリに格納される。これにより、後の関数において取り出しが容易になる。
動作中の関数は、コンポーネントに応じて幾つかの方法で定義される。スタート及びストップ関数は、ユーザにより与えられる関数の名称として定義される。反復及びサポート関数は、複数を定義することができるのでリストとして定義される。いずれにしろ、値は関数の名称である。ミッション要素は、キーとして要素のラベルを、値としてmissionElementオブジェクトを用いたディクショナリとして定義される。
メインモジュール514は、XML−RPCサーバ上に、ミッションが開始されたかどうかを決定するための変数、現在のシーケンス番号、及び現在のミッション時間も格納する。一実施例では、現在のミッション時間は秒単位で格納される。
ミッション管理フレームワーク504には、ミッション要素ライブラリ516、アセットライブラリ518、リソース識別プロセス520、タスク識別プロセス522、及びミッション割り当てプロセス524が含まれる。ミッション要素ライブラリ516には、任意の数のミッション要素526が含まれる。任意の数のミッション要素526は、任意の数のモジュール502によって構築されて、現在のミッションで実行される格納済みのミッション要素である。例えば、任意の数のミッション要素526は、ミッション作成中に、任意の数のモジュール502によってミッション要素データベース534から取り出すことができる。ミッション要素データベース534は、図3のミッション要素データベース319の一実装態様の一実施例である。
アセットライブラリ518には任意の数のアセット528が含まれる。任意の数のアセット528は、すべてのアセット(例えば、図3の任意の数のアセット324)のリストであり、各アセットの現状を伴っている。例えば、任意の数のアセット528には、アセットの利用可能性、ミッション及び/又はタスクへの使用に関するアセットの即応性、アセットの健全性、アセットのリソース使用、アセットによるリソース枯渇、アセットの現状、及び/又はアセトに関する他のいずれかの適切な情報が含まれる。
タスク識別プロセス522は、ミッション書込みモジュール512からミッションスクリプトを受け取り、ミッション要素ライブラリ516を使用してミッションに必要とされるミッション要素又はタスクを識別する。リソース識別プロセス520は、ミッション書込みモジュール512からミッションスクリプトを受け取り、ミッション要素ライブラリ516を使用して、アセットライブラリ518内の任意の数のアセット528から、ミッションのために選択されたミッション要素を達成できる任意の数のアセットを識別する。ミッション割り当てプロセス524は、リソース識別プロセス520及びタスク識別プロセス522によって識別されたミッション要素及びアセットを受け取り、識別されたタスクを、識別された特定のアセットに割り当てて、命令530を生成する。次いで、命令530は、ミッション実行のために、ミッション管理フレームワーク504によって任意の数のアセット532に送付される。
図5に示すミッションプランナーサーバ500は、種々の有利な実施形態を実施可能な方式を物理的又はアーキテクチャ的に限定するものではない。図示されたコンポーネントに加えて及び/又は代えて、他のコンポーネントを使用することができる。一部の有利な実施形態では、幾つかのコンポーネントは不要である。また、ブロックは、幾つかの機能的なコンポーネントを示すために提示されている。種々の有利な実施形態において実施されるとき、これらのブロックの一又は複数は異なるブロックに合成及び/又は分割することができる。
次に図6を参照する。図6は、有利な一実施形態によるグラフィカルユーザインターフェースを示している。グラフィカルユーザインターフェース600は、図3の任意の数のデバイス312を用いた図3のミッションプランナークライアント306の一実装態様の一例である。
グラフィカルユーザインターフェース600には、実行制御ボタン602及びミッション要素604が含まれている。実行制御ボタン602は、ミッションスタート、ミッションストップ、ミッションシーケンスの進行、及びミッションの、任意の数の他の制御フィーチャの実行のために、ユーザ(例えば、図3の任意の数のユーザ314)によって選択される。ミッション要素604は、例えば、ミッションに含めるために、図5の任意の数のミッション要素526から選択されたミッション要素の一実施例である。一又は複数のスタート関数606は、利用可能なスタート関数のライブラリから選択される。スタート関数とは、ミッションのスタート時に、例えば、ミッションの開始関数として動作する関数である。一実施例として、グラフィカルユーザインターフェース600は、ユーザによってこのミッションに追加された、defaultStartと呼ばれるスタート関数606を示している。一又は複数のストップ関数608は、利用可能なストップ関数のライブラリから選択される。ストップ関数とは、ミッションの完了時に動作する関数である。ストップ関数は、例えば、限定しないが、すべてのタスクをクリアして任意の数のアセットをリセットするものである。一実施例として、グラフィカルユーザインターフェース600は、ユーザによってこのミッションに追加された、stopMissionと呼ばれるストップ関数608を示している。
一又は複数のストップ条件610は、利用可能なストップ条件のライブラリから選択される。ストップ条件とは、ミッションの停止条件を定義する関数である。ストップ条件は、例えば、限定しないが、個々のミッション要素が実行を完了したかどうかに関係なく、ミッションが停止する時間値を定義する。一実施例として、グラフィカルユーザインターフェース600は、ユーザによってこのミッションに追加された、seqAdvancedと呼ばれるストップ条件610を示している。一又は複数の反復関数612は、利用可能な反復関数のライブラリから選択される。反復関数とは、ミッション管理フレームワークが反復されるたびに動作する関数である。例えば、反復関数は、ミッション要素と並行に動作して、利用可能なアセット及び展開済みのアセットに関するレポートを表示する。一実施例として、グラフィカルユーザインターフェース600は、ユーザによってこのミッションに追加された、defaultIterationと呼ばれる反復関数612を示している。
一又は複数のサポート関数614は、利用可能なサポート関数のライブラリから選択される。サポート関数とは、一又は複数のミッション要素によって呼び出される関数である。例えば、サポート関数は、サーチ関連タスクを実行する種々のミッション要素が使用できるサーチエリアを区分するアルゴリズムとすることができる。一実施例として、グラフィカルユーザインターフェース600は、ユーザによってこのミッションに追加された、divideSearchArea及びgreedySearchと呼ばれるサポート関数614を示している。ミッション要素604は、タイムスケール616(ガントチャートと同様)によって示されるミッション要素期間に比例する長さのバーによって表されている。
図6に示すグラフィカルユーザインターフェース600は、種々の有利な実施形態を実施可能な方式を物理的又はアーキテクチャ的に限定するものではない。図示されたコンポーネントに加えて及び/又は代えて、他のコンポーネントを使用することができる。一部の有利な実施形態では、幾つかのコンポーネントは不要である。また、ブロックは、幾つかの機能的なコンポーネントを示すために提示されている。種々の有利な実施形態において実施されるとき、これらのブロックの一又は複数は、異なるブロックに合成及び/又は分割することができる。
例えば、様々な関数を、グラフィカルユーザインターフェース600を用いてユーザが選択するものとして示したが、他の有利な実施形態は、各ミッション要素内において必要とされるサポート関数を特定する自動選択プロセスを含むことができる。
次に図7を参照する。図7は、有利な一実施形態によるグラフィカルユーザインターフェースを示している。グラフィカルユーザインターフェース700は、図3の任意の数のデバイス312を用いた図3のミッションプランナークライアント306の一実装態様の一実施例である。
グラフィカルユーザインターフェース700には、ミッション要素データベース702及びミッション要素のライブラリ704が含まれている。ミッション要素データベース702は、図3のミッション要素データベース319の一実装態様の一実施例である。ミッション要素のライブラリ704は、図5のミッション要素ライブラリ516の一実装態様の一実施例である。
この実施例では、ミッション要素データベース702には、任意の数のミッション要素、すなわち、inspectTarget706、observeStructure708、mixedCoverage710、monitorAdvance712、initialSurvey714、clearGround716、及びjointSearch718が含まれている。ミッション要素のライブラリ704は、ユーザが、グラフィカルユーザインターフェース700を用いてミッション要素データベース702から選択し、ミッションに追加したミッション要素の一実施例である。この実施例では、ユーザによって、initialSurvey714、inspectTarget706、jointSearch718、monitorAdvance712、mixedCoverage710という5つのミッション要素が追加された。ミッション要素のライブラリ704は、この実施例では、タイムスケール720によって示されるミッション要素期間に比例する長さのバー、及び/又はシーケンス番号722によって表されている。このような比例的な表示は、例えば、ガントチャートに類似している。ユーザ(例えば、図3の任意の数のユーザ314)は、シーケンスタイム推定値724に値を入力することにより、例えばタイムスケール上でのシーケンス変更の際に開始又は終了するミッション要素を表わすために、ミッションシーケンスを進行させる推定時間を決定する。次いで、ユーザは更新726を選択し、シーケンスタイム推定値724に入力した値をミッション要素の表示に適用する。この実施例では、ミッションシーケンスはゼロからスタートし、60秒で1に変更される。
図7に示すグラフィカルユーザインターフェース700は、種々の有利な実施形態を実施可能な方式を物理的又はアーキテクチャ的に限定するものではない。図示されたコンポーネントに加えて及び/又は代えて、他のコンポーネントを使用することができる。一部の有利な実施形態では、幾つかのコンポーネントは不要である。また、ブロックは、幾つかの機能的なコンポーネントを示すために提示されている。種々の有利な実施形態において実施されるとき、これらのブロックの一又は複数は、異なるブロックに合成及び/又は分割することができる。
次に図8を参照する。図8は、有利な一実施形態によるグラフィカルユーザインターフェースを示している。グラフィカルユーザインターフェース800は、図3の任意の数のデバイス312を用いた図3のミッションプランナークライアント306の一実装態様の一実施例である。
グラフィカルユーザインターフェース800には、キャンバス802及びミッションコンポーネントクリエータ804が含まれる。キャンバス802は、図4のミッションプランナークライアント400のディスプレイ404の一実装態様の一実施例である。キャンバス802は、ミッション要素の座標パラメータを選択するために、マウスなどのデバイスを用いてユーザがカーソルをドラッグできるミッション環境のグラフィカルな状況表示である。
ミッションコンポーネントクリエータ804は、ユーザ(例えば、図3の任意の数のユーザ314)に対し、ミッション要素データベース806と、選択されたミッション要素の関連コード808とを提示するダイアログボックスである。一実施例では、ユーザがミッション要素データベース806からミッション要素を選択する場合、ミッション要素のリストの右にあるダイアログボックスに、そのミッション要素のコードが表示される。ミッションコンポーネントクリエータ804は、選択ウィンドウモジュール418の一実施例である。この実施例では、選択ウィンドウモジュール418内の様々な選択肢はミッション要素データベース806内のミッション要素であり、選択ウィンドウモジュール418の様々な値は、各ミッション要素の、選択されたミッション要素のコード808である。選択されたミッション要素のコード808は、要素ポップアップモジュール416により表示される。
図8に示すグラフィカルユーザインターフェース800は、種々の有利な実施形態を実施可能な方式を物理的又はアーキテクチャ的に限定するものではない。図示されたコンポーネントに加えて及び/又は代えて、他のコンポーネントを使用することができる。一部の有利な実施形態では、幾つかのコンポーネントは不要である。また、ブロックは、幾つかの機能的なコンポーネントを示すために提示されている。種々の有利な実施形態において実施されるとき、これらのブロックの一又は複数は、異なるブロックに合成及び/又は分割することができる。
次に図9を参照する。図9は、有利な一実施形態によるグラフィカルユーザインターフェースを示している。グラフィカルユーザインターフェース900は、図3の任意の数のデバイス312を用いた図3のミッションプランナークライアント306の一実装態様の一実施例である。
グラフィカルユーザインターフェース900には、ミッションプランナー902及びコンポーネントエディタ904が含まれている。ミッションプランナー902は、図3のミッションプランナークライアント306の一実装態様の一実施例であり、ユーザにより操作される関数をグラフィカルに示している。コンポーネントエディタ904は、図4のミッション変数定義モジュール414により提示されるダイアログボックスの一実施例であり、ユーザによるミッション変数の変更を可能にしている。ユーザは、例えば異なる時間又は場所で動作する、同じミッション要素の複数のインスタンスを挿入し、固有の名称を取得することができる。この実施例では、ユーザは、initialSurveyミッション要素のこのインスタンスに固有の名称として、initialSurvey1を入力した。
図9に示すグラフィカルユーザインターフェース900は、種々の有利な実施形態を実施可能な方式を物理的又はアーキテクチャ的に限定するものではない。図示されたコンポーネントに加えて及び/又は代えて、他のコンポーネントを使用することができる。一部の有利な実施形態では、幾つかのコンポーネントは不要である。また、ブロックは、幾つかの機能的なコンポーネントを示すために提示されている。種々の有利な実施形態において実施されるとき、これらのブロックの一又は複数は、異なるブロックに合成及び/又は分割することができる。
次に図10を参照する。図10は、有利な一実施形態によるミッションプランニングプロセスのフロー図である。図10のプロセスは、例えば、図3のミッションプランニングシステム302のようなコンポーネントによって実施される。
プロセスは、ミッションのユーザ定義を受け取ることにより開始される(工程1002)。ユーザ定義は、例えば、図3のミッションプランナークライアント306のようなグラフィカルユーザインターフェースを用いて受け取られる。ユーザ定義は、通常、達成することが必要な一のミッション、又は任意の数のタスクを定義する。
プロセスは、ユーザ定義及び任意の数のミッション要素を用いてミッションスクリプトを生成する(工程1004)。プロセスは、例えば、図3のミッション管理フレームワーク318のようなミッション管理フレームワークを用いてミッションスクリプトを生成する。任意の数のミッション要素は、例えば、ミッションのアスペクト、又は任意の数のタスクのうちの特定のタスクを定義する。
プロセスは、任意の数のミッション要素を任意の数のアセットに割り当てる(工程1006)。アセットは、例えば、図3の任意の数のアセット324である。プロセスは、任意の数のアセットにより任意の数のミッション要素の実行を制御する(工程1008)。プロセスは、任意の数のミッション要素を用いて、任意の数のアセットに対するミッション実行命令を生成する。命令は、例えば、図3の通信システム320のような通信システムを用いて任意の数のアセットに送信される。実行制御アクションには、ミッション要素、例えば所与のフィードバック、又は任意の数のアセットから受け取ったメッセージをスキップするプロセスによるミッションシーケンスの随意的進行が含まれる。随意で、ミッションのシーケンス進行は、ユーザ(例えば、図3の任意の数のユーザ314)が制御することができ、ユーザはこのコマンドを、任意の数のアセットに直接供給するのではなく、ミッション管理フレームワークに供給する。
プロセスは、ミッションを実行する任意の数のアセットを監視する(工程1010)。プロセスは、ミッション実行中に任意の数のアセットからメッセージを受け取る(工程1012)。プロセスは、ミッションの再構成が必要であるかどうかを決定する(工程1014)。例えば、アセットがミッション要素を完了できないか、又はミッション要素を完了するために援助を必要とする場合、ミッションの再構成が必要とされる。
ミッションの再構成が必要であると決定された場合、プロセスは、受け取ったメッセージを用いて修正済みミッションを生成し(工程1016)、工程1010に戻る。この再構成は、例えば、車両故障又はアセットの状況の他の変化といった受け取ったメッセージに基づき、ミッション管理フレームワークによって自律的に行われる。随意で、ユーザは、ミッションに任意の数のミッション要素を追加すること、未だ開始されていない任意の数のミッション要素をミッションから除去すること、未だ開始されていない任意の数のミッション要素のパラメータを修正すること、及び/又はミッションの他の適切な修正により、ミッションを修正することもできる。
ミッションの再構成が不要であると決定された場合、プロセスは、次いで、ミッションが完了しているかどうかを決定する(工程1018)。ミッションが完了していないと決定された場合、プロセスは工程1010に戻る。ミッションが完了していると決定された場合、プロセスはその後終了する。
次に図11を参照する。図11は、有利な一実施形態によるミッション定義プロセスのフロー図である。図11のプロセスは、例えば、図3のミッションプランニングシステム302のようなコンポーネントによって実施される。
プロセスは、ミッション要素のライブラリに任意の数のミッション要素を追加することにより開始される(工程1102)。任意の数のミッション要素は、例えば、図3のミッション要素データベース319のようなミッション要素データベースから、ミッションプランナーサーバによって選択されて、図5のミッション要素ライブラリ516のようなミッション要素ライブラリに保存される。
プロセスは、任意の数のスタート関数をミッションに追加する(工程1104)。スタート関数は、図6のスタート関数606のようなスタート関数のライブラリから追加される。プロセスは、次いで、任意の数のストップ関数をミッションに追加する(工程1106)。ストップ関数は、図6のストップ関数608のようなストップ関数のライブラリから追加される。プロセスは、随意で、任意の数のストップ条件をミッションに追加する(工程1108)。ストップ条件は、図6のストップ条件610のようなストップ条件のライブラリから追加される。プロセスは、任意の数の反復関数をミッションに追加する(工程1110)。反復関数は、図6の反復関数612のような反復関数のライブラリから追加される。プロセスは、随意で、任意の数のサポート関数をミッションに追加する(工程1112)。サポート関数は、図6のサポート関数614のようなサポート関数のライブラリから追加される。プロセスは、随意でミッションを記憶装置に保存し(工程1114)、その後終了する。プロセスは、例えば、保存せずにコンピュータメモリからミッションを実行してもよい。
添付図面に示した種々の実施形態におけるフロー図及びブロック図は、幾つかの実装可能な装置、方法及びコンピュータプログラム製品のアーキテクチャ、機能性、及び工程を示している。これに関して、フロー図及びブロック図の各ブロックは、コンピュータで使用可能又は読込可能なプログラムコードのモジュール、セグメント、又は部分を表わしており、一又は複数の特定の機能を実施するための一又は複数の実行可能な命令を含んでいる。幾つかの代替的な実装態様では、ブロックに記載された一又は複数の機能は、図中の順序で行われなくともよい。例えば、場合によっては、連続して示されている2つのブロックは、含まれる機能によっては、ほぼ同時に実行ても、又は時には逆の順序で実行されてもよい。
種々の有利な実施形態は、全体がハードウェアからなる実施形態、全体がソフトウェアからなる実施形態、又はハードウェア要素とソフトウェア要素とを含む実施形態の形態をとることができる。幾つかの実施形態は、限定しないが、例えばファームウェア、常駐ソフトウェア、及びマイクロコードといった形態を含むソフトウェアにおいて実施される。
さらに、種々の実施形態は、コンピュータ、或いは命令を実行する何らかのデバイス又はシステムにより使用される、或いはそれに接続されて使用されるプログラムコードを提供するコンピュータで使用可能又は読み取り可能な媒体からアクセス可能なコンピュータプログラム製品の形態をとることができる。本明細書の目的のために、コンピュータで使用可能又は読み取り可能な媒体は、一般に、命令実行システム、装置、又はデバイスによって使用される、或いはそれに接続されて使用されるプログラムの収容、格納、通信、伝播、又は運搬を行うことができる任意の有形装置とすることができる。
コンピュータで使用可能又はコンピュータで読み取り可能な媒体は、例えば、限定しないが、電子システム、磁気システム、光学システム、電磁システム、赤外システム、又は半導体システム、或いは伝播媒体とすることができる。コンピュータで読み取り可能な媒体の非限定的な実施例には、半導体又は固体状態のメモリ、磁気テープ、取り出し可能なコンピュータディスケット、ランダムアクセスメモリ(RMA)、リードオンリーメモリ(ROM)、剛性磁気ディスク、及び光ディスクが含まれる。光ディスクには、コンパクトディスク−リードオンリーメモリ(CD−ROM)、コンパクトディスク−リード/ライト(CD−R/W)、及びDVDが含まれる。
さらに、コンピュータで使用可能な又はコンピュータで読み取り可能な媒体は、コンピュータで読み取り可能又は使用可能なプログラムコードを収容又は格納しており、コンピュータで読み取り可能又は使用可能なこのプログラムコードがコンピュータ上で実行されるとき、コンピュータで読み取り可能又は使用可能なこのプログラムコードの実行によって、コンピュータは、コンピュータで読み取り可能又は使用可能な別のプログラムコードを通信リンクを介して伝送する。このような通信リンクは、例えば、限定しないが、物理的な又は無線の媒体を使用することができる。
コンピュータで読み取り可能な又はコンピュータで使用可能なプログラムコードを格納及び/又は実行するデータ処理システムは、システムバスのような通信ファブリックによりメモリ要素に直接的に又は間接的に連結された一又は複数のプロセッサを含む。メモリ要素には、プログラムコード、大容量記憶装置、及び少なくとも何らかのコンピュータで読み取り可能な又はコンピュータで使用可能なプログラムコードを一時的に格納することにより、コード実行中に大容量記憶装置からコードを取り出す回数を低減できるキャッシュメモリが含まれる。
入出力又はI/O装置は、直接的に、又はI/Oコントローラを介して、システムに連結することができる。このような装置には、例えば、限定されないが、キーボード、タッチスクリーンディスプレイ、及びポインティングデバイスが含まれる。種々の通信アダプタをシステムに連結することにより、データ処理システムを、構内ネットワーク又は公衆ネットワークを介在させて他のデータ処理システム、遠隔プリンタ、又は記憶装置に連結させることもできる。非限定的な実施例はモデムであり、ネットワークアダプタは、現在利用可能な種類の通信アダプタのうちのごく一部に過ぎない。
種々の有利な実施形態は、現行のミッションプランニングシステムでは、オフラインでのミッションのスクリプト作成を行なった後、オフラインで完成させてからミッションを実行することを認識し、考慮している。このような現行システムの多くは、例えば広域探索ミッションのような単一ミッションの種類に特異的である。既存の解決法は、飛行中にミッションを作成及び修正する必要のある動的な応用分野においては実用的でない。このような現行システムは、固定的であり、実行開始後にミッションを修正しない。現在利用可能なシステムでは、ユーザがコードを記述するだけでなく、ミッションのスクリプトを手書きで作成できなければならない。
したがって、種々の有利な実施形態により、複数のアセットを伴う複雑なミッションの実時間での定義、実行、及び監視を行うシステムが提供される。このシステムにより、自律的ビークルのオペレータは、数及び種類が変動するアセットによりグラフィカルユーザインターフェースを用いて実行することが必要な複数のタスクを伴う複雑なミッションの生成、更新、及び実行を容易に行うことができる。クライアントとサーバとをネットワークを介して通信させることにより、ユーザは、遠隔地からミッションを定義、更新、及び実行することができる。また、複数のクライアントを使用することにより、複数のユーザは、ミッションを同時に監視及び更新することができる。ミッションの定義は「ミッション要素」の概念を用いたモジュール方式であるので、ユーザは、ミッション要素間の依存、それらの完了状況、及び各ミッション要素に割り当てられた、又は必要とされるリソースを示す実時間ガントチャート形式でミッション要素をグラフィカルに実時間表示することにより、ミッションの進行を監視することができる。これは、ミッションプランナーサーバを介したミッション管理フレームワークからのフィードバックを使用して達成される。加えて、ミッション要素のサーバライブラリへの照会を含むクライアントとサーバとの間のリッチメッセージングにXML−RPCを使用することができるので、クライアントのソフトウェアをまったく変更することなく、ライブラリを容易に更新することができる。
上述した種々の有利な実施形態の説明は、例示及び説明を目的とするものであり、完全な説明であること、又はこれらの実施形態を開示された形態に限定することを意図していない。当業者には、多数の修正例及び変形例が明らかであろう。さらに、種々の有利な実施形態は、他の有利な実施形態とは異なる利点を提供することができる。選択された一又は複数の実施形態は、実施形態の原理、実際の用途を最もよく説明するため、及び他の当業者に対し、様々な実施形態の開示内容と、考慮される特定の用途に適した様々な修正との理解を促すために選択及び記述されている。
また、本願は以下に記載する態様を含む。
態様1)
任意の数のコンピュータ、
任意の数のコンピュータのうちの一つによって実行されるグラフィカルユーザインターフェース、
コンピュータに格納された第1のプログラムコードであって、任意の数のミッション要素を用いてミッションを定義するためにコンピュータによって実行される第1のプログラムコード、及び
コンピュータに格納された第2のプログラムコードであって、任意の数のアセットに対するミッション実行命令を生成し、ミッション実行中に任意の数のアセットを監視するためにコンピュータによって実行される第2のプログラムコード
を備えるシステム。
(態様2)
任意の数のアセットが、ビークル、センサ、充電所、及びマシンのうちの少なくとも一つを含んでいる、態様1に記載のシステム。
(態様3)
任意の数のミッション要素がミッション要素ライブラリに格納されている、態様1に記載のシステム。
(態様4)
任意の数のミッション要素が第1のプログラムコードによって生成される、態様1に記載のシステム。
(態様5)
第1のプログラムコードが第2のプログラムコードとネットワークを介して通信する、態様1に記載のシステム。
(態様6)
任意の数のコンピュータのうちの第1のコンピュータが第2のプログラムコードを実行し、任意の数のコンピュータのうちの複数のコンピュータが第1のプログラムコードの複数のインスタンスを実行し、第1のコンピュータは前記複数のコンピュータのうちの一つではなく、且つ第1のコンピュータが前記複数のコンピュータと通信することで、複数のユーザがミッションの定義、修正、実行、及び監視の少なくとも一つを同時に行うことが可能になる、態様1に記載のシステム。
(態様7)
各ミッション要素に任意の数のミッションタスクが含まれており、且つシステムが、複数のミッションを同時に定義、更新、実行及び監視する、態様1に記載のシステム。
(態様8)
ミッションプランニング方法であって、
コンピュータにより、ミッションのユーザ定義を受け取ること、
ユーザ定義及び任意の数のミッション要素を用いてミッションのプログラムを生成すること、
任意の数のミッション要素を任意の数のアセットに割り当てること、
任意の数のアセットにより任意の数のミッション要素の実行を制御すること、並びに
ミッションを実行する任意の数のアセットを監視すること
を含む方法。
(態様9)
ミッション実行中に任意の数のアセットからメッセージを受け取ること、
ミッションの再構成が必要であるかどうかを決定すること、並びに
ミッションの再構成が必要であるとの決定に応じて、受け取ったメッセージを用いて修正済みミッションを生成すること
をさらに含む、態様8に記載の方法。
(態様10)
ミッションの再構成が不要であるとの決定に応じて、ミッションが完了しているかどうかを決定すること
をさらに含む、態様9に記載の方法。
(態様11)
ユーザ定義は、ミッションプランナークライアントを用いるコンピュータによって受け取られる、態様8に記載の方法。
(態様12)
ミッションスクリプトはミッション管理フレームワークによって生成される、態様8に記載の方法。
(態様13)
任意の数のミッション要素は、ミッションプランナーサーバによって生成され、ミッション管理フレームワークによって選択されて、任意の数のアセットに割り当てられる、態様8に記載の方法。
(態様14)
ユーザが、グラフィカルユーザインターフェースと任意の数のデバイスとを用いて座標パラメータを任意の数のミッション要素に入力する、態様8に記載の方法。
(態様15)
受け取るステップ、生成するステップ、割り当てるステップ、制御するステップ、及び監視するステップは実時間で実行される、態様8に記載の方法。
(態様16)
フライトの情報を管理するためのコンピュータプログラム製品であって、
コンピュータで記録可能な記憶媒体、
コンピュータで記録可能な記憶媒体に格納されて、ミッションのユーザ定義を受け取るプログラムコード、
コンピュータで記録可能な記憶媒体に格納されて、ユーザ定義及び任意の数のミッション要素を用いてミッションスクリプトを生成するプログラムコード、
コンピュータで記録可能な記憶媒体に格納されて、任意の数のミッション要素を任意の数のアセットに割り当てるプログラムコード、
コンピュータで記録可能な記憶媒体に格納されて、任意の数のミッション要素を用いて任意の数のアセットに対するミッション実行命令を生成するプログラムコード、並びに
コンピュータで記録可能な記憶媒体に格納されて、ミッションを実行する任意の数のアセットを監視するプログラムコード
を備えたコンピュータプログラム製品。
(態様17)
コンピュータで記録可能な記憶媒体に格納されて、ミッション実行中に任意の数のアセットからメッセージを受け取るプログラムコード、
コンピュータで記録可能な記憶媒体に格納されて、ミッションの再構成が必要であるかどうかを決定するプログラムコード、並びに
コンピュータで記録可能な記憶媒体に格納されて、ミッションの再構成が必要であるとの決定に応じて、受け取ったメッセージを用いて修正済みミッションを生成するプログラムコード
をさらに備えた態様16に記載のコンピュータプログラム製品。
(態様18)
コンピュータで記録可能な記憶媒体に格納されて、ミッションの再構成が不要であるとの決定に応じて、ミッションが完了しているかどうかを決定するプログラムコード
をさらに備えた態様17に記載のコンピュータプログラム製品。
(態様19)
ユーザ定義が、ミッションプランナークライアントを用いるコンピュータによって受け取られる、態様16に記載のコンピュータプログラム製品。
(態様20)
任意の数のミッション要素が、ミッションプランナーサーバによって生成され、ミッション管理フレームワークによって選択されて、任意の数のアセットに割り当てられる、態様16に記載のコンピュータプログラム製品。

Claims (15)

  1. ミッションプランを動的に修正するシステムであって、
    任意の数のコンピュータ、
    任意の数のコンピュータのうちの第1のコンピュータによって実行されるグラフィカルユーザインターフェース、
    第1のコンピュータに格納された第1のプログラムコードであって、ミッション要素データベースからの任意の数のミッション要素を用いてミッションプランを定義するために第1のコンピュータによって実行される第1のプログラムコード、
    ミッション要素データベースからの任意の数のミッション要素を記述して図解式に示す、グラフィカルユーザインターフェース上のグラフィカルディスプレイであって、グラフィカルディスプレイは、少なくとも、ミッションプランの実行を開始する、ターゲットを点検する、構造を観察する、進行を監視するミッション要素を少なくとも含み、グラフィカルディスプレイは、ミッションプランを修正する任意の数のミッション要素の一つ以上に対するユーザ入力を受け取りし、
    任意の数のコンピュータのうちの少なくとも第2のコンピュータに格納された第2のプログラムコードであって、第1のコンピュータと第2のコンピュータとはネットワークを介して通信し、第2のプログラムコードは、リアルタイムで、任意の数のアセットに対するミッションプランを実行するための命令を生成し、ミッションプラン実行中に任意の数のアセットを監視し、任意の数のアセットの利用可能性、ミッションプランの実行における使用に関する任意の数のアセットの即応性、任意の数のアセットの健全性、任意の数のアセットのリソース使用、任意の数のアセットによるリソースの枯渇、又は任意の数のアセットの現状のうち少なくとも一つについての情報に基づいて、任意の数のアセットに対する命令が、任意の数のアセットに割り当てられる、第2のプログラムコード
    任意の数のアセットから任意の数のコンピュータへメッセージを転送し、任意の数のコンピュータから任意の数のアセットへ命令を転送する通信システム、
    を備え
    第1のコンピュータは、第2のコンピュータから遠隔地に物理的に位置し、第1のコンピュータによって実行されるグラフィカルユーザインターフェース上のグラフィカルディスプレイが、ミッションプランを修正するユーザ入力を受け取る場合に、ミッションプランの実行中に、ミッションプランに対する命令が、リアルタイムに、第2のコンピュータ上で生成される、
    システム。
  2. 任意の数のアセットが、ビークル、センサ、充電所、及びマシンのうちの少なくとも一つを含み、任意の数のアセットは、第1のコンピュータと通信するよう構成されている、請求項1に記載のシステム。
  3. 任意の数のミッション要素がミッション要素ライブラリに格納されている、請求項1に記載のシステム。
  4. 任意の数のミッション要素が第1のプログラムコードによって生成される、請求項1に記載のシステム。
  5. 第1のプログラムコードがネットワークを介して第2のプログラムコードと通信する、請求項1に記載のシステム。
  6. 第1のプログラムコードが第2のプログラムコードと拡張マークアップ言語−遠隔手続き呼び出しを用いて通信する、請求項1に記載のシステム。
  7. 第2のコンピュータにおいて、ミッションプランの実行の定義、修正、実行、及び監視のうちの少なくとも一つを任意の数のユーザが実行することによって生成される任意の数のミッション要素の選択を更に含み、
    任意の数のコンピュータのうちの複数のコンピュータが第1のプログラムコードの複数のインスタンスを実行し、第のコンピュータは前記複数のコンピュータのうちの一つではなく、且つ第のコンピュータが前記複数のコンピュータと通信することで、複数のユーザがミッションプランの実行の定義、修正、実行、及び監視を同時に行うことが可能になる、請求項1に記載のシステム。
  8. 各ミッション要素に任意の数のミッションタスクが含まれており、且つシステムが、複数のミッションプランの実行を同時に定義、更新、実行及び監視する、請求項1に記載のシステム。
  9. ミッションプランニング方法であって、
    ミッション要素データベースからのミッションプランに対する任意の数のミッション要素を図解式に示すグラフィカルユーザインターフェース上にグラフィカルディスプレイを記述すること、グラフィカルディスプレイは、ミッションプランの実行を開始する、ターゲットを点検する、構造を観察する、進行を監視するミッション要素を少なくとも含み、
    コンピュータにより、グラフィカルディスプレイから、ミッションプランを修正する任意の数のミッション要素の一つ又は複数に対するユーザ入力を受け取ること、
    コンピュータがミッションプランを修正するグラフィカルディスプレイからユーザ入力を受け取る場合に、任意の数のミッション要素に基づいてミッションプランに対する命令を生成することであって、
    任意の数のアセットの利用可能性、ミッションプランの実行における使用に関する任意の数のアセットの即応性、任意の数のアセットの健全性、任意の数のアセットのリソース使用、任意の数のアセットによるリソースの枯渇、又は任意の数のアセットの現状のうち少なくとも一つについての情報に基づいて、命令が、任意の数のアセットに割り当てられ、
    任意の数のミッション要素を任意の数のアセットに割り当てること、
    任意の数のアセットにより任意の数のミッション要素の実行を制御すること、
    ミッションプランの実行中に、任意の数のアセットからミッションプランナーによってメッセージを受信すること、ミッションプランナーは任意の数のアセットから離れている、
    ミッションプランを実行する任意の数のアセットを監視すること、
    並びに
    ミッションプランの再構成が必要か否か決定すること
    を含む方法。
  10. ミッションプランの再構成が不要であるとの決定に応じて、ミッションプランの実行が完了しているかどうかを決定すること
    をさらに含む、請求項9に記載の方法。
  11. 任意の数のミッション要素を記述して図解式に示す、グラフィカルユーザインターフェース上のグラフィカルディスプレイが、ミッションプランナークライアントである、請求項に記載の方法。
  12. ミッションスクリプトは、任意の数のミッション要素を用いてミッション管理フレームワークによって生成される、請求項に記載の方法。
  13. 任意の数のミッション要素は、ミッションプランナーサーバによって生成され、ミッション管理フレームワークによって選択されて、任意の数のアセットに割り当てられる、請求項に記載の方法。
  14. ユーザが、グラフィカルユーザインターフェースと任意の数のアセットとを用いて、任意の数のミッション要素を修正するために、座標パラメータを任意の数のミッション要素に入力する、請求項に記載の方法。
  15. 受け取ること、生成すること、割り当てること、制御すること、及び監視すること、リアルタイムで実行される、請求項に記載の方法。
JP2013510105A 2010-05-14 2011-04-14 実時間ミッションプランニング Active JP5924740B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US12/780,621 US9064222B2 (en) 2010-05-14 2010-05-14 Real time mission planning
US12/780,621 2010-05-14
PCT/US2011/032459 WO2011142933A2 (en) 2010-05-14 2011-04-14 Real time mission planning

Publications (3)

Publication Number Publication Date
JP2013527529A JP2013527529A (ja) 2013-06-27
JP2013527529A5 JP2013527529A5 (ja) 2014-05-29
JP5924740B2 true JP5924740B2 (ja) 2016-05-25

Family

ID=44120986

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013510105A Active JP5924740B2 (ja) 2010-05-14 2011-04-14 実時間ミッションプランニング

Country Status (5)

Country Link
US (1) US9064222B2 (ja)
EP (1) EP2569697A4 (ja)
JP (1) JP5924740B2 (ja)
AU (1) AU2011253405B2 (ja)
WO (1) WO2011142933A2 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101157484B1 (ko) * 2010-12-14 2012-06-20 주식회사 대한항공 무인항공기 자동회수 방법
WO2013140401A2 (en) * 2012-03-22 2013-09-26 Israel Aerospace Industries Ltd. Planning and monitoring of autonomous-mission
US9442946B1 (en) * 2013-02-27 2016-09-13 The Boeing Company Methods and systems of processing contextual information
US10168674B1 (en) * 2013-04-22 2019-01-01 National Technology & Engineering Solutions Of Sandia, Llc System and method for operator control of heterogeneous unmanned system teams
US9567080B2 (en) 2013-05-02 2017-02-14 Bae Systems Plc Goal-based planning system
EP2800032A1 (en) * 2013-05-02 2014-11-05 BAE Systems PLC Goal-based planning system
US20150025927A1 (en) * 2013-07-16 2015-01-22 Raytheon Company Mission component evaluation and response architecture
US9629220B2 (en) * 2013-08-05 2017-04-18 Peter Panopoulos Sensor-based controllable LED lighting system with repositionable components and method
EP2879012A1 (en) * 2013-11-29 2015-06-03 The Boeing Company System and method for commanding a payload of an aircraft
US9423943B2 (en) 2014-03-07 2016-08-23 Oracle International Corporation Automatic variable zooming system for a project plan timeline
US9710571B2 (en) 2014-03-07 2017-07-18 Oracle International Corporation Graphical top-down planning system
US9418348B2 (en) 2014-05-05 2016-08-16 Oracle International Corporation Automatic task assignment system
US10643157B2 (en) 2015-02-03 2020-05-05 Oracle International Corporation Task progress update history visualization system
US10496943B2 (en) 2015-03-30 2019-12-03 Oracle International Corporation Visual task assignment system
US9776717B2 (en) 2015-10-02 2017-10-03 The Boeing Company Aerial agricultural management system
US10319243B2 (en) 2015-11-30 2019-06-11 At&T Intellectual Property I, L.P. Computer aided dispatch of drones
US10296862B1 (en) * 2016-05-12 2019-05-21 Northrop Grumman Systems Corporation Time interval assessment of mission plan quality dynamic asset allocation
US10246187B2 (en) 2016-09-09 2019-04-02 Walmart Apollo, Llc Systems and methods to interchangeably couple tool systems with unmanned vehicles
GB2568186A (en) * 2016-09-09 2019-05-08 Walmart Apollo Llc Geographic area monitoring systems and methods utilizing computational sharing across multiple unmanned vehicles
GB2568191A (en) 2016-09-09 2019-05-08 Walmart Apollo Llc Geographic area monitoring systems and methods through interchanging tool systems between unmanned vehicles
CN110023863A (zh) 2016-09-09 2019-07-16 沃尔玛阿波罗有限责任公司 平衡无人驾驶交通工具之间的电力使用的地理区域监测系统和方法
US10540898B2 (en) * 2017-07-21 2020-01-21 General Electric Company Decision support system for air missioncommander dynamic mission re-planning
US10741088B1 (en) 2017-09-29 2020-08-11 DroneUp, LLC Multiplexed communications for coordination of piloted aerial drones enlisted to a common mission
US10769466B2 (en) * 2018-02-20 2020-09-08 International Business Machines Corporation Precision aware drone-based object mapping based on spatial pattern recognition
US20200312299A1 (en) * 2019-03-29 2020-10-01 Samsung Electronics Co., Ltd. Method and system for semantic intelligent task learning and adaptive execution

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06344279A (ja) 1993-06-07 1994-12-20 Hitachi Ltd 遠隔作業装置及び方法
US5642467A (en) * 1995-01-31 1997-06-24 The Penn State Research Foundation Controller for autonomous device
IL117792A (en) * 1995-05-08 2003-10-31 Rafael Armament Dev Authority Autonomous command and control unit for mobile platform
US6222547B1 (en) * 1997-02-07 2001-04-24 California Institute Of Technology Monitoring and analysis of data in cyberspace
US5951609A (en) * 1997-05-29 1999-09-14 Trw Inc. Method and system for autonomous spacecraft control
US6317690B1 (en) * 1999-06-28 2001-11-13 Min-Chung Gia Path planning, terrain avoidance and situation awareness system for general aviation
JP2001353678A (ja) 2000-06-12 2001-12-25 Sony Corp オーサリング・システム及びオーサリング方法、並びに記憶媒体
US6493609B2 (en) * 2001-04-27 2002-12-10 Lockheed Martin Corporation Automatic flight envelope protection for uninhabited air vehicles
US20030059743A1 (en) * 2001-08-29 2003-03-27 The Boeing Company Method and apparatus for automatically generating a terrain model for display during flight simulation
US7154496B1 (en) * 2001-10-30 2006-12-26 Lockheed Martin Corporation Telemetry-based flight vehicle visualization system and method
US7243008B2 (en) * 2002-06-11 2007-07-10 Lockheed Martin Automated intel data radio
US7343232B2 (en) * 2003-06-20 2008-03-11 Geneva Aerospace Vehicle control system including related methods and components
JP4676784B2 (ja) * 2004-03-02 2011-04-27 株式会社リコー プロセス管理装置、プロセス管理方法及びプロセス管理プログラム
US20050216182A1 (en) * 2004-03-24 2005-09-29 Hussain Talib S Vehicle routing and path planning
US8942882B2 (en) * 2004-07-02 2015-01-27 The Boeing Company Vehicle health management systems and methods
JP4460411B2 (ja) 2004-10-01 2010-05-12 本田技研工業株式会社 ロボット制御装置
US7765038B2 (en) 2005-02-16 2010-07-27 Lockheed Martin Corporation Mission planning system for vehicles with varying levels of autonomy
US8078319B2 (en) * 2005-02-16 2011-12-13 Lockheed Martin Corporation Hierarchical contingency management system for mission planners
US7236861B2 (en) * 2005-02-16 2007-06-26 Lockheed Martin Corporation Mission planning system with asynchronous request capability
US7624024B2 (en) 2005-04-18 2009-11-24 United Parcel Service Of America, Inc. Systems and methods for dynamically updating a dispatch plan
US20060271286A1 (en) * 2005-05-27 2006-11-30 Outland Research, Llc Image-enhanced vehicle navigation systems and methods
US7734386B2 (en) * 2005-07-25 2010-06-08 Lockheed Martin Corporation System for intelligently controlling a team of vehicles
US7415331B2 (en) * 2005-07-25 2008-08-19 Lockheed Martin Corporation System for controlling unmanned vehicles
US7451023B2 (en) * 2005-07-25 2008-11-11 Lockheed Martin Corporation Collaborative system for a team of unmanned vehicles
US7844396B2 (en) * 2005-09-13 2010-11-30 Deere & Company Method and system for modular data processing for a vehicle control system
JP2007093045A (ja) 2005-09-27 2007-04-12 Mitsubishi Electric Corp 指令装置及び指令方法
US7813888B2 (en) * 2006-07-24 2010-10-12 The Boeing Company Autonomous vehicle rapid development testbed systems and methods
US7894952B2 (en) * 2006-11-21 2011-02-22 Lockheed Martin Corporation Methods and apparatus for accessing vehicle electronic systems
US8620714B2 (en) * 2006-11-28 2013-12-31 The Boeing Company Prognostic condition assessment decision aid
WO2009045580A1 (en) * 2007-06-15 2009-04-09 Mountaintop Technologies, Inc. Aviation ground navigation system
ITRM20070347A1 (it) * 2007-06-21 2008-12-22 Space Software Italia S P A Metodo e sistema per la interazione e cooperazione di sensori, attuatori e robot
US8019447B2 (en) * 2007-09-14 2011-09-13 The Boeing Company Method and system to control operation of a device using an integrated simulation with a time shift option
US8713177B2 (en) * 2008-05-30 2014-04-29 Red Hat, Inc. Remote management of networked systems using secure modular platform
WO2010039306A2 (en) * 2008-06-27 2010-04-08 Raytheon Company Apparatus and method of controlling an unmanned vehicle
US8521339B2 (en) * 2008-09-09 2013-08-27 Aeryon Labs Inc. Method and system for directing unmanned vehicles
US8543265B2 (en) * 2008-10-20 2013-09-24 Honeywell International Inc. Systems and methods for unmanned aerial vehicle navigation
US8538673B2 (en) * 2008-10-31 2013-09-17 Czech Technical University In Prague System and method for planning/replanning collision free flight plans in real or accelerated time
IL196276A (en) * 2008-12-30 2013-04-30 Elbit Systems Ltd Autonomous navigation system and method for a maneuverable platform
JP6013737B2 (ja) * 2009-02-02 2016-10-25 エアロバイロメントAerovironment マルチモードの無人航空機
US9046892B2 (en) * 2009-06-05 2015-06-02 The Boeing Company Supervision and control of heterogeneous autonomous operations
US8515609B2 (en) * 2009-07-06 2013-08-20 Honeywell International Inc. Flight technical control management for an unmanned aerial vehicle
US10810519B2 (en) * 2009-10-05 2020-10-20 The Boeing Company Hierarchical mission management
US20110130916A1 (en) * 2009-12-01 2011-06-02 Ise Corporation Location Based Vehicle Data Logging and Diagnostic System and Method
EP2733560A1 (en) * 2012-11-19 2014-05-21 The Boeing Company Autonomous mission management

Also Published As

Publication number Publication date
US20110283285A1 (en) 2011-11-17
AU2011253405A1 (en) 2012-11-01
US9064222B2 (en) 2015-06-23
AU2011253405B2 (en) 2017-02-02
JP2013527529A (ja) 2013-06-27
WO2011142933A3 (en) 2013-03-14
EP2569697A4 (en) 2015-03-25
EP2569697A2 (en) 2013-03-20
WO2011142933A2 (en) 2011-11-17

Similar Documents

Publication Publication Date Title
Iglesia et al. MAPE-K formal templates to rigorously design behaviors for self-adaptive systems
Capilla et al. An overview of Dynamic Software Product Line architectures and techniques: Observations from research and industry
Iarovyi et al. Cyber–physical systems for open-knowledge-driven manufacturing execution systems
Kehoe et al. A survey of research on cloud robotics and automation
Crick et al. Rosbridge: Ros for non-ros users
US9189226B2 (en) Software logistics protocols
CN104516724B (zh) 对于复制的数据表的表属性管理
CN105700888B (zh) 一种基于jbpm工作流引擎的可视化快速开发平台
CN102982396B (zh) 通用过程建模框架
US7873946B2 (en) Scalable vector graphics, tree and tab as drag and drop objects
Ohsuga et al. PLANGENT: An approach to making mobile agents intelligent
Cockton et al. Design principles for interactive software
US9586315B2 (en) System and method for flexible human-machine collaboration
US9063808B2 (en) Deploying a package for a software application
Meixner et al. Past, present, and future of model-based user interface development
US7316000B2 (en) Interactive agent for a topological multi-tier business application composer
US10365933B2 (en) Centralized application programming interface monitoring tool
US7661061B2 (en) Visualization of collaborative portlet sequences
US8271998B2 (en) Dynamic discovery and definition of mappings of parameters used by service oriented architecture services at runtime
US20170160880A1 (en) System and Method for Integrating Microservices
WO2016149230A1 (en) Visualization framework for customizable types in a development environment
US7543276B2 (en) System and method for testing and/or debugging runtime systems for solving MES (manufacturing execution system) problems
US8726236B2 (en) Determining context specific content
US9785484B2 (en) Distributed application interfacing across different hardware
US20060106846A1 (en) Cross-context task management

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140411

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140411

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150303

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150602

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150703

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150731

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150903

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160413

R150 Certificate of patent or registration of utility model

Ref document number: 5924740

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250