IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ゼジャン・ハーレイ・テクノロジー・カンパニー・リミテッドの特許一覧

<>
  • 特許-ルート計画のためのシステム及び方法 図1
  • 特許-ルート計画のためのシステム及び方法 図2
  • 特許-ルート計画のためのシステム及び方法 図3
  • 特許-ルート計画のためのシステム及び方法 図4
  • 特許-ルート計画のためのシステム及び方法 図5
  • 特許-ルート計画のためのシステム及び方法 図6
  • 特許-ルート計画のためのシステム及び方法 図7
  • 特許-ルート計画のためのシステム及び方法 図8
  • 特許-ルート計画のためのシステム及び方法 図9
  • 特許-ルート計画のためのシステム及び方法 図10
  • 特許-ルート計画のためのシステム及び方法 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-14
(45)【発行日】2023-09-25
(54)【発明の名称】ルート計画のためのシステム及び方法
(51)【国際特許分類】
   G01C 21/34 20060101AFI20230915BHJP
   G08G 1/13 20060101ALI20230915BHJP
   G08G 1/00 20060101ALI20230915BHJP
   G09B 29/10 20060101ALI20230915BHJP
   G09B 29/00 20060101ALI20230915BHJP
   G16Y 10/40 20200101ALI20230915BHJP
   G16Y 40/60 20200101ALI20230915BHJP
