(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024055113
(43)【公開日】2024-04-18
(54)【発明の名称】鉱山車両自律走行システム
(51)【国際特許分類】
G08G 1/00 20060101AFI20240411BHJP
G05D 1/43 20240101ALI20240411BHJP
B60W 40/02 20060101ALI20240411BHJP
B60W 60/00 20200101ALI20240411BHJP
【FI】
G08G1/00 J
G05D1/02 J
B60W40/02
B60W60/00
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2022161757
(22)【出願日】2022-10-06
(71)【出願人】
【識別番号】000005522
【氏名又は名称】日立建機株式会社
(74)【代理人】
【識別番号】110001829
【氏名又は名称】弁理士法人開知
(72)【発明者】
【氏名】待井 君吉
(72)【発明者】
【氏名】板東 幹雄
(72)【発明者】
【氏名】魚津 信一
(72)【発明者】
【氏名】越智 覚
【テーマコード(参考)】
3D241
5H181
5H301
【Fターム(参考)】
3D241BA49
3D241BB21
3D241CE02
3D241CE04
3D241CE06
3D241DB01Z
3D241DB32Z
3D241DC33Z
3D241DC45Z
3D241DC46Z
5H181AA07
5H181BB04
5H181BB18
5H181CC03
5H181CC14
5H181EE13
5H181FF04
5H181FF10
5H181LL01
5H181LL06
5H181LL09
5H301AA03
5H301BB02
5H301CC03
5H301CC06
5H301CC10
5H301GG08
5H301GG14
5H301GG16
5H301LL01
5H301LL06
5H301LL08
(57)【要約】
【課題】外界検知センサによって検知されるべき領域に非検知領域が発生した場合に、当該非検知領域が発生した要因に対し適切に対処させ、鉱山車両の作業効率が低下するのを抑制することが可能な鉱山車両自律走行システムを提供する。
【解決手段】コントローラ203は、外界検知センサ108が取得した3次元点群を点群マップに対応づけ、車両位置計測センサ202の計測結果に基づいて外界検知センサ108の位置変化を算出し、外界検知センサ108が取得すべき3次元点群を取得できなかった場合に、前記点群マップの領域を非検知領域として抽出し、前記点群マップにおける前記非検知領域の位置が車両101の位置変化に応じて変化するか否かに基づいて前記非検知領域の要因を判断し、前記非検知領域の要因に応じて車両101の動作を決定する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
車両の周囲環境の3次元点群を取得する外界検知センサと、
前記車両に取り付けられた位置計測センサと、
前記外界検知センサおよび前記位置計測センサの信号が入力されるコントローラとを備え、
前記コントローラは、
前記外界検知センサが取得した3次元点群を点群マップに対応づける点群マップ生成部と、
前記位置計測センサの計測結果に基づいて前記外界検知センサの位置変化を算出するセンサ位置変化算出部と、
前記外界検知センサが取得すべき3次元点群を取得できなかった場合に、前記点群マップの領域を非検知領域として抽出する非検知領域検出部とを有する鉱山車両自律走行システムにおいて、
前記コントローラは、
前記点群マップにおける前記非検知領域の位置が前記車両の位置変化に応じて変化するか否かに基づいて前記非検知領域の要因を判断する非検知領域要因判断部と、
前記非検知領域要因判断部の判断結果に応じて前記車両の動作を決定する動作決定部とを有する
ことを特徴とする鉱山車両自律走行システム。
【請求項2】
請求項1に記載の鉱山車両自律走行システムにおいて、
前記動作決定部は、前記非検知領域の要因が水溜であると前記非検知領域要因判断部によって判断された場合に、前記車両の幅と前記非検知領域の要因と判断された前記水溜の幅との大小関係に応じて、前記水溜を回避するように進路を変更するか、前記水溜を跨いで走行するか、停車するかを決定する
ことを特徴とする鉱山車両自律走行システム。
【請求項3】
請求項1に記載の鉱山車両自律走行システムにおいて、
前記外界検知センサは、レーザー測距センサで構成され、
前記動作決定部は、前記非検知領域の要因が前記レーザー測距センサの照射面の汚れであると前記非検知領域要因判断部によって判断された場合に、前記車両を管理する管制センタに警報を送信するか、前記外界検知センサの検知範囲において前記非検知領域と経路範囲とが重ならないように進路を変更するか、停車するかを決定する
ことを特徴とする鉱山車両自律走行システム。
【請求項4】
請求項1に記載の鉱山車両自律走行システムにおいて、
前記外界検知センサは、レーザー測距センサで構成され、
前記点群マップ生成部は、前記車両の前方の路面勾配に応じて最長検知距離を算出し、前記最長検知距離以下の対象範囲で計測された3次元点群点群データのみを処理する
ことを特徴とする鉱山車両自律走行システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、鉱山車両自律走行システムに関する。
【背景技術】
【0002】
本技術分野の背景技術を開示する文献として、例えば特許文献1がある。特許文献1には、「車両に搭載されたカメラを備え、前記カメラの画像を解析して、前記カメラの画像の解析結果に基づいて前記車両の周辺の状態を認識する外界認識システムであって、前記カメラに汚れが付着しているか否かを検出する汚れ検出部を備え、前記汚れ検出部は、前記車両が移動しても前記カメラの画像上で変化がない物の少なくとも一部の線を少なくとも一つの基準線として設定し、前記カメラの画像から前記基準線に対応する観測線を算出し、前記観測線の前記基準線からの変位量を算出し、前記変位量に基づいて前記カメラに汚れが付着しているか否かを検出し、前記観測線と前記基準線との間の領域の面積を算出することによって、前記観測線の前記基準線からの変位量を算出することを特徴とする外界認識システム」が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
鉱山現場においては、生産性の向上を目的として、例えば、自律走行ダンプトラックなどの作業機械が用いられている。自律走行ダンプトラックでは、管制情報を用いた運行管理が行われるほか、走行の安全性を確保するために、個々の自律走行ダンプトラックにおいて走行中の周囲の状況を常に把握し、障害物や他の車両等の有無を検知して、自律走行を制御することが行われる。また、鉱山現場などのオフロード環境では、泥はね、水溜等の影響で障害物が検知できないことがある。
【0005】
一方、障害物検知にLiDARを用いると、水溜がある場合には、その水溜に反射する光の影響を受け、LiDARの照射面に汚れがある場合には、その汚れの影響を受け、検知されるべき領域に非検知領域が発生する場合がある。水溜が存在する場合は回避が必要であり、照射面が汚れた場合は洗浄が必要となる。しかし、いずれの非検知についても原因の区別がつかず、非検知領域が発生した際、発生した原因の自動的な判別が困難である。その場合、その都度ダンプを止めた上でのオペレータによる現地での確認作業が必要になり、作業効率が低下する。
【0006】
特許文献1には、車両が移動してもカメラ画像上で変化がない物(バンパー等)を基準として観測線上における輝度値の変位量を算出し、その変位量に基づいてカメラに汚れが付着しているか否かを判定する技術が開示されている。この開示された技術は、車両の一部が常に画像の同じ場所に写り込むこと、常に舗装道路を走行することを前提として成立する技術である。一方、鉱山環境においては車両周辺環境が刻一刻と変化するため、輝度値の変位量等の規則的に変化するパラメータを使うことは必ずしも適切ではない。
【0007】
本発明は、上記課題に鑑みてなされたものであり、その目的は、外界検知センサによって検知されるべき領域に非検知領域が発生した場合に、当該非検知領域が発生した要因に対し適切に対処させ、鉱山車両の作業効率が低下するのを抑制することが可能な鉱山車両自律走行システムを提供することにある。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明は、車両の周囲環境の3次元点群を取得する外界検知センサと、前記車両に取り付けられた位置計測センサと、前記外界検知センサおよび前記位置計測センサの信号が入力されるコントローラとを備え、前記コントローラは、前記外界検知センサが取得した3次元点群を点群マップに対応づける点群マップ生成部と、前記位置計測センサの計測結果に基づいて前記外界検知センサの位置変化を算出するセンサ位置変化算出部と、前記外界検知センサが取得すべき3次元点群を取得できなかった場合に、前記点群マップの領域を非検知領域として抽出する非検知領域検出部とを有する鉱山車両自律走行システムにおいて、前記コントローラは、前記点群マップにおける前記非検知領域の位置が前記車両の位置変化に応じて変化するか否かに基づいて前記非検知領域の要因を判断する非検知領域要因判断部と、前記非検知領域要因判断部の判断結果に応じて前記車両の動作を決定する動作決定部とを有するものとする。
【0009】
以上のように構成した本発明によれば、外界検知センサによって検知されるべき領域に非検知領域が発生した場合に、当該非検知領域の要因に応じた適切な動作を鉱山車両に取らせることにより、鉱山車両の作業効率が低下するのを抑制することが可能となる。
【発明の効果】
【0010】
本発明によれば、外界検知センサによって検知されるべき領域に非検知領域が発生した場合に、当該非検知領域が発生した要因に対し適切に対処させ、鉱山車両の作業効率が低下するのを抑制することが可能となる。
【図面の簡単な説明】
【0011】
【
図2】鉱山車両に搭載された走行制御システムの構成図
【
図5】鉱山車両自律走行システムの処理を示すフローチャート
【
図6】非検知領域を検出する処理の詳細を示すフローチャート
【
図8】非検知領域の要因を判断する処理の詳細を示すフローチャート
【
図9】非検知領域を追跡する処理の詳細を示すフローチャート
【
図10】非検知領域の要因を判定する処理の詳細を示すフローチャート
【
図11】非検知領域の要因を判断する処理の概念を示す図
【
図12】非検知セルをグルーピングして非検知領域とする処理の具体例を示す図
【
図14】非検知領域の要因に応じた車両の動作を決定する処理の詳細を示すフローチャート
【
図15】非検知領域の要因がLiDARの照射面の汚れである場合の車両の動作を決定する処理の詳細を示すフローチャート
【
図17】非検知領域の要因が水溜である場合の車両の動作を決定する処理を示すフローチャート
【
図19】LiDARの垂直照射角度と水平照射角度を用いて作成される点群マップの一例を示す図
【発明を実施するための形態】
【0012】
以下、本発明の実施形態について図面を用いて説明する。なお、各図中、同等の要素には同一の符号を付し、重複した説明は適宜省略する。
【0013】
図1は、本実施形態における鉱山車両101の概略図である。
図1において、鉱山車両101は、車両本体102と、車両本体102の上側後方に上下方向に回転可能に取り付けられた荷台103と、車両本体102の上側前方に設けられた運転席104と、車両本体102の下側前方に取り付けられた左右一対の従動輪105と、車両本体102の下側後方に取り付けられた左右一対の駆動輪106とを備えている。車両本体102の上側前方には、車両位置計測センサとしてGNSS(Global Navigation Satellite System)107が取り付けられている。GNSS107は、GPS(Global Positioning System)等の衛星電波を用いて車両本体102の位置を計測する。車両本体102の前方には、外界検知センサとしてLiDAR108が取り付けられている。
【0014】
LiDAR108は、車両101からレーザーを照射し、反射波を利用してデータを取得する構成を有している。LiDAR108は水平方向および垂直方向に機種固有の視野角があり、当該視野角内に複数のレーザーを照射し、その反射波を用いて、レーザーが反射された位置の3次元座標や反射強度等のデータを得る。このデータを一般に点群データと呼ぶ。LiDAR108は、カメラとは異なり、周辺の明るさに依存せずに点群データを得ることが可能であり、昼夜や天候に関係なく物体を検知できる。
【0015】
図2は、鉱山車両101に搭載された走行制御システムの構成図である。走行制御システム201は、LiDAR108と、車両位置計測センサ202と、コントローラ203と、車両制御ユニット204とを備えている。コントローラ203は、CANインタフェース205およびCANバス206を介して車両制御ユニット204に接続され、LiDAR108とイーサネット回線207で接続され、車両位置計測センサ202とシリアル回線208で接続されている。
【0016】
コントローラ203は、CPU209と、メモリ210、記憶装置211とを備えている。記憶装置211は、地図データ、自動運転に必要なデータ、LiDAR108のキャリブレーションパラメータの値などを記憶している。
【0017】
車両位置計測センサ202は、車両101の位置を計測するためのセンサであり、車輪速センサ209と、GNSS107と、IMU(Inertial Measurement Unit)210とで構成される。車輪速センサ209やIMU210は、デッドレコニングに基づく自己位置推定のための装置であり、GNSS107が衛星電波を受信できない状況でも機能する。これらの装置を組み合わせて用いることで、様々な状況における車両位置計測が可能となる。
【0018】
CPU209は、車両位置計測センサ202からの車両位置情報に応じて、LiDAR108で得られた点群データを処理し、その過程で必要となるデータや処理結果をメモリ210に記憶させる。そして、処理結果の情報をCANインタフェース205およびCANバス206介して車両制御ユニット204に送る。車両制御ユニット204は、CPU209の処理結果に応じて車両101の進行方向や速度を制御する。また、車両制御ユニット204は、車両101の進行方向や速度のデッドレコニング情報を作成し、記憶する。コントローラ203は、これらの情報をCANバス206およびCANインタフェース205を介して取得することができる。
【0019】
図2は、コントローラ203の機能ブロック図である。コントローラ203は、ソフトウェアによって実現される機能として、点群マップ生成部301と、非検知領域検出部302と、センサ位置変化算出部303と、非検知領域要因判断部304と、動作決定部305とを有する。
【0020】
点群マップ生成部301は、LiDAR108から得られた点群データを2次元平面に展開してマップを作成する。マップは占有グリッドマップ(OGM:Occupancy Grid Map)を用いるのが好適である。点群マップ生成部301は、各点群座標をグリッドマップのセルの位置に変換し、当該セルに点群が存在することを示すフラグを立てる。
【0021】
非検知領域検出部302は、前記点群マップを用いて、LiDAR108が取得すべき(LiDAR108が本来は取得可能な)点群データに対応するセル領域のうち、LiDAR108が点群データを取得できなかったセル領域を特定する。非検知領域の要因としては、LiDAR108の照射面の汚れ、路面上の水溜、障害物によるオクルージョン、砂埃などが挙げられる。これらの要因によって、点群マップには、点群が存在しないセルが発生する。これをグルーピングすることで非検知領域を検出する。
【0022】
なお、LiDAR108の点群は離散的であり、遠方ほど点の間隔が広くなり、そのときにも非検知領域が発生する。しかしながら、点群データを例えば最新の1秒間分を蓄積しておくようにすることで、これを回避することが可能である。そのとき、得られた点群データはグローバル座標系に変換しておき、蓄積された点群データすべてをLiDAR108からの相対位置に変換した後にセル座標に変換すればよい。または、データ容量の削減や処理の高速化を目的として、点群マップのうちで点群が存在するセルの情報だけを蓄積し、車両位置の変化に基づいてセル座標をLiDAR108からの相対位置に変換してもよい。そして、得られた非検知領域の情報は、非検知領域の位置変化がわかるよう、記憶装置211に蓄積されていく。
【0023】
センサ位置変化算出部303は、車両位置計測センサ202の結果に基づいてLiDAR108の位置変化を算出する。これは、前回計測時のLiDAR108の位置からの相対的な位置変化であり、移動方向と移動の速さを算出する。
【0024】
非検知領域要因判断部304は、非検知領域検出部302で検出した非検知領域の要因を判断する。具体的には、汚れ、水溜、オクルージョン、砂埃のいずれかを判断する。また、非検知領域の重心座標も計算する。非検知領域要因判断部304では、記憶装置211に蓄積された非検知領域検出の履歴、センサ位置変化算出部303で得た位置変化に基づき、前時刻と現時刻における非検知領域の位置関係を用いて非検知領域の要因を判断する。
【0025】
管制センタ306は、鉱山サイト内の交通管制や目的地および走行経路を指示する。管制センタ306は、走行経路を指示するために、鉱山サイト内の各車両101が検知した障害物や悪路の情報を得てそれを回避するための経路を生成し、車両101へ送信する。また、各車両101においてLiDAR108の照射面の汚れを検知した場合には、その状況に応じて停車、洗浄の指示を出す。
【0026】
動作決定部305は、非検知領域要因判断部304で得られた非検知領域の要因に応じて車両101の動作を決定する。具体的には、水溜であれば跨ぐ、回避する、停車する、のいずれかに決定する。汚れであれば、汚れた場所に応じて停車する、汚れていない範囲を用いて走行する、のいずれかに決定する。
【0027】
図4は、本実施形態において使用する座標系の一例を示す図である。本実施形態では、車両101の位置を原点とした座標系を使用しており、車両101の進行方向をx軸、x軸に垂直な方向であって車幅方向に沿う方向をy軸、路面と垂直な方向をz軸とする。なお、y軸は、車両101の進行方向に向かって右から左へ向かう方向を正とする。
【0028】
図5は、本実施形態における鉱山車両自律走行システムの処理を示すフローチャートである。まず、ステップ501で非検知領域を検出する。ステップ501の処理は、点群マップ生成部301および非検知領域検出部302により実行される。ステップ501に続き、ステップ502で非検知領域があるか否かを判定する。ステップ502の判定結果がNoの場合は、当該フローを終了する。ステップ502の判定結果がYesの場合は、ステップ503で非検知領域の要因を判断する。ステップ502,503の処理は、非検知領域要因判断部304により実行される。ステップ503に続き、ステップ504で非検知領域の要因に応じた車両101の動作を決定し、当該フローを終了する。ステップ504の処理は、動作決定部305により実行される。
【0029】
図6は、非検知領域を検出する処理(
図5のステップ501)の詳細を示すフローチャートである。まず、ステップ601で、ある程度の時間の点群データをLiDAR108から得る。ステップ601に続き、ステップ602で車両101の前方勾配を算出する。前方勾配を算出する際は、例えばRANSAC(RANdom Sampling Consensus)を用いるのが好適である。ステップ602に続き、ステップ603でLiDAR108から得られる有効点群の範囲を求める。
【0030】
ここで、ステップ602とステップ603の処理の必要性について述べる。前方に高さが高い障害物があったり、上り坂があったりする場合であっても、LiDAR108は非検知領域が発生しないように設置されるのが好適である。このとき、路面が平坦で前方に障害物が存在しない場合には、LiDAR108の垂直視野角の上部から照射されたレーザーはどこにも当たらず、点群が得られない可能性がある。そこで、このような非検知領域は処理の対象とせず、それ以外の領域で得られた点群を処理対象とする。
【0031】
ステップ603に続き、有効点群数のループに入り、各有効点群についてステップ604を実行する。ステップ604では、有効点群を点群マップへ投影する。ステップ602~604の処理は、点群マップ生成部301により実行される。有効点群数のループを抜けると、ステップ605で非検知セルをグルーピングして非検知領域とする。ステップ605に続き、非検知領域数のループに入り、各非検知領域についてステップ606,607を実行する。ステップ606では、非検知領域の重心座標を計算し、それをグローバル座標系に変換する。続くステップ607では、非検知領域の情報を新規非検知バッファに登録する。非検知領域数のループを抜けると、当該フローを終了する。ステップ605~607の処理は、非検知領域検出部302により実行される。
【0032】
ここで、ステップ602,603の処理に関連して、点群が得られない領域について
図7を用いて説明する。
図7(a)は車両101の前方に上り坂が存在する状況を示す。LiDAR108の設置ピッチ角をθp、LiDAR108の照射面に垂直なラインより上側の視野角をφu、下側の視野角をφl、上り坂の路面勾配をθg、LiDAR108の設置高さをhとする。
【0033】
LiDAR108による最長検知距離lvは斜面長lgを用いてlv=lg×cos(θg)で計算が可能である。斜面長lgは、正弦定理を用いて計算が可能である。LiDAR108の視野角上限のレーザーが届く点が斜面上に存在する場合は、当該レーザーと斜面との角度はθg+θp-φuとなる。これが正の値をとるとき、前方に上り坂が存在してもすべてのレーザーから点群が得られることになる。すなわち、水平面から見たLiDAR108の上限照射角度(φu-θp)が路面勾配(θg)より小さいときにはすべてのレーザーから点群が得られる。
【0034】
一方、
図7(b)は照射面上部のレーザーから点群が得られない場合、すなわち、φu-θp≧θgの場合である。このとき、前方に障害物が無ければ、少なくともLiDAR108の視野角がφu-θp-θgより大きいレーザーからは点群が得られない。ただし、実際の運用としては、最長検知距離lmaxを決めておき、それより短距離となる点群を処理対象とするのが好適である。
【0035】
図8は、非検知領域の要因を判断する処理(
図5のステップ503)の詳細を示すフローチャートである。まず、ステップ801で非検知領域を追跡する。具体的には、時系列ごとの非検知領域の位置をカルマンフィルタ等を用いて追跡する。ステップ801に続き、ステップ802で非検知領域の追跡結果に基づいて非検知領域の要因を判定する。
【0036】
図9は、非検知領域を追跡する処理(
図8のステップ801)の詳細を示すフローチャートである。まず、ステップ901で、その時刻に検出された非検知領域の重心位置と、後述する登録バッファ1300(
図13に示す)に格納されている、過去に検出された非検知領域重心位置の事前推定値(次時刻重心座標1314)との全組合せについてマハラノビス距離を求める。ステップ901に続き、ステップ902でこれらを対応付ける。ステップ902では、各組合せのコスト行列を作り、最適な組合せを求めるためにハンガリー法を用いることが好適である。なお、ステップ901,902においては、ユークリッド距離を用いて対応付けを行ってもよいが、車両101が真横方向に動けないことを考慮すると、進行方向の距離を重視できるマハラノビス距離が好適である。
【0037】
ステップ902に続き、登録バッファ1300に登録されている非検知領域のループに入り、各登録非検知領域についてステップ903以降の処理を実行する。ステップ903では、ステップ902で対応付けができた登録非検知領域があるか否かを判定する。ステップ903の判定結果がYesの場合は、ステップ904で移動距離が閾値より小さいか否かを判定する。移動距離は、当該登録非検知領域の前時刻における位置と、対応が付いた検出非検知領域の位置との差分とすればよい。ステップ904の判定結果がNoの場合は、ステップ905で登録バッファ1300の静止フラグ1305を1にする。ステップ904の判定結果がYesの場合は、ステップ906で静止フラグ1305を0にする。ステップ903の判定結果がNoの場合は、当該登録非検知領域はLiDAR108の視野外に移動した、または消滅したと判断できるため、ステップ907で当該登録非検知領域を登録バッファ1300から削除する。
【0038】
ステップ905~907に続き、検出非検知領域数のループに入り、検出された各非検知領域についてステップ908以降の処理を実行する。ステップ908では、検出非検知領域と登録非検知領域との対応がついたか否かを判定する。ステップ908の判定結果がYesの場合は、検出非検知領域が既に登録バッファ1300に登録されているため、何もしない。ステップ908の判定結果がNoの場合は、初出の非検知領域と見なせるため、ステップ909で検出非検知領域を登録バッファ1300に登録する。
【0039】
検出非検知領域数のループを抜けると、再び登録非検知領域数のループに入る。登録非検知領域数のループでは、各登録非検知領域についてステップ910~912を実行する。このループでは、カルマンフィルタを用いて非検知領域の追跡を行う。ステップ910では、カルマンフィルタを用いて、当該非検知領域の重心位置の事後予測と事前予測を実行する。続くステップ911では、登録バッファ1300の事後予測結果(現在重心座標1307)、事前予測結果(次時刻重心座標1314)を更新する。続くステップ912では、登録バッファ1300の検知回数1303をインクリメントする。登録非検知領域数のループを抜けると、当該フローを終了する。
【0040】
図10は、非検知領域の要因1306を判定する処理(
図8のステップ802)の詳細を示すフローチャートである。まず、登録バッファ1300の非検知領域数(登録非検知領域数)のループに入り、各非検知領域についてステップ1001以降の処理を実行する。
【0041】
ステップ1001では、非検知領域の検知回数1303が閾値以上か否かを比較する。ステップ1001の判定結果がNoの場合は、ステップ1004で非検知領域の要因1306を砂埃とする。ステップ1001の判定結果がYesの場合は、ステップ1002で静止フラグ1305が1か否かを判定する。ステップ1002の判定結果がYesの場合は、ステップ1007で非検知領域の要因1306を汚れとする。ステップ1002の判定結果がNoの場合は、ステップ1003で非検知領域の近傍に高い物体があるか否かを判定する。ステップ1002の判定結果がYesの場合は、ステップ1005で非検知領域の要因1306をオクルージョンとする。ステップ1002の判定結果がNoの場合は、ステップ1006で非検知領域の要因1306を水溜とする。
【0042】
登録非検知領域数のループを抜けると、ステップ1008で登録バッファ1300の内容を動作決定部305に送る。ステップ1008に続き、ステップ1009で登録バッファ1300の内容を管制センタ306に送り、当該フローを終了する。
【0043】
ここで説明してきた非検知領域要因判断部304の処理について、
図11を用いてその概念を説明する。
図11(a)は、非検知領域1101が水溜の場合であり、車両101が矢印の方向に走行している場面である。水溜の場合には路面上における非検知領域1101の位置は変化せず、LiDAR108との相対位置関係が変化する。すなわち、車両101の位置変化に応じて、自車と非検知領域の相対位置関係が変化する。
【0044】
図11(b)は、非検知領域1102の要因が照射面の汚れの場合であり、車両101が矢印の方向に走行している場面である。汚れの場合、車両101が移動しても、車両101と非検知領域1102の相対位置関係は変化しない。
【0045】
図11(c)は、非検知領域1104の要因が障害物1103のオクルージョンの場合であり、車両101が矢印の方向に走行している場面である。オクルージョンの場合、非検知領域1104の路面上における位置変化は小さい。このとき(a)の水溜と区別が難しいが、オクルージョンの場合、非検知領域1104の手前に障害物1103が存在するか否かで区別することが可能である。非検知領域要因判断部304は、上記の性質を用いることで、非検知領域の要因を判断する。
【0046】
図12は、非検知セルをグルーピングして非検知領域とする処理(
図6のステップ605)の具体例を示す。状態(a)は点群マップの初期状態を表し、数字の「0」が入っているセルは非検知セルとする。まず、状態(a)で点群マップが走査され、状態(b)でセル1201が非検知セルとして見つかる。これがグルーピングの起点となり、セル1201が属する非検知領域のID1302を1とする。
【0047】
次に、セル1201を中心に8近傍を探索し、非検知セルが見つかったら同じ非検知領域に含める。状態(c)ではセル1202が非検知セルとして見つかり、ID1302=1の構成セルとして追加される。
【0048】
以下、再帰的に8近傍探索をしていき、状態(d)でセル1202を中心に8近傍を探索する。すると、状態(e)でセル1203が非検知セルとして見つかり、ID1302=1の構成セルとして追加される。更にセル1203を中心に8近傍を探索し、状態(f)でセル1204が非検知セルとして見つかり、ID1302=1の構成セルとして追加される。更にセル1204を中心に8近傍を探索する。ここでは既にグルーピングされたセル以外に非検知セルが見つからないため、再びセル1203を中心に8近傍を探索する。ここでも既にグルーピングされたセル以外に非検知セルが見つからないため、再びセル1202を中心に8近傍を探索する。すると、状態(g)でセル1205が非検知セルとして見つかり、ID1302=1の要素として追加される。更にセル1201を中心に8近傍を探索する。ここでも既にグルーピングされたセル以外に非検知セルが見つからないため、セル1201を中心に8近傍を探索する。ここでも既にグルーピングされたセル以外に非検知セルが見つからないため、セル1205を中心に8近傍を探索する。ここでも既にグルーピングされたセル以外に非検知セルが見つからない。その結果、セル1201を基点とした探索で見つかった全て非検知セルのグルーピングが完了し、ID1302=1の非検知領域が確定する。
【0049】
次に、グループ数をインクリメントして非検知セルの探索を継続する。すると、状態(h)でセル1206が非検知セルとして見つかり、グループID1302=2の要素となる。以下、これまでに説明した処理を繰り返すことで、非検知セルのグルーピングが行われる。
【0050】
図13は、記憶装置211に格納される登録バッファ1300の内容を示す図である。登録バッファ1300には、非検知領域数1301と、非検知領域数1301で示される個数の非検知領域情報1326とで構成される。
【0051】
非検知領域情報1326は、ID1302、検知回数1303、検知時刻1304、静止フラグ1305、要因1306、現在重心座標1307、次時刻重心座標1314、構成セル情報1321から構成される。
【0052】
ID1302は、当該非検知領域のIDであり、
図12の処理にしたがって付与される。検知回数1303は、当該非検知領域が検知された回数を示す。検知時刻1304は、当該非検知領域が最初に検知された時刻である。静止フラグ1305は、LiDAR108の視野内で非検知領域が静止していることを示すフラグであり、非検知領域要因判断部304にて付与され、
図9のステップ905またはステップ906にて0または1が設定される。
【0053】
現在重心座標1307は、現時点で当該非検知領域が存在する座標であり、セル座標1308、グローバル座標1311から構成される。セル座標1308は点群マップにおけるセル座標であり、グローバル座標1311はグローバル座標系における座標である。また、それぞれx座標1309とy座標1310、x座標1312とy座標1313から構成される。
【0054】
次時刻重心座標1314は、次の時刻に当該非検知領域が存在すると予測される位置の座標であり、セル座標1315、グローバル座標1318から構成される。セル座標1315は点群マップにおけるセル座標であり、グローバル座標1318はグローバル座標系における座標である。また、それぞれx座標1316とy座標1317、x座標1319とy座標1320から構成される。
【0055】
構成セル情報1321は、当該非検知領域を構成するセルの情報であり、構成セル数1322とセル座標1323から構成される。セル座標1323は、構成セル数1322で表される個数だけ格納されている。セル座標1323は、x座標1324とy座標1325から構成される。
【0056】
図14は、非検知領域の要因に応じた車両101の動作を決定する処理(
図5のステップ504)の詳細を示すフローチャートである。まず、登録バッファに格納されている非検知領域数1301のループに入り、各非検知領域についてステップ1401以降の処理を実行する。
【0057】
ステップ1401では、登録バッファ1300から非検知領域情報1326を得る。続くステップ1402で、要因1306を判定する。要因1306が汚れの場合は、ステップ1403で車両101の動作を決定する。要因1306が水溜の場合は、ステップ1404で車両101の動作を決定する。要因1306が砂埃の場合は、ステップ1405で車両101の動作を決定する。非検知領域数のループを抜けると、当該フローを終了する。
【0058】
図15は、非検知領域の要因がLiDAR108の照射面の汚れである場合の車両101の動作を決定する処理(
図14のステップ1403)の詳細を示すフローチャートである。まず、ステップ1401で、汚れ位置が経路範囲と重なるか否かを判定する。これは、非検知領域1102が経路範囲内に存在するように見えるか否かを判定することと同等である。ステップ1501の判定結果がNoの場合は、ステップ1502でそのまま走行を継続し、当該フローを終了する。
【0059】
ステップ1501の判定結果がYesの場合は、ステップ1503で、車両101が進路変更することで汚れ位置が経路範囲外になるか否かを判定する。ステップ1503の判定結果がNoの場合は、ステップ1504で警報を管制センタ306に上げ、続くステップ1505で車両101を停車させ、当該フローを終了する。ステップ1503の判定結果がNoの場合は、ステップ1506で進路変更を変更し、ステップ1502で走行を継続し、当該フローを終了する。
【0060】
進路の変更方法について
図16を用いて更に説明する。
図16(a)は非検知領域1102が経路範囲内に存在する場面を示す。ここで、経路範囲の幅をw、非検知領域1102の幅をwd、車両101の幅をwv、非検知領域1102の右端と経路範囲の右端との距離をwr、非検知領域1102の左端と経路範囲の左端との距離をwlとする。また、車両101の右端と非検知領域1102の左端との距離をwdvとする。
【0061】
このとき、wlとwrを比較するとwrの方が小さいため、非検知領域1102を経路範囲の右側にすることを考える。非検知領域1102が経路範囲外にすることが可能となる条件は、wdvが0より大きいことであり、車両101がwd+wrだけ右に寄れば非検知領域1102が経路範囲外となる。この様子を示したのが
図16(b)である。
【0062】
図17は、非検知領域の要因が水溜である場合の車両101の動作を決定する処理(
図14のステップ1404)の詳細を示すフローチャートであり、
図18に示す場面を想定している。
図18において、非検知領域1102の左端と経路範囲左端との距離をwl、非検知領域1102の右端と経路範囲右端との距離をwr、車両101の幅をwvとする。まず、ステップ1701で車両幅wvが水溜幅wdより大きいか否かを判定する。ステップ1701の判定結果がYesの場合は、車両101が水溜を跨ぐことが可能であるため、ステップ1702で非検知領域1102を跨ぐという動作を決定し、当該フローを終了する。
【0063】
ステップ1701の判定結果がNoの場合は、ステップ1703で距離wlが車両幅wvより大きいか否か、または、距離wrが車両幅wvより大きいか否かを判定する。この判定は、水溜の迂回が可能なスペースが経路範囲内に存在するか否かを判断するものであり、距離wlが車両幅wvより大きい、または、距離wrが車両幅wvより大きい場合は、経路範囲内で水溜の迂回が可能である。
【0064】
ステップ1703の判定結果がYesの場合は、ステップ1704で非検知領域1102を迂回するという動作を決定し、当該フローを終了する。ステップ1703の判定結果がNoの場合は、ステップ1705で車両101を停車するという動作を決定し、当該フローを終了する。
【0065】
(まとめ)
本実施形態では、車両101の周囲環境の3次元点群を取得する外界検知センサ108と、車両101に取り付けられた位置計測センサ202と、外界検知センサ108および位置計測センサ202の信号が入力されるコントローラ203とを備え、コントローラ203は、外界検知センサ108が取得した3次元点群を点群マップに対応づける点群マップ生成部301と、車両位置計測センサ202の計測結果に基づいて外界検知センサ108の位置変化を算出するセンサ位置変化算出部303と、外界検知センサ108が取得すべき3次元点群を取得できなかった場合に、前記点群マップの領域を非検知領域として抽出する非検知領域検出部302とを有する鉱山車両自律走行システムにおいて、コントローラ203は、前記点群マップにおける前記非検知領域の位置が車両101の位置変化に応じて変化するか否かに基づいて前記非検知領域の要因を判断する非検知領域要因判断部304と、前記非検知領域の要因に応じて車両101の動作を決定する動作決定部305とを有する。
【0066】
以上のように構成した本実施形態によれば、外界検知センサ108によって検知されるべき領域に非検知領域が発生した場合に、当該非検知領域の要因に応じた適切な動作を鉱山車両101に取らせることにより、鉱山車両101の作業効率が低下するのを抑制することが可能となる。
【0067】
また、本実施形態における動作決定部305は、非検知領域1102の要因が水溜であると非検知領域要因判断部304によって判断された場合に、車両101の幅wvと非検知領域1102の要因と判断された前記水溜の幅wdとの大小関係に応じて、前記水溜を回避するように進路を変更するか、前記水溜を跨いで走行するか、停車するかを決定する。これにより、水溜によって外界検知センサ108の非検知領域が発生した場合に、鉱山車両101の作業効率が低下するのを抑制することが可能となる。
【0068】
また、本実施形態における外界検知センサ108は、LiDAR108(レーザー測距センサ)で構成され、動作決定部305は、非検知領域1102の要因がLiDAR108の照射面の汚れであると非検知領域要因判断部304によって判断された場合に、車両101を管理する管制センタ306に警報を送信するか、LiDAR108の検知範囲において非検知領域1102と経路範囲とが重ならないように進路を変更するか、停車するかを決定する。これにより、LiDAR108の照射面の汚れによって非検知領域が発生した場合に、鉱山車両101の作業効率が低下するのを抑制することが可能となる。
【0069】
また、本実施形態における外界検知センサ108は、LiDAR108(レーザー測距センサ)で構成され、点群マップ生成部301は、車両101の前方の路面勾配に応じて最長検知距離lmaxを算出し、最長検知距離lmax以下の対象範囲で計測された3次元点群点群データのみを処理する。これにより、LiDAR108によって検知されるべき領域に非検知領域が発生した場合に、当該非検知領域の要因に応じた適切な動作を鉱山車両101に取らせることにより、鉱山車両101の作業効率が低下するのを抑制することが可能となる。
【0070】
以上、本発明の実施形態について詳述したが、本発明は、上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は、本発明を分かり易く説明するために詳細に説明したものであり、本発明は必ずしも説明した全ての構成を備えるものに限定されるものではない。
【0071】
本実施形態では、LiDAR108で得られる点群の3次元座標を用いて点群マップを作成する例を説明したが、点群マップは3次元座標を用いなくてもよい。非検知領域が発生しているということは、点群データが得られない照射方向が存在するはずである。したがって、照射面が汚れているか否かを判断するだけならば、LiDAR108の照射角度を用いて点群マップを作成することも可能である。
図19は、LiDAR108の垂直照射角度(VFoV)と水平照射角度(HFoV)を用いて作成される点群マップ1901の一例である。照射面に汚れがあると、点群マップ1901には非検知領域1902が出現する。非検知領域1902は、
図12に示したグルーピング方法で検知し、登録バッファ1300に登録すればよい。
【0072】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0073】
101…鉱山車両、102…車両本体、103…荷台、104…運転席、105…従動輪、106…駆動輪、108…LiDAR(外界検知センサ)、201…走行制御システム、202…車両位置計測センサ、203…コントローラ、204…車両制御ユニット、205…CANインタフェース、206…CANバス、207…イーサネット回線、208…シリアル回線、209…車輪速センサ、210…メモリ、211…記憶装置、301…点群マップ生成部、302…非検知領域検出部、303…センサ位置変化算出部、304…非検知領域要因判断部、305…動作決定部、306…管制センタ、1101,1102…非検知領域、1103…障害物、1104…非検知領域、1201~1206…セル、1300…登録バッファ、1301…非検知領域数、1303…検知回数、1304…検知時刻、1305…静止フラグ、1306…要因、1307…現在重心座標、1308…セル座標、1309…x座標、1310…y座標、1311…グローバル座標、1312…x座標、1313…y座標、1314…次時刻重心座標、1315…セル座標、1316…x座標、1317…y座標、1318…グローバル座標、1319…x座標、1320…y座標、1321…構成セル情報、1322…構成セル数、1323…セル座標、1324…x座標、1325…y座標、1326…非検知領域情報、1901…点群マップ、1902…非検知領域。