JP4157731B2 - Robot cleaner and robot cleaner control program - Google Patents

Robot cleaner and robot cleaner control program Download PDF

Info

Publication number
JP4157731B2
JP4157731B2 JP2002191835A JP2002191835A JP4157731B2 JP 4157731 B2 JP4157731 B2 JP 4157731B2 JP 2002191835 A JP2002191835 A JP 2002191835A JP 2002191835 A JP2002191835 A JP 2002191835A JP 4157731 B2 JP4157731 B2 JP 4157731B2
Authority
JP
Japan
Prior art keywords
obstacle
data
cleaning
room map
map data
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.)
Expired - Lifetime
Application number
JP2002191835A
Other languages
Japanese (ja)
Other versions
JP2004033340A (en
Inventor
康博 朝
岩村  一昭
淳一 牧岡
郁雄 竹内
泰治 田島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Appliances Inc
Original Assignee
Hitachi Appliances Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Appliances Inc filed Critical Hitachi Appliances Inc
Priority to JP2002191835A priority Critical patent/JP4157731B2/en
Publication of JP2004033340A publication Critical patent/JP2004033340A/en
Application granted granted Critical
Publication of JP4157731B2 publication Critical patent/JP4157731B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Electric Suction Cleaners (AREA)
  • Electric Vacuum Cleaner (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、部屋地図データを基に自動生成した掃除ルートデータに従って掃除作業を行なう自走式のロボット掃除機に関する。
【0002】
【従来の技術】
種々の障害物がある空間を移動するロボットでは、障害物に遭遇したときにどのように対処するかが重要なポイントとなる。障害物遭遇時対処の方法として、障害物に関する記憶データを用いることが一般的である。
【0003】
特開2001−129787号公報に開示されている例では、ロボットが障害物の画像データを保持している。ロボットは、移動経路上に障害物があると該障害物をイメージセンサで取込み、予め登録された障害物であるかどうかを比較判断する。ここで、登録済み障害物であると判断すると、障害物に対応した回避プログラムに従って回避動作を行なう。また、未知障害物であると判断すると、ロボットは周囲に人がいるかどうか判断し、人の存在を確認すると音声や身振りで手助けを求める。
【0004】
また、特開平9−222852号公報に開示されている例では、部屋地図データが空間的知識である認知地図として表現され、構成要素の定義情報とその構成要素の確率情報が記憶される。そして、この認知地図を用いて経路生成が行なわれる。ロボットが移動経路上にて認知地図と異なる障害物に遭遇すると、該当する構成要素(経路)の確率情報が変更される。これにより、次回の移動経路生成の際、この変更した情報が活用される。
【0005】
障害物を検知するためにロボットに備えられるセンサとして、上記のイメージセンサの他、超音波センサが用いられる。超音波センサによって移動ロボットと周辺障害物との距離が測定され、部屋地図生成処理やロボット位置推定処理が行なわれる(例えば、米国文献「IEEEジャーナル・オブ・ロボティックス・アンド・オートメーション(IEEE Journal of Robotics and Automation)」(1988年発行)第RA−3巻第249頁〜第265頁参照)。
【0006】
なお、予め走行経路を決めておくための地図の記憶方法の例が特開平8−16241号公報に開示されている。この例では、部屋の各領域に対して、作業車全体が走行可能の部分、作業車の作業部のみを挿入することが可能な部分、走行も挿入も不可能の部分という属性が与られ、属性を持った各領域が部屋地図に登録される。この属性付き部屋地図を用いて掃除ルートが計画される。
【0007】
【発明が解決しようとする課題】
障害物遭遇時の対処法に関して、上記の特開2001−129787号公報の例では、画像データが平面的情報源であるため、障害物の幾何学構造を推測することが困難であり、また記憶している障害物画像データと全く同じ環境で、移動中のロボットが障害物を撮像することは難しい。従って、同一障害物であるにもかかわらず、異なる障害物であると誤認識を起こす可能性がある。また、データ更新や学習の処理が行なわれないため、次回の移動時も同じように誤認識を起こす可能性がある。
【0008】
また、特開平9−222852号公報の例では、認知地図情報と異なる障害物に遭遇した場合に、動的な地図更新が行なわれるものの、その更新内容は該当経路の信頼度を示す確率情報を変更するというものであり、実際の地図・経路の形状変更は行なわれない。そのため、移動しながらリアルタイムに経路再構築を行なうことができず、未知の障害物があった場合、作業を完了することができない。更に、認知地図では障害物の形状が記憶されないため、障害物周りを精密に掃除することが困難である。
【0009】
単に移動するだけではなく、移動しながら掃除を行なうロボットでは、障害物に対して精密に形状を把握することが求められる。そのための障害物検出センサとして、イメージセンサを用いる場合は、上述のように画像データが平面的情報源になるため形状把握が不十分となる。また、超音波センサを用いる場合は、障害物までの距離測定はある程度可能であるが、超音波に広がりがあるため、形状把握に十分な精度が得られない。また、超音波センサのような比較的高価なセンサを用いると、ロボットの製作コストが高くなることが避けられない。一般家庭向けのロボット掃除機を対象とした場合、できるだけ低コストで製作することが望ましい。
【0010】
なお、特開平8−16241号公報の例では、部屋地図内の領域の属性に依存して掃除ルートが生成されるが、やはり動的なデータ更新が行なわれないため、障害物の移動といった環境変化が起こった場合には、掃除作業を完了することができない。
【0011】
本発明の第1の目的は、障害物に遭遇したときに適確に掃除ルートを再構築して掃除を再開するロボット掃除機及びその動作を制御するためのロボット掃除機制御プログラムを提供することにある。
【0012】
本発明の第2の目的は、精度良く部屋地図を動的に更新する低コストのロボット掃除機及びその動作を制御するためのロボット掃除機制御プログラムを提供することにある。
【0013】
本発明の第3の目的は、障害物を適確にかつ高速に認識して掃除を行なうロボット掃除機及びその動作を制御するためのロボット掃除機制御プログラムを提供することにある。
【0014】
【課題を解決するための手段】
上記第1の目的は、障害物の有無の検知とその形状の認識を行なう障害物検出センサと、部屋に在る障害物を登録して成る部屋地図を記憶した部屋地図データと、部屋地図データに登録された障害物の属性(存在履歴や掃除方法等)を記憶した属性データと、部屋地図データに基づいて作成される掃除の経路を掃除ルートとして記憶した掃除ルートデータとを備えておき、掃除ルートに従って掃除を行なっているときに障害物検出センサを使って障害物の有無を検知し、障害物有りを検知した場合にその位置に部屋地図データ上で障害物が登録されているか否かを判断し、障害物が登録されていない場合に検知した障害物を未知障害物と判断し、障害物検出センサを使って未知障害物の形状を認識し、認識した形状と一致する形状を部屋地図データ及び属性データを参照して推定することができた場合は、推定した形状の障害物を部屋地図データに登録して掃除ルートデータを再構築し、認識した形状と一致する形状を推定することができなった場合は、未知障害物を新たに出現した障害物と判断して部屋地図データに登録し、掃除ルートデータを再構築することによって達成される。
【0015】
そのような手段を採用することにより、ロボット掃除機が障害物に遭遇したときに、障害物の既知又は新規出現の別が明確に区別され、それぞれに応じて部屋地図が障害物遭遇の都度更新される。そのため、未知の障害物に遭遇しても適確に掃除ルートを再構築することが可能となり、再構築された掃除ルートに従って掃除を再開することができる。
【0016】
上記第2の目的は、記憶手段に記憶する経路データに基づいて走行するロボットに対して、赤外線センサと触覚センサからの情報を取得し、該情報を用いて上記経路上の障害物の有無を検出し、該障害物の形状を上記触覚センサからの情報を用いて認識し、該検出の結果と該認識の結果を用いて上記経路データを作成する地図作成方法を実行させることにより達成される。
【0017】
赤外線センサと触覚センサ触覚を用いることによって、障害物の形状を精度よく把握することが可能であり、従って、精度良く掃除の経路データを作成し、それに基づいて部屋地図を作成することができる。更に、赤外線センサ及び触覚センサはいずれも安価なセンサ素子を用いて構成することが可能であり、低コストのロボット掃除機を実現することができる。
【0018】
上記第3の目的は、センサと、障害物のデータと、掃除の経路を掃除ルートとして記憶した掃除ルートデータとを少なくとも備えておき、該掃除ルートに従って掃除を行なっているときに該センサからの情報を取得し、該情報と該障害物のデータを用いて該掃除ルートを再構築し、掃除ルートが再構築された場合には、該再構築された掃除ルートに従って掃除を続けることにより達成される。
【0019】
障害物に固有な属性(存在履歴や掃除方法等)である障害物のデータが予め記録され、それを掃除ルートの再構築に反映させるので、障害物を適確にかつ高速に認識して掃除を行なうことが可能になる。
【0020】
【発明の実施の形態】
以下、本発明に係るロボット掃除機及びその動作を制御するためのロボット掃除機制御プログラムを図面に示した発明の実施の形態を参照して更に詳細に説明する。
【0021】
本発明のロボット掃除機制御プログラムを用いるロボット掃除機のシステム構成例を図1に示す。ロボット掃除機は、固定の知能処理ユニット200と掃除を行なうロボットユニット100からなる。知能処理ユニット200とロボットユニット100は、無線通信モジュール225及び無線通信モジュール150を介して無線で接続され、双方向無線通信が形成される。知能処理ユニット200は、ロボットユニット100に無線で動作コマンドを送り、ロボットユニット100は、知能処理ユニット200に無線でセンサデータを送る。
【0022】
知能処理ユニット200において、ロボット掃除機制御プログラム235を基に動作するCPU(中央処理装置)221、CPU221が処理中に用いるメモリ500、無線通信モジュール225並びにロボット掃除機制御プログラム235及びデータベース400を格納している記憶装置222が内部バス224に接続される。内部バス224に接続されるこれらの各ユニットによりコンピュータが形成される。データベース400は、部屋地図データ401、属性データ402及び掃除ルートデータ403からなる。
【0023】
これらの各データについては後でも述べるが、部屋地図データ401は、掃除対象の部屋にある障害物(戸棚、テーブル、椅子、壁、柱など)がどこにどのように配置されているかを示すデータであり、これらは、掃除の開始点を起点にした、縦横座標の座標値で表される。従って、その座標値から、障害物が配置されている位置、障害物の形状、向きを知ることができる。
【0024】
属性データ402は、各障害物の持つ属性、即ち障害物のタイプ(壁か一般障害物か、一般障害物なら固定物か又は日々位置が変化する物か、等)、障害物のID(識別番号)、掃除方法(障害物の周辺のみ掃除か、障害物の内部を掃除する精密掃除か)、履歴領域数(障害物が過去に存在していた領域の数)などを表す障害物のデータであり、掃除ルートデータ403は、部屋地図データ401及び属性データ402から定められる掃除の経路を上記座標値によって表すデータである。
【0025】
ロボットユニット100において、無線通信モジュール150に制御部300が接続され、制御部300に駆動部160及びセンサデータ取得部110が接続される。駆動部160は、車輪のモーターを駆動する移動ロボット駆動部120と、掃除を行なう吸込み部を駆動する掃除機構駆動部130からなる。センサデータ取得部110は、障害物の接近及び障害物の形状を検出する障害物検出センサ115と、車輪の回転の数を計測する車輪用エンコーダ128からなる。
【0026】
制御部300は、知能処理ユニット200から動作コマンドを受信して駆動部160の動きを制御する。制御部300は、また、知能処理ユニット200から動作コマンドを受信してセンサデータ取得部110からのセンサデータを知能処理ユニット200に送信する。
【0027】
上記コンピュータは、データベース400の各データとロボットユニット100から送信されたセンサデータを用いてロボットユニット100の動作を決定し、動作コマンドをロボットユニット100へ送信する。このようにして、ロボット掃除機制御プログラム235に従った処理が実行される。
【0028】
なお、上記では、ロボット掃除機が知能処理ユニット200とロボットユニット100に分離している場合を示したが、知能処理ユニット200をロボットユニット100に搭載して一体化することが可能であり、その場合には、無線通信モジュール225及び無線通信モジュール150が省略され、制御部300が直接内部バス224に接続される。
【0029】
図2は、ロボットユニット100の構成を示した上面図である。図2において、ロボットユニット100の本体101は、左駆動車輪121、右駆動車輪122及び補助輪123を備える独立駆動輪型の移動ロボットであり、それぞれの車輪速度を調整することにより任意の方向へ移動することが可能である。両車輪121,122にはそれぞれロータリーエンコーダ126,127が設置されており、両車輪の回転の数を測定することが可能である。車輪121,122及びそれらを駆動するそれぞれのモーター(図2では図示せず)によって移動ロボット駆動部120が構成される(図1)。
【0030】
ロボットユニット本体101の周囲には、赤外線センサ111,112,113が設置されており、前方、側面、後方の比較的近い障害物の存在を検知することが可能である。また、知能処理ユニット200との無線通信を実現する無線通信モジュール150が設置されている。図示していないが、制御部300が無線通信モジュール150に隣接して設置される。
【0031】
更に、ロボットユニット本体101には、左右へ水平移動可能なアーム部131とアーム部131の先端部を中心軸として回転可能な吸込み部132が備えられ、これらによって掃除機構が構成される。吸込み部132には、塵を溜めるための集塵ユニット136と、吸込みによる吸引動作を行なうための吸引用モーター135と、触覚センサ114とが備えられている。触覚センサ114は、物に触れたことを検知する。
【0032】
掃除機構であるアーム部131と吸込み部132は、ロボットユニット本体101とは独立に動作することが可能であり、ロボットユニット本体101から取り外すことができる。従って、形状・動作の異なる幾つかの掃除機構を用意しておき、掃除環境の状態に合わせて掃除機構を切り替えて作業を行なうことができる。
【0033】
赤外線センサ111,112,113及び触覚センサ114によって障害物検出センサ115が構成され、ロータリーエンコーダ126,127によって車輪用エンコーダ128が構成される(図1)。なお、赤外線センサ111,112,113は、発光ダイオードとフォトダイオードを組み合わせ、発光ダイオードから放射される赤外線の障害物からの反射光をフォトダイオードで検出する形式の構造で実現され、触覚センサ114は、圧電素子又は小型のマイクロスイッチを利用して実現される。これらの素子は、いずれも非常に安価であり、障害物検出センサ115を低コストで実現することができる。
【0034】
図3は、ロボットユニット100における制御部300と、センサデータ取得部110並びに移動ロボット駆動部120及び掃除機構駆動部130との関係を示したブロック図である。
【0035】
制御部300は、知能処理ユニット200から送信された動作コマンドが駆動コマンドである場合、それを基に移動ロボット駆動部120及び掃除機構駆動部130を動作させる為の制御信号を生成し、定期的にその制御信号を移動ロボット駆動部120及び掃除機構駆動部130へ送信する。この制御信号によって、移動ロボット駆動部120における車輪121,122を駆動するそれぞれ左車輪用モーター124、右車輪用モーター125の回転が制御され、更に、掃除機構駆動部130が制御される。掃除機構駆動部130は、吸引用モーター135、アーム部131を動かすためのアーム部スライド用モーター134及び吸込み部132に取り付けられた回転機構を動作させるための吸込み部回転用モーター133を有し、これらモーターの回転がそれぞれ制御される。
【0036】
また、制御部300は、定期的にセンサデータ取得部110からデータを取得する。制御部300は、知能処理ユニット200から送信された動作コマンドがセンサデータ送信要求コマンドである場合、無線通信モジュール150を用いて知能処理ユニット200へセンサデータを送信する。
【0037】
図4は、制御部300の処理内容をフロー図で示したものである。先ず、無線通信モジュール150にて受信した動作コマンドをステップ301にて解析する。次にステップ302に進み、解析した動作コマンドが駆動コマンドである場合は、ステップ308へ進む。一方、解析した動作コマンドがセンサデータ送信要求コマンドである場合は、ステップ303へ進み、ロボットユニット100が保存している最新センサデータを知能処理ユニット200へ無線通信モジュール150を介して送信する。また、ステップ308では、駆動コマンドの内容に基づいて、駆動対象モーターの設定、速度設定、移動距離の設定を行なう。
【0038】
この制御部300は、10ミリ秒間隔で定期的に割込み処理304を実行し、モーターの駆動及びセンサデータの取得を行なう。割込み処理実行時間に達すると、ステップ305において、ステップ308にて設定した値を基に車輪・アーム・吸込み部の各駆動モーターの制御信号を生成し、駆動部160の各駆動モーターへ伝える。次に、ステップ306へ進み、センサデータ取得部110から障害物検出及び車輪の回転の数のデータをセンサデータとして取得する。取得したセンサデータは、最新センサデータとしてメモリ307に記憶される。つまり、メモリ307の最新センサデータは割込み処理を行なう毎に更新される。
【0039】
次に、知能処理ユニット200の上記コンピュータがロボット掃除機制御プログラム235に従って実行する処理の内容を説明する。本発明では、掃除中のロボット掃除機は、部屋の状況が部屋地図データ401に示されている状況と相違していることを検知したときに、その場で部屋地図データ401を更新し、掃除ルートデータ403を再構築する。即ち、相違がある度に部屋地図データ401が更新され及び掃除ルートデータ403が最構築される。相違があるのは、障害物を部屋の離れた所に移してしまった場合や部屋にはなかった新しい障害物を部屋に持ち込んだ場合などである。
【0040】
部屋地図データ401のその都度の更新及び掃除ルートデータ403のその都度の最構築は、部屋地図データ401及び掃除ルートデータ403をメモリ500に複写したそれぞれ、後で図6にて示すテンポラリ部屋地図データ501及びテンポラリ掃除ルートデータ502に対して行ない、掃除が終了したときに、テンポラリ部屋地図データ501及びテンポラリ掃除ルートデータ502を部屋地図データ401及び掃除ルートデータ403に上書きして更新を行なう。次回の掃除は、この更新した部屋地図データ401及び掃除ルートデータ403を使って行なわれる。
【0041】
図5は、知能処理ユニット200の上記コンピュータによる処理手順をフロー図で示したものである。ロボット掃除機の移動中の場所にテンポラリ部屋地図データ501上で障害物が登録されているとき、又は、移動中に障害物に遭遇したとき、先ずステップ201にて、ロボットユニット100のセンサデータ取得部110からのセンサデータを解析する。具体的には、ロボットユニット101の現在位置を車輪用エンコーダ128からのデータによって算出すると共に、触覚センサ114が障害物に触れたか否かを検知する。なお、赤外線センサ111〜113は、近くにある障害物の存在を大雑把に捕らえて障害物に近づいていることを検知することが可能であり、触覚センサ114が障害物に触れることを前以て予知することができる。
【0042】
次に、ステップ202でテンポラリ部屋地図データ501とセンサデータ解析結果を比較し、相違を先ず障害物の有無で判断する。障害物有無の判断は、上述のように触覚センサ114からのデータによって行なわれる。障害物があったときにステップ203に進み、続いて相違を触覚センサ114が障害物に触れた位置にテンポラリ部屋地図データ501上で障害物が登録されているか否かを判断する。障害物が登録されていれば相違がないとしてステップ211に進み、テンポラリ掃除ルートデータ502に従って掃除を行なう。続いて、ステップ212で、部屋の掃除が全て終了していない場合、ステップ201に戻り、処理を続ける。
【0043】
ステップ202において、現在位置に障害物がない場合は、ステップ204に進み、障害物は移動しているとしてテンポラリ部屋地図データ501上で登録されている障害物を除去する。ステップ208で、障害物を除去することによってテンポラリ部屋地図データ501を更新し、続いてステップ210で、更新したテンポラリ部屋地図データ501を基に掃除ルートを再構築する。次いで、ステップ211で、再構築したテンポラリ掃除ルートデータ502に従って掃除を行なう。
【0044】
ステップ203において、触覚センサ114が障害物に触れた位置にテンポラリ部屋地図データ501上で障害物が登録されていない場合は、触覚センサ114が触れた障害物を未知障害物として、ステップ205に進み、触覚センサ114を使って未知障害物の形状認識を行なう。
【0045】
続いてステップ206で、未知障害物の認識した形状と少なくとも一部が一致する形状の障害物がテンポラリ部屋地図データ501に有るか否かを探る。一致する形状の障害物が有る場合は、ステップ207に進み、属性データ402を用いて全体が一致する形状を推定し、ステップ208で、推定した形状の障害物をテンポラリ部屋地図データ501に登録する。それによってテンポラリ部屋地図データ501が更新される。
【0046】
ステップ206において一致する形状の障害物がない場合は、ステップ209に進み、未知障害物を新たに出現した障害物とし、未知障害物の形状全体又は未知障害物が存在する領域を把握して、新出現の障害物の属性データを属性データ402に加える。ステップ208で、形状又は領域を把握した新出現の障害物をテンポラリ部屋地図データ501に登録してテンポラリ部屋地図データ501を更新する。
【0047】
ステップ212で掃除が全て終了したとき、ステップ213で属性データ402を更新し(例えば、固定物としていた障害物が動かされていた場合、属性を位置変化する障害物に変更する等)、処理を終了する。
【0048】
以上により、本発明においては、テンポラリ部屋地図データ501及びテンポラリ掃除ルートデータ502を掃除の途中で動的に更新することにより、部屋内部の状況が変わっても掃除を完成させることができる。
【0049】
以上のステップ202〜208の全体によって実現される機能は▲1▼障害物形状推定機能となり、ステップ213によって実現される機能は▲2▼属性データ学習機能となり、更にステップ210によって実現される機能は▲3▼掃除ルート再構築機能となり、加えてステップ209,208によって実現される機能は▲4▼未登録データの新規登録機能となる。以下に、それぞれの詳細を説明する。
【0050】
図6に▲1▼障害物形状推定機能による処理内容のフロー図を示す。センサデータとテンポラリ部屋地図データ501との間に相違が生じる状況としては、前述のように次の2つがある。1つは、未知障害物に遭遇したとしたとき、そしてもう1つはテンポラリ部屋地図データに存在する障害物が無くなったときである。
【0051】
2つの要因のうち、どちらが起きたのかについて、ステップ601にてセンサデータ解析結果を用いて確認し、登録障害物が無くなったのならばステップ605へ進み、属性データ402から該当障害物を探索し、テンポラリ部屋地図データ501から該当障害物の形状を削除する。それによって、同時にテンポラリ部屋地図データ501が更新される。そして、▲3▼掃除ルート再構築機能へ処理を移す。
【0052】
一方、ステップ601において、データ相違の要因が未知障害物との遭遇によるものならばステップ602へ進み、吸込み部132に設置した触覚センサ114により未知障害物の形状認識を行ない、認識した形状をテンポラリ部屋地図データ501に書き込む。そして、ステップ603において、部屋地図データ401及び短期記憶属性データ900を参照し、未知障害物の形状と少なくとも一部が一致する形状データを探索する。
【0053】
ここで、短期記憶属性データ900とは、以前に部屋地図データ401及び属性データ402上に存在していたが、消滅してしまった障害物の形状データ及び属性データであり、これらデータは、一定期間だけ記憶装置222に保持される。
【0054】
部屋地図データ401或いは短期記憶属性データ900の中に未知障害物の形状と少なくとも一部が一致する形状データが存在しない場合は、この未知障害物を新たに出現した物体であるとし、▲4▼未登録データの新規登録へ処理を移す。
【0055】
一方、未知障害物の形状と少なくとも一部が一致する形状が存在した場合は、形状の一部が一致する障害物の数を確認し、複数存在する場合はステップ607において、それぞれの属性データから存在履歴・知識といった形状以外の情報を参照することで優先順位をつけ、一致する形状を1つに絞り込む。このように、一致する形状が1つに絞れたならば、ステップ608へ進み、属性データ402或いは短期記憶属性データ900から先ほどの形状が一致した障害物の情報を読み出し、全体形状を推定する。そして、ステップ609により、推定結果に基づいてテンポラリ部屋地図データ501を更新し、▲3▼掃除ルート再構築機能へ処理を移す。
【0056】
次に、▲4▼未登録データの新規登録について説明する。図7に処理内容を示す。ステップ1001にて、該当障害物の形状の全体を把握することができているか、把握は一部のみかを判断する。形状全体を把握の場合は、属性データの障害物TYPEを固定障害物、そして他の項目は無効として属性データ402に登録し、▲3▼掃除ルート再構築機能へ処理を移す。
【0057】
一方、形状の把握が一部のみである場合は、ステップ1003へ進み、把握できている一部の形状範囲から矩形領域を形成し、それを障害物としてテンポラリ部屋地図データ501へ登録する。そして、属性データの障害物TYPEを固定障害物、そして他の項目は無効として属性データ402に新規登録し、▲3▼掃除ルート再構築機能へ処理を移す。
【0058】
次に、▲3▼掃除ルート再構築機能について説明する。図8に処理内容を示す。障害物形状推定機能での処理の結果、部屋地図データ401に存在する障害物が無くなったと推定した場合、ステップ702にて、テンポラリ部屋地図データ501の未掃引領域に対してルートを再構築し、テンポラリ掃除ルートデータ502へ書き込む。この様子を図9に示す。
【0059】
図9aは部屋地図データ401において、座標値で表した障害物414,415、掃除ルートデータ403及び掃引済領域411を示している。今、図9aの障害物414,415が無くなった場合、テンポラリ部屋地図データ501は図9bのように障害物414,415が無い状態に更新され、未掃引領域に対して掃除ルート512が再構築される。以降、この再構築ルート512に従ってロボット掃除機は作業を行なうこととなる。
【0060】
一方、障害物形状推定機能での処理の結果、未知障害物が検知され、その全体形状が推定された場合の処理について説明する。先ず、ステップ703にて、テンポラリ部屋地図データの未掃引領域について領域分割を行なう。
【0061】
図10に領域分割の処理内容を示す。先ずステップ1101にて、部屋地図データ401の水平及び垂直方向の頂点から垂線を下ろし領域分割を行なう。次にステップ1102にて、辺を共有する領域を統合することで矩形領域を形成し、最大面積となる領域のみを選択する。このステップ1102の処理を未選択領域がなくなるまで行なうことで領域分割を実現する。
【0062】
このようにして領域分割を行なった後、ステップ704へ進み、各領域毎に直線ルートを作成する。これらの直線ルートを統合することで掃除ルートを生成し、これをテンポラリ掃除ルートデータ502へ書き込む。
【0063】
ステップ703、及びステップ704の模式図を図11に示す。図11aは、部屋地図データ401において、座標値で表した障害物416,417、掃除ルートデータ403及び掃引済領域411を示している。掃除経路上に未知障害物を検知し、その全体形状を既知の障害物416,417の形状と推定した場合、未知障害物を検知した位置に障害物416,417が移動したとし、テンポラリ部屋地図データ501を図11bのように障害物416,417が移動した状態に更新する。そして、未掃引領域に対して水平・垂直方向の頂点から垂線を下ろし、領域分割を行なう。更に、図11cに示すように隣接領域を統合し矩形領域を形成させていく。そして、各領域毎に直線ルート418を作成し(図11d)、これらを統合して掃除ルート512を再構築する(図11e)。
【0064】
なお、図示していないが、未知障害物の形状が登録されている障害物の形状と一致せず、未知障害物が新たに出現した障害物であると判断された場合は、図11bで障害物416,417は移動せずそのまま置かれる。従って、その場合は、図11eの掃除ルート512とは異なる掃除ルートが再構築される。
【0065】
続いて、ステップ705にて、該当障害物の属性データに精密掃除を必要とする掃除方法が登録されている場合は、ステップ706へ進み精密掃除を必要とする掃除方法をテンポラリ掃除ルートデータ502と統合する。図12に精密掃除を必要とする掃除方法について示し、また図13にテンポラリ掃除ルートデータ502との統合方法を示す。ステップ705にて、該当障害物の属性データに精密掃除を必要とする掃除方法が登録されていない場合は、掃除ルート512をテンポラリ掃除ルートデータ502に書き込む。
【0066】
本実施形態で示すロボット掃除機の吸込み部132は、ロボットユニット本体101とは独立に動作することが可能なため、ロボットユニット本体101が通れない領域にも入り込むことができる。属性データ402に登録されている掃除方法とは、この吸込み部132によって障害物内部を掃除する方法のことである。
【0067】
例えば図12aのように、ロボットユニット本体101が通れない領域(障害物内部)420を持つ障害物419において(障害物419を外側に包む凸包形状421が形成される)、吸込み部132が挿入できるライン(吸込み挿入ライン)422を求め、図12bのようにロボット掃除機が吸込み部132を挿入する位置・方向を示す点423(ロボット位置・方向指示点)を算出する。これらの点から吸込み部132を挿入し掃除を行なう。属性データ402に登録している掃除方法とは、このロボット位置・方向指示点423である。
【0068】
また、掃除方法は図13aに示すように、ロボット位置・方向指示点423に最も近い掃除ルート403と接続され、図13bのように作業中のロボット掃除機が接続点に到達すると、ロボット位置・方向指示点423に従って方向転換を行ない吸込み部132により障害物419内部の掃除を行なう。
【0069】
次に、▲2▼属性データ学習機能の処理内容を説明する。図14に処理内容のフロー図を示す。▲2▼属性データ学習機能は掃除作業が終了する毎に実行される。先ず、部屋地図データ401とテンポラリ部屋地図データ501の相違比較を行ない、前回作成した部屋地図データ401中の障害物に対して、移動した障害物や消滅した障害物の確認を行なう(ステップ801)。
【0070】
この障害物確認を行なう際には、障害物の特徴を考慮する必要がある。例えば、椅子やテーブルの足は、複数の要素(障害物)で1つの障害物を構成している。この特徴を属性データ402が管理していなければ正確な障害物確認を行なうことはできない。このように、複数の要素から成る1つの障害物の探索を行なう為に障害物のグループ化を行なう(ステップ802)。図15にその具体例を示す。
【0071】
図15において、図15aは前回の掃除作業で生成された部屋地図データ401、図15bは今回の掃除作業で生成されたテンポラリ部屋地図データ501を示している。これら2つのデータの一致を取ったとき、図15bのグループ424に示す5つの障害物は図15aのデータと不一致な障害物である為、図15aの障害物が移動したもの、或いは新たに出現した障害物であることが分かる。
【0072】
ここで先ず、このグループ424で1つの障害物を構成していると仮定する。そして、このグループ424の相対座標値を保ったまま平行移動、回転移動を施し、図15aのデータに一致する障害物がないか探索を行なう。
【0073】
続いて、図15cのように、グループ424を更に分割し、グループ425、グループ426でそれぞれ1つの障害物を構成していると仮定し、図15aのデータから探索する。このグループ分け作業を障害物の組み合わせの許す限り行なう。そして、図15aのデータと一致し、かつグループ中の要素数が最も多い障害物を選択することで、複数の要素からなる1つの障害物を見つけ出すことができる(ステップ803)。
【0074】
また、壁も特徴的な障害物の1つである。壁は壁際の障害物が移動する度にその形状が変化する。従って、壁と壁際の障害物とを正確に区別しなければ、正確な障害物確認を行なうことができない。このような壁形状の探索方法を図16に示す。
【0075】
図16において、図16aは前回の掃除作業で生成された部屋地図データ401中の壁形状データ427、図16bは今回の掃除作業で生成されたテンポラリ部屋地図データ501中の壁形状データ428を示している。これら2つのデータを統合し、最大面積となる形状を壁形状とする。この壁形状と図16bのテンポラリ部屋地図データ501中の壁形状データとの差分から求まる形状を障害物とすることで、図16cのように壁429と障害物430とを区別することができる(ステップ803)。
【0076】
このような障害物の特徴を考慮した上で、障害物の▲2▼属性データ学習機能が実行される。障害物探索を終えたならばステップ804へ進み、ステップ801、802、803の障害物探索の結果、テンポラリ部屋地図データ501にはなく部屋地図データ401にのみ存在する障害物があった場合は、これを消滅した障害物とし、この障害物の属性データを短期記憶属性データ900へ移動する(ステップ805)。また、部屋地図データ401にはなくテンポラリ部屋地図データ501にのみ存在する障害物があった場合、この障害物は新たに出現した障害物であり、▲4▼未登録データの新規登録にて既にその属性データは属性データ402に登録されている。
【0077】
ステップ804に該当しない障害物に対しては、ステップ806へ進み、障害物の絞り込みを行なう。つまり、ステップ801、802、803の障害物探索の結果、テンポラリ部屋地図データ501中の1つの障害物が部屋地図データ401中の複数の障害物と一致してしまった場合は、ステップ807へ進み、それら複数の障害物に対応する属性データ402により各障害物の存在履歴や知識を調査することで一致する障害物を1つに絞り込む。こうして1つの障害物を探索できたならば、探索した障害物の移動した位置、その移動位置から割り出される知識データを属性データ402に登録する。このようにして、属性データ402の更新を行なうことで、次回以降の掃引作業ではより正確な障害物推定と動的地図更新が可能となる。
【0078】
属性データ402の具体例を図17、障害物TYPEの例を分類して図18に示す。図17は、障害物TYPEがそれぞれ壁、固定障害物(タンス)、日々位置変化障害物(椅子の足)である3つの障害物の属性データ402を示す図である。属性データ402は、ID、統合ID、障害物TYPE、履歴領域数、履歴領域形状データ、掃除方法、知識データの各項目から構成される。
【0079】
各項目は次のように説明される。
ID:部屋地図データに記憶されている各障害物と対応づけるための番号
統合ID:複数の要素(障害物)からなる1つの障害物(例:椅子の足など)に関して、これらの要素に対応づけられた各ID番号
障害物TYPE:障害物のタイプを示す。(図18参照)
履歴領域数、履歴領域形状データ:部屋地図データ内において、この障害物が過去に存在していた領域の数と形状座標値をまとめたもの
掃除方法:障害物内部を掃除する際のロボット位置・方向指示点を記憶
知識データ:障害物特有の知識・条件を記述したもの。
【0080】
図17において、壁はID1、固定障害物(タンス)はID2、日々位置変化障害物は椅子の足ID3,4,5,6を統合したID7である。
【0081】
また、▲2▼属性データ学習機能の具体例を図19,20に示す。図19は部屋地図データ401の更新例、図20は属性データ402の更新例を示している。図20,21に示すように、1回目の掃除では全ての障害物(ID1の壁、ID2,3の障害物、ID4の障害物)を固定障害物とする。2回目の掃除では、先に説明した障害物のグループ化を用いた探索により、障害物がどのように変化(移動、消滅)したかを解析し、データ更新を行なう。
【0082】
ここでは、ID2,3の障害物を1つの障害物と判断し、ID5を割り当てている。また、ID2,3,4の障害物は位置が変化していることから、障害物TYPEが日々位置変化障害物となり、以前に障害物が存在していた領域6,7(図19の斜線部分)を履歴領域として記憶する。
【0083】
そして、掃除方法については、1回目の掃除では障害物がグループ化されていないため障害物内部が存在せず、掃除方法は無効であるが、2回目の掃除でのID4,5の障害物は内部を含んでいるため、掃除方法であるロボット位置・方向指示点が算出され、属性データ402に登録される。更に、障害物の状態から判断される知識データが記憶される。
【0084】
このように、初回のデータ更新では、全ての障害物を単独の固定障害物としている為、データ更新に時間を要するが、データ更新回数を重ね属性データ402が構築されてくると、更新時間が短縮される。
【0085】
以上、本実施形態により、掃除中に部屋地図を更新し、掃除ルートを再構築することが可能となり、状況が変化した部屋の掃除を完成させることが可能となった。また、障害物の検出に赤外線センサ及び触覚センサを採用したので、障害物の形状を精度良く認識することができ、部屋地図の更新及び掃除ルートの再構築を高精度に行なうことが可能となった。更に、障害物毎に属性データを備えるようにしたので、障害物の形状認識を高精度にかつ高速に行なうことが可能となった。
【0086】
【発明の効果】
本発明によれば、掃除中に障害物に遭遇したときに、動的に部屋地図を更新しつつ掃除ルートを再構築することが可能になるので、環境の変化に対して即時に対応して清掃を行なうロボット掃除機を実現することができる。また、赤外線センサ及び触覚センサを備えることによって障害物の形状認識を高精度にかつ高速に行なうことが可能となり、精密な清掃作業を実現することができる。更に、ロボット掃除機を低コスト化することができる。
【図面の簡単な説明】
【図1】本発明に係るロボット掃除機の発明の実施の形態を説明するためのシステム構成図。
【図2】図1に示したロボット掃除機のロボットユニットを説明するための上面図。
【図3】図2に示したロボットユニットの制御部とセンサ系・駆動系の関係を説明するための構成図。
【図4】図2に示したロボットユニットの処理内容を説明するためのフロー図。
【図5】本発明のロボット掃除機制御プログラムに従ってコンピュータが実行する処理内容を説明するためのフロー図。
【図6】図5に示した処理内容における障害物形状推定機能を説明するためのフロー図。
【図7】図5に示した処理内容における未登録データの新規登録処理を説明するためのフロー図。
【図8】図5に示した処理内容における掃除ルート再構築機能を説明するためのフロー図。
【図9】掃除ルート再構築の例を説明するための図。
【図10】掃除ルートを再構築する場合の領域分割を説明するためのフロー図。
【図11】掃除ルート再構築の別の例を説明するための図。
【図12】障害物内部の掃除方法の例を説明するための図。
【図13】属性データ(掃除方法)を統合した掃除ルートの例を説明するための図。
【図14】図5に示した処理内容における属性データ学習機能を説明するためのフロー図。
【図15】障害物探索におけるグループ化の例を説明するめの図。
【図16】壁と障害物を識別する方法の例を説明するための図。
【図17】属性データの例を説明するための図。
【図18】障害物TYPEの分類例を説明するための図。
【図19】部屋地図データにおける障害物属性学習機能の例を説明するための図。
【図20】属性データにおける障害物属性学習機能の例を説明するための図。
【符号の説明】
100…ロボットユニット、101…ロボットユニット本体、110…センサデータ取得部、111〜113…赤外線センサ、114…触覚センサ、126,127…エンコーダ、131…アーム部、132…吸込み部、150,225…無線通信モジュール、160…駆動部、200…知能処理ユニット、221…CPU、222…記憶装置、224…内部バス、235…ロボット掃除機制御プログラム、300…制御部、400…データベース、401…部屋地図データ、402…属性データ、403…掃除ルートデータ、500…メモリ。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a self-propelled robot cleaner that performs a cleaning operation according to cleaning route data automatically generated based on room map data.
[0002]
[Prior art]
In a robot that moves in a space with various obstacles, how to deal with obstacles when encountering obstacles is an important point. As a method for coping with obstacles, it is common to use stored data relating to obstacles.
[0003]
In the example disclosed in Japanese Patent Laid-Open No. 2001-129787, the robot holds image data of an obstacle. When there is an obstacle on the moving path, the robot takes in the obstacle with an image sensor and compares and determines whether the obstacle is registered in advance. If it is determined that the obstacle is a registered obstacle, an avoidance operation is performed according to an avoidance program corresponding to the obstacle. If it is determined that the obstacle is an unknown obstacle, the robot determines whether there is a person in the vicinity, and if the presence of the person is confirmed, asks for help by voice or gesture.
[0004]
In the example disclosed in Japanese Patent Laid-Open No. 9-222852, room map data is expressed as a cognitive map that is spatial knowledge, and component definition information and component probability information are stored. Then, route generation is performed using this cognitive map. When the robot encounters an obstacle different from the cognitive map on the movement route, the probability information of the corresponding component (route) is changed. As a result, the changed information is utilized in the next movement route generation.
[0005]
In addition to the image sensor described above, an ultrasonic sensor is used as a sensor provided in the robot for detecting an obstacle. The distance between the mobile robot and surrounding obstacles is measured by an ultrasonic sensor, and room map generation processing and robot position estimation processing are performed (for example, the IEEE document “IEEE Journal of Robotics and Automation (IEEE Journal) of Robotics and Automation) "(published in 1988), RA-3, pages 249 to 265).
[0006]
An example of a map storage method for determining a travel route in advance is disclosed in JP-A-8-16241. In this example, for each region of the room, the attributes of a part where the entire work vehicle can travel, a part where only the work part of the work vehicle can be inserted, and a part where travel and insertion are impossible, Each area with attributes is registered in the room map. A cleaning route is planned using the room map with attributes.
[0007]
[Problems to be solved by the invention]
Regarding the countermeasure against obstacle encounter, in the example of the above Japanese Patent Laid-Open No. 2001-129787, since the image data is a planar information source, it is difficult to guess the geometric structure of the obstacle, and the memory is stored. It is difficult for a moving robot to image an obstacle in exactly the same environment as the obstacle image data being performed. Therefore, there is a possibility of causing erroneous recognition that the obstacles are different even though they are the same obstacle. In addition, since no data update or learning process is performed, the same recognition error may occur during the next movement.
[0008]
In the example of Japanese Patent Application Laid-Open No. 9-222852, when an obstacle different from the cognitive map information is encountered, a dynamic map update is performed, but the update contents include probability information indicating the reliability of the corresponding route. The actual map / route shape is not changed. Therefore, route reconstruction cannot be performed in real time while moving, and if there is an unknown obstacle, the operation cannot be completed. Furthermore, since the shape of the obstacle is not stored in the cognitive map, it is difficult to precisely clean around the obstacle.
[0009]
In a robot that does not simply move but also cleans while moving, it is required to accurately grasp the shape of the obstacle. When an image sensor is used as the obstacle detection sensor for that purpose, the image data becomes a planar information source as described above, so that the shape grasp becomes insufficient. In addition, when an ultrasonic sensor is used, the distance to the obstacle can be measured to some extent. However, since the ultrasonic wave is spread, sufficient accuracy for grasping the shape cannot be obtained. In addition, if a relatively expensive sensor such as an ultrasonic sensor is used, the production cost of the robot is inevitably increased. When targeting robot cleaners for general households, it is desirable to manufacture them at the lowest possible cost.
[0010]
In the example of JP-A-8-16241, a cleaning route is generated depending on the attribute of the area in the room map. However, since dynamic data is not updated, an environment such as moving an obstacle is used. If a change occurs, the cleaning operation cannot be completed.
[0011]
A first object of the present invention is to provide a robot cleaner that accurately reconstructs a cleaning route and resumes cleaning when an obstacle is encountered, and a robot cleaner control program for controlling its operation. It is in.
[0012]
A second object of the present invention is to provide a low-cost robot cleaner that dynamically updates a room map with high accuracy and a robot cleaner control program for controlling its operation.
[0013]
A third object of the present invention is to provide a robot cleaner that cleans an obstacle by accurately and quickly recognizing an obstacle, and a robot cleaner control program for controlling the operation thereof.
[0014]
[Means for Solving the Problems]
The first object is to provide an obstacle detection sensor for detecting the presence or absence of an obstacle and recognizing its shape, room map data storing a room map formed by registering obstacles in a room, and room map data. And attribute data storing obstacle attributes (existence history, cleaning method, etc.) registered in the above, and cleaning route data storing a cleaning route created based on the room map data as a cleaning route, When cleaning is performed according to the cleaning route, the presence or absence of an obstacle is detected using an obstacle detection sensor. If an obstacle is detected, whether or not an obstacle is registered on the room map data at that position. The obstacle detected when the obstacle is not registered is determined as an unknown obstacle, the shape of the unknown obstacle is recognized using the obstacle detection sensor, and the shape that matches the recognized shape is detected in the room. map If the estimated obstacle can be estimated by referring to the data and the attribute data, the obstacle of the estimated shape is registered in the room map data, the cleaning route data is reconstructed, and the shape that matches the recognized shape is estimated. If this is not possible, it is achieved by determining the unknown obstacle as a newly appearing obstacle, registering it in the room map data, and reconstructing the cleaning route data.
[0015]
By adopting such means, when the robot cleaner encounters an obstacle, the distinction of known or new appearance of the obstacle is clearly distinguished, and the room map is updated at each obstacle encounter accordingly. Is done. Therefore, even when an unknown obstacle is encountered, the cleaning route can be accurately reconstructed, and cleaning can be resumed according to the reconstructed cleaning route.
[0016]
The second object is to acquire information from the infrared sensor and the tactile sensor for the robot traveling based on the route data stored in the storage means, and use the information to determine whether there is an obstacle on the route. It is achieved by detecting, recognizing the shape of the obstacle using information from the tactile sensor, and executing a map creation method for creating the route data using the detection result and the recognition result. .
[0017]
By using the infrared sensor and the tactile sensor, it is possible to accurately grasp the shape of the obstacle. Therefore, it is possible to create the cleaning route data with high accuracy and to create the room map based on the route data. Furthermore, both the infrared sensor and the tactile sensor can be configured using inexpensive sensor elements, and a low-cost robot cleaner can be realized.
[0018]
The third object is to provide at least a sensor, obstacle data, and cleaning route data stored as a cleaning route as a cleaning route, and from the sensor when cleaning is performed according to the cleaning route. This is achieved by obtaining information, reconstructing the cleaning route using the information and the obstacle data, and when cleaning route is reconstructed, continuing cleaning according to the reconstructed cleaning route. The
[0019]
Obstacle data, which is an attribute unique to the obstacle (existing history, cleaning method, etc.) is recorded in advance and reflected in the reconstruction of the cleaning route, so that the obstacle is recognized accurately and at high speed for cleaning. Can be performed.
[0020]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, a robot cleaner according to the present invention and a robot cleaner control program for controlling its operation will be described in more detail with reference to the embodiments of the invention shown in the drawings.
[0021]
A system configuration example of a robot cleaner using the robot cleaner control program of the present invention is shown in FIG. The robot cleaner includes a fixed intelligent processing unit 200 and a robot unit 100 that performs cleaning. The intelligent processing unit 200 and the robot unit 100 are connected wirelessly via the wireless communication module 225 and the wireless communication module 150, and bidirectional wireless communication is formed. The intelligent processing unit 200 sends an operation command to the robot unit 100 wirelessly, and the robot unit 100 sends the sensor data to the intelligent processing unit 200 wirelessly.
[0022]
The intelligent processing unit 200 stores a CPU (central processing unit) 221 that operates based on the robot cleaner control program 235, a memory 500 that the CPU 221 uses during processing, a wireless communication module 225, a robot cleaner control program 235, and a database 400. The storage device 222 is connected to the internal bus 224. These units connected to the internal bus 224 form a computer. The database 400 includes room map data 401, attribute data 402, and cleaning route data 403.
[0023]
As will be described later, room map data 401 is data indicating where and how obstacles (cupboards, tables, chairs, walls, pillars, etc.) in the room to be cleaned are arranged. Yes, these are expressed as ordinate and abscissa coordinate values starting from the cleaning start point. Therefore, the position where the obstacle is arranged, the shape and direction of the obstacle can be known from the coordinate value.
[0024]
The attribute data 402 includes attributes of each obstacle, that is, the type of the obstacle (whether it is a wall or a general obstacle, whether it is a fixed obstacle or an object whose position changes daily), the ID of the obstacle (identification) Number), cleaning method (cleaning only around the obstacle or precision cleaning to clean the inside of the obstacle), number of history areas (number of areas where obstacles existed in the past), etc. The cleaning route data 403 is data representing a cleaning route determined from the room map data 401 and the attribute data 402 by the coordinate values.
[0025]
In the robot unit 100, the control unit 300 is connected to the wireless communication module 150, and the drive unit 160 and the sensor data acquisition unit 110 are connected to the control unit 300. The drive unit 160 includes a mobile robot drive unit 120 that drives a motor of a wheel, and a cleaning mechanism drive unit 130 that drives a suction unit that performs cleaning. The sensor data acquisition unit 110 includes an obstacle detection sensor 115 that detects the approach of the obstacle and the shape of the obstacle, and a wheel encoder 128 that measures the number of rotations of the wheel.
[0026]
The control unit 300 receives an operation command from the intelligent processing unit 200 and controls the movement of the driving unit 160. The control unit 300 also receives an operation command from the intelligent processing unit 200 and transmits the sensor data from the sensor data acquisition unit 110 to the intelligent processing unit 200.
[0027]
The computer determines the operation of the robot unit 100 using each data in the database 400 and the sensor data transmitted from the robot unit 100, and transmits an operation command to the robot unit 100. In this way, processing according to the robot cleaner control program 235 is executed.
[0028]
In the above, the robot cleaner is shown as being separated into the intelligent processing unit 200 and the robot unit 100, but the intelligent processing unit 200 can be mounted on the robot unit 100 and integrated. In this case, the wireless communication module 225 and the wireless communication module 150 are omitted, and the control unit 300 is directly connected to the internal bus 224.
[0029]
FIG. 2 is a top view showing the configuration of the robot unit 100. In FIG. 2, a main body 101 of the robot unit 100 is an independent drive wheel type mobile robot having a left drive wheel 121, a right drive wheel 122, and an auxiliary wheel 123. By adjusting the respective wheel speeds, the robot unit 100 can move in any direction. It is possible to move. Rotary encoders 126 and 127 are installed on both wheels 121 and 122, respectively, and the number of rotations of both wheels can be measured. The mobile robot drive unit 120 is configured by the wheels 121 and 122 and respective motors (not shown in FIG. 2) for driving them (FIG. 1).
[0030]
Infrared sensors 111, 112, and 113 are installed around the robot unit main body 101, and it is possible to detect the presence of relatively close obstacles on the front, side, and rear. In addition, a wireless communication module 150 that realizes wireless communication with the intelligent processing unit 200 is installed. Although not shown, the control unit 300 is installed adjacent to the wireless communication module 150.
[0031]
Furthermore, the robot unit main body 101 is provided with an arm part 131 that can be moved horizontally to the left and right and a suction part 132 that can be rotated about the tip part of the arm part 131 as a central axis. The suction unit 132 includes a dust collection unit 136 for collecting dust, a suction motor 135 for performing a suction operation by suction, and a tactile sensor 114. The tactile sensor 114 detects that an object has been touched.
[0032]
The arm part 131 and the suction part 132, which are cleaning mechanisms, can operate independently of the robot unit main body 101 and can be detached from the robot unit main body 101. Accordingly, it is possible to prepare several cleaning mechanisms having different shapes and operations, and perform work by switching the cleaning mechanism in accordance with the state of the cleaning environment.
[0033]
The infrared sensors 111, 112, 113 and the tactile sensor 114 constitute an obstacle detection sensor 115, and the rotary encoders 126, 127 constitute a wheel encoder 128 (FIG. 1). The infrared sensors 111, 112, and 113 are realized by a structure in which a light emitting diode and a photodiode are combined, and reflected light from an infrared obstacle emitted from the light emitting diode is detected by the photodiode. It is realized using a piezoelectric element or a small micro switch. All of these elements are very inexpensive, and the obstacle detection sensor 115 can be realized at low cost.
[0034]
FIG. 3 is a block diagram illustrating a relationship among the control unit 300, the sensor data acquisition unit 110, the mobile robot driving unit 120, and the cleaning mechanism driving unit 130 in the robot unit 100.
[0035]
When the operation command transmitted from the intelligent processing unit 200 is a drive command, the control unit 300 generates a control signal for operating the mobile robot driving unit 120 and the cleaning mechanism driving unit 130 based on the operation command, and periodically The control signal is transmitted to the mobile robot drive unit 120 and the cleaning mechanism drive unit 130. By this control signal, the rotation of the left wheel motor 124 and the right wheel motor 125 for driving the wheels 121 and 122 in the mobile robot drive unit 120 is controlled, respectively, and the cleaning mechanism drive unit 130 is further controlled. The cleaning mechanism drive unit 130 includes a suction motor 135, an arm unit slide motor 134 for moving the arm unit 131, and a suction unit rotation motor 133 for operating a rotation mechanism attached to the suction unit 132. The rotation of these motors is controlled respectively.
[0036]
In addition, the control unit 300 periodically acquires data from the sensor data acquisition unit 110. When the operation command transmitted from the intelligent processing unit 200 is a sensor data transmission request command, the control unit 300 transmits the sensor data to the intelligent processing unit 200 using the wireless communication module 150.
[0037]
FIG. 4 is a flowchart showing the processing contents of the control unit 300. First, the operation command received by the wireless communication module 150 is analyzed in step 301. Next, the process proceeds to step 302. If the analyzed operation command is a drive command, the process proceeds to step 308. On the other hand, if the analyzed operation command is a sensor data transmission request command, the process proceeds to step 303, and the latest sensor data stored in the robot unit 100 is transmitted to the intelligent processing unit 200 via the wireless communication module 150. In step 308, the drive target motor is set, the speed is set, and the movement distance is set based on the content of the drive command.
[0038]
The control unit 300 periodically executes an interrupt process 304 at intervals of 10 milliseconds to drive the motor and acquire sensor data. When the interrupt processing execution time is reached, in step 305, control signals for the drive motors of the wheel, arm, and suction unit are generated based on the values set in step 308 and transmitted to the drive motors of the drive unit 160. Next, the process proceeds to step 306, where the sensor data acquisition unit 110 acquires obstacle detection and wheel rotation number data as sensor data. The acquired sensor data is stored in the memory 307 as the latest sensor data. That is, the latest sensor data in the memory 307 is updated each time an interrupt process is performed.
[0039]
Next, the contents of processing executed by the computer of the intelligent processing unit 200 according to the robot cleaner control program 235 will be described. In the present invention, the robot cleaner being cleaned updates the room map data 401 on the spot when it detects that the situation of the room is different from the situation shown in the room map data 401, and performs cleaning. Reconstruct the route data 403. That is, whenever there is a difference, the room map data 401 is updated and the cleaning route data 403 is reconstructed. The difference is when an obstacle is moved away from the room or when a new obstacle that is not in the room is brought into the room.
[0040]
The respective update of the room map data 401 and the restructuring of the cleaning route data 403 each time the room map data 401 and the cleaning route data 403 are copied to the memory 500, respectively, and the temporary room map data shown later in FIG. When the cleaning is completed, the temporary room map data 501 and the temporary cleaning route data 502 are overwritten on the room map data 401 and the cleaning route data 403 and updated. The next cleaning is performed using the updated room map data 401 and cleaning route data 403.
[0041]
FIG. 5 is a flowchart showing the processing procedure of the intelligent processing unit 200 by the computer. When an obstacle is registered on the temporary room map data 501 at the location where the robot cleaner is moving, or when an obstacle is encountered while moving, first at step 201, the sensor data of the robot unit 100 is acquired. The sensor data from the unit 110 is analyzed. Specifically, the current position of the robot unit 101 is calculated based on data from the wheel encoder 128, and whether or not the tactile sensor 114 has touched an obstacle is detected. The infrared sensors 111 to 113 can roughly detect the presence of nearby obstacles and detect that they are approaching the obstacle, and the tactile sensor 114 can touch the obstacle in advance. You can foresee.
[0042]
Next, in step 202, the temporary room map data 501 and the sensor data analysis result are compared, and a difference is first determined based on the presence or absence of an obstacle. The determination of the presence or absence of an obstacle is performed based on the data from the tactile sensor 114 as described above. When there is an obstacle, the process proceeds to step 203, and subsequently, it is determined whether or not the obstacle is registered on the temporary room map data 501 at the position where the tactile sensor 114 touches the obstacle. If there is an obstacle registered, it is determined that there is no difference, and the process proceeds to step 211 to perform cleaning according to the temporary cleaning route data 502. Subsequently, if all the rooms have not been cleaned in step 212, the process returns to step 201 to continue the process.
[0043]
In step 202, when there is no obstacle at the current position, the process proceeds to step 204, and the obstacle registered on the temporary room map data 501 as the obstacle is moving is removed. In step 208, the temporary room map data 501 is updated by removing the obstacle, and in step 210, a cleaning route is reconstructed based on the updated temporary room map data 501. Next, in step 211, cleaning is performed according to the reconstructed temporary cleaning route data 502.
[0044]
If no obstacle is registered on the temporary room map data 501 at the position where the tactile sensor 114 touches the obstacle in step 203, the obstacle touched by the tactile sensor 114 is set as an unknown obstacle and the process proceeds to step 205. The shape of an unknown obstacle is recognized using the tactile sensor 114.
[0045]
Subsequently, in step 206, it is searched whether or not the temporary room map data 501 has an obstacle having a shape that at least partially matches the shape recognized by the unknown obstacle. If there is an obstacle with a matching shape, the process proceeds to step 207 to estimate the matching shape as a whole using the attribute data 402. In step 208, the estimated shape of the obstacle is registered in the temporary room map data 501. . Thereby, the temporary room map data 501 is updated.
[0046]
If there is no matching obstacle in step 206, the process proceeds to step 209, where the unknown obstacle appears as a newly appearing obstacle, grasps the entire shape of the unknown obstacle or the area where the unknown obstacle exists, The attribute data of the newly appearing obstacle is added to the attribute data 402. In step 208, the newly appearing obstacle whose shape or area is grasped is registered in the temporary room map data 501, and the temporary room map data 501 is updated.
[0047]
When all the cleaning is completed in step 212, the attribute data 402 is updated in step 213 (for example, when the obstacle that has been fixed is moved, the attribute is changed to an obstacle whose position changes), and the processing is performed. finish.
[0048]
As described above, in the present invention, the temporary room map data 501 and the temporary cleaning route data 502 are dynamically updated during cleaning, so that the cleaning can be completed even if the situation inside the room changes.
[0049]
The function realized by the above steps 202 to 208 is the (1) obstacle shape estimation function, the function realized by the step 213 is the attribute data learning function, and the function realized by the step 210 is (3) A cleaning route reconstructing function is added. In addition, functions realized by steps 209 and 208 are (4) a new registration function for unregistered data. Details of each will be described below.
[0050]
FIG. 6 shows a flow chart of the processing contents by the (1) obstacle shape estimation function. As described above, there are the following two situations in which a difference occurs between the sensor data and the temporary room map data 501. One is when an unknown obstacle is encountered, and the other is when there is no obstacle present in the temporary room map data.
[0051]
Which of the two factors has occurred is confirmed using the sensor data analysis result in step 601, and if there are no registered obstacles, the process proceeds to step 605 and the corresponding obstacle is searched from the attribute data 402. The shape of the corresponding obstacle is deleted from the temporary room map data 501. Thereby, the temporary room map data 501 is updated at the same time. Then, (3) the process is transferred to the cleaning route restructuring function.
[0052]
On the other hand, in step 601, if the cause of the data difference is due to encounter with an unknown obstacle, the process proceeds to step 602, where the shape of the unknown obstacle is recognized by the tactile sensor 114 installed in the suction unit 132, and the recognized shape is temporarily stored. Write to room map data 501. In step 603, the room map data 401 and the short-term memory attribute data 900 are referenced to search for shape data that at least partially matches the shape of the unknown obstacle.
[0053]
Here, the short-term memory attribute data 900 is the obstacle shape data and attribute data that existed on the room map data 401 and the attribute data 402 before, but these data are constant. Only the period is held in the storage device 222.
[0054]
If there is no shape data that at least partially matches the shape of the unknown obstacle in the room map data 401 or the short-term memory attribute data 900, it is assumed that the unknown obstacle is a newly appearing object. Moves processing to new registration of unregistered data.
[0055]
On the other hand, when there is a shape that at least partially matches the shape of the unknown obstacle, the number of obstacles that partially match the shape is confirmed. -Prioritize by referring to information other than shapes such as knowledge, and narrow down the matching shapes to one. In this way, if the number of matching shapes is narrowed down to one, the process proceeds to step 608, where the information on the obstacle with the matching shape is read from the attribute data 402 or the short-term memory attribute data 900, and the overall shape is estimated. In step 609, the temporary room map data 501 is updated based on the estimation result, and the process proceeds to (3) the cleaning route reconstruction function.
[0056]
Next, (4) new registration of unregistered data will be described. FIG. 7 shows the processing contents. In step 1001, it is determined whether the entire shape of the obstacle can be grasped or only a part of the grasp is grasped. In the case of grasping the entire shape, the obstacle type TYPE of the attribute data is registered in the attribute data 402 as a fixed obstacle and the other items are invalid, and the process is transferred to the (3) cleaning route reconstruction function.
[0057]
On the other hand, if only part of the shape is grasped, the process proceeds to step 1003, where a rectangular area is formed from the part of the grasped shape range, and is registered in the temporary room map data 501 as an obstacle. Then, the obstacle type TYPE of the attribute data is newly registered in the attribute data 402 as a fixed obstacle and other items are invalid, and the process is transferred to the (3) cleaning route reconstruction function.
[0058]
Next, (3) the cleaning route reconstruction function will be described. FIG. 8 shows the processing contents. As a result of the processing by the obstacle shape estimation function, when it is estimated that there are no obstacles present in the room map data 401, in step 702, a route is reconstructed for the unswept area of the temporary room map data 501 Write to temporary cleaning route data 502. This is shown in FIG.
[0059]
FIG. 9 a shows obstacles 414 and 415, cleaning route data 403, and a swept area 411 represented by coordinate values in the room map data 401. If the obstacles 414 and 415 in FIG. 9a are lost, the temporary room map data 501 is updated to the state without the obstacles 414 and 415 as shown in FIG. 9b, and the cleaning route 512 is reconstructed for the unswept area. Is done. Thereafter, the robot cleaner performs work according to the reconstruction route 512.
[0060]
On the other hand, the processing when an unknown obstacle is detected as a result of the processing by the obstacle shape estimation function and the overall shape thereof is estimated will be described. First, in step 703, area division is performed for the unswept area of the temporary room map data.
[0061]
FIG. 10 shows the processing contents of the area division. First, in step 1101, a vertical line is drawn from the vertices in the horizontal and vertical directions of the room map data 401 to perform region division. Next, in step 1102, a rectangular region is formed by integrating regions sharing sides, and only the region having the maximum area is selected. The region division is realized by performing the processing of step 1102 until there is no unselected region.
[0062]
After dividing the area in this way, the process proceeds to step 704, and a straight line route is created for each area. These straight line routes are integrated to generate a cleaning route, and this is written into the temporary cleaning route data 502.
[0063]
A schematic diagram of step 703 and step 704 is shown in FIG. FIG. 11 a shows obstacles 416 and 417, cleaning route data 403, and a swept area 411 represented by coordinate values in the room map data 401. When an unknown obstacle is detected on the cleaning route and the entire shape is estimated as the shape of the known obstacle 416, 417, it is assumed that the obstacle 416, 417 has moved to the position where the unknown obstacle is detected, and the temporary room map The data 501 is updated so that the obstacles 416 and 417 have moved as shown in FIG. Then, a perpendicular line is drawn from the vertex in the horizontal and vertical directions with respect to the unswept area, and the area is divided. Further, as shown in FIG. 11c, adjacent regions are integrated to form a rectangular region. Then, a straight route 418 is created for each region (FIG. 11d), and these are integrated to reconstruct the cleaning route 512 (FIG. 11e).
[0064]
Although not shown, when the shape of the unknown obstacle does not match the registered obstacle shape and it is determined that the unknown obstacle is a newly appearing obstacle, the obstacle shown in FIG. The objects 416 and 417 are left without moving. Therefore, in that case, a cleaning route different from the cleaning route 512 of FIG. 11e is reconstructed.
[0065]
Subsequently, in step 705, if a cleaning method that requires precision cleaning is registered in the attribute data of the obstacle, the process proceeds to step 706, and the cleaning method that requires precision cleaning is referred to as temporary cleaning route data 502. Integrate. FIG. 12 shows a cleaning method that requires precision cleaning, and FIG. 13 shows an integration method with temporary cleaning route data 502. In step 705, if the cleaning method that requires precision cleaning is not registered in the attribute data of the obstacle, the cleaning route 512 is written in the temporary cleaning route data 502.
[0066]
Since the suction part 132 of the robot cleaner shown in the present embodiment can operate independently of the robot unit main body 101, it can also enter an area through which the robot unit main body 101 cannot pass. The cleaning method registered in the attribute data 402 is a method of cleaning the inside of the obstacle by the suction unit 132.
[0067]
For example, as shown in FIG. 12a, in the obstacle 419 having a region 420 (the inside of the obstacle) through which the robot unit main body 101 cannot pass (a convex hull shape 421 surrounding the obstacle 419 is formed), the suction part 132 is inserted. A possible line (suction insertion line) 422 is obtained, and a point 423 (robot position / direction indication point) indicating the position / direction in which the robot cleaner inserts the suction part 132 as shown in FIG. 12B is calculated. From these points, the suction portion 132 is inserted to perform cleaning. The cleaning method registered in the attribute data 402 is the robot position / direction instruction point 423.
[0068]
As shown in FIG. 13a, the cleaning method is connected to the cleaning route 403 closest to the robot position / direction indicating point 423, and when the robot cleaner in operation reaches the connection point as shown in FIG. The direction is changed according to the direction indication point 423, and the inside of the obstacle 419 is cleaned by the suction part 132.
[0069]
Next, the processing contents of the (2) attribute data learning function will be described. FIG. 14 shows a flowchart of processing contents. (2) The attribute data learning function is executed every time the cleaning work is completed. First, the difference between the room map data 401 and the temporary room map data 501 is compared, and the obstacles that have moved or disappeared are confirmed against the obstacles in the previously created room map data 401 (step 801). .
[0070]
When performing this obstacle confirmation, it is necessary to consider the characteristics of the obstacle. For example, a leg of a chair or table constitutes one obstacle with a plurality of elements (obstacles). If this feature is not managed by the attribute data 402, an accurate obstacle confirmation cannot be performed. In this way, obstacles are grouped in order to search for one obstacle composed of a plurality of elements (step 802). FIG. 15 shows a specific example thereof.
[0071]
15, FIG. 15a shows room map data 401 generated by the previous cleaning operation, and FIG. 15b shows temporary room map data 501 generated by the current cleaning operation. When these two data are matched, the five obstacles shown in the group 424 of FIG. 15b are obstacles that do not match the data of FIG. 15a, so that the obstacle of FIG. 15a has moved or newly appears. It turns out that it is an obstacle.
[0072]
First, it is assumed that this group 424 constitutes one obstacle. Then, translation and rotation are performed while maintaining the relative coordinate values of the group 424, and a search is performed for an obstacle that matches the data in FIG. 15a.
[0073]
Subsequently, as shown in FIG. 15c, it is assumed that the group 424 is further divided and the group 425 and the group 426 constitute one obstacle, respectively, and the search is performed from the data of FIG. 15a. This grouping work is performed as long as the combination of obstacles allows. Then, by selecting the obstacle that matches the data of FIG. 15a and has the largest number of elements in the group, one obstacle consisting of a plurality of elements can be found (step 803).
[0074]
Walls are another characteristic obstacle. The shape of the wall changes each time the obstacle near the wall moves. Therefore, the obstacle cannot be confirmed accurately unless the wall and the obstacle at the wall are accurately distinguished. FIG. 16 shows such a wall shape search method.
[0075]
In FIG. 16, FIG. 16a shows the wall shape data 427 in the room map data 401 generated by the previous cleaning operation, and FIG. 16b shows the wall shape data 428 in the temporary room map data 501 generated by the current cleaning operation. ing. By integrating these two data, the shape having the maximum area is defined as the wall shape. By using the shape obtained from the difference between the wall shape and the wall shape data in the temporary room map data 501 of FIG. 16b as an obstacle, the wall 429 and the obstacle 430 can be distinguished as shown in FIG. Step 803).
[0076]
In consideration of such obstacle characteristics, the obstacle data learning function (2) is executed. If the obstacle search is completed, the process proceeds to step 804. As a result of the obstacle search in steps 801, 802, and 803, if there is an obstacle that exists only in the room map data 401 instead of the temporary room map data 501, This obstacle is regarded as a disappeared obstacle, and the attribute data of this obstacle is moved to the short-term memory attribute data 900 (step 805). Also, if there is an obstacle that exists only in the temporary room map data 501 but not in the room map data 401, this obstacle is a newly appearing obstacle. (4) Already by new registration of unregistered data The attribute data is registered in the attribute data 402.
[0077]
For obstacles not corresponding to step 804, the process proceeds to step 806 to narrow down the obstacles. In other words, if one obstacle in the temporary room map data 501 matches with a plurality of obstacles in the room map data 401 as a result of the obstacle search in steps 801, 802, and 803, the process proceeds to step 807. The matching obstacles are narrowed down to one by examining the existence history and knowledge of each obstacle based on the attribute data 402 corresponding to the plurality of obstacles. If one obstacle can be searched in this way, the position where the searched obstacle moves and the knowledge data calculated from the movement position are registered in the attribute data 402. By updating the attribute data 402 in this way, more accurate obstacle estimation and dynamic map updating can be performed in the next and subsequent sweep operations.
[0078]
A specific example of the attribute data 402 is shown in FIG. 17, and an example of the obstacle TYPE is shown in FIG. FIG. 17 is a diagram showing the attribute data 402 of three obstacles whose obstacle type is a wall, a fixed obstacle (chance), and a daily position change obstacle (chair foot), respectively. The attribute data 402 includes items of ID, integrated ID, obstacle TYPE, history area number, history area shape data, cleaning method, and knowledge data.
[0079]
Each item is explained as follows.
ID: Number to associate with each obstacle stored in the room map data
Integrated ID: For one obstacle (eg, chair foot) consisting of multiple elements (obstacles), each ID number associated with these elements
Obstacle TYPE: Indicates the type of obstacle. (See Figure 18)
Number of history areas, history area shape data: A summary of the number of areas and shape coordinate values where this obstacle existed in the past in room map data
Cleaning method: Memorize robot position / direction indication points when cleaning inside obstacles
Knowledge data: Describes knowledge and conditions specific to obstacles.
[0080]
In FIG. 17, the wall is ID 1, the fixed obstacle (chance) is ID 2, and the daily position change obstacle is ID 7 that integrates chair feet IDs 3, 4, 5, and 6
[0081]
Also, (2) specific examples of the attribute data learning function are shown in FIGS. FIG. 19 shows an example of updating the room map data 401, and FIG. 20 shows an example of updating the attribute data 402. As shown in FIGS. 20 and 21, in the first cleaning, all obstacles (ID1 walls, ID2 and 3 obstacles, ID4 obstacles) are fixed obstacles. In the second cleaning, data is updated by analyzing how the obstacles have changed (moved or disappeared) by the search using the grouping of obstacles described above.
[0082]
Here, the obstacles with IDs 2 and 3 are determined as one obstacle, and ID 5 is assigned. In addition, since the obstacles of IDs 2, 3, and 4 have changed positions, the obstacles TYPE become position-changing obstacles every day, and the areas 6 and 7 where the obstacles existed before (hatched portions in FIG. 19). ) As a history area.
[0083]
As for the cleaning method, the obstacles are not grouped in the first cleaning, so there is no obstacle inside, and the cleaning method is invalid, but the obstacles with ID4, 5 in the second cleaning are Since the inside is included, a robot position / direction indicating point as a cleaning method is calculated and registered in the attribute data 402. Furthermore, knowledge data determined from the state of the obstacle is stored.
[0084]
Thus, in the first data update, since all obstacles are single fixed obstacles, it takes time to update the data. However, when the attribute data 402 is constructed by overlapping the number of data updates, the update time is increased. Shortened.
[0085]
As described above, according to the present embodiment, it is possible to update the room map during the cleaning and to reconstruct the cleaning route, and it is possible to complete the cleaning of the room whose situation has changed. In addition, since infrared sensors and tactile sensors are used to detect obstacles, the shape of the obstacles can be recognized with high accuracy, and the room map can be updated and the cleaning route can be reconstructed with high accuracy. It was. Furthermore, since the attribute data is provided for each obstacle, the shape of the obstacle can be recognized with high accuracy and at high speed.
[0086]
【The invention's effect】
According to the present invention, when an obstacle is encountered during cleaning, it becomes possible to reconstruct the cleaning route while dynamically updating the room map. A robot cleaner that performs cleaning can be realized. Further, by providing the infrared sensor and the tactile sensor, it is possible to recognize the shape of the obstacle with high accuracy and at high speed, and to realize a precise cleaning operation. Furthermore, the cost of the robot cleaner can be reduced.
[Brief description of the drawings]
FIG. 1 is a system configuration diagram for explaining an embodiment of an invention of a robot cleaner according to the present invention.
2 is a top view for explaining a robot unit of the robot cleaner shown in FIG. 1; FIG.
3 is a configuration diagram for explaining a relationship between a control unit of the robot unit shown in FIG. 2 and a sensor system / drive system.
4 is a flowchart for explaining processing contents of the robot unit shown in FIG. 2; FIG.
FIG. 5 is a flowchart for explaining processing contents executed by a computer according to the robot cleaner control program of the present invention;
6 is a flowchart for explaining an obstacle shape estimation function in the processing content shown in FIG. 5;
7 is a flowchart for explaining new registration processing of unregistered data in the processing content shown in FIG.
8 is a flowchart for explaining a cleaning route reconstruction function in the processing content shown in FIG.
FIG. 9 is a diagram for explaining an example of cleaning route reconstruction.
FIG. 10 is a flowchart for explaining region division when a cleaning route is reconstructed.
FIG. 11 is a diagram for explaining another example of cleaning route reconstruction.
FIG. 12 is a diagram for explaining an example of a method for cleaning the inside of an obstacle.
FIG. 13 is a diagram for explaining an example of a cleaning route in which attribute data (cleaning method) is integrated.
14 is a flowchart for explaining an attribute data learning function in the processing content shown in FIG.
FIG. 15 is a diagram for explaining an example of grouping in obstacle search;
FIG. 16 is a diagram for explaining an example of a method for identifying a wall and an obstacle.
FIG. 17 is a diagram for explaining an example of attribute data.
FIG. 18 is a diagram for explaining a classification example of an obstacle TYPE.
FIG. 19 is a diagram for explaining an example of an obstacle attribute learning function in room map data.
FIG. 20 is a diagram for explaining an example of an obstacle attribute learning function in attribute data.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 100 ... Robot unit, 101 ... Robot unit main body, 110 ... Sensor data acquisition part, 111-113 ... Infrared sensor, 114 ... Tactile sensor, 126, 127 ... Encoder, 131 ... Arm part, 132 ... Suction part, 150, 225 ... Wireless communication module, 160 ... Drive unit, 200 ... Intelligent processing unit, 221 ... CPU, 222 ... Storage device, 224 ... Internal bus, 235 ... Robot cleaner control program, 300 ... Control unit, 400 ... Database, 401 ... Room map Data, 402 ... attribute data, 403 ... cleaning route data, 500 ... memory.

