(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022044178
(43)【公開日】2022-03-17
(54)【発明の名称】自律走行式ロボット
(51)【国際特許分類】
G05D 1/02 20200101AFI20220310BHJP
A47L 9/28 20060101ALI20220310BHJP
A47L 11/28 20060101ALI20220310BHJP
A47L 11/24 20060101ALI20220310BHJP
【FI】
G05D1/02 H
A47L9/28 E
A47L11/28
A47L11/24
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2020149672
(22)【出願日】2020-09-07
(71)【出願人】
【識別番号】000004651
【氏名又は名称】日本信号株式会社
(74)【代理人】
【識別番号】100109221
【弁理士】
【氏名又は名称】福田 充広
(74)【代理人】
【識別番号】100181146
【弁理士】
【氏名又は名称】山川 啓
(72)【発明者】
【氏名】小林 慎平
(72)【発明者】
【氏名】伊佐山 正
【テーマコード(参考)】
3B057
5H301
【Fターム(参考)】
3B057DE02
3B057DE06
5H301AA01
5H301BB11
5H301CC03
5H301CC06
5H301CC10
5H301GG08
5H301GG12
5H301GG14
5H301GG17
(57)【要約】
【課題】正確かつ迅速に位置推定を行って、緻密な走行制御ができる自律走行式ロボットを提供すること。
【解決手段】自律走行式ロボットとしての清掃ロボット100において、自走用の走行部である走行装置10と、第1の時間間隔で自己位置推定をする第1位置推定部PE1と、第1の時間間隔より短い第2の時間間隔で自己位置推定をする第2位置推定部PE2と、第1位置推定部PE1と第2位置推定部PE2とでの推定に基づき走行部による走行を制御する走行制御部30とを備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
自走用の走行部と、
第1の時間間隔で自己位置推定をする第1位置推定部と、
前記第1の時間間隔より短い第2の時間間隔で自己位置推定をする第2位置推定部と、
前記第1位置推定部と前記第2位置推定部とでの推定に基づき前記走行部による走行を制御する走行制御部と
を備える自律走行式ロボット。
【請求項2】
前記第1位置推定部は、周囲の状況との相対的関係から自己位置推定をし、
前記第2位置推定部は、内部に設けたセンサーから自己の移動状況に基づき自己位置推定をする、請求項1に記載の自律走行式ロボット。
【請求項3】
前記第1位置推定部は、周囲にある物体に対して測距を行う測距部を含み、
前記第2位置推定部は、前記走行部における移動量を測定するエンコーダと、自己の姿勢検知を行うジャイロセンサーとを含む、請求項1及び2のいずれか一項に記載の自律走行式ロボット。
【請求項4】
前記走行制御部は、最初の前記第1位置推定部により算出される位置推定の結果を初期の自己位置として定め、次の前記第1位置推定部による位置推定の算出がなされるまでの間、前記第2位置推定部による位置推定により自己位置推定を補完して走行制御を行う、請求項1~3のいずれか一項に記載の自律走行式ロボット。
【請求項5】
前記第1位置推定部での新たな算出により位置推定がなされた場合、当該位置推定の結果を新たな自己位置として更新する、請求項4に記載の自律走行式ロボット。
【請求項6】
前記走行制御部は、清掃を行うための地図情報として予め記憶された教示走行経路に対して、前記第1位置推定部と前記第2位置推定部とでの自己位置推定の結果を参照して走行制御を行う、請求項1~5のいずれか一項に記載の自律走行式ロボット。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば清掃ロボット等として適用可能であって、自律走行する自律走行式ロボットに関する。
【背景技術】
【0002】
自律走行型の移動作業ロボットや移動体に関して、各種センサーで姿勢を補正したり、カメラ等により位置推定を行ったりするものが知られている(特許文献1、2参照)。例えば、特許文献1では、側壁との距離を計測しつつ走行距離が一定値に達するごとに角度補正をしている。また、例えば、特許文献2では、移動体に搭載された受光センサと移動体を観測可能な位置に設置された受光センサとにより取得された画像情報とから移動体の位置を決定している。
【0003】
しかしながら、上記特許文献1、2に示される移動作業ロボット等を、特許文献1にもあるように、例えば清掃をする自律走行型のロボットとして利用する場合に、種々の形状を有し得る清掃範囲を隈なく走行するのに十分な程度に、正確かつ迅速に位置推定を行って、緻密な走行制御ができるとは限らない。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平8-95638号公報
【特許文献2】特開2019-125354号公報
【発明の概要】
【0005】
本発明は上記した点に鑑みてなされたものであり、正確かつ迅速に位置推定を行って緻密な走行制御ができる自律走行式ロボットを提供することを目的とする。
【0006】
上記目的を達成するための自律走行式ロボットは、自走用の走行部と、第1の時間間隔で自己位置推定をする第1位置推定部と、第1の時間間隔より短い第2の時間間隔で自己位置推定をする第2位置推定部と、第1位置推定部と第2位置推定部とでの推定に基づき走行部による走行を制御する走行制御部とを備える。
【0007】
上記自律走行式ロボットでは、相対的に時間をかけて自己位置推定をする第1位置推定部において、正確性を重視した位置推定を可能にするとともに、第2位置推定部において相対的に短い時間で迅速に自己位置推定を行い、これらの推定を併用しつつ走行部による走行を制御することで、正確にかつ迅速に位置推定を行って緻密な走行制御ができる。
【0008】
本発明の具体的な側面では、第1位置推定部は、周囲の状況との相対的関係から自己位置推定をし、第2位置推定部は、内部に設けたセンサーから自己の移動状況に基づき自己位置推定をする。この場合、第1位置推定部では、周囲の状況との相対的関係に基づいて、正確性を重視した自己位置推定を行い、第2位置推定部では、内部に設けたセンサーを利用することで、迅速な自己位置推定の処理を行う。
【0009】
本発明の別の側面では、第1位置推定部は、周囲にある物体に対して測距を行う測距部を含み、第2位置推定部は、走行部における移動量を測定するエンコーダと、自己の姿勢検知を行うジャイロセンサーとを含む。この場合、第1位置推定部では、測距部により周囲にある物体に対する自己の位置を的確に推定し、第2位置推定部では、エンコーダとジャイロセンサーとを利用して計測した自己の移動量と姿勢に基づいて迅速に位置推定を行う。
【0010】
本発明のさらに別の側面では、走行制御部は、最初の第1位置推定部により算出される位置推定の結果を初期の自己位置として定め、次の第1位置推定部による位置推定の算出がなされるまでの間、第2位置推定部による位置推定により自己位置推定を補完して走行制御を行う。この場合、第1位置推定部による位置推定を基準として正確性を維持しつつ、第2位置推定部による位置推定により迅速な推定処理を確保できる。
【0011】
本発明のさらに別の側面では、第1位置推定部での新たな算出により位置推定がなされた場合、当該位置推定の結果を新たな自己位置として更新する。この場合、第1位置推定部での位置推定がなされるごとにこれを基準とすることで、位置推定の正確性を維持できる。
【0012】
本発明のさらに別の側面では、走行制御部は、清掃を行うための地図情報として予め記憶された教示走行経路に対して、第1位置推定部と第2位置推定部とでの自己位置推定の結果を参照して走行制御を行う。この場合、予定した走行経路の通りに走行制御がなされているか否かを確認できる。
【図面の簡単な説明】
【0013】
【
図1】(A)~(D)は、第1実施形態に係る自律走行式ロボットの一態様としての清掃ロボットの外観形状について一例を示す斜視図及び底面図である。
【
図2】(A)は、清掃ロボットの一構成例について説明するための概念的な側方図であり、(B)は、概念的な底面図である。
【
図3】清掃ロボットの一構成例を説明するためのブロック図である。
【
図4】(A)は、第1位置推定部と第2位置推定部とにおける自己位置推定結果の出力タイミングを示す時系列図であり、(B)は、清掃ロボットの推定位置について説明するための概念図である。
【
図5】各時刻における推定位置の算出方法について説明するための図である。
【
図6】清掃ロボットにおける一連の処理を説明するためのフローチャートである。
【
図7】第2実施形態に係る自律走行式ロボットの一態様としての清掃ロボットにおける各時刻における推定位置の算出方法について説明するための図である。
【
図8】清掃ロボットにおける一連の処理を説明するためのフローチャートである。
【発明を実施するための形態】
【0014】
〔第1実施形態〕
以下、
図1等を参照して、第1実施形態に係る自律走行式ロボットについて一例を説明する。
【0015】
本実施形態に係る自律走行式ロボットの一態様としての清掃ロボット100は、例えばSLAM(Simultaneously Localization and Mapping)と呼ばれる自己位置推定と地図作成とを同時に行えるシステムを搭載した自律移動ロボットで構成され、予め定めた走行範囲内での走行経過について、自己位置推定をしながら、清掃を行うことができる。
【0016】
具体的な一構成例として、清掃ロボット100は、例えば
図1(A)~
図1(D)に示す斜視図及び底面図のような外観形状を有しており、駆動輪を有することで自律走行による清掃が可能であり、また、人による手押しでの走行も可能となっている。さらに、例えば手押しによる走行に際して走行経路を事前に記憶させることで、清掃ルートを予め設定しておくことも可能である。また、清掃ロボット100は、清掃パッドによる床面清掃が可能であり、さらに、例えば散水しながらの清掃も可能とすべく、貯水タンクや散水設備、さらには排水回収設備等を備える。
【0017】
特に、本実施形態では、清掃ロボット100は、互いに異なる手法で自己位置推定をそれぞれ行う複数の位置推定部を備え、各位置推定部での推定結果を利用して自己位置推定がなされる。清掃ロボット100は、自己位置推定に基づいて、例えば予定通りの走行ができているかを自身で確認しながら走行を継続する、といったことが可能になっている。
【0018】
以下、
図2及び
図3を参照して、清掃ロボット100を構成する各部のうち、清掃ロボット100の走行位置推定や、自己位置推定に基づく走行経路の確認延いては必要な経路補正の動作に関与する部分についての一例を、その動作内容とともに説明する。
【0019】
まず、
図2(A)に示す概念的な側方図及び
図2(B)に示す概念的な底面図にあるように、清掃ロボット100は、自走用の走行部である走行装置10と、エンコーダECと、走行制御部30と、記憶部MEと、測距部DMと、ジャイロセンサーJSと、位置情報処理部PIとを備える。また、このほか、清掃ロボット100は、床清掃の動作を行う部分として、例えば清掃パッド50と、清掃パッド駆動制御部PDとを備える。
【0020】
走行装置10は、左右一対の後輪部RWのうち右車輪の回転駆動を担う駆動部としての第1走行部10Aと、後輪部RWのうち左車輪の回転駆動を担う駆動部としての第2走行部10Bとを備える。そのほか、走行装置10は、前輪部FWとして設けられた従動輪10Cを備える。走行装置10において、第1走行部10Aと第2走行部10Bとは、各々独立して駆動することで、清掃ロボット100の前進や自転(旋回)を可能にしている。つまり、第1走行部10Aと第2走行部10Bとにより、左右一対の後輪部RWが同一方向に回転することで清掃ロボット100の前進が可能となっており、左右一対の後輪部が互いに逆方向に回転することで、清掃ロボット100の自転が可能となっている。なお、走行装置10による回転方向を適宜変更可能とすることで、上述した清掃ロボット100の前進に加え、さらに後退が可能となっていてもよく、清掃ロボット100の自転(旋回)の方向についても、左右双方向について回転可能となっていてもよい。
【0021】
エンコーダECは、第1走行部10Aと第2走行部10Bとにおける車輪の回転について計測する。ここでは、エンコーダECは、第1走行部10A側すなわち右側の回転について計測する一のエンコーダ(
図3の右エンコーダRE)と、第2走行部10B側すなわち右側の回転について計測する他のエンコーダ(
図3の左エンコーダLE)との一対構成となっている。エンコーダECで取得されるデータは、位置情報処理部PIに随時出力され、自己位置推定のための情報として利用される。
【0022】
ジャイロセンサーJSは、清掃ロボット100自身の移動に際しての角速度や振動についての値を検知するとで、自己の姿勢検知を行うためのセンサーである。ジャイロセンサーJSで取得される角速度のデータは、位置情報処理部PIに随時出力され、自己位置推定のための情報として利用される。
【0023】
測距部DMは、例えば、ライダー等のレーザーレンジスキャナーによって測距を行う測距センサー等で構成され、自己位置推定のために周囲環境を把握可能にする。測距部DMで取得される測距データは、位置情報処理部PIに随時出力され、自己位置推定のための情報として利用される。
【0024】
走行制御部30は、例えばCPUや各種回路基板等で構成され、走行装置10に接続され、駆動信号等の各種指令信号を走行装置10に対して出力することで、走行装置10による走行の制御をする。特に、本実施形態では、自己位置推定での推定結果に基づいて、独立して駆動する第1走行部10Aと第2走行部10Bとにおける回転駆動の調整を行って走行の修正をする。
【0025】
位置情報処理部PIは、例えばCPUや各種回路基板等で構成され、既述のように、各部で取得された清掃ロボット100の移動に関する計測結果の情報を受け付けて、これらを集約して自己位置推定のための演算処理を行うともに、処理結果を走行制御部30に出力する。ここでは、特に、位置情報処理部PIは、第1位置情報処理部PI1と、第2位置情報処理部PI2とで構成されている。
【0026】
上記のうち、第1位置情報処理部PI1は、周囲にある物体に対して測距を行う測距部DMと接続され、測距部DMからの測距情報(測距データ)に基づいて、周囲の状況との相対的関係から清掃ロボット100の自己位置推定をするための各種処理を行う。すなわち、第1位置情報処理部PI1は、測距部DMと協働して、清掃ロボット100の自己位置推定をする第1位置推定部PE1として機能する。また、この場合、測距部DMからの測距情報に基づき周囲の状況との相対的関係で位置測定をすることで精度の高い位置推定が可能となる。
【0027】
一方、第2位置情報処理部PI2は、走行装置10における移動量を測定するエンコーダECと接続され、かつ、清掃ロボット100の姿勢検知を行うジャイロセンサーJSと接続され、これらからの測定データに基づいて、清掃ロボット100の自己位置推定をするための各種処理を行う。すなわち、第2位置情報処理部PI2は、エンコーダEC及びジャイロセンサーJSと協働して、清掃ロボット100の自己位置推定をする第2位置推定部PE2として機能する。また、この場合、第2位置推定部PE2は、エンコーダEC及びジャイロセンサーJSのように内部に設けたセンサーであって、かつ、清掃ロボット100の自己の移動状況に基づき自己位置推定をする態様となっている。これにより、第2位置推定部PE2では、より迅速な自己推定位置の算出が可能となる、あるいは、第2位置推定部PE2を簡易な構成としつつ必要なタイミングでの自己推定位置の算出が可能となる。
【0028】
記憶部MEは、各種ストレージデバイス等で構成され、走行制御部30や位置情報処理部PIにおいて行われる走行制御や、走行制御に際しての位置推定、さらには位置推定の結果に基づく推定位置の決定といった種々の処理を行うために必要となる各種データやプログラムが格納されている。
【0029】
なお、清掃ロボット100は、上記のような自律走行を確立するための各部のほか、清掃を行うための実体的部分として、例えば清掃パッド50等を備える。清掃パッド50は、清掃の対象となる床面に接する円盤状の部材であり、清掃に際して床面に接した状態で回転動作する。ここでの一例では、清掃パッド50は、例えば図中矢印A1に示すように、軸部XAを中心に一方向に回転駆動して、床面を磨く。この場合、清掃パッド50とこれに接触する床面との間で摩擦が生じ、清掃パッド50から回転駆動の方向に応じた床面への作用に対する床面から清掃パッド50への反作用を、清掃ロボット100が受けることになり、この反作用が走行に際しての斜行等の一因となる可能性、すなわち自己推定位置の結果として予定通りの経路から外れていることが検知される原因となる可能性がある。これに対して、本実施形態では、第1位置推定部PE1や第2位置推定部PE2での推定結果に基づいて、走行制御部30において走行経路の修正を行うことで、所望の走行状態を維持可能にしている。なお、斜行等の発生はこれに限らず、例えば走行装置10における左右一対の車輪と床面との接触状況や床面の平坦度、素材等種々の態様によって変化する。また、この場合、右車輪と左車輪とでの状況の差異が原因となる可能性もある。
【0030】
また、清掃ロボット100は、清掃パッド50の駆動制御を行う清掃パッド駆動制御部PDを備える。清掃パッド駆動制御部PDは、例えば各種回路基板等で構成され、清掃パッド50に接続されて清掃パッド50の駆動制御を行うとともに、必要に応じて他の各部とも接続して、必要な信号の授受を行うものとなっている。
【0031】
また、以上において、走行制御部30や、記憶部ME、位置情報処理部PI、あるいは、清掃パッド駆動制御部PDについては、例えばCPUや各種ストレージデバイス、あるいは各種回路基板等で構成され、図示のように、清掃ロボット100の筐体CSに収納されて構成されるものとしてもよい。ここでは、これらをまとめたものを制御部CRとする。すなわち、制御部CRは、例えば単数または複数の各種回路基板で構成され、清掃ロボット100における各種動作の制御を行う。具体的には、制御部CRは、清掃ロボット100の自律走行における走行制御及び自己位置推定に加え、清掃動作のための各部の駆動制御、さらには、障害物検知や斜行検知等の各種検知動作処理を行う。なお、制御部CRは、例えばCPUや、各種プログラム・データを格納するストレージデバイス等で構成されるものとしてもよい。
【0032】
以下、
図3として示すブロック図を参照して、清掃ロボット100の一構成例を説明する。特にここでは、清掃ロボット100のうち、制御部CRにおける走行制御動作と走行制御に影響を与える位置推定とについて、関係する部分を説明する。
【0033】
図示の一例では、制御部CRのうち、CPU等で構成されて清掃ロボット100の各部の動作制御全般を担う本体部分である主制御部MPを、走行制御部30に設けてものとしている。つまり、走行制御部30が、清掃ロボット100の各部と直接的または間接的に接続され、走行制御をはじめとする各種動作処理の全般を行う。
【0034】
また、記憶部MEには、既述のような動作制御を行う上で必要となる各種データやプログラムに加え、清掃を行う上で必要となる清掃の対象範囲に関する各種地図情報(地図データ)を予め格納すべく、地図情報格納部MSが設けられているものとする。ここでは、一例として、地図情報格納部MSには、教示走行経路情報TRが含まれているものとする。教示走行経路情報TRとは、例えば、SLAM機能の利用や手押しによる経路確認の結果として取得され、清掃を行うために予め設定した走行経路(教示走行経路)のデータを意味し、清掃ロボット100が自己位置検知を行いながら清掃をする際に予定通りの走行をしているか否かについて、位置に関する絶対的・客観的判断基準となる。また、記憶部MEには、走行制御部30で決定される自己位置推定の結果に関する情報である推定位置情報EPが格納されており、走行制御部30において教示走行経路情報TRと推定位置情報EPとを比較することで、清掃ロボット100が予定通りの走行をしているか否かが判断可能となる。
【0035】
以下、清掃ロボット100を構成する走行装置10のうち、走行制御に関する部分について説明する。走行装置10のうち、左右一対の後輪部RWの右側の駆動回転を担う第1走行部10Aは、右車輪(駆動輪)WRと、右車輪(駆動輪)WRを駆動させるためのモーター等で構成される右車輪駆動部RDとを有する。また、同様に、走行装置10のうち、後輪部RWの左側の駆動回転を担う第2走行部10Bは、左車輪WLと、左車輪駆動部LDとを備える。
【0036】
さらに、既述のように、一対構成のエンコーダECが、走行装置10に付随するように設けられており、エンコーダECにより、第1走行部10Aと第2走行部10Bとにおける車輪の回転について計測がなされる。具体的には、エンコーダECを構成する右エンコーダREは、右車輪WRの駆動回転について計測をし、エンコーダECを構成する左エンコーダLEは、左車輪WLの駆動回転について計測をする。
【0037】
また、右エンコーダREと左エンコーダLEとは、位置情報処理部PIのうち第2位置情報処理部PI2に接続されており、エンコーダECにおける各計測結果(データ)が、第2位置情報処理部PI2に対して例えば一定の周期で出力される。
【0038】
また、既述のように、ジャイロセンサーJSが、第2位置情報処理部PI2に接続されており、ジャイロセンサーJSにおける各計測結果(データ)が、第2位置情報処理部PI2に対して、上記エンコーダECの出力タイミングに対応させて、出力される。
【0039】
第2位置情報処理部PI2は、以上のようにして取得される走行装置10の両車輪WR,WLの回転に関するデータと、清掃ロボット100の移動に伴う自己の姿勢に関するデータとに基づき清掃ロボット100の自己位置推定を行う。具体的には、1回ごとに計測されるエンコーダECにおける回転数や回転量と角速度等に基づく姿勢の変化の度合いに基づいて、直近の計測における位置からの移動量を算出し、予め定めた基準位置からこの移動量を順次繰り返して足し合わせていくことで、現在地の位置推定ができる。
【0040】
以上のような位置推定処理の場合、エンコーダECにおける回転数や回転量の左右差、あるいはジャイロセンサーJSでの角速度等についての測定あるいは検出(検知)は、時間を要することなくほぼ瞬時に行え、かつ、これらに基づく清掃ロボット100の移動量の算出も簡易な手法が採用できる。したがって、各部における測定等を、短い周期で行うことが可能である。すなわち、第2位置情報処理部PI2における自己位置推定は、短い周期で単位時間あたりにより多くの測定を行うことで、1回ごとの測定誤差を小さくできる。また、迅速な推定結果の出力も可能である。ただし、その反面、仮に、第2位置情報処理部PI2での算出による自己位置推定のみを繰り返した推定位置とすると、例えば上記僅かな誤差が累積して、誤差が増大していく可能性がある。
【0041】
一方、ライダー等で構成される測距部DMは、既述のように、位置情報処理部PIのうち第1位置情報処理部PI1に対して、測距情報(測距データ)を出力し、第1位置情報処理部PI1は、測距部DMから取得される測距情報(測距データ)に基づき清掃ロボット100の自己位置推定を行う。より具体的には、まず、測距部DMは、所定の間隔でレーザー光を照射し、物体に当たって跳ね返ってくるまでの時間を計測することで、清掃ロボット100の周囲に存在する物体までの距離や方向を高い精度で検出する。次に、第1位置情報処理部PI1は、測距部DMでの検出により取得された周囲の物体の位置や形状に関する測距データと、地図情報とをフィッティングさせることで、自己位置推定がなされる。なお、当該地図情報については、例えば記憶部MEの地図情報格納部MSに格納されており、必要に応じて適宜読み出される。
【0042】
この場合、測距部DMでの検出、さらには、地図情報に基づくフィッティングを行うことで、より精度の高い自己位置推定が可能となる。特に、この場合、絶対的・客観的基準である地図情報格納部MSの地図情報との比較を行うことで、例えば各回での測定誤差を、絶対的基準からある程度の範囲内に収めるようにする、といったことが可能となる。ただし、第1位置情報処理部PI1における1回ごとの測定には、ある程度の時間を要することになり、本実施形態では、第2位置情報処理部PI2における測定の周期に比べて、長い周期となっているものとする。
【0043】
以上を踏まえ、本実施形態では、比較的長い周期である第1の時間間隔で自己位置推定をする第1位置推定部PE1(第1位置情報処理部PI1)と、第1の時間間隔より短い周期である第2の時間間隔で自己位置推定をする第2位置推定部PE2(第2位置情報処理部PI2)とを組み合わせ、走行制御部30において、第1位置推定部PE1と第2位置推定部PE2とでの推定に基づき走行装置10による走行を制御することで、正確かつ迅速に位置推定を行って緻密な走行制御を可能にしている。
【0044】
位置情報処理部PIを構成する第1及び第2情報処理部PE1,PE2は、それぞれ独立して行った上記自己位置推定の結果を、走行制御部30に対して出力する。走行制御部30は、双方からの自己位置推定を利用して、推定位置を決定し、決定結果に応じて、清掃ロボット100の走行制御をする。また、この際、走行制御部30は、推定位置の決定結果を、記憶部MEの地図情報格納部MSに推定位置情報EPとして格納する。また、併せて第1及び第2情報処理部PE1,PE2からの各推定結果も推定位置情報EPに格納される。なお、これらの情報については、時系列で累積的に保存してもよい。
【0045】
以下、走行制御部30を構成する各部についてより詳細に説明する。図示の一例における走行制御部30は、全体動作の統括制御を行う主制御部MPと、主制御部MPからの指令に従って走行装置10の駆動調整(駆動変更)、すなわち走行速度や方向等の調整を行う走行調整部(駆動変更部)SAとを備えている。主制御部MPには、位置情報処理部PIからの自己位置推定の結果を利用して推定位置を決定する推定位置決定部DCと、推定位置決定部DCでの推定結果を地図情報と比較して予定通りの走行ができているか否かを判定する比較判定部JDとが含まれている。走行調整部SAには、主制御部MPからの指令に従って、走行装置10の左右の車輪(駆動輪)WR,WLの回転数を変更(調整)するための回転数変更部RCが含まれている。
【0046】
主制御部MPは、走行調整部SAを介して走行装置10を駆動させる。この際、主制御部MPは、推定位置決定部DCでの推定結果に基づき、必要に応じて、走行装置10による走行の補正を行う。すなわち、推定位置と地図情報とを比較した結果、予定通りの走行がなされておらず補正が必要と判断した場合には、走行調整部SAに対して駆動変更を行うための各種指令信号を出力する。走行調整部SAは、第1及び第2走行部10A,10Bの各車輪駆動部RD,LDに対して、主制御部MPからの指令に応じた駆動信号を出力することで、比較判定部JDで検知された予定走行経路からの外れ具合に応じて走行装置10の駆動を変更する。
【0047】
以下、主制御部MPでの上記制御に関してより詳しい一例を説明する。まず、推定位置決定部DCは、位置情報処理部PIを構成し、第1及び第2位置推定部PE1,PE2として機能する第1及び第2情報処理部PI1,PI2からの情報を、常時受け付ける。ここでは、清掃ロボット100の動作開始後、推定位置決定部DCは、最初の第1位置推定部PE1(第1情報処理部PI1)により算出される位置推定の結果を初期の自己位置(基準推定位置)として定め、次の第1位置推定部PE1による位置推定の算出がなされるまでの間、第2位置推定部PE2(第2情報処理部PI2)による位置推定により自己位置推定を補完したものを自己位置として定める。以上のようにして、推定位置決定部DCにおいて決定された自己推定位置に基づいて、主制御部MPは、清掃ロボット100の走行制御を行う。さらに、ここでは、第1位置推定部PE1での新たな算出により位置推定がなされた場合、推定位置決定部DCは、当該位置推定の結果を新たな自己位置として更新することで、主制御部MPは、位置推定の正確性を維持しつつ、迅速な推定処理を確保する。なお、推定位置決定部DCは、上記のようにして決定した清掃ロボット100の自己推定位置の情報を、記憶部MEに出力し、記憶部MEの地図情報格納部MSのうち推定位置情報EPの所定領域に当該情報が格納される。
【0048】
また、主制御部MPのうち、比較判定部JDは、推定位置決定部DCにおける推定結果としての推定位置情報EPを、教示走行経路情報TRと比較して、清掃ロボット100が予定している走行経路から外れているか否かの判定をする。すなわち、上記態様では、比較判定部JDは、清掃を行うための地図情報として予め記憶された教示走行経路情報TRに対して、第1位置推定部PE1と第2位置推定部PE2とでの推定に基づき走行制御部30で決定された結果を参照しながら走行制御を行うことで、清掃ロボット100が予定した走行経路の通りに走行しているか否かを確認できるようになっている。
【0049】
走行調整部SAは、主制御部MPからの指令信号に従って、走行装置10の駆動調整を行う。すなわち、走行調整部SAは、第1及び第2走行部10A,10Bの各車輪駆動部RD,LDに対して、主制御部MPからの指令に応じた駆動信号を出力することで、走行装置10に走行動作を行わせ、必要に応じて、走行装置10の駆動態様を変更する。例えば、回転数変更部RCにおいて、走行装置10における左右の回転駆動を担う第1及び第2走行部10A,10Bの単位時間当たりの回転数(回転速度)や回転方向を調整するあるいは変更することで、走行方向の補正や走行速度の変更等を行う。例えば、比較判定部JDの判定の結果として、予定している走行経路から外れているとの判定がなされた場合、予定の走行経路に戻すべく走行態様を補填するための走行の補正がなされる。
【0050】
なお、上記のほか、主制御部MPは、清掃ロボット100の各部の動作制御を担う主制御部MPとして機能すべく、走行装置10や、記憶部ME、位置情報処理部PI等だけでなく、例えば清掃パッド駆動制御部PDを介して清掃パッド50に接続されて駆動制御を行い、また、各部と各種信号の授受を行う。なお、速度変更等の上記走行の補正に際して、清掃パッド50の回転数を併せて変更してもよい。
【0051】
以上のように、清掃ロボット100において各部が連携することで、自身の走行における自己位置推定や、推定結果に伴う経路補正の動作がなされる。
【0052】
以下、
図4等を参照して、上記した自己位置推定について、具体的方法の一例を示す。
図4(A)は、第1位置推定部PE1と第2位置推定部PE2とにおける自己位置推定を走行制御部30へ出力するための計測タイミングを示す時系列図であり、
図4(B)は、各時刻における清掃ロボット100の位置について説明するための概念図である。
【0053】
図4(A)において、横軸は、時刻tを示しており、図中上方から下方に向かう長い矢印は、第1位置推定部PE1における自己位置推定の計測タイミングを示しており、下方から上方に向かう短い矢印は、第2位置推定部PE2における自己位置推定の計測タイミングを示している。また、第1位置推定部PE1における計測タイミングの周期を第1の時間間隔TI1とし、第2位置推定部PE2における計測タイミングの周期を第2の時間間隔TI2とする。したがって、図示の例のように、第2の時間間隔TI2が、第1の時間間隔TI1よりも短くなっている。これらの具体的数値については、使用するCPUの性能や、必要とされる処理速度等によるが、例えば、時間間隔TI1を500msとし、時間間隔TI2を150msとする、といった態様が一例として考えられる。この場合、第2位置推定部PE2での計測頻度が、第1位置推定部PE1での計測頻度の3~4倍程度となる。また、推定結果として走行制御部30に出力される第1位置推定部PE1からの推定位置情報を、第1推定位置情報とし、第2位置推定部PE2からの推定位置情報を、第2推定位置情報とする。なお、これらは、既述のように、推定位置情報EPとして記憶部MEに格納される。
【0054】
また、
図4(B)に示すように、上記時刻tにおける清掃ロボット100の推定位置xを、時刻tの関数として、x=x(t)で示す。なお、図示の例では、測距部DMの直下の位置を推定位置xとしているが、これに限らず、清掃ロボット100の任意の一点を、推定位置xとして規定できる。また、図示では、簡略化して推定位置xを一次元的な方向で示しているが、二次元的(平面的)、さらには高さ方向まで含めた三次元的な方向で、推定位置xを特定してもよい。
【0055】
図4(A)に戻って、図示の例では、清掃ロボット100の動作開始後、第1位置推定部PE1による最初の位置推定(最初の第1推定位置情報の抽出)についての計測時刻を、時刻t=T
0とし、これを初期時刻とする。すなわち、走行制御部30は、初期時刻T
0での第1位置推定部PE1における自己位置推定結果を、初期の自己位置(スタート地点)として定める。以後、第1位置推定部PE1による位置推定の計測時刻を、時刻T
1,T
2,T
3,…とする。一方、第2位置推定部PE2による位置推定の計測時刻については、時刻T
0の後、最初の計測時刻を、時刻t
1とし、以後、時刻t
2,t
3,t
4…とする。つまり、第1推定位置情報としての推定位置は、推定位置x(T
1)等と表され、第2推定位置情報としての推定位置は、推定位置x(t
1)等と表される。
【0056】
ここで、既述のように、時間間隔TI1,TI2に関して、TI2<TI1であることにより、図の例示にあるように、初期時刻T
0の後、次の第1位置推定部PE1による位置推定の算出がなされる(時刻t=T
1になる)までの間に、複数回の第2推定位置情報の提供が、第2位置推定部PE2からなされる。なお、図示の場合、時刻t=t
1、t
2、t
3の3回、第2位置推定部PE2による自己位置推定がなされる。例えばこれらの3回のうちの1回目すなわち時刻t=t
1では、
図4(B)に示すように、初期時刻T
0における初期推定位置x
0=x(T
0)に、第2位置推定部PE2での算出に基づき時刻T
0から時刻t
1までに移動したと推定される推定移動量(Δx
0とする)を加えたx
0+Δx
0が、推定位置となる。すなわち、推定位置x(t
1)=x
0+Δx
0となる。なお、以下、各Δx
k(kは、1又は2)については、第2位置推定部PE2において算出される時刻t
kから時刻t
k+1までの推定移動量とする。すなわち、時刻t
2における推定位置x(t
2)は、x(t
2)=x
0+Δx
0+Δx
1となり、時刻t
3における推定位置x(t
3)は、x(t
3)=x
0+Δx
0+Δx
1+Δx
2となる。なお、上記Δx
kの算出方法についてより詳しくは、
図5を参照して後述する。
【0057】
一方、時刻T1において、次の第1位置推定部PE1による位置推定の算出が新たになされる、すなわち第1位置推定部PE1から推定位置x(T1)の値が出力されると、走行制御部30は、位置推定x(T1)を、新たな自己位置として更新する。その後、さらに次の第1位置推定部PE1による位置推定の算出がなされる(時刻t=T2になる)までの間は、上記と同様に、第2位置推定部PE2による位置推定により自己位置推定を補完したものを自己位置として定める。例えば、時刻t=t4についてであれば、推定位置x(t4)=x(T1)+Δx3(Δx3は、第2位置推定部PE2での算出に基づき時刻T1から時刻t4までに移動したと推定される推定移動量)となる。また、時刻t=t5についてであれば、推定位置x(t5)=x(T1)+Δx3+Δx4(Δx4は、第2位置推定部PE2において算出される時刻t4から時刻t5までに移動したと推定される推定移動量)となる。以下、同様にして、位置推定の決定がなされる。
【0058】
以上について、見方を変えると、第1位置推定部PE1による位置推定(第1推定位置情報)を優先的に採用しつつ、第1位置推定部PE1による新たな位置推定がなされない間は、第2位置推定部PE2による位置推定(第2推定位置情報)により自己位置推定を補完したものを自己位置として定めるものとしている。
【0059】
ここで、上記のうち、Δxkの算出方法に関して説明する。まず、Δxkのうち、推定移動量Δx1や、Δx2、Δx4については、第2位置推定部PE2での推定移動量であるため、第2位置推定部PE2での計測結果のみから算出できる。これに対して、例えば時刻t=t1や、t=t4における位置推定で必要となる推定移動量Δx0やΔx3の値は、第1位置推定部PE1に基づく推定位置x(T0),x(T1)が影響するため、第2位置推定部PE2での計測結果のみから直接的に算出することができない。つまり、この場合、第2位置推定部PE2のみによる補完で、推定位置x(t1)やx(t4)を算出することができない。
【0060】
そこで、時刻t=t1や、t4等に相当するような場合(第1推定位置情報が与えられた直後の補完)では、一例として、時間についての比率を利用した外挿を行うことで算出することが考えられる。
【0061】
以下、
図5に示す概念的な図を参照して、上記時刻t=t
1や、t
4等に相当するような場合について一般化した上で、具体的に説明する。例えば
図5に示すように、まず、前提として、時刻t=T
A(Aは、0以上の整数)において、第1位置推定部PE1による位置推定の算出(第1推定位置情報の提供)がなされ、かつ、その前後の時刻t=t
k及びt=t
k+1において、第2位置推定部PE2による位置推定の算出(第2推定位置情報の提供)がなされているとする(t
k<T
A<t
k+1)。この場合において、時刻t=T
Aより後の時刻t
k+1における位置推定すなわち推定位置x(t
k+1)の算出方法について考察することで、
図4に示す時刻t=t
1や、t
4等に相当する場合を一般化した算出方法が確立できる。なお、
図5において、対象となる時刻t
k+1の時点において、それ以前の時刻T
Aにおける推定位置x(T
A)や、第2位置推定部PE2において算出される時刻t
kから時刻t
k+1までに移動したと推定される推定移動量である推定移動量ΔKXについては、既知であるものとする。また、清掃ロボット100においてタイマー等を適宜設けることで、時間の計測が可能であるものとし、ここでは、特に、時刻T
Aから時刻t
k+1までの時間を計測し、この時間を時間t
Bとする。
【0062】
以上において、まず、時刻TAから時刻tk+1までの時間tBを得る一方、時刻tkから時刻tk+1までの時間については、第2の時間間隔TI2であることは事前に分かっている。したがって、求めるべき時間の比率は、時間間隔TI2に対する時間tBの比率tB/TI2となる。この比率tB/TI2を、時刻tkから時刻tk+1までに移動したと推定される推定移動量である推定移動量ΔKXに乗算して得られる値tB/TI2×(ΔKX)を、推定位置x(TA)に加えたものを、推定位置x(tk+1)とする。すなわち、推定位置x(tk+1)=x(TA)+tB/TI2×(ΔKX)とすることで、外挿により近似した位置推定ができる。
【0063】
なお、その次の推定位置x(tk+2)については、推定移動量Δxk+1が第2位置推定部PE2での計測結果のみから算出でき、上記推定位置x(tk+1)にこれを加えて、x(tk+2)=x(tk+1)+Δxk+1となる。
【0064】
また、以上のような外挿による近似を利用した推定位置x(tk+1)の算出方法については、一例であり、他の方法によって、推定位置x(tk+1)の算出を行ってもよい。
【0065】
以下、
図6に示すフローチャートを参照して、清掃ロボット100における位置推定を伴う一連の処理について、一例を説明する。
【0066】
例えば、清掃ロボット100の開始スイッチ(例えば主電源等を含む各種操作スイッチ)が押されてオンの状態となると、清掃ロボット100は、上述したように、最初の第1推定位置情報に基づく初期時刻T0における初期推定位置x0=x(T0)を設定し(ステップS101)、これを最初の基準推定位置とする。当該設定の後、経路に沿った走行を開始する。すなわち、走行制御部30の主制御部MPは、走行装置10の駆動を開始させて上記初期設定を行うとともに、清掃パッド50等の清掃を行うための各部の動作を開始させる。ステップS101により初期位置が設定されると、主制御部MPは、位置情報処理部PIからの次の推定位置の算出結果を待ち(ステップS102)、新たな位置推定の情報が提供されると(ステップS102:Yes)、提供された情報が第1推定位置情報であるか否かを確認し(ステップS103)、当該情報が第1推定位置情報でなければ、すなわち第2推定位置情報であれば(ステップS103:No)、基準推定位置に対して取得した第2推定位置情報に基づき補完した推定位置を算出する(ステップS104)。つまり、基準推定位置に推定移動量を加算したものを、新たな基準推定位置とする。一方、ステップS103において確認した情報が、第1推定位置情報であれば(ステップS103:Yes)、当該第1推定位置情報を新たな基準推定位置とすべく、情報の更新を行う(ステップS105)。
【0067】
ステップS104又はステップS105の後、主制御部MPは、比較判定部JDにより、補完または更新された推定位置が、予定経路の誤差範囲内であるか否かすなわち予定経路から外れているかいないかを確認する(ステップS106)。ステップS106において、誤差範囲を超えていると判断された場合(ステップS106:No)、主制御部MPは、走行状態を変更する、すなわち回転数変更部RCにおいて設定されている駆動輪回転数を変更する(ステップS107)。なお、ステップS107での変更態様については、比較判定部JDの判定に際して併せて確認される予定光路からの外れ度合に応じて、適宜調整される。
【0068】
一方、ステップS106において、誤差範囲内であると判断された場合(ステップS106:Yes)、主制御部MPは、現状の走行状態を継続する、すなわち回転数変更部RCにおいて設定されている駆動輪回転数を維持する(ステップS108)。
【0069】
ステップS107又はステップS108の後、主制御部MPは、清掃ロボット100が終了地点に到達したか否か、すなわち目的の清掃が完了したか否かを確認し(ステップS109)、終了地点に到達していなければ(ステップS109:No)、ステップS102からの走行しながらの位置推定及び走行の補正に関する一連の処理動作を継続する。一方、終了地点に到達していれば(ステップS109:Yes)、清掃ロボット100の走行を停止し、動作を完了する(ステップS110)。
【0070】
以上のように、本実施形態に係る自律走行式ロボットとしての清掃ロボット100は、自走用の走行部である走行装置10と、第1の時間間隔TI1で自己位置推定をする第1位置推定部PE1と、第1の時間間隔TI1より短い第2の時間間隔TI2で自己位置推定をする第2位置推定部PE2と、第1位置推定部PE1と第2位置推定部PE2とでの推定に基づき走行部による走行を制御する走行制御部30とを備える。
【0071】
上記自律走行式ロボットとしての清掃ロボット100では、相対的に時間をかけて自己位置推定をする第1位置推定部PE1において、正確性を重視した位置推定を可能にするとともに、第2位置推定部PE2において相対的に短い時間で迅速に自己位置推定を行い、走行制御部30において、これらの推定を併用しつつ走行装置10による走行を制御することで、正確にかつ迅速に位置推定を行って緻密な走行制御ができる。また、上記の場合、迅速で緻密な位置推定を行うことで、例えば従来よりも清掃ロボット100の走行速度を上げる、といったことも可能になる。
【0072】
〔第2実施形態〕
以下、
図7等を参照しつつ、第2実施形態に係る清掃ロボット100について一例を説明する。本実施形態では、第1実施形態で参照した
図5に対応する
図7と、
図6に対応する
図8のフローチャートとに示すように、第1実施形態の場合と比較して、新たな推定位置情報の確認タイミングが異なっている。
【0073】
また、以上の新たな推定位置情報の確認手法を除いて、本実施形態に係る清掃ロボット100は、第1実施形態の清掃ロボット100と同様であるので、詳しい説明や図示については省略し、必要に応じて、適宜第1実施形態の説明を参照する。
【0074】
本実施形態では、例えば、
図7に示す時刻t
αのように、第1推定位置情報及び第2推定位置情報のいずれも取得されない時刻においても、位置推定を行う。本実施形態においても、位置推定を行うための一例の手法として、外挿を利用することが考えられる。具体的には、図示の例のように、第2推定位置情報が続けて提供される時刻t
k―1,t
k,t
k+1に関して、時刻t
kと時刻t
k+1との間の時刻t
α(t
k<t
α<t
k+1)での位置推定を行う場合について、考察する。この場合、時刻t
kにおける推定位置x(t
k)と、第2位置推定部PE2において算出される時刻t
k―1から時刻t
kまでに移動したと推定される推定移動量Δx
k―1とについては、時刻t
α(t
k―1<t
k<t
α)の時点において既知であるものとする。一方、推定位置x(t
k+1)については、時刻t
α(t
α<t
k+1)の時点において未知である。ただし、推定位置x(t
k+1)が算出されるタイミングは、第2の時間間隔TI2を用いて、t
k+1=t
k+TI2と表される。すなわち事前に決まっている。
【0075】
以上において、まず、時刻tkから時刻tαまでの時間tCを計測する。一方、時刻tkから時刻tk+1までの時間は、上記の通り、第2の時間間隔TI2である。したがって、時間間隔TI2に対する時間tCの比率を、既知の推定移動量Δxk―1に乗算して得られるtC/TI2×(Δxk―1)を、既知の推定位置x(tk)に加えたものを、推定位置x(tα)とする。すなわち、推定位置x(tα)=x(tk)+tC/TI2×(Δxk―1)とする。
【0076】
また、以上のような外挿による近似を利用した推定位置x(tα)の算出方法については、一例であり、他の方法によって、推定位置x(tα)の算出を行ってもよい。また、上記では、第2推定位置情報のみが与えられている場合について説明しているが、第1推定位置情報が与えられた場合においても、取り扱い可能である。
【0077】
以下、
図8に示すフローチャートを参照して、清掃ロボット100における位置推定を伴う一連の処理について、一例を説明する。
【0078】
図6に一例を示した場合と同様に、最初の第1推定位置情報に基づく初期時刻T
0における初期推定位置x
0=x(T
0)の設定すなわち初期設定がなされると(ステップS201)、主制御部MPは、位置情報処理部PIからの次の推定位置の算出結果の提供の有無を確認する(ステップS202)。ステップS202において、新たな位置推定の情報が提供された場合、すなわち新たな第1推定位置情報又は第2推定位置情報が提供された場合(ステップS202:Yes)、以下、ステップS203~S210に示すように、
図6に例示したステップS103~S110と同様の動作処理を行う。
【0079】
一方、本実施形態では、ステップS202において、新たな位置推定の情報が提供されない場合であっても、すなわち、第1推定位置情報も第2推定位置情報も得られていない場合であっても、これを待つことなく例えば
図7を参照して説明した外挿による位置推定を行う(ステップS203x)。
【0080】
ステップS203xにおける外挿による位置推定がなされると、主制御部MPは、比較判定部JDにより、外挿された推定位置が、予定経路の誤差範囲内であるか否かすなわち予定経路から外れているかいないかを確認し(ステップS206)、以後は、他の場合と同様の処理を行う。
【0081】
本実施形態においても、走行制御部30において、種々の推定を併用しつつ走行装置10による走行を制御することで、正確にかつ迅速に位置推定を行って緻密な走行制御ができる。
【0082】
〔その他〕
この発明は、上記の実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することが可能である。
【0083】
まず、上記において、第1位置推定部PE1における位置推定の算出処理では、例えば使用するCPUの性能等によっては、ある程度以上の時間を要することになる場合があるため、計測(測距部40による測距)を行う計測時刻と、行った計測に基づく推定結果としての第1推定位置情報を走行制御部30に出力する時刻との間に、タイムラグが発生する可能性がある。このタイムラグの間に、清掃ロボット100が、計測時刻においていた場所からかなり移動している、といった事態も想定される。このような場合については、いろいろな手法をとることができ、例えば、次の第1推定位置情報が提供されるまでは、直前の第1推定位置情報を第2推定位置情報で補完を続け、当該次の第1推定位置情報が提供された場合には、遡って、走行制御部30において再度推定位置の決定をし直す態様とすることが考えられる。また、例えば次の第1推定位置情報が提供されるまでは、上述した外挿と同様の外挿を、第1推定位置情報について行うことで、次の第1推定位置情報に相当する近似的な値を利用し、次の第1推定位置情報が提供された場合には、遡って、再度位置推定をする態様としてもよい。
【0084】
また、上記では、自律走行式ロボットとして清掃ロボットを例示しているが、これに限らず、例えば経路や施設の案内等の各種案内を行う案内ロボットや、物品の搬送を行う搬送ロボット等の自律走行式ロボットにおいて、上記発明を適用してもよい。
【0085】
さらに、上記では、第1位置推定部において、自律走行式ロボットに搭載したライダー等の測距部による測距により位置推定を行い、第2位置推定部において、エンコーダ及びジャイロセンサーによる測定結果による位置推定を行うものとしているが、これらに限らず、種々のものに基づく位置推定が可能である。例えば、相対的に正確な位置精度を要求される第1位置推定部として、走行範囲に設けられた無線LANによる通信を利用した位置検知を適用してもよい。また、屋外等でGPSによる検知が可能な場合には、これを利用することも考えられる。また、例えば、迅速性を要求される第2位置推定部として、上記センサーのほか、例えば自律走行式ロボットに搭載した地磁気センサーや加速度センサー等を利用して、自己の走行状況や姿勢等を検知してもよい。また、これらを複合的に組み合わせ、例えば3つ以上の異なる位置推定部を有する構成としてもよい。
【0086】
また、上記の一例では、第1位置推定部からの第1推定位置情報と第2位置推定部からの第2推定位置情報とが定期的に発信され、これらを組み合わせるに際して、第1推定位置情報を優先的に適用し、第2推定位置情報で補完するという構成で説明しているが、これらの情報の使い方については、上記態様に限らず、種々の手法にすることができる。例えば、原則第2位置推定部からの第2推定位置情報の情報に基づき位置推定を行い、例えば比較判定部JDでの判定処理において異常と判定された等の場合に限って、より正確な情報である第1推定位置情報を取得して位置補正を行う態様としてもよい。あるいは、上記のうち、どちらか一方のみで位置推定を行い、位置推定不能等の異常が生じた場合に、他方のものによる位置推定を行う、という態様としてもよい。また、清掃ロボット100の走行速度や、求められる位置精度等に応じて、情報の使い方を切り替えてもよい。
【0087】
また、上記のうち、駆動輪の回転制御については、種々の手法が適用可能であり、第1及び第2走行部10A,10Bのうち片側の駆動輪の回転数を変更することで、第1走行部10A側と第2走行部10B側とでの相対的な駆動力のバランスを変化させたり、一方の回転数を増やすとともに他方を減らす双方向についての変更を行ったりすることが考えられる。
【0088】
また、
図1(A)~
図1(D)に一例を示した外観形状に限らず、種々の形状や構成の清掃ロボットにおいて、本願を適用することができ、例えばもっと小型・薄型のものにおいて本願を適用することも可能であり、貯水タンク等を有しない乾式の清掃ロボットにおいて本願を適用することも可能である。
【0089】
また、移動体の平面上の走行態様についても、直進及び回転のみに限らず、さらに種々の動作が可能な態様としてもよい。
【符号の説明】
【0090】
10…走行装置、10A…第1走行部、10B…第2走行部、10C…従動輪、30…走行制御部、40…測距部、50…清掃パッド、100…清掃ロボット、A1…矢印、CR…制御部、CS…筐体、DC…推定位置決定部、DM…測距部、EC…エンコーダ、EP…推定位置情報、FW…前輪部、JD…比較判定部、JS…ジャイロセンサー、LD…左車輪駆動部、LE…左エンコーダ、ME…記憶部、MP…主制御部、MS…地図情報格納部、PD…清掃パッド駆動制御部、PE1…第1位置推定部、PE2…第2位置推定部、PI…位置情報処理部、PI1…第1位置情報処理部、PI2…第2位置情報処理部、RC…回転数変更部、RD…右車輪駆動部、RE…右エンコーダ、RW…後輪部、SA…走行調整部(駆動変更部)、T0,T1,T2,T3,TA…時刻、TI1…第1の時間間隔、TI2…第2の時間間隔、TR…教示走行経路情報、TR…走行経路情報、WL…左車輪(駆動輪)、WR…右車輪(駆動輪)、XA…軸部、t,t1,t2,t3,t4,t5…時刻、tB,tC…時間、tk…時刻、tα…時刻、x(t)…推定位置、x0…初期推定位置、Δx0,Δx1,Δxk,ΔKX…推定移動量