▶ 水藤 裕太の特許一覧
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025016099
(43)【公開日】2025-01-31
(54)【発明の名称】無人作業システム
(51)【国際特許分類】
G05D 1/43 20240101AFI20250124BHJP
【FI】
G05D1/02 H
【審査請求】有
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023119148
(22)【出願日】2023-07-21
(11)【特許番号】
(45)【特許公報発行日】2024-10-16
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り (1)2022年9月16日 ウェブサイト(https://protopedia.net/prototype/3357)において公開 (2)2023年3月1日 YOUTUBEウェブサイト(https://www.youtube.com/watch?v=9V5B-Ezo7kg&t=4s)において公開 (3)2023年5月8日 ウェブサイト(https://hackaday.io/project/190977-roktrack-pylon-guided-mower)において公開 (4)2023年6月6日 長岡市のながおか・若者・しごと機構が主催する「若者提案プロジェクト補助金」の審査会において公開
(71)【出願人】
【識別番号】523277736
【氏名又は名称】水藤 裕太
(74)【代理人】
【識別番号】100091373
【弁理士】
【氏名又は名称】吉井 剛
(72)【発明者】
【氏名】水藤 裕太
【テーマコード(参考)】
5H301
【Fターム(参考)】
5H301AA03
5H301BB12
5H301CC03
5H301CC06
5H301CC10
5H301FF07
5H301FF11
5H301FF13
5H301FF18
5H301GG06
5H301GG09
5H301HH19
5H301LL01
(57)【要約】
【課題】簡易な構成で、作業エリアに対して所定の作業を満遍なく行うことができる無人作業システムを提供することを目的とする。
【解決手段】移動体1の前進・停止処理において、撮像部2で取得した画像中のマーカーMの画像に占める
高さを
画素数で取得し、この
画素数と、移動体1の移動を停止させる基準値である移動停止基準値とを比較し、
画素数<移動停止基準値の場合は、移動体1を前進させ、
画素数≧移動停止基準値の場合は、移動体1を停止させ、さらに、移動体1が転向する毎に
、停止位置補正処理及び移動方向補正処理を行い移動体1が作業エリアA内を外側から
徐々に内側に向かって旋回移動しながら所定の作業を行う無人作業システム。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数のマーカーを各コーナーに配置して区画した作業エリア内を、移動体を自律移動させて所定の作業を行う無人作業システムであって、前記移動体は、前方を撮像する撮像部と、この撮像部により取得した画像に基づき前記移動体の移動を制御する制御部とを備え、前記制御部は、前記撮像部により取得した前記画像中のマーカーを認識するマーカー認識処理と、前記画像中に認識したマーカーの該画像に占める大きさを数値で取得し、この取得した数値と、前記移動体の移動を停止させる基準値となる移動停止基準値とを比較し、前記取得した数値が前記移動停止基準値よりも小さい値の場合、前記移動体を前進させ、前記取得した数値が前記移動停止基準値以上の場合、前記移動体を停止させる前進・停止処理と、前記移動体の前進動作が停止した場合、前記移動体を所定方向に回転させて次の移動先となるマーカーを捜索し、発見したマーカーの方向に前記移動体を転向させる転向処理と、前記移動体が転向する毎に、前記前進・停止処理における前記移動停止基準値を減算し、転向後の前記移動体を、移動先マーカーに対して、一つ前の移動先マーカーに対する停止位置よりも手前で停止させる停止位置補正処理とを実行し、前記移動体が前進と転向を繰り返しながら前記作業エリア内を外側から内側に向かって旋回移動するように構成されていることを特徴とする無人作業システム。
【請求項2】
請求項1記載の無人作業システムにおいて、前記制御部は、前記移動体が転向する毎に、前記移動体の移動方向を該移動方向に存する移動先マーカーに対して所定量内側に補正する移動方向補正処理を実行し、さらに、この移動方向補正処理においては、前記移動体が転向する毎に前記所定量が増加していくように構成されていることを特徴とする無人作業システム。
【請求項3】
請求項1記載の無人作業システムにおいて、前記前進・停止処理における前記取得した数値は、前記撮像部により取得した画像中のマーカーの高さが占める画素数であり、また、前記移動停止基準値は、前記撮像部により取得した画像全体の縦画素数に所定係数を乗した値であることを特徴とする無人作業システム。
【請求項4】
請求項2記載の無人作業システムにおいて、前記前進・停止処理における前記取得した数値は、前記撮像部により取得した画像中のマーカーの高さが占める画素数であり、また、前記移動停止基準値は、前記撮像部により取得した画像全体の縦画素数に所定係数を乗した値であることを特徴とする無人作業システム。
【請求項5】
請求項1~4いずれか1項に記載の無人作業システムにおいて、前記制御部は、前記作業エリアの最長辺の長さを推定し、この最長辺の長さに基づき、前記移動体の前記作業エリアにおける前記旋回移動に要する転向回数を目標転向回数として設定する目標転向回数設定処理を実行し、前記移動体の転向回数が前記目標転向回数に到達した場合、前記移動体の移動を終了するように構成されていることを特徴とする無人作業システム。
【請求項6】
請求項5記載の無人作業システムにおいて、前記制御部は、前記移動体が左回りに旋回移動しながら前記所定の作業を行う左旋回移動処理と、前記移動体が右回りに旋回移動しながら前記所定の作業を行う右旋回移動処理とを実行し、一回目の旋回移動処理において前記移動体の転向回数が前記目標転向回数に到達した場合、前記移動体を任意のマーカー近傍に移動させ、この移動位置から前記一回目と逆回りに該一回目と同様の旋回移動処理を実行するように構成されていることを特徴とする無人作業システム。
【請求項7】
請求項1~4いずれか1項に記載の無人作業システムにおいて、前記移動体が行う前記所定の作業は、草刈り作業であることを特徴とする無人作業システム。
【請求項8】
請求項5記載の無人作業システムにおいて、前記移動体が行う前記所定の作業は、草刈り作業であることを特徴とする無人作業システム。
【請求項9】
請求項6記載の無人作業システムにおいて、前記移動体が行う前記所定の作業は、草刈り作業であることを特徴とする無人作業システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のマーカーで区画した作業エリア内を、移動体を自律移動させて所定の作業を行う無人作業システムに関するものである。
【背景技術】
【0002】
従来、複数のマーカーで区画した作業エリア内を、移動体を自律移動させて所定の作業を行う無人作業システムとして、特許文献1,2に開示されるシステムが提案されている。
【0003】
特許文献1に開示されるシステム(以下、「従来例1」という。)は、作業エリアの各コーナーに設置する複数のマーカーと、作業エリア内を移動する草刈機とを備え、マーカーは、波長の長い電磁波を発信する電磁波発信手段を備え、草刈機は、各電磁波発信手段から発信される電磁波を回転型アンテナで受信し、草刈機の基準線と各マーカーの角度から草刈機の位置を割り出す演算手段を備えるものであり、天気や障害物に影響を受けることなく、高い精度で作業エリア内における走行エリアを認識することができる点を特徴とするものである。
【0004】
また、特許文献2に開示されるシステム(以下、「従来例2」という。)は、進行方向の前方に配置される2つの標識を検出する検出装置と、検出装置の検出結果に基づいて、現在位置を原点とする前記2つの標識の座標を算出し、この座標から自律移動ロボットの目標経路を設定する目標経路設定装置とを備える自律移動ロボットを備えるものであり、標識をおくだけで、この標識によって囲まれた作業エリアにおいて自律移動ロボットが自律して移動しながら所定の作業を行うことを特徴とするものである。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2014-149682号公報
【特許文献2】特開2021-170287号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来例1のシステムに用いられるマーカーは、電磁波発信手段を備えるものであり、また、従来例2のシステムに用いられるマーカーは、距離測定部と方位測定部を備えるものであり、いずれのシステムも専用マーカーを用いるため、設備コストがかかり、また、マーカーの入手も容易でなく、簡易にマーカーを増設して作業エリアの区画変更を行うことができなかった。
【0007】
本発明は、このような従来例の問題点に鑑みなされたものであり、専用マーカーを必要とせず、たとえば市販のパイロン(三角コーン)などの安価で入手が容易なマーカーを用いて、移動体の作業エリア内の自律移動を制御し、作業エリアに対して所定の作業を満遍なく行うことができる無人作業システムを提供することを目的とする。
【課題を解決するための手段】
【0008】
添付図面を参照して本発明の要旨を説明する。
【0009】
複数のマーカーMを各コーナーに配置して区画した作業エリアA内を、移動体1を自律移動させて所定の作業を行う無人作業システムであって、前記移動体1は、前方を撮像する撮像部2と、この撮像部2により取得した画像に基づき前記移動体1の移動を制御する制御部とを備え、前記制御部は、前記撮像部2により取得した前記画像中のマーカーMを認識するマーカー認識処理と、前記画像中に認識したマーカーMの該画像に占める大きさを数値で取得し、この取得した数値と、前記移動体1の移動を停止させる基準値となる移動停止基準値とを比較し、前記取得した数値が前記移動停止基準値よりも小さい値の場合、前記移動体1を前進させ、前記取得した数値が前記移動停止基準値以上の場合、前記移動体1を停止させる前進・停止処理と、前記移動体1の前進動作が停止した場合、前記移動体1を所定方向に回転させて次の移動先となるマーカーMを捜索し、発見したマーカーMの方向に前記移動体1を転向させる転向処理と、前記移動体1が転向する毎に、前記前進・停止処理における前記移動停止基準値を減算し、転向後の前記移動体1を、移動先マーカーMに対して、一つ前の移動先マーカーMに対する停止位置よりも手前で停止させる停止位置補正処理とを実行し、前記移動体1が前進と転向を繰り返しながら前記作業エリアA内を外側から内側に向かって旋回移動するように構成されていることを特徴とする無人作業システムに係るものである。
【0010】
また、請求項1記載の無人作業システムにおいて、前記制御部は、前記移動体1が転向する毎に、前記移動体1の移動方向を該移動方向に存する移動先マーカーMに対して所定量内側に補正する移動方向補正処理を実行し、さらに、この移動方向補正処理においては、前記移動体1が転向する毎に前記所定量が増加していくように構成されていることを特徴とする無人作業システムに係るものである。
【0011】
また、請求項1記載の無人作業システムにおいて、前記前進・停止処理における前記取得した数値は、前記撮像部2により取得した画像中のマーカーMの高さが占める画素数であり、また、前記移動停止基準値は、前記撮像部2により取得した画像全体の縦画素数に所定係数を乗した値であることを特徴とする無人作業システムに係るものである。
【0012】
また、請求項2記載の無人作業システムにおいて、前記前進・停止処理における前記取得した数値は、前記撮像部2により取得した画像中のマーカーMの高さが占める画素数であり、また、前記移動停止基準値は、前記撮像部2により取得した画像全体の縦画素数に所定係数を乗した値であることを特徴とする無人作業システムに係るものである。
【0013】
また、請求項1~4いずれか1項に記載の無人作業システムにおいて、前記制御部は、前記作業エリアAの最長辺の長さを推定し、この最長辺の長さに基づき、前記移動体1の前記作業エリアAにおける前記旋回移動に要する転向回数を目標転向回数として設定する目標転向回数設定処理を実行し、前記移動体1の転向回数が前記目標転向回数に到達した場合、前記移動体1の移動を終了するように構成されていることを特徴とする無人作業システムに係るものである。
【0014】
また、請求項5記載の無人作業システムにおいて、前記制御部は、前記移動体1が左回りに旋回移動しながら前記所定の作業を行う左旋回移動処理と、前記移動体1が右回りに旋回移動しながら前記所定の作業を行う右旋回移動処理とを実行し、一回目の旋回移動処理において前記移動体1の転向回数が前記目標転向回数に到達した場合、前記移動体1を任意のマーカーM近傍に移動させ、この移動位置から前記一回目と逆回りに該一回目と同様の旋回移動処理を実行するように構成されていることを特徴とする無人作業システムに係るものである。
【0015】
また、請求項1~4いずれか1項に記載の無人作業システムにおいて、前記移動体1が行う前記所定の作業は、草刈り作業であることを特徴とする無人作業システムに係るものである。
【0016】
また、請求項5記載の無人作業システムにおいて、前記移動体1が行う前記所定の作業は、草刈り作業であることを特徴とする無人作業システムに係るものである。
【0017】
また、請求項6記載の無人作業システムにおいて、前記移動体1が行う前記所定の作業は、草刈り作業であることを特徴とする無人作業システムに係るものである。
【発明の効果】
【0018】
本発明は上述のように構成したから、専用マーカーを必要とせず、たとえば市販のパイロン(三角コーン)などの安価で入手が容易なマーカーを用いて、移動体の作業エリア内の自律移動を制御し、作業エリアに対して所定の作業を満遍なく行うことができる無人作業システムとなる。
【図面の簡単な説明】
【0019】
【
図1】本発明における移動体の動作例を示す説明図である。
【
図4】本実施例の初期化処理に係るフローチャートである。
【
図5】本実施例のマーカー発見処理に係るフローチャートである。
【
図6】本実施例のメインループ処理に係るフローチャートである。
【
図7】本実施例の安全性確認処理に係るフローチャートである。
【
図8】本実施例の転向処理に係るフローチャートである。
【
図9】本実施例の自己位置推定処理に係るフローチャートである。
【
図10】本実施例の作業エリアに対する移動体の動作例を時系列的に示す説明図である。
【
図11】本実施例の作業エリアに対する移動体の移動軌跡例を示す説明図である。
【発明を実施するための形態】
【0020】
好適と考える本発明の実施形態を、図面に基づいて本発明の作用を示して簡単に説明する。
【0021】
本発明は、作業が開始されると、まず、撮像部2により移動体1の前方(移動体1の移動方向)の撮像を行う撮像処理が実行され、制御部により、この撮像部2の撮像処理により取得した画像中のマーカーMを認識するマーカー認識処理が実行される。
【0022】
続いて、マーカー認識処理で認識したマーカーMの画像に占める大きさを数値で取得し、この取得した数値と、移動体1の移動を停止させる基準値となる移動停止基準値とを比較し、取得した数値が移動停止基準値よりも小さい値の場合、移動体1を前進させ、取得した数値が移動停止基準値以上の場合、移動体1を停止させる前進・停止処理が実行される。
【0023】
本発明は、前記撮像処理→前記マーカー認識処理→前記前進・停止処理が繰り返し実行され、取得した数値が移動停止基準値以上になるまで、移動体1が移動先マーカーMを目指して前進動作する。
【0024】
取得した数値が移動停止基準値以上になり、移動体1の前進動作が停止したら、移動体1を所定方向に回転させて次の移動先となるマーカーMを捜索し、発見したマーカーMの方向に移動体1を転向させる転向処理が実行され、また、この転向処理において、前進・停止処理における移動停止基準値を減算し、転向後の移動体1を、移動先マーカーMに対して、一つ前の移動先マーカーMに対する停止位置よりも手前で停止させる停止位置補正処理が実行された後、前記撮像処理→前記マーカー認識処理→前記前進・停止処理を繰り返し実行され、取得した数値が移動停止基準値以上になるまで移動体1が次の移動先マーカーMを目指して前進動する。
【0025】
本発明は、前記停止位置補正処理が、移動体1が転向する毎に実行されるから、移動体1は、転向する毎に、移動先マーカーMに対して、徐々に転向するタイミングが早くなり、これにより、移動体1は、前進と転向を繰り返しながら作業エリアA内を外側から内側に向かって旋回移動することになり、作業エリアAに対して満遍なく所定の作業を行うことができることとなる。
【0026】
具体的には、たとえば、
図1に示すような、方形状の作業エリアAを作業する場合は、作業エリアAの各コーナーにマーカーM1,M2,M3,M4を配置し、これらのマーカーM1,M2,M3,M4で作業エリアAを区画し、このマーカーM1,M2,M3,M4で区画した作業エリアAにおいて、移動体1をスタート地点のマーカーM1の位置に、次の移動先となるマーカーM2に向けてセットし、処理を開始する。
【0027】
処理開始後、マーカーM1に位置する移動体1は、移動先マーカーM2を認識し、この認識したマーカーM2の画像に占める大きさを示す数値が移動停止基準値よりも小さい間はマーカーM2に向かって前進し、マーカー認識処理で認識したマーカーM2の画像に占める大きさを示す数値が移動停止基準値以上になったら移動を停止する。
【0028】
移動体1が停止したら、その位置で転向処理を実行し、この転向処理で認識(発見)した次の移動先マーカーM3に向かって前進する。この際、転向処理時に停止位置補正処理が実行されるので、マーカーM3に対する停止位置は、マーカーM2よりも手前で停止することとなる。マーカーM3に対する前進が終了し停止したら、マーカーM2からマーカーM3への移動時と同様の処理が実行され、以降、制御部により上述した各処理が繰り返し実行され、
図1に示すように、移動体1が、前進と転向を交互に繰り返して作業エリアA内を外側から内側に向かって、言い換えると、作業エリアAの最外周から中心部に向かって、自律移動で旋回しながら所定の作業が行われる。
【0029】
このように、本発明は、専用マーカーを必要とせず、たとえば市販のパイロン(三角コーン)などの安価で入手が容易なマーカーMを用いて、移動体1の作業エリアA内の自律移動を制御し、作業エリアAに対して所定の作業を満遍なく行うことができる画期的な無人作業システムとなる。
【実施例0030】
本発明の具体的な実施例について図面に基づいて説明する。
【0031】
本実施例は、複数のマーカーMを各コーナーに配置して区画した作業エリアA内を、移動体1を自律移動させて所定の作業を行う無人作業システムであって、前記移動体1は、前方を撮像する撮像部2と、この撮像部2により取得した画像に基づき前記移動体1の移動を制御する制御部とを備え、前記制御部は、前記撮像部2により取得した前記画像中のマーカーMを認識するマーカー認識処理と、前記画像中に認識したマーカーMの該画像に占める大きさを数値で取得し、この取得した数値と、前記移動体1の移動を停止させる基準値となる移動停止基準値とを比較し、前記取得した数値が前記移動停止基準値よりも小さい値の場合、前記移動体1を前進させ、前記取得した数値が前記移動停止基準値以上の場合、前記移動体1を停止させる前進・停止処理と、前記移動体1の前進動作が停止した場合、前記移動体1を所定方向に回転させて次の移動先となるマーカーMを捜索し、発見したマーカーMの方向に前記移動体1を転向させる転向処理と、前記移動体1が転向する毎に、前記前進・停止処理における前記移動停止基準値を減算し、転向後の前記移動体1を、移動先マーカーMに対して、一つ前の移動先マーカーMに対する停止位置よりも手前で停止させる停止位置補正処理(なお、作業エリアAの形状や目標転向回数などの条件の変化により、例外的に移動先マーカーMに対して、一つ前の移動先マーカーMに対する停止位置よりも手前で停止しない場合も含む。)とを実行し、前記移動体1が前進と転向を繰り返しながら前記作業エリアA内を外側から内側に向かって旋回移動するように構成されているものである。
【0032】
なお、本実施例において、「転向」は移動体1が移動先の方向に向くことを意味し、「回転」は移動体1が「転向」するための動作を意味する。すなわち、移動体1は、一回以上の「回転」により「転向」する。また、「旋回」は移動体1の作業エリアAに対する移動状態を意味する。
【0033】
また、本実施例は、前記移動体1を草刈機に構成し、前記所定の作業として草刈りや芝刈り作業に適用する草刈・芝刈作業システムとして構成した場合である。なお、本実施例は、前記草刈・芝刈作業システムに限定されるものではなく、たとえば除雪作業、清掃作業など様々な作業システムとしても構成可能である。
【0034】
以下、本実施例に係る構成各部について詳述する。
【0035】
本実施例に用いるマーカーMは、適宜な高さと幅を有し、後述する移動体1に設けられる撮像部2の撮像により取得した画像において認識(検出)可能なものであれば適宜採用可能であり、たとえば、安価で入手が容易な市販のパイロン(三角コーン)などが好ましい。なお、マーカーMの数は、作業エリアAの形状により適宜変更可能なものとする。
【0036】
また、移動体1は、
図2,3に示すように、本体部3の左右に走行手段としての履帯4(クローラ、キャタピラともいう。)が設けられた履帯式車両に構成されている。
【0037】
また、本実施例の移動体1は、各履帯4の前部外側に偏心タイヤ5が設けられ、この偏心タイヤ5により履帯4で乗り越えることができない段差部を乗り越え移動できるように構成されている。
【0038】
具体的には、履帯4及び偏心タイヤ5は、モータで駆動する電動タイプであり、また、偏心タイヤ5は履帯4の駆動軸に設けられ、駆動源を履帯4と共通とし、履帯4の駆動に伴い偏心回転するように構成されている。
【0039】
また、本実施例の移動体1は、上記走行手段の他、本体部3の前側に補助タイヤ6が設けられ、下がり段差部により移動体1が前のめり状態になった場合、この補助タイヤ6が地面に接地し、移動体1の転倒を防止するように構成されている。
【0040】
また、移動体1は、本体部3の上部に前方を撮像する撮像部2が設けられている。
【0041】
具体的には、撮像部2は、移動体1に設けられた支持部2aを介して移動体1の幅方向中央部に設けられている。
【0042】
詳細には、撮像部2は、撮像した映像をリアルタイムに転送処理することができるWebカメラ(本実施例は広角カメラを採用)であり、
図2に示すように、く字状に屈曲自在に構成される支持部2aを介して移動体1に設けられ、支持部2aの屈曲度合いを変更することにより高さ位置を変更(調整)することができるように構成されている。
【0043】
なお、本実施例は、上述のとおり一台の撮像部2(広角カメラ)で撮像する構成としているが、撮像部2として、広角カメラと望遠カメラの二台を用い、これらを使い分けてより遠くのマーカーMを検出できるように構成してもよい。これにより、マーカーMを見失った場合、広角カメラで撮像した画像を高解像度化してマーカーMを発見し易くし、マーカーMを発見したら、望遠カメラに切り替え、この望遠カメラで撮像した画像を低解像度化して画像認識することで、処理速度を低下させることなく遠距離のマーカーMを認識することができる。
【0044】
また、支持部2aは、本実施例の構成に限定されるものではなく、伸縮自在な棒状体を採用しても良いし、長さの異なる支持部2aを数本備え、適宜な長さの支持部2aに付け替える構成としても良い。
【0045】
また、撮像部2を、回転機構(たとえばサーボモータ)を介して設け、水平方向(左右方向)に向きを自在に移動可能な構成としても良い。これにより、撮像部2を固定する構成に比べ、オフセット角度を大きくすることができる。
【0046】
また、移動体1は、本体部3の下部(底部)に草刈手段7が設けられ、作業エリアA内の雑草や芝生を刈り取る草刈機に構成されている。
【0047】
具体的には、草刈手段7は、モータで駆動する電動タイプであり、
図3に示すような、雑草や芝生を切断する複数の刃部7aと、この刃部7aへの雑草の絡みつきを防止する絡みつき防止部材7bとを備える回転ブレードタイプに構成されている。
【0048】
より具体的には、絡みつき防止部材7bは、ナイロンコードで構成され、上向き状態(先端が本体部3の底面側に向く状態)で各刃部7a間に設けられている(刃部7aと絡みつき防止部材7bが交互に配置された構成となっている)。
【0049】
本実施例の移動体1は、上記構成の草刈手段7を二つ備え、これらを本体部3の幅方向に並設し、小石などの異物が刃部7aに当たった場合、異物を後方に向けて排出し、刃部7aの破損を防止するように構成されている。
【0050】
また、移動体1は、
図2に示すように、本体部3の前方に突出するバンパー部8が設けられている。
【0051】
具体的には、バンパー部8は接触センサが設けられ、障害物への接触の有無を検知するように構成されている。
【0052】
また、移動体1は、走行用モータ、草刈り用モータ、撮像部2などの各構成部を駆動源となるバッテリー(図示省略)を備え、さらに、本体部3の上面に、バッテリーと連結され作業中にバッテリーを充電するソーラーパネル9が設けられている。
【0053】
また、移動体1は、制御部(図示省略)を備え、この制御部により作業エリアA内における自律移動(旋回移動)が制御されている。
【0054】
制御部は、小型コンピュータ(シングルボードコンピュータ)であり、本実施例は、この制御部として、ラズベリーパイ ファンデーション(英国)のRaspberry Pi(登録商標)を具備している。なお、制御部となるコンピュータは前記コンピュータに限定されるものではない。
【0055】
本実施例の制御部は、初期化処理、メインループ処理、転向処理、安全性確認処理及びマーカー発見処理を実行するように構成されている。
【0056】
初期化処理は、作業開始(スタート)直後に実行される処理であり、移動体1が作業エリアAを満遍なく移動するために必要な転向回数を目標転向回数として設定する目標転向回数設定処理が実行される。
【0057】
具体的には、初期化処理では、
図4のフローチャートに示すように、まず、撮像部2により取得した画像中のマーカーMを認識するマーカー認識処理が実行される。
【0058】
マーカー認識処理は、機械学習(Deep Learning)によって生成された物体検出(マーカー検出)の学習済みモデルに基づいて、画像中のマーカーMを認識(検出)している。
【0059】
なお、本実施例において、機械学習は、1,000枚~3,000枚程度の画像を準備し、この準備した画像中のマーカーMにラベル付けを行い、このラベル付けした画像をGPU(画像処理装置)で学習させているが、学習方法はこれに限定されるものではない。
【0060】
また、マーカー認識処理においては、形状が異なるマーカーMを同一マーカーMとして認識することができ、この場合、機械学習時に異種マーカーMを同じクラスとして学習させる方法、若しくは、異種マーカーMを別々に機械学習させ、この異種マーカーMを同一マーカーMとして認識させる方法を用いることで可能となる。
【0061】
また、初期化処理において、マーカーMに識別子(たとえば個体認識できる単純な数字、文字、図形など)が付されている場合は、さらに、マーカー発見処理が実行される。
【0062】
このマーカー発見処理では、
図5のフローチャートに示す処理が実行される。
【0063】
画像中のマーカーMを認識したら、この認識したマーカーMの大きさに基づき、作業エリアAの最長辺の長さを推定し、この最長辺の長さに基づき、移動体1の作業エリアAにおける旋回移動に要する転向回数を目標転向回数として設定する目標転向回数設定処理が実行される。
【0064】
具体的には、目標転向回数設定処理では、処理開始後、最初に認識したマーカーMの高さ、具体的には、画像中のマーカーMが占める高さ方向の画素(ピクセル)数が画像全体の高さ方向の画素(ピクセル)数に占める割合(高さ占有率)を計算し、このマーカーMの高さ占有率の逆数に定数を乗した値を目標転向回数として算出している。
【0065】
たとえば、解像度320×240の画像中に認識したマーカーMの高さが占める画素数が24(ピクセル)であった場合、画像全体の高さの画素数は240(ピクセル)となるから、マーカーMの高さ占有率は24/240=1/10となり、その逆数は10となる。この逆数10に定数(本実施例は「10」に設定)を乗するから、目標転向回数は、10×10=100(回)となる。
【0066】
なお、前記算出方法は、作業エリアAを正方形に設定した場合に移動体1が効率よく旋回移動することを想定したものであるが、作業エリアAが長方形や三角形、或いは、五角形や六角形の場合でも、多少作業効率は低下するものの問題なく作業されるように作業マージンを含んだものとなっている。
【0067】
また、メインループ処理では、
図6のフローチャートに示すような、移動体1の前進・停止及び転向の動作並びに安全性確認に関する処理が実行される。
【0068】
具体的には、まず、マーカー認識処理により撮像部2が撮像した画像中においてマーカーMを認識した後、前進移動の可否を判断する安全性確認処理が実行される。
【0069】
安全性確認処理では、
図7のフローチャートに示すような、制御部等のシステムに係る構成部品の温度、移動体1が障害物に接触していないか、撮像部2により画像が取得されているか、周囲に人や別の移動体が無いかなどの周囲の安全確認が実行される。
【0070】
この安全性確認処理で問題ない場合(不具合が検出されない場合)、前進・停止処理に進み、移動体1の前進処理が実行される。
【0071】
前進・停止処理では、マーカー認識処理で認識した画像中のマーカーMの画像に占める大きさ、具体的には、画像中におけるマーカーMの高さが占める画素数を取得し、この取得したマーカー高さ(画素数)と、移動体1の移動を停止させる基準値となる移動停止基準値とを比較し、マーカー高さ(画素数)が移動停止基準値よりも小さい値の場合、移動体1を前進させ、マーカー高さ(画素数)が移動停止基準値以上の場合、移動体1を停止させる処理が実行される。
【0072】
具体的には、移動停止基準値は、全体画像の縦画素数に所定係数を乗した値であり、本実施例においては、前記所定係数は0.9(90%)に設定している。
【0073】
したがって、たとえば、画像解像度が320×240の場合、縦画素数は240(ピクセル)となるから、移動停止基準値は、240×0.9=216(ピクセル)となる。この場合、メインループ処理では、画像中におけるマーカーMの高さが占める画素数が216(ピクセル)になるまで移動体1を前進させ、画像中におけるマーカーMの高さが占める画素数が216(ピクセル)に達したら移動体1を停止させる処理が実行される。
【0074】
なお、上述した前進・停止処理において、本実施例では、画像中におけるマーカーMの高さが占める画素数を取得し、この取得したマーカー高さ(画素数)と、移動体1の移動を停止させる基準値となる移動停止基準値とを比較したが、たとえば、マーカーMとして横長のマーカーMを用い、マーカーMの幅寸法の画素数を取得する構成としても良い。この場合、移動停止基準値は、全体画像の横画素数に所定係数を乗した値となる。
【0075】
また、このメインループ処理においては、移動体1が移動先に向かって前進移動する際に、移動先に対して移動方向にズレが生じているか否かを判断し、ズレが生じている場合、そのズレを修正する移動角度修正処理が実行される。
【0076】
移動角度修正処理は、
図6のメインループ処理のフローチャート中に示すように、ズレ量が大きい場合と小さい場合の二段階に分けて実行される。
【0077】
具体的には、本実施例においては、まず、ズレ量(移動先に対する移動体1の移動方向のズレ角度)が5度以内か否かを判断し、ズレ量が5度より大きい場合は左右の履帯4の動作方向を相互に逆方向に動作させる回転動作によりズレを修正する処理が実行され、5度以内の場合は、さらにズレ量が2度以内か否かを判断する処理が実行される。
【0078】
ズレ量が2度以内の場合、そのまま前進処理が実行され、ズレ量が2度より大きい場合は左右の履帯4の駆動出力の調整によりズレを修正する処理が実行される。
【0079】
この前進・停止処理において、停止処理が実行された場合、転向処理が実行され、移動体1の転向動作(次の移動先マーカーMの方向に向きを変える動作)が開始される。
【0080】
この転向処理では、
図8のフローチャートに示す処理が実行される。
【0081】
具体的には、転向処理は、移動体1を所定角度だけ回転動作させる処理を一定時間実行し、次の移動先となるマーカーMを捜索し、発見したマーカーMの方向に移動体1を転向させる。
【0082】
また、この転向処理においては、毎処理(この転向処理のたびに)、前進・停止処理における移動停止基準値を減算する停止位置補正処理と、この転向処理における移動体1の移動方向を該移動方向に存する移動先マーカーMに対して所定量内側に補正する移動方向補正処理が実行される。
【0083】
具体的には、停止位置補正処理では、下式(1),(2)を用いて移動停止基準値を算出している。
【0084】
転向済割合=(実行済転向回数)/(目標転向回数) (1)
ここで、目標転向回数は、初期化処理における目標転向回数設定処理において設定された移動体1が作業エリアAの旋回移動に必要な転向回数である。
【0085】
移動停止基準値=マーカー高+(画像全高-マーカー高)×(1-転向済割合) (2)
ここで、マーカー高は、転向処理において次の移動先として発見されたマーカーMの高さが画像中に占める画素数であり、また、画像全高は、縦画素数は、前記発見されたマーカーMが撮像されている画像全体の縦方向の画素数である。
【0086】
上記の式(1)において、転向割合は移動体1が転向する毎に値が大きくなるので、式(2)において(画像全高-マーカー高)×(1-転向済割合)は移動体1が転向する毎に値が小さくなり、これにより、移動停止基準値が減算されることになる。
【0087】
なお、移動停止基準値においては、マーカー高は、移動体1に対してマーカーMが近くにある場合、変化量が大きく、遠くにある場合、変化量が小さくなるため、作業の初期段階では大きく減算した方がより精度を向上させることができる。そのためには、式(2)における(1-転向済割合)を((1-転向済割合)^2)と非線形とすることが好適である。
【0088】
この停止位置補正処理が実行されることにより、移動体1の移動先(目的地)までの進行可能距離に対する進行率が減少し、移動体1の移動先マーカーMに対する停止タイミングが転向毎に早まり、移動体1が徐々に作業エリアAの中央部に向かうことができる。
【0089】
また、移動方向補正処理は、移動体1が転向する毎に、すなわち、この転向処理を実行する毎に、移動体1の移動方向を該移動方向に存する移動先マーカーMに対して内側に所定角度、移動先を補正する(移動先をずらす)処理が実行される。
【0090】
具体的には、移動方向補正処理では、下式(3),(4)を用いて補正角度を算出し、移動先マーカーMに対して、この補正角度分だけ移動先(目標値)を内側に補正する処理が実行される。
【0091】
転向済割合=(実行済転向回数)/(目標転向回数) (3)
ここで、目標転向回数は、初期化処理における目標転向回数設定処理において設定された移動体1が作業エリアAの旋回移動に必要な転向回数である。
【0092】
補正角度=(補正最大角度)×(転向済割合) (4)
ここで、補正最大角度は、予め設定される数値(角度)であり、本実施例では「17」に設定している。
【0093】
上記の式(3)において、転向割合は移動体1が転向する毎に値が大きくなるので、式(2)により算出される補正角度は、移動体1が転向する毎に値が大きくなる(加算される)ことになる。
【0094】
この移動方向補正処理が実行されることにより、移動体1の移動において、外周側の軌跡に対してほぼ等間隔で移動することができ、作業エリアAを満遍なく移動して作業残しがないように(本実施例の場合、刈り残しがないように))移動体1を制御することができる。
【0095】
また、本実施例においては、上述した転向処理において、移動体1の転向回数が目標転向回数に到達したら一回目の旋回移動処理を終了し、二回目の旋回移動処理を行う処理が実行される。
【0096】
具体的には、一回目の旋回移動処理が終了したら、(移動体1の転向回数が目標転向回数に到達したら)、この転向処理において転向回数をリセットすると共に、転向方向を一回目の旋回移動処理時の転向方向と逆方向に設定し(たとえば一回目の旋回移動処理を左回りに設定した場合、転向方向は左方向となり、よって、二回目の旋回移動処理は右回りとなるため、転向方向は右方向に設定される)、その後、メインループ処理に進み、このメインループ処理において移動体1を二回目の旋回移動処理のスタート地点となるマーカーMまで移動させ、以降、一回目の旋回移動処理と同様に各処理を繰り返し実行し、一回目と逆方向に旋回する旋回移動処理を行い、この二回目の旋回移動処理における転向処理において、転向回数が目標転向回数に到達した場合、システムを停止する処理が実行される。
【0097】
なお、本実施例は、各処理を説明する上で便宜上、各処理を図示したフローチャートのように分けて説明したが、実際には各処理は、一つのメインループ処理の中で実行されている。
【0098】
また、本実施例においては、作業中の移動体1の位置ずれをより精度良く補正することができるように、制御部に自己位置推定処理を追加した構成としても良い。なお、この自己位置推定処理は、マーカーMに識別子が付与されている場合に有効な処理である。
【0099】
具体的には、自己位置推定処理は、
図9のフローチャートに示す処理を実行し、移動体1の位置を推定し、この推定した位置に基づき、移動体1の移動方向を補正するように構成されている。
【0100】
本実施例は上述のように構成したから、従来例のような専用マーカーを必要とせず、たとえば市販のパイロン(三角コーン)などの安価で入手が容易なマーカーMを作業エリアAの各コーナーに配置し、スタート地点となるマーカーM(作業エリアAにおける最長辺の一側のマーカーM)地点に移動体1を、次の移動先マーカーMに向けてセットするだけの簡易な準備で、作業エリアAに対して、移動体1が自律移動により所定の作業(本実施例の場合は草刈り若しくは芝刈り)を行うことができる。
【0101】
また、本実施例は、停止位置補正処理と移動方向補正処理の実行により、移動体1が転向を行う毎に、移動体1の転向タイミングを早めつつ、移動体1の移動先マーカーMに対する移動方向が補正されるから、作業エリアA内をきれいに面で塗りつぶすように作業(草刈り、芝刈り)を行うことができるものとなる。
【0102】
しかも、本実施例は、
図10に示すように、移動体1が作業エリアAに対して左回りの旋回移動処理(
図10(a)→
図10(b))と右回りの旋回移動処理(
図10(c)→
図10(d))の二回の旋回移動処理を行うから、
図11に示すように、一回の旋回移動処理に比べて、より作業エリアA内を移動体1が満遍なく移動することとなり、これにより、より作業エリアA内をきれいに面で塗りつぶす作業を行うことができ、刈り残しが可及的に低減される実用性に優れた画期的な無人作業システムとなる。
【0103】
なお、本発明は、本実施例に限られるものではなく、各構成要件の具体的構成は適宜設計し得るものである。
【符号の説明】
【0104】
1 移動体
2 撮像部
A 作業エリア
M マーカー
【手続補正書】
【提出日】2024-08-08
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
複数のマーカーを各コーナーに配置して区画した作業エリア内を、移動体を自律移動させて所定の作業を行う無人作業システムであって、前記移動体は、前方を撮像する撮像部と、この撮像部により取得した画像に基づき前記移動体の移動を制御する制御部とを備え、前記制御部は、下記のa乃至eの処理を実行し、前記移動体が前進と転向を繰り返しながら前記作業エリア内を外側から内側に向かって旋回移動するように構成されていることを特徴とする無人作業システム。
記
a 前記撮像部により取得した前記画像中のマーカーを、機械学習によって生成された物体検出の学習済みモデルに基づいて認識するマーカー認識処理
b 前記画像で認識したマーカーの該画像に占める高さを画素数で取得し、この画素数と、前記移動体を前記マーカーの手前で停止させるための値であって、前記撮像部で取得した画像全体の縦画素数に所定の係数を乗して求められる移動停止基準値とを比較し、前記画素数が前記移動停止基準値よりも小さい値の場合、前記移動体を前進させ、前記画素数が前記移動停止基準値以上の場合、前記移動体を停止させる前進・停止処理
c 前記移動体が停止した場合、前記移動体を所定方向に回転させて次の移動先となるマーカーを捜索し、発見したマーカーの方向に前記移動体を転向させる転向処理
d 前記移動体が転向する毎に、前記前進・停止処理における前記移動停止基準値を減算し、転向後の前記移動体を、移動先マーカーに対して、一つ前の移動先マーカーに対する停止位置よりも手前で停止させる停止位置補正処理
e 前記移動体が転向する毎に、前記移動体の移動方向を該移動方向に存する移動先マーカーに対して所定量内側に補正する移動方向補正処理
【請求項2】
請求項1記載の無人作業システムにおいて、前記移動停止基準値は、下記式(1)で求められ、また、前記移動方向補正処理は、下記式(2)を用いて補正角度を算出することを特徴とする無人作業システム。
記
式(1) 移動停止基準値=マーカー高+(画像全高-マーカー高)*(1-転向済割合)
ここで、転向済割合は、(実行済転向回数)/(目標転向回数)のことであり、目標転向回数は、初期化処理において設定された移動体が作業エリアの旋回移動に必要な転向回数である。また、マーカー高は、転向処理において次の移動先として発見されたマーカーの高さが画像中に占める画素数であり、画像全高は、発見されたマーカーが撮像されている画像全体の縦方向の画素数である。
式(2) 補正角度=(補正最大角度)*(転向済割合)
ここで、補正最大角度は、予め設定される数値(角度)である。また、転向済割合は、式(1)と同じである。
【請求項3】
請求項2記載の無人作業システムにおいて、前記作業の初期段階では、前記式(1)の代わりに、下記式(1')により前記移動停止基準値を求めることを特徴とする無人作業システム。
記
式(1') 移動停止基準値=マーカー高+(画像全高-マーカー高)*((1-転向済割合)^2)
ここで、転向済割合、マーカー高及び画像全高は、式(1)と同じである。
【請求項4】
請求項1~3記載の無人作業システムにおいて、前記制御部は、前記作業エリアの最長辺の長さを推定し、この最長辺の長さに基づき、前記移動体の前記作業エリアにおける前記旋回移動に要する転向回数を前記目標転向回数として設定する目標転向回数設定処理を実行し、前記移動体の転向回数が前記目標転向回数に到達した場合、前記移動体の移動を終了するように構成されていることを特徴とする無人作業システム。
【請求項5】
請求項4記載の無人作業システムにおいて、前記制御部は、前記移動体が左回りに旋回移動しながら前記所定の作業を行う左旋回移動処理と、前記移動体が右回りに旋回移動しながら前記所定の作業を行う右旋回移動処理とを実行し、一回目の旋回移動処理において前記移動体の転向回数が前記目標転向回数に到達した場合、前記移動体を任意のマーカー近傍に移動させ、この移動位置から前記一回目と逆回りに該一回目と同様の旋回移動処理を実行するように構成されていることを特徴とする無人作業システム。
【請求項6】
請求項1~3いずれか1項に記載の無人作業システムにおいて、前記制御部は、前記マーカー認識処理後に前記移動体の前進の可否を判断する安全性確認処理を実行するように構成され、この安全性確認処理では、前記制御部の構成部品の温度の確認、前記移動体の障害物への接触の有無の確認、前記撮像部による画像の取得の有無の確認、前記移動体の周囲の安全確認の少なくとも一つが実行されることを特徴とする無人作業システム。
【請求項7】
請求項4記載の無人作業システムにおいて、前記制御部は、前記マーカー認識処理後に前記移動体の前進の可否を判断する安全性確認処理を実行するように構成され、この安全性確認処理では、前記制御部の構成部品の温度の確認、前記移動体の障害物への接触の有無の確認、前記撮像部による画像の取得の有無の確認、前記移動体の周囲の安全確認の少なくとも一つが実行されることを特徴とする無人作業システム。
【請求項8】
請求項5記載の無人作業システムにおいて、前記制御部は、前記マーカー認識処理後に前記移動体の前進の可否を判断する安全性確認処理を実行するように構成され、この安全性確認処理では、前記制御部の構成部品の温度の確認、前記移動体の障害物への接触の有無の確認、前記撮像部による画像の取得の有無の確認、前記移動体の周囲の安全確認の少なくとも一つが実行されることを特徴とする無人作業システム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のマーカーで区画した作業エリア内を、移動体を自律移動させて所定の作業を行う無人作業システムに関するものである。
【背景技術】
【0002】
従来、複数のマーカーで区画した作業エリア内を、移動体を自律移動させて所定の作業を行う無人作業システムとして、特許文献1,2に開示されるシステムが提案されている。
【0003】
特許文献1に開示されるシステム(以下、「従来例1」という。)は、作業エリアの各コーナーに設置する複数のマーカーと、作業エリア内を移動する草刈機とを備え、マーカーは、波長の長い電磁波を発信する電磁波発信手段を備え、草刈機は、各電磁波発信手段から発信される電磁波を回転型アンテナで受信し、草刈機の基準線と各マーカーの角度から草刈機の位置を割り出す演算手段を備えるものであり、天気や障害物に影響を受けることなく、高い精度で作業エリア内における走行エリアを認識することができる点を特徴とするものである。
【0004】
また、特許文献2に開示されるシステム(以下、「従来例2」という。)は、進行方向の前方に配置される2つの標識を検出する検出装置と、検出装置の検出結果に基づいて、現在位置を原点とする前記2つの標識の座標を算出し、この座標から自律移動ロボットの目標経路を設定する目標経路設定装置とを備える自律移動ロボットを備えるものであり、標識をおくだけで、この標識によって囲まれた作業エリアにおいて自律移動ロボットが自律して移動しながら所定の作業を行うことを特徴とするものである。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2014-149682号公報
【特許文献2】特開2021-170287号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来例1のシステムに用いられるマーカーは、電磁波発信手段を備えるものであり、また、従来例2のシステムに用いられるマーカーは、距離測定部と方位測定部を備えるものであり、いずれのシステムも専用マーカーを用いるため、設備コストがかかり、また、マーカーの入手も容易でなく、簡易にマーカーを増設して作業エリアの区画変更を行うことができなかった。
【0007】
本発明は、このような従来例の問題点に鑑みなされたものであり、専用マーカーを必要とせず、たとえば市販のパイロン(三角コーン)などの安価で入手が容易なマーカーを用いて、移動体の作業エリア内の自律移動を制御し、作業エリアに対して所定の作業を満遍なく行うことができる無人作業システムを提供することを目的とする。
【課題を解決するための手段】
【0008】
添付図面を参照して本発明の要旨を説明する。
【0009】
複数のマーカーMを各コーナーに配置して区画した作業エリアA内を、移動体1を自律移動させて所定の作業を行う無人作業システムであって、前記移動体1は、前方を撮像する撮像部2と、この撮像部2により取得した画像に基づき前記移動体1の移動を制御する制御部とを備え、前記制御部は、下記のa乃至eの処理を実行し、前記移動体1が前進と転向を繰り返しながら前記作業エリアA内を外側から内側に向かって旋回移動するように構成されていることを特徴とする無人作業システムに係るものである。
記
a 前記撮像部2により取得した前記画像中のマーカーMを、機械学習によって生成された物体検出の学習済みモデルに基づいて認識するマーカー認識処理
b 前記画像で認識したマーカーMの該画像に占める高さを画素数で取得し、この画素数と、前記移動体1を前記マーカーMの手前で停止させるための値であって、前記撮像部2で取得した画像全体の縦画素数に所定の係数を乗して求められる移動停止基準値とを比較し、前記画素数が前記移動停止基準値よりも小さい値の場合、前記移動体1を前進させ、前記画素数が前記移動停止基準値以上の場合、前記移動体1を停止させる前進・停止処理
c 前記移動体1が停止した場合、前記移動体1を所定方向に回転させて次の移動先となるマーカーMを捜索し、発見したマーカーMの方向に前記移動体1を転向させる転向処理
d 前記移動体1が転向する毎に、前記前進・停止処理における前記移動停止基準値を減算し、転向後の前記移動体1を、移動先マーカーMに対して、一つ前の移動先マーカーMに対する停止位置よりも手前で停止させる停止位置補正処理
e 前記移動体1が転向する毎に、前記移動体1の移動方向を該移動方向に存する移動先マーカーMに対して所定量内側に補正する移動方向補正処理
【0010】
また、請求項1記載の無人作業システムにおいて、前記移動停止基準値は、下記式(1)で求められ、また、前記移動方向補正処理は、下記式(2)を用いて補正角度を算出することを特徴とする無人作業システムに係るものである。
記
式(1) 移動停止基準値=マーカー高+(画像全高-マーカー高)*(1-転向済割合)
ここで、転向済割合は、(実行済転向回数)/(目標転向回数)のことであり、目標転向回数は、初期化処理において設定された移動体1が作業エリアAの旋回移動に必要な転向回数である。また、マーカー高は、転向処理において次の移動先として発見されたマーカーMの高さが画像中に占める画素数であり、画像全高は、発見されたマーカーMが撮像されている画像全体の縦方向の画素数である。
式(2) 補正角度=(補正最大角度)*(転向済割合)
ここで、補正最大角度は、予め設定される数値(角度)である。また、転向済割合は、式(1)と同じである。
【0011】
また、請求項2記載の無人作業システムにおいて、前記作業の初期段階では、前記式(1)の代わりに、下記式(1')により前記移動停止基準値を求めることを特徴とする無人作業システムに係るものである。
記
式(1') 移動停止基準値=マーカー高+(画像全高-マーカー高)*((1-転向済割合)^2)
ここで、転向済割合、マーカー高及び画像全高は、式(1)と同じである。
【0012】
また、請求項1~3記載の無人作業システムにおいて、前記制御部は、前記作業エリアAの最長辺の長さを推定し、この最長辺の長さに基づき、前記移動体1の前記作業エリアAにおける前記旋回移動に要する転向回数を前記目標転向回数として設定する目標転向回数設定処理を実行し、前記移動体1の転向回数が前記目標転向回数に到達した場合、前記移動体1の移動を終了するように構成されていることを特徴とする無人作業システムに係るものである。
【0013】
また、請求項4記載の無人作業システムにおいて、前記制御部は、前記移動体1が左回りに旋回移動しながら前記所定の作業を行う左旋回移動処理と、前記移動体1が右回りに旋回移動しながら前記所定の作業を行う右旋回移動処理とを実行し、一回目の旋回移動処理において前記移動体1の転向回数が前記目標転向回数に到達した場合、前記移動体1を任意のマーカーM近傍に移動させ、この移動位置から前記一回目と逆回りに該一回目と同様の旋回移動処理を実行するように構成されていることを特徴とする無人作業システムに係るものである。
【0014】
また、請求項1~3いずれか1項に記載の無人作業システムにおいて、前記制御部は、前記マーカー認識処理後に前記移動体1の前進の可否を判断する安全性確認処理を実行するように構成され、この安全性確認処理では、前記制御部の構成部品の温度の確認、前記移動体1の障害物への接触の有無の確認、前記撮像部2による画像の取得の有無の確認、前記移動体1の周囲の安全確認の少なくとも一つが実行されることを特徴とする無人作業システムに係るものである。
【0015】
また、請求項4記載の無人作業システムにおいて、前記制御部は、前記マーカー認識処理後に前記移動体1の前進の可否を判断する安全性確認処理を実行するように構成され、この安全性確認処理では、前記制御部の構成部品の温度の確認、前記移動体1の障害物への接触の有無の確認、前記撮像部2による画像の取得の有無の確認、前記移動体1の周囲の安全確認の少なくとも一つが実行されることを特徴とする無人作業システムに係るものである。
【0016】
また、請求項5記載の無人作業システムにおいて、前記制御部は、前記マーカー認識処理後に前記移動体1の前進の可否を判断する安全性確認処理を実行するように構成され、この安全性確認処理では、前記制御部の構成部品の温度の確認、前記移動体1の障害物への接触の有無の確認、前記撮像部2による画像の取得の有無の確認、前記移動体1の周囲の安全確認の少なくとも一つが実行されることを特徴とする無人作業システムに係るものである。
【発明の効果】
【0017】
本発明は上述のように構成したから、専用マーカーを必要とせず、たとえば市販のパイロン(三角コーン)などの安価で入手が容易なマーカーを用いて、移動体の作業エリア内の自律移動を制御し、作業エリアに対して所定の作業を満遍なく行うことができる無人作業システムとなる。
【図面の簡単な説明】
【0018】
【
図1】本発明における移動体の動作例を示す説明図である。
【
図4】本実施例の初期化処理に係るフローチャートである。
【
図5】本実施例のマーカー発見処理に係るフローチャートである。
【
図6】本実施例のメインループ処理に係るフローチャートである。
【
図7】本実施例の安全性確認処理に係るフローチャートである。
【
図8】本実施例の転向処理に係るフローチャートである。
【
図9】本実施例の自己位置推定処理に係るフローチャートである。
【
図10】本実施例の作業エリアに対する移動体の動作例を時系列的に示す説明図である。
【
図11】本実施例の作業エリアに対する移動体の移動軌跡例を示す説明図である。
【発明を実施するための形態】
【0019】
好適と考える本発明の実施形態を、図面に基づいて本発明の作用を示して簡単に説明する。
【0020】
本発明は、作業が開始されると、まず、撮像部2により移動体1の前方(移動体1の移動方向)の撮像を行う撮像処理が実行され、制御部により、この撮像部2の撮像処理により取得した画像中のマーカーMを認識するマーカー認識処理が実行される。
【0021】
続いて、マーカー認識処理で認識したマーカーMの画像に占める大きさを数値で取得し、この取得した数値と、移動体1の移動を停止させる基準値となる移動停止基準値とを比較し、取得した数値が移動停止基準値よりも小さい値の場合、移動体1を前進させ、取得した数値が移動停止基準値以上の場合、移動体1を停止させる前進・停止処理が実行される。
【0022】
本発明は、前記撮像処理→前記マーカー認識処理→前記前進・停止処理が繰り返し実行され、取得した数値が移動停止基準値以上になるまで、移動体1が移動先マーカーMを目指して前進動作する。
【0023】
取得した数値が移動停止基準値以上になり、移動体1の前進動作が停止したら、移動体1を所定方向に回転させて次の移動先となるマーカーMを捜索し、発見したマーカーMの方向に移動体1を転向させる転向処理が実行され、また、この転向処理において、前進・停止処理における移動停止基準値を減算し、転向後の移動体1を、移動先マーカーMに対して、一つ前の移動先マーカーMに対する停止位置よりも手前で停止させる停止位置補正処理が実行された後、前記撮像処理→前記マーカー認識処理→前記前進・停止処理を繰り返し実行され、取得した数値が移動停止基準値以上になるまで移動体1が次の移動先マーカーMを目指して前進動する。
【0024】
本発明は、前記停止位置補正処理が、移動体1が転向する毎に実行されるから、移動体1は、転向する毎に、移動先マーカーMに対して、徐々に転向するタイミングが早くなり、これにより、移動体1は、前進と転向を繰り返しながら作業エリアA内を外側から内側に向かって旋回移動することになり、作業エリアAに対して満遍なく所定の作業を行うことができることとなる。
【0025】
具体的には、たとえば、
図1に示すような、方形状の作業エリアAを作業する場合は、作業エリアAの各コーナーにマーカーM1,M2,M3,M4を配置し、これらのマーカーM1,M2,M3,M4で作業エリアAを区画し、このマーカーM1,M2,M3,M4で区画した作業エリアAにおいて、移動体1をスタート地点のマーカーM1の位置に、次の移動先となるマーカーM2に向けてセットし、処理を開始する。
【0026】
処理開始後、マーカーM1に位置する移動体1は、移動先マーカーM2を認識し、この認識したマーカーM2の画像に占める大きさを示す数値が移動停止基準値よりも小さい間はマーカーM2に向かって前進し、マーカー認識処理で認識したマーカーM2の画像に占める大きさを示す数値が移動停止基準値以上になったら移動を停止する。
【0027】
移動体1が停止したら、その位置で転向処理を実行し、この転向処理で認識(発見)した次の移動先マーカーM3に向かって前進する。この際、転向処理時に停止位置補正処理が実行されるので、マーカーM3に対する停止位置は、マーカーM2よりも手前で停止することとなる。マーカーM3に対する前進が終了し停止したら、マーカーM2からマーカーM3への移動時と同様の処理が実行され、以降、制御部により上述した各処理が繰り返し実行され、
図1に示すように、移動体1が、前進と転向を交互に繰り返して作業エリアA内を外側から内側に向かって、言い換えると、作業エリアAの最外周から中心部に向かって、自律移動で旋回しながら所定の作業が行われる。
【0028】
このように、本発明は、専用マーカーを必要とせず、たとえば市販のパイロン(三角コーン)などの安価で入手が容易なマーカーMを用いて、移動体1の作業エリアA内の自律移動を制御し、作業エリアAに対して所定の作業を満遍なく行うことができる画期的な無人作業システムとなる。
【実施例0029】
本発明の具体的な実施例について図面に基づいて説明する。
【0030】
本実施例は、複数のマーカーMを各コーナーに配置して区画した作業エリアA内を、移動体1を自律移動させて所定の作業を行う無人作業システムであって、前記移動体1は、前方を撮像する撮像部2と、この撮像部2により取得した画像に基づき前記移動体1の移動を制御する制御部とを備え、前記制御部は、前記撮像部2により取得した前記画像中のマーカーMを認識するマーカー認識処理と、前記画像中に認識したマーカーMの該画像に占める大きさを数値で取得し、この取得した数値と、前記移動体1の移動を停止させる基準値となる移動停止基準値とを比較し、前記取得した数値が前記移動停止基準値よりも小さい値の場合、前記移動体1を前進させ、前記取得した数値が前記移動停止基準値以上の場合、前記移動体1を停止させる前進・停止処理と、前記移動体1の前進動作が停止した場合、前記移動体1を所定方向に回転させて次の移動先となるマーカーMを捜索し、発見したマーカーMの方向に前記移動体1を転向させる転向処理と、前記移動体1が転向する毎に、前記前進・停止処理における前記移動停止基準値を減算し、転向後の前記移動体1を、移動先マーカーMに対して、一つ前の移動先マーカーMに対する停止位置よりも手前で停止させる停止位置補正処理(なお、作業エリアAの形状や目標転向回数などの条件の変化により、例外的に移動先マーカーMに対して、一つ前の移動先マーカーMに対する停止位置よりも手前で停止しない場合も含む。)とを実行し、前記移動体1が前進と転向を繰り返しながら前記作業エリアA内を外側から内側に向かって旋回移動するように構成されているものである。
【0031】
なお、本実施例において、「転向」は移動体1が移動先の方向に向くことを意味し、「回転」は移動体1が「転向」するための動作を意味する。すなわち、移動体1は、一回以上の「回転」により「転向」する。また、「旋回」は移動体1の作業エリアAに対する移動状態を意味する。
【0032】
また、本実施例は、前記移動体1を草刈機に構成し、前記所定の作業として草刈りや芝刈り作業に適用する草刈・芝刈作業システムとして構成した場合である。なお、本実施例は、前記草刈・芝刈作業システムに限定されるものではなく、たとえば除雪作業、清掃作業など様々な作業システムとしても構成可能である。
【0033】
以下、本実施例に係る構成各部について詳述する。
【0034】
本実施例に用いるマーカーMは、適宜な高さと幅を有し、後述する移動体1に設けられる撮像部2の撮像により取得した画像において認識(検出)可能なものであれば適宜採用可能であり、たとえば、安価で入手が容易な市販のパイロン(三角コーン)などが好ましい。なお、マーカーMの数は、作業エリアAの形状により適宜変更可能なものとする。
【0035】
また、移動体1は、
図2,3に示すように、本体部3の左右に走行手段としての履帯4(クローラ、キャタピラともいう。)が設けられた履帯式車両に構成されている。
【0036】
また、本実施例の移動体1は、各履帯4の前部外側に偏心タイヤ5が設けられ、この偏心タイヤ5により履帯4で乗り越えることができない段差部を乗り越え移動できるように構成されている。
【0037】
具体的には、履帯4及び偏心タイヤ5は、モータで駆動する電動タイプであり、また、偏心タイヤ5は履帯4の駆動軸に設けられ、駆動源を履帯4と共通とし、履帯4の駆動に伴い偏心回転するように構成されている。
【0038】
また、本実施例の移動体1は、上記走行手段の他、本体部3の前側に補助タイヤ6が設けられ、下がり段差部により移動体1が前のめり状態になった場合、この補助タイヤ6が地面に接地し、移動体1の転倒を防止するように構成されている。
【0039】
また、移動体1は、本体部3の上部に前方を撮像する撮像部2が設けられている。
【0040】
具体的には、撮像部2は、移動体1に設けられた支持部2aを介して移動体1の幅方向中央部に設けられている。
【0041】
詳細には、撮像部2は、撮像した映像をリアルタイムに転送処理することができるWebカメラ(本実施例は広角カメラを採用)であり、
図2に示すように、く字状に屈曲自在に構成される支持部2aを介して移動体1に設けられ、支持部2aの屈曲度合いを変更することにより高さ位置を変更(調整)することができるように構成されている。
【0042】
なお、本実施例は、上述のとおり一台の撮像部2(広角カメラ)で撮像する構成としているが、撮像部2として、広角カメラと望遠カメラの二台を用い、これらを使い分けてより遠くのマーカーMを検出できるように構成してもよい。これにより、マーカーMを見失った場合、広角カメラで撮像した画像を高解像度化してマーカーMを発見し易くし、マーカーMを発見したら、望遠カメラに切り替え、この望遠カメラで撮像した画像を低解像度化して画像認識することで、処理速度を低下させることなく遠距離のマーカーMを認識することができる。
【0043】
また、支持部2aは、本実施例の構成に限定されるものではなく、伸縮自在な棒状体を採用しても良いし、長さの異なる支持部2aを数本備え、適宜な長さの支持部2aに付け替える構成としても良い。
【0044】
また、撮像部2を、回転機構(たとえばサーボモータ)を介して設け、水平方向(左右方向)に向きを自在に移動可能な構成としても良い。これにより、撮像部2を固定する構成に比べ、オフセット角度を大きくすることができる。
【0045】
また、移動体1は、本体部3の下部(底部)に草刈手段7が設けられ、作業エリアA内の雑草や芝生を刈り取る草刈機に構成されている。
【0046】
具体的には、草刈手段7は、モータで駆動する電動タイプであり、
図3に示すような、雑草や芝生を切断する複数の刃部7aと、この刃部7aへの雑草の絡みつきを防止する絡みつき防止部材7bとを備える回転ブレードタイプに構成されている。
【0047】
より具体的には、絡みつき防止部材7bは、ナイロンコードで構成され、上向き状態(先端が本体部3の底面側に向く状態)で各刃部7a間に設けられている(刃部7aと絡みつき防止部材7bが交互に配置された構成となっている)。
【0048】
本実施例の移動体1は、上記構成の草刈手段7を二つ備え、これらを本体部3の幅方向に並設し、小石などの異物が刃部7aに当たった場合、異物を後方に向けて排出し、刃部7aの破損を防止するように構成されている。
【0049】
また、移動体1は、
図2に示すように、本体部3の前方に突出するバンパー部8が設けられている。
【0050】
具体的には、バンパー部8は接触センサが設けられ、障害物への接触の有無を検知するように構成されている。
【0051】
また、移動体1は、走行用モータ、草刈り用モータ、撮像部2などの各構成部を駆動源となるバッテリー(図示省略)を備え、さらに、本体部3の上面に、バッテリーと連結され作業中にバッテリーを充電するソーラーパネル9が設けられている。
【0052】
また、移動体1は、制御部(図示省略)を備え、この制御部により作業エリアA内における自律移動(旋回移動)が制御されている。
【0053】
制御部は、小型コンピュータ(シングルボードコンピュータ)であり、本実施例は、この制御部として、ラズベリーパイ ファンデーション(英国)のRaspberry Pi(登録商標)を具備している。なお、制御部となるコンピュータは前記コンピュータに限定されるものではない。
【0054】
本実施例の制御部は、初期化処理、メインループ処理、転向処理、安全性確認処理及びマーカー発見処理を実行するように構成されている。
【0055】
初期化処理は、作業開始(スタート)直後に実行される処理であり、移動体1が作業エリアAを満遍なく移動するために必要な転向回数を目標転向回数として設定する目標転向回数設定処理が実行される。
【0056】
具体的には、初期化処理では、
図4のフローチャートに示すように、まず、撮像部2により取得した画像中のマーカーMを認識するマーカー認識処理が実行される。
【0057】
マーカー認識処理は、機械学習(Deep Learning)によって生成された物体検出(マーカー検出)の学習済みモデルに基づいて、画像中のマーカーMを認識(検出)している。
【0058】
なお、本実施例において、機械学習は、1,000枚~3,000枚程度の画像を準備し、この準備した画像中のマーカーMにラベル付けを行い、このラベル付けした画像をGPU(画像処理装置)で学習させているが、学習方法はこれに限定されるものではない。
【0059】
また、マーカー認識処理においては、形状が異なるマーカーMを同一マーカーMとして認識することができ、この場合、機械学習時に異種マーカーMを同じクラスとして学習させる方法、若しくは、異種マーカーMを別々に機械学習させ、この異種マーカーMを同一マーカーMとして認識させる方法を用いることで可能となる。
【0060】
また、初期化処理において、マーカーMに識別子(たとえば個体認識できる単純な数字、文字、図形など)が付されている場合は、さらに、マーカー発見処理が実行される。
【0061】
このマーカー発見処理では、
図5のフローチャートに示す処理が実行される。
【0062】
画像中のマーカーMを認識したら、この認識したマーカーMの大きさに基づき、作業エリアAの最長辺の長さを推定し、この最長辺の長さに基づき、移動体1の作業エリアAにおける旋回移動に要する転向回数を目標転向回数として設定する目標転向回数設定処理が実行される。
【0063】
具体的には、目標転向回数設定処理では、処理開始後、最初に認識したマーカーMの高さ、具体的には、画像中のマーカーMが占める高さ方向の画素(ピクセル)数が画像全体の高さ方向の画素(ピクセル)数に占める割合(高さ占有率)を計算し、このマーカーMの高さ占有率の逆数に定数を乗した値を目標転向回数として算出している。
【0064】
たとえば、解像度320×240の画像中に認識したマーカーMの高さが占める画素数が24(ピクセル)であった場合、画像全体の高さの画素数は240(ピクセル)となるから、マーカーMの高さ占有率は24/240=1/10となり、その逆数は10となる。この逆数10に定数(本実施例は「10」に設定)を乗するから、目標転向回数は、10×10=100(回)となる。
【0065】
なお、前記算出方法は、作業エリアAを正方形に設定した場合に移動体1が効率よく旋回移動することを想定したものであるが、作業エリアAが長方形や三角形、或いは、五角形や六角形の場合でも、多少作業効率は低下するものの問題なく作業されるように作業マージンを含んだものとなっている。
【0066】
また、メインループ処理では、
図6のフローチャートに示すような、移動体1の前進・停止及び転向の動作並びに安全性確認に関する処理が実行される。
【0067】
具体的には、まず、マーカー認識処理により撮像部2が撮像した画像中においてマーカーMを認識した後、前進移動の可否を判断する安全性確認処理が実行される。
【0068】
安全性確認処理では、
図7のフローチャートに示すような、制御部等のシステムに係る構成部品の温度、移動体1が障害物に接触していないか、撮像部2により画像が取得されているか、周囲に人や別の移動体が無いかなどの周囲の安全確認が実行される。
【0069】
この安全性確認処理で問題ない場合(不具合が検出されない場合)、前進・停止処理に進み、移動体1の前進処理が実行される。
【0070】
前進・停止処理では、マーカー認識処理で認識した画像中のマーカーMの画像に占める大きさ、具体的には、画像中におけるマーカーMの高さが占める画素数を取得し、この取得したマーカー高さ(画素数)と、移動体1の移動を停止させる基準値となる移動停止基準値とを比較し、マーカー高さ(画素数)が移動停止基準値よりも小さい値の場合、移動体1を前進させ、マーカー高さ(画素数)が移動停止基準値以上の場合、移動体1を停止させる処理が実行される。
【0071】
具体的には、移動停止基準値は、全体画像の縦画素数に所定係数を乗した値であり、本実施例においては、前記所定係数は0.9(90%)に設定している。
【0072】
したがって、たとえば、画像解像度が320×240の場合、縦画素数は240(ピクセル)となるから、移動停止基準値は、240×0.9=216(ピクセル)となる。この場合、メインループ処理では、画像中におけるマーカーMの高さが占める画素数が216(ピクセル)になるまで移動体1を前進させ、画像中におけるマーカーMの高さが占める画素数が216(ピクセル)に達したら移動体1を停止させる処理が実行される。
【0073】
なお、上述した前進・停止処理において、本実施例では、画像中におけるマーカーMの高さが占める画素数を取得し、この取得したマーカー高さ(画素数)と、移動体1の移動を停止させる基準値となる移動停止基準値とを比較したが、たとえば、マーカーMとして横長のマーカーMを用い、マーカーMの幅寸法の画素数を取得する構成としても良い。この場合、移動停止基準値は、全体画像の横画素数に所定係数を乗した値となる。
【0074】
また、このメインループ処理においては、移動体1が移動先に向かって前進移動する際に、移動先に対して移動方向にズレが生じているか否かを判断し、ズレが生じている場合、そのズレを修正する移動角度修正処理が実行される。
【0075】
移動角度修正処理は、
図6のメインループ処理のフローチャート中に示すように、ズレ量が大きい場合と小さい場合の二段階に分けて実行される。
【0076】
具体的には、本実施例においては、まず、ズレ量(移動先に対する移動体1の移動方向のズレ角度)が5度以内か否かを判断し、ズレ量が5度より大きい場合は左右の履帯4の動作方向を相互に逆方向に動作させる回転動作によりズレを修正する処理が実行され、5度以内の場合は、さらにズレ量が2度以内か否かを判断する処理が実行される。
【0077】
ズレ量が2度以内の場合、そのまま前進処理が実行され、ズレ量が2度より大きい場合は左右の履帯4の駆動出力の調整によりズレを修正する処理が実行される。
【0078】
この前進・停止処理において、停止処理が実行された場合、転向処理が実行され、移動体1の転向動作(次の移動先マーカーMの方向に向きを変える動作)が開始される。
【0079】
この転向処理では、
図8のフローチャートに示す処理が実行される。
【0080】
具体的には、転向処理は、移動体1を所定角度だけ回転動作させる処理を一定時間実行し、次の移動先となるマーカーMを捜索し、発見したマーカーMの方向に移動体1を転向させる。
【0081】
また、この転向処理においては、毎処理(この転向処理のたびに)、前進・停止処理における移動停止基準値を減算する停止位置補正処理と、この転向処理における移動体1の移動方向を該移動方向に存する移動先マーカーMに対して所定量内側に補正する移動方向補正処理が実行される。
【0082】
具体的には、停止位置補正処理では、下式(1)を用いて移動停止基準値を算出している。
【0083】
移動停止基準値=マーカー高+(画像全高-マーカー高)×(1-転向済割合) (1)
ここで、転向済割合は、(実行済転向回数)/(目標転向回数)のことであり、目標転向回数は、初期化処理における目標転向回数設定処理において設定された移動体1が作業エリアAの旋回移動に必要な転向回数である。また、マーカー高は、転向処理において次の移動先として発見されたマーカーMの高さが画像中に占める画素数であり、また、画像全高は、前記発見されたマーカーMが撮像されている画像全体の縦方向の画素数である。
【0084】
上記において、転向割合は移動体1が転向する毎に値が大きくなるので、式(1)において(画像全高-マーカー高)×(1-転向済割合)は移動体1が転向する毎に値が小さくなり、これにより、移動停止基準値が減算されることになる。
【0085】
なお、移動停止基準値においては、マーカー高は、移動体1に対してマーカーMが近くにある場合、変化量が大きく、遠くにある場合、変化量が小さくなるため、作業の初期段階では大きく減算した方がより精度を向上させることができる。そのためには、式(1)における(1-転向済割合)を((1-転向済割合)^2)と非線形とすることが好適である。
【0086】
この停止位置補正処理が実行されることにより、移動体1の移動先(目的地)までの進行可能距離に対する進行率が減少し、移動体1の移動先マーカーMに対する停止タイミングが転向毎に早まり、移動体1が徐々に作業エリアAの中央部に向かうことができる。
【0087】
また、移動方向補正処理は、移動体1が転向する毎に、すなわち、この転向処理を実行する毎に、移動体1の移動方向を該移動方向に存する移動先マーカーMに対して内側に所定角度、移動先を補正する(移動先をずらす)処理が実行される。
【0088】
具体的には、移動方向補正処理では、下式(2)を用いて補正角度を算出し、移動先マーカーMに対して、この補正角度分だけ移動先(目標値)を内側に補正する処理が実行される。
【0089】
補正角度=(補正最大角度)×(転向済割合) (2)
ここで、補正最大角度は、予め設定される数値(角度)であり、本実施例では「17」に設定している。また、転向済割合は、(実行済転向回数)/(目標転向回数)のことであり、目標転向回数は、初期化処理における目標転向回数設定処理において設定された移動体1が作業エリアAの旋回移動に必要な転向回数である。
【0090】
上記において、転向割合は移動体1が転向する毎に値が大きくなるので、式(2)により算出される補正角度は、移動体1が転向する毎に値が大きくなる(加算される)ことになる。
【0091】
この移動方向補正処理が実行されることにより、移動体1の移動において、外周側の軌跡に対してほぼ等間隔で移動することができ、作業エリアAを満遍なく移動して作業残しがないように(本実施例の場合、刈り残しがないように))移動体1を制御することができる。
【0092】
また、本実施例においては、上述した転向処理において、移動体1の転向回数が目標転向回数に到達したら一回目の旋回移動処理を終了し、二回目の旋回移動処理を行う処理が実行される。
【0093】
具体的には、一回目の旋回移動処理が終了したら、(移動体1の転向回数が目標転向回数に到達したら)、この転向処理において転向回数をリセットすると共に、転向方向を一回目の旋回移動処理時の転向方向と逆方向に設定し(たとえば一回目の旋回移動処理を左回りに設定した場合、転向方向は左方向となり、よって、二回目の旋回移動処理は右回りとなるため、転向方向は右方向に設定される)、その後、メインループ処理に進み、このメインループ処理において移動体1を二回目の旋回移動処理のスタート地点となるマーカーMまで移動させ、以降、一回目の旋回移動処理と同様に各処理を繰り返し実行し、一回目と逆方向に旋回する旋回移動処理を行い、この二回目の旋回移動処理における転向処理において、転向回数が目標転向回数に到達した場合、システムを停止する処理が実行される。
【0094】
なお、本実施例は、各処理を説明する上で便宜上、各処理を図示したフローチャートのように分けて説明したが、実際には各処理は、一つのメインループ処理の中で実行されている。
【0095】
また、本実施例においては、作業中の移動体1の位置ずれをより精度良く補正することができるように、制御部に自己位置推定処理を追加した構成としても良い。なお、この自己位置推定処理は、マーカーMに識別子が付与されている場合に有効な処理である。
【0096】
具体的には、自己位置推定処理は、
図9のフローチャートに示す処理を実行し、移動体1の位置を推定し、この推定した位置に基づき、移動体1の移動方向を補正するように構成されている。
【0097】
本実施例は上述のように構成したから、従来例のような専用マーカーを必要とせず、たとえば市販のパイロン(三角コーン)などの安価で入手が容易なマーカーMを作業エリアAの各コーナーに配置し、スタート地点となるマーカーM(作業エリアAにおける最長辺の一側のマーカーM)地点に移動体1を、次の移動先マーカーMに向けてセットするだけの簡易な準備で、作業エリアAに対して、移動体1が自律移動により所定の作業(本実施例の場合は草刈り若しくは芝刈り)を行うことができる。
【0098】
また、本実施例は、停止位置補正処理と移動方向補正処理の実行により、移動体1が転向を行う毎に、移動体1の転向タイミングを早めつつ、移動体1の移動先マーカーMに対する移動方向が補正されるから、作業エリアA内をきれいに面で塗りつぶすように作業(草刈り、芝刈り)を行うことができるものとなる。
【0099】
しかも、本実施例は、
図10に示すように、移動体1が作業エリアAに対して左回りの旋回移動処理(
図10(a)→
図10(b))と右回りの旋回移動処理(
図10(c)→
図10(d))の二回の旋回移動処理を行うから、
図11に示すように、一回の旋回移動処理に比べて、より作業エリアA内を移動体1が満遍なく移動することとなり、これにより、より作業エリアA内をきれいに面で塗りつぶす作業を行うことができ、刈り残しが可及的に低減される実用性に優れた画期的な無人作業システムとなる。
【0100】
なお、本発明は、本実施例に限られるものではなく、各構成要件の具体的構成は適宜設計し得るものである。
複数のマーカーを各コーナーに配置して区画した作業エリア内を、移動体を自律移動させて所定の作業を行う無人作業システムであって、前記移動体は、前方を撮像する撮像部と、この撮像部により取得した画像に基づき前記移動体の移動を制御する制御部とを備え、前記制御部は、下記のa乃至eの処理を実行し、前記移動体が前進と転向を繰り返しながら前記作業エリア内を外側から内側に向かって旋回移動するように構成されていることを特徴とする無人作業システム。
記
a 前記撮像部により取得した前記画像中のマーカーを、機械学習によって生成された物体検出の学習済みモデルに基づいて認識するマーカー認識処理
b 前記画像で認識したマーカーの該画像に占める高さを画素数で取得し、この画素数と、前記移動体を前記マーカーの手前で停止させるための値であって、前記撮像部で取得した画像全体の縦画素数に所定の係数を乗じて求められる移動停止基準値とを比較し、前記画素数が前記移動停止基準値よりも小さい値の場合、前記移動体を前進させ、前記画素数が前記移動停止基準値以上の場合、前記移動体を停止させる前進・停止処理
c 前記移動体が停止した場合、前記移動体を所定方向に回転させて次の移動先となるマーカーを捜索し、発見した次の移動先となるマーカーの方向に前記移動体を転向させる転向処理
d 前記移動体が転向する毎に、前記前進・停止処理における前記移動停止基準値を減算し、転向後の前記移動体を、移動先のマーカーに対して、一つ前の移動先のマーカーに対する停止位置よりも手前で停止させる停止位置補正処理
e 前記移動体が転向する毎に、前記移動体の移動方向を該移動方向に存する移動先のマーカーに対して所定量内側に補正する移動方向補正処理
請求項2記載の無人作業システムにおいて、前記作業の初期段階では、前記式(1)の代わりに、下記式(1')により前記移動停止基準値を求めることを特徴とする無人作業システム。
記
式(1') 移動停止基準値=マーカー高+(画像全高-マーカー高)×((1-転向済割合)^2)
ここで、転向済割合、マーカー高及び画像全高は、式(1)と同じである。
請求項4記載の無人作業システムにおいて、前記制御部は、前記移動体が左回りに旋回移動しながら前記所定の作業を行う左旋回移動処理と、前記移動体が右回りに旋回移動しながら前記所定の作業を行う右旋回移動処理とを実行し、一回目の旋回移動処理において前記移動体の転向回数が前記目標転向回数に到達した場合、前記移動体を任意のマーカー近傍に移動させ、この移動位置から前記一回目と逆回りに該一回目と同様の旋回移動処理を実行するように構成されていることを特徴とする無人作業システム。
請求項1~3いずれか1項に記載の無人作業システムにおいて、前記制御部は、前記マーカー認識処理後に前記移動体の前進の可否を判断する安全性確認処理を実行するように構成され、この安全性確認処理では、前記制御部の構成部品の温度の確認、前記移動体の障害物への接触の有無の確認、前記撮像部による画像の取得の有無の確認、前記移動体の周囲の安全確認の少なくとも一つが実行されることを特徴とする無人作業システム。
請求項4記載の無人作業システムにおいて、前記制御部は、前記マーカー認識処理後に前記移動体の前進の可否を判断する安全性確認処理を実行するように構成され、この安全性確認処理では、前記制御部の構成部品の温度の確認、前記移動体の障害物への接触の有無の確認、前記撮像部による画像の取得の有無の確認、前記移動体の周囲の安全確認の少なくとも一つが実行されることを特徴とする無人作業システム。
請求項5記載の無人作業システムにおいて、前記制御部は、前記マーカー認識処理後に前記移動体の前進の可否を判断する安全性確認処理を実行するように構成され、この安全性確認処理では、前記制御部の構成部品の温度の確認、前記移動体の障害物への接触の有無の確認、前記撮像部による画像の取得の有無の確認、前記移動体の周囲の安全確認の少なくとも一つが実行されることを特徴とする無人作業システム。
従来、複数のマーカーで区画した作業エリア内を、移動体を自律移動させて所定の作業を行う無人作業システムとして、特許文献1,2に開示されるシステムが提案されている。
特許文献1に開示されるシステム(以下、「従来例1」という。)は、作業エリアの各コーナーに設置する複数のマーカーと、作業エリア内を移動する草刈機とを備え、マーカーは、波長の長い電磁波を発信する電磁波発信手段を備え、草刈機は、各電磁波発信手段から発信される電磁波を回転型アンテナで受信し、草刈機の基準線と各マーカーの角度から草刈機の位置を割り出す演算手段を備えるものであり、天気や障害物に影響を受けることなく、高い精度で作業エリア内における走行エリアを認識することができる点を特徴とするものである。
また、特許文献2に開示されるシステム(以下、「従来例2」という。)は、進行方向の前方に配置される2つの標識を検出する検出装置と、検出装置の検出結果に基づいて、現在位置を原点とする前記2つの標識の座標を算出し、この座標から自律移動ロボットの目標経路を設定する目標経路設定装置とを備える自律移動ロボットを備えるものであり、標識をおくだけで、この標識によって囲まれた作業エリアにおいて自律移動ロボットが自律して移動しながら所定の作業を行うことを特徴とするものである。
しかしながら、従来例1のシステムに用いられるマーカーは、電磁波発信手段を備えるものであり、また、従来例2のシステムに用いられるマーカーは、距離測定部と方位測定部を備えるものであり、いずれのシステムも専用マーカーを用いるため、設備コストがかかり、また、マーカーの入手も容易でなく、簡易にマーカーを増設して作業エリアの区画変更を行うことができなかった。
本発明は、このような従来例の問題点に鑑みなされたものであり、専用マーカーを必要とせず、たとえば市販のパイロン(三角コーン)などの安価で入手が容易なマーカーを用いて、移動体の作業エリア内の自律移動を制御し、作業エリアに対して所定の作業を満遍なく行うことができる無人作業システムを提供することを目的とする。
複数のマーカーMを各コーナーに配置して区画した作業エリアA内を、移動体1を自律移動させて所定の作業を行う無人作業システムであって、前記移動体1は、前方を撮像する撮像部2と、この撮像部2により取得した画像に基づき前記移動体1の移動を制御する制御部とを備え、前記制御部は、下記のa乃至eの処理を実行し、前記移動体1が前進と転向を繰り返しながら前記作業エリアA内を外側から内側に向かって旋回移動するように構成されていることを特徴とする無人作業システムに係るものである。
記
a 前記撮像部2により取得した前記画像中のマーカーMを、機械学習によって生成された物体検出の学習済みモデルに基づいて認識するマーカー認識処理
b 前記画像で認識したマーカーMの該画像に占める高さを画素数で取得し、この画素数と、前記移動体1を前記マーカーMの手前で停止させるための値であって、前記撮像部2で取得した画像全体の縦画素数に所定の係数を乗じて求められる移動停止基準値とを比較し、前記画素数が前記移動停止基準値よりも小さい値の場合、前記移動体1を前進させ、前記画素数が前記移動停止基準値以上の場合、前記移動体1を停止させる前進・停止処理
c 前記移動体1が停止した場合、前記移動体1を所定方向に回転させて次の移動先となるマーカーMを捜索し、発見した次の移動先となるマーカーMの方向に前記移動体1を転向させる転向処理
d 前記移動体1が転向する毎に、前記前進・停止処理における前記移動停止基準値を減算し、転向後の前記移動体1を、移動先のマーカーMに対して、一つ前の移動先のマーカーMに対する停止位置よりも手前で停止させる停止位置補正処理
e 前記移動体1が転向する毎に、前記移動体1の移動方向を該移動方向に存する移動先のマーカーMに対して所定量内側に補正する移動方向補正処理
また、請求項1記載の無人作業システムにおいて、前記移動停止基準値は、下記式(1)で求められ、また、前記移動方向補正処理は、下記式(2)を用いて補正角度を算出し、前記移動先のマーカーMに対して、前記補正角度分だけ移動方向を内側に補正する処理であることを特徴とする無人作業システムに係るものである。
記
式(1) 移動停止基準値=マーカー高+(画像全高-マーカー高)×(1-転向済割合)
ここで、転向済割合は、(実行済転向回数)/(目標転向回数)のことであり、目標転向回数は、初期化処理において設定された移動体1が作業エリアAの旋回移動に必要な転向回数である。また、マーカー高は、転向処理において次の移動先として発見されたマーカーMの高さが画像中に占める画素数であり、画像全高は、発見されたマーカーMが撮像されている画像全体の縦方向の画素数である。
式(2) 補正角度=(補正最大角度)×(転向済割合)
ここで、補正最大角度は、予め設定される数値(角度)である。また、転向済割合は、式(1)と同じである。
また、請求項2記載の無人作業システムにおいて、前記作業の初期段階では、前記式(1)の代わりに、下記式(1')により前記移動停止基準値を求めることを特徴とする無人作業システムに係るものである。
記
式(1') 移動停止基準値=マーカー高+(画像全高-マーカー高)×((1-転向済割合)^2)
ここで、転向済割合、マーカー高及び画像全高は、式(1)と同じである。
また、請求項4記載の無人作業システムにおいて、前記制御部は、前記移動体1が左回りに旋回移動しながら前記所定の作業を行う左旋回移動処理と、前記移動体1が右回りに旋回移動しながら前記所定の作業を行う右旋回移動処理とを実行し、一回目の旋回移動処理において前記移動体1の転向回数が前記目標転向回数に到達した場合、前記移動体1を任意のマーカーM近傍に移動させ、この移動位置から前記一回目と逆回りに該一回目と同様の旋回移動処理を実行するように構成されていることを特徴とする無人作業システムに係るものである。
また、請求項1~3いずれか1項に記載の無人作業システムにおいて、前記制御部は、前記マーカー認識処理後に前記移動体1の前進の可否を判断する安全性確認処理を実行するように構成され、この安全性確認処理では、前記制御部の構成部品の温度の確認、前記移動体1の障害物への接触の有無の確認、前記撮像部2による画像の取得の有無の確認、前記移動体1の周囲の安全確認の少なくとも一つが実行されることを特徴とする無人作業システムに係るものである。
また、請求項4記載の無人作業システムにおいて、前記制御部は、前記マーカー認識処理後に前記移動体1の前進の可否を判断する安全性確認処理を実行するように構成され、この安全性確認処理では、前記制御部の構成部品の温度の確認、前記移動体1の障害物への接触の有無の確認、前記撮像部2による画像の取得の有無の確認、前記移動体1の周囲の安全確認の少なくとも一つが実行されることを特徴とする無人作業システムに係るものである。
また、請求項5記載の無人作業システムにおいて、前記制御部は、前記マーカー認識処理後に前記移動体1の前進の可否を判断する安全性確認処理を実行するように構成され、この安全性確認処理では、前記制御部の構成部品の温度の確認、前記移動体1の障害物への接触の有無の確認、前記撮像部2による画像の取得の有無の確認、前記移動体1の周囲の安全確認の少なくとも一つが実行されることを特徴とする無人作業システムに係るものである。
本発明は上述のように構成したから、専用マーカーを必要とせず、たとえば市販のパイロン(三角コーン)などの安価で入手が容易なマーカーを用いて、移動体の作業エリア内の自律移動を制御し、作業エリアに対して所定の作業を満遍なく行うことができる無人作業システムとなる。
本発明は、作業が開始されると、まず、撮像部2により移動体1の前方(移動体1の移動方向)の撮像を行う撮像処理が実行され、制御部により、この撮像部2の撮像処理により取得した画像中のマーカーMを認識するマーカー認識処理が実行される。
続いて、マーカー認識処理で認識したマーカーMの画像に占める大きさを数値で取得し、この取得した数値と、移動体1の移動を停止させる基準値となる移動停止基準値とを比較し、取得した数値が移動停止基準値よりも小さい値の場合、移動体1を前進させ、取得した数値が移動停止基準値以上の場合、移動体1を停止させる前進・停止処理が実行される。
本発明は、前記撮像処理→前記マーカー認識処理→前記前進・停止処理が繰り返し実行され、取得した数値が移動停止基準値以上になるまで、移動体1が移動先マーカーMを目指して前進動作する。
取得した数値が移動停止基準値以上になり、移動体1の前進動作が停止したら、移動体1を所定方向に回転させて次の移動先となるマーカーMを捜索し、発見したマーカーMの方向に移動体1を転向させる転向処理が実行され、また、この転向処理において、前進・停止処理における移動停止基準値を減算し、転向後の移動体1を、移動先マーカーMに対して、一つ前の移動先マーカーMに対する停止位置よりも手前で停止させる停止位置補正処理が実行された後、前記撮像処理→前記マーカー認識処理→前記前進・停止処理を繰り返し実行され、取得した数値が移動停止基準値以上になるまで移動体1が次の移動先マーカーMを目指して前進動する。
本発明は、前記停止位置補正処理が、移動体1が転向する毎に実行されるから、移動体1は、転向する毎に、移動先マーカーMに対して、徐々に転向するタイミングが早くなり、これにより、移動体1は、前進と転向を繰り返しながら作業エリアA内を外側から内側に向かって旋回移動することになり、作業エリアAに対して満遍なく所定の作業を行うことができることとなる。
処理開始後、マーカーM1に位置する移動体1は、移動先マーカーM2を認識し、この認識したマーカーM2の画像に占める大きさを示す数値が移動停止基準値よりも小さい間はマーカーM2に向かって前進し、マーカー認識処理で認識したマーカーM2の画像に占める大きさを示す数値が移動停止基準値以上になったら移動を停止する。
このように、本発明は、専用マーカーを必要とせず、たとえば市販のパイロン(三角コーン)などの安価で入手が容易なマーカーMを用いて、移動体1の作業エリアA内の自律移動を制御し、作業エリアAに対して所定の作業を満遍なく行うことができる画期的な無人作業システムとなる。
本実施例は、複数のマーカーMを各コーナーに配置して区画した作業エリアA内を、移動体1を自律移動させて所定の作業を行う無人作業システムであって、前記移動体1は、前方を撮像する撮像部2と、この撮像部2により取得した画像に基づき前記移動体1の移動を制御する制御部とを備え、前記制御部は、前記撮像部2により取得した前記画像中のマーカーMを認識するマーカー認識処理と、前記画像中に認識したマーカーMの該画像に占める大きさを数値で取得し、この取得した数値と、前記移動体1の移動を停止させる基準値となる移動停止基準値とを比較し、前記取得した数値が前記移動停止基準値よりも小さい値の場合、前記移動体1を前進させ、前記取得した数値が前記移動停止基準値以上の場合、前記移動体1を停止させる前進・停止処理と、前記移動体1の前進動作が停止した場合、前記移動体1を所定方向に回転させて次の移動先となるマーカーMを捜索し、発見したマーカーMの方向に前記移動体1を転向させる転向処理と、前記移動体1が転向する毎に、前記前進・停止処理における前記移動停止基準値を減算し、転向後の前記移動体1を、移動先マーカーMに対して、一つ前の移動先マーカーMに対する停止位置よりも手前で停止させる停止位置補正処理(なお、作業エリアAの形状や目標転向回数などの条件の変化により、例外的に移動先マーカーMに対して、一つ前の移動先マーカーMに対する停止位置よりも手前で停止しない場合も含む。)とを実行し、前記移動体1が前進と転向を繰り返しながら前記作業エリアA内を外側から内側に向かって旋回移動するように構成されているものである。
なお、本実施例において、「転向」は移動体1が移動先の方向に向くことを意味し、「回転」は移動体1が「転向」するための動作を意味する。すなわち、移動体1は、一回以上の「回転」により「転向」する。また、「旋回」は移動体1の作業エリアAに対する移動状態を意味する。
また、本実施例は、前記移動体1を草刈機に構成し、前記所定の作業として草刈りや芝刈り作業に適用する草刈・芝刈作業システムとして構成した場合である。なお、本実施例は、前記草刈・芝刈作業システムに限定されるものではなく、たとえば除雪作業、清掃作業など様々な作業システムとしても構成可能である。
本実施例に用いるマーカーMは、適宜な高さと幅を有し、後述する移動体1に設けられる撮像部2の撮像により取得した画像において認識(検出)可能なものであれば適宜採用可能であり、たとえば、安価で入手が容易な市販のパイロン(三角コーン)などが好ましい。なお、マーカーMの数は、作業エリアAの形状により適宜変更可能なものとする。
また、本実施例の移動体1は、各履帯4の前部外側に偏心タイヤ5が設けられ、この偏心タイヤ5により履帯4で乗り越えることができない段差部を乗り越え移動できるように構成されている。
具体的には、履帯4及び偏心タイヤ5は、モータで駆動する電動タイプであり、また、偏心タイヤ5は履帯4の駆動軸に設けられ、駆動源を履帯4と共通とし、履帯4の駆動に伴い偏心回転するように構成されている。
また、本実施例の移動体1は、上記走行手段の他、本体部3の前側に補助タイヤ6が設けられ、下がり段差部により移動体1が前のめり状態になった場合、この補助タイヤ6が地面に接地し、移動体1の転倒を防止するように構成されている。
なお、本実施例は、上述のとおり一台の撮像部2(広角カメラ)で撮像する構成としているが、撮像部2として、広角カメラと望遠カメラの二台を用い、これらを使い分けてより遠くのマーカーMを検出できるように構成してもよい。これにより、マーカーMを見失った場合、広角カメラで撮像した画像を高解像度化してマーカーMを発見し易くし、マーカーMを発見したら、望遠カメラに切り替え、この望遠カメラで撮像した画像を低解像度化して画像認識することで、処理速度を低下させることなく遠距離のマーカーMを認識することができる。
また、支持部2aは、本実施例の構成に限定されるものではなく、伸縮自在な棒状体を採用しても良いし、長さの異なる支持部2aを数本備え、適宜な長さの支持部2aに付け替える構成としても良い。
また、撮像部2を、回転機構(たとえばサーボモータ)を介して設け、水平方向(左右方向)に向きを自在に移動可能な構成としても良い。これにより、撮像部2を固定する構成に比べ、オフセット角度を大きくすることができる。
より具体的には、絡みつき防止部材7bは、ナイロンコードで構成され、上向き状態(先端が本体部3の底面側に向く状態)で各刃部7a間に設けられている(刃部7aと絡みつき防止部材7bが交互に配置された構成となっている)。
本実施例の移動体1は、上記構成の草刈手段7を二つ備え、これらを本体部3の幅方向に並設し、小石などの異物が刃部7aに当たった場合、異物を後方に向けて排出し、刃部7aの破損を防止するように構成されている。
また、移動体1は、走行用モータ、草刈り用モータ、撮像部2などの各構成部を駆動源となるバッテリー(図示省略)を備え、さらに、本体部3の上面に、バッテリーと連結され作業中にバッテリーを充電するソーラーパネル9が設けられている。
制御部は、小型コンピュータ(シングルボードコンピュータ)であり、本実施例は、この制御部として、ラズベリーパイ ファンデーション(英国)のRaspberry Pi(登録商標)を具備している。なお、制御部となるコンピュータは前記コンピュータに限定されるものではない。
初期化処理は、作業開始(スタート)直後に実行される処理であり、移動体1が作業エリアAを満遍なく移動するために必要な転向回数を目標転向回数として設定する目標転向回数設定処理が実行される。
マーカー認識処理は、機械学習(Deep Learning)によって生成された物体検出(マーカー検出)の学習済みモデルに基づいて、画像中のマーカーMを認識(検出)している。
なお、本実施例において、機械学習は、1,000枚~3,000枚程度の画像を準備し、この準備した画像中のマーカーMにラベル付けを行い、このラベル付けした画像をGPU(画像処理装置)で学習させているが、学習方法はこれに限定されるものではない。
また、マーカー認識処理においては、形状が異なるマーカーMを同一マーカーMとして認識することができ、この場合、機械学習時に異種マーカーMを同じクラスとして学習させる方法、若しくは、異種マーカーMを別々に機械学習させ、この異種マーカーMを同一マーカーMとして認識させる方法を用いることで可能となる。
また、初期化処理において、マーカーMに識別子(たとえば個体認識できる単純な数字、文字、図形など)が付されている場合は、さらに、マーカー発見処理が実行される。
画像中のマーカーMを認識したら、この認識したマーカーMの大きさに基づき、作業エリアAの最長辺の長さを推定し、この最長辺の長さに基づき、移動体1の作業エリアAにおける旋回移動に要する転向回数を目標転向回数として設定する目標転向回数設定処理が実行される。
具体的には、目標転向回数設定処理では、処理開始後、最初に認識したマーカーMの高さ、具体的には、画像中のマーカーMが占める高さ方向の画素(ピクセル)数が画像全体の高さ方向の画素(ピクセル)数に占める割合(高さ占有率)を計算し、このマーカーMの高さ占有率の逆数に定数を乗した値を目標転向回数として算出している。
たとえば、解像度320×240の画像中に認識したマーカーMの高さが占める画素数が24(ピクセル)であった場合、画像全体の高さの画素数は240(ピクセル)となるから、マーカーMの高さ占有率は24/240=1/10となり、その逆数は10となる。この逆数10に定数(本実施例は「10」に設定)を乗するから、目標転向回数は、10×10=100(回)となる。
なお、前記算出方法は、作業エリアAを正方形に設定した場合に移動体1が効率よく旋回移動することを想定したものであるが、作業エリアAが長方形や三角形、或いは、五角形や六角形の場合でも、多少作業効率は低下するものの問題なく作業されるように作業マージンを含んだものとなっている。
前進・停止処理では、マーカー認識処理で認識した画像中のマーカーMの画像に占める大きさ、具体的には、画像中におけるマーカーMの高さが占める画素数を取得し、この取得したマーカー高さ(画素数)と、移動体1の移動を停止させる基準値となる移動停止基準値とを比較し、マーカー高さ(画素数)が移動停止基準値よりも小さい値の場合、移動体1を前進させ、マーカー高さ(画素数)が移動停止基準値以上の場合、移動体1を停止させる処理が実行される。
したがって、たとえば、画像解像度が320×240の場合、縦画素数は240(ピクセル)となるから、移動停止基準値は、240×0.9=216(ピクセル)となる。この場合、メインループ処理では、画像中におけるマーカーMの高さが占める画素数が216(ピクセル)になるまで移動体1を前進させ、画像中におけるマーカーMの高さが占める画素数が216(ピクセル)に達したら移動体1を停止させる処理が実行される。
なお、上述した前進・停止処理において、本実施例では、画像中におけるマーカーMの高さが占める画素数を取得し、この取得したマーカー高さ(画素数)と、移動体1の移動を停止させる基準値となる移動停止基準値とを比較したが、たとえば、マーカーMとして横長のマーカーMを用い、マーカーMの幅寸法の画素数を取得する構成としても良い。この場合、移動停止基準値は、全体画像の横画素数に所定係数を乗した値となる。
また、このメインループ処理においては、移動体1が移動先に向かって前進移動する際に、移動先に対して移動方向にズレが生じているか否かを判断し、ズレが生じている場合、そのズレを修正する移動角度修正処理が実行される。
具体的には、本実施例においては、まず、ズレ量(移動先に対する移動体1の移動方向のズレ角度)が5度以内か否かを判断し、ズレ量が5度より大きい場合は左右の履帯4の動作方向を相互に逆方向に動作させる回転動作によりズレを修正する処理が実行され、5度以内の場合は、さらにズレ量が2度以内か否かを判断する処理が実行される。
この前進・停止処理において、停止処理が実行された場合、転向処理が実行され、移動体1の転向動作(次の移動先マーカーMの方向に向きを変える動作)が開始される。
具体的には、転向処理は、移動体1を所定角度だけ回転動作させる処理を一定時間実行し、次の移動先となるマーカーMを捜索し、発見したマーカーMの方向に移動体1を転向させる。
また、この転向処理においては、毎処理(この転向処理のたびに)、前進・停止処理における移動停止基準値を減算する停止位置補正処理と、この転向処理における移動体1の移動方向を該移動方向に存する移動先マーカーMに対して所定量内側に補正する移動方向補正処理が実行される。
上記において、転向割合は移動体1が転向する毎に値が大きくなるので、式(1)において(画像全高-マーカー高)×(1-転向済割合)は移動体1が転向する毎に値が小さくなり、これにより、移動停止基準値が減算されることになる。
なお、移動停止基準値においては、マーカー高は、移動体1に対してマーカーMが近くにある場合、変化量が大きく、遠くにある場合、変化量が小さくなるため、作業の初期段階では大きく減算した方がより精度を向上させることができる。そのためには、式(1)における(1-転向済割合)を((1-転向済割合)^2)と非線形とすることが好適である。
この停止位置補正処理が実行されることにより、移動体1の移動先(目的地)までの進行可能距離に対する進行率が減少し、移動体1の移動先マーカーMに対する停止タイミングが転向毎に早まり、移動体1が徐々に作業エリアAの中央部に向かうことができる。
また、移動方向補正処理は、移動体1が転向する毎に、すなわち、この転向処理を実行する毎に、移動体1の移動方向を該移動方向に存する移動先マーカーMに対して内側に所定角度、移動先を補正する(移動先をずらす)処理が実行される。
具体的には、移動方向補正処理では、下式(2)を用いて補正角度を算出し、移動先マーカーMに対して、この補正角度分だけ移動先(目標値)を内側に補正する処理が実行される。
上記において、転向割合は移動体1が転向する毎に値が大きくなるので、式(2)により算出される補正角度は、移動体1が転向する毎に値が大きくなる(加算される)ことになる。
この移動方向補正処理が実行されることにより、移動体1の移動において、外周側の軌跡に対してほぼ等間隔で移動することができ、作業エリアAを満遍なく移動して作業残しがないように(本実施例の場合、刈り残しがないように))移動体1を制御することができる。
また、本実施例においては、上述した転向処理において、移動体1の転向回数が目標転向回数に到達したら一回目の旋回移動処理を終了し、二回目の旋回移動処理を行う処理が実行される。
具体的には、一回目の旋回移動処理が終了したら、(移動体1の転向回数が目標転向回数に到達したら)、この転向処理において転向回数をリセットすると共に、転向方向を一回目の旋回移動処理時の転向方向と逆方向に設定し(たとえば一回目の旋回移動処理を左回りに設定した場合、転向方向は左方向となり、よって、二回目の旋回移動処理は右回りとなるため、転向方向は右方向に設定される)、その後、メインループ処理に進み、このメインループ処理において移動体1を二回目の旋回移動処理のスタート地点となるマーカーMまで移動させ、以降、一回目の旋回移動処理と同様に各処理を繰り返し実行し、一回目と逆方向に旋回する旋回移動処理を行い、この二回目の旋回移動処理における転向処理において、転向回数が目標転向回数に到達した場合、システムを停止する処理が実行される。
なお、本実施例は、各処理を説明する上で便宜上、各処理を図示したフローチャートのように分けて説明したが、実際には各処理は、一つのメインループ処理の中で実行されている。
また、本実施例においては、作業中の移動体1の位置ずれをより精度良く補正することができるように、制御部に自己位置推定処理を追加した構成としても良い。なお、この自己位置推定処理は、マーカーMに識別子が付与されている場合に有効な処理である。
本実施例は上述のように構成したから、従来例のような専用マーカーを必要とせず、たとえば市販のパイロン(三角コーン)などの安価で入手が容易なマーカーMを作業エリアAの各コーナーに配置し、スタート地点となるマーカーM(作業エリアAにおける最長辺の一側のマーカーM)地点に移動体1を、次の移動先マーカーMに向けてセットするだけの簡易な準備で、作業エリアAに対して、移動体1が自律移動により所定の作業(本実施例の場合は草刈り若しくは芝刈り)を行うことができる。
また、本実施例は、停止位置補正処理と移動方向補正処理の実行により、移動体1が転向を行う毎に、移動体1の転向タイミングを早めつつ、移動体1の移動先マーカーMに対する移動方向が補正されるから、作業エリアA内をきれいに面で塗りつぶすように作業(草刈り、芝刈り)を行うことができるものとなる。