(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-07
(45)【発行日】2022-11-15
(54)【発明の名称】移動量推定装置
(51)【国際特許分類】
G01C 21/28 20060101AFI20221108BHJP
G08G 1/16 20060101ALI20221108BHJP
G06T 7/00 20170101ALI20221108BHJP
G06T 7/20 20170101ALI20221108BHJP
【FI】
G01C21/28
G08G1/16 C
G06T7/00 650Z
G06T7/20 100
(21)【出願番号】P 2018244190
(22)【出願日】2018-12-27
【審査請求日】2021-11-04
(73)【特許権者】
【識別番号】000001487
【氏名又は名称】フォルシアクラリオン・エレクトロニクス株式会社
(74)【代理人】
【識別番号】110002365
【氏名又は名称】特許業務法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】酒井 貴大
(72)【発明者】
【氏名】坂野 盛彦
(72)【発明者】
【氏名】福田 大輔
(72)【発明者】
【氏名】村山 純哉
【審査官】吉村 俊厚
(56)【参考文献】
【文献】特開2018-024294(JP,A)
【文献】特開2005-315746(JP,A)
【文献】国際公開第2015/125298(WO,A1)
【文献】特開2013-214143(JP,A)
【文献】特開2017-010539(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01C 21/28
G08G 1/16
G06T 7/00
G06T 7/20
(57)【特許請求の範囲】
【請求項1】
車両の移動に関する車両情報を取得し、前記車両情報に基づく前記車両の移動量を表す車両移動量を計算する車両移動量計算部と、
前記車両の周囲環境に関するセンサ情報を外界センサから取得し、前記センサ情報に基づく前記車両の移動量を表すセンサ移動量を計算するセンサ移動量計算部と、
前記車両情報に基づいて前記車両移動量に誤差が生じる場面を車両情報変化点として検出する車両情報変化点検出部と、
前記車両情報変化点検出部で検出した前記車両情報変化点を用いて前記車両移動量の誤差要因を判定する誤差要因判定部と、
前記誤差要因に応じて前記センサ移動量を用いた前記車両移動量の補正を行い、前記車両の移動量を推定する車両移動量補正部と、
を備え
、
前記車両情報変化点検出部は、前記車両のハンドル角度又はアクセル量の情報に基づき、前記車両が旋回中である場面および前記車両が段差を乗り越えた場面のいずれか一方または両方を、前記車両情報変化点として検出して、
前記誤差要因判定部は、前記車両情報変化点検出部による前記車両情報変化点の検出結果に基づいて、前記誤差要因を判定して、
前記車両移動量補正部は、前記誤差要因判定部により前記車両移動量の前記誤差要因が旋回であると判定された場合、前記車両情報から計算された前記車両の回転量を、前記センサ移動量を用いて補正する
移動量推定装置。
【請求項2】
請求項1に記載の移動量推定装置において、
前記車両情報変化点検出部は、前記車両のハンドル角度又はアクセル量の情報に基づき前記車両情報変化点を検出するものであって、
前記車両移動量補正部は、前記車両情報変化点検出部により前記車両情報変化点が検出されない場合は、前記センサ移動量を用いた前記車両移動量の補正を行わずに、前記車両の移動量を推定する移動量推定装置。
【請求項3】
車両の移動に関する車両情報を取得し、前記車両情報に基づく前記車両の移動量を表す車両移動量を計算する車両移動量計算部と、
前記車両の周囲環境に関するセンサ情報を外界センサから取得し、前記センサ情報に基づく前記車両の移動量を表すセンサ移動量を計算するセンサ移動量計算部と、
前記車両情報に基づいて前記車両移動量に誤差が生じる場面を車両情報変化点として検出する車両情報変化点検出部と、
前記車両情報変化点検出部で検出した前記車両情報変化点を用いて前記車両移動量の誤差要因を判定する誤差要因判定部と、
前記誤差要因に応じて前記センサ移動量を用いた前記車両移動量の補正を行い、前記車両の移動量を推定する車両移動量補正部と、
を備え、
前記車両情報変化点検出部は、前記車両のハンドル角度又はアクセル量の情報に基づき、前記車両が旋回中である場面および前記車両が段差を乗り越えた場面のいずれか一方または両方を、前記車両情報変化点として検出して、
前記誤差要因判定部は、前記車両情報変化点検出部による前記車両情報変化点の検出結果に基づいて、前記誤差要因を判定して、
前記車両移動量補正部は、
前記誤差要因判定部により前記車両移動量の前記誤差要因が段差の乗り越えであると判定された場合、前記車両情報から計算された前記車両の移動量を、前記センサ移動量を用いて補正する
移動量推定装置。
【請求項4】
請求項3に記載の移動量推定装置において、
前記車両情報変化点検出部は、前記車両のハンドル角度又はアクセル量の情報に基づき前記車両情報変化点を検出するものであって、
前記車両移動量補正部は、前記車両情報変化点検出部により前記車両情報変化点が検出されない場合は、前記センサ移動量を用いた前記車両移動量の補正を行わずに、前記車両の移動量を推定する移動量推定装置。
【請求項5】
車両の移動に関する車両情報を取得し、前記車両情報に基づく前記車両の移動量を表す車両移動量を計算する車両移動量計算部と、
前記車両の周囲環境に関するセンサ情報を外界センサから取得し、前記センサ情報に基づく前記車両の移動量を表すセンサ移動量を計算するセンサ移動量計算部と、
前記車両情報に基づいて前記車両移動量に誤差が生じる場面を車両情報変化点として検出する車両情報変化点検出部と、
前記車両情報変化点検出部で検出した前記車両情報変化点を用いて前記車両移動量の誤差要因を判定する誤差要因判定部と、
前記誤差要因に応じて前記センサ移動量を用いた前記車両移動量の補正を行い、前記車両の移動量を推定する車両移動量補正部と、
を備え、
前記車両情報変化点検出部は、前記車両のハンドル角度又はアクセル量の情報に基づき、前記車両が旋回中である場面および前記車両が段差を乗り越えた場面のいずれか一方または両方を、前記車両情報変化点として検出して、
前記誤差要因判定部は、前記車両情報変化点検出部による前記車両情報変化点の検出結果に基づいて、前記誤差要因を判定して、
前記車両移動量補正部は、前記誤差要因判定部から入力された前記誤差要因に応じた前記センサ移動量の情報を基に、前記車両移動量計算部から入力された前記車両移動量を補正し、
前記センサ移動量の信頼度を計算する信頼度計算部をさらに備え、
前記外界センサは単眼カメラであり、
前記センサ移動量計算部は、前記単眼カメラにより撮像された画像を前記センサ情報として取得し、前記センサ移動量を計算するものであって、
前記信頼度計算部は、前記単眼カメラにより所定のフレームレートで取得された複数の画像間での同一物体の数、各前記画像から得られた特徴点の対応付け結果、及び各前記画像中の物体までの距離のいずれかに基づき、前記センサ移動量の信頼度を計算して、
前記誤差要因判定部は、前記車両情報変化点の検出結果および前記センサ移動量の信頼度に基づいて、前記車両移動量補正部による前記センサ移動量を用いた前記車両移動量の補正の可否を判断する
移動量推定装置。
【請求項6】
車両の移動に関する車両情報を取得し、前記車両情報に基づく前記車両の移動量を表す車両移動量を計算する車両移動量計算部と、
前記車両の周囲環境に関するセンサ情報を外界センサから取得し、前記センサ情報に基づく前記車両の移動量を表すセンサ移動量を計算するセンサ移動量計算部と、
前記車両情報に基づいて前記車両移動量に誤差が生じる場面を車両情報変化点として検出する車両情報変化点検出部と、
車両情報変化点検出部で検出した前記車両情報変化点を用いて前記車両移動量の誤差要因を判定する誤差要因判定部と、
前記誤差要因に応じて前記センサ移動量を用いた前記車両移動量の補正を行い、前記車両の移動量を推定する車両移動量補正部と、
を備え、
前記車両移動量計算部は、複数のパラメータを用いて前記車両移動量を計算し、
前記車両移動量補正部は、前記複数のパラメータのうち前記誤差要因に応じたパラメータを前記センサ移動量を用いて補正し、補正後のパラメータを用いて前記車両移動量計算部に前記車両移動量を再計算させることで、前記車両移動量の補正を行う
移動量推定装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、移動量推定装置に関する。
【背景技術】
【0002】
自動車の駐車位置を指定し、その駐車位置までの経路を設定して運転者による運転操作なしで自動車を自律移動させる自動駐車システムが提案されている。こうした自動駐車システムにおいては、駐車位置までの経路に従って自動車を正確に自律移動させるために、走行中の自動車の移動量を高精度に推定することが求められる。
【0003】
走行中の自動車の移動量推定に関して、下記の特許文献1に記載の技術が知られている。特許文献1には、移動体の外部を撮像した複数の画像に基づいて、前記移動体の運動の3軸角速度の少なくとも1つを算出する画像算出手段と、前記移動体の運動の前記3軸角速度の少なくとも1つを検出する角速度検出センサと、前記画像算出手段によって算出された前記3軸角速度の少なくとも1つと、前記角速度検出センサによって検出された前記3軸角速度の少なくとも1つとに基づいて、前記移動体の運動の3軸角速度の少なくとも1つを推定する運動推定手段と、を含む運動計測装置が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
長距離走行を含む自動駐車システムでは、駐車位置と周囲の障害物との位置関係等に応じて、複数回の旋回や切り返しを含む複雑な経路が設定されることがある。加えて、駐車完了までにフラップなどの段差を乗り越える必要がある場合も想定される。特許文献1に開示された技術を自動駐車システムに適用した場合には、自動車が走行中の全てのシーンで3軸角速度の補正が行われる。しかし、長距離走行中には撮像画像に基づいた移動量推定が苦手とする場面、例えば木の葉などの繰り返しパターンが存在する場面や照明環境の変化が大きなシーンが含まれる可能性が高い。これらのシーンで撮像画像に基づいた移動量推定を行うと、得られた推定結果には大きな誤差が含まれる。その結果、誤差を含んだ移動量の推定結果を基に3軸角速度を補正してしまうことになり、正確な移動量推定が困難となる。したがって、経路に従って自律移動する車両を対象に行われる移動量推定の精度に関して、改善の余地がある。
【課題を解決するための手段】
【0006】
本発明による移動量推定装置は、車両の移動に関する車両情報を取得し、前記車両情報に基づく前記車両の移動量を表す車両移動量を計算する車両移動量計算部と、前記車両の周囲環境に関するセンサ情報を外界センサから取得し、前記センサ情報に基づく前記車両の移動量を表すセンサ移動量を計算するセンサ移動量計算部と、前記車両情報に基づいて前記車両移動量に誤差が生じる場面を車両情報変化点として検出する車両情報変化点検出部と、車両情報変化点検出部で検出した前記車両情報変化点を用いて前記車両移動量の誤差要因を判定する誤差要因判定部と、前記誤差要因に応じて前記センサ移動量を用いた前記車両移動量の補正を行い、前記車両の移動量を推定する車両移動量補正部と、を備える。
【発明の効果】
【0007】
本発明によれば、車両の移動量推定の精度を向上させることができる。
【図面の簡単な説明】
【0008】
【
図1】本発明の一実施形態に係る移動量推定装置の構成を示す図である。
【
図2】本発明の第1の実施形態に係る移動量推定装置による処理の全体を示すフローチャートである。
【
図3】本発明の第1の実施形態に係るセンサ移動量計算処理のフローチャートである。
【
図7】画像からカメラの移動量を推定する場合の幾何学的関係の例を示す図である。
【
図9】本発明の第2の実施形態に係るセンサ移動量計算処理のフローチャートである。
【
図10】本発明の第3の実施形態に係るセンサ移動量計算処理のフローチャートである。
【
図11】本発明の第4の実施形態に係る移動量推定装置による処理の全体を示すフローチャートである。
【発明を実施するための形態】
【0009】
(第1の実施形態)
図1は、本発明の一実施形態に係る移動量推定装置10の構成を示す図である。
図1に示す移動量推定装置10は、乗用車等の移動体に搭載されており、自動駐車システム40と組み合わされて使用されるものである。以下では、移動量推定装置10が搭載される移動体を「自車両」と称して説明する。移動量推定装置10は、あらかじめ決められた周期、例えば100ms毎に周期的に動作する。
【0010】
図1に示すように、移動量推定装置10は、その機能として、センサ移動量計算部11と、信頼度計算部12と、センサ情報変化点検出部13と、車両移動量計算部14と、車両情報変化点検出部15と、誤差要因判定部16と、車両移動量補正部17とを備えている。移動量推定装置10は、例えばCPU、RAM、ROM等を有しており、ROMに格納された所定のプログラムをRAMに展開してCPUで実行することにより、これらの機能を実現することができる。なお、移動量推定装置10が有する機能の一部または全部を、FPGA等のハードウェアを用いて実現してもよい。
【0011】
移動量推定装置10には、外界センサ20により取得されたセンサ情報と、車両情報30とが入力される。外界センサ20は、自車両に搭載されて自車両の周囲環境に関するセンサ情報を取得可能なセンサであり、例えば単眼カメラ、ステレオカメラ、LiDAR(Light Detection And Ranging)、レーダ等が外界センサ20として用いられる。本実施形態では、外界センサ20として単眼カメラを用いた場合を例に説明する。この場合、外界センサ20である単眼カメラによって所定のフレームレートごとに撮像された画像が、センサ情報として移動量推定装置10により順次取得される。車両情報30は、自車両から得られる自車両の移動に関する情報、例えば車両速度、ハンドル角度、アクセルやブレーキの状態、シフトブレーキの状態などを表す情報である。車両情報30もセンサ情報と同様に、移動量推定装置10により所定のフレームレートで順次取得される。
【0012】
センサ移動量計算部11は、外界センサ20から順次取得されたセンサ情報に基づいて自車両の移動量を計算する。以下では、センサ移動量計算部11により計算されるセンサ情報に基づく自車両の移動量を「センサ移動量」と称する。センサ移動量計算部11は、得られたセンサ移動量の計算結果を、その計算において用いられた任意のパラメータとともに、信頼度計算部12に出力する。なお、センサ情報変化点検出部13によって後述のセンサ情報変化点が検出されたときは、センサ移動量計算部11は、センサ移動量の計算を行わないようにする。
【0013】
信頼度計算部12は、センサ移動量計算部11により計算されたセンサ移動量の信頼度を計算する。例えば、単眼カメラによりセンサ情報として所定のフレームレートで取得された複数の画像間での同一物体の数や、各画像から得られた特徴点の対応付け結果や、各画像中に映っている物体までの距離の正確さなどに基づき、センサ移動量の信頼度を計算できる。信頼度計算部12は、計算した信頼度と、センサ移動量計算部11から入力されたセンサ移動量とを、誤差要因判定部16に出力する。
【0014】
センサ情報変化点検出部13は、外界センサ20から順次取得されたセンサ情報に基づいて、センサ情報の変化が大きい場面をセンサ情報変化点として検出する。例えば、単眼カメラによりセンサ情報として取得された所定のフレームレートで取得された複数の画像間での各画素の輝度値を比較し、画像全体で輝度値に大きな変化がある場合には、照明条件が変化したと判断し、これをセンサ情報変化点として検出する。センサ情報変化点検出部13は、こうしたセンサ情報変化点を検出したら、その検出結果をセンサ移動量計算部11および誤差要因判定部16に出力する。なお、センサ情報変化点検出部13の処理内容については、後で詳細に説明する。
【0015】
車両移動量計算部14は、移動量推定装置10に入力される車両情報30に基づいて、デッドレコニングにより自車両の移動量を計算する。以下では、車両移動量計算部14により計算される車両情報30に基づく自車両の移動量を「車両移動量」と称する。車両移動量計算部14は、車両情報30に応じて予め定められた複数のパラメータを用いて車両移動量を計算し、得られた車両移動量の計算結果を車両移動量補正部17に出力する。
【0016】
車両情報変化点検出部15は、移動量推定装置10に入力される車両情報30に基づいて、車両移動量に誤差が生じやすい場面を車両情報変化点として検出する。例えば、車両情報30に含まれる自車両のハンドル角度やアクセル量の情報に基づき、自車両が旋回中である場面や、自車両が段差を乗り越えた場面に該当する場合を判断し、これらの場面を車両情報変化点として検出する。車両情報変化点検出部15は、こうした車両情報変化点を検出したら、その検出結果を誤差要因判定部16に出力する。なお、車両情報変化点検出部15の処理内容については、後で詳細に説明する。
【0017】
誤差要因判定部16は、信頼度計算部12、センサ情報変化点検出部13および車両情報変化点検出部15から入力された情報を基に、車両移動量計算部14がデッドレコニングにより計算する車両移動量の誤差要因を判定する。例えば、車両情報変化点検出部15において車両情報変化点が検出されると、その検出結果に基づき、車両移動量の誤差要因を「旋回」または「段差」と判定する。そして、何かしらの誤差要因があると判定した場合には、センサ移動量計算部11により計算されたセンサ移動量と、信頼度計算部12により計算されたセンサ移動量の信頼度とに基づき、誤差要因に応じたセンサ移動量の情報を車両移動量補正部17に出力する。具体的には、例えば、車両移動量計算部14が車両移動量の計算を行う際に用いられる複数のパラメータのうち、誤差要因に応じた補正対象のパラメータと、そのパラメータに対応するセンサ移動量の情報とを、車両移動量補正部17に出力する。なお、誤差要因判定部16の処理内容については、後で詳細に説明する。
【0018】
車両移動量補正部17は、誤差要因判定部16から入力された誤差要因に応じたセンサ移動量の情報を基に、車両移動量計算部14から入力された車両移動量を補正することにより、自車両の移動量を推定する。例えば、誤差要因判定部16により車両移動量の誤差要因が「旋回」であると判定された場合には、センサ移動量を利用して、車両情報30から計算された自車両の回転量を補正する。また例えば、誤差要因判定部16により車両移動量の誤差要因が「段差」であると判定された場合には、センサ移動量を利用して、車両情報30から計算された自車両の移動量(並進量)を補正する。そして、推定した自車両の移動量を移動量推定装置10の外部に、例えば自動駐車システム40へ出力する。
【0019】
自動駐車システム40は、外界センサ20からセンサ情報として入力される単眼カメラの撮像画像や車両情報30に基づいて駐車候補位置を認識し、いずれかの駐車候補位置を駐車位置に設定する。そして、自車両の現在位置から設定した駐車位置までの駐車経路を生成し、その駐車経路に従って自車両を駐車位置まで自律移動させるように制御する。このとき自動駐車システム40は、移動量推定装置10から出力される自車両の移動量の推定結果を用いて、自車両の制御を行う。
【0020】
次に、本実施形態の移動量推定装置10が実施する処理について
図2~6のフローチャートを参照して説明する。
図2は、本発明の第1の実施形態に係る移動量推定装置10による処理の全体を示すフローチャートである。
図3は、
図2の処理におけるセンサ移動量計算処理のフローチャートである。
図4は、
図2の処理における誤差要因判定処理のフローチャートである。
図5は、
図4の誤差要因判定処理において移動量推定装置10が実施する旋回判定処理のフローチャートである。
図6は、
図4の誤差要因判定処理において移動量推定装置10が実施する段差判定処理のフローチャートである。
【0021】
ここで、
図2~6の説明に先立って、移動量推定装置10の処理で用いられる座標系について以下に説明する。
図12は、移動量推定装置10が自車両の位置および姿勢を表すために使用する車両座標系を示す図であり、
図13は、外界センサ20として自車両に搭載される単眼カメラの位置および姿勢を表すために移動量推定装置10が使用するカメラ座標系を示す図である。
【0022】
図12に示す車両座標系では、自車両の向きに対して前後方向をx軸、左右方向をy軸、上下方向をz軸とそれぞれ定義している。ここで、x軸は自車両の進行方向(正面方向)を正とし、y軸は自車両の進行方向に対して左手方向を正とし、z軸は自車両の真上方向を正としている。また、各軸周りの回転(roll、pitch、yaw)は、時計回り方向をそれぞれ正としている。本実施形態では、
図12の車両座標系を用いて、自車両の回転量と並進量を以下の式(1)のように表現し、これらを用いて自車両の位置と姿勢を表すこととする。式(1)において、θ
rollはx軸周りの回転量、θ
pitchはy軸周りの回転量、θ
yawはz軸周りの回転量をそれぞれ表し、x
carはx軸方向の並進量、y
carはy軸方向の並進量、z
carはz軸方向の並進量をそれぞれ表している。なお、回転量は自車両の姿勢に相当し、並進量は自車両の位置に相当する。
自車両の回転量=(θ
roll,θ
pitch,θ
yaw)
自車両の並進量=(x
car,y
car,z
car) ・・・(1)
【0023】
図13に示すカメラ座標系では、外界センサ20である単眼カメラを真上方向から見たときの左右方向をx軸、上下方向をy軸とそれぞれ定義し、単眼カメラの光軸方向をz軸と定義している。ここで、x軸は単眼カメラの右手方向を正とし、y軸は単眼カメラの真下方向を正とし、z軸は単眼カメラの撮像方向を正としている。また、各軸周りの回転は、時計回り方向をそれぞれ正としている。本実施形態では、
図13のカメラ座標系を用いて、単眼カメラの回転量と並進量を以下の式(2)のように表現し、これらを用いて単眼カメラの位置と姿勢を表すこととする。式(2)において、θ
xはx軸周りの回転量、θ
yはy軸周りの回転量、θ
zはz軸周りの回転量をそれぞれ表し、x
cameraはx軸方向の並進量、y
cameraはy軸方向の並進量、z
cameraはz軸方向の並進量をそれぞれ表している。なお、回転量は単眼カメラの姿勢に相当し、並進量は単眼カメラの位置に相当する。
単眼カメラの回転量=(θ
x,θ
y,θ
z)
単眼カメラの並進量=(x
camera,y
camera,z
camera) ・・・(2)
【0024】
以下の説明では、上記の式(1)で表される車両座標系における自車両の回転量および並進量は、移動量推定装置10において車両移動量計算部14により、所定の処理周期ごとに計算されるものとする。また、上記の式(2)で表されるカメラ座標系における単眼カメラの回転量および並進量は、移動量推定装置10においてセンサ移動量計算部11により、所定の処理周期ごとに計算されるものとする。
【0025】
続いて、
図2のフローチャートについて説明する。
図2のフローチャートに示す全体処理は、ユーザが自動駐車システム40を立ち上げて駐車位置を決定し、決定した駐車位置まで自車両を自律移動させるように指示すると、移動量推定装置10において開始される。なお以下では、外界センサ20として、自車両に取り付けた広角な単眼カメラを利用するものとして説明する。
【0026】
ステップ100において、移動量推定装置10は、自車両から自車両の移動に関する車両情報30を取得する。例えば、自車両のハンドル角度、タイヤ回転量、アクセル量などの情報を、33ms周期で車両情報30として取得する。
【0027】
ステップ101において、車両移動量計算部14は、ステップ100で取得した車両情報30に基づいて、現在の自車両の移動量を表す車両移動量を計算する。例えば、車両情報30として取得したハンドル角度やタイヤ回転量から、自車両がどのように移動したかを計算する。あるいは、他の計算方法を採用することも可能である。例えば、各タイヤの回転量を車両情報30として個別に取得し、その回転量の差から車両移動量を計算する手法や、自車両に搭載された慣性航法装置から各軸周りの角加速度と加速度を車両情報30として取得し、これらを積算する方法などが考えられる。以下では、ハンドル角度とタイヤの回転量から車両移動量を計算する方法を例として説明する。
【0028】
ハンドル角度とタイヤの回転量から車両移動量を計算する際には、自車両の運動をモデル化する必要がある。例えば、自車両の運動を直線で近似したモデルや曲線で近似したモデルなどが考えられるが、本実施形態の車両移動量計算部14では、以下の式(3)~(6)で表される車両運動モデルを想定して、車両移動量を計算する。ここで、Rtは今回の車両情報30の取得時刻tにおける自車両の旋回半径を表しており、これは車両情報30に含まれる自車両のハンドル角度から求められる。また、ρtは時刻tにおける自車両の旋回運動の曲率を、θyaw_tは時刻tにおけるz軸周りの自車両の向きを、ΔStは前回の車両情報30の取得時刻である時刻t-1から時刻tの間における自車両の移動距離をそれぞれ表している。さらに、xcar_t、ycar_tは時刻tにおけるx軸方向およびy軸方向の並進量、すなわち自車両の位置を表し、xcar_t-1、ycar_t-1は時刻t-1におけるx軸方向およびy軸方向の並進量、すなわち自車両の位置を表している。
ρt=1/Rt ・・・(3)
Δθyaw_t=ΔSt・ρt ・・・(4)
(xcar_t,ycar_t)=(xcar_t-1,ycar_t-1)+ΔSt(cosθyaw_t-1,sinθyaw_t-1) ・・・(5)
θyaw_t=θyaw_t-1+Δθyaw_t ・・・(6)
【0029】
ステップ102において、車両情報変化点検出部15は、ステップ100で取得した車両情報30に基づいて、車両移動量に誤差が生じやすい場面を車両情報変化点として検出する。例えば、自車両のハンドル角度およびアクセル量を33ms周期で車両情報30として取得し、これらの車両情報30から、自車両が旋回中である場合や、自車両が乗り越え可能な小さな段差を乗り換えた可能性がある場合には、車両移動量の誤差要因となる車両情報変化点を検出する。
【0030】
なお、車両情報変化点の検出条件は、適用先のシステムによって異なる。これは、車両速度などの要因によって考慮しなければならない誤差要因が異なるためである。本実施形態では、自動駐車システム40と組み合わせて使用される移動量推定装置10を想定している。ここで、自動駐車システム40は、自車両の速度が約10km/h以下の速度で動作すると想定した。このため、本実施形態では車両移動量の誤差要因として、車両の旋回および段差の乗り越えを考慮する。例えば、車両情報30を基に計算した旋回半径があらかじめ設定したしきい値(例えば20m)以下となった場合は、自車両が旋回中であると判断し、車両情報30が示すアクセル量があらかじめ設定したしきい値以上となった場合は、自車両が段差を乗り越えたと判断する。なお、適用先のシステムによって考慮すべき誤差要因が異なり、それに応じて判定のしきい値も異なるため、車両情報変化点の検出条件は前述の内容に限定しない。
【0031】
ステップ103において、移動量推定装置10は、外界センサ20から自車両の周囲環境に関するセンサ情報を取得する。本実施形態では、前述のように単眼カメラを外界センサ20として用いており、この単眼カメラで撮像された画像をセンサ情報として取得する。例えば、単眼カメラが幅640×縦400ピクセルの画像サイズにより33ms周期で撮像した画像を、センサ情報として取得する。
【0032】
ステップ104において、センサ情報変化点検出部13は、ステップ103で取得したセンサ情報に基づいて、センサ情報の変化が大きい場面をセンサ情報変化点として検出する。例えば、撮像時の照明条件の変化により、センサ情報として取得した画像が急激に変化した場合には、正確なセンサ移動量の推定ができなくなるため、センサ情報変化点として事前に検出する。このとき、照明条件の急激な変化は、画像の輝度変化に基づいて検出することができる。例えば、各画素の輝度値の平均を求め、前回の画像と比較する。その結果、前回の画像に対して輝度値の平均の差が所定のしきい値以上の場合は、照明条件が急激に変化したと判別し、センサ情報変化点を検出できる。その際、一つ前の処理周期において後述のステップ110で保存した画像を、前回の画像として利用することができる。なお、ステップ110を一度も実行していない場合は、画像全体での各画素の輝度値の平均からセンサ情報変化点を検出してもよい。例えば、輝度値を0~255で表現した場合に、輝度値の平均が50以下であれば、その画像は全体的に暗く、センサ移動量の推定に利用できないと判断して、センサ情報変化点を検出する。また、輝度値の平均が200以上の時には、その画像は全体的に明るすぎて白飛びが発生している可能性があるため、センサ移動量の推定に利用できないと判断して、センサ情報変化点を検出する。これ以外にも、任意の条件でセンサ情報変化点を検出することが可能である。
【0033】
ステップ105では、ステップ104でのセンサ情報変化点の検出結果に基づき、以降の処理を打ち切るか否かを判定する。ステップ104でセンサ情報変化点が検出された場合、センサ移動量を計算しても正しい計算結果が得られず、そのため車両移動量を適切に補正できないため、ステップ106以降の処理を打ち切ってステップ100に戻る。この場合には、センサ移動量計算部11によるセンサ移動量の計算は行われない。一方、ステップ104でセンサ情報変化点が検出されなかった場合は、センサ移動量の計算を行うために、次のステップ106に進む。
【0034】
ステップ106において、センサ移動量計算部11は、ステップ103で取得したセンサ情報に基づいて、現在の自車両の移動量を表すセンサ移動量を計算する。ここでは、例えば
図3に示すフローチャートに従って、センサ移動量の計算を行う。
【0035】
図3では、センサ情報として取得した画像から特徴点を抽出し、その特徴点の組からカメラの移動量を計算することで、自車両の移動量を計算することを想定している。まず、ステップ200Aにおいて、センサ移動量計算部11は、
図2のステップ103で読み込んだ画像中から、画像特徴点を抽出する。本実施形態では、例えばORB(Oriented FAST and Rotated BRIEF)と呼ばれる周知の処理手法により、画像特徴点を抽出する。なお、他の処理手法、例えばHarrisコーナー検出やTomasi、FAST(Features from Accelerated Segment Test)などの特徴量の記述がないコーナー点抽出手法や、SURFやSIFTなどの特徴点抽出手法などを用いてもよく、処理手法は限定しない。
【0036】
ステップ201Aにおいて、センサ移動量計算部11は、ステップ200Aで最新の画像から抽出された画像特徴点と、一つ前の処理周期で取得した画像から抽出した画像特徴点との対応付けを行う。ここでは、時系列で取得された撮像画像からそれぞれ抽出された画像特徴点のうち、同一の被写体の同じ部分を撮像した画像特徴点同士を互いに対応付ける。この対応付けは、画像特徴点の特徴量同士の比較や、画像特徴点の周囲の画素値の比較などにより実施される。例えば、本実施形態で画像特徴点の抽出に使用されるORBの場合、バイナリで記述された特徴量の排他的論理和をとることで画像特徴点の特徴量の比較を行うことが可能であり、その差が小さいほど、同一被写体の同じ部分を撮像した特徴点の可能性が高くなる。また、Harrisなどの特徴量のない方法で検出したコーナー点の場合は、例えばSSD(Sum of Squared Difference)やKLT(Kanade-Lucas-Tomasi Feature Tracker)法などの画像特徴点の周辺画素の比較により、画像特徴点同士の対応付けを行うことができる。
【0037】
また、ステップ201Aで画像特徴点の対応付けを行う際には、誤って対応付けされた画像特徴点に対する対応付け結果の除去を行うようにしてもよい。例えば、クロスチェックと呼ばれる公知の手法を用いて、画像特徴点の対応付け結果が正しいか否かを確認することができる。詳細な説明は省略するが、この手法は、画像特徴点同士が対応付けされた二つの撮像画像を画像A、Bとすると、一方の画像Aから他方の画像Bへと対応付けを行った結果と、画像Bから画像Aへと対応付けを行った結果とを比較し、共通の結果が得られた場合はこれを画像特徴点の対応付け結果として採用する手法である。
【0038】
ステップ202Aにおいて、センサ移動量計算部11は、ステップ201Aにおいて対応していると判断された画像特徴点の組から、カメラの移動量を推定する。一般的に、画像からカメラの移動量を推定する場合、時間の異なる別の場所で撮影された画像間の幾何学的関係を制約として、移動量を推定する。幾何学的関係とは、異なる場所で撮影された二つの画像間で互いに対応する一対の画像特徴点が存在する場合、一方の画像における画像特徴点とカメラ原点とを結んだ光線を他方の画像上に投影した時の直線(エピポーラ極線)上に、他方の画像における画像特徴点が必ず存在するという制約である。
【0039】
図7は、画像からカメラの移動量を推定する場合の幾何学的関係の例を示す図である。
図7において、時刻tにおけるカメラ位置C
tで撮影された画像と、時刻t+1におけるカメラ位置C
t+1で撮影された画像とで、互いに対応する特徴点が検出されたとする。この場合、
図7に示すように、カメラ位置C
tでのカメラ原点と、カメラ位置C
tで撮像した画像平面上の特徴点との間を結んだ光線を、カメラ位置C
t+1で撮像した画像中に投影したものとして、エピポーラ極線が定義される。カメラ位置C
t+1の撮像画像における特徴点は、このエピポーラ極線上に存在している。
【0040】
ステップ202Aでは、互いに対応付けられた全ての画像特徴点がこうした制約を満たすような移動量を推定することで、カメラの移動量を推定することができる。ステップ202Aでカメラの移動量を推定したら、センサ移動量計算部11は、その推定結果をセンサ移動量の計算結果として出力し、
図3のフローチャートに示すセンサ移動量計算処理を終了する。
【0041】
センサ移動量計算部11によるセンサ移動量計算処理が終了したら、移動量推定装置10は、
図2のステップ106からステップ107に進む。
【0042】
ここで、
図7のステップ202Aで
図7に示す幾何学的関係を制約として用いてカメラの移動量を推定する場合、その推定方法として、最小二乗法を用いる方法と、最急勾配法などの繰り返し演算を利用する方法とがある。最小二乗法を利用する方法では、初期値によっては得られる移動量の推定結果が安定しない場合がある。一方、繰り返し演算を利用する方法では、推定精度が安定している一方で、計算時間が長くなるという課題がある。本実施形態では、車両情報30から計算したカメラの移動量を最小二乗法の初期値として利用することで、推定精度を安定させつつ、処理時間を短縮することができる。なお、他の推定手法、例えば、複数の画像間の関係から移動量をより高精度に推定できるバンドル調整などの手法を利用しても良く、カメラの移動量を推定する方法は限定しない。
【0043】
ステップ107において、信頼度計算部12は、ステップ106でセンサ移動量計算部11により計算されたセンサ移動量の信頼度を計算する。ここで計算される信頼度は、外界センサ20によるセンサ情報の検出精度が低く、大きな誤差を含むセンサ移動量が計算された場合に、このセンサ移動量を利用して車両移動量を誤って補正してしまうことを防止するためのものである。信頼度計算部12は、例えば、外界センサ20にとって苦手な場面では信頼度を低く計算し、そうでない場面では信頼度を高く計算する。外界センサ20としてカメラを用いた場合には、例えば木の葉等のように形状が互いに類似する物体が多数存在している場面など、画像内に繰り返しパターンが現れるような場面において、センサ移動量の誤差が大きくなりやすい。また、外界センサ20としてLiDARやレーダ等の距離センサを用いた場合には、トンネル内などのように、自車両の周囲に起伏の少ない類似した環境が続く場面において、センサ移動量の誤差が大きくなりやすい。そのため、これらの場面では他の場面に比べて信頼度が低くなるように、信頼度計算部12による信頼度の計算が行われる。
【0044】
本実施形態では、前述のように単眼カメラを外界センサ20として用いており、これに基づいて計算されるセンサ移動量の信頼度を決めるために、例えば以下の3つの指標を利用することができる。
【0045】
一つ目の指標は、画像間で対応付けられた画像特徴点の数である。すなわち、
図3のステップ201Aで対応付けられた画像特徴点の数が多いほど、センサ移動量の信頼度が高いと判断できる。これは、画像特徴点の対応付けの誤差は、一般的に平均0のラプラス分布に近い分布となり、多くの画像特徴点の対応付け結果を利用して最小二乗法により移動量を推定すれば、センサ情報の誤差が平滑化されて精度の良い結果が得られることが知られているためである。
【0046】
二つ目の指標は、カメラ移動量の推定時に得られる各画像特徴点とエピポーラ極線間の距離の平均値である。すなわち、
図3のステップ202Aでカメラの移動量を推定する際には、前述のように、ある画像の画像特徴点に対応する他の画像の画像特徴点は、その画像においてエピポーラ極線上に必ず存在するという制約がある。したがって、正しく対応付けられた画像特徴点を利用した場合には、各画像特徴点とエピポーラ極線との距離は非常に小さくなる。そのため、各画像特徴点とエピポーラ極線間の距離の平均値が小さいほど、センサ移動量の信頼度が高いと判断できる。
【0047】
三つ目の指標は、センサ移動量の計算結果と車両情報との間で矛盾が生じていないかという点である。すなわち、画像特徴点に誤差が多く存在する場合には、大きな誤差を含んだセンサ移動量が推定されるため、車両情報が示すハンドルの転舵方向とは逆側に自車両が旋回しているという推定結果が得られることもある。そのため、このような矛盾が生じている場合は、センサ移動量の信頼度が低いと判断できる。
【0048】
本実施形態では、上記の各指標に対して所定のしきい値をそれぞれ設定し、各指標がしきい値を超えたか否かを判断することで、信頼度の計算を行うことができる。例えば、一つ目の指標に対しては、対応付けられた画像特徴点の数が50組以上であることをしきい値として設定し、二つ目の指標に対しては、画像特徴点とエピポーラ極線間の距離の平均値が0.5以下であることをしきい値として設定する。また本実施形態では、ここで挙げた全ての条件を満たした場合、すなわち、対応付けられた画像特徴点の数が50組以上であり、かつ、画像特徴点とエピポーラ極線間の距離の平均値が0.5以下であり、かつ、センサ移動量の計算結果と車両情報との間で矛盾が生じていないときには、信頼度を1とし、いずれかを満たさなかった場合には信頼度を0とする。なお、ここで示したしきい値は、特徴点の抽出および対応付け方法、画像サイズなどに依存するため、上記の値に限らず、システムにあった値を設定することが好ましい。
【0049】
ステップ108において、誤差要因判定部16は、デッドレコニングによる誤差要因、すなわち、ステップ101で車両移動量計算部14により計算された車両移動量に対する誤差要因を判定する。ここでは、例えば
図4に示すフローチャートに従って、誤差要因の判定を行う。
【0050】
本実施形態では、デッドレコニングによる誤差要因として、例えば次の二つの誤差要因を考える。二つの誤差要因とは、自車両の旋回および段差乗り越えである。ステップ300において、誤差要因判定部16は、一つ目の誤差要因である自車両の旋回に対する判定を行う。ここでは、例えば
図5に示すフローチャートに従って、自車両の旋回に対する判定処理が行われる。
【0051】
ステップ300aにおいて、誤差要因判定部16は、
図2のステップ102において車両情報変化点検出部15が、自車両が旋回中であることを車両情報変化点として検出したか否かを確認する。例えば、ステップ102の判定で用いられる旋回半径に対するしきい値をTh
dとすると、自車両の旋回半径がこのしきい値Th
dを下回っていれば、ステップ102で自車両が旋回中であると判断され、車両情報変化点として検出される。この場合、ステップ301aに進む。一方、自車両の旋回半径がしきい値Th
d以上であれば、ステップ102で自車両が旋回中ではないと判断され、車両情報変化点として検出されない。この場合、自車両は旋回中ではなく、直進中であると判定し、
図5の判定処理を終了する。なお、ステップ102の処理結果を確認せずに、車両情報30に含まれるハンドル角度の情報に基づいて、ステップ300aの判定を行っても良い。
【0052】
ステップ301aにおいて、誤差要因判定部16は、
図2のステップ107において信頼度計算部12により計算されたセンサ移動量の信頼度が、あらかじめ設定された所定のしきい値Th
eを下回っているか否かを判定する。しきい値Th
eは、例えば0.5に設定される。その結果、信頼度がしきい値Th
eよりも小さい場合はステップ302aに進み、しきい値Th
e以上であればステップ303aに進む。
【0053】
ステップ302aにおいて、誤差要因判定部16は、自車両が旋回中であることを誤差要因情報テーブルに登録する。誤差要因情報テーブルは、車両情報変化点が検出されたときの車両移動量の誤差要因と、センサ移動量を用いた車両移動量の補正の可否とを記録するためのテーブルであり、移動量推定装置10が有するRAMやハードディスク等の記憶媒体(不図示)に記憶される。ここでは、車両移動量の誤差要因として、自車両が旋回中であることを表す情報である「旋回中」を誤差要因情報テーブルに登録するとともに、センサ移動量を用いた車両移動量の補正が不可であることを表す情報を誤差要因情報テーブルに登録する。すなわち、ステップ301aでセンサ移動量の信頼度がしきい値The未満であると判定された場合は、車両移動量の誤差要因である自車両の旋回が行われたが、センサ移動量の信頼度が低い。そのため、センサ移動量を用いた車両移動量の補正を禁止するように、誤差要因情報テーブルに対して登録する情報を決定する。
【0054】
ステップ303aにおいて、誤差要因判定部16は、自車両が旋回中であることを誤差要因情報テーブルに登録するとともに、車両移動量の補正に利用可能な補正情報があることを誤差要因情報テーブルに登録する。ここでは、車両移動量の誤差要因として、自車両が旋回中であることを表す情報である「旋回中」を誤差要因情報テーブルに登録するとともに、センサ移動量を用いた車両移動量の補正が可能であることを表す情報を誤差要因情報テーブルに登録する。すなわち、ステップ301aでセンサ移動量の信頼度がしきい値The以上であると判定された場合は、車両移動量の誤差要因である自車両の旋回が発生しており、センサ移動量の信頼度が十分に高い。そのため、センサ移動量を用いた車両移動量の補正を実施するように、誤差要因情報テーブルに対して登録する情報を決定する。
【0055】
ステップ302aまたはステップ303aのどちらかで誤差要因情報テーブルへの登録を行ったら、誤差要因判定部16は、
図5に示した自車両の旋回に対する判定処理を終了し、
図4のステップ301に進む。
【0056】
ステップ301において、誤差要因判定部16は、二つ目の誤差要因である自車両の段差乗り越えに対する判定を行う。ここでは、例えば
図6に示すフローチャートに従って、自車両の段差乗り越えに対する判定処理が行われる。
【0057】
ステップ300bにおいて、誤差要因判定部16は、
図2のステップ102において車両情報変化点検出部15が、自車両が段差を乗り越えたことを車両情報変化点として検出したか否かを確認する。例えば、ステップ102の判定で用いられるアクセル量に対するしきい値をTh
aとすると、自車両のアクセル量がこのしきい値Th
aを上回っていれば、ステップ102で自車両が段差を乗り越えたと判断され、車両情報変化点として検出される。この場合、ステップ301bに進む。一方、自車両のアクセル量がしきい値Th
a未満であれば、ステップ102で自車両が段差を乗り越えていないと判断され、車両情報変化点として検出されない。この場合、自車両は段差を走行しておらず、平面を走行したと判定し、
図6の判定処理を終了する。なお、ステップ102の処理結果を確認せずに、車両情報30に含まれるアクセル量の情報に基づいて、ステップ300bの判定を行っても良い。
【0058】
ステップ301bにおいて、誤差要因判定部16は、
図2のステップ107において信頼度計算部12により計算されたセンサ移動量の信頼度が、前述のしきい値Th
eを下回っているか否かを判定する。その結果、信頼度がしきい値Th
eよりも小さい場合はステップ302bに進み、しきい値Th
e以上であればステップ303bに進む。
【0059】
ステップ302bにおいて、誤差要因判定部16は、自車両が段差乗り越えを行った可能性があると判断し、誤差要因情報テーブルに登録する。ここでは、車両移動量の誤差要因として、自車両が段差を乗り越えたことを表す情報である「段差乗り越え」を誤差要因情報テーブルに登録するとともに、センサ移動量を用いた車両移動量の補正が不可であることを表す情報を誤差要因情報テーブルに登録する。すなわち、ステップ301bでセンサ移動量の信頼度がしきい値The未満であると判定された場合は、車両移動量の誤差要因である自車両の段差乗り越えが行われた可能性があるが、センサ移動量の信頼度が低い。そのため、センサ移動量を用いた車両移動量の補正を禁止するように、誤差要因情報テーブルに対して登録する情報を決定する。
【0060】
ステップ303bにおいて、誤差要因判定部16は、自車両が段差乗り越えを行ったことで車両移動量に誤差が生じたか否かの検証を行う。具体的には例えば、車両移動量から計算した自車両の移動距離(車両移動距離)と、センサ移動量から計算した自車両の移動距離(センサ移動距離)とを比較するとともに、自車両のピッチ角の変化、すなわち前回の処理からのy軸周りの回転量θ
pitchの差Δθ
pitchを、所定のしきい値Th
fと比較する。ここで、車両移動距離とセンサ移動距離を比較するのは、段差を乗り越えるためにアクセル量を増加させたりタイヤが空転したりすると、車両移動距離が実際の移動距離より大きな値で算出されてしまい、センサ移動距離との間に差が生じるためである。また、ピッチ角の変化を確認するのは、自車両が段差を乗り越えると、前述の式(1)で表される自車両の回転量および並進量のうち、ピッチ角に相当するy軸周りの回転量θ
pitchが最も変化するためである。その結果、車両移動距離がセンサ移動距離よりも大きく、かつ、自車両のピッチ角の変化がしきい値Th
fよりも大きい場合はステップ304bに進む。一方、これらの条件の少なくとも一方を満たさない場合は、自車両が段差を乗り越えていないと判断し、
図6の判定処理を終了する。
【0061】
ステップ304bにおいて、誤差要因判定部16は、自車両が段差を乗り越えたことを誤差要因情報テーブルに登録するとともに、車両移動量の補正に利用可能な補正情報があることを誤差要因情報テーブルに登録する。ここでは、車両移動量の誤差要因として、自車両が段差乗り越えを行ったことを表す情報である「段差乗り越え」を誤差要因情報テーブルに登録するとともに、センサ移動量を用いた車両移動量の補正が可能であることを表す情報を誤差要因情報テーブルに登録する。すなわち、ステップ301bでセンサ移動量の信頼度がしきい値The以上であると判定され、かつ、ステップ303bの条件を満たす場合は、車両移動量の誤差要因である自車両の段差乗り越えが発生しており、センサ移動量の信頼度が十分に高い。そのため、センサ移動量を用いた車両移動量の補正を実施するように、誤差要因情報テーブルに対して登録する情報を決定する。
【0062】
ステップ302bまたはステップ304bのどちらかで誤差要因情報テーブルへの登録を行ったら、誤差要因判定部16は、
図6に示した自車両の段差乗り越えに対する判定処理を終了する。そして、
図4に示した誤差要因判定処理の結果として、ステップ300およびステップ301の処理後に得られた誤差要因情報テーブルを出力し、
図2のステップ109に進む。
【0063】
図8は、移動量推定装置10において記憶される誤差要因情報テーブルの例を示す図である。
図8に示す誤差要因情報テーブルは、フレーム番号801、旋回802、段差803および補正情報804の各フィールドを有する。フレーム番号801には、センサ情報として入力される画像のフレーム番号が格納される。旋回802には、自車両が旋回中であることを表す前述の「旋回中」に相当するフラグ値が格納される。段差803には、自車両が段差を乗り越えたことを表す前述の「段差乗り越え」に相当するフラグ値が格納される。補正情報804には、センサ移動量を用いた車両移動量の補正の可否を表すフラグ値が格納される。
【0064】
ステップ109において、車両移動量補正部17は、ステップ108で誤差要因判定部16から出力された誤差要因情報テーブルに基づき、車両移動量を補正する。ここでは、誤差要因情報テーブルにおいてセンサ移動量を用いた車両移動量の補正が可能であることを表す情報が登録されている場合は、ステップ106でセンサ移動量計算部11により計算されたセンサ移動量を利用して、誤差要因に応じた車両移動量の補正を行う。
【0065】
例えば、誤差要因情報テーブルに「旋回中」が登録されている場合、センサ移動量の回転量で車両移動量の回転量を置き換えることで、車両情報30から計算された自車両の回転量を、センサ移動量を用いて補正する。そして、置き換えた回転量を利用して、車両移動量の並進量を再計算する。並進量の再計算は、例えば、車両移動量により計算された各軸方向の並進量から移動距離を計算し、この距離をセンサ移動量で計算した回転量で各軸方向のベクトルに変換することにより、実施可能である。ここで、回転量と並進量の両方を置き換えないのは、単眼カメラ利用時の課題であるスケールドリフトを防ぐためである。すなわち、自車両が旋回中に常に並進量を補正すると、スケールドリフトにより、実際に移動した距離よりも大きく、または小さく並進量が推定されてしまう。そのため、外界センサ20として単眼カメラを利用した場合は、センサ移動量の並進量から車両移動量の並進量を直接補正しないことが好ましい。
【0066】
また例えば、誤差要因情報テーブルに「段差乗り越え」が登録されている場合、センサ移動量の並進量と車両移動量の回転量を利用して、車両移動量の並進量を再計算する。これにより、車両情報30から計算された自車両の移動量を、センサ移動量を用いて補正する。この場合、瞬間的な値であれば、車両移動量の並進量に生じる誤差よりも正確に、センサ移動量の並進量から実施の移動距離を取得できる。そのため、前述のようなスケールドリフトの影響を受けることなく、車両移動量の並進量を補正することが可能となる。
【0067】
なお、誤差要因情報テーブルにおいてセンサ移動量を用いた車両移動量の補正が可能であることを表す情報が登録されていない場合、車両移動量補正部17は、誤差要因に関わらず、センサ移動量を利用した車両移動量の補正を行わないようにする。これにより、信頼度の低いセンサ移動量を利用した車両移動量の補正を防止する。
【0068】
ステップ110では、ステップ100~109の一連の処理によって得られた各情報を、移動量推定装置10が有するRAMやハードディスク等の記憶媒体(不図示)に登録して記憶させる。これにより、後の処理においても、これらの情報を必要に応じて利用できるようにする。ここで登録される情報は、例えば外界センサ20として単眼カメラを利用した場合は、ステップ103でセンサ情報として取得した撮像画像や、ステップ106で抽出した画像特徴点や、ステップ108で判定した誤差要因などである。なお、ステップ110で登録する情報はこれに限定されるものではない。外界センサ20の種類や、移動量推定装置10が実行する処理に応じて、任意の情報を登録して記憶媒体に記憶させておくことが可能である。
【0069】
ステップ111では、ステップ109で得られた補正後の車両移動量を、移動量推定装置10による車両移動量の推定結果として、自動駐車システム40に出力する。なお、本実施形態では、移動量推定装置10が推定した車両移動量の出力先を自動駐車システム40としたが、これ以外にも任意のシステムに出力することが可能である。
【0070】
以上説明した本発明の第1の実施形態によれば、以下の作用効果が得られる。
【0071】
(1)移動量推定装置10は、車両移動量計算部14と、センサ移動量計算部11と、車両情報変化点検出部15と、誤差要因判定部16と、車両移動量補正部17とを備える。車両移動量計算部14は、自車両の移動に関する車両情報30を取得し(ステップ100)、その車両情報30に基づく自車両の移動量を表す車両移動量を計算する(ステップ101)。センサ移動量計算部11は、自車両の周囲環境に関するセンサ情報を外界センサ20から取得し(ステップ103)、そのセンサ情報に基づく自車両の移動量を表すセンサ移動量を計算する(ステップ106)。車両情報変化点検出部15は、車両情報30に基づいて車両移動量に誤差が生じる場面を車両情報変化点として検出する(ステップ102)。誤差要因判定部16は、車両情報変化点検出部15で検出した車両情報変化点を用いて車両移動量の誤差要因を判定する(ステップ108)。車両移動量補正部17は、誤差要因に応じてセンサ移動量を用いた車両移動量の補正を行い(ステップ109)、自車両の移動量を推定する。このようにしたので、誤差を含んだセンサ移動量の推定結果を基に車両移動量が補正されるのを防止できるため、自車両の移動量推定の精度を向上させることができる。
【0072】
(2)外界センサ20は例えば単眼カメラである。センサ移動量計算部11は、
図3のセンサ移動量計算処理を実行することで、単眼カメラにより撮像された画像をセンサ情報として取得し、センサ移動量を計算する。このようにしたので、安価な単眼カメラを用いてセンサ移動量を計算することができる。
【0073】
(3)車両情報変化点検出部15は、自車両のハンドル角度又はアクセル量の情報に基づき車両情報変化点を検出する。車両移動量補正部17は、車両情報変化点検出部15により車両情報変化点が検出されない場合(ステップ300a:No、ステップ300b:No)は、センサ移動量を用いた車両移動量の補正を行わずに、自車両の移動量を推定する。このようにしたので、車両移動量に誤差が生じない場面において、車両移動量の補正が不要であるにも関わらず実施されてしまうのを防止できる。
【0074】
(4)車両情報変化点検出部15は、自車両のハンドル角度又はアクセル量の情報に基づき、自車両が旋回中である場面および自車両が段差を乗り越えた場面のいずれか一方または両方を、車両情報変化点として検出する。誤差要因判定部16は、車両情報変化点検出部15による車両情報変化点の検出結果に基づいて、誤差要因を判定する(ステップ300a、300b)。車両移動量補正部17は、誤差要因判定部16から入力された誤差要因に応じたセンサ移動量の情報を基に、車両移動量計算部14から入力された車両移動量を補正する。このようにしたので、車両移動量に誤差が生じやすい場面において、その誤差要因を確実に判定し、車両移動量の補正を正確に行うことができる。
【0075】
(5)車両情報変化点検出部15は、自車両が旋回中である場面および自車両が段差を乗り越えた場面のいずれか一方または両方を、車両情報変化点として検出する(ステップ102)。このようにしたので、車両移動量に誤差が生じやすい旋回や段差乗り越えの場面を車両情報変化点として検出することができる。
【0076】
(6)車両情報30は、自車両のハンドル角度およびアクセル量の少なくとも一つを含むことができる。車両情報変化点検出部15は、自車両のハンドル角度およびアクセル量のいずれか一方または両方に基づいて、車両情報変化点を検出する。このようにしたので、車両移動量に誤差が生じやすい旋回や段差乗り越えの場面が生じた場合に、これを車両情報変化点として確実に検出することができる。
【0077】
(7)移動量推定装置10は、センサ移動量の信頼度を計算する信頼度計算部12をさらに備える。誤差要因判定部16は、車両情報変化点の検出結果およびセンサ移動量の信頼度に基づいて、車両移動量補正部17によるセンサ移動量を用いた車両移動量の補正の可否を判断する(ステップ300a、301a、300b、301b)。このようにしたので、センサ移動量を用いた車両移動量の補正の可否を適切に判断することができる。
【0078】
(8)車両移動量計算部14は、複数のパラメータを用いて車両移動量を計算する。車両移動量補正部17は、これらの複数のパラメータのうち誤差要因に応じたパラメータをセンサ移動量を用いて補正し、補正後のパラメータを用いて車両移動量計算部14に車両移動量を再計算させることで、車両移動量の補正を行うことができる。このようにすれば、センサ移動量を用いて車両移動量を適切に補正することができる。
【0079】
(9)移動量推定装置10は、センサ情報の変化が大きい場面をセンサ情報変化点として検出するセンサ情報変化点検出部13をさらに備える。センサ移動量計算部11は、センサ情報変化点検出部13によりセンサ情報変化点が検出された場合(ステップ105:Yes)は、ステップ106の処理を実施せず、センサ移動量の計算を行わない。このようにしたので、センサ移動量を計算しても正しい計算結果が得られず、そのため車両移動量を適切に補正できない場合は、不要なセンサ移動量の計算処理を実施しないようにして処理負荷を軽減できる。
【0080】
(10)外界センサ20は例えばカメラである。センサ情報変化点検出部13は、このカメラにより撮像された画像の輝度変化に基づいてセンサ情報変化点を検出することができる(ステップ104)。このようにすれば、撮像時の照明条件の急激な変化のように、外界センサ20としてカメラを用いた場合に正確なセンサ移動量の推定ができない場面を、センサ情報変化点として確実に検出することができる。
【0081】
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。前述の第1の実施形態では、外界センサ20として単眼カメラを用いた場合の例を説明した。しかし、外界センサ20としてステレオカメラを使用し、このステレオカメラにより撮像されるステレオ画像をセンサ情報として用いて、センサ移動量の計算を行ってもよい。本実施形態では、外界センサ20としてステレオカメラを使用した場合の例を説明する。なお、本実施形態に係る移動量推定装置10の構成は、第1の実施形態で説明した
図1の構成と同様である。
【0082】
外界センサ20としてステレオカメラを利用する場合、移動量推定装置10では、第1の実施形態で説明した
図2のフローチャートのうち、ステップ103、104、106、107の各処理が以下のようにそれぞれ変更される。
【0083】
本実施形態では、ステレオ画像を利用するため、2枚一組の画像をセンサ情報として取得する必要がある。そのため、ステップ103において、移動量推定装置10は、外界センサ20として自車両に搭載された対となるカメラから、それぞれの撮像画像をセンサ情報として取得する。
【0084】
ステップ104において、センサ情報変化点検出部13は、ステップ103で取得した各画像に対して、第1の実施形態で単眼画像に対して行ったのと同様のセンサ情報変化点の検出を行う。その結果、いずれかの画像に急激な変化があった場合、センサ情報変化点として検出する。加えて、対となる画像間で平均輝度値の差が大きい場合にも、センサ情報変化点とする。これは、例えば、片方のカメラにのみ日光が当たり、カメラが撮像した画像が白飛びした時に、この画像を利用してセンサ移動量の推定が行われることを避けるためである。
【0085】
ステップ106において、センサ移動量計算部11は、第1の実施形態で単眼画像を利用した場合とは異なった移動量推定方法により、センサ移動量を計算する。ここでは、例えば
図9に示すフローチャートに従って、センサ移動量の計算を行う。
【0086】
まず、ステップ200Bにおいて、センサ移動量計算部11は、ステップ103で読み込んだ対となる画像から、三角測量の要領で視差(距離情報)を計算する。この視差の計算には、例えば公知の技術であるBlock Matching法やSemi Global Matching法を用いることができる。
【0087】
次に、ステップ201Bにおいて、センサ移動量計算部11はカメラの移動量の推定を行う。ここでは、ステップ200Bで計算した距離情報を含む画素(3次元特徴点)を利用し、前周期の処理においてステップ110で記憶された距離データとの相対移動量を求めることにより、カメラの移動量を推定する。ここで、3次元特徴点は、LiDARやレーダ等の距離センサから取得した距離データと同様に取り扱うことができる。このため、例えばIterative Closest Point(ICP)やNormal Distributions Transform(NDT)など、距離データ同士の剛体変換により座標変換式を求める周知の方法により、3次元特徴点からカメラの移動量を求めることが可能である。または、第1の実施形態で説明したような単眼画像を利用した特徴点対応付け手法や、SHOT特徴量などの3次元形状を基にした特徴量を利用した公知の対応付け手法により、3次元特徴点同士の対応付けを行い、その対応付け結果に基づく特異値分解を利用して剛体変換を求めても良い。これ以外にも任意の方法を用いて、ステップ200Bで計算した距離情報から、カメラの移動量を推定することができる。
【0088】
ステップ201Bでカメラの移動量を推定したら、センサ移動量計算部11は、その推定結果をセンサ移動量の計算結果として出力し、
図9のフローチャートに示すセンサ移動量計算処理を終了する。
【0089】
ステップ107において、信頼度計算部12は、ステップ106でセンサ移動量計算部11によりステレオ画像を利用して計算されたセンサ移動量の信頼度を計算する。ここでは、例えば以下の3つの指標を利用して、センサ移動量の信頼度を計算する。
【0090】
一つ目の指標は、最近傍の3次元特徴点同士の距離の平均である。この平均値が大きい場合、すなわち3次元特徴点間の距離が離れている場合は、剛体変換により適切な座標変換式が求められなかったと考えられる。そのため、3次元特徴点間の距離の平均が小さいほど、センサ移動量の信頼度が高いと判断できる。例えば、点群処理ライブラリの一つであるPoint Cloud Library(PCL)のICPを利用する場合には、3次元点群の密度にもよるが、3次元特徴点間の距離の平均が0.02~0.3以下であれば、センサ移動量の計算結果が信頼できるものと判断できる。
【0091】
二つ目の指標は、特徴点対応付けを行った際の対応点の数である。すなわち、対応点の数が多いほど、画像間に共通の物体・領域があると判断できるため、これを利用してセンサ移動量の計算結果に対する信頼度を判断することが可能である。
【0092】
三つ目の指標は、最終的に対応付けられなかった3次元特徴点の数である。すなわち、座標変換式を求める2つの地点間の環境が類似している場合、ほぼすべての3次元特徴点同士が対応付けられる。一方で、他の車両等が自車両の前方を急に横切った場合や、画像中にオクルージョンが発生して距離が得られない箇所がある場合には、対応付けられなかった特徴点の数が増加する。そのため、前後の画像間で対応付けられなかった3次元特徴点の数が多いほど、センサ移動量の信頼度が低いと判断できる。
【0093】
本実施形態では、センサ移動量の計算において利用される手法に合わせて、上記の各指標に対する信頼度の評価基準を適宜選択することが可能である。また、信頼度の計算方法は、第1の実施形態で説明したように、条件を満たすか否かによって1または0で計算しても良いし、あるいは0~1の間で任意の値を適宜設定しても良い。
【0094】
以上説明した本発明の第2の実施形態によれば、外界センサ20は、3次元距離データを取得可能なステレオカメラである。センサ移動量計算部11は、
図9のセンサ移動量計算処理を実行することで、3次元距離データをセンサ情報として取得し、センサ移動量を計算する。このようにしたので、センサ移動量を正確に計算することができる。
【0095】
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。前述の第2の実施形態では、外界センサ20としてステレオカメラを使用し、このステレオカメラにより撮像されるステレオ画像をセンサ情報として用いることにより、距離情報を取得してセンサ移動量の計算を行う例を説明した。しかし、外界センサ20としてステレオカメラ以外の距離センサを利用して距離情報を取得してもよい。本実施形態では、外界センサ20として距離センサの一種であるLiDARを使用した場合の例を説明する。なお、本実施形態に係る移動量推定装置10の構成は、第1の実施形態で説明した
図1の構成と同様である。
【0096】
外界センサ20としてLiDARを利用する場合、移動量推定装置10では、第1の実施形態で説明した
図2のフローチャートのうち、ステップ103、104、106、107の各処理が以下のようにそれぞれ変更される。
【0097】
本実施形態では、ステップ103において、移動量推定装置10は、外界センサ20として自車両に搭載されたLIDARから、自車両の周囲に対する距離情報をセンサ情報として取得する。ここでは、例えば路面からの高さ情報を含み複数レイヤから構成される3次元距離データを、センサ情報として取得する。
【0098】
ステップ104において、センサ情報変化点検出部13は、ステップ103で取得した距離情報に対して、センサ情報変化点の検出を行う。LiDARにより計測される3次元距離データが急激に変化する状況としては、例えばノイズの増加が考えられる。すなわち、LiDARは計測対象の物体までの距離をレーザ照射によって測定する。この時、例えば強い雨が降っていると、レーザ光が雨により反射されることで、センサ付近や空中に小さな物体がまばらに誤検出される。このため、センサ付近や空中に小さな物体が検出された場合には、センサ情報変化点と判断できる。一方で、これらのまばらなノイズは、ソフトウェア処理によって除去する公知の手法がいくつかあるため、センサ情報変化点として検出しなくても良い。
【0099】
ステップ106において、センサ移動量計算部11は、第2の実施形態のようにステレオ画像を利用した場合と同様の移動量推定方法により、センサ移動量を計算する。ここでは、例えば
図10に示すフローチャートに従って、センサ移動量の計算を行う。
【0100】
まず、ステップ200Cにおいて、センサ移動量計算部11は、所定の前処理を実施する。ここでは、例えばLiDARから取得した3次元距離データのうち不要なデータを削除する処理などを前処理として実施する。
【0101】
次に、ステップ201Cにおいて、センサ移動量計算部11はLiDARの移動量の推定を行う。ここでは、第2の実施形態で説明した
図9のステップ201Bと同様に、例えばIterative Closest Point(ICP)やNormal Distributions Transform(NDT)など、距離データ同士の剛体変換により座標変換式を求める周知の方法により、3次元距離データからLiDARの移動量を求めることが可能である。
【0102】
ステップ201CでLiDARの移動量を推定したら、センサ移動量計算部11は、その推定結果をセンサ移動量の計算結果として出力し、
図10のフローチャートに示すセンサ移動量計算処理を終了する。
【0103】
ステップ107において、信頼度計算部12は、ステップ106でセンサ移動量計算部11により3次元距離データを利用して計算されたセンサ移動量の信頼度を計算する。ここでは、第2の実施形態で説明した3つの指標のうち、例えば一つ目と三つ目の指標を利用して、センサ移動量の信頼度を計算することができる。
【0104】
以上説明した本発明の第3の実施形態によれば、外界センサ20は、3次元距離データを取得可能なLiDARである。センサ移動量計算部11は、
図10のセンサ移動量計算処理を実行することで、3次元距離データをセンサ情報として取得し、センサ移動量を計算する。このようにしたので、第2の実施形態と同様に、センサ移動量を正確に計算することができる。
【0105】
なお、以上説明した第3の実施形態では、外界センサ20として距離センサの一種であるLiDARを使用した場合の例を説明したが、例えばレーダ等の他の距離センサを使用した場合についても同様に適用可能である。
【0106】
(第4の実施形態)
次に、本発明の第4の実施形態について説明する。前述の第1の実施形態では、誤差要因判定部16において車両移動量の誤差要因を判定し、センサ移動量が信頼できると判断したときに、車両移動量の任意のパラメータをセンサ移動量にて置き換えることにより、車両移動量を補正する例を説明した。しかし、カルマンフィルタなどの確率的位置推定手法の枠組みを取り入れることで、車両移動量をセンサ移動量により補正してもよい。本実施形態では、カルマンフィルタを利用して車両移動量の補正を行う場合の例を説明する。なお、本実施形態に係る移動量推定装置10の構成は、第1の実施形態で説明した
図1の構成と同様である。
【0107】
図11は、本発明の第4の実施形態に係る移動量推定装置10による処理の全体を示すフローチャートである。このフローチャートは、ステップ109の処理がステップ109Aに置き換えられている以外は、第1の実施形態で説明した
図2のフローチャートと同じである。そのため以下の説明では、このステップ109Aの処理内容のみを説明し、
図11のフローチャートの他の部分については説明を省略する。
【0108】
ステップ109Aにおいて、車両移動量補正部17は、ステップ108で誤差要因判定部16から出力された誤差要因情報テーブルに基づき、カルマンフィルタを用いて車両移動量とセンサ移動量を統合することにより、車両移動量の補正を行う。例えば、車両姿勢を予測することを目的として、車両移動量とセンサ移動量をそれぞれ観測値としてカルマンフィルタに入力することで、車両移動量とセンサ移動量を統合した補正後の車両移動量を求めることができる。
【0109】
なお、前述のようにステップ104でセンサ情報変化点が検出されたため、ステップ106でセンサ移動量が計算されない場合や、取得したセンサ情報によっては、センサ移動量の計算結果に対してステップ107で計算される信頼度が低い場合がある。このような場合には、センサ移動量のカルマンゲインを0として車両移動量のみを利用することで、車両姿勢の予測や更新に悪影響を与えることを防ぐことができる。また、ステップ102で車両情報変化点が検出された場合には、車両情報の観測結果に対する信頼性が低いと判断して、車両移動量のカルマンゲインを小さくすることが好ましい。以上の方法により、カルマンフィルタを利用して、車両移動量をセンサ移動量で補正することが可能となる。
【0110】
以上説明した本発明の第4の実施形態によれば、車両移動量補正部17は、車両移動量およびセンサ移動量を観測値として入力し、これらの観測値を用いたカルマンフィルタにより車両移動量の補正を行う(ステップ109A)。このようにしたので、センサ移動量を用いた車両移動量の補正をより柔軟に行うことができる。
【0111】
以上、本発明の各実施形態について述べたが、本発明は前述の実施形態に限定されるものでなく、特許請求の範囲に記載された範囲を逸脱しない範囲で種々の変更を行うことができる。例えば、上記の実施形態では自動駐車システム40と組み合わされて使用される移動量推定装置10について説明したが、他のシステムで用いられる移動量推定装置においても本発明を適用可能である。また、前述した実施の形態は本発明を詳細に説明したものであり、必ずしも説明した全ての構成を備える必要はない。さらに、構成に他の実施形態の構成を加えることも可能である。加えて、構成の一部について、追加、削除、置き換えも可能である。
【0112】
以上説明した実施形態や変形例はあくまで一例であり、発明の特徴が損なわれない限り、本発明はこれらの内容に限定されるものではない。また、上記では種々の実施形態や変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【符号の説明】
【0113】
10 移動量推定装置
11 センサ移動量計算部
12 信頼度計算部
13 センサ情報変化点検出部
14 車両移動量計算部
15 車両情報変化点検出部
16 誤差要因判定部
17 車両移動量補正部
20 外界センサ
30 車両情報
40 自動駐車システム