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

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

▶ ヤマハ発動機株式会社の特許一覧

特開2024-52107走行制御システム、走行制御方法およびコンピュータプログラム
<>
  • 特開-走行制御システム、走行制御方法およびコンピュータプログラム 図1
  • 特開-走行制御システム、走行制御方法およびコンピュータプログラム 図2
  • 特開-走行制御システム、走行制御方法およびコンピュータプログラム 図3
  • 特開-走行制御システム、走行制御方法およびコンピュータプログラム 図4
  • 特開-走行制御システム、走行制御方法およびコンピュータプログラム 図5
  • 特開-走行制御システム、走行制御方法およびコンピュータプログラム 図6
  • 特開-走行制御システム、走行制御方法およびコンピュータプログラム 図7
  • 特開-走行制御システム、走行制御方法およびコンピュータプログラム 図8
  • 特開-走行制御システム、走行制御方法およびコンピュータプログラム 図9
  • 特開-走行制御システム、走行制御方法およびコンピュータプログラム 図10
  • 特開-走行制御システム、走行制御方法およびコンピュータプログラム 図11
  • 特開-走行制御システム、走行制御方法およびコンピュータプログラム 図12
  • 特開-走行制御システム、走行制御方法およびコンピュータプログラム 図13
  • 特開-走行制御システム、走行制御方法およびコンピュータプログラム 図14
  • 特開-走行制御システム、走行制御方法およびコンピュータプログラム 図15
  • 特開-走行制御システム、走行制御方法およびコンピュータプログラム 図16
  • 特開-走行制御システム、走行制御方法およびコンピュータプログラム 図17
  • 特開-走行制御システム、走行制御方法およびコンピュータプログラム 図18
  • 特開-走行制御システム、走行制御方法およびコンピュータプログラム 図19
  • 特開-走行制御システム、走行制御方法およびコンピュータプログラム 図20
  • 特開-走行制御システム、走行制御方法およびコンピュータプログラム 図21
  • 特開-走行制御システム、走行制御方法およびコンピュータプログラム 図22
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024052107
(43)【公開日】2024-04-11
(54)【発明の名称】走行制御システム、走行制御方法およびコンピュータプログラム
(51)【国際特許分類】
   G05D 1/43 20240101AFI20240404BHJP
   A01B 69/00 20060101ALI20240404BHJP