【FI】
G01C21/34
G08G1/13
G08G1/00 X
G09B29/10 A
G09B29/00 A
G16Y10/40
G16Y40/60
【請求項の数】 13
(21)【出願番号】P 2021541089
(86)(22)【出願日】2020-01-08
(65)【公表番号】
(43)【公表日】2022-03-16
(86)【国際出願番号】 CN2020070820
(87)【国際公開番号】W WO2020147621
(87)【国際公開日】2020-07-23
【審査請求日】2021-09-08
(31)【優先権主張番号】201910032301.5
(32)【優先日】2019-01-14
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】521312237
【氏名又は名称】ゼジャン・ハーレイ・テクノロジー・カンパニー・リミテッド
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ユアンチアン・ユアン
(72)【発明者】
【氏名】ウェイ・ル
(72)【発明者】
【氏名】イドン・ジン
(72)【発明者】
【氏名】ジュン・イン
(72)【発明者】
【氏名】ファンボ・ム
【審査官】増子 真
(56)【参考文献】
【文献】特開2016-170580(JP,A)
【文献】特開2005-274339(JP,A)
【文献】特開2017-122670(JP,A)
【文献】国際公開第2019/004081(WO,A1)
【文献】特開2009-080127(JP,A)
【文献】特開2006-119078(JP,A)
【文献】特開2006-047266(JP,A)
【文献】米国特許出願公開第2018/0051991(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G01C 21/00 - 21/36
G01C 23/00 - 25/00
G08G 1/00 - 99/00
G09B 23/00 - 29/14
G16Y 10/00 - 40/60
(57)【特許請求の範囲】
【請求項1】
ルート計画のためのシステムであって、
指示の集合を含む少なくとも1つの記憶装置と、
前記少なくとも1つの記憶装置と通信する少なくとも1つのプロセッサであって、前記指示の集合を実行するとき、前記少なくとも1つのプロセッサは、
対象ビークルのスタート位置及び目的地を取得し、
前記スタート位置と前記目的地とを含む対象領域のマップであって、複数のノードの各々のノード情報を含む、マップを取得し、
前記対象領域内の前記対象ビークル以外の1つ以上のビークルに関連する動き状態情報を取得し、
前記スタート位置、前記目的地、前記1つ以上のビークルに関連する前記動き状態情報及び前記マップに少なくとも部分的に基づいて前記対象ビークルの対象ルートを決定する
ことを前記システムに行なわせるように構成される、少なくとも1つのプロセッサと
を備え、
前記スタート位置、前記目的地、1つ以上のビークルに関連する前記動き状態情報及び前記マップに少なくとも部分的に基づいて前記対象ビークルの前記対象ルートを決定するために、前記少なくとも1つのプロセッサは、
前記動き状態情報に基づいて前記1つ以上のビークルから静止している1つ以上のビークルを特定し、
前記静止している1つ以上のビークルの各々について、前記静止しているビークルに関連する1つ以上のノードを含む既定の領域を決定し、
前記静止しているビークルに関連する前記1つ以上のノードの各々について、前記ノードの前記ノード情報を修正し、
前記マップと、前記静止している1つ以上のビークルの各々に関連する前記1つ以上のノードの前記修正ノード情報とに基づいて候補マップを決定し、
前記候補マップ、前記スタート位置及び前記目的地に基づいて前記対象ビークルの候補ルートを決定する
ことを前記システムに行なわせるように構成され、
前記既定の領域の大きさは、前記静止している1つ以上のビークルのサイズ、または前記静止しているビークルに関連するノードのうち2つの隣接ノードの距離に基づいて決定され、
前記スタート位置、前記目的地、前記1つ以上のビークルに関連する前記動き状態情報及び前記マップに少なくとも部分的に基づいて前記対象ビークルの前記対象ルートを決定するために、前記少なくとも1つのプロセッサは、
前記静止しているビークルに関連する前記1つ以上のノードの各々について、前記ノードを障害として指定することによって前記ノードの前記ノード情報を修正し、
前記動き状態情報に基づいて、前記1つ以上のビークルから、移動している1つ以上のビークルを特定し、
前記移動している1つ以上のビークルの各々について、前記移動しているビークルに対応する既定のルートに関連する1つ以上のノードを決定し、
前記移動しているビークルに関連する前記1つ以上のノードの各々について、既定の閾値を超える重み値を前記ノードに割り当てることによって前記ノードの前記ノード情報を修正し、
前記マップと、前記静止している1つ以上のビークルの各々に関連する前記1つ以上のノードの前記修正ノード情報と、前記移動している1つ以上のビークルの各々に関連する前記1つ以上のノードの前記修正ノード情報とに基づいて対象マップを決定し、
前記対象マップ、前記スタート位置及び前記目的地に基づいて前記対象ビークルの前記対象ルートを決定する
ことを前記システムにさらに行なわせるように構成される、システム。
【請求項2】
前記複数のノードの各々の前記ノード情報は前記ノードの位置、前記ノードのバーコード、前記ノードの座標、前記ノードの通行可能性、前記ノードの方向変換能力、隣接ノードのカウント値又は前記ノードと前記隣接ノードとの連結性の少なくとも1つを含む、請求項1に記載のシステム。
【請求項3】
前記スタート位置、前記目的地、1つ以上のビークルに関連する前記動き状態情報及び前記マップに少なくとも部分的に基づいて前記対象ビークルの前記対象ルートを決定するために、前記少なくとも1つのプロセッサは、
前記複数のノードの少なくとも1つについて、前記複数のノードの前記少なくとも1つの各々の前記ノード情報の少なくとも一部を修正することによって対象ノード情報を、前記1つ以上のビークルに関連する前記動き状態情報に基づいて決定し、
前記マップと、前記複数のノードの前記少なくとも1つの前記対象ノード情報とに基づいて対象マップを生成し、
前記対象マップ、前記スタート位置及び前記目的地に基づいて前記対象ビークルの前記対象ルートを決定する
ことを前記システムに行なわせるように構成される、請求項1又は2に記載のシステム。
【請求項4】
前記対象マップ、前記スタート位置及び前記目的地に基づいて前記対象ビークルの前記対象ルートを決定するために、前記少なくとも1つのプロセッサは、
前記対象マップ中の前記スタート位置に基づいて前記複数のノードからスタートノードを決定することと、
前記対象マップ中の前記目的地に基づいて前記複数のノードから目的地ノードを決定することと、
前記スタートノードと前記目的地ノードとの間の複数の対象ノードに関連する複数のコストに基づいて前記対象ビークルの前記対象ルートを決定することであって、前記対象ノードの前記コストは前記スタートノードから前記対象ノードまでの第1のコストと、前記対象ノードから前記目的地ノードまでの第2のコストとに基づいて決定される、ことと
を前記システムにさらに行なわせるように構成される、請求項3に記載のシステム。
【請求項5】
前記スタートノードから前記対象ノードまでの前記第1のコストは前記対象マップにおける、前記対象ノードの重み値、前記対象ノードの親ノードのコスト、前記対象ノードの親ノードから前記対象ノードまでのコスト及び前記対象ノードの親ノードから前記対象ノードまでの方向変換コストに基づいて決定される、請求項4に記載のシステム。
【請求項6】
前記静止しているビークルに関連する前記1つ以上のノードの各々について、前記ノードの前記ノード情報を修正するために、前記少なくとも1つのプロセッサは、
既定の閾値を超える重み値を前記ノードに割り当てて、前記ノードを方向変換不能のノードとして指定する
ように指示される、請求項1に記載のシステム。
【請求項7】
前記少なくとも1つのプロセッサは、
通行されなかった少なくとも1つの既定のルートの少なくとも一部と前記候補ルートが少なくとも部分的に重なるか否かを判断することであって、前記少なくとも1つの既定のルートは前記1つ以上のビークルのうち、移動している少なくとも1つのビークルに対応する、ことと、
通行されなかった前記少なくとも1つの既定のルートと前記候補ルートが重ならないとの判断に応じて、前記候補ルートを前記対象ビークルの前記対象ルートとして指定することと
を前記システムにさらに行なわせるように構成される、請求項5又は6に記載のシステム。
【請求項8】
前記少なくとも1つのプロセッサは、
通行されなかった前記少なくとも1つの既定のルートの前記少なくとも一部と前記候補ルートが少なくとも部分的に重なるとの判断に応じて、前記静止しているビークルに関連する前記1つ以上のノードの各々について、前記ノードの前記ノード情報を修正し、
前記動き状態情報に基づいて、前記1つ以上のビークルから、移動している1つ以上のビークルを特定し、
前記移動している1つ以上のビークルの各々について、前記移動しているビークルに対応する既定のルートに関連する1つ以上のノードを決定し、
前記移動しているビークルに関連する前記1つ以上のノードの各々について、前記ノードの前記ノード情報を修正し、
前記マップと、前記静止している1つ以上のビークルの各々に関連する前記1つ以上のノードの前記修正ノード情報と、前記移動している1つ以上のビークルの各々に関連する前記1つ以上のノードの前記修正ノード情報とに基づいて第2の候補マップを決定し、
前記第2の候補マップ、前記スタート位置及び前記目的地に基づいて前記対象ビークルの第2の候補ルートを決定する
ことを前記システムにさらに行なわせるように構成される、請求項7に記載のシステム。
【請求項9】
前記静止しているビークルに関連する前記1つ以上のノードの各々について、前記ノードの前記ノード情報を修正するために、前記少なくとも1つのプロセッサは、
前記ノードを障害として指定する
ことを前記システムに行なわせるように構成され、
前記移動しているビークルに関連する前記1つ以上のノードの各々について、前記ノードの前記ノード情報を修正するために、前記少なくとも1つのプロセッサは、
既定の閾値を超える重み値を前記ノードに割り当てる
ことを前記システムに行なわせるように構成される、
請求項8に記載のシステム。
【請求項10】
少なくとも1つのプロセッサと、少なくとも1つの記憶媒体と、ネットワークに接続される通信プラットフォームとを含むコンピューティングデバイス上で実施される方法であって、前記方法は、
対象ビークルのスタート位置及び目的地を取得するステップと、
前記スタート位置と前記目的地とを含む対象領域のマップであって、複数のノードの各々のノード情報を含む、マップを取得するステップと、
前記対象領域内の前記対象ビークル以外の1つ以上のビークルに関連する動き状態情報を取得するステップと、
前記スタート位置、前記目的地、1つ以上のビークルに関連する前記動き状態情報及び前記マップに少なくとも部分的に基づいて前記対象ビークルの対象ルートを決定するステップと
を含み、
前記スタート位置、前記目的地、1つ以上のビークルに関連する前記動き状態情報及び前記マップに少なくとも部分的に基づいて前記対象ビークルの前記対象ルートを決定する前記ステップは、
前記動き状態情報に基づいて前記1つ以上のビークルから静止している1つ以上のビークルを特定するステップと、
前記静止している1つ以上のビークルの各々について、前記静止しているビークルに関連する1つ以上のノードを含む既定の領域を決定するステップと、
前記静止しているビークルに関連する前記1つ以上のノードの各々について、前記ノードの前記ノード情報を修正するステップと、
前記マップと、前記静止している1つ以上のビークルの各々に関連する前記1つ以上のノードの前記修正ノード情報とに基づいて候補マップを決定するステップと、
前記候補マップ、前記スタート位置及び前記目的地に基づいて前記対象ビークルの候補ルートを決定するステップと、を含み、
前記既定の領域の大きさは、前記静止している1つ以上のビークルのサイズ、または前記静止しているビークルに関連するノードのうち2つの隣接ノードの距離に基づいて決定され、
前記スタート位置、前記目的地、前記1つ以上のビークルに関連する前記動き状態情報及び前記マップに少なくとも部分的に基づいて前記対象ビークルの前記対象ルートを決定する前記ステップは、
前記静止しているビークルに関連する前記1つ以上のノードの各々について、前記ノードを障害として指定することによって前記ノードの前記ノード情報を修正するステップと、
前記動き状態情報に基づいて、前記1つ以上のビークルから、移動している1つ以上のビークルを特定するステップと、
前記移動している1つ以上のビークルの各々について、前記移動しているビークルに対応する既定のルートに関連する1つ以上のノードを決定するステップと、
前記移動しているビークルに関連する前記1つ以上のノードの各々について、既定の閾値を超える重み値を前記ノードに割り当てることによって前記ノードの前記ノード情報を修正するステップと、
前記マップと、前記静止している1つ以上のビークルの各々に関連する前記1つ以上のノードの前記修正ノード情報と、前記移動している1つ以上のビークルの各々に関連する前記1つ以上のノードの前記修正ノード情報とに基づいて対象マップを決定するステップと、
前記対象マップ、前記スタート位置及び前記目的地に基づいて前記対象ビークルの前記対象ルートを決定するステップと、をさらに含む、方法。
【請求項11】
前記スタート位置、前記目的地、1つ以上のビークルに関連する前記動き状態情報に少なくとも部分的に基づいて前記対象ビークルの前記対象ルートを決定する前記ステップは、
前記複数のノードの少なくとも1つについて、前記複数のノードの前記少なくとも1つの各々の前記ノード情報の少なくとも一部を修正することによって対象ノード情報を、前記1つ以上のビークルに関連する前記動き状態情報に基づいて決定するステップと、
前記マップと、前記複数のノードの前記少なくとも1つの前記対象ノード情報とに基づいて対象マップを生成するステップと、
前記対象マップ、前記スタート位置及び前記目的地に基づいて前記対象ビークルの前記対象ルートを決定するステップと
を含む、請求項10に記載の方法。
【請求項12】
前記対象マップ、前記スタート位置及び前記目的地に基づいて前記対象ビークルの前記対象ルートを決定する前記ステップは、
前記対象マップ中の前記スタート位置に基づいて前記複数のノードからスタートノードを決定するステップと、
前記対象マップ中の前記目的地に基づいて前記複数のノードから目的地ノードを決定するステップと、
前記スタートノードと前記目的地ノードとの間の複数の対象ノードに関連する複数のコストに基づいて前記対象ビークルの前記対象ルートを決定するステップであって、前記対象ノードの前記コストは前記スタートノードから前記対象ノードまでの第1のコストと、前記対象ノードから前記目的地ノードまでの第2のコストとに基づいて決定される、ステップと
を含む、請求項11に記載の方法。
【請求項13】
少なくとも1つのプロセッサによって実行されるとき、方法を実行するように前記少なくとも1つのプロセッサに指示する実行可能指示を備える非一時的コンピュータ可読媒体であって、前記方法は、
対象ビークルのスタート位置及び目的地を取得するステップと、
前記スタート位置と前記目的地とを含む対象領域のマップであって、複数のノードの各々のノード情報を含む、マップを取得するステップと、
前記対象領域内の前記対象ビークル以外の1つ以上のビークルに関連する動き状態情報を取得するステップと、
前記スタート位置、前記目的地、1つ以上のビークルに関連する前記動き状態情報及び前記マップに少なくとも部分的に基づいて前記対象ビークルの対象ルートを決定するステップと
を含み、
前記スタート位置、前記目的地、1つ以上のビークルに関連する前記動き状態情報及び前記マップに少なくとも部分的に基づいて前記対象ビークルの前記対象ルートを決定する前記ステップは、
前記動き状態情報に基づいて前記1つ以上のビークルから静止している1つ以上のビークルを特定するステップと、
前記静止している1つ以上のビークルの各々について、前記静止しているビークルに関連する1つ以上のノードを含む既定の領域を決定するステップと、
前記静止しているビークルに関連する前記1つ以上のノードの各々について、前記ノードの前記ノード情報を修正するステップと、
前記マップと、前記静止している1つ以上のビークルの各々に関連する前記1つ以上のノードの前記修正ノード情報とに基づいて候補マップを決定するステップと、
前記候補マップ、前記スタート位置及び前記目的地に基づいて前記対象ビークルの候補ルートを決定するステップと、を含み、
前記既定の領域の大きさは、前記静止している1つ以上のビークルのサイズ、または前記静止しているビークルに関連するノードのうち2つの隣接ノードの距離に基づいて決定され、
前記スタート位置、前記目的地、前記1つ以上のビークルに関連する前記動き状態情報及び前記マップに少なくとも部分的に基づいて前記対象ビークルの前記対象ルートを決定する前記ステップは、
前記静止しているビークルに関連する前記1つ以上のノードの各々について、前記ノードを障害として指定することによって前記ノードの前記ノード情報を修正するステップと、
前記動き状態情報に基づいて、前記1つ以上のビークルから、移動している1つ以上のビークルを特定するステップと、
前記移動している1つ以上のビークルの各々について、前記移動しているビークルに対応する既定のルートに関連する1つ以上のノードを決定するステップと、
前記移動しているビークルに関連する前記1つ以上のノードの各々について、既定の閾値を超える重み値を前記ノードに割り当てることによって前記ノードの前記ノード情報を修正するステップと、
前記マップと、前記静止している1つ以上のビークルの各々に関連する前記1つ以上のノードの前記修正ノード情報と、前記移動している1つ以上のビークルの各々に関連する前記1つ以上のノードの前記修正ノード情報とに基づいて対象マップを決定するステップと、
前記対象マップ、前記スタート位置及び前記目的地に基づいて前記対象ビークルの前記対象ルートを決定するステップと、をさらに含む、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連する出願の参照
本出願は2019年1月14日に出願された中国出願第201910032301.5号の優先権を主張し、本中国出願の全内容が参照により本明細書に援用される。
【0002】
本開示は概してルート計画に関し、特に、マップ(たとえばトポロジカルマップ)に基づくルート計画のためのシステム及び方法に関する。
【背景技術】
【0003】
自動化技術及びコンピュータ技術の発展にともない、輸送ビークル(たとえば無人搬送ビークル)向けのルート計画の研究が今日急激に発展している。一般的に、ビークル向けに、複数のノードとそのノード情報(たとえばノードの通行可能性)とを含み得るマップ(たとえば、トポロジカルマップ、グリッドマップ)に基づいてスタート位置から目的地までのルートをルート計画システムが決定することができる。しかし、場合によっては、他のビークルの動き情報がノードのノード情報(たとえば通行可能性)に影響するおそれがあり、したがって、ルート計画の正確度及び効率に影響するおそれがある。したがって、動き情報を考慮した正確かつ効果的なルート計画のためのシステム及び方法を提供することが望ましい。
【0004】
本開示の第1の態様では、トポロジカルマップに基づく無人搬送ビークル(AGV)のルート計画のための方法が提供され得る。
【発明の概要】
【課題を解決するための手段】
【0005】
方法は、スケジューリングシステムに対応するトポロジカルマップを取得するステップと、トポロジカルマップを前処理し、スケジューリングシステム中の複数のAGVに関連する動き状態情報と、トポロジカルマップ中の複数のAGVによって占められる複数のノードとに基づいてトポロジカルマップのノード情報を修正することによって修正トポロジカルマップを取得するステップと、修正トポロジカルマップ中の注目対象のAGVのスタートノード及び目的地ノードを決定するステップと、修正トポロジカルマップのノード情報に基づいて、スタートノードと目的地ノードとの間の複数のノードに関連する複数の総コストを決定するステップと、複数の総コストに基づいて注目対象のAGVのルート計画を実行するステップとを含んでもよい。
【0006】
本開示の第2の態様では、トポロジカルマップに基づく無人搬送ビークル(AGV)のルート計画のための装置が提供され得る。装置は少なくとも1つのプロセッサと、プログラムコードを記憶する少なくとも1つの記憶部とを含んでもよい。プログラムコードが少なくとも1つのプロセッサによって実行されるとき、プログラムコードは方法を実行するように少なくとも1つのプロセッサに指示し得る。方法は、スケジューリングシステムに対応するトポロジカルマップを取得するステップと、トポロジカルマップを前処理し、スケジューリングシステム中の複数のAGVに関連する動き状態情報と、トポロジカルマップ中の複数のAGVによって占められる複数のノードとに基づいてトポロジカルマップのノード情報を修正することによって修正トポロジカルマップを取得するステップと、修正トポロジカルマップ中の注目対象のAGVのスタートノード及び目的地ノードを決定するステップと、修正トポロジカルマップのノード情報に基づいて、スタートノードと目的地ノードとの間の複数のノードに関連する複数の総コストを決定するステップと、複数の総コストに基づいて注目対象のAGVのルート計画を実行するステップとを含んでもよい。
【0007】
本開示の第3の態様では、コンピュータ可読記憶媒体が提供され得る。コンピュータ可読記憶媒体は、少なくとも1つのプロセッサによって実行されるとき、方法が実行され得るコンピュータプログラムを含んでもよい。方法は、スケジューリングシステムに対応するトポロジカルマップを取得するステップと、トポロジカルマップを前処理し、スケジューリングシステム中の複数のAGVに関連する動き状態情報と、トポロジカルマップ中の複数のAGVによって占められる複数のノードとに基づいてトポロジカルマップのノード情報を修正することによって修正トポロジカルマップを取得するステップと、修正トポロジカルマップ中の注目対象のAGVのスタートノード及び目的地ノードを決定するステップと、修正トポロジカルマップのノード情報に基づいて、スタートノードと目的地ノードとの間の複数のノードに関連する複数の総コストを決定するステップと、複数の総コストに基づいて注目対象のAGVのルート計画を実行するステップとを含んでもよい。
【0008】
本開示の第4の態様では、ルート計画のためのシステムが提供され得る。ルート計画のためのシステムは、指示の集合を含む少なくとも1つの記憶装置と、少なくとも1つの記憶装置と通信する少なくとも1つのプロセッサとを含んでもよい。指示の集合を実行するとき、少なくとも1つのプロセッサは、対象ビークルのスタート位置及び目的地を取得し、スタート位置と目的地とを含む対象領域のマップであって、複数のノードの各々のノード情報を含む、マップを取得し、対象領域内の対象ビークル以外の1つ以上のビークルに関連する動き状態情報を取得し、スタート位置、目的地、1つ以上のビークルに関連する動き状態情報及びマップに少なくとも部分的に基づいて対象ビークルの対象ルートを決定することをシステムに行なわせるように構成され得る。
【0009】
本開示の第5の態様では、方法が提供され得る。方法は、少なくとも1つのプロセッサと、少なくとも1つの記憶媒体と、ネットワークに接続される通信プラットフォームとを含むコンピューティングデバイス上で実施されてもよい。方法は、対象ビークルのスタート位置及び目的地を取得するステップと、スタート位置と目的地とを含む対象領域のマップであって、複数のノードの各々のノード情報を含む、マップを取得するステップと、対象領域内の対象ビークル以外の1つ以上のビークルに関連する動き状態情報を取得するステップと、スタート位置、目的地、1つ以上のビークルに関連する動き状態情報及びマップに少なくとも部分的に基づいて対象ビークルの対象ルートを決定するステップとを含んでもよい。
【0010】
本開示の第6の態様では、ルート計画のためのシステムが提供され得る。システムは、対象ビークルのスタート位置及び目的地を取得するように構成される位置取得モジュールと、スタート位置と目的地とを含む対象領域のマップであって、複数のノードの各々のノード情報を含む、マップを取得するように構成されるマップ取得モジュールと、対象領域内の対象ビークル以外の1つ以上のビークルに関連する動き状態情報を取得するように構成される動き状態取得モジュールと、スタート位置、目的地、1つ以上のビークルに関連する動き状態情報及びマップに少なくとも部分的に基づいて対象ビークルの対象ルートを決定するように構成されるルート決定モジュールとを含んでもよい。
【0011】
本開示の第7の態様では、非一時的コンピュータ可読媒体が提供され得る。非一時的コンピュータ可読媒体は、少なくとも1つのプロセッサによって実行されるとき、方法を実行するように少なくとも1つのプロセッサに指示することができる実行可能指示を含んでもよい。方法は、対象ビークルのスタート位置及び目的地を取得するステップと、スタート位置と目的地とを含む対象領域のマップであって、複数のノードの各々のノード情報を含む、マップを取得するステップと、対象領域内の対象ビークル以外の1つ以上のビークルに関連する動き状態情報を取得するステップと、スタート位置、目的地、1つ以上のビークルに関連する動き状態情報及びマップに少なくとも部分的に基づいて対象ビークルの対象ルートを決定するステップとを含んでもよい。
【0012】
さらなる特徴は以下に一部説明され、これらの特徴は、以下の説明と添付の図面とを検討すれば当業者には一部明らかになり、又は施例の製造や動作によって知見を得ることができるであろう。本開示の特徴は、以下で説明されている詳細な例で説明されている方法、手段及び組合せの様々な態様の実施又は使用によって実現及び達成され得る。
【0013】
典型的な実施形態の観点で本開示がさらに説明されている。当該典型的な実施形態は図面を参照して詳細に説明されている。図面は一定の縮尺で描かれているものではない。当該実施形態は限定を課さない概略的な実施形態であり、当該実施形態では、同様の参照番号が図面のいくつかの図にわたって同様の構成を表わす。
【図面の簡単な説明】
【0014】
図1】本開示のいくつかの実施形態に係る典型的なルート計画システムを示す概略図である。
図2】本開示のいくつかの実施形態に係る典型的なコンピューティングデバイスの典型的なハードウェア及び/又はソフトウェア構成要素を示す概略図である。
図3】本開示のいくつかの実施形態に係る典型的なモバイルデバイスの典型的なハードウェア及び/又はソフトウェア構成要素を示す概略図である。
図4】本開示のいくつかの実施形態に係るトポロジカルマップに基づく無人搬送ビークル(AGV)向けのルート計画の典型的なプロセスを示すフローチャートである。
図5】本開示のいくつかの実施形態に係るAGVのルート計画の典型的なプロセスを示すフローチャートである。
図6】本開示のいくつかの実施形態に係る典型的な処理装置を示すブロック図である。
図7】本開示のいくつかの実施形態に係る対象ビークルの対象ルートを決定する典型的なプロセスを示すフローチャートである。
図8】本開示のいくつかの実施形態に係る対象ビークルの対象ルートを決定する典型的なプロセスを示すフローチャートである。
図9】本開示のいくつかの実施形態に係るタスクを割り当てる典型的なプロセスを示すフローチャート。
図10】本開示のいくつかの実施形態に係るノードの典型的なノード情報を示す概略図である。
図11】本開示のいくつかの実施形態に係る、静止しているビークルに関連する典型的なノードと、移動している静止しているビークルに関連する典型的なノードとを示す概略図である。
【発明を実施するための形態】
【0015】
以下の詳細な説明では、関連する開示の完全な理解を提供するために例として数多くの具体的な詳細が記載されている。しかし、このような詳細を用いずに本開示が実施され得ることは当業者には当然明らかである。他の例では、本開示の態様を必要以上に不明確にすることを避けるために、詳細を用いずに、周知の方法、手順、システム、構成要素及び/又は回路が比較的上位なもので説明されている。開示されている実施形態に対する様々な修正が当業者には容易に明らかであり、本出願において定められている一般的な原理が本開示の精神及び範囲から逸脱しない限りにおいて他の実施形態及び他の用途に適用され得る。したがって、本開示は示されている実施形態に限定されない一方で、請求項からはみ出さない最大の範囲が与えられるものになっている。
【0016】
本出願で用いられている用語は特定の実施形態を説明するためのものにすぎず、限定を課すものであることは意図されていない。本出願で用いられる際、単数形「a」、「an」及び「the」は、文脈上明確に別義を示さない限り、複数形も含むことが意図されているといえる。さらに、本明細書で用いられる場合の用語「comprise」、「comprises」及び/又は「comprising」、「include」、「includes」及び/又は「including」が、記載されている特徴、整数、ステップ、動作、要素及び/又は構成要素の存在について記載しているが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素及び/又はこれらのグループの存在又は付加を排除しないと解される。
【0017】
本出願で用いられている用語「システム」、「ユニット」、「モジュール」及び/又は「ブロック」は、下位から順に異なるレベルの異なる構成要素、要素、部分、セクションやアセンブリを区別する1つの用法であると解される。ただし、同じ目的を達成する場合に用語が別の表現に置き換えられる場合がある。
【0018】
本開示で説明されているモジュール(又はユニット、ブロック、ユニット)は、ソフトウェア及び/又はハードウェアモジュールとして実施されてもよく、任意のタイプの非一時的コンピュータ可読媒体や他の記憶装置に記憶されてもよい。いくつかの実施形態では、ソフトウェアモジュールがコンパイルされて実行可能プログラムにリンクされてもよい。ソフトウェアモジュールが他のモジュール又はそのソフトウェアモジュール自体から呼び出されることが可能であり、かつ/又は検出されたイベントや割り込みに応じて呼び出されることが可能であることは理解されるであろう。コンピューティングデバイスで実行されるように構成されているソフトウェアモジュールは、コンパクトディスク、デジタルビデオディスク、フラッシュドライブ、磁気ディスクやその他一切の有形の媒体などのコンピュータ可読媒体上で提供されるか、又はデジタルダウンロードで提供されることが可能である(さらに、実行前に、インストール、解凍や復号を必要とする、圧縮フォーマットやインストール可能フォーマットで最初に記憶されることが可能である)。このようなソフトウェアコードは、コンピューティングデバイスによる実行のために、実行するコンピューティングデバイスのメモリデバイスに部分的又は完全に記憶されることが可能である。ソフトウェア指示は、EPROMなどのファームウェアに組み込まれることが可能である。さらに、ハードウェアモジュール(たとえば回路)は、ゲートやフリップフロップなどの接続又は結合された論理ユニットの包含物であることが可能であり、かつ/又はプログラム可能ゲートアレイやプロセッサなどのプログラム可能なユニットの包含物であることが可能であることが理解されるであろう。本出願で説明されているモジュールやコンピューティングデバイスの機能は、ハードウェアモジュールとして実施されることが望ましいが、ソフトウェアモジュールとして実施されることも可能である。多くの場合、本出願で説明されているモジュールは、他のモジュールと組み合されるか、又は、自モジュールの物理的構成又は記憶部とは無関係にユニットに分割されることが可能である論理モジュールを指す。
【0019】
ユニット、エンジン、モジュールやブロックが、別のユニット、エンジン、モジュールやブロック「上に」ある、これ「に接続」されている、又はこれ「に結合」されているものとして記載されている場合、文脈上明確に別義を示さない限り、これが他のユニット、エンジン、モジュールやブロックに直接接続されている、直接結合されている、若しくは直接通信している、又は、介在するユニット、エンジン、モジュールやブロックが存在し得ることが理解されるであろう。本出願で用いられる際、用語「及び/又は」は関連する列挙された項目のうちの1つ以上の、一切の組合せを含む。
【0020】
本開示の上記及び他の特徴及び特性並びに構成の関連要素の動作の方法及び機能並びに部品の組合せ並びに製造の効率は、すべてが本開示の一部を形成する添付の図面を参照して以下の説明を考慮すればより明らかになる。ただし、図面が図示及び説明のためのものにすぎず、本開示の範囲を限定することが意図されていないことは明確に理解されたい。
【0021】
本開示に用いられているフローチャートは、システムが本開示のいくつかの実施形態にしたがって実施する動作を示す。フローチャートの動作が順番通りに実施されなくてもよいことは明確に理解されたい。さらに言えば、動作は、逆の順番で、又は同時に実施されてもよい。さらに、フローチャートに1つ以上の他の動作が付加されてもよい。フローチャートから1つ以上の動作が除かれてもよい。
【0022】
本開示の態様はマップ(たとえばトポロジカルマップ)に基づくルート計画のためのシステム及び方法に関する。マップは複数のノードとそのノード情報、たとえば、ノードの位置、ノードのバーコード、ノードの座標、ノードの通行可能性、ノードの方向変換能力、隣接ノードのカウント値、ノードと隣接ノードとの連結性などとを含んでもよい。システムは対象ビークルのスタート位置及び目的地を決定してもよい。システムは、対象ビークルが位置する対象領域に位置する、対象ビークル以外の1つ以上のビークルに関連する動き状態情報も取得してもよい。1つ以上のビークルに関連する動き状態情報に基づいて複数のノードの少なくとも1つの各々のノード情報の少なくとも一部を修正することによって対象マップをシステムが生成してもよい。その後、対象マップ、スタート位置及び目的地に基づいて対象ビークルの対象ルートをシステムが決定してもよい。対象ルートを決定するとき、スタート位置に対応するスタートノード、目的地に対応する目的地ノード間の複数の対象ノードに関連する複数のコストをシステムが決定してもよい。
【0023】
本開示のシステム及び方法に係れば、他のビークルに関連する動き状態情報が考慮されてもよく、これにより、対象ビークルが対象ルートを移動するときに他のビークルと衝突しないことを保証することができる。さらに、対象ルートを決定するとき、ノードのコストが当該ノードの重み値、当該ノードの親ノードのコスト、親ノードから当該ノードまでの距離コスト、親ノードから当該ノードまでの方向変換コストなどの様々なパラメータに関連してもよく、これにより、対象ルートの正確度及び妥当性を改善することができる。
【0024】
図1は本開示のいくつかの実施形態に係る典型的なルート計画システムを示す概略図である。いくつかの実施形態では、ルート計画システム(「スケジューリングシステム」とも称される)100はサーバ110、ネットワーク120、1つ以上のビークル130、1つ以上の端末装置140及び記憶装置150を含んでもよい。いくつかの実施形態では、ルート計画システム100は様々な場面、たとえば、無人搬送ビークル(automated guided vehicle:AGV)をベースとした貨物輸送、既定の領域(たとえば公園)の観光、自動食品配送などの様々なシナリオに適用されてもよい。
【0025】
サーバ110は単一のサーバであってもサーバのグループであってもよい。サーバのグループは集中型であっても分散型であってもよい(たとえば、サーバ110は分散システムであってもよい)。いくつかの実施形態では、サーバ110はローカル型であってもリモート型であってもよい。たとえば、サーバ110は1つ以上のビークル130、1つ以上の端末装置140及び/又は記憶装置150に記憶された情報及び/又はデータにネットワーク120を介してアクセスしてもよい。他の例として、サーバ110は1つ以上のビークル130、1つ以上の端末装置140及び/又は記憶装置150に直接接続されて、記憶された情報及び/又はデータにアクセスしてもよい。いくつかの実施形態では、サーバ110はクラウドプラットフォームで実施されてもよいし、搭載型コンピュータで実施されてもよい。例にすぎないが、クラウドプラットフォームはプライベートクラウド、パブリッククラウド、ハイブリッドクラウド、コミュニティクラウド、分散型クラウド、インタクラウド、マルチクラウドなどやこれらの任意の組合せを含んでもよい。いくつかの実施形態では、サーバ110は本開示の図2に示されている1つ以上の構成要素を含むコンピューティングデバイス200で実施されてもよい。
【0026】
いくつかの実施形態では、サーバ110は処理装置112を含んでもよい。処理装置112はルート計画及び/又はタスク割当てに関連する情報及び/又はデータを処理して、本開示で説明されている1つ以上の機能を実行し得る。たとえば、処理装置112は対象領域内の対象ビークル以外の1つ以上のビークルに関連する動き状態情報を取得し得る。処理装置112はまた、対象ビークルのスタート位置、対象ビークルの目的地、1つ以上のビークルに関連する動き状態情報及び対象領域のマップに少なくとも部分的に基づいて対象ビークルの対象ルートを決定し得る。いくつかの実施形態では、処理装置112は1つ以上の処理エンジン(たとえば、1つ以上のシングルコア処理エンジンや1つ以上のマルチコアプロセッサ)を含んでもよい。例にすぎないが、処理装置112は中央処理装置(CPU)、特定用途向け集積回路(ASIC)、特定用途向け命令セットプロセッサ(ASIP)、グラフィックスプロセッシングユニット(GPU)、フィジックスプロセッシングユニット(PPU)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックデバイス(PLD)、コントローラ、マイクロコントローラユニット、縮小命令セットコンピュータ(RISC)、マイクロプロセッサなどやこれらの任意の組合せを含んでもよい。
【0027】
いくつかの実施形態では、サーバ110はネットワーク120に接続されて、ルート計画システム100の1つ以上の構成要素(たとえば、1つ以上のビークル130、1つ以上の端末装置140、記憶装置150)と通信してもよい。いくつかの実施形態では、サーバ110はルート計画システム100の1つ以上の構成要素(たとえば、1つ以上のビークル130、1つ以上の端末装置140、記憶装置150)に直接接続又は直接通信してもよい。
【0028】
ネットワーク120は情報及び/又はデータの交換を容易にすることができる。いくつかの実施形態では、ルート計画システム100の1つ以上の構成要素(たとえば、サーバ110、1つ以上のビークル130、1つ以上の端末装置140、記憶装置150)がネットワーク120を介して情報及び/又はデータをルート計画システム100の他の1つ以上の構成要素に送信してもよい。たとえば、サーバ110が対象領域のマップを記憶装置150からネットワーク120を介して取得してもよい。いくつかの実施形態では、ネットワーク120は任意のタイプの有線ネットワークであっても任意のタイプの無線ネットワークであってもこれらの組合せであってもよい。例にすぎないが、ネットワーク120はケーブルネットワーク、有線ネットワーク、光ファイバネットワーク、電気通信ネットワーク、イントラネット、インターネット、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、無線ローカルエリアネットワーク(WLAN)、メトロポリタンエリアネットワーク(MAN)、ワイドエリアネットワーク(WAN)、公衆電話交換網(PSTN)、Bluetoothネットワーク、ZigBeeネットワーク、近距離無線通信(NFC)ネットワークなどやこれらの任意の組合せを含んでもよい。いくつかの実施形態では、ネットワーク120は1つ以上のネットワークアクセスポイントを含んでもよい。たとえば、ネットワーク120は有線ネットワークアクセスポイントを含んでも無線ネットワークアクセスポイント(たとえば、ポイント120-1、ポイント120-2)を含んでもよく、これを通じてルート計画システム100の1つ以上の構成要素がネットワーク120に接続されて、データ及び/又は情報を交換してもよい。
【0029】
1つ以上のビークル130は複数のビークル130-1、130-2、...、130-nを含んでもよい。1つ以上のビークル130は無人搬送ビークル(AGV)、タクシー、自家用車、相乗り(hitch)、バス、列車、高速列車、高速鉄道、地下鉄、船舶、航空機、宇宙船、熱気球、無人ビークル(たとえば、無人飛行機、無人車)などやこれらの任意の組合せを含んでもよい。1つ以上のビークル130はサーバ110、1つ以上の端末装置140及び/又は記憶装置150とネットワーク120を介して通信してもよい。いくつかの実施形態では、1つ以上のビークル130はサーバ110によって割り当てられたタスク(たとえば商品の配送)を受け付けて、サーバ110によって決定されたルートに沿ってタスクを実行してもよい。いくつかの実施形態では、1つ以上のビークル130は1つ以上のビークル130の動き状態情報をネットワーク120を介してサーバ110に送信し、サーバ110は1つ以上のビークルのルートを決定するときに動き状態情報を処理してもよい。
【0030】
端末装置140はサーバ110、1つ以上のビークル130及び/又は記憶装置150から情報及び/又はデータをネットワーク120を介して受信するように構成されてもよい。たとえば、端末装置140は、タスク(たとえば商品の配送)に関連する情報(たとえば、ルート、スタート位置、目的地)をサーバ110及び/又はタスクを実行予定であるか又は実行中であるビークルからネットワーク120を介して受信してもよい。いくつかの実施形態では、端末装置140は、ユーザが情報を視認しかつ/又はデータ及び/若しくは指示をルート計画システム100に入力することができるユーザインタフェイスを提供してもよい。たとえば、ユーザインタフェイスを介してタスクに関連する情報(たとえば、ルート、スタート位置、目的地)をユーザが視認してもよい。他の例として、端末装置140ではユーザインタフェイスを介して指示を入力して、指示をネットワーク120を介して1つ以上のビークル130及び/又はサーバ110に送信してもよい。指示は、タスクを実行するための指示、タスクの実行を中止するための指示、タスクに関連するパラメータを設定又は修正するための指示、1つ以上のビークル130のうちの1つを変更するための指示、1つ以上のビークル130のうちの1つを維持するための指示、1つ以上のビークル130のうちの1つにタスクを割り当てるための指示などを含んでもよい。
【0031】
いくつかの実施形態では、1つ以上の端末装置140はモバイルデバイス140-1、タブレットコンピュータ140-2、ラップトップコンピュータ140-3、ビークル130の内蔵デバイス140-4、ウェアラブルデバイス140-5などやこれらの任意の組合せを含んでもよい。いくつかの実施形態では、モバイルデバイス140-1はスマートホームデバイス、ウェアラブルデバイス、スマートモバイルデバイス、仮想現実デバイス、拡張現実デバイスなどやこれらの任意の組合せを含んでもよい。スマートホームデバイスはスマート照明デバイス、インテリジェント電気装置の制御デバイス、スマートモニタリングデバイス、スマートテレビ、スマートビデオカメラ、インターホンなどやこれらの任意の組合せを含んでもよい。ウェアラブルデバイスはスマートブレスレット、スマートフットギア、スマートグラス、スマートヘルメット、スマートウォッチ、スマート衣服、スマートバックパック、スマートアクセサリなどやこれらの任意の組合せを含んでもよい。スマートモバイルデバイスはスマートフォン、パーソナルデジタルアシスタント(PDA)、ゲームデバイス、ナビゲーションデバイス、販売時点情報管理(POS)デバイスなどやこれらの任意の組合せを含んでもよい。仮想現実デバイス及び/又は拡張現実デバイスは仮想現実ヘルメット、仮想現実グラス、仮想現実眼帯(virtual reality patch)、拡張現実ヘルメット、拡張現実グラス、拡張現実眼帯(augmented reality patch)などやこれらの任意の組合せを含んでもよい。たとえば、仮想現実デバイス及び/又は拡張現実デバイスはGoogle(商標)Glass、Oculus Rift、HoloLens、Gear VRなどを含んでもよい。いくつかの実施形態では、内蔵デバイス140-4が搭載型コンピュータ、搭載型テレビなどを含んでもよい。
【0032】
いくつかの実施形態では、端末装置140はテキスト、画像、音声、動画、図表、アニメーション等やこれらの任意の組合せなどの人間が読解可能な形式で情報を表示することができるディスプレイを含んでもよい。端末装置140のディスプレイは陰極線管(CRT)ディスプレイ、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、プラズマディスプレイパネル(PDP)、3次元(3D)ディスプレイなどやこれらの組合せを含んでもよい。いくつかの実施形態では、端末装置140はネットワーク120を介してルート計画システム100の1つ以上の構成要素(たとえば、サーバ110、1つ以上のビークル130、記憶装置150)に接続されてもよい。いくつかの実施形態では、1つ以上の端末装置140にサーバ110が組み込まれてもよい。
【0033】
記憶装置150はデータ及び/又は指示を記憶し得る。いくつかの実施形態では、記憶装置150は、サーバ110、1つ以上のビークル130、1つ以上の端末装置140、外部記憶装置などから取得されたデータを記憶し得る。たとえば、記憶装置150は対象領域のマップを記憶し得る。他の例として、記憶装置150は対象ビークルの対象ルートを記憶し得る。いくつかの実施形態では、記憶装置150は、サーバ110が本開示で説明されている典型的な方法を実行するために実行又は使用することができるデータ及び/又は指示を記憶し得る。たとえば、記憶装置150は、ルート計画システム100が対象領域内の対象ビークル以外の1つ以上のビークルに関連する動き状態情報を取得するために実行又は使用することができる指示を記憶し得る。他の例として、記憶装置150は、ルート計画システム100が対象ビークルのスタート位置、対象ビークルの目的地、1つ以上のビークルに関連する動き状態情報及びマップに少なくとも部分的に基づいて対象ビークルの対象ルートを決定するために実行又は使用することができる指示を記憶し得る。
【0034】
いくつかの実施形態では、記憶装置150は大容量ストレージ、リムーバブルストレージ、揮発読出し書込みメモリ、読出し専用メモリ(ROM)などやこれらの任意の組合せを含んでもよい。典型的な大容量ストレージには磁気ディスク、光ディスク、ソリッドステートドライブなどが含まれ得る。典型的なリムーバブルストレージにはフラッシュドライブ、フロッピディスク、光ディスク、メモリカード、zipディスク、磁気テープなどが含まれ得る。典型的な揮発読出し書込みメモリにはランダムアクセスメモリ(RAM)が含まれ得る。典型的なRAMにはダイナミックRAM(DRAM)、ダブルデータレート同期ダイナミックRAM(DDR SDRAM)、スタティックRAM(SRAM)、サイリスタRAM(T-RAM)やゼロキャパシタRAM(Z-RAM)などが含まれ得る。典型的なROMにはマスクROM(MROM)、プログラマブルROM(PROM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、コンパクトディスクROM(CD-ROM)やデジタル多用途ディスクROMなどが含まれ得る。いくつかの実施形態では、記憶装置150はクラウドプラットフォームで実施されてもよい。例にすぎないが、クラウドプラットフォームはプライベートクラウド、パブリッククラウド、ハイブリッドクラウド、コミュニティクラウド、分散型クラウド、インタクラウド、マルチクラウドなどやこれらの任意の組合せを含んでもよい。
【0035】
いくつかの実施形態では、記憶装置150はネットワーク120に接続されて、ルート計画システム100の1つ以上の構成要素(たとえば、サーバ110、1つ以上のビークル130、1つ以上の端末装置140)と通信してもよい。ルート計画システム100の1つ以上の構成要素がネットワーク120を介して、記憶装置150に記憶されたデータや指示にアクセスしてもよい。いくつかの実施形態では、記憶装置150は、ルート計画システム100の1つ以上の構成要素(サーバ110、1つ以上のビークル130、1つ以上の端末装置140)に直接接続又は直接通信してもよい。いくつかの実施形態では、記憶装置150はサーバ110の一部であってもよい。たとえば、記憶装置150はサーバ110に組み込まれてもよい。
【0036】
ルート計画システム100は例示のために設けられているのにすぎず、本開示の範囲を限定することは意図されていない点に留意するべきである。当業者であれば、本開示の教示を受けて多くの変形や修正をなし得る。ただし、これらの変形や変更は本開示の範囲から逸脱しない。
【0037】
図2は本開示のいくつかの実施形態に係る典型的なコンピューティングデバイスの典型的なハードウェア及び/又はソフトウェア構成要素を示す概略図である。いくつかの実施形態では、サーバ110がコンピューティングデバイス200上で実施されてもよい。たとえば、処理装置112は、コンピューティングデバイス200上で実施されて、本開示で開示されている処理装置112の機能を実行するように構成されてもよい。
【0038】
コンピューティングデバイス200は本出願で説明されているルート計画システム100の任意の構成要素を実施するのに用いられてもよい。たとえば、処理装置112は、コンピューティングデバイス200上でそのハードウェア、ソフトウェアプログラム、ファームウェアやこれらの組合せにより実施されてもよい。便宜上、このようなコンピュータが1つのみ示されているが、処理負荷を分散するために、本明細書で説明されているルート計画及び/又はスケジューリングに関連するコンピュータ機能がいくつかの同様のプラットフォームで分散方式で実施されてもよい。
【0039】
コンピューティングデバイス200はたとえばCOMポート250を含んでもよく、COMポート250はデータ通信を容易にするためにコンピューティングデバイス200に接続されるネットワークに接続され、また、そのネットワークから接続される。コンピューティングデバイス200はプログラム指示を実行する1つ以上のプロセッサ(たとえば論理回路)の形態のプロセッサ(たとえばプロセッサ220)も含んでもよい。たとえば、プロセッサ220はインタフェイス回路と処理回路とを内蔵してもよい。インタフェイス回路はバス210から電子信号を受け取るように構成されてもよく、処理回路による処理のために、電子信号により構造化データ及び/又は指示が符号化される。処理回路は論理計算を行なった後、最終判断、結果及び/又は指示を決定してもよく、これらは電子信号として符号化される。その後、インタフェイス回路は電子信号を処理回路からバス210を介して送出してもよい。
【0040】
コンピューティングデバイス200はコンピューティングデバイス200によって処理されかつ/又は送られる様々なデータファイル(たとえばプログラム指示)を記憶するように構成されている1つ以上の記憶部をさらに含んでもよい。いくつかの実施形態では、1つ以上の記憶部は高速ランダムアクセスメモリ(図示せず)、不揮発メモリ(たとえば、磁気記憶装置、フラッシュメモリや他の不揮発ソリッドステートメモリ)(図示せず)、ディスク270、読出し専用メモリ(ROM)230やランダムアクセスメモリ(RAM)240などやこれらの任意の組合せを含んでもよい。いくつかの実施形態では、1つ以上の記憶部はプロセッサ220に対応するリモートストレージをさらに含んでもよい。リモートストレージはネットワーク120を介してコンピューティングデバイス200に接続されてもよい。コンピューティングデバイス200は1つ以上の記憶部(たとえば、ROM230、RAM240及び/又は別のタイプの非一時的記憶媒体)に記憶されてプロセッサ220によって実行されるプログラム指示も含んでもよい。プログラム指示として本開示の方法及び/又はプロセスが実施されてもよい。コンピューティングデバイス200はコンピューティングデバイス200と他の構成要素との間の入力/出力をサポートするI/O構成要素260も含んでもよい。コンピューティングデバイス200はネットワーク通信を介してプログラミング及びデータの受信も行なってもよい。
【0041】
図示のためにすぎないが、図2にはプロセッサが1つだけ示されている。複数のプロセッサ220も考えられ、したがって、本開示で説明されている1つのプロセッサ220によって実行される動作及び/又は方法ステップは、複数のプロセッサによって連携して又は別々に実行され得る。たとえば、本開示においてコンピューティングデバイス200のプロセッサ220が動作Aと動作Bとの両方を実行する場合、コンピューティングデバイス200では動作Aと動作Bとが異なる2つのプロセッサ220によって連携して又は別々に実行され得ることを理解されたい(たとえば、第1のプロセッサが動作Aを実行して第2のプロセッサが動作Bを実行する、又は、第1及び第2のプロセッサが連携して動作A及びBを実行する)。
【0042】
上記の説明は例示のために設けられているのにすぎず、本開示の範囲を限定することは意図されていない点に留意するべきである。当業者であれば、本開示の教示を受けて多くの変形と修正とをなし得る。ただし、これらの変形や変更は本開示の範囲から逸脱しない。
【0043】
図3は本開示のいくつかの実施形態に係る典型的なモバイルデバイスの典型的なハードウェア及び/又はソフトウェア構成要素を示す概略図である。いくつかの実施形態では、サーバ110(たとえば処理装置112)や1つ以上の端末装置140がモバイルデバイス300上で実施されてもよい。
【0044】
図3に示されているように、モバイルデバイス300は通信プラットフォーム310、ディスプレイ320、グラフィックスプロセッシングユニット(GPU)330、中央処理装置(CPU)340、I/O350、メモリ360、モバイルオペレーティングシステム(OS)370及び記憶部390を含んでもよい。いくつかの実施形態では、システムバスやコントローラ(図示せず)を含む(ただしこれらに限定されない)その他一切の適当な構成要素もモバイルデバイス300に存在してもよい。
【0045】
いくつかの実施形態では、モバイルオペレーティングシステム370(たとえば、iOS(商標)、Android(商標)、Windows Phone(商標))や1つ以上のアプリケーション380がCPU340によって実行されるために記憶部390からメモリ360にロードされてもよい。アプリケーション380は、ルート計画システム100から行為認識や他の情報に関する情報を受け付けて描画するブラウザやその他一切の適当なモバイルアプリを含んでもよい。情報ストリームとのユーザのやり取りがI/O350を介して実現されて、ネットワーク120を介してルート計画システム100の処理装置112及び/又は他の構成要素に提供されてもよい。
【0046】
図4は本開示のいくつかの実施形態に係るトポロジカルマップに基づく無人搬送ビークル(AGV)向けのルート計画の典型的なプロセスを示すフローチャートである。いくつかの実施形態では、プロセス400は、記憶ROM230又はRAM240に記憶される指示の集合(たとえばアプリケーション)として実施され得る。プロセッサ220及び/又は図6のモジュールは、指示の集合を実行することができ、これらの指示を実行するとき、プロセッサ220及び/又はモジュールはプロセス400を実行するように構成され得る。以下に記載されている図示プロセスの動作は例示上のものであることが意図されている。いくつかの実施形態では、プロセス400は、記載されていない1つ以上の追加の動作を用いて及び/又は本明細書に記載の1つ以上の動作を用いずに実現されてもよい。さらに、図4に示されるプロセス及び以下で説明されているプロセスの動作の順序が限定を課すものであることは意図されていない。
【0047】
401で、スケジューリングシステム(たとえばルート計画システム100)に対応するトポロジカルマップが取得されてもよい。トポロジカルマップは処理装置112(たとえば、図6に示されている位置取得モジュール610やマップ取得モジュール620)によって取得されてもよい。本出願で用いられる際、トポロジカルマップは、環境(たとえば屋内環境)が複数のノードと、複数のノードの連結関係とによって表わされ得るマップであってもよい。いくつかの実施形態では、トポロジカルマップは複数のノードの各々の位置と、複数のノードのノード情報とを含んでもよい。
【0048】
402で、トポロジカルマップが前処理されて、スケジューリングシステム中の複数のAGVに関連する動き状態情報と、トポロジカルマップ中の複数のAGVによって占められる複数のノードとに基づいてトポロジカルマップのノード情報を修正することによって修正トポロジカルマップが取得されてもよい。複数のAGVに関連する動き状態情報は処理装置112(たとえば、図6に示されている動き状態取得モジュール630)によって取得されてもよく、トポロジカルマップは処理装置112(たとえば、図6に示されているルート決定モジュール640)によって前処理されてもよい。
【0049】
403で、修正トポロジカルマップ中の注目対象のAGVのスタートノード及び目的地ノードが決定されてもよい。スタートノードと目的地ノードとの間の複数のノードに関連する複数の総コスト(「コスト」と略称する場合もあり)が修正トポロジカルマップのノード情報に基づいて決定されてもよい。複数の総コストに基づいて注目対象のAGVのルート計画が実行されてもよい。動作403は処理装置112(たとえば、図6に示されているルート決定モジュール640)によって実行されてもよい。
【0050】
いくつかの実施形態では、トポロジカルマップはスケジューリングシステムに記憶される広域環境のトポロジカルマップ又は局所環境のトポロジカルマップを含んでもよい。たとえば、広域環境のトポロジカルマップは、屋内環境全体が反映され、屋内環境全体を表わすノード情報を含み得るマップであってもよく、局所環境のトポロジカルマップは、スタートノードから目的地ノードまでの特定の領域を含むマップであってもよい。いくつかの実施形態では、トポロジカルマップがトポロジカルマップを記憶している他の記憶装置からスケジューリングシステムによって取得されることもあってもよい。
【0051】
いくつかの実施形態では、トポロジカルマップ中の複数のノードの各々について、ノードの位置がシリアル番号やバーコード(たとえば、1次元バーコード、2次元バーコード(たとえば、応答が早い(QR)コード))によって表わされてもよい。ノードのノード情報はノードの重み値、ノードの通行可能性(たとえば、ビークルがノードを通行することが許容されるか否か)、ノードの方向変換能力(たとえば、ビークルがノードで方向変換することが許容されるか否か)、隣接ノードのカウント値(たとえば、4つ、8つ)、ノードと隣接ノードとの連結性などやこれらの任意の組合せを含んでもよい。いくつかの実施形態では、ノードの重み値が大きいほど、ノードの総コストが高くなってもよく、したがって、ビークルがノードを迂回する可能性が高くなってもよい。
【0052】
いくつかの実施形態では、スケジューリングシステムは、複数のAGVによって占められる最初のノード(たとえばスタートノード)の位置と、複数のAGVによって実行されるタスクの目的地ノードの位置とを取得してもよい。スケジューリングシステムは複数のAGVに関連する動き状態情報も取得してもよい。いくつかの実施形態では、複数のAGVは静止している1つ以上のAGVと移動している1つ以上のAGVとを含んでもよい。したがって、他のAGVを迂回するスタートノードから目的地ノードまでの最短ルートが修正トポロジカルマップに基づいて注目対象のAGV向けに計画されてもよい。
【0053】
いくつかの実施形態では、スケジューリングシステムが複数のAGVの状態も取得してもよい。特定のAGVについて、状態はアイドル状態(「スケジューリング可能状態」とも称される)と非アイドル状態(「非スケジューリング可能状態」とも称される)とを含んでもよい。アイドル状態は、特定のAGVによって実行予定の(又は実行中の)タスクが存在しないことを指す場合があり、非アイドル状態は、特定のAGVによって実行予定の(又は実行中の)タスクが存在することを指す場合がある。これに加えて又はこれの代わりに、非アイドル状態は、特定のAGVが充電中、メンテナンス中などであり得ることを指す場合もある。いくつかの実施形態では、複数のAGVの状態に応じて、アイドル状態のAGVにタスクが割り当てられてもよい。本出願で用いられる際、タスクは指定されたAGVに対応する指定されたタスクと、指定されていないAGV(たとえば、アイドル状態のいずれかのAGV)に対応する指定されていないタスクとを含んでもよい。
【0054】
異なるAGVが異なるタスクに対応するといったことを受けて、以下の2つの状況にあるときにタスクがAGVに割り当てられてもよい。
【0055】
状況1:修正トポロジカルマップにおいて、指定されたタスクに対応する指定されたAGVがアイドル状態にある場合に、指定されたタスクが、指定されたAGVに割り当てられてもよく、指定されたAGVが非アイドル状態にある場合に、指定されたAGVがアイドル状態になった後、指定されたタスクが、指定されたAGVに割り当てられてもよい。
【0056】
状況2:指定されていないタスク毎に、指定されていないタスクの目的地ノードに最も近いアイドル状態の指定されていないAGVが修正トポロジカルマップ中で決定されて、指定されていないタスクが、指定されていないAGVに割り当てられてもよい。
【0057】
いくつかの実施形態では、(修正)トポロジカルマップが(修正)トポロジカルマップのノード情報の変更に基づいて更新されることも行われてもよい。いくつかの実施形態では、ノード情報の一部が更新されてもよい。これに加えて又はこれの代わりに、ノード情報の全部が更新されてもよい。たとえば、ノードの重み値、ノードの通行可能性及び/又はノードの方向変換能力が更新されてもよい。(修正)トポロジカルマップの更新の仕方がユーザによって定められてもよい。たとえば、(修正)トポロジカルマップが所定の時間間隔(たとえば、1分毎、2分毎、5分毎、1か月毎、2か月毎)で更新されてもよい。
【0058】
いくつかの実施形態では、トポロジカルマップの前処理が第1の前処理と第2の前処理とを含んでもよい。いくつかの実施形態では、第1の前処理を実行するか第2の前処理を実行するかを別々にすることによってトポロジカルマップが前処理されてもよい。いくつかの実施形態では、第1の前処理と第2の前処理とをまとめて実行することによってトポロジカルマップが前処理されてもよい。説明のために、最初に第1の前処理を実行し、その後に第2の前処理を実行することによってトポロジカルマップが前処理される状況が一例として説明されている。
【0059】
静止している1つ以上のAGVに対応するノード情報、たとえば、ノードの重み値、ノードの通行可能性、ノードの方向変換能力などを修正することによってトポロジカルマップに第1の前処理が実行されてもよい。さらに、第1の修正トポロジカルマップに基づいて注目対象のAGVの第1のルート計画が実行されてもよい。移動している1つ以上のAGVに対応する1つ以上のルートの少なくとも一部と第1のルート計画の第1のルートが少なくとも部分的に重なることが検出される場合、移動している1つ以上のAGVの少なくとも1つと注目対象のAGVが衝突すると判断されてもよい。その後、トポロジカルマップに第2の前処理が実行されてもよい。さらに、第2のスタートノードとして注目対象のAGVが位置するノードを含む第2の修正トポロジカルマップに基づいて注目対象のAGVの第2のルート計画が実行されてもよい。
【0060】
いくつかの実施形態では、(修正)トポロジカルマップ中のノードに基づいて注目対象のAGVのスタートノードをスケジューリングシステムが決定してもよい。注目対象のAGVがノードに位置していない場合、ルート計画の注目対象のAGVのスタートノードとして注目対象のAGVに最も近いノードが指定されてもよい。最も近いノードが他のAGVによって占められる場合、注目対象のAGVに対して次に最も近いノードがルート計画のスタートノードとして選択されてもよい。
【0061】
いくつかの実施形態では、修正トポロジカルマップ中の複数のノードのノード情報(たとえば、ノードの重み値、ノードの通行可能性、ノードの方向変換能力、隣接ノードのカウント値、ノードと隣接ノードとの連結性)が決定されてもよい。さらに、修正トポロジカルマップ中で注目対象のAGVが移動して至ることができる複数のノードがノード情報に基づいて決定されてもよく、複数のノードに関連する複数の総コストが決定されてもよい。その後、複数の総コストに基づいて注目対象のAGVのルート計画が実行されてもよい。
【0062】
いくつかの実施形態では、スタートノードと目的地ノードとの間のノードに関連する総コストを決定するプロセスが複数のサイクルを含む反復プロセスであってもよい。各サイクルについて、更新後の現在ノードが決定されて、更新後の現在ノードの、少なくとも1つの次のノードが決定されてもよい。次の更新後の現在ノードとして、少なくとも1つの次のノードに関連する少なくとも1つの総コストに基づいて少なくとも1つの次のノードのうちの1つ(たとえば、総コストが最小である次のノード)が決定されてもよい。
【0063】
本開示の実施形態に係れば、スケジューリングシステムによって取得されるトポロジカルマップは、実際の状況でのトポロジカルマップのノード情報の変更を反映することができる更新されたトポロジカルマップである。さらに、トポロジカルマップを前処理することで、計画されたルート中のノードが到達可能なものであり、計画されたルートが実際の状況に合致することを保証することができる。トポロジカルマップに第1の前処理が実行されることで、第1のルート計画の第1のルートを移動する注目対象のAGVが、静止している他のAGVをよけることができることを保証することができ、トポロジカルマップに第2の前処理が実行されることで、第2の計画の第2のルートを移動する注目対象のAGVが、移動している1つ以上のAGVをよけることができることを保証することができる。このようにして、本開示の実施形態に係れば、注目対象のAGVが他のAGVと衝突するおそれがある状況が避けられることが可能である。
【0064】
いくつかの実施形態では、トポロジカルマップに対する前処理は第1の前処理及び/又は第2の前処理を含んでもよい。
【0065】
第1の前処理がトポロジカルマップに実行されるのに応じて、トポロジカルマップ中の注目対象のAGV以外の静止している1つ以上のAGVの各々について、静止しているAGVを中心部として含む既定の領域内の1つ以上のノードのノード情報が修正されてもよい。さらに、修正ノード情報に基づいて第1の修正トポロジカルマップが生成されてもよい。
【0066】
第2の前処理がトポロジカルマップに実行されるのに応じて、トポロジカルマップ中の注目対象のAGV以外の静止している1つ以上のAGVの各々について、静止しているAGVを中心部として含む既定の領域内の1つ以上のノードのノード情報が修正されてもよく、トポロジカルマップ中の移動している1つ以上のAGVの各々について、移動しているAGVが通行しなかった計画されたルートの、1つ以上のノードのノード情報が修正されてもよい。さらに、修正ノード情報に基づいて第2の修正トポロジカルマップが生成されてもよい。
【0067】
いくつかの実施形態では、トポロジカルマップ中の注目対象のAGV以外の静止している1つ以上のAGVの各々について、静止しているAGVを中心部として含む既定の領域内の1つ以上のノードが、指定されたサイズだけ静止しているAGVを拡大することによって決定される領域内のノードを含んでもよい。指定されたサイズはルート計画システム100のデフォルト設定値であってもよいし、異なる状況のときに調節可能であってもよい。たとえば、指定されたサイズは静止しているAGVのサイズ及び/又はトポロジカルマップ中の隣接ノード間の距離に基づいて決定されてもよい。
【0068】
いくつかの実施形態では、第1の前処理と第2の前処理とが別々に実行されてもよい。
【0069】
たとえば、第1の前処理が、静止している1つ以上のAGVに対応するノード情報を修正することによってトポロジカルマップに実行されてもよい。したがって、第1の修正トポロジカルマップ中のノードのノード情報に基づいて注目対象のAGVの計画されたルート(たとえば第1のルート)沿いのノードが決定されてもよい。
【0070】
他の例として、第2の前処理が、静止している1つ以上のAGVに対応するノード情報と、移動している1つ以上のAGVに対応するノード情報とを修正することによってトポロジカルマップに実行されてもよい。したがって、第2の修正トポロジカルマップ中のノードのノード情報に基づいて注目対象のAGVの計画されたルート(たとえば第2のルート)沿いのノードが決定されてもよい。
【0071】
いくつかの実施形態では、第1の前処理と第2の前処理とがまとめて実行されてもよい。
【0072】
最初に、第1の前処理をトポロジカルマップに実行することによって第1の修正トポロジカルマップが取得されてもよい。
【0073】
次に、第1の修正トポロジカルマップに基づいて注目対象のAGVの第1のルート計画が実行されてもよい。注目対象のAGVが第1のルート計画の第1のルートを移動する場合において移動している1つ以上のAGVの少なくとも1つと注目対象のAGVが衝突することが検出されるとき、第1のルート計画が失敗したと判断されてもよい。その後、トポロジカルマップに第2の前処理が実行されてもよい。
【0074】
いくつかの実施形態では、修正トポロジカルマップ中の注目対象のAGVのスタートノード及び目的地ノードが決定されてもよい。修正トポロジカルマップのノード情報にしたがって、スタートノードと目的地ノードとの間の複数のノードに関連する複数の総コストが決定されてもよい。さらに、複数の総コストに基づいて注目対象のAGVのルート計画が実行されてもよい。
【0075】
特に、第1の修正トポロジカルマップ中の注目対象のAGVの第1のスタートノード及び第1の目的地ノードが決定されてもよい。第1の修正トポロジカルマップのノード情報に基づいて第1のスタートノードと第1の目的地ノードとの間の複数のノードに関連する複数の第1の総コストが決定されてもよい。複数の第1の総コストに基づいて注目対象のAGVの第1のルート計画が実行されてもよい。
【0076】
いくつかの実施形態では、第1のスタートノードは、第1の修正トポロジカルマップ中の注目対象のAGVのスタート位置(たとえば、注目対象のAGVの位置)に最も近い第1の利用可能ノードであってもよい。第1の目的地ノードは、第1の修正トポロジカルマップ中の注目対象のAGVの目的地に最も近い第1の利用可能ノードであってもよい。本出願で用いられる際、利用可能ノードは、他のAGVによって占められず障害とならないノードを指す。
【0077】
注目対象のAGVが第1のルート計画の第1のルートを移動する場合に、移動している1つ以上のAGVの少なくとも1つと注目対象のAGVが衝突することを検出するのに応じて、第2の修正トポロジカルマップ中の注目対象のAGVの第2のスタートノード及び第2の目的地ノードが決定されてもよい。第2の修正トポロジカルマップのノード情報に基づいて第2のスタートノードと第2の目的地ノードとの間の複数のノードに関連する複数の第2の総コストも決定されてもよく、さらに、複数の第2の総コストに基づいて注目対象のAGVの第2のルート計画が実行されてもよい。
【0078】
いくつかの実施形態では、第2のスタートノードは、第2の修正トポロジカルマップ中の注目対象のAGVのスタート位置(たとえば、注目対象のAGVの位置)に最も近い第2の利用可能ノードであってもよい。第2の目的地ノードは、第2の修正トポロジカルマップ中の注目対象のAGVの目的地に最も近い第2の利用可能ノードであってもよい。いくつかの実施形態では、第2のスタートノードが第1のスタートノードと同じであっても異なってもよく、同様に、第2の目的地ノードが第1の目的地ノードと同じであっても異なってもよい。たとえば、第1の利用可能ノードが障害でないか又は第2の修正トポロジカルマップ中の他のAGVによって占められていない場合、第2のスタートノードは第1のスタートノードと同じであってもよい。
【0079】
いくつかの実施形態では、ノードに対応する総コストがスタートノードから当該ノードまでの第1のコストと、当該ノードから目的地ノードまでの第2のコストとを含んでもよい。
【0080】
いくつかの実施形態では、トポロジカルマップ中の注目対象のAGV以外の静止している1つ以上のAGVの各々について、静止しているAGVを中心部として含む既定の領域内の1つ以上のノードのノード情報が、当該1つ以上のノードの、1つ以上の重み値を1つ以上の大きい重み値(たとえば、既定の閾値を超える重み値)として修正して、当該1つ以上のノードを方向変換不能のノードとして設定することによって修正されてもよい。一例として特定のノードを取り上げるが、大きい重み値は、AGVが特定のノードを迂回することが許容されることを示してもよい。
【0081】
いくつかの実施形態では、トポロジカルマップ中の注目対象のAGV以外の静止しているAGVの各々について、静止しているAGVを中心部として含む既定の領域内の1つ以上のノードのノード情報が、当該1つ以上のノードを通行不能なノードとして設定して、当該1つ以上のノードを1つ以上の障害として指定することによって修正されてもよい。トポロジカルマップ中の移動している1つ以上のAGVの各々について、移動しているAGVが通行しなかった計画されたルートの、1つ以上のノードのノード情報が当該1つ以上のノードの、1つ以上の重み値を1つ以上の大きい重み値(たとえば、既定の閾値を超える重み値)として設定することによって修正されてもよい。
【0082】
いくつかの実施形態では、修正トポロジカルマップ中の注目対象のAGVのスタートノード及び目的地ノードが決定された後、修正トポロジカルマップのノード情報に基づいてスタートノード又は目的地ノードが障害であると判断される場合、ルート計画が失敗したと判断されてもよい。いくつかの実施形態では、スタートノードが障害であると判断される場合、注目対象のAGVに次に最も近いノード(このノードは障害ではなく、他のAGVによって占められないと仮定される)が新しいスタートノードとして指定されてもよく、注目対象のAGVの新しいルート計画が実行されてもよい。
【0083】
いくつかの実施形態では、スタートノードがルートの第1の現在ノードとして指定されてもよい。各サイクルについて、更新後の現在ノードが決定され、更新後の現在ノードが目的地ノードでない場合、更新後の現在ノードの次のノードが決定されてもよい。特に、ルートのノード以外の1つ以上のノードに関連する1つ以上の総コストが決定されてもよく、総コストが最小であるノードがルート上のノードとしてかつ更新後の現在ノードの次のノードとして決定されてもよい。さらに、当該次のノードが次のサイクルでの更新後の現在ノードとして決定されてもよい。
【0084】
いくつかの実施形態では、ノードに対応する総コストが、当該ノード(「次のノード」とみなされることが可能である)の親ノード(「現在ノード」とみなされることが可能である)から当該ノードまでのルートコスト、たとえば、親ノードから当該ノードまでのコスト、親ノードから当該ノードまでの方向変換コスト、当該ノードの重み値などやこれらの任意の組合せを反映する複数のパラメータを含んでもよい。典型的なパラメータは説明のために記載されており、実施上の要求に基づいて他のパラメータも用いられてもよい点に留意するべきである。たとえば、パラメータは金額情報(たとえば、料金所、燃料消費量)、道路情報(たとえば、道路の種類、道路幅、交通信号、交通管制、道路渋滞、速度制限)などやこれらの任意の組合せに関するパラメータも含んでもよい。
【0085】
いくつかの実施形態では、ノードに対応する総コストが現在ノードから当該ノードまでのコスト及び/又は当該ノードから目的地ノードまでのコストに基づいて決定されてもよい。
【0086】
たとえば、ノードに対応する総コストは以下の式(1)にしたがって決定されてもよく、
f(n)=g(n)+h(n) (1)
ここで、nは当該ノードのシリアル番号を指し、f(n)はノードに対応する総コストを指し、g(n)は現在ノードから当該ノードまでのコストを指し、h(n)は当該ノードから目的地ノードまでのコストを指す。
【0087】
いくつかの実施形態では、当該ノードから目的地ノードまでのコストは以下の式(2)にしたがってマンハッタン距離を用いて決定されてもよい。
【数1】
ここで、
【数2】
及び
【数3】
は目的地ノードのX座標及びY座標をそれぞれ指し、x及びyは当該ノードのX座標及びY座標をそれぞれ指す。
【0088】
いくつかの実施形態では、現在ノードから当該ノードまでのコストは現在ノードに対応する総コスト、当該ノードの重み値、現在ノードから当該ノードまでの距離に基づいて決定される距離コスト及び/又は現在ノードから当該ノードまでの方向変換コストに基づいて決定されてもよい。
【0089】
たとえば、現在ノードから当該ノードまでのコストは以下の式(3)にしたがって決定されてもよく、
g(n)=cost(n)+g(npre)+dis(npre,n)+angle(npre,n) (3)
ここで、cost(n)は当該ノードの重み値を指し、g(npre)は現在ノードに対応する総コストを指し、dis(npre,n)は現在ノードから当該ノードまでの距離に基づいて決定される距離コストを指し、angle(npre,n)は現在ノードから当該ノードまでの方向変換コストを指す。
【0090】
いくつかの実施形態では、現在ノードから当該ノードまでの距離コストは以下の式(4)にしたがって決定されてもよく、
【数4】
ここで、
【数5】
及び
【数6】
は現在ノードのX座標及びY座標をそれぞれ指し、x及びyは当該ノードのX座標及びY座標をそれぞれ指す。
【0091】
いくつかの実施形態では、当該ノードの現在ノードからの方向変換コストが以下の式(5)にしたがって決定されてもよく、
【数7】
ここで、
【数8】
は現在ノードの対象角度を指し、φはノードの対象角度を指し、αは方向変換コストの重み係数を指す。
【0092】
いくつかの実施形態では、コストが最小であるノードが二分ヒープ構造に基づいて決定されてもよい。
【0093】
いくつかの実施形態では、修正トポロジカルマップ中の注目対象のAGVのスタートノードが決定されてもよい。特に、注目対象のAGVに最も近いノードが決定されてもよい。ノードが注目対象のAGV以外のAGVによって占められない場合、当該ノードがスタートノードとして指定されてもよい。
【0094】
いくつかの実施形態では、トポロジカルマップのノード情報はノードの重み値、ノードの通行可能性(たとえば、ビークルがノードを通行することが許容されるか否か)、ノードの方向変換能力(たとえば、ビークルがノードで方向変換することが許容されるか否か)、隣接ノードのカウント値(たとえば、4つ、8つ)、ノードと隣接ノードとの連結性などやこれらの任意の組合せを含んでもよい。
【0095】
図5は本開示のいくつかの実施形態に係るAGVのルート計画の典型的なプロセスを示すフローチャートである。いくつかの実施形態では、プロセス500は、記憶ROM230又はRAM240に記憶される指示の集合(たとえばアプリケーション)として実施され得る。プロセッサ220及び/又は図6のモジュールは、指示の集合を実行することができ、これらの指示を実行するとき、プロセッサ220及び/又はモジュールはプロセス500を実行するように構成され得る。以下に記載されている図示プロセスの動作は例示上のものであることが意図されている。いくつかの実施形態では、プロセス500は、記載されていない1つ以上の追加の動作を用いて及び/又は本明細書に記載の1つ以上の動作を用いずに実現されてもよい。さらに、図5に示され、以下で説明されているプロセスの動作の順序が限定を課すものであることは意図されていない。
【0096】
501で、トポロジカルマップがスケジューリングシステムから取得されてもよい。動作501は動作401と同様であってもよく、ここでは詳細な説明は繰り返されない。
【0097】
502で、トポロジカルマップが前処理されて、複数のAGVによって占められるノードのシリアル番号、複数のAGVの動き状態情報及びトポロジカルマップ中のノードのノード情報(たとえば方向変換能力)に基づいて修正トポロジカルマップが取得されてもよい。動作502は動作501と同様であってもよく、ここでは詳細な説明は繰り返されない。
【0098】
503で、(修正)トポロジカルマップにおけるスケジューリングシステム中の注目対象のAGVのスタートノード及び目的地ノードが、注目対象のAGVによって占められるノードのシリアル番号と、注目対象のAGVに割り当てられるタスクの目的地とに基づいて決定されてもよい。
【0099】
504で、スタートノード又は目的地ノードが障害であるか否かが判断されてもよい。スタートノード又は目的地ノードが障害であると判断することに応じて、プロセス500が動作505に進んでもよい。スタートノード及び目的地ノードが障害でないと判断することに応じて、プロセス500が動作506に進んでもよい。
【0100】
505で、ルート計画が失敗したと判断されてもよい。
【0101】
506で、開集合S={s}が決定され得、これは(修正)トポロジカルマップでルート計画ために探索されるノードを記憶するために使用され得、閉集合U={u}が決定され得、これはルート計画のために既に探索されたノードを記憶するために使用され得る。
【0102】
507で、スタートノードが現在ノードとして指定され、現在ノードに対応する総コストが決定され、スタートノードが開集合に入れられてもよい。
【0103】
508で、二分ヒープ構造が決定され、二分ヒープ構造に基づいて、開集合中のノードのうちの、総コストが最小であるノードが決定され、このノードが開集合から削除されて閉集合に付加されてもよい。
【0104】
509で、総コストが最小であるノードが目的地ノードであるか否かが判断されてもよい。総コストが最小であるノードが目的地ノードであると判断することに応じて、プロセス500が動作510に進んでもよい。総コストが最小であるノードが目的地ノードでないと判断することに応じて、プロセス500が動作511に進んでもよい。
【0105】
510で、ルート計画が成功したと判断されてもよい。前のノードがスタートノードになるまで、目的地ノードの前のノードが判断されてもよい。
【0106】
511で、現在ノードの次のノードが決定され、次のノードの総コストが決定され、次のノードが開集合に入れられてもよい。その後、プロセスが動作508に進んでもよい。
【0107】
(修正)トポロジカルマップ中のノードのノード情報(たとえば通行可能性)に基づいて現在ノードの4つの方向(たとえば、上方向、下方向、左方向及び右方向)に隣接するノードに関連する総コストを決定することによって現在ノードの次のノードが決定されてもよい。
【0108】
図6は本開示のいくつかの実施形態に係る典型的な処理装置を示すブロック図である。処理装置112は位置取得モジュール610、マップ取得モジュール620、動き状態取得モジュール630及びルート決定モジュール640を含んでもよい。
【0109】
位置取得モジュール610は対象ビークル(たとえばビークル130)のスタート位置及び目的地を取得するように構成されてもよい。いくつかの実施形態では、スタート位置及び/又は目的地は対象ビークルに割り当てられるタスクに関連してもよい。いくつかの実施形態では、スタート位置は対象ビークルの現在位置であってもよく、目的地は目標物が位置する位置であってもよい。いくつかの実施形態では、スタート位置は物品が位置する位置であってもよく、目的地は目標物の届け先位置であってもよい。いくつかの実施形態では、スタート位置は対象ビークルの現在位置であってもよく、目的地は目標物の届け先位置であってもよい。
【0110】
マップ取得モジュール620はスタート位置と目的地とを含む対象領域のマップを取得するように構成されてもよい。いくつかの実施形態では、マップはトポロジカルマップ、グリッドマップ、幾何学的マップ(geometric map)、点群マップなどを含んでもよい。いくつかの実施形態では、マップは複数のノードと、マップ中の複数のノードの各々のノード情報(通行可能性)とを含んでもよい。いくつかの実施形態では、マップ取得モジュール620はルート計画システム100の記憶装置(たとえば記憶装置150)、外部デバイスなどからマップを取得してもよい。いくつかの実施形態では、マップ取得モジュール620は対象領域に対応する一次マップ(対象領域よりも大きい領域に対応してもよい)の一部を抽出することによってマップを取得してもよい。これに加えて又はこれの代わりに、マップ取得モジュール620は一次マップ全体を取得してもよい。
【0111】
動き状態取得モジュール630は対象領域内の対象ビークル以外の1つ以上のビークルに関連する動き状態情報を取得するように構成されてもよい。いくつかの実施形態では、1つ以上のビークルの各々に関連する動き状態は静止状態と移動状態とを含んでもよい。いくつかの実施形態では、動き状態取得モジュール630は1つ以上のビークルの位置情報に基づいて動き状態情報を取得してもよい。一例として特定のビークルを取り上げるが、特定のビークルの位置が所定の期間(たとえば、5秒、20秒、30秒、1分、2分、5分)変化しない場合、動き状態取得モジュール630は特定のビークルが静止状態にあると判断してもよく、その一方で、特定のビークルの位置が時間とともに変化する場合、動き状態取得モジュール630は特定のビークルが移動状態にあると判断してもよい。いくつかの実施形態では、1つ以上のビークルが動き状態情報をネットワーク120を介して動き状態取得モジュール630に送信してもよい。
【0112】
ルート決定モジュール640はスタート位置、目的地、1つ以上のビークルに関連する動き状態情報及びマップに少なくとも部分的に基づいて対象ビークルの対象ルートを決定するように構成されてもよい。いくつかの実施形態では、ルート決定モジュール640はルート計画アルゴリズムを用いて対象ルートを決定してもよい。ルート計画アルゴリズムはA*アルゴリズム、改良A*アルゴリズム、ダイクストラアルゴリズム、フロイド-ワーシャルアルゴリズム、ベルマン-フォードアルゴリズム、rapidly-exploring random tree(RRT)アルゴリズムなどやこれらの任意の組合せを含んでもよい。
【0113】
いくつかの実施形態では、複数のノードの少なくとも1つについて、ルート決定モジュール640は1つ以上のビークルに関連する動き状態情報に基づいて複数のノードの少なくとも1つの各々のノード情報の少なくとも一部を修正することによって対象ノード情報を決定してもよい。その後、ルート決定モジュール640はマップと、複数のノードの少なくとも1つの対象ノード情報とに基づいて対象マップを生成してもよい。さらに、ルート決定モジュール640は対象マップ、スタート位置及び目的地に基づいて対象ビークルの対象ルートを決定してもよい。
【0114】
いくつかの実施形態では、ルート決定モジュール640は対象マップ中のスタート位置に基づいて複数のノードからスタートノードを決定し、対象マップ中の目的地に基づいて複数のノードから目的地ノードを決定してもよい。本出願で用いられる際、スタートノードはスタート位置(たとえば対象ビークルの位置)に最も近い利用可能ノード(たとえば、対象ビークル以外の1つ以上のビークルよって占められず障害とならないノード)であってもよく、目的地ノードは目的地に最も近い利用可能ノードであってもよい。さらに、ルート決定モジュール640はスタートノードと目的地ノードとの間の複数の対象ノードに関連する複数のコストに基づいて対象ビークルの対象ルートを決定してもよい。本出願で用いられる際、ノードのコストは、ルートがノードを含む場合のスタートノードから目的地ノードまでのルートのコストを示してもよい。
【0115】
処理装置112の各モジュールは、有線接続又は無線接続を介して互いに接続又は通信してもよい。有線接続はメタルケーブル、光ケーブル、ハイブリッドケーブルなどやこれらの任意の組合せを含んでもよい。無線接続はローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、Bluetooth、ZigBee、近距離無線通信(NFC)などやこれらの任意の組合せを含んでもよい。モジュールの2つ以上が1つのモジュールに組み合されてもよく、モジュールのいずれか1つが2つ以上のユニットに分割されてもよい。たとえば、位置取得モジュール610とマップ取得モジュール620とが、これらの双方によって対象ビークルのスタート位置及び目的地と、スタート位置と目的地とを含む対象領域のマップとを取得することができる1つのモジュールとして組み合されてもよい。他の例として、処理装置112はタスク(たとえば、商品の配送)を対象ビークルに割り当てることができるタスク割当モジュール(図示せず)を含んでもよい。さらなる例として、処理装置112は、上記のモジュールによって生成されるデータを記憶するのに用いられてもよい記憶モジュール(図示せず)を含んでもよい。
【0116】
図7は本開示のいくつかの実施形態に係る対象ビークルの対象ルートを決定する典型的なプロセスを示すフローチャートである。いくつかの実施形態では、プロセス700は、記憶ROM230又はRAM240に記憶される指示の集合(たとえばアプリケーション)として実施され得る。プロセッサ220及び/又は図6のモジュールは、指示の集合を実行することができ、これらの指示を実行するとき、プロセッサ220及び/又はモジュールはプロセス700を実行するように構成され得る。以下に記載されている図示プロセスの動作は例示上のものであることが意図されている。いくつかの実施形態では、プロセス700は、記載されていない1つ以上の追加の動作を用いて及び/又は本明細書に記載の1つ以上の動作を用いずに実現されてもよい。さらに、図7に示され、以下で説明されているプロセスの動作の順序が限定を課すものであることは意図されていない。
【0117】
710で、処理装置112(たとえば位置取得モジュール610)(たとえば、プロセッサ220のインタフェイス回路や処理回路)は、対象ビークル(たとえばビークル130)のスタート位置及び目的地を取得し得る。
【0118】
いくつかの実施形態では、スタート位置及び/又は目的地は、処理装置112によって対象ビークルに割り当てられるタスク、たとえば、目標物(たとえば、商品、食品、乗客)を届け先位置に届けるタスクに関連してもよい。いくつかの実施形態では、スタート位置は対象ビークルの現在位置であってもよく、目的地は目標物が位置する位置であってもよい。いくつかの実施形態では、スタート位置は物品が位置する位置であってもよく、目的地は目標物の届け先位置であってもよい。いくつかの実施形態では、スタート位置は対象ビークルの現在位置であってもよく、目的地は目標物の届け先位置であってもよい。タスクの割当てに関するさらなる説明については本開示の他の記載(たとえば、図9及びその説明)に見出すことができる。
【0119】
720で、処理装置112(たとえばマップ取得モジュール620)(たとえば、プロセッサ220のインタフェイス回路や処理回路)は、スタート位置と目的地とを含む対象領域のマップを取得し得る。いくつかの実施形態では、対象領域は複数の環境上の物、たとえば、商品、道路、樹木、ビークル、建物、河川、歩行者などやこれらの任意の組合せを含んでもよい。したがって、マップは対象領域の環境上の物を示すマップデータを含んでもよい。
【0120】
いくつかの実施形態では、マップデータは、複数の環境上の物の位置情報、複数の環境上の物のセマンティック情報などやこれらの任意の組合せを含んでもよい。環境物の典型的な位置情報は緯度情報、経度情報、高さ情報(すなわち高度情報)などを含んでもよい。環境物の典型的なセマンティック情報は環境物のシリアル番号、環境物の名称、環境物の種類(たとえば道路の種類(たとえば高速道路))、環境物の属性情報(たとえば、道路の制限速度、「一方通行」か否か、方向変換制限)などやこれらの任意の組合せを含んでもよい。
【0121】
いくつかの実施形態では、マップはトポロジカルマップ、グリッドマップ、幾何学的マップ、点群マップなどを含んでもよい。いくつかの実施形態では、マップは複数のノードを含んでもよく、その各々が指定された箇所(たとえば、曲がり角、出入口(gateway)、交差点、停留所)や、対象領域の指定された単位部分(たとえば、円、矩形、三角形)を表わしてもよい。
【0122】
いくつかの実施形態では、マップデータがマップ中の複数のノードの各々のノード情報も含んでもよい。たとえば、ノードのノード情報はノードのシリアル番号、ノードのバーコード(たとえば、1次元バーコード、2次元バーコード(たとえば、応答が早い(QR)コード))、ノードの位置(緯度、経度及び高さ(すなわち高度)によって表わされてもよい)、ノードの座標、ノードの重み値、ノードの通行可能性(たとえば、ビークルがノードを通行することが許容されるか否か)、ノードの方向変換能力(たとえば、ビークルがノードで方向変換することが許容されるか否か)、隣接ノードのカウント値(たとえば、4つ、8つ)、ノードと隣接ノードとの連結性などやこれらの任意の組合せを含んでもよい。
【0123】
いくつかの実施形態では、ノードのシリアル番号やバーコードは固有なものであり、ノードの位置を表わすのに用いられてもよい。いくつかの実施形態では、ノードの重み値が大きいほど、ノードのコストが高くなってもよく、したがって、ビークルがノードを迂回する可能性が高くなってもよい。
【0124】
いくつかの実施形態では、ノード情報がルート計画システム100のデフォルト設定値であってもよいし、異なる状況のときに調節可能であってもよい。たとえば、複数のノードの全部又は一部について、重み値がデフォルト値(たとえば0)として設定されてもよい、ノードの通行可能性が、ビークルが通行することを許容するように設定されてもよい、ノードの方向変換能力がビークルがノードで方向変換することを許容するように設定されてもよい、などである。別の例として、複数のノードの少なくとも一部について、ノード情報が環境条件、たとえば、通行可能性(たとえば、道路管制、一方通行制限)、方向変換制限などに関連してもよい。ノード情報に関するさらなる説明については本開示の他の記載(たとえば、図10及びその説明)に見出すことができる。
【0125】
いくつかの実施形態では、処理装置112は、ルート計画システム100の記憶装置(たとえば記憶装置150)、外部デバイスなどからマップを取得し得る。いくつかの実施形態では、処理装置112は、対象領域に対応する一次マップ(対象領域よりも大きい領域に対応する場合がある)の一部を抽出することによってマップを取得し得る。これに加えて又はこれの代わりに、処理装置112は、一次マップ全体を取得し得る。
【0126】
730で、処理装置112(たとえば動き状態モジュール630)(たとえば、プロセッサ220のインタフェイス回路や処理回路)は、対象領域内の対象ビークル以外の1つ以上のビークルに関連する動き状態情報を取得し得る。
【0127】
いくつかの実施形態では、1つ以上のビークルの各々に関連する動き状態は静止状態と移動状態とを含んでもよい。いくつかの実施形態では、処理装置112は、1つ以上のビークルの位置情報に基づいて動き状態情報を取得し得る。一例として特定のビークルを取り上げるが、特定のビークルの位置が所定の期間(たとえば、5秒、20秒、30秒、1分、2分、5分)変化しない場合、処理装置112は、特定のビークルが静止状態にあると判断し得、その一方で、特定のビークルの位置が時間とともに変化する場合、処理装置112は、特定のビークルが移動状態にあると判断し得る。いくつかの実施形態では、1つ以上のビークルが動き状態情報をネットワーク120を介して処理装置112に送信してもよい。
【0128】
740で、処理装置112(たとえばルート決定モジュール640)(たとえば、プロセッサ220の処理回路)は、スタート位置、目的地、1つ以上のビークルに関連する動き状態情報及びマップに少なくとも部分的に基づいて対象ビークルの対象ルートを決定し得る。
【0129】
いくつかの実施形態では、処理装置112は、対象ルートをルート計画アルゴリズムを用いて決定し得る。ルート計画アルゴリズムはA*アルゴリズム、改良A*アルゴリズム、ダイクストラアルゴリズム、フロイド-ワーシャルアルゴリズム、ベルマン-フォードアルゴリズム、rapidly-exploring random tree(RRT)アルゴリズムなどやこれらの任意の組合せを含んでもよい。
【0130】
いくつかの実施形態では、複数のノードの少なくとも1つについて、処理装置112は、1つ以上のビークルに関連する動き状態情報に基づいて複数のノードの少なくとも1つの各々のノード情報の少なくとも一部を修正することによって対象ノード情報を決定し得る。ノード情報の修正に関するさらなる説明については本開示の他の記載(たとえば、図8及びその説明)に見出すことができる。その後、処理装置112は、マップと、複数のノードの少なくとも1つの対象ノード情報とに基づいて対象マップを生成し得る。さらに、処理装置112は、対象マップ、スタート位置及び目的地に基づいて対象ビークルの対象ルートを決定し得る。
【0131】
いくつかの実施形態では、処理装置112は、対象マップ中のスタート位置に基づいて複数のノードからスタートノードを、及び対象マップ中の目的地に基づいて複数のノードから目的地ノードを決定し得る。本出願で用いられる際、スタートノードはスタート位置(たとえば対象ビークルの位置)に最も近い利用可能ノード(たとえば、対象ビークル以外の1つ以上のビークルよって占められず障害とならないノード)であってもよく、目的地ノードは目的地に最も近い利用可能ノードであってもよい。さらに、処理装置112は、スタートノードと目的地ノードとの間の複数の対象ノードに関連する複数のコストに基づいて対象ビークルの対象ルートを決定し得る。本出願で用いられる際、ノードのコストは、ルートがノードを含む場合のスタートノードから目的地ノードまでのルートのコストを示してもよい。
【0132】
例にすぎないが、図4に関連して説明されているように、処理装置112は、第1の集合(たとえば開集合)及び第2の集合(たとえば閉集合)を決定して、第1の集合及び第2の集合に基づいて循環プロセスを実行し得る。初期化状態では、第1の集合はスタートノードのみを含み、第2の集合は空集合である。第1のサイクルでは、処理装置112は、スタートノードを第2の集合に移動させて、スタートノードの少なくとも1つの関連ノードを第1の集合に付加し得る。本出願で用いられる際、特定のノードについて、関連ノードは特定のノードから到達可能である(たとえば、通行可能である、方向変換の能力がある)隣接ノードを指してもよい。たとえば、図10に示されているように、ノード1について、少なくとも1つの関連ノードはノード2、ノード3、ノード4及びノード5を含む。さらに、処理装置112は、少なくとも1つの関連ノードの少なくとも1つのコストを決定して、コストが最小である関連ノードを第2の集合に移動させ得る。その後、処理装置112は、コストが最小である関連ノードが目的地ノードであるか否かを判断し得る。関連ノードが目的地ノードであるとの判断に応じて、処理装置112は、関連ノードの親ノード(第1のサイクルのスタートノードである)を決定し、スタートノードに至るまで当該親ノードの親ノードを順次決定し得る。さらに、処理装置112は、中間ノード(すなわち、複数のサイクルにおいてコストが最小である関連ノード)を含むスタートノードから目的地までのルートを対象ルートとして決定し得る。関連ノードが目的地ノードでないとの判断に応じて、処理装置112は、関連ノードを現在ノードとして指定して次のサイクルを実行し得る。
【0133】
i番目のサイクルでは、前のサイクルで決定された、コストが最小である関連ノード(i番目の「現在ノード」とみなされることも可能である)について、処理装置112は、現在ノードの少なくとも1つの関連ノードを決定して、少なくとも1つの関連ノードを第1の集合に付加し得る。その後、処理装置112は、少なくとも1つの関連ノードの少なくとも1つのコストを決定し得る。さらに、少なくとも1つの関連ノードの各々について、処理装置112は、関連ノードが既に第1の集合中にあるか否かを判断し得る。関連ノードが既に第1の集合中にあるとの判断に応じて、処理装置112は、現在のサイクルで決定される関連ノードのコスト(「現在のコスト」とも称される)が前のサイクルで決定された関連ノードのコスト(「前のコスト」とも称される)未満であるか否かを判断し得る。関連ノードの現在のコストが関連ノードの前のコスト未満であるとの判断に応じて、処理装置112は、関連ノードのコストを更新して、関連ノードの親ノード(前のサイクル中の前の現在ノードであってもよい)を現在ノードとして更新し得る。関連ノードの現在のコストが関連ノードの前のコスト以上であるとの判断に応じて、処理装置112は、さらなる処理のために関連ノードのコスト及び親ノードを維持し得る。関連ノードが第1の集合中にないとの判断に応じて、処理装置112は、関連ノードの親ノードを現在ノードとして決定し得る。さらに、処理装置112は、コストが最小である関連ノードを決定して、コストが最小である関連ノードが目的地ノードであるか否かを判断し得る。上記と同様に、関連ノードが目的地ノードであるとの判断に応じて、処理装置112は、関連ノードの親ノードを決定して、スタートノードに至るまで親ノードの親ノードを順次決定し得る。さらに、処理装置112は、中間ノード(すなわち、複数のサイクルにおいてコストが最小である関連ノード)を含むスタートノードから目的地までのルートを対象ルートとして決定し得る。関連ノードが目的地ノードでないとの判断に応じて、処理装置112は、更新後の関連ノードが目的地ノードになるまで関連ノードを次の現在ノードとして指定して次のサイクルを実行し得る。
【0134】
いくつかの実施形態では、処理装置112は、ノードのコストを、スタートノードから当該ノードまでの第1のコストと、当該ノードから目的地ノードまでの第2のコストとに基づいて決定し得る。たとえば、処理装置112は、ノードのコストを以下の式(6)にしたがって決定し得る。
f(n)=g(n)+h(n) (6)
ここで、nは当該ノードのシリアル番号を指し、f(n)は当該ノードのコストを指し、g(n)はスタートノードから当該ノードまでの第1のコストを指し、h(n)は当該ノードから目的地ノードまでの第2のコストを指す。
【0135】
いくつかの実施形態では、処理装置112は、第1のコストを以下の式(7)にしたがって決定し得る。
g(n)=cost(n)+g(npre)+dis(npre,n)+angle(npre,n) (7)
ここで、cost(n)は当該ノードの重み値を指し、g(npre)は当該ノードの親ノードのコストを指し、dis(npre,n)は当該ノードの親ノードから当該ノードまでのコストを指し、angle(npre,n)は当該ノードの親ノードから当該ノードまでの方向変換コストを指す。
【0136】
いくつかの実施形態では、処理装置112は、当該ノードの親ノードから当該ノードまでのコストを以下の式(8)にしたがって決定し得る。
【数9】
ここで、
【数10】
及び
【数11】
は当該ノードの親ノードのX座標及びY座標をそれぞれ指し、x及びyは当該ノードのX座標及びY座標をそれぞれ指す。
【0137】
いくつかの実施形態では、処理装置112は、当該ノードの親ノードから当該ノードまでの方向変換コストを以下の式(9)にしたがって決定し得る。
【数12】
ここで、
【数13】
は当該ノードの親ノードの対象角度を指し、φは当該ノードの対象角度を指し、αは方向変換コストの重み係数を指す。
【0138】
いくつかの実施形態では、処理装置112は、当該ノードから目的地ノードまでの第2のコストを以下の式(10)にしたがって決定し得る。
【数14】
ここで、
【数15】
及び
【数16】
は目的地ノードのX座標及びY座標をそれぞれ指す。当該ノードから目的地ノードまでの第2のコストがマンハッタン距離に基づいて決定されることが可能であることが分かる。マンハッタン距離は説明のために用いられており、第2のコストは他の距離、たとえば、ユークリッド距離などにも基づいて決定され得る点に留意するべきである。
【0139】
上記の説明は例示のために設けられているのにすぎず、本開示の範囲を限定することは意図されていない点に留意するべきである。当業者であれば、本開示の教示を受けて多くの変形や修正をなし得る。ただし、これらの変形や変更は本開示の範囲から逸脱しない。たとえば、処理装置112は、動作710の前に動作720を実行するか又は動作710及び720を同時に実行することができる。他の例として、処理装置112は、既定の時間間隔(たとえば、1分、2分、5分)にしたがって新しく取得された動き状態情報に基づいて対象ノード情報を自動的に更新するか又は対象ノード情報を更新する要求を受け付ける際に対象ノード情報を更新することができる。
【0140】
図8は本開示のいくつかの実施形態に係る対象ビークルの対象ルートを決定する典型的なプロセスを示すフローチャートである。いくつかの実施形態では、プロセス800は、記憶ROM230又はRAM240に記憶される指示の集合(たとえばアプリケーション)として実施され得る。プロセッサ220及び/又は図6のモジュールは、指示の集合を実行することができ、これらの指示を実行するとき、プロセッサ220及び/又はモジュールはプロセス800を実行するように構成され得る。以下に記載されている図示プロセスの動作は例示上のものであることが意図されている。いくつかの実施形態では、プロセス800は、記載されていない1つ以上の追加の動作を用いて及び/又は本明細書に記載の1つ以上の動作を用いずに実現されてもよい。さらに、図8に示され、以下で説明されているプロセスの動作の順序が限定を課すものであることは意図されていない。
【0141】
801で、処理装置112(たとえばルート決定モジュール640)(たとえば、プロセッサ220の処理回路)は、動き状態情報に基づいて1つ以上のビークルから静止している1つ以上のビークルを特定し得る。動作730に関連して説明されているように、1つ以上のビークルの各々に関連する動き状態は、静止状態と移動状態とを含み得る。したがって、静止している1つ以上のビークルは静止状態にある1つ以上のビークルである。
【0142】
802で、静止している1つ以上のビークルの各々について、処理装置112(たとえばルート決定モジュール640)(たとえば、プロセッサ220の処理回路)は、静止しているビークルに関連する1つ以上のノードを含む既定の領域(たとえば、静止しているビークルを中心部として含む領域)を決定し得る。いくつかの実施形態では、処理装置112は、静止しているビークルによって占められる領域を既定の領域として示し得る。いくつかの実施形態では、処理装置112は、静止しているビークルによって占められる領域を拡大する(たとえば、比例的に拡大する)ことによって、既定の領域を決定し得る。いくつかの実施形態では、既定の領域のサイズ及び/又は形状は、ルート計画システム100のデフォルト設定値であってもよいし、異なる状況のときに調節可能であってもよい。たとえば、静止しているビークルのサイズが大きいほど、既定の領域が大きくなり得る。他の例として、マップ中の2つの隣接ノードの距離が短いほど、既定の領域が大きくなり得る。さらなる例として、既定の領域の形状は、円、矩形、三角形、又は任意の規則的若しくは不規則的な形状を含んでもよい。
【0143】
803で、静止しているビークルに関連する1つ以上のノードの各々について、処理装置112(たとえばルート決定モジュール640)(たとえば、プロセッサ220の処理回路)は、ノードのノード情報を修正し得る。いくつかの実施形態では、処理装置112は、既定の閾値を超える重み値をノードに割り当て得る。いくつかの実施形態では、ノードの重み値が大きいほど、ノードの総コストが高くなってもよく、したがって、ビークルがノードを迂回する可能性が高くなってもよい。いくつかの実施形態では、処理装置112は、ノードを方向変換不能の(すなわち、ビークルが当該ノードで左折したり右折したりすることが許容されない)ノードとして指定し得る。
【0144】
804で、処理装置112(たとえばルート決定モジュール640)(たとえば、プロセッサ220の処理回路)は、マップと、静止している1つ以上のビークルの各々に関連する1つ以上のノードの修正ノード情報とに基づいて候補マップを決定し得る。たとえば、処理装置112は、静止している1つ以上のビークルの各々に関連する1つ以上のノードのノード情報を修正ノード情報として更新することによって候補マップを生成し得る。
【0145】
805で、処理装置112(たとえばルート決定モジュール640)(たとえば、プロセッサ220の処理回路)は、候補マップ、スタート位置及び目的地に基づいて対象ビークルの候補ルートを決定し得る。動作740に関連して説明されているように、処理装置112は、候補マップ中のスタート位置に基づいて複数のノードから候補スタートノードを決定し、候補マップ中の目的地に基づいて複数のノードから候補目的地ノードを決定し、及び候補スタートノード及び候補目的地ノードに基づいて候補ルートを決定し得る。
【0146】
いくつかの実施形態では、処理装置112は、スタート位置に最も近いノード又は目的地に最も近いノードが障害であるか又は対象ビークル以外のビークルによって占められているか否かを判断し得る。スタート位置に最も近いノードと目的地に最も近いノードとの両方が障害でなく、他のビークルによって占められないとの判断に応じて、処理装置112は、スタート位置に最も近いノード及び目的地に最も近いノードをそれぞれ候補スタートノード及び候補目的地ノードとして指定し得る。スタート位置に最も近いノードが障害であるか又は対象ビークル以外のビークルによって占められているとの判断に応じて、処理装置112は、利用可能ノードが特定されるまで、スタート位置に次に最も近いノードを決定して次に最も近いノードが障害であるか又は対象ビークル以外のビークルによって占められているか否かを判断するか、又は、処理装置112は、最も近いノードが解放されるまで待機し得る。目的地に最も近いノードが障害であるか又は対象ビークル以外のビークルによって占められているとの判断に応じて、処理装置112は、ルート計画が失敗したと判断するか、又は処理装置112は、最も近いノードが解放されるまで待機し得る。これに加えて又はこれの代わりに、処理装置112は、目的地からの既定の距離(たとえば、20m、50m、70m、100m)以内の利用可能ノードを候補目的地ノードとして決定し得る。
【0147】
いくつかの実施形態では、動作740に関連して説明されているように、処理装置112は、候補スタートノードと候補目的地ノードとの間の複数の対象ノードに関連する複数のコストに基づいて候補ルートを決定し得る。
【0148】
806で、処理装置112(たとえばルート決定モジュール640)(たとえば、プロセッサ220の処理回路)は、通行されなかった少なくとも1つの既定のルートの少なくとも一部と候補ルートが少なくとも部分的に重なるか否かを判断し得る。本出願で用いられる際、少なくとも1つの既定のルートは、1つ以上のビークルのうち、移動している少なくとも1つのビークルに対応し得る。
【0149】
通行されなかった少なくとも1つの既定のルートの一部と候補ルートが重ならないとの判断に応じて、807で、処理装置112(たとえばルート決定モジュール640)(たとえば、プロセッサ220の処理回路)は、候補ルートを対象ビークルの対象ルートとして指定し得る。
【0150】
通行されなかった少なくとも1つの既定のルートの少なくとも一部と候補ルートが少なくとも部分的に重なるとの判断に応じて、808で、静止しているビークルに関連する1つ以上のノードの各々について、処理装置112(たとえばルート決定モジュール640)(たとえば、プロセッサ220の処理回路)は、ノードのノード情報をさらに修正し得る。いくつかの実施形態では、処理装置112は、ノードを障害として指定し得る。
【0151】
809で、処理装置112(たとえばルート決定モジュール640)(たとえば、プロセッサ220の処理回路)は、動き状態情報に基づいて、移動している1つ以上のビークルを1つ以上のビークルから特定し得る。移動している1つ以上のビークルは移動状態にあるビークルである。
【0152】
810で、移動している1つ以上のビークルの各々について、処理装置112(たとえばルート決定モジュール640)(たとえば、プロセッサ220の処理回路)は、移動しているビークルに対応する既定のルートに関連する1つ以上のノードを決定し得る。たとえば、処理装置112は、移動しているビークルが通行しなかった既定のルートの部分上のすべてのノードを決定し得る。他の例として、処理装置112は、移動しているビークルが通行しなかった既定のルートの部分上のノードの一部(たとえば、トップN個)を決定し得る。これに加えて又はこれの代わりに、移動している1つ以上のビークルの各々について、処理装置112は、移動しているビークルに関連する既定の領域(たとえば、移動しているビークルを中心部として含み、静止しているビークルに関連する既定の領域を決定する仕方と同様の仕方で決定され得る領域)を決定して、既定の領域内の1つ以上のノードを決定し得る。
【0153】
811で、移動しているビークルに関連する1つ以上のノードの各々について、処理装置112(たとえばルート決定モジュール640)(たとえば、プロセッサ220の処理回路)は、ノードのノード情報を修正し得る。いくつかの実施形態では、処理装置112は、既定の閾値(上述の静止しているビークルに関連する重み値に対応する既定の閾値と異なっても同じであってもよい)を超える重み値をノードに割り当て得る。
【0154】
812で、処理装置112(たとえばルート決定モジュール640)(たとえば、プロセッサ220の処理回路)は、マップと、静止している1つ以上のビークルの各々に関連する1つ以上のノードの修正ノード情報と、移動している1つ以上のビークルの各々に関連する1つ以上のノードの修正ノード情報とに基づいて、第2の候補マップを決定する。たとえば、処理装置112は、静止している1つ以上のビークル及び移動している1つ以上のビークルの各々に関連する1つ以上のノードのノード情報を修正ノード情報として更新することによって、第2の候補マップを生成し得る。
【0155】
813で、処理装置112(たとえばルート決定モジュール640)(たとえば、プロセッサ220の処理回路)は、第2の候補マップ、スタート位置及び目的地に基づいて対象ビークルの第2の候補ルートを決定し得る。動作740及び動作805に関連して説明されているように、処理装置112は、第2の候補マップ中のスタート位置に基づいて複数のノードから第2の候補スタートノードを決定し、第2の候補マップ中の目的地に基づいて複数のノードからの第2の候補目的地ノードを決定し、及び第2の候補スタートノード及び第2の候補目的地ノードに基づいて第2の候補ルートを決定し得る。いくつかの実施形態では、第2の候補スタートノードは上記の候補スタートノードと同じであっても異なってもよく、同様に、第2の候補目的地ノードは上記の候補目的地ノードと同じであっても異なってもよい。たとえば、候補スタートノードが障害でないか又は第2の候補マップ中の他のビークルによって占められていない場合、第2の候補スタートノードは候補スタートノードと同じであり得る。
【0156】
いくつかの実施形態では、処理装置112は、第2の候補ルートを対象ルートとして直接指定し得る。いくつかの実施形態では、処理装置112は、通行されなかった少なくとも1つの既定のルートの少なくとも一部と第2の候補ルートが少なくとも部分的に重なるか否かをさらに判断し得る。通行されなかった少なくとも1つの既定のルートの一部と第2の候補ルートが重ならないとの判断に応じて、処理装置112は、第2の候補ルートを対象ルートとして指定し得る。通行されなかった少なくとも1つの既定のルートの少なくとも一部と第2の候補ルートが少なくとも部分的に重なるとの判断に応じて、処理装置112は、第2の候補マップ中のノード情報の少なくとも一部を修正することによって第2の候補マップをさらに更新し、更新されたマップに基づいてルート計画をさらに実行し得る。
【0157】
上記の説明は例示のために設けられているのにすぎず、本開示の範囲を限定することは意図されていない点に留意するべきである。当業者であれば、本開示の教示を受けて多くの変形や修正をなし得る。ただし、これらの変形や変更は本開示の範囲から逸脱しない。たとえば、動作801~807は省略されてもよく、処理装置112は、静止している1つ以上のビークルに関連する1つ以上のノードのノード情報と、移動している1つ以上のビークルに関連する1つ以上のノードのノード情報とを修正することによって、第2の候補マップ(「対象マップ」とみなされることが可能である)を直接生成して、第2の候補マップに基づいて対象ルートを決定し得る。
【0158】
図9は本開示のいくつかの実施形態に係るタスクを割り当てる典型的なプロセスを示すフローチャートである。いくつかの実施形態では、プロセス900は、記憶ROM230又はRAM240に記憶される指示の集合(たとえばアプリケーション)として実施され得る。プロセッサ220及び/又は図6のモジュールは、指示の集合を実行することができ、これらの指示を実行するとき、プロセッサ220及び/又はモジュールはプロセス900を実行するように構成され得る。以下に記載されている図示プロセスの動作は例示上のものであることが意図されている。いくつかの実施形態では、プロセス900は、記載されていない1つ以上の追加の動作を用いて及び/又は本明細書に記載の1つ以上の動作を用いずに実現されてもよい。さらに、図9に示され、以下で説明されているプロセスの動作の順序が限定を課すものであることは意図されていない。
【0159】
910で、処理装置112(たとえばタスク割当モジュール)(たとえば、プロセッサ220のインタフェイス回路や処理回路)は、タスクを取得し得る。いくつかの実施形態では、タスクは目標物(たとえば、商品、食品、乗客)を届け先位置に届けるタスクであってもよい。
【0160】
920で、処理装置112(たとえばタスク割当モジュール)(たとえば、プロセッサ220の処理回路)は、タスクが指定されたタスクであるか否かを判断し得る。
【0161】
タスクが指定されていないタスクであるとの判断に応じて、930で、処理装置112(たとえばタスク割当モジュール)(たとえば、プロセッサ220の処理回路)は、該タスク向けのスケジューリング可能であるビークル(すなわち、そのビークルによって実行予定又は実行中のタスクが存在しない)を選択し得る。たとえば、処理装置112は、届け先位置に最も近いスケジューリング可能ビークルを選択し得る。
【0162】
940で、処理装置112(たとえばタスク割当モジュール)(たとえば、プロセッサ220の処理回路)は、タスクをスケジューリング可能ビークルに割り当て得る。
【0163】
タスクが指定されたタスクであるとの判断に応じて、950で、処理装置112(たとえばタスク割当モジュール)(たとえば、プロセッサ220の処理回路)は、指定されたタスクに対応する指定されたビークルがスケジューリング可能か否かを判断し得る。
【0164】
指定されたタスクに対応する指定されたビークルがスケジューリング可能であるとの判断に応じて、960で、処理装置112(たとえばタスク割当モジュール)(たとえば、プロセッサ220の処理回路)は、指定されたタスクを対応する指定されたビークルに割り当て得る。
【0165】
指定されたタスクに対応する指定されたビークルが非スケジューリング可能状態にあるとの判断に応じて、970で、処理装置112(たとえばタスク割当モジュール)(たとえば、プロセッサ220の処理回路)は、ビークルがスケジューリング可能になるまで、指定されたタスクを対応する指定されたビークルに割り当て得る。
【0166】
いくつかの実施形態では、指定されたタスクを対応する指定されたビークルに割り当てる前に、処理装置112は、指定されたビークルによって報告される位置が正確か否かを判断し得る。対応する指定されたビークルによって報告される位置が正確であるとの判断に応じて、処理装置112は、指定されたタスクを対応する指定されたビークルに割り当て得る。対応する指定されたビークルによって報告される位置が正確でないとの判断に応じて、処理装置112は、タスクの割当てが失敗したと判断し得る。これに加えて又はこれの代わりに、処理装置112は、測位装置を用いて指定されたビークルの正確な位置を取得して、指定されたタスクを指定されたビークルに割り当て得る。
【0167】
上記の説明は例示のために設けられているのにすぎず、本開示の範囲を限定することは意図されていない点に留意するべきである。当業者であれば、本開示の教示を受けて多くの変形や修正をなし得る。ただし、これらの変形や変更は本開示の範囲から逸脱しない。
【0168】
図10は本開示のいくつかの実施形態に係るノードのノード情報を示す概略図である。図10に示されているように、一例としてノード1を取り上げるが、ノード1はノード4からノード2の方向、ノード2からノード5の方向、ノード5からノード3の方向及びノード3からノード5の方向に通行可能である。ノード1の隣接ノードがノード2、ノード3、ノード4及びノード5を含むことも分かる。直線の矢印によって示されているように、ノード1は4つの隣接ノードと相互に接続されており、すなわち、4つの隣接ノードはノード1から到達可能である。さらに、ノード1は円形の矢印によって示されているように方向変換もできる。
【0169】
図11は本開示のいくつかの実施形態に係る、静止しているビークルに関連する典型的なノードと、移動している静止しているビークルに関連する典型的なノードとを示す概略図である。
【0170】
図11に示されているように、領域1110はスタート位置と目的地とを含む対象領域を指し、1120は対象領域中の静止しているビークル(ビークルBで示されている)を指し、1140は対象領域中の移動しているビークル(ビークルCで示されている)を指す。図8に関連して説明されているように、処理装置112は、静止しているビークル1120について、静止しているビークル1120を中心部として含む既定の領域1130を決定し得る。既定の領域1130がノード14、ノード15及びノード16を含むことが分かる。さらに、3つのノードの各々について、処理装置112は、本開示の他の記載で説明されているように、ノードのノード情報を修正し得る。移動しているビークル1140について、処理装置112は、移動しているビークルに対応し、未来の既定の期間に通行される既定のルート(矢印によって示されている)の一部を取得し得る。既定のルートの一部が点線の四角内のノード12、ノード18、ノード24及びノード30を覆うことが分かる。さらに、4つのノードの各々について、処理装置112は、本開示の他の記載で説明されているようにノードのノード情報を修正し得る。
【0171】
いくつかの実施形態で、本開示はコンピュータプログラムを記憶する記憶媒体も提供し得る。プロセッサによって実行されるとき、コンピュータプログラムは本開示の他の記載で説明されているプロセス(たとえば、プロセス400、プロセス500、プロセス700、プロセス800、プロセス900)を実行するようにプロセッサに指示し得る。
【0172】
いくつかの実施形態で、本開示はプロセッサと記憶部とを含む電子デバイスも提供し得、記憶部はコンピュータプログラムを記憶する。プロセッサによって実行されるとき、コンピュータプログラムは本開示の他の記載で説明されているプロセス(たとえば、プロセス400、プロセス500、プロセス700、プロセス800、プロセス900)を実行するようにプロセッサに指示し得る。
【0173】
基本的な概念をこのように説明してきたことから、この詳細な開示を一読した後には、上記の詳細な開示が例として提示されているのにすぎないことが意図されており、限定を課すものではないことが当業者には明らかではないかと思われる。本出願では明確に記載されていないが、様々な変更、改善や修正が想到されると考えられ、これは当業者に対して想定されている。これらの変更、改善や修正が本開示によって示唆されることが意図されており、それらは本開示の典型的な実施形態の精神及び範囲に含まれる。
【0174】
さらに、本開示の実施形態を説明するのに特定の用語が用いられている。たとえば、用語「一実施形態」、「実施形態」及び/又は「いくつかの実施形態」は、当該実施形態に関連して説明されている特定の特徴、構造や特性が本開示の少なくとも1つの実施形態内にあることを意味する。したがって、本明細書の様々な部分の「実施形態」や「一実施形態」や「代替実施形態」への2つ以上の適用物が当該実施形態に適用されるものの必ずしもすべてではないことを強調しておくが、当然このようなことは理解されるであろう。さらに、特定の特徴、構造や特性は、本開示の1つ以上の実施形態に適すれば、組み合されてもよい。
【0175】
さらに、本開示の態様は、任意の新規かつ有用なプロセス、機械、製造物、若しくは組成物、又はそれらの任意の新規かつ有用な改善を含む任意の複数の特許可能なクラス又はコンテキストのうちのいずれにおいても、本明細書で図示及び説明され得ることが当業者には理解されるであろう。したがって、本開示の態様は、その全体がハードウェアで実施され得、その全体がソフトウェア(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)で実施され得、又は、すべて本明細書では一般に「ユニット」、「モジュール」又は「システム」と称されるソフトウェアとハードウェアを組み合せた実装で実施されることができる。さらに、本開示の態様は、具現化されたコンピュータ可読プログラムコードを有する1つ以上のコンピュータ可読媒体で具現化されたコンピュータプログラムプロダクトの形態をとり得る。
【0176】
コンピュータ可読信号媒体は、たとえば、ベースバンド内に又は搬送波の一部として具現化されたコンピュータ可読プログラムコードを有する伝播データ信号を含むことができる。このような伝搬信号は、電磁気、光などやこれらの任意の適当な組合せを含む様々な形態のいずれかをとり得る。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、指示実行システム、指示実行装置又は指示実行デバイスによって用いられるか、又はこれに関連して用いられるプログラムを通信、伝播、又は伝送し得る任意のコンピュータ可読媒体であってもよい。コンピュータ可読信号媒体上に具現化されるプログラムコードは無線、有線、光ファイバケーブル、RFなどや上記の任意の適当な組合せを含む任意の適切な媒体を用いて伝送され得る。
【0177】
本開示の態様の動作を行なうためのコンピュータプログラムコードはJava、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Pythonなどのオブジェクト指向プログラミング言語、「C」プログラミング言語、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAPなどの従来の手続き型プログラミング言語、Python、RubyやGroovyなどの動的プログラミング言語や、他のプログラミング言語を含む1つ以上のプログラミング言語の任意の組合せで記述されてもよい。プログラムコードについては、ユーザのコンピュータで全体を実行する、ユーザのコンピュータで一部を実行する、スタンドアロンソフトウェアパッケージとして実行する、ユーザのコンピュータで一部を実行しリモートコンピュータで一部を実行する、又はリモートコンピュータ若しくはサーバで全体を実行することができる。後半の想定例では、ユーザのコンピュータに、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを通じてリモートコンピュータが接続されてもよく、接続は、外部コンピュータに対し(たとえば、インターネットサービスプロバイダを用いたインターネットを通じて)、又はクラウドコンピューティング環境で行われるか、又はSoftware as a Service(SaaS)などのサービスとして提供されることができる。
【0178】
さらに、処理要素又はシーケンスの記載されている順序や、そのための番号、文字やその他指定記号の用法が、請求項で指定される場合を除き、請求されたプロセス及び方法をなんらかの順序に限定することは意図されていない。上記の開示では、本開示の様々な有用な実施形態であると現在考えられているものを様々な例を通じて説明しているが、このような詳細が、その目的のためのものにすぎず、また、添付の請求項は、開示されている実施形態に限定されず、逆に、開示されている実施形態の精神及び範囲内にある修正及び均等な構成をカバーすることが意図されていることが理解されるであろう。たとえば、上述の様々な構成要素の実施は、ハードウェアデバイス中で具体化されてもよいが、これはソフトウェアしか用いない解決手段、たとえば、既存のサーバ又はモバイルデバイスへのインストールとしても実施されてもよい。
【0179】
同様に、本開示の実施形態の上記の説明では、様々な実施形態の1つ以上の理解を助ける開示の簡略化のために、1つの実施形態、図又はその説明で様々な特徴がまとめられてグループ化されている場合があることが理解されるであろう。ただし、開示の当該方法は、請求された保護対象が各請求項に明確に記載されているものよりも多くの特徴を必要とするという意図を反映するものとして解釈されるべきではない。むしろ、請求された保護対象は上記で開示されている1つの実施形態のすべての特徴よりも小規模になっているといえる。
【符号の説明】
【0180】
1 ノード
2 ノード
3 ノード
4 ノード
5 ノード
12 ノード
14 ノード
15 ノード
16 ノード
18 ノード
24 ノード
30 ノード
100 ルート計画システム
110 サーバ
112 処理装置
120 ネットワーク
120-1 ポイント
120-2 ポイント
130 ビークル
130-1 ビークル
130-2 ビークル
130-n ビークル
140 端末装置
140-1 モバイルデバイス
140-2 タブレットコンピュータ
140-3 ラップトップコンピュータ
140-4 内蔵デバイス
140-5 ウェアラブルデバイス
150 記憶装置
200 コンピューティングデバイス
210 バス
220 プロセッサ
230 記憶ROM
240 記憶RAM
250 COMポート
260 I/O構成要素
270 ディスク
300 モバイルデバイス
310 通信プラットフォーム
320 ディスプレイ
330 GPU
340 CPU
350 I/O
360 メモリ
370 モバイルオペレーティングシステム
380 アプリケーション
390 記憶部
400 プロセス
401 動作
402 動作
403 動作
500 プロセス
501 動作
502 動作
503 動作
504 動作
505 動作
506 動作
507 動作
508 動作
509 動作
510 動作
511 動作
610 位置取得モジュール
620 マップ取得モジュール
630 動き状態取得モジュール
640 ルート決定モジュール
700 プロセス
710 動作
720 動作
730 動作
740 動作
800 プロセス
801 動作
802 動作
803 動作
804 動作
805 動作
806 動作
807 動作
808 動作
809 動作
810 動作
811 動作
812 動作
813 動作
900 プロセス
1110 領域
1120 ビークル
1130 領域
1140 ビークル
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11