(57)【要約】【課題】走行経路に基づいて自律走行車の走行を滑らかにすることができる自律走行車の走行制御方法を提供する。【解決手段】自律走行車Ｃ１０は、グリッドマップ上に設定され、スタートグリッドからゴールグリッドまで番号が付与されたグリッドの走行経路に基づいて走行する。自律走行車の走行中の自己位置から走行経路上のグリッドを結ぶ直線が障害物に遮断されないグリッドを検索し、遮断されないグリッドを検出すると当該グリッドを経由点とし、経由点に対して自己位置から直線走行させる。【選択図】図２
2020154763.tif 000002
【特許請求の範囲】
【請求項１】
走行中の自己位置を推定する自己位置推定手段と、
走行領域をグリッドマップとして地図情報を作成するマッピング手段と、を備え、
グリッドマップ上に設定され、スタートグリッドからゴールグリッドまで番号が付与されたグリッドの走行経路に基づいて走行する自律走行車の走行制御方法であって、
前記自律走行車の走行中の自己位置から前記走行経路上のグリッドを結ぶ直線が障害物に遮断されないグリッドを検索し、
前記遮断されないグリッドを検出すると当該グリッドを経由点とし、
前記経由点に対して前記自己位置から直線走行させることを特徴とする自律走行車の走行制御方法。
【請求項２】
前記経由点が複数検出された場合には、番号の一番大きなグリッドを経由点として選択することを特徴とする請求項１記載の自律走行車の走行制御方法。
【請求項３】
前記直線が障害物に遮断されないグリッドの検出には、直線から自律走行車の機台の大きさを加えた範囲とすることを特徴とする請求項１又は２に記載の自律走行車の走行制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自律走行車の走行制御方法に関するものである。
【背景技術】
【０００２】
屋内の壁や障害物等の情報が表された環境地図上を予め指定された走行経路に沿って走行する自律走行車の開発が進められている。環境地図は、図１０に示すように二次元の領域を四角形のグリッドに分けたグリッドマップとして表示されている。そのため、障害物である壁等がグリッドマップに対して斜めに配置されており、その壁に沿って走行経路が設定された場合に、グリッドマップ上では、１から１２までの経路として生成され、壁は直線にもかかわらず自律走行車は方向変換を頻繁に行うようになる。具体的には、図１０において、階段状に走行し例えばグリッド２，３やグリッド５，６やグリッド９，１０で方向変換を行う。
【０００３】
このように方向変換を頻繁に行うと走行効率は悪くなる。さらに進行方向が頻繁に変わるため、走行時の見栄えも悪くなる。このような障害物の形状では、スタートグリッドからゴールグリッドまでグリッドマップに依存せず、直進する走行経路とすることが望ましい。
【０００４】
これに対し、非特許文献１においては、指定経路を追従する移動ロボットのための障害物回避走行アルゴリズムが開示されており、予め指示され設定された既定経路に沿って走行を行うことと、滑らかに走行することの両立を目的として経路を生成している。この手法を利用すれば図１０のような環境であってもスタートグリッドからゴールグリッドに直進することが可能となる。
【０００５】
非特許文献１に開示の手法を、具体例を示しながら説明する。
非特許文献１に開示の手法では、既定経路を膨張させ、膨張させた範囲内で最も遠く、走行経路上に障害物が存在しないグリッドに進むような走行経路を作成する。
【０００６】
図１１には、走行経路に対して１グリッド分膨張させた例を示す。図１１において膨張した経路の範囲内で最も遠く（番号が大きく）、直線経路で障害物と干渉しないグリッドを検索する。この場合、１０となる。そして、ロボット（自律走行車）はスタートグリッドであるグリッド１からグリッド１０まで直線で走行する。つまり、このような場合、グリッド２〜９は直線から外れるため通過しない。グリッド１０に到達したら同様にこの処理を続けて、グリッド１５、２２へと直進して走行する。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】「指定経路を追従する移動ロボットのための障害物回避走行アルゴリズム」、高承明，大矢晃久，油田信一（筑波大学）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、非特許文献１に開示の手法で図１１のような障害物を避けて走行する場合には、経路通りに走行するとグリッド１０、１５のグリッドで９０°近い大きな角度の方向変換を行うことになる。そのため、角ばった走行経路となってしまい、方向転換時に大きな減速が必要となる。したがって、直線経路を使用しながらも滑らかに障害物を回避することが可能な走行経路を設定することが望ましい。
【０００９】
本発明の目的は、走行経路に基づいて自律走行車の走行を滑らかにすることができる自律走行車の走行制御方法を提供することである。
【課題を解決するための手段】
【００１０】
請求項１に記載の発明では、走行中の自己位置を推定する自己位置推定手段と、走行領域をグリッドマップとして地図情報を作成するマッピング手段と、を備え、グリッドマップ上に設定され、スタートグリッドからゴールグリッドまで番号が付与されたグリッドの走行経路に基づいて走行する自律走行車の走行制御方法であって、前記自律走行車の走行中の自己位置から前記走行経路上のグリッドを結ぶ直線が障害物に遮断されないグリッドを検索し、前記遮断されないグリッドを検出すると当該グリッドを経由点とし、前記経由点に対して前記自己位置から直線走行させることを要旨とする。
【００１１】
請求項１に記載の発明によれば、自律走行車の自己位置において障害物によって直線が遮断されないグリッド、つまり、自己位置からグリッドまでに障害物が存在しないグリッドを走行中にリアルタイムに検索し、当該直線が遮断されないグリッドを検出するとそのグリッドを経由点として、その経由点に直線走行が行われる。
【００１２】
自律走行車の走行中にリアルタイムにグリッドの検索が行われるため、これにより大きな角度の方向変換することなく走行経路に基づいて自律走行車を滑らかに走行することができる。
【００１３】
請求項２に記載の発明では、請求項１に記載の自律走行車の走行制御方法において、前記経由点が複数検出された場合には、番号の一番大きなグリッドを経由点として選択することを要旨とする。
【００１４】
請求項２に記載の発明によれば、経由点を一番大きなグリッドとすることにより、より短い走行経路でゴールグリッドに到着することができる。
請求項３に記載の発明では、請求項１又は２に記載の自律走行車の走行制御方法において、前記直線が障害物に遮断されないグリッドの検出には、直線から自律走行車の機台の大きさを加えた範囲とすることを要旨とする。
【００１５】
請求項３に記載の発明によれば、自律走行車の機台の大きさを加えた範囲とすることで、障害物に衝突することなくより近くを通る走行経路を走行することができる。
【発明の効果】
【００１６】
本発明によれば、走行経路に基づいて自律走行車の走行を滑らかにすることができる。
【図面の簡単な説明】
【００１７】
【図１】実施形態における自律走行車の概略平面図。
【図２】自律走行車のブロック図。
【図３】（ａ），（ｂ），（ｃ），（ｄ），（ｅ）は自律走行車の動きを説明するため概略平面図。
【図４】走行経路生成アルゴリズムを示す図。
【図５】グリッドマップでの走行経路を説明するための図。
【図６】（ａ），（ｂ），（ｃ）はグリッドマップでの走行経路を説明するための図。
【図７】（ａ），（ｂ），（ｃ）はグリッドマップでの走行経路を説明するための図。
【図８】グリッドマップでの走行経路を説明するための図。
【図９】グリッドマップでの走行経路を説明するための図。
【図１０】グリッドマップでの走行経路を説明するための図。
【図１１】グリッドマップでの走行経路を説明するための図。
【発明を実施するための形態】
【００１８】
以下、本発明を具体化した一実施形態を図面に従って説明する。
図１に示すように、自律走行車Ｃ１０は、荷を運ぶ搬送車である。自律走行車Ｃ１０は、全方向移動車両である。自律走行車Ｃ１０は、円筒形の機台２０と４つの車輪３０，３１，３２，３３を備えている。４つの車輪３０，３１，３２，３３は、機台２０に設けられている。詳しくは、平面視において機台２０の中心に対し９０°毎に車輪３０，３１，３２，３３が配置されている。各車輪３０，３１，３２，３３は、それぞれ全方向車輪であり、各車輪３０，３１，３２，３３は、全方向に駆動可能に構成された車輪である。即ち、各車輪において、車輪の円周方向において自由回転するローラ（樽型を有する小輪）が複数設けられ、前後・左右に自由に動くことができる。このように構成された車輪を４つ用いて車軸を変動させないで機台を全方向に可動できるようになっている。
【００１９】
機台２０にはセンサ６５が装着されている。センサ６５は、レーザレンジファインダ（ＬＲＦ）を使用している。センサ６５は、照射角度を変更しながらレーザを照射することで、レーザの照射方向に位置する物体までの距離を測定する。センサ６５は、レーザの照射角度と、当該照射角度に位置する物体までの距離との両者を対応付けてコントローラ６０に出力する。これにより、コントローラ６０は、検出範囲に存在する障害物や、壁などを認識可能である。本実施形態のセンサ６５の検出範囲、即ち、レーザの照射可能範囲は、２７０°である。機台２０の前方に延びる仮想的な基準軸Ｄを０°として左右方向に１３５°ずつの拡がりを有する検出範囲となるようにセンサ６５は取り付けられている。センサ６５は、検出範囲内の環境である障害物や壁を認識するためのものである。
【００２０】
図２に示すように、自律走行車Ｃ１０は、モータ４０，４１，４２，４３と駆動装置５０を備える。モータ４０，４１，４２，４３及び駆動装置５０は機台２０に搭載されている。モータ４０の出力軸が車輪３０と駆動連結されており、モータ４０により車輪３０を駆動することができる。同様に、モータ４１の出力軸が車輪３１と駆動連結されており、モータ４１により車輪３１を駆動することができる。モータ４２の出力軸が車輪３２と駆動連結されており、モータ４２により車輪３２を駆動することができる。モータ４３の出力軸が車輪３３と駆動連結されており、モータ４３により車輪３３を駆動することができる。
【００２１】
駆動装置５０は、コントローラ６０と駆動回路６１，６２，６３，６４を有する。コントローラ６０はセンサ６５から自律走行車周辺の物体の検出信号を入力する。
駆動回路６１によりモータ４０が駆動され、このモータ４０の駆動により車輪３０が駆動される。駆動回路６２によりモータ４１が駆動され、このモータ４１の駆動により車輪３１が駆動される。駆動回路６３によりモータ４２が駆動され、このモータ４２の駆動により車輪３２が駆動される。駆動回路６４によりモータ４３が駆動され、このモータ４３の駆動により車輪３３が駆動される。
【００２２】
コントローラ６０は駆動回路６１，６２，６３，６４を介してモータ４０，４１，４２，４３を制御して各車輪３０，３１，３２，３３を駆動させる。これにより、コントローラ６０の制御により自律走行車の機台２０を前後方向、左右方向及び回転方向に走行させることができる。
【００２３】
全方向移動車両である自律走行車における走行の際の動きとして、並進、旋回、斜行により自由な動作が可能であり、例えば、図３（ａ），（ｂ），（ｃ），（ｄ），（ｅ）に示すように駆動することができる。なお、機台２０の並進と旋回を組み合わせることで旋回しながら並進することも可能である。
【００２４】
自律走行車Ｃ１０は、ＳＬＡＭ(Simultaneous Localization and Mapping)技術を用いており、コントローラ６０は、マッピング機能と自己位置推定機能を有している。
コントローラ６０は、地図情報を作成するマッピング機能を備える。コントローラ６０は、予め有している初期地図とセンサ６５によって得られた地図情報とから自律走行車Ｃ１０が使用する環境地図を作成する。地図情報は、例えば、センサ６５によって得られた情報のうち特徴点となり得る部分（例えば、障害物の角など）を利用して作成される。作成した環境地図は、当該地図の二次元の領域を四角形のグリッドに分けたグリッドマップとして図示しないメモリに記憶される。そして、センサ６５としてのレーザレンジファインダは、走行中は常に障害物を検出する。検出された障害物の情報は、逐次地図情報として環境地図に更新される。
【００２５】
このように、自律走行車Ｃ１０は、コントローラ６０を備え、コントローラ６０は、走行中の自己位置を推定する自己位置推定手段と、走行領域をグリッドマップとして地図情報を作成するマッピング手段とを構成している。
【００２６】
また、自律走行車Ｃ１０には、自律走行車Ｃ１０の走行経路の設定等を行うための図示しない端末が設けられており、端末には環境地図が表示される。環境地図には認識されている障害物の情報も表示される。作業者は表示された環境地図に基づき自律走行車Ｃ１０の経路を設定する。なお、端末と自律走行車Ｃ１０には情報を送受信するための図示しない送受信装置を有している。
【００２７】
また、コントローラ６０は、端末から受信した経路の情報をグリッドマップに変換する変換機能を有する。
コントローラ６０は、駆動回路６１〜６４を介してモータ４０〜４３を制御し、設定された（グリッドマップに変換された）走行経路を基に、自己位置を推定しながら自律走行車Ｃ１０をスタートグリッドからゴールグリッドへと走行するように制御を行う。
【００２８】
次に、走行経路の生成について説明する。
コントローラ６０は、図４に示す走行制御処理を実行する。
図４に示すように、走行経路生成アルゴリズムのフローチャートとして、ステップＳ１００で最初に初期経路を生成する。初期経路は、端末から受信した経路情報をグリッドマップに変換したものであり、さらに、スタートグリッドからゴールグリッドまでの走行経路上のそれぞれのグリッドに１から番号を付与する。
【００２９】
次に、決定された走行経路に基づいて図４のステップＳ１０１で経由点（経由グリッド）の決定を行う。経由点とは、自律走行車Ｃ１０の自己位置と走行経路上のグリッドとを直線で結んだ時に障害物によって遮断されないグリッドである。そして、本実施形態では複数の経由点のうち一番大きな番号を使用する。具体的には、自律走行車Ｃ１０が存在するグリッドから、走行経路の番号の小さいグリッドより順番にそれぞれ直線を結び、直線が障害物によって遮断されない、つまり、２点のグリッド間に障害物が存在しないかどうかを検索する。そして、直線が遮断されたグリッドを検出したところで検索を終了する。コントローラ６０は、直線が遮断されたグリッドの１つ前のグリッドを経由点とする。これにより、直線が遮断されない一番大きな番号が経由点となる（以下、一番大きな番号の経由点を単に「経由点」と表記する）。経由点を検索する際には、現在設定されている経由点のグリッドよりも新たに検出されたグリッドの方が大きいことも条件となる。
【００３０】
なお、検索の際の直線は、両方のグリッドの中心同士を結んでおり、直線が障害物に遮断されたか否かは、自律走行車Ｃ１０の機台２０の大きさを加えた範囲を考慮して決定する。具体的には、上面視円形（図１）の機台２０の半径Ｒの分だけ直線に対して両側に平行にオフセットさせた領域に障害物が存在すると、直線が遮断されたと判断する。
【００３１】
経由点が検出されると、図４のステップＳ１０２でコントローラ６０は経由点に向かって自律走行車Ｃ１０が走行するように制御を行う。その後、ステップＳ１０１に戻る。コントローラ６０は、ステップＳ１０１とステップＳ１０２の制御をゴールグリッドに到着するまで、走行中リアルタイムに（数十ｍ秒毎に）繰り返す。したがって、自律走行車Ｃ１０は走行中にリアルタイムに経由点が順次変更される。
【００３２】
次に、自律走行車の走行について作用を説明する。
作業者によって端末から走行経路が指示されると、グリッドマップ上に図５に示すような走行経路に番号が付与された初期経路が生成される（Ｓ１００）。図５では、スタートグリッドであるグリッド１から、障害物を左周りに回避してゴールグリッドであるグリッド２２までを走行する経路が生成されている。
【００３３】
そして、自律走行車Ｃ１０はグリッド１から経由点を決定する。具体的には、グリッド１から走行経路上のグリッドを直線で結んだ時に障害物によって遮断されないグリッドの中で、一番大きな番号を検出する。このとき、自律走行車Ｃ１０は自己位置の情報と環境地図（グリッドマップ）の障害物や走行経路等の情報を有しているので、２つの情報を基に番号を検出する。
【００３４】
グリッド１での経由点の検索では、グリッド１とグリッド２、グリッド１とグリッド３と順番にグリッドを直線で結び、障害物によって直線を遮断したと判断されるグリッドに当たるまで繰り返し行う。したがって、グリッド１では複数の経由点の候補が検出される。そして、障害物によって遮断されるのは、図６（ａ）に示すようにグリッド１とグリッド１１を結んだ場合であるため、最初の経由点はその１つ前のグリッド１０となる。コントローラ６０はグリッド１０を経由点と決定する（Ｓ１０１）。
【００３５】
次に、自律走行車Ｃ１０は経由点であるグリッド１０に向けて走行（直進）する。
走行中、自律走行車Ｃ１０は、リアルタイムで、自律走行車Ｃ１０の自己位置から経路点の決定を行う。具体的には、自律走行車Ｃ１０の自己位置からグリッド１０よりも大きな番号で障害物によって遮断されないグリッドを検索する。この検索では、現在の経由点（向かっている経由点）よりも番号の大きなグリッドを対象とする。自律走行車Ｃ１０は検索をリアルタイムに続けながら走行すると、図６（ｂ）に示すようなグリッド７の付近（正確には、グリッド７から少し障害物寄りのグリッド１とグリッド１０とを繋いだ直線上）で自己位置から直線が障害物に遮断されないグリッド１１を検出する。しかし、グリッド１２は障害物に遮断される。そして、コントローラ６０は、グリッド１１を経由点として新たに決定し、自律走行車Ｃ１０は、グリッド１１に向かって直進走行を行う（走行を変更する）。
【００３６】
さらに、環境地図の更新と経由点の検索をリアルタイムに続けながらグリッド１１に向けて走行をすると、図６（ｃ）に示すように、自己位置から直線が障害物に遮断されないグリッド１２を検出する。しかし、グリッド１３は障害物に遮断される。コントローラ６０は、グリッド１２を経由点として新たに決定し、自律走行車Ｃ１０は、グリッド１２に向かって直進走行を行う。すると、自律走行車Ｃ１０は障害物を越えた位置付近まで到達する。その地点に達すると自己位置から障害物に遮断されないグリッド１３、１４、１５を検出する。そして、図７（ａ）に示すように、グリッド１６は障害物に遮断されるため、グリッド１５を経由点として決定する。自律走行車Ｃ１０はグリッド１５に向けて走行する。
【００３７】
同様に、自律走行車Ｃ１０は検索をリアルタイムに続けながら走行すると、図７（ｂ）、図７（ｃ）に示すように経由点をグリッド１６、２２と順に決定していき、走行経路を変更する。
【００３８】
そして、経由点のグリッド２２はゴールグリッドであるので、経由点をグリッド２２に決定した時点からは走行経路を変更することなくグリッド２２へと走行する。自律走行車Ｃ１０はグリッド２２に到達すると走行を停止する。
【００３９】
したがって、自律走行車Ｃ１０は図８に示される経路で走行を行う。
このように、本実施形態では、既定経路から、自律走行車Ｃ１０の自己位置からリアルタイムに経由点を決定し、経由点に向かって走行を変更する。つまり、コントローラ６０は、自律走行車Ｃ１０の走行中に障害物を検出しないグリッドに向かって直進させ、その直線走行の途中においてリアルタイムに障害物を検出しない次のグリッドに対して直線走行させる。これを繰り返すことにより障害物を回避する経路付近では細かく走行方向が変更される走行経路が生成される。また、障害物を回避する前後においては、長い距離を直線走行する経路となる。
【００４０】
なお、図１１に示す走行経路設定では、走行前に決定された経路点のグリッド１０、１５で走行方向を変更するため、自律走行車は大きな方向転換が必要となり、角ばった走行経路となる。
【００４１】
一方、図７（ｃ）の走行経路設定では、リアルタイムに５回の経路変更（走行方向変更）を行うので、図１１と比較して滑らかな走行経路となる。
また、リアルタイムに障害物を検出しないグリッドに向けて走行するため、障害物との衝突を回避しながら図１１と比較しても走行経路を短くすることができる。もちろん、既定経路（番号を付与した経路）よりも走行経路を短くすることができる。したがって、自律走行車Ｃ１０の走行距離を削減することができる。
【００４２】
なお、図９に示すような三角形の障害物でグリッドマップとしては階段状に認識される経路に沿った走行経路であったとしても、グリッド１から障害物に遮断されていないグリッド１２を経由点として、直線に走行するため、途中で自律走行車Ｃ１０が方向転換したりすることは無い。
【００４３】
上記実施形態によれば、以下のような効果を得ることができる。
（１）自律走行車Ｃ１０は、グリッドマップを用いて障害物を避けるように予め定められた経路に番号を付けて番号順に追従して走行する。自律走行車Ｃ１０は、走行しながら自律走行車Ｃ１０の自己位置と障害物位置からリアルタイムに経由点を変更する。これにより９０°近い方向変換することなく走行経路に基づいて自律走行車Ｃ１０の滑らかに走行することができる。
【００４４】
（２）自律走行車Ｃ１０の経路設定において自己位置から直線で障害物に遮断されないグリッドを経由点として設定する。これにより、自律走行車Ｃ１０は障害物を確実に回避しながら走行することができる。
【００４５】
（３）自律走行車Ｃ１０の経由点を走行経路上のグリッドを直線で結んだ時に障害物によって遮断されないグリッドの中で、一番大きな番号としている。これにより、経由点より小さい番号を飛ばす経路となるため、より短い走行経路でゴールグリッドに到着することができる。
【００４６】
（４）自己位置から走行経路上のグリッドを結ぶ直線が障害物に遮断されないグリッド検出において、自律走行車Ｃ１０の機台２０の大きさ（半径Ｒ）を考慮した直線としている。これにより衝突をすることなくより障害物の近くを回る経路を通ることができる。
【００４７】
実施形態は前記に限定されるものではなく、例えば、次のように具体化してもよい。
○  自己位置推定には、ＳＬＡＭを用いたが、自己位置の推定の方法は特に限定されない。
【００４８】
○  本実施形態では、センサ６５であるレーザレンジファインダの照射可能範囲を２７０°として記載したが、３６０°照射してもよい。
○  作業者が端末によって走行経路を設定したが、経路設定の仕方は特に限定されない。予め、コントローラ６０に走行経路のパターンを記憶しておき、読み取る方式でもよい。
【００４９】
○  自律走行車Ｃ１０の機台２０は円筒形であるとしたが、形状は特に限定されない。直方体等であってもよい。その場合には機台の中心から最も離れた（最外）の位置を考慮した範囲とすればよい。
【００５０】
○本実施形態では、複数の経由点のうち一番大きい番号を選択するとしているが、障害物回避の余裕を持たせて二番目に大きな番号を選択するようにしてもよい。
【符号の説明】
【００５１】
６０…コントローラ、Ｃ１０…自律走行車。
【図１】
2020154763.tif 000003
【図２】
2020154763.tif 000004
【図３】
2020154763.tif 000005
【図４】
2020154763.tif 000006
【図５】
2020154763.tif 000007
【図６】
2020154763.tif 000008
【図７】
2020154763.tif 000009
【図８】
2020154763.tif 000010
【図９】
2020154763.tif 000011
【図１０】
2020154763.tif 000012
【図１１】
2020154763.tif 000013