説明

環境地図を用いた掃除ロボット

【課題】簡単に操作でき、自動的に環境内を掃除する掃除ロボットを提供する。
【解決手段】本発明は、コンピュータ18により駆動制御する走行制御部34と、車輪センサ36と、環境との接触を検出する接触センサ38を有し、環境を掃除する掃除ロボットにおいて、環境地図を保存する環境地図記憶部25と、オドメトリ情報から得られるロボット座標を保存するロボット座標記憶部21と、多数のパーティクルの座標を保存するパーティクル座標記憶部22と、前記環境地図とパーティクル軌道を保存するパーティクル掃引地図記憶部23と、前記多数のパーティクルの尤度を演算して最適軌道を導出する最適軌道導出手段と、前記最適軌道を前記掃除ロボットの軌道として保存するロボット掃引地図記憶部23と、小尤度のパーティクルを消去するリサンプリング手段と、前記掃除ロボット及び前記パーティクルを回転反射させる反射手段を有する掃除ロボットである。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は掃除ロボットに関し、更に詳細には、初期設定後、掃除ロボットを自動的に走行動作をさせて、清掃領域を清掃できる掃除ロボットに関するものである。
【背景技術】
【0002】
掃除や物体移動などを行なう汎用の移動ロボットとしては特開2004−21978(特許文献1)が有る。即ち、ロボット本体に装備されたRFID(Radio Frequency IDentification)検出器により、作業領域に設けられたRFIDカード(別名、RFIDタグ)から固有番号を獲得しながら、ロボットの位置と方向を認識して自走する移動ロボットを開示している。前記移動ロボットは途中では、オドメトリ運動モデル(以下、単に「オドメトリ」又は「オドメトリ法」とも称する)により位置を計算して、各要所に配置されたRFIDカードから位置情報(固有番号)を獲得しながら、位置と方向を算出して、作業領域を移動していることが記載されている。
【0003】
しかし、オドメトリは、車輪軸の回転速度と方向をセンサ検出して移動距離と移動方向を算出するものであり、車輪のすべり等の誤差により、移動距離と移動方向には大きな誤差が含まれるのが常である。しかも、特許文献1には、前記RFID情報を移動距離と移動方向、即ちロボットの軌道の修正に具体的にどのように適用するかが明白でない。特に、前記移動ロボットが作業領域を移動する中で、その軌道が作業領域の全体に均一に移動せず、通過しない複数の空白領域が残されることが多い。このような場合に、この空白領域をどのように掃除するかについては記載もされていないし、示唆さえされていない。その意味で、掃除ロボットとしては不十分である。
【0004】
自走式掃除機が特開2007−34866(特許文献2)に記載されている。特許文献2に記載される発明では、境界にRFID発信手段からなるマーカを配置し、マーカからの信号を受けてマーカに対する移動体の走行方向を計測して、前記移動体の走行方向を制御する技術が記載され、この移動体が自走式掃除機として記載されている。
【0005】
しかし、この特許文献2においても特許文献1と同様の欠点が存在する。即ち、前記マーカ情報(RFID情報)をロボットの軌道の修正に具体的にどのように適用するかが明白でない。また、その軌道が作業領域の全体に均一に移動しないことが多く、この未清掃の空白領域をどのように掃除するかについては記載もされていないし、示唆さえされていない。従って、掃除ロボットとしては不十分である。
【0006】
本出願人は、引用文献1、2の課題を解決するため、鋭意研究の結果、次のような掃除ロボットを完成するに到り、特許出願を行っている。その出願公報である特開2011−56123号公報(引用文献3)には、走行しながら清掃領域を掃除する掃除ロボットにおいて、センサの信号を用いてコンピュータにより演算される時々刻々の位置を記憶し、自動的に清掃領域を清掃できる掃除ロボットを開示している。引用文献3に記載される掃除ロボットでは、清掃領域の境界に分散配置されたRFIDタグに接近したとき、位置情報を受信するRFIDアンテナにより位置情報を得て、最適化された現在推定位置を用いて、軌道データを演算し、清掃領域内で軌道の無いところ、又は軌道の少ない再掃引領域を導出し、その領域を走行させて清掃することにより、清掃領域の全領域を隈なく清掃することが可能になる。従って、引用文献3に記載される掃除ロボットでは、前記引用文献2、3に記載される発明の課題が一部解決されるに到った。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2004−21978号公報
【特許文献2】特開2007−34866号公報
【特許文献3】特開2011−56123号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
引用文献1では、ロボットの軌道に関し、前述のように、前記RFIDタグを検出し、オドメトリにより算出された移動距離と移動方向を修正することが記載されていたが、具体的にどのように適用するかが明白でない。特に、前記移動ロボットが作業領域を移動する中で、その軌道が作業領域の全体に均一に移動せず、通過しない複数の空白領域が残されることが多い。引用文献1では、この空白領域をどのように掃除するかについては記載もされていないし、示唆さえされていない。更に、仮に、前記RFIDタグを検出し、ロボットの軌道を修正するとしても、部屋等の空間形状や位置を認識させるために、前記RFIDタグを常に配置しておく必要があり、空間形状が変わる度に前記RFIDタグを移動させたり、新たに配置する必要があった。
【0009】
特許文献2も、前述のように、境界にRFID発信手段からなるマーカを配置し、マーカからの信号を受けてマーカに対する移動体の走行方向を計測して移動体の走行方向を制御する技術が記載されている。しかしながら、引用文献1と同様に、ロボットの軌道を修正するために、前記RFIDタグを検出するから、前記RFIDタグを常に配置しておく必要があり、空間形状が変わる度に前記RFIDタグを移動させたり、新たに配置する必要があった。また、前述のように、未清掃の空白領域をどのように掃除するかについては記載もされていないし、示唆さえされていない。
【0010】
引用文献3に記載される掃除ロボットでは、清掃領域に配置されたRFIDタグに接近したとき、RFIDアンテナにより位置情報を得て、最適化された現在推定位置を用いて、清掃領域内で軌道の無いところ、又は軌道の少ない再掃引領域を導出するから、清掃領域の全領域を隈なく清掃することができた。しかしながら、常に、RFIDタグを清掃領域の境界に分散配置する必要があることは同様であり、清掃領域の空間形状が変わる度に前記RFIDタグを移動させたり、新たに配置する必要があった。従って、掃除ロボットは、RFIDタグを必要に応じて検出する必要がある。また、掃除ロボットで部屋等の空間を清掃するためには、RFIDタグが常時必要であり、使用者に保守・管理の負担が掛る場合があった。
【0011】
上記課題に鑑み、本発明の目的は、清掃領域において、RFIDタグ等の複数の位置情報発信部を常時必要とせず、同一形状の清掃領域を清掃する場合は、初期に清掃領域の空間形状を認識し、その後は、自動的に清掃領域を清掃でき、且つ、未清掃の空白領域が殆ど無い掃除ロボットを提供する。本発明の掃除ロボットをレンタルする場合など、業者が初期の設定(清掃領域の記憶)等を行えば、後は、簡易な保守・管理のみで自動的に清掃領域の全領域を隈なく清掃することが要請され、そのような掃除ロボットを提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明は上述の課題を解決するために完成されるに到ったものであり、本発明の第1形態は、掃除ロボットを走行させる車輪と、内蔵されるコンピュータからの指令により環境内で前記車輪を駆動制御する走行制御部と、前記車輪の情報を検出する車輪センサと、前記掃除ロボットが環境壁面に接触したことを検出する接触センサを少なくとも有して、走行しながら環境を掃除する掃除ロボットにおいて、前記環境の環境地図を保存する環境地図記憶部と、前記接触センサが初期段階で第1回接触を検出したときに前記環境壁面に沿って配置される多数のパーティクルと、前記第1回接触の後で前記接触センサが接触を検出した後続接触時に多数の前記パーティクルの尤度を演算して前記パーティクルの最適軌道を導出する最適軌道導出手段と、前記後続接触時に前記最適軌道を前記掃除ロボットの軌道として保存するロボット掃引地図記憶部と、前記後続接触時に前記多数のパーティクルから小尤度のパーティクルを消去するリサンプリング手段と、前記後続接触時に前記掃除ロボット及び前記パーティクルを前記環境内に回転反射させる反射手段を有する掃除ロボットである。
【0013】
本発明の第2形態は、第1の形態において、前記車輪のオドメトリ情報により時系列的に取得されるロボット座標を保存するロボット座標記憶部と、前記ロボット座標から導出されるパーティクル座標を保存するパーティクル座標記憶部と、前記環境地図と同一に設けられ且つ多数の前記パーティクルのパーティクル軌道を保存するパーティクル掃引地図記憶部を有する掃除ロボットである。
【0014】
本発明の第3形態は、第1又は第2の形態において、前記第1回接触時に前記環境壁面に沿って配置される前記多数のパーティクルが、前記掃除ロボットが前記環境壁面と接触する接触点近傍に配置される掃除ロボットである。
【0015】
本発明の第4形態は、第1、第2又は第3の形態において、前記パーティクル掃引地図は格子状に配置された多数のグリッドにより多分割され、前記パーティクル軌道が通過していないグリッドは未掃引グリッドとして判定され、前記パーティクル軌道が通過したグリッドは前記未掃引グリッドから掃引済みグリッドへと変化し、前記パーティクル軌道を前記掃引済みグリッドによって表現する掃除ロボットである。
【0016】
本発明の第5形態は、第4の形態において、前記パーティクルが前記環境壁面又は演算上の仮想壁面に接触して反射されるとき、接触点から環境内に放射状に離散放射線分を引き、前記離散放射線分が通過する前記未掃引グリッドの個数が最大の最大放射線分の方向に前記パーティクルを回転反射させる掃除ロボットである。
【0017】
本発明の第6形態は、第5の形態において、前記パーティクルは最大の尤度を有するパーティクルであり、このパーティクルの前記最大放射線分の方向に前記掃除ロボットを回転反射させる掃除ロボットである。
【0018】
本発明の第7形態は、第1〜6のいずれかの形態において、前記尤度は、前記掃除ロボットが前記環境壁面に接触したときに、前記パーティクルが前記環境壁面又は演算上の仮想壁面から離間する距離の確率分布及び/又は前記掃除ロボットが前記環境壁面に接触していないのに前記パーティクルが前記環境壁面又は前記仮想壁面に接触した誤接触回数の確率分布により計算される掃除ロボットである。
【0019】
本発明の第8形態は、第1〜7のいずれかの形態において、前記最適軌道は、前記尤度から最大値として選択される最大尤度を有するパーティクルの前記パーティクル軌道、前記尤度を重みとした各パーティクル軌道の重み付き平均軌道、及びパーティクル毎に投票を行って当選したパーティクルの前記パーティクル軌道を含む軌道から選択される掃除ロボットである。
【0020】
本発明の第9形態は、第1〜8のいずれかの形態において、前記後続接触時に前記多数のパーティクルから小尤度のパーティクルを消去するリサンプリング手段は、前記後続接触時に生き残ったパーティクルを最大尤度のパーティクルの近傍に集める掃除ロボットである。
【0021】
本発明の第10形態は、第1〜9のいずれかの形態において、前記環境内の床面に接触するように払拭体を前記掃除ロボットに装備し、走行中に前記床面を前記払拭体により掃除する掃除ロボットである。
【発明の効果】
【0022】
本発明の第1形態によれば、走行しながら環境を掃除する掃除ロボットにおいて、前記環境の環境地図を保存し、前記車輪センサにより前記掃除ロボットの車輪の情報を検出し、且つ、前記第1回接触を検出したときに前記環境壁面に沿って仮想的に多数のパーティクルを配置し、事後に生じる前記環境壁面との接触の毎に前記多数のパーティクルから小尤度のパーティクルを消去するから、より実際の軌道に近いロボット軌道を得ることができる。即ち、パーティクルフィルタ法を介して多数のパーティクルの尤度計算とリサンプリングにより多数パーティクルから最適軌道を導出し、この最適軌道によりロボット軌道を描画し、高効率な掃除ロボットの走行を行い、掃除をすることができる。また、前記掃除ロボットが走行する環境地図を、初期に保存させれば、以降は前記環境地図に基づき、掃除ロボットにより自動的に環境内を高効率に走行して掃除することができる。
具体的には、先ず、初期に前記環境地図記憶部に前記環境の前記環境地図を保存する。前記環境地図は、光、音波などを用いたシステムを用いることができ、レーザーレンジファインダ、超音波センサによる空間認識システムなどを用いても良い。レーザー照射しながらレーザーレンジファインダを一回転させれば、壁面までの距離測定が容易に行え、壁面により形成される環境地図が簡単に得られる。また、超音波を照射しながら超音波センサを回転させれば、上記レーザと同様になり、壁面までの距離測定が容易に行え、壁面により形成される環境地図が簡単に得られる。更に、従来の他の方法を利用しても良く、例えば、RFIDタグにより位置情報を発信し、掃除ロボットのRFIDアンテナにより受信して環境地図を形成し、前記環境地図記憶部に保存する。RFIDシステムは、リーダ部(アンテナ及び読取部)とタグから構成され、電波によりタグから固有のIDを受信できる。タグにはActive型とPassive型がある。利用できる周波数には、134.2kHz帯(LF帯)〜13.56MHz帯(HF帯)〜高周波帯(例、UHF帯)があり、HF帯のRFIDシステムを用いると、低周波のものより通信可能距離が長く小型であり、高周波のものよりノイズに強く安価である利点を有する。
また、前記第1形態によれば、前記リサンプリング手段では、前記後続接触時に前記多数のパーティクルから小尤度のパーティクルが消去される。よって、より実際の掃除ロボットに近い軌道を導出することができ、前記後続接触時に前記掃除ロボット及び前記パーティクルを前記環境内に回転反射させ、軌道の無い又は少ない領域を走行させ、前記環境地図の全領域を隈なく清掃することができる。
更に、前記環境地図は、初期に前記環境地図記憶部に保存すれば良く、種々のセンサ等により、時々刻々に環境地図や現在位置を計測する必要がなく、オドメトリによるロボット軌道が前記多数のパーティクルの軌道演算によって、最適に推定されて修正される。従って、レンタル業者等の作業員が初期設定として、環境地図を掃除ロボットに記憶させれば良く、使用者は掃除ロボットにより部屋等の清掃領域を自動的に清掃させることができる。
清掃領域(「環境」とも称している)の空間形状が変化したときのみ、初期設定を前記作業員又は使用者が行えば、後は、自動的に掃除ロボットを走行させ、清掃することができる。
【0023】
本発明の第2形態によれば、前記掃除ロボットの車輪の情報を検出して、オドメトリにより時系列的にロボット座標を導出し、且つ、前記第1回接触を検出したときに前記環境壁面に沿って仮想的に配置される多数のパーティクルからパーティクル座標を導出するから、前記多数のパーティクルから小尤度のパーティクルを消去し、前記オドメトリのロボット座標を修正し、より実際の軌道に近いロボット軌道を得ることができる。即ち、少なくともオドメトリ法により推定された座標を、パーティクルフィルタ法により更新し、多数パーティクルの尤度計算とリサンプリングにより最適軌道を導出し、ロボット軌道を描画し、高効率な掃除ロボットの走行を行い、掃除をすることができる。
前記第2形態によれば、前記ロボット座標記憶部に前記車輪のオドメトリ情報により時系列的に取得されるロボット座標を保存し、前記接触センサが初期段階で第1回接触を検出したときに前記環境壁面に沿って前記多数のパーティクルを仮想的に配置する。前記パーティクル座標記憶部に、前記ロボット座標から導出されるパーティクル座標を保存し、そして、前記パーティクル掃引地図記憶部に、前記環境地図と同一に設けられ且つ前記多数のパーティクルのパーティクル軌道を保存する。前記第1回接触の後で前記接触センサが接触を検出した後続接触時に、前記最適軌道導出手段により、前記多数のパーティクルの尤度を演算し、前記パーティクルの最適軌道を導出する。前記ロボット掃引地図記憶部には、前記後続接触時に前記最適軌道が前記掃除ロボットの軌道として保存される。
更に、前記第1形態によれば、前記リサンプリング手段では、前記後続接触時に前記多数のパーティクルから小尤度のパーティクルが消去される。よって、より実際の掃除ロボットに近い軌道を導出することができ、前記後続接触時に前記掃除ロボット及び前記パーティクルを前記環境内に回転反射させ、軌道の無い又は少ない領域を走行させ、前記環境地図の全領域を隈なく清掃することができる。
【0024】
本発明の第3形態によれば、前記第1回接触時に前記環境壁面に沿って配置される前記多数のパーティクルは、前記掃除ロボットが前記環境壁面と接触する接触点近傍に配置されるから、実際の軌道に近い前記多数のパーティクルの軌道を導出することができ、より尤度が高いパーティクル軌道を残すことができる。従って、第2の形態の掃除ロボットによれば、推定されたロボット軌道の無い又は少ない領域を走行させ、より高効率に清掃することができる。
【0025】
本発明の第4形態によれば、前記パーティクル掃引地図は格子状に配置された多数のグリッドにより多分割され、前記パーティクル軌道が通過していないグリッドは未掃引グリッドとして判定され、前記パーティクル軌道が通過したグリッドは前記未掃引グリッドから掃引済みグリッドへと変化し、前記パーティクル軌道を前記掃引済みグリッドによって表現するから、自動的に掃除ロボットを走行させ、より高効率に清掃することができる。
更に、前記パーティクル掃引地図は格子状に配置された多数のグリッドにより多分割されることにより、演算がより容易になり、且つデータ量が低減するから、より簡単な演算手段や記憶装置を用いることができ、製造コストを低減化することができる。
【0026】
本発明の第5形態によれば、前記パーティクルが前記環境壁面又は演算上の仮想壁面に接触して反射されるとき、接触点から環境内に放射状に離散放射線分を引き、前記離散放射線分が通過する前記未掃引グリッドの個数が最大の最大放射線分の方向に前記パーティクルを回転反射させるから、より高効率に環境内を走行し、掃除することができる。
前記パーティクルが反射する面は、前記環境壁面と演算上の仮想壁面のいずれでも良く、前記パーティクルが大きさを持たない質点とすれば、実際の壁面を前記環境壁面が反射する壁面とすることができ、前記パーティクルが大きさを持つと仮定した場合には、前記パーティクルの半径分だけ、前記仮想壁面が実際の壁面より内側に、演算上、設けられて前記パーティクルの反射が演算される。
第5形態によれば、接触点から環境内に放射状に離散放射線分を引き、前記離散放射線分が通過する前記未掃引グリッドの個数が最大の最大放射線分の方向に前記パーティクルを回転反射させる。従って、より未掃引グリッドが多い方向に、掃除ロボットを走行させ、より高効率に掃除することができる。
【0027】
本発明の第6形態によれば、前記パーティクルは最大の尤度を有するパーティクルであるから、実際の掃除ロボットの軌道に近いロボット軌道が導出され、且つ、このパーティクルの前記最大放射線分の方向に前記掃除ロボットを回転反射させるから、前記方向に掃除ロボットを走行させ、さらに高効率に前記環境内を掃除することができる。
【0028】
本発明の第7形態によれば、前記尤度は、前記掃除ロボットが前記環境壁面に接触したときに、前記パーティクルが前記環境壁面又は演算上の仮想壁面から離間する距離の確率分布及び/又は前記掃除ロボットが前記環境壁面に接触していないのに前記パーティクルが前記環境壁面又は前記仮想壁面に接触した誤接触回数の確率分布により計算されるから、より実際の運動に近い前記掃除ロボットの軌道を推定することができる。前記多数のパーティクルのうち、前記掃除ロボットが前記環境壁面に接触したとき、壁面から離間してその距離が大きいものから小さいものまであり、この分布が確率分布として与えられる。また、前記多数のパーティクルのうち、前記掃除ロボットが前記環境壁面に接触していないのに、接触しているものがあり、前記多数のパーティクルの誤接触回数となり、これも確率分布を有する。これらの確率分布又はそれらのいずれかを用いて、より実際の運動に近い前記掃除ロボットの軌道を推定し、以降の軌道を、より実軌道に近く推定することができ、より高効率に前記環境内を掃除することができる。
【0029】
本発明の第8形態によれば、前記最適軌道は、前記尤度から最大値として選択される最大尤度を有するパーティクルの前記パーティクル軌道、前記尤度を重みとした各パーティクル軌道の重み付き平均軌道、及びパーティクル毎に投票を行って当選したパーティクルの前記パーティクル軌道を含む軌道から選択されるから、環境や演算手段の特性に応じて、より好適な前記パーティクル軌道を選択して用いることができる。例えば、前記演算手段のスペックや演算方法等に応じて、前記パーティクル軌道の導入方法が選択される。
【0030】
本発明の第9形態によれば、前記後続接触時に前記多数のパーティクルから小尤度のパーティクルを消去するリサンプリング手段が、前記後続接触時に生き残ったパーティクルを最大尤度のパーティクルの近傍に集めるリサンプリング手段であるから、より実軌道に近い掃除ロボットの軌道を推定することができる。従って、第8の形態の掃除ロボットによれば、より高効率に前記環境内を掃除することができる。
【0031】
本発明の第10形態によれば、前記環境内の床面に接触するように払拭体を前記掃除ロボットに装備し、走行中に前記床面を前記払拭体により掃除するから、前記床面の塵埃等を前記払拭体でより清掃することができる。掃除ロボットは、さらに、吸引装置付きの掃除機ロボット等として用いることも可能である。また、例えば、前半の走行で洗剤を塗布し、後半の走行でそれらを拭き取ることも可能である。
【図面の簡単な説明】
【0032】
【図1】図1は、本発明に係る掃除ロボット4の斜視概略図である。
【図2】図2は、本発明に係る掃除用ロボットのオドメトリ情報とオドメトリ座標の説明図である。
【図3】図3は、本発明に係るオドメトリによる位置X(t)、Y(t)と姿勢角Θ(t)の演算説明図である。
【図4】図4は、本発明に係る掃除ロボットのパラメータ一覧と写真図である。
【図5】図5は、本発明に係る環境地図作成の説明図である。
【図6】図6は、本発明に係るパーティクルフィルタの演算フロー図である。
【図7】図7は、本発明に係る掃除ロボットと第1回接触の計測に関する説明図である。
【図8】図8は、本発明に係る掃除ロボットの第1回接触点におけるパーティクルの配置を説明する説明図である。
【図9】図9は、本発明に係るロボット座標とパーティクル座標の説明図である。
【図10】図10は、本発明に係る掃除ロボットの回転・並進の計算を説明する説明図である。
【図11】図11は、本発明に係るパーティクルの回転・並進の計算を説明する説明図である。
【図12】図12は、本発明に係るパーティクル座標の計算を説明する説明図である。
【図13】図13は、本発明に係る掃除ロボットの次回接触時点におけるリサンプリングに関する説明図である。
【図14】図14は、本発明に係る誤接触尤度WSの説明図である。
【図15】図15は、本発明に係るパーティクルのリサンプリングに関する説明図である。
【図16】図16は、本発明に係るロボット軌道の最適推定に関する説明図である。
【図17】図17は、本発明に係るパーティクル掃引地図に関する説明図である。
【図18】図18は、本発明に係る反射角度制御法と未掃引グリッド数最大方向反射法の説明図である。
【図19】図19は、本発明に係る掃除ロボットに内蔵される走行制御装置のブロック構成図である。
【図20】図20は、本発明に係る環境地図作成のフローチャート図である。
【図21】図21は、本発明に係る尤度Wの計算フローチャート図である。
【図22】図22は、本発明に係るパーティクルフィルタ法に関するフローチャート図である。
【図23】図23は、本発明に係る掃除ロボットの実験に用いられた環境形状である。
【図24】図24は、本発明に係る掃除ロボットの掃引率の時間変化を示すグラフ図である。
【図25】図25は、本発明に係る掃除ロボットのロボット掃引経路図である。
【図26】図26は、本発明に係る掃除ロボットの掃引率と推定された掃引率のグラフ図である。
【図27】図27は、本発明に係るパーティクルフィルタによる位置と方向推定の精度を示すグラフ図である。
【図28】図28は、本発明に係る他の環境の環境形状を示した形状図である。
【図29】図29は、図28に示した環境形状の掃引率を示すグラフ図である。
【図30】図30は、図28の(28A)に示した環境形状cにおける掃引図である。
【図31】図31は、図28の(28B)に示した環境形状dにおける掃引図である。
【発明を実施するための形態】
【0033】
図1は、本発明に係る掃除ロボット4の斜視概略図である。掃除ロボット4は床2を走行し、床2の表面を掃除する。掃除ロボット4には、一対の車輪6と清掃用の払拭体8が設けられている。図1の掃除ロボット4では、一対の車輪6が対向して設けられているが、掃除用ロボットの安定性を向上させるため、補助的に車輪を1つ以上付設しても良い。掃除ロボット4が走行することにより、払拭体8が床2の表面にある塵埃やその他の汚れを拭き取ることができる。この掃除ロボット4は、後述するように、環境内の環境地図を初期に保存することにより、部屋等の環境内を自動的に掃除することができる。前記掃除ロボット4の下面に吸引口を設けて、電気掃除機と同様の吸引方式にしても構わない。
以下、同部材には同符号を付し、特に説明を必要としない場合には説明を省略する。
【0034】
図2は、本発明に係る掃除用ロボットのオドメトリ情報とオドメトリ座標の説明図である。オドメトリ運動モデル(以下、「オドメトリ」又は「オドメトリ法」とも称する)とは、掃除ロボットが有する車軸回転角センサ(オドメーター)の測定値を積分し、ロボットの現在位置を推定する手法である。掃除ロボットを部屋の初期位置に配置する。掃除ロボットが初期位置に配置されると、自動的に(X,Y)座標軸が設定され、初期位置(X0、Y0)及び初期姿勢角(Θ0)が設定される。両者を含めて初期位置姿勢(X0、Y0、Θ0)と呼ぶ。掃除ロボットは軌道を描きながら、時刻tに位置姿勢(X(t)、Y(t)、Θ(t))まで走行する。車輪半径r、車輪間距離l、並進速度ν、左車輪角速度ωL、右車輪角速度ωRとする。このとき、左車輪周速度はωLr、右車輪周速度はωRrとなる。従って、並進速度vは周速度の平均値としてν=(ωRr+ωLr)/2となる。また、ロボットの角速度はdθ/dt=(ωRr−ωLr)/lで与えられる。
【0035】
図3は、本発明に係るオドメトリによる位置X(t)、Y(t)と姿勢角Θ(t)の演算説明図である。式(1)は、前述された並進速度νとロボット角速度dθ/dt(=ω)を行列表現したものである。時刻tにおける掃除ロボットの現在位置(X(t)、Y(t))は積分表現である式(2)及び式(3)によって与えられる。また、ロボット回転角、Θ(t)は式(4)によって計算される。しかし、車輪は床面との滑りを伴いながら動作するため、オドメトリによる推定手法はロボットの動作距離が長くなるに連れて、大きな誤差を生じる。この誤差をパーティクルフィルタ法により更新し、計測される複数回の接触を経て、掃除ロボットの軌道が推定されると共に、最適な軌道を走行するよう制御され、後述する。
【0036】
図4は、本発明に係る掃除ロボットのパラメータ一と写真図である。写真図に示した本発明の掃除ロボットは、図中のパラメータに設定されており、直径2rが34cm、並進速度νが30cm/s、角速度ωが150deg/sである。左右両輪がモータにより独立駆動され、両モータをコンピュータ制御することにより、図中のパラメータに設定されている。但し、これらのパラメータは可変可能であることは云うまでも無い。
【0037】
図5は、本発明に係る環境地図作成の説明図である。掃除ロボットが走行する環境の環境地図は、ロボットによる掃除作業の初期段階に行われる。掃除ロボットには距離測定器10が設けられ、破線矢印で示されるように、前記距離測定器10により環境境界12までの距離と障害物14の表面までの距離が測定される。前記障害物14の表面全体が1回で計測できない場合、掃除ロボットを移動し、前記距離測定器10によって1回目の測定で計測できなかった前記境界12までの距離や前記障害物14の表面までの距離が測定される。よって、初期段階の1回以上の測定で、前記距離測定器10により距離を計測し、環境地図が作成される。例えば、この初期段階に行われる環境地図の作成は、レンタル業者等の作業者が行い、掃除ロボットをレンタルして、掃除ロボットの使用者が所定時に環境内を自動的に掃除させることができる。
【0038】
図5の距離測定器10は、種々の装置を利用することができ、レーザーレンジファインダ、超音波センサによる空間認識システム、RFIDシステム等を利用することができる。即ち、初期段階に空間地図を作成できれば良く、レーザー光、電波などの含む光や超音波などの音波を用いることができる。例えば、RFIDシステムを用いる場合、初期段階には、環境境界12を特徴付ける複数の要所や障害物14の形状を特徴付ける要所に、RFIDタグが配置される。これらのRFIDタグにより位置情報を発信し、掃除ロボットのRFIDアンテナにより受信して環境地図を形成し、掃除ロボットの環境地図記憶部に保存される。
RFIDシステムは、リーダ部(アンテナ及び読取部)とタグから構成され、電波によりタグから固有のIDを受信できる。タグにはActive型とPassive型がある。利用できる周波数には、134.2kHz帯(LF帯)〜13.56MHz帯(HF帯)〜高周波帯(例、UHF帯)があり、HF帯のRFIDシステムを用いると、低周波のものより通信可能距離が長く小型であり、高周波のものよりノイズに強く安価である利点を有する。
【0039】
図6は、本発明に係るパーティクルフィルタの演算フロー図である。このフローの開始される前に、上述のように、初期段階で環境地図が作成され、環境地図記憶部に保存されている。
(1)初期化
ロボットが環境障壁と第1回接触をした時点で、後述するように、環境障壁に多数のパーティクルを一様に分布又は配置し、これを「パーティクルの初期化」と称し、詳細は後述する。X−Y座標が空間地図に固定され、掃除ロボットやパーティクルの位置が座標で表される。パーティクルの方向は障害物内部へ向かう180度方向からランダムに選択する。このとき、ロボットを点として表現(図5の距離測定器10をロボットの点と考える)し、図5の障害物14を考えると計算に便利である。すなわち、多数のパーティクルの位置に関する分布は、障害物との境界上に一様に分布し、「コンフィグレーション障害物モデル」と称されている。
多数のパーティクルの分布が比較的予測される場合には、前記第1回接触時に前記環境壁面に沿って多数のパーティクルが前記掃除ロボットの接触する前記環境壁面の接触点近傍に配置されても良く、比較的少ないパーティクル数で又は比較的効率的に多数のパーティクルの軌道を演算することができる。
パーティクルの数は、多ければ多いほど精度が向上するが、演算処理の負担が大きくなり、さらに、演算装置のコストを増大させる。パーティクルの数は、10,000個程度が好ましく、1,000個程度がより好ましい。しかしながら、100個以上あることが望ましい。
【0040】
以下も、図6のフローに基づいて概略を説明し、座標等の具体的な標記の詳細は後述する。
(2)運動の更新
掃除ロボットが壁面と接触反射した後。ロボット座標と多数のパーティクル座標を時系列的に逐次更新する。ここで、ロボット座標は、オドメトリ法により更新され、パーティクル座標は、パーティクルフィルタ法により更新される。
(3)次回接触(第2回以降の接触)
多数のパーティクルの尤度計算により、パーティクルをリサンプリングし、掃除ロボットの最適軌道を推定する。先ず、尤度Wの計算を行い、尤度Wは次の式で表される。
尤度W=距離尤度Wt×誤接触尤度Ws
次に、リサンプリングにおいて、小尤度のパーティクルを消去する。その結果、掃除ロボットの掃引地図は、大尤度のパーティクルから最適軌道を導出し、ロボット軌道として描画されて作成される。
上述の(2)と(3)の演算を反復することにより、より実座標に近いロボット軌道が描画される。
【0041】
図7は、本発明に係る掃除ロボットと第1回接触の計測に関する説明図である。図7は、図6に示した「(2)運動更新:ロボット座標」におけるオドメトリ法をより具体的に説明するものである。環境には、X−Y座標が環境座標として設けられている。掃除ロボット4が基地PB(XB,YB,ΘB)から出発して、壁面に沿った環境境界12のP(X,Y,Θ)で第1回接触が起こる。掃除ロボットのロボット座標(X,Y,Θ)は、前述のオドメトリ法で位置計測される。即ち、掃除ロボット4のオドメトリ座標は、回転、並進及び到達地点での回転に分割し、それらに誤差を加えて更新位置を求める。オドメトリ座標の更新についての詳細は後述する。
【0042】
図8は、本発明に係る掃除ロボットの第1回接触点におけるパーティクルの配置を説明する説明図である。掃除ロボット4の第1回接触点P(X,Y,Θ)で環境境界12と接触したとき、この第1回接触点P(X,Y,Θ)の周辺における壁面に沿ってN個のパーティクルp1〜pNが分散配置される。図中には、N個のパーティクルとパーティクル座標p1(x1,y1,θ1),p2(x2,y2,θ2),・・・,(xN,yN,θN)が模式的に記載されている。ロボット座標やN個のパーティクルは、それらの軌道を取り扱う場合、大きさを持たない質点として考えることも可能である。パーティクル座標(x,y,θ)は、パーティクルフィルタ法により計算される。パーティクルの方向角θは、環境内部に向かう180度方向からランダムに選択される。
【0043】
図9は、本発明に係るロボット座標とパーティクル座標の説明図である。図8は、図6に示した「(2)運動更新」で反復するロボット第I回接触から第I+1回接触(I=1〜n)までのロボット座標とパーティクル座標等をより具体的に記載したものである。オドメトリ情報は、1つ前と現在の情報を表しており、時刻tは、関係(5)に示すように、t=t−Δtからt=tに変化し、Δtだけ時間が進む。このとき、ロボット座標は、関係(6)に示すように、(X,Y,Θ)から(X’,Y’,Θ’)に変化する。
N個のパーティクル座標は、関係(7)〜(9)に示すように、パーティクル1が(x1,y1,θ1)から(x1’,y1’,θ1’)に変化し、任意のパーティクルkが(xk,yk,θk)から(xk’,yk’,θk’)に変化し、N個目のパーティクルNのパーティクル座標が(xN,yN,θk)から(xN’,yN’,θN’)に変化する。即ち、1の代表パーティクルのパーティクル座標は、(x,y,θ)から(x’,y’,θ’)に変化する。
【0044】
図10は、本発明に係る掃除ロボットの回転・並進の計算を説明する説明図である。オドメトリ座標において、ロボット座標(X,Y,Θ)、(X’,Y’,Θ’)から前の回転Δrot1,並進Δtrans,現在の回転Δrot2を求める。環境に設定されたX−Y座標上において、前述のように、ロボット座標は、移動によって(X,Y,Θ)から(X’,Y’,Θ’)に変化する。このときの直線で表される並進距離を並進Δtransとし、掃除ロボットの1つ前の回転角度Θと並進Δtransの直線のなす角をΔrot1とし、現在の回転角度Θ’と並進Δtransの直線のなす角をΔrot2とする。よって、式(11)、式(12)及び式(13)の関係式が成り立つ。回転Δrot1,並進Δtrans,現在の回転Δrot2をオドメトリ情報とする。
【0045】
図11は、本発明に係るパーティクルの回転・並進の計算を説明する説明図である。(1)に記載されるように、先ず、掃除ロボットの前の回転Δrot1,並進Δtrans,回転Δrot2に誤差を加入する。加入された値を、パーティクルの前の回転δrot1,並進δtranns、現在の回転δrot2とし、式(14)、式(15)、式(16)に記載されるように表される。定数αについては後述する。
(2)に記載されるように、式(14)、式(15)、式(16)において、誤差はnormal(Q)で表され、このnormal(Q)は、平均0,分散Qの正規分布からリサンプリングされた値である。
(3)に記載されるように、ここで、α1,α2,α3,α4は、適当な定数であり、これらを調整することでオドメトリ誤差を表現する。
式(14)〜(16)に記載される前の回転δrot1,並進δtranns、現在の回転δrot2を「誤差加入オドメトリ情報」と称している。
【0046】
図12は、本発明に係るパーティクル座標の計算を説明する説明図である。パーティクルの前の座標(x,y,θ)と、パーティクルの前の回転δrot1と、並進δtransと、現在の回転δrot2から、パーティクルの現在の座標(x’,y’,θ’)を求める。オドメトリ座標と同様に、パーティクル座標は、移動する前と後の直線距離を並進δtransとし、パーティクルが進行する角度θの方向と並進δtransの直線がなす角をδrot1とする。更に、移動後にパーティクルが進行する角度θ’の方向と並進δtransの直線がなす角をδrot2とする。よって、パーティクル座標は、式(17)〜式(19)のように表される。
【0047】
図13は、本発明に係る掃除ロボットの次回接触時点におけるリサンプリングに関する説明図である。図13では、図6のフローの概略に関する説明で述べたように、パーティクルの尤度計算に関して説明する。
第I+1回接触時点(I=1〜n)において、尤度Wは、パーティクルの尤もらしさの確立である。距離尤度Wtと誤接触尤度Wsを掛け、図13の式(20)で表される。
(1)距離尤度Wtについて
距離尤度Wtは、接触位置からの距離に応じた正規分布による尤度である。図13中には、パーティクルpと環境境界12又は障害物14が記載されている。破線は仮想壁面であり、例えば、掃除ロボットを点として表現するコンフィグレーション壁面では、仮想壁面に対する接触を考え、掃除ロボットの半径だけ内側で接触する演算上の仮想壁面を用いる。実線は、実際の壁面12であり、コンピュータによる計算では、前記仮想壁面が便利である。壁面が障害物14の表面の場合も同様である。
パーティクルの全個数をN、パーティクルkの壁面からの距離をzkとしたとき、パーティクルの距離zの確率分布を、例えば、正規分布とし、N個のパーティクルの距離zkの平均と分散から尤度を決定する。このとき、距離尤度Wtは、図13の式(21)で与えられ、分散ΣWは式(22)で与えられ、平均av(z)は式(23)で与えられる。
【0048】
図14は、本発明に係る誤接触尤度WSの説明図である。図13では、「尤度W」の説明(1)として「距離尤度Wt」について説明した。図14では、「尤度W」の説明(2)として「誤接触尤度WS」について説明する。
(2)誤接触尤度WSについて
誤接触尤度WSは、誤接触検出の回数nを変数とする確率分布の値であり、掃除ロボットが接触を検出していないとき、接触を検出したパーティクルの尤度を低くする。例えば、正規分布による尤度は、パーティクルの全個数をN、パーティクルkの誤検出回数をnkとしたとき、誤接触尤度WSは図14の式(24)で表される。ここで、分散ΣSは式(25)で表され、平均av(n)は式(26)で表される。
【0049】
図15は、本発明に係るパーティクルのリサンプリングに関する説明図である。リサンプリングにより、接触センサで検出される2回目からの接触毎に、大きな尤度のパーティクルを残して、正確なロボット軌道を推定する。例えば、リサンプリングにおいて、接触毎に最大尤度を中心に比率r(0<r<1)のパーティクルを残す。例示すたリサンプリングの方法(図15の(1)〜(3)参照)では、先ず、第1回目の接触において、N個のパーティクルを分散配置する。次に、第2回目の接触では、N×r個のパーティクルを残す。これらの計算を繰り返し、第n回目の接触では、N×rn-1個のパーティクルを残す。即ち、第n回目接触の個数Nrは、Nr=N×rn-1個となる。図15に示すように、NがN=1000、r=0.9の場合、接触数rが1から61まで増加すると、パーティクル数Nrは、1000から1.79まで減少し、確からしいパーティクルが残される。
【0050】
図16は、本発明に係るロボット軌道の最適推定に関する説明図である。ここでは、パーティクルフィルタ法の他の例を説明する。
(1)第1回目接触
第1回目接触では、I=1とする。次に、N個のパーティクル毎にパーティクル掃引地図を配置し、N個のパーティクル掃引地図にパーティクル座標を用いてパーティクル軌道を描く。
(2)第2回目以後の接触
第2回目以後の接触(2≦I≦n)では、尤度計算によりロボット軌道の推定を行う。先ず、第2回目以後の接触(I=I+1)に関し、各パーティクルの尤度計算から最適軌道を導出する。ここでは、尤度の重み付平均座標を最適軌道とし、平均座標<x>,<y>は、各々、式(27)、(28)で与えられる。次に、最適軌道を第1回目接触から第I+1回目接触の間におけるロボット軌道とする。ロボット軌道をロボット掃引地図に描き、尤度によりリサンプリングしてパーティクル数を減らし、確からしいパーティクルを残す。第2回目以後の接触(2≦I≦n)において、このリサンプリングの操作を繰り返すことにより、ロボット軌道の最適推定を行う。
【0051】
図17は、本発明に係るパーティクル掃引地図に関する説明図である。図17に示すように、パーティクル掃引地図は、格子状のグリッドに多分割され、掃引済領域、未掃引領域、環境外・障害物領域(掃引不可)に分けられている。
環境外・障害物領域として、環境外又は壁面外(障害物を含む)のグリッドを固定し、例えば、黒色で表し、不変な固定値に設定される。尚、破線は、演算上の仮想壁面である。未掃引領域として、環境内又は壁面内(障害物を除く)のグリッド(「未掃引グリッド」とも称される)を可変とし、例えば、灰色で表し、可変な固定値“0”に設定される。掃引済領域は、パーティクルが掃引したグリッドは終了状態とし、例えば、白色で表し、掃引したグリッドの値“1”に設定される。これらの演算により、掃引地図が作成されていく。
「ランダム反射法」では、壁面接触時にパーティクルをランダムに反射させて、パーティクルが環境内を隈なく掃引するようにする。これは、大尤度が出現しない掃引初期に有効な方法である。
【0052】
図18は、本発明に係る反射角度制御法と未掃引グリッド数最大方向反射法の説明図である。
<反射角度制御法>
反射角度制御法では、壁面反射時にパーティクルの反射角度を制御して、パーティクルを環境内に隈なく掃引するようにする。これは、大尤度が出現する掃引中期から有効な方法である。
<未掃引グリッド数最大方向反射法>
未掃引グリッド数最大方向反射法では、図18のグリッドを有する掃引地図に記載されるように、壁面接触時に最大尤度パーティクルから離散放射線を引き、壁面との交点までの放射線分を算定し、描画される。放射線分が通過する未掃引グリッドの個数を算出する。未掃引グリッドの個数が最大の最大放射線分の方向にパーティクルを反射回転させるため、θの値を設定する。最大放射線分の方向に掃除ロボットを反射させるため、Θの値が設定される。
【0053】
図19は、本発明に係る掃除ロボットに内蔵される走行制御装置16のブロック構成図である。走行制御装置16は、コンピュータ18、走行制御部34、車輪部6、車輪センサ36、接触センサ38から構成される。コンピュータ18は、データ記憶部20、プログラム記憶部26、演算部28、制御部30、入出力部32を少なくとも有している。前記データ記憶部20は、ロボット座標記憶部21、パーティクル座標記憶部22、パーティクル掃引地図記憶部23、ロボット掃引地図記憶部24、環境地図記憶部25を有している。車輪センサ36は、回転速度センサや方向センサなどから構成され、車輪部6の回転数や方向などを検出して、それらの情報は入出力部32を介してコンピュータ18に出力される。検出されたセンサ情報はオドメトリ法により演算されて、掃除ロボット4のロボット座標(X,Y,Θ)がロボット座標記憶部21に保存される。環境の環境地図は、初期段階に掃除ロボットに設けられた種々の空間認識手段により作成され、環境地図記憶部25に保存される。前記空間認識手段としては、前述のレーザーレンジファインダ、超音波センサ、RFIDシステムなどがある。
上述のように、ロボット座標記憶部21に、車輪センサ36を介したオドメトリ情報により時系列的に取得されるロボット座標を保存する。接触センサ38が初期段階で第1回接触を検出したときに環境壁面に沿って、多数のパーティクルを仮想的に配置する。パーティクル座標記憶部22に、ロボット座標から導出されるパーティクル座標を保存し、そして、パーティクル掃引地図記憶部23に、環境地図と共に多数のパーティクルのパーティクル軌道を保存する。第1回接触の後で接触センサ38が接触を検出した後続接触時に、最適軌道導出手段により、多数のパーティクルの尤度を演算し、パーティクルの最適軌道を導出する。前記ロボット掃引地図記憶部24には、後続接触時に最適軌道が掃除ロボットの軌道として保存される。プログラム記憶部26に保存されたリサンプリング法に基づいて、制御部30により演算部28で演算され、後続接触時に多数のパーティクルから小尤度のパーティクルが消去される。よって、より実際の掃除ロボットに近い軌道を導出することができ、走行制御部34によって、後続接触時に掃除ロボットを環境内に回転反射させ、軌道の無い又は少ない領域を走行させ、前記環境地図の全領域を隈なく清掃することができる。更に、後続接触時にパーティクルを環境内に回転反射させ、リサンプリングにより大尤度のパーティクルのみを残し、掃除ロボットの走行制御の精度を向上させる。
【0054】
図20は、本発明に係る環境地図作成のフローチャート図である。ステップS1において、レーザーレンジファインダをオン状態になると、ステップS2において、レーザーレンジファインダの測定位置に対して座標が固定される。測定位置が決定されると、ステップS3において、レーザーレンジファインダのビーム塔が回転を開始する。ステップS4において、レーザーが発射され、壁面反射レーザーが受信され、ステップS5では、壁面までの距離が測定され、壁面反射点座標を算出する。ステップS6では、ビーム塔を一回転されると(Y)、ステップ7へ進み、ビーム塔の回転が終了しない場合(N)、ステップS3へ戻る。
ステップS7では、壁面反射点座標から環境地図が完成され(Y)、環境地図が完成されない場合(N)、ステップS8において、掃除ロボットが別位置に移動し、レーザーレンジファインダが別位置に配置され、ステップS3に戻り、環境地図が完成されるまで繰り返す。前記環境地図が完成されると、ステップ9において、環境地図記憶部に環境地図が保存され、環境地図作成のフローが終了する。
【0055】
図21は、本発明に係る尤度Wの計算フローチャート図である。ここでは、図20のフローチャートで作成された環境地図が用いられる。ステップS10において、環境外(障害物を含む)を黒色とし、不変の固定値とする。環境内(障害物を除く)の全グリッドを灰色とし、可変の値(0など)とする。ロボット掃引制限時間Tを設定する。ステップS11では、掃除ロボットが基地から発進する(Y)。ステップS12では、掃除ロボットが壁面と第1回接触を検出した場合(Y)、ステップS13に進み、第1回接触が検出されない場合(N)、検出されるまでステップS12が繰り返される。ステップS13では、接触回数IをI=1とし、その時刻tをt=0とする。更に、同ステップでは、第1回接触点近傍にN個のパーティクルを分散配置する。
ステップS14では、時刻tが進み、t=t+Δtとなり、ロボット座標(X,Y,Θ)がオドメトリ法により測定される。更に、同ステップでは、N個のパーティクル座標(x,y,θ)がパーティクルフィルタ法により演算される。ステップS15では、ロボット座標がロボット座標記憶部に、そしてパーティクル座標がパーティクル座標記憶部に保存される。同ステップでは、パーティクルが掃引したグリッドが白色化され、パーティクル軌道がパーティクル軌道記憶部に保存される。ステップS16において、掃除ロボットと壁面との第I+1回目の衝突の検出があった場合(Y)、ステップS17に進み、第I+1回目の衝突の検出されなかった場合(N)、ステップS14に戻り、その衝突が検出されるまで繰り返す。ステップS17において、ロボット掃引制限時間内(t<T)の場合(Y)、ステップS18に進み、ロボット掃引制限時間以上の場合(N)、掃除ロボットの走行は終了する。ステップS18では、距離尤度Wtを計算し、誤接触尤度Wsを計算し、尤度WはW=Wt×Wsであるから、尤度Wの計算が行われる。
【0056】
図22は、本発明に係るパーティクルフィルタ法に関するフローチャート図である。図21のステップS18で計算された尤度Wが出力され、図22のステップS19において、ランダム反射法をとるかどうか選択され、ランダム反射法を選択した場合(Y)、ステップS20に進み、ランダム反射法を選択しない場合(N)、ステップS25に進む。ステップS20において、パーティクルの重み付き平均軌道又は最大尤度のパーティクル軌道を選択して最大軌道とし、パーティクルのリサンプリングでは、小尤度のパーティクルが消去される。ステップS20からは次にステップS21に進み、最適軌道を第I回目接触から第I+1回目接触の間のロボット軌道とし、ロボット掃引地図記憶部に保存される。ステップS22では、パーティクルを壁面でランダム反射させる。ステップS23では、I=I+1として、図21のステップS14に進む。
ステップS19において、ランダム反射法を選択しない場合(N)、ステップS24において、反射角制御法を選択するかどうか決定する。ステップS24において、反射角制御法を選択する場合(Y)、ステップS25に進み、ステップS20と同様に、パーティクルの重み付き平均軌道又は最大尤度のパーティクル軌道を選択して最大軌道とし、パーティクルのリサンプリングでは、小尤度のパーティクルが消去される。ステップS25からはステップS26に進み、ステップS21と同様に、最適軌道を第I回目接触から第I+1回目接触の間のロボット軌道とし、ロボット掃引地図記憶部に保存される。ステップS27では、反射角制御法による演算が行われ、先ず、最適軌道パーティクルの壁面接触点から壁面交点を終端とする離散放射線分を引く。同ステップでは、次に、放射線分が通過する灰色の未掃引グリッド数が最大の最大放射線分を導出し、最大放射線分の方向にパーティクルを反射させ、その方向に掃除ロボットも反射させる。次に、ステップS23に進み、I=I+1として、図21のステップS14に進む。
ステップS24において、反射角制御法を選択しない場合(N)、ステップS28に進み、ランダム反射法と反射角制御法の混合法が選択される。次に、ステップS29において、最大尤度が圧倒的に大きいかどうか判断する。最大尤度が圧倒的に大きい場合(Y)、ステップS31に進み、最大尤度のパーティクルの軌道を最適軌道とし、パーティクルのリサンプリングを行い、小尤度のパーティクルを消去する。次に、前述のステップS26、S27、S23と進み、図21のステップS14に進む。
ステップS29において、最大尤度が圧倒的に大きくない場合(N)、ステップS30に進み、パーティクルの重み付き平均軌道を最大軌道とし、パーティクルのリサンプリングにより、小尤度のパーティクルが消去される。次に、ステップS21、S22、S23と進み、図21のステップS14に進む。
よって、ロボット掃引制限時間内にパーティクルフィルタ法が適用され、掃除ロボットがより確からしく、未掃引の軌道を走行するから、環境内をより高効率に掃除することができる。
【0057】
図23は、本発明に係る掃除ロボットの実験に用いられた環境形状である。実験用の環境形状a、bは、図23に示す2つの場合であり、(23A)の写真図と(23B)の写真図である。これらは、同一の広さの環境であり、障害物の配置が異なっている。(23C)及び(23D)には、夫々、環境形状aと環境形状bのサイズを示すため、上面から見た形状を示している。2つとも縦2,520cm、横3,640cmである。(23A)の環境形状aは比較的何もない環境であり、環境形状bは、少し複雑な形状である。掃除ロボットは、図4に示した掃除ロボットを用いており、実際の動作経路を計測するため、実験環境にはレーザレンジセンサを取り付けている。レーザレンジセンサにより、掃除ロボットに取り付けた円筒状のマーカーを検出し、掃除ロボットの中心位置を測定する。さらに、この測定をもとに初期位置を与えた拡張カルマンフィルタを通すことで、掃除ロボットの姿勢を推定し、実際の値として用いる。この姿勢は、掃除ロボットの姿勢推定の精度に対する検証に用いられる。それぞれの環境について、掃除ロボットを3回動作させ実験を行った。掃除ロボットの動作は、回転角度制御のあるものと、比較動作としてランダムな回転角度を用いるもので行った。但し、ランダムな回転角度の範囲は障害物への連続の衝突を避けるため90度から180度とし、回転方向は接触方向に応じて設定した。即ち、右の接触センサが反応した場合は左回転、左の接触センサが反応した場合は右回転、両方の接触センサが反応した場合はランダムに方向を選択する。掃除ロボットは、それぞれ5分間動作させた。ここで、推定のパーティクル数は1000個、グリッドサイズは、1cm×1cmとした。掃除ロボットが一度以上通過した領域は掃引済領域とみなす。
【0058】
図24は、本発明に係る掃除ロボットの掃引率の時間変化を示すグラフ図である。図24には、図23の(23A)と(23B)の形状に対する掃引率の時間変化が示されている。掃引率は、環境の掃引可能領域に対する実際に掃引された領域である。横軸の時間が経過するほど、掃引率が増加し、グラフの傾きが急であるほど掃引率が高いといえる。また、グラフの上限が100%に近づくほど全体を掃引できており、高効率に掃除ができることを示している。(24a)の結果では、図23の(23a)に示した環境形状aのような単純な環境においては、反射角制御法とランダム反射法に掃引率の大きな違いが見られなかった。これは、単純な形状であればある程、方向を変えても大体良く環境全体を掃引できるためと考えられる。一方、(24B)に示した結果において、図23の(23b)の環境形状bのように、より複雑な環境形状では、反射角制御法の方が高い性能を示した。反射的な動作のみでは環境の複雑さが増すにつれ効率が低減する場合があり、反射角制御法では、その影響が小さいといえる。
【0059】
図25は、本発明に係る掃除ロボットのロボット掃引経路図である。(25A)と(25B)は、図23の(23A)に示した環境形状a(以下、単に「環境形状a」と称する)のロボット掃引経路図である。いるれも掃除ロボットを5分間掃引させている。(25A)は、ランダム反射法により掃除ロボットを走行させた結果であり、(25B)は、反射角制御法により掃除ロボットを走行させた結果である。(25A)(25B)を比較すると、(25B)に示した反射角制御法の方がムラなく掃除ロボットを掃引できている。同様に、(25C)と(25D)は、図23の(23B)に示した環境形状b(以下、単に「環境形状b」と称する)のロボット掃引経路図である。(25C)は、環境形状bをランダム反射法により掃除ロボットを走行させた結果であり、(25D)は、環境形状bを反射角制御法により掃除ロボットを走行させた結果である。(25C)(25D)を比較すると、(25D)に示した反射角制御法の方がよりムラなく掃除ロボットを掃引できている。
【0060】
図26は、本発明に係る掃除ロボットの掃引率と推定された掃引率のグラフ図である。
<掃引率の推定>
掃引の進行状況を知ることは、掃引の計画を立てる場合や無駄な掃引をしないために重要である。ここでは、各パーティクルの地図における掃引済みのグリッドの数を平均することにより掃引率を推定している。(26A)は、前記環境形状aにおいてランダム反射法により掃除ロボットを実際に掃引させた場合(measured)と推定された掃引率(estimated)の比較であり、(26B)は、前記環境形状aにおいて反射角制御法により掃除ロボットを実際に掃引させた場合(measured)と推定された掃引率(estimated)の比較である。同様に、(26C)は、前記環境形状bにおいてランダム反射法により掃除ロボットを実際に掃引させた場合(measured)と推定された掃引率(estimated)の比較であり、(26D)は、前記環境形状aにおいて反射角制御法により掃除ロボットを実際に掃引させた場合(measured)と推定された掃引率(estimated)の比較である。
それぞれの状況において精度良く掃引率が推定できている。
【0061】
図27は、本発明に係るパーティクルフィルタによる位置と方向推定の精度を示すグラフ図である。
<位置・軌道推定精度>
ここでは、接触センサ反応時の位置と方向推定の誤差を示してい。各パーティクルの平均をとることで推定値としている。図27では、前記環境形状aにおけるパーティクルの平均と実際のロボット軌道の精度について、図27の(27A)〜(27D)に示す。(27A)は、ランダム反射法によるパーティクルフィルタを用いており、パーティクル平均と実軌道の位置との誤差(位置誤差)が示されている。(27B)は、同様に、ランダム反射法によるパーティクルフィルタを用いており、パーティクル平均と実軌道の方向との誤差(方向誤差)が示されている。(27C)は、反射角制御法によるパーティクルフィルタを用いており、パーティクル平均と実軌道の位置との誤差(位置誤差)が示されている。(27B)は、同様に、反射角制御法によるパーティクルフィルタを用いており、パーティクル平均と実軌道の方向との誤差(方向誤差)が示されている。
パーティクルごとに位置の履歴を保持しておくことで、軌道の推定が可能である。位置推定が一時的に大きな誤差を含む一方で、履歴はほぼ小さな誤差を維持している。履歴の正確さは地図の正確さと関係する。これらのグラフより、逐次的な動作制御により効率的な動作制御が可能であることが分かる。
【0062】
図28は、本発明に係る他の環境の環境形状を示した形状図である。より広い環境や複雑な環境において提案手法の有効性を示すため、更にシミュレーションを行った。オドメトリ誤差と接触センサの反応をシミュレートしている。ここで、オドメトリ誤差は、前述の実験と同様に設定した。環境形状は、図28に示した(28A)の環境形状cと(28B)の環境形状dで行った。前記環境形状cは、一般的なリビングを想定しており、環境形状dは、より複雑な環境を設定している。縦4,000cm、横6,000cmである。パーティクル数は1,500個とし、同様に動作の比較を行う。それぞれの形状について10分間ずつ100回の試行を行った。
【0063】
図29は、図28に示した環境形状の掃引率(Covered area[%])を示すグラフ図である。(29A)は、前記環境形状cにおいて、反射角制御法とランダム反射法により掃除ロボットの掃引率を比較したグラフ図である。前記環境形状cでは、僅かにランダム反射法より反射角制御法による掃除ロボットの掃引率が高くなっており、掃引時間の増加に伴って差が開いている。(29A)は、前記環境形状dにおいて、反射角制御法とランダム反射法により掃除ロボットの掃引率を比較したグラフ図である。前記環境形状dでは、ランダム反射法より反射角制御法による掃除ロボットの掃引率が高く、環境形状が複雑になるに伴って、差が大きくなっており、掃引時間の増加に伴って更に差が開いている。
また、環境が広くなるにつれ、大域自己位置推定後の時間が増えるため反射角制御法の優位性が出てくると考えられる。更に、ランダム反射法では、反射的な動作は環境が複雑になるにつれ性能が落ちる。これに対して、反射角制御法では高い性能を維持している。
【0064】
図30は、図28の(28A)に示した環境形状cにおける掃引図である。掃引図は、ロボット軌道を示した図であり、(30A)は、環境形状cにおいてランダム反射法により掃除ロボットを5分間走行させたシミュレーションの掃引図である。図30では、全て環境形状cにおいてシミュレーションが行われている。(30B)は、反射角制御法により掃除ロボットを5分間走行させたシミュレーションの掃引図である。5分間走行させたシミュレーションにおいても、(30A)と(30B)を比べると、ランダム反射法より反射角制御法の方が掃除ロボットの走行の方が隅々まで掃引されている。(30C)は、ランダム反射法により掃除ロボットを10分間走行させたシミュレーションの掃引図であり、(30D)は、反射角制御法により掃除ロボットを10分間走行させたシミュレーションの掃引図である。(30C)と(30D)を比べると、ランダム反射法より反射角制御法の方が掃除ロボットの走行がより隅々まで掃引されており、時間の経過と共に2つの方法の差がより明確になったと思料される。しかしながら、ランダム反射法による掃除ロボットの走行でも十分に、部屋の隅まで掃引がなされている。
【0065】
図31は、図28の(28B)に示した環境形状dにおける掃引図である。(31A)は、環境形状dにおいてランダム反射法により掃除ロボットを5分間走行させたシミュレーションの掃引図である。図30では、全て環境形状dにおいてシミュレーションが行われている。(30B)は、反射角制御法により掃除ロボットを5分間走行させたシミュレーションの掃引図である。5分間走行させたシミュレーションにおいても、(30A)と(30B)を比べると、ランダム反射法より反射角制御法の方が掃除ロボットの走行の方が隅々まで掃引されており、環境形状が複雑になるとその差がより大きくなっていることが分かる。(31C)は、ランダム反射法により掃除ロボットを10分間走行させたシミュレーションの掃引図であり、(31D)は、反射角制御法により掃除ロボットを10分間走行させたシミュレーションの掃引図である。(30C)と(30D)を比べると、ランダム反射法より反射角制御法の方が掃除ロボットの走行がより隅々まで掃引されており、(31C)では10分経過しても全く掃引されていない領域が存在しており、隅々まで掃除するためには、さらに時間がかかることが分かる。
【産業上の利用可能性】
【0066】
本発明によれば、清掃領域において、複数の位置情報発信部を常時必要とせず、初期に清掃領域の空間形状を認識し、その後は、自動的に清掃領域を清掃でき、且つ、未清掃の空白領域が殆ど無い掃除ロボットを提供することができる。本発明の掃除ロボットは、レンタル業者の作業者が初期段階に設定(清掃領域の記憶など)を行えば、使用者が簡易な保守・管理のみで自動的に清掃領域を隈なく清掃することができる。
【符号の説明】
【0067】
2 床
4 掃除ロボット
6 車輪又は車輪部
8 払拭体
10 距離測定器
12 環境境界
14 障害物
16 走行制御装置
18 コンピュータ
20 データ記憶部
21 ロボット座標記憶部
22 パーティクル座標記憶部
23 パーティクル掃引地図記憶部
24 ロボット掃引地図記憶部
25 環境地図記憶部
26 プログラム記憶部
28 演算部
30 制御部
32 入出力部
34 走行制御部
36 車輪センサ
38 接触センサ

