(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-19
(54)【発明の名称】経路探索装置、制御方法及びプログラム
(51)【国際特許分類】
G01C 21/34 20060101AFI20241112BHJP
【FI】
G01C21/34
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024532517
(86)(22)【出願日】2022-12-07
(85)【翻訳文提出日】2024-05-30
(86)【国際出願番号】 JP2022045002
(87)【国際公開番号】W WO2023106305
(87)【国際公開日】2023-06-15
(31)【優先権主張番号】P 2021198987
(32)【優先日】2021-12-08
(33)【優先権主張国・地域又は機関】JP
(81)【指定国・地域】
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【氏名又は名称】家入 健
(72)【発明者】
【氏名】オー チ ゴク ロアン フローレンス
(72)【発明者】
【氏名】中台 慎二
【テーマコード(参考)】
2F129
【Fターム(参考)】
2F129AA03
2F129AA11
2F129CC06
2F129CC16
2F129DD04
2F129DD20
2F129DD38
2F129DD57
2F129EE52
2F129HH18
2F129HH21
(57)【要約】
経路探索装置(2000)は、車両情報(60)と地図情報(70)を取得し、車両集合(10)内の車両(20)の各々について経路(50)を含む経路集合(40)を決定する。経路集合(40)は、車両情報(60)と地図情報(70)を使用して決定する。経路集合(40)内の経路集合は互いに競合しない。経路集合を決定するには、経路探索装置(2000)は、経路計画アルゴリズムを実行し、各車両の経路を生成する。経路計画アルゴリズムは、経路が複数の目的をどれだけ達成するかを表すスカラー値である経路の効用スコアに基づいて、経路を評価する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
経路探索装置であって、
少なくとも1つのプロセッサと、
命令を記憶するメモリと、を備え、
前記少なくとも1つのプロセッサは、前記命令を実行して、
車両情報及び地図情報を取得し、前記車両情報は複数の車両の各々について開始位置と目標位置の組を示し、前記地図情報は前記車両が移動する空間の地図を示し、
前記車両情報と前記地図情報とを使用して、前記車両の各々について経路を含む経路集合を決定し、前記経路集合の前記経路は互いに競合しないように構成され、
前記経路集合の前記決定は、経路計画アルゴリズムを実行して前記車両の各々について前記経路を生成することを含み、前記経路計画アルゴリズムは、複数の目的が前記経路によって最適化される度合いを表すスカラー値である前記経路の効用スコアに基づいて、前記経路を評価する、経路探索装置。
【請求項2】
前記経路集合の前記決定は、メタヒューリスティックアルゴリズムによって実装される前記経路計画アルゴリズムを実行することによって低レベル探索が実行される、コンフリクトベース探索アルゴリズムの修正版を実行することを含む、
請求項1に記載の経路探索装置。
【請求項3】
前記経路計画アルゴリズムは、効用関数を使用して前記対象経路の前記効用スコアを計算し、
前記効用関数は、複数の目的項の重み付き和として定義され、各前記目的項は、その目的項に対応する前記目的が前記経路によって最適化される度合いを表す、
請求項1又は請求項2に記載の経路探索装置。
【請求項4】
前記複数の目的は、前記経路の効率性、前記経路の安全性、前記経路の平滑性、又はそれらの2つ以上を含む、
請求項3に記載の経路探索装置。
【請求項5】
前記経路計画アルゴリズムは、効用関数を使用して前記対象経路の前記効用スコアを計算し、
前記経路集合の前記決定は、
選択可能な手段で前記経路集合の複数の候補をユーザに提供することと、
前記ユーザが選択した前記経路集合の前記候補を示す情報を取得することと、
前記経路集合の前記選択された候補に基づいて新たな効用関数を生成することと、
前記新たな効用関数を使用して前記経路集合の新たな候補を決定することと、
前記ユーザに提供すべき前記経路集合の前記複数の候補のうちの1つを、前記経路集合の前記新たな候補に置き換えることと、
を、終了条件が満たされるまで繰り返し実行することを含む、請求項1から請求項4のいずれか一項に記載の経路探索装置。
【請求項6】
前記新たな効用関数の前記生成は、
前記ユーザが最後に選択した前記経路集合の前記候補を生成するのに使用された前記効用関数の構成を入力として使用するガウス過程によるベイズ最適化を実行し、それによって前記効用関数の新たな構成を取得することと、
前記取得された新たな構成を用いて前記新たな効用関数を生成することと、
をさらに含む、請求項5に記載の経路探索装置。
【請求項7】
車両情報と地図情報を取得することを含み、前記車両情報は複数の車両の各々について開始位置と目標位置の組を示し、前記地図情報は前記車両が移動する空間の地図を示し、
前記車両情報と前記地図情報を使用する前記車両の各々についての経路を含む経路集合を決定することを含み、前記経路集合の前記経路は互いに競合せず、
前記経路集合の前記決定は、経路計画アルゴリズムを実行して、前記車両の各々について前記経路を生成することを含み、前記経路計画アルゴリズムは複数の目的が前記経路によって最適化される度合いを表すスカラー値である前記経路の効用スコアに基づいて、前記経路を評価する、
コンピュータにより実行される制御方法。
【請求項8】
前記経路集合の前記決定は、メタヒューリスティックアルゴリズムが実装する前記経路計画アルゴリズムを実行することによって、低レベル探索を実行するコンフリクトベース探索アルゴリズムの修正版を実行することを含む、
請求項7に記載の制御方法。
【請求項9】
前記経路計画アルゴリズムは、効用関数を使用して前記対象経路の前記効用スコアを計算し、
前記効用関数は、複数の目的項の重み付き和として定義され、各前記目的項は、その目的項に対応する前記目的が前記経路によって最適化される度合いを表す、
請求項7又は請求項8に記載の制御方法。
【請求項10】
前記複数の目的は、前記経路の効率性、前記経路の安全性、前記経路の平滑性、又はそれらの2つ以上を含む、
請求項9に記載の制御方法。
【請求項11】
前記経路計画アルゴリズムは、効用関数を使用して前記対象経路の前記効用スコアを計算し、
前記経路集合の前記決定は、
選択可能な手段で前記経路集合の複数の候補をユーザに提供することと、
前記ユーザが選択した前記経路集合の前記候補を示す情報を取得することと、
前記経路集合の前記選択された候補に基づいて新たな効用関数を生成することと、
前記新たな効用関数を使用して前記経路集合の新たな候補を決定することと、
前記ユーザに提供すべき前記経路集合の前記複数の候補のうちの1つを、前記経路集合の前記新たな候補に置き換えることと、
を、終了条件が満たされるまで繰り返し実行することを含む、請求項7から請求項10のいずれか一項に記載の制御方法。
【請求項12】
前記新たな効用関数の前記生成は、
前記ユーザが最後に選択した前記経路集合の前記候補を生成するのに使用される前記効用関数の構成を入力として使用するガウス過程によるベイズ最適化を実行し、それによって前記効用関数の新たな構成を取得することと、
前記取得した新たな構成を用いて前記新たな効用関数を生成することと、
をさらに含む、請求項11に記載の制御方法。
【請求項13】
コンピュータに、
車両情報と地図情報を取得することを実行させ、前記車両情報は複数の車両の各々について開始位置と目標位置の組を示し、前記地図情報は前記車両が移動する空間の地図を示し、
前記車両情報と前記地図情報を使用して、前記車両の各々について経路を含む経路集合を決定することを実行させ、前記経路集合の前記経路は互いに競合せず、
前記経路集合の前記決定は、経路計画アルゴリズムを実行して前記車両の各々について前記経路を生成することを含み、前記経路計画アルゴリズムは、前記経路によって複数の目的が達成される度合いを表すスカラー値である前記経路の効用スコアに基づいて、前記経路を評価する、
プログラムを記憶する非一時的コンピュータ可読記憶媒体。
【請求項14】
前記経路集合の前記決定は、メタヒューリスティックアルゴリズムが実装する前記経路計画アルゴリズムを実行することによって低レベル探索が実行されるコンフリクトベース探索アルゴリズムの修正版を実行することを含む、
請求項13に記載の記憶媒体。
【請求項15】
前記経路計画アルゴリズムは、効用関数を使用して前記対象経路の前記効用スコアを計算し、
前記効用関数は、複数の目的項の重み付き和として定義され、各前記目的項は、その目的項に対応する前記目的が前記経路によって最適化される度合いを表す、
請求項13又は請求項14に記載の記憶媒体。
【請求項16】
前記複数の目的は、前記経路の効率性、前記経路の安全性、前記経路の平滑性、又はそれらの2つ以上を含む、
請求項15に記載の記憶媒体。
【請求項17】
前記経路計画アルゴリズムは、効用関数を使用して前記対象経路の前記効用スコアを計算し、
前記経路集合の前記決定は、
選択可能な手段で前記経路集合の複数の候補をユーザに提供することと、
前記ユーザが選択した前記経路集合の前記候補を示す情報を取得することと、
前記経路集合の前記選択された候補に基づいて新たな効用関数を生成することと、
前記新たな効用関数を使用して前記経路集合の新たな候補を決定することと、
前記ユーザに提供すべき前記経路集合の前記複数の候補のうちの1つを、前記経路集合の前記新たな候補に置き換えることと、
を、終了条件が満たされるまで繰り返し実行することを含む、請求項13から請求項16のいずれか一項に記載の記憶媒体。
【請求項18】
前記新たな効用関数の前記生成は、
前記ユーザが最後に選択した前記経路集合の前記候補を生成するのに使用される前記効用関数の構成を入力として使用するガウス過程によるベイズ最適化を実行し、それによって前記効用関数の新たな構成を取得することと、
前記取得した新たな構成を用いて前記新たな効用関数を生成することと、
をさらに含む、請求項17に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の開示は、概してマルチエージェント経路探索問題に関する。
【背景技術】
【0002】
マルチエージェント経路探索(MAPF: multi-agent path finding)問題は、総移動距離など、単一の目的を最適化しながら、複数の車両が経路に沿って移動する場合に、車両が互いに又はいかなる静的障害物とも衝突しないように、複数の車両の各々について経路を探索する問題である。非特許文献1には、MAPF 問題を解決するためのコンフリクトベース探索(CBS: Conflict Based Search)アルゴリズムと呼ばれるアルゴリズムが開示されている。CBS は、高レベル探索と低レベル探索とに分けられる2レベルの探索アルゴリズムである。高レベル探索では、CBS は、二進木と呼ばれる制約木(CT: constraint tree)を使用して、車両間の衝突を回避するための車両の時間と位置に関する適切な制約を求める。低レベル探索では、CBS は、高レベル探索で求められた制約の下で各車両の経路を探索する。
【0003】
非特許文献1により開示されている CBS アルゴリズムは、単一の目的、すなわち経路長に基づいて経路を評価するため、複数の目的を扱うことができない。非特許文献2は、複数の目的を処理するように CBS を拡張した多目的コンフリクトベース探索(MO-CBS: multi-objective conflict-based search)と呼ばれるアルゴリズムを開示している。複数の目的を処理する MAPF 問題の一般化は、「多目的 MAPF (MOMAPF: multiple-objective MAPF)」と呼ばれることに留意されたい。MO-CBS は、その各々が初期パレート最適解を含むルートノードを有する複数の CT を生成する。ルートノードでは、車両間の衝突は考慮されない。その後、検出された衝突を解決するために子ノードを生成する。また、この手法では、所定のコストを有するグラフを考慮する。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Guni Sharon、Roni Stern, Ariel Felner、及び Nathan R. Sturtevant、「最適なマルチエージェント経路探索用のコンフリクトベース探索」、Elsevier、Artificial Intelligence、Volume 219、40-66 ページ、2015年2月
【非特許文献2】Zhongqiang Ren、Sivakumar Rathinam、及び Howie Choset、「マルチエージェント経路探索用の多目的コンフリクトベース探索」、[online]、2021年1月11日、[2021年12月7日検索]、<arXiv, https://arxiv.org/pdf/2101.03805v2.pdf>から取得
【非特許文献3】Wei Chu 及び Zoubin Ghahramani、「ガウス過程による優先度学習」、ACM、the 22nd International Conference on Machine Learning、2005年8月7日
【非特許文献4】Eric Brochu、Vlad M.Cora、及び Nando de Freitas、「アクティブユーザモデリング及び階層強化学習への応用を伴う高価コスト関数のベイズ最適化に関するチュートリアル」、[online]、2010年12月12日、[2021年10月6日検索]、<arXiv, https://arxiv.org/pdf/1012.2599.pdf>から取得
【発明の概要】
【発明が解決しようとする課題】
【0005】
MO-CBS は、複数のパレート最適解を計算しなければならないため、計算コストが高い。本発明の開示の目的は、複数の目的を考慮に入れながら、複数車両向けの経路の集合を提供するための計算コストがより小さい方法を提供することである。
【課題を解決するための手段】
【0006】
本開示の経路探索装置は、少なくとも1つのプロセッサと、命令を記憶するメモリと、を備える。前記少なくとも1つのプロセッサは、前記命令を実行して、車両情報及び地図情報を取得し、前記車両情報は複数の車両の各々について開始位置と目標位置の組を示し、前記地図情報は前記車両が移動する空間の地図を示し、前記車両情報と前記地図情報とを使用して、前記車両の各々について経路を含む経路集合を決定し、前記経路集合の前記経路は互いに競合しないように構成され、前記経路集合の前記決定は、経路計画アルゴリズムを実行して前記車両の各々について前記経路を生成することを含み、前記経路計画アルゴリズムは、複数の目的が前記経路によって最適化される度合いを表すスカラー値である前記経路の効用スコアに基づいて、前記経路を評価する。
【0007】
本開示の制御方法は、コンピュータによって実行される。当該制御方法は、車両情報と地図情報を取得することを含み、前記車両情報は複数の車両の各々について開始位置と目標位置の組を示し、前記地図情報は前記車両が移動する空間の地図を示し、前記車両情報と前記地図情報を使用する前記車両の各々についての経路を含む経路集合を決定することを含み、前記経路集合の前記経路は互いに競合せず、前記経路集合の前記決定は、経路計画アルゴリズムを実行して、前記車両の各々について前記経路を生成することを含み、前記経路計画アルゴリズムは複数の目的が前記経路によって最適化される度合いを表すスカラー値である前記経路の効用スコアに基づいて、前記経路を評価する。
【0008】
本開示の非一時的なコンピュータ可読記憶媒体は、前述した本開示の制御方法をコンピュータに実行させるプログラムを格納する。
【発明の効果】
【0009】
本発明の開示によれば、複数の目的を考慮に入れながら、複数車両向けの経路の集合を提供するための計算コストがより小さい方法が提供される。
【図面の簡単な説明】
【0010】
【
図1】実施形態1の経路探索装置の概要を示す図である。
【
図2】経路探索装置の機能構成の一例を示すブロック図である。
【
図3】経路探索装置を実現するコンピュータのハードウェア構成の一例を示すブロック図である。
【
図4】実施形態1の経路探索装置が実行する処理の一例を示すフローチャートである。
【
図5】車両情報の構造の一例をテーブル形式で示す図である。
【
図6】CBS の全体のフローを示すフローチャートである。
【
図7】MAPF 求解部が実行する GA 経路プランナのフローの一例を示すフローチャートである。
【
図9】変異に対する候補経路からウェイポイントの削除を示す図である。
【
図10】変異に対する候補経路への1つ以上のウェイポイントの追加を示す図である。
【
図11】変異に対する候補経路への1つ以上のウェイポイントの追加を示す図である。
【
図12】実施形態2の経路探索装置の概要を示す図である。
【
図13】実施形態2の経路探索装置の機能構成の一例を示すブロック図である。
【
図14】実施形態2の経路探索装置が実行する処理の一例を示すフローチャートである。
【
図15】経路集合の複数候補を視覚的に提示する図である。
【発明を実施するための形態】
【0011】
以下、本発明開示の例示的な実施の形態について、図面を参照しながら説明する。各図面において同一の要素には同一の符号を付し、必要に応じて重複する説明を省略する。さらに、記憶部は、1つ以上の記憶装置で形成される。
【0012】
実施形態1
<概要>
図1は、実施形態1の経路探索装置2000の概要を示す図である。なお、
図1に示す概要は、経路探索装置2000を分かりやすくするために経路探索装置2000の動作の一例を示したものであり、経路探索装置2000が取り得る動作の範囲を限定したり狭めたりするものではない。
【0013】
経路探索装置2000は、車両集合10についての経路集合40を生成するように動作する。経路集合40は、経路50の集合であり、車両集合10に含まれる複数の車両20の各々に対する経路50を含む。各車両20は、その対応する経路50に沿ってその開始位置からその目標位置まで移動するように構成される。
【0014】
車両集合10は、N台の車両{v1,...,vN}を含むものとする。経路探索装置2000は、車両集合10に対する経路集合{p1,...,pN}を生成する必要があり、経路piは、1からNまでの各iの車両viに対応する。
【0015】
車両集合10は、車両20の集合であり、エンティティ30に関連付けることができる。エンティティ30は、車両集合10の責任を負う任意のエンティティであってよい。例えば、エンティティ30は、車両集合10内の車両20のオペレータ又は車両集合10を所有する若しくは管理する会社であってもよい。
【0016】
車両20は、その対応する経路50に沿って移動するのに制御可能な任意の移動物体であってよい。いくつかの実装形態では、車両20は、無人搬送車(AGV: automatic guided vehicle)、ドローンなど、任意の種類の自律車両であってよい。他の実装形態では、車両20は、手動で操作する任意の種類の移動物体であってもよい。
【0017】
開始位置及び目標位置は、各車両20に対して予め定義する。車両20の開始位置及び目標位置を知るために、経路探索装置2000は、車両集合10内の各車両20の開始位置及び目標位置を示す車両情報60を取得することができる。
【0018】
経路集合40の生成に関して少なくとも2つの要件がある。まず、経路集合40は競合がないこと、すなわち、各経路50は、経路集合40内の他の経路のいずれとも競合しないことが要求される。第二に、経路集合40を、複数の予め定義された目的が実質的に最適化されるように生成する必要がある。考えられ得る様々な目的がある。目的に関するいくつかの例には、経路集合40内の経路50の効率性、安全性、及び平滑性がある。これらの目的については、後で詳細に説明する。
【0019】
上述した少なくとも2つの要件を満たす経路集合40を見つけるために、経路探索装置2000は、多目的マルチエージェント経路探索(MOMAPF: multi-objective multi-agent path finding)問題を解くことによって経路集合40を生成する。以下、経路探索装置2000が MOMAPF 問題を解くために実行するアルゴリズムを、「MOMAPF ソルバ」と呼ぶ。MOMAPF ソルバは、上記の2つの要件、すなわち競合がないこと、及び複数の目的を実質的に最適化することを満たす経路集合40を見出すまで、経路集合40を繰り返し生成する。
【0020】
解決すべき MOMAPF 問題を定義するために、(1)車両20が移動することができる空間の地図、及び(2)各車両20の開始位置及び目標位置が、少なくとも必要である。(1)に関して、経路探索装置2000は、車両20が移動することができる空間の地図を示す地図情報70を取得する。(2)については、前述したように、車両情報60には、各車両20の開始位置及び目標位置が示されている。
【0021】
第2の要件を満たすために、経路探索装置2000は、各経路50の効用を考慮する。経路50の効用は、複数の目的の観点から、経路50が良好であるほど高くなるように定義される。経路探索装置2000は、経路50によって複数の目的が最適化される度合いを表す経路50の効用スコアを計算するように定義された効用関数を使用して、経路50の効用を測定する。後に詳述するように、効用関数は、その対応する目的を最適化する度合いを各々が表す複数の目的項についての重み付きの和として、定義してもよい。
【0022】
MOMAPF ソルバが各経路50の効用を評価できるようにするために、MOMAPF ソルバは、メタヒューリスティックアルゴリズム(例えば、進化的アルゴリズム(EA: evolutionary algorithm))、ヒューリスティック探索アルゴリズム、しらみつぶし探索アルゴリズムなどの経路計画アルゴリズムを使用して、各経路50を生成する。以下では、例として、経路計画アルゴリズムがメタヒューリスティックアルゴリズムとして実装されると仮定し、各経路50を生成するために MOMAPF ソルバで使用するメタヒューリスティックアルゴリズムを「EA 経路プランナ」と呼ぶ。EA 経路プランナは、効用関数を使用して、それによって生成された経路50の各候補に対する効用スコアを計算する。
【0023】
<作用効果の例>
実施形態1の経路探索装置2000によれば、車両集合10内の複数の車両20に対する競合のない経路を含む経路集合40が生成される。経路探索装置2000は、複数の目的が最適化される度合いをスカラー化する効用関数を使用するため、複数の目的の観点から最良の経路の集合を見出すことができる。したがって、パレート解のセット全体を提供する非特許文献2によって開示されている MO-CBS とは異なり、経路探索装置2000は、複数のパレート最適な競合のない経路を提供する代わりに、最も高い効用を有する競合のない経路の単一セットを提供することができる。
【0024】
経路探索装置2000は、実用性及び効率性において MO-CBS よりも有利である。具体的には、経路探索装置2000は、パレート最適解のセット全体を計算することなく、パレート最適解のセット全体のうちの1つである、又はそれに近い解を提供することができるので、 MO-CBS よりもはるかに少ない実行時間でオペレータなどに実用的な解を提供することができる。言い換えれば、経路探索装置2000は、非特許文献2によって開示されているものよりも計算コストが小さい方法で解を提供することができる。加えて、経路探索装置2000は、オペレータがパレート最適解のセット全体から最適解を選択することを必要とせず、それによって、オペレータが解を得るために要する時間と労力を削減する。さらに、オペレータが単一の最適解を知ることで十分であり、またパレート最適解のセット全体を知ることはオペレータにとって実用的ではない場合がある。
【0025】
以下、経路探索装置2000についてより詳細に説明する。
【0026】
<機能構成例>
図2は、経路探索装置2000の機能構成の一例を示す。経路探索装置2000は、取得部2020及び MOMAPF 求解部2040を含む。取得部2020は、車両情報60及び地図情報70を取得する。MOMAPF 求解部2040は、地図情報70により地図が定義され、車両情報60により各車両20の開始位置及び目標位置が定義された MOMAPF 問題を解き、車両集合10用の経路集合40を生成する。MOMAPF 問題は、MOMAPF ソルバを実行することによって解かれる。MOMAPF ソルバでは、各車両20について、EA 経路プランナが呼び出されて車両20の経路50を生成する。EA 経路プランナでは、効用関数を使用して、複数の目的の観点から経路50を評価する。
【0027】
<ハードウエア構成の例>
経路探索装置2000は、1つ以上のコンピュータで実現されうる。それら1つ以上のコンピュータのそれぞれは、経路探索装置2000を実現するために作成された専用のコンピュータであってもよいし、パーソナルコンピュータ(PC: Personal Computer)、サーバマシン又はモバイルデバイスなどの汎用のコンピュータであってもよい。
【0028】
経路探索装置2000は、コンピュータにアプリケーションをインストールすることで実現されうる。そのアプリケーションは、コンピュータを経路探索装置2000として機能させるプログラムで実現される。言い換えれば、そのプログラムは、経路探索装置2000の機能構成部を実装したものである。
【0029】
図3は、経路探索装置2000を実現するコンピュータ1000のハードウエア構成の一例を示すブロック図である。
図3において、コンピュータ1000は、バス1020、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120を有する。
【0030】
バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120が相互にデータの送信及び受信をするためのデータ通信路である。プロセッサ1040は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、又は FPGA(Field-Programmable Gate Array)などといったプロセッサである。メモリ1060は、RAM(Random Access Memory)又は ROM(Read Only Memory)などの主記憶要素である。ストレージデバイス1080は、ハードディスク、SSD(Solid State Drive)、又はメモリカードなどの補助記憶要素である。入出力インタフェース1100は、コンピュータ1000と周辺デバイス(キーボード、マウス、又はディスプレイ装置など)との間のインタフェースである。ネットワークインタフェース1120は、コンピュータ1000とネットワークとの間のインタフェースである。ネットワークは、LAN(Local Area Network)でもよいし、WAN(Wide Area Network)でもよい。
【0031】
ストレージデバイス1080は、前述したプログラムを格納しうる。プロセッサ1040は、経路探索装置2000の各機能構成部を実現するためにそのプログラムを実行する。
【0032】
コンピュータ1000のハードウエア構成は、
図3に示される構成に限定されない。
例えば、前述したように、経路探索装置2000は複数のコンピュータで実現されうる。この場合、それらのコンピュータは、ネットワークを介して互いに接続されうる。
【0033】
<処理のフロー>
図4は、経路探索装置2000が実行する処理の一例を示すフローチャートである。取得部2020は、車両情報60及び地図情報70を取得する(S102)。MOMAPF 求解部2040は、MOMAPF ソルバを実行し、地図情報70が示す地図と、車両情報60が示す車両20の開始位置及び目標位置とで規定される MOMAPF 問題を解く(S104)。
【0034】
<車両情報60の取得:S102>
取得部2020は、車両情報60を取得する(S102)。車両情報60は、各車両の開始位置及び目標位置を示す。
図5は、車両情報60の構成例をテーブル形式で示す。
図5の車両情報60は、車両識別子22、開始位置24、及び目標位置26のタプルを含む。各タプルは、その対応する車両の一組の開始位置と目標位置を示す。
【0035】
車両情報60を取得する方法は様々である。例えば、車両情報60は、経路探索装置2000がアクセス可能な記憶部に、その対応するエンティティの識別子と関連付けて予め記憶されている。この場合、取得部2020は、エンティティ30の識別子に関連付けられた車両情報60を記憶部から取得する。なお、取得部2020は、エンティティ30の識別子を指定するユーザ入力を受け付けるなど、任意の手段でエンティティ30の識別子を取得する。
【0036】
別の実施例では、取得部2020は、エンティティ30が操作するモバイル機器又は PC などの別のコンピュータから送信される車両情報60を受信することによって車両情報60を取得することができる。
【0037】
<地図情報70の取得:S102>
取得部2020は、地図情報70を取得する(S102)。地図情報70は、車両20が移動する空間の地図を表す。理論的には、その地図は、グラフG=(V,E)と表すことができる。ここで、Vは頂点の集合であり、Eはエッジの集合である。頂点は位置を表し、エッジは位置間の接続を表す。
【0038】
MOMAPF 問題用の空間地図を実装する様々な方法がある。いくつかの実装形態では、地図は、二次元(2D)又は三次元(3D)のグリッドマップとして実装される。この場合、各位置は、グリッドマップ内のセルによって表される。さらに、位置間の各接続は、グリッドマップ内のセル間の接続によって表される。
【0039】
地図情報70はまた、壁、棚などの各静止障害物の位置を示すことができる。各障害物は、少なくとも車両20の移動中に恒久的に占有される1つ以上の位置(例えば、グリッドマップのセル)によって定義される。
【0040】
地図情報70を取得するには様々な方法があってよい。例えば、地図情報70は、経路探索装置2000がアクセス可能な記憶部に予め記憶されている。この場合、取得部2020は、記憶部から地図情報70を取得する。別の実施例では、取得部2020は、他のコンピュータから送られてくる地図情報70を受信することにより取得してもよい。
【0041】
<MOMAPF 問題の求解:S104>
MOMAPF 求解部2040は、MOMAPF ソルバを実行して、地図情報70と車両情報60とに基づいて定義される MOMAPF 問題を解き、車両集合10用の経路集合40を生成する。いくつかの実装形態では、MOMAPF ソルバは、コンフリクトベース探索(CBS)アルゴリズムの修正版によって実装される。なお、CBS のオリジナル版は、非特許文献1に開示されている。以下、経路探索装置2000で採用される CBS の修正版を「修正 CBS 」と呼ぶ。
【0042】
CBS は、高レベル探索と低レベル探索とに分けられる2レベルの探索アルゴリズムである。高レベル探索は、制約木(CT)と呼ばれる二進木を使用して実行される。CT の各ノードは、(1)その親ノードで実行された低レベル探索が検出した競合に関連する時間及び位置の制約、(2)そのノード及びその先祖が示すすべての制約を満たす単一候補解(すなわち、すべての車両の経路についての候補のセット)、及び(3)オリジナルの CBS 内のすべての車両の総経路持続時間の和である解の評価を、含む。CT のルートノードには、制約という空の集合を含む。
【0043】
ノードに含まれる制約は、どの車両20についてどの時刻におけるどの位置の占有を禁止するのか、を示す。例えば、時刻T1に、位置L1で車両A1と車両A2とが互いに競合したことが検出される。この場合、「車両A1は、時刻T1に、位置L1を占有してはならない」という制約や、「車両A2は、時間T1に、位置L1を占有してはならない」という制約を採用して、衝突を回避することができる。
【0044】
CT の各ノードについて、経路50が再計画されなければならない車両20に対して低レベル探索が呼び出される。低レベル探索では、オリジナルの CBS が、経路計画アルゴリズムとしてA*探索アルゴリズムを使用して、現在のノード及びその先祖によって示される制約を満たしながら、車両の新たな経路を見つける。一方、修正 CBS は、低レベル探索における経路計画アルゴリズムとして EA 経路プランナ(すなわち、メタヒューリスティックアルゴリズム)を使用する。
【0045】
以下、
図6を参照して、CBS の全体的なフローについて説明する。
図6は、CBS の全体のフローを示すフローチャートである。
図6に示す全体的なフローは、オリジナルの CBS と修正 CBS との間で共通であることに留意されたい。まず、ルートノードを生成してオープンリストに追加することで、CT を初期化する(S202)。CT のノードを生成するステップは、(1)ノード及びその先祖によって示される制約の下でそのノードに対する候補解を生成するステップと、(2)その解を評価するステップを、含む。解及びその評価はノードに設定される。オープンリストには、候補解が競合なしであるか否かがチェックされるべき、1つ以上のノードを含む。
【0046】
ルートノードを生成する場合、各車両の経路計画アルゴリズムを個別に呼び出して、各車両の経路を生成することによって、候補解が生成されることに留意されたい。一方、ルートノード以外のノードを生成する場合、候補解は、別の経路との競合により経路を再計画する必要がある単一の車両に対して、経路計画アルゴリズムを適用し、車両の古い経路を新たな経路に置き換えることによって、生成される。この新たな経路を除いて、このノードの候補解は親ノードの候補解と同じである。
【0047】
競合のない解が見出されるまで、ステップS204~ステップS208が、繰り返される。ステップ204において、最良のノードがオープンリストから探索される。最良のノードは、最も高い評価を有するノードである。オリジナルの CBS の場合、コストが最も低いノードが最良のノードとして探索される。一方、後に詳述するように、修正 CBS は、最も高い効用を有するノードを最良のノードとして探索する。
【0048】
探索されたノードは、その対応する候補解が競合なしであるか否かをチェックされる(S206)。探索されたノードに対応する候補解が競合なしである場合(S206:YES)、CBS は、この候補解を解決すべき MOMAPF 問題の解として出力した後に、終了する(S210)。
【0049】
一方、探索されたノードに対応する候補解が競合なしでない場合(S206:NO)、探索されたノードの子ノードが生成され、オープンリストに追加される(S208)。
【0050】
修正 CBS は、少なくとも以下の2点でオリジナルの CBS と異なる。まず、修正 CBS は、A*探索アルゴリズムの代わりに、低レベル探索における経路計画アルゴリズムとして、EA 経路プランナを使用する。第二に、修正 CBS は、複数の目的の観点から候補解を評価する。A*アルゴリズムの性質により、オリジナルの CBS は複数の目的を処理することができず、単一の目的(経路長)のみを処理する。一方、進化的アルゴリズムにはこの制限がないため、EA 経路プランナは複数の目的を処理することができる。
【0051】
以下、これら2点についてより詳細に説明する。
【0052】
<<低レベル探索用の進化的アルゴリズム>>
上述したように、修正 CBS では、低レベル探索用の経路計画アルゴリズムは、EA 経路プランナによって実装される。いくつかの実装形態では、EA 経路プランナは進化的アルゴリズムに属する遺伝的アルゴリズム(Genetic Algorithm)によって実装される。以下では、遺伝的アルゴリズムによって実装され、修正 CBS において低レベル探索に採用されている EA 経路プランナを、「GA 経路プランナ」と呼ぶ。
【0053】
図7は、MOMAPF 求解部2040が実行する GA 経路プランナの一例のフローを示すフローチャートである。上述したように、低レベル探索は、そのノード及びその先祖によって示される制約の下で、CT のノードにおいて車両20に対して実行されることに留意されたい。以下、GA 経路プランナが呼び出された車両20を「対象車両」と呼ぶ。
【0054】
まず、GA 経路プランナは、CT の現在のノード及びその先祖に対応する制約の下で、対象車両の候補経路の初期母集団を生成する(S302)。一般的な GA アルゴリズムでは、「母集団」という用語は、候補解の集合を意味する。GA 経路プランナの場合、母集団は対象車両の候補経路の集合(すなわち、経路50の候補)を表す。母集団は、対象車両の開始位置から目標位置までの経路である複数の候補経路をランダムに生成することによって初期化される。
【0055】
ステップS304~S312は、ステップS306において、予め定義された終了条件が満たされたと判定されるまで繰り返し実行される。終了条件については後述する。
【0056】
S304において、GA 経路プランナは効用関数を使用して母集団内の各候補経路を評価する。そして、GA 経路プランナは、終了条件が満たされているか否かをチェックする(S306)。終了条件が満たされている場合(S306:YES)、GA 経路プランナは、現在の母集団において最も効用が高い候補経路を出力し(S314)、その後終了する。
【0057】
終了条件を満たさない場合(S306:NO)、GA 経路プランナは、母集団を次世代に変換するために、遺伝的演算子(選択、交差及び変異)を母集団に適用する。ステップS308において、GA 経路プランナは母集団から生存者を選択する。生存者は、母集団に保持される候補経路である。換言すれば、母集団の残りの部分(すなわち、生存者以外の候補経路)が母集団から削除される。GA アルゴリズムにおける生存者を選択するには様々な周知の方法、例えば、ランダム選択があり、それらのうちのいずれか1つを使用することができる。
【0058】
次に、GA 経路プランナは、母集団内の1つ以上の候補経路を交差で修正して新たな候補経路を生成し、生成した候補経路を母集団に追加する(S310)。そして、GA 経路プランナは、変異を持つ母集団の1つ以上の候補経路を修正して新たな候補経路を生成し、生成した候補経路を母集団に追加する(S312)。これら組み換えの詳細については後述する。なお、変異による組み換えは、交差による組み換えの前に実行してもよい。
【0059】
遺伝的演算子を母集団に適用した後、GA 経路プランナはステップS304:母集団の評価に戻る。このようにすることで、終了条件が満たされるまで、母集団の次世代への変換と、母集団の評価とが繰り返し実行される。
【0060】
GA 経路プランナには様々な終了条件を採用することができる。例えば、終了条件には、「反復回数が予め定義された閾値に達する」という条件を含んでもよい。この場合、GA 経路プランナは、予め定義された回数を超えてステップS306を実行すると、終了する。
【0061】
これに代えて、又はこれに加えて、終了条件には、「適応度レベルの変化が、所与の反復回数に対して予め定義された閾値未満である」という条件を含んでもよい。これは、GA 経路プランナが収束するまで実行されることを意味する。GA アルゴリズムでは、適応度レベルは、現在の解が所与の問題の最適解にどれくらい近いかを表す。GA 経路プランナでは、各反復において、母集団内の候補経路に対して計算されたものの最高の効用スコアを適応度レベルの値として使用することができる。
【0062】
以下、交差及び変異による組み換えについてより詳細に説明する。
【0063】
<<<交差による組み換え>>>
交差のステップは、主に、より良い候補経路を取得するために世代を改良する役割を果たす。この改良は、両親と呼ばれる2つ以上の個体(母集団内の経路候補)を組み換えて、子孫と呼ばれるより良い解を生成することによって達成される。
【0064】
GA 経路プランナの背景には、交差ステップが、2つの親候補経路、すなわち選択ステップ後の生存者を、新たな子孫経路に結合することを含む。
図8は、交差ステップの一例を示す。候補経路80-1及び80-2は、2つの共通位置90-1及び90-2を有する。候補経路80-1及び候補経路80-2に交差による組み換えを適用し、それにより候補経路80-3及び候補経路80-4を生成する。具体的には、候補経路80-3及び80-4は、位置90-1と位置90-2との間の候補経路80-1の部分を、位置90-1と位置90-2との間の候補経路80-2の部分と交換することによって生成される。
【0065】
交差ステップが適用される候補経路は、その中に少なくとも1つの共通位置を有する必要がある。したがって、GA 経路プランナは、少なくとも1つの共通位置を有する2つの候補経路の1つ以上の組について母集団を探索し、見出された1つ以上の組に交差ステップを適用することができる。
【0066】
<<<変異を伴う組み換え>>>
変異ステップは、必要な多様性を与え、解空間を探索し、母集団が局所最適値に留まるのを防ぐためにある。GA 経路プランナでは、可能性としてより良い解を探索するために、1つ以上の種類の変異移動が使用される。例えば、GA 経路プランナは、ランダムな移動又は通知された移動を実行することにより、候補経路の一部を修正する。ランダム移動の場合、GA 経路プランナは候補経路の1つ以上の部分をランダムに選択し、選択された部分をランダムな手段で修正する。
【0067】
より具体的には、GA 経路プランナは、最も早い競合の前に位置するウェイポイントを、ランダムに選択する。ウェイポイントは、経路内の単一のポイントが記述される位置及び時間のセットであることに留意されたい。次に、ランダムに選択されたウェイポイントの近傍における可能な組み換えのセットが決定され、それらの中から1つの移動がランダムに選択される。2つの種類の可能な組み換え、迂回及び待機移動があり得る。迂回は、経路の一部を空間的に修正する組み換えである。待機移動は、その位置がランダムに選択されたウェイポイントの位置と同じであり、その時間がランダムに選択されたウェイポイントの時間とは異なる、新たなウェイポイントを追加し、それによってその経路にさらに1つの時間のステップを追加する組み換えである。GA 経路プランナは、2つ以上のウェイポイントをランダムに選択し、ランダムに選択されたウェイポイントのそれぞれに対して1つの移動を実行することができることに、留意されたい。
【0068】
組み換え後の経路が実行不可能である場合、実行可能な解が見出されるまで選択が繰り返される。可能な組み換えのセットが実行可能な移動を含まない場合、そのセットは、選択されたウェイポイント周り付近の迂回及び待機時間のステップが増加するという意味において、増分する。
【0069】
通知される移動に関して、GA 経路プランナは、予め定義された条件を満たす候補経路の1つ以上の部分を検出し、検出された部分を予め定義された方法で修正する。いくつかの実装形態では、通知される移動には、1つ以上のウェイポイントの削除を含むことができる。ウェイポイントの削除を実行する場合、GA 経路プランナは、迂回を形成するウェイポイントを検出し、それらのウェイポイントを削除して候補経路から迂回を除去する。
図9は、変異の候補経路からのウェイポイントの削除を示す。簡単にするために、
図9は、車両が方向を変えるウェイポイントのみを示している。
図9の上の図において、候補経路80-5は、迂回を形成するウェイポイント100-1、ウェイポイント100-2、ウェイポイント100-3、及びウェイポイント100-4を含む。この例では、ウェイポイント100-1~ウェイポイント100-4を削除することによって、新たな候補経路80-6が生成される。車両が方向を変えるウェイポイントを削除することによって、候補経路内の曲がり角の数が減少し、したがって、候補経路の平滑性が増加する。
【0070】
図9の下の図では、候補経路80-7は、迂回を形成するウェイポイント100-5、ウェイポイント100-6、及びウェイポイント100-7を含む。この例では、ウェイポイント100-1~ウェイポイント100-3を削除することによって新たな候補経路80-8が生成される。
【0071】
他の実装形態では、通知される移動には、ウェイポイントの追加を含むことができる。ウェイポイントの追加は、対象車両以外の車両の経路との競合を解決するために実施することができる。具体的には、GA 経路プランナは、対象車両以外の車両の経路と競合する候補経路の1つ以上の部分を検出する。次に、GA 経路プランナは、衝突を回避するために候補経路にウェイポイントを追加する。
【0072】
経路にウェイポイントを追加する方法には少なくとも2つ、空間におけるウェイポイントを追加する方法、及び時間におけるウェイポイントを追加する方法がある。
図10及び
図11は、変異に対する候補経路への1つ以上のウェイポイントの追加を示す。
図10において、候補経路80-9は、その方向が候補経路80-9と逆向きである経路130-1と競合するエッジを有する。エッジ競合は、2台の車両が反対方向から同じエッジを通って移動する競合の一種である。
【0073】
GA 経路プランナは、エッジ競合の位置の周りにウェイポイントをランダムに追加し、それによって候補経路80-9に迂回を追加して、経路130-1とのエッジ競合を解決することができる。具体的には、4つのウェイポイント100-8、ウェイポイント100-9、ウェイポイント100-10、及びウェイポイント100-11が候補経路80-9に追加され、それによって候補経路80-10を生成する。
【0074】
図11においては、候補経路80-11は、時刻T1に位置L1において経路130-2と競合する頂点を有する。頂点競合は、2台の車両が同時に同じ位置を占める競合の一種である。頂点競合は、他方の車両が衝突が発生する位置を通過するまで、一方の車両が待機する場合に、解決することができる。
【0075】
したがって、
図11の場合、GA 経路プランナは、頂点競合の位置の前に位置し、別の既存の車両と競合しない、いくつかのランダムな位置にウェイポイントをランダムに追加することができる。
図11では、GA 経路プランナは2つのウェイポイント100-12及びウェイポイント100-13を候補経路80-11に追加し、それによって候補経路80-12を生成することができる。ウェイポイント100-12は(位置L2、時刻T2)を示し、一方、ウェイポイント100-13は(位置L2、時刻T3)を示し、ここでT2<T1<T3である。同じ位置であるが異なる時間を示す2つのウェイポイントを追加することによって、待機動作が候補経路に追加される。
図11の場合、対象車両は、時刻T2~時刻T3において位置L2に留まるようスケジュールされる。したがって、経路130-2に沿って移動する車両は、対象車両が位置L2に留まっている間に位置L1を通過する。その結果、頂点競合が解決する。
【0076】
<<候補経路の評価>>
GA 経路プランナの実行中、母集団内の各候補経路は、複数の目的の観点から評価される。具体的には、候補経路は、候補経路の効用スコアを計算する効用関数を使用して評価される。効用スコアは、複数の目的が最適化される度合いを表すスカラー値である。このように、複数の目的の観点から、効用関数によって、候補経路の効用が効用スコアとしてスカラー化される。
【0077】
考えられ得る様々な目的がある。目的のいくつかの例は、(1)効率性、(2)安全性、及び(3)平滑性である。候補経路の効率性は、候補経路の全長として定義することができる。具体的には、候補経路の全長が短いほど、候補経路がより効率的であると評価される。この場合、候補経路の効率性は、以下のように計算することができる。
【数1】
式中、ef(P) は経路Pの効率性を表し、x_i は経路Pにおけるi番目の位置を表し、d(A,B) は位置Aと位置Bとの間の距離を表す。
【0078】
候補経路の安全性は、対象車両の経路と障害物との間の最短距離として定義することができる。具体的には、対象車両と障害物との最短距離が長いほど、経路はより安全であると評価される。この場合、候補経路の安全性は、以下のように計算することができる。
【数2】
式中、sa(P) は経路Pの安全性を表し、d(A,B) はAとBとの間の距離を表し、上線は2つの位置の間の線分を表し、そして Oj はj番目の障害物を表す。
【0079】
別の例では、候補経路の安全性は、以下のように計算することができる。
【数3】
【0080】
候補経路の平滑性は、候補経路に沿った移動中の角度の変化平均として定義することができる。具体的には、候補経路における角度の変化平均が小さいほど、候補経路がより平滑であると評価される。候補経路の平滑性は、以下のように計算することができる。
【数4】
式中、sm(P) sは候補経路Pの平滑性を表し、x_i は、候補経路P内のi番目の位置であり、angle(A,B,C)は、線BAと線BCとの間の角度であり、N は、式(4)で合計された角度の数、すなわち、候補経路P内のウェイポイントの数から2を引いた数を表す。
【0081】
別の例では、候補経路の平滑性は、曲がり角の数として定義してもよい。この場合、候補経路の平滑性は、以下のように計算することができる。
【数5】
【0082】
上述したように、候補経路の効用は、効用スコアと呼ばれるスカラー値を出力する効用関数を使用して計算される。例えば、効用関数は、複数の目的項の重み付きの和として定義され、各目的項は、その対応する目的が最適化される度合いを表す。この場合、効用関数は、以下のように定義することができる。
【数6】
式中、u(P) は候補経路Pの効用スコアを表し、iは目的の識別子を表し、w_i は、i番目の目的に割り当てられた重みを表し、f_i() は、i番目の目的の観点からの候補経路Pの効用を表すスカラー値を出力する関数を表し、n_i は正規化係数を表し、そして N は目的の数を表す。
【0083】
効率性、安全性、及び平滑性を目的として使用する場合、効用関数は以下のように定義することができる。
【数7】
式中、n_ef、n_sa、及び n_sm は、それぞれ効率性、安全性、及び平滑性の正規化係数を表す。
【0084】
各目的に割り当てられる重みは、予め人手で定義してもよい。しかしながら、後で詳細に説明するように、目的の重みは、ユーザの好みに基づいて経路探索装置2000によって動的に決定することができる。
【0085】
上記の説明では、上記で説明した効率性、安全性、及び平滑性は、それらの値が小さいほど良好であることに留意されたい。したがって、効用スコア u(P) が小さいほど、候補経路Pの効用がより高いと評価される。したがって、GA 経路プランナは、最も低い効用スコアを有する候補経路を最も高い効用を有する候補経路として選択する。
【0086】
考慮されるべき目的は、経路の効率性、安全性、及び平滑性に限定されないことにも留意されたい。例えば、車両のエネルギー消費又は車両のタスク割り当てを目的として扱うことができる。
【0087】
経路の効用は、複数の目的の重み付きの和に限定されないことにも留意されたい。複数の目的の最適化の度合いを考慮して単一のスカラー値を計算することができる任意の方法を採用することができる。例えば、チェビシェフ法を採用することができる。
【0088】
図6のステップ204において最良のノードを決定するために、MOMAPF ソルバは、各ノードについて経路集合40の候補の効用を評価する。経路集合40の候補の効用は、候補内の各経路の効用スコアに基づいて計算することができる。例えば、MOMAPF ソルバは、経路集合内のすべての経路の効用スコアの和として、経路集合の効用スコアを計算する。別の実施例では、MOMAPF ソルバは、経路集合内のすべての経路の効用スコアの統計値(例えば、平均値、最小値、最大値など)として経路の効用スコアを計算する。
【0089】
効用スコアが小さいほど経路の効用が高い場合、経路の効用スコアが小さいほど経路集合の効用が高い。したがって、MOMAPF ソルバによって最良のノードとして選択されたノードは、その効用スコアがすべての中で最も小さい経路集合の候補を含む。
【0090】
<結果の出力>
MOMAPF 求解部2040は、MOMAPF ソルバが解く MOMAPF 問題の解として、経路集合40を取得する。経路探索装置2000は、経路集合40を示す情報(以下、出力情報)を出力することができる。出力情報を出力するには、様々な方法がある。いくつかの実装形態では、経路探索装置2000は、出力情報を記憶装置に格納することができる。他の実装形態では、経路探索装置2000は、ディスプレイ装置が出力情報を表示するように、出力情報をディスプレイ装置に出力することができる。この場合、ディスプレイ装置は、地図情報70が示す地図、車両情報60が示す各車両20の開始位置及び目標位置、及び経路集合40に含まれる各車両20の経路05を表示することができる。他の実装形態では、経路探索装置2000は、何らかの方法で経路集合を使用する任意のコンピュータに出力情報を送信することができる。
【0091】
実施形態2
<概要>
図12は、実施形態2の経路探索装置2000の概要を示す。なお、
図12に示す概要は、経路探索装置2000を分かりやすくするために経路探索装置2000の動作の一実装例を示したものであり、経路探索装置2000が取り得る動作の範囲を限定したり狭めたりするものではない。
【0092】
実施形態2の経路探索装置2000は、例えば、効用関数(例えば、重み付きの和として定義される効用関数における目的の適切な重み)において考慮される各目的の重要性に関してユーザの好みを引き出し、その構成がユーザの好みに基づいて決定される新たな効用関数を生成することを除いて、実施形態1の経路探索装置と同じである。
【0093】
効用関数の具体的な構成方法は、効用関数の種類に依存する。例えば、効用関数が複数の目的の重み付きの和として定義される場合、効用関数の構成は目的の重みの集合である。なお、実施形態1において、効用関数の構成は、予め定義されていてもよい。
【0094】
具体的には、実施形態2の経路探索装置2000は、適切な効用関数が見出されるまで、効用関数を更新しながら MOMAPF 問題を繰り返し解く。各反復において、経路探索装置2000は、互いに異なる構成を有する効用関数を使用して MOMAPF ソルバによって生成された経路集合40の複数の候補をユーザに提供し、ユーザに候補のうちの1つを選択させ、選択された候補が生成された効用関数の構成に基づいてその構成が決定される新たな効用関数を生成する。
【0095】
<作用効果の例>
経路探索装置2000は、効用関数を使用して計算された経路の効用スコアを使用して経路集合40の候補を評価するため、評価の精度は効用関数の構成に依存する。具体的には、効用関数がより適切に構成されるほど、効用スコアは経路の効用をより正確に表す。しかしながら、効用関数の適切な構成をユーザが自ら把握することは困難な場合がある。
【0096】
実施形態2の経路探索装置2000によれば、複数の候補からの経路集合のユーザ選択に基づいて、効用関数が繰り返し修正され、それによって効用関数を改善する。したがって、経路探索装置2000は、経路の効用を正確に計算することができる効用関数を自動的に生成することができる。その結果、経路探索装置2000は、経路集合40に高い効用を正確に与えることができる。
【0097】
以下、経路探索装置2000についてより詳細に説明する。
【0098】
<機能構成例>
図13は、実施形態2に係る経路探索装置2000の機能構成の一例を示すブロック図である。実施形態2の経路探索装置2000は、実施形態1の経路探索装置2000と比較して、候補提供部2060及び嗜好誘出部2080をさらに含む。候補提供部2060は、MOMAPF 問題の解として取得された2つ以上の経路集合40の候補を、異なる効用関数を使用して、選択可能な手段で、ユーザに提供する。嗜好誘出部2100は、ユーザがどの経路集合40の候補を選択したかを示す情報を取得し、ユーザの選択に基づいて新たな効用関数を生成する。
【0099】
次に、MOMAPF 求解部2040が、新たな効用関数を用いて MOMAPF ソルバを計算する。そして、候補提供部2060は、新たな効用関数を使用して生成された経路集合40の候補を、ユーザが最後に選択した経路集合40の候補とともにユーザに提供する。予め定義された終了条件が満たされるまで、経路探索装置2000は、経路集合40の複数の候補を選択可能な手段で提供し、経路集合40の候補のユーザ選択に基づいて、新たな効用関数を生成しながら、経路集合40の候補を繰り返し生成する。
【0100】
<ハードウェア構成例>
実施形態2の経路探索装置2000は、実施形態1の経路探索装置2000を実現するものと同様の1つ以上のコンピュータによって実現することができる。したがって、そのハードウェア構成も
図3により示すことができる。
【0101】
<処理のフロー>
図14は、実施形態2における経路探索装置2000が実行する処理の一例を示すフローチャートである。実施形態2の取得部2020は、実施形態1と同様の手段で、車両情報60及び地図情報70を取得する(S402)。MOMAPF求解部2040は、構成が互いに異なる複数の効用関数を初期化する(S404)。
【0102】
ステップS406~ステップS414は、予め定義された終了条件が満たされるまで繰り返し実行される。MOMAPF 求解部2040は、MOMAPF ソルバを実行する(S406)。最初の反復では、ステップS404で初期化された複数の効用関数の各々について、MOMAPF ソルバが実行される。一方、2回目以降の反復では、前回のステップS412で生成された効用関数に対して MOMAPF ソルバが実行される。
【0103】
候補提供部2060は、経路集合40の2つ以上の候補を提供し(S408)、ユーザの選択を取得する(S410)。嗜好誘出部2080は、取得した選択に基づいて、新たな効用関数を生成する(S412)。
【0104】
嗜好誘出部2080は、終了条件を満たすか否かをチェックする(S414)。終了条件を満たす場合(S414:YES)、経路探索装置2000は、ユーザの最新の選択である経路集合40を出力する(S416)。
【0105】
一方、終了条件が満たされていない場合には(S414:NO)、MOMAPF 求解部2040は、新たな効用関数を用いた MOMAPF ソルバを実行する(S406)。
【0106】
<効用関数の初期化:S404>
MOMAPF 求解部2040は、複数の効用関数を初期化する(S404)。本ステップにおいて、MOMAPF 求解部2040は、互いに異なる構成を有する複数の効用関数を生成する。上記式(7)によって効用関数が定義され、初期化ステップにおいて2つの効用関数が生成されたとする。この場合、MOMAPF 求解部2040は、2つの効用関数、「w_1=a,w_2=b,w_3=c」の構成を伴う u_1(P)、及び「w_1=d,w_2=e,w_3=f」の構成を伴う u_2(P) を生成することができ、ここで a、b、c、d、e、f の値は0以上の実数であり、a+b+c=1、及び d+e+f=1 である。
【0107】
効用関数を初期化するには、様々な方法がある。いくつかの実装形態では、効用関数はランダムな方法で生成される、例えば、各目的の重みがランダムに決定される。
【0108】
<MOMAPF ソルバの実行:S406>
MOMAPF 求解部2040は、MOMAPF ソルバを実行して経路集合40の候補を生成する(S406)。最初の反復(すなわち、効用関数の初期化直後)では、MOMAPF 求解部2040は、初期化ステップで生成された複数の効用関数の各々について MOMAPF ソルバを実行する。特定の効用関数を用いて MOMAPF ソルバを実行する場合、この効用関数を用いて、MOMAPF ソルバにおける候補経路を評価する。
【0109】
2回目以降の反復では、直近のステップ412で生成された新たな効用関数を用いて MOMAPF ソルバが実行される。したがって、候補経路は、新たな効用関数を使用して評価される。
【0110】
複数の MOMAPF 問題を解決することは時間がかかる可能性があるため、ユーザは MOMAPF ソルバの複数の実行を待ちたくない場合があることに留意されたい。したがって、いくつかの実装形態では、車両情報60及び地図情報70を取得した後、経路探索装置は、ユーザの好みの誘出と同期することなくユーザに提案できる可能な効用関数の各々について MOMAPF 問題の解を計算することができる。そうすることによって、MOMAPF 問題の解は、予め可能な効用関数の各々について準備することができる。
【0111】
したがって、MOMAPF ソルバが新たな効用関数で実行される場合、MOMAPF ソルバは、新たな効用関数に対応する解が既に用意されているか否かをまず判定することができる。解が用意されている場合、MOMAPF ソルバは、その時点で MOMAPF 問題の解を出すことなく、用意された解が記憶されている記憶装置からそれを取り出すことによって、準備された解を提供する。一方、解がまだ用意されていない場合、MOMAPF ソルバは、新たな効用関数を使用して MAPF 問題の解を出し、解を提供する。
【0112】
<候補経路集合の提供:S408>
候補提供部2060は、異なる効用関数を使用して生成された複数の経路集合40の候補を提供する(S408)。最初の反復では、MOMAPF 求解部2040は、構成の異なる効用関数を使用して MOMAPF ソルバを実行し、それにより経路集合40の複数の候補を得る。候補提供部2060は、これら複数の候補をユーザが互いに比較できるようにユーザに提供することができる。
【0113】
2回目以降の反復では、MOMAPF 求解部2040は、直近のステップ412で生成された新たな効用関数を使用して MOMAPF ソルバを実行し、それにより経路集合40の新たな候補を得る。次いで、ユーザに提供されるべき経路集合40の複数の候補は、前の反復においてユーザによって選択されなかった経路集合40の候補を、現在の反復において生成された経路集合40の新たな候補で置き換えることによって修正される。これにより、候補提供部2060は、前回の反復で選択された経路集合40の候補とともに、現在の反復で生成された経路集合40の新たな候補をユーザに提供するので、ユーザは、新たな候補と、先に選択された候補とを比較することができる。
【0114】
候補提供部2060は、ユーザが容易に互いを比較できるように、経路集合40の複数の候補を視覚的に提供することが好ましい。
図15は、経路集合40の複数の候補の視覚的な提供を示す。ウィンドウ110は、ユーザが見ることができるディスプレイ装置、例えば、ユーザのモバイル機器や PC などのディスプレイ装置に表示することができるウィンドウである。
図15において、効用関数は、効率性、安全性、及び平滑性の重み付きの和である式(7)で定義されるものとする。
【0115】
ウィンドウ110は、経路集合40の2つの候補を視覚的に示す。左側の候補は、「効率性(EF)、安全性(SA)、及び平滑性(SM)の重みがそれぞれ a1、b1、及び c1 である」構成の効用関数を使用して生成される。右側の候補は、「効率性(EF)、安全性(SA)、及び平滑性(SM)の重みがそれぞれ a2、b2、及び c2 である」構成の効用関数を使用して生成される。ウィンドウ110にはまた、総移動時間(経路集合40の効率性)、安全度、及び平滑度も表示されており、ユーザは、これらの値を考慮しながら、経路集合40の候補のいずれかを選択することができる。
【0116】
入力インタフェース120は2つのボタンを含み、左側のボタンは構成1を選択するのに使用し、右側のボタンは構成2を選択するのに使用する。ユーザは、その対応するボタンを押すことにより、経路集合40の候補のいずれかを選択することができる。
【0117】
<ユーザ選択の取得:S410>
嗜好誘出部2080は、ユーザの選択を取得する(S410)。どのオプションをユーザが選択したかを取得する様々な方法がある。例えば、
図15に例示する場合では、嗜好誘出部2080は、ユーザがどのボタンを押下したかを示す情報を取得する。
【0118】
<効用関数の生成:S412>
嗜好誘出部2080は、ユーザによる経路集合40の候補の選択に基づいて、新たな効用関数を生成する。具体的には、嗜好誘出部2080は、ユーザによる経路集合40の候補の選択に基づいて、効用関数の新たな構成を決定し、決定した構成の効用関数を生成する。
【0119】
経路集合40の候補についてのユーザの選択に基づいて、効用関数の構成を決定するには様々な方法がある。いくつかの実装形態では、嗜好誘出部2080は、ベイズ最適化を使用して効用関数の構成を決定する。例えば、非特許文献3又は非特許文献4に開示されているガウス過程によるベイズ最適化を用いてもよい。より正確には、ガウスプロビットモデル(非特許文献3及び非特許文献4)を優先度学習に使用することができる。この場合、嗜好誘出部2080は、現在の反復のステップS410でユーザが選択した経路集合40の候補の生成に使用した効用関数の構成を取得し、取得した効用関数の構成を入力として使用するガウス過程によるベイズ最適化を実行する。そして、嗜好誘出部2080は、ベイズ最適化の出力として効用関数の新たな構成を取得し、取得した新たな構成を用いて新たな効用関数を生成する。ガウス過程によるベイズ最適化では、Matern カーネルが一般的に使用される。しかしながら、どのような種類のカーネルが嗜好誘出部2080によって使用されてもよい。また、一般的に使用することができる取得関数(acquisition function)は、Upper Confidence Bound である。
【0120】
<嗜好誘出の終了:S414>
経路探索装置2000は、終了条件が満たされた場合、経路集合40を出力する。終了条件に含めることができる条件には様々なものがある。例えば、終了条件には、「反復回数が予め定義された閾値に達する」という条件を含んでもよい。この場合、経路探索装置2000は、ステップS414が予め定義された回数を超えた場合、経路集合40を出力する。
【0121】
これに代えて、又はこれに加えて、終了条件には、「生成モデルが収束に達する」という条件を含めることができる。なお、生成モデルが収束に達するか否かを判定する公知の様々な手法があり、そのうちの1つの手法を使用して生成モデルが収束に達したか否かを判定することができる。
【0122】
<結果の出力>
終了条件が満たされた後(S414:YES)、経路探索装置2000は、ユーザの最新の選択肢である経路集合40の候補を経路集合40として示す、出力情報を出力する。出力情報の出力方法については、実施形態1で既に説明した。
【0123】
実施の形態を参照して本開示を説明したが、本開示は上述の実施の形態に限定されるものではない。本開示の構成や詳細には、本開示のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0124】
本開示におけるプログラムは、コンピュータに読み込まれた場合に、実施形態で説明された1又はそれ以上の機能をコンピュータに行わせるための命令群(又はソフトウェアコード)を含む。プログラムは、非一時的なコンピュータ可読媒体又は実体のある記憶媒体に格納されてもよい。限定ではなく例として、コンピュータ可読媒体又は実体のある記憶媒体は、random-access memory(RAM)、read-only memory(ROM)、フラッシュメモリ、solid-state drive(SSD)又はその他のメモリ技術、CD-ROM、digital versatile disc(DVD)、Blu-ray(登録商標)ディスク又はその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又はその他の磁気ストレージデバイスを含む。プログラムは、一時的なコンピュータ可読媒体又は通信媒体上で送信されてもよい。限定ではなく例として、一時的なコンピュータ可読媒体又は通信媒体は、電気的、光学的、音響的、またはその他の形式の伝搬信号を含む。
【0125】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
<付記>
(付記1)
経路探索装置であって、
少なくとも1つのプロセッサと、
命令を記憶するメモリと、を備え、
前記少なくとも1つのプロセッサは、前記命令を実行して、
車両情報及び地図情報を取得し、前記車両情報は複数の車両の各々について開始位置と目標位置の組を示し、前記地図情報は前記車両が移動する空間の地図を示し、
前記車両情報と前記地図情報とを使用して、前記車両の各々について経路を含む経路集合を決定し、前記経路集合の前記経路は互いに競合しないように構成され、
前記経路集合の前記決定は、経路計画アルゴリズムを実行して前記車両の各々について前記経路を生成することを含み、前記経路計画アルゴリズムは、複数の目的が前記経路によって最適化される度合いを表すスカラー値である前記経路の効用スコアに基づいて、前記経路を評価する、経路探索装置。
(付記2)
前記経路集合の前記決定は、メタヒューリスティックアルゴリズムによって実装される前記経路計画アルゴリズムを実行することによって低レベル探索が実行される、コンフリクトベース探索アルゴリズムの修正版を実行することを含む、
付記1に記載の経路探索装置。
(付記3)
前記経路計画アルゴリズムは、効用関数を使用して前記対象経路の前記効用スコアを計算し、
前記効用関数は、複数の目的項の重み付き和として定義され、各前記目的項は、その目的項に対応する前記目的が前記経路によって最適化される度合いを表す、
付記1又は付記2に記載の経路探索装置。
(付記4)
前記複数の目的は、前記経路の効率性、前記経路の安全性、前記経路の平滑性、又はそれらの2つ以上を含む、
付記3に記載の経路探索装置。
(付記5)
前記経路計画アルゴリズムは、効用関数を使用して前記対象経路の前記効用スコアを計算し、
前記経路集合の前記決定は、
選択可能な手段で前記経路集合の複数の候補をユーザに提供することと、
前記ユーザが選択した前記経路集合の前記候補を示す情報を取得することと、
前記経路集合の前記選択された候補に基づいて新たな効用関数を生成することと、
前記新たな効用関数を使用して前記経路集合の新たな候補を決定することと、
前記ユーザに提供すべき前記経路集合の前記複数の候補のうちの1つを、前記経路集合の前記新たな候補に置き換えることと、
を、終了条件が満たされるまで繰り返し実行することを含む、付記1から付記4のいずれか一項に記載の経路探索装置。
(付記6)
前記新たな効用関数の前記生成は、
前記ユーザが最後に選択した前記経路集合の前記候補を生成するのに使用された前記効用関数の構成を入力として使用するガウス過程によるベイズ最適化を実行し、それによって前記効用関数の新たな構成を取得することと、
前記取得された新たな構成を用いて前記新たな効用関数を生成することと、
をさらに含む、付記5に記載の経路探索装置。
(付記7)
車両情報と地図情報を取得することを含み、前記車両情報は複数の車両の各々について開始位置と目標位置の組を示し、前記地図情報は前記車両が移動する空間の地図を示し、
前記車両情報と前記地図情報を使用する前記車両の各々についての経路を含む経路集合を決定することを含み、前記経路集合の前記経路は互いに競合せず、
前記経路集合の前記決定は、経路計画アルゴリズムを実行して、前記車両の各々について前記経路を生成することを含み、前記経路計画アルゴリズムは複数の目的が前記経路によって最適化される度合いを表すスカラー値である前記経路の効用スコアに基づいて、前記経路を評価する、
コンピュータにより実行される制御方法。
(付記8)
前記経路集合の前記決定は、メタヒューリスティックアルゴリズムが実装する前記経路計画アルゴリズムを実行することによって、低レベル探索を実行するコンフリクトベース探索アルゴリズムの修正版を実行することを含む、
付記7に記載の制御方法。
(付記9)
前記経路計画アルゴリズムは、効用関数を使用して前記対象経路の前記効用スコアを計算し、
前記効用関数は、複数の目的項の重み付き和として定義され、各前記目的項は、その目的項に対応する前記目的が前記経路によって最適化される度合いを表す、
付記7又は付記8に記載の制御方法。
(付記10)
前記複数の目的は、前記経路の効率性、前記経路の安全性、前記経路の平滑性、又はそれらの2つ以上を含む、
付記9に記載の制御方法。
(付記11)
前記経路計画アルゴリズムは、効用関数を使用して前記対象経路の前記効用スコアを計算し、
前記経路集合の前記決定は、
選択可能な手段で前記経路集合の複数の候補をユーザに提供することと、
前記ユーザが選択した前記経路集合の前記候補を示す情報を取得することと、
前記経路集合の前記選択された候補に基づいて新たな効用関数を生成することと、
前記新たな効用関数を使用して前記経路集合の新たな候補を決定することと、
前記ユーザに提供すべき前記経路集合の前記複数の候補のうちの1つを、前記経路集合の前記新たな候補に置き換えることと、
を、終了条件が満たされるまで繰り返し実行することを含む、付記7から付記10のいずれか一項に記載の制御方法。
(付記12)
前記新たな効用関数の前記生成は、
前記ユーザが最後に選択した前記経路集合の前記候補を生成するのに使用される前記効用関数の構成を入力として使用するガウス過程によるベイズ最適化を実行し、それによって前記効用関数の新たな構成を取得することと、
前記取得した新たな構成を用いて前記新たな効用関数を生成することと、
をさらに含む、付記11に記載の制御方法。
(付記13)
コンピュータに、
車両情報と地図情報を取得することを実行させ、前記車両情報は複数の車両の各々について開始位置と目標位置の組を示し、前記地図情報は前記車両が移動する空間の地図を示し、
前記車両情報と前記地図情報を使用して、前記車両の各々について経路を含む経路集合を決定することを実行させ、前記経路集合の前記経路は互いに競合せず、
前記経路集合の前記決定は、経路計画アルゴリズムを実行して前記車両の各々について前記経路を生成することを含み、前記経路計画アルゴリズムは、前記経路によって複数の目的が達成される度合いを表すスカラー値である前記経路の効用スコアに基づいて、前記経路を評価する、
プログラムを記憶する非一時的コンピュータ可読記憶媒体。
(付記14)
前記経路集合の前記決定は、メタヒューリスティックアルゴリズムが実装する前記経路計画アルゴリズムを実行することによって低レベル探索が実行されるコンフリクトベース探索アルゴリズムの修正版を実行することを含む、
付記13に記載の記憶媒体。
(付記15)
前記経路計画アルゴリズムは、効用関数を使用して前記対象経路の前記効用スコアを計算し、
前記効用関数は、複数の目的項の重み付き和として定義され、各前記目的項は、その目的項に対応する前記目的が前記経路によって最適化される度合いを表す、
付記13又は付記14に記載の記憶媒体。
(付記16)
前記複数の目的は、前記経路の効率性、前記経路の安全性、前記経路の平滑性、又はそれらの2つ以上を含む、
付記15に記載の記憶媒体。
(付記17)
前記経路計画アルゴリズムは、効用関数を使用して前記対象経路の前記効用スコアを計算し、
前記経路集合の前記決定は、
選択可能な手段で前記経路集合の複数の候補をユーザに提供することと、
前記ユーザが選択した前記経路集合の前記候補を示す情報を取得することと、
前記経路集合の前記選択された候補に基づいて新たな効用関数を生成することと、
前記新たな効用関数を使用して前記経路集合の新たな候補を決定することと、
前記ユーザに提供すべき前記経路集合の前記複数の候補のうちの1つを、前記経路集合の前記新たな候補に置き換えることと、
を、終了条件が満たされるまで繰り返し実行することを含む、付記13から付記16のいずれか一項に記載の記憶媒体。
(付記18)
前記新たな効用関数の前記生成は、
前記ユーザが最後に選択した前記経路集合の前記候補を生成するのに使用される前記効用関数の構成を入力として使用するガウス過程によるベイズ最適化を実行し、それによって前記効用関数の新たな構成を取得することと、
前記取得した新たな構成を用いて前記新たな効用関数を生成することと、
をさらに含む、付記17に記載の記憶媒体。
【0126】
本出願は、2021年12月8日に出願された日本特許出願第2021-198987号を基礎とする優先権の利益を主張し、その開示は参照によりその全体が本明細書に組み込まれる。
【符号の説明】
【0127】
10 車両集合
20 車両
30 エンティティ
40 経路集合
50 経路
60 車両情報
70 地図情報
80 候補経路
90 位置
100 ウェイポイント
110 ウィンドウ
120 入力インタフェース
1000 コンピュータ
1020 バス
1040 プロセッサ
1060 メモリ
1080 ストレージデバイス
1100 入出力インタフェース
1120 ネットワークインタフェース
2000 経路探索装置
2020 取得部
2040 MOMAPF 求解部
2060 候補提供部
2080 嗜好誘出部
【手続補正書】
【提出日】2024-05-30
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
車両情報及び地図情報を取得し、
前記車両情報は複数の車両の各々について開始位置と目標位置の組を示し、前記地図情報は前記車両が移動する空間の地図を示し、
前記車両情報と前記地図情報とを使用して、前記車両の各々について経路を含む経路集合を決定し、
前記経路集合の前記経路は互いに競合
せず、
前記経路集合の前記決定は、経路計画アルゴリズムを実行して前記車両の各々について前記経路を生成することを含み、
前記経路計画アルゴリズムは、複数の目的が前記経路によって最適化される度合いを表すスカラー値である前記経路の効用スコアに基づいて、前記経路を評価する、経路探索装置。
【請求項2】
前記経路集合の前記決定は、メタヒューリスティックアルゴリズムによって実装される前記経路計画アルゴリズムを実行することによって低レベル探索が実行される、コンフリクトベース探索アルゴリズムの修正版を実行することを含む、
請求項1に記載の経路探索装置。
【請求項3】
前記経路計画アルゴリズムは、効用関数を使用して前記対象経路の前記効用スコアを計算し、
前記効用関数は、複数の目的項の重み付き和として定義され、
各前記目的項は、その目的項に対応する前記目的が前記経路によって最適化される度合いを表す、
請求項1又は請求項2に記載の経路探索装置。
【請求項4】
前記複数の目的は、前記経路の効率性、前記経路の安全性、前記経路の平滑性、又はそれらの2つ以上を含む、
請求項3に記載の経路探索装置。
【請求項5】
前記経路計画アルゴリズムは、効用関数を使用して前記対象経路の前記効用スコアを計算し、
前記経路集合の前記決定は、
選択可能な手段で前記経路集合の複数の候補をユーザに提供することと、
前記ユーザが選択した前記経路集合の前記候補を示す情報を取得することと、
前記経路集合の前記選択された候補に基づいて新たな効用関数を生成することと、
前記新たな効用関数を使用して前記経路集合の新たな候補を決定することと、
前記ユーザに提供すべき前記経路集合の前記複数の候補のうちの1つを、前記経路集合の前記新たな候補に置き換えることと、
を、終了条件が満たされるまで繰り返し実行することを含む、請求項1から請求項4のいずれか一項に記載の経路探索装置。
【請求項6】
前記新たな効用関数の前記生成は、
前記ユーザが最後に選択した前記経路集合の前記候補を生成するのに使用された前記効用関数の構成を入力として使用するガウス過程によるベイズ最適化を実行し、それによって前記効用関数の新たな構成を取得することと、
前記取得された新たな構成を用いて前記新たな効用関数を生成することと、
をさらに含む、請求項5に記載の経路探索装置。
【請求項7】
車両情報と地図情報を取得することを含み、
前記車両情報は複数の車両の各々について開始位置と目標位置の組を示し、
前記地図情報は前記車両が移動する空間の地図を示し、
前記車両情報と前記地図情報を使用する前記車両の各々についての経路を含む経路集合を決定することを含み、
前記経路集合の前記経路は互いに競合せず、
前記経路集合の前記決定は、経路計画アルゴリズムを実行して、前記車両の各々について前記経路を生成することを含み、
前記経路計画アルゴリズムは複数の目的が前記経路によって最適化される度合いを表すスカラー値である前記経路の効用スコアに基づいて、前記経路を評価する、
コンピュータにより実行される制御方法。
【請求項8】
前記経路集合の前記決定は、メタヒューリスティックアルゴリズムが実装する前記経路計画アルゴリズムを実行することによって、低レベル探索を実行するコンフリクトベース探索アルゴリズムの修正版を実行することを含む、
請求項7に記載の制御方法。
【請求項9】
車両情報と地図情報を取得することを
コンピュータに実行させ、
前記車両情報は複数の車両の各々について開始位置と目標位置の組を示し、
前記地図情報は前記車両が移動する空間の地図を示し、
前記車両情報と前記地図情報を使用して、前記車両の各々について経路を含む経路集合を決定することを
前記コンピュータに実行させ、
前記経路集合の前記経路は互いに競合せず、
前記経路集合の前記決定は、経路計画アルゴリズムを実行して前記車両の各々について前記経路を生成することを含み、
前記経路計画アルゴリズムは、前記経路によって複数の目的が達成される度合いを表すスカラー値である前記経路の効用スコアに基づいて、前記経路を評価する、
プログラ
ム。
【請求項10】
前記経路集合の前記決定は、メタヒューリスティックアルゴリズムが実装する前記経路計画アルゴリズムを実行することによって低レベル探索が実行されるコンフリクトベース探索アルゴリズムの修正版を実行することを含む、
請求項
9に記載の
プログラム。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0090
【補正方法】変更
【補正の内容】
【0090】
<結果の出力>
MOMAPF 求解部2040は、MOMAPF ソルバが解く MOMAPF 問題の解として、経路集合40を取得する。経路探索装置2000は、経路集合40を示す情報(以下、出力情報)を出力することができる。出力情報を出力するには、様々な方法がある。いくつかの実装形態では、経路探索装置2000は、出力情報を記憶装置に格納することができる。他の実装形態では、経路探索装置2000は、ディスプレイ装置が出力情報を表示するように、出力情報をディスプレイ装置に出力することができる。この場合、ディスプレイ装置は、地図情報70が示す地図、車両情報60が示す各車両20の開始位置及び目標位置、及び経路集合40に含まれる各車両20の経路50を表示することができる。他の実装形態では、経路探索装置2000は、何らかの方法で経路集合を使用する任意のコンピュータに出力情報を送信することができる。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0098
【補正方法】変更
【補正の内容】
【0098】
<機能構成例>
図13は、実施形態2に係る経路探索装置2000の機能構成の一例を示すブロック図である。実施形態2の経路探索装置2000は、実施形態1の経路探索装置2000と比較して、候補提供部2060及び嗜好誘出部2080をさらに含む。候補提供部2060は、MOMAPF 問題の解として取得された2つ以上の経路集合40の候補を、異なる効用関数を使用して、選択可能な手段で、ユーザに提供する。嗜好誘出部2
080は、ユーザがどの経路集合40の候補を選択したかを示す情報を取得し、ユーザの選択に基づいて新たな効用関数を生成する。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0109
【補正方法】変更
【補正の内容】
【0109】
2回目以降の反復では、直近のステップS412で生成された新たな効用関数を用いて MOMAPF ソルバが実行される。したがって、候補経路は、新たな効用関数を使用して評価される。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0111
【補正方法】変更
【補正の内容】
【0111】
したがって、MOMAPF ソルバが新たな効用関数で実行される場合、MOMAPF ソルバは、新たな効用関数に対応する解が既に用意されているか否かをまず判定することができる。解が用意されている場合、MOMAPF ソルバは、その時点で MOMAPF 問題の解を出すことなく、用意された解が記憶されている記憶装置からそれを取り出すことによって、準備された解を提供する。一方、解がまだ用意されていない場合、MOMAPF ソルバは、新たな効用関数を使用して MOMAPF 問題の解を出し、解を提供する。
【国際調査報告】