(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024155217
(43)【公開日】2024-10-31
(54)【発明の名称】自律走行ロボットおよび走行経路生成方法
(51)【国際特許分類】
G05D 1/43 20240101AFI20241024BHJP
G08G 1/16 20060101ALI20241024BHJP
【FI】
G05D1/02 H
G08G1/16 C
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023069710
(22)【出願日】2023-04-21
(71)【出願人】
【識別番号】000006105
【氏名又は名称】株式会社明電舎
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林弁理士法人
(72)【発明者】
【氏名】宍道 洋
(72)【発明者】
【氏名】藤原 伸行
(72)【発明者】
【氏名】三宅 雄貴
【テーマコード(参考)】
5H181
5H301
【Fターム(参考)】
5H181AA27
5H181BB04
5H181CC03
5H181CC04
5H181CC11
5H181CC14
5H181FF04
5H181FF13
5H181FF23
5H181FF27
5H181LL01
5H181LL09
5H301AA01
5H301BB14
5H301CC03
5H301CC06
5H301CC10
5H301GG08
5H301GG09
5H301GG10
5H301GG14
5H301GG16
5H301LL01
5H301LL06
5H301LL11
(57)【要約】
【課題】周囲環境に応じた走行経路をより容易に生成する。
【解決手段】大域経路切り取り部は、出発地点から目的地点までの間で障害物を避けるように生成された大域経路から、局所領域内に含まれる大域経路を切り取る。局所コストマップ生成部14は、局所領域において障害物が存在する場所で最大値となり、障害物から離れるにつれて漸次小さな値となる局所コストが設定された局所コストマップを生成する。局所コスト再計算部15は、切り取った大域経路から所定の距離だけずらした場所に局所コストの最小値が位置するように局所コストを更新する。局所経路生成部16は、更新された局所コストが最小値となる場所を走行経路とする局所経路を生成し、経路追従制御部17により、局所経路に沿って自律走行ロボットの走行を駆動制御する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
出発地点から目的地点までの経路に沿って走行する自律走行ロボットであって、
前記出発地点から前記目的地点までの間で障害物を避けるように生成された大域経路から、現在位置に基づく局所領域内に含まれる大域経路を特定する大域経路特定部と、
前記局所領域における障害物が存在する場所で最大値となり、前記障害物から離れるにつれて漸次小さな値となる局所コストが設定された局所コストマップを生成する局所コストマップ生成部と、
前記特定した大域経路から所定の距離だけずらした場所に前記局所コストの最小値が位置するように前記局所コストを更新する局所コスト再計算部と、
前記更新された局所コストが最小値となる場所を走行経路とする局所経路を生成する局所経路生成部と、
前記局所経路に沿って前記自律走行ロボットの走行を駆動制御する経路追従制御部と、
を備えることを特徴とする自律走行ロボット。
【請求項2】
前記局所コスト再計算部は、
前記特定した大域経路を中心として走行可能な幅で最小値となり、当該走行可能な幅を越えるに従って漸次大きな値となる走行幅コストを算出する走行幅コスト算出部と、
前記特定した大域経路の直交方向に対して一方から他方に漸次大きな値となる傾斜コストを算出する傾斜コスト算出部と、
前記走行幅コストと、前記傾斜コストと、前記局所コストマップに基づく局所コストとを合算して前記更新された局所コストを算出するコスト加算部と、
を更に備えることを特徴とする請求項1に記載の自律走行ロボット。
【請求項3】
前記自律走行ロボットの現在位置を推定する自己位置推定部と、
前記自律走行ロボットの周辺における障害物に関する周辺情報を計測する周辺環境計測部と、を更に備え、
前記局所コストマップ生成部は、
前記自律走行ロボットの現在位置と、前記障害物に関する周辺情報とに基づいて、前記局所コストが設定された局所コストマップを生成する、
ことを特徴とする請求項1に記載された自律走行ロボット。
【請求項4】
前記障害物には、動的障害物が含まれることを特徴とする請求項3に記載された自律走行ロボット。
【請求項5】
前記自律走行ロボットが走行する全範囲に対して、前記障害物が存在する場所で最大値となり、前記障害物から離れるにつれて漸次小さな値となる大域コストが設定された大域コストマップを生成する大域コストマップ生成部と、
前記大域コストに基づいて、前記出発地点から前記目的地点までの大域経路を生成する大域経路生成部と、
を更に備えることを特徴とする請求項1に記載された自律走行ロボット。
【請求項6】
自律走行ロボットの走行経路を生成する走行経路生成方法であって、
出発地点から目的地点までの間で障害物を避けるように生成された大域経路から、現在位置に基づく局所領域内に含まれる大域経路を特定すること、
前記局所領域における障害物が存在する場所で最大値となり、前記障害物から離れるにつれて漸次小さな値となる局所コストが設定された局所コストマップを生成すること、
前記特定した大域経路から所定の距離だけずらした場所に前記局所コストの最小値が位置するように前記局所コストを更新すること、
前記更新された局所コストが最小値となる場所を前記走行経路とする局所経路を生成すること、
を含むことを特徴とする走行経路生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自律走行ロボットおよび走行経路生成方法に関する。
【背景技術】
【0002】
自律走行ロボットは、最終到達位置となる目的地点まで移動する際には、構造物を含む障害物(以下、単に障害物と称する)の位置情報を含む地図情報を用いて現在地点(出発地点)から目的地点まで、障害物などから所定の距離離れた主に通路中央を走行するような経路(大域経路)を生成し、障害物に接触(又は衝突)しないように逐次回避しながら大域経路に沿って走行する。大域経路の生成方法には大きく2つの方法がある。
【0003】
第1の方法は、
図16に示すように、大域経路として、現在地点(出発地点)と目的地点との間に、地図上の障害物OBに衝突しないように自由な最適経路を生成する方法である。第2の方法、
図17に示すように、工場内の搬送ロボットのように、予め決められた経路を大域経路として選択する方式である。いずれの図においても、自律走行ロボットARが、斜線の矩形で示される障害物OB、OB…を回避するように設定された大域経路GP1、GP2に沿って出発地点から目的地点まで走行する様子が示されている。
【0004】
自律走行ロボットARが大域経路GP(GP1又はGP2)に通従して走行する際には、
図18に示すように、周辺の障害物OBをリアルタイムで検出し、障害物OBがあれば障害物OBを回避するように、大域経路GPに沿った狭い範囲での経路(局所経路LP)を生成して、その局所経路LPに沿って迂回しつつ目的地点まで走行する。この局所経路LPは、障害物OBを回避する際に大域経路GPからずれることになるが、可能な限り、大域経路GPから大きく外れないように生成される。このような自律走行に必要な経路計画や、経路追従のアルゴリズムなどは、ROS(Robot Operating System)といったミドルウェアでも提供されており、これを利用することで実現可能となる。
【0005】
しかしながら、例えば、通路を対向して複数台の自律走行ロボットが走行する状況において、上述した第1の方法として説明した自由に大域経路を生成する方法では、
図19(a)に示すように、大域経路GPを左から右へ走行する自律走行ロボットAR1と、大域経路GPを右から左へ走行するAR2とが正面で向き合った場合に、それぞれが相手を左右どちらに避けるべきかが問題となる。換言すれば、左右どちらに局所経路LPを生成するか(自律走行ロボットAR1については局所経路LP1L(左)か局所経路LP1R(右)か、自律走行ロボットAR2については局所経路LP2L(左)か局所経路LP2R(右)か)を判断できないため動作が不安定となるという問題がある。そこで、上述した第2の方法を用いて、
図19(b)に示すように、1つの通路ですれ違えるように、1本の通路に自律走行ロボットAR1、AR2の各々に対する一方通行の大域経路GPa、GPbを設定する方法もある。しかし、そのような通路が多い場合には、設定する手間が煩雑になるという問題がある。
【0006】
例えば、特許文献1では、出発地点から目的地点までの最短経路(通路の中央を通る経路)を探索した後、最短経路に対して一方向(例えば、右方向)に一定距離(シフト量)だけシフトさせた経路を移動経路(大域経路)としている。すなわち、通路の幅に対して中央から一定距離だけずらした経路を走行する片側通行を実現することで、人間の歩行を妨げるのを防ぐようにしている。
【先行技術文献】
【特許文献】
【0007】
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、特許文献1では、シフト量は、出発地点や目的地点などからの距離や、障害物からの距離など、状態に応じたシフト量を算出してから最終的に値を決定する必要があり、動的障害物(人や、車などの移動体、あるいは地図上にない荷物、対向走行する他の自律走行ロボットなども含む)を回避するためには別途ベクトル場を設ける必要があるなど、周囲環境に柔軟に対応することができないと問題があった。
【0009】
本発明の目的は、周囲環境に応じた走行経路をより容易に生成することができる自律走行ロボットおよび走行経路生成方法を提供することである。
【課題を解決するための手段】
【0010】
本発明は、上記課題を解決するため、以下の手段を採用する。
すなわち、本発明の自律走行ロボットは、出発地点から目的地点までの経路に沿って走行する自律走行ロボットであって、前記出発地点から前記目的地点までの間で障害物を避けるように生成された大域経路から、現在位置に基づく局所領域内に含まれる大域経路を特定する大域経路特定部と、前記局所領域における障害物が存在する場所で最大値となり、前記障害物から離れるにつれて漸次小さな値となる局所コストが設定された局所コストマップを生成する局所コストマップ生成部と、前記特定した大域経路から所定の距離だけずらした場所に前記局所コストの最小値が位置するように前記局所コストを更新する局所コスト再計算部と、前記更新された局所コストが最小値となる場所を走行経路とする局所経路を生成する局所経路生成部と、前記局所経路に沿って前記自律走行ロボットの走行を駆動制御する経路追従制御部と、を備えることを特徴とする。
【0011】
また、本発明の走行経路生成方法は、自律走行ロボットの走行経路を生成する走行経路生成方法であって、出発地点から目的地点までの間で障害物を避けるように生成された大域経路から、現在位置に基づく局所領域内に含まれる大域経路を特定すること、前記局所領域における障害物が存在する場所で最大値となり、前記障害物から離れるにつれて漸次小さな値となる局所コストが設定された局所コストマップを生成すること、前記特定した大域経路から所定の距離だけずらした場所に前記局所コストの最小値が位置するように前記局所コストを更新すること、前記更新された局所コストが最小値となる場所を前記走行経路とする局所経路を生成すること、を含むことを特徴とする。
【発明の効果】
【0012】
本発明によれば、周囲環境に応じた走行経路をより容易に生成することができる自律走行ロボットおよび走行経路生成方法を提供することが可能となる。
【図面の簡単な説明】
【0013】
【
図1】本発明の実施形態による自律走行ロボットの制御システム1の構成を示すブロック図である。
【
図2】本実施形態において、大域経路を生成する第1の方法を説明するためのブロック図である。
【
図3】本実施形態において、大域経路を生成する第1の方法を説明するためのフローチャートである。
【
図4】本実施形態において、第1の方法で大域経路を生成する際に用いられるコストマップの一例を示す概念図である。
【
図5】本実施形態において、第2の方法で大域経路を生成する大域経路生成部11の構成を示すブロック図である。
【
図6】本実施形態による、自律走行ロボットの走行時における制御システム1の機能構成を示すブロック図である。
【
図7】本実施形態による、自律走行ロボットの走行を制御する際の制御システム1の動作を説明するためのフローチャートである。
【
図8】本実施形態による大域経路切り取り部30の動作を説明するための概念図である。
【
図9】本実施形態による走行幅コスト算出部31による走行幅コストの算出例を示す概念図である。
【
図10】本実施形態による傾斜コスト算出部32による傾斜コストの算出例を示す概念図である。
【
図11】本実施形態において、走行経路に障害物が存在しない場合の局所経路の生成方法を示す概念図である。
【
図12】本実施形態において、大域経路上に障害物が存在する場合の局所経路の生成方法を示す概念図である。
【
図13】本実施形態において、局所経路上に障害物が存在する場合の局所経路の生成方法を示す概念図である。
【
図14】本実施形態において、2台の自律走行ロボットが対向して通路を走行する場合に互いを回避して走行する様子を示す概念図である。
【
図15】本実施形態において、2台の自律走行ロボットが対向して通路を走行する場合に互いを回避して走行する様子を示す概念図である。
【
図16】障害物を回避しながら走行するための大域経路を生成する第1の方法を説明するための概念図である。
【
図17】障害物を回避しながら走行するための大域経路を生成する第2の方法を説明するための概念図である。
【
図18】自律走行ロボットが大域経路に沿って走行する際に障害物を回避するための局所経路を説明するための概念図である。
【
図19】自律走行ロボット同士が正面で向き合った場合に生じる問題、およびすれ違えるように1本の通路に別々の2本の一方通行の大域経路を設定する場合の問題を説明するための概念図である。
【発明を実施するための形態】
【0014】
以下、添付図面を参照して、本発明による自律走行ロボット制御システムの形態について、図面に基づいて説明する。
【0015】
図1は、本発明の実施形態による自律走行ロボットの制御システム1の構成を示す模式図である。
図1において、自律走行ロボットの制御システム1は、大域コストマップ生成部10、大域経路生成部11、周辺環境計測部12、自己位置推定部13、局所コストマップ生成部14、局所コスト再計算部15、局所経路生成部16、経路追従制御部17、地図情報記憶部18、大域コストマップ記憶部19、大域経路記憶部20、および局所コストマップ記憶部21を備えている。
【0016】
なお、本実施形態では、主に走行経路(大域経路、局所経路)の生成について詳細に説明するが、自律走行ロボットの構成(外観、走行手段など)については簡単に説明するに留める。すなわち、本実施形態による自律走行ロボットは、目的地点まで移動(走行)するための駆動手段や、周囲の障害物の検知や、障害物までの距離などを測定するための各種センサ(LiDAR(Light Detection And Ranging)などの測距センサや、カメラ、超音波センサなど)、各種センサの検知結果に基づいて障害物を避けながら、局所経路に沿って走行するように駆動手段を制御する駆動制御手段(CPUや、メモリ等を含む)などを備えているものとする。以下の説明では、4輪で走行する台車型の自律走行ロボットを想定しているが、駆動手段(移動方式)や、筐体の形状(人型、台車型など)、各種センサの数、設置位置などについては限定されない。
【0017】
大域コストマップ生成部10は、地図情報記憶部18の地図情報に基づいて、自律走行ロボットが走行する全ての範囲(大域)における、障害物(構造物も含む)からの距離に応じたコスト付けがなされた大域コストマップを生成する。地図情報は、自律走行ロボットが走行する全ての範囲(出発地点から目的地点までを含む範囲)における障害物(常に存在するもの)や、走行可能な領域などの位置情報を含む。本実施形態では、地図情報を基に自律走行ロボットの自己位置(現在位置)や、姿勢などの推定、障害物からの距離、走行経路の設定などを行う。生成された大域コストマップは、大域コストマップ記憶部19に記憶される。
【0018】
コストマップとは、自律走行ロボットが走行する全ての範囲(大域)を複数の小領域(グリッド)に分割し、それぞれのグリッドに対して、移動しにくい場所(障害物の位置、障害物の近傍)には値が大きく、移動しやすい場所(障害物から離れていく)ほど値が小さくなるように、値(コスト)が設定されたマップである。すなわち、障害物があるところはコストが最大値となり、自律走行ロボットはこれを避けて走行しなければならない。障害物から離れるにつれてコストが小さくなり、十分に離れたところではコストが最小値となる。
【0019】
大域経路生成部11は、大域コストマップ記憶部19の大域コストマップに基づいて、出発地点から目的地点までの最適経路(大域経路)を生成する。生成された大域経路は、大域経路記憶部20に記憶される。
【0020】
周辺環境計測部12は、LiDARなどの測距センサや、カメラなどによる周辺情報や、その他、IMU(Inertial Measurement Unit;慣性計測ユニット)による慣性情報、GPS(Global Positioning System;全地球測位システム)による位置情報などを取得する。センサの計測範囲は限られるため、取得される情報は、狭い範囲(例えば、LiDARであれば周囲数十m)となる。周辺環境計測部12は、取得した周辺情報や、慣性情報、位置情報などを自己位置推定部13および局所コストマップ生成部14に供給する。
【0021】
自己位置推定部13は、地図情報記憶部18の地図情報と、周辺環境計測部12からの周辺環境とのマッチングや、慣性情報、位置情報などを利用して、地図上での自己位置(現在位置)および姿勢を推定し、局所コストマップ生成部14および経路追従制御部17に供給する。
【0022】
局所コストマップ生成部14は、地図情報記憶部18の地図情報や、周辺環境計測部40からの周辺情報、慣性情報および位置情報などに基づいて、所定の範囲内(局所領域内)での障害物に対する局所コストマップを生成する。局所コストマップは、地図情報に記録されている現在位置周辺の障害物から求められるコストマップに加えて、周辺環境計測部12によって計測した現在位置周辺にある動的障害物(人や、車などの移動体、あるいは地図上にない荷物、対向走行する他の自律走行ロボットなども含む)によるコストも加味し、同じ位置の各グリッドで大きい方のコスト値を採用するなどして重ね合わせることで生成される。生成された局所コストマップは、局所コストマップ記憶部21に記憶される。
【0023】
局所コスト再計算部15は、自己位置推定部13からの自己位置(現在位置)、大域経路記憶部20の大域経路、および局所コストマップ記憶部21の局所コストマップに基づいて、自律走行ロボットが、大域経路に沿って目的地点まで走行する過程において、障害物や、動的障害物(人や、車などの移動体、あるいは地図上にない荷物、対向走行する他の自律走行ロボットなども含む)などとの接触(衝突)を回避するための局所経路を生成するための最終的な局所コストを算出する。最終的な局所コストは、局所経路生成部16に供給される。
【0024】
局所経路生成部16は、局所コスト再計算部15によって算出された最終的な局所コストに基づいて、局所領域内において、大域経路から大きく外れず、周辺の障害物や、動的障害物などを回避しながら走行するための移動コストが最小となる経路(局所経路)を生成する。移動コストは、経路にあるグリッドのコスト総和や、大域経路との距離の変動量などから算出する。経路追従制御部17は、自律走行ロボットを局所経路に沿って走行させるための指令信号を生成して自律走行ロボットの駆動手段を制御する。
【0025】
なお、大域コストマップ生成部10、大域経路生成部11、大域コストマップ記憶部19、および大域経路記憶部20は、自律走行ロボット外に設置されていてもよい。具体的には、これら大域コストマップ生成部10、大域経路生成部11、大域コストマップ記憶部19、および大域経路記憶部20は、ネットワーク(不図示)上のサーバにより実現されてもよく、最終的に生成した大域経路(の情報)を、無線通信等を介して自律走行ロボットの局所コスト再計算部15に提供するようにしてもよい。
【0026】
次に、大域経路の生成方法について説明する。前述したように、大域経路は、2通りの方法で生成することが可能である。第1の方法は、現在地点(出発地点)と目的地点との間に自由な最適経路を大域経路として生成する方法である。
【0027】
図2は、本実施形態において、大域経路を生成する第1の方法を説明するためのブロック図である。また、
図3は、大域経路を生成する第1の方法を説明するためのフローチャートである。
図4は、第1の方法で大域経路を生成する際に用いられるコストマップの一例を示す概念図である。
【0028】
地図情報記憶部18は、上述したように、自律走行ロボットが走行する全ての範囲における周辺の障害物(構造物を含む常に存在するもの)や、走行可能な領域などの位置情報を含む地図情報を記録している。大域コストマップ生成部10は、地図情報記憶部18の地図情報に基づいて、
図4に示すように、障害物からの距離に応じてコスト付けされた大域コストマップを生成する(ステップS10)。大域コストマップ記憶部19は、大域コストマップ生成部10で生成された大域コストマップを記憶する。
【0029】
図4に示すように、大域コストマップには、前述したように、全ての範囲(大域)を複数の小領域(グリッド)に分割し、それぞれのグリッドに対して、移動しにくい場所(障害物の位置、障害物の近傍)には値が大きく(255、126など)、移動しやすい場所(障害物から離れていく)ほど値が小さくなるように(60、29、21、11、10、…、0)、値(コスト)が設定されている。図示の例では、コスト値の大小に応じてグラデーションを付けている。
【0030】
大域経路生成部11は、大域コストマップに基づいて、自律走行ロボットの現在地点から目的地点までの最適な経路(大域経路)を生成する(ステップS12)。より具体的には、DijkstraアルゴリズムやA*アルゴリズムなどを用いて、大域コストマップのグリッドのコストの総和が最小となる経路を大域経路として生成する。大域経路記憶部20は、上記大域経路生成部11で生成された大域経路を記憶する。
【0031】
また、大域経路を生成する第2の方法は、予め走行ルートを設定しておき、その走行ルートから現在地点(出発地点)と目的地点までの最適ルートを選択し、それを大域経路とする自由な最適経路を生成する方法である。
【0032】
図5は、本実施形態において、第2の方法で大域経路を生成する大域経路生成部11の構成を示すブロック図である。第2の方法では、大域経路生成部11として走行ルート選定部22および走行ルート記憶部23を用意する。走行ルート記憶部23は、地図上に予め設定された複数の経路(複数の走行ルート)を保持している。これは、既存の走行ルート設定ツールなどを用いて作成され、例えば、直線ごとに開始点・終点や長さなどを保持し、各直線間の接続情報を含む。その他、それぞれの通路幅や、制限速度などの属性も加えてもよい。走行ルート選定部22は、現在地点(出発地点)から目的地点に向かうために最適な経路(大域経路)を、複数の走行ルートの中から選定する。走行ルートの最短経路や、速度などを考慮した最小時間経路などを考慮して選定される。大域経路記憶部20は、上記大域経路生成部11で選定された大域経路を記憶する。
【0033】
上述した第1の方法又は第2の方法のいずれかの方法により、自律走行ロボットの走行直前までに大域経路を生成しておく。すなわち、自律走行ロボットが走行を開始するまでに、大域経路記憶部20には、自律走行ロボットが走行する範囲における現在地点(出発地点)から目的地点までの大域経路が保存される。あるいは、前述した大域コストマップ生成部10、大域経路生成部11、大域コストマップ記憶部19、および大域経路記憶部20を、自律走行ロボット外の、ネットワーク(不図示)上のサーバにより実現した場合には、自律走行ロボットの走行開始までに、最終的に生成した大域経路(の情報)を、無線通信等を介して自律走行ロボットに送信しておく。
【0034】
次に、自律走行ロボットの走行時における動作について説明する。
図6は、本実施形態による、自律走行ロボットの走行時における制御システム1の機能構成を示すブロック図である。なお、
図1に対応する部分には同一の符号を付けて説明を省略する。
【0035】
局所コスト再計算部15は、大域経路切り取り部30、走行幅コスト算出部31、傾斜コスト算出部32およびコスト加算部33を備えている。大域経路切り取り部(大域経路特定部)30は、自己位置推定部13からの現在位置に基づいて、局所コストマップ記憶部21からの局所コストマップの、所定の範囲(局所領域)内の大域経路を切り取る。走行幅コスト算出部31は、切り取られた大域経路を中心として、走行可能な幅でコストが最小となり、当該走行可能な幅の外側に行くに従ってコストが漸次大となる走行幅コストを算出する。傾斜コスト算出部32は、切り取られた大域経路に直交する方向(進行方向に向かって左右方向)に対して一方向(例えば、左側)にコストが傾斜した傾斜コストを算出する。コスト加算部33は、上記走行幅コスト算出部31から得られた走行幅コストと、傾斜コスト算出部32から得られた傾斜コストと、局所コストマップ記憶部21の局所コストマップに基づく局所コストとを加算して統合し、最終的な局所コストを算出する。
【0036】
図7は、本実施形態による、自律走行ロボットの走行を制御する際の制御システムの動作を説明するためのフローチャートである。自律走行ロボットの走行が開始すると、周辺環境計測部12は、LiDARなどの測距センサや、カメラなどによる周辺情報や、IMUによる慣性情報や、GPSによる位置情報などを取得する。周辺環境計測部12は、周辺情報や、慣性情報、位置情報などを、自己位置推定部13および局所コストマップ生成部14に供給する(ステップS20)。
【0037】
次に、自己位置推定部13は、地図情報記憶部18の地図情報と、周辺環境計測部12からの周辺情報や、慣性情報、位置情報などを利用して、現在の地図上での現在位置および姿勢を推定し、局所コストマップ生成部14および経路追従制御部17に供給する(ステップS22)。局所コストマップ生成部14は、地図情報記憶部18の地図情報や、周辺環境計測部40からの周辺情報や、慣性情報、位置情報などに基づいて、所定の範囲内(局所領域内)での障害物および動的障害物に対する局所コストマップを生成する(ステップS24)。
【0038】
次に、大域経路切り取り部30は、自己位置推定部41で推定された、自律走行ロボットARの現在位置に基づいて、局所コストマップ記憶部21からの局所コストマップの、所定の範囲(局所領域)内の大域経路を切り取る(ステップS26)。
【0039】
ここで、
図8は、本実施形態による大域経路切り取り部30の動作を説明するための概念図である。大域経路切り取り部30は、
図8に示すように、自己位置推定部13で推定された、自律走行ロボットARの現在の自己位置に基づいて、所定の範囲(局所領域)LA内の大域経路GPcを切り取り、局所コストマップ記憶部21の局所コストマップから、当該大域経路GPcにおける局所コストマップを特定する。但し、現在位置から目的地点方向のみとし、後方の経路は削除する。なお、大域経路GPcの切り取りは、局所領域LAより外にはみ出てもよい。
【0040】
次に、走行幅コスト算出部31は、切り取られた大域経路GPcを中心とした、走行可能な幅を考慮した走行幅コストを算出する(ステップS28)。
【0041】
図9(a)、(b)は、本実施形態による走行幅コスト算出部31による走行幅コストの算出例を示す概念図である。
図9(a)には切り取られた大域経路GPcにおけるコスト分布を示しており、同図(b)には、同図(a)に示す矢印Aにおけるコスト分布として、横軸に大域経路GPcの中心からの距離を示し、縦軸にコストを示している。走行幅コスト算出部31は、
図9(b)に示すように、切り取った大域経路GPcを中心とし、その中心から大域経路GPcに対して直交方向に漸次大となるコスト、すなわち走行幅コストWCを算出する。
図9(b)に示すように、走行幅コストWCは、大域経路GPcの中心から両側に幅d+dの領域が最も小さく、幅dより外側で漸次大となる分布となる。自律走行ロボットARは、コストの小さい経路を走行するように制御されるため、大域経路GPcを中心として指定した幅d+dより外側を走行しにくくなる。
【0042】
次に、傾斜コスト算出部32は、切り取られた大域経路GPcに対して、進行方向に対して直交方向にコストが傾斜した傾斜コストを算出する(ステップS30)。
【0043】
図10(a)、(b)は、本実施形態による傾斜コスト算出部47による傾斜コストの算出例を示す概念図である。
図10(a)には切り取られた大域経路GPcにおけるコスト分布を示しており、同図(b)には、同図(a)に示す矢印Aにおけるコスト分布として、横軸に大域経路の中心からの距離を示し、縦軸にコストを示している。傾斜コスト算出部47は、
図10(b)に示すように、切り取った大域経路GPcを中心とし、その中心から大域経路GPcに対して直交方向の一方向に対して増加(又は減少)する傾きのある傾斜コストICを算出する。例えば、大域経路GPcに対して進行方向の左側を走行させたい場合には、
図10(b)に示すように、進行方向に対して左側のコストが小さく、右側のコストが大となる傾斜コストICを算出する。一方、進行方向に対して右側を走行させたい場合には、逆に右側のコストが小さく、左側のコストが大となる傾斜コストICを算出すればよい。
【0044】
次に、コスト加算部33は、上記走行幅コスト算出部31で算出された走行幅コストと、傾斜コスト算出部32で算出された傾斜コストと、局所コストマップ記憶部21の局所コストマップに基づく局所コストとを加算して統合し、最終的な局所コストを算出する(ステップS32)。この加算処理は、それぞれ使用する重要度により重みを変えることが可能である。例えば、走行幅コスト算出部31による走行幅コストと、傾斜コスト算出部32による傾斜コストと、元の局所コストマップとを、それぞれCw、Cs、Cl、重みをWw、Ws、Wl、とすると、最終的な局所コストマップの局所コストCは、C=Ww+Cw、Ws+Cs、Wl+Clとして求められる。なお、幅dと重みとは、固定値でもよいし、通路の幅や、自律走行ロボットのサイズなどに合わせて変更することも可能である。
【0045】
次に、局所経路生成部16は、局所コスト再計算部15によって算出された最終的な局所コストに基づいて、局所領域内において、大域経路から大きく外れず、周辺の構造物・障害物や、対向走行する他の自律走行ロボットなどを回避しながら走行するための移動コストが最小となる経路(局所経路)を生成する(ステップS34)。経路追従制御部17は、自律走行ロボットを局所経路に沿って走行させるための指令信号を生成して、自律走行ロボットの駆動手段を制御する(ステップS36)。
【0046】
次に、制御システム1では、自己位置推定部13により推定された現在位置に基づいて、自律走行ロボットが目的位置に到達したか否かを判断する(ステップS38)。そして、目的位置にまだ到達していないと判断された場合には(ステップS38のNO)、ステップS20に戻り、上述した処理を繰り返す。一方、目的位置に到達したと判断された場合には(ステップS38のYES)、経路追従制御部17は、自律走行ロボットを停止させるための指令信号を生成して自律走行ロボットを停止させる(ステップS40)。その後、当該処理を終了する。
【0047】
図11は、本実施形態において、走行経路に障害物が存在しない場合の局所経路の生成方法を示す概念図である。自律走行ロボットが走行中、大域経路GPc内に障害物が存在しない場合には、局所コストマップは変化しないので、コスト加算部33は、走行幅コスト算出部31による走行幅コストWCと、傾斜コスト算出部32による傾斜コストICとを足し合わせて合成コストTCを算出する。例えば、走行幅コスト算出部31による走行幅コストWCと傾斜コスト算出部32による傾斜コストICとを足し合わせると、
図11に示すように、コストが最小となる場所が大域経路GPcよりも幅dの分だけ進行方向の左側となる合成コストTCが得られる。したがって、局所経路生成部16では、
図11に示すように、最終的な合成コストTCに従って、大域経路GPcから左側に幅dだけずれた場所に局所経路LPが生成されることになる。この結果、自律走行ロボットは、局所経路LPに沿って走行することになる。
【0048】
図12は、本実施形態において、大域経路上に障害物が存在する場合の局所経路の生成方法を示す概念図である。例えば、自律走行ロボットが局所経路に沿って走行中、大域経路GPc上に障害物OBがあると、障害物OBの場所における局所コストLCは、障害物OBの場所でコストが最大となり、障害物OBから離れるに従ってコストが漸次小さくなる分布となる。この局所コストLCは、局所コストマップ生成部14により逐次生成される(
図7のステップS24を参照)。この場合、コスト加算部33では、走行幅コスト算出部31による走行幅コストWCと、傾斜コスト算出部32による傾斜コストICとを足し合わせた合成コストTCに、局所コストマップの局所コストLCを足し合わせて最終的な合成コストLTCを算出する。この場合、
図12に示すように、合成コストLTCが最小となる場所が大域経路GPcの中心から幅dを越えた進行方向の左側となる。したがって、局所経路生成部16では、
図12に示すように、大域経路GPcから左に幅dを越えて迂回するような局所経路LPが生成されることになる。この結果、自律走行ロボットは、障害物OBの左側を迂回して走行することになる。
【0049】
図13は、本実施形態において、局所経路上に障害物が存在する場合の局所経路の生成方法を示す概念図である。例えば、自律走行ロボットが局所経路に沿って走行中、局所経路LP上に障害物OBがあると、障害物OBの場所における局所コストLCは、障害物OBの場所(局所経路LP上)でコストが最大となり、障害物OBから離れるに従ってコストが漸次小さくなる分布となる。この局所コストLCは、局所コストマップ生成部14により逐次生成される(
図7のステップS24を参照)。この場合、コスト加算部33では、走行幅コスト算出部31による走行幅コストWCと傾斜コスト算出部32による傾斜コストICとを足し合わせた合成コストTCに、局所コストマップの局所コストLCを足し合わせて最終的な合成コストLTCを算出する。この場合、
図13に示すように、合成コストLTCが最小となる場所が大域経路GPcの中心から幅dを越えない進行方向の右側となる。したがって、局所経路生成部16では、
図13に示すように、大域経路GPcから右に幅dを越えて迂回するような局所経路LPが生成されることになる。この結果、自律走行ロボットは、障害物OBの右側を迂回して走行することになる。
【0050】
図14および
図15は、本実施形態において、2台の自律走行ロボットが対向して通路を走行する場合に互いを回避して走行する様子を示す概念図である。
図14に示すように、2台の自律走行ロボットAR1、AR2が対向して通路を走行する場合を想定する。コスト加算部33は、自律走行ロボットAR1に対しては、走行幅コスト算出部31による走行幅コストWC1と、傾斜コスト算出部32による傾斜コストIC1とを足し合わせて、走行方向に対して左側にコスト最小値が来るような最終的な合成コストLTC1を算出する。また、コスト加算部33は、自律走行ロボットAR2に対しては、走行幅コスト算出部31による走行幅コストWC2と、傾斜コスト算出部32による傾斜コストIC2とを足し合わせて、走行方向に対して左側にコスト最小値が来るような最終的な合成コストLTC2を算出する。そして、局所経路生成部16では、自律走行ロボットAR1に対しては、合成コストLTC1から局所経路LP1を生成し、自律走行ロボットAR2に対しては、合成コストLTC2から局所経路LP2を生成する。
【0051】
この場合、傾斜コストIC1、IC2のコスト分布は、進行方向に対して左側に傾斜しているので、大域経路GPの中心から進行方向の左側に幅dだけ離れた位置に局所経路LP1、LP2が設定される。自律走行ロボットAR1は、上記局所経路LP1に沿って走行し、自律走行ロボットAR2は、上記局所経路LP2に沿って走行する。この結果、2台の自律走行ロボットAR1、AR2が対向して通路を走行する場合であっても、1つの大域経路GPを設定するだけで、互いに衝突することなく、すれ違うことが可能となる。
【0052】
また、
図15に示すように、走行幅コスト算出部31での幅dを0とした場合、対向する自律走行ロボットAR1、AR2は、正面で向き合うことになる。このような場合、
図15に点線で示すV字状のように、傾斜コスト算出部32で、1つの大域経路GPを中心とし、その中心から大域経路GPに対して直交方向(左右)に漸次増加し、かつ進行方向に対して左側の増加が右側の増加に比べて小さい傾きのある傾斜コストIC1、IC2を算出する。さらに、この場合、相手の自律走行ロボット自体が「障害物」と判断されるので、コスト加算部33は、
図13に示す「障害物OB」に対して算出したように、傾斜コストIC1、IC2に対して、相手の自律走行ロボットの場所でコストが最大となり、相手の自律走行ロボットから離れるに従ってコストが漸次小さくなる局所コストLC1、LC2を足し合わせて最終的な合成コストLTC1、LTC2を算出する。
【0053】
この場合、
図15に示すように、合成コストLTC1、LTC2のコストが最小となる場所が大域経路GPの中心から幅dを越えた進行方向の左側となる。したがって、局所経路生成部16では、
図15に示すように、互いの大域経路GPから左側に幅dを越えて迂回するような局所経路LP1、LP2が設定される。自律走行ロボットAR1は、上記局所経路LP1に沿って進行方向に対して左側を迂回するように走行し、自律走行ロボットAR2は、上記局所経路LP2に沿って進行方向に対して左側を迂回するように走行する。この結果、2台の自律走行ロボットAR1、AR2が1つの大域経路GPを対向して通路を走行する場合であっても、互いに衝突することなく、すれ違うことが可能となる。
【0054】
上述した実施形態によれば、1つの大域経路GPを設定するだけで、大域経路GPに対して左側(又は右側)に所定の幅dだけずらした位置に局所経路LPを容易に生成することでき、人と共存する環境において、障害物OBの回避に特別なルールを設定しなくとも、容易に右側通行など人のルールに則って走行させることができる。また、2台の自律走行ロボットが対向して走行する場合であっても、走行幅コストと、傾斜コストと、相手の自律走行ロボットを障害物と見做した場合に得られる局所コストとを合算するだけで、互いに衝突を回避するための局所経路LP1、LP2を生成することができる。また、対向して複数台の移動ロボットが走行する環境で、一方通行の2つの大域経路を設定する必要がなくなり、1つの大域経路のみを設定するだけでよい。
【0055】
また、上述した実施形態によれば、大域経路切り取り部30により、出発地点から目的地点までの間で障害物OBを避けるように生成された大域経路から、現在位置に基づく局所領域内に含まれる大域経路GPcを切り取り、局所コストマップ生成部14により、局所領域において障害物OBが存在する場所で最大値となり、障害物OBから離れるにつれて漸次小さな値となる局所コストが設定された局所コストマップを生成し、局所コスト再計算部15により、切り取った大域経路GPcから所定の距離だけずらした場所に局所コストの最小値が位置するように局所コストを更新し、局所経路生成部16により、更新された局所コストが最小値となる場所を走行経路とする局所経路LPを生成し、経路追従制御部17により、局所経路LPに沿って自律走行ロボットARの走行を駆動制御するようにしたので、1つの大域経路GPを設定するだけで、人と共存する環境において、障害物OBの回避に特別なルールを設定しなくとも、容易に右側通行など人のルールに則って走行させることができる。
【0056】
また、上述した実施形態によれば、走行幅コスト算出部31により、切り取った大域経路を中心として走行可能な幅で最小値となり、当該走行可能な幅を越えるに従って漸次大きな値となる走行幅コストを算出し、傾斜コスト算出部32により、切り取った大域経路の直交方向に対して一方から他方に漸次大きな値となる傾斜コストを算出し、コスト加算部により、走行幅コストと、傾斜コストと、局所コストマップに基づく局所コストとを合算して局所コストを更新するようにしたので、1つの大域経路GPを設定するだけで、人と共存する環境において、障害物OBの回避に特別なルールを設定しなくとも、容易に右側通行など人のルールに則って走行させることができる。
【0057】
また、上述した実施形態によれば、自己位置推定部13により、自律走行ロボットの現在位置を推定し、周辺環境計測部により、自律走行ロボットの周辺における障害物に関する周辺情報を計測し、局所コストマップ生成部14により、自律走行ロボットの現在位置と、障害物に関する周辺情報とに基づいて、局所コストが設定された局所コストマップを生成するようにしたので、動的障害物が走行経路上に存在しても、動的障害物を回避するための局所経路を容易に生成することができる。
【0058】
これ以外にも、本発明の主旨を逸脱しない限り、上記実施形態で挙げた構成を取捨選択したり、他の構成に適宜変更したりすることが可能である。
【符号の説明】
【0059】
1 制御システム
10 大域コストマップ生成部
11 大域経路生成部
12 周辺環境計測部
13 自己位置推定部
14 局所コストマップ生成部信
15 局所コスト再計算部
16 局所経路生成部
17 経路追従制御部
18 地図情報記憶部
19 大域コストマップ記憶部
20 大域経路記憶部
21 局所コストマップ記憶部
30 大域経路切り取り部
31 走行幅コスト算出部
32 傾斜コスト算出部
33 コスト加算部
AR、AR1、AR 自律走行ロボット
GP、GPc 大域経路
LP、LP1、LP2 局所経路
LA 局所領域
WC 走査幅コスト
IC 傾斜コスト
OB 障害物
TC、LTC、LTC1、LTC2 合成コスト