(57)【要約】【課題】移動経路の通行推奨度が設定された空間において、通行推奨度を考慮した移動経路を作成することが可能な技術を提供すること。【解決手段】ノード間を結ぶ線分を接続することで、移動体が出発地から目的地まで移動する際の移動経路を作成する経路作成装置であって、空間内に含まれる１以上のエリアと、該１以上のエリアの各々に適用される多値の重み値とが対応づけられて格納されるエリア情報を記憶する記憶部と、エリア情報に含まれる重み値に基づいて目的地までの移動経路を作成する移動経路作成部と、を有する経路作成装置を提供する。【選択図】図５
2020034388.tif 000002
【特許請求の範囲】
【請求項１】
ノード間を結ぶ線分を接続することで、移動体が出発地から目的地まで移動する際の移動経路を作成する経路作成装置であって、
空間内に含まれる１以上のエリアと、該１以上のエリアの各々に適用される多値の重み値とが対応づけられて格納されるエリア情報を記憶する記憶部と、
前記空間内に配置した第１地点と、前記出発地を含むノード群の中から選択した、前記第１地点に近接する近接ノードから前記第１地点に向かって所定の距離移動した第２地点に所定の配置確率に基づき新ノードを配置し、
前記近接ノードから前記新ノードまでを線分で結ぶことを繰り返すことで前記目的地までの移動経路を作成するか、又は、
前記出発地を含むノード群の中で前記新ノードを基準とする所定の範囲に存在する１以上の候補ノードのうち、前記出発地からの移動経路のコストが小さい候補ノードと前記新ノードとを線分で結ぶことを繰り返すことで前記目的地までの移動経路を作成する、
移動経路作成部と、
を有し、
前記移動経路作成部は、前記エリア情報に含まれる重み値に基づいて、前記所定の距離、前記所定の配置確率、前記第１地点に近接する近接ノードの選択基準、前記所定の範囲の大きさ、及び、前記出発地から前記１以上の候補ノードの各々までの移動経路のコストのうち少なくとも１つを調整する、
経路作成装置。
【請求項２】
前記１以上のエリアの各々に適用される多値の重み値は、１以上のエリアの各々における移動体の通行が推奨される度合いを示す、
請求項１に記載の経路作成装置。
【請求項３】
前記移動経路作成部は、前記近接ノードから前記新ノードまでを結ぶ線分が通過するエリアにおける移動体の通行が推奨される度合いが低いほど、前記所定の距離が短くなるように調整する、
請求項２に記載の経路作成装置。
【請求項４】
前記移動経路作成部は、前記新ノードを配置する場合に、移動体の通行が推奨される度合いが低いエリアほど、前記所定の配置確率が低くなるように調整する、
請求項２又は３に記載の経路作成装置。
【請求項５】
前記移動経路作成部は、前記空間内に含まれる１以上のエリア内に存在するノードについて、
該ノードが存在するエリアにおける移動体の通行が推奨される度合いが低いほど、又は、
該ノードと前記第１地点との間に存在するエリアにおける移動体の通行が推奨される度合いが低いほど、
前記第１地点からの距離が遠いと判定するように、前記第１地点に近接する近接ノードの選択基準を調整する、
請求項２乃至４のいずれか一項に記載の経路作成装置。
【請求項６】
前記移動経路作成部は、前記新ノードが存在するエリアにおける移動体の通行が推奨される度合いが低いほど、前記所定の範囲の大きさが小さくなるように調整する、
請求項２乃至５のいずれか一項に記載の経路作成装置。
【請求項７】
前記移動経路作成部は、前記出発地から前記１以上の候補ノードの各々までの移動経路のコストについて、移動経路が通過するエリアにおける移動体の通行が推奨される度合いが低いほどコストが大きくなるように、移動経路のコストを調整する、
請求項２乃至６のいずれか一項に記載の経路作成装置。
【請求項８】
前記目的地は、複数の点の集合における任意の地点である、
請求項１乃至７のいずれか一項に記載の経路作成装置。
【請求項９】
前記１以上のエリアの各々に適用される多値の重み値は、前記近接ノードから前記新ノードまでを結ぶ線分がエリアに進入する際の方向ごとに又は進入角度に応じて設定され、
前記移動経路作成部は、前記新ノードを設定する場合に、前記近接ノードから前記新ノードまでを結ぶ線分が前記エリア情報に格納されるいずれかのエリアに進入する場合、線分が該エリアに侵入する方向又は進入角度に対応する重み値に応じて、前記近接ノードから前記新ノードまでを結ぶ線分が短くなるように前記新ノードの位置を設定する、
請求項２乃至８のいずれか一項に記載の経路作成装置。
【請求項１０】
ノード間を結ぶ線分を接続することで、移動体が出発地から目的地まで移動する際の移動経路を作成する経路作成装置が実行する経路作成方法であって、
空間内に含まれる１以上のエリアと、該１以上のエリアの各々に適用される多値の重み値とが対応づけられて格納されるエリア情報を記憶部に記憶する記憶ステップと、
前記空間内に配置した第１地点と、前記出発地を含むノード群の中から選択した、前記第１地点に近接する近接ノードから前記第１地点に向かって所定の距離移動した第２地点に所定の配置確率に基づき新ノードを配置し、
前記近接ノードから前記新ノードまでを線分で結ぶことを繰り返すことで前記目的地までの移動経路を作成するか、又は、
前記出発地を含むノード群の中で前記新ノードを基準とする所定の範囲に存在する１以上の候補ノードのうち、前記出発地からの移動経路のコストが小さい候補ノードと前記新ノードとを線分で結ぶことを繰り返すことで前記目的地までの移動経路を作成する、
移動経路作成ステップと、
を有し、
前記移動経路作成ステップは、前記エリア情報に含まれる重み値に基づいて、前記所定の距離、前記所定の配置確率、前記第１地点に近接する近接ノードの選択基準、前記所定の範囲の大きさ、及び、前記出発地から前記１以上の候補ノードの各々までの移動経路のコストのうち少なくとも１つを調整する、
経路作成方法。
【請求項１１】
ノード間を結ぶ線分を接続することで、移動体が出発地から目的地まで移動する際の移動経路を作成するコンピュータを、
空間内に含まれる１以上のエリアと、該１以上のエリアの各々に適用される多値の重み値とが対応づけられて格納されるエリア情報を記憶する記憶部と、
前記空間内に配置した第１地点と、前記出発地を含むノード群の中から選択した、前記第１地点に近接する近接ノードから前記第１地点に向かって所定の距離移動した第２地点に所定の配置確率に基づき新ノードを配置し、
前記近接ノードから前記新ノードまでを線分で結ぶことを繰り返すことで前記目的地までの移動経路を作成するか、又は、
前記出発地を含むノード群の中で前記新ノードを基準とする所定の範囲に存在する１以上の候補ノードのうち、前記出発地からの移動経路のコストが小さい候補ノードと前記新ノードとを線分で結ぶことを繰り返すことで前記目的地までの移動経路を作成する、
移動経路作成部と、
して機能させ、
前記移動経路作成部は、前記エリア情報に含まれる重み値に基づいて、前記所定の距離、前記所定の配置確率、前記第１地点に近接する近接ノードの選択基準、前記所定の範囲の大きさ、及び、前記出発地から前記１以上の候補ノードの各々までの移動経路のコストのうち少なくとも１つを調整する、
経路作成プログラム。
【請求項１２】
請求項１乃至９のいずれか一項に記載の経路作成装置が作成する前記移動経路を含む地図データを生成する地図データ生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、経路作成装置、経路作成方法、経路作成プログラム及び地図データ製造方法に関する。
【背景技術】
【０００２】
従来から、移動経路を決定するアルゴリズムとして、ＲＲＴ（Rapidly-exploring Random Tree）及びＲＲＴ*（Rapidly-exploring Random Tree）が知られている。ＲＲＴ及びＲＲＴ*は、自由空間において障害物との衝突を避けつつ移動経路を作成することが可能なアルゴリズムであり、工業用ロボットアーム等の移動経路を決定するために用いられている。特許文献１には、ＲＲＴを自動車の走行経路作成に利用する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１１３４８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
移動経路を決定する際、単純に障害物を避けることのみならず、移動経路として利用可能ではあるものの、できれば移動経路として利用されることを回避したいといったエリアを設定したい場合が考えらえる。例えば、ドローンの飛行経路を決定する場合、ドローンの飛行が禁止されているのではないが、なるべくドローンの飛行を回避させたいエリアというように、空間内に通行推奨度を設定したいという場合が考えられる。
【０００５】
しかしながら、従来のＲＲＴ及びＲＲＴ*では、障害物のように通行可／不可という２値の情報を考慮して経路探索することは可能であるが、できれば移動経路として利用されることを回避したいといったエリアのように、中間的な扱いのエリアを含む空間にて移動経路を決定することはできない。
【０００６】
そこで、本発明の一態様は、移動経路の通行推奨度が設定された空間において、通行推奨度を考慮した移動経路を作成することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様に係る経路作成装置は、ノード間を結ぶ線分を接続することで、移動体が出発地から目的地まで移動する際の移動経路を作成する経路作成装置であって、空間内に含まれる１以上のエリアと、該１以上のエリアの各々に適用される多値の重み値とが対応づけられて格納されるエリア情報を記憶する記憶部と、空間内に配置した第１地点と、出発地を含むノード群の中から選択した、第１地点に近接する近接ノードから第１地点に向かって所定の距離移動した第２地点に所定の配置確率に基づき新ノードを配置し、近接ノードから新ノードまでを線分で結ぶことを繰り返すことで目的地までの移動経路を作成するか、又は、出発地を含むノード群の中で新ノードを基準とする所定の範囲に存在する１以上の候補ノードのうち、出発地からの移動経路のコストが小さい候補ノードと新ノードとを線分で結ぶことを繰り返すことで目的地までの移動経路を作成する、移動経路作成部と、を有し、移動経路作成部は、エリア情報に含まれる重み値に基づいて、所定の距離、所定の配置確率、第１地点に近接する近接ノードの選択基準、所定の範囲の大きさ、及び、出発地から１以上の候補ノードの各々までの移動経路のコストのうち少なくとも１つを調整する。
【発明の効果】
【０００８】
本発明の一態様によれば、移動経路の通行推奨度が設定された空間において、通行推奨度を考慮した移動経路を作成することが可能な技術を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る移動管理システム１の一例を示す図である。
【図２】ＲＲＴアルゴリズムを説明するための図である。
【図３】ＲＲＴ*アルゴリズムを説明するための図である。
【図４】経路生成装置のハードウェア構成例を示す図である。
【図５】経路生成装置の機能ブロック構成例を示す図である。
【図６】エリア情報の一例を示す図である。
【図７】経路生成装置が経路を生成する空間の一例を示す図である。
【図８】アルゴリズム１による経路生成方法の一例を説明するための図である。
【図９】アルゴリズム１による経路生成方法の一例を説明するための図である。
【図１０】アルゴリズム２による経路生成方法の一例を説明するための図である。
【図１１】アルゴリズム４による経路生成方法の一例を説明するための図である。
【図１２】変形例を説明するための図である。
【発明を実施するための形態】
【００１０】
添付図面を参照して、本発明の好適な実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【００１１】
＜システム構成＞
図１は、実施形態に係る移動管理システム１の一例を示す図である。移動管理システム１は、経路生成装置１０と移動体２０とを含む。図１には移動体２０が複数図示されているが、移動管理システム１に含まれる移動体２０の数は１つでもよい。経路生成装置１０と移動体２０とは、通信ネットワークＮにより相互に通信することができる。通信ネットワークＮは、基本的に無線ネットワークを想定しているが、有線ネットワークが含まれていてもよい。
【００１２】
経路生成装置１０は、空間内において移動体２０が通るべき経路を生成する装置である。経路生成装置１０は、サーバ、パーソナルコンピュータ（ＰＣ）、ノートＰＣ、スマートフォン、タブレット端末、携帯電話機、携帯情報端末（ＰＤＡ）、家庭用ゲーム機器など、どのような情報処理装置であってもよい。また、経路生成装置１０は、１又は複数の情報処理装置から構成されていてもよい。なお、経路生成装置１０が生成する経路は、２次元空間の経路又は３次元空間の経路のいずれであってもよく、理論上は４次元以上の空間の経路であってもよい。
【００１３】
移動体２０は、例えばドローンやヘリコプター等の飛行体、車両及びロボット等であり、経路生成装置１０により生成された移動経路に従って出発地から目的地まで移動する。
【００１４】
経路生成装置１０が経路を生成する空間内には、移動体２０の通行が禁止されるエリアと、移動体２０の通行をなるべく回避させたいエリアと、移動体２０が自由に通行可能なエリアとが存在する。移動体２０の通行が禁止されるエリアとは、例えば建物等の障害物が存在するエリアや、飛行禁止エリア等である。移動体２０の通行をなるべく回避させたいエリアとは、例えば、多数の移動体２０が通行するような空間において、少量の移動体２０が通行することは許容されるが、多数の移動体２０が自由に通行することは回避したいようなエリアである。
【００１５】
本実施形態では、これらのエリアを、エリア内における移動体２０の通行が推奨される度合いを示す多値の重み値（以下、「通行推奨度」と言う。）により表現する。通行推奨度は、例えば０％〜１００％までの値で表現される。またエリアに与えられた通行推奨度は、時間、天候、周囲の飛行体の数・状態などの外的要因により変化してもよい。移動体２０の通行が禁止されるエリアの通行推奨度は０％に設定され、移動体２０が自由に通行可能なエリアの通行推奨度は１００％に設定される。移動体２０の通行をなるべく回避させたいエリアの通行推奨度は、どの程度通行を回避させたいのかの度合いに応じて設定される。例えば、通行推奨度が７０％であれば、移動体２０の通行がある程度許容されるエリアを意味し、例えば、通行推奨度が２０％であれば、移動体２０の通行があまり許容されないエリアを意味する。また、特に優先的に通行させたいエリアについては、１００％を超える通行推奨度（例えば１２０％等）を与えてもよい。
【００１６】
なお、通行推奨度の表現方法はあくまで一例であり、パーセントによる表現に限定されるものではない。例えば、通行推奨度を、０（通行禁止）〜１（自由に通行可能）の値で表現するようにしてもよい。或いは、通行推奨度を、１００％（通行禁止）〜０％（自由に通行可能）の値で表現するようにしてもよいし、通行推奨度を、１（通行禁止）〜０（自由に通行可能）の値で表現するようにしてもよい。
【００１７】
空間に存在するエリアごとの通行推奨度は、経路生成装置１０が保持する「エリア情報」に含まれる。エリア情報には、１以上のエリアと、当該１以上のエリアの各々に適用される通行推奨度とが対応づけられており、経路生成装置１０は、経路を生成する際、エリア情報を参照することでエリアごとの通行推奨度を考慮しながら経路生成を行う。
【００１８】
経路生成装置１０は、ＲＲＴアルゴリズム又はＲＲＴ*アルゴリズムを用いて経路を生成する。まず既存のＲＲＴのアルゴリズムを用いて２次元空間に経路を作成する方法を、図２に示す例を用いて説明する。なお、図２では、説明の便宜上２次元空間を例に説明するが、本実施形態が２次元空間に限定されることを意図しているのではない。本実施形態は、３次元空間や４次元空間又はそれ以上の多次元空間にも適用することができる。
【００１９】
ＲＲＴは、空間内に設定された地点（ノード）から所定の距離（Δq）進んだ地点に新たなノードを配置し、これらの２つのノード間を線分で繋ぐことを繰り返すことで、出発地から目的地までの経路を作成するアルゴリズムである。Δqは、インクリメンタルディスタンス（incremental distance）や、ステップサイズとも呼ばれる。図２において、Qinitは出発地であり、Qgoalは目的地である。なお、Qinitも、ノードの１つである。エリアＸは、移動体２０の通行が禁止されるエリアを示している。
【００２０】
まず、経路生成装置１０は、空間Ｓ内でランダムに地点Qrandを配置する（図２（ａ））。続いて、経路生成装置１０は、地点Qrandに最も近いノードQnearを選択する。図２（ａ）では、ノードはQinitしかないので、経路生成装置１０は、ノードQnearとしてQinitを選択する。続いて、経路生成装置１０は、Qinitから地点Qrandに向かう線分上において、QinitからΔq進んだ地点に新たなノードQnewを配置し（図２（ｂ））、QinitからQnewまでの間に線分Ｌを追加する（図２（ｃ））。
【００２１】
続いて、経路生成装置１０は、空間Ｓ内でランダムに次のQrandを配置し（図２（ｃ））、Qrandに最も近いノードQnearとしてQnewを選択する。続いて、経路生成装置１０は、Qnearから地点Qrandに向かう線分上において、QnearからΔq進んだ地点に新たなノードQnewを配置する（図２（ｄ））。このとき、ノードQnearからQrandまでの距離がΔq未満である場合、ノードQnearからΔq進んだ地点を新たなノードQnewとするようにしてもよいし、Qrandを新たなノードQnewとするようにしてもよい。
【００２２】
なお、図２（ｄ）の例では、Qnewは通行が禁止されるエリアＸに位置していることから、経路生成装置１０は、このQnewを破棄して、新たにQrandを配置する処理をやり直す。また、Qnewが、通行が禁止されるエリアＸに位置しない場合であっても、QnearからQnewまでの間に通行が禁止されるエリアＸが含まれる場合、経路生成装置１０は、このQnewを破棄して、新たにQrandを配置する処理をやり直す。Qnewが、通行が禁止されるエリアＸに位置せず、かつ、QnearからQnewまでの間に通行が禁止されるエリアＸが含まれない場合、QnearからQnewまでの間に線分を追加する。
【００２３】
経路生成装置１０は、これらの処理手順を、Qnew及びQgoalを結ぶ線分がエリアＸを通らず、かつ、当該線分が所定の距離以下になるという条件（条件１）、又は、Qnear及びQnewを結ぶ線分とQgoalとが所定の距離以下であり、かつ、QnearとQgoalとを結ぶ線分がエリアＸを通らないという条件（条件２）を満たすまで繰り返す（図２（ｅ））。条件１を満たした場合、経路生成装置１０は、QnewとQgoalとを線分で結ぶ。また、条件２を満たした場合、経路生成装置１０は、QnearとQgoalとを線分で結ぶ。これにより、QinitからQgoalまでの間に１本の経路が作成される。なお、ＲＲＴアルゴリズムには探索を終了する条件が規定されていないことから、経路生成装置１０は、以上説明した処理手順を繰り返すことで、他の経路を探索することも可能である。
【００２４】
次に、既存のＲＲＴ*アルゴリズムを用いて２次元空間に経路を作成する方法を、図３を用いて説明する。ＲＲＴ*アルゴリズムは、Qnewを配置するまでの手順についてはＲＲＴアルゴリズムと同一であるが、その後線分を追加する処理がＲＲＴアルゴリズムと異なる。
【００２５】
具体的には、経路生成装置１０は、Qnewを配置した後、Qnewを中心とした円で囲まれた所定の範囲内に存在するノードのうち、Qinitから各ノードまでのコストが最も小さいノード（Qmin）を選択し、QminからQnewまでの間に線分を追加する。なお、コストとは、線分全体の長さである。例えば、図３（ａ）の例では、Qnewを中心とした半径ｒの円Ｃ１内にノードＱ１、Ｑ２及びＱ３が含まれており、ノードＱ１からQnewまでのコストが最も小さい。従って、経路生成装置１０は、図３（ｂ）に示すように、ノードＱ１をQminとみなし、ノードＱ１（Qmin）からQnewまでの間に線分Ｌ１を追加する。
【００２６】
また、ＲＲＴ*アルゴリズムでは、QminからQnewまでの間に線分を追加した後、Qnewを中心とした円で囲まれた所定の範囲内に存在するノードのうち、Qnewを経由することでコストが下がるものがあれば、Qnewを経由するように線分を結線し直す。例えば図３（ａ）の例において、QinitからノードＱ３までコストは、図３（ａ）に図示されている経路よりも、Qnewを経由する経路とした方がコストが下がることになる。従って、経路生成装置１０は、図３（ｂ）に示すように、ノードＱ３とノードＱ４との間の線分を削除し、ノードＱ３とQnewとの間に線分Ｌ２を追加する。
【００２７】
ＲＲＴ*アルゴリズムにおいて、半径ｒには、予め定められる固定的な値、又は、Qnewを中心とした円の中に存在するノードの数に基づいて定められる値のうち小さい方の値が設定される。
【００２８】
＜ハードウェア構成＞
図４は、経路生成装置１０のハードウェア構成例を示す図である。経路生成装置１０は、ＣＰＵ（Central Processing Unit）１１、メモリ、ＨＤＤ（Hard Disk Drive）及び／又はＳＳＤ（Solid State Drive）等の記憶装置１２、有線又は無線通信を行う通信ＩＦ（Interface）１３、入力操作を受け付ける入力デバイス１４、及び情報の出力を行う出力デバイス１５を有する。入力デバイス１４は、例えば、キーボード、タッチパネル、マウス及び／又はマイク等である。出力デバイス１５は、例えば、ディスプレイ及び／又はスピーカ等である。
【００２９】
＜機能ブロック構成＞
図５は、経路生成装置１０の機能ブロック構成例を示す図である。経路生成装置１０は、ルート作成部１０１と、ルート出力部１０２と、記憶部１０３とを含む。ルート作成部１０１と、ルート出力部１０２とは、経路生成装置１０のＣＰＵ１１が、記憶装置１２に記憶されたプログラムを実行することにより実現することができる。また、当該プログラムは、記憶媒体に格納することができる。当該プログラムを格納した記憶媒体は、非一時的な記憶媒体（Non-transitory computer readable medium）であってもよい。非一時的な記憶媒体は特に限定されないが、例えば、ＵＳＢメモリ又はＣＤ−ＲＯＭ等の記憶媒体であってもよい。また、記憶部１０３は、経路生成装置１０が備える記憶装置１２を用いて実現することができる。
【００３０】
ルート作成部１０１は、ＲＲＴアルゴリズムを用いてノード間を結ぶ線分を順に接続することで、移動体が出発地から目的地まで移動する際の移動経路を作成する。具体的には、ルート作成部１０１は、空間内において第１配置確率に基づき配置した地点（以下、「配置地点（第１地点）」と言う。）と、出発地を含むノード群の中から選択した、配置地点に近接するノード（以下、「近接ノード」と言う。）から配置地点に向かって所定の距離移動した地点（第２地点）に、第２配置確率（所定の配置確率と称してもよい）に基づき新たなノード（以下、「新ノード」と言う。）を配置する。
【００３１】
また、ルート作成部１０１は、ＲＲＴアルゴリズムに従い、近接ノードと新ノードとを線分で結ぶことを繰り返すことで目的地までの移動経路を作成する。或いは、ルート作成部１０１は、ＲＲＴ*アルゴリズムに従い、出発地を含むノード群の中で新ノードを基準とする所定の範囲に存在する１以上のノード（以下、「候補ノード」と言う。）のうち、出発地からの移動経路のコストが小さい候補ノードと新ノードとを線分で結ぶことを繰り返すことで目的地までの移動経路を作成する。
【００３２】
ここで、第１配置確率は一様であってもよい（すなわちランダムであってもよい）。より具体的には、第１配置確率に基づき地点を決定することとは、ｎ次元空間における各軸の定義域内にて一様乱数を発生させることで、空間上の地点を決定することであってもよい。また、配置範囲を限定することで処理の高速化を狙うために、出発地と目的地を含む楕円体（又は球体）の中に限定して一様乱数を発生させることで空間上の地点を決定するようにしてもよい。その場合、直交する各座標軸において一様乱数を発生させることで決定される地点が所定楕円体（又は球体）に含まれる場合は当該地点を空間上の地点として決定し、含まれない場合は再度一様乱数を発生させる処理を繰り返すことで実現できる。または極座標の各軸の定義域に対して一様乱数を発生させることで空間上の地点を決定してもよい。
【００３３】
また、ルート作成部１０１は、出発地を含むノード群の中から近接ノードを選択する場合、線形探索を用いて選択するようにしてもよいし、Ｋｄ木のように高速に探索できる手法を用いて選択するようにしてもよい。
【００３４】
また、ルート作成部１０１は、ノード間を線分で結びながら移動経路を作成する際、エリア情報に含まれる通行推奨度に基づいて、所定の距離、所定の第２配置確率、配置地点に近接する近接ノードの選択基準、新ノードを基準とする所定の範囲の大きさ、及び、出発地から１以上の候補ノードの各々までの移動経路のコストのうち少なくとも１つを調整することで、移動体２０の通行が推奨されないエリアほど、線分が引かれにくくなるように制御する。
【００３５】
ルート出力部１０２は、ルート作成部１０１により作成された移動経路データを出力する。出力された移動経路データは移動体２０で読み込まれ、移動経路データを読み込んだ移動体２０は、移動経路データに従って出発地から目的地まで移動する。
【００３６】
記憶部１０３は、エリア情報を記憶する。図６にエリア情報の一例を示す。「エリア位置」には、空間内において、通行推奨度が設定されるエリアの位置を特定するための情報が格納される。エリアの位置はどのようなデータを用いて表現されていてもよい。例えば、緯度経度を用いて表現してもよいし、頂点座標データの集合により表現してもよいし、ポリゴンを用いて表現するようにしてもよいし、ｇｌＴＦ等の３Ｄ（３次元）データを用いて表現するようにしてもよい。「通行推奨度」には、０％〜１００％までの値が格納される。なお、移動体２０が自由に通行可能なエリア（通行推奨度が１００％のエリア）については、エリア情報から省略されていてもよい。
【００３７】
＜処理手順＞
続いて、経路生成装置１０が経路を作成する手順について具体的に説明する。なお、以下の説明では、説明の便宜上、２次元空間を用いて説明するが、これに限定されるものではない。本実施形態は、３次元空間において経路を作成する場合にも適用可能である。
【００３８】
図７は、経路生成装置１０が経路を生成する空間の一例を示す図である。図７に示す空間Ｓには、通行推奨度が０％であるエリアＡ１及びエリアＡ２、通行推奨度が４０％であるエリアＡ３、及び、通行推奨度が６０％であるエリアＡ４が設定されている。
【００３９】
経路生成装置１０のルート作成部１０１は、前述したＲＲＴアルゴリズム又はＲＲＴ*アルゴリズムの一部を変更することで、通行推奨度を考慮した経路作成を行う。具体的には、下記のアルゴリズム１〜アルゴリズム６のうちいずれか１つ又は複数を組み合わせることで経路作成を行う。なお、特に言及しない点は、図２を用いて説明した既存のＲＲＴアルゴリズム又はＲＲＴ*アルゴリズムに従う。
【００４０】
（アルゴリズム１）
ルート作成部１０１は、新ノード（Qnew）を配置する場合に、近接ノード（Qnear）から新ノード（Qnew）までを結ぶ線分が通過するエリアについて通行推奨度が低いほど、線分の長さが短くなるように新ノード（Qnew）の位置を配置する。
【００４１】
図８は、アルゴリズム１による経路生成方法の一例を説明するための図である。以下の説明において、パーセントは割合に換算して計算するものとする。つまり、例えばＸ×５０％とは、Ｘ×０．５であるとして計算する。
【００４２】
地点ｑは、近接ノード（Qnear）からΔq進んだ地点である。アルゴリズム１では、ルート作成部１０１は、近接ノード（Qnear）から配置地点（Qrand）に向けて、通過するエリアの通行推奨度に応じて進む距離を調整しながら線分を伸ばしていく。このとき、線分が伸びる長さは、通行推奨度が低いほど短くなる。つまり、近接ノード（Qnear）から地点ｑまでのエリアの中に、通行推奨度が１００％未満であるエリアが一部でも存在する場合、近接ノード（Qnear）から伸びる線分は地点ｑには到達せず、途中で停止することになる。
【００４３】
図８において、エリアＢ＿ｎ（ｎ＝１、２、３・・・Ｎ）は、近接ノード（Qnear）から配置地点（Qrand）に向かって伸びる線分が通過する１以上のエリアのうち、近接ノード（Qnear）に近い順にｎ番目のエリアを示している。また、エリアＢ＿ｎのうち近接ノード（Qnear）側の境界と、近接ノード（Qnear）と地点ｑを結ぶ線分とが交わる地点を境界（ｑ＿ｂｏｒｄｅｒ１＿ｎ）と呼ぶ。また、エリアＢ＿ｎのうち地点ｑ側の境界と、近接ノード（Qnear）と地点ｑを結ぶ線分とが交わる地点を境界（ｑ＿ｂｏｒｄｅｒ２＿ｎ）と呼ぶ。また、境界（ｑ＿ｂｏｒｄｅｒ１＿ｎ）から境界（ｑ＿ｂｏｒｄｅｒ２＿ｎ）までの距離をΔａｒｅａ（Ｂ＿ｎ）と呼ぶ。また、エリアＢ＿ｎの通行推奨度はＸ＿ｎ％である。ただし、ｎ＝１の場合、エリアＢ＿１の内部に近接ノード（Qnear）が含まれる場合もあり得る。そのため、ｎ＝１の場合、Δａｒｅａ（Ｂ＿１）は、近接ノード（Qnear）から境界（ｑ＿ｂｏｒｄｅｒ２＿ｎ）までの距離であるとする。
【００４４】
「ｒｅｓｔ」は、線分が伸びていく際の伸長力の余力を示す変数であり、初期値はΔqである。伸長力は、線分を伸ばす長さ÷通行推奨度で算出される値であり、通行推奨度が１００％であるエリア内で線分を長さＸ伸ばす場合の伸長力はＸである。一方、通行推奨度が５０％であるエリア内で線分を長さＸ伸ばす場合の伸長力は２Ｘになる。エリアを通過するごとに伸長力を減じていき、ｒｅｓｔが０になると、線分はそれ以上伸びることができず停止することになる。Δq’は、アルゴリズム１によって算出される線分の長さを格納する変数であり初期値はゼロである。
【００４５】
まず、ルート作成部１０１は、近接ノード（Qnear）から配置地点（Qrand）に向けて線分を伸ばした場合に、エリアＢ＿１の途中で線分が停止するのか、線分がエリアＢ＿１を突き抜けるのかを算出する。
【００４６】
ΔａｒｅａＢ＿１÷Ｘ＿１％がｒｅｓｔ以上である場合（つまり、線分がエリアＢ＿１を突き抜ける余力が無い場合）、線分はエリアＢ＿１の途中又は境界（ｑ＿ｂｏｒｄｅｒ２＿１）で停止する（図８（ａ）においてｎ＝１）。この場合、ルート作成部１０１は、Δq’にｒｅｓｔ×Ｘ＿１％（つまり、線分が伸びる長さ）を加算する。
【００４７】
一方、ΔａｒｅａＢ＿１÷Ｘ＿１％がｒｅｓｔ未満である場合（つまり、線分がエリアＢ＿１を突き抜ける余力がある場合）、線分はエリアＢ＿１の途中で停止せず、エリアＢ＿２に進入する（図８（ｂ）においてｎ＝１）。この場合、ルート作成部１０１は、Δq’にΔａｒｅａＢ＿１を加算し、ｒｅｓｔから、ΔａｒｅａＢ＿１÷Ｘ＿１％を減算する。
【００４８】
次に、線分がエリアＢ＿２に進入した場合、ルート作成部１０１は、エリアＢ＿２の境界（ｑ＿ｂｏｒｄｅｒ１＿２）から地点ｑに向けて線分を伸ばした場合に、エリアＢ＿２の途中で線分が停止するのか、線分がエリアＢ＿２を突き抜けるのかを算出する。
【００４９】
もし、ΔａｒｅａＢ＿２÷Ｘ＿２％がｒｅｓｔ以上である場合、線分はエリアＢ＿２の途中又は境界（ｑ＿ｂｏｒｄｅｒ２＿２）で停止する（図８（ａ）においてｎ＝２）。この場合、ルート作成部１０１は、Δq’にｒｅｓｔ×Ｘ＿２％（線分が伸びる長さ）を加算する。
【００５０】
一方、ΔａｒｅａＢ＿２÷Ｘ＿２％がｒｅｓｔ未満である場合、線分はエリアＢ＿２の途中で停止せず、エリアＢ＿３に進入することになる（図８（ｂ）においてｎ＝２）。この場合、ルート作成部１０１は、Δq’にΔａｒｅａＢ＿２を加算し、ｒｅｓｔから、ΔａｒｅａＢ＿２÷Ｘ＿２％を減算する。
【００５１】
ルート作成部１０１は、近接ノード（Qnear）から地点ｑに向けて伸ばした線分がいずれかのエリア内で停止するまで（つまり図８（ａ）の状態になるまで）、線分を伸ばす処理を繰り返し行うことで、線分が停止した際のΔq’の値を算出する。最後に、ルート作成部１０１は、近接ノード（Qnear）から地点ｑに向かってΔq’進んだ地点に新ノード（Qnew）を配置する。
【００５２】
続いて、図９を用いて具体例を説明する。以下の説明においても、パーセントは割合に換算して計算するものとする。図９（ａ）は、通行推奨度が６０％である場合に、新ノード（Qnew）が配置される地点を示している。図９（ａ）の例では、近接ノード（Qnear）から地点ｑを結ぶ線分の全てが、通行推奨度が６０％であるエリアに含まれている。この場合、ｒｅｓｔ（＝Δq）は、ΔａｒｅａＢ＿１（＝Δq）÷６０％よりも小さいことから、近接ノード（Qnear）から伸びた線分は、エリアＢ＿１の途中で停止する（図８（ａ）のパターン）。従って、Δq’＝Δq×６０％になる。最後に、ルート作成部１０１は、近接ノード（Qnear）から配置地点（Qrand）に向かってΔq’進んだ地点に、新ノード（Qnew）を配置する。
【００５３】
図９（ｂ）は、通行推奨度が４０％である場合に、新ノード（Qnew）が配置される地点を示している。図９（ｂ）の例では、近接ノード（Qnear）から地点ｑを結ぶ線分の全てが、通行推奨度が４０％であるエリアに含まれている。この場合、ｒｅｓｔ（＝Δq）は、ΔａｒｅａＢ＿２（＝Δq）÷４０％よりも小さいことから、近接ノード（Qnear）から伸びた線分は、エリアＢ＿２の途中で停止する（図８（ａ）のパターン）。従って、Δq’＝Δq×４０％になる。最後に、ルート作成部１０１は、近接ノード（Qnear）から配置地点（Qrand）に向かってΔq’進んだ地点に、新ノード（Qnew）を配置する。
【００５４】
図９（ｃ）は、通行推奨度が異なるエリアが混在している場合に、新ノード（Qnew）が配置される地点を示している。ルート作成部１０１は、まず、ｒｅｓｔ（＝Δq）と、ΔａｒｅａＢ＿１÷１００％（＝Δq×４５％÷１００％）とを比較する。この場合、ｒは、ΔａｒｅａＢ＿１÷１００％よりも大きいことから、近接ノード（Qnear）から伸びた線分は、エリアＢ＿１を突き抜ける（図８（ｂ）のパターン）。従って、ルート作成部１０１は、Δq’にΔａｒｅａＢ＿１を加算し、ｒｅｓｔから、ΔａｒｅａＢ＿１÷１００％を減算する。この時点で、ｒｅｓｔ＝Δq×５５％（＝Δq−Δq×４５％÷１００％）である。
【００５５】
次に、ルート作成部１０１は、ｒｅｓｔ（＝Δq×５５％）と、ΔａｒｅａＢ＿２÷６０％（＝Δq×２５％÷６０％）とを比較する。この場合、ｒｅｓｔは、ΔａｒｅａＢ＿２÷６０％よりも大きいことから、近接ノード（Qnear）から伸びた線分は、エリアＢ＿２を突き抜ける（図８（ｂ）のパターン）。従って、ルート作成部１０１は、Δq’にΔａｒｅａＢ＿２を加算し、ｒｅｓｔから、ΔａｒｅａＢ＿２÷６０％を減算する。この時点で、ｒｅｓｔ＝Δq×１３．３３％（＝Δq×５５％−Δq×２５％÷６０％）である。
【００５６】
次に、ルート作成部１０１は、ｒｅｓｔ（＝Δq×１３．３％）と、ΔａｒｅａＢ＿３÷４０％（＝Δq×３０％÷４０％）とを比較する。この場合、ｒｅｓｔは、ΔａｒｅａＢ＿３÷４０％よりも小さいことから、近接ノード（Qnear）から伸びた線分は、エリアＢ＿３の途中で停止する（図８（ａ）のパターン）。従って、ルート作成部１０１は、Δq’にｒｅｓｔ×４０％（＝Δq×５．３％）を加算する。
【００５７】
以上の手順によれば、Δq’＝Δq×４５％＋Δq×２５％＋Δq×５．３％（つまり、Δq×７５．３％）になる。続いて、ルート作成部１０１は、近接ノード（Qnear）から配置地点（Qrand）に向かってΔq’進んだ地点に、新ノード（Qnew）を配置する。
【００５８】
なお、アルゴリズム１では、近接ノード（Qnear）から地点ｑまでの間に複数のエリアが含まれる場合、Δq’を以下のように算出するようにしてもよい。図９（ｃ）の例では、近接ノード（Qnear）から地点ｑを結ぶ線分のうち、４５％の区間の通行推奨度は１００％であり、２５％の区間の通行推奨度は６０％であり、３０％の区間の通行推奨度は４０％である。従って、Δq’＝Δq×（４５％×１００％＋２５％×６０％＋３０％×４０％）、すなわち、Δq’＝Δq×７２％と算出するようにしてもよい。上述の方法と比較して計算量を削減することが可能である。
【００５９】
また、特に優先的に通行通過させたいエリアについて１００％を超える通行推奨度（例えば１２０％等）を与えた場合、１００％を超える通行推奨度をそのまま用いてアルゴリズム１の処理を行うようにしてもよい。又は、空間内に含まれる各エリアの通行推奨度を、各エリアの通行推奨度の最大値で正規化した値（つまり、通行推奨度÷通行推奨度の最大値で算出される値）を用いてアルゴリズム１の処理を行うようにしてもよい。
【００６０】
アルゴリズム１によれは、QinitとQnewとの間に追加される線分の長さが、線分が通過するエリアの通行推奨度が低いほど短くなる。つまり、通行推奨度が低いエリア内では線分が伸びにくくなるため、通行推奨度が低いエリアを通過して目的地までの経路が生成される可能性も低下することになる。従って、アルゴリズム１を用いることで、通行推奨度が小さいエリアを含む移動経路が生成される可能性を低下させることができる。
【００６１】
（アルゴリズム２）
ルート作成部１０１は、近接ノード（Qnear）から配置地点（Qrand）に向かって所定距離（Δq）移動した地点に新ノード（Qnew）を配置する場合に、移動体の通行が推奨される度合いが低いエリアほど、新ノード（Qnew）を配置する確率（第２配置確率）が低くなるように調整する。
【００６２】
図１０は、アルゴリズム２による経路生成方法の一例を説明するための図である。ルート作成部１０１は、空間内で新ノード（Qnew）を配置する地点を仮決定し、仮決定した地点に新ノード（Qnew）を配置するか否かを、通行推奨度の大きさに応じて決定する。例えば、図１０に示すように、空間Ｓ内に、通行推奨度が０％であるエリアＡ１及びエリアＡ２、通行推奨度が４０％であるエリアＡ３、通行推奨度が６０％であるエリアＡ４、及び通行推奨度が１００％であるエリアＡ１〜Ａ４以外のエリアが設定されているとする。
【００６３】
ルート作成部１０１は、通行推奨度が１００％であるエリア内の地点ｑ１に新ノード（Qnew）を配置しようと仮決定したとする。この場合、ルート作成部１０１は、地点ｑ１を１００％の確率で新ノード（Qnew）にすると決定する。同様に、ルート作成部１０１は、通行推奨度が６０％であるエリア内の地点ｑ２に新ノード（Qnew）を配置しようと仮決定したとする。この場合、ルート作成部１０１は、地点ｑ２を６０％の確率で新ノード（Qnew）にすると決定する。もし、地点ｑ２を新ノード（Qnew）にしないという決定をした場合、このｑ２を破棄して、再度配置地点（Qrand）を配置する処理からやり直す。
【００６４】
同様に、ルート作成部１０１は、通行推奨度が４０％であるエリア内の地点ｑ３に新ノード（Qnew）を配置しようと仮決定したとする。この場合、ルート作成部１０１は、地点ｑ３を４０％の確率で新ノード（Qnew）にすると決定する。もし、地点ｑ３を新ノード（Qnew）にしないという決定をした場合、このｑ３を破棄して、再度配置地点（Qrand）を配置する処理からやり直す。
【００６５】
なお、新ノード（Qnew）を配置する地点を含むエリアの通行推奨度に基づいてアルゴリズム２の処理を行うのではなく、配置地点（Qnear）を含むエリアの通行推奨度に基づいてアルゴリズム２の処理を行うようにしてもよい。例えば、図１０において、地点ｑ３に新ノード（Qnew）を配置しようと仮決定したとする。この場合、配置地点（Qnear3）を含むエリアの通行推奨度（１００％）に基づいてアルゴリズム２の処理を行うようにしてもよい。
【００６６】
また、新ノード（Qnew）を配置する地点を含むエリアの通行推奨度に基づいてアルゴリズム２の処理を行うのではなく、配置地点（Qnear）から新ノード（Qnew）までの線分が通過するエリアの通行推奨度のうち、最も通行推奨度が低いエリアの通行推奨度に基づいてアルゴリズム２の処理を行うようにしてもよい。例えば、図１０において、地点ｑ３に新ノード（Qnew）を配置しようと仮決定したとする。この場合、配置地点（Qnear3）から新ノード（Qnew）までの線分を含むエリアの通行推奨度のうち、最も通行推奨度が低いエリアの通行推奨度は４０％である。従って、ルート作成部１０１は、通行推奨度は４０であるものとしてアルゴリズム２の処理を行う。
【００６７】
また、アルゴリズム２において、新ノード（Qnew）を配置しようと仮決定した地点に新ノードを配置しないという決定をした場合、配置地点（Qrand）を配置する処理からやり直すのではなく、配置地点（Qrand）からの距離が次に近い近接ノード（Qnear）を選択して再度アルゴリズム２の処理を行うようにしてもよい。
【００６８】
また、特に優先的に通行通過させたいエリアについて１００％を超える通行推奨度（例えば１２０％等）を与えた場合、空間内に含まれる各エリアの通行推奨度を、各エリアの通行推奨度の最大値で正規化した値（つまり、通行推奨度÷通行推奨度の最大値で算出される値）を用いてアルゴリズム２の処理を行うようにしてもよい。
【００６９】
アルゴリズム２によれば、通行推奨度が低いエリアほど新ノード（Qnew）が配置される確率が低下する。つまり、通行推奨度が低いエリアに向かって線分が追加される確率が低下することになる。従って、アルゴリズム２を用いることで、通行推奨度が低いエリアを含む移動経路が生成される可能性を低下させることができる。
【００７０】
（アルゴリズム３）
ルート作成部１０１は、通行推奨度に基づいて配置地点（Qrand）を配置する確率を調整するようにしてもよい。つまり、配置地点（Qrand）を配置する場合に、移動体の通行が推奨される度合いが低いエリアほど、配置地点（Qrand）を配置する確率（第１配置確率）が低くなるように調整するようにしてもよい。
【００７１】
また、アルゴリズム３は、以下に示す方法であってもよい。まず、ルート作成部１０１は、どの通行推奨度のエリアに配置地点（Qrand）を配置するのかを決定する。このとき、ルート作成部１０１は、通行推奨度が低いエリアほど、配置地点（Qrand）を配置する確率を減らすようにする。続いて、ルート作成部１０１は、選択したエリア内で任意の場所を配置地点（Qrand）として選択する。
【００７２】
具体例を説明する。例えば、ルート作成部１０１は、０〜１９９までの数値のうち、０〜９９、１００〜１５９、及び、１６０〜１９９を、それぞれ、通行推奨度が１００％のエリア、通行推奨度が６０％のエリア、及び通行推奨度が４０％のエリアに割り当てておく。まず、ルート作成部１０１は、０から１９９までの数値のうちいずれか１つの数値をランダムに選択することで、どの通行推奨度のエリアに配置地点（Qrand）を配置するのかを決定する。例えば「１７０」が選択された場合、ルート作成部１０１は、通行推奨度が４０％のエリアＡ３に配置地点（Qrand）を配置することになる。続いて、ルート作成部１０１は、通行推奨度が４０％のエリアＡ３の中で、配置地点（Qrand）を配置する地点をランダムに選択する。
【００７３】
アルゴリズム３によれば、通行推奨度が低いエリアほど配置地点（Qrand）が配置される確率が低下する。つまり、通行推奨度が低いエリアに向かって線分が追加される確率が低下することになる。従って、アルゴリズム３を用いることで、通行推奨度が低いエリアを含む移動経路が生成される可能性を低下させることができる。
【００７４】
（アルゴリズム４）
ルート作成部１０１は、配置地点（Qrand）に近い近接ノード（Qnear）を選択する場合に、空間内に存在するノードについて、ノードが存在するエリアにおける移動体２０の通行が推奨される度合いが低いほど、配置地点からの距離が遠いと判定するように、配置地点に近接する近接ノードの選択基準を調整する。
【００７５】
図１１は、アルゴリズム４による経路生成方法の一例を説明するための図である。ルート作成部１０１は、配置地点（Qrand）と、空間内に存在する各ノードとの間の距離に各ノードが存在するエリアの通行推奨度を割合に換算した値の逆数を乗算し、通行推奨度を割合に換算した値の逆数を乗算した距離が最も短いノードを、近接ノード（Qnear）として決定するようにしてもよい。例えば、ルート作成部１０１は、通行推奨度が１００％のエリアＣ１に存在するノードｑ１と配置地点（Qrand）との間の距離については、「ｄ１×１」であると算出する。同様に、ルート作成部１０１は、通行推奨度が５０％のエリアＣ２に存在するノードｑ２と配置地点（Qrand）との間の距離については、「ｄ２×１／０．５」であると算出する。つまり、ノードｑ２と配置地点（Qrand）との間の距離は、実際の距離ｄ２より約２倍長いとみなされることになる。
【００７６】
また、アルゴリズム４は、次に示す方法であってもよい。例えば、ルート作成部１０１は、配置地点（Qrand）に近い近接ノード（Qnear）を選択する場合に、該近接ノード（Qnear）と配置地点（Qrand）との間に存在するエリアにおける通行推奨度が低いほど、配置地点からの距離が遠いと判定するように、配置地点に近接する近接ノードの選択基準を調整するようにしてもよい。例えば、各近接ノード（Qnear）と配置地点（Qrand）とを結ぶ線分が１〜ＮまでのＮ個のエリアを通過する場合を想定する。この場合において、エリアnにおける通過距離及び通行推奨度（割合に換算した通行推奨度）をそれぞれln及びWnとした場合、各近接ノード（Qnear）と配置地点（Qrand）との間の距離L'は、以下の式で表現することができる。
【数１】
2020034388.tif 000003
例えば図１１において、Q1とQrandとを結ぶ線分のうちエリアＣ１に含まれる部分の距離を距離Ａとし、エリアＣ２に含まれる部分の距離を距離Ｂとした場合、Q1からQrandまでの距離は、距離Ａ÷１＋距離部Ｂ÷０．５で算出される。
【００７７】
アルゴリズム４によれば、通行推奨度が低いエリアに存在するノードほど、又は、ノードと配置地点との間に存在するエリアにおける通行推奨度が低いほど、近接ノード（Qnear）として選択される確率が低下する。線分は、選択された近接ノード（Qnear）から伸びることになるため、近接ノード（Qnear）として選択される確率が低下するということは、その近接ノード（Qnear）から線分が伸びる確率が低下することと同義である。線分が伸びる確率が低下すると、通行推奨度が低いエリア内に形成される線分の数が低下することになり、その結果、通行推奨度が低いエリアを含む移動経路が生成される可能性も低下することになる。
【００７８】
（アルゴリズム５）
アルゴリズム５は、ＲＲＴ*に対応するアルゴリズムである。ルート作成部１０１は、新ノード（Qnew）が存在するエリアにおける通行推奨度が低いほど、新ノード（Qnew）を基準とする所定の範囲の大きさが小さくなるように調整する。具体的には、新ノード（Qnew）を基準とする所定の範囲の大きさは、ＲＲＴ*アルゴリズムに規定される計算式で示される半径×通行推奨度（割合に換算した通行推奨度）で算出される。
【００７９】
図３を用いて具体例を説明する。例えば図３において、新ノード（Qnew）が存在するエリアの通行推奨度が１００％である場合の半径ｒはＡであると仮定する。この場合において、新ノード（Qnew）が存在するエリアの通行推奨度を５０％とした場合、新ノード（Qnew）を基準とする円の半径ｒは、Ａ×０．５になる。
【００８０】
アルゴリズム５によれば、新ノード（Qnew）を基準とする所定の範囲の大きさが小さくなるにつれて、Qminとして選択可能な候補ノードが当該所定の範囲の中に存在しなくなる可能性が高まることになる。つまり、QminからQnewへの結線が行われなくなる可能性も高まることになる。従って、アルゴリズム５を用いることで、通行推奨度が低いエリアを含む移動経路が生成される可能性を低下させることができる。
【００８１】
（アルゴリズム６）
アルゴリズム６は、ＲＲＴ*に対応するアルゴリズムである。ルート作成部１０１は、出発地から１以上の候補ノードの各々までの移動経路のコストについて、移動経路が通過するエリアにおける通行推奨度が低いほどコストが大きくなるように、移動経路のコストを調整する。
【００８２】
ここで、出発地から各候補ノードまでを結ぶ線分が１〜ＮまでのＮ個のエリアを通過する場合を想定する。この場合において、当該線分がエリアnを通過する通過距離及びエリアnの通行推奨度（割合に換算した通行推奨度）をそれぞれln及びWnとした場合、出発地から各候補ノードまでの移動経路のコストCは、以下の式で表現することができる。
【数２】
2020034388.tif 000004
なお、アルゴリズム６において、ルート作成部１０１は、出発地から１以上の候補ノードの各々を経由して新ノード（Qnew）に至るまでの移動経路のコストについて、移動経路が通過するエリアにおける通行推奨度が低いほどコストが大きくなるように、移動経路のコストを調整するようにしてもよい。
【００８３】
アルゴリズム６によれば、１以上の候補ノードの各々について、通行推奨度が低いエリアを通過した候補ノードほどコストが大きくなる可能性がある。つまり、通行推奨度が低いエリアを通過した候補ノードほど、新ノード（Qnew）と結線される可能性が低くなる可能性がある。従って、アルゴリズム６を用いることで、通行推奨度が低いエリアを多く通過した移動経路が生成される可能性を低下させることができる。
【００８４】
＜変形例＞
経路生成装置１０が生成する移動経路において、目的地は、特定の地点に限られず、複数の点の集合における任意の地点であってもよい。例えば、図１２に示すように、空間内に設けられた所定の面積又は体積を有するエリアＧ１、又は、線状のエリアＧ２を目的地としてもよい。経路生成装置１０が移動経路を生成する領域又は空間内には、これらの複数の点の集合で表されるエリアが複数設定されていてもよい。目的地がエリアＧ１の場合、ルート作成部１０１は、Qnew1とエリアＧ１の中で最もQnew1に近い地点との間の距離が所定の距離以下になった場合に、Qnew1と当該地点との間を線分Ｌ１で結ぶことで、出発地から目的地までの移動経路を生成する。同様に、目的地がエリアＧ２の場合、ルート作成部１０１は、Qnew2とエリアＧ２の中で最もQnew2に近い地点との間の距離が所定の距離以下になった場合に、Qnew2と当該地点との間を線分Ｌ２で結ぶことで、出発地から目的地までの移動経路を生成する。これにより、目的地が特定の地点ではないような場合であっても、ＲＲＴアルゴリズムを用いて移動経路を生成することが可能になる。
【００８５】
また、Ｎ次元空間において、Ｎ−１次元で表される領域を目的地とするようにしてもよい。例えば、３次元空間においては、目的地が面（つまり２次元の領域）であってもよい。具体例として、３次元空間において線分が高度１００ｍの高さに達した場合に目的地に到達したと判定されるようにしてもよい。
【００８６】
また、高圧鉄塔、河川及び移動体の通過予定ルートなど、地形的に連続なエリアを目的地とするようにしてもよい。通過予定ルートを目的地とする場合の利用例として、例えば、移動体が飛行ルートから外れた場合に、元の通過予定ルートに復帰させる際のルート探索に利用すること等が考えられる。
【００８７】
また、本実施形態において、エリア情報には、１以上のエリアの各々に適用される移動体の通行推奨度が、近接ノード（Qnear）から伸びる線分（つまりQnearからQrandまでを結ぶ線分）がエリアに進入する際の方向ごとに設定されていてもよい。例えば、図１２におけるエリアＡ３において、上方向からエリアＡ３に線分が進入する場合と、左方向からエリアＡ３に線分が進入する場合と、右方向からエリアＡ３に線分が進入する場合と、下方向からエリアＡ３に線分が進入する場合とで、それぞれ異なる通行推奨度が設定されていてもよい。
【００８８】
若しくは、エリア情報には、１以上のエリアの各々に適用される移動体の通行推奨度が、近接ノード（Qnear）から伸びる線分（つまりQnearからQrandまでを結ぶ線分）がエリアに進入する角度に応じて変化するように設定されていてもよい。この場合、通行推奨度は、線分がエリアに進入する角度（又は線分のベクトル）を入力することで通行推奨度を出力する関数を用いて算出されるようにしてもよい。
【００８９】
図１２の例では、左方向から進入する場合は３０％に設定され、上方向から進入する場合は８０％に設定されていると仮定する。本変形例は、アルゴリズム１又はアルゴリズム４を用いて移動経路を生成する際に適用することができる。以下、具体的に説明する。
【００９０】
まず、アルゴリズム１を用いて移動経路を生成する際、ルート作成部１０１は、近接ノード（Qnear）からΔq進んだ地点までを結ぶ線分が、通行推奨度が設定されたエリアに進入する場合に、線分が該エリアに進入する方向又は進入角度に対応する通行推奨度に応じて、近接ノード（Qnear）から新ノード（Qnew）までを結ぶ線分の長さ（つまりΔq）が短くなるように新ノード（Qnew）を配置する。
【００９１】
図１２を用いて具体例を説明する。図１２の例では、近接ノード（Qnear3）からΔq進んだ地点ｑ３までを結ぶ線分は、エリアＡ３に左方向から進入している。この場合、ルート作成部１０１は、通行推奨度は３０％であるとしてΔq’の計算を行う。同様に、近接ノード（Qnear4）からΔq進んだ地点ｑ４までを結ぶ線分は、エリアＡ３に上方向から進入している。この場合、ルート作成部１０１は、通行推奨度は８０％であるとしてΔq’の計算を行う。
【００９２】
次に、アルゴリズム４を用いて移動経路を生成する際、ルート作成部１０１は、近接ノード（Qnear）から配置地点（Qrand）までを結ぶ線分が、エリア情報に格納されるいずれかのエリアに進入する場合に、線分が該エリアに進入する方向又は進入角度に対応する通行推奨度に応じて、近接ノード（Qnear）と配置地点（Qrand）との間の距離を算出する。
【００９３】
図１２を用いて具体例を説明する。図１２の例では、近接ノード（Qnear3）からランダム位置（Qrand）までを結ぶ線分は、エリアＡ３に左方向から進入している。この場合、ルート作成部１０１は、通行推奨度は３０％であるとして、近接ノード（Qnear3）と配置地点（Qrand）との間の距離を算出する。詳細には、ルート作成部１０１は、近接ノード（Qnear3）と配置地点（Qrand）との間の距離は、通行推奨度が１００％である場合の距離よりも約３．３倍遠いと算出する。同様に、近接ノード（Qnear4）からランダム位置（Qrand）までを結ぶ線分は、エリアＡ３に上方向から進入している。この場合、ルート作成部１０１は、通行推奨度は８０％であるとして、近接ノード（Qnear4）と配置地点（Qrand）との間の距離を算出する。詳細には、ルート作成部１０１は、近接ノード（Qnear4）と配置地点（Qrand）との間の距離は、通行推奨度が１００％である場合の距離よりも約１．２５倍遠いと算出する。
【００９４】
また、本実施形態において、エリア情報には、アルゴリズムごとに異なる通行推奨度が設定されていてもよい。たとえば図６に示すエリア情報おいて、各エリア位置に対応する通行推奨度が、アルゴリズム１に対応する通行推奨度と、アルゴリズム２に対応する通行推奨度と、アルゴリズム３に対応する通行推奨度とに分けて格納されていてもよい。
【００９５】
また、本実施形態では、経路生成装置１０が移動体２０に組み込まれていてもよい。すなわち、移動体２０は、自ら移動経路を生成して移動することとしてもよい。この場合、通信ネットワークＮ及び通信ＩＦ１３は不要になる。
【００９６】
また、本実施形態では、経路生成装置１０が生成する移動経路を地図データに格納することで地図データを製造するようにしてもよい。更に、移動体２０は、当該地図データを記憶し、当該地図データに格納された複数の移動経路のうち任意の移動経路を選択することで、ルート探索を行うようにしてもよい。或いは、移動体２０は、当該地図データに格納された複数の移動経路のうちいずれか１つの移動経路を、ダイクストラ法やＡ＊法などの探索アルゴリズムと組み合わせることで選択することで、ルート探索を行うようにしてもよい。
【００９７】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態で説明したフローチャート、シーケンス、実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【符号の説明】
【００９８】
１…移動管理システム、１０…経路生成装置、１１…ＣＰＵ、１２…記憶装置、１３…通信ＩＦ、１４…入力デバイス、１５…出力デバイス、２０…移動体、１０１…ルート作成部、１０２…ルート出力部、１０３…記憶部
【図１】
2020034388.tif 000005
【図２】
2020034388.tif 000006
【図３】
2020034388.tif 000007
【図４】
2020034388.tif 000008
【図５】
2020034388.tif 000009
【図６】
2020034388.tif 000010
【図７】
2020034388.tif 000011
【図８】
2020034388.tif 000012
【図９】
2020034388.tif 000013
【図１０】
2020034388.tif 000014
【図１１】
2020034388.tif 000015
【図１２】
2020034388.tif 000016