JP7294797B2 - コンピュータシステム、制御方法、およびプログラム - Google Patents

コンピュータシステム、制御方法、およびプログラム Download PDF

Info

Publication number
JP7294797B2
JP7294797B2 JP2018218811A JP2018218811A JP7294797B2 JP 7294797 B2 JP7294797 B2 JP 7294797B2 JP 2018218811 A JP2018218811 A JP 2018218811A JP 2018218811 A JP2018218811 A JP 2018218811A JP 7294797 B2 JP7294797 B2 JP 7294797B2
Authority
JP
Japan
Prior art keywords
flying object
vector
information point
information
control
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
JP2018218811A
Other languages
English (en)
Other versions
JP2020086802A (ja
Inventor
政宏 鳥井
大地 秋元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zenrin Co Ltd
Original Assignee
Zenrin Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zenrin Co Ltd filed Critical Zenrin Co Ltd
Priority to JP2018218811A priority Critical patent/JP7294797B2/ja
Publication of JP2020086802A publication Critical patent/JP2020086802A/ja
Application granted granted Critical
Publication of JP7294797B2 publication Critical patent/JP7294797B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Traffic Control Systems (AREA)

Description

本開示の一側面はコンピュータシステム、制御方法、およびプログラムに関する。
従来から、飛行体を制御するための技術が知られている(例えば、特許文献1参照)。
特開2017-174442号公報
本開示の一側面は、飛行体を適切に制御することを目的とする。
本開示の一側面に係るコンピュータシステムは、少なくとも一つのプロセッサを備え、少なくとも一つのプロセッサ、ウェイポイント間に設定された少なくとも一つの情報点のそれぞれからのベクトルを用いてウェイポイント間の制御領域を表現する領域データに基づいて飛行体を制御し、少なくとも一つのプロセッサは、飛行体の位置とベクトルとに基づいて飛行体を制御し、情報点は複数存在し、少なくとも一つのプロセッサは、複数の情報点から、飛行体の位置に応じた情報点を選択し、選択された情報点のベクトルに基づいて飛行体を制御し、選択された一つの情報点に複数のベクトルが対応し、少なくとも一つのプロセッサは、選択された一つの情報点に対応する複数のベクトルから、飛行体の位置に応じたベクトルを選択し、選択されたベクトルに基づいて飛行体を制御し、制御領域の少なくとも一部が複数の層を含み、選択された一つの情報点に対応する複数のベクトルを用いて複数の層が表現され、少なくとも一つのプロセッサは、複数の層のうち、飛行体の位置に対応する少なくとも一つの層に基づいて飛行体を制御する
制御領域の一例を示す図である。 制御領域の別の例を示す図である。 制御領域のさらに別の例を示す図である。 制御領域のさらに別の例を示す図である。 実施形態に係る飛行制御システムの機能構成の一例を示す図である。 実施形態に係るサーバのハードウェア構成の一例を示す図である。 領域データの一例を示す図である。 領域データの別の例を示す図である。 領域データのさらに別の例を示す図である。 実施形態に係る飛行制御システムの動作の一例を示すフローチャートである。 飛行状況の判定の一例を示す図である。
以下、添付図面を参照しながら本開示の実施形態を詳細に説明する。なお、図面の説明において同一または同等の要素には同一の符号を付し、重複する説明を省略する。
[システムの概要]
実施形態に係る飛行制御システム1は飛行体を制御するコンピュータシステムである。飛行体とは、空中を移動することが可能な人工物のことをいう。飛行体の種類は限定されず、例えば有人航空機でもよいし無人航空機(ドローン)でもよい。飛行体の制御方法は限定されず、例えば、飛行制御システム1は飛行体の進行方向または速度を変更してもよいし、飛行体を離着陸させてもよいし、飛行体を空中で停止させてもよい。
飛行制御システム1はウェイポイント間の制御領域に基づいて飛行体を飛行させてもよい。ウェイポイント(WP)とは、飛行体の飛行経路を決定するために設定される位置のことをいい、飛行体が通過すべき位置(すなわち通過点)ともいうことができる。制御領域とは、飛行体の制御内容(モード)を決定するために設定される3次元空間の範囲のことをいう。制御領域の外縁(すなわち境界)は仮想的に設定される。制御領域は、隣り合う二つのウェイポイントの間に設定される。飛行経路は3以上のウェイポイントを含んで構成されてもよく、この場合には、二つのウェイポイント間の制御領域の組合せまたは連結により、飛行経路の全体に対応する制御領域が形成される。飛行体は制御領域に基づいて複数のウェイポイントを順次経由する。
図1は制御領域の一例を示す図であり、具体的には、飛行経路50の少なくとも一部を構成する三つのウェイポイント51,52,53に対応する二つの制御領域61,62を示す。制御領域61はウェイポイント51,52間を結ぶように設定され、制御領域62はウェイポイント52,53間を結ぶように設定される。飛行体30は、ウェイポイント51,52,53をこの順で通過したり、逆の順序でこれらのウェイポイントを通過したりすることができる。飛行体30の特性、気象状況などの様々な要因で、飛行体30にとっては、ウェイポイント間を結ぶ仮想線からずれることなく飛行することが難しい場合がある。常にその仮想線上を飛行するように飛行体30を制御しようとすると、その制御のために飛行体30の電力が著しく消費されてしまう。飛行体30の電池を長持ちさせるためには、制御領域を設定することで飛行体30にある程度の飛行の自由度を持たせた方が便宜である。図1の例では、制御領域61内を飛行している飛行体301と制御領域62内を飛行している飛行体302とについては、飛行を制御する必要が無いかまたはほとんど無い。これに対して、飛行体303は制御領域から外れているので、制御領域61,62のいずれかの中に入るように飛行方向が制御されてもよい。
個々の制御領域は、ウェイポイント間に設定された少なくとも一つの情報点のそれぞれからのベクトルを用いて表される。情報点とは、二つのウェイポイント間を結ぶ仮想線上に設定される仮想点のことをいい、制御領域を定義するために用いられる。なお、ウェイポイント間を結ぶ仮想線の形状は直線でも曲線でもよく、あるいは、直線と曲線との組合せでもよい。情報点はウェイポイント上に設定されてもよい。隣り合う情報点の間隔は任意に設定されてよく、例えば、一定であってもよいし、場所に応じて異なってもよい。一例では、情報点間の間隔は、障害物が少なく飛行体30が高速で移動可能な場所(例えば平原、山岳地帯など)であれば10m~15mでもよいし、障害物が多く飛行体30が低速で移動すべき場所(例えば市街地)では1m~5mでもよい。ベクトルとは大きさおよび向きを持つ量のことをいい、有向線分で表現することができる。ベクトルの始点は情報点に対応し、終点は制御領域の外縁に対応する。ベクトルの大きさは情報点から外縁までの距離を示す。一つの情報点には少なくとも一つのベクトルが対応付けられ、典型的には複数のベクトルが対応付けられる。一つの情報点に対応付けられるベクトルの個数は何ら限定されない。一つの制御領域における複数の情報点の間でベクトルの個数が異なってもよい。
図1は、ウェイポイント51,52間に設定された複数の情報点71と、ウェイポイント52,53間に設定された複数の情報点72とを示す。図1はさらに、一つの情報点71に対応する6個のベクトル81と、一つの情報点72に対応する6個のベクトル82とを示す。制御領域61はそれぞれの情報点71からのベクトル(例えばベクトル81)により定義され、制御領域62はそれぞれの情報点72からのベクトル(例えばベクトル82)により定義される。図1の例では、制御領域61,62の形状はいずれも六角柱である。この例のように、制御領域の断面形状は、一つの情報点から延びるベクトルの終点を直線でつないだ図形であってもよい。制御領域の断面形状の決定方法はこれに限定されない。例えば、その断面形状は、一つの情報点から延びるベクトルの終点を曲線でつないだ図形であってもよく、したがって、円でもよいし楕円でもよい。
仮想的に設定される制御領域は任意の形状を取ることができる。したがって、所与の飛行禁止区域、任意の自然物(例えば、山、木など)、任意の構造物(例えば、建物、塔、電線など)などを避けるように柔軟に制御領域を設定することができる。二つのウェイポイント間を結ぶ制御領域は、任意の断面形状を有する筒状を呈してもよい。制御領域の形状および大きさは何ら限定されず、任意に設定されてよい。
図2に示すように、二つのウェイポイント間を結ぶ制御領域の断面の形状および面積は途中で変化してもよい。図2は制御領域の別の例を示す図であり、具体的には、ウェイポイント54,55間に設定された制御領域63を示す。図2の例(a)に示すように、制御領域63は、第1領域631と、該第1領域631よりも断面積が小さい第2領域632とで構成される。図2では、第1領域631と第2領域632とは斜面により滑らかにつながっている。しかし、この滑らかな接続は必須ではなく、したがって、第1領域631と第2領域632との境界が斜面ではなく鉛直面であってもよい。制御領域63は、ウェイポイント54,55間を結ぶ仮想線56上に設定された複数の情報点73と、個々の情報点73から延びる1以上のベクトル83とにより特定され得る。図2の例(b)は図2の例(a)のIIb-IIb線断面を示す。上述したように情報点間の距離は任意に設定されてよい。図2の例(b)では、断面形状が変化しない範囲では情報点73が等間隔に配置され、断面形状が変化する付近の範囲では情報点73がより密に設定されている。ウェイポイント54,55を結ぶ仮想線56のように、ウェイポイント間を結ぶ仮想線が制御領域の外縁上にあってもよく、したがって、情報点が制御領域63の外縁上にあってもよい。
図3に示すように、二つのウェイポイント間に複数の制御領域が設定されてもよい。図3は制御領域のさらに別の例を示す図であり、具体的には、ウェイポイント57,58間に設定された制御領域64および制御領域65を示す。制御領域64,65のいずれも、断面は扇形のような形状を呈する。図2の例と同様に、ウェイポイント57,58間を結ぶ仮想線59は、制御領域64の外縁上に位置し、制御領域65の外縁上にも位置する。したがって、制御領域64を定義するための情報点74は制御領域64の外縁上に位置し、制御領域65を定義するための情報点75は制御領域65の外縁上に位置する。
図4に示すように、制御領域の少なくとも一部が複数の仮想の層で構成されてもよい。図4は、図2に示す制御領域63の少なくとも一部が2層である例を示す図である。この例では、制御領域63は、仮想線56から見て内側に位置する第1層633と、仮想線56から見て第1層633よりも外側に位置する第2層634とで構成される。第1領域631は第1層633および第2層634で構成され、第2領域632は第1層633のみで示される。図4の例(b)は図4の例(a)のIVb-IVb線断面を示す。複数の層で構成される部分に対応する情報点では、個々の層についてベクトルが定義される。図4の例では、第1層633はベクトル83bで特定可能であり、第2層634はベクトル83aで特定可能である。第2領域632は単層なので、ベクトル83a,83bのどちらで特定されてもよい。
制御領域は任意の目的または周辺環境に応じて任意の個数の層に分割されてよい。例えば、制御領域は飛行体30の飛行方法に応じて分割されてもよい。一例として、制御領域は、次のウェイポイントに向けて直進可能な領域を示す層と、飛行方向を変える必要がある領域を示す層とに分割されてもよい。あるいは、制御領域は、飛行体30を低速で飛行させるべき層と、飛行体30を中速(すなわち、低速よりも大きい速度)で飛行させることが可能な層と、飛行体30を高速(すなわち、中速よりも大きい速度)で飛行させることが可能な層とに分割されてもよい。図4の例のように制御領域を複数の層に分割することで、様々な要因に応じて飛行体30を柔軟に制御することができる。あるいは、制御領域は2種類以上の層構造を含んでもよい。たとえば、制御領域は、飛行体30を低速で飛行させるべき層と、飛行体30を中速で飛行させることが可能な層と、飛行体30を高速で飛行させることが可能な層とに分割されるとともに、天気が雨である場合の層と、雨以外の天気の場合の層とに分割されてもよい。この例は、制御領域が飛行体30の速度に応じて3層に分割されるとともに、天気に応じて2層に分割されることを意味する。
[システムの構成]
図5は、飛行制御システム1の機能構成の一例を示す図である。図5に示すように、本実施形態では、飛行制御システム1はサーバ10、データベース20、および飛行体30を備える。サーバ10は、飛行体30を制御するためのコンピュータである。より具体的には、サーバ10は、飛行体30に指示データを送信することで、飛行体30が制御領域に基づいて飛行するように飛行体30を制御する。データベース20は領域データ21を記憶する装置である。領域データ21および指示データのいずれも、コンピュータが読み取ることが可能な電子データであり、飛行体30を制御するために必要なデジタル情報を含む制御データである。飛行体30は、サーバ10からの指示データに基づいて飛行することが可能である。サーバ10、データベース20、および飛行体30は有線または無線の通信ネットワークを介してデータを送受信することができる。例えば、サーバ10は通信ネットワークを介して、データベース20から領域データ21を読み出したり、飛行体30に指示データを送信したりすることができる。
サーバ10は機能モジュールとして空間特定部11、判定部12、指示生成部13、および通信部14を備える。空間特定部11は、領域データ21を参照することで、飛行体30に対応する制御領域を算出する機能モジュールである。判定部12は、飛行体30がその制御領域の内と外のどちらに位置するかを判定する機能モジュールである。指示生成部13は、判定部12による判定結果に基づいて、その飛行体30を制御するための指示データを用意する機能モジュールである。この指示データは、飛行体30を制御するために用いられる。通信部14は、その指示データを出力する機能モジュールである。飛行体30はその指示データに従って制御領域内を飛行することができる。
図6は、サーバ10のハードウェア構成の一例を示す。例えば、サーバ10は制御回路100を有する。一例では、制御回路100は、一つまたは複数のプロセッサ101と、メモリ102と、ストレージ103と、通信ポート104と、入出力ポート105とを有する。プロセッサ101はオペレーティングシステムおよびアプリケーションプログラムを実行する。ストレージ103はハードディスク、不揮発性の半導体メモリ、または取り出し可能な媒体(例えば、磁気ディスク、光ディスクなど)の記憶媒体で構成され、オペレーティングシステムおよびアプリケーションプログラムを記憶する。メモリ102は、ストレージ103からロードされたプログラム、またはプロセッサ101による演算結果を一時的に記憶する。一例では、プロセッサ101は、メモリ102と協働してプログラムを実行することで、上記の各機能モジュールとして機能する。通信ポート104は、プロセッサ101からの指令に従って、通信ネットワークNWを介して他の装置(例えばデータベース20または飛行体30)との間でデータ通信を行う。入出力ポート105は、プロセッサ101からの指令に従って、キーボード、マウス、モニタなどの入出力装置(ユーザインタフェース)との間で電気信号の入出力を実行する。
サーバ10は一つまたは複数のコンピュータにより構成され得る。複数のコンピュータが用いられる場合には、通信ネットワークを介してこれらのコンピュータが互いに接続されることで論理的に一つのサーバ10が構成される。
サーバ10として機能するコンピュータは限定されない。例えば、サーバ10は業務用サーバなどの大型のコンピュータで構成されてもよいし、パーソナルコンピュータや携帯端末(例えばスマートフォン、タブレット端末など)などの小型のコンピュータで構成されてもよい。
[領域データのデータ構造]
サーバ10により用いられる領域データ21は制御領域を表現する。領域データ21は、隣接する二つのウェイポイント間に設定された少なくとも一つの情報点のそれぞれからのベクトルを用いて制御領域を表現する。制御領域の全体は3以上のウェイポイントで構成される可能性があり、この場合には、領域データ21は、隣接する二つのウェイポイントの組合せのそれぞれについて、少なくとも一つの情報点のそれぞれからのベクトルを用いて制御領域を表現する。
領域データ21の具体的なデータ構造は限定されず、任意の手法で実装されてよい。一例では、隣接する二つのウェイポイント間の制御領域を示す領域データのデータ構造は、二つのウェイポイントのそれぞれのウェイポイントIDと、少なくとも一つの情報点に関する情報点データとを含む。一例では、一つの情報点に対応する情報点データは、情報点に関する情報点情報と、少なくとも一つのベクトル情報とを含む。ウェイポイントIDはウェイポイントを一意に特定する識別子である。情報点情報は、個々の情報点を特定するために用いられる情報であり、例えば、空間における情報点の位置を示す3次元座標を含む。3次元座標の表現方法は限定されず、例えば緯度、経度、高度などで表されてもよいし、任意の地点を基準として設定される相対値で表されてもよい。個々のベクトル情報は、一つの情報点における一つのベクトルを示す情報である。個々のベクトル情報は方向および大きさを示す。ベクトルの方向は情報点を基準として設定され、これは、ベクトル情報が、情報点を始点とするベクトルを示すことを意味する。ベクトルの大きさは情報点からの距離で表される。或る一つの情報点における少なくとも一つのベクトルは、該情報点を通る制御領域の仮想断面を定義するものであるということができ、したがって、制御領域はその仮想断面の連続体であるということができる。仮想断面は例えば垂直方向に沿って定義されてもよく、この場合には仮想断面は垂直断面である。
図7~図9はいずれも、隣接する二つのウェイポイント「WP000」,「WP001」間の制御領域を示す領域データ21の例を示す図である。これらの例で示されるように、領域データのデータ構造はリンク種別、情報点ID、および次情報点IDをさらに含んでもよい。リンク種別は二つのウェイポイントに対応する飛行経路の属性または特徴を示すデータ項目である。リンク種別は飛行経路の性質、特徴、場所などの諸要素に応じて任意に設定されてよい。情報点IDは情報点を一意に特定する識別子であり、情報点情報の一例である。次情報点IDは隣接する情報点の識別子である。
図7の例では、ベクトルの方向が、仮想断面内において或る軸方向を基準とする角度で示され、ベクトルの大きさが、情報点からの距離で示されている。しかし、ベクトルを表現する方法は何ら限定されず、ベクトル情報は任意の手法で表されてよい。例えば、ベクトル情報はベクトルの終点の座標で表されてもよい。
図8および図9はいずれも、複数の層で構成される制御領域を示す領域データ21の例を示す。図8の例では、個々の層は「飛行領域」「直線飛行」などの層属性で区別され、それぞれの層について少なくとも一つのベクトル情報が定義される。飛行領域とは、飛行体30が障害物に接触せずに飛行できる領域のことをいう。直線飛行とは、飛行体30が次のウェイポイントまで直進しても障害物に接触しないで飛行できる領域のことをいう。この例でも、個々のベクトル情報は、情報点を基準として設定される方向と、情報点からの距離を示す大きさとを示す。個々のベクトルの終点は層の外縁(境界)に対応し、最外層に対応するベクトルの終点は制御領域の外縁(境界)に対応する。
図9の例では、個々の層がメイン属性「飛行領域」およびサブ属性「直線飛行」で区別されている。「飛行領域」のベクトル情報は方向および大きさを示し、「直線飛行」のベクトル情報は、飛行領域を示すベクトルのスカラー倍αで定義される(ただし、α<1)。例えば、飛行領域を示すベクトルの大きさが10mであり、サブ属性「直線飛行」の割合が40%である場合には、直線飛行の層は情報点から4mまでの範囲であり、最外層は4m~10mの範囲である。
図7~図9の例に示すように領域データは任意の形式で定義されてよい。いずれにしても、個々の情報点の個々のベクトルを柔軟に設定でき、これにより、任意の形状の制御領域を簡単に表現することができる。これは、複雑な制御領域を簡単に表現できることも意味する。
[システムでの処理手順]
図10および図11を参照しながら、飛行制御システム1の動作を説明するとともに本実施形態に係る飛行体の制御方法を説明する。図10は、飛行制御システム1の動作の一例を示すフローチャートである。図11は飛行体30の飛行状況の判定の一例を示す図である。
ステップS11では、空間特定部11が飛行体30の位置(典型的には、現在位置)を特定する。飛行体30の位置を特定する手法は限定されない。例えば、空間特定部11は飛行体30から受信する位置情報に基づいて位置を特定してもよいし、飛行体30を監視する任意の監視装置から受信する情報に基づいて飛行体30の位置を特定してもよい。あるいは、空間特定部11はユーザにより入力された飛行体30の位置を受け付けてもよい。あるいは、空間特定部11は、飛行体30の位置を示す位置データを記録する任意の記憶装置からその位置データを読み出すことで位置を特定してもよい。
ステップS12では、空間特定部11がデータベース20内の領域データを参照して、飛行体30の位置に対応する制御領域を特定する。より具体的には、空間特定部11は、飛行体30を挟むように位置する二つのウェイポイントを定義する領域データを参照することで、飛行体30の位置に対応する制御領域を特定する。参照すべき領域データの選択方法は限定されない。例えば、空間特定部11は、飛行体30から受信するデータに基づいて、参照すべき領域データを選択してもよい。あるいは、空間特定部11は、ユーザにより入力された指示に基づいて領域データを選択してもよい。
ステップS13では、判定部12が飛行体30にいちばん近い情報点を選択する。例えば、判定部12は、二つのウェイポイントを結ぶ仮想線に飛行体30の位置から垂線を下ろして双方の線の交点を求める。そして、判定部12は、空間特定部11により参照された領域データに含まれる個々の情報点のうち該交点にいちばん近い情報点を選択する。
ステップS14では、判定部12が飛行体30にいちばん近いベクトルを選択する。例えば、判定部12は、選択された情報点を始点とする少なくとも一つのベクトル(すなわち、選択された情報点に対応するベクトル)で定義される仮想断面上に飛行体30の位置を投影したと仮定した場合の、該仮想断面上における飛行体30の位置を投影位置として算出する。続いて、判定部12は情報点から飛行体30の投影位置に至るベクトルを位置ベクトルとして算出する。続いて、判定部12は選択された情報点を始点とする少なくとも一つのベクトルのうち該位置ベクトルとの向きの差が最も小さいベクトルを、飛行体30にいちばん近いベクトルとして選択する。位置ベクトルとの向きの差が最も小さいベクトルとは、位置ベクトルと成す角度が最も小さいベクトルのことをいう。
ステップS15では、判定部12が、飛行体30の位置と、選択されたベクトルの大きさとに基づいて、飛行体30の飛行状況を判定する。飛行状況の判定とは、飛行体30と制御領域との位置関係を判定することをいう。選択されたベクトルの大きさは、情報点から仮想断面の外縁(すなわち、制御領域の外縁)までの距離を示す。したがって、判定部12は、仮想断面における情報点から飛行体30の投影位置までの距離と、選択されたベクトルの大きさとを比較することで、飛行体30と制御領域との位置関係を判定できる。例えば、情報点から飛行体30の投影位置までの距離が、選択されたベクトルの大きさよりも大きい場合には、飛行体30は制御領域の外側に位置するといえる。一方、その距離が、選択されたベクトルの大きさ以下であれば、飛行体30が制御領域内に位置するといえる。
ステップS16では、指示生成部13が、飛行体30を制御するための指示データを用意する。指示生成部13は、メモリに予め記憶されている指示データを読み出すことで指示データを用意してもよいし、指示データを動的に生成してもよい。指示データの内容およびデータ構造は何ら限定されない。指示生成部13は飛行体30の飛行方向または速度を変えるための指示データを用意してもよい。
ステップS17では、通信部14がその指示データを送信する。指示データの宛先は限定されない。例えば、通信部14は指示データを、飛行体30に直接に送信してもよいし、飛行体30以外の任意のコンピュータを経由して飛行体30に送信してもよい。指示データは飛行経路を算出するために用いられる。例えば、飛行体30の制御回路が指示データを受信および処理することで飛行経路を算出し、その経路に沿って飛行するように飛行体30の動力および舵を制御してもよい。あるいは、飛行体30以外のコンピュータ(例えばリモートコントローラ)が指示データに基づいて飛行経路を算出して該経路を示す経路データを飛行体30に送信し、飛行体30の制御回路がその経路データに基づいて飛行体30の動力および舵を制御してもよい。いずれにしても、飛行体30は、サーバ10から提供される指示データに基づいて飛行することができる。
ステップS16,S17の処理は必須ではなく、必要な場合に限って実行されてもよい。例えば、飛行体30が今後の一定時間内においても制御領域内を飛行し続けることが期待できるのであれば、指示データの生成および送信を省略することができる。
制御領域が複数の層で構成される場合には、飛行制御システム1は飛行体30が位置する層に応じて該飛行体30を制御する。具体的には、判定部12は飛行体30がどの層に位置するかを判定する(ステップS13~S15)。制御領域が2種類以上の層構造を含む場合には、飛行体30の位置は2以上の層に対応し得る。指示生成部13は、判定部12により判定された少なくとも一つの層に対応する指示データを必要に応じて用意する(ステップS16)。通信部14は必要に応じてその指示データを送信する(ステップS17)。
図10に示す一連の処理は、飛行体30が目的に到着するまで繰り返し実行され得る。例えば、その処理は、飛行体30が情報点の付近に近づく度に実行されたり、定期的に実行されたりしてもよい。例えば、その繰り返し処理を実行する際に、空間特定部11が領域データを参照して、ステップS13で選択された情報点に対応する次情報点IDを特定し、その次情報点IDで示される情報点を選択する。そして、その選択された情報点についてステップS14以降の処理が実行されてもよい。このように、飛行制御システム1は、処理した情報点に対応する次情報点IDを特定することで、情報点を次々に辿りながら飛行体30を制御してもよい。
図11を参照しながら、ステップS13以降の処理の一例を説明する。この例では、二つのウェイポイント151,152間の制御領域に対応する領域データが6個の情報点171を示し、それぞれの情報点から、大きさが同じ8個のベクトル181が45度間隔で延びているとする。この場合、その8個のベクトルで定義される制御領域161の仮想断面は円である。この例では飛行体30の例として飛行体304,305を示す。
飛行体304について処理する場合には、判定部12はステップS13において情報点171aを選択し、ステップS14において、情報点171aから延びるベクトル181aを選択する。ステップS15において、判定部12は、情報点171と飛行体304の投影位置とを結ぶ位置ベクトル191の大きさがベクトル181aの大きさよりも小さいので、飛行体304が制御領域161の中に位置すると判定する。
飛行体305について処理する場合には、判定部12はステップS13において情報点171bを選択し、ステップS14において、情報点171bから延びるベクトル181bを選択する。ステップS15において、判定部12は、情報点171と飛行体305の投影位置とを結ぶ位置ベクトル192の大きさがベクトル181bの大きさよりも大きいので、飛行体305が制御領域161の外に位置すると判定する。
このように、サーバ10は、飛行体30にいちばん近い情報点を選択し、その情報点に対応し且つ該飛行体30にいちばん近いベクトルを選択し、飛行体30の位置と選択したベクトルの大きさとに基づいて飛行体30の飛行状況を判定する。この一連の処理はプロセッサ101が領域データを参照することで実現される。一例では、プロセッサ101は、飛行体30の位置に対応する領域データを選択すると、その領域データで示される情報点情報(例えば、各情報点の座標)を参照することで、飛行体30にいちばん近い情報点を選択する。続いて、プロセッサ101は選択された情報点に対応するベクトル情報(例えば、1以上のベクトルのそれぞれの角度)を参照することで、飛行体30にいちばん近いベクトルを選択する。続いて、プロセッサは、ベクトル情報(例えば、選択されたベクトルの大きさ)を参照し、そのベクトルの大きさと飛行体30の位置とに基づいて飛行状況を判定する。この結果、プロセッサ101は、飛行体30が制御領域161の中に位置するのか外に位置するのかを判定することができる。
[プログラム]
コンピュータをサーバ10として機能させるためのプログラムは、該コンピュータを空間特定部11、判定部12、指示生成部13、および通信部14として機能させるためのプログラムコードを含む。このプログラムは、CD-ROM、DVD-ROM、半導体メモリなどの有形の記録媒体に固定的に記録された上で提供されてもよい。あるいは、プログラムは、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。提供されたプログラムはストレージ103に記憶され、プロセッサ101がメモリ102と協働してそのプログラムを実行することで上記の各機能モジュールが実現する。
[効果]
以上説明したように、本開示の一側面に係るコンピュータシステムは、少なくとも一つのプロセッサを備え、少なくとも一つのプロセッサが、ウェイポイント間に設定された少なくとも一つの情報点のそれぞれからのベクトルを用いてウェイポイント間の制御領域を表現する領域データに基づいて飛行体を制御する。
本開示の一側面に係る飛行体の制御方法は、少なくとも一つのプロセッサを備えるコンピュータシステムにより実行される、飛行体の制御方法であって、ウェイポイント間に設定された少なくとも一つの情報点のそれぞれからのベクトルを用いてウェイポイント間の制御領域を表現する領域データに基づいて飛行体を制御するステップを含む。
本開示の一側面に係るプログラムは、ウェイポイント間に設定された少なくとも一つの情報点のそれぞれからのベクトルを用いてウェイポイント間の制御領域を表現する領域データに基づいて飛行体を制御するステップをコンピュータに実行させる。
本開示の一側面に係るデータ構造は、ウェイポイント間に設定された少なくとも一つの情報点のそれぞれを示す情報点情報と、少なくとも一つの情報点のそれぞれについて設定された、該情報点からの少なくとも一つのベクトルを示すベクトル情報であって、該少なくとも一つのベクトルによりウェイポイント間の制御領域が表現される、該ベクトル情報とを含み、プロセッサに、情報点情報を参照させることで、飛行体の位置に応じた情報点を選択させ、選択された情報点に対応して設定されたベクトル情報を参照させることで、飛行体の位置に応じたベクトルを選択させ、選択されたベクトルに基づいて飛行体を制御させる。
このような側面においては、情報点からのベクトルを用いて制御領域が表現されるので、様々な形状の制御領域を簡単に特定することができる。したがって、飛行体の制御を迅速に実行することが可能になる。ポリゴンを用いることなどにより制御領域を外縁(境界)の位置で定義すると、制御領域の形状が複雑である場合に制御領域の計算に時間が掛かり、その結果、飛行体の制御にも時間を要する可能性がある。情報点からのベクトルで制御領域を規定することで、制御領域の形状が複雑な場合であっても飛行体と制御領域との位置関係を簡単に特定できるので、飛行体を迅速に制御することが可能になる。
他の側面に係るコンピュータシステムでは、少なくとも一つのプロセッサが、飛行体の位置とベクトルとに基づいて飛行体を制御してもよい。飛行体の位置とベクトルを用いることで、飛行体を迅速に制御することができる。
他の側面に係るコンピュータシステムでは、前記情報点は複数存在し、少なくとも一つのプロセッサが、複数の情報点から、飛行体の位置に応じた情報点を選択し、選択された情報点のベクトルに基づいて飛行体を制御してもよい。飛行体の位置に応じた情報点のベクトルを用いることで、飛行体を正確に制御することができる。
他の側面に係るコンピュータシステムでは、選択された一つの情報点に複数のベクトルが対応し、少なくとも一つのプロセッサが、選択された一つの情報点に対応する複数のベクトルから、飛行体の位置に応じたベクトルを選択し、選択されたベクトルに基づいて飛行体を制御してもよい。飛行体の位置に応じたベクトルを用いることで、飛行体を正確に制御することができる。
他の側面に係るコンピュータシステムでは、少なくとも一つのプロセッサが、飛行体の位置と選択されたベクトルの大きさとに基づいて飛行体を制御してもよい。この場合には、飛行体と制御領域との位置関係に基づいて飛行体を正確に制御することができる。
他の側面に係るコンピュータシステムでは、制御領域の少なくとも一部が複数の層を含み、選択された一つの情報点に対応する複数のベクトルを用いて複数の層が表現され、少なくとも一つのプロセッサが、複数の層のうち、飛行体の位置に対応する少なくとも一つの層に基づいて飛行体を制御してもよい。この場合には、制御領域内での飛行体の位置に応じて、該飛行体の飛行をより精密に制御することができる。
[変形例]
以上、本開示をその実施形態に基づいて詳細に説明した。しかし、本開示は上記実施形態に限定されるものではない。本開示は、その要旨を逸脱しない範囲で様々な変形が可能である。
制御領域を定義するベクトルは動的に変化してもよい。飛行体の位置は気象の影響(例えば風)を受けて予定の飛行経路から大きくずれる可能性がある。したがって、気象状況に応じて制御領域を設定するためにベクトルが動的に変化してもよい。例えば、飛行制御システムは、飛行経路に対応する地域の気象を示す気象データを、気象情報システムなどの任意のコンピュータシステムから取得し、その気象データに基づいて領域データ中のベクトル情報を動的に更新してもよい。例えば、風が東から西へ吹いている場合には、飛行体が西へ流される可能性があるので、飛行制御システムは、制御領域の西側を大きくしたり、制御領域を全体的に西側にずらしたりするようにベクトル情報を更新する。あるいは、飛行制御システムとは別のコンピュータシステムがベクトル情報を動的に更新してもよい。
飛行体を制御するためのシステム構成は限定されない。例えば、サーバ10がデータベース20を備えてもよい。あるいは、飛行体30がサーバ10の機能を備えてもよく、この場合には、飛行体30は通信ネットワークを介してデータベース20にアクセスすることで領域データを読み出す。あるいは、飛行体30がサーバ10およびデータベース20の双方の機能を備えてもよく、この場合には、飛行体30はあたかもスタンドアロンマシンのように、他の情報処理装置に頼ることなく飛行することができる。
少なくとも一つのプロセッサにより実行される飛行体の制御の手順は上記実施形態での例に限定されない。例えば、上述したステップ(処理)の一部が省略されてもよいし、別の順序で各ステップが実行されてもよい。また、上述したステップのうちの任意の2以上のステップが組み合わされてもよいし、ステップの一部が修正または削除されてもよい。あるいは、上記の各ステップに加えて他のステップが実行されてもよい。
以上の実施形態の全部または一部に記載された態様は、飛行体の適切な制御、処理速度の向上、処理精度の向上、使い勝手の向上、データを利用した機能の向上または適切な機能の提供その他の機能向上または適切な機能の提供、データおよび/またはプログラムの容量の削減、装置および/またはシステムの小型化等の適切なデータ、プログラム、記録媒体、装置および/またはシステムの提供、並びにデータ、プログラム、装置またはシステムの制作・製造コストの削減、制作・製造の容易化、制作・製造時間の短縮等のデータ、プログラム、記録媒体、装置および/またはシステムの制作・製造の適切化のいずれか一つの課題を解決する。
1…飛行制御システム、10…サーバ、11…空間特定部、12…判定部、13…指示生成部、14…通信部、20…データベース、21…領域データ、30,301~305…飛行体、51~55,57,58,151,152…ウェイポイント、61~65,161…制御領域、71~75,171,171a,171b…情報点、81~83,83a,83b,181,181a,181b…ベクトル。

Claims (4)

  1. 少なくとも一つのプロセッサを備え、
    前記少なくとも一つのプロセッサは、ウェイポイント間に設定された少なくとも一つの情報点のそれぞれからのベクトルを用いて前記ウェイポイント間の制御領域を表現する領域データに基づいて飛行体を制御し、
    前記少なくとも一つのプロセッサは、前記飛行体の位置と前記ベクトルとに基づいて前記飛行体を制御し、
    前記情報点は複数存在し、
    前記少なくとも一つのプロセッサは、
    前記複数の情報点から、前記飛行体の位置に応じた情報点を選択し、
    前記選択された情報点の前記ベクトルに基づいて前記飛行体を制御し、
    前記選択された一つの情報点に複数の前記ベクトルが対応し、
    前記少なくとも一つのプロセッサは、
    前記選択された一つの情報点に対応する前記複数のベクトルから、前記飛行体の位置に応じたベクトルを選択し、
    前記選択されたベクトルに基づいて前記飛行体を制御し、
    前記制御領域の少なくとも一部が複数の層を含み、
    前記選択された一つの情報点に対応する前記複数のベクトルを用いて前記複数の層が表現され、
    前記少なくとも一つのプロセッサは、前記複数の層のうち、前記飛行体の位置に対応する少なくとも一つの層に基づいて前記飛行体を制御する、
    コンピュータシステム。
  2. 前記少なくとも一つのプロセッサが、前記飛行体の位置と前記選択されたベクトルの大きさとに基づいて前記飛行体を制御する、
    請求項1に記載のコンピュータシステム。
  3. 少なくとも一つのプロセッサを備えるコンピュータシステムにより実行される、飛行体の制御方法であって、
    ウェイポイント間に設定された少なくとも一つの情報点のそれぞれからのベクトルを用いて前記ウェイポイント間の制御領域を表現する領域データに基づいて前記飛行体が制御され、
    前記飛行体の位置と前記ベクトルとに基づいて前記飛行体が制御され、
    前記情報点は複数存在し、
    前記複数の情報点から、前記飛行体の位置に応じた情報点が選択され、
    前記選択された情報点の前記ベクトルに基づいて前記飛行体が制御され、
    前記選択された一つの情報点に複数の前記ベクトルが対応し、
    前記選択された一つの情報点に対応する前記複数のベクトルから、前記飛行体の位置に応じたベクトルが選択され、
    前記選択されたベクトルに基づいて前記飛行体が制御され、
    前記制御領域の少なくとも一部が複数の層を含み、
    前記選択された一つの情報点に対応する前記複数のベクトルを用いて前記複数の層が表現され、
    前記複数の層のうち、前記飛行体の位置に対応する少なくとも一つの層に基づいて前記飛行体が制御される、
    飛行体の制御方法。
  4. コンピュータに飛行体を制御する機能を実現させ、
    前記飛行体を制御する機能では、
    ウェイポイント間に設定された少なくとも一つの情報点のそれぞれからのベクトルを用いて前記ウェイポイント間の制御領域を表現する領域データに基づいて前記飛行体が制御され、
    前記飛行体の位置と前記ベクトルとに基づいて前記飛行体が制御され、
    前記情報点は複数存在し、
    前記複数の情報点から、前記飛行体の位置に応じた情報点が選択され、
    前記選択された情報点の前記ベクトルに基づいて前記飛行体が制御され、
    前記選択された一つの情報点に複数の前記ベクトルが対応し、
    前記選択された一つの情報点に対応する前記複数のベクトルから、前記飛行体の位置
    に応じたベクトルが選択され、
    前記選択されたベクトルに基づいて前記飛行体が制御され、
    前記制御領域の少なくとも一部が複数の層を含み、
    前記選択された一つの情報点に対応する前記複数のベクトルを用いて前記複数の層が表現され、
    前記複数の層のうち、前記飛行体の位置に対応する少なくとも一つの層に基づいて前記飛行体が制御される、
    プログラム。
JP2018218811A 2018-11-22 2018-11-22 コンピュータシステム、制御方法、およびプログラム Active JP7294797B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018218811A JP7294797B2 (ja) 2018-11-22 2018-11-22 コンピュータシステム、制御方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018218811A JP7294797B2 (ja) 2018-11-22 2018-11-22 コンピュータシステム、制御方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2020086802A JP2020086802A (ja) 2020-06-04
JP7294797B2 true JP7294797B2 (ja) 2023-06-20

Family

ID=70908188

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018218811A Active JP7294797B2 (ja) 2018-11-22 2018-11-22 コンピュータシステム、制御方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP7294797B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023209850A1 (ja) * 2022-04-27 2023-11-02 三菱電機株式会社 移動体制御装置、移動体制御方法、及び移動体制御プログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018146946A (ja) 2016-10-12 2018-09-20 株式会社ゼンリン 制御システム及び地図データのデータ構造

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018146946A (ja) 2016-10-12 2018-09-20 株式会社ゼンリン 制御システム及び地図データのデータ構造

Also Published As

Publication number Publication date
JP2020086802A (ja) 2020-06-04

Similar Documents

Publication Publication Date Title
WO2017211029A1 (zh) 无人机飞行路径规划方法和装置
KR101874091B1 (ko) 기상 정보를 이용한 무인 비행체의 경로 안내 시스템, 그 방법 및 컴퓨터 프로그램이 기록된 기록매체
CN107228677B (zh) 偏航识别方法和装置
CN103017753B (zh) 一种无人机航路规划方法及装置
US20180032077A1 (en) Method for guiding and controlling drone using information for controlling camera of drone
CN109582035A (zh) 一种飞行器航迹导航方法、装置及电子设备
CN108469837A (zh) 无人机环绕角度飞行控制方法、设备及存储介质
JPWO2018198281A1 (ja) 情報処理装置、空撮経路生成方法、空撮経路生成システム、プログラム、及び記録媒体
CN110244765A (zh) 一种飞行器航线轨迹生成方法、装置、无人机及存储介质
US20200334996A1 (en) System and Method for Handling Terrain in Detect and Avoid
KR101921122B1 (ko) 기상 정보를 이용한 무인 비행체의 경로 안내 시스템, 그 방법 및 컴퓨터 프로그램이 기록된 기록매체
CN111033419A (zh) 飞行器的航线规划方法、控制台、飞行器系统及存储介质
JP7294797B2 (ja) コンピュータシステム、制御方法、およびプログラム
JP6997591B2 (ja) コンピュータシステムおよびプログラム
JP2022529381A (ja) 高空域長期滞空航空機の飛行計画最適化方法
CN109784585B (zh) 一种无人机无人艇的混合布放调度方法
Liang et al. Design and development of ground control system for tethered uav
WO2022067759A1 (zh) 飞行控制方法、飞行器、控制终端及可读存储介质
CN112634662A (zh) 电子围栏、控制系统、方法、介质、无人机编队及终端
JP7353951B2 (ja) コンピュータシステムおよびプログラム
CN116400736A (zh) 一种无人机电力杆塔精细化巡检航线制定方法
CN112189176A (zh) 多机作业航线规划方法、控制终端及计算机可读存储介质
JP2020112458A (ja) コンピュータシステムおよびデータ構造
JP2021043945A (ja) コンピュータシステムおよびプログラム
CN115309149A (zh) 移动设备目标点确定方法、装置、设备和存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210826

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220712

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220819

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20220913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230420

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230608

R150 Certificate of patent or registration of utility model

Ref document number: 7294797

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150