JP2011128758A - 経路探索システム、方法、プログラム、並びに移動体 - Google Patents

経路探索システム、方法、プログラム、並びに移動体 Download PDF

Info

Publication number
JP2011128758A
JP2011128758A JP2009284973A JP2009284973A JP2011128758A JP 2011128758 A JP2011128758 A JP 2011128758A JP 2009284973 A JP2009284973 A JP 2009284973A JP 2009284973 A JP2009284973 A JP 2009284973A JP 2011128758 A JP2011128758 A JP 2011128758A
Authority
JP
Japan
Prior art keywords
node
moving
cost
route search
moving direction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009284973A
Other languages
English (en)
Other versions
JP5381679B2 (ja
Inventor
Takashi Ogura
崇 小倉
Hidenori Yabushita
英典 藪下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2009284973A priority Critical patent/JP5381679B2/ja
Publication of JP2011128758A publication Critical patent/JP2011128758A/ja
Application granted granted Critical
Publication of JP5381679B2 publication Critical patent/JP5381679B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

【課題】短時間で終点までの経路を確実に探索することができる経路探索システム、経路探索方法、経路探索プログラム、及び移動体を提供すること。
【解決手段】本発明にかかる経路探索システムは、グリッドで表された領域に含まれる始点から終点までの経路のうち、そのコストが最小のものを選択する経路探索システムであって、最小コストのノードを展開していくノード展開部112と、展開された前記最小コストのノードに対する移動方向を判定する判定部113と、を備え、移動方向に応じて、最小コストのノードからの展開方向の数を設定する経路探索システム。
【選択図】 図2

Description

本発明は、経路探索システム、経路探索方法、経路探索プログラム、及び移動体に関し、特に詳しくはグリッドで表された領域に含まれる始点から終点までの経路のうち、そのコストが最小のものを選択する経路探索システム、経路探索方法、及び経路探索プログラム、並びに該経路探索システムを有する移動体に関する。
移動する領域をグリッドで表現して経路探索を行う経路探索方法が広く知られている。このような経路探索方法では、A*法(エースター)やダイクストラ法等が用いられている(特許文献1、2)。これらの方法では、縦横に区切られた各グリッドをノードとする。そして、コストが最小となるようにノードを展開していき、経路探索を行う。そのため、最小コストのノードに隣接するノードのコストを計算する。そして、コスト計算の結果、最小コストとなるノードを展開する。すなわち、最短のパス(経路)が決定していないノードの中で、コストが最小のノードが最小コストのノードとなる。このように、次にコストが小さいノードが最小コストのノードとして順番に展開されていく。これを繰り返すことで、移動終点までの経路を算出することができる。
特開平11−264734号公報 特開平9−229804号公報
さらに、このような経路探索では、枝刈り探索を行うことで計算時間を短縮することができる。この枝刈り探索について、図6を用いて説明する。図6では左側に最初のステップが示され、右側に次のステップが示されている。また、図6に示すように、移動領域が正方形のグリッドによって表現されている。障害物などがある位置は、進入禁止のグリッドとなっている。図6では、L字型に配置された3つのグリッドが進入禁止グリッドとなっている。なお、以下の説明ではノードがグリッドに対応するものとして説明する。
枝刈り手法では、最小コストのグリッドからの展開方向を3方向にしている。そして、そのグリッドから展開された3つのグリッドに対してコストを算出する。すなわち、展開方向に応じた3つの隣接グリッドに対してコストを算出する。そして、このコスト計算の結果によって、次の最小コストのグリッドを展開する。枝刈り手法を用いることで、8方向の探索から3方向の探索になるため、計算時間を短縮することができる。
最小コストのグリッドからの展開方向は、そのグリッドに対する移動方向によって、決定される。例えば、最小コストのグリッドが左上隅から右斜め下に展開されたとする(図6左側の実線矢印参照)。すなわち、最小コストのグリッドに対するパスが、図6左側の実線矢印のように、右斜め下方向に沿っているとする。
この場合、次の展開方向は、右斜め下方向とその両隣りの方向となる。すなわち、右斜め下方向、右方向、下方向のグリッドが次の展開グリッドとなって、新たにコスト計算が行われる。従って、図6左側に示す点線矢印のように、3つのグリッドのコストを算出することになる。なお、図6では、次にコストを計算するグリッド(展開グリッド)を網掛けで示している。このようにすることで、コスト計算を少なくすることができる。このため、計算時間を短縮することができる。
ここで、右方向のグリッドが次の最小コストのグリッドとして展開されたとして説明する。すなわち、次のステップで、右方向に最小コストのグリッドが展開されたとする。この場合、到達不可能なグリッドが存在してしまうことになってしまう。右方向に展開した次のステップでは、右方向、右斜め下方向、右斜め上方向が展開方向となる(図6右側の点線矢印参照)。この場合、上方向のグリッドには到達できなくなってしまう。
このように、A*法やダイクストラ法などの経路探索方法では、あるグリッドに到達するパスは、最少コストとなる1通りだけである。上記のように、左からあるグリッドに到達した場合、このグリッドは必ずこの方向から最小グリッドとして展開される。そのため、最小グリッドとして展開される展開方向も一通りに固定されるため、到達不可能なグリッドが存在してしまう。
特に、障害物の入り組んだ複雑な環境では、到達できないグリッドが存在してしまうという問題点がある。すなわち、枝刈り探索を行うことで、終点に到達するための解を求められなくなってしまうという問題点がある。
本発明は、上記の問題点に鑑みてなされたものであり、短時間で終点までの経路を確実に探索することができる経路探索システム、経路探索方法、経路探索プログラム、及び移動体を提供することを目的とする。
本発明の第1の態様にかかる経路探索システムは、グリッドで表された領域に含まれる始点から終点までの経路のうち、そのコストが最小のものを選択する経路探索システムであって、最小コストのノードを展開していくノード展開部と、展開された前記最小コストのノードに対する移動方向を判定する判定部と、を備え、前記移動方向に応じて、前記最小コストのノードからの展開方向の数を設定するものである。これにより、短時間で終点までの経路を確実に探索することができる。
本発明の第2の態様にかかる経路探索システムは、上記の経路探索システムであって、前記移動方向が斜め方向の場合に、前記展開方向の数を5とし、前記移動方向が縦方向、又は横方向の場合に、前記展開方向の数を3とすることを特徴とするものである。これにより、計算時間を短縮することができる。
本発明の第3の態様にかかる経路探索システムは、上記の経路探索システムであって、前記移動方向が縦方向、又は横方向の場合に、前記移動方向と、前記移動方向の隣の斜め方向と、が前記展開方向となり、前記移動方向が斜め方向の場合に、前記移動方向と、前記移動方向の隣の縦方向と、前記移動方向の隣の横方向と、前記縦方向の隣の斜め方向と、前記横方向の隣の斜め方向と、が前記展開方向となることを特徴とするものである。これにより、適切に展開方向を設定することができる。
本発明の第4の態様にかかる経路探索方法は、グリッドで表された領域に含まれる始点から終点までの経路のうち、そのコストが最小のものを選択する経路探索方法であって、最小コストのノードを展開するステップと、展開された前記最小コストのノードに対する移動方向を判定するステップと、前記移動方向に応じて、前記最小コストのノードからの展開方向の数を設定するステップと、を備えるものである。これにより、短時間で終点までの経路を確実に探索することができる。
本発明の第5の態様にかかる経路探索方法は、上記の経路探索方法であって、前記移動方向が斜め方向の場合に、前記展開方向の数を5とし、前記移動方向が縦方向、又は横方向の場合に、前記展開方向の数を3とすることを特徴とするものである。これにより、計算時間を短縮することができる。
本発明の第6の態様にかかる経路探索方法は、上記の経路探索方法であって、前記移動方向が縦方向、又は横方向の場合に、前記移動方向と、前記移動方向の両隣の斜め方向と、が前記展開方向となり、前記移動方向が斜め方向の場合に、前記移動方向と、前記移動方向の隣の縦方向と、前記移動方向の隣の横方向と、前記縦方向の隣の斜め方向と、前記横方向の隣の斜め方向と、が前記展開方向となることを特徴とするものである。これにより、適切に展開方向を設定することができる。
本発明の第7の態様にかかる経路探索プログラムは、グリッドで表された領域に含まれる始点から終点までの経路のうち、そのコストが最小のものを選択する経路探索プログラムであって、コンピュータに対して、最小コストのノードを展開させるステップと、展開された前記最小コストのノードに対する移動方向を判定させるステップと、前記移動方向に応じて、前記最小コストのノードからの展開方向の数を設定するステップと、を備えるものである。
本発明の第8の態様にかかる経路探索プログラムは、上記の経路探索プログラムであって、前記移動方向が斜め方向の場合に、前記展開方向の数を5とし、前記移動方向が縦方向、又は横方向の場合に、前記展開方向の数を3とすることを特徴とするものである。これにより、計算時間を短縮することができる。
本発明の第9の態様にかかる経路探索プログラムは、上記の経路探索プログラムであって、前記移動方向が縦方向、又は横方向の場合に、前記移動方向と、前記移動方向の両隣の斜め方向と、が展開方向となり、前記移動方向が斜め方向の場合に、前記移動方向と、前記移動方向の隣の縦方向と、前記移動方向の隣の横方向と、前記縦方向の隣の斜め方向と、前記横方向の隣の斜め方向とが展開方向となることを特徴とするものである。これにより、適切に展開方向を設定することができる。
本発明の第10の態様にかかる移動体は、上記の経路探索システムを有するものである。これにより、短時間で確実に移動終点まで移動することができる。これにより、短時間で終点までの経路を確実に探索することができる。
本発明によれば、短時間で終点までの経路を確実に探索することができる経路探索システム、経路探索方法、経路探索プログラム、及び移動体を提供することができる。
本発明にかかる移動体の構成を示す図である。 本発明にかかる移動体の制御部の構成を示すブロック図である。 移動方向に応じた展開方向を示す図である。 本発明にかかる経路生成方法を示すフローチャートである。 本発明にかかる経路生成の例を示す図である。 枝刈り経路探索における問題点を説明するための図である。 3次元領域において、移動領域を説明するための図である。 3次元領域において、移動方向に応じた展開方向を示す図である
以下、本発明に係る移動体の実施形態を、図面に基づいて詳細に説明する。但し、本発明が以下の実施形態に限定される訳ではない。また、説明を明確にするため、以下の記載及び図面は、適宜、簡略化されている。
発明の実施の形態1.
まず、本発明に係る移動体の一例であるロボットの構成について、図1を用いて説明する。図1はロボット100の構成を模式的に示す外観図である。本実施の形態では、ロボット100が、自律移動する移動ロボットとして説明する。ロボット100は、車輪2と、筐体3と、センサ5と、を備えている。そして、筐体3の内部には、車輪2と接続されたモータ、及びモータを駆動するためのバッテリなどが設けられている。このモータがロボット100を駆動するための駆動機構となる。モータを駆動することによって、車輪2が回転して、ロボット100が移動する。ロボット100は、例えば、人間の歩行速度と同程度の速度で移動する。さらに、頭部1には、CCDカメラやレーザセンサなどを有するセンサ5が設けられている。センサ5はロボット100に周囲に存在する障害物や人間などを検知する。
ロボット100には、制御部110が設けられている。制御部110は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、通信用のインタフェイスなどを有する演算処理装置である。また、制御部110は、着脱可能なHDD、光ディスク、光磁気ディスク等を有し、各種プログラムや制御パラメータなどを記憶し、そのプログラムやデータを必要に応じてメモリ(不図示)等に供給する。もちろん、制御部110は、物理的に一つの構成に限られるものではない。制御部110は、ロボット100が移動する移動経路を生成する。そして、その移動経路に沿ってロボット100が移動するよう、車輪2を駆動するためのモータ等を制御する。もちろん、ロボット100は車輪型の移動ロボットに限らず、歩行型やその他の移動ロボットでもよい。ロボット100は自己位置推定を行なって移動する移動体であってもよい。
制御部110は、移動環境中にある移動始点から移動終点までの移動経路を決定する。ロボット100は、移動始点から移動を開始する。そして、移動経路に沿って移動していき、移動終点まで移動したら停止する。すなわち、制御部110は、移動始点から移動終点までの移動経路を探索する経路探索システムとして機能する。本実施の形態では、制御部110は、A*法やダイクストラ法を用いて、経路探索を行う。
次に、ロボット100の制御系について図2を用いて説明する。図2は、ロボット100の制御部110を示すブロック図である。制御部110は、ロボット100が移動する経路を決定するための演算処理を実行する。図2に示すように、制御部110は、地図情報記憶部111と、ノード展開部112と、判定部113と、を備えている。
地図情報記憶部111は、ロボット100が移動する移動領域中の地図情報を記憶している。例えば、移動する環境中に存在する壁、机などの障害物の座標を記憶している。そして、地図情報記憶部111は、移動領域を2次元のグリッドによって表現している。すなわち、地図情報記憶部111は、移動領域を縦横のグリッド線で分割して、格子状のグリッドによって表している。さらに、地図情報には、障害物などの情報に基づいて、進入禁止グリッドが設定されている。すなわち、障害物がある位置には、ロボット100が移動することができない。このため、その障害物の位置に対応するグリッドは、進入禁止グリッドとなる。
従って、地図情報記憶部111には、進入禁止グリッドと進入可能グリッドとから構成されるグリッドマップが記憶される。グリッドサイズは、移動領域の大きさやコンピュータの処理速度に応じて決定される。経路探索では、ロボット100の移動始点に対応するグリッドから移動終点に対応するグリッドまでの最適経路が探索される。すなわち、グリッドで表された領域に含まれる始点から終点までの経路のうち、そのコストが最小のものを選択する。
グリッドは、図3に示すように、縦横に区切られている。このため、ある任意の一つのグリッド(たとえば、9つのグリッドの中央のグリッド)は、上下左右の4つのグリッドと、それらの間の斜め方向の4つのグリッドと隣接する。すなわち、移動領域の端以外のグリッドでは、上方向、下方向、左方向、右方向、右斜め上方向、右斜め下方向、左斜め下方向、左斜め上方向の8近傍のグリッドが隣接していることになる。
図2に示すノード展開部112は、コスト計算を行って、最小コストのノードを展開していく。ここで、ノードとは、グリッドに対応するものである。従って、1つのグリッドが1つのノードとなる。ノード展開部112は、コスト計算の結果、最小コストのノードを順番に展開していく。すなわち、コストが最小となるパスが決定したノードを最小コストのノードとして、順番に展開していく。コストが最小となるパスが決定していないノードの中で、コスト計算の結果によってコストが最小となったノードが、最小コストノードとしてデータベースなどに順次追加されていく。そして、最小コストノードを追加していくことで、最小コストのノードが展開されていく。
また、本実施形態では、枝刈り探索を用いて、コスト計算を行っている。すなわち、最小コストノードからの展開方向を制限している。展開方向の数によって、コストを新たに算出する展開ノードの数が決まる。これにより、コスト計算を行うノード数を小さくすることができ、計算時間を短縮することができる。
さらに、本実施の形態では、最小コストノードからの展開方向の数を、移動方向(進行方向)に応じて変更している。なお、移動方向とは、最短パスにしたがって隣接ノードから最小コストノードに移動する時の方向である。すなわち、ある最小コストノードまでの最短パスにおいて、その最小コストノードに到達する方向が移動方向となる。従って、移動方向は、上方向、下方向、右方向、左方向、右斜め上方向、右斜め下方向、左斜め下方向、及び左斜め上方向の8方向のうちのいずれかとなる。
判定部113は、展開方向の数を設定するために、移動方向を判定する。判定部113は、移動方向が、斜め方向か、縦横方向(垂直方向)かを判定する。斜め方向とは、グリッドを区切るグリッド線を斜めに横切る方向である。すなわち、右斜め上方向、右斜め下方向、左斜め下方向、及び左斜め上方向が斜め方向となる。縦横方向(垂直方向)とは、グリッド線を垂直に横切る方向である。すなわち、上方向、下方向、右方向、及び左方向が縦横方向となる。本実施の形態では、移動方向が縦方向、又は横方向の場合に、展開方向の数を3として3方向展開を行う。一方、移動方向が、斜め方向の場合に、展開方向の数を5として、5方向展開を行う。
そして、ノード展開部112は、3つの展開方向に応じた3つのノード、あるいは5つの展開方向に応じた5つのノードに対して、コストを算出する。そして、算出したコストに応じて、コストマップを更新していく。すなわち、3つ、又は5のグリッドにおいて、コストが小さいパスが発見された場合、そのグリッドのコストを更新する。このようにしてコストマップを更新する。コストマップを参照して、コストが最小となるパスが決定していないノードの中から、コストが最小のノードを選択する。このノードが新たに、最小コストノードとして追加される。このようにして、最小コストのノードを展開していく。
次に、ノード展開部112と判定部113におけるノード展開処理について図3を用いて詳細に説明する。図3は、移動方向と、ノードの展開方向との関係を説明するための図である。図3では、3×3のノード(=グリッド)が示されている。ここで、説明の簡略化のため、各ノードを次のように座標で識別して、説明する。例えば、左上隅のノードを(1,1)のノードとして、右下隅のノードを(3,3)とする。また、(1,1)のノードの1つ下のノードを(2,1)のノードとし、(1,1)のノードの1つ下のノードを(1,2)とする。このように座標を用いて、各ノードを識別する。
まず、斜め方向の移動について説明する(図3左側)。斜め方向に移動した場合、次のステップでは、5方向展開となる。すなわち、5つのノードに対して、新たにコストが算出される。従って、この5つ以外のノードでは、コストの値が更新されない。なお、図3では、斜線で示されるノードが、次の展開ノード、すなわち、新たにコストを算出するノードとなる。
右斜め下方向に移動する場合に付いて説明する。(1,1)のノードから(2,2)のノードに移動する場合、移動方向は、右斜め下となる。この場合、次のステップにおける展開方向は、右斜め下方向、下方向、右方向、右斜め上方向、左斜め下方向となる。すなわち、左斜め下方向〜右斜め上方向の間の5方向において隣接するノードが展開ノードとなる。従って、展開ノードである(1,3)、(2,3)、(3,3)、(3,2)、(3、1)のノードに対してコストが算出される。
右斜め上方向に移動する場合に付いて説明する。(3,1)のノードから(2,2)のノードに移動する場合、移動方向は、右斜め上となる。この場合、次のステップにおける展開方向は、右斜め上方向、上方向、右方向、右斜め下方向、左斜め上方向となる。すなわち、左斜め上方向〜右斜め下方向の間の5方向において隣接するノードが展開ノードとなる。従って、展開ノードである(1,1)、(1,2)、(1,3)、(2,3)、(3,3)のノードに対してコストが算出される。
左斜め上方向に移動する場合に付いて説明する。(3,3)のノードから(2,2)のノードに移動する場合、移動方向は、左斜め上となる。この場合、次のステップにおける展開方向は、左斜め上方向、上方向、左方向、左斜め下方向、右斜め上方向となる。すなわち、左斜め下方向〜右斜め上方向の間の5方向において隣接するノードが展開ノードとなる。従って、展開ノードである(1,1)、(1,2)、(1,3)、(2,1)、(3,1)のノードに対してコストが算出される。
左斜め下方向に移動する場合に付いて説明する。(1,3)のノードから(2,2)のノードに移動する場合、移動方向は、左斜め下となる。この場合、次のステップにおける展開方向は、左斜め下方向、下方向、左方向、左斜め上方向、右斜め下方向となる。すなわち、左斜め上方向〜右斜め下方向の間の5方向において隣接するノードが展開ノードとなる。従って、展開ノードである(1,1)、(2,1)、(3,1)、(3,2)、(3,3)のノードに対してコストが算出される。
5方向展開では、次の展開方向が、移動方向からその隣の斜め方向までの間の方向となる。従って、5方向展開では、展開方向が180°に広がっている。このため、5方向展開では、展開ノードがL字型に配置されることになる。
次に、縦方向、又は横方向の移動に付いて説明する(図3右側)。縦横方向に移動し場合、次のステップでは、3方向展開となる。すなわち、最小コストノードに隣接する3つのノードに対してコストを算出する。
右方向に移動する場合に付いて説明する。(2,1)のノードから(2,2)のノードに移動する場合、移動方向は、右となる。この場合、次のステップにおける展開方向は、右方向、右斜め上方向、右斜め下方向となる。すなわち、右斜め下方向〜右斜め上方向の間の3方向において隣接するノードが展開ノードとなる。従って、展開ノードである(1,3)、(2,3)、(3,3)のノードに対してコストが算出される。
下方向に移動する場合に付いて説明する。(1,2)のノードから(2,2)のノードに移動する場合、移動方向は、下となる。この場合、次のステップにおける展開方向は、下方向、右斜め下方向、左斜め下方向となる。すなわち、右斜め下方向〜左斜め下方向の間の3方向において隣接するノードが展開ノードとなる。従って、展開ノードである(3,1)、(3,2)、(3,3)のノードに対してコストが算出される。
左方向に移動する場合に付いて説明する。(2,3)のノードから(2,2)のノードに移動する場合、移動方向は、左となる。この場合、次のステップにおける展開方向は、左方向、左斜め上方向、左斜め下方向となる。すなわち、左斜め下方向〜左斜め上方向の間の3方向において隣接するノードが展開ノードとなる。従って、展開ノードである(1,1)、(2,1)、(3,1)のノードに対してコストが算出される。
上方向に移動する場合に付いて説明する。(3,2)のノードから(2,2)のノードに移動する場合、移動方向は、上となる。この場合、次のステップにおける展開方向は、上方向、右斜め上方向、左斜め上方向となる。すなわち、右斜め上方向〜左斜め上方向の間の3方向において隣接するノードが展開ノードとなる。従って、展開ノードである(1,1)、(1,2)、(1,3)のノードに対してコストが算出される。
3方向展開では、次の展開方向が、移動方向からその隣の斜め方向までの間の方向となる。従って、5方向展開では、展開方向が90°に広がる。このため、3方向展開では、展開ノードがI字型に配置されることになる。このように、移動方向に応じて、展開方向の広がり度を変更する。
移動方向に応じて、5方向展開と3方向展開のいずれかを選択する。移動方向が縦方向、又は横方向の場合に、移動方向と、移動方向の両隣の斜め方向と、が展開方向となる。一方、移動方向が斜め方向の場合に、移動方向と、移動方向の隣の縦方向と、移動方向の隣の横方向と、前記縦方向の隣の斜め方向と、前記横方向の隣の斜め方向とが展開方向となる。そして、展開方向に隣接する展開ノードに対してコストが算出され、コストマップが更新される。このようにすることで、複雑な環境であっても、移動終点に確実に到達することができる。また、枝刈りによって展開方向を制限しているため計算時間を短縮することができる。
次に、上記の経路探索方法について、図4を用いて説明する。図4は、経路探索方法を示すフローチャートである。まず、最少コストのノードを展開する(ステップS101)。例えば、移動始点から計算する場合、ノード展開部112が、移動始点を0として、移動始点と隣接するノードに対するコストを算出する。そして、隣接するノードの中から、コストが最少となるノードを選択する。このノードが最小コストのノードとして展開される。また、移動始点からの計算が終了している場合、最短パスが決定していないノードの中で、コストが最小のノードを最小コストノードとして展開する。すなわち、直前のコスト計算によって最小コストとなったノードを最小コストとして格納する。そして、最小コストノードに対する移動方向を算出する(ステップS102)。
次に、判定部113が、最小コストノードへの移動方向が斜め方向か否かを判定する(ステップS103)。すなわち、移動方向が、斜め方向か縦横方向(垂直方向)のどちらになっているかを判別する。移動方向が縦横方向の場合、すなわち、縦方向又は横方向の場合、3方向展開を行う(ステップS104)。一方、移動方向が斜め方向の場合、5方向展開を行う(ステップS105)。
展開された全てのノードのコストを計算する(ステップS106)。すなわち、3方向展開の場合、3つの展開ノードに対してコストを算出する。5方向展開の場合、5つの展開ノードに対してコストを算出する。そして、コストが小さいパスが探索された展開ノードでは、そのコストが小さい値に更新される。ここでは、ノード展開部112が、展開ノードに対するコストを算出する。
そして、解となっているか否かを判定する(ステップS107)。すなわち、最短パスが決定したノードの中に、移動終点に対応するノードが存在するか否かを判定する。最小コストノードの中に、移動終点に対応するノードが存在する場合、移動終点に到達することになる。このため、経路探索を終了する(ステップS108)。
最短パスが決まったノードの中に移動終点に対応するノードが存在しない場合、解となっていない。この場合、移動終点に到達していないことになる。このため、ステップS101に戻り、最小コストのノードを格納する。すなわち、最短パスが決まっていないノードの中で、コストが最小のノードを最小コストノードとして展開する。上記の処理を繰り返し行っていくこと、最小コストノードを展開していく。そして、移動終点に到達するまで、探索処理を行っていく。
このように、n回目(nは自然数)のコスト計算で決まった最小コストノードに対する移動方向に応じて、n+1回目のコスト計算における展開方向を制限する。すなわち、移動方向に応じて、展開方向の数を変化させる。これにより、図6に示すような場合でも、確実に移動終点に到着することができる。すなわち、進入禁止グリッドが入り組んでいりような複雑な環境であっても、解を求めることができる。よって、到達不可能なノード(グリッド)をなくすことができる。
枝刈りなしの場合、すなわち、常時5方向展開する場合の計算時間を5とする。すると、常時枝刈りを行う場合は、常時3方向展開を行うため計算時間が3となる。一方、枝刈りなしの場合、解到達性が100%であるが、常時枝刈りを行ってしまうと、解到達性が100%以下になってしまう。すなわち、3方向展開のみの場合は、図6に示すように解への到達できない場合がある。本実施形態にかかる探索手法では、計算時間がほぼ4となる。また、解到達性が100%となる。このように、解到達性を低下させずに計算時間を、約4/5に短縮することができる。よって、短時間で終点までの経路を確実に探索することができる。なお、この探索処理は、ロボット100の移動のみではなく、あらゆる経路探索問題へ応用することが可能である。たとえば、自動運転へ応用することができる。
上記の探索方法を用いた経路探索例について、図5を用いて説明する。図5は、移動領域をグリッドマップで示す図である。図5のAに示すように、(1,1)のノードが移動始点(S)となり、(2,4)のノードが移動終点(G)となっている。
上下左右方向の展開にかかるコストを5とし、斜め方向の展開にかかるコストを7とする。このコストはノード間の距離に対応する値である。ダイクストラ法では、ノードに書かれたトータルコストで展開される(図5のB参照)。この場合、従来の枝刈り探索では、図6で説明したのと同様に、移動終点(G)まで到達することができない。すなわち、常時3方向展開を行うと、図5C〜図5Eのようにコストが計算されていく。なお、図5C〜図5Hでは、(1,3)〜(3,6)のノードを拡大して示している。そして、移動領域の右上隅まで展開しても、移動終点のコストを算出することができない。よって、移動終点に到達しなくなってしまう(図5E参照)。
例えば、(3,3)のグリッドでは、コストが14となる。(3,3)のグリッドには右斜め下方向から移動している。従って、次の展開では、右斜め上方向が展開方向に含まれない。そして、(3,4)のグリッドではコストが19となる。次の移動方向が右方向となる。この場合、移動終点である(2,4)のノードに到達できない。
本実施の形態にかかる探索方法では、図5のFに示すように、移動終点である(2,4)のノードでは、コストが21となる。(3,3)のノードに対する移動方向が右斜め下方向の場合でも、右斜め上方向が次の展開方向に含まれる。従って、移動終点(G)のコストを算出することができる。これにより、短い計算時間で確実に解を求めることができる。さらに、図5Fの後は、図5G,図5Hのように移動領域の隅までのコストを算出していくことになる。
上記の経路探索方法をコンピュータプログラムによって実行してもよい。上記の実施の形態のように移動経路を探索することで、移動体であるロボット100が人間や障害物等を避けるように移動する。よって、ロボット100を安全に移動させることができる。
なお、上記の説明では移動方向が1つであるとして説明したが、2つ以上ある場合は、それぞれの展開方向に対してコストを算出してもよい。上記の経路探索システムaは、室内自律移動のように、障害物が多く、複雑な環境下における経路探索に好適である。もちろん、経路探索システムを搭載する移動体は、特に限定されるものではない。例えば、倒立2輪を有するロボット車椅子、歩行ロボット、自律移動型のアシスタントロボットに搭載することもできる。さらに、最小コストでの解の可解性が保護される。また、障害物や人をよけることなども可能になるため、安全な自律移動が可能となる。
さらに、本実施の形態にかかる経路探索手法は、3次元の経路探索についても適用可能である。3次元の経路探索を行う場合、図7に示すように、移動領域をボクセルで表現する。すなわち、移動領域を3次元のそれぞれの方向にグリッドで仕切る。これにより、移動領域が3次元グリッドで表現される。そして、図7に示すようにボクセルを平面に分解する。図7では、3×3×3のボクセルを示している。従って、各平面に9マスのボクセルが含まれる。
3次元移動領域での経路探索の場合、図8に示す3パターンで、展開方向が決定する。すなわち、XYZ方向のいずれの方向に移動したかに応じて、展開方向が変化する。図8では、3×3×3のボクセルの中央に移動する場合が3パターン示されている。また、図8に示すようにXYZ直交座標系を用いて説明する。
ボクセルを示す3次元座標において、1軸方向のみに移動した場合、9ボクセルに展開する。例えば、Y軸方向で座標が変化し、X軸方向、及びZ軸方向では座標が変化しない場合、図8の上に示すように9ボクセルに展開する。なお、図8では、展開方向のボクセルがグレーで示されている。移動方向を(x,y,z)で表すと(±1,0,0)、(0,±1,0)、(0,0,±1)の6種類となる。この場合、各Z平面に付いて考えると、2次元の垂直方向への移動と同様に、3ボクセルに展開される。従って、それぞれのZ平面において、3つの展開方向が存在するため、次の展開方向は9つとなる。なお、X軸方向にのみ移動する場合、及びZ軸方向にのみ移動する場合について、同様に展開方向を決定することができる。
次に、2軸方向に移動する場合に付いて考える。ここでは、例えば、X方向とY方向に移動する場合について説明する。従って、X座標とY座標は変更するが、Z座標は変わらない。この場合、図8の中央に示すように、15ボクセルに展開することができる。移動方向を(x,y,z)で表すと(±1, ±1,0)、(0,±1, ±1)、(±1,0,±1)の6種類となる。この場合、各Z平面に付いて考えると、2次元の斜め方向への移動と同様に、5ボクセルに展開される。従って、それぞれのZ平面において、5つの展開方向が存在するため、次の展開方向は15となる。なお、X軸方向に移動しない場合、及びY軸方向に移動しない場合について、同様に展開方向を決定することができる。
次に、3軸方向全てに移動する場合に付いて考える。すなわち、X方向とY方向とZ方向に移動する場合について説明する。従って、X座標、Y座標、及びZ座標全てが変更する。図8の下に示すように、17ボクセルに展開することができる。移動方向を(x,y,z)で表すと(±1, ±1, ±1)の8種類となる。それぞれのZ平面に考えると、移動先と移動したZ平面では、5つの展開方向が存在し、さらに上のZ平面では、7つの展開方向が存在する。このため、次の展開方向は17となる。このように通常であれば、25マスの探索が必要であるところ、9、15、又は17マスに減らすことができる。さらに、到達可能性を100%にすることができる。よって、短時間で確実に終点までの経路を探索することができる。
1 頭部
2 車輪
3 筐体
5 センサ
100 ロボット
110 制御部
111 地図情報記憶部
112 ノード展開部
113 判定部

Claims (10)

  1. グリッドで表された領域に含まれる始点から終点までの経路のうち、そのコストが最小のものを選択する経路探索システムであって、
    最小コストのノードを展開していくノード展開部と、
    展開された前記最小コストのノードに対する移動方向を判定する判定部と、を備え、
    前記移動方向に応じて、前記最小コストのノードからの展開方向の数を設定する経路探索システム。
  2. 前記移動方向が斜め方向の場合に、前記展開方向の数を5とし、
    前記移動方向が縦方向、又は横方向の場合に、前記展開方向の数を3とすることを特徴とする請求項1に記載の経路探索システム。
  3. 前記移動方向が縦方向、又は横方向の場合に、前記移動方向と、前記移動方向の隣の斜め方向と、が前記展開方向となり、
    前記移動方向が斜め方向の場合に、前記移動方向と、前記移動方向の隣の縦方向と、前記移動方向の隣の横方向と、前記縦方向の隣の斜め方向と、前記横方向の隣の斜め方向と、が前記展開方向となることを特徴とする請求項1、又は2に記載の経路探索システム。
  4. グリッドで表された領域に含まれる始点から終点までの経路のうち、そのコストが最小のものを選択する経路探索方法であって、
    最小コストのノードを展開するステップと、
    展開された前記最小コストのノードに対する移動方向を判定するステップと、
    前記移動方向に応じて、前記最小コストのノードからの展開方向の数を設定するステップと、を備える経路探索方法。
  5. 前記移動方向が斜め方向の場合に、前記展開方向の数を5とし、
    前記移動方向が縦方向、又は横方向の場合に、前記展開方向の数を3とすることを特徴とする請求項4に記載の経路探索方法。
  6. 前記移動方向が縦方向、又は横方向の場合に、前記移動方向と、前記移動方向の両隣の斜め方向と、が前記展開方向となり、
    前記移動方向が斜め方向の場合に、前記移動方向と、前記移動方向の隣の縦方向と、前記移動方向の隣の横方向と、前記縦方向の隣の斜め方向と、前記横方向の隣の斜め方向と、が前記展開方向となることを特徴とする請求項4、又は5に記載の経路探索方法。
  7. グリッドで表された領域に含まれる始点から終点までの経路のうち、そのコストが最小のものを選択する経路探索プログラムであって、
    コンピュータに対して、
    最小コストのノードを展開させるステップと、
    展開された前記最小コストのノードに対する移動方向を判定するステップと、
    前記移動方向に応じて、前記最小コストのノードからの展開方向の数を設定するステップと、を備える経路探索方法。
  8. 前記移動方向が斜め方向の場合に、前記展開方向の数を5とし、
    前記移動方向が縦方向、又は横方向の場合に、前記展開方向の数を3とすることを特徴とする請求項7に記載の経路探索プログラム。
  9. 前記移動方向が縦方向、又は横方向の場合に、前記移動方向と、前記移動方向の両隣の斜め方向と、が展開方向となり、
    前記移動方向が斜め方向の場合に、前記移動方向と、前記移動方向の隣の縦方向と、前記移動方向の隣の横方向と、前記縦方向の隣の斜め方向と、前記横方向の隣の斜め方向とが展開方向となることを特徴とする請求項7、又は8に記載の経路探索プログラム。
  10. 請求項1乃至3のいずれか1項に記載の経路探索システムを有する移動体。
JP2009284973A 2009-12-16 2009-12-16 経路探索システム、方法、プログラム、並びに移動体 Expired - Fee Related JP5381679B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009284973A JP5381679B2 (ja) 2009-12-16 2009-12-16 経路探索システム、方法、プログラム、並びに移動体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009284973A JP5381679B2 (ja) 2009-12-16 2009-12-16 経路探索システム、方法、プログラム、並びに移動体

Publications (2)

Publication Number Publication Date
JP2011128758A true JP2011128758A (ja) 2011-06-30
JP5381679B2 JP5381679B2 (ja) 2014-01-08

Family

ID=44291316

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009284973A Expired - Fee Related JP5381679B2 (ja) 2009-12-16 2009-12-16 経路探索システム、方法、プログラム、並びに移動体

Country Status (1)

Country Link
JP (1) JP5381679B2 (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101179075B1 (ko) 2012-02-28 2012-09-03 국방과학연구소 자율로봇의 경로계획방법 및 이를 구비한 경로계획장치
JP2013239035A (ja) * 2012-05-15 2013-11-28 Toyota Motor Corp 移動体の経路計画方法
CN104599588A (zh) * 2015-02-13 2015-05-06 中国北方车辆研究所 一种栅格地图通行成本的计算方法
JP5973610B1 (ja) * 2015-03-27 2016-08-23 本田技研工業株式会社 無人作業車の制御装置
JP2018073008A (ja) * 2016-10-26 2018-05-10 株式会社クボタ 走行経路生成装置
KR20190036987A (ko) * 2017-09-28 2019-04-05 부경대학교 산학협력단 최소비용경로 분석 장치 및 방법
JP6678831B1 (ja) * 2019-03-12 2020-04-08 三菱電機株式会社 制御装置および制御方法
EP3683115A1 (en) 2019-01-17 2020-07-22 Mazda Motor Corporation Vehicle driving assistance system and vehicle driving assistance method
EP3683550A1 (en) 2019-01-17 2020-07-22 Mazda Motor Corporation Vehicle driving assistance system and method
EP3683546A2 (en) 2019-01-17 2020-07-22 Mazda Motor Corporation Vehicle driving assistance system and vehicle driving assistance method
EP3693704A1 (en) 2019-01-17 2020-08-12 Mazda Motor Corporation Vehicle driving assistance system and vehicle driving assistance method
JP2021024019A (ja) * 2019-08-02 2021-02-22 国立大学法人信州大学 軌道生成装置
JP2021510433A (ja) * 2018-01-12 2021-04-22 ゼネラル・エレクトリック・カンパニイ ロボットの自律的動作計画及びナビゲーションのためのシステム並びに方法連邦政府による資金提供を受けた研究開発の記載

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04321090A (ja) * 1991-04-22 1992-11-11 Alpine Electron Inc 経路探索方法
JP2009025974A (ja) * 2007-07-18 2009-02-05 Toyota Motor Corp 経路計画装置及び方法、コスト評価装置、並びに移動体
JP2009053849A (ja) * 2007-08-24 2009-03-12 Toyota Motor Corp 経路探索システム、経路探索方法、及び自律移動体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04321090A (ja) * 1991-04-22 1992-11-11 Alpine Electron Inc 経路探索方法
JP2009025974A (ja) * 2007-07-18 2009-02-05 Toyota Motor Corp 経路計画装置及び方法、コスト評価装置、並びに移動体
JP2009053849A (ja) * 2007-08-24 2009-03-12 Toyota Motor Corp 経路探索システム、経路探索方法、及び自律移動体

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101179075B1 (ko) 2012-02-28 2012-09-03 국방과학연구소 자율로봇의 경로계획방법 및 이를 구비한 경로계획장치
JP2013239035A (ja) * 2012-05-15 2013-11-28 Toyota Motor Corp 移動体の経路計画方法
CN104599588A (zh) * 2015-02-13 2015-05-06 中国北方车辆研究所 一种栅格地图通行成本的计算方法
JP5973610B1 (ja) * 2015-03-27 2016-08-23 本田技研工業株式会社 無人作業車の制御装置
JP2018073008A (ja) * 2016-10-26 2018-05-10 株式会社クボタ 走行経路生成装置
KR20190036987A (ko) * 2017-09-28 2019-04-05 부경대학교 산학협력단 최소비용경로 분석 장치 및 방법
KR102015493B1 (ko) 2017-09-28 2019-10-21 부경대학교 산학협력단 최소비용경로 분석 장치 및 방법
JP2021510433A (ja) * 2018-01-12 2021-04-22 ゼネラル・エレクトリック・カンパニイ ロボットの自律的動作計画及びナビゲーションのためのシステム並びに方法連邦政府による資金提供を受けた研究開発の記載
EP3683115A1 (en) 2019-01-17 2020-07-22 Mazda Motor Corporation Vehicle driving assistance system and vehicle driving assistance method
EP3683550A1 (en) 2019-01-17 2020-07-22 Mazda Motor Corporation Vehicle driving assistance system and method
EP3683546A2 (en) 2019-01-17 2020-07-22 Mazda Motor Corporation Vehicle driving assistance system and vehicle driving assistance method
EP3693704A1 (en) 2019-01-17 2020-08-12 Mazda Motor Corporation Vehicle driving assistance system and vehicle driving assistance method
US11414075B2 (en) 2019-01-17 2022-08-16 Mazda Motor Corporation Vehicle driving assistance system and method
JP6678831B1 (ja) * 2019-03-12 2020-04-08 三菱電機株式会社 制御装置および制御方法
JP2021024019A (ja) * 2019-08-02 2021-02-22 国立大学法人信州大学 軌道生成装置
JP7299097B2 (ja) 2019-08-02 2023-06-27 国立大学法人信州大学 軌道生成装置

Also Published As

Publication number Publication date
JP5381679B2 (ja) 2014-01-08

Similar Documents

Publication Publication Date Title
JP5381679B2 (ja) 経路探索システム、方法、プログラム、並びに移動体
JP5998816B2 (ja) 経路探索方法、経路探索装置、ロボット制御装置、ロボット及びプログラム
Lu et al. Layered costmaps for context-sensitive navigation
CN111811514B (zh) 一种基于正六边形栅格跳点搜索算法的路径规划方法
US9116523B2 (en) Apparatus and method of cell-based path planning for mobile body
Sudhakara et al. Trajectory planning of a mobile robot using enhanced A-star algorithm
WO2023155371A1 (zh) 室内移动机器人的平稳移动全局路径规划方法
CN106599108A (zh) 一种三维环境中多模态环境地图构建方法
JP5018458B2 (ja) 座標補正方法、座標補正プログラム、及び自律移動ロボット
CN107436148A (zh) 一种基于多地图的机器人导航方法及装置
JP2009053849A (ja) 経路探索システム、経路探索方法、及び自律移動体
JP2011227807A (ja) 経路探索システム、経路探索方法、及び移動体
CN106774347A (zh) 室内动态环境下的机器人路径规划方法、装置和机器人
WO2009092327A1 (zh) 一种地图寻路方法及系统
Janchiv et al. Complete coverage path planning for multi-robots based on
CN111080786A (zh) 基于bim的室内地图模型构建方法及装置
JP2001154706A (ja) 移動体の経路生成法
CN112731941A (zh) 双足机器人路径规划方法、装置和双足机器人
CN114296474A (zh) 一种基于路径时间代价的无人机路径规划方法及系统
Gu et al. Path planning for mobile robot in a 2.5‐dimensional grid‐based map
Pal et al. A focused wave front algorithm for mobile robot path planning
JP2003029833A (ja) 移動体の自律走行経路の生成法
Gong et al. Multi-agent deterministic graph mapping via robot rendezvous
Cupec et al. Step sequence planning for a biped robot by means of a cylindrical shape model and a high-resolution 2.5 D map
JP2017037468A (ja) 経路探索システム、経路探索方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130415

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130903

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130916

R151 Written notification of patent or utility model registration

Ref document number: 5381679

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees