(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-16
(45)【発行日】2023-11-27
(54)【発明の名称】作業車両の自律走行システム
(51)【国際特許分類】
G05D 1/02 20200101AFI20231117BHJP
A01B 69/00 20060101ALI20231117BHJP
【FI】
G05D1/02 N
A01B69/00 303K
(21)【出願番号】P 2020096400
(22)【出願日】2020-06-02
【審査請求日】2023-02-20
(73)【特許権者】
【識別番号】720001060
【氏名又は名称】ヤンマーホールディングス株式会社
(74)【代理人】
【識別番号】110000947
【氏名又は名称】弁理士法人あーく事務所
(72)【発明者】
【氏名】兒玉 優飛
(72)【発明者】
【氏名】松本 圭司
【審査官】田中 友章
(56)【参考文献】
【文献】国際公開第2017/175628(WO,A1)
【文献】特開2018-84899(JP,A)
【文献】特開2010-128935(JP,A)
【文献】特開2020-6872(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/02
A01B 69/00
(57)【特許請求の範囲】
【請求項1】
前輪が操舵輪である作業車両を自律走行させる作業車両の自律走行システムであって、
上記作業車両が走行する目標となる走行経路を生成する経路生成手段と、
上記作業車両に設定された制御中心の位置を検出可能な位置検出手段と、
上記前輪の操舵角の制御量を演算して出力する演算手段と、
上記演算手段によって出力された制御量に基づいて前輪を制御する操舵手段と、を備え、
上記演算手段は、後進旋回時には、上記走行経路からの上記制御中心の偏差と上記操舵角の制御量との相関を状態方程式で表した予測モデルに基づき、所定の制御周期毎に、所定の評価関数を用いて最適な制御量を所定のステップ先まで算出し、第1番目のステップの制御量のみを出力するとともに、当該制御量に対応する上記制御中心の予測位置と、上記位置検出手段によって検出された当該制御中心の実測位置とに基づいて、当該予測モデルを補正するように構成されていることを特徴とする作業車両の自律走行システム。
【請求項2】
上記請求項1に記載の作業車両の自律走行システムにおいて、
上記制御中心は、上記作業車両の後輪の車軸における車幅方向の中心位置に設定されており、
上記位置検出手段は、上記作業車両に設けられたGNSSアンテナの現在位置に基づいて、上記制御中心の現在位置を検出するように構成されていることを特徴とする作業車両の自律走行システム。
【請求項3】
上記請求項1または2に記載の作業車両の自律走行システムにおいて、
上記演算手段は、後進直進から後進旋回へ切り替える場合、または、後進旋回から直進へ切り替える場合には、上記走行経路における切替え予定位置に到達する前に、切替え後の制御量を出力するように構成されていることを特徴とする作業車両の自律走行システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、作業車両の自律走行システムに関し、特に、前輪が操舵輪である作業車両を自律走行させる作業車両の自律走行システムに関するものである。
【背景技術】
【0002】
例えば圃場や枕地で予め定められた走行経路に沿って前進直進と前進旋回とを繰り返す等といった具合に、予め定められ走行パターンにて作業車両を走行させる場合には、オペレータの負担を軽減するべく、作業車両を自律走行させることが従来から行われている。
【0003】
例えば特許文献1には、圃場内に予め設定された走行経路上の前方目標点と作業車両とを結ぶ線分と、走行経路と、がなす前方目標角度を算出するとともに、作業車両に配置された角速度センサから取得したヨーレートを実現する演算タイヤ角度を算出し、前方目標角度と演算タイヤ角度との比較結果に基づいて舵角を制御する、前方注視方式を採用した自律操舵装置が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、特許文献1のもののように、前方注視方式を採用した自律操舵装置では、作業車両に設けられたGNSSアンテナが走行経路上に位置するようにフィードバック補正を行うことが、具体的には、操舵制御後のGNSSアンテナの位置を検出し、検出結果に基づいて舵角の補正を行うのが一般的である。
【0006】
しかしながら、前輪が操舵輪である作業車両の後進旋回時に、かかる前方注視方式を採用した場合には、以下のような問題を生ずるおそれがある。
【0007】
すなわち、旋回の向きと前輪の操舵の向きとが一致する前進旋回とは異なり、後進旋回の場合には、旋回の向きとは反対の向きに前輪を操舵する必要がある。それ故、後進旋回を開始すると、前輪側が例えば円弧状の走行経路の外側に膨らむとともに、GNSSアンテナ位置が走行経路の内側に入ることになるため、旋回の向きと同じ向きに前輪を操舵する補正が入ることになる。すると、今度は、GNSSアンテナ位置が走行経路の外側に出ることになるため、旋回の向きとは反対の向きに前輪を操舵する補正が入ることになる。このような操舵制御とフィードバック補正とが繰り返されることで、操舵制御が発散し、作業車両が蛇行するという問題が生じることになる。
【0008】
本発明はかかる点に鑑みてなされたものであり、その目的とするところは、前輪が操舵輪である作業車両を、自律走行で後進旋回させる場合に、作業車両が蛇行するのを抑える技術を提供することにある。
【課題を解決するための手段】
【0009】
前記目的を達成するため、本発明に係る作業車両の自律走行システムでは、予測モデルを用いたモデル予測制御により、所定の制御周期毎に最適な制御量を算出するようにしている。
【0010】
具体的には、本発明は、前輪が操舵輪である作業車両を自律走行させる作業車両の自律走行システムを対象としている。
【0011】
そして、この作業車両の自律走行システムは、上記作業車両が走行する目標となる走行経路を生成する経路生成手段と、上記作業車両に設定された制御中心の位置を検出可能な位置検出手段と、上記前輪の操舵角の制御量を演算して出力する演算手段と、上記演算手段によって出力された制御量に基づいて前輪を制御する操舵手段と、を備え、上記演算手段は、後進旋回時には、上記走行経路からの上記制御中心の偏差と上記操舵角の制御量との相関を状態方程式で表した予測モデルに基づき、所定の制御周期毎に、所定の評価関数を用いて最適な制御量を所定のステップ先まで算出し、第1番目のステップの制御量のみを出力するとともに、当該制御量に対応する上記制御中心の予測位置と、上記位置検出手段によって検出された当該制御中心の実測位置とに基づいて、当該予測モデルを補正するように構成されていることを特徴とするものである。
【0012】
なお、本発明において「自律走行」とは、少なくとも操舵を自律的に行って、オペレータの運転操作なしで作業車両を走行させることを意味する。
【0013】
この構成によれば、予測モデルに基づき所定の制御周期毎に、最適な制御量を所定のステップ先まで算出することから、換言すると、数ステップ先を予測した上で最適な制御量を算出することから、制御中心の予測位置と実測位置とに基づいて予測モデルをフィードバック補正する際に、操舵制御が発散するのを抑えることができる。したがって、前輪が操舵輪である作業車両を自律走行で後進旋回させる場合にも、作業車両が蛇行するのを抑えることができる。
【0014】
また、上記作業車両の自律走行システムでは、上記制御中心は、上記作業車両の後輪の車軸における車幅方向の中心位置に設定されており、上記位置検出手段は、上記作業車両に設けられたGNSSアンテナの現在位置に基づいて、上記制御中心の現在位置を検出するように構成されていることが好ましい。
【0015】
作業車両を自律走行させる場合には、通常、GNSSアンテナの位置で作業車両を制御するところ、この構成によれば、制御中心をGNSSアンテナの位置ではなく、作業車両の後輪の車軸における車幅方向の中心位置に設定することから、換言すると、仮想のGNSSアンテナの位置(制御中心)を、後進旋回時における車両中心に設定することから、蛇行の影響をより一層抑えることができる。
【0016】
ところで、前進直進してきた作業車両を、後進旋回させて直角に方向転換させるような場合には、作業車両を前進直進からいきなり後進旋回させる訳ではなく、短い後進直進を経て後進旋回を開始するのが一般的である。このように後進直進から後進旋回へ切り替える場合には、曲率が0から1/曲率半径へ急激に変化するが、操舵手段にはダイナミクス(動的特性)があるため、不可避的に応答遅れが生じてしまい、旋回のタイミングが遅れることになる。かかる応答遅れを抑えるために、制御量を大きくすると、実際の操舵角が大きくオーバーシュートしてしまうおそれがある。なお、このような問題は、後進旋回から前進直進または後進直進へ切り替える場合にも生じ得る。
【0017】
そこで、上記作業車両の自律走行システムでは、上記演算手段は、後進直進から後進旋回へ切り替える場合、または、後進旋回から直進へ切り替える場合には、上記走行経路における切替え予定位置に到達する前に、切替え後の制御量を出力するように構成されていることが好ましい。
【0018】
この構成によれば、走行経路における切替え予定位置に到達する前に、先を見越して演算手段が早めに切替え後の制御量を出力することで、オーバーシュートの発生を抑えつつ、操舵手段のダイナミクスに起因する遅れを抑えることができる。
【発明の効果】
【0019】
以上説明したように、本発明に係る作業車両の自律走行システムによれば、前輪が操舵輪である作業車両を、自律走行で後進旋回させる場合に、作業車両が蛇行するのを抑えることができる。
【図面の簡単な説明】
【0020】
【
図1】本発明の実施形態に係る自律走行システムの概要を模式的に示す図である。
【
図2】自律走行システムを模式的に示すブロック図である。
【
図3】直線状走行経路に沿ってロボットトラクタを自律走行させる手法を模式的に説明する図である。
【
図4】ヨーレートから演算タイヤ角度を算出する手法を模式的に説明する図である。
【
図5】前進旋回用走行経路に沿ってロボットトラクタを自律走行させる手法を模式的に説明する図である。
【
図6】枕地において、ロボットトラクタを進行方向と直角に方向転換させる態様の一例を模式的に説明する図である。
【
図7】時計回りの後進旋回時のプラントモデルを模式的に説明する図である。
【
図8】反時計回りの後進旋回時のプラントモデルを模式的に説明する図である。
【
図9】モデル予測制御の概念を模式的に説明する図である。
【
図10】後進直進から後進旋回に切り替える場合、および、後進旋回から後進直進に切り替える場合における、曲率の変化を模式的に説明する図である。
【
図11】後進直進から後進旋回への切替え予定位置までの距離と、後進旋回時の曲率との関係を示すグラフ図である。
【
図12】後進旋回から後進直進への切替え予定位置までの距離と、後進旋回時の曲率との関係を示すグラフ図である。
【
図13】後進旋回時のロボットトラクタの軌跡を模式的に示す図である。
【発明を実施するための形態】
【0021】
以下、本発明を実施するための形態を図面に基づいて説明する。
【0022】
-自律走行システム-
図1は、本実施形態に係る自律走行システム1の概要を模式的に示す図である。この自律走行システム1は、GNSS衛星65を利用してロボットトラクタ10の位置を把握しながら、無線通信端末50に予め設定された走行経路に沿って、圃場内や枕地等においてロボットトラクタ10を自律走行させるものである。なお、「自律走行」とは、少なくとも操舵を自律的に行って、オペレータ(図示せず)の運転操作なしでロボットトラクタ10を走行させることを意味する。
【0023】
ロボットトラクタ(作業車両)10は、
図1に示すように、車体部11と、左右1対の前輪13と、左右一対の後輪15と、作業機17と、を備えている。車体部11の前部には、エンジン19が配置されており、エンジン19で発生した動力がHMT(Hydro Mechanical Transmission)21(
図2参照)を介して前輪13および後輪15に伝達されるようになっている。一方、車体部11の後部には、オペレータが搭乗するキャビン23が設けられている。キャビン23の内部には、操舵輪である前輪13をオペレータが操舵するための操舵ハンドル25が配置されている。また、キャビン23の上部には、GNSS衛星65からの搬送波位相を検出することが可能なGNSSアンテナ27や、無線通信端末50と無線通信を行うための通信アンテナ29や、後述する慣性計測装置45等が設けられている。作業機17は、車体部11の後端部に設けられたリンク機構11aに装着されている。
【0024】
このロボットトラクタ10は、オペレータがキャビン23内に搭乗して操舵ハンドル25等を実際に操作することで走行する他、オペレータによって設定された無線通信端末50からの指示等に基づいて自律的に走行することが可能に構成されている。なお、ロボットトラクタ10は、無線通信端末50を操作するオペレータの乗車の有無に関係なく、換言すると、オペレータがキャビン23内に搭乗していてもしていなくても、自律走行を行うことが可能となっている。以下、このような自律走行を可能とする本実施形態の自律走行システム1について詳細に説明する。
【0025】
図2は、自律走行システム1を模式的に示すブロック図である。本実施形態の自律走行システム1は、
図2に示すように、ロボットトラクタ10に搭載された走行制御装置30と、オペレータによって操作される無線通信端末50と、基準局60と、を中心に構成されている。
【0026】
〈走行制御装置〉
ロボットトラクタ10の走行制御装置30は、公知のコンピュータからなり、図示は省略するが、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、入力インターフェース、出力インターフェース等を含んでいる。CPUは、ROMに記憶された各種制御プログラムやマップに基づいて演算処理を実行する。ROMには、各種制御プログラムや、それら各種制御プログラムを実行する際に参照されるマップ等が記憶されている。RAMは、CPUによる演算結果や各センサの検出結果等を一時的に記憶するメモリである。この走行制御装置30には、
図2に示すように、車速センサ41と、舵角センサ43と、慣性計測装置45と、GNSSアンテナ27と、通信アンテナ29と、エンジンECU31と、HMTECU33と、ステアリングECU35と、が接続されている。
【0027】
車速センサ41は、例えば前輪13の車軸に配置されていて、前輪13の車軸の回転に応じたパルス信号を発生するように構成されている。車速センサ41による検出結果(パルス信号)は、走行制御装置30に入力される。
【0028】
舵角センサ43は、ステアリングシャフト(図示せず)に配置されていて、ステアリング角度(ステアリングシャフトの回転角度)を検出するように構成されている。なお、舵角センサ43は、タイヤ角度(ロボットトラクタ10の前後方向軸に対する前輪13の車輪の傾斜角)を検出するように構成されていてもよい。舵角センサ43による検出結果は、走行制御装置30に入力される。
【0029】
慣性計測装置45は、3つのジャイロセンサ(角速度センサ)と3つの加速度センサを備えている。これにより、慣性計測装置45は、上下方向を回転軸としたロボットトラクタ10の角速度であるヨーレートの他、ロールや、ピッチを検出することが可能となっている。慣性計測装置45が検出するロボットトラクタ10の角速度および加速度は、走行制御装置30に入力される。
【0030】
GNSSアンテナ27は、GNSS衛星65からの搬送波位相を検出して、検出結果を走行制御装置30へ出力する。GNSSアンテナ27は、ロボットトラクタ10における車幅方向の中央部に設けられている。走行制御装置30は、後述するように、基準局60からの補正情報を受信した上で、RTKを利用して測位を行うことで、ロボットトラクタ10の位置を例えば緯度および経度の情報として算出する。
【0031】
通信アンテナ29は、無線通信端末50の通信アンテナ53や、基準局60の無線通信装置63との間で各種の信号を送受信可能に構成されている。これにより、走行制御装置30は、適宜の方式で変調処理または復調処理を行うことで、無線通信端末50や基準局60との間で情報の遣り取りを行うことが可能となっている。
【0032】
エンジンECU31は走行制御装置30の指令に基づいてエンジン19の制御を行うとともに、エンジン19の状態に関する情報を走行制御装置30へ出力するように構成されている。また、HMTECU33は走行制御装置30の指令に基づいてHMT21の制御を行うとともに、HMT21の状態に関する情報を走行制御装置30へ出力するように構成されている。走行制御装置30は、車速センサ41の検出結果により得られた、ロボットトラクタ10の現在の車速Vが目標の車速に近づくように、エンジン19の回転速度および/またはHMT21の変速比を変更することで、ロボットトラクタ10の車速Vを自律的に変更する車速制御を行うようになっている。
【0033】
ステアリングECU35は、走行制御装置30との間で指令や情報の遣り取りを行うことが可能になっており、走行制御装置30の指令に基づいて、前輪13の電動パワーステアリング37の制御を行うように構成されている。走行制御装置30は、舵角センサ43の検出結果により得られた現在の舵角に基づいて、例えば電動パワーステアリング37の操舵トルクを制御するアシストモータ(図示せず)を駆動させることで、ロボットトラクタ10の舵角を自律的に変更する操舵制御を行うことが可能となっている。
【0034】
〈無線通信端末〉
無線通信端末50は、タブレット型のコンピュータであり、
図2に示すように、制御部51と、通信アンテナ53と、ディスプレイ55と、操作部57と、を備えている。
【0035】
制御部51は、公知のコンピュータとして構成されており、図示は省略するが、CPU、ROM、RAM、入力インターフェース、出力インターフェース等を含んでいる。そして、制御部51は、走行経路生成部51aと、記憶部51bと、を備えている。
【0036】
走行経路生成部51aは、オペレータの操作に基づいて、ロボットトラクタ10が走行する目標となる走行経路を生成する処理を行う。走行経路には、直線状走行経路71(
図3参照)、前進旋回用走行経路73(
図5参照)および後進旋回用走行経路75(
図6参照)、並びに、これらを組み合わせた経路等がある。記憶部51bには、ロボットトラクタ10の設定に関する情報、オペレータが作成した走行経路71,73,75、および、走行経路71,73,75を生成するための各種条件等が記憶されている。
【0037】
なお、請求項との関係では、本実施形態の無線通信端末50の走行経路生成部51aが、本発明でいうところの「作業車両が走行する目標となる走行経路を生成する経路生成手段」に相当する。
【0038】
通信アンテナ53は、ロボットトラクタ10と無線通信を行うための近距離通信用のアンテナで構成されている。制御部51は、適宜の方式で変調処理または復調処理を行うことで、ロボットトラクタ10の走行制御装置30や基準局60との間で情報を遣り取りすることが可能となっている。
【0039】
ディスプレイ55は、液晶ディスプレイや有機ELディスプレイ等であり、画像を表示可能に構成されている。ディスプレイ55は、制御部51の制御によって、例えば、自律走行に関する情報、ロボットトラクタ10の設定に関する情報、各種センサの検出結果および警告情報等を表示することが可能となっている。操作部57は、例えば、ディスプレイ55に重ねて配置されたタッチパネルであり、ディスプレイ55上におけるオペレータの指等による操作を検出するように構成されている。
【0040】
〈基準局〉
本実施形態では、衛星測位システムを用いた測位方法としてRTK(Real Time Kinematic)を採用しており、基準点からの補正情報と、側位点の衛星測位情報と、を用いて、ロボットトラクタ10の現在位置を求めるようにしている。
【0041】
具体的には、ロボットトラクタ10の走行の邪魔にならない位置に基準点となる基準局60を設置している。なお、基準局60を設置した箇所は、ロボットトラクタ10の走行制御装置30や無線通信端末50によって記憶される。基準局60は、GNSSアンテナ61と、ロボットトラクタ10の通信アンテナ29との間で各種の信号を送受信可能な無線通信装置63と、を備えている。これにより、基準点でも、GNSS衛星65からの搬送波位相を検出することができるとともに、基準局60とロボットトラクタ10との間で各種の情報が送受信可能になっている。
【0042】
そうして、基準点に設置された基準局60のGNSSアンテナ61と、側位点となるロボットトラクタ10のGNSSアンテナ27との両方でGNSS衛星65からの搬送波位相を検出する。基準局60では、GNSS衛星65から搬送波位相を検出する毎に、検出した搬送波位相と基準点の位置情報等を含む補正情報を生成して、無線通信装置63からロボットトラクタ10の通信アンテナ29に補正情報を送信する。これに対し、ロボットトラクタ10の走行制御装置30では、GNSSアンテナ27にて検出した搬送波位相と、基準局60から送信された補正情報とを用いて、上述の如く、ロボットトラクタ10の現在位置情報を緯度および経度の形式で算出する。
【0043】
-自律操舵制御(前進時)-
〈直線状走行経路〉
次に、
図3および
図4を参照して、ロボットトラクタ10を直線状走行経路71に沿って自律走行させる場合の操舵制御について説明する。
【0044】
図3は、直線状走行経路71に沿ってロボットトラクタ10を自律走行させる手法を模式的に説明する図であり、
図4は、ヨーレートから演算タイヤ角度βを算出する手法を模式的に説明する図である。
図3に示す直線状走行経路71から離れた位置を走行しているロボットトラクタ10を、当該直線状走行経路71に沿って自律走行させる場合、走行制御装置30は、以下に説明するように、前方注視方式にて目標ステアリング角速度を算出するように構成されている。この場合、操舵制御の入力は、前方目標角度φおよび演算タイヤ角度βである。
【0045】
前方目標角度φは、ロボットトラクタ10を直線状走行経路71に沿って走行させる際に用いられる角度であり、前方目標点P1に基づいて、走行制御装置30によって算出される。ロボットトラクタ10には予め前方目標距離が設定されており、走行制御装置30は、ロボットトラクタ10のGNSSアンテナ27から直線状走行経路71までの距離が前方目標距離となる点(前方目標点P1)を特定する。また、走行制御装置30は、ロボットトラクタ10のGNSSアンテナ27の位置と前方目標点P1とを接続する線分(線L1)を引き、線L1と直線状走行経路71とがなす角を前方目標角度φとして算出する。
【0046】
また、走行制御装置30は、慣性計測装置45が検出したヨーレートに基づいて、演算タイヤ角度βを算出する。演算タイヤ角度βは、検出したヨーレートでロボットトラクタ10を旋回させるための理想的な(理論上の)タイヤ角度、換言すれば、検出されたヨーレートをタイヤ角度に変換した値である。演算タイヤ角度βは、4輪車であるロボットトラクタ10を、
図4に示すように、前輪13および後輪15が左右一対ではなく中央に1つずつあると仮定した2輪車モデルに変換して算出される。
【0047】
図4において、ωはヨーレートであり、Vは車速であり、Lはホイールベースであり、Rは2輪車モデルにおける旋回半径である。なお、車速Vは車速センサ41によって検出され、また、ホイールベースLは予め走行制御装置30に記憶されている。そうして、2輪車モデルにおける旋回半径Rは、下記の(式1)で表される。
【0048】
【0049】
また、ヨーレート(角速度)ωと車速Vと旋回半径Rの関係は、(式1)を用いて下記の(式2)で表すことができる。
【0050】
【0051】
さらに、演算タイヤ角度βの値は、(式2)を変形して、下記の(式3)表すことができる。
【0052】
【0053】
このような処理を行うことで、慣性計測装置45が検出したヨーレートωから演算タイヤ角度βを算出することが可能となる。
【0054】
そうして、走行制御装置30は、前方目標角度φから演算タイヤ角度βを減算する。これにより、タイヤ角度と進行方向との差異が含まれないように、換言すると、横滑りの影響がなくなるように、前方目標角度φが補正されることになる。
【0055】
走行制御装置30は、前方目標角度φから演算タイヤ角度βを減算した処理結果に基づいて目標ステアリング角速度を算出し、ステアリングECU35に出力する。ステアリングECU35が、目標ステアリング角速度に基づいて、前輪13の電動パワーステアリング37の制御を行うことで、ロボットトラクタ10の舵角が自律的に変更される。これにより、前方目標角度φおよび演算タイヤ角度βの値が変化するため、前方目標角度φから演算タイヤ角度βを減算した値も変化し、新たな目標ステアリング角速度が出力される。以上の処理を継続して行うことで、ロボットトラクタ10を直線状走行経路71に沿って走行させることができる。
【0056】
〈前進旋回用走行経路〉
次に、
図5を参照して、ロボットトラクタ10を前進旋回用走行経路73に沿って自律走行させる場合の操舵制御について説明する。
【0057】
図5は、前進旋回用走行経路73に沿ってロボットトラクタ10を自律走行させる手法を模式的に説明する図である。前進旋回用走行経路73に沿ってロボットトラクタ10を自律走行させる場合には、走行制御装置30は、直線状走行経路71の場合と同様に、前方注視方式にて目標ステアリング角速度を算出するように構成されている。この場合、操舵制御の入力は、前方目標角度φ、演算タイヤ角度βおよび旋回演算タイヤ角度である。
【0058】
前方目標角度φは、ロボットトラクタ10を前進旋回用走行経路73に沿って走行させる際に用いられる角度であり、前方目標点P1に基づいて、走行制御装置30によって算出される。走行制御装置30は、ロボットトラクタ10から前進旋回用走行経路73までの距離が前方目標距離となる点(前方目標点P1)を特定する。また、走行制御装置30は、ロボットトラクタ10のGNSSアンテナ27の位置と前方目標点P1とを接続する線分(線L1)を引く。
【0059】
次に、走行制御装置30は、ロボットトラクタ10のGNSSアンテナ27の位置と、前進旋回用走行経路73の旋回中心P2と、を結ぶ線分である線L2を引く。そうして、走行制御装置30は、線L2に垂直であってGNSSアンテナ27の位置を通る線L3を引き、線L1と線L3がなす角を前方目標角度φとして算出する。ここで、線L3は、線L2と前進旋回用走行経路73との交点における前進旋回用走行経路73の接線であるため、現在のロボットトラクタ10位置における前進旋回用走行経路73の方向を示している。
【0060】
また、走行制御装置30は、直線状走行経路71の場合と同様に、慣性計測装置45が検出したヨーレートωに基づいて、演算タイヤ角度βを算出する。そうして、走行制御装置30は、前方目標角度φから演算タイヤ角度βを減算する。
【0061】
さらに、走行制御装置30は、前進旋回用走行経路73に沿って旋回するためのヨーレートである旋回ヨーレートを、前進旋回用走行経路73の曲率半径等に基づいて推測し、推測した旋回ヨーレートを
図4に示す手法で旋回演算タイヤ角度に変換する。そうして、走行制御装置30は、減算後の前方目標角度φに対して、旋回演算タイヤ角度を加算する。後の処理は、直線状走行経路71の場合と同様なので、説明を省略する。
【0062】
-自律操舵制御(後進旋回時)-
次に、ロボットトラクタ10を後進旋回用走行経路75に沿って自律走行させる場合の操舵制御について説明する。
【0063】
図6は、枕地5において、ロボットトラクタ10を進行方向と直角に方向転換させる態様の一例を模式的に説明する図である。本実施形態では、圃場3の外側に設定された枕地5において、ロボットトラクタ10を進行方向と直角に方向転換させる態様として、
図6に示すように、αターンを採用している。
【0064】
ここで、「αターン」とは、
図6の白抜き矢印で示すように、直線状走行経路71aに沿って前進直進してきたロボットトラクタ10を、
図6の黒塗り矢印で示すように、後進旋回用走行経路75に沿って後進旋回させて直角に方向転換させた後、
図6のハッチング矢印で示すように、方向転換後のロボットトラクタ10を直線状走行経路71bに沿って前進直進させる方向転換態様を指す。
【0065】
なお、後進旋回用走行経路75には、
図6に示すように、円弧経路75bの両側に短い直線経路75aおよび直線経路75cが含まれている。それ故、より正確には、αターンとは、直線状走行経路71aに沿って前進直進してきたロボットトラクタ10を、一旦直線経路75aに沿って短く後進させてから、円弧経路75bに沿って後進旋回させて直角に方向転換させた後、直線経路75cに沿って短く後進させてから、方向転換後のロボットトラクタ10を直線状走行経路71bに沿って前進直進させる方向転換態様を指す。
【0066】
ここで、ロボットトラクタ10を、後進旋回用走行経路75に沿って後進旋回させる場合にも、前進の場合と同様に、前方注視方式を採用することが考えられる。しかしながら、前輪13が操舵輪であるロボットトラクタ10の後進旋回時に、前方注視方式を採用した場合には、以下のような問題を生ずるおそれがある。
【0067】
すなわち、旋回の向きと前輪13の操舵の向きとが一致する前進旋回とは異なり、後進旋回の場合には、旋回の向きとは反対の向きに前輪13を操舵する必要がある。それ故、後進旋回を開始すると、前輪13側が後進旋回用走行経路75の外側に膨らむとともに、GNSSアンテナ27の位置が後進旋回用走行経路75の内側に入ることになるため、旋回の向きと同じ向きに前輪13を操舵する補正が入ることになる。すると、今度は、GNSSアンテナ27の位置が後進旋回用走行経路75の外側に出ることになるため、旋回の向きとは反対の向きに前輪13を操舵する補正が入ることになる。このような操舵制御とフィードバック補正とが繰り返されることで、操舵制御が発散し、ロボットトラクタ10が蛇行するという問題が生じることになる。
【0068】
そこで、本実施形態の自律走行システム1では、予測モデルを用いたモデル予測制御により、所定の制御周期毎に最適な制御量を算出するようにしている。
【0069】
具体的には、後進旋回時には、後進旋回用走行経路75からの制御中心CCの偏差と操舵角の制御量との相関を状態方程式で表した予測モデルに基づき、所定の制御周期毎に、所定の評価関数Jを用いて最適な制御量を所定のステップ先まで算出し、第1番目のステップの制御量のみを出力するとともに、制御量に対応する制御中心CCの予測位置と、GNSSアンテナ27等によって検出される制御中心CCの実測位置とに基づいて、予測モデルを補正するように、走行制御装置30を構成している。以下、ロボットトラクタ10を後進旋回用走行経路75に沿って自律走行させる場合のモデル予測制御について詳細に説明する。
【0070】
〈状態方程式〉
本実施形態では、状態方程式(差分方程式)を下記の(式4)のように定義する。
【0071】
【0072】
ここで、k(0以上の整数)は予測ステップ数であり、Aは状態係数ベクトルであり、x[k]は第kステップにおけるモデルの状態ベクトルであり、b1は入力係数ベクトルであり、u[k]は第kステップにおける入力(制御量)であり、b2は外乱係数ベクトルであり、d[k]は第kステップにおける既知外乱である。
【0073】
そうして、上記(式4)から、以下のような状態時系列を考える。
【0074】
【0075】
以上の状態系列をまとめて、行列で表現すると、下記の(式5)のように表すことができる。なお、(式5)におけるEは単位行列である。
【0076】
【0077】
ここで、状態系列ベクトルX、入力系列ベクトルU、外乱系列ベクトルD、行列H1、行列H2および行列H3を、下記の(式6)~(式11)のように定義する。
【0078】
【0079】
すると、上記(式5)は、下記の(式12)のように表すことができ、この(式12)で表される状態方程式が、下記の評価関数Jによる評価対象となる。
【0080】
【0081】
〈評価関数〉
本実施形態では、評価関数Jを下記の(式13)のように定義する。なお、W1およびW2は重み行列である。
【0082】
【0083】
上記(式13)における1/2は、後の計算に出てくる2を打ち消すために与えられた単なる係数である。それ故、上記(式13)の評価関数Jは、状態系列ベクトルXの2乗と入力系列ベクトルUの2乗との和を重み付けして評価しているといえる。
【0084】
上記(式13)に上記(式12)の状態方程式を代入して整理すると、評価関数Jを下記の(式14)のように表すことができる。なお、(式12)を整理する際に出てくる、UH2
TW1H1x0、UTH2
TW1H3DおよびDTH1
TW1H1x0は、最終的にはスカラーになることから、それぞれx0
TH1
TW1H2U、DTH3
TW1H2Uおよびx0
TH1
TW1H1Dに変換可能である。
【0085】
【0086】
上記(式14)に示す評価関数Jを、入力系列ベクトルUで微分すると、下記の(式15)が得られる。
【0087】
【0088】
ここで、∂(J(U))/∂U=0となる入力系列ベクトルUで、評価関数Jが最小となることから、∂(J(U))/∂U=0を解くことで、下記の(式16)で示す、最適な入力系列ベクトルUが得られる。
【0089】
【0090】
そうして、走行制御装置30は、例えば、予測サンプリング時間dt=0.1(秒)毎に、上記(式16)に基づき最適な入力(制御量)を5ステップ先まで算出し、第1番目のステップの制御量のみを出力する。それ故、請求項との関係では、予測サンプリング時間dtが、本発明でいうところの「所定の制御周期」に相当し、5ステップが、本発明でいうところの「所定のステップ」に相当する。
【0091】
〈プラントモデル〉
図7は、時計回りの後進旋回時のプラントモデルを模式的に説明する図であり、
図8は、反時計回りの後進旋回時のプラントモデルを模式的に説明する図である。本実施形態では、
図7および
図8に示すように、後進旋回時のプラントモデルとして、前進時の操舵制御と同様に、2輪車モデルを採用している。
【0092】
もっとも、後進旋回時のプラントモデルでは、GNSSアンテナ27の位置を基準として制御を行う前進時の操舵制御と異なり、ロボットトラクタ10の制御中心CCを、後輪15の車軸における車幅方向の中心位置に設定している。GNSSアンテナ27と後輪15の車軸の中心位置との位置関係は予め走行制御装置30に記憶されている。走行制御装置30は、上述の如く、GNSSアンテナ27、基準局60およびGNSS衛星65等を用いて、GNSSアンテナ27の現在位置を算出し、かかるGNSSアンテナ27の現在位置に基づいて、制御中心CCの現在位置を検出するように構成されている。
【0093】
このように、制御中心CCをロボットトラクタ10の後輪15の車軸における車幅方向の中心位置に設定することから、換言すると、GNSSアンテナ27の仮想位置(制御中心CC)を、後進旋回時の車両中心に設定することから、蛇行の影響をより一層抑えることができる。
【0094】
なお、請求項との関係では、走行制御装置30、GNSSアンテナ27、基準局60およびGNSS衛星65等が、本発明でいうところの「作業車両に設定された制御中心を検出可能な位置検出手段」に相当する。なお、以下では、これらをまとめて「位置検出システム」とも称する。
【0095】
そうして、本実施形態では、上記(式4)の状態方程式の状態ベクトルxを、下記の(式17)のように定義している。
【0096】
【0097】
なお、
図7および
図8に示すように、yは、後進旋回用走行経路75からの制御中心CCの横方向偏差であり、θは、後進旋回用走行経路75の接線75’に対する後輪15のタイヤ角度偏差であり、δは、前輪13のタイヤ角度である。
【0098】
ここで、時計回りの後進旋回時における、第kステップでの横方向偏差y[k]と第k+1ステップでの横方向偏差y[k+1]との関係は、
図7を参照して、車速V、第kステップでのタイヤ角度偏差θ[k]、および、予測サンプリング時間dtを用いて、下記の(式18)のように表すことができる。
【0099】
【0100】
また、時計回りの後進旋回時における、第kステップでのタイヤ角度偏差θ[k]と第k+1ステップでのタイヤ角度偏差θ[k+1]との関係は、
図7を参照して、車速V、ホイールベースL、第kステップでの前輪13のタイヤ角度δ[k]、第kステップでの曲率c[k]、および、予測サンプリング時間dtを用いて、下記の(式19)のように表すことができる。
【0101】
【0102】
さらに、ステアリングダイナミクスの時定数をτと規定し、第kステップでの前輪13のタイヤ角度の制御量(ステアリング角度)をu[k]とすると、第kステップでのタイヤ角度δ[k]と第k+1ステップでのタイヤ角度δ[k+1]との関係は、
図7を参照して、時定数τ、第kステップでの制御量u[k]、および、予測サンプリング時間dtを用いて、下記の(式20)のように表すことができる。
【0103】
【0104】
以上の(式18)~(式20)をまとめて、時計回りの後進旋回時におけるプラントモデルの運動方程式は、下記の(式21)のように定義される。
【0105】
【0106】
一方、反時計回りの後進旋回時においても、第kステップでの横方向偏差y[k]と第k+1ステップでの横方向偏差y[k+1]との関係、および、第kステップでのタイヤ角度δ[k]と第k+1ステップでのタイヤ角度δ[k+1]との関係は、上記(式18)および(式20)と同じになる。
【0107】
これに対し、反時計回りの後進旋回時における、第kステップでのタイヤ角度偏差θ[k]と第k+1ステップでのタイヤ角度偏差θ[k+1]との関係は、
図8を参照して、下記の(式22)のように表すことができる。
【0108】
【0109】
よって、(式18)、(式22)および(式20)をまとめて、反時計回りの後進旋回時におけるプラントモデルの運動方程式は、下記の(式23)のように定義される。
【0110】
【0111】
これら(式21)および(式23)で表されるプラントモデルに上記(式4)の状態方程式を適用する場合には、上記(式4)の状態方程式と上記(式21)のプラントモデルの運動方程式とを見比べれば分かるように、状態方程式における状態係数ベクトルA、入力係数ベクトルb1および外乱係数ベクトルb2は、それぞれ下記の(式24)、(式25)および(式26)で規定される。
【0112】
【0113】
これら状態係数ベクトルA、入力係数ベクトルb1および外乱係数ベクトルb2を、上記(式9)~(式11)に代入することで、これらを要素とする行列H1、行列H2および行列H3を算出することができる。そうして、これら行列H1、行列H2および行列H3を上記(式12)に代入したものが、本実施形態の予測モデルとなる。
【0114】
また、重み行列W1および重み行列W2は、適宜設定されることから、上記(式16)に基づいて、最適な制御量を算出することが可能となる。
【0115】
〈モデル予測制御〉
次に、時計回りの後進旋回を例として、上記予測モデルおよび評価関数Jを用いたモデル予測制御について説明する。なお、
図9は、モデル予測制御の概念を模式的に説明する図である。また、各制御周期は、予測サンプリング時間dt=0.1である。
【0116】
≪第1制御周期≫
先ず、本実施形態のモデル予測制御は、
図6に示すように、直線状走行経路71aに沿って前進直進してきたロボットトラクタ10の制御中心CCが、圃場3のコーナー近傍の枕地5に設定された制御開始位置SPに到達したことが、位置検出システムによって検出されたときに開始される。これにより、ロボットトラクタ10が直線経路75aに沿って後進し始める。
【0117】
そうして、本実施形態のモデル予測制御では、
図9の(A)に示すように、位置検出システム等によって検出されたプラントモデルの毎ステップの観測値x
0を、上記(式12)の予測モデルに代入して、上記(式16)から最適な入力系列を算出する。
【0118】
具体的には、後進旋回開始時(k=0)における、制御中心CCの横方向偏差y0は、位置検出システムによって検出されたロボットトラクタ10の現在位置情報から求めることができる。また、後進旋回開始時(k=0)における、タイヤ角度偏差θ0は、ロボットトラクタ10の位置変化情報から求めることができる。なお、タイヤ角度偏差θ0は、方位センサ(図示せず)で求めてもよい。さらに、後進旋回開始時(k=0)における、前輪13のタイヤ角度δ0は、舵角センサ43の検出結果から求めることができる。よって、プラントモデルの毎ステップの観測値であるx0=[y0 θ0 δ0]Tを算出することができる。
【0119】
また、外乱系列ベクトルD=[d[1] d[1] d[2]…d[N-1]]Tは、後進旋回用走行経路75が円弧であり、曲率半径(旋回半径R)が一定であれば、c[k]=1/Rなので一定となる。
【0120】
これらにより、上記(式16)から、5ステップ分の(0.5秒先までの)入力系列ベクトルU=[u[1] u[2] u[3] u[4] u[5]]Tを算出することができる。もっとも、走行制御装置30は、算出した第1~第5ステップのうち第1番目のステップの制御量u[1](ステアリング角度(操舵角))のみをステアリングECU35へ出力し、ステアリングECU35は制御量u[1]に基づいて前輪13を制御する。それ故、請求項との関係では、走行制御装置30が、本発明でいうところの「前輪の操舵角の制御量を演算して出力する演算手段」に相当し、ステアリングECU35が、本発明でいうところの「演算手段によって出力された制御量に基づいて前輪を制御する操舵手段」に相当する。
【0121】
なお、位置検出システムによって検出された制御中心CCの現在位置を、
図9の(A)に示すような毎ステップの観測値として用いるのは、第1制御周期だけである。
【0122】
≪第2制御周期以降≫
第2制御周期では、走行制御装置30は、制御量に対応する制御中心CCの予測位置と、位置検出システムによって検出された制御中心CCの実測位置とに基づいて、予測モデルを補正する。より詳しくは、走行制御装置30は、制御量u[1]に基づいて前輪13が操舵された後に、位置検出システムによって検出された制御中心CCの現在位置と、制御量u[1]に対応する制御中心CCの予測位置との誤差を、
図9の(B)に示すように、外乱系列ベクトルD=[d[1] d[2] d[3] d[4] d[5]]
Tとして予測モデルに反映させて、5ステップ分の入力系列ベクトルU=[u[2] u[3] u[4] u[5] u[6]]
Tを算出する。そうして、走行制御装置30は、算出した第2~第5ステップのうち第1番目のステップの制御量u[2]のみをステアリングECU35へ出力し、ステアリングECU35は制御量u[2]に基づいて前輪13を制御する。
【0123】
同様に、第3制御周期では、外乱系列ベクトルD=[d[2] d[3] d[4] u[5] u[6]]Tとして予測モデルに反映させて、5ステップ分の入力系列ベクトルU=[u[3] u[4] u[5] u[6] u[7]]Tを算出し、制御量u[3]のみをステアリングECU35へ出力する。以後、このような制御を継続して行うことで、ロボットトラクタ10を後進旋回用走行経路75に沿って走行させる。
【0124】
このように、本実施形態によれば、予測モデルに基づき0.1(秒)毎に、最適な制御量を5ステップ先まで算出することから、換言すると、5ステップ先を予測した上で最適な制御量を算出することから、制御中心CCの予測位置と実測位置とに基づいて、予測モデルをフィードバック補正する際に、操舵制御が発散するのを抑えることができる。つまり、ロボットトラクタ10の状態を0.5秒先まで予測した上で、最適な制御量を算出することから、制御中心CCの実測位置とのずれが予測の範囲内であれば、蛇行を生じるような制御量が出力されるのを抑えることができる。したがって、前輪13が操舵輪であるロボットトラクタ10を自律走行で後進旋回させる場合にも、ロボットトラクタ10が蛇行するのを抑えることができる。
【0125】
〈制御タイミング〉
図10は、後進直進から後進旋回に切り替える場合、および、後進旋回から後進直進に切り替える場合における、曲率cの変化を模式的に説明する図である。上述の如く、前進直進してきたロボットトラクタ10をαターンさせる場合には、ロボットトラクタ10を前進直進からいきなり後進旋回させる訳ではなく、直線経路75aに沿った後進直進を経てから、円弧経路75bに沿った後進旋回を開始する。このように後進直進から後進旋回へ切り替える場合には、
図10に示すように、曲率cが0から1/Rへ急激に変化するが、電動パワーステアリング37にはダイナミクス(動的特性)があるため、不可避的に応答遅れが生じてしまい、旋回のタイミングが遅れることになる。
【0126】
かかる応答遅れを抑えるために、制御量u[k]を大きくすると、実際の操舵角が大きくオーバーシュートしてしまうおそれがある。なお、このような問題は、円弧経路75bに沿った後進旋回から前進直進または直線経路75cに沿った後進直進へ切り替える場合にも生じ得る。
【0127】
そこで、本実施形態の自律走行システム1では、後進直進から後進旋回へ切り替える場合、または、後進旋回から直進へ切り替える場合には、後進旋回用走行経路75における切替え予定位置に到達する前に、切替え後の制御量を出力するように走行制御装置30を構成している。以下、このような制御について詳細に説明する。
【0128】
≪後進直進から後進旋回へ切り替える場合≫
先ず、直線経路75aの終点E1(切替え予定位置)では、曲率c=1/Rとなることが好ましい。また、仮にステップ状に曲率cを増加させても電動パワーステアリング37は追従することができないため、終点E1に到達するまでに曲率cを滑らかに増加させるのが好ましい。これらを考慮すると、下記の(式27)で表される、
図11に示すようなグラフを描くことができる。
【0129】
【0130】
なお、(式27)において、AEDは、直線経路75a上での終点E1(=0)までの距離であり、また、XP1は、直線経路75a上において曲率cの増加を開始する位置であり、どこから曲率cを増加させるかに応じて適宜設定される値である。
【0131】
ここで、速度の横方向成分は微小であると考えて、d(AED)/dt=車速Vとすると、(式27)における傾きの時間変化は、下記の(式28)で表される。
【0132】
【0133】
これを予測サンプリング時間dtで離散化(オイラー近似)すると、第k+1ステップでの曲率c[k+1]と、第kステップでの曲率c[k]との関係は、下記の(式29)で表される。
【0134】
【0135】
そうして、初期値c[0]を下記の(式30)のように定め、上記(式29)を用いて予測区間を求める。ただし、曲率c[k]は1/Rで飽和させる。
【0136】
【0137】
≪後進旋回から直進へ切り替える場合≫
円弧経路75bに沿った後進旋回が終わるまで同じ曲率1/Rで旋回し続けると、円弧経路75bの終点E2から惰性で進むときにロボットトラクタ10が切れ込み過ぎてしまうおそれがある。
【0138】
それ故、後進旋回から直進へ切り替える場合には、円弧経路75bの終点E2(切替え予定位置)では、曲率c=0となることが好ましい。また、仮にステップ状に曲率cを減少させても電動パワーステアリング37は追従することができないため、終点E2に到達するまでに曲率cを滑らかに減少させるのが好ましい。これらを考慮すると、下記の(式31)で表される、
図12に示すようなグラフを描くことができる。
【0139】
【0140】
なお、(式31)において、AEDは、円弧経路75b上での終点E2(=0)までの距離であり、また、XP2は、円弧経路75b上において曲率cの減少を開始する位置であり、どこから曲率cを減少させるかに応じて適宜設定される値である。
【0141】
ここで、d(AED)/dt=車速Vとすると、(式31)における傾きの時間変化は、下記の(式32)で表される。
【0142】
【0143】
これを予測サンプリング時間dtで離散化すると、第k+1ステップでの曲率c[k+1]と、第kステップでの曲率c[k]との関係は、下記の(式33)で表される。
【0144】
【0145】
そうして、初期値c[0]を下記の(式34)のように定め、上記(式33)を用いて予測区間を求める。ただし、曲率c[k]は0で飽和させる。
【0146】
【0147】
以上の操作を施すことで、
図12に示すように、後進直進から後進旋回へ切り替える場合には、終点E1よりも手前で、また、後進旋回から直進へ切り替える場合には、終点E2よりも手前で、走行制御装置30が、先を見越して早めに切替え後の制御量を出力することで、オーバーシュートの発生を抑えつつ、操舵手段のダイナミクスに起因する遅れを抑えることができる。
【0148】
(その他の実施形態)
本発明は、実施形態に限定されず、その精神又は主要な特徴から逸脱することなく他の色々な形で実施することができる。
【0149】
上記実施形態では、トラクタに本発明を適用したが、これに限らず、例えば、田植機、コンバイン、土木・建築作業装置、除雪車等に本発明を適用してもよい。
【0150】
また、上記実施形態では、衛星測位システムを用いた測位方法としてRTKを採用したが、これに限らず、例えば、DGPS(Differential GPS)や、基準点を用いない単独測位を採用してもよい。
【0151】
さらに、上記実施形態では、前進については前方注視方式を採用したが、これに限らず、前進についてもモデル予測制御を採用するようにしてもよい。
【0152】
このように、上述の実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。
【産業上の利用可能性】
【0153】
本発明によると、前輪が操舵輪である作業車両を、自律走行で後進旋回させる場合に、作業車両が蛇行するのを抑えることができるので、作業車両の自律走行システムに適用して極めて有益である。
【符号の説明】
【0154】
1 自律走行システム
10 ロボットトラクタ(作業車両)
13 前輪
15 後輪
27 GNSSアンテナ(位置検出手段)
30 走行制御装置(演算手段)(位置検出手段)
35 ステアリングECU(操舵手段)
51a 走行経路生成部(経路生成手段)
60 基準局(位置検出手段)
65 GNSS衛星(位置検出手段)
75 後進旋回用走行経路
CC 制御中心
E2 終点(切替え予定位置)
E1 終点(切替え予定位置)
u[k] ステアリング角度(操舵角)