JP2019142484A - 無人ビークル用のシステムオンモジュールを再構成するためのシステムおよび方法 - Google Patents
無人ビークル用のシステムオンモジュールを再構成するためのシステムおよび方法 Download PDFInfo
- Publication number
- JP2019142484A JP2019142484A JP2019006730A JP2019006730A JP2019142484A JP 2019142484 A JP2019142484 A JP 2019142484A JP 2019006730 A JP2019006730 A JP 2019006730A JP 2019006730 A JP2019006730 A JP 2019006730A JP 2019142484 A JP2019142484 A JP 2019142484A
- Authority
- JP
- Japan
- Prior art keywords
- vehicle
- processing
- fpga
- control process
- configuration data
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 185
- 238000012545 processing Methods 0.000 claims abstract description 322
- 230000008569 process Effects 0.000 claims abstract description 136
- 238000004891 communication Methods 0.000 claims abstract description 47
- 230000008672 reprogramming Effects 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 8
- 238000012546 transfer Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 43
- 230000015654 memory Effects 0.000 description 32
- 238000003491 array Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 14
- 230000008901 benefit Effects 0.000 description 7
- 230000001010 compromised effect Effects 0.000 description 6
- 239000004744 fabric Substances 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000012795 verification Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000001141 propulsive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0055—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots with safety arrangements
- G05D1/0077—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots with safety arrangements using redundant signals or controls
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/052—Linking several PLC's
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G5/00—Traffic control systems for aircraft, e.g. air-traffic control [ATC]
- G08G5/0047—Navigation or guidance aids for a single aircraft
- G08G5/0069—Navigation or guidance aids for a single aircraft specially adapted for an unmanned aircraft
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0088—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/10—Simultaneous control of position or course in three dimensions
- G05D1/101—Simultaneous control of position or course in three dimensions specially adapted for aircraft
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U2201/00—UAVs characterised by their flight controls
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/21—Pc I-O input output
- G05B2219/21109—Field programmable gate array, fpga as I-O module
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Game Theory and Decision Science (AREA)
- Medical Informatics (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Traffic Control Systems (AREA)
- Multi Processors (AREA)
- Logic Circuits (AREA)
- Stored Programmes (AREA)
Abstract
【課題】無人ビークル用のシステムオンモジュールを再構成するためのシステムおよび方法を提供する。【解決手段】1以上の処理装置(302)は、第1のビークル制御プロセスを実行するように構成されている。プログラマブル論理アレイは、1以上の処理装置(302)と動作可能に連通し、複数の論理セルを含む。プログラマブル論理アレイは、第1の構成データに従って複数の論理セルをプログラムし、第1の構成データに基づいて第2のビークル制御プロセスを実行する。無人ビークルが動作している間、プログラマブル論理アレイは、第2のビークル制御プロセスを置き換えるための第3のビークル制御プロセスのための第2の構成データを取得する。次いで、無人ビークルがまだ動作している間に、プログラマブル論理アレイは、第2の構成データに従って複数の論理セルを再プログラムし、第3のビークル制御プロセスを実行する。【選択図】図4
Description
本開示は、一般に無人ビークルに関し、より詳細には無人ビークル用の制御システムに関する。
無人ビークル(UV)は、機上操縦士がいないビークルである。典型的に、無人航空機(UAV)などの(UV)は、操縦士、搭載型制御システムによって、または遠隔操縦士と搭載型制御システムとの組合せによって遠隔制御される。ほとんどの無人航空機には、ビークル動作を制御するための制御システムが含まれている。多くの場合、UAV用の制御システムには、慣性航法システムおよび衛星航法システムなどの搭載型航法システムを含む1以上のビークル制御システムが含まれる。無人航空機は、飛行位置決定および操縦のための加速度計およびジャイロスコープなどの慣性航法センサと、一般的な位置決定および航路発見のための衛星ベースの航法を使用することができる。ほとんどの制御システムはさらに、撮像またはペイロードの送達などの1以上のミッション制御機能を実行するための1以上のミッション制御システムを含む。典型的に、個々のハードウェア構成要素は、各ビークル制御システムおよび各ミッション制御システム用のUAVに搭載されている。
本開示の態様および利点は、以下の説明に一部が記載されるか、またはその説明から明らかにすることができ、あるいは本開示の実施を通じて理解することができる。
一例示的実施形態では、無人ビークル用の制御システムは、第1のビークル制御プロセスを実行するように構成された1以上の処理装置を含む。制御システムはまた、1以上の処理装置と動作可能に連通するフィールドプログラマブルゲートアレイを含む。フィールドプログラマブルゲートアレイは複数の論理セルを含む。フィールドプログラマブルゲートアレイは、第1の構成データに従って複数の論理セルをプログラムし、第1の構成データに基づいて第2のビークル制御プロセスを実行するように構成される。フィールドプログラマブルゲートアレイはさらに、無人ビークルが動作している間に、第2のビークル制御プロセスを置き換えるための第3のビークル制御プロセスのための第2の構成データを取得するように構成される。フィールドプログラマブルゲートアレイはさらに、無人ビークルが動作している間に、第2の構成データに従って複数の論理セルを再プログラムし、第3のビークル制御プロセスを実行するように構成される。
別の例示的実施形態では、無人航空機は、第1の処理システムと第2の処理システムとを備える回路基板を含む。第1および第2の処理システムはそれぞれ、処理装置と、複数の論理セルを含むプログラマブル論理アレイとを含む。例示的実施形態では、第1および第2の処理システムの少なくとも一方は、無人航空機が飛行中に動作を実行するように構成される。動作は、第1の処理システムが危険にさらされていることを検出し、それに応じて構成データを取得することを含む。動作はさらに、構成データに基づいてプログラマブル論理アレイを再構成することを含む。
さらに別の例示的実施形態では、集積回路を再構成するための方法は、1以上の処理システムによって、第1のセットのコンピュータ可読命令に基づいて集積回路の処理装置をプログラミングすることを含む。方法は、1以上の処理システムによって、第1の構成データに基づいて、集積回路のプログラマブル論理アレイを構成するステップを含む。方法は、1以上の処理システムによって、第1の構成データとは異なる第2の構成データを含むオブジェクトを取得するステップを含む。オブジェクトは、第1のセットのコンピュータ可読命令とは異なる第2のセットのコンピュータ可読命令をさらに含む。この方法は、1以上の処理システムによって、第2のセットのコンピュータ可読命令に基づいて、処理装置を再プログラミングするステップを含む。この方法は、1以上の処理システムによって、第2の構成データに基づいて、プログラマブル論理アレイを再構成するステップを含む。
本開示のこれらおよび他の特徴、態様および利点は、以下の説明および添付の特許請求の範囲を参照して、よりよく理解されよう。添付の図面は、本明細書に組み込まれて、本明細書の一部を構成し、本開示の実施形態を例示し、説明と共に本開示の原理を説明するのに役立つ。
本発明の完全かつ可能な開示は、その最良の形態を含み、当業者に向けられて、本明細書に記載されており、それは以下の添付の図面を参照している。
ここで本開示の実施形態を詳細に参照するが、それの1以上の例を図面に示す。各々の例は、説明の目的で提示されており、開示される実施形態を限定するものではない。実際、本発明の範囲または趣旨を逸脱せずに、様々な修正および変更が本発明において可能であることは、当業者にとって明らかであろう。例えば、例示的実施形態の一部として図示または記載する特徴は、別の実施形態と共に用いて、さらに別の実施形態を得ることができる。このように、本開示は、添付の特許請求の範囲およびそれらの均等物の範囲に含まれるような修正および変形を包含するように意図される。
本明細書および添付の特許請求の範囲で使用する場合、「第1の」、「第2の」という用語は、ある構成要素を別の構成要素から区別するために交換可能に使用することができ、個々の構成要素の位置または重要性を示すことを意図するものではない。単数形「1つの(a、an)」、および「この(the)」は、文脈が特に明確に指示しない限り、複数の言及を含む。数値と組み合わせた用語「約」の使用は、記載された量の25%以内を指す。
本開示の例示的態様は、UAVの統合ビークル制御およびミッション制御を提供するための制御システムに関する。例示的実施形態では、制御システムは、内部を画定するハウジングと、内部に配置された1以上の回路基板とを含む。より具体的には、制御システムは、第1の処理システムおよび第2の処理システムを提供する1以上の集積回路を有する第1の回路基板を含み得る。例示的実施形態では、第1および第2の処理システムは、多様で構成可能で認証可能なUAVアプリケーションを提供するための異種フィールドプログラマブルゲートアレイアーキテクチャを有する。
例示的実施形態では、第1の処理システムは、1以上の第1の処理装置と、RAMベースのフィールドプログラマブルゲートアレイなどの揮発性プログラマブル論理アレイとを含むことができる。第2の処理システムは、1以上の第2の処理装置と、フラッシュベースのフィールドプログラマブルゲートアレイなどの不揮発性プログラマブル論理アレイとを含むことができる。幾つかの実装形態では、フラッシュベースのフィールドプログラマブルゲートアレイは、1以上の第1の処理装置によって実装された第1のビークル制御プロセスおよび1以上の第2の処理装置によって実装された第2のビークルプロセスに基づいて、UAVの1以上のビークル装置の制御を管理する。
幾つかの例では、第1の回路基板は、第1の処理システムを含む第1の集積回路と第2の処理システムを含む第2の回路基板とを含む。各処理システムは、中央処理装置(CPU)、アプリケーション処理装置(APU)、リアルタイム処理装置(RPU)、共処理装置、および画像処理装置(GPU)などの1以上の処理装置を含むことができる。さらに、各集積回路は、それぞれの処理システムの集積部分を形成するフィールドプログラマブルゲートアレイ(FPGA)などの埋め込みプログラマブル論理アレイを含むことができる。
幾つかの例では、第1の処理システムおよび/または第2の処理システムはそれぞれ、多重処理コアシステムオンチップとして提供されてもよい。また、説明されたような処理システムで構成された2つ以上のシステムオンチップは、UAVのための異種処理システムを提供することができる。
本開示の例示的実施形態では、第1の処理システムの1以上の処理装置は、第1のビークル航法機能に関連する第1のビークル制御プロセスを実行するように構成され得る。1以上の処理装置と動作可能に連通し、複数の論理セルを含む第1の処理システムのFPGAは、第1の構成データに従って複数の論理セルをプログラムし、第1の構成データに基づいて第2のビークル制御プロセスを実行するように構成され得る。幾つかの例では、第2のビークル制御プロセスは第1のビークル航法機能に関連付けられてもよい。さらに、FPGAが第2のビークル制御プロセスを実行する場合、FPGAは、第1のビークル制御プロセスに従ってUAVの航法制御を可能にするように構成され得る。
FPGAはまた、UAVが飛行中に、第2のビークルプロセスを置き換えるための第3のビークル制御プロセスのための第2の構成データを取得するように構成され得る。より具体的には、FPGAは、UAVが飛行中に、第2の構成データに従って複数の論理セルを再プログラムし、第3のビークル制御プロセスを実行するように構成され得る。幾つかの例では、第3のビークル制御プロセスは第1のビークル航法機能に関連付けられてもよい。さらに、FPGAが複数の論理セルを再プログラムする場合、FPGAは、第2のビークル制御プロセスに従ってUAVの航法制御を中断し、UAVの航法制御を第3のビークル制御プロセスに移すように構成されてもよい。このようにして、FPGAを飛行中に再プログラミングして、UAVの機能性を向上させることができる。
開示された技術の例示的実施形態では、第1の処理システムと第2の処理システムは協働して、より信頼性が高く、堅固な、および/または認証可能なUAVアプリケーションを提供する。例えば、第1の回路基板の第1の処理システムは、UAVに対する第1の処理を実行するように構成することができる。第1のプロセスは、UAVの第1のビークル装置と関連付けられてもよい。第2の処理システムは、第1の処理システムによる第1の処理の実行を監視するように構成することができる。同様に、第1の処理システムは、第2の処理システムによるプロセスの実行を監視するように構成することができる。
より具体的には、幾つかの例では、第1の処理システムの1以上の第1の処理装置は、複数のビークル制御プロセスを実行するように構成することができる。第1の処理システムの揮発性プログラマブル論理アレイは、複数のミッション制御プロセスを実行するように構成することができる。第2の処理システムの不揮発性プログラマブル論理アレイは、1以上の第1の処理装置による1以上のビークル制御プロセスの実行を監視するように構成することができる。
幾つかの例では、第2の処理システムは、第1の処理システムによるプロセスの実行の監視に基づいて、1以上の制御動作を開始するように構成されている。例えば、第2の処理システムの不揮発性プログラマブル論理アレイは、第1の処理システムに関連する出力を監視するように構成することができる。無効な出力の検出に応答して、第2の処理システムは制御動作を開始することができる。例として、不揮発性プログラマブル論理アレイは、無効な出力に基づいて、第1の処理システムの少なくとも一部を再始動することができる。別の例では、第2の処理システムの論理アレイは、第1の処理システムによって1以上の処理を再始動することができる。無効な出力は、プロセスまたは処理システムが故障した場合に発生し得るようなプロセスまたは処理システムからの出力の欠如、ならびに出力として提供される予期しない信号または値を含み得る。
幾つかの実装形態では、第2の処理システムは、第1の処理システムの監視に基づいて、1以上のUAV機能の制御を移すように構成することができる。例えば、第2の処理システムは、第1の処理システムによって実行された第1の処理に関連する無効な出力を検出してもよい。それに応じて、第2の処理システムは、第1のプロセスに関連する機能または装置の制御を第2のプロセスに移すことができる。例えば、第2の処理システムは、UAV装置または自動操縦機能の制御を第1の処理システムから第2の処理システムに移すことができる。幾つかの例では、第2の処理システムは、無効な出力の検出に応答して、第2の処理を実行するように構成することができる。
開示された技術の実施形態は、特に無人航空機の分野において、多くの技術的利益および利点を提供する。一例として、本明細書に記載の技術は、小型で軽量の電子的解決策を用いて無人航空機(UAV)の制御を可能にする。統合された再構成可能な処理システムを有する回路基板は、UAVのための複数のビークル制御プロセスおよびミッション制御プロセスを提供する低減されたハードウェア実装を可能にする。さらに、このような解決策は、航空機搭載アプリケーションの高度な認証要件を満たすことができるバックアップ機能および複数のフェイルポイント実装を提供する。さらに、そのような再構成可能な処理システムを、入出力(I/O)インタフェースを提供する1以上の回路基板を用いる筐体に一体化することによって、スペースおよび重量の要件をさらに低減することが可能になる。
開示された技術の実施形態はさらに、コンピューティング技術の分野において、多くの技術的利益および利点も提供する。例えば、開示されたシステムは、UAVアプリケーションの様々な要求を満たすために多様なコンピューティング環境を提供することができる。複数の集積回路にわたって広がる複数の処理装置は、アプリケーション統合のための様々な高速処理オプションを提供する。重要度および性能のニーズに応じて、様々なハードウェアおよび/またはソフトウェアパーティションに割り当てられるビークルおよびミッション制御プロセス。さらに、単一の集積回路上で対応する処理装置と統合することによってこれらの処理装置に密接に結合された埋め込み型フィールドプログラマブルゲートアレイは、さらなる多様性および信頼性を提供する。
図1は、一例の無人航空機(UAV)UAV10の概略図である。UAV10は、機上操縦士なしで飛行可能なビークルである。例えば、限定するものではないが、UAV10は、固定翼航空機、チルトロータ航空機、ヘリコプタ、クワッドコプタなどのマルチロータドローン航空機、飛行船、航空船、または他の航空機であり得る。
UAV10は、少なくとも1つの推進移動(PM)装置14を含む複数のビークル装置を含む。PM装置14は、制御された力を生成し、かつ/またはUAV10の姿勢、向きまたは位置を維持あるいは変更する。PM装置14は、推力装置または操縦翼面であり得る。推力装置は、UAV10に推進または推力を提供する装置である。例えば、限定するものではないが、推力装置は、モータ駆動プロペラ、ジェットエンジン、または他の推進源であり得る。操縦翼面は、操縦翼面を通過する空気流の偏向による力を提供する制御可能面または他の装置である。例えば、限定するものではないが、操縦翼面は、昇降舵、方向舵、エルロン、スポイラ、フラップ、スラット、エアブレーキ、またはトリム装置であり得る。様々なアクチュエータ、サーボモータ、および他の装置を使用して操縦翼面を操作することができる。PM装置14はまた、プロペラまたはロータブレードのピッチ角を変えるように構成された機構、あるいはロータブレードの傾斜角を変えるように構成された機構であり得る。
UAV10は、制御ボックス100を含む搭載型制御システム、地上管制局(図1には図示せず)、および少なくとも1つのPM装置14を含むがこれらに限定されるものではない本明細書に記載のシステムによって制御することができる。UAV10は、例えば、限定されるものではないが、地上管制局からUAV10によって受信されるリアルタイムコマンド、地上管制局からUAV10によって受信される一セットの事前プログラムされた命令、一セットの命令および/または搭載型制御システムに格納されたプログラミング、またはこれらの制御の組合せによって制御することができる。
リアルタイムコマンドは、少なくとも1つのPM装置14を制御することができる。例えば、限定するものではないが、リアルタイムコマンドは、搭載型制御システムによって実行されると、スロットル調整、フラップ調整、エルロン調整、方向舵調整、または他の操縦翼面または推力装置調整をもたらす命令を含む。
幾つかの実施形態では、リアルタイムコマンドは、1以上の二次装置12などのUAV10の追加のビークル装置をさらに制御することができる。二次装置12は、UAVの推進または移動を指示するために、1以上の二次機能を実行するように構成された電気または電子装置である。二次装置は、UAVの推進または移動に関連し得るが、典型的には、ビークル推進の直接制御または運動制御とは無関係に、1以上のビークルまたはミッション機能を提供し得る。例えば、二次装置は、物体の検出および追跡に使用されるカメラまたは他のセンサなどのミッション関連装置を含み得る。二次装置12の他の例は、LIDAR/SONAR/RADARセンサ、GPSセンサ、通信装置、航法装置、および様々なペイロード送達システムなどのセンサを含み得る。例えば、限定するものではないが、リアルタイムコマンドは、搭載型制御システムによって実行されると、カメラに画像を取り込ませる、通信システムにデータを送信させる、あるいは処理構成要素に1以上の処理要素をプログラムまたは構成させる命令を含む。
UAV10は、限定ではなく例として示される。本開示の多くは無人航空機に関して説明されているが、開示された技術の実施形態は、無人海洋ビークルおよび無人地上ビークルなどの任意の無人ビークル(UV)と共に使用され得ることが理解されよう。例えば、開示された制御システムは、無人ボート、無人潜水艦、無人車、無人トラック、または移動可能な他の任意の無人ビークルと共に使用することができる。
図2は、UAV用の典型的な制御システム50の一例を示すブロック図である。この例では、制御システムは、複数のカードスロット71、72、73、74、75を有するバックプレーン60を使用して形成される。各カードスロットは、所定のセットの機械的および電気的規格を満たすカードを受け取るように構成されている。各カードは、典型的には特定のビークルまたはミッション制御機能を実行するように構成された1以上の集積回路を含む、1以上の回路基板を含む。カードスロットは、カードとその下にあるバスとの間の電気的接続だけでなく、カードのための構造的支持を提供する。第1のカードスロット71に設置されたCPUカード61、第2のカードスロット72に設置された共処理カード62、およびそれぞれカードスロット73、74、75に設置されたアドオンカード63、64、65を有する特定の例が示されている。例として、CPUカード61は、プロセッサ、PCI回路、スイッチング回路、およびカード61をカードスロット71に構造的および電気的に接続するように構成された電気コネクタを有する回路基板を含み得る。同様に、共処理カード62は、プロセッサ、PCI回路、スイッチング回路、およびコネクタを含み得る。
アドオンカード63、64、65は、1以上のビークルおよび/またはミッション機能を実行するように構成された任意の数および種類のカードを含むことができる。アドオンカードの例には、入出力(I/O)カード、ネットワークカード、操縦および航法機能カード、センサインタフェースカード(例えばカメラ、レーダなど)、ペイロードシステム制御カード、画像処理装置(GPU)カード、および特定の種類のビークルおよび/またはミッション機能用の任意の他のカードが含まれる。
図2のような典型的なバックプレーンアーキテクチャは、各カードが任意の他のスロット内のカードと通信することを可能にするスイッチ66を含む。様々な種類のバックプレーンアーキテクチャを定義するための様々な規格を含む多数の例が存在する。例えば、スイッチ66はカードスロット71、72、73、74、75とは分離して示されているが、幾つかのアーキテクチャでは中央スイッチをバックプレーンの特定のスロットに配置することができる。いずれの場合も、ノード装置はスイッチを介して互いに通信することができる。図2には5つのカードスロットが描かれているが、バックプレーンは任意の数のカードスロットを含むことができる。
図2のようなバックプレーンアーキテクチャを利用するUAVのための搭載型制御システムは、何らかの機能制御を提供するのに効果的であり得る。さらに、そのようなアーキテクチャは、ハードウェアの変更を通じていくらかの構成可能性を提供してもよい。しかしながら、伝統的なバックプレーンアーキテクチャは、UAVの実装において幾つかの欠点を有し得る。例えば、電気的および機械的接続の組合せによって複数のカードに結合するバックプレーンの構造的性能は、一部のUAVの高負荷環境にはあまり適さない場合がある。振動、温度およびその他の要因により、バックプレーン内の1以上のカードで機械的または電気的な障害が発生する場合がある。さらに、そのようなアーキテクチャは、かなりのスペースおよび重量を必要としながら、限られた処理能力を提供する。各カードは典型的には、コネクタ、スイッチング回路、通信回路などを含む自身の回路基板を含む。各回路基板はこれらの共通機能のために自身の回路を必要とするので、バックプレーンアーキテクチャは比較的高い重量およびスペースの要件を提供する場合がある。さらに、これらの種類のシステムの計算能力および容量は、典型的には、マルチプルカードアプローチによって制限されている。カード間、および様々な処理要素間の通信は、計算能力の低下を招く可能性がある。
図3は、開示された技術の実施形態による制御システム80を含む無人航空機(UAV)10を表すブロック図である。制御システム80は、ビークル機能およびミッション機能の集中制御を提供する制御ボックス100を含む。制御ボックスは、内部を画定するハウジング110を含む。第1の回路基板120および第2の回路基板122は、ハウジング110の内部に配置され、I/Oコネクタ126は、後述するように、第2の回路基板122からハウジング110を通って延びる。制御ボックス100は、制御ボックス100の電気部品から熱を放散するために設けられたヒートシンク118を含む。例示的実施形態では、後述するように、ヒートシンク118は、ハウジング110の少なくとも一部を形成することができる。制御システム80は、追加の制御装置またはビークルもしくはミッション制御プロセスを実行する他の要素などの追加の構成要素を含み得る。
幾つかの実装形態では、第1の回路基板120は、UAV103のビークルおよびミッション制御プロセスを制御するための制御モジュールを含み、第2の回路基板122は、制御装置とUAVの様々なPM装置および二次装置との間の通信インタフェースを提供するためのキャリアモジュールを含む。
幾つかの例では、第1の回路基板120は、それぞれ再構成可能な処理アーキテクチャを有する複数の異種処理システムを含み、様々なビークル機能およびミッション機能の管理を提供する。再構成可能な機能を備えた複数の異種処理システムは、無人航空機によって実行される多様な機能、ならびにこれらのビークルに典型的に必要とされる高度な認証に適している。
例示的実施形態では、第2の回路基板122は、UAV10の第1の回路基板120と、様々なPM装置および二次装置との間のインタフェースを提供するキャリアモジュールである。例えば、図3は、推力装置30、操縦翼面32、および位置決定システム34を含む一セットのPM装置を示す。加えて、図3は、画像センサ20、レーダセンサ22、LIDARセンサ24、ソナーセンサ26、GPSセンサ28、ペイロード送達システム36、および通信システム38を含む一セットの二次装置を示す。第2の回路基板122は、第1の回路基板の対応するI/Oコネクタに接続するI/Oコネクタと、ハウジングから延びるI/Oコネクタとを含み得る。さらに、第2の回路基板は、ハウジングから延びる複数のセンサコネクタを含み得る。第2の回路基板は、データを送受信するために使用される関連する電子回路を含む通信インタフェースまたは入出力(I/O)インタフェースを提供することができる。より具体的には、通信インタフェースは、第2の回路基板の様々な集積回路のいずれかの間、および第2の回路基板と他の回路基板との間でデータを送受信するために使用することができる。例えば、アイテムインタフェースは、I/Oコネクタ126、I/Oコネクタ238、および/またはI/Oコネクタ124を含み得る。同様に、インタフェース回路のうちのいずれか1つの通信インタフェースは、別の航空機、センサ、他のビークル装置、および/または地上制御装置などの外部の構成要素と通信するために使用され得る。通信インタフェースは、適切な有線または無線通信インタフェースの任意の組合せであり得る。
幾つかの例では、制御ボックス100は追加の構成要素を含み得る。例えば、別の実施形態では、メザニンカードなどの第3の回路基板を制御ボックス100内に設けることができる。幾つかの例では、第3の回路基板は1以上の不揮発性メモリアレイを含むことができる。例えば、ソリッドステートドライブ(SSD)は、メザニンカード上の1以上の集積回路として提供されてもよい。さらに、制御ボックス100は、制御モジュールを形成するための追加の回路基板と、追加のキャリアモジュールを形成するための追加の回路基板とを含むことができる。
図4は、開示された技術の例示的実施形態による第1の回路基板120を説明するためのブロック図である。図4では、第1の回路基板120は、無人航空機(UAV)用の制御モジュール(例えば、制御基板)として構成されている。実施形態例では、第1の回路基板120はシステムオンモジュール(SOM)カードである。第1の回路基板120は、第1の処理システム230、第2の処理システム232、メモリブロック234、およびI/Oコネクタ238を含む。
第1および第2の処理システムは、任意の適切な数の個々のマイクロプロセッサ、電源、記憶装置、インタフェース、および他の標準的な構成要素を含むか、またはそれらに関連付けることができる。処理システムは、航空機10の動作に必要な様々な方法、プロセスタスク、計算、および制御/表示機能を実行するように設計された任意の数のソフトウェアプログラム(例えば、ビークルおよびミッション制御プロセス)または命令を含むか、またはそれらと協働することができる。メモリブロック234は、限定するものではないが、対応する処理システムを支援するように構成されたSDRAMなどの任意の適切な形態のメモリを含み得る。例えば、第1のメモリブロック234は第1の処理システム230を支援するように構成され、第2のメモリブロック234は第2の処理システム232を支援するように構成されてもよい。任意の数および種類のメモリブロック234を使用することができる。例として、それぞれが個別の集積回路を含む4つのメモリブロックが第1の処理システム230を支援するために提供され、2つのメモリブロックが第2の処理システム232を支援するために提供される。
I/Oコネクタ238は、第1の回路基板120の第1の表面から延在し、第2の回路基板122への動作可能な通信リンクを提供する。
第1の処理システム230および第2の処理システム232は、開示された技術の例示的実施形態において、UAV10の多様で安定した必要性に適した、異種の再構成可能なコンピューティングアーキテクチャを形成する。第1の処理システム230は、第1の処理プラットフォームを形成する1以上の処理装置302と、第2の処理プラットフォームを形成する1以上のプログラマブル論理回路304とを含む。例として、1以上の処理装置302は中央処理装置を含み、プログラマブル論理回路304は、RAMベースのフィールドプログラマブルゲートアレイ(FPGA)などの揮発性プログラマブル論理アレイを含むことができる。処理装置302には、任意の数および種類の処理装置を使用することができる。幾つかの実施形態では一般に処理回路と呼ばれる第1の集積回路内に、複数の処理装置302およびプログラマブル論理回路304を設けることができる。
第2の処理システム232は、第3の処理プラットフォームを形成する1以上の処理装置322と、第4の処理プラットフォームを形成する1以上のプログラマブル論理回路324とを含む。例として、1以上の処理装置322は共処理装置を含むことができ、プログラマブル論理回路324はフラッシュベースのFPGAを含むことができる。処理装置322には、任意の数および種類の処理装置を使用することができる。幾つかの実施形態では処理回路とも呼ばれる第2の集積回路内に、1以上の処理装置322およびプログラマブル論理回路324を設けることができる。
各処理システムにおいて異なる処理装置種類および異なるプログラマブル論理回路種類を提供することによって、第1の回路基板120は、高負荷用途UAVの処理および動作要件に独自に適した異種計算システムを提供する。例えば、RAMベースとフラッシュベースのFPGA技術を組み合わせることで、UAVアプリケーションに両方の長所を活かすことができる。異種処理装置302および322ならびに異種プログラマブル論理回路304および324の独特の能力は、ハードウェア区分化動作環境とソフトウェア区分化動作環境の両方を支援する。重要度および性能のニーズに応じて、ビークルおよびミッション制御プロセスを様々な区分に割り当てることができる。これにより、重要な動作に適した制御および監視アーキテクチャが提供される。例えば、不可逆的重要な機能を制御するためのオン/オフすなわち赤色/青色アーキテクチャが提供される。さらなる例として、フィールドプログラマブルゲートアレイのうちの1以上は、機上センサ処理のためのファブリックアクセラレータを提供するように構成され得る。
図5は、開示された技術の例示的実施形態による第1の処理システム230のさらなる詳細を説明するブロック図である。図5では、第1の処理システム230は、図4で説明したように3つの処理装置302を含む。より具体的には、第1の処理システム230は、アプリケーション処理装置(APU)306、画像処理装置(GPU)308、およびリアルタイム処理装置(RPU)310を含む。処理装置306、308、310のそれぞれは、SDRAMなどの任意の数および種類のメモリを含み得るメモリ312によって支援され得る。各処理装置は、処理回路と呼ばれる個々の集積回路上に実装されている。一例では、APU306は第1の処理回路上に形成され、4つのプロセッサを含むクアッドコア処理装置を含む。RPU310は、第3の処理回路上に形成され、2つのプロセッサを含むデュアルコア処理装置を含む。GPU308は、第3の処理回路上に形成され、単一のコア処理装置を含む。後述するように、第2の処理システムに対して第4の処理装置が設けられる。スイッチファブリック316は、処理システム230の様々な構成要素を接続する。スイッチファブリック316は、例えば、幾つかの例では、低電力スイッチおよび中央スイッチを含み得る。通信インタフェース314は、第1の処理システム230を第1の回路基板120に結合する。
プログラマブル論理回路304は揮発性プログラマブル論理アレイ305を含む。例示的実施形態では、論理アレイは、RAM論理ブロックまたはメモリセルを含むRAMベースの浮動小数点ゲートアレイなどのRAMベースのプログラマブル論理アレイ305を含むことができる。揮発性プログラマブル論理アレイ305は、通信インタフェース314を介して第1の処理システムに提供される構成データでプログラムすることができる。例えば、RAMベースのFPGAは、ラッチのアレイを含む組織内などで、アレイのスタティックメモリに構成データを格納することができる。論理ブロックは、プログラマブル論理回路304が起動または電源投入された場合にプログラム(構成)される。構成データは、外部メモリ(例えば、後述するように第1の回路基板120またはメザニン基板の不揮発性メモリ)から、またはUAV10の外部ソースから論理アレイ305に提供され得る(例えば、第2の回路基板122を使用して)。RAMベースのFPGAは、高レベルのコンフィギュアビリティおよびリコンフィギュアビリティを提供する。図示されていないが、論理アレイ305は、イーサネット(登録商標)インタフェースおよびPCIインタフェースなどの様々なプログラムされた回路、ならびに本明細書で説明される様々なビークルおよびミッション制御プロセスを含み得る。
図6は、開示された技術の例示的実施形態による第2の処理システム232のさらなる詳細を説明するブロック図である。図6では、第2の処理システム232は、アプリケーション処理装置(APU)326およびメモリ332を含む。一例では、APU326は第2の処理回路上に形成され、4つのプロセッサを含むクアッドコア処理装置を含む。メモリ332は、SDRAMなどの任意の数および種類のメモリを含み得る。スイッチファブリック336は処理システム232の様々な構成要素を接続する。通信インタフェース334は、第1の処理システム230を第1の回路基板120に結合する。
プログラマブル論理回路324は、不揮発性プログラマブル論理アレイ325を含む。例示的実施形態では、論理アレイ325は、フラッシュ論理ブロックまたはメモリセルを含むフラッシュベースの浮動小数点ゲートアレイなどのフラッシュベースのプログラマブル論理アレイ325を含むことができる。不揮発性プログラマブル論理アレイ325は、通信インタフェース334を介して第2の処理システムに提供される構成データでプログラムすることができる。例えば、フラッシュベースのFPGAは、アレイの不揮発性メモリに構成データを格納できる。フラッシュメモリは、RAMベースのメモリが不要になるように、構成データを格納するための主要なリソースとして使用される。構成データは不揮発性メモリ内に格納されるので、起動時または電源投入時に構成データを論理アレイに読み出す必要はない。そのため、フラッシュベースの論理アレイは、電源投入時に直ちにアプリケーションを実行することができる。さらに、構成データの外部記憶は必要とされない。フラッシュベースの論理アレイは、論理アレイに現在格納されている構成データを上書きするために、更新された構成データを提供することによって再プログラムまたは再構成することができる。フラッシュベースの論理アレイは、RAMベースの論理アレイよりも少ない電力を消費することができ、かつ干渉に対してより強固な保護を提供することができる。図示されていないが、論理アレイ325は、本明細書で説明される様々なビークルおよびミッション制御プロセスなどのための様々なプログラムされた回路を含むことができる。一例では、論理アレイ325は、機上センサ処理のための少なくとも1つのFPGAファブリックアクセラレータを含み得る。
図7は、開示された技術の例示的実施形態による第2の回路基板122のさらなる詳細を表すブロック図である。図7では、第2の回路基板122は、無人航空機(UAV)用のキャリアモジュール(例えばキャリアカード)として構成されている。第2の回路基板122は、制御ボックス100にI/O機能を提供するインタフェース回路などの複数の集積回路を含む。インタフェース回路は、センサコネクタを介してUAVの複数のビークル装置の出力を受信するように構成される。インタフェース回路は、I/Oコネクタ124を介してビークル装置の出力に基づいて、ビークル装置データを第1の回路基板に提供する。第2の回路基板122は、制御装置100のハウジングから延在するI/Oコネクタ126を含み、UAV10のPM装置および二次装置への動作可能な通信リンクを提供する。さらに、第2の回路基板122は、第2の回路基板122の第1の表面から延在するI/Oコネクタ124を含み、第1の回路基板120への動作可能な通信リンクを提供する。図示されていないが、第2の回路基板122は、例えばソリッドステートドライブを含むメザニンカードに結合するための追加のI/Oコネクタを含むことができる。I/Oコネクタ126、124、および228のいずれか1つまたはそれらの組合せは、第2の回路基板のインタフェース回路と第1の回路基板の第1および第2の処理システムとの間にI/Oインタフェースを形成することができる。
図7は、制御ボックス100の特定の実装において使用され得る特定のセットのインタフェース回路を説明する。しかしながら、特定の実装に適したものであれば、任意の数および種類のインタフェース回路を使用できることを理解されよう。第2の回路基板122は、LIDAR/SONARインタフェース420、ピトー/スタティックインタフェース422、電気光学グリッド基準システム(EOGRS)受信機インタフェース424、および第1の回路基板120と通信するための第1の回路基板インタフェース432などの複数のインタフェース回路を含む。第2の回路基板122はまた、ソフトウェア無線426、航法システム125、コントローラエリアネットワークバス(CANBUS)430、および電源434などのインタフェース回路を含む。幾つかの実施形態では、航法システム428は、慣性測定センサなどの様々なセンサを含む統合航法センサ群を提供する集積回路である。さらに、第2の回路基板122は、UAV10の複数のビークル装置(例えば、PM装置または二次装置)と動作可能に連通する幾つかのインタフェース回路を含む。UAV10のビークル装置に結合するために、複数のセンサコネクタ458が制御装置100のハウジングから延びている。
図7の特定の例では、1以上のパルス幅変調器(PWM)402が、第1のセンサコネクタ458を介して1以上のサーボ442と動作可能に連通している。PWMサーボコマンドインタフェースが示されているが、他の種類のサーボコマンドインタフェースが使用されてもよい。例えば、アナログ電圧、電流ループ、RS−422、RS−485、MIL−STD−1553は全て可能なサーボ制御信号の例である。GPS受信機404は、第2のセンサコネクタ458を介して444用の1以上のGPSアンテナと動作可能に連通する。GPSアンテナ444は、GPSセンサ28の一例である。データリンク受信機406は、第3のセンサコネクタ458を介して1以上のデータリンクアンテナ446と動作可能に連通する。シリアル受信機リンク(SRXL)入力408は、第4のセンサコネクタ458を介してpilot in control(PIC)受信機448と動作可能に連通する。プログラマブル電源装置(PSU)410は、第5のセンサコネクタ458を介してサーボ電源450と動作可能に連通する。1以上の比較器412は、第6のセンサコネクタ458を介して1以上の離散入力452と動作可能に連通している。1以上のドライバ414は、第7のセンサコネクタ458を介して1以上の離散出力454と動作可能に連通している。1以上のアナログデジタル変換器(ADC)416は、第8のセンサコネクタ458を介して1以上のアナログ入力456と動作可能に連通する。
ここで図8を参照すると、第1の処理システム230の揮発性プログラマブル論理アレイ305および第2の処理システム232の不揮発性プログラマブル論理アレイ325はそれぞれ複数の論理セル307を含む。例示的実施形態では、複数の論理セル307の各論理セルは、構成データに少なくとも部分的に基づいて、特定のプロセスを実行するように構成することができる。より具体的には、構成データは、各論理セル307に含まれる1以上の論理要素(例えば、論理ゲート、フリップフロップ、ラッチなど)の構成を指定して、特定のプロセスを実行することができる。以下により詳細に説明されるように、特定のプロセスは、限定するものではないが、ビークル制御プロセス、ミッション制御プロセス、またはその両方を含み得る。
ビークル制御プロセスの一例は、航法システム428(図7)から受信した1以上の信号をフィルタリングすることを含む。例えば、揮発性プログラマブル論理アレイ305、不揮発性プログラマブル論理アレイ325、またはその両方の論理セル307は、構成データに基づいて構成されてもよい。より具体的には、論理セル307は、論理アレイ305、325のうちの少なくとも1つが航法システム428から受信した1以上の信号をフィルタリングするように構成されるように、構成され得る。例示的実施形態では、揮発性プログラマブル論理アレイ305、不揮発性プログラマブル論理アレイ325、またはその両方は、カルマンフィルタとして構成されてもよい。しかしながら、論理アレイ305、325は任意の適切なフィルタとして構成されてもよいことを理解されたい。
ビークル制御プロセスの別の例には、自動操縦処理が挙げられる。例えば、処理装置302、322は、自動操縦プロセスを実装するようにプログラムされてもよく、FPGA305、325のうちの少なくとも1つは、自動操縦プロセスを実装しながら、処理装置302、322によって出力される1以上の信号を処理するように構成される。より具体的には、1以上の信号は、UAVの向きを制御する1以上のサーボモータに対するPWMコマンドを含み得る。このようにして、論理アレイ305、325は、自動操縦用途に必要とされる幾つかの処理を支援することができる。
ミッション制御プロセスの一例は、対象となる個人の携帯装置(例えば携帯電話)を追跡するために、UAVの1以上のセンサからのデータを処理することを含む。例えば、RAMベースのFPGA305の論理セル307は、第1の構成データに基づいて構成することができる。より具体的には、論理セル307は、RAMベースのFPGA305が、携帯電話の送信信号を検出するように構成された第1のセンサからのデータを処理するように、構成することができる。このようにして、RAMベースのFPGA305は、携帯電話の位置を決定するために、送信信号を処理することができる。さらに、モバイル装置の位置が決定されると、RAMベースのFPGA325の論理セル307は、第1の構成データとは異なる第2の構成データに基づいて再構成され得る。より具体的には、RAMベースのFPGA325が画像センサ20(図3)などの第2のセンサからの画像データを処理するように、論理セル307を再構成することができる。このようにして、モバイル装置の現在位置の1以上の画像を取得することができる。フラッシュベースのFPGA325は、RAMベースのFPGA305を参照して上述したのと同じ方法で、第1の構成データに基づいて構成され、続いて第2の構成データに基づいて再構成され得ることを理解されたい。
図9は、論理セル307の構成および再構成が起こり得る場合の例を示すグラフである。示されるように、第1の構成データに基づいて論理セル307を構成して第1の制御プロセス311(例えば、ビークル、ミッション、または両方)を実行することは、離陸の前に起こり得、一方第2の構成データに基づいて論理セル307を再構成して第2の制御プロセス313(例えば、ビークル、ミッション、または両方)を実行することは、UAVが空中にいる間に起こり得る。代替の実施形態では、第1の構成データに基づいて論理セル307を構成して第1のアプリケーション311を実行することはまた、UAVが空中にいる間に実行され得る。
例示的実施形態では、論理アレイ305、325の論理セル307を再構成することは、ユーザの介入なしに行われてもよい。例えば、一旦論理アレイ305、325が第1の構成データに基づいて第1のタスク(例えば、位置の決定)を完了すると、第1の処理システム230は、第2の構成に基づいて揮発性プログラマブル論理アレイ305の論理セル307を自動的に再構成して第2のタスク(例えば、画像の取得)を実行できる。より具体的には、処理装置302、322または論理アレイ305、325のうちの1つが論理セル307を再構成し得る。例えば、第1の処理システム230の処理装置302は、第1の構成データを第2の構成データで上書きすることができるように、第2の構成データを揮発性プログラマブル論理アレイ305に伝達することができる。例示的実施形態では、制御システムの処理システムは、1以上のイベントを検出し、それに応答して対応するプログラマブル論理アレイを再構成するように構成することができる。イベントの例には、第1のセンサ群を使用して標的の位置を決定すること、(例えば地上局または別の航空機からの)制御コマンドを受信すること、処理システムが危険にさらされたことを検出することなどのタスクの完了、またはプログラマブル論理アレイ305、325の再構成をトリガするために使用できる任意の他の適切なイベントが含まれる。
例示的実施形態では、論理セル307は、ユーザの介入に基づいて再構成することができる。例えば、図10に示されるように、UAVに対して遠隔にある地上局に位置する操縦士は、コマンドを第1の処理システム230に伝達することができる。より具体的には、コマンドは、遠隔コンピューティング装置500から発生されてもよく、揮発性プログラマブル論理アレイ305の論理セル307を再構成するために使用される第2の構成データを含んでもよい。示されるように、遠隔コンピューティング装置500は、1以上のプロセッサ502および1以上のメモリ装置504を含む。例示的実施形態では、1以上のメモリ装置504は、上述のように、論理アレイ305、325のうちの少なくとも1つの論理セル307を再構成するために使用され得る構成データを格納するように構成され得る。代替的または追加的に、メモリ装置504は、上述のように、論理アレイ305、325を構成またはプログラムするために使用され得る第1のデータを格納するように構成され得る。遠隔コンピューティング装置500はまた、通信インタフェース506を含み得る。例示的実施形態では、通信インタフェース506は、遠隔コンピューティング装置500が構成データを制御装置100(図3)に通信することを可能にする。より具体的には、遠隔コンピューティング装置500は、通信ネットワークを介して制御装置100と通信するように構成され得る。
通信ネットワークの例には、例えば、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、SATCOMネットワーク、VHFネットワーク、HFネットワーク、Wi−Fiネットワーク、WiMAXネットワーク、ゲートリンクネットワーク、ARINC、MIL−STD−1153、イーサネット、CAN、RS−485、および/またはクラウドコンピューティング環境および/または遠隔コンピューティング装置500などへのUAV10への、および/またはUAV10からのメッセージ送信のための任意の他の適切な通信ネットワークが含まれ得る。そのようなネットワーキング環境は、多種多様な通信プロトコルを使用することができる。通信ネットワークは、有線および/または無線通信リンクの任意の組合せを含む。
ここで図8〜図11を組み合わせて参照すると、UAVが飛行中に、処理装置302、322および論理アレイ305、325がそれぞれ再プログラミングおよび再構成され得る。例えば、第1の処理システム230の処理装置302は、第1のビークル制御プロセス380(例えば自動操縦プロセス)を実装するようにプログラムされてもよい。さらに、第1の処理システム230の揮発性プログラマブル論理アレイ305は、第1の構成データに基づいて構成され、第1のミッション制御機能390(例えば、レーダ検出)を実行してもよい。幾つかの実施形態では、UAV10が地上にある間に、処理装置302および揮発性プログラマブル論理アレイ305をそれぞれプログラムおよび構成することができる。あるいは、処理装置302および論理アレイ305のプログラミングおよび構成はそれぞれ、UAVが空中にいる間に行われてもよい。
処理装置302をプログラミングし、揮発性プログラマブル論理アレイ325を構成した後、第1の処理システム230は、コンピュータ可読命令および構成データを含むオブジェクト400(例えば実行可能ファイル)を取得することができる。より具体的には、構成データは、論理アレイ305を構成するために使用される第1の構成データとは異なる第2の構成データを含み得る。示されるように、オブジェクト400は、遠隔コンピューティング装置500のメモリ装置504に格納され、任意の適切な通信ネットワークを介して制御システム80(図3)に通信され得る。あるいは、オブジェクト400は、第1の処理システム230のメモリ312(図5)にローカルに格納されてもよい。しかしながら、オブジェクトは制御システム80(図3)の任意の適切なメモリ装置に記憶されてもよいことを理解されたい。例えば、オブジェクト400は、第2の処理システム232のメモリ332に格納されてもよい。
第1の処理システム230の処理装置302は、少なくとも部分的には、オブジェクト400に含まれるコンピュータ可読命令に基づいて再プログラムすることができる。より具体的には、処理装置302は、第2のビークル制御プロセス382を実行するように再プログラムされ得る。例示的実施形態では、第2のビークル制御プロセス382は第1のビークル制御プロセス380と異なってもよい。例えば、第1のビークル制御プロセス380は自動操縦制御プロセスを含むことができ、一方、第2のビークル制御プロセス382は航法制御プロセスを含むことができる。
プログラマブル論理アレイ305は、構成データに少なくとも部分的に基づいて再構成することができる。より具体的には、プログラマブル論理アレイ305は、第2のミッション制御プロセス392を実行するように再構成され得る。例示的実施形態では、第2のミッション制御プロセス392は第1のミッション制御プロセス390と異なってもよい。さらに、再プログラミングおよび再構成は第1の処理システム230に関連して説明したが、第2の処理システム232も同様に再プログラミングおよび再構成できることを理解されたい。
例示的実施形態では、第1の処理システム230が意図しないまたは不正な方法で動作していると判定したことに応答して、オブジェクトが取得され得る。第1の処理システム230が危険にさらされたことを検出するために、任意の適切な技術を使用することができる。例えば、第1の処理システム230は、疑わしい、未知の、あるいは不正なコードについて命令または構成データを検査するように構成されてもよい。より具体的には、処理装置302は、処理装置302が疑わしい、未知の、あるいは不正なコードを検出することを可能にする1以上のアプリケーションを実行していてもよい。別の例として、第2の処理システム232は、疑わしい挙動に対して第1の処理システム230の動作を監視するように構成されてもよい。さらに別の例として、遠隔コンピューティング装置500は、第1の処理システム230が危険にさらされたことを検出するように構成され得る。例えば、遠隔コンピューティング装置500は、UAVが予期された方法で送信制御信号に応答していないことを検出することができる。
図12は、本開示の例示的実施形態による集積回路を再構成するための例示的方法600の流れ図を示す。方法600は、例えば、図8を参照して上述した第1または第2の処理システム230、232を使用して実装することができる。図12は、図示および説明の目的のために特定の順序で実行されるステップを示している。当業者であれば、本明細書で提供される本開示を使用して、方法600の様々なステップまたは本明細書に開示する任意の他の方法は、本開示の範囲から逸脱することなく様々な方法で適合、修正、再配置、同時に実行、または修正することができることを理解するであろう。
ステップ602において、この方法は、1以上の処理システムによって、第1のセットのコンピュータ可読命令に基づいて集積回路の処理装置を構成することを含む。例示的実施形態では、処理装置は、第1のセットのコンピュータ可読命令に基づいてプログラムされて、1以上のビークルまたはミッション制御プロセスを実行または実装する。
ステップ604において、方法600は、1以上の処理システムによって、第1の構成データに基づいて、集積回路のプログラマブル論理アレイを構成することを含む。より具体的には、プログラマブルゲートアレイの1以上の論理セルは、第1の構成データに基づいて構成されている。例示的実施形態では、プログラマブルゲートアレイは、第1の構成データに基づいて構成されて、UAVのための1以上のビークルまたはミッション制御プロセスを実装する。
ステップ606において、方法600は、1以上の処理システムによって、第2の構成データと第2のセットのコンピュータ可読命令とを含むオブジェクト(例えば実行可能ファイル)を取得することを含む。例示的実施形態では、オブジェクトは集積回路の1以上のメモリ装置にローカルに格納することができる。より具体的には、オブジェクトはプログラマブル論理アレイに関連するメモリ装置に格納されてもよい。代替として、オブジェクトは、遠隔コンピューティング装置に格納され、通信ネットワークを介して1以上の処理システムに通信されてもよい。
ステップ608で、方法600は、1以上の処理システムによって、第2のセットのコンピュータ可読命令に基づいて処理装置を再プログラミングすることを含む。例示的実施形態では、処理装置が以前に実装するようにプログラムされていたビークルまたはミッション制御プロセスとは異なるビークルまたはミッション制御プロセスを実装するように、処理装置を再プログラムすることができる。
ステップ610において、方法600は、1以上の処理システムによって、第2の構成データに基づいてプログラマブル論理アレイを再構成することを含む。例示的実施形態では、プログラマブル論理アレイが以前に実装するように構成されていたビークルまたはミッション制御プロセスとは異なるビークルまたはミッション制御プロセスを実装するように、処理装置を再構成することができる。
図13は、本開示の例示的実施形態による無人航空機に搭載された処理システムを再構成するための方法700の流れ図を示す。方法700は、例えば、図5を参照して上述した第1の処理システム230を使用して実装することができる。図13は、図示および説明の目的で特定の順序で実行されるステップを示す。当業者であれば、本明細書で提供される本開示を使用して、方法700の様々なステップまたは本明細書に開示する任意の他の方法は、本開示の範囲から逸脱することなく様々な方法で適合、修正、再配置、同時に実行、または修正することができることを理解するであろう。
ステップ702において、方法700は、1以上の処理システムによって、第1の処理システムが危険にさらされていることを検出することを含む。例示的実施形態では、第1の処理システムを検出することは、UAVが空中にいる間(例えば、飛行中)に起こり得る。より具体的には、第1の処理システムは自身の危険にさらされた状態を検出するように構成されてもよい。
ステップ704で、方法700は、1以上の処理システムによって、構成データを取得することを含む。例示的実施形態では、構成データは、処理システムのうちの少なくとも1つのプログラマブル論理アレイを再構成するために使用することができる第2の構成データを含むことができる。
ステップ706において、方法700は、1以上の処理システムによって、第2の構成データに基づいてプログラマブル論理アレイを再構成することを含む。実施形態例では、プログラマブル論理アレイが以前に実装するように構成されていたビークルまたはミッション制御プロセスとは異なるビークルまたはミッション制御プロセスを実装するように、プログラマブル論理アレイを再構成することができる。
ステップ708において、方法700は、1以上の処理システムによって、コンピュータ可読命令に基づいて処理装置を再プログラミングすることを含む。例示的実施形態では、処理装置によって実行される場合、コンピュータ可読命令は、処理装置のオペレーティングシステムを修正または更新することができる。より具体的には、再プログラミングされる前に処理装置が実行していた第1のオペレーティングシステムは、第1のオペレーティングシステムとは異なる第2のオペレーティングシステムで上書きされてもよい。例えば、第1のオペレーティングシステムはLinuxベースのオペレーティングシステムであり、第2のオペレーティングシステムはWindowsベースのオペレーティングシステムであり得る。
ステップ710において、UAVが現在実行しているミッションは継続することができる。あるいは、処理システムは、ミッションを中止し、UAVの着陸に関連する1以上の制御動作を生成してもよい。より具体的には、1以上の制御動作は、着陸のためにUAVを事前に承認された場所に飛行させることができる。
図14は、本開示の例示的実施形態による無人航空機に搭載された処理システムを再構成するための別の方法800の流れ図を示す。方法800は、例えば、図5を参照して上述した第1の処理システム230を使用して実装することができる。図13は、図示および説明の目的で特定の順序で実行されるステップを示す。当業者であれば、本明細書で提供される本開示を使用して、方法800の様々なステップまたは本明細書に開示する任意の他の方法は、本開示の範囲から逸脱することなく様々な方法で適合、修正、再配置、同時に実行、または修正することができることを理解するであろう。
ステップ802で、方法800は、1以上の処理システムによって、第1の処理システムが危険にさらされていることを検出することを含む。例示的実施形態では、第1の処理システムを検出することは、UAVが空中にいる間(例えば、飛行中)に起こり得る。より具体的には、第1の処理システムは自身の危険にさらされた状態を検出するように構成されてもよい。
ステップ804で、方法800は、1以上の処理システムによって、第1の処理システムによって現在実装されている1以上の処理を実行するように、第2の処理システムを再構成することを含む。例えば、1以上のプロセスは、ビークル制御プロセスおよびミッション制御プロセスのうちの少なくとも1つを含み得る。第2の処理システムが再構成されると、方法800はステップ804に進む。
ステップ806で、方法800は、1以上の処理システムによって、第1の処理システムを再起動することを含む。例示的実施形態では、第1の処理システムを再起動することは、第1の処理システム用の電源を入れ直すことによって達成することができる。
ステップ808において、方法800は、1以上の処理システムによって、第2の処理システム上で現在実装されている1以上の処理を実行するように、第1の処理システムを再構成することを含む。第1の処理システムが再構成されると、方法800はステップ810に進む。
ステップ810において、方法800は、第2の処理システム上で実装されている1以上のビークル制御アプリケーションを終了することを含む。
例示的実施形態では、無人航空機(UAV)用の制御システム80(図3)は、1以上の制御ボックス100を含むことができる。幾つかの実装形態では、追加のコンピューティング容量、冗長性を提供するために、および/または特定のUAV機能のための検証プロセスを提供するために、複数の制御ボックス100が提供されてもよい。例えば、特定のビークル機能を実行するために、検証プロセスを実施して、大多数の制御ボックスから多数決一致または同時出力を要求することができる。
幾つかの態様によれば、1以上のプログラマブル論理アレイを再構成することは、複数の制御ボックス100にわたって実行され得る。例えば、第1の制御ボックス100における第1の回路基板120上のプログラマブル論理アレイ305は、第2の制御ボックス100におけるイベントまたはプロセスに応答して再構成され得る。動的再構成プロセスを利用するそのような実装形態は、システム内の部分的な故障の場合に、重要または重大な機能が利用可能であり続けることを保証するために使用され得る。例えば、第1の制御ボックスによって実行される自動操縦または他の航法システムの故障に応答して、バックアップの自動操縦または航法システムを第2の制御ボックスのプログラマブルゲートアレイ内で実行するように構成することができる。
別の例では、複数の制御ボックス100を使用して、冗長および/または多数決一致検証プロセスを提供することができる。さらに、コンピューティングリソースが未活用にならないように再構成を用いることができる。例えば、幾つかのUAV機能は、機能を実行するために、または他の動作をとるために、複数の制御ボックス100の間で多数決一致を要求するように実施され得る。したがって、開示された技術の一例は、多数決一致を実装する検証プロセスの一部として制御ボックス100の第1のサブセット(例えば、2つの制御ボックス)を使用することを含む。多数決一致がないような制御ボックス100のサブセットの出力が一致しない場合、追加の制御ボックス100(例えば、第3の制御ボックス)は、出力が一致しないプロセスを実行するように構成することができる。次に、多数決一致を決定するために、第3の制御ボックス100の出力をその他の2つの制御ボックス100の出力と比較することができる。多数決一致が決定されると、第3の制御ボックス100は、他のUAV機能のために元のプロセスに再構成することができる。このようにして、多数決一致のための第3の制御ボックスが必要とされない場合、第3の制御ボックスを使用して様々なビークルおよび/またはミッション制御機能を実行することができる。第3の制御ボックスが必要とされる場合、第3の制御ボックス100のプログラマブル論理アレイ(例えば、フラッシュベースのFPGAまたはRAMベースのFPGA)は、多数決一致を決定するための出力を生成するように再構成され得る。出力が生成された後、第3の制御ボックスは他のビークルおよび/またはミッション制御機能のために再構成することができる。
開示された技術の幾つかの実施形態は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組合せとして実装され得る。ソフトウェアは、例えばプロセッサをプログラムするためのプロセッサ可読コードとして、プロセッサ内にプロセッサ可読コードとして格納され、実装されてもよい。幾つかの実装形態では、1以上の構成要素を、例えば、他の装置、関連する機能のうちの特定の機能を典型的に実行するプロセッサによって実行可能なプログラムコード(例えば、ソフトウェアまたはファームウェア)の一部、またはより大きなシステムとインタフェースをとる内蔵型ハードウェアまたはソフトウェア構成要素、と共に使用するように設計されたパッケージ機能ハードウェア装置(例えば1以上の電気回路)として、個別にまたは1以上の他の構成要素と組み合わせて実装することができる。各ハードウェア装置は、例えば、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、回路、デジタル論理回路、アナログ回路、離散回路の組合せ、ゲート、あるいはハードウェアの任意の種類またはその組合せを含み得る。代替的にまたは追加的に、これらの構成要素は、様々なミッションおよびビークル制御プロセスを含む、本明細書に記載の機能を実行するようにプロセッサをプログラムするためにプロセッサ可読装置(例えばメモリ)に格納されたソフトウェアを含み得る。
処理装置は、マイクロプロセッサ、マイクロコントローラ、または他の適切な処理装置などの任意の数および種類のプロセッサを含むことができる。メモリ装置は、これらに限られるわけではないが非一時的なコンピュータ可読媒体、RAM、ROM、ハードドライブ、フラッシュドライブ、または他のメモリ装置など、1以上のコンピュータ可読媒体を含むことができる。
本明細書に記載のメモリブロックおよび他のメモリは、1以上のプロセッサによって実行することができるコンピュータ可読命令を含む、1以上の処理装置または論理アレイによってアクセス可能な情報を格納することができる。命令は、プロセッサによって実行された場合にプロセッサに動作を実行させる命令の任意のセットとすることができる。命令は、任意の適切なプログラミング言語で書かれたソフトウェアであってもよく、またはハードウェアで実装され得る。幾つかの実施形態では、命令は、ビークル機能および/またはミッション機能を制御するための動作、および/またはコンピューティング装置の任意の他の動作もしくは機能などの動作をプロセッサに実行させるために、プロセッサによって実行され得る。
本明細書で説明した技術は、コンピュータベースのシステム、ならびにコンピュータベースのシステムにより行われる動作、およびそれとの間でやりとりされる情報を参照する。当業者であれば、コンピュータベースのシステムの固有の柔軟性によって、構成要素間の多種多様な可能な構成、組合せ、ならびにタスクおよび機能の分割が可能になることを認識するであろう。例えば、本明細書で説明した処理は、単一のコンピューティング装置または組み合わせて働く複数のコンピューティング装置を使用して実装することができる。データベース、メモリ、命令、およびアプリケーションは、単一のシステムに実装してもよいし、複数のシステムに分散してもよい。分散した構成要素は、順次または並列に動作することができる。
様々な実施形態の具体的な特徴が幾つかの図面には示されており、他の図面には示されていないが、これは単に便宜上のものである。本開示の原理によれば、図面の任意の特徴は、その他の図面の任意の特徴と組み合わせて参照および/または特許請求することができる。
本明細書は、特許請求する主題を開示するために例を用いており、最良の形態を含んでいる。また、いかなる当業者も本主題を実施することができるように例を用いており、任意のデバイスまたはシステムを製作し使用し、任意の組み込まれた方法を実行することを含んでいる。開示された技術の特許され得る範囲は、特許請求の範囲によって定義され、当業者が想到する他の例を含むことができる。このような他の例は、それらが特許請求の範囲の文言と異ならない構造要素を含む場合、または特許請求の範囲の文言と実質的な差異を有さない等価の構造要素を含む場合、特許請求の範囲内であることを意図している。
[実施態様1]
無人ビークルの制御システム(80)であって、
第1のビークル制御プロセス(380)を実行するように構成された1以上の処理装置(302)と、
前記1以上の処理装置(302)と動作可能に連通するフィールドプログラマブルゲートアレイ(FPGA)(305、325)であって、前記FPGA(305、325)は、複数の論理セル(307)を含み、前記FPGA(305、325)は、
第1の構成データに従って前記複数の論理セル(307)をプログラムし、前記第1の構成データに基づいて第2のビークル制御プロセス(382)を実行し、
前記無人ビークルが動作している間に、前記第2のビークル制御プロセス(382)を置き換えるための第3のビークル制御プロセスのための第2の構成データを取得し、
前記UAVが作動している間に、前記第2の構成データに従って前記複数の論理セル(307)を再プログラムし、第3のビークル制御プロセスを実行する
ように構成された、フィールドプログラマブルゲートアレイ(FPGA)(305、325)と
を備えた、制御システム(80)。
無人ビークルの制御システム(80)であって、
第1のビークル制御プロセス(380)を実行するように構成された1以上の処理装置(302)と、
前記1以上の処理装置(302)と動作可能に連通するフィールドプログラマブルゲートアレイ(FPGA)(305、325)であって、前記FPGA(305、325)は、複数の論理セル(307)を含み、前記FPGA(305、325)は、
第1の構成データに従って前記複数の論理セル(307)をプログラムし、前記第1の構成データに基づいて第2のビークル制御プロセス(382)を実行し、
前記無人ビークルが動作している間に、前記第2のビークル制御プロセス(382)を置き換えるための第3のビークル制御プロセスのための第2の構成データを取得し、
前記UAVが作動している間に、前記第2の構成データに従って前記複数の論理セル(307)を再プログラムし、第3のビークル制御プロセスを実行する
ように構成された、フィールドプログラマブルゲートアレイ(FPGA)(305、325)と
を備えた、制御システム(80)。
[実施態様2]
前記第2のビークル制御プロセス(382)は、第1のビークル航法機能と関連付けられ、
前記第3のビークル制御プロセスは、前記第1のビークル航法機能に関連付けられる、
実施態様1に記載の制御システム(80)。
前記第2のビークル制御プロセス(382)は、第1のビークル航法機能と関連付けられ、
前記第3のビークル制御プロセスは、前記第1のビークル航法機能に関連付けられる、
実施態様1に記載の制御システム(80)。
[実施態様3]
前記FPGA(305、325)が前記第3のビークル制御プロセスを実行する場合、前記FPGA(305、325)は、前記無人航空機の航法システムから受信した1以上の信号をフィルタリングする、実施態様1に記載の制御システム(80)。
前記FPGA(305、325)が前記第3のビークル制御プロセスを実行する場合、前記FPGA(305、325)は、前記無人航空機の航法システムから受信した1以上の信号をフィルタリングする、実施態様1に記載の制御システム(80)。
[実施態様4]
前記第2のビークル制御プロセス(382)は、第1のビークル航法機能と関連付けられ、
前記FPGA(305、325)は、前記第2のビークル制御プロセス(382)に従って前記無人ビークルの航法制御を可能にするように構成され、
前記FPGA(305、325)は、前記第2のビークル制御プロセス(382)に従って前記無人ビークルの航法制御を中止し、前記第3のビークル制御プロセスに前記無人ビークルの航法制御を移すように構成される、
実施態様1に記載の制御システム(80)。
前記第2のビークル制御プロセス(382)は、第1のビークル航法機能と関連付けられ、
前記FPGA(305、325)は、前記第2のビークル制御プロセス(382)に従って前記無人ビークルの航法制御を可能にするように構成され、
前記FPGA(305、325)は、前記第2のビークル制御プロセス(382)に従って前記無人ビークルの航法制御を中止し、前記第3のビークル制御プロセスに前記無人ビークルの航法制御を移すように構成される、
実施態様1に記載の制御システム(80)。
[実施態様5]
前記1以上の処理装置(302)は1以上の第1の処理装置であり、前記FPGA(305、325)は第1のFPGAであり、
前記1以上の第1の処理装置および前記第1のFPGAは、第1の集積回路内に形成されており、
前記制御システム(80)は、第2のFPGAを含む第2の集積回路をさらに含み、前記第2のFPGAは複数の論理セル(307)を含む、
実施態様1に記載の制御システム(80)。
前記1以上の処理装置(302)は1以上の第1の処理装置であり、前記FPGA(305、325)は第1のFPGAであり、
前記1以上の第1の処理装置および前記第1のFPGAは、第1の集積回路内に形成されており、
前記制御システム(80)は、第2のFPGAを含む第2の集積回路をさらに含み、前記第2のFPGAは複数の論理セル(307)を含む、
実施態様1に記載の制御システム(80)。
[実施態様6]
前記第1のFPGAはRAMベースのFPGAであり、
前記第2のFPGAはフラッシュベースのFPGAである、
実施態様4に記載の制御システム(80)。
前記第1のFPGAはRAMベースのFPGAであり、
前記第2のFPGAはフラッシュベースのFPGAである、
実施態様4に記載の制御システム(80)。
[実施態様7]
前記1以上の第1の処理装置は、前記第1のビークル制御プロセス(380)に対する不正な変更を検出するように構成された、実施態様5に記載の制御システム(80)。
前記1以上の第1の処理装置は、前記第1のビークル制御プロセス(380)に対する不正な変更を検出するように構成された、実施態様5に記載の制御システム(80)。
[実施態様8]
前記1以上の第2の処理装置は、前記第1のビークル制御プロセス(380)を実装するように構成され、
前記1以上の第2の処理装置を構成した後、前記1以上の第1の処理装置が再起動され、
前記1以上の第1の処理装置を再起動した後、前記1以上の処理装置(302)は前記第1のビークル制御プロセス(380)を実装するように構成され、
前記第1の処理装置を再構成した後、前記1以上の第2の処理装置によって実行された前記1以上のプロセスが終了する、
実施態様5に記載の制御システム(80)。
前記1以上の第2の処理装置は、前記第1のビークル制御プロセス(380)を実装するように構成され、
前記1以上の第2の処理装置を構成した後、前記1以上の第1の処理装置が再起動され、
前記1以上の第1の処理装置を再起動した後、前記1以上の処理装置(302)は前記第1のビークル制御プロセス(380)を実装するように構成され、
前記第1の処理装置を再構成した後、前記1以上の第2の処理装置によって実行された前記1以上のプロセスが終了する、
実施態様5に記載の制御システム(80)。
[実施態様9]
第1の内部を画定する第1のハウジングと、
前記第1の内部内に配置された第1の回路基板(120)であって、前記第1の回路基板(120)は前記1以上の処理装置(302)を含む、第1の回路基板(120)と、
第2の内部を画定する第2のハウジングと、
前記第2のハウジング内に配置された第2の回路基板(122)であって、前記FPGA(305、325)を含む、第2の回路基板(122)と
をさらに備えた、実施態様1に記載の制御システム(80)。
第1の内部を画定する第1のハウジングと、
前記第1の内部内に配置された第1の回路基板(120)であって、前記第1の回路基板(120)は前記1以上の処理装置(302)を含む、第1の回路基板(120)と、
第2の内部を画定する第2のハウジングと、
前記第2のハウジング内に配置された第2の回路基板(122)であって、前記FPGA(305、325)を含む、第2の回路基板(122)と
をさらに備えた、実施態様1に記載の制御システム(80)。
[実施態様10]
無人航空機(10)であって、
第1の処理システム(230)および第2の処理システム(232)を含む回路基板(120、122)であって、前記第1および第2の処理システム(230、232)は、それぞれ処理装置と、複数の論理セル(307)を含むプログラマブル論理アレイ(305)とを含み、前記第1および第2の処理システム(230、232)の少なくとも一方は、前記無人航空機(10)が飛行中に動作を実行するように構成され、前記動作は、
前記無人航空機(10)が飛行中に、前記第1の処理システム(230)が危険にさらされていることを検出することと、
前記第1の処理システム(230)が危険にさらされていることを検出することに応答して、前記無人航空機(10)が飛行中に、構成データを取得することと、
前記無人航空機(10)が飛行中に、前記構成データに基づいて前記第1の処理システム(230)の前記プログラマブル論理アレイ(305)を再構成することと
を含む、回路基板(120、122)
を備えた、無人航空機(10)。
無人航空機(10)であって、
第1の処理システム(230)および第2の処理システム(232)を含む回路基板(120、122)であって、前記第1および第2の処理システム(230、232)は、それぞれ処理装置と、複数の論理セル(307)を含むプログラマブル論理アレイ(305)とを含み、前記第1および第2の処理システム(230、232)の少なくとも一方は、前記無人航空機(10)が飛行中に動作を実行するように構成され、前記動作は、
前記無人航空機(10)が飛行中に、前記第1の処理システム(230)が危険にさらされていることを検出することと、
前記第1の処理システム(230)が危険にさらされていることを検出することに応答して、前記無人航空機(10)が飛行中に、構成データを取得することと、
前記無人航空機(10)が飛行中に、前記構成データに基づいて前記第1の処理システム(230)の前記プログラマブル論理アレイ(305)を再構成することと
を含む、回路基板(120、122)
を備えた、無人航空機(10)。
[実施態様11]
前記取得することは、前記構成データおよびコンピュータ可読命令を含むオブジェクト(400)を取得することをさらに含む、実施態様10に記載の無人航空機(10)。
前記取得することは、前記構成データおよびコンピュータ可読命令を含むオブジェクト(400)を取得することをさらに含む、実施態様10に記載の無人航空機(10)。
[実施態様12]
前記動作は、前記無人航空機(10)が飛行中に、前記コンピュータ可読命令に基づいて、前記第1の処理システム(230)の前記処理装置を再プログラミングすることをさらに含む、実施態様11に記載の無人航空機(10)。
前記動作は、前記無人航空機(10)が飛行中に、前記コンピュータ可読命令に基づいて、前記第1の処理システム(230)の前記処理装置を再プログラミングすることをさらに含む、実施態様11に記載の無人航空機(10)。
[実施態様13]
前記構成データおよびコンピュータ可読命令は、前記第1および第2の処理システム(230、232)のうちの少なくとも一方に関連付けられたメモリ装置にローカルに格納されているオブジェクト(400)内に含まれる、実施態様11に記載の無人航空機(10)。
前記構成データおよびコンピュータ可読命令は、前記第1および第2の処理システム(230、232)のうちの少なくとも一方に関連付けられたメモリ装置にローカルに格納されているオブジェクト(400)内に含まれる、実施態様11に記載の無人航空機(10)。
[実施態様14]
前記構成データおよびコンピュータ可読命令は、通信ネットワークを介して前記無人航空機(10)に通信可能に結合された遠隔コンピューティング装置(500)から取得されるオブジェクト(400)内に含まれる、実施態様11に記載の無人航空機(10)。
前記構成データおよびコンピュータ可読命令は、通信ネットワークを介して前記無人航空機(10)に通信可能に結合された遠隔コンピューティング装置(500)から取得されるオブジェクト(400)内に含まれる、実施態様11に記載の無人航空機(10)。
[実施態様15]
前記プログラマブル論理アレイ(305)は、RAMベースのフィールドプログラマブルゲートアレイまたはフラッシュベースのプログラマブルゲートアレイのうちの少なくとも1つである、実施態様10に記載の無人航空機(10)。
前記プログラマブル論理アレイ(305)は、RAMベースのフィールドプログラマブルゲートアレイまたはフラッシュベースのプログラマブルゲートアレイのうちの少なくとも1つである、実施態様10に記載の無人航空機(10)。
[実施態様16]
前記再プログラミングに続いて、前記第1の処理システム(230)の前記処理装置が第1のオペレーティングシステムで構成されており、
前記再プログラミングは、前記第1のオペレーティングシステムを、前記第1のオペレーティングシステムとは異なる第2のオペレーティングシステムで上書きすることを含む、
実施態様12に記載の無人航空機(10)。
前記再プログラミングに続いて、前記第1の処理システム(230)の前記処理装置が第1のオペレーティングシステムで構成されており、
前記再プログラミングは、前記第1のオペレーティングシステムを、前記第1のオペレーティングシステムとは異なる第2のオペレーティングシステムで上書きすることを含む、
実施態様12に記載の無人航空機(10)。
[実施態様17]
集積回路を再構成するための方法であって、
1以上の処理システム(230、232)によって、コンピュータ可読命令の第1のセットに基づいて集積回路の処理装置をプログラミングするステップと、
1以上の処理システム(230、232)によって、第1の構成データに基づいて、前記集積回路のプログラマブル論理アレイ(305)を構成するステップと、
前記1以上の処理システム(230、232)によって、第2の構成データと第2のセットのコンピュータ可読命令とを含むオブジェクト(400)を取得するステップであって、前記第2の構成データは前記第1の構成データとは異なり、前記第2のセットのコンピュータ可読命令は前記第1のセットのコンピュータ可読命令と異なる、取得するステップと、
前記1以上の処理システム(230、232)によって、前記第2のセットのコンピュータ可読命令に基づいて前記処理装置を再プログラミングするステップと、
前記1以上の処理システム(230、232)によって、前記第2の構成データに基づいて前記プログラマブル論理アレイ(305)を再構成するステップと
を含む、方法。
集積回路を再構成するための方法であって、
1以上の処理システム(230、232)によって、コンピュータ可読命令の第1のセットに基づいて集積回路の処理装置をプログラミングするステップと、
1以上の処理システム(230、232)によって、第1の構成データに基づいて、前記集積回路のプログラマブル論理アレイ(305)を構成するステップと、
前記1以上の処理システム(230、232)によって、第2の構成データと第2のセットのコンピュータ可読命令とを含むオブジェクト(400)を取得するステップであって、前記第2の構成データは前記第1の構成データとは異なり、前記第2のセットのコンピュータ可読命令は前記第1のセットのコンピュータ可読命令と異なる、取得するステップと、
前記1以上の処理システム(230、232)によって、前記第2のセットのコンピュータ可読命令に基づいて前記処理装置を再プログラミングするステップと、
前記1以上の処理システム(230、232)によって、前記第2の構成データに基づいて前記プログラマブル論理アレイ(305)を再構成するステップと
を含む、方法。
[実施態様18]
前記1以上の処理システム(230、232)が前記プロセッサを含む、実施態様17に記載の方法。
前記1以上の処理システム(230、232)が前記プロセッサを含む、実施態様17に記載の方法。
[実施態様19]
前記1以上の処理システム(230、232)は前記プログラマブル論理アレイ(305)を含む、実施態様17に記載の方法。
前記1以上の処理システム(230、232)は前記プログラマブル論理アレイ(305)を含む、実施態様17に記載の方法。
[実施態様20]
前記プログラマブル論理アレイ(305)は、RAMベースのフィールドプログラマブルゲートアレイを含む、実施態様17に記載の方法。
前記プログラマブル論理アレイ(305)は、RAMベースのフィールドプログラマブルゲートアレイを含む、実施態様17に記載の方法。
10 無人航空機、12 二次装置、14 推進移動(PM)装置、20 画像センサ、22 レーダセンサ、24 LIDARセンサ、26 ソナーセンサ、28 GPSセンサ、30 推力装置、32 操縦翼面、34 位置決定システム、36 ペイロード送達システム、38 通信システム、50 制御システム、60 バックプレーン、61 CPUカード、62 共処理カード、63 アドオンカード、64 アドオンカード、65 アドオンカード、66 スイッチ、71 第1のカードスロット、72 第2のカードスロット、73 カードスロット、74 カードスロット、75 カードスロット、80 制御システム、100 制御ボックス、110 ハウジング、118 ヒートシンク、120 第1の回路基板、122 第2の回路基板、124 I/Oコネクタ、125 航法システム、126 I/Oコネクタ、230 第1の処理システム、232 第2の処理システム、234 メモリブロック、238 I/Oコネクタ、302 処理装置、304 プログラマブル論理回路、305 プログラマブル論理アレイ,FPGA、306 アプリケーション処理装置(APU)、307 論理セル、308 画像処理装置(GPU)、310 リアルタイム処理装置(RPU)、311 第1の制御プロセス、312 メモリ、313 第2の制御プロセス、314 通信インタフェース、316 スイッチファブリック、322 処理装置、324 プログラマブル論理回路、325 プログラマブル論理アレイ,FPGA、332 メモリ、334 通信インタフェース、336 スイッチファブリック、380 第1のビークル制御プロセス、382 第2のビークル制御プロセス、390 第1のミッション制御プロセス、392 第2のミッション制御プロセス、400 オブジェクト、404 GPS受信機、406 データリンク受信機、408 入力、412 比較器、414 ドライバ、420 SONARインタフェース、422 スタティックインタフェース、424 受信機インタフェース、426 ソフトウェア無線、428 航法システム、432 第1の回路基板インタフェース、434 電源、442 サーボ444 GPSアンテナ、446 データリンクアンテナ、448 受信機、450 サーボ電源、452 離散入力、454 離散出力、456 アナログ入力、458 センサコネクタ、500 遠隔コンピューティング装置、502 プロセッサ、504 メモリ装置、506 通信インタフェース、600 方法
Claims (15)
- 無人ビークルの制御システム(80)であって、
第1のビークル制御プロセス(380)を実行するように構成された1以上の処理装置(302)と、
前記1以上の処理装置(302)と動作可能に連通するフィールドプログラマブルゲートアレイ(FPGA)(305、325)であって、前記FPGA(305、325)は、複数の論理セル(307)を含み、前記FPGA(305、325)は、
第1の構成データに従って前記複数の論理セル(307)をプログラムし、前記第1の構成データに基づいて第2のビークル制御プロセス(382)を実行し、
前記無人ビークルが動作している間に、前記第2のビークル制御プロセス(382)を置き換えるための第3のビークル制御プロセスのための第2の構成データを取得し、
前記UAVが作動している間に、前記第2の構成データに従って前記複数の論理セル(307)を再プログラムし、第3のビークル制御プロセスを実行する
ように構成された、フィールドプログラマブルゲートアレイ(FPGA)(305、325)と
を備えた、制御システム(80)。 - 前記第2のビークル制御プロセス(382)は、第1のビークル航法機能と関連付けられ、
前記第3のビークル制御プロセスは、前記第1のビークル航法機能に関連付けられる、
請求項1に記載の制御システム(80)。 - 前記FPGA(305、325)が前記第3のビークル制御プロセスを実行する場合、前記FPGA(305、325)は、前記無人航空機の航法システムから受信した1以上の信号をフィルタリングする、請求項1に記載の制御システム(80)。
- 前記第2のビークル制御プロセス(382)は、第1のビークル航法機能と関連付けられ、
前記FPGA(305、325)は、前記第2のビークル制御プロセス(382)に従って前記無人ビークルの航法制御を可能にするように構成され、
前記FPGA(305、325)は、前記第2のビークル制御プロセス(382)に従って前記無人ビークルの航法制御を中止し、前記第3のビークル制御プロセスに前記無人ビークルの航法制御を移すように構成される、
請求項1に記載の制御システム(80)。 - 前記1以上の処理装置(302)は1以上の第1の処理装置であり、前記FPGA(305、325)は第1のFPGAであり、
前記1以上の第1の処理装置および前記第1のFPGAは、第1の集積回路内に形成されており、
前記制御システム(80)は、第2のFPGAを含む第2の集積回路をさらに含み、前記第2のFPGAは複数の論理セル(307)を含む、
請求項1に記載の制御システム(80)。 - 前記第1のFPGAはRAMベースのFPGAであり、
前記第2のFPGAはフラッシュベースのFPGAである、
請求項5に記載の制御システム(80)。 - 前記1以上の第1の処理装置は、前記第1のビークル制御プロセス(380)に対する不正な変更を検出するように構成された、請求項5に記載の制御システム(80)。
- 前記1以上の第2の処理装置は、前記第1のビークル制御プロセス(380)を実装するように構成され、
前記1以上の第2の処理装置を構成した後、前記1以上の第1の処理装置が再起動され、
前記1以上の第1の処理装置を再起動した後、前記1以上の第2の処理装置は前記第1のビークル制御プロセス(380)を実装するように構成され、
前記第1の集積回路を再構成した後、前記1以上の第2の処理装置によって実行された前記1以上のプロセスが終了する、
請求項5に記載の制御システム(80)。 - 第1の内部を画定する第1のハウジングと、
前記第1の内部内に配置された第1の回路基板(120)であって、前記第1の回路基板(120)は前記1以上の処理装置(302)を含む、第1の回路基板(120)と、
第2の内部を画定する第2のハウジングと、
前記第2のハウジング内に配置された第2の回路基板(122)であって、前記FPGA(305、325)を含む、第2の回路基板(122)と
をさらに備えた、請求項1に記載の制御システム(80)。 - 無人航空機(10)であって、
第1の処理システム(230)および第2の処理システム(232)を含む回路基板(120、122)であって、前記第1および第2の処理システム(230、232)は、それぞれ処理装置と、複数の論理セル(307)を含むプログラマブル論理アレイ(305)とを含み、前記第1および第2の処理システム(230、232)の少なくとも一方は、前記無人航空機(10)が飛行中に動作を実行するように構成され、前記動作は、
前記無人航空機(10)が飛行中に、前記第1の処理システム(230)が危険にさらされていることを検出することと、
前記第1の処理システム(230)が危険にさらされていることを検出することに応答して、前記無人航空機(10)が飛行中に、構成データを取得することと、
前記無人航空機(10)が飛行中に、前記構成データに基づいて前記第1の処理システム(230)の前記プログラマブル論理アレイ(305)を再構成することと
を含む、回路基板(120、122)
を備えた、無人航空機(10)。 - 前記取得することは、前記構成データおよびコンピュータ可読命令を含むオブジェクト(400)を取得することをさらに含む、請求項10に記載の無人航空機(10)。
- 前記動作は、前記無人航空機(10)が飛行中に、前記コンピュータ可読命令に基づいて、前記第1の処理システム(230)の前記処理装置を再プログラミングすることをさらに含む、請求項11に記載の無人航空機(10)。
- 前記オブジェクト(400)は、前記第1および第2の処理システム(230、232)のうちの少なくとも1つに関連するメモリ装置上にローカルに格納される、請求項11に記載の無人航空機(10)。
- 前記オブジェクト(400)は、通信ネットワークを介して前記無人航空機(10)に通信可能に結合された遠隔コンピューティング装置(500)から取得される、請求項11に記載の無人航空機(10)。
- 前記再プログラミングに続いて、前記第1の処理システム(230)の前記処理装置(302)が第1のオペレーティングシステムで構成されており、
前記再プログラミングは、前記第1のオペレーティングシステムを、前記第1のオペレーティングシステムとは異なる第2のオペレーティングシステムで上書きすることを含む、
請求項12に記載の無人航空機(10)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/875,381 US20190228666A1 (en) | 2018-01-19 | 2018-01-19 | System and Method for Reconfiguring a System-On-Module for an Unmanned Vehicle |
US15/875,381 | 2018-01-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019142484A true JP2019142484A (ja) | 2019-08-29 |
Family
ID=65003314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019006730A Pending JP2019142484A (ja) | 2018-01-19 | 2019-01-18 | 無人ビークル用のシステムオンモジュールを再構成するためのシステムおよび方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20190228666A1 (ja) |
EP (1) | EP3514647A3 (ja) |
JP (1) | JP2019142484A (ja) |
CN (1) | CN110058564A (ja) |
CA (1) | CA3029705A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10671067B2 (en) * | 2018-01-15 | 2020-06-02 | Qualcomm Incorporated | Managing limited safe mode operations of a robotic vehicle |
US10942509B2 (en) | 2018-01-19 | 2021-03-09 | Ge Aviation Systems Llc | Heterogeneous processing in unmanned vehicles |
US11032905B2 (en) * | 2018-01-19 | 2021-06-08 | Ge Aviation Systems Llc | Unmanned vehicle control systems |
US11029985B2 (en) | 2018-01-19 | 2021-06-08 | Ge Aviation Systems Llc | Processor virtualization in unmanned vehicles |
US11131991B2 (en) | 2018-01-19 | 2021-09-28 | Ge Aviation Systems Llc | Autopilot control system for unmanned vehicles |
KR102106100B1 (ko) * | 2018-02-02 | 2020-05-06 | 엘지전자 주식회사 | 이동 로봇 |
JP2019214339A (ja) * | 2018-06-14 | 2019-12-19 | ヤマハ発動機株式会社 | 小型船舶 |
EP3764235B1 (en) * | 2019-07-12 | 2022-10-26 | Ratier-Figeac SAS | Field programmable gate array (fpga) having dissimilar cores |
EP4399629A1 (en) | 2021-09-08 | 2024-07-17 | Telefonaktiebolaget LM Ericsson (publ) | Policy enforcement and continous policy monitoring on reconfigurable hardware device |
US12079010B2 (en) * | 2022-08-17 | 2024-09-03 | Beta Air, Llc | Apparatus for pre-flight preparation for electric aircraft |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3365581B2 (ja) * | 1994-07-29 | 2003-01-14 | 富士通株式会社 | 自己修復機能付き情報処理装置 |
US20050093572A1 (en) * | 2003-11-03 | 2005-05-05 | Macronix International Co., Ltd. | In-circuit configuration architecture with configuration on initialization function for embedded configurable logic array |
US7135886B2 (en) * | 2004-09-20 | 2006-11-14 | Klp International, Ltd. | Field programmable gate arrays using both volatile and nonvolatile memory cell properties and their control |
US8004855B2 (en) * | 2006-07-07 | 2011-08-23 | Itt Manufacturing Enterprises, Inc. | Reconfigurable data processing system |
JP2010287168A (ja) * | 2009-06-15 | 2010-12-24 | Mitsubishi Electric Corp | 故障検知システム |
KR101259133B1 (ko) * | 2009-11-11 | 2013-04-30 | 삼성중공업 주식회사 | 동작 중 재구성이 가능한 제어 시스템 및 그 방법 |
WO2014207893A1 (ja) * | 2013-06-28 | 2014-12-31 | 株式会社日立製作所 | 演算回路及び計算機 |
US9195232B1 (en) * | 2014-02-05 | 2015-11-24 | Google Inc. | Methods and systems for compensating for common failures in fail operational systems |
CN104062933B (zh) * | 2014-06-12 | 2017-03-29 | 天津大学 | 基于dsp和fpga的无人直升机飞行控制方法 |
US10001776B2 (en) * | 2016-03-21 | 2018-06-19 | The Boeing Company | Unmanned aerial vehicle flight control system |
CN106020021B (zh) * | 2016-05-20 | 2019-02-12 | 中车青岛四方车辆研究所有限公司 | 高性能信号处理板 |
US9965356B2 (en) * | 2016-09-02 | 2018-05-08 | Alibaba Group Holding Limited | Method and system of high-availability PCIE SSD with software-hardware jointly assisted implementation to enhance immunity on multi-cell upset |
CN106775869B (zh) * | 2016-12-16 | 2020-08-07 | 四川九洲电器集团有限责任公司 | 一种加载方法及终端设备 |
GB2564473B (en) * | 2017-07-13 | 2020-09-16 | Blue Bear Systems Res Ltd | Unmanned air vehicles |
US9932108B1 (en) * | 2017-09-11 | 2018-04-03 | Kitty Hawk Corporation | Flexible and robust communication interface |
-
2018
- 2018-01-19 US US15/875,381 patent/US20190228666A1/en not_active Abandoned
-
2019
- 2019-01-07 EP EP19150596.5A patent/EP3514647A3/en not_active Ceased
- 2019-01-10 CA CA3029705A patent/CA3029705A1/en not_active Abandoned
- 2019-01-18 CN CN201910048215.3A patent/CN110058564A/zh active Pending
- 2019-01-18 JP JP2019006730A patent/JP2019142484A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
CA3029705A1 (en) | 2019-07-19 |
EP3514647A2 (en) | 2019-07-24 |
EP3514647A3 (en) | 2019-10-16 |
CN110058564A (zh) | 2019-07-26 |
US20190228666A1 (en) | 2019-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2019142484A (ja) | 無人ビークル用のシステムオンモジュールを再構成するためのシステムおよび方法 | |
US11966223B2 (en) | Autopilot control system for unmanned vehicles | |
EP3514645B1 (en) | Heterogeneous processing in unmanned vehicles | |
EP3514652B1 (en) | Unmanned vehicle control system | |
EP3514646B1 (en) | Processor virtualization in unmanned vehicles | |
EP3740831B1 (en) | Managing limited safe mode operations of a robotic vehicle | |
WO2021224796A1 (en) | System and method for software-defined drones | |
Klenke et al. | A reconfigurable, linux-based, flight control system for small UAVs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20190417 |