(57)【要約】【課題】  探索領域内のあらゆる場所へ効率的かつ自律的に移動することができる装置や方法を提供する。【解決手段】  この装置は、人の操作によらず自律的に移動する自律移動装置であり、自律移動装置が通過した場所に該自律移動装置の移動履歴となる標識を出力して、その場所に標識を設置または記録する出力手段と、出力手段により出力された標識および自律移動装置の進行方向にある障害物の有無を検出する検出手段と、検出手段による検出結果に基づき、自律移動装置の進行方向を制御する制御手段とを含む。【選択図】  図５
2016009382.tif 000002
【特許請求の範囲】
【請求項１】
人の操作によらず自律的に移動する自律移動装置であって、
前記自律移動装置が通過した場所に該自律移動装置の移動履歴となる標識を出力して、前記場所に前記標識を設置または記録する出力手段と、
前記出力手段により出力された前記標識および前記自律移動装置の進行方向にある障害物の有無を検出する検出手段と、
前記検出手段による検出結果に基づき、前記自律移動装置の進行方向を制御する制御手段とを含む、自律移動装置。
【請求項２】
前記出力手段により出力された前記標識を回収または消去して該標識を除去する除去手段をさらに含み、
前記検出手段により前記標識を検出し、前記制御手段により前記標識を検出した方向へ進行するように制御して、前記除去手段により前記標識を除去する、請求項１に記載の自律移動装置。
【請求項３】
前記出力手段は、前記場所の床面に蛍光物質を塗布することにより前記標識を記録し、前記除去手段は、前記蛍光物質が塗布された前記床面を研磨することにより前記標識を除去する、請求項２に記載の自律移動装置。  
【請求項４】
前記出力手段により前記標識を出力するモードと、前記除去手段により前記標識を除去するモードのいずれかを設定するための入力を受け付ける入力手段を含み、
前記入力手段が受け付け、設定された前記モードに応じて、前記出力手段または前記除去手段のいずれかが動作する、請求項２に記載の自律移動装置。
【請求項５】
前記検出手段は、光を照射する照射手段と、前記標識からの光を検出するための２つの光検出手段と、前記障害物を検出するための障害物検出手段とを含む、請求項１〜４のいずれか１項に記載の自律移動装置。
【請求項６】
前記制御手段は、前記２つの光検出手段の各々が検出した光の強度に基づき、前記自律移動装置の旋回方向を決定し、決定した前記旋回方向に前記自律移動装置を所定角度ほど旋回させた方向へ進行するように制御する、請求項５に記載の自律移動装置。
【請求項７】
前記制御手段は、前記２つの光検出手段の各々が検出した光の強度に基づき、前記進行方向と該進行方向へ進行する距離とを不規則に変更する制御を行う、請求項５に記載の自律移動装置。
【請求項８】
人の操作によらず自律的に移動する自律移動装置を制御する方法であって、
前記自律移動装置が通過した場所に該自律移動装置の移動履歴となる標識を出力して、前記場所に前記標識を設置または記録するステップと、
出力された前記標識および前記自律移動装置の進行方向にある障害物の有無を検出するステップと、
前記検出するステップで得られた検出結果に基づき、前記自律移動装置の進行方向を制御するステップとを含む、制御方法。
【請求項９】
請求項８に記載の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人の操作によらず自律的に移動する自律移動装置、その自律移動装置を制御する方法およびその方法をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
人が行う作業を代行する装置として、自律移動ロボットが使用されている。この自律移動ロボットが自律的に移動する方法として、以下の３つの方法が知られている。
【０００３】
第１の方法は、レーザやカメラ等のセンサにより、外部の環境の特徴（ランドマーク）を把握しながら、ロボット自身が未知の環境の地図を作成し、自己の位置を推定して、自律的に移動する方法(SLAM)である。第２の方法は、車輪の回転数やロボットに加わる加速度等のロボットの状態を表す情報により自己の位置を推定して、事前に情報がない未知の環境下を自律的に移動する方法（デッドレコニング法）である。第３の方法は、外部の環境にカメラや電波送受信源等の観測系を設置し、その観測系でロボットの位置を推定して、自律的に移動する方法である。
【０００４】
上記のＳＬＡＭでは、特徴となるもの、すなわちランドマークになり得るものが少ない環境の場合、自己の位置を推定することが難しい。また、ランドマークを観測する際に、ロボットが移動することで、そのランドマークが死角に入り、観測できない場合がある。
【０００５】
上記のデッドレコニング法では、車輪がスリップした際や速度計算を行う際等に発生した測定誤差が蓄積され、その測定誤差を伴ったまま自己の位置を推定するので、その精度が低い。ＳＬＡＭとデッドレコニング法とを組み合わせた方法を採用し、高価なセンサを使用することで、この精度を向上させることはできるが、コストが増大し、また、探索空間が広がると、ロボット内部に蓄積する情報量が膨大になる。
【０００６】
上記の観測系でロボットの位置を推定する方法では、家具等によりカメラの死角にロボットが移動した場合、昼夜等の照明変化、電波強度の不安定性等により、ロボットの位置が正しく検出できない。また、探索範囲が広い環境では、観測系を設置するのに手間がかかる。
【０００７】
そこで、自律行動ロボット自体の行動の態様をユーザに認識させる目的で、行動の態様を示すマークを外部環境に付けるマーキング装置を搭載した自律行動ロボットが提案されている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記の特許文献１に記載のロボットは、その場所が既に行った場所かどうかを判断し、まだ行っていない未知の場所へ移動するように制御するものではない。このため、このロボットは、移動可能な領域内にまだ行っていない未知の場所が存在するにも関わらず、同じ場所を何度も行き来してしまい、効率的に隅々まで移動することができないという問題があった。
【０００９】
そこで、移動可能な領域を隅々まで効率的に移動することができる自立移動装置やその制御方法の提供が望まれていた。
【課題を解決するための手段】
【００１０】
本発明は、上記課題に鑑み、人の操作によらず自律的に移動する自律移動装置であって、自律移動装置が通過した場所に該自律移動装置の移動履歴となる標識を出力して、その場所に標識を設置または記録する出力手段と、出力手段により出力された標識および自律移動装置の進行方向にある障害物の有無を検出する検出手段と、検出手段による検出結果に基づき、自律移動装置の進行方向を制御する制御手段とを含む、自律移動装置が提供される。
【発明の効果】
【００１１】
本発明によれば、移動可能な領域を隅々まで効率的に移動することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態の自律移動装置としての自律移動ロボットの斜視図。
【図２】図１に示す自律移動ロボットの底面図。
【図３】図１に示す自律移動ロボットのハードウェア構成を例示した図。
【図４】図３に示すコントローラのハードウェア構成を例示した図。
【図５】図１および図２に示す自律移動ロボットの機能ブロック図。
【図６】自律移動ロボットが備える２つのモードを例示した図。
【図７】自律移動ロボットの１つの動作の流れを示したフローチャート。
【図８】自律移動ロボットの別の動作の流れを示したフローチャート。
【図９】図５に示す制御部が行う１つの制御処理について説明する図。
【図１０】図５に示す制御部が行う別の制御処理について説明する図。
【図１１】自律移動ロボットの進行方向の制御について説明する図。
【図１２】自律移動ロボットの１つの移動経路を例示した図。
【図１３】自律移動ロボットの別の移動経路を例示した図。
【発明を実施するための形態】
【００１３】
図１は、本実施形態の自律移動装置としての自律移動ロボットの斜視図である。自律移動ロボット１０は、箱状の本体１１と、本体１１に回転可能に取り付けられた４つの車輪１２とを備える移動体とされている。ここでは、矢線Ａに示す所定方向に移動するための移動手段として、４つの車輪１２を例示しているが、これに限られるものではなく、３つの車輪であってもよいし、５つ以上の車輪を備えるものであってもよい。また、自律移動ロボット１０は、車輪を備えるロボットではなく、２足歩行するロボットや４足歩行するロボットであってもよい。本体１１および車輪１２は、使用する環境や搭載する機器等に応じて、適切なサイズ、材質、形状とすることができる。
【００１４】
本体１１は、その進行方向から見て後方の底面部に、ロボット自身の移動履歴となる標識（マーカー）を出力して設置または記録する出力装置１３を備えている。図１では、その出力装置１３が、床面と接することで、自律移動ロボット１０が移動した際、同時にその床面にマーカー１５を出力している。
【００１５】
床面は、天井や壁面に比較して自律移動ロボット１０との距離が短く、障害物等によって出力したマーカー１５が隠れる可能性がほとんどない。このため、床面にマーカー１５を出力することで、自律移動ロボット１０がマーカー１５を容易に検出することができる。
【００１６】
マーカー１５は、後述する検出部が検出できるだけの充分な幅であって、自律移動ロボット１０の幅を超えず、連続的に出力される。マーカー１５の幅が広すぎる場合、一度も通っていないのに通過済みと誤って判断される可能性があるからである。また、連続的に出力されない場合、自律移動ロボット１０がマーカー１５間を通過した際に、検出漏れを起こす可能性があるからである。
【００１７】
マーカー１５としては、ＲＦＩＤタグ等として床面に設置するものであってもよいが、蛍光インク等の蛍光物質を塗布して床面に記録するものであってもよい。なお、蛍光インクは、照射装置から照射された光のエネルギーを吸収して発光することから、高い光の強度を得られるため、マーカー１５として使用する上で好ましい。以下、マーカー１５を、この蛍光インクを用い、塗布して床面に記録するものとして説明する。
【００１８】
本体１１は、出力したマーカー１５を消去してそれを除去するための除去装置１４を備えている。除去装置１４は、床面に記録したマーカー１５を研磨する等してそのマーカー１５を消去する。なお、出力装置１３が、常に床面と接する構造であれば、床面との摩擦により床面を磨くことができ、これによりマーカー１５を消去することができる。この場合、出力装置１３に清掃機能を持たせることができ、除去装置１４を別途設ける必要がなくなる。また、除去装置１４は、マーカー１５がＲＦＩＤタグ等で出力装置１３が設置したものである場合、設置したマーカー１５を吸引したり、へら等により回収口に押し込む等して回収し、除去することができる。
【００１９】
自律移動ロボット１０は、本体１１にカメラやセンサ等を備え、人が立ち入るのが危険な空間内の様子を把握するために、また、人が入れない狭い空間や小さな空間内の様子を確認するために使用することができる。また、ゴミ等を内部に取り込み、床面を清掃する清掃用ロボットとして使用することもできる。これらは一例であり、自律移動ロボット１０は、これら以外の空間や他の用途に使用することも可能である。
【００２０】
図２は、図１に示した自律移動ロボット１０の底面図である。本体１１には、上記の出力装置１３と除去装置１４のほか、２つの照射装置１６、左右２つの発光検出装置１７、前方障害物検出装置１８を備えている。前方障害物検出装置１８は、自律移動ロボット１０の矢線Ａに示す進行方向にある障害物に衝突した際、あるいは自律移動ロボット１０と障害物との距離が近くなった際に、その障害物との衝突を表す信号を出力する。
【００２１】
左右に並ぶ２つの発光検出装置１７は、床面に記録したマーカー１５を検出する。自律移動ロボット１０は、２つの発光検出装置１７から出力されるマーカー１５を検出したかどうかの信号を受信して、過去にその場所にいたことがあるかどうかを判断する。発光検出装置１７は、マーカー１５の種類に応じて使用できる装置が決定される。
【００２２】
例えば、マーカー１５として、ＲＦＩＤタグをマーカー１５として使用する場合、発光検出装置１７には、電磁波によりそのＲＦＩＤタグを検出できる装置が用いられる。蛍光インクをマーカー１５として使用する場合、発光検出装置１７には、カメラやダイオードが用いられる。ただし、カメラやダイオード等の光により検出する装置を用いる場合、自律移動ロボット１０の底面は、光が充分に届かないため、電球等の光を照射するための照射装置１６が用いられる。このとき、発光検出装置１７は、照射装置１６が照射した光を吸収したマーカー１５の発光を検出することによりマーカー１５を検出する。
【００２３】
除去装置１４を備えた自律移動ロボット１０は、清掃用ロボットとして用いることができる。清掃する室内の全域にわたってマーカー１５を設置するともに清掃を行い、設置した後に除去装置１４ですべてのマーカー１５を除去するともに２度目の清掃を行うことができる。なお、これを繰り返すことで、室内を何度も清掃することができる。
【００２４】
図３は、自律移動ロボット１０のハードウェア構成を例示した図である。自律移動ロボット１０は、図１および図２に示した左右前後に設けられた４つの車輪１２、出力装置１３、除去装置１４、照射装置１６、左右２つの発光検出装置１７、前方障害物検出装置１８を備えている。これに加えて、自律移動ロボット１０は、左右の車輪１２の各々に対応した２つの車輪駆動装置と、これらを制御するためのコントローラ２０とを備えている。
【００２５】
図３では、車輪１２を、左車輪ＬＷ１２ａ、右車輪ＲＷ１２ｂとし、２つの車輪駆動装置を、左車輪駆動装置ＬＭ１９ａ、右車輪駆動装置ＲＭ１９ｂとしている。また、前方障害物検出装置１８を、障害物検出装置ＦＣ１８とし、２つの発光検出装置１７を、光検出装置ＬＤ１７ａ、光検出装置ＲＤ１７ｂとしている。さらに、照射装置１６を、照射装置ＢＬ１６、出力装置１３を、出力装置ＭＯ１３、除去装置１４を、除去装置ＭＥ１４としている。
【００２６】
光検出装置ＬＤ１７ａ、光検出装置ＲＤ１７ｂおよび障害物検出装置ＦＣ１８は、光や障害物を検出すると、その検出結果を信号に変換してコントローラ２０へ出力する。コントローラ２０は、演算装置を含む電子回路とされ、入力された信号の値に応じて、左車輪駆動装置ＬＭ１９ａおよび右車輪駆動装置ＲＭ１９ｂに与える命令を生成し、その命令を送信する。左車輪駆動装置ＬＭ１９ａおよび右車輪駆動装置ＲＭ１９ｂは、電子回路とモータ等の動力系とから構成され、コントローラ２０からの命令に従って左車輪ＬＷ１２ａおよび右車輪ＲＷ１２ｂの方向を変え、回転させる。命令は、直進するか、旋回するかの情報、旋回する場合の旋回方向を含むことができる。
【００２７】
コントローラ２０は、自律移動ロボット１０が後述する２つのモードのいずれであるかによって、出力装置１３または除去装置１４のいずれを動作させるかも制御する。
【００２８】
図４は、図３に示したコントローラ２０のハードウェア構成を例示した図である。コントローラ２０は、自律移動ロボット１０全体の制御を行うＣＰＵ３０を備える。また、コントローラ２０は、ブートプログラムやファームウェア等を記憶するＲＯＭ３１と、ＣＰＵ３０の作業空間として使用されるＲＡＭ３２とを備える。
【００２９】
コントローラ２０は、光検出装置ＬＤ１７ａ、光検出装置ＲＤ１７ｂや障害物検出装置ＦＣ１８から入力された信号から上記命令を生成して出力する処理を実現するためのプログラム等を記憶するＨＤＤ３３を備えている。ここではＨＤＤ３３を用いる構成を例示しているが、ＳＳＤ(Solid State Drive)を用いる構成であってもよい。図４には、さらに、フラッシュメモリ等の記録メディアに対するデータの読み出し、書き込みを制御するメディアドライブ等の外部記憶Ｉ／Ｆ３４を備えている。  
【００３０】
また、コントローラ２０は、ＰＣ等の外部機器との間でネットワークを介してデータを送受信する通信Ｉ／Ｆ３５と、互いに電気的に接続するためのアドレスバスやデータバス等のバスライン３６とを備えている。コントローラ２０は、表示装置、スピーカ等の音声出力装置、スキャナ装置、印刷装置、キーボード、マウス、マイク等の入力装置を接続し、データの入出力を制御する入出力Ｉ／Ｆを備えることができる。
【００３１】
上記のプログラムは、上記の記録メディアに格納して提供することもできるし、図示しないコンテンツサーバ等からのダウンロード形式で提供することもできる。なお、図４では、外部記憶Ｉ／Ｆ３４、通信Ｉ／Ｆ３５を備える構成を例示しているが、これらは必要に応じて設けることができ、これらのＩ／Ｆは実装されていなくてもよい。
【００３２】
図５は、自律移動ロボット１０の機能ブロック図である。自律移動ロボット１０は、その機能を実現するために、機能部として、移動部４０、出力部４１、検出部４２、制御部４３、除去部４４を備える。移動部４０は、図１および図２に示した左右前後の４つの車輪１２、図３に示した左車輪駆動装置ＬＭ１９ａ、右車輪駆動装置ＲＭ１９ｂにより実現される。出力部４１は、図３に示したマーカー１５を記録する出力装置ＭＯ１３により実現される。検出部４２は、図３に示した光検出装置ＬＤ１７ａ、光検出装置ＲＤ１７ｂおよび障害物検出装置ＦＣ１８により実現される。制御部４３は、図３および図４に示したコントローラ２０により実現される。除去部４４は、図３に示した除去装置ＭＥ１４により実現される。
【００３３】
移動部４０は、自律移動ロボット１０を左右前後の車輪１２の方向を変え、回転させて、その進行方向を変え、また、その進行方向に向けて移動することを可能にする。出力部４１は、自律移動ロボット１０が通過した場所の床面に、その移動履歴となるマーカー１５を塗布する等して記録する。
【００３４】
検出部４２は、自律移動ロボット１０の進行方向前方にある障害物、出力部４１により床面に記録されたマーカー１５を検出する。検出部４２は、マーカー１５を検出するために、左右に並ぶ２つの光検出部ＬＤ４２ａ、光検出部ＲＤ４２ｂを備えることができ、また、障害物を検出するための障害物検出部４２ｃをさらに備えることができる。
【００３５】
光検出部ＬＤ４２ａ、光検出部ＲＤ４２ｂおよび障害物検出部４２ｃは、所定強度以上の光や障害物の有無を、検出結果として制御部４３へ出力する。制御部４３は、光検出部ＬＤ４２ａ、光検出部ＲＤ４２ｂおよび障害物検出部４２ｃによる検出結果に基づき、自律移動ロボット１０の進行方向を制御する。光検出部ＬＤ４２ａ、光検出部ＲＤ４２ｂによりマーカー１５を検出した場合は、その方向へは既に行ったことがあるため、行ったことがない未知の領域の方向を進行方向として決定する。そして、制御部４３は、移動部４０に対して命令を与えて、現在の進行方向のままで良い場合はその進行方向に進むように制御し、進行方向を変える場合は自律移動ロボット１０を所定角度ほど旋回させ、その向きを変える。
【００３６】
除去部４４は、検出部４２および制御部４３とともに使用され、出力部４１により記録されたマーカー１５を除去する。検出部４２は、床面に記録されたマーカー１５を検出する。制御部４３は、検出部４２が検出したマーカー１５が記録された場所へ向けて進行するように進行方向を制御する。
【００３７】
図１および図２に示す自律移動ロボット１０は、図６に示す２つのモードを設定することができる。このため、自律移動ロボット１０は、これらのモードのいずれかを設定するための入力を受け付ける入力部を備えることができる。これにより、入力部が受け付け、設定されたモードに応じて、出力部４１または除去部４４のいずれかが動作することができる。
【００３８】
２つのモードのうちの１つは、床面にマーカー１５を記録するモード（マーカー出力モード）である。もう１つは、床面に記録したマーカー１５を除去するモード（マーカー除去モード）である。これらのモードは、例えばユーザがボタン等により手動で切り替えることができる。各モードにおける自律移動ロボット１０の動作は異なるため、各モードにおける動作の内容を、図７および図８をそれぞれ参照して説明する。
【００３９】
図７は、マーカー出力モードにおける自律移動ロボット１０の動作を示したフローチャートである。モード設定をマーカー出力モードに設定し、自律移動ロボット１０のスイッチを入れて起動することにより、ステップ７００からこのモードの動作を開始する。ステップ７０５では、自律移動ロボット１０が直進するように、制御部４３からの命令を受けて移動部４０がその直進方向へ向けて進行する。
【００４０】
ステップ７１０では、障害物検出部４２ｃが壁等の障害物への衝突を検出したかどうかを判断する。ここでは、衝突を検出しているが、そのまま進む場合に衝突すると予想される前方の障害物を検出してもよい。ステップ７１０で衝突を検出した場合、ステップ７１５へ進み、制御部４３が、衝突を回避するために、左方向へ９０度旋回するように制御する。そして、ステップ７０５に戻る。これにより、自律移動ロボット１０は、その９０度旋回した方向に向き、その方向を直進する。
【００４１】
ステップ７１０で衝突を検出していない場合、ステップ７２０へ進み、制御部４３が、光検出部ＬＤ４２ａまたは光検出部ＲＤ４２ｂにより検出された光の強度が閾値以上であるか否かを判断する。いずれも閾値より小さい場合は、ステップ７０５へ戻り、その直進を継続する。閾値以上である場合は、ステップ７２５へ進み、光検出部ＬＤ４２ａと光検出部ＲＤ４２ｂのいずれもがその閾値以上の強度を一定時間以上検出したかどうかを判断する。
【００４２】
一定時間以上検出した場合、マーカー１５で囲まれた領域（局所解）に入っていることを示し、ステップ７３０へ進み、制御部４３がランダム走行するように制御する。ランダム走行は、光検出部ＬＤ４２ａ、光検出部ＲＤ４２ｂのいずれかが検出する光の強度が閾値以下になるまで進行方向およびその進行する距離をランダム（不規則）に変化させながら走行するものである。これにより、局所解から脱出することができる。ランダム走行は一定距離だけ行い、その実行後はステップ７１０へ戻る。
【００４３】
ステップ７２５で一定時間以上検出していない場合、光検出部ＬＤ４２ａ、光検出部ＲＤ４２ｂのいずれか一方により検出される光の強度が高いことから、ステップ７３５へ進み、どちらの強度が高いかを判断する。光検出部ＲＤ４２ｂで検出される光の強度の方が高い場合、ステップ７４０へ進み、旋回方向を左とし、その左へ一定角度旋回するように制御する。これに対し、光検出部ＬＤ４２ａで検出される光の強度の方が高い場合、ステップ７４５へ進み、右へ一定角度旋回するように制御する。旋回後、ステップ７５０へ進み、自律移動ロボット１０に搭載される電池の残量が閾値以下かどうかを判断する。閾値を超える場合は、再び同様の動作を行うため、ステップ７０５へ戻る。これに対し、閾値以下である場合は、電池の残量が少ないため、ステップ７５５へ進み、動作を終了する。
【００４４】
自律移動ロボット１０は、図７に示す動作が終了後、停止してもよいし、ユーザがもう１つのモード、すなわちマーカー除去モードに設定を切り替え、マーカー除去モードに移行してもよい。
【００４５】
図８は、マーカー除去モードにおける自律移動ロボット１０の動作を示したフローチャートである。モード設定をマーカー除去モードに切り替えることにより、またはマーカー除去モードに設定し、停止した自律移動ロボット１０のスイッチを入れて起動することにより、ステップ８００からこのモードの動作を開始する。ステップ８０５では、自律移動ロボット１０が直進するように、制御部４３からの命令を受けて移動部４０がその直進方向へ向けて進行する。その進行の際、除去部４４により床面に記録したマーカー１５を除去する。ステップ８１０では、障害物検出部が障害物への衝突を検出したかどうかを判断する。
【００４６】
ステップ８１０で衝突を検出した場合、ステップ８１５へ進み、制御部４３が、右へ９０度旋回した方向を進行方向として判断し、その方向へ向けて進行するように制御する。そして、ステップ８０５に戻る。
【００４７】
ステップ８１０で衝突を検出していない場合、ステップ８２０へ進み、制御部４３が、光検出部ＬＤ４２ａまたは光検出部ＲＤ４２ｂにより検出された光の強度が閾値以下かどうかを判断する。閾値より大きい場合は、ステップ８０５へ戻り、直進方向へ継続して進行する。閾値以下である場合は、ステップ８２５へ進み、光検出部ＬＤ４２ａと光検出部ＲＤ４２ｂのいずれもがその閾値以下の強度を一定時間以上検出したかどうかを判断する。
【００４８】
一定時間以上検出した場合、ステップ８３０へ進み、制御部４３がランダム走行するように制御する。制御部４３は、閾値以下の強度を一定時間以上検出した場合、その方向はマーカー１５を検出しない領域で、マーカー１５を消去する必要がないことから、マーカー１５がある方向へ進行するように、異なる方向を進行方向として判断する。制御部４３は、判断した方向へ進行するように制御する。これを繰り返すことで、進行方向および移動距離をランダムに変えながら走行する。この結果、マーカー１５にある領域を発見することができる。
【００４９】
ステップ８２５で一定時間以上検出していない場合、いずれか一方の光検出部により検出される光の強度が高いことから、ステップ８３５へ進み、どちらの強度が高いかを判断する。光検出部ＬＤ４２ａで検出される光の強度が高い場合、ステップ８４０へ進み、左へ一定角度で旋回する。これに対し、光検出部ＲＤ４２ｂで検出される光の強度が高い場合、ステップ８４５へ進み、右へ一定角度で旋回する。旋回後、ステップ８５０へ進み、自律移動ロボット１０に搭載される電池の残量が閾値以下かどうかを判断する。閾値を超える場合は、再び同様の動作を行うため、ステップ８０５へ戻る。これに対し、閾値以下である場合は、電池の残量が少ないため、ステップ８５５へ進み、動作を終了する。
【００５０】
自律移動ロボット１０は、図８に示す動作が終了後、停止してもよいし、ユーザがもう一方のモードに切り替え、もう１つのモードであるマーカー出力モードに移行してもよい。このように、モードを切り替え、マーカー１５の出力と消去とを繰り返すことにより、ロボットが移動可能な領域である任意の外部環境内を何度も探索し、その探索精度を向上させることができる。
【００５１】
検出部４２は、検出した光や障害物を信号値として制御部４３へ出力し、制御部４３が、制御するための信号値を生成し、生成した信号値を移動部４０に与えて該移動部４０を制御する。検出部４２は、光検出部ＬＤ４２ａと、光検出部ＲＤ４２ｂと、障害物検出部ＦＣ４２ｃとを含んで構成され、移動部４０は、左車輪駆動部ＬＭと、右車輪駆動部ＲＭとを含んで構成される。このため、光検出部ＬＤ４２ａ、光検出部ＲＤ４２ｂ、障害物検出部ＦＣ４２ｃが、制御部４３へ任意の信号値を出力し、制御部４３が制御するための信号値を生成し、左車輪駆動部ＬＭ、右車輪駆動部ＲＭに与える。
【００５２】
図９および図１０を参照して、制御部４３に入力され、制御部４３が出力する信号値について詳細に説明する。図９中、信号値は、Ｉｎｐｕｔ：（光検出部ＬＤからの信号値／光検出部ＲＤからの信号値）、Ｏｕｔｐｕｔ：（左車輪駆動部ＬＭへの信号値／右車輪駆動部ＲＭへの信号値）である。図１０中、信号値は、Ｉｎｐｕｔ：（障害物検出部ＦＣの信号値）、Ｏｕｔｐｕｔ：（左車輪駆動部ＬＭへの信号値／右車輪駆動部ＲＭへの信号値）である。
【００５３】
例えば、図９においてＩｎｐｕｔ：０／１の場合、光検出部ＬＤ４２ａからの信号値が０で、光検出部ＲＤ４２ｂからの信号値が１であることを示している。このような信号値の場合、右側の光検出部ＲＤ４２ｂのみがマーカー１５を検出しているので、自律移動ロボット１０は、マーカー１５に対して右方向から進入したことを意味している。ここでは、信号値を０と１の２つに２値化している。信号値が２値化されていない場合、事前に閾値を設け、その閾値より大きい場合に１、閾値以下の場合に０として扱うことができる。
【００５４】
Ｉｎｐｕｔ：１／０の場合は、その反対で、自律移動ロボット１０は、マーカー１５に対して左方向から進入したことを意味する。Ｉｎｐｕｔ：０／０の場合は、光検出部ＬＤ４２ａと光検出部ＲＤ４２ｂのいずれもがマーカー１５を検出していないことを意味している。
【００５５】
Ｏｕｔｐｕｔ：０／１の場合、右車輪駆動部ＲＭに対してのみ信号が送られるので、結果として、自律移動ロボット１０は左方向へ旋回する。Ｏｕｔｐｕｔ：１／０の場合は、左車輪駆動部ＬＭに対してのみ信号が送られるので、自律移動ロボット１０は右方向へ旋回する。Ｏｕｔｐｕｔ：１／１の場合は、両方に信号が送られるので、自律移動ロボット１０は直進する。
【００５６】
Ｉｎｐｕｔ：１／１の場合、光検出部ＬＤ４２ａと光検出部ＲＤ４２ｂのいずれもがマーカー１５を検出し、マーカー１５で囲まれた領域内に入っていることを意味する。したがって、制御部４３は、ランダムアルゴリズムを用いて、Ｏｕｔｐｕｔ信号として、Ｏｕｔｐｕｔ：０／１（左方向へ旋回）、Ｏｕｔｐｕｔ：１／０（右方向へ旋回）、Ｏｕｔｐｕｔ：１／１（直進）をランダムに出力する。このようにランダムに出力することで、自律移動ロボット１０が直進したり、左右に旋回したりして、ランダムに走行し、そのマーカー１５で囲まれた領域から脱出することができる。
【００５７】
障害物検出部ＦＣが障害物を検出した場合、Ｉｎｐｕｔ：１の入力を受け付け、Ｏｕｔｐｕｔ：０／１（左方向へ旋回）またはＯｕｔｐｕｔ：１／０（右方向へ旋回）を出力する。どちらの方向へ旋回するかは、ユーザが予め設定することもできるし、ランダムアルゴリズムを用いてランダムに決定することができる。なお、前方に障害物が検出されない場合は、自律移動ロボット１０は直進し続ける。
【００５８】
また、マーカー消去モードの場合は、Ｉｎｐｕｔ、Ｏｕｔｐｕｔの信号値がすべて反転し、同様の処理が行われる。すなわち、マーカー出力モードでＩｎｐｕｔ：１／０の信号値は、Ｉｎｐｕｔ：０／１の信号値に反転される。
【００５９】
図１１を参照して、マーカー１５が出力された場所に自律移動ロボット１０が進入した際、自律移動ロボット１０の進行方向を制御する処理について説明する。自律移動ロボット１０は、ユーザによりマーカー出力モードに設定されているものとする。自律移動ロボット１０は、左右に並んで設けられる光検出装置ＬＤ１７ａと光検出装置ＲＤ１７ｂとにより、マーカー１５が出力された領域に進入したことをいずれの光検出装置が検出したかに応じて、その進行方向を変える。
【００６０】
図１１は、自律移動ロボット１０を下側から見た図である。図１１に示すように、光検出装置ＲＤ１７ｂのみがマーカー１５上に位置し、光検出装置ＲＤ１７ｂでのみ強度が高い光を検出した場合、自律移動ロボット１０は、進行方向に対して右側の領域は既に探索済みであることを認識する。このため、自律移動ロボット１０は、マーカー１５の記録がない進行方向に対して左方向に一定角度旋回する。図１１では、下側から見ているので、反対方向である右方向に一定角度旋回している。
【００６１】
図１１に示す実施形態では、左右に並ぶ光検出装置ＬＤ１７ａ、光検出装置ＲＤ１７ｂにより進行方向を変える制御を実現しているが、この制御は、１つの検出装置を用いて実現することも可能である。ただし、１つの検出装置を用いて実現する場合、その１つの検出装置によりマーカー１５に対して自律移動ロボット１０の進入方向を検知することができなければならない。このような検出装置としては、カメラ等の画像記録装置を挙げることができる。
【００６２】
なお、検出装置を２つ設けることで、画像記録装置のような高価な機器ではなく、ダイオード等の安価な受光素子や、ＯＮ／ＯＦＦの２値の信号出力をする装置を用いることができる。
【００６３】
従来の内部で環境地図を作成し、移動履歴を記録する自律移動ロボット５０と、このような地図の作成や移動履歴の記録を行わない本実施形態の自律移動ロボット１０の探索経路について、図１２および図１３を参照して説明する。図１２は、従来の自律移動ロボット５０の探索経路を示した図で、図１３は、本実施形態の自律移動ロボット１０の探索経路を示した図である。
【００６４】
従来の自律移動ロボット５０は、ホイールエンコーダや加速度センサ等のロボット自身の運動を計測する手段と、レーザーレンジファインダやステレオカメラ等の外部環境のランドマークを捉える手段とを備えている。このため、従来の自律移動ロボット５０は、これらの手段により、探索環境の地図を作成すると同時に、ロボット自身の位置を推定し、その位置の情報を移動履歴として記録する。これらの地図や移動履歴は、ロボット内部に実装される記憶装置に記憶される。
【００６５】
従来の自律移動ロボット５０は、車輪のスリップの発生や、センサの計測誤差が発生し、長距離走行することでその誤差が蓄積される。このため、従来の自律移動ロボット５０は、内部の記憶装置に記憶される地図および移動履歴に対し、実際に移動した軌跡とのずれが拡大していく。その結果、図１２に示すように、自律移動ロボット５０は、旋回し続け、道に迷ってしまう。
【００６６】
これに対し、本実施形態の自律移動ロボット１０は、自己の位置を、外部環境に記録しながら探索するため、地図の作成や自身の運動を計測する手段や、作成した地図や移動履歴を記憶する記憶装置が不要である。外部環境に自己の位置を記録し、それを移動履歴として使用して探索するため、そのような運動を計測し、記録する必要がないからである。また、外部環境に記録した移動履歴を使用するため、スリップが発生してもその影響はなく、運動を計測する手段を採用しないため、計測誤差が発生することもない。
【００６７】
この自律移動ロボット１０は、未知の探索領域を重点的になぞるように走行する。図１３に示すように、自律移動ロボット１０は、移動可能な領域である室内の左半分あたりで、マーカー１５に囲まれた領域である局所解に至っている。その際、上記のようなランダム走行を行うことで、その局所解を抜け出す。このことから、環境全体をランダムに走行して回る従来の自律移動ロボット５０に比較して、局所解に至ったときに環境全体をランダムに走行する自律移動ロボット１０は、探索する領域を狭めつつ走行することができるため、効率的に探索することができる。
【００６８】
この自律移動ロボット１０は、移動の途中で、ロボットに搭載されている電池（バッテリ）の残量が少なくなった場合でも、ユーザがバッテリを充電し、適当な位置で再び起動させて適切に探索を実行させることができる。マーカー１５は、外部環境に物理的に記録された状態のまま残されているため、自律移動ロボット１０は、バッテリがなくなる前に移動したことがある領域かどうかを判断し、未知の領域を適切に探索することができるからである。
【００６９】
以上のことから、本発明の装置、方法およびその方法をコンピュータに実行させるためのプログラムを提供することで、ロボットが移動可能な領域を隅々まで効率的に移動することが可能となる。同じ場所を何度も行き来することがなくなり、探索する範囲を狭めつつ走行できるからである。また、自己の位置を推定するための地図や移動履歴のデータを保持する必要がないため、ロボットの運動を計測するセンサやそれを記憶する記憶装置等が不要となり、安価で提供することができる。
【００７０】
これまで本発明を、自律移動装置、制御方法およびプログラムとして上述した実施の形態をもって説明してきた。しかしながら、本発明は上述した実施の形態に限定されるものではなく、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができるものである。また、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【００７１】
１０…自律移動ロボット、１１…本体、１２…車輪、１２ａ…左車輪、１２ｂ…右車輪、１３…出力装置、１４…消去装置、１５…マーカー、１６…照射装置、１７…発光検出装置、１７ａ、１７ｂ…光検出装置、１８…前方障害物検出装置、１９ａ…左車輪駆動装置、１９ｂ…右車輪駆動装置、２０…コントローラ、３０…ＣＰＵ、３１…ＲＯＭ、３２…ＲＡＭ、３３…ＨＤＤ、３４…外部記憶Ｉ／Ｆ、３５…通信Ｉ／Ｆ、３６…バスライン、４０…移動部、４１…出力部、４２…検出部、４２ａ、４２ｂ…光検出部、４２ｃ…障害物検出部、４３…制御部、４４…除去部、５０…自律移動ロボット
【先行技術文献】
【特許文献】
【００７２】
【特許文献１】特開２００３−１７０３７６号公報
【図１】
2016009382.tif 000003
【図２】
2016009382.tif 000004
【図３】
2016009382.tif 000005
【図４】
2016009382.tif 000006
【図５】
2016009382.tif 000007
【図６】
2016009382.tif 000008
【図７】
2016009382.tif 000009
【図８】
2016009382.tif 000010
【図９】
2016009382.tif 000011
【図１０】
2016009382.tif 000012
【図１１】
2016009382.tif 000013
【図１２】
2016009382.tif 000014
【図１３】
2016009382.tif 000015