(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-21
(45)【発行日】2023-09-29
(54)【発明の名称】圃場作業車
(51)【国際特許分類】
G05D 1/02 20200101AFI20230922BHJP
A01B 69/00 20060101ALI20230922BHJP
【FI】
G05D1/02 H
G05D1/02 N
A01B69/00 303Q
(21)【出願番号】P 2022075732
(22)【出願日】2022-05-02
(62)【分割の表示】P 2018238897の分割
【原出願日】2018-12-20
【審査請求日】2022-05-31
(73)【特許権者】
【識別番号】000001052
【氏名又は名称】株式会社クボタ
(74)【代理人】
【識別番号】110001818
【氏名又は名称】弁理士法人R&C
(72)【発明者】
【氏名】池端 惇一
【審査官】堀内 亮吾
(56)【参考文献】
【文献】特開平2-219506(JP,A)
【文献】特開平4-293404(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/02
A01B 69/00
(57)【特許請求の範囲】
【請求項1】
圃場を自動走行する圃場作業車であって、
少なくとも車体の進行領域を含む前記圃場を撮影して圃場画像を出力する撮影ユニットと、
車速及び操舵量を調整するための走行機器と、
前記圃場画像を入力して、未作業領域と既作業領域との境界と圃場状態とを推定して、自動走行するための自動走行情報を出力するように学習された自動走行演算部と、
前記自動走行情報に基づいて前記走行機器を制御する自動走行制御部と、を備え、
前記自動走行演算部は、畳み込みニューラルネットワークで構築され、前記圃場画像である第1学習用画像群にアノテーションを付与して作成された第2学習用画像群を教師データとして用いて学習されており、前記第1学習用画像群は、前記圃場の前記未作業領域と前記既作業領域とを含む画像群であり、前記第2学習用画像群は、
走行経路の基準となる前記未作業領域と前記既作業領域との間の前記境界及び当該境界から求められる境界線を示すアノテーションが付与された画像群であり、
前記自動走行情報は、前記境界に沿って自動走行するための情報である圃場作業車。
【請求項2】
圃場を自動走行する圃場作業車であって、
少なくとも車体の進行領域を含む前記圃場を撮影して圃場画像を出力する撮影ユニットと、
車速及び操舵量を調整するための走行機器と、
前記圃場画像を入力して、未作業領域と既作業領域との境界と圃場状態とを推定して、自動走行するための自動走行情報を出力するように学習された自動走行演算部と、
前記自動走行情報に基づいて前記走行機器を制御する自動走行制御部と、を備え、
前記自動走行演算部は、畳み込みニューラルネットワークで構築され、前記圃場画像である第1学習用画像群にアノテーションを付与して作成された第2学習用画像群を教師データとして用いて学習されており、前記第1学習用画像群は、前記圃場の前記未作業領域と前記既作業領域とを含む画像群であり、前記第2学習用画像群は、
走行経路の基準となる前記境界及び当該境界から求められる境界線を示すアノテーションと前記境界線を目標走行経路とした場合の位置ずれを示すアノテーションとが付与された画像群であり、
前記自動走行情報は、前記境界に沿って自動走行するための走行経路に対する位置ずれである圃場作業車。
【請求項3】
前記位置ずれには、前記走行経路に対する横断方向のずれである横位置ずれと、前記走行経路の向きに対する車体方位のずれである方位ずれとが含まれており、
前記自動走行情報は、前記横位置ずれと前記方位ずれである請求項2に記載の圃場作業車。
【請求項4】
圃場を自動走行する圃場作業車であって、
少なくとも車体の進行領域を含む前記圃場を撮影して圃場画像を出力する撮影ユニットと、
車速及び操舵量を調整するための走行機器と、
前記圃場画像を入力して、未作業領域と既作業領域との境界と圃場状態とを推定して、自動走行するための自動走行情報を出力するように学習された自動走行演算部と、
前記自動走行情報に基づいて前記走行機器を制御する自動走行制御部と、を備え、
前記自動走行演算部は、畳み込みニューラルネットワークで構築され、前記圃場画像である第1学習用画像群にアノテーションを付与して作成された第2学習用画像群を教師データとして用いて学習されており、前記第1学習用画像群は、前記圃場の前記未作業領域と前記既作業領域とを含む画像群であり、前記第2学習用画像群は、
前記未作業領域と前記既作業領域との間の境界線を目標走行経路とした場合の位置ずれを示すアノテーションと必要な操舵量を示すアノテーションとが付与された画像群であり、
前記自動走行情報は、前記位置ずれを解消するための操舵量である圃場作業車。
【請求項5】
圃場を自動走行する圃場作業車であって、
少なくとも車体の進行領域を含む前記圃場を撮影して圃場画像を出力する撮影ユニットと、
車速及び操舵量を調整するための走行機器と、
前記圃場画像を入力して、未作業領域と既作業領域との境界と圃場状態とを推定して、自動走行するための自動走行情報を出力するように学習された自動走行演算部と、
前記自動走行情報に基づいて前記走行機器を制御する自動走行制御部と、を備え、
前記自動走行演算部は、畳み込みニューラルネットワークで構築され、前記圃場画像である第3学習用画像群にアノテーションを付与して作成された第4学習用画
像を教師データとして用いて学習されており、前記第3学習用画像群は、前記圃場の前記未作業領域と前記既作業領域とを含む画像群であり、前記第4学習用画
像は、前記既作業領域のうち車体方向転換可能な領域を示すアノテーションが付与された画
像であり、
前記自動走行情報は、前記車体方向転換可能な領域である圃場作業車。
【請求項6】
圃場を自動走行する圃場作業車であって、
少なくとも車体の進行領域を含む前記圃場を撮影して圃場画像を出力する撮影ユニットと、
車速及び操舵量を調整するための走行機器と、
前記圃場画像を入力して、未作業領域と既作業領域との境界と圃場状態とを推定して、自動走行するための自動走行情報を出力するように学習された自動走行演算部と、
前記自動走行情報に基づいて前記走行機器を制御する自動走行制御部と、を備え、
前記自動走行演算部は、畳み込みニューラルネットワークで構築され、前記圃場画像である第3学習用画像群にアノテーションを付与して作成された第4学習用画
像を教師データとして用いて学習されており、前記第3学習用画像群は、前記圃場の前記未作業領域と前記既作業領域とを含む画像群であり、前記第4学習用画
像は、前記既作業領域のうち車体方向転換可能な領域における車体方向転換のための旋回走行経路を示すアノテーションが付与された画
像であり、
前記自動走行情報は、前記車体方向転換可能な領域における車体方向転換のための旋回走行経路である圃場作業車。
【請求項7】
圃場を自動走行する圃場作業車であって、
少なくとも車体の進行領域を含む前記圃場を撮影して圃場画像を出力する撮影ユニットと、
車速及び操舵量を調整するための走行機器と、
前記圃場画像を入力して、未作業領域と既作業領域との境界と圃場状態とを推定して、自動走行するための自動走行情報を出力するように学習された自動走行演算部と、
前記自動走行情報に基づいて前記走行機器を制御する自動走行制御部と、を備え、
前記自動走行演算部は、畳み込みニューラルネットワークで構築され、前記圃場画像である第3学習用画像群にアノテーションを付与して作成された第4学習用画
像を教師データとして用いて学習されており、前記第3学習用画像群は、前記圃場の前記未作業領域と前記既作業領域とを含む画像群であり、前記第4学習用画
像は、前記既作業領域のうち車体方向転換可能な領域における車体方向転換のために必要な操舵量を示すアノテーションが付与された画
像であり、
前記自動走行情報は、前記車体方向転換可能な領域における車体方向転換のために必要な操舵量である圃場作業車。
【請求項8】
圃場を自動走行する圃場作業車であって、
少なくとも車体の進行領域を含む前記圃場を撮影して圃場画像を出力する撮影ユニットと、
車速及び操舵量を調整するための走行機器と、
前記圃場画像を入力して、未作業領域と既作業領域との境界と圃場状態とを推定して、自動走行するための自動走行情報を出力するように学習された自動走行演算部と、
前記自動走行情報に基づいて前記走行機器を制御する自動走行制御部と、を備え、
前記自動走行演算部は、畳み込みニューラルネットワークで構築され、前記圃場画像である第1学習用画像群にアノテーションを付与して作成された第2学習用画像群を教師データとして用いて学習されており、前記第1学習用画像群は、前記圃場
に走行障害物が存在している画像群であり、前記第2学習用画像群は、
走行障害物回避のための走行を示すアノテーションが付与された画像群であり、
前記自動走行情報は、前記走行障害物と前記車体との接触を回避するための回避走行情報である圃場作業車。
【請求項9】
前記回避走行情報には、非移動性障害物と推定された前記走行障害物を回避する情報が含まれている請求項8に記載の圃場作業車。
【請求項10】
前記回避走行情報には、移動性障害物と推定された前記走行障害物との接触を回避するための減速、停車、警告の少なくとも1つを行うための情報が含まれている請求項8または9に記載の圃場作業車。
【請求項11】
前記走行機器の状態から走行状態を検知する走行状態検知部が備えられ、
前記走行状態を示す走行状態情報が前記自動走行演算部に入力され、前記走行状態情報には、車速、変速位置、エンジン回転数、エンジン負荷率のうちの少なくとも1つを示すデータが含まれ、
前記回避走行情報には、操舵、車速、変速、制動、前記エンジン回転数のうちの少なくとも1つの変更を指令する制御指令が含まれている請求項8から10のいずれか一項に記載の圃場作業車。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、圃場内を自動走行しながら作業を行う圃場作業車に関する。
【背景技術】
【0002】
圃場内を自動走行する方法の1つでは、予め設定された自動走行用走行経路と、衛星測位によって得られた作業車位置とが用いられる。例えば、特許文献1に開示されたトラクタでは、最初に手動走行で圃場の外周付近を走行することにより作り出された既作業領域の内側に、自動走行によって作業されるべき作業対象領域が形成される。この作業対象領域をトラクタが走行するための走行経路が経路算出アルゴリズムに基づいて算出される。その後、トタクタに備えられた自動走行制御部では、目標となる走行経路と衛星測位データから算出された自車位置との間の位置ずれを算出し、この位置ずれが小さくなるように自動操舵指令が生成される。
【0003】
圃場内を自動走行するための他の1つの方法では、圃場作業車に搭載された撮影カメラによる撮影画像を画像処理することにより得られる圃場作業車の目標走行経路が利用される。例えば、特許文献2に開示された草刈機では、ゴルフ場などの芝生地における既刈地と未刈地との境界領域が撮影装置で撮影され、その撮影画像から既刈地と未刈地との間の境界線が算出され、この境界線に沿うように、車体が自動操舵される。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2018-116608号公報
【文献】特開2018-097526号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に開示されているような、衛星測位データを用いた自動走行を実施するためには、圃場の地図情報(圃場座標系または地球座標系)が用意され、この地図情報を用いて、圃場を網羅する走行経路が算出される。作業車は、この走行経路から自車位置がはずれないように自動走行される。自車位置は衛星測位を用いて算出されるが、衛星測位による自車位置算出では、山林や家屋によって衛星電波が遮られると、測位不能や測位精度低下が生じるという問題が生じる。
【0006】
特許文献2に開示されているような、画像処理によって検出される既刈地(既作業地)と未刈地(未作業地)との間の境界線を目標走行経路とする自動走行は、衛星測位を用いた自動走行の代替案として有効である。しかしながら、圃場作業車の走行面となる圃場面は、芝生地などに比べて、凹凸が激しく、しかも、その状態も場所によって異なるので、これは操舵精度の悪化を導く。さらに、圃場に農作物や農作物の残滓が存在している場合、その状態が場所によって異なるので、そのような農作物の状態に応じた自動走行が要求される場合もある。
【0007】
本発明の目的は、衛星測位を用いることなしに、かつ圃場の状態を考慮しながら自動走行できる圃場作業車を提供することである。
【課題を解決するための手段】
【0008】
圃場を自動走行する、本発明による圃場作業車は、少なくとも車体の進行領域を含む前記圃場を撮影して圃場画像を出力する撮影ユニットと、車速及び操舵量を調整するための走行機器と、前記圃場画像入力して、未作業領域と既作業領域との境界と圃場状態とに基づいて自動走行するための自動走行情報を出力するように学習された自動走行演算部と、前記自動走行情報に基づいて前記走行機器を制御する自動走行制御部とを備え、
前記自動走行演算部は、畳み込みニューラルネットワークで構築され、前記圃場画像である第1学習用画像群にアノテーションを付与して作成された第2学習用画像群を教師データとして用いて学習されており、前記第1学習用画像群は、前記圃場の前記未作業領域と前記既作業領域とを含む画像群であり、前記第2学習用画像群は、走行経路の基準となる前記未作業領域と前記既作業領域との間の前記境界及び当該境界から求められる境界線を示すアノテーションが付与された画像群であり、
前記自動走行情報は、前記境界に沿って自動走行するための情報である。
【0009】
この構成では、撮影ユニットによって取得した圃場画像から未作業領域と既作業領域との境界が推定されることで目標となる車体の走行方向が決定され、同時に圃場画像から圃場状態が推定されることで、前記圃場状態に適合する目標となる走行挙動が決定され、目標となる走行方向と走行挙動とから自動走行情報が出力される。自動走行演算部は、未作業領域と既作業領域との境界だけでなく圃場状態も含めて最適な自動走行情報を出力するように学習されている。したがって、未作業領域と既作業領域との境界に沿うように走行機器が制御される際に、圃場状態(圃場面の状態や農作物の状態など)も考慮される。たとえば、走行前方に泥濘や凹凸などがあれば、操舵量を緩やかにして、スリップなどを抑制することも可能となる。
【0010】
作業もれまたは重複作業(過剰オーバーラップ)を避けるためには、車体の目標経路からのずれを正確に捉え、そのずれを少なくする操舵量を求める必要がある。このために、未作業領域と既作業領域との境界を一本の線、つまり境界線で求めること、及びこの境界線に車体の操舵基準点を一致させる操舵指令を出力すること、が重要である。このことから、本発明の好適な実施形態の1つでは、前記自動走行情報は、前記境界を示す境界線に対応する線状の目標走行経路を推定し、この線状の目標走行経路と自車とのずれを解消するための情報を含む。
【0011】
耕耘作業、田植作業、収穫作業など圃場では作業では、既に作業済みとなっている外周領域が車体の向きを変える方向転換領域として利用され、その外周領域の内側領域(未作業領域)に平行な線状の経路を、Uターン走行などの方向転換走行によってつないでいく走行形態が採用されている。このような走行パターンを、本発明による自動走行においても採用するためには、車体が車体の方向転換を行う必要がある外周領域に達すると、方向転換走行に移行する制御が必要である。このことから、本発明の好適な実施形態の1つでは、前記自動走行情報は、前記既作業領域である車体方向転換可能領域に設定されている方向転換走行経路を目標走行経路として方向転換を行うための情報を含む。
【0012】
圃場には、人や動物、さらには井戸や鉄塔などの走行障害物が存在する可能性があるので、自動走行を行うには、この走行障害物を検知して、走行障害物との接触を回避する必要がある。このことから、本発明の好適な実施形態の1つでは、前記自動走行演算部は、前記圃場画像から推定された走行障害物との接触を回避するための衝突回避情報を前記自動走行情報として出力する。
【0013】
走行障害物が移動するものか、あるいは圃場に固定しているものかによって、対処策が異なってくる。圃場に固定している障害物に対しては、作業車が回避する必要がある。このことから、本発明の好適な実施形態の1つでは、前記衝突回避情報には、非移動性障害物と推定された前記走行障害物を回避する回避走行情報が含まれている。
【0014】
圃場を移動する障害物は、時間経過にともなって作業車の走行先から外れて、走行障害物ではなくなる可能性がある。また、警報等によって、障害物を排除することも可能である。このことから、本発明の好適な実施形態の1つでは、前記衝突回避情報には、移動性障害物と推定された前記走行障害物との接触を回避するための減速、停車、警告の少なくとも1つを行うための情報が含まれている。
【0015】
手動走行で圃場作業が行われる場合、運転者は、現状の車速やエンジン回転数のなどを考慮して、これらを適切に変更操作することで、最適な作業走行を図っている。このような操作は自動走行においても有益である。このことから、本発明の好適な実施形態の1つでは、前記走行機器の状態から走行状態を検知する走行状態検知部が備えられ、前記走行状態を示す走行状態情報が前記自動走行演算部に入力され、前記走行状態情報には、車速、変速位置、エンジン回転数、エンジン負荷率のうちの少なくとも1つを示すデータが含まれ、前記自動走行情報には、操舵、車速、変速、制動、エンジン回転数のうちの少なくとも1つの変更を指令する制御指令が含まれている。
【0016】
農業従事者の長年の経験と圃場作業車の技術改革とによって発達してきた農業において、圃場作業車の自動化を進めるためには、長年の経験を圃場作業車の自動走行制御に反映させる必要がある。このためには、制御系の中核に、農業従事者の経験を圃場作業車に学習させる機械学習を導入することが好適である。これにより、熟練した農業従事者の能力を圃場作業車に搭載したコンピュータ上で実現させることができる。このため、前記自動走行演算部は、畳み込みニューラルネットワークで構築され、学習用画像として第1学習用画像群と第2学習用画像群とを用いて学習されており、前記第1学習用画像群は、圃場の前記未作業領域と前記既作業領域とを含む画像群であり、前記第2学習用画像群は、前記未作業領域と前記既作業領域との間の前記境界を示すアノテーションと、前記境界に沿って自動走行するための走行経路に対する位置ずれを示すアノテーションとが付与された画像群である。アノテーションとは、対応撮影画像に対する意味づけである。例えば、圃場の撮影画像において、未作業領域と既作業領域との境界を指し示すこと、さらにはその境界から車体の走行経路に対する位置ずれとその位置ずれを解消するための操作を指し示すことが、アノテーションである。この機械学習には、第1の学習と第2の学習が含まれている。第1の学習は、圃場作業車からの視点で取得された生の撮影画像と、その撮影画像における未作業領域と前記既作業領域との間の境界を見つけ出して、その境界領域をアノテーションとして示したアノテーション画像とを用いて、生の撮影画像から境界領域を推定させる学習である。第2の学習は、生の撮影画像と、見つけ出された境界の位置からの車体の位置ずれ(目標走行ラインからのずれ)及び必要とされる位置ずれを解消する操作をアノテーションとして示したアノテーション画像とを用いて、生の撮影画像から車体の位置ずれ境界領域を推定させ、位置ずれを解消する操作を推定させる学習である。この学習により、自動走行演算部は、取得した圃場画像から、車体前方の境界線の位置、車体の位置ずれ、さらに、必要であれば、位置ずれの解消操作を出力することができる。
【0017】
車体の位置ずれが発生すると、車体を目標走行経路に一致させる操舵が行われる。この操舵による位置ずれの解消を迅速かつ効率的に行うためには、走行経路に対する横断方向のずれである横位置ずれと、走行経路の向きに対する車体方位のずれである方位ずれとを組み合わせて制御されることが好適である。これは、道路を走行する車両に比べて、圃場を走行する圃場作業車では、スリップが多く、車速が低いことに起因する。このことから、本発明の好適な実施形態の1つでは、前記位置ずれには、前記走行経路に対する横断方向のずれである横位置ずれと、前記走行経路の向きに対する車体方位のずれである方位ずれとが含まれている。
【0018】
さらに、本発明の好適な実施形態の1つでは、前記学習用画像としてさらに第3学習用画像と第4学習用画像とが用いられており、前記第3学習用画像は、前記既作業領域における車体方向転換可能な領域を示す画像群であり、前記第4学習用画像は、前記車体方向転換可能な領域を示すアノテーションが付与された画像群である。このような学習用画像を用いて学習した自動走行演算部では、現在の作業走行経路から車体を方向転換させて次の作業走行経路に移行するための方向転換用領域、及びその方向転換用領域での方向転換走行(旋回走行)のための情報が、圃場画像から推定できるようになる。
【0019】
さらに、本発明の好適な実施形態の1つでは、前記学習用画像としてさらに第5学習用画像と第6学習用画像とが用いられており、前記第5学習用画像は、前記圃場における走行障害となる物体が含まれている画像群であり、前記学習用画像は、前記走行障害となる物体を示すアノテーションが付与された画像群である。このような学習用画像を用いて学習した自動走行演算部では、は、圃場画像から走行障害となる物体を推定することができ、この障害物との接触を回避するために必要な自動走行情報を出力することができる。
【図面の簡単な説明】
【0020】
【
図1】圃場作業車の一例であるトラクタの側面図である。
【
図2】撮影カメラの取り付け位置を説明するためのトラクタの概略平面図である。
【
図3】トラクタによる圃場作業の流れを説明する説明図である。
【
図6】第1演算部の学習処理に用いられる学習用画像を示す模式図である。
【
図7】第1演算部の学習処理に用いられる学習用画像を示す模式図である。
【
図8】第2演算部の学習処理に用いられる学習用画像を示す模式図である。
【
図9】第2演算部の学習処理に用いられる学習用画像を示す模式図である。
【
図10】自動走行演算部の学習処理の一例を示すフローチャートである。
【
図11】自動走行演算部の別実施形態における機能ブロック図である。
【発明を実施するための形態】
【0021】
次に、図面を用いて、本発明による圃場を自動走行する圃場作業車を説明する。
図1で示された実施形態では、作業車は、圃場を自動走行するトラクタである。このトラクタは、前輪11と後輪12とによって支持された車体1の中央部に運転部20が設けられている。車体1の後部には油圧式の昇降機構23を介してロータリ耕耘装置である作業装置24が装備されている。前輪11は操向輪として機能し、その操舵角を変更することでトラクタの走行方向が変更される。前輪11の操舵角は操舵機構13の動作によって変更される。操舵機構13には自動操舵のための操舵モータ14が含まれている。手動走行の際には、前輪11の操舵は運転部20に配置されているステアリングホイール22の操作によって行われる。
【0022】
このトラクタには、少なくとも車体1の走行先の領域を含む圃場を撮影して圃場画像を出力する撮影ユニット3が備えられている。この実施形態では、
図2に示すように、撮影ユニット3には、前カメラ31と後カメラ32と左カメラ33と右カメラ34とを含む。前カメラ31は、車体1の前部に配置され、車体1の前方を撮影する。後カメラ32は、車体1の後部に配置され、作業装置24を含む車体1の後方を撮影する。左カメラ33と右カメラ34とは、それぞれ、車体1の側部に配置され、車体1の左方と右方とを撮影する。前カメラ31と後カメラ32と左カメラ33と右カメラ34とからの撮影画像を視点変換して合成することにより、トラクタ上方を視点とする俯瞰画像が生成可能である。圃場画像として、前カメラ31による前方撮影画像、または、圃場画像、あるいはその両方が利用される。なお、前方撮影画像は前進の場合の車体進行領域を含む圃場画像として利用され、後進の場合には後カメラ32による後方撮影画像が車体進行領域を含む圃場画像として利用される。したがって、以下に述べる圃場画像には、前方撮影画像、後方撮影画像、俯瞰画像が含まれるものとする。
【0023】
トラクタによる圃場作業の一般的な手順が
図3に示されている。この例では、トラクタが圃場に入ると(#a)、圃場の外周に沿って作業を行う周囲作業走行が手動または自動で行われ、圃場の最外周側に既作業領域である外周領域が形成される(#b)。周囲作業走行では、コーナ領域での方向転換走行が複雑であるため、手動走行が好ましい。コーナ領域以外は、実質的に直線走行であるので、自動走行が用いられる。その際、圃場の外周線となる、圃場面と畔や畝などとの境界線が、機械学習を用いた画像認識プログラムによってリアルタイムで認識され、その認識された境界線に作業装置24の作業端が沿うようにトラクタが自動操舵される。この周囲作業走行で形成される外周領域がトラクタの方向転換(Uターン走行)が可能となる大きさになれば、この未作業領域に対する自動作業走行が開始される。この自動作業走行には、直線状にトラクタを作業走行させる前進作業走行(#c)と、既作業領域で作業装置24を上昇させて非作業状態としてトラクタをUターンさせる車体方向転換走行(#d)とが含まれる。前進作業走行と車体方向転換走行とを繰り返すことで(#e)、圃場全体の作業が完了する。なお、前進作業走行では、画像認識対象が未作業領域と既作業領域との境界線であり、車体方向転換走行では、画像認識対象が圃場の境界線(外周線)及び未作業領域と既作業領域との境界線である。このため、前進作業走行と車体方向転換走行とで、異なる画像認識プログラムが用いられることが好ましい。その場合、前進作業走行用画像認識プログラムと車体方向転換走行用画像認識プログラムとの自動切替は、作業装置24の状態(例えば、下降状態と上昇状態、駆動状態と非駆動状態)に基づいて行うことができる。なお、圃場の種類によっては、外周領域の形状が前もって想定され、外周領域が未作業状態のままで、当該外周領域の内側の未作業領域に対して、#c、#d、#eが先に実施され、その後に#bが実施される。
【0024】
図4には、このトラクタに構築されている制御系が示されている。この実施形態の制御系には、車載ECU群からなる制御ユニット5、入出力信号処理ユニット50が含まれている。制御ユニット5には、通常の作業走行を実行する機能部に加えて、機械学習を応用して構築された自動走行演算部4が備えられている。入出力信号処理ユニット50には、トラクタの作業走行で取り扱われる入出力信号を処理する機能部が構築されている。制御ユニット5と入出力信号処理ユニット50とは、車載LANによって接続されている。
【0025】
入出力信号処理ユニット50には、走行機器群91、作業機器群92、報知デバイス群93、自動/手動切替操作具94、走行状態検出センサ群81、作業状態検出センサ群82が接続されている。走行機器群91には、操舵調節機器としての操舵モータ14(
図1参照)をはじめ、車速調整機器としての変速調整器、エンジン回転調整器などが含まれている。作業機器群92には、作業装置24や昇降機構23(
図1参照)を駆動するための制御機器が含まれている。報知デバイス群93には、ディスプレイ、スピーカ、ランプ、ブザーなどが含まれている。自動/手動切替操作具94は、自動操舵で走行する自動走行モードと手動操舵で走行する手動操舵モードとのいずれかを選択するスイッチである。
【0026】
走行状態検出センサ群81には、操舵量やエンジン回転数や変速位置などの走行状態を検出するセンサが含まれている。作業状態検出センサ群82には、作業装置24の姿勢や駆動状態を検出するセンサが含まれている。
【0027】
入出力信号処理ユニット50には、そのほかに、撮影ユニット3が接続されている。撮影ユニット3には、上述した4つのカメラ31~34の撮影画像を画像処理して制御ユニット5での処理に適合する圃場画像を生成する画像処理部30が含まれている。撮影ユニット3から出力された圃場画像は、入出力信号処理ユニット50を介して制御ユニット5に入力される。
【0028】
制御ユニット5は、手動走行制御部51、自動走行制御部52、作業制御部53、走行状態検知部54、作業状態検知部55、自動走行演算部4を備えている。手動走行制御部51は、手動走行モードにおいて、運転者による操作に基づいて、走行機器群91を制御する。自動走行制御部52は、自動走行モードにおいて、自動走行演算部4から出力される自動走行情報に基づいて走行機器群91を制御する。作業制御部53は、手動または自動で作業機器群92を制御する。走行状態検知部54は、走行状態検出センサ群81からの検出信号に基づいて走行状態を検知する。作業状態検知部55は、作業状態検出センサ群82からの検出信号に基づいて作業状態を検知する。
【0029】
自動走行演算部4は、学習済み状態において、前記圃場画像を入力して、未作業領域と既作業領域との境界と圃場状態とを推定して、自動走行するための自動走行情報を出力する。この実施形態では、自動走行演算部4は、
図5に示すように、第1演算部41、第2演算部42、選択部40とから構成されている。第1演算部41は、第1前段演算部41aと第1後段演算部41bとを含む。第2演算部42は、第2前段演算部42aと第2後段演算部42bとを含む。
【0030】
第1前段演算部41aは、圃場画像から、未作業領域と既作業領域との境界を示す境界線と圃場状態とを推定する。第1後段演算部41bは、推定された境界線に対応する線状の目標走行経路(前進作業走行経路)をリアルタイムで算出する。その際、作業装置24の作業幅、作業オーバータップ量、車体基準点から作業装置24の作業端までの距離などが必要となるので、これらの作業装置仕様データは予め設定されている。さらに、第1前段演算部41aは、この目標走行経路(前進作業走行経路)に対する車体1の操舵基準点の位置ずれを演算し、この位置ずれを解消するための情報である第1自動走行情報を生成する。この位置ずれには、目標走行経路に対する横断方向の位置偏差である横位置ずれと、目標走行経路の方位と車体方位との間の角度偏差である方位ずれが含まれる。第1自動走行情報には、位置ずれを解消するための操舵量が含まれている。操舵量の生成時には、圃場の傾斜度や圃場面の凹凸度などの圃場状態が考慮される。第1前段演算部41a及び第1後段演算部41bは、一体化可能である。
【0031】
第2前段演算部42aは、圃場画像から、既作業領域である車体方向転換可能領域を推定する。第2後段演算部42bは、当該車体方向転換可能領域に設定される方向転換走行経路を設定し、設定された方向転換走行経路に対する実際の方向転換軌跡との相違を旋回ずれとし、この旋回ずれを解消するための情報(操舵量)である第2自動走行情報を生成する。第2自動走行情報の生成時にも、圃場の傾斜度や圃場面の凹凸度などの圃場状態が考慮される。第2前段演算部42a及び第2後段演算部42bは、一体化可能である。
【0032】
選択部40は、第1自動走行情報の信頼度と第2自動走行情報の信頼度とを比較して、現時点で行わなければならない走行制御として適正度の高い方の情報を選択し、自動走行情報として出力して、自動走行制御部52に与える。あるいは、選択部40は、作業状態検知部55によって検知された作業状態に基づいて第1自動走行情報と第2自動走行情報のいずれかを選択してもよい。例えば、作業装置24の状態が下降状態または駆動状態あるいはその両方であれば、前進作業走行とみなされ、第1自動走行情報が選択される。作業装置24の状態が上昇状態または非駆動状態あるいはその両方であれば、方向転換走行とみなされ、第2自動走行情報が選択される。さらに別な方法として、作業状態検知部55によって検知された作業状態に基づいて第1前段演算部41aと第2前段演算部42aのいずれかの利用を決定するようにしてもよい。
【0033】
なお、
図5に示された自動走行演算部4では、付加的な機能として、走行状態検知部54によって検知された走行状態情報が、第1演算部41及び第2演算部42に入力されている。走行状態情報には、車速、変速位置、エンジン回転数、エンジン負荷率などが含まれている。この機能を追加した場合、第1後段演算部41b及び第2後段演算部42bは、位置ずれを解消するための情報に加えて、第1自動走行情報及び第2自動走行情報に、車速制御指令、変速制御指令、制動制御指令、エンジン制御指令のうちの少なくとも1つを含ませることも可能である。これは、単に操舵量を調節するだけではなく、その他の走行状態(車速など)も調整することが、位置ずれの解消に有効な場合があるからである。
【0034】
第1演算部41は圃場画像から第1自動走行情報を出力する機械学習制御ユニットであり、第2演算部42は圃場画像から第2自動走行情報を出力する機械学習制御ユニットである。機械学習制御ユニットが圃場画像から圃場作業の状況を推定して適切な自動走行情報を出力するためには、学習処理が必要となる。この学習処理のため、
図5では、学習処理ユニット6が自動走行演算部4に接続されている。なお、学習処理ユニット6は自動走行演算部4に内蔵されてもよい。また、トラクタの制御系以外のコンピュータシステムに構築された学習処理ユニット6と自動走行演算部4とがデータ交換して学習処理を実行するような学習システムを採用してもよい。この実施形態では、第1演算部41及び第2演算部42は、畳み込みニューラルネットワークで構築されており、畳み込みニューラルネットワークに適合する学習処理が学習処理ユニット6によって行われる。
【0035】
学習処理ユニット6の構成は、公知であるので、ここでは詳しい説明は省略するが、誤差算出機能や重み調整機能を有する。学習処理ユニット6は、第1演算部41または第2演算部42と同様な畳み込みニューラルネットワークを備えてもよいし、直接、学習前の第1演算部41または第2演算部42と接続して、順次学習させてもよい。前者の場合は、学習処理の終了後に、重み係数などの学習済みデータが第1演算部41及び第2演算部42に設定される。
【0036】
この第1演算部41の学習処理では、多数の第1学習画像からなる第1学習画像群と、多数の第2学習画像からなる第2学習画像群とが用いられる。
【0037】
第1学習用画像群は、圃場の未作業領域と既作業領域とを含む画像群であり、この実施形態では、撮影ユニット3の画像処理部30で生成された俯瞰画像が用いられる。第2学習用画像群は、第1学習用画像群において認識されるべき特徴を示すアノテーションが付与された画像群である。
図6及び
図7の左側に第1学習用画像の一例が示されており、
図6及び
図7の右側に第2学習用画像群が示されている。
図6の第1学習画像では、既作業領域に位置するトラクタの前方に未作業領域に広がっている情景が示されている。
図6の第2学習画像では、走行経路の基準となる未作業領域と既作業領域との間の境界及び当該境界から求められる境界線を示すアノテーションと、作業走行の開始基準となる境界及び当該境界から求められる境界線を示すアノテーションと、境界線を目標走行経路とした場合の位置ずれを示すアノテーションと、未作業領域の表面状態が中程度の凹凸であることを示すアノテーション、必要な操舵量を示すアノテーションとが付与されている。
図7の第1学習画像は、未作業領域に進入して作業領域と既作業領域との間の境界に沿って作業走行しているトラクタの俯瞰画像である。この第2学習画像では、走行経路(前進と後進)の基準となる境界及び当該境界から求められる境界線を示すアノテーションと、境界線を目標走行経路とした場合の位置ずれを示すアノテーションと、未作業領域の表面状態が中程度の凹凸であることを示すアノテーションと、必要な操舵量を示すアノテーションとが付与されている。
【0038】
第2演算部42の学習処理には、学習用画像として第3学習用画像と第4学習用画像とが用いられる。第3学習用画像群も、圃場の未作業領域と既作業領域とを含む画像群であるが、その車体1の前方の既作業領域は車体方向転換可能な領域であり、第4学習用画像は、第3学習用画像群において認識されるべき車体方向転換可能な領域を示すアノテーションが付与された画像群である。
図8及び
図9の左側に第3学習用画像の一例が示されており、
図8及び
図9の右側に第4学習用画像群が示されている。
図8の第3学習画像では、作業走行中のトラクタの前方に既作業領域に広がっている情景が示されている。
図8の第4学習画像では、前方に広がっている既作業領域が車体方向転換可能領域であることを示すアノテーションと、その車体方向転換可能領域の表面状態が中程度の凹凸であることを示すアノテーション、必要な操舵量を示すアノテーションとが付与されている。さらに、第4学習画像には、車体方向転換可能領域が認識された場合に、その車体方向転換可能領域に設定される車体方向転換のための旋回走行経路が示されている。
図9の第3学習画像は、車体方向転換のための旋回走行の終了付近での俯瞰画像である。
図9の第4学習画像では、走行経路の基準となる境界及び当該境界から求められる境界線を示すアノテーションと、境界線を目標走行経路とした場合の位置ずれを示すアノテーションと、既作業領域及び未作業領域の表面状態が中程度の凹凸であることを示すアノテーションと、必要な操舵量を示すアノテーションとが付与されている。
【0039】
図10に、第1学習用画像群と第2学習用画像群とを用いて、第1演算部41が操舵量を示す第1自動走行情報を出力するように機能させるための学習処理の流れが示されている。
【0040】
まず、トラクタの試験走行やカメラ付きドローンによって取得された撮影画像、またはCG装置を用いて、第1学習用画像群を取得する(#01)。第1学習用画像群に対して注目すべき特徴領域を示すアノテーションを付与して第2学習用画像群を作成する(#02)。
【0041】
第2学習用画像群から、順次、第2学習用画像を抽出して、第1演算部41を構成する畳み込みニューラルネットワークに入力する(#11)。第2学習用画像を用いて、畳み込みニューラルネットワークによって推定された自動走行情報を出力させる(#21)。推定された自動走行情報と第2学習用画像に付与されているアノテーションで示される自動走行情報との差(誤差)を算出する(#22)。算出された誤差が最小値未満でなければ(#23No分岐)、重み係数を修正して(#24)、ステップ#21に戻り、誤差を縮小する処理を繰り返す。算出された誤差が最小値未満になれば(#23Yes分岐)、その時点の重み係数を記録する(#25)。
【0042】
用意されている全ての第2学習用画像を用いた学習処理が終了したかどうかチェックされる(#26)。まだ、学習処理に用いられる第2学習用画像が残っていれば(#26Yes分岐)、ステップ#11に戻って、学習処理を続行する。学習処理に用いられる第2学習用画像が残っていなければ(#26No分岐)、記録されている重み係数に基づいて、最終的な重み係数が決定され(#31)、当該重き係数が畳み込みニューラルネットワークである第1演算部41に設定される(#32)。第2学習用画像群から類似する画像をグループ化して、そのグループ毎に誤差が最小となる重み係数を割り当ててもよい。
【0043】
第3学習用画像群と第4学習用画像群とを用いた第2演算部42の学習処理も、上述した第1演算部41の学習処理に準じた方法で行われる。学習された第2演算部42は、前方の既作業領域が車体方向転換可能な領域であると認識された場合、車体方向転換のための旋回走行経路を設定し、方向転換して、次の目標走行経路に進入するための操舵量を示す第2自動走行情報を出力するように機能する。
【0044】
〔別実施の形態〕
(1)上述した実施形態では、自動走行演算部4は、直線(緩やかな湾曲線を含む)状の作業走行を行うための第1自動走行情報を出力するように学習された第1演算部41と、適切な場所で方向転換走行を行うための第1自動走行情報を出力するように学習された第2演算部42とを備えていた。圃場作業車では、さらに、走行障害となる物体(走行障害物)との接触を自動的に回避する機能があれば、好都合である。
図11には、走行障害物を回避する機能を有する第3演算部43が追加された自動走行演算部4のブロック図が示されている。第3演算部43は、第3前段演算部43aと第3後段演算部43bとを含む。第3前段演算部43aは、撮影ユニット3から送られてきた圃場画像(前方画像または俯瞰画像)から、走行障害物の存在を推定する。第3後段演算部43b推定された走行障害物と車体1との接触を回避するための回避走行情報(操舵量、減速指令、停車指令、警告など)を含む第3自動走行情報を生成して出力する。その際、操舵によって走行障害物を回避する場合には、回避走行経路を目標走行経路として設定する。なお、第3自動走行情報の生成時にも、圃場の傾斜度や圃場面の凹凸度などの圃場状態が考慮されてもよい。第3前段演算部43a及び第3後段演算部43bは、一体化可能である。
【0045】
第3前段演算部43a及び第3後段演算部43bは、畳み込みニューラルネットワークで構成されているので、学習処理が必要である。学習用画像は、圃場に走行障害物が存在している圃場画像(第5学習用画像群)と、当該圃場画像において認識されたるべき走行障害物を示すアノテーションや走行障害物回避のための走行を示すアノテーションが付与された画像群(第6学習用画像群)である。なお、走行障害物として、移動性障害物(人や動物)と非移動性障害物(鉄塔など)とが区別して認識されるように、それぞれ別の学習用画像が用意される。学習処理は、
図10のフローチャートに準じて行われる。
【0046】
(2)上述した実施形態では、第1自動走行情報、第2自動走行情報、第3自動走行情報に操舵量が含まれていたが、これに代えて、操舵量などの操作指令は、自動走行情報から操舵量を導出する別の演算部によって生成されるようにしてもよい。この場合、圃場情報から操舵量を推定させる学習は不要となる。
【0047】
(3)上述した実施形態では、自動走行演算部4を構築するための機械学習として畳み込みニューラルネットワークが用いられているが、それ以外の人工ニューラルネットワークが用いられてもよい。また、前段演算部と後段演算部とは、同じ形式の機械学習で構築されてもよいし、異なる形式の機械学習で構築されてもよい。
【0048】
(4)学習処理ユニット6が各圃場作業車の制御系に備えられ、自動走行演算部4と接続されている場合には、手動走行中に撮影ユニット3で取得された撮影画像を学習用画像として用いることができる。アノテーションの付与は運転者によって行うことができる。さらに、運転者による操作や走行軌跡などの情報から、自動的にアノテーション付与を行ってもよい。
【0049】
(5)上述した実施形態では、操舵指令に基づいて操舵輪である前輪11の操舵角を調節することで車体1の走行方向が変更された。クローラ式の走行機構を備えた作業車では、これに代えて、操舵指令に基づいて、左右のクローラの速度を調節することで、車体1の走行方向が変更される。
【0050】
(6)上述した実施形態では、圃場作業車として、トラクタが取り扱われたが、田植機やコンバインなどの他の圃場作業車にも同様な自動走行演算部4を採用することができる。
【産業上の利用可能性】
【0051】
本発明は、圃場を自動走行する圃場作業車に適用可能である。
【符号の説明】
【0052】
3 :撮影ユニット
30 :画像処理部
31 :前カメラ
32 :後カメラ
33 :左カメラ
34 :右カメラ
4 :自動走行演算部
40 :選択部
41 :第1演算部
41a :第1前段演算部
41b :第1後段演算部
42 :第2演算部
42a :第2前段演算部
42b :第2後段演算部
43 :第3演算部
43a :第3前段演算部
43b :第3後段演算部
5 :制御ユニット
50 :入出力信号処理ユニット
52 :自動走行制御部
54 :走行状態検知部
55 :作業状態検知部
6 :学習処理ユニット