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