JP4157731B2 - Robot cleaner and robot cleaner control program - Google Patents
Robot cleaner and robot cleaner control program Download PDFInfo
- 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
Links
- 238000004140 cleaning Methods 0.000 claims description 164
- 238000000034 method Methods 0.000 claims description 64
- 238000012545 processing Methods 0.000 claims description 47
- 238000001514 detection method Methods 0.000 claims description 17
- 238000003860 storage Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 28
- 230000006870 function Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 14
- 230000007246 mechanism Effects 0.000 description 10
- 230000015654 memory Effects 0.000 description 6
- 230000001149 cognitive effect Effects 0.000 description 5
- 230000006403 short-term memory Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 230000002354 daily effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 239000000428 dust Substances 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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
[0022]
The
[0023]
As will be described later,
[0024]
The
[0025]
In the
[0026]
The
[0027]
The computer determines the operation of the
[0028]
In the above, the robot cleaner is shown as being separated into the
[0029]
FIG. 2 is a top view showing the configuration of the
[0030]
[0031]
Furthermore, the robot unit
[0032]
The
[0033]
The
[0034]
FIG. 3 is a block diagram illustrating a relationship among the
[0035]
When the operation command transmitted from the
[0036]
In addition, the
[0037]
FIG. 4 is a flowchart showing the processing contents of the
[0038]
The
[0039]
Next, the contents of processing executed by the computer of the
[0040]
The respective update of the
[0041]
FIG. 5 is a flowchart showing the processing procedure of the
[0042]
Next, in
[0043]
In
[0044]
If no obstacle is registered on the temporary
[0045]
Subsequently, in
[0046]
If there is no matching obstacle in
[0047]
When all the cleaning is completed in
[0048]
As described above, in the present invention, the temporary
[0049]
The function realized by the
[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
[0051]
Which of the two factors has occurred is confirmed using the sensor data analysis result in
[0052]
On the other hand, in
[0053]
Here, the short-term
[0054]
If there is no shape data that at least partially matches the shape of the unknown obstacle in the
[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
[0056]
Next, (4) new registration of unregistered data will be described. FIG. 7 shows the processing contents. In
[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
[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
[0059]
FIG. 9 a
[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
[0061]
FIG. 10 shows the processing contents of the area division. First, in
[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
[0063]
A schematic diagram of
[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
[0065]
Subsequently, in
[0066]
Since the
[0067]
For example, as shown in FIG. 12a, in the
[0068]
As shown in FIG. 13a, the cleaning method is connected to the
[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
[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
[0071]
15, FIG. 15a shows
[0072]
First, it is assumed that this
[0073]
Subsequently, as shown in FIG. 15c, it is assumed that the
[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
[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
[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
[0078]
A specific example of the
[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
[0081]
Also, (2) specific examples of the attribute data learning function are shown in FIGS. FIG. 19 shows an example of updating the
[0082]
Here, the obstacles with
[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
[0084]
Thus, in the first data update, since all obstacles are single fixed obstacles, it takes time to update the data. However, when the
[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
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 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.
部屋に在る障害物を登録して成る部屋地図を記憶した部屋地図データ、該部屋地図データに登録された障害物の属性を記憶した属性データ、及び該部屋地図データに基づいて作成される掃除の経路を掃除ルートとして記憶した掃除ルートデータを格納する記憶装置と、
掃除の制御を行なう処理装置とを備え、
該処理装置は、
該掃除ルートに従って掃除を行なっているときに該障害物検出センサを使って障害物の有無を検知し、
障害物有りを検知した場合にその位置に該部屋地図データ上で障害物が登録されているか否かを判断し、
障害物が登録されていない場合に、検知した障害物を未知障害物と判断し、
障害物検出センサを使って該未知障害物の形状を認識し、
認識した形状と一致する形状を該部屋地図データ及び該属性データを参照して推定し、
形状を推定することができた場合は、推定した形状の障害物を部屋地図データに登録して掃除ルートデータを再構築し、
形状を推定することができなかった場合は、該未知障害物を新たに出現した障害物と判断して部屋地図データに登録し、掃除ルートデータを再構築することを特徴とするロボット掃除機。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.
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)
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 |
-
2002
- 2002-07-01 JP JP2002191835A patent/JP4157731B2/en not_active Expired - Lifetime
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 |