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

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

▶ 日立オムロンターミナルソリューションズ株式会社の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022185941
(43)【公開日】2022-12-15
(54)【発明の名称】農業支援システム及び移動体
(51)【国際特許分類】
   A01B 69/00 20060101AFI20221208BHJP
   G05D 1/02 20200101ALN20221208BHJP
【FI】
A01B69/00 303K
A01B69/00 303G
A01B69/00 303M
A01B69/00 303P
G05D1/02 N
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2021093883
(22)【出願日】2021-06-03
(71)【出願人】
【識別番号】504373093
【氏名又は名称】日立チャネルソリューションズ株式会社
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】前田 雄希
(72)【発明者】
【氏名】今井 和英
(72)【発明者】
【氏名】岡戸 信二
(72)【発明者】
【氏名】忠政 明博
【テーマコード(参考)】
2B043
5H301
【Fターム(参考)】
2B043AA04
2B043AB20
2B043BA09
2B043BB20
2B043DA17
2B043DC03
2B043EA12
2B043EA32
2B043EA35
2B043EA37
2B043EB04
2B043EB05
2B043EB08
2B043EB10
2B043EB15
2B043EB16
2B043EB17
2B043EB18
2B043EB30
2B043EC14
2B043EC15
2B043ED03
2B043ED15
5H301AA03
5H301AA10
5H301BB01
5H301BB14
5H301CC03
5H301CC06
5H301CC10
5H301DD07
5H301DD15
5H301GG07
5H301GG08
5H301GG10
5H301GG17
5H301HH10
(57)【要約】
【課題】農場内を自律走行する移動体が、畝間から隣接する畝間へ移動する場合に、畝の一部が崩壊してしまう可能性を低下できる農業支援システム及び移動体を提供する。
【解決手段】農業支援システムは、互いに通信可能に構成された、サーバと、複数の列状の畝及び畝間が並ぶように形成された農場を走行可能なロボットとを含む。ロボットは、
ロボットが畝間を自律的に走行するようにモータを制御する制御装置を備える。制御装置は、移動体の左側及び右側の物体の検出結果に基づいて、一の畝間から一の畝間に隣接する畝間へ自律的に移動するように、モータを制御するように構成される。
【選択図】図19
【特許請求の範囲】
【請求項1】
互いに通信可能に構成された、情報処理装置と、複数の列状の畝及び畝間が並ぶように形成された農場を走行可能な移動体とを含む農業支援システムであって、
前記移動体は、
前記情報処理装置と通信可能な通信装置と、
複数の前記畝及び前記畝間に関する位置を含む畝情報を含む、前記農場に対応する農場マップが格納された記憶部と、
前記移動体の周囲の物体に関する物体情報を取得することにより物体を検知する第1情報取得装置と、
前記移動体の状態に関する移動体情報を取得する第2情報取得装置と、
前記移動体の位置を示す自己位置情報を取得する位置情報取得装置と、
前記移動体を所望の進行方向に走行させることが可能な走行装置と、
前記農場マップ、前記物体情報、前記移動体情報及び前記自己位置情報に基づいて、前記移動体が前記畝間を自律走行するように前記走行装置を制御する制御装置と、
を備え、
前記制御装置は、
前記移動体が一の前記畝間を走行しているときに、前記第1情報取得装置が、前記移動体の左側及び右側に前記畝を検知している畝検知状態から前記移動体の左側及び右側に前記畝を検知していない畝未検知状態になった場合、
前記移動体が、前記第1情報取得装置が前記畝未検知状態になった時点の位置から第1距離だけ直進して第1旋回位置まで移動し、前記第1旋回位置で旋回した後、前記移動体の左側及び右側のうちの一方の側のみに前記畝が存在する位置に向かって、複数の前記畝が並ぶ方向に沿って直進する第1直進動作を行うように、前記走行装置を制御し、
更に、前記制御装置は、
前記第1情報取得装置が、前記移動体の前記一方の側のみに前記畝を検知している状態から前記移動体の左側及び右側に前記畝を検知していない前記畝未検知状態になった場合、
前記移動体が、前記畝未検知状態になった時点の位置から第2距離だけ直進して第2旋回位置まで移動し、前記第2旋回位置で旋回した後、前記一の前記畝間に隣接する前記畝間に向かって直進する第2直進動作を行うように、
前記走行装置を制御する、
ように構成された、
農業支援システム。
【請求項2】
互いに通信可能に構成された、情報処理装置と、複数の列状の畝及び畝間が並ぶように形成された農場を走行可能な移動体とを含む農業支援システムであって、
前記移動体は、
前記情報処理装置と通信可能な通信装置と、
複数の前記畝及び前記畝間に関する位置を含む畝情報を含む、前記農場に対応する農場マップが格納された記憶部と、
前記移動体の周囲の物体に関する物体情報を取得するための第1情報取得装置と、
前記移動体の状態に関する移動体情報を取得するための第2情報取得装置と、
前記移動体の位置を示す自己位置情報を取得する位置情報取得装置と、
前記移動体を所望の進行方向に走行させることが可能な走行装置と、
前記農場マップ、前記物体情報、前記移動体情報及び前記自己位置情報に基づいて、前記移動体が前記畝間を自律走行するように前記走行装置を制御する制御装置と、
を備え、
前記農場には、第1旋回位置から第1所定距離だけ離れた位置に設置された第1マーカ及び第2旋回位置から第2所定距離だけ離れた位置に設置された第2マーカが設置され、
前記制御装置は、
前記移動体が一の前記畝間を走行しているときに、前記第1情報取得装置によって、前記物体情報として前記第1マーカと前記移動体との間の距離である第1マーカ距離を取得し、
前記第1マーカ距離及び前記第1所定距離に基づいて、前記移動体が前記第1旋回位置に到達したと判定した場合、
前記移動体が前記第1旋回位置で旋回した後、前記移動体の左側及び右側のうちの一方の側のみに前記畝が存在する位置に向かって、複数の前記畝が並ぶ方向に沿って直進するように、前記走行装置を制御し、
前記第1情報取得装置によって、前記物体情報として前記第2マーカと前記移動体との間の距離である第2マーカ距離を取得し、
前記第2マーカ距離及び前記第2所定距離に基づいて、前記移動体が前記第2旋回位置に到達したと判定した場合、前記移動体が前記第2旋回位置で旋回した後、前記一の前記畝間に隣接する前記畝間に向かって直進するように、前記走行装置を制御する、
ように構成された、
農業支援システム。
【請求項3】
請求項1又は請求項2に記載の農業支援システムにおいて、
前記情報処理装置は、前記農場マップが格納された記憶装置を更に備え、
前記移動体は、前記移動体の周辺を撮像して撮像画像を取得する撮像装置を更に備え、
前記制御装置は、
前記撮像装置から前記撮像画像を受信し、
前記撮像画像と、前記撮像画像を取得した時刻を示す時刻情報と、前記撮像画像を取得した位置を示す画像取得位置情報と、を対応付けたデータセットを、前記通信装置を介して前記情報処理装置に送信するように構成され、
前記情報処理装置は、
前記画像取得位置情報に基づいて、前記撮像画像と前記時刻情報とを前記農場マップに対応付けて前記記憶装置に保存する、
ように構成された、
農業支援システム。
【請求項4】
請求項3に記載の農業支援システムにおいて、
前記制御装置は、
前記撮像装置から前記撮像画像を受信した場合、前記情報処理装置から前記通信装置を介して、前記情報処理装置の前記記憶装置に保存されている、前記撮像画像を取得した位置に対応する前記撮像画像である保存画像を前記情報処理装置から取得し、
前記撮像画像と前記保存画像とを比較することにより、前記撮像画像内に存在する物体が、防草対象物体及び障害物の何れであるか否かを判定し、
判定結果に基づいて、前記移動体の走行を制御する、
ように構成された、
農業支援システム。
【請求項5】
請求項4に記載の農業支援システムにおいて、
前記制御装置は、
前記撮像画像内に存在する物体が、前記防草対象物体である場合、前記移動体の走行を継続し、
前記撮像画像内に存在する物体が、前記障害物である場合、前記移動体の走行を停止するように、前記走行装置を制御する、
ように構成された、
農業支援システム。
【請求項6】
請求項1又は請求項2に記載の農業支援システムにおいて、
前記制御装置は、
前記移動体情報及び前記自己位置情報に基づいて、前記移動体がスタック状態にあると判定した場合、前記移動体がスタック状態を解消するための所定のスタック解消動作を前記移動体に実行させるように、前記走行装置を制御する、
ように構成された、
農業支援システム。
【請求項7】
請求項1又は請求項2に記載の農業支援システムにおいて、
前記移動体は、前記第1情報取得装置として、レーザ光を出射する出射部を備えたセンサを備え、
前記センサは、前記出射部の向きを自在に変えることができるように、前記移動体に対して可動するように前記移動体に取り付けられている、
農業支援システム。
【請求項8】
請求項1又は請求項2に記載の農業支援システムにおいて、
前記情報処理装置及び前記移動体と通信可能な情報端末を更に含み、
前記情報端末は、前記移動体から移動体の状態を示す情報を取得する、
ように構成された、
農業支援システム。
【請求項9】
請求項1又は請求項2に記載の農業支援システムにおいて、
前記制御装置は、
前記移動体の向きが前記畝の列方向に対して垂直になるまで、前記第1移動体が前記第1旋回位置で旋回するように、前記走行装置を制御し、
前記移動体の向きが前記畝の列方向に対して平行になるまで、前記第1移動体が前記第2旋回位置で旋回するように、前記走行装置を制御する、
ように構成された、
農業支援システム。
【請求項10】
請求項1に記載の農業支援システムにおいて、
前記制御装置は、
前記移動体が前記第1旋回位置で旋回する前に、前記第1情報取得装置が、前記移動体の左側及び右側に物体を検知していないか否かを判定し、
前記第1情報取得装置が、前記移動体の左側及び右側に物体を検知していない場合に、前記移動体が前記第1直進動作を行うように、前記走行装置を制御し、
前記第1情報取得装置が、前記移動体の左側及び右側の少なくとも一方の側に物体を検知している場合、前記移動体を停止させるように、前記走行装置を制御し、
前記移動体が前記第2旋回位置で旋回する前に、前記第1情報取得装置が、前記移動体の左側及び右側に物体を検知していないか否かを判定し、
前記第1情報取得装置が、前記移動体の左側及び右側に物体を検知していない場合に、前記移動体が前記第2直進動作を行うように、前記走行装置を制御し、
前記第1情報取得装置が、前記移動体の左側及び右側の少なくとも一方の側に物体を検知している場合、前記移動体を停止させるように、前記走行装置を制御する、
ように構成された、
農業支援システム。
【請求項11】
請求項1に記載の農業支援システムにおいて、
前記制御装置は、前記自己位置情報及び前記農場マップに基づいて、前記一の前記畝間と前記一の前記畝間を延長した場合の延長範囲とからなる畝想定範囲であって、前記移動体が前記畝想定範囲に存在する場合、前記第1情報取得装置によって前記一の前記畝間を挟む2つの前記畝の少なくとも一つが検知できると想定される前記畝想定範囲を特定し、
前記自己位置情報に基づいて、前記移動体が前記畝想定範囲外に存在するか否かを判定し、
前記第1情報取得装置が、前記移動体の左側及び右側の少なくとも一方の側に前記畝以外の物体を検知している状態である場合において、前記移動体が前記畝想定範囲外に存在する場合、前記移動体が異常状態であると判定する、
ように構成された、
農業支援システム。
【請求項12】
請求項1に記載の農業支援システムにおいて、
前記制御装置は、
前記自己位置情報及び前記農場マップに基づいて、前記一の前記畝間及び前記一の前記畝間を延長した場合の延長範囲とからなる畝端想定範囲であって、前記移動体が前記畝端想定範囲に存在する場合、前記第1情報取得装置によって前記一の前記畝間を挟む2つの前記畝のうちの少なくとも一つの前記畝の畝端が検知できると想定される前記畝端想定範囲を特定し、
前記移動体が前記一の前記畝間を走行しているときに、前記第1情報取得装置が、前記畝検知状態から前記畝未検知状態になった場合、前記自己位置情報に基づいて、前記移動体が前記畝端想定範囲内に存在するか否かを判定し、
前記移動体が前記畝端想定範囲内に存在する場合、前記移動体が異常状態であると判定する、
ように構成された、
農業支援システム。
【請求項13】
請求項1に記載の農業支援システムにおいて、
前記制御装置は、
前記自己位置情報及び前記農場マップに基づいて、前記一の前記畝間に隣接する前記畝間を延長した場合の延長範囲であり、当該延長範囲内に前記移動体が存在する場合に前記第1情報取得装置によって前記畝が検知できないと想定される畝間想定範囲を特定し、
前記第1情報取得装置が、前記移動体の左側及び右側の少なくとも一方の側に前記畝以外の物体を検知している状態である場合において、前記移動体が前記畝間想定範囲内に存在する場合、前記移動体が異常状態であると判定する、
ように構成された、
農業支援システム。
【請求項14】
請求項2に記載の農業支援システムにおいて、
前記制御装置は、
前記自己位置情報及び前記農場マップに基づいて、前記第1情報取得装置によって前記第1マーカが検知可能であると想定される第1マーカ検知想定範囲及び前記第1情報取得装置によって前記第2マーカが検知可能であると想定される第2マーカ検知想定範囲を特定し、
前記第1情報取得装置によって前記第1マーカ距離が取得できている場合において、前記移動体が前記第1旋回位置に到達したと判定される前に、前記自己位置情報に基づいて、前記移動体が前記第1マーカ検知想定範囲外に存在するか否かを判定し、
前記移動体が前記第1マーカ検知想定範囲外に存在する場合、前記移動体が異常状態であると判定し、
前記第1情報取得装置によって前記第2マーカ距離が取得できている場合において、前記移動体が前記第2旋回位置に到達したと判定される前に、前記自己位置情報に基づいて、前記移動体が前記第2マーカ検知想定範囲外に存在するか否かを判定し、
前記移動体が前記第2マーカ検知想定範囲外に存在する場合、前記移動体が異常状態であると判定する、
ように構成された、
農業支援システム。
【請求項15】
外部の情報処理装置と互いに通信可能に構成され、複数の列状の畝及び畝間が並ぶように形成された農場を走行可能な移動体であって、
前記情報処理装置と通信可能な通信装置と、
複数の前記畝及び前記畝間に関する位置を含む畝情報を含む、前記農場に対応する農場マップが格納された記憶部と、
前記移動体の周囲の物体に関する物体情報を取得することにより物体を検知する第1情報取得装置と、
前記移動体の状態に関する移動体情報を取得する第2情報取得装置と、
前記移動体の位置を示す自己位置情報を取得する位置情報取得装置と、
前記移動体を所望の進行方向に走行させることが可能な走行装置と、
前記農場マップ、前記物体情報、前記移動体情報及び前記自己位置情報に基づいて、前記移動体が前記畝間を自律走行するように前記走行装置を制御する制御装置と、
を備え、
前記制御装置は、
前記移動体が一の前記畝間を走行しているときに、前記第1情報取得装置が、前記移動体の左側及び右側に前記畝を検知している畝検知状態から前記移動体の左側及び右側に前記畝を検知していない畝未検知状態になった場合、
前記移動体が、前記第1情報取得装置が前記畝未検知状態になった時点の位置から第1距離だけ直進して第1旋回位置まで移動し、前記第1旋回位置で旋回した後、前記移動体の左側及び右側のうちの一方の側のみに前記畝が存在する位置に向かって、複数の前記畝が並ぶ方向に沿って直進する第1直進動作を行うように、前記走行装置を制御し、
更に、前記制御装置は、
前記第1情報取得装置が、前記移動体の前記一方の側のみに前記畝を検知している状態から前記移動体の左側及び右側に前記畝を検知していない前記畝未検知状態になった場合、
前記移動体が、前記畝未検知状態になった時点の位置から第2距離だけ直進して第2旋回位置まで移動し、前記第2旋回位置で旋回した後、前記一の前記畝間に隣接する前記畝間に向かって直進する第2直進動作を行うように、
前記走行装置を制御する、
ように構成された、
移動体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、農業支援システム及び移動体に関する。
【背景技術】
【0002】
近年、農作業の省力化や効率化を図り、既存の農業従事者の作業負荷を軽減すると共に、新規就農者の参入を促して農業技術の継承につなげる試みとして、スマート農業の導入が進められている。スマート農業では、ロボット技術や情報通信技術を活用することによって、農作業の省力化や効率化等が実現される。
【0003】
例えば特許文献1には、農場や農作業ロボット等に配置されたカメラやセンサによって取得されたデータをサーバで解析し、農作業者及び農作業ロボットの作業を支援するための情報を出力するシステム(以下、「従来システム」と称呼される。)が開示されている。
【0004】
従来システムは、農場内を移動する農作業ロボットによって取得された農場や農作物に関する様々なデータに基づいて、農作業者及び農作業ロボットによる農作業を支援できる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2019-82765号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来システムでは、農作業ロボットは、農場における農作業者の作業状況をカメラによって撮影することを目的とすることから、例えば農作業者の後方に位置して農作業者と共に移動する。このため、農作業ロボットが農場や農作物に関するデータを取得する際には、農作業者が農場で作業していることが前提であり、農作業者が作業していない間はデータを取得することができず、農作業者の負担を軽減できないという問題がある。この問題を解決するために、農作業者がいなくても、農場内を自律走行しながら農場のデータを取得する移動体を用いた農業支援システムが求められている。
【0007】
このような農業支援システムが適用される農場には、例えば、列状の複数の畝と、畝と畝との間の畝間とが交互に並ぶように形成される。移動体は、一つの畝間を走行し終わると隣接する畝間へ移動することを繰り返し、農場内の全ての畝間を自律的に走行する。しかし、移動体が一つの畝間を走行し終わり畝間から出た後、適切な位置で曲がることができなかった場合、移動体が畝と接触したり畝に乗り上げたりすることにより、畝の一部が崩壊してしまうことが生じ得る。
【0008】
本発明は、上述した課題に対処するためになされた。即ち、本発明の目的の一つは、農場内を自律走行する移動体が、畝間から隣接する畝間へ移動する場合に、畝の一部が崩壊してしまう可能性を低下できる農業支援システム及び移動体を提供することにある。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明は、互いに通信可能に構成された、情報処理装置と、複数の列状の畝及び畝間が並ぶように形成された農場を走行可能な移動体とを含む農業支援システムであって、前記移動体は、前記情報処理装置と通信可能な通信装置と、複数の前記畝及び前記畝間に関する位置を含む畝情報を含む、前記農場に対応する農場マップが格納された記憶部と、前記移動体の周囲の物体に関する物体情報を取得することにより物体を検知する第1情報取得装置と、前記移動体の状態に関する移動体情報を取得する第2情報取得装置と、前記移動体の位置を示す自己位置情報を取得する位置情報取得装置と、前記移動体を所望の進行方向に走行させることが可能な走行装置と、前記農場マップ、前記物体情報、前記移動体情報及び前記自己位置情報に基づいて、前記移動体が前記畝間を自律走行するように前記走行装置を制御する制御装置と、を備え、前記制御装置は、前記移動体が一の前記畝間を走行しているときに、前記第1情報取得装置が、前記移動体の左側及び右側に前記畝を検知している畝検知状態から前記移動体の左側及び右側に前記畝を検知していない畝未検知状態になった場合、前記移動体が、前記第1情報取得装置が前記畝未検知状態になった時点の位置から第1距離だけ直進して第1旋回位置まで移動し、前記第1旋回位置で旋回した後、前記移動体の左側及び右側のうちの一方の側のみに前記畝が存在する位置に向かって、複数の前記畝が並ぶ方向に沿って直進する第1直進動作を行うように、前記走行装置を制御し、更に、前記制御装置は、前記第1情報取得装置が、前記移動体の前記一方の側のみに前記畝を検知している状態から前記移動体の左側及び右側に前記畝を検知していない前記畝未検知状態になった場合、前記移動体が、前記畝未検知状態になった時点の位置から第2距離だけ直進して第2旋回位置まで移動し、前記第2旋回位置で旋回した後、前記一の前記畝間に隣接する前記畝間に向かって直進する第2直進動作を行うように、前記走行装置を制御する、ように構成されている。
【0010】
本発明は、互いに通信可能に構成された、情報処理装置と、複数の列状の畝及び畝間が並ぶように形成された農場を走行可能な移動体とを含む農業支援システムであって、前記移動体は、前記情報処理装置と通信可能な通信装置と、複数の前記畝及び前記畝間に関する位置を含む畝情報を含む、前記農場に対応する農場マップが格納された記憶部と、前記移動体の周囲の物体に関する物体情報を取得するための第1情報取得装置と、前記移動体の状態に関する移動体情報を取得するための第2情報取得装置と、前記移動体の位置を示す自己位置情報を取得する位置情報取得装置と、前記移動体を所望の進行方向に走行させることが可能な走行装置と、前記農場マップ、前記物体情報、前記移動体情報及び前記自己位置情報に基づいて、前記移動体が前記畝間を自律走行するように前記走行装置を制御する制御装置と、を備え、前記農場には、第1旋回位置から第1所定距離だけ離れた位置に設置された第1マーカ及び第2旋回位置から第2所定距離だけ離れた位置に設置された第2マーカが設置され、前記制御装置は、前記移動体が一の前記畝間を走行しているときに、前記第1情報取得装置によって、前記物体情報として前記第1マーカと前記移動体との間の距離である第1マーカ距離を取得し、前記第1マーカ距離及び前記第1所定距離に基づいて、前記移動体が前記第1旋回位置に到達したと判定した場合、前記移動体が前記第1旋回位置で旋回した後、前記移動体の左側及び右側のうちの一方の側のみに前記畝が存在する位置に向かって、複数の前記畝が並ぶ方向に沿って直進するように、前記走行装置を制御し、前記第1情報取得装置によって、前記物体情報として前記第2マーカと前記移動体との間の距離である第2マーカ距離を取得し、前記第2マーカ距離及び前記第2所定距離に基づいて、前記移動体が前記第2旋回位置に到達したと判定した場合、前記移動体が前記第2旋回位置で旋回した後、前記一の前記畝間に隣接する前記畝間に向かって直進するように、前記走行装置を制御する、ように構成されている。
【0011】
本発明は、外部の情報処理装置と互いに通信可能に構成され、複数の列状の畝及び畝間が並ぶように形成された農場を走行可能な移動体であって、前記情報処理装置と通信可能な通信装置と、複数の前記畝及び前記畝間に関する位置を含む畝情報を含む、前記農場に対応する農場マップが格納された記憶部と、前記移動体の周囲の物体に関する物体情報を取得することにより物体を検知する第1情報取得装置と、前記移動体の状態に関する移動体情報を取得する第2情報取得装置と、前記移動体の位置を示す位置情報を取得する位置情報取得装置と、前記移動体を所望の進行方向に走行させることが可能な走行装置と、前記農場マップ、前記物体情報、前記移動体情報及び前記自己位置情報に基づいて、前記移動体が前記畝間を自律走行するように前記走行装置を制御する制御装置と、を備え、前記制御装置は、前記移動体が一の前記畝間を走行しているときに、前記第1情報取得装置が、前記移動体の左側及び右側に前記畝を検知している畝検知状態から前記移動体の左側及び右側に前記畝を検知していない畝未検知状態になった場合、前記移動体が、前記第1情報取得装置が前記畝未検知状態になった時点の位置から第1距離だけ直進して第1旋回位置まで移動し、前記第1旋回位置で旋回した後、前記移動体の左側及び右側のうちの一方の側のみに前記畝が存在する位置に向かって、複数の前記畝が並ぶ方向に沿って直進する第1直進動作を行うように、前記走行装置を制御し、更に、前記制御装置は、前記第1情報取得装置が、前記移動体の前記一方の側のみに前記畝を検知している状態から前記移動体の前記左側及び前記右側に前記畝を検知していない前記畝未検知状態になった場合、前記移動体が、前記畝未検知状態になった時点の位置から第2距離だけ直進して第2旋回位置まで移動し、前記第2旋回位置で旋回した後、前記一の前記畝間に隣接する前記畝間に向かって直進する第2直進動作を行うように、前記走行装置を制御する、ように構成されている。
【発明の効果】
【0012】
本発明によれば、農場内を自律走行する移動体が、畝間から隣接する畝間へ移動する場合に、畝の一部が崩壊してしまう可能性を低下できる。
【図面の簡単な説明】
【0013】
図1図1は本発明の第1実施形態に係る農業支援システムの構成例を示す概略構成図である。
図2図2はロボットの構成例を示す機能ブロック図である。
図3図3はロボットの構成例を示す斜視図である。
図4図4はロボットが走行する農場の例を示す平面図である。
図5図5はロボットが農場の畝間を走行する様子を模式的に示す模式図である。
図6図6は畝間の監視画像とサーバに保存された監視画像の関係を説明するための図である。
図7図7は畝間の監視画像とサーバに保存された監視画像の関係を説明するための図である。
図8図8は畝間の監視画像とサーバに保存された監視画像の関係を説明するための図である。
図9図9はロボットの構成例を示す斜視図である。
図10図10はロボットが農場の畝間を走行する様子を模式的に示す模式図である。
図11図11はロボットが外部センサにより畝側面を検知しながら畝間を走行する様子を模式的に示す模式図である。
図12A図12Aは外部センサの取り付け構造を説明するための図である。
図12B図12Bは外部センサの取り付け構造を説明するための図である。
図12C図12Cは外部センサの取り付け構造を可動式にしたロボットの構成例を示す図である。
図13図13図12Cに示すロボットが、畝間を走行した場合のレーザ光の照射状態を示す図である。
図14図14図12Cに示すロボットが、畝間を走行した場合のレーザ光の照射状態を示す図である。
図15図15は畝間のぬかるみで進行できないロボットの状態を示した図である。
図16図16はロボットがぬかるみ脱出するときのロボットの動作を説明するためのフローチャートである。
図17図17はロボットの構成例を示す機能ブロック図である。
図18図18は各種センサを説明するための表である。
図19図19はロボットが隣接する畝間を移動するときの動作例を説明するための図である。
図20図20はロボットが隣接する畝間を移動するときのロボットの動作を説明するためのフローチャートである。
図21図21はロボットの構成例を示す機能ブロック図である。
図22図22はロボットが隣接する畝間を移動するときの動作例を説明するための図である。
図23図23はロボットが隣接する畝間を移動するときのロボットの動作を説明するためのフローチャートである。
図24図24はロボットの畝間移動の動作例を説明するための図である。
図25図25はロボットが隣接する畝間を移動するときのロボットの動作を説明するためのフローチャートである。
【発明を実施するための形態】
【0014】
<<第1実施形態>>
以下、本発明の第1実施形態に係る農業支援システムSについて、図面を参照しながら説明する。
【0015】
<構成>
図1は農業支援システムSの構成例を示す概略構成図である。図1に示すように、農業支援システムSは、ネットワークNを介して接続されているロボット101、サーバ102及び端末103を含む。なお、サーバ102は、クラウド上のサーバ及びオンプレミスのサーバの何れであってもよい。更に、サーバ102は、複数のサーバで構成されてもよい。
【0016】
サーバ102は、例えば、CPU、ROM、RAM及びインターフェースI/F等を含むコンピュータ並びにデータの書き込み及び読み出し可能な記憶装置等を含む。サーバ102は、便宜上、「情報処理装置」とも称呼される場合がある。端末103は、例えば、パーソナルコンピュータ、スマートフォン、タブレット端末等の情報端末である。
【0017】
充電ステーション104は、農場118(後述の図4を参照。)に設置される。充電ステーション104は、充電ステーション104で待機中、及び/又は、農場118内を走行中のロボット101に対して、有線又は無線で電力を供給する。
【0018】
ロボット101は、サーバ102及び端末103と連携して農場118内を自律走行(自律移動)することによって、農場118の監視作業を行う移動体である。ロボット101は、農業を支援するための農業支援ロボットとして機能する。図2はロボット101の構成例を示す機能ブロック図である。図3はロボット101の外観を示す斜視図である。
【0019】
図2及び図3に示すように、ロボット101は、制御装置105、監視装置106、外部センサ107、内部センサ108、通信部109、アンテナ110、GNSS(Global Navigation Satellite System)部111、モータ112、一対の駆動軸113、一対の駆動輪114、電源部115及びバッテリ116を含む。なお、外部センサ107は、便宜上、「第1情報取得装置」とも称呼される場合がある。内部センサ108は、便宜上、「第2情報取得装置」とも称呼される場合がある。
【0020】
制御装置105は、マイクロプロセッサ等の演算処理装置であり、ロボット101の全体制御(ロボット101の動作の制御)を行う。制御装置105は、例えば、CPU、ROM、RAM及びインターフェースI/F等を含む。制御装置105は、タイマ105aを含む。タイマ105aは、時刻及び/又は時間を計測するためや割り込み処理を実行するために使用される。
【0021】
制御装置105は、監視装置106、外部センサ107及び内部センサ108に接続される。制御装置105は、これらの監視装置106及び各センサのそれぞれが取得したデータを受信するように構成されている。
【0022】
監視装置106は、撮像装置(例えば、カメラ)である。監視装置106は、ロボット101の周辺の所定範囲(例えば前方の所定範囲)を撮像することによって、ロボット101の周辺の撮像画像である監視画像(監視データ)を取得し、制御装置105に送信する。
【0023】
外部センサ107は、ロボット101の外部の情報(「外部センサデータ」とも称呼される。)を取得するためのセンサである。外部センサ107は、ロボット101の外部の情報を取得し、制御装置105に送信する。
【0024】
外部センサ107は、典型的には、深度センサ(LiDAR(Light Detection And Ranging)である。外部センサ107は、LADAR(Laser Detection And Ranging)センサ、ToF(Time of Flight)、ステレオカメラ、超音波センサ、近接センサ(赤外線センサ、磁気センサ等)、熱センサ(例えば遠赤外線センサ)、温度センサ、湿度センサ、気体の濃度(例えばCO濃度)を検出する気体センサ、照度センサ等であってもよい。
【0025】
内部センサ108は、ロボット101の自律移動の制御に使用されるロボット101の状態に関する情報(「内部センサデータ」とも称呼される場合がある。)を取得するためのセンサである。内部センサ108は、例えば、ジャイロセンサ、加速度センサ、磁気センサ、温度センサ、電源電圧センサ及びバッテリ残量センサ等を含む。内部センサデータは、例えば、ロボット101の向き、ロボット101の傾き(傾斜角度)、ロボット101の加速度、ロボット101の速度、ロボット101の回転角度(旋回角度)及び地磁気等である。内部センサ108は、内部センサデータを取得し、制御装置105に送信する。
【0026】
更に、制御装置105は、通信部109及びGNSS部111に接続されている。通信部109は、アンテナ110を介して、外部のコンピュータ(サーバ102等)と無線通信したり、GNSS部111が自己位置情報を推定(取得)するために他のロボットや基地局と通信を行ったりするための通信インターフェースである。
【0027】
GNSS部111は、測位衛星からロボット101の現在位置を示す自己位置情報を取得し、取得した自己位置情報を制御装置105に送信する。GNSS部111は、便宜上、「位置情報取得装置」とも称呼される場合がある。
【0028】
制御装置105は、自己位置情報に基づいて、ロボット101の現在位置を特定する。更に、制御装置105は、外部センサデータ及び内部センサデータに基づいて、畝に対する相対的な位置(例えば、畝間の幅方向における畝に対する相対的な位置)を特定する。
【0029】
更に、制御装置105は、2つのモータ112に接続されている。2つのモータ112のそれぞれは、電源部115からモータ112に供給される電力によって、それぞれのモータ112に対応する駆動軸113を回転させる(駆動させる)トルクを発生する。モータ112は、このトルクによって、それぞれの駆動軸113に対応する駆動輪114を回転させることができる。制御装置105は、モータ112に指令を送り、モータ112に供給される電力を制御することによって、モータ112が発生するトルクの大きさ及び向きを調整することによって、駆動輪114の回転速度及び回転方向を自在に制御することができる。
【0030】
なお、図3に示すように、左右の駆動輪114の表面114aは、特徴的な形状(例えば、V字の平面形状を有する凸部と凹部とが繰り返される形状)を有している。これにより、ロボット101は、駆動輪114の通過軌道に存在する草をより容易に踏み潰すことができる。左右の駆動輪114の地面との接触面積を多くするため、駆動輪114の幅はより広く設定されることが好ましい。駆動輪114は、草を踏み潰すという観点から、その重みで草を潰すことができる程度の重量を有していることが好ましい。
【0031】
電源部115は、ロボット101を動作させるために、ロボット101の制御装置105及び各部に対して、バッテリ116に蓄電された電力を供給する。バッテリ116は、有線又は無線によって充電ステーション104(図1を参照。)から供給された電力を蓄電する。
【0032】
制御装置105は、モータ112を制御して駆動軸113を駆動することによって、ロボット101の走行を制御する。例えば、ロボット101が前方に直進する場合、制御装置105は、例えば、左側の駆動輪114(以下、「左輪」とも称呼される。)及び右側の駆動輪114(以下、「右輪」とも称呼される。)を同じ速度で、例えば、ロボット101が前進する方向に対応する前進回転方向に回転するように、駆動軸113を駆動する。
【0033】
例えば、ロボット101が後方に直進する場合、制御装置105は、例えば、左輪及び右輪を同じ速度で、ロボット101が後退する方向に対応する後進回転方向に回転するように、駆動軸113を駆動する。
【0034】
例えば、ロボット101が右旋回方向に旋回する場合、制御装置105は、例えば、左輪が右輪よりも高速になり、且つ、左輪及び右輪が同じ前進回転方向で回転するようにモータ112を駆動する。例えば、ロボット101が左旋回方向に旋回する場合、制御装置105は、例えば、右輪が左輪よりも高速になり、且つ、左輪及び右輪が同じ前進回転方向で回転するようにモータ112を駆動する。ロボット101がその場で進行方向を変える場合、例えば、制御装置105は、右輪及び左輪を同じ速度で逆方向に回転するようにモータ112を駆動する。
【0035】
このように、制御装置105は、モータ112を制御することによって、ロボット101の動き(走行)を自在に制御することができる。即ち、制御装置105は、前進、後退、ターン、カーブ走行、進行方向調整、障害物回避、停止等を行うように、ロボット101の動きを自在に制御できる。なお、モータ112、駆動軸113及び駆動輪114は、便宜上、「走行装置」とも称呼される場合がある。
【0036】
<ロボットの動作1(監視動作(データ収集)、防草動作、障害物回避動作)>
ロボット101は、農場118を自律走行しながら監視装置106を用いて、ロボット101の周辺を撮像することで、監視画像を取得することによって、農場118及び農作物を監視する。図4はロボット101が走行する農場118の平面図である。図5はロボット101が農場118の畝間120を走行する様子を模式的に示す模式図である。
【0037】
なお、図4及び図5の例では、1つの農場118に対して1台のロボット101が監視を担当するとする。しかし、これに限らず、1つの農場118に対して、複数台のロボット101がエリアを分割して監視を担当してもよい。あるいは、1つの農場118に対して、収集データ又は機能が異なる複数台のロボット101が監視を担当してもよい。
【0038】
農場118は、農作物が植栽される畝119及び畝間120を有する。なお、本明細書において、互いに隣接する列状の2つの畝119の間が、畝間120と称呼される。
【0039】
図5では図示していないが、農場118には、例えば果樹園の様に畝119が無く農作物の間に通路がある場合もある。なお、本明細書では、この場合、農作物の存在する領域が畝119に相当し、農作物の間の通路が畝間120に相当する。
【0040】
更に、図5では、図示してはいないが、畝119は、土壌が剥き出しの場合や、農作物や土壌の保護等のためのマルチシートや不織布、刈り取った植物等で覆われている場合もある。
【0041】
農場118には、ロボット101のホームポジションとなる充電ステーション104が設置されている。
【0042】
ロボット101及び外部のサーバ102は、予め作成された例えば図4に示すような農場118の平面図をマップ情報(以下、「農場マップ」と称呼される。)として記憶している。例えば、農場マップは、ロボット101の制御装置105のROMに記憶されている。農場マップは、サーバ102が備える記憶装置にも記憶されている。農場マップを作成する場合、農場118内に畝119を作るときに、例えばトラクタの位置をトレースしたり、畝119を作った後にドローンで計測したり、ロボット101をリモートで実走させることで畝119及び畝間120の位置(畝情報)を測量する。そして、これらの測量結果に基づいて、農場マップが作成される。農場マップでは、畝119や畝間120の位置が、農場マップ上の位置情報(例えば、緯度、経度)と対応付けられている。従って、ロボット101及びサーバ102のそれぞれは、農場マップに基づいて、農場内の畝119の位置及び畝間120の位置等を特定することができる。
【0043】
ロボット101は、充電ステーション104を出発点とし、図4中の矢印にて示す畝間120を含む経路(以下、「自律走行経路」と称呼される。)を回って再び充電ステーション104に戻るように、農場118内を自律走行する。
【0044】
このようなロボット101の自律走行は、農場マップ、外部センサデータ、内部センサデータ及び自己位置情報の少なくとも一つに基づいて、制御装置105がモータ112を制御することによって、行うことができる。
【0045】
例えば、ロボット101は、農場マップに基づいて、自律走行経路を設定し、自己位置情報に基づいて、自律走行経路に沿って走行する。
【0046】
更に、ロボット101は、自律走行している間、外部センサデータ、内部センサデータ及び自己位置情報に基づいて、農作物に乗り上げないように農作物の間を通路として走行したり、畝119に乗り上げないように畝間120を通路として走行したりする。
【0047】
ロボット101は、自律走行している間、監視装置106及び外部センサ107を用いて、農場118に関するデータを取得(収集)し、取得したデータをサーバ102に送信する。サーバ102は、データを取得すると、データを処理して管理する(保存する。)。
【0048】
以下では、図6を参照しながら、ロボット101のデータの処理及び送信並びにサーバ102のデータ処理について、より具体的に説明する。図6は畝間120の監視画像121とサーバ102に保存された監視画像121との関係を説明するための図である。
【0049】
ロボット101が自律走行している間、ロボット101は監視装置106によって、畝間120の監視画像121を取得する。なお、図6の畝間120の監視画像121には、ロボット101が走行中の畝間120と、畝間120の両側の畝119と、畝間120に存在する雑草122等の障害物とが存在している。
【0050】
ロボット101は、取得した畝間120の監視画像121と、畝間120の監視画像121を取得した時点の時刻(タイマ105aで取得した時刻)と自己位置情報(GNSS部111等で取得した自己位置情報)とを対応付ける。ロボット101は、通信部109を介して、対応付けた畝間120の監視画像121と自己位置情報と時刻とのデータセットをサーバ102に送信する。
【0051】
サーバ102は、上述した通り、農場マップである農場マップデータ123を有している。サーバ102は、ロボット101からデータセットを受信すると、畝間120の監視画像121と、畝間120の監視画像121の取得時刻と、自己位置情報に対応する農場マップデータ123内の位置情報とを対応付けて、保存する。これにより、サーバ102は、畝間120の監視画像121が農場118内のどこでいつ取得された画像であるかを識別できる。即ち、サーバ102は、畝間120の監視画像121の取得時刻及び農場118内の取得位置を特定することができる。
【0052】
更に、図7を参照しながら、ロボット101のデータ処理及び送信並びにサーバ102のデータ処理について、より具体的に説明する。図7は畝間120の監視画像121とサーバ102に保存された監視画像121との関係を説明するための図である。
【0053】
ロボット101は、畝間120の監視画像121を取得する際に、畝間120の監視画像121の取得位置と同じ位置に対応付けてサーバ102に保存されている畝間120の監視画像124を、制御装置105に読み出す処理も行っている。なお、以下では、説明の便宜上、制御装置105に読み出した畝間120の監視画像124は、「読み出し監視画像124」と称呼される。
【0054】
その後、ロボット101は、畝間120の監視画像121を取得すると、「取得した畝間120の監視画像121」と「読み出し監視画像124」とを比較する。ロボット101は、比較結果に基づいて、小さい障害物(例えば、雑草122)が存在するか否かを判定する。
【0055】
例えば、ロボット101は、監視画像121及び読み出し監視画像124に基づいて、同位置に存在する障害物の高さを比較する。ロボット101は、比較した結果高さの差が所定の閾値より大きく、且つ、監視画像121の障害物の高さが所定の第1閾値より小さい場合、防草対象物体となる小さい障害物(雑草122)が存在すると判定する。更に、ロボット101は、監視画像121及び読み出し監視画像124に基づいて、監視画像121に新たに現れた障害物であって、且つ、その高さが所定の第1閾値より小さいと判定した場合、小さい障害物が存在すると判定する。
【0056】
ロボット101は、小さい障害物が存在すると判定した場合、自律走行を継続する。これにより、ロボット101は、その駆動輪114が小さい障害物(雑草122)の上を通過することで、小さい障害物(雑草122)を踏みつける「防草」動作を行う。なお、新たに取得した畝間120の監視画像121は、上記と同様に処理され、サーバ102に保存される。
【0057】
更に、図8を参照しながら、ロボット101のデータの処理及び送信並びにサーバ102のデータ処理について、より具体的に説明する。図8は畝間120の監視画像121とサーバ102に保存された監視画像124との関係を説明するための図である。
【0058】
既述したように、ロボット101は、畝間120の監視画像121を取得する際に、畝間120の監視画像121の取得位置と同じ位置に対応付けてサーバ102に保存されている畝間120の監視画像124を、制御装置105に読み出す処理も行っている。
【0059】
その後、ロボット101は、畝間120の監視画像121を取得すると、「取得した畝間120の監視画像121」と「読み出し監視画像124」とを比較する。ロボット101は、比較結果に基づいて、大きい障害物(例えば、石125)が存在するか否かを判定する。例えば、ロボット101は、監視画像121及び読み出し監視画像124に基づいて、監視画像121には存在し、読み出し監視画像124には存在しない障害物を認識する。ロボット101は、認識した障害物の高さが、所定の第1閾値以上である場合、大きい障害物が存在すると判定する。
【0060】
ロボット101は、大きい障害物が存在すると判定した場合、走行を停止する。なお、新たに取得した畝間120の監視画像121は、上記と同様に処理され、サーバ102に保存される。
【0061】
ロボット101は、停止すると通信部109を用いて、ロボット101が停止したことを示す情報を、ネットワークNを介して、端末103に送信する。端末103は、ロボット101が停止したことを示す情報を受信すると、端末103のユーザにロボット101が停止したことを通知する。例えば、端末103は、端末103が有する表示画面にロボット101が停止したことを表す画像を表示することにより、ユーザにロボット101が停止したことを通知する。これにより、ユーザは、ロボット101から離れた位置にいる場合(例えば、農場118にいない場合)であっても、大きい障害物によってロボット101が停止したことを速やかに認識することができる。
【0062】
<効果>
以上説明したように、第1実施形態に係る農業支援システムSによれば、ロボット101が農場118内の畝間120を自律走行しながら農場118内を撮像する。これにより、農業支援システムSは、農業支援システムSのユーザ(農作業者)に負担をかけることなく、農場118及び農場118内の農作物に関する多様なデータを取得できる。更に、農業支援システムSによれば、障害物が、ロボット101が踏み付けることができるような大きさの小さい障害物である場合、ロボット101は防草動作を行う。障害物が、ロボット101が踏み付けることができないような大きさの大きい障害物である場合、ロボット101は走行を停止することにより、大きい障害物との衝突を回避する。これにより、農業支援システムSは、ロボット101が大きい障害物との衝突によって故障したり防草を中断したりすることを防止しつつ、自律的に防草を行うことができるので、ユーザの農作業(防草作業)の負担を軽減することができる。
【0063】
<<第2実施形態>>
本発明の第2実施形態に係る農業支援システムについて説明する。本発明の第2実施形態に係る農業支援システムは、図9に示すロボット200を用いている。ロボット200は、第1実施形態のロボット101と同様の構成を有し、外部センサ107として、障害物を検知可能な外部センサ201を備えることを特徴としている。この外部センサ201には、例えば、深度センサ(LiDAR(Light Detection And Ranging))、LADAR(Laser Detection And Ranging)センサ、ToF(Time of Flight)、ステレオカメラ等が使用可能である。本例では、外部センサ201には、水平方向にレーザ光を走査可能(スキャン可能)な二次元LiDARが使用されている。第2実施形態に係る農業支援システムは、以上の構成以外、第1実施形態と同様の構成を有する。
【0064】
図10はロボット200が農場118を走行する様子を模式的に示す模式図である。図10に示すように、ロボット200には、草(不図示)を踏み潰しながら、限られた幅の畝間120を畝119に接触したり、乗り上げたりすることなく、走行することが求められる。従って、ロボット200は、限られた幅の畝間120を畝119の畝側面208及び畝側面208に生じる障害物210(後述の図11を参照。)に接触しないような走行軌道211(ロボット200が畝間120に接触しないような畝119の幅方向の位置を結ぶ走行軌道211(後述の図11を参照。))に沿って正確に走行する必要がある。ロボット200が、このような走行軌道211から逸脱する場合、畝側面208や障害物210に接触したり、畝119に乗り上げたりすることで、畝側面208を削り畝119に損傷を与える恐れがある。
【0065】
これに対して、ロボット200は、外部センサ201を備えている。ロボット200は、外部センサ201によって、畝側面208に生じる障害物210との衝突を感知する。ロボット200は、障害物210を感知した場合、障害物210への衝突を避けるように走行し、畝119に損傷を与えないようにする。
【0066】
図11は外部センサ201により畝側面208及び障害物210を検知しながら畝間120を走行するロボット200を説明するための図である。
【0067】
図11に示すように、ロボット200は、外部センサ201を用いて、ロボット200の前方(進行方向)の所定範囲に、レーザ光212を水平方向において左右にスキャンしながら照射する。ロボット200は、レーザ光212が畝側面208や障害物210に当たって跳ね返ってくる跳ね返り時間に基づいて、畝側面208や畝側面208から突出する障害物210のロボット200に対する距離及び方向を検出する。
【0068】
更に、ロボット200は、外部センサ201からレーザ光212を継続的に照射しながら走行することにより、被照射範囲の畝側面208の形状及び障害物210の形状を認識する。即ち、ロボット200が外部センサ201からレーザ光212を継続的に照射しながら走行すると、レーザ光212が照射された被照射範囲の物体(畝側面208、障害物210)内で、レーザ光212の跳ね返り時間及びこれに基づくロボット200に対する物体の距離及び方向の差が生じる。ロボット200は、このレーザ光212の被照射範囲に生じるロボット200に対する物体の距離及び方向の差に基づいて、被照射範囲の物体(畝側面208及び障害物210)の形状を認識する。
【0069】
畝側面208や障害物210からの距離認識により、ロボット200は、ロボット200が存在している(走行中の)畝間120の幅方向のより細かい位置(畝119に対する相対位置)を推定(特定)することが可能となる。例えば、ロボット200は、畝間120の両側面からの距離をそれぞれ推定(特定)することにより、ロボット200の畝間120の幅方向におけるより細かい位置を正確に特定することができる。
【0070】
よって、ロボット200は、畝間120の両側の畝側面208のそれぞれからロボット200までの距離(又はレーザ光212の反射時間)に基づいて、畝間120の幅方向の中心位置を結ぶ走行軌道211に沿って、走行することができる。
【0071】
具体的に述べると、ロボット200は、進行方向の所定範囲にレーザ光212を畝側面208や障害物210に照射して畝側面208や障害物210からの反射時間が均一となる位置(即ち、走行軌道211)を導き出す計算をしながら走行する。即ち、ロボット200は、制御装置105によって、畝側面208からの反射時間が均一となる位置を走行するように制御されることで畝間120の幅方向の中心を結ぶ走行軌道211に沿って走行することができる。
【0072】
更に、ロボット200は、畝間120に障害物210がある場合であっても、外部センサ201が検出した障害物210に対する距離及び障害物210の位置に基づいて、障害物210を避けつつ、畝間120の幅方向の中心に設定された走行軌道211に沿って走行することができる。
【0073】
即ち、ロボット200は、畝間120に障害物210がある場合であっても、障害物210を避けつつ、畝間120の幅方向の中心に設定された走行軌道211に沿って走行することができる。従って、ロボット200は、例えば、畝間120が曲がりくねって湾曲した形状を有する場合であっても、畝間120の幅方向の中心の走行軌道211に沿って走行することができる。
【0074】
よって、ロボット200が畝間120を走行するときに、ロボット200が畝間120の畝側面208に接触したり障害物210に接触したりする可能性を低下することができる。その結果、ロボット200は、自律走行による畝119の損傷及び一部崩壊等を防ぐことができる。
【0075】
図12A及び図12Bは、外部センサ201の取り付け構造を説明するための図である。図12A及び図12Bに示すように、ロボット200に搭載された外部センサ201のレーザ光212の出射方向を地面に対して水平にした場合、畝119の高さや形状が栽培作物により異なることに起因して以下に述べることが生じ得る。
【0076】
図12Aに示すように、畝119の高さがロボット200(より厳密にはレーザ光212の出射部201aの位置)より高い場合、畝119の畝側面208に対してレーザ光212を照射することができる。従って、この場合、ロボット200は、畝側面208(畝119)を認識できる。これに対して、図12Bに示すように、畝119の高さがロボット200より低い場合、畝119の畝側面208にレーザ光212が当たらなくなってしまう。従って、この場合、ロボット200は、畝側面208(畝119)を認識できなくなってしまう。
【0077】
このように、ロボット200に搭載された外部センサ201のレーザ光212の出射方向を地面に対して水平にした場合、栽培作物の種類に応じて変化する畝119の高さや形状に起因して、ロボット200が畝119の畝側面208を認識できないことが生じ得る。
【0078】
これに対して、ロボット200に対する外部センサ201の取り付け構造は、可動式にしてもよい。即ち、外部センサ201は、レーザ光212を出射する出射部201aの向きが自在に変えられるように、ロボット200に対して可動するように、ロボット200に取り付けられてもよい。
【0079】
このように外部センサ201の取り付け構造を可動式にした場合、ロボット200は、畝119の高さや形状の変化に応じて、外部センサ201のレーザ光212の出射方向を自在に変えることができる。これにより、ロボット200は、外部センサ201によって、畝119の畝側面208をより確実に認識できる。よって、ロボット200は、色々な種類の栽培作物を有する畝119の認識に対応することができる。
【0080】
図12Cは、外部センサ201の取り付け構造を可動式にしたロボット200の構成例を示す図である。外部センサ201は、地面に対して垂直なロボット200の垂直軸に対して自在に前方向に傾斜できるように、ロボット200に取り付けられている。即ち、外部センサ201は、その出射部201a(レーザ光212の出射方向)に対して垂直な外部センサ201の軸がロボット200の垂直軸に対して、所定の角度まで自在に前方向に傾斜できるように、ロボット200に取り付けられている。図12Cでは、外部センサ201を約30°だけ垂直軸に対して前方向に傾斜するように可動させた状態でロボット200に取り付けられた状態を示す。図12Cに示すように、外部センサ201が地面の垂直方向に対して前傾した状態で取り付けられることによって、レーザ光212の出射部201aは、斜め下方に向く。従って、ロボット200は、外部センサ201によって、ロボット200の高さ(より厳密にはレーザ光212の出射部201aの位置の高さ)より低い畝119の畝側面208にレーザ光212を照射できる。
【0081】
図13及び図14は、図12Cに示すロボット200が、畝間120を走行した場合のレーザ光212の照射状態を示す。図13及び図14に示す例では、ロボット200が、時刻t0から畝間120を矢印a1に示す方向に定速で走行しながら、一定時間間隔で(所定時間T1毎に)外部センサ201からレーザ光212を照射した場合のレーザ光212の照射状態を示す。
【0082】
外部センサ201は、その出射部201aの向きが斜め下方に向いた状態になっている。従って、図13及び図14に示すように、レーザ光212は、ロボット200の左側及び右側に存在する畝119の上端から下端(畝側面208と畝間120との間の境界)及び畝間120に亘って照射される。
【0083】
従って、ロボット200は、畝間120の表面形状、畝間120に存在する物体(障害物)、畝側面208の形状(畝側面208に生じる障害物210も含む。)、及び、畝間120と畝側面208との間の境界(即ち、畝119の位置)をより確実に認識(検出)できる。よって、ロボット200は、畝間120と畝側面208との間の境界を認識することで湾曲した畝間120、畝間120にできた障害物210も検知して、認識した畝間120の中心を結ぶ走行軌道211に沿って畝間120を走行することができる。
【0084】
更に、上述したように、外部センサ201を前傾させることが可能な可動式構造にした場合、ロボット200は、外部センサ201として、安価な二次元LiDARを用いる場合であっても、より確実に畝119、畝間120及び障害物210を認識することができる。
【0085】
<ロボットの動作2(スタック解消動作)>
図15は畝間120のぬかるみ222に嵌ってスタックしたロボット200の状態を示した図である。作物が栽培される畝119の間である畝間120に、天候や人的介入によって、畝間120の表面が凹凸になり、その凹凸に水がたまることによって、水たまりや泥状の軟弱な状態な領域(即ち、ぬかるみ222)が、畝間120に生じ得る。
【0086】
このような水たまり及びぬかるみ222が、ロボット200が走行する畝間120に存在する場合、これらによって、ロボット200の進行が妨げられる(例えば、スタックしてしまう)ことによって、ロボット200が進むことができなくなってしまう。
【0087】
例えば、図15に示すように、ロボット200が走行している畝間120にぬかるみ222が存在する場合、ロボット200がぬかるみ222に嵌り前進走行ができなくなる(即ち、ロボット200がスタック状態になってしまう。)ことが生じ得る。
【0088】
これに対して、ロボット200は、以下に述べるように、スタックを解消するための動作(スタック解消動作)を行う。図16はロボット200が実行するスタック解消動作の例を説明するためのフローチャートである。なお、図16に示すロボット200の各動作(処理)は、制御装置105によって実行される。
【0089】
ロボット200は、ステップ260にて、前進走行の停止を検出すると、ステップ261に進む。ロボット200は、ステップ261にて、ロボット200の向きが進路方向(本例では、前方向)に向いている否かを判定する。ロボット200の向きが進路方向に向いていない場合、ロボット200は、ステップ261にて「No」と判定してステップ262に進む。ステップ262にて、ロボット200は、所定の距離だけ後退した後、旋回することによりロボット200の向きが進路方向になるように修正する。
【0090】
ロボット200の向きが進路方向に向いている場合、ロボット200は、ステップ261にて「Yes」と判定してステップ263に進む。ステップ263にて、ロボット200は、ロボット200が傾斜していないか(ロボット200の傾きはないか)否かを判定する。
【0091】
ロボット200が傾斜している場合、ロボット200は、ステップ263にて「No」と判定してステップ264に進み、ロボット200の姿勢が正常な姿勢(傾斜していない姿勢)となる位置に回帰した後、ステップ265に進む。
【0092】
ロボット200が傾斜していない場合、ロボット200は、ステップ263にて「Yes」と判定してステップ265に進み、駆動輪114が回転しているか否かを判定する。
【0093】
駆動輪114が回転していない場合、ロボット200は、ステップ265にて「No」と判定してステップ266に進み、その動作を停止する。
【0094】
駆動輪114が回転している場合、ロボット200は、ステップ265にて「Yes」と判定してステップ267に進み、前進走行を試みてステップ267に進み、進路方向において、予想進路位置に変化がないか否かを判定する。なお、予想進路位置とは、ロボット200が走行すると予測される位置である。例えば、予想進路位置は、ロボット200の進行方向において、ロボット200の現時点の位置から所定距離だけ前方に離れた位置である。従って、ロボット200の位置が変化する(例えば、所定距離だけ前方に変化する。)と、予想進路位置も変化する(例えば、所定距離だけ前方に変化する。)。
【0095】
予想進路位置に変化がある場合、ロボット200がスタック状態ではないか、或いは、既にスタックが解消されていると考えられるので、ロボット200は、ステップ268にて「No」と判定してステップ281に進む。ステップ281にて、ロボット200は、自己位置補正(即ち、走行軌道211からずれている場合、走行軌道211に戻るように位置を修正する。)を行う。その後、ロボット200は、ステップ282に進み、前進走行を再び開始する。
【0096】
予想進路位置に変化がない場合、ロボット200がスタック状態であることが考えられる。従って、この場合、ロボット200は、ステップ268にて「Yes」と判定してステップ270に進み、スタック解消処理を開始してステップ271に進む。ロボット200は、ステップ271に進み、2軸の駆動輪114の両方を同じ前進回転方向に回転させることと、後進回転方向に回転させることとを一定回数繰り返すことにより、前進及び後退を一定回数繰り返す第1動作を行う。
【0097】
ロボット200は、ステップ272に進み、第1動作の回転速度より駆動輪114の回転速度を低く設定し、2軸の駆動輪114の両方を同じ前進回転方向に回転させることと、後進回転方向に回転させることとを一定回数繰り返すことにより、前進及び後退を一定回数繰り返す第2動作を行う。
【0098】
ロボット200は、ステップ273に進み、予想進路位置に移動可能か否かを判定する。即ち、ロボット200は、予想進路位置への移動を試み、予想進路位置に移動できたか否かを判定する。
【0099】
ロボット200が予想進路位置に移動できない場合、ロボット200は、ステップ273にて「No」と判定してステップ274に進み、所定の角度の旋回を繰り返すスタック解消旋回動作の実行を開始する。ロボット200は、ステップ275に進み、2つの駆動輪114の一方を前進回転方向に回転させ、2つの駆動輪114の他方を後進回転方向に回転させることによって、所定の第1角度(45°)だけ第1旋回方向に旋回する。更に、ロボット200は、2つの駆動輪114の一方を後進回転方向に回転させ、2つの駆動輪114の他方を前進回転方向に回転させることによって、所定の第1角度(45°)だけ第1旋回方向とは反対の第2旋回方向に所定の第1角度(45°)だけ旋回する。更に、ロボット200は、所定の角度(90度)だけ第1旋回方向に旋回した後、第2旋回方向に所定の角度(90度)だけ旋回する。以上の第1スタック解消旋回動作を所定の回数だけ繰り返し行う。
【0100】
ロボット200は、ステップ276に進み、駆動輪114の回転速度を所定の速度だけ変えた(例えば、所定の速度だけ低くした)こと以外は第1スタック解消旋回動作と同様の第2スタック解消旋回動作を、所定の回数だけ繰り返し行う。
【0101】
ロボット200は、ステップ277に進むと、予想進路位置に回帰可能(移動可能)か否かを再び判定する。即ち、ロボット200は、予想進路位置への移動を試み、予想進路位置に移動できたか否かを判定する。
【0102】
ロボット200が予想進路位置に移動できない場合、ロボット200は、ステップ277にて「No」と判定して、ステップ278に進み、上述の第1及び第2スタック旋回回避動作を更に所定回数だけ実行した後、ロボット200が予想進路位置に回帰可能であるか否かを判定することを、所定時間経過するか、或いは、第2スタック旋回回避動作を所定の回数だけ実行した後の時点にて予想進路位置に回帰可能であると判定されるまで繰り返し実行する。所定時間が経過した場合、ロボット200は、その動作を停止する。
【0103】
ロボット200が予想進路位置に回帰可能であると判定した場合、スタックが解消されていると考えられるのでロボット200は、ステップ277に戻り、「Yes」と判定してステップ279に進み、スタック解消処理を終了して、ステップ281に進む。ステップ281にて、ロボット200は、自己位置補正を行う。その後、ロボット200は、ステップ282に進み、前進走行を再び開始する。
【0104】
<効果>
第2実施形態に係る農業支援システムは、第1実施形態に係る農業支援システムSと同様の効果を奏する。更に、この農業支援システムによれば、ロボット200が例えばぬかるみ222にはまってスタックした場合であっても、ロボット200は、自律的にスタックを解消することができる。よって、この農業支援システムは、ユーザに負担をかけることなく、農場118のデータを収集することができる。
【0105】
<<第3実施形態>>
本発明の第3実施形態に係る農業支援システムについて説明する。本発明の第3実施形態に係る農業支援システムは、図17に示すロボット300を用いている。ロボット300は、制御装置105が記憶装置105bを更に備える点及び外部センサ107に代えて、右畝検知センサ301a及び左畝検知センサ301bを備えている点以外、第1実施形態のロボット101と同様の構成を有する。第3実施形態に係る農業支援システムは、以上の構成以外、第1実施形態と同様の構成を有する。
【0106】
図18に示すように、右畝検知センサ301aは、ロボット300の周囲に存在する物体(例えば、畝、障害物等)とロボット300との相対関係についての情報(例えば、ロボット300と物体との間の距離(距離情報)、物体の方向)を取得し、取得した情報を制御装置105に送信する。右畝検知センサ301aは、物体とロボット300との相対関係についての情報を取得可能なセンサであり、例えば、超音波センサ、近接センサ(磁気センサ等)、光学センサ(赤外線センサ等)等である。
【0107】
左畝検知センサ301bは、ロボット300の周囲に存在する物体(例えば、畝、障害物)とロボット300と間の相対関係についての情報(例えば、ロボット300と物体との間の距離(距離情報)、物体の方向)を取得し、取得した情報を制御装置105に送信する。左畝検知センサ301bは、物体とロボット300との相対関係についての情報を取得可能なセンサであり、例えば、超音波センサ、近接センサ(磁気センサ等)、光学センサ(赤外線センサ等)等である。
【0108】
制御装置105は、右畝検知センサ301a及び左畝検知センサ301bから情報を取得すると、同時刻に他のセンサ等により取得された同一物体に関するリンク情報(例えば、位置情報、物体の方向、物体の傾き、物体の高さ等)とを対応付ける。なお、説明の便宜上、「右畝検知センサ301a及び左畝検知センサ301bから取得された情報」及び/又はリンク情報は、「物体情報」とも称呼される場合がある。制御装置105は、物体情報に基づいて、モータ112を制御する。例えば、制御装置105は、物体情報に基づいて、ロボット300が畝との接触や障害物との衝突を回避して走行するように、モータ112を制御する。
【0109】
内部センサ108は、既述したように、例えば、ロボット300の傾き、ロボット300の移動方向、ロボット300の速度、地磁気、ロボット300の方向(向き)及びロボット300の回転角度(旋回角度)等を取得し、取得したこれらの情報を制御装置105に送信する。内部センサ108は、例えば、ジャイロセンサ、加速度センサ、磁気センサ等である。
【0110】
<ロボットの動作3(隣接する畝間への移動)>
図19はロボット300の隣接する畝間への移動の動作例を説明するための図である。図19に示すように、農場118には、畝A321a、畝B321b及び畝C321cが左から右に向かってこの順で並ぶように形成されている。隣接する畝A321a及び畝B321bの間には、畝間A322aが形成され、隣接する畝B321b及び畝C321cの間には、畝間B322bが形成されている。以下では、このような農場118において、ロボット300が畝間A322aから畝間B322bへ移動する例について説明する。なお、この例では、ロボット300が隣接する畝間B322bへ移動するときに、ロボット300が90°右旋回するようにしているが、ロボット300が隣接する畝間B322bへ移動するときに、ロボット300が270°左旋回するようにしてもよい。
【0111】
図20はロボット300が畝間A322aから隣接する畝間B322bへ移動するときの動作例を説明するためのフローチャートである。なお、図20に示すロボット300の各動作(処理)は、制御装置105によって実行される。
【0112】
ステップ360にて、ロボット300は畝間A322aを直進している。ロボット300が畝間A322aを直進している(例えば畝間移動位置畝A323aに存在している)場合、ロボット300は、右畝検知センサ301aによって畝A321a(物体)を検知し、且つ、左畝検知センサ301bによって畝B321b(物体)を検知している状態になる。
【0113】
ロボット300は、ステップ361に進み、直進しながら、右畝検知センサ301a及び左畝検知センサ301bが共に物体(畝A321a及び畝B321b)を検知していないか否かを判定する。
【0114】
ロボット300が畝間A322aの一端をこえて、右畝検知センサ301a及び左畝検知センサ301bが畝A321a及び畝B321bを検知できない位置まで直進する。すると、ロボット300は、右畝検知センサ301a及び左畝検知センサ301bが共に物体を検知していない未検知状態になる。
【0115】
従って、ステップ361では、ロボット300が畝間A322aの一端をこえたか否かを判定するために、ロボット300は、右畝検知センサ301a及び左畝検知センサ301bの両方が物体を検知していない未検知状態であるか否かを判定する。なお、畝A321a及び畝B321bの畝端は、形状の相違、崩れ等に起因して、これらの畝端の列方向の位置がずれている場合がある。このため、ロボット300は、右畝検知センサ301a及び左畝検知センサ301bの両方が物体を検知していない未検知であるか否かを判定することによって、ロボット300が畝間A322aの一端をこえたか否かを判定している。
【0116】
ステップ361にて、右畝検知センサ301a及び左畝検知センサ301bの少なくとも一つが物体を検知している場合、ロボット300は、ステップ361にて「No」と判定してステップ362に進む。
【0117】
ステップ362にて、ロボット300は、GNSS部111によって取得された自己位置情報に基づいて、ロボット300が右畝検知センサ301a及び左畝検知センサ301bの少なくとも一つによって畝が検知できると想定される範囲(以下、「畝想定範囲」と称呼される。)外に存在するか否かを判定する。なお、ロボット300は、GNSS部111によって取得された自己位置情報並びに制御装置105のROMに格納された農場マップの畝、畝端及び畝間の位置に基づいて、畝想定範囲を特定する。畝想定範囲は、例えば、畝間322aと畝間322aを延長させた場合の延長範囲(畝間A322aの端から延びる延長部分の範囲)とからなる範囲である。
【0118】
ロボット300が畝想定範囲外に存在するにも関わらず右畝検知センサ301a及び左畝検知センサ301bの少なくとも一つが物体を検知している(ステップ361にて「No」との判定)場合、ロボット300が以下に述べる状態にあることが考えられる。即ち、この場合、ロボット300は、畝A321a及び畝B321bの畝端から離れた位置にて、畝以外の物体(例えば障害物)を検知している状態にある可能性が高いことが考えられる。
【0119】
従って、ロボット300が畝想定範囲外に存在する場合、ロボット300は、畝間A322aから畝間B322bへ移動できない可能性があるので、ステップ362にて「Yes」と判定してステップ363に進み、異常判定(ロボット300が異常状態であるとの判定)を行う。なお、異常判定を行った場合、ロボット300は、その動作を停止する。
【0120】
これに対して、ロボット300が畝想定範囲内に存在する場合、右畝検知センサ301a及び左畝検知センサ301bの少なくとも一つが物体を検知しており、ロボット300が畝間322aの端を完全にこえていないと考えられる。従って、この場合、ロボット300は、ステップ362にて「No」と判定してステップ360に進み、直進を継続する。
【0121】
ステップ361にて、ロボット300が畝間322aの端を完全にこえて、右畝検知センサ301a及び左畝検知センサ301bの両方が物体を検知しなくなった場合、ロボット300は、ステップ361にて「Yes」と判定してステップ364に進む。
【0122】
ステップ364にて、ロボット300は、記憶装置105bに記憶しておいた一定の第1規定距離だけ直進する。なお、この一定の第1規定距離は便宜上「第1距離」とも称呼される場合がある。ロボット300が一定の第1規定距離だけ直進したか否かは内部センサ108によって取得された内部センサデータに基づいてロボット300の直進開始位置からの距離(例えば速度を時間で積分して距離)を測定し、測定した距離に基づいて判定される(後述する第2乃至第5規定距離に関しても同様。)。ロボット300は、GNSS部111によって取得した自己位置情報及び農場マップに基づいて、第1規定距離を特定して、特定した第1規定距離を記憶装置105bに記憶するようにしてもよい(後述する第2乃至第5規定距離に関しても同様。)。
【0123】
右畝検知センサ301a及び左畝検知センサ301bの両方が物体(畝A321a及び畝B321b)を検知しなくなった時点の位置(以下、「第1畝未検知位置」と称呼される。)で、ロボット300が右旋回方向に90°旋回した後に直進すると、駆動輪114が畝B321bに乗り上げてしまう恐れがある。このため、ロボット300は、第1畝未検知位置から進行方向に第1規定距離だけ離れた位置で、旋回する必要がある。従って、ロボット300は、ステップ364にて、第1規定距離だけ直進して、ロボット300が畝B321bに乗り上げることなく旋回することが可能な旋回位置A323bに移動する。
【0124】
その後、ロボット300は、ステップ365に進み、右畝検知センサ301a及び左畝検知センサ301bの両方が物体を検知していないか否かを判定する。これにより、ロボット300は、旋回位置A323bにて右畝検知センサ301a及び左畝検知センサ301bによってロボット300の左側及び右側に移動の妨げとなる障害物が存在しないことを確認する。
【0125】
右畝検知センサ301a及び左畝検知センサ301bの少なくとも一つが物体を検知している場合、ロボット300の移動の妨げとなる障害物が存在する可能性が高いので、ロボット300は、ステップ365にて「No」と判定してステップ366に進む。ステップ366にて、ロボット300は、異常判定を行う。
【0126】
右畝検知センサ301a及び左畝検知センサ301bの両方が物体を検知していない場合、ロボット300は、ステップ365にて「Yes」と判定してステップ367に進む。ステップ367にて、ロボット300は、旋回位置A323bにて、駆動輪114の回転を制御することによって、右旋回方向に90°の旋回を試みてステップ368に進む。即ち、ロボット300は、その向きが畝の列方向に対して垂直になるまでの旋回を、試みる。
【0127】
ステップ368にて、ロボット300は、ロボット300が右旋回方向に90°旋回できたか否かを内部センサ301cによって取得された情報(内部センサデータ)に基づいて判定する。
【0128】
ロボット300が右旋回方向に90°旋回できていない場合、ロボット300は、ステップ368にて「No」と判定してステップ369に進み、あらかじめ記憶装置105bに記憶しておいた決められた時間内でリトライを実施する。即ち、この場合、ロボット300は、ステップ367に進み、右旋回方向に90°旋回できるまで旋回を試みる。なお、リトライに要した時間はタイマ105aにてカウントする。ロボット300は、再び、ステップ368に進み、ロボット300が右旋回方向に90°旋回できたか否かを判定する。ロボット300が右旋回方向に90°旋回できていない場合、ステップ369に進み、タイマ105aのカウント開始から一定時間が経過したか否かを判定する。
【0129】
タイマ105aのカウント開始から一定時間が経過していない場合、ロボット300は、ステップ369にて「No」と判定して再びステップ367の動作及びステップ368の動作を行う。
【0130】
タイマ105aのカウント開始から一定時間が経過した場合、ロボット300は、「Yes」と判定してステップ370に進み、異常判定を行う。
【0131】
ステップ368にて、ロボット300が右旋回方向に90°旋回できていた場合、ロボット300は、ステップ368にて「Yes」と判定してステップ371に進み、記憶装置105bに記憶しておいた一定の第2規定距離だけ直進する。即ち、ロボット300は、畝A321a、畝B321b及び畝C321cが並ぶ方向に沿って、一定の第2規定距離だけ直進する。なお、この一定の第2規定距離は、旋回位置A323bから右畝検知センサ301aによって畝B321bの畝端が検知可能な位置(例えば、畝端移動位置A323c)までの距離に対応する。
【0132】
その後、ロボット300は、ステップ372に進み、右畝検知センサ301aが物体(畝B321b)を検知しており、且つ、左畝検知センサ301bが物体を検知していないか否かを判定する。即ち、ロボット300は、右畝検知センサ301aのみが物体(畝B321b)を検知しているか否かを判定する。
【0133】
右畝検知センサ301a及び左畝検知センサ301bの検知状態が、「右畝検知センサ301aのみが物体を検知している状態」ではない場合、ロボット300は、ステップ372にて「No」と判定してステップ373に進み、異常判定を行う。
【0134】
右畝検知センサ301aのみが物体を検知している場合、ロボット300は、ステップ372にて「Yes」と判定してステップ374に進み、記憶装置105bに記憶しておいた一定の第3規定距離だけ直進する。
【0135】
その後、ロボット300は、ステップ375に進み、右畝検知センサ301a及び左畝検知センサ301bの両方が物体を検知していないか否かを判定する。
【0136】
右畝検知センサ301a及び左畝検知センサ301bの少なくとも一つが物体を検知している場合、ロボット300は、ステップ375にて「No」と判定してステップ376に進む。
【0137】
ロボット300は、ステップ376に進むと、GNSS部111によって取得された自己位置情報に基づいて、ロボット300が、畝間322bの畝間想定範囲内に存在するか否かを判定する。
【0138】
なお、畝間B322bの畝間想定範囲とは、旋回位置B323dを含むように畝間B322bを延長した場合の延長範囲(畝間B322bの端から延びる延長部分の範囲)であって、ロボット300がその範囲に存在する場合、右畝検知センサ301a及び左畝検知センサ301bが物体(畝)を検知していないことが想定される範囲である。ロボット300は、GNSS部111によって取得された自己位置情報並びに制御装置105のROMに格納された農場マップの畝、畝端及び畝間の位置に基づいて、畝間想定範囲を特定する。
【0139】
ロボット300が、畝間322bの畝間想定範囲内に存在するにも関わらず、右畝検知センサ301a及び左畝検知センサ301bの少なくとも一つが物体を検知している場合(ステップ375にて「No」と判定)、ロボット300の周囲に、ロボット300の移動の妨げとなる障害物等が存在している可能性が高いことが考えられる。
【0140】
従って、この場合、ロボット300は、ステップ376にて「Yes」と判定してステップ377に進み、異常判定を行う。
【0141】
これに対して、ロボット300が、畝間322bの畝間想定範囲外に存在する場合、ロボット300はその時点では旋回位置B323dに到達していないと考えられる。従って、この場合、ロボット300は、ステップ376にて「No」と判定してステップ374に進み、再び、一定の第3規定距離だけ直進してステップ375に進む。
【0142】
ステップ375にて、右畝検知センサ301a及び左畝検知センサ301bの両方が物体を検知していない場合、ロボット300は、ステップ375にて「Yes」と判定してステップ378に進み、記憶装置105bに記憶しておいた一定の第4規定距離だけ直進する。なお、この一定の第4規定距離は、便宜上「第2距離」とも称呼される場合がある。右畝検知センサ301a及び左畝検知センサ301bの両方が物体を検知しなくなった時点の位置(以下、「第2畝未検知位置」と称呼される。)で、ロボット300が右旋回方向に90°旋回して、直進すると、駆動輪114が畝B321bに乗り上げてしまう恐れがある。このため、ロボット300は、第2畝未検知位置から進行方向に第4規定距離だけ離れた位置で、旋回する必要がある。従って、ロボット300は、ステップ378にて、第4規定距離だけ直進して、ロボット300が畝に乗り上げることなく旋回することが可能な旋回位置B323dに移動する。
【0143】
その後、ロボット300は、ステップ379に進み、右畝検知センサ301a及び左畝検知センサ301bの両方が物体を検知していないか否かを判定する。これにより、ロボット300は、旋回位置B323dにて右畝検知センサ301a及び左畝検知センサ301bを用いてロボット300の左側及び右側に移動の妨げとなる障害物が存在しないことを確認する。
【0144】
右畝検知センサ301a及び左畝検知センサ301bの少なくとも一つが物体を検知している場合、ロボット300は、ステップ379にて「No」と判定してステップ380に進み、異常判定を行う。
【0145】
右畝検知センサ301a及び左畝検知センサ301bの両方が物体を検知していない場合、ロボット300は、ステップ379にて「Yes」と判定してステップ381に進み、旋回位置B323dにて、駆動輪114の回転を制御することによって、右旋回方向に90°の旋回を試みてステップ382に進む。即ち、ロボット300は、その向きが畝の列方向に対して平行になるまでの旋回を試みて、ステップ382に進む。
【0146】
ステップ382にて、ロボット300は、ロボット300が右旋回方向に90°旋回できたか否かを内部センサ301cによって取得された情報(内部センサデータ)に基づいて判定する。
【0147】
ロボット300が右旋回方向に90°旋回できていない場合、ロボット300は、ステップ382にて「No」と判定してステップ383に進み、あらかじめ記憶装置105bに記憶しておいた決められた時間内でリトライを実施する。即ち、この場合、ロボット300は、ステップ381に進み、右旋回方向に90°旋回できるまで旋回を試みる。なお、リトライに要した時間はタイマ105aにてカウントする。ロボット300は、再び、ステップ382に進み、ロボット300が右旋回方向に90°旋回できたか否かを判定する。ロボット300が右旋回方向に90°旋回できていない場合、ロボット300はステップ382にて「No」と判定してステップ383に進み、タイマ105aのカウント開始から一定時間が経過したか否かを判定する。
【0148】
タイマ105aのカウント開始から一定時間が経過していない場合、ロボット300は、ステップ383にて「No」と判定して再びステップ381の動作及びステップ382の動作を行う。
【0149】
タイマ105aのカウント開始から一定時間が経過した場合、ロボット300は、ステップ383にて「Yes」と判定してステップ384に進み、異常判定を行う。
【0150】
ステップ382にて、ロボット300が右旋回方向に90°旋回できていた場合、ロボット300は、ステップ382にて「Yes」と判定してステップ385に進み、記憶装置105bに記憶しておいた一定の第5規定距離だけ直進する。即ち、ロボット300は、畝間B322bに向かって、一定の第5規定距離だけ直進する。なお、この一定の第5規定距離は、例えば、旋回位置B323dから右畝検知センサ301a及び左畝検知センサ301bの両方によって、畝B321b及び畝C321cの検知が可能な位置(例えば、畝間移動位置B323e)までの距離に対応する。
【0151】
その後、ロボット300は、ステップ386に進み、右畝検知センサ301a及び左畝検知センサ301bの両方が物体(畝B321b及び畝C321c)を検知しているか否かを判定する。
【0152】
右畝検知センサ301a及び左畝検知センサ301bの少なくとも一つが物体を検知していない場合、ロボット300は、ステップ386にて「No」と判定してステップ387に進み、異常判定を行う。
【0153】
右畝検知センサ301a及び左畝検知センサ301bの両方が物体を検知している場合、ロボット300は、ステップ386にて「Yes」と判定してステップ388に進み、畝間322bへの移動を完了する。
【0154】
なお、ロボット300は、上述した図20のフローチャートに対して、ステップ361とステップ364との間に以下に述べるステップ362Aが追加された動作を、実行するようにしてもよい。
【0155】
ステップ362A:ロボット300は、GNSS部111によって取得された自己位置情報に基づいて、ロボット300が畝端想定範囲内に存在するか否かを判定する。
「畝端想定範囲」とは、例えば、畝間A322aと畝間A322aを延長させた場合の延長範囲とからなる範囲である。「畝端想定範囲」は、ロボット300がその範囲に存在する場合、右畝検知センサ301a及び左畝検知センサ301bによって畝A321a及び畝B321bのうちの少なくとも一つの畝端が検知できると想定される範囲である。ロボット300は、GNSS部111によって取得された自己位置情報並びに制御装置105のROMに格納された農場マップの畝、畝端及び畝間の位置に基づいて、畝端想定範囲を特定する。
【0156】
ロボット300が、畝端想定範囲内に存在するにも関わらず、右畝検知センサ301a及び左畝検知センサ301bの両方が物体を検知していない場合(ステップ361にて「Yes」と判定してステップ362Aに進む場合)、ロボット300に異常が生じている可能性がある。
【0157】
従って、この場合、ロボット300は、ステップ362Aにて「Yes」と判定してステップ363に進み、ロボット300が異常状態にあると判定する。
【0158】
ロボット300が、畝端想定範囲内に存在しない場合、ロボット300は、ステップ362Aにて「No」と判定してステップ364に進む。
【0159】
GNSS部111によって取得された自己位置情報及び農場マップに設定された畝端想定範囲に基づく判定処理(ステップ362A)が実行されることにより、ロボット300は、ロボット300が畝間A322aから出たことをより確実に判定することができる。更に、ロボット300は、ロボット300に異常状態が生じているか否かを判定できる。
【0160】
更に、ロボット300は、上述した図20のフローチャートに対して、ステップ375とステップ378との間に以下に述べるステップ376Aが追加された動作を、実行するようにしてもよい。
【0161】
ステップ376A:ロボット300は、GNSS部111によって取得された自己位置情報に基づいて、ロボット300が畝間B322bの畝間想定範囲外に存在するか否かを判定する。
【0162】
ロボット300が、畝間B322bの畝間想定範囲外に存在するにも関わらず、右畝検知センサ301a及び左畝検知センサ301bの両方が物体を検知していない場合(ステップ375にて「Yes」と判定してステップ376Aに進む場合)、ロボット300に異常が生じている可能性がある。
【0163】
従って、この場合、ロボット300は、ステップ376Aにて「Yes」と判定してステップ377に進み、ロボット300が異常状態にあると判定する。
【0164】
ロボット300が、畝間B322bの畝間想定範囲外に存在しない場合(即ち、ロボット322bが畝間B322bの畝間想定範囲内に存在する場合)、ロボット300は、ステップ376Aにて「No」と判定してステップ378に進む。
【0165】
GNSS部111によって取得された自己位置情報及び農場マップに設定された畝間想定範囲に基づく判定処理(ステップ376A)が実行されることにより、ロボット300は、ロボット300が畝間B322bの畝間想定範囲内に入ったことをより確実に判定することができる。更に、ロボット300は、ロボット300に異常状態が生じているか否かを判定できる。
【0166】
<効果>
第3実施形態に係る農業支援システムは、第1実施形態に係る農業支援システムと同様の効果を奏する。更に、この農業支援システムによれば、ロボット300が、右畝検知センサ301a及び左畝検知センサ301bの物体の検出結果に基づいて、畝間A322aを走行した後、適切な位置で曲がって隣接する畝間B322bへ移動することができる。従って、この農業支援システムは、農場118内を自律走行するロボット300が隣接する畝間B322bへ移動するときに、ロボット300が畝に接触することによって、畝の一部が崩壊してしまう可能性を低下できる。
【0167】
<<第4実施形態>>
本発明の第4実施形態に係る農業支援システムについて説明する。第4実施形態に係る農業支援システムでは、図21に示すように、ロボット300が、右畝検知センサ301a及び左畝検知センサ301bに代えて、深度センサ301d((LiDAR(Light Detection And Ranging))を備える。ロボット300は、深度センサ301dによるロボット300の左側及び右側に存在する物体(畝)の検知結果に基づいて、隣接する畝間へ移動するように制御される。なお、ロボット300は、深度センサ301dに代えて、LADAR(Laser Detection And Ranging)センサ、ToF(Time of Flight)、ステレオカメラ等を用いて、ロボット300の左側及び右側に存在する畝を検知するようにしてもよい。
【0168】
<ロボットの動作4(隣接する畝間への移動)>
図22は深度センサ301dを使用したロボット300の隣接する畝間への移動の動作例を説明するための図である。図22には、図19と同様の畝A321a、畝B321b及び畝C321cが形成された農場118が示されている。以下では、このような農場118において、ロボット300が畝間A322aから畝間B322bへ移動する例について説明する。なお、この例では、ロボット300が隣接する畝間B322bへ移動するときに、ロボット300が90°右旋回するようにしているが、ロボット300が隣接する畝間B322bへ移動するときに、ロボット300が270°左旋回するようにしてもよい。
【0169】
図23図21に示すロボット300が畝間A322aから隣接する畝間B322bへ移動するときの動作例を説明するためのフローチャートである。なお、図23に示すロボット300の各動作(処理)は、制御装置105によって実行される。
【0170】
ステップ390にて、ロボット300は畝間A322aを直進している。ロボット300が畝間A322aを直進している(例えば畝間移動位置C333aに存在している)場合、ロボット300は、深度センサ301dによって、ロボット300の左側に存在する畝A321a(物体)及びロボット300の右側に存在する畝B321b(物体)を検知している状態になる。
【0171】
ロボット300は、ステップ391に進み、直進しながら、深度センサ301dがロボット300の左側及び右側に存在する物体(畝A321a及び畝B321b)を検知していないか否かを判定する。
【0172】
深度センサ301dがロボット300の左側及び右側の少なくとも一方の側に存在する物体(畝A321a及び畝B321bの少なくとも一つ)を検知している場合、ロボット300は、ステップ391にて「No」と判定してステップ392に進む。
【0173】
ステップ392にて、ロボット300は、GNSS部111によって取得された自己位置情報に基づいて、ロボット300が深度センサ301dによって畝が検知できると想定される範囲(「畝想定範囲」)外に存在するか否かを判定する。なお、既述した通り、ロボット300は、GNSS部111によって取得された自己位置情報並びに制御装置105のROMに格納された農場マップの畝、畝端及び畝間の位置に基づいて、畝想定範囲を特定する。
【0174】
ロボット300が畝想定範囲外に存在する場合、ロボット300は、畝間A322aから畝間B322bへ移動できない可能性があるので、ステップ392にて「Yes」と判定してステップ393に進み、異常判定を行う。なお、異常判定を行った場合、ロボット300は、その動作を停止する。
【0175】
これに対して、ロボット300が畝想定範囲外に存在しない場合、深度センサ301dが物体(畝A321a及び畝B321bの少なくとも一つ)を検知しており、ロボット300が畝間322aの端を完全にこえていないと考えられる。従って、この場合、ロボット300は、ステップ392にて「No」と判定してステップ390に進み、直進を継続する。
【0176】
ステップ391にて、ロボット300が畝間322aの端を完全にこえて、深度センサ301dが物体(畝A321a及び畝B321b)を検知しなくなった場合、ロボット300は、ステップ391にて「Yes」と判定してステップ394に進む。
【0177】
ステップ394にて、ロボット300は、記憶装置105bに記憶しておいた一定の第1規定距離だけ直進する。
【0178】
その後、ロボット300は、ステップ395に進み、深度センサ301dがロボット300の左側及び右側に物体を検知していないか否かを判定する。これにより、ロボット300は、旋回位置C333bにて深度センサ301dを用いてロボット300の左側及び右側に移動の妨げとなる障害物が存在しないことを確認する。
【0179】
深度センサ301dがロボット300の左側及び右側の少なくとも一方の側に物体を検知している場合、ロボット300は、ステップ395にて「No」と判定してステップ396に進み、異常判定を行う。
【0180】
深度センサ301dがロボット300の左側及び右側に物体を検知していない場合、ロボット300は、ステップ395にて「Yes」と判定してステップ397に進み、旋回位置C333bにて、駆動輪114の回転を制御することによって、右旋回方向に90°の旋回を試みてステップ398に進む。
【0181】
ステップ398にて、ロボット300は、ロボット300が右旋回方向に90°旋回できたか否かを内部センサ301cによって取得された情報(内部センサデータ)に基づいて判定する。
【0182】
ロボット300が右旋回方向に90°旋回できていない場合、ロボット300は、ステップ398にて「No」と判定してステップ399に進み、あらかじめ記憶装置105bに記憶しておいた決められた時間内でリトライを実施する。即ち、この場合、ロボット300は、ステップ397に進み、右旋回方向に90°旋回できるまで、旋回を試みる。なお、リトライに要した時間はタイマ105aにてカウントする。ロボット300は、再び、ステップ398に進み、ロボット300が右旋回方向に90°旋回できたか否かを判定する。ロボット300が右旋回方向に90°旋回できていない場合、ステップ399に進み、タイマ105aのカウント開始から一定時間が経過したか否かを判定する。
【0183】
タイマ105aのカウント開始から一定時間が経過していない場合、ロボット300は、「No」と判定して再びステップ397の動作及びステップ398の動作を行う。
【0184】
タイマ105aのカウント開始から一定時間が経過した場合、ロボット300は、「Yes」と判定してステップ400に進み、異常判定を行う。
【0185】
ステップ398にて、ロボット300が右旋回方向に90°旋回できていた場合、ロボット300は、ステップ398にて「Yes」と判定してステップ401に進み、記憶装置105bに記憶しておいた一定の第2規定距離だけ直進する。なお、この一定の第2規定距離は、旋回位置C333bから深度センサ301dによって畝B321bの畝端が検知可能な位置(例えば、畝端移動位置B333c)までの距離に対応する。
【0186】
その後、ロボット300は、ステップ402に進み、深度センサ301dがロボット300の右側に存在する物体のみを検知しているか否かを判定する。
【0187】
深度センサ301dの検知状態が、深度センサ301dがロボット300の右側に存在する物体のみを検知している状態でない場合、ロボット300は、ステップ402にて「No」と判定してステップ403に進み、異常判定を行う。
【0188】
深度センサ301dがロボット300の右側に存在する物体のみを検知している場合、ロボット300は、ステップ402にて「Yes」と判定してステップ404に進み、記憶装置105bに記憶しておいた一定の第3規定距離だけ直進する。
【0189】
その後、ロボット300は、ステップ405に進み、深度センサ301がロボット300の左側及び右側に物体を検知していないか否かを判定する。
【0190】
深度センサ301dがロボット300の左側及び右側の少なくとも一方の側に物体を検知している場合、ロボット300は、ステップ405にて「No」と判定してステップ406に進む。
【0191】
ロボット300は、ステップ406に進むと、GNSS部111によって取得された自己位置情報に基づいて、ロボット300が、畝間322bの畝間想定範囲内に存在するか否かを判定する。なお、既述した通り、ロボット300は、GNSS部111によって取得された自己位置情報並びに制御装置105のROMに格納された農場マップの畝、畝端及び畝間の位置に基づいて、畝間想定範囲を特定する。
【0192】
ロボット300が、畝間322bの畝間想定範囲内に存在するにも関わらず、深度センサ301dが物体を検知している場合(ステップ405にて「No」との判定)、ロボット300の周囲に、ロボット300の移動の妨げとなる障害物等が存在している可能性が高いことが考えられる。従って、この場合、ロボット300は、ステップ406にて「Yes」と判定してステップ407に進み、異常判定を行う。
【0193】
これに対して、ロボット300が、畝間322bの畝間想定範囲外に存在する場合、ロボット300は、ステップ406にて「No」と判定してステップ404に進み、再び第3規定距離だけ直進してステップ405に進む。
【0194】
ステップ405にて、深度センサ301dがロボット300の左側及び右側に物体を検知していない場合、ロボット300は、ステップ405にて「Yes」と判定してステップ408に進み、記憶装置105bに記憶しておいた一定の第4規定距離だけ直進する。深度センサ301dが物体を検知しなくなった時点の位置(「第2畝未検知位置」)で、ロボット300が旋回して、直進すると、駆動輪114が畝B321bに乗り上げてしまう恐れがある。このため、ロボット300は、第2畝未検知位置から進行方向に第4規定距離だけ離れた位置で、旋回する必要がある。従って、ロボット300は、ステップ408にて、第4規定距離だけ直進して、ロボット300が畝に乗り上げることなく旋回することが可能な旋回位置D333dに移動する。
【0195】
その後、ロボット300は、ステップ409に進み、深度センサ301dが物体を検知していないか否かを判定する。これにより、ロボット300は、旋回位置D333dにて深度センサ301dを用いてロボット300の左側及び右側に移動の妨げとなる障害物が存在しないことを確認する。
【0196】
深度センサ301dがロボット300の左側及び右側の少なくとも一方の側に物体を検知している場合、ロボット300は、ステップ409にて「No」と判定してステップ410に進み、異常判定を行う。
【0197】
深度センサ301dがロボット300の左側及び右側に物体を検知していない場合、ロボット300は、ステップ409にて「Yes」と判定してステップ411に進み、旋回位置D333dにて、駆動輪114の回転を制御することによって、右旋回方向に90°の旋回を試みてステップ412に進む。
【0198】
ステップ412にて、ロボット300は、ロボット300が右旋回方向に90°旋回できたか否かを内部センサ301cによって取得された情報(内部センサデータ)に基づいて判定する。
【0199】
ロボット300が右旋回方向に90°旋回できていない場合、ロボット300は、ステップ412にて「No」と判定してステップ413に進み、あらかじめ記憶装置105bに記憶しておいた決められた時間内でリトライを実施する。即ち、この場合、ロボット300は、ステップ411に進み、右旋回方向に90°旋回できるまで旋回を試みる。なお、リトライに要した時間はタイマ105aにてカウントする。ロボット300は、再び、ステップ412に進み、ロボット300が右旋回方向に90°旋回できたか否かを判定する。ロボット300が右旋回方向に90°旋回できていない場合、ロボット300はステップ412にて「No」と判定してステップ413に進み、タイマ105aのカウント開始から一定時間が経過したか否かを判定する。
【0200】
タイマ105aのカウント開始から一定時間が経過していない場合、ロボット300は、ステップ413にて「No」と判定して再びステップ411の動作及びステップ412の動作を行う。
【0201】
タイマ105aのカウント開始から一定時間が経過した場合、ロボット300は、ステップ413にて「Yes」と判定してステップ414に進み、異常判定を行う。
【0202】
ステップ412にて、ロボット300が右旋回方向に90°旋回できていた場合、ロボット300は、ステップ412にて「Yes」と判定してステップ415に進み、記憶装置105bに記憶しておいた一定の第5規定距離だけ直進する。なお、この一定の第5規定距離は、例えば、旋回位置D333dから深度センサ301dによって、畝B321b及び畝C321cの検知が可能な位置(例えば、畝間移動位置D333e)までの距離に対応する。
【0203】
その後、ロボット300は、ステップ416に進み、深度センサ301dがロボット300の左側及び右側に物体(畝B321b及び畝C321c)を検知しているか否かを判定する。
【0204】
深度センサ301dがロボット300の左側及び右側の少なくとも一方の側に物体を検知していない場合、ロボット300は、ステップ416にて「No」と判定してステップ417に進み、異常判定を行う。
【0205】
深度センサ301dがロボット300の左側及び右側に物体(畝B321b及び畝C321c)を検知している場合、ロボット300は、ステップ416にて「Yes」と判定してステップ418に進み、畝間322bへの移動を完了する。
【0206】
なお、ロボット300は、上述した図23のフローチャートに対して、ステップ391とステップ394との間に以下に述べるステップ392Aが追加された動作を、実行するようにしてもよい。
【0207】
ステップ392A:ロボット300は、GNSS部111によって取得された自己位置情報に基づいて、ロボット300が畝端想定範囲内に存在するか否かを判定する。
「畝端想定範囲」は、ロボット300がその範囲に存在する場合、深度センサ301dによって畝A321a及び畝B321bの少なくとも一つが検知できると想定される範囲である。既述した通り、ロボット300は、GNSS部111によって取得された自己位置情報並びに制御装置105のROMに格納された農場マップの畝、畝端及び畝間の位置に基づいて、畝端想定範囲を特定する。
【0208】
ロボット300が、畝端想定範囲内に存在するにも関わらず、深度センサ301dがロボット300の左側及び右側に存在する物体(畝A321a及び畝B321b)を検知していない場合(ステップ391にて「Yes」と判定してステップ392Aに進む場合)、ロボット300に異常が生じている可能性がある。
【0209】
従って、この場合、ロボット300は、ステップ392Aにて「Yes」と判定してステップ393に進み、ロボット300が異常状態にあると判定する。
【0210】
ロボット300が、畝端想定範囲内に存在しない場合、ロボット300は、ステップ392Aにて「No」と判定してステップ394に進む。
【0211】
GNSS部111によって取得された自己位置情報及び農場マップに設定された畝端想定範囲に基づく判定処理(ステップ392A)が実行されることにより、ロボット300は、ロボット300が畝間A322aから出たことをより確実に判定することができる。更に、ロボット300は、ロボット300に異常状態が生じているか否かを判定できる。
【0212】
更に、ロボット300は、上述した図23のフローチャートに対して、ステップ405とステップ408との間に以下に述べるステップ406Aが追加された動作を、実行するようにしてもよい。
【0213】
ステップ406A:ロボット300は、GNSS部111によって取得された自己位置情報に基づいて、ロボット300が畝間B322bの畝間想定範囲外に存在するか否かを判定する。
【0214】
ロボット300が、畝間B322bの畝間想定範囲外に存在するにも関わらず、深度センサ301dがロボット300の左側及び右側に物体を検知していない場合(ステップ405にて「Yes」と判定してステップ406Aに進む場合)、ロボット300に異常が生じている可能性がある。
【0215】
従って、この場合、ロボット300は、ステップ406Aにて「Yes」と判定してステップ407に進み、ロボット300が異常状態にあると判定する。
【0216】
ロボット300が、畝間B322bの畝間想定範囲外に存在しない場合(即ち、ロボット300が、畝間B322bの畝間想定範囲内に存在する場合)、ロボット300は、ステップ406Aにて「Yes」と判定してステップ408に進む。
【0217】
GNSS部111によって取得された自己位置情報及び農場マップに設定された畝間想定範囲に基づく判定処理(ステップ406A)が実行されることにより、ロボット300は、ロボット300が畝間B322bの畝間想定範囲内に入ったことをより確実に判定することができる。更に、ロボット300は、ロボット300に異常状態が生じているか否かを判定できる。
【0218】
<効果>
第4実施形態に係る農業支援システムは、第3実施形態に係る農業支援システムと同様の効果を奏する。
【0219】
<<第5実施形態>>
本発明の第5実施形態に係る農業支援システムについて説明する。本発明の第5実施形態に係る農業支援システムは、図24に示すように、農場118内の所定位置に旋回する位置を示すマーカA351a及びマーカB351bを設置している。図21に示すロボット300が、監視装置106及び深度センサ301dによってマーカA351a及びマーカB351bを認識することによって、畝間A322aから畝間B322bへの移動動作を実行する。
【0220】
農場118において、マーカA351aは、畝間A322aを延ばした延長線上に設置されている。マーカB351bは、畝C321cを延ばした延長線上に設置されている。
【0221】
ロボット300は、畝間322aを直進しながら深度センサ301dによってロボット300からマーカA351aまでの距離を測定する。ロボット300は、測定した距離が記憶装置105bに設定した一定の距離となった旋回位置E343bで右旋回方向に90°旋回する。
【0222】
その後、ロボット300は、直進しながら深度センサ301dによってロボット300からマーカB351bまでの距離を測定する。ロボット300は、測定した距離が記憶装置105bに設定した一定の距離となる旋回位置E343dで右旋回方向に90°旋回する。その後、ロボット300は、直進することにより、畝間B322bに入っていき、畝間A322aから畝間B322bへの移動を完了する。
【0223】
なお、マーカA351a及びマーカB351bには、ユニークな情報を持たせることができる。例えばマーカの設置位置を示す情報を文字やQRコード(登録商標)等で記載しておき、監視装置106で読み取ることで、ロボット300は、ロボット300の正確な自己位置を取得することができる。更に、ロボット300は、読み取った情報に基づいてGNSS部311によって取得された自己位置情報に誤差が発生している判定した場合、自己位置情報の補正が可能となる。
【0224】
<ロボットの動作5(隣接する畝間への移動)>
図25はマーカが設置された農場118におけるロボット300の隣接する畝間への移動の動作例を説明するためのフローチャートである。なお、ロボット300の各動作(処理)は、制御装置105によって実行される。
【0225】
ステップ420にて、ロボット300は畝間A322aを直進している。ロボット300は、ステップ421に進み、監視装置106によってマーカA351aを認識してマーカA351aの前まで移動する。ロボット300は、深度センサ301dによってマーカA351aまでの距離を測定し、マーカA351aまでの距離と記憶装置105bに設定した距離に基づいて、ロボット300が旋回位置E343bに存在するか否かを判定する。
【0226】
ロボット300が旋回位置E343bに存在しない場合、ロボット300は、ステップ421にて「No」と判定してステップ422に進み、GNSS部311によって取得された自己位置情報に基づいて、ロボット300が旋回位置E343bの想定範囲外に存在するか否かを判定する。なお、旋回位置E343bの想定範囲は、その範囲内でロボット300が存在する場合、ロボット300が深度センサ301dによってマーカA351aを認識できる範囲である。「旋回位置E343bの想定範囲」は、便宜上、「第1マーカ検知想定範囲」とも称呼される場合がある。
【0227】
ロボット300が旋回位置E343bの想定範囲内に存在する場合、ロボット300はステップ422にて「No」と判定してステップ420に進み、再度ロボット300は直進し、旋回位置E343bまでの移動を試みる。
【0228】
ロボット300が旋回位置E343bの想定範囲外に存在する場合、ロボット300はステップ422にて「Yes」と判定してステップ423に進み、異常判定を行う。即ち、ロボット300がマーカA351aを認識できる想定範囲外に存在するにも関わらずマーカA351aを検知できてしまっている(ステップ421にて「No」との判定)ので、ロボット300は異常判定を行う。
【0229】
ロボット300が旋回位置E343bに存在する場合、ロボット300は、ステップ421にて「Yes」と判定してステップ424に進み、旋回位置E343bにて、駆動輪114の回転を制御することによって、右旋回方向に90°の旋回を試みてステップ425に進む。
【0230】
ステップ425にて、ロボット300は、ロボット300が右旋回方向に90°旋回できたか否かを内部センサ301cによって取得された情報(内部センサデータ)に基づいて判定する。
【0231】
ロボット300が右旋回方向に90°旋回できていない場合、ロボット300は、ステップ425にて「No」と判定してステップ426に進み、あらかじめ記憶装置105bに記憶しておいた決められた時間内でリトライを実施する。即ち、この場合、ロボット300は、ステップ424に進み、右旋回方向に90°旋回できるまで旋回を試みる。なお、リトライに要した時間はタイマ105aにてカウントする。ロボット300は、再び、ステップ425に進み、ロボット300が右旋回方向に90°旋回できたか否かを判定する。ロボット300が右旋回方向に90°旋回できていない場合、ステップ426に進み、タイマ105aのカウント開始から一定時間が経過したか否かを判定する。
【0232】
タイマ105aのカウント開始から一定時間が経過していない場合、ロボット300は、「No」と判定して再びステップ424の動作及びステップ425の動作を行う。
【0233】
タイマ105aのカウント開始から一定時間が経過した場合、ロボット300は、ステップ426にて「Yes」と判定してステップ427に進み、異常判定を行う。
【0234】
ステップ425にて、ロボット300が右旋回方向に90°旋回できていた場合、ロボット300は、ステップ425にて「Yes」と判定してステップ428に進み、マーカB351bに向かって直進する。
【0235】
ロボット300は、ステップ429に進み、監視装置106によってマーカB351bを認識してマーカB351bの前まで移動する。ロボット300は、深度センサ301dによってマーカB351bまでの距離を測定し、マーカB351bまでの距離と記憶装置105bに設定した距離に基づいて、ロボット300が旋回位置F343dに存在するか否かを判定する。
【0236】
ロボット300が旋回位置F343dに存在しない場合、ロボット300は、ステップ429にて「No」と判定してステップ430に進み、GNSS部311によって取得された自己位置情報に基づいて、ロボット300が旋回位置F343dの想定範囲外に存在するか否かを判定する。なお、旋回位置F343dの想定範囲は、その範囲内にロボットが存在する場合、ロボット300が深度センサ301dによってマーカB351bを認識できる範囲である。旋回位置F343dの想定範囲は、便宜上、「第2マーカ検知想定範囲」とも称呼される場合がある。
【0237】
ロボット300が旋回位置F343dの想定範囲内に存在する場合、ロボット300はステップ430にて「No」と判定してステップ428に進み、再度ロボット300は直進し、旋回位置F343dまでの移動を試みる。
【0238】
ロボット300が旋回位置F343dの想定範囲外に存在する場合、ロボット300はステップ430にて「Yes」と判定してステップ431に進み、異常判定を行う。即ち、ロボット300がマーカB351bを認識できる想定範囲外に存在するにも関わらずマーカB351bを検知できてしまっている(ステップ429)ので、ロボット300は異常判定を行う。
【0239】
ロボット300が旋回位置F343dに存在する場合、ロボット300は、ステップ429にて「Yes」と判定してステップ432に進み、旋回位置F343dにて、駆動輪114の回転を制御することによって、右旋回方向に90°の旋回を試みてステップ433に進む。
【0240】
ステップ433にて、ロボット300は、ロボット300が右旋回方向に90°旋回できたか否かを内部センサ301cによって取得された情報(内部センサデータ)に基づいて判定する。
【0241】
ロボット300が右旋回方向に90°旋回できていない場合、ロボット300は、ステップ433にて「No」と判定してステップ434に進み、あらかじめ記憶装置105bに記憶しておいた決められた時間内でリトライを実施する。即ち、この場合、ロボット300は、ステップ432に進み、右旋回方向に90°旋回できるまで旋回を試みる。なお、リトライに要した時間はタイマ105aにてカウントする。ロボット300は、再び、ステップ433に進み、ロボット300が右旋回方向に90°旋回できたか否かを判定する。ロボット300が右旋回方向に90°旋回できていない場合、ステップ434に進み、タイマ105aのカウント開始から一定時間が経過したか否かを判定する。
【0242】
タイマ105aのカウント開始から一定時間が経過していない場合、ロボット300は、「No」と判定して再びステップ432の動作及びステップ433の動作を行う。
【0243】
タイマ105aのカウント開始から一定時間が経過した場合、ロボット300は、ステップ434にて「Yes」と判定してステップ435に進み、異常判定を行う。
【0244】
ステップ433にて、ロボット300が右旋回方向に90°旋回できていた場合、ロボット300は、ステップ433にて「Yes」と判定してステップ446に進み、直進して畝間322bへの移動を完了する。
【0245】
<効果>
第5実施形態に係る農業支援システムは、第1実施形態に係る農業支援システムと同様の効果を奏する。更に、この農業支援システムによれば、ロボット300が、ロボット300とマーカ(マーカA351a、マーカB351b)との間の距離に基づいて、畝間A322aを走行した後適切な位置で曲がることにより、隣接する畝間B322bへ移動することができる。従って、この農業支援システムは、農場118内を自律走行するロボット300が隣接する畝間B322bへ移動するときに、ロボット300が畝に接触することによって、畝の一部が崩壊してしまう可能性を低下できる。
【0246】
<<変形例>>
本発明は上記各実施形態に限定されることなく、本発明の範囲内において種々の変形例を採用することができる。更に、上記各実施形態の特徴は、本発明の範囲を逸脱しない限り、互いに組み合わせることが可能である。
【0247】
例えば、上述の各実施形態において、ロボットは、複数対の駆動輪を備えた移動体やクローラーであってもよい。農場内に複数のロボットが存在する場合、一のロボットは、他のロボットの自己位置情報を含む情報を利用してもよい。
【符号の説明】
【0248】
101…ロボット、102…サーバ、103…端末、105…制御装置、106…監視装置、107…外部センサ、108…内部センサ、109…通信部、110…アンテナ、111…GNSS部、112…モータ、113…駆動軸、114…駆動輪、118…農場、119…畝、120…畝間、121…監視画像、123…農場マップデータ、301a…右畝検知センサ、301b…左畝検知センサ、322a…畝間A、322b…畝間B、S…農業支援システム
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12A
図12B
図12C
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25