【FI】
G05D1/02 J
G05D1/02 S
A01B69/00 303D
A01B69/00 303J
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2022158586
(22)【出願日】2022-09-30
(71)【出願人】
【識別番号】000010076
【氏名又は名称】ヤマハ発動機株式会社
(74)【代理人】
【識別番号】100101683
【弁理士】
【氏名又は名称】奥田 誠司
(74)【代理人】
【識別番号】100139930
【弁理士】
【氏名又は名称】山下 亮司
(72)【発明者】
【氏名】増田 正樹
【テーマコード(参考)】
2B043
5H301
【Fターム(参考)】
2B043AA04
2B043AB19
2B043BA02
2B043BA09
2B043BB01
2B043BB20
2B043DA17
2B043EA08
2B043EA37
2B043EB16
2B043EB18
2B043EC12
2B043EC14
5H301AA01
5H301BB01
5H301BB02
5H301CC03
5H301CC06
5H301CC10
5H301GG08
5H301GG14
5H301GG16
5H301LL02
5H301LL08
5H301LL11
(57)【要約】
【課題】LiDARセンサなどの距離センサを用いる車両の利便性を高める。
【解決手段】ある実施形態に係る車両の走行を制御する走行制御システムは、車両に設けられ、車両の周辺の環境をセンシングしてセンサデータを出力するセンサと、センサデータに基づいて車両の周辺に位置する物体を検出し、物体の検出結果に応じて車両の走行を制御する制御装置とを備える。センサデータは3次元点群データを含む。制御装置は、3次元点群データから複数の点のデータを取得し、車両の高さ方向から見た平面視における所定角度範囲毎に、所定角度範囲内に属する点の個数をカウントし、カウントした点の個数に応じて、車両を走行停止状態にする制御を行う。
【選択図】図18
【特許請求の範囲】
【請求項1】
車両の走行を制御する走行制御システムであって、
車両に設けられ、前記車両の周辺の環境をセンシングして、センサデータを出力するセンサと、
前記センサデータに基づいて前記車両の周辺に位置する物体を検出し、前記物体の検出結果に応じて前記車両の走行を制御する制御装置と、
を備え、
前記センサデータは3次元点群データを含み、
前記制御装置は、
前記3次元点群データから複数の点のデータを取得し、
前記車両の高さ方向から見た平面視における所定角度範囲毎に、前記所定角度範囲内に属する前記点の個数をカウントし、
カウントした前記点の個数に応じて、前記車両を走行停止状態にする制御を行う、走行制御システム。
【請求項2】
前記制御装置は、
カウントした前記点の個数が第1所定個数未満となる前記所定角度範囲のエリアを検出し、
検出した前記エリアが第2所定個数以上連続して存在する前記エリアのグループを検出し、
検出した一つ以上の前記グループに含まれる前記エリアの総数が第3所定個数以上である場合、前記車両を走行停止状態にする制御を行う、請求項1に記載の走行制御システム。
【請求項3】
前記制御装置は、検出した一つの前記グループに含まれる前記エリアの総数が前記第3所定個数以上である場合、前記車両を走行停止状態にする制御を行う、請求項2に記載の走行制御システム。
【請求項4】
前記制御装置は、検出した二つ以上の前記グループに含まれる前記エリアの総数が前記第3所定個数以上である場合、前記車両を走行停止状態にする制御を行う、請求項2に記載の走行制御システム。
【請求項5】
前記制御装置は、前記グループが検出されない場合、カウントした前記点の個数に応じた前記車両を走行停止状態にする制御を行わない、請求項2または3に記載の走行制御システム。
【請求項6】
前記制御装置は、検出した全ての前記グループに含まれる前記エリアの総数が前記第3所定個数未満である場合、カウントした前記点の個数に応じた前記車両を走行停止状態にする制御を行わない、請求項2または3に記載の走行制御システム。
【請求項7】
前記制御装置は、
前記複数の点のデータとして、前記3次元点群データが示す複数の計測点のデータを取得し、
前記平面視における前記所定角度範囲毎に、前記所定角度範囲内に属する前記計測点の個数をカウントし、
カウントした前記計測点の個数に応じて、前記車両を走行停止状態にする制御を行う、請求項1または2に記載の走行制御システム。
【請求項8】
前記制御装置は、
前記3次元点群データが示す複数の計測点が分布する空間を複数のボクセルで区切り、
内部に一つ以上の計測点が属する前記ボクセル毎に代表点を決定し、
前記複数の点のデータとして、複数の前記代表点のデータを取得し、
前記平面視における前記所定角度範囲毎に、前記所定角度範囲内に属する前記代表点の個数をカウントし、
カウントした前記代表点の個数に応じて、前記車両を走行停止状態にする制御を行う、請求項1または2に記載の走行制御システム。
【請求項9】
前記センサは、LiDARセンサである、請求項1または2に記載の走行制御システム。
【請求項10】
請求項1または2に記載の走行制御システムを備える車両。
【請求項11】
前記車両は移動型の農業機械である、請求項10に記載の車両。
【請求項12】
前記車両を走行させる走行装置を備え、
前記制御装置は、前記走行装置の動作を制御し、前記車両を自動運転させる、請求項10に記載の車両。
【請求項13】
車両の走行を制御する走行制御方法であって、
車両の周辺の環境をセンシングするセンサが出力したセンサデータは3次元点群データを含んでおり、
前記3次元点群データから複数の点のデータを取得すること、
前記車両の高さ方向から見た平面視における所定角度範囲毎に、前記所定角度範囲内に属する前記点の個数をカウントすること、
カウントした前記点の個数に応じて、前記車両を走行停止状態にする制御を行うこと、
を実行する走行制御方法。
【請求項14】
車両の走行を制御する処理をコンピュータに実行させるコンピュータプログラムであって、
車両の周辺の環境をセンシングするセンサが出力したセンサデータは3次元点群データを含んでおり、
前記コンピュータプログラムは、
前記3次元点群データから複数の点のデータを取得すること、
前記車両の高さ方向から見た平面視における所定角度範囲毎に、前記所定角度範囲内に属する前記点の個数をカウントすること、
カウントした前記点の個数に応じて、前記車両を走行停止状態にする制御を行うこと、
を前記コンピュータに実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、走行制御システム、走行制御方法およびコンピュータプログラムに関する。
【背景技術】
【0002】
近年、圃場で使用される作業車両の自動化および無人化に向けた研究開発が進められている。GNSS(Global Navigation Satellite System)などの測位システムを利用して自動運転により走行する作業車両が実用化されている。LiDAR(Light Detection and Ranging)センサなどの距離センサを用いて周囲の物体を検出しながら走行する作業車両の開発も進められている。例えば特許文献1は、LiDARセンサを利用して圃場における作物列の間を自動走行する作業車両を開示している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2019-154379号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
LiDARセンサなどの距離センサを用いる車両の利便性を高めることが求められている。
【課題を解決するための手段】
【0005】
本明細書は、以下の項目に記載の走行制御システム、走行制御方法およびコンピュータプログラムを開示している。
【0006】
[項目1]
車両の走行を制御する走行制御システムであって、
車両に設けられ、前記車両の周辺の環境をセンシングして、センサデータを出力するセンサと、
前記センサデータに基づいて前記車両の周辺に位置する物体を検出し、前記物体の検出結果に応じて前記車両の走行を制御する制御装置と、
を備え、
前記センサデータは3次元点群データを含み、
前記制御装置は、
前記3次元点群データから複数の点のデータを取得し、
前記車両の高さ方向から見た平面視における所定角度範囲毎に、前記所定角度範囲内に属する前記点の個数をカウントし、
カウントした前記点の個数に応じて、前記車両を走行停止状態にする制御を行う、走行制御システム。
【0007】
センサの近傍には、物体の検出に十分な個数の点のデータが得られない不感帯が存在する場合がある。そのような不感帯に物体が存在したときに、その物体が存在する範囲の点のデータが得られない、もしくは僅かしか得られず、その物体を検出することが困難な場合がある。
【0008】
本発明のある実施形態によれば、所定角度範囲毎に点の個数をカウントし、カウントした点の個数に応じて車両を走行停止状態にする制御を行う。例えば、点の個数が少ない場合は走行を許可せず、車両の走行を停止させる。車両が停止中の場合は停止状態を維持する。
【0009】
これにより、車両の近傍に物体が存在しているが、その物体がセンサの不感帯に存在しているために、その物体の検出に十分な個数の点のデータが得られない場合でも、車両が走行し続けることを抑制することができる。
【0010】
[項目2]
前記制御装置は、
カウントした前記点の個数が第1所定個数未満となる前記所定角度範囲のエリアを検出し、
検出した前記エリアが第2所定個数以上連続して存在する前記エリアのグループを検出し、
検出した一つ以上の前記グループに含まれる前記エリアの総数が第3所定個数以上である場合、前記車両を走行停止状態にする制御を行う、項目1に記載の走行制御システム。
【0011】
点の個数が少ない所定角度範囲のエリアが連続する個数に着目することにより、ノイズ等に起因してそのようなエリアがわずかな個数だけ連続して存在する場合に、車両を走行停止状態にしてしまうことを抑制できる。
【0012】
点の個数が少ない所定角度範囲のエリアの総数が第3所定個数以上の場合は車両を走行停止状態にする制御を行うことで、不感帯に存在する物体の検出に十分な個数の点のデータが得られない場合でも、車両が走行し続けることを抑制することができる。
【0013】
[項目3]
前記制御装置は、検出した一つの前記グループに含まれる前記エリアの総数が前記第3所定個数以上である場合、前記車両を走行停止状態にする制御を行う、項目2に記載の走行制御システム。
【0014】
点の個数が少ない所定角度範囲のエリアが第3所定個数以上連続して存在する場合は車両を走行停止状態にする制御を行うことで、不感帯に存在する物体の検出に十分な個数の点のデータが得られない場合でも、車両が走行し続けることを抑制することができる。
【0015】
[項目4]
前記制御装置は、検出した二つ以上の前記グループに含まれる前記エリアの総数が前記第3所定個数以上である場合、前記車両を走行停止状態にする制御を行う、項目2に記載の走行制御システム。
【0016】
点の個数が少ない所定角度範囲のエリアの総数に着目することにより、物体の形状および姿勢等に起因して、そのようなエリアが二つ以上のグループに分かれて存在する場合でも、車両が走行し続けることを抑制することができる。
【0017】
[項目5]
前記制御装置は、前記グループが検出されない場合、カウントした前記点の個数に応じた前記車両を走行停止状態にする制御を行わない、項目2から4のいずれかに記載の走行制御システム。
【0018】
これにより、ノイズ等に起因して、点の個数が少ないエリアが単独で存在または僅かな個数だけ連続して存在した場合に、車両を走行停止状態にしてしまうことを抑制できる。
【0019】
[項目6]
前記制御装置は、検出した全ての前記グループに含まれる前記エリアの総数が前記第3所定個数未満である場合、カウントした前記点の個数に応じた前記車両を走行停止状態にする制御を行わない、項目2から5のいずれかに記載の走行制御システム。
【0020】
これにより、ノイズ等に起因して点の個数が少ないエリアが少数だけ存在した場合に、車両を走行停止状態にしてしまうことを抑制できる。
【0021】
[項目7]
前記制御装置は、
前記複数の点のデータとして、前記3次元点群データが示す複数の計測点のデータを取得し、
前記平面視における前記所定角度範囲毎に、前記所定角度範囲内に属する前記計測点の個数をカウントし、
カウントした前記計測点の個数に応じて、前記車両を走行停止状態にする制御を行う、項目1から6のいずれかに記載の走行制御システム。
【0022】
車両の近傍に物体が存在しているが、その物体がセンサの不感帯に存在しているために、その物体の検出に十分な個数の点のデータが得られない場合でも、車両が走行し続けることを抑制することができる。
【0023】
[項目8]
前記制御装置は、
前記3次元点群データが示す複数の計測点が分布する空間を複数のボクセルで区切り、
内部に一つ以上の計測点が属する前記ボクセル毎に代表点を決定し、
前記複数の点のデータとして、複数の前記代表点のデータを取得し、
前記平面視における前記所定角度範囲毎に、前記所定角度範囲内に属する前記代表点の個数をカウントし、
カウントした前記代表点の個数に応じて、前記車両を走行停止状態にする制御を行う、項目1から6のいずれかに記載の走行制御システム。
【0024】
車両の近傍に物体が存在しているが、その物体がセンサの不感帯に存在しているために、その物体の検出に十分な個数の点のデータが得られない場合でも、車両が走行し続けることを抑制することができる。
【0025】
[項目9]
前記センサは、LiDARセンサである、項目1から8のいずれかに記載の走行制御システム。
【0026】
車両の近傍に物体が存在しているが、その物体がLiDARセンサの不感帯に存在しているために、その物体の検出に十分な個数の点のデータが得られない場合でも、車両が走行し続けることを抑制することができる。
【0027】
[項目10]
項目1から9のいずれかに記載の走行制御システムを備える車両。
【0028】
車両の近傍に物体が存在しているが、その物体がセンサの不感帯に存在しているために、その物体の検出に十分な個数の点のデータが得られない場合でも、車両が走行し続けることを抑制することができる。
【0029】
[項目11]
前記車両は移動型の農業機械である、項目10に記載の車両。
【0030】
圃場内での作業中において、車両の近傍に物体が存在しているが、その物体がセンサの不感帯に存在しているために、その物体の検出に十分な個数の点のデータが得られない場合でも、車両が走行し続けることを抑制することができる。
【0031】
[項目12]
前記車両を走行させる走行装置を備え、
前記制御装置は、前記走行装置の動作を制御し、前記車両を自動運転させる、項目10または11に記載の車両。
【0032】
自動運転を行う車両の近傍に物体が存在しているが、その物体がセンサの不感帯に存在しているために、その物体の検出に十分な個数の点のデータが得られない場合でも、車両が走行し続けることを抑制することができる。
【0033】
[項目13]
前記所定角度範囲は、1度以上2度以下の角度範囲である、項目1から12のいずれかに記載の走行制御システム。
【0034】
比較的狭い角度範囲毎に点の個数をカウントすることで、点の個数が少ない範囲を精度良く特定することができる。
【0035】
[項目14]
前記第1所定個数は、2個以上5個以下である、項目2から6のいずれかに記載の走行制御システム。
【0036】
これにより、点の個数が少ない所定角度範囲のエリアを検出することができる。
【0037】
[項目15]
前記第2所定個数は、2個以上5個以下である、項目2から6、14のいずれかに記載の走行制御システム。
【0038】
これにより、ノイズ等に起因して、点の個数が少ない所定角度範囲のエリアがわずかな個数だけ連続して存在する場合に、車両を走行停止状態にしてしまうことを抑制できる。
【0039】
[項目16]
前記第3所定個数は、6個以上である、項目2から6、14、15のいずれかに記載の走行制御システム。
【0040】
点の個数が少ない所定角度範囲のエリアの総数に応じて車両を走行停止状態にする制御を行うことで、不感帯に存在する物体の検出に十分な個数の点のデータが得られない場合でも、車両が走行し続けることを抑制することができる。
【0041】
[項目17]
車両の走行を制御する走行制御方法であって、
車両の周辺の環境をセンシングするセンサが出力したセンサデータは3次元点群データを含んでおり、
前記3次元点群データから複数の点のデータを取得すること、
前記車両の高さ方向から見た平面視における所定角度範囲毎に、前記所定角度範囲内に属する前記点の個数をカウントすること、
カウントした前記点の個数に応じて、前記車両を走行停止状態にする制御を行うこと、
を実行する走行制御方法。
【0042】
センサの近傍には、物体の検出に十分な個数の点のデータが得られない不感帯が存在する場合がある。そのような不感帯に物体が存在したときに、その物体が存在する範囲の点のデータが得られない、もしくは僅かしか得られず、その物体を検出することが困難な場合がある。
【0043】
本発明のある実施形態によれば、所定角度範囲毎に点の個数をカウントし、カウントした点の個数に応じて車両を走行停止状態にする制御を行う。例えば、点の個数が少ない場合は走行を許可せず、車両の走行を停止させる。車両が停止中の場合は停止状態を維持する。
【0044】
これにより、車両の近傍に物体が存在しているが、その物体がセンサの不感帯に存在しているために、その物体の検出に十分な個数の点のデータが得られない場合でも、車両が走行し続けることを抑制することができる。
【0045】
[項目18]
車両の走行を制御する処理をコンピュータに実行させるコンピュータプログラムであって、
車両の周辺の環境をセンシングするセンサが出力したセンサデータは3次元点群データを含んでおり、
前記コンピュータプログラムは、
前記3次元点群データから複数の点のデータを取得すること、
前記車両の高さ方向から見た平面視における所定角度範囲毎に、前記所定角度範囲内に属する前記点の個数をカウントすること、
カウントした前記点の個数に応じて、前記車両を走行停止状態にする制御を行うこと、
を前記コンピュータに実行させる、コンピュータプログラム。
【0046】
センサの近傍には、物体の検出に十分な個数の点のデータが得られない不感帯が存在する場合がある。そのような不感帯に物体が存在したときに、その物体が存在する範囲の点のデータが得られない、もしくは僅かしか得られず、その物体を検出することが困難な場合がある。
【0047】
本発明のある実施形態によれば、所定角度範囲毎に点の個数をカウントし、カウントした点の個数に応じて車両を走行停止状態にする制御を行う。例えば、点の個数が少ない場合は走行を許可せず、車両の走行を停止させる。車両が停止中の場合は停止状態を維持する。
【0048】
これにより、車両の近傍に物体が存在しているが、その物体がセンサの不感帯に存在しているために、その物体の検出に十分な個数の点のデータが得られない場合でも、車両が走行し続けることを抑制することができる。
【発明の効果】
【0049】
車両の周辺の環境をセンシングするセンサの近傍には、物体の検出に十分な個数の点のデータが得られない不感帯が存在する場合がある。そのような不感帯に物体が存在したときに、その物体が存在する範囲の点のデータが得られない、もしくは僅かしか得られず、その物体を検出することが困難な場合がある。
【0050】
本発明のある実施形態によれば、所定角度範囲毎に点の個数をカウントし、カウントした点の個数に応じて車両を走行停止状態にする制御を行う。例えば、点の個数が少ない場合は走行を許可せず、車両の走行を停止させる。車両が停止中の場合は停止状態を維持する。
【0051】
これにより、車両の近傍に物体が存在しているが、その物体がセンサの不感帯に存在しているために、その物体の検出に十分な個数の点のデータが得られない場合でも、車両が走行し続けることを抑制することができる。
【図面の簡単な説明】
【0052】
図1】本発明の実施形態に係る車両1を示す左側面図である。
図2】本発明の実施形態に係る車両1の動作を管理する管理システム100を示す図である。
図3】本発明の実施形態に係る車両1の構成例を示すブロック図である。
図4】本発明の実施形態に係る車両1が走行する圃場40の例を示す図である。
図5】本発明の実施形態に係るLiDARセンサ22がセンシングするセンシング範囲120の例を示す図である。
図6】本発明の実施形態に係るLiDARセンサ22がセンシングするセンシング範囲120の例を示す図である。
図7】本発明の実施形態に係る車両1の前方に広がる環境の例を示す図である。
図8】本発明の実施形態に係る3次元点群データが示す複数の計測点の例を示す図である。
図9】本発明の実施形態に係る複数のボクセル52で区切られた3次元空間50の例を示す図である。
図10】本発明の実施形態に係る演算した複数の代表点53の例を示す図である。
図11】本発明の実施形態に係る演算した複数の代表点53それぞれの法線ベクトル54の例を示す図である。
図12】本発明の実施形態に係る比較的平坦な地面に対応する代表点53を除去した後に残った複数の代表点53の例を示す図である。
図13】本発明の実施形態に係るバウンディングボックスの例を示す図である。
図14】本発明の実施形態に係る車両1の高さ方向から見た平面視における不感帯121の例を示す図である。
図15】本発明の実施形態に係る車両1の左右方向に平行な方向から見た側面視における不感帯121の例を示す図である。
図16】本発明の実施形態に係る十分な個数の計測点51のデータが得られない範囲122の例を示す図である。
図17】本発明の実施形態に係る所定角度範囲の例を示す図である。
図18】本発明の実施形態に係るカウントした計測点51の個数に応じて車両1を走行停止状態にする制御の例を示すフローチャートである。
図19】本発明の実施形態に係る検出した一つ以上のグループ135に含まれるエリア130の総数が第3所定個数以上である状態の例を示す図である。
図20】本発明の実施形態に係る十分な個数の計測点51のデータが得られない範囲122の別の例を示す図である。
図21】本発明の実施形態に係る検出した一つ以上のグループ135に含まれるエリア130の総数が第3所定個数以上である状態の別の例を示す図である。
図22】本発明の実施形態に係るカウントした代表点53の個数に応じて車両1を走行停止状態にする制御の例を示すフローチャートである。
【発明を実施するための形態】
【0053】
以下、図面を参照しながら本発明の実施形態を説明する。同様の構成要素には同様の参照符号を付し、重複する場合にはその説明を省略する。なお、以下の実施形態は例示であり、本発明は以下の実施形態に限定されない。
【0054】
(車両およびその走行制御)
図1は、本発明の実施形態に係る車両1を示す左側面図である。図1に示す例では、車両1は、圃場の収穫物を運搬する運搬車である。車両1は、運搬車に限定されず、圃場で使用されるトラクタおよび収穫機等の移動型の農業機械であってもよい。また、車両1は、ゴルフカート等のカートであってもよいし、一般車両であってもよい。以下では、車両1が圃場の収穫物を運搬する運搬車である場合の例を説明する。
【0055】
本実施形態の車両1は、手動運転モードと自動運転モードの両方で動作することができる。自動運転モードにおいて、車両1は無人で走行することができる。
【0056】
図1に示すように、車両1は、車体2、前輪3、後輪4、原動機31、変速装置32を備える。前輪3、後輪4、原動機31、変速装置32は車体2に設けられている。前輪3および後輪4の一方または両方は、タイヤ付き車輪ではなく、無限軌道を装着した複数の車輪(クローラ)、多脚歩行式移動装置であってもよい。
【0057】
車体2の上部には、乗員が着座するシート5が設けられている。シート5の後方には、荷物を載せる荷台6が設けられている。図1に示す例では、荷台6には収穫物を収容するカゴ7が載せられている。車体2の前部には、ヘッドライト8が設けられている。
【0058】
車両1は、車両1の周辺の環境をセンシングするLiDARセンサ21、LiDARセンサ22、カメラ23を備える。図1に示す例では、LiDARセンサ21、LiDARセンサ22、カメラ23は車体2の前部に設けられている。
【0059】
カメラ23は、車両1の周辺の環境を撮影し、画像データを生成する。カメラ23が生成した画像データは、車両1の制御装置11(図3)によって処理される。
【0060】
LiDARセンサ21および22は、3D-LiDARセンサであり得る。LiDARセンサ21および22は、車両1の周辺の環境をセンシングして、センサデータを出力する。LiDARセンサ22は、周辺の環境に存在する物体の各計測点までの距離および方向、または各計測点の3次元の座標値を示すセンサデータを繰り返し出力する。LiDARセンサ21および22から出力されたセンサデータは、制御装置11によって処理される。
【0061】
車体2の上部には、測位装置25が設けられている。測位装置25は、地理座標系における車両1の位置(地理座標)を検出する。
【0062】
原動機31は、例えば内燃機関である。内燃機関に代えて電動モータが使用されてもよい。変速装置32は、変速によって車両1の推進力および移動速度を変化させることができる。変速装置32は、車両1の前進と後進とを切り換えることもできる。原動機31が発生させた回転は、変速装置32を介して前輪3に伝達される。原動機31が発生させた回転は、後輪4に伝達されてもよいし、前輪3および後輪4の両方に伝達されてもよい。
【0063】
車両1に設けられた操舵装置33は、ステアリングホイールと、ステアリングホイールに接続されたステアリングシャフトと、ステアリングホイールによる操舵を補助するパワーステアリング装置とを含む。前輪3は操舵輪であり、その操舵角(切れ角)を変化させることにより、車両1の走行方向を変化させることができる。前輪3の操舵角は、ステアリングホイールを操作することによって変化させることができる。パワーステアリング装置は、前輪3の操舵角を変化させるための補助力を供給する油圧装置または電動モータを含む。自動操舵が行われるときには、制御装置11からの制御により、油圧装置または電動モータの力によって操舵角が自動で調整される。
【0064】
車両1は、有人運転が可能であるが、無人運転のみに対応していてもよい。その場合には、シート5およびステアリングホイール等の、有人運転にのみ必要な構成要素は、車両1に設けられていなくてもよい。無人の車両1は、自律走行、またはユーザによる遠隔操作によって走行することができる。
【0065】
図2は、車両1の動作を管理する管理システム100を示す図である。管理システム100では、車両1、サーバコンピュータ111、端末装置112が、通信ネットワーク110を介して互いに通信することができる。
【0066】
サーバコンピュータ111は、車両1の動作を管理するコンピュータである。サーバコンピュータ111は、例えば、車両1の作業計画を作成し、その作業計画に従って、車両1に圃場内での作業を実行させる。サーバコンピュータ111は、例えば、ユーザが端末装置112または他のデバイスを用いて入力した情報に基づいて圃場内の目標経路を生成する。サーバコンピュータ111は、車両1等がLiDARセンサなどのセンシング装置を用いて収集したデータに基づいて、環境地図の生成および編集を行ってもよい。サーバコンピュータ111は、生成した作業計画、目標経路、および環境地図のデータを車両1に送信し、車両1はそれらのデータに基づいて移動および作業を自動で行ってもよい。
【0067】
端末装置112は、車両1から離れた場所にいるユーザが使用するコンピュータである。端末装置112は、スマートフォンまたはタブレットコンピュータなどのモバイル端末またはラップトップコンピュータである。端末装置112は、デスクトップPC(Personal Computer)などの据え置き型のコンピュータであってもよい。端末装置112は、車両1の作業計画を作成するために必要な情報をユーザが入力するための設定画面をディスプレイに表示する。ユーザが設定画面上で必要な情報を入力し送信の操作を行うと、端末装置112は、入力された情報をサーバコンピュータ111に送信する。サーバコンピュータ111は、その情報に基づいて作業計画を作成する。端末装置112は、さらに、目標経路を設定するために必要な情報をユーザが入力するための設定画面をディスプレイに表示する機能を備えていてもよい。また、端末装置112は、車両1を遠隔監視したり、車両1を遠隔操作したりするために用いられ得る。例えば、端末装置112は、車両1が備えるカメラが撮影した映像をディスプレイに表示させることができる。
【0068】
上記の作業計画、目標経路、環境地図の生成は、端末装置112が行ってもよいし、車両1が備えるプロセッサが行ってもよい。作業計画、目標経路、環境地図の生成は、車両1、サーバコンピュータ111、端末装置112のうちの二つ以上が分担して行ってもよい。
【0069】
図3は、車両1の構成例を示すブロック図である。図3に例示する車両1は、制御装置11、通信装置17、LiDARセンサ21および22、カメラ23、測位装置25、慣性計測装置(IMU)26、駆動装置30、操舵角センサ35、速度センサ36を備える。これらの構成要素は、バスを介して相互に通信可能に接続される。図3には、車両1の自動運転の動作との関連性が相対的に高い構成要素が示されており、それ以外の構成要素の図示は省略されている。車両1の走行を制御する走行制御システム10は、制御装置11、LiDARセンサ21および22、カメラ23、測位装置25、IMU26、操舵角センサ35、速度センサ36を備え得る。
【0070】
制御装置11は、プロセッサ12、RAM(Random Access Memory)13、ROM(Read Only Memory)14、記憶装置15、電子制御ユニット(ECU)16を備える。
【0071】
プロセッサ12は、例えば中央演算処理装置(CPU)を含む半導体集積回路であり得る。プロセッサ12は、マイクロプロセッサまたはマイクロコントローラによって実現され得る。あるいは、プロセッサ12は、CPUを搭載したFPGA(Field Programmable Gate Array)、GPU(Graphics Processing Unit)、ASIC(Application Specific Integrated Circuit)、ASSP(Application Specific Standard Product)、または、これら回路の中から選択される二つ以上の回路の組み合わせによっても実現され得る。プロセッサ12は、ROM14に格納された、一つ以上の処理を実行するための命令群を記述したコンピュータプログラムを逐次実行し、所望の処理を実現する。
【0072】
ROM14は、例えば、書き込み可能なメモリ(例えばPROM)、書き換え可能なメモリ(例えばフラッシュメモリ)、または読み出し専用のメモリである。ROM14は、プロセッサ12の動作を制御するプログラムを記憶する。RAM13は、ROM14に格納された制御プログラムをブート時に一旦展開するための作業領域を提供する。
【0073】
記憶装置15は、フラッシュメモリまたは磁気ディスクなどの一つ以上の記憶媒体を含む。記憶装置15は、LiDARセンサ21および22、カメラ23、測位装置25、および制御装置11等が生成する各種のデータを記憶する。記憶装置15が記憶するデータには、車両1が走行する環境内の地図データ(環境地図)、および自動運転のための目標経路のデータが含まれ得る。環境地図は、車両1が作業を行う圃場の情報を含む。
【0074】
記憶装置15は、プロセッサ12、ECU16に、各種の動作を実行させるコンピュータプログラムも記憶する。そのようなコンピュータプログラムは、記憶媒体(例えば半導体メモリまたは光ディスク等)または電気通信回線(例えばインターネット)を介して車両1に提供され得る。そのようなコンピュータプログラムが、商用ソフトウェアとして販売されてもよい。
【0075】
駆動装置30は、原動機31、変速装置32、操舵装置33、ブレーキ装置等の車両1の走行のための各種の装置を含む。操舵角センサ35は、操舵輪である前輪3の操舵角を計測する。操舵角センサ35の出力信号は、制御装置11による操舵制御に利用される。速度センサ36は、前輪3または後輪4に接続された車軸の回転速度、すなわち単位時間あたりの回転数を計測する。速度センサ36の出力信号は、制御装置11による走行速度制御に利用される。
【0076】
ECU16は、一つ以上のプロセッサを含む処理回路を備える。ECU16は、駆動装置30に含まれる原動機31、変速装置32、操舵装置33、ブレーキ装置等を制御することによって車両1の走行速度および旋回動作を制御する。ECU16は、制御装置11とは別ユニットとして車両1に設けられていてもよい。
【0077】
通信装置17は、サーバコンピュータ111および端末装置112と通信を行う。通信装置17は、ネットワーク110を介したデータの送受信を、サーバコンピュータ111および端末装置112のそれぞれの通信装置との間で実行するためのアンテナおよび通信回路を含み得る。ネットワーク110は、例えば、3G、4Gもしくは5Gなどのセルラー移動体通信網およびインターネットを含み得る。通信装置17は、車両1の近くにいる監視者が使用する端末装置と通信する機能を備えていてもよい。その場合、Wi-Fi(登録商標)、セルラー移動体通信、Bluetooth(登録商標)等の、任意の無線通信規格に準拠した通信が行われ得る。
【0078】
測位装置25は、車両1の地理座標を検出する。測位装置25は、複数のGNSS衛星から送信される衛星信号を受信し、衛星信号に基づいて測位を行う。GNSSは、GPS(Global Positioning System)、QZSS(Quasi-Zenith Satellite System、例えばみちびき)、GLONASS、Galileo、およびBeiDouなどの衛星測位システムの総称である。測位方法は、必要な精度の位置情報が得られる任意の方法であってよい。測位方法は、例えば、干渉測位法または相対測位法が採用されてもよい。
【0079】
慣性計測装置(IMU)26は、加速度センサ、角加速度センサおよび磁気センサを備え、移動量、向きおよび姿勢を示す信号を出力する。IMU26は、モーションセンサとして機能し、車両1の加速度、速度、変位、向きおよび姿勢などの諸量を示す信号を出力する。制御装置11は、測位装置25の出力信号に加えてIMU26から出力された信号に基づいて、車両1の位置および向きをより高い精度で推定することができる。測位装置25とIMU26とが一体化されて、一つのユニットとして車両1に設けられてもよい。
【0080】
プロセッサ12は、測位装置25、IMU26、カメラ23、LiDARセンサ21および22から出力されたデータに基づいて、自動運転を実現するための演算および制御を行う。プロセッサ12は、測位装置25およびIMU26の出力データに基づいて車両1の位置および向きを特定する。
【0081】
本実施形態では、プロセッサ12は、LiDARセンサ21が出力するセンサデータを用いて自己位置推定および環境地図の生成を行い、LiDARセンサ22が出力するセンサデータを用いて、車両1の周辺に存在する障害物などの物体の検出を行う。プロセッサ12は、LiDARセンサ21が出力するセンサデータと、環境地図とのマッチングにより、車両1の自己位置推定を行うことができる。プロセッサ12は、例えばSLAM(Simultaneous Localization and Mapping)などのアルゴリズムを利用して、環境地図を生成または編集してもよい。
【0082】
なお、LiDARセンサ21および22の一方が出力するセンサデータを用いて、自己位置推定、環境地図の生成、および障害物の検出を行ってもよい。その場合は、車両1は、LiDARセンサ21および22の一方のみを備えていてもよい。
【0083】
プロセッサ12は、測位装置25による測位結果に加えて、カメラ23および/またはLiDARセンサ21などのセンシング装置が取得したセンサデータを測位に利用してもよい。カメラ23および/またはLiDARセンサ21が取得したデータを用いて、衛星信号に基づく位置データを補正または補完することで、より高い精度で車両1の位置を特定できる。車両1の周囲の地形および樹木等により衛星信号が得られない場合は、LiDARセンサ21および/またはカメラ23から出力されたセンサデータと、環境地図とのマッチングによって、車両1の位置が推定され得る。
【0084】
プロセッサ12は、記憶装置15に記憶された作業計画に基づいて車両1の移動先を決定し、車両1の移動の開始地点から目的地点までの目標経路を決定してもよい。
【0085】
ECU16は、車両1の位置および目標経路のデータに基づいて、車両1が目標経路に沿って走行するように駆動装置30を制御する。これにより、車両1を目標経路に沿って走行させることができる。
【0086】
図4は、車両1が走行する圃場40の一例を示す図である。この例では、圃場40は、ぶどう園などの果樹園である。圃場40には、複数の樹木42が並んだ樹木列41が複数個存在している。車両1は、樹木列41の間に設定された目標経路46に沿って走行しながら、収穫物の運搬を行う。車両1は、ある樹木列41の間を走行した後、旋回して別の樹木列41の間を走行してもよい。上空が枝および葉で遮られ、GNSSを用いた自動走行が難しい場合は、車両1は、事前に作成された環境地図とセンサデータとのマッチングによって自己位置推定を行いながら走行する。
【0087】
上述したように、本実施形態では、LiDARセンサ22が出力するセンサデータを用いて、車両1の周辺に存在する障害物などの物体の検出を行う。LiDARセンサ22は、車両1の前部に配置されており、主に車両1の前方に広がる周辺環境をセンシングする。
【0088】
図5および図6は、LiDARセンサ22がセンシングするセンシング範囲120の例を示す図である。図5は、車両1が水平な地面に位置している状態における、鉛直方向から見た平面視におけるセンシング範囲120を示している。図6は、車両1の左右方向に平行な方向から見た側面視におけるセンシング範囲120を示している。
【0089】
図5に示すように、センシング範囲120は、車両1の主に前方および/または側方に広がる周辺環境をセンシングできるように、平面視においてLiDARセンサ22から角度θの範囲で広がっている。角度θは例えば90度以上220度以下であるが、その値に限定されない。図6に示すように、センシング範囲120は、車両1の斜め上方向から斜め下方向に広がる周辺環境をセンシングできるように、側面視においてLiDARセンサ22から角度θの範囲で広がっている。角度θは例えば15度以上45度以下であるが、その値に限定されない。
【0090】
LiDARセンサ22は、レーザビームのパルス(以下「レーザパルス」と略記する。)を、出射方向を変えながら次々と出射し、出射時刻と各レーザパルスの反射光を取得した時刻との時間差から各反射点の位置までの距離を計測することができる。「反射点」は、車両1の周辺の環境に位置する物体であり得る。
【0091】
LiDARセンサ22は、任意の方法により、LiDARセンサ22から物体までの距離を計測し得る。LiDARセンサ22の計測方法としては、例えば機械回転方式、MEMS方式、フェーズドアレイ方式がある。これらの計測方法は、それぞれレーザパルスを出射する方法(スキャンの方法)が異なっている。例えば、機械回転方式のLiDARセンサは、レーザパルスの出射およびレーザパルスの反射光の検出を行う筒状のヘッドを回転させて、回転軸の周囲360度全方位の周辺環境をスキャンする。MEMS方式のLiDARセンサは、MEMSミラーを用いてレーザパルスの出射方向を揺動させ、揺動軸を中心とした所定の角度範囲内の周辺環境をスキャンする。フェーズドアレイ方式のLiDARセンサは、光の位相を制御して光の出射方向を揺動させ、揺動軸を中心とした所定の角度範囲内の周辺環境をスキャンする。
【0092】
センシング範囲120のセンシングは、1個のLiDARセンサ22で行ってもよいし、車両1が複数のLiDARセンサ22を備え、それら複数のLiDARセンサ22が分担してセンシング範囲120のセンシングを行ってもよい。
【0093】
プロセッサ12は、LiDARセンサ22が出力したセンサデータに基づいて、センシング範囲120に位置する物体を検出する。
【0094】
LiDARセンサ22が出力する3次元点群データは、複数の計測点の位置に関する情報および光検出器の受信強度などの情報(属性情報)を含んでいる。複数の計測点の位置に関する情報は、例えば、点に対応するレーザパルスの出射方向と、LiDARセンサと点との間の距離の情報である。また例えば、複数の計測点の位置に関する情報は、ローカル座標系における点の座標の情報である。ローカル座標系は、車両1とともに移動する座標系であり、センサ座標系とも称される。点に対応するレーザパルスの出射方向と、LiDARセンサと点との間の距離とから、各点の座標を算出することができる。ローカル座標系の単位として、例えば長さのSI単位が用いられており、任意の二点の座標が分かればその二点間の長さ(メートル)を演算することができる。
【0095】
図7は、車両1の前方に広がる環境の例を示す図である。図7に示す例では、車両1は圃場40内に位置しており、樹木列41の間に設定された目標経路46(図4)に沿って地面43を走行している。車両1の前方には人間45が存在している。LiDARセンサ22から出射されたレーザパルスは、樹木列41、地面43、人間45等に到達して反射され、反射光を検出することで3次元点群データが得られる。
【0096】
図8は、3次元点群データが示す複数の計測点の例を示す図である。図8では、3次元空間50に分布する複数の計測点51を示している。車両1の周辺の環境に存在する計測対象物(樹木列41、地面43、人間45等)と複数の計測点51との関係を分かりやすく説明するために、図8では、複数の計測点51と計測対象物とを重ねて示している。
【0097】
本実施形態では、複数の計測点51が分布する3次元空間50を複数のボクセルで区切る処理を行う。図9は、複数のボクセル52で区切られた3次元空間50の例を示す図である。本実施形態のボクセル52は、立方体形状を有するが、立方体以外の形状を有していてもよい。立方体の一辺の長さは例えば3cm以上15cm以下であるが、その値に限定されない。プロセッサ12(図3)は、3次元空間50を複数のボクセル52に区切る処理を行う。
【0098】
プロセッサ12は、複数のボクセル52の中から、内部に一つ以上の計測点51が属するボクセル52を抽出する。プロセッサ12は、抽出した一つのボクセル52内に属する一つ以上の計測点51の代表点53を決定する。例えば、プロセッサ12は、一つのボクセル52内に属する一つ以上の計測点51の重心を演算し、その重心をそのボクセル52の代表点53とする。演算した重心の座標が代表点53の座標となる。プロセッサ12は、抽出した複数のボクセル52のそれぞれについて代表点53を決定する。
【0099】
図10は、演算した複数の代表点53の例を示す図である。図10では、3次元空間50に分布する複数の代表点53を示している。複数の代表点53と計測対象物との関係を分かりやすく説明するために、図10では、複数の代表点53と計測対象物とを重ねて示している。後述する図11図13においても同様に複数の代表点53と計測対象物とを重ねて示している。
【0100】
本実施形態では、演算した複数の代表点53を用いて、車両1の周辺に存在する障害物などの物体の検出を行う。3次元点群データが示す複数の計測点51の総数よりも、複数の代表点53の総数の方が少なくなる。複数の計測点51ではなく複数の代表点53を用いて物体を検出する処理を行うことにより、演算量を低減させることができる。演算量が小さくなることにより、短時間で物体を検出することができる。
【0101】
プロセッサ12は、複数の代表点53それぞれの法線ベクトルを演算する。図11は、演算した複数の代表点53それぞれの法線ベクトル54の例を示す図である。法線ベクトルの演算方法として、例えば、ある第1の代表点53から所定の長さの範囲内にある二つ以上の第2の代表点53を抽出する。所定の長さは、例えば20cm以上40cm以下であるが、その値に限定されない。プロセッサ12は、第1の代表点53および第2の代表点53がフィットする平面を演算し、その平面の法線ベクトルを第1の代表点53の法線ベクトルとする。平面は、例えば最小二乗法を用いて演算することができる。
【0102】
次に、プロセッサ12は、比較的平坦な地面に対応する代表点53を除去する処理を行う。図12は、比較的平坦な地面に対応する代表点53を除去した後に残った複数の代表点53の例を示す図である。代表点53は主に障害物の検出のために用いる。障害物と扱わない比較的平坦な地面に対応する代表点53を除去することで、演算量を減らすことができる。
【0103】
プロセッサ12は、例えば、鉛直上向き方向の所定ベクトルと法線ベクトル54とがなす角度が所定の閾値以下となる代表点53は、比較的平坦な地面に対応する代表点53であるとして除去する。鉛直上向き方向の所定ベクトルと法線ベクトル54とがなす角度が所定の閾値より大きい代表点53は除去しない。所定の閾値は、例えば20度以上35度以下であるが、その値に限定されない。車両1の傾きは、例えばIMU26の出力信号から演算することができる。プロセッサ12は、IMU26の出力信号に基づいて、鉛直上向き方向を決定することができる。鉛直上向き方向の所定ベクトルと法線ベクトル54とがなす角度は、例えばベクトルの内積の定義に基づいて演算することができる。
【0104】
次に、プロセッサ12は、比較的平坦な地面に対応する代表点53を除去した後に残った複数の代表点53のクラスタリングを行う。プロセッサ12は、互いに隣接する二つの代表点53の法線ベクトル54同士のなす角度が所定の角度以下となる場合、その二つの代表点53を同じグループとして分類する。互いに隣接する二つの代表点53の法線ベクトル54同士のなす角度が所定角度より大きい場合、その二つの代表点53は互いに異なるグループとして分類する。所定角度は、例えば0度以上30度以下であるが、その値に限定されない。
【0105】
プロセッサ12は、同じグループに属する代表点53を囲う3次元のバウンディングボックスを生成する。例えば、プロセッサ12は、バウンディングボックスの各辺の方向を示す三つの固有ベクトルを演算してバウンディングボックスを生成する。バウンディングボックスの生成方法は公知であるため、ここでは詳細な説明は省略する。図13は、バウンディングボックスの例を示す図である。図13に示す例では、樹木列41に対応するバウンディングボックス55aおよび55b、人間45に対応するバウンディングボックス55cが生成されている。バウンディングボックス55のそれぞれにはID(識別情報)が付与される。
【0106】
プロセッサ12は、所定の時間(例えば100ミリ秒)毎に、3次元点群データからバウンディングボックスを生成する処理を繰り返す。プロセッサ12は、前回生成した一つ以上のバウンディングボックスと、今回生成した一つ以上のバウンディングボックスとを比較し、位置が互いに近いバウンディングボックスには同じIDを付与し、トラッキングを行う。これにより、バウンディングボックスに対応する物体の移動方向および移動速度を推定することができる。プロセッサ12は、車両1に相対的に近づいてくる物体を監視し、車両1と接触する可能性が高いと判断した場合は、車両1の走行速度の減速、走行の停止、物体との接触を回避するための操舵等の制御を行い得る。また、プロセッサ12は、車両1の前方の所定の距離以内の位置に物体を検出した場合は、車両1の走行速度の減速、走行の停止、物体との接触を回避するための操舵等の制御を行い得る。
【0107】
(不感帯に物体が存在する場合の制御)
上述したように、LiDARセンサ22が出力した3次元点群データを用いて、センシング範囲120に位置する物体を検出することができる。一方で、LiDARセンサからの距離が数十cm程度のセンサ近傍の領域には、物体の検出に十分な個数の計測点51のデータが得られない不感帯(Dead zone)が存在する場合がある。例えば、LiDARセンサからの距離が50cm未満の領域では、物体の検出に十分な個数の計測点51のデータが得られない場合がある。
【0108】
図14は、車両1の高さ方向から見た平面視における不感帯121の例を示す図である。図15は、車両1の左右方向に平行な方向から見た側面視における不感帯121の例を示す図である。そのような不感帯121に人間45等の物体が存在したときに、その物体が存在する範囲の計測点51のデータが得られない、もしくは僅かしか得られず、その物体を検出することが困難な場合がある。
【0109】
不感帯121に物体が存在した場合、LiDARセンサ22からその物体の方向に出射されたレーザパルスはその物体表面で反射はするが、計測点51の検出ができない若しくは僅かな個数の計測点51しか検出できない。LiDARセンサ22から見てその物体の背後に存在する物体にはレーザパルスは到達しないため、センシング範囲120の中に十分な個数の計測点51のデータが得られない範囲が発生することになる。図16は、十分な個数の計測点51のデータが得られない範囲122の例を示す図である。図16に示す例では、人間45の足が不感帯121に位置することにより、人間45の足が存在する角度の範囲では十分な個数の計測点51のデータが得られない。十分な個数の計測点51のデータが得られないことは、十分な個数の代表点53が得られないことを意味する。不感帯121に物体が存在した場合に、LiDARセンサ22が出力する3次元点群データを用いてその物体を検出することは困難である。
【0110】
本実施形態では、不感帯121に物体が存在した場合に、十分な個数の計測点51のデータが得られない範囲122が発生することを逆手に取り、そのような範囲122が発生していることを検出すると、車両1を走行停止状態にする制御を行う。これにより、車両1の近傍に物体が存在しているが、その物体がLiDARセンサ22の不感帯121に存在しているために、その物体の検出に十分な個数の計測点51のデータが得られない場合でも、車両1が走行し続けることを抑制することができる。
【0111】
プロセッサ12は、3次元点群データから複数の計測点51のデータを取得する。プロセッサ12は、その複数の計測点51を、車両1の前後左右方向に平行な平面に投影した二次元データを生成する。プロセッサ12は、生成した二次元データを用いて、計測点51が存在しない若しくは僅かな個数しか存在しない範囲122が存在するか否か判断する。
【0112】
プロセッサ12は、車両1の高さ方向47から見た平面視における所定角度範囲毎に、所定角度範囲内に属する計測点51の個数をカウントする。図17は、所定角度範囲の例を示す図である。プロセッサ12は、上記の複数の計測点51を投影した平面を複数の所定角度範囲のエリア130に分割し、エリア130毎に計測点51の個数をカウントする。各エリア130の所定角度θは例えば1度以上2度以下であるが、その値に限定されない。比較的狭い角度範囲毎に計測点51の個数をカウントすることで、計測点51の個数が少ない範囲を精度良く特定することができる。
【0113】
図18は、カウントした計測点51の個数に応じて車両1を走行停止状態にする制御の例を示すフローチャートである。
【0114】
プロセッサ12は、エリア130毎に計測点51の個数をカウントし、カウントした計測点51の個数が第1所定個数未満となるエリア130を検出する(ステップS11)。第1所定個数は、例えば2個以上5個以下であるが、その値に限定されない。
【0115】
次に、プロセッサ12は、計測点51の個数が第1所定個数未満となるエリア130が第2所定個数以上連続して存在する場合、その連続する第2所定個数以上のエリア130をグループ135として検出する(ステップS12)。第2所定個数は、例えば2個以上5個以下であるが、その値に限定されない。そのようなエリア130が第2所定個数以上連続して存在しない場合は、グループ135は検出されない。
【0116】
次に、プロセッサ12は、検出した一つ以上のグループ135に含まれるエリア130の総数が第3所定個数以上であるか判断する(ステップS13)。グループ135を複数個検出した場合は、その全てのグループ135に含まれるエリア130の総数が第3所定個数以上であるか判断する。閾値である第3所定個数は、例えば6個以上10個以下であるが、その値に限定されない。例えば第3所定個数は10個より多くてもよい。総数が第3所定個数未満である場合、ステップS11の処理に戻る。ステップS12の処理でグループ135が検出されなかった場合は、エリア130の総数はゼロとして扱い、ステップS11の処理に戻る。プロセッサ12は、ステップS11からS13の処理を繰り返し実行する。
【0117】
プロセッサ12は、検出した一つ以上のグループ135に含まれるエリア130の総数が第3所定個数以上であった場合は、車両1を走行停止状態にする制御を行う(ステップS14)。
【0118】
図19は、検出した一つ以上のグループ135に含まれるエリア130の総数が第3所定個数以上である状態の例を示す図である。図19に示す例では、検出した一つのグループ135に含まれるエリア130の総数が第3所定個数以上となっている。
【0119】
例えば、第3所定個数が8個である場合、検出した一つ以上のグループ135に含まれるエリア130の総数が8個以上であった場合は、車両1を走行停止状態にする制御を行う。一人の人間がLiDARセンサ22の極近距離に存在していたり、複数の人間が不感帯121に存在していたりする場合は、検出した一つ以上のグループ135に含まれるエリア130の総数が数十個から数百個になり得る。この場合も、検出した一つ以上のグループ135に含まれるエリア130の総数が第3所定個数以上となるため、車両1を走行停止状態にする制御を行う。
【0120】
検出した一つ以上のグループ135に含まれるエリア130の総数が第3所定個数以上である場合、プロセッサ12は、車両1を走行停止状態にする指令をECU16に送信する。指令を受け取ったECU16は、駆動装置30の原動機31およびブレーキ装置の動作を制御して車両1を走行停止状態にする。車両1が走行中である場合は、車両1を停止させる。車両1が停止している場合は、その停止状態を維持する。
【0121】
上述のように、本実施形態では、所定角度範囲毎に計測点51の個数をカウントし、カウントした計測点51の個数に応じて車両1を走行停止状態にする制御を行う。これにより、車両1の近傍に物体が存在しているが、その物体がLiDARセンサ22の不感帯121に存在しているために、その物体の検出に十分な個数の計測点51のデータが得られない場合でも、車両1が走行し続けることを抑制することができる。
【0122】
図20は、十分な個数の計測点51のデータが得られない範囲122の別の例を示す図である。図21は、検出した一つ以上のグループ135に含まれるエリア130の総数が第3所定個数以上である状態の別の例を示す図である。図20に示す例では、人間45の左右の足の間の空間をレーザパルスが通過し、LiDARセンサ22から人間45の左右の足の間の空間を通って延びるエリアでは、十分な個数の計測点51のデータが得られている。人間45の右足が存在する角度範囲および左足が存在する角度範囲では十分な個数の計測点51のデータが得られない。人間45の片足の横幅の大きさでは、図21に示すように、一つのグループ135に含まれるエリア130の総数が第3所定個数未満となる場合がある。
【0123】
本実施形態では、一つのグループ135に含まれるエリア130の総数が第3所定個数未満である場合でも、二つ以上のグループ135に含まれるエリア130の総数が第3所定個数以上である場合は、車両1を走行停止状態にする制御を行う。これにより、人間45の左右の足の間の空間をレーザパルスが通過する状態であっても、車両1が走行し続けることを抑制することができる。
【0124】
上述したように、ステップS12の処理では、計測点51の個数が第1所定個数未満となるエリア130が第2所定個数以上連続して存在するエリア130のグループ135を検出する。これにより、ノイズ等に起因して、計測点51の個数が第1所定個数未満となるエリア130が一つまたは僅かな数だけ連続して存在した場合に、車両1を走行停止状態にしてしまうことを抑制できる。
【0125】
ステップS13の処理では、プロセッサ12は、検出した全てのグループ135に含まれるエリア130の総数が第3所定個数以上である場合、車両1を走行停止状態にする制御を行う。検出した全てのグループ135に含まれるエリア130の総数が第3所定個数未満である場合は、車両1を走行停止状態にする制御を行わない。これにより、ノイズ等に起因して、計測点51の個数が第1所定個数未満となるエリア130が少数だけ存在した場合に、車両1を走行停止状態にしてしまうことを抑制できる。
【0126】
ステップS14において車両1を走行停止状態にする制御を行った後、プロセッサ12は、ステップS11からS13の処理を繰り返し実行する。検出した全てのグループ135に含まれるエリア130の総数が第3所定個数以上となる状態が継続する間は、車両1の走行停止状態を維持する。検出した全てのグループ135に含まれるエリア130の総数が第3所定個数未満となった場合は、車両1を走行停止状態にする制御を終了し、車両1の走行を再開する制御を行う。
【0127】
なお、図18に示す処理とは別の処理に応じて車両1を走行停止状態にする必要がある場合は、車両1を走行させないことは言うまでもない。
【0128】
上述したように、本実施形態では、不感帯121に存在する物体の検出に十分な個数の計測点51のデータが得られない場合でも、車両1が走行し続けることを抑制することができる。
【0129】
次に、カウントした代表点53の個数に応じて車両1を走行停止状態にする制御を説明する。上述した処理では、カウントした計測点51の個数に応じて車両1を走行停止状態にしていたが、カウントした代表点53の個数に応じて車両1を走行停止状態にしてもよい。
【0130】
図9および図10を用いて説明したように、プロセッサ12は、3次元点群データを用いて複数の代表点53を取得する。プロセッサ12は、その複数の代表点53を、車両1の前後左右方向に平行な平面に投影した二次元データを生成する。プロセッサ12は、生成した二次元データを用いて、代表点53が存在しない若しくは僅かな個数しか存在しない範囲122が存在するか否か判断する。
【0131】
この例では、プロセッサ12は、車両1の高さ方向47から見た平面視における所定角度範囲毎に、所定角度範囲内に属する代表点53の個数をカウントする。図17を用いて説明したように、プロセッサ12は、上記の複数の代表点53を投影した平面を複数の所定角度範囲のエリア130に分割する。プロセッサ12は、エリア130毎に代表点53の個数をカウントする。
【0132】
図22は、カウントした代表点53の個数に応じて車両1を走行停止状態にする制御の例を示すフローチャートである。
【0133】
プロセッサ12は、エリア130毎に代表点53の個数をカウントし、カウントした代表点53の個数が第1所定個数未満となるエリア130を検出する(ステップS21)。第1所定個数は、例えば2個以上5個以下であるが、その値に限定されない。
【0134】
次に、プロセッサ12は、代表点53の個数が第1所定個数未満となるエリア130が第2所定個数以上連続して存在する場合、その連続する第2所定個数以上のエリア130をグループ135として検出する(ステップS22)。
【0135】
次に、プロセッサ12は、検出した一つ以上のグループ135に含まれるエリア130の総数が第3所定個数以上であるか判断する(ステップS23)。総数が第3所定個数未満である場合、ステップS21の処理に戻る。
【0136】
プロセッサ12は、検出した一つ以上のグループ135に含まれるエリア130の総数が第3所定個数以上であった場合は、車両1を走行停止状態にする制御を行う(ステップS24)。
【0137】
この例では、所定角度範囲毎に代表点53の個数をカウントし、カウントした代表点53の個数に応じて車両1を走行停止状態にする制御を行う。これにより、車両1の近傍に物体が存在しているが、その物体がLiDARセンサ22の不感帯121に存在しているために、その物体の検出に十分な個数の計測点51のデータが得られない場合でも、車両1が走行し続けることを抑制することができる。
【0138】
本実施形態の走行制御システム10は、それらの機能を有しない車両1に後から取り付けることもできる。そのようなシステムは、車両1とは独立して製造および販売され得る。そのようなシステムで使用されるコンピュータプログラムも、車両1とは独立して製造および販売され得る。コンピュータプログラムは、例えばコンピュータが読み取り可能な非一時的な記憶媒体に格納されて提供され得る。コンピュータプログラムは、電気通信回線(例えばインターネット)を介したダウンロードによっても提供され得る。
【0139】
走行制御システム10においてプロセッサ12が実行する処理の一部または全部は、他の装置によって実行されてもよい。そのような他の装置は、サーバコンピュータ111のプロセッサおよび端末装置112のプロセッサの少なくとも一つであってもよい。その場合、そのような他の装置のプロセッサが走行制御システム10の制御装置に含まれ得る。
【0140】
上述の実施形態の説明では、LiDARセンサの不感帯に物体が存在する場合の制御について説明したが、本実施形態の制御は、LiDARセンサ以外の車両の周辺の環境をセンシングするセンサにも適用可能である。
【0141】
以上、本発明の例示的な実施形態を説明した。本明細書は、以下の項目に記載の走行制御システム、走行制御方法およびコンピュータプログラムを開示している。
【0142】
[項目1]
車両1の走行を制御する走行制御システム10であって、
車両1に設けられ、車両1の周辺の環境をセンシングして、センサデータを出力するセンサ22と、
センサデータに基づいて車両1の周辺に位置する物体を検出し、物体の検出結果に応じて車両1の走行を制御する制御装置11と、
を備え、
センサデータは3次元点群データを含み、
制御装置11は、
3次元点群データから複数の点51のデータを取得し、
車両1の高さ方向から見た平面視における所定角度範囲毎に、所定角度範囲内に属する点51の個数をカウントし、
カウントした点51の個数に応じて、車両1を走行停止状態にする制御を行う、走行制御システム10。
【0143】
センサ22の近傍には、物体の検出に十分な個数の点51のデータが得られない不感帯121が存在する場合がある。そのような不感帯121に物体が存在したときに、その物体が存在する範囲の点51のデータが得られない、もしくは僅かしか得られず、その物体を検出することが困難な場合がある。
【0144】
本発明のある実施形態によれば、所定角度範囲毎に点51の個数をカウントし、カウントした点51の個数に応じて車両1を走行停止状態にする制御を行う。例えば、点51の個数が少ない場合は走行を許可せず、車両1の走行を停止させる。車両1が停止中の場合は停止状態を維持する。
【0145】
これにより、車両1の近傍に物体が存在しているが、その物体がセンサ22の不感帯121に存在しているために、その物体の検出に十分な個数の点51のデータが得られない場合でも、車両1が走行し続けることを抑制することができる。
【0146】
[項目2]
制御装置11は、
カウントした点51の個数が第1所定個数未満となる所定角度範囲のエリア130を検出し、
検出したエリア130が第2所定個数以上連続して存在するエリア130のグループ135を検出し、
検出した一つ以上のグループ135に含まれるエリア130の総数が第3所定個数以上である場合、車両1を走行停止状態にする制御を行う、項目1に記載の走行制御システム10。
【0147】
点51の個数が少ない所定角度範囲のエリア130が連続する個数に着目することにより、ノイズ等に起因してそのようなエリア130がわずかな個数だけ連続して存在する場合に、車両1を走行停止状態にしてしまうことを抑制できる。
【0148】
点51の個数が少ない所定角度範囲のエリア130の総数が第3所定個数以上の場合は車両1を走行停止状態にする制御を行うことで、不感帯121に存在する物体の検出に十分な個数の点51のデータが得られない場合でも、車両1が走行し続けることを抑制することができる。
【0149】
[項目3]
制御装置11は、検出した一つのグループ135に含まれるエリア130の総数が第3所定個数以上である場合、車両1を走行停止状態にする制御を行う、項目2に記載の走行制御システム10。
【0150】
点51の個数が少ない所定角度範囲のエリア130が第3所定個数以上連続して存在する場合は車両1を走行停止状態にする制御を行うことで、不感帯121に存在する物体の検出に十分な個数の点51のデータが得られない場合でも、車両1が走行し続けることを抑制することができる。
【0151】
[項目4]
制御装置11は、検出した二つ以上のグループ135に含まれるエリア130の総数が第3所定個数以上である場合、車両1を走行停止状態にする制御を行う、項目2に記載の走行制御システム10。
【0152】
点51の個数が少ない所定角度範囲のエリア130の総数に着目することにより、物体の形状および姿勢等に起因して、そのようなエリア130が二つ以上のグループ135に分かれて存在する場合でも、車両1が走行し続けることを抑制することができる。
【0153】
[項目5]
制御装置11は、グループ135が検出されない場合、カウントした点51の個数に応じた車両1を走行停止状態にする制御を行わない、項目2から4のいずれかに記載の走行制御システム10。
【0154】
これにより、ノイズ等に起因して、点51の個数が少ないエリア130が単独で存在または僅かな個数だけ連続して存在した場合に、車両1を走行停止状態にしてしまうことを抑制できる。
【0155】
[項目6]
制御装置11は、検出した全てのグループ135に含まれるエリア130の総数が第3所定個数未満である場合、カウントした点51の個数に応じた車両1を走行停止状態にする制御を行わない、項目2から5のいずれかに記載の走行制御システム10。
【0156】
これにより、ノイズ等に起因して点51の個数が少ないエリア130が少数だけ存在した場合に、車両1を走行停止状態にしてしまうことを抑制できる。
【0157】
[項目7]
制御装置11は、
複数の点のデータとして、3次元点群データが示す複数の計測点51のデータを取得し、
平面視における所定角度範囲毎に、所定角度範囲内に属する計測点51の個数をカウントし、
カウントした計測点51の個数に応じて、車両1を走行停止状態にする制御を行う、項目1から6のいずれかに記載の走行制御システム10。
【0158】
車両1の近傍に物体が存在しているが、その物体がセンサ22の不感帯121に存在しているために、その物体の検出に十分な個数の点51のデータが得られない場合でも、車両1が走行し続けることを抑制することができる。
【0159】
[項目8]
制御装置11は、
3次元点群データが示す複数の計測点51が分布する空間を複数のボクセル52で区切り、
内部に一つ以上の計測点51が属するボクセル52毎に代表点53を決定し、
複数の点のデータとして、複数の代表点53のデータを取得し、
平面視における所定角度範囲毎に、所定角度範囲内に属する代表点53の個数をカウントし、
カウントした代表点53の個数に応じて、車両1を走行停止状態にする制御を行う、項目1から6のいずれかに記載の走行制御システム10。
【0160】
車両1の近傍に物体が存在しているが、その物体がセンサ22の不感帯121に存在しているために、その物体の検出に十分な個数の点51のデータが得られない場合でも、車両1が走行し続けることを抑制することができる。
【0161】
[項目9]
センサ22は、LiDARセンサである、項目1から8のいずれかに記載の走行制御システム10。
【0162】
車両1の近傍に物体が存在しているが、その物体がLiDARセンサ22の不感帯121に存在しているために、その物体の検出に十分な個数の点51のデータが得られない場合でも、車両1が走行し続けることを抑制することができる。
【0163】
[項目10]
項目1から9のいずれかに記載の走行制御システム10を備える車両1。
【0164】
車両1の近傍に物体が存在しているが、その物体がセンサ22の不感帯121に存在しているために、その物体の検出に十分な個数の点51のデータが得られない場合でも、車両1が走行し続けることを抑制することができる。
【0165】
[項目11]
車両1は移動型の農業機械である、項目10に記載の車両1。
【0166】
圃場内での作業中において、車両1の近傍に物体が存在しているが、その物体がセンサ22の不感帯121に存在しているために、その物体の検出に十分な個数の点51のデータが得られない場合でも、車両1が走行し続けることを抑制することができる。
【0167】
[項目12]
車両1を走行させる走行装置30を備え、
制御装置11は、走行装置30の動作を制御し、車両1を自動運転させる、項目10または11に記載の車両1。
【0168】
自動運転を行う車両1の近傍に物体が存在しているが、その物体がセンサ22の不感帯121に存在しているために、その物体の検出に十分な個数の点51のデータが得られない場合でも、車両1が走行し続けることを抑制することができる。
【0169】
[項目13]
所定角度範囲は、1度以上2度以下の角度範囲である、項目1から12のいずれかに記載の走行制御システム10。
【0170】
比較的狭い角度範囲毎に点51の個数をカウントすることで、点51の個数が少ない範囲を精度良く特定することができる。
【0171】
[項目14]
第1所定個数は、2個以上5個以下である、項目2から6のいずれかに記載の走行制御システム10。
【0172】
これにより、点51の個数が少ない所定角度範囲のエリア130を検出することができる。
【0173】
[項目15]
第2所定個数は、2個以上5個以下である、項目2から6、14のいずれかに記載の走行制御システム10。
【0174】
これにより、ノイズ等に起因して、点51の個数が少ない所定角度範囲のエリア130がわずかな個数だけ連続して存在する場合に、車両1を走行停止状態にしてしまうことを抑制できる。
【0175】
[項目16]
第3所定個数は、6個以上である、項目2から6、14、15のいずれかに記載の走行制御システム10。
【0176】
点51の個数が少ない所定角度範囲のエリア130の総数に応じて車両1を走行停止状態にする制御を行うことで、不感帯121に存在する物体の検出に十分な個数の点のデータが得られない場合でも、車両1が走行し続けることを抑制することができる。
【0177】
[項目17]
車両1の走行を制御する走行制御方法であって、
車両1の周辺の環境をセンシングするセンサ22が出力したセンサデータは3次元点群データを含んでおり、
3次元点群データから複数の点51のデータを取得すること、
車両1の高さ方向から見た平面視における所定角度範囲毎に、所定角度範囲内に属する点51の個数をカウントすること、
カウントした点51の個数に応じて、車両1を走行停止状態にする制御を行うこと、
を実行する走行制御方法。
【0178】
センサ22の近傍には、物体の検出に十分な個数の点51のデータが得られない不感帯121が存在する場合がある。そのような不感帯121に物体が存在したときに、その物体が存在する範囲の点51のデータが得られない、もしくは僅かしか得られず、その物体を検出することが困難な場合がある。
【0179】
本発明のある実施形態によれば、所定角度範囲毎に点51の個数をカウントし、カウントした点51の個数に応じて車両1を走行停止状態にする制御を行う。例えば、点51の個数が少ない場合は走行を許可せず、車両1の走行を停止させる。車両1が停止中の場合は停止状態を維持する。
【0180】
これにより、車両1の近傍に物体が存在しているが、その物体がセンサ22の不感帯121に存在しているために、その物体の検出に十分な個数の点51のデータが得られない場合でも、車両1が走行し続けることを抑制することができる。
【0181】
[項目18]
車両1の走行を制御する処理をコンピュータに実行させるコンピュータプログラムであって、
車両1の周辺の環境をセンシングするセンサ22が出力したセンサデータは3次元点群データを含んでおり、
コンピュータプログラムは、
3次元点群データから複数の点51のデータを取得すること、
車両1の高さ方向から見た平面視における所定角度範囲毎に、所定角度範囲内に属する点51の個数をカウントすること、
カウントした点51の個数に応じて、車両1を走行停止状態にする制御を行うこと、
をコンピュータに実行させる、コンピュータプログラム。
【0182】
センサ22の近傍には、物体の検出に十分な個数の点51のデータが得られない不感帯121が存在する場合がある。そのような不感帯121に物体が存在したときに、その物体が存在する範囲の点51のデータが得られない、もしくは僅かしか得られず、その物体を検出することが困難な場合がある。
【0183】
本発明のある実施形態によれば、所定角度範囲毎に点51の個数をカウントし、カウントした点51の個数に応じて車両1を走行停止状態にする制御を行う。例えば、点51の個数が少ない場合は走行を許可せず、車両1の走行を停止させる。車両1が停止中の場合は停止状態を維持する。
【0184】
これにより、車両1の近傍に物体が存在しているが、その物体がセンサ22の不感帯121に存在しているために、その物体の検出に十分な個数の点51のデータが得られない場合でも、車両1が走行し続けることを抑制することができる。
【産業上の利用可能性】
【0185】
本開示の技術は、車両の走行制御の分野において特に有用である。
【符号の説明】
【0186】
1:車両(運搬車)、 2:車体、 3:前輪、 4:後輪、 5:シート、 6:荷台、 7:カゴ、 8:ヘッドライト、 10:走行制御システム、 11:制御装置、 12:プロセッサ、 13:RAM、 14:ROM、 15:記憶装置、 16:ECU、 17:通信装置、 18:操作端末、 21:LiDARセンサ、 22:LiDARセンサ、 23:カメラ、 25:測位装置(GNSSユニット)、 26:慣性計測装置(IMU)、 30:駆動装置、 31:原動機(エンジン)、 32:変速装置(トランスミッション)、 33:ステアリング装置、 35:操舵角センサ、 36:速度センサ、 40:圃場、 41:樹木列、 42:樹木、 43:地面、 45:人間、 46:目標経路、 47:高さ方向、 50:3次元空間、 51:点、 52:ボクセル、 53:代表点、 54:法線ベクトル、 100:管理システム、 110:ネットワーク、 111:サーバコンピュータ、 112:端末装置、 120:センシング範囲、 121:不感帯、 122:代表点が得られにくい範囲、 130:所定角度範囲のエリア、 135:グループ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22