≪第1実施形態≫
以下、本発明の実施形態を図面に基づいて説明する。本実施形態では、本発明に係る表示装置を、移動体に搭載された表示システム1に適用した場合を例にして説明する。本実施形態の表示システム1は、移動体及び移動体周囲の状況を把握するための映像を移動体の操作者が見るディスプレイに表示する。
図1は、本実施形態に係る表示装置100を含む表示システム1のブロック構成図である。図1に示すように、本実施形態の表示システム1は、表示装置100と、移動体装置200とを備える。表示装置100と移動体装置200の各機器は、いずれも図示しない有線又は無線の通信装置を備え、互いに情報の授受を行う。
本実施形態の表示システム1が適用される移動体は、車両、海底探査機、装甲車、列車、フォークリフトその他の移動機能を備えるものを含む。本実施形態では、移動体が車両である場合を例にして説明する。なお、本実施形態の移動体は、人間が搭乗可能な有人機であってもよいし、人間が搭乗しない無人機であってもよい。
なお、本実施形態の表示システム1は、移動体に搭載された装置として構成してもよいし、移動体に持ち込み可能な可搬装置として構成してもよい。また、本実施形態の表示システム1の一部の構成を移動体に搭載し、他の構成を移動体とは物理的に別の装置に搭載し、構成を分散させてもよい。この場合において、移動体と別の装置とは、情報の授受が可能なように構成される。
図1に示すように、本実施形態の移動体装置200は、カメラ20と、コントローラ30と、センサ40と、ナビゲーション装置50と、乗員操作装置60と、ディスプレイ70と、を備える。これらの各装置はCAN(Controller Area Network)その他の移動体に搭載されたLANによって接続され、相互に情報の授受を行うことができる。
本実施形態のカメラ20は、車両(移動体の一例である。以下同じ)の所定位置に設けられている。カメラ20は車両に少なくとも2つ設ければよく、設置した2つのカメラは互いに対向する位置にあるのが好ましい。車両に搭載されたカメラ20は、車両及び/又は車両の周囲を撮像し、その撮像画像を表示装置100に送出する。本実施形態における撮像画像は、車両の一部と車両の周囲の映像を含む。撮像画像のデータは、車両の周囲の地表との位置関係の算出処理、車両又は車両の周囲の映像の生成処理に用いられる。
図2は、自車両Vに搭載されたカメラ20の設置位置の一例を示す図である。図2(A)は自車両Vの正面図であり、図2(B)は自車両Vの左側面図であり、図2(C)は自車両Vの上面図である。図2(A)〜(C)に示すように、自車両Vには、自車両Vの前方に前方カメラ21が設置され、自車両Vの後方に後方カメラ22が設置されており、前方カメラ21と後方カメラ22は対向している。また、自車両Vには、自車両Vの左側に左方カメラ23が設置され、自車両Vの右側に右方カメラ24が設置されており、左方カメラ23と右方カメラ24は対向している。同図に示す例では、前方カメラ21は自車両Vのバンパーに設置され、後方カメラ22は自車両Vのリアウィンド周辺に設置され、左方カメラ23は左側ドアミラーに設置され、右方カメラ24は右側ドアミラーに設置されている。なお、カメラ20の設置位置は特に限定されず、その設置位置を任意に変更できる。
また、カメラ20は、広角レンズを有しており、車両の周辺の対象物を撮像する。カメラ20には、例えば、CCDカメラやCMOSカメラが挙げられる。同図に示す例では、前方カメラ21は自車両Vの前方を撮像し、後方カメラ22は自車両Vの後方を撮像し、左方カメラ23は自車両Vの左側を撮像し、右方カメラ24は自車両Vの右側を撮像する。なお、カメラ20が撮像する方向は特に限定されず、その撮像方向を任意に設定できる。各カメラ20は後述する制御装置10からの指令又は予め設定されたタイミングで撮像画像を表示装置100へ送出する。
本実施形態において、カメラ20が撮像した撮像画像は、映像の生成に用いられるほか、対象物の検出、及び対象物までの距離の計測に用いられる。本実施形態のカメラ20の撮像画像は、車両の周囲の対象物の映像を含む。本実施形態における対象物は、移動体周囲の地表、移動体周囲の物体を含む。
本実施形態において「地表」は、地球の表面、地球の地殻(土地)の表面を含む概念を示す用語である。本実施形態の用語「地表」は、陸地の表面、海の表面、河又は川の表面、湖の表面、海底の表面、道路の表面、駐車場の表面、ポートの表面、又はこれらのうち二つ以上を含む面を含む。なお、移動体が倉庫や工場などの施設(建屋)の屋内に存在する場合において、本実施形態の用語「地表」は、その施設の床面、壁面を含む意味を有する。「表面」とは、撮像時にカメラ20側に表出される面である。また、対象物は、自車両Vの周囲に存在する他車両、歩行者、道路構造物、駐車場、標識、施設、その他の物体を含む。
本実施形態のカメラ20は、画像処理装置201を備える。画像処理装置201は、カメラ20の撮像画像のデータからエッジ、色、形状、大きさなどの特徴を抽出し、抽出した特徴から撮像画像に含まれる対象物の属性を特定する。画像処理装置201は、各対象物の特徴を予め記憶し、パターンマッチング処理により撮像画像に含まれる対象物を特定する。撮像画像のデータを用いて対象物の存在を検出する手法は、特に限定されず、本願出願時に知られた手法を適宜に用いることができる。画像処理装置201は、カメラ20の撮像画像のデータから抽出した特徴点の位置又は位置の経時的な変化から自車両から対象物までの距離を算出する。距離を算出する際に、画像処理装置201は、カメラ20の設置位置、光軸方向、撮像特性などの撮像パラメータを用いる。撮像画像のデータを用いて対象物までの距離を計測する手法は、特に限定されず、本願出願時に知られた手法を適宜に用いることができる。例えば、画像処理装置201は、車線の太さや、路面に描かれた標識の大きさから、自車両から対象物の距離を算出する。
本実施形態では、自車両Vとの位置関係を算出するためのデータを取得する手段として、測距装置202を備えてもよい。測距装置202は、カメラ20とともに使用してもよいし、カメラ20に代えて使用してもよい。測距装置202は、自車両Vの周囲に存在する対象物を検出し、対象物と自車両Vとの距離を計測する。つまり、測距装置202は、自車両Vの周囲の対象物を検出する機能を備える。測距装置202は、自車両Vから陸地の表面、海の表面、河又は川の表面、道路の表面までの距離を計測する。測距装置202は、自車両Vから他車両、歩行者、道路構造物、駐車場、標識、施設、その他の物体までの距離を計測する。測距装置202は、計測した対象物までの測距データを表示装置100に送出する。
測距装置202は、レーダー測距装置であってもよいし、超音波測距装置であってもよい。本願出願時に知られた測距手法を利用できる。自車両Vに測距装置202を設置する測距装置202の個数は特に限定されない。また、自車両Vに測距装置202を設置する測距装置202の設置位置も、特に限定されない。測距装置202は、図2に示すカメラ20の設置位置に対応する位置又はその近傍に設けてもよい。
本実施形態のコントローラ30は、自車両Vを含む移動体の動作を制御する。コントローラ30は、後述するセンサ40の検出情報を含む、移動体の動作に関する各情報を集中的に管理する。
本実施形態のセンサ40は、速度センサ41と、前後加速度センサ42と、横加速度センサ43と、操舵角センサ44と、姿勢センサ45を含む。速度センサ41は、自車両Vの移動速度を検出する。前後加速度センサ42は、自車両Vの前後方向の加速度を検出する。横加速度センサ43は、自車両Vの横方向(左右方向)の加速度を検出する。操舵角センサ44は、自車両Vの右又は左方向への移動制御が開始されるトリガを検出する。自車両Vの速度の変化、加速度の変化、操舵角の変化、横加速度の変化は、自車両Vの姿勢に影響を与える。たとえば、自車両Vは、アクセルを踏んで加速操作を実行すると姿勢が変化する。反対にアクセルの踏み込み量を小さくしてエンジンのトルクを減少させても姿勢は変化する。表示装置100は、速度センサ41、前後加速度センサ42、横加速度センサ43、操舵角センサ44の検出値から自車両Vの姿勢の変化を算出することができる。
また、姿勢センサ45は、自車両Vの重量、重心、ホイールベースなどの車体構造と、ピッチング角、ヨー角、サスペンションストローク量などの車両の姿勢に関する情報に基づいて、自車両Vの姿勢を検出する。自車両Vの姿勢は、予め定義した評価値によって表現できる。自車両Vの姿勢の評価手法、姿勢の変化量の計測手法は、特に限定されない。自車両Vの姿勢の変化量を求めるために、横滑り防止装置、アンチロック・ブレーキシステム、空転防止装置その他の車両挙動制御装置が備える姿勢検出装置が検出した、車両の姿勢に関する検出結果を利用してもよい。
本実施形態のナビゲーション装置50は、GPS(Global Positioning System)511を備える位置検出装置51と、地図情報52と、道路情報53と、地形情報54と、を有する。本実施形態の地図情報52は、地点と、道路、構造物、施設などが対応づけられた情報である。ナビゲーション装置50は、地図情報52を参照し、位置検出装置51により検出された自車両Vの現在位置から目的地までの経路を求め、自車両Vを誘導する機能を備える。
本実施形態の道路情報53は、位置情報と道路の曲率、傾斜などの情報が対応づけられた情報である。本実施形態の道路情報53は、道路の曲率、傾斜が変化する位置と、その道路の曲率、傾斜変化量とを対応づけた情報を含んでもよい。ナビゲーション装置50は、道路情報53を参照し、位置検出装置51により検出された現在位置において、自車両Vが走行する道路の曲率、傾斜角度の情報を得る。自車両Vが走行する道路の曲率、傾斜角度の情報は、自車両Vの姿勢を求める情報として利用できる。
本実施形態の地形情報54は、位置情報ごとに、その位置の高度、その位置を含む領域の傾斜角度が対応づけられた情報である。本実施形態の地形情報54は、位置の高度、その位置を含む領域の傾斜角度が変化する位置と、その位置の高度の変化量、その位置を含む領域の傾斜角度の変化量とを対応づけた情報を含んでもよい。本実施形態のナビゲーション装置50は、地形情報54を参照し、位置検出装置51により検出された現在位置の高度、傾斜角度を得る。現在、自車両Vが存在する地点の高度、傾斜角度の情報は、自車両Vの姿勢を求める情報として利用できる。
本実施形態の乗員操作装置60は、表示装置100が起動する表示スイッチであり、自車両Vの乗員により操作される。表示スイッチがオンすると、表示装置100は起動し、ディスプレイ70に映像を表示する。反対に、スイッチがオフすると、表示装置100は停止し、ディスプレイ70に映像を表示しない。また、乗員操作装置60は、後述する基準立体座標系を選択する構成や、仮想視点を設定する構成を備えていてもよい。
本実施形態のディスプレイ70は、後述する表示装置100が生成した、任意の仮想視点から自車両V及びその自車両Vの周囲を見た映像を表示する。なお、本実施形態では、ディスプレイ70を移動体に搭載させた表示システム1を例にして説明するが、移動体に持ち込み可能な可搬の表示装置100側にディスプレイ70を設けてもよい。
次に、本実施形態の表示装置100について説明する。本実施形態の表示装置100は、制御装置10を備える。
図1に示すように、本実施形態に係る表示装置100の制御装置10は、移動体及びその周囲の映像を表示させるプログラムが格納されたROM(Read Only Memory)12と、このROM12に格納されたプログラムを実行することで、表示装置100の機能を実現させる動作回路としてのCPU(Central Processing Unit)11と、アクセス可能な記憶装置として機能するRAM(Random Access Memory)13と、を備える。なお、動作回路として、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを用いてもよい。また、制御装置10は、画像処理を実行するGPU(Graphics Processing Unit)を備えてもよい。
本実施形態に係る表示装置100の制御装置10は、画像取得機能と、姿勢算出機能と、座標系設定機能と、回転中心設定機能と、座標系補正機能と、表示制御機能とを実現する。本実施形態の制御装置10は、さらに情報取得機能を備える。本実施形態の制御装置10は、上記機能を実現するためのソフトウェアと、上述したハードウェアの協働により各機能を実行する。以降では、自車両Vの乗員が乗員操作装置60を操作して、表示スイッチはオンしているものとして説明する。
以下、制御装置10が実現する各機能についてそれぞれ説明する。
まず、制御装置10の画像取得機能について説明する。本実施形態の制御装置10は、カメラ20が撮像した撮像画像のデータを取得する。表示装置100は、図示しない通信装置を用いて移動体装置200から撮像画像のデータを取得する。
次に、制御装置10の情報取得機能について説明する。制御装置10は、図示しない通信装置を用いて移動体装置200から各種の情報を取得する。
制御装置10は、移動体としての自車両Vの周囲の地表の位置情報を取得する。経時的に取得した地表の位置情報は、後述する自車両Vの姿勢の変化量の算出に用いられる。また、地表の位置情報は、後述する基準立体座標系の回転中心の算出に用いられる。制御装置10は、カメラ20の撮像画像から自車両Vから地表までの距離を、自車両Vに対する地表の位置情報として算出する。制御装置10は、地表の位置情報の算出処理にカメラ20の撮像パラメータを用いてもよい。制御装置10は、画像処理装置201が算出した地表の位置情報を取得してもよい。
地表の位置情報には、カメラ20と地表までの距離が含まれるため、本実施形態では、制御装置10は、地表の位置情報から、カメラ20の地表に対する位置情報を取得する。制御装置10は、4台のカメラ(前方カメラ21、後方カメラ22、左方カメラ23、右方カメラ24)それぞれの位置情報を取得することができる。取得したカメラ20の位置情報は、後述する基準立体座標系の回転中心の算出に用いられる。
制御装置10は、移動体である自車両Vの姿勢に関する姿勢情報を自車両Vから取得する。制御装置10は、前後加速度センサ42が検出した前後加速度、横加速度センサ43が検出した横加速度、操舵角センサ44が検出した操舵量、姿勢センサ45が検出した自車両の姿勢の評価値を、姿勢情報として取得する。経時的に取得した姿勢情報は、後述する自車両Vの姿勢の変化量の算出に用いられる。
制御装置10は、移動体である自車両Vの位置情報を取得する。自車両Vの位置情報は、所定の立体座標系における自車両Vの位置(三次元位置)を示す情報である。自車両Vの姿勢が変化した場合には、自車両Vの位置情報も変化する。経時的に取得した自車両Vの位置情報は、後述する自車両Vの姿勢の変化量の算出に用いられる。
本実施形態の制御装置10は、自車両Vに対する地表の位置情報のみを取得してもよいし、自車両Vの位置情報のみを取得してもよい。また、制御装置10は、地表の位置情報と自車両Vの位置情報との両方を取得してもよい。この場合において、制御装置10は、所定の立体座標系における地表の位置情報と、同じ所定の立体座標系における自車両Vの位置情報とを取得することが好ましい。共通の座標における地表の位置情報と自車両Vの位置情報を用いることにより、地表と自車両Vとの位置関係を求める処理において、座標変換の処理を省くことができる。
本実施形態の制御装置10は、自車両Vの周囲の地形情報を、移動体装置200から取得する。移動体装置200のナビゲーション装置50が備える地形情報54は、各地点の位置とその位置の地形を記憶する。制御装置10は、GPS511が検出した自車両Vの位置を含む周囲の領域の地形を、地形情報54から抽出させ、現在位置における地形情報を取得する。地形情報は、地表の傾斜度、傾斜の向きなどの情報を含む。地形情報は、重力を基準とする座標系を用いて定義される。
次に、制御装置10の姿勢算出機能について説明する。制御装置10は、移動体である自車両Vの姿勢を算出する。自車両Vの姿勢は、自車両Vに設定された一又は複数の基準点の位置として算出する。本実施形態の制御装置10は、自車両Vの姿勢を、予め定義された基準立体座標系に対する、自車両Vの基準点の位置(座標)または基準面の位置(座標)として算出する。自車両Vの基準点は、自車両V(移動体)の重心などを位置に設定する。自車両Vの基準面は、自車両Vの静止状態において、その自車両Vの基準点を含む面に設定する。なお、基準立体座標系については後述する。
制御装置10は、自車両Vの姿勢から、その変化量を算出する。変化量は、異なるタイミングにおける自車両Vの姿勢の変化量、つまり経時的な変化量であってもよいし、基準の姿勢(位置)に対する、現在の自車両Vの姿勢の位置(位置)の変化量であってもよい。自車両Vの姿勢の変化量は、自車両Vが存在する空間の高さ方向の成分の位置の変化量を含む。自車両Vが地上に存在する場合には、重力方向に沿う成分の位置の変化量を含む。
また、制御装置10は、自車両Vの静止状態における姿勢を基準の姿勢としてROM12に格納している。具体的には、制御装置10は、自車両Vの静止状態における地表の位置情報を予めROM12に格納しており、位置情報には、カメラ20の設置周辺における地表の位置情報が含まれている。
図3A、3Bは、自車両Vの静止状態における姿勢を示す図である。図3Aは自車両Vの左側面図であり、図3Bは自車両Vの正面図であり、それぞれの図において路面G0(地表)は水平線(x軸と平行線)であらわされている。自車両Vの静止状態とは、自車両Vの全ての車輪は路面G0と接地している状態であり、自車両Vの姿勢が路面G0に対して傾いていない状態のことである。
図3Aでは、路面G0に対する前方カメラ21の位置情報は、路面G0からの基準位置Zre1としてあらわされ、また、路面G0に対する後方カメラ22の位置情報は、路面G0からの基準位置Zre2としてあらわされる。同様に、図3Bでは、路面G0に対する左方カメラ23の位置情報は、路面G0からの基準位置Zre3として、また、路面G0に対する右方カメラ24の位置情報は、路面G0からの基準位置Zre4としてあらわされる。ROM12には、これらの4台のカメラのそれぞれの基準位置Zre1〜Zre4が予め記憶されており、本実施形態では、基準位置Zre1〜Zre4は、路面G0に対するカメラの高さの基準として扱われる。
制御装置10は、自車両Vと地表との相対的な位置関係の変化を、自車両Vの姿勢の変化量として算出する。
制御装置10は、自車両Vの位置に対する地表の位置の変化量を自車両Vの姿勢の変化量として算出する。カメラ20は、移動体である自車両Vに搭載されているので、カメラ20の撮像画像のデータから地表の位置を経時的に算出すれば、自車両Vの位置に対する地表の位置の変化量を求めることができる。同様に、測距装置202は、移動体である自車両Vに搭載されているので、測距装置202の測距データから地表の位置を経時的に算出すれば、自車両Vの位置に対する地表の位置の変化量を求めることができる。本実施形態では、自車両Vの位置に対する地表の位置の変化量を、自車両Vの姿勢の変化量として扱うことができる。
また、制御装置10は、地表の位置に対する自車両Vの位置の変化量を、自車両Vの姿勢の変化量として算出する。地表が静止物であるため、地表の位置に対する自車両Vの位置の変化、特に高さ方向(重力方向に沿う方向)の変化量を含む自車両Vの位置の変化は、自車両Vの姿勢の変化量として扱うことができる。地表の位置に対する自車両Vの位置の変化量を経時的に算出すれば、地表の位置に対する自車両Vの位置の変化量を求めることができる。本実施形態では、地表の位置に対する自車両Vの位置の変化量を、自車両Vの姿勢の変化量として扱う。
制御装置10は、自車両Vの位置情報と、自車両Vの周囲の地表の位置情報とを用いて、自車両Vと地表の位置の変化量を、自車両Vの姿勢の変化量として算出する。
制御装置10は、取得した姿勢情報を用いて自車両Vの姿勢の変化量として算出する。本実施形態の制御装置10は、自車両Vの加減速などの挙動、自車両Vの構造などによって生じる姿勢の変化を考慮して、自車両Vの姿勢の変化量を算出できる。制御装置10は、取得した姿勢情報を用いて、先述した撮像画像(又は測距データ)から求めた自車両Vの姿勢の変化量を補正してもよい。
制御装置10は、自車両Vの現在位置を含む周囲の地形情報を取得し、その地形情報を用いて、自車両Vの姿勢を算出する。制御装置10は、移動体が自車両Vである場合には、自車両Vが移動する路面の傾斜方向及び傾斜角度から、自車両Vの姿勢を算出する。また、制御装置10は、移動体が海底探査機である場合には、海底探査機が有するセンサから求めた海底面の傾斜方向及び傾斜角度から、海底探査機の姿勢を算出する。
次に、本実施形態の制御装置10の座標系設定機能について説明する。撮像画像を投影するために予め定義された基準立体座標系は、ROM12に記憶されている。制御装置10は、ROM12から基準立体座標系を読み出すことで、基準立体座標系を設定する。なお、基準立体座標系を設定する方法は、ROM12から読み出す方法に限定されない。例えば、自車両Vの乗員が乗員操作装置60を介して入力する方法でもよく、又は自車両Vの乗員が乗員操作装置60を介して予め用意された複数種の基準立体座標系から選択する方法でもよい。後に詳述するが、基準立体座標系は、カメラ20の撮像画像を投影する際に用いられる。
基準立体座標系の態様は特に限定されない。基準立体座標系の形状としては、例えば、直方体、立方体、多角柱、円筒形状、球形状、半球形状等が挙げられる。基準立体座標系は、その内側に自車両V(移動体)が存在するときの周囲の映像を投影する座標である。このため、投影処理の基準となる仮想視点を、基準立体座標系の内側に設定する。仮想視点は、自車両V及び自車両Vの周辺を見る場面を想定して設定されるので、自車両Vの位置に応じて定義される。本実施形態では、仮想視点は、基準立体座標系とともに、予めROM12に記憶されている。なお、仮想視点は予め設定された視点に限定されず、自車両Vの乗員が乗員操作装置60を介して任意に仮想視点を設定してもよい。なお移動体が海底探査機の場合には、海底探査機自身が映らないようにすることも考えられるので、仮想視点は基準立体座標系の内側でなくてもよい。
また、基準立体座標系は、自車両Vの静止状態における自車両Vの姿勢を基準として設定された座標系である。そのため、例えば、自車両Vの姿勢が静止状態の姿勢から傾くと、基準立体座標系は自車両Vの傾きに応じて傾く。本実施形態では、基準立体座標系に対する自車両Vの位置関係は、自車両Vの姿勢とは関係なく一定のものとする。
次に、本実施形態の回転中心設定機能について説明する。制御装置10は、自車両Vの姿勢の変化量が所定値よりも小さい自車両Vの部分に回転中心を設定する。後に詳述するが、回転中心は、基準立体座標系を回転させる際に、基準立体座標系の中心として用いられる。所定値は、自車両Vの姿勢の変化量が小さいことを示す値である。なお、回転中心を設定する際に、所定値を用いることは必ずしも必要なことではない。所定値は、例えば、ROM12に予め格納されていてもよい。所定値は、自車両Vの姿勢の変化量をあらわす単位に応じて、距離、角度、速度、加速度等の単位であらわされる。所定値は、自車両Vの構造、走行する路面情報などの影響を考慮して実験的に求めることが好ましい。
本実施形態の制御装置10は、自車両V(移動体)の姿勢の変化量に応じて、基準立体座標系の回転中心を設定する。制御装置10は、回転中心を自車両Vの外縁を含む自車両Vのいずれかの位置に設定する。自車両Vの外縁には、自車両Vが外部の対象物と接する位置も含まれる。例えば、自車両Vが路面を走行中の場合には、自車両Vの外縁には、自車両Vの車輪と路面とが接地する位置が含まれる。なお、本実施形態では、自車両Vの車輪には、ホイールだけでなくホイールに装着されたタイヤも含む。
本実施形態では、制御装置10は、カメラ20から取得したカメラ20の位置情報に基づいて、上述した回転中心を設定する。自車両Vの姿勢が変化すると、制御装置10は、4台のカメラ(前方カメラ21、後方カメラ20、左方カメラ23、右方カメラ24)それぞれの位置情報を別々の情報として扱う。制御装置10は、ROM12からカメラの基準位置を読み出し、読み出した基準位置と算出した現在の位置をそれぞれ比較することで、カメラ20の高さ方向の変化量をそれぞれ算出する。
制御装置10は、現在の前方カメラ21の位置と、前方カメラ21の基準位置とを比較することで、前方カメラ21の高さ方向の変化量を算出する。制御装置10は、前方カメラ21と同様の手法により、後方カメラ22の高さ方向の変化量を算出する。そして、制御装置10は、前方カメラ21の高さ方向の変化量と、後方カメラ22の高さ方向の変化量を比較することで、前方カメラ21、後方カメラ22のうちカメラの高さ方向の変化量が小さい方のカメラを特定する。
また、制御装置10は、現在の左方カメラ23の位置と、左方カメラ23の基準位置とを比較することで、左方カメラ23の高さ方向の変化量を算出する。制御装置10は、左方カメラ23の高さの変化量を算出する方法と同様の手法により、右方カメラ24の高さ方向の変化量を算出する。そして、制御装置10は、左方カメラ23の高さ方向の変化量と、右方カメラ24の高さ方向の変化量を比較することで、左方カメラ23、右方カメラ24のうちカメラの高さ方向の変化量が小さい方のカメラを特定する。
制御装置10は、特定したカメラの設置位置に対応する車輪が地表と接地する位置を、回転中心として設定する。カメラの設置位置に対応する車輪とは、前方カメラ21に対する前輪、後方カメラ22に対する後輪、左方カメラ23に対する左側輪、及び右方カメラ24に対する右側輪である。車輪が地表と接地する位置を特定する手法としては、例えば、自車両Vの静止状態において、車輪が接地する位置を予め算出して、ROM12に記憶させることが挙げられる。なお、車輪が地表と接地する位置を特定する方法は、特に限定されない。また、移動体が海底探査機の場合には、制御装置10は、海底探査機が海底面と接地する位置を、回転中心として設定する。海底探査機が車輪を有する構造であれば、海底探査機の車輪と海底面とが接地する位置を回転中心としてもよい。
制御装置10は、前方カメラ21の高さ方向の変化量と後方カメラ22の高さ方向の変化量を比較し、前方カメラ21の高さ方向の変化量が後方カメラ22の高さ方向の変化量よりも小さい場合には、前輪が地表と接地する位置を回転中心として設定する。反対に、制御装置10は、後方カメラ22の高さ方向の変化量が前方カメラ21の高さ方向の変化量よりも小さい場合には、後輪が地表と接地する位置を回転中心として設定する。
また、制御装置10は、左方カメラ23の高さ方向の変化量と右方カメラ24の高さ方向の変化量とを比較し、左方カメラ23の高さ方向の変化量が右方カメラ24の高さ方向の変化量よりも小さい場合には、左側輪が地表と接地する位置を回転中心として設定する。反対に、制御装置10は、右方カメラ24の高さ方向の変化量が左方カメラ23の高さ方向の変化量よりも小さい場合には、右側輪が地表と接地する位置を回転中心として設定する。
このように、本実施形態の制御装置10は、互いに対向する前方カメラ21と後方カメラ22それぞれの高さ方向の変化量を比較することで、自車両Vのうち前方又は後方のどちらの方が、自車両Vの姿勢の変化量が小さいかを判断する。また、互いに対向する左方カメラ23と右方カメラ24それぞれの高さ方向の変化量を比較することで、自車両Vのうち左方は右方のどちらの方が、自車両Vの姿勢の変化量が小さいかを判断する。これにより、自車両Vの姿勢の変化量が所定値よりも小さい自車両Vの範囲を容易に特定することができる。
ここで、自車両Vのうち車輪が地表と接地する位置は、自車両Vの姿勢の変化の影響が自車両Vの他の部分よりも小さい位置と仮定することができる。そのため、本実施形態では、制御装置10は、前輪又は後輪が地表と接地する位置と左側輪又は右側輪が設置する位置を、自車両Vの姿勢の変化量が所定値よりも小さい自車両Vの部分として扱う。
次に、図4A、4Bに示す例を用いて、より具体的な説明をする。図4A、4Bは、自車両Vの動作状態における姿勢の一例を示す図である。図4Aは自車両Vの左側面図であり、図4Bは自車両Vの正面図である。図4A、4Bは、自車両Vが路面G0を走行中に、自車両Vの左側前輪W1が障害物90に乗り上げた場面であり、自車両Vの左側前輪W1以外の3つの車輪は路面G0と接地している場面である。なお、図4A、4Bに点線で示されるカメラ20(前方カメラ21、後方カメラ22、左方カメラ23、右方カメラ24)は自車両Vの静止状態におけるカメラの位置、また、基準位置Zre1〜Zre4は自車両Vの静止状態における路面G0に対する基準位置であり、図3A、3Bにそれぞれ対応する。
制御装置10は、図4Aに示すように、前方カメラ21’の位置情報から、前方カメラ21’の路面G0に対する位置Z1を算出する。制御装置10は、算出した位置Z1と前方カメラ21の基準位置Zre1を比較することで、前方カメラ21’の高さ方向の変化量ΔZ1を算出する。同様に、制御装置10は、後方カメラ22’の路面G0に対する位置Z2と後方カメラ22の基準位置Zre2を比較することで、後方カメラ22’の高さ方向の変化量ΔZ2を算出する。
そして、制御装置10は、変化量ΔZ1と変化量ΔZ2を比較する。図4Aに示す場面では、変化量ΔZ2は変化量ΔZ1よりも小さくなり、制御装置10は、後方カメラ22’を、前方カメラ21’に比べて、自車両Vの姿勢の変化量が小さい方のカメラとして特定する。そして、制御装置10は、後方カメラ22’の設置位置に対応する車輪が後輪であることを判断して、後輪(左側後輪W2)が路面G0と接地している位置を、回転中心C1として設定する。設定された回転中心C1は、基準立体座標系を、y軸回りに回転移動させる際の中心として用いられる。なお、左側後輪W2及び右側後輪(図示なし)のうちどちらの後輪を利用するかは限定されず、制御装置10は、2つの後輪のうちいずれか一方の後輪が路面G0と接地する位置を、回転中心C1として設定することができる。
また、制御装置10は、図4Bに示すように、左方カメラ23’の位置情報から、左方カメラ23’の路面G0に対する位置Z3を算出する。制御装置10は、算出した位置Z3と左方カメラ23の基準位置Zre3を比較することで、左方カメラ23’の高さ方向の変化量ΔZ3を算出する。同様に、制御装置10は、右方カメラ24’の路面G0に対する位置Z4と右方カメラ24の基準位置Zre4を比較することで、右方カメラ24’の高さ方向の変化量ΔZ4を算出する。
そして、制御装置10は、変化量ΔZ3と変化量ΔZ4を比較する。図4Bに示す場面では、変化量ΔZ4が変化量ΔZ3よりも小さくなり、制御装置10は、右方カメラ24’を、左方カメラ23’に比べて、自車両Vの姿勢の変化が小さい方のカメラとして特定する。そして、制御装置10は、右方カメラ24’の設置位置に対応する車輪が右側輪であることを判断して、右側輪(右側前輪W3)が路面G0と接地している位置を、回転中心C2として設定する。設定された回転中心C2は、基準立体座標系を、x軸回りに回転移動させる際の中心として用いられる。なお、右側前輪W3及び右側後輪(図示なし)のうちどちらの右側輪を利用するかは限定されず、制御装置10は、2つの右側輪のうちいずれか一方の右側輪が路面G0と接地する位置を、回転中心C2として設定することができる。
次に、本実施形態の座標系補正機能について説明する。制御装置10は、まず、カメラ20の高さ方向の変化量に基づいて、自車両Vが基準の姿勢に対してどの程度の角度傾いている姿勢であるかを算出する。制御装置10は、自車両Vの前後方向(ピッチ方向)において、どの程度の角度だけ傾斜しているか、また、自車両Vの左右方向(ロール方向)において、どの程度の角度だけ傾斜しているかをそれぞれ算出する。
具体的には、制御装置10は、前方カメラ21のアドレス(座標値)、前方カメラ21’のアドレス(座標値)、及び後方カメラ22のアドレス(座標値)から、三角関数を使用してピッチ方向の角度変化量を算出する。なお、後方カメラ22のアドレス(座標値)の代わりに、後方カメラ22’のアドレス(座標値)を用いてもよい。制御装置10は、算出した角度をピッチ方向補正角度とする。また、制御装置10は、左方カメラ23のアドレス(座標値)、左方カメラ23’のアドレス(座標値)、及び右方カメラ24のアドレス(座標値)から、三角関数を使用してピッチ方向の角度変化量を算出する。なお、後方カメラ22のアドレス(座標値)の代わりに、後方カメラ22’のアドレス(座標値)を用いてもよい。制御装置10は、算出した角度をロール方向補正角度とする。算出したそれぞれの補正角度は、後述する基準立体座標系を回転移動する際の回転角度として用いられる。なお、回転角度を算出する方法は上記方法に限定されず、本願出願時に知られた手法を適宜用いてもよい。
また、制御装置10は、自車両Vの前後方向の傾斜角度(ピッチ方向補正角度)及び自車両Vの左右方向の傾斜角度(ロール方向補正角度)をそれぞれ算出するとともに、自車両Vの前後方向及び左右方向の傾斜方向をそれぞれ算出する。例えば、制御装置10は、基準立体座標系におけるx軸、y軸、z軸で自車両Vの傾斜方向を示すことができる。なお、自車両Vの傾斜方向とは、自車両Vの基準姿勢(自車両Vの静止状態)に対しての傾斜方向である。
図4Aを用いて、ピッチ方向補正角度と傾斜方向について説明する。図4Aでは、前方カメラ21の基準位置と後方カメラ22の基準位置を結ぶ直線はラインLre1であらされる。ラインLre1は、自車両Vの静止状態における前方カメラ21と後方カメラ22の位置関係を示す。また、前方カメラ21’の位置と後方カメラ22’を結ぶ直線は、ラインL1であらわされる。ラインL1は、自車両Vの姿勢変化後における前方カメラ21’と後方カメラ22’の位置関係を示す。制御装置10は、上述した変化量ΔZ1及び変化量ΔZ2を用いた方法により、ラインLre1とラインL1との間の角度φをピッチ方向補正角度として算出する。同時に、制御装置10は、y軸時計回りをピッチ方向の傾斜方向として算出する。
同様に、図4Bを用いて、ロール方向補正角度と傾斜方向について説明する。図4Bでは、左方カメラ23の基準位置と右方カメラ24の基準位置を結ぶ直線はラインLre2であらされる。ラインLre2は、自車両Vの静止状態における左方カメラ23と右方カメラ24の位置関係を示す。また、左方カメラ23’の位置と右方カメラ24’を結ぶ直線は、ラインL2であらわされる。ラインL2は、自車両Vの姿勢変化後における左方カメラ23’と右方カメラ24’の位置関係を示す。制御装置10は、上述した変化量ΔZ3及び変化量ΔZ4を用いる方法により、ラインLre2とラインL2との間の角度θをピッチ歩行補正角度として算出する。同時に、制御装置10は、x軸反時計回りをロール方向の傾斜方向として算出する。
次に、本実施形態の制御装置10は、自車両Vの姿勢の変化量に応じて、撮像画像を投影するために予め定義された基準立体座標系を回転移動させて、回転立体座標系を設定する。具体的に、制御装置10は、基準立体座標系を、y軸反時計回りに回転移動させるとともに、x軸時計回りに回転移動させる。
制御装置10は、基準立体座標系を、回転中心C1を中心として、y軸反時計回りにピッチ方向補正角度だけ回転移動させる。また、制御装置10は、基準立体座標系を、回転中心C2を中心として、x軸時計回りにロール方向補正角度だけ回転移動させる。そして、制御装置10は、回転立体座標系を撮像画像が投影される投影面として設定する。
図5〜7を用いて、自車両Vの姿勢と投影面との関係について説明する。図5〜7では、路面G0(地表)は水平線であらわされる。
図5は、自車両Vの静止状態における投影面(基準立体座標系S1)を示す図である。図5(A)は自車両Vを左側面視する投影面を、図5(B)は自車両Vを正面視する投影面を、それぞれ示す。基準立体座標系S1は、底面S1Bを有する円筒形状であり、自車両Vの四方を囲むようにあらわされる。図5(A)(B)に示すように、自車両Vが路面G0に静止した状態では、基準立体座標系S1は、路面G0と接するようあらわされる。基準立体座標系S1の底面S1Bは、実際の路面G0と重なり、路面G0と同一面となる。
図6は、自車両Vの動作状態における投影面(基準立体座標系S1’)の一例を示す図である。図6(A)は自車両Vを左側面視する投影面を、図6(B)は自車両Vを正面視する投影面を、それぞれ示す。図6(A)(B)は、自車両Vが路面G0を走行中に、自車両Vの左側前輪W1が障害物90に乗り上げた場面であり、図4A、4Bに対応する場面である。図6(A)(B)では、図4と同一のものには、図4と同一の符号を付している。自車両Vの左側前輪W1が障害物90に乗り上げた状態では、基準立体座標系S1’は、路面G0に対して傾いてあらわされる。基準立体座標系S1’の底面S1B ’は、実際の路面G0と重ならず、路面G0と異なる面となる。
図6(A)に示すように、自車両Vの前方には、基準立体座標系S1’が路面G0よりも浮き上がった空間SP1が発生し、自車両Vの後方には、基準立体座標系S1’が路面G0よりも沈み込んだ空間SP2が発生する。同様に、図6(B)に示すように、自車両Vの左方には、基準立体座標系S1’が路面G0よりも浮き上がった空間SP3が発生し、自車両Vの右方には、基準立体座標系S1’が路面G0よりも沈み込んだ空間SP4が発生する。つまり、自車両Vの姿勢が路面G0に対して変化すると、撮像画像を投影する投影面は、自車両Vの姿勢の変化に応じて路面G0に対して傾く。そのため、投影面には路面G0よりも沈み込んだ空間(空間SP1、空間SP3)と路面G0よりも浮き上がった空間(空間SP2、SP4)が発生する。
この投影面(基準立体座標系S1’)に撮像画像を投影すると、実際の路面G0と、投影面の底面S1B ’とが平行関係でないため、撮像画像間の不連続な繋がりが生じてしまう。そのため、投影面に撮像画像を投影して、仮想視点からの映像を作成すると、映像に生じる歪みは大きくなる。例えば、自車両Vが路面G0に対して垂直に位置する時の映像では、路面G0に対して垂直に表示された対象物が、自車両Vが路面G0に対して傾いた時の映像では、路面G0に対して傾いて表示される。
図7は、自車両Vの動作状態における投影面(回転立体座標系R1)の一例を示す図である。図7(A)は、自車両Vを左側面視する投影面を、図7(B)は、自車両Vを正面視する投影面を、それぞれ示す。図7は、図6と同様の場面であるため、説明を省略を援用する。図7(A)(B)に示すように、投影面として設定された回転立体座標系R1は、路面G0と接するようあらわされる。回転立体座標系R1の底面R1Bは、路面G0とほぼ重なり、路面G0と略同一面となる。
回転立体座標系R1は、上述した方法により、制御装置10により設定された座標系である。具体的には、制御装置10は、互いに対向するカメラの高さの変化量に基づいて、回転中心C1及び回転中心C2を算出するとともに、ピッチ方向補正角度及びロール方向補正角度を算出する。そして、制御装置10は、基準立体座標系S1’を、回転中心C1を中心として、y軸反時計回りにピッチ方向補正角度だけ回転移動させる。また、制御装置10は、基準立体座標系S1’を、回転中心C2を中心として、x軸時計回りにロール方向補正角度だけ回転移動させる。
この投影面(回転立体座標系R1)に撮像画像を投影すると、実際の路面G0と、投影面の底面R1Bとが略同一であるため、撮像画像間の不連続な繋がりの発生は抑制される。そのため、投影面に撮像画像を投影して、仮想視点からの映像を作成すると、映像に生じる歪みは抑制される。上述の例では、自車両Vが路面G0に対して垂直に位置する時の映像では、路面G0に対して垂直に表示された対象物は、自車両Vが路面G0に対して傾いた時の映像でも、路面G0に対して垂直に立って表示される。
また、回転立体座標系R1と、図5(A)(B)に示す基準立体座標系S1とを比較すると、それぞれの底面R1Bと底面S1Bはともに実際の路面G0と略同一面である。つまり、回転立体座標系R1は、自車両Vの姿勢が変化しても、基準立体座標系S1と路面G0の配置関係が維持するように、設定された座標系である。本実施形態では、基準立体座標系S1に円筒形状を用いた説明をしたが、例えば、底面を有さない球形状であっても、回転立体座標系R1と路面G0の配置関係は、基準立体座標系S1と路面G0の配置関係に維持される。つまり、回転立体座標系R1と路面G0の配置関係は、基準立体座標系S1の形態(形状)との関連なく維持される。
ここで、自車両Vの姿勢の変化により傾いた基準立体座標系S1’を、自車両Vの中心(例えば、自車両Vの重心)に回転移動させた投影面に、撮像画像を投影して、自車両Vの周囲を含む映像を表示することが、一般的に知られている(図8参照)。しかし、自車両Vの中心(回転中心C1’、C2’)は、自車両Vの姿勢の変化量に依っては、自車両Vの姿勢の変化量が所定値よりも小さい部分とは限られない。そのため、基準立体座標系S1’を自車両Vの中心に回転移動させた立体座標系R’は、例えば、路面G0から浮いた状態となる恐れがある。立体座標系R’と路面G0の配置関係は、基準立体座標系S1と路面G0の配置関係を維持できない恐れがある。
図8は、自車両Vの動作状態における参考例の投影面(立体座標系R1’)の一例を示す図である。図8に示す立体座標系R’は、基準立体座標系S1’を自車両Vの中心(回転中心C1’、C2’)を中心として、ピッチ方向補正角度及びロール方向補正角度だけ回転移動させた座標系である。図8では、立体座標系R1’が路面G0よりも浮き上がった空間SP5、SP6があらわされる。この投影面(立体座標系R1’)に撮像画像を投影すると、実際の路面G0と、投影面の底面R1B ’とが平行関係であるため、撮像画像間の不連続な繋がりの発生は抑制される。しかし、撮像画像を投影した映像には、自車両Vの周囲の一部(空間SP5、SP6)が表示されず、自車両Vの乗員に違和感を与えることがある。
一方、本実施形態の回転立体座標系R1は、底面R1Bが路面G0と略同一であるため、上述したような空間SP5、SP6は発生しない。そのため、撮像画像を投影すると、自車両Vの周囲の一部分が欠けることなく、自車両Vの周囲全体が表示されるため、乗員に違和感を与えることを抑制できる。
続いて、制御装置10の表示制御機能について説明する。制御装置10は、カメラ20の撮像画像のデータを回転立体座標系R1に投影し、仮想視点から自車両V及び自車両Vの周囲を見た映像を生成し、表示させる。
制御装置10は、カメラ20から取得した撮像画像のデータを、回転立体座標系R1に投影し、設定された仮想視点から自車両V及びこの自車両Vの周囲を見た映像を生成する。自車両Vの姿勢の変化量が所定量未満である場合には、自車両Vの姿勢が変化していないと判断する。そして、基準立体座標系S1に撮像画像を投影する。他方、自車両Vの姿勢の変化量が所定量以上である場合には、自車両Vの姿勢が変化したと判断する。そして、回転立体座標系R1を設定し、これに撮像画像を投影する。「所定量」は、自車両Vの姿勢に変化があったか否かを判断するための変化量の閾値として設定する。「所定量」は、自車両Vのカメラ20の撮像特性、基準立体座標系S1の態様、自車両Vの構造などの影響を考慮して実験的に求めることが好ましい。
制御装置10は、カメラ20から取得した撮像画像のデータを、回転立体座標系R1に投影する。投影手法は、特に限定されない。制御装置10は、出願時に知られたプロジェクションマッピング技術を用いて、投影処理を実行してもよい。撮像画像のデータのアドレスと、回転立体座標系R1のアドレス(座標値)との対応情報を用いて、投影処理を実行してもよい。
本実施形態の表示装置100は、回転立体座標系R1に投影された画像を用いて、仮想視点から自車両V及びその自車両Vの周囲を見た映像を生成する。表示装置100は、生成された映像を、ディスプレイ70に表示する。ディスプレイ70は、自車両Vに搭載し、移動体装置200として構成してもよいし、表示装置100側に設けてもよい。ディスプレイ70は、二次元画像用のディスプレイでもよいし、三次元画像を映し出すディスプレイであってもよい。なお、移動体が海底探査機の場合には、海底探査機そのものを映像に表示させないようにしてもよい。この場合、制御装置10は、撮像画像のデータを回転立体座標系R1に投影して、仮想視点から海底探査機の周囲を見た映像を生成する。
本実施形態の表示装置100が表示させる映像には、予め準備された自車両Vを示すアイコン画像V’を重畳させて表示してもよい。車両のアイコン画像V’は、自車両Vの意匠に基づいて予め作成し、ROM12に記憶させてもよい。このように、自車両Vのアイコン画像V’を映像に重畳させることにより、自車両Vの位置及び向きと周囲の映像との関係を分かりやすく示すことができる。
図9のフローチャートに基づいて、本実施形態の制御装置10の動作を説明する。
ステップS101において、制御装置10は、乗員操作装置60の表示スイッチの状態を検出する。表示スイッチのオンが検出されると、ステップS102に進み、表示スイッチのオフが検出されると、ステップS101で待機する。
ステップS102において、制御装置10は、自車両Vの周囲画像を取得するために、カメラ20により撮像された撮像画像を取得する。制御装置10は、自車両Vにカメラ20が複数台搭載されている場合には、それぞれのカメラで撮像された撮像画像を取得する。取得した撮像画像は、映像の生成に用いられるほか、対象物の検出、及び対象物までの距離の計測に用いられる。
ステップS103において、制御装置10は、ステップS102で取得した撮像画像を投影する投影用の座標を設定するため、ROM12に記憶された基準立体座標系Sを読み出す。なお、表示装置100の動作中に、基準立体座標系Sを固定して使用することに限定されない。例えば、ROM12には複数種の基準立体座標系Sが記憶されている場合、この複数種の基準立体座標系Sから、自車両Vの乗員が乗員操作装置60を介して選択する構成でもよい。
ステップS104において、制御装置10は、ステップS103で設定した基準立体座標系Sに、ステップS102で取得した撮像画像を投影して生成する映像の視点である、仮想視点を設定する。制御装置10は、ROM12に記憶された仮想視点を読み出す。なお、ROM12に記憶された一種類の仮想視点を使用することに限定されない。例えば、自車両Vの乗員が乗員操作装置60を介して仮想視点を設定する構成でもよい。
ステップS105において、制御装置10は、自車両Vの姿勢を算出する。制御装置10は、ステップS102で取得した撮像画像だけでなく、センサ40から取得した自車両Vの移動速度等を含む自車両の走行情報、ナビゲーション装置50から取得した路面の凹凸状態から、自車両Vの姿勢に関する情報を算出する。例えば、制御装置10は、カメラ20の高さを自車両Vの姿勢に関する情報として算出する。
ステップS106において、制御装置10は、自車両Vの姿勢の変化量が所定量以上であるか否かを判定する。制御装置10は、ステップS105で算出した現在の自車両Vの姿勢と、自車両Vの静止状態における姿勢とを比較することで、自車両Vの姿勢の変化量が所定量以上であるか否かを判定する。制御装置10は、ROM12に記憶された自車両Vの静止状態における姿勢を読み出して、自車両Vの基準姿勢とする。
制御装置10は、自車両Vの姿勢の変化量が所定量以上である場合には、投影面を補正する必要があると判断し、投影面補正処理Aを実行する。ステップS106では、制御装置10は、ステップS102で取得した撮像画像を、ステップS103で設定した基準立体座標系Sに投影した映像の質について判断する。つまり、制御装置10は、当該映像には、自車両Vの乗員に違和感を与える、又は当該映像に大きなノイズが生じる可能性があると判断する。反対に、自車両Vの姿勢の変化量が所定量未満である場合には、ステップS107へ進む。この場合に、制御装置10は、基準立体座標系Sに撮像画像を投影した映像には、自車両Vの乗員に違和感を与えない、又は当該映像には大きなノイズが生じないと判断する。
次に、図10を参照して、投影面補正処理Aについて説明する。図10は、本実施形態における投影面補正処理Aのフローチャートである。ステップS110〜S115と、ステップS116〜S121は、それぞれまとまった1つのフローであり、制御装置10は、これら2つのフローをシリアル又はパラレルで実行する。まず、ステップS110〜S115までを説明する。
ステップS110において、制御装置10は、自車両Vに搭載された前後のカメラ(前方カメラ21、後方カメラ22)の路面に対する位置をそれぞれ検出する。なお、制御装置10は、当該ステップで改めて2つのカメラの位置を検出することなく、ステップS102で取得した撮像画像から位置を算出してもよい。
ステップS111において、制御装置10は、自車両Vのピッチ方向の傾斜角度を算出するため、ステップS110で検出した、前方カメラ21の位置と後方カメラ22の位置を、それぞれのカメラの基準位置と比較する。制御装置10は、ROM12に記憶された前方カメラ21の基準位置及び後方カメラ22の基準位置を読み出す。制御装置10は、前方カメラ21の高さ方向の変化量ΔZ1と、後方カメラ22の高さ方向の変化量ΔZ2を算出する。
ステップS112において、制御装置10は、ステップS111で算出した変化量ΔZ1と変化量ΔZ2から、ピッチ方向の傾斜角度を算出する。制御装置10は、算出した傾斜角度をRAM13に一時的に格納する。なお、ステップS112において、制御装置10は、ピッチ方向の傾斜方向を算出し、RAM13に一時的に格納してもよい。
ステップS113において、制御装置10は、ステップS111で算出した変化量ΔZ1と変化量ΔZ2とを比較することで、前方カメラ21と後方カメラ22のうち高さ方向の変化量が小さいカメラを特定する。前方カメラ21が後方カメラ22よりも高さ方向の変化量が小さい場合には(ΔZ1<ΔZ2)、ステップS114へ進む。反対に、前方カメラ21が後方カメラ22よりも高さ方向の変化量が小さい場合には(ΔZ2<ΔZ1)、ステップS115へ進む。
ステップS114において、制御装置10は、前輪が路面と接地する位置を、基準立体座標系Sの回転中心C1として設定する。ステップS115において、制御装置10は、後輪が路面と接地する位置を、基準立体座標系Sの回転中心C1として設定する。ステップS114及びステップS115では、制御装置10は、回転中心C1を姿勢の変化量が所定値よりも小さい自車両Vの部分として扱う。
次に、ステップS116〜S121までを説明する。
ステップS116において、制御装置10は、自車両Vに搭載された左右のカメラ(左方カメラ23、右方カメラ24)の路面に対する位置をそれぞれ検出する。なお、制御装置10は、当該ステップで改めて2つのカメラの位置を検出することなく、ステップS102で取得した撮像画像から位置を算出してもよい。
ステップS117において、制御装置10は、ロール方向の傾斜角度を算出するため、ステップS116で検出した、左方カメラ23の位置と右方カメラ24の位置を、それぞれの基準位置と比較する。制御装置10は、ROM12に記憶された左方カメラ23の基準位置及び右方カメラ24の基準位置を読み出す。制御装置10は、左方カメラ23の高さ方向の変化量ΔZ3と、右方カメラ24の高さ方向の変化量ΔZ4を算出する。
ステップS118において、制御装置10は、ステップS117で算出した変化量ΔZ3と変化量ΔZ4から、ロール方向の傾斜角度を算出する。制御装置10は、算出した傾斜角度をRAM13に一次的に格納する。なお、ステップS118において、制御装置10は、ロール方向の傾斜方向を算出し、RAM13に一時的に格納してもよい。
ステップS119において、制御装置10は、ステップS117で算出した変化量ΔZ3と変化量ΔZ4とを比較することで、左方カメラ23と右方カメラ24のうち高さ方向の変化量が小さいカメラを特定する。左方カメラ23が右方カメラ24よりも高さ方向の変化量が小さい場合には(ΔZ3<ΔZ4)、ステップS120へ進む。反対に、右方カメラ24が左方カメラ23よりも高さ方向の変化量が小さい場合には(ΔZ4<ΔZ3)、ステップS121へ進む。
ステップS120において、制御装置10は、左側輪が路面と接地する位置を、基準立体座標系Sの回転中心C2として設定する。ステップS121において、制御装置10は、右側輪が路面と接地する位置を、基準立体座標系Sの回転中心C2として設定する。ステップS120及びステップS121において、制御装置10は、回転中心C2を姿勢の変化量が所定値よりも小さい自車両Vの部分として扱う。
ステップS122において、制御装置10は、ステップS103で設定した基準立体座標系S1を、ステップS114又はステップS115で得られた回転中心C1を中心として、ピッチ方向の傾斜方向と反対方向に傾斜角度だけ回転移動させる。また、制御装置10は、基準立体座標系S1を、ステップS120又はステップS121で得られた回転中心C2を中心として、ロール方向の傾斜方向と反対方向に傾斜角度だけ回転移動させる。なお、ステップS122において、制御装置10は、ステップS112又はステップS118でRAM13に一時的に格納した、傾斜角度及び傾斜方向を読み出す。
ステップS123において、制御装置10は、ステップS122で回転移動させた基準立体座標系S1を回転立体座標系R1として設定する。そして、制御装置10は、回転立体座標系R1を投影用の座標系として設定する。投影面補正処理Aは終了し、図9に示すステップS107へ進む。
ステップS107において、ステップS103で設定された基準立体座標系S1又はステップS123で設定された回転立体座標系R1に、撮像画像を投影する処理を実行し、表示用の映像を生成する。
ステップS108において、制御装置10は、生成した映像をディスプレイ70に表示する。
最後に、ステップS109において、制御装置10は、乗員操作装置60の表示スイッチの状態を検出する。表示スイッチのオンが検出されると、ステップS105へ戻り、表示スイッチのオフが検出されると、制御装置10の動作を終了する。
以上のように、本実施形態の制御装置10は、姿勢の変化量が所定値よりも小さい自車両Vの部分に、予め定義された基準立体座標系S1の回転中心を設定する。そして、制御装置10は、姿勢の変化量に応じて、基準立体座標系S1を回転移動させた回転立体座標系R1に撮像画像を投影して、仮想視点からの映像を表示する。これにより、自車両Vの姿勢が変化した場合であっても、投影面と路面G0の配置関係を、自車両Vの静止状態における当該配置関係に維持することができる。その結果、表示映像において、撮像画像間の不連続な繋がりの発生は抑制され、乗員に違和感を与えることを抑制できる。
また、本実施形態の自車両Vは、前後方向又は左右方向に、対向する2つのカメラを有し、制御装置10は、この2つのカメラの高さ方向の変化量を比較する。そして、制御装置10は、変化量の小さい方のカメラ側に、基準立体座標系S1の回転中心を設定する。これにより、姿勢の変化量が小さい自車両Vの部分を特定するための一次判断が容易となり、演算処理の負担を軽減することができる。
さらに、本実施形態の制御装置10は、自車両Vの車輪が路面G0と接地する位置を、回転中心C1、C2として設定する。これにより、自車両Vの姿勢が変化した場合であっても、自車両Vの姿勢の変化量が所定値よりも小さい位置を、容易に特定することができる。
加えて、本実施形態の制御装置10は、自車両Vの車輪のうち前輪又は後輪のいずれか一方側の車輪が路面G0と接地しない場合に、他方側の車輪が路面G0と接地する位置を、回転中心として設定するため、上記効果を奏する。
また、本実施形態の制御装置10は、自車両Vの車輪のうち左側輪又は右側輪のいずれか一方側の車輪が路面G0と接地しない場合に、他方側の車輪が路面G0と接地する位置を、回転中心として設定するため、上記効果を奏する。
さらに、本実施形態の制御装置10は、自車両Vの姿勢の傾斜方向を算出し、基準立体座標系S1を、算出した傾斜方向と反対方向に、回転移動させて回転立体座標系R1を設定する。これにより、自車両Vの姿勢に応じて傾いた基準立体座標系S1’を、時間を要することなく路面G0と略同一面となる位置に戻すことができ、演算処理の負担を軽減することができる。
なお、本実施形態では、制御装置10は、上記の方法で回転中心C1、C2を算出したが、これに限定されない。次に、回転中心C1、C2の算出方法が異なる変形例に係る制御装置110について説明する。
制御装置110は、上述した実施形態に係る制御装置10と比べて、回転中心設定機能が異なる点以外は、同様の構成であるため、説明を援用する。
次に、図11A、11Bを用いて、制御装置110の回転中心C1、C2の算出方法について説明する。図11A、11Bは、自車両の動作状態における姿勢の一例を示す図である。図11Aは自車両Vの左側面図であり、図11Bは自車両Vの正面図であり、図4A、4Bにそれぞれ対応する。図11A、11Bでは、図4A、4Bを用いて説明した内容を援用する。
変形例に係る制御装置110は、上述した実施形態に係る制御装置10と異なり、幾何学的な方法により、回転中心C11、C21を設定する。具体的に、制御装置110は、自車両Vの静止状態において、前方カメラ21と後方カメラ22のいずれもを通過するラインLre1と、自車両Vの動作状態における前方カメラ21’と後方カメラ22’のいずれもを通過するラインL1との交点を算出し、この交点を回転中心C11として設定する。
同様に、制御装置110は、自車両Vの静止状態において、左方カメラ23と右方カメラ24のいずれもを通過するラインLre2と、自車両Vの動作状態における左方カメラ23’と右方カメラ24’のいずれもを通過するラインL2との交点を算出し、この交点を回転中心C21として設定する。
このように、制御装置110は、自車両Vの静止状態における対向する2つのカメラの位置関係と、自車両Vの動作状態における対向する2つのカメラの位置関係とを比較して、回転中心C11、C21を設定する。制御装置110は、この2つの位置関係を示す2つの直線の交点を、自車両Vの姿勢の変化量が所定値よりも小さい自車両Vの部分として扱う。
制御装置110が設定した回転中心C11、C21は、上述した実施形態に係る制御装置10が設定した回転中心C1、C2と異なり、自車両Vの内側の範囲に設定される。なお、図11Aに点線で示される回転中心C1は、上述した実施形態に係る制御装置10が設定した位置であり、図11Bに示される回転中心C2は、上述した実施形態に係る制御装置10が設定した位置である。
変形例に係る制御装置110は、座標系補正機能により、基準立体座標系S1を、回転中心C11、C21を中心として、回転移動させる。制御装置110は、回転移動した基準立体座標系S1を回転立体座標系R1’’(図示しない)として設定する。回転立体座標系R1’’と路面G0との配置関係は、基準立体座標系S1と路面G0の配置関係に維持される。
なお、変形例では、カメラ20の位置関係から回転中心の位置を算出するため、上述した実施形態と比べて、自車両Vの姿勢の変化量が所定値よりも小さい位置を精度良く算出できる。そのため、回転立体座標系R1’’と基準立体座標系S1とのズレを小さくすることができる。これにより、回転立体座標系R1’’に撮像画像を投影した映像を表示すると、撮像画像間の不連続な繋がりの発生はより抑制される。
以上のように、変形例では、制御装置110は、自車両Vの静止状態において対向する前方カメラ21(左方カメラ23)及び後方カメラ22(右方カメラ24)のいずれもを通過する直線と、自車両Vの動作状態において前方カメラ21’(左方カメラ23’)及び後方カメラ22’(右方カメラ24’)のいずれもを通過する直線との交点を算出し、この交点を回転中心C11(回転中心C21)として設定する。これにより、自車両Vの姿勢の変化量が所定値よりも小さい位置を精度良く算出でき、基準立体座標系S1とのズレが小さい回転立体座標系R1’’が設定される。その結果、回転立体座標系R1’’に撮像画像を投影した映像を表示すると、撮像画像間の不連続な繋がりの発生はより抑制され、自車両Vの乗員に違和感を与えることをより効果的に抑制できる。
≪第2実施形態≫
第2実施形態では、本発明に係る表示装置を、移動体に搭載された表示システム2に適用した場合を例にして説明する。本実施形態の表示システム2は、移動体及び移動体周囲の状況を把握するための映像を移動体の操作者が見るディスプレイに表示する。
図12は、本実施形態に係る表示装置300を含む表示システム2のブロック構成図である。図12に示すように、本実施形態の表示システム2は、表示装置300と、移動体装置400とを備える。表示装置300と移動体装置400の各機器は、いずれも図示しない有線又は無線の通信装置を備え、互いに情報の授受を行う。
本実施形態の表示システム2が適用される移動体は、ヘリコプター、飛行機などの航空機その他の移動機能を備えるものを含む。本実施形態では、移動体がメインロータを有する回転翼機(ヘリコプター)である場合を例にして説明する。なお、本実施形態の移動体は、人間が搭乗可能な有人機であってもよいし、人間が搭乗しない無人機であってもよい。
なお、本実施形態の表示システム2は、移動体に搭載された装置として構成してもよいし、移動体に持ち込み可能な可搬装置として構成してもよい。また、本実施形態の表示システム2の一部の構成を移動体に搭載し、他の構成を移動体とは物理的に別の装置に搭載し、構成を分散させてもよい。この場合において、移動体と別の装置とは、情報の授受が可能なように構成される。
図12に示すように、本実施形態の移動体装置400は、カメラ80と、コントローラ30と、センサ40と、ナビゲーション装置50と、乗員操作装置60と、ディスプレイ70と、を備える。これらの各装置は移動体に搭載されたLANによって接続され、相互に情報の授受を行うことができる。なお、上述した実施形態と同様の構成には、同様の符号を付し、その説明を援用する。
本実施形態のカメラ80は、回転翼機(移動体の一例である。以下同じ)の所定位置に設けられている。回転翼機に搭載されたカメラ80は、回転翼機及び/又は回転翼機の周囲を撮像し、その撮像画像を表示装置300に送出する。本実施形態における撮像画像は、回転翼機の一部と回転翼機の周囲の映像を含む。撮像画像のデータは、回転翼機の周囲の対象物との位置関係の算出処理、回転翼機又は回転翼機の周囲の映像の生成処理に用いられる。
図13(A)(B)は、回転翼機Rに搭載されたカメラ80の設置位置の一例を示す図である。図13(A)は回転翼機Rの左側面図であり、図13(B)は回転翼機Rの上面図である。図13(A)(B)に示すように、回転翼機Rには、回転翼機の前方に前方カメラ81が設置され、回転翼機Rの後方に後方カメラ82が設置されており、前方カメラ81と後方カメラ82は対向している。また、回転翼機Rには、回転翼機Rの左側に左方カメラ83が設置され、回転翼機Rの右側に右方カメラ84が設置されており、左方カメラ83と右方カメラ84は対向している。なお、カメラ80の設置位置は特に限定されず、その設置位置を任意に変更できる。
カメラ80は、上述した実施形態に係るカメラ20と同様の機能を有するため、説明を援用する。本実施形態では、回転翼機Rがホバリングした状態を想定しているため、カメラ80のレンズは、回転翼機Rの下方向を向いているのが好ましい。なお、回転翼機Rのホバリングとは、回転翼機Rが地表に対して水平な姿勢を保ちつつ空中で停止する状態のことである。
図12に示すように、本実施形態では、センサ40には、姿勢センサ45の代わりに、ジャイロセンサ46を含む。ジャイロセンサ46は、回転翼機Rの姿勢の傾斜角度を検出する。
次に、本実施形態の表示装置300について説明する。本実施形態の表示装置300は、制御装置210を備える。
本実施形態に係る表示装置300の制御装置210は、上述した実施形態の制御装置10と比べて、回転中心設定機能が異なる点以外は、同様の機能を有する。また、本実施形態の制御装置210は、傾斜角算出機能を有する。なお、制御装置210は、情報取得機能により、ジャイロセンサ46が検出した傾斜角度を、姿勢情報として取得する。経時的に取得した姿勢情報は、後述する回転翼機Rの姿勢の変化量の算出、回転翼機Rの前後方向又は左右方向の傾斜角度の算出に用いられる。
まず、制御装置210の傾斜角算出機能について説明する。本実施形態の制御装置210は、回転翼機Rの傾斜方向及び傾斜角度を算出する。制御装置210は、地表、海面その他任意の面を基準とすることができ、この基準に対して、回転翼機Rが前後方向にどの程度傾斜しているか、及び回転翼機Rが左右方向にどの程度傾斜しているかを算出する。算出した前後方向(ピッチ方向)の傾斜角度は、ピッチ方向補正角度として、また、算出した左右方向(ロール方向)の傾斜角度は、ロール方向補正角度として、基準立体座標系S2を回転移動させる際の角度として用いられる。
次に、制御装置210の回転中心機能について説明する。制御装置210は、回転翼機Rのメインロータの回転軌跡の中心位置を、回転中心として設定する。回転翼機Rのメインロータの回転軌跡の中心位置は、回転翼機Rの姿勢の変化の影響が回転翼機Rの他の部分よりも小さい部分と仮定することができる。そのため、本実施形態では、回転翼機Rのメインロータの回転軌跡の中心位置を、姿勢の変化量が所定値よりも小さい回転翼機Rの部分として扱う。図13では、制御装置210により設定される回転中心は回転中心C3であらわされる。また、本実施形態では、上述した実施形態と異なり、制御装置210は、回転翼機Rの姿勢の変化量とは無関係に、回転翼機Rの一部であるメインロータの中心位置を回転中心として設定する。
なお、本実施形態のROM12には、回転翼機Rの静止状態における姿勢が基準の姿勢として記憶されている。具体的には、ROM12には、回転翼機Rの静止状態における回転翼機Rの姿勢情報が記憶されている。本実施形態の静止状態は、回転翼機Rのホバリングとするが、これに限定されず、回転翼機Rが着陸している状態であってもよい。
図14を用いて、回転翼機Rの姿勢と投影面との関係について説明する。図14は、回転翼機Rの静止状態及び動作状態における投影面の一例を示す図である。図14(A)〜(C)では、路面G0(地表)はxy面に沿う面であらわされる。なお、基準立体座標系S2は、底面S2Bを有する円筒状の形状であり、回転翼機Rの四方を囲むようにあらわされる。
図14(A)は、回転翼機Rの静止状態における投影面(基準立体座標系S2)を示す図である。図14(A)に示すように、回転翼機Rの静止状態では、基準立体座標系S2は、地表G1と垂直な関係となる。つまり、撮像画像に写り込む対象物(立木、鉄塔などの立体障害物)は地表G1に対して垂直な関係であり、投影面の底面S2Bも地表G1に対して垂直な関係である。このため、この投影面にカメラ80で撮像した撮像画像を投影しても、撮像画像間の不連続な繋がりは生じない。
図14(B)は、回転翼機Rの動作状態における投影面(基準立体座標系S2’)を示す図である。図14(B)は、回転翼機Rの尾翼が上がり、回転翼機Rが前方に傾いた場面を示す。例えば、向かい風に対して回転翼機Rが流されないように、姿勢を安定させるためのホバリングが挙げられる。
図14(B)に示すように、回転翼機Rの動作状態では、基準立体座標系S2’は、地表G1に対して垂直関係でなく傾いてあらわせる。つまり、実際の対象物は地表G1に対して垂直であるが、投影面の底面S2’ Bは地表G1に対して傾いている。このため、この投影面に撮像画像を投影すると、撮像画像間に不連続な繋がりが生じてしまう。その結果、投影面に撮像画像を投影して、仮想視点からの映像を作成すると、映像に生じる歪みは大きくなる。例えば、表示映像には、立体障害物が歪んで表示されてしまう。
図14(C)は、回転翼機Rの動作状態における投影面(回転立体座標系R2)を示す図である。図14(C)は、図14(B)と同様の場面であるため、説明を援用する。
回転立体座標系R2は、上述した方法により、制御装置210により設定された座標系である。具体的には、制御装置210は、回転翼機Rの左右方向(ロール方向)の傾斜角度であるロール方向補正角度及び回転翼機Rの前後方向(ピッチ方向)の傾斜角度であるピッチ方向補正角度を算出する。そして、制御装置210は、回転翼機Rのメインロータの回転軌跡の中心位置を、回転中心C3として設定する。制御装置210は、yz面において、基準立体座標系S2’を、回転中心C3として、ロール方向補正角度だけ回転移動させる。また、制御装置210は、基準立体座標系S2’を、回転中心C3として、y軸時計回りにピッチ方向補正角度だけ回転移動させる。
図14(C)では、実際の対象物は地表G1に対して垂直な関係であり、投影面の底面R2Bも地表G1に対して垂直な関係となる。このため、この投影面(回転立体座標系R2)に撮像画像を投影しても、撮像画像間の不連続な繋がりの発生は抑制される。そのため、投影面に撮像画像を投影して、仮想視点からの映像を作成すると、映像に生じる歪みは抑制される。
また、本実施形態の回転立体座標系R2と、基準立体座標系S2とを比較すると、それぞれの底面R2Bと底面S2Bはともに地表G1に対して垂直な関係である。つまり、回転立体座標系R2は、回転翼機Rの姿勢が変化しても、基準立体座標系S2と地表G1の配置関係が維持するように、設定された座標系である。なお、回転立体座標系R2は、基準立体座標系S2と海面の配置関係が維持するように、設定された座標系であってもよい。
図15のフローチャートに基づいて、本実施形態の制御装置210の動作を説明する。ステップS201〜ステップS204は、上述した実施形態のステップS101〜ステップS104に対応するため、説明を援用する。
ステップS205において、制御装置210は、回転翼機Rの姿勢を算出する。制御装置210は、ステップS202で取得した撮像画像だけでなく、センサ40から取得した回転翼機Rの傾斜角度等から、回転翼機Rの姿勢に関する情報を算出する。
ステップS206において、制御装置210は、回転翼機Rの姿勢の変化量が所定量以上であるか否かを判定する。制御装置210は、ステップS205で算出した現在の回転翼機Rの姿勢と、回転翼機Rの静止状態における姿勢とを比較することで、回転翼機Rの姿勢の変化量が所定量以上であるか否かを判定する。制御装置210は、ROM12に記憶された回転翼機Rの静止状態における姿勢を読み出して、回転翼機Rの基準姿勢とする。
制御装置210は、回転翼機Rの姿勢の変化量が所定量以上である場合には、投影面を補正する必要があると判断し、投影面補正処理Bを実行する。反対に、回転翼機Rの姿勢の変化量が所定量未満である場合には、ステップS207へ進む。
次に、図15を参照して、投影面補正処理Bについて説明する。図16は、本実施形態における投影面補正処理Bのフローチャートである。
ステップS210において、制御装置210は、回転翼機Rのロール方向の傾斜角度と、回転翼機Rのピッチ方向の傾斜角度を算出する。例えば、制御装置210は、ジャイロセンサ46の傾斜角度を用いて、それぞれの角度を算出し、ロール方向の傾斜角度をロール方向補正角度とし、ピッチ方向の傾斜角度をピッチ方向補正角度とする。
ステップS211において、制御装置210は、回転翼機Rのメインロータの回転軌跡の中心位置を、回転中心C3として設定する。制御装置10は、回転中心C3を姿勢の変化量が所定値よりも小さい回転翼機Rの位置として扱う。ステップS212において、制御装置210は、ステップS203で設定した基準立体座標系S2を、ステップS211で得られた回転中心C3を中心として、ロール方向補正角度だけ回転移動させる。また、制御装置210は、基準立体座標系S2を、回転中心C3を中心として、ピッチ方向補正角度だけ回転移動させる。
ステップS213において、制御装置210は、ステップS212で回転移動させた基準立体座標系S2を回転立体座標系R2として設定する。そして、制御装置210は、回転立体座標系R2を投影用の座標系として設定する。投影面補正処理Bは終了し、図15に示すステップS207へ進む。
ステップS207において、ステップS203で設定された基準立体座標系S2又はステップS213で設定された回転立体座標系R2に、撮像画像を投影する処理を実行し、表示用の映像を生成する。
ステップS208において、制御装置210は、生成した映像をディスプレイ70に表示する。
最後に、ステップS209において、制御装置210は、乗員操作装置60の表示スイッチの状態を検出する。表示スイッチのオンが検出されると、ステップS205へ戻り、表示スイッチのオフが検出されると、制御装置210の動作を終了する。
以上のように、本実施形態の制御装置210は、回転翼機Rのメインロータの回転軌跡の中心位置を、回転中心C3として設定する。これにより、回転翼機Rの姿勢が変化した場合であっても、姿勢の変化量が所定値よりも小さい回転翼機Rの部分を、投影面の回転中心とすることができ、その結果、回転立体座標系R2と地表との配置関係は、基準立体座標系S2と地表との配置関係が維持される。これにより、回転立体座標系R2に撮像画像を投影した映像を表示しても、乗員に違和感を与えることを抑制することができる。
なお、以上に説明した実施形態は、本発明の理解を容易にするために記載されたものであって、本発明を限定するために記載されたものではない。したがって、上記の実施形態に開示された各要素は、本発明の技術的範囲に属する全ての設計変更や均等物をも含む趣旨である。
すなわち、本明細書では、本発明に係る表示装置の一態様としての表示装置100を含む表示システム1、表示装置300を含む表示システム2を例にして説明するが、本発明はこれに限定されるものではない。
また、本明細書では、本発明に係るコントローラの一態様として、CPU11、ROM12、RAM13を含む制御装置10、制御装置210を説明するが、これに限定されるものではない。
また、本明細書では、本発明に係る第1のカメラと、第2のカメラとを有する移動体の一態様として、前方カメラ21、後方カメラ22、左方カメラ23、右方カメラ24を搭載する自車両V及び前方カメラ81、後方カメラ82、左方カメラ83、右方カメラ84を搭載する回転翼機Rを例にして説明するが、本発明はこれに限定されるものではない。