(57)【特許請求の範囲】
【請求項１】
作業車両が圃場で走行する地面とその遠方を撮像する撮像部と、
前記撮像部により撮像した撮像画像を処理して作業車両が追従走行する目標位置を特定して目標舵角を算出する画像処理部と、
前記目標舵角で走行するように作業車両を制御する走行制御部と、を備え、
前記画像処理部は、
撮像画像から算出された地平線をもとに消失点を算出し、撮像画像中の地面上に設定される基準領域の位置の変化を、消失点の位置と比較することで作業車両の前後、左右の移動量を算出する消失点追跡部と、
前記消失点追跡部で算出された作業車両の左右方向の位置ずれ量にもとづいて第１補正量を算出する第１補正部と、
前記消失点追跡部で算出された作業車両の移動量にもとづいて、撮像画像の視野外に出た過去の目標位置の現在の作業車両の位置情報を推定し、作業車両と過去の目標位置との位置ずれ量にもとづいて第２補正量を算出する第２補正部と、
前記目標位置を撮像画像の輝度分布情報を用いて遠方に向かって追跡した位置情報と、前記過去の目標位置の位置情報とを組合せて目標追従ラインを特定し、前記目標追従ラインの曲率にもとづいて第３補正量を算出する第３補正部と、
前記目標位置または前記目標位置にもとづく仮目標舵角を、前記第１補正量と前記第２補正量と前記第３補正量の少なくともいずれかにもとづいて補正して前記目標舵角を算出する目標舵角算出部と、を有することを特徴とする走行制御装置。
【請求項２】
前記画像処理部は、
撮像画像から作業車両の追従走行の目標となる目標位置を検出する目標位置検出部と、
撮像画像中の地面上に複数の画素値から構成される複数の基準領域を、直線状に一列に配列して設定する基準領域設定部と、
車両走行中に新たに撮像された撮像画像において、前記基準領域と同じ領域である参照領域を撮像画像上で追跡して位置情報を算出する基準領域追跡部と、
作業車両の移動による撮像位置の変化により生じた前記参照領域の直線からの位置ずれを前記参照領域の複数の位置情報にもとづいて算出し、前記参照領域の位置ずれにもとづいて実空間上の圃場に形成された段差および溝などの地面の凹凸を検出する凹凸検出部と、を有し、
前記基準領域設定部は、前記基準領域として、第１基準領域と、前記第１基準領域を細分化して少ない個数の画素値で構成される複数の第２基準領域とを設定し、
前記基準領域追跡部は、前記第１基準領域を追跡した後、前記第１基準領域内の前記第２基準領域の撮像画像上の位置情報を算出し、
前記凹凸検出部は、前記第２基準領域の位置情報にもとづいて実空間上の地面の凹凸を検出し、
前記目標位置検出部は、前記凹凸の形状にもとづいて前記目標位置を検出することを特徴とする請求項１に記載の走行制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両の走行を制御する走行制御装置に関する。
【背景技術】
【０００２】
農用車両による播種、移植、畝立て、畦塗りおよび資材散布などの作業では、その作業の精度や能率向上のため、また、それ以降の管理や収穫などの作業のために、各行程を直進かつ平行に行うことが重要である。これらの作業は広い圃場で長時間にわたることが多く、やり直すことができない作業もあるため、作業者への肉体的、精神的な負担が大きく、熟練を必要とする。そのため、農用車両を直進かつ隣の畝と平行に走行する自動直進技術へのニーズが多い。
【０００３】
車両の走行を制御する技術として、以下に示すような技術がある。たとえば、特許文献１には、画像処理により撮像画像から圃場の畝や畦を目標追従ラインとして検出して、目標追従ラインに沿って走行するように制御する走行制御装置が開示される。
【０００４】
特許文献２には、トラクタにＧＰＳ装置や方位センサを設けて、それらの検出結果にもとづいて舵角を操舵角センサを用いて制御して自動走行させる技術が開示される。
【０００５】
特許文献３には、２つの車線認識カメラで検出される車線から、自車両の走行路における走行横目標経路を設定して、自車両が走行横目標経路に沿って走行するように制御する車両用走行制御装置が開示される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−２０１９５８号公報
【特許文献２】特開２００２−１８６３０９号公報
【特許文献３】特開２０１３−１８０６３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
傾斜した圃場では車両が走行するにつれて横滑りする状態が生じ得る。特許文献１に記載の技術において、車両を目標追従ラインに追従させる自動走行制御時に車両の横滑りが継続して生じると、車両が目標追従ラインから離れるおそれがある。
【０００８】
特許文献２に記載の技術は、予め設定された経路でトラクタを走行させて作業を行うものであり、隣接する畝や畦などの行程は反映されないため、隣接する行程の位置が変化する場合に隣接する行程の間隔や平行度合いが低下するおそれがある。
【０００９】
特許文献３に記載の技術は、舗装路を走行する車両を対象としており、傾斜した圃場でタイヤの横滑りする状態の対応を開示していない。また特許文献３に記載の技術は、タイヤと舗装路面には高い摩擦があるため、ある操舵角を保持することで前方の目標位置に対して円弧状の軌跡で補正することなく到達する操舵方法を開示する。一方、柔らかい土壌を走行するトラクタは、タイヤと土壌の間の摩擦が低く不安定で、また、土壌中の土塊の影響などで、トラクタの方向が不意に変化する場合がある。このため、トラクタの操舵方法としては、目標位置に対してトラクタの方向を目標位置に向け、目標位置に向かって直進させる手法の適用が必要になる。
【００１０】
本発明はこうした状況に鑑みてなされたものであり、その目的は、追従目標とするラインの位置に精度良く追従走行が可能な走行制御装置を提供することにある。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明のある態様の走行制御装置は、車両が走行する地面とその遠方を撮像する撮像部と、撮像部により撮像した撮像画像を処理して車両が追従走行する目標位置を特定して目標舵角を算出する画像処理部と、目標舵角で走行するように車両を制御する走行制御部と、を備える。画像処理部は、撮像画像から消失点を定め、撮像画像中の地面上に設定される基準領域の位置の変化を、消失点の位置と比較することで車両の前後、左右の移動量を算出する消失点追跡部と、消失点追跡部で算出された車両の左右方向の位置ずれ量にもとづいて第１補正量を算出する第１補正部と、消失点追跡部で算出された車両の移動量にもとづいて、撮像画像の視野外に出た過去の目標位置の現在の位置情報を推定し、車両と過去の目標位置との位置ずれ量にもとづいて第２補正量を算出する第２補正部と、目標位置を撮像画像の輝度分布情報を用いて遠方に向かって追跡した位置情報と、過去の目標位置の位置情報とを組合せて目標追従ラインを特定し、目標追従ラインの曲率にもとづいて第３補正量を算出する第３補正部と、目標位置と第１補正量と第２補正量と第３補正量とのいずれかにもとづいて目標舵角を算出する目標舵角算出部と、を有する。
【００１２】
この態様によると、撮像部により撮像した撮像画像を処理して走行を制御できるため、走行制御を簡易に低コストで実現できる。また、傾斜した圃場などで車両に横滑りが生じる場合に、車両の横滑りを撮像画像から検出して補正量を算出し、また、目標追従ラインが曲率を持つ場合には、目標追従ラインの曲率を撮像画像から検出して補正量を算出し、それらの補正量を反映した車両の目標舵角を算出することで、実空間上の目標位置に向かって精度良く移動させることができる。
【発明の効果】
【００１３】
本発明によれば、車両の走行制御装置において目標とする追従ラインに精度良く追従走行させることができる。
【図面の簡単な説明】
【００１４】
【図１】実施形態に係る走行制御装置の側面図である。
【図２】走行制御装置の上面図である。
【図３】実施形態に係るＥＣＵの機能構成を示す図である。
【図４】実施形態に係る画像処理部の機能構成を示す図である。
【図５】図５（ａ）は、基準領域を設定した過去の時点での撮像画像を示す図であり、図５（ｂ）は、基準領域１０４を設定した後に、トラクタを前進させた位置での撮像画像６０を示し、図５（ｃ）は図５（ｂ）に示す撮像画像６０の部分拡大図である。
【図６】図６（ａ）〜図６（ｃ）は、図５（ａ）〜図５（ｃ）に示す撮像画像を写真で示す図である。
【図７】撮像画像から地面の高さ分布を算出する方法を説明するための図である。
【図８】連続的な画像処理により、複数の高さ分布を同時に算出する方法を説明するための図である。
【図９】図８に示す撮像画像を写真で示す図である。
【図１０】検出された凹凸から溝を検出する方法について説明するための図である。
【図１１】図１０に示す撮像画像を写真で示す図である。
【図１２】基準領域の追跡により車両の移動軌跡を算出する方法を説明するための図である。
【図１３】第１補正部による補正量の算出について説明するための図である。
【図１４】第２補正部による補正量の算出について説明するための図であり、地面を俯瞰した平面図である。
【図１５】遠方の段部を検出する方法を説明するための図である。
【図１６】図１５に示す撮像画像を写真で示す図である。
【図１７】目標走行ラインの曲率を説明するための図であり、図１５および図１６で説明した撮像画像を地面上に投影した平面図に、撮像範囲および検出した目標位置、参照段部領域の位置を示す図である。
【図１８】目標走行ラインが曲がっている場合の、操舵の補正方法について説明するための地面上の平面図である。
【図１９】第３補正部の補正について説明するための図である。
【発明を実施するための形態】
【００１５】
作業車両は、通常の一般車両と比べて、牽引力および旋回力に優れる一方、直進性能が低い場合がある。また、運転者は、作業車両の後部に備えられる作業機の作業状態を確認するため、後方に振り返りつつ、直進運転をすることを強いられる。圃場によっては５００ｍ以上の長さがあり、この距離を直進させるのは運転者の負担が大きい。そこで、実施形態の走行制御装置は、進行方向を撮像した画像から、畝や畦などの追従走行すべき目標位置を算出し、その目標位置に向かうように車両を走行させることで、運転者の負担を軽減させる。さらに、傾斜した圃場では車両が走行中に滑り得るため、撮像画像から得られた情報をもとに目標位置に向かう舵角を補正する。
【００１６】
図１は、実施形態に係る走行制御装置２０の側面図である。図２は、走行制御装置２０の上面図である。図面の説明において同一の要素には同一の符号を付し、重複する説明を適宜省略する。車両１は、車両操縦室３、左前輪８ａと右前輪８ｂ（以下、総称する場合は「前輪８」という）、左後輪１０ａと右後輪１０ｂ（以下、総称する場合は「後輪１０」という）、作業機１６を有する。走行制御装置２０は、車両１に搭載され、左ブレーキ機構６ａと右ブレーキ機構（不図示）（以下、総称する場合は「ブレーキ機構６」という）、カメラ１１、ＥＣＵ（Electronic control unit）１２、操舵駆動機構１４およびステアリング機構１５を備える。
【００１７】
車両１は、農用トラクタや土木用作業車両などの作業車両であってよく、車両１の後方には作業機１６が取り付けられる。作業機１６は、たとえば、圃場４において播種や畝立てなどの作業をする。
【００１８】
ステアリング機構１５は、ステアリングホイール、ステアリングシャフト、およびステアリングシャフトの動きを前輪の動きに変換するギヤ装置と、を有する。ステアリング機構１５は、ハンドルとしてのステアリングホイールの回動を前輪８の転舵運動に変換する。ステアリングホイールは、車両操縦室３内に設けられ、運転者によって回動操作される。ステアリングシャフトは、ステアリングホイールとともに回転するように一端がステアリングホイールに連結されており、ステアリングホイールの回転をギヤ装置に伝達する回転軸として機能する。
【００１９】
操舵駆動機構１４は、舵角センサ（不図示）およびモータ（不図示）を備える。操舵駆動機構１４は、モータを駆動し、ステアリング機構１５に転舵力を与える。舵角センサは、ステアリングシャフトや前輪８などに設けられ、ステアリングホイールの操舵角および操舵方向を検出する。操舵駆動機構１４はＥＣＵ１２に接続されている。舵角センサの検出値は、ＥＣＵ１２に出力される。なお、操舵駆動機構１４は、液圧式であってよく、液圧ポンプを駆動して、ステアリング機構１５に転舵力を与えてよい。
【００２０】
ブレーキ機構６は、運転者のブレーキペダル（不図示）の操作量に応じて後輪１０に制動力を与える。ブレーキペダルは、左後輪用ブレーキペダルと右後輪用ブレーキペダルを有する。運転者が各ブレーキペダルを操作することで、左後輪１０ａと右後輪１０ｂに対して個別に制動力を与えることができる。たとえば、車両１を右方向に旋回するとき、運転者が、右後輪用ブレーキペダルを踏み込んで右後輪１０ｂに制動力を与えることで、右後輪１０ｂを軸として車両１を小回りさせることができる。ブレーキ機構６は、ＥＣＵ１２に接続され、ＥＣＵ１２により後輪１０に与える制動力を制御することができ、ＥＣＵ１２によって左または右のブレーキ機構６が動作され、車両１を旋回できる。なお、車両１の前輪８に、ブレーキ機構は無くてよい。
【００２１】
車両操縦室３の上部には、単眼のカメラ１１が配置される。カメラ１１は、撮像部として機能し、車両走行の目標となる進行方向の地面および地平線を撮像する。カメラ１１は、撮像した画像をＥＣＵ１２に出力する。
【００２２】
図２では、１行程目の段部１８、２行程目の段部１９、３行程目の段部２２および４行程目の段部２４が圃場４に設けられており、車両１が３行程目の段部２２上を走行している。各段部は、例えば圃場４に予め形成された畝、耕耘作業における前行程の作業跡や耕耘境界、あるいは、走行の目標として形成されたライン上の溝である。図２に示す車両１の例では、カメラ１１により段部２２を検出して、段部２２を目標走行ラインとし、そのライン上に走行の目標位置２６を設定し、目標位置２６に向かって走行するように制御される。段部２２は例えば走行の目標として形成されたライン状の溝である。
【００２３】
運転者がＥＣＵ１２に接続された自動走行スイッチ（不図示）をオンしたときの車両１の位置を車両１の初期位置といい、走行制御装置２０による走行制御を開始する位置をいう。運転者は１つの行程を終えた後、自動走行スイッチをオフし、車両１を操舵して方向転換し、次の行程を走行するための位置に車両１を移動させ、自動走行スイッチをオンして、走行制御装置２０により自動走行を開始して次の行程の走行を開始する。
【００２４】
なお、運転者による自動走行スイッチのオン／オフにより、走行制御装置２０による走行制御が実行／停止される。たとえば運転者が自動走行スイッチをオンすると、ＥＣＵ１２は、カメラ１１から出力された撮像画像から段部２２を目標走行ラインとして検出し、目標走行ラインに追従する走行制御が実行される。段部１８、段部１９および段部２４を目標追従ラインとして検出し、この目標追従ラインに追従する走行制御が実行されてもよい。目標走行ラインは目標追従ラインに含まれるものであり、概ね車両の正面に位置して目標位置２６が設定され、走行目標となるラインである。一方、目標追従ラインが前行程の作業跡や耕耘境界などで、車両の側方に位置する場合には、これにオフセットを加えることで走行目標ラインが設定される。図２では、段部２２が目標走行ラインかつ目標追従ラインである。また、作業により段部が形成されるのであれば、先に形成された段部１８、段部１９および段部２４は目標追従ラインとしてよい。
【００２５】
ＥＣＵ１２は、撮像された撮像画像を処理する画像処理手段として機能し、また、車両１の舵角を制御する走行制御手段として機能する。ＥＣＵ１２は、各種演算処理を実行するＣＰＵ、各種制御プログラムを格納するＲＯＭ、データ格納やプログラム実行のためのワークエリアとして利用されるＲＡＭ、エンジン停止時にも記憶内容を保持できるバックアップＲＡＭ等の不揮発性メモリ、入出力インターフェース、各種センサ等から入力されたアナログ信号をデジタル信号に変換して取り込むためのＡ／Ｄコンバータ、計時用のタイマ等を備えるものである。なお、画像処理手段と走行制御手段は、それぞれ画像処理装置と走行制御装置とする、別のユニットであってよい。
【００２６】
図３は、実施形態に係るＥＣＵ１２の機能構成を示す。ＥＣＵ１２は、画像取得部３０、画像処理部３２、記憶部３４および走行制御部３６を備える。画像取得部３０は、カメラ１１が所定の撮像周期で撮像した撮像画像を取得する。
【００２７】
画像処理部３２は、画像取得部３０から受け取った撮像画像を処理する。画像処理部３２は、撮像画像から段部２２上の目標位置２６を導出するとともに、目標位置を補正する補正量を導出し、補正を加えた目標位置に向かって車両が走行するための目標舵角を算出して、走行制御部３６に供給する。記憶部３４には撮像画像の情報が記憶される。
【００２８】
走行制御部３６は、操舵駆動機構１４を介して操舵を制御する操舵制御部と、ブレーキ機構６を介して制動力を制御して旋回力を発生させるブレーキ制御部とを備える。ブレーキ制御部は、左右の後輪１０に設けられたブレーキ機構６の制動力を独立に制御して旋回力を発生させる。操舵制御部は、操舵駆動機構１４を駆動し、前輪８の操舵を制御する。
【００２９】
走行制御部３６は、画像処理部３２から受け取った目標舵角にもとづいて車両１を走行するように制御する。走行制御部３６は、初期位置１では目標舵角が算出されておらず、目標舵角を受け取っていない場合は、車両１を直進させる。なお、走行制御部３６が駆動中であっても、操舵者は操舵可能である。走行制御部３６は、目標舵角が算出されると、目標舵角で前輪８を操舵し、目標位置２６に向かうように舵角を制御する。
【００３０】
図４は、実施形態に係る画像処理部３２の機能構成を示す。画像処理部３２は、地平線検出部３８、基準領域設定部４０、消失点追跡部４１、テンプレート生成部４２、基準領域追跡部４４、目標補正部４６、凹凸検出部４８、目標位置検出部５０および目標舵角算出部５１を有する。
【００３１】
地平線検出部３８は、撮像画像上の地平線を設定する。例えば地平線検出部３８は、水平角度を検出するセンサの検出結果から撮像した時のカメラ１１の水平角度を取得し、撮像時の水平角度をもとに撮像画像上で水平となる高さを算出し、その高さの付近で横方向に伸びる線分要素を検出し、これを地平線として設定する。横方向に伸びる線分要素が検出されない場合は、取得した水平角度をもとに算出される撮像画像上の位置に、地平線を設定する。地平線は、例えば撮像画像上で直線状に輝度差を持って表れる。
【００３２】
基準領域設定部４０は、撮像画像の複数の画素値から構成される基準領域を複数設定する。基準領域設定部４０に設定される複数の基準領域は、横一列に直線状に配列された集合であり、その画素値と位置などの情報を記憶部３４に記憶させる。直線状の基準領域の集合は、新たな撮像画像に対し、新しい基準領域を設定する空間があると判断される場合には、新しい基準領域の集合が設定され、複数列になる。新たに設定される基準領域の集合は、上下方向に隣り合う基準領域の集合と重複する領域を持って設定されてよい。また、基準領域設定部４０は、所定の条件を満たすと該基準領域を破棄する。所定の条件として、例えば基準領域設定部４０は基準領域に対するテンプレートの拡大率が所定値を越える、または撮像画像の下端に接近すると、基準領域を破棄し、その基準領域の集合の追跡を終了する。
【００３３】
基準領域は、相対的に大きな第１基準領域と、相対的に小さな第２基準領域とを含む。第１基準領域と第２基準領域をとくに区別しない場合は、単に「基準領域」という。第２基準領域は、１つの第１基準領域を複数に細かく分けたものであり、第１基準領域内で横一列に直線状に配列された集合である。例えば、一つの第１基準領域は、縦１０画素、横４０画素の領域であり、第２基準領域は、縦１０画素、横５画素の領域である。各第２基準領域は、第１基準領域に含まれるが、隣り合う第２基準領域と重複してよい。第１基準領域および第２基準領域の画素値および位置情報は記憶部３４に記憶される。
【００３４】
消失点追跡部４１は、撮像画像上の消失点を含み、実空間上で遠方にある遠方領域を設定して追跡する。遠方領域は、目標位置より実空間上で遠方であり、車両１の初期位置で撮像された撮像画像上の地平線と車両１の正面方向の交点として設定される消失点（無限遠点）を含む領域であってよい。消失点追跡部４１は、消失点を含む遠方領域を設定して追跡することで、車両１の正面方向が初期位置からずれたことを検出できる。消失点追跡部４１は、所定の設定条件を満たした場合に遠方領域を再設定してもよい。例えば車両１が所定距離だけ移動するたびに消失点追跡部４１は遠方領域を再設定してもよい。消失点を再設定する場合には、消失点の位置の変化量を、記憶部３４に記憶された各々の基準領域と参照領域の位置の情報に反映させて更新する。参照領域は、基準領域を設定した撮像画像とは別の撮像画像において、実空間上で基準領域と同じ領域をいう。
【００３５】
テンプレート生成部４２は、記憶されている基準領域の画素値に対して拡大、変形などの処理を施し、テンプレートを生成する。これは、新たに撮像された撮像画像では、車両１の前進に伴い、撮像する位置が前方に移動するため、基準領域と実空間上で同じである領域は、撮像画像の下側に移動すると共に、撮像画像上で拡大および変形するためである。
【００３６】
テンプレート生成部４２は、最初に記憶された基準領域をもとに、同じ領域であると判定された時の撮像画像上の変位量に応じて拡大、変形、補間が行われて基準領域のテンプレートが生成され、記憶部３４に記憶される。また、テンプレート生成部４２は、生成されるテンプレートと元の基準領域の差が所定値以上に大きくなると、基準領域およびそのテンプレートを破棄し、追跡を終了してよい。
【００３７】
基準領域追跡部４４は、新たな撮像画像が取得されるたびに、設定された基準領域のテンプレートと類似する画素値分布を持つ領域を探索して追跡する。新たな撮像画像において基準領域と実空間上の同じ領域は、無限遠点と基準領域とを結ぶ放射状の直線上を概ね移動すると推定されるので、その線上にテンプレートの推定位置を設定する。基準領域追跡部４４は、推定位置の周囲の領域に対し、テンプレートと類似する輝度分布をもつ領域があるかどうか探索する。
【００３８】
基準領域追跡部４４は、新たな撮像画像上の推定位置の周辺から取り出したウィンドウ状の領域と、設定されたテンプレートの画素値が、正規化相関法などの手法を用いて、一致度が所定レベル以上で、かつ一致度が最も高い領域を、テンプレートと実空間上の同じ領域であると判定して参照領域とする。基準領域は直線状に設定された領域であるのに対し、参照領域は、地面の凹凸などに起因して直線に対して位置のずれが生じる場合があるが、どちらも実空間上では概ね同じ領域であると判断する。第１基準領域には第１参照領域が対応し、第２基準領域には第２参照領域が対応する。
【００３９】
基準領域追跡部４４は、第１基準領域を追跡した後、第２基準領域と実空間上で同じ領域である第２参照領域の位置を、撮像画像上で探索する。つまり、基準領域追跡部４４は、第１基準領域でおおまかな追跡をした後、第１基準領域内に設定した複数のより小さい第２基準領域によって、細かな位置の変動を検出する。これにより、最初から第２基準領域で追跡をするより、第２参照領域の位置はより安定して検出され、また、より小さい画素単位、例えば１／４画素や１／１６画素の単位で位置ずれが算出され、この結果、地面の凹凸をより高い精度で効率的に算出することが可能となる。なお、基準領域を追跡するとは、撮像画像上で基準領域と実空間上で同じ領域を探索してその領域の画素値および位置情報を検出することをいう。
【００４０】
凹凸検出部４８は、基準領域の位置情報と、新たな撮像画像において基準領域と実空間上で同じ領域である参照領域の複数の位置情報にもとづいて、基準領域の集合の実空間上の地面の高さ分布を算出する。高さ分布は、実空間上の地面の凹凸を表し、撮像画像上で直線状に設定された基準領域に対する凹凸を表す。具体的には凹凸検出部４８は、第２基準領域に対応する第２参照領域の位置情報にもとづいて、実空間上の地面の凹凸を検出する。詳細な凹凸算出方法は後述する。基準領域設定部４０において直線状の第２基準領域の集合を複数列設定しているため、高さ分布もその集合の列数に応じた数だけ算出される。地面の高さ分布をもとに地面の凹凸を算出するため、天候や日照などの条件による土壌表面の色や影に影響されずに、精度良く地面の凹凸を算出できる。
【００４１】
凹凸検出部４８は、算出した高さ分布から特徴的な地面の凹凸（段部）を検出する。たとえば凹凸検出部４８は、高さのデータ列を分析し、所定値以上の高低差を有する部分を段部として抽出し、あるいは、予め記憶された凹凸形状のパターンと一致する部分の探索を行う。段部は、凹部でも凸部であってもよい。最初に第２基準領域を直線状に設定しているため、段部を精度良く検出することができる。凹凸検出部４８は、検出した段部の位置情報および形状を記憶部３４に記憶させる。
【００４２】
凹凸検出部４８は、撮像画像上で複数の第２基準領域が上下に並列に設定される場合に、ある第２基準領域の高さ分布で検出した段部の形状の情報をもとに、別の第２基準領域の高さ分布から、パターンマッチングの手法を用いて同様の段部形状を持つ部分を検出する。検出される段部の多くは、前行程の作業で畝を作った際に形成された段差や溝であるため、撮像画像上では上下方向に連続している。複数の高さ分布から検出された段部を連結して、撮像画像上の上下に延びる段部のラインを検出する。
【００４３】
目標位置検出部５０は、検出された段部にもとづいて車両走行の目標となる目標位置を算出する。具体的には、目標位置検出部５０は、実空間上で同じ種類の段部であると判定された複数の高さ分布の段部をつないで目標走行ラインを生成する。次に、目標位置検出部５０は、車両１から所定の間隔だけ前方にある目標走行ライン上の位置を目標位置として設定する。あるいは、複数の高さ分布の段部の位置を加重平均して１個の位置に集約し、これを目標位置として設定する。
【００４４】
目標補正部４６は、設定した目標位置に対して車両を精確に誘導するための、目標位置の補正量を算出し、補正した目標位置を目標舵角算出部５１に送出する。目標補正部４６は、車両の横ずれを検出することで第１補正量を算出する第１補正部５２と、過去の目標位置と車両の位置とを比べて第２補正量を算出する第２補正部５４と、目標走行ラインの曲率にもとづいて第３補正量を算出する第３補正部５６を有する。
【００４５】
第１補正部５２は、まず、第１基準領域の設定時の撮像画像上での位置を消失点の位置と比較し、実空間で第１基準領域に相当する地面の位置を算出する。続いて、新たに撮像した撮像画像上での第１参照領域の位置を消失点の位置と比較し、実空間で第１参照領域に相当する地面の位置を算出する。これらの地面の位置は車両１に搭載されたカメラ１１からの相対位置であり、第１基準領域に相当する地面と第１参照領域に相当する地面は、実空間で同じ地面であるので、二つの相対位置の差から、車両１の前後方向と左右方向の移動量が算出される。また、撮像画像上での消失点の左右方向の移動量から、車両１の旋回量が算出され、車両１の前後方向と左右方向の移動量と旋回量から、車両１の横ずれの発生量が算出される。横ずれとは、車両の前後方向への走行に対し、車輪が横方向に滑ることで車両が左右方向にずれ動く状況である。
【００４６】
横ずれの発生は、車両１が目標位置へ追従走行する精度を低下させるので、第１補正部５２は横ずれを打ち消すように、第１補正量を算出する。第１補正部５２は、実空間で同じ領域を撮像画像上で追跡し、それらの領域の位置ずれにもとづいて第１補正量を算出する。第１補正量は、例えば車両１が目標位置までの距離を前進する間に、左側に１０ｃｍほど横ずれを生じていると算出されると、目標位置を右側に１０ｃｍほど移動して補正し、補正した目標位置に向かうように操舵角を算出する。この補正により、車両１は横ずれが発生しても、目標位置に精確に追従することができる。
【００４７】
第２補正部５４は、過去の目標位置と車両の位置との位置ずれ量にもとづいて、目標位置を補正する第２補正量を算出する。過去の目標位置は、目標位置検出部５０により検出された目標走行ライン上の目標位置で、仮想２次元空間上の位置情報として記憶部３４に記憶される。仮想２次元空間の位置情報は、実空間の前後左右の距離に対応し、各時刻での車両１を原点に設定してよい。第１補正部５２で算出される車両１の前後、左右の移動量と旋回量により、過去の目標位置と車両１の相対位置が仮想２次元空間上で算出される。これにより、撮像画像に写らない車両１の直下付近での目標走行ラインの位置が算出され、車両１と目標走行ラインの位置のずれ量が把握される。この位置のずれ量に応じて、現在の目標位置に補正を加えることで、目標走行ラインへの追従精度を高めることができる。
【００４８】
具体的には、第２補正部５４は、撮像毎に撮像画像から算出される車両１の移動量にもとづき、仮想２次元空間上で過去の目標位置の位置を計算する。例えば、車両１が前方に３０ｃｍ、左方向に５ｃｍ移動したと算出されると、過去の目標位置は手前に３０ｃｍ、右方向に５ｃｍほど仮想２次元空間上で移動させることにより、車両１に対する相対位置が推定される。また、過去の目標位置が車両１の直下付近に達した時、例えば、過去の目標位置が車両１の１０ｃｍほど左側に位置していた場合には、目標位置を右側に１０ｃｍほど移動して補正し、補正した目標位置に向かうように操舵角を算出する。この補正により、車両１は目標位置に精確に追従することができる。なお、過去の目標位置との偏差を判定する車両側の位置は、車両の中心や、車両の後部に接続した作業機の中心などに設定してよい。
【００４９】
第３補正部５６は、目標追従ラインがカーブしている際に、目標追従ラインの曲率にもとづいて、目標位置を補正する第３補正量を算出する。目標走行ラインがカーブしている場合に、目標位置を目標走行ライン上に設定し、さらに、車両１の方向を目標位置に向ける操舵方法を行うと、車両１は常に目標走行ラインの内径側を走行し、目標走行ラインに対して偏差を生じる可能性がある。そこで、目標走行ラインがカーブしている場合は、目標位置を目標走行ラインの径方向外側に補正する第３補正量を算出する。これにより目標走行ラインへの追従精度を高めることができる。
【００５０】
具体的には、第３補正部５６は、目標追従ラインの曲率にもとづいて第３補正量を算出する。第３補正部５６は、目標追従ラインが車両１の右方向に曲がっている場合、車両１が目標位置より左側に進む第３補正量を算出する。また、第３補正部５６は、目標追従ラインが車両１の左方向に曲がっている場合、車両１が目標位置より右側に進む第３補正量を算出する。このように、目標追従ラインが曲がっている場合、目標追従ラインの外側に向かって車両の舵角を補正する。
【００５１】
また、第３補正部５６は、目標位置とその周囲の画素値の分布パターンの情報により、目標位置より遠方側の目標追従ラインの位置を探索し、仮想２次元空間上の位置を算出する。さらに、第２補正部５４で算出された過去の目標位置の仮想２次元空間上の位置情報を加えることで、目標追従ラインの位置を前後方向に渡って検出し、その２次元的な形状からカーブの曲率を算出する。
【００５２】
ここで、車両１の操舵方法を説明する。舗装路を走行する乗用車などの車両では、通常時はタイヤと路面の摩擦が大きく、スリップはほとんど発生しないので、ある目標位置に移動しようとする場合には、ある舵角を保持して旋回しながら目標位置に到達する操舵方法が採用される。一方、柔らかい土壌上を走行する農用車両では、タイヤの摩擦が小さく、舵角と旋回半径の関係は不安定となる。そこで、車両の走行を制御する方法として、目標位置を定め、その目標位置に向かって車両の方向を制御する操舵方法を採用する。
【００５３】
目標補正部４６は、算出した目標位置の各補正量を単独に、あるいは合計して、目標舵角算出部５１に送出する。なお、目標補正部４６は、第１補正量、第２補正量および第３補正量のうち、いずれかひとつ目標舵角算出部５１に送出、またはいずれか２つを合計して目標舵角算出部５１に送出してよい。また、目標補正部４６は、第１補正量、第２補正量および第３補正量の各補正量にそれぞれ閾値を設け、閾値以下の補正量を用いないとしてもよい。これにより、敏感な補正により操舵がふらつくことを抑えることができる。目標補正部４６は、目標位置の補正量に応じた舵角の補正量を算出し、舵角補正量として目標舵角算出部５１に送出してもよい。また、目標補正部４６は、各補正量にそれぞれの係数を掛けて統合化した補正量を算出してもよい。
【００５４】
目標補正部４６で算出される第１補正量、第２補正量、第３補正量のそれぞれの特徴を説明する。過去の目標位置にもとづく第２補正量は、車両の横ずれやカーブに起因する目標ラインとの誤差も補正する効果を有しているが、過去の目標位置が車両１の直下まで移動しないと、目標ラインとの誤差が検出されないため、補正が遅れる欠点がある。一方、車両の横ずれにもとづく第１補正量は、車両が走行を開始して直に横ずれの発生を検知することも可能であるため、目標ラインとの誤差が顕著に拡大する前に、補正を加えることが可能となる。また、目標ラインのカーブに起因する第３補正量は、車両がカーブに進入する以前に、カーブを検知して補正を加えることが可能となる。また、第１補正量、第３補正量の効果が不十分で、目標ラインとの誤差が発生した場合には、第２補正量によって追加の補正がなされることが期待される。このように複数の補正を加えることで、目標ラインへの追従の精度を確実に高めることができる。
【００５５】
目標舵角算出部５１は、目標位置検出部５０で検出された目標位置に、目標補正部４６で算出された補正量を加えて目標位置を補正し、補正後の目標位置に向かって車両の方向を制御する目標舵角を算出する。一般的な形態として、カメラ１１は車両１の中心線上に設置され、また、カメラ１１の正面方向は、車両１の正面方向と一致するように調整されるため、目標舵角算出部５１は、補正後の目標位置が撮像画像の中心線と重なるように、車両１の舵角を算出する。このように撮像画像を画像処理部３２により処理することで車両１の目標舵角を算出できる。撮像画像を参照して画像処理について詳細に説明する。
【００５６】
図５（ａ）は、基準領域１０４を設定した過去の時点での撮像画像５９を示す図である。図５（ｂ）は、基準領域１０４を設定した後に、トラクタを前進させた位置での撮像画像６０を示し、図５（ｃ）は図５（ｂ）に示す撮像画像６０の部分拡大図である。また、図６（ａ）〜図６（ｃ）は、図５（ａ）〜図５（ｃ）に示す撮像画像を写真で示す図である。撮像画像５９には、地平線６２、第１段部６４および第２段部６６が撮像されている。
【００５７】
消失点追跡部４１は、図５（ａ）の撮像画像に対して、地平線６２と撮像画像上の車両の正面方向６３の交点に消失点７０を設定し、消失点７０を含む遠方の風景が写る領域に遠方領域７１を設定する。遠方領域７１は複数の画素値で構成され、撮像毎に撮像画像上で類似する画素値の分布を持つ領域として追跡され、その遠方領域７１の上下、左右の位置の変化にもとづいて、撮像画像上の消失点７０の位置を撮像毎に特定する。図５（ａ）に示す一つの基準領域１０４は複数の画素からなる領域であり、基準領域設定部４０に設定された複数の基準領域１０４が、直線状に一列に配列された集合１０２を構成する。
【００５８】
図５（ｂ）には、設定された基準領域１０４が直線状の集合１０２として示されている。車両１が第１段部６４に沿って前進すると撮像位置が移動し、集合１０２の基準領域と実空間上で同じである集合１０８の参照領域は、撮像画像中で下方に移動する。移動後の画像である図５（ｂ）には、図５（ａ）で設定した基準領域１０４と同じ位置に集合１０２を示すと共に、集合１０２の基準領域と実空間上で同じ地面を、参照領域１１０およびその集合１０８として示す。集合１０８は、集合１０２と類似する輝度分布パターンを画像上で探索することによって追跡される。
【００５９】
図５（ｃ）に示すように、３つの基準領域１０４は直線状の一列の集合１０２として設定されており、１つの基準領域１０４内に複数の第２の基準領域１０６が直線状の集合として設定される。基準領域１０４を、以降では第１基準領域１０４と呼ぶ。第１基準領域１０４および第２基準領域１０６は地平線６２に平行に設定される。また、第２基準領域１０６は、第１基準領域１０４と同じ縦幅の画素を有するが、横幅は狭くなっており、例えば第１基準領域１０４の横幅が４０画素であるのに対し、第２基準領域１０６の横幅は５画素であり、横方向に重複しながら３〜４画素の間隔で設定される。図５（ｂ）では各々の第２基準領域１０６の中心点を示す。設定した各々の基準領域の画素値および位置情報は記憶部３４に記憶される。
【００６０】
図５（ｃ）に示す第１参照領域１１０は、第１基準領域１０４と実空間上で同じ領域（地面）であると判定された領域であり、また、第２参照領域１１２は第２基準領域１０６と同じ領域（地面）であると判定された領域である。
【００６１】
ここで画像上のｉｊ座標を説明する。図５（ｂ）に示すように画像の左下隅を原点とし、上方向にｊ座標、右方向にｉ座標を設定する。ｉｊ座標の単位は画素であり、図６に例示する写真画像は、横６４０画素、縦４８０画素のサイズである。図５（ｂ）に示すように地平線６２の縦座標はｊｖであり、また、集合１０２の第２基準領域１０６は、いずれも縦座標ｊａである。
【００６２】
第１段部６４の地面の断面形状は、例えば図６（ｃ）に示すような、Ｖ字形の溝であり、各部に高低差のある形状である。第１段部６４の高い部分にある第２参照領域の縦座標はｊｂｈとなり、一方、溝の底などの低い部分の第２参照領域の縦座標はｊｂｌとなる。第２基準領域１０６が設定された縦座標ｊａに対して、より低い部分の第２参照領域の縦方向の移動量は小さくなる。これは、実空間での同じ移動量に対して、低い部分は高い部分に比べてカメラ１１からの距離が遠くなるので、画像上での移動量が小さくなるためである。このように図５（ａ）の画像上では、一本の直線上にあった基準領域の集合が、図５（ｂ）のような新たな撮像画像では、地面の凹凸に応じて直線上の位置から変化が生じる。
【００６３】
基準領域追跡部４４は、第１基準領域１０４と実空間上で同じ領域を追跡し、第１基準領域１０４と最も類似する輝度分布をもつ領域を探索する。基準領域追跡部４４は、第１基準領域１０４と類似度が最も高い領域を実空間上で同じ領域であると判定し、その領域を第１参照領域１１０として、その画素値および位置情報を記憶部３４に記憶させる。
【００６４】
基準領域追跡部４４は、第１基準領域１０４の追跡をして第１参照領域１１０を探索した後、所定条件を満たせば、第１基準領域１０４の中に第２基準領域１０６を設定し、第１参照領域１１０の周辺の探索を行う。所定条件は、例えば第１基準領域を設定した後、車両が前方に移動して撮像画像上で第１参照領域が下方へ移動して行き、その縦座標の移動量が所定値以上となった場合や、車両が前方に移動量が所定値以上となった場合である。基準領域追跡部４４は、第１参照領域１１０の周辺で第２基準領域１０６と類似度が最も高い領域を、実空間上で同じ領域であると判定して第２参照領域１１２を検出する。複数の第２参照領域１１２は、横一列の直線上から縦方向に位置ずれが生じており、凹凸検出部４８は、その位置ずれにもとづいて実空間上の地面の凹凸を検出する。
【００６５】
図７は、撮像画像から地面の高さ分布を算出する方法を説明するための図である。第１基準領域１０４が設定された撮像画像５９を撮像したカメラ位置をＣａ、新たな撮像画像６０を撮像したカメラ位置をＣｂとする。一方、それぞれの位置での地面からの高さＣＡＨは既知である。カメラ１１が向く方向は、説明の簡素化のため水平方向とする。
【００６６】
車両１が、撮像画像５９と撮像画像６０の間に前進した距離Ｚ０は、その時間差と車速から算出することができる。また、第１参照領域１１０の縦座標ｊｂｈに相当する角度θｂｈ、または縦座標ｊｂｌに相当する角度θｂｌと、第１基準領域１０４の縦座標ｊａに相当する角度θａとの差から、距離Ｚ０を算出することもできる。
【００６７】
例えば、高さＧｌの平坦な地面の上に高さｄＨの畝が存在したとする。この高さｄＨが求まれば、高さ分布が算出できる。高さ分布は、実空間上の地面の凹凸を表し、撮像画像上で直線状に設定された基準領域に対する凹凸を表す。カメラ位置Ｃａから撮像した撮像画像５９には、角度θａの方向に畝の上の領域Ｐｈがあり、また、平坦な地面の上の領域Ｐｌがある。撮像画像上では領域Ｐｈと領域Ｐｌは同じ縦座標ｊａ上にあるが、領域Ｐｈおよび領域Ｐｌは実空間では異なる高さである。カメラ位置Ｃａから領域Ｐｈ、領域Ｐｌまでの実空間上の水平距離Ｚａｈ、Ｚａｌは下式で計算される。
Ｚａｌ＝ＣＡＨ／ｔａｎ（θａ） ・・・（１）
Ｚａｈ＝（ＣＡＨ−ｄＨ）／ｔａｎ（θａ） ・・・（２）
また、画像との関係は、式（３）で計算される。ここで、ＰＷＶは１画素の垂直方向の視野角のｔａｎ値である。
ｔａｎ（θａ）＝ＰＷＶ（ｊｖ−ｊａ） ・・・（３）
【００６８】
車両が距離Ｚ０ほど前進した点Ｃｂの位置から実空間上の領域Ｐｈ、領域Ｐｌを見ると、上から見下ろす形となり、その方向には差異が生じる。領域Ｐｈ、領域Ｐｌについて、それぞれの角度をθｂｈ、θｂｌl、撮像画像上の縦座標をｊｂｈ、ｊｂｌを用いて実空間上の水平距離Ｚｂｈ、Ｚｂｌは （１）〜（３）式と同様に下式の関係になる。
Ｚｂｌ＝ＣＡＨ／ｔａｎ（θｂｌ） ・・・（４）
Ｚｂｈ＝（ＣＡＨ−ｄＨ）／ｔａｎ（θｂｈ） ・・・（５）
ｔａｎ（θｂｌ）＝ＰＷＶ（ｊｖ−ｊｂｌ） ・・・（６）
ｔａｎ（θｂｈ）＝ＰＷＶ（ｊｖ−ｊｂｈ） ・・・（７）
【００６９】
領域Ｐｈと領域Ｐｌの水平距離Ｚｂｌは変化しないので、下式が得られる。
Ｚｂｌ＝Ｚａｌ−Ｚａｈ＝Ｚｂｌ−Ｚｂｈ              ・・・（８）
（８）式に（１）（２）（４）（５）式を代入して高低差ｄＨで整理すると（９）式になる。
【数１】
0006497546.tif 000002
・・・（９）
【００７０】
（９）式に（３）（６）（７）式を代入すると（１０）式になり、ｊｂｈを（１１）式のように書きかえて整理すると（１２）式になる。ｄｊは、領域Ｐｈと領域Ｐｌの撮像画像６０上の縦座標の差である。（１２）式を見ると走行距離Ｚ０とカメラ１１の視野角ＰＷＶの値が直接的には不要となる点が注目される。
【数２】
0006497546.tif 000003
・・・（１０）
ｊｂｈ＝ｊｂｌ−ｄｊ ・・・（１１）
【数３】
0006497546.tif 000004
・・・（１２）
【００７１】
ここで、ＣＡＨ＝１９７０ｍｍ、ｊｖ＝３８０画素、ｊａ＝２５０画素、ｊｂｌ＝２３０画素を（１２）式に代入すると（１３）式になる。
【数４】
0006497546.tif 000005
・・・（１３）
高さｄＨは縦座標差ｄｊに依存する値となる。第２基準領域１０６を横一直線に設定しているため、同じ集合であれば（ｊｖ−ｊａ）の値も同じであり、ｄｊの値の分布のみからその地面の高さ分布が算出できる。
【００７２】
撮像画像６０上での領域Ｐｌの撮像画像上の縦座標差ｄｊを式（１１）により算出するにあたって、領域Ｐｈは、領域Ｐｌの横方向に隣接する領域であってよく、また、横方向に離れた位置の領域であってよい。また、縦座標差ｄｊは、領域Ｐｌの縦座標と、同じ集合の第２参照領域１１２の縦座標の平均値との差であってもよい。また、同じ集合の第２参照領域１１２の位置情報から最少二乗法により標準直線を算出し、その標準直線と、領域Ｐｌの縦座標との差により縦座標差ｄｊを算出してもよい。このような領域Ｐｈを比較対象となる領域といい、比較領域は、領域Ｐｌと同じ集合の第２参照領域１１２から定められ、任意の第２参照領域１１２であってよく、同じ第２参照領域１１２の集合を平均化または標準化した第２参照領域１１２であってよい。これにより、元は直線状に設定した第２基準領域１０６から、撮像位置が移動したことによる第２参照領域１１２の縦方向の相対的な位置の比較により算出された縦座標差ｄｊにもとづいて高さ分布を算出することができる。
【００７３】
なお、各参照領域は高さ方向(縦座標)のみでなく、前後方向の位置Ｚ、左右方向(横座標)の位置Ｘの３次元位置も下式で計算される。
Ｚ＝（ＣＡＨ−ｄＨ）／（ＰＷＶ・（ｊｖ−ｊｂｈ））        ・・・（１４）
Ｘ＝Ｚ・ＰＷＨ（ｉｂｈ−ｉｖ）                          ・・・（１５）
ここで、ＰＷＨは１画素の水平方向の視野角のｔａｎ値、ｉｂｈは撮像画像６０の第２参照領域１１２の横座標、ｉｖは撮像画像上で車両の前方正面の横座標である。これにより、目標追従ラインの三次元位置も算出できる。ここで、３次元空間でのＸＹＺ座標は次のように設定する。まず、カメラ１１の直下の地面上を原点とし、垂直上向きにＹ座標または高さＨ、車両の前方正面方向をＺ座標、左右方向をＸ座標とする。
【００７４】
このように凹凸検出部４８は、集合１０２が設定された実空間上の地面の高さ分布を第２参照領域１１２の縦座標にもとづいて算出し、算出された高さ分布から凹んだ第１段部６４や段差を検出する。
【００７５】
図８は、連続的な画像処理により、複数の高さ分布を同時に算出する方法を説明するための図である。また、図９は、図８に示す撮像画像を写真で示す図である。図８（ｃ）は、図８（ｂ）に示す撮像画像７２の部分拡大図である。図８（ａ）では、図５（ｂ）で示した基準領域の追跡を繰り返し行ったことを示す。
【００７６】
基準領域追跡部４４は、図８（ａ）のように、撮像画像の下端から数十画素ほど上方の位置に第１基準領域１０４を設定し、引き続き一定の時間間隔で連続的に撮像される撮像画像に対して、第１基準領域１０４と実空間上で同じ領域である参照領域の追跡を行う。車両が前進するとともに、参照領域は撮像画像上で下方に移動して行き、参照領域が１０画素ほど下方に移動すれば、撮像画像上の開いた部分に新しい基準領域を設定する。また、参照領域が撮像画像の下端に近づくと、その基準領域と参照領域を破棄し、画素値や位置などの情報を消去する。
【００７７】
図８（ａ）には撮像画像７２に対して新たに設定した第１基準領域１０４と、以前の撮像画像において第１基準領域１０４と概ね同じ位置にあったが、車両１の前進によって下方に移動した第１参照領域１１３、さらに以前の撮像画像において第１基準領域が設定された第１参照領域１１４、第１参照領域１１６、第１参照領域１１８を示す。
【００７８】
図８（ｂ）および（ｃ）では、第１参照領域１１４、第１参照領域１１６、第１参照領域１１８の追跡後に、各領域内で第２参照領域の追跡を行い、凹凸検出部４８が第２参照領域の位置にもとづいて算出した実空間上の高さ分布を示す。第１高さ分布１２０、第２高さ分布１２２および第３高さ分布１２４は、第１参照領域１１４、第１参照領域１１６および第１参照領域１１８にそれぞれ対応する。
【００７９】
高さ分布の算出において、基準領域と参照領域の画像縦方向の位置の移動量が小さいと、算出結果の誤差が大きくなる傾向がある。そこで、凹凸検出部４８は、第１参照領域の縦方向の移動量が閾値以上である場合に、高さ分布を算出する。図８（ｂ）では、上から２番目の第１参照領域１１３は移動量が閾値に達していないため、高さ分布を算出せず、上から３番目以降の第１参照領域は移動量が閾値に達しているため、高さ分布を算出する。これにより、高さ分布の算出結果の誤差を抑えることができ、第１段部６４を精度良く検出できる。
【００８０】
図１０は、検出された凹凸から溝を検出する方法について説明するための図である。図１１は、図１０に示す撮像画像７４を写真で示す図である。図１０は、図８で検出された第１高さ分布１２０、第２高さ分布１２２および第３高さ分布１２４が示される。
【００８１】
ここで目標走行ラインとして圃場に形成される溝などは、予め設定された溝の形成装置を使用することで、そのおおまかな形状は既知である。このように予め推測できる形状は、その代表的な形状を記憶部３４に登録させ、検出される高さ分布に対してパターンマッチングの手法を適用し、一致度が所定レベル以上で、最も高い部分を同じ領域であると判定して検出してよい。これにより容易に追跡すべき地面の凹凸を検出することができる。
【００８２】
記憶部３４は、例えばＶ字状の溝に対応する登録形状１２６を保持する。目標位置検出部５０は、第１高さ分布１２０、第２高さ分布１２２および第３高さ分布１２４に対してＶ字状の登録形状１２６でパターンマッチングを行って類似の形状を特定し、撮像画像上で上下に連なった段部を検出する。図１０では、各々の高さ分布について、登録形状１２６との一致度が最も高い位置に、Ｖ字状の形状を図示する。
【００８３】
目標位置検出部５０は、高さ分布に対して最も一致度の高い位置の登録形状１２６の底の部分の位置情報を段部として検出する。目標位置検出部５０は、第１高さ分布１２０、第２高さ分布１２２および第３高さ分布１２４のそれぞれについて段部の位置情報を検出し、それらの位置を平均化することで目標位置２６を算出する。これにより、圃場に形成された溝の段部を目標位置にできる。予め記憶された登録形状を用いてパターンマッチングすることで、容易に段部を検出することができ、段部の検出速度を向上することができる。
【００８４】
図１２は、基準領域の追跡により車両１の移動軌跡を算出する方法を説明するための図である。図１２（ａ）では、時刻ｔ１での車両１と第１基準領域１０４との位置関係を示す。第１基準領域１０４は、車両１の中心ライン１２８の延長線上に設定された状態である。カメラ１１は車両１の中心ライン１２８上に設置されるため、撮像画像の中心ラインは、車両１の中心ライン１２８と一致する。なお、中心ライン１２８は車両１の中心を通り、車両１の正面方向に沿って延びる。
【００８５】
図１２（ｂ）では、時刻ｔ２の車両１と第１参照領域１１０との位置関係を示す。第１参照領域１１０は、第１基準領域１０４と実空間上で同じ領域である。時刻ｔ２では、車両１の前進により、第１参照領域１１０は車両１に接近するとともに、車両１の中心ライン１２８より右側に位置する状態とする。
【００８６】
図１２（ｃ）に示すように第１参照領域１１０を、図１２（ｃ）の左右中央の位置になるように配置すると、車両１は左方向に少し旋回した状態となる。続いて、第１基準領域１０４と第１参照領域１１０は実空間上で同じ領域であるので、これを重ね合わせると図１２（ｄ）に示すようになり、時刻ｔ１から時刻ｔ２の間での車両１の移動軌跡１２９、つまり移動量および旋回量がわかる。このように撮像画像上で基準領域を追跡することで、車両１の移動軌跡を算出できる。また、基準領域追跡部４４は、図８（ａ）に示すような複数の基準領域を同時に追跡し、それぞれの算出結果を平均化することで、車両１の移動軌跡を精度よく算出できる。
【００８７】
図１３は、第１補正部５２による補正量の算出について説明するための図である。例えば圃場が左側に傾斜し、車両１の前進に伴って車両１が左方向に横ずれを起こす状況では、図１３（ａ）に示すように、車両１の方向を目標位置２６ａに向かうように走行制御しても、目標走行ライン７６ａに対して、車両１は横ずれ７７を継続的に生じる状態となる。
【００８８】
複数の基準領域の追跡によって、車両１の横ずれ７７が検出された場合には、図１３（ｂ）に示すように、目標走行ライン７６ａ上の目標位置２６ａに対し、横ずれ７７の分を加算して補正した目標位置２６ｃを設定する。続いて、この目標位置２６ｃに向けて車両１の方向が制御されるように操舵角を算出することにより、車両１の目標走行ライン７６ａへの追従精度を高めることができる。つまり、斜面などで車両１の横ずれ７７が発生する状況においても、横ずれ７７にもとづいて目標位置２６ａを補正することで、車両１を目標走行ライン７６ａ上を走行させることができる。
【００８９】
図１４は、第２補正部５４による補正量の算出について説明するための図であり、地面を俯瞰した平面図である。カメラ１１の視野に入る地面上の範囲は、撮像範囲８０のようになる。撮像範囲８０より手前に位置する目標走行ラインはカメラ１１の視野外となり撮像できない。そこで撮像範囲８０内の境界付近で検出された目標走行ライン上の段部８２に対し、その位置を記憶する。続いて、図１２で示したように、撮像画像から撮像毎の車両１の移動軌跡を算出できるので、その移動軌跡を車両１の位置情報に反映すると、撮像範囲８０の外に出た段部の位置８２ａが推算される。この計算処理を撮像毎に連続して行うことで、過去の段部の位置８２ａを継続的に追跡することができ、位置８２ａの追跡を、車両１の直下まで継続することにより、車両１と目標走行ラインの位置ずれ量７８が算出される。この位置ずれ量７８に応じて、第２補正部５４により補正量７９を算出し、段部８２の位置を補正した補正目標位置８３を算出する。
【００９０】
図１４には、車両１の前進に伴い、過去の段部の位置８２ａが車両１に接近して来る状態を示す。記憶部３４は、車両１の位置１ａと過去の段部の位置８２ａとの縦横の偏差を位置情報として保持してよく、車両１の位置１ａを仮想２次元空間上で常に原点に設定して過去の段部の位置８２ａの位置情報を変えてもよい。いずれにしても、記憶部３４は過去の段部の位置８２ａと車両１の位置１ａの位置関係を示す位置情報を保持する。新しい段部８２の位置の記憶は、例えば、ある参照領域が撮像画像の下端に近づいて破棄される際に行い、また、位置８２ａが車両１の後方に達した時に、その記憶された情報を破棄してよい。このように同時に複数の段部の位置が記憶され、各々の段部の位置が並行して追跡される。
【００９１】
追跡される複数の段部の位置８２ａのうち、車両１との距離が閾値以内で、最も接近している段部の位置８２ａに対し、車両１の位置１ａとの位置ずれ量７８を算出する。位置ずれ量７８は、実空間上の車両１の直下での目標走行ラインの位置ずれとして推定できる。第２補正部５４は、撮像範囲内で検出される目標走行ライン上の目標位置に対し、位置ずれ量７８だけ加算して目標位置を補正すように第２補正量を算出する。このように車両の位置と過去の目標位置とのずれを操舵に反映することで、フィードバック制御のように細かな位置ずれを精度よく修正することができ、目標走行ラインへの追従精度を高めることができる。
【００９２】
図１５は、遠方の段部を検出する方法を説明するための図である。また、図１６は、図１５に示す撮像画像８４を写真で示す図である。図１０および図１１で説明したように、ひとたび目標走行ライン６５上の段部と目標位置２６が検出されると、図１５に示すように目標位置２６の位置に段部領域１３２を設定し、段部領域１３２の位置情報と画素値を記憶部３４に記憶させる。段部領域１３２は、基準領域と同じように直線状の複数の画素値で構成されてよい。第３補正部５６は、撮像画像８４において段部領域１３２の上方の位置、実空間では遠方の位置で、段部領域１３２と類似する画素値の分布を有する領域である参照段部領域１３０を探索する。
【００９３】
第３補正部５６は、パターンマッチングの手法で段部領域１３２と最も一致度の高い輝度分布を有する参照段部領域１３０を探索する。図１６は、撮像画像８４上で上方に２０画素の間隔で１０箇所の位置を探索した状況である。まず、検出した目標位置２６を中心として、基準領域と同じ横幅で段部領域１３２を設定し、その画素値の分布を記憶する。続いて予め設定した間隔、図１６では２０画素ほど上方の位置に参照段部領域１３０を設定する。撮像画像８４上では上方に位置するほど物体の画像は小さくなるので、地平線６２からの高低差に比例させて段部領域１３２を縮小して画像パターンを生成する。参照段部領域１３０の横幅は、生成した画像パターンの横幅に、一定の探索範囲を左右に加えた範囲とする。この参照段部領域１３０の中で、生成した画像パターンとパターンマッチングを行い、最も類似度が高い位置を、位置１３０ａとして抽出する。続いて、さらに２０画素上方の位置に参照段部領域１３０を設定し、同様に画像パターンの生成とパターンマッチングの処理を行い、位置１３０ａの抽出を行う。この処理を繰返して、上方の１０箇所で位置１３０ａを抽出し、記憶部３４に記憶する。目標位置２６と、その上方の１０箇所の位置１３０ａをつないだ位置に、実空間上で連なった段部があると推定でき、これを目標走行ラインとする。
【００９４】
図１７は、目標走行ラインの曲率を説明するための図であり、図１５および図１６で説明した撮像画像８４を地面上に投影した平面図に、撮像範囲８６および検出した目標位置２６、参照段部領域１３０の位置１３０ａを示す。参照段部領域１３０の位置１３０ａは、撮像画像上では一定の間隔であるが、投影される地面上では、遠方になるにつれて互いの間隔が広くなる。
【００９５】
図１７には、撮像範囲８６の手前に出た、複数の過去の段部の位置１３４も示す。図１７に示した目標位置２６および複数の位置１３０ａ、位置１３４の点列を繋ぐと、平面図上での目標走行ライン８８が連続的に算出される。第３補正部５６は、目標走行ライン８８の曲率を算出する。これらの点列に対して最小二乗法などを適用して２次方程式に当てはめ、その２乗の項の係数から、目標走行ラインの曲率を近似値として算出する。
【００９６】
図１８は、目標走行ライン９０が曲がっている場合の、操舵の補正方法について説明するための地面上の平面図である。例えば、山際にある圃場では、山の形状に沿って湾曲している場合があり、目標走行ライン９０も曲がった状態となる。図１８では目標走行ライン９０は、中心Ｃ、半径Ｒ１の円弧とする。図１８には走行する車両１の移動軌跡９４を示し、また、車両１の各位置において目標位置９２ａ，９２ｂ，９２ｃ（これらを区別しない場合「目標位置９２」という）が検出される状態を示す。
【００９７】
各目標位置９２は、車両１から所定の間隔Ｄだけ離れた目標走行ライン９０上に検出される。間隔Ｄは、車両１の後輪車軸から目標位置９２までの距離である。まず、車両１は正面方向が目標位置９２ａに向くように操舵制御される。続いて車両１の前進と共に、目標位置も目標走行ライン９０上を間隔Ｄを保って前方に移動して行き、目標位置９２ａから目標位置９２ｂ，９２ｃへと前方に移動して行く。このような走行制御が行われると、車両１の走行軌跡は目標走行ライン９０の内側の軌跡９４を通る結果となる。
【００９８】
そのため、目標走行ライン９０と車両１の軌跡９４の間に横方向の横ずれ９５が生じる。車両１の軌跡９４の半径Ｒ２は（１６）式で計算され、また横ずれ９５は（１７）式のように、半径Ｒ２と目標走行ライン９０の半径Ｒ１の差として算出される。
Ｒ２＝（Ｒ１２ −Ｄ２）１/２ ・・・（１６）
横ずれ９５＝Ｒ１−Ｒ２ ・・・（１７）
【００９９】
図１９は、第３補正部５６の補正について説明するための図である。図１９に示す第３補正では、図１８で示したように車両１の旋回が生じる状況で、車両１が目標走行ライン９０の径方向外側を走行するように目標走行ライン９０の曲率に応じて第３補正部５６による補正をすることで、車両１が目標走行ライン９０上を走行し、目標走行ライン９０への追従精度を高めることができる。目標走行ライン９０上に各目標位置９２が検出され、また、目標走行ラインの曲率から半径Ｒ１が算出されると、（１６）式と（１７）式によって横ずれ９５を算出する。続いて図１９に示すように、各目標位置９２を目標走行ライン９０の径方向外側に、横ずれ９５だけ移動させた目標位置９６ａ，９６ｂ，９６ｃを設定する。このような補正後の目標位置９６ａ，９６ｂ，９６ｃに対して、車両１の正面が向くように操舵制御することで、車両１の軌道が目標走行ライン９０上を通るようになる。第３補正部５６は、目標走行ライン９０の曲率にもとづいて、目標走行ライン９０の円弧の外側に目標位置を移動させる第３補正量を算出する。
【０１００】
なお、第３補正部５６は、目標走行ラインの曲率が小さく、所定値以下の場合には、目標走行ラインはほぼ直線と判断して第３補正量を算出しなくてよい。このように目標補正部４６は、段部の検出位置にもとづく目標位置に対して、その位置を横方向に移動させる第１、第２、第３の補正量を算出し、各補正量を合算した値によって、目標位置の補正を行い、補正した目標位置に車両の正面が向くように操舵制御の角度を算出する。
【０１０１】
別の態様の走行制御装置は、車両が走行する地面とその遠方を撮像する撮像部と、撮像部により撮像した撮像画像を処理して車両が追従走行する目標位置を特定して目標舵角を算出する画像処理部と、目標舵角で走行するように車両を制御する走行制御部と、を備える。画像処理部は、撮像画像上の地面に基準領域を設定する基準領域設定部と、撮像毎に基準領域を追跡して参照領域を特定する基準領域追跡部と、参照領域の位置から地面の凹凸を算出する凹凸検出部と、地面の凹凸形状を分析して車両が追従すべき目標位置を特定する目標位置検出部を有し、さらに、画像処理部は、撮像画像の消失点の位置を特定する消失点追跡部を備え、基準領域と参照領域の位置の変化を消失点の位置と比較することで車両の位置の変化量を算出し、車両の横滑りにもとづいて第１補正量を算出する第１補正部と、車両の位置の変化量から過去の目標位置を推定し、車両との位置関係から第２補正量を算出する第２補正部とを有し、算出された目標位置補正量で補正された目標位置にもとづいて目標舵角を算出する目標舵角算出部と、を有する。このように別の態様では、第１補正量および第２補正量にもとづいて補正して目標舵角を算出してよい。
【０１０２】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素の組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【０１０３】
実施形態では、運転者がアクセルペダルなどで車両の走行速度を制御しつつ、自動走行スイッチを押すことにより走行制御装置２０が操舵量を制御する態様を示したが、この態様に限られない。車両１の操舵と走行速度の両方を同時に制御してもよい。
【０１０４】
また、走行制御装置２０は、撮像時の車両のロール角を検出するセンサ、車両のピッチ角を検出するセンサを有してよい。画像処理部３２は、新たな撮像画像を取得すると、該撮像画像の撮像時の車両状態（ロール角およびピッチ角）にもとづいて新たな撮像画像を補正してもよい。地平線検出部３８は、補正した撮像画像から水平線を検出する。これにより、撮像画像ごとの水平線の位置ずれを抑えることができる。
【０１０５】
実施形態では、仮想２次元空間における目標走行ライン上の目標位置に対し、目標補正部４６で算出される各補正量によって目標位置を補正し、補正された目標位置に車両が向かうように目標舵角を算出する態様を示したが、この態様に限られない。例えば、目標舵角算出部５１が目標位置に向かう仮目標舵角を算出し、目標補正部４６では舵角補正量を算出し、仮目標舵角を舵角補正量で補正して目標舵角を算出してよい。いずれにしても、目標補正部４６により算出される補正量は、車両の舵角に換算可能な値である。
【符号の説明】
【０１０６】
１  車両、  ３  車両操縦室、  ４  圃場、  ６  ブレーキ機構、  ８  前輪、  １０  後輪、  １１  カメラ、  １２  ＥＣＵ、  １４  操舵駆動機構、  １５  ステアリング機構、  １６  作業機、  ２０  走行制御装置、  ２２  段部、  ２６  目標位置、  ３０  画像取得部、  ３２  画像処理部、  ３４  記憶部、  ３６  走行制御部、  ３８  地平線検出部、  ４０  基準領域設定部、  ４１  消失点追跡部、  ４２  テンプレート生成部、  ４４  基準領域追跡部、  ４６  目標補正部、  ４８  凹凸検出部、  ５０  目標位置検出部、  ５１  目標舵角算出部、  ５２  第１補正部、  ５４  第２補正部、  ５６  第３補正部、  ６０  撮像画像、  ６２  地平線、  ６４  第１段部、  ６６  第２段部、  ７０  消失点。
【図１】
0006497546.tif 000006
【図２】
0006497546.tif 000007
【図３】
0006497546.tif 000008
【図４】
0006497546.tif 000009
【図５】
0006497546.tif 000010
【図６】
0006497546.tif 000011
【図７】
0006497546.tif 000012
【図８】
0006497546.tif 000013
【図９】
0006497546.tif 000014
【図１０】
0006497546.tif 000015
【図１１】
0006497546.tif 000016
【図１２】
0006497546.tif 000017
【図１３】
0006497546.tif 000018
【図１４】
0006497546.tif 000019
【図１５】
0006497546.tif 000020
【図１６】
0006497546.tif 000021
【図１７】
0006497546.tif 000022
【図１８】
0006497546.tif 000023
【図１９】
0006497546.tif 000024