(57)【要約】【課題】走行路面に柔軟に対応して傾斜地形のカッティングも可能な自動芝刈り機を提供する。【解決手段】本発明は、少なくとも位置検出手段を含む各種センサとモータ制御の駆動輪とを有し、学習機能を担う制御ユニットを備えた自律走行型の自動芝刈り機であって、制御ユニットは、センサの情報を基に駆動輪を制御して目標地点に移動させるためのドラム制御部と、走行路面の傾斜に応じて車軸を動かし車体の平衡を保つ車体平衡部と、走行路面に沿ってカッティングユニットを追従させて芝刈りを行うカッティング部と、センサの情報を基に各ユニットを制御するための各種演算及び該演算に対応する処理を行う演算処理部と、を有する。【選択図】図１
2012105557.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも位置検出手段を含む各種センサとモータ制御の駆動輪とを有し、学習機能を担う制御ユニットを備えた自律走行型の自動芝刈り機であって、
前記制御ユニットは、
前記センサの情報を基に前記駆動輪を制御して目標地点に移動させるためのドラム制御部と、
走行路面の傾斜に応じて車軸を動かし車体の平衡を保つ車体平衡部と、
前記走行路面に沿ってカッティングユニットを追従させて芝刈りを行うカッティング部と、
前記センサの情報を基に各ユニットを制御するための各種演算及び該演算に対応する処理を行う演算処理部と、を有することを特徴とする自動芝刈り機。
【請求項２】
前記演算処理部は、加速度センサにより検出した水平（Ｘ、Ｙ方向）軸及び垂直（Ｚ方向）軸の加速度のうちの進行方向の水平成分と垂直方向の成分を、ジャイロセンサにより検出した水平（Ｘ、Ｙ方向）軸及び垂直（Ｚ方向）軸の角速度より求めた角度のうちの進行方向と直交する角度成分により分解し、該分解したそれぞれの成分を積分することで移動経路の高低差による影響を補償した速度と距離を求めることを特徴とする請求項１に記載の自動芝刈り機。
【請求項３】
前記車体平衡部は、前記ジャイロセンサで検出した角速度から前記演算処理部により算出した車体の傾きに応じて車軸を動かし車体の平衡を保つことを特徴とする請求項２に記載の自動芝刈り機。
【請求項４】
前記カッティング部は、前記ジャイロセンサで検出した角速度から前記演算処理部により算出した傾きに応じて前記カッティングユニットの各軸に設けた可動機構を作動させて走行経路の傾斜面に追従させる路面追従機構を備えることを特徴とする請求項２に記載の自動芝刈り機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動芝刈り機に関し、より詳細には、位置情報を正確に把握して障害物や傾斜地にも対応する無人作業が可能な自律走行型の自動芝刈り機に関する。
【背景技術】
【０００２】
ゴルフ場、公園、サッカー場等において、芝生の状態を維持するためには、定期的な芝刈りを必要とし、特にゴルフ場のような広い場所では、大きな労力や費用が掛かり、このような背景から、例えば特許文献１のような手動運転と自動運転とを選択することが可能な芝刈り機や特許文献２のような自律航法装置を有する無人芝刈り機が開示されている。
【０００３】
しかし、従来の自動運転を行う無人芝刈り機には、いくつかの不具合が散見され、例えば、走行路面に穴や窪地等のような段差がある場合或いは傾斜地形を有する場合、予め想定できる場合は、その地点を避ける或いは傾斜地に対応したプログラムとする等の方法により対処していたが、直前にできた穴等の場合は対応できず、また地図データを基に傾斜地を判断する場合は装置の位置にずれが生じた場合に不具合が発生する等の問題があった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−１２８０４４号公報
【特許文献２】特開平９−３７６１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
そこで、本発明は、上記従来の問題点に鑑みてなされたものであって、本発明の目的は、走行する路面に柔軟に対応して傾斜地形のカッティングも可能な自動芝刈り機を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するためになされた本発明の自動芝刈り機は、少なくとも位置検出手段を含む各種センサとモータ制御の駆動輪とを有し、学習機能を担う制御ユニットを備えた自律走行型の自動芝刈り機であって、前記制御ユニットは、前記センサの情報を基に前記駆動輪を制御して目標地点に移動させるためのドラム制御部と、走行路面の傾斜に応じて車軸を動かし車体の平衡を保つ車体平衡部と、前記走行路面に沿ってカッティングユニットを追従させて芝刈りを行うカッティング部と、前記センサの情報を基に各ユニットを制御するための各種演算及び該演算に対応する処理を行う演算処理部と、を有することを特徴とする。
【０００７】
本発明の自動芝刈り機において、前記演算処理部は、加速度センサにより検出した水平（Ｘ、Ｙ方向）軸及び垂直（Ｚ方向）軸の加速度のうちの進行方向の水平成分と垂直方向の成分を、ジャイロセンサにより検出した水平（Ｘ、Ｙ方向）軸及び垂直（Ｚ方向）軸の角速度より求めた角度のうちの進行方向と直交する角度成分により分解し、該分解したそれぞれの成分を積分することで移動経路の高低差による影響を補償した速度と距離を求める。
前記車体平衡部は、前記ジャイロセンサで検出した角速度から前記演算処理部により算出した車体の傾きに応じて車軸を動かし車体の平衡を保つ。
前記カッティング部は、前記ジャイロセンサで検出した角速度から前記演算処理部により算出した傾きに応じて前記カッティングユニットの各軸に設けた可動機構を作動させて走行経路の傾斜面に追従させる路面追従機構を備える。
【発明の効果】
【０００８】
本発明の自動芝刈り機によれば、走行パターンを学習させることで無人の自動運転を可能とすると共に、その場の走行路面や移動経路に対応した自律走行を可能にし、これにより芝刈りに要する労力や経費を節減することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態による自動芝刈り機の外観図である。
【図２】図１に示す自動芝刈り機のカッティングユニットの説明図である。
【図３】本発明の一実施形態による自動芝刈り機の概略構成図である。
【図４】本発明の一実施形態による自動芝刈り機の加速度センサ及びジャイロセンサの動作を説明するための図面である。
【図５】本発明の一実施形態による自動芝刈り機の車体傾きを平衡にする動作説明図である。
【図６】本発明の一実施形態による自動芝刈り機の障害物センサの動作説明図である。
【図７】本発明の一実施形態による自動芝刈り機の移動パターンを説明するための図面である。
【図８】図７に示す移動パターンの動作説明図である。
【図９】本発明の一実施形態による自動芝刈り機の移動パターンを処理するための説明図である。
【図１０】図９に示す移動パターンを処理する演算処理部の概略構成図である。
【図１１】図１０に示す移動コマンドによる車体の動きを説明するための図面である。
【図１２】図１０に示す演算処理部の構成図である。
【図１３】本発明の一実施形態による自動芝刈り機の動作概要を示すフロー図である。
【図１４】図１３に示すセルフチェックの処理フロー図である。
【図１５】図１３に示す状態監視の処理フロー図である。
【図１６】図１５に示す状態監視の割り込み処理フロー図である。
【図１７】図１３に示すティーチング処理の概略フロー図である。
【図１８】図１７に示すティーチング処理の割り込み処理フロー図である。
【図１９】本発明の一実施形態による自動芝刈り機のティーチング処理シーケンスを示す図面である。
【図２０】図１３に示す自動芝刈りモードの概略フロー図である。
【図２１】図２０に示す自動芝刈りモードの割り込み処理フロー図である。
【図２２】図２０に示すＧＰＳデータの処理フロー図である。
【図２３】図２０に示すジャイロデータの処理フロー図である。
【図２４】本発明の一実施形態による自動芝刈り機の自動芝刈り処理シーケンスを示す図面である。
【図２５】図１３に示す手動・移動処理の概略フロー図である。
【図２６】図２５に示す手動・移動処理の割り込み処理フロー図である。
【発明を実施するための形態】
【００１０】
次に、本発明の自動芝刈り機を実施するための形態の具体例を、図面を参照しながら詳細に説明する。
【００１１】
図１は、本発明の一実施形態による自動芝刈り機の外観図であり、図２は、図１に示す自動芝刈り機のカッティングユニットの説明図である。
【００１２】
図１を参照すると、本実施形態の自動芝刈り機１は、位置情報を取得するためのＧＰＳ受信機、車体の向きや傾斜を感知する３Ｄジャイロセンサ、表示画面を備えた操作・設定用のタッチパネル、演算部を含む制御ユニット、赤外線レーザーを用いた障害物センサ、立ち入り禁止区域や位置補正値取得のためのＲＦＩＤリーダ、基地局との情報の授受やＲＴＫ−ＧＰＳ基準局からのデータを取得するための無線機、運行中や警告用のモニタランプ、走行路面の追従機構を備えた芝生を刈るためのカッティング部、モータ制御の駆動輪（ドラム）及び方向舵、車輪の回転を検出して走行状態をモニタするためのエンコーダ、バッテリの他、図示していないが周囲の状況を撮像し基地局で運行状況を確認し監視することや障害物認識等に用いる全方位カメラ等を有する。カメラの撮像画像を画像処理することでその地形から障害物と判断することができ、障害物センサによる認識と組み合わせることで認識率を向上させることができる。
【００１３】
本実施形態では、基地局（又はＧＰＳ基準局）と移動局（自動芝刈り機１）との通信方式に小エリア無線を使用して１ｋｍ程度の広域エリアをカバーする。ＲＴＫ−ＧＰＳの場合、通常１６０バイト／秒の補正データがＧＰＳ基準局から送出されるが、補正データをそのまま送出した場合、伝送速度が低いとデータを送りきることができない場合が生じる。これに対しては、ＲＴＫ−ＧＰＳ通信専用の通信回線と、他のデータ用との通信回線を分けることが考えられるが、無線機の数、複雑化、電波干渉、コスト等の問題が発生する。そのため、本実施形態では、ＷＧＳ−８４世界測地系座標を２ｋｍ×２ｋｍのエリアに分割し、左下を原点とするオフセット座標に変換してバイト数を４バイトから２バイトに削減し、データ圧縮を行うことで１６０バイトの補正データを５０バイト程度まで削減する。この処理により通信時間を短くでき、自動芝刈り機１と基地局との運行状況データの送受信を可能としている。
【００１４】
図２を参照すると、自動芝刈り機１は、ブレード８枚を有しカット幅３５０ｍの刃形状で１．３ｍ／秒〜１．５ｍ／秒のカッティング速度でカッティングするカッティングユニット２と、カッティングユニット２を走行路面に追従させるための演算部を含む制御ユニットとを備える。
【００１５】
図３は、本発明の一実施形態による自動芝刈り機の概略構成図であり、主に制御ユニットを中心とした構成図である。
【００１６】
自動芝刈り機１は、演算処理部を含む制御ユニット２１を備え、制御ユニット２１には位置検出ユニット２２が接続され、位置検出ユニット２２には、搬送波の数及び位相より基準局で誤差を求め移動局に通知することによりｃｍレベルの精密測位が可能なＲＴＫ（ｒｅａｌｔｉｍｅ  ｋｉｎｅｍａｔｉｃ）−ＧＰＳ受信機１１、ＭＥＭＳ（Ｍｉｃｒｏ  Ｅｌｅｃｔｒｏ  Ｍｅｃｈａｎｉｃａｌ  Ｓｙｓｔｅｍｓ）等を用いた小型の振動型３Ｄジャイロセンサ（３軸角速度センサ）１２、ホール素子等を用いた多軸の地磁気センサ（電子コンパス）１３、ＭＥＭＳ等を用いた半導体式の多軸加速度センサ１４が接続される。
【００１７】
制御ユニット２１は、図示していないが、処理全体に亘る制御を司るＣＰＵ（中央制御部）、デジタル信号処理のためのＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｓｅｓｓｏｒ）、各種入出力（Ｉ／Ｏ）インタフェース等の各種機能を含む周辺回路を集積したデジタル及びアナログＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、制御プログラムや各種データを記憶する不揮発性Ｆｌａｓｈメモリを含むＲＯＭ、演算時の作業領域等の一時記憶として用いるＲＡＭ等を有し、モニタ画面を有するタッチパネル型の入出力装置、基地局との通信装置等が接続されるが、本発明の要旨ではないこれらの説明及びその構成図面については省略する。
【００１８】
制御ユニット２１には、また、各種設定のための応答、警告、注意喚起等に用いるモニタランプ１５及びアラーム１６、赤外線レーザー等を用いて人、物、木、段差等を検出する障害物センサ１７、周囲の状況を撮像して基地局での監視や障害物認識等に用いるＣＣＤ又はＣＭＯＳ型の全方位カメラ１８、立ち入り禁止区域の検知や緯度経度補正のために固定地点に設置されたＩＣタグの情報を読み取るＲＦＩＤリーダ１９が接続される。
【００１９】
走行時に、車体を持ち上げたことを検知するリフトセンサ２３、車体の傾きを検知するチルトセンサ２４からの情報は、制御ユニット２１に接続されると共にインターロック部２５に伝えられ、インターロック部２５は、制御ユニット２１を介さずに直接モータドライバ３１を制御し、カッティングユニット２に異物が挟まった時、装置を持ち上げた時、規定以上の傾きを検出した時や転倒、衝突等の異常時にカッティング及び駆動輪（ドラム）を即時に停止する。自動芝刈り機の動作状況を常時基地局がある監視センターに送信し、異常を検知した場合に基地局から遠隔操作で自動芝刈り機１の走行を停止するようにしてもよい。また、異常を検知した場合、予め登録されたメールアドレスに異常情報を送信するようにしてもよい。リフトセンサ２３及びチルトセンサ２４は、ジャイロセンサ１２や加速度センサ１４で兼用することもできる。加速度センサ１４は、所定以上の加速度を検出した場合に衝突とみなす衝突センサとして用いることもできる。
【００２０】
モータドライバ３１は、制御ユニット２１と通信し、制御ユニット２１の演算処理部で演算された結果を基に制御され、駆動輪及びカッティングユニット２のモータ３２、３４、３６を駆動する。モータ３２、３４、３６で駆動される駆動輪及びカッティングユニット２の回転状態は、回転軸に連動して備え付けられたパルスエンコーダ３３、３５、３７で発生した回転情報を制御ユニット２１に入力してその回転状態をモニタし、制御ユニット２１における演算処理にフィードバックする。これらの情報の授受は制御コマンドを介して行われる。
【００２１】
自動芝刈り機１は、この他にも、自動芝刈り機１を作動させるための電源用バッテリ２７、バッテリ２７を充電するための充電コネクタ２６、各ユニットに電源を供給する安定化電源及びその電圧をモニタする電圧検出部２８、各ユニットの異常温度を検出して電源供給を停止するサーマルプロテクタ２９等を備える。なお、図示していないが、上記制御ユニット２１の制御処理は主にＣＰＵ１が担い、それ以外の総合的な制御を担うＣＰＵ２を備える。ＣＰＵ２には、全方位カメラ、操作・設定用の表示画面及びタッチパネル、基地局との通信回路の他、メモリカード、ＵＳＢ、ＲＳ２３２Ｃ等の各種入出力インタフェースが接続される。
【００２２】
図４は、本発明の一実施形態による自動芝刈り機の加速度センサ及びジャイロセンサの動作を説明するための図面であり、図５は、本発明の一実施形態による自動芝刈り機の車体傾きを平衡にする動作説明図である。
【００２３】
図４を参照すると、３軸加速度センサ１４は、ＭＥＭＳ等を用いた半導体式の加速度センサを用いてＸ（水平横）、Ｙ（水平縦）、Ｚ（垂直）軸の加速度を検出し、角速度を検出するジャイロセンサ１２は、機械式（レート）ジャイロ或いはＭＥＭＳシリコン振動子リングを用いた振動式ジャイロ等の高精度角速度検出が可能なものを使用してＸ、Ｙ、Ｚ軸の角速度（ロール、ピッチ、ヨー）を検出し、角速度を積分することでその角度を算出する。
【００２４】
図５を参照すると、移動経路にアップダウン（高低差）がある場合、その距離及び速度は（仮に進行方向がＸ方向の場合）、Ｘ軸加速度とＺ軸加速度及びＹ軸のピッチ角を用い、水平成分（Ｘ軸方向）と垂直成分（Ｚ軸方向）をピッチ角により分解（サンプリング）してそれぞれの成分を積分することで得ることができる。ジャイロセンサ１２は、Ｘ（水平横）、Ｙ（水平縦）、Ｚ（垂直）軸の角速度から車体の傾き（ピッチング、ローリング、ヨーイング）を検出して自動芝刈り機１を常に平衡に保つために使用する。このとき、カッティングユニット２の路面追従機構（図示せず）は、駆動輪（ドラム）の回転差に対応するヨー方向、地形によるピッチ、ロール、上下方向を吸収するために、カッティングユニットの各軸に可動機構を設けており、これにより走行路面に追従した芝刈りを行うことができる。
【００２５】
図６は、本発明の一実施形態による自動芝刈り機の障害物センサの動作説明図である。
【００２６】
図６を参照すると、自動芝刈り機１は、移動目標経路に存在する人、物、木等の障害物を障害物センサ１７により検知して障害物が取り除かれるまで所定時間待機し、予め経路データとして記憶されている場合又は所定時間経過後に、衝突を避けるために迂回する。障害物センサ１７には超音波センサやレーザーＬＥＤを用いた赤外線センサを使用し、その反射波又は反射光を計測することで障害物を検知して障害物までの距離を測定する。走行経路の路面の段差は、所定の角度（θ１、θ２）で照射した超音波又はレーザー光の反射よりその距離を測定し、平担時との反射距離差を計測することで判断する。
【００２７】
障害物との違いを認識するため或いは要所に設けられた固定ポイントの微弱無線信号のＩＣタグ情報を取得した場合は、立ち入り禁止区域と判断して迂回すると共に、ポイント通過時に緯度経度データを取得して自位置の補正を行う。立ち入り禁止区域には専用ロープ等を使用し、ロープ内部に例えば５０ｃｍ間隔でＩＣタグを埋め込み、自動芝刈り機の先端に取り付けたＲＦＩＤアンテナでＩＣタグの情報を読み取る。
【００２８】
図７は、本発明の一実施形態による自動芝刈り機の移動パターンを説明するための図面であり、図８は、図７に示す移動パターンの動作説明図である。
【００２９】
図７を参照すると、自動芝刈り機１の移動パターンは、後述するティーチング機能により、先ず移動経路をトレースしてそのルートを記憶し、次回の自律走行時に記憶した移動経路（ティーチングデータ）に基づき自動で芝刈り機１を作動させる。移動ルートはＧＰＳ受信機１１等により取得した地図座標に基づき記憶させるか、或いは地図からその外周を指定することでその内側の最適ルートを自動計算させて取得する。
【００３０】
図８を参照すると、自動芝刈り機１の起動時にＧＰＳ受信機１１からのＲＴＫ−ＧＰＳ受信データより現在地を取得する。ＧＰＳ受信が不可能な場合は、予めＰＣ（パーソナルコンピュータ）等により位置、進行方向等の情報を編集してメモリカード等に記録し、これを自動芝刈り機１に記憶される地図データ上に転送し、通過ポイント（目標地点）の座標データを記憶した移動パターンを利用して移動ルートをトレースする。
【００３１】
ＲＴＫ−ＧＰＳの場合、起動時に測位まで５〜１０分程度の時間を要することから、何らかの理由によりＧＰＳデータが途絶えた場合、自動芝刈り機１の動作停止状態が続いてしまうことになるため、ＧＰＳ信号が途絶えた場合でも緯度経度のデータを取得できるようにジャイロセンサ１２により方位角を取得し、エンコーダ３３、３５、３７から取得した回転数及び回転差を利用して方位及び移動距離データを作成する。これにより無人作業も可能になり、防水構造を採用した場合は雨天の利用も可能になる。
【００３２】
移動時は、加速度センサ１４及びジャイロセンサ１２からのデータを積分して連続記憶させ、自動芝刈り機１の現在位置を求めて記憶された座標とのずれを補正するように自動芝刈り機１を移動させる。このとき、エンコーダ３３、３５、３７からのパルスをカウントすることで移動距離を求めて移動データの精度を高める。また、地磁気センサ１３によってもそのずれを補正する。自動芝刈り機１のモニタ画面に表示される地図画面には、地図データと共に補正されたその走行軌跡が表示される。
【００３３】
図９は、本発明の一実施形態による自動芝刈り機の移動パターンを処理するための説明図であり、図１０は、図９に示す移動パターンを処理する演算処理部の概略構成図である。図１１は、図１０に示す移動コマンドによる車体の動きを説明するための図面であり、図１２は、図１０に示す演算処理部の構成図である。
【００３４】
図９を参照すると、先ず、予めＰＣ（パーソナルコンピュータ）等により地図データを基に位置、進行方向等の情報を編集して通過ポイントの座標データを記憶した移動パターンを作成し、複数の移動目標地点を設定する。その際、地図からその外周を指定することでその内側の最適ルートを自動計算させるようにしてもよい。自動ルートの作成の際は、予め障害物の位置座標とその範囲を設定し、障害物を避けて移動ルートを設定する。なお、最適化モデルについての説明は省略する。作成された移動パターンはメモリカード等を用いて自動芝刈り機１に転送し記憶させる。自動芝刈り機１は、現在の移動目標地点と次の移動目標地点との間を移動する動作を繰り返すことで移動経路をトレースする。
【００３５】
図１０を参照すると、自動芝刈り機１の演算処理部は、次の移動目標地点を設定し、各種センサ及びエンコーダ３３、３５、３７からの情報を基に目標地点に向けて駆動輪を制御するための駆動軸移動コマンドをモータ制御部に伝達する。
【００３６】
図１１を参照すると、モータドライバ３１は、移動コマンドを受信して駆動輪又は方向舵を駆動して進行方向を定める。本実施形態では、図１１に示すように方向舵はコントロールせず駆動輪のみで後輪タイヤの向きを変えて方向を定める。
【００３７】
図１２を参照すると、演算処理部は、ＲＴＫ−ＧＰＳ受信機１１から緯度経度データ１１１、加速度センサ１４からＸ、Ｙ、Ｚ加速度データ１３１、ジャイロセンサ１２及び地磁気センサ１３から方位データ１２１をそれぞれ移動方向取得部２１５に入力し、エンコーダ３３、３５、３７からの走行情報を基に補正して自動芝刈り機１の現在位置及び移動方向を取得する。演算処理部は、設定された移動目標地点の教示データ２１１と移動方向取得部２１５で取得した現在のデータ値を目的地計算部２１２で比較演算して制御コマンドを生成し、サンプリング部２１３で進行方向の水平成分（Ｘ軸方向）と垂直成分（Ｚ軸方向）を進行方向と直交するＹ軸のピッチ角により分解して傾斜成分による距離誤差を補正し、積分器２１４により一旦距離又は速度成分に変換してエンコーダ３３、３５、３７からの走行情報を基に補正し、再度サンプリング部３１１でサンプリングして舵角・モータ出力部３２１に伝達する。移動位置に誤差が生じている場合は移動目標値に近づくように、左右の駆動軸モータに回転差を与えて移動方向を修正する。相対方位は左右の駆動軸の回転数をエンコーダ３３、３５、３７から取得して求めると共に、エンコーダ３３、３５、３７から取得したデータを補正値として使用する。
【００３８】
図１３は、本発明の一実施形態による自動芝刈り機の動作概要を示すフロー図であり、自動芝刈り機１全体の処理を司るＣＰＵ２の処理フロー図である。
【００３９】
図１３を参照すると、先ず、ＣＰＵ２は「初期設定処理」を行う（ステップＳ１０１）。初期設定処理における初期化処理としては、ＣＰＵ設定として、ポート設定、インターロック関連の設定、ＲＳ２３２Ｃ送受信割り込み設定、インターバルタイマ設定（１０ｍｓ）を行う。各処理で使用する変数の初期化処理の対象としては、フラグ類として、モード開始フラグ、ティーチング完了フラグ、ＣＰＵ１及び２、ジャイロセンサ、Ｍ（モータ）コントローラ等の間の通信タイムアウトフラグ、ＧＰＳステータスフラグ、ジャイロステータスフラグ、禁止区域を示すＲＦＩＤ等によるＵターン停止フラグ、例えば初期値＝１（待機）、動作中＝０、センサ異常＝１（待機）とする動作状態フラグ等、カウンタ類として、ＣＰＵ１及び２、ジャイロセンサ、Ｍ（モータ）コントローラ等の間の通信タイムアウト判定カウンタ、ＧＰＳ異常カウンタ、ジャイロステータス異常カウンタ等、データ類として、セルフ状態、ティーチングデータ数、ティーチングデータ、緯度経度、左右回頭（回頭：自動芝刈り機の先頭を目標位置方向に向ける操作）、芝刈り、カッティング角度、ＧＰＳ目標方位角等がある。なお、本実施形態では、ＣＰＵ１、２、ＧＰＳ、ジャイロセンサ、Ｍ（モータ）コントローラ等の間の通信にＲＳ２３２Ｃを使用しているが、ＵＳＢ等のシリアル通信や他の通信プロトコルを使用してもよい。また、本実施形態では制御部の処理をＣＰＵ１、２に分担させて行っているが、これらは、一つのＣＰＵで構成しても良いし、ＤＳＰやＡＳＩＣを組み合わせることや、更にこれらを一つのチップに内蔵したもの等、様々な構成の演算・制御部を用いて構成することができる。
【００４０】
初期設定処理後、「セルフチェック」を行い（ステップＳ１０２）、セルフチェックが正常に行われたか否かを判断し（ステップＳ１０３）、正常であればセルフ状態フラグを正常にセットし（ステップＳ１０５）、異常を検出した場合はセルフチェックで判定した状態（アラーム通知）をＣＰＵ１へ通知し（Ｓ１０４）、異常が取り除かれるまで監視を行い他の動作を行なわずにセルフチェックを続行する。セルフチェックが正常に終了した場合はＣＰＵ１へイニシャル完了通知を行い（ステップＳ１０６）、セルフチェックと略同様の項目の監視を継続する「状態監視」に移行し（ステップＳ１０７）各動作モード開始待ちに移行する。動作モード開始待ちの間に状態が正常であるか否かを判断し（ステップＳ１０８）、正常であれば動作モードに応じて（ステップＳ１０９）「自動芝刈りモード」（ステップＳ１１１）、「ティーチングモード」（ステップＳ１１０）、「手動・移動モード」（ステップＳ１１２）に移行し、状態監視を継続する。動作モードが変更された場合は、変数の初期化を実施する。状態異常を検出した場合は動作モードに移行せず状態監視を継続する。
【００４１】
割り込み処理としては、ジャイロセンサ情報の受信（例えば１０ｍｓ毎）、ＣＰＵ１を介してＧＰＳデータ（例えば５０ｍｓ毎）、モード状態、他のセンサ状態、ティーチング関連の受信、駆動Ｍ（モータ）及び芝刈りＭ（モータ）の状態をエンコーダ情報から取得したコマンドデータの受信がある。
【００４２】
図１４は、図１３に示すセルフチェックの処理フロー図である。
【００４３】
図１４を参照すると、「セルフチェック」は、インターロック機能と各センサポート（Ｉ／Ｏポート：ＩＮ）を監視して正常であることを確認する。監視項目としては、非常停止ＳＷ（スイッチ）、リフトセンサ、チルトセンサ、衝突センサ（加速度センサ）がある。インターロック機能及びセンサポートが正常であるか否かを判断し（ステップＳ１３２）、正常であればＩ／Ｏを介してモータサーボ機能をＯＮにし（ステップＳ１３３）、異常を検出した場合は該当する異常フラグをセットし、モータサーボ機能をＯＦＦにして（ステップＳ１３５）次のチェック処理（ステップＳ１３６）に移行する。正常であるとモータサーボ機能をＯＮにし、５００ｍｓのウェイト（ステップＳ１３４）後にＲＳ２３２Ｃの通信チェックを行い、ジャイロ機能をスタートして受信データのステータスが正常であるかのチェックを行い、駆動モータ及び芝刈りモータに対してモータ回転数制御パラメータ要求に対する応答がある事及びモータサーボ機能がＯＮである事を確認し（ステップＳ１３６）、作業領域のＲＡＭチェックを行い（ステップＳ１３７）、図１３のメインルーチン（ステップＳ１０３）に戻る。
【００４４】
図１５は、図１３に示す状態監視の処理フロー図であり、図１６は、図１５に示す状態監視の割り込み処理フロー図である。
【００４５】
図１５を参照すると、「状態監視」は、セルフチェックと同様、インターロック機能と各センサポートを監視して正常であることを確認する。監視項目は、非常停止ＳＷ、リフトセンサ、チルトセンサ、衝突センサである。インターロック機能及びセンサポートの状態に変化がなく且つ状態が正常であるか否かを判断し（ステップＳ２０２）、状態に変化がなく且つ状態が正常であれば、セルフチェックで得られたフラグ等の状態データをセットし（ステップＳ２０３）、ティーチングが開始されたか（ステップＳ２０６）自動芝刈りが開始されたか（ステップＳ２０７）を判断する。状態に変化があるか或いは状態に異常を検出した場合は該当する異常フラグをセットした後、駆動モータ及び芝刈りモータを停止してモータサーボ機能をＯＦＦにし（ステップＳ２０４）、セルフチェックで得られた状態データをセットし（ステップＳ２０５）、ティーチングが開始されたか（ステップＳ２０６）自動芝刈りが開始されたか（ステップＳ２０７）を判断するステップに移行する。
【００４６】
ティーチング又は自動芝刈りが開始されると、ジャイロセンサから受信したデータを規定値と比較してピッチ及びロールを監視すると共に、駆動モータ及び芝刈りモータの回転停止、逆転を含む回転状態をエンコーダからの情報により監視する（ステップＳ２０８）。ジャイロ機能及びモータ回転の状態に変化がなく且つ状態が正常であるか否かを判断し（ステップＳ２０９）、状態に変化がなく且つ状態が正常であれば、セルフチェックで得られた状態をセットする（ステップＳ２０３）と共に、セルフチェックにおける状態データに変化があったか否かを判断する（ステップＳ２１３）。ジャイロ機能及びモータ回転の状態に変化があるか或いは状態に異常を検出した場合は該当する異常フラグをセットした後、駆動モータ及び芝刈りモータを停止してモータサーボ機能をＯＦＦにし（ステップＳ２１１）、セルフチェックで得られた状態データをセットする（ステップＳ２１２）と共に、セルフチェックにおける状態に変化があったか否かを判断するステップＳ２１３に移行する。
【００４７】
図１６を参照すると、駆動モータ及び芝刈りモータの回転状態を監視するステップＳ２０８は、ＲＳ２３２Ｃによる１００ｍｓのインターバル割り込みにより、エンコーダの情報を基にモータ回転中か否かを判断し（ステップＳ２３１）、モータ回転中であればそのエンコーダ値を取得してＣＰＵ１に送信し、動作状態フラグを動作中にセットして元の処理に戻る。モータ停止中と判断した場合は終了フラグをセットして元の処理に戻る。ここでＲＳ２３２Ｃの受信割り込みを説明すると、モータ制御の駆動輪に連動したエンコーダ値を取得し（ステップＳ２５１）、エンコーダより得られたモータ回転状態をセットして（ステップＳ２５２）異常があったか否かを判断する（ステップＳ２５３）。正常なモータ回転状態であればそのまま元の処理に戻り、異常と判断した場合は該当する異常フラグをセットした後、駆動モータ及び芝刈りモータを停止してモータサーボ機能をＯＦＦにし（ステップＳ２５４）元の処理に戻る。
【００４８】
再び図１５を参照すると、セルフチェックにおける状態と比較して変化がなく且つセルフチェックが正常であれば（Ｓ２１４）、動作状態が待機中か否かを判断する（ステップＳ２１５）。動作状態が待機中であれば、手動・移動モードであるか否かを判断し（ステップＳ２１７）、動作状態が進行中あるか或いは手動・移動モードであればモータサーボ機能をＯＮにし、ＣＰＵ１へセルフチェックの状態を通知し（Ｓ２１８）元の処理に戻る。セルフチェックの状態に変化がない場合はそのまま元の処理に戻り、セルフチェックの状態が異常の場合は該当する異常フラグをセットしてＣＰＵ１へセルフチェックの状態を通知し（Ｓ２１８）元の処理に戻る。なお、手動・移動モードでは動作状態フラグは使用しない。
【００４９】
図１７は、図１３に示すティーチング処理の概略フロー図であり、図１８は、図１７に示すティーチング処理の割り込み処理フロー図である。
【００５０】
図１７を参照すると、「ティーチング処理」が開始されると（ステップＳ３０１）、センサデータが正常か否かを判断した（ステップＳ３０２）後、ティーチング指示に変化があったか否かを判断する（ステップＳ３０３）。「ティーチング処理」を終了する場合は（ステップＳ３０４）、ジャイロセンサからのデータ受信を停止して（ステップＳ３０５）元の処理に戻り、「ティーチング処理」を行わない場合はそのまま元の処理に戻る。センサデータの異常を検出した場合は、センサの種類を識別して該当する異常フラグをセットした（ステップＳ３０６）後、駆動モータ及び芝刈りモータを停止し（ステップＳ３０７）、動作状態フラグを待機状態にセットして（ステップＳ３０８）モータサーボ機能をＯＦＦにし（ステップＳ３０９）元の処理に戻る。異常が発生した場合は動作を停止して異常が取り除かれるまで待機する。ティーチング指示に変化がなかった場合もそのまま元の処理に戻る。監視するセンサを機能別に挙げると、赤外線レーザー等を用いた障害物センサ及び距離センサ、レインセンサ等がある。センサ異常により待機状態にセットされた動作状態フラグは、ＣＰＵ１からデータを受信した時に解除する。
【００５１】
ティーチング指示に変化があると、動作状態が待機常態か否かを判断し（ステップＳ３１１）、待機状態の場合はモータサーボ機能をＯＮにして駆動モータ及び芝刈りモータを始動させた後、停止／前進／回頭動作に移行する（ステップＳ３１３）。稼動状態の場合はそのまま停止／前進／回頭動作ステップＳ３１３に移行する。
【００５２】
回頭動作の場合は駆動モータへ回頭コマンドを送信する。このとき回頭レベルを０にセットし、停止時には回頭開始から回頭停止までの現在の方位角の差をＣＰＵ１へ送信する（ステップＳ３１６）。回頭コマンドは左右で送信する回頭角速度値を変更することもある。前進動作の場合は駆動モータへ前進コマンドを送信する。このとき回頭レベルを０にセットし、停止時には前進前の方位角と現在の方位角の差をＣＰＵ１へ送信する（ステップＳ３１５）。停止動作の場合は駆動モータへ停止コマンドを送信し、ジャイロセンサで取得した方位角を保存する。各コマンドの送信は条件が変化した時に１回送信する。
【００５３】
その後、停止／前進／回頭動作に対応した芝刈り動作ＯＮ／ＯＦＦに応じ（ステップＳ３１７）、前進／回頭動作に対応した芝刈り動作ＯＮの場合は芝刈りモータへＯＮコマンドを送信して（ステップＳ３１８）元の処理に戻り、停止動作に対応した芝刈り動作ＯＦＦの場合は芝刈りモータへＯＦＦコマンドを送信し（ステップＳ３１９）、動作状態フラグを動作中にセットして（ステップＳ３２０）元の処理に戻る。ティーチング処理中は、ＣＰＵ１からのＧＰＳデータ受信及び他のＲＳ２３２Ｃのデータを割り込みにより受け付ける。
【００５４】
図１８を参照すると、図１３に示した動作モードの変更は割り込み受信により受け付けられ、ティーチングモードが開始されると、該当するモード開始フラグをＯＮにセットし、ジャイロセンサからのデータ受信を開始する（ステップＳ３３１）。ティーチングモードが中断されると、該当するモード開始フラグをＯＦＦにセットし（ステップＳ３３２）、ティーチングモードの再開によりモード開始フラグを再びＯＮにセットする（ステップＳ３３３）。ティーチングモードの終了時は、モータ停止コマンドを送出してモータ開始フラグをＯＦＦにセットして（ステップＳ３３４）元の処理に戻る。各動作モードの変更は、タッチパネルによる操作、或いは基地局からの指示によりイベント割り込みを発生させることで該当する動作モードに移行する。
【００５５】
図１９は、本発明の一実施形態による自動芝刈り機のティーチング処理シーケンスを示す図面である。
【００５６】
図１９を参照すると、ＣＰＵ２は、ＣＰＵ１から開始、終了、停止、又は中断のいずれかのティーチングモード指示コマンドを受信し、受け付け可能であればＡＣＫ応答を返し、そうでない場合はＮＡＣＫ応答を返す。ＣＰＵ２は、ティーチングモードを開始するとジャイロセンサにデータ送信開始要求を行い、ジャイロデータの受信を開始する。これに応じてジャイロセンサは指定間隔でデータをＣＰＵ２に送信する。ティーチングモード停止の場合は、ジャイロセンサにデータ停止要求を行い。ジャイロデータの受信を停止する。
【００５７】
ティーチングモードが開始されると、ＣＰＵ１は、前進開始をＣＰＵ２に要求しＡＣＫ又はＮＡＣＫ応答を待つ。ＣＰＵ１から前進開始要求を受信したＣＰＵ２は、駆動モータコントローラに前進速度に応じた所定比率のＰＷＭ（Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ）信号出力コマンドを送信して自動芝刈り機１を前進させると共にＣＰＵ１にＡＣＫ応答を返す。また、併せて、ＣＰＵ２は停止方位角との差の移動角度をＣＰＵ１に通知してＡＣＫ又はＮＡＣＫ応答により確認する。ＣＰＵ２は、ＣＰＵ１から停止コマンドを受信すると、駆動モータコントローラにＰＷＭ信号出力を停止するコマンドを送信して自動芝刈り機１を停止させると共にＣＰＵ１にＡＣＫ応答を返し、ジャイロ受信で得られたジャイロ方位角を保存する。なお、以下に説明する回頭中には移動角度送信は行わない。
【００５８】
ＣＰＵ１から右回頭（右回転による回頭）指示コマンドＸ（１、２、３）を受信したＣＰＵ２は、駆動モータコントローラに右回頭指示コマンドＸ（１、２、３）に対応した回頭角速度コマンドを出力して自動芝刈り機１を回頭させると共にＣＰＵ１にＡＣＫ応答を返す。ＣＰＵ２は、ＣＰＵ１から右回頭停止コマンドを受信すると、駆動モータコントローラに回頭角速度０のコマンドを出力して自動芝刈り機１の回頭を停止させると共にＣＰＵ１にＡＣＫ応答を返し、併せて停止方位角との差である回頭開始から回頭停止までの移動角度を通知してＡＣＫ又はＮＡＣＫ応答を待つ。左回頭の場合も上記右回頭と同様の処理を行う。
【００５９】
ＣＰＵ１から芝刈りＯＮコマンドを受信すると、ＣＰＵ２は芝刈りモータコントローラにカッターの回転速度に応じた所定比率のＰＷＭ信号出力コマンドを送信して自動芝刈り機１に芝刈り動作を開始させると共に芝刈りモータコントローラの出力制御タイマーをスタートさせ、ＣＰＵ１にＡＣＫ応答を返す。所定時間後に出力制御量を変更しカッターの回転速度を所定の回転数にする。ＣＰＵ１から芝刈りＯＦＦコマンドを受信すると、ＣＰＵ２は芝刈りモータコントローラにＰＷＭ信号出力を停止するコマンドを送信してカッターの回転を停止させて自動芝刈り機１の芝刈り動作を停止させると共に芝刈りモータコントローラの出力制御タイマーを停止させ、ＣＰＵ１にＡＣＫ応答を返す。
【００６０】
図２０は、図１３に示す自動芝刈りモードの概略フロー図であり、図２１は、図２０に示す自動芝刈りモードの割り込み処理フロー図である。
【００６１】
図２０を参照すると、自動芝刈りモードは、先ずモード開始フラグを確認して（ステップＳ４０１）自動芝刈りモードが開始されていない場合はそのまま元の処理に戻り、自動芝刈りモードが開始されると、ティーチングデータをＣＰＵ１から取得して目標地点単位でＲＡＭへ展開し、ティーチング処理によるデータ受信が完了したか否かを判断して（ステップＳ４０２）ティーチングデータの受信が完了すると、「ＧＰＳデータ受信処理」及び「ジャイロデータ受信処理」（ステップＳ４０３）に移行する。ティーチングデータの受信が未完了の場合は、先ずＣＰＵ１へ基準点のデータを要求して（ステップＳ４０４）「基準点受信処理」（ステップＳ４０５）を行い、引き続きＣＰＵ１へティーチングデータを要求して（ステップＳ４０６）「ティーチングデータ処理」（ステップＳ４０７）を行う。ティーチングデータが正常か否かを判断し（ステップＳ４０８）、ティーチングデータが正常に取得できなかった場合は、ＣＰＵ１へ異常終了を通知し（ステップＳ４１４）、自動芝刈りモードのモード開始フラグをＯＦＦにし、目標カウンタをリセットして（ステップＳ４１３）元の処理に戻る。ティーチングデータが正常であると、ティーチングデータ受信完了フラグをＯＮにして（ステップＳ４０９）ジャイロデータの受信を開始し（ステップＳ４１０）、「ＧＰＳデータ受信処理」及び「ジャイロデータ受信処理」ステップＳ４０３に移行する。「ＧＰＳデータ受信処理」及び「ジャイロデータ受信処理」が終了すると（ステップＳ４１１）、ＣＰＵ１へ正常或いは異常終了したことを通知し（ステップＳ４１２）、モード開始フラグをＯＦＦにし、目標カウンタをリセットして（ステップＳ４１３）元の処理に戻る。「ＧＰＳデータ受信処理」及び「ジャイロデータ受信処理」が終了していない場合はそのまま元の処理に戻る。
【００６２】
図２１を参照すると、図１８を参照して説明したように、図１３に示した動作モードの変更は割り込み受信により受け付けられ、自動芝刈りモードが開始されると、モード開始フラグをＯＮにセットし、目標カウンタをリセットする（ステップＳ４３１）。自動芝刈りモードが中断されると、モード開始フラグをＯＦＦにセットし（ステップＳ４３２）、自動芝刈りモードの再開によりモード開始フラグを再びＯＮにセットする（ステップＳ４３３）。自動芝刈りモードの終了時は、モータ停止コマンドを送出してモータ開始フラグをＯＦＦにセットし、目標カウンタをリセットして元の処理に戻る（ステップＳ４３４）。
【００６３】
図２２は、図２０に示すＧＰＳデータの処理フロー図である。
【００６４】
図２２を参照すると、「ＧＰＳデータ受信処理」は、センサデータが正常か否かを判断した（ステップＳ５０１）後、ＧＰＳデータを正常に受信できたか否かを判断する（ステップＳ５０８）。センサデータの異常を検出した場合は、センサの種類を識別して該当する異常フラグをセットし（ステップＳ５０２）、駆動モータ及び芝刈りモータを停止してモータサーボ機能をＯＦＦにし（ステップＳ５０９）、動作状態フラグを待機状態にセットして（ステップＳ５１０）元の処理に戻る。異常が発生した場合は動作を停止して異常が取り除かれるまで待機する。ＧＰＳデータを正常に受信できなかった場合も、駆動モータ及び芝刈りモータを停止してモータサーボ機能をＯＦＦにし（ステップＳ５０９）、動作状態フラグを待機状態にセットして（ステップＳ５１０）元の処理に戻る。センサの種類を識別するステップＳ５０２でＲＦＩＤリーダがＩＣタグの情報を検出した場合は、Ｕターン停止フラグを確認し（ステップＳ５０３）、Ｕターンしない場合はそのまま元の処理に戻り、Ｕターン停止の場合は、Ｕターン停止フラグをセットして目標方位を＋１８０度にセットし（ステップＳ５０４）、駆動モータへ送信する回頭角速度を計算して（ステップＳ５０５）駆動モータへ計算した回頭角速度を送信し（ステップＳ５０６）動作状態フラグを動作中にセットして元の処理に戻る。
【００６５】
ＧＰＳからデータを正常に受信すると、動作状態が待機中であるか否かを判断し（ステップＳ５１１）、待機中であればモータサーボ機能をＯＮにして駆動モータ及び芝刈りモータを始動させ（ステップＳ５１２）、稼働中であればそのまま、移動目標地点までの距離と方位を計算し（ステップＳ５１３）、回頭角速度を計算して駆動モータへ送信して自動芝刈り機１の先頭を次の目標地点へ向け（ステップＳ５１４）、現在の位置を確認しながら目標地点に到達したかどうかを判定する（ステップＳ５１５）。目標地点に到達したか否かを判断し（ステップＳ５１６）、目標地点に到達していなければ、駆動モータへの回頭角速度を計算して（ステップＳ５２２）駆動モータへ計算した回頭角速度を送信し（ステップＳ５２３）、動作状態フラグを動作中にセットして元の処理に戻る。最終目標地点に到達するまでは、次の移動目標地点を示すインデックスを更新して（ステップＳ５２０）移動目標地点までの距離と方位を計算し（ステップＳ５２１）、駆動モータへの回頭角速度を計算して（ステップＳ５２２）駆動モータへ計算した回頭角速度を送信して次の目標地点へ方向を変え（ステップＳ５２３）、動作状態フラグを動作中にセットして元の処理に戻る。最終目標地点に到達すると（ステップＳ５１７）、駆動モータを停止してモータサーボ機能をＯＦＦにし（ステップＳ５１８）、終了フラグを正常状態にセットして（ステップＳ５１９）元の処理に戻る。ＧＰＳデータ受信処理中は、ＲＳ２３２Ｃデータを割り込みにより受け付けＣＰＵ１からセンサ状態を受信する。
【００６６】
図２３は、図２０に示すジャイロデータの処理フロー図である。
【００６７】
図２３を参照すると、「ジャイロデータ受信処理」は、ジャイロデータを正常に受信したか否かを判断し（ステップＳ６０１）、規定回数以上の異常データを連続して受信した場合等正常にジャイロデータを受信できなかった場合は、異常カウンタを更新し（ステップＳ６０２）、異常の場合（ステップＳ６０３）、駆動モータを停止してモータサーボ機能をＯＦＦにし（ステップＳ６０４）、終了フラグを異常状態にセットして（ステップＳ６０５）元の処理に戻る。ジャイロデータを正常に受信すると、方位を補正する計算を行って異常カウンタを０にセットする（ステップＳ６０６）。補正が実施されない場合も、Ｕターン停止フラグを確認し（ステップＳ６０８）、Ｕターンしない場合はそのまま元の処理に戻り、Ｕターン停止の場合は、駆動モータを停止してモータサーボ機能をＯＦＦにし（ステップＳ６０９）、終了フラグを異常状態にセットして（ステップＳ６１０）元の処理に戻る。方位補正を実施すると、動作状態を確認し（ステップＳ６１１）、動作中でなければそのまま元の処理に戻り、動作中の場合は、駆動モータへ送信する回頭角速度を計算して（ステップＳ６１２）駆動モータへ計算した回頭角速度を送信して（ステップＳ６１３）元の処理に戻る。ジャイロデータ受信処理中は、ＲＳ２３２Ｃデータを割り込みにより受け付けＣＰＵ１からセンサ状態を受信する。
【００６８】
図２４は、本発明の一実施形態による自動芝刈り機の自動芝刈り処理シーケンスを示す図面である。
【００６９】
図２４を参照すると、ＣＰＵ２は、ＣＰＵ１から開始、終了、停止、又は中断のいずれかの自動芝刈りモードの指示を受信し、受け付け可能であればＡＣＫ応答を返し、そうでない場合はＮＡＣＫ応答を返す。ＣＰＵ２は、自動芝刈りモードを開始するとジャイロセンサにデータ送信開始要求を行い、ジャイロデータの受信を開始する。自動芝刈りモード停止の場合は、ジャイロセンサにデータ停止要求を行い。ジャイロデータの受信を停止する。
【００７０】
芝刈りの準備ができると、ＣＰＵ２は、ＣＰＵ１に基準点の送信を要求してＡＣＫ又はＮＡＣＫ応答を待つ。ＣＰＵ１から基準点の通知を受けたＣＰＵ２は、受信した基準点を座標変換（「ＤＤｍｍ．Ｍｍｍｍｍ」を「ＤＤ．ｄｄｄｄｄｄｄｄｄｄｄ」に変換）してオフセット座標を元のＷＧＳ−８４世界測地系座標に戻し、ＣＰＵ１にＡＣＫ応答を返す。ＣＰＵ１は、ＣＰＵ２からティーチングデータが要求されると、ＡＣＫ応答を返してティーチングデータをＣＰＵ２に送信する。ＣＰＵ１はＣＰＵ２からのＡＣＫ応答を受け、次の目標地点のティーチングデータの送信を繰り返す。ティーチングデータの送信は、例えば９０ｍｓ毎に繰り返される。ＣＰＵ２は、取得したティーチングデータをシーケンスＮｏ（ナンバー）順にＲＡＭへ保存する。ＣＰＵ２は、ティーチングデータの受信を全て完了すると、完了通知をＣＰＵ１へ送信してＡＣＫ応答を待ち、ＡＣＫ応答を受けてティーチングフラグをＯＫにセットする。
【００７１】
芝刈り動作が開始されると、ＣＰＵ２は、ＣＰＵ１から各センサの状態を受信してデータが正常な場合は、駆動モータコートローラ及び芝刈りモータコントローラにそれぞれモータ回転開始コマンドを送信して自動芝刈り機１を作動させ、ＣＰＵ１にＡＣＫ応答を返す。データが異常の場合は、１８０度方向転換コマンドを送出した後、駆動モータコートローラ及び芝刈りモータコントローラにそれぞれモータ停止コマンドを送信して自動芝刈り機１を停止させ、ＣＰＵ１にＮＡＣＫ応答を返す。またＣＰＵ１からＧＰＳデータを、ジャイロセンサからジャイロデータをそれぞれ受信し、ＧＰＳデータにより目標地点への距離と方位を計算して駆動モータコントローラへ通知すると共に、ジャイロ受信データの方位角により移動方向を調節し、ジャイロ方位角とＧＰＳ方位とのずれを計算し、駆動モータコントローラへ回頭角度を送信して方向を調整し、自動芝刈り機１の先頭を目標地点へ向けて移動する。最終目標地点に到達するまで、上記動作を繰り返し、最終目標地点に到達すると、ＣＰＵ２は、駆動モータコントローラ及び芝刈りモータコントローラにそれぞれモータ回転停止コマンドを送信してＣＰＵ１に終了通知をし、ＡＣＫ又はＮＡＣＫ応答を待つ。ＣＰＵ２は、ＣＰＵ１からＡＣＫ応答を受けてジャイロセンサに送信停止要求を送信する。
【００７２】
図２５は、図１３に示す手動・移動処理の概略フロー図であり、図２６は、図２５に示す手動・移動処理の割り込み処理フロー図である。
【００７３】
図２５を参照すると、タッチパネル等の操作や基地局からの指示により手動による移動操作、即ち「手動・移動処理」が開始されると（ステップＳ７０１）、ティーチング指示に変化があったか否かを判断し（ステップＳ７０２）、「ティーチング処理」を行わない場合はそのまま元の処理に戻る。ティーチング指示に変化があると停止／前進／回頭動作に移行する（ステップＳ７０３）。稼動状態の場合はそのまま停止／前進／回頭動作ステップＳ３１３に移行する。
【００７４】
回頭動作の場合は駆動モータへ回頭コマンドを送信する（ステップＳ７０６）。回頭コマンドは左右で送信する回頭角速度値を変更することもある。前進動作の場合は駆動モータへ前進コマンドを送信すると共に、回頭角速度を０にセットして駆動モータへ回頭停止コマンドを送信する（ステップＳ７０５）。停止動作の場合は駆動モータへ停止コマンドを送信する。
【００７５】
その後、停止／前進／回頭動作に対応した手動芝刈り動作ＯＮ／ＯＦＦに応じ（ステップＳ７０７）、前進／回頭動作に対応した手動芝刈り動作ＯＮの場合は芝刈りモータへＯＮコマンドを送信して（ステップＳ７０８）元の処理に戻り、停止動作に対応した手動芝刈り動作ＯＦＦの場合は芝刈りモータへ停止コマンドを送信して（ステップＳ７０９）、元の処理に戻る。手動・移動処理中は、ＣＰＵ１からのＧＰＳデータ受信及び他のＲＳ２３２Ｃのデータを割り込みにより受け付ける。
【００７６】
図２６を参照すると、図１３に示した動作モードの変更は割り込み受信により受け付けられ、手動・移動モードが開始されると、モード開始フラグをＯＮにセットし、ティーチング指示データをクリアする（ステップＳ７３１）。手動・移動モードが中断されると、モード開始フラグをＯＦＦにセットし（ステップＳ７３２）、手動・移動モードの再開によりモード開始フラグを再びＯＮにセットする（ステップＳ７３３）。手動・移動モードの終了時は、モータ停止コマンドを送出してモータ開始フラグをＯＦＦにセットして（ステップＳ７３４）元の処理に戻る。
【００７７】
以上、本発明は、上述の実施形態に限られるものではなく、本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
【符号の説明】
【００７８】
１    自動芝刈り機
２    カッティングユニット
１１    ＧＰＳ受信機
１２    ジャイロセンサ
１３    地磁気センサ
１４    加速度センサ
１５    モニタランプ
１６    アラーム
１７    障害物センサ
１８    全方位カメラ
１９    ＲＦＩＤリーダ
２１    制御ユニット（演算処理部）
２２    位置検出ユニット
２３    リフトセンサ
２４    チルトセンサ
２５    インターロック部
２６    充電コネクタ
２７    バッテリ
２８    安定化電源（電圧検出部）
２９    サーマルプロテクタ
３１    モータドライバ
３２、３４、３６    モータ
３３、３５、３７    エンコーダ
１１１    緯度経度データ
１２１    方位データ
１３１    Ｘ、Ｙ、Ｚ加速度データ
２０１    演算処理部
２１１    教示データ
２１２    目的地計算部
２１４    積分器
２１３、３１１    サンプリング部
２１５    移動方向取得部
２１６    変位検出部
３２１    舵角・モータ出力部
【図１】
2012105557.tif 000003
【図２】
2012105557.tif 000004
【図３】
2012105557.tif 000005
【図４】
2012105557.tif 000006
【図５】
2012105557.tif 000007
【図６】
2012105557.tif 000008
【図７】
2012105557.tif 000009
【図８】
2012105557.tif 000010
【図９】
2012105557.tif 000011
【図１０】
2012105557.tif 000012
【図１１】
2012105557.tif 000013
【図１２】
2012105557.tif 000014
【図１３】
2012105557.tif 000015
【図１４】
2012105557.tif 000016
【図１５】
2012105557.tif 000017
【図１６】
2012105557.tif 000018
【図１７】
2012105557.tif 000019
【図１８】
2012105557.tif 000020
【図１９】
2012105557.tif 000021
【図２０】
2012105557.tif 000022
【図２１】
2012105557.tif 000023
【図２２】
2012105557.tif 000024
【図２３】
2012105557.tif 000025
【図２４】
2012105557.tif 000026
【図２５】
2012105557.tif 000027
【図２６】
2012105557.tif 000028