(57)【要約】【課題】障害物と非障害物とを低コストで分類し、不必要に物体を回避しないで効率的に移動できること。【解決手段】少なくとも１つのセンサが、ロボットの周囲の状況を取得し、各センサからの深度情報に基づいて障害物を認識し、非障害物の画像上の特徴量を記録し、障害物と認識された物体の、画像上の特徴量を抽出し、マッチングを行って非障害物を認識し、障害物と認識された物体から非障害物と認識された物体を削除して最終的な障害物を決定し、最終的に障害物と判断された物体の位置情報を用いてロボットの移動経路を計算する。【選択図】図３
2016028311.tif 000002
【特許請求の範囲】
【請求項１】
自律移動可能なロボットにおいて、
前記ロボットの周囲の状況を取得する少なくとも１つのセンサと、
各センサからの深度情報に基づいて障害物を認識する障害物認識手段と、
非障害物の画像上の特徴量を記録した非障害物記憶手段と、
前記障害物認識手段により障害物と認識された物体の、画像上の特徴量を前記センサからの画像情報から抽出し、前記非障害物記憶手段とのマッチングを行って前記非障害物を認識する非障害物認識手段と、
前記障害物認識手段により障害物と認識された物体から前記非障害物認識手段により非障害物と認識された物体を削除して最終的な障害物を決定する障害物決定手段と、
前記障害物決定手段により最終的に障害物と判断された物体の位置情報を用いて前記ロボットの移動経路を計算する経路計画手段と、
を備えたことを特徴とするロボット。
【請求項２】
前記障害物認識手段で障害物と認識された画像領域について前記深度情報から画像領域に分割する画像領域分割手段と、画像領域単位で画像上の特徴量に基づいて非障害物か否かを判定する非障害物認識手段と、を有することを特徴とする請求項１記載のロボット。
【請求項３】
前記ロボットの周囲の状況を取得するセンサの数が１つの場合、ステレオカメラを用いることを特徴とする請求項１記載のロボット。
【請求項４】
前記ロボットの周囲の状況を取得するセンサの数が２つ以上の場合、第１のセンサが深度方向の情報が入手可能な３Ｄセンサであることを特徴とする請求項１記載のロボット。
【請求項５】
前記ロボットの周囲の状況を取得するセンサの数が２つ以上の場合、第２のセンサは物体の色やテキスチャが取得できるカメラであることを特徴とする請求項１記載のロボット。
【請求項６】
前記ロボットの周囲の状況を取得するセンサの数が２つ以上の場合、第２のセンサは赤外線カメラであることを特徴とする請求項１記載のロボット。
【請求項７】
目的地に到着するまでは、所定量移動しては障害物認識を繰り返すことを特徴とする請求項１から６のいずれか一項記載のロボット。
【請求項８】
自律移動可能なロボットのコンピュータに、
少なくとも１つのセンサが、前記ロボットの周囲の状況を取得する手順、
障害物認識手段が、各センサからの深度情報に基づいて障害物を認識する手順、
非障害物記憶手段が、非障害物の画像上の特徴量を記録する手順、
非障害物認識手段が、前記障害物認識手段により障害物と認識された物体の、画像上の特徴量を前記センサからの画像情報から抽出し、前記非障害物記憶手段とのマッチングを行って前記非障害物を認識する手順、
障害物決定手段が、前記障害物認識手段により障害物と認識された物体から前記非障害物認識手段により非障害物と認識された物体を削除して最終的な障害物を決定する手順、
経路計画手段が、前記障害物決定手段により最終的に障害物と判断された物体の位置情報を用いて前記ロボットの移動経路を計算する手順、
を実行させるためのプログラム。
【請求項９】
自律移動可能なロボットのコンピュータに、
少なくとも１つのセンサが、前記ロボットの周囲の状況を取得する手順、
障害物認識手段が、各センサからの深度情報に基づいて障害物を認識する手順、
非障害物記憶手段が、非障害物の画像上の特徴量を記録する手順、
非障害物認識手段が、前記障害物認識手段により障害物と認識された物体の、画像上の特徴量を前記センサからの画像情報から抽出し、前記非障害物記憶手段とのマッチングを行って前記非障害物を認識する手順、
障害物決定手段が、前記障害物認識手段により障害物と認識された物体から前記非障害物認識手段により非障害物と認識された物体を削除して最終的な障害物を決定する手順、
経路計画手段が、前記障害物決定手段により最終的に障害物と判断された物体の位置情報を用いて前記ロボットの移動経路を計算する手順、
を実行させるためのプログラムを記憶したことを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自律移動可能なロボット、プログラム、及び記憶媒体に関する。
【背景技術】
【０００２】
自律移動体とは、所定の目的地へ自律的に移動することが可能なロボットのことである。このロボットは、目的地へ移動するために、どのような経路を移動するかを予め決定してから移動するが、移動の途中で乗り越えられない障害物等があり得る。
そのような障害物を発見して回避するために、予めLRFを搭載し、障害物を発見した場合は、障害物を回避する方法が既に知られている。尚、LRFは、レーザレンジファインダの略であり、レーザ光を発光して、物体からの反射光から物体の存在や位置を計測する機器のことである。
【０００３】
しかし、今までの障害物回避方法では、LRFの反射波だけを見ているので、例えば、「草」等の植物は乗り越えられるにも関わらず、障害物と判定されてしまい、わざわざ「草」を回避してしまうというという問題があった。また、物体認識の技術を利用して障害物を発見することも考えられるが、屋外に出ると予想もつかない障害物が存在する。移動しながら、膨大な種類の障害物を認識するのは、非現実的で、例え、種類を限定したとしても膨大な処理を行うため計算コストが高くなり、自律移動体の反応が遅くなってしまう問題点があった。
【０００４】
そこで、この種の問題を解決するため、種々の提案がなされた（例えば、特許文献１〜５参照。）。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１には、移動障害物のゴーストを除去する目的で、所定時間毎に障害物を消去する障害物消去手段が開示されている。しかし、動かない非障害物は消去されることはなく、雑草等を非障害物として扱えないという問題は解消できていない。
【０００６】
特許文献２には、取得した環境情報に基づいて周囲に存在する物体を把握するとともに、把握した物体のうち、動作部を正常に動作させる際に影響を及ぼす物体を障害物と認識する障害物認識部をさらに設け、かつ、障害物認識部により認識された障害物を特定する障害物特定情報を外部に対して視覚的に出力する出力部が開示されている。しかし、戸外において考えられうる障害物を個別に認識することになり、計算コスト高という問題は解消できていない。
【０００７】
特許文献３には、３次元座標計測手段と、計測した物体表面の３次元座標より個別の障害物候補を抽出する障害物候補抽出手段と、抽出した障害物候補が存在する空間の３次元座標データを切り出して、鉛直高さ方向に層別し、その特徴量から予め設定された障害物モデルの鉛直高さ方向層別形状特徴量と比較し障害物の識別を行うことが開示されている。しかし、障害物とされたものを非障害物として削除するようなことには言及されていない。
【０００８】
特許文献４には、第１の距離センサが観測した距離の情報に基づいて、障害物の領域を検出する第１の障害物検出手段と、第２の距離センサが観測した距離の情報に基づいて、障害物の領域を検出する第２の障害物検出手段と、第２の障害物領域に基づいて継続的に移動している障害物を移動物として検出し、第１の障害物領域から、該検出した移動物の領域を表す第１の障害物領域を除いた領域を、移動体が移動することができる移動可能領域として抽出する障害物領域抽出手段が開示されている。しかし、動かない障害物は非障害物として削除するようなことには言及されていない。
【０００９】
特許文献５には、複数平面を抽出して、床面を含む複数平面の障害物を認識し、各平面の環境地図を作成及び更新する環境認識部と、これらの環境地図に基づき経路計画を行う経路計画部を有する。経路計画部は、床面の環境地図上で障害物とされた場合であっても、他の平面における環境地図上で障害物ではないとされている場合は、移動経路の候補とすることが開示されている。しかし、草等の非障害物を除外することはできない。
【００１０】
そこで、本発明の目的は、障害物と非障害物とを低コストで分類し、不必要に物体を回避しないで効率的に移動できることにある。
【課題を解決するための手段】
【００１１】
上記課題を解決するため、請求項１に記載の発明は、自律移動可能なロボットにおいて、前記ロボットの周囲の状況を取得する少なくとも１つのセンサと、各センサからの深度情報に基づいて障害物を認識する障害物認識手段と、非障害物の画像上の特徴量を記録した非障害物記憶手段と、前記障害物認識手段により障害物と認識された物体の、画像上の特徴量を前記センサからの画像情報から抽出し、前記非障害物記憶手段とのマッチングを行って前記非障害物を認識する非障害物認識手段と、前記障害物認識手段により障害物と認識された物体から前記非障害物認識手段により非障害物と認識された物体を削除して最終的な障害物を決定する障害物決定手段と、前記障害物決定手段により最終的に障害物と判断された物体の位置情報を用いて前記ロボットの移動経路を計算する経路計画手段と、を備えたことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、障害物と非障害物とを低コストで分類し、不必要に物体を回避しないで効率的に移動できる。
【図面の簡単な説明】
【００１３】
【図１】ロボット100-1の機能ブロック図の一例である。
【図２】図１に示したロボット100-1のハードウェア構成の一例である。
【図３】図１に示したロボットの動作を説明するためのフローチャートの一例である。
【図４】効果の概念図である。
【図５】ロボット100-1が出発地からみた様子を示す図である。
【図６】センサ１(11)の取得情報例１を示す図である。
【図７】（a）、（b）、（c）、（d）は、センサ２（14）の取得情報を示す図である。
【図８】「草」の色ヒストグラムの概念図であり、図８（b）は「草」のテキスチャヒストグラムの概念図である。
【図９】（a）は、「岩」の色ヒストグラムの概念図であり、（b）は、「岩」のテキスチャヒストグラムの概念図である。
【図１０】（a）は、「草」と「岩」とが混ざった色ヒストグラムの概念図であり、（b）は、「草」と「岩」とが混ざったテキスチャヒストグラムの概念図である。
【図１１】経路計画のフローチャートの一例である。
【図１２】コストマップの一例である。
【図１３】LRFのスキャン位置、スキャン結果、及び非障害物認識の一例を示す図である。
【図１４】ロボット100-2の機能ブロック図の一例である。
【図１５】図１４に示したロボット100-2のハードウェア構成図の一例である。
【図１６】図１４に示したロボット100-2の動作を説明するためのフローチャートの一例である。
【図１７】図１４に示したロボット100-2の動作を説明するためのフローチャートの他の一例である。
【図１８】ロボット100-3の機能ブロック図の一例である。
【図１９】図１８に示したロボット100-3のハードウェア構成図の一例である。
【図２０】図１８に示したロボット100-3のフローチャートの一例である。
【図２１】図１８に示したロボット100-3による経路計画１のフローチャートの一例である。
【図２２】図１８に示したロボットによる経路計画２のフローチャートの一例である。
【図２３】図１８に示したロボット100-3と給電装置との関係を示す概念図である。
【図２４】図１８に示したロボット100-3の経路探索のフローチャートの一例である。
【図２５】図１８に示したロボット100-3の経路探索の一例である。
【図２６】図１８に示したロボット100-3の障害物回避の一例である。
【図２７】図１８に示したロボット100-3の障害物回避後の再経路探索の一例である。
【図２８】図１８に示したロボット100-3による第２ラウンドの経路計画の一例である。
【図２９】図１８に示したロボット100-3による給電装置が経路探索対象グリッド外の場合の経路探索の一例である。
【図３０】図１８に示したロボット100-3の機能ブロック図の変形例である。
【図３１】図３０に示したロボット100-4のフローチャートの一例である。
【図３２】図３０に示したロボット100-4の経路探索フローチャートの一例である。
【図３３】図３０に示したロボット100-4の移動の説明のためにグリッドに番号を付加した図である。
【図３４】図３０に示したロボット100-4の図３３のグリッドに対して、移動コストをグリッド間に反映した例をグラフ形式で示した図である。
【図３５】経路探索対象グリッドを並べたもので、図３２のNに対応する。
【発明を実施するための形態】
【００１４】
本発明の実施の形態について図面を参照して説明する。
＜概要１＞
本発明は、自律移動体としてのロボットの経路決定処理に際して、以下の特徴を有する。
まず、第１のセンサとしての3Dセンサ等、物体の存在や位置が分かるセンサで障害物を判断する。障害物と判定された物体に対し、第２のセンサとしてのRGBカメラ等、物体の色やその物体が持っているテキスチャが分かるセンサを使って非障害物でないか否かを判定する。第１のセンサで判定された障害物から第２のセンサで判定された非障害物を除いた障害物を、回避すべき障害物として、ロボットの移動すべき経路を決定する。回避不要な障害物を、経路探索から除外することにより、経路の選択肢が広がり、より効率的に移動経路を選択することができる。
【００１５】
要するに、第１のセンサで障害物と判断されたものの中から、第２のセンサを用いて非障害物でないか否かを判定する。これらを統合した結果から、ロボットの移動すべき経路を決定することで、より効率的な移動経路が選択可能となる。
以下、本発明の特徴について、図面を用いて詳細に解説する。尚、ロボットの外形形状としては特に限定するものではなく、自律して移動できる外形形状であればよい。また、ロボットは目的地に到達した後、目的により動作が異なり、例えば、搬送用ロボットであれば、荷下ろしをしたり、荷を積み込んだりする。荷下ろしや積み込みは人間がする場合もあるが、本実施形態では、搬送用ロボットの場合で説明する。
【００１６】
＜実施形態１＞
［構成１］
（機能ブロック１）
図１は、ロボット100-1の機能ブロック図の一例である。この構成は、センサが二つの場合を示す。以下、同様の部材には共通の符号を用いた。
第１のセンサ11（以下、センサ１（11））は、ロボット100-1の周辺にある障害物を検出するためのセンサであり、具体的には3D情報が取得できるセンサが挙げられる。
障害物認識手段12は、センサ１（11）からのデータから障害物を認識する手段であり、障害物の位置及び領域を特定する機能を有する手段である。
画像領域分割手段13は、障害物認識手段12からの障害物領域を、センサ１（11）のデータを用いて分割する手段である。画像領域分割手段13は、具体的には、距離によってほぼ同じ距離にあるものは１つの領域とし、ある程度離れた距離にある領域は別の領域として分割する機能を有する手段である。
第２のセンサ14（以下、センサ２（14））は、ロボット100-1の周辺にある非障害物を検出するためのセンサであり、具体的には、色やテキスチャ情報が取得できるセンサである。
非障害物認識手段15は、画像領域分割手段13からの領域とセンサ２（14）のデータを用いて非障害物を認識する手段であり、詳細は後述する。
非障害物記憶手段16は、非障害物認識手段15の認識のための辞書等を記憶する手段である。
障害物決定手段17は、障害物認識手段12からの障害物領域と非障害物認識手段15からの非障害物領域から最終的な障害物領域を決定する手段である。
経路計画手段18は、障害物決定手段17からの障害物領域からロボット100-1の移動経路を探索して決定する手段であり、詳細は後述する。
移動手段19は、経路計画手段18により決定された経路を実際に移動する手段である。
【００１７】
移動手段19としては、後述するモータードライバ、モーター、及び車輪を用いて前進、後退、停止、左右への旋回、及び信地旋回が可能である。駆動や旋回については特に限定するものではなく、ステアリング機構を用いて旋回したり、無限軌道を用いて超信地旋回したり、オムニホイール機構を用いて移動したりしてもよい。
【００１８】
（ハードウェア構成１）
図２は、図１に示したロボット100-1のハードウェア構成の一例である。
CPU21は、Central Processor Unitの略である。CPU21は、全体の制御を司る他に、ステレオカメラから深度画像を生成する処理、障害物認識、画像領域分割、非障害物認識、障害物決定、経路計画処理を実行するデバイスである。Memory22はメモリであり一時的にデータを保存する機能を有するデバイスである。HDD23は、Hard Disk Driveの略であり、Memory22より大容量のデータを保存する機能を有するデバイスである。LAN24は、Local Area Networkの略であり、データ通信網であって本実施形態では無線LANが挙げられる。第１のセンサとしての3Dセンサ25は、周辺の物体の3D情報をディジタルデータとして取得するセンサである。第２のセンサとしてのRGBカメラ26は、周辺の物体のRGB情報をディジタルデータとして取得するセンサである。モータードライバ27は、モーター28の駆動を制御する制御回路である。モーター28は、移動のための動力となる手段である。車輪29は、モーター28の動力を地面に伝える手段である。バッテリー31は各部へ電力を供給するデバイスである。移動手段19は、モータードライバ27、モーター28、及び車輪29を有する手段である。
【００１９】
［動作１］
図３は、図１に示したロボット100-1の動作を説明するためのフローチャートの一例である。
ステップ001・・・センサ１(11)を使って周辺の情報を取得するセンシングである。具体的には、LRF等を使ってロボットの進行方向の3Dデータを取得する。
ステップ002・・・センサ１(11)のセンシング情報から、ロボットが干渉せずに移動できない領域を障害物として検出する。
ステップ003・・・障害物とされた領域をセンサ１(11)のセンシング情報から画像領域に分解する。具体的には、3Dの距離情報により、ほぼ同じ距離にあるものは１つの領域とし、ある程度離れた距離にある領域は別の領域として分解する。
ステップ004・・・障害物とされた領域を、センサ２(14)を使ってセンシングをする。具体的には、RGBカメラ26で障害物領域の画像を取得する。
ステップ005・・・センサ２(14)のセンシング情報から、非障害物検出を行う。その際に、ステップ003の画像領域毎に非障害物検出を行う。
ステップ006・・・ステップ002で判定された障害物領域から、ステップ005で判定された非障害物領域を除き、それを障害物領域と決定する。
ステップ007・・・ステップ006で決定された障害物領域を除いた空間から目的地までの移動経路を探索し決定する。
ステップ008・・・ステップ007で決定した移動経路に基づいて、実際に移動する。
ステップ009・・・移動した結果、目的地に到着したら終了する、到着していなければ、以上の処理を繰り返して移動経路を更新する。すなわち、ロボット100-1は、目的地に到着するまでは、所定量移動しては障害物認識を繰り返すのである。
【００２０】
ここで、ステップ009について補足するが、図１６のステップ009'に対応する。
障害物によりオクルードされている部分については、障害物があるか否が不明なので、ステップ009にあるように、「移動」しては、障害物検出を行う処理を繰り返すことになる。
【００２１】
しかし、目的地までの間に障害物が無いことが確認された場合で、障害物となりうる移動物体として動物等が入り込んで来ない環境においては、障害物判定を繰り返す必要がなくなる。その場合は、以後の障害物判定は行わず、目的地へ移動する。図１７にそのフローチャートを示す。
ここで、移動とは、例えば、ロボット100-1が１ｍ進むことが挙げられる。ステップ003は、障害物認識手段12で障害物と認識された画像領域が、深度情報から画像領域に分割する画像領域分割手段13と、画像領域単位で画像上の特徴量に基づき非障害物か否かを判定する非障害物認識手段15と、を有することに相当する。
【００２２】
ロボット100-1が障害物判定をした後に、障害物と判定された物体のみを非障害物であるか否かを認識するので、非障害物認識の計算コストが、全体を認識する場合に比べて大きく低減されるので、効率的な障害物回避が可能になる。
また、非障害物認識手段15は、障害物認識手段12で障害物と認識されそうな物体から非障害物として扱いたいものだけを認識すればよいので、障害物もしくは非障害物を厳密に認識するより認識対象は少なくてすむ。従って、その認識処理分だけ計算コストが少なくてよい。
【００２３】
従来は、障害物、例えば「草」等も含めて、それらを回避するように経路を探索していたので、乗り越えられる「草」も回避するような経路になっていた。本発明では、非障害物として「草」を認識して、障害物から除外した上で、経路を探索するので、より効率的な経路を選択できるようになる。
【００２４】
［効果の概念］
図４に効果の概念図を示す。
ロボット100-1は、現在出発地にあり、目的地に移動しようとしている。出発地から目的地まで移動するにあたり、障害物を検出して回避する。通常の3Dセンサ等による障害物判定では、踏み越えていける「草」も障害物と判定されてしまい破線L1〜L3のような経路を通って目的地へ移動することになる。本発明によれば、「草」等は障害物から除かれるので、実線L4のような経路を通って目的地へ移動することが可能となる。
【００２５】
図５は、ロボット100-1が出発地からみた様子を示す図である。
ロボット100-1の目線で、図４の出発地から目的地方向を見た様子を示す。
図５に示すように目的地としての平屋造りの家屋と、家屋の手前と家屋の横に配置され軒下ほどの高さを有する二つの岩と、二つの岩の手前に生えた草とが表示されている。
【００２６】
図６は、センサ１(11)の取得情報例１を示す図である。
センサ１(11)は3Dセンサ25で情報取得した一例である。輝度が遠近を表しており、濃度が濃いほど遠い。この像が障害物候補で、遠近により、家屋、二つの岩、及び草の４つの画像領域に分類できる。
【００２７】
図７（a）、（b）、（c）、（d）は、センサ２（14）の取得情報を示す図である。
図７（a）〜（d）は、図６の情報をもとに、４つの画像領域に対応した領域、それぞれについて、センサ２(14)（RGBカメラ26）で情報取得した一例である。
草、一部か欠けた二つの岩、及び家屋の一部が記載されている。
【００２８】
図８（a）は、「草」の色ヒストグラムの概念図であり、図８（b）は「草」のテキスチャヒストグラムの概念図である。
図７（a）の「草」の色ヒストグラムをとると、緑が多くその他の色は少なくなる。図８にヒストグラムの様子を示す。
図８（b）は、図７（a）の「草」のテキスチャヒストグラムをとると、縦方向に葉が伸びているので、そのテキスチャは縦方向がピークの中心になる。図にヒストグラムの様子を示す。テキスチャは、高次自己関数等を利用することで簡単に求めることができる。
【００２９】
図９（a）は、「岩」の色ヒストグラムの概念図であり、図９（b）は、「岩」のテキスチャヒストグラムの概念図である。
図７（b）、（c）の「岩」の色ヒストグラムをとると、グレーもしくは無色が多くその他の色は少なくなる。図7（b）、（c）の「岩」のテキスチャヒストグラムをとると、特にテキスチャの方向性は無いのでフラットになる。尚、特殊な岩石では方向性がでるものがあるが、ここでは一般例を示す。
【００３０】
［非障害物認識処理例］
図６〜９にて、非障害物認識処理例について説明する。
図６は、図１に示したロボット100-1のセンサ１（11）の取得情報例を示す図である。図７（a）〜（d）は、図１に示したロボット100-1のセンサ２（14）の取得情報例を示す図である。
図８（a）は、「草」の色ヒストグラムの概念図であり、図８（b）は、「草」のテキスチャヒストグラムの概念図である。図９（a）は、「岩」のヒストグラムの概念図であり、図９（b）は、「岩」のテキスチャヒストグラムの概念図である。図８（a）、図９（a）において、横軸は色を示し、縦軸は頻度を示す。図８（b）、図９（b）において横軸はテキスチャの方向性を示し、縦軸は頻度を示し、横軸の下側の９マスはテキスチャの方向性を表しており、３つの黒四角が両矢印を示す。従って、草地では上下方向を表している縦方向の黒四角のところの頻度が多くなっている。
【００３１】
図６に示すように障害物が認識される。画像領域に分割され、それぞれの領域についてセンサ２（14）によって情報が取得される（図７（a）〜（d））。領域毎に、画像特徴量を計算する。その特徴量が、予め登録されている非障害物の特徴量（非障害物記憶手段16）と近ければ非障害物と判定する。ここでは、画像特徴量として、画像領域内の色に関するヒストグラムとテキスチャとに関するヒストグラムの例を示している。
【００３２】
図８（a）、（b）が、図７（a）の領域（「草」）に対応するものであり、図９（a）、（b）が、図７（b）、（c）の領域（「岩」）に対応するものである。物体により、特有の特徴量をもつので、非障害物と認識したい物体に対する特徴量を予め登録しておくことで、非障害物を認識することができる。
また、「草」等の植物は、季節によって色を変える。時間によって特徴量に変化があるものは、時間に合わせた特徴量でマッチングを利用することでより精度の高い認識が可能となる。「草」の色ヒストグラムのピークを春及び夏は、緑色にピークをおき、秋及び冬は茶色にピークをおく等が挙げられる。
【００３３】
図１０（a）は、「草」と「岩」とが混ざった色ヒストグラムの概念図であり、図７（a）、（b）、（c）の「草」と「岩」とが混ざった場合の色ヒストグラムの様子である。「草」の緑と「岩」のグレーもしくは無色とが混ざったものである。
図１０（b）は、「草」と「岩」とが混ざったテキスチャヒストグラムの概念図であり、図７（a）、（b）、（c）の「草」と「岩」とが混ざった場合のテキスチャヒストグラムの様子である。「草」の縦方向に、「岩」の無方向性が混ざったものである。
【００３４】
図１０にて、センサ２（14）による非障害物認識処理の前に、センサ１（11）を用いて画像領域に分割しておく効果について説明する。
画像領域に分割せずに、例えば、「草」と「岩」とが混ざっている場合（図１０）、非障害物である「草」の特徴があまり出ないので、検出できない可能性が増大する。
そこで、等距離のものは同じ物体であり、距離が離れている物体は別の物体である確率が高いはずなので、非障害物認識処理の前に、距離によって画像領域に分けておくことで、認識精度が向上する。勿論、同じ距離、すなわち奥行き方向であっても、その物体間の平面方向の距離が大きければ別の画像領域に分ける。
【００３５】
図１１は、経路計画のフローチャートの一例である。
ステップ101・・・経路計画の最初の処理か否かを判定する。最初の処理なら初期化、すなわちグリッド化を行うためである。
ステップ102・・・全領域を所定の大きさのグリッドに分割しコストを初期化、例えば、１にする。コストとは、例えばロボット100-1が移動するときのコストのことである。あるグリッドに障害物があれば、そのコストは高く、すなわち無限大に設定することになる。
ステップ103・・・経路計画処理の前で発見されている障害物情報をもとにコストを見積もり、グリッドに反映、すなわちマッピングする。但し、最初は障害物の奥行きは不明である。そこで、障害物として見えている部分の面積に比例して奥行きを決め、そのコストは奥に行くほど小さくなるように設定する等の処理が必要になる。
図３のフローチャートにおいて、移動毎に処理フローをまわす理由は、移動によってオクルージョンされている部分が徐々に見え、各グリッドの正確なコストを反映できるためである。正確なコストがわかれば、より正確で効率的な移動経路を計算できる。
ステップ104・・・グリッドのコストから、現在位置から目的地へ向かうコスト最小な経路を探索する。ダイクストラ法、A*等のアルゴリズムが既知である。
【００３６】
図１２は、コストマップの一例である。
濃度が高ければ、その移動には高いコストがかかることになる。障害物が検出された場所のグリッドはコストを高く、すなわち無限大に設定する。但し、障害物の奥行きは、最初は不明のため、障害物として見えている面積に比例して奥行きを決め、コストは奥に行くほど小さくなるように設定している。
「草」である非障害物が障害物としてコストマップに反映されている場合、破線L5〜L7のような経路が探索される。「草」（非障害物）が反映されていなければ、実線L8のような経路が探索される。実線L8の経路の方が明らかに破線L5〜L7の経路より効率的である。
ここで、図１２は手書きのため、障害物や移動経路がグリッドに従っていないが、実際には各グリッドに合わせることになる。
出発地と目的地のコストが高く、すなわちグレーになっているように見えるが、位置を明示するためで、実際のコストは最低コストである。
【００３７】
図１３は、LRFのスキャン位置、スキャン結果、及び非障害物認識の一例を示す図である。
センサ１（11）が通常のLRFの場合、3Dデータは得られず、１方向の距離情報のみが取得可能である。図５をLRFで破線L9方向にスキャンした位置の例が図１３の上段に示されている。
【００３８】
LRFのスキャン結果が図１３の中段に示されている。横軸がスキャン方向で、縦軸がセンサからの距離としての奥行きであり、大きいほうが遠いことを表す。図１３の上段の「草」の部分を見ると途中隙間が開いているが、所定値より小さければまとめてしまう処理を行って図１３の中段を得ている。また、物体以外の地面等は反射波が弱く距離情報が返ってこないとしている。
図１３の上段、中段、下段にまたがる破線L11〜L14は物体の位置の対応を表している。
図１３の下段にLRFの非障害物認識が示されている。これは、画像領域に分割して、非障害物を認識する概念図である。画像領域は、図１３の中段の画像の距離をもとに、その長さに比例した面積を画像領域とする。図１３の下段の斜線の入った楕円L15,L16,L17がその画像領域にあたる。後の処理は、3Dセンサ25と同様である。
障害物が同じ距離、すなわち奥行き方向にあるときは、センサ１（11）の結果を使って画像領域に分割するのは難しい。その場合は、センサ２（14）から取得できる色ヒストグラムやエッジ情報等から、画像領域に分割してから、非障害物認識をすることになる。
画像領域分割は、グラフカットなどのアルゴリズムが既知である。
センサ２（14）に赤外線カメラを使っても同様の効果を期待できる。非障害物認識の画像特徴量として、赤外線の反射量等を利用するだけで、処理は今まで述べたものと同様である。
【００３９】
＜実施形態２＞
［構成２］
（機能ブロック２）
図１４は、ロボット100-2の機能ブロック図の一例である。
センサ20は、ロボット100-2の周辺の物体の深度情報としての距離情報と画像情報を取得するセンサである。具体的には3D情報が取得できるセンサ等が挙げられる。
ここで、ロボット100-2の周囲の状況を取得するセンサ20の数が１つの場合、ステレオカメラが用いられる。ロボット100-2の周囲の状況を取得するセンサ20の数が２つ以上の場合、第１のセンサが深度方向の情報が入手可能な3Dセンサが挙げられる。ロボット100-2の周囲の状況を取得するセンサ20の数が２つ以上の場合、第２のセンサは物体の色やテキスチャが取得できるカメラが挙げられる。ロボット100-2の周囲の状況を取得するセンサ20の数が２つ以上の場合、第２のセンサは赤外線カメラが挙げられる。
【００４０】
障害物認識手段12は、センサ20からのデータから障害物を認識する手段である。障害物の位置・領域を特定する機能を有する。
画像領域分割手段13は、障害物認識手段12からの障害物領域を、センサ20のデータを使って分割する手段である。具体的には、距離によってほぼ同じ距離にあるものは１つの領域とし、ある程度離れた距離にある領域は別の領域として分割する。
非障害物認識手段15は、画像領域分割手段13からの領域とセンサ20のデータを使って非障害物を認識する手段である。詳細は後述する。
非障害物記憶手段16は、非障害物認識手段15の認識のための辞書等を記憶する手段である。
障害物決定手段17は、障害物認識手段12からの障害物領域と、非障害物認識手段15からの非障害物領域とから最終的な障害物領域を決定する手段である。
経路計画手段18は、障害物決定手段17からの障害物領域から、ロボット100-2の移動経路を探索して決定する手段である。詳細は後述する。
移動手段19は、経路計画手段18により決定された経路を実際に移動する手段である。
【００４１】
（ハードウェア構成２）
図１５は、図１４に示したロボット100-2のハードウェア構成図の一例である。
CPU21は、全体の制御を司る他に、ステレオカメラから深度画像を生成する処理、障害物認識、画像領域分割、非障害物認識、障害物決定、経路計画処理を実行するデバイスである。
Memory22はメモリであり一時的にデータを保存する機能を有するデバイスである。HDD23はMemory22より大容量のデータを保存する機能を有する装置である。LAN24は、Local Area Networkの略である。LAN24はデータ通信網であり、本実施形態では無線LANが挙げられる。
尚、図には示されないが、センサが3Dセンサの場合、周辺の物体の3D情報をディジタルデータとして取得するセンサである。センサがRGBカメラの場合、周辺の物体のRGB情報をディジタルデータとして取得するセンサである。ステレオカメラ30は、２台のRGBカメラが並んだセンサである。モータードライバ27はモーター28の駆動を制御する制御回路である。モーター28は移動のための動力となるモーターである。車輪29はモーターの動力を地面に伝える車輪である。移動手段19は、モータードライバ27、モーター28、及び車輪29を含む。バッテリー31は各部へ電力を供給する機能を有するデバイスである。
【００４２】
＜動作２＞
図１６は、図１４に示したロボット100-2の動作を説明するためのフローチャートの一例である。
ステップ001'・・・センサ20を用いてロボット100-2の周辺の情報を取得するセンシングである。具体的には、ステレオカメラ30でロボット100-2の進行方向のデータを取得する。
ステップ002'・・・ステップ001'のステレオ画像から特徴点のマッチングをして視差画像を計算し深度画像を生成する。その深度画像から、ロボット100-2が干渉せずに移動できない領域を障害物として検出する。
ステップ003'・・・障害物とされた領域を深度情報に基づいて画像領域に分解する。具体的には、深度情報により、ほぼ同じ深度にあるものは１つの領域とし、ある程度離れた深度にある領域は別の領域として分解する。また、深度は同じであっても、２次元的に距離が離れた物体も別の領域とする。
ステップ005'・・・センサ20のRGB情報から、非障害物検出を行う。その際に、ステップ003'の画像領域毎に非障害物検出を行う。
ステップ006'・・・ステップ006と同様である。
ステップ007'・・・ステップ007と同様である。
ステップ008'・・・ステップ008と同様である。
ステップ009'・・・ステップ009と同様である。
【００４３】
図１７は、図１４に示したロボット100-2の動作を説明するためのフローチャートの他の一例である。
図１７において、ステップ001'〜008'は、図１６と同様である。
ステップ009'・・・移動した結果、目的地に到着したら終了する。到着していなければ、ステップ010'へ進む。
ステップ010'・・・現在地と目的地の間に障害物が認められない場合は、現状の経路に従って移動する（ステップ008'）。障害物が存在する場合は、障害物認識を繰り返して移動経路を更新する。
【００４４】
＜実施形態３＞
ここで、畑の雑草は、農作物の生育に影響するので、定期的に除草作業が行われているが、農家の大変な負担となっている。そこで、リモコン操作による草刈りロボットや除草剤を散布するロボット等が既に知られている。
【００４５】
しかし、今までのリモコン操作による草刈ロボットは、草刈ロボットを操作する操作者が必要であった。操作者は、高速で回転する回転鋸で草刈りを行うためには、リモコン操作に習熟する必要があり、草刈りエリアには関係者以外は立ち入り禁止として操作する必要がある。また、草刈りロボットを用いる代わりに除草剤を散布するロボットを用いると、環境負荷が高いという問題がある。さらに、たとえ、人体に無害である除草剤を用いたとしても、除草剤を使用しない農作物の方が、商品価値が高くなる。つまり、消費者は農作物に薬剤を使うことに対して忌避感情が働くので、実質的に無害であっても風評や先入観により商品価値が下がってしまう。
【００４６】
そこで、回転鋸や薬剤を使わない別の方法として、除草対象エリア全体の雑草を自動で繰り返し踏みつけることにより、除草もしくは抑草するというアイデアが考えられる。雑草を踏みつけて回る経路は、従来技術の発想からすれば、毎回、同じ経路を繰り返すことになる。
しかしながら、雑草の状態は均一ではない、つまり、場所によって雑草が濃く残っている場所と、既に踏つけの必要の無い場所とが発生する。従って、毎回同じ経路にて雑草の踏み潰しを繰り返すのは、不要となっている場所も引き続き回ってしまうので非効率であるという問題点がある。
【００４７】
すなわち、特許文献６には、種撒きの約１ヶ月前に、土壌表面を攪拌若しくは押圧し、発芽した雑草を土中に埋没させる作業を７日から１４日間隔で数回行う、除草・抑草方法が開示されている。特許文献６に記載の発明は、押圧して雑草を抑草はするものの２回目以降の効率的な方法については開示されていない。
特許文献７には、水田の除草ロボットが開示されているものの、その除草ロボットは畑で利用することは出来ない。
特許文献８には、人口的に紫外線を雑草に照射して、雑草を枯殺又は成長抑制する方法が開示されているが、紫外線は人体には有害であるため、好ましくない。
特許文献９には、自律移動で掃除をするロボットに関して、衝突センサからの信号で経路を変更する方法が開示されている。しかしながら、経路計画的手段はなく、従って、２回目以降の効率的な方法については開示されていない。
【００４８】
そこで、畑の除草を行うことができ、人体や環境に影響を与えない除草を自動かつ効率的に行う自律移動可能なロボットが望まれる。
【００４９】
＜概要２＞
実施形態３について説明する。本発明は、自律移動体による除草・抑草作業に際して、以下の特徴を有する。
本発明は、畑において、対象領域を網羅的に移動する経路を決定する経路決定手段、雑草の状態を記憶する記憶手段、電力確保をする充電手段、雑草を踏み潰す踏潰手段を備え、自動的に効率的に移動して雑草を繰り返し踏み潰すものである。
要するに、畑を移動しながら雑草を踏みつけて回る移動体で、特に２回目以降の経路を雑草等の状態によって決定することによって効率的な除草・抑草が可能になるものである。
＜構成＞
以下、図面を用いて詳細に解説する。
本発明は、畑、特に果樹園等の除草・抑草が主な目的ではあるが、雑草が生え易い、河川敷、庭等の除草・抑草にも有効である。
（機能ブロック図）
図１８は、ロボット100-3の機能ブロック図の一例である。
ロボット100-3は、センサ40、位置取得手段41、障害物認識手段12、障害物記憶手段42、移動手段19、経路決定手段43、雑草状態記憶手段44、雑草状態取得手段45、踏潰手段46、バッテリー47、及び充電手段48を有する。
【００５０】
センサ40は、自律移動体としてのロボット100-3の周辺にある物体や地面の状態を検出するためのセンサであり、例えばCCD(Charge Coupled Device：電荷結合素子)が挙げられる。
障害物認識手段12は、センサからのデータから障害物を認識する手段であり、障害物の位置や領域を特定する。
障害物記憶手段42は、認識された障害物の位置や大きさを記憶する手段であり、例えば、フラッシュメモリが挙げられる。障害物の位置は、自己位置からみた障害物の相対位置を自己位置として位置取得手段41に付加することで推定する。
充電手段48は、バッテリー47に自律的に充電をする手段である。自律的とは、充電プラグをコンセントに差し込んだり、引き抜いたり、充電ドックにドッキングしたり、離脱したりすることを自動で行えることである。
バッテリー47は、充放電可能な２次電池であり、例えばリチウムイオン電池、ニッケル水素電池が挙げられ、システム全体に電流を共有する手段である。
雑草状態取得手段45は、踏み潰した雑草の状態をセンサ40で取得して、雑草の弱り具合を数値化する手段である。具体的には、雑草の高さを雑草の弱り具合とする等して取得する。
雑草状態記憶手段44は、雑草の位置と状態とを記憶する手段である。雑草の位置は、自己位置として位置取得手段41に、雑草から移動した分の補正を加えればよい。
経路決定手段43は、バッテリー47の充電残量、障害物の位置、領域情報及び雑草の位置と状態情報とから、移動経路を決定する手段である。但し、最初の経路決定時には、障害物と雑草とに関する情報は与えられていないので、対象領域をくまなく回るような経路を探索し決定する。場合によっては、人手により、予め障害物位置が入力することもありうる。その場合は、障害物の領域は外して経路を探索決定することになる。
【００５１】
移動手段19は、経路決定手段43により決定された経路を実際に移動する手段である。
踏潰手段46は、雑草を踏み潰す手段であり、通常は、移動手段の一部である無限軌道や車輪等であるが、別途専用に設けることも可能である。例えば、押圧用ローラーで押圧する、さらには、鋤状の掘り起こし器を引っ張った後で押圧ローラーにて押圧する等が挙げられる。また、無限軌道や車輪にスパイク等の加工を施して、雑草を枯死させる効果を高めることも考えられる。
位置取得手段41は、移動手段19からの情報やセンサ40からの情報から自律移動体としてのロボット100-3の現在位置を取得する手段である。移動手段19からの情報とは、オドメトリー、すなわち車輪や無限軌道の回転数等から移動量であり、移動量を求めて、初期位置に移動量を加算して現在位置を求める方法等が挙げられる。センサ40からの情報とは、周辺画像、例えばランドマークとして複数の目標物を予め登録しておき、走行時の画像からランドマークの見える方向・角度、距離等の情報であり、この情報から自己位置を推定する方法が挙げられる。GPS（グローバルポジショニングシステム）からの緯度・経度情報等から自己位置を推定してもよい。
センサ40、バッテリー47、位置取得手段41、障害物認識手段12、障害物記憶手段42、移動手段19は、構成要素として記載していないが、自律移動体としてのロボット100-3であれば、通常は保持するものである。
【００５２】
図１９は、図１８に示したロボット100-3のハードウェア構成図の一例である。
ハードウェアとしては、CPU21、Memory22、HDD23、センサ40、移動手段19、充電手段48、及びバッテリー47を有する。移動手段19は、モータードライバ27、モーター28、及び無限軌道(踏潰手段)50を有する。
CPU21は、Central Processor Unitの略であり、全体の制御を司る他に、位置取得、障害物認識、雑草状態取得、及び経路決定を実行する。
Memory22は、メモリであり、障害物の位置、大きさ、雑草の位置、及び状態を記憶する。
HDD23は、Hard Disk Driveの略であり、Memory22より記憶容量は大サイズである。
センサ40は、周辺の状態を取得するセンサであり、例えば、ステレオカメラが挙げられる。センサ40は、１種類に限らず、障害物を見分けるためのLRF（レーザレンジファインダ）、雑草の高さを見るためのステレオカメラ、位置を取得するためのGPSをそれぞれ搭載することも考えられる。
モータードライバ27は、モーター28の駆動を制御する制御回路である。
モーター28は、移動のための動力源である。
無限軌道50は、モーター28の動力を地面に伝える部材であり、無限軌道50で移動することで、雑草の踏み潰しも兼ねている。除草・抑草効果を高めるために、無限軌道50にスパイク状に突起をつけることも考えられる。
充電手段48は、バッテリー31を充電する。
バッテリー31は、各部へ電力を供給する。
【００５３】
＜動作３＞
図２０は、図１８に示したロボット100-3のフローチャートの一例である。
ステップ001・・・最初の経路計画を行う。詳細は図２１のフローチャートにて説明する。
ステップ002・・・自己位置推定のためのセンシングを行う。自己位置の推定用法によって利用するセンサも異なる。
ステップ003・・・ステップ002のセンシング情報より自己位置を推定する。様々な推定方法が考えられる。例えば、周囲のランドマークを利用するのであれば、ステレオカメラ等で２つ以上のランドマークを撮影して認識し、その方向や距離が分かれば、自己位置を推定することが可能である。他には、オデメトリ（移動手段の回転数）をみることでどれだけ移動したかがわかるので自己位置を推定することが出来るが誤差が累積しやすく、スリップ等の影響が大きい。
そこで、オプティカルマウスのように移動する地面をスキャンして移動距離を求め、それから自己位置を推定する方法もある。また、空が開けている場所ならGPSを利用して自己位置を求めることもできる。本ステップは、ステップ007の移動誤差を補正する意味がある。
ステップ004・・・障害物検出のためのセンシングを行う。様々なセンサが考えられる。例えば、物体にレーザを照射し、その物体からの反射波で物体位置を検出するレーザレンジファインダが挙げられる。レーザではなく超音波を使った超音波センサ、画像として物体を認識するのであれば、赤外線カメラやステレオカメラ等が挙げられる。
ステップ005・・・ステップ004のセンシング情報より障害物検出を行う。
ステップ006・・・ステップ005で移動方向に障害物が検出された場合はステップ013、検出されなかった場合はステップ007へ分岐する。
ステップ007・・・実際に移動する。移動の際に、雑草の踏み潰しも行う。足回りによっては移動するだけで雑草が踏み潰される。ここでの「移動」とは、例えば１ｍ進むとか、１単位分の移動を意味する。
ステップ008・・・ステップ007で踏み潰した後の雑草の状態をセンシングする。具体的にはステレオカメラ等でのセンシングが挙げられる。
ステップ009・・・ステップ008のセンシング情報より雑草の状態を数値化する。状態の数値化とは、雑草がどれだけ抑えられたかを数値で表すことである。例えば、雑草の高さをそのまま使うことが考えられる。踏み潰しにより雑草が折れてしまえば、雑草の高さは低くなるし、折れなければ多少低くなるものの、依然高いままとなるはずである。
ステップ010・・・ステップ009で求めた数値を現在位置とともに記録する。
ステップ011・・・ステップ001で作成した経路全てを移動済みか否か判別する。移動済みならステップ012へ、未移動ならステップ002へ分岐する。
ステップ012・・・ステップ010で記録されている雑草状態をみて、雑草が十分に踏み潰されている場合は終了へ、そうでなければステップ016へ分岐する。
ステップ013・・・ステップ005で検出された障害物の位置を記録する。
ステップ014・・・障害物を回避する。そして、元の経路に戻る。
ステップ015・・・発見された障害物を入れた状態で再経路探索（図６参照。）を行う。
ステップ016・・・２回目以降の経路計画を行う。詳細は図２２のフローチャートにて説明する。
【００５４】
図２１は、図１８に示したロボット100-3による経路計画１のフローチャートの一例である。
ステップ102・・・除草・抑草作業を実施する領域の地図をグリッドに分割する。地図は作業領域を反映しているだけの白地図でよい。グリッド単位で移動することになる。例えば、１×１ｍが挙げられる。
ステップ103・・・各グリッドは、次の情報を持つことが出来る。１つ目は障害物情報でグリッドに障害物があるかどうか、２つ目は雑草状態でグリッド内の雑草の状態を表す。グリッド内の最悪な雑草状態、すなわち最も背の高い雑草の高さを代表すればよい。これらに初期値を入れる。予め分かっている障害物等があればそれを初期値とするが、何の情報も無ければ、全グリッドの障害物は無く、雑草状態は∞にセットする。
ステップ104・・・経路探索のための移動すべきグリッドを経路探索対象グリッドとしてセットする。まず、障害物を持たないグリッドのみをセットする。
ステップ106・・・バッテリー残量をチェックして所定量より少なければステップ007へ、それ以外はステップ108へ分岐する。
ステップ107・・・経路探索対象グリッドにバッテリーを充電できる給電元の位置であるグリッドを追加する。
ステップ108・・・経路探索対象グリッドの全てのグリッドを訪れるような経路を探索する。そのアルゴリズムの例は図２４で説明する。
【００５５】
図２２は、図１８に示したロボットによる経路計画２のフローチャートの一例である。
ステップ104・・・経路探索のための移動すべきグリッドを経路探索対象グリッドとしてセットする。まず、障害物を持たないグリッドのみをセットする。
ステップ105・・・経路探索対象グリッドの中から、雑草状態をチェックして所定の値より小さい、雑草が除草・抑草されているグリッドを取り除く。
ステップ106・・・バッテリーの残量をチェックして所定量より少なければステップ007へ、それ以外はステップ108へ分岐する。
ステップ107・・・経路探索対象グリッドにバッテリーを充電できる給電元の位置（グリッド）を追加する。
ステップ108・・・経路探索対象グリッドの全てのグリッドを訪れるような経路を探索する。そのアルゴリズムの例は図２４で説明する。
【００５６】
図２３は、図１８に示したロボット100-3と給電装置との関係を示す概念図である。
実際の自律移動体としてのロボットと給電装置との別例を示す。
ロボット100-4は、センサ手段としてのステレオカメラ60、本体61、充電端子62、踏潰手段67としての車輪、踏潰手段67としてのローラー、及びセンサ手段としてのGPS64を有する。
ステレオカメラ60・・・移動する先の物体を検出し、障害物を見つける。また、給電装置66にドッキングする際に給電装置66と自機の位置を微調整する。また、背後に回転することで、雑草状態を取得する。
GPS・・・自己位置推定のためセンサである。
ローラー65・・・主に雑草を踏み潰す手段である。
充電端子(凹)62・・・自機のバッテリーに充電するための装置である。この例では、凹の充電端子62で、給電端子(凸)62がドッキングすることで充電が始まる。
給電装置(凸)63・・・自律移動体としてのロボット100-4に電力を供給する装置である。この例では、給電端子(凸)63の端子をもつ。
車輪67・・・モーターの動力を地面に伝える車輪であり、踏潰手段にもなっている。
本体61・・・内部に各処理部（CPU,メモリ、HDD等）、モーター、バッテリー等が格納されている。
【００５７】
図２４は、図１８に示したロボット100-3の経路探索のフローチャートの一例である。
この例では、探索範囲の左端に沿って右回りで、移動可能なグリッドの移動経路を求める。
移動可能なグリッドとは、図２１及び図４２２の経路探索対象グリッドのことである。
バッファとして、グリッドである位置を順番に蓄積していく経路バッファがある。
他には、各グリッドが経路に登録されているかを表す登録フラグがある。また、最初のグリッド位置は探索領域の端にあるとする。
ステップ201・・・再経路探索の場合はステップ207へ進み、それ以外はステップ202へ分岐する。再経路探索は図２０のステップ015へ進む。
ステップ202・・・初期化を行う。経路バッファを空にし、全グリッドの登録フラグをFALSEにする。
ステップ203・・・現グリッドから左端に沿って右回りに１グリッド移動する。ここで、左とは進行方向に向かって左という意味で、端は未登録グリッド、つまり登録フラグがFALSEの端という意味である。
ステップ204・・・現グリッドでの位置を経路として登録する。
ステップ205・・・現グリッドの登録フラグをTRUEにする。但し、既にTRUEになっている場合もある。
ステップ206・・・全グリッドの登録フラグがTRUEならStop、TRUEでなければステップ203へ分岐する。
ステップ207・・・再探索用の初期化を行う。経路バッファを空にして、登録フラグは過去に移動したグリッドについてはTRUE、それ以外はFALSEとする。また、経路探索対象グリッドから新たに見つかった障害物グリッドを削除する。
【００５８】
ここで、このフローチャート中で「移動」といっているのは、探索アルゴリズム上の移動であり、実際に自律移動体を動かすことではない。
最初のグリッド位置が探索領域の端にない時は、事前に端に移動しておく。
この例ではグリッド間の移動コストについては考慮していない。グリッド間の高度差、つまり起伏、段差、溝等を移動コストとして定義し、なるべく、移動コストが低くなるような経路を探索することも考えられる。
移動コストは、例えば、登り勾配が大きければ移動に使うエネルギーも大きいので移動コストは高くなる。段差や溝等も勾配と同様にエネルギーで移動コストとすることができるが、それ以外にも、自律移動体がスタックしたり転倒したりするリスクを数値化して移動コストとして扱うこともできる。自律移動体が超えられないようなものについては∞の移動コストを設定する（図３０以降に説明する。）。
ここで、最も効率のよい経路は、各グリッドを１回だけ通る閉じた経路である。その経路は必ずしも存在するものではないが、このような最適な経路が存在するグラフ（ノードとエッジからなるグラフィカルモデル）のことをハミルトングラフと呼ばれている。ハミルトングラフであるか否かの必要十分条件や、その経路を求める効率のよいアルゴリズムは世の中に知られていない。ここで、効率のよいとは巨大なグラフになったときにも実用的な時間で解けるという意味である。
【００５９】
図２５は、図１８に示したロボット100-3の経路探索の一例である。
図２４のフローチャートに従って、経路を探索した例を示す。経路の順序を示すのに、１周目〜５周目と右回りの渦巻き状に記されているが、便宜上のものであり、図２４のフローチャートに従って連続的に求められる。
【００６０】
図２６は、図１８に示したロボット100-3の障害物回避の一例である。
図２５で取得した渦巻き状の経路に従って、自律移動体を移動させたところ、障害物を移動経路上に発見し、障害物を回避した場合の図である。回避の方法は、障害物のグリッドを左側に見て障害物を取り囲むように周囲のグリッドを移動し、元の経路に戻る。回避動作の際、どのグリッドに障害物があったかも記録される。また、経路計画を再度行うことになる（図２７参照。）。
【００６１】
図２７は、図１８に示したロボット100-3の障害物回避後の再経路探索の一例である。
図２６に対して、障害物回避が終了して元の経路に戻った状態から、再経路探索、すなわち図２４の再経路探索が実施された結果である。元の経路に戻ったグリッドから、図２４のフローチャートに従って連続的に求められる。
【００６２】
図２８は、図１８に示したロボット100-3による第２ラウンドの経路計画の一例である。
一旦、全経路を移動した後の障害物と雑草状態とが加わった図に対する経路計画が実施された結果である。障害物と雑草状態OKのグリッドを除いたグリッドに対して経路計画が行われた例である。
【００６３】
図２９は、図１８に示したロボット100-3による給電装置が経路探索対象グリッド外の場合の経路探索の一例である。
給電位置が経路探索対象内にある場合は、図２４にある経路探索で給電位置への移動は担保される。しかし、給電位置が経路探索対象外にある場合は、別途、追加的な経路探索処理が必要である。経路探索対象領域から給電位置まで、最も移動コストが低い経路をDijkstra(ダイクストラ)法、A*(エースター)法で求めることができる。
【００６４】
ここで、ダイクストラ法はグラフ理論における辺の重みが非負数の場合の単一始点最短経路問題を解くためのアルゴリズムである。エースター法は、スタートノードからゴールノードまでのパスを計算する、このとき求めるパスが最短であることを保証しているアルゴリズムである。ちなみに、ダイクストラ法では出発点からその点までの実合計距離が短い点から順に評価していくのに対して、エースター法では出発点からその点までの実合計距離＋その点から到着点までの予想距離が短い点から順に評価を行う。但し、その点から到着点までの予想距離が、その点から到着点までの実合計距離を超えていると正しい解が得られないので、例えば平面地図においては予想距離に直線距離を用いる。尚、予想距離を全て０とした場合のエースター法はダイクストラ法と同じになる。
【００６５】
例では、１グリッド１単位コストとし、グリッド内の数値は給電位置までの移動コストを表している。最も移動コストが小さい６のグリッドから給電位置へ行って、充電して、戻ってくるような経路を計画した図である。
【００６６】
＜変形例＞
図３０は、図１８に示したロボット100-3の機能ブロック図の変形例である。
図３０に示すロボット100-5の機能ブロック図は、図１８の機能ブロック図に以下の２つの機能ブロックを追加した構成である。
地形認識手段60・・・センサ40からのデータから、勾配、溝、段差、地面の種類等を認識して、移動コストに変換する。地形をコスト化するには、既に様々な方式が提案されているのでそれらの組み合わせによる。例として、以下に、地面のスロープや硬さ等の情報からコストマップ（TraversabilityMapとも言う。）を作る方法が開示されている。
Bruno Cafaro, Mario Gianni, Fiora Pirri, Manuel Ruiz, Arnab Sinha, "Terrain Traversability in Rescue Environments", Proceedings of the 11th IEEE International Symposium on Safety, Security and Rescue Robotics 2013
【００６７】
以下に、コストマップを生成する技術が開示されている。これは、実際の消費電力等を計測しておいてコストマップとする方法が開示されている。
Steven Martin, Liz Murphy and Peter Corke, "Building Large Scale Traversability Maps Using Vehicle Experience",The 13th International Symposium on Experimental Robotics, 2013
【００６８】
地形記憶手段61・・・地形認識手段60で得られた移動コストを記憶する手段である。
【００６９】
図３１は、図３０に示したロボット100-4のフローチャートの一例である。
図３１のフローチャートは図２０のフローチャートに以下の３ステップを追加したものである。
ステップ017・・・地形認識のためのセンシングを行う。例えば、ステレオカメラ等が挙げられる。
ステップ018・・・ステップ017のデータから、地面の勾配等を求めて、移動コストに変換する。
ステップ019・・・ステップ018で取得した地形認識による移動コストを記録する。
【００７０】
図３２は、図３０に示したロボット100-4の経路探索フローチャートの一例である。
ステップ301・・・再経路探索の場合はステップ309へ、それ以外はステップ302へ分岐する。再経路探索は図３１のステップ015である。
ステップ302・・・初期化を行う。
−経路バッファPを空にする。
−グリッド間の移動コストは所定の値、例えば１に初期化する。
−全ての行くべきグリッド（経路探索対象グリッド）をNにセットする。その順番は、隣り合うグリッドの距離が近いのが望ましい。例えば、図２４の処理を利用すれば左回りにグリッドをすべて網羅することが出来る。ただし、２回以上訪れるグリッドが存在する場合は、１回目だけ残して他は削除する。
以下のステップは、記号による説明になっているので、記号の定義を記載する。
n←pick(N)・・・Nから最初のグリッドをピックアップしてnにセットする。そしてNからピックアップされたグリッドは削除される。
p←min-cost(a,b)・・・グリッドaからグリッドbへいくパスで最も移動コストが低いパスをpへセットする。Djikstra法等のアルゴリズムがある。
node(p)・・・パスpに含まれているグリッドの集合である。
ステップ303・・・経路探索対象グリッドの集合（N)から最初のグリッドを取り出す。
ステップ304・・・Nから次のグリッドを取り出す。
ステップ305・・・グリッドaからbへの最小コストパスを求める。
ステップ306・・・ステップ305で求めたパスを経路バッファ（P)に加える。
ステップ307・・・ステップ305で求めたパスにあるグリッドをNから削除する。
ステップ308・・・Nが空ならStop、空でなければステップ303へ進む。
ステップ309・・・グリッドbをグリッドaにコピーする。
ステップ310・・・再探索用の初期化を行う。Pはこれから行くべき全てのグリッドをNにセットする。
【００７１】
図３３〜３５は、図３０に示したロボット100-4の移動コストの一例である。
図３３は、図３０に示したロボット100-4の移動の説明のためにグリッドに番号を付加した図である。
図３４は、図３０に示したロボット100-4の図３３のグリッドに対して、移動コストをグリッド間に反映した例をグラフ形式で示した図である。ノードがグリッドに対応し、矢印付エッジがグリッド間の移動コストを表している。
たとえば、グリッド0からグリッド1へ直接行く場合は移動コストが５である。しかし、グリッド４，３を経由していけば移動コストは３である。
図３５は、経路探索対象グリッドを並べたもので、図３２のNに対応する。左側に沿って右回りにグリッドを並べている。
この例で、図３２のフローチャートによって途中まで処理すると、図３４の矢印で示すパスが抽出される。
【００７２】
以上より、雑草を繰り返し踏み潰す過程において、最初に踏み潰した時の雑草の状態を記憶し、雑草の状態に基づいて次回の経路を決定する。経路の決定は、雑草の状態から、十分に除草・抑草されていると判断された領域については、経路探索の対象からはずすことで、踏み潰し不要な領域へは行かない、効率的な踏み潰し経路が得られる。尚、１回目の経路決定は、雑草の状態を知らないので、対象領域全体を行くように経路を決定する。
【００７３】
＜プログラム＞
以上で説明した本発明に係るロボットは、コンピュータで処理を実行させるプログラムによって実現されている。コンピュータとしては、例えばマイクロコントローラが挙げられるが、本発明はこれに限定されるものではない。よって、一例として、プログラムにより本発明の機能を実現する場合の説明を以下で行う。
【００７４】
例えば、
自律移動可能なロボットのコンピュータに、
少なくとも１つのセンサが、ロボットの周囲の状況を取得する手順、
障害物認識手段が、各センサからの深度情報に基づいて障害物を認識する手順、
非障害物記憶手段が、非障害物の画像上の特徴量を記録する手順、
非障害物認識手段が、障害物認識手段により障害物と認識された物体の、画像上の特徴量をセンサからの画像情報から抽出し、非障害物記憶手段とのマッチングを行って非障害物を認識する手順、
障害物決定手段が、障害物認識手段により障害物と認識された物体から非障害物認識手段により非障害物と認識された物体を削除して最終的な障害物を決定する手順、
経路計画手段が、障害物決定手段により最終的に障害物と判断された物体の位置情報を用いてロボットの移動経路を計算する手順、
を実行させるためのプログラムが挙げられる。
【００７５】
＜記憶媒体＞
ここで、記憶媒体としては、例えばCD-ROM、フレキシブルディスク（FD）、CD-R等のコンピュータで読み取り可能な記憶媒体、フラッシュメモリ、RAM、ROM、FeRAM等の半導体メモリやHDDが挙げられる。
【００７６】
CD-ROMは、Compact Disc Read Only Memoryの略である。フレキシブルディスクは、Flexible Disk：FDを意味する。CD-Rは、CD Recordableの略である。RAMは、Random-Access Memoryの略である。ROMは、Read-Only Memoryの略である。FeRAMは、Ferroelectric RAMの略で、強誘電体メモリを意味する。
【００７７】
＜作用効果＞
本実施形態によれば、自律移動可能なロボットが、障害物を回避しながら目的地へ移動する場合に、障害物と非障害物を効率的に見極めることができる。
本実施形態によれば、非障害物認識手段が駆動するのは、障害物と認識された画像領域のみであるため、計算コストが抑えられた、効率のよい経路計画が可能になる。
本実施形態によれば、ステレオカメラは深度情報および画像情報の両者を同時に取得できるので、１つのセンサで２つの認識手段の入力として使える。従って、ハードウェアのコストが抑えられた、効率的な経路計画が可能になる。
本実施形態によれば、障害物認識手段の入力が３Ｄ情報を入力することで、移動方向に物体が検出されているかのみをチェックするだけでマッチング処理等は行わないで障害物が検出できるので計算コストが抑えられる。したがって、処理が軽い、効率的な経路計画が可能になる。
本実施形態によれば第１のセンサには無い、物体の画像特徴である見えによる精度の高い非障害物認識ができるので、効率的な経路計画が可能になる。
本実施形態によれば、移動によってオクルージョンされている部分が徐々に見えるようになるため、正確な移動コストを反映できるので、効率的な経路計画が可能になる。
【００７８】
地形の情報を記憶しておくので、効率的な経路決定が可能となる。
障害物の情報を記憶しておくことで、それ以降の経路決定に利用できるようになり、効率的な経路決定が可能となる。
移動する障害物を障害物記憶手段の記憶から外すことで、経路決定に利用しないので、無駄な制約を入れずに、効率的な経路決定が可能となる。
バッテリーの充電のために、わざわざ移動するのではなく、踏付け作業のついでに充電を行なうで、除草・抑草作業が効率的に行える。
【００７９】
尚、上述した実施の形態は、本発明の好適な実施の形態の一例を示すものであり、本発明はそれに限定されることなく、その要旨を逸脱しない範囲内において、種々変形実施が可能である。
【符号の説明】
【００８０】
１１    第１のセンサ
１２    障害物認識手段
１３    画像領域分割手段
１４    第２のセンサ
１５    非障害物認識手段
１６    非障害物記憶手段
１７    障害物決定手段
１８    経路計画手段
１９    移動手段
２０、４０    センサ
２１    ＣＰＵ
２２    Ｍｅｍｏｒｙ
２３    ＨＤＤ
２４    ＬＡＮ
２５    ３Ｄセンサ（第１のセンサ）
２６    ＲＧＢカメラ（第２のセンサ）
２７    モータードライバ
２８    モーター
２９    車輪
３０    ステレオカメラ
３１、４７    バッテリー
４１    位置取得手段
４２    障害物記憶手段
４３    経路決定手段
４４    雑草状態取得手段
４５    雑草状態記憶手段
４６    踏潰手段
４８    充電手段
５０    無限軌道
【先行技術文献】
【特許文献】
【００８１】
【特許文献１】特開２０１０−１０２４８５号公報
【特許文献２】特開２００９−１１３１９０号公報
【特許文献３】特開２００４−３２６２６４号公報
【特許文献４】特開２０１１−２５３３７７号公報
【特許文献５】特開２００５−０９２８２０号公報
【特許文献６】特許第４９５５０３０号公報
【特許文献７】特開２０１１−１２０５７３号公報
【特許文献８】特開２０１１−２０５９６２号公報
【特許文献９】特表２００９−５１８０７３号公報
【図１】
2016028311.tif 000003
【図２】
2016028311.tif 000004
【図３】
2016028311.tif 000005
【図４】
2016028311.tif 000006
【図５】
2016028311.tif 000007
【図６】
2016028311.tif 000008
【図７】
2016028311.tif 000009
【図８】
2016028311.tif 000010
【図９】
2016028311.tif 000011
【図１０】
2016028311.tif 000012
【図１１】
2016028311.tif 000013
【図１２】
2016028311.tif 000014
【図１３】
2016028311.tif 000015
【図１４】
2016028311.tif 000016
【図１５】
2016028311.tif 000017
【図１６】
2016028311.tif 000018
【図１７】
2016028311.tif 000019
【図１８】
2016028311.tif 000020
【図１９】
2016028311.tif 000021
【図２０】
2016028311.tif 000022
【図２１】
2016028311.tif 000023
【図２２】
2016028311.tif 000024
【図２３】
2016028311.tif 000025
【図２４】
2016028311.tif 000026
【図２５】
2016028311.tif 000027
【図２６】
2016028311.tif 000028
【図２７】
2016028311.tif 000029
【図２８】
2016028311.tif 000030
【図２９】
2016028311.tif 000031
【図３０】
2016028311.tif 000032
【図３１】
2016028311.tif 000033
【図３２】
2016028311.tif 000034
【図３３】
2016028311.tif 000035
【図３４】
2016028311.tif 000036
【図３５】
2016028311.tif 000037