(57)【要約】【課題】充電器に帰還する技術を改善する。【解決手段】自律移動装置１００は、環境地図作成部１２と、帰還地図作成部１３と、移動制御部１５と、を備える。環境地図作成部１２は、障害物センサ３１で検出した障害物の位置の情報に基づき周囲の環境の状態を表す環境地図を作成する。帰還地図作成部１３は、環境地図作成部１２が作成した環境地図に基づき環境地図の上の各地点から充電器まで移動するコストである帰還コストを各地点について算出し各地点の帰還コストを記録した帰還地図を作成する。移動制御部１５は、帰還地図作成部１３が作成した帰還地図を用いて現在の電池残量で充電器に帰還できる移動範囲の中で自機を移動させるように駆動部４２を制御する。【選択図】図１
2018165872.tif 000002
【特許請求の範囲】
【請求項１】
各地点から充電器まで移動するコストである帰還コストを記録した帰還地図を作成する帰還地図作成部と、
前記帰還地図作成部が作成した帰還地図に記録されている帰還コストに基づいて自機の移動を制御する移動制御部と、
を備える自律移動装置。
【請求項２】
前記移動制御部は、前記帰還地図を参照して前記充電器へ自機を移動させるように駆動部を制御する、
請求項１に記載の自律移動装置。
【請求項３】
前記移動制御部は、前記帰還地図作成部が作成した帰還地図に基づき、前記帰還コストが最小となる地点をたどって自機が前記充電器に到達するように駆動部を制御する、
請求項１又は２に記載の自律移動装置。
【請求項４】
前記移動制御部は、前記帰還地図作成部が作成した帰還地図を用いて現在の電池残量で前記充電器に帰還できる移動範囲の中で自機を移動させるように駆動部を制御する、
請求項１に記載の自律移動装置。
【請求項５】
障害物センサで検出した障害物の位置の情報に基づき周囲の環境の状態を表す環境地図を作成する環境地図作成部を備え、
前記帰還地図作成部は、前記環境地図作成部が作成した環境地図に基づき、前記環境地図の上の各地点から前記充電器まで移動するコストである帰還コストを該各地点について算出し、該各地点の帰還コストを記録した帰還地図を作成する、
請求項１から４のいずれか１項に記載の自律移動装置。
【請求項６】
前記帰還地図作成部は、前記環境地図作成部が作成した環境地図の上の各地点間の経路幅を求め、該経路幅を考慮して帰還コストを算出する、
請求項５に記載の自律移動装置。
【請求項７】
前記環境地図作成部は、加速度センサが上下方向の揺れを検出した位置を悪路面とした環境地図を作成し、
前記帰還地図作成部は、前記環境地図作成部が作成した環境地図の上の悪路面を考慮して帰還コストを算出する、
請求項５又は６に記載の自律移動装置。
【請求項８】
前記帰還地図作成部が作成した帰還地図に含まれる地点の中で、前記帰還コストがコスト基準値未満である地点を目的地に設定し、該目的地までの経路を設定する行動計画部を備え、
前記移動制御部は前記行動計画部が設定した経路に沿って自機を移動させるように駆動部を制御する、
請求項５から７のいずれか１項に記載の自律移動装置。
【請求項９】
前記行動計画部は、前記コスト基準値を、電池残量が少なくなるにつれて小さい値に変更する、
請求項８に記載の自律移動装置。
【請求項１０】
前記移動制御部によって移動中に障害物センサが障害物を検出したら、
前記環境地図作成部は前記障害物を記録した環境地図を作成し、
前記帰還地図作成部は前記障害物を考慮した帰還地図を作成し、
前記行動計画部は、前記障害物を記録した環境地図及び前記障害物を考慮した帰還地図に基づいて、目的地及び経路を設定し直す、
請求項８又は９に記載の自律移動装置。
【請求項１１】
前記環境地図の作成範囲を広げていく地図作成モードを含む動作モードを複数持ち、
前記行動計画部は、前記動作モードが地図作成モードのときには、前記環境地図の上で、前記環境地図が作成済みの地点と作成されていない地点との境目の地点を目的地に設定する、
請求項８から１０のいずれか１項に記載の自律移動装置。
【請求項１２】
ランダムに移動する自由散歩モードを含む動作モードを複数持ち、
前記行動計画部は、前記動作モードが自由散歩モードのときには、前記環境地図の上で障害物の位置以外の位置を目的地としてランダムに設定する、
請求項８から１１のいずれか１項に記載の自律移動装置。
【請求項１３】
前記行動計画部は、前記動作モードが自由散歩モードのときには、
電池残量が所定の残量閾値以上なら、前記帰還コストの値によらず、前記環境地図の上で障害物の位置以外の位置を目的地としてランダムに設定する、
請求項１２に記載の自律移動装置。
【請求項１４】
周囲に人がいることを検出する人感センサを備え、
前記人感センサが周囲に人がいることを検出したら、
前記行動計画部は、電池残量が所定の残量閾値以上なら、前記帰還コストの値によらずに目的地を設定する、
請求項８から１３のいずれか１項に記載の自律移動装置。
【請求項１５】
各地点から充電器まで移動するコストである帰還コストを記録した帰還地図を作成し、
前記帰還地図を用いて現在の電池残量で充電器に帰還できる移動範囲の中で移動する、
自律移動方法。
【請求項１６】
コンピュータを請求項１から１４のいずれか１項に記載の自律移動装置として機能させるための、又は、
コンピュータに請求項１５に記載の自律移動方法を実行させるための、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自律移動装置、自律移動方法及びプログラムに関する。
【背景技術】
【０００２】
屋内の掃除のために自律的に移動する掃除機ロボットのような自律移動装置が普及してきている。自律移動装置は電池によって駆動されているため、電池残量が少なくなると自ら充電器に戻って充電を行うようにしていることが多い。例えば、特許文献１には、電池残量が多い時には掃除を行い、電池残量が少ない時には充電器からの帰還信号を探して充電器に戻る自律移動装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００７−５２００１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、自律移動装置は、電池残量が少ない時に充電器からの帰還信号を探しても、電池切れを起こす前に帰還信号を見つけて充電器に戻れるとは限らない。例えば、自律移動装置が充電器からかなり離れた場所に移動している等、帰還信号を見つけるのに長時間を要する場合があるからである。したがって、従来の自律移動装置では、充電器に帰還する技術に改善の余地がある。
【０００５】
本発明は、上記問題を解決するためになされたものであり、充電器に帰還する技術を改善した自律移動装置、自律移動方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の自律移動装置は、
各地点から充電器まで移動するコストである帰還コストを記録した帰還地図を作成する帰還地図作成部と、
前記帰還地図作成部が作成した帰還地図に記録されている帰還コストに基づいて自機の移動を制御する移動制御部と、
を備える。
【発明の効果】
【０００７】
本発明によれば、充電器に帰還する技術を改善することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態１に係る自律移動装置の機能構成を示す図である。
【図２】実施形態１に係る環境地図の一例を示す図である。
【図３】実施形態１に係る自律移動処理全体のフローチャートである。
【図４】実施形態１に係る行動計画作成処理のフローチャートである。
【図５】実施形態１に係る行動計画作成処理の地図作成モードのフローチャートである。
【図６】実施形態１に係る帰還地図作成処理のフローチャートである。
【図７】実施形態１に係る帰還地図の一例を示す図である。
【図８】実施形態１に係る移動範囲を説明する図である。
【図９】実施形態１に係る移動範囲の変化の様子を説明する図である。
【図１０】本発明の実施形態２に係る自律移動装置の機能構成を示す図である。
【図１１】実施形態２に係る行動計画作成処理のフローチャートである。
【図１２】実施形態２に係る行動計画作成処理の地図作成モードのフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態に係る自律移動装置、自律移動方法及びプログラムについて、図表を参照して説明する。なお、図中同一又は相当部分には同一符号を付す。
【００１０】
（実施形態１）
本発明の実施形態に係る自律移動装置は、周囲の地図を作成しながら、用途に応じて自律的に移動する装置である。この用途とは、例えば、警備監視用、屋内掃除用、ペット用、玩具用等である。
【００１１】
図１に示すように、本発明の実施形態１に係る自律移動装置１００は、制御部１０、記憶部２０、センサ部３０、撮像部４１、駆動部４２、電池残量取得部４３、通信部４４、を備える。
【００１２】
制御部１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等で構成され、記憶部２０に記憶されたプログラムを実行することにより、後述する各部（位置推定部１１、環境地図作成部１２、帰還地図作成部１３、行動計画部１４、移動制御部１５）の機能を実現する。また、制御部１０は、タイマー（図示せず）を備え、経過時間をカウントすることができる。
【００１３】
記憶部２０は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成され、機能的に、画像記憶部２１、特徴点記憶部２２、環境地図記憶部２３及び帰還地図記憶部２４を含む。ＲＯＭには制御部１０のＣＰＵが実行するプログラム及びプログラムを実行する上で予め必要なデータが記憶されている。ＲＡＭには、プログラム実行中に作成されたり変更されたりするデータが記憶される。
【００１４】
画像記憶部２１には、撮像部４１が撮影した画像が記憶される。ただし、記憶容量を節約するために、撮影した全ての画像を記憶しなくてもよい。自律移動装置１００は、画像記憶部２１に記憶された複数の画像を用いて、ＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  Ａｎｄ  Ｍａｐｐｉｎｇ）処理により、ＳＬＡＭ用の地図の作成及び自機位置の推定を行う。自機位置の推定に用いた画像については、その画像の情報と共に、その画像を撮影した時の自機位置（自機の位置及び向き）の情報も記憶される。
【００１５】
特徴点記憶部２２には、画像記憶部２１に記憶された画像に含まれている特徴点のうち、３次元位置（Ｘ，Ｙ，Ｚ）が求められた特徴点について、その３次元位置とその特徴点の特徴量（例えばＳＩＦＴ等で得た特徴量）とが紐付けられて記憶される。特徴点とは画像中のコーナー部分等、画像内の特徴的な部分のことを言う。特徴点は、ＳＩＦＴ（Ｓｃａｌｅ−Ｉｎｖａｒｉａｎｔ  Ｆｅａｔｕｒｅ  Ｔｒａｎｓｆｏｒｍ）やＳＵＲＦ（Ｓｐｅｅｄｅｄ  Ｕｐ  Ｒｏｂｕｓｔ  Ｆｅａｔｕｒｅｓ）等のアルゴリズムを用いて取得することができる。上述のＳＬＡＭ処理では、特徴点記憶部２２に記憶されている特徴点の３次元位置に基づいて自機位置の推定を行うため、特徴点記憶部２２は、ＳＬＡＭ用の地図の情報を記憶していると考えることもできる。
【００１６】
環境地図記憶部２３には、センサ部３０からの情報に基づいて環境地図作成部１２が作成した環境地図が記憶される。環境地図は、床面を例えば５ｃｍ×５ｃｍのグリッドに分割し、グリッド単位でそのグリッドに対応する環境（床面、障害物等）の状態を表したものである。環境の状態としては、例えば、障害物がなく自由に通過できる「自由空間」、通過できるが路面状態が悪い「悪路面」、通過できない「障害物」、状態が不明な「不明空間」等がある。また、環境地図には、充電器３０１の位置も記録されている。環境地図の一例を図２に示す。図２に示す環境地図の例では、充電器３０１、障害物３０２、悪路面３０３、自由空間３０４、不明空間３０５が記録されている。
【００１７】
帰還地図記憶部２４には、各地点から充電器３０１まで移動するコストである帰還コストを各地点について記録した帰還地図が記憶される。この帰還コストは、環境地図記憶部２３に記憶されている環境地図の情報に基づいて、帰還地図作成部１３が算出するが、詳細は後述する。
【００１８】
センサ部３０は、障害物センサ３１及び加速度センサ３２を含む。障害物センサ３１は、周囲に存在する物体（障害物）を検出し、該物体（障害物）までの距離を測定することができる距離センサであって、例えば、赤外線センサ、超音波センサである。なお、独立した障害物センサ３１を搭載せずに、撮像部４１を用いて障害物を検出するようにしても良い。また、他の物体に衝突したことを検知するバンパーセンサ（図示せず）を備えても良い。
【００１９】
加速度センサ３２は、自律移動装置１００のＸＹＺ方向（３軸）の加速度を測定するセンサである。路面がでこぼこしている場所を走行すると上下方向の揺れが発生するので、加速度センサ３２がこの揺れを検出することによって、自律移動装置１００が路面の状態の悪い悪路面３０３を走行していることを検出することができる。また、床面センサを備えることによって、路面の状態及び自律移動装置１００が床面に接しているか否かを検知してもよい。
【００２０】
撮像部４１は、単眼の撮像装置（カメラ）を備える。撮像部４１は、例えば、３０ｆｐｓ（ｆｒａｍｅｓ  ｐｅｒ  ｓｅｃｏｎｄ）で画像（フレーム）を取得する。自律移動装置１００は、撮像部４１が逐次取得した画像に基づいて、ＳＬＡＭ処理により、自機位置と周囲環境とをリアルタイムに認識しながら、自律移動を行う。
【００２１】
駆動部４２は、独立２輪駆動型であって、車輪とモータとを備える移動手段である。自律移動装置１００は、２つの車輪の同一方向駆動により前後の平行移動（並進移動）を、２つの車輪の逆方向駆動によりその場での回転（向き変更）を、２つの車輪のそれぞれ速度を変えた駆動により旋回移動（並進＋回転（向き変更）移動）を、行うことができる。また、各々の車輪にはロータリエンコーダが備えられており、ロータリエンコーダで車輪の回転数を計測し、車輪の直径、車輪間の距離等の幾何学的関係を利用することで並進移動量及び回転量を計算できる。
【００２２】
例えば、車輪の直径をＤ、回転数をＲ（ロータリエンコーダにより測定）とすると、その車輪の接地部分での並進移動量はπ・Ｄ・Ｒとなる。また、車輪の直径をＤ、車輪間の距離をＩ、右車輪の回転数をＲＲ、左車輪の回転数をＲＬとすると、向き変更の回転量は（右回転を正とすると）３６０°×Ｄ×（ＲＬ−ＲＲ）／（２×Ｉ）となる。この並進移動量及び回転量をそれぞれ逐次足し合わせていくことで、駆動部４２は、いわゆるオドメトリとして機能し、自機位置（移動開始時の位置及び向きを基準とした位置及び向き）を計測することができる。
【００２３】
なお、車輪の代わりにクローラを備えるようにしても良いし、複数（例えば二本）の足を備えて足で歩行することによって移動を行うようにしても良い。これらの場合も、二つのクローラの動き、足の動き等に基づいて、車輪の場合と同様に自機の位置及び向きの計測が可能である。
【００２４】
電池残量取得部４３は、自律移動装置１００の電池の残量を取得する。残量の取得方法は任意の方法を適宜用いて良い。例えば、電池残量取得部４３は、電池の現在の電圧を計測し、該電圧から電池の残量を算出することによって取得しても良い。
【００２５】
通信部４４は、外部装置と通信するためのモジュールであり、外部装置と無線通信する場合にはアンテナを含む無線モジュールである。例えば、通信部４４は、Ｂｌｕｅｔｏｏｔｈ（登録商標）に基づく近距離無線通信を行うための無線モジュールである。通信部４４を用いることにより、自律移動装置１００は、外部とデータの受け渡し等を行うことができる。
【００２６】
次に、自律移動装置１００の制御部１０の機能的構成について説明する。制御部１０は、位置推定部１１、環境地図作成部１２、帰還地図作成部１３、行動計画部１４、移動制御部１５、の機能を実現し、自律移動装置１００の移動制御等を行う。また、制御部１０は、マルチスレッド機能に対応しており、複数のスレッド（異なる処理の流れ）を並行して実行することができる。
【００２７】
位置推定部１１は、撮像部４１が撮影し画像記憶部２１に記憶された画像を複数用いて、それらの画像から得られる特徴点の情報に基づき、ＳＬＡＭ処理により自機の位置及び向きを推定する。このＳＬＡＭ処理を行う際には、画像に含まれる特徴点を抽出し、３次元位置を計算できた特徴点について、特徴点記憶部２２に該特徴点の情報を記憶させる。なお、位置推定部１１は、位置の推定の際に、駆動部４２から取得できるオドメトリの情報を用いてもよい。
【００２８】
環境地図作成部１２は、障害物センサ３１及び加速度センサ３２からの情報を用いて障害物３０２及び悪路面３０３の位置を記録した環境地図を作成し、環境地図記憶部２３に記憶する。
【００２９】
帰還地図作成部１３は、環境地図作成部１２が作成した環境地図に含まれる障害物３０２及び悪路面３０３の情報に基づき、各地点から充電器３０１までの帰還コストを算出して帰還地図を作成し、帰還地図記憶部２４に記憶する。帰還コストの算出方法については、後述する。
【００３０】
行動計画部１４は、自律移動装置１００の動作モード及び電池残量取得部４３が取得した電池残量に基づき、自律移動の際の目的地、経路及び移動速度を設定する。動作モードとは、自律移動装置１００の行動様式を定めるものであり、自律移動装置１００は、ランダムに移動する「自由散歩モード」、環境地図の作成範囲を広げていく「地図作成モード」、充電器３０１に帰還する「帰還モード」、の３つの動作モードを持つ。動作モードは、例えば、初期値は地図作成モードで、地図がある程度作成されたら（例えば地図作成モードで１０分経過したら）自由散歩モードになり、電池残量が少なくなったら帰還モードになるというように、予め変化する条件が設定されていてもよいし、外部（ユーザ、上位アプリケーション等）からの指示により、設定されてもよい。行動計画部１４が経路を設定する際には、環境地図作成部１２が作成した環境地図及び帰還地図作成部１３が作成した帰還地図に基づき、自機の現在位置から目的地までの経路を設定する。
【００３１】
移動制御部１５は、行動計画部１４が設定した経路に沿って、自機を移動させるように駆動部４２を制御する。
【００３２】
以上、自律移動装置１００の機能構成について説明した。次に、自律移動装置１００の自律移動処理について、図３を参照して説明する。図３は、自律移動装置１００の自律移動処理全体のフローチャートである。自律移動装置１００は、電源オフ時は充電器３０１（充電ステーション）に接続して充電されており、電源が投入されると、充電器３０１に接続された位置で、自律移動処理が開始される。なお、自律移動装置１００は電源が投入されると、用途に応じた上位アプリケーションプログラムが別途（別スレッドで）起動し、自律移動処理は、この上位アプリケーションから動作モード設定、動作終了等の指示を受ける。上位アプリケーションとは、例えば屋内掃除用アプリケーションである。
【００３３】
まず、自律移動装置１００の制御部１０は、記憶部２０に記憶されている各種地図（環境地図、帰還地図）を初期化し、ＳＬＡＭ処理のための各種スレッドを起動する（ステップＳ１０１）。各種地図の初期化については、自律移動装置１００は起動すると充電器３０１の位置から移動を開始するので、この時点では、環境地図も帰還地図も「自機が充電器の位置に存在する」ということを示す情報で初期化される。
【００３４】
また、ＳＬＡＭ処理のための各種スレッドとは、具体的には、自機位置推定スレッド、地図作成スレッド、ループクロージングスレッド等である。これらのスレッドが並行して動作することにより、位置推定部１１は、撮像部４１が撮影した画像から特徴点を抽出して、自機位置の推定を行う。もっとも本実施例において、ＳＬＡＭ処理は、位置推定部１１が自機位置を推定するための一手法に過ぎず、位置推定部１１が自機位置を推定する方法としては、ＳＬＡＭ処理以外の方法でも適宜用いることができる。ＳＬＡＭ処理に関して、本実施例では特別なことは行っていないため、これらＳＬＡＭ処理のための各スレッドの詳細の説明は省略する。
【００３５】
次に、制御部１０は、行動計画作成処理を実行する（ステップＳ１０２）。ステップＳ１０２は、行動計画ステップとも呼ばれる。行動計画作成処理は、自律移動装置１００が、動作モード及び電池残量に基づいて、目的地、経路及び移動速度を設定する処理である。詳細については後述する。
【００３６】
次に、制御部１０は、上位アプリケーションから動作終了指示を受けたか否かを判定する（ステップＳ１０３）。動作終了指示を受けたなら（ステップＳ１０３；Ｙｅｓ）、自律移動処理を終了する。動作終了指示を受けていないなら（ステップＳ１０３；Ｎｏ）、環境地図作成部１２は、障害物センサ３１及び加速度センサ３２を用いて、環境地図の作成と更新を行う（ステップＳ１０４）。ステップＳ１０４は環境地図作成ステップとも呼ばれる。
【００３７】
次に、制御部１０は、自律移動装置１００が目的地に到着したか否かを判定する（ステップＳ１０５）。目的地に到着したなら（ステップＳ１０５；Ｙｅｓ）、帰還地図作成部１３が帰還地図作成処理を実行し（ステップＳ１０６）、ステップＳ１０２に戻る。ステップＳ１０６は帰還地図作成ステップとも呼ばれる。帰還地図作成処理の詳細については後述する。
【００３８】
目的地に到着していなければ（ステップＳ１０５；Ｎｏ）、制御部１０は、現在の設定経路上に障害物３０２があるか否かを判定する（ステップＳ１０７）。経路上に障害物３０２が無ければ（ステップＳ１０７；Ｎｏ）、ステップＳ１０３に戻る。経路上に障害物３０２があるなら（ステップＳ１０７；Ｙｅｓ）、移動制御部１５は移動を停止し（ステップＳ１０８）、ステップＳ１０６に進む。これにより、目的地へ行く経路の途中に障害物３０２があって進めない場合にも、帰還地図作成処理が実行され、その後、再度目的地、経路及び移動速度を設定するための行動計画作成処理が実行される。
【００３９】
次に、自律移動処理のステップＳ１０２で実行される行動計画作成処理について、図４及び図５を参照して説明する。この行動計画作成処理は、自律移動装置１００が、動作モード及び電池残量に基づいて、目的地、経路及び移動速度を設定する処理である。
【００４０】
まず、行動計画部１４は、電池残量が第２残量閾値未満か否かを判定する（ステップＳ２０１）。なお、第２残量閾値には、自律移動装置１００が最短経路で充電器３０１に向かえば確実に充電器３０１に戻れると考えられる電池残量の値（又はその値に若干の余裕を持たせた値）が予め設定されている。電池残量が第２残量閾値未満なら（ステップＳ２０１；Ｙｅｓ）、ステップＳ２０４に進む。
【００４１】
電池残量が第２残量閾値以上なら（ステップＳ２０１；Ｎｏ）、行動計画部１４は現在の自律移動装置１００の動作モードが自由散歩モードであるか否かを判定する（ステップＳ２０２）。なお、動作モードには、上述したように自由散歩モード、地図作成モード、帰還モード、の３つがある。行動計画部１４は、動作モードが自由散歩モードでないなら（ステップＳ２０２；Ｎｏ）、動作モードが帰還モードであるか否かを判定する（ステップＳ２０３）。
【００４２】
動作モードが帰還モードでないなら（ステップＳ２０３；Ｎｏ）、動作モードは地図作成モードであることが判明するため、図５に示す地図作成モードの処理に進むが、この処理については後述する。動作モードが帰還モードなら（ステップＳ２０３；Ｙｅｓ）、行動計画部１４は、充電器３０１を目的地に設定する（ステップＳ２０４）。そして、行動計画部１４は、帰還地図記憶部２４に記憶されている帰還地図に基づいて充電器３０１まで最小コストで到達できる経路を設定する（ステップＳ２０５）。充電器３０１まで最小コストで到達できる経路は、周囲の地点の中で帰還コストが最小となる地点をたどって充電器３０１に到達する経路なので、行動計画部１４が帰還地図を参照して求めることができる。そして、行動計画部１４は、自律移動装置１００が充電器３０１に戻る時の速度（帰還速度）を、駆動部４２により最も効率良く移動できる速度に設定する（ステップＳ２０６）。又は、確実に充電器３０１に戻ることができるように、帰還速度を安定した移動が行える低速度に設定しても良い。より最も効率良く移動できる速度とは、駆動部４２が備えるモータに依存するが、家庭内で使用するものであれば、例えば１０ｃｍ／ｓ以上２０ｃｍ／ｓ以下の速度である。また、安定した移動が行える低速度とは、やはり駆動部４２が備えるモータに依存するが、例えば５ｃｍ／ｓの速度である。
【００４３】
そして、移動制御部１５は、行動計画部１４によって設定された経路及び速度で移動するよう、駆動部４２の制御を開始する。これにより、自律移動装置１００は移動を開始する（ステップＳ２０７）。ステップＳ２０７は、移動制御ステップとも呼ばれる。そして、行動計画作成処理を終了し、自律移動処理（図３）のステップＳ１０３に進む。
【００４４】
一方、ステップＳ２０２で、動作モードが自由散歩モードなら（ステップＳ２０２；Ｙｅｓ）、行動計画部１４は、電池残量が第１残量閾値未満か否かを判定する（ステップＳ２１１）。なお、第１残量閾値には、自律移動装置１００が環境地図内のどこからでも充電器３０１まで戻ることが可能と考えられる電池残量の値（又はその値に若干の余裕を持たせた値。少なくとも第２残量閾値よりも大きい値）が予め設定されている。また、制御部１０は、環境地図記憶部２３に記憶されている環境地図の広さが広くなるのに応じて、第１残量閾値を増加させても良い。
【００４５】
電池残量が第１残量閾値未満なら（ステップＳ２１１；Ｙｅｓ）、行動計画部１４は、電池残量に応じた移動範囲を、帰還地図記憶部２４に記憶されている帰還地図から取得する（ステップＳ２１２）。この電池残量に応じた移動範囲を帰還地図から取得する方法については後述する。そして、行動計画部１４は、取得した移動範囲内で、目的地をランダムに設定し（ステップＳ２１３）、帰還地図を用いて目的地までの最小コストの経路を設定する（ステップＳ２１４）。そして、行動計画部１４は、移動速度をランダムに設定し（ステップＳ２１５）、ステップＳ２０７に進み、自律移動装置１００は移動を開始する。なお、自由散歩モード時は、行動計画部１４は、目的地までの移動途中で、ランダムなタイミングで、移動速度をランダムな値に変更しても良い。
【００４６】
一方、ステップＳ２１１で、電池残量が第１残量閾値以上なら（ステップＳ２１１；Ｎｏ）、行動計画部１４は、移動範囲の制約無しに、目的地をランダムに設定する（ステップＳ２１６）。そして、行動計画部１４は、環境地図記憶部２３に記憶されている環境地図を利用して、障害物３０２を避けた目的地までの経路を設定し（ステップＳ２１７）、ステップＳ２１５に進む。障害物３０２を避けた目的地までの経路を設定する方法としては、例えば、障害物３０２が無い空間の移動コストを１とし、障害物３０２への移動コストを１０００として、動的計画法を用いて経路を設定する方法がある。
【００４７】
なお、自由散歩モードでは、目的地の設定に特別の意味はなく、自律移動装置１００が自由に動き回ることが出来さえすれば良い。したがって、ステップＳ２１６及びステップＳ２１７の処理の代わりに、「行動計画部１４は、環境地図を参照して障害物３０２に当たらない範囲で、ランダムに移動方向と移動距離を設定」という処理を行っても良い。自由散歩モードでは、以上のような処理を行うことで、自律移動装置１００があたかも自由に散歩しているように振る舞うことができる。
【００４８】
一方、ステップＳ２０３で、動作モードが帰還モードでないなら（ステップＳ２０３；Ｎｏ）、動作モードは地図作成モードであることが判明するため、図５に示す地図作成モードの処理に進む。まず、行動計画部１４は、電池残量が第１残量閾値未満か否かを判定する（ステップＳ２２１）。
【００４９】
電池残量が第１残量閾値未満なら（ステップＳ２２１；Ｙｅｓ）、行動計画部１４は、電池残量に応じた移動範囲を、帰還地図記憶部２４に記憶されている帰還地図から取得する（ステップＳ２２２）。そして、行動計画部１４は、取得した移動範囲内で、環境地図を徐々に広げていくような場所を目的地として設定する（ステップＳ２２３）。環境地図を徐々に広げていくような場所とは、例えば、環境地図が作成できているところと作成できていないところの境目の場所である。なお、そのような場所が無ければ、環境地図内で障害物３０２の影響を受けなさそうな任意の場所を目的地として設定する。そして、行動計画部１４は、帰還地図を用いて目的地までの最小コストの経路を設定し（ステップＳ２２４）、移動速度を安定した走行が行える低速度に設定する（ステップＳ２２５）。そして、図４に示すステップＳ２０７に進み、自律移動装置１００は移動を開始する。
【００５０】
一方、ステップＳ２２１で、電池残量が第１残量閾値以上なら（ステップＳ２２１；Ｎｏ）、行動計画部１４は、移動範囲の制約無しに、環境地図を徐々に広げていくような場所を目的地として設定する（ステップＳ２２６）。そして、行動計画部１４は、環境地図記憶部２３に記憶されている環境地図を利用して、障害物３０２を避けた目的地までの経路を設定し（ステップＳ２２７）、ステップＳ２２５に進む。地図作成モードでは、以上のような処理を行うことで、自律移動装置１００が徐々に環境地図の作成範囲を広げていくことができる。
【００５１】
次に、自律移動処理（図３）のステップＳ１０６で実行される帰還地図作成処理について、図６を参照して説明する。この帰還地図作成処理は、自律移動装置１００が、環境地図に含まれる障害物３０２及び悪路面３０３の情報に基づき、各地点から充電器３０１までの帰還コストを算出して帰還地図を作成する処理である。
【００５２】
まず、帰還地図作成部１３は、環境地図記憶部２３に記憶されている環境地図から、充電器３０１の位置、障害物３０２の位置、路面状況及び経路幅を取得する（ステップＳ３０１）。そして、帰還地図作成部１３は、環境地図のグリッド幅にノード幅を合わせ、各グリッドをノードに、隣り合うグリッド間の路面状況を移動コストとしてエッジの重みに、それぞれ対応させたグラフを生成する（ステップＳ３０２）。
【００５３】
そして、帰還地図作成部１３は、充電器３０１が存在するノードを起点として、各ノードまで移動するコストである帰還コストを算出する（ステップＳ３０３）。そして、該帰還コストを記録したグラフを帰還地図として、帰還地図記憶部２４に記憶させる（ステップＳ３０４）。そして、帰還地図作成処理を終了し、自律移動処理（図３）のステップＳ１０２に戻る。
【００５４】
帰還地図となるグラフの一例を図７に示す。このグラフは、環境地図の各グリッドに対応するノード３１１と、ノード３１１間を接続するエッジ３１２とから成り、各エッジ３１２には該エッジ３１２に対応する環境地図の路面状況に応じた移動コストが設定される。図７では、移動コストとして、障害物コスト３１３、経路幅コスト３１４及び路面コスト３１５の３種類が設定されている。
【００５５】
障害物コスト３１３には、環境地図で該エッジ３１２に対応する路面に障害物３０２がなければ１、あれば１０００が設定される。経路幅コスト３１４には、該エッジ３１２に対応する路面の幅が、自律移動装置１００が問題なく通過できる幅であれば０が、ぎりぎり通過できる幅であれば５０が設定される。例えば、自律移動装置１００の横幅の長さの２倍以上の経路幅であれば０が、そうでなければ５０が設定される。なお、該エッジ３１２に対応する路面の幅が自律移動装置１００の横幅未満であれば、そこは路面ではなく障害物３０２とみなされ、該エッジ３１２の障害物コスト３１３に１０００が設定される。路面コスト３１５には、該エッジ３１２に対応する路面が悪路面３０３であれば５が、そうでなければ０が設定される。
【００５６】
ノード３１１間の総合移動コストは、これら３種類の移動コストを所定の比率で加算したものになるが、ここではこれら３種類の移動コストを同じ比率で加算（つまり単純に３つの値を加算）するものとする。なお、以上の各値及び比率はすべて一例であり、適宜変更することが可能である。そして、各ノード３１１には、充電器３０１から該ノード３１１まで、最小の総合移動コストになるような経路を通った場合の総合移動コストの和が設定される。図７に、このように設定された帰還地図のグラフの一例を示す。帰還地図作成処理（図６）では、このようなグラフが帰還地図として作成され、帰還地図記憶部２４に記憶される。
【００５７】
帰還地図の各ノード３１１に設定された総合移動コストは、該ノード３１１から充電器３０１までを最小の移動コストとなる経路で移動した場合に要する全移動コストである。自律移動装置１００は、電池残量が多いときには、総合移動コストが高い場所からでも充電器３０１に帰還できるが、電池残量が少なくなると、総合移動コストが低い場所からでないと充電器３０１に移動する前に電池切れを起こす可能性がある。
【００５８】
そこで、電池残量と、その電池残量で充電器３０１に帰還できる最大の総合移動コストと、の相関関係を予め実験等で求めておき、その相関関係を記憶部２０に記憶しておく。すると、電池残量に応じて、どの程度の総合移動コストのノード３１１からなら充電器３０１に帰還できるかを判定できるようになる。
【００５９】
図４のステップＳ２１２及び図５のステップＳ２２２で行動計画部１４が取得する移動範囲は、この相関関係から求まる電池残量に応じた総合移動コストから取得することができる。例えば、現在の電池残量に応じた総合移動コストを１０未満とすると、総合移動コストが１０未満のノード３１１に対応する環境地図上のグリッドの集合が、図８に示すように、現在の電池残量に応じた移動範囲３０６となる。なお、この、電池残量に応じた総合移動コストをコスト基準値とも呼ぶ。
【００６０】
また、電池残量が変化すると、上記相関関係から求まる総合移動コスト（コスト基準値）も変化するため、移動範囲３０６も変化する。この移動範囲３０６の変化の様子を図９に示す。図９では、電池が満充電時の移動範囲３０６（１）、電池が少し減った時の移動範囲３０６（２）、電池がかなり減った時の移動範囲３０６（３）と、電池の残量が減るにつれて、移動範囲３０６が狭くなる様子が示されている。しかし、自律移動装置１００は、動作モードが帰還モードでないなら、電池残量に応じた移動範囲３０６内を自由に移動することができる。
【００６１】
以上説明した自律移動処理により、自律移動装置１００は、電池残量がある程度（第１残量閾値より）少なくなっても、その電池残量で充電器に帰還できる移動範囲３０６の中で自由に移動できるので、電池残量が非常に（第２残量閾値より）少なくなるまでの間は、移動範囲３０６の中で自由な動作を継続することができる。また、自律移動装置１００は、電池残量が非常に（第２残量閾値より）少なくなったら帰還地図に基づいて、最小の移動コストで充電器３０１に戻ることができる。
【００６２】
（実施形態１の変形例）
実施形態１では、図４のステップＳ２１１における電池残量の判定と、図５のステップＳ２２１における電池残量の判定は、どちらも第１残量閾値と比較している。しかし、上位アプリケーションは、「周囲に人がいない時には地図作成モード、周囲に人がいる時には人に動きを見せるために自由散歩モード」と動作モードを設定することも考えられる。その場合、自由散歩モードのときには周囲に人がいると考えられるため、自律移動装置１００は、万一充電器３０１に自力で帰還できなくても、人に助けてもらうことができる。そこで、自由散歩モードにおける閾値としては、第１残量閾値未満第２残量閾値以上の任意の値である第３残量閾値としてもよい。その場合、図４のステップＳ２１１では、電池残量が第３残量閾値未満か否かを判定する。
【００６３】
このようにすることによって、自律移動装置１００は、自由散歩モードにおいて、より広い範囲を自由に移動できる時間が長くなり、ユーザとのコミュニケーションをよりとりやすくなると考えられる。
【００６４】
（実施形態２）
上記実施形態１の変形例で説明したように、周囲に人がいる場合には、自律移動装置１００は、万一充電器３０１に自力で帰還できなくても、人に助けてもらうことができるので、第１残量閾値をより小さい値に設定することができる。実施形態１の変形例では、周囲に人がいるか否かの判定を上位アプリケーションに頼っているが、上位アプリケーションに頼ることなく、人の存否を判定して、残量閾値を変更する実施形態２について説明する。
【００６５】
本発明の実施形態２に係る自律移動装置１０１の機能構成は、図１０に示すように、実施形態１に係る自律移動装置１００の機能構成のセンサ部３０に、人感センサ３３を追加した構成になっている。その他の構成については実施形態１に係る自律移動装置１００と同じである。
【００６６】
人感センサ３３は、例えば赤外線センサであり、周囲に人がいることを検出する。また、赤外線センサに限らず、例えば、人の声を検出するマイクを人感センサ３３として用いても良い。
【００６７】
実施形態２に係る自律移動装置１０１の自律移動処理の全体のフローチャートは実施形態１に係る自律移動処理と同じであり、図３に示されるとおりである。図３のステップＳ１０６で実行される帰還地図作成処理のフローチャートも実施形態１に係る帰還地図作成と同じであり、図６に示されるとおりである。ただし、ステップＳ１０２で実行される行動計画作成処理のフローチャートは実施形態１と少し異なる。そこで、実施形態２に係る行動計画作成処理のフローチャートについて、実施形態１と異なる点を中心に説明する。
【００６８】
実施形態２に係る自律移動装置１０１の行動計画作成処理は、図１１及び図１２に示すように、実施形態１に係る行動計画作成処理の図４のステップＳ２０１とステップＳ２０２の間に図１１のステップＳ２３１からステップＳ２３３までの処理が加わり、図４のステップＳ２１１が図１１のステップＳ２３４に置き換わり、図５のステップＳ２２１が図１２のステップＳ２３５に置き換わるだけで、それ以外は同じである。
【００６９】
図１１のステップＳ２３１では、行動計画部１４は、人感センサ３３により、周囲に人がいるかいないかを判定する。周囲に人がいるなら（ステップＳ２３１；Ｙｅｓ）、閾値用の変数ＴＨに第３残量閾値をセットし（ステップＳ２３２）、ステップＳ２０２に進む。第３残量閾値には、第１残量閾値未満第２残量閾値以上の任意の値を設定することができる。
【００７０】
周囲に人がいないなら（ステップＳ２３１；Ｎｏ）、閾値用の変数ＴＨに第１残量閾値をセットし（ステップＳ２３３）、ステップＳ２０２に進む。
【００７１】
図１１のステップＳ２３４及び図１２のステップＳ２３５では、行動計画部１４は、電池残量が閾値用の変数ＴＨ未満であるか否かを判定する。また、図１１のステップＳ２１２及び図１２のステップＳ２２２における移動範囲３０６の取得では、実施形態１での移動範囲３０６よりもより広い移動範囲３０６になるように、電池残量に応じた総合移動コストの値を所定の値だけ大きく設定しても良い。
【００７２】
以上の処理により、実施形態２に係る自律移動装置１０１は、周囲に人がいるときには、実施形態１に係る自律移動装置１００よりもより長い時間、より広い移動範囲３０６を自由に移動できるようになる。
【００７３】
なお、自律移動装置１００，１０１の各機能は、通常のＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等のコンピュータによっても実施することができる。具体的には、上記実施形態では、自律移動装置１００，１０１が行う自律移動制御処理のプログラムが、記憶部２０のＲＯＭに予め記憶されているものとして説明した。しかし、プログラムを、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）及びＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  Ｄｉｓｃ）等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の各機能を実現することができるコンピュータを構成してもよい。
【００７４】
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【００７５】
（付記）
（付記１）
各地点から充電器まで移動するコストである帰還コストを記録した帰還地図を作成する帰還地図作成部と、
前記帰還地図作成部が作成した帰還地図に記録されている帰還コストに基づいて自機の移動を制御する移動制御部と、
を備える自律移動装置。
【００７６】
（付記２）
前記移動制御部は、前記帰還地図を参照して前記充電器へ自機を移動させるように駆動部を制御する、
付記１に記載の自律移動装置。
【００７７】
（付記３）
前記移動制御部は、前記帰還地図作成部が作成した帰還地図に基づき、前記帰還コストが最小となる地点をたどって自機が前記充電器に到達するように駆動部を制御する、
付記１又は２に記載の自律移動装置。
【００７８】
（付記４）
前記移動制御部は、前記帰還地図作成部が作成した帰還地図を用いて現在の電池残量で前記充電器に帰還できる移動範囲の中で自機を移動させるように駆動部を制御する、
付記１に記載の自律移動装置。
【００７９】
（付記５）
障害物センサで検出した障害物の位置の情報に基づき周囲の環境の状態を表す環境地図を作成する環境地図作成部を備え、
前記帰還地図作成部は、前記環境地図作成部が作成した環境地図に基づき、前記環境地図の上の各地点から前記充電器まで移動するコストである帰還コストを該各地点について算出し、該各地点の帰還コストを記録した帰還地図を作成する、
付記１から４のいずれか１つに記載の自律移動装置。
【００８０】
（付記６）
前記帰還地図作成部は、前記環境地図作成部が作成した環境地図の上の各地点間の経路幅を求め、該経路幅を考慮して帰還コストを算出する、
付記５に記載の自律移動装置。
【００８１】
（付記７）
前記環境地図作成部は、加速度センサが上下方向の揺れを検出した位置を悪路面とした環境地図を作成し、
前記帰還地図作成部は、前記環境地図作成部が作成した環境地図の上の悪路面を考慮して帰還コストを算出する、
付記５又は６に記載の自律移動装置。
【００８２】
（付記８）
前記帰還地図作成部が作成した帰還地図に含まれる地点の中で、前記帰還コストがコスト基準値未満である地点を目的地に設定し、該目的地までの経路を設定する行動計画部を備え、
前記移動制御部は前記行動計画部が設定した経路に沿って自機を移動させるように駆動部を制御する、
付記５から７のいずれか１つに記載の自律移動装置。
【００８３】
（付記９）
前記行動計画部は、前記コスト基準値を、電池残量が少なくなるにつれて小さい値に変更する、
付記８に記載の自律移動装置。
【００８４】
（付記１０）
前記移動制御部によって移動中に障害物センサが障害物を検出したら、
前記環境地図作成部は前記障害物を記録した環境地図を作成し、
前記帰還地図作成部は前記障害物を考慮した帰還地図を作成し、
前記行動計画部は、前記障害物を記録した環境地図及び前記障害物を考慮した帰還地図に基づいて、目的地及び経路を設定し直す、
付記８又は９に記載の自律移動装置。
【００８５】
（付記１１）
前記環境地図の作成範囲を広げていく地図作成モードを含む動作モードを複数持ち、
前記行動計画部は、前記動作モードが地図作成モードのときには、前記環境地図の上で、前記環境地図が作成済みの地点と作成されていない地点との境目の地点を目的地に設定する、
付記８から１０のいずれか１つに記載の自律移動装置。
【００８６】
（付記１２）
ランダムに移動する自由散歩モードを含む動作モードを複数持ち、
前記行動計画部は、前記動作モードが自由散歩モードのときには、前記環境地図の上で障害物の位置以外の位置を目的地としてランダムに設定する、
付記８から１１のいずれか１つに記載の自律移動装置。
【００８７】
（付記１３）
前記行動計画部は、前記動作モードが自由散歩モードのときには、
電池残量が所定の残量閾値以上なら、前記帰還コストの値によらず、前記環境地図の上で障害物の位置以外の位置を目的地としてランダムに設定する、
付記１２に記載の自律移動装置。
【００８８】
（付記１４）
周囲に人がいることを検出する人感センサを備え、
前記人感センサが周囲に人がいることを検出したら、
前記行動計画部は、電池残量が所定の残量閾値以上なら、前記帰還コストの値によらずに目的地を設定する、
付記８から１３のいずれか１つに記載の自律移動装置。
【００８９】
（付記１５）
各地点から充電器まで移動するコストである帰還コストを記録した帰還地図を作成し、
前記帰還地図を用いて現在の電池残量で充電器に帰還できる移動範囲の中で移動する、
自律移動方法。
【００９０】
（付記１６）
コンピュータを付記１から１４のいずれか１つに記載の自律移動装置として機能させるための、又は、
コンピュータに付記１５に記載の自律移動方法を実行させるための、
プログラム。
【符号の説明】
【００９１】
１０…制御部、１１…位置推定部、１２…環境地図作成部、１３…帰還地図作成部、１４…行動計画部、１５…移動制御部、２０…記憶部、２１…画像記憶部、２２…特徴点記憶部、２３…環境地図記憶部、２４…帰還地図記憶部、３０…センサ部、３１…障害物センサ、３２…加速度センサ、３３…人感センサ、４１…撮像部、４２…駆動部、４３…電池残量取得部、４４…通信部、１００，１０１…自律移動装置、３０１…充電器、３０２…障害物、３０３…悪路面、３０４…自由空間、３０５…不明空間、３０６…移動範囲、３１１…ノード、３１２…エッジ、３１３…障害物コスト、３１４…経路幅コスト、３１５…路面コスト
【図１】
2018165872.tif 000003
【図２】
2018165872.tif 000004
【図３】
2018165872.tif 000005
【図４】
2018165872.tif 000006
【図５】
2018165872.tif 000007
【図６】
2018165872.tif 000008
【図７】
2018165872.tif 000009
【図８】
2018165872.tif 000010
【図９】
2018165872.tif 000011
【図１０】
2018165872.tif 000012
【図１１】
2018165872.tif 000013
【図１２】
2018165872.tif 000014