(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0014】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、図面において、同一または類似の部分には同一の参照番号を付して、重複する説明を省く場合がある。
【0015】
[移動体150の概要]
図1は、移動体150の一実施形態の内部構成の一例を概略的に示す。本実施形態において、移動体150は、制御装置152を備える。本実施形態において、制御装置152は、制御部154を有する。移動体150は、作業機械の一例であってもよい。
【0016】
本実施形態において、移動体150は、自律移動機能を有する。例えば、移動体150は、制御装置152による自動運転により移動することができる。移動体150は、ユーザの遠隔操作により移動してもよい。移動体150は、陸上を走行する移動体であってもよく、空中を飛行する移動体であってもよく、水中又は水上を航行する移動体であってもよい。
【0017】
本実施形態において、移動体150は、領域100の内部を移動する。本実施形態において、領域100の内部には、(i)移動体150の進入が禁止された進入禁止領域110、及び、(ii)移動体150が進入することのできない障害物120が配される。領域100の内部に、複数の進入禁止領域110が配されてもよい。領域100の内部に、複数の障害物120が配されてもよい。
【0018】
本実施形態において、移動体150は、領域100の内部において、(i)進入禁止領域110と、(ii)障害物120が配された領域とを除いた領域を移動することが許可されている。領域100は、移動体150の進入が許可された領域の一例であってよい。
【0019】
本実施形態において、領域100は、境界106により囲まれた領域であってよい。境界106は、線状の形態を有してもよく、線状の境界よりも幅の広い帯状の形態を有してもよい。境界106は、領域100の内部と、領域100の外部とを区別する。境界106は、物理的に設定された地理的境界であってもよく、仮想的に設定された地理的境界であってもよい。境界106は、単一の連続する境界により構成されてもよく、複数の境界の組み合わせにより構成されてもよい。
【0020】
本実施形態において、進入禁止領域110は、境界116により囲まれた領域であってよい。境界116は、線状の形態を有してもよく、線状の境界よりも幅の広い帯状の形態を有してもよい。境界116は、領域100の内部において移動体150の進入が許可された領域と、領域100の内部において移動体150の進入が禁止された領域とを区別する。境界116は、物理的に設定された地理的境界であってもよく、仮想的に設定された地理的境界であってもよい。境界116は、単一の連続する境界により構成されてもよく、複数の境界の組み合わせにより構成されてもよい。
【0021】
物理的に設定された地理的境界としては、(i)天然に又は人工的に形成された構造物により規定される境界、(ii)散布された化学物質により規定される境界、(iii)可視光線、赤外線、紫外線などの電磁波により規定される境界、(iv)磁界により規定される境界、(v)音波又は超音波により規定される境界などが例示される。天然に形成された構造物としては、窪み、段差、斜面、湖沼、川などが例示される。人工的に形成された構造物としては、通路、溝、トンネル、建築物、ワイヤ、ロープ、フェンス、ネット、点字ブロックなどが例示される。仮想的に設定された地理的境界としては、ジオフェンス、バーチャルワイヤなどが例示される。バーチャルワイヤは、複数の構造物の間に設定された仮想的な線により規定される地理的境界であってよい。
【0022】
本実施形態において、障害物120は、移動体150の進行を妨げる。障害物120は、移動体150の移動性能と比較して、移動体150が安全に通過することが困難な物体であってよい。障害物120は、領域100の内部において移動体150の進入が許可された領域と、領域100の内部において移動体150の進入が禁止された領域とを区別する。障害物120は、境界の一例であってよい。
【0023】
障害物120は、天然に又は人工的に形成された構造物であってよい。天然に形成された構造物としては、樹木、岩、ぬかるみ、湖沼、川、窪み、段差、急斜面などが例示される。人工的に形成された構造物としては、ブロック、建築物、溝、ワイヤ、ロープ、フェンス、ネットなどが例示される。
【0024】
本実施形態において、領域100は、その内部に、1又は複数のサブ領域130と、1又は複数のサブ領域140とを有してよい。サブ領域130及びサブ領域140は、移動体150が進入を許可された領域の一例であってよい。
【0025】
本実施形態においては、サブ領域130の内部には進入禁止領域110が配され、サブ領域140の内部には障害物120が配される。しかしながら、サブ領域130及びサブ領域140は本実施形態に限定されない。他の実施形態において、サブ領域130の内部に障害物120が配され、サブ領域140の内部に進入禁止領域110が配される。
【0026】
サブ領域130及びサブ領域140は、制御装置152が移動体150を制御するために使用する仮想的な領域であってよい。サブ領域130の位置、大きさ及び形状の少なくとも1つは、経時的に変化してもよく、経時的に変化しなくてもよい。サブ領域130は、境界136により囲まれた領域であってよい。境界136は、仮想的に設定された地理的境界であってもよい。サブ領域140の位置、大きさ及び形状の少なくとも1つは、経時的に変化してもよく、経時的に変化しなくてもよい。サブ領域140は、境界146により囲まれた領域であってよい。境界146は、仮想的に設定された地理的境界であってもよい。
【0027】
サブ領域130は、当該領域における第1のパラメータの値が、第1のパラメータに関する特定の条件を満足する領域であってよい。サブ領域140は、当該領域における第1のパラメータの値が、第1のパラメータに関する上記の特定の条件を満足しない領域であってよい。第1のパラメータとしては、(i)移動体150の進入が許可された領域を示すマップ情報の完成度、(ii)移動体150の自己位置の推定精度などが例示される。
【0028】
サブ領域140は、当該領域における第1のパラメータの値が、第1のパラメータに関する他の条件を満足する領域であってよい。サブ領域140は、当該領域における第2のパラメータの値が、第2のパラメータに関する条件を満足する領域であってもよい。第2のパラメータは、第1のパラメータとは異なるパラメータであってよい。
【0029】
本実施形態において、制御装置152は、移動体150を制御する。本実施形態においては、制御装置152が移動体150に配される場合を例として、制御装置152の詳細について説明する。しかしながら、制御装置152は、本実施形態に限定されない。他の実施形態において、制御装置152は、通信ネットワークを介して移動体150と情報を送受することのできる、外部の情報処理装置の少なくとも一部であってもよく、当該情報処理装置により実現されてもよい。
【0030】
本実施形態において、制御部154は、移動体150を制御する。制御部154は、移動体150の移動を制御してよい。制御部154は、(i)移動体150の進入が許可された領域を示すマップ情報の完成度、及び、(ii)移動体150の位置推定精度の少なくとも一方に基づいて、移動体150の移動を制御してよい。
【0031】
例えば、制御部154は、移動体150の(i)進行速度及び(ii)進行方向の少なくとも一方を制御する。制御部154は、移動体150が、境界106、境界116、障害物120、境界136及び境界146の少なくとも1つに到達した場合の動作を制御してもよい。制御部154は、移動体150が、境界106、境界116、障害物120、境界136及び境界146の少なくとも1つに到達した場合の動作を制御することで、移動体150の進行方向を制御してもよい。制御部154は、移動体150が、領域100の内部の任意の位置から、移動体150の帰還位置に帰還する場合の動作を制御してもよい。
【0032】
一実施形態において、制御部154は、(a)移動体150の位置におけるマップ情報の完成度が予め定められた第1条件を満足する場合と、(b)移動体150の位置におけるマップ情報の完成度が予め定められた第2条件を満足する場合とで、(i)移動体150の進行速度、及び、(ii)移動体150が任意の境界に到達した場合の動作の少なくとも一方が異なるように、移動体150の移動を制御する。第2条件は、第1条件とは異なる条件であってよい。第2条件は、マップ情報の完成度が第1条件を満足しないという条件であってもよい。
【0033】
例えば、制御部154は、移動体150の位置におけるマップ情報の完成度が第1条件を満足する場合、(i)移動体150の進行速度の設定値を、マップ情報の完成度が第2条件を満足する場合よりも小さな値に設定し、且つ、(ii)移動体150が任意の境界に到達したときに、確率モデルに基づいて移動体150の進行方向を決定する。制御部154は、移動体の位置におけるマップ情報の完成度が第1条件を満足する場合、移動体150が領域100の境界106に沿って移動体150の帰還位置に帰還するように、移動体150の移動を制御してもよい。
【0034】
他の実施形態において、制御部154は、(a)移動体150の位置推定精度が予め定められた第3条件を満足する場合と、(b)移動体150の位置推定精度が予め定められた第4条件を満足する場合とで、(i)移動体150の進行速度、及び、(ii)移動体150が領域の境界に到達した場合の動作の少なくとも一方が異なるように、移動体150の移動を制御する。第3条件及び第4条件のそれぞれは、第1条件及び第2条件とは異なる条件であってよい。第4条件は、第3条件とは異なる条件であってよい。第4条件は、移動体150の位置推定精度が第3条件を満足しないという条件であってよい。
【0035】
例えば、制御部154は、移動体150の位置推定精度が第3条件を満足する場合、(i)移動体150の進行速度の設定値を、移動体150の位置推定精度が第4条件を満足する場合よりも小さな値に設定し、且つ、(ii)移動体150が任意の境界に到達したときに、確率モデルに基づいて移動体150の進行方向を決定する。制御部154は、移動体150の位置推定精度が前記第3条件を満足する場合、移動体150が領域100の境界106に沿って移動体150の帰還位置に帰還するように、移動体150の移動を制御してもよい。
【0036】
本実施形態において、制御部154は、移動体150の状況に応じて移動体150の移動モードを決定することにより、移動体150を制御してもよい。例えば、制御部154は、(i)マップ情報の完成度、及び、(ii)移動体150の位置推定精度の少なくとも一方に基づいて、移動体150の移動モードを決定する。
【0037】
移動モードは、(i)進行速度及び進行方向の少なくとも一方に関する設定、並びに、(ii)進行速度及び進行方向の少なくとも一方を決定するためのアルゴリズム、の少なくとも一方を規定するための情報であってよい。移動体150の進行方向は、例えば、移動体150が任意の境界に到達した場合における、移動体150の動作により決定される。任意の境界としては、領域100の境界106、進入禁止領域110の境界116、障害物120の周囲、サブ領域130の境界136、サブ領域140の境界146などが例示される。
【0038】
移動モードの一例としては、(i)移動中に、領域100の内部に配された作業対象に対して任意の作業を実施するモード、(ii)移動中に、上記の作業を実施することなく、マップ情報を作成するモード、(iii)移動中に、上記の作業を実施しながら、マップ情報を作成するモード、(iv)移動中に、上記の作業を実施したり、マップ情報を作成したりすることなく、単に移動するモード、(v)騒音の発生を抑制しながら移動するモード、(vi)帰還位置に帰還するモードなどが例示される。上記の移動モードは、例えば、進行速度に関する設定、及び、進行速度を決定するためのアルゴリズムの少なくとも一方を規定する。上記の移動モードは、移動体150が任意の境界に到達した場合の動作を、さらに規定してもよい。
【0039】
移動モードの他の例としては、(i)予め定められた経路に沿って移動するモード(プログラムモードと称する場合がある)、(ii)既知の境界に到達した後、当該境界に沿って移動するモード(ガイドモードと称する場合がある)、(iii)任意の境界に到達した後、当該境界の周囲を移動しながら、当該境界の位置、大きさ、及び、範囲又は形状を検出するモード(形状検出モードと称する場合がある)、(iv)任意の境界に到達した後、任意の確率モデルに基づいて決定された方向に転回し、移動を継続するモード(第1ランダムモードと称する場合がある)、(v)任意の境界に到達した後、制約条件のある任意の確率モデルに基づいて決定された方向に転回し、移動を継続するモード(第2ランダムモードと称する場合がある)、(vi)複数の平行な経路が、隙間なく又は所定の隙間を空けて配されるように、直進及び転回を繰り返しながら移動するモード(パラレルモードと称する場合がある。)などが例示される。パラレルモードにおける経路の形状としては、直線状、曲線状、ジグザグ状、及び、これらの組み合わせが例示される。上記の移動モードは、例えば、移動体150が任意の境界に到達した場合における移動体150の動作を規定する。上記の移動モードは、進行速度に関する設定、及び、進行速度を決定するためのアルゴリズムの少なくとも一方を、さらに規定してもよい。
【0040】
本実施形態において、制御部154は、領域100の内部を移動しながら、移動体150の進入が許可された領域を示すマップ情報を生成するためのデータ(ログデータと称する場合がある。)を取得する。制御部154は、取得されたログデータに基づいてマップ情報を生成してもよい。
【0041】
制御部154は、移動体150の位置によって、ログデータを取得するか否かを決定してもよい。例えば、移動体150の位置におけるマップ情報の完成度が予め定められた閾値以上である場合又は当該閾値を超えている場合、制御部154は、当該位置におけるログデータを取得しないことを決定する。制御部154は、移動体150の位置の推定精度によって、ログデータを取得するか否かを決定してもよい。例えば、上記の位置推定精度が予め定められた閾値以下又は当該閾値未満である場合、制御部154は、当該位置におけるログデータを取得しないことを決定する。
【0042】
特定の領域に関して、マップ情報が初めて作成される場合、マップ情報の完成度は、当該特定の領域の全体に対する、マップ情報の作成作業が終了した領域の割合として規定されてよい。また、マップ情報が更新される場合、マップ情報の完成度は、更新作業の完成度として規定されてよい。例えば、マップ情報の完成度は、マップ情報の更新作業の対象となる領域のうち、マップ情報の更新作業が終了した領域の割合として規定される。
【0043】
一実施形態において、領域100が仮想的に分割されて生成される複数のサブ領域のそれぞれについて、当該サブ領域におけるマップ情報の完成度が算出される。各サブ領域の形状及び大きさは、特に限定されない。各サブ領域におけるマップ情報の完成度は、例えば、(i)当該サブ領域の内部で既に取得されたログデータの個数、(ii)当該サブ領域の内部で既に取得されたログデータの地理的分布、及び、(iii)当該サブ領域の面積に対する、当該サブ領域の内部で移動体150が既に通過した領域の面積の割合の少なくとも1つに基づいて決定される。
【0044】
この場合、制御部154は、特定のサブ領域の内部に位置する移動体150のマップ情報の完成度として、当該サブ領域のマップ情報の完成度を用いてよい。移動体150がサブ領域の境界上に位置している場合、制御部154は、移動体150の進行方向に基づいて、移動体150が位置するサブ領域を決定してよい。
【0045】
他の実施形態において、移動体150の位置ごとにマップ情報の完成度が算出される。上記の実施形態においては、複数のサブ領域のそれぞれの位置、大きさ及び形状が予め定められ、サブ領域ごとにマップ情報の完成度が算出された。これに対して、本実施形態によれば、移動体150の位置が指定されると、移動体150の周囲に、マップ情報の完成度を算出するための仮想的な領域(計算領域と称する場合がある。)が設定される。
【0046】
計算領域は、移動体150が当該計算領域の内部に含まれるように設定されてもよく、移動体150から離れた位置に設定されてもよい。計算領域は、移動体150の進行方向上の任意の位置に設定されてもよい。計算領域の形状及び大きさ、並びに、計算領域における移動体150の位置は、特に限定されない。
【0047】
マップ情報の完成度は、例えば、(i)計算領域の内部で既に取得されたログデータの個数、(ii)計算領域の内部で既に取得されたログデータの地理的分布、(iii)計算領域の内部で既に取得されたログデータにより示される位置と、移動体150の位置との最短距離、及び、(iv)計算領域の面積に対する、当該計算領域の内部で移動体150が既に通過した領域の面積の割合、の少なくとも1つに基づいて決定される。なお、計算領域が設定されることなく、既に取得されたログデータにより示される位置と、移動体150の位置との最短距離に基づいて、マップ情報の完成度が算出されてもよい。
【0048】
マップ情報の完成度は、連続的な数値により表されてもよく、段階的な区分により表されてもよい。段階的な区分による評価としては、2段階評価、3段階評価、5段階評価、10段階評価などが例示される。各区分は、記号又は文字により区別されてもよく、数字により区別されてもよい。
【0049】
制御部154は、予め定められた時間間隔ごとに、上記のデータを取得してもよい。制御部154は、予め定められた時刻に、上記のデータを取得してもよい。制御部154は、移動体150が予め定められた距離を進むごとに、上記のデータを取得してもよい。制御部154は、移動体150が予め定められた位置に到達したときに、上記のデータを取得してもよい。制御部154は、移動体150の周辺環境が予め定められた条件を満足するときに、上記のデータを取得してもよい。
【0050】
例えば、制御部154は、移動体150が領域100の内部を移動している間、移動体150の位置を示す情報と、当該位置において移動体150が進行することができるか否かを示す情報とを対応付けて、任意の記憶装置に格納する。制御部154は、移動体150が領域100の内部を移動している間、移動体150の位置を示す情報と、当該位置における移動体150の進行方向を示す情報と、当該位置において移動体150が進行することができるか否かを示す情報とを対応付けて、任意の記憶装置に格納してもよい。
【0051】
制御部154は、任意の位置推定方法により、移動体150の位置を推定してよい。制御部154は、移動体150の位置を推定するとともに、当該位置の推定精度(測位精度と称される場合がある。)を決定してもよい。
【0052】
一実施形態において、制御部154は、GPS信号に基づいて、移動体150の位置を推定する。GPS信号には、測位精度を示す情報が含まれていてもよい。他の実施形態において、制御部154は、領域100の内部又は周辺に設置されたビーコン発信機からのビーコン信号に基づいて、移動体150の位置を推定する。他の実施形態において、制御部154は、複数の電波発信機からの無線電波の電波強度に基づいて、移動体150の位置を推定する。さらに他の実施形態において制御部154は、移動体150の周囲の画像を解析して、移動体150の位置を推定する。
【0053】
本実施形態によれば、例えば、制御部154が、(i)マップ情報の完成度、及び、(ii)移動体150の位置推定精度の少なくとも一方に基づいて、移動体150の移動を制御する。これにより、移動体150は、領域100の内部で効率的に移動することができる。
【0054】
例えば、従来技術によれば、作業機が、作業領域の内部を低速のパラレルモードで移動しながら、マップ情報を作成していた。そのため、マップ情報が完成するまでの期間が長く、また、マップ情報が完成するまでは、作業領域の内部において、作業機を高速で移動させることが難しかった。
【0055】
これに対して、本実施形態によれば、制御部154が、マップ情報の完成度に応じて、移動体150の移動を制御する。例えば、制御部154は、(i)マップ情報の完成度が比較的大きい領域では、目的に応じて適切な移動モード及び移動速度で走行し、(ii)マップ情報の完成度が比較的小さい領域では、マップ情報の作成を優先した移動モード及び移動速度で走行するように、移動体150を制御する。これにより、マップ情報が完成するまでの期間を短縮することができる。
【0056】
また、本実施形態によれば、移動体150が、領域100の少なくとも一部を第1ランダムモード又は第2ランダムモードで移動している間にも、マップ情報を作成することができる。そのため、進入禁止領域110、障害物120などの凡その位置が、マップ情報に反映されるまでの期間を短縮することができる。その結果、制御部154は、マップ情報が完成する前であっても、マップ情報の完成度が比較的大きな領域においては、移動体150を高速で移動させることができる。これにより、移動体150は、領域100の内部で効率的に移動することができる。
【0057】
また、本実施形態によれば、制御部154が、移動体150の位置推定精度に応じて、移動体150の移動を制御する。例えば、制御部154は、(i)位置推定精度が比較的大きい領域では、目的に応じて適切な移動モード及び移動速度で走行し、(ii)位置推定精度が比較的小さい領域では、第1ランダムモード又は第2ランダムモードで走行するように、移動体150を制御する。これにより、移動体150は、領域100の内部で効率的に移動することができる。
【0058】
[移動体150の各部の具体的な構成]
移動体150の各部は、ハードウェアにより実現されてもよく、ソフトウエアにより実現されてもよく、ハードウェア及びソフトウエアにより実現されてもよい。移動体150を構成する構成要素の少なくとも一部がソフトウエアにより実現される場合、当該ソフトウエアにより実現される構成要素は、一般的な構成の情報処理装置において、当該構成要素に関する動作を規定したソフトウエア又はプログラムを起動することにより実現されてよい。
【0059】
上記の情報処理装置は、(i)CPU、GPUなどのプロセッサ、ROM、RAM、通信インタフェースなどを有するデータ処理装置と、(ii)キーボード、タッチパネル、カメラ、マイク、各種センサ、GPS受信機などの入力装置と、(iii)表示装置、スピーカ、振動装置などの出力装置と、(iv)メモリ、HDDなどの記憶装置(外部記憶装置を含む。)とを備えてよい。上記の情報処理装置において、上記のデータ処理装置又は記憶装置は、上記のソフトウエア又はプログラムを記憶してよい。上記のソフトウエア又はプログラムは、プロセッサによって実行されることにより、上記の情報処理装置に、当該ソフトウエア又はプログラムによって規定された動作を実行させる。上記のソフトウエア又はプログラムは、非一時的なコンピュータ可読記録媒体に格納されていてもよい。
【0060】
上記のソフトウエア又はプログラムは、自律移動機能を有する移動体を制御するための制御用プログラムであってもよい。制御用プログラムは、コンピュータに、移動体の進入が許可された領域の内部の各位置における進入の許否を示すマップ情報の完成度、及び、移動体の位置推定精度の少なくとも一方に基づいて、移動体の移動を制御する制御段階、を実行させるためのプログラムであってもよい。上記のコンピュータは、(i)移動体150に搭載されたコンピュータであってもよく、(ii)移動体150の外部のコンピュータであって、通信ネットワークを介して移動体150を制御するコンピュータであってもよい。
【0061】
[管理システム200の概要]
図2は、管理システム200のシステム構成の一例を概略的に示す。本実施形態において、管理システム200は、芝刈機210と、倉庫220と、管理サーバ230とを備える。本実施形態において、倉庫220には、充電ステーション222が配される。
【0062】
芝刈機210は、移動体及び作業機械の一例であってよい。芝刈機210の一部は、制御部及び制御装置の一例であってよい。倉庫220は、帰還位置の一例であってよい。ユーザ端末22は、制御部及び制御装置の一例であってよい。管理サーバ230は、制御部及び制御装置の一例であってよい。
【0063】
管理システム200の各部は、互いに情報を送受してもよい。例えば、芝刈機210は、通信ネットワーク20を介して、ユーザ端末22及び管理サーバ230の少なくとも一方との間で、情報を送受する。充電ステーション222が通信ネットワーク20に接続されている場合、芝刈機210は、充電ステーション222を介して、ユーザ端末22及び管理サーバ230の少なくとも一方との間で、情報を送受してもよい。
【0064】
本実施形態において、通信ネットワーク20は、有線通信の伝送路であってもよく、無線通信の伝送路であってもよく、無線通信の伝送路及び有線通信の伝送路の組み合わせであってもよい。通信ネットワーク20は、無線パケット通信網、インターネット、P2Pネットワーク、専用回線、VPN、電力線通信回線などを含んでもよい。通信ネットワーク20は、(i)携帯電話回線網などの移動体通信網を含んでもよく、(ii)無線MAN(例えば、WiMAX(登録商標)である。)、無線LAN(例えば、WiFi(登録商標)である。)、Bluetooth(登録商標)、Zigbee(登録商標)、NFC(Near Field Communication)などの無線通信網を含んでもよい。
【0065】
本実施形態において、ユーザ端末22は、管理システム200又は芝刈機210のユーザが利用する通信端末であり、その詳細については特に限定されない。ユーザ端末22としては、パーソナルコンピュータ、携帯端末などが例示される。携帯端末としては、携帯電話、スマートフォン、PDA、タブレット、ノートブック・コンピュータ又はラップトップ・コンピュータ、ウエアラブル・コンピュータなどが例示される。
【0066】
本実施形態において、管理システム200は、作業領域202を管理する。作業領域202は、芝刈機210の進入が許可された領域であってよい。例えば、管理システム200は、作業領域202の状態を管理する。管理システム200は、作業領域202において実施される作業の対象となる物体(作業対象と称する場合がある。)の状態を管理してもよい。管理システム200は、作業領域202において実施される作業を管理してもよい。例えば、管理システム200は、作業のスケジュールを管理する。作業のスケジュールは、作業の実施時期、作業の実施場所、作業の実施主体、作業対象、及び、作業の内容の少なくとも1つを規定する情報であってよい。
【0067】
本実施形態において、管理システム200は、芝刈機210を管理する。芝刈機210は、作業の実施主体の一例であってよい。例えば、管理システム200は、芝刈機210の状態を管理する。例えば、管理システム200は、芝刈機210の位置、進行方向、進行速度、エネルギー残量(例えば、バッテリの残量である)、芝刈機210が実施する作業のスケジュールなどを管理する。
【0068】
本実施形態において、作業領域202と、非作業領域204との境界には、導電部材を有するワイヤ206が埋め込まれている。ワイヤ206の両端に電圧が印加され、ワイヤ206に電流が流れると、ワイヤ206の周囲に磁界が発生する。芝刈機210は、ワイヤ206が発生させた磁界を、作業領域202の内部と、作業領域の外部とを区別する境界として認識する。ワイヤ206は、境界の一例であってよい。ワイヤ206が発生させる磁界は、境界の一例であってよい。
【0069】
ワイヤ206を地中に埋設する埋設機が自己位置推定機能を有する場合、当該埋設機は、ワイヤ206の設置作業中に、ワイヤ206の設置位置を示す情報を管理サーバ230に送信してよい。これにより、管理サーバ230は、作業領域202のワイヤ206の位置を管理することができる。
【0070】
なお、本実施形態においては、説明を簡単にすることを目的として、管理システム200が芝刈機210を管理する実施形態を例として、管理システム200の詳細を説明する。しかしながら、管理システム200は、本実施形態に限定されない。他の実施形態において、管理システム200は、芝刈機210以外の作業機械を管理してもよい。作業機械は、各種の作業を実施してよい。作業の種類としては、(i)土木作業、(ii)建設作業、(iii)植物又は農産物の栽培作業、(iv)除雪作業、(v)清掃作業、(vi)運搬作業、(vii)監視、警備又は警護作業などが例示される。栽培作業としては、種蒔き、剪定、芝刈り、草刈り、給水、施肥、土入れ、除草などが例示される。作業機械は、自律移動機能を有してよい。作業機械は、移動体の一例であってよい。
【0071】
[管理システム200の各部の概要]
本実施形態において、作業領域202は、技術的に矛盾しない範囲において、領域100と同様の構成を有してよい。同様に、領域100は、技術的に矛盾しない範囲において、作業領域202と同様の構成を有してよい。本実施形態において、ワイヤ206は、技術的に矛盾しない範囲において、境界106と同様の構成を有してよい。同様に、境界106は、技術的に矛盾しない範囲において、ワイヤ206と同様の構成を有してよい。本実施形態において、芝刈機210は、技術的に矛盾しない範囲において、移動体150と同様の構成を有してよい。同様に、移動体150は、技術的に矛盾しない範囲において、芝刈機210と同様の構成を有してよい。
【0072】
本実施形態において、芝刈機210は、自律移動機能を有し、作業領域202の内部を自律的に走行する。芝刈機210は、作業領域202の内部で生育している芝を切断する。芝刈機210は、芝を切断しながら走行してもよく、芝を切断することなく走行してもよい。芝は、作業対象の一例であってよい。芝刈機210の詳細は後述される。
【0073】
本実施形態において、倉庫220は、芝刈機210を保管する。芝刈機210は、作業の開始時刻が到達すると、倉庫220を出発して、作業領域202に向かって移動する。芝刈機210は、作業領域202での作業が終了すると、倉庫220に帰還する。本実施形態において、充電ステーション222は、芝刈機210を充電する。
【0074】
本実施形態において、管理サーバ230は、作業領域202に関する各種の情報を管理する。例えば、管理サーバ230は、作業領域202における各種の属性の地理的分布を示すマッピングデータを管理する。マッピングデータは、マップ情報の一例であってよい。上記の属性としては、芝刈機210の進入の許否、作業対象の属性、作業に関する各種のパラメータ、芝刈機210の測位精度などが例示される。
【0075】
管理サーバ230は、作業領域202の状態を管理してもよい。管理サーバ230は、作業対象の状態を管理してもよい。管理サーバ230は、作業領域202において実施される作業を管理してもよい。管理サーバ230は、芝刈機210の状態を管理してもよい。例えば、管理サーバ230は、芝刈機210の位置、進行方向、進行速度、エネルギー残量、芝刈機210が実施する作業のスケジュールなどを管理する。管理サーバ230の詳細は後述される。
【0076】
[管理システム200の各部の具体的な構成]
管理システム200の各部は、ハードウェアにより実現されてもよく、ソフトウエアにより実現されてもよく、ハードウェア及びソフトウエアにより実現されてもよい。管理システム200の各部は、その少なくとも一部が、単一のサーバによって実現されてもよく、複数のサーバによって実現されてもよい。管理システム200の各部は、その少なくとも一部が、仮想サーバ上又はクラウドシステム上で実現されてもよい。管理システム200の各部は、その少なくとも一部が、パーソナルコンピュータ又は携帯端末によって実現されてもよい。携帯端末としては、携帯電話、スマートフォン、PDA、タブレット、ノートブック・コンピュータ又はラップトップ・コンピュータ、ウエアラブル・コンピュータなどが例示される。管理システム200は、ブロックチェーンなどの分散型台帳技術又は分散型ネットワークを利用して、情報を格納してもよい。
【0077】
管理システム200を構成する構成要素の少なくとも一部がソフトウエアにより実現される場合、当該ソフトウエアにより実現される構成要素は、一般的な構成の情報処理装置において、当該構成要素に関する動作を規定したソフトウエア又はプログラムを起動することにより実現されてよい。上記の情報処理装置は、(i)CPU、GPUなどのプロセッサ、ROM、RAM、通信インタフェースなどを有するデータ処理装置と、(ii)キーボード、タッチパネル、カメラ、マイク、各種センサ、GPS受信機などの入力装置と、(iii)表示装置、スピーカ、振動装置などの出力装置と、(iv)メモリ、HDDなどの記憶装置(外部記憶装置を含む。)とを備えてよい。上記の情報処理装置において、上記のデータ処理装置又は記憶装置は、上記のソフトウエア又はプログラムを記憶してよい。上記のソフトウエア又はプログラムは、プロセッサによって実行されることにより、上記の情報処理装置に、当該ソフトウエア又はプログラムによって規定された動作を実行させる。上記のソフトウエア又はプログラムは、非一時的なコンピュータ可読記録媒体に格納されていてもよい。
【0078】
上記のソフトウエア又はプログラムは、芝刈機210を制御するための制御用プログラムであってもよい。制御用プログラムは、プロセッサに、芝刈機210の進入が許可された領域を示すマップ情報の完成度、及び、芝刈機210の位置推定精度の少なくとも一方に基づいて、芝刈機210の移動を制御する手順を実行させるためのプログラムであってもよい。上記のプロセッサは、(i)芝刈機210のプロセッサであってもよく、(ii)管理サーバ230のプロセッサであってもよい。管理サーバ230のプロセッサは、物理プロセッサであってもよく、仮想プロセッサであってもよい。プロセッサは、コンピュータの一例であってよい。
【0079】
[作業領域202の概要]
図3は、作業領域202の一例を概略的に示す。本実施形態において、作業領域202は、ワイヤ206により囲まれた領域であってよい。本実施形態において、倉庫220と、作業領域202との間には、倉庫220の出入り口と、作業領域202の一部とを接続する通路302が配される。本実施形態において、作業領域202の内部には、1又は複数の進入禁止領域110と、1又は複数の障害物120と、1又は複数の保護対象330が配される。本実施形態において、作業領域202の内部に、保護領域設定装置340が配される。
【0080】
本実施形態において、保護対象330は、芝刈機210の作業による損壊などから保護すべき対象であってよい。本実施形態において、保護領域設定装置340は、保護対象330の周囲に、芝刈機210が保護対象330に接近することを防止するための保護領域350を設定する。保護領域350は、技術的に矛盾しない範囲において、進入禁止領域110と同様の構成を有してよい。
【0081】
例えば、保護領域設定装置340は、電磁波、音波、超音波などを出射することで、保護領域350の境界356の少なくとも一部を設定する。保護領域設定装置340は、指向性を有する電磁波、音波、超音波などを出射することで、保護領域350の境界356の少なくとも一部を設定してもよい。保護領域350の境界356は、単一の連続する境界により構成されてもよく、複数の境界の組み合わせにより構成されてもよい。これにより、保護領域350の内部に、芝刈機210が進入することが禁止される。
【0082】
[マッピングデータの概要]
図4及び
図5に関連して、作業領域202の各位置における芝刈機210の進入の許否を示すマッピングデータの概要が説明される。また、
図4及び
図5に関連して、マッピングデータの完成度の算出方法の一例が説明される。
【0083】
図4は、進入の許否を地図形式で表現したマップ420の一例を概略的に示す。本実施形態において、作業領域202は、例えば、サブ領域402、サブ領域403、サブ領域404、サブ領域405、及び、サブ領域406、サブ領域407に分割される。本実施形態によれば、サブ領域ごとにマッピングデータの完成度が算出される。
【0084】
本実施形態において、マップ420は、サブ領域407の各位置における、芝刈機210の進入の許否に関する評価を示す。本実施形態において、マップ420は、予め定められた形状及び大きさを有する複数の単位領域により、サブ領域407を仮想的に分割する。上記の複数の単位領域は、重複することなく、連続的に配される。単位領域の面積は、芝刈機210の地面への投影面積より大きくてもよく、当該投影面積より小さくてもよい。本実施形態において、マップ420は、単位領域ごとに、当該単位領域への芝刈機210の進入の許否を示す。
【0085】
図4において、「○」及び「×」は、ログデータが既に取得された単位領域を示し、「−」は、ログデータがまだ取得されていない単位領域を示す。また、「○」は、芝刈機210の進入が許可されている単位領域を示し、「×」は、芝刈機210の進入が禁止されている単位領域、又は、芝刈機210が進入することのできない単位領域を示す。なお、芝刈機210の進入の許否を表現する方法は、本実施形態に限定されないことに留意されたい。
【0086】
単一の単位領域において複数のログデータが取得されている場合、一実施形態によれば、芝刈機210の進入が禁止されていること、又は、芝刈機210が進入することのできないことを示すログデータが1つでも存在すれば、当該単位領域は、芝刈機210の進入が禁止されている単位領域、又は、芝刈機210が進入することのできない単位領域であるとみなされてよい。単一の単位領域において複数のログデータが取得されている場合、他の実施形態によれば、複数のログデータの多数が示す評価(例えば、「○」又は「×」である。)を、当該単位領域に関する評価とみなしてよい。
【0087】
本実施形態によれば、サブ領域407におけるマッピングデータの完成度は、例えば、下記のとおり定義されるA及びBを用いて、Bに対するAの割合(A/B)として算出される。ここで、Aは、ログデータが既に取得された単位領域の個数である。また、Bは、サブ領域407に含まれる全ての単位領域の個数である。マッピングデータの完成度は、上記の割合(A/B)が段階的な区分による評価に換算されることで、算出されてよい。
【0088】
図5は、進入の許否を地図形式で表現したマップ520の一例を概略的に示す。本実施形態において、マップ520は、サブ領域407の各位置における、芝刈機210の進入の許否に関する評価を示す。
図5によれば、ログデータがまだ取得されていない単位領域(図中、「−」として表される。)が、評価が「×」の単位領域に囲まれている。
【0089】
この場合、サブ領域407におけるマッピングデータの完成度は、下記のとおり定義されるA及びBを用いて、Bに対するAの割合(A/B)として算出されてもよい。ここで、Aは、ログデータが既に取得された単位領域の個数である。また、Bは、「サブ領域407に含まれる全ての単位領域の個数」から、「評価が×の単位領域位に囲まれた、ログデータがまだ取得されていない単位領域の個数」を引いた値である。マッピングデータの完成度は、上記の割合(A/B)が段階的な区分による評価に換算されることで、算出されてよい。
【0090】
[芝刈機210の概要]
図6〜
図16を用いて、芝刈機210の概要を説明する。
図6は、芝刈機210の内部構成の一例を概略的に示す。本実施形態において、芝刈機210は、筐体602を備える。本実施形態において、芝刈機210は、筐体602の下部に、一対の前輪612と、一対の後輪614とを備える。芝刈機210は、一対の後輪614のそれぞれを駆動する一対の走行用モータ616を備えてよい。
【0091】
本実施形態において、芝刈機210は、作業ユニット620を備える。作業ユニット620は、例えば、ブレードディスク622と、カッターブレード624と、作業用モータ626と、シャフト628とを有する。芝刈機210は、作業ユニット620の位置を調整する位置調整部630を備えてもよい。
【0092】
ブレードディスク622は、シャフト628を介して、作業用モータ626に連結される。カッターブレード624は、芝を切断するための刈刃であってよい。カッターブレード624は、ブレードディスク622に取り付けられ、ブレードディスク622と一緒に回転する。作業用モータ626は、ブレードディスク622を回転させる。ブレードディスク622及びカッターブレード624は、作業対象を切断するための切断部材の一例であってよい。
【0093】
本実施形態において、芝刈機210は、筐体602の内部又は筐体602の上に、バッテリユニット640と、ユーザインタフェース650と、境界検知ユニット662と、近接検知ユニット664と、測距ユニット666と、センサユニット670と、制御ユニット680とを備える。制御ユニット680は、制御部及び制御装置の一例であってよい。
【0094】
本実施形態において、バッテリユニット640は、芝刈機210の各部に電力を供給する。本実施形態において、ユーザインタフェース650は、ユーザの入力を受け付ける。ユーザインタフェース650は、ユーザに情報を出力する。ユーザインタフェース650としては、キーボード、ポインティングデバイス、マイク、タッチパネル、ディスプレイ、スピーカなどが例示される。
【0095】
本実施形態において、境界検知ユニット662は、作業領域202のワイヤ206を検出する。境界検知ユニット662は、作業領域202の内部に配された任意の境界を検出してもよい。境界検知ユニット662は、物理的に設定された地理的境界を検出するためのセンサを有してよい。境界検知ユニット662は、仮想的に設定された地理的境界の位置情報と、芝刈機210の位置情報とに基づいて、仮想的に設定された地理的境界を検出してよい。境界が検出された場合、境界検知ユニット662は、境界が検出されたことを示す信号を、制御ユニット680に送信してよい。
【0096】
本実施形態において、近接検知ユニット664は、芝刈機210の進行方向に存在する物体を検知する。近接検知ユニット664は、芝刈機210の外周の少なくとも一部に配される。近接検知ユニット664は、例えば、芝刈機210の前方に配される。近接検知ユニット664は、芝刈機210の前部及び両側部に配されてよい。近接検知ユニット664は、接触式の近接検知センサを有してよい。近接検知ユニット664は、非接触式の近接検知センサを有してよい。芝刈機210の進行方向に物体が検出された場合、近接検知ユニット664は、近接する物体が検出されたことを示す信号を、制御ユニット680に送信してよい。
【0097】
本実施形態において、測距ユニット666は、測距ユニット666と、地面との距離を測定する。これにより、測距ユニット666は、芝刈機210の進行方向の地面の状態を示す情報を取得することができる。測距ユニット666は、例えば、芝刈機210の前方に配される。測距ユニット666は、接触式の測距センサを有してよい。測距ユニット666は、非接触式の測距センサを有してよい。測距ユニット666は、測距結果を示す信号を制御ユニット680に送信してよい。
【0098】
測距ユニット666は、測距結果に基づいて、芝刈機210の進行方向の地面に形成された段差又は落差を検出してよい。測距ユニット666は、芝刈機210の走行の安定性又は安全性に影響を与える可能性の高い段差又は落差を検出してもよい。芝刈機210の走行の安定性又は安全性に影響を与える可能性の高い段差又は落差が検出された場合、測距ユニット666は、当該段差又は落差が検出されたことを示す信号を、制御ユニット680に送信してよい。
【0099】
本実施形態において、センサユニット670は、各種センサを備える。センサユニット670は、各種の内界センサを備えてよい。センサユニット670は、各種の外界センサを備えてよい。センサとしては、GPS信号受信機、ビーコン受信機、電波強度測定機、ミリ波センサ、カメラ、赤外線カメラ、マイク、超音波センサ、加速度センサ、角速度センサ、車輪速センサ、荷重センサ、空転検知センサ、磁気センサ、地磁気センサ(方位センサ、電子コンパスなどと称される場合がある)、温度センサ、湿度センサ、土壌水分センサなどが例示される。センサユニット670は、各種センサの出力を制御ユニット680に送信してよい。車輪速センサは、車輪の回転角又は回転数を検出するロータリエンコーダであってもよい。
【0100】
本実施形態において、制御ユニット680は、芝刈機210の動作を制御する。一実施形態によれば、制御ユニット680は、一対の走行用モータ616を制御して、芝刈機210の移動を制御する。他の実施形態によれば、制御ユニット680は、作業用モータ626を制御して、芝刈機210の作業を制御する。
【0101】
制御ユニット680は、管理サーバ230からの指示に基づいて、芝刈機210を制御してもよい。例えば、制御ユニット680は、管理サーバ230が生成した命令に従って、芝刈機210を制御する。制御ユニット680は、各種の判定処理を実行してもよい。制御ユニット680は、判定処理部440における判定処理の少なくとも1つを実行してもよい。一実施形態において、制御ユニット680は、上記の判定処理の結果に基づいて、芝刈機210を制御してよい。制御ユニット680の詳細は後述される。
【0102】
図7は、制御ユニット680の内部構成の一例を概略的に示す。本実施形態において、制御ユニット680は、通信制御部710と、走行制御部720と、作業ユニット制御部730と、入出力制御部740とを備える。走行制御部720は、制御部及び制御装置の一例であってよい。
【0103】
本実施形態において、通信制御部710は、芝刈機210の外部の機器との通信を制御する。通信制御部710は、1又は複数の通信方式に対応した通信インタフェースであってもよい。外部の機器としては、ユーザ端末22、充電ステーション222、管理サーバ230などが例示される。
【0104】
本実施形態において、走行制御部720は、走行用モータ616を制御して、芝刈機210の移動を制御する。走行制御部720は、芝刈機210の自律走行を制御する。例えば、走行制御部720は、芝刈機210の移動モード、進行速度、進行方向、及び、移動ルートの少なくとも1つを制御する。走行制御部720は、走行用モータ616の電流値を監視してよい。走行制御部の詳細は後述される。
【0105】
本実施形態において、作業ユニット制御部730は、作業ユニット620を制御する。作業ユニット制御部730は、作業ユニット620の作業モード、作業の種類、作業の強度、及び、作業を実施するタイミングの少なくとも1つを制御してよい。例えば、作業ユニット制御部730は、作業用モータ626を制御して、作業ユニット620の作業の強度を制御する。作業ユニット制御部730は、位置調整部630を制御して、作業ユニット620の作業の強度を制御してもよい。作業ユニット制御部730は、作業用モータ626の電流値を監視してよい。走行制御部の詳細は後述される。
【0106】
本実施形態において、入出力制御部740は、ユーザインタフェース650、境界検知ユニット662、近接検知ユニット664、測距ユニット666及びセンサユニット670の少なくとも1つからの入力を受け付ける。入出力制御部740は、ユーザインタフェース650に情報を出力する。入出力制御部740は、ユーザインタフェース650、境界検知ユニット662、近接検知ユニット664、測距ユニット666及びセンサユニット670の少なくとも1つを制御してもよい。例えば、入出力制御部740は、ユーザインタフェース650、境界検知ユニット662、近接検知ユニット664、測距ユニット666及びセンサユニット670の少なくとも1つの機器の設定を調整することで、当該機器を制御する。
【0107】
図8は、走行制御部720の内部構成の一例を概略的に示す。走行制御部720は、技術的に矛盾しない範囲において、制御装置152又は制御部154と同様の構成を有してよい。同様に、制御装置152又は制御部154は、技術的に矛盾しない範囲において、走行制御部720と同様の構成を有してよい。
【0108】
本実施形態において、走行制御部720は、マップ管理部810を備える。本実施形態において、走行制御部720は、位置推定部822と、位置精度取得部824と、マップ完成度取得部826とを備える。本実施形態において、走行制御部720は、走行モード決定部830と、進行速度決定部832と、進行方向決定部834と、制御情報生成部836と、設定情報格納部840とを備える。本実施形態において、走行制御部720の各部は、図中の矢印に限定されることなく、互いに情報を送受することができる。
【0109】
本実施形態において、マップ管理部810は、マッピングデータを管理する。マップ管理部810は、ログデータを取得してよい。例えば、マップ管理部810は、ログデータとして、入出力制御部740から、境界検知ユニット662、近接検知ユニット664、測距ユニット666、及び、センサユニット670が出力したデータを取得する。マップ管理部810は、ログデータとして、作業ユニット制御部730から、芝刈機210の作業に関する情報を取得してもよい。
【0110】
マップ管理部810は、1又は複数のログデータに基づいて、マッピングデータを生成してよい。マップ管理部810は、作業領域202の各位置における芝刈機210の進入の許否を示すマッピングデータを生成してよい。マップ管理部810は、作業領域202の各位置における、(i)作業対象の属性、(ii)作業に関する各種のパラメータ、又は、(iii)芝刈機210の測位精度を示すマッピングデータを生成してもよい。マップ管理部810は、マッピングデータの完成度を算出してもよい。マップ管理部810の詳細は後述される。
【0111】
本実施形態において、位置推定部822は、芝刈機210の位置を推定する。位置推定部822は、任意の位置推定方法により、芝刈機210の位置を推定してよい。例えば、位置推定部822は、入出力制御部740から、センサユニット670が出力したデータを取得する。位置推定部822は、上記のデータに基づいて、芝刈機210の現在位置を推定してよい。位置推定部822は、芝刈機210の位置の推定精度を算出してもよい。位置推定部822は、芝刈機210の位置の推定精度を示す情報を、位置精度取得部824に送信してもよい。
【0112】
本実施形態において、位置精度取得部824は、位置推定部822が推定した芝刈機210の位置の推定精度を示す情報を取得する。一実施形態において、位置精度取得部824は、入出力制御部740を介して、センサユニット670から、芝刈機210の位置の推定精度を示す情報を取得してよい。例えば、位置精度取得部824は、センサユニット670が受信したGPS信号に含まれる測位精度を示す情報を取得する。他の実施形態において、位置精度取得部824は、位置推定部822から、芝刈機210の位置の推定精度を示す情報を取得してもよい。
【0113】
本実施形態において、マップ完成度取得部826は、位置推定部822が推定した芝刈機210の位置における、マッピングデータの完成度を示す情報を取得する。例えば、マップ完成度取得部826は、位置推定部822から、芝刈機210の現在位置を示す情報を取得する。マップ完成度取得部826は、マップ管理部810に、芝刈機210の現在位置を示す情報を送信して、芝刈機210の現在位置におけるマッピングデータの完成度を示す情報を要求する。これにより、マップ完成度取得部826は、芝刈機210の現在位置におけるマッピングデータの完成度を示す情報を取得することができる。
【0114】
本実施形態において、走行モード決定部830は、芝刈機210の走行モードを決定する。走行モード決定部830は、例えば、(i)芝刈機210の現在位置における位置推定精度、(ii)芝刈機210の現在位置におけるマッピングデータの完成度、(iii)ユーザからの指示、及び、(iv)時刻の少なくとも1つに基づいて、芝刈機210の走行モードを決定する。
【0115】
[位置推定精度を考慮する実施形態]
一実施形態において、位置精度取得部824から、走行モード決定部830に、芝刈機210の現在位置における位置推定精度を示す情報が入力される。走行モード決定部830は、芝刈機210の現在位置における位置推定精度に基づいて、芝刈機210の走行モードを決定する。
【0116】
例えば、走行モード決定部830は、位置推定精度が予め定められた閾値よりも小さい場合、位置推定精度が当該閾値よりも大きい場合と比較して、芝刈機210の進行速度が小さくなるように、芝刈機210の走行モードを決定する。なお、走行モード決定部830は、位置推定精度が予め定められた閾値よりも小さい場合、位置推定精度が当該閾値よりも大きい場合と比較して、芝刈機210の進行速度が大きくなるように、芝刈機210の走行モードを決定してもよい。
【0117】
また、位置推定精度が予め定められた閾値よりも小さい場合、走行モード決定部830は、芝刈機210の走行モードとして、第1ランダムモード又は第2ランダムモードを選択してよい。一方、位置推定精度が予め定められた閾値よりも大きい場合、走行モード決定部830は、芝刈機210の走行モードとして、パラレルモード又はプログラムモードを選択してもよい。
【0118】
[マッピングデータの完成度を考慮する実施形態]
他の実施形態において、マップ完成度取得部826から、走行モード決定部830に、芝刈機210の現在位置におけるマッピングデータの完成度を示す情報が入力される。走行モード決定部830は、芝刈機210の現在位置におけるマッピングデータの完成度に基づいて、芝刈機210の走行モードを決定する。
【0119】
例えば、マッピングデータの完成度が予め定められた閾値よりも小さい場合、走行モード決定部830は、芝刈機210の走行モードとして、第2ランダムモードを選択する。一方、マッピングデータの完成度が予め定められた閾値よりも大きい場合、走行モード決定部830は、芝刈機210の走行モードとして、パラレルモード、プログラムモード又は第1ランダムモードを選択する。
【0120】
マッピングデータの完成度が予め定められた閾値よりも小さい場合、走行モード決定部830は、芝刈機210の走行モードとして、第1ランダムモード又は第2ランダムモードを選択してもよい。一方、マッピングデータの完成度が予め定められた閾値よりも大きい場合、走行モード決定部830は、芝刈機210の走行モードとして、パラレルモード又はプログラムモードを選択してもよい。
【0121】
また、走行モード決定部830は、マッピングデータの完成度が予め定められた閾値よりも小さい場合、マッピングデータの完成度が当該閾値よりも大きい場合と比較して、芝刈機210の進行速度が小さくなるように、芝刈機210の走行モードを決定してよい。走行モード決定部830は、マッピングデータの完成度が予め定められた閾値よりも小さい場合、マッピングデータの完成度が当該閾値よりも大きい場合と比較して、芝刈機210の進行速度が大きくなるように、芝刈機210の走行モードを決定してもよい。
【0122】
[その他の実施形態]
さらに他の実施形態において、近接検知ユニット664又は測距ユニット666が、未知の障害物120を検出した場合、走行モード決定部830は、芝刈機210の進行速度が予め定められた値以下となるように、芝刈機210の走行モードを決定してもよい。走行モード決定部830は、芝刈機210が、障害物120の位置、大きさ、及び、範囲又は形状を検出するための作業を実施するように、芝刈機210の走行モードを決定してもよい。例えば、走行モード決定部830は、芝刈機210の走行モードとして、形状検出モードを選択する。
【0123】
芝刈機210が、上記の障害物120の少なくとも一部について、位置、大きさ、及び、範囲又は形状を検出するための作業を実施した後、走行モード決定部830は、芝刈機210の走行モードを、障害物120が検出される前の走行モードに戻すことを決定してよい。境界検知ユニット662が既知の境界を検出した場合において、当該境界の少なくとも一部について、位置、大きさ、及び、範囲又は形状を検出するための作業が実施されていないときも、走行モード決定部830は、未知の障害物120が発見された場合と同様の処理を実行してよい。
【0124】
さらに他の実施形態において、芝刈機210が予定された作業を完了した場合、又は、芝刈機210がユーザ端末22若しくは管理サーバ230からの帰還命令を受信した場合、走行モード決定部830は、芝刈機210が倉庫220に帰還するように、芝刈機210の走行モードを決定してよい。走行モード決定部830は、芝刈機210が、作業領域202のワイヤ206に沿って走行して倉庫220に帰還するように、芝刈機210の走行モードを決定してもよい。また、走行モード決定部830は、芝刈機210が作業領域202の内部を移動する場合と比較して、高速に移動するように、芝刈機210の走行モードを決定してよい。例えば、走行モード決定部830は、芝刈機210の走行モードとして、ガイドモードを選択する。
【0125】
本実施形態において、進行速度決定部832は、芝刈機210の進行速度を決定する。例えば、進行速度決定部832には、走行モード決定部830から、芝刈機210の移動モードを示す情報が入力される。進行速度決定部832は、設定情報格納部840を参照して、入力された移動モードに対応する(i)進行速度に関する設定及び(ii)進行速度を決定するためのアルゴリズムの少なくとも一方を示す情報を取得する。進行速度決定部832は、設定情報格納部840を参照して得られた情報に基づいて、芝刈機210の進行速度を決定する。
【0126】
本実施形態において、進行方向決定部834は、芝刈機210の進行方向を決定する。進行方向決定部834は、走行モード決定部830が選択した走行モードに基づいて、芝刈機210の進行方向を決定してよい。上述のとおり、芝刈機210の進行方向は、例えば、芝刈機210が任意の境界に到達した場合における、芝刈機210の動作により決定される。進行方向決定部834は、芝刈機210が隣接する2つのサブ領域を区別する境界に到達した場合、当該境界上で転回しないことを決定してもよい。
【0127】
例えば、進行方向決定部834には、走行モード決定部830から、芝刈機210の移動モードを示す情報が入力される。進行方向決定部834は、設定情報格納部840を参照して、入力された移動モードに対応する(i)進行方向に関する設定及び(ii)進行方向を決定するためのアルゴリズムの少なくとも一方を示す情報を取得する。進行方向決定部834は、設定情報格納部840を参照して得られた情報に基づいて、芝刈機210の進行方向を決定する。
【0128】
上述のとおり、走行モードとしては、プログラムモード、ガイドモード、形状検出モード、第1ランダムモード、第2ランダムモード、パラレルモードなどが例示される。各走行モードが選択された場合、進行方向決定部834は、例えば、下記の手順により、芝刈機210の進行方向を決する。
【0129】
[プログラムモード]
プログラムモードが選択されている場合、進行方向決定部834は、芝刈機210が予め定められた経路上を移動するように、転回後の芝刈機210の進行方向を決定する。例えば、進行方向決定部834は、芝刈機210が、予め定められた位置で、予め定められた方向に転回するように、転回後の芝刈機210の進行方向を決定する。
【0130】
[ガイドモード]
ガイドモードが選択されている場合、進行方向決定部834は、芝刈機210が境界に沿って移動するように、転回後の芝刈機210の進行方向を決定する。例えば、進行方向決定部834は、境界の延伸方向と、転回後の進行方向とが略平行になるまで、芝刈機210が転回動作を繰り返すように、転回動作中の芝刈機210の進行方向を決定する。また、芝刈機210が境界に沿って移動を開始した後、芝刈機210の位置と、境界の代表点との距離が予め定められた閾値を超えた場合、進行方向決定部834は、芝刈機210の進行方向を変更することを決定する。そして、進行方向決定部834は、芝刈機210の位置と、境界の代表点との距離が小さくなるように、進路変更後の芝刈機210の進行方向を決定する。この場合、例えば、芝刈機210は、境界線に沿ってジグザグ状に移動する。
【0131】
[形状検出モード]
形状検出モードが選択されている場合、進行方向決定部834は、芝刈機210が、境界の少なくとも一部の位置、大きさ、及び、範囲又は形状を検出するように、転回後の芝刈機210の進行方向を決定する。例えば、進行方向決定部834は、芝刈機210が、境界の周囲で、進行、境界検知、後退、及び、転回を繰り返すように、転回後の芝刈機210の進行方向を決定する。
【0132】
進行方向決定部834は、任意の確率モデルに基づいて、転回後の進行方向を決定してよい。例えば、進行方向決定部834は、転回後の進行方向をランダムに決定する。進行方向決定部834は、転回後の進行方向が予め定められた制約条件を満たすように、転回後の芝刈機210の進行方向を決定してよい。進行方向決定部834は、任意の確率モデルに基づいて、転回後の進行方向が予め定められた制約条件を満たすように、転回後の芝刈機210の進行方向を決定してもよい。
【0133】
制約条件は、転回前の進行方向と、転回後の進行方向とのなす角度が、予め定められた数値範囲の範囲内であるという条件であってよい。予め定められた数値範囲は、90度以下、好ましくは90度未満、より好ましくは60度以下、さらに好ましくは30度以下、さらに好ましくは15度以下、さらに好ましくは15度未満であってよい。ここで、「転回前の進行方向と、転回後の進行方向とのなす角度」は、転回前の進行方向を示す平面ベクトルの始点と、転回後の進行方向を示す平面ベクトルの始点とを重ねた場合に、上記の2つのベクトルにより形成される2つの角度のうち、180度以下となる方の角度を意味してよい。
【0134】
[第1ランダムモード]
第1ランダムモードが選択されている場合、進行方向決定部834は、任意の確率モデルに基づいて、転回後の進行方向を決定する。例えば、進行方向決定部834は、転回後の進行方向をランダムに決定する。
【0135】
[第2ランダムモード]
第2ランダムモードが選択されている場合、進行方向決定部834は、転回後の進行方向が予め定められた制約条件を満たすように、転回後の芝刈機210の進行方向を決定する。進行方向決定部834は、任意の確率モデルに基づいて、転回後の進行方向が予め定められた制約条件を満たすように、転回後の芝刈機210の進行方向を決定してよい。
【0136】
一実施形態において、制約条件は、境界の延伸方向と、転回後の進行方向とがなす角度が、予め定められた数値範囲の範囲内であるという条件であってよい。予め定められた数値範囲は、15度以上90度以下、好ましくは15度超90度以下、より好ましくは30度以上90度以下、さらに好ましくは45度以上90度以下、さらに好ましくは60度以上90度以下であってよい。ここで、転回後の進行方向は、領域の境界から領域の内側に向かう方向に限定される。そこで、「境界の延伸方向と、転回後の進行方向とのなす角度」は、転回後の進行方向を示す平面ベクトルの始点を、境界の延伸方向を示す直線上に重ねた場合に、上記の平面ベクトル及び直線により形成される2つの角度のうち、90度以下となる方の角度を意味してよい。
【0137】
上記の実施形態によれば、1つの角度に対して、転回後の進行方向として、2つの候補が存在し得る。この場合、進行方向決定部834は、転回後の進行方向に関する2つの候補のうち、転回前の進行方向となす角度の小さい方が選択される確率が、他方が選択される確率よりも大きくなるように、転回後の芝刈機210の進行方向を決定してよい。例えば、進行方向決定部834は、転回後の進行方向に関する2つの候補のうち、転回前の進行方向となす角度の小さい方を、転回後の芝刈機210の進行方向として選択する。なお、進行方向決定部834は、転回後の進行方向に関する2つの候補のうち、転回前の進行方向となす角度の小さい方が選択される確率が、他方が選択される確率よりも小さくなるように、転回後の芝刈機210の進行方向を決定してよい。
【0138】
他の実施形態において、作業領域202のワイヤ206、及び、作業領域202の内部に配された任意の境界の少なくとも一方において、ログデータの取得されていない領域が存在する場合、制約条件は、芝刈機210が当該領域に向かう方向の選択される確率が、他の方向が選択される確率よりも大きいという条件であってよい。同様に、作業領域202の内部において、マッピングデータの完成度が予め定められた閾値よりも小さい領域が存在する場合、制約条件は、芝刈機210が当該領域に向かう方向の選択される確率が、他の方向が選択される確率よりも大きいという条件であってよい。
【0139】
[パラレルモード]
パラレルモードが選択されている場合、進行方向決定部834は、転回前の進行方向と、転回後の進行方向とのなす角度が、略180度となるように、転回後の芝刈機210の進行方向を決定する。また、進行方向決定部834は、転回前の経路と、転回後の経路との隙間が適切な値となるように、転回動作中の芝刈機210の進行方向を決定する。
【0140】
本実施形態において、進行方向決定部834は、倉庫220への帰還ルートを決定してもよい。例えば、芝刈機210が予定された作業を完了した場合、又は、芝刈機210がユーザ端末22若しくは管理サーバ230からの帰還命令を受信した場合、走行モード決定部830は、芝刈機210が作業領域202のワイヤ206に沿って帰還するように、芝刈機210の走行モードを決定する。芝刈機210がワイヤ206に到達すると、進行方向決定部834は、ワイヤ206の2つの延伸方向のうち、どちらの方向に向かって、芝刈機210を進行させるかを決定する。進行方向決定部834は、芝刈機210の位置と、ワイヤ206により形成される作業領域202の境界の形状とに基づいて、ワイヤ206の2つの延伸方向のうち、どちらの方向に向かって、芝刈機210を進行させるかを決定してよい。
【0141】
本実施形態において、制御情報生成部836は、走行用モータ616を制御するための制御情報を生成する。制御情報生成部836は、走行モード決定部830が決定した走行モードに基づいて、制御信号を生成してよい。制御情報生成部836は、進行速度決定部832が決定した進行速度に基づいて、制御信号を生成してよい。制御情報生成部836は、進行方向決定部834が決定した進行方向に基づいて、制御信号を生成してよい。制御情報生成部836は、生成された制御情報を、走行用モータ616に送信してよい。
【0142】
一実施形態によれば、制御情報生成部836は、(a)芝刈機210の位置におけるマッピングデータの完成度が予め定められた第1条件を満足する場合と、(b)芝刈機210の位置におけるマッピングデータの完成度が予め定められた第2条件を満足する場合とで、(i)芝刈機210の進行速度、及び、(ii)芝刈機210が任意の境界に到達した場合の動作の少なくとも一方が異なるように、制御情報を生成する。第2条件は、第1条件とは異なる条件であってよい。
【0143】
第1条件としては、マッピングデータの完成度が予め定められた閾値より小さいという条件、マッピングデータの完成度が予め定められた閾値以下であるという条件、マッピングデータの完成度が予め定められた閾値より大きいという条件、マッピングデータの完成度が予め定められた閾値以上であるという条件、及び、これらの組み合わせが例示される。第2条件は、マッピングデータの完成度が第1条件を満足しないという条件であってもよい。
【0144】
例えば、芝刈機210の位置におけるマッピングデータの完成度が第1条件を満足する場合、制御情報生成部836は、(i)芝刈機210の進行速度の設定値が、マッピングデータの完成度が第2条件を満足する場合よりも小さな値に設定され、且つ、(ii)芝刈機210が任意の境界に到達したときに、芝刈機210の進行方向が確率モデルに基づいて決定されるように、1又は複数の制御情報を生成する。より具体的には、第1条件は、マッピングデータの完成度が予め定められた閾値以下である又は当該閾値より小さいという条件であり、第2条件は、マッピングデータの完成度が上記の閾値より大きい又は当該閾値以上であるという条件であってよい。
【0145】
芝刈機210の位置におけるマッピングデータの完成度が第1条件を満足する場合、制御情報生成部836は、芝刈機210の進行方向が制限されるように、制御情報を生成してもよい。例えば、進行方向決定部834が、任意の確率モデルに基づいて、転回後の芝刈機210の進行方向が予め定められた制約条件を満たすように、転回後の芝刈機210の進行方向を決定する。制御情報生成部836は、進行方向決定部834の決定結果に基づいて、1又は複数の制御情報を生成する。
【0146】
制約条件は、境界の延伸方向と、転回後の進行方向とがなす角度が、予め定められた数値範囲の範囲内であるという条件であってよい。予め定められた数値範囲は、15度以上90度以下、好ましくは15度超90度以下、より好ましくは30度以上90度以下、さらに好ましくは45度以上90度以下、さらに好ましくは60度以上90度以下であってよい。
【0147】
制約条件は、マッピングデータの完成度が第1条件を満足しない場合と比較して、芝刈機210の進行方向と、芝刈機210が到達した境界の延伸方向とのなす角度の許容範囲が小さいという条件であってもよい。例えば、第2ランダムモードが選択された場合における、芝刈機210の進行方向と、芝刈機210が到達した境界の延伸方向とのなす角度の許容範囲は、第1ランダムモード又はプログラムモードが選択された場合と比較して小さい。そのため、例えば、走行モード決定部830が、マッピングデータの完成度が予め定められた閾値よりも小さい場合、芝刈機210の走行モードとして第2ランダムモードを選択し、マッピングデータの完成度が予め定められた閾値よりも大きい場合、芝刈機210の走行モードとして、プログラムモード又は第1ランダムモードを選択すると、上記の制約条件が満たされる。
【0148】
本実施形態において、制御情報生成部836は、芝刈機210を倉庫220に帰還させる場合において、芝刈機210の位置におけるマップ情報の完成度が第1条件を満足するとき、芝刈機210がワイヤ206に沿って倉庫220に帰還するように、1又は複数の制御情報を生成する。例えば、制御情報生成部836は、ワイヤ206が検出されるまで芝刈機210を直進させるための制御情報を生成する。また、制御情報生成部836は、ワイヤ206の延伸方向のうち、どちらの方向に進行すべきかを示す制御信号を生成する。その後、制御情報生成部836は、芝刈機210がワイヤ206に沿って進行するように制御信号を生成する。制御情報生成部836は、芝刈機210の進行速度の設定値を指示するための制御信号を生成してもよい。
【0149】
他の実施形態によれば、制御情報生成部836は、(a)芝刈機210の位置推定精度が予め定められた第3条件を満足する場合と、(b)芝刈機210の位置推定精度が予め定められた第4条件を満足する場合とで、(i)芝刈機210の進行速度、及び、(ii)芝刈機210が領域の境界に到達した場合の動作の少なくとも一方が異なるように、制御信号を生成する。第3条件及び第4条件のそれぞれは、第1条件及び第2条件とは異なる条件であってよい。第4条件は、第3条件とは異なる条件であってよい。
【0150】
第3条件としては、位置推定精度が予め定められた閾値より小さいという条件、位置推定精度が予め定められた閾値以下であるという条件、位置推定精度が予め定められた閾値より大きいという条件、位置推定精度が予め定められた閾値以上であるという条件、及び、これらの組み合わせが例示される。第4条件は、芝刈機210の位置推定精度が第3条件を満足しないという条件であってよい。
【0151】
例えば、芝刈機210の位置推定精度が第3条件を満足する場合、制御情報生成部836は、(i)芝刈機210の進行速度の設定値が、芝刈機210の位置推定精度が第4条件を満足する場合よりも小さな値に設定され、且つ、(ii)芝刈機210が任意の境界に到達したときに、芝刈機210の進行方向が確率モデルに基づいて決定されるように、1又は複数の制御情報を生成する。より具体的には、第3条件は、位置推定精度が予め定められた閾値以下である又は当該閾値より小さいという条件であり、第4条件は、位置推定精度が上記の閾値より大きい又は当該閾値以上であるという条件であってよい。
【0152】
本実施形態において、制御情報生成部836は、芝刈機210を倉庫220に帰還させる場合において、芝刈機210の位置推定精度が第3条件を満足するとき、芝刈機210がワイヤ206に沿って倉庫220に帰還するように、1又は複数の制御情報を生成する。例えば、制御情報生成部836は、ワイヤ206が検出されるまで芝刈機210を直進させるための制御情報を生成する。また、制御情報生成部836は、ワイヤ206の延伸方向のうち、どちらの方向に進行すべきかを示す制御信号を生成する。その後、制御情報生成部836は、芝刈機210がワイヤ206に沿って進行するように制御信号を生成する。制御情報生成部836は、芝刈機210の進行速度の設定値を指示するための制御信号を生成してもよい。
【0153】
本実施形態においては、走行制御部720が、芝刈機210に配される場合について説明した。しかしながら、走行制御部720は、本実施形態に限定されない。他の実施形態において、走行制御部720は、管理サーバ230に配されてよい。走行制御部720の一部が、管理サーバ230に配されてもよい。
【0154】
図9、
図10及び
図11を用いて、転回角度の決定方法の概要を説明する。
図9は、芝刈機210の移動モードとして、パラレルモードが選択された場合において、進行方向決定部834が転回角度を決定する手順の一例を概略的に示す。
【0155】
図9において、直線906は、芝刈機210がワイヤ206に到達した位置920におけるワイヤ206の延伸方向を示す。なお、θ
92は、転回前の進行方向912と、直線906とのなす角を示す。θ
94は、転回後の進行方向942と、直線906とのなす角を示す。
【0156】
図9の点線の円で囲まれた領域に記載されているように、直線906は、ワイヤ206上の点902及び点904を結ぶ直線であってよい。点902及び点904は、転回前の進行方向に平行な向きに、芝刈機210をワイヤ206に投影した場合に、ワイヤ206と、芝刈機210の影とが交差する領域の端部である。点902及び点904は、ワイヤ206の作業領域202の側の端部であってよい。
【0157】
本実施形態において、芝刈機210は、まず、転回前の進行方向912を向いて前進し、ワイヤ206に接近する。芝刈機210は、位置920において、ワイヤ206を検出する。そこで、芝刈機210は、転回位置930まで、転回動作中の進行方向922の向きに後退する。進行方向922と、進行方向912とのなす角は、特に限定されるものではないが、例えば、略180度である。
【0158】
次に、芝刈機210は、転回位置930において転回した後、転回動作中の進行方向932を向いて、転回位置940まで前進する。進行方向932と、進行方向912とのなす角は、特に限定されるものでないが、例えば、略90度である。また、転回位置940は、転回前の経路及び転回後の経路のオフセット量が、カッターブレード624の位置を考慮した適切な値となるように設定される。
【0159】
次に、芝刈機210は、転回位置940において転回した後、転回後の進行方向942を向いて前進する。進行方向決定部834は、進行方向942と、進行方向912とのなす角が、略180度となるように、転回後の芝刈機210の進行方向942を決定する。
【0160】
図10は、芝刈機210の移動モードとして、第1ランダムモード又は第2ランダムモードが選択された場合において、進行方向決定部834が転回角度を決定する手順の一例を概略的に示す。本実施形態において、芝刈機210は、まず、転回前の進行方向912を向いて前進し、ワイヤ206に接近する。芝刈機210は、位置920において、ワイヤ206を検出する。そこで、芝刈機210は、転回位置930まで、転回動作中の進行方向922の向きに後退する。進行方向922と、進行方向912とのなす角は、特に限定されるものではないが、例えば、略180度である。
【0161】
次に、芝刈機210は、転回位置930において転回した後、転回後の進行方向1032を向いて前進する。進行方向決定部834は、任意の確率モデルに基づいて、進行方向1032と、直線906とのなす角θ
96の角度を決定する。なお、角θ
96の定義より、角θ
96の角度は、0度以上90度以下の値を採り得る。
【0162】
芝刈機210の走行モードが第1ランダムモードに設定されている場合、進行方向決定部834は、例えば、0から90までの値が等しい確率で選択されるように、角θ
96の角度を決定する。進行方向決定部834は、0又は1から90までの整数が等しい確率で選択されるように、角θ
96の角度を決定してもよい。進行方向決定部834は、複数の候補が等しい確率で選択されるように、角θ
96の角度を決定してもよい。
【0163】
角θ
96の定義上、角θ
96の角度として単一の値が決定されたとしても、転回後の進行方向1032の候補が2つ存在し得る。そこで、進行方向決定部834は、2つの候補のうちの1つを、転回後の進行方向1032として選択する。進行方向決定部834は、任意の確率モデルに基づいて、2つの候補のうちの1つ選択してよい。進行方向決定部834は、2つの候補のうちの1つをランダムに選択してもよい。
【0164】
進行方向決定部834は、2つの候補のうち転回前の進行方向912となす角θ
98の角度の小さい方が選択される確率が、他方が選択される確率よりも大きくなるように、転回後の進行方向1032を決定してよい。進行方向決定部834は、2つの候補のうち転回前の進行方向912となす角θ
98の角度の小さい方が選択される確率が、他方が選択される確率よりも小さくなるように、転回後の進行方向1032を決定してもよい。
【0165】
芝刈機210の走行モードが第1ランダムモードに設定されている場合、進行方向決定部834は、転回後の進行方向1032が予め定められた制約条件を満たすように、角θ
96の角度を決定する。進行方向決定部834は、任意の確率モデルに基づいて、転回後の進行方向1032が予め定められた制約条件を満たすように、角θ
96の角度を決定してよい。
【0166】
例えば、進行方向決定部834は、0から90までの値のうち、予め定められた1又は複数の数値範囲に含まれる値が等しい確率で選択されるように、角θ
96の角度を決定する。上記の数値範囲は、0を超え90に満たない範囲であってよい。上記の数値範囲は、1以上89以下の範囲であってもよい。これにより、例えば、30度から45度及び60度から80度までの値が、等しい確率で選択される。
【0167】
進行方向決定部834は、0又は1から90までの整数のうち、予め定められた1又は複数の数値範囲に含まれる値が等しい確率で選択されるように、角θ
96の角度を決定してよい。進行方向決定部834は、予め定められた1又は複数の数値範囲に含まれる複数の候補が等しい確率で選択されるように、角θ
96の角度を決定してもよい。
【0168】
進行方向決定部834は、0から90までの値のうち、予め定められた1又は複数の数値範囲に含まれる値の選択される確率が、他の値の選択される確率よりも大きくなるように、角θ
96の角度を決定してよい。これにより、例えば、芝刈機210がログデータの取得されていない領域に向かう確率を、大きくすることができる。また、芝刈機210がマッピングデータの完成度が小さい領域に向かう確率を、大きくすることができる。
【0169】
図11は、芝刈機210の移動モードとして、境界に沿って移動するモードが選択された場合において、進行方向決定部834が転回角度を決定する手順の一例を概略的に示す。本実施形態において、芝刈機210は、まず、転回前の進行方向912を向いて前進し、ワイヤ206に接近する。芝刈機210は、位置920において、ワイヤ206を検出する。そこで、芝刈機210は、転回位置930まで、転回動作中の進行方向922の向きに後退する。進行方向922と、進行方向912とのなす角は、特に限定されるものではないが、例えば、略180度である。
【0170】
次に、芝刈機210は、転回位置930において転回した後、転回後の進行方向1132を向いて前進する。一実施形態において、進行方向決定部834は、任意の確率モデルに基づいて、進行方向1132と、進行方向912とのなす角の角度を決定する。進行方向決定部834は、進行方向1132と、進行方向912とのなす角が予め定められた制約条件を満たすように、進行方向1132を決定してもよい。他の実施形態において、例えばワイヤ206の形状が比較的単純な場合には、進行方向決定部834は、進行方向1132と、直線906とのなす角の角度を、略0度又は略180度に設定する。
【0171】
次に、位置1140においてワイヤ206が検出された場合、位置920でワイヤ206が検出された場合と同様に、芝刈機210は、転回位置1150まで、転回動作中の進行方向1142の向きに後退する。進行方向1132と、進行方向1142とのなす角は、特に限定されるものではないが、例えば、略180度である。
【0172】
次に、芝刈機210は、転回位置1150において転回した後、転回後の進行方向1152を向いて前進する。一実施形態において、進行方向決定部834は、任意の確率モデルに基づいて、進行方向1152と、進行方向1132とのなす角の角度を決定する。進行方向決定部834は、進行方向1152と、進行方向1132とのなす角が予め定められた制約条件を満たすように、進行方向1152を決定してもよい。他の実施形態において、例えばワイヤ206の形状が比較的単純な場合には、進行方向決定部834は、進行方向1152と、直線906とのなす角の角度を、略0度又は略180度に設定する。
【0173】
図9、
図10及び
図11に関連して説明された実施形態においては、直線906の延伸方向を基準として、転回後の芝刈機210の進行方向が決定された。しかしながら、転回後の芝刈機210の進行方向を決定する方法は、本実施形態に限定されない。他の実施形態において、転回後の芝刈機210の進行方向を示す方位又は方角が決定される。また、転回前の進行方向と、転回後の進行方向とのなす角度は、転回前の進行方向を示す方位又は方角と、転回後の進行方向を示す方位又は方角に基づいて決定されてよい。
【0174】
また、
図9、
図10及び
図11に関連して説明された実施形態などにおいては、境界が検出された場合、芝刈機210が、一旦、後退した後、転回する場合を例として、転回動作の詳細が説明された。しかしながら、転回動作は、本実施形態に限定されない。他の実施形態において、芝刈機210は、境界が検出された地点で転回してよい。
【0175】
図12は、芝刈機210の帰還ルートの決定方法の一例を概略的に示す。芝刈機210がワイヤ206に沿って倉庫220に帰還する場合において、芝刈機210がワイヤ206に到達すると、進行方向決定部834は、ワイヤ206の延伸方向(a)及び(b)のうちのどちらか一方を、芝刈機210の進行方向として選択する。
【0176】
この場合において、進行方向決定部834が、芝刈機210の位置情報、及び、倉庫220の位置情報に基づいて、芝刈機210の進行方向として、方向(a)を選択すると、芝刈機210の位置及びワイヤ206の形状によっては、非常に遠回りになる可能性がある。そこで、本実施形態によれば、進行方向決定部834は、芝刈機210の位置と、ワイヤ206の形状とに基づいて、ワイヤ206の延伸方向(a)及び(b)の一方を、芝刈機210の進行方向として選択する。これにより、芝刈機210の移動効率を向上させることができる。
【0177】
図13は、マップ管理部810の内部構成の一例を概略的に示す。本実施形態において、マップ管理部810は、マッピングデータ生成部1312と、マップ完成度算出部1314と、格納部1316とを備える。
【0178】
本実施形態において、マッピングデータ生成部1312は、入出力制御部740を介して、各種のログデータを取得する。マッピングデータ生成部1312は、ログデータを格納部1316に格納してよい。マッピングデータ生成部1312は、複数のログデータに基づいて、作業領域202のマッピングデータを生成する。マッピングデータ生成部1312は、作業領域202のマッピングデータを格納部1316に格納してよい。
【0179】
本実施形態において、マップ完成度算出部1314は、作業領域202のマッピングデータの完成度を算出する。一実施形態において、マップ完成度算出部1314は、作業領域202に含まれるサブ領域ごとに、マッピングデータの完成度を算出する。他の実施形態において、マップ完成度算出部1314は、芝刈機210の位置ごとに、マッピングデータの完成度を算出する。マップ完成度算出部1314は、マップ完成度取得部826からの要求に応じて、(i)当該要求により示される位置におけるマッピングデータの完成度を示す情報を取得し、(ii)当該情報をマップ完成度取得部826に送信してよい。
【0180】
図14は、作業ユニット制御部730の内部構成の一例を概略的に示す。本実施形態において、作業ユニット制御部730は、作業モード決定部1412と、設定情報格納部1414と、作業内容決定部1416と、制御情報生成部1418とを備える。
【0181】
本実施形態において、作業モード決定部1412は、作業ユニット620の作業モードを決定する。作業モード決定部1412は、移動中に作業を実施するか否かを決定してもよい。作業モード決定部1412は、例えば、走行制御部720が決定した移動モードに基づいて、作業ユニット620の作業モードを決定してよい。
【0182】
本実施形態において、設定情報格納部1414は、1又は複数の作業モードのそれぞれの設定情報を格納する。設定情報は、各作業モードの識別情報と、当該作業モードにおける作業の内容を規定する情報とが対応付けられた情報であってよい。
【0183】
作業モードは、例えば、(i)作業の実施の可否、及び、(ii)作業強度の少なくとも一方を規定する。作業モードとしては、(i)移動しながら作業を実施するモード、(ii)移動中は作業を停止又は中断するモード、(iii)直進中は作業を実施するが、転回動作中は作業を停止又は中断するモードなどが例示される。
【0184】
作業モードの他の例としては、(i)作業強度が比較的大きいモード、(ii)作業強度が中程度であるモード、(iii)作業強度が比較的小さいモードなどが例示される。作業モードの他の例としては、(iv)倉庫220に帰還するモード、(v)倉庫220から、目的とする作業の作業開始位置に移動するモードなどが例示される。
【0185】
作業強度としては、特定の期間における作業頻度、1回あたりの作業量、特定の期間における総作業量などが例示される。作業強度は、連続的な数値により表されてもよく、段階的な区分により表されてもよい。各区分は、記号又は文字により区別されてもよく、数字により区別されてもよい。
【0186】
本実施形態において、作業内容決定部1416は、作業ユニット620が実施する作業の内容を決定する。作業の内容としては、作業の対象、作業の種類、作業の強度などが例示される。
【0187】
本実施形態において、制御情報生成部1418は、作業ユニット620を制御するための制御情報を生成する。制御情報生成部1418は、作業ユニット620が作業を開始するタイミング、及び、作業ユニット620が作業を停止するタイミングの少なくとも一方を示す制御信号を生成してよい。制御情報生成部1418は、作業の内容を示す制御情報を生成してもよい。
【0188】
本実施形態においては、作業ユニット制御部730が、芝刈機210に配される場合について説明した。しかしながら、作業ユニット制御部730は、本実施形態に限定されない。他の実施形態において、作業ユニット制御部730は、管理サーバ230に配されてもよい。作業ユニット制御部730の一部が、管理サーバ230に配されてもよい。
【0189】
図15は、データテーブル1500の一例を概略的に示す。データテーブル1500は、ログデータのデータ構造の一例であってよい。本実施形態において、データテーブル1500は、時刻を示す情報と、芝刈機210の位置を示す情報と、芝刈機210の姿勢を示す情報と、境界が検出されたか否かを示す情報と、障害物への近接が検出されたか否かを示す情報と、地面の状態を示す情報と、芝刈機210が実施した作業の詳細を示す情報とを対応付けて格納する。
【0190】
本実施形態において、芝刈機210の位置を示す情報は、芝刈機210の位置座標を示す情報と、測位精度を示す情報とを含む。位置座標は、例えば作業領域202の内部における位置を特定することができる情報であればよく、当該位置座標の表現方法は特に限定されない。位置座標は、2次元座標であってもよく、3次元座標であってもよい。本実施形態において、芝刈機210の姿勢を示す情報は、芝刈機210のロール、ピッチ及びヨーのそれぞれを示す情報を含む。芝刈機210の姿勢を示す情報は、2次元の情報であってもよく、3次元の情報であってもよい。
【0191】
本実施形態において、境界が検出されたか否かを示す情報は、境界検知ユニット662の出力データを含んでよい。本実施形態において、障害物への近接が検出されたか否かを示す情報は、近接検知ユニット664の出力データを含んでよい。障害物への近接が検出されたか否かを示す情報は、測距ユニット666の出力データを含んでよい。
【0192】
本実施形態において、地面の状態を示す情報は、地面に形成された段差、窪みなどの有無を示す情報であってよい。地面の状態を示す情報は、測距ユニット666の出力データを含んでよい。地面の状態を示す情報は、地面のぬかるみ具合、地面の滑りやすさなどを示す情報であってよい。地面の状態を示す情報は、走行用モータ616の駆動電流の電流値を示す情報を含んでよい。本実施形態において、作業の詳細を示す情報は、芝刈機210が作業を実施しているか否か、作業モード、作業の内容、作業対象の状態、作業対象の属性などを示す情報であってよい。
【0193】
データテーブル1500は、本実施形態に限定されない。他の実施形態において、データテーブル1500は、(i)芝刈機210の位置を示す情報と、(ii)時刻を示す情報、芝刈機210の姿勢を示す情報、境界が検出されたか否かを示す情報、障害物への近接が検出されたか否かを示す情報、地面の状態を示す情報、及び、芝刈機210が実施した作業の詳細を示す情報の少なくとも1つとを対応付けて格納してもよい。
【0194】
図16は、データテーブル1600の一例を概略的に示す。データテーブル1600は、マッピングデータのデータ構造の一例であってよい。本実施形態において、データテーブル1600は、位置を示す情報と、当該位置を含む単位領域の識別情報と、当該位置における評価を示す情報とを対応付けて格納する。
【0195】
本実施形態において、位置を示す情報は、当該位置の位置座標を示す情報を含んでよい。位置座標は、例えば作業領域202の内部における位置を特定することができる情報であればよく、当該位置座標の表現方法は特に限定されない。位置座標は、2次元座標であってもよく、3次元座標であってもよい。本実施形態において、評価を示す情報は、進入の許否に関する評価を示す情報、作業対象の属性に関する評価を示す情報、及び、測位精度に関する評価を示す情報の少なくとも1つを含んでよい。
【0196】
データテーブル1600は、本実施形態に限定されない。他の実施形態において、データテーブル1600は、位置を示す情報と、当該位置における進入の許否を示す情報とを対応付けて格納してよい。
【0197】
図17は、管理サーバ230の内部構成の一例を概略的に示す。本実施形態において、管理サーバ230は、通信制御部1710と、要求処理部1720と、境界情報管理部1730と、機器管理部1740と、作業計画管理部1750とを備える。
【0198】
本実施形態において、通信制御部1710は、管理サーバ230の外部の機器との通信を制御する。通信制御部1710は、1又は複数の通信方式に対応した通信インタフェースであってもよい。外部の機器としては、ユーザ端末22、芝刈機210、充電ステーション222などが例示される。本実施形態において、要求処理部1720は、外部の機器からの要求を受け付ける。要求処理部1720は、外部の機器からの要求を処理する。
【0199】
本実施形態において、境界情報管理部1730は、作業領域202の境界に関する情報を管理する。境界情報管理部1730は、ワイヤ206の位置、大きさ、及び、範囲又は形状を示す情報を格納してよい。作業領域202に含まれる1又は複数の境界の位置、大きさ、及び、範囲又は形状を示す情報を格納してよい。境界情報管理部1730は、マップ管理部810から、マッピングデータを取得してよい。境界情報管理部1730は、マップ管理部810と同様の構成を有してもよい。
【0200】
本実施形態において、機器管理部1740は、管理システム200を構成する各種の機器を管理する。例えば、機器管理部1740は、芝刈機210、倉庫220及び充電ステーション222の少なくとも1つに関する情報を管理する。機器管理部1740は、芝刈機210の位置、進行速度、進行方向、移動モード、作業モードなどに関する情報を管理してよい。
【0201】
本実施形態において、作業計画管理部1750は、芝刈機210が実施する作業のスケジュールを管理する。作業計画管理部1750は、芝刈機210の作業スケジュールを計画してよい。作業計画管理部1750は、芝刈機210の作業スケジュールの進捗を管理してよい。
【0202】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。また、技術的に矛盾しない範囲において、特定の実施形態について説明した事項を、他の実施形態に適用することができる。例えば、
図1の実施形態について説明した事項を、他の図面に関連して説明される他の実施形態に適用することができる。その様な変更または改良を加えた形態もまた、本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
【0203】
請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。