Claims (8)

コンピュータによってロボット掃除機の動作を制御するための制御プログラムであって、
該ロボット掃除機は、障害物の有無の検知と該障害物の形状の認識を行なう障害物検出センサと、部屋に在る障害物を登録して成る部屋地図を記憶した部屋地図データと、該部屋地図データに登録された障害物の属性を記憶した属性データと、該部屋地図データに基づいて作成される掃除の経路を掃除ルートとして記憶した掃除ルートデータとを備えており、
該制御プログラムは、該コンピュータに、
該掃除ルートに従って掃除を行なっているときに該障害物検出センサを使って障害物の有無を検知する手順と、
障害物有りを検知した場合にその位置に該部屋地図データ上で障害物が登録されているか否かを判断する手順と、
障害物が登録されていない場合に、検知した障害物を未知障害物と判断する手順と、
障害物検出センサを使って該未知障害物の形状を認識する手順と、
認識した形状と一致する形状を該部屋地図データ及び該属性データを参照して推定する手順と、
形状を推定することができた場合は、推定した形状の障害物を部屋地図データに登録して掃除ルートデータを再構築する手順と、
形状を推定することができなかった場合は、該未知障害物を新たに出現した障害物と判断して部屋地図データに登録し、掃除ルートデータを再構築する手順とを実行させることを特徴とするロボット掃除機制御プログラム。
A control program for controlling the operation of the robot cleaner by a computer,
The robot cleaner includes an obstacle detection sensor for detecting the presence or absence of an obstacle and recognizing the shape of the obstacle, room map data storing a room map formed by registering obstacles in a room, Attribute data storing the attribute of the obstacle registered in the room map data, and cleaning route data storing a cleaning route created based on the room map data as a cleaning route,
The control program is stored in the computer.
A procedure for detecting the presence or absence of an obstacle using the obstacle detection sensor when cleaning is performed according to the cleaning route;
A procedure for determining whether an obstacle is registered on the room map data at the position when an obstacle is detected;
A procedure for judging the detected obstacle as an unknown obstacle when no obstacle is registered;
Recognizing the shape of the unknown obstacle using an obstacle detection sensor;
A procedure for estimating a shape that matches a recognized shape with reference to the room map data and the attribute data;
If the shape can be estimated, register the obstacle of the estimated shape in the room map data and rebuild the cleaning route data,
If the shape cannot be estimated, the unknown obstacle is judged as a newly appearing obstacle, registered in the room map data, and a procedure for reconstructing the cleaning route data is executed. Robot cleaner control program to do.
前記障害物検出センサは、赤外線センサと触覚センサとからなることを特徴とする請求項1に記載のロボット掃除機制御プログラム。  The robot cleaner control program according to claim 1, wherein the obstacle detection sensor includes an infrared sensor and a tactile sensor. 前記部屋地図データ及び前記掃除ルートデータは、それぞれテンポラリ部屋地図データ及びテンポラリ掃除ルートデータを有しており、
推定した形状の障害物を部屋地図データに登録して掃除ルートデータを再構築する前記手順は、推定した形状の障害物を該テンポラリ部屋地図データに登録して該テンポラリ掃除ルートデータを再構築し、掃除終了時に該テンポラリ部屋地図データ及び該テンポラリ掃除ルートデータをそれぞれ該部屋地図データ及び該掃除ルートデータに上書きする手順であり、
該未知障害物を新たに出現した障害物と判断して部屋地図データに登録し、掃除ルートデータを再構築する前記手順は、該未知障害物を新たに出現した障害物と判断し、該新出現の障害物を該テンポラリ部屋地図データに登録して該テンポラリ掃除ルートデータを再登録し、掃除終了時に該テンポラリ部屋地図データ及び該テンポラリ掃除ルートデータをそれぞれ該部屋地図データ及び該掃除ルートデータに上書きする手順であることを特徴とする請求項1に記載のロボット掃除機制御プログラム。
The room map data and the cleaning route data have temporary room map data and temporary cleaning route data, respectively.
The procedure for registering the estimated shape obstacle in the room map data and reconstructing the cleaning route data registers the estimated shape obstacle in the temporary room map data and reconstructing the temporary cleaning route data. The temporary room map data and the temporary cleaning route data are overwritten on the room map data and the cleaning route data, respectively, at the end of cleaning,
The procedure of determining the unknown obstacle as a newly appearing obstacle, registering it in the room map data, and reconstructing the cleaning route data determines that the unknown obstacle is a newly appearing obstacle, and Appearing obstacles are registered in the temporary room map data, and the temporary cleaning route data is re-registered. At the end of cleaning, the temporary room map data and the temporary cleaning route data are respectively stored in the room map data and the cleaning route data. The robot cleaner control program according to claim 1, wherein the program is an overwriting procedure.
上書き前の前記部屋地図データと、掃除終了時の前記テンポラリ部屋地図データとの相違比較を行なうことによって前記属性データを学習及び更新する手順を更に備えていることを特徴とする請求項3に記載のロボット掃除機制御プログラム。  4. The method according to claim 3, further comprising a step of learning and updating the attribute data by comparing the difference between the room map data before overwriting and the temporary room map data at the end of cleaning. Robot cleaner control program. 前記推定した形状の障害物を部屋地図データに登録して掃除ルートデータを再構築する手順において、前記属性データに記憶されている障害物の掃除方法を用いることを特徴とする請求項1に記載のロボット掃除機制御プログラム。  The obstacle cleaning method stored in the attribute data is used in the procedure of registering the estimated shape obstacle in room map data and reconstructing the cleaning route data. Robot cleaner control program. 障害物の有無の検知と該障害物の形状の認識を行なう障害物検出センサと、
部屋に在る障害物を登録して成る部屋地図を記憶した部屋地図データ、該部屋地図データに登録された障害物の属性を記憶した属性データ、及び該部屋地図データに基づいて作成される掃除の経路を掃除ルートとして記憶した掃除ルートデータを格納する記憶装置と、
掃除の制御を行なう処理装置とを備え、
該処理装置は、
該掃除ルートに従って掃除を行なっているときに該障害物検出センサを使って障害物の有無を検知し、
障害物有りを検知した場合にその位置に該部屋地図データ上で障害物が登録されているか否かを判断し、
障害物が登録されていない場合に、検知した障害物を未知障害物と判断し、
障害物検出センサを使って該未知障害物の形状を認識し、
認識した形状と一致する形状を該部屋地図データ及び該属性データを参照して推定し、
形状を推定することができた場合は、推定した形状の障害物を部屋地図データに登録して掃除ルートデータを再構築し、
形状を推定することができなかった場合は、該未知障害物を新たに出現した障害物と判断して部屋地図データに登録し、掃除ルートデータを再構築することを特徴とするロボット掃除機。
An obstacle detection sensor for detecting the presence or absence of an obstacle and recognizing the shape of the obstacle;
Room map data storing a room map formed by registering obstacles in a room, attribute data storing attributes of obstacles registered in the room map data, and cleaning created based on the room map data A storage device for storing cleaning route data in which the route is stored as a cleaning route;
A processing device for controlling cleaning,
The processor is
Detecting the presence or absence of obstacles using the obstacle detection sensor when cleaning is performed according to the cleaning route,
When an obstacle is detected, it is determined whether an obstacle is registered on the room map data at that position,
If no obstacle is registered, the detected obstacle is determined as an unknown obstacle,
Recognize the shape of the unknown obstacle using an obstacle detection sensor,
A shape that matches the recognized shape is estimated with reference to the room map data and the attribute data,
If the shape can be estimated, register the obstacle of the estimated shape in the room map data, rebuild the cleaning route data,
A robot cleaner characterized in that, when the shape cannot be estimated, the unknown obstacle is judged as a newly appearing obstacle, registered in the room map data, and the cleaning route data is reconstructed.
前記障害物検出センサは、赤外線センサと触覚センサとからなることを特徴とする請求項6に記載のロボット掃除機。  The robot cleaner according to claim 6, wherein the obstacle detection sensor includes an infrared sensor and a tactile sensor. 前記赤外線センサは、移動するための車輪を有するロボットユニットに備えられ、前記触覚センサは、掃除作業を行なう吸込み部に備えられていることを特徴とする請求項7に記載のロボット掃除機。  The robot cleaner according to claim 7, wherein the infrared sensor is provided in a robot unit having wheels for moving, and the tactile sensor is provided in a suction portion that performs a cleaning operation.
JP2002191835A 2002-07-01 2002-07-01 Robot cleaner and robot cleaner control program Expired - Lifetime JP4157731B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002191835A JP4157731B2 (en) 2002-07-01 2002-07-01 Robot cleaner and robot cleaner control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002191835A JP4157731B2 (en) 2002-07-01 2002-07-01 Robot cleaner and robot cleaner control program

