(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-19
(45)【発行日】2023-09-27
(54)【発明の名称】コンピュータシステム
(51)【国際特許分類】
G01C 21/20 20060101AFI20230920BHJP
G08G 5/00 20060101ALI20230920BHJP
G08G 5/04 20060101ALI20230920BHJP
G09B 29/00 20060101ALI20230920BHJP
G09B 29/10 20060101ALI20230920BHJP
G05D 1/10 20060101ALI20230920BHJP
B64C 13/18 20060101ALI20230920BHJP
【FI】
G01C21/20
G08G5/00 A
G08G5/04 A
G09B29/00 A
G09B29/10 A
G05D1/10
B64C13/18 D
(21)【出願番号】P 2018228607
(22)【出願日】2018-12-06
【審査請求日】2021-08-30
(73)【特許権者】
【識別番号】597151563
【氏名又は名称】株式会社ゼンリン
(74)【代理人】
【識別番号】100095407
【氏名又は名称】木村 満
(74)【代理人】
【識別番号】100181618
【氏名又は名称】宮脇 良平
(74)【代理人】
【識別番号】100162259
【氏名又は名称】末富 孝典
(74)【代理人】
【識別番号】100146916
【氏名又は名称】廣石 雅紀
(74)【代理人】
【識別番号】100147924
【氏名又は名称】美恵 英樹
(72)【発明者】
【氏名】大原 浩幸
(72)【発明者】
【氏名】秋元 大地
(72)【発明者】
【氏名】深田 雅之
【審査官】白石 剛史
(56)【参考文献】
【文献】特開2018-165930(JP,A)
【文献】特開2018-146946(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01C 21/20
G08G 5/00
G08G 5/04
G09B 29/00
G09B 29/10
G05D 1/10
B64C 13/18
(57)【特許請求の範囲】
【請求項1】
少なくとも一つのプロセッサを備え、
前記少なくとも一つのプロセッサが、動的に変化する状況が関連付けられたブロックである第1ブロックを用いて
前記動的に変化する状況の領域の現実空間を表現する動的情報と、前記第1ブロック
と移動体の移動経路とが関連付けられ、
前記動的に変化する状況の領域か否かにかかわらず前記現実空間を仮想的に分割するブロックである第2ブロックを用いて前記現実空間を表現するブロックデータとに基づいて、
前記移動体の移動経路上の第2ブロックに関連付けられている第1ブロックを特定し、特定した第1ブロックに関連付けられている動的情報が示す前記現実空間における
前記動的に変化する状況に基づいて移動体を制御する、
コンピュータシステム。
【請求項2】
前記動的情報が、動的に変化する第1状況が関連付けられた第1の第1ブロックを用いて前記現実空間を表現する第1動的情報と、動的に変化する第2状況が関連付けられた第2の第1ブロックを用いて前記現実空間を表現する第2動的情報とを含み、
前記第2ブロックが、前記第1の第1ブロックおよび前記第2の第1ブロックの双方と関連付けられる、
請求項1に記載のコンピュータシステム。
【請求項3】
前記少なくとも一つのプロセッサが、
前記ブロックデータで示される前記第1ブロックを特定し、
前記特定された第1ブロックに対応する前記動的情報で示される前記状況に基づいて、前記移動体を制御する、
請求項1または2に記載のコンピュータシステム。
【請求項4】
前記少なくとも一つのプロセッサが、前記現実空間での前記移動体の移動経路を表現する地図要素と前記第2ブロックとが関連付けられた地図データにさらに基づいて、前記移動体を制御する、
請求項1~3のいずれか一項に記載のコンピュータシステム。
【請求項5】
前記少なくとも一つのプロセッサが、
前記地図データで示される前記第2ブロックを特定し、
前記特定された第2ブロックに対応する前記ブロックデータで示される前記第1ブロックを特定し、
前記特定された第1ブロックに対応する前記動的情報で示される前記状況に基づいて、前記移動体を制御する、
請求項4に記載のコンピュータシステム。
【請求項6】
前記ブロックは、仮想の境界を用いて表される空間であり、各前記第1ブロックには、そのブロック内で動的に変化する状況を示す前記動的情報が関連付けられており、
各前記第2ブロックには、前記第2ブロックと共通する位置を含む前記第1ブロックが関連付けられており、
前記少なくとも一つのプロセッサは、前記地図データに基づいて、前記移動体の移動経路上の第2ブロックを特定し、特定した第2ブロックに関連付けられている第1ブロックを特定し、特定した第1ブロックに関連付けられている動的情報に基づいて、前記移動体を制御する、
請求項5に記載のコンピュータシステム。
【請求項7】
前記移動体が飛行体である、
請求項1~6のいずれか一項に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の一側面はコンピュータシステムに関する。
【背景技術】
【0002】
従来から、移動体を制御するための技術が知られている(例えば、特許文献1,2参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2004-257794号公報
【文献】特開2018-81675号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示の一側面は、移動体を適切に制御することを目的とする。
【課題を解決するための手段】
【0005】
本開示の一側面に係るコンピュータシステムは、少なくとも一つのプロセッサを備え、少なくとも一つのプロセッサが、動的に変化する状況が関連付けられたブロックである第1ブロックを用いて動的に変化する状況の領域の現実空間を表現する動的情報と、第1ブロックと移動体の移動経路とが関連付けられ、動的に変化する状況の領域か否かにかかわらず現実空間を仮想的に分割するブロックである第2ブロックを用いて現実空間を表現するブロックデータとに基づいて、移動体の移動経路上の第2ブロックに関連付けられている第1ブロックを特定し、特定した第1ブロックに関連付けられている動的情報が示す現実空間における動的に変化する状況に基づいて移動体を制御する。
【図面の簡単な説明】
【0006】
【
図1】実施形態に係る移動制御システムによる移動体の制御の一例を示す図である。
【
図2】移動経路と動的情報との関連付けの一例を示す図である。
【
図3】
図2に対応する共通ブロックの配置の一例を示す図である。
【
図4】飛行領域と共通ブロックとの関連の一例を示す。
【
図5】一つの共通ブロックに対応する動的情報ブロックの例を示す図である。
【
図6】実施形態に係る移動制御システムの機能構成の一例を示す図である。
【
図7】実施形態に係るサーバのハードウェア構成の一例を示す図である。
【
図11】実施形態に係る移動制御システムの動作の一例を示すフローチャートである。
【
図12】
図11に示す対象領域の状況の取得の一例を示すフローチャートである。
【
図13】気象状況に応じた移動経路の設定の例を示す図である。
【発明を実施するための形態】
【0007】
以下、添付図面を参照しながら本開示の実施形態を詳細に説明する。なお、図面の説明において同一または同等の要素には同一の符号を付し、重複する説明を省略する。
【0008】
[システムの概要]
実施形態に係る移動制御システム1は、移動体を制御するためのコンピュータシステムである。移動体とは、現実空間(実世界の空間)内を移動することが可能な人工物のことをいう。移動体の種類は限定されず、例えば有人移動体でもよいし無人移動体でもよい。移動体が移動可能な場所は限定されず、例えば、移動体は地上、水上、空中、地中、水中、および屋内のうちの少なくとも一つを移動可能でもよい。移動体の具体例として飛行体(例えば航空機、ドローンなど)、水上航走体、水中航走体、および陸上走行体(例えば自動車、電車、バイクなど)が挙げられるが、移動体の種類はこれらに限定されず、移動制御システム1は任意の種類の移動体を管理してよい。移動体の種類が限定されないことに対応して、移動体の経路は陸路でも水路でも空路でもよい。
【0009】
移動制御システム1は、現実空間で動的に変化する状況を考慮して移動体を制御することで、移動体の運行を適切に管理することができる。「移動体の制御」は、移動体の移動の制御と、移動体に搭載された機器(例えばカメラ)の制御との少なくとも一方を含んでもよい。「動的に変化する状況」とは、時間の経過に伴って変化する状況のことをいう。状況の変化に要する時間の長さは限定されず、例えば1秒、10秒、30秒、1分、10分、30分、1時間、2時間、3時間、12時間、1日、1週間、1ヶ月などの任意の値であってよい。状況の種類は何ら限定されず、例えば自然現象でもよいし、人工物により引き起こされる状況でもよいし、人により定められた規則に基づく状況でもよい。例えば、動的に変換する状況は、気象(天気)、移動体の動き、移動体の台数、渋滞の度合い、電波強度、通行規制、障害物の位置、運搬物の個数、人または移動体の密集度、または他の自然物(例えば鳥獣)の動きでもよい。
【0010】
図1は移動制御システム1による移動体の制御の一例を示す図である。この例では移動体30は飛行体である。飛行体とは、空中を移動することが可能な人工物のことをいう。飛行体の種類は限定されず、例えば有人航空機でもよいし無人航空機(ドローン)でもよい。この例では、移動体30は、複数のノード201~206と、隣接するノード間をつなぐ複数のリンクとで構成される移動経路(飛行経路)200を移動しようとしている。ノードとは、移動体を制御するために設定される位置のことをいい、より具体的には、移動体の移動方法(例えば方向、速度など)を変えることができる位置のことをいう。リンクとは、移動体が移動可能な経路を示すために設定される仮想的な線のことをいい、隣接するノード間を結ぶ。移動経路200上には動的に変化する状況が起こり得る。例えば、その状況は、一時的に設定される進入禁止区域211かもしれないし、他の移動体31の通行かもしれないし、気象状況212かもしれない。移動制御システム1はこれらのような動的に変化する状況を取得し、その状況に基づいて移動体30の移動を制御する。
【0011】
移動体の移動経路は地図データを用いて表すことができる。地図データは、移動体が移動可能な現実空間または移動不可能な現実空間(例えば障害物)を表現するデータである。地図データはノード、リンクなどの地図要素を用いて表現され得る。陸上走行体の地図データは道路の位置、幅、車線数などの地図要素も用いて表現され得る。一方、動的に変化する状況は、その状況が発生しているかまたは発生し得る領域と予め関連付けられ、この関連付けは動的情報として得ることができる。この動的情報を参照することで、移動制御システム1は、どこでどのような状況が発生しているかまたは発生し得るかを判定できる。
【0012】
地図データおよび動的情報の双方は現実空間内の位置を含むので、双方の位置を照合することで移動経路と動的情報とを関連付けることができる。
図2は移動経路と動的情報との関連付けの一例を示す図であり、具体的には、
図1に示す移動経路200および三つの状況の関連付けを示す。この例では、動的情報は個々の3次元ブロック(動的情報ブロック)について設定され、移動経路200に対応して3個の動的情報ブロック221~223が存在すると仮定する。動的情報ブロック221には進入禁止区域211に関する動的情報が設定され、動的情報ブロック222には他の移動体31に関する動的情報が設定され、動的情報ブロック223には気象状況212に関する動的情報が設定されている。移動制御システム1は移動経路200の地図データと動的情報とを照合することで、ノード202の付近が一時的な進入禁止区域211であることと、ノード204の付近に他の移動体31が存在することと、ノード205の付近の気象状況212とを判定できる。そして、移動制御システム1はその判定に基づいて移動体30を制御することができる。
【0013】
上述したように、動的に変化する状況の種類は何ら限定されない。このことに応じて、動的情報を管理するコンピュータシステムは一つに限らず、複数のコンピュータシステムが、互いに異なる動的情報を管理する可能性がある。複数種類の動的情報が用いられる場合には、個々の動的情報で示されるブロック(動的情報ブロック)の定義方法は、状況の種類、コンピュータシステムの違いなどの様々な事情に起因して、互いに異なり得る。ここで、ブロックとは、仮想の境界を用いて表される閉空間のことをいい、メッシュまたはセルともいうことができる。動的情報ブロックの形状、大きさ、または配置は動的情報の種類毎に異なり得る。
図2の例は動的情報ブロックのそのような違いも示す。動的情報ブロックの定義方法が互いに異なると、コンピュータシステムは個々の動的情報ブロックに応じた方法で、移動経路と動的情報とを照合する必要がある。動的情報ブロックの種類に応じて照合方法が変わるので、その照合のアルゴリズムが複雑になったり、動的情報ブロックの定義の変更または動的情報の追加に応じてアルゴリズムを変更する必要が生じたりする。
【0014】
移動制御システム1は、このような動的情報ブロックの違いを吸収するために、共通ブロックという概念を採用する。共通ブロックは地図データと動的情報ブロックとを結び付けるブロックであり、地図データおよび動的情報ブロックのいずれとも独立して設定される。共通ブロックの概念を採用することで、地図データで示される現実空間は、複数の共通ブロックの集合で表される。言い換えると、その現実空間は複数の共通ブロックにより仮想的に分割される。個々の共通ブロックは、地図データを構成する1以上の地図要素(例えばノード、リンク、道路など)と関連けられると共に、1以上のまたは1種類以上の動的情報ブロックとも関連付けられる。移動制御システム1は、一つの共通ブロックを参照することで、その共通ブロックに関連付けられたすべての動的情報ブロックにアクセスすることができる。これは、移動制御システム1が、移動経路の或る部分に対応する一つの共通ブロックを参照することで、該部分に対応する動的情報をすべて取得できることを意味する。すなわち、移動制御システム1は共通ブロックを参照することで様々な動的情報を効率良く取得することができる。
【0015】
図3は、
図2に対応する共通ブロックの配置の一例を示す図である。この例では、5×3×3個の共通ブロック230を示し、この共通ブロック230の集合は動的情報ブロック221~223を包含する。
【0016】
移動体の移動経路は、仮想的な線だけではなく、移動方向と直交する方向に設定された幅も用いて考慮されてもよい。例えば、飛行体は風などの影響により移動経路に完全に沿って飛行することが難しい場合があるので、仮想の3次元形状の飛行領域が定義されてもよい。この飛行領域が採用される場合には、該飛行領域と少なくとも一部が重なる共通ブロックが、リンクと関連する共通ブロックとして設定される。
図4は飛行領域と共通ブロックとの関連の一例を示す。この例では、リンク241を中心とする筒状の飛行領域240と、2×2の配列になるように並んだ4個の共通ブロック231~234とを示す。リンク241は共通ブロック232,233のみと重なるが、飛行領域240はその2個の共通ブロックだけではなく、さらに共通ブロック231とも重なる。したがって、リンク241は3個の共通ブロック231~233と関連付けられる。
【0017】
一つの共通ブロックは複数種類の動的情報と関連付けられてもよい。例えば、共通ブロックは、動的に変化する第1状況が関連付けられた第1動的情報ブロックを用いて現実空間を表現する第1動的情報と、動的に変化する第2状況が関連付けられた第2動的情報ブロックを用いて該現実空間を表現する第2動的情報との双方と関連付けられてもよい。動的情報ブロックの大きさは任意に設定され得るので、共通ブロックと動的情報ブロックとの対応関係は動的情報の種類に応じて様々に変わり得る。
【0018】
図5は、一つの共通ブロック250に対応する動的情報ブロックの様々な例を示す図である。
図5の例(a)では、共通ブロック250は6個の動的情報ブロック261~266のうち4個の動的情報ブロック261~264と関連付けられる。
図5の例(b)では、共通ブロック250は4個の動的情報ブロック271~274のうち2個の動的情報ブロック271,273と関連付けられる。
図5の例(c)では、共通ブロック250は一つの動的情報ブロック281と関連付けられる。共通ブロック250は、動的情報ブロック261~264、動的情報ブロック271,273、および動的情報ブロック281のうちの少なくとも1種類の動的情報ブロックと関連付けられる。或る一種類の動的情報ブロックについて、一つの共通ブロックは複数の動的情報ブロックに跨って存在する場合もあれば、一つの動的情報ブロック内に収まる場合もある。同様に、一つの動的情報ブロックは、複数の共通ブロックに跨って存在する場合もあれば、一つの共通ブロック内に収まる場合もある。
【0019】
図2~
図5はいずれも動的情報ブロックおよび共通ブロックの双方が直方体を呈するが、これら2種類のブロックの形状はいずれも何ら限定されるものではなく、任意に設定されてよい。例えば、動的情報ブロックまたは共通ブロックは、球状、柱状、またはより複雑な3次元形状でもよい。あるいは、動的情報ブロックまたは共通ブロックは矩形、円、またはより複雑な2次元形状でもよい。動的情報ブロックおよび共通ブロックの双方が3次元形状でもよいし、双方が2次元形状でもよい。あるいは、動的情報ブロックおよび共通ブロックの一方が3次元形状で他方が2次元形状でもよい。共通ブロックの形状および寸法の少なくとも一方は、統一されてもよいし、統一されなくてもよい。或る一種類の動的情報に対応する動的情報ブロックについても、形状および寸法の少なくとも一方は、統一されてもよいし、統一されなくてもよい。すなわち、共通ブロックおよび動的情報ブロックの双方について、該ブロックの形状および大きさの少なくとも一方が途中で変化してもよい。
【0020】
[システムの構成]
図6は、移動制御システム1の機能構成の一例を示す図である。一例では、移動制御システム1はサーバ10および地図データベース20を備える。サーバ10は移動体を制御するためのコンピュータであり、この例では、移動体30に指示データを送信することで該移動体30の移動を制御する。移動体30は、サーバ10からの指示データに基づいて移動することが可能である。
図6でも移動体30として飛行体を例示する。地図データベース20は、地図データ21および共通ブロックデータ22を記憶する装置である。一例では、サーバ10は外部サーバ40を介して外部データベース50から動的情報51を取得することができる。外部サーバ40および外部データベース50の個数は限定されず、少なくとも一方の装置の個数が2以上でもよい。地図データ21、共通ブロックデータ22、および動的情報51のいずれも、コンピュータが読み取ることが可能な電子データであり、移動体30を移動させるために必要なデジタル情報を含む制御データである。
【0021】
サーバ10は有線または無線の通信ネットワークを介して地図データベース20、移動体30、および外部サーバ40とデータを送受信することができる。例えば、サーバ10は通信ネットワークを介して、地図データベース20から地図データ21または共通ブロックデータ22を読み出したり、外部サーバ40から動的情報51を読み出したり、移動体30に指示データを送信したりすることができる。通信ネットワークの具体的な構成は限定されず、例えば、通信ネットワークはインターネットおよびイントラネットの少なくとも一方を含んで構成されてもよい。
【0022】
移動制御システム1の構成は
図6の例に限定されない。地図データベース20は移動制御システム1とは別のコンピュータシステムにより管理されてもよいし、サーバ10が地図データベース20を備えてもよい。サーバ10は外部サーバ40を介することなく外部データベース50に直接アクセスして動的情報を取得してもよい。移動制御システム1は、少なくとも一部の外部サーバ40または少なくとも一部の外部データベース50に相当する構成を備えてもよい。
【0023】
サーバ10は機能モジュールとして経路取得部11、動的情報取得部12、指示生成部13、および通信部14を備える。経路取得部11は、移動体30が移動しようとする経路に関する情報を取得する機能モジュールである。動的情報取得部12はその経路の状況(動的に変化する状況)を取得する機能モジュールである。指示生成部13はその状況に基づいて指示データを生成する機能モジュールである。通信部14は、その指示データを出力する機能モジュールである。移動体30はその指示データに従って移動することができる。
【0024】
図7は、サーバ10のハードウェア構成の一例を示す。例えば、サーバ10は制御回路100を有する。一例では、制御回路100は、一つまたは複数のプロセッサ101と、メモリ102と、ストレージ103と、通信ポート104と、入出力ポート105とを有する。プロセッサ101はオペレーティングシステムおよびアプリケーションプログラムを実行する。ストレージ103はハードディスク、不揮発性の半導体メモリ、または取り出し可能な媒体(例えば、磁気ディスク、光ディスクなど)の記憶媒体で構成され、オペレーティングシステムおよびアプリケーションプログラムを記憶する。メモリ102は、ストレージ103からロードされたプログラム、またはプロセッサ101による演算結果を一時的に記憶する。一例では、プロセッサ101は、メモリ102と協働してプログラムを実行することで、上記の各機能モジュールとして機能する。通信ポート104は、プロセッサ101からの指令に従って、通信ネットワークNWを介して他の装置との間でデータ通信を行う。入出力ポート105は、プロセッサ101からの指令に従って、キーボード、マウス、モニタなどの入出力装置(ユーザインタフェース)との間で電気信号の入出力を実行する。
【0025】
サーバ10は一つまたは複数のコンピュータにより構成され得る。複数のコンピュータが用いられる場合には、通信ネットワークを介してこれらのコンピュータが互いに接続されることで論理的に一つのサーバ10が構成される。
【0026】
サーバ10として機能するコンピュータは限定されない。例えば、サーバ10は業務用サーバなどの大型のコンピュータで構成されてもよいし、パーソナルコンピュータや携帯端末(例えばスマートフォン、タブレット端末など)などの小型のコンピュータで構成されてもよい。
【0027】
[データ構造]
地図データ21は、移動体が移動可能な現実の空間を表現するデータである。移動体を移動させるために空間または位置を特定することができる限り、地図データ21のデータ構造は何ら限定されない。いずれにせよ、地図データは地図要素と共通ブロックとが関連付けられたデータである。
図8は地図データ21の一例を示す図であり、具体的には、移動体30を移動させるために用いられ得る地図データ21の一例を示す。この例では、地図データ21は個々のノードを示すノード情報と、個々のリンクを示すリンク情報とを含む。
【0028】
一例では、一つのノードを示すノード情報は、ノードを一意に特定する識別子であるノードIDと、ノードの座標と、ノードの位置に対応する共通ブロックを示す共通ブロックIDとを含む。共通ブロックIDは、共通ブロックを一意に特定する識別子である。
図8は、ノードID「N0」で特定されるノードの3次元座標が(nx0,ny0,nz0)であり、このノードの位置が、共通ブロックID「SP0」で特定される共通ブロックに対応することを示す。ノードの位置が共通ブロックに対応するとは、例えば、そのノードが共通ブロックに含まれることをいう。
【0029】
一例では、一つのリンクを示すリンク情報は、リンクを一意に特定する識別子であるリンクIDと、リンクの始点および終点のそれぞれのノードIDと、リンクの位置に対応する共通ブロックを示す共通ブロックIDとを含む。
図8は、リンクID「L0」で特定されるリンクが二つのノード「N0」,「N1」を結ぶものであり、このリンクの位置が、共通ブロックID「SP0」,「SP1」で特定される二つの共通ブロックに対応することを示す。リンクの位置が共通ブロックに対応するとは、例えば、そのリンクの少なくとも一部が共通ブロックに含まれることをいう。
図8は、リンク「L0」が二つの共通ブロック「SP0」,「SP1」に跨って延びることを示す。一つのリンクは一つの共通ブロックにのみ含まれることもあれば3以上の共通ブロックに跨って延びることもある。従って、一つのリンクIDに対応する共通ブロックIDの個数は1以上である。
【0030】
共通ブロックデータ22は共通ブロックを表現するデータである。共通ブロックを特定することができる限り、共通ブロックデータ22のデータ構造は何ら限定されない。
図9は共通ブロックデータ22の一例を示す図であり、具体的には、移動体30を移動させるために用いられ得る共通ブロックデータ22の一例を示す。
【0031】
一例では、一つの共通ブロックを示す共通ブロックデータは、共通ブロックIDと、共通ブロックの中心の位置を示す中心座標と、共通ブロックのサイズと、1種類以上の動的情報ブロックIDとを含む。
図9は、共通ブロックID「SP0」で特定される共通ブロックが、中心座標(Xsp0,Ysp0,Zsp0)およびサイズ(sp0,sp0,sp0)で規定される仮想の立体形状を有することを示す。さらに、
図9は、その共通ブロック「SP0」が、天気、電波強度、およびGPS強度(GPSの受信状況)という3種類の動的情報に対応することを示す。この例では、天気、電波強度、およびGPS強度に対応する動的情報ブロックをそれぞれ「天気ブロック」、「電波強度ブロック」、および「GPS強度ブロック」という。共通ブロックID「SP0」は二つの天気ブロックID「WM001」,「WM002」、三つの電波強度ブロックID「SM001」,「SM003,「SM004」、および二つのGPS強度ブロックID「GM001」,「GM002」と対応する。これは、現実空間において共通ブロック「SP0」がこれら二つの天気ブロック、三つの電波強度ブロック、および二つのGPS強度ブロックと重なることを意味する。
【0032】
動的情報51は、動的情報ブロック内の動的に変化する状況を示すデータである。各動的情報ブロックの状況を特定することができる限り、動的情報51のデータ構造は何ら限定されない。
図10は動的情報51の一例であり、具体的には、移動体30を移動させるために用いられ得る動的情報51である天気情報、電波強度情報、およびGPS補足情報の一例を示す。
【0033】
一例では、一つの動的情報ブロックを示す動的情報は、動的情報ブロックを一意に特定する識別子である動的情報ブロックIDと、動的情報ブロックの中心の位置を示す中心座標と、動的情報ブロックのサイズと、状況を示す情報とを含む。
図10は、それぞれの動的情報は個々の時間帯の状況を示すが、状況の表現方法はこれに限定されるものではなく、任意の形式で表現されてよい。例えば、状況は時間帯を用いることなく表現されてもよい。
図10の例(a)に示す天気情報は天気ブロック「WM001」内の天気、風速、および風向を示す。
図10の例(b)に示す電波強度情報は電波強度ブロック「SM003」内の電波強度を示す。
図10の例(c)に示すGPS強度情報はGPS強度ブロック「GM002」内のGPS強度を示す。
【0034】
図8~
図10に示すデータ構造は一例であり、地図データ21、共通ブロックデータ22、および動的情報51は任意の形式で表現されてよい。いずれにしても、地図データ21と動的情報51とは共通ブロックデータ22を介して関連付けられるので、現実空間内の任意の地点の動的情報を効率良く取得することが可能になる。
【0035】
[システムでの処理手順]
図11および
図12を参照しながら、移動制御システム1の動作を説明するとともに本実施形態に係る移動体の制御方法を説明する。
図11は、移動制御システム1の動作の一例を示すフローチャートである。
図12は、
図11に示す対象領域の状況の取得の一例を示すフローチャートである。
【0036】
ステップS11では、経路取得部11が地図データ21を参照して対象領域を取得する。対象領域とは、動的に変化する状況を取得する対象となる領域のことをいう。具体的には、対象領域は移動体30の移動経路の少なくとも一部である。対象領域の特定方法は地図データの構造に依存してもよく、例えば、経路取得部11は少なくとも一つのノード、少なくとも一つのリンク、または少なくとも一つのブロックを示す地図データ21を取得することで、該ノード、リンク、またはブロックで表される対象領域を特定してもよい。
【0037】
ステップS12では、動的情報取得部12が対象領域の状況を取得する。動的情報取得部12は地図データ21、共通ブロックデータ22、および動的情報51を参照して、動的に変化するその状況を取得する。
図12を参照しながらこのステップS12の詳細を説明する。
【0038】
ステップS121では、動的情報取得部12は、対象領域に対応する少なくとも一つの共通ブロックを特定する。具体的には、動的情報取得部12は対象領域の位置に対応する地図データ21を参照して、その地図データ21で示される少なくとも一つの共通ブロックIDを取得する。
【0039】
ステップS122では、動的情報取得部12は一つの共通ブロック(共通ブロックID)を選択する。ステップS123では、動的情報取得部12は、選択された共通ブロックに対応する一つの動的情報ブロックを特定する。具体的には、動的情報取得部12は選択された共通ブロックIDで特定される共通ブロックデータ22を参照して、その共通ブロックデータ22に含まれる1以上の動的情報ブロックIDを取得する。
【0040】
ステップS124では、動的情報取得部12は一つの動的情報ブロック(動的情報ブロックID)を選択する。ステップS125では、動的情報取得部12は、選択された動的情報ブロックの状況を取得する。具体的には、動的情報取得部12は選択された動的情報ブロックIDで特定される動的情報51を参照して、その動的情報51で示される状況を取得する。動的情報が時間帯を含む場合には、動的情報取得部12は、指定された時間帯の状況を取得する。
【0041】
ステップS126に示すように、一つの共通ブロックに複数の動的情報ブロックが対応する場合には、動的情報取得部12は残りの動的情報ブロック(処理すべき動的情報ブロックのうち未処理のもの)を処理する。未処理の動的情報ブロックが存在する場合には、動的情報取得部12はステップS127において次の動的情報ブロック(次の動的情報ブロックID)を選択し、該次の動的情報ブロックについてステップS125の処理を実行する。
【0042】
ステップS128に示すように、一つの対象領域に複数の共通ブロックが対応する場合には、動的情報取得部12はすべての共通ブロックを処理する。未処理の共通ブロックが存在する場合には、動的情報取得部12はステップS129において、地図データ21を参照することで次の共通ブロック(次の共通ブロックID)を選択し、該次の共通ブロックについてステップS123以降の処理を実行する。このように、動的情報取得部12は、地図データ21で示される共通ブロックIDを次々に特定しながら、対象領域に対応する共通ブロックのすべてを処理することで、該対象領域の状況をすべて取得することができる。
【0043】
図11に戻って、ステップS13では、指示生成部13が、取得された状況に基づいて、対象領域に対応する指示データを生成する。動的情報に基づく指示データの生成方法は何ら限定されず、指示生成部13は移動体30を制御するための指示データを任意のルールに基づいて生成してよい。また、指示データのデータ構造は何ら限定されない。例えば、指示データは移動体30の移動経路を示してもよい。
【0044】
ステップS14では、通信部14がその指示データを送信する。指示データの宛先は限定されない。例えば、通信部14は指示データを、移動体30に直接に送信してもよいし、移動体30以外の任意のコンピュータを経由して移動体30に送信してもよい。例えば、指示データは移動体30の移動を制御するために用いられ、例えば、移動経路を変更、決定、または算出するために用いられる。例えば、移動体30の制御回路が指示データを受信および処理することで移動経路を算出し、その経路に沿って移動するように移動体30の動力および舵を制御してもよい。あるいは、移動体30以外のコンピュータ(例えばリモートコントローラ)が指示データに基づいて移動経路を算出して該経路を示す経路データを移動体30に送信し、移動体30の制御回路がその経路データに基づいて自機の動力および舵を制御してもよい。いずれにしても、移動体30は、サーバ10から提供される指示データに基づいて移動することができる。
【0045】
移動制御システム1は、新たな対象領域を受け付ける度に、ステップS11~S14に示す一連の処理を実行する。例えば、移動制御システム1は移動体30の移動経路を構成する複数の対象領域のそれぞれを移動体30の移動順に処理することで、その移動体30を目的地まで適切に制御することができる。
【0046】
移動制御システム1の用途、すなわち、移動体30の移動を制御する目的は何ら限定されない。例えば、移動制御システム1は気象状況に応じて移動体30の移動方向または速度を制御してもよい。
図13は気象状況に応じた移動経路の設定の例を示す図である。
図13の例(a)は、始点ノード301から終点ノード302までの晴天時の移動経路311を示し、
図13の例(b)は雨天を考慮した場合の始点ノード301から終点ノード302までの移動経路312を示す。移動制御システム1は共通ブロックデータを介して各ノードまたは各リンクの動的情報を参照することで、移動体30を柔軟に移動させることができる。他の用途の例として、移動制御システム1は、電波強度またはGPS強度が弱い場合には衝突回避のためにカメラなどの他のセンサを重視するように、移動体30を制御してもよい。あるいは、移動制御システム1は、移動体30を緊急着陸させるための場所(例えば、人または移動体の密集度が低い場所)を探索してその場所に移動体30を誘導してもよい。
【0047】
移動制御システム1は複数種類の動的情報に基づいて移動体を制御してもよい。
図9および
図10を参照しながら一例を説明すると、移動制御システム1は共通ブロック「SP0」の9:00~10:00の間における移動体の制御を、「少なくとも一部では晴れ(風速は1m/s、風向は北北東)」、「少なくとも一部では電波強度が低い」、および「少なくとも一部ではGPS強度が強い」という3種類の動的情報のうちの少なくとも二つを用いて移動体を制御してもよい。
【0048】
[プログラム]
コンピュータをサーバ10として機能させるためのプログラムは、該コンピュータを経路取得部11、動的情報取得部12、指示生成部13、および通信部14として機能させるためのプログラムコードを含む。このプログラムは、CD-ROM、DVD-ROM、半導体メモリなどの有形の記録媒体に固定的に記録された上で提供されてもよい。あるいは、プログラムは、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。提供されたプログラムはストレージ103に記憶され、プロセッサ101がメモリ102と協働してそのプログラムを実行することで上記の各機能モジュールが実現する。
【0049】
[効果]
以上説明したように、本開示の一側面に係るコンピュータシステムは、少なくとも一つのプロセッサを備え、少なくとも一つのプロセッサが、動的に変化する状況が関連付けられた動的情報ブロックを用いて現実空間を表現する動的情報と、動的情報ブロックが関連付けられた共通ブロックを用いて現実空間を表現する共通ブロックデータとに基づいて、現実空間における移動体を制御する。
【0050】
本開示の一側面に係るデータ構造は、現実空間における移動体を制御するためのデータ構造であって、動的に変化する状況が関連付けられた動的情報ブロックを用いて現実空間を表現する動的情報の動的情報ブロックIDと、動的情報ブロックに関連付けられた共通ブロックの共通ブロックIDとを含み、プロセッサに、現実空間に対応する共通ブロックIDを参照させることで動的情報ブロックIDを特定させ、特定された動的情報ブロックIDに対応する動的情報を参照させることで、動的に変化する状況を特定させ、特定された状況に基づいて移動体を制御させる。
【0051】
このような側面においては、動的情報ブロックが共通ブロックと関連付けられるので、動的情報ブロックの違いを共通ブロックによって吸収することができる。一つの共通ブロックを参照することで、その共通ブロックに関連付けられた動的情報をすべて取得できるので、移動体を制御するための様々な動的情報を効率良く取得することが可能になる。
【0052】
他の側面に係るコンピュータシステムでは、動的情報が、動的に変化する第1状況が関連付けられた第1動的情報ブロックを用いて現実空間を表現する第1動的情報と、動的に変化する第2状況が関連付けられた第2動的情報ブロックを用いて現実空間を表現する第2動的情報とを含み、共通ブロックが、第1動的情報ブロックおよび第2動的情報ブロックの双方と関連付けられてもよい。互いに異なる複数の動的情報ブロックが一つの共通ブロックによって吸収されるので、その共通ブロックを参照するだけで複数種類の動的情報をすべて取得することができる。すなわち、その共通ブロックは、様々な動的情報を効率よく取得することに貢献する。
【0053】
他の側面に係るコンピュータシステムでは、少なくとも一つのプロセッサが、共通ブロックデータで示される動的情報ブロックを特定し、特定された動的情報ブロックに対応する動的情報で示される状況に基づいて、移動体を制御してもよい。共通ブロックデータを経由して動的情報にアクセスすることで、その動的情報を効率よく取得することができる。
【0054】
他の側面に係るコンピュータシステムでは、少なくとも一つのプロセッサが、現実空間での移動体の移動経路を表現する地図要素と共通ブロックとが関連付けられた地図データにさらに基づいて、移動体を制御してもよい。地図要素と動的情報とが共通ブロックを介して関連付けられるので、地図要素に関連付けられた動的情報を効率良く取得することが可能になる。
【0055】
他の側面に係るコンピュータシステムでは、少なくとも一つのプロセッサが、地図データで示される共通ブロックを特定し、特定された共通ブロックに対応する共通ブロックデータで示される動的情報ブロックを特定し、特定された動的情報ブロックに対応する動的情報で示される状況に基づいて、移動体を制御してもよい。地図データから直接に動的情報にアクセスするのではなく、地図データから共通ブロックにアクセスし、その共通ブロックから動的情報にアクセスすることで、様々な動的情報を効率良く取得することができる。
【0056】
他の側面に係るコンピュータシステムでは、移動体が飛行体であってもよい。この場合には、飛行体を制御するための動的情報を効率良く取得することが可能になる。
【0057】
[変形例]
以上、本開示をその実施形態に基づいて詳細に説明した。しかし、本開示は上記実施形態に限定されるものではない。本開示は、その要旨を逸脱しない範囲で様々な変形が可能である。
【0058】
移動体を制御するためのシステム構成は限定されない。例えば、移動体30がサーバ10の機能を備えてもよく、この場合には、移動体30は通信ネットワークを介して地図データベース20および外部データベース50にアクセスすることで地図データ21、共通ブロックデータ22、および動的情報51を読み出す。あるいは、移動体30がサーバ10、地図データベース20、および外部データベース50のすべての機能を備えてもよく、この場合には、移動体30はあたかもスタンドアロンマシンのように、他の情報処理装置に頼ることなく移動を制御することができる。
【0059】
少なくとも一つのプロセッサにより実行される移動体の制御の手順は上記実施形態での例に限定されない。例えば、上述したステップ(処理)の一部が省略されてもよいし、別の順序で各ステップが実行されてもよい。また、上述したステップのうちの任意の2以上のステップが組み合わされてもよいし、ステップの一部が修正または削除されてもよい。あるいは、上記の各ステップに加えて他のステップが実行されてもよい。
【0060】
以上の実施形態の全部または一部に記載された態様は、移動体の適切な制御、処理速度の向上、処理精度の向上、使い勝手の向上、データを利用した機能の向上または適切な機能の提供その他の機能向上または適切な機能の提供、データおよび/またはプログラムの容量の削減、装置および/またはシステムの小型化等の適切なデータ、プログラム、記録媒体、装置および/またはシステムの提供、並びにデータ、プログラム、装置またはシステムの制作・製造コストの削減、制作・製造の容易化、制作・製造時間の短縮等のデータ、プログラム、記録媒体、装置および/またはシステムの制作・製造の適切化のいずれか一つの課題を解決する。
【符号の説明】
【0061】
1…移動制御システム、10…サーバ、11…経路取得部、12…動的情報取得部、13…指示生成部、14…通信部、20…地図データベース、21…地図データ、22…共通ブロックデータ、30…移動体、31…他の移動体、40…外部サーバ、50…外部データベース、51…動的情報、200…移動経路、201~206…ノード、211…進入禁止区域、212…気象状況、221~223,261~266,271~274,281…動的情報ブロック、230~234,250…共通ブロック、240…飛行領域、241…リンク。