<第1の実施形態>
以下、本発明の第1の実施形態について図を用いて説明する。図1は、本実施形態に係るカメラ校正装置を適用した運転支援システム100の概略的な構成の一例を示す図である。この運転支援システム100は、車室外の所定領域を撮影するカメラの撮影画像を、例えば俯瞰画像に変換してディスプレイに表示することで、ドライバが車両周辺の状況を認識することを支援するものである。
以降では、当該運転支援システム100が搭載された車両を自車両と称する。また、以降では、自車両における所定の位置を原点とし、互いに直交するX軸、Y軸、Z軸を備える右手系の3次元座標系を導入して、自車両が備える各部の位置関係について説明する。
X軸は、車両前後方向に平行であって、車両の後部から前部に向かう方向を正の方向とする軸であり、Y軸は、自車両の車幅方向に平行であって、車両右側から左側に向かう方向を正の方向とする軸とする。Z軸は、車両の高さ方向に平行であって、車両の床部から屋根部に向かう方向を正の方向とする。原点は、一例として自車両の中心、つまり、自車両の両側面から等距離にある車両の中心線上において、車両前端から後端までの距離が等しい点とする。もちろん、原点はその他の位置でもよく、例えば後輪軸の車幅方向中央となる位置としてもよい。
本実施形態にかかる運転支援システム100は、図1に示すように、制御部1、車速センサ2、車体側傾斜センサ3、ディスプレイ4、フロントカメラ5、及びリアカメラ6を備えている。
制御部1は、運転支援システム100の動作を制御するものであって、車速センサ2、車体側傾斜センサ3、ディスプレイ4、フロントカメラ5、及びリアカメラ6のそれぞれとは、周知の車両内ネットワークを介して相互通信可能に構成されている。この制御部1についての詳細は後述する。
車速センサ2は、自車両の走行速度を検出するセンサである。車体側傾斜センサ3は、水平面に対する自車両の車体の傾きを検出するセンサ(つまり傾斜センサ)である。ここでの水平面とは重力が作用する方向に垂直な平面を指す。本実施形態の車体側傾斜センサ3は、水平面に対する車体の傾きを、互いに直交する2つの軸(X0軸、Y0軸とする)のそれぞれに対する回転角度に分解して検出する、周知の2軸傾斜センサとする。2軸傾斜センサは、3軸加速度センサを用いて実現されるものであってもよいし、振り子と磁気センサを組み合わせて実現されるものであってもよい。
この車体側傾斜センサ3は、例えば図2に示すように、X0軸とX軸とが同一方向となって、Y0軸がY軸と同一方向となるように、車体の所定の位置(例えば床部)などに固定されればよい。車体側傾斜センサ3が検出するX0軸周りの回転角(ロール角θr0とする)は、車体の車幅方向の傾斜角を表し、Y0軸周りの回転角(ピッチ角θp0とする)は車体の車両前後方向の傾斜角を表す。
本実施形態では一例として、車体側傾斜センサ3は、自車両において水平面に平行な部分に設置されているものとする。したがって、各タイヤの空気圧が不平衡となっている場合などの特殊な状況を除き、自車両が水平な道路上に存在する場合には、車体側傾斜センサ3が検出するロール角θr0、ピッチ角θp0ともに0度となる。
車体側傾斜センサ3は、ロール角θr0を表す信号、及びピッチ角θp0を表す信号のそれぞれを逐次制御部1に出力する。ここでは一例として、ロール角θr0は、中立の状態からX0軸の右ねじの方向の回転角を正の値で表し、逆方向の回転角を負の値で表すこととする。また、ピッチ角θp0は、中立の状態からY0軸の右ねじの方向の回転角を正の値で表し、逆方向の回転角を負の値で表すこととする。
なお、車両は剛体であるため、路面と車体の底部は略平行となる。つまり、車体側傾斜センサ3が検出するピッチ角θp0は、自車両が存在している道路の、車両前後方向における勾配を表し、車体側傾斜センサ3が検出するロール角θr0は、自車両が存在している道路の、車幅方向における勾配を表す。したがって、車両の前後方向と道路の延長方向とが一致している場合には、車体側傾斜センサ3が検出するピッチ角θp0は、当該道路の縦断勾配を表し、車体側傾斜センサ3が検出するロール角θr0は当該道路の片勾配を表す。
この車体側傾斜センサ3が請求項に記載の車両姿勢検出器に相当し、ピッチ角θp0及びロール角θr0が請求項に記載の車両姿勢指標値の一例に相当する。また、X0軸の延長方向、及びY0軸の延長方向が請求項に記載の車両側検出方向に相当する。
ディスプレイ4は、制御部1から入力される信号に基づいてテキストや画像を表示する。ディスプレイ4は、例えばフルカラー表示が可能なものであり、液晶ディスプレイ、有機ELディスプレイ等を用いて構成することができる。ディスプレイ4は、ここでは一例としてインストゥルメントパネルの車幅方向中央付近に配置されたディスプレイとする。なお、他の態様として、ディスプレイ4は、メータユニットに設けられたディスプレイであってもよいし、周知のヘッドアップディスプレイであってもよい。
フロントカメラ5は、自車両の前方の所定範囲を撮影するように設けられたカメラである。フロントカメラ5は、例えば、広角レンズによって撮影範囲が広角(例えば画角175°)に設定された周知のCMOSカメラやCCDカメラ等を用いることができる。フロントカメラ5は、例えばフロントバンパの車幅方向中央部付近に設置されればよい。
もちろん、フロントカメラ5の設置位置は、フロントバンパの車幅方向中央部付近に限らず、例えば車室内のルームミラー付近やフロントガラスの上端などの、自車両前方に対するドライバの視界を遮らない位置に取り付けられればよい。
フロントカメラ5には、予め上下方向(縦方向)と左右方向(横方向)が規定されている。フロントカメラ5は、上述した所定の設置箇所において、撮影方向の中心軸である光軸の水平面への正射影ベクトルがX軸と同一方向となり、左右方向がY軸と平行となるように取り付けられる。フロントカメラ5が撮影した映像信号は、制御部1に逐次出力される。
また、フロントカメラ5は、フロントカメラ5の水平面に対する傾きを検出する傾斜センサ(以降、第1傾斜センサ)51を備える。第1傾斜センサ51は、前述の車体側傾斜センサ3と同様に、水平面に対するフロントカメラ5の傾斜角度を、2つの軸(X1軸、Y1軸とする)毎の回転角度に分解して検出する2軸傾斜センサである。
第1傾斜センサ51は、第1傾斜センサ51のX1軸が、フロントカメラ5の光軸と一致し、Y1軸が、フロントカメラ5の横方向と一致するように、フロントカメラ5の筐体内に設けられている。つまり、フロントカメラ5が上述した姿勢で車体に取り付けられている場合、X1軸のXY平面への正射影ベクトルはX軸の正の方向と同じ向きとなり、かつ、Y1軸のXY平面の正射影ベクトルはY軸の正の方向と同じ向きとなっている。
これにより、第1傾斜センサ51は、車両前後方向におけるフロントカメラ5の水平面に対する傾斜角(ピッチ角θp1とする)と、車幅方向におけるフロントカメラ5の水平面に対する傾斜角(ロール角θr1とする)を検出する。
第1傾斜センサ51の検出結果(ピッチ角θp1及びロール角θr1)は、制御部1に逐次出力される。なお、ロール角θr1は、ピッチ角θp0と同様に、中立の状態からX1軸を回転軸とする右ねじの方向の回転角を正の値で表し、逆方向の回転角を負の値で表すこととする。また、ピッチ角θp1は、中立の状態からY1軸の右ねじの方向の回転角を正の値で表し、逆方向の回転角を負の値で表すこととする。
この第1傾斜センサ51が請求項に記載のカメラ姿勢検出器に相当し、ピッチ角θp1及びロール角θr1が請求項に記載のカメラ姿勢指標値の一例に相当する。また、X1軸の延長方向、及びY1軸の延長方向が請求項に記載のカメラ側検出方向に相当する。
本実施形態では第1傾斜センサ51はフロントカメラ5の筐体内に設置されている構成とするが、他の態様として、筐体の外側に一体的に取り付けられている構成としてもよい。
リアカメラ6は、自車両の後方の所定範囲を撮影するように設けられたカメラである。例えば、リアカメラ6はフロントカメラ5と同様に、広角レンズによって撮影範囲が広角に設定された周知のCMOSカメラやCCDカメラ等を用いることができる。リアカメラ6は、例えばリアバンパの車幅方向中央部付近に設置されればよい。
もちろん、リアカメラ6の設置位置は、リアバンパの車幅方向中央部付近に限らず、例えばリアウィンドウの上端付近など、ドライバの後方確認のための視界を遮らない位置に取り付けられればよい。
リアカメラ6にも、予め上下方向(縦方向)と左右方向(横方向)が規定されている。リアカメラ6は、上述した所定の設置箇所において、撮影方向の中心軸である光軸の水平面への正射影ベクトルがX軸の負の方向と同一方向となり、左右方向がY軸と平行となるように取り付けられる。リアカメラ6が撮影した映像信号は、制御部1に逐次出力される。
また、リアカメラ6は、リアカメラ6の水平面に対する傾きを検出する傾斜センサ(以降、第2傾斜センサ)61を備える。第2傾斜センサ61は、前述の車体側傾斜センサ3と同様に、水平面に対すリアカメラ6の傾斜角度を、互いに直交する2つの軸(X2軸、Y2軸とする)毎の回転角度に分解して検出する2軸傾斜センサである。
第2傾斜センサ61は、第2傾斜センサ61のX2軸がリアカメラ6の光軸方向と一致し、Y2軸は、リアカメラ6の横方向と一致するようにリアカメラ6に内蔵されている。つまり、リアカメラ6が上述した姿勢で車体に取り付けられている場合、X2軸のXY平面への正射影ベクトルはX軸の負の方向と同じ向きとなり、かつ、Y2軸のXY平面の正射影ベクトルはY軸の負の方向と同じ向きとなる。
これにより、第2傾斜センサ61は、車両前後方向におけるリアカメラ6の水平面に対する傾斜角(ピッチ角θp2とする)と、車幅方向におけるリアカメラ6の水平面に対する傾斜角(ロール角θr2とする)を検出する。
第2傾斜センサ61の検出結果(ピッチ角θp2及びロール角θr2)は、制御部1に逐次出力される。なお、ロール角θr2は、中立の状態からX2軸を回転軸とする右ねじの方向の回転角を正の値で表し、逆方向の回転角を負の値で表すこととする。また、ピッチ角θp2は、中立の状態からY2軸の右ねじの方向の回転角を正の値で表し、逆方向の回転角を負の値で表すこととする。
第2傾斜センサ61が請求項に記載のカメラ姿勢検出器に相当し、ピッチ角θp2及びロール角θr2が請求項に記載のカメラ姿勢指標値の一例に相当する。また、X2軸の延長方向、及びY2軸の延長方向が請求項に記載のカメラ側検出方向に相当する。
本実施形態では第2傾斜センサ61はリアカメラ6の筐体内に設置されている構成とするが、他の態様として、筐体の外側に一体的に取り付けられている構成としてもよい。
以降において、フロントカメラ5とリアカメラ6とを区別しない場合には単に車載カメラと記載する。また、車体側傾斜センサ3、第1傾斜センサ51、第2傾斜センサ61を区別しない場合には傾斜センサと称する。特に、車載カメラに取り付けられた傾斜センサである第1傾斜センサ51、第2傾斜センサ61は、カメラ側傾斜センサと称する。
制御部1は、通常のコンピュータとして構成されており、周知のCPU11、メモリ12、ストレージ13、入出力インターフェース(以降、I/O)14、及びこれらの構成を接続するバスラインなどを備えている。
CPU11は、周知の中央処理装置であり、メモリ12を演算領域として用いることで、種々の演算処理を実行する。メモリ12は、例えばRAMなどの一時記憶媒体によって実現されればよく、CPU11にとっての主記憶装置として機能する。ストレージ13は、ROMやフラッシュメモリなどの不揮発性の記憶媒体によって実現されればよく、CPU11にとっての補助記憶装置として機能する。なお、ここではCPU11は1つしか図示していないが複数備えていてもよい。
I/O14は、例えばフロントカメラ5等の、制御部1に接続する機器と、制御部1との間で行われるデータの送受信を制御する。例えばI/O14は、フロントカメラ5やリアカメラ6から入力された映像信号を、後述する画像処理部F7による画像処理が可能な形式の画像データに変換して、メモリ12に蓄積する。
ストレージ13には、種々の処理を実行するためのプログラムや、車載カメラ毎のカメラ情報が格納されている。カメラ情報は、自車両における各車載カメラの設置位置を示す設置位置データや、車載カメラの車両に対する取付姿勢を示す取付姿勢データ、レンズの歪み係数や、焦点距離、光軸中心、画素サイズ、画素比などを示す内部データを含む。
各車載カメラの設置位置は、例えば、前述の3次元座標系の座標によって表されれば良い。また、取付姿勢は、X軸、Y軸、Z軸を基準として定まるピッチ角、ロール角、ヨー角によって表されればよい。つまり、ストレージ13には、フロントカメラ5のピッチ角P1、ロール角R1、ヨー角Y1と、リアカメラ6のピッチ角P2、ロール角R2、ヨー角Y2を記憶している。
フロントカメラ5のピッチ角P1は、簡略的に、XY平面とフロントカメラ5の光軸とが為す角度とし、ロール角R1は、XY平面とフロントカメラ5の横方向とが為す角度とし、ヨー角Y1は、光軸のXY平面への正射影とX軸とが為す角度(0度)とする。リアカメラ6のピッチ角P2は、簡略的に、XY平面とリアカメラ6の光軸とが為す角度であり、ロール角R2は、XY平面とリアカメラ6の横方向とが為す角度とし、ヨー角Y2は、光軸のXY平面への正射影とX軸とが為す角度(180度)とする。
以上で定義されたヨー角は、車載カメラの概略的な撮影方向を表す。本実施形態においては、各車載カメラのヨー角の初期の取付姿勢からのずれは無視できるものとする。
設置位置データや取付姿勢データは、初期状態においては、所定の試験環境で予め測定された値や、設計上の値となっている。取付姿勢を示す種々の要素(ロール角やピッチ角)のうち、後述する姿勢更新関連処理によって更新されていない要素については、初期状態においてストレージ13に格納されている値が、現在の取付姿勢を表す値である。また、取付姿勢を示す種々の要素のうち、後述する姿勢更新関連処理によって更新された要素については、その更新後の値が、現在の取付姿勢を表す値としてストレージ13(又はメモリ12)保持される。
また、ストレージ13は、車載カメラ毎のカメラ情報として、その車載カメラの撮影画像に対する画像処理(例えば周知の視点変換処理など)に用いるパラメータとしてのカメラパラメータを記憶している。カメラパラメータは、車載カメラの設置位置や取付姿勢に応じて定まるパラメータである。
さらに、ストレージ13は、各車載カメラが備える傾斜センサの検出方向の対応関係を示すデータを記憶している。各傾斜センサの検出方向は、各傾斜センサが備える検出軸の方向として記述されていればよい。
制御部1は、ストレージ13に格納されているプログラムを実行することによって実現する機能ブロックとして、図3に示すように、停車判定部F1、検出結果管理部F2、更新要否判定部F3、取付姿勢特定部F5、パラメータ調整部F6、画像処理部F7、及び車両姿勢特定部F4を備える。なお、制御部1が備える機能の一部又は全部は、一つあるいは複数のIC等によりハードウェア的に構成してもよい。
停車判定部F1は、車速センサ2から入力される車速に基づいて、自車両が停車しているか否かを判定する。例えば停車判定部F1は、現在の車速が0km/hとなっている場合に自車両が停止していると判定し、現在の車速が0km/hよりも大きい値となっている場合に自車両が停止していないと判定する。もちろん、他の態様として車速が所定の閾値(例えば5km/h)未満となっている場合に停車していると判定し、車速がその閾値以上となっている場合に停車していないと判定してもよい。
また、ここでは一例として車速に基づいて自車両が停車しているか否かを判定する態様を例示したが、その他、周知の種々の方法によって自車両が停車している否かを判定すれば良い。例えばシフトポジションセンサが検出するシフトポジションに基づいて自車両が停車しているか否かを判定してもよい。
検出結果管理部F2は、車体側傾斜センサ3、第1傾斜センサ51、第2傾斜センサ61のそれぞれの検出結果を逐次(例えば50ミリ秒毎に)取得し、取得した検出結果を、その検出結果の出力元毎に区別してメモリ12に格納する。傾斜センサ毎の検出結果は例えば取得順に並べてメモリ12に格納していけばよい。また、傾斜センサ毎の検出結果は、さらに、ピッチ角とロール角とで区別して保存される。
図3に示す第1検出結果記憶部M11は、メモリ12が備える記憶領域のうち、第1傾斜センサ51から逐次取得する検出結果を記憶している領域である。また、第2検出結果記憶部M12は、メモリ12が備える記憶領域のうち、第2傾斜センサ61から逐次取得する検出結果を記憶している領域である。車体側検出結果記憶部M2は、メモリ12が備える記憶領域のうち、車体側傾斜センサ3から逐次取得する検出結果を記憶している領域である。第1検出結果記憶部M11、第2検出結果記憶部M12が請求項に記載のカメラ用検出結果記憶部に相当し、車体側検出結果記憶部M2が請求項に記載の車両用検出結果記憶部に相当する。
また、検出結果管理部F2は、第1傾斜センサ51からピッチ角θp1を取得する度に、その取得したピッチ角θp1から現在の取付姿勢として採用されているピッチ角P1を減算したピッチ角変位量Δθp1を算出し、第1検出結果記憶部M11に格納する。ロール角θr1についても同様に、ロール角θr1を取得する毎に、その取得したロール角θr1から現在の取付姿勢として採用されているロール角R1を減算したロール角変位量Δθr1を算出し、第1検出結果記憶部M11に格納する。
フロントカメラ5の現在の取付姿勢として採用されているピッチ角P1やロール角R1とは、所定の試験環境で測定された値、又は、前回実施した姿勢更新関連処理によって特定されたピッチ角、ロール角を指す。
また、検出結果管理部F2は、第2傾斜センサ61からピッチ角θp2、ロール角θr2を取得した時も、第1傾斜センサ51からピッチ角θp1、θr1を取得した時と同様の処理を行う。つまり、第2傾斜センサ61からピッチ角θp2を取得する度に、その取得したピッチ角θp2から現在の取付姿勢として採用されているピッチ角P2を減算したピッチ角変位量Δθp2を算出し、第2検出結果記憶部M12に格納する。また、ロール角θr2を取得する毎に、その取得したロール角θr2から現在の取付姿勢として採用されているロール角R2との差分であるロール角変位量Δθr2を算出し、第2検出結果記憶部M12に格納する。
検出結果管理部F2が逐次算出するピッチ角変位量Δθp1、ロール角変位量Δθr1、ピッチ角変位量Δθp2、ロール角変位量Δθr2を、変位量Δθと総称する。検出結果管理部F2が備える変位量算出部F21は、これらの変位量Δθを算出する機能ブロックである。この変位量算出部F21が請求項に記載の角度変位量算出部に相当する。
さらに、検出結果管理部F2は、傾斜センサ毎の検出結果が、予め定められた、車載カメラの姿勢を特定するために十分な量(所要検出回数分)の検出結果が収集されたか否かを判定する。なお、車載カメラの姿勢を特定するために十分な量の検出結果を収集している期間をデータ収集期間とも称する。所要検出回数は適宜設計されれば良い。
検出結果管理部F2は、予め定められた所定検出回数分の検出結果を収集できたと判定した場合、傾斜センサ毎の検出結果の最頻値を特定する。ここでの最頻値とは統計学で用いられる最頻値と同義のものであり、1つの状態量に対する複数回の検出の結果、最も頻繁に出現した値である。
より具体的に、検出結果管理部F2は、第1検出結果記憶部M11に格納されている複数のピッチ角θp1を母集団として、第1傾斜センサ51が検出したピッチ角θp1の最頻値を特定する。また、第1検出結果記憶部M11に格納されている複数のロール角θr1を母集団として、第1傾斜センサ51が検出したロール角θr1の最頻値を特定する。同様にして、検出結果管理部F2は、データ収集期間内において第2傾斜センサ61が検出したピッチ角θp2の最頻値、ロール角θr2の最頻値、車体側傾斜センサ3が検出したピッチ角θp0の最頻値、及びロール角θr0の最頻値を特定する。ピッチ角θp1の最頻値、ロール角θr1の最頻値、ピッチ角θp2の最頻値、ロール角θr2の最頻値が請求項に記載のカメラ側最頻値に相当し、ピッチ角θp0の最頻値、ロール角θr0の最頻値が請求項に記載の車両側最頻値に相当する。
更新要否判定部F3は、フロントカメラ5の取付姿勢データを更新する必要があるか否か、及び、リアカメラ6の取付姿勢データを更新する必要があるか否かを判定する。この更新要否判定部F3についての詳細は別途後述する。
車両姿勢特定部F4は、車体側傾斜センサ3の検出結果に基づいて、水平面に対する自車両の姿勢を特定する。ここでの水平面に対する自車両の姿勢とは、傾きの有無、及び、傾きが生じている場合にはその大きさを指す。さらに、本実施形態では、車両前後方向における傾きと車幅方向における傾きを区別して取り扱う。
より具体的には、車両姿勢特定部F4は、検出結果管理部F2が特定する、車体側傾斜センサ3が検出したピッチ角θp0の最頻値、及びロール角θr0の最頻値に基づいて、水平面に対する自車両の姿勢を特定する。つまり、ピッチ角θp0の最頻値を車両前後方向における車体の傾斜角として採用する。したがって、ピッチ角θp0の最頻値が0度(或いは0度と見なすことができる値)である場合には、車両前後方向において車体は傾いていないと見なす。また、ロール角θr0の最頻値を車幅方向における車体の傾斜角として採用する。したがって、ロール角θr0の最頻値が0度である場合には、車幅方向において車体は傾いていないと判定する。
なお、本実施形態では、車体側傾斜センサ3が備えるX1軸がX軸と同一方向となり、Y1軸がY軸と同一方向となり、さらに、自車両が水平な姿勢となっている場合には、ピッチ角θp0及びロール角θr0が0度となるように、車体側傾斜センサ3を車体に設置した態様とした。そのため、ピッチ角θp0の最頻値を車両前後方向における車体の傾斜角とし、ロール角θr0の最頻値を車幅方向における車体の傾斜角として採用するものとしたが、これに限らない。水平面に対する自車両の姿勢は、車体に対する車体側傾斜センサ3の取付姿勢に応じて、適宜補正して特定されれば良い。
例えば、車体側傾斜センサ3のX1軸とX軸、Y1軸とY軸がずれている場合には、そのずれ度合いを鑑みて、検出結果を補正して用いれば良い。また、自車両が水平な姿勢となっている場合の検出結果として0ではない所定の値(基本出力値とする)を出力するように設置されている場合にも、予め基本出力値を計測しておき、その基本出力値を基準として、水平面に対する自車両の姿勢を特定すればよい。
取付姿勢特定部F5は、現在のフロントカメラ5の車体に対する取付姿勢としてのピッチ角P1、ロール角R1を特定する。また、現在のリアカメラ6の車体に対する取付姿勢としてのピッチ角P2、ロール角R2を特定する。この取付姿勢特定部F5についての詳細は別途後述する。
パラメータ調整部F6は、取付姿勢特定部F5の特定結果に基づいて、車載カメラに対応するカメラパラメータを補正する。つまり、取付姿勢特定部F5が現在のフロントカメラ5の現在の車体に対する取付姿勢を特定した場合には、その特定された現在の取付姿勢に基づいてフロントカメラ5に対応するカメラパラメータを補正する。また、取付姿勢特定部F5が現在のリアカメラ6の現在の車体に対する取付姿勢を特定した場合には、その特定された現在の取付姿勢に基づいてリアカメラ6に対応するカメラパラメータを補正する。
画像処理部F7は、車載カメラから入力される画像データに対して種々の周知の画像処理を実施して、ディスプレイ4に表示するための画像を生成する。例えば、画像処理部F7は、フロントカメラ5が撮影した画像を、フロントカメラ5に対応するカメラパラメータを用いて俯瞰画像に変換する処理を行う。また、画像処理部F7は、各車載カメラから入力された画像や、車載カメラから入力された画像に対して種々の画像処理を施して生成した画像のデータをディスプレイ4に出力し、表示させる。
(第1の実施形態におけるカメラ姿勢更新関連処理)
次に、各車載カメラの姿勢データを更新するために制御部1が実施する一連の処理(カメラ姿勢更新関連処理とする)について、図4に示すフローチャートを用いて説明する。図4に示すカメラ姿勢更新関連処理は、フロントカメラ5及びリアカメラ6のそれぞれを対象として、独立して実施されればよい。
ここでは、一例として、フロントカメラ5を処理の対象とし、さらに、フロントカメラ5のピッチ角P1を特定及び更新する場合について説明する。もちろん、フロントカメラ5のロール角R1を更新する場合も同様に実施すれば良い。また、処理対象とする車載カメラをリアカメラ6とした場合も同様の処理手順で実施すればよい。
この図4に示すフローチャートは、例えば、自車両のイグニッション電源がオンとなった場合や、前回この処理を実施してから一定時間経過した時に開始されれば良い。
まずステップS101では停車判定部F1が、自車両が停車しているか否かを判定する。ここで停車判定部F1が、自車両が停車していると判定している場合にはステップS101がYESとなってステップS103に移る。一方、停車判定部F1が、自車両が停車していないと判定している場合にはステップS101がNOとなってステップS102に移る。
ステップS102では、メモリ12に格納されている検出結果(例えばピッチ角θp1)、及びその検出結果から算出されるデータ(例えばピッチ角変位量Δθp1)を破棄してステップS101に戻る。
ステップS103では検出結果管理部F2が、第1傾斜センサ51が検出したピッチ角θp1を取得して第1検出結果記憶部M11に格納するとともに、車体側傾斜センサ3が検出したピッチ角θp0を取得して車体側検出結果記憶部M2に格納する。このステップS103の処理が完了すると、ステップS104に移る。
ステップS104では変位量算出部F21が、今回取得したピッチ角θp1と現在採用されているピッチ角P1との差分であるピッチ角変位量Δθp1を算出し、第1検出結果記憶部M11に格納し、ステップS105に移る。今回取得したピッチ角θp1とは、ステップS103で第1検出結果記憶部M11に新たに追加されたピッチ角θp1を意味する。
ステップS105では、検出結果管理部F2は、所定の回数分の検出結果が、第1検出結果記憶部M11及び車体側検出結果記憶部M2に蓄積されているか否かを判定する。ここでの所定回数とは、現在のフロントカメラ5の取付姿勢(ここではピッチ角P1)を特定するために十分な回数であり、例えば、50回分の検出結果などとすればよい。なお、単位時間当りの検出回数は一定であるため、所定回数分の検出結果を収集するために要する時間は、一定の時間となる。つまり、ステップS105の判定内容は、検出結果の収集を開始して一定時間経過したか否かを判定するものであってもよい。ステップS101がYESとなってからステップS105がYESと判定されるまでが前述のデータ収集期間に相当する。
このステップS105に移った時点において、第1検出結果記憶部M11及び車体側検出結果記憶部M2のそれぞれに、所定の回数分の検出結果が蓄積されている場合には、ステップS105がYESとなってステップS106に移る。一方、第1検出結果記憶部M11及び車体側検出結果記憶部M2のそれぞれに、所定の回数分の検出結果が未だ蓄積されていない場合には、ステップS105がNOとなってステップS101に戻る。
なお、ステップS101からステップS105の間に収集されたデータは、現在の取付姿勢を特定するためのデータである。ところで、現在の取付姿勢を特定するためのデータに、複数の地点で取得したデータが混在していると、異なる勾配の影響を受けたデータを用いてピッチ角P1を更新することになり、第3の実施形態で述べるようにデータ収集時間を非常に長い時間とした場合を除いて、精度が劣化する恐れがある。
本実施形態では、自車両が停車している状態から自車両が走行し始めると(ステップS101 NO)となると、ステップS102において、停車中に収集した検出結果などを破棄する。つまり、本実施形態の構成においてピッチ角P1の特定し、取付姿勢データを更新する場合とは、1つの地点で停車している間に所定回数分の検出結果が蓄積された場合である。したがって、本実施形態の構成によれば、現在の取付姿勢を特定するために用いる検出結果は、何れも共通の道路勾配の影響を受けた値、言い換えれば水平面に対する自車両が一定となっているときの検出結果となっているため、より精度良く取付姿勢を特定できる。
ステップS106では更新要否判定部F3が、処理の対象としている取付姿勢データ(ここではピッチ角P1)を更新する必要が有るか否かを判定する。更新要否判定部F3がピッチ角P1を更新する必要があると判定する場合とは、データ収集期間中に蓄積されたピッチ角変位量Δθp1の最頻値が、所定の閾値(例えば3度)以上となっている場合とすればよい。複数のピッチ角変位量Δθp1を母集団として定まる最頻値を用いることによって、一時的な外乱によって、ピッチ角P1を更新する必要があると判定してしまうことを抑制することができる。
ステップS106において更新要否判定部F3が、ピッチ角P1を更新する必要が有ると判定した場合にはステップS106がYESとなってステップS107に移る。一方、更新要否判定部F3が、ピッチ角P1を更新する必要はないと判定した場合にはステップS106がNOとなってステップS102に移る。
なお、本実施形態では、更新要否判定部F3がピッチ角P1を更新する必要がないと判定した場合でも、ステップS102を介してステップS101に戻り、本処理を継続する態様とするが、これに限らない。他の態様として、更新要否判定部F3がピッチ角P1を更新する必要がないと判定した場合には、本フローを終了してもよい。その場合、次回イグニッション電源が投入された時や、本フローを終了してから一定時間経過した場合など、所定のタイミングで再び本処理を開始すれば良い。
ステップS107では取付姿勢特定部F5が、第1傾斜センサ51の検出結果に対して水平面に対する自車両の姿勢が影響している量(車両姿勢影響量とする)を、ピッチ角θp1の最頻値から減算した値を算出し、ステップS108に移る。なお、車両姿勢影響量とは、第1傾斜センサ51の検出結果に対して道路の勾配が影響している量に相当する。
水平面に対する自車両の姿勢は、前述の通り、ここでは車体側傾斜センサ3が検出するピッチ角θp0の最頻値、及びロール角θr0の最頻値によって表されている。車両姿勢影響量は、これらピッチ角θp0の最頻値、及びロール角θr0の最頻値と、車体側傾斜センサ3の検出方向と第1傾斜センサ51の検出方向の対応関係に基づいて定まる。ここでは第1傾斜センサ51がピッチ角θp1を検出する方向と、車体側傾斜センサ3がピッチ角θp0を検出する方向が、同一方向であるため、取付姿勢特定部F5は、第1傾斜センサ51が検出するピッチ角θp1に対する車両姿勢影響量として、ピッチ角θp0の最頻値をそのまま採用する。つまり、車両姿勢影響量は、ステップS101〜S105を繰り返す間に収集されたピッチ角θp0の最頻値である。
なお、仮に第2傾斜センサ61のピッチ角P2を処理対象とする場合には、第2傾斜センサ61が検出するピッチ角θp2に対する車両姿勢影響量は、ピッチ角θp0の最頻値に−1を乗算した値とすればよい。これは、第2傾斜センサ61がピッチ角θp2を検出する方向と、車体側傾斜センサ3がピッチ角θp0を検出する方向が、逆方向であるためである。
ステップS102において算出される減算値は、第1傾斜センサ51が検出するピッチ角θp1から、自車両の傾きの影響量(すなわち車両姿勢影響量)を差し引いた値を表している。つまり、算出された減算値は、現時点における車体に対するフロントカメラ5の実際のピッチ角P1を表している。便宜上、算出された減算値を、ピッチ角P1aとする。
ステップS108では取付姿勢特定部F5が、ステップS107で算出されたピッチ角P1aが、現在の取付姿勢として採用されているピッチ角P1と一致するか否かを判定する。ここでの一致とは完全な一致に限らず、その差が所定の許容範囲内(例えば±0.5度以内)となっている場合に、一致していると見なしてもよい。なお、ステップS106においてピッチ角変位量Δθp1の最頻値が所定の閾値以上であると判定されたにも関わらず、このステップS108においてピッチ角P1aがピッチ角P1と一致すると判定される場合とは、車両の傾きの影響によってステップS106がYESと判定された場合である。
ステップS108で算出されたピッチ角P1aが、現在採用されているピッチ角P1と一致している場合にはステップS108がYESとなって本フローを終了する。一方、ステップS108で算出されたピッチ角P1aが、現在のピッチ角P1と一致していない場合にはステップS108がNOとなってステップS109に移る。
ステップS109では、ピッチ角P1aを現在のピッチ角P1として採用し、ストレージ13に現在のフロントカメラ5のピッチ角P1として登録する。また、パラメータ調整部F6が、ストレージ13に格納されているカメラパラメータを、新たに採用されたピッチ角P1に対応する値に更新する。
なお、以上では、本処理についての説明の冒頭でも述べたように、フロントカメラ5のピッチ角P1を更新する場合について例示した。フロントカメラ5のロール角R1を更新する処理も、上述したフロントカメラ5のピッチ角P1と並列して、実施されればよい。
また、リアカメラ6を処理対象とする処理も、フロントカメラ5に対する処理と並列して実施されればよい。
(第1の実施形態のまとめ)
以上の構成によれば、ステップS107において、車体側傾斜センサ3の検出結果と、処理の対象とする車載カメラに取り付けられたカメラ側傾斜センサの検出方向と、車体側傾斜センサ3の検出方向との対応関係から、カメラ側傾斜センサの検出結果に対する車両姿勢影響量を特定する。そして、カメラ側傾斜センサの検出結果から車両姿勢影響量を減算することで、車体に対する車載カメラの取付姿勢を特定する。
したがって、以上の構成によれば、車両の傾きに起因して車載カメラの取付姿勢を誤った姿勢に特定してしまうことを抑制することができる。
また、以上の構成では、ステップS106において、更新要否判定部F3が、取付姿勢を表す種々の要素のうち、処理の対象とした要素(例えばピッチ角P1)を更新する必要がないと判定したときには、当該要素の値を更新しない。言い換えれば、処理の対象とした要素を更新する必要があると判定した場合のみ、その要素の現在の値を特定し、更新を実施することができる。
また、以上の構成によれば、車体に設けられた車体側傾斜センサ3の検出結果から、車体の傾き度合いを特定することができる。このため、後述する第2の実施形態では、傾斜センサを内蔵した車載カメラが3つ以上必要となるのに対し、本実施形態の構成によれば、運転支援システム100が備える傾斜センサを内蔵した車載カメラは1つであってもよい。
また、通常、傾斜センサが検出するピッチ角やロール角は、車両の加減速や旋回走行などの影響を受けてしまう。しかし、本実施形態では、車両が停車中に傾斜センサが検出した検出結果に基づいて、車載カメラの取付姿勢を特定する。したがって、そのような車両挙動に起因する一時的なノイズの影響を抑制でき、より精度よく車載カメラの取付姿勢を特定できる。
なお、本実施形態では運転支援システム100は車載カメラとして、フロントカメラ5とリアカメラ6を備える態様を例示したがこれに限らない。運転支援システム100は少なくとも1つの車載カメラを備えていれば良く、その数や撮影範囲は問わない。
<第2の実施形態>
次に、図5〜図9を用いて、本発明の第2の実施形態について説明する。なお、以降において、前述の第1の実施形態の説明に用いた図に示した部材と、同一の機能を有する部材については、同一の符号を付し、その説明を省略する。また、構成の一部のみに言及している場合、他の部分については先に説明した第1の実施形態を適用することができる。
図5は、本実施形態に係る運転支援システム100Aの概略的な構成の一例を示す図である。この運転支援システム100Aは、制御部1A、車速センサ2、ディスプレイ4、フロントカメラ5、リアカメラ6、右サイドカメラ7、及び左サイドカメラ8を備える。
制御部1Aは、前述の制御部1に相当するものであり、車速センサ2、ディスプレイ4、フロントカメラ5、リアカメラ6、右サイドカメラ7、及び左サイドカメラ8のそれぞれとは周知の車両内ネットワークによって相互通信可能に接続されている。
右サイドカメラ7は、自車両の右側方の所定範囲を撮影するように設けられたカメラである。右サイドカメラ7は、例えば、広角レンズによって撮影範囲が広角(例えば画角175°)に設定された周知のCMOSカメラやCCDカメラ等を用いることができる。右サイドカメラ7は、例えば右サイドミラー付近や、車体の右側面において適宜設計される位置に設置されればよい。本実施形態では説明簡略化のため、右サイドカメラ7は車体の右側面の上端部の、車両前後方向の中央部付近に設置されているものとする。
また、右サイドカメラ7には、予め上下方向(縦方向)と左右方向(横方向)が規定されている。右サイドカメラ7は、上述した所定の設置箇所において、撮影方向の中心軸である光軸のXY平面への正射影ベクトルがY軸の負方向と同一方向となり、左右方向がX軸と平行となるように取り付けられる。右サイドカメラ7が撮影した映像信号は、制御部1に逐次出力される。
また、右サイドカメラ7は、右サイドカメラ7の水平面に対する傾きを検出する傾斜センサ(以降、第3傾斜センサ)71を備える。第3傾斜センサ71は、水平面に対する右サイドカメラ7の傾きを、図6に示すように、2つの軸(X3軸、Y3軸とする)毎の回転角度に分解して検出する2軸傾斜センサである。
この第3傾斜センサ71は、車両前後方向における右サイドカメラ7の水平面に対する傾斜角(ロール角θr3とする)と、車幅方向における右サイドカメラ7の水平面に対する傾斜角(ピッチ角θp3とする)を検出するように右サイドカメラ7に内蔵されている。
より具体的には、第3傾斜センサ71は、X3軸のXY平面への正射影ベクトルが、Y軸の負と方向と同一方向となり、かつ、Y3軸のXY平面の正射影ベクトルがX軸の正方向と同一方向となるように右サイドカメラ7に内蔵されている。なお、第3傾斜センサ71のX3軸は、右サイドカメラ7の光軸と一致し、Y3軸は、右サイドカメラ7の横方向と一致するように右サイドカメラ7の筐体内に固定されている。
第3傾斜センサ71の検出結果(ピッチ角θp3及びロール角θr3)は、制御部1Aに逐次出力される。なお、ピッチ角θp3は、中立の状態からY3軸を回転軸とする右ねじの方向の回転角を正の値で表し、逆方向の回転角を負の値で表すこととする。また、ピッチ角θp3は、中立の状態からY3軸の右ねじの方向の回転角を正の値で表し、逆方向の回転角を負の値で表すこととする。
第3傾斜センサ71が請求項に記載のカメラ姿勢検出器に相当し、ピッチ角θp3及びロール角θr3が請求項に記載のカメラ姿勢指標値の一例に相当する。また、X3軸の延長方向、及びY3軸の延長方向が請求項に記載のカメラ側検出方向に相当する。
本実施形態では第3傾斜センサ71は右サイドカメラ7の筐体内に設置されている構成とするが、他の態様として、筐体の外側において右サイドカメラ7と一体的に取り付けられている構成としてもよい。
左サイドカメラ8は、自車両の左側方の所定範囲を撮影するように設けられたカメラである。左サイドカメラ8は、例えば、広角レンズによって撮影範囲が広角(例えば画角185°)に設定された周知のCMOSカメラやCCDカメラ等を用いることができる。左サイドカメラ8は、例えば左サイドミラー付近や、車体の左側面において適宜設計される位置に設置されればよい。本実施形態では説明簡略化のため、左サイドカメラ8は車体の左側面の上端部の、車両前後方向の中央部付近に設置されているものとする。
また、左サイドカメラ8には、予め上下方向(縦方向)と左右方向(横方向)が規定されている。左サイドカメラ8は、上述した所定の設置箇所において、撮影方向の中心軸である光軸のXY平面への正射影ベクトルがY軸の正方向と同一方向となり、左右方向がX軸と平行となるように取り付けられる。左サイドカメラ8が撮影した映像信号は、制御部1に逐次出力される。
また、左サイドカメラ8は、左サイドカメラ8の水平面に対する傾きを検出する傾斜センサ(以降、第4傾斜センサ)81を備える。第4傾斜センサ81は、水平面に対する左サイドカメラ8の傾きを、2つの軸(X4軸、Y4軸とする)毎の回転角度に分解して検出する2軸傾斜センサである。
この第4傾斜センサ81は、車両前後方向における左サイドカメラ8の水平面に対する傾斜角(ロール角θr4とする)と、車幅方向における左サイドカメラ8の水平面に対する傾斜角(ピッチ角θp4とする)を検出するように左サイドカメラ8に内蔵されている。
より具体的には、第4傾斜センサ81は、X4軸のXY平面への正射影ベクトルが、Y軸の正と方向と同一方向となり、かつ、Y4軸のXY平面の正射影ベクトルがX軸の負の方向と同一方向となるように左サイドカメラ8に内蔵されている。なお、第4傾斜センサ81のX4軸は、左サイドカメラ8の光軸と一致し、Y4軸は、左サイドカメラ8の横方向と一致するように左サイドカメラ8の筐体内に固定されている。
第4傾斜センサ81の検出結果(ピッチ角θp4及びロール角θr4)は、制御部1Aに逐次出力される。なお、ピッチ角θp4は、中立の状態からY4軸を回転軸とする右ねじの方向の回転角を正の値で表し、逆方向の回転角を負の値で表すこととする。また、ピッチ角θp4は、中立の状態からY4軸の右ねじの方向の回転角を正の値で表し、逆方向の回転角を負の値で表すこととする。
第4傾斜センサ81が請求項に記載のカメラ姿勢検出器に相当し、ピッチ角θp4及びロール角θr4が請求項に記載のカメラ姿勢指標値の一例に相当する。また、X4軸の延長方向、及びY4軸の延長方向が請求項に記載のカメラ側検出方向に相当する。
本実施形態では第4傾斜センサ81は左サイドカメラ8の筐体内に設置されている構成とするが、他の態様として、筐体の外側において左サイドカメラ8と一体的に取り付けられている構成としてもよい。
以降において、フロントカメラ5、リアカメラ6、右サイドカメラ7、左サイドカメラ8を区別しない場合には車載カメラと記載する。また、第1傾斜センサ51、第2傾斜センサ61、第3傾斜センサ71、第4傾斜センサ81を区別しない場合には傾斜センサと記載する。
ストレージ13には、フロントカメラ5及びリアカメラ6のカメラ情報に加えて、右サイドカメラ7、左サイドカメラ8のカメラ情報を記憶している。つまり、ストレージ13には、右サイドカメラ7の設置位置データ、取付姿勢データ(ピッチ角P3、ロール角R3、ヨー角Y3)、及びカメラパラメータと、左サイドカメラ8の設置位置データ、取付姿勢データ(ピッチ角P4、ロール角R4、ヨー角Y4)、及びカメラパラメータを記憶している。
右サイドカメラ7のピッチ角P3は、簡略的に、XY平面と右サイドカメラ7の光軸とが為す角度とし、ロール角R3は、XY平面と右サイドカメラ7の横方向とが為す角度とし、ヨー角Y3は、光軸のXY平面への正射影とY軸とが為す角度(180度)とする。左サイドカメラ8のピッチ角P4は、簡略的に、XY平面と左サイドカメラ8の光軸とが為す角度であり、ロール角R4は、XY平面と左サイドカメラ8の横方向とが為す角度とし、ヨー角Y4は、光軸のXY平面への正射影とY軸とが為す角度(0度)とする。第1の実施形態と同様、本実施形態においても、各車載カメラのヨー角の初期の取付姿勢からのずれは無視できるものとする。また、取付姿勢データは、初期設定時の取付姿勢の他に、現在の取付姿勢として特定されたピッチ角やロール角を含むものである。
また、ストレージ13は、各車載カメラが備える傾斜センサの検出方向の対応関係を示すデータを記憶している。各傾斜センサの検出方向は、各傾斜センサが備える検出軸の方向によって表されればよい。
例えばストレージ13は、検出方向の対応関係として、第1傾斜センサ51のX1軸と第3傾斜センサ71のY3軸が同じ方向であって、第2傾斜センサ61のX2軸、第4傾斜センサ81のY4軸とは逆方向となっていることを、対応関係として記憶する。また、第1傾斜センサ51のY1軸と第4傾斜センサ81のX4軸が同じ方向であって、第3傾斜センサ71のX3軸、第2傾斜センサ61のY2軸とは逆方向となっていることを、対応関係として記憶する。
また、ストレージ13は、取付姿勢を表す種々の要素のうち、互いに対応関係を有する角度の組み合わせを記憶する。互いに対応関係を有する角度の組み合わせとしては2種類存在する。
1つは、種々の取付姿勢を表す要素のうち、水平面に対する車体の傾きの影響を同様に受ける要素の組み合わせである。より具体的に、ロール角θr1、ロール角θr2、ピッチ角θp3、ピッチ角θp4は、図6に示すように、何れも車体の車幅方向の傾きの影響を受ける要素である。つまり、ロール角θr1、ロール角θr2、ピッチ角θp3、及びピッチ角θp4は、互いに対応関係を有する角度の組み合わせである。
また、ピッチ角θp1、ピッチ角θp2、ロール角θr3、ロール角θr4は、何れも車体の車両前後方向の傾きの影響を受ける角度である。つまり、ピッチ角θp1、ピッチ角θp2、ロール角θr3、及びロール角θr4は、互いに対応関係を有する要素の組み合わせである。以降では、或る要素に対して、対応関係がある他の要素を対応角と称する。
図7は、本実施形態における制御部1Aの構成を示すブロック図であり、制御部1Aは、前述の第1の実施形態で述べた種々の機能ブロックを備える。ただし、本実施形態における車両姿勢特定部F4の作動は、前述の第1の実施形態における車両姿勢特定部F4の作動と相違する。本実施形態における車両姿勢特定部F4の作動については、別途後述する。
本実施形態の検出結果管理部F2は、第1傾斜センサ51、第2傾斜センサ61、第3傾斜センサ71、第4傾斜センサ81のそれぞれの検出結果を逐次取得し、取得した検出結果を、その検出結果の出力元毎に区別してメモリ12に格納する。傾斜センサ毎の検出結果は例えば取得順に並べてメモリ12に格納していけばよい。
変位量算出部F21は、第3傾斜センサ71からピッチ角θp3、ロール角θr3を取得する度に、現在の取付姿勢として採用されているピッチ角P3、ロール角R3との差分であるピッチ角変位量Δθp3、ロール角変位量Δθr3を算出し、第3検出結果記憶部M13に格納する。また、第4傾斜センサ81からピッチ角θp4、ロール角θr4を取得する度に、現在の取付姿勢として採用されているピッチ角P4、ロール角R4との差分であるピッチ角変位量Δθp4、ロール角変位量Δθr4を算出し、第4検出結果記憶部M14に格納する。
つまり、前述の変位量Δθとして、ピッチ角変位量Δθp3、ロール角変位量Δθr3、ピッチ角変位量Δθp4、ロール角変位量Δθr4も該当する。
メモリ12に設けられる第3検出結果記憶部M13は、メモリ12が備える記憶領域のうち、第3傾斜センサ71から逐次取得する検出結果を記憶している領域である。また、第4検出結果記憶部M14は、メモリ12が備える記憶領域のうち、第4傾斜センサ81から逐次取得する検出結果を記憶している領域である。
(第2の実施形態におけるカメラ姿勢更新関連処理)
次に、各車載カメラの姿勢データを更新するために制御部1Aが実施する一連の処理(カメラ姿勢更新関連処理とする)について、図8に示すフローチャートを用いて説明する。この図8に示すフローチャートは、例えば、自車両のイグニッション電源がオンとなった場合や、前回この処理を実施してから一定時間経過した時に開始されれば良い。
まずステップS201では停車判定部F1が、自車両が停車しているか否かを判定する。ここで停車判定部F1が、自車両が停車していると判定している場合にはステップS201がYESとなってステップS203に移る。一方、停車判定部F1が、自車両が停車していないと判定している場合にはステップS201がNOとなってステップS202に移る。
ステップS202では、メモリ12に格納されている検出結果、及びその検出結果から算出されるデータ(例えば変位量Δθ)を破棄してステップS201に戻る。
ステップS203では検出結果管理部F2が、各傾斜センサが検出したピッチ角θp1〜θp4、及び、ロール角θr1〜θr4を取得し、それぞれの出力元に対応するメモリ12の記憶領域に格納してステップS204に移る。
ステップS204では変位量算出部F21が、ステップS203で取得した種々の検出結果に基づいて、種々の変位量Δθを算出し、それぞれに対応する記憶領域に格納し、ステップS205に移る。つまり、ステップS204ではピッチ角変位量Δθp1、ロール角変位量Δθr1を算出して第1検出結果記憶部M11に格納し、ピッチ角変位量Δθp2、ロール角変位量Δθr2を算出して第2検出結果記憶部M12に格納する。また、ピッチ角変位量Δθp3、ロール角変位量Δθr3を算出して第3検出結果記憶部M13に格納し、ピッチ角変位量Δθp4、ロール角変位量Δθr4を算出して第4検出結果記憶部M14に格納する。
ステップS205では、検出結果管理部F2は、所定の回数分の検出結果がメモリ12に蓄積されているか否かを判定する。このステップS205に移った時点において、メモリ12に所定の回数分の検出結果が蓄積されている場合には、ステップS205がYESとなってステップS206に移る。一方、メモリ12に、所定の回数分の検出結果が未だ蓄積されていない場合には、ステップS205がNOとなってステップS201に戻る。
ステップS206では更新要否判定部F3が、データ収集期間におけるピッチ角変位量Δθp1、Δθp2、Δθp3、Δθp4、ロール角変位量Δθr1、Δθr2、Δθr3、Δθr4のそれぞれの最頻値を特定し、ステップS207に移る。便宜上、各変位量の最頻値を指す場合には、順に、Δθp1(m)、Δθp2(m)、Δθp3(m)、Δθp4(m)、ロール角変位量Δθr1(m)、Δθr2(m)、Δθr3(m)、Δθr4(m)として区別して記載する。
また、Δθp1〜θp4及びΔθp1〜Δθp4を区別せず、或る要素の変位量を指す場合には、Δθとして記載し、さらに、Δθp1(m)〜Δθp4(m)を区別せず、或る要素の変位量の最頻値を指す場合には、Δθ(m)と記載する。
ステップS207では更新要否判定部F3が、複数の車載カメラの何れか1つ又は複数の取付姿勢データを更新する必要があるか否かを判定する。ここでは、まず、ステップS206で取得したピッチ角変位量Δθp1(m)〜Δθp4(m)、ロール角変位量Δθr1(m)〜Δθr4(m)の絶対値の全てが、所定の閾値(例えば3度)以内となっているか否かを判定する。
ピッチ角変位量Δθp1(m)〜Δθp4(m)、ロール角変位量Δθr1(m)〜Δθr4(m)のそれぞれの絶対値が、全て所定の閾値以下となっている場合には、車載カメラの取付姿勢データを更新する必要はないと判定し、ステップS202に移る。
一方、ピッチ角変位量Δθp1(m)〜Δθp4(m)、ロール角変位量Δθr1(m)〜Δθr4(m)のうち、何れか1つでもその絶対値が所定の閾値以上となっている場合には、複数の車載カメラの何れか1つ又は複数の取付姿勢データを更新する必要があると判定してステップS208に移る。
ステップS208では、車両姿勢特定部F4が、種々の変位量Δθp1(m)〜Δθp4(m)、Δθr1(m)〜Δθr4(m)のうち、車両前後方向における車体の傾きの影響をうける角度に由来する変位量Δθ(m)同士を比較することで、車体に前後方向の傾きが生じているか否かを判定する。つまり、ピッチ角θp1、ピッチ角θp2、ロール角θr3、及びロール角θr4の変位量Δθ(m)を比較することで、車両前後方向における車体の傾きが生じているか否かを判定する。
より具体的には次の通りである。まず、車両の前後方向の傾きの影響を受ける要素において、現在の取付姿勢として採用されている角度と、実際の現在の角度とが一致している場合、それらの種々の要素に対応する変位量Δθは、車両の前後方向の傾きのみが反映された値となる。
したがって、車両の前後方向の傾きの影響を受ける要素において、現在の取付姿勢として採用されている角度と、実際の現在の角度とが一致している場合であって、車両に前後方向の傾きが生じていない場合には、各変位量Δθ(m)の絶対値は何れも所定の閾値未満となる。
一方、車両の前後方向の傾きの影響を受ける要素のうち、現在の取付姿勢として採用されている角度と、実際の現在の角度とが一致していない要素については、車両に前後方向の傾きが生じていない場合であっても、その変位量Δθ(m)の絶対値は、現在の取付姿勢として採用されている角度と実際の現在の角度とのずれが反映された値となる。すなわち、車両の前後方向の傾きの影響を受ける要素のうち、現在の取付姿勢として採用されている角度と、実際の現在の角度とが一致していない要素の変位量Δθ(m)の絶対値は所定の閾値以上となる。
また、互いに対応関係を有する4つの要素のうち、取付姿勢がずれている要素が過半数となっている可能性は相対的に低い。このため、図9に示すように、互いに対応関係を有する4つのうち、その変位量Δθ(m)の絶対値が所定の閾値未満となっている要素の数が過半数(3つ以上)となっている場合には、車両前後方向における車体の傾きは生じていないと判定する。
一方、互いに対応関係を有する4つのうち、その変位量Δθ(m)の絶対値が所定の閾値以上となっている要素の数が過半数以上となっている場合には、車両前後方向における車体の傾きが生じていると判定する。
つまり、車両姿勢特定部F4は、多数決によって車両前後方向における車体の傾きが生じているか否かを判定する。そして、車両姿勢特定部F4が、車両前後方向における車体の傾きが生じていないと判定した場合には、ステップS208がYESとなってステップS209に移る。また、車両姿勢特定部F4が、車両前後方向における車体の傾きが生じていると判定した場合には、ステップS208がNOとなってステップS211に移る。
ステップS209では、車両前後方向の車体の傾きの影響を受ける要素のうち、その変位量Δθ(m)の絶対値が所定の閾値以上となっている要素を、更新対象角としてステップS210に移る。例えば図9の例では、ピッチ角変位量Δθp1(m)に対応するフロントカメラ5のピッチ角θp1が更新対象角となる。また、そのとき、フロントカメラ5が取付姿勢データを更新すべき車載カメラ(つまり更新対象カメラ)に相当する。以降では一例として、フロントカメラ5のピッチ角θp1を更新対象角として、本処理の作動を説明する。なお、ステップS209において車両前後方向の車体の傾きの影響を受ける要素のうち、その変位量Δθ(m)の絶対値が所定の閾値以上となっている要素が無かった場合にはステップS211に移れば良い。
ステップS210では、更新対象角として採用されたピッチ角θp1の最頻値を現在のピッチ角P1として採用し、ストレージ13に現在のフロントカメラ5のピッチ角P1として登録する。また、ストレージ13に格納されているカメラパラメータを、新たに採用されたピッチ角P1に対応する値に更新する。このステップS210での処理が完了するとステップS211に移る。
ステップS211では車両姿勢特定部F4が、車幅方向における車体の傾きの影響をうけるロール角θr1、ロール角θr2、ピッチ角θp3、及びピッチ角θp4の変位量Δθ(m)から、ステップS208と同様に、多数決によって車幅方向における車体の傾きが生じているか否かを判定する。
このステップS211において、車両姿勢特定部F4が、車幅方向における車体の傾きが生じていないと判定した場合には、ステップS211がYESとなってステップS212に移る。また、車両姿勢特定部F4が、車幅方向における車体の傾きが生じていないと判定した場合には、ステップS211がNOとなって本フローを終了する。
ステップS212では、車幅方向の車体の傾きの影響を受ける要素のうち、その変位量Δθ(m)の絶対値が所定の閾値以上となっている要素を、更新対象角としてステップS213に移る。なお、ステップS212において車幅方向の車体の傾きの影響を受ける要素のうち、その変位量Δθ(m)の絶対値が所定の閾値以上となっている要素が無かった場合には本フローを終了すればよい。
(第2の実施形態のまとめ)
以上の構成では、車両姿勢特定部F4が、車載カメラに取り付けられた複数の傾斜センサの検出結果に基づいて、自車両の車体が水平な姿勢となっているか否かを特定する。より細かくは、車両前後方向における車体の傾きが生じているか否か、及び、車幅方向における車体の傾きが生じているか否か、を判定する。
そして、車両前後方向における車体の傾きが生じていないと判定した場合に、車両前後方向における車体の傾きの影響を受ける要素の値を更新する。また、車幅方向における車体の傾きが生じていないと判定した場合に、車幅方向における車体の傾きの影響を受ける要素の値を更新する。
したがって、以上の構成によれば前述の第1の実施形態と同様に、車両の傾きに起因して車載カメラの取付姿勢を誤った姿勢に特定してしまうことを抑制することができる。
また、以上の構成では、ステップS207において、更新要否判定部F3が、取付姿勢データを更新する必要がないと判定したときには、当該要素の値を更新しない。言い換えれば、取付姿勢データを更新する必要があると判定した場合のみ、ステップS208以降の処理を実施し、取付姿勢を表す種々の要素のうち、所定の要素の値を更新できる。また、上述した実施形態では、値を更新する必要がない要素については、不要に更新を実施せず、更新が必要な要素のみ更新を実施することができる。
さらに、前述の第1の実施形態では車体に車体側傾斜センサ3を設置しておく必要があるが、第2の実施形態では、車体側傾斜センサ3を設置しておく必要はない。
なお、ここでは、一例として車載カメラを4つ備えている態様を例示したが、これに限らない。複数の対応角のうち、多数決によって更新対象角が特定できればよい。つまり、車載カメラは少なくとも3つ備えていれば良い。
また、ここでは、車両前後方向における車体の傾きの影響を受ける要素の現在の値の特定及び更新(S210)と、車幅後方向における車体の傾きの影響を受ける要素の現在の値の特定及び更新(S213)とを独立して行う態様を例示したがこれに限らない。
他の態様として、車両姿勢特定部F4が、車両前後方向における車体の傾きが生じていないと判定し、かつ、車幅方向における車体の傾きが生じていないと判定した場合に、各車載カメラ、又は、変位量Δθ(m)の絶対値が所定の閾値以上となっている要素を備える車載カメラの取付姿勢を特定し、取付姿勢データを更新する態様としてもよい。
車両姿勢特定部F4が、車両前後方向における車体の傾きが生じていないと判定し、かつ、車幅方向における車体の傾きが生じていないと判定した場合とは、自車両が水平な姿勢となっていることを意味する。
<第3の実施形態>
次に、図10を用いて、本発明の第3の実施形態について説明する。なお、以降において、前述の第1、第2の実施形態の説明に用いた図に示した部材と、同一の機能を有する部材については、同一の符号を付し、その説明を省略する。また、構成の一部のみに言及している場合、他の部分については先に説明した第1、第2の実施形態を適用することができる。
図10は、本実施形態に係る運転支援システム100Bの概略的な構成の一例を示す図である。この運転支援システム100Bは、制御部1B、車速センサ2、ディスプレイ4、及びフロントカメラ5を備える。制御部1Bは、車速センサ2、ディスプレイ4、及びフロントカメラ5のそれぞれとは周知の車両内ネットワークによって相互通信可能に接続されている。
制御部1Bは、前述の第1の実施形態で述べた種々の機能ブロック(図4参照)を備える。ただし、第2検出結果記憶部M12、及び車体側検出結果記憶部M2を備える必要はない。検出結果管理部F2は、第1傾斜センサ51から取得したピッチ角θp1、ロール角θr1を第1検出結果記憶部M11に蓄積する。また、変位量算出部F21は、第1傾斜センサ51からピッチ角θp1、ロール角θr1を取得する度に、ピッチ角変位量Δθp1、Δθr1を算出して第1検出結果記憶部M11に蓄積する。
本実施形態の検出結果管理部F2は、より好ましい態様として、停車判定部F1によって自車両が停車していると判定されている間に取得した検出結果のみを、第1検出結果記憶部M11に蓄積するものとする。ただし、前述の第1、第2の実施形態と異なり、自車両が走行を開始しても、第1検出結果記憶部M11に蓄積されているデータは破棄せずに保持する。
さらに、検出結果管理部F2は、第1検出結果記憶部M11に、十分な量(所要検出回数分)の検出結果が蓄積されたか否かを判定する。ここでの所要検出回数とは、第1、第2の実施形態で想定する検出回数よりもさらに大きく、その最頻値が、水平な道路上に車両が存在している状態での検出結果となる検出回数である。
これまでに述べてきたように、第1傾斜センサ51が検出するピッチ角θp1やロール角θr1は、道路の勾配(つまり車体の傾き)の影響を受けた値となる。したがって、第1傾斜センサ51が検出するピッチ角θp1やロール角θr1は、常に、車体に対するフロントカメラ5の取付姿勢を表しているものではなく、道路の勾配に起因する車体の傾きの影響を受けた値となっている。また、自車両はさまざまな勾配の道路を走行することが想定されるため、第1傾斜センサ51が出力する検出結果もまた様々な勾配の影響を受けた値となる。
しかしながら、所要検出回数分を十分に多い検出回数とした場合、最も走行頻度が多くなる道路とは、水平(略水平を含む)な道路となる。つまり、所要検出回数を十分に多くすれば、第1検出結果記憶部M11に蓄積されているピッチ角θp1とロール角θr1の最頻値は、水平な道路上に自車両が存在している状態での検出結果となることが期待できる。
したがって、十分に長い時間をかけて蓄積されたピッチ角θp1の最頻値、ロール角θr1をフロントカメラ5のピッチ角P1,ロール角R1として採用することで、自車両の傾きに起因する車載カメラの取付姿勢の誤判定を抑制することができる。
また、第3の実施形態のより好ましい態様としては、検出回数だけで十分な量のデータが蓄積された判定するのではなく、所定数の異なる地点で、検出結果を収集した場合に、十分な量の検出結果が集まったと判定してもよい。例えば、50箇所でデータを収集した場合に十分な量のデータが集まったと判定してもよい。また、一箇所において収集する検出結果の数に上限を設けてもよい。
なお、ここでは一例として、自車両が停車している時の検出結果を蓄積する態様を例示したがこれに限らない。自車両が走行している間の検出結果も蓄積してもよい。
また、フロントカメラ5の取付姿勢を特定するために要する検出結果の数を多くすると、一回のトリップで十分な量のデータを収集することが難しいことも想定される。したがって、第1検出結果記憶部M11は、メモリ12ではなく、ストレージ13に設ける態様としてもよい。そのような態様によればイグニッション電源がオフとなった後も収集途中のデータを保持できる。なお、ここでのトリップとは、イグニッション電源をオンとしてからイグニッション電源をオフとするまでの移動を指す。
また、ここでは一例として、運転支援システム100Bが、車載カメラとしてフロントカメラ5だけを備える態様を例示したが、これに限らない。運転支援システム100Bは、前述のリアカメラ6や右サイドカメラ7、左サイドカメラ8を備えていても良い。それぞれの車載カメラに対して、上述したフロントカメラ5に対する処理と同様にして、取付姿勢を特定すればよい。
以上、本発明の実施形態として第1、第2、第3の実施形態を説明したが、本発明は上述の実施形態に限定されるものではなく、次の変形例も本発明の技術的範囲に含まれ、さらに、下記以外にも要旨を逸脱しない範囲内で種々変更して実施することができる。
<変形例1>
第1、第2の実施形態では、1つの地点で停車している間に所望の回数分の検出結果を収集できた場合に、車載カメラの取付姿勢を特定する処理を実施する態様を例示したがこれに限らない。複数の地点で停車しているときに収集した検出結果に基づいて車載カメラの取付姿勢を特定する処理を行っても良い。また、自車両が停車している時にデータを収集する態様を例示したが、他の態様として走行中に実施してもよい。
<変形例2>
第1の実施形態において車両姿勢特定部F4が車両前後方向における車体の傾きが生じていないと判定している場合、取付姿勢特定部F5は、第1検出結果記憶部M11に蓄積されているピッチ角θp1の最頻値を、現在のフロントカメラ5のピッチ角として採用し、取付姿勢データを更新してもよい。リアカメラ6のピッチ角P2についても同様である。
また、車両姿勢特定部F4が車幅方向における車体の傾きが生じていないと判定している場合、取付姿勢特定部F5は、第1検出結果記憶部M11に蓄積されているロール角θr1の最頻値を、現在のフロントカメラ5のロール角として採用し、取付姿勢データを更新してもよい。リアカメラ6のロール角についても同様である。
<変形例3>
以上では、請求項に記載のカメラ姿勢検出器として2軸傾斜センサを採用する態様を例示したが、これに限らない。車載カメラのピッチ角、又はロール角を検出するための1軸傾斜センサであってもよい。車両姿勢検出器としての車体側傾斜センサ3も同様である。
また、姿勢指標値として、ピッチ角やロール角といった角度を出力するセンサを採用する構成を例示したがこれに限らない。カメラ姿勢検出器(及び車両姿勢検出器)は、3軸加速度センサであってもよいし、2軸加速度センサであってもよい。その場合の姿勢指標値とは軸方向毎の加速度となる。
<変形例4>
各車載カメラは、傾斜センサに加えて、地磁気センサ(例えば3軸地磁気センサ)を備え、また、制御部1は、車体に設けられたジャイロセンサや地磁気センサによって、自車両の方位角を特定できる構成としてもよい。そのような態様によれば、車載カメラに備えられた地磁気センサが検出する方位角と、自車両の方位角とから、各車載カメラのヨー角を特定してもよい。