(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-03
(45)【発行日】2024-09-11
(54)【発明の名称】情報処理方法、プログラム、情報処理装置、情報処理システムおよび地図データ更新方法
(51)【国際特許分類】
G08G 1/00 20060101AFI20240904BHJP
G01C 21/34 20060101ALI20240904BHJP
G08G 1/0969 20060101ALI20240904BHJP
G08G 1/09 20060101ALI20240904BHJP
G05D 1/225 20240101ALI20240904BHJP
G16Y 40/60 20200101ALI20240904BHJP
G16Y 10/40 20200101ALI20240904BHJP
【FI】
G08G1/00 D
G01C21/34
G08G1/0969
G08G1/09 F
G05D1/225
G16Y40/60
G16Y10/40
(21)【出願番号】P 2023579855
(86)(22)【出願日】2023-08-31
(86)【国際出願番号】 JP2023032013
(87)【国際公開番号】W WO2024080036
(87)【国際公開日】2024-04-18
【審査請求日】2023-12-26
(31)【優先権主張番号】P 2022163478
(32)【優先日】2022-10-11
(33)【優先権主張国・地域又は機関】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】512250902
【氏名又は名称】WHILL株式会社
(74)【代理人】
【識別番号】100114557
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】堀 和紀
(72)【発明者】
【氏名】荒井 大河
(72)【発明者】
【氏名】金子 宣也
【審査官】上野 博史
(56)【参考文献】
【文献】特開2017-053683(JP,A)
【文献】国際公開第2021/229881(WO,A1)
【文献】特開2019-174304(JP,A)
【文献】特開平04-302400(JP,A)
【文献】国際公開第2017/010126(WO,A1)
【文献】国際公開第2022/180937(WO,A1)
【文献】特開平11-211491(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G08G 1/00
G01C 21/34
G08G 1/0969
G08G 1/09
G05D 1/225
G16Y 40/60
G16Y 10/40
(57)【特許請求の範囲】
【請求項1】
人を乗せて移動する移動体から現在位置と目的地とを取得し、
複数のノードと、
前記複数のノードに含まれる二つのノードのうちの一方のノードを始点ノード、他方のノードを終点ノードとして、前記始点ノードと
前記終点ノードとを接続するリンクと、
前記リンクに関連付けられた走行条件とを含む地図データに基づいて生成された、前記現在位置から前記目的地までの第1経路を取得し、
前記走行条件は、前記始点ノードから前記終点ノードに向けて前記リンクに沿って前記移動体が走行する際の、前記リンクからの平行移動量であるオフセット量、または、前記移動体の走行方向と前記移動体の向きとの関係に関する情報を含み、
前記第1経路が通過する順にノードを並べたノード列と、前記第1経路を構成するそれぞれのリンクの
前記走行条件とを含む前記第1経路に関する情報を前記移動体に送信する
処理をコンピュータが実行する情報処理方法。
【請求項2】
前記移動体から前記リンクの走行に関する一または複数の通行証の発行要求を受け付けた場合、
発行要求を受け付けた一の通行証について、または発行要求を受け付けた複数の通行証のそれぞれについて、前記移動体が走行予定の経路に干渉する第2移動体に対して対応する通行証を発行中であるか否かを判定し、
発行中ではないと判定した場合、
前記通行証は発行可能であると判定し、
発行要求を受け付けた通行証をすべて発行可能であると判定した場合に、前記移動体に対して通行証を発行し、
前記移動体から前記通行証の返却を受け付ける
請求項1に記載の情報処理方法。
【請求項3】
前記第2移動体が、前記移動体が走行予定のリンクと同一のリンクを
始点ノードから終点ノードに向けて走行中である場合、前記第2移動体は前記移動体の走行経路に干渉しないと判定する
請求項2に記載の情報処理方法。
【請求項4】
前記第1経路は、複数のノード
と、前記複数のノードに含まれる二つのノードのうちの一方のノードを始点ノード、他方のノードを終点ノードとして、前記始点ノードと
前記終点ノードと
を接続するリンクと、前記リンクに関連付けられた走行条件と
、前記リンクが交差点を構成するか否かを示す情報
とを含む
前記地図データに基づいて生成されており、
前記移動体から交差点の走行に関する通行証の発行要求を受け付けた場合、前記交差点において前記移動体が走行予定の経路に干渉する第2移動体に対して対応する通行証を発行中であるか否かを判定し、
発行中ではないと判定した場合、前記移動体に対して通行証を発行し、
前記移動体から前記通行証の返却を受け付ける
請求項1に記載の情報処理方法。
【請求項5】
利用者を搭乗させる迎車位置を含む迎車要求を取得し、
前記迎車要求に対応させる移動体の現在位置を取得し、
前記地図データに基づいて生成された、前記現在位置から前記
迎車位置までの第1経路を取得し、
前記第1経路を前記移動体に送信する
請求項1に記載の情報処理方法。
【請求項6】
人を乗せて移動する移動体から現在位置と目的地とを取得し、
複数のノードと、
前記複数のノードに含まれる二つのノードのうちの一方のノードを始点ノード、他方のノードを終点ノードとして、前記始点ノードと
前記終点ノードとを接続するリンクと、
前記リンクに関連付けられた走行条件とを含む地図データに基づいて生成された、前記現在位置から前記目的地までの第1経路を取得し、
前記走行条件は、前記始点ノードから前記終点ノードに向けて前記リンクに沿って前記移動体が走行する際の前記リンクからの平行移動量であるオフセット量に関する情報を含み、
前記第1経路が通過する順にノードを並べたノード列と、前記第1経路を構成するそれぞれのリンクの
前記走行条件とを含む前記第1経路に関する情報を前記移動体に送信する
処理をコンピュータが実行する情報処理方法。
【請求項7】
人を乗せて移動する移動体から現在位置と目的地とを取得し、
複数のノードと、
前記複数のノードに含まれる二つのノードのうちの一方のノードを始点ノード、他方のノードを終点ノードとして、前記始点ノードと
前記終点ノードとを接続するリンクと、
前記リンクに関連付けられた走行条件とを含む地図データに基づいて生成された、前記現在位置から前記目的地までの第1経路を取得し、
前記第1経路が通過する順にノードを並べたノード列と、前記第1経路を構成するそれぞれのリンクの
前記走行条件とを含む前記第1経路に関する情報を前記移動体に送信する
処理をコンピュータが実行する情報処理方法。
【請求項8】
前記走行条件は、前記移動体が前記リンクを走行する際
に通行証
が必要であるか否かに関する情報を含む
請求項1から
請求項7のいずれか一つに記載の情報処理方法。
【請求項9】
人を乗せて移動する移動体の現在位置と目的地とを送信し、
前記現在位置から前記目的地までの間に通過するノードを並べたノード列と、それぞれの前記ノードの座標と、二つの前記ノードを連結するリンクに沿って前記移動体が走行する際の前記リンクからの平行移動量であるオフセット量を含む前記リンクの走行条件とを含む第1経路を受信し、
前記第1経路に含まれるそれぞれのリンクを前記オフセット量の長さ平行移動させた第2経路を生成し、
前記移動体に前記第2経路を走行させる
処理をコンピュータが実行する情報処理方法。
【請求項10】
前記リンクの一部に関連づけられた前記走行条件は、該リンクの走行に必要な通行証と、要求距離と、前記要求距離よりも短い確認距離とを含み、
前記通行証が必要なリンクから前記第2経路に沿って前記要求距離離れた場所に前記移動体が到達した場合に、前記通行証の発行を要求し、
前記リンクから前記第2経路に沿って前記確認距離離れた場所に前記移動体が到達し、かつ、前記通行証を取得していない場合は、前記移動体を停止させ、
前記通行証を取得した後に、前記移動体を走行させる
請求項9に記載の情報処理方法。
【請求項11】
前記リンクの一部に関連づけられた前記走行条件は、該リンクの走行に必要な通行証と、要求距離と、前記要求距離よりも短い確認距離とを含み、
前記通行証が必要なリンクから前記要求距離離れた場所に前記移動体が到達した場合に、前記通行証の発行を要求し、
前記リンクから前記確認距離離れた場所に前記移動体が到達し、かつ、前記通行証を取得していない場合は、前記移動体を停止させ、
前記通行証を取得した後に、前記移動体を走行させる
請求項9に記載の情報処理方法。
【請求項12】
前記移動体の進行方向に障害物がある場合、あらかじめ定められた回避運動時間の間、前記移動体に回避運動を実行させ、
前記回避運動時間の経過後、前記移動体に前記第2経路を走行させる
請求項9に記載の情報処理方法。
【請求項13】
前記第1経路にエレベータに対応するノードが含まれる場合、
前記ノードから所定の範囲に前記移動体が到達した場合に通知を送信し、
前記エレベータのケージに進入可能である場合に、前記移動体を前記ケージに進入させる
請求項9から請求項12のいずれか一つに記載の情報処理方法。
【請求項14】
人を乗せて移動する移動体から現在位置と目的地とを取得し、
複数のノードと、
前記複数のノードに含まれる二つのノードのうちの一方のノードを始点ノード、他方のノードを終点ノードとして、前記始点ノードと
前記終点ノードとを接続するリンクと、
前記リンクに関連付けられた走行条件とを含む地図データに基づいて生成された、前記現在位置から前記目的地までの第1経路を取得し、
前記走行条件は、前記始点ノードから前記終点ノードに向けて前記リンクに沿って前記移動体が走行する際の、前記リンクからの平行移動量であるオフセット量、または、前記移動体の走行方向と前記移動体の向きとの関係に関する情報を含み、
前記第1経路が通過する順にノードを並べたノード列と、前記第1経路を構成するそれぞれのリンクの
前記走行条件とを含む前記第1経路に関する情報を前記移動体に送信する
処理をコンピュータに実行させるプログラム。
【請求項15】
人を乗せて移動する移動体から現在位置と目的地とを取得し、
複数のノードと、
前記複数のノードに含まれる二つのノードのうちの一方のノードを始点ノード、他方のノードを終点ノードとして、前記始点ノードと
前記終点ノードとを接続するリンクと、
前記リンクに関連付けられた走行条件とを含む地図データに基づいて生成された、前記現在位置から前記目的地までの第1経路を取得し、
前記走行条件は、前記始点ノードから前記終点ノードに向けて前記リンクに沿って前記移動体が走行する際の前記リンクからの平行移動量であるオフセット量に関する情報を含み、
前記第1経路が通過する順にノードを並べたノード列と、前記第1経路を構成するそれぞれのリンクの
前記走行条件とを含む前記第1経路に関する情報を前記移動体に送信する
処理をコンピュータに実行させるプログラム。
【請求項16】
人を乗せて移動する移動体から現在位置と目的地とを取得し、
複数のノードと、
前記複数のノードに含まれる二つのノードのうちの一方のノードを始点ノード、他方のノードを終点ノードとして、前記始点ノードと
前記終点ノードとを接続するリンクと、
前記リンクに関連付けられた走行条件とを含む地図データに基づいて生成された、前記現在位置から前記目的地までの第1経路を取得し、
前記第1経路が通過する順にノードを並べたノード列と、前記第1経路を構成するそれぞれのリンクの
前記走行条件とを含む前記第1経路に関する情報を前記移動体に送信する
処理をコンピュータに実行させるプログラム。
【請求項17】
人を乗せて移動する移動体の現在位置と目的地とを送信し、
前記現在位置から前記目的地までの間に通過するノードを並べたノード列と、それぞれの前記ノードの座標と、二つの前記ノードを連結するリンクに沿って前記移動体が走行する際の前記リンクからの平行移動量であるオフセット量を含む前記リンクの走行条件とを含む第1経路を受信し、
前記第1経路に含まれるそれぞれのリンクを前記オフセット量の長さ平行移動させた第2経路を生成し、
前記移動体に前記第2経路を走行させる
処理をコンピュータに実行させるプログラム。
【請求項18】
制御部を備える情報処理装置であって、
前記制御部は、
人を乗せて移動する移動体の現在位置と目的地とを送信し、
前記現在位置から前記目的地までの間に通過するノードを並べたノード列と、それぞれの前記ノードの座標と、二つの前記ノードを連結するリンクに沿って前記移動体が走行する際の前記リンクからの平行移動量であるオフセット量を含む前記リンクの走行条件とを含む第1経路を受信し、
前記第1経路に含まれるそれぞれのリンクを前記オフセット量の長さ平行移動させた第2経路を生成し、
前記移動体に前記第2経路を走行させる
情報処理装置。
【請求項19】
サーバとクライアントとを備える情報処理システムであって、
前記クライアントは、第1制御部を有し、
前記サーバは、第2制御部を有し、
前記第1制御部は、人を乗せて移動する移動体の現在位置と目的地とを送信し、
前記第2制御部は、
前記現在位置と前記目的地とを受信し、
複数のノードと、始点ノードと終点ノードとを接続するリンクと、前記リンクに沿って前記移動体が走行する際の前記リンクからの平行移動量であるオフセット量を含む前記リンクの走行条件とを含む地図データに基づいて生成された、前記現在位置から前記目的地までの第1経路を取得し、
前記第1経路が通過する順にノードを並べたノード列と、前記第1経路を構成するそれぞれのリンクの走行条件とを含む前記第1経路に関する情報を前記第1制御部に送信し、
前記第1制御部は、
前記第1経路に関する情報を受信し、
前記第1経路に含まれるそれぞれのリンクを前記オフセット量の長さ平行移動させた第2経路を生成し、
前記移動体に前記第2経路を走行させる
情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理方法、プログラム、情報処理装置、情報処理システムおよび地図データ更新方法に関する。
【背景技術】
【0002】
リンクとノードとの組み合わせにより道路網を表現する、自動運転用の地図データ構造が提案されている。たとえば交差点は、流入リンクと、流出リンクと、ノードとの組み合わせにより表現される。(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
乗用車、バスおよびトラック等の一般的な自動車は、車道を走行する。特許文献1のリンクは車道を構成する各車線に対応する。自動運転中の各車両は、道路上に引かれたセンターラインおよび車線境界線等をガイドにして走行ラインを定めて、指示されたリンク上を走行する。
【0005】
空港およびショッピングモール等の広い場所において、長距離の自力歩行が難しい高齢者等の移動を支援する電動車椅子等の、一人乗りの移動体が使用されている。これらの移動体を自動運転で走行させることにより、不慣れな利用者の誤操作による衝突事故等を防止できる。
【0006】
しかしながら、このような場所の利用者の大半は歩行者であるため、移動体専用の車道を設けることは難しい。
【0007】
一つの側面では、長距離の自力歩行が難しい人の移動を支援する移動体の自動走行を実現する情報処理方法等の提供を目的とする。
【課題を解決するための手段】
【0008】
情報処理方法は、人を乗せて移動する移動体から現在位置と目的地とを取得し、複数のノードと、前記複数のノードに含まれる二つのノードのうちの一方のノードを始点ノード、他方のノードを終点ノードとして、前記始点ノードと前記終点ノードとを接続するリンクと、前記リンクに関連付けられた走行条件とを含む地図データに基づいて生成された、前記現在位置から前記目的地までの第1経路を取得し、前記走行条件は、前記始点ノードから前記終点ノードに向けて前記リンクに沿って前記移動体が走行する際の、前記リンクからの平行移動量であるオフセット量、または、前記移動体の走行方向と前記移動体の向きとの関係に関する情報を含み、前記第1経路が通過する順にノードを並べたノード列と、前記第1経路を構成するそれぞれのリンクの前記走行条件とを含む前記第1経路に関する情報を前記移動体に送信する処理をコンピュータが実行する。
【発明の効果】
【0009】
一つの側面では、長距離の自力歩行が難しい人の移動を支援する移動体の自動走行を実現する情報処理方法等を提供できる。
【図面の簡単な説明】
【0010】
【
図1】情報処理システムの構成を説明する説明図である。
【
図4】ノードDBのレコードレイアウトを説明する説明図である。
【
図5】リンクDBのレコードレイアウトを説明する説明図である。
【
図6】移動体DBのレコードレイアウトを説明する説明図である。
【
図13】プログラムの処理の流れを説明するフローチャートである。
【
図14】部分経路抽出のサブルーチンの処理の流れを説明するフローチャートである。
【
図15】発行のサブルーチンの処理の流れを説明するフローチャートである。
【
図16】隘路判定のサブルーチンの処理の流れを説明するフローチャートである。
【
図17】交差点判定のサブルーチンの処理の流れを説明するフローチャートである。
【
図18】実施の形態2の地図データを説明する説明図である。
【
図19】実施の形態2のノードDBのレコードレイアウトを説明する説明図である。
【
図20】実施の形態2のリンクDBのレコードレイアウトを説明する説明図である。
【
図21】実施の形態2の第1経路および第2経路を説明する説明図である。
【
図22】実施の形態2の部分経路を説明する説明図である。
【
図23】実施の形態2の部分経路を説明する説明図である。
【
図24】実施の形態2の部分経路を説明する説明図である。
【
図25】実施の形態2の部分経路を説明する説明図である。
【
図26】実施の形態2のプログラムの処理の流れを説明するフローチャートである。
【
図27】第2オペレータが閲覧する地図画面の例である。
【
図28】ドラッグアンドドロップ操作後に表示される地図画面の例である。
【
図29】実施の形態3のプログラムの処理の流れを説明するフローチャートである。
【
図30】実施の形態4のリンクDBのレコードレイアウトを説明する説明図である。
【
図31】回避運動時の走行経路を説明する説明図である。
【
図32】実施の形態4のプログラムの処理の流れを説明するフローチャートである。
【
図33】実施の形態5の通行証について説明する説明図である。
【
図34】実施の形態6の移動体が走行する場所の例を説明する説明図である。
【
図35】実施の形態6のプログラムの処理の流れを説明するフローチャートである。
【
図36】実施の形態7の情報処理システムの構成を説明する説明図である。
【発明を実施するための形態】
【0011】
[実施の形態1]
図1は、情報処理システム10の構成を説明する説明図である。情報処理システム10は、サーバ20と、複数の移動体30とを備える。移動体30は、人を乗せて目的地まで移動する電動カートまたはシニアカー等の、電動車椅子である。
【0012】
本実施の形態の移動体30は、たとえば電動車椅子であり、空港およびショッピングモール等の、広くて歩行者が多い場所において、長距離の自力歩行が難しい高齢者等の移動支援に使用される。このような用途に用いられる移動体30の利用者は、移動体30の操作に不慣れである。利用者が望む目的地まで、移動体30を自動運転で走行させることにより、利用者の誤操作による衝突事故等を防止できる。
【0013】
移動体30は、制御装置40と、コントローラ32と、センサ34と、駆動装置36とタイヤ37等の車輪とを備える。タイヤ37は、全方向車輪(オムニダイレクショナルホイール)であることが望ましい。制御装置40は、制御部41、主記憶装置42、補助記憶装置43、通信部44およびバスを備える。制御装置40は、情報処理システム10におけるクライアントの例示である。
【0014】
制御部41は、本実施の形態のプログラムを実行する演算制御装置である。制御部41には、一または複数のCPU(Central Processing Unit)、GPU(Graphics Processing Unit)、TPU(Tensor Processing Unit)またはマルチコアCPU等が使用される。制御部41は、バスを介して制御装置40を構成するハードウェア各部と接続されている。
【0015】
主記憶装置42は、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)、フラッシュメモリ等の記憶装置である。主記憶装置42には、制御部41が行なう処理の途中で必要な情報および制御部41で実行中のプログラムが一時的に保存される。
【0016】
補助記憶装置43は、SRAM、フラッシュメモリ、ハードディスクまたは磁気テープ等の記憶装置である。補助記憶装置43には、地図データ56、制御部41に実行させるプログラム、およびプログラムの実行に必要な各種データが保存される。地図データ56は、制御装置40に接続された外部の大容量記憶装置に記憶されていてもよい。通信部44は、制御装置40とネットワークとの間の通信を行なうインターフェイスである。
【0017】
本実施の形態の制御装置40は、汎用のパーソナルコンピュータ、タブレット、スマートフォン等の情報処理装置である。制御装置40は、移動体30用の専用ハードウェアであってもよい。制御装置40は、分散処理を行なう複数のパソコン等であってもよい。
【0018】
コントローラ32は、たとえばタッチパネル、マイクおよびスピーカ等のユーザインターフェイス装置を備えるリモートコントローラである。コントローラ32は、汎用のスマートフォンまたはタブレット等の情報機器であってもよい。コントローラ32は、ジョイスティック等を備える専用のハードウェアであってもよい。コントローラ32は、家庭用ゲーム機用のゲームコントローラであってもよい。コントローラ32は有線または無線で制御装置40と接続されており、制御装置40の入出力装置の機能を果たす。
【0019】
センサ34は、たとえば赤外線センサ、超音波センサ、LiDAR(Light Detection and Ranging)センサ、ToF(Time Of Flight)センサ、画像センサおよびGPS(Global Positioning System)センサ等の各種センサである。センサ34は、移動体30の周囲にいる歩行者、他の移動体30、壁、段差および床置きされた荷物等の、移動体30の走行を妨げる障害物71(
図31参照)を検出する。センサ34は、床または壁に設置された誘導用、または現在位置校正用のマーカを検出しても良い。センサ34は、現在位置の判定に用いるビーコンを受信してもよい。
【0020】
移動体30は、複数のセンサ34を備えており、障害物71を検出した場合には衝突する前に自動的に停止、または迂回する。制御部41は、GPSセンサ、マーカまたはビーコン等に基づいて移動体30の現在位置を随時判定して、サーバ20に送信する。制御部41は、走行した距離および向きに基づいて移動体30の現在位置を随時推定して、サーバ20に送信してもよい。
【0021】
駆動装置36は、制御部41の指示に基づいてタイヤ37を制御し、移動体30を走行および停止させる。図示を省略するが、駆動装置36もCPU等の制御部を含む。なお、制御部41が駆動装置36の制御部を兼ねてもよい。
【0022】
サーバ20は、制御部21、主記憶装置22、補助記憶装置23、通信部24およびバスを備える。制御部21は、本実施の形態のプログラムを実行する演算制御装置である。制御部21には、一または複数のCPU、GPU、TPUまたはマルチコアCPU等が使用される。制御部21は、バスを介してサーバ20を構成するハードウェア各部と接続されている。
【0023】
主記憶装置22は、SRAM、DRAM、フラッシュメモリ等の記憶装置である。主記憶装置22には、制御部21が行なう処理の途中で必要な情報および制御部21で実行中のプログラムが一時的に保存される。
【0024】
補助記憶装置23は、SRAM、フラッシュメモリ、ハードディスクまたは磁気テープ等の記憶装置である。補助記憶装置23には、地図データ51、移動体DB(Database)54、制御部21に実行させるプログラム、およびプログラムの実行に必要な各種データが保存される。地図データ51は、ノードDB52とリンクDB53とを含む。地図データ51および移動体DB54は、サーバ20に接続された外部の大容量記憶装置に記憶されていてもよい。通信部24は、サーバ20とネットワークとの間の通信を行なうインターフェイスである。
【0025】
本実施の形態のサーバ20は、汎用のサーバコンピュータ、パソコン、タブレットまたはスマートフォン等の情報機器である。サーバ20は、大型計算機、大型計算機上で動作する仮想マシン、クラウドコンピューティングシステム、量子コンピュータ、または、分散処理を行なう複数のパソコン等であってもよい。
【0026】
以後の説明では、主に制御部21および制御部41がソフトウェア的な処理を行なう場合を例にして説明する。フローチャートを使用して説明する各々の処理は、それぞれ専用のハードウェアにより実現されてもよい。
【0027】
図2は、地図データ51を説明する説明図である。地図データ51は、複数のノードと、二つのノードを接続するリンクとにより構成されている。
図2においては白丸および黒丸はノードを示し、ノード間を結ぶ線はリンクを示す。白丸は、一本または二本のリンクと接続されている通常ノードを示す。黒丸は、三本以上のリンクが接続されている交差点ノードを示す。
【0028】
以後の説明で、個々のノードを区別する場合には、ノード内部に示すアルファベットを使用する。たとえば
図2の右上に示す「Z」の文字が記載されたノードは、「Z」または「ノードZ」の様に記載する。これらのアルファベットは、それぞれのノードに固有に付与されたノードID(Identifier)の例を示す。リンクは、直線であっても曲線であっても良い。以下の説明において、リンクは二つのノードを結ぶ直線である場合を例にして説明する。
【0029】
図2において、三角形は移動体30の位置を示す。三角形内部の黒く塗った角は、移動体30の進行方向を示す。以下の説明では、三角形の位置で利用者が移動体30に搭乗し、コントローラ32を操作して、四角形で示す目的地を指示した場合を例にして説明する。
【0030】
制御部21は、現在位置から目的地までの経路を生成する。現在位置と目的地とを結ぶ経路が複数存在する場合、制御部21はたとえば移動距離を最短にする、または、移動時間を最短にする等の所定のルールに基づいて使用する経路を選択する。ノードとリンクとにより構成された地図に基づく移動経路の生成は、従来から行なわれているため、詳細については説明を省略する。以下の説明では、移動体30はP、Q、R、S、T、Uのノードを順番に通り、目的地に至る経路を走行する。
【0031】
図3は、
図2におけるIII部拡大図である。
図3を使用して交差点ノードの詳細を説明する。
図2においては一個の黒丸により略記するノードRは、
図3に示すようにノードR0からノードR4までの五個のノードにより構成されている。移動体30は、ノードR1から交差点に進入し、ノードR4から退出する。
【0032】
図3においては、移動体30が進入できない禁止領域をハッチングで示す。禁止領域は、たとえば壁または柵等の障害物71により移動体30の進入が物理的に妨げられている領域である。禁止領域は、歩行者との共存および移動体30の交通整理のために仮想的に定められた領域であってもよい。
【0033】
ノードR4とノードSとを結ぶリンクは、他のリンクに比べて移動体30が通過できる幅が狭い隘路リンクになっている。たとえばノードSとノードTとを結ぶリンクでは、移動体30のすれ違いが可能であるが、ノードR4とノードSとを結ぶ隘路リンクでは移動体30のすれ違いは不可能である。
【0034】
図3においては、交差点ノードを構成するノード同士を接続する交差点リンク、および前述の隘路リンクを太線で示す。これらの太線で示すリンクは、後述する通行証を保有する移動体30のみが走行可能である。移動体30は、太線で示すリンクに近づくとサーバ20に通行証の発行要求を送信する。サーバ20は、通行証を要求した移動体30が、他の移動体30と干渉せずに当該リンクを走行できる場合に、通行証を発行する。
【0035】
移動体30は、通行証を受信した後に当該リンクに進入する。通行証が発行されない場合、移動体30は走行予定のリンクの手前で停止して、通行証が発行されるまで待機する。以上により、交差点および隘路リンクにおける移動体30同士の衝突事故等が防止される。通行証に関する処理の詳細については、後述する。
【0036】
それぞれの移動体30の地図データ56に記録されている領域は、地図データ51に記録されている領域と同一である。移動体30の走行範囲が限定されている場合には、地図データ56に記録されている領域は、地図データ51に記録されている領域の一部分であってもよい。目的地および走行経路が定まった後に、地図データ51から必要な部分が抽出されて、サーバ20から移動体30に送信および記録されてもよい。
【0037】
以下の説明では地図データ56と地図データ51とに同一領域の地図が記録されている場合を例にして説明する。
【0038】
図4は、ノードDB52のレコードレイアウトを説明する説明図である。ノードDB52は、それぞれのノードの座標を関連づけて記録するデータベースである。ノードDB52は、ノードIDフィールドおよび座標フィールドを有する。座標フィールドは、xフィールドおよびyフィールドを有する。
【0039】
ノードIDフィールドには、各ノードに固有に付与されたノードIDが記録されている。
図4においては
図2において各ノードを示す円の中に記載したアルファベットをノードIDに記載する。xフィールドには、ノードのx座標が記録されている。yフィールドには、ノードのy座標が記録されている。ノードDB52は、一つのノードについて一つのレコードを有する。
【0040】
図5は、リンクDB53のレコードレイアウトを説明する説明図である。リンクDB53は、それぞれのリンクに関する情報を関連づけて記録するデータベースである。リンクDB53は、リンクIDフィールド、位置フィールド、通行証フィールドおよび走行条件フィールドを有する。
【0041】
位置フィールドは、始点フィールドおよび終点フィールドを有する。通行証フィールドは、通行証IDフィールド、種類フィールド、要求フィールドおよび確認フィールドを有する。走行条件フィールドは、オフセットフィールドを有する。走行条件フィールドは、たとえば上限速度、下限速度、車体走行方向(前進走行・後進走行)、その他それぞれのリンクの走行条件を記録した各種フィールドを含んでもよい。
【0042】
リンクIDフィールドには、各リンクに固有に付与されたリンクIDが記録されている。始点フィールドには、リンクの始点ノードが記録されている。終点フィールドには、リンクの終点ノードが記録されている。たとえば、「L001」のリンクと、「L002」のリンクとでは、始点ノードと終点ノードとが入れ替わっている。
【0043】
通行証IDフィールドには、リンクを走行するための通行証を識別する通行証IDが記録されている。通行証IDフィールドの「不要」は、当該リンクを走行する際には通行証は不要であることを示す。通行証が不要なリンクについては、通行証に関する情報を記録する種類フィールド、要求フィールドおよび確認フィールドに「-」が記録されている。
【0044】
図5に示す例においては、ノードR0からノードR4までの交差点ノード同士を結ぶ交差点リンクを走行する移動体30に必要な証明書IDは、「Pass-C1」である。ノードR4とノードSとを結ぶ隘路リンクを走行する移動体30に必要な証明書IDは、「Pass―N1」である。
【0045】
種類フィールドには、通行証の種類が記録されている。「交差点」および「隘路」は、
図3を使用して説明した交差点ノードと隘路リンクとをそれぞれ示す。交差点に進入するリンクと、隘路リンクについては、要求フィールドおよび確認フィールドにそれぞれ通行証を要求する要求距離、および、通行証を確認する確認距離が記録されている。要求フィールドおよび確認フィールドの「-」は、要求距離および確認距離が定められていないことを示す。要求距離および確認距離については、後述する。
【0046】
オフセットフィールドには、移動体30がリンクを走行する際のオフセット量が記録されている。本実施の形態においては、左側へのオフセット量を正数(+)で、右側へのオフセット量を負数(-)で示す。左側通行である場合を例にして説明する。「L001」のリンクを走行する移動体30は、ノードPからノードQに向かう直線から左に0.8メートルずれた直線上を走行する。「L002」のリンクを走行する移動体30は、ノードQからノードPに向かう直線から左に0.8メートルずれた直線上を走行する。移動体30の幅の半分を超えるオフセット量が設定されている場合、ノードPとノードQとの間で、移動体30はすれ違い可能である。
【0047】
隘路リンクである「L009」および「L010」のオフセット量は0であり、移動体30はノードR4とノードSとを結ぶ直線上を走行する。なお、隘路リンクのオフセット量は0に限定しない。隘路リンクには移動体30が安全にすれ違えない程度のオフセット量が設定されている場合がある。リンクDB53は、一つのリンクについて一つのレコードを有する。なお、
図5に示すリンクDB53の構成およびオフセット量、要求距離および確認距離はいずれも例示である。
【0048】
図6は、移動体DB54のレコードレイアウトを説明する説明図である。移動体DB54は、移動体30に関する情報を関連づけて記録するデータベースである。移動体DB54は、移動体IDフィールド、出発地フィールド、目的地フィールド、経路フィールド、現在位置フィールドおよび通行証フィールドを有する。
【0049】
移動体IDフィールドには、移動体30に固有に付与された移動体IDが記録されている。始点フィールドには、移動体30の走行開始位置が記録されている。終点フィールドには移動体30の目的地が記録されている。始点フィールドおよび終点フィールドには、たとえばそれぞれの位置の座標が記録されている。移動体30の出発地および目的地がノードの位置である場合には、始点フィールドおよび終点フィールドにはノードIDが記録されていてもよい。
【0050】
経路フィールドには、移動体30が通過するノードのノードIDを順番に並べたノード列の形式で、移動体30の走行経路が記録されている。たとえば、「C001」の移動体30の経路フィールドに記録された「PQRSTU」は、移動体30がP、Q、R、S、T、Uのノードを順番に通る経路を走行して、目的地まで移動することを意味する。
【0051】
現在位置フィールドには、移動体30の現在位置を示す座標が記録されている。前述の通り制御部41は、移動体30の現在位置を随時判定して、サーバ20に送信する。制御部21は、それぞれの移動体30の現在位置を受信して、対応するレコードの現在位置フィールドを更新する。
【0052】
通行証フィールドには、それぞれの移動体30に対して発行中の通行証の通行証IDが記録されている。通行証フィールドの「-」は、通行証が発行されていないことを示す。なお、待機中の移動体30については、現在位置フィールド以外のフィールドには「-」が記録されている。移動体DB54は、一台の移動体30について、一つのレコードを有する。
【0053】
図7は、第1経路61を説明する説明図である。制御部21は、移動体30から取得した現在位置と目的地とに基づいて、第1経路61を生成する。第1経路61は、ノードとリンクとにより構成される経路である。
図7においては第1経路61を太線で示す。
【0054】
制御部21は、生成した第1経路61を通過するノードのノードIDを並べたノード列の形式で移動体DB54の経路フィールドに記録する。制御部21は、第1経路61に関する情報を移動体30に送信する。第1経路61に関する情報には、ノード列と、それぞれのノードの座標と、ノード同士を連結するそれぞれのリンクの走行条件とが含まれる。走行条件には、オフセット量が含まれる。
【0055】
図8は、第2経路62を説明する説明図である。第2経路62は、制御部41が移動体30を走行させる経路である。
図8においては第2経路62を太線で示す。制御部41は、サーバ20から第1経路61に関する情報を受信する。制御部41は、それぞれのリンクをオフセット量だけ平行移動させて、第2経路62を生成する。
【0056】
図8および
図5に沿ってさらに具体的に説明する。ノードQからノードR1に向かうリンク、ノードR1からノードR0に向かうリンク、およびノードR0からノードR4に向かうリンクは、いずれもオフセット量が0.8であるため、第2経路62はリンクに対して0.8メートル左側にオフセットしている。ノードR4からノードSに向かう隘路リンクのオフセット量は0であるため、第2経路62はリンクと同じ経路である。ノードSからノードTに向かうリンクのオフセット量は0.8であるため、第2経路62はリンクに対して0.8メートル左側にオフセットしている。
【0057】
オフセット量が変化する場所では、制御部41は、第1経路61に対してたとえば45度の角度を成すように第2経路62を生成する。隘路リンクの直前および直後では、制御部41は緩やかな曲線になるように第2経路62を生成してもよい。
【0058】
同様に制御部41は、
図8におけるノードR0の左上の部分で、円弧を描くように第2経路62を生成しても良い。急激な方向転換を避けて、緩やかな曲線に沿った第2経路62が生成されることにより、乗り心地が良く、利用者が安心して搭乗できる移動体30が実現できる。
【0059】
以下の説明ではそれぞれのリンクをオフセットさせた部分を、オフセットリンクと記載する場合がある。第2経路62は、複数のオフセットリンクにより構成されている。
【0060】
図9から
図12は、通行証について説明する説明図である。
図3を使用して説明したとおり、ノードR1からノードR0、ノードR4を介してノードSに向かう各リンクは、通行証を保有する移動体30のみが走行可能である。
図5を使用して説明したとおり、交差点に進入するリンクおよび隘路リンクについては、要求距離および確認距離が記録されている。
【0061】
図9において、点R1dと点R0dとを結ぶ線は、ノードR1からノードR0に向かうリンクのオフセットリンクである。実線で示す通行証要求ライン65は、当該オフセットリンクを要求距離だけ離れて囲む曲線である。破線で示す通行証確認ライン66は、当該オフセットリンクを確認距離だけ離れて囲む曲線である。要求距離は確認距離よりも長く、通行証要求ライン65は通行証確認ライン66の外側を囲む。
【0062】
同様に
図11において、点R0dとノードR4とを結ぶ折れ線は、ノードR0からノードR4に向かうリンクのオフセットリンクである。オフセットリンクと通行証要求ライン65との距離、および、オフセットリンクと通行証確認ライン66との距離は、同じ交差点の進入リンクについて定められた距離と等しい。
【0063】
図示を省略するが、ノードR4からノードSに向かう隘路リンクについても同様に、通行証要求ライン65および通行証確認ライン66が定められる。
図5を使用して説明した通り、ノードSからノードTに向かうリンクは通行証が不要であるため、通行証要求ライン65および通行証確認ライン66は定義されない。
【0064】
図2および
図9を使用して説明を続ける。
図2において三角形で示す走行開始位置において、制御部41は第2経路62のうち、最初に通行証確認ライン66と交差する位置である点R1ckまでの走行を駆動装置36に指示する。以下の説明においては、制御部41が駆動装置36に対して指示する経路を部分経路68と記載する。
図9においては、点R1ckまでの部分経路68を太線で示す。
【0065】
駆動装置36は、タイヤ37を制御して部分経路68に沿って移動体30を走行させる。前述の通り、センサ34が障害物71を検知した場合には、駆動装置36は自動的に移動体30を停止、または迂回させる。障害物71が、同じ方向に走行する他の移動体30である場合、制御部41は適切な間隔を保って走行する。制御部41は、センサ34から取得した情報等に基づいて、移動体30の現在位置を随時判定する。
【0066】
移動体30が、第2経路62と通行証要求ライン65との交点である点R1rqに到達した場合、制御部41はサーバ20に対して点R1ck以降の走行に関する通行証の発行要求を送信する。通行証が必要なリンクが連続している場合、制御部41は通行証の発行要求を一括して送信する。
【0067】
具体的には、制御部41はノードR1から交差点に進入するために、「Pass-C1」の通行証の発行要求をサーバ20に送信する。制御部21は、交差点を通過した直後のノードR4からノードSに向かう隘路リンクを走行するために必要である、「Pass-N1」の通行証の発行要求も、「Pass-C1」の通行証の発行要求と同時にサーバ20に対して送信する。
【0068】
なお制御部41は、途中に通行証を要さないリンクが挟まれている場合であっても、通行証を要するリンクの通行証要求ライン65同士が重なっている場合には、通行証の発行要求を一括して送信する。
図12を使用して具体的に説明する。
【0069】
図12においては、ノードR4とノードSとの間はすれ違い可能であり、通行証は不要である。ノードSとノードTとの間はすれ違い不可能な隘路リンクであり、「Pass-N2」の通行証が必要である。第2経路62は、ノードSの手前まではリンクの左側にオフセットしており、ノードSとノードTとの間ではリンクからオフセットしていない。
【0070】
図12において、点R0dと点R4dとを結ぶ線は、ノードR0からノードR4に向かうリンクのオフセットリンクである。実線で示す通行証要求ライン651は、当該オフセットリンクを要求距離だけ離れて囲む曲線である。実線で示す通行証要求ライン652は、ノードSからノードTに向かうリンクを要求距離だけ離れて囲む曲線である。
【0071】
図12に示す例では、通行証要求ライン651と通行証要求ライン652とが交差している。このような場合、制御部41は交差点を走行するために必要な「Pass-C1」と同時に、隘路リンクを走行するために必要な「Pass-N2」の通行証の発行要求も同時に送信する。このようにすることにより、通行証を要するリンク同士の間における、通行証の発行を待機中の移動体30の停滞を防止できる。
【0072】
サーバ20における通行証の発行については、後述する。
図9に戻って説明を続ける。移動体30が点R1ckに到達するまでに通行証を受信しなかった場合、制御部41は点R1ck以降に走行する経路を駆動装置36に指示しない。駆動装置36は、点R1ckにおいて移動体30を停止させる。移動体30は、通行証が発行されるまで停止したまま待機する。
【0073】
通行証を受信した場合、
図10に示すように制御部41は次に通行証が必要な場所までの部分経路68の走行を駆動装置36に指示する。ここで指示される部分経路68の終点は、
図2に示す交差点ノードUの手前である。駆動装置36は、指示された部分経路68に沿って移動体30を走行させる。
【0074】
図11を使用して説明を続ける。移動体30が、交差点を通過して、第2経路62と通行証要求ライン65との交点である点R4rに到達した場合、制御部41は交差点に関する「Pass-C1」の通行証をサーバ20に返却する。サーバ20は、移動体DB54を更新して、通行証が返却されたことを記録する。
【0075】
図示を省略するが制御部41は、移動体30がノードSを通過してノードR4からノードSに向かうリンクの通行証要求ライン65に到達した場合、隘路リンクの走行に必要である「Pass-N1」の通行証をサーバ20に返却する。なお、要求距離とは別に、通行証を返却する位置を定義する情報がリンクDB53に記録されていてもよい。
【0076】
通行証の要求を受信した場合に、制御部21が行なう処理の概要を説明する。制御部21は、通行証を要求された経路と干渉する経路を走行する他の移動体30に対して、既に通行証を発行中であるか否かを判定する。他の移動体30に対して通行証を発行中ではない場合、制御部21は要求された通行証を発行可能であると判定する。他の移動体30に対して通行証を発行中である場合、制御部21は他の移動体30から通行証が返却されるまで待機する。
【0077】
図7を参照して具体例を説明する。以下の説明においては、交差点にノードR1から進入してノードR4から退出すべく通行証を要求した移動体30とは異なる他の移動体30を第2移動体と記載する。制御部21は、移動体DB54の通行証フィールドを検索して、制御部41から要求された「Pass-C1」および「Pass-N1」の通行証を他の移動体30に発行中であるか否かを判定する。
【0078】
いずれの通行証も発行中ではないと判定した場合、制御部21は「Pass-C1」および「Pass-N1」の通行証を一括して移動体30に対して発行する。制御部21は、移動体DB54の当該移動体30に対応するレコードの通行証フィールドに、発行した通行証の通行証IDを記録する。
【0079】
交差点の走行に必要な「Pass-C1」の通行証が第2移動体に対して発行されている場合の処理を説明する。たとえばノードR2またはノードR3から交差点に進入する第2移動体の走行経路は、直進、右折および左折のいずれの場合であっても、移動体30の走行経路と干渉する。同様に、ノードR4から交差点に進入して直進または右折する第2移動体の走行経路も、移動体30の走行経路と干渉する。
【0080】
このように、走行経路が干渉する第2移動体に対して「Pass―C1」の通行証を発行中である場合、第2移動体から通行証が返却されるまでの間、制御部21は移動体30に対して「Pass―C1」の通行証を発行できないと判定する。
【0081】
なお、「Pass-C1」の通行証が複数の第2移動体に対して発行されている場合、走行経路が干渉する第2移動体が一台でも存在する場合には、制御部21は移動体30に対して「Pass―C1」の通行証を発行できないと判定する。
【0082】
移動体30が左側通行を行なう場合、移動体30の左方のリンクから交差点に進入する第2移動体から時計回り順に干渉の有無を判定し、干渉する第2移動体を発見した場合に処理を終了することで、制御部21は効率良く判定を行なえる。移動体30が右側通行を行なう場合、移動体30の右方のリンクから交差点に進入する第2移動体から反時計回り順に干渉の有無を判定することが望ましい。
【0083】
前述のようにノードR0からノードR4で表す交差点の中ではオフセットが行なわれるため、ノードR4から交差点に進入して左折する第2移動体の走行経路は、移動体30の走行経路と干渉しない。このように走行経路が干渉しない第2移動体に対してのみ「Pass―C1」の通行証を発行中である場合、制御部21は移動体30に対しても「Pass―C1」の通行証を発行できると判定する。
【0084】
なお制御部21は、「Pass―C1」の通行証を発行できると判定した場合であっても、即座に移動体30に対して当該通行証を発行するわけではない。制御部21は、「Pass―C1」の通行証を発行できる状態であることを、主記憶装置22または補助記憶装置23に一時的に記憶する。制御部21は、移動体30が「Pass―C1」の通行証と同時に要求した他の通行証、すなわち
図7に示す例では「Pass-N1」の通行証の発行可否を判定する。
【0085】
隘路リンクの走行に必要な「Pass-N1」の通行証が第2移動体に対して発行されている場合の処理を説明する。同一方向に走行する複数の移動体30は、隘路リンクを同時に走行可能である。したがって、第2移動体が隘路リンクをノードR4からノードSに向けて走行する場合、すなわち移動体30と第2移動体とが同一のリンクを走行する場合、制御部21は移動体30に対しても「Pass―N1」の通行証を発行できると判定する。
【0086】
しかし、第2移動体が隘路リンクをノードSからノードR4に向けて走行する場合、すなわち移動体30とは逆方向のリンクを走行する場合、制御部21は第2移動体から「Pass―N1」の通行証が返却されるまでの間、移動体30に対して「Pass―N1」の通行証を発行できないと判定する。
【0087】
制御部21は、「Pass―N1」の通行証を発行できると判定した場合であっても、即座に移動体30に対して当該通行証を発行するわけではない。制御部21は、「Pass―N1」の通行証を発行できる状態であることを、主記憶装置22または補助記憶装置23に一時的に記憶する。制御部21は、移動体30から要求されたすべての通行証が発行できるまで、それぞれの通行証の発行可否判定を繰り返す。
【0088】
なお制御部21は、所定の数の「Pass―N1」が発行中である場合、同一方向に走行する移動体30に対する「Pass―N1」の通行証の発行を一時停止し、「Pass―N1」の通行証がすべて返却された後に逆方向に走行する移動体30に対して「Pass―N1」の通行証を発行してもよい。片方の向きに走行する移動体30だけが連続して隘路リンクを走行し、反対の向きに走行する移動体30が長時間停滞する現象を防止できる。
【0089】
「Pass-C1」と「Pass-N1」との両方の通行証を発行可能であると判定した場合、制御部21はこれらの通行証を一括して通行証を要求した移動体30に対して発行する。制御部21は、移動体DB54の当該移動体30に対応するレコードの通行証フィールドに、発行した通行証の通行証IDを記録する。
【0090】
移動体30から通行証が返却された場合、制御部21は移動体DB54を更新して返却された通行証を通行証フィールドから削除する。以上の処理により、移動体DB54に通行証の発行状況が随時記録される。
【0091】
念のため、移動体30がノードR1からノードR3に向けて交差点を直進する経路を走行する場合についても説明する。制御部41は、交差点の通行に必要な「Pass-C1」の通行証の発行要求をサーバ20に送信する。制御部21は、移動体DB54の通行証フィールドを検索して、制御部41から要求された「Pass-C1」を他の移動体30に発行中であるか否かを判定する。他の移動体30に対して発行中ではない場合、制御部21は「Pass-C1」を移動体30に対して発行可能であると判定する。
【0092】
「Pass-C1」の通行証が第2移動体に対して発行されている場合の処理を説明する。ノードR2から交差点に進入する第2移動体の走行経路は、直進、右折および左折のいずれの場合であっても、移動体30の走行経路と干渉する。ノードR3から交差点に進入して右折する第2移動体の走行経路、および、ノードR4から交差点に進入して直進または右折する第2移動体の走行経路も、移動体30の走行経路と干渉する。
【0093】
このように、走行経路が干渉する第2移動体に対して「Pass―C1」の通行証を発行中である場合、第2移動体が通行証を返却するまでの間、制御部21は移動体30に対して「Pass―C1」の通行証を発行できないと判定する。
【0094】
一方、ノードR3から交差点に進入して左折または直進する第2移動体の走行経路、および、ノードR4から交差点に進入して左折する第2移動体の走行経路は、移動体30の走行経路と干渉しない。このように走行経路が干渉しない第2移動体に対してのみ「Pass―C1」の通行証を発行中である場合には、制御部21は移動体30に対しても「Pass―C1」の通行証を発行できると判定する。
【0095】
図13は、プログラムの処理の流れを説明するフローチャートである。制御部41は、移動体30に搭乗した利用者が指定した目的地を取得する(ステップS501)。たとえば制御部41は、コントローラ32のタッチパネルに目的地のリストを表示し、利用者が選択した目的地を取得する。制御部41はコントローラ32のタッチパネルに地図を表示し、利用者がタップした目的地を取得してもよい。制御部41は、マイクを介して音声認識により目的地を取得してもよい。制御部41は、利用者の持つ航空券または搭乗券を読み取り、ネットワークを介して利用者が向かうべき出発ゲート等の目的地を取得してもよい。
【0096】
制御部41は、目的地をサーバ20に送信する(ステップS502)。制御部21は、目的地を受信する(ステップS701)。制御部21は、随時取得して移動体DB54に記録している移動体30の現在位置と受信した目的地とに基づいて、第1経路61を生成する(ステップS702)。制御部21は、外部の地図サーバ等に現在位置と目的地とを送信して、地図サーバで生成された第1経路61を取得してもよい。
【0097】
制御部21は、第1経路61に関する情報を移動体30に送信する(ステップS703)。第1経路61に関する情報には、ノード列と、それぞれのノードの座標と、ノード同士を連結するそれぞれのリンクの走行条件とが含まれる。走行条件には、オフセット量が含まれる。
【0098】
制御部41は、第1経路61に関する情報を受信する(ステップS503)。制御部41は、
図8を使用して説明したように、第2経路62を生成する(ステップS504)。具体的には制御部41は、それぞれのリンクをオフセット量だけ平行移動させて、第2経路62を生成する。
【0099】
制御部41は、部分経路抽出のサブルーチンを起動する(ステップS505)。部分経路抽出のサブルーチンは第2経路62から駆動装置36に対して走行を指示する部分経路68と、部分経路68の終点でサーバ20に要求する通行証とを抽出するサブルーチンである。部分経路抽出のサブルーチンの処理の流れは後述する。
【0100】
制御部41は、抽出した部分経路68を駆動装置36に指示する(ステップS506)。駆動装置36は、タイヤ37を制御して移動体30に部分経路68を走行させる(ステップS601)。制御部41は、ステップS505で抽出した部分経路68の終点が、目的地であるか否かを判定する(ステップS507)。目的地であると判定した場合(ステップS507でYES)、制御部41は処理を終了する。
【0101】
目的地ではないと判定した場合(ステップS507でNO)、制御部41は移動体30が通行証を要求する位置、すなわち
図9を使用して説明した点R1rqに対応する位置に到達したか否かを判定する(ステップS508)。なお、前述の通り制御部41は、GPSセンサ、マーカまたはビーコン等に基づいて移動体30の現在位置を随時判定している。
【0102】
通行証を要求する位置に到達していないと判定した場合(ステップS508でNO)、制御部41はステップS508に戻る。通行証を要求する位置に到達したと判定した場合(ステップS508でYES)、制御部41はステップS505で抽出した通行証の発行要求をサーバ20に送信する(ステップS509)。
【0103】
制御部21は通行証の要求を受信する(ステップS711)。制御部21は、発行のサブルーチンを起動する(ステップS712)。発行のサブルーチンは、要求されたすべての通行証を発行可能である場合に、通行証を発行するサブルーチンである。発行のサブルーチンの処理の流れは後述する。制御部21は、発行した通行証を移動体30に送信する(ステップS713)。
【0104】
制御部41は、発行された通行証を受信して、補助記憶装置43または主記憶装置42に一時的に記憶する(ステップS510)。制御部41はステップS505に戻る。なお、ステップS510で受信した通行証は、ステップS505で起動する部分経路抽出のサブルーチンで使用される。
【0105】
駆動装置36は、移動体30の現在位置に基づいて、制御部41から指示された部分経路68の走行を終了したか否かを判定する(ステップS602)。終了していないと判定した場合(ステップS602でNO)、駆動装置36はステップS602に戻る。終了したと判定した場合(ステップS602でYES)、駆動装置36は部分経路68の終点で移動体30を停止させる(ステップS603)。
【0106】
駆動装置36は、制御部41から部分経路68が追加されたか否かを判定する(ステップS604)。追加されていないと判定した場合(ステップS604でNO)、駆動装置36はステップS604に戻り、部分経路68が追加されるまで待機する。追加されたと判定した場合(ステップS604でYES)、駆動装置36はステップS601に戻り、走行を再開する。
【0107】
以上の処理により、移動体30が
図9を使用して説明した点R1ckに到達する前に、制御部41が通行証を受信(ステップS510)して駆動装置36に部分経路68を指示(ステップS506)した場合、移動体30は停止することなく第2経路62を走行する。移動体30が点R1ckに到達したときに制御部41が通行証を受信していない場合、移動体30は点R1ckに停止して、制御部41が部分経路68を追加するまで待つ。
【0108】
図14は、部分経路抽出のサブルーチンの処理の流れを説明するフローチャートである。本サブルーチンの起動時に、制御部41は部分経路68を初期化して経路が記録されていない状態に設定する。
【0109】
制御部41は、補助記憶装置43または主記憶装置42にサーバ20から発行された通行証が記録されているか否かを判定する(ステップS521)。なお、利用者が移動体30に搭乗して目的地を指定(ステップS501)した後、制御部41が最初に部分経路抽出のサブルーチンを起動した場合、通行証は記録されていない。2回目以降に部分経路抽出のサブルーチンを起動した場合、前回のステップS506からステップS510の処理により、通行証が記録されている。
【0110】
通行証が記録されていると判定した場合(ステップS521でYES)、制御部41は通行証が記録されている範囲の第2経路62を抽出して、部分経路68に設定する(ステップS522)。制御部41は、部分経路68の終点が目的地であるか否かを判定する(ステップS523)。目的地であると判定した場合(ステップS523でYES)、制御部41は処理を終了する。
【0111】
通行証が記録されていないと判定した場合(ステップS521でNO)または、目的地ではないと判定した場合(ステップS523でNO)、制御部41は、リンクDB53を検索して次に移動体30が走行するリンクに関するレコードを取得する(ステップS531)。制御部41は、通行証IDフィールドを参照して、当該リンクの走行に通行証が必要であるか否かを判定する(ステップS532)。
【0112】
通行証が必要ではないと判定した場合(ステップS532でNO)、制御部41は第2経路62から当該リンクに対応する部分を抽出して、部分経路68に追加する(ステップS533)。制御部41は、部分経路68の終点が目的地であるか否かを判定する(ステップS534)。目的地であると判定した場合(ステップS534でYES)、制御部41は処理を終了する。目的地ではないと判定した場合(ステップS534でNO)、制御部41はステップS531に戻る。
【0113】
通行証が必要であると判定した場合(ステップS532でYES)、制御部41は第2経路62から当該リンクに対応する部分を抽出し、通行証確認ライン66と最初に交差する位置までの部分を部分経路68に追加する(ステップS533)。
【0114】
制御部41は、ステップS532で必要であると判定した通行証の通行証IDを補助記憶装置43または主記憶装置42に記録する(ステップS534)。制御部41は、リンクDB53を検索して次に移動体30が走行するリンクに関するレコードを取得する(ステップS535)。制御部41は、通行証IDフィールドを参照して、当該リンクの走行に通行証が必要であるか否かを判定する(ステップS536)。
【0115】
通行証が必要ではないと判定した場合(ステップS536でNO)、制御部41はその次に移動体30が走行するリンクに関するレコードをリンクDB53から取得して、
図12を使用して説明した様に通行証要求ライン65同士が交差するリンクが存在するか否かを判定する(ステップS537)。制御部41はステップS532で通行証が必要であると判定したリンクから、第2経路62に沿って十分に離れたリンク、すなわち通行証要求ライン65同士が交差する可能性がないリンクに到達するまで、ステップS537の処理を繰り返す。
【0116】
通行証が必要であると判定した場合(ステップS536でYES)、または、通行証要求ライン65同士が交差するリンクが存在すると判定した場合(ステップS537でYES)、制御部41は、当該リンクに関する通行証IDを補助記憶装置43または主記憶装置42に記録する(ステップS538)。
【0117】
制御部41は、目的地に到達するまでのリンクの処理を終了したか否かを判定する(ステップS539)。終了していないと判定した場合(ステップS539でNO)、制御部41はステップS535に戻る。終了したと判定した場合(ステップS539でYES)、または、通行証要求ライン65同士が交差するリンクが存在しないと判定した場合(ステップS537でNO)、制御部41は処理を終了する。
【0118】
なお、
図13を使用して説明したステップS509において、制御部41はステップS534およびステップS538で記録した通行証IDに対応する通行証の発行要求をサーバ20に送信する。
【0119】
図15は、発行のサブルーチンの処理の流れを説明するフローチャートである。発行のサブルーチンは、要求されたすべての通行証を発行可能である場合に、通行証を発行するサブルーチンである。制御部21は、移動体30から要求された通行証の中から、発行可能であると判定していない通行証を選択する(ステップS721)。
【0120】
制御部21は、選択した通行証の通行証IDをキーとしてリンクDB53を検索して、対応するレコードを抽出する。制御部21は、抽出したレコードの種類フィールドを参照して、処理中の通行証が隘路リンクに関する通行証であるか否かを判定する(ステップS722)。
【0121】
隘路リンクであると判定した場合(ステップS722でYES)、制御部21は隘路判定のサブルーチンを起動する(ステップS723)。隘路判定のサブルーチンは、隘路リンクに対する通行証の発行可否を判定するサブルーチンである。隘路判定のサブルーチンの処理の流れは後述する。
【0122】
隘路リンクではないと判定した場合(ステップS722でNO)、制御部21は交差点判定のサブルーチンを起動する(ステップS724)。交差点判定のサブルーチンは、交差点リンクに対する通行証の発行可否を判定するサブルーチンである。交差点判定のサブルーチンの処理の流れは後述する。
【0123】
ステップS723またはステップS724の終了後、制御部21は要求されたすべての通行証を発行可能であるか否かを判定する(ステップS725)。すべての通行証を発行可能ではないと判定した場合(ステップS725でNO)、制御部21はステップS721に戻る。すべての通行証を発行可能であると判定した場合(ステップS725でYES)、制御部21は移動体DB54の通行証フィールドに発行する通行証の通行証IDを記録する(ステップS726)。その後、制御部21は処理を終了する。
【0124】
図16は、隘路判定のサブルーチンの処理の流れを説明するフローチャートである。隘路判定のサブルーチンは、隘路リンクに対する通行証の発行可否を判定するサブルーチンである。
【0125】
制御部21は、移動体DB54の通行証フィールドを検索して、処理中の通行証と同じ通行証が他の移動体30に発行済であるか否かを判定する(ステップS731)。発行済であると判定した場合(ステップS731でYES)、制御部21は当該通行証が発行されている移動体30の経路フィールドを参照して、同じ方向に隘路リンクを走行するか否かを判定する(ステップS732)。
【0126】
同じ方向に隘路リンクを走行すると判定した場合(ステップS732でYES)、または、発行済ではないと判定した場合(ステップS731でNO)、制御部21は処理中の通行証を発行可能であると判定する(ステップS733)。制御部21は処理中の通行証に仮発行等のフラグを立てて、他の移動体30への発行を防止することが望ましい。
【0127】
反対の方向に隘路リンクを走行すると判定した場合(ステップS732でNO)、制御部21は処理中の通行証を発行可能ではないと判定する(ステップS734)。ステップS733またはステップS734の終了後、制御部21は処理を終了する。
【0128】
図17は、交差点判定のサブルーチンの処理の流れを説明するフローチャートである。交差点判定のサブルーチンは、交差点リンクに対する通行証の発行可否を判定するサブルーチンである。
【0129】
制御部21は、移動体DB54の通行証フィールドを検索して、処理中の通行証と同じ通行証が他の移動体30に発行済であるか否かを判定する(ステップS741)。発行済であると判定した場合(ステップS741でYES)、制御部21は当該通行証が発行されている移動体30の経路フィールドを参照して、走行経路が干渉するか否かを判定する(ステップS742)。
【0130】
走行経路が干渉しないと判定した場合(ステップS742でNO)、または、発行済ではないと判定した場合(ステップS741でNO)、制御部21は処理中の通行証を発行可能であると判定する(ステップS743)。制御部21は処理中の通行証に仮発行等のフラグを立てて、他の移動体30への発行を防止することが望ましい。
【0131】
走行経路が干渉する判定した場合(ステップS742でYES)、制御部21は処理中の通行証を発行可能ではないと判定する(ステップS744)。ステップS743またはステップS744の終了後、制御部21は処理を終了する。
【0132】
本実施の形態によると、長距離の自力歩行が難しい人の移動を支援する移動体30の自動走行を実現する情報処理方法等を提供できる。ノード列により表現可能な第1経路61に基づいてオフセットした第2経路62を生成するため、簡素で更新が容易な地図データ51を使用できる。
【0133】
交差点リンクおよび隘路リンクにおいては通行証を用いて進入可否を制御することにより、移動体30同士の接触および衝突を防止できる。交差点および隘路においてもサーバ20がそれぞれの移動体30をリアルタイムで制御する必要がないため、移動体30とサーバ20との間の通信量を少なくできる。
【0134】
通行証が必要なリンクにおいては、通行証要求ライン65と通行証確認ライン66とを設定することにより、通行証がスムーズに発行された場合には移動体30が停止せずに走行を継続できる情報処理システム10を提供できる。通行証が必要なリンクが連続または近接している場合には、通行証を一括して発行することにより、交差点および隘路等において通行証待ちの移動体30が停滞することを防止できる。
【0135】
既に通行証の発行を受けている移動体30との干渉の有無に基づいて通行証の発行可否を判定することにより、簡単なアルゴリズムにより通行証の発行を管理する情報処理システム10を提供できる。
【0136】
走行経路が干渉しない場合には、複数の移動体30に対して同一の交差点または隘路に関する通行証を発行するため、移動体30が通行証の発行を待機する時間を低減した情報処理システム10を提供できる。
【0137】
なお、それぞれの移動体30に記録された地図データ56に、ノードDB52およびリンクDB53と同様のデータベースが含まれていてもよい。そのようにする場合には、
図13を使用して説明したステップS703において、制御部21は第1経路61を示すノード列のみを送信する。制御部41は、受信したノード列に基づいて、データベースを参照し、各ノードの座標および各リンクの走行条件を取得して、第2経路62を生成する。
【0138】
ノード列によりサーバ20から移動体30に対して第1経路61を指示するため、移動体30とサーバ20との間の通信量を少なくできる。通信量が少ないため、多数の移動体30がサーバ20に接続されている場合であっても、通信の遅延および輻輳等のトラブルが発生しにくい情報処理システム10を提供できる。
【0139】
なお、
図13を使用して説明したステップS501において制御部41は、たとえば「トイレ」または「コンビニエンスストア」等の、移動体30が到達可能な領域内に複数設けられている施設等の指定を受け付けてもよい。ステップS702にて制御部21は指定を受け付けた条件を満たすそれぞれの施設までの第1経路61を生成し、たとえば第1経路61が最も短い施設を、ユーザの目的地に設定する。ステップS703において制御部21は、設定した目的地までの第1経路61を移動体30に送信する。
【0140】
それぞれの施設の混雑状況を取得できる場合、制御部21は生成した第1経路61が比較的短い施設のなかで、空いている施設をユーザの目的地に設定してもよい。
【0141】
制御部41は、目的地の指定を受け付けた後、たとえば走行開始前または目的地までの走行中に、「トイレ」または「コンビニエンスストア」等の立ち寄り先の指定を受け付けてもよい。立ち寄り先の指定を受け付けた場合、制御部41はステップS501に戻る。ステップS702にて制御部21は指定を受け付けた条件を満たすそれぞれの施設を経由して目的地に向かう第1経路61を生成し、たとえば第1経路61が最も短い施設を、ユーザの立ち寄り先に設定する。ステップS703において制御部21は、設定した立ち寄り先を経由して目的地に至る第1経路61を移動体30に送信する。
【0142】
立ち寄り先の指定を受け付けた場合のステップS702の処理について、さらに具体例を挙げて説明する。立ち寄り先が「トイレ」であり、複数の「トイレ」が存在する場合、制御部21はそれぞれの「トイレ」に立ち寄った後に目的地に到達する第1経路61を生成する。制御部21は、生成した複数の第1経路61を比較して、たとえば最も短い第1経路61を選択する。第1経路61が選択されることにより、移動体30が立ち寄る「トイレ」が定められる。
【0143】
制御部41は、立ち寄り先で移動体30を停止させる。ユーザは、移動体30をマニュアル操作して、用事を済ませる。その後制御部41は、移動体30を目的地まで走行させる。以上により、立ち寄り機能を有する情報処理システム10を提供できる。
【0144】
[実施の形態2]
本実施の形態は、移動体30が別のフロアに移動可能な情報処理システム10に関する。実施の形態1と共通する部分については、説明を省略する。
【0145】
図18は、実施の形態2の地図データ51を説明する説明図である。二点鎖線の上側は第u階を示し、下側は第d階を示す。上下方向の両側矢印および両側矢印の両端に連結された長方形は、エレベータ17を示す。白丸は、通常ノードを示す。
【0146】
黒丸は、エレベータ17の乗降に使用するエレベータノードを示す。それぞれのフロアに、一点鎖線で囲まれた3個のエレベータノードが配置されている。第u階のエレベータノードをZu、第d階のエレベータノードをZdと記載する。それぞれのエレベータノードを構成するノードは、ZuまたはZdの末尾に数字を付けて区別する。
【0147】
図19は、実施の形態2のノードDB52のレコードレイアウトを説明する説明図である。
図4を使用して説明した実施の形態1のノードDB52の座標フィールドに、フロアフィールドが追加されている。フロアフィールドにはフロアの番号が記録されている。
【0148】
図20は、実施の形態2のリンクDB53のレコードレイアウトを説明する説明図である。本実施の形態のリンクDB53は、
図5を使用して説明した実施の形態1のリンクDB53の走行条件フィールドに向きフィールドが追加されている。向きフィールドには、リンクを移動体30が走行する際の向きが記録されている。第u階に配置されたリンクを例にして説明する。
【0149】
「L103」から「L107」までのリンクはエレベータリンクの例を示す。これらのリンクの種類フィールドには、「エレベータ」が記録されている。それぞれのエレベータリンクに、固有の通行証IDが割り当てられている。移動体30がエレベータ17に近づく最初のエレベータリンクである「L103」の要求フィールドおよび確認フィールドには、要求距離および確認距離が記録されている。
【0150】
「L101」等のリンクの向きフィールドに記録されている「前」は、移動体30が前向きに走行することを意味する。「L103」のリンクの向きフィールドに記録されている「前→反転」は、移動体30が前向きに走行した後、終点リンクで反転することを意味する。「L104」のリンクの向きフィールドに記録されている「後」は、移動体30が後ろ向きに走行することを意味する。
【0151】
なお、移動体30が左右方向にも走行可能である場合は、向きフィールドに「右」または「左」等が記録されたレコードが存在してもよい。たとえば、ショーウインドウの前では移動体30を右向きに走行させることで、利用者がショーウインドウをみながら移動できる情報処理システム10を実現できる。
【0152】
「L107」のリンクは、第u階でエレベータ17に乗った移動体30が、第d階まで移動するリンクである。移動体30が自走しないためオフセット量および走行向きは定義されず、オフセットフィールドおよび向きフィールドに「-」が記録されている。
【0153】
図21は、実施の形態2の第1経路61および第2経路62を説明する説明図である。移動体30の現在位置と目的地とが異なるフロアである場合、制御部21はエレベータ17を利用する第1経路61を生成する。制御部41は、第1経路61に基づいて第2経路62を生成する。本実施の形態においては、エレベータリンクのオフセット量はゼロに設定されているため、エレベータリンクは移動体30がすれ違えない隘路リンクでもある。
【0154】
図22から
図25は、実施の形態2の部分経路68を説明する説明図である。
図20から
図25を使用して、エレベータ17を利用する移動体30の動作の例を説明する。
図22においては、エレベータリンクに到達する直前の部分経路68を太線で示す。ノードZu1からノードZu2に向かう「EVu-1」のリンクに設定されている要求距離および確認距離に基づいて、当該リンクを囲む通行証要求ライン65および通行証確認ライン66が定められる。
【0155】
移動体30が、第2経路62と通行証要求ライン65との交点である点Zurqに到達した場合、制御部41はサーバ20に対して点Zuck以降の走行に関する通行証の発行要求を送信する。
図20を使用して説明したように、それぞれのエレベータリンクごとに異なる通行証IDが設定されている。
図25に示す第2経路62を通行する場合、制御部41は「EVu-1」、「EVu-2」、「EVu-5」、「EVd-2」および「EVd-4」の五つの通行証の発行要求をサーバ20に送信する。
【0156】
移動体30が点Zuckに到達するまでに通行証を受信しなかった場合、制御部41はZuck以降に走行する経路を駆動装置36に指示しない。駆動装置36は、Zuckにおいて移動体30を停止させる。移動体30は、通行証が発行されるまで停止したまま待機する。
【0157】
通行証を受信した場合、
図23に示すように制御部41はノードZu2までの部分経路68の走行を駆動装置36に指示する。駆動装置36は、移動体30をノードZu2で停止させる。駆動装置36は、移動体30を反転させて、エレベータ17の扉に移動体30の背を向ける。
【0158】
前述のとおり、制御部41は移動体30の現在位置を随時判定して、サーバ20に送信する。制御部21は、移動体30がノードZu2に到達した場合、または、ノードZu2から所定の距離まで近づいた場合に、図示を省略するエレベータ制御サーバに対して第u階で移動体30を乗せて、第d階で降ろす指示を送信する。サーバ20がエレベータ制御サーバを兼ねてもよい。
【0159】
エレベータ制御サーバは、エレベータ17のケージを第u階に移動させて、扉を開く。
図24において、太線の長方形は第u階に到着したケージを示す。
図24に示すように制御部41はノードZu3までの部分経路68の後ろ向き走行を駆動装置36に指示する。駆動装置36は、移動体30を後ろ向きに走行させて、エレベータ17に搭乗する。エレベータ制御サーバは、ケージを第d階に移動させて、扉を開く。
【0160】
エレベータ17搭乗中に、制御部41は次に通行証が必要な場所までの部分経路68を抽出する。抽出される部分経路68を、
図25に太線で示す。センサ34を介して扉が開いたことを検出した後、制御部41は部分経路68の走行を駆動装置36に指示する。駆動装置36は、指示された部分経路68に沿って移動体30を走行させる。
【0161】
以上により、エレベータ17を使用して他のフロアに移動体30を移動させる情報処理システム10を実現できる。
【0162】
図26は、実施の形態2のプログラムの処理の流れを説明するフローチャートである。
図13を使用して説明した実施の形態1のプログラムのステップS509において、制御部41がエレベータ17の利用に必要な通行証を要求した後、エレベータ17による移動を終えて実施の形態1のプログラムに戻るまでの処理について、
図26を使用して説明する。
【0163】
制御部41はエレベータリンクの通行証を含む通行証の発行要求をサーバ20に送信する(ステップS509)。ステップS509において、移動体30は
図22を使用して説明した点Zurqを通過中である。
【0164】
制御部21は通行証の要求を受信する(ステップS711)。制御部21は、発行のサブルーチンを起動する(ステップS712)。実施の形態2で使用される発行のサブルーチンは、エレベータリンクについても他の移動体30との干渉の有無を判定し、干渉しない場合に通行証を発行する。制御部21は、発行した通行証を移動体30に送信する(ステップS713)。
【0165】
なお、エレベータリンクにおける移動体30との干渉の有無の判定方法は、移動体30専用のエレベータ17であるか、歩行者と共用のエレベータ17であるか、何台の移動体30が同時に搭乗できるか等の種々の条件により異なるため、フローチャートによる図示および説明を省略する。
【0166】
制御部41は、発行された通行証を受信して、補助記憶装置43または主記憶装置42に一時的に記憶する(ステップS510)。制御部41は、点ZuckからノードZu1に向かう部分経路68を駆動装置36に指示する(ステップS551)。駆動装置36は、移動体30が走行中であれば、ノードZu1まで走行を継続して停止する。駆動装置36は、移動体30が点Zuckで停止中であれば、ノードZu1まで走行させて停止する(ステップS611)。
【0167】
制御部41は、移動体30がノードZu2に到着した後に、駆動装置36に対して反転を指示する(ステップS552)。駆動装置36は、制御部41の指示に沿って移動体30を反転させる(ステップS612)。
【0168】
なお、制御部41がステップS551で指示する部分経路68に、終点で反転する旨の指示が含まれていてもよい。そのようにする場合には、ステップS552は不要であり、駆動装置36はステップS611の終了後、ステップS612に移り移動体30を反転させる。
【0169】
制御部21は、移動体30がZu2に到着した後、またはZu2から所定の範囲に近づいた段階で、図示を省略するエレベータ制御サーバに対して、エレベータ17の呼び出し要求を送信する(ステップS761)。エレベータ17の呼び出し要求には、移動体30がエレベータ17に乗る階と、降りる階に関する情報が含まれている。
【0170】
制御部21は、エレベータ制御サーバからケージの到着通知、すなわち移動体30がケージ内に進入可能な状態になったことを示す通知を取得して、制御部41に送信する(ステップS762)。制御部41は、到着通知を受信する(ステップS553)。制御部41は、ノードZu2からノードZu3に向かう部分経路68、すなわちケージに後ろ向きに進入する部分経路68を駆動装置36に指示する(ステップS554)。駆動装置36は、タイヤ37を制御してノードZu3まで走行して、停止する(ステップS613)。
【0171】
制御部41は、部分経路抽出のサブルーチンを起動する(ステップS555)。部分経路抽出のサブルーチンは、
図14を使用して説明した実施の形態1のサブルーチンと同一である。ステップS555において制御部41は、エレベータ17を降りた後に走行する部分経路68と、部分経路68から次の経路に進む際に必要な通行証に関する情報とを取得する。
【0172】
制御部21は、移動体30がZu3に到着した後に、エレベータ制御サーバに対して目的階への昇降指示を送信する(ステップS763)。エレベータ制御サーバは、ケージを第u階に移動させて、扉を開き、制御部21に通知する。制御部21は、目的階に到着したことを移動体30に通知する(ステップS764)。
【0173】
制御部41は、通知を受信する(ステップS556)。制御部41は、ノードZd3以降の部分経路68を駆動装置36に指示する(ステップS506)。駆動装置36は、タイヤ37を制御して移動体30に部分経路68を走行させる(ステップS601)。ステップS506およびステップS601以降の処理は、
図13を使用して説明した実施の形態1のプログラムの流れと同一である。
【0174】
エレベータ制御サーバは、エレベータホールに配置されたセンサ等により移動体30がノードZu2付近に到着したことを検知してもよい。そのようにする場合には、制御部21はステップS761を実行する必要はなく、エレベータ制御サーバが自律的にエレベータ17を動作させる。
【0175】
エレベータ制御サーバは、たとえばケージに設けられた重量センサまたは人感センサ等を用いて移動体30がエレベータ17に搭乗したことを検知してもよい。そのようにする場合には、制御部21はステップS763を実行する必要はなく、エレベータ制御サーバが自律的にエレベータ17を動作させる。
【0176】
制御部41は、センサ34を用いてエレベータ17の扉が開き、ケージに進入可能になったことを検知してもよい。そのようにする場合には、制御部21はステップS762およびステップS764を実行する必要はない。制御部41は、エレベータ17の扉が開いたことを検知して、ステップS554およびステップS506を実行する。
【0177】
移動体30がノードZu2に到達した段階で、制御部41はコントローラ32を介して利用者がエレベータ呼び出しボタンの操作を行なうか否かの指示を受け付けてもよい。利用者は、エレベータ呼び出しボタンが先客により既に操作されている場合には、エレベータ呼び出しボタンの操作を行なわない。利用者は、エレベータ呼び出しボタンの近くにいる人に声を掛けて、エレベータ呼び出しボタンの操作を依頼してもよい。
【0178】
エレベータ呼び出しボタンの操作を行なう必要がある場合、利用者は操作を行なう旨を指示する。制御部41は、たとえばカメラ等のセンサ34の情報を利用しながら駆動装置36に指示を出し、利用者がエレベータ呼び出しボタンを操作できる位置まで移動体30を移動させる。利用者は、自分でエレベータ呼び出しボタンを押す。既存のエレベータ17をそのまま利用する情報処理システム10を実現できる。
【0179】
エレベータ17は、前後方向の二か所に扉が設けられた、いわゆる「スルー型」であってもよい。スルー型のエレベータ17を利用する場合、移動体30は前進によりケージに進入し、前進によりケージから退出する。
【0180】
本実施の形態によると、エレベータ17を使用して他のフロアに移動体30を移動させる情報処理システム10を提供できる。
【0181】
[実施の形態3]
本実施の形態は、移動体30を使用してノードの位置を記録する情報処理システム10に関する。実施の形態1と共通する部分については、説明を省略する。
【0182】
前述のように、地図データ51は複数のノードと、二つのノードを接続するリンクとにより構成されている。移動体30は、ノードDB52に記録されている各ノードの座標に基づいて、目的地まで走行する。
【0183】
たとえば新規に情報処理システム10が導入される場所では、壁、柱、および店舗等の各種障害物71の配置計画に基づいて地図データ51を生成できる。しかしながら、工事の際の誤差および設計変更等により、机上で生成した地図データ51と、現地の実際の状況との間に齟齬が生じる場合がある。広場に仮設のテント等を多数配置するイベント会場等では、十分な精度の配置計画が作成されず、地図データ51を机上では生成できない場合がある。
【0184】
情報処理システム10の運用中であっても、障害物71の配置変更、および人の流れの変化等の種々の事情により既存の地図データ51の修正が必要になる場合がある。本実施の形態においては、地図データ51の生成および修正を容易に行なえる情報処理システム10を提供する。
【0185】
本実施の形態においては、地図データ51の修正は現地の移動体30の操作を担当する第1オペレータと、オフィス等で地図データ51の生成または修正を担当する第2オペレータの二人の担当者により行なわれる。
【0186】
第1オペレータは、ノードを配置したい位置に移動体30を移動させる。たとえば第1オペレータは、移動体30に搭乗して、ノードUを目的地に設定する。制御部41は、ノードUまで移動体30を走行させる。第1オペレータは、手動操作により実際にノードUを配置したい位置まで移動体30を移動させる。
【0187】
第1オペレータは、コントローラ32を操作して位置情報の送信を制御部41に指示する。制御部41は、センサ34等を使用して移動体30の現在位置を判定し、サーバ20に送信する。
【0188】
図27は、第2オペレータが閲覧する地図画面の例である。
図27においては、既存の地図データ51が存在する場合の例を示す。既存の地図データ51に、移動体30から送信された位置情報が星印で重畳表示されている。地図データ51と共に、センサ34により取得された、移動体30周囲の画像および障害物71の配置等が表示されてもよい。
【0189】
なお、既存の地図データ51が存在せず、新規の地図データ51を生成する場合には、地図データ51は重畳表示されない。
【0190】
新規のノードを生成する場合を例にして説明する。第2オペレータは、星印の位置に新規ノードを生成するか否かを検討する。生成すると判断した場合、第2オペレータはたとえば星印をダブルクリック操作する。制御部21は、ノードDB52に新規レコードを追加して、星印の位置に対応する座標を記録する。制御部21は、追加したノードにノードIDを付与する。
【0191】
既存のノードの位置を修正する場合を例にして説明する。第2オペレータは、たとえばノードUを星印の位置に変更するのが適切であるか否かを検討する。適切であると判断した場合、第2オペレータはノードUを示すマークを星印の上にドラッグアンドドロップ操作する。
【0192】
図28は、ドラッグアンドドロップ操作後に表示される地図画面の例である。ノードUの位置が変更され、ノードUに接続されているリンクの端点は、新たなノードUの位置に変更されている。
【0193】
図29は、実施の形態3のプログラムの処理の流れを説明するフローチャートである。なお、
図29のフローチャートにおいては、第1オペレータによる指示に基づいて移動体30を自動走行させる処理については記載を省略する。
【0194】
制御部41は、第1オペレータによる位置情報送信に関する指示を受け付ける(ステップS541)。制御部41は、移動体30の現在位置を判定する(ステップS542)。制御部41は、移動体30の現在位置をサーバ20に送信する(ステップS543)。制御部41はセンサ34により取得された、移動体30周囲の画像および障害物71の配置等に関する情報を現在位置と共に送信してもよい。制御部41は、第1オペレータによるコメント等の追加情報を現在位置と共に送信してもよい。
【0195】
制御部41は、処理を終了するか否かを判定する(ステップS544)。たとえば、第1オペレータが作業終了を指示した場合、制御部41は処理を終了すると判定する。処理を終了しないと判定した場合(ステップS544でNO)、制御部41はステップS541に戻る。処理を終了すると判定した場合(ステップS544でYES)、制御部41は処理を終了する。
【0196】
制御部21は、制御装置40から移動体30の現在位置を受信する(ステップS751)。制御部21は、
図27を使用して説明したように、地図データ51に移動体30の現在位置を示すマーカを重畳して、図示を省略する表示装置に表示する(ステップS752)。
【0197】
制御部21は、図示を省略する入力装置を介して、第2オペレータによる入力を受け付ける(ステップS753)。第2オペレータは、たとえばマーカをダブルクリックすることにより、マーカの位置に新規ノードを作成することを指示し、既存のノードをマーカにドラッグアンドドロップすることにより、既存のノードをマーカの位置に変更することを指示する。
【0198】
制御部21は、第2オペレータの操作に基づいて地図データ51を更新する(ステップS754)。具体的には、第2オペレータが新規ノードの作成を指示した場合、制御部41はノードDB52に新規レコードを追加する。制御部41は、追加したレコードのx座標フィールドおよびy座標フィールドに、ステップS751で受信した座標を記録する。制御部41は、追加したレコードのノードIDフィールドに固有のノードIDを付与する。
【0199】
第2オペレータがノード位置の修正を指示した場合、制御部21は、ノードDB52を検索して、第2オペレータが変更を指示したノードに関するレコードを抽出する。制御部41は、抽出したレコードのx座標フィールドおよびy座標フィールドに、ステップS751で受信した座標を記録する。
【0200】
本実施の形態によると、測量等の作業を行なわずに、ノードの位置を適切に修正できる。移動体30を所望の位置に移動させる第1オペレータと、地図データ51の更新を行なう第2オペレータが分業して作業を行なうため、第2オペレータは在宅勤務または遠隔地のオフィス等で地図データ51を更新する作業を行なえる。
【0201】
第2オペレータは、ステップS751で受信した座標データを用いて新規のノードをノードDB52に追加してもよい。新規のノードを追加する場合、第2オペレータはリンクDB53に当該ノードに接続されるリンクを追加する作業も行なう。
【0202】
なお、前述のとおり、制御部41は移動体30の現在位置を随時判定して、サーバ20に送信している。第1オペレータと第2オペレータとが同時に作業を行なう場合、
図29を使用して説明したプログラムを実行する代わりに、制御部21は地図データ51に移動体30の現在位置を示すマーカを表示してもよい。
【0203】
第1オペレータは、所定の位置に移動体30を移動させた状態で、電話またはチャット等を用いて第2オペレータに連絡する。第2オペレータは、たとえば「追加」ボタンを選択することにより、マーカの位置に新規ノードを作成することを指示し、既存のノードをマーカにドラッグアンドドロップすることにより、既存のノードの位置をマーカの位置に変更することを指示する。制御部21は、第2オペレータの指示に基づいて、ノードDB52を更新する。以上により、第1オペレータの行なう作業をさらに簡略化できる。
【0204】
[実施の形態4]
実施の形態4は、移動体30が障害物71をスムーズに回避できる情報処理システム10に関する。実施の形態1と共通する部分については、説明を省略する。
図30は、実施の形態4のリンクDB53のレコードレイアウトを説明する説明図である。
【0205】
本実施の形態のリンクDB53は、
図5を使用して説明した実施の形態1のリンクDB53の各フィールドに加えて、回避条件フィールドを有する。回避条件フィールドは、許可フィールド、左側幅フィールドおよび右側幅フィールドを有する。
【0206】
許可フィールドには、障害物71が存在する場合に、移動体30が自律的に回避する回避運動を許可するか否かが記録されている。「有」は回避運動を許可することを意味し、「無」は回避運動を許可しないことを意味する。
【0207】
左側幅フィールドには、移動体30が障害物71を回避中に、第2経路62から左側に離れることが許可される幅が記録されている。右側幅フィールドには、移動体30が障害物71を回避中に、第2経路62から右側に離れることが許可される幅が記録されている。許可フィールドに「無」が記録されている場合には、左側幅フィールドおよび右側幅フィールドには幅が定められていないことを意味する「-」が記録されている。
【0208】
たとえば、実施の形態2で説明したエレベータリンクにおいては、許可フィールドには「無」が記録される。階段付近、ガラス壁付近、動く歩道付近、案内所付近等、移動体30が障害物71を回避するために急に方向転換した場合に、利用者または周囲の歩行者等が危険を感じる可能性が高い場所においても、許可フィールドに「無」が記録される。
【0209】
図31は、回避運動時の走行経路を説明する説明図である。
図31を使用して、障害物71が存在する場合の移動体30の挙動の概要を説明する。
図31においては、移動体30が走行する予定の第2経路62を水平な直線で示す。移動体30は、
図31の左側から右側に向けて通過する。
【0210】
第2経路62から移動体30の進行方向に対して左側に左側幅DL離れた位置に、左側回避境界線671が配置されている。第2経路62から移動体30の進行方向に対して右側に右側幅DR離れた位置に、右側回避境界線672が配置されている。左側回避境界線671および右側回避境界線672は、物理的な実態を持つ線ではなく、制御部41内での処理に使用される仮想的な線である。以後の説明において左右を特に区別する必要がない場合には、左側回避境界線671および右側回避境界線672をいずれも単に回避境界線67と記載する場合がある。
【0211】
移動体30または搭乗中の利用者と接触する可能性のある第1障害物711、第2障害物712および第3障害物713が配置されている。以後の説明において、第1障害物711、第2障害物712、第3障害物713のいずれであるかを特定する必要がない場合には、単に障害物71と記載する場合がある。
図31に示す障害物71は、たとえば床置きされた荷物、落とし物、他の移動体30、通行人または台車等であり、移動体30の走行を一時的に阻害する。
【0212】
図31においては、移動体30が障害物71を回避して走行する際の迂回経路63を細線で示す。第2経路62および迂回経路63は、移動体30の前側中央が移動する経路を示す。第2経路62および迂回経路63は、移動体30が通過する領域の略中央線である。
【0213】
第1経路61を走行中、制御部41は回避運動を開始する条件が満たされたか否かを常時判定する。具体的には、以下の二つの条件を両方とも満たす場合に、制御部41は回避運動を開始する条件が満たされたと判定する。
(A)走行を妨げる障害物71が存在する。
(B)前回の回避運動を終了した後、所定の回避不許可時間が経過している。
【0214】
上記(A)については、制御部41は、センサ34から取得したデータを用いて、走行を妨げる障害物71の有無を判定する。上記Bについては、回避不許可時間は、たとえば30秒間である。以下の説明では、上記(A)、(B)の二つの条件を合わせて、回避開始条件と記載する。
【0215】
上記(A)が満たされているが、上記(B)が満たされていない場合、駆動装置36は障害物71に衝突する前に自律的に移動体30を停止させる。制御部41が駆動装置36に対して、障害物71の手前で走行を停止するように指示してもよい。
【0216】
回避開始条件が満たされている場合、制御部41は回避運動が許可されているリンクを走行中であるか否かを判定する。具体的には制御部41は、走行中のリンクのリンクIDをキーとしてリンクDB53からレコードを抽出し、許可フィールドのデータを取得する。
【0217】
許可フィールドに「無」が記録されている場合、すなわち回避運動が許可されていないリンクを走行中である場合、制御部41は障害物71の手前で移動体30を停止させる。障害物71が存在しなくなったことをセンサ34が検出した場合、制御部41は移動体30の走行を再開する。
【0218】
たとえば数分間にわたって障害物71が存在し続ける場合、制御部41は移動体30の安全走行を支援するサポートスタッフ等に通知を送信してもよい。サポートスタッフが、たとえば障害物71の除去または移動体30の手動操作等により、移動体30を安全に通行させる。
【0219】
許可フィールドに「有」が記録されている場合、すなわち回避運動が許可されているリンクを走行中である場合、制御部41は公知の衝突回避アルゴリズムに基づいて、移動体30に迂回経路63を走行させる。衝突回避アルゴリズムには、たとえばVFH(Vector Field Histogram)法、または、DWA(Dynamic Window Approach)法等の、任意のアルゴリズムを使用できる。衝突回避アルゴリズムは公知であるため、詳細については説明を省略する。
【0220】
比較的小さい第1障害物711を回避する場合の迂回経路63について説明する。制御部41は、公知の衝突回避アルゴリズムに従い、当初走行を予定していた第2経路62よりも少し左側を通る迂回経路63を走行した後、速やかに第2経路62に戻る。
【0221】
中程度のサイズの第2障害物712を回避する場合の迂回経路63について説明する。制御部41は、公知の衝突回避アルゴリズムに従い、当初走行を予定していた第2経路62よりも大きく左側に曲がる迂回経路63を走行する。たとえば、移動体30の前側中央がP1で示す位置に到達した時点で、移動体30は矢印で示すように第2経路62を基準に約45度左前方を向いている。
【0222】
したがって、移動体30の前方には障害物71が存在しない状態になっている。仮に、制御部41が第2障害物712の回避が完了したと判定して、第2経路62に戻る方向に移動体30の向きを変更させた場合、移動体30の前方に障害物71が存在する状態になる。したがって制御部41は、再度公知の回避アルゴリズムに従い、第2障害物712の回避を開始する。
【0223】
移動体30は繰り返し方向転換を行なうため、利用者にとっては非常に乗り心地が悪い状態になる。移動体30の近くを通る歩行者にとっては、移動体30がどっちに向かうのか判り難いため、危険である。さらに、同じような場所で何回も方向転換を行なうことにより移動体30の移動速度が低下して、交通を阻害してしまう。
【0224】
以上のような問題を避けるため、本実施の形態の情報処理システム10においては、いったん回避アルゴリズムを開始した後は、所定の回避運動時間が経過するまで回避アルゴリズムに従った走行を継続する。回避運動時間は、たとえば5秒間である。
【0225】
仮に、回避運動時間の経過後に移動体30の前方に障害物71が存在していない場合、制御部41は第2経路62に戻る方向に移動体30の向きを変更させる。仮に、回避運動時間が経過しても移動体30の前方に障害物71が存在している場合には、制御部41は再度回避運動時間が経過するまで、回避運動を継続する。以上により、移動体30が繰り返し方向転換を行なうことなく、スムーズに障害物71を回避して走行する情報処理システム10を提供できる。
【0226】
しかしながら、長時間回避運動を継続した場合、第2経路62から移動体30が離れすぎてしまう場合がある。その場合、第2経路62に戻る適切な経路を制御部41が決定することが困難になる。たとえば、回避運動により移動体30の走行が予定されていない歩行者専用エリア等に入り込んでしまうような問題も発生し得る。このようなトラブルを避ける仕組みについて、大きいサイズの第3障害物713を回避する場合を例にして説明する。
【0227】
制御部41は、公知の衝突回避アルゴリズムに従い、当初走行を予定していた第2経路62よりも大きく左側に曲がる迂回経路63を走行する。P2で示すように、移動体30の前側中央が左側回避境界線671まで到達した場合、制御部41は移動体30の走行を停止させる。障害物71が存在しなくなったことをセンサ34が検出した場合、制御部41は移動体30の走行を再開して、第2経路62に戻る。
【0228】
第2経路62の左右に左側回避境界線671および右側回避境界線672を定めて、移動体30が回避運動する範囲を制限することにより、移動体30が間違った場所に入り込んでしまうことを防止する情報処理システム10を提供できる。
【0229】
図32は、実施の形態4のプログラムの処理の流れを説明するフローチャートである。
図32のプログラムは、
図13を使用して説明した実施の形態1のプログラムのステップS506で制御部41が駆動装置36に部分経路68を指示した後に、ステップS507以降と並行して制御部41により実行される。
【0230】
制御部41は、前述の回避開始条件が満たされているか否かを判定する(ステップS591)。回避開始条件が満たされていないと判定した場合(ステップS591でNO)、制御部41はステップS591を繰り返す。なお、制御部41がステップS591を繰り返している間、駆動装置36はステップS506で指示された部分経路68の走行を継続する。障害物71が検出された場合には、駆動装置36は障害物71の手前で移動体30を停止させる。障害物71が存在しなくなった場合には、駆動装置36は部分経路68の走行を再開する。
【0231】
回避開始条件が満たされていると判定した場合(ステップS591でYES)、制御部41は、走行中のリンクが回避運動可能なリンクであるか否かを判定する(ステップS592)。具体的には制御部41は、走行中のリンクのリンクIDをキーとしてリンクDB53からレコードを抽出し、許可フィールドのデータを取得する。許可フィールドに「有」が記録されている場合、制御部41は、回避運動可能なリンクを走行中であると判定する。
【0232】
回避運動可能なリンクを走行中であると判定した場合(ステップS592でYES)、制御部41は移動体30の現在位置が回避領域内、すなわち左側回避境界線671と右側回避境界線672との間であるか否かを判定する(ステップS593)。
【0233】
回避領域内であると判定した場合(ステップS593でYES)、制御部41は公知の衝突回避アルゴリズムに基づいて駆動装置36に回避運動を指示する(ステップS594)。回避運動中は、制御部41はセンサ34から取得した周囲の状況に基づいて移動体30を走行させる向きおよび速度を随時算出して、駆動装置36に指示する。駆動装置36はタイヤ37を制御して移動体30を回避運動させる。
【0234】
制御部41は回避運動を開始してから所定の回避運動時間が経過したか否かを判定する(ステップS595)。前述の通り回避運動時間は、たとえば5秒間である。回避運動時間は、回避運動中の移動体30の平均速度等に基づいて定められてもよい。たとえば平均速度が大きい場合には回避運動時間は長く、平均速度が小さい場合には回避運動時間は短く定められる。
【0235】
回避運動時間が経過していないと判定した場合(ステップS595でNO)、制御部41はステップS592に戻る。回避運動時間が経過したと判定した場合(ステップS595でYES)、制御部41はステップS591に戻る。
【0236】
回避運動可能なリンクを走行中ではないと判定した場合(ステップS592でNO)、または、回避領域内ではないと判定した場合(ステップS593でNO)、制御部41は駆動装置36に対して通常アルゴリズムでの走行、すなわちステップS506で指示した第1経路61の走行に戻るよう指示する(ステップS596)。制御部41はステップS591に戻る。
【0237】
なお、ステップS591で回避開始条件が満たされていると判定した後、ステップS594を経由せずに、ステップS596に到達した場合、制御部41はステップS596で駆動装置36に対する指示を行なう必要はない。制御部41は、ステップS596を実行せずにステップS591に戻る。
【0238】
ステップS593の指示を受け付けた駆動装置36は、第1経路61の走行に戻る。仮に、回避運動により移動体30の現在位置が第1経路61から離れている場合には、駆動装置36はたとえば最短距離で移動体30を第1経路61に戻す経路を走行する。ステップS596において制御部41は、最短距離で移動体30を第1経路61に戻す経路の走行を駆動装置36に指示してもよい。
【0239】
本実施の形態によると、走行中に遭遇した障害物71を移動体30がスムーズに回避する情報処理システム10を提供できる。回避運動中の頻繁な方向転換を避けることにより、利用者が快適に利用できる情報処理システム10を提供できる。リンクIDごとに回避運動の可否および回避領域が定められるため、安全に回避運動可能な場所でのみ移動体30が回避運動を行なう情報処理システム10を提供できる。
【0240】
[実施の形態5]
本実施の形態5は、通行証を要求する位置および通行証を返却する位置を、第2経路62に沿った距離に基づいて定める情報処理システム10に関する。実施の形態1と共通する部分については、説明を省略する。
【0241】
図33は、実施の形態5の通行証について説明する説明図である。本実施の形態においては、移動体30がT、S、R、Qのノードを順番に通る経路を走行する場合を例にして説明する。制御部41は、ノードSとノードR4とを結ぶ隘路リンクを除き、それぞれのリンクをオフセット量だけ左側に平行移動させて、第2経路62を生成する。
【0242】
隘路リンクと交差点リンクとが接続されているため、制御部41はノードSを通過する前にこれらのリンクに関する通行証を取得し、リンクを通過後に順次返却する必要がある。
図33を使用して、通行証を取得するタイミングについて説明する。
【0243】
図33において、第2経路62に沿ってノードSから移動体30の進行方向とは反対側に要求距離離れた位置を、点Srqで示す。同様に第2経路62に沿ってノードSから確認距離離れた位置を点Sckで示す。制御部41は、センサ34から取得した情報等に基づいて、移動体30の現在位置を随時判定する。移動体30が、点Srqに到達した場合、制御部41はサーバ20に対して点Sck以降の走行に関する通行証の発行要求を送信する。
【0244】
移動体30が点Sckに到達するまでに通行証を受信しなかった場合、制御部41は点Sck以降に走行する経路を駆動装置36に指示しない。駆動装置36は、点Sckにおいて移動体30を停止させる。移動体30は、通行証が発行されるまで停止したまま待機する。
【0245】
移動体30がノードSとノードR4とを結ぶ隘路リンクを通過した後、ノードR4から第2経路62に沿って要求距離走行した場合、制御部41は隘路リンクの走行に必要な通行証をサーバ20に返却する。同様に移動体30がノードR4の交差点を通過した後、第2経路62に沿って要求距離走行した場合、制御部41は交差点リンクの走行に必要な通行証をサーバ20に返却する。
【0246】
本実施の形態によると、通行証要求ライン65および通行証確認ライン66と、第2経路62との交点をそれぞれ算出する実施の形態1に比べて、通行証の発行要求を行なう位置および通行証の確認を行なう位置を算出する際の計算量が少ない情報処理システム10を提供できる。制御部41に要求される計算量が少ないため、安価で消費電力の少ないハードウェアで制御装置40を実現できる。
【0247】
複数のフロアを有する建物内で移動体30を使用する場合、実施の形態2で説明したようにノードにフロアを識別する情報を付与できる。
図22で説明したように、フロアごとに通行証要求ライン65および通行証確認ライン66を定めて通行証を管理することにより、異なるフロアを走行する移動体30同士の間で、走行する経路が影響することを防止できる。
【0248】
しかしながら、フロア数および移動体30の数が多い場合には、高さ方向の情報を無視して、複数のフロアを一つの平面であるように管理することにより、サーバ20の負荷を低減できる。このようにする場合、移動体30がフロアを移動する前後に走行するリンク同士が平面上では交差する場合がある。そのため、通行証要求ライン65および通行証確認ライン66を用いて通行証の発行および返却を管理する場合、通行証を適切に管理できない可能性がある。
【0249】
さらに、複数のフロアに配置された通行証を要するリンク同士が平面上では交差する場合に、或るフロアを走行中の移動体30への通行証発行可否の判定が、別のフロアを走行中の移動体30への通行証の発行状況の影響を受けて、適切に行われない可能性もある。
【0250】
具体例を挙げて説明する。二つのフロアのうちの一方のフロアを第1のフロア、他方のフロアを第2のフロアとする。第1のフロアに配置された第1のリンクと、第2のフロアに配置された第2のリンクとは、平面上では交差しており、いずれも通行証が必要である。
【0251】
第1のフロアを走行中の第1の移動体30からの要求に基づいて、制御部21が第1のリンクに関する通行証を発行済であり、第2のフロアを走行中の第2の移動体30が、第2のリンクの通行証を制御部21に要求した場合を例にして説明する。第1のリンクと第2のリンクとは平面上では交差しているため、制御部21は第2の移動体30の走行経路は第1の移動体30の走行経路と干渉しており、第2のリンクに関する通行証を発行できないと誤判定する可能性がある。
【0252】
このような誤判定が生じた場合、実際には第1の移動体30と第2の移動体30とが接触または衝突する可能性はないにもかかわらず、第1の移動体30から第1のリンクの通行証が返却されるまで第2の移動体は通行証を得られず待機させられてしまう。
【0253】
本実施の形態によると、複数のフロアを一つの平面であるように管理することにより、サーバ20の負荷を低減しながら、通行証を適切に管理して移動体30を円滑に運行させる情報処理システム10を提供できる。
【0254】
本実施の形態によると、たとえば移動体30が通行可能な立体的な交差が設けられているエリアにおいて、通行証の発行要求および確認を適切に行える情報処理システム10を提供できる。本実施の形態によると、エレベータ17との連携などにより複数のフロアに亘って走行可能な移動体30を適切に制御可能な情報処理システム10を提供できる。
【0255】
[実施の形態6]
本実施の形態は、移動体30が利用者を迎えに行く、いわゆる迎車機能を備える移動体30に関する。実施の形態1と共通する部分については、説明を省略する。
【0256】
図34は、実施の形態6の移動体30が走行する場所の例を説明する説明図である。以下の説明では国際空港で使用される情報処理システム10を例にして説明する。飛行機から降りた乗客は、搭乗ブリッジ、到着ゲートを通過した後に、入国審査を受け、入国後に手荷物受取所に立ち寄る。一部の乗客は、入国審査を受けずに乗換ゲートに向かう。空港には、迎車用の移動体30が待機する待機場が設けられている。
【0257】
本実施の形態においては、たとえば空港の地上係員が乗客名簿を確認して、移動体30を利用する乗客の有無を確認する。移動体30を利用する乗客が居る場合、地上係員は携帯端末等を使用して、迎車用の移動体30を要求する操作を行なう。携帯端末から通知を受けたサーバ20が、待機している移動体30を選択する。サーバ20は、移動体30を到着ゲートに向かわせる。
【0258】
係員は、インカム等を介して別のスタッフに迎車用の移動体30の呼び出しを依頼してもよい。航空会社のサーバが、乗客名簿に記載されたフラグに基づいて、迎車用の移動体30を到着ゲートに向かわせる要求をサーバ20に送信してもよい。
【0259】
移動体30は、搭乗ブリッジと飛行機との接続部近傍、または、到着ゲートまで自動的に走行する。移動体30は、たとえば「迎車」等の掲示をした状態で走行することが望ましい。地上係員が、利用者の名前等を確認して移動体30への搭乗を支援する。移動体30は、利用者が搭乗した後、実施の形態1と同様に目的地まで走行する。
【0260】
サーバ20は、たとえば利用者の持つ航空券に関する情報を取得して、目的地を自動的に設定してもよい。具体的には、利用者が最終目的地である空港に到着した場合には、サーバ20は入国審査場および手荷物受取所を経由して空港の出口に向かうように、移動体30の目的地を設定する。利用者がトランジットを行なう場合には、サーバ20は乗換ゲートまたは乗換ラウンジ等に向かうように、移動体30の目的地を設定する。
【0261】
図35は、実施の形態6のプログラムの処理の流れを説明するフローチャートである。
図35において、迎車手配装置は地上係員が使用する端末装置、または、航空会社のサーバ等である。迎車手配装置は、迎車要求を取得する(ステップS801)。
【0262】
迎車要求は、たとえば地上係員が入力した到着ゲート番号等の迎車位置情報、到着予定時刻、および、迎車に使用する移動体30を特定する移動体ID等の迎車情報を含む。迎車位置情報および到着予定時刻は、管制情報システムから取得した到着ゲート番号および到着予定時刻であってもよい。迎車手配装置は、迎車情報をサーバ20に送信する(ステップS802)。以下の説明では、迎車に使用する移動体30を、迎車用機体と記載する場合がある。地上係員は、迎車手配装置を操作して、迎車用機体の移動体IDを指定する。
【0263】
制御部21は、迎車情報を受信する(ステップS581)。制御部21は、地上係員により指定された迎車用機体の現在位置を取得する(ステップS582)。なお地上係員による迎車用機体の指定を受け付ける代わりに、制御部21は、到着ゲートに最も近い待機場で待機中の移動体30を迎車用機体に定めて位置情報を取得してもよい。仮に待機中の移動体30が存在しない場合は、制御部21は次に近い待機場で待機中の移動体30等を迎車要求に対応させる移動体30に定めて位置情報を取得してもよい。
【0264】
制御部21は、迎車用の移動体30の現在位置と迎車位置とに基づいて、移動体30を迎車位置まで走行させる第1経路61を生成する(ステップS702)。制御部21は、第1経路61に関する情報を迎車用の移動体30に送信する(ステップS703)。
【0265】
移動体30の制御部41は、第1経路61に関する情報を受信する(ステップS503)。制御部41は、第2経路62を生成する(ステップS504)。ステップS703以降に制御部21が行なう処理、および、ステップS504以降に制御部41が行なう処理は、
図13を使用して説明した実施の形態1のプログラムと同様であるため、説明を省略する。
【0266】
移動体30に利用者が搭乗した後の処理は、
図13を使用して説明したプログラムを最初から実行する処理と同様であるため、説明を省略する。
【0267】
本実施の形態によると、移動体30が利用者を迎えに行く迎車機能を備える情報処理システム10を提供できる。たとえば到着ゲートは常時使用されるわけではなく、飛行機が到着したときに使用される。したがって、飛行機の到着に合わせて必要な台数の移動体30を到着ゲートに移動させることにより、移動体30を効率良く活用できる情報処理システム10を提供できる。
【0268】
[実施の形態7]
図36は、実施の形態7の情報処理システム10の構成を説明する説明図である。本実施の形態は、汎用のサーバコンピュータ90と、プログラム97とを組み合わせて動作させることにより、情報処理システム10を実現する形態に関する。実施の形態1と共通する部分については、説明を省略する。
【0269】
サーバコンピュータ90は、前述の制御部21、主記憶装置22、補助記憶装置23、通信部24およびバスに加えて読取部29を備える。
【0270】
プログラム97は、可搬型記録媒体96に記録されている。制御部21は、読取部29を介してプログラム97を読み込み、補助記憶装置23に保存する。また制御部21は、サーバコンピュータ90内に実装されたフラッシュメモリ等の半導体メモリ98に記憶されたプログラム97を読出してもよい。さらに、制御部21は、通信部24および図示しないネットワークを介して接続される図示しない他のサーバコンピュータからプログラム97をダウンロードして補助記憶装置23に保存してもよい。
【0271】
プログラム97は、サーバコンピュータ90の制御プログラムとしてインストールされ、主記憶装置22にロードして実行される。制御部21は、ネットワークを介してそれぞれの制御装置40に対して、プログラム97のうち制御部41により実行される部分を送信する。送信されたプログラムは、制御装置40の制御プログラムとしてインストールされ、主記憶装置42にロードして実行される。
【0272】
以上により、実施の形態1で説明した情報処理システム10が実現される。本実施の形態のプログラム97は、プログラム製品の例示である。コンピュータプログラムは、単一のコンピュータ上で、または一つのサイトにおいて配置されるか、もしくは複数のサイトにわたって分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開することができる。
【0273】
各実施例で記載されている技術的特徴(構成要件)はお互いに組合せ可能であり、組み合わせすることにより、新しい技術的特徴を形成することができる。
今回開示された実施の形態はすべての点で例示であって、制限的なものでは無いと考えられるべきである。本発明の範囲は、上記した意味では無く、請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0274】
請求の範囲に記載した独立請求項および従属請求項は、引用形式に関わらずあらゆる組み合わせにおいて、相互に組み合わせることが可能である。さらに、請求の範囲には他の2以上のクレームを引用するクレームを記載する形式(マルチクレーム形式)を用いているが、これに限るものではない。マルチクレームを少なくとも一つ引用するマルチクレーム(マルチマルチクレーム)を記載する形式を用いて記載しても良い。
【符号の説明】
【0275】
10 情報処理システム
17 エレベータ
20 サーバ(コンピュータ)
21 制御部(第2制御部)
22 主記憶装置
23 補助記憶装置
24 通信部
29 読取部
30 移動体
32 コントローラ
34 センサ
36 駆動装置
37 タイヤ
40 制御装置(情報処理装置、コンピュータ、クライアント)
41 制御部(第1制御部)
42 主記憶装置
43 補助記憶装置
44 通信部
51 地図データ
52 ノードDB
53 リンクDB
54 移動体DB
56 地図データ
61 第1経路
62 第2経路
63 迂回経路
65 通行証要求ライン
66 通行証確認ライン
67 回避境界線
671 左側回避境界線
672 右側回避境界線
68 部分経路
71 障害物
711 第1障害物
712 第2障害物
713 第3障害物
90 サーバコンピュータ
96 可搬型記録媒体
97 プログラム
98 半導体メモリ