(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023046039
(43)【公開日】2023-04-03
(54)【発明の名称】制御方法、制御システム、自動制御車両
(51)【国際特許分類】
B62D 6/00 20060101AFI20230327BHJP
【FI】
B62D6/00
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021154724
(22)【出願日】2021-09-22
(71)【出願人】
【識別番号】599016431
【氏名又は名称】学校法人 芝浦工業大学
(71)【出願人】
【識別番号】592158969
【氏名又は名称】西武建設株式会社
(74)【代理人】
【識別番号】100137338
【弁理士】
【氏名又は名称】辻田 朋子
(72)【発明者】
【氏名】長谷川 忠大
(72)【発明者】
【氏名】油田 信一
(72)【発明者】
【氏名】加藤 智之
(72)【発明者】
【氏名】白石 元幸
(72)【発明者】
【氏名】二村 憲太郎
【テーマコード(参考)】
3D232
【Fターム(参考)】
3D232CC20
3D232DA03
3D232DA23
3D232DA33
3D232DA36
3D232DA37
3D232DA76
3D232DA87
3D232DA92
3D232DD08
3D232EB04
3D232EC22
(57)【要約】
【課題】
車両の自動制御において、ハンドル角を精度よく推定し、当該ハンドル角によって好適に車両におけるハンドリングを制御する。
【解決手段】
手動制御される車両の動作に基づき、車両の動作を自動制御する制御方法であって、制御情報収集工程と、推定工程と、再現工程と、を有し、制御情報収集工程は、前記車両における速度および角速度を含む制御情報を記憶部に格納し、推定工程は、前記制御情報における前記速度および前記角速度に基づきハンドル制御角を推定し、前記再現工程は、前記ハンドル制御角に基づき前記車両におけるハンドリングを制御する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
手動制御される車両の動作に基づき、車両の動作を自動制御する制御方法であって、
制御情報収集工程と、推定工程と、再現工程と、を有し、
制御情報収集工程は、前記車両における速度および角速度を含む制御情報を記憶部に格納し、
推定工程は、前記制御情報における前記速度および前記角速度に基づきハンドル制御角を推定し、
前記再現工程は、前記ハンドル制御角に基づき前記車両におけるハンドリングを制御する、制御方法。
【請求項2】
前記再現工程は、前記制御情報における前記速度と、慣性計測装置により計測される前記角速度と、に基づきステアリング制御角を推定し、前記ステアリング制御角に基づき前記ハンドル制御角を出力する、請求項1に記載の制御方法。
【請求項3】
前記推定工程は、前記制御情報における前記速度および前記角速度に基づきステアリング制御角を推定し、前記ステアリング制御角に基づき前記ハンドル制御角を推定する、請求項1に記載の制御方法。
【請求項4】
検出工程と、補正工程と、を更に有し、
前記検出工程は、複数の前記制御情報に含まれる位置に基づき、円弧状の軌跡に沿った動作制御のための円弧ラインを検出し、
前記推定工程は、前記円弧ラインに含まれる制御情報に基づき前記円弧ラインの円弧半径を推定し、
前記補正工程は、前記円弧半径が所定値未満となる場合、前記円弧半径が少なくとも所定値以上となるよう前記円弧ラインを補正する、請求項1~請求項3の何れかに記載の制御方法。
【請求項5】
前記補正工程は、前記円弧ラインに含まれる制御情報における速度を補正する、請求項4に記載の制御方法。
【請求項6】
前記検出工程は、複数の前記制御情報に含まれる位置に基づき、略直線の軌跡に沿った動作制御のための直線ラインを検出し、
前記補正工程は、前記円弧ラインと前記直接ラインと、が近接する制御情報における速度を補正する、請求項4または請求項5に記載の制御方法。
【請求項7】
前記補正工程は、正の速度と、負の速度と、が近接する制御情報における速度を補正する、請求項4~請求項6の何れかに記載の制御方法。
【請求項8】
前記車両は、芝刈機である、請求項1~請求項7の何れかに記載の制御方法。
【請求項9】
手動制御される車両の動作に基づき、車両の動作を自動制御する制御システムであって、
制御情報収集部と、推定部と、再現部と、を有し、
制御情報収集部は、前記車両における速度および角速度を含む制御情報を記憶部に格納し、
推定部は、前記制御情報における前記速度および前記角速度に基づきハンドル制御角を推定し、
前記再現部は、前記ハンドル制御角に基づき前記車両におけるハンドリングを制御する、制御システム。
【請求項10】
手動制御される車両の動作に基づき、車両の動作を自動制御する自動制御車両であって、
制御情報収集部と、推定部と、再現部と、を有し、
制御情報収集部は、前記車両における速度および角速度を含む制御情報を記憶部に格納し、
推定部は、前記制御情報における前記速度および前記角速度に基づきハンドル制御角を推定し、
前記再現部は、前記ハンドル制御角に基づき前記車両におけるハンドリングを制御する、自動制御車両。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、手動制御される車両の動作を記録し、その記録された動作に基づき車両の動作を自動制御する制御方法、制御システム、自動制御車両に関する。
【背景技術】
【0002】
車両の方向制御において舵角(ステアリング角)を高精度に推定し、当該舵角によってステアリングを制御する技術が知られている。
【0003】
特許文献1では、ステアリング機構で検出したSAT検出値(推定値)と、演算で求めたSAT演算値とを比較し、4輪だけでなく、2輪の回転速度のみからでもステアリング特性の変化を検知し、誤推定がなく、精度良く舵角若しくは絶対舵角を出力することができる車両用舵角推定装置が開示されている。
【0004】
特許文献2によれば、変化する道路条件に適応するためにステアリングホイール角のオフセット値を継続的に更新するシステムおよび方法であって、車両制御システムが、複数の車両パラメータ値をそれぞれ異なる車両センサから受け取り、複数の車両パラメータ値の1つまたは複数に基づいた異なる計算方法をそれぞれ使用して、複数の観測操舵角値を計算し、複数の観測操舵角値は、次に車両操舵角を計算するために使用され、ステアリングホイール角および計算された車両操舵角に基づいて、ステアリングホイール角のオフセット値が計算されることで、ステアリングホイール角のオフセット値およびステアリングホイール角を、車両の操舵システムを制御するために使用できることが開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009-062036号公報
【特許文献2】特表2014-500821号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に記載の技術は、舵角を推定するものであり、推定された舵角によって車両を制御するためには、当該舵角を用いてステアリングを直接制御する必要があった。このようなステアリング制御を実現するためには、電磁弁によりステアリングを制御する構成が考えられるが、車両の高コスト化やその制御の難しさなどが課題であった。
【0007】
また、特許文献2に記載の技術は、平坦でない道の走行において車両が検出したパラメータからステアリングホイール角を推定し、その補正を行うためのものである。したがって、推定されたステアリングホイール角を用いて車両の自動制御に係る処理を好適に実現するものではなく、その手法について改善の余地があった。
【0008】
本発明は、上述したような実情に鑑みてなされたものであって、車両の自動制御において、ハンドル角を精度よく推定し、当該ハンドル角によって好適に車両におけるハンドリングを制御するための制御方法、制御システムを提供することを解決すべき課題とする。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明は、手動制御される車両の動作に基づき、車両の動作を自動制御する制御方法であって、制御情報収集工程と、推定工程と、再現工程と、を有し、制御情報収集工程は、前記車両における速度および角速度を含む制御情報を記憶部に格納し、推定工程は、前記制御情報における前記速度および前記角速度に基づきハンドル制御角を推定し、前記再現工程は、前記ハンドル制御角に基づき前記車両におけるハンドリングを制御する。
このような構成とすることで、速度と角速度からハンドル制御角を推定し、当該ハンドル制御角によって、車両の自動制御を実現することができる。
【0010】
本発明の好ましい形態では、前記再現工程は、前記制御情報における前記速度と、慣性計測装置により計測される前記角速度と、に基づきステアリング制御角を推定し、前記ステアリング制御角に基づき前記ハンドル制御角を出力する。
このような構成とすることで、再現工程において、リアルタイムに計測される角速度に基づきハンドル制御角が出力され、制御情報の記録時との差分を修正しながら自動制御することができる。
【0011】
本発明の好ましい形態では、前記推定工程は、前記制御情報における前記速度および前記角速度に基づきステアリング制御角を推定し、前記ステアリング制御角に基づき前記ハンドル制御角を推定する。
このような構成とすることで、予めハンドル制御角が推定されることで、リアルタイム処理による遅延を低減することができる。
【0012】
本発明の好ましい形態では、検出工程と、補正工程と、を更に有し、前記検出工程は、複数の前記制御情報に含まれる位置に基づき、円弧状の軌跡に沿った動作制御のための円弧ラインを検出し、前記推定工程は、前記円弧ラインに含まれる制御情報に基づき前記円弧ラインの円弧半径を推定し、前記補正工程は、前記円弧半径が所定値未満となる場合、前記円弧半径が少なくとも所定値以上となるよう前記円弧ラインを補正する。
また、前記補正工程は、前記円弧ラインに含まれる制御情報における速度を補正する。
このような構成とすることで、円弧ラインにおける制御性を向上させることができる。
【0013】
本発明の好ましい形態では、前記検出工程は、複数の前記制御情報に含まれる位置に基づき、略直線の軌跡に沿った動作制御のための直線ラインを検出し、前記補正工程は、前記円弧ラインと前記直接ラインと、が近接する制御情報における速度を補正する。
このような構成とすることで、円弧ライン周辺における制御性を安定/向上させることができる。
【0014】
本発明の好ましい形態では、前記補正工程は、正の速度と、負の速度と、が近接する制御情報における速度を補正する。
このような構成とすることで、進行方向の切替点におけるハードウェア負荷を低減し、また、制御性を向上させることができる。
【0015】
本発明は、手動制御される車両の動作に基づき、車両の動作を自動制御する制御システムであって、制御情報収集部と、推定部と、再現部と、を有し、制御情報収集部は、前記車両における速度および角速度を含む制御情報を記憶部に格納し、推定部は、前記制御情報における前記速度および前記角速度に基づきハンドル制御角を推定し、前記再現部は、前記ハンドル制御角に基づき前記車両におけるハンドリングを制御する。
【発明の効果】
【0016】
本発明によれば、車両の自動制御において、ハンドル角を精度よく推定し、当該ハンドル角によって好適に車両におけるハンドリングを制御するための制御方法、制御システムを提供することができる。
【図面の簡単な説明】
【0017】
本発明の一実施形態(以下、「一実施形態」と称す。)を詳細に説明するための図面についての説明は、以下の通りである。
【
図1】一実施形態に係る制御システムの構成図を示す。
【
図2】一実施形態に係る車両情報の各変数の説明を示す。
【
図3】一実施形態に係る制御点を用いた自動制御の概要説明図を示す。
【
図5】一実施形態に係るハンドル角モデルの推定処理の概要を示す。
【
図7】一実施形態に係る制御点生成のための処理フローチャートを示す。
【
図8】一実施形態に係る制御システムの構成図を示す。
【
図9】一実施形態に係る制御システムの構成図を示す。
【発明を実施するための形態】
【0018】
本明細書は、一実施形態に係る制御方法、制御システムおよび自動制御車両について、図面を交えて、説明する。本発明は、以下の一実施形態に限定するものではなく、様々な構成を採用し得る。
【0019】
本明細書は、制御システムの構成や作用効果等について説明するが、同様の構成の方法、コンピュータのプログラム、当該プログラムを記録したプログラム記録媒体等も同様の作用効果を奏する。プログラム記録媒体を用いれば、既知のコンピュータ装置に当該プログラムをインストールすることができる。以下で説明する一実施形態にかかる一連の処理は、コンピュータで実行可能なプログラムとして提供され、CD-ROMやフレキシブルディスクなどの非一過性コンピュータ可読媒体、更には通信回線を経て提供可能である。
【0020】
制御システムの各機能構成部と、制御方法の各工程と、は同様の作用効果を実現する。制御システム、制御プログラムおよび制御プログラム記録媒体のそれぞれにおける各機能構成部は、CPU等の演算装置により実現される。また、制御方法の各工程は同様に演算装置により実現される。
【0021】
本発明は、熟練の車両オペレータによる車両の制御を、自動走行車両において再現することを目的とする。本発明は、特に特定のエリアにおいて作業を行う作業車両の自動制御の実現に好適である。このような作業車両は、作業を行うエリアの地形や作業領域のことを知る熟練の車両オペレータによる精密な制御が必要とされる。その熟練者による操作を記憶装置に記憶させ、記憶装置から取得した信号によってその操作を再現することができる。このような手法は、ティーチング・プレイバック方式として知られている。
【0022】
一方で、作業エリアが広大である場合、車両の作業位置などに誤差が生じ、精密な作業を実現することは困難であった。本発明では、ティーチング・プレイバック方式を採用した制御方法において、そのような誤差を低減し、精密な作業動作を実現することができる。
【0023】
本実施形態では、作業車両は芝刈機である例について説明するが、これに限定されず、例えば、除雪車・圧雪車・ブルドーザ・ダンプカー・ショベルカー・ホイールローダ・ダンプカー・グレーダなどであってもよい。また、本発明は、作業を行うエリアがゴルフ場など広大な面積である場合において、特に顕著な効果を奏する。
【0024】
<実施形態1>
図1は、制御システム100の構成図を示す。ここで、制御システム100は、自動制御車両1によって構成される。後に詳述する各構成部(11-15)は、すべて1の自動制御車両1に搭載されてよい。
【0025】
制御システム100は、CPU(Central Processing Unit)などによる演算装置を含む制御部11と、位置情報計測ユニット12と、慣性計測ユニット13と、アクチュエータ14と、障害物検知センサ15と、レバー位置検知センサ16と、データベースとしての記憶部DBと、を備える。
【0026】
制御部11は、演算装置と、RAM(Random Access Memory)などによる主記憶装置と、フラッシュメモリ等による補助記憶装置と、各種データなどの入出力インターフェイスなどと、を含む制御ユニットとして構成され、位置情報計測ユニット12、慣性計測ユニット13、アクチュエータ14、障害物検知センサ15、レバー位置検知センサ16および、記憶部DBと接続される。
【0027】
制御部11は、制御プログラムを実行することで、後に詳述する各種機能構成要素(101―106)を実現することができる。なお、制御プログラムは、制御部11の補助記憶装置または記憶部DBに格納されている。
【0028】
位置情報計測ユニット12は、GNSS(Global Navigation Satellite System)アンテナを含むモジュールとして構成される。位置情報計測ユニット12は、自動制御車両1の位置を計測し、計測した位置を制御部11に受け渡すことで、位置の記録や位置に応じた制御を実現する。位置情報計測ユニット12は、位置情報として、タイムスタンプ、X位置、Y位置を計測する。また、その測位レートは、第1レートとして定義する。
【0029】
慣性計測ユニット13は、IMU(Inertial Measurement Unit)として構成される。IMUは、ジャイロセンサ、加速度センサなどによるセンサモジュールである。慣性計測ユニット13は、自動制御車両1における3軸方向の加速度と角速度を計測し、その計測結果を制御部11に受け渡すことで、計測結果の記録や計測結果に応じた制御、進行方向の推定などを実現する。慣性計測ユニット13は、慣性情報として、タイムスタンプ、3軸の加速度(X,Y,Z)、3軸の角速度(ロール、ピッチ、ヨー)を計測する。また、慣性情報は、加速度および角速度に基づき推定される3軸の推定角度が含まれてもよい。
【0030】
アクチュエータ14は、制御部11からの駆動指示に基づき、アクセルペダル141、ハンドル142、芝刈ユニット143をそれぞれ駆動させる。本発明は、アクチュエータ14を含む構成部(11-15)を既存の芝刈機に取付可能に構成されており、芝刈機におけるアクセルペダル141、ハンドル142、芝刈ユニット143をアクチュエータ14により直接的に操作することで、自動制御を実現する。
【0031】
障害物検知センサ15は、測域センサ、赤外線センサ、イメージセンサなどにより構成され、自動制御車両1の周辺に位置する障害物を検知する。障害物検知センサ15は、障害物を検知した情報を制御部11に受け渡すことで、障害物に対する動作制御を実現する。
【0032】
レバー位置検知センサ16は、芝刈ユニット143の昇降のためのレバー操作を検知する。レバー位置検知センサ16は、レバー位置を制御部11に受け渡すことで、芝刈ユニット143の少なくともON/OFFに関する昇降制御情報の記録を実現する。昇降制御情報は、タイムスタンプと、芝刈ユニット143の上昇または下降を示す昇降フラグを含む。昇降フラグは、例えば、上昇を1とし、下降を2とし、何もしない場合を0として示される。なお、昇降フラグは、芝刈ユニット143の高さに応じた値としてもよい。
【0033】
<車両情報>
記憶部DBは、自動制御車両1の各部位の寸法などを含む変数の定義に関する車両情報を格納する。車両情報は、自動制御車両1の車種などに応じて設定されてよい。
【0034】
図2は、車両情報に含まれる変数の定義に関する説明図を示す。本実施形態において、車両情報は、自動制御車両1の制御における基準となる基準点BPと、位置情報計測ユニット12よる計測される位置計測点GPと、前輪軸と後輪軸の幅であるホイールベースLと、前輪のトレッド幅T1と、後輪のトレッド幅T2と、基準点BPと位置計測点GPの間の距離Dと、前輪直径d1と、前輪半径r1と、後輪直径d2と、後輪半径r2と、車輪幅Wと、最大ステアリング角θと、を有する。これら車両情報は、予め実測した値を入力するか、車種によって決定されてもよい。
【0035】
<制御情報>
記憶部DBは、制御部11に接続され、位置情報、慣性情報、昇降制御情報、障害物情報を含む制御情報を格納する。また、記憶部DBは、制御情報に基づく自動制御車両1の自動制御のための制御点情報を格納する。記憶部DBは、位置情報計測ユニット12、慣性計測ユニット13、障害物検知センサ15と接続され、それらの計測結果に基づく制御情報を格納する構成であってもよい。制御情報は、後に詳述する処理によってそれぞれ収集されたタイムスタンプに基づき結合され、制御点情報を生成するために用いられる。
【0036】
制御情報は、更に各種情報に基づき算出される速度、ライン属性、円弧半径などを有する。
【0037】
図3は、制御点情報に含まれる制御点WPに基づく自動制御車両1における自動制御の概要を示す。
図3では、自動制御車両1は、3つの制御点WP1~WP3に基づき自動制御され走行する。制御点WP1から制御点WP2までの直線を経路GL2、制御点WP2から制御点WP3までの直線を経路GL4として決定される。また、制御点WP1~WP3が直線でない場合、その中間にある制御点WP2の周辺において経路GL2と経路GL4を円弧上に結合させる経路GL3が生成される。自動制御車両1は、エントリーとなる経路GL1と経路GL2が交差すると、経路GL2、GL3、GL4の順で自動走行制御され、目的地となる制御点WP3に到達することができる。なお、
図3において、制御点WPを3つのみ示したが、これらの制御点WPが更に複数連続的に設定されることで、制御点情報に基づく自動制御が実現される。なお、自動制御車両1は、制御の基準となる基準点BPが設定され、基準点BPがそれぞれの経路GLをトレースするよう動作制御されている。
【0038】
制御点WP1~WP3は、それぞれ速度や芝刈ユニット143の動作に関する昇降フラグなどを有し、自動制御車両1は、それぞれの制御点WPを通過することで、それらの動作に関する情報に基づきアクチュエータ14に制御指示を出力することで、作業の自動化を実現する。
【0039】
図4は、制御点情報のデータ構造の例を示す。制御点情報は、1つの制御点WP毎に付与される識別情報としての制御点IDと、位置(X,Y)と、速度と、芝刈ユニット143の昇降フラグと、エリア属性と、ライン属性と、円弧半径と、を有する。制御点情報は、制御点生成部105により制御情報に基づき生成される連続する制御点により構成されるデータである。
【0040】
エリア属性は、障害物検知センサ15により検知された障害物の有無を示す。
ライン属性は、自動制御車両1の経路が少なくとも直線ラインか円弧ラインかを示す。作業エリアにおいて、自動制御車両1は、直線ラインを往復する動作と、その往復のUターン位置における円弧状を描く円弧ラインに沿った動作と、により作業を実施する。
円弧半径は、円弧ラインの半径を示す。
【0041】
制御部11は、再現工程において、記憶部DBに格納される制御点情報に基づく制御指示を各アクチュエータ14に出力することで、アクセルペダル141、ハンドル142および芝刈ユニット143を駆動させ、自動制御を実現する。
【0042】
以下、
図4に示す制御点情報を生成するための各工程について説明する。
自動制御車両1は、機能構成要素として、制御情報収集部101と、推定部102と、補正部103と、検出部104と、制御点生成部105と、再現部106と、を備え、これらの構成部により各工程の処理を実行する。
【0043】
<制御情報収集工程>
制御情報収集部101は、制御点情報を算出するための位置情報および慣性情報並びに昇降制御情報を含む制御情報を収集する。ここで収集される情報は、熟練者の手動制御による自動制御車両1の動作に基づくものである。
【0044】
制御情報は、位置情報計測ユニット12により計測される位置情報を含む。位置情報は、位置(X,Y)と、タイムスタンプを有する。なお、位置(X,Y)は、基準点BPにおける位置を示し、位置計測点GPの位置と、基準点BPと位置計測点GPの間の距離Dと、により算出される。位置情報計測ユニット12は、第1レートにより位置情報を計測する。本実施形態において、第1レートは5Hzであり、1秒当たり5回の位置計測が行われている。なお、第1レートにおけるレートは、これに限定されない。
【0045】
制御情報は、慣性計測ユニット13により計測される慣性情報を含む。慣性情報は、タイムスタンプ、3軸の加速度(X,Y,Z)、3軸の角速度(ロール、ピッチ、ヨー)を有する。また、慣性情報は、加速度および角速度に基づき推定される3軸の推定角度が含まれてもよい。慣性計測ユニット13は、第2レートにより慣性情報を計測する。本実施形態において、第2レートは100Hzであり、第1レートより高いレートが設定される。なお、第2レートにおけるレートは、第1レートより高いレートであればこれに限定されない。
【0046】
制御情報は、芝刈ユニット143の上昇操作および下降操作を示す昇降制御情報を含む。昇降制御情報は、例えば、上昇操作を「1」とし、下降操作を「2」とし、操作がない場合「0」とし、タイムスタンプとともに格納されている。なお、芝刈ユニット143の高さ位置に応じたパラメータを含んでもよく、これにより芝刈後における芝の高さを調整することができる。なお、昇降制御情報は、芝刈ユニット143の操作を検出するレバー位置検知センサ16により取得される。
【0047】
<推定工程>
推定部102は、速度、ハンドル角、円弧半径を推定する処理を実行する。
【0048】
<速度推定工程>
推定部102は、制御情報収集工程において取得された制御情報に基づき速度vを推定する。推定された速度vは、位置情報のタイムスタンプにおける速度として記憶部DBに格納される。
【0049】
速度vは、式(1)に示すように、第1レートにより計測される連続する位置の差分に基づき算出される。ここで、速度vを算出するXY位置をそれぞれx(k)、y(k)とし、その前に計測されたXY位置をそれぞれx(k-1)、y(k-1)として示す。
【0050】
【0051】
式(1)において、速度vは、自動制御車両1が後退する場合であっても正の速度として算出される。したがって、速度vは、式(2)、式(3)に示すように、位置情報計測ユニット12による計測位置から推定されるヨー角θygが、慣性計測ユニット13により計測されるヨー角θyに対して反転する場合(Δθ>π/4)、後退であるとして負の速度として算出される。なお、ロール角、ピッチ角、ヨー角は、それぞれX軸、Y軸、Z軸の角速度を積分することで算出することができる。
【数2】
【数3】
【0052】
<ハンドル角推定工程>
推定部102は、角速度と速度の入力からハンドル制御角を推定し、出力する。ハンドル制御角は、ハンドル142における制御角を示す。ハンドル142は、ハンドル制御角を伴う回転により、ステアリングに対してその回転を伝達する。ステアリングは、ハンドル角に応じたステアリング制御角によって、車輪角を変更することで、車両の旋回動作を実現している。ここで、ハンドル制御角とステアリング制御角は、同じ角度ではなく、ハンドル制御角を推定するためには、ステアリング制御角を修正してハンドル制御角として出力する必要がある。
【0053】
推定部102は、ステアリング角モデルと、ハンドル角モデルと、を有する。ステアリング角モデルは、式(4)に示すように、目標角速度Wdと、現在速度Vと、を入力とし、目標ステアリング角θsdを出力するモデル(関数)である。ハンドル角モデルは、目標ステアリング角θsdを入力とし、目標ハンドル角θhdを出力するモデル(関数)である。
【0054】
【0055】
以下、ステアリング角モデルと、ハンドル角モデルのモデル推定工程について説明する。なお、ステアリング角モデルとハンドル角モデルの推定は、事前に実施され、記憶部DBに格納されるものとする。なお、以下の説明において、推定部102が各モデルの推定処理を実行する例を説明するが、推定処理は、外部装置により実行され、その結果推定されるモデルを記憶部DBに格納する構成であってもよい。すなわち、モデル推定工程において、推定処理が実行される装置に制限はない。
【0056】
モデル推定工程において、推定部102は、自動制御車両1を手動制御し、その動作時のアクセル量(速度)、角速度および、ハンドル角の計測結果を用いてモデルを推定する。角速度は、慣性計測ユニット13により計測され、取得される。
【0057】
モデル推定工程において、自動制御車両1は、アクセルペダル141のアクセル量を観測するセンサなどによるアクセル観測装置と、ハンドル142のハンドル角を観測するセンサなどによるハンドル観測装置と、を更に備える。アクセル観測装置は、アクセルの踏込量を位置センサなどにより計測するか、速度センサなどにより車両速度を計測し、そのセンサ値を取得する。ハンドル観測装置は、ハンドルの回転量(ハンドル角)を計測し、そのセンサ値を取得する。なお、速度は、位置情報計測ユニット12により計測される連続する位置情報の差分に基づき算出された値を採用してもよい。
【0058】
図5は、モデル推定工程におけるハンドル角モデルの推定処理の構成例を示す。
図5によると、はじめに、推定部102は、速度vおよび角速度wをステアリング角モデルに入力し、推定ステアリング角をステアリング角モデルの出力として取得する。次に、推定部102は、取得した推定ステアリング角をハンドル角モデルに入力し、推定ハンドル角をハンドル角モデルの出力として取得する。ここで、推定部102は、取得した推定ハンドル角と、ハンドル観測装置により計測される現在ハンドル角θ
hと、を用いて推定装置によりハンドル角モデルを推定する。具体的には、ハンドル角モデルは、G
-1で表される関数であり、推定部102は、推定ハンドル角が現在ハンドル角θhに近づくよう関数における係数を調整する処理を実行する。推定装置による調整を繰り返し実行することで、ハンドル角モデルが決定される。なお、推定ステアリング角および推定ハンドリング角は、式(6)および式(7)によりそれぞれ示される。
【0059】
【0060】
本実施形態において、ステアリング角モデルは既知のモデルを採用したが、ステアリング角モデルは、現在ステアリング角の計測結果に基づいて同様に推定装置による調整を実行してもよい。
【0061】
推定部102は、上述したモデル推定工程により推定されたハンドル角モデルを用いて目標ハンドル角を推定する。目標ハンドル角は、自動制御車両1の再現工程において、リアルタイムに算出され、目標ハンドル角に調整するために用いられる。アクチュエータ14は、目標ハンドル角を含む制御指示に応じて、ハンドル142を制御することで旋回動作などを実現する。
【0062】
目標ハンドル角は、予め制御情報に基づき算出され、制御情報の付帯情報として記憶部DBに格納されてもよい。推定部102は、速度推定工程において算出された速度と、慣性計測ユニット13により計測された角速度と、をステアリング角モデルに入力し、目標ステアリング角を出力として取得する。推定部102は、取得した目標ステアリング角をハンドル角モデルに入力し、目標ハンドル角を出力として取得する。推定部102は、推定された目標ハンドル角を、制御情報の付帯情報としてタイムスタンプを対応付けて記憶部DBに格納する。制御点生成部105は、目標ハンドル角を含む制御点による制御点情報を生成することで、リアルタイム処理を不要とし、例えば、処理の遅延による制御性の低下を抑制することができる。
【0063】
<円弧半径推定工程>
推定部102は、位置情報および慣性情報に基づき、円弧状の経路(円弧ライン)における円弧半径を推定する。また、推定部102は、円弧ラインにおける目標ハンドル角に基づき、円弧半径を推定してもよい。
【0064】
<補正工程>
補正部103は、位置情報計測ユニット12により計測された連続する位置情報の間における位置に関する制御情報を追加する補正処理を実行する。
図6は、補正部103における補正処理の概要図を示す。
図6において、自動制御車両1は、位置P(k)から位置P(k+1)に弧状の経路で走行しながら、位置情報計測ユニット12による計測結果に基づき基準点BP1、BP2の位置を計測する。なお、位置は、位置計測点GPの位置であってもよい。ここで、補正処理を実行しない場合、基準点BP1、BP2の直線ラインGL1が自動制御時の走行経路となる。
図6に示すように、位置情報計測ユニット12による位置情報は、第1レートにより計測されたものであり、位置計測点同士の間隔が長くなると位置制御の精度が悪化する。また、記録工程における自動制御車両1の速度に応じて位置計測点同士の間隔が異なるため、制御性に差分が生じる。そのため、補正部103は、第1レートによる複数の位置制御点である基準点BP1、BP2の間において、慣性情報に基づく推定位置による補正点CPを追加する補正処理を実行することで、自動制御車両1の自動制御時の制御精度を向上させることができる。
【0065】
以下、補正部103による具体的な補正処理について説明する。
ステップ1:補正部103は、車両の基準点BPの位置P(k)とP(k+1)の間に直線を引き、その直線を慣性計測ユニット13によるデータ取得数Nで均等分割し、移動量dを算出する。慣性計測ユニット13のデータ取得レートは、第2レートとして定義され、第1レートより高いレートである。
【0066】
ステップ2:補正部103は、基準点BPの位置P(k)を現在位置とし、移動量dと、慣性計測ユニット13による慣性情報に基づき推定される推定角度(ロール、ピッチ、ヨー)と、に基づきデータ取得数Nを用いてオドメトリ計算することで、補正位置Pi(t)(t=1~N)を推定する。
図6における、補正点CP1は、補正位置Pi(t)を有する。
【0067】
ステップ3:補正部103は、t=Nとなる最終的な補間位置Pi(N)と基準点BP2の位置P(k+1)の誤差eを計算する。
【0068】
ステップ4:補正部103は、それぞれの補正位置Pi(t)を有する補正点CP1に対して誤差eをデータ取得数Nにより等分し、均等に割り当てることで、補正位置P’i(t)を有する補正点CP2を算出する。
【0069】
ステップ5:補正部103は、基準点BP1の速度v1と基準点BP2のv2の線形近似によりそれぞれの補正点CP2に対して補正速度vi(t)を付与する。
【0070】
ステップ6:制御情報収集部101は、補正点CP2における補正位置を制御情報として記憶部DBに格納する。したがって、補正処理を実行することで、制御情報は、位置情報計測ユニット12による計測に基づく基準点BPと、補正処理に基づき追加された補正点CPと、のそれぞれの位置情報を有するものに更新される。
【0071】
ステップ7:制御情報収集部101は、位置情報のタイムスタンプに最も近いタイムスタンプを有する昇降制御情報を、当該位置情報に対応付けて記憶する。
【0072】
<検出工程>
検出部104は、複数の制御点に含まれる連続する位置に基づき、その経路の形状をライン属性として検出する。検出部104は、複数の連続する位置が円弧上の軌跡に沿って並ぶ場合、円弧ラインとして検出し、ライン属性を付与する。また、検出部104は、複数の連続する位置が略直線に並ぶ場合、直線ラインとして検出し、ライン属性を付与する。検出部104は、以下に示す円弧半径の推定値が所定の半径以上となる場合、直線ラインとして検出し、所定の半径未満となる場合、円弧ラインとして検出する。
【0073】
推定部102は、円弧ラインである場合、その円弧半径を推定する。円弧半径は、下限値が設定されている。自動制御車両1は、ホイールベースL、トレッド幅T、最大ステアリング角θなどにより旋回可能な最小旋回半径が決定される。したがって、円弧半径の下限値は、少なくとも自動制御車両1の最小旋回半径より大きく設定される。円弧半径の下限値は、車種に応じて任意に設定されるか、車両情報に基づいて自動設定されてもよい。
【0074】
補正部103は、推定した円弧半径が下限値以下となる場合、その円弧半径を下限値に設定する。また、補正部103は、下限値となる円弧半径に基づき円弧ライン上に補正点を追加する。
【0075】
検出部104は、推定された円弧半径または補正された円弧半径(下限値)を、制御情報の付帯情報として付与する。
【0076】
補正部103は、速度に関する修正処理を実行する。補正部103は、円弧ラインにおける速度を所定の円弧走行速度に修正する。円弧走行速度は、円弧ラインにおける速度が所定値以上である場合の下限速度として設定される。補正部103は、直線ラインおよび円弧ラインの切替点において、円弧走行速度と直線走行速度の平均速度となるよう速度を修正する。補正部103は、前進および後退の切替点において、速度変化が一定以下となるよう速度を修正する。このように、速度を修正することで、円弧ライン周辺におけるトレース精度を向上せせることができる。また、急激な速度変化による機械的負荷を低減することができる。
【0077】
制御情報収集部101は、障害物検知センサ15による検知情報に基づきエリア属性を制御情報の付帯情報として付与する。エリア属性は、少なくとも障害物の有無を示すデータとして示されるが、更に障害物の種類に応じたデータを含んでもよい。
【0078】
<制御点生成工程>
制御点WPは、過密になるとアクチュエータ14など各動作部への負荷が大きくなる。制御点生成部105は、連続する基準点BPおよび補正点CPが所定の距離となるように、所定の距離に位置する制御情報を含む各点を抽出する抽出処理を実行することで、制御点WPを生成する。
【0079】
制御点生成部105は、制御情報およびその付帯情報に基づき、位置(X,Y)、速度、昇降フラグ、エリア属性、ライン属性、円弧半径を含む複数の制御点を抽出することで、制御点情報を生成する。なお、制御点は、目標ハンドル角を更に含む態様としてもよい。
【0080】
制御点生成部105は、位置情報における最初の基準点または補正点を抽出し、当該点から所定距離となる位置情報を有する基準点または補正点を順に抽出していくことで、所定の間隔に配列された制御点WPを生成する。なお、所定の間隔は、必要な制御精度に応じて適宜設定可能である。
【0081】
制御点生成部105は、前進または後退の切替点となる位置情報を有する点を制御点として更に抽出する。制御点生成部105は、ここで抽出された制御点から続く直線ラインまたは円弧ラインの方位に対して制御点を追加する。これにより、続くラインへの接続が滑らかとなる。
【0082】
また、制御点生成部105は、昇降フラグが対応付けられた位置情報を、制御点として抽出する。
【0083】
制御点生成部105は、上述したような処理にしたがって、複数の連続する制御点による制御点情報を生成し、記憶部DBに格納する。これによって、
図4に示すような制御点情報を生成することができる。
【0084】
図7は、本実施形態における制御情報収集工程から制御点生成工程までの処理に関するフローチャートを示す。
【0085】
はじめに、制御情報収集部101は、手動制御による前記車両の動作に基づき、制御情報を収集する(ステップS101)。制御情報収集部101は、制御情報に含まれる位置情報に基づき、それらの基準点を決定する(ステップS102)。推定部102は、決定した基準点の位置情報に基づき、速度を算出する(ステップS103)。補正部103は、決定した基準点の位置情報と、慣性情報と、に基づき位置情報を含む補正点を追加する補正処理を実行する(ステップS104)。補正部103は、昇降制御情報に基づき、位置情報に対して昇降フラグを付与する(ステップS105)。検出部104は、直線ラインおよび円弧ラインを検出し、円弧半径を制御情報の付帯情報として付与する(ステップS106)。補正部103は、速度に関する修正処理を実行する(ステップS107)。検出部104は、ライン属性を制御情報の付帯情報として付与する(S108)。制御情報収集部101は、検知情報に基づきエリア属性を制御情報の付帯情報として付与する(ステップS109)。制御点生成部105は、上述した処理により得られた位置、速度、昇降フラグ、円弧半径、ライン属性、エリア属性に基づき、制御点情報を生成する(ステップS110)。制御点生成部105は、生成した制御点情報を記憶部DBに格納し、処理を完了する。
【0086】
なお、制御情報収集工程後のステップS102から制御点生成工程前までのステップS109までの処理の順序はこれに限定されず、最終的に制御点を生成するために必要な制御情報や付帯情報が得られていればよい。
【0087】
<再現工程>
自動制御車両1は、制御点情報に基づき対象となるエリアにおいて自動制御され、作業を実施する。はじめに、再現部106は、位置情報計測ユニット12により位置(X,Y)を計測しながら走行し、制御点情報に含まれる位置を検出することで、制御点情報に基づく自動制御を開始する。制御部11は、制御点情報の各制御点に含まれる制御指示を順に取得し、それら制御指示を各アクチュエータ14に出力する。アクチュエータ14は、制御指示に基づき、アクセルペダル141、ハンドル142および芝刈ユニット143の動作をそれぞれ制御する。
【0088】
再現部106は、制御点の速度に応じて、アクセルペダル141の必要アクセル量を出力する。再現部106は、制御点の位置に応じて、ハンドル142のハンドル制御角を出力する。再現部106は、制御点の昇降フラグに応じて、芝刈ユニット143の上昇または下降を出力する。
【0089】
再現部106は、再現工程において慣性計測ユニット13により計測される角速度と、制御点情報に含まれる速度と、をステアリング角モデルに入力し、目標ステアリング角を出力として取得する。再現部106は、目標ステアリング角をハンドル角モデルに入力し、目標ハンドル角を出力として取得する。再現部106は、取得した目標ハンドル角を含む制御指示をアクチュエータ14に出力し、アクチュエータ14は、当該目標ハンドル角に基づきハンドル142を駆動することでハンドル角の制御を行い、自動制御車両1における旋回動作を実現する。
【0090】
なお、再現部106は、制御点のライン属性が円弧ラインである場合、位置および/または円弧半径に基づきハンドル制御角を出力する構成としてもよい。また、再現部106は、制御点が目標ハンドル角を含む場合、制御点に含まれる目標ハンドル角に応じて、ハンドル142のハンドル制御角を出力してもよい。
【0091】
再現部106は、制御点のエリア属性に応じて、速度を補正し、補正された速度に応じてアクセルペダル141の必要アクセル量を出力してもよい。
【0092】
再現工程において、自動制御車両1は、位置情報計測ユニット12、慣性計測ユニット13、障害物検知センサ15、レバー位置検知センサ16により、それぞれ位置情報、慣性情報、障害物検知情報、昇降制御情報を計測し、制御点情報に含まれる各種情報との誤差を修正しながら、自動走行を実施する。
【0093】
このように、本発明は、外付けの計測ユニットやアクチュエータにより既存の芝刈機において制御情報の記録からその再現を高精度に実現することができる。
【0094】
<実施形態2>
図8は、自動制御車両21と、情報処理装置22と、を備える制御システム200の構成例を示す。実施形態1と同様の構成については、同様の符号を付して説明を省略する。
【0095】
自動制御車両21は、制御情報収集部101と、再現部106と、を備える。自動制御車両21は、実施形態1と同様のハードウェア構成を備える。なお、実施形態2において、自動制御車両21は、情報処理装置22と通信するための通信装置を備える構成とするのが好ましい。
【0096】
情報処理装置22は、補正部103と、検出部104と、推定部104と、制御点生成部105と、を備える。なお、情報処理装置22が備える機能構成部の一部は、自動制御車両1が備える構成であってもよい。情報処理装置22は、コンピュータ装置により構成され、ハードウェア構成要素として、CPUなどの演算装置、RAMなどの主記憶装置、フラッシュメモリなどの補助記憶装置、外部装置との情報通信を制御する通信装置、情報の入出力インターフェイスとしての入出力装置などを備える。
【0097】
自動制御車両21は、制御情報収集部101により制御情報を収集し、情報処理装置22に制御情報を送信する。制御情報は、無線通信により送信されるか、記憶媒体に記憶されたものを情報処理装置22において読み込むことによって受け渡されてもよい。
情報処理装置22は、自動制御車両1の制御情報収集部101により収集された制御情報に基づき、制御点生成部105により複数の制御点を生成し、制御点情報として記憶する。なお、制御点情報を生成するための情報処理の流れは実施形態1と同様である。情報処理装置22は、制御点情報を自動制御車両21に送信するか、または、制御点情報を格納した記録媒体を自動制御車両21に受け渡す。
自動制御車両1は、再現部106により制御点情報に基づき自動制御を実現することができる。
【0098】
実施形態2に示すように、制御点情報を生成するための推定工程、補正工程、検出工程、制御点生成工程は、何れの装置において実行されても同様の作用効果を奏することができる。
【0099】
<実施形態3>
図9は、制御情報収集車両31と、情報処理装置32と、自動制御車両33と、を備える制御システム300の構成例を示す。実施形態1、実施形態2と同様の構成については、同様の符号を付して説明を省略する。制御システム300は、制御情報を収集する制御情報収集車両31と、それを再現する自動制御車両33がそれぞれ異なる実施形態を示す。
【0100】
制御情報収集車両31は、機能構成要素として制御情報収集部101を備える。制御情報収集車両31は、制御部11と、位置情報計測ユニット12と、慣性計測ユニット13と、障害物検知センサ15と、レバー位置検知センサ16と、を少なくとも備える。制御情報収集車両31は、制御点情報に基づく自動制御を実施する場合、再現部106およびアクチュエータ14を備えてもよい。また、制御情報収集車両31は、計測した制御情報を情報処理装置32に送信するための通信装置を備える構成が好ましい。
【0101】
情報処理装置32は、補正部103と、検出部104と、推定部104と、制御点生成部105と、を備える。情報処理装置22は、実施形態2と同様のハードウェア構成を備えるコンピュータ装置により構成される。なお、情報処理装置32における機能構成要素(102-105)の一部は、制御情報収集車両31または、自動制御車両33が備え、その機能を実現してもよい。
【0102】
自動制御車両33は、機能構成要素として再現部106を備える。自動制御車両33のハードウェア構成は、実施形態1の自動制御車両1または実施形態2の自動制御車両21と同様であり、自動制御の動作を出力するアクチュエータ14を備える。
【0103】
制御情報収集車両31は、制御情報収集部101により制御情報を収集し、情報処理装置32に制御情報を送信する。制御情報は、記憶媒体に記憶されたものを情報処理装置32において読み込むことによって受け渡されてもよい。情報処理装置32は、制御情報収集部101により収集された制御情報に基づき、制御点生成部105により複数の制御点を生成し、制御点情報として記憶する。なお、制御点情報を生成するための情報処理の流れは実施形態1、2と同様である。情報処理装置32は、制御点情報を自動制御車両33に送信するか、または、制御点情報を格納した記録媒体を自動制御車両33に受け渡す。
自動制御車両33は、再現部106により取得した制御点情報に基づき自動制御を実現することができる。
【0104】
実施形態3に示すように、制御情報の記録と、制御点情報に基づくその再現と、はそれぞれ別の車両において実現されてもよい。なお、ここで制御情報収集車両31と、自動制御車両33は、同様の車種であることが好ましいが、異なる車種であってもよい。その場合、情報処理装置32は、制御情報収集車両31および自動制御車両33のそれぞれの車両情報に基づき、制御情報に補正を行った値を制御点情報の生成に用いることができる。
【符号の説明】
【0105】
100 制御システム
1 自動制御車両
11 制御部
12 位置情報計測ユニット
13 慣性計測ユニット
14 アクチュエータ
141 アクセルペダル
142 ハンドル
143 芝刈ユニット
15 障害物検知センサ
16 レバー位置検知センサ
DB 記憶部
101 制御情報収集部
102 推定部
103 補正部
104 検出部
105 制御点生成部
106 再現部
200 制御システム
21 自動制御車両
22 情報処理装置
300 制御システム
31 制御情報収集車両
32 情報処理装置
33 自動制御車両