【特許請求の範囲】
【請求項1】
掃除ロボットを走行させる車輪と、内蔵されるコンピュータからの指令により環境内で前記車輪を駆動制御する走行制御部と、前記車輪の情報を検出する車輪センサと、前記掃除ロボットが環境壁面に接触したことを検出する接触センサを少なくとも有して、走行しながら環境を掃除する掃除ロボットにおいて、前記環境の環境地図を保存する環境地図記憶部と、前記接触センサが初期段階で第1回接触を検出したときに前記環境壁面に沿って配置される多数のパーティクルと、前記第1回接触の後で前記接触センサが接触を検出した後続接触時に多数の前記パーティクルの尤度を演算して前記パーティクルの最適軌道を導出する最適軌道導出手段と、前記後続接触時に前記最適軌道を前記掃除ロボットの軌道として保存するロボット掃引地図記憶部と、前記後続接触時に前記多数のパーティクルから小尤度のパーティクルを消去するリサンプリング手段と、前記後続接触時に前記掃除ロボット及び前記パーティクルを前記環境内に回転反射させる反射手段を有することを特徴とする掃除ロボット。
【請求項2】
前記車輪のオドメトリ情報により時系列的に取得されるロボット座標を保存するロボット座標記憶部と、前記ロボット座標から導出されるパーティクル座標を保存するパーティクル座標記憶部と、前記環境地図と同一に設けられ且つ多数の前記パーティクルのパーティクル軌道を保存するパーティクル掃引地図記憶部を有する請求項1に記載の掃除ロボット。
【請求項3】
前記第1回接触時に前記環境壁面に沿って配置される前記多数のパーティクルは、前記掃除ロボットが前記環境壁面と接触する接触点近傍に配置される請求項1又は2に記載の掃除ロボット。
【請求項4】
前記パーティクル掃引地図は格子状に配置された多数のグリッドにより多分割され、前記パーティクル軌道が通過していないグリッドは未掃引グリッドとして判定され、前記パーティクル軌道が通過したグリッドは前記未掃引グリッドから掃引済みグリッドへと変化し、前記パーティクル軌道を前記掃引済みグリッドによって表現する請求項1、2又は3のいずれかに記載の掃除ロボット。
【請求項5】
前記パーティクルが前記環境壁面又は演算上の仮想壁面に接触して反射されるとき、接触点から環境内に放射状に離散放射線分を引き、前記離散放射線分が通過する前記未掃引グリッドの個数が最大の最大放射線分の方向に前記パーティクルを回転反射させる請求項4に記載の掃除ロボット。
【請求項6】
前記パーティクルは最大の尤度を有するパーティクルであり、このパーティクルの前記最大放射線分の方向に前記掃除ロボットを回転反射させる請求項5に記載の掃除ロボット。
【請求項7】
前記尤度は、前記掃除ロボットが前記環境壁面に接触したときに、前記パーティクルが前記環境壁面又は演算上の仮想壁面から離間する距離の確率分布及び/又は前記掃除ロボットが前記環境壁面に接触していないのに前記パーティクルが前記環境壁面又は前記仮想壁面に接触した誤接触回数の確率分布により計算される請求項1〜6のいずれかに記載の掃除ロボット。
【請求項8】
前記最適軌道は、前記尤度から最大値として選択される最大尤度を有するパーティクルの前記パーティクル軌道、前記尤度を重みとした各パーティクル軌道の重み付き平均軌道、及びパーティクル毎に投票を行って当選したパーティクルの前記パーティクル軌道を含む軌道から選択される請求項1〜7のいずれかに記載の掃除ロボット。
【請求項9】
前記後続接触時に前記多数のパーティクルから小尤度のパーティクルを消去するリサンプリング手段は、前記後続接触時に生き残ったパーティクルを最大尤度のパーティクルの近傍に集める請求項1〜8のいずれかに記載の掃除ロボット。
【請求項10】
前記環境内の床面に接触するように払拭体を前記掃除ロボットに装備し、走行中に前記床面を前記払拭体により掃除する請求項1〜9のいずれかに記載の掃除ロボット。

【図1】
image rotate

【図2】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図24】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図3】
image rotate

【図4】
image rotate

【図17】
image rotate

【図18】
image rotate

【図23】
image rotate

【図25】
image rotate

【図30】
image rotate

【図31】
image rotate


【公開番号】特開2013−41506(P2013−41506A)
【公開日】平成25年2月28日(2013.2.28)
【国際特許分類】
【出願番号】特願2011−179118(P2011−179118)
【出願日】平成23年8月18日(2011.8.18)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 平成23年2月21日 「九州大学大学院工学府 知能機械システム専攻 平成22年度修士論文」に発表
【出願人】(000133445)株式会社ダスキン (119)
【Fターム(参考)】