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

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

▶ 株式会社ミツバの特許一覧

特許7745327経路生成装置、経路生成方法、および経路生成プログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-09-18
(45)【発行日】2025-09-29
(54)【発明の名称】経路生成装置、経路生成方法、および経路生成プログラム
(51)【国際特許分類】
   G01C 21/34 20060101AFI20250919BHJP
   G08G 1/00 20060101ALI20250919BHJP
   G08G 1/16 20060101ALI20250919BHJP
【FI】
G01C21/34
G08G1/00 X
G08G1/16 D
【請求項の数】 5
(21)【出願番号】P 2022052434
(22)【出願日】2022-03-28
(65)【公開番号】P2023145131
(43)【公開日】2023-10-11
【審査請求日】2024-09-27
(73)【特許権者】
【識別番号】000144027
【氏名又は名称】株式会社ミツバ
(74)【代理人】
【識別番号】110002066
【氏名又は名称】弁理士法人筒井国際特許事務所
(72)【発明者】
【氏名】岩田 知之
(72)【発明者】
【氏名】榎本 孝史
【審査官】上野 博史
(56)【参考文献】
【文献】特開2022-028983(JP,A)
【文献】特開2020-152200(JP,A)
【文献】特開2022-026601(JP,A)
【文献】国際公開第2019/142607(WO,A1)
【文献】特開2012-022468(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01C 21/34
G08G 1/00
G08G 1/16
(57)【特許請求の範囲】
【請求項1】
地図のデータを読み出す地図読出部と、
指定された前記地図内の出発地と到着地を用いて経路の探索を行う経路探索部と、
探索された前記経路を構成する経路点に、前記経路点を包含し前記経路の進行方向を基準とした左右を異なる幅に設定可能な検査パターンを適用することにより、前記経路点と前記地図内の障害物との距離を設定する経路整形部と、
を備える、
経路生成装置。
【請求項2】
前記検査パターンは、前記経路の進行方向を基準とした左右の少なくとも一方の幅を指定可能である、
請求項1に記載の経路生成装置。
【請求項3】
請求項1または請求項2に記載の経路生成装置において、
前記地図内の通路の幅を車両幅の半分に圧縮する圧縮部を備え、
前記経路探索部は、圧縮された前記通路の幅が前記車両幅に満たない通路を、前記探索の対象から除外する、
経路生成装置。
【請求項4】
コンピュータが、
地図のデータを読み出し、
指定された前記地図内の出発地と到着地を用いて経路の探索を行い、
探索された前記経路を構成する経路点に、前記経路点を包含し前記経路の進行方向を基準とした左右を異なる幅に設定可能な検査パターンを適用することにより、前記経路点と前記地図内の障害物との距離を設定する、
経路生成方法。
【請求項5】
コンピュータを、
地図のデータを読み出す地図読出部と、
指定された前記地図内の出発地と到着地を用いて経路の探索を行う経路探索部と、
探索された前記経路を構成する経路点に、前記経路点を包含し前記経路の進行方向を基準とした左右を異なる幅に設定可能な検査パターンを適用することにより、前記経路点と前記地図内の障害物との距離を設定する経路整形部と、
して機能させるための経路生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、経路生成装置、経路生成方法、および経路生成プログラムに関する。
【背景技術】
【0002】
例えば特許文献1では、住宅の間取図の情報に基づいて、ユーザが通過できる経路を探索し、探索した経路に平滑化等の後処理を施して最終的な経路を生成する技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特許第6304771号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術では、例えば自律移動ロボット等が移動するための経路を、RRT*(RRTstar)などのアルゴリズムで生成し、当該経路を後処理による間引きやスムージングを適用して最終的な経路を生成した場合に、生成された修正経路が壁等の障害物と交差してしまう場合があった。
【0005】
本発明の目的は、より改善された修正経路を生成することが可能な経路生成装置、経路生成方法、および経路生成プログラムを提供することにある。
【課題を解決するための手段】
【0006】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【0007】
本発明の代表的な実施の形態による経路生成装置は、
地図のデータを読み出す地図読出部と、
指定された前記地図内の出発地と到着地を用いて経路の探索を行う経路探索部と、
探索された前記経路を構成する経路点に、前記経路点を包含し前記経路の進行方向を基準とした左右を異なる幅に設定可能な検査パターンを適用することにより、前記経路点と前記地図内の障害物との距離を設定する設定部と、
を備える。
【発明の効果】
【0008】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【0009】
すなわち、本発明の代表的な実施の形態によれば、より改善された修正経路を生成することができる。
【図面の簡単な説明】
【0010】
図1】本発明の実施の形態における経路生成装置の制御構成を示す機能ブロック図である。
図2】経路探索部によって探索されたオリジナル経路および経路整形部によって整形された経路を説明する図である。
図3図2の(2)における修正経路CRが障害物Mbと干渉する場合を抽出して示す部分拡大図である。
図4】修正経路CRを構成する隣合う経路点CRn,CRn-1の間に中点MPを設ける処理を説明する部分拡大図である。
図5】修正経路CRの進行方向ベクトルVdm、進行方向ベクトルVdmを基準とした右方向ベクトルVrdおよび左方向ベクトルVldを説明する部分拡大図である。
図6】検査パターンEPを配置する処理を説明する部分拡大図である。
図7】検査パターンEPを移動する際の障害物Mbとの干渉状態を例示する部分拡大図である。
図8】検査パターンEPを移動する際の障害物Mbとの干渉状態を例示する部分拡大図である。
図9】中継点を通る経路を生成するように再結線する処理を説明する部分拡大図である。
図10】従来技術を適用した比較例の経路と、本実施の形態の経路生成装置を用いて作成した経路とを比較して示す図である。
図11図1に示す経路生成装置における処理手順の形態を示すフローチャートである。
図12A】使用するAMRと通路幅との関係および実施の形態2に係る検査パターンについて説明する図である。
図12B】実施の形態2における経路生成装置の制御構成を示す機能ブロック図である。
図13】実施の形態2に係る検査パターンを、パラメータbとパラメータcを同じ値として設定した場合の経路の移動前および移動後の状態を説明する部分拡大図である。
図14】通路幅W<aの場合に、実施の形態2の検査パターンを適用した場合の処理について説明する部分拡大図である。
図15】通路幅W≧aかつ進行方向左側の干渉がない場合に、実施の形態2の検査パターンを適用した場合の処理について説明する部分拡大図である。
図16】進行方向における左右両側の干渉がない通路部分を示す部分拡大図である。
図17】環境地図の通路の幅を縮小させる処理例を説明する図である。
図18】実施の形態2に係る検査パターンのパラメータを決定する指標について説明する図である。
図19】実施の形態2の検査パターンを使用する場合の処理の流れを説明するフローチャートである。
【発明を実施するための形態】
【0011】
(実施の形態1)
以下、本発明の実施の形態を、図面を参照しつつ説明する。以下で説明する各実施の形態は、本発明を実現するための一例であり、本発明の技術範囲を限定するものではない。なお、実施例において、同一の機能を有する部材には同一の符号を付し、その繰り返しの説明は、特に必要な場合を除き省略する。
【0012】
<概要>
以下に説明する経路生成装置は、任意の環境地図を使用し、当該環境地図中で、自律移動ロボット等が移動可能な経路を探索、整形、修正、設定等するための装置である。本実施の形態の経路生成装置は、従来よりも改善された修正経路を生成することができる。
【0013】
<経路生成装置の構成>
図1は、本発明の実施の形態1に係る経路生成装置の構成の一例を示す構成図である。図1に示すように、経路生成装置10は、環境地図情報読出部1と、経路探索部2と、経路整形部3と、経路修正部4と、経路平滑化部5と、記憶部6と、を備える。また、図示しないが、経路生成装置10は、液晶ディスプレイなどの表示部、マウスやキーボードなどの操作入力部を備える。かかる経路生成装置10は、一台のコンピュータに実装することができ、また、例えばプリンタや通信装置などの任意の周辺装置を備えることができる。
【0014】
上記のうち、符号1~5で示される各ブロックは、CPU、MPUなどのハードウェアプロセッサが担う機能として実現することができる。なお、これら各ブロックは、適宜、別個のプロセッサを用いても構わない。記憶部6は、HDD、ROM、RAMなどの任意のデータ記憶媒体が使用され得る。
【0015】
環境地図情報読出部1は、記憶部6から環境地図のデータを読み出す処理を行う。環境地図の種類は、特に限定されるものではなく任意であるが、ここでは、特記する場合を除き、自律移動ロボット等が移動可能な幅を有する通路が形成された地図であることを前提として説明する。また、以下は、環境地図中の通路以外の部分は障害物であることを前提とする(適宜、図2中の黒色の部分を参照)。
【0016】
環境地図情報読出部1によって読み出された環境地図のデータは、RAM等の作業領域に展開され、さらには上述した表示部に表示することができる。なお、読み出された環境地図のデータは、プリンタ等を通じて用紙などに印刷することもできる。総じて、環境地図情報読出部1は、経路設定前の環境地図の情報を読み出して出力する処理を行う。
【0017】
経路探索部2は、出力された環境地図から、上述したRRT*(RRTstar)などのアルゴリズムを用いて、自律移動ロボット等が移動するための経路を探索する。なお、経路探索部2による経路探索に先立って、例えば、上述した操作入力部を用いて、出発点(スタート地点)、到着点(ゴール地点)、適宜の中間通過点などを設定することができる。この場合、経路探索部2は、出力された環境地図から、設定された出発点、到着点、中間通過点を通る経路を探索して、探索結果の経路を出力する。以下は、説明の便宜等のため、経路探索部2によって探索された経路を「オリジナル経路」と称する場合がある。
【0018】
図2中の上側の(1)は、ディスプレイ(表示画面)に出力された環境地図Mに対して、経路探索部2が経路を探索し、オリジナル経路ORとして出力した状態を示している。なお、図中の「START」および「GOAL」で示す位置は、予め設定された出発点(スタート地点)および到着点(ゴール地点)であり、他の図についても同様である。また、以下は、特記しない限り、中間通過点を設定していない事例を前提とする。
【0019】
経路整形部3は、出力された探索結果の経路すなわちオリジナル経路ORを整形して出力する。具体的には、経路整形部3は、経路探索部2から出力されたオリジナル経路ORの経路点を間引くとともに、かかる間引き後の経路点を、障害物に接触させない範囲で適宜移動させて、間引き後の隣合う経路点同士を結線して整形経路CRとして出力する。なお、経路整形部3から出力された整形経路CRは、オリジナル経路ORを修正した形態という意味では修正経路とも言えるが、経路修正部4から出力される修正経路と区別するため、ここでは整形経路と称する。
【0020】
図2中の下側の(2)は、図2(1)の画面に対して、経路整形部3によってオリジナル経路ORが整形され、整形経路CRとして出力した状態を示している。
【0021】
なお、表示画面への表示態様の具体例としては、図2の(1)では、環境地図Mのレイヤー(第1のレイヤー)に、出力されたオリジナル経路ORのレイヤー(第2のレイヤー)を重畳して表示する。また図2中の下側の(2)では、さらに第3のレイヤーとして、オリジナル経路ORの経路点を間引いて整形した整形経路CRのレイヤーを重畳して表示する。
【0022】
経路修正部4は、経路整形部3によって整形された整形経路CRをさらに修正し、修正経路として出力する(適宜、図9に符号Rrjで示す経路を参照)。具体的には、経路修正部4は、中継点の必要箇所の算出、仮中継点の設定、検査パターンの設定、検査パターンの移動方向算出、および検査パターンの移動、交差判定、中継点決定、経路点結線という一連の処理を実行する。図1の右側には、経路修正部4における上記の処理を機能ブロック化して示す。
【0023】
すなわち、経路修正部4は、中継点必要箇所算出部41と、仮中継点設定部42と、検査パターン設定部43と、検査パターン移動方向算出部44と、検査パターン移動部45と、交差判定部46と、中継点決定部47と、経路点結線部48と、を有する。これら各部の機能については後述する。
【0024】
経路平滑化部5は、経路修正部4によって修正(いわば再修正)された経路に平滑化(スムージング)の処理を施すことにより、経路間の結線を滑らかにする。
【0025】
次に、図2(2)~図10を参照して、従来技術における課題および経路修正部4が実行する処理の詳細について、具体例に則して説明する。
【0026】
図2(2)中、右側に抽出して示す拡大部分は、従来の経路生成の処理における課題等を説明する図である。この部分拡大図に示すように、経路探索部2が出力したオリジナル経路ORは障害物Mbに干渉していないのに対して、経路整形部3が出力した整形経路CRの経路では、経路点CRnと経路点CRn+1とを結んだ経路が障害物Mb(この例では通路が略直角に曲がる部分)と交差すなわち干渉していることが分かる。
【0027】
これは、経路整形部3で行う処理のうち、間引き後の経路点(この例では経路点CRnおよび経路点CRn+1の少なくとも一方)を、障害物Mbに接触させない範囲で適宜移動させる処理において、これら経路点CRnと経路点CRn+1とを結ぶ経路が出来るだけ短くなるように移動させるためであることが判明した。
【0028】
他の観点からは、経路整形部3で上記のような処理が行われることによって、整形経路CRの経路が障害物Mbと交差する箇所では、交差しない箇所(この例では通路が直線状の部分)と比較して、隣り合う経路点間の距離が長くなることが判明した(適宜、図2(2)中に示す整形経路CRの各々の経路点を参照)。
【0029】
そこで、本実施の形態では、経路生成装置10の経路修正部4が以下のような処理を行うことで、整形経路CRの経路が障害物Mbと交差する箇所の経路を再構成する。
【0030】
まず、経路修正部4は、中継点必要箇所算出部41の機能を遂行する。ここで、中継点必要箇所算出部41は、経路整形部3により出力された整形経路CRにおいて、経路点の間隔が閾値を越えている箇所すなわち、整形経路CR中の隣り合う2つの経路点のうち、点同士の距離が閾値を越えている2つの経路点CRnおよびCRn+1を全て抽出する。より具体的には、中継点必要箇所算出部41は、整形経路CRにおける隣り合う2つの経路点の距離を算出し、当該算出値が閾値を越えているか否かを判定し、越えていると判定された当該2つの経路点CRnおよびCRn+1を抽出する処理を、整形経路CRのSTARTの経路点からGOALの経路点に至るまで、繰り返し行う。
【0031】
ここで、閾値の値は、特に制限されるものではなく、また、上述した操作入力部を通じてユーザが任意に設定(初期値を変更)することができる。但し、閾値の値は、整形経路CRを構成する他の経路点の距離よりも長い値であることを要するため、初期値の一例としては、他の経路点の距離の2倍の値とする。
【0032】
なお、図2中の(2)を参照すると、STARTからGOALに至るまでの整形経路CR中、障害物、この例では直角に曲がるように張り出している壁の部分が、左下側、下側、上側、右上側の4か所にある。このうち、左下側の障害物は、START地点の位置との関係で、オリジナル経路ORおよび整形経路CRとのいずれとも交差せず、このため、整形経路CRの対応する2つの経路点も閾値を越えない。これに対して、下側、上側、右上側の3か所の障害物は、オリジナル経路ORでは交差しないが、整形経路CRではそれぞれ交差しているものとする。
【0033】
以下は、説明の繰り返し等を省くため、図2(2)の拡大抽出図で示す上側の障害物Mbとの交差およびかかる交差を解消するための経路修正部4が行う処理の詳細を、図3以降を参照して詳細に説明する。
【0034】
図3は、図2の(2)における整形経路CRが障害物Mbと干渉する場合を抽出して示す部分拡大図である。図3中、矢印Dは、オリジナル経路ORにおける進行方向を示している。また、経路点CRnおよびCRn+1は、整形経路CR中の隣り合う2つの経路点のうち、点同士の距離が閾値を越えている経路点であって、添え字nはSTART地点の経路点が1とした場合のn番目の点である旨を意味する。また、添え字n+1は、n番目の経路点の次点すなわち進行方向における次の点である旨を意味する。
【0035】
続いて、経路修正部4は、仮中継点設定部42の機能を遂行する。ここで、仮中継点設定部42は、中継点必要箇所算出部41によって抽出された、経路点CRnと経路点CRn+1との間に、仮中継点としての中点MPを設定する。
【0036】
図4は、整形経路CRを構成する隣合う経路点CRn,CRn+1の間に中点MP(仮中継点)を設定する処理を説明する部分拡大図である。この例では、経路点CRnと経路点CRn+1との中間位置に中点MPを設ける場合について図示しているが(図5(1)も参照)、障害物の形状等によっては、中点MPを、経路点CRnに近い側に配置する或いは逆に経路点CRn+1に近い側に配置してもよい。
【0037】
また、仮中継点設定部42は、中継点必要箇所算出部41によって抽出された、経路点CRnと経路点CRn+1との進行方向ベクトルVdmを算出する。さらに、仮中継点設定部42は、算出された進行方向ベクトルVdmに対して、右側と左側を定義する。ここで、図5は、整形経路CRの進行方向ベクトルVdm、進行方向ベクトルVdmを基準とした右方向ベクトルVrdおよび左方向ベクトルVldを説明する部分拡大図である。
【0038】
すなわち、図3で上述した矢印Dおよび図5の(1)を参照して分かるように、この例では、進行方向ベクトルVdmは、経路点CRnから経路点CRn+1に向かう矢印、より詳しくは、経路点CRnから中点MPを経て経路点CRn+1に向かう矢印となる。また、図5の(2)を参照すると、この例では、進行方向ベクトルVdmを時計回りに90度回転させた矢印が右方向ベクトルVrdと定義され、進行方向ベクトルVdmを反時計回りに90度回転させた矢印が左方向ベクトルVldと定義される。
【0039】
なお、右方向ベクトルVrdおよび左方向ベクトルVldの定義は、必ずしも上記に限定されるものではない。他にも例えば、右方向ベクトルVrdについて、進行方向ベクトルVdmを時計回りに30度、45度、60度など、任意の角度に回転させた矢印と定義してもよく、左方向ベクトルVldの定義についても同様である。
【0040】
続いて、経路修正部4は、検査パターン設定部43の機能を遂行する。ここで、検査パターン設定部43は、仮中継点設定部42によって設定された中点MPに対して、図6の(1)に示すような検査パターンEPを設定する。より具体的には、検査パターン設定部43は、中点MPの座標を中心とする半径bの円形検査パターン(バイナリビットマップ)を配置する。なお、半径bの値は、特に制限されるものではなく、また、上述した操作入力部を通じてユーザが任意に設定(初期値を変更)することができる。
【0041】
図6の(2)は、図6の(1)に示す検査パターンEPを中点MPに配置(設定)した状態を示している。図6の(2)に示す例では、中点MPに、検査パターンEPの中央の部分すなわちパターン中央EPmを一致させて、中点MPと検査パターンEPとを合体すなわち一体化させた構成を示している。
【0042】
なお、図6に示す例では、検査パターンEPの外縁形状を円形とした場合を例示するが、かかる形状はこれに限定されるものではなく、他にも例えば、4角形や6角形などの多角形状としてもよい。さらに他の例として、検査パターンEPの外縁形状として、左右で非対象の形状、例えば右方向ベクトルVrd方向と左方向ベクトルVld方向とで径の異なる半円を組み合わせた形状であってもよい。
【0043】
次に、経路修正部4は、交差判定部46の機能を遂行する。ここで、交差判定部46は、検査パターン設定部43によって設定された検査パターンEPと、対応する障害物Mbとが交差するか否かを判定する。なお、この例では、経路生成の環境地図Mは、バイナリビットマップで表され、具体的には、通路となる通過可能領域は1で表され、壁などの障害物Mbの領域は0で表されているものとする。したがって、交差判定部46が行う交差判定の一具体例としては、検査パターンEPの円の外縁を表す二次元座標値のいずれかが、環境地図M中の障害物Mbすなわち0で表されている二次元座標値と一致する場合、交差すると判定する。一方、交差判定部46は、検査パターンEPの円の外縁を表す二次元座標値のいずれもが、環境地図M中の障害物Mbすなわち0で表されている二次元座標値と一致しない場合、交差しないと判定する。
【0044】
ここで、交差判定部46によって交差するとの判定結果が出力された場合、経路修正部4は、検査パターン移動方向算出部44の機能を遂行する。ここで、検査パターン移動方向算出部44は、交差するとの判定結果に応じて、当該中点MP(仮中継点)を移動させる方向を決定する処理を行う。検査パターン移動方向算出部44による、中点MP(仮中継点)を移動させる方向を決定する処理の一具体例としては、上述した右方向ベクトルVrdおよび左方向ベクトルVldのいずれか一方に移動させる決定を行う。
【0045】
一具体例では、交差するとの判定結果が出力された場合に、検査パターン移動方向算出部44は、上記の決定を、予め定められた移動量の上限値または上限回数(m回)だけ連続して繰り返す。この理由は、仮に中点MP(仮中継点)を移動させる方向(右方向ベクトルVrd、左方向ベクトルVldの別)が妥当であっても、1回だけの移動では障害物Mbとの交差が解消されない場合があり得るからである。
【0046】
なお、上述した移動量またはmの値は、操作入力部を通じてユーザが任意に設定(初期値を変更)することができる。一具体例では、移動量の上限値(初期値)としては、検査パターンEPの半径の整数倍、例えばb×2の2bとする。
【0047】
次に、経路修正部4は、検査パターン移動部45の機能を遂行する。ここで、検査パターン移動部45は、検査パターン移動方向算出部44によって決定された移動方向(右方向ベクトルVrd、左方向ベクトルVldの別)に従って、中点MP(仮中継点)を移動させる処理を行う。
【0048】
そして、経路修正部4は、上記の移動量の上限値または上限回数を限度として、検査パターンEPの外縁が障害物Mbと交差しなくなるまで、上述した交差判定部46による交差判定、検査パターン移動方向算出部44による移動方向決定、および検査パターン移動部45による検査パターンEPひいては中点MP(仮中継点)の移動の処理を繰り返す。
【0049】
総じて、検査パターン移動部45は、検査パターンが障害物に干渉しなくなるように、検査パターンEPの(座標)位置を移動させる機能を担う。
【0050】
かくして、上記のような一連の処理を行うことで、障害物Mbと整形経路CRとの干渉を解消することができる。
【0051】
ここで、経路修正部4は、上述した交差判定により交差しない旨の判定結果が出力された場合、中継点決定部47および経路点結線部48の機能を順次実行する。ここで、中継点決定部47は、検査パターンEPひいては仮中継点としての中点MPの位置を、中継点として設定する(確定させる)処理を行う。そして、経路点結線部48は、経路点CRnと設定(確定)された経路点とを結線し、さらに、当該経路点と次の経路点CRn+1とを結線する処理を行う。
【0052】
一方で、障害物Mbが複雑な形状である等の種々の要因により、上記のような処理を繰り返しても障害物Mbとの交差が解消されない場合があり得る。図7の(1)および(2)は、検査パターンEPを右方向ベクトルVrdに従って移動する際の障害物Mbとの干渉状態を例示する部分拡大図であり、図7に示す例では、検査パターンEPの移動方向が妥当でないことが分かる。このような場合、経路修正部4は、以下の処理を行う。
【0053】
経路修正部4は、検査パターン移動部45の機能を遂行する。このとき、検査パターン移動部45は、直前に検査パターン移動方向算出部44によって決定された移動方向(右方向ベクトルVrd、左方向ベクトルVldの別)とは反対方向に、中点MP(仮中継点)を移動させる処理を行う。そして、上述と同様に、事前に設定された移動量または移動回数を上限として、検査パターンEPの外縁が障害物Mbと交差しなくなるまで、上述した交差判定部46による交差判定、検査パターン移動方向算出部44による移動方向決定、および検査パターン移動部45による検査パターンEPひいては中点MP(仮中継点)の移動の処理を繰り返す。
【0054】
図8の(1)、(2)および(3)は、検査パターンEPを、図7とは逆の左方向ベクトルVldの方向に移動する際の障害物Mbとの干渉状態を例示する部分拡大図である。ここでも同様に、移動量の上限値または上限回数は事前に設けておき(例えば移動量の上限を2bとする)、その限度内で検査パターンEPを移動させる。そして、障害物Mbとの交差が無くなった場合は、その地点に中点MPを移動して中継点とする。
【0055】
なお、経路修正部4は、この逆方向移動の処理によっても障害物Mbとの交差が解消されない場合、再び検査パターン設定部43による検査パターンEPの設定の処理に戻る。このとき、検査パターン設定部43は、図6(1)で上述した半径bの値を変える、例えば直前状態と比べて半分の値に小さく設定した円形検査パターン(バイナリビットマップ)を配置し、上述した交差判定、移動方向決定、および検査パターンEPひいては中点MP(仮中継点)の移動の処理を繰り返す。
【0056】
そして、障害物Mbとの交差が解消された旨の判定結果が得られた場合、経路修正部4は、当該中継点EPmを経路点として挿入(設定ないし確定)し、各々の経路点を再結線することにより、上述した整形経路を修正した修正経路を生成する。図9は、中継点EPmを通る経路を生成するように再結線する処理を説明する部分拡大図である。ここで、経路点の結線、すなわち上述した経路点結線部48が行う結線処理の一具体例としては、スプライン内挿を用いることができる。
【0057】
このような一連の処理を行う本実施に形態によれば、図9中に示すように、障害物Mbとの交差(干渉)を解消した再結線経路Rrjを含む、より改善された経路(修正経路)を生成することができる。
【0058】
かくして、実施の形態1では、整形経路CRを構成し閾値距離を越えている経路点CRと経路点CRn+1との間に設けた中点MPに対し、当該中点MPよりも大きな外形の検査パターンEPを設定する。そして、本実施の形態では、設定された検査パターンEPおよび中点MPを、進行方向ベクトルVdmを基準とした右方向ベクトルVrd又は左方向ベクトルVldのいずれかの方向に移動させ、検査パターンEPの外形が障害物Mbと干渉しない位置まで移動した場合、検査パターンEPの中央ひいては中点MPを中継点として再結線を行う。このような一連の処理を行う本実施の形態の経路生成装置10によれば、図9に示すように、オリジナル経路ORにおける経路点の数を間引きつつ、最小限の中継点の追加により、障害物Mbと干渉しないオリジナル経路ORに近似した修正経路を生成することができる。
【0059】
図10は、従来技術を適用した比較例の経路と、本実施の形態の経路生成装置10を用いて作成した経路とを比較して示す図である。図10中の左側の(1)は、従来技術の手法による修正経路を示しており、上述した整形経路CRに対応した経路となっている。これに対し、図10中右側の(2)は、本実施の形態の経路生成装置10を用いて作成した修正経路を示している。
【0060】
図10の(1)に示す従来技術では、スプライン内挿とサンプリング一定化の手法を用いて修正経路を生成しており、左上側に円で囲った領域の経路において、右側に曲がる壁部分と干渉している部分があることが分かる。これに対して、図10の(2)に示す例では、上述した中継点EPmを経路点として挿入した後に、従来と同様のスプライン内挿とサンプリング一定化の手法を用いて修正経路を生成した。このように、本実施の形態の手法を用いて修正経路を生成することにより、左上側に円で囲った領域の経路において、右側に曲がる壁部分との干渉が解消されている。
【0061】
次に、図11のフローチャートを参照して、経路生成装置10が行う処理の流れについて説明する。なお、このフローチャートは、上述した環境地図情報読出部1によって環境地図が読み出されてディスプレイ(表示画面)に表示され(例えば図2に示す環境地図Mを参照)、かつ、出発地点(START)と目的地点(GOAL)が設定された後の処理に対応する。
【0062】
ステップS1において、経路生成装置10は、上述した経路探索部2を実行して、経路生成の処理を行う。この処理によって、ディスプレイ(表示画面)に読み出されている環境地図Mに対して、オリジナル経路OR(図2の(1)を参照)が重畳して表示される。
【0063】
ステップS2において、経路生成装置10は、経路整形部3を実行して、整形経路CRを生成する。このステップS2の処理により、オリジナル経路OR(図2の(1)を参照)の経路点の間引き等が行われた整形経路CRが表示される(図2の(2)を参照)。
【0064】
ステップS3において、経路生成装置10は、経路修正部4の中継点必要箇所算出部41を実行して、整形経路CRにおいて経路点の間隔が閾値を越えている箇所すなわち、整形経路CR中の隣り合う2つの経路点のうち、点同士の距離が閾値を越えている2つの経路点CRnおよびCRn+1を全て抽出する。
【0065】
ステップS4において、経路生成装置10は、経路修正部4の仮中継点設定部42を実行することにより、図4で上述したように、抽出された2つの経路点CRnおよびCRn+1の間に中点MPを設定する。さらに、経路生成装置10は、経路修正部4の検査パターン設定部43を実行することにより、図6で上述したような検査パターンEPを中点MP上に設定する。
【0066】
また、ステップS5において、経路修正部4は、抽出された2つの経路点CRnおよびCRn+1の進行方向ベクトルを算出する(図5中の矢印Vdmを参照)。なお、上述したステップS4とこのステップS5の実行順序は逆であってもよい。
【0067】
ステップS6において、経路生成装置10は、経路修正部4の交差判定部46を実行することにより、新たに設定された中点MP(仮中継点)を経由する経路が障害物と交差するか否かを判定する。この交差判定は、上述のように、検査パターンEPの外縁が障害物Mbと一致するか否かを基準として行うことができる。
【0068】
ここで、経路生成装置10は、障害物と交差する(ステップS6:YES)と判定した場合にはステップS7に移行する。一方、経路生成装置10は、障害物と交差しない(ステップS6:NO)と判定した場合にはステップS8に移行する。
【0069】
ステップS7において、経路生成装置10は、経路修正部4の検査パターン移動方向算出部44および検査パターン移動部45を実行することにより、検査パターンEPおよび中点MPを、右方向ベクトルVrdまたは左方向ベクトルVldのいずれか、この例では右方向ベクトルVrdに従って移動させる。ここで、経路生成装置10は、移動後の中点MPを、仮の中継点EPmとして設定する(図6および図7の(2)を参照)。
【0070】
この後、経路生成装置10は、ステップS6の判定ステップに戻り、仮の中継点EPmおよびこれを含む経路が障害物と交差するか否かを、上述した手法を用いて判定する。
【0071】
そして、上述と同様に、経路生成装置10は、障害物と交差する(ステップS6:YES)と判定した場合にはステップS7に移行する。続くステップS7では、経路生成装置10は、当該中継点EPを、これまでとは逆の左方向ベクトルVldに従って移動させる。経路生成装置10は、移動後の中継点EPを、仮のないし新たな中継点EPとして設定する(図8の(2)を参照)。
【0072】
このようにして、経路生成装置10は、新たな中継点EPm(およびこれを含む経路)が障害物と交差していない(ステップS6:NO)と判定するまでは、ステップS6の交差判定およびステップS7の仮の中継点EPを移動させる処理を繰り返す。
【0073】
そして、経路生成装置10は、交差判定部46によって検査パターンEPおよび中継点EPが障害物Mbと交差しない(ステップS6:NO)と判定された場合、ステップS8に移行する。
【0074】
障害物Mbと交差していない(ステップS6:NO)と判定された後のステップS8において、経路生成装置10は、経路修正部4の中継点決定部47および経路点結線部48を実行することにより、中継点EPを確定させ、かかる当該中継点EPを経由する経路を再結線し、ステップS9に移行する。
【0075】
ステップS9において、経路生成装置10は、経路修正部4の中継点必要箇所算出部41を実行することにより、整形経路CRにおいて、経路点の間隔が閾値を越えている箇所(中継点必要箇所)がなくなったか否かについて判定する。ここで、経路生成装置10は、中継点必要箇所がなくなっていない(ステップS9:NO)と判定した場合、ステップS4に処理を戻し、上述したステップS4以下の処理を繰り返し実行する。一方、経路生成装置10は、中継点必要箇所がなくなった(ステップS9:YES)と判定した場合、スタートからゴールまでの全ての経路において経路修正できたものと判断して、一連の処理を終了させる。
【0076】
(実施の形態2)
次に、実施の形態2について説明する。なお、以下では、前述の実施の形態1と重複する構成については、適宜説明を省略する。
【0077】
実施の形態1では、使用する自律移動ロボット(Autonomous Mobile Robot:AMR)の幅や通路の幅については特に考慮せずに経路を自動生成する構成とした。
【0078】
これに対して、実施の形態2では、これらの幅を考慮したサイズの検査パターンを設定して、制約条件となる通路の端(通常、壁などの障害物がある)から一定距離を保つ修正経路を自動生成する構成について説明する。
【0079】
図12Aは、使用するAMRと通路幅との関係および実施の形態2に係る検査パターンについて説明する図である。図12Aに示す例では、RRT*(RRTstar)などの既知のアルゴリズムを用いて生成した探索経路に対する通行ルールの適用案として、以下の規則(制約条件)を設ける。なお、以下に用いる用語「右」、「左」は、いずれも進行方向を基準とする。
【0080】
制約条件1:通路幅Wがa(m)未満、すなわちW<aの場合、当該通路の左からb(m)空けて目標経路TRを設定する。
【0081】
制約条件2:通路幅Wがa(m)以上、すなわちW≧aの場合、以下の2-1,2-2を満たすように設定する。
【0082】
2-1. 当該通路の右をc(m)以上空け、かつ、
2-2. もとの経路(生成した探索経路)からの修正を最小限にする。
【0083】
但し、a=b+c とする。
【0084】
本実施形態では、上述した経路探索部2の実行によって生成したオリジナル経路OR(図2(1)を参照)上の任意の経由点の位置を、経路整形部3の実行によって上記の制約条件1および制約条件2を満たすように移動させる。このような制約条件1および2を満たすように経路点の位置を移動することにより、一つの通路に2台分の車両(この例では同一幅を有する2台のAMR)が通過できる目標経路TRを自動生成する。
【0085】
図12Bは、実施の形態2の経路整形部3の機能を説明するためのブロック図である。なお、実施の形態1で上述した図1に示すブロックと同等なブロックについては同一の符号を付し、適宜その説明を省略する。
【0086】
図12Bに示すように、実施の形態2の経路整形部3は、検査パターン設定部33と、検査パターン移動方向算出部34と、検査パターン移動部35と、交差判定部36と、経由点決定部37と、を備える。これら各ブロックは、図1で上述した、符号43~47のブロックと類似した機能を担う。
【0087】
より具体的には、検査パターン設定部33は、経路探索部2によって生成されたオリジナル経路ORに対して、図12Aの右側に示すような検査パターンEPを設定する。この検査パターンEPの詳細については後述する。交差判定部36は、検査パターン設定部33によって設定された検査パターンEPと、対応する障害物Mbとが交差するか否かを判定する。
【0088】
検査パターン移動方向算出部34は、交差判定部36によって交差する旨の判定結果が出力された場合に、検査パターンEPを移動させる決定を行う。検査パターン移動部35は、検査パターン移動方向算出部34によって決定された移動方向(例えば右方向または左方向の別)に従って、検査パターンEP(仮中継点)を移動させる処理を行う。
【0089】
再び図12Aを参照すると、実施の形態2の一具体例では、通路の一方側、この例では左側については車両(AMR)が通過できるギリギリの幅となるようにパラメータbを設定する。また、通路の他方側、この例では右側については、もう一台分の車両(AMR)が通過できるようにパラメータcを設定する。これは、いわゆる左側通行のルールを考慮したものである。
【0090】
また、実施形態2では、図12Aに示すように、左右非対称に設定可能な検査パターンEPを用いる。この検査パターンEPは、進行方向の左側に設定される半径(すなわち幅)bの半円hc1と、進行方向の右側に設定される半径(すなわち幅)cの半円hc2と、を備える。また、半円hc1と半円hc2の境界位置は、目標経路TR上に配置される。
【0091】
ここで、検査パターンEPにおける半円hc1の半径(左側の幅)bの値、および半円hc2の半径(右側の幅)cの値は、上述した操作入力部を通じてユーザが任意に指定(初期値を変更)および設定することができる。このため、実施の形態2の検査パターンEPは、左右対称の円形に設定することもでき、言い換えると、b=cとしても構わない。図13は、実施の形態2に係る検査パターンEPを、パラメータbとパラメータcを同じ値として設定した場合の経路の移動前および移動後の状態を説明する部分拡大図である。
【0092】
図13中、環境地図中の経路および障害物Mbをビットマップで表し、半円hc1および半円hc2の半径(幅)をb=cとして設定した検査パターンEPを示す。この場合、検査パターンEPの基本的な構成(形状)は上述した実施の形態1と同じであるため、移動後の経路の軌道は実施の形態1と同等になることが見込まれる。
【0093】
図14は、通路幅W<aの場合に、実施の形態2の検査パターンを適用した場合の処理について説明する部分拡大図である。なお、図14中の白抜き矢印は、検査パターンEPおよび経路の移動前の状態(左側の図)から移動後の状態(右側の図)に移行することを示しており、この点は、図15についても同様である。
【0094】
通路幅Wがa(m)未満の場合、経路整形部3は、上述した交差判定部36の機能により、検査パターンEPの左側(半円hc1)が通路に干渉しているか否かを判定する。ここで、経路整形部3は、検査パターンEPの左側(半円hc1)が通路に干渉していないと判定した場合、検査パターンEPを移動させることなく処理を終了する。
【0095】
一方、経路整形部3は、検査パターンEPの左側(半円hc1)が通路に干渉していると判定した場合、上述した検査パターン移動部35の機能により、図14に示すように、検査パターンEPの左側の半円hc1が障害物Mbに干渉しなくなるまで検査パターンEPを右に移動させて、経由点移動を完了させる。
【0096】
図15は、通路幅W≧aかつ進行方向左側の干渉がない場合に、実施の形態2の検査パターンを適用した場合の処理について説明する部分拡大図である。この場合、経路整形部3は、上述した交差判定部36の機能により、検査パターンEPの右側が通路に干渉しているか否かを判定する。ここで、経路整形部3は、検査パターンEPの右側が通路に干渉していないと判定した場合、検査パターンEPを移動させることなく処理を終了する。
【0097】
一方、経路整形部3は、検査パターンEPの右側が通路に干渉していると判定した場合、検査パターン移動部35の機能により、図15に示すように、検査パターンEPの半円hc2が障害物Mbに干渉しなくなるまで検査パターンEPを左に移動させて、経由点移動を完了させる。
【0098】
図16は、進行方向における左右両側の干渉がない通路部分を示す部分拡大図である。この場合、経路整形部3は、上述した交差判定部36の機能により、検査パターンEPが通路に干渉していないと判定し、検査パターン移動部35による経路点の移動を行わない。
【0099】
このように、進行方向の左側および右側における各々の幅の設定を可能とした検査パターンEPを使用して経路を修正する構成によれば、障害物Mbとの干渉状況の判断基準ひいては干渉を解消させるための検査パターンEPの移動方向の指針が明確であり、経路生成における全体での処理の効率化が図られる。
【0100】
なお、上述の説明では、検査パターンEPの左右の両側を設定可能とする構成を前提としたが、これに限定されるものではなく、左右の何れか片方が設定可能な構成であってもよい。
【0101】
次に、図17および図18を参照して、経路探索または経路修正に関する他の例を説明する。図17は、環境地図Mの通路の幅を縮小させる処理例を説明する図である。図17中、上側の(1)は、通路の左右側の障害物Mb(以下、便宜のため「壁」とも称する)を膨張させることにより通路の幅を縮小(圧縮)した後、経路探索部2(ここではRRT*(RRTstar))を用いて経路探索した様子を示す。一方、図17における下側の(2)は、図17上側の(1)における経路探索結果を壁の膨張前の環境地図に表示した結果を示す。また、図18は、実施の形態2に係る検査パターンのパラメータを決定する指標について説明する図である。
【0102】
実施の形態2に係る検査パターンEPの適用に当たっては、RRT*等による探索経路生成の際に、AMRの車両幅Rwを考慮した上で、通過させたい通路のうち、最も狭い通路の幅が半分になるように、経路の壁を膨張させる処理を行うとよい。なお、この処理の主体は特に制限されず、例えば、経路探索部2が経路探索の前処理として行うこととする。 上記のように、通過させたい通路の最小幅を半分すなわち1/2倍に圧縮する処理を行うことにより、例えば経路探索部2によって、AMRが2台分通過することができない通路を、オリジナル経路ORまたは修正経路CRとする候補から容易に除外することができる。この場合、経路探索部2は、圧縮された通路幅(左右の壁の幅)が車両幅Rwに満たない通路を、オリジナル経路ORの候補から除外するように、経路探索を実行する。
【0103】
また、このような壁の膨張処理(通路幅の圧縮処理)を行うことにより、その後に検査パターンEPを用いて壁との交差判定および経路移動を行う際に、AMRを、壁に接触させないようにする、さらには壁に必要以上に接近させないようにすることができる。
【0104】
例えば、通路の実際の幅が2(m)であり、ディスプレイ画面での対応する表示サイズが100pixである場合を考える。この場合、AMRの車両幅Rwが0.5(m)であれば表示サイズが25pixとなり、通過したい経路における最小の通路幅(図18中のW)が0.6mであれば、画面上の表示サイズは、30pixとなる。したがって、壁の膨張(通路幅縮小)処理を行うことにより、通路幅すなわち左右両壁間の幅は、表示サイズで15pixとなる。また、検査パターンEPにおける半円hc1の幅bおよび半円hc2の幅のパラメータ値は、b=25pix,c=50pixのように設定することができる。
【0105】
図19は、実施の形態2の検査パターンEPを使用する場合の処理の流れを説明するフローチャートである。ここで、図19に示すフローチャートは、上述した環境地図情報読出部1によって環境地図Mが読み出されてディスプレイ(表示画面)に表示されている状態を前提とする。
【0106】
すなわち、環境地図Mが読み出された後のステップS21において、経路生成装置10は、RRT*(RRTstar)等を用いる経路探索部2を実行して、環境地図Mの通路にオリジナル経路ORを生成する。続くステップS22において、経路生成装置10は、上述した各種パラメータを用いた制約条件および検査パターンEPを適用するように、経路整形部3を実行することにより、修正経路CR(上述した目標経路TR)を生成する。そして、ステップS23において、経路生成装置10は、経路修正部4および経路平滑化部5を実行して、経路修正部4の経路点結線部48によって生成(結線)された修正経路CRを適宜に平滑化する後処理を行う。
【0107】
<シミュレーション事例>
本発明者らは、上述した実施の形態2の構成を実際のモデルに実装して、シミュレーションを行った。なお、シミュレーション条件として、ディスプレイの画像サイズは、横2540(pix)×縦1140(pix)であり、検査パターンEPの半円hc1の幅bの表示サイズをb=25pixに、半円hc2の幅cの表示サイズをc=50pixに設定した。
【0108】
その結果、経路整形部3を実行して生成された経路は、通路の左側からb(m)以上の距離を保ち、通路幅がb+c(m)よりも広い所では、右側からc(m)以上の距離を保ち、かつ経路整形部3を実行せずに生成した経路と比較して、より少ない移動量で済むことが確認できた。
【0109】
このように、実施の形態2の経路生成装置10は、環境地図Mのデータを読み出す環境地図情報読出部(地図読出部)1と、指定された環境地図M内の出発地と到着地を用いて経路の探索を行う経路探索部2と、探索された経路を構成する経路点に、経路点を包含し経路の進行方向を基準とした左右を異なる幅に設定可能な検査パターンEPを適用することにより、経路点と環境地図M内の障害物Mbとの距離を設定する経路整形部3と、を備える。かかる構成により、より改善された修正経路CRを生成することができる。
【0110】
なお、上述した実施の形態1および実施の形態2の構成は、目的等に応じて適宜に組み合わせることができる。この場合の一具体例としては、読み出された環境地図Mに対して、経路探索部2を実行してオリジナル経路ORを生成した後、例えば経路整形部3が、予め定められた閾値角度(例えば90度)以上に屈折する経路または障害物Mbの部分を抽出する処理を行う。そして、経路整形部3は、かかる抽出部分以外の経路または障害物Mbに対しては実施の形態2の構成を適用し、抽出部分の経路または障害物Mbには実施の形態1の構成を適用する。
【0111】
また、上述した実施の形態1および実施の形態2では、経路生成装置10として、移動体が移動する経路を生成する装置を例示したが、これに限定されず、他にも例えば、特許文献1に記載されているような人間が移動するための経路など、種々の経路生成装置に適用することができる。
【0112】
その他、本発明は上記した実施の形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。
【0113】
また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【0114】
また、上述した実施の形態に係る経路生成装置によれば、より改善された経路を生成することができるため、経路生成に関する作業効率が改善され、余計な工程ないしコストを抑えることができるので、全体的にエネルギーの消費を抑えることができる。よって、国連が主導する持続可能な開発目標(SDGs)において、特に目標7(手ごろで信頼でき、持続可能かつ近代的なエネルギーへのアクセスを確保する)および目標13(気候変動とその影響に立ち向かうため、緊急対策を取る)に貢献することが可能となる。
【符号の説明】
【0115】
10…経路生成装置、1…環境地図情報読出部、2…経路探索部、3…経路整形部、4…経路修正部、5…経路平滑化部、6…記憶部、33…検査パターン設定部、34…検査パターン移動方向算出部、35…検査パターン移動部、36…交差判定部、37…経由点決定部、41…中継点必要箇所算出部、42…仮中継点設定部、43…検査パターン設定部、44…検査パターン移動方向算出部、45…検査パターン移動部、46…交差判定部、47…中継点決定部、48…経路点結線部、M…環境地図、Mb…障害物、OR…オリジナル経路、CR…修正経路、CRn,CRn-1…修正後の隣合う経路点、D…進行方向を示す矢印、MP…中点、Vdm…進行方向ベクトル、Vrd…右方向ベクトル、Vld…左方向ベクトル、EP…検査パターン、b…検査パターンの半径、EPm…検査パターンの中央、Rrj…再結線経路、TR…目標経路、W…通路幅、hc1…半径bの半円、hc2…半径cの半円、RW…AMRの車両幅。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12A
図12B
図13
図14
図15
図16
図17
図18
図19