(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-22
(45)【発行日】2024-07-30
(54)【発明の名称】経路生成装置
(51)【国際特許分類】
G05D 1/622 20240101AFI20240723BHJP
G05D 1/246 20240101ALI20240723BHJP
【FI】
G05D1/622
G05D1/246
(21)【出願番号】P 2021093788
(22)【出願日】2021-06-03
【審査請求日】2023-09-18
(73)【特許権者】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(74)【代理人】
【識別番号】100105957
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】中田 翔
【審査官】尾形 元
(56)【参考文献】
【文献】特開2010-190897(JP,A)
【文献】特開2020-42726(JP,A)
【文献】特開2011-170843(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00- 1/87
(57)【特許請求の範囲】
【請求項1】
グリッドマップに基づき移動体が移動を開始する開始点から前記移動体の移動の目標点までの前記移動体の概略経路を生成し、前記概略経路に基づき前記移動体の詳細経路を生成する経路生成装置であって、
前記グリッドマップの解像度を下げた低解像度グリッドマップを生成する低解像度グリッドマップ生成処理と、
前記低解像度グリッドマップに基づいて前記概略経路を生成する概略経路生成処理と、
前記低解像度グリッドマップにおける前記概略経路の周辺のグリッド以外をすべて障害物として設定する障害物設定処理と、
前記概略経路の周辺のグリッド以外をすべて障害物として設定した後の前記低解像度グリッドマップに基づいて前記概略経路に沿って前記移動体が移動を開始する開始点と、前記移動体の移動の目標点との間で前記詳細経路を生成する詳細経路生成処理と、
を実施することを特徴とする経路生成装置。
【請求項2】
前記低解像度グリッドマップに基づいて前記詳細経路を作成する時に、前記概略経路を分割して前記概略経路に沿って部分地図を切り出す部分地図切出処理を、更に実施し、
前記障害物設定処理は、前記部分地図における前記概略経路の周辺のグリッド以外をすべて障害物として設定し、
前記詳細経路生成処理は、切り出した前記部分地図について前記概略経路の周辺のグリッド以外をすべて障害物として設定した後の前記低解像度グリッドマップに基づいて前記概略経路に沿って前記移動体が移動を開始する開始点と、前記移動体の移動の目標点との間で前記詳細経路を生成する
ことを特徴とする請求項1に記載の経路生成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、経路生成装置に関するものである。
【背景技術】
【0002】
従来、特許文献1に記載される経路生成装置が知られている。経路生成装置は経路生成部を含む。経路生成部は、マップ縮小部、概略経路生成部及び詳細経路生成部を含む。マップ縮小部は、グリッドマップを縮小して縮小マップを生成する。概略経路生成部は、縮小マップを用いて開始点から目標点までの概略経路を生成する。詳細経路生成部は、元のグリッドマップで探索された経路を開始点から目標点まで経路を探索することで、詳細経路を生成する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、大規模地図の場合、グリッド数が大きくなる。概略経路生成後、生成した経路に沿って元のグリッドサイズで再度詳細な経路を生成する。しかし、詳細経路生成を行うと、大規模地図のためサイズが大きく、メモリを圧迫することがある。
【課題を解決するための手段】
【0005】
上記課題を解決する経路生成装置は、グリッドマップに基づき移動体が移動を開始する開始点から前記移動体の移動の目標点までの前記移動体の概略経路を生成し、前記概略経路に基づき前記移動体の詳細経路を生成する経路生成装置であって、前記グリッドマップの解像度を下げた低解像度グリッドマップを生成する低解像度グリッドマップ生成処理と、前記低解像度グリッドマップに基づいて前記概略経路を生成する概略経路生成処理と、前記低解像度グリッドマップにおける前記概略経路の周辺のグリッド以外をすべて障害物として設定する障害物設定処理と、前記概略経路の周辺のグリッド以外をすべて障害物として設定した後の前記低解像度グリッドマップに基づいて前記概略経路に沿って前記移動体が移動を開始する開始点と、前記移動体の移動の目標点との間で前記詳細経路を生成する詳細経路生成処理と、を実施することを要旨とする。
【0006】
これによれば、低解像度グリッドマップにおける概略経路の周辺のグリッド以外をすべて障害物として設定して、概略経路に沿って移動体が移動を開始する開始点と、移動体の移動の目標点との間で詳細経路を生成することにより、メモリ使用量を軽減することができる。
【0007】
上記経路生成装置において、前記低解像度グリッドマップに基づいて前記詳細経路を作成する時に、前記概略経路を分割して前記概略経路に沿って部分地図を切り出す部分地図切出処理を、更に実施し、前記障害物設定処理は、前記部分地図における前記概略経路の周辺のグリッド以外をすべて障害物として設定し、前記詳細経路生成処理は、切り出した前記部分地図について前記概略経路の周辺のグリッド以外をすべて障害物として設定した後の前記低解像度グリッドマップに基づいて前記概略経路に沿って前記移動体が移動を開始する開始点と、前記移動体の移動の目標点との間で前記詳細経路を生成するとよい。
【発明の効果】
【0008】
この発明によれば、メモリ使用量を軽減することができる。
【図面の簡単な説明】
【0009】
【
図3】経路生成装置で用いられるグリッドマップを示した概略図。
【発明を実施するための形態】
【0010】
以下、経路生成装置を具体化した一実施形態を
図1~
図16に従って説明する。なお、本実施形態の経路生成装置は、荷を搬送する搬送台車等の自律走行車に適用されている。そのため、自律走行車についての説明の中で経路生成装置について説明する。
【0011】
図1に示すように、自律走行車1は、経路生成装置10と、移動体として車体20とを備えている。経路生成装置10は、車体20に搭載された制御装置である。経路生成装置10は、CPU11と、RAM及びROM等からなるメモリ12とを有している。メモリ12には、車体20を制御するための種々のプログラムが記憶されている。経路生成装置10は、メモリ12に記憶されているプログラムをCPU11に実行させることにより車体20を制御する。
【0012】
経路生成装置10は、地図情報と車体20の位置とに基づき車体20を移動させる機能を有している。地図情報は、メモリ12に記憶されている。地図情報は、例えば約500メートル四方で囲まれる広範囲における障害物の情報、車体20が移動できる走行可能路の情報、及び車体20が移動できない走行不能路の情報が含まれた情報である。経路生成装置10は、車体20の位置をGPSにより検出してもよいが、距離センサ等の車体20に搭載されるセンサを用いて車体20の周囲の物体を検出して地図情報と比較して推定してもよい。経路生成装置10は、検出された車体20の位置を開始点Sとして、車体20の移動の目標点Gに向かうための経路を生成し、当該経路に沿って車体20を移動させる。
【0013】
図2に示すように、経路生成装置10は、車体20が走行するための経路を生成するにあたり、処理S101~S107を実施する。処理S101は低解像度グリッドマップ生成処理であり、処理S102は障害物情報設定処理であり、処理S103は移動/非移動領域区別処理であり、処理S104は概略経路生成処理である。処理S105は部分地図切出処理であり、処理S106は障害物設定処理であり、処理S107は詳細経路生成処理である。各処理S101,S102,S103,S104は、車体20の概略経路Roを生成するまでの処理である。各処理S105,S106,S107は、概略経路Roに基づき車体20の詳細経路Rdを生成するための処理である。
【0014】
経路生成装置10は、概略経路の生成と詳細経路の生成をするにあたり、
図3に示すように、グリッドマップM1を使用する。グリッドマップM1とは、メモリ12に記憶された地図情報を等間隔の縦横線で格子状に区切られたグリッドに分割して表現したマップである。なお、グリッドマップM1の外枠部分は、自律走行車1が適用される工場等の壁部を示している。そのため、本実施形態では、グリッドマップM1の外枠部分には、障害物があるものとして取り扱う。
【0015】
経路生成装置10は、グリッドマップM1に基づき車体20が移動を開始する開始点Sから車体20の移動の目標点Gまでの車体20の概略経路Ro(
図8参照)を生成し、概略経路Roに基づき車体20の詳細経路Rd(
図16参照)を生成する。
【0016】
図2の各処理S101,S102,S103,S104について
図3~
図8に従って説明する。なお、図には、低解像度グリッドマップM2以外にも説明の便宜上、適宜、グリッドマップM1のグリッドも記載している。
【0017】
低解像度グリッドマップ生成処理S101は、グリッドマップM1から
図4に示すように、低解像度グリッドマップM2を生成する処理である。
経路生成装置10は、低解像度グリッドマップM2を生成するにあたり、車体20を
図3に示すように、グリッドマップM1に設定したときに車体20の幅に対応するグリッド数を確認する。本実施形態では、例えば車体20の幅に対応するグリッド数を「6」とする。経路生成装置10は、障害物Ob間を車体20が安全に移動できるときの車体20と障害物Obとの隙間等を考慮して、グリッドマップM1に設定された車体20が移動できる最小の幅となるグリッド数である移動体グリッド数Nを確認する。本実施形態における移動体グリッド数Nは、「8」である。移動体グリッド数Nは、グリッドマップM1に車体20を設定したときの車体20の幅に対応するグリッド数よりも大きく設定される。なお、障害物Ob間を車体20が安全に移動できるときの車体20と障害物Obとの間の隙間の大きさは、車体20の種類や経路生成装置10を採用する利用者によって適宜変更される。そのため、グリッドマップM1に車体20を設定したときの車体20の幅に対応するグリッド数から移動体グリッド数Nへの増加量は、適宜変更される。
【0018】
図4に示すように、経路生成装置10は、グリッドマップM1における移動体グリッド数Nに応じてグリッドマップM1の解像度を下げた低解像度グリッドマップM2を生成する。低解像度グリッドマップM2は、移動体グリッド数Nが「8」であるため、移動体グリッド数Nを「2」で除した数のグリッドマップM1におけるグリッドを縦横に有するグリッドを有している。
図4では、黒色中太の線で区切られたグリッドが、低解像度グリッドマップM2のグリッドである。
【0019】
ここで、概略経路の生成のために低解像度グリッドマップM2を使用する理由を説明する。
地図情報のサイズが大きいほどグリッドマップM1に地図情報を設定するために使用するメモリ12の容量が多くなる。上記の地図情報は、500メートル四方という広範囲の情報である。そのため、グリッドマップM1のまま車体20の概略経路Roを生成してしまうと、使用するメモリ12の容量が多いため、経路生成装置10の演算負荷が増え、ひいては経路生成装置10の演算速度も遅くなる。即ち、低解像度グリッドマップM2を使用する理由は、車体20の概略経路Roの生成に使用するメモリ12の容量を少なくするためである。
【0020】
移動体グリッド数Nを除する「2」を使用する理由も概略経路Roの生成に使用するメモリ12の容量を少なくするためである。移動体グリッド数Nを除する数値は、グリッドマップM1の解像度を下げるために設定される数値である。グリッドマップM1から低解像度グリッドマップM2を生成するときに解像度をより下げるためには、除する数値を可能な限り小さくすることが好ましい。グリッド数は整数であることを考慮すれば、「2」という数値がグリッドマップM1の解像度を下げるための最大値である。よって、概略経路Roの生成に使用するメモリ12の容量を最も効率的に少なくするために「2」という数値が採用されている。
【0021】
なお、本実施形態では、移動体グリッド数Nが偶数であるため、低解像度グリッドマップM2のグリッドは、移動体グリッド数Nを「2」で除した数のグリッドマップM1のグリッドを縦横に有していた。ここで、例えば車体20の幅によっては、移動体グリッド数Nが奇数となる場合もある。移動体グリッド数Nが奇数である場合、「2」で除すると整数とならない。そして、グリッド数は一般的に整数である。そのため、移動体グリッド数Nが奇数である場合、低解像度グリッドマップM2のグリッドは、移動体グリッド数Nに「1」を加算した数を「2」で除した数のグリッドマップM1におけるグリッドを縦横に有するように変更する。
【0022】
このように、低解像度グリッドマップ生成処理S101では、グリッドマップM1の解像度を下げた低解像度グリッドマップM2を生成する。
図5に示すように、障害物情報設定処理S102は、低解像度グリッドマップM2のグリッドのうち障害物Obが設定されているグリッドに障害物Obがあることを示す情報である第1情報I1を設定する処理である。
図5では、斜線が設けられている低解像度グリッドマップM2のグリッドに第1情報I1が設定されている。本実施形態では、第1情報I1には「1」という数値が採用されている。即ち、低解像度グリッドマップM2の1つのグリッドに含まれるグリッドマップM1の複数のグリッドのうち少なくとも1つに障害物Obが設定されている場合、低解像度グリッドマップM2の当該1つのグリッドの全域に障害物Obがあるものとして取り扱う。なお、第1情報I1は、「1」という数値でなくてもよく、例えば「0」という数値でもよい。また、第1情報I1は、数値に限らず文字であってもよい。即ち、第1情報I1とは、障害物Obがあることを示す情報として低解像度グリッドマップM2のグリッドに設定されるのであれば、設定内容は適宜変更してもよい。
【0023】
次に、移動/非移動領域区別処理S103について
図5~
図7に従って説明する。移動/非移動領域区別処理S103は、車体20が移動できる領域である移動領域Maと、車体20が移動できない領域である非移動領域Munとを区別する処理である。
【0024】
図5に示すように、低解像度グリッドマップM2は、第1情報I1が設定されていないグリッド、及び当該第1情報I1が設定されていないグリッドを挟み込む第1情報I1が設定されたグリッドにより形成される第1領域R1を複数有している。本実施形態では、第1領域R1は、低解像度グリッドマップM2において、第1情報I1が設定されていない1つのグリッドと、第1情報I1が設定された2つのグリッドとにより構成されている。即ち、第1情報I1が設定されていないグリッド、及び当該第1情報I1が設定されていないグリッドを挟み込む第1情報I1が設定されたグリッドにより形成される領域のうち最も小さな範囲を第1領域R1としている。移動/非移動領域区別処理S103では、第1領域R1において車体20が移動できるだけのグリッド数があるか否かを判断する。具体的には、
図6を用いて説明する。
【0025】
図6には、複数の第1領域R1のうちの1つを例示している。移動/非移動領域区別処理S103では、低解像度グリッドマップM2の第1領域R1と、第1領域R1に対応する位置を示すグリッドマップM1の第2領域R2とを比較する。具体的には、低解像度グリッドマップM2の第1領域R1に対応する位置だけをグリッドマップM1の解像度で表現し、障害物Obの配置を詳細に確認する。移動/非移動領域区別処理S103では、グリッドマップM1の第2領域R2に存在する障害物Ob間のグリッド数が移動体グリッド数Nを下回るか否かを判断する。例えば、
図6では、障害物Ob間のグリッド数は、「6」である。そのため、
図6に示す第1領域R1では、車体20は移動できないように障害物Obが配置されていることが確認できる。
【0026】
図7に示すように、移動/非移動領域区別処理S103では、グリッドマップM1の第2領域R2に存在する障害物Ob間のグリッド数が移動体グリッド数Nを下回る場合、次のようにする。第1領域R1の第1情報I1が設定されていないグリッドに車体20が移動できないことを示す第2情報I2を設定する。
図5と比較して斜線が追加されている低解像度グリッドマップM2のグリッドに第2情報I2が設定されている。本実施形態では、第2情報I2には「0」という数値が採用されている。移動/非移動領域区別処理S103では、低解像度グリッドマップM2の複数の第1領域R1それぞれに対して上記処理を実施する。これにより、移動/非移動領域区別処理S103では、低解像度グリッドマップM2において移動領域Maと非移動領域Munとが区別される。移動領域Maは、第1情報I1及び第2情報I2が設定されていないグリッドにより形成される領域である。非移動領域Munは、第1情報I1又は第2情報I2が設定されたグリッドにより形成される領域である。なお、第2情報I2は、「0」という数値でなくてもよく、例えば「1」という数値でもよい。この場合、第1情報I1として「0」を採用するとよい。また、第2情報I2は、数値に限らず文字であってもよい。即ち、第2情報I2とは、車体20が移動できないことを示す情報として低解像度グリッドマップM2のグリッドに設定されるのであれば、設定内容は適宜変更してもよい。
【0027】
概略経路生成処理S104では、低解像度グリッドマップM2に基づいて概略経路Roを生成する。具体的には、
図8に示すように、概略経路生成処理S104では、低解像度グリッドマップM2の移動領域Maにおいて、車体20が移動を開始する開始点Sと、車体20の移動の目標点である目標点Gとの間で概略経路Roを生成する。経路生成装置10は、多様な経路生成方法を採用することができるが、本実施形態では例えばA-Star探索アルゴリズムやダイクストラアルゴリズムを利用して開始点Sから目標点Gまでの最短の概略経路Roを生成している。なお、生成される概略経路Roは、開始点Sから目標点Gまでの最短経路である必要はなく、自律走行車1が経由すべき経由点があれば、移動領域Maにおいて開始点Sから当該経由点を経由して目標点Gに至る概略経路Roを生成してもよい。また、開始点Sから目標点Gまでの概略経路Roを生成するときに使用するアルゴリズムは、適宜変更してもよい。
【0028】
次に、部分地図切出処理S105、障害物設定処理S106及び詳細経路生成処理S107について
図9~
図16に従って説明する。
図9に示すように、部分地図切出処理S105では、低解像度グリッドマップM2において、概略経路生成処理S104において生成された概略経路Roを分割して概略経路Roに沿って部分地
図Mp1,Mp2,Mp3を切り出す。つまり、概略経路Roの周辺部分を含む第1分割領域(第1部分地
図Mp1)、第2分割領域(第2部分地
図Mp2)、及び第3分割領域(第3部分地
図Mp3)に分割する。上記の周辺部分とは、概略経路Roに周辺に存在する障害物Obの一部を含む部分を示している。第1部分地
図Mp1は、概略経路Roにおける開始点Sを含んでいる。第3部分地
図Mp3は、概略経路Roにおける目標点Gを含んでいる。第2部分地
図Mp2は、第1部分地
図Mp1と第3部分地
図Mp3との間の領域である。第2部分地
図Mp2は、第1部分地
図Mp1及び第3部分地
図Mp3と一部オーバーラップするように配置されている。
【0029】
図10に示すように、低解像度グリッドマップM2の第1部分地
図Mp1に対応するグリッドマップM1の領域を確認し、車体20が移動するための第1詳細経路Rd1を生成する。
【0030】
この第1部分地
図Mp1での詳細経路生成処理S107に先立ち、経路生成装置10は、障害物設定処理S106では、
図11に対し
図12に示すように実施する。例えば、
図12に示すごとく低解像度グリッドマップM2における部分地
図Mp1,Mp2,Mp3での概略経路Roの周辺のグリッド以外をすべて障害物として設定する処理を実施する。
【0031】
詳しくは、
図11に示す概略経路Roに対し、
図12に示すように、その周辺の1つのグリッドGn1よりも外側のグリッドGn2を全て障害物として設定する。即ち、概略経路Roに隣接する1つのグリッドGn1より外側のグリッドGn2を全て障害物として設定する。このように、概略経路Roに沿って切り出した部分地図に対して、経路の周りの1つのグリッド以外をすべて障害物とし、その後に、
図10に示すように、経路形成用に残されたグリッド内で詳細経路Rd1を生成する。詳細経路Rdも基本的には概略経路Roとほぼ同じ場所を通るため、経路生成に必要ないグリッドでのメモリ使用量を抑えることが可能となる。
【0032】
詳しく説明する。上述したように、
図3に示した実際の地図から車体20の通過可能幅を考慮し、
図7に示したように、解像度を下げる。そして、解像度を下げた地図で、
図8に示すように、経路生成を行う(概略経路生成)。さらに、
図9に示すように、詳細経路生成のために概略経路Roに沿って部分地
図Mp1,Mp2,Mp3を切り出す。ここで、詳細経路生成には元のグリッドマップの大きさで行う必要がある。切り出しは、四角形でしか切り出せないため、概略経路Roに沿って、
図9のように切り出すことになる。
図9では3回切り出している例である。また、部分地図同士の経路をつなぐ必要があるため、
図13の部分地図(Mp1)の端は、前後の地図(Mp2)と少し重なるように切り出す。そして、
図12に示すように、切り出した部分地図の使用するグリッドのみ使用するため、それ以外のグリッドを障害物と同じ扱いにする。そのために、概略経路Roの付近だけ詳細経路生成に使用するグリッドとして残し、それ以外を障害物と同じ扱いにする。
【0033】
障害物と同じ扱いにする意味は、経路生成時に経路が生成される可能性があるグリッドには多くの情報が入る。例えば、禁止領域、一方通行、優先道路など様々な情報がグリッドの情報として持たされる。しかし、障害物情報とすれば、そこには経路が生成できないため、上記のような情報が必要ない。概略経路Roに沿って必要な部分のみ残して要らない所は障害物として設定することにより、グリッドの持つ情報が大幅に減り、メモリ使用量も大きく減らすことが可能となる。
【0034】
図14に示すように、詳細経路生成処理S107では、低解像度グリッドマップM2の第2部分地
図Mp2に対応するグリッドマップM1の領域を確認し、車体20が移動するための第2詳細経路Rd2を生成する。このとき、第2部分地
図Mp2には、第1部分地
図Mp1における第1詳細経路Rd1の終点が含まれている。詳細経路生成処理S107では、第1詳細経路Rd1の終点を第2詳細経路Rd2の始点として第2詳細経路Rd2を生成する。この第2部分地
図Mp2での詳細経路生成処理S107に先立ち、経路生成装置10は、障害物設定処理S106では、第1詳細経路Rd1の生成時と同様にする。即ち、グリッドマップにおける第2部分地
図Mp2での概略経路Roの周辺のグリッド以外をすべて障害物として設定する処理を実施する。
【0035】
図15に示すように、詳細経路生成処理S107では、低解像度グリッドマップM2の第3部分地
図Mp3に対応するグリッドマップM1の領域を確認し、車体20が移動するための第3詳細経路Rd3を生成する。第3部分地
図Mp3には、第2部分地
図Mp2における第2詳細経路Rd2の終点が含まれている。詳細経路生成処理S107では、第2詳細経路Rd2の終点を第3詳細経路Rd3の始点として第3詳細経路Rd3を生成する。この第3部分地
図Mp3での詳細経路生成処理S107に先立ち、経路生成装置10は、障害物設定処理S106では、第1詳細経路Rd1の生成時と同様にする。即ち、グリッドマップにおける第3部分地
図Mp3での概略経路Roの周辺のグリッド以外をすべて障害物として設定する処理を実施する。
【0036】
図16に示すように、詳細経路生成処理S107では、各部分地
図Mp1,Mp2,Mp3で生成された各経路Rd1,Rd2,Rd3をグリッドマップM1上において連続させることにより詳細経路Rdを生成する。なお、本実施形態では、低解像度グリッドマップM2を各部分地
図Mp1,Mp2,Mp3に分割していたが、これに限らない。例えば、2分割でもよいし、4分割以上であってもよい。低解像度グリッドマップM2を分割する数が少ないほど、表現するグリッドマップM1のグリッド数が増大するため、各経路の生成に使用するメモリ12の容量が多くなる。そのため、経路生成装置10の各経路の生成に使用するメモリ12の容量が多くなり、経路生成装置10の演算速度が遅くなってしまう。よって、低解像度グリッドマップM2を分割する数は、経路生成装置10のメモリ12の容量によって適宜変更する。
【0037】
本実施形態の作用を説明する。
低解像度グリッドマップM2に基づいて詳細経路Rdを作成する時に、概略経路Roを分割して概略経路Roに沿って部分地図を切り出し、部分地図における概略経路Roの周辺のグリッド以外をすべて障害物として設定する。
【0038】
1つの部分地図の大きさでメモリ使用量が決まるので、メモリ使用量を減らすことができる。例えば、メモリ使用量を半分にできると、部分地図を2倍の大きさで切り出すことができる。このようにして、メモリ使用量を大きく減らし、一回でより大きく部分地図を切り出せて、より長い詳細経路が生成できる。また、経路生成に使用するグリッドが少ないため、
図11と
図12との対比において、走行できる可能性がある領域についてソフト内ではその領域全てに対して計算する。
図11に比べ
図12では障害物として設定することにより当該領域は探索しなくてもよくなる。その結果、演算負荷を軽減することができる。このようにして、
図11に示す部分地図を用いた場合に比べ、グリッドの探索(計算回数)が少ないため、経路生成時の処理時間を短くすることができる。
【0039】
図17及び
図18を用いて、
図3とは異なるグリッドマップを使用した場合における
図11とは異なる状況での詳細経路生成処理S107に先立つ障害物設定処理S106について説明する。
【0040】
図17に示す低解像度グリッドマップM2において概略経路Roが形成されている。
図18に示すように、低解像度グリッドマップM2における部分地
図Mp1での概略経路Roの周辺のグリッド以外をすべて障害物として設定する処理を実施する。
図18では、概略経路Roの周辺のグリッドGn1よりも外側のグリッドGn2を全て障害物として設定する。このように、概略経路Roの周りのグリッド以外をすべて障害物とし、その後に、経路形成用に残されたグリッド内で詳細経路Rd1を生成することにより、経路生成に必要ないグリッドでのメモリ使用量を抑えることができる。
【0041】
本実施形態の効果を説明する。
(1)経路生成では一般的にグリッドマップを用いている。しかし、大規模地図の場合、グリッド数が大きくなり、メモリ不足に陥る。この場合、一般的にグリッドのサイズを大きくし、解像度を落として経路生成を行うが、通れない通路に経路が生成されたりと、経路生成の精度が悪くなる。そこで、最初に解像度を低くし、経路生成するが、通過可能幅ぎりぎりの通路となる場合を考慮して
図6で説明した移動/非移動領域区別処理S103を行って元のグリッドサイズで確認する。これにより、ただ解像度を落としただけの場合に比べ、より正確な経路生成が可能となる。また、概略経路生成後、生成した経路に沿って部分地図を切り出し、元のグリッドサイズで再度詳細な経路を生成する。しかし、詳細経路生成を行うと、大規模地図のため、切り出し地図でも元のサイズから見てもそれなりにサイズが大きく、メモリを圧迫することがある。
【0042】
本実施形態においては、障害物設定処理S106と、詳細経路生成処理S107と、を実施する。障害物設定処理S106では、低解像度グリッドマップM2における概略経路Roの周辺のグリッド以外をすべて障害物として設定する。詳細経路生成処理S107では、概略経路Roの周辺のグリッド以外をすべて障害物として設定した後の低解像度グリッドマップM2に基づいて概略経路Roに沿って車体20が移動を開始する開始点Sと、車体20の移動の目標点Gとの間で詳細経路Rdを生成する。これにより、メモリ使用量を軽減することができる。また、経路生成装置10の処理容量が少なくなることにより、経路生成装置10の演算負荷をより低減させることができる。
【0043】
(2)低解像度グリッドマップM2に基づいて詳細経路Rdを作成する時に、概略経路Roを分割して概略経路Roに沿って部分地図を切り出す部分地図切出処理S105を、更に実施する。障害物設定処理S106は、部分地図における概略経路Roの周辺のグリッド以外をすべて障害物として設定する。詳細経路生成処理S107は、次のようにする。切り出した部分地図について概略経路Roの周辺のグリッド以外をすべて障害物として設定した後の低解像度グリッドマップM2に基づいて概略経路Roに沿って車体20が移動を開始する開始点Sと、車体20の移動の目標点Gとの間で詳細経路Rdを生成する。よって、部分地図における概略経路Roの周辺のグリッド以外をすべて障害物として設定することにより、メモリ使用量を大きく減らすことができる。そして、一回でより大きく部分地図を切り出せることにより、より長い詳細経路Rdを生成することができる。その結果、処理速度を上げることができる。
【0044】
(3)
図12で示したように概略経路Roに隣接する1つのグリッドGn1より外側のグリッドGn2を全て障害物として設定することにより、最も広範囲が障害物となり、メモリ容量を最も少なくできる。
【0045】
なお、本実施形態は、以下のように変更して実施することができる。本実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
○
図12において概略経路Roに対しその周辺の1つのグリッドGn1よりも外側のグリッドGn2を全て障害物として設定したが、これに限るものではない。概略経路Roに対しその周辺の2つ以上のグリッドよりも外側のグリッドを全て障害物として設定してもよい。
【0046】
○ 低解像度グリッドマップM2において、第1領域R1は、2つの第1情報I1が設定されたグリッドと、複数の第1情報I1が設定されていないグリッドとにより構成されていてもよい。
【0047】
○ グリッドマップM1の外枠部分は、本実施形態では工場等の壁部を示しているため、障害物Obがあるとして取り扱っていたが、これに限らない。グリッドマップM1に基づき車体20が移動する経路を生成するにあたって、グリッドマップM1上に開始点S及び目標点Gがある。そのため、そもそも車体20がグリッドマップM1外に離脱する経路を生成しないことから、グリッドマップM1の外枠部分は車体20が移動できない領域として設定されることも考えられる。即ち、低解像度グリッドマップM2の外枠部分には、車体20が移動できないことを示す第2情報I2が設定されてもよい。このように変更するとき、低解像度グリッドマップM2において、第3領域が形成される。第3領域は、第1情報I1が設定されていない1つのグリッドと、当該第1情報I1が設定されていないグリッドを挟み込む第1情報I1が設定されたグリッド及び第2情報I2が設定されたグリッドとにより形成される。経路生成装置10は、第3領域に対応する位置のグリッドマップM1のグリッド数が移動体グリッド数Nを下回るか否かを判定し、移動体グリッド数Nを下回る場合、第3領域における第1情報I1が設定されていないグリッドに第2情報I2を設定する。よって、低解像度グリッドマップM2において移動領域Maと、非移動領域Munとを区別することができる。
【0048】
○ 自律走行車1は、搬送台車であったが、これに限らない。例えば、掃除ロボットのような移動ロボットであってもよい。
○ また、経路生成装置10は、自律走行車1に適用されていたが、例えば自動車やフォークリフト等の車両に適用してもよい。また、経路生成装置10が移動体としての車体20が移動する経路を生成したが、例えばコンピュータで生成された空間でのアバターを移動体として、コンピュータで生成された空間でのアバターが移動する経路を生成してもよい。
【符号の説明】
【0049】
10…経路生成装置、20…車体、S101…低解像度グリッドマップ生成処理、S104…概略経路生成処理、S105…部分地図切出処理、S106…障害物設定処理、S107…詳細経路生成処理、Ro…概略経路、Rd…詳細経路、Mp1…第1部分地図、Mp2…第2部分地図、Mp3…第3部分地図、M1…グリッドマップ、M2…低解像度グリッドマップ、S…開始点、G…目標点、Ob…障害物。