Publications (2)

Publication Number Publication Date
JP2004033340A JP2004033340A (en) 2004-02-05
JP4157731B2 true JP4157731B2 (en) 2008-10-01

Family

ID=31701290

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002191835A Expired - Lifetime JP4157731B2 (en) 2002-07-01 2002-07-01 Robot cleaner and robot cleaner control program

Country Status (1)

Country Link
JP (1) JP4157731B2 (en)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4555035B2 (en) * 2004-03-30 2010-09-29 日本電気株式会社 Vacuum cleaner control device, vacuum cleaner, robot, and vacuum cleaner control method
EP2544065B1 (en) * 2005-12-02 2017-02-08 iRobot Corporation Robot system
JP2008129614A (en) * 2006-11-16 2008-06-05 Toyota Motor Corp Mobile object system
KR100823739B1 (en) * 2006-12-08 2008-04-21 한국전자통신연구원 Surroundings mapping apparatus capable of applying quickly changed surroundings information in mobile robot and method thereof
JP4171510B2 (en) 2006-12-20 2008-10-22 本田技研工業株式会社 MOBILE DEVICE, ITS CONTROL SYSTEM, CONTROL PROGRAM, AND SUPERVISION SYSTEM
KR100844015B1 (en) 2007-05-31 2008-07-04 포항공과대학교 산학협력단 Non-Conflict Effective Fusion Method of Distance Measuring Sensor Data
JP5016399B2 (en) * 2007-06-08 2012-09-05 パナソニック株式会社 Map information creation device and autonomous mobile device equipped with the map information creation device
JP2009169845A (en) * 2008-01-18 2009-07-30 Toyota Motor Corp Autonomous mobile robot and map update method
WO2009097334A2 (en) 2008-01-28 2009-08-06 Seegrid Corporation Methods for real-time and near-real time interactions with robots that service a facility
US8838268B2 (en) 2008-01-28 2014-09-16 Seegrid Corporation Service robot and method of operating same
JP5606927B2 (en) * 2008-01-28 2014-10-15 シーグリッド コーポレーション Method for repurposing spatio-temporal information collected by service robots
KR101503903B1 (en) 2008-09-16 2015-03-19 삼성전자 주식회사 Apparatus and method for building map used in mobile robot
JP5473304B2 (en) * 2008-12-02 2014-04-16 三菱電機株式会社 Remote location image display device, remote control device, vehicle control device, remote control system, remote control method, remote control program, vehicle control program, remote location image display method, remote location image display program
RU2012122469A (en) 2009-11-06 2013-12-20 Эволюшн Роботикс, Инк. METHODS AND SYSTEMS FOR COMPLETE SURFACE CREATION WITH AN AUTONOMOUS ROBOT
KR101641232B1 (en) * 2009-11-16 2016-07-20 엘지전자 주식회사 Robot cleaner and controlling method of the same
JP5068840B2 (en) * 2010-03-30 2012-11-07 富士ソフト株式会社 Robot program and information processing apparatus program
CN102541056A (en) * 2010-12-16 2012-07-04 莱克电气股份有限公司 Obstacle processing method for robot
JP5429901B2 (en) * 2012-02-08 2014-02-26 富士ソフト株式会社 Robot and information processing apparatus program
JP6409003B2 (en) * 2013-01-18 2018-10-17 アイロボット コーポレイション Method using robot and computer-readable storage medium thereof
US9233472B2 (en) 2013-01-18 2016-01-12 Irobot Corporation Mobile robot providing environmental mapping for household environmental control
JP6154682B2 (en) * 2013-07-02 2017-06-28 將洋 鈴木 Self-propelled electric vacuum cleaner
JP2016066206A (en) * 2014-09-24 2016-04-28 株式会社クボタ Automatic travel vehicle
US9519289B2 (en) 2014-11-26 2016-12-13 Irobot Corporation Systems and methods for performing simultaneous localization and mapping using machine vision systems
US9744670B2 (en) 2014-11-26 2017-08-29 Irobot Corporation Systems and methods for use of optical odometry sensors in a mobile robot
US9751210B2 (en) 2014-11-26 2017-09-05 Irobot Corporation Systems and methods for performing occlusion detection
JP6685755B2 (en) * 2016-02-16 2020-04-22 東芝ライフスタイル株式会社 Autonomous vehicle
CN107402567A (en) 2016-05-19 2017-11-28 科沃斯机器人股份有限公司 Assembly robot and its cruise path generating method
JP6752118B2 (en) * 2016-11-09 2020-09-09 東芝ライフスタイル株式会社 Autonomous vehicle
KR102012548B1 (en) * 2017-01-25 2019-08-20 엘지전자 주식회사 Method of identifying enterable region of robot and robot implementing thereof
CN107169595B (en) * 2017-04-25 2020-02-07 北京小米移动软件有限公司 Method and device for drawing room layout
JP2018196622A (en) * 2017-05-24 2018-12-13 株式会社東芝 Electronic apparatus, method, and program
JP6435019B2 (en) * 2017-06-01 2018-12-05 將洋 鈴木 Self-propelled electric vacuum cleaner and program for self-propelled electric vacuum cleaner
JP2019047848A (en) * 2017-09-07 2019-03-28 パナソニックIpマネジメント株式会社 Autonomous travel vacuum cleaner, and cumulative floor surface probability update method
GB2576494B (en) * 2018-08-06 2022-03-23 Dyson Technology Ltd A mobile robot and method of controlling thereof
JP6681084B2 (en) * 2018-09-25 2020-04-15 みこらった株式会社 Vacuum cleaner and program for vacuum cleaner
JP6920514B2 (en) * 2018-11-08 2021-08-18 將洋 鈴木 Self-propelled electric cleaners, programs and cleaning systems for self-propelled electric cleaners
CN111693045B (en) * 2019-03-13 2024-08-23 北京奇虎科技有限公司 Sweeping route generation method and device of sweeper
KR20210084129A (en) * 2019-12-27 2021-07-07 삼성전자주식회사 Robot cleaner and control method thereof
CN111012254B (en) * 2019-12-30 2024-10-18 南京智慧建筑研究院有限公司 Intelligent floor sweeping robot
CN111150330A (en) * 2019-12-30 2020-05-15 北京太坦科技有限公司 Cleaning control method
JP7281716B2 (en) * 2020-03-06 2023-05-26 パナソニックIpマネジメント株式会社 Object image display device, object image display system, and object image display program
CN111486846B (en) * 2020-04-27 2021-12-31 小狗电器互联网科技(北京)股份有限公司 Method for sweeping preferential area by sweeping robot
JP7211682B2 (en) * 2020-05-26 2023-01-27 將洋 鈴木 Self-propelled vacuum cleaner, program for self-propelled vacuum cleaner and cleaning system
KR20220121483A (en) * 2021-02-25 2022-09-01 엘지전자 주식회사 Method of intelligently generating map and mobile robot thereof
CN114869175B (en) * 2022-05-26 2024-09-20 美智纵横科技有限责任公司 Method and device for cleaning obstacle avoidance, electronic equipment and storage medium
CN114983279B (en) * 2022-06-24 2023-06-30 珠海格力电器股份有限公司 Control method and device of sweeping robot, sweeping robot and storage medium

