(57)【要約】  マーカにより規定されている作業エリアで作業する自律作業機であって、カメラと、前記カメラの撮影画像からマーカを検出する検出手段と、前記マーカが前記検出手段の検出範囲から逸脱した場合、前記自律作業機の走行速度と進行方向との少なくとも一方を制御する制御手段とを備える。
2020105125.tif 000002
【特許請求の範囲】
【請求項１】
マーカにより規定されている作業エリアで作業する自律作業機であって、
カメラと、
前記カメラの撮影画像からマーカを検出する検出手段と、
前記マーカが前記検出手段の検出範囲から逸脱した場合、前記自律作業機の走行速度と進行方向との少なくとも一方を制御する制御手段と、
を備えることを特徴とする自律作業機。
【請求項２】
前記制御手段は、前記マーカが前記検出手段の検出範囲から逸脱してから所定時間が経過した後に、前記自律作業機の走行速度と進行方向との少なくとも一方を制御することを特徴とする請求項１に記載の自律作業機。
【請求項３】
前記検出手段により検出されたマーカ間にバーチャルワイヤを設定する設定手段をさらに備え、
前記制御手段は、前記設定手段により設定されたバーチャルワイヤを前記作業エリアの境界として認識し、前記バーチャルワイヤを超えて前記作業エリア外へ逸脱しないように、前記自律作業機の走行速度と進行方向との少なくとも一方を制御することを特徴とする請求項１又は２に記載の自律作業機。
【請求項４】
前記自律作業機の位置を推定する推定手段と、
前記マーカの配置位置を含む配置情報を記憶する記憶手段と、
前記配置位置と前記検出手段による検出結果とが整合するか否かを判定する判定手段と、をさらに備え、
前記制御手段は、前記判定手段により整合しないと判定された場合、前記推定手段による推定結果に基づいて、前記自律作業機の走行速度と進行方向との少なくとも一方を制御することを特徴とする請求項１乃至３の何れか１項に記載の自律作業機。
【請求項５】
前記推定手段は、オドメトリ、衛星測位システム、又は前記カメラの撮影結果を用いて推定を行うことを特徴とする請求項４に記載の自律作業機。
【請求項６】
前記マーカの配置位置を含む配置情報を記憶する記憶手段と、
前記配置位置と前記検出手段による検出結果とが整合するか否かを判定する判定手段と、をさらに備え、
前記制御手段は、前記判定手段により整合すると判定された場合であって且つ前記マーカが前記検出手段の検出範囲から逸脱した場合に、前記自律作業機の走行速度と進行方向との少なくとも一方を制御することを特徴とする請求項１乃至３の何れか１項に記載の自律作業機。
【請求項７】
前記自律作業機が前記作業エリアの境界方向へ移動しているか否かを判定する方向判定手段をさらに備え、
前記制御手段は、前記方向判定手段により前記自律作業機が前記境界方向へ移動していると判定された場合であって且つ前記マーカが前記検出手段の検出範囲から逸脱した場合、前記自律作業機の走行速度と進行方向との少なくとも一方を制御することを特徴とする請求項１乃至３の何れか１項に記載の自律作業機。
【請求項８】
前記制御手段は、前記検出手段により検出された複数のマーカの全てが前記検出範囲から逸脱した場合、前記自律作業機の走行速度と進行方向との少なくとも一方を制御することを特徴とする請求項１乃至７の何れか１項に記載の自律作業機。
【請求項９】
前記制御手段は、前記検出手段により検出された複数のマーカのうちの少なくとも１つが前記検出範囲から逸脱した場合、前記自律作業機の走行速度と進行方向との少なくとも一方を制御することを特徴とする請求項１乃至７の何れか１項に記載の自律作業機。
【請求項１０】
前記制御手段は、前記検出手段により検出された２つのマーカのうちの一方が前記検出範囲から逸脱した場合に、前記自律作業機の走行速度と進行方向との少なくとも一方を制御することを特徴とする請求項９に記載の自律作業機。
【請求項１１】
前記制御手段は、前記検出手段により検出されたマーカを、マーカとして認識できなくなった場合、前記自律作業機の走行速度と進行方向との少なくとも一方を制御することを特徴とする請求項１乃至７の何れか１項に記載の自律作業機。
【請求項１２】
マーカにより規定されている作業エリアで作業する自律作業機の制御方法であって、
前記自律作業機が備えるカメラの撮影画像からマーカを検出する検出工程と、
前記マーカが前記検出工程による検出範囲から逸脱した場合、前記自律作業機の走行速度と進行方向との少なくとも一方を制御する制御工程と、
を有することを特徴とする自律作業機の制御方法。
【請求項１３】
コンピュータを、請求項１乃至１１の何れか１項に記載の自律作業機として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自律作業機、自律作業機の制御方法及びプログラムに関するものである。
【背景技術】
【０００２】
従来、複数のマーカを用いて作業エリアを規定し、規定された作業エリア内で作業を行う自律作業機が知られている。【０００３】
特許文献１は、撮像画像から、作業エリアの所定位置に対して予め設置したマーカの画像を抽出し、抽出されたマーカ画像に基づき現在位置を求め、作業ラインに従った自律走行を行う除草装置を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−１５８５３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、マーカとマーカとの間へ向かって自律作業機が進行する場合、マーカにより規定されている作業エリア外へ自律作業機が逸脱してしまう可能性がある。自律作業機がマーカ間を通過して作業エリア外へ逸脱する場合、作業エリア外に存在する池に水没してしまう等、事故に繋がる恐れがある。【０００６】
本発明の目的は、自律作業機が作業エリア外へ逸脱することなく、作業を継続可能にするための技術を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決し、目的を達成するために、本発明に係る自律作業機は、
マーカにより規定されている作業エリアで作業する自律作業機であって、
カメラと、
前記カメラの撮影画像からマーカを検出する検出手段と、
前記マーカが前記検出手段の検出範囲から逸脱した場合、前記自律作業機の走行速度と進行方向との少なくとも一方を制御する制御手段と、
を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、自律作業機が作業エリア外へ逸脱することなく、作業を継続することが可能となる。【０００９】
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
【図面の簡単な説明】
【００１０】
添付図面は明細書に含まれ、その一部を構成し、本発明の実施の形態を示し、その記述と共に本発明の原理を説明するために用いられる。
【図１】本発明の一実施形態に係る自律走行可能な自律作業機の外観図である。
【図２】本発明の一実施形態に係る自律作業機を側方から観察した図である。
【図３】本発明の一実施形態に係る自律作業機を制御する電子制御ユニット（ＥＣＵ）の入出力関係を示すブロック図である。
【図４】実施形態１に係る自律作業機が実施する処理手順を示すフローチャートである。
【図５】実施形態２に係る自律作業機が実施する処理手順を示すフローチャートである。
【図６】本発明の一実施形態に係る作業エリアでの動作の一例を示す図である。
【図７】本発明の一実施形態に係る作業エリアでの別の動作の一例を示す図である。
【図８】本発明の一実施形態に係る作業エリアでの更に別の動作の一例を示す図である。
【図９】本発明の一実施形態に係る撮影画像の解析の一例を示す図である。
【図１０】本発明の一実施形態に係る作業エリアでの更に別の動作の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、添付の図面を参照しながら、本発明の実施形態を説明する。なお、各図面を通じて同一の構成要素に対しては同一の参照符号を付している。
【００１２】
（実施形態１）
図１は、本発明の一実施形態に係る自律走行可能な作業機の外観図である。以下では側面視における作業機の進行方向（車長方向）と、進行方向に直交する横方向（車幅方向）と、進行方向と横方向に直交する鉛直方向とを、それぞれ前後方向、左右方向、上下方向と定義し、それに従って各部の構成を説明する。
【００１３】
図１において、符号１０は作業機（以下「作業車」という）を示す。作業車１０は、具体的には自律走行する芝刈機として機能する。但し、芝刈機は一例であり、他の種類の作業機械（例えば、除雪機、草刈り機、運搬車、耕運機等）にも本発明を適用することができる。作業車１０は、複数のカメラ（第１のカメラ１１ａ、第２のカメラ１１ｂ）を含むカメラユニット１１を備えており、視差のある第１のカメラ１１ａ、第２のカメラ１１ｂにより撮影された画像を用いて、前方に存在する物体と、作業車１０との距離情報を算出して取得することができる。そして、作業車１０は、物体までの距離情報に基づいて作業車１０の動作を制御する。
【００１４】
図２は、該作業車１０を横方向（車幅方向）から観察した図である。図２に示されるように、作業車１０は、カメラユニット１１、車体１２、ステー１３、前輪１４、後輪１６、ブレード２０、作業モータ２２、モータ保持部材２３、ブレード高さ調節モータ１００、及び並進機構１０１を備えている。また、作業車１０は、走行モータ２６、各種のセンサ群Ｓ、電子制御ユニット（ＥＣＵ：Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）４４、充電ユニット３０、電池（バッテリ）３２、充電端子３４、報知部３５を備えている。
【００１５】
作業車１０の車体１２は、シャーシ１２ａと、該シャーシ１２ａに取り付けられるフレーム１２ｂとを有する。前輪１４は、前後方向においてシャーシ１２ａの前側にステー１３を介して固定される小径の左右２個の車輪である。後輪１６は、シャーシ１２ａの後側に取り付けられる大径の左右２個の車輪である。
【００１６】
ブレード２０は、シャーシ１２ａの中央位置付近に取り付けられる芝刈り作業用のロータリブレードである。作業モータ２２は、ブレード２０の上方に配置された電動モータである。ブレード２０は、作業モータ２２と接続されており、作業モータ２２によって回転駆動される。モータ保持部材２３は、作業モータ２２を保持する。モータ保持部材２３は、シャーシ１２ａに対して回転が規制されると共に、例えば、ガイドレールと、ガイドレールに案内されて上下に移動可能なスライダとの組み合せにより、上下方向の移動が許容されている。
【００１７】
ブレード高さ調節モータ１００は、接地面ＧＲに対するブレード２０の上下方向の高さを調節するためのモータである。並進機構１０１は、ブレード高さ調節モータ１００と接続されており、ブレード高さ調節モータ１００の回転を上下方向の並進移動に変換するための機構である。当該並進機構１０１は、作業モータ２２を保持するモータ保持部材２３とも接続されている。
【００１８】
ブレード高さ調節モータ１００の回転が並進機構１０１により並進移動（上下方向の移動）に変換され、並進移動はモータ保持部材２３に伝達される。モータ保持部材２３の並進移動（上下方向の移動）により、モータ保持部材２３に保持されている作業モータ２２も並進移動（上下方向の移動）する。作業モータ２２の上下方向の移動により、接地面ＧＲに対するブレード２０の高さを調節することができる。
【００１９】
走行モータ２６は、作業車１０のシャーシ１２ａに取り付けられている２個の電動モータ（原動機）である。２個の電動モータは、左右の後輪１６とそれぞれ接続されている。前輪１４を従動輪、後輪１６を駆動輪として左右の車輪を独立に正転（前進方向への回転）あるいは逆転（後進方向への回転）させることで、作業車１０を種々の方向に移動させることができる。
【００２０】
充電端子３４は、フレーム１２ｂの前後方向の前端位置に設けられた充電端子であり、充電ステーション（不図示）の対応する端子と接続することで、充電ステーションからの給電を受けることができる。充電端子３４は、配線を介して充電ユニット３０と接続されており、当該充電ユニット３０は電池（バッテリ）３２と接続されている。また、作業モータ２２、走行モータ２６、ブレード高さ調節モータ１００も電池３２と接続されており、電池３２から給電されるように構成されている。
【００２１】
ＥＣＵ４４は、回路基板上に構成されたマイクロコンピュータを含む電子制御ユニットであり、作業車１０の動作を制御する。ＥＣＵ４４の詳細は後述する。報知部３５は、作業車１０に異常が発生したような場合に異常の発生を報知する。例えば、音声や表示により報知する。或いは、作業車１０と有線又は無線で接続された外部機器に対して、異常の発生を出力する。ユーザは、外部機器を通じて異常の発生を知ることができる。
【００２２】
図３は、該作業車１０を制御する電子制御ユニット（ＥＣＵ）の入出力関係を示すブロック図である。図３に示されるように、ＥＣＵ４４は、ＣＰＵ４４ａと、Ｉ／Ｏ４４ｂと、メモリ４４ｃとを備えている。メモリ４４ｃは、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ Ｍｅｍｏｒy）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等である。メモリ４４ｃには、作業車１０の作業日程、作業領域に関する情報や、作業車１０の動作を制御するための各種プログラムが記憶されている。ＥＣＵ４４は、メモリ４４ｃに格納されているプログラムを読み出して実行することにより、本発明を実現するための各処理部として動作することができる。
【００２３】
ＥＣＵ４４は各種のセンサ群Ｓと接続されている。センサ群Ｓは、方位センサ４６、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）センサ４８、車輪速センサ５０、角速度センサ５２、加速度センサ５４、電流センサ６２、及びブレード高さセンサ６４を含んで構成されている。
【００２４】
方位センサ４６及びＧＰＳセンサ４８は、作業車１０の位置や向きの情報を取得するためのセンサである。方位センサ４６は、地磁気に応じた方位を検出する。ＧＰＳセンサ４８は、ＧＰＳ衛星からの電波を受信して作業車１０の現在位置（緯度、経度）を示す情報を検出する。なお、現在位置の推定については、ＧＰＳを利用する場合に限定されるものではなく、ＧＮＳＳ（Ｇｌｏｂａｌ Ｎａｖｉｇａｔｉｏｎ Ｓａｔｅｌｌｉｔｅ Ｓｙｓｔｅｍ）等の、任意の衛星測位システムにより現在位置を求めてもよい。また、カメラの撮影結果に基づいて現在位置を求めてもよい。
【００２５】
車輪速センサ５０、角速度センサ５２、及び加速度センサ５４は、作業車１０の移動状態に関する情報を取得するためのセンサである。車輪速センサ５０は、左右の後輪１６の車輪速を検出する。角速度センサ５２は、作業車１０の重心位置の上下方向の軸（鉛直方向のｚ軸）回りの角速度を検出する。加速度センサ５４は、作業車１０に作用するｘ，ｙ，ｚ軸の直交３軸方向の加速度を検出する。
【００２６】
電流センサ６２は、電池３２の消費電流（消費電力量）を検出する。消費電流（消費電力量）の検出結果はＥＣＵ４４のメモリ４４ｃに保存される。予め定められた電力量が消費され、電池３２に蓄積されている電力量が閾値以下になった場合、ＥＣＵ４４は、充電のために作業車１０を充電ステーション（不図示）へ帰着させるように制御する。
【００２７】
ブレード高さセンサ６４は、接地面ＧＲに対するブレード２０の高さを検出する。ブレード高さセンサ６４の検出結果はＥＣＵ４４へ出力される。ＥＣＵ４４の制御に基づいて、ブレード高さ調節モータ１００が駆動され、ブレード２０が上下方向に上下して接地面ＧＲからの高さが調節される。
【００２８】
各種センサ群Ｓの出力は、Ｉ／Ｏ４４ｂを介してＥＣＵ４４へ入力される。ＥＣＵ４４は、各種センサ群Ｓの出力に基づいて、走行モータ２６、作業モータ２２、高さ調節モータ１００に対して電池３２から電力を供給する。ＥＣＵ４４は、Ｉ／Ｏ４４ｂを介して制御値を出力して走行モータ２６を制御することで、作業車１０の走行を制御する。また、Ｉ／Ｏ４４ｂを介して制御値を出力して高さ調節モータ１００を制御することで、ブレード２０の高さを調節する。さらに、Ｉ／Ｏ４４ｂを介して制御値を出力して作業モータ２２を制御することで、ブレード２０の回転を制御する。ここで、Ｉ／Ｏ４４ｂは、通信インタフェースとして機能することができ、ネットワーク３０２を介して有線又は無線で外部機器（例えば、スマートフォンやパーソナルコンピュータ等の通信機器）３５０と接続することが可能である。
【００２９】
＜処理＞
続いて、図４のフローチャートを参照しながら、本実施形態に係る作業車１０が実施する処理の手順を説明する。ステップＳ４０１において、ＥＣＵ４４は、カメラユニット１１により撮影された撮影画像を取得する。
【００３０】
ステップＳ４０２において、ＥＣＵ４４は、撮影画像からマーカを検出する。ここで、マーカとは、作業車１０が作業を行う作業エリアを規定するために予め作業エリアに配置された目印である。例えば、図６は複数のマーカにより規定された作業エリア内で作業を行う作業車１０の様子を示す図である。６００は作業エリアであり、６０１乃至６０５がマーカである。複数のマーカ６０１乃至６０５により作業エリア６００の境界が規定され、これにより作業エリア６００が規定されている。なお、マーカは作業エリアの外周を規定するだけではなく、作業エリアの内部に大きな木や岩などの障害物が存在する場合に、その周囲に複数のマーカを配置し、その障害物を作業エリアから除外することもできる。マーカが検出された場合、ステップＳ４０３へ進む。一方、マーカが検出されない場合、ステップＳ４０８へ進む。
【００３１】
ステップＳ４０３において、ＥＣＵ４４は、撮影画像及びマーカに基づいて、作業車１０の動作を制御する。ＥＣＵ４４は、カメラユニット１１により撮影された複数の撮影画像に基づいて、作業車１０の前方に存在するマーカと、作業車１０との距離情報を算出して取得することができる。そして、ＥＣＵ４４は、マーカまでの距離情報に基づいて作業車１０の動作を制御する。その際、ＥＣＵ４４は、検出されたマーカ間にバーチャルワイヤを設定してもよい。そして、ＥＣＵ４４は、設定されたバーチャルワイヤを作業エリアの境界として認識し、バーチャルワイヤを超えて作業エリア外へ逸脱しないように、作業車１０の動作（例えば、走行速度と進行方向との少なくとも一方）を制御してもよい。これにより、マーカが検出されている間は、バーチャルワイヤを逸脱しないように旋回等の動作を行うことができるため、より高精度な制御が可能となる。
【００３２】
ステップＳ４０４において、ＥＣＵ４４は、カメラユニット１１により撮影された撮影画像を取得する。ステップＳ４０５において、ＥＣＵ４４は、ステップＳ４０４で取得された撮影画像からマーカを検出する。マーカが検出された場合、ステップＳ４０３に戻る。一方、マーカが検出されない場合（すなわち、マーカが検出範囲から逸脱した場合）、ステップＳ４０６へ進む。
【００３３】
本ステップＳ４０５では、例えば、前のフレームの撮影画像から複数のマーカが検出されていたのであれば、撮影画像から複数のマーカの全てが検出されなくなった場合（検出範囲から逸脱した場合）に、ステップＳ４０６へ進むように構成してもよい。
【００３４】
或いは、本ステップＳ４０５では、前のフレームの撮影画像から複数のマーカが検出されていたのであれば、現フレームの撮影画像から複数のマーカのうちの少なくとも１つが検出されなくなった場合（検出範囲から逸脱した場合）に、ステップＳ４０６へ進むように構成してもよい。また、前のフレームの撮影画像から２つのマーカが検出されていたのであれば、現フレームの撮影画像から２つのマーカのうちの一方が検出されなくなった場合（検出範囲から逸脱した場合）に、ステップＳ４０６へ進むように構成してもよい。図６の例の場合、作業エリア６００の右側から左側へ向かって作業車１０が移動している。右側にいる時には、マーカ６０２及びマーカ６０３の２つのマーカが検出されているが、左下の方向へ移動するとマーカ６０３が検出されなくなり、マーカ６０２のみが検出されることになる。このような場合、マーカ６０２及びマーカ６０３を結ぶ線により規定される境界から作業車１０が逸脱してしまう可能性がある。従って、逸脱回避のために、ステップＳ４０６へ進む。
【００３５】
或いは、本ステップＳ４０５では、前のフレームの撮影画像で検出されていたマーカが、現フレームの撮影画像ではマーカとして認識できなくなった場合に、ステップＳ４０６へ進むように構成してもよい。例えば、作業車１０がマーカに近づきすぎてしまい、撮影画像中にマーカが含まれてはいるものの、マーカとして認識できなくなってしまった場合が該当する。
【００３６】
ステップＳ４０６において、ＥＣＵ４４は、作業車１０が作業エリアの境界方向へ移動しているか否かを判定する。図６の例では、作業車１０が作業エリア６００の境界（例えばマーカ６０１とマーカ６０２とを結ぶ線、或いは、マーカ６０２とマーカ６０３とを結ぶ線）の方向へ向かっている。例えば、連続的に取得されてきた前のフレームの撮影画像のそれぞれで検出されたマーカのサイズを記録しておき、撮影画像から検出されるマーカのサイズが段階的に大きくなり、所定のサイズ以上で検出されるようになった場合に、作業車１０が境界方向へ移動していると判定することができる。或いは、撮影画像から検出されるマーカのサイズの増加速度を計測し、所定の増加速度以上となった場合に、作業車１０が境界方向へ移動していると判定してもよい。マーカからの距離が遠い時には、遠方に検出されるマーカのサイズは撮影画像間でそれほど変化しないが、近くで検出されるマーカのサイズは、少し移動するだけで撮影画像間で大きく変化するためである。作業車１０が境界方向へ移動していると判定された場合、ステップＳ４０７へ進む。一方、作業車１０が境界方向へ移動していないと判定された場合（例えば、作業エリア６００の中央付近に向かって走行している場合）、ステップＳ４０９へ進む。
【００３７】
ステップＳ４０７において、ＥＣＵ４４は、作業車１０の走行速度と進行方向との少なくとも一方を制御する。例えば、作業車１０の走行速度を現在の走行速度から減速する、且つ／又は、作業車１０を旋回させて進行方向を変更する。例えば、現在の進行方向に対して９０度の方向になるように左右のどちらかに旋回する。或いは、現在の進行方向に対して１８０度の方向になるように左右のどちらかに旋回してもよい。すなわち、これまでの進行方向とは逆方向に走行するように作業車１０を旋回してもよい。なお、９０度や１８０度に限られず任意の角度であってもよい。例えば４５度〜１８０度の範囲から選択して決定してもよい。或いは、一時停止して進行方向と逆方向に後退してもよい。
【００３８】
図６の例の場合、マーカ６０２及びマーカ６０３の間を結ぶ線から離れる方向へ、現在の進行方向に対して右方向へ旋回してもよい。その際、併せて走行速度を減速してもよい。これにより、作業車１０が作業エリアの境界から逸脱して外へ飛び出してしまうことを防止することができる。
【００３９】
但し、必ずしも境界から離れる方向に旋回しなくてもよい。現在の進行方向に対して左右のどちらの方向へ旋回しても境界から逸脱しないのであれば、境界へ近づく方向へ旋回してもよい。
【００４０】
ここで、左右どちらの方向へ旋回してもよい場合の方向の決定方法の一例を述べる。図７は、図６と同様に、マーカ７０１乃至７０５で規定される作業エリア７００を図示している。ここで、作業エリア７００は、第１の作業エリア７００ａと第２の作業エリア７００ｂとを有している。第１の作業エリア７００ａは、第２の作業エリア７００ｂよりも作業量が多いエリアである。作業量が多いとは、例えば芝の量が多いことを意味し、作業量が少ないとは、例えば芝の量が少ないことを意味するものとする。また、作業車１０が芝刈機ではなく、例えば除雪機やゴルフボール回収機などである場合には、雪が多く積もっているエリアが作業量が多いエリアとなり、ゴルフボールが多く分布しているエリアが作業量が多いエリアとなる。左右どちらが作業量が多いエリアかを判定し、判定した方のエリアへ旋回するように制御する。例えば、作業量が多い第１の作業エリア７００ａが存在する右方向へ旋回するように制御する。また、右方向へ旋回するのではなく、進行方向に対して逆方向になるまで右方向へ旋回してもよい。例えば、図８は、図７と同様に、マーカ８０１乃至８０５で規定される作業エリア８００を図示している。ここで、作業エリア８００は、第１の作業エリア８００ａと第２の作業エリア８００ｂとを有している。第１の作業エリア８００ａは、第２の作業エリア８００ｂよりも作業量が多いエリアである。図示の通り、進行方向に対して第１の作業エリア８００ａがある右側へ旋回し、当初の進行方向と逆方向になるまで旋回を続け、その逆方向へ進むように制御する。これにより、作業の残し（例えば芝の刈り残し）を低減することができ、従って、高い作業効率を維持したまま、作業車１０が作業エリアの境界から逸脱して外へ飛び出してしまうことを防止することができる。
【００４１】
なお、どちらの作業エリアの作業量が多いかを判定する方法を、図９を参照して説明する。図９は、カメラユニット１１により撮影された撮影画像９００である。撮影画像９００は、図８において作業車１０が右上から左下へ向かっている途中に撮影された画像である。撮影画像には、マーカ８０２、第１の作業エリア８００ａ、第２の作業エリア８００ｂが含まれている。ここで、作業車１０が芝刈機である場合、作業量が多いエリアとは芝の多いエリアである。芝の多いエリアと芝の少ないエリアとでは色の明暗が異なる。芝の多いエリアでは濃い緑色となり、芝の少ないエリアでは薄い緑色（例えば黄緑色）となる。撮影画像の輝度値を解析することにより濃い色の芝が多く分布しているエリアを作業量が多いエリアとして決定することができる。これにより、作業量が多い作業エリアに旋回することが可能となる。また、作業車１０が除雪機である場合、同様に撮影画像を解析することで雪が多く積もっているエリアを作業量が多いエリアとして決定することができる。作業機がゴルフボール回収機である場合、同様に撮影画像を解析することでゴルフボールの数が多く検出されるエリアを作業量が多いエリアとして決定することができる。
【００４２】
ステップＳ４０８において、ＥＣＵ４４は、処理を継続するか否かを判定する。例えば、作業エリア内での作業が完了したり、ユーザにより作業車１０の電源がオフにされたりした場合に、処理を終了する。そうでない場合、処理を継続すると判定する。本ステップで処理を継続すると判定された場合、ステップＳ４０１に戻る。一方、処理を終了すると判定された場合、図４の一連の処理を終了する。
【００４３】
ステップＳ４０９において、ＥＣＵ４４は、撮影画像に基づいて作業車１０の動作を制御する。例えば、ＥＣＵ４４は、カメラユニット１１により撮影された複数の撮影画像に基づいて、作業車１０の前方に存在する物体（例えば、作業エリア内の木や石、岩など）と、作業車１０との距離情報を算出して取得することができる。そして、ＥＣＵ４４は、までの距離情報に基づいて作業車１０の動作を制御する。前方に障害物がない場合には、走行速度及び進行方向を維持するように制御してもよい。本ステップの処理の後、ステップＳ４０１に戻る。以上が図４の処理の説明である。
【００４４】
なお、図４の処理では、撮影画像からマーカが検出されなくなった場合、つまりマーカが検出範囲から逸脱した場合（ステップＳ４０６でＮｏ）に、ステップＳ４０６で作業車１０が作業エリアの境界方向へ移動しているかどうかを判定していたが、ステップＳ４０６の処理はスキップしてもよい。すなわち、撮影画像からマーカが検出されなくなった場合（ステップＳ４０６でＮｏ）に、すぐに作業車１０が作業エリアの境界から逸脱してしまう可能性があると判断し、ステップＳ４０７の逸脱を回避するための制御を行うように構成してもよい。
【００４５】
また、図４の処理では、撮影画像からマーカが検出されなくなった場合、つまりマーカが検出範囲から逸脱した場合（ステップＳ４０６でＮｏ）に、ステップＳ４０６の処理を経てすぐにステップＳ４０７の処理を行う例を説明した。しかし、マーカが検出範囲から逸脱してから所定時間が経過した後に、作業車１０の走行速度と進行方向との少なくとも一方を制御するように構成してもよい。すなわち、ステップＳ４０５でＮｏと判定されてから、所定時間が経過した後に、ステップ４０７の処理を行うように構成してもよい。これは、マーカが検出されなくなってからもある程度の時間は走行しながら作業を継続してもすぐに作業エリアの境界に到達するわけではないためである。これにより、すぐに旋回や減速等の処理が行われないので、作業エリアから逸脱しない境界近くまで作業を行うことができる。従って、作業していないエリアが発生することを防止できるため（境界付近の刈残しを防止できるため）、作業効率を向上させることができる。
【００４６】
以上説明したように、本実施形態では、マーカが検出範囲から逸脱した場合に、自律作業機の走行速度と進行方向との少なくとも一方を制御する例を説明した。これにより、自律作業機が作業エリア外へ逸脱することなく、作業を継続することが可能となる。
【００４７】
（実施形態２）
本実施形態では、本来存在するはずの位置に何らかの原因で、本来存在するはずのマーカを検知できない場合の制御について説明する。例えば、風の影響でマーカが倒れたり、マーカの位置が移動してしまったりした場合や、マーカの前に障害物が設置されている場合や、芝が延びてマーカを隠してしまっている場合などに、当該マーカに基づいて作業を行うと、意図しない作業エリアでの作業が行われてしまう可能性がある。すなわち、作業車が作業エリアを逸脱してしまう可能性があることになる。本実施形態では、予めマーカの配置情報を記憶しておき、マーカの検出結果と配置情報との整合性を判定し、整合しない場合には、代替位置推定手法に切り替えて作業車の動作を制御する。
【００４８】
本実施形態に係る作業車の構成は実施形態１で説明した作業車１０の構成と同様であるため、詳細な説明は省略する。なお、本実施形態に係る作業車１０は、メモリ４４ｃに、作業エリアを規定する複数のマーカの配置位置を示す配置情報を予め保持している。そして、撮影画像から検出されたマーカの位置と配置情報とが整合するかどうかを判定し、整合しない場合には、作業車１０の位置をＧＰＳセンサ４８を用いて推定し、推定した位置に基づいて作業車１０の動作を制御する。或いは、ＧＰＳセンサ４８ではなく、車輪速センサ５０、角速度センサ５２、加速度センサ６２等を使用したオドメトリにより作業車１０の位置を推定し、推定した位置に基づいて作業車１０の動作を制御する。
【００４９】
＜処理＞
図５のフローチャートを参照しながら、本実施形態に係る作業車１０が実施する処理の手順を説明する。但し、ステップＳ５０１及びＳ５０２の処理は、図４のステップＳ４０１及びＳ４０２の処理と同様である。また、ステップＳ５０４乃至Ｓ５０８、Ｓ５１２の各処理は、図４のステップＳ４０３乃至Ｓ４０５、Ｓ４０７乃至Ｓ４０９の各処理と同様である。以下、図４の処理との相違点を主に説明する。
【００５０】
ステップＳ５０３において、ＥＣＵ４４は、メモリ４４ｃに予め保持されているマーカの配置情報との整合性を判定する。具体的には、ステップＳ５０２で検出されたマーカの位置と、メモリ４４ｃに予め保持されているマーカの配置情報とが整合するか否かを判定する。整合すると判定された場合、ステップＳ５０４へ進む。一方、整合しないと判定された場合、ステップＳ５１０へ進む。
【００５１】
ステップＳ５０９において、ＥＣＵ４４は、メモリ４４ｃに予め保持されているマーカの配置情報との整合性を判定する。具体的には、メモリ４４ｃに予め保持されているマーカの配置情報に示される位置にマーカが存在しない場合（本来存在するはずの位置にマーカが存在しない場合）に、配置情報と整合しないと判定する。整合すると判定された場合、ステップＳ５１２へ進む。一方、整合しないと判定された場合、ステップＳ５１０へ進む。
【００５２】
ステップＳ５１０において、ＥＣＵ４４は、作業車１０の位置を推定する。ＧＰＳセンサ４８を用いて推定してもよいし、車輪速センサ５０、角速度センサ５２、加速度センサ６２等を使用したオドメトリにより推定してもよい。本来存在するはずの位置に何らかの原因でマーカが存在しておらず、検出されたマーカを用いて作業車１０の動作を制御すると、本来意図している作業エリアから逸脱してしまう可能性があるため、別の位置推定手法を用いて作業車１０の位置を推定している。
【００５３】
ステップＳ５１１において、ＥＣＵ４４は、ステップＳ５１０で推定された作業車１０の位置に基づいて、作業車１０の動作を制御する。以上が図５の処理の説明である。
【００５４】
なお、図５の処理では、図４のステップＳ４０６の処理を省略する例を説明したが、省略せずに当該処理を行うようにしてもよい。
【００５５】
ここで、図１０は、マーカ１００１乃至１００５で規定される作業エリア１０００を図示している。ここで、作業エリア１０００は、第１の作業エリア１０００ａと第２の作業エリア１０００ｂとを有している。第１の作業エリア１０００ａは、第２の作業エリア１００ｂよりも作業量が多いエリアである。図示の通り、作業車１０の進行方向に第１の作業エリア１０００ａが存在しており、第２作業エリア１０００ｂから第１の作業エリア１０００ａが存在する方向へ作業車１０が移動している。作業エリア１０００ａは、例えば芝が多いエリアであり、マーカ１００１及びマーカ１００２が検出できない状態であるものとする。このような場合、予め保持しているマーカの配置情報に基づいて、本来存在するはずの位置にマーカが存在しないと判定される。従って、この場合、ステップ５０２でＮｏ、ステップＳ５０９でＮｏとなり、ステップＳ５１０へ進み、代替位置推定手法を用いて作業車１０の位置を推定する。そして、ステップＳ５１１において、推定された位置に基づいて図１１に示されるような旋回動作を行う。或いは、旋回に限らず、後退動作を行ってもよい。
【００５６】
以上説明したように、本実施形態では、予め保持しているマーカの配置情報と、マーカの検出結果との整合性を判定し、整合しない場合には、代替位置推定手法を用いて作業車の位置を推定し、その推定結果に基づいて作業車の動作を制御する。
【００５７】
これにより、検出されたマーカの位置が風などで移動していた場合でも、作業車が作業エリアから逸脱してしまうことを防止できる。或いは、マーカの前に障害物があったり、芝が伸びてマーカが見えなくなったりした場合にはマーカを検出できないが、その場合でも作業車が作業エリアから逸脱してしまうことを防止できる。
【００５８】
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
【００５９】
＜実施形態のまとめ＞
１．上記実施形態の自律作業機（例えば１０）は、
マーカ（例えば６０１乃至６０５等）により規定されている作業エリア（例えば６００等）で作業する自律作業機（例えば１０）であって、
カメラ（例えば１１）と、
前記カメラの撮影画像からマーカを検出する検出手段（例えば４４）と、
前記マーカが前記検出手段の検出範囲から逸脱した場合、前記自律作業機の走行速度と進行方向との少なくとも一方を制御する制御手段（例えば４４）と、
を備える。
【００６０】
この実施形態によれば、自律作業機が作業エリア外へ逸脱することなく、作業を継続することが可能となる。
【００６１】
２．上記実施形態の自律作業機（例えば１０）では、
前記制御手段（例えば４４）は、前記マーカが前記検出手段の検出範囲から逸脱してから所定時間が経過した後に、前記自律作業機の走行速度と進行方向との少なくとも一方を制御する。
【００６２】
この実施形態によれば、検出範囲から逸脱してからすぐに旋回動作を行うとタイミングが早すぎて作業エリアの境界付近に作業漏れ（例えば芝の刈り残し）が生じてしまう可能性があるが、そうした作業漏れを低減することができる。
【００６３】
３．上記実施形態の自律作業機（例えば１０）は、
前記検出手段により検出されたマーカ間にバーチャルワイヤを設定する設定手段（例えば４４）をさらに備え、
前記制御手段は、前記設定手段により設定されたバーチャルワイヤを前記作業エリアの境界として認識し、前記バーチャルワイヤを超えて前記作業エリア外へ逸脱しないように、前記自律作業機の走行速度と進行方向との少なくとも一方を制御する。
【００６４】
マーカが検出されている間は、バーチャルワイヤを逸脱しないように旋回することができるが、何らかのエラーが生じた場合（例えばマーカが検出できなくなった場合）には、バーチャルワイヤを逸脱してしまう可能性がある。この実施形態によれば、エラーが生じた場合には、旋回等の動作を行うことになるので、自律作業機が作業エリア外へ逸脱することなく、作業を継続することが可能となる。
【００６５】
４．上記実施形態の自律作業機（例えば１０）は、
前記自律作業機の位置を推定する推定手段（例えば４８、５０、５２、５４等）と、
前記マーカの配置位置を含む配置情報を記憶する記憶手段（例えば４４ｃ）と、
前記配置位置と前記検出手段による検出結果とが整合するか否かを判定する判定手段（例えば４４）と、をさらに備え、
前記制御手段（例えば４４）は、前記判定手段により整合しないと判定された場合、前記推定手段による推定結果に基づいて、前記自律作業機の走行速度と進行方向との少なくとも一方を制御する。
【００６６】
この実施形態によれば、検出されたマーカの位置が風などで本来あるべき位置から移動していた場合でも、作業機が作業エリアから逸脱してしまうことを防止できる。或いは、マーカの前に障害物があったり、芝が伸びてマーカが見えなくなったりした場合にはマーカを検出できないが、その場合でも作業機が作業エリアから逸脱してしまうことを防止できる。
【００６７】
５．上記実施形態の自律作業機（例えば１０）では、
前記推定手段は、オドメトリ（例えば５０、５２、５４等）、衛星測位システム（例えば４８）、又は前記カメラの撮影結果を用いて推定を行う。
【００６８】
この実施形態によれば、撮影画像を解析した制御が正確性を担保できない場合であっても、別の位置推定手法を用いることで、作業エリアからの逸脱を防止するとともに作業を継続することができる。
【００６９】
６．上記実施形態の自律作業機（例えば１０）は、
前記マーカの配置位置を含む配置情報を記憶する記憶手段（例えば４４ｃ）と、
前記配置位置と前記検出手段による検出結果とが整合するか否かを判定する判定手段（例えば４４）と、をさらに備え、
前記制御手段（例えば４４）は、前記判定手段により整合すると判定された場合であって且つ前記マーカが前記検出手段の検出範囲から逸脱した場合に、前記自律作業機の走行速度と進行方向との少なくとも一方を制御する。
【００７０】
この実施形態によれば、マーカの配置情報と実際に検出されたマーカの位置との整合性を判定した上で旋回等の動作を行うことにより、高精度な制御を実現することができる。
【００７１】
７．上記実施形態の自律作業機（例えば１０）は、
前記自律作業機が前記作業エリアの境界方向へ移動しているか否かを判定する方向判定手段（例えば４４）をさらに備え、
前記制御手段（例えば４４）は、前記方向判定手段により前記自律作業機が前記境界方向へ移動していると判定された場合であって且つ前記マーカが前記検出手段の検出範囲から逸脱した場合、前記自律作業機の走行速度と進行方向との少なくとも一方を制御する。
【００７２】
この実施形態によれば、作業エリアの境界方向へ移動していない場合には境界からの逸脱の可能性が低いと考えられるため、そのような場合に不要な旋回等の動作を行わずに済む。
【００７３】
８．上記実施形態の自律作業機（例えば１０）では、
前記制御手段（例えば４４）は、前記検出手段により検出された複数のマーカの全てが前記検出範囲から逸脱した場合、前記自律作業機の走行速度と進行方向との少なくとも一方を制御する。
【００７４】
この実施形態によれば、全てのマーカが検出できなくなった場合には作業エリアの境界に近接していると考えられるため、旋回等の動作を行うことで、作業エリアからの逸脱を適切に防止することができる。
【００７５】
９．上記実施形態の自律作業機（例えば１０）では、
前記制御手段（例えば４４）は、前記検出手段により検出された複数のマーカのうちの少なくとも１つが前記検出範囲から逸脱した場合、前記自律作業機の走行速度と進行方向との少なくとも一方を制御する。
【００７６】
この実施形態によれば、これまで検出できていたマーカの数が減少した場合には作業エリアの境界へ向かっていると考えられるため、旋回等の動作を行うことで、作業エリアからの逸脱を適切に防止することができる。
【００７７】
１０．上記実施形態の自律作業機（例えば１０）では、
前記制御手段（例えば４４）は、前記検出手段により検出された２つのマーカのうちの一方が前記検出範囲から逸脱した場合に、前記自律作業機の走行速度と進行方向との少なくとも一方を制御する。
【００７８】
この実施形態によれば、２つのマーカが検出されている間はマーカ間を作業エリアの境界として認識できるが、そのうちの一方が検出されなくなった場合には境界を認識することができなくなるため、旋回等の動作を行うことで作業エリアからの逸脱を適切に防止することができる。
【００７９】
１１．上記実施形態の自律作業機（例えば１０）では、
前記制御手段（例えば４４）は、前記検出手段により検出されたマーカを、マーカとして認識できなくなった場合、前記自律作業機の走行速度と進行方向との少なくとも一方を制御する。
【００８０】
この実施形態によれば、例えばマーカに近接しすぎてしまい、撮影画像中に含まれているもののマーカとして認識できなくなったような場合にも、作業エリアからの逸脱を適切に防止することができる。
【００８１】
１２．上記実施形態の自律作業機（例えば１０）の制御方法は、
マーカ（例えば６０１乃至６０５等）により規定されている作業エリア（例えば６００）で作業する自律作業機（例えば１０）の制御方法であって、
前記自律作業機が備えるカメラ（例えば１１）の撮影画像からマーカを検出する検出工程と、
前記マーカが前記検出工程による検出範囲から逸脱した場合、前記自律作業機の走行速度と進行方向との少なくとも一方を制御する制御工程と、
を有する。
【００８２】
この実施形態によれば、自律作業機が作業エリア外へ逸脱することなく、作業を継続することが可能となる。
【００８３】
１３．上記実施形態のプログラムは、
コンピュータを、請求項１乃至１１の何れか１項に記載の自律作業機として機能させるためのプログラムである。
【００８４】
この実施形態によれば、上記実施形態に係る処理をコンピュータにより実現することができる。
【図１】
2020105125.tif 000003
【図２】
2020105125.tif 000004
【図３】
2020105125.tif 000005
【図４】
2020105125.tif 000006
【図５】
2020105125.tif 000007
【図６】
2020105125.tif 000008
【図７】
2020105125.tif 000009
【図８】
2020105125.tif 000010
【図９】
2020105125.tif 000011
【図１０】
2020105125.tif 000012
【国際調査報告】
2020105125.tif 000013
2020105125.tif 000014
2020105125.tif 000015
2020105125.tif 000016
2020105125.tif 000017
2020105125.tif 000018