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

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

▶ 株式会社豊田自動織機の特許一覧

<>
  • 特許-自律走行体制御装置 図1
  • 特許-自律走行体制御装置 図2
  • 特許-自律走行体制御装置 図3
  • 特許-自律走行体制御装置 図4
  • 特許-自律走行体制御装置 図5
  • 特許-自律走行体制御装置 図6
  • 特許-自律走行体制御装置 図7
  • 特許-自律走行体制御装置 図8
  • 特許-自律走行体制御装置 図9
  • 特許-自律走行体制御装置 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-25
(45)【発行日】2024-12-03
(54)【発明の名称】自律走行体制御装置
(51)【国際特許分類】
   G05D 1/43 20240101AFI20241126BHJP
【FI】
G05D1/43
【請求項の数】 5
(21)【出願番号】P 2021147009
(22)【出願日】2021-09-09
(65)【公開番号】P2023039741
(43)【公開日】2023-03-22
【審査請求日】2023-12-18
(73)【特許権者】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】中田 翔
【審査官】牧 初
(56)【参考文献】
【文献】特開2020-140477(JP,A)
【文献】特開2015-123534(JP,A)
【文献】特開2011-253377(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00- 1/87
G01C 21/00-21/36
G01C 23/00-25/00
G08G 1/00-99/00
G06T 7/00- 7/90
G06V 10/00-20/90
(57)【特許請求の範囲】
【請求項1】
障害物を観測可能に構成されたセンサを備える自律走行体が走行する走行経路を生成する自律走行体制御装置であって、
前記センサの観測結果に基づき、前記自律走行体に対する前記障害物の位置を示す障害物点群を導出する障害物点群導出部と、
導出された前記障害物点群に基づき、前記障害物点群で表される前記障害物を前記自律走行体に回避させる回避部と、を備え、
前記障害物点群導出部は、
前記センサの観測結果に基づき、前記センサの観測領域内で観測された前記障害物の位置を示す観測点群を取得する観測点群取得部と、
前記観測点群取得部によって取得された前記観測点群に基づき、前記観測領域のうち、前記障害物によって遮られる遮蔽領域内に、補助点群を生成する補助点群生成部と、
前記自律走行体が走行する環境を示す地図情報を記憶する地図記憶部と、
導出された前記障害物点群に基づき、前記自律走行体が前記障害物点群で表される前記障害物を前記観測領域内で回避可能か否かを判定する回避判定部と、
前記自律走行体が前記観測領域内で前記障害物を回避できないと判定された場合に、前記障害物を回避するための前記走行経路を生成する経路生成部と、を備え、
前記障害物点群は、前記観測点群と、前記補助点群と、を含
前記経路生成部は、
前記補助点群によって表される領域を走行可能とみなして前記走行経路を生成するとともに、前記障害物点群及び前記地図情報に基づき前記障害物点群によって表される前記障害物を回避可能な前記走行経路を生成する、自律走行体制御装置。
【請求項2】
過去に前記センサによって観測された前記障害物であって、前記自律走行体の移動によって前記センサの観測領域外に位置することとなった前記障害物の位置を示す点群を仮想観測点群とすると、
前記障害物点群導出部は、
前記観測点群取得部によって取得された前記観測点群よりも過去に取得された前記観測点群を過去観測点群とすると、前記過去観測点群の取得から前記観測点群取得部による前記観測点群の取得までの前記自律走行体の移動量を取得する移動量取得部と、
前記過去観測点群を前記移動量だけ移動させることで、前記仮想観測点群を導出する仮想観測点群導出部と、
過去に生成された前記補助点群を前記移動量だけ移動させることで、前記センサの観測領域外に位置する仮想補助点群を導出する仮想補助点群導出部と、を備え、
前記障害物点群は、前記仮想観測点群と、前記仮想補助点群と、を含む、請求項に記載の自律走行体制御装置。
【請求項3】
前記経路生成部は、さらに前記仮想観測点群に基づき、前記観測点群及び前記仮想観測点群によって表される前記障害物を回避可能な前記走行経路を生成する、請求項に記載の自律走行体制御装置。
【請求項4】
前記センサが観測している方向を観測方向とし、
前記経路生成部によって生成された前記走行経路の延びる方向を経路方向とすると、
前記自律走行体制御装置は、前記観測方向から前記経路方向に向かう旋回方向に前記自律走行体を旋回させた上で、前記観測方向を前記経路方向に揃える旋回部を備え、
前記障害物点群導出部は、さらに、前記旋回部による前記自律走行体の旋回中に、前記障害物点群の導出を行う、請求項又はに記載の自律走行体制御装置。
【請求項5】
前記旋回部は、前記旋回方向にのみ前記自律走行体を旋回させることで前記観測方向を前記経路方向に揃える、請求項に記載の自律走行体制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自律走行体制御装置に関する。
【背景技術】
【0002】
特許文献1には、周囲の障害物を観測可能なセンサを備える自律走行体が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2014-089740号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、観測領域に配置されている障害物によって、センサの観測が遮られることがある。この場合、センサは、障害物によって遮蔽されている遮蔽領域に存在する可能性のある障害物を観測することが困難となる。そのため、このような遮蔽領域に存在する可能性のある障害物を自律走行体に回避させることが望ましい。
【課題を解決するための手段】
【0005】
上記課題を解決する自律走行体制御装置は、障害物を観測可能に構成されたセンサを備える自律走行体が走行する走行経路を生成する自律走行体制御装置であって、前記センサの観測結果に基づき、前記自律走行体に対する前記障害物の位置を示す障害物点群を導出する障害物点群導出部と、導出された前記障害物点群に基づき、前記障害物点群で表される前記障害物を前記自律走行体に回避させる回避部と、を備え、前記障害物点群導出部は、前記センサの観測結果に基づき、前記センサの観測領域内で観測された前記障害物の位置を示す観測点群を取得する観測点群取得部と、前記観測点群取得部によって取得された前記観測点群に基づき、前記観測領域のうち、前記障害物によって遮られる遮蔽領域内に、補助点群を生成する補助点群生成部と、を備え、前記障害物点群は、前記観測点群と、前記補助点群と、を含む。
【0006】
これによれば、センサによって観測された障害物は観測点群として表され、障害物によってセンサが観測できなかった遮蔽領域に存在し得る障害物は補助点群として表される。自律走行体は、観測点群と補助点群とを含む障害物点群に基づき、障害物点群で表される障害物を回避する。したがって、障害物によってセンサが観測できなかった遮蔽領域内に障害物がある可能性を考慮した上で、自律走行体に障害物を回避させることができる。
【0007】
上記自律走行体制御装置では、前記自律走行体が走行する環境を示す地図情報を記憶する地図記憶部と、導出された前記障害物点群に基づき、前記自律走行体が前記障害物点群で表される前記障害物を前記観測領域内で回避可能か否かを判定する回避判定部と、前記自律走行体が前記観測領域内で前記障害物を回避できないと判定された場合に、前記障害物を回避するための前記走行経路を生成する経路生成部と、を備え、前記経路生成部は、前記補助点群が除去された前記障害物点群及び前記地図情報に基づき、前記障害物点群によって表される前記障害物を回避可能な前記走行経路を生成する、ものであってもよい。
【0008】
これによれば、自律走行体制御装置は、観測点群と補助点群とを含む障害物点群に基づき、障害物点群で表される障害物が観測領域内で回避可能なものか否かを判定する。自律走行体が観測領域内で当該障害物を回避できないと判定された場合、自律走行体制御装置は、補助点群が除去された障害物点群と地図情報とを用いて、当該障害物を回避可能な走行経路を生成する。この場合、自律走行体制御装置は、当該走行経路を生成する際に、除去された補助点群を考慮しない。そのため、障害物が存在するかどうかがセンサによって観測されていない遮蔽領域を避けて走行経路が生成されることを回避することができる。したがって、障害物を回避するための走行経路が冗長となることを抑制することができる。
【0009】
上記自律走行体制御装置では、過去に前記センサによって観測された前記障害物であって、前記自律走行体の移動によって前記センサの観測領域外に位置することとなった前記障害物の位置を示す点群を仮想観測点群とすると、前記障害物点群導出部は、前記観測点群取得部によって取得された前記観測点群よりも過去に取得された前記観測点群を過去観測点群とすると、前記過去観測点群の取得から前記観測点群取得部による前記観測点群の取得までの前記自律走行体の移動量を取得する移動量取得部と、前記過去観測点群を前記移動量だけ移動させることで、前記仮想観測点群を導出する仮想観測点群導出部と、過去に生成された前記補助点群を前記移動量だけ移動させることで、前記センサの観測領域外に位置する仮想補助点群を導出する仮想補助点群導出部と、を備え、前記障害物点群は、前記仮想観測点群と、前記仮想補助点群と、を含む、ものであってもよい。
【0010】
これによれば、仮想観測点群は、過去に取得された観測点群を自律走行体の移動量だけ移動させることで得られる。仮想観測点群は、過去に観測された観測点群によって示される障害物が、観測点群取得部による観測点群の取得が行われるタイミングでどこに位置するかを示す。したがって、過去にセンサによって観測されたにも関わらず、自律走行体の移動によって観測領域外に位置することとなった障害物の位置を考慮した上で、自律走行体に障害物を回避させることができる。
【0011】
また、過去に生成された補助点群が自律走行体の移動によってセンサの観測領域外に移動することとなった場合、当該補助点群を自律走行体の移動量だけ移動させることで、仮想補助点群が導出される。このようにして導出された仮想補助点群は、センサの観測領域であったにも関わらず障害物によってセンサが観測できなかった領域の、移動後の位置を示す。障害物点群が仮想補助点群を含むため、自律走行体は回避の際に、仮想補助点群によって表されている領域を避けて回避を行うことができる。障害物によってセンサが観測できなかった領域を避けつつ障害物を回避することができる。したがって、自律走行体が障害物によって遮蔽された領域の物体と接触する可能性を低減することができる。
【0012】
上記自律走行体制御装置では、前記経路生成部は、さらに前記仮想観測点群に基づき、前記観測点群及び前記仮想観測点群によって表される前記障害物を回避可能な前記走行経路を生成する、ものであってもよい。
【0013】
これによれば、自律走行体制御装置は、観測領域内の障害物の位置のみならず、過去に観測領域内に位置していたが自律走行体の走行によって観測領域外に位置することとなった障害物の位置を考慮して、走行経路を生成することができる。
【0014】
上記自律走行体制御装置では、前記センサが観測している方向を観測方向とし、前記経路生成部によって生成された前記走行経路の延びる方向を経路方向とすると、前記自律走行体制御装置は、前記観測方向から前記経路方向に向かう旋回方向に前記自律走行体を旋回させた上で、前記観測方向を前記経路方向に揃える旋回部を備え、前記障害物点群導出部は、さらに、前記旋回部による前記自律走行体の旋回中に、前記障害物点群の導出を行う、ものであってもよい。
【0015】
これによれば、自律走行体の旋回が行われた場合、障害物点群取得部は、旋回中に導出された仮想観測点群を含む障害物点群を取得する。したがって、旋回によって自律走行体の周囲の障害物の有無を確認した上で、経路生成部によって生成された走行経路へと自律走行体を誘導することができる。
【0016】
上記自律走行体制御装置では、前記旋回部は、前記旋回方向にのみ前記自律走行体を旋回させることで前記観測方向を前記経路方向に揃える、ものであってもよい。
これによれば、旋回によって自律走行体の周囲の障害物の有無を確認する際に自律走行体を旋回させる方向と、観測方向を経路方向に向ける際に自律走行体を旋回させる方向が一致する。したがって、自律走行体を旋回させる方向を反転させることによる旋回動作の無駄を省くことができる。
【発明の効果】
【0017】
本発明によれば、遮蔽領域に存在する可能性のある障害物を自律走行体に回避させることができる。
【図面の簡単な説明】
【0018】
図1】自律走行体の平面図である。
図2】自律走行体のブロック図である。
図3】障害物点群導出処理を示すフローチャートである。
図4】回避処理を示すフローチャートである。
図5】自律走行体制御処理での自律走行体の動作の一例を示す図である。
図6】自律走行体制御処理での自律走行体の動作の一例を示す図である。
図7】自律走行体制御処理での自律走行体の動作の一例を示す図である。
図8】自律走行体制御処理での自律走行体の動作の一例を示す図である。
図9】自律走行体制御処理での自律走行体の動作の一例を示す図である。
図10】自律走行体制御処理での自律走行体の動作の一例を示す図である。
【発明を実施するための形態】
【0019】
<構成>
以下、自律走行体制御装置が適用される自律走行体の一実施形態について説明する。
図1に示すように、自律走行体10は、車両20と、車両20に搭載されたセンサ31と、車両20に搭載された制御装置32と、を備える。車両20は、車体21と、複数の車輪22と、を備える。自律走行体10は、荷を搬送する搬送台車である。本実施形態の自律走行体10は、全方位に移動可能であり、走行体中心位置Pを中心にその場旋回可能に構成されている。
【0020】
本実施形態の車輪22は、全方向移動車輪である。全方向移動車輪とは、車軸と一体となって回転することに加えて、車軸の軸線方向への移動を許容する車輪である。車輪22は、4つ設けられている。車輪22の回転数、及び、回転方向が制御されることで、車両20は、車体21の向きを維持した状態での全方向への移動、車体21の向きを変更しながらの移動、移動しない状態での車体21の向きの変更が可能である。なお、上記した「全方向」とは、車両20が走行する路面上や床面上での移動方向を示す。以下、説明の便宜上、車両20が走行する面を水平面という。
【0021】
図2に示すように、自律走行体10は、車輪22を駆動させる駆動機構41を備える。駆動機構41は、車輪22を回転させるためのモータ42と、モータ42を駆動させるモータドライバ43と、を備える。なお、図示は省略するが、モータ42、及び、モータドライバ43は、車輪22の数と同数設けられる。モータドライバ43は、制御装置32からの指令に応じてモータ42の回転数を制御する。制御装置32は、モータドライバ43を介してモータ42の回転数を制御することで、車両20の進行方向を制御可能である。
【0022】
次に、センサ31、及び、制御装置32について詳細に説明する。
図1に示すように、センサ31は、観測領域A1内の障害物Ob1を観測可能に構成されている。本実施形態のセンサ31は、CMOS(Complementary Metal Oxide Transistor)等の撮像素子を含むRGBカメラである。
【0023】
観測領域A1は、センサ31から観測方向D1に延びる領域である。観測方向D1は、水平面に平行な方向である。観測領域A1は、センサ31から観測方向D1に向かうにつれて、水平面に平行な方向であって観測方向D1と垂直な方向に広がる。観測方向D1は、センサ31を基準とする観測領域A1の中央を示す。観測領域A1は、水平面内において観測方向D1から所定の観測角度の範囲に含まれる。観測角度は、例えば観測方向D1に対して±60度の範囲である。本実施形態の観測角度は、センサ31の画角である。センサ31は、走行体中心位置Pから離れた位置であるセンサ位置Psに搭載されている。以下、説明の便宜上、センサ位置Psから延びるとともに観測方向D1とのなす角が上記観測角度となる仮想的な境界線を、観測境界線B1,B2という。本実施形態では、水平面内における走行体中心位置Pからセンサ位置Psに向かう方向は、観測方向D1と一致している。
【0024】
図5に示すように、観測領域A1内に障害物Ob1が存在する場合、観測領域A1は、遮蔽領域A11と、観測可能領域A12とにより構成される。
遮蔽領域A11は、観測領域A1のうち、センサ31による観測が障害物Ob1によって遮られる領域である。言い換えれば、遮蔽領域A11は、例えばセンサ31を基準とする障害物Ob1の奥行きなど、センサ31から見た障害物Ob1の死角である。例えば、観測領域A1内に障害物Ob1が存在する場合、センサ31は、当該障害物Ob1のうちのセンサ31と向き合う部分を観測する。しかし、センサ31は、当該障害物Ob1のうち、センサ31によって観測される部分で遮蔽される領域を観測することができない場合がある。当該障害物Ob1の部分で遮蔽される領域が、遮蔽領域A11に相当する。この場合、センサ31は、遮蔽領域A11内に位置する可能性がある障害物を観測することができない。なお、遮蔽領域A11内に位置する可能性がある障害物とは、例えば障害物Ob1の一部、障害物Ob1とは異なる障害物である。
【0025】
観測可能領域A12は、観測領域A1のうちの遮蔽領域A11以外の領域である。観測可能領域A12は、障害物Ob1によってセンサ31の視界が遮られない領域である。観測可能領域A12は、センサ31によって障害物Ob1を直接観測することが可能な領域である。
【0026】
図2に示すように、制御装置32は、CPU33と、RAM及びROM等からなる記憶部34と、補助記憶装置35と、を備える。記憶部34には、車両20を制御するための種々のプログラムが記憶されている。制御装置32は、各種処理のうち少なくとも一部の処理を実行する専用のハードウェア、例えば、特定用途向け集積回路:ASICを備えていてもよい。制御装置32は、コンピュータプログラムに従って動作する1つ以上のプロセッサ、ASIC等の1つ以上の専用のハードウェア回路、あるいは、それらの組み合わせを含む回路として構成し得る。プロセッサは、CPU、並びに、RAM及びROM等のメモリを含む。記憶部34は、処理をCPUに実行させるように構成されたプログラムコードまたは指令を格納している。記憶部34、即ち、コンピュータ可読媒体は、汎用または専用のコンピュータでアクセスできるあらゆるものを含む。補助記憶装置35は、書き換え可能な不揮発性メモリである。補助記憶装置35としては、例えば、EEPROM(Electrically Erasable Programmable Read-Only Memory)及びフラッシュメモリを挙げることができる。補助記憶装置35には、環境地図を示す情報が記憶されている。環境地図とは、自律走行体10の用いられる環境の形状、広さなど、自律走行体10の周辺環境の物理的構造に関する情報である。環境地図を記憶する補助記憶装置35を備える制御装置32が、本実施形態の地図記憶部に相当する。
【0027】
図1に示すように、車両20を走行させる際には、制御装置32は、走行経路Rを生成する。走行経路Rは、車両20の出発点である現在位置から最終到達点Gまでの経路である。なお、車両20が直進している場合、観測方向D1は走行経路Rに平行となる。図1では、走行経路Rと観測方向D1とが重なり合っている。走行経路Rの生成方法としては、走行可能経路をグリッドマップ化して経路生成を行う方法や、ポテンシャル場を用いたポテンシャル法などを用いることができる。
【0028】
制御装置32は、車両20から所定距離離れた走行経路R上の位置を目標点とし、目標点に向けて走行するように駆動機構41を制御する。制御装置32は、センサ31の観測方向D1が車両20の進行方向を向くように車両20を走行させる。図1に示す状況では、目標点は、最終到達点Gと一致している。以下、説明の便宜上、観測方向D1が車両20の進行方向と一致するように車両20が走行することを通常走行という。通常走行での車両20の進行方向は、走行経路Rが延びる方向と一致している。
【0029】
制御装置32は、自律走行体制御処理を行う。制御装置32は、自律走行体制御処理を行うことにより、センサ31によって観測された障害物Ob1を自律走行体10に回避させた上で、最終到達点Gへと自律走行体10を走行させる。このとき、制御装置32は、車両20と障害物Ob1とが接触しないように車両20と障害物Ob1との距離を所定値以上に保つ。当該処理を行う制御装置32が、本実施形態の自律走行体制御装置に相当する。
【0030】
以下、自律走行体制御処理の一例について図3及び図4を用いて説明する。自律走行体制御処理は、車両20が走行している間に行われる。自律走行体制御処理は、障害物点群導出処理と、回避処理と、を含む。
【0031】
まず、障害物点群導出処理の一例について説明する。
図3に示すように、制御装置32は、障害物点群導出処理を行う。これにより、図5に示すように、制御装置32は、センサ31の観測結果に基づき、障害物点群PCobを導出する。障害物点群導出処理は、所定の更新周期で繰り返し行われる。これにより、障害物点群PCobは、更新周期で更新される。障害物点群導出処理を実行する制御装置32が本実施形態の障害物点群導出部に相当する。
【0032】
障害物点群PCobは、自律走行体10に対する障害物Ob1の位置を示す。障害物点群PCobは、1又は複数の障害物点Pobから構成される。障害物Ob1の位置を示す点である。例えば、障害物点群PCobは、水平面内における自律走行体10に対する障害物Ob1の相対座標である。本実施形態では、障害物点群PCobは、走行体座標で表される点群である。走行体座標は、走行体中心位置Pを原点とする2次元座標系で表される。走行体座標では、観測方向D1に平行な方向をY方向、観測方向D1に垂直な方向をX方向とする。XY平面は、水平面に平行である。
【0033】
図5図10に示すように、本実施形態の障害物点群PCobは、観測点群PC1と、補助点群PC2と、仮想観測点群PCi1と、仮想補助点群PCi2と、を含む。また、本実施形態の障害物点Pobは、観測点P1と、補助点P2と、仮想観測点Pi1と、仮想補助点Pi2と、を含む。
【0034】
観測点群PC1は、センサ31の観測領域A1内の障害物Ob1の位置を示す。観測点群PC1は、1又は複数の観測点P1により構成されている。
補助点群PC2は、遮蔽領域A11内に位置する可能性がある障害物の位置を示す。遮蔽領域A11内に位置する可能性がある障害物とは、例えば障害物Ob1の一部や障害物Ob1とは異なる障害物などである。補助点群PC2は、1又は複数の補助点P2により構成されている。
【0035】
仮想観測点群PCi1は、過去にセンサ31によって観測された障害物Ob1の位置を示す。仮想観測点群PCi1は、1又は複数の仮想観測点Pi1により構成されている。
仮想補助点群PCi2は、過去にセンサ31の観測結果に基づき導出された遮蔽領域A11内に位置する可能性がある障害物Ob1の位置を示す。仮想補助点群PCi2は、1又は複数の仮想補助点Pi2により構成されている。
【0036】
図3に示すように、制御装置32は、ステップS11において、センサ31の観測結果に基づき観測点群PC1、及び観測時刻t1を取得する。ステップS11の処理を実行する制御装置32が本実施形態の観測点群取得部に相当する。
【0037】
観測時刻t1は、センサ31の観測結果が得られた時刻である。観測時刻t1は、観測点群PC1が制御装置32に取得された時刻であるともいえる。制御装置32は、ステップS11で取得された観測点群PC1及び観測時刻t1を、補助記憶装置35に記憶する。なお、観測時刻t1の取得及び記憶は任意である。
【0038】
走行体座標で表される観測点群PC1の導出方法の一例について説明する。
制御装置32は、センサ31が撮像した画像データを取得する。画像データには、観測領域A1内に配置されている対象が含まれ得る。取得された画像データの各ピクセルには、画像データ上の座標及び深度情報が対応付けられている。画像座標は、例えば当該画像の任意の点を原点とする二次元座標であり、センサ31に対する各ピクセルに表されている対象の方向を示す。深度情報は、各ピクセルに表されている対象とセンサ31との間の距離を示す。深度情報は、例えば画像データに対して深度推定を行うことにより得られる。深度推定の具体的態様は任意であるが、例えばSfM(Structure from Motion)や、畳み込みニューラルネットワーク(CNN:Convolution Neural Network)による機械学習を用いたものが挙げられる。深度情報は、距離センサなどから別途取得したものを用いてもよい。
【0039】
制御装置32は、取得した画像座標及び深度情報から、各ピクセルに対応するセンサ座標を導出する。センサ座標は、例えばセンサ位置Psを原点とする3次元座標系である。センサ座標では、観測方向D1に平行な方向をY方向とし、観測方向D1に垂直な方向をX方向とし、X方向及びY方向にともに垂直な方向をZ方向とする。ここでは、X方向及びY方向は、それぞれ水平面に平行な方向であるとする。なお、センサ座標は、センサ位置Psを原点とする極座標として表されていてもよい。これにより、制御装置32は、各ピクセルが示す対象のセンサ座標上の点群を導出する。
【0040】
制御装置32は、導出されたセンサ座標上の点群のX座標及びY座標に基づき、当該点群の走行体座標への変換を行う。制御装置32は、当該変換によって得られる点群を、観測点群PC1として導出する。なお、当該変換により、センサ座標上の点群に含まれるZ座標は削除される。言い換えれば、当該変換は、3次元のセンサ座標から2次元の走行体座標への射影である。制御装置32は、導出されたセンサ座標上の点群のうち、Z座標が所定の許容範囲内のもののみを走行体座標に変換してもよい。許容範囲とは、例えば自律走行体10が走行可能な段の高さや自律走行体10の車高に基づいて適宜設定すればよい。これにより、例えば自律走行体10が走行する床や、自律走行体10が乗り越えられる段差が観測点群PC1として導出されることが抑制される。
【0041】
以下で説明される各点群は、説明の便宜上、特に明示しない限り、走行体座標系で表されているものとする。
ステップS11が実行された後、ステップS12に進み、制御装置32は、遮蔽領域A11内に、補助点群PC2を生成する。遮蔽領域A11内には、遮蔽領域A11と観測可能領域A12との境界が含まれる。本実施形態では、補助点群PC2の少なくとも一部が、遮蔽領域A11と観測可能領域A12との境界に生成される。補助点群PC2は、複数の補助点P2によって構成されている。補助点P2同士の間隔は、自律走行体10の走行可能幅未満である。自律走行体10の走行可能幅とは、自律走行体10が走行することができる幅である。走行可能幅は、自律走行体10の水平方向での最大寸法より所定の猶予幅だけ長い。猶予幅は、車両20と障害物Ob1との間で許容可能な距離に基づき、ユーザが任意に設定することができる。なお、補助点群PC2の導出には、観測点群PC1が用いられることから、補助点群PC2は観測時刻t1での遮蔽領域A11内の障害物Ob1の位置を示す点群でもある。ステップS12の処理を実行する制御装置32が本実施形態の補助点群生成部に相当する。
【0042】
遮蔽領域A11内に補助点群PC2を生成する方法は任意であるが、例えば、制御装置32は、センサ位置Psと観測点P1とを結ぶ直線上において、センサ位置Psに対して観測点P1より離れた位置に補助点P2を生成すればよい。特に本実施形態では、補助点群PC2を生成する際に、制御装置32は、観測方向D1を基準として、センサ位置Psから観測点P1に向かう方向が最も大きい観測点P1を選択する。センサ位置Psと当該選択された観測点P1とを結ぶ直線上において、センサ位置Psに対して観測点P1より離れた位置に補助点P2を生成する。これにより、制御装置32は、遮蔽領域A11と観測可能領域A12との境界に、補助点群PC2を生成することができる。遮蔽領域A11と観測可能領域A12との境界に生成された補助点P2同士の距離は、自律走行体10の走行可能幅未満の任意の値である。なお、制御装置32は、観測点群PC1に基づき遮蔽領域A11を導出し、導出した遮蔽領域A11内の任意の位置に補助点P2を配置することで、補助点群PC2を生成してもよい。
【0043】
次にステップS13に進み、制御装置32は、過去観測点群、過去補助点群、及び過去観測時刻t2を取得する。過去観測点群は、ステップS11で取得された観測点群PC1よりも過去に取得された観測点群PC1である。過去補助点群は、ステップS12で生成された補助点群PC2よりも過去に生成された補助点群PC2である。過去観測時刻t2は、過去のステップS11において観測点群PC1の取得が行われた時刻である。本実施形態では、過去観測時刻t2は、過去のステップS12において補助点群PC2の生成が行われた時刻でもある。本実施形態では、前回の更新周期で行われた障害物点群導出処理で補助記憶装置35に記憶された観測点群PC1、補助点群PC2、及び観測時刻t1を、それぞれ過去観測点群、過去補助点群、及び過去観測時刻t2として取得する。なお、過去観測時刻t2の取得は任意である。
【0044】
制御装置32は、ステップS13での過去観測点群の取得からステップS11での観測点群PC1の取得までの自律走行体10の移動量δを取得する。移動量δは、自律走行体10の進行方向及び進行距離を含む。本実施形態では、移動量δは、過去観測時刻t2から観測時刻t1までの、絶対座標系における走行体中心位置Pの変化である。絶対座標系は、車輪22が接している地面が静止してみえる座標系である。
【0045】
移動量δの取得方法は任意であるが、例えば制御装置32は、オドメトリを用いて、車輪22の回転量やモータ42の回転量から、自律走行体10の走行距離及び走行方向を推定する。制御装置32は、推定された自律走行体10の走行距離及び走行方向から、移動量δを取得する。なお、制御装置32は、SLAM(Simultaneous Localization and Mapping)を用いて移動量δを導出してもよい。ステップS14の処理を実行する制御装置32が本実施形態の移動量取得部に相当する。
【0046】
次にステップS15に進み、制御装置32は、過去観測点群及び過去補助点群を移動量δだけ移動させることで、仮想観測点群PCi1及び仮想補助点群PCi2を導出する。特に、制御装置32は、過去観測点群のうち他の過去観測点群との距離が省略距離以上かつ走行可能幅未満の過去観測点群を移動させる。省略距離は、制御装置32が把握する障害物Ob1の解像度を示す。省略距離は、例えば障害物Ob1の観測精度に基づいて任意に設定可能である。ステップS15の処理を実行する制御装置32が本実施形態の仮想観測点群導出部及び仮想補助点群導出部に相当する。
【0047】
本実施形態では、制御装置32は、前回の更新周期における過去観測点群、すなわちステップS13で取得した過去観測点群のうち他の過去観測点群との距離が省略可能距離以上かつ走行可能幅未満のものを選択する。制御装置32は、当該選択された過去観測点群を、ステップS14で取得した移動量δだけ平行移動させることで、仮想観測点群PCi1を導出する。
【0048】
上述したように、過去観測時刻t2から観測時刻t1までに、走行体中心位置Pは移動量δだけ移動している。そのため、過去観測時刻t2で得られた過去観測点群で示される障害物Ob1は、走行体中心位置Pの移動した方向、すなわち自律走行体10の走行方向と反対方向に、走行体中心位置Pの移動距離と同じ距離だけ移動している。
【0049】
そのため、仮想観測点群PCi1は、過去の観測点群PC1から移動量δだけ移動した位置にある。詳細には、仮想観測点群PCi1は、過去の観測点群PC1から、走行体中心位置Pの移動方向と反対方向に、走行体中心位置Pの移動距離と同じ距離だけ移動した位置にある。同様に、仮想補助点群PCi2は、過去の補助点群PC2から移動量δだけ移動した位置にある。そのため、過去観測点群を移動量δだけ平行移動した点群は、観測時刻t1における障害物Ob1の位置を表す仮想観測点群PCi1となる。
【0050】
ここで、自律走行体10の移動によって、過去観測時刻t2では観測領域A1内に位置していた障害物Ob1が観測時刻t1では観測領域A1外に位置していることがある。この場合、仮想観測点群PCi1及び仮想補助点群PCi2は、観測領域A1外に位置する。したがって、仮想観測点群PCi1及び仮想補助点群PCi2は、観測領域A1外に位置する障害物の位置を示す。
【0051】
次にステップS16に進み、制御装置32は、観測領域A1内の仮想観測点群PCi1と、観測領域A1内の仮想補助点群PCi2と、を除去する。言い換えれば、制御装置32は、観測領域A1外の仮想観測点群PCi1と、観測領域A1外の仮想補助点群PCi2と、を障害物点群PCobとして残す。仮想観測点群PCi1及び仮想補助点群PCi2が観測領域A1内であるか否かは、仮想観測点Pi1及び仮想補助点Pi2のセンサ位置Psに対する水平面内の方向と観測方向D1とのなす角の角度が、観測角度の範囲内か否かによって判定可能である。当該角度が観測角度の範囲内の場合、制御装置32は仮想観測点群PCi1及び仮想補助点群PCi2が観測領域A1内であると判定する。一方、当該角度が観測角度の範囲外の場合、制御装置32は仮想観測点群PCi1及び仮想補助点群PCi2が観測領域A1外であると判定する。ステップS16で除去されずに残った仮想観測点群PCi1及び仮想補助点群PCi2は、観測領域A1外に位置する。そのため、当該仮想観測点群PCi1及び仮想補助点群PCi2は、自律走行体10の移動によってセンサ31の観測領域A1外に位置することとなった障害物Ob1の位置を示す。ステップS16の処理を実行する制御装置32が本実施形態の補助点群除去部に相当する。
【0052】
次にステップS17に進み、制御装置32は、観測可能領域A12内の補助点群PC2及び仮想補助点群PCi2を除去する。なお、本実施形態では、観測可能領域A12内の仮想補助点群PCi2はステップS16で除去されている。
【0053】
次にステップS18に進み、制御装置32は、探索領域A2外に位置する観測点群PC1、仮想観測点群PCi1、補助点群PC2、及び仮想補助点群PCi2を除去する。
図5図10に示すように、探索領域A2は、自律走行体10の少なくとも一部を含む。探索領域A2は、走行体中心位置P及びセンサ位置Psを含む。本実施形態では、探索領域A2は、自律走行体10の全部を含む。探索領域A2は、矩形状である。探索領域A2の大きさは、予めユーザに設定されたものでもよいし、自律走行体10の走行状態、例えば走行速度に対応する自律走行体10の制動距離に基づいて適宜設定されたものでもよい。
【0054】
図3に示すように、次にステップS19に進み、制御装置32は、ステップS11からステップS15までの処理で取得又は導出された観測点群PC1、補助点群PC2、仮想観測点群PCi1、及び仮想補助点群PCi2のうち、ステップS16からステップS18までの処理で除去されずに残っているものを障害物点群PCobとして導出する。言い換えれば、制御装置32は、観測領域A1内の観測点群PC1、観測領域A1内の補助点群PC2、観測領域A1外の仮想観測点群PCi1、及び観測領域A1外の仮想補助点群PCi2のうち、探索領域A2内に位置するものを、障害物点群PCobとして導出する。
【0055】
制御装置32は、障害物点群PCobとして導出された観測点群PC1及び仮想観測点群PCi1を過去観測点群として、補助点群PC2及び仮想補助点群PCi2を過去補助点群として、観測時刻t1を過去観測時刻t2として、それぞれ補助記憶装置35に記憶することで、前回の更新周期の障害物点群PCobを更新する。ステップS19の処理の終了後、制御装置32は、障害物点群導出処理を終了する。
【0056】
次に、制御装置32は、上述した障害物点群導出処理によって導出された障害物点群PCobを用いて、回避処理を行う。以下、回避処理の一例について説明する。
図4に示すように、制御装置32は、ステップS21において、探索領域A2内に障害物Ob1が存在するか否かを判定する。詳細には、制御装置32は、探索領域A2内に障害物点群導出処理によって導出された障害物点群PCobが含まれているか否かを判定する。ステップS21の判定結果が否定の場合、制御装置32は、回避処理を終了し、自律走行体10に通常走行を継続させる。
【0057】
ステップS21の判定結果が肯定の場合、ステップS22に進み、制御装置32は、自律走行体10が観測領域A1内で障害物Ob1を回避可能か否かを判定する。例えば、制御装置32は、ステップS22において、障害物点群PCobが存在しない領域であって、走行可能幅以上の領域が観測領域A1内にあるか否かを判定する。ステップS21の処理を実行する制御装置32が、本実施形態の回避判定部に相当する。ステップS21の判定結果が肯定の場合、ステップS23に進み、制御装置32は、自律走行体10に回避走行を行わせる。自律走行体10に障害物点群PCobによって示される障害物Ob1を回避させる。回避走行とは、ステップS21で存在すると判定された障害物Ob1を回避することができる方向への走行である。回避走行の一例として、制御装置32は障害物点群PCobの位置に基づき走行方向の決定を行う。制御装置32は、探索領域A2内に障害物点群PCobを含まない領域であって、障害物点Pobの間隔が走行可能幅以上の領域があるか否かを探索する。制御装置32は、当該走行可能幅以上の領域のうち、走行体中心位置Pから当該領域に向かう方向と最も走行経路Rの向かう方向との角度が最も小さい方向を、自律走行体10の走行方向に決定する。その後、制御装置32は、当該走行方向に自律走行体10を走行させる。言い換えれば、制御装置32は、障害物点Pobの間隔が走行可能幅未満となっている領域、本実施形態では障害物点Pobで示される領域、を自律走行体10に迂回させることで、自律走行体10に障害物Ob1を回避させる。ステップS23の処理を実行する制御装置32が本実施形態の回避部に相当する。制御装置32は、回避走行の開始から更新周期の経過後、障害物点群導出処理を行った上でステップS21に戻る。
【0058】
一方、ステップS22の判定結果が否定の場合、ステップS24に進み、制御装置32は、自律走行体10を停止させる。以下、説明の便宜上、ステップS24の処理によって自律走行体10が停止した位置を、単に停止位置という。本実施形態では、停止位置は、自律走行体10が停止した時点における走行体中心位置Pと一致しているものとする。
【0059】
次にステップS25に進み、制御装置32は、障害物点群導出処理で導出された障害物点群PCob及び環境地図に基づき、停止位置から最終到達点Gまでの走行経路Rを生成する。ステップS25の処理を実行する制御装置32が、本実施形態の経路生成部に相当する。
【0060】
制御装置32は、最終到達点Gまでの走行経路Rを生成するにあたり、障害物点群PCobから補助点群PC2及び仮想補助点群PCi2を除去する。制御装置32は、観測点群PC1及び仮想補助点群PCi2が除去された障害物点群PCob及び地図情報に基づき、観測点群PC1及び仮想観測点群PCi1によって表される障害物Ob1を回避可能な走行経路Rを生成する。詳細には、制御装置32は、補助点群PC2及び仮想補助点群PCi2が除去された障害物点群PCobで表される領域を、自律走行体10が走行できない環境地図上の領域とみなした上で、停止位置から最終到達点Gまでの走行経路Rを生成する。ステップS25で生成される走行経路Rは、例えば観測領域A1外に延びている。ステップS25で生成される走行経路Rは、さらに探索領域A2外に延びていてもよい。
【0061】
次にステップS26に進み、制御装置32は、ステップS25で生成された走行経路Rが延びる経路方向D2に観測方向D1を揃えるように、自律走行体10の旋回を行う。ステップS26の処理を実行する制御装置32が、本実施形態の旋回部に相当する。ステップS26での旋回が行われている間、所定の更新周期で上記障害物点群導出処理が行われる。
【0062】
図7に示すように、本実施形態の制御装置32は、旋回前の観測方向D1から経路方向D2に向かって、自律走行体10を旋回させる。これにより、自律走行体10が観測領域A1外の位置に配置されている障害物Ob1に接触する可能性を下げることができる。以下、説明の便宜上、観測方向D1から走行経路Rに向かって自律走行体10が旋回する方向を旋回方向D3という。制御装置32は、旋回方向D3にのみ自律走行体10を旋回させることで、観測方向D1を経路方向D2に揃える。本実施形態では、制御装置32は、自律走行体10を旋回方向D3に360度以上回転させた後、さらに自律走行体10を旋回方向D3に回転させ、観測方向D1を経路方向D2に揃える。これにより、観測方向D1を経路方向D2に揃える際に自律走行体10が旋回する方向を反転させる必要がなくなるため、観測方向D1を経路方向D2に揃える時間が短くなる。さらに、本実施形態の旋回方向D3は、時計回り及び反時計周りのうち、観測方向D1と経路方向D2とのなす角が小さい方向と一致している。これにより、旋回方向D3が、観測方向D1と経路方向D2とのなす角が大きい方向と一致する場合に比べて、自律走行体10の旋回角が小さくなる。したがって、より短時間で周囲の障害物Ob1を確認しつつ、観測方向D1を経路方向D2に揃えることができる。なお、自律走行体10の旋回態様は任意であるが、例えば制御装置32は、自律走行体10を旋回方向D3にその場旋回させる。
【0063】
ステップS26の処理によって観測方向D1が経路方向D2に揃った場合、ステップS27に進み、制御装置32は、ステップS25で生成された走行経路Rに沿って自律走行体10を走行させる。このとき、図8図10に示すように、制御装置32は、自律走行体10の走行と並行して、更新周期で障害物点群PCobを更新する。
【0064】
<作用>
次に、本実施形態の作用について説明する。
図5に示すように、観測領域A1内に障害物Ob1が存在する場合、制御装置32は、障害物点群導出処理を行うことにより、観測点群PC1の導出と、補助点群PC2の生成を行い、観測点群PC1及び補助点群PC2を含む障害物点群PCobを導出する。観測領域A1内には、上記障害物点群PCobが存在するため、ステップS21の判定結果は肯定となり、ステップS22に進む。
【0065】
観測領域A1内に障害物点群PCobに含まれる点同士の間隔は、走行可能幅未満である。また、観測境界線B1,B2と障害物点群PCobとの距離も、走行可能幅未満である。そのため、観測領域A1内には、障害物点群PCobが存在しない領域で走行可能幅未満の領域が存在しない。したがって、ステップS23の判定結果が否定となり、ステップS24に進み、制御装置32は、制御装置32は自律走行体10を停止させる。そして、制御装置32は、ステップS25の処理を行うことにより最終到達点Gまでの走行経路Rを生成する。
【0066】
ここで、図6に示すように、制御装置32は、環境地図に基づき、観測点群PC1を回避可能な走行経路Rの生成を行う。言い換えれば、走行経路Rの生成を行うに際し、制御装置32は、補助点群PC2及び仮想補助点群PCi2によって表される領域を走行可能とみなして走行経路Rの生成を行う。
【0067】
図7及び図8に示すように、その後、ステップS26に進み、制御装置32は、自律走行体10を旋回方向D3に360度以上旋回させつつ、観測方向D1をステップS25で生成された走行経路Rの経路方向D2に揃える。このとき、図6に示す状況において観測領域A1外の障害物Ob2の位置は、仮想観測点群PCi1及び仮想補助点群PCi2を含む障害物点群PCobとして表されている。
【0068】
そして、図9及び図10に示すように、制御装置32は、自律走行体10を走行経路Rに沿って最終到達点Gへと走行させる。
<効果>
以下、本実施形態の効果について説明する。
【0069】
(1)制御装置32は、障害物点群PCobを導出する障害物点群導出処理と、障害物点群導出処理で導出された障害物点群PCobに基づき、障害物点群PCobで表される障害物Ob1を自律走行体10に回避させるステップS23の処理と、を実行する。制御装置32は、障害物点群導出処理において、センサ31の観測結果に基づき、センサ31の観測領域A1内で観測された障害物Ob1の位置を示す観測点群PC1を取得するステップS11の処理と、ステップS11で取得された観測点群PC1に基づき、観測領域A1のうち、障害物Ob1によって遮られる遮蔽領域A11内に、補助点群PC2を生成するステップS12の処理と、を実行する。障害物点群PCobは、観測点群PC1と、補助点群PC2と、を含む。
【0070】
これによれば、センサ31によって観測された障害物Ob1は観測点群PC1として表され、障害物Ob1によってセンサ31が観測できなかった遮蔽領域A11に存在し得る障害物は、補助点群PC2として表される。自律走行体10は、観測点群PC1と補助点群PC2とを含む障害物点群PCobに基づき、障害物点群PCobで表される障害物Ob1を回避する。したがって、障害物Ob1によってセンサ31が観測できなかった遮蔽領域A11内に障害物がある可能性を考慮した上で、自律走行体10に障害物Ob1を回避させることができる。
【0071】
(2)制御装置32は、自律走行体10が走行する環境を示す地図情報を記憶する補助記憶装置35を備える。制御装置32は、障害物点群導出処理で導出された障害物点群PCobに基づき、自律走行体10が観測領域A1内で障害物点群PCobで表される障害物Ob1を回避可能か否かを判定するステップS22の処理と、ステップS22での判定の結果、自律走行体10が観測領域A1内で当該障害物Ob1を回避できないと判定された場合に、障害物Ob1を回避するための走行経路Rを生成するステップS25の処理と、を実行する。
【0072】
制御装置32は、ステップS25において、補助点群PC2が除去された障害物点群PCob及び地図情報に基づき、障害物点群PCobによって表される障害物Ob1を回避するための走行経路Rを生成する。
【0073】
これによれば、制御装置32は、ステップS22において、観測点群PC1と補助点群PC2とを含む障害物点群PCobに基づき、自律走行体10が障害物点群PCobで表される障害物Ob1を観測領域A1内で回避可能か否かを判定する。自律走行体10が観測領域A1内で当該障害物Ob1を回避できないと判定された場合、すなわちステップS22の判定結果が否定の場合、制御装置32は、補助点群PC2が除去された障害物点群PCobと地図情報とを用いて、当該障害物Ob1を回避可能な走行経路Rを、特に観測領域A1外の領域を考慮した上で生成する。この場合、制御装置32は、当該走行経路Rを生成する際に、除去された補助点群PC2を考慮しない。そのため、障害物Ob1が存在するかどうかがセンサ31によって観測されていない遮蔽領域A11を避けて走行経路Rが生成されることを回避することができる。したがって、障害物Ob1を回避するための走行経路Rが冗長となることを抑制することができる。
【0074】
(3)障害物点群PCobは、過去にセンサ31によって観測された障害物Ob1であって、自律走行体10の移動によってセンサ31の観測領域外に位置することとなった障害物Ob1の位置を示す仮想観測点群PCi1を含む。ステップS11で取得された観測点群PC1よりも過去のステップS11で取得された観測点群PC1を過去観測点群とすると、制御装置32は、過去のステップS11で過去観測点群を取得した過去観測時刻t2からステップS11で観測点群PC1を取得する観測時刻t1までの自律走行体10の移動量δを取得するステップS14の処理と、過去観測点群を移動量δだけ移動させることで、仮想観測点群PCi1を導出するステップS15の処理と、を実行する。また、制御装置32は、ステップS15において、過去に生成された補助点群PC2を移動量δだけ移動させることで、センサ31の観測領域A1外に位置する仮想補助点群PCi2を導出する。そして、障害物点群PCobは、仮想観測点群PCi1と、仮想補助点群PCi2と、を含む。
【0075】
これによれば、仮想観測点群PCi1は、過去に取得された観測点群PC1を自律走行体10の移動量δだけ移動させることで得られる。仮想観測点群PCi1は、過去に観測された観測点群PC1によって示される障害物Ob1が、ステップS11で観測点群PC1を取得した観測時刻t1でどこに位置するかを示す。したがって、過去にセンサ31によって観測されたにも関わらず、自律走行体10の移動によって観測領域A1外に位置することとなった障害物Ob1の位置を考慮した上で、自律走行体10に障害物Ob1を回避させることができる。
【0076】
また、過去に生成された補助点群PC2が自律走行体10の移動によってセンサ31の観測領域A1外に移動することとなった場合、当該補助点群PC2を自律走行体10の移動量δだけ移動させることで、仮想補助点群PCi2が導出される。このようにして導出された仮想補助点群PCi2は、センサ31の観測領域A1であったにも関わらず障害物Ob1によって観測できなかった遮蔽領域A11の、移動後の位置を示す。障害物点群PCobが仮想補助点群PCi2を含むため、自律走行体10は回避の際に、仮想補助点群PCi2によって表されている領域を避けつつ回避を行うことができる。したがって、自律走行体10が障害物Ob1によって遮蔽された領域の物体と接触する可能性を低減することができる。
【0077】
(4)制御装置32は、ステップS25において、観測点群PC1に加えさらに仮想観測点群PCi1に基づき、観測点群PC1及び仮想観測点群PCi1によって表される障害物Ob1を回避可能な走行経路Rを生成する。
【0078】
これによれば、制御装置32は、過去に観測された障害物Ob1の位置を仮想観測点群PCi1として把握する。そのため、制御装置32は、観測領域A1内の障害物Ob1のみならず、過去に観測領域A1内に位置していいたが自律走行体10の走行によって観測領域A1外に位置することとなった障害物の位置を考慮して、走行経路Rを生成することができる。
【0079】
(5)センサ31が観測している方向を観測方向D1とし、ステップS25で生成された走行経路Rの延びる方向を経路方向D2とすると、制御装置32は、観測方向D1から経路方向D2に向かう旋回方向D3に自律走行体10を旋回させた上で、観測方向D1を経路方向D2に揃えるステップS26の処理を実行する。制御装置32は、ステップS26での自律走行体10の旋回中に、障害物導出処理を実行することで障害物点群PCobを導出する。
【0080】
これによれば、自律走行体10の旋回が行われた場合、制御装置32は、ステップS26での旋回中に障害物点群導出処理によって得られる仮想観測点群PCi1を含む障害物点群PCobを取得する。したがって、旋回によって自律走行体10の周囲の障害物Ob1,Ob2の有無を確認した上で、ステップS25で生成された走行経路Rへと自律走行体10を誘導することができる。
【0081】
(6)制御装置32は、ステップS26において、旋回方向D3にのみ自律走行体10を旋回させることで観測方向D1を経路方向D2に揃える。
これによれば、旋回によって自律走行体10の周囲の障害物Ob1,Ob2の有無を確認する際に自律走行体10を旋回させる方向と、観測方向D1を経路方向D2に向ける際に自律走行体10を旋回させる方向とが一致する。したがって、自律走行体10を旋回させる方向を反転させることによる旋回動作の無駄を省くことができる。
【0082】
<変形例>
実施形態は、以下のように変更して実施することができる。実施形態及び以下の変形例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
【0083】
・ステップS26における旋回態様は任意である。例えば制御装置32は、自律走行体10を、上記実施形態にて述べた旋回方向D3と反対方向に旋回させてもよい。
・制御装置32は、ステップS26において、自律走行体10を360度以上旋回させなくてもよい。例えば、制御装置32は、自律走行体10を走行経路Rが延びる経路方向D2を含む所定の角度の範囲内の方向に観測方向D1が少なくとも一度向くように、自律走行体10を旋回させればよい。
【0084】
・ステップS26での旋回は、ステップS25で経路生成が行われる前に行われてもよい。例えば、制御装置32は、ステップS24で自律走行体10を停止させた後、ステップS25での経路生成が行われる前に、自律走行体10の旋回を行ってもよい。
【0085】
・制御装置32は、ステップS25で走行経路Rを生成する際に、仮想観測点群PCi1を考慮しなくてもよい。
・制御装置32は、観測領域A1内で障害物Ob1の回避ができない場合でも、ステップS25からステップS27までの処理を行わなくてもよい。この場合、例えば制御装置32は、図示しない通知装置を用いて、周囲に障害物Ob1の存在によって最終到達点Gまで走行できないことを通知してもよい。通知の態様は、光、音、振動等任意である。
【0086】
・障害物点群PCobは、観測点群PC1と補助点群PC2とを含んでいればよい。
・探索領域A2は任意に設定可能であり、探索領域A2の形状としては、矩形又は台形等の多角形、円形、半円形など、任意の閉領域を採用することができる。
【0087】
・制御装置32は、探索領域A2外に障害物点群PCobが存在する場合にも自律走行体10に回避走行を行わせてもよい。これに伴い、制御装置32は、探索領域A2外の各点群PC1,PCi1,PC2,PCi2を除去するステップS19の処理を省略してもよい。この場合、探索領域A2は設定されていなくてもよい。
【0088】
・制御装置32は、ステップS16で仮想観測点群PCi1を導出する際に、過去観測点群の一部に限らず全部を用いてもよい。また、制御装置32は、ステップS16で導出される仮想観測点群PCi1を仮想観測点Pi1同士の間隔は任意である。
【0089】
・制御装置32は、観測可能領域A12内の補助点群PC2及び仮想補助点群PCi2を除去するステップS16の処理を省略してもよい。
・制御装置32は、遮蔽領域A11内に補助点群PC2を生成するステップS13の処理を省略してもよい。
【0090】
・自律走行体10に対する障害物Ob1の相対座標を測定可能であれば、センサ31の具体的態様は任意である。例えば、センサ31として、複数の超音波センサを用いてもよい。超音波センサは、超音波を照射することで距離を測定可能である。超音波センサは、互いに間隔を空けて車体21に搭載される。制御装置32は、各超音波センサが検出する反射波の強度に基づき、センサ31は障害物Ob1の距離及び角度、すなわち、障害物Ob1の相対座標を取得することができる。別例として、センサ31は、LIDAR:Laser Imaging Detection and Ranging、レーザーレンジファインダ、ToF(Time of Flight)カメラ等のように対象との距離及び角度を観測可能なものであってもよい。
【0091】
・ステップS11での観測点群PC1の取得方法は任意である。制御装置32は、例えばセンサ31がLIDARから得られる点群を適切な座標系に変換することで取得してもよい。
【0092】
・走行体中心位置Pとセンサ位置Psは、一致していてもよい。
・自律走行体10の具体的態様は任意である。例えば車輪22として、全方向移動車輪に限らず任意の車輪を採用できる。車輪22の数は4つに限らず任意である。
【符号の説明】
【0093】
10…自律走行体、31…センサ、32…制御装置、35…補助記憶装置、A1…観測領域、A11…遮蔽領域、A12…観測可能領域、A2…探索領域、D1…観測方向、D2…経路方向、D3…旋回方向、Ob1,Ob2…障害物、PC1…観測点群、PC2…補助点群、PCi1…仮想観測点群、PCi2…仮想補助点群、PCob…障害物点群、R…走行経路、δ…移動量。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10