Also Published As

Publication number Publication date
JP2004033340A (en) 2004-02-05

Similar Documents

Publication Publication Date Title
JP4157731B2 (en) Robot cleaner and robot cleaner control program
US11960304B2 (en) Localization and mapping using physical features
JP3955569B2 (en) Autonomous machine
US20220074762A1 (en) Exploration Of A Robot Deployment Area By An Autonomous Mobile Robot
JP4846686B2 (en) Autonomous machine, autonomous machine control method, and program for controlling autonomous machine
JP6054425B2 (en) How to perform self-location estimation automatically
EP3711647A1 (en) Self-propelled vacuum cleaner
KR100877072B1 (en) Method and apparatus of building map for a mobile robot and cleaning simultaneously
EP3104194B1 (en) Robot positioning system
US9244461B2 (en) Autonomous mobile device
KR20200121334A (en) Control method for edge driving of autonomous mobile robot
JP5157803B2 (en) Autonomous mobile device
CN111328386A (en) Exploration of unknown environments by autonomous mobile robots
AU2002337343A1 (en) An autonomous machine
JPWO2020041817A5 (en)
CN111655105A (en) Floor treatment by means of autonomous mobile robot
KR100784125B1 (en) Method for extracting coordinates of landmark of mobile robot with a single camera
JP5439552B2 (en) Robot system
WO2020059292A1 (en) Autonomous traveling cleaner
US20220100197A1 (en) Self-propelled device and method for controlling the same
JP2023538946A (en) Multi-agent map generation
WO2023089886A1 (en) Traveling map creating device, autonomous robot, method for creating traveling map, and program
CN116481561A (en) Map exception handling method and system of self-mobile device and self-mobile device
CN117419733A (en) Method for identifying a map of the surroundings with errors

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050311

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20060911

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071022

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080327

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080617

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080714

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110718

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4157731

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110718

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120718

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130718

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term