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

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

▶ 株式会社日立製作所の特許一覧

特開2024-163497地図分割システム、地図更新システム及び地図分割方法
<>
  • 特開-地図分割システム、地図更新システム及び地図分割方法 図1
  • 特開-地図分割システム、地図更新システム及び地図分割方法 図2
  • 特開-地図分割システム、地図更新システム及び地図分割方法 図3
  • 特開-地図分割システム、地図更新システム及び地図分割方法 図4
  • 特開-地図分割システム、地図更新システム及び地図分割方法 図5
  • 特開-地図分割システム、地図更新システム及び地図分割方法 図6
  • 特開-地図分割システム、地図更新システム及び地図分割方法 図7
  • 特開-地図分割システム、地図更新システム及び地図分割方法 図8
  • 特開-地図分割システム、地図更新システム及び地図分割方法 図9
  • 特開-地図分割システム、地図更新システム及び地図分割方法 図10
  • 特開-地図分割システム、地図更新システム及び地図分割方法 図11
  • 特開-地図分割システム、地図更新システム及び地図分割方法 図12
  • 特開-地図分割システム、地図更新システム及び地図分割方法 図13
  • 特開-地図分割システム、地図更新システム及び地図分割方法 図14
  • 特開-地図分割システム、地図更新システム及び地図分割方法 図15
  • 特開-地図分割システム、地図更新システム及び地図分割方法 図16
  • 特開-地図分割システム、地図更新システム及び地図分割方法 図17
  • 特開-地図分割システム、地図更新システム及び地図分割方法 図18
  • 特開-地図分割システム、地図更新システム及び地図分割方法 図19
  • 特開-地図分割システム、地図更新システム及び地図分割方法 図20
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024163497
(43)【公開日】2024-11-22
(54)【発明の名称】地図分割システム、地図更新システム及び地図分割方法
(51)【国際特許分類】
   G01C 21/26 20060101AFI20241115BHJP
   G09B 29/10 20060101ALI20241115BHJP
   G09B 29/00 20060101ALI20241115BHJP
   G05D 1/43 20240101ALN20241115BHJP
