IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社やまびこの特許一覧

特許7618793情報処理システム、作業機及びプログラム
<>
  • 特許-情報処理システム、作業機及びプログラム 図1
  • 特許-情報処理システム、作業機及びプログラム 図2
  • 特許-情報処理システム、作業機及びプログラム 図3
  • 特許-情報処理システム、作業機及びプログラム 図4
  • 特許-情報処理システム、作業機及びプログラム 図5
  • 特許-情報処理システム、作業機及びプログラム 図6
  • 特許-情報処理システム、作業機及びプログラム 図7
  • 特許-情報処理システム、作業機及びプログラム 図8
  • 特許-情報処理システム、作業機及びプログラム 図9
  • 特許-情報処理システム、作業機及びプログラム 図10
  • 特許-情報処理システム、作業機及びプログラム 図11
  • 特許-情報処理システム、作業機及びプログラム 図12
  • 特許-情報処理システム、作業機及びプログラム 図13
  • 特許-情報処理システム、作業機及びプログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-10
(45)【発行日】2025-01-21
(54)【発明の名称】情報処理システム、作業機及びプログラム
(51)【国際特許分類】
   G05D 1/43 20240101AFI20250114BHJP
【FI】
G05D1/43
【請求項の数】 11
(21)【出願番号】P 2023523940
(86)(22)【出願日】2021-05-28
(86)【国際出願番号】 JP2021020544
(87)【国際公開番号】W WO2022249486
(87)【国際公開日】2022-12-01
【審査請求日】2024-02-28
(73)【特許権者】
【識別番号】509264132
【氏名又は名称】株式会社やまびこ
(74)【代理人】
【識別番号】110002789
【氏名又は名称】弁理士法人IPX
(72)【発明者】
【氏名】林田 智弘
(72)【発明者】
【氏名】西崎 一郎
(72)【発明者】
【氏名】石平 大祐
【審査官】田中 成彦
(56)【参考文献】
【文献】特開2018-038291(JP,A)
【文献】国際公開第2019/167205(WO,A1)
【文献】特開2019-121364(JP,A)
【文献】特開2018-139720(JP,A)
【文献】国際公開第2017/195510(WO,A1)
【文献】特開2018-109849(JP,A)
【文献】特開2018-108040(JP,A)
【文献】独国特許出願公開第10307794(DE,A1)
【文献】特開平10-234634(JP,A)
【文献】国際公開第2020/012944(WO,A1)
【文献】国際公開第2002/023297(WO,A1)
【文献】特開2018-109848(JP,A)
【文献】特開平11-065655(JP,A)
【文献】特開平09-037632(JP,A)
【文献】国際公開第2020/136813(WO,A1)
【文献】米国特許出願公開第2010/0138096(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00 - 1/87
A01B 69/00
(57)【特許請求の範囲】
【請求項1】
情報処理システムであって、
取得ステップでは、自律走行可能な作業機が対象とする作業領域の境界を示す境界情報を取得し、
設定ステップでは、取得された前記境界情報に基づき前記作業領域から未到達領域をなくすための前記作業機の経路を設定し、第1の方法により設定される前記経路を用いて前記作業領域を一定の距離又は一定の時間だけ走行したときの作業品質が所定の基準を満たさない場合は、当該作業領域で前記作業機が次に作業を行うときは第2の方法により前記経路を設定し、設定された当該経路を前記作業機が走行し、
前記作業品質は、前記経路に含まれる到達済領域の割合が小さいほど高くなる、もの。
【請求項2】
請求項1に記載の情報処理システムにおいて、
前記作業機は、芝刈り作業機であり、
前記作業領域は、芝刈りの作業領域であり、
前記作業品質は、芝刈りの作業品質である、もの。
【請求項3】
請求項1又は2に記載の情報処理システムにおいて、
前記第1の方法は、前記第2の方法よりも処理の負荷が小さくなりやすい、もの。
【請求項4】
請求項3に記載の情報処理システムにおいて、
前記第1の方法は、前記作業機が進行と前記作業領域の境界における方向変換とを繰り返すルールにより、連続する経路を設定する方法である、もの。
【請求項5】
請求項4に記載の情報処理システムにおいて、
前記第1の方法は、初期の進行方向及び方向変換後の方向の少なくとも1つが異なる複数の前記ルールを有し、当該複数のルールのうち作業品質が最も良好になるものを選んで経路を設定する方法である、もの。
【請求項6】
請求項に記載の情報処理システムにおいて、
未到達領域又は到達済領域の割合は、作業機に設けられたモータの負荷量を検出することによって算出される、もの。
【請求項7】
請求項1~請求項の何れか1つに記載の情報処理システムにおいて、
検知ステップでは、前記作業領域に存在する物体を検知し、
前記第2の方法は、前記作業機が所定の距離を走行するたびに、取得された前記境界情報及び検知された前記物体の位置に基づいて前記経路を設定し直す方法である、もの。
【請求項8】
請求項1~請求項の何れか1つに記載の情報処理システムにおいて、
前記第1の方法及び前記第2の方法は、異なる機械学習手法によってそれぞれ学習された学習済みモデルに基づいて、経路を設定する方法である、もの。
【請求項9】
請求項に記載の情報処理システムにおいて、
前記第1の方法では、パターン化された複数種類の経路から選択可能なニューラルネットワークを利用した機械学習方法が用いられ、前記第2の方法では、クラシファイアシステムを利用した機械学習方法が用いられる、もの。
【請求項10】
自律走行可能な作業機であって、
請求項1~請求項の何れか1つに記載の情報処理システムの各ステップを実行するように構成される、もの。
【請求項11】
プログラムであって、
コンピュータに、請求項1~請求項の何れか1つに記載の情報処理システムの各ステップを実行させる、もの。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、作業機及びプログラムに関する。
【背景技術】
【0002】
所定の領域に芝刈り等の作業を行う技術として、特許文献1には、画像内の仮想マーカーを識別して作業領域の境界を示す境界データを生成してロボット芝刈り機の作業領域内での動作を制御する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】米国特許出願公開第2021/0018927号明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載のロボット芝刈り機のように自律走行可能な作業機においては、作業を行う際に走行する経路も自動的に設定されると人の手間が省かれる。しかし、作業領域の形状、大きさ及び障害物の配置等には様々なものがあるので、作業経路によっては作業品質が大きく下がることが起こりうる。例えば、作業領域の形状が複雑に入り組んでいる場合などにおいては経路の設定が複雑化するため、最適経路を学習する処理装置部分に大きな負担がかかることがある。しかし、処理装置の負担を軽減させて処理速度を優先すると、経路設定を単純化せざるを得ず、結果として、経路設定の精度が落ちることになる。具体的には、無駄な重複経路を辿って作業機の未達領域(刈残し領域)が増大する、又は、同じ領域の作業を完了させるための時間が長くかかる、等のおそれがある。
【0005】
本発明では上記事情を鑑み、作業領域において作業品質が高い経路が設定される可能性を向上させることができる情報処理システム等を提供することとした。
【課題を解決するための手段】
【0006】
本発明の一態様によれば、情報処理システムが提供される。この情報処理システムにおける取得ステップでは、自律走行可能な作業機が対象とする作業領域の境界を示す境界情報を取得する。設定ステップでは、取得された境界情報に基づき作業領域から未到達領域をなくすための作業機の経路を設定し、第1の方法により設定される経路を用いたときの作業品質が所定の基準を満たさない場合は第2の方法により経路を設定する。
【0007】
このような一態様によれば、作業領域において作業品質が高い経路が設定される可能性を向上させることができる。
【図面の簡単な説明】
【0008】
図1】芝刈りロボット1の外観を示す図である。
図2】芝刈りロボット1の走行経路の一例を示す図である。
図3】芝刈りロボット1のハードウェア構成を示す図である。
図4】芝刈りロボット1の機能構成を示す図である。
図5】経路設定処理における動作手順を示す図である。
図6】作業対象領域の第1の例を示す図である。
図7】第1の経路設定方法により設定された経路の一例を示す図である。
図8】第2の経路設定方法により設定された経路の一例を示す図である。
図9】作業対象領域A10における処理の負荷を示す図である。
図10】作業対象領域の第2の例を示す図である。
図11】第1の経路設定方法により設定された経路の一例を示す図である。
図12】第2の経路設定方法により設定された経路の一例を示す図である。
図13】経路設定処理により設定された経路の一例を示す図である。
図14】第2の例における処理の負荷を示す図である。
【発明を実施するための形態】
【0009】
以下、図面を用いて本発明の実施形態について説明する。以下に示す実施形態中で示した各種特徴事項は、互いに組み合わせ可能である。
【0010】
ところで、本実施形態に登場するソフトウェアを実現するためのプログラムは、コンピュータが読み取り可能な非一時的な記録媒体(Non-Transitory Computer-Readable Medium)として提供されてもよいし、外部のサーバからダウンロード可能に提供されてもよいし、外部のコンピュータで当該プログラムを起動させてクライアント端末でその機能を実現(いわゆるクラウドコンピューティング)するように提供されてもよい。
【0011】
また、本実施形態において「部」とは、例えば、広義の回路によって実施されるハードウェア資源と、これらのハードウェア資源によって具体的に実現されうるソフトウェアの情報処理とを合わせたものも含みうる。また、本実施形態においては様々な情報を取り扱うが、これら情報は、例えば電圧・電流を表す信号値の物理的な値、0又は1で構成される2進数のビット集合体としての信号値の高低、又は量子的な重ね合わせ(いわゆる量子ビット)によって表され、広義の回路上で通信・演算が実行されうる。
【0012】
また、広義の回路とは、回路(Circuit)、回路類(Circuitry)、プロセッサ(Processor)、及びメモリ(Memory)等を少なくとも適当に組み合わせることによって実現される回路である。すなわち、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)、プログラマブル論理デバイス(例えば、単純プログラマブル論理デバイス(Simple Programmable Logic Device:SPLD)、複合プログラマブル論理デバイス(Complex Programmable Logic Device:CPLD)、及びフィールドプログラマブルゲートアレイ(Field Programmable Gate Array:FPGA))等を含むものである。
【0013】
1.ハードウェア構成
本節では、本実施形態に係る作業機である自走式の芝刈りロボットのハードウェア構成について説明する。すなわち、本実施形態においては、作業機によって行われる作業は、芝刈りである。また、作業機は、自律走行可能な作業機であり、作業(芝刈り)に関する動作を制御するための情報処理システムの各部を備える。
【0014】
図1は、芝刈りロボット1の外観を示す図である。芝刈りロボット1は、筐体の内部にブレードディスク、タイヤ、それらを回転させるモータ及びバッテリー等を備える。芝刈りロボット1は、芝の生えたフィールドを駆動モータによって走行しながら、ブレードディスクを作業モータによって回転させて芝を所定の高さに刈り揃える。芝刈りロボット1は、自装置が備える前述した情報処理システムによりフィールド内の走行経路を自ら設定し、設定した走行経路を走行しながら芝刈りを行う。
【0015】
図2は、芝刈りロボット1の走行経路の一例を示す図である。図2では、長方形の形状をした作業対象領域A1が表されている。図2では、作業対象領域A1の短辺に沿った方向D1及び方向D3と、作業対象領域A1の長辺に沿った方向D2及び方向D4とが表されている。作業対象領域A1は、自領域の内外の境目となる境界B1を有する。作業対象領域A1においては、境界B1に沿ってワイヤーが埋設されているものとする。
【0016】
芝刈りロボット1は、2次元又は3次元空間におけるワイヤーの位置を認識することで、境界B1が形作る形状及び大きさ、すなわち作業対象領域A1の外周の形状及び大きさを認識する。芝刈りロボット1は、認識した作業対象領域A1の形状及び大きさに基づいて走行経路を設定する。芝刈りロボット1は、図2の例では、作業経路C1を設定している。作業経路C1は、作業対象領域A1の方向D1及び方向D4の角を出発地点P1としている。
【0017】
作業経路C1は、出発地点P1から方向D2に向けて出発し、境界B1に到達すると、方向D3に方向変換して芝刈りロボット1の幅の長さだけ移動してから方向D4に再度方向変換する経路となっている。作業経路C1は、このように2度の方向変換により、進行してきた経路に沿って折り返す経路となっている。折り返しの際に移動する方向(ここでは方向D3)のことを以下では「折返し方向」と言う。
【0018】
そして、作業経路C1は、方向D4に向けて進行し、境界B1に到達すると、方向D3を折返し方向として方向D2に折り返す経路となっている。作業経路C1は、このように折返し方向である方向D3に少しずつずれながら方向D2及び方向D4への移動を繰り返して往復する経路となっている。作業経路の設定方法の詳細は後ほど詳しく説明する。
【0019】
図3は、芝刈りロボット1のハードウェア構成を示す図である。芝刈りロボット1は、制御部11と、記憶部12と、通信部13と、センサ部14と、走行部15と、作業部16とを備える。
【0020】
(制御部11)
制御部11は、例えば不図示の中央処理装置(Central Processing Unit:CPU)である。制御部11は、記憶部12に記憶された所定のプログラムを読み出すことによって、芝刈りロボット1に係る種々の機能を実現する。すなわち、記憶部12に記憶されているソフトウェアによる情報処理が、ハードウェアの一例である制御部11によって具体的に実現されることで、制御部11に含まれる各機能部として実行されうる。これらについては、次節においてさらに詳述する。なお、制御部11は単一であることに限定されず、機能ごとに複数の制御部11を有するように実施してもよい。またそれらの組合せであってもよい。
【0021】
(記憶部12)
記憶部12は、前述の記載により定義される様々な情報を記憶する。これは、例えば、制御部11によって実行される芝刈りロボット1に係る種々のプログラム等を記憶するソリッドステートドライブ(Solid State Drive:SSD)等のストレージデバイスとして、あるいは、プログラムの演算に係る一時的に必要な情報(引数、配列等)を記憶するランダムアクセスメモリ(Random Access Memory:RAM)等のメモリとして実施されうる。記憶部12は、制御部11によって実行される芝刈りロボット1に係る種々のプログラムや変数等を記憶している。
【0022】
(通信部13)
通信部13は、芝刈りロボット1から種々の電気信号を外部の構成要素に送信可能に構成される。また、通信部13は、外部の構成要素から芝刈りロボット1への種々の電気信号を受信可能に構成される。さらに好ましくは、通信部13がネットワーク通信機能を有し、これによりインターネット等のネットワークを介して、芝刈りロボット1と外部機器との間で種々の情報を通信可能に実施してもよい。
【0023】
(センサ部14)
センサ部14は、芝刈りロボット1が処理のパラメータとして用いる各種の値を測定するセンサ群を有する。センサ部14は、例えば、測位センサ、方位センサ、角速度センサ、加速度センサ、ブレードディスクのトルクセンサ、ワイヤー検出センサ及び物体検知センサ等を備える。測位センサは、GPS(Global Positioning System)等により自装置の位置を測定する。方位センサは、自装置の向きを測定する。角速度センサは、自装置が回転する際の角速度を測定する。加速度センサは、自装置の加速度を測定する。ブレードディスクのトルクセンサは、芝刈りブレードの回転に伴うモータの負荷を検出する。この検出値に基づいて、前述した制御部11がブレードディスクの推定仕事量を算出する。ワイヤー検出センサは、図2の境界B1等に埋設されたワイヤーを検出する。物体検知センサは、ミリ波等を照射し、それを反射する物体を検知する。
【0024】
(走行部15)
走行部15は、タイヤ及びモータ等を備え、自装置を走行させる。走行部15は、制御部11により制御され、直進、後進及び方向転換等を行う。
【0025】
(作業部16)
作業部16は、ブレードディスク及びモータ等を備え、制御部11により制御され、ブレードディスクを回転させて芝を刈り込む。
【0026】
2.機能構成
本節では、本実施形態の機能構成について説明する。前述の通り、記憶部12に記憶されているソフトウェアによる情報処理がハードウェアの一例である制御部11によって具体的に実現されることで、制御部11に含まれる各機能部が実行されうる。
【0027】
図4は、芝刈りロボット1の機能構成を示す図である。芝刈りロボット1は、境界検知部111と、物体検知部112と、設定部113と、判定部114と、走行制御部115と、作業制御部116とを備える。境界検知部111は、自装置が作業を行う対象である作業対象領域の境界を検知する。境界検知部111は、例えば、図2の例であれば、まず、作業対象領域A1の外周に沿って埋設されたワイヤーを検知する。境界検知部111は、例えば、特開2016-208950号公報等に記載されているワイヤー方式での自律走行で用いられている周知技術を用いてワイヤーを検知する。
【0028】
そして、境界検知部111は、検知したワイヤーに沿って外周を走行することで、作業対象領域A1の境界B1を検知する。境界検知部111は、検知した境界B1の2次元又は3次元空間上の座標の集合で表された検知結果データを取得する。境界検知部111は「取得ステップ」を実行する機能の一例であり、検知結果データは「境界情報」の一例である。このようにして、情報処理システムにおける境界検知部111(取得部)は、自律走行可能な芝刈りロボット1(作業機)が対象とする作業領域の境界を示す境界情報を取得する。境界検知部111は、取得した検知結果データを設定部113に供給する。
【0029】
物体検知部112は、作業領域に存在する物体を検知する。物体検知部112は「検知ステップ」を実行する機能の一例である。作業対象領域には、芝刈りロボット1の進行を阻害する物体(すなわち障害物)が存在する場合がある。障害物は、例えば、石や岩などの自然物や、人が置き忘れた道具等の人工物である。物体検知部112は、境界B1に沿って埋設されたワイヤーも障害物として検知する。物体検知部112は、物体との距離が多少離れていてもその物体を検知することが可能である。物体検知部112は、検知した物体(障害物)の位置及び方向を示す物体情報を設定部113及び走行制御部115に供給する。
【0030】
設定部113は、境界検知部111により取得された境界情報に基づき、作業領域から未到達領域をなくすための作業機の経路を設定する。設定部113は「設定ステップ」を実行する機能の一例である。設定部113は、本実施形態では、次に述べる第1の経路設定方法及び第2の経路設定方法という2通りの方法で作業経路を設定する。第1の経路設定方法及び第2の経路設定方法は、いずれも、機械学習手法によって学習された学習済みモデルに基づいて経路を設定する方法である。
【0031】
第1の経路設定方法では、パターン化された複数種類の経路から選択可能なニューラルネットワーク(NN:Neural Network)を利用した機械学習方法が用いられる。NNとは、入力層、中間層、出力層といった多層のネットワーク構造を有する学習モデルである。NNによれば、入力データと出力データとの関係を示す学習データを用いて、誤差逆伝搬法等のアルゴリズムでネットワーク内部の複数のモデルパラメータが最適化されることにより、学習モデルを取得することができる。本実施形態では、第1の経路設定方法は、予め決められた複数の行動ルールから最適なものを選択するモデルをNNの手法により学習し、学習済みのモデルに基づいて経路を設定する方法である。
【0032】
第2の経路設定方法では、クラシファイアシステムを利用した機械学習方法が用いられる。クラシファイアシステムとは、条件部と行動部によって構成されるルール(クラシファイア)の集合であり、それらのルールに従い環境からの入力に対して行動を出力した結果に基づいてルールの適切さを学習するものである。本実施形態では、第2の経路設定方法は、一定距離走行するたびに環境情報を取得して最適な経路を設定するモデルをNXCS(Neural-network eXtended Classifier System)により学習し、学習済みのモデルに基づいて経路を設定する方法である。NXCSとは、条件部のマッチ判定にニューラルネットワークを用いることで,連続値環境に対応可能なクラシファイアシステムである。
【0033】
このように、第1の経路設定方法としてニューラルネットワークを用いることで、比較的単純な地形内での経路選択に関わる処理を簡便化でき、作業効率を向上できる。また、第2の経路設定方法としてクラシファイアシステムによる学習を併用することで、第1の経路設定方法では対応が困難な場面でも最適経路を設定でき、多様な地形で効率と作業品質を維持して作業が実行される。なお、第2の経路設定方法による作業が完了したと判断すると、第1経路設定方法に切り替わるように設定されることが望ましい。このように組み合わせることで、第1、第2の学習方法のそれぞれの特長が最大限に活かされ、無駄な処理負荷、処理時間を取り除き、作業効率が一層向上する。
【0034】
第1の経路設定方法は「第1の方法」の一例であり、第2の経路設定方法は「第2の方法」の一例である。第1の方法及び第2の方法は、上記の通り、異なる機械学習手法、本実施形態ではNN及びNXCSによってそれぞれ学習された学習済みモデルに基づいて、経路を設定する方法である。このように機械学習を用いることで、経路の設定を繰り返すほどより望ましい作業経路が設定されるようになる。
【0035】
設定部113は、第1の経路設定方法で経路を設定する場合、まず、境界検知部111から供給された境界情報を用いて経路を設定する。詳細には、設定部113は、作業機が進行と作業領域の境界における方向変換とを繰り返すルールにより、連続する経路を設定する方法を第1の方法として用いて経路を設定する。このようなルールを用いることで、作業対象領域の大きさが変化しても、進行する距離が長くなったり折返しの数が少し増えたりするだけで、作業経路の設定時の処理の負荷の変化を抑制することができる。
【0036】
また、設定部113は、初期の進行方向及び方向変換後の方向の少なくとも1つが異なる複数のルールを有し、当該複数のルールのうち作業品質が最も良好になるものを選んで経路を設定する方法を第1の方法として用いて経路を設定する。作業品質とは、作業機である芝刈りロボット1が行う作業の品質のことである。例えば、芝刈りロボット1が一定時間作業を行った場合に、作業が完了する領域が多いほど、作業の品質が高いと言える。
【0037】
つまり、例えば30分間作業し、領域面積全体の草刈り作業が完了した場合の作業品質と領域面積の半分しか草刈り作業が完了しない作業品質とでは、前者の作業品質の方が高いということである。なお、作業品質の評価方法はこれに限らない。例えば、領域面積全体の作業を完了するまでに要する時間が短いほど作業品質が高いものとしてもよいし、領域面積全体の作業を完了するまでに走行する距離が短いほど作業品質が高いものとしてもよい。いずれにしても、本実施形態では、前述したように複数のルールからいずれかを選べるようにすることで、ルールを1つに固定する場合に比べて、第1の経路設定方法で作業経路を設定した場合の作業品質を向上させることができる。もちろん、このように作業品質を向上させるべく選択設定された作業品質が、走行ルールや学習機能を備えずランダムに走行する場合の作業品質に比して各段に高い。
【0038】
複数のルールとは、例えば、作業対象領域が長方形である場合に、図2の例のように長辺に沿った方向及び短辺に沿った方向を初期の進行方向及び折返し方向としてそれぞれ用いるルールである。設定部113は、本実施形態では、以下の4つのルールを用いる。
ルール1:初期方向=方向D1、折返し方向=方向D4、折り返し後の進行方向=D3、障害物回避
ルール2:初期方向=方向D2、折返し方向=方向D3、折り返し後の進行方向=D4、障害物回避
ルール3:初期方向=方向D3、折返し方向=方向D2、折り返し後の進行方向=D1、障害物回避
ルール4:初期方向=方向D4、折返し方向=方向D1、折り返し後の進行方向=D2、障害物回避
【0039】
設定部113は、作業機の作業の開始地点において選択すると作業品質が最も高くなるルールを選択し、選択したルールに則って経路を設定する。例えば図2に示す作業対象領域A1において出発地点P1とする場合、ルール2(初期方向=方向D2、折返し方向=方向D3)であればA1の中を隅々まで進行可能なので作業品質が最も高くなる。そこで、設定部113は、ルール2を選択して作業経路C1を設定している。設定部113は、設定した作業経路を走行中にも例えば所定の距離を走行する度に作業品質が最も高くなるルールを選択し、選択するルールが作業経路の途中の位置で変化した場合は、その位置から新たなルールで作業経路を再設定する。
【0040】
設定部113は、作業前に設定した作業経路を芝刈りロボット1が走行するときに、障害物の回避ルールに則り経路設定を行う。設定部113は、物体検知部112から供給された物体情報を用いて、作業経路上に障害物があることを認識する。設定部113は、認識した障害物を迂回可能な場合は、その障害物を迂回して元の作業経路に戻る作業経路を再設定する。また、設定部113は、認識した障害物を迂回不可な場合(例えば迂回して元の作業経路に戻る前に作業対象領域の境界に達する場合)、迂回を開始した地点に戻ってその地点で折り返しを行う作業経路を再設定する。
【0041】
上記のとおり、設定部113は、第1の経路設定方法において作業経路の再設定を行う場合は、上記のルール1~4及び障害物の回避ルールのいずれかのルールを用いる。一方、設定部113は、第2の経路設定方法を用いた場合も作業経路の再設定を行うが、特定のルールに制限されることがない点で第1の経路設定方法と異なる。具体的には、設定部113は、作業機が所定の距離走行するたびに、境界検知部111により取得された境界情報及び物体検知部112により検知された物体の位置に基づいて経路を設定し直す方法を第2の経路設定方法として用いて経路を設定する。
【0042】
設定部113は、第2の経路設定方法を用いた場合、例えば経路の途中に障害物が見つかりそれまでの経路が通れなくなると、新たに最適な経路を設定する。つまり、障害物等により一旦到達できなくなった領域も、新たに設定される経路により到達することができるようになる可能性が生じる。このように、第2の経路設定方法を用いると、一度設定された経路は走行中に変更されない第1の経路設定方法が用いられる場合に比べて、到達することができない領域を減少させることができる。
【0043】
設定部113は、第1の経路設定方法で経路を設定した場合、設定した経路を示す経路情報を判定部114に供給する。判定部114は、経路の設定方法を第1の経路設定方法から第2の経路設定方法に切り替えるための切替条件が満たされているか否かを判定する。具体的には、判定部114は、第1の経路設定方法により設定される経路を用いたときの作業品質が所定の基準を満たすか否かを、切替条件として判定する。
【0044】
判定部114は、例えば、設定された経路において決まっている折り返す位置と、実際に走行して何らかの物体に突き当たった位置との差が閾値未満である場合に、所定の基準を満たすと判定する。判定部114は、反対に、前述した差が閾値以上である場合に、作業品質が所定の基準を満たさないと判定する。設定された経路のとおり走行した場合の位置から大きくずれるということは、例えば、経路上に障害物がある、又は、経路が平らではなく傾斜又は凹凸がありまっすぐ走行することができない等の理由が考えられる。
【0045】
いずれの場合も、設定された経路での作業品質が良好であることを期待することができないので、判定部114は、作業品質が所定の基準を満たさないと判定する。判定部114は、作業品質が所定の基準を満たさないと判定した場合は、その旨を設定部113に通知する。設定部113は、判定部114から通知を受け取った場合、すなわち、第1の経路設定方法により設定される経路を用いたときの作業品質が所定の基準を満たさない場合は、第2の経路設定方法により経路を設定する。
【0046】
走行制御部115は、自装置(芝刈りロボット1)の走行時の動作を制御する。走行制御部115は、自装置の位置及び向きを取得して、所定の方向に前進、後進及び方向転換等させるように自装置の走行動作を制御する。作業制御部116は、自装置(芝刈りロボット1)の作業時の動作を制御する。作業制御部116は、本実施形態では、走行中にブレードディスクを回転させて芝を刈る動作を制御する。芝刈りロボット1は、上述した各機能により、作業対象領域の経路を設定する経路設定処理を実行する。
【0047】
図5は、経路設定処理における動作手順を示す図である。経路設定処理は、例えば、芝刈りロボット1を作業対象領域の開始地点に配置することを契機に開始される。まず、芝刈りロボット1は、境界検知部111によって、例えば、作業対象領域の外周に沿って埋設されたワイヤーを検知することで、作業対象領域の境界を示す境界情報を取得する(ステップS11)。次に、芝刈りロボット1は、例えば、作業対象領域において向かい合う境界同士の距離が閾値未満である部分を「通路」として認識する。
【0048】
そして、芝刈りロボット1は、通路で区切られた領域を「部分領域」として認識する(ステップS12)。次に、芝刈りロボット1は、走行制御部115によって、認識した部分領域のうちの1つまで走行し、到達する(ステップS21)。芝刈りロボット1が到達した地点は、その部分領域における作業の開始地点となる。続いて、芝刈りロボット1は、設定部113によって、到達した部分領域が第2の経路設定方法の対象領域であるか否かを判断する(ステップS22)。
【0049】
作業対象領域における初回の作業においては、全ての部分領域が第1の経路設定方法の対象領域となっているものとする。よって、初回の作業においては、芝刈りロボット1は、設定部113によって、到達した部分領域が第2の経路設定方法の対象領域ではない(NO)と判断し、ステップS11において取得された境界情報に基づき、その部分領域について、第1の経路設定方法で作業経路を設定する(ステップS31)。
【0050】
続いて、芝刈りロボット1は、走行制御部115によって、ステップS21において設定された作業経路に沿って走行する(ステップS32)。次に、芝刈りロボット1は、一定距離を走行したか否かを判断する(ステップS33)。そして、芝刈りロボット1は、一定距離を走行した(YES)と判断すると、第1の経路設定方法によりルール1~4のいずれかを選択して作業経路を再設定する(ステップS34)。なお、芝刈りロボット1においては、一定距離を無限大又は非常に大きな数と設定することで、部分領域での作業中は再設定が行われないようにしてもよい。
【0051】
次に、芝刈りロボット1は、物体検知部112による物体の検知を繰り返し行い、障害物に接近したか否かを判断する(ステップS35)。障害物とは、芝刈りロボット1に接近する物体のうちワイヤーを除いた物である。芝刈りロボット1は、ステップS32で一定距離を走行していない(NO)と判断した場合もステップS35の判断を行う。芝刈りロボット1は、障害物に接近した(YES)と判断すると、設定部113及び走行制御部115によって、障害物の回避ルールに則り、障害物を迂回する作業経路を再設定する(ステップS36)。
【0052】
そして、芝刈りロボット1は、現在の部分領域において設定された作業経路の終点に到達したか否かを判断する(ステップS37)。芝刈りロボット1は、ステップS35でNOと判断した場合も、ステップS37の判断を行う。芝刈りロボット1は、ステップS37で作業経路の終点に到達していない(NO)と判断した場合、ステップS32に戻って動作を繰り返す。芝刈りロボット1は、ステップS37で作業経路の終点に到達した(YES)と判断した場合、次に、現在の部分領域の設定方法を切り替えるための条件である切替条件が満たされたか否かを判断する(ステップS41)。
【0053】
切替条件は、第1の経路設定方法により設定される経路を用いたときの作業品質が所定の基準を満たすか否かによって表される。本実施形態では、設定された経路において決まっている折り返す位置と、実際に走行して折り返した位置との差が距離閾値以上である箇所の数が個数閾値以上である場合に満たされる条件が切替条件として用いられる。例えば、個数閾値が1であれば、設定された折り返し位置と実際の折り返し位置との差が距離閾値以上である箇所が1つでもあれば、切替条件が満たされる。
【0054】
芝刈りロボット1は、ステップS41において切替条件が満たされた(YES)と判断した場合、現在の部分領域の作業経路の設定方法を切り替える(ステップS42)。芝刈りロボット1は、例えば、初回の作業で切り替えると判断した場合、現在の部分領域の設定方法を第1の経路設定方法から第2の経路設定方法に切り替えた旨を記憶しておく。芝刈りロボット1は、ステップS42の次に、又は、ステップS41において切替条件が満たされない(NO)と判断した場合、作業終了条件が満たされたか否かを判断する(ステップS43)。
【0055】
作業終了条件とは、芝刈りロボット1による作業対象領域での作業を終了させるための条件である。作業終了条件は、例えば、作業対象領域のうち未到達の領域の面積が全体の5%未満になった場合に満たされるものとする。この作業終了条件は、微小な刈り残しのために機械学習の難易度が極端に増大することを防ぐために用いられる。
【0056】
なお、図2及び図6に示す例のように作業対象領域が単純な形状である場合は、刈り残しがほとんど生じないので、作業終了条件として用いる値を5%より小さくしてもよいし、0%としてもよい。また、作業終了条件として用いる値を、初期値として例えば10%に設定しておき、学習量の増加に伴って徐々に、または段階的に減少させていく方法も採用できる。この方法によれば、作業に先んじて人的に詳細な条件設定を行うことを要さずに、学習内容に応じて最適な終了条件が設定される。
【0057】
芝刈りロボット1は、ステップS43において作業終了条件が満たされた(YES)と判断すると、この動作手順を終了する。芝刈りロボット1は、作業終了条件が満たされない(NO)と判断すると、設定部113及び走行制御部115によって、現在の部分領域に繋がる通路を通って次の部分領域に向けて移動する移動経路を設定し、設定した移動経路に沿って次の部分領域まで移動する(ステップS44)。
【0058】
芝刈りロボット1は、具体的には、移動のためのルール5又はルール6を用いて移動経路を設定する。
ルール5:作業対象領域の外周を右回りに進行し、通路の入り口に到達したらその通路に向けて進行し、次の部分領域に到達したら左右いずれかに曲がってその部分領域の角まで進行。
ルール6:ルール5の「右回り」を「左回り」に置き換え
設定部113は、ルール5及びルール6のうち、通路に到達するまでの走行距離が短い方を選んで経路設定に用いる。
【0059】
芝刈りロボット1は、次の部分領域まで移動した後は、ステップS21に戻って動作を続ける。ステップS11で開始されステップS43で作業が終了するまでの一連の作業を「エピソード」と言う。1つのエピソードが終了しても、時間が経過して草が伸びてくれば芝刈りロボット1による次のエピソードが開始される。2回目以降のエピソードにおいては、第2の経路設定方法の対象領域として切り替えられた部分領域が存在する場合がある。
【0060】
その場合、芝刈りロボット1は、設定部113によって、到達した部分領域が第2の経路設定方法の対象領域である(YES)と判断し、ステップS11において取得された境界情報に基づき、その部分領域について、第2の経路設定方法で作業経路を設定する(ステップS51)。続いて、芝刈りロボット1は、走行制御部115によって、ステップS51において設定された作業経路に沿って走行する(ステップS52)。芝刈りロボット1は、作業経路を走行中、物体検知部112による物体の検知を繰り返し行う。
【0061】
次に、芝刈りロボット1は、一定距離を走行したか否かを判断し(ステップS53)、走行した(YES)と判断するまでステップS53の動作を繰り返す。そして、芝刈りロボット1は、一定距離を走行したと判断すると、それまでに検知した物体の情報を加味して、第2の経路設定方法で作業経路を再設定する(ステップS54)。なお、芝刈りロボット1においては、ステップS53において、物体の接近を検知したか否かを判断し、物体が接近した(YES)と判断した場合に第2の経路設定方法で作業経路を再設定してもよい。
【0062】
芝刈りロボット1は、現在の部分領域において設定された作業経路の終点に到達したか否かを判断する(ステップS55)。芝刈りロボット1は、ステップS55で作業経路の終点に到達していない(NO)と判断した場合、ステップS52に戻って動作を繰り返す。芝刈りロボット1は、ステップS55で作業経路の終点に到達した(YES)と判断した場合、次に、現在の部分領域において切替条件が満たされたか否かを判断する(ステップS61)。第2の経路設定方法から第1の経路設定方法への切替条件としては、例えば、境界以外の物体として検知された障害物が全て迂回可能な形状、位置、大きさであった場合に満たされる条件が用いられる。
【0063】
作業の実施日が異なれば、障害物の状況も変化することがあるので、この切替条件が満たされることが起こりうる。芝刈りロボット1は、ステップS61において切替条件が満たされた(YES)と判断した場合、現在の部分領域の作業経路の設定方法を切り替える(ステップS62)。芝刈りロボット1は、ステップS62の次に、又は、ステップS61において切替条件が満たされない(NO)と判断した場合、作業終了条件が満たされたか否かを判断する(ステップS63)。
【0064】
芝刈りロボット1は、ステップS63において作業終了条件が満たされた(YES)と判断すると、この動作手順を終了する。芝刈りロボット1は、作業終了条件が満たされない(NO)と判断すると、設定部113及び走行制御部115によって、現在の部分領域に繋がる通路を通って次の部分領域に向けて移動する移動経路を設定し、設定した移動経路に沿って次の部分領域まで移動する(ステップS64)。以下、経路設定処理による作業経路の設定例を説明する。
【0065】
図6は、作業対象領域の第1の例を示す図である。図6では、長方形の部分領域A11と、部分領域A11に通路E12で接続された部分領域A13とを備える作業対象領域A10が表されている。図6には図2と同様の方向D1~D4が表されている。
【0066】
図7は、第1の経路設定方法により設定された経路の一例を示す図である。図7の例では、設定部113は、部分領域A11の方向D1及び方向D4の角を出発地点P11-1として作業経路を設定している。設定部113は、出発地点P11-1から上述したルール3(初期方向=方向D3、折返し方向=方向D2)に基づき作業経路C11-1を設定している。作業経路C11-1においては、部分領域A11の端の終了地点P12-1が作業経路の終点として設定されている。
【0067】
設定部113は、このように作業経路の終点に到達した場合、上記のルール5又はルール6を用いて移動経路を設定する。図7の例の場合、ルール6よりもルール5の方が通路E12までの走行距離が短くて済むので、設定部113は、ルール5を用いて、終了地点P12-1から通路E12に隣接する位置まで進行してそこから通路E12を通過する移動経路C12-1を設定する。また、設定部113は、部分領域A13の境界に到達したら右に曲がって部分領域A13の方向D2及び方向D3の角まで進行する移動経路C12-1を設定している。
【0068】
芝刈りロボット1は、走行制御部115によって、こうして設定された移動経路C12-1に沿って走行して部分領域A13に移動する。移動経路C12-1の終点は、次の作業経路の開始地点P13-1となる。図7の例では、芝刈りロボット1は、設定部113によって、ルール1(初期方向=方向D1、折返し方向=方向D4)を用いて開始地点P13-1からの作業経路C13-1を設定している。本実施形態では、芝刈りロボット1は、作業対象領域のうち未到達の領域の面積が全体の5%未満になった場合に作業終了条件が満たされたと判断する。
【0069】
作業対象領域A10において第2の経路設定方法を用いて設定された作業経路の例を図8に示す。
図8は、第2の経路設定方法により設定された経路の一例を示す図である。図8の例では、設定部113は、図7の例と同じ出発地点P11-2から、方向D3に向かって出発して境界に到達したあとに方向D2にずれて折返し、方向D1及び方向D3に往復しながら方向D2にずれていって終了地点P12-2に至る作業経路C11-2を設定している。
【0070】
また、設定部113は、終了地点P12-2から通路E12を通って部分領域A13の開始地点P13-2に至る移動経路C12-2を設定し、部分領域A13における作業経路C13-2を設定している。物体検知部112は、第2の経路設定方法を用いた場合、一定距離を走行する度に作業経路を設定し直している。ここで、参考のため、作業対象領域A10の全体について第1の経路設定方法で経路設定が行われた場合と第2の経路設定方法で経路設定が行われた場合との処理の負荷を比較する。
【0071】
図9は、作業対象領域A10における処理の負荷を示す図である。図9では、作業対象領域A10において作業経路を設定する処理が行われた場合のステップ数と処理時間とが表されている。いずれも数値が大きい方が処理の負荷が大きいことを表している。より詳細には、作業対象領域の全体の作業経路の開始地点から作業終了条件を満たすまでを1エピソードと呼び,未学習の状態から第1の経路設定方法及び第2の経路設定方法に用いるNN及びNXCSに対して学習しながら500エピソードを実施した。
【0072】
そして、500エピソードの実施を1試行とし、10試行のうち最良(ステップ数最小)、最悪(ステップ数最大)の試行に対する結果と、10試行のステップ数の平均値とを示した。第1の経路設定方法の場合、ステップ数が最小で2353.0、最大で8139.0、平均で2752.3であり、処理時間が平均で984.7秒であった。第2の経路設定方法の場合、ステップ数が最小で2366.0、最大で30076.0、平均で17243.6であり、処理時間が平均で1406.8秒であった。
【0073】
第2の経路設定方法では、次の部分領域への移動経路の設定が難しく、第1の経路設定方法に比べて平均ステップ数及び平均処理時間が大きくなっている。一方、第1の経路設定方法では、ルール1~10により効率よく走行できているため、第2の経路設定方法に比べて平均ステップ数及び平均処理時間が共に小さくなっている。このように、第1の経路設定方法は、第2の経路設定方法よりも処理の負荷が小さくなりやすくなっている。
【0074】
そして、芝刈りロボット1は、作業対象領域A10の場合、第1の経路設定方法だけで作業経路を設定するので、第2の経路設定方法を用いる場合に比べて、経路設定の処理の負荷が小さくなっている。このように、芝刈りロボット1は、基本的には処理の負荷が小さい第1の経路設定方法を用いておき、切替条件が満たされた場合だけ処理の負荷が大きい第2の経路設定方法を用いることで、基本の処理に第2の経路設定方法を用いる場合に比べて、作業経路を設定する際の処理の負荷を抑制することができる。
【0075】
次に、第2の経路設定方法への切り替えが行われる場合を説明する。
図10は、作業対象領域の第2の例を示す図である。図10では、長方形の部分領域A21と、部分領域A21に通路E22で接続された部分領域A23とを備える作業対象領域A20が表されている。部分領域A23には、渦巻状の壁F23が存在し、壁F23の内部領域A24が含まれている。図10には図2と同様の方向D1~D4が表されている。
【0076】
図11は、第1の経路設定方法により設定された経路の一例を示す図である。図11の例では、設定部113は、部分領域A21の方向D1及び方向D4の角を出発地点P21-1として作業経路を設定している。設定部113は、出発地点P21-1から上述したルール3(初期方向=方向D3、折返し方向=方向D2)に基づき作業経路C21-1を設定している。作業経路C21-1においては、部分領域A21の端の終了地点P22-1が作業経路の終点として設定されている。
【0077】
設定部113は、通路E22を通る移動経路C22-1を設定し、部分領域A23における開始地点P23-1から部分領域A23の作業経路C23-1を設定している。図11に表すように、第1の経路設定方法では、渦巻状の壁F23の内部領域A24の奥までは経路が設定できていない。これに対し、第2の経路設定方法では、内部領域A24の奥まで経路の設定が可能である。
【0078】
図12は、第2の経路設定方法により設定された経路の一例を示す図である。図12の例では、設定部113は、方向D1及び方向D4の角の出発地点P21-2から、部分領域A21の内部をくまなく走行する作業経路C21-2を設定している。また、設定部113は、通路E22を通って部分領域A21から部分領域A23に至る移動経路C22-2を設定し、部分領域A23における作業経路C23-2を設定している。さらに、設定部113は、渦巻状の壁F23の内部領域A24の奥に至る作業経路C24-2を設定している。
【0079】
図13は、経路設定処理により設定された経路の一例を示す図である。図13の例では、設定部113は、方向D1及び方向D4の角の出発地点P21-3から、第1の経路設定方法におけるルール2(初期方向=方向D2、折返し方向=方向D3)を用いて作業経路C21-3を設定している。また、設定部113は、作業経路C21-3の終了地点から部分領域A23に移動する移動経路C22-3を設定している。そして、設定部113は、第2の経路設定方法を用いて部分領域A23における作業経路C23-3と、壁F23の内部領域A24の奥に至る作業経路C24-3を設定している。
【0080】
作業対象領域A20の場合、部分領域A23に障害物となる壁F23が存在するため、部分領域A23においては第1の経路設定方法から第2の経路設定方法への切替条件が満たされるものとする。そのため、設定部113は、初回は部分領域A21及び部分領域A23の両方を第1の経路設定方法で作業経路を設定し、2回目以降は部分領域A23を第2の経路設定方法で作業経路を設定する。このように経路設定方法を切り替えることで、切り替えを行わない場合に比べて、未到達の領域を減らすことができる。
【0081】
図14は、第2の例における処理の負荷を示す図である。図14では、作業対象領域A20において作業経路を設定する処理が行われた場合のステップ数と処理時間とが表されている。図14においても、500エピソードの実施を1試行とし、10試行のうち最良(ステップ数最小)、最悪(ステップ数最大)の試行に対する結果と、10試行のステップ数の平均値とを示した。第1の経路設定方法の場合、ステップ数が最小で2433.0、最大で8059.8、平均で2908.3であり、処理時間が平均で7458.3秒であった。第2の経路設定方法の場合、ステップ数が最小で2386.7、最大で30054.7、平均で17131.2であり、処理時間が平均で85616.8秒であった。
【0082】
また、部分領域A21が第1の経路設定方法で部分領域A23が第2の経路設定方法の場合、ステップ数が最小で2460.7、最大で12881.7、平均で5580.8であり、処理時間が平均で50605.1秒であった。以上の通り、第1の経路設定方法だけを用いれば処理の負荷は小さくなるが未到達の領域が残りやすい。また、第2の経路設定方法だけを用いれば未到達の領域は少なくなるが処理の負荷が大きくなる。そこで、本実施形態では、基本は第1の経路設定方法を用いるが領域によっては第2の経路設定方法を用いている。
【0083】
これにより、未到達領域を少なくしつつ、処理の負荷が増大することを抑制している。特に、芝刈りロボット1のように自律走行が可能な作業機に情報処理のハードウェア資源を搭載する場合、資源の量に制限があり処理可能な負荷の上限が生じやすい。本実施形態では、そのように処理の負荷に上限がある場合でも、第1の経路設定方法及び第2の経路設定方法を使い分けることで、未到達領域を少なくし、作業領域において作業品質が高い経路が設定される可能性を向上させることができる。
【0084】
4.その他
芝刈りロボット1に例示される作業機に関して、以下のような態様を採用してもよい。
【0085】
(1)以上の実施形態では、芝刈りロボット1の構成として説明したが、コンピュータに、情報処理システムの各ステップ(図5に表す各ステップ)を実行させるプログラムが提供されてもよい。また、そのコンピュータは、芝刈りロボット1が備えていてもよいし、芝刈りロボット1とは別のサーバ又はクラウドコンピューティングのリソース等の外部装置が備えていてもよい。
【0086】
(2)実施形態では、最適な経路を設定するモデルの機械学習の手法としてNN(Neural Network)及びNXCS(Neural-network XCS)が用いられたが、他の機械学習の手法が用いられてもよい。他の機械学習の手法としては、例えば、XCS(eXtended Classifier System)、SVM(Support Vector Machine)、Deep Learning、CNN(Convolutional Neural Network)、RNN(Recurrent Neural Network)、PCA(Principal Component Analysis)等が用いられてもよい。
【0087】
(3)設定部113は、実施形態では、機械学習手法によって学習された学習済みモデルに基づいて経路を設定する経路設定方法を用いたが、機械学習を用いずに定められた経路設定方法を用いてもよい。そのような経路設定方法としては、例えば、人が考えたアルゴリズムにより経路を設定する方法や、AI(Artificial Intelligence)のうち機械学習以外の手法により作成された経路設定方法などである。
【0088】
(4)判定部114は、実施形態とは異なる切替条件を用いてもよい。判定部114は、例えば、設定された作業経路の長さに応じて切替条件を満たすか否かを判定してもよい。一般的には、作業経路の長さが短いほど作業機の消費電力が少なくなり作業品質が高いことを表す。そこで、判定部114は、例えば、作業経路の重なりが全くない理想の作業経路の全長を算出しておき、その全長に対する設定された作業経路の長さの割合を算出する。この割合は、1に近いほど作業品質が高く、1から離れるほど作業品質が低いことを表す。判定部114は、算出された割合が閾値以上である場合に切替条件を満たすと判断する。
【0089】
また、判定部114は、設定された作業経路における方向変換の回数に応じて切替条件を満たすか否かを判定してもよい。一般的には、方向変換の回数が少ないほど方向変換時の時間のロスが少なくなり作業品質が高いことを表す。そこで、判定部114は、例えば、方向変換の回数が最小になる作業経路における方向変換の回数を算出しておき、その回数に対する設定された作業経路における方向変換の回数の割合を算出する。この割合も、1に近いほど作業品質が高く、1から離れるほど作業品質が低いことを表す。判定部114は、算出された割合が閾値以上である場合に切替条件を満たすと判断する。
【0090】
また、判定部114は、設定された作業経路に含まれる到達済領域の割合に応じて切替条件を満たすか否かを判定してもよい。上記の到達済領域の割合とは、設定された作業経路を全て走行した作業機が実際に到達した作業済みの領域のことである。到達済領域の割合が小さいほど無駄な走行が少なくなり作業品質が高いことを表す。判定部114は、例えば、自機に設けられたブレードディスクを回転させるモータの負荷量を検出することによって到達済領域の割合を算出する。
【0091】
モータの負荷量は、ブレードディスクの幅一杯に草を刈っている状態で最大となり、ブレードディスクの幅に対して到達済領域が多く含まれるほど小さくなる。判定部114は、例えば、走行距離とモータの負荷量とを対応付けたグラフを作成し、モータの負荷量の最大値との差分を集めた面積が閾値以上である場合に切替条件を満たすと判断する。なお、到達済領域を再度走行する距離を累積して、累積した距離が閾値に達した場合に切替条件が満たされると判定してもよい。
【0092】
また、判定部114は、そうして累積した距離を、未到達領域を走行した距離に応じて減少させてもよい。判定部114は、前述したモータの負荷量を検出することによって未到達領域を走行した距離を算出する。未到達領域そうすることで、累積した距離を減少させない場合に比べて、作業経路の品質が次第に向上しているのに途中で経路設定方法が切り替わるということが生じにくくなる。
【0093】
なお、判定部114は、前述した距離の代わりに到達済領域を再度走行する時間を累積して同様に判定を行ってもよい。また、判定部114は、境界検知部111により検知された境界の形状の複雑さの度合いが所定の基準を超える場合に切替条件が満たされると判定してもよい。これは、境界の形状が複雑であるほど、第1の経路設定方法で用いるルールでは作業品質が良好な経路を設定することが困難になると思われるからである。
【0094】
判定部114は、要するに、第1の経路設定方法では良好な経路を設定することが困難である可能性が高い状況において満たされる条件を切替条件として用いればよい。さらに言えば、判定部114は、第1の経路設定方法では困難だが、第2の経路設定方法では良好な経路を設定することができそうな状況において満たされる条件を切替条件として用いるとよい。そのような切替条件が用いられることで、実施形態と同様に、作業領域において作業品質が高い経路が設定される可能性を向上させることができる。
【0095】
(5)設定部113は、実施形態と異なる作業終了条件を用いてもよい。設定部113は、例えば、所定の時間が経過した場合に満たされる条件又は作業機のバッテリーが所定の量まで減少した場合に満たされる条件を作業終了条件として用いてもよい。設定部113は、要するに、作業対象領域における作業が概ね完了したと言える状況になった場合に満たされる条件を作業終了条件として用いればよい。
【0096】
(6)作業機によって行われる作業は、芝刈りに限らず、例えば、自律走行可能な農業用ロボットによる耕運、肥料散布又は薬剤散布等であってもよいし、自律走行可能な掃除機ロボットによる掃除であってもよい。
【0097】
さらに、次に記載の各態様で提供されてもよい。
前記情報処理システムにおいて、前記第1の方法は、前記第2の方法よりも処理の負荷が小さくなりやすい、もの。
前記情報処理システムにおいて、前記第1の方法は、前記作業機が進行と前記作業領域の境界における方向変換とを繰り返すルールにより、連続する経路を設定する方法である、もの。
前記情報処理システムにおいて、前記第1の方法は、初期の進行方向及び方向変換後の方向の少なくとも1つが異なる複数の前記ルールを有し、当該複数のルールのうち作業品質が最も良好になるものを選んで経路を設定する方法である、もの。
前記情報処理システムにおいて、前記作業品質が、設定された前記経路の長さ、当該経路における方向変換の回数、当該経路に含まれる到達済領域の割合のいずれかで表される、もの。
前記情報処理システムにおいて、未到達領域又は到達済領域の割合は、作業機に設けられたモータの負荷量を検出することによって算出される、もの。
前記情報処理システムにおいて、検知ステップでは、前記作業領域に存在する物体を検知し、前記第2の方法は、前記作業機が所定の距離を走行するたびに、取得された前記境界情報及び検知された前記物体の位置に基づいて前記経路を設定し直す方法である、もの。
前記情報処理システムにおいて、前記第1の方法及び前記第2の方法は、異なる機械学習手法によってそれぞれ学習された学習済みモデルに基づいて、経路を設定する方法である、もの。
前記情報処理システムにおいて、前記第1の方法では、パターン化された複数種類の経路から選択可能なニューラルネットワークを利用した機械学習方法が用いられ、前記第2の方法では、クラシファイアシステムを利用した機械学習方法が用いられる、もの。
前記情報処理システムにおいて、前記作業機によって行われる作業は、芝刈りである、もの。
自律走行可能な作業機であって、前記情報処理システムの各ステップを実行するように構成される、もの。
プログラムであって、コンピュータに、前記情報処理システムの各ステップを実行させる、もの。
もちろん、この限りではない。
【0098】
最後に、本発明に係る種々の実施形態を説明したが、これらは、例として提示したものであり、発明の範囲を限定することは意図していない。当該新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。当該実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【0099】
1 :芝刈りロボット
11 :制御部
12 :記憶部
13 :通信部
14 :センサ部
15 :走行部
16 :作業部
111 :境界検知部
112 :物体検知部
113 :設定部
114 :判定部
115 :走行制御部
116 :作業制御部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14