JP2020095666A - 自律掃除機の走行制御方法 - Google Patents
自律掃除機の走行制御方法 Download PDFInfo
- Publication number
- JP2020095666A JP2020095666A JP2019065879A JP2019065879A JP2020095666A JP 2020095666 A JP2020095666 A JP 2020095666A JP 2019065879 A JP2019065879 A JP 2019065879A JP 2019065879 A JP2019065879 A JP 2019065879A JP 2020095666 A JP2020095666 A JP 2020095666A
- Authority
- JP
- Japan
- Prior art keywords
- obstacle
- route
- grid
- cleaning
- control unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000004140 cleaning Methods 0.000 claims abstract description 91
- 238000012545 processing Methods 0.000 claims abstract description 16
- 230000001174 ascending effect Effects 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 5
- 238000007796 conventional method Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000001678 irradiating effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
Landscapes
- Electric Vacuum Cleaner (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
【課題】掃除残しを回避することができる自律掃除機の走行制御方法を提供する。【解決手段】自律掃除機の制御部40は、走行中の自己位置を推定するとともに、走行領域をグリッドマップとして地図情報を作成する。制御部40は、掃除経路上のグリッドに仮想で番号を付与し、自己位置と番号に基づいて走行済みのグリッド番号が分かる処理を行う。【選択図】図2
Description
本発明は、自律掃除機の走行制御方法に関するものである。
自律式の自律掃除機の開発が進んでいる。自律掃除機は自己位置推定の機能を用いて自律走行を行い、最初に生成された掃除経路に沿って掃除を行う。
一方、ロボットの自律走行に関して障害物があった場合の経路生成において、従来法として二次元の領域を正方形のグリッドに分け、そのグリッドのスタート位置からの距離に応じて各グリッドに重み付けを行うDistance Transform法がある(例えば、非特許文献1)。この方法を用いることにより経路上に障害物があったとしても障害物を回避しつつ予め設定した経路に沿った自律走行を可能としている。
一方、ロボットの自律走行に関して障害物があった場合の経路生成において、従来法として二次元の領域を正方形のグリッドに分け、そのグリッドのスタート位置からの距離に応じて各グリッドに重み付けを行うDistance Transform法がある(例えば、非特許文献1)。この方法を用いることにより経路上に障害物があったとしても障害物を回避しつつ予め設定した経路に沿った自律走行を可能としている。
ここで、従来法であるDistance Transform法の考え方を用いて経路生成を行う一例を示す。図20(a)に示すように、ロボットに対してスタートからゴールまでの走行経路を設定する場合において、経路生成ではスタート位置のグリッドに重み0を付与し、スタートグリッドからの距離に基づいて各グリッドに重み付けを行う。ロボットは経路生成において重みとして距離に基づいて経路上のグリッドなら+1、それ以外のグリッドなら+5として付与する。
一方、図20(b)に示すように、設定した経路上(スタートからゴールの直線上)に予め認識されている障害物がある場合には、ロボットは経路上の障害物を回避してゴールに向かう経路を生成する。その際、障害物の手前4までは、重みとして+1が付与され、障害物を進行方向左側(図20(b)の上側)に回避する場合は9から39までは、設定した経路上ではないので重みとして+5が付与された経路が生成される。同様に障害物を進行方向の右側(図20(b)の下側)に回避する9から49までが生成される。そして、障害物を回避して設定した経路上では、左右の回避経路のうち小さい方の重みが用いられる。図20(b)では進行方向左側の回避経路の方が重みが小さいため、39の後(経路上となるため+1され)は40が付与される。その後は、経路上であるためゴールまで+1の重み付けを行いゴールに重み48が付与される。
そして、ゴールまで重みが付与されると、図20(b)において破線で示すようにゴールからスタートまで重みの値が減少するように遡り、スタートまでの経路を生成する。このようにロボットに対して設定した経路から重み付けという手法で障害物を考慮して実際に走行する経路を探索・生成する。
高承明,大矢晃久,油田信一:"指定経路を追従する移動ロボットのための障害物回避走行アルゴリズム",第10回計測自動制御学会システムインテグレーション部門講演会,304−3,pp.2141−2144(2009.12)
しかし、現状用いているDistance Transform法ではスタートからゴールまで予め設定した経路を移動することを目的とするものであり、掃除する経路を設定した掃除ロボットに単純に適用することはできない。特に、掃除ロボットは掃除する床面に対して取りこぼし(掃除し忘れ)をすることなく掃除することが重要であり、スタートからゴールに移動した結果だけでなく、経路上における掃除の状況を把握する必要がある。
また、現状用いているDistance Transform法では、経路設定時に認識されていない障害物(経路設定後に置かれた障害物など)があった場合に以下のような課題が生じる。
図21(a),(b),(c),(d)は、課題を分かり易くするためにスタートからゴールまでの経路をIからIIまでの直線で走行経路を設定しており、その経路上に経路設定時には認識されていない障害物がある場合を想定している。経路が設定されるとDistance Transform法により経路に重み付けが行われ、ゴールに向かう経路が生成され、走行を開始する。掃除ロボットには障害物を検出するためのレーザ式の障害物センサが備えられており、走行時にはその障害物センサで障害物及びその形状を認識する。ここで、図21(b)では障害物の形状を示しているが、実際には図21(a),(b),(c)に示すように障害物を障害物センサで段階的に形状を検出することによって形状が認識される。
図21(a),(b),(c),(d)は、課題を分かり易くするためにスタートからゴールまでの経路をIからIIまでの直線で走行経路を設定しており、その経路上に経路設定時には認識されていない障害物がある場合を想定している。経路が設定されるとDistance Transform法により経路に重み付けが行われ、ゴールに向かう経路が生成され、走行を開始する。掃除ロボットには障害物を検出するためのレーザ式の障害物センサが備えられており、走行時にはその障害物センサで障害物及びその形状を認識する。ここで、図21(b)では障害物の形状を示しているが、実際には図21(a),(b),(c)に示すように障害物を障害物センサで段階的に形状を検出することによって形状が認識される。
したがって、図21(a)に示すように、ロボット位置Aで障害物センサが障害物を認識した際には、ロボットは障害物センサによって得られる障害物の正面部分(正面部分を含む図中黒塗りのグリッド)のみを認識する。なお、ロボットは障害物が認識された時点で障害物を回避する経路を生成するため、Distance Transform法による経路生成を再度行う。この時、障害物の手前では障害物の奥(図中、右側)形状は認識されない。このため、ロボットは障害物の正面部分を含むグリッドの形状であると認識して、経路上である直ぐ奥のグリッド点P1を次の目的地(最短で経路上に戻るルート生成するための地点)として経路R1を生成する。そして、ロボットはゴールに向けて走行する。しかし、図21(b)に示すように、ロボット位置Bで示す障害物の正面角部まで走行した時に障害物の奥の面(右側側面壁)が新たに障害物センサによって検出される。この検出により回避ルート(経路R1)では障害物があり走行できないことを認識するため、Distance Transform法による経路生成をこの時点で再度行う。ここで、上述のように障害物センサが障害物を認識した際には、ロボットは障害物センサによって得られる障害物は右側側面部分(側面部を含む図中黒塗りのグリッド)のみを追加で認識するため、障害物の側面に沿って走行(回避)する経路R2に重み付けが付与される。一方、グリッド点P1までの経路としては障害物を逆の経路にも回避する経路R3にも重み付けが付与される。ロボットは重み付けの結果に基づいて、経路R3より小さい経路R2の経路を生成する。これにより、ロボットはこれまで来た経路を再度戻るように走行し、図21(c)に示すように反対側の角部まで走行すると位置Cで奥の面(右側側面)が新たに検出されるため、再度経路生成を行うことになる。したがって、ロボットが障害物の正面に対して右往左往する現象が起こってしまう。
一方、図21(a)〜図21(c)で説明したような右往左往する問題に対し、図21(d)に示すように、ロボットを一回進んだ方向へは戻らないように進ませるようにすることが考えられる。
その場合、障害物の検出開始時のその後の経路をすべてゴール(図21(d)のG)とする。つまり、障害物を一方向へ回避して、経路上に戻ったら経路上を走行するとする。しかしながら、図21(d)のような形(コ字状)の障害物だと、図21(d)の経路R5を進み、真ん中に掃除すべき経路があるのにもかかわらず通過してしまう。このような経路生成を、自律掃除機に適用すると掃除しなくなる場所が発生する可能性がある。
本発明の目的は、掃除残しを回避することができる自律掃除機の走行制御方法を提供することにある。
上記課題を解決する自律掃除機の走行制御方法によれば、走行中の自己位置を推定する自己位置推定手段と、走行領域をグリッドマップとして地図情報を作成するマッピング手段と、を備え、グリッドマップ上に設定された掃除経路を追従して走行する自律掃除機の走行制御方法であって、掃除経路上のグリッドに仮想で番号を付与し、自己位置と前記番号に基づいて走行済みのグリッド番号が分かる処理を行うようにしたことを要旨とする。
この構成によれば、自律掃除機がグリッドマップ上に設定された掃除経路を追従して走行する際に、掃除経路上のグリッドに仮想で番号が付与され、自己位置と番号に基づいて走行済みのグリッド番号が分かる処理が行われる。よって、走行済みのグリッド番号が分かるので、掃除残しを回避することができる。
また、番号付けを行うとともに走行済みの番号が分かる処理を行うことにより、掃除の残量が分かる。例えば、走行経路上のグリッドの総数に対する走行済みのグリッドの総数の比により掃除の残量が分かる。他にも、番号付けを行うとともに走行済みの番号が分かる処理を行うことにより、掃除走行の途中で停止した場合においても、走行済みの番号が分かっているので、未掃除グリッドから掃除のための走行を再開することができる。また、番号付けを行うとともに走行済みの番号が分かる処理を行うことにより、掃除走行の途中で自律掃除機が移動させられた場合においても、走行済みの番号が分かっているので、未掃除グリッドから掃除のための走行を再開することができる。
また、上記自律掃除機の走行制御方法において、センサで障害物を検出すると、障害物の外周を一周して前記番号を記憶するとよい。これにより、経路設定時には形状が認識されていない障害物の形状を正確に認識できる。そして、障害物の外周に存在する経路の番号を認識することで、障害物があっても走行可能な番号(障害物によって走行できない経路)を確実に認識することができる。
また、上記自律掃除機の走行制御方法において、前記番号を記憶した後に、記憶した番号を小さい番号順にソートし、前記掃除経路上の障害物直前の番号と前記ソートした番号を比較し、ソートした番号のうちで、前記障害物直前の番号よりも大きくかつ近い番号へ走行するとよい。これにより、障害物で次の番号へ走行できない場合でも、確実に掃除経路上で掃除が行われていない番号のうちの一番小さな番号へ、障害物を回避しつつ走行することができる。したがって、障害物が検出されたとしても容易に掃除残しを回避することができる。
また、上記自律掃除機の走行制御方法において、前記番号を記憶した後、前記センサにて新たな障害物を検出すると、その検出した新たな障害物を周回し、周回して得られた新たな番号を先に記憶した番号に追加して記憶するとよい。これによれば、新たな障害物が置かれたことにより、走行中に新たな障害物を検知しても、その障害物を必要最低限の周回で回避して掃除経路に復帰できる。
本発明によれば、掃除残しを回避することができる。
以下、本発明を具体化した一実施形態を図面に従って説明する。
図1に示すように、自律掃除機(自走式掃除機)10は、本体20と、本体20の底面21に開口する吸引口22と、本体20に設けられた4つの全方向移動車輪(以下、車輪と称する)30,31,32,33と、を備える。自律掃除機10は、車輪30,31,32,33によって床を走行することで、床を移動しながら吸引口22によって床上の異物(ゴミ)を吸引する掃除機である。
図1に示すように、自律掃除機(自走式掃除機)10は、本体20と、本体20の底面21に開口する吸引口22と、本体20に設けられた4つの全方向移動車輪(以下、車輪と称する)30,31,32,33と、を備える。自律掃除機10は、車輪30,31,32,33によって床を走行することで、床を移動しながら吸引口22によって床上の異物(ゴミ)を吸引する掃除機である。
吸引口22は一方向に拡がる形状であり、本実施形態では矩形状である。吸引口22の一方向は長手方向であり、吸引口22の短手方向は一方向に直交する方向である。吸引口22の長手方向の寸法L1は、短手方向の寸法L2よりも長い。吸引口22としては、楕円状や、角丸長方形状など、方向に応じて長短が存在する形状であれどのような形状でもよい。
本実施形態の車輪30〜33は全方向移動車輪である。全方向移動車輪は、ホイールの外周に複数のフリーローラを備え、ホイールの回転軸線に対して、フリーローラの回転軸線が90°となるものである。車輪30〜33の複数のフリーローラのうちいずれかのフリーローラは、常時床に接する。車輪30〜33が回転軸を中心として回転すると、フリーローラが順次、路面に接していくことで自律掃除機10は走行する。また、車輪30〜33が回転軸線方向に移動する際には、路面に接しているフリーローラが回転することで回転軸線方向への移動を許容する。
なお、図示は省略するが、本体20の底面21には、床を掃くことで掃除を行うブラシなども設けられる。
図2に示すように、自律掃除機10は、各車輪30〜33を回転させる4つのモータM0〜M3と、掃除に関する部材を動作させる清掃部53と、自律掃除機10の制御を行う制御部40と、周辺環境を認識するためのセンサ51を備える。
図2に示すように、自律掃除機10は、各車輪30〜33を回転させる4つのモータM0〜M3と、掃除に関する部材を動作させる清掃部53と、自律掃除機10の制御を行う制御部40と、周辺環境を認識するためのセンサ51を備える。
モータM0の駆動により車輪30は回転し、モータM1の駆動により車輪31は回転し、モータM2の駆動により車輪32は回転し、モータM3の駆動により車輪33は回転する。これにより、各車輪30〜33の回転方向及び回転数(回転速度)は独立して制御可能である。
清掃部53は、吸引口22を負圧とすることで吸引力を生じさせる送風機や、ブラシを駆動させるためのブラシ駆動用モータなどを含む。
制御部40は、CPU(処理部)41、及び、メモリ(記憶部)42、を備える。メモリ42には、自律掃除機10の駆動に関するプログラムなどが記憶されている。
制御部40は、CPU(処理部)41、及び、メモリ(記憶部)42、を備える。メモリ42には、自律掃除機10の駆動に関するプログラムなどが記憶されている。
制御部40は、清掃部53の制御、即ち、自律掃除機10による掃除を行うか否かの制御を行う。また、制御部40は、各モータM0〜M3の回転数及び回転方向をモータドライバを介して制御することで各車輪30〜33の回転数及び回転方向を制御する。これにより、自律掃除機10は、本体20の向きを維持したまま直進、斜行、横行することが可能である。
図1に示すように、センサ51は、本体20に取り付けられている。本実施形態のセンサ51は、レーザレンジファインダである。センサ51は、照射角度を変更しながらレーザを照射することで、レーザの照射方向に位置する物体までの距離を測定する。センサ51は、レーザの照射角度と、当該照射角度に位置する物体までの距離とを両者を対応付けて制御部40に出力する。これにより、制御部40は、検知範囲に存在する障害物や、壁などを認識可能である。本実施形態のセンサ51の検知範囲、即ち、レーザの照射可能範囲は、270°である。本体20の前方に延びる仮想的な基準軸Dを0°として左右方向に135°ずつの拡がりを有する検知範囲となるようにセンサ51は取り付けられている。センサ51は、検知範囲内の環境である障害物や壁の有無を認識するためのものである。
自律掃除機10は、SLAM(Simultaneous Localization and Mapping)技術を用いており、制御部40は、マッピング機能と自己位置推定機能を有している。
制御部40は、地図情報を作成するマッピング機能を備える。制御部40は、予め有している初期地図やセンサ51によって得られた情報から自律掃除機10が使用される環境の地図情報を作成する。地図情報は、例えば、センサ51によって得られた情報のうち特徴点となり得る部分(例えば、部屋の角など)を利用して作成される。この地図情報は、メモリ42に記憶される。
制御部40は、地図情報を作成するマッピング機能を備える。制御部40は、予め有している初期地図やセンサ51によって得られた情報から自律掃除機10が使用される環境の地図情報を作成する。地図情報は、例えば、センサ51によって得られた情報のうち特徴点となり得る部分(例えば、部屋の角など)を利用して作成される。この地図情報は、メモリ42に記憶される。
なお、作成された地図情報は、経路生成を行うために二次元の領域を正方形のグリッドに分けて認識される。
制御部40は、自己位置推定機能を備える。自己位置推定としては、例えば、確率的自己位置推定法が用いられる。制御部40は、センサ51や撮像装置52によって得られた情報に加えて、各車輪30,31,32,33(モータM0〜M3)の回転数及び回転方向から、上記した地図上における自律掃除機10の位置(座標)を推定する。
制御部40は、自己位置推定機能を備える。自己位置推定としては、例えば、確率的自己位置推定法が用いられる。制御部40は、センサ51や撮像装置52によって得られた情報に加えて、各車輪30,31,32,33(モータM0〜M3)の回転数及び回転方向から、上記した地図上における自律掃除機10の位置(座標)を推定する。
このように、自律掃除機10は、制御部40を備え、制御部40は、走行中の自己位置を推定する自己位置推定手段と、走行領域をグリッドマップとして地図情報を作成するマッピング手段とを構成している。
また、自律掃除機10には、自律掃除機10の設定等を行うための端末が設けられており、端末には地図情報が表示される。地図情報には認識されている障害物の情報も表示される。作業者は表示された地図情報に基づき掃除を行う経路を設定する。なお、経路の設定については掃除する領域を作業者が設定し、最適な経路は端末又は制御部40にて設定するようにしてもよい。
次に、図3にしたがって制御部40の処理内容を説明する。
図4(a)は、この実施形態において掃除を行う部屋の情報をもとに予め作成した掃除の経路を示している。掃除の経路は、自律掃除機10に走行させる経路でもある。そして、制御部40は、作成した経路を遵守することを前提として自律掃除機10を走行させる。
図4(a)は、この実施形態において掃除を行う部屋の情報をもとに予め作成した掃除の経路を示している。掃除の経路は、自律掃除機10に走行させる経路でもある。そして、制御部40は、作成した経路を遵守することを前提として自律掃除機10を走行させる。
最初に制御部40は、ステップS100において、作成した経路の周囲を所定の大きさのグリッドで区切ったグリッドマップ上に番号を付す。このとき、制御部40は、経路のスタート地点に初期値を付すとともに、以降、経路に沿って順に所定値を加算した値を付し、ゴール地点に終期値を付す。この実施形態において初期値は[1]であり、以降、経路に沿ってグリッド毎に所定値である1を加算した値を付す。このようにして、図4(b)に示すように経路上のグリッドに対して番号がつけられる。この実施形態では、スタートの番号が1番であり、ゴールの番号が139番である。以下、グリッドの番号n(nは整数)は、「n番」と表記する。ステップS100で付されたグリッドの番号は、メモリ42に記憶される。なお、ステップS100の番号付けは、経路に障害物が置かれていないものとして行われる。
ステップS100で番号付けを行った制御部40は、経路に沿って番号順に走行させるように自律掃除機10の走行を制御する。また、自律掃除機10の走行を開始させた制御部40は、センサ51の検出結果をもとに経路上に障害物があるか否かを判定する(ステップS101)。そして、制御部40は、ステップS101において障害物が無いことを判定している場合、自律掃除機10の走行モードを通常走行モードとして走行させる(ステップS102)。この実施形態の通常走行モードでは、経路上のグリッドの番号の順に自律掃除機10が掃除を行いながら走行する。
そして、制御部40は、ステップS103において図6(a)のように通った番号を消去する。ステップS103における番号の消去は、メモリ42の記憶から番号自体を削除するのではなく、自律掃除機10が通ったことを制御部40が識別できる状態にしておくことであり、例えばマーキングすることである。ステップS103の処理を行うことにより、制御部40は、自己位置と番号に基づいて走行済みのグリッド番号が分かる処理を行ったことになる。
一方、制御部40は、ステップS101において走行中の経路に障害物があることを判定している場合、ステップS104に移行して自律掃除機10の走行モードを通常走行モードから障害物回避モードに変更する。なお、障害物は経路設定時には認識されていないものであり、この実施形態では経路設定後に置かれたものである。経路上に障害物がある状態では、例えば図5に示すように障害物によって経路が塞がれている。図5の例示の場合、制御部40は、図6(a)に示すようにグリッドの番号[25]の付近で経路上に障害物があることをセンサ51の検出結果から認識することになる。
次に、障害物回避モードについて説明する。
障害物回避モードは、障害物を検出した地点の次に走行を予定していたグリッドの番号へ走行できないことにより、障害物を回避して走行させる走行モードである。このため、制御部40は、ステップS104にて障害物回避モードを設定すると、自律掃除機10に障害物の壁沿い走行を開始させ、障害物との衝突を回避させる。このとき、制御部40は、センサ51の検出結果から障害物の壁が検出されているとの情報を得るので、得られた情報をもとに障害物の壁沿いを周回するように自律掃除機10の走行を制御できる。なお、この実施形態において図3のステップS104は、1番を付したスタート地点から自律掃除機10の走行を開始させ、走行開始後に初めて障害物を検出した場合に移行する処理である。
障害物回避モードは、障害物を検出した地点の次に走行を予定していたグリッドの番号へ走行できないことにより、障害物を回避して走行させる走行モードである。このため、制御部40は、ステップS104にて障害物回避モードを設定すると、自律掃除機10に障害物の壁沿い走行を開始させ、障害物との衝突を回避させる。このとき、制御部40は、センサ51の検出結果から障害物の壁が検出されているとの情報を得るので、得られた情報をもとに障害物の壁沿いを周回するように自律掃除機10の走行を制御できる。なお、この実施形態において図3のステップS104は、1番を付したスタート地点から自律掃除機10の走行を開始させ、走行開始後に初めて障害物を検出した場合に移行する処理である。
そして、制御部40は、ステップS105において自律掃除機10を障害物回避モードで走行させるとともにその走行中に通ったグリッドの番号を取得してメモリ42に記憶する。ステップS105においてメモリ42に記憶する番号は、障害物回避モードへ移行した時点で未だ通っていない番号であり、障害物回避モードへ移行する前に通常走行モードにて既に通った番号は記憶しない。つまり、障害物回避モードにおいて記憶する番号は図3のステップS103で消去されていない番号である。一方、障害物回避モードにおいて記憶しない番号は図3のステップS103で消去した番号である。
また、制御部40は、障害物回避モードへ移行してステップS105の処理を行うと、次にステップS106にて障害物回避モードへ移行した時点である障害物の周回始めの番号へ戻ったかを判定する。ステップS106にて制御部40は、周回始めの番号へ戻っていないと判定したときにはステップS105の処理を繰り返し行う。一方、ステップS106にて制御部40は、周回始めの番号に戻ったと判定したときにはステップS107へ移行する。図5に例示した障害物が部屋に置かれている場合のステップS106では、図6(b)に示すように障害物の外周を一周したか判定していることになる。
次に、制御部40はステップS107において、障害物を周回した際に記憶した番号を小さい順にソートを行う。そして、制御部40は、ステップS108において、周回始めの番号の地点からソートした番号の中で一番小さい番号の地点へ移動させるように自律掃除機10を走行させる。このとき、制御部40は、ステップS105の処理と同様、自律掃除機10に障害物の壁沿い走行を行わせる。そして、制御部40は、自律掃除機10が一番小さい番号の地点に到達するとステップS109でその番号を消去した後に、ステップS110に移行する。
次に、制御部40はステップS110において現時点で到達している地点の番号の次の番号に走行可能であるかを判定する。ステップS110の処理において制御部40は、次の番号へ至る経路上に障害物が無い場合は走行可能であると判定し、ステップS111へ移行する。ステップS111において制御部40は、自律掃除機10の走行モードを通常走行モードとし、通常走行モードにて自律掃除機10を次の番号に向けて走行させる。そして、制御部40は、ステップS112で到達した地点の番号を消去した後に、ステップS110に戻る。ステップS110へ戻ると制御部40は、再び、現時点で到達している地点の番号の次の番号に走行可能であるかを判定し、走行可能である場合は通常走行モードにて自律掃除機10を次の番号に向けて走行させる。つまり、CPU41は、ステップS110にて次の番号に走行可能であることを判定する毎に、ステップS111,S112の処理を繰り返す。
一方、ステップS110において制御部40は、次の番号へ至る経路上に障害物がある場合は走行不能であると判定し、ステップS113へ移行する。ステップS113においてCPU41は、自律掃除機10の走行モードとして障害物モードを設定し、ステップS114に移行する。障害物モードは、ステップS104で設定した障害物回避モード中、ステップS105で記憶した番号の中で一番大きい番号の地点に到達するまでの間に再び障害物を検知したときに設定する走行モードである。そして、制御部40は、障害物モードを設定すると、現時点で到達している地点から障害物を回避させながら自律掃除機10を走行させ、次に到達させる地点の番号をステップS114で決定する。このとき、制御部40は、ステップS105で記憶するとともにステップS107で小さい順にソートした番号のうち、未だ通っていない番号で、かつ一番小さい番号を次に到達させる地点の番号として決定する。この場合の一番小さい番号は、ステップS105で記憶した番号の中に障害物モードを設定した時点で到達している地点の番号が存在していることから、ソートした順において現時点で到達している地点の番号の次の番号となる。つまり、次の番号は、掃除経路上の障害物直前の番号とソートした番号を比較したときにソートした番号のうち、障害物直前の番号よりも大きくかつ近い番号である。
そして、制御部40はステップS114で決定した次に到達させる地点の番号へ移動させるように自律掃除機10を走行させる。このとき、制御部40は、ステップS105の処理と同様、自律掃除機10に障害物の壁沿い走行を行わせ、障害物を回避する。この実施形態において障害物モードでは、清掃を行わない。そして、制御部40は、ステップS115で到達した地点の番号を消去した後に、ステップS116に移行する。
この実施形態では、ステップS105にて障害物を周回しているときにグリッドの番号を取得して記憶している。このため、ステップS110で再び障害物を検知しても記憶している番号を参照することにより、障害物を検知した地点が以前検知した障害物、つまりステップS101で検知した障害物付近の地点であることを認識し得る。これにより、自律掃除機10は、ステップS110で再び障害物が検知されたとしても改めて障害物を一周するなどの回避走行を行う必要がなくなる。
次に、制御部40はステップS116において、ステップS114で消去した番号がステップS105で記憶した番号の中で最後の番号、つまり一番大きな番号であるかを判定する。そして、制御部40は、最後の番号でないときにはステップS110に戻り、ステップS110からの処理を行う。一方、CPU41は、最後の番号であるときにはステップS102に移行してステップS102からの処理を行う。つまり、ステップS116からステップS102へ移行した場合は、障害物付近の走行を終了したことになり、以降は通常走行モードで自律掃除機10を走行させる。
なお、制御部40は、自律掃除機10がゴール地点の番号に到達すると、図3に示す制御内容を終了するとともに自律掃除機10による掃除を終了させる。掃除終了後、制御部40は、例えば部屋に設定されているホームポジションに自律掃除機10を移動させてもよい。ホームポジションには、例えば充電器が配設されている。また、ステップS105で取得されてメモリ42に記憶されている番号は、ステップS116にて最後の番号であると判定された場合、又はゴール地点の番号に到達した場合の何れかが満たされたときにメモリ42の記憶から削除される。
次に、自律掃除機10の走行制御についてその作用とともに、図4(a),(b)から図9(a),(b),(c)にて具体的に説明する。
部屋の掃除をする目的として、作業者によって端末から図4(a)に示す部屋全体をくまなく掃除する経路が設定され、掃除開始の処理が実行されたとする。なお、掃除経路について、図5に示すように経路設定時には認識されていない障害物が部屋内に置かれたものとする。
部屋の掃除をする目的として、作業者によって端末から図4(a)に示す部屋全体をくまなく掃除する経路が設定され、掃除開始の処理が実行されたとする。なお、掃除経路について、図5に示すように経路設定時には認識されていない障害物が部屋内に置かれたものとする。
制御部40は図4(b)のように、グリッドマップにおける設定された掃除経路に沿って番号を付ける(図3のステップS100)。この実施形態では、スタートが1番、ゴールが139番である。つまり、図4(a)の掃除経路上のグリッドに図4(b)に示すような、スタートが1番で、ゴールが139番となる仮想の番号を付与する。番号付けは、図4(b)において、部屋の左下隅が1番で、右に進むにつれて2,・・・,18番となり、右端のグリッドで19番、その上のグリッドが20番、その上のグリッドが21番であり、左に進むにつれて22,・・・,39番となり、左端のグリッドの上が40番、その上のグリッドが41番であり、以下同様に番号を付ける。初めが1番、終わりが139番となる。なお、グリッドの大きさは部屋の大きさ、即ち、掃除領域の大きさにより決められる。
なお、図中において、経路上の番号が分かるように、経路上の番号と自律掃除機10の位置をずらして表記している。実際は、自律掃除機10は番号を付した地点の上を走行している。そして、端末より掃除指示の信号を受けると、自律掃除機10は掃除を開始する。
走行中(掃除中)は、図6(a)のように自律掃除機10が通った番号を消去する(マーキングする)。このように、自己位置と掃除経路上に付与された番号に基づいて掃除済みのグリッド番号が分かる処理を行う。図6(a)では消去された番号を斜線で表している。
ここで、走行済みのグリッド番号が分かる処理は、一度通過している(掃除している)ことが、制御をする上で制御部40が分かれば(認識できれば)良く、通った番号を消す処理だけに限られない。なお、掃除済みの経路を再度自律掃除機10が通る場合には、清掃部53は掃除を停止させて走行する。
図6(a)のように予め検出されていない障害物を検出したら(ステップS101)、障害物の直前のグリッドまで走行した後に障害物回避モードをスタートし(ステップS104)、図6(b)に示すように、障害物の壁に沿って障害物周りを一周する。一周は時計回りでも反時計回りでもよいが、図6(b)では時計回りに走行する場合を示す。このとき、図7(a)にドットで塗り潰した部分を周回時に自律掃除機10が通った経路とすると、その周回時に通った番号が図7(b)のようにメモリ42に記憶される。メモリ42には、通った番号が周回時に取得される毎に順次、記憶される。そして、制御部40は、障害物回避モードを開始したグリッドの番号まで走行した時点で障害物を一周したと認識する(ステップS106)。図6(a)の例示では、25番に到達した時点で障害物回避モードを開始しているので、障害物の壁沿い走行を行って25番に戻ると障害物を一周したと認識する。なお、図7(b)において、記憶された番号のうち既に通常走行モードで走行している5番〜15番については、ステップS103で消去されているため記憶を省略する。障害物回避モードで記憶した番号は、障害物の周りを一周し終えた時点で、図7(b)に示すように、小さい順にソートされる。
そして、図7(c)に例示するように、自律掃除機10は、今いる番号である25番の次の番号である26番が障害物内に存在して通れないとき、ソートした番号(図8(a))の中の一番小さい番号の35番に障害物を避けて時計周りに走行する(ステップS108、図8(b))。次に、自律掃除機10の制御部40は、グリッドの35番に到達すると、次の番号へ走行可能かどうか判断する。走行可能と判断すると、図8(c)に示すように、グリッドの番号に沿って通常走行モードにて掃除をしながら走行を行う。走行後は通った番号を消去する。その後、自律掃除機10の制御部40は再び45番において、障害物のため次の番号である46番に走行できないことを認識する(ステップS110)。このため、制御部40は、障害物モードを設定し、図9(a)に示すようにソートされている番号の中から、未だ消去されていない番号であって、既に通ったことで消去した45番の次に小さい番号である55番を次に到達させる番号として選択する。これにより、自律掃除機10は、図9(b)に示すように、55番へ向けて障害物を避けながら反時計周りに走行を行う。そして、自律掃除機10は、55番に到達すると、45番の到達した時と同様に、次の番号へ走行可能か判断し、走行可能と判断すると走行を開始する。
以後同様に清掃をしながら走行して65番に到着すると、75番へ障害物を避けて走行する。
このように85番から95番、105番から115番も同様に繰り返す。ここで、25番から35番、45番から55番、65番から75番、85番から95番、105番から115番への走行については、障害物を一周した際に記憶した番号を参照することで、最短ルートを選択して到達する。例えば、25番から35番へは障害物に沿って時計回りで走行し、図9(c)に示すように、45番から55番へは反時計周り、…105番から115番へは反時計周りとなる。
このように85番から95番、105番から115番も同様に繰り返す。ここで、25番から35番、45番から55番、65番から75番、85番から95番、105番から115番への走行については、障害物を一周した際に記憶した番号を参照することで、最短ルートを選択して到達する。例えば、25番から35番へは障害物に沿って時計回りで走行し、図9(c)に示すように、45番から55番へは反時計周り、…105番から115番へは反時計周りとなる。
そして、115番以降は障害物によって通ることが出来ない番号は無いため、番号に沿って走行を継続する。このとき、グリッド上の番号は経路に沿って消去していくが、ソートした番号の125番〜135番も通るためソートされた番号も消去しながら走行する。
そして、135番に到達した時点で、ソートした番号の全てを通過したことになり、障害物の周りの走行が終了する。そして、139番に到達した時点で掃除を終了する。
なお、自律掃除機10が掃除しながら走行している途中で故障等により停止した場合において、例えば、23番で故障して停止した場合には、修理等を行い23番ではない場所に移動した場合であっても、自律掃除機10は掃除を終了した番号は消去されている。このため、自律掃除機10は、消去されていない番号のうち最小の番号である23番が選択され、23番まで移動した後に、掃除を開始する。
なお、自律掃除機10が掃除しながら走行している途中で故障等により停止した場合において、例えば、23番で故障して停止した場合には、修理等を行い23番ではない場所に移動した場合であっても、自律掃除機10は掃除を終了した番号は消去されている。このため、自律掃除機10は、消去されていない番号のうち最小の番号である23番が選択され、23番まで移動した後に、掃除を開始する。
次に、図10(a),(b)、図11(a),(b)、図12(a),(b)、図13(a),(b)、図14(a),(b)を用いて、特殊な障害物の場合について説明する。この場合も、掃除経路の設定後に障害物が置かれた場合を想定している。図10(a)に示すように、障害物は、平面視でコ字状をなしており、このような形状の障害物であっても図11(b)に示すように障害物の形状の探索により掃除の取りこぼしが防止される。
まず、図10(a)に示すように、最初に掃除する部屋の情報から、掃除経路を作成する。図10(a)では横方向のみの往復を示している。
そして、図10(b)に示すように、掃除経路があるグリッドに初めから番号をつけていく。初めが1番、終わりが139番となる。
そして、図10(b)に示すように、掃除経路があるグリッドに初めから番号をつけていく。初めが1番、終わりが139番となる。
番号付けが終わったら、図11(a)に示すように、番号どおりに掃除を進める。さらに、通った番号は消去して通ったことが分かるようにする。図11(a)では通った番号に斜線を引く。そして、障害物を認識し、障害物によって走行できないグリッドが存在していることが認識されると障害物の手前のグリッドまで走行(25番まで走行)し、障害物回避モードに入り、そのグリッドから障害物を一周する。そして、障害物の一周を開始した25番に到着したら周回終了とする。
図11(b)及び図12(a)に示すように、一周するときに、通った番号を記憶する。また、図12(a)に示すように、通った番号を小さい順に並べる。
そして、図13(a)に例示するように、自律掃除機10は、障害物回避モードを開始することになった今いる番号である25番の次の番号である26番が障害物内に存在して通れないとき、ソートした番号(図12(b))の中の一番小さい番号の35番に障害物を避けて時計周りに走行する。また、自律掃除機10は、35番に到達すると、次の番号へ走行可能かどうか判断する。走行可能と判断すると、グリッドの番号に沿って通常走行モードにて清掃をしながら走行を行う。そして、35番を通過したら図12(b)に示すように35番を消去する。
そして、図13(a)に例示するように、自律掃除機10は、障害物回避モードを開始することになった今いる番号である25番の次の番号である26番が障害物内に存在して通れないとき、ソートした番号(図12(b))の中の一番小さい番号の35番に障害物を避けて時計周りに走行する。また、自律掃除機10は、35番に到達すると、次の番号へ走行可能かどうか判断する。走行可能と判断すると、グリッドの番号に沿って通常走行モードにて清掃をしながら走行を行う。そして、35番を通過したら図12(b)に示すように35番を消去する。
図13(a)に示すように、35番まできたら、次の36番が行けるかどうか判断する。さらに、36番は障害物の中にはなく走行可能であるため走行して掃除を行う。通過したグリッドの番号は消去する。
以後同様に走行して、図13(b)に示すように、65番まで走行した時点で、次の番号である66番に走行できないと判断する。このため、制御部40は、障害物モードを設定し、図14(a)に示すようにソートされている番号の中から、未だ消去されていない番号であって、既に通ったことで消去した65番の次に小さい番号である68番を次に到達させる番号として選択する。そして、図14(b)に示すように、68番へ障害物を避けながら走行を行う。このとき、障害物を一周したデータを元に最短距離となる反時計回りに走行し、68番へ到達する。68番に到達すると、次の番号へ走行可能かどうか判断し、走行可能であるため、掃除をしながら走行する。そして、72番まで走行した時点で、次の番号である73番に走行できないと判断する。このため、制御部40は、障害物モードを設定し、ソートされている番号の中から、未だ消去されていない番号であって、既に通ったことで消去した72番の次に小さい番号である75番を次に到達させる番号として選択する。そして、75番へ障害物を避け反時計周りに走行を行う。
このように85番から88番、92番から95番、105番から108番、112番から115番も同様繰り返す。
よって、図14(b)に示すように、平面視コ字状の障害物であっても障害物を一周し記憶した情報を元に掃除しながら走行するため、掃除の取りこぼしが起こる可能性がある凹状の形状部分もしっかり掃除することができる。
よって、図14(b)に示すように、平面視コ字状の障害物であっても障害物を一周し記憶した情報を元に掃除しながら走行するため、掃除の取りこぼしが起こる可能性がある凹状の形状部分もしっかり掃除することができる。
従来法では図20(a),(b)に示すように障害物があったときにのみ、重みつけして、数字をつける。これに対し本実施形態では、図4(a),(b)に示すように、最初から番号をつけている。また、従来法では図21(c)に示すように障害物の形状によっては右往左往する。さらに、図21(d)の場合には、障害物の形状を記憶できないので、せっかく一回認識した形状を利用できないが、本実施形態では、回避中に経路を見つけたら復帰することにより、従来、自律掃除機が掃除できない箇所も図14(b)のように掃除できる。このように、右往左往することがなく、所望の掃除経路どおりに掃除し、とりこぼしも起こらない。また、本ロジックは障害物の形によらずに掃除ができる。
次に、図15〜図19を用いて、一旦、障害物を検出した後、その走行中に新たな障害物を検出した場合の走行制御について説明する。
図15は、部屋に置かれた最初の障害物を例示している。このときの制御部40による走行制御は、先に説明したように図3に示す制御内容にしたがって行われる。つまり、制御部40は、図15に例示した障害物の場合、グリッドに付された25番の地点で障害物を検出すると(ステップS101)、障害物回避モードへ移行する(ステップS104)。そして、制御部40は、ステップS105にて自律掃除機10に障害物の壁沿い走行を開始させ、通ったグリッドの番号を取得してメモリ42に記憶する。
図15は、部屋に置かれた最初の障害物を例示している。このときの制御部40による走行制御は、先に説明したように図3に示す制御内容にしたがって行われる。つまり、制御部40は、図15に例示した障害物の場合、グリッドに付された25番の地点で障害物を検出すると(ステップS101)、障害物回避モードへ移行する(ステップS104)。そして、制御部40は、ステップS105にて自律掃除機10に障害物の壁沿い走行を開始させ、通ったグリッドの番号を取得してメモリ42に記憶する。
図16は、図15に例示した障害物を周回することで制御部40が取得する番号を示す。この例示の場合、制御部40は、図16に示すように、35番、45番、55番、65番〜75番の番号を取得する。そして、制御部40は、図16に示すようにステップS105で取得した番号を、ステップS107にて小さい順にソートを行う。これにより、制御部40は、部屋に置かれた障害物の形状を把握できる。その後、制御部40は、図3で説明したように、最初に設定された掃除経路と取得したソート済みの番号をもとに、走行モードとして障害物モードと通常走行モードを適宜設定しながら、自律掃除機10に障害物を回避させつつ部屋の掃除を行わせるように走行させる。
ここで、図17に例示するように、部屋に新たな障害物が置かれた場合を説明する。このように障害物が新たに置かれると、自律掃除機10が掃除すべき領域に対する障害物の形状が変化する。この場合、障害物の形状は、最初に障害物を発見したときに比して大きくなっている。
制御部40は、図17の例示の場合、グリッドに付された65番の地点で障害物が検出されると、次の番号である66番を通れないことを認識する。このとき、制御部40は、メモリ42に記憶している番号を参照し、66番は既に取得済みの番号であるから別の障害物によって経路が遮断されたことを認識する。このため、制御部40は、新たに検出した障害物の壁沿い走行を開始させる。このとき、制御部40は、新たに検出した障害物の壁沿い走行時に、図3のステップS105と同様にグリッドの番号を取得し、メモリ42に記憶する。
図18は、新たに検出した障害物の壁沿い走行時に記憶する番号を示している。つまり、制御部40は、図17の例示において、新たな障害物を検出した65番の地点から反時計周りに障害物を壁沿い走行するように自律掃除機10を走行させる。これにより、制御部40は、図18に示すように95番、105番、106番…115番、85番と言ったメモリ42に記憶済みではない番号を取得する。そして、制御部40は、75番の地点に到達すると、75番はメモリ42に既に記憶されていることから、その時点で障害物の周回を終了させる。
次に、図19に示すように制御部40は、新たな障害物を周回させたときに取得した番号を、先の障害物を検出したときに記憶した番号に追加するとともに追加された番号を含めて小さい順にソートを行う。これにより、メモリ42に記憶される番号は、図19に示すように、先の障害物を検出したときに記憶した番号である35番、45番…75番の他に、新たな障害物を検出したときに記憶した番号である85番、95番…114番、115番が加えられることになる。
そして、75番の地点に到達した制御部40は、図3のステップS110からの処理を同様に行う。つまり、制御部40は、75番の次の番号である76番へ走行可能であるかを判定する。走行可能である場合、制御部40は、ステップS111からの処理を行う。一方、走行不能である場合、制御部40は、ステップS113にて障害物モードとなり、ステップS113からの処理を行う。
図17の例示の場合、制御部40は、75番に到達後、次の番号である76番に走行可能であるから、76番に向けて自律掃除機10を走行させ、以降、85番の地点まで自律掃除機10を走行させる。そして、制御部40は、85番の地点で障害物を検出することになり、次の番号である86番へ走行できないことを認識する。このとき、この実施形態では、図19に示すように85番を既に通った番号としてメモリ42に記憶済みであるから、記憶された番号のうち、85番の次に小さい番号である95番に向けて障害物を回避させるように自律掃除機10を走行させる。その後、図17の例示では、95番の地点に到達した以降、次の番号に走行可能であるから、ゴール地点である139番の地点まで自律掃除機10を走行させ、掃除を終了させる。
前述のように、制御部40は、新たな障害物を検出すると、その検出した障害物を回避させるようにして自律掃除機10を走行させるとともに、その走行時にグリッドマップ上において通った番号を新たに取得し、その番号を既に取得してメモリ42に記憶されている番号に追加する。このため、この実施形態では、新たな障害物を検出する毎に当該障害物を回避するため、障害物を例えば1周周回するなどして回避する必要がなく、必要最低限の周回で掃除経路に復帰し得る。例えば、図17の例示においては、85番の地点で新たな障害物を検知しても、その85番はメモリ42に既に記憶されていることから95番の地点に向けて走行すればよく、この場合の周回はおおよそ半周となる。
なお、障害物を新たに検出することは、自律掃除機10による掃除の領域が決まっている前提において、その領域に対する障害物の形状が変わったとも言える。そして、障害物の形状の変化は、障害物が増加すること、障害物が減少すること、又は障害物が移動すること、あるいはこれらの任意に組み合わせによって起こり得る。この実施形態の走行制御を実現すると、自律掃除機10は、障害物が増加したときには検出した障害物を障害物モードにて周回する経路を取り得るようになる。また、この実施形態の走行制御を実現すると、自律掃除機10は、障害物が減少したときには当該障害物によって走行不能であった経路を通常走行モードにて走行する経路を取り得るようになる。また、この実施形態の走行制御を実現すると、自律掃除機10は、障害物の移動先において障害物回避モードでグリッドの番号を取得し、障害物の移動先で障害物を障害物モードにて周回する経路を取り得る。加えて、移動する前に障害物にて走行不能であって経路を通常走行モードにて走行する経路を取り得るようになる。
上記実施形態によれば、以下のような効果を得ることができる。
(1)グリッドマップ上に設定された掃除経路を追従して走行する自律掃除機10の走行制御方法として、掃除経路上のグリッドに仮想で番号を付与し、自己位置と前記番号に基づいて走行済みのグリッド番号が分かる処理を行うようにした。これにより、自律掃除機10がグリッドマップ上に設定された掃除経路を追従して走行する際に、掃除経路上のグリッドに仮想で番号が付与され、自己位置と番号に基づいて走行済みのグリッド番号が分かる処理が行われる。よって、走行済みのグリッド番号が分かるので、掃除残しを回避することができる。
(1)グリッドマップ上に設定された掃除経路を追従して走行する自律掃除機10の走行制御方法として、掃除経路上のグリッドに仮想で番号を付与し、自己位置と前記番号に基づいて走行済みのグリッド番号が分かる処理を行うようにした。これにより、自律掃除機10がグリッドマップ上に設定された掃除経路を追従して走行する際に、掃除経路上のグリッドに仮想で番号が付与され、自己位置と番号に基づいて走行済みのグリッド番号が分かる処理が行われる。よって、走行済みのグリッド番号が分かるので、掃除残しを回避することができる。
また、番号付けとともに走行済みの番号が分かる処理を行うことにより、掃除の残量が分かる。例えば、走行経路上のグリッドの総数に対する走行済みのグリッドの総数の比により掃除の残量が分かる。
他にも、番号付けとともに走行済みの番号が分かる処理を行うことにより、掃除走行の途中で停止した場合においても、走行済みの番号が分かっているので、未掃除グリッドから掃除のための走行を再開することができる。
また、番号付けとともに走行済みの番号が分かる処理を行うことにより、掃除走行の途中で自律掃除機10が移動させられた場合においても、走行済みの番号が分かっているので、未掃除のグリッドから掃除のための走行を再開することができる。
(2)制御部40は、センサ51としてのレーザレンジファインダで経路設定時には存在していなかった障害物を検出すると、自律掃除機10を障害物の外周を障害物に沿って周回(一周)させる。その際に障害物の外周に存在する経路の番号を記憶する。これにより、経路設定時には形状が認識されていない障害物の形状を正確に認識できる。そして、障害物の外周に存在する経路の番号を認識することで、障害物があっても走行可能な番号(障害物によって走行できない経路)を確実に認識することができる。
(3)さらに、制御部40は、障害物の外周の番号を記憶した後に、記憶した番号を小さい番号順にソートし記憶する。そして、障害物モードでの走行において、障害物によって次の番号に走行できないと判断した際には、自律掃除機10が位置している番号(経路上の障害物直前の番号)とソートした番号を比較する。その際にソートした番号のうちで、現在位置している番号よりも大きくかつ最小番号(ソートした番号は自律掃除機10が通過した時点で消去するため、消去されていない番号のうちで一番小さな番号)へ移動する。これによって、障害物で次の番号へ走行できない場合でも、確実に経路上で清掃がされていない番号のうちの一番小さな番号へ、障害物を回避しつつ走行することができる。したがって、障害物があったとしても容易に掃除残しを回避することができる。
(4)センサ51としてレーザレンジファインダを用いたので、障害物の形状を認識しやすく、障害物の外周を走行しやすい。
(5)障害物の検出後、新たに障害物を検出した場合、新たな障害物を壁沿い走行させるとともに、その走行時に通ったグリッドマップ上の番号を取得し、既に記憶済みの番号に追加して記憶する。このため、新たな障害物が置かれたことにより、走行中に新たな障害物を検出しても、その障害物を必要最低限の周回で回避して掃除経路に復帰できる。
(5)障害物の検出後、新たに障害物を検出した場合、新たな障害物を壁沿い走行させるとともに、その走行時に通ったグリッドマップ上の番号を取得し、既に記憶済みの番号に追加して記憶する。このため、新たな障害物が置かれたことにより、走行中に新たな障害物を検出しても、その障害物を必要最低限の周回で回避して掃除経路に復帰できる。
実施形態は前記に限定されるものではなく、例えば、次のように具体化してもよい。
○ SLAM以外の方法で自己位置を検出(推定)してもよい。例えば、GPS等でもよい。
○ SLAM以外の方法で自己位置を検出(推定)してもよい。例えば、GPS等でもよい。
○ センサはレーザレンジファインダに代わりに他の光学センサを用いてもよい。また、非接触で障害物を検知できるものであれば、超音波センサであってもよい。
○障害物モードの走行中、清掃部53が掃除を行うようにしてもよい。
○障害物モードの走行中、清掃部53が掃除を行うようにしてもよい。
○障害物回避モード、及び障害物モードにおける自律掃除機10の走行方向は、時計周り方向、又は反時計周り方向の何れかの方向で固定されていてもよいし、実施形態のように最短距離となる方向に走行するようにしてもよい。
○図17では、55番の地点に到達した段階で新たな障害物を検出し、その検出によって新たな障害物を周回させて番号を取得するとともにその取得した番号をメモリ42に追加してもよい。この場合は、65番〜75番は先の障害物を検出うした段階で既に取得済みなので新たに追加しない。
10…自律掃除機、40…制御部、51…センサ。
Claims (4)
- 走行中の自己位置を推定する自己位置推定手段と、
走行領域をグリッドマップとして地図情報を作成するマッピング手段と、を備え、
グリッドマップ上に設定された掃除経路を追従して走行する自律掃除機の走行制御方法であって、
掃除経路上のグリッドに仮想で番号を付与し、自己位置と前記番号に基づいて走行済みのグリッド番号が分かる処理を行うようにしたことを特徴とする自律掃除機の走行制御方法。 - センサで障害物を検出すると、障害物の外周を一周して前記番号を記憶する請求項1に記載の自律掃除機の走行制御方法。
- 前記番号を記憶した後に、記憶した番号を小さい番号順にソートし、
前記掃除経路上の障害物直前の番号と前記ソートした番号を比較し、ソートした番号のうちで、前記障害物直前の番号よりも大きくかつ近い番号へ走行する請求項2に記載の自律掃除機の走行制御方法。 - 前記番号を記憶した後、前記センサにて新たな障害物を検出すると、その検出した新たな障害物を周回し、周回して得られた新たな番号を先に記憶した番号に追加して記憶する請求項3に記載の自律掃除機の走行制御方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018228942 | 2018-12-06 | ||
JP2018228942 | 2018-12-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020095666A true JP2020095666A (ja) | 2020-06-18 |
Family
ID=71085029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019065879A Pending JP2020095666A (ja) | 2018-12-06 | 2019-03-29 | 自律掃除機の走行制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020095666A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021246031A1 (ja) | 2020-06-01 | 2021-12-09 | テルモ株式会社 | カテーテル |
CN114027746A (zh) * | 2021-10-29 | 2022-02-11 | 珠海格力电器股份有限公司 | 控制方法、装置、存储介质、电子设备及清洁机器人 |
WO2023035601A1 (zh) * | 2021-09-07 | 2023-03-16 | 深圳乐动机器人有限公司 | 一种机器人行走路径规划方法及其机器人、存储介质 |
JP2023513556A (ja) * | 2020-09-28 | 2023-03-31 | 珠海一微半導体股▲ふん▼有限公司 | 密集した障害物に基づく清掃制御方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003345437A (ja) * | 2002-05-22 | 2003-12-05 | Toshiba Tec Corp | 自律走行ロボット |
JP2004326692A (ja) * | 2003-04-28 | 2004-11-18 | Toshiba Tec Corp | 自律走行ロボット |
JP2016085535A (ja) * | 2014-10-23 | 2016-05-19 | シャープ株式会社 | 自律移動体及び自律移動体システム |
JP2016186753A (ja) * | 2015-03-27 | 2016-10-27 | 本田技研工業株式会社 | 無人作業車の制御装置 |
-
2019
- 2019-03-29 JP JP2019065879A patent/JP2020095666A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003345437A (ja) * | 2002-05-22 | 2003-12-05 | Toshiba Tec Corp | 自律走行ロボット |
JP2004326692A (ja) * | 2003-04-28 | 2004-11-18 | Toshiba Tec Corp | 自律走行ロボット |
JP2016085535A (ja) * | 2014-10-23 | 2016-05-19 | シャープ株式会社 | 自律移動体及び自律移動体システム |
JP2016186753A (ja) * | 2015-03-27 | 2016-10-27 | 本田技研工業株式会社 | 無人作業車の制御装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021246031A1 (ja) | 2020-06-01 | 2021-12-09 | テルモ株式会社 | カテーテル |
JP2023513556A (ja) * | 2020-09-28 | 2023-03-31 | 珠海一微半導体股▲ふん▼有限公司 | 密集した障害物に基づく清掃制御方法 |
JP7408072B2 (ja) | 2020-09-28 | 2024-01-05 | 珠海一微半導体股▲ふん▼有限公司 | 密集した障害物に基づく清掃制御方法 |
WO2023035601A1 (zh) * | 2021-09-07 | 2023-03-16 | 深圳乐动机器人有限公司 | 一种机器人行走路径规划方法及其机器人、存储介质 |
CN114027746A (zh) * | 2021-10-29 | 2022-02-11 | 珠海格力电器股份有限公司 | 控制方法、装置、存储介质、电子设备及清洁机器人 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2020095666A (ja) | 自律掃除機の走行制御方法 | |
CN107544517B (zh) | 智能清洁机器人的控制方法 | |
CN109240312B (zh) | 一种机器人的清扫控制方法和芯片以及清洁机器人 | |
JP6622215B2 (ja) | 自走式ロボットの障害物回避走行方法 | |
JP6054425B2 (ja) | 自己位置推定を自動的に実行する方法 | |
US20040117079A1 (en) | Efficient navigation of autonomous carriers | |
CN106527423B (zh) | 清洁机器人及其控制方法 | |
KR101281512B1 (ko) | 로봇청소기 및 그 제어방법 | |
CN108354524B (zh) | 自动清洁机及其控制方法 | |
RU2634857C2 (ru) | Автономный мобильный робот и способ его работы | |
CN110338715B (zh) | 智能机器人清洁地面的方法和芯片以及清洁机器人 | |
US20180004217A1 (en) | Method for Mapping a Processing Area for Autonomous Robot Vehicles | |
CN214484411U (zh) | 自主式地板清洁器 | |
US9599987B2 (en) | Autonomous mobile robot and method for operating the same | |
CN109068933A (zh) | 借助机器人的机器人辅助表面处理 | |
US20170235312A1 (en) | Autonomous mobile object and autonomous mobile object system | |
JP2007213236A (ja) | 自律走行ロボットの経路計画方法及び自律走行ロボット | |
JP7220285B2 (ja) | 経路計画 | |
CN107678429B (zh) | 一种机器人的控制方法及芯片 | |
JP2017511549A5 (ja) | ||
CN111399524B (zh) | 机器人清扫方法及机器人 | |
CN111240308A (zh) | 重复绕障的检测方法、装置、电子设备及可读存储介质 | |
JP2019200790A (ja) | 床清掃機のためのルートを決定するための方法 | |
CN115211765B (zh) | 清洁机器人控制方法、清洁机器人及存储介质 | |
CN114652217B (zh) | 控制方法、清洁机器人和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210618 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220513 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220607 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20221129 |