(57)【要約】【課題】移動体を適切に制御することを目的とする。【解決手段】一実施形態に係るコンピュータシステムは、少なくとも一つのプロセッサを備える。少なくとも一つのプロセッサは、動的に変化する状況が関連付けられた動的情報ブロックを用いて現実空間を表現する動的情報と、動的情報ブロックが関連付けられた共通ブロックを用いて現実空間を表現する共通ブロックデータとに基づいて、現実空間における移動体を制御する。【選択図】図６
2020091201.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つのプロセッサを備え、
前記少なくとも一つのプロセッサが、動的に変化する状況が関連付けられた動的情報ブロックを用いて現実空間を表現する動的情報と、前記動的情報ブロックが関連付けられた共通ブロックを用いて前記現実空間を表現する共通ブロックデータとに基づいて、前記現実空間における移動体を制御する、
コンピュータシステム。
【請求項２】
前記動的情報が、動的に変化する第１状況が関連付けられた第１動的情報ブロックを用いて前記現実空間を表現する第１動的情報と、動的に変化する第２状況が関連付けられた第２動的情報ブロックを用いて前記現実空間を表現する第２動的情報とを含み、
前記共通ブロックが、前記第１動的情報ブロックおよび前記第２動的情報ブロックの双方と関連付けられる、
請求項１に記載のコンピュータシステム。
【請求項３】
前記少なくとも一つのプロセッサが、
前記共通ブロックデータで示される前記動的情報ブロックを特定し、
前記特定された動的情報ブロックに対応する前記動的情報で示される前記状況に基づいて、前記移動体を制御する、
請求項１または２に記載のコンピュータシステム。
【請求項４】
前記少なくとも一つのプロセッサが、前記現実空間での前記移動体の移動経路を表現する地図要素と前記共通ブロックとが関連付けられた地図データにさらに基づいて、前記移動体を制御する、
請求項１〜３のいずれか一項に記載のコンピュータシステム。
【請求項５】
前記少なくとも一つのプロセッサが、
前記地図データで示される前記共通ブロックを特定し、
前記特定された共通ブロックに対応する前記共通ブロックデータで示される前記動的情報ブロックを特定し、
前記特定された動的情報ブロックに対応する前記動的情報で示される前記状況に基づいて、前記移動体を制御する、
請求項４に記載のコンピュータシステム。
【請求項６】
前記移動体が飛行体である、
請求項１〜５のいずれか一項に記載のコンピュータシステム。
【請求項７】
現実空間における移動体を制御するためのデータ構造であって、
動的に変化する状況が関連付けられた動的情報ブロックを用いて前記現実空間を表現する動的情報の動的情報ブロックＩＤと、
前記動的情報ブロックに関連付けられた共通ブロックの共通ブロックＩＤと
を含み、
プロセッサに、
前記現実空間に対応する前記共通ブロックＩＤを参照させることで前記動的情報ブロックＩＤを特定させ、
前記特定された動的情報ブロックＩＤに対応する前記動的情報を参照させることで、前記動的に変化する状況を特定させ、
前記特定された状況に基づいて前記移動体を制御させる、
データ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の一側面はコンピュータシステムおよび／またはデータ構造に関する。
【背景技術】
【０００２】
従来から、移動体を制御するための技術が知られている（例えば、特許文献１，２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２５７７９４号公報
【特許文献２】特開２０１８−８１６７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本開示の一側面は、移動体を適切に制御することを目的とする。
【課題を解決するための手段】
【０００５】
本開示の一側面に係るコンピュータシステムは、少なくとも一つのプロセッサを備え、少なくとも一つのプロセッサが、動的に変化する状況が関連付けられた動的情報ブロックを用いて現実空間を表現する動的情報と、動的情報ブロックが関連付けられた共通ブロックを用いて現実空間を表現する共通ブロックデータとに基づいて、現実空間における移動体を制御する。
【図面の簡単な説明】
【０００６】
【図１】実施形態に係る移動制御システムによる移動体の制御の一例を示す図である。
【図２】移動経路と動的情報との関連付けの一例を示す図である。
【図３】図２に対応する共通ブロックの配置の一例を示す図である。
【図４】飛行領域と共通ブロックとの関連の一例を示す。
【図５】一つの共通ブロックに対応する動的情報ブロックの例を示す図である。
【図６】実施形態に係る移動制御システムの機能構成の一例を示す図である。
【図７】実施形態に係るサーバのハードウェア構成の一例を示す図である。
【図８】地図データの例を示す図である。
【図９】共通ブロックデータの例を示す図である。
【図１０】動的情報の例を示す図である。
【図１１】実施形態に係る移動制御システムの動作の一例を示すフローチャートである。
【図１２】図１１に示す対象領域の状況の取得の一例を示すフローチャートである。
【図１３】気象状況に応じた移動経路の設定の例を示す図である。
【発明を実施するための形態】
【０００７】
以下、添付図面を参照しながら本開示の実施形態を詳細に説明する。なお、図面の説明において同一または同等の要素には同一の符号を付し、重複する説明を省略する。
【０００８】
［システムの概要］
実施形態に係る移動制御システム１は、移動体を制御するためのコンピュータシステムである。移動体とは、現実空間（実世界の空間）内を移動することが可能な人工物のことをいう。移動体の種類は限定されず、例えば有人移動体でもよいし無人移動体でもよい。移動体が移動可能な場所は限定されず、例えば、移動体は地上、水上、空中、地中、水中、および屋内のうちの少なくとも一つを移動可能でもよい。移動体の具体例として飛行体（例えば航空機、ドローンなど）、水上航走体、水中航走体、および陸上走行体（例えば自動車、電車、バイクなど）が挙げられるが、移動体の種類はこれらに限定されず、移動制御システム１は任意の種類の移動体を管理してよい。移動体の種類が限定されないことに対応して、移動体の経路は陸路でも水路でも空路でもよい。
【０００９】
移動制御システム１は、現実空間で動的に変化する状況を考慮して移動体を制御することで、移動体の運行を適切に管理することができる。「移動体の制御」は、移動体の移動の制御と、移動体に搭載された機器（例えばカメラ）の制御との少なくとも一方を含んでもよい。「動的に変化する状況」とは、時間の経過に伴って変化する状況のことをいう。状況の変化に要する時間の長さは限定されず、例えば１秒、１０秒、３０秒、１分、１０分、３０分、１時間、２時間、３時間、１２時間、１日、１週間、１ヶ月などの任意の値であってよい。状況の種類は何ら限定されず、例えば自然現象でもよいし、人工物により引き起こされる状況でもよいし、人により定められた規則に基づく状況でもよい。例えば、動的に変換する状況は、気象（天気）、移動体の動き、移動体の台数、渋滞の度合い、電波強度、通行規制、障害物の位置、運搬物の個数、人または移動体の密集度、または他の自然物（例えば鳥獣）の動きでもよい。
【００１０】
図１は移動制御システム１による移動体の制御の一例を示す図である。この例では移動体３０は飛行体である。飛行体とは、空中を移動することが可能な人工物のことをいう。飛行体の種類は限定されず、例えば有人航空機でもよいし無人航空機（ドローン）でもよい。この例では、移動体３０は、複数のノード２０１〜２０６と、隣接するノード間をつなぐ複数のリンクとで構成される移動経路（飛行経路）２００を移動しようとしている。ノードとは、移動体を制御するために設定される位置のことをいい、より具体的には、移動体の移動方法（例えば方向、速度など）を変えることができる位置のことをいう。リンクとは、移動体が移動可能な経路を示すために設定される仮想的な線のことをいい、隣接するノード間を結ぶ。移動経路２００上には動的に変化する状況が起こり得る。例えば、その状況は、一時的に設定される進入禁止区域２１１かもしれないし、他の移動体３１の通行かもしれないし、気象状況２１２かもしれない。移動制御システム１はこれらのような動的に変化する状況を取得し、その状況に基づいて移動体３０の移動を制御する。
【００１１】
移動体の移動経路は地図データを用いて表すことができる。地図データは、移動体が移動可能な現実空間または移動不可能な現実空間（例えば障害物）を表現するデータである。地図データはノード、リンクなどの地図要素を用いて表現され得る。陸上走行体の地図データは道路の位置、幅、車線数などの地図要素も用いて表現され得る。一方、動的に変化する状況は、その状況が発生しているかまたは発生し得る領域と予め関連付けられ、この関連付けは動的情報として得ることができる。この動的情報を参照することで、移動制御システム１は、どこでどのような状況が発生しているかまたは発生し得るかを判定できる。
【００１２】
地図データおよび動的情報の双方は現実空間内の位置を含むので、双方の位置を照合することで移動経路と動的情報とを関連付けることができる。図２は移動経路と動的情報との関連付けの一例を示す図であり、具体的には、図１に示す移動経路２００および三つの状況の関連付けを示す。この例では、動的情報は個々の３次元ブロック（動的情報ブロック）について設定され、移動経路２００に対応して３個の動的情報ブロック２２１〜２２３が存在すると仮定する。動的情報ブロック２２１には進入禁止区域２１１に関する動的情報が設定され、動的情報ブロック２２２には他の移動体３１に関する動的情報が設定され、動的情報ブロック２２３には気象状況２１２に関する動的情報が設定されている。移動制御システム１は移動経路２００の地図データと動的情報とを照合することで、ノード２０２の付近が一時的な進入禁止区域２１１であることと、ノード２０４の付近に他の移動体３１が存在することと、ノード２０５の付近の気象状況２１２とを判定できる。そして、移動制御システム１はその判定に基づいて移動体３０を制御することができる。
【００１３】
上述したように、動的に変化する状況の種類は何ら限定されない。このことに応じて、動的情報を管理するコンピュータシステムは一つに限らず、複数のコンピュータシステムが、互いに異なる動的情報を管理する可能性がある。複数種類の動的情報が用いられる場合には、個々の動的情報で示されるブロック（動的情報ブロック）の定義方法は、状況の種類、コンピュータシステムの違いなどの様々な事情に起因して、互いに異なり得る。ここで、ブロックとは、仮想の境界を用いて表される閉空間のことをいい、メッシュまたはセルともいうことができる。動的情報ブロックの形状、大きさ、または配置は動的情報の種類毎に異なり得る。図２の例は動的情報ブロックのそのような違いも示す。動的情報ブロックの定義方法が互いに異なると、コンピュータシステムは個々の動的情報ブロックに応じた方法で、移動経路と動的情報とを照合する必要がある。動的情報ブロックの種類に応じて照合方法が変わるので、その照合のアルゴリズムが複雑になったり、動的情報ブロックの定義の変更または動的情報の追加に応じてアルゴリズムを変更する必要が生じたりする。
【００１４】
移動制御システム１は、このような動的情報ブロックの違いを吸収するために、共通ブロックという概念を採用する。共通ブロックは地図データと動的情報ブロックとを結び付けるブロックであり、地図データおよび動的情報ブロックのいずれとも独立して設定される。共通ブロックの概念を採用することで、地図データで示される現実空間は、複数の共通ブロックの集合で表される。言い換えると、その現実空間は複数の共通ブロックにより仮想的に分割される。個々の共通ブロックは、地図データを構成する１以上の地図要素（例えばノード、リンク、道路など）と関連けられると共に、１以上のまたは１種類以上の動的情報ブロックとも関連付けられる。移動制御システム１は、一つの共通ブロックを参照することで、その共通ブロックに関連付けられたすべての動的情報ブロックにアクセスすることができる。これは、移動制御システム１が、移動経路の或る部分に対応する一つの共通ブロックを参照することで、該部分に対応する動的情報をすべて取得できることを意味する。すなわち、移動制御システム１は共通ブロックを参照することで様々な動的情報を効率良く取得することができる。
【００１５】
図３は、図２に対応する共通ブロックの配置の一例を示す図である。この例では、５×３×３個の共通ブロック２３０を示し、この共通ブロック２３０の集合は動的情報ブロック２２１〜２２３を包含する。
【００１６】
移動体の移動経路は、仮想的な線だけではなく、移動方向と直交する方向に設定された幅も用いて考慮されてもよい。例えば、飛行体は風などの影響により移動経路に完全に沿って飛行することが難しい場合があるので、仮想の３次元形状の飛行領域が定義されてもよい。この飛行領域が採用される場合には、該飛行領域と少なくとも一部が重なる共通ブロックが、リンクと関連する共通ブロックとして設定される。図４は飛行領域と共通ブロックとの関連の一例を示す。この例では、リンク２４１を中心とする筒状の飛行領域２４０と、２×２の配列になるように並んだ４個の共通ブロック２３１〜２３４とを示す。リンク２４１は共通ブロック２３２，２３３のみと重なるが、飛行領域２４０はその２個の共通ブロックだけではなく、さらに共通ブロック２３１とも重なる。したがって、リンク２４１は３個の共通ブロック２３１〜２３３と関連付けられる。
【００１７】
一つの共通ブロックは複数種類の動的情報と関連付けられてもよい。例えば、共通ブロックは、動的に変化する第１状況が関連付けられた第１動的情報ブロックを用いて現実空間を表現する第１動的情報と、動的に変化する第２状況が関連付けられた第２動的情報ブロックを用いて該現実空間を表現する第２動的情報との双方と関連付けられてもよい。動的情報ブロックの大きさは任意に設定され得るので、共通ブロックと動的情報ブロックとの対応関係は動的情報の種類に応じて様々に変わり得る。
【００１８】
図５は、一つの共通ブロック２５０に対応する動的情報ブロックの様々な例を示す図である。図５の例（ａ）では、共通ブロック２５０は６個の動的情報ブロック２６１〜２６６のうち４個の動的情報ブロック２６１〜２６４と関連付けられる。図５の例（ｂ）では、共通ブロック２５０は４個の動的情報ブロック２７１〜２７４のうち２個の動的情報ブロック２７１，２７３と関連付けられる。図５の例（ｃ）では、共通ブロック２５０は一つの動的情報ブロック２８１と関連付けられる。共通ブロック２５０は、動的情報ブロック２６１〜２６４、動的情報ブロック２７１，２７３、および動的情報ブロック２８１のうちの少なくとも１種類の動的情報ブロックと関連付けられる。或る一種類の動的情報ブロックについて、一つの共通ブロックは複数の動的情報ブロックに跨って存在する場合もあれば、一つの動的情報ブロック内に収まる場合もある。同様に、一つの動的情報ブロックは、複数の共通ブロックに跨って存在する場合もあれば、一つの共通ブロック内に収まる場合もある。
【００１９】
図２〜図５はいずれも動的情報ブロックおよび共通ブロックの双方が直方体を呈するが、これら２種類のブロックの形状はいずれも何ら限定されるものではなく、任意に設定されてよい。例えば、動的情報ブロックまたは共通ブロックは、球状、柱状、またはより複雑な３次元形状でもよい。あるいは、動的情報ブロックまたは共通ブロックは矩形、円、またはより複雑な２次元形状でもよい。動的情報ブロックおよび共通ブロックの双方が３次元形状でもよいし、双方が２次元形状でもよい。あるいは、動的情報ブロックおよび共通ブロックの一方が３次元形状で他方が２次元形状でもよい。共通ブロックの形状および寸法の少なくとも一方は、統一されてもよいし、統一されなくてもよい。或る一種類の動的情報に対応する動的情報ブロックについても、形状および寸法の少なくとも一方は、統一されてもよいし、統一されなくてもよい。すなわち、共通ブロックおよび動的情報ブロックの双方について、該ブロックの形状および大きさの少なくとも一方が途中で変化してもよい。
【００２０】
［システムの構成］
図６は、移動制御システム１の機能構成の一例を示す図である。一例では、移動制御システム１はサーバ１０および地図データベース２０を備える。サーバ１０は移動体を制御するためのコンピュータであり、この例では、移動体３０に指示データを送信することで該移動体３０の移動を制御する。移動体３０は、サーバ１０からの指示データに基づいて移動することが可能である。図６でも移動体３０として飛行体を例示する。地図データベース２０は、地図データ２１および共通ブロックデータ２２を記憶する装置である。一例では、サーバ１０は外部サーバ４０を介して外部データベース５０から動的情報５１を取得することができる。外部サーバ４０および外部データベース５０の個数は限定されず、少なくとも一方の装置の個数が２以上でもよい。地図データ２１、共通ブロックデータ２２、および動的情報５１のいずれも、コンピュータが読み取ることが可能な電子データであり、移動体３０を移動させるために必要なデジタル情報を含む制御データである。
【００２１】
サーバ１０は有線または無線の通信ネットワークを介して地図データベース２０、移動体３０、および外部サーバ４０とデータを送受信することができる。例えば、サーバ１０は通信ネットワークを介して、地図データベース２０から地図データ２１または共通ブロックデータ２２を読み出したり、外部サーバ４０から動的情報５１を読み出したり、移動体３０に指示データを送信したりすることができる。通信ネットワークの具体的な構成は限定されず、例えば、通信ネットワークはインターネットおよびイントラネットの少なくとも一方を含んで構成されてもよい。
【００２２】
移動制御システム１の構成は図６の例に限定されない。地図データベース２０は移動制御システム１とは別のコンピュータシステムにより管理されてもよいし、サーバ１０が地図データベース２０を備えてもよい。サーバ１０は外部サーバ４０を介することなく外部データベース５０に直接アクセスして動的情報を取得してもよい。移動制御システム１は、少なくとも一部の外部サーバ４０または少なくとも一部の外部データベース５０に相当する構成を備えてもよい。
【００２３】
サーバ１０は機能モジュールとして経路取得部１１、動的情報取得部１２、指示生成部１３、および通信部１４を備える。経路取得部１１は、移動体３０が移動しようとする経路に関する情報を取得する機能モジュールである。動的情報取得部１２はその経路の状況（動的に変化する状況）を取得する機能モジュールである。指示生成部１３はその状況に基づいて指示データを生成する機能モジュールである。通信部１４は、その指示データを出力する機能モジュールである。移動体３０はその指示データに従って移動することができる。
【００２４】
図７は、サーバ１０のハードウェア構成の一例を示す。例えば、サーバ１０は制御回路１００を有する。一例では、制御回路１００は、一つまたは複数のプロセッサ１０１と、メモリ１０２と、ストレージ１０３と、通信ポート１０４と、入出力ポート１０５とを有する。プロセッサ１０１はオペレーティングシステムおよびアプリケーションプログラムを実行する。ストレージ１０３はハードディスク、不揮発性の半導体メモリ、または取り出し可能な媒体（例えば、磁気ディスク、光ディスクなど）の記憶媒体で構成され、オペレーティングシステムおよびアプリケーションプログラムを記憶する。メモリ１０２は、ストレージ１０３からロードされたプログラム、またはプロセッサ１０１による演算結果を一時的に記憶する。一例では、プロセッサ１０１は、メモリ１０２と協働してプログラムを実行することで、上記の各機能モジュールとして機能する。通信ポート１０４は、プロセッサ１０１からの指令に従って、通信ネットワークＮＷを介して他の装置との間でデータ通信を行う。入出力ポート１０５は、プロセッサ１０１からの指令に従って、キーボード、マウス、モニタなどの入出力装置（ユーザインタフェース）との間で電気信号の入出力を実行する。
【００２５】
サーバ１０は一つまたは複数のコンピュータにより構成され得る。複数のコンピュータが用いられる場合には、通信ネットワークを介してこれらのコンピュータが互いに接続されることで論理的に一つのサーバ１０が構成される。
【００２６】
サーバ１０として機能するコンピュータは限定されない。例えば、サーバ１０は業務用サーバなどの大型のコンピュータで構成されてもよいし、パーソナルコンピュータや携帯端末（例えばスマートフォン、タブレット端末など）などの小型のコンピュータで構成されてもよい。
【００２７】
［データ構造］
地図データ２１は、移動体が移動可能な現実の空間を表現するデータである。移動体を移動させるために空間または位置を特定することができる限り、地図データ２１のデータ構造は何ら限定されない。いずれにせよ、地図データは地図要素と共通ブロックとが関連付けられたデータである。図８は地図データ２１の一例を示す図であり、具体的には、移動体３０を移動させるために用いられ得る地図データ２１の一例を示す。この例では、地図データ２１は個々のノードを示すノード情報と、個々のリンクを示すリンク情報とを含む。
【００２８】
一例では、一つのノードを示すノード情報は、ノードを一意に特定する識別子であるノードＩＤと、ノードの座標と、ノードの位置に対応する共通ブロックを示す共通ブロックＩＤとを含む。共通ブロックＩＤは、共通ブロックを一意に特定する識別子である。図８は、ノードＩＤ「Ｎ０」で特定されるノードの３次元座標が（ｎｘ０，ｎｙ０，ｎｚ０）であり、このノードの位置が、共通ブロックＩＤ「ＳＰ０」で特定される共通ブロックに対応することを示す。ノードの位置が共通ブロックに対応するとは、例えば、そのノードが共通ブロックに含まれることをいう。
【００２９】
一例では、一つのリンクを示すリンク情報は、リンクを一意に特定する識別子であるリンクＩＤと、リンクの始点および終点のそれぞれのノードＩＤと、リンクの位置に対応する共通ブロックを示す共通ブロックＩＤとを含む。図８は、リンクＩＤ「Ｌ０」で特定されるリンクが二つのノード「Ｎ０」，「Ｎ１」を結ぶものであり、このリンクの位置が、共通ブロックＩＤ「ＳＰ０」，「ＳＰ１」で特定される二つの共通ブロックに対応することを示す。リンクの位置が共通ブロックに対応するとは、例えば、そのリンクの少なくとも一部が共通ブロックに含まれることをいう。図８は、リンク「Ｌ０」が二つの共通ブロック「ＳＰ０」，「ＳＰ１」に跨って延びることを示す。一つのリンクは一つの共通ブロックにのみ含まれることもあれば３以上の共通ブロックに跨って延びることもある。従って、一つのリンクＩＤに対応する共通ブロックＩＤの個数は１以上である。
【００３０】
共通ブロックデータ２２は共通ブロックを表現するデータである。共通ブロックを特定することができる限り、共通ブロックデータ２２のデータ構造は何ら限定されない。図９は共通ブロックデータ２２の一例を示す図であり、具体的には、移動体３０を移動させるために用いられ得る共通ブロックデータ２２の一例を示す。
【００３１】
一例では、一つの共通ブロックを示す共通ブロックデータは、共通ブロックＩＤと、共通ブロックの中心の位置を示す中心座標と、共通ブロックのサイズと、１種類以上の動的情報ブロックＩＤとを含む。図９は、共通ブロックＩＤ「ＳＰ０」で特定される共通ブロックが、中心座標（Ｘｓｐ０，Ｙｓｐ０，Ｚｓｐ０）およびサイズ（ｓｐ０，ｓｐ０，ｓｐ０）で規定される仮想の立体形状を有することを示す。さらに、図９は、その共通ブロック「ＳＰ０」が、天気、電波強度、およびＧＰＳ強度（ＧＰＳの受信状況）という３種類の動的情報に対応することを示す。この例では、天気、電波強度、およびＧＰＳ強度に対応する動的情報ブロックをそれぞれ「天気ブロック」、「電波強度ブロック」、および「ＧＰＳ強度ブロック」という。共通ブロックＩＤ「ＳＰ０」は二つの天気ブロックＩＤ「ＷＭ００１」，「ＷＭ００２」、三つの電波強度ブロックＩＤ「ＳＭ００１」，「ＳＭ００３，「ＳＭ００４」、および二つのＧＰＳ強度ブロックＩＤ「ＧＭ００１」，「ＧＭ００２」と対応する。これは、現実空間において共通ブロック「ＳＰ０」がこれら二つの天気ブロック、三つの電波強度ブロック、および二つのＧＰＳ強度ブロックと重なることを意味する。
【００３２】
動的情報５１は、動的情報ブロック内の動的に変化する状況を示すデータである。各動的情報ブロックの状況を特定することができる限り、動的情報５１のデータ構造は何ら限定されない。図１０は動的情報５１の一例であり、具体的には、移動体３０を移動させるために用いられ得る動的情報５１である天気情報、電波強度情報、およびＧＰＳ補足情報の一例を示す。
【００３３】
一例では、一つの動的情報ブロックを示す動的情報は、動的情報ブロックを一意に特定する識別子である動的情報ブロックＩＤと、動的情報ブロックの中心の位置を示す中心座標と、動的情報ブロックのサイズと、状況を示す情報とを含む。図１０は、それぞれの動的情報は個々の時間帯の状況を示すが、状況の表現方法はこれに限定されるものではなく、任意の形式で表現されてよい。例えば、状況は時間帯を用いることなく表現されてもよい。図１０の例（ａ）に示す天気情報は天気ブロック「ＷＭ００１」内の天気、風速、および風向を示す。図１０の例（ｂ）に示す電波強度情報は電波強度ブロック「ＳＭ００３」内の電波強度を示す。図１０の例（ｃ）に示すＧＰＳ強度情報はＧＰＳ強度ブロック「ＧＭ００２」内のＧＰＳ強度を示す。
【００３４】
図８〜図１０に示すデータ構造は一例であり、地図データ２１、共通ブロックデータ２２、および動的情報５１は任意の形式で表現されてよい。いずれにしても、地図データ２１と動的情報５１とは共通ブロックデータ２２を介して関連付けられるので、現実空間内の任意の地点の動的情報を効率良く取得することが可能になる。
【００３５】
［システムでの処理手順］
図１１および図１２を参照しながら、移動制御システム１の動作を説明するとともに本実施形態に係る移動体の制御方法を説明する。図１１は、移動制御システム１の動作の一例を示すフローチャートである。図１２は、図１１に示す対象領域の状況の取得の一例を示すフローチャートである。
【００３６】
ステップＳ１１では、経路取得部１１が地図データ２１を参照して対象領域を取得する。対象領域とは、動的に変化する状況を取得する対象となる領域のことをいう。具体的には、対象領域は移動体３０の移動経路の少なくとも一部である。対象領域の特定方法は地図データの構造に依存してもよく、例えば、経路取得部１１は少なくとも一つのノード、少なくとも一つのリンク、または少なくとも一つのブロックを示す地図データ２１を取得することで、該ノード、リンク、またはブロックで表される対象領域を特定してもよい。
【００３７】
ステップＳ１２では、動的情報取得部１２が対象領域の状況を取得する。動的情報取得部１２は地図データ２１、共通ブロックデータ２２、および動的情報５１を参照して、動的に変化するその状況を取得する。図１２を参照しながらこのステップＳ１２の詳細を説明する。
【００３８】
ステップＳ１２１では、動的情報取得部１２は、対象領域に対応する少なくとも一つの共通ブロックを特定する。具体的には、動的情報取得部１２は対象領域の位置に対応する地図データ２１を参照して、その地図データ２１で示される少なくとも一つの共通ブロックＩＤを取得する。
【００３９】
ステップＳ１２２では、動的情報取得部１２は一つの共通ブロック（共通ブロックＩＤ）を選択する。ステップＳ１２３では、動的情報取得部１２は、選択された共通ブロックに対応する一つの動的情報ブロックを特定する。具体的には、動的情報取得部１２は選択された共通ブロックＩＤで特定される共通ブロックデータ２２を参照して、その共通ブロックデータ２２に含まれる１以上の動的情報ブロックＩＤを取得する。
【００４０】
ステップＳ１２４では、動的情報取得部１２は一つの動的情報ブロック（動的情報ブロックＩＤ）を選択する。ステップＳ１２５では、動的情報取得部１２は、選択された動的情報ブロックの状況を取得する。具体的には、動的情報取得部１２は選択された動的情報ブロックＩＤで特定される動的情報５１を参照して、その動的情報５１で示される状況を取得する。動的情報が時間帯を含む場合には、動的情報取得部１２は、指定された時間帯の状況を取得する。
【００４１】
ステップＳ１２６に示すように、一つの共通ブロックに複数の動的情報ブロックが対応する場合には、動的情報取得部１２は残りの動的情報ブロック（処理すべき動的情報ブロックのうち未処理のもの）を処理する。未処理の動的情報ブロックが存在する場合には、動的情報取得部１２はステップＳ１２７において次の動的情報ブロック（次の動的情報ブロックＩＤ）を選択し、該次の動的情報ブロックについてステップＳ１２５の処理を実行する。
【００４２】
ステップＳ１２８に示すように、一つの対象領域に複数の共通ブロックが対応する場合には、動的情報取得部１２はすべての共通ブロックを処理する。未処理の共通ブロックが存在する場合には、動的情報取得部１２はステップＳ１２９において、地図データ２１を参照することで次の共通ブロック（次の共通ブロックＩＤ）を選択し、該次の共通ブロックについてステップＳ１２３以降の処理を実行する。このように、動的情報取得部１２は、地図データ２１で示される共通ブロックＩＤを次々に特定しながら、対象領域に対応する共通ブロックのすべてを処理することで、該対象領域の状況をすべて取得することができる。
【００４３】
図１１に戻って、ステップＳ１３では、指示生成部１３が、取得された状況に基づいて、対象領域に対応する指示データを生成する。動的情報に基づく指示データの生成方法は何ら限定されず、指示生成部１３は移動体３０を制御するための指示データを任意のルールに基づいて生成してよい。また、指示データのデータ構造は何ら限定されない。例えば、指示データは移動体３０の移動経路を示してもよい。
【００４４】
ステップＳ１４では、通信部１４がその指示データを送信する。指示データの宛先は限定されない。例えば、通信部１４は指示データを、移動体３０に直接に送信してもよいし、移動体３０以外の任意のコンピュータを経由して移動体３０に送信してもよい。例えば、指示データは移動体３０の移動を制御するために用いられ、例えば、移動経路を変更、決定、または算出するために用いられる。例えば、移動体３０の制御回路が指示データを受信および処理することで移動経路を算出し、その経路に沿って移動するように移動体３０の動力および舵を制御してもよい。あるいは、移動体３０以外のコンピュータ（例えばリモートコントローラ）が指示データに基づいて移動経路を算出して該経路を示す経路データを移動体３０に送信し、移動体３０の制御回路がその経路データに基づいて自機の動力および舵を制御してもよい。いずれにしても、移動体３０は、サーバ１０から提供される指示データに基づいて移動することができる。
【００４５】
移動制御システム１は、新たな対象領域を受け付ける度に、ステップＳ１１〜Ｓ１４に示す一連の処理を実行する。例えば、移動制御システム１は移動体３０の移動経路を構成する複数の対象領域のそれぞれを移動体３０の移動順に処理することで、その移動体３０を目的地まで適切に制御することができる。
【００４６】
移動制御システム１の用途、すなわち、移動体３０の移動を制御する目的は何ら限定されない。例えば、移動制御システム１は気象状況に応じて移動体３０の移動方向または速度を制御してもよい。図１３は気象状況に応じた移動経路の設定の例を示す図である。図１３の例（ａ）は、始点ノード３０１から終点ノード３０２までの晴天時の移動経路３１１を示し、図１３の例（ｂ）は雨天を考慮した場合の始点ノード３０１から終点ノード３０２までの移動経路３１２を示す。移動制御システム１は共通ブロックデータを介して各ノードまたは各リンクの動的情報を参照することで、移動体３０を柔軟に移動させることができる。他の用途の例として、移動制御システム１は、電波強度またはＧＰＳ強度が弱い場合には衝突回避のためにカメラなどの他のセンサを重視するように、移動体３０を制御してもよい。あるいは、移動制御システム１は、移動体３０を緊急着陸させるための場所（例えば、人または移動体の密集度が低い場所）を探索してその場所に移動体３０を誘導してもよい。
【００４７】
移動制御システム１は複数種類の動的情報に基づいて移動体を制御してもよい。図９および図１０を参照しながら一例を説明すると、移動制御システム１は共通ブロック「ＳＰ０」の９：００〜１０：００の間における移動体の制御を、「少なくとも一部では晴れ（風速は１ｍ／ｓ、風向は北北東）」、「少なくとも一部では電波強度が低い」、および「少なくとも一部ではＧＰＳ強度が強い」という３種類の動的情報のうちの少なくとも二つを用いて移動体を制御してもよい。
【００４８】
［プログラム］
コンピュータをサーバ１０として機能させるためのプログラムは、該コンピュータを経路取得部１１、動的情報取得部１２、指示生成部１３、および通信部１４として機能させるためのプログラムコードを含む。このプログラムは、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリなどの有形の記録媒体に固定的に記録された上で提供されてもよい。あるいは、プログラムは、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。提供されたプログラムはストレージ１０３に記憶され、プロセッサ１０１がメモリ１０２と協働してそのプログラムを実行することで上記の各機能モジュールが実現する。
【００４９】
［効果］
以上説明したように、本開示の一側面に係るコンピュータシステムは、少なくとも一つのプロセッサを備え、少なくとも一つのプロセッサが、動的に変化する状況が関連付けられた動的情報ブロックを用いて現実空間を表現する動的情報と、動的情報ブロックが関連付けられた共通ブロックを用いて現実空間を表現する共通ブロックデータとに基づいて、現実空間における移動体を制御する。
【００５０】
本開示の一側面に係るデータ構造は、現実空間における移動体を制御するためのデータ構造であって、動的に変化する状況が関連付けられた動的情報ブロックを用いて現実空間を表現する動的情報の動的情報ブロックＩＤと、動的情報ブロックに関連付けられた共通ブロックの共通ブロックＩＤとを含み、プロセッサに、現実空間に対応する共通ブロックＩＤを参照させることで動的情報ブロックＩＤを特定させ、特定された動的情報ブロックＩＤに対応する動的情報を参照させることで、動的に変化する状況を特定させ、特定された状況に基づいて移動体を制御させる。
【００５１】
このような側面においては、動的情報ブロックが共通ブロックと関連付けられるので、動的情報ブロックの違いを共通ブロックによって吸収することができる。一つの共通ブロックを参照することで、その共通ブロックに関連付けられた動的情報をすべて取得できるので、移動体を制御するための様々な動的情報を効率良く取得することが可能になる。
【００５２】
他の側面に係るコンピュータシステムでは、動的情報が、動的に変化する第１状況が関連付けられた第１動的情報ブロックを用いて現実空間を表現する第１動的情報と、動的に変化する第２状況が関連付けられた第２動的情報ブロックを用いて現実空間を表現する第２動的情報とを含み、共通ブロックが、第１動的情報ブロックおよび第２動的情報ブロックの双方と関連付けられてもよい。互いに異なる複数の動的情報ブロックが一つの共通ブロックによって吸収されるので、その共通ブロックを参照するだけで複数種類の動的情報をすべて取得することができる。すなわち、その共通ブロックは、様々な動的情報を効率よく取得することに貢献する。
【００５３】
他の側面に係るコンピュータシステムでは、少なくとも一つのプロセッサが、共通ブロックデータで示される動的情報ブロックを特定し、特定された動的情報ブロックに対応する動的情報で示される状況に基づいて、移動体を制御してもよい。共通ブロックデータを経由して動的情報にアクセスすることで、その動的情報を効率よく取得することができる。
【００５４】
他の側面に係るコンピュータシステムでは、少なくとも一つのプロセッサが、現実空間での移動体の移動経路を表現する地図要素と共通ブロックとが関連付けられた地図データにさらに基づいて、移動体を制御してもよい。地図要素と動的情報とが共通ブロックを介して関連付けられるので、地図要素に関連付けられた動的情報を効率良く取得することが可能になる。
【００５５】
他の側面に係るコンピュータシステムでは、少なくとも一つのプロセッサが、地図データで示される共通ブロックを特定し、特定された共通ブロックに対応する共通ブロックデータで示される動的情報ブロックを特定し、特定された動的情報ブロックに対応する動的情報で示される状況に基づいて、移動体を制御してもよい。地図データから直接に動的情報にアクセスするのではなく、地図データから共通ブロックにアクセスし、その共通ブロックから動的情報にアクセスすることで、様々な動的情報を効率良く取得することができる。
【００５６】
他の側面に係るコンピュータシステムでは、移動体が飛行体であってもよい。この場合には、飛行体を制御するための動的情報を効率良く取得することが可能になる。
【００５７】
［変形例］
以上、本開示をその実施形態に基づいて詳細に説明した。しかし、本開示は上記実施形態に限定されるものではない。本開示は、その要旨を逸脱しない範囲で様々な変形が可能である。
【００５８】
移動体を制御するためのシステム構成は限定されない。例えば、移動体３０がサーバ１０の機能を備えてもよく、この場合には、移動体３０は通信ネットワークを介して地図データベース２０および外部データベース５０にアクセスすることで地図データ２１、共通ブロックデータ２２、および動的情報５１を読み出す。あるいは、移動体３０がサーバ１０、地図データベース２０、および外部データベース５０のすべての機能を備えてもよく、この場合には、移動体３０はあたかもスタンドアロンマシンのように、他の情報処理装置に頼ることなく移動を制御することができる。
【００５９】
少なくとも一つのプロセッサにより実行される移動体の制御の手順は上記実施形態での例に限定されない。例えば、上述したステップ（処理）の一部が省略されてもよいし、別の順序で各ステップが実行されてもよい。また、上述したステップのうちの任意の２以上のステップが組み合わされてもよいし、ステップの一部が修正または削除されてもよい。あるいは、上記の各ステップに加えて他のステップが実行されてもよい。
【００６０】
以上の実施形態の全部または一部に記載された態様は、移動体の適切な制御、処理速度の向上、処理精度の向上、使い勝手の向上、データを利用した機能の向上または適切な機能の提供その他の機能向上または適切な機能の提供、データおよび／またはプログラムの容量の削減、装置および／またはシステムの小型化等の適切なデータ、プログラム、記録媒体、装置および／またはシステムの提供、並びにデータ、プログラム、装置またはシステムの制作・製造コストの削減、制作・製造の容易化、制作・製造時間の短縮等のデータ、プログラム、記録媒体、装置および／またはシステムの制作・製造の適切化のいずれか一つの課題を解決する。
【符号の説明】
【００６１】
１…移動制御システム、１０…サーバ、１１…経路取得部、１２…動的情報取得部、１３…指示生成部、１４…通信部、２０…地図データベース、２１…地図データ、２２…共通ブロックデータ、３０…移動体、３１…他の移動体、４０…外部サーバ、５０…外部データベース、５１…動的情報、２００…移動経路、２０１〜２０６…ノード、２１１…進入禁止区域、２１２…気象状況、２２１〜２２３，２６１〜２６６，２７１〜２７４，２８１…動的情報ブロック、２３０〜２３４，２５０…共通ブロック、２４０…飛行領域、２４１…リンク。
【図１】
2020091201.tif 000003
【図２】
2020091201.tif 000004
【図３】
2020091201.tif 000005
【図４】
2020091201.tif 000006
【図５】
2020091201.tif 000007
【図６】
2020091201.tif 000008
【図７】
2020091201.tif 000009
【図８】
2020091201.tif 000010
【図９】
2020091201.tif 000011
【図１０】
2020091201.tif 000012
【図１１】
2020091201.tif 000013
【図１２】
2020091201.tif 000014
【図１３】
2020091201.tif 000015