(57)【要約】【課題】衛星測位を用いることなしに、かつ圃場の状態も考慮しながら自動走行できる圃場作業車を提供する【解決手段】圃場作業車は、少なくとも車体の進行領域を含む圃場を撮影して圃場画像を出力する撮影ユニット３と、車速及び操舵量を調整するための走行機器と、前記圃場画像入力して、未作業領域と既作業領域との境界と圃場状態とに基づいて自動走行するための自動走行情報を出力するように学習された自動走行演算部４と、自動走行情報に基づいて前記走行機器を制御する自動走行制御部５２とを備える。【選択図】図５
2020101943.tif 000002
【特許請求の範囲】
【請求項１】
圃場を自動走行する圃場作業車であって、
少なくとも車体の進行領域を含む前記圃場を撮影して圃場画像を出力する撮影ユニットと、
車速及び操舵量を調整するための走行機器と、
前記圃場画像を入力して、未作業領域と既作業領域との境界と圃場状態とを推定して、自動走行するための自動走行情報を出力するように学習された自動走行演算部と、
前記自動走行情報に基づいて前記走行機器を制御する自動走行制御部と、
を備えた圃場作業車。
【請求項２】
前記自動走行情報は、前記境界を示す境界線に対応する線状の目標走行経路と自車とのずれを解消するための情報を含む請求項１に記載の圃場作業車。
【請求項３】
前記自動走行情報は、前記既作業領域である車体方向転換可能領域に設定されている方向転換走行経路を目標走行経路として方向転換を行うための情報を含む請求項１または２に記載の圃場作業車。
【請求項４】
前記自動走行演算部は、前記圃場画像から推定された走行障害物との接触を回避するための衝突回避情報を前記自動走行情報として出力する請求項１から３のいずれか一項に記載の圃場作業車。
【請求項５】
前記衝突回避情報には、非移動性障害物と推定された前記走行障害物を回避する回避走行情報が含まれている請求項４に記載の圃場作業車。
【請求項６】
前記衝突回避情報には、移動性障害物と推定された前記走行障害物との接触を回避するための減速、停車、警告の少なくとも１つを行うための情報が含まれている請求項４に記載の圃場作業車。
【請求項７】
前記走行機器の状態から走行状態を検知する走行状態検知部が備えられ、
前記走行状態を示す走行状態情報が前記自動走行演算部に入力され、前記走行状態情報には、車速、変速位置、エンジン回転数、エンジン負荷率のうちの少なくとも１つを示すデータが含まれ、
前記自動走行情報には、操舵、車速、変速、制動、エンジン回転数のうちの少なくとも１つの変更を指令する制御指令が含まれている請求項１から６のいずれか一項に記載の圃場作業車。
【請求項８】
前記自動走行演算部は、畳み込みニューラルネットワークで構築され、学習用画像として第１学習用画像群と第２学習用画像群とを用いて学習されており、前記第１学習用画像群は、前記圃場の前記未作業領域と前記既作業領域とを含む画像群であり、前記第２学習用画像群は、前記未作業領域と前記既作業領域との間の前記境界を示すアノテーションと、前記境界に沿って自動走行するための走行経路に対する位置ずれを示すアノテーションとが付与された画像群である請求項１から７のいずれか一項に記載の圃場作業車。
【請求項９】
前記位置ずれには、前記走行経路に対する横断方向のずれである横位置ずれと、前記走行経路の向きに対する車体方位のずれである方位ずれとが含まれている請求項８に記載の圃場作業車。
【請求項１０】
前記学習用画像としてさらに第３学習用画像と第４学習用画像とが用いられており、前記第３学習用画像は、前記既作業領域における車体方向転換可能な領域を示す画像群であり、前記第４学習用画像は、前記車体方向転換可能な領域を示すアノテーションが付与された画像群である請求項８または９に記載の圃場作業車。
【請求項１１】
前記学習用画像としてさらに第５学習用画像と第６学習用画像とが用いられており、前記第５学習用画像は、前記圃場における走行障害となる物体が含まれている画像群であり、前記学習用画像は、前記走行障害となる物体を示すアノテーションが付与された画像群である請求項８から１０のいずれか一項に記載の圃場作業車。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、圃場内を自動走行しながら作業を行う圃場作業車に関する。
に関する。
【背景技術】
【０００２】
圃場内を自動走行する方法の１つでは、予め設定された自動走行用走行経路と、衛星測位によって得られた作業車位置とが用いられる。例えば、特許文献１に開示されたトラクタでは、最初に手動走行で圃場の外周付近を走行することにより作り出された既作業領域の内側に、自動走行によって作業されるべき作業対象領域が形成される。この作業対象領域をトラクタが走行するための走行経路が経路算出アルゴリズムに基づいて算出される。その後、トタクタに備えられた自動走行制御部では、目標となる走行経路と衛星測位データから算出された自車位置との間の位置ずれを算出し、この位置ずれが小さくなるように自動操舵指令が生成される。
【０００３】
圃場内を自動走行するための他の１つの方法では、圃場作業車に搭載された撮影カメラによる撮影画像を画像処理することにより得られる圃場作業車の目標走行経路が利用される。例えば、特許文献２に開示された草刈機では、ゴルフ場などの芝生地における既刈地と未刈地との境界領域が撮影装置で撮影され、その撮影画像から既刈地と未刈地との間の境界線が算出され、この境界線に沿うように、車体が自動操舵される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１８−１１６６０８号公報
【特許文献２】特開２０１８−０９７５２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示されているような、衛星測位データを用いた自動走行を実施するためには、圃場の地図情報（圃場座標系または地球座標系）が用意され、この地図情報を用いて、圃場を網羅する走行経路が算出される。作業車は、この走行経路から自車位置がはずれないように自動走行される。自車位置は衛星測位を用いて算出されるが、衛星測位による自車位置算出では、山林や家屋によって衛星電波が遮られると、測位不能や測位精度低下が生じるという問題が生じる。
【０００６】
特許文献２に開示されているような、画像処理によって検出される既刈地（既作業地）と未刈地（未作業地）との間の境界線を目標走行経路とする自動走行は、衛星測位を用いた自動走行の代替案として有効である。しかしながら、圃場作業車の走行面となる圃場面は、芝生地などに比べて、凹凸が激しく、しかも、その状態も場所によって異なるので、これは操舵精度の悪化を導く。さらに、圃場に農作物や農作物の残滓が存在している場合、その状態が場所によって異なるので、そのような農作物の状態に応じた自動走行が要求される場合もある。
【０００７】
本発明の目的は、衛星測位を用いることなしに、かつ圃場の状態を考慮しながら自動走行できる圃場作業車を提供することである。
【課題を解決するための手段】
【０００８】
圃場を自動走行する、本発明による圃場作業車は、少なくとも車体の進行領域を含む前記圃場を撮影して圃場画像を出力する撮影ユニットと、車速及び操舵量を調整するための走行機器と、前記圃場画像入力して、未作業領域と既作業領域との境界と圃場状態とに基づいて自動走行するための自動走行情報を出力するように学習された自動走行演算部と、前記自動走行情報に基づいて前記走行機器を制御する自動走行制御部とを備える。
【０００９】
この構成では、撮影ユニットによって取得した圃場画像から未作業領域と既作業領域との境界が推定されることで目標となる車体の走行方向が決定され、同時に圃場画像から圃場状態が推定されることで、前記圃場状態に適合する目標となる走行挙動が決定され、目標となる走行方向と走行挙動とから自動走行情報が出力される。自動走行演算部は、未作業領域と既作業領域との境界だけでなく圃場状態も含めて最適な自動走行情報を出力するように学習されている。したがって、未作業領域と既作業領域との境界に沿うように走行機器が制御される際に、圃場状態（圃場面の状態や農作物の状態など）も考慮される。たとえば、走行前方に泥濘や凹凸などがあれば、操舵量を緩やかにして、スリップなどを抑制することも可能となる。
【００１０】
作業もれまたは重複作業（過剰オーバーラップ）を避けるためには、車体の目標経路からのずれを正確に捉え、そのずれを少なくする操舵量を求める必要がある。このために、未作業領域と既作業領域との境界を一本の線、つまり境界線で求めること、及びこの境界線に車体の操舵基準点を一致させる操舵指令を出力すること、が重要である。このことから、本発明の好適な実施形態の１つでは、前記自動走行情報は、前記境界を示す境界線に対応する線状の目標走行経路を推定し、この線状の目標走行経路と自車とのずれを解消するための情報を含む。
【００１１】
耕耘作業、田植作業、収穫作業など圃場では作業では、既に作業済みとなっている外周領域が車体の向きを変える方向転換領域として利用され、その外周領域の内側領域（未作業領域）に平行な線状の経路を、Ｕターン走行などの方向転換走行によってつないでいく走行形態が採用されている。このような走行パターンを、本発明による自動走行においても採用するためには、車体が車体の方向転換を行う必要がある外周領域に達すると、方向転換走行に移行する制御が必要である。このことから、本発明の好適な実施形態の１つでは、前記自動走行情報は、前記既作業領域である車体方向転換可能領域に設定されている方向転換走行経路を目標走行経路として方向転換を行うための情報を含む。
【００１２】
圃場には、人や動物、さらには井戸や鉄塔などの走行障害物が存在する可能性があるので、自動走行を行うには、この走行障害物を検知して、走行障害物との接触を回避する必要がある。このことから、本発明の好適な実施形態の１つでは、前記自動走行演算部は、前記圃場画像から推定された走行障害物との接触を回避するための衝突回避情報を前記自動走行情報として出力する。
【００１３】
走行障害物が移動するものか、あるいは圃場に固定しているものかによって、対処策が異なってくる。圃場に固定している障害物に対しては、作業車が回避する必要がある。このことから、本発明の好適な実施形態の１つでは、前記衝突回避情報には、非移動性障害物と推定された前記走行障害物を回避する回避走行情報が含まれている。
【００１４】
圃場を移動する障害物は、時間経過にともなって作業車の走行先から外れて、走行障害物ではなくなる可能性がある。また、警報等によって、障害物を排除することも可能である。このことから、本発明の好適な実施形態の１つでは、前記衝突回避情報には、移動性障害物と推定された前記走行障害物との接触を回避するための減速、停車、警告の少なくとも１つを行うための情報が含まれている。
【００１５】
手動走行で圃場作業が行われる場合、運転者は、現状の車速やエンジン回転数のなどを考慮して、これらを適切に変更操作することで、最適な作業走行を図っている。このような操作は自動走行においても有益である。このことから、本発明の好適な実施形態の１つでは、前記走行機器の状態から走行状態を検知する走行状態検知部が備えられ、前記走行状態を示す走行状態情報が前記自動走行演算部に入力され、前記走行状態情報には、車速、変速位置、エンジン回転数、エンジン負荷率のうちの少なくとも１つを示すデータが含まれ、前記自動走行情報には、操舵、車速、変速、制動、エンジン回転数のうちの少なくとも１つの変更を指令する制御指令が含まれている。
【００１６】
農業従事者の長年の経験と圃場作業車の技術改革とによって発達してきた農業において、圃場作業車の自動化を進めるためには、長年の経験を圃場作業車の自動走行制御に反映させる必要がある。このためには、制御系の中核に、農業従事者の経験を圃場作業車に学習させる機械学習を導入することが好適である。これにより、熟練した農業従事者の能力を圃場作業車に搭載したコンピュータ上で実現させることができる。このため、前記自動走行演算部は、畳み込みニューラルネットワークで構築され、学習用画像として第１学習用画像群と第２学習用画像群とを用いて学習されており、前記第１学習用画像群は、圃場の前記未作業領域と前記既作業領域とを含む画像群であり、前記第２学習用画像群は、前記未作業領域と前記既作業領域との間の前記境界を示すアノテーションと、前記境界に沿って自動走行するための走行経路に対する位置ずれを示すアノテーションとが付与された画像群である。アノテーションとは、対応撮影画像に対する意味づけである。例えば、圃場の撮影画像において、未作業領域と既作業領域との境界を指し示すこと、さらにはその境界から車体の走行経路に対する位置ずれとその位置ずれを解消するための操作を指し示すことが、アノテーションである。この機械学習には、第１の学習と第２の学習が含まれている。第１の学習は、圃場作業車からの視点で取得された生の撮影画像と、その撮影画像における未作業領域と前記既作業領域との間の境界を見つけ出して、その境界領域をアノテーションとして示したアノテーション画像とを用いて、生の撮影画像から境界領域を推定させる学習である。第２の学習は、生の撮影画像と、見つけ出された境界の位置からの車体の位置ずれ（目標走行ラインからのずれ）及び必要とされる位置ずれを解消する操作をアノテーションとして示したアノテーション画像とを用いて、生の撮影画像から車体の位置ずれ境界領域を推定させ、位置ずれを解消する操作を推定させる学習である。この学習により、自動走行演算部は、取得した圃場画像から、車体前方の境界線の位置、車体の位置ずれ、さらに、必要であれば、位置ずれの解消操作を出力することができる。
【００１７】
車体の位置ずれが発生すると、車体を目標走行経路に一致させる操舵が行われる。この操舵による位置ずれの解消を迅速かつ効率的に行うためには、走行経路に対する横断方向のずれである横位置ずれと、走行経路の向きに対する車体方位のずれである方位ずれとを組み合わせて制御されることが好適である。これは、道路を走行する車両に比べて、圃場を走行する圃場作業車では、スリップが多く、車速が低いことに起因する。このことから、本発明の好適な実施形態の１つでは、前記位置ずれには、前記走行経路に対する横断方向のずれである横位置ずれと、前記走行経路の向きに対する車体方位のずれである方位ずれとが含まれている。
【００１８】
さらに、本発明の好適な実施形態の１つでは、前記学習用画像としてさらに第３学習用画像と第４学習用画像とが用いられており、前記第３学習用画像は、前記既作業領域における車体方向転換可能な領域を示す画像群であり、前記第４学習用画像は、前記車体方向転換可能な領域を示すアノテーションが付与された画像群である。このような学習用画像を用いて学習した自動走行演算部では、現在の作業走行経路から車体を方向転換させて次の作業走行経路に移行するための方向転換用領域、及びその方向転換用領域での方向転換走行（旋回走行）のための情報が、圃場画像から推定できるようになる。
【００１９】
さらに、本発明の好適な実施形態の１つでは、前記学習用画像としてさらに第５学習用画像と第６学習用画像とが用いられており、前記第５学習用画像は、前記圃場における走行障害となる物体が含まれている画像群であり、前記学習用画像は、前記走行障害となる物体を示すアノテーションが付与された画像群である。このような学習用画像を用いて学習した自動走行演算部では、は、圃場画像から走行障害となる物体を推定することができ、この障害物との接触を回避するために必要な自動走行情報を出力することができる。
【図面の簡単な説明】
【００２０】
【図１】圃場作業車の一例であるトラクタの側面図である。
【図２】撮影カメラの取り付け位置を説明するためのトラクタの概略平面図である。
【図３】トラクタによる圃場作業の流れを説明する説明図である。
【図４】制御系の機能ブロック図である。
【図５】自動走行演算部の機能ブロック図である。
【図６】第１演算部の学習処理に用いられる学習用画像を示す模式図である。
【図７】第１演算部の学習処理に用いられる学習用画像を示す模式図である。
【図８】第２演算部の学習処理に用いられる学習用画像を示す模式図である。
【図９】第２演算部の学習処理に用いられる学習用画像を示す模式図である。
【図１０】自動走行演算部の学習処理の一例を示すフローチャートである。
【図１１】自動走行演算部の別実施形態における機能ブロック図である。
【発明を実施するための形態】
【００２１】
次に、図面を用いて、本発明による圃場を自動走行する圃場作業車を説明する。図１で示された実施形態では、作業車は、圃場を自動走行するトラクタである。このトラクタは、前輪１１と後輪１２とによって支持された車体１の中央部に運転部２０が設けられている。車体１の後部には油圧式の昇降機構２３を介してロータリ耕耘装置である作業装置２４が装備されている。前輪１１は操向輪として機能し、その操舵角を変更することでトラクタの走行方向が変更される。前輪１１の操舵角は操舵機構１３の動作によって変更される。操舵機構１３には自動操舵のための操舵モータ１４が含まれている。手動走行の際には、前輪１１の操舵は運転部２０に配置されているステアリングホイール２２の操作によって行われる。
【００２２】
このトラクタには、少なくとも車体１の走行先の領域を含む圃場を撮影して圃場画像を出力する撮影ユニット３が備えられている。この実施形態では、図２に示すように、撮影ユニット３には、前カメラ３１と後カメラ３２と左カメラ３３と右カメラ３４とを含む。前カメラ３１は、車体１の前部に配置され、車体１の前方を撮影する。後カメラ３２は、車体１の後部に配置され、作業装置２４を含む車体１の後方を撮影する。左カメラ３３と右カメラ３４とは、それぞれ、車体１の側部に配置され、車体１の左方と右方とを撮影する。前カメラ３１と後カメラ３２と左カメラ３３と右カメラ３４とからの撮影画像を視点変換して合成することにより、トラクタ上方を視点とする俯瞰画像が生成可能である。圃場画像として、前カメラ３１による前方撮影画像、または、圃場画像、あるいはその両方が利用される。なお、前方撮影画像は前進の場合の車体進行領域を含む圃場画像として利用され、後進の場合には後カメラ３２による後方撮影画像が車体進行領域を含む圃場画像として利用される。したがって、以下に述べる圃場画像には、前方撮影画像、後方撮影画像、俯瞰画像が含まれるものとする。
【００２３】
トラクタによる圃場作業の一般的な手順が図３に示されている。この例では、トラクタが圃場に入ると（＃ａ）、圃場の外周に沿って作業を行う周囲作業走行が手動または自動で行われ、圃場の最外周側に既作業領域である外周領域が形成される（＃ｂ）。周囲作業走行では、コーナ領域での方向転換走行が複雑であるため、手動走行が好ましい。コーナ領域以外は、実質的に直線走行であるので、自動走行が用いられる。その際、圃場の外周線となる、圃場面と畔や畝などとの境界線が、機械学習を用いた画像認識プログラムによってリアルタイムで認識され、その認識された境界線に作業装置２４の作業端が沿うようにトラクタが自動操舵される。この周囲作業走行で形成される外周領域がトラクタの方向転換（Ｕターン走行）が可能となる大きさになれば、この未作業領域に対する自動作業走行が開始される。この自動作業走行には、直線状にトラクタを作業走行させる前進作業走行（＃ｃ）と、既作業領域で作業装置２４を上昇させて非作業状態としてトラクタをＵターンさせる車体方向転換走行（＃ｄ）とが含まれる。前進作業走行と車体方向転換走行とを繰り返すことで（＃ｅ）、圃場全体の作業が完了する。なお、前進作業走行では、画像認識対象が未作業領域と既作業領域との境界線であり、車体方向転換走行では、画像認識対象が圃場の境界線（外周線）及び未作業領域と既作業領域との境界線である。このため、前進作業走行と車体方向転換走行とで、異なる画像認識プログラムが用いられることが好ましい。その場合、前進作業走行用画像認識プログラムと車体方向転換走行用画像認識プログラムとの自動切替は、作業装置２４の状態（例えば、下降状態と上昇状態、駆動状態と非駆動状態）に基づいて行うことができる。なお、圃場の種類によっては、外周領域の形状が前もって想定され、外周領域が未作業状態のままで、当該外周領域の内側の未作業領域に対して、＃ｃ、＃ｄ、＃ｅが先に実施され、その後に＃ｂが実施される。
【００２４】
図４には、このトラクタに構築されている制御系が示されている。この実施形態の制御系には、車載ＥＣＵ群からなる制御ユニット５、入出力信号処理ユニット５０が含まれている。制御ユニット５には、通常の作業走行を実行する機能部に加えて、機械学習を応用して構築された自動走行演算部４が備えられている。入出力信号処理ユニット５０には、トラクタの作業走行で取り扱われる入出力信号を処理する機能部が構築されている。制御ユニット５と入出力信号処理ユニット５０とは、車載ＬＡＮによって接続されている。
【００２５】
入出力信号処理ユニット５０には、走行機器群９１、作業機器群９２、報知デバイス群９３、自動／手動切替操作具９４、走行状態検出センサ群８１、作業状態検出センサ群８２が接続されている。走行機器群９１には、操舵調節機器としての操舵モータ１４（図1参照）をはじめ、車速調整機器としての変速調整器、エンジン回転調整器などが含まれている。作業機器群９２には、作業装置２４や昇降機構２３（図１参照）を駆動するための制御機器が含まれている。報知デバイス群９３には、ディスプレイ、スピーカ、ランプ、ブザーなどが含まれている。自動／手動切替操作具９４は、自動操舵で走行する自動走行モードと手動操舵で走行する手動操舵モードとのいずれかを選択するスイッチである。
【００２６】
走行状態検出センサ群８１には、操舵量やエンジン回転数や変速位置などの走行状態を検出するセンサが含まれている。作業状態検出センサ群８２には、作業装置２４の姿勢や駆動状態を検出するセンサが含まれている。
【００２７】
入出力信号処理ユニット５０には、そのほかに、撮影ユニット３が接続されている。撮影ユニット３には、上述した４つのカメラ３１〜３４の撮影画像を画像処理して制御ユニット５での処理に適合する圃場画像を生成する画像処理部３０が含まれている。撮影ユニット３から出力された圃場画像は、入出力信号処理ユニット５０を介して制御ユニット５に入力される。
【００２８】
制御ユニット５は、手動走行制御部５１、自動走行制御部５２、作業制御部５３、走行状態検知部５４、作業状態検知部５５、自動走行演算部４を備えている。手動走行制御部５１は、手動走行モードにおいて、運転者による操作に基づいて、走行機器群９１を制御する。自動走行制御部５２は、自動走行モードにおいて、自動走行演算部４から出力される自動走行情報に基づいて走行機器群９１を制御する。作業制御部５３は、手動または自動で作業機器群９２を制御する。走行状態検知部５４は、走行状態検出センサ群８１からの検出信号に基づいて走行状態を検知する。作業状態検知部５５は、作業状態検出センサ群８２からの検出信号に基づいて作業状態を検知する。
【００２９】
自動走行演算部４は、学習済み状態において、前記圃場画像を入力して、未作業領域と既作業領域との境界と圃場状態とを推定して、自動走行するための自動走行情報を出力する。この実施形態では、自動走行演算部４は、図５に示すように、第１演算部４１、第２演算部４２、選択部４０とから構成されている。第１演算部４１は、第１前段演算部４１ａと第１後段演算部４１ｂとを含む。第２演算部４２は、第２前段演算部４２ａと第２後段演算部４２ｂとを含む。
【００３０】
第１前段演算部４１ａは、圃場画像から、未作業領域と既作業領域との境界を示す境界線と圃場状態とを推定する。第１後段演算部４１ｂは、推定された境界線に対応する線状の目標走行経路（前進作業走行経路）をリアルタイムで算出する。その際、作業装置２４の作業幅、作業オーバータップ量、車体基準点から作業装置２４の作業端までの距離などが必要となるので、これらの作業装置仕様データは予め設定されている。さらに、第１前段演算部４１ａは、この目標走行経路（前進作業走行経路）に対する車体１の操舵基準点の位置ずれを演算し、この位置ずれを解消するための情報である第１自動走行情報を生成する。この位置ずれには、目標走行経路に対する横断方向の位置偏差である横位置ずれと、目標走行経路の方位と車体方位との間の角度偏差である方位ずれが含まれる。第１自動走行情報には、位置ずれを解消するための操舵量が含まれている。操舵量の生成時には、圃場の傾斜度や圃場面の凹凸度などの圃場状態が考慮される。第１前段演算部４１ａ及び第１後段演算部４１ｂは、一体化可能である。
【００３１】
第２前段演算部４２ａは、圃場画像から、既作業領域である車体方向転換可能領域を推定する。第２後段演算部４２ｂは、当該車体方向転換可能領域に設定される方向転換走行経路を設定し、設定された方向転換走行経路に対する実際の方向転換軌跡との相違を旋回ずれとし、この旋回ずれを解消するための情報（操舵量）である第２自動走行情報を生成する。第２自動走行情報の生成時にも、圃場の傾斜度や圃場面の凹凸度などの圃場状態が考慮される。第２前段演算部４２ａ及び第２後段演算部４２ｂは、一体化可能である。
【００３２】
選択部４０は、第１自動走行情報の信頼度と第２自動走行情報の信頼度とを比較して、現時点で行わなければならない走行制御として適正度の高い方の情報を選択し、自動走行情報として出力して、自動走行制御部５２に与える。あるいは、選択部４０は、作業状態検知部５５によって検知された作業状態に基づいて第１自動走行情報と第２自動走行情報のいずれかを選択してもよい。例えば、作業装置２４の状態が下降状態または駆動状態あるいはその両方であれば、前進作業走行とみなされ、第１自動走行情報が選択される。作業装置２４の状態が上昇状態または非駆動状態あるいはその両方であれば、方向転換走行とみなされ、第２自動走行情報が選択される。さらに別な方法として、作業状態検知部５５によって検知された作業状態に基づいて第１前段演算部４１ａと第２前段演算部４２ａのいずれかの利用を決定するようにしてもよい。
【００３３】
なお、図５に示された自動走行演算部４では、付加的な機能として、走行状態検知部５４によって検知された走行状態情報が、第１演算部４１及び第２演算部４２に入力されている。走行状態情報には、車速、変速位置、エンジン回転数、エンジン負荷率などが含まれている。この機能を追加した場合、第１後段演算部４１ｂ及び第２後段演算部４２ｂは、位置ずれを解消するための情報に加えて、第１自動走行情報及び第２自動走行情報に、車速制御指令、変速制御指令、制動制御指令、エンジン制御指令のうちの少なくとも１つを含ませることも可能である。これは、単に操舵量を調節するだけではなく、その他の走行状態（車速など）も調整することが、位置ずれの解消に有効な場合があるからである。
【００３４】
第１演算部４１は圃場画像から第１自動走行情報を出力する機械学習制御ユニットであり、第２演算部４２は圃場画像から第２自動走行情報を出力する機械学習制御ユニットである。機械学習制御ユニットが圃場画像から圃場作業の状況を推定して適切な自動走行情報を出力するためには、学習処理が必要となる。この学習処理のため、図５では、学習処理ユニット６が自動走行演算部４に接続されている。なお、学習処理ユニット６は自動走行演算部４に内蔵されてもよい。また、トラクタの制御系以外のコンピュータシステムに構築された学習処理ユニット６と自動走行演算部４とがデータ交換して学習処理を実行するような学習システムを採用してもよい。この実施形態では、第１演算部４１及び第２演算部４２は、畳み込みニューラルネットワークで構築されており、畳み込みニューラルネットワークに適合する学習処理が学習処理ユニット６によって行われる。
【００３５】
学習処理ユニット６の構成は、公知であるので、ここでは詳しい説明は省略するが、誤差算出機能や重み調整機能を有する。学習処理ユニット６は、第１演算部４１または第２演算部４２と同様な畳み込みニューラルネットワークを備えてもよいし、直接、学習前の第１演算部４１または第２演算部４２と接続して、順次学習させてもよい。前者の場合は、学習処理の終了後に、重み係数などの学習済みデータが第１演算部４１及び第２演算部４２に設定される。
【００３６】
この第１演算部４１の学習処理では、多数の第１学習画像からなる第１学習画像群と、多数の第２学習画像からなる第２学習画像群とが用いられる。
【００３７】
第１学習用画像群は、圃場の未作業領域と既作業領域とを含む画像群であり、この実施形態では、撮影ユニット３の画像処理部３０で生成された俯瞰画像が用いられる。第２学習用画像群は、第１学習用画像群において認識されるべき特徴を示すアノテーションが付与された画像群である。図６及び図７の左側に第１学習用画像の一例が示されており、図６及び図７の右側に第２学習用画像群が示されている。図６の第１学習画像では、既作業領域に位置するトラクタの前方に未作業領域に広がっている情景が示されている。図６の第２学習画像では、走行経路の基準となる未作業領域と既作業領域との間の境界及び当該境界から求められる境界線を示すアノテーションと、作業走行の開始基準となる境界及び当該境界から求められる境界線を示すアノテーションと、境界線を目標走行経路とした場合の位置ずれを示すアノテーションと、未作業領域の表面状態が中程度の凹凸であることを示すアノテーション、必要な操舵量を示すアノテーションとが付与されている。図７の第１学習画像は、未作業領域に進入して作業領域と既作業領域との間の境界に沿って作業走行しているトラクタの俯瞰画像である。この第２学習画像では、走行経路（前進と後進）の基準となる境界及び当該境界から求められる境界線を示すアノテーションと、境界線を目標走行経路とした場合の位置ずれを示すアノテーションと、未作業領域の表面状態が中程度の凹凸であることを示すアノテーションと、必要な操舵量を示すアノテーションとが付与されている。
【００３８】
第２演算部４２の学習処理には、学習用画像として第３学習用画像と第４学習用画像とが用いられる。第３学習用画像群も、圃場の未作業領域と既作業領域とを含む画像群であるが、その車体１の前方の既作業領域は車体方向転換可能な領域であり、第４学習用画像は、第３学習用画像群において認識されるべき車体方向転換可能な領域を示すアノテーションが付与された画像群である。図８及び図９の左側に第３学習用画像の一例が示されており、図８及び図９の右側に第４学習用画像群が示されている。図８の第３学習画像では、作業走行中のトラクタの前方に既作業領域に広がっている情景が示されている。図８の第４学習画像では、前方に広がっている既作業領域が車体方向転換可能領域であることを示すアノテーションと、その車体方向転換可能領域の表面状態が中程度の凹凸であることを示すアノテーション、必要な操舵量を示すアノテーションとが付与されている。さらに、第４学習画像には、車体方向転換可能領域が認識された場合に、その車体方向転換可能領域に設定される車体方向転換のための旋回走行経路が示されている。図９の第３学習画像は、車体方向転換のための旋回走行の終了付近での俯瞰画像である。図９の第４学習画像では、走行経路の基準となる境界及び当該境界から求められる境界線を示すアノテーションと、境界線を目標走行経路とした場合の位置ずれを示すアノテーションと、既作業領域及び未作業領域の表面状態が中程度の凹凸であることを示すアノテーションと、必要な操舵量を示すアノテーションとが付与されている。
【００３９】
図１０に、第１学習用画像群と第２学習用画像群とを用いて、第１演算部４１が操舵量を示す第１自動走行情報を出力するように機能させるための学習処理の流れが示されている。
【００４０】
まず、トラクタの試験走行やカメラ付きドローンによって取得された撮影画像、またはＣＧ装置を用いて、第１学習用画像群を取得する（＃０１）。第１学習用画像群に対して注目すべき特徴領域を示すアノテーションを付与して第２学習用画像群を作成する（＃０２）。
【００４１】
第２学習用画像群から、順次、第２学習用画像を抽出して、第１演算部４１を構成する畳み込みニューラルネットワークに入力する（＃１１）。第２学習用画像を用いて、畳み込みニューラルネットワークによって推定された自動走行情報を出力させる（＃２１）。推定された自動走行情報と第２学習用画像に付与されているアノテーションで示される自動走行情報との差（誤差）を算出する（＃２２）。算出された誤差が最小値未満でなければ（＃２３Ｎｏ分岐）、重み係数を修正して（＃２４）、ステップ＃２１に戻り、誤差を縮小する処理を繰り返す。算出された誤差が最小値未満になれば（＃２３Ｙｅｓ分岐）、その時点の重み係数を記録する（＃２５）。
【００４２】
用意されている全ての第２学習用画像を用いた学習処理が終了したかどうかチェックされる（＃２６）。まだ、学習処理に用いられる第２学習用画像が残っていれば（＃２６Ｙｅｓ分岐）、ステップ＃１１に戻って、学習処理を続行する。学習処理に用いられる第２学習用画像が残っていなければ（＃２６Ｎｏ分岐）、記録されている重み係数に基づいて、最終的な重み係数が決定され（＃３１）、当該重き係数が畳み込みニューラルネットワークである第１演算部４１に設定される（＃３２）。第２学習用画像群から類似する画像をグループ化して、そのグループ毎に誤差が最小となる重み係数を割り当ててもよい。
【００４３】
第３学習用画像群と第４学習用画像群とを用いた第２演算部４２の学習処理も、上述した第１演算部４１の学習処理に準じた方法で行われる。学習された第２演算部４２は、前方の既作業領域が車体方向転換可能な領域であると認識された場合、車体方向転換のための旋回走行経路を設定し、方向転換して、次の目標走行経路に進入するための操舵量を示す第２自動走行情報を出力するように機能する。
【００４４】
〔別実施の形態〕
（１）上述した実施形態では、自動走行演算部４は、直線（緩やかな湾曲線を含む）状の作業走行を行うための第１自動走行情報を出力するように学習された第１演算部４１と、適切な場所で方向転換走行を行うための第１自動走行情報を出力するように学習された第２演算部４２とを備えていた。圃場作業車では、さらに、走行障害となる物体（走行障害物）との接触を自動的に回避する機能があれば、好都合である。図１１には、走行障害物を回避する機能を有する第３演算部４３が追加された自動走行演算部４のブロック図が示されている。第３演算部４３は、第３前段演算部４３ａと第３後段演算部４３ｂとを含む。第３前段演算部４３ａは、撮影ユニット３から送られてきた圃場画像（前方画像または俯瞰画像）から、走行障害物の存在を推定する。第３後段演算部４３ｂ推定された走行障害物と車体１との接触を回避するための回避走行情報（操舵量、減速指令、停車指令、警告など）を含む第３自動走行情報を生成して出力する。その際、操舵によって走行障害物を回避する場合には、回避走行経路を目標走行経路として設定する。なお、第３自動走行情報の生成時にも、圃場の傾斜度や圃場面の凹凸度などの圃場状態が考慮されてもよい。第３前段演算部４３ａ及び第３後段演算部４３ｂは、一体化可能である。
【００４５】
第３前段演算部４３ａ及び第３後段演算部４３ｂは、畳み込みニューラルネットワークで構成されているので、学習処理が必要である。学習用画像は、圃場に走行障害物が存在している圃場画像（第５学習用画像群）と、当該圃場画像において認識されたるべき走行障害物を示すアノテーションや走行障害物回避のための走行を示すアノテーションが付与された画像群（第６学習用画像群）である。なお、走行障害物として、移動性障害物（人や動物）と非移動性障害物（鉄塔など）とが区別して認識されるように、それぞれ別の学習用画像が用意される。学習処理は、図１０のフローチャートに準じて行われる。
【００４６】
（２）上述した実施形態では、第１自動走行情報、第２自動走行情報、第３自動走行情報に操舵量が含まれていたが、これに代えて、操舵量などの操作指令は、自動走行情報から操舵量を導出する別の演算部によって生成されるようにしてもよい。この場合、圃場情報から操舵量を推定させる学習は不要となる。
【００４７】
（３）上述した実施形態では、自動走行演算部４を構築するための機械学習として畳み込みニューラルネットワークが用いられているが、それ以外の人工ニューラルネットワークが用いられてもよい。また、前段演算部と後段演算部とは、同じ形式の機械学習で構築されてもよいし、異なる形式の機械学習で構築されてもよい。
【００４８】
（４）学習処理ユニット６が各圃場作業車の制御系に備えられ、自動走行演算部４と接続されている場合には、手動走行中に撮影ユニット３で取得された撮影画像を学習用画像として用いることができる。アノテーションの付与は運転者によって行うことができる。さらに、運転者による操作や走行軌跡などの情報から、自動的にアノテーション付与を行ってもよい。
【００４９】
（５）上述した実施形態では、操舵指令に基づいて操舵輪である前輪１１の操舵角を調節することで車体１の走行方向が変更された。クローラ式の走行機構を備えた作業車では、これに代えて、操舵指令に基づいて、左右のクローラの速度を調節することで、車体１の走行方向が変更される。
【００５０】
（６）上述した実施形態では、圃場作業車として、トラクタが取り扱われたが、田植機やコンバインなどの他の圃場作業車にも同様な自動走行演算部４を採用することができる。
【産業上の利用可能性】
【００５１】
本発明は、圃場を自動走行する圃場作業車に適用可能である。
【符号の説明】
【００５２】
３      ：撮影ユニット
３０    ：画像処理部
３１    ：前カメラ
３２    ：後カメラ
３３    ：左カメラ
３４    ：右カメラ
４      ：自動走行演算部
４０    ：選択部
４１    ：第１演算部
４１ａ  ：第１前段演算部
４１ｂ  ：第１後段演算部
４２    ：第２演算部
４２ａ  ：第２前段演算部
４２ｂ  ：第２後段演算部
４３    ：第３演算部
４３ａ  ：第３前段演算部
４３ｂ  ：第３後段演算部
５      ：制御ユニット
５０    ：入出力信号処理ユニット
５２    ：自動走行制御部
５４    ：走行状態検知部
５５    ：作業状態検知部
６      ：学習処理ユニット
【図１】
2020101943.tif 000003
【図２】
2020101943.tif 000004
【図３】
2020101943.tif 000005
【図４】
2020101943.tif 000006
【図５】
2020101943.tif 000007
【図６】
2020101943.tif 000008
【図７】
2020101943.tif 000009
【図８】
2020101943.tif 000010
【図９】
2020101943.tif 000011
【図１０】
2020101943.tif 000012
【図１１】
2020101943.tif 000013