【FI】
G01C21/26 B
G09B29/10 A
G09B29/00 Z
G05D1/02 H
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023079181
(22)【出願日】2023-05-12
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000925
【氏名又は名称】弁理士法人信友国際特許事務所
(72)【発明者】
【氏名】杉本 和也
(72)【発明者】
【氏名】伊藤 誠也
(72)【発明者】
【氏名】月舘 統宙
【テーマコード(参考)】
2C032
2F129
5H301
【Fターム(参考)】
2C032HB11
2C032HB22
2C032HC08
2C032HD16
2C032HD21
2F129AA03
2F129BB03
2F129CC04
2F129CC06
2F129DD22
2F129EE02
2F129FF02
2F129FF18
2F129FF20
2F129FF37
5H301AA02
5H301BB05
5H301BB14
5H301CC03
5H301CC06
5H301CC10
5H301GG08
5H301GG09
5H301GG12
(57)【要約】
【課題】車載コントローラーの計算負荷を低減し、分割地図の切り替え時の車両走行の安定性を保障する。
【解決手段】地図分割システムは、予め作成された走行環境の全域地図を参照して、車両の走行開始位置から目標位置までの大局経路を計画する大局経路計画部305と、大局経路に沿って、大局経路の一部を含むように全域地図を複数の分割地図に分割する際、車両の車両情報及び全域地図の特徴量情報に基づいて、隣接する分割地図が部分的に重複するように分割する地図分割部306と、車両の所在位置に応じて分割地図を車両に送信し、車両の参照地図を更新する地図配信部307(地図更新部)と、を備える。
【選択図】 図2
【特許請求の範囲】
【請求項1】
予め作成された走行環境の全域地図を参照して、車両の走行開始位置から目標位置までの大局経路を計画する大局経路計画部と、
前記大局経路に沿って、前記大局経路の一部を含むように前記全域地図を複数の分割地図に分割する際、前記車両の車両情報及び前記全域地図の特徴量情報に基づいて、隣接する前記分割地図が部分的に重複するように分割する地図分割部と、
前記車両の所在位置に応じて前記分割地図を前記車両に送信し、前記車両の参照地図を更新する地図更新部と、を備える
地図分割システム。
【請求項2】
前記車両情報は、前記車両が有する車載センサーの性能情報及び車載コントローラーの性能情報を含む
請求項1に記載の地図分割システム。
【請求項3】
前記全域地図の特徴量情報は、前記全域地図が保有する複数種類の前記特徴量情報の中の少なくとも1つを含む
請求項2に記載の地図分割システム。
【請求項4】
前記車載センサーの測距範囲内に、前記車両の所在位置を推定できる前記特徴量情報が存在しないことを検出する安定走行不可判定部を備える
請求項2に記載の地図分割システム。
【請求項5】
前記安定走行不可判定部は、前記車載センサーの測距範囲内に、前記車両の所在位置を推定できる前記特徴量情報が存在しないことを検出した場合、前記車両の所在位置を推定できる前記特徴量情報が存在しないことが検出された発生箇所に関する情報と、障害物を設置する通知とを出力する
請求項4に記載の地図分割システム。
【請求項6】
前記大局経路計画部が複数の前記大局経路を計画した場合、前記地図分割部は、複数の前記大局経路のそれぞれに沿って、前記全域地図を分割する
請求項1に記載の地図分割システム。
【請求項7】
前記地図分割部は、予め設定された交通規則に基づいて前記全域地図を分割する
請求項1~6のいずれか一項に記載の地図分割システム。
【請求項8】
予め作成された走行環境の全域地図を参照して、車両の走行開始位置から目標位置までの大局経路を計画する大局経路計画部と、
前記大局経路に沿って、前記大局経路の一部を含むように前記全域地図を複数の分割地図に分割する際、前記車両の車両情報及び前記全域地図の特徴量情報に基づいて、隣接する前記分割地図が部分的に重複するように分割する地図分割部と、
前記車両の所在位置に応じて前記分割地図を前記車両に送信し、前記車両の参照地図を更新する地図更新部と、を備える
地図更新システム。
【請求項9】
予め作成された走行環境の全域地図を参照して、車両の走行開始位置から目標位置までの大局経路を計画するステップと、
前記大局経路に沿って、前記大局経路の一部を含むように前記全域地図を複数の分割地図に分割する際、前記車両の車両情報及び前記全域地図の特徴量情報に基づいて、隣接する前記分割地図が部分的に重複するように分割するステップと、
前記車両の所在位置に応じて前記分割地図を前記車両に送信し、前記車両の参照地図を更新するステップと、を含む
地図分割方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、地図分割システム、地図更新システム及び地図分割方法に関する。
【背景技術】
【0002】
少子高齢化による労働力不足やE-コマース市場拡大に伴い、物流倉庫内や工場内などの省人化、及び作業効率の向上が求められている。そこで、無人で動作可能な自律走行車両を動作させる自律走行システムの導入が進められている。これまでの自律走行システムでは、安全の観点から、車両が移動可能な範囲は限られており、現場の作業員等の作業範囲と車両の移動範囲とは異なることが一般的であった。一方で、ロボティクス分野における自律走行技術の発展に伴い、車両と人の動線が重複しても、車両自身が回避や迂回などの必要性を判断し、周囲の状況に応じた柔軟な行動を選択可能となっている。
【0003】
ところで、広域の自律走行を実現するため、時々刻々と変化する環境における車両の自律走行が求められている。例えば、搬送業務に係る倉庫や工場などにおいて、目的地によっては、棚の間、入り組んだ通路内等の車両走行が要求される。一般的には、自律走行車両が車載センサーを備え、車載センサーは、現在の計測情報と、事前に作成された地図情報とを比較し、作成された地図座標系における車両の位置や車両の走行を阻害する障害物を検知する。
【0004】
また、自律走行に関する各種演算を行う車載コントローラーは、計算機等の情報処理装置で構成され、画像情報である参照地図情報を保持する必要がある。ところで、車両1台当たりのコストを削減するため、多数の車両を管理する管制サーバーが設けられる。車載コントローラーは、管制サーバーと比較すると、CPU(Central Processing Unit)やメモリなどによる演算性能が制約される。この演算性能の制約を受けて、車両側で走行領域の全域地図(特に広い走行領域の全域地図)、或いは高解像度の全域地図を丸ごとに保持すると、メモリへの圧迫や、目標位置までの経路計画処理等の計算負荷の増加問題などが発生する可能性が高くなる。そこで、走行環境の全域地図を複数エリアに分割し、車両の進行状況に応じて、車両が参照する地図を逐次に更新する技術、例えば、特許文献1に記載の技術が提案されている。
【0005】
特許文献1には、「地図更新システムは、ロボットの空間における移動可能範囲を規定した三次元地図について、所定の範囲を表す複数のエリアに分割し、三次元地図におけるロボットの経路を生成し、ロボットの経路において参照が必要な参照エリアを、ロボットの経路の進行状況に応じて更新する。」と記載されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2021-196488号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述のように、走行環境の全域地図を複数エリアに分割し、車両の進行状況に応じて、車両が参照する地図を逐次更新する技術が提案されている。しかしながら、特許文献1に記載の技術では、分割された各地図の境界において、車両が一度停止して地図の更新を行うことが前提となっている。このため、地図を跨ぐタイミングで地図の切替えや次の地図に対する経路計画などにより、車両が分割された地図の境界付近で減速や停止することが発生して、車両の走行効率が低下する問題がある。
【0008】
また、特許文献1に記載の技術は、全域地図を等間隔で、もしくは壁等で仕切られた部屋や作業エリアごとに分割するので、全域地図の区切り方にも工夫の余地がある。自動車分野においては、車両の自己位置推定は、一般的なナビゲーションを含め、基本的にGNSS(Global Navigation Satellite System)ベースのものが主機能となっている。このため、周囲の障害物等の特徴量が少ない場合でも、車両が走行可能である。一方、物流倉庫内や工場内のような屋内走行環境では、GNSSを利用することが困難である。このため、車両の自己位置推定は、LiDAR(Light Detection and Ranging)やカメラなどの車載センサー情報と、車載センサー情報を用いて事前に作成された全域地図とのマッチング技術を利用することが一般的である。また、物流倉庫内等の屋内走行環境において、安定した自律走行を実現するためには、マッチングに有効な特徴量、例えば、壁の凹凸、環境に設置したマーカー等、十分な車両周囲の特徴量が必要である。それゆえ、全域地図を単純に部屋ごとや作業エリアごとに分割することでは不十分である。
【0009】
本発明は、上記状況を鑑みてなされたものであり、本発明の目的は、車載コントローラーの計算負荷を低減し、分割地図の切り替え時の車両走行の安定性を保障することである。
【課題を解決するための手段】
【0010】
本発明は、予め作成された走行環境の全域地図を参照して、車両の走行開始位置から目標位置までの大局経路を計画する大局経路計画部と、大局経路に沿って、大局経路の一部を含むように全域地図を複数の分割地図に分割する際、車両の車両情報及び全域地図の特徴量情報に基づいて、隣接する分割地図が部分的に重複するように分割する地図分割部と、車両の所在位置に応じて分割地図を車両に送信し、車両の参照地図を更新する地図更新部と、を備える。
【発明の効果】
【0011】
上記構成の本発明によれば、車載コントローラーの計算負荷を低減し、分割地図の切り替え時の車両走行の安定性を保障することができる。
上記以外の課題、構成及び効果は、以下の実施の形態の説明により明らかにされる。
【図面の簡単な説明】
【0012】
図1】本発明の第1実施形態に係る走行環境の一例を示す図である。
図2】本発明の第1実施形態に係る自律走行システムの機能構成例を示すブロック図である。
図3】本発明の第1実施形態に係る自律走行車両の構成例を示す図である。
図4】本発明の第1実施形態に係る地図分割システム及び地図更新システムのハードウェア構成を示すブロック図である。
図5】本発明の第1実施形態に係る走行環境の全域地図を示すである。
図6】全域地図を等間隔で分割するイメージを示す図である。
図7】本発明の第1実施形態に係る地図分割システムにおける障害物占有率演算処理を説明するための図である。
図8】本発明の第1実施形態に係るに係る地図分割システムにおいて算出される、車両センサーの測距範囲の各領域のスコアを示す図である。
図9】本発明の第1実施形態に係る地図分割システムにおける、現在のエリアの分割地図を拡張する処理を説明するための図である。
図10】本発明の第1実施形態に係る地図分割システムにおける、障害物過疎領域による地図切取りの第1パターンを説明するための図である。
図11】本発明の第1実施形態に係る地図分割システムにおける、障害物過疎領域による地図切取りの第2パターンを説明するための図である。
図12】本発明の第1実施形態に係る地図分割システムにおいて、車両の進行方向に垂直する方向における地図分割を説明するための図である。
図13】本発明の第1実施形態に係る地図更新システムにおいて、車両が自律走行する際の参照地図の切り替えを説明するための図である。
図14】本発明の第1実施形態に係る自律走行システムにおける自律走行処理の手順を示すフローチャートである。
図15】本発明の第1実施形態に係る地図分割システムにおける地図分割エリア演算処理の手順を示すフローチャートである。
図16】本発明の第1実施形態に係る地図分割システムにおける障害物占有率の演算処理の手順を示すフローチャートである。
図17】本発明の第1実施形態に係る地図分割システムにおける地図分割処理の手順を示すフローチャートである。
図18】本発明の第2実施形態に係る自律走行システムの機能構成例を示すブロック図である。
図19】本発明の第2実施形態に係る地図分割システムにおける地図分割エリア演算処理の手順を示すフローチャートである。
図20】本発明の第2実施形態に係る地図分割システムにおける障害物占有率の演算処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、本発明を実施するための形態について、添付図面を参照して説明する。本明細書及び図面において、実質的に同一の機能又は構成を有する構成要素については、同一の符号を付することにより重複する説明を省略する。
【0014】
<第1実施形態>
まず、本発明の第1実施形態に係る走行環境の一例を説明する。図1は、本実施形態に係る走行環境の一例を示す図である。走行環境100は、搬送業務に係る倉庫の一例における走行環境であり、図1では、図面上の水平方向である「X」方向が、倉庫の幅方向を示し、「X」方向に交差する「Y」方向が、倉庫の縦方向を示す。また、図1では、同じ図形は同じものを示し、その中の1つのみに符号を付けて説明する。
【0015】
走行環境100は、図1に示すように、棚111、パレット113、車両の充電ユニット114、他のエリアから荷物を搬送するコンベア115等が置いてある環境である。灰色の正方形で示される荷112は、荷物であり、棚111、パレット113、及びコンベア115等に置かれている。走行環境100は、壁116により、2つの部分(2つの部屋)に分けられている。また、走行環境100には、棚111、パレット113、コンベア115等により囲まれた経路が存在する。搬送作業は、例えば、図1に示す台車型搬送車両である車両101等の自律走行により行われる。なお、図1では、2つの部屋を有する走行環境100が示されているが、本発明はこれに限定されず、走行環境100は、3つ以上の部屋を有してもよいし、1つの部屋のみ有してもよい。また、図1では、1台の車両のみが示されるが、走行環境100に複数の車両が存在することは可能である。
【0016】
次に、本実施形態に係る自律走行システムの機能構成例について説明する。図2は、本実施形態に係る自律走行システム300の機能構成例を示すブロック図である。自律走行システム300は、図2に示すように、地図配信サーバー301と、車両101の車載コントローラー220と、車両101とを備える。地図配信サーバー301、車載コントローラー220、及び車両101は、この順で通信できるように接続される。
【0017】
[地図分割システム及び地図更新システムの機能構成例]
地図配信サーバー301は、地図分割システム及び地図更新システムの一例であり、全域地図管理部302と、車両情報管理部303と、目標位置入力部304と、大局経路計画部305と、地図分割部306と、地図配信部307とを備える。目標位置入力部304、大局経路計画部305、地図分割部306、及び地図配信部307は、この順で接続される。また、全域地図管理部302及び車両情報管理部303のそれぞれは、大局経路計画部305に接続される。また、車両情報管理部303は、地図分割部306にも接続される。
【0018】
全域地図管理部302は、走行環境100(図1参照)の全域地図(後述の図5参照)を管理する。全域地図は、走行環境100の全域を走行する車両101の後述の車載センサー211の計測情報、後述のエンコーダー209が測定した車両101の後述の移動情報を用いて、SLAM(Simultaneous Localization and Mapping)手法等により作成される格子地図である。
【0019】
車両情報管理部303は、車両101の寸法値(車幅、車両長等)、後述の車載センサー211の性能情報、及び車載コントローラー220の性能情報を含む車両情報を管理(格納)する。車載センサー211の性能情報は、例えば、LiDARの最大照射距離、レーザー光の水平方向の分解能、測距範囲、測距誤差等を含む。なお、LiDARによっては、遠方を測距するほど計測が安定しないものが存在するため、走行環境の周囲物体に対し、安定して測距可能な距離が、事前の実験によって把握できている場合はその値を取得する。また、ここで、車載センサー211は、自車両周囲360度の障害物に関する情報(特徴量情報)を取得できる性能を有するものとする。
【0020】
車載コントローラー220の性能情報は、車載コントローラー220を構成する情報処理装置のCPU性能、メモリ容量、後述する経路計画や追従アルゴリズムから実験的に割り出される、参照可能な地図の最大サイズ(画像サイズ)等を含む。以下では、参照可能な地図の最大サイズを「参照地図最大サイズ」と称する。なお、参照地図最大サイズの単位は、画像サイズの容量(メガバイト(MB))であってもよいし、画像の構成(0~255諧調のグレースケール画像の構成等)が事前に設定されている場合、画素数であってもよい。また、本実施形態では1台の車両を例として説明するが、走行環境100を走行する車両が複数台存在する場合、車両情報管理部303は、各車両の車両情報を管理する。
【0021】
目標位置入力部304は、全域地図管理部302から全域地図を入力し、車両101が現在行うタスクの目的地の全域地図における座標を自律走行の目標位置として設定する。ここで、自律走行の目標位置は、例えば、作業員により、モバイルディスプレイ等の外部デバイスを介して直接入力されてもよい。また、自律走行の目標位置は、事前に地図配信サーバー301に設定されたタスクの目的地を取得して自動的に計算されてもよい。また、目標位置入力部304は、自律走行の目標位置を大局経路計画部305に出力する。
【0022】
大局経路計画部305は、全域地図管理部302から全域地図を入力し、車両情報管理部303から車両101の寸法値を入力し、目標位置入力部304から目標位置を入力する。また、大局経路計画部305は、予め作成された走行環境の全域地図を参照して、車両101の走行開始位置から目標位置までの大局経路(後述の図5参照)を計画する。大局経路は、全域地図上の格子座標(行列番号等)の集合で表現され、集合中の座標順に走行することにより目標位置に到達する。また、大局経路計画部305は、大局経路に含まれる各格子を通過する際の車両の目標速度や最大速度なども計画して、大局経路とともに出力する。なお、経路計画手法としては、例えば、ダイクストラ法やA*(A star)法など、任意の経路探索手法を利用してもよい。また、大局経路計画部305は、大局経路が計画された全域地図を、地図分割部306に出力し、車載コントローラー220の後述の局所経路計画部313に送信する。
【0023】
地図分割部306は、車両情報管理部303から車両101の車両情報を取得し、大局経路計画部305から大局経路が計画された全域地図を取得する。また、地図分割部306は、大局経路に沿って、大局経路の一部を含むように全域地図を複数の分割地図に分割する。地図分割部306は、全域地図を複数の分割地図に分割する際、車両101の車両情報及び全域地図の特徴量情報に基づいて、隣接する分割地図が部分的に重複するように分割する地図分割エリア演算処理を行う。本実施形態では、全域地図の特徴量情報は、全域地図(格子地図)における障害物に関する情報である。また、地図分割部306は、分割した地図(以下では、「分割地図」と称する)を地図配信部307に出力する。なお、地図分割部306における地図分割エリア演算処理について、後述の図15図17で詳述する。
【0024】
地図配信部307は、地図分割部306から分割地図を入力し、車載コントローラー220の後述の自己位置推定部312から車両101の所在位置を入力する。また、地図配信部307は、地図更新部の一例であり、車両101の所在位置、すなわち、車両101の進行状況に応じて、分割地図を車両101(車載コントローラー220の後述の参照地図管理部311)に送信し、車両101の参照地図を更新する。
【0025】
[車載コントローラーの構成例]
次に、車載コントローラー220の機能構成について説明する。車載コントローラー220は、後述の図3に示すように、車両101の内部に配置され、車両101を自律走行させるように、車両101の各構成部の動作を制御する情報処理装置の一例である。車載コントローラー220は、図2に示すように、参照地図管理部311と、自己位置推定部312と、局所経路計画部313と、制御指令生成部314とを備える。参照地図管理部311は、自己位置推定部312及び局所経路計画部313のそれぞれに接続される。また、自己位置推定部312は、局所経路計画部313及び制御指令生成部314のそれぞれに接続する。また、局所経路計画部313は、制御指令生成部314に接続する。制御指令生成部314は、車両101の駆動部208に接続する。また、参照地図管理部311は、地図配信サーバー301の地図配信部307から分割地図を受信して自己位置推定部312及び局所経路計画部313に出力する。
【0026】
自己位置推定部312は、参照地図管理部311から分割地図を入力し、入力した分割地図を参照地図とする。また、自己位置推定部312は、車両101の車載センサー211が検出した点群情報を入力し、点群情報と参照地図とのマップマッチング処理を行い、自己位置及び姿勢を推定する。マップマッチングは、点群情報を図形として見立てたときに、点群を平行移動、回転、及び拡大・縮小させることで、格子地図(参照地図)に合わせ込む技術である。マップマッチング処理において、例えば、AMCL(Adaptive Monte Carlo Localization)法等、位置推定に用いられる任意の方法を利用してもよい。また、自己位置推定部312は、推定した自己位置を局所経路計画部313及び制御指令生成部314に出力する。また、自己位置推定部312は、推定した自己位置を地図配信サーバー301の地図配信部307に送信する。
【0027】
局所経路計画部313は、地図配信サーバー301の大局経路計画部305から大局経路を受信し、参照地図管理部311から分割地図を入力し、自己位置推定部312から自己位置を入力する。また、局所経路計画部313は、大局経路に沿って、分割地図を参照して、自己位置と目標位置との間に位置する格子(例えば、自己位置から2m先の大局経路上の格子)を局所目標位置として設定し、自己位置から局所目標位置までの局所経路を計画する。また、局所経路計画部313は、計画した局所目標位置及び局所経路を制御指令生成部314に出力する。なお、局所経路は、格子座標の集合でなく、より細かい座標の集合や、曲線を表現した関数などによって形成され、車両101の運動特性を加味した滑らかな経路である。具体的には、局所経路計画部313は、例えば、スプライン関数補間、車両101の運動モデルを加味したDWA(Dynamic Window Approach)等の手法を利用して局所経路を計画する。なお、局所経路の計画手法は、上述の手法に限定されず、大局経路より精細な経路を計画できる手法であれば、任意の手法を適用可能である。
【0028】
制御指令生成部314は、局所経路計画部313からの局所目標位置及び局所経路を入力する。また、制御指令生成部314は、エンコーダー209から、車両101の移動情報を入力し、自己位置推定部312から自己位置を入力する。また、制御指令生成部314は、自己位置から局所目標位置に向かって、局所経路を通過するように、経路追従アルゴリズムにより、車両101に対する駆動指令を生成する経路追従制御を行う。また、制御指令生成部314は、生成した車両101に対する駆動指令を車両101の駆動部208に出力する。なお、経路追従アルゴリズムは、例えば、Pure Pursuit法やDWA法などが用いられる。
【0029】
図2では、車両101が有する駆動部208、エンコーダー209、及び車載センサー211のみが示され、他の構成部の図示及び説明は、後述の図3用いて詳述する。駆動部208は、車載コントローラー220の制御指令生成部314に接続され、制御指令生成部314の制御指令に従い、車両101の駆動輪206を駆動する。エンコーダー209は、計測した車両101の後述の移動情報を、車載コントローラー220の自己位置推定部312及び制御指令生成部310のそれぞれに出力する。車載センサー211は、検知した後述の計測情報を車載コントローラー220の自己位置推定部312に出力する。なお、車両101の構成について、後述の図3で詳述する。
【0030】
[自律走行車両の構成例]
次に、自律走行車両(車両101)の構成例について説明する。図3は、本実施形態に係る自律走行車両の構成例を示す図である。車両101は、バンパー202を備えた車両フレーム201と、車両フレーム201において上下及び左右に移動可能な移載装置203と、荷112を支持する荷役部材204とを備える。また、車両101は、駆動輪206と、従動輪207と、車両フレーム201の上に配置される車載センサー211とを備える。また、車両フレーム201の内部には、移載装置203を駆動する移載モーター205、駆動輪206を駆動する駆動部208が備えられる。また、車両フレーム201の内部には、エンコーダー209、及び車載コントローラー220が備えられる。なお、車載コントローラー220について、図2で説明したので、重複説明を省略する。
【0031】
駆動部208は、不図示の走行モーターを備え、車載コントローラー220の後述の制御指令生成部314から入力した車両101に対する駆動指令を所定の電流値に変換して走行モーターに出力する。また、エンコーダー209は、各時刻に出力された走行モーターの回転量を取得し、駆動輪206の車輪径を加味して、車両の移動距離及び現在速度を含む移動情報を計測する。
【0032】
車載センサー211は、例えば、LiDARで構成される。LiDARは、レーザー光の照射角度を変化しながら照射範囲に存在する物体、及びその物体との距離を計測するセンサーである。LiDARは、レーザー照射時の光軸角度の情報と、物体との距離情報から、物体の位置を示す点群情報を取得する。以下では、車載センサー211が検出した障害物の点群情報及び障害物までの距離を、「計測情報」と総称する。なお、本実施例では、レーザー光が垂直する方向に1層のみの2次元情報を取得する2D(Dimensions)-LiDARを車載センサー211の一例とするが、本発明はこれに限定されない。車載センサー211は、多層に照射し、3次元情報を取得する3D-LiDARであってもよい。また、図2に示す車両101には、1台の車載センサー211のみが設置されるが、本発明はこれに限定されず、車両101に複数台の車載センサー211を設置してもよい。
【0033】
[地図分割システム及び地図更新システムのハードウェア構成例]
次に、自律走行システム300における、地図分割システム及び地図更新システム、すなわち、地図配信サーバー301のハードウェア構成について説明する。図4は、本実施形態に係る地図分割システム及び地図更新システムのハードウェア構成例を示すブロック図である。地図配信サーバー301は、地図分割処理及び分割地図の配信処理に関する各種演算を実施する。
【0034】
地図配信サーバー301は、図4に示すように、CPU30a、ROM(Read Only Memory)30b、RAM(Random Access Memory)30c、記憶装置30d、及び通信インターフェース30eを備える。CPU30a、ROM30b、RAM30c、記憶装置30d及び通信インターフェース30eは、バス30fにより、互いに情報データの送受信ができるように接続される。
【0035】
CPU30aは、地図配信サーバー301内の各構成部の動作を制御する。例えば、CPU30aは、大局経路計画部305における大局経路計画処理、地図分割部306における地図分割エリア演算処理、地図配信部307における分割地図の配信処理等を制御する。なお、CPU30aに代えてGPU(Graphics Processing Unit)を用いてもよく、CPU30aとGPU(Graphics Processing Unit)を併用してもよい。
【0036】
ROM30bは、例えば不揮発性メモリ等の記憶媒体で構成され、CPU30aが実行及び参照するプログラムやデータ等を記憶する。
【0037】
RAM30cは、例えば揮発性メモリ等の記憶媒体で構成され、CPU30aが行う各処理に必要な情報(データ)を一時的に記憶する。
【0038】
記憶装置30dは、CPU30aによって実行されるプログラムを格納したコンピューター読取可能な非一過性の記録媒体で構成され、例えばHDD(Hard Disk Drive)等の記憶装置で構成される。記憶装置30dは、CPU30aが各部を制御するためのプログラム、OS(Operating System)、コントローラー等のプログラム、データを記憶する。また、記憶装置30dは、全域地図管理部302及び車両情報管理部303(図2参照)を含み、全域地図、大局経路、分割地図、及び車両情報等を記憶する。なお、記憶装置30dに記憶されるプログラム、データの一部は、ROM30bに記憶されてもよい。また、CPU30aによって実行されるプログラムを格納したコンピューター読取可能な非一過性の記録媒体は、HDDに限定されず、例えば、SSD(Solid State Drive)、CD(Compact Disc)-ROM、DVD(Digital Versatile Disc)-ROM等の記録媒体であってもよい。
【0039】
通信インターフェース30eは、NIC(Network Interface Card)やモデム等で構成され、車載コントローラー220との接続を確立し、CPU30aの制御により、車載コントローラー220との情報データの送受信を行う。
【0040】
次に、本実施形態に係る走行環境100の全域地図について説明する。車両101が自律走行を開始する前に、走行環境全域の全域地図が生成され、地図配信サーバー301の全域地図管理部302に登録される。本実施形態では、全域地図の分解能、すなわち、各格子の実空間での大きさ(cm/pixel)は、走行環境全域の広さを加味し、5cm/pixelとする。図5は、図1に示す走行環境100の全域地図P400を示す図である。図5において、「X」及び「Y」方向は、図1に示すこれらの方向と同じであるため、重複説明を省略する。なお、全域地図の分解能は、5cm/pixelに限定されず、他の分解能にしてもよい。
【0041】
図5では、灰色の格子は、障害物を表す。ハッチングされた格子は、大局経路に含まれる格子を表す。図5に示す走行開始位置G401は、走行環境100における車両101の自律走行の開始位置である。走行目標位置G402は、車両101の目標位置である。大局経路R403は、大局経路計画部305により計画された走行開始位置G401から走行目標位置G402までの大局経路である。車両101は、図5に示す大局経路R403に沿って走行することにより、走行目標位置G402に到着することができる。なお、図5において、灰色の格子で表される障害物は、障害物の実際大きさに対応する。
【0042】
次に、全域地図を等間隔で分割する際の問題について説明する。図6は、全域地図P400を等間隔で分割するイメージを示す図である。図6において、「X」及び「Y」方向は、図1に示すこれらの方向と同じであるため、重複説明を省略する。図6Aは、全域地図が等間隔で分割された一部の分割地図を示す。分割地図Pa~Pcは、それぞれ、全域地図P400に左下側の一部領域が等間隔で分割された分割地図である。分割地図Pa~Pcのサイズは同じであり、車載コントローラー220の参照地図最大サイズ以下である。
【0043】
図6Aには、大局経路R403に含まれる任意の格子C602を中心とした車載センサー211(LiDAR)の測距範囲R601が示されている。車両101は、大局経路R403を沿って走行するので、測距範囲R601に含まれる障害物の情報(灰色の格子)が一定量あれば、自己位置推定部312の推定精度は安定する。このため、車両101の余計な加減速や経路逸脱などが発生せず、安定に自律走行することができる。車両101は、分割地図Paの領域を走行して、分割地図Pbの領域の入る際、参照地図が分割地図Pbに切り替えられる。そして、車両101は、分割地図Pbの領域を走行して、分割地図Pcの領域の入る際、参照地図が、分割地図Pcに切り替えられる。
【0044】
図6Bは、車両101が分割地図Pcの領域に進入した後の様子を示す図である。図6Bに示すように、分割地図Pcでは、測距範囲R601内に、障害物の情報が存在しない。測距範囲R601において、上半部に障害物の情報(特徴量情報)が存在せず、下半部に参照地図が存在しない。この場合、自己位置推定部312は、自己位置を推定できる特徴量情報が存在しないので、エンコーダー209が検出した移動情報のみを用いて自己位置を推定することになり、自己位置の推定誤差が発生する可能性が高くなる。その結果、車両101の余計な加減速、過剰な経路逸脱等が発生する可能性も高くなる。
【0045】
本発明は、上記問題を解決するためになされたものである。本実施形態に係る地図配信サーバー301(地図分割システム)の地図分割部306は、車両101の車載センサー211の測距範囲R601を細分化し、細分化した各子領域のそれぞれにおける障害物占有率を演算して、障害物占有率に応じて全域地図を分割する。図7は、本実施形態に係る地図分割システムにおける前方測距範囲及び後方測距範囲の細分化を説明するための図である。図7Aは、車載センサー211の前方測距範囲及び後方測距範囲を説明するための図である。図7Bは、車載センサー211の測距範囲の細分化を説明するための図である。また、図7Aにおいて、「X」及び「Y」方向は、図1に示すこれらの方向と同じであるため、重複説明を省略する。本実施形態では、参照地図は格子地図であるため、地図分割部306は、地図分割を行う際、「X」方向及び「Y」方向に平行して分割する。
【0046】
図7Aには、車両101の現在の参照地図、走行開始位置G401から目標位置への大局経路R403、及び、車載センサー211の測距範囲R601が示されている。車両101が大局経路R403に沿って走行する際、走行開始位置G401から大局経路R403に沿って格子を1個ずつ移動して走行する。図7Aに示すように、車両101は、まず、走行開始位置G401から、走行開始位置G401の右に隣接する格子に移動する。この際、車両101の進行方向を示す進行ベクトルは、矢印F701であり、「X」方向となる。
【0047】
地図分割部306は、まず、測距範囲R601を、車両101の進行方向(矢印F701が示す方向)に垂直する方向(「Y」方向)に沿って、前方測距範囲R702及び後方測距範囲R703の2つの半円領域に細分化する。次いで、地図分割部306は、前方測距範囲R702及び後方測距範囲R703のそれぞれに対して、さらに細分化する。なお、前方測距範囲R702及び後方測距範囲R703のそれぞれに対する細分化は同様であるため、以下の説明では、前方測距範囲R702を例として説明し、後方測距範囲R703に対する説明を省略する。
【0048】
図7Bには、前方測距範囲R702が示されている。なお、細分化された各子領域を明確に示すため、図7Bでは、障害物を示す灰色の格子、すなわち、障害物の占有格子が示されていない。地図分割部306は、まず、前方測距範囲R702を領域s、領域s及び領域sに細分化する。領域sは、半径が10mの半円領域である。領域sは、半径10mの半円と半径20mの半円との間の扇形環領域である。領域sは、半径20mの半円と半径30mの半円との間の扇形環領域である。なお、前方測距範囲R702を細分化する方法を上記方法に限定されず、任意の細分化方法を適用してもよい。異なる細分化方法に応じて、細分化された領域の数も変わる。
【0049】
地図分割部306は、次に、任意の中心角a1,a2~an、例えば、図7Bに示す中心角a1,a2~a6で、領域s、領域s及び領域sをさらに細分化する。なお、図7Bでは、中心角a1=a2…=a6=30°に設定する例が示されているが、本発明はこれに限定されず、中心角を任意の角度に変更可能であり、中心角a1,a2~anがそれぞれ異なる角度であってもよい。
【0050】
地図分割部306は、次に、細分化された各子領域(図7Bに示す、実線で囲まれる小さい領域)における障害物の占有格子(不図示)の数を算出する。各子領域に含まれる障害物の占有格子の数は、例えば、図7Bに示す、各子領域における「0」,「1」,「2」,「3」等である。そして、地図分割部306は、領域s、領域s及び領域sのそれぞれに対して重み値を付与して、式(1)で前方測距範囲R702の障害物占有率を示すスコア値Sを算出する。なお、後方測距範囲R703のスコア値は、前方測距範囲R702と同様の演算方法により算出される。
【0051】
【数1】
【0052】
式(1)のW、W及びWは、それぞれ、領域s、領域s及び領域sに対して、予め設定された重み値である。ここで、車両101に近いほど重み値が大きく設定され、例えば、W、W及びWは、それぞれ、「10」、「5」、及び「1」に設定される。なお、重み値の設定は、上述の方法に限定されず、必要に応じて任意に変更してもよい。また、式(1)のs(a)、s(a)及びs(a)は、それぞれ、各領域における子領域中の障害物の占有格子の数であり、nは、各領域(領域s、領域s及び領域s)に含まれる子領域の数(図7Bに示す例では「6」となる)である。なお、各領域に含まれる子領域の数nは、異なる細分化方法により、異なる数値となる可能性がある。
【0053】
図8は、車両101の進行方向に対応する前方測距範囲及び後方測距範囲のスコアを示す図である。図8Aは、全域地図における車両101の進行方向に対応する前方測距範囲及び後方測距範囲のイメージを示す図である。図8Aにおいて、「X」及び「Y」方向は、図1に示すこれらの方向と同じであるため、重複説明を省略する。図8Bは、前方測距範囲及び後方測距範囲のスコアを示す図である。
【0054】
図8Aでは、領域AF801は、車両101の進行方向に対応する前方測距範囲を表し、領域AR802は、車両101の進行方向に対応する後方測距範囲を表す。また、図8Aに示す「ID」は、大局経路R403の格子座標の集合中の各格子の座標順番を示す番号である。例えば、図8Aに示すように、走行開始位置の格子のIDは「1」であり、大局経路R403に沿って22番目の格子のIDは「22」である。
【0055】
図8Bには、大局経路R403上の各格子のID(1~N)に対応する、領域AF801及び領域AR802のそれぞれのスコア値が示されている。ここで、Nは、目標位置の格子の番号である。また、図8Bに示す各スコア値は、上述の式(1)により算出される。なお、図8では、大局経路R403上の各格子のIDを、各格子の順番を示す番号とするが、本発明はこれに限定されず、例えば、各格子が全域地図上での座標としてもよい。
【0056】
次に、地図分割部306における地図切取りについて説明する。まず、地図分割部306は、現在のエリアの分割地図を車載コントローラー220の参照地図最大サイズまで拡張する(後述の図9参照)。次に、地図分割部306は、車両101の車載センサー211の測距範囲内に障害物情報が少ない領域、すなわち、車両の所在位置を推定できる(有効な)特徴量情報が存在しない領域を検出する。ここで、車両の所在位置を推定できる特徴量情報が存在しない領域は、障害物占有率を示すスコアが所定値未満であるか否かに基づいて検出される。以下では、スコアが所定値未満の領域を「障害物過疎領域」と称する。本実施形態では、上記所定値を「10」とする。なお、上記所定値は、他の値に変更可能である。
【0057】
ここで、障害物過疎領域が検出された際、車載センサー211の測距範囲R601が、参照地図最大サイズの「Y」方向の境界に到達した場合を、地図切取りの第1パターンとする。また、障害物過疎領域が検出された際、車載センサー211の測距範囲が、現在のエリアの分割地図の「Y」方向における境界まで十分に余裕がある場合を、地図切取りの第2パターンとする。地図切取りの第1パターンでは、地図分割部306は、車両101の現在位置を、現在のエリアの分割地図の切り取り位置とし、現在のエリアの分割地図を切り取る。また、地図切取りの第1パターンでは、地図分割部306は、車載センサー211の測距範囲のスコアに基づいて、次のエリアの分割地図と現在のエリアの分割地図との重複領域を演算し、次のエリアの分割地図が「Y」方向の逆方向における地図切取り位置を決定する(後述の図10参照)。地図切取りの第2パターンでは、車載センサー211の測距範囲が、現在のエリアの分割地図の「Y」方向における境界まで十分に余裕があるので、障害物過疎領域が検出されても、地図分割部306は、地図切取りを実行しない(後述の図11参照)。
【0058】
図9は、本実施形態に係る地図分割システムにおける、現在のエリアの分割地図を拡張する処理を説明するための図である。図9Aは、車両101が大局経路に沿って走行する際の測距範囲R601を重畳したイメージを示す図である。図9Bは、隣接する分割地図の重複領域の演算を説明するための図である。図9において、「X」及び「Y」方向は、図1に示すこれらの方向と同じであるため、重複説明を省略する。
【0059】
図9Aには、重畳している各測距範囲R601を囲む矩形領域R900が示されている。地図分割部306は、矩形領域R900の辺長L及びLのいずれかが、車載コントローラー220の参照地図最大サイズ(LX_max、LY_max)に到達する際、現在の矩形領域R900を分割地図として切り取る。ここで、L及びLは、ぞれぞれ、「X」方向及び「Y」方向に沿う矩形領域の辺長である。LX_max、LY_maxは、ぞれぞれ、参照地図最大サイズの「X」方向及び「Y」方向に沿う辺長である。
【0060】
また、地図分割部306は、現在のエリアの分割地図から次のエリアの分割地図に切り替える際に必要な処理時間に応じて、現在のエリアの分割地図と次のエリアの分割地図と重複する一部の領域を、次のエリアの分割地図に含まれるように切り取る。図9Bには、現在のエリアの分割地図(矩形領域R900)の一部、次のエリアの分割地図R901の一部、及び、2つの分割地図の重複領域R902(ハッチングされている領域)が示されている。
【0061】
地図分割部306は、下記式(2)により、重複領域R902が車両101の進行方向(「Y」方向)における辺長Lmer1を算出する。
【0062】
【数2】
【0063】
式(2)のvmaxは、車両101の走行可能な最大速度である。tは、参照地図を次のエリアの分割地図に切替える処理に必要な処理時間、すなわち、参照するメモリ領域の変更に必要な処理時間である。tは、車両101の走行制御の演算周期である。
【0064】
地図分割部306は、算出した重複領域R902(ハッチングされた部分)を次のエリアの分割地図に含まれるように、次のエリアの分割地図が「Y」方向の逆方向における切取り位置を決定する。このような処理により、現在のエリアの分割地図から次のエリアの分割地図に切り替える際、車両101の進行方向の逆方向において参照地図がない問題(図6B参照)を解決することができる。
【0065】
図10は、本実施形態に係る地図分割システムにおける、障害物過疎領域による地図切取りの第1パターンを説明するための図である。図10Aは、第1パターンの地図切取位置を説明するための図である。図10Bは、図10Aに示す重複領域の演算を説明するための図である。図10において、「X」及び「Y」方向は、図1に示すこれらの方向と同じであるため、重複説明を省略する。
【0066】
図10Aには、車両101、車両101の車載センサー211、車両101の進行方向に対応する前方測距範囲である領域AF801及び後方測距範囲である領域AF802が示されている。ここで、車両101の現在の進行方向は「Y」方向であり、領域AR802(後方測距範囲)に障害物過疎領域が含まれることを想定する。
【0067】
対象位置L1001は、車両101の現在位置である格子の進行方向側の辺の位置を表す。位置L1002は、車載センサー211の測距範囲R601の進行方向側の境界を示す。それゆえ、対象位置L1001と位置L1002との間の距離は、測距範囲R601の半径Llidar/2である。距離Ly,iは、対象位置L1001から、現在の分割地図の進行方向の逆方向側の境界までの距離、すなわち、現在の分割地図の「Y」方向に沿う長さを表す。
【0068】
地図分割部306は、半径Llidar/2と距離Ly,iとの合計値が参照地図最大サイズのLY_maxに到達したと判定した場合、対象位置L1001を現在の分割地図の進行方向側の境界として切り取る。すなわち、対象位置L1001から、現在のエリアの分割地図の進行方向の逆方向側の境界までの地図を現在の分割地図として切り取る。
【0069】
また、地図分割部306は、障害物過疎領域を含む領域AR802のスコア値に基づいて、次のエリアの分割地図と現在のエリアの分割地図との重複領域(ハッチングされた部分)、すなわち、図10Aに示す重複距離Lmer2を算出する。地図分割部306は、例えば、図10Bに示すように、領域AR802を細分化して、細分化された各領域のスコアを演算し、演算したスコアに基づいて重複距離Lmer2を算出する。図10Bに示す細分化された領域s、領域s及び領域sは、図7Bで説明したこれらの領域と同じであり、重複説明は省略する。図10Bに示す例では、地図分割部306は、領域s、領域s及び領域sを中心角でさらに細分化することでなく、対象位置L1001に対する所定の距離で領域s、領域s及び領域sをさらに細分化する。すなわち、地図分割部306は、領域s、領域s及び領域sを「X」方向に平行して細分化する。これは、格子地図である参照地図を分割する際に、「X」方向及び「Y」方向に平行して分割するためである。
【0070】
図10Bに示すように、地図分割部306は、対象位置L1001に対する所定の距離がそれぞれ5m、10m、15m及び20mである位置に、「X」方向に平行して領域s、領域s及び領域sを子領域(実線で囲まれる小さい領域)に細分化する。以下では、対象位置L1001から、対象位置L1001に対する5mまでの領域AR802の部分を「領域A」と称し、5mから10mまでの領域AR802の部分を「領域A」と称する。また、10mから15mまでの領域AR802の部分を「領域A」と称し、15mから20mまでの領域AR802の部分を「領域A」と称し、15m以降の領域AR802の部分を「領域A」と称する。そして、地図分割部306は、図7Bで説明した手法と同じ手法で、各子領域における障害物の占有格子数を算出し、式(1)で領域A~領域Aのそれぞれのスコア値を算出する。
【0071】
そして、地図分割部306は、領域A~領域Aのスコア値を順に累積する計算を行い、スコア値の累積結果が所定閾値以上になった場合、最後に累積されたスコア値に対応する領域とその次の領域との境界線が、対象位置L1001に対する距離を、重複距離Lmer2とする。また、地図分割部306は、対象位置L1001から重複距離Lmer2を離れる地図範囲を、次のエリアの分割地図に含まれるように、次のエリアの分割地図が「Y」方向の逆方向における切取り位置を決定する。なお、地図分割部306は、図9Bで説明したLmer1も算出して、Lmer1とLmer2とを比較して、大きい方を重複距離としてもよい。
【0072】
図11は、本実施形態に係る地図分割システムにおける、障害物過疎領域による地図切取りの第2パターンを説明するための図である。図11において、「X」及び「Y」方向は、図1に示すこれらの方向と同じであるため、重複説明を省略する。
【0073】
図11に示す第2パターンは、図10Aに示す第1パターンと異なり、半径Llidar/2と距離Ly,iとの合計値が参照地図最大サイズのLY_maxに到達しない場合の地図切取りの例である。この例では、現在のエリアの分割地図が参照地図最大サイズに対して余裕があるので、障害物過疎領域が含まれても、地図分割部306は、参照地図最大サイズに到達するまで地図の切取りを行わない。
【0074】
以上の説明では、参照地図最大サイズのLY_max、すなわち、「Y」方向における参照地図の最大サイズに基づいて、「Y」方向(進行方向)における分割地図の切取り位置を決定する処理を説明した。次に、車両101の進行方向に垂直する方向(「X」方向)における分割地図の切取り位置を決める処理について説明する。図12は、本実施形態に係る地図分割システムにおいて、車両101の進行方向に垂直する方向における地図分割を説明するための図である。
【0075】
図12では、分割地図の「Y」方向における長さが、参照地図最大サイズのLY_maxに決められたことを想定する。分割地図の「Y」方向における切取り位置を決めった後、地図分割部306は、分割地図の「X」方向における長さLを基準に、「X」方向の正負方向において均等に拡張し、拡張されたLが参照地図最大サイズの「X」方向における長さLX_maxに到達した位置で分割地図を切り取る。なお、図12に示す例では、「X」方向の負方向において分割地図を拡張する際、全域地図の境界に到達したので、全域地図の境界に到達した後、「X」方向の正方向のみにおいてLを拡張し、LがLX_maxに到達する位置まで分割地図を拡張する。地図分割部306は、「X」方向の正負方向において分割地図を拡張した矩形領域R1201の座標情報を分割地図のエリア情報として記憶する。
【0076】
次に、車両101が自律走行する際の参照地図の切り替え(更新)、及び車載コントローラー220の参照地図管理部311が保持する参照地図について説明する。図13は、本実施形態に係る地図分割システム(地図更新システム)において、車両が自律走行する際の参照地図の切り替えを説明するための図である。図13Aは、車両101が自律走行する際の参照地図の切り替えのイメージを示す図である。図13Bは、車載コントローラー220の参照地図管理部311が保持する参照地図のイメージを示す図である。
【0077】
図13Aには、車両101の走行開始位置G401から走行目標位置G402までの大局経路R403が示されている。また、図13Aには、大局経路R403に沿う分割地図(a)~(e)が示されている。車両101が大局経路R403を沿って走行する際、地図配信サーバー301の地図配信部307は、まず、分割地図(a)及び(b)を参照地図として車載コントローラー220の参照地図管理部311に送信する。また、車両101が分割地図(b)の範囲に進入すると、地図配信部307は、参照地図を分割地図(b)及び(c)に切り替えて参照地図管理部311に送信する。地図配信部307は、車両101が走行目標位置G402に到達するまで、上記参照地図とする分割地図を参照地図管理部311に送信する処理を実行する。
【0078】
参照地図管理部311は、常に2種の参照地図(分割地図)を保持する。具体には、図13Bに示すように、参照地図管理部311は、現在のエリアの参照地図M131(例えば、分割地図(a)及び分割地図(b))と、次のエリアの参照地図M132(例えば、分割地図(b)及び分割地図(c))とを保持する。車両101が分割地図(a)のエリアにある場合、参照地図管理部311は、現在のエリアの参照地図M131を局所経路計画部313に出力する。車両101が分割地図(a)のエリアの次のエリアに進入すると、参照地図管理部311は、次のエリアの参照地図M132を局所経路計画部313に出力する。
【0079】
[自律走行処理の手順]
次に、自律走行システム300における自律走行処理の手順について説明する。図14は、本実施形態に係る自律走行システム300における自律走行処理の手順を示すフローチャートである。以下に説明する処理は、車両101が自律走行すると開始する。
【0080】
まず、車両101の車載コントローラー220の自己位置推定部312は、自己位置、すなわち、走行開始位置を取得する(ステップS11)。また、この処理では、自己位置推定部312は、自己位置を地図配信サーバー301の地図配信部307に送信する。なお、地図配信サーバー301の地図配信部307が車両101の前回の走行終了位置を次回の走行開始位置として保存しておいてもよい。
【0081】
次いで、地図配信サーバー301の目標位置入力部304は、自律走行の目標位置を設定する(ステップS12)。この処理では、例えば、事前に車両101の目標位置を示す座標値が設定されたデータベースをインポートし、データベースに登録されている目標位置を設定する。なお、目標位置の設定は、他の設定方法を適用してもよい。また、この処理では、目標位置入力部304は、設定した目標位置を大局経路計画部305に出力する。
【0082】
次いで、地図配信サーバー301の大局経路計画部305は、車両101の走行開始位置、目標位置、及び車両情報管理部303から入力した車両の寸法値に基づき、全域地図における大局経路(図5参照)を計画して生成する(ステップS13)。また、この処理では、大局経路計画部305は、大局経路が計画された全域地図を地図分割部306及び車載コントローラー220の局所経路計画部313に出力する。
【0083】
次いで、地図配信サーバー301の地図分割部306は、車両情報管理部303から車載センサーの性能情報を取得する(ステップS14)。
【0084】
次いで、地図分割部306は、車両情報管理部303から車載コントローラー220の性能情報の含まれる参照地図最大サイズを取得する(ステップS15)。
【0085】
次いで、地図分割部306は、大局経路が計画された全域地図、車載センサーの性能情報及び参照地図最大サイズを用いて、地図分割エリア演算処理を行う(ステップS16)。なお、地図分割エリア演算処理の手順について、後述の図15図17用いて詳述する。
【0086】
次いで、地図分割部306は、地図分割エリア演算処理の結果である分割地図のエリア情報を記録する(ステップS17)。
【0087】
次いで、地図配信サーバー301の地図配信部307は、車両101の車載コントローラー220に対して初回の地図配信を行う(ステップS18)。この処理では、地図配信部307は、車両101の走行開始位置を内包する分割地図を含む現在のエリアの参照地図(図13の現在のエリアの参照地図M131参照)を車載コントローラー220の参照地図管理部311に送信する。
【0088】
次いで、車載コントローラー220の自己位置推定部312は、参照地図管理部311から現在のエリアの参照地図を入力し、自己位置を推定する(ステップS19)。また、この処理では、自己位置推定部312は、推定した自己位置を局所経路計画部313に出力し、地図配信サーバー301の地図配信部307に送信する。
【0089】
次いで、地図配信部307は、車両101の所在位置(上記自己位置)に応じて、参照地図を参照地図管理部311に送信し、参照地図管理部311は保持する参照地図(図13B参照)を更新する(ステップS20)。また、この処理では、自己位置推定部312は、推定した自己位置が次の分割地図(図13の分割地図(b)参照)のエリアに入ったこと検出した場合、参照地図を次のエリアの参照地図に更新する。
【0090】
次いで、車載コントローラー220の局所経路計画部313は、自己位置推定部312か入力した自己位置、及び、大局経路の一部を含む参照地図を用いて、局所目標位置を設定する(ステップS21)。
【0091】
次いで、局所経路計画部313は、自己位置から局所目標位置までの局所経路を計画して生成する(ステップS22)。
【0092】
次いで、車載コントローラー220の制御指令生成部314は、経路追従制御を行う(ステップS23)。この処理では、制御指令生成部314は、自己位置から局所目標位置に向かって、局所経路を通過するように、経路追従アルゴリズムにより、車両101に対する駆動指令を生成する。また、制御指令生成部314は、生成した車両101に対する駆動指令を車両101の駆動部208に出力する。そして、駆動部208は、駆動指令に従って走行するように車両101を駆動する。
【0093】
次いで、自己位置推定部312は、目標位置に到達したか否かを判定する(ステップS24)。この処理では、自己位置推定部312は、自己位置と目標位置とを比較し、その2点間の距離が所定閾値、例えば0.1m以下である場合、目標位置に到達したと判定し、ステップS24がYES判定となる。また、自己位置推定部312は、自己位置と目標位置とを比較し、その2点間の距離が所定閾値を超える場合、目標位置に到達していないと判定し、ステップS24がNO判定となる。なお、現在位置と目標位置との間の距離に対して設定される所定閾値は、0.1mに限定されず、実際の状況に応じて適当の値に変更してもよい。
【0094】
ステップS24の処理において、自己位置推定部312は、自車両が目標位置に到達していないと判定した場合(ステップS24のNO判定)、ステップS19の処理に戻し、ステップS19~ステップS24の処理は繰り返して実行される。
【0095】
一方、ステップS24の処理において、自己位置推定部312は、自車両が目標位置に到達したと判定した場合(ステップS24のYES判定)、自律走行処理は、走行完了状態で終了する。
【0096】
[地図分割エリア演算処理の手順]
次に、地図配信サーバー301の地図分割部306における地図分割エリア演算処理の手順について説明する。図15は、本実施形態に係る地図分割システムにおける地図分割エリア演算処理の手順を示すフローチャートである。地図分割エリア演算処理は、図14に示す自律走行処理のステップS16においてサブルーチンとして呼び出されて実行される。
【0097】
まず、地図配信サーバー301の地図分割部306は、障害物占有率の演算処理を行う(ステップS70)。なお、障害物占有率の演算処理の手順について、後述の図16で詳述する。
【0098】
次に、地図分割部306は、障害物占有率の演算処理の結果に基づいて、地図分割処理を行う(ステップS80)。ステップS80の処理後、地図分割エリア演算処理は終了する。なお、地図分割処理の手順について、後述の図17で詳述する。
【0099】
図16は、本実施形態に係る地図分割システムにおける障害物占有率の演算処理の手順を示すフローチャートである。障害物占有率の演算処理は、図15に示す地図分割エリア演算処理のステップS70においてサブルーチンとして呼び出されて実行される。
【0100】
まず、地図分割部306は、障害物占有率の演算を行う対象位置の取得及び更新を行う(ステップS701)。この処理では、対象位置の初期位置は、車両の走行開始位置となり、地図分割部306は、走行開始位置から大局経路に沿って格子を1個ずつ移動して対象位置を更新する。
【0101】
次いで、地図分割部306は、車両の進行方向を示すベクトル(図7Aの矢印F701参照)を取得する(ステップS702)。なお、対象位置が目標位置に到達している場合、1格子前のベクトルを流用する。
【0102】
次いで、地図分割部306は、車両の進行方向を示すベクトルに対応する障害物占有率の演算対象領域である前方測距領域及び後方測距領域(図7及び図8参照)を取得する(ステップS703)。
【0103】
次いで、地図分割部306は、前方測距領域及び後方測距領域のそれぞれの障害物占有率を示すスコアを演算する(ステップS704)。
【0104】
次いで、地図分割部306は、対象位置が目標位置に到達したか否かを判定する(ステップS705)。
【0105】
ステップS705の処理において、地図分割部306は、対象位置が目標位置に到達していないと判定した場合(ステップS705のNO判定)、ステップS701の処理に戻し、ステップS701~ステップS705の処理を繰り返して実行する。
【0106】
一方、ステップS705の処理において、地図分割部306は、対象位置が目標位置に到達したと判定した場合(ステップS705のYES判定)、障害物占有率の演算処理が終了する。
【0107】
図17は、本実施形態に係る地図分割システムにおける地図分割処理の手順を示すフローチャートである。地図分割処理は、図15に示す地図分割エリア演算処理のステップS80においてサブルーチンとして呼び出されて実行される。
【0108】
まず、地図分割部306は、対象位置の取得及び更新を行う(ステップS801)。この処理は、図16で説明したステップS701の処理と同様であり、重複説明を省略する。
【0109】
次いで、地図分割部306は、大局経路大及び車載センサーの測距範囲に基づいて、分割地図の拡張(図9参照)を行う(ステップS802)。
【0110】
次いで、地図分割部306は、現在の分割地図が車載コントローラー220の参照地図最大サイズに到達したか否かを判定する(ステップS803)。
【0111】
ステップS803の処理において、地図分割部306は、現在の分割地図が参照地図最大サイズに到達していないと判定した場合(ステップS803のNO判定)、ステップS801の処理に戻し、ステップS801~ステップS803の処理を繰り返して実行する。
【0112】
一方、ステップS803の処理において、地図分割部306は、現在の分割地図が参照地図最大サイズに到達したと判定した場合(ステップS803のYES判定)、分割地図の切取り位置を演算し、分割地図のエリア情報を保存する(ステップS804)。この処理では、地図分割部306は、障害物過疎領域の検出時の車載センサー211の測距範囲に応じて、図10で説明した第1パターン、又は、図11で説明した第2パターンの地図切取りを実行する。
【0113】
次いで、地図分割部306は、対象位置が目標位置に到達したか否かを判定する(ステップS805)。
【0114】
ステップS805の処理において、地図分割部306は、対象位置が目標位置に到達していないと判定した場合(ステップS805のNO判定)、ステップS801の処理に戻し、ステップS801~ステップS805の処理を繰り返して実行する。
【0115】
一方、ステップS805の処理において、地図分割部306は、対象位置が目標位置に到達したと判定した場合(ステップS805のYES判定)、地図分割処理が終了する。
【0116】
なお、以上の説明では、大局経路計画部305が1つの大局経路を計画した場合の地図分割エリア演算処理を説明したが、本発明はこれに限定されない。例えば、大局経路計画部305が複数の大局経路を計画した場合、地図分割部306は、複数の大局経路のそれぞれに沿って、地図分割エリア演算処理を行い、全域地図を分割する。
【0117】
[効果]
上述したように、本実施形態に係る地図分割システム(地図更新システム)は、車載コントローラー220の参照地図最大サイズ、車載センサー211の測距範囲内の障害物占有率に基づいて全域地図を分割する。また、地図分割システム(地図更新システム)は、車両101の走行位置に応じて、現在のエリアの分割地図及び次のエリアの分割地図のみを参照地図として車両101の車載コントローラー220に送信する。車載コントローラー220には、参照地図として、現在のエリアの分割地図及び次のエリアの分割地図のみを保存する。このため、本実施形態に係る地図分割システム(地図更新システム)により、車載コントローラーに保存される参照地図は参照可能な地図の最大サイズ以下に抑えられ、車両が分割地図の境界付近で減速や停止すること、障害物過疎領域に進入することによる余計な加減速、過剰な経路逸脱等が発生しない。それゆえ、本実施形態に係る地図分割システム(地図更新システム)によれば、車載コントローラーの計算負荷を低減し、分割地図の切り替え時の車両走行の安定性を保障することができる。
【0118】
<第2実施形態>
上記第1実施形態では、車両101の車載センサー211の後方測距範囲から障害物過疎領域を検出した場合、障害物占有率を示すコストに基づいて、分割地図の切取り位置を決定する処理(図17のステップS804、図10参照)を説明した。しかし、この処理では、例えば、広域障害物過疎領域が発生する場合、すなわち、広い領域に渡って障害物過疎領域が継続して発生する場合、分割地図の切取り位置を決定できないことが発生する可能性がある。本発明の第2実施形態に係る地図分割システムは、上記問題を解決するためになされたものである。
【0119】
以下では、本発明の第2実施形態に係る地図分割システムについて説明する。本実施形態では、車両101の車載センサー211の前方測距範囲及び後方測距範囲とともに、障害物過疎領域が含まれる場合、広域障害物過疎領域が発生することとして扱われる。すなわち、広域障害物過疎領域には、車載センサー211の測距範囲内に、車両の所在位置を推定できる障害物に関する情報(特徴量情報)が存在しない。
【0120】
図18は、本実施形態に係る地図分割システム(地図更新システム)を備える自律走行システム400の機能構成例を示すブロック図である。自律走行システム400の車載コントローラー220及び車両101は、図2に示す自律走行システム300の車載コントローラー220及び車両101と同様であるため、重複説明を省略する。図18に示す地図配信サーバー401(地図分割システム及び地図更新システム)は、図2に示す地図配信サーバー301の各構成部に加え、さらに、安定走行不可判定部402を備える。安定走行不可判定部402の入力側は、地図分割部306に接続され、出力側は大局経路計画部305に接続される。なお、安定走行不可判定部402以外の地図配信サーバー401の各構成部及びその機能は、図2に示す各構成部及びその機能と同様であるため、重複説明を省略する。
【0121】
安定走行不可判定部402は、車両101の車載センサー211の測距範囲内に、車両の所在位置を推定できる特徴量情報が存在しないことを検出し、安定走行対策を大局経路計画部305に出力する。具体的なに処理については、図19及び図20を用いて説明する。
【0122】
[地図分割エリア演算処理]
ここで、本実施形態に係る地図分割システムにおける地図分割エリア演算処理の手順について説明する。図19は、本実施形態に係る地図分割システムにおける地図分割エリア演算処理の手順を示すフローチャートである。図19図15を比較して分かるように、本実施形態に係る地図分割システムにおける地図分割エリア演算処理では、障害物占有率の演算処理と地図分割処理との間に、広域障害物過疎領域が発生したか否かの判定処理(ステップS72)及び安定走行対策出力(ステップS73)が追加されている。なお、障害物占有率の演算処理(ステップS71)について、後述の図20で詳述する。また、地図分割演算処理(ステップS80)は、図15で説明してこの処理と同じであるので、重複説明を省略する。
【0123】
ステップS72の処理では、安定走行不可判定部402は、地図分割部306から広域障害物過疎領域の発生箇所を入力した場合、広域障害物過疎領域が発生したと判定し、ステップS72の処理がYES判定となる。また、安定走行不可判定部402は、地図分割部306から広域障害物過疎領域の発生箇所を入力していない場合、広域障害物過疎領域が発生していないと判定し、ステップS72の処理がNO判定となる。
【0124】
ステップS72の処理において、安定走行不可判定部402は、広域障害物過疎領域が発生していないと判定した場合(ステップS72のNO判定)、ステップS80の処理が実行される。
【0125】
一方、ステップS72の処理において、安定走行不可判定部402は、広域障害物過疎領域が発生したと判定した場合(ステップS72のYES判定)、安定走行対策を大局経路計画部305に出力する(ステップS73)。ステップS73の処理では、安定走行対策として、例えば、低速走行対策と、大局経路変更対策と、障害物設置対策とが用いられる。
【0126】
[低速走行対策]
低速走行対策は、車両101が大局経路における走行速度を低速に変更する対策である。広域障害物過疎領域が発生した場合、自己位置推定部312は、自己位置を推定できる(有効な)特徴量情報が存在しないので、エンコーダー209から取得した車輪回転数(オドメトリ)のみにより自己位置を推定することになる。オドメトリによる自己位置推定は、一般的に、車両の走行速度が高速になるほど誤差が大きくなる傾向がある。低速走行対策では、広域障害物過疎領域の発生箇所の手前の数メートルから車両101を低速(例えば、0.3m/s)で走行するように、大局経路における走行速度を変更させる。
【0127】
本対策は、最も対策工数が少ない対策であるが、車両の作業効率(搬送効率)が低下する問題が発生する。また、例えば、広域障害物過疎領域が連続して発生している場合は、車両が低速で走行しても、自己位置推定部312の自己位推定の精度悪化が発生する。このため、実運用を考慮して、本対策を一時的な対策、又は、候補対策とすればよい。
【0128】
[大局経路変更対策]
大局経路変更対策は、広域障害物過疎領域が発生した大局経路を他の大局経路に変更する対策である。本対策では、大局経路計画部305は、他車両の移動や他の作業員の移動なども踏まえ、複数の大局経路候補を計画して生成する。広域障害物過疎領域が発生した場合、安定走行不可判定部402は、大局経路変更対策を大局経路計画部305に出力する。そして、大局経路計画部305は、複数の大局経路候補から、広域障害物過疎領域の発生箇所を回避できる大局経路候補(迂回経路)を選択し、現在の大局経路を変更する。また、大局経路計画部305は、変更した大局経路を車載コントローラー220の局所経路計画部313に送信する。
【0129】
本対策は、迂回経路を利用するため、車両の作業効率(搬送効率)が低下する問題が発生する。このため、低速走行対策と同様に、本対策を一時的な対策、又は、候補対策とすればよい。
【0130】
[障害物設置対策]
障害物設置対策は、広域障害物過疎領域の発生箇所付近に、障害物を設置することで、障害物過疎領域を解消する対策である。本対策では、広域障害物過疎領域が発生した場合、安定走行不可判定部402は、広域障害物過疎領域の発生箇所に関する情報と、障害物を設置する通知とを大局経路計画部305に出力する。そして、大局経路計画部305は、広域障害物過疎領域の発生箇所に障害物を設置する通知を地図配信サーバー401が有する表示装置に表示させる。なお、大局経路計画部305は、広域障害物過疎領域の発生箇所に障害物を設置する通知を現場(走行環境)にいる作業員が保持する端末装置に送信してもよい。地図配信サーバー401の管理員や現場にいる作業員などが上述の障害物を設置する通知を確認して障害物を設置することで、障害物過疎領域のよる問題が解消される。
【0131】
なお、障害物としては、例えば、新規の棚111や、LiDARが遠距離でも安定して測距可能な反射板などである。また、障害物が設置された後、全域地図の再作成、大局経路の再計画が必要となる。本対策は、低速走行対策及び大局経路変更対策と比較すると工数がかかるが、広域障害物過疎領域の根本に解決できる対策である。
【0132】
なお、安定走行不可判定部402は、広域障害物過疎領域の発生箇所付近の地図情報や大局経路などを参考し、広域障害物過疎領域の連続発生があるか否か、大局経路候補(迂回経路)により搬送効率が低下しすぎるか否か等を判定し、上記3つの対策のいずれかを選定して実行させるようにしてもよい。
【0133】
次に、本実施形態に係る地図分割システムにおける障害物占有率の演算処理の手順について説明する。図20は、本実施形態に係る地図分割システムにおける障害物占有率の演算処理の手順を示すフローチャートである。図20に示すステップS711~ステップS712以外の処理は、図16に示すこれらの処理と同様であるため、重複説明は省略する。
【0134】
ステップS711の処理では、地図分割部306は、広域障害物過疎領域が発生したか否かを判定する。この処理において、地図分割部306は、障害物占有率を示すスコア(図8参照)に基づいて、対象位置に対応する前方測距領域と後方測距領域と共に障害物過疎領域を含むと判定した場合、広域障害物過疎領域が発生したと判定し、ステップS711の処理はYES判定となる。また、地図分割部306は、対象位置に対応する前方測距領域と後方測距領域と共に障害物過疎領域を含まないと判定した場合、広域障害物過疎領域が発生していないと判定し、ステップS711の処理はNO判定となる。
【0135】
ステップS711の処理において、地図分割部306は、広域障害物過疎領域が発生していないと判定した場合(ステップS711のNO判定)、ステップS705の処理が実行される。
【0136】
一方、ステップS711の処理において、地図分割部306は、広域障害物過疎領域が発生したと判定した場合(ステップS711のYES判定)、広域障害物過疎領域の発生箇所を保存する(ステップS712)。また、この処理では、地図分割部306は、広域障害物過疎領域の発生箇所を安定走行不可判定部40に出力する。なお、広域障害物過疎領域の発生箇所は、広域障害物過疎領域が発生したと判定されるときの対象位置(格子)の座標及び車載センサー211の測距範囲を含む。
【0137】
[効果]
上述したように、本実施形態に係る地図分割システムは、広域障害物過疎領域の発生を検出し、車両を安定走行させるための安定走行対策を行う。それゆえ、本実施形態に係る地図分割システムは、第1実施形態に係る地図分割システムと同じ効果を有すると共に、広域障害物過疎領域の発生を検出して、安定走行の困難な状況を防ぐことができる。
【0138】
なお、本発明は上述した各実施形態に限られるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りその他種々の応用例、変形例を取り得ることは勿論である。
例えば、上述した各実施形態は本発明を分かりやすく説明するために自律走行システム及び地図分割システム(地図更新システム)の構成を詳細かつ具体的に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されない。また、ここで説明した実施形態の構成の一部を他の実施形態の構成に置き換えることは可能であり、さらにはある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加、削除、置換をすることも可能である。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【0139】
上記各実施形態では、全域地図の特徴量情報は、全域地図における障害物に関する情報であり、地図分割部306は、障害物に関する情報に基づいて、障害物の占有率を示すコストを演算し、地図分割エリア演算処理を行う例を説明した。しかしながら、本発明はこれに限定されず、全域地図における特徴量情報は、他の手法により作成された走行環境の地図上の特徴量に関する情報を含んでもよい。例えば、全域地図は、無線通信の電波強度を用いて作成された(格子地図で表現される)ヒートマップとしてもよい。この場合、全域地図の特徴量情報は、ヒートマップ上の電波強度に関する情報である。また、例えば、全域地図として、LiDARの計測情報を用いて作成された格子地図、及び無線通信の電波強度を用いて作成されたヒートマップが用いられる場合、全域地図の特徴量情報は、障害物に関する情報及び電波強度に関する情報を含む。すなわち、全域地図の特徴量情報は、全域地図が保有する複数種類の特徴量情報の中の少なくとも1つを含む。
【0140】
また、上記各実施形態では、地図分割部306は、大局経路計画部305により算出された目標速度や最大速度に応じて、隣接する分割地図の重複領域を決めて全域地図を分割する処理を説明したが、本発明はこれに限定されない。例えば、交通規制により、特定のエリアに対して速度上限値や進入禁止などが設定される場合、同じ車両かつ同じ大局経路であっても、地図分割部306は、予め設定された交通規則に基づいて全域地図を分割する。また、例えば、作業員により、車両走行時の目標速度を所定速度に予め設定された場合、地図分割部306は、予め設定された目標速度に応じて次のエリアの分割地図と現在のエリアの分割地図との重複領域を演算して全域地図を分割する。
【符号の説明】
【0141】
101…車両、208…駆動部、209…エンコーダー、211…車載センサー、220,220…車載コントローラー、300,400…自律走行システム、301,401…地図配信サーバー、302…全域地図管理部、303…車両情報管理部、304…目標位置入力部、305…大局経路計画部、306…地図分割部、307…地図配信部、311…参照地図管理部、312…自己位置推定部、313…局所経路計画部、314…制御指令生成部、402…安定走行不可判定部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20