(57)【特許請求の範囲】
【請求項１】
移動開始位置から移動終了位置までの経路計画に従って自律的に走行する自律走行装置であって、
走行部と、
所定の座標上の前記走行部の位置と姿勢とを推定する位置推定部と、
前記位置推定部にて推定された前記位置である推定位置が所定の面積を有する第１領域内にある場合、前記移動開始位置を含む第２領域内に前記走行部を誘導し、当該第２領域内において前記姿勢が前記移動開始位置における姿勢である移動開始姿勢を含む第２角度範囲内に含まれるよう前記走行部を誘導するナビゲーション部と、
前記走行部が前記第２領域内に到達し、かつ、当該第２領域内における前記走行部の姿勢が前記第２角度範囲内に含まれた場合に、前記経路計画に従って前記走行部を自律的に走行させる制御を開始する走行制御部と、
を備える自律走行装置。
【請求項２】
前記第１領域は変更可能である、請求項１に記載の自律走行装置。
【請求項３】
前記第２領域、及び／又は、第２角度範囲は変更可能である、請求項１又は２に記載の自律走行装置。
【請求項４】
前記ナビゲーション部は、前記推定位置が前記第１領域内にあり、かつ、前記位置推定部にて推定された姿勢である推定姿勢が、前記第２角度範囲を含むか又は前記第２角度範囲の近傍にある第１角度範囲内に含まれた場合に、前記走行部を前記第２領域内に誘導し、当該第２領域内において前記姿勢が前記第２角度範囲内に含まれるよう前記走行部を誘導する、請求項１〜３のいずれかに記載の自律走行装置。
【請求項５】
前記第１角度範囲は変更可能である、請求項４に記載の自律走行装置。
【請求項６】
前記ナビゲーション部は、前記走行部が前記第２領域内に到達し、かつ、当該第２領域内における前記走行部の姿勢が前記第２角度範囲内に含まれた場合に、前記走行部の誘導を停止する、請求項１〜５のいずれかに記載の自律走行装置。
【請求項７】
前記走行制御部は、操作者の操作に基づいて前記走行部を制御し、
前記ナビゲーション部は、
前記推定位置が前記第１領域内にあることを通知する通知部と、
前記第２領域内に前記走行部を誘導し、かつ、前記第２領域内における姿勢が前記第２角度範囲内となるよう前記走行部を誘導する操作を報知する報知部と、
を有する、請求項１〜６のいずれかに記載の自律走行装置。
【請求項８】
前記通知部は、前記位置推定部にて推定された姿勢である推定姿勢が、前記第２角度範囲を含むか又は前記第２角度範囲の近傍にある第１角度範囲内に含まれることを通知する、請求項７に記載の自律走行装置。
【請求項９】
前記ナビゲーション部は、前記第２領域内に前記走行部を誘導し、かつ、前記第２領域内における姿勢が前記第２角度範囲内となるよう前記走行部を誘導するナビゲーション走行制御指令を算出するナビゲーション量算出部を有し、
前記走行制御部は、前記ナビゲーション走行制御指令に基づいて前記走行部を制御する、
請求項１〜８のいずれかに記載の自律走行装置。
【請求項１０】
前記ナビゲーション部は、前記第２領域内に前記走行部を誘導し、かつ、前記第２領域内における姿勢が前記第２角度範囲内となるよう前記走行部を誘導するための操作を、据付時及び／又は前記走行部の誘導時に取得した前記走行部の周囲の環境を表す視覚的な情報上に表示する、請求項１〜９のいずれかに記載の自律走行装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動開始位置から移動終了位置までの経路計画に従って自律的に走行する自律走行装置に関する。
【背景技術】
【０００２】
従来、移動開始位置から移動終了位置までの経路計画に従って自律的に走行する自律走行装置が知られている。例えば、ユーザの操作により教示された走行経路及び清掃条件とを再現することにより、教示された走行経路を自律的に走行し、教示された清掃条件に従った清掃を自律的に実行する自律走行式床洗浄機が知られている（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−５８１３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示された自律走行式床洗浄機などの自律走行装置においては、自律走行装置を自律的に動作（走行）させる際に、自律走行装置を自律走行しようとする移動経路の移動開始位置に正確に配置する必要がある。従来の自律走行装置においては、この移動開始位置への自律走行装置の配置を、操作者が自律走行装置を操作して実行していた。【０００５】
しかしながら、操作者の操作により自律移動装置を正確な移動開始位置に移動させることは困難である。特に、移動経路を教示した操作者と、自律走行させるために移動開始位置まで自律走行装置を移動させる操作者とが異なっている場合には、後者の操作者が自律走行装置を移動開始位置まで移動させることができないことがあった。【０００６】
本発明の目的は、移動開始位置から移動終了位置までの経路計画に従って自律的に走行する自律走行装置において、自律走行させたい自律走行装置を、自律走行を開始できる位置まで確実に移動させることにある。
【課題を解決するための手段】
【０００７】
本発明の一見地に係る自律走行装置は、移動開始位置から移動終了位置までの経路計画に従って自律的に走行する装置である。自律走行装置は、走行部と、位置推定部と、ナビゲーション部と、走行制御部と、を備える。位置推定部は、所定の座標上の走行部の位置と姿勢とを推定する。ナビゲーション部は、推定位置が第１領域内にある場合、第２領域内に走行部を誘導し、当該第２領域内における姿勢が第２角度範囲内に含まれるよう走行部を誘導する。
推定位置は、位置推定部にて推定された走行部の位置である。第１領域は所定の面積を有する領域である。第２領域は、移動開始位置を含む領域である。第２角度範囲は、移動開始位置における走行部の姿勢である移動開始姿勢を含む角度範囲である。
走行制御部は、走行部が第２領域内に到達し、かつ、当該第２領域内における走行部の姿勢が第２角度範囲内に含まれた場合に、経路計画に従って走行部を自律的に走行させる制御を開始する。【０００８】
上記の自律走行装置では、自律走行モードを実行するために走行部を移動開始位置まで移動させる際に、走行部の推定位置が第１領域内にある場合、ナビゲーション部が、走行部を第２領域内の位置に誘導し、また、走行部の姿勢が第２角度範囲内となるよう走行部を誘導する。
すなわち、現在の走行部の位置と移動開始位置との誤差がある程度の範囲内であれば、ナビゲーション部が、経路計画に従った自律的な走行部の走行を開始できる移動開始位置の近傍（第２領域内）まで、また、走行部の姿勢が自律的な走行を開始できる移動開始姿勢の近傍の角度（第２角度範囲内）となるまで、走行部を誘導している。【０００９】
これにより、自律走行装置を確実に移動開始位置及び移動開始姿勢の近傍まで移動させて、自律走行装置に対して確実に自律的な走行を開始させることができる。また、操作者は、自律的な走行を開始するために、自律走行装置を操作して、自律走行装置を正確に移動開始位置及び移動開始姿勢に移動させる必要がなくなるので、自律的な走行を開始させるまでの作業負担を減少できる。【００１０】
上記の第１領域は変更可能であってもよい。これにより、自律走行装置の移動環境及び／又は使用条件などの変化に合わせて、第１領域を最適なものとできる。【００１１】
上記の第２領域、及び／又は、第２角度範囲は変更可能であってもよい。これにより、自律走行装置の移動環境及び／又は使用条件などの変化に合わせて、第２領域及び／又は第２角度範囲を最適なものとできる。【００１２】
ナビゲーション部は、推定位置が第１領域内にあり、かつ、位置推定部にて推定された姿勢である推定姿勢が第１角度範囲内に含まれた場合に、走行部を第２領域内に誘導し、当該第２領域内において姿勢が第２角度範囲内に含まれるよう走行部を誘導してもよい。第１角度範囲は、第２角度範囲を含むか、又は、第２角度範囲の近傍にある角度範囲である。
これにより、走行部を第２角度範囲内まで誘導するために必要となる走行部の回転を少なくできる。【００１３】
上記の第１角度範囲は変更可能であってもよい。これにより、自律走行装置の移動環境及び／又は使用条件などの変化に合わせて、第１角度範囲を最適なものとできる。【００１４】
ナビゲーション部は、走行部が第２領域内に到達し、かつ、当該第２領域内における走行部の姿勢が第２角度範囲内に含まれたら、走行部の誘導を停止してもよい。これにより、走行部を確実に第２領域内に到達させ、走行部の姿勢を確実に第２角度範囲内の角度とできる。【００１５】
走行制御部は、操作者の操作に基づいて走行部を制御してもよい。この場合、ナビゲーション部は、通知部と報知部とを有する。通知部は、推定位置が第１領域内にあることを通知する。報知部は、第２領域内に走行部を誘導し、かつ、第２領域内における姿勢が第２角度範囲内となるよう走行部を誘導する操作を、操作者に報知する。
ナビゲーション部が報知部を有することにより、操作者は、報知部にて報知された操作に従って走行部を操作して、走行部を確実に第２領域内に到達させ、走行部の姿勢を確実に第２角度範囲内の角度とできる。
また、ナビゲーション部が通知部を有することにより、操作者は、走行部を第１領域内まで到達させたか否かを確認できる。【００１６】
通知部は、推定姿勢が第１角度範囲内に含まれることを通知してもよい。これにより、走行部の姿勢を第１角度範囲内の角度とできたか否かを確認できる。【００１７】
ナビゲーション部は、ナビゲーション量算出部を有してもよい。ナビゲーション量算出部は、第２領域内に走行部を誘導し、かつ、第２領域内における姿勢が第２角度範囲内となるよう走行部を誘導するナビゲーション走行制御指令を算出する。このとき、走行制御部は、ナビゲーション走行制御指令に基づいて走行部を制御する。
これにより、走行部を自律的に第２領域内に誘導し、かつ、第２領域内における走行部の姿勢を自律的に第２角度範囲内の角度とできる。【００１８】
ナビゲーション部は、第２領域内に走行部を誘導し、かつ、第２領域内における姿勢が第２角度範囲内となるよう走行部を誘導するための操作を、据付時及び／又は走行部の誘導時に取得した走行部の周囲の環境を表す視覚的な情報上に表示してもよい。
これにより、第２領域内に走行部を誘導し、かつ、第２領域内における姿勢が第２角度範囲内となるよう走行部を誘導するための操作を視覚的に確認できる。
【発明の効果】
【００１９】
自律走行装置を自律走行を開始できる位置まで確実に移動できる。
【図面の簡単な説明】
【００２０】
【図１】自律走行装置の一例の全体構成を示す図。
【図２】走行経路教示部の構成の一例を示す図。
【図３】設定部の構成を示す図。
【図４】制御部の全体構成を示す図。
【図５】走行制御部の詳細構成を示す図。
【図６】制御統括部の詳細構成を示す図。
【図７】自律走行装置にて使用される座標系の一例を示す図。
【図８】第１領域、第１角度範囲、第２領域、第２角度範囲の定義の一例を示す図。
【図９】カメラ画像上に走行部を誘導するための操作を表示させた一例を示す図。
【図１０】地図上に走行部を誘導するための操作を表示させた一例を示す図。
【図１１】自律走行装置の基本的な動作を示すフローチャート。
【図１２】手動操作教示モードの動作の一例を示すフローチャート。
【図１３】走行スケジュールの一例を示す図。
【図１４】自律清掃モードの実行時の自律走行装置の動作の一例を示すフローチャート。
【図１５】第１実施形態に係るナビゲーション動作を示すフローチャート。
【図１６】第２実施形態に係る制御統括部の構成を示す図。
【図１７】第２実施形態に係るナビゲーション動作を示すフローチャート。
【発明を実施するための形態】
【００２１】
１．第１実施形態
（１）自律走行装置の全体構成
まず、本実施形態に係る自律走行装置１００の全体構成について、説明する。本実施形態に係る自律走行装置１００は、教示された清掃条件と走行経路とを自律的に再現する清掃機である。「教示された清掃条件」とは、自律走行装置１００が手動操作可能な状態のときに、操作者による手動操作により実行された清掃の条件（清掃条件）のことを言う。また、「教示された走行経路」とは、操作者による手動操作（移動操作）により自律走行装置１００が走行した経路を言う。
【００２２】
自律走行装置１００は、走行部１を備える。走行部１は、自律走行装置１００を走行させる装置である。走行部１は、自律走行装置１００の本体を構成する本体Ｂを有する。走行部１は、本体Ｂの底部の左右端にそれぞれ、走行モータ１１と、走行モータ１１の出力回転軸に取り付けられ、走行モータ１１の回転に従って回転する主輪１３と、を有する。
【００２３】
他の実施形態において、走行部１は、例えば、本体Ｂの底部の左右端に主輪１３よりも後方に、回転可能に取り付けられた補助輪１５を有してもよい。これにより、自律走行装置１００をより安定にできる。さらなる他の実施形態として、自律走行装置１００の重心位置などを考慮して、補助輪１５を主輪１３よりも前方に取り付けてもよい。
【００２４】
自律走行装置１００は、清掃部３を備える。清掃部３は、本体Ｂの底部に設けられ、指定された清掃条件に従って床面Ｆを清掃する装置である。本実施形態の清掃部３は、洗浄液吐出口３１と、スキージ３３と、洗浄用部材３５と、を有する。
洗浄液吐出口３１は、洗浄液供給タンク３１１から洗浄液供給ポンプ３１３により供給された洗浄液（例えば、水）を、本体Ｂの前方側の床面Ｆに吐出する。スキージ３３は、本体Ｂの底面後方に設けられ、床面Ｆ上に残留する洗浄液を収集する。洗浄用部材３５は、本体Ｂの底面の前方側に設けられ、洗浄用部材回転モータ３５１の回転にて洗浄液が存在する床面Ｆ上にて回転することにより、床面Ｆを洗浄する。
上記の清掃部３を備えることにより、自律走行装置１００は、洗浄液を用いて床面Ｆを洗浄用部材３５にて磨く清掃作業を実行できる。
【００２５】
他の実施形態において、スキージ３３には吸引口Ｏ２が設けられていてもよい。吸引口Ｏ２は、吸引モータ３３１により回収部材３３３を負圧状態にすることにより、スキージ３３により収集された洗浄液やゴミなどを吸引して、回収部材３３３へと搬送できる。
【００２６】
自律走行装置１００は、制御部５を有する。制御部５は、ＣＰＵ、記憶装置（ＲＡＭ、ＲＯＭ、ハードディスクドライブ、ＳＳＤなど）、各種インターフェースなどを備えたコンピュータシステムである。制御部５は、自律走行装置１００に関する各種制御を行う。制御部５の構成については後ほど詳しく説明する。
【００２７】
自律走行装置１００は、走行経路教示部７を備える。走行経路教示部７は、操作者による走行部１の移動操作を受け付ける装置である。走行経路教示部７は、取付部材８を介して、本体Ｂの上方後側に取り付けられている。これにより、操作者は、走行経路教示部７を操作して走行部１を移動操作できる。本実施形態の走行経路教示部７の詳細については、後ほど説明する。
【００２８】
他の実施形態として、走行経路教示部７は、本体Ｂに取り付けられていなくともよい。この場合、走行経路教示部７は、例えば、ジョイスティックなどのコントローラとできる。これにより、操作者は、自律走行装置１００を遠隔操作できる。
【００２９】
さらなる他の実施形態として、自律走行装置１００は、上記の走行経路教示部７と、本体Ｂに取り付けられていないコントローラとの両方により操作可能となっていてもよい。
【００３０】
自律走行装置１００は、設定部９を備える。設定部９は、自律走行装置１００に関する各種設定を行うための操作盤であり、本体Ｂの上方後側の表面に取り付けられている。また、設定部９は、走行経路教示部７の近傍に設けられている。これにより、操作者は、走行経路教示部７を操作して走行部１を操作しつつ、設定部９を操作できる。
【００３１】
他の実施形態として、設定部９は、本体Ｂに取り付けられていなくてもよい。この場合、設定部９は、例えば、ポータブル端末などの無線通信可能なコンソールとできる。これにより、操作者は、自律走行装置１００を遠隔にて設定できる。
さらなる他の実施形態として、上記の走行経路教示部７と設定部９とを一体としてもよい。これにより、走行部１と設定部とを同時に操作しやすくできる。
【００３２】
（２）走行経路教示部の構成
次に、本実施形態に係る走行経路教示部７の構成の一例について、図２を用いて説明する。図２は、走行経路教示部の構成の一例を示す図である。
走行経路教示部７は、ハンドル７１ａ、７１ｂを有する。ハンドル７１ａ、７１ｂは、それぞれ、筐体７３の左右側面に取り付けられている。ハンドル７１ａ、７１ｂは、ユーザが自律走行装置１００を操作するときに使用される。
【００３３】
例えば、ハンドル７１ａ、７１ｂを把持する操作者は、ハンドル７１ａ、７１ｂを介して、自律走行装置１００を操作者の方へ引張る力、又は、自律走行装置１００を押し出す力のいずれかを加えることができる。ハンドル７１ａ、７１ｂのそれぞれにかける力を調節することにより、操作者は、自律走行装置１００の走行方向を調整できる。例えば、自律走行装置１００の前方方向から見て左側のハンドル７１ａに対して、自律走行装置１００を引張る力を加えれば、自律走行装置１００は左へと方向転換する。
【００３４】
ハンドル７１ａ、７１ｂは、筐体７３に回動可能に取り付けられている。また、ハンドル７１ａ、７１ｂは、走行制御指令算出部７５を介して制御部５に接続されている。走行制御指令算出部７５は、ハンドル７１ａ、７１ｂの回動を電気信号に変換し、制御部５に出力する。これにより、操作者は、ハンドル７１ａ、７１ｂの回動操作によって、自律走行装置１００（走行部１）を操作できる。
【００３５】
例えば、ハンドル７１ａ、７１ｂの回動方向を調整することにより、操作者は、自律走行装置１００の前進と後進とを切り替え可能となっていてもよい。また、ハンドル７１ａ、７１ｂの回動量を調節することにより、自律走行装置１００の走行速度を調整可能となっていてもよい。さらに、ハンドル７１ａの回動量と、ハンドル７１ｂの回動量とを異ならせて、自律走行装置１００の進行方向を変更してもよい。
【００３６】
他の実施形態として、ハンドル７１ａを進行方向への走行速度を指示するための入力インターフェースとし、ハンドル７１ｂを操舵角を指示するための入力インターフェースとしてもよい。
【００３７】
（３）設定部の構成
次に、設定部９の構成について、図３を用いて説明する。図３は、設定部の構成を示す図である。
設定部９は、切替部９１を有する。切替部９１は、自律走行装置１００の動作モードを選択し、制御部に出力する。自律走行装置１００の動作モードとしては、自律清掃モード（自律走行モードの一例）と手動操作モードとがある。自律清掃モードは、自律走行装置１００が、自律的に走行し床面Ｆを洗浄する動作モードである。一方、手動操作モードは、自律走行装置１００が操作者により手動操作可能な状態にある動作モードである。
【００３８】
切替部９１は、例えば、図３に示すような切り替えスイッチにて構成できる。この場合、自律清掃モードの選択は、例えば、切り替えスイッチにて構成された切替部９１を図３に示す「自動」に切り替えることにより可能となる。一方、手動操作モードの選択は、例えば、切替部９１を図３に示す「手動」に切り替えることにより可能となる。
【００３９】
設定部９は、手動操作記憶スイッチ９２を有する。手動操作記憶スイッチ９２は、操作者による自律走行装置１００の手動操作の記憶を開始又は終了するためのスイッチである。具体的には、切替部９１により動作モードが手動操作モードに設定された後に手動操作記憶スイッチ９２が押されると、操作者の手動操作により実行された清掃条件および走行経路を、自律走行装置１００に教示する手動操作教示モードが、手動操作モードのサブ動作モードとして開始される。一方、手動操作教示モードを実行中に手動操作記憶スイッチ９２が切り替わると、手動操作教示モードが停止される。
【００４０】
手動操作記憶スイッチ９２により手動操作教示モードの開始と停止とが可能となることにより、手動操作教示モードを任意のタイミングにて開始又は停止できる。その結果、操作者が所望する走行スケジュール５００（経路計画の一例）を作成できる。
【００４１】
手動操作記憶スイッチ９２としては、例えば、図３に示すような押ボタンスイッチとすることができる。この場合、手動操作記憶スイッチ９２の切り替えは、当該押ボタンスイッチを押すことにより切り替わる。
【００４２】
他の実施形態において、手動操作教示モードの実行時に手動操作記憶スイッチ９２が切り替わったら、動作モードが手動操作教示モードから手動操作モードに切り替わってもよい。これにより、操作者は、手動操作教示モードが手動操作モードに切り替わっても、継続して自律走行装置１００を手動操作できる。
【００４３】
設定部９は、清掃条件教示部９３を有する。清掃条件教示部９３は、操作者による清掃条件の入力を受け付けて、清掃制御指令算出部９４へ出力する。清掃制御指令算出部９４は、清掃条件教示部９３にて受け付けた清掃条件を、制御部５が解読可能な信号に変換して制御部５に出力する信号変換回路、又は、コンピュータシステムである。
【００４４】
図３に示すように、清掃条件教示部９３は、清掃条件調整部９３１を有する。清掃条件調整部９３１は、洗浄液吐出口３１から吐出される洗浄液の供給量Ｓ（吐出量の一例）を教示清掃条件として設定する供給量調整部９３１ａを有する。また、清掃条件調整部９３１は、吸引口Ｏ２による吸引力Ｐを、教示清掃条件として設定する押ボタンである吸引力調整部９３１ｂを有する。さらに、清掃条件調整部９３１は、洗浄用部材３５による床面Ｆの洗浄力Ｗを教示清掃条件として設定する洗浄力調整部９３１ｃを有する。
【００４５】
清掃条件教示部９３は、運転切替部９３３を有する。運転切替部９３３は、洗浄液吐出口３１からの洗浄液の供給の開始又は停止を指令する押ボタンである供給切替部９３３ａを有する。運転切替部９３３は、吸引口Ｏ２による吸引の開始又は停止を指令する押ボタンである吸引切替部９３３ｂを有する。運転切替部９３３は、洗浄用部材３５による床面Ｆの洗浄の開始又は停止を指令する押ボタンである洗浄切替部９３３ｃを有する。
【００４６】
清掃条件教示部９３が上記の構成を有することにより、供給切替部９３３ａにより洗浄液の供給を停止後に吸引切替部９３３ｂにより洗浄液の吸引を開始するといった清掃作業、及び／又は、供給切替部９３３ａにより洗浄液の供給を停止した後、床面Ｆに洗浄液がなじむのに必要な程度の時間経過後に洗浄切替部９３３ｃにより床面Ｆの洗浄を開始するといった清掃作業を自律走行装置１００に実行させることができる。
【００４７】
設定部９は、設定操作部９５を有する。設定操作部９５は、例えば押圧スイッチなどにより構成され、自律走行装置１００に関する各種設定の入力を受け付けて、設定変換部９６を介して、制御部５に出力する。
設定変換部９６は、設定操作部９５にて受け付けた入力を、制御部５が解読可能な信号に変換する信号変換回路、又は、コンピュータシステムである。
【００４８】
設定部９はディスプレイ９７を有する。ディスプレイ９７は、現在設定されている自律走行装置１００に関する各種設定情報を表示する。ディスプレイ９７は、例えば、液晶ディスプレイ、有機ＥＬディスプレイなどのディスプレイである。
【００４９】
ディスプレイ９７は、例えば、洗浄液吐出口３１からの洗浄液の供給量Ｓ、洗浄用部材３５による床面Ｆの洗浄力Ｗ、及び／又は、吸引口Ｏ２による吸引力Ｐを、設定された清掃条件として表示する。これにより、操作者は、表示された清掃条件を確認しながら、清掃作業を実行できる。
【００５０】
他の実施形態において、ディスプレイ９７は、現在の動作モード（自律清掃モード／手動操作モード／手動操作教示モード）、運転時間、自律走行装置１００を駆動するバッテリー残量などをさらに表示してもよい。さらなる他の実施形態において、ディスプレイ９７は、設定操作部９５により自律走行装置１００の各種設定を行う際に、各種設定手順を表示してもよい。これにより、自律走行装置１００に関する情報を視覚的にユーザに提供し、ユーザは表示された情報に基づいて、設定部９を操作できる。
【００５１】
他の実施形態において、ディスプレイ９７にはタッチパネルが設けられていてもよい。この場合、上記の切替部９１、手動操作記憶スイッチ９２、清掃条件教示部９３、及び／又は設定操作部９５は、当該タッチパネルにより実現されてもよい。
【００５２】
（４）制御部の構成
（４−１）制御部の全体構成
以下、制御部５の構成について説明する。まず、制御部５の全体構成について、図４を用いて説明する。図４は、制御部の全体構成を示す図である。以下に説明する制御部５の各機能ブロックの全部又は一部は、制御部５を構成するコンピュータシステムにて実行可能なプログラムにより実現されてもよい。この場合、当該プログラムは、メモリ部及び／又は記憶装置に記憶されていてもよい。制御部５の各機能ブロックの全部又は一部は、ＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  Ｃｈｉｐ）などのカスタムＩＣとして実現されていてもよい。
【００５３】
制御部５は、１つのコンピュータシステムにより構成されていてもよいし、複数のコンピュータシステムにより構成されていてもよい。複数のコンピュータシステムにより制御部５を構成する場合、例えば、制御部５の複数の機能ブロックにて実現される機能を複数のコンピュータシステムに任意の割合で振り分けて実行させることができる。
【００５４】
制御部５は、清掃制御部５１を有する。清掃制御部５１は、洗浄用部材回転モータ３５１と、洗浄液供給ポンプ３１３と、吸引モータ３３１に対して、回転速度や出力などを制御する電力を供給する。
清掃制御部５１は、手動操作モードの実行時には、清掃制御指令算出部９４を介して清掃条件教示部９３から教示清掃条件を入力し、当該教示清掃条件に基づいて、洗浄用部材回転モータ３５１と、洗浄液供給ポンプ３１３と、吸引モータ３３１と、を制御する。
一方、清掃制御部５１は、自律清掃モードの実行時には、制御統括部５５から再現清掃条件（後述）を入力し、当該再現清掃条件に基づいて、清掃部３を制御する。
【００５５】
制御部５は、走行制御部５３を有する。走行制御部５３は、走行経路教示部７から入力したハンドル７１ａ、７１ｂの回動量及び回動方向に基づく走行制御指令、又は、制御統括部５５から入力した走行制御指令に基づき、走行モータ１１を制御する。
また、走行制御部５３は、走行モータ１１の出力回転軸に取り付けられたエンコーダ１１１から出力されるパルス信号に基づいて、走行モータ１１の回転速度を算出する。これにより、走行制御部５３は、走行モータ１１の回転速度（すなわち、主輪１３の回転速度）をモニターしながら、走行モータ１１を制御できる。
【００５６】
制御部５は、制御統括部５５を有する。制御統括部５５は、自律走行装置１００による清掃及び走行を統括する。具体的には、制御統括部５５は、前方検出器５５５１ａ、後方検出器５５５１ｂ、及び／又はエンコーダ１１１にて取得された情報に基づいて、自律走行装置１００が床面Ｆのどの位置を移動しているかを示す位置情報を算出する。
【００５７】
制御統括部５５は、手動操作教示モードの実行時においては、清掃制御部５１から清掃条件を教示清掃条件として受信し、上記の位置情報及び教示清掃条件とを用いて走行スケジュール５００を作成する。
【００５８】
一方、自律清掃モードの実行時においては、制御統括部５５は、走行スケジュール５００に記憶されたデータに基づいて再現清掃条件及び再現走行制御指令を算出し、再現清掃条件を清掃制御部５１に、再現走行制御指令を走行制御部５３に出力する。
これにより、自律清掃モードの実行時においては、清掃制御部５１は、再現清掃条件に基づいて、洗浄用部材回転モータ３５１、洗浄液供給ポンプ３１３、及び／又は、吸引モータ３３１を制御することで、自律走行装置１００に対して自律的に清掃作業を実行させることができる。また、走行制御部５３は、再現走行制御指令に基づいて走行モータ１１を制御することで、自律走行装置１００を自律的に移動させることができる。
【００５９】
制御部５は、記憶部５７を有する。記憶部５７は、制御部５を構成するコンピュータシステムの記憶装置の記憶領域の一部又は全部であり、自律走行装置１００に関する各種情報を記憶する。具体的には、記憶部５７は、制御統括部５５において作成された走行スケジュール５００、及び、設定操作部９５や設定変換部９６から入力された自律走行装置１００に関する各種設定を記憶する。
【００６０】
清掃制御部５１、走行制御部５３、及び制御統括部５５は、記憶部５７に記憶された自律走行装置１００に関する各種設定、及び／又は、走行スケジュール５００を必要に応じて読み出して、これらに基づいて各種の調整及び制御を実行できる。
【００６１】
他の実施形態において、制御部５は、記憶部５７に記憶された走行スケジュール５００などの情報を他の記憶媒体に記憶するためのデータ書き込み装置（図示せず）を有していてもよい。さらなる他の実施形態において、制御部５は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポートなどの、データ書き込み装置を接続可能な接続端子を有していてもよい。
これにより、記憶部５７に記憶された走行スケジュール５００などの情報を、他の記憶媒体に記憶できる。
【００６２】
（４−２）走行制御部の構成
以下、走行部１を制御する走行制御部５３の構成について、図５を用いて詳細に説明する。図５は、走行制御部の詳細構成を示す図である。
走行制御部５３は、走行切替部５３１を有する。走行切替部５３１は、３つの端子ｄ、ｅ、及びｆを有している。端子ｄは走行経路教示部７に接続され、端子ｅはモータ制御部５３３に接続され、端子ｆは制御統括部５５に接続されている。
【００６３】
走行切替部５３１は、切替部９１により選択されている動作モードに基づいて、端子ｅと端子ｄとを接続するか、あるいは、端子ｅと端子ｆとを接続するかのいずれかを選択する。
【００６４】
具体的には、切替部９１において手動操作モードが選択されていれば、走行切替部５３１は、端子ｅと端子ｄとを接続することで、走行経路教示部７をモータ制御部５３３に接続する。これにより、走行切替部５３１は、手動操作モード又は手動操作教示モードの実行時には、走行経路教示部７のハンドル７１ａ、７１ｂの回動量及び／又は回転方向を示す信号を、モータ制御部５３３に送信できる。
【００６５】
一方、切替部９１において自律清掃モードが選択されていれば、走行切替部５３１は、端子ｅと端子ｆとを接続することで、制御統括部５５をモータ制御部５３３に接続する。これにより、走行切替部５３１は、自律清掃モードの実行時には、制御統括部５５から出力される再現走行制御指令を、モータ制御部５３３に送信できる。
【００６６】
モータ制御部５３３は、入力されたハンドル７１ａ、７１ｂの回動量／回動方向、又は、再現走行制御指令に基づいて、走行モータ１１の目標回転速度を算出し、当該目標回転速度にて走行モータ１１を回転させるための駆動電力を、走行モータ１１に出力する。
モータ制御部５３３は、エンコーダ１１１からのパルス信号に基づいて実際の走行モータ１１の回転速度を算出しフィードバックして、走行モータ１１に出力すべき駆動電力を算出する。従って、モータ制御部５３３は、例えば、ＰＩ（Ｐｒｏｐｏｒｔｉｏｎａｌ  Ｉｎｔｅｇｒａｌ）制御理論や、ＰＩＤ（Ｐｒｏｐｏｒｔｉｏｎａｌ  Ｉｎｔｅｇｒａｌ  Ｄｉｆｆｅｒｅｎｔｉａｌ）制御理論などを用いて走行モータ１１を制御する。
【００６７】
本実施形態においては、本体Ｂの底部の左右端のそれぞれに、走行モータ１１及び主輪１３が設けられている。このような場合、モータ制御部５３３は、左右２つの走行モータ１１のそれぞれの回転速度及び回転方向を独立に制御して、自律走行装置１００の進行方向を決定する。
【００６８】
他の実施形態において、制御部５が複数のコンピュータシステムにて構成される場合、モータ制御部５３３は、当該複数のコンピュータシステムのうちの１つであってもよい。すなわち、モータ制御部５３３の機能のみを１つのコンピュータシステムにて実現してもよい。この場合、モータ制御部５３３は、例えば、ＰＩ制御理論又はＰＩＤ制御理論を用いたモータ制御装置である。
【００６９】
（４−３）制御統括部の構成
以下、制御統括部５５の構成について、図６を用いて詳細に説明する。図６は、制御統括部の詳細構成を示す図である。
制御統括部５５は、教示データ取得部５５１を有する。教示データ取得部５５１は、手動操作教示モードの実行時に、教示位置情報と、教示清掃条件とを、教示データ取得時間において取得する。具体的には、教示データ取得部５５１は、ＳＬＡＭ部５５５（後述）から教示データ取得時間と教示位置情報とを入力し、清掃制御部５１から当該教示データ取得時間における教示清掃条件を入力する。教示データの取得時間としては、例えば、制御部５のシステムクロックとできる。
教示データ取得部５５１は、取得した教示データ取得時間、教示位置情報、及び教示清掃条件を、走行スケジュール作成部５５３に出力する。
【００７０】
制御統括部５５は、走行スケジュール作成部５５３を有する。走行スケジュール作成部５５３は、教示データ取得部５５１から取得した教示位置情報と、教示清掃条件と、教示データ取得時間と、を関連付けて走行スケジュール５００を作成して記憶部５７に記憶する。
【００７１】
制御統括部５５は、ＳＬＡＭ部５５５を有する。ＳＬＡＭ部５５５は、本体Ｂの前方に設けられた前方検出器５５５１ａ（図１）にて取得した自律走行装置１００の前方に存在する障害物に関する情報と、本体Ｂの後方に設けられた後方検出器５５５１ｂ（図１）にて取得した自律走行装置１００の後方に存在する障害物に関する情報と、エンコーダ１１１にて取得した走行モータ１１の回転量に基づいて、自律走行装置１００の所定の座標上の位置に関する情報（位置情報）を推定する。
【００７２】
前方検出器５５５１ａ及び後方検出器５５５１ｂは、例えば、その検出範囲が１８０°以上のレーザーレンジファインダ（Ｌａｓｅｒ  Ｒａｎｇｅ  Ｆｉｎｄｅｒ、ＬＲＦ）である。レーザーレンジファインダを前方検出器５５５１ａ及び後方検出器５５５１ｂとして用いた場合、走行部１と障害物との距離と、当該障害物が存在する方向とが、障害物に関する情報として取得される。
【００７３】
前方検出器５５５１ａ及び後方検出器５５５１ｂにて取得される情報は、所定の平面上における障害物の存在位置を表す二次元的な情報であってもよいし、さらに高さ方向における障害物の存在位置を表す情報を含めて三次元的な情報であってもよい。
【００７４】
他の実施形態において、前方検出器５５５１ａの検出範囲（検出角度及び／又は検出距離）を、後方検出器５５５１ｂの検出範囲よりも広くしてもよい。これにより、自律走行装置１００の前方方向であってより広範囲に存在する障害物に関する情報を取得できる。
【００７５】
さらなる他の実施形態において、前方検出器５５５１ａ及び後方検出器５５５１ｂは、ＴＯＦ（Ｔｉｍｅ  Ｏｆ  Ｆｌｉｇｈｔ）カメラなどであってもよい。
【００７６】
制御統括部５５は、ナビゲーション部５５７を有する。ナビゲーション部５５７は、自律清掃モードを開始させる際に、走行部１（自律走行装置１００）を移動開始位置（走行スケジュール５００に記憶）又はその近傍に誘導する。
具体的には、ナビゲーション部５５７は、走行部１を移動開始位置へ移動させる際に、走行部１が移動開始位置から比較的近い位置まで到達したと推定された場合に、走行部１を、当該位置から、移動開始位置又はその近傍まで誘導する。
ナビゲーション部５５７の詳細構成、及び、どのように走行部１を移動開始位置又はその近傍まで誘導する方法については、後ほど詳しく説明する。
【００７７】
制御統括部５５は、清掃再現部５５９を有する。清掃再現部５５９は、走行部１が移動開始位置又はその近傍に到達後、自律清掃モードを実行する時に、走行スケジュール５００に記憶された教示データ取得時間、教示清掃条件、及び教示位置情報に基づいて、自律清掃モードの実行開始からの所定の経過時間における再現清掃条件と再現走行制御指令とを算出し、それぞれ、清掃制御部５１及び走行制御部５３に出力する。
【００７８】
（４−４）ＳＬＡＭ部の構成
以下、ＳＬＡＭ部５５５の構成の詳細について、図６を用いて説明する。本実施形態に係るＳＬＡＭ部５５５は、ＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ）法にて、走行部１（自律走行装置１００）の位置（位置情報）推定と地図情報の作成とを実行する。
ＳＬＡＭ部５５５は、地図作成部５５５３を有する。地図作成部５５５３は、前方検出器５５５１ａにて取得された前方の障害物（例えば、壁など）に関する情報と、後方検出器５５５１ｂにて取得された後方の障害物に関する情報と、を用いて地図情報を作成する。地図情報は、位置推定部５５５５において位置情報を推定する際に用いられる。地図情報としては、ローカルマップとグローバルマップとが存在する。
【００７９】
ローカルマップは、走行部１の周囲に存在する障害物（の存在位置）に関する地図情報である。ローカルマップは、前方検出器５５５１ａにて取得された前方の障害物に関する情報と、後方検出器５５５１ｂにて取得された後方の障害物に関する情報とを、必要に応じて座標変換することにより作成される。
【００８０】
グローバルマップは、走行部１が移動する環境（移動環境）に存在する障害物（の存在位置）に関する地図情報である。グローバルマップは、手動操作教示モードの実行時に取得したローカルマップに基づいて生成される。そのため、手動操作教示モードの実行時に取得したローカルマップは、それを取得した時間（例えば、教示データ取得時間）に関連付けられて記憶部５７に記憶されている。
他の実施形態において、ローカルマップは、それを取得したときの走行部１の推定位置に関連付けられて記憶部５７に記憶されてもよい。
【００８１】
本実施形態の地図作成部５５５３は、ある経過時間に関連付けられたローカルマップと、当該ある経過時間の近傍の時間に関連付けられたローカルマップとを、各経過時間における走行部１の位置に配置する（ローカルマップの中心を、対応する経過時間における走行部１の位置に配置する）ことで、移動環境のうちの一部（例えば、位置推定に必要な程度の範囲）を表す地図情報を、グローバルマップとして生成する。
また、地図作成部５５５３は、過去に生成したグローバルマップのうち、位置推定に不要となった部分を削除する。
【００８２】
他の実施形態において、移動環境が環状経路を形成しない場合など、「環状経路問題」（初期段階に生成されたグローバルマップの一部と、最終段階に生成されたグローバルマップに一部が一致しなくなる問題）が発生しない場合には、移動環境の全体を表す地図情報をグローバルマップとして生成してもよい。
【００８３】
さらなる他の実施形態において、グローバルマップは、専用のソフトウェア又はＣＡＤなどを用いて作成されて記憶部５７に記憶されてもよい。この場合、当該ソフトウェアなどで作成したグローバルマップは、走行部１の制御部５が解釈できるようなデータに変換される。
【００８４】
ＳＬＡＭ部５５５は、位置推定部５５５５を有する。位置推定部５５５５は、地図作成部５５５３が生成したグローバルマップと、ローカルマップと、走行モータ１１の回転量と、に基づいて、所定の座標上の走行部１の存在位置及び当該位置における走行部１の姿勢に関する位置情報を推定する。
【００８５】
具体的には、以下のようにして位置情報が推定される。ここでは、走行部１がある所定の時刻（時刻ｔkとする）における（推定）位置から移動して、次の時刻（時刻ｔk+1とする）にて走行部１が到達する位置を推定する場合を例として考える。
まず、位置推定部５５５５は、時刻ｔkから時刻ｔk+1までの間にエンコーダ１１１から出力されたパルス数から、時刻ｔkから時刻ｔk+1までの間の主輪１３の回転量を算出し、当該回転量に基づいて、主輪１３の回転による走行部１の移動距離と姿勢変化とを推定する（デッドレコニング）。
【００８６】
次に、位置推定部５５５５は、時刻ｔkにおける事後確率（走行部１の位置と、時刻ｔkにおいて当該位置に走行部１が存在する確率と、の関係を表した確率分布に対応する）を、主輪１３の回転による走行部１の移動距離分及び姿勢変化分だけ移動させて、時刻ｔk+1における事前確率を算出する。
他の実施形態において、位置推定部５５５５は、主輪１３の回転による移動距離分及び姿勢変化分だけ移動後の事後確率の確率分布の幅（標準偏差）を拡大して、時刻ｔk+1における事前確率としてもよい。これにより、主輪１３と床面Ｆとの滑りを考慮した事前確率を算出できる。
【００８７】
その後、位置推定部５５５５は、時刻ｔk+1におけるローカルマップとグローバルマップとを地図作成部５５５３から取得し、時刻ｔk+1におけるローカルマップとグローバルマップとをマップマッチングし、時刻ｔk+1における走行部１の位置情報を推定する。
【００８８】
具体的には、例えば、グローバルマップ上において、主輪１３の回転量に基づいて算出された推定位置の近傍のいくつかの位置に、時刻ｔk+1におけるローカルマップを配置し、当該ローカルマップをその中心回りに取りうる姿勢変化に対応する角度だけ回転させて、マップマッチングを行う。
位置推定部５５５５は、当該マップマッチングの結果に基づいて、尤度（ローカルマップ情報を配置した位置と、当該位置におけるグローバルマップとローカルマップ情報との一致度と、の関係を表すものに対応）を算出する。
【００８９】
その後、位置推定部５５５５は、尤度と時刻ｔk+1における事前確率とを乗算することにより、時刻ｔk+1における事後確率を算出する。位置推定部５５５５は、時刻ｔk+1における事後確率が最大値となる位置及び姿勢、すなわち、走行部１が存在する可能性が最も高いと推定される位置、及び、当該位置において走行部１がとりうる最も可能性が高い姿勢を、時刻ｔk+1における走行部１の存在位置（推定位置）及び当該存在位置における姿勢（推定姿勢）と推定する。
時刻ｔk+1における事後確率は、次の位置推定において事前確率として使用される。
【００９０】
上記のように、位置推定部５５５５が、主輪１３の回転量に基づいた移動距離と、前方検出器５５５１ａ及び後方検出器５５５１ｂとを用いて得られた地図情報と、を用いて位置推定を実行することにより、主輪１３の回転量に基づいた移動距離に含まれる誤差（主に、主輪１３と床面Ｆとの間の滑りに起因）と、地図情報に含まれる誤差（主に、前方検出器５５５１ａ及び後方検出器５５５１ｂにて取得した情報に含まれるノイズ成分に起因）とを相補的に減少させて、精度のよい位置推定を実行できる。
【００９１】
ＳＬＡＭ部５５５は、経過時間決定部５５５７を有する。経過時間決定部５５５７は、教示データ取得時間及び自律清掃モードの実行開始からの経過時間を決定する。本実施形態において、経過時間決定部５５５７は、例えば、制御部５を構成するマイコンシステムなどの時計機能を用いて、教示データ取得時間を決定する。
【００９２】
一方、自律清掃モードの実行開始からの経過時間は、位置推定部５５５５にて推定された位置情報に基づき決定される。具体的には、例えば、走行スケジュール５００に記憶されている位置情報のうち、位置推定部５５５５にて推定された走行部１の位置情報に最も近い位置情報に関連付けられている教示データ取得時間を、経過時間とする。
【００９３】
他の実施形態において、上記の経過時間は、位置推定部５５５５にて推定された位置情報に近い２つの位置情報を走行スケジュール５００から抽出し、当該２つの位置情報の線形補間により算出されてもよい。これにより、より正確な経過時間を算出できる。
【００９４】
自律清掃モードの実行開始からの経過時間を、位置推定部５５５５にて推定された位置情報に基づいて決定することにより、自律走行装置１００は、自律清掃モードの実行時に、教示された教示清掃条件を実行するタイミングと場所とを正確に把握しながら、自律的に清掃作業を再現できる。
例えば、自律清掃モードの実行時において、障害物回避を目的として、自律走行装置１００が走行スケジュール５００に示されていない移動速度の減少又は移動停止をした場合に、清掃作業が時間の経過と共に進んでしまい、現在位置において本来は行われない清掃作業が自律的に実行されてしまうことを回避できる。
【００９５】
（４−５）ナビゲーション部の詳細構成
以下、ナビゲーション部５５７の構成の詳細について、図６を用いて説明する。図６は、ナビゲーション部の詳細構成を示す図である。
ナビゲーション部５５７は、通知部５５７１を有する。本実施形態の通知部５５７１は、走行部１の推定位置が第１領域Ａ１内にあり、かつ、走行部１の推定姿勢（位置推定部５５５５にて推定された走行部１の姿勢）が第１角度範囲Θ1内にあれば、そのことを、例えばスピーカー５５７１ａにより音を発することにより通知する。
【００９６】
第１領域Ａ１は、ナビゲーション部５５７において移動開始位置Ｐ0から比較的近い位置であるとみなされる領域として定義される。図８に示す例では、第１領域Ａ１は、移動開始位置Ｐ0を含み、所定の面積を有する領域として定義される。また、第１領域Ａ１は、走行部１が第１領域Ａ１内に存在していれば、ナビゲーション部５５７による走行部１の誘導を開始すると判定するための領域として定義される。
【００９７】
一方、第１角度範囲Θ1は、移動開始位置Ｐ0における走行部１の姿勢（移動開始姿勢と呼ぶことにする）を含んだ角度範囲として定義される。すなわち、第１角度範囲Θ1は、走行部１の姿勢がこの角度範囲内であれば、走行部１の姿勢は移動開始姿勢と比較的近い姿勢となっているとみなされる角度範囲である。また、第１角度範囲Θ1は、走行部１の姿勢が第１角度範囲Θ1内であれば、ナビゲーション部５５７による走行部１の誘導を開始すると判定するための角度範囲として定義される。
【００９８】
具体的には、本実施形態の第１領域Ａ１及び第１角度範囲Θ1は、例えば、図７に示すようなｘ−ｙ座標系（所定の座標の一例）にて以下のように定義されているとする。図７に示すｘ−ｙ座標系は、図７の紙面の横方向にｘ軸を定義し、それに垂直な縦方向にｙ軸を定義する。ｘ軸と平行な角度を０として、ｘ軸から反時計回り方向に増加する角度（姿勢θ）を定義する。この座標系において、ｘ軸と自律走行装置１００の前後方向（直進時の移動方向）とのなす角度を自律走行装置１００の「姿勢」と定義する。図７は、自律走行装置にて使用される座標系の一例である。
【００９９】
第１領域Ａ１は、例えば、図８に示すように、移動開始位置Ｐ0を中心とした半径Ｒ1を有する円内の領域として定義できる。この場合、第１領域Ａ１が有する「所定の面積」は、πＲ12となる。一方、第１角度範囲Θ1は、例えば、θ0−Θ1／２≦θ≦θ0＋Θ1／２との不等式が成立するときの走行部１の姿勢θの範囲として定義される。
図８は、第１領域、第１角度範囲、第２領域、第２角度範囲の定義の一例を示す図である。
【０１００】
上記により、通知部５５７１は、走行部１の現在の推定位置が、ナビゲーション部５５７において走行部１の誘導を開始する位置（領域内）にあることを、操作者及び／又は自律走行装置１００の周囲に通知できる。
【０１０１】
他の実施形態において、第１領域Ａ１は、移動開始位置Ｐ0及び／又は後述する第２領域Ａ２を含んではいないが、移動開始位置Ｐ0から比較的近い位置であるとみなされる領域として定義されてもよい。
例えば、移動開始位置Ｐ0及び／又は第２領域Ａ２の前方に多数の障害物が存在し、移動開始位置Ｐ0及び／又は第２領域Ａ２の前方からナビゲーションを開始した方がよい場合には、強制的に第２領域Ａ２を含まない前方において第１領域Ａ１を定義してもよい。
【０１０２】
移動開始位置Ｐ0及び／又は第２領域Ａ２の前方に障害物が多数存在する場合、移動開始位置Ｐ0及び／又は第２領域Ａ２の後方からナビゲーションを行うとナビゲーションが失敗することがある。
従って、移動開始位置Ｐ0及び／又は第２領域Ａ２の前方に障害物が多数存在する場合には、第２領域Ａ２を含まない前方において定義された第１領域Ａ１からナビゲーションを開始することで、ナビゲーションの失敗を抑制できる。
【０１０３】
他の実施形態において、第１角度範囲Θ1は、第２角度範囲Θ2を含んではいないが、第２角度範囲Θ2の近傍にある角度範囲として定義されてもよい。
【０１０４】
ナビゲーション部５５７は、ナビゲーション量算出部５５７３を有する。ナビゲーション量算出部５５７３は、通知部５５７１において走行部１の誘導を開始すると判定された場合に、第２領域Ａ２内に走行部１を誘導し、かつ、第２領域Ａ２内における姿勢が第２角度範囲Θ2内となるよう走行部１を誘導するための走行部１の操作量を算出する。
【０１０５】
図８に示すように、第２領域Ａ２は、例えば、移動開始位置Ｐ0を中心とした半径Ｒ2（Ｒ2≦Ｒ1）の円内の領域として定義される。これにより、第２領域Ａ２を、第１領域Ａ１内に包含され、かつ、移動開始位置Ｐ0を含む領域と定義できる。
【０１０６】
一方、第２角度範囲Θ2は、例えば、θ0−Θ2／２≦θ≦θ0＋Θ2／２（Θ2＜Θ1）との不等式が成立するときの走行部１の姿勢θの範囲として定義される。これにより、第２角度範囲Θ2を、図８に示すように、第１角度範囲Θ1内に包含され、かつ、移動開始姿勢θ0を含む角度範囲と定義できる。
【０１０７】
走行部１が上記の第２領域Ａ２内に存在しており、かつ、走行部１の姿勢θが第２角度範囲Θ2内の角度となっていると判定されたら、制御部５は、走行部１が移動開始位置Ｐ0又はその近傍に存在しており、かつ、走行部１の姿勢θが移動開始姿勢又はその近傍の角度となっていると判定され、自律走行装置１００が自律的な動作を開始できる。
【０１０８】
上記の第１領域Ａ１、第１角度範囲Θ1、第２領域Ａ２、及び第２角度範囲Θ2は、これらの領域及び角度範囲を定義するｘ−ｙ座標系における数式（領域を表す式）又は不等式として定義されて、当該数式又は不等式が記憶部５７に記憶される。
【０１０９】
他の実施形態において、第１領域Ａ１、第１角度範囲Θ1、第２領域Ａ２、及び第２角度範囲Θ2を、これらの領域及び角度範囲の境界の点の座標値及び角度として記憶部５７に記憶してもよい。
【０１１０】
本実施形態のナビゲーション量算出部５５７３は、走行部１の推定位置が第１領域Ａ１内にあり、かつ、走行部１の推定姿勢が第１角度範囲Θ1内にあるときに、走行部１の現在の推定位置と、走行スケジュール５００に記憶された移動開始位置Ｐ0との間の距離を、走行部１を誘導すべき移動距離として算出する。
一方、ナビゲーション量算出部５５７３は、走行部１の現在の推定姿勢と、走行スケジュール５００に記憶された移動開始姿勢θ0との差分を、走行部１を誘導すべき方向として算出する。
【０１１１】
ナビゲーション部５５７は、報知部５５７５を有する。報知部５５７５は、第２領域Ａ２内に走行部１を誘導し、かつ、第２領域Ａ２内における姿勢θが第２角度範囲Θ2内となるよう走行部１を誘導する操作を、操作者に報知する。
具体的には、例えば、報知部５５７５は、ナビゲーション量算出部５５７３にて算出された、走行部１を誘導すべき移動距離と、走行部１を誘導すべき方向と、をスピーカー５５７１ａを通して音声にて報知する。
【０１１２】
他の実施形態において、報知部５５７５は、ナビゲーション量算出部５５７３にて算出された走行部１を誘導すべき移動距離及び方向を、視覚的に表示してもよい。
具体的には、報知部５５７５は、例えば、図９に示すように、本体Ｂの前方に設けられたカメラ５５７５ａにより取得された、走行部１の周囲（前方）の環境を表すカメラ画像をディスプレイ９７に表示し、当該カメラ画像上に、走行部１を第２領域Ａ２内に誘導し、かつ、第２領域Ａ２内における姿勢θが第２角度範囲Θ2内となるよう走行部１を誘導するための操作を表示してもよい。
図９は、カメラ画像上に走行部を誘導するための操作を表示させた一例を示す図である。
【０１１３】
または、報知部５５７５は、図１０に示すように、ＳＬＡＭ部５５５の地図作成部５５５３にて作成された、走行部１の周囲に存在する障害物に関する情報にて構成される地図（例えば、移動開始位置の周囲の環境を表すとして記憶部５７に記憶されているグローバルマップ）をディスプレイ９７に表示し、当該地図上に、走行部１を第２領域Ａ２内に誘導し、かつ、第２領域Ａ２内における姿勢θが第２角度範囲Θ2内となるよう走行部１を誘導するための操作を表示してもよい。図１０に示す例では、走行部１を表す三角形の頂点の向きが、走行部１を誘導すべき方向となる。
図１０は、地図上に走行部を誘導するための操作を表示させた一例を示す図である。
【０１１４】
他の実施形態において、報知部５５７５は、ディスプレイ９７に表示されている地図上において、走行部１を表す三角形にて移動開始位置及び移動開始姿勢を表してもよい。この場合、三角形の頂点が向いている向きが移動開始姿勢である。
また、上記の場合、ディスプレイ９７に表示されている地図の中心位置を、走行部１の現在の推定位置としてもよい。これにより、走行部１の現在の推定位置に対する移動開始位置及び移動開始姿勢の相対的な位置を視覚的に確認できる。その結果、当該相対的な位置に基づいて走行部１を操作することにより、走行部１を移動開始位置及び移動開始姿勢又はそれらの近傍に誘導できる。
【０１１５】
さらなる他の実施形態において、報知部５５７５は、地図作成部５５５３にて作成された地図以外の、移動開始位置の周囲の環境を表す情報をディスプレイ９７に表示してもよい。例えば、３Ｄ−ＴＯＦカメラにて得られた情報に基づいて作成された地図、赤外線センサにて得られた情報に基づいて作成された地図、超音波センサにて得られた情報に基づいて作成された地図、などを表示できる。
【０１１６】
さらなる他の実施形態において、報知部５５７５に表示する視覚的な情報（カメラ画像、グローバルマップなど）は、自律走行装置１００の据付時など（例えば、初めて走行環境を走行させるとき、又は、走行環境を変更したとき）に予め取得し、記憶部５７などに記憶したものであってもよい。この場合、予め取得した視覚的な情報には、位置情報（座標値）などが関連付けられていてもよい。
【０１１７】
この場合、報知部５５７５は、例えば、走行部１の現在位置に対応する視覚的な情報を読み出して、当該視覚的な情報にナビゲーションに必要な情報を重ね合わせて、ディスプレイ９７に表示する。
【０１１８】
さらなる他の実施形態において、報知部５５７５は、据付時などに予め取得した視覚的な情報と、走行部１を走行中に取得した視覚的な情報と、の両方をディスプレイ９７に表示してもよい。例えば、報知部５５７５は、走行中に取得したグローバルマップと、予め取得したカメラ画像と、をディスプレイ９７に表示（重ね合わせるか、又は、分割された個別の領域に表示）し、何れかの情報上にナビゲーションに必要な情報を重ね合わせて表示してもよい。
【０１１９】
上記のようにカメラ画像上又は地図上に走行部１の操作を表示することにより、自律走行装置１００の操作者などは、第２領域Ａ２内に走行部１を誘導し、かつ、第２領域Ａ２内における姿勢θが第２角度範囲Θ2内となるよう走行部を誘導するための操作を、視覚的に確認できる。その結果、当該操作者は、視覚的に確認した操作に従って、走行部１を第２領域Ａ２内により簡単に誘導でき、かつ、第２領域Ａ２内における姿勢θが第２角度範囲Θ2内となるよう走行部１をより簡単に誘導できる。
【０１２０】
（５）自律走行装置の動作
（５−１）基本動作
以下、自律走行装置１００の動作について説明する。まず、自律走行装置１００の基本的な動作を、図１１を用いて説明する。図１１は、自律走行装置の基本的な動作を示すフローチャートである。
自律走行装置１００が動作を開始すると、制御部５は、切替部９１の状態を確認する（ステップＳ１）。切替部９１が「自動」を選択している場合（ステップＳ１において「自律清掃モード」の場合）、自律清掃モードが実行され（ステップＳ２）、記憶部５７に記憶された走行スケジュール５００に従って、自律走行装置１００は自律的に清掃作業を実行する。
【０１２１】
一方、切替部９１が「手動」を選択している場合（ステップＳ１において「手動操作モード」の場合）、制御部５は、実行すべき動作モードが手動操作モードと判断する。
手動操作モードを実行中に手動操作記憶スイッチ９２が押されたことを検知すると（ステップＳ３において「Ｙｅｓ」の場合）、制御部５は、動作モードを手動操作教示モードに移行させる（ステップＳ４）。その結果、手動操作記憶スイッチ９２が押されたタイミング以降の操作者による清掃作業が、走行スケジュール５００として記憶される。
【０１２２】
一方、手動操作記憶スイッチ９２が押されない場合（ステップＳ３において「Ｎｏ」の場合）には、操作者の操作による自律走行装置１００の清掃作業を記憶しない手動操作モードの実行を維持する（ステップＳ５）。
【０１２３】
上記のステップＳ４において手動操作教示モードを実行中に、制御部５は、手動操作記憶スイッチ９２が押されたか否かをモニターする。手動操作教示モードの実行中に手動操作記憶スイッチ９２が押された場合には、そのタイミングで動作モードが手動操作モードに切り替わり、当該タイミング以降の清掃作業が走行スケジュール５００に記憶されなくなる。すなわち、手動操作教示モードの実行時に手動操作記憶スイッチ９２を押すことにより、操作者は、清掃作業の途中の任意のタイミングにてその記憶（教示）を停止できる。
【０１２４】
上記のように、本実施形態に係る自律走行装置１００は、切替部９１における動作モードの選択、及び、手動操作記憶スイッチ９２が押されたか否かに応じて、自律清掃モード、手動操作モード、及び手動操作教示モードを実行できる。
【０１２５】
（５−２）手動操作教示モードの動作
以下、上記のステップＳ４において実行される手動操作教示モードの動作について、図１２を用いて説明する。図１２は、手動操作教示モードの動作を示すフローチャートである。
例えば、手動操作記憶スイッチ９２が押された後に自律走行装置１００の手動操作を開始するか、又は、手動操作中に手動操作記憶スイッチ９２が押されて（ステップＳ４１）、当該手動操作の教示が開始されると、走行スケジュール５００の作成が開始される。
【０１２６】
具体的には、教示データ取得部５５１が、手動操作記憶スイッチ９２が押されたタイミング（経過時間：０）において、当該タイミングにおける、清掃制御部５１が洗浄液供給ポンプ３１３に出力している洗浄液の供給量Ｓ、吸引モータ３３１に出力している吸引力Ｐ、洗浄用部材回転モータ３５１に出力している洗浄力Ｗを、経過時間０における教示清掃条件として入力する。
また、位置推定部５５５５に対して、経過時間０における走行部１の位置情報を推定するよう指令し、推定された位置情報を教示位置情報として入力する。当該経過時間０における推定位置及び推定姿勢が、それぞれ、移動開始位置Ｐ0（座標値（ｘ0，ｙ0）とする）及び移動開始姿勢θ0となる。
【０１２７】
走行スケジュール作成部５５３は、経過時間０における教示位置情報と教示清掃条件とを教示データ取得部５５１から入力し、当該教示位置情報と教示清掃条件とを経過時間０と関連付けて記憶部５７に記憶し、走行スケジュール５００とする。
【０１２８】
その後、教示データ取得部５５１は、経過時間決定部５５５７にて決定される経過時間をモニターし、当該経過時間が教示データ取得時間となっていれば（ステップＳ４２において「Ｙｅｓ」の場合）、位置推定部５５５５から教示データ取得時間における位置情報を教示位置情報として、清掃制御部５１から教示データ取得時間における清掃条件を教示清掃条件として入力する（ステップＳ４３）。これにより、教示データ取得時間毎に、教示位置情報と教示清掃条件とを取得できる。
上記の教示データ取得時間は、例えば、手動操作記憶スイッチ９２を押してから所定時間（例えば、５００ｍｓ）毎のタイミングとできる。
【０１２９】
走行スケジュール作成部５５３は、教示データ取得部５５１にて取得した教示位置情報と教示清掃条件とを、これらを取得した教示データ取得時間に関連付けて走行スケジュール５００に記憶する（ステップＳ４４）。
上記のステップＳ４１〜Ｓ４４を、操作者による清掃作業が終了するまで（ステップＳ４５において「Ｙｅｓ」となるまで）繰り返し実行することにより、操作者による清掃作業の開始から終了までの教示位置情報と教示清掃条件とを、走行スケジュール５００として記憶できる。
【０１３０】
具体的には、上記のステップＳ４１〜Ｓ４５を実行することにより、最終的には図１３に示すような走行スケジュール５００が作成される。図１３は、走行スケジュールの一例を示す図である。
図１３に示す走行スケジュール５００において、Ｔ0、Ｔ1、・・・Ｔnは、教示データ取得時間である。教示データ取得時間Ｔ0は０と設定されている。（ｘ0，ｙ0，θ0）、（ｘ1，ｙ1，θ1）、・・・（ｘn，ｙn，θn）は、対応する教示データ取得時間における教示位置情報である。（ｘ0，ｙ0）、（ｘ1，ｙ1）、・・・（ｘn，ｙn）が、対応する教示データ取得時間におけるｘ−ｙ座標上の自律走行装置１００の位置情報（座標値）であり、θ0、θ1、・・・θnが、対応する教示データ取得時間における自律走行装置１００の姿勢である。
【０１３１】
走行スケジュール５００において、Ｓ0、Ｓ1、・・・Ｓnは、対応する教示データ取得時間における洗浄液の供給量である。Ｗ0、Ｗ1、・・・Ｗnは、対応する教示データ取得時間における床面Ｆの洗浄力である。Ｐ0、Ｐ1、・・・Ｐnは、対応する教示データ取得時間における吸引口Ｏ２の吸引力である。
【０１３２】
（５−３）自律清掃モードの動作
次に、図１１のステップＳ２において実行される、教示された清掃作業を再現する自律清掃モードの実行時における自律走行装置１００の動作について、図１４を用いて説明する。図１４は、自律清掃モードの実行時の自律走行装置の動作を示すフローチャートである。
切替部９１において「自動」が選択されて自律清掃モードを実行すると決定すると、ナビゲーション部５５７が、走行スケジュール５００に記憶された移動開始位置及び移動開始姿勢又はその近傍に走行部１を誘導するナビゲーション動作を開始する（ステップＳ２１）。ステップＳ２１において実行されるナビゲーション動作については、後ほど詳しく説明する。
【０１３３】
ステップＳ２１のナビゲーション動作により、走行部１が移動開始位置及び移動開始姿勢又はその近傍に到達後、自律走行装置１００は、走行スケジュール５００に従って自律的に床面Ｆを走行し洗浄する自律清掃モードを開始する。自律清掃モードは、具体的には、以下のようにして実行される。
【０１３４】
以下の説明においては、自律走行モードの実行開始からの経過時間ｔm-1までの清掃作業が実行済みであるとする。ここで、ｍは、ｍ番目の自律清掃のための制御を示す。まず、ＳＬＡＭ部５５５が、前方検出器５５５１ａ及び後方検出器５５５１ｂから、前方の障害物に関する情報及び後方の障害物に関する情報を取得する（ステップＳ２２）。
【０１３５】
その後、位置推定部５５５５が、エンコーダ１１１にて測定された走行モータ１１の回転量、グローバルマップ、及び上記のステップＳ２１において取得された情報に基づいて得られたローカルマップに基づいて、走行部１のｘ−ｙ座標上の位置を推定する（ステップＳ２３）。例えば、自律走行装置１００の位置が、ｘ−ｙ座標上において、（ｘm’，ｙm’、θm’）と推定されたとする。
【０１３６】
走行部１の位置を推定後、経過時間決定部５５５７が、自律清掃モードの実行開始からの経過時間ｔmを決定し（ステップＳ２４）、清掃再現部５５９が、経過時間ｔmにおける再現走行制御指令及び再現清掃条件を、以下のように算出する（ステップＳ２５）。
【０１３７】
今、経過時間ｔmが、教示データ取得時間ＴL（に最も近い）であると決定されたとする。この場合、清掃再現部５５９は、次の教示データ取得時間ＴL+1に関連付けられた位置情報（ｘL+1，ｙL+1，θL+1）を、走行スケジュール５００から読み出し、経過時間ｔmにおける再現走行制御指令を、推定された位置情報と目標とする位置情報との差分（ｘL+1−ｘm’，ｙL+1−ｙm’，θL+1−θm’）に基づいて算出する。
【０１３８】
一方、清掃再現部５５９は、教示データ取得時間ＴLに関連付けられた清掃条件（ＳL，ＷL，ＰL）を走行スケジュール５００から読み出し、当該清掃条件（ＳL，ＷL，ＰL）を経過時間ｔmにおける再現清掃条件として決定する。
【０１３９】
再現走行制御指令及び再現清掃条件を算出後、清掃再現部５５９は、再現走行制御指令を走行制御部５３に出力し、再現清掃条件を清掃制御部５１に出力する（ステップＳ２６）。
これにより、走行制御部５３は、受信した再現走行制御指令に基づいて走行モータ１１を制御することで、走行部１を走行スケジュール５００に従って自律的に移動させる。また、清掃制御部５１は、受信した再現清掃条件に基づいて清掃部３を制御することで、清掃部３を走行スケジュール５００に従って自律的に制御する。
【０１４０】
走行部１及び清掃部３をそれぞれ再現走行制御指令及び再現清掃条件に基づいて制御後、清掃再現部５５９は、走行スケジュール５００に記憶された清掃作業が全て実行したかどうかを確認する（ステップＳ２７）。
走行スケジュール５００に記憶された清掃作業が全て終了したかどうかは、例えば、走行スケジュール５００の末尾にある識別子（例えば、「エンド・オブ・ファイル」を示す識別子など）を検出することにより確認できる。
【０１４１】
走行スケジュール５００に記憶された清掃作業が全て実行されていないと判定される限り（ステップＳ２７において「Ｎｏ」である限り）、上記のステップＳ２２〜Ｓ２６が繰り返し実行され、走行スケジュール５００に記憶された全ての清掃作業が実行されたと判定されたとき（ステップＳ２７において「Ｙｅｓ」の場合）に、再現清掃モードの実行を終了する。これにより、自律走行装置１００は、走行スケジュール５００に記憶された清掃作業を忠実に再現できる。
【０１４２】
他の実施形態において、走行スケジュール５００に記憶された清掃作業を全て実行した場合のみでなく、例えば、自律走行装置１００にて異常が発生した場合、ユーザにより再現清掃モードの実行停止が指令された場合などにおいても、再現清掃モードの実行が停止されてもよい。
【０１４３】
上記のステップＳ２１〜Ｓ２７を実行することにより、清掃再現部５５９は、走行スケジュール作成部５５３にて作成された走行スケジュール５００に基づいて、再現清掃条件と再現走行制御指令とを算出し、それぞれ、清掃部３及び走行部１に出力することで、自律走行装置１００に対して自律的に清掃作業を実行させることができる。
【０１４４】
（５−４）第１実施形態に係るナビゲーション動作
以下、上記のステップＳ２１において実行される第１実施形態に係るナビゲーション動作について、図１５を用いて詳細に説明する。図１５は、第１実施形態に係るナビゲーション動作を示すフローチャートである。
ナビゲーション動作が開始されると、走行制御部５３の走行切替部５３１が端子ｅと端子ｄとを接続する。その後、操作者が走行経路教示部７などを手動操作することにより、走行部１を、任意の位置（例えば、自律走行装置１００に備わるバッテリーを充電する充電ステーションなど）から、ナビゲーションが開始される第１領域Ａ１内に移動させる。また、走行部１の姿勢を手動操作により第１角度範囲Θ1内の角度とする（ステップＳ２１１）。
【０１４５】
手動操作により走行部１を第１領域Ａ１内に移動させ、走行部１の姿勢θを第１角度範囲Θ1内の角度とする間、ナビゲーション部５５７は、所定の時間毎に、位置推定部５５５５から現在の走行部１の推定位置及び推定姿勢を取得する。ナビゲーション部５５７は、走行部１の現在の推定位置が第１領域Ａ１内に存在し、かつ、現在の推定姿勢が第１角度範囲Θ1内にあるかを判定する（ステップＳ２１２）。
具体的には、ナビゲーション部５５７は、例えば、ｘ−ｙ座標系における現在の推定位置の座標値（ｘ，ｙ）が（ｘ−ｘ0）2＋（ｙ−ｙ0）2≦Ｒ12の不等式を満たし、かつ現在の推定姿勢θがθ0−Θ1／２≦θ≦θ0＋Θ1／２の不等式を満たすか否かを判定する。
【０１４６】
他の実施形態において、上記のステップＳ２１２を実行中に、ナビゲーション部５５７は、位置推定部５５５５に対して推定位置及び推定姿勢の推定範囲を拡大するよう指令してもよい。具体的には、例えば、マップマッチングにおいてローカルマップを配置する座標の範囲を拡大し、ローカルマップの各配置位置におけるローカルマップの回転角度範囲を拡大するよう指令してもよい。
これにより、ナビゲーション動作の開始前において自律走行装置１００（走行部１）が移動開始位置Ｐ0から離れた位置に配置されている場合であっても、操作者は、走行部１の現在位置を把握して、手動操作により、走行部１を第１領域Ａ１内に移動させ、かつ、走行部１の姿勢θを第１角度範囲Θ1内の角度とできる。
【０１４７】
さらに他の実施形態において、ナビゲーション部５５７が推定位置及び推定姿勢の推定範囲を拡大するよう指令した場合に、走行部１が走行できる最大速度を低下させてもよい。一般に、推定位置及び推定姿勢の推定範囲を拡大した場合には、推定位置及び推定姿勢の推定にはより多くの計算量と必要とする。その結果、推定位置及び推定姿勢が具体的に算出されるまでに時間がかかる。
従って、このような場合に走行部１の最大速度を低下させることにより、推定位置及び推定姿勢の算出が、操作者による手動操作に追いつかなくなることを回避できる。その結果、推定位置及び推定姿勢と、実際の走行部１の位置及び姿勢とのずれが生じることを回避できる。
【０１４８】
操作者による走行部１の手動操作の結果、走行部１の推定位置が第１領域Ａ１に存在し、かつ、推定姿勢θが第１角度範囲Θ1内にあると判定された場合（ステップＳ２１２において「Ｙｅｓ」の場合）、通知部５５７１が、例えばスピーカー５５７１ａから所定の音又は音声を発することで、走行部１が第１領域Ａ１に存在し、かつ、姿勢が第１角度範囲Θ1内にあって、走行部１のナビゲーション動作が可能であることを通知する（ステップＳ２１３）。
【０１４９】
これにより、走行部１を手動操作していた操作者などは、走行部１をナビゲーション動作が可能な位置及び姿勢まで移動させることができたことを確認できる。
【０１５０】
走行部１がナビゲーション可能な状態となった後、ナビゲーション部５５７は、走行部１を第２領域Ａ２内に移動させ、走行部１の姿勢を第２角度範囲Θ2内の角度とするためのナビゲーションを開始する。
具体的には、まず、ナビゲーション量算出部５５７３が、走行部１の現在の推定位置と移動開始位置Ｐ0との間の距離を、走行部１を移動開始位置Ｐ0に移動させるために必要な移動距離を表すナビゲーション量として算出する。また、走行部１の現在の推定姿勢θと移動開始姿勢θ0との差分を、走行部１の姿勢を移動開始姿勢θ0とするために必要な姿勢変化量を表すナビゲーション量として算出する（ステップＳ２１４）。
【０１５１】
その後、ナビゲーション量算出部５５７３は算出したナビゲーション量を報知部５５７５に出力する（ステップＳ２１５）。報知部５５７５は、入力したナビゲーション量を、当該ナビゲーション量を音声にて報知するための音声信号を生成し、スピーカー５５７１ａに出力する。この結果、スピーカー５５７１ａが、ナビゲーション量を音声として、例えば「〇方向に△ｍ進んでください」と発する。
【０１５２】
他の実施形態において、報知部５５７５がナビゲーション量をディスプレイ９７に表示する場合には、報知部５５７５は、カメラ５５７５ａにより自律走行装置１００の周囲の現在のカメラ画像を取得する。または、予め取得して記憶部５７などに記憶したカメラ画像を読み出す。次に、図９に示すように、当該取得したか又は読み出したカメラ画像に例えば「〇方向に△ｍ進んでください」といったナビゲーション量を表す文字情報と、走行部１を操作すべき方向を表す矢印と、を重ね合わせて画像信号を生成し、ディスプレイ９７に出力してもよい。
これにより、図９に示すように、カメラ画像上にナビゲーション量を表示できる。
【０１５３】
さらに他の実施形態において、上記のステップＳ２１１〜Ｓ２１２の間に推定位置及び推定姿勢の推定範囲を拡大した場合には、ナビゲーション量算出部５５７３は、ナビゲーション量を算出する際に、位置推定部５５５５に対して、推定位置及び推定姿勢の推定範囲を縮小する（元に戻す）よう指令してもよい。
【０１５４】
報知部５５７５からの報知により、移動開始位置Ｐ0及び移動開始姿勢θ0又はその近傍に走行部１を移動させるためのナビゲーション量を把握した操作者は、当該ナビゲーション量に従って走行経路教示部７などを手動操作する。当該手動操作に基づいた制御信号が走行切替部５３１を介してモータ制御部５３３に出力されることで、走行制御部５３は、移動開始位置Ｐ0及び移動開始姿勢θ0又はその近傍に向けて走行部１を移動させる（ステップＳ２１６）。
【０１５５】
上記のステップＳ２１３〜Ｓ２１６を実行中の所定の時間毎に、ナビゲーション部５５７は、位置推定部５５５５から現在の走行部１の推定位置及び推定姿勢を取得する。ナビゲーション部５５７は、走行部１の現在の推定位置が第２領域Ａ２内に存在し、かつ、現在の推定姿勢が第２角度範囲Θ2内にあるかを判定する（ステップＳ２１７）。
具体的には、ナビゲーション部５５７は、例えば、ｘ−ｙ座標系における現在の推定位置の座標値（ｘ，ｙ）が（ｘ−ｘ0）2＋（ｙ−ｙ0）2≦Ｒ22の不等式を満たし、かつ現在の推定姿勢θがθ0−Θ2／２≦θ≦θ0＋Θ2／２の不等式を満たすか否かを判定する。
【０１５６】
走行部１の現在の推定位置が第２領域Ａ２内に存在し、かつ、現在の推定姿勢が第２角度範囲Θ2内にあると判定された場合（ステップＳ２１７において「Ｙｅｓ」の場合）、移動開始位置Ｐ0及び移動開始姿勢θ0又はその近傍に走行部１が到達したので、自律清掃モードを実行可能と判定する。
【０１５７】
移動開始位置Ｐ0及び移動開始姿勢θ0又はその近傍に走行部１が到達したと判定されると、ナビゲーション部５５７は、走行部１の誘導を停止する（ステップＳ２１８）。
具体的には、ナビゲーション量算出部５５７３が、ナビゲーション量の算出と出力を停止し、報知部５５７５が、ナビゲーション量の報知を停止する。これにより、操作者は、走行部１を移動開始位置Ｐ0及び移動開始姿勢θ0又はその近傍に移動させることができたことを把握し、走行部１の手動操作を停止できる。すなわち、操作者は、走行部１を確実に第２領域Ａ２内に到達させ、走行部１の姿勢θを確実に第２角度範囲Θ2内の角度とできる。
【０１５８】
他の実施形態において、移動開始位置Ｐ0及び移動開始姿勢θ0又はその近傍に走行部１が到達したと判定された場合、例えば報知部５５７５が「移動開始位置に到着したのでナビゲーションを終了します」と報知してもよい。これにより、操作者は、走行部１を移動開始位置Ｐ0及び移動開始姿勢θ0又はその近傍に移動させることができたことを、より明確に把握できる。
【０１５９】
なお、ステップＳ２１７において、走行部１の現在の推定位置が第２領域Ａ２内に存在し、かつ、現在の推定姿勢が第２角度範囲Θ2内にあると判定されなかった場合（すなわち、ステップＳ２１７において「Ｎｏ」の場合）、例えば、操作者が走行部１を停止させ、設定部９に設けられたボタン（図示せず）を押すことにより、再度、ナビゲーション量の算出と、算出されたナビゲーション量の報知がなされる。
または、操作者が走行部１の操作を継続し、走行部１の位置が第２領域Ａ２内に存在し、かつ、姿勢が第２角度範囲Θ2内にあると判定されれば、走行部１の誘導を停止する。
【０１６０】
本実施形態に係る自律走行装置１００では、自律清掃モードを実行するために走行部１を移動開始位置Ｐ0まで移動させる際に、走行部１の推定位置が第１領域Ａ１内であり、かつ、走行部１の推定姿勢が第１角度範囲Θ1内にある場合に、ナビゲーション部５５７が、走行部１を第２領域Ａ２内の位置に誘導し、また、走行部１の姿勢が第２角度範囲Θ2内となるよう走行部１を誘導する。
すなわち、現在の走行部１の位置と移動開始位置Ｐ0との誤差がある程度の範囲内であり、かつ、現在の走行部１の姿勢と移動開始姿勢θ0との誤差がある程度の範囲内にあれば、ナビゲーション部５５７が、自律走行モードを開始できる移動開始位置Ｐ0の近傍まで、また、走行部１の姿勢が自律走行モードを開始できる移動開始姿勢θ0の近傍の角度となるまで、走行部１を誘導している。
【０１６１】
これにより、自律走行装置１００を確実に移動開始位置Ｐ0及び移動開始姿勢θ0又はその近傍まで移動させて、自律走行装置１００に対して確実に自律清掃モードを開始させることができる。また、操作者は、上記のナビゲーション動作により、自身の判断のみに基づいて、自律走行装置１００を正確に移動開始位置Ｐ0及び移動開始姿勢θ0に移動させる必要がなくなる。その結果、自律走行装置１００に自律走行モードを開始させるまでに必要な操作者の作業負荷を減少できる。
【０１６２】
また、自律走行装置１００の姿勢が第１角度範囲Θ1内にあることを、ナビゲーションの開始条件とすることにより、走行部１を第２角度範囲Θ2内まで誘導するために必要となる走行部１の姿勢の変化（走行部１の回転動作）を少なくできる。
【０１６３】
２．第２実施形態
（１）第２実施形態に係る自律走行装置の構成
第２実施形態に係る自律走行装置２００において、操作者の操作により走行部１を第１領域Ａ１内に移動させ、走行部１の姿勢を第１角度範囲Θ1内の角度とすれば、走行部１は自律的に移動開始位置Ｐ0及び移動開始姿勢θ0又はその近傍まで移動してもよい。
第２実施形態に係る自律走行装置２００は、図１６に示すように、ナビゲーション量算出部５５７３がナビゲーション量を算出し、当該ナビゲーション量に基づいてナビゲーション走行制御指令を算出し、走行制御部５３に出力すること、及び、走行制御部５３が受信したナビゲーション走行制御指令に基づいて走行モータ１１を制御すること以外は、第１実施形態に係る自律走行装置１００と同様の構成及び機能を有する。
図１６は、第２実施形態に係る制御統括部の構成を示す図である。
【０１６４】
（２）第２実施形態に係るナビゲーション動作
以下、ナビゲーション量算出部５５７３が算出したナビゲーション走行制御指令に基づいて、走行制御部５３が自律的に走行部１を移動開始位置Ｐ0及び移動開始姿勢θ0又はその近傍に移動させる、第２実施形態に係るナビゲーション動作について、図１７を用いて説明する。
図１７は、第２実施形態に係るナビゲーション動作を示すフローチャートである。
【０１６５】
第１実施形態に係るナビゲーション動作と同様に、まず、操作者の操作により、走行部１を第１領域Ａ１内に移動させ、走行部１の姿勢を第１角度範囲Θ1内の角度とする（ステップＳ２１１'〜Ｓ２１２'）。
他の実施形態において、第１実施形態と同様に、走行部１が第１領域Ａ１内に存在し、走行部１の姿勢が第１角度範囲Θ1内にあるときに、通知部５５７１がそのことを音声などにより通知してもよい。これにより、操作者及び／又は自律走行装置１００の周囲の者に、自律的なナビゲーション動作が開始されることを通知できる。
【０１６６】
その後、ナビゲーション量算出部５５７３は、第１実施形態と同様にして、走行部１のナビゲーション量を算出する（ステップＳ２１３'）。
他の実施形態において、ナビゲーション量を算出後に、当該ナビゲーション量を報知部５５７５に報知させてもよい。第２実施形態においては、例えば、「〇方向に△ｍ進みます」と、走行部１が今後どのように移動するかが報知される。これにより、自律走行装置１００の操作者及び／又は周囲の者に対して、走行部１の移動距離及び移動方向を予告できる。
【０１６７】
その後、走行切替部５３１が端子ｅと端子ｆとを接続する。ナビゲーション量算出部５５７３は、算出したナビゲーション量に基づいて、走行部１を移動開始位置Ｐ0に移動させ、走行部１の姿勢を移動開始姿勢θ0にするために、走行制御部５３に出力すべきナビゲーション走行制御指令を算出する。
【０１６８】
具体的には、ナビゲーション量算出部５５７３は、まず、走行部１を移動開始位置Ｐ0の方向に向けるためのナビゲーション走行制御指令を算出し、走行制御部５３に出力する（ステップＳ２１４'）。このとき、ナビゲーション量算出部５５７３は、まず最初に、走行部１が移動開始位置Ｐ0の方向を向いたときの姿勢を算出する。
例えば、走行部１の現在の推定位置が（ｘ'，ｙ'）であるとした場合には、走行部１が移動開始位置Ｐ0の方向に向いたときの姿勢は、ｔａｎ-1（（ｙ0−ｙ'）／（ｘ0−ｘ'））と算出できる。
【０１６９】
その後、ナビゲーション量算出部５５７３は、走行部１の現在の推定姿勢θと角度ｔａｎ-1（（ｙ0−ｙ'）／（ｘ0−ｘ'））との差に基づいてナビゲーション走行制御指令を算出し、走行制御部５３に出力する。これにより、走行制御部５３は、当該ナビゲーション走行制御指令に基づいて、走行部１を回転させて移動開始位置Ｐ0の方向に向けさせる。
【０１７０】
次に、ナビゲーション量算出部５５７３は、走行部１を現在位置から移動開始位置Ｐ0まで直進移動させるためのナビゲーション走行制御指令を算出し、走行制御部５３に出力する（ステップＳ２１５'）。このナビゲーション走行制御指令は、走行部１の現在の推定位置と移動開始位置Ｐ0との間の距離に基づいて算出できる。このナビゲーション走行制御指令を受信した走行制御部５３は、走行部１を移動開始位置Ｐ0まで直進移動させる。
【０１７１】
走行部１を直進移動後、ナビゲーション量算出部５５７３は、走行部１を現在の位置において移動開始姿勢θ0の方向に向けるためのナビゲーション走行制御指令を算出し、走行制御部５３に出力する（ステップＳ２１６'）。このナビゲーション走行制御指令は、ステップＳ２１４'にて算出した角度ｔａｎ-1（（ｙ0−ｙ'）／（ｘ0−ｘ'））と移動開始姿勢θ0との差分に基づいて算出できる。
このナビゲーション走行制御指令を受信した走行制御部５３は、走行部１の姿勢が移動開始姿勢θ0となるまで、走行部１を回転させる。
【０１７２】
上記のステップＳ２１３'〜Ｓ２１６'を実行して走行部１を移動させたあと、ナビゲーション部５５７は、走行部１の推定位置が第２領域Ａ２内に存在し、かつ、走行部１の推定姿勢θが第２角度範囲Θ2内となっているかを判定する（ステップＳ２１７'）。
走行部１の推定位置が第２領域Ａ２内に存在し、かつ、走行部１の推定姿勢θが第２角度範囲Θ2内となっていれば（ステップＳ２１７'において「Ｙｅｓ」の場合）、ナビゲーション部５５７による走行部１の誘導を停止し（ステップＳ２１８'）、ナビゲーション動作を終了する。
【０１７３】
一方、例えば、床面Ｆと主輪１３との間の滑りなどにより、上記のステップＳ２１３'〜Ｓ２１６'を実行しても、走行部１の推定位置が第２領域Ａ２内に存在していないか、又は、走行部１の推定姿勢θが第２角度範囲Θ2内の角度となっていない場合（ステップＳ２１７'において「Ｎｏ」の場合）には、自律清掃モード（ナビゲーション動作）を実行できる位置及び姿勢まで走行部１を移動させ、上記のステップＳ２１３'〜Ｓ２１６'を再度実行する。
【０１７４】
ナビゲーション量算出部５５７３が、上記のように、第２領域Ａ２内に走行部１を誘導し、かつ、第２領域Ａ２内における姿勢が第２角度範囲Θ2内となるよう走行部１を誘導するナビゲーション走行制御指令を算出し、走行制御部５３に出力することにより、走行部１を自律的に第２領域Ａ２内に誘導し、かつ、第２領域Ａ２における走行部１の姿勢を自律的に第２角度範囲Θ2内の角度とできる。
【０１７５】
また、自律走行装置１００の姿勢が第１角度範囲Θ1内にあることを、ナビゲーションの開始条件とすることにより、走行部１を第２角度範囲Θ2内まで誘導するために必要となる走行部１の姿勢の変化（走行部１の回転動作）を少なくできる。
【０１７６】
３．他の実施形態
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態及び変形例は必要に応じて任意に組み合せ可能である。また、上記の第１実施形態においてフローチャートにて示した各処理の内容、処理の順番等は、発明の要旨を逸脱しない範囲で変更できる。また、必要に応じてフローチャートにて示した処理のいずれかを省略できる。
【０１７７】
（Ａ）自律走行装置１００は、自律的に清掃作業を実行する清掃機以外の走行装置であってもよい。例えば、自律走行装置１００は、宣伝用ロボットであってもよい。その他、自律走行装置１００は、自律的に走行するための走行部（とそれを制御する制御部）のみにて構成されていてもよい。この場合は、例えば、当該自律走行装置と、所望の機能を発揮するためのロボットシステムと、を組み合わせて、所望の機能を有するロボット（装置）を構成できる。
【０１７８】
自律走行装置１００が清掃作業を自律的に行う装置以外である場合には、走行スケジュール５００には、清掃条件が記憶されない。または、清掃条件に代えて、自律走行装置１００の用途に応じた制御に関する情報が記憶されていてもよい。
【０１７９】
（Ｂ）第１領域Ａ１及び／又は第２領域Ａ２は、円形以外の他の形状（例えば、四角形などの多角形）であってもよい。これらの領域をどのような形状とするかは、移動環境、使用条件などを考慮して適宜決定できる。
また、自律走行装置１００の移動環境及び／又は使用条件などが変化した場合には、一旦決定したこれらの領域の形状及び／又は面積を適宜変更してもよい。また、第１角度範囲Θ1及び／又は第２角度範囲Θ2も、自律走行装置１００の移動環境及び／又は使用条件などが変化した場合には、一旦決定したこれらの角度範囲を適宜変更してもよい。
【０１８０】
（Ｃ）第２領域Ａ２が移動開始位置Ｐ0を含んでいる限り、当該移動開始位置Ｐ0を第２領域Ａ２領域の中心点以外の任意に位置に存在させてもよい。
第２角度範囲Θ2が移動開始姿勢θ0を含んでいる限り、当該移動開始姿勢θ0を第２角度範囲Θ2における中心角度以外の任意の角度に設定してもよい。
【０１８１】
（Ｄ）上記の第１実施形態及び第２実施形態に係るナビゲーション動作は、走行部１が第１領域Ａ１に存在していれば、実行してもよい。すなわち、ナビゲーション動作を開始するにあたり、走行部１が第１領域Ａ１に存在していれば、走行部１の姿勢は任意の姿勢であってもよい。これにより、どの方向から第１領域Ａ１に到達したとしても、ナビゲーション動作を開始できる。
【０１８２】
（Ｅ）位置推定部５５５５は、前方検出器５５５１ａ、後方検出器５５５１ｂから得られた情報のみを用いて、レーザーオドメトリによる位置推定により走行部１の位置推定を実行してもよい。レーザオドメトリによる位置推定方法としては、例えば、ＩＣＰ（Ｉｔｅｒａｔｉｖｅ  Ｃｌｏｓｅｓｔ  Ｐｏｉｎｔ）法などがある。
【０１８３】
（Ｆ）例えば、床面Ｆと主輪１３との間の滑りが少ない場合、前方検出器５５５１ａ及び後方検出器５５５１ｂにより得られる情報から十分な地図情報が得られない場合などには、位置推定部５５５５は、走行モータ１１の回転量のみに基づいて、走行部１の位置推定を行ってもよい。
【０１８４】
（Ｇ）上記のナビゲーション動作を実行中に、ナビゲーション動作により現在までに走行部１が走行した距離をディスプレイ９７に表示してもよい。また、ナビゲーション動作を終了後に、ナビゲーション動作により走行部１が移動した総移動距離をディスプレイ９７に表示してもよい。
【０１８５】
（Ｈ）第２実施形態において、自律的に走行部１を誘導するナビゲーション動作の実行時において、走行部１が移動予定の移動方向及び／又は移動距離だけでなく、上記のステップＳ２１４'〜Ｓ２１６'にて実行される各動作を報知してもよい。
【０１８６】
（Ｉ）自律走行モードにて自律走行装置１００を移動させるために走行部１を移動環境に配置したときに、当該配置位置がすでに第１領域Ａ１内に存在し、及び／又は、当該配置位置における走行部１の姿勢がすでに第１角度範囲Θ1内となっている場合には、操作者の手動操作を行うことなく、その場所からナビゲーション動作を開始してもよい。
【０１８７】
（Ｊ）設定部９は、報知部５５７５にナビゲーション量を報知させるためのボタンを有していてもよい。操作者は、例えば、ナビゲーション量の再度の報知を希望する場合には、当該ボタンを押すことにより、ナビゲーション量を再度確認できる。
【産業上の利用可能性】
【０１８８】
本発明は、移動開始位置から移動終了位置までの経路計画に従って自律的に走行する自律走行装置に、広く適用できる。
【符号の説明】
【０１８９】
１００、２００              自律走行装置
１     走行部
１１   走行モータ
１１１ エンコーダ
１３   主輪
１５   補助輪
３     清掃部
３１   洗浄液吐出口
３１１ 洗浄液供給タンク
３１３ 洗浄液供給ポンプ
３３   スキージ
３３１ 吸引モータ
３３３ 回収部材
３５   洗浄用部材
３５１ 洗浄用部材回転モータ
５     制御部
５１   清掃制御部
５３   走行制御部
５３１ 走行切替部
５３３ モータ制御部
５５   制御統括部
５５１ 教示データ取得部
５５３ 走行スケジュール作成部
５５５ ＳＬＡＭ部
５５５１ａ    前方検出器
５５５１ｂ    後方検出器
５５５３      地図作成部
５５５５      位置推定部
５５５７      経過時間決定部
５５７ ナビゲーション部
５５７１      通知部
５５７１ａ    スピーカー
５５７３      ナビゲーション量算出部
５５７５      報知部
５５７５ａ    カメラ
５５９ 清掃再現部
５７   記憶部
７     走行経路教示部
７１ａ、７１ｂ              ハンドル
７３   筐体
７５   走行制御指令算出部
８     取付部材
９     設定部
９１   切替部
９２   手動操作記憶スイッチ
９３   清掃条件教示部
９３１ 清掃条件調整部
９３１ａ      供給量調整部
９３１ｂ      吸引力調整部
９３１ｃ      洗浄力調整部
９３３ 運転切替部
９３３ａ      供給切替部
９３３ｂ      吸引切替部
９３３ｃ      洗浄切替部
９４   清掃制御指令算出部
９５   設定操作部
９６   設定変換部
９７   ディスプレイ
５００ 走行スケジュール
Ａ１   第１領域
Ａ２   第２領域
Θ1    第１角度範囲
Θ2    第２角度範囲
Ｂ     本体
Ｆ     床面
Ｏ２   吸引口
Ｐ0    移動開始位置
θ0    移動開始姿勢
ｄ、ｅ、ｆ    端子
【図１】
0006610797.tif 000002
【図２】
0006610797.tif 000003
【図３】
0006610797.tif 000004
【図４】
0006610797.tif 000005
【図５】
0006610797.tif 000006
【図６】
0006610797.tif 000007
【図７】
0006610797.tif 000008
【図８】
0006610797.tif 000009
【図９】
0006610797.tif 000010
【図１０】
0006610797.tif 000011
【図１１】
0006610797.tif 000012
【図１２】
0006610797.tif 000013
【図１３】
0006610797.tif 000014
【図１４】
0006610797.tif 000015
【図１５】
0006610797.tif 000016
【図１６】
0006610797.tif 000017
【図１７】
0006610797.tif 000018