(57)【要約】【課題】圃場の状態にかかわらず、作物列間における自己位置の認識が可能な作業車両を提供する。【解決手段】作業車両１は、作業車両から圃場に存在する複数の物体各々までの距離情報を取得する距離センサ１３と、距離情報に基づいて複数の作物列を推定し、推定された作物列のうち隣り合う作物列を対辺とする矩形を認識する矩形認識部４１と、矩形認識部４１によって認識された矩形に基づいて隣り合う作物列間における作業車両の目標走行経路を設定する目標設定部４２と、矩形認識部４１によって認識された矩形に基づいて隣り合う作物列間における作業車両の現在位置を推定し、現在位置の目標走行経路からのずれ量を算出する位置偏差算出部４３Ａとを含む。【選択図】図４
2019154377.tif 000002
【特許請求の範囲】
【請求項１】
複数の作物列が植え付けられた圃場を走行する作業車両であって、
前記作業車両から、前記圃場に存在する複数の物体各々までの距離情報を取得する距離センサと、
前記距離情報に基づいて前記複数の作物列を推定し、前記推定された作物列のうち隣り合う作物列を対辺とする矩形を認識する矩形認識部と、
前記矩形に基づいて前記隣り合う作物列間における前記作業車両の目標走行経路を設定する目標設定部と、
前記矩形に基づいて前記隣り合う作物列間における前記作業車両の現在位置を推定し、前記現在位置の前記目標走行経路からのずれ量を算出する位置偏差算出部とを含む、作業車両。
【請求項２】
前記位置偏差算出部によって算出されたずれ量に基づき、前記作物列間における前記作業車両の位置を前記目標走行経路に近づけるように補正する位置補正部をさらに含む、請求項１に記載の作業車両。
【請求項３】
前記作業車両の方位を検出する方位センサをさらに含み、
前記目標設定部は、前記作業車両の目標方位をも設定するように構成されており、
前記作業車両は、前記方位センサによって検出される前記作業車両の現在方位の、前記目標方位からのずれ量を算出する方位偏差算出部をさらに含む、請求項１または２に記載の作業車両。
【請求項４】
前記方位偏差算出部によって算出されたずれ量に基づき、前記作物列間における前記作業車両の方位を前記目標方位に近づけるように補正する方位補正部をさらに含む、請求項３に記載の作業車両。
【請求項５】
前記矩形認識部は、前記作業車両が前記作物列間を走行中に、前記矩形の認識を繰り返し、
前記目標方位設定部は、前記矩形が認識されるごとに、前記矩形に基づいて前記目標方位を設定し、
前記方位偏差算出部は、前記目標方位が設定されるごとに、前記方位センサによって検出される前記作業車両の現在の方位の、前記目標方位からのずれ量を算出する、請求項３または４に記載の作業車両。
【請求項６】
複数の作物列が植え付けられた圃場に作業車両の目標走行経路を設定するとともに前記作業車両の前記目標走行経路からのずれ量を算出するずれ量算出プログラムであって、
コンピュータを、
前記作業車両から前記圃場に存在する複数の物体各々までの距離情報に基づいて、前記複数の作物列を推定し、前記推定された作物列のうち隣り合う作物列を対辺とする矩形を認識する矩形認識手段、
前記矩形に基づいて前記隣り合う作物列間における前記作業車両の目標走行経路を設定する目標設定手段、および
前記矩形に基づいて前記隣り合う作物列間における現在の位置を推定し、前記現在の位置の前記目標走行経路からのずれ量を算出する位置偏差算出手段、
として機能させるためのずれ量算出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、作業車両およびずれ量算出プログラムに関する。
【背景技術】
【０００２】
特許文献１には、畦に沿って走行する作業機が開示されている。特許文献１では、畝に対する作業機の角度と、畝の中心からの作業機の位置ずれ量とに基づいて、作業機の自動走行制御が行われる。
特許文献２には、機体の進行方向が左右作物列の片側に寄ったときに、自動走行制御を行う収穫機が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−２０８８７１号公報
【特許文献２】特開平１１−２７５９１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示されているのは、エッジを比較的容易に検出できる畝が存在する圃場を対象とした技術である。例えば、畝が存在しない果樹園の場合、作物の葉や枝等で幹が隠れてしまうので、作物列を正確に検出することができないおそれがある。よって、特許文献１のような走行制御を、畝が存在しない圃場に採用することは難しい。
また、特許文献２では、撮影手段によって取得した画像を回転させ、この回転画像に基づいて畝の中心位置からの作業機のずれ量を算出し、畝に対する作業機の進行方向における角度を算出する。これは、作業機の進行方向に沿って畝がまっすぐに延びていることを前提とした処理である。よって、特許文献２では、畝がまっすぐに延びていない場合、作業機の位置および角度（方位）を認識することは困難である。
【０００５】
特許文献２においても、各作物列がまっすぐに延びていない場合の収穫機の位置および方位については、考慮されていない。
本発明は、圃場の状態にかかわらず、作物列間における自己位置の認識が可能な作業車両およびずれ量算出プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
この発明による作業車両は、複数の作物列が植え付けられた圃場を走行する作業車両であって、前記作業車両から、前記圃場に存在する複数の物体各々までの距離情報を取得する距離センサと、前記距離情報に基づいて前記複数の作物列を推定し、前記推定された作物列のうち隣り合う作物列を対辺とする矩形を認識する矩形認識部と、前記矩形に基づいて前記隣り合う作物列間における前記作業車両の目標走行経路を設定する目標設定部と、前記矩形に基づいて前記隣り合う作物列間における前記作業車両の現在位置を推定し、前記現在位置の前記目標走行経路からのずれ量を算出する位置偏差算出部とを含む。
【０００７】
この構成では、隣り合う作物列間における作業車両の目標走行経路を自動的に設定できるとともに、作業車両の現在位置の目標走行経路からのずれ量を取得することができる作業車両を実現することができる。
また、この構成では、隣り合う作物列を対辺とする矩形が認識され、認識された矩形に基づいて、目標走行経路が設定されるとともに作業車両の現在位置が推定される。このため、例えば、隣り合う作物列が途中で屈曲している場合のように、隣り合う作物列の傾きが途中で変化している場合には、隣り合う作物列における作業車両近傍の傾きに応じた矩形が認識される。これにより、隣り合う作物列間にこれらの作物列の傾きの変化に対応した目標走行経路を設定することができるとともに、隣り合う作物列間における作業車両の位置を推定することができる。つまり、この構成では、作物列の屈曲等といった圃場の状態にかかわらず、作物列間における作業車両の自己位置を認識することが可能となる。
【０００８】
この発明の一実施形態では、前記位置偏差算出部によって算出されたずれ量に基づき、前記作物列間における前記作業車両の位置を前記目標走行経路に近づけるように補正する位置補正部をさらに含む。
この構成では、作業車両の位置を目標走行経路に近づくように補正できるので、作業車両を目標走行経路に沿って自動走行させることが可能となる。
【０００９】
この発明の一実施形態では、前記作業車両の方位を検出する方位センサをさらに含み、前記目標設定部は、前記作業車両の目標方位をも設定するように構成されており、前記作業車両は、前記方位センサによって検出される前記作業車両の現在方位の、前記目標方位からのずれ量を算出する方位偏差算出部をさらに含む。
この構成では、作業車両の現在方位の目標方位からのずれ量を取得することができる。
【００１０】
この発明の一実施形態では、前記方位偏差算出部によって算出されたずれ量に基づき、前記作物列間における前記作業車両の方位を前記目標方位に近づけるように補正する方位補正部をさらに含む。
この構成では、作業車両の方位が目標方位に近づくように、作業車両を自動走行させることが可能となる。
【００１１】
この発明の一実施形態では、前記矩形認識部は、前記作業車両が前記作物列間を走行中に、前記矩形の認識を繰り返し、前記目標方位設定部は、前記矩形が認識されるごとに、前記矩形に基づいて前記目標方位を設定し、前記方位偏差算出部は、前記目標方位が設定されるごとに、前記方位センサによって検出される前記作業車両の現在の方位の、前記目標方位からのずれ量を算出する。
【００１２】
この構成では、例えば、隣り合う作物列が途中で屈曲している場合のように、隣り合う作物列の傾きが途中で変化している場合には、隣り合う作物列における作業車両近傍の傾きに応じた矩形が認識される。これにより、隣り合う作物列の傾きの変化に対応した目標方位を設定することができるとともに、作業車両の現在方位の目標方位からのずれ量を取得できる。
【００１３】
この発明によるずれ量算出プログラムは、複数の作物列が植え付けられた圃場に作業車両の目標走行経路を設定するとともに前記作業車両の前記目標走行経路からのずれ量を算出するずれ量算出プログラムであって、コンピュータを、前記作業車両から前記圃場に存在する複数の物体各々までの距離情報に基づいて、前記複数の作物列を推定し、前記推定された作物列のうち隣り合う作物列を対辺とする矩形を認識する矩形認識手段、前記矩形に基づいて前記隣り合う作物列間における前記作業車両の目標走行経路を設定する目標設定手段、および前記矩形に基づいて前記隣り合う作物列間における現在の位置を推定し、前記現在の位置の前記目標走行経路からのずれ量を算出する位置偏差算出手段、として機能させる。
【００１４】
このずれ量算出プログラムでは、隣り合う作物列間における作業車両の目標走行経路を自動的に設定できるとともに、作業車両の現在位置の目標走行経路からのずれ量を取得することができる。
また、このずれ量算出プログラムでは、隣り合う作物列を対辺とする矩形が認識され、認識された矩形に基づいて、目標走行経路が設定されるとともに作業車両の現在位置が推定される。このため、例えば、隣り合う作物列が途中で屈曲している場合のように、隣り合う作物列の傾きが途中で変化している場合には、隣り合う作物列における作業車両近傍の傾きに応じた矩形が認識される。これにより、隣り合う作物列間にこれらの作物列の傾きの変化に対応した目標走行経路を設定することができるとともに、隣り合う作物列間における作業車両の位置を推定することができる。つまり、この構成では、作物列の屈曲等といった圃場の状態にかかわらず、作物列間における作業車両の自己位置を認識することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】図１は、この発明の一実施形態に係る作業車両の概略構成を示す側面図である。
【図２】図２は、図１の作業車両の概略構成を示す正面図である。
【図３】図３は、作業車両が圃場を自動走行する様子を示す模式図である。
【図４】図４は、作業車両の主要な電気的構成を示すブロック図である。
【図５】図５は、作物列に含まれる作物に対して距離センサからレーザ光が照射されている様子を示す模式的な斜視図である。
【図６】図６は、図５を上方から見た模式的な平面図である。
【図７Ａ】図７Ａは、矩形認識処理の手順を説明するための模式図である。
【図７Ｂ】図７Ｂは、図７Ａの次の手順を説明するための模式図である。
【図７Ｃ】図７Ｃは、図７Ｂの次の手順を説明するための模式図である。
【図７Ｄ】図７Ｄは、図７Ｃの次の手順を説明するための模式図である。
【図８】図８は、目標設定部の動作を説明するための模式図である。
【図９】図９は、偏差算出部の動作を説明するための模式図である。
【図１０】図１０は、自動走行制御部による自動走行制御処理の全体的な手順を示すフローチャートである。
【図１１】図１１は、隣り合う作物列の傾きが途中で変化している場合においても作物列の傾きの変化に応じて目標方位を修正できることを説明するための模式図である。
【発明を実施するための形態】
【００１６】
以下では、この発明の実施形態を、添付図面を参照して詳細に説明する。
図１は、この発明の一実施形態に係る作業車両の概略構成を示す側面図である。図２は、図１の作業車両の概略構成を示す正面図である。
作業車両１は、この実施形態では、薬液散布用の作業車両である。作業車両１は、走行装置２と、走行装置２上に支持された機体フレーム３と、機体フレーム３上に設けられた薬液散布装置４とを含む。この実施形態では、走行装置２は、クローラ式であり、左右の走行装置２Ｌ，２Ｒとを含む。走行装置２は、ホイル式であってもよい。なお、以下において、ホイル式の走行装置を有する車両の略図を、作業車両１の略図として用いる場合がある。
【００１７】
機体フレーム３の後部に駆動源としてのエンジン５が配置されている。機体フレーム３の前部には、支持枠６が設けられている。支持枠６は、機体フレーム３に支持された左右一対のマスト６Ａ，６Ｂと、これらのマスト６Ａ，６Ｂの上端どうしを連結する第１連結部材６Ｃと、これらのマスト６Ａ，６Ｂの長さ中間部どうしを連結する第２連結部材６Ｄとを含む。
【００１８】
薬液散布装置４は、薬液タンク７と、ノズルユニット８と、ポンプユニット９とを含む。薬液タンク７は、機体フレーム３上の前後中央部に配置されている。薬液タンク７には薬液が収容される。薬液は、作物または土壌に散布される液体であればよく、農薬、水等を含む。ノズルユニット８は、支持枠６における上端寄りの位置に取り付けられている。ノズルユニット８は、左右方向に延びた中空体状であり、両端に薬液を噴出させるためのノズル８ａ，８ｂを有している。ノズルユニット８には、薬液流入口（図示略）が形成されている。
【００１９】
ポンプユニット９は、図１および図２に図示していないが、この実施形態では、エンジン５の動力によって回転駆動されるポンプ９Ａ（図４参照）と、エンジン５の回転力をポンプ９Ａに伝達したり遮断したりするクラッチ機構９Ｂ（図４参照）等を含む。ポンプ９Ａの吸込口は、ホース１０を介して薬液タンク７に接続されている。また、ポンプ９Ａの吐出口は、ホース１１を介してノズルユニット８の薬液流入口に接続されている。ポンプ９Ａが回転駆動されると、薬液タンク７内の薬液がポンプ９Ａを介してノズルユニット８に供給され、ノズル８ａ，８ｂから薬液が噴出される。
【００２０】
作業車両１には、物体までの距離を測定するための距離センサ１３および作業車両１の方位（姿勢）を検出するための方位センサ（姿勢センサ）１４（図４参照）が搭載されている。距離センサ１３は、作業車両１の前部の幅中央位置に配置されている。
距離センサ１３としては、物体までの距離を測定できるものであればよく、例えば、レーザ光を利用して物体までの距離を測定するセンサ、カメラを利用して物体までの距離を測定するセンサ等が用いられる。この実施形態では、距離センサ１３としては、例えば、レーザ光をパルス状に照射して物体に反射されて帰ってくるまでの時間から距離を測定するＬＩＤＡＲ（Light Detection and Ranging, Laser Imaging Detection and Ranging）が用いられている。特に、この実施形態では、距離センサ１３としては、レーザ光を可動ミラーによって方向を変えてスキャンすることで、物体の方位も検出できるスキャンＬＩＤＡＲが用いられている。
【００２１】
方位センサ（姿勢センサ）１４としては、ジャイロセンサ、地磁気センサ、ＩＭＵ（Inertial Measurement Unit）等を用いることができる。
図１および図２には図示されていないが、作業車両１には、エンジン５の駆動力を左右の走行装置２Ｌ，２Ｒに伝達して、左右の走行装置２Ｌ，２Ｒを独立して駆動制御するクローラ制御機構１５（図４参照）が設けられている。クローラ制御機構１５は、左右の走行装置２Ｌ，２Ｒを独立して駆動させることにより、作業車両１に前進、後進、旋回等を行わせるための機構である。具体的には、クローラ制御機構１５によって、左右の走行装置２Ｌ，２Ｒが同一方向に同一速度で回転駆動されると、作業車両１は前進または後進する。一方、クローラ制御機構１５によって、左右の走行装置２Ｌ，２Ｒが同一方向に異なる速度で回転駆動されるか、左右の走行装置２Ｌ，２Ｒが互いに逆方向に回転駆動されると、作業車両１は旋回する。
【００２２】
この実施形態では、作業車両１は、図３に示すように、作物Ｓが列状に植えられている圃場Ｈを自動走行しながら、作物Ｓに薬液を散布する。この実施形態では、作物Ｓは果樹であり、圃場Ｈは果樹園である。この明細書では、作物Ｓの列を作物列Ｌということにする。図３の例では、縦方向に並んだ作物Ｓの列が作物列Ｌであり、圃場Ｈ内には５つの作物列Ｌ１〜Ｌ５が横方向に間隔をおいて植え付けられている。各作物列Ｌ１〜Ｌ５には、複数の作物Ｓがほぼ等間隔で並んで配置されている。これらの作物列Ｌ１〜Ｌ５を左から順に、第１作物列Ｌ１、第２作物列Ｌ２、第３作物列Ｌ３、第４作物列Ｌ４および第５作物列Ｌ５ということにする。また、隣り合う作物列間の空間のうち図３の下側の端部を手前側端といい、図３の上側の端部を奥側端ということにする。
【００２３】
作業車両１は、例えば、第１作物列Ｌ１と第２作物列Ｌ２との間の手前側端付近を自動走行開始位置として、これらの作物列間に目標走行経路を設定しながら、当該作物列間を奥側端に向かって自動走行する。作業車両１が当該作物列間の奥側端に到達すると、作業車両１は進行方向に向かって右方向に旋回して、第２作物列Ｌ２と第３作物列Ｌ３との間の奥側端に移動する。そして、作業車両１は、第２作物列Ｌ２と第３作物列Ｌ３との間に目標走行経路を設定しながら、当該作物列間を手前側端に向かって自動走行する。
【００２４】
作業車両１が当該作物列Ｌ２，Ｌ３間の手前側端に到達すると、作業車両１は進行方向に向かって左方向に旋回して、第３作物列Ｌ３と第４作物列Ｌ４の間の手前側端に移動する。そして、作業車両１は、第３作物列Ｌ３と第４作物列Ｌ４との間に目標走行経路を設定しながら、当該作物列間を奥側端に向かって自動走行する。以下同様な動作により、作業車両１は、図３に破線で示すように移動する。そして、例えば、作業車両１が第４作物列Ｌ４と第５作物列Ｌ５との間の手前側端に到達した後、進行方向に向かって左方向に旋回すると、自動走行が停止される。自動走行中は、クラッチ機構９Ｂを介してポンプ９Ａが駆動され、ノズル８ａ，８ｂから薬剤が噴出される。
【００２５】
以下において、ある隣り合う作物列間において、当該作物列間の手前側端と奥側端のうち、作業車両１の走行が開始される側の端を当該作物列間の走行始端といい、走行始端と反対側の端を当該作物列間の走行終端という場合がある。また、隣り合う作物列の間隔Ｗを列間隔という場合がある。
ユーザ等は、図示しない遠隔操作装置を操作することによって作業車両１を遠隔操作することが可能であるが、このような遠隔操作技術はよく知られているので、遠隔操作を行うための具体的な構成の説明については省略する。
【００２６】
図４は、作業車両１の主要な電気的構成を示すブロック図である。
作業車両１は、作業車両１の動作を制御するための制御装置３０を備えている。
制御装置３０には、距離センサ１３、方位センサ１４、エンジンコントローラ２１、走行コントローラ２２、クラッチ作動装置２３、記憶部２４等が接続されている。
距離センサ１３は、前述したように、圃場Ｈに存在する複数の物体各々までの距離情報を検出するものである。複数の物体の主たる対象は、作物Ｓである。方位センサ１４は、前述したように、作業車両１の方位を検出するためのものである。
【００２７】
エンジンコントローラ２１は、エンジン５の回転数等を制御するものである。具体的には、エンジンコントローラ２１は、エンジン５に設けられる燃料噴射装置としてのコモンレール装置１６を制御することによって、エンジン５の回転数を制御する。エンジンコントローラ２１は、コモンレール装置１６を制御することによって、エンジン５への燃料の供給を停止させ、エンジン５の駆動を停止させることもできる。
【００２８】
走行コントローラ２２は、クローラ制御機構１５を制御することによって、作業車両１の前進、後進、旋回および停止を制御する。クラッチ作動装置２３は、ポンプユニット９内のクラッチ機構９Ｂを締結・解放させるための装置である。記憶部２４は、ハードディスク、不揮発性メモリ等の記憶デバイスから構成されている。
制御装置３０は、ＣＰＵおよびメモリ（ＲＯＭ，ＲＡＭ等）３１を備えたマイクロコンピュータを含む。制御装置３０は、圃場Ｈ内の隣り合う作物列Ｌ間に目標走行経路を設定しながら、作業車両１を目標走行経路に沿って自動走行させるための自動走行制御部３２を含む。自動走行制御部３２は、矩形認識部４１と、目標設定部４２と、偏差算出部４３と、補正部４４とを含む。
【００２９】
矩形認識部４１は、作業車両１から圃場Ｈに存在する複数の物体各々までの距離情報に基づいて、複数の作物列を推定し、推定された作物列のうち隣り合う作物列を対辺とする矩形を認識する。作業車両１から圃場Ｈに存在する複数の物体各々までの距離情報は、距離センサ１３によって検出された各物体までの距離情報である。以下、矩形認識部４１の動作について詳しく説明する。
【００３０】
図５は、作物列に含まれる作物Ｓに対して距離センサ１３からレーザ光が照射されている様子を示す模式的な斜視図である。図６は、図５を上方から見た模式的な平面図である。図５および図６には、隣り合う２つの作物列Ｌａ，Ｌｂが示されている。
図６を参照して、距離センサ１３におけるレーザ光出力位置を原点Ｏとし、原点Ｏを通りかつ作業車両１の左右方向に平行な直線をＸ軸とし、原点Ｏを通り作業車両１の前後方向に平行な直線をＹ軸にとった座標系をセンサ座標系ということにする。
【００３１】
距離センサ１３からは、レーザ光が方向を変えて出射される。レーザ光の出射方向（出射角度）θを、＋Ｘ軸とレーザ光とのなす角であって、原点Ｏを中心とした反時計回りの角度で表すことにする。レーザ光が出射角度θで出力されたときに、ある物体までの距離ｒが検出された場合には、距離ｒおよび出射角度θとの組み合わせ（ｒ，θ）が、当該物体に対する距離情報として取得される。距離情報が（ｒ，θ）である物体のセンサ座標系のＸ座標値ｘおよびＹ座標値ｙは、次式（１）によって表される。
【００３２】
ｘ＝ｒcosθ
ｙ＝ｒsinθ…（１）
矩形認識部４１は、まず、前記式（１）に基づいて、距離センサ１３からの距離が検出された物体各々の位置（ｘ，ｙ）を検出する。
次に、矩形認識部４１は、各物体の位置（ｘ，ｙ）に基づいて、複数の作物列Ｌを検出する。
【００３３】
次に、矩形認識部４１は、隣り合う作物列ペアのうちから、例えば、作業車両１の左右中心を通りかつ作業車両１の前後方向に延びる直線を、隣り合う２つの作物列が挟むような配置にある作物列ペアを、目標作物列ペアとして選択する。
次に、矩形認識部４１は、目標作物列ペアを、当該目標作物列ペアを構成する２つの作物列を対辺とする矩形（長方形または正方形）として認識する。言い換えれば、矩形認識部４１は、目標作物列ペアに近似する矩形を認識する。以下、この処理を矩形認識処理ということにする。以下において、矩形の隣接する２つの辺のうちの一方の辺を第１辺といい、他方の辺を第２辺ということにする。
【００３４】
以下、図７Ａ〜図７Ｄを参照して、矩形認識処理の一例について説明する。
例えば、図７Ａに示すように、２つの作物列ＬａおよびＬｂが目標作物列ペアとして選択されたとする。矩形認識部４１は、まず、目標作物列ペアの重心ｇおよび傾きａを算出する。具体的には、矩形認識部４１は、作物列Ｌａの端点Ｐ１，Ｐ２の座標と、作物列Ｌａ，Ｌｂの端点Ｐ３，Ｐ４の座標を取得する。そして、矩形認識部４１は、この４点を頂点とする四角形の重心を目標作物列ペアの重心ｇとして算出する。目標作物列ペアの傾きａは、例えば、２つの作物列Ｌａ，Ｌｂの間のほぼ中央を通る直線Ｋ０の傾きであり、例えば最小二乗法等によって算出できる。以下において、このようにして算出された目標作物列ペアの傾きａを、「第１の傾きａ１」という場合がある。
【００３５】
次に、図７Ｂに示すように、矩形認識部４１は、端点Ｐ１〜Ｐ４のうちＸ座標値が最も大きい端点（この例ではＰ４）を通り、第１の傾きａ１を有する第１の直線Ｋ１を求める。そして、矩形認識部４１は、第１の直線Ｋ１と、端点Ｐ１〜Ｐ４のうちＸ座標値が最も小さい端点（この例ではＰ２）との距離を、第１辺の長さｑ１として算出する。
次に、矩形認識部４１は、ＸＹ平面内において、第１の傾きａ１を有する直線に対して直交する直線の傾きを第２の傾きａ２として求める。そして、図７Ｃに示すように、矩形認識部４１は、端点Ｐ１〜Ｐ４のうちＹ座標値が最も大きい端点（この例ではＰ３）を通り、第２の傾きａ２を有する第２の直線Ｋ２を求める。そして、矩形認識部４１は、第２の直線Ｋ２と、端点Ｐ１〜Ｐ４のうちＹ座標値が最も小さい端点（この例ではＰ２）との距離を、第２辺の長さｑ２として算出する。
【００３６】
最後に、矩形認識部４１は、前記重心ｇを重心として持ち、傾きが第２の傾きａ２でかつ長さがｑ１である第１辺を持ち、傾きが第１の傾きａ１でかつ長さがｑ２の第２辺を持つ矩形を、目標作物列ペアに近似する矩形として認識する。目標作物列ペアが図７Ａの場合、この目標作物列ペアに近似する矩形は図７ＤにＲで示すようになる。
なお、矩形認識部４１は、前述した方法以外の方法によって、目標作物列ペアに近似する矩形を求めてもよい。目標作物列ペアに近似する矩形を求める方法としては、例えば特開２０１０−１０８１３５号公報の背景技術として記載されている各種の方法や、同公報の実施形態として記載されている各種方法を用いることができる。
【００３７】
図４に戻り、目標設定部４２は、矩形認識部４１によって認識された矩形に基づいて、選択された作物列ペアを構成する２つの作物列間における作業車両１の目標走行経路および目標方位を設定する。
具体的には、目標設定部４２は、図８に示すように、矩形Ｒの左右両辺の間隔を目標作物列ペアの列間隔Ｗとして特定する。また、矩形Ｒの左右両辺の中央を通る直線を目標作物列ペアの中心線ＣＬとして特定する。そして、目標設定部４２は、中心線ＣＬに対して、所定のオフセット量ΔＷだけ一方の作物列（図８の例では左側の作物列Ｌａ）側にずれた直線を、目標走行経路Ｔとして設定するとともに、目標走行経路Ｔに沿う方向を目標方位として設定する。
【００３８】
なお、中心線ＣＬに対してオフセット量ΔＷだけずらす方向は、目標作物列ペアによって異なる。例えば図３の第１作物列Ｌ１と第２作物列Ｌ２とが目標作物列ペアである場合には、中心線ＣＬに対してオフセット量ΔＷだけずらす方向は第１作物列Ｌ１側の方向（進行方向に向かって左側方向）となる。一方、図３の第２作物列Ｌ２と第３作物列Ｌ３とが目標作物列ペアである場合には、中心線ＣＬに対してオフセット量ΔＷだけずらす方向は第２作物列Ｌ２側の方向（進行方向に向かって右側方向）となる。
【００３９】
図４に戻り、偏差算出部４３は、目標走行経路Ｔからのずれ量および目標方位からのずれ量を算出する。偏差算出部４３は、位置偏差算出部４３Ａと、方位偏差算出部４３Ｂとを含む。位置偏差算出部４３Ａは、矩形認識部４１によって認識された矩形Ｒに基づいて、目標作物列ペアを構成する２つの作物列間における作業車両１の現在位置を推定し、現在位置の目標走行経路からのずれ量（位置ずれ量）を算出する。方位偏差算出部４３Ｂは、方位センサ１４によって検出された作業車両１の現在方位の目標方位からのずれ量（方位ずれ量）を算出する。
【００４０】
具体的には、位置偏差算出部４３Ａは、図９に示すように、センサ座標系における作業車両１の位置および方位を、目標走行経路ＴをＹ’軸としかつＹ’軸に直交しかつ作業車両１の重心を通る線をＸ’軸とする作物列座標系の位置および方位に変換する。変換後の作業車両１の位置および方位が、目標作物列ペアを構成する２つの作物列間における作業車両１の現在の位置および方位に相当する。
【００４１】
次に、位置偏差算出部４３Ａは、図９に示すように、作物列座標系の原点Ｏ’から目標走行経路Ｔに沿って所定距離ｆだけ進行方向に進んだ位置を目標位置Ｑとして設定する。そして、位置偏差算出部４３Ａは、目標位置Ｑと作業車両１の重心位置Ｇとを結ぶ直線と、Ｙ’軸とのなす角ηを、目標走行経路Ｔに対する作業車両１の位置ずれ量（位置ずれ角）として算出する。原点Ｏ’と作業車両１の重心位置Ｇまでの距離をΔｘとすると、位置ずれ量ηは、次式（２）から算出することができる。
【００４２】
η＝cos−１｛ｆ／（Δｘ２＋ｆ２）１／２｝    …（２）
方位偏差算出部４３Ｂは、作業車両１の向き（前後方向）と目標方向（Ｙ’軸）とのなす角δを方位ずれ量として算出する。方位ずれ量δは、作業車両１の重心Ｇを通りかつ作業車両１の前後方向に延びる直線とＹ’軸との交点のＹ’座標値を求めることにより、位置ずれ量ηと同様な方法によって算出することができる。
【００４３】
図４に戻り、補正部４４は、位置補正部４４Ａと方位補正部４４Ｂとを含む。位置補正部４６Ａは、位置偏差算出部４３Ａによって算出された位置ずれ量ηに基づいて、作物列間における作業車両１の位置を目標走行経路Ｔに近づけるように補正する。方位補正部４４Ｂは、方位偏差算出部４３Ｂによって算出された方位ずれ量δに基づき、作物列間における作業車両１の方位を目標方位に近づけるように補正する。つまり、この実施形態では、補正部４４は、位置ずれ量ηが零に近づくとともに、方位ずれ量δが零に近づくように、クローラ制御機構１５を制御する。
【００４４】
図１０は、自動走行制御部３２による自動走行制御処理の全体的な手順を示すフローチャートである。
作業車両１の動作モードとして、サーチモードとランモードとがある。サーチモードとは、作物列間に突入する前に、作物列認識処理を行うことにより、目標走行経路および目標方位の設定等を行うモードをいう。作物列認識処理とは、矩形認識部４１、目標設定部４２および偏差算出部４３によって、目標走行経路Ｔおよび目標方位の設定、列間隔Ｗ、目標走行経路Ｔからの位置ずれ量η、目標方位からの方位ずれ量δ等を算出する処理をいう。
【００４５】
ランモードとは、作物列認識処理を行いながら、位置ずれ量ηおよび方位ずれ量δが零に近づくように作業車両１を走行させるモードをいう。
自動走行制御を行うに際しては、ユーザは、列間隔Ｗと目標旋回回数Ｎとを作業車両１に設定する。目標旋回回数Ｎとは、自動運転が開始されてから自動運転を停止すべき位置に作業車両１が到達するまでの間に行われると予測される作業車両１の旋回回数である。ユーザによって設定された列間隔Ｗと目標旋回回数Ｎは、メモリ３１に記憶される。また、ユーザは、例えば遠隔操作によって、作業車両１を自動走行の開始位置付近まで移動させる。そして、ユーザは、例えば遠隔操作によって、自動走行制御を開始させる。
【００４６】
自動走行制御が開始されると、自動走行制御部３２は、動作モードをサーチモードに設定する（ステップＳ１）。そして、自動走行制御部３２は、作業車両１の旋回回数が目標旋回回数Ｎに達したか否かを判別する。
作業車両１の旋回回数が目標旋回回数Ｎに達していなければ（ステップＳ２：ＮＯ）、自動走行制御部３２は、前述した作物列認識処理を行う（ステップＳ３）。
【００４７】
次に、自動走行制御部３２は、作物列検出が成功したか否かを判別する（ステップＳ４）。具体的には、自動走行制御部３２は、作物列認識処理によって算出された位置ずれ量ηが所定の第１範囲内でかつ作物列認識処理によって算出された方位ずれ量δが所定の第２範囲内にあるという成否判定条件を満たしていれば、作物列検出が成功したと判別する。一方、作物列認識処理によって、目標作物列ペアが特定されなかった場合や、目標作物列ペアが特定されたとしても成否判定条件を満たしていない場合には、自動走行制御部３２は、作物列検出が失敗したと判別する。
【００４８】
作物列検出が失敗したと判別された場合には（ステップＳ４:ＮＯ）、自動走行制御部３２は、動作モードがサーチモードであるか否かを判別する（ステップＳ５）。動作モードがサーチモードである場合には（ステップＳ５：ＹＥＳ）、自動走行制御部３２は、作業車両１の位置を変更して、再度、作物列認識処理を行うために、作業車両１を移動させる（ステップＳ６）。
【００４９】
具体的には、自動走行制御部３２は、ステップＳ３の作物列認識処理において、目標作物列ペアが特定されていなかった場合には、作業車両１を単に所定量だけ後退させるようにしてもよい。一方、ステップＳ３の作物列認識処理において、目標作物列ペアが特定されている場合には、自動走行制御部３２は、当該目標作物列ペアを構成する２つの作物列間の中心位置側に作業車両１を移動させるようにしてもよい。ステップＳ６の処理が終了すると、自動走行制御部３２は、ステップＳ２に戻る。
【００５０】
ステップＳ５において、動作モードがランモードであると判別された場合には（ステップＳ５：ＮＯ）、自動走行制御部３２は、ステップＳ２に戻る。
ステップＳ４において、作物列検出が成功したと判別された場合には（ステップＳ４:ＹＥＳ）、自動走行制御部３２は、メモリ３１内の列間隔Ｗを更新する（ステップＳ７）。具体的には、自動走行制御部３２は、メモリ３１に記憶されている列間隔Ｗを、ステップＳ３の作物列認識処理によって取得した列間隔Ｗに書き換える。
【００５１】
次に、自動走行制御部３２は、動作モードがサーチモードであるか否かを判別する（ステップＳ８）。動作モードがサーチモードである場合には（ステップＳ８：ＹＥＳ）、自動走行制御部３２は、基準方位を設定する（ステップＳ９）。具体的には、自動走行制御部３２は、ステップＳ３で算出した方位ずれ量δおよび方位センサ１４によって現在検出されている作業車両１の方位を用いて、ステップＳ３で設定された目標方位を、方位センサ１４によって検出される方位に換算する。そして、自動走行制御部３２は、換算後の方位を基準方位としてメモリ３１に記憶する。これにより、方位センサ１４によって検出される作業車両１の方位と基準方位との差を、目標方位に対する作業車両１の方位の方位ずれ量として検出できるようになる。
【００５２】
次に、自動走行制御部３２は、動作モードをランモードに設定する（ステップＳ１０）。そして、自動走行制御部３２は、ステップＳ１１に移行する。ランモードにおいては、自動走行制御部３２の補正部４４は、位置ずれ量ηおよび方位ずれ量δが零に近づくように、クローラ制御機構１５を制御する。
ステップＳ８において、動作モードがランモードであると判別された場合には（ステップＳ８：ＮＯ）、自動走行制御部３２は、ステップＳ１１に移行する。ステップＳ１１では、自動走行制御部３２は、ステップＳ４の判定結果が所定回数以上連続して作物列検出成功であるか否かを判別する。
【００５３】
ステップＳ４の判定結果が所定回数以上連続して作物列検出成功である場合には（ステップＳ１１：ＹＥＳ）、自動走行制御部３２は、基準方位を更新する（ステップＳ１２）。具体的には、自動走行制御部３２は、ステップＳ３で設定された方位ずれ量δおよび方位センサ１４によって現在検出されている作業車両１の方位を用いて、ステップＳ３で設定された目標方位を、方位センサ１４によって検出される方位に換算する。そして、自動走行制御部３２は、メモリ３１に記憶されている基準方位を、換算後の方位に書き換える。この後、自動走行制御部３２はステップＳ１３に移行する。
【００５４】
ステップＳ１１において、ステップＳ４の判定結果が所定回数以上連続して作物列検出成功ではないと判別された場合には（ステップＳ１１：ＮＯ）、自動走行制御部３２は、基準方位を更新することなく、ステップＳ１３に移行する。ステップＳ４の判定結果が所定回数以上連続して作物列検出成功である場合のみ、基準方位を更新しているのは、作物列認識処理がノイズの影響等によって正確に行われなかった場合等に基準方位が更新されるのを抑制するためである。
【００５５】
ステップＳ１３では、自動走行制御部３２は、作業車両１が作物列間の走行終端（列終端）に到着したか否かを判別する。自動走行制御部３２は、例えば、目標作物列ペア間の走行終端から所定距離だけ手前位置に作業車両１が到達したときに走行距離の測定を開始し、測定された走行距離が前記所定距離に達したときに、作業車両１が作物列間の走行終端に到着したと判別する。自動走行制御部３２は、目標作物列ペア間の走行終端から所定距離だけ手前位置に作業車両１が到達したときに計時を開始し、前記所定距離を作業車両１が走行するのに必要な時間が経過したときに作業車両１が作物列間の走行終端に到着したと判別するようにしてもよい。
【００５６】
作業車両１が目標作物列ペア間の走行終端に到着していない場合には（ステップＳ１３：ＮＯ）、自動走行制御部３２は、ステップＳ２に戻る。
ステップＳ１３において、作業車両１が目標作物列ペア間の走行終端に到着したと判別された場合には（ステップＳ１３：ＹＥＳ）、自動走行制御部３２は、次の作物列間の走行始端まで作業車両１を移動させるために、作業車両１を旋回させる（ステップＳ１４）。具体的には、自動走行制御部３２は、クローラ制御機構１５を制御して、作業車両１を所定の旋回方向に約１８０度旋回させる。旋回半径は、メモリ３１に記憶されている列間隔Ｗの１／２に設定される。
【００５７】
所定の旋回方向は、予め設定された１回目の走行終端での旋回方向と、今回の旋回が何回目の旋回であるかという情報に基づいて決定する。例えば、１回目の終端での旋回方向が右である場合には、今回の旋回が奇数回目であれば旋回方向は右方向となり、今回の旋回が偶数回目であれば旋回方向は左方向となる。一方、１回目の終端での旋回方向が左である場合には、今回の旋回が奇数回目であれば旋回方向は左方向となり、今回の旋回が偶数回目であれば旋回方向は右方向となる。
【００５８】
ステップＳ１４の処理が終了すると、自動走行制御部３２は、ステップＳ２に戻る。
ステップＳ２において、作業車両１の旋回回数が目標旋回回数Ｎに達していると判別された場合には（ステップＳ２：ＹＥＳ）、自動走行制御部３２は、自動走行制御を終了させる。
図１４のフローチャートでは、自動走行制御部３２は、ステップＳ１４の旋回後に、ステップＳ２に戻っているが、ステップＳ１４の旋回後に、ステップＳ１に戻るようにしてもよい。この場合には、ステップＳ１４の旋回後に、動作モードがサーチモードに設定されるので、作業車両は一旦停止される。
【００５９】
圃場Ｈによっては、隣り合う作物列Ｌが直線状ではなく途中で屈曲している場合もある。言い換えれば、隣り合う作物列Ｌの傾きが途中で変化している場合がある。このような場合には、作業車両１の目標走行経路の方向（目標方位）を隣り合う作物列Ｌの傾きの変化に応じて変化させる必要がある。前述の実施形態では、自動走行中に作物列認識処理（ステップＳ３参照）によって認識される矩形に基づいて、目標方位（基準方位）を更新しているため、作業車両１の目標方位を作物列の傾きの変化に応じて変化させることができる。この点について、図１１を用いて説明する。
【００６０】
図１１では、目標作物列ペアを構成する２つの作物列Ｌａ，Ｌｂが、それぞれ長さ方向の中間位置Ｐａ，Ｐｂ付近で右方向に屈曲している。作業車両１は、作物列Ｌａ，Ｌｂ間を図１１の紙面の下側から上側に向かって自動走行するものとする。説明の便宜上、図１１の作物列間の下側の端が走行始点であり、作物列間の上側の端が走行終点であるものとする。
【００６１】
まず、自動走行制御部３２は、作物列Ｌａ，Ｌｂ間における走行始点から作物列Ｌａ，Ｌｂの屈曲点Ｐａ，Ｐｂまでの部分に対応した第１矩形Ｒ１を認識する。第１矩形Ｒ１の左右両辺の傾き（目標方位）は、作物列Ｌａ，Ｌｂにおける走行始点から作物列Ｌａ，Ｌｂの屈曲点Ｐａ，Ｐｂまでの部分の平均的な傾きに応じた角度となる。したがって、作業車両１は矢印Ｖ１のように走行する。
【００６２】
作業車両１が作物列Ｌａ，Ｌｂの屈曲点Ｐａ，Ｐｂに近づくと、自動走行制御部３２は、作物列Ｌａ，Ｌｂにおける屈曲点Ｐａ，Ｐｂを長さ方向の中間に含む部分に対応した第２矩形Ｒ２を認識する。第２矩形Ｒ２の左右両辺の傾き（目標方位）は、作物列Ｌａ，Ｌｂにおける屈曲点Ｐａ，Ｐｂを長さ方向の中間に含む部分の平均的な傾きに応じた角度となる。このため、第２矩形Ｒ２の傾きは、第１矩形Ｒ１の傾きに対して、進行方向に向かって右方向に傾いた角度となる。これにより、目標方位（基準方位）が進行方向に向かって右方向側に修正される。したがって、作業車両１は矢印Ｖ２のように走行する。
【００６３】
作業車両１が作物列Ｌａ，Ｌｂの屈曲点Ｐａ，Ｐｂを通過すると、自動走行制御部３２は、作物列Ｌａ，Ｌｂにおける屈曲点Ｐａ，Ｐｂよりも走行終端側部分に対応した第３矩形Ｒ３を認識する。第３矩形Ｒ３の左右両辺の傾き（目標方位）は、作物列Ｌａ，Ｌｂにおける屈曲点Ｐａ，Ｐｂよりも走行終端側部分の平均的な傾きに応じた角度となる。このため、第３矩形Ｒ３の傾きは、第２矩形Ｒ２の傾きに対して、進行方向に向かってさらに右方向に傾いた角度となる。これにより、目標方位（基準方位）が進行方向に向かって右方向側に修正される。したがって、作業車両１は矢印Ｖ３のように走行する。このように、作業車両１は、作物列Ｌａ，Ｌｂが途中で屈曲している場合でも、作物列Ｌａ，Ｌｂの形状に応じた目標走行経路に沿って走行することになる。
【００６４】
つまり、前述の実施形態では、隣り合う作物列を対辺とする矩形が認識され、認識された矩形に基づいて、目標走行経路および目標方位が設定されるとともに作業車両の現在位置が推定される。このため、例えば、隣り合う作物列が途中で屈曲している場合のように、隣り合う作物列の傾きが途中で変化している場合には、隣り合う作物列における作業車両近傍の傾きに応じた矩形が認識される。これにより、隣り合う作物列間にこれらの作物列の傾きの変化に対応した目標走行経路を設定することができるとともに、両作物列間における作業車両１の位置を推定することができる。
【００６５】
以上、この発明の実施形態について説明したが、この発明はさらに他の形態で実施することもできる。例えば、前述の実施形態では、遠隔操作によって作業車両１を自動走行開始位置まで移動させているが、トラック等によって作業車両１を自動走行開始位置まで運搬するようにしてもよい。また、作業車両１を手動運転可能とし、手動運転によって自動走行開始位置まで移動させてもよい。
【００６６】
また、前述の実施形態では、距離センサ１３としては、ＬＩＤＡＲが用いられているが、単眼カメラ、ステレオカメラ等のＬＩＤＡＲ以外の距離センサを用いてもよい。
また、前述の実施形態では、作業車両が薬剤散布用の作業車両である場合について説明したが、作業車両は薬剤散布用以外の作業車両であってもよい。
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
【符号の説明】
【００６７】
１  作業車両
１３  距離センサ
１４  方位センサ
１５  クローラ制御機構
１６  コモンレール装置
２１  エンジンコントローラ
２２  走行コントローラ
３０  制御装置
３１  メモリ
３２  自動走行制御部
４１  矩形認識部
４２  目標設定部
４３  偏差算出部
４３Ａ  位置偏差算出部
４３Ｂ  方位偏差算出部
４４  補正部
４４Ａ  位置補正部
４４Ｂ  方位補正部
【図１】
2019154377.tif 000003
【図２】
2019154377.tif 000004
【図３】
2019154377.tif 000005
【図４】
2019154377.tif 000006
【図５】
2019154377.tif 000007
【図６】
2019154377.tif 000008
【図７Ａ】
2019154377.tif 000009
【図７Ｂ】
2019154377.tif 000010
【図７Ｃ】
2019154377.tif 000011
【図７Ｄ】
2019154377.tif 000012
【図８】
2019154377.tif 000013
【図９】
2019154377.tif 000014
【図１０】
2019154377.tif 000015
【図１１】
2019154377.tif 000016