次に、図面を参照して本発明の実施の形態を説明する。以下では、図面の各図において同一の部分には同一の符号を付し、重複する説明を省略することがある。また、同一の符号に対応する部材等の名称が、簡略的に言い換えられたり、上位概念又は下位概念の名称で言い換えられたりすることがある。
本発明は、予め定められた圃場内で1台又は複数台の作業車両を走行させて、圃場内における農作業の全部又は一部を実行させるときに、作業車両を自律走行させるための走行経路を生成する自律走行経路生成システムに関する。本実施形態では作業車両としてトラクタを例に説明するが、作業車両としては、トラクタの他、田植機、コンバイン、土木・建築作業装置、除雪車等、乗用型作業機に加え、歩行型作業機も含まれる。本明細書において自律走行とは、トラクタが備える制御部(ECU)によりトラクタが備える走行に関する構成が制御されて予め定められた経路に沿ってトラクタが走行することを意味し、自律作業とは、トラクタが備える制御部によりトラクタが備える作業に関する構成が制御されて予め定められた経路に沿ってトラクタが作業を行うことを意味する。これに対して、手動走行・手動作業とは、トラクタが備える各構成がユーザにより操作され、走行・作業が行われることを意味する。
以下の説明では、自律走行・自律作業されるトラクタを「無人(の)トラクタ」又は「ロボットトラクタ」と称することがあり、手動走行・手動作業されるトラクタを「有人(の)トラクタ」と称することがある。圃場内において農作業の一部が無人トラクタにより実行される場合、残りの農作業は有人トラクタにより実行される。単一の圃場における農作業を、無人トラクタ及び有人トラクタで実行することを、農作業の協調作業、追従作業、随伴作業等と称することがある。本明細書において無人トラクタと有人トラクタの違いは、ユーザによる操作の有無であり、各構成は共通であるものとする。即ち、無人トラクタであってもユーザが搭乗(乗車)して操作することが可能であり(即ち有人トラクタとして使用することができ)、或いは有人トラクタであってもユーザが降車して自律走行・自律作業させることが可能である(即ち、無人トラクタとして使用することができる)。なお、農作業の協調作業としては、「単一圃場における農作業を、無人車両及び有人車両で実行すること」に加え、「隣接する圃場等の異なる圃場における農作業を同時期に無人車両及び有人車両で実行すること」が含まれてもよい。
<第1実施形態>
次に、図面を参照して本発明の実施の形態を説明する。図1は、本発明の第1実施形態に係る自律走行経路生成システム99が生成した走行経路に沿って走行するロボットトラクタ1の全体的な構成を示す側面図である。図2は、ロボットトラクタ1の平面図である。図3は、自律走行経路生成システム99が備えられる無線通信端末46を示す図である。図4は、ロボットトラクタ1及び無線通信端末46の制御系の主要な構成を示すブロック図である。
第1実施形態に係る自律走行経路生成システム99は、図1に示す無線通信端末46に備えられている。この無線通信端末46は、ロボットトラクタ1の走行及び作業を制御する制御部4(図4を参照)と無線通信することにより、ロボットトラクタ1に対して自律走行・自律作業に関する所定の信号を出力することができる。無線通信端末46が制御部4に出力する信号としては、自律走行・自律作業の経路に関する信号や自律走行・自律作業の開始信号、停止信号、終了信号等が考えられるが、これらに限定されない。
初めに、ロボットトラクタ(以下、単に「トラクタ」と称する場合がある。)1について、主として図1及び図2を参照して説明する。
トラクタ1は、圃場領域内を自律走行する車体部としての走行機体2を備える。走行機体2には、図1及び図2に示す作業機3が着脱可能に取り付けられている。この作業機3としては、例えば、耕耘機(管理機)、プラウ、施肥機、草刈機、播種機等の種々の作業機があり、これらの中から必要に応じて所望の作業機3を選択して走行機体2に装着することができる。走行機体2は、装着された作業機3の高さ及び姿勢を変更可能に構成されている。
トラクタ1の構成について、図1及び図2を参照して説明する。トラクタ1の走行機体2は、図1に示すように、その前部が左右1対の前輪7,7で支持され、その後部が左右1対の後輪8,8で支持されている。
走行機体2の前部にはボンネット9が配置されている。このボンネット9内にはトラクタ1の駆動源であるエンジン10や燃料タンク(不図示)等が収容されている。このエンジン10は、例えばディーゼルエンジンにより構成することができるが、これに限るものではなく、例えばガソリンエンジンにより構成してもよい。また、駆動源としてエンジン10に加えて、又は、代えて電気モータを採用してもよい。
ボンネット9の後方には、ユーザが搭乗するためのキャビン11が配置されている。このキャビン11の内部には、ユーザが操向操作するためのステアリングハンドル12と、ユーザが着座可能な座席13と、各種の操作を行うための様々な操作装置と、が主として設けられている。ただし、作業車両は、キャビン11付きのものに限るものではなく、キャビン11を備えないものであってもよい。
上記の操作装置としては、図2に示すモニタ装置14、スロットルレバー15、主変速レバー27、複数の油圧操作レバー16、PTOスイッチ17、PTO変速レバー18、副変速レバー19、及び作業機昇降スイッチ28等を例として挙げることができる。これらの操作装置は、座席13の近傍、又はステアリングハンドル12の近傍に配置されている。
モニタ装置14は、トラクタ1の様々な情報を表示可能に構成されている。スロットルレバー15は、エンジン10の出力回転数を設定するための操作具である。主変速レバー27は、トラクタ1の走行速度を無段階で変更するための操作具である。油圧操作レバー16は、図略の油圧外部取出バルブを切換操作するための操作具である。PTOスイッチ17は、トランスミッション22の後端から突出した図略のPTO軸(動力取出軸)への動力の伝達/遮断を切換操作するための操作具である。即ち、PTOスイッチ17がON状態であるときPTO軸に動力が伝達されてPTO軸が回転し、作業機3が駆動される一方、PTOスイッチ17がOFF状態であるときPTO軸への動力が遮断されてPTO軸が回転せず、作業機3が停止される。PTO変速レバー18は、作業機3に入力される動力の変更操作を行うものであり、具体的にはPTO軸の回転速度の変速操作を行うための操作具である。副変速レバー19は、トランスミッション22内の走行副変速ギア機構の変速比を切り換えるための操作具である。作業機昇降スイッチ28は、走行機体2に装着された作業機3の高さを所定範囲内で昇降操作するための操作具である。
図1に示すように、走行機体2の下部には、トラクタ1のシャーシ20が設けられている。当該シャーシ20は、機体フレーム21、トランスミッション22、フロントアクスル23、及びリアアクスル24等から構成されている。
機体フレーム21は、トラクタ1の前部における支持部材であって、直接、又は防振部材等を介してエンジン10を支持している。トランスミッション22は、エンジン10からの動力を変化させてフロントアクスル23及びリアアクスル24に伝達する。フロントアクスル23は、トランスミッション22から入力された動力を前輪7に伝達するように構成されている。リアアクスル24は、トランスミッション22から入力された動力を後輪8に伝達するように構成されている。
図4に示すように、トラクタ1は、走行機体2の動作(前進、後進、停止及び旋回等)及び作業機3の動作(昇降、駆動及び停止等)を制御するための制御部4を備える。制御部4は、図示しないCPU、ROM、RAM、I/O等を備えて構成されており、CPUは、各種プログラム等をROMから読み出して実行することができる。制御部4には、トラクタ1が備える各構成(例えば、エンジン10等)を制御するためのコントローラ、及び、他の無線通信機器と無線通信可能な無線通信部40等がそれぞれ電気的に接続されている。
上記のコントローラとして、トラクタ1は少なくとも、エンジンコントローラ61、車速コントローラ62、操向コントローラ63、及び昇降コントローラ64を備える。それぞれのコントローラは、制御部4からの電気信号に応じて、トラクタ1の各構成を制御することができる。
エンジンコントローラ61は、エンジン10の回転数を制御するものである。具体的には、エンジン10には、当該エンジン10の回転数を変更させる図略のアクチュエータを備えたガバナ装置41が設けられている。エンジンコントローラ61は、ガバナ装置41を制御することで、エンジン10の回転数を制御することができる。
車速コントローラ62は、トラクタ1の車速を制御するものである。具体的には、トランスミッション22には、例えば可動斜板式の油圧式無段変速装置である変速装置42が設けられている。車速コントローラ62は、変速装置42の斜板の角度を図略のアクチュエータによって変更することで、トランスミッション22の変速比を変更し、所望の車速を実現することができる。
操向コントローラ63は、ステアリングハンドル12の回動角度を制御するものである。具体的には、ステアリングハンドル12の回転軸(ステアリングシャフト)の中途部には、操向アクチュエータ43が設けられている。この構成で、予め定められた経路をトラクタ1が無人車両として走行する場合、制御部4は、当該経路に沿ってトラクタ1が走行するようにステアリングハンドル12の適切な回動角度を計算し、得られた回動角度となるように操向コントローラ63に制御信号を出力する。操向コントローラ63は、制御部4から入力された制御信号に基づいて操向アクチュエータ43を駆動し、ステアリングハンドル12の回動角度を制御する。
昇降コントローラ64は、作業機3の昇降を制御するものである。具体的には、トラクタ1は、作業機3を走行機体2に連結している3点リンク機構の近傍に、油圧シリンダ等からなる昇降アクチュエータ44を備えている。この構成で、昇降コントローラ64は、制御部4から入力された制御信号に基づいて昇降アクチュエータ44を駆動して作業機3を適宜に昇降動作させることにより、所望の高さで作業機3により農作業を行うことができる。この制御により、作業機3を、退避高さ(農作業を行わない高さ)及び作業高さ(農作業を行う高さ)等の所望の高さで支持することができる。
なお、上述したエンジンコントローラ61等の複数のコントローラは、制御部4から入力される信号に基づいてエンジン10等の各部を制御していることから、制御部4が実質的に各部を制御していると把握することができる。
上述のような制御部4を備えるトラクタ1は、ユーザがキャビン11内に搭乗して各種操作をすることにより、当該制御部4によりトラクタ1の各部(走行機体2、作業機3等)を制御して、圃場内を走行しながら農作業を行うことができるように構成されている。加えて、本実施形態のトラクタ1は、ユーザがトラクタ1に搭乗しなくても、無線通信端末46により出力される所定の制御信号に基づいて自律走行及び自律作業させることが可能となっている。
具体的には、図4等に示すように、トラクタ1は、自律走行・自律作業を可能とするための各種の構成を備えている。例えば、トラクタ1は、測位システムに基づいて自ら(走行機体2)の位置情報を取得するために必要な測位用アンテナ6等の構成を備えている。このような構成により、トラクタ1は、測位システムに基づいて自らの位置情報を取得して、圃場上を自律的に走行することが可能となっている。
次に、自律走行を可能とするためにトラクタ1が備える構成について詳細に説明する。具体的には、本実施形態のトラクタ1は、図4等に示すように、測位用アンテナ6、無線通信用アンテナ48、及び記憶部55等を備える。また、これらに加えて、トラクタ1には、走行機体2の姿勢(ロール角、ピッチ角、ヨー角)を特定することが可能な慣性計測ユニット(IMU)が備えられていてもよい。
測位用アンテナ6は、例えば衛星測位システム(GNSS)等の測位システムを構成する測位衛星からの信号を受信するものである。図1に示すように、測位用アンテナ6は、トラクタ1のキャビン11のルーフ92の上面に配置されている。測位用アンテナ6で受信された測位信号は、図4に示す位置検出部としての位置情報算出部49に入力される。位置情報算出部49は、トラクタ1の走行機体2(厳密には測位用アンテナ6)の位置情報を、例えば緯度・経度情報として算出する。当該位置情報算出部49で検出された位置情報は、制御部4に入力されて、自律走行に利用される。
なお、本実施形態ではGNSS−RTK法を利用した高精度の衛星測位システムが用いられているが、これに限られるものではなく、高精度の位置座標が得られる限りにおいて他の測位システムを用いてもよい。例えば、相対測位方式(DGPS)、又は静止衛星型衛星航法補強システム(SBAS)を使用することが考えられる。
無線通信用アンテナ48は、ユーザが操作する無線通信端末46からの信号を受信したり、無線通信端末46への信号を送信したりするものである。図1に示すように、無線通信用アンテナ48は、トラクタ1のキャビン11が備えるルーフ92の上面に配置されている。無線通信用アンテナ48で受信した無線通信端末46からの信号は、図4に示す無線通信部40で信号処理された後、制御部4に入力される。また、制御部4等から無線通信端末46に送信する信号は、無線通信部40で信号処理された後、無線通信用アンテナ48から送信されて無線通信端末46で受信される。
記憶部55は、トラクタ1を自律走行させる経路である走行経路(パス)を記憶したり、走行中のトラクタ1(厳密には、測位用アンテナ6)の位置の推移(走行軌跡)を記憶したりするメモリである。その他にも、記憶部55は、トラクタ1を自律走行・自律作業させるために必要な様々な情報を記憶している。
無線通信端末46は、図3に示すように、タブレット型のパーソナルコンピュータとして構成されている。ユーザは、無線通信端末46のディスプレイ37に表示された情報を参照して確認することができる。また、ユーザは、ディスプレイ37の近傍に配置されたハードウェアキー38、及びディスプレイ37を覆うように配置された図示しないタッチパネル等を操作して、トラクタ1の制御部4に、トラクタ1を制御するための制御信号(例えば、緊急停止信号等)を送信することができる。なお、無線通信端末46はタブレット型のパーソナルコンピュータに限るものではなく、これに代えて、例えばノート型のパーソナルコンピュータで構成することも可能である。あるいは、前述の協調作業を行うために有人のトラクタを無人のトラクタ1に付随して走行させる場合、有人側のトラクタに搭載されるモニタ装置を無線通信端末46とすることもできる。
このように構成されたトラクタ1は、無線通信端末46を用いるユーザの指示に基づいて、圃場上の経路に沿って自律的に走行しつつ、作業機3による農作業を行うことができる。
具体的には、ユーザは、無線通信端末46を用いて各種設定を行うことにより、農作業を行う直線状又は折れ線状の走行路と、当該走行路の端同士を繋ぐ円弧状の旋回路(トラクタ1が旋回を行う旋回路)と、を交互に繋いだ一連の経路としての走行経路(自律走行経路、パス)を生成することができる。そして、このようにして生成した走行経路の情報を、トラクタ1の制御部4に電気的に接続された記憶部55に入力(転送)して所定の操作をすることにより、当該制御部4によりトラクタ1を制御して、当該トラクタ1を走行経路に沿って自律的に走行させながら作業機3により農作業させることができる。
以下では、主として図4を参照して、自律走行経路生成システム99を備える無線通信端末46の構成についてより詳細に説明する。
本実施形態の無線通信端末46は、制御部71と、ディスプレイ(表示部)37と、通信部72と、を備える。更に、無線通信端末46は、表示制御部31、記憶部32、圃場外周設定部33、障害物外周設定部34、作業領域設定部(走行領域設定部)35、開始終了位置設定部51、作業方向設定部(走行方向設定部)36、及び経路生成部47等を備える。
具体的には、無線通信端末46の制御部71は、トラクタ1の制御部4と同様に、図示しないCPU、ROM、RAM、I/O等を備えたコンピュータとして構成されており、CPUは、各種プログラム等をROMから読み出して実行することができる。また、前記ROMには、トラクタ1に自律走行・自律作業を行わせるための適宜のプログラムが記憶されている。そして、上記したソフトウェアとハードウェアの協働により、無線通信端末46を、表示制御部31、記憶部32、圃場外周設定部33、障害物外周設定部34、作業領域設定部35、開始終了位置設定部51、作業方向設定部36、及び経路生成部47等として動作させることができる。
表示制御部31は、ディスプレイ37に表示する表示用データを作成し、表示内容を適宜に制御する。例えば、表示制御部31は、ユーザにより所定の操作が行われたとき、図5に示す圃場情報入力画面80をディスプレイ37に表示させる。図5は、無線通信端末46に表示される、トラクタ1が走行する圃場に関する情報を入力するための画面の一例を示す図である。
この圃場情報入力画面80では、トラクタ1が走行する圃場に関する情報を入力することができる。具体的には、圃場情報入力画面80には、圃場の形状を図形で(グラフィカルに)示す平面表示部81が配置されている。また、圃場情報入力画面80において、「圃場外周の位置」の欄及び「障害物の外周の位置」の欄には、「記録開始」及び「やり直し」のボタンがそれぞれ配置されている。また、圃場情報入力画面80において、「作業開始位置・作業終了位置」、「作業方向」のそれぞれの欄には、「指定」及び「やり直し」のボタンが配置されている。
なお、圃場情報入力画面80におけるボタンは、何れもディスプレイ37に表示される仮想的なボタンとして構成され、当該ボタンの表示領域に相当するタッチパネルの位置をユーザが指で触れることによって操作することができる。
記憶部32は、ユーザが無線通信端末46のタッチパネルを操作することにより入力した圃場に関する情報等を記憶するとともに、生成された走行経路の情報等を記憶することができる。
圃場外周設定部33は、トラクタ1が自律走行を行う対象となる圃場の外周の位置を設定するものである。具体的には、ユーザが圃場情報入力画面80において「圃場外周の位置」の「記録開始」ボタンを操作すると、無線通信端末46が圃場外周記録モードに切り換わる。この圃場外周記録モードにおいて、トラクタ1を圃場の外周に沿って1回り周回させると、そのときの測位用アンテナ6の位置情報の推移が圃場外周設定部33で記録されて、当該圃場外周設定部33で圃場の形状が設定(取得)される。これにより圃場の位置及び形状を設定することができる。また、「やり直し」ボタンを操作することで、圃場外周の位置の記録(設定)を再び行うことができる。
障害物外周設定部34は、トラクタ1が自律走行を行う対象の圃場内に配置される障害物の外周領域を設定するものである。具体的には、ユーザが圃場情報入力画面80において「障害物の外周の位置」の「記録開始」ボタンを操作すると、無線通信端末46が障害物外周記録モードに切り換わる。この障害物外周記録モードにおいて、トラクタ1を障害物の外周領域の角部に配置させてそのときの測位用アンテナ6の位置情報を障害物外周設定部34で記録すると、当該障害物外周設定部34で障害物を多角形(例えば、長方形)で囲んだ形状が設定(取得)される。この多角形は、例えば、各角部を結ぶ線分が交わらないようにいわゆる閉路グラフにより特定した多角形として算出することができる。これにより、障害物の外周領域の位置及び形状を設定することができる。なお、障害物外周設定部34で設定される障害物の外周領域は、障害物を取り囲む中空状の多角形の領域であり、その内縁と外縁との間の距離は、トラクタ1(作業機3)の車幅と同じかそれよりも若干広くなっている。
作業領域設定部35は、トラクタ1が自律走行を行う対象の圃場内に配置される、自律的に走行しながら農作業を行う作業領域(走行領域)の位置を設定するものである。具体的に説明すると、本実施形態の無線通信端末46においては、圃場情報入力画面80とは別の入力画面(図略)において、枕地の幅と、非耕作地の幅と、を設定可能に構成されている。そして、枕地及び非耕作地からなる非作業領域が、上記の設定内容と、圃場外周設定部33で設定された圃場の位置及び形状と、に基づいて定められるとともに、圃場の領域から非作業領域を除いた領域が作業領域として定められる。
開始終了位置設定部51は、トラクタ1が自律走行を開始する地点である開始地点と、自律走行を終了する地点である終了地点と、を設定するものである。具体的には、ユーザが圃場情報入力画面80において「作業開始位置・作業終了位置」の「指定」ボタンを操作すると、平面表示部81に、圃場外周設定部33で設定した圃場のデータが地図データに重ね合わされて表示される。この状態で、ユーザが圃場の輪郭の近傍の任意の点を選択することで、選択した点の位置情報を開始地点及び終了地点として開始終了位置設定部51で設定(記録)することができる。なお、「やり直し」のボタンの機能については、上記と同様である。
作業方向設定部36は、トラクタ1が作業領域において農作業を行いながら走行する方向(走行路の方向)を設定するものである。具体的には、ユーザが圃場情報入力画面80において「作業方向」の「指定」ボタンを操作すると、平面表示部81に、圃場外周設定部33で設定した圃場の形状が地図データに重ね合わされて表示される。この状態で、ユーザが、例えば圃場を指定するときに指定した複数の点の中から2点を選択することで、当該2点を結んだ直線の方向を作業方向(走行方向)として作業方向設定部36で設定(記録)することができる。なお、作業方向を指定する際に選択する点は2点に限られず、3点以上の複数点であってもよい。これにより、圃場等の輪郭に沿った、より正確な作業方向を指定することが可能である。また、「やり直し」ボタンの機能については、上記と同様である。
経路生成部47は、圃場内においてトラクタ1が自律的に走行する走行経路を生成する。上述したとおり、この走行経路には、直線状又は折れ線状の走行路と、円弧状の旋回路と、が交互に含まれる。経路生成部47は、圃場外周設定部33で設定された圃場外周の位置、作業領域設定部35で設定された作業領域の位置、開始終了位置設定部51で設定された開始地点及び終了地点の位置、並びに作業方向設定部36で設定された作業方向の情報を取得して、これらの情報に基づいて自動的に走行経路を生成する。この走行経路は、基本的には、直線状又は折れ線状の走行路が作業領域に含まれ、旋回路が圃場内の作業領域以外の領域(非作業領域)に含まれるように生成される。ただし、圃場内に障害物が存在する場合には、経路生成部47は、障害物を回避するように走行経路を生成する。これについては、後に詳述する。経路生成部47が作成した走行経路は、記憶部32に記憶される。
ユーザは、無線通信端末46を適宜操作して、経路生成部47で作成された走行経路の情報をトラクタ1の記憶部55に入力(転送)する。その後、ユーザはトラクタ1に搭乗して運転することで、トラクタ1を走行経路の開始地点に配置する。続いて、ユーザがトラクタ1から降車して無線通信端末46を操作し、自律走行及び自律作業の開始を指示する。これにより、トラクタ1が当該走行経路に沿って走行するように、制御部4がトラクタ1の走行及び農作業を制御する。
次に、経路生成部47が走行経路を生成するときの具体的な処理について、図6及び図7を参照して説明する。図6は、走行経路を生成するときに経路生成部47で行われる処理を示すフローチャートである。図7は、図6の処理の続きを示すフローチャートである。
初めに、経路生成部47は、圃場外周設定部33で設定された圃場外周の位置、作業領域設定部35で設定された作業領域の位置、開始終了位置設定部51で設定された開始地点及び終了地点の位置、並びに作業方向設定部36で設定された作業方向の情報を取得して、これらの情報に基づいて暫定走行経路W0を生成する(図8を参照)。具体的には、経路生成部47は、圃場内に障害物がないものとみなして、作業領域内に複数の暫定走行路P0を互いに間隔を空けて並べた暫定走行経路W0を生成する(ステップS101)。それぞれの暫定走行路P0は、作業方向に沿うように配置されている。
経路生成部47により生成される暫定走行経路W0の例を図8に示している。図8は、複数の暫定走行路P0を並べた暫定走行経路W0を生成した例を示す図である。図8において、実線の矢印で示した経路は、無人のトラクタ1が走行する走行経路である。無人のトラクタ1が走行する走行路に隣接する(矢印が付された2列の走行路間に配される)、矢印が付されていない走行路は、協調作業を行うための有人のトラクタが無人のトラクタ1に付随して走行する走行路を示している。図8の例では、有人のトラクタは、往路(図8の紙面上方に向かう方向の走行路)では無人のトラクタ1の右斜め後ろを、復路(図8の紙面下方に向かう方向の走行路)では左斜め後ろを、それぞれついて行くように走行することが想定されている。
続いて、経路生成部47は、障害物外周設定部34から障害物外周領域を取得して、ステップS101で生成した暫定走行路P0の中に、障害物外周領域と干渉する暫定走行路があるか否かを判断する(ステップS102)。
ステップS102の判断の結果、障害物外周領域と干渉する暫定走行路がない場合(ステップS102,No)、圃場内に障害物がないものとみなして作成した暫定走行経路W0を走行経路Wとしてそのまま使うことができるため、経路生成部47はこの暫定走行経路W0を走行経路Wとして(ステップS103)、経路の生成を終了する。
一方、ステップS102の判断の結果、障害物外周領域と干渉する暫定走行路がある場合(ステップS102,Yes)、経路生成部47は、障害物を回避した走行経路を作成するために、ステップS104以降の処理を行う。
ステップS104の処理において、経路生成部47は、障害物外周領域と干渉する暫定走行路P0のそれぞれについて、当該暫定走行路P0の始端である地点Fを始点とし、障害物外周領域に至る点である地点Gを終点とする第1走行路P1を取得する。図9に、1つの暫定走行路P0に関して第1走行路P1を生成している様子を示している。
続いて、ステップS105の処理において、経路生成部47は、第1走行路P1の終点(地点G)を始点とし、障害物外周領域を通過しつつ障害物反対側に回って、当該障害物を貫くように第1走行路P1を延長した仮想延長線L上の位置であって、障害物外周領域から出る位置(地点H)に至る迂回路Qを生成する。図10に、1つの暫定走行路P0に関して迂回路Qを生成している様子を示している。図10に示すように、この迂回路Qは、当該暫定走行路P0を基準として未作業領域側(言い換えれば、第1走行路P1に至るまでの走行経路から見て遠い側)に迂回するように生成される。
続いて、ステップS106の処理において、経路生成部47は、迂回路Qの終点(地点H)を始点とし、暫定走行路P0の終端(地点J)を終点とする第2走行路P2を取得する。この第2走行路P2は、暫定走行路P0上に配置される。なお、上記の図10に、1つの暫定走行路P0に関して第2走行路P2を生成している様子を示している。
続いて、ステップS107の処理において、経路生成部47は、障害物外周領域と干渉する個々の暫定走行路P0に対して生成した迂回路Q1,Q2,Q3,・・・の中に、所定距離L1以上の経路長の迂回路が1つ以上あるか否かを判断する。
ステップS107の判断の結果、所定距離L1以上の長さの迂回路Qが1つもない場合(ステップS107,No)、トラクタ1が迂回路Qを通るように走行させても走行経路が極端に長くなってしまうことはないので、この迂回路Qを走行経路として採用する。
即ち、ステップS108において、経路生成部47は、障害物外周領域と干渉する暫定走行路P0のそれぞれを、当該暫定走行路P0に基づいて生成した第1走行路P1、迂回路Q、第2走行路P2からなる走行路に置き換える。これにより、障害物を迂回した走行経路W1が生成される。図11に、障害物を迂回することにより障害物を回避する走行経路W1を生成した例を示している。
一方、ステップS107の判断の結果、所定距離L1以上の長さの迂回路Qが1つ以上あった場合(ステップS107,Yes)、トラクタ1を迂回路Qに沿って走行させると走行経路が過剰に長くなってしまい作業が非効率となるので、この迂回路Qは走行経路として採用されない。
即ち、長さが所定距離L1以上になってしまう迂回路Qがある場合は、図7に示すステップS111において、経路生成部47は、生成した各迂回路Q1,Q2,Q3,・・・及び第2走行路P2を破棄する。続いて、ステップS112において、経路生成部47は、第1走行路P1の終点(地点G)を始点とし、障害物外周領域を通過しつつ未作業領域側に折り返す折返し路Rを生成する。図12に、1つの第1走行路P1に関して折返し路Rを生成している様子を示している。
続いて、ステップS113において、経路生成部47は、折返し路Rの終点(地点K)を始点とし、第1走行路P1を生成した暫定走行路P0の未作業側に平行に配置される次の暫定走行路P0の終端(地点M)を終点とする第3走行路P3を生成する。上記の図12に、1つの第1走行路P1に関して復路としての第3走行路P3を生成している様子を示している。
続いて、ステップS114において、経路生成部47は、障害物外周領域と干渉し、連続する往復の暫定走行路P0を(複数の往復路がある場合には、そのそれぞれを)、第1走行路P1、折返し路R、第3走行路P3からなる走行路に置き換える。これにより、障害物の手前で折り返した走行経路W2が生成される。図13に、障害物の手前で折り返すことにより障害物を回避する走行経路W2を生成した例を示している。
なお、ステップS114の処理により障害物の手前で折り返す走行経路を生成した場合、障害物の反対側の領域においても、図13において破線で示すように、障害物の手前で折り返す走行経路W3が適宜生成される。図13では、無人トラクタ1は走行経路W2を走行しながら農作業を行って終了地点に到達した後、非作業領域を通って走行経路W3の始点に移動し、走行経路W3を走行しながら農作業を行う例が示されている。ただし、上記は一例であって、例えば、障害物で分断された一側の領域を作業した後、すぐに反対側を作業するように走行経路が生成されても良い。
以上に説明したように、本実施形態の自律走行経路生成システム99は、予め定められた作業領域においてトラクタ1を自律走行させるための走行経路を生成する。この自律走行経路生成システム99は、作業方向設定部36と、経路生成部47と、障害物外周設定部34と、を備える。作業方向設定部36は、作業領域内におけるトラクタ1の走行方向(作業方向)を設定する。経路生成部47は、作業領域内において作業方向設定部36により設定された作業方向に沿って設けられた複数の走行路を含む走行経路を生成可能である。障害物外周設定部34は、作業領域内の障害物に対して障害物外周領域を設定する。経路生成部47は、第1走行路P1と、迂回路Qと、第2走行路P2と、を含むように走行経路を生成することが可能である(図8から図11までを参照)。第1走行路P1は、作業方向に沿って配置される。迂回路Qは、第1走行路P1の終点(地点G)を始点とし、障害物外周領域を通過しつつ障害物の反対側に回って、当該障害物を貫くように第1走行路P1を延長した仮想延長線L上の位置に至る。第2走行路P2は、迂回路Qの終点(地点H)を始点とし、仮想延長線L上に配置される。
これにより、第1走行路P1と、迂回路Qと、第2走行路P2とを含む走行経路が生成される。よって、この走行経路に沿ってトラクタ1を自律走行させることにより、障害物を迂回するようにトラクタ1を走行させることが可能である。しかも、迂回路Qは事前に設定された障害物外周領域を通過するように配置されるので、走行経路全体との関係等を考慮して迂回路を計画的に生成することで、無人トラクタ1による作業を円滑にすることができる。また、迂回路Q以外の部分では、走行路を作業方向に沿った経路とすることができ、自律走行経路生成のアルゴリズムをシンプルにすることができる。このように、走行路を基本的には作業方向に沿った直線状又は折れ線状の経路とすることにより、複数の走行路を1セットとして取り扱うことが容易となり、1セットごとに農作業を行っていくようなやり方も容易に実現できる。
また、本実施形態の自律走行経路生成システム99においては、経路生成部47は、迂回路Qの経路長が所定距離L1未満である場合に、第1走行路P1、迂回路Q及び第2走行路P2を含むように走行経路を生成することが可能である(図11を参照)。一方、経路生成部47は、前記迂回路の経路が所定距離L1以上である場合に、第1走行路P1、折返し路R及び第3走行路P3を含むように前記走行経路を生成することが可能である(図13を参照)。折返し路Rは、第1走行路P1の終点(地点G)を始点とし、障害物外周領域を通過しつつ障害物の手前で折り返す(図12を参照)。第3走行路P3は、折返し路Rの終点(地点K)を始点とし、第1走行路P1と平行に配置される。
これにより、迂回路Qの経路長が所定距離L1以上になる場合には、障害物を迂回する経路に代えて、障害物の手前で折り返す経路を走行経路として生成することができる。従って、走行経路のうち作業に寄与しない部分が過剰に長くなってしまうことを防止できる。
また、本実施形態の自律走行経路生成システム99においては、経路生成部47は、作業領域において障害物が島状に配置されている場合、迂回路Qを、第1走行路P1に至るまでの走行経路から見て遠い側(未作業領域側)から障害物の反対側に回るように生成する。
これにより、トラクタ1を経路生成部47で生成した走行経路W1に沿って走行させても、障害物を迂回するときに、第1走行路P1に至るまでにトラクタ1が走行してきた領域(農作業を施した領域)に再度踏み込むことがない。よって、トラクタ1に行わせた作業に影響が出ないようにしつつ、障害物を回避してトラクタ1を走行させることができる。また、無人トラクタ1に付随して有人トラクタを走行させている場合、無人トラクタ1が障害物を迂回するときに有人トラクタの側に接近することを防止することができ、衝突等が発生しない。
<第2実施形態>
次に、本発明の第2実施形態に係る自律走行経路生成システム99について、図10及び図14等を参照して説明する。以下では、第1実施形態と同様の構成の部材及びステップには同一の符号を付し、説明を適宜省略する場合がある。
第2実施形態に係る自律走行経路生成システム99において、走行経路を生成するときに経路生成部47で行われる処理は、大体においては第1実施形態と同様であるが、ステップS107に代えてステップS207の処理が行われる点で異なっている。
ステップS207の処理において、経路生成部47は、障害物外周領域と干渉する個々の暫定走行路P0に対して生成した迂回路Q1,Q2,Q3,・・・の中に、トラクタ1が障害物を回避(迂回)するために作業方向と垂直な向きに移動しなければならない距離である回避距離L10(図10を参照)が所定距離L2以上である迂回路が1つ以上あるか否かを判断する。
ステップS207の判断の結果、回避距離L10が所定距離L2以上の迂回路Qが1つもない場合(ステップS207,No)、トラクタ1が迂回路Qを通るように走行させても、作業領域内に障害物がない場合と比べて走行経路の経路長が極端に長くなってしまうことはないので、この迂回路Qを用いて障害物を回避することとする。即ち、ステップS108の処理がされて迂回路Qを含む走行経路W1が生成される。
一方、ステップS207の判断の結果、回避距離L10が所定距離L2以上の迂回路Qが1つ以上あった場合(ステップS207,Yes)、トラクタ1を迂回路Qに沿って走行させると走行経路の経路長が極端に長くなってしまい作業が非効率となるので、この迂回路Qは採用されない。即ち、経路生成部47は、図7に示すステップS111からステップS114までの処理により、迂回路の代わりとなる折返し路Rを生成する。
本実施形態の処理によっても、迂回路が過剰に長くなってしまうことを防止できる。また、本実施形態では迂回路Qの経路長ではなく回避距離L10を用いて判定するので、迂回路Qが長過ぎるかどうかを経路生成部47が簡便に判断することができる。
以上に説明したように、本実施形態の経路生成部47は、トラクタ1が障害物を回避するために作業方向と垂直な向きに移動しなければならない距離である回避距離L10が所定距離L2未満である場合に、第1走行路P1、迂回路Q及び第2走行路P2を含むように走行経路を生成することが可能である。一方、経路生成部47は、回避距離L10が所定距離L2以上である場合に、第1走行路P1、折返し路R及び第3走行路P3を含むように走行経路を生成することが可能である。折返し路Rは、第1走行路P1の終点(地点G)を始点とし、障害物外周領域を通過しつつ障害物の手前で折り返す。第3走行路P3は、折返し路の終点(地点K)を始点とし、第1走行路P1と平行に配置される(図12を参照)。
これにより、障害物を迂回するために作業方向と垂直な向きに移動しなければならない回避距離L10が所定距離L2以上になる場合には、障害物を迂回する経路に代えて、障害物の手前で折り返す経路W2を走行経路として生成することができる。従って、走行経路W2のうち作業に寄与しない部分が過剰に長くなってしまうことを防止できる。
<第3実施形態>
次に、本発明の第3実施形態に係る自律走行経路生成システム99について、図15等を参照して説明する。以下では、第1実施形態と同様の構成の部材及びステップには同一の符号を付し、説明を適宜省略する場合がある。
第3実施形態に係る自律走行経路生成システム99において、走行経路を生成するときに経路生成部47で行われる処理は、大体においては第1実施形態と同様であるが、ステップS107に代えてステップS307の処理が行われる点で異なっている。
ステップS307の処理において、経路生成部47は、障害物外周領域と干渉する個々の暫定走行路P0に対して生成した迂回路Q1,Q2,Q3,・・・の中に、トラクタ1が障害物を回避(迂回)するために必要となる旋回回数又は旋回角度が所定以上(例えば、5回以上、又は120°以上)の迂回路が1つ以上あるか否かを判断する。
ステップS307の判断の結果、旋回回数又は旋回角度が所定以上の迂回路Qが1つもない場合(ステップS307,No)、トラクタ1が迂回路Qを通るように走行させても、それほど複雑な経路とはならないので、この迂回路Qを用いて障害物を回避することとする。即ち、ステップS108の処理がされて迂回路Qを含む走行経路が生成される。
一方、ステップS307の判断の結果、旋回回数又は旋回角度が所定以上の迂回路Qが1つ以上あった場合(ステップS307,Yes)、トラクタ1を迂回路Qに沿って走行させると走行経路が複雑になってしまい、作業が非効率になったりユーザが混乱したりするおそれがあるので、この迂回路Qは採用されない。即ち、経路生成部47は、図7に示すステップS111からステップS114までの処理により、迂回路の代わりとなる折返し路Rを生成する。
以上に説明したように、本実施形態の経路生成部47においては、迂回路Qにおける旋回回数又は旋回角度が所定未満である場合に、第1走行路P1、迂回路Q及び第2走行路P2を含むように走行経路を生成することが可能である。一方、経路生成部47は、迂回路Qにおける旋回回数又は旋回角度が所定以上である場合に、第1走行路P1、折返し路R及び第3走行路P3を含むように走行経路を生成することが可能である。折返し路Rは、第1走行路P1の終点(地点G)を始点とし、障害物外周領域を通過しつつ障害物の手前で折り返す。第3走行路P3は、折返し路Rの終点(地点K)を始点とし、第1走行路P1と平行に配置される。
これにより、障害物を迂回するために必要となる旋回回数又は旋回角度が所定以上である場合には、障害物を迂回する経路に代えて、障害物の手前で折り返す経路W2を走行経路として生成することができる。従って、旋回回数又は旋回角度が多い走行経路を生成してしまうことを防止できるので、作業を円滑に行うことができる。
このように、本実施形態の自律走行経路生成システム99では、走行路が極力直線状となるようにしつつ、かつ障害物を回避できるようにしている。また、障害物を回避するためのパスとして、障害物を迂回するパスと、障害物の手前で折り返すパスと、を適宜使い分けることとしている。このように、走行路が極力直線状に生成されることにより、自律走行経路生成のアルゴリズムをシンプルにすることができ、また、ユーザにとっても分かり易い走行経路とすることができる。
以上に本発明の好適な実施の形態を説明したが、上記の構成は例えば以下のように変更することができる。
上記の実施形態では、経路生成部47は、作業領域内に第1走行路P1、迂回路Q、及び第2走行路P2からなる走行路を生成するものとした。言い換えれば、障害物を回避するための走行路を、作業領域内に収まるように生成するものとした。しかしながら、必ずしもこれに限るものではなく、例えばこれに代えて、迂回路Qが非耕作地(非作業領域)にはみ出るように走行路を生成してもよい。
上記の実施形態では、経路生成部47は、迂回路Qを、未作業領域側に迂回するように生成するものとした。しかしながら、必ずしもこれに限るものではなく、例えばこれに代えて、未作業領域側に迂回する迂回路QAと、作業領域側(既に農作業を行った側)に迂回する迂回路QBとを暫定的に生成し、これらの迂回路QA,QBの経路長を比較して、長さが短くなる方の迂回路を採用することとしてもよい。
例えば、無人トラクタ1に付随して有人トラクタを当該無人トラクタ1の斜め後ろに位置するように走行させて、協調作業を行っているような場合において、無人トラクタ1を迂回路Qに沿って走行させると有人トラクタに接近するおそれがあるときには、その旨の警告を無線通信端末46のディスプレイ37に表示することとしてもよい。具体的には、警告を示す表示用データを表示制御部31で生成し、この表示用データに基づく警告画面をディスプレイ37に表示させることとすればよい。なお、上記のような警告画面の表示例を図16に示している。
上記の実施形態では、障害物が作業領域内に島状にあるものとした。しかしながら、実際には、障害物が作業領域の輪郭と重なるように配置されている状況も当然に考えられる。例えば、図17には、障害物が圃場の端部から中央に向けて突出するように配置された例が示されている。本発明の自律走行経路生成システム99では、このような場合でも、障害物を回避しつつ効率の良い走行経路を生成することができる。なお、図17のように、未作業領域側に迂回する迂回路を作成することが物理的に不可能な場合には、これに代えて、作業領域側(既に農作業を行った側)に迂回する迂回路を生成することとしてもよい。
本発明は、圃場の輪郭が複雑になっている場合にも適用することができる。例えば、図18のように圃場の輪郭に凹状の部分が形成されている場合、当該圃場の外周の形状が圃場外周設定部33で設定されることになる。このような場合でも、単純な矩形の圃場において障害物が内側に向かって突出状に配置されているとみなせば、図17の場合と全く同様に考えることができる。即ち、本発明は、圃場の輪郭の一部が凹状となっているために実質的に「障害物」となる場合にも適用することができる。
図6のステップS107で、複数の迂回路の中に所定距離L1以上の経路長の迂回路が1つ以上あるか否かを判断することに代えて、複数の迂回路の経路長の合計が所定距離以上あるか否かを判断しても良い。同様に、図14のステップS207で、回避距離の合計が所定距離以上あるか否かを判断しても良い。
無人トラクタ1が障害物を迂回し始めるときに、ウインカー等の方向指示器を機能させて、無線通信端末46のユーザや有人トラクタのオペレータ等に注意を促すこととしてもよい。これにより、例えば無人トラクタ1が有人トラクタに接近するおそれがある場合に、ユーザがこれを察知することができ、衝突等を未然に防ぐことができる。
上記の実施形態では、迂回路Qとして、第1走行路P1の終点Gを始点とし、障害物外周領域を通過しつつ障害物の反対側に回って、当該障害物を貫くように第1走行路P1を延長した仮想延長線L上の位置に至る迂回路Qを生成することとしたがこれに限られるものではない。即ち、迂回路は、障害物を隔てて配される第1走行路の終点(障害物外周領域に至った点)と第2走行路の始点(障害物外周領域から出る点)を接続する通路であればよく、第2走行路の始点は、第1走行路を延長した仮想延長線上の点でなくてよい。第2走行路の始点が、第1走行路を延長した仮想延長線上の点でない場合とは、例えば図19に示すように、暫定走行路P0’が折れ線状の走行路であって、第1走行路P1’と第2走行路P2’とが屈折部を介して接続されることで折れ線状の暫定走行路P0’が形成されており、且つ、屈折部が障害物外周領域又は障害物が存在する領域に位置する場合が例示される。なお、図19においては、第1走行路P1’の始点をF’、終点をG’、第2走行路P2’の始点をH’、終点をJ’、迂回路をQ’として示している。
上記の実施形態では、作業領域において障害物が島状に存在している場合、障害物外周領域において、迂回路Qを第1走行路P1に至るまでの走行経路から見て遠い側から障害物の反対側に回るように生成することとしたがこれに限られるものではない。迂回路は、障害物外周領域のうち終了地点に近い側に生成することとすればよく、言い換えれば、迂回路は障害物外周領域に至った後、障害物外周領域内において終了地点に向かって旋回させる旋回路を含むように生成することとすればよい。
即ち、作業領域において走行路の本数は、作業領域の幅及びトラクタ1(作業機3)の車幅が考慮されて定まるが、各作業路における作業順はユーザの指定に応じて適宜設定することが可能である。ユーザの指定としては、現在走行中の走行路P10と次に走行する走行路P11との間の作業路の本数(スキップ数)を指定することが可能であり、当該本数が0である場合、走行路P10と走行路P11は隣接し、当該本数が2である場合、走行路P10と走行路P11は2本の走行路を隔てて配されていることとなる。各作業路における作業順は原則として開始地点から終了地点に向かって順次設定されるが、上記本数が0以外である場合、一部、終了地点から開始地点に向かって設定される(言い換えれば、終了地点近くの走行路を走行した後、開始地点近くの未耕の走行路を走行する)ことがある。そして、終了地点から開始地点に向かった後に走行する未耕の走行路上に障害物が存在する場合、迂回路は他の未耕の走行路側、即ち、終了地点側を通るように障害物外周領域内に生成される。
なお、終了地点から開始地点に向かった後に走行する未耕の走行路上に障害物が存在する場合において隣接する走行路が双方ともに既耕の走行路である場合、迂回路の経路長がより短い迂回路、又は、旋回回数がより少ない迂回路を生成することとすればよい。
上記の実施形態では障害物がないものとみなして複数の暫定走行路を含む暫定走行経路を生成し、各暫定走行路が障害物外周領域と干渉するか否かに応じて、適宜、修正して(置き換えて)走行経路を生成することとしたが、走行経路の生成方法はこれに限られるものではない。上記の実施形態において障害物がないものとみなして暫定走行経路を生成したのは、走行経路を生成する処理において、暫定走行路を迂回路を含む走行路に置き換えるか否かの判断処理(例えば図6のステップS107)が、暫定走行路を生成した後に行われるためであるが、事前に当該判断を行うことで暫定走行路を生成することなく走行路を生成することとしてもよい。
具体的には、障害物外周設定部34により障害物の外周領域が設定された際に、当該障害物の外周領域において迂回路を生成するか否かが定められることにより実現可能である。例えば、上記の図6のステップS107の処理において所定距離以上の長さの迂回路が1つ以上あった場合、迂回路の経路長が過剰に長くなり、作業が非効率となることを避けるために、迂回路を走行経路として採用しないこととしているが、障害物外周設定部34により設定された障害物の外周領域において仮に迂回路が生成された場合の迂回路の経路長は、事前に算出可能である。例えば障害物の外周領域が中空の矩形状の領域である場合、迂回路の最大経路長は、原則として、当該外周領域の外縁の横辺(作業方向に垂直な方向の辺)の長さと、縦辺(作業方向に平行な方向の辺)の長さの合計の長さ(以下、最大経路長Aと称する)である。ここで「原則として」とは、迂回路の経路長が最も短くなるように生成するならばという意味であり、例えば他の要因(例えば、上述した既耕の走行路側を生成せず、未耕の走行路側を生成するという要因)により迂回路の経路長が最も短くなるように生成しない場合において、当該外周領域の外縁の横辺(作業方向に垂直な方向の辺)の長さの2倍の長さと、縦辺(作業方向に平行な方向の辺)の長さの合計の長さ(以下、最大経路長Bと称する)である。そして、経路生成部47は、少なくとも最大経路長Aが所定距離以上となる障害物の外周領域においては、迂回路を含まない走行路を生成するとともに、最大経路長A又は最大経路長Bが所定距離未満となる障害物の外周領域においては、迂回路を含む走行路を生成して各走行路を含む走行経路を生成することが可能である。
図20のステップS401〜S404には、上記の手法で走行経路を生成するときに経路生成部47で行われる処理をフローチャートで簡易的に示している。この処理を説明すると、最初に、経路生成部47は全ての障害物外周領域について予め最大経路長を計算する(ステップS401)。その後、経路生成部47は、作業領域のうち障害物外周領域(障害物)と干渉しない部分について、折返しも迂回もない走行路を生成する(ステップS402)。次に、経路生成部47は、作業領域のうち障害物外周領域と干渉する部分については、当該障害物外周領域の最大経路長が所定値以上である場合は折返し路を含む走行路を生成し(ステップS403)、所定値未満である場合は迂回路を含む走行路を生成する(ステップS404)。このように、迂回路を含む走行路を生成するか否かを、障害物の外周領域に対応付けておくことで、暫定走行路を生成することなく走行経路を生成することが可能である。
上記の実施形態では、図略の入力画面で枕地の幅及び非耕作地の幅を設定することで非作業領域が定められ、圃場から非作業領域を除外した残りの領域として作業領域が定められている。しかしながら、作業領域を設定する方法は上記に限らず、例えば、上述の圃場情報入力画面80において平面表示部81に表示された圃場の任意の点をユーザが指定することで作業領域及び非作業領域を設定できるように構成されても良い。
本発明の自律走行経路生成システムは、上述の無人トラクタ1と有人トラクタとの協調作業に限定されず、無人トラクタ1のみが単独で自律走行・自律作業を行う場合にも適用することができる。
上記の実施形態では、自律走行経路生成システム99を構成する作業方向設定部36と、経路生成部47と、障害物外周設定部34とは、無線通信端末46側に備えられているものとしたが、これに限るものではない。即ち、作業方向設定部36、経路生成部47、及び障害物外周設定部34のうちの一部又は全部がトラクタ1側に備えられているものとしてもよい。