(57)【特許請求の範囲】
【請求項１】
自律的モバイルロボットであって、
駆動システムと、
邪魔なオブジェクトを検出するための少なくとも一つのパーセプタと、
前記駆動システムと前記パーセプタの両方に対して動作可能に接続されているコントローラであり、フロアカバーリング計画に従って前記ロボットをフロアエリアにわたり移動するために前記駆動システムをコントロールするように構成されている、コントローラと、を含み、
前記フロアカバーリング計画は、現在セルの位置を指示している、前記フロアエリアのトポロジー的マップに基づいており、用語「現在セル」は、前記ロボットによってカバーされるフロアエリアの機能ユニットを示し、かつ、前記現在セルは、第１境界によって空間的に制限されており、
前記現在セルの第１境界での進入ポイントから、前記現在セルの中へ、最初のダブルストロークを実行し、用語「ダブルストローク」は、前記ロボットの前方ストローク、つまり前方への移動、および、後方ストローク、つまり後方への移動、の両方を含むものであり、前記現在セルの中に配置された分岐点を指示し、かつ、角度をおいて配置されたいくつかの追加的ダブルストロークを、前記現在セルの中で前記分岐点から実行し、
前記ダブルストロークの実行の最中に、前記少なくとも一つのパーセプタを用いて、障害物マップ上に、前記現在セルの中の邪魔なオブジェクトをマッピングし、
前記障害物マップから、前記現在セルに関する第２境界を決定し、前記第２境界は、前記実行されたダブルストロークによってカバーされた前記現在セルの少なくとも一部を取り囲み、邪魔なオブジェクトが位置している第２境界部分と邪魔なオブジェクトがない第２境界部分とを区別し、かつ、
前記現在セルの決定された前記第２境界を前記フロアエリアの前記トポロジー的マップに追加する、
ロボット。
【請求項２】
前記角度をおいて配置された追加的ダブルストロークは、前記最初のダブルストロークに係る前方ストロークの完遂された最小長さに応じて実行される、
請求項１に記載のロボット。
【請求項３】
前記角度をおいて配置された追加的ダブルストロークの回数は、前記最初のダブルストロークに係る前方ストロークの完遂された長さに関連し、前記前方ストロークの完遂された長さが大きいほど追加的ダブルストロークの回数が多い、
請求項１に記載のロボット。
【請求項４】
角度をおいて配置された追加的ダブルストロークは、少なくとも１８０°の角度範囲をカバーする、
請求項１または３に記載のロボット。
【請求項５】
角度をおいて隣接する追加的ブルストロークの平均角度は、９０°以下である、
請求項１乃至４いずれか一項に記載のロボット。
【請求項６】
前記少なくとも一つのパーセプタは、光学範囲センサまたは音響範囲センサである、
請求項１乃至５いずれか一項に記載のロボット。
【請求項７】
前記第１境界または前記第２境界のうち少なくとも一つは多角形であり、それぞれの境界部分は、実質的に直線のエッジによって定められる、
請求項１乃至６いずれか一項に記載のロボット。
【請求項８】
前記ロボットのハウジングは、外径Ｄであり、
前記現在セルの進入点と前記分岐点との間の距離は、外径Ｄの０．４倍から０．６倍の範囲にある、
請求項１乃至７いずれか一項に記載のロボット。
【請求項９】
前記ロボットのハウジングは、外径Ｄであり、
前記第１境界によって定められるように、前記現在セルの幅と長さは両方とも、外径Ｄの１．５倍から４．０倍の範囲にある、
請求項１乃至８いずれか一項に記載のロボット。
【請求項１０】
自律的モバイルロボットは、さらに、
フロア処置システムと、を含み、
掃除、モップ掛け、または、ワックス掛けといったオペレーションの最中に、前記ロボットが移動して横切る前記フロアエリアを処置するように構成されている、
請求項１乃至９いずれか一項に記載のロボット。
【請求項１１】
前記フロア処置システムは、掃除システムを含み、前記フロアエリアからのゴミを吸い上げるためのノズル、および、前記ノズルに動作可能に接続された真空源を含んでいる、
請求項１０に記載のロボット。
【請求項１２】
フロアエリアにわたり移動するように、自律的モバイルロボットをオペレーションさせる方法であって、
前記方法は、前記ロボットをフロアカバーリング計画に従ってコントロールするステップを含み、
前記フロアカバーリング計画は、
前記フロアエリアのトポロジー的マップに基づいて、現在セルの位置を指示するステップであり、用語「現在セル」は、前記ロボットによってカバーされるフロアエリアの機能ユニットを示し、かつ、前記現在セルは、第１境界によって空間的に制限されている、ステップと、
前記現在セルの第１境界での進入ポイントから、前記現在セルの中へ、最初のダブルストロークを実行するステップであり、用語「ダブルストローク」は、前記ロボットの前方ストローク、つまり前方への移動、および、後方ストローク、つまり後方への移動、の両方を含むものであり、前記現在セルの中に配置された分岐点を指示し、角度をおいて配置されたいくつかの追加的ダブルストロークを、前記現在セルの中で前記分岐点から実行する、ステップと、
前記ダブルストロークの実行の最中に、前記少なくとも一つのパーセプタを用いて、障害物マップ上に、前記現在セルの中の邪魔なオブジェクトをマッピングするステップであり、前記障害物マップから、前記現在セルに関する第２境界を決定し、前記第２境界は、前記実行されたダブルストロークによってカバーされた前記現在セルの少なくとも一部を取り囲み、邪魔なオブジェクトが位置している第２境界部分と邪魔なオブジェクトがない第２境界部分とを区別する、ステップと、
前記現在セルの決定された前記第２境界を前記フロアエリアの前記トポロジー的マップに追加するステップと、
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、散らかったフロアエリアを計画的にナビゲーションすることができる自律的モバイルロボット、および、そうしたロボットのオペレーション方法に関する。
【背景技術】
【０００２】
フロアを処理するための既知の自律的モバイルロボット、例えばロボット掃除機は、少なくともある程度は、家具または他の散らかっているものといった、障害物、邪魔なオブジェクトに覆われたフロアエリアをナビゲーションすることが困難である。散らかったフロアエリアの適切なカバー（ｃｏｖｅｒａｇｅ）を達成するために、いくつかのロボットは、ランダムまたは単純に反復した(例えば、ジグザグ）移動パターンを含むアプローチを採用する。選択された移動パターンを実行する間に、ロボットは、処理されているフロアエリアを比較的に粗いセルに分割するマップを整備することができる。ロボットによってカバーさせるセル又は到達不能なセルのいずれも、それ相応にマーク付けされ得る。そして、達成可能なセル、カバーされないセルが無くなるまで、ナビゲーションとカバーを継続する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
そうしたアプリケーションは、一般的に計画的でなく、従って、非効率的である点で不利である。過度な移動とカバーされる距離のせいで、ロボットのポジション追従システムも、また、徐々に位置決め誤差が増加し得る。そして、ロボットは、自身の立場を失い、違った場所に置かれ、必然的に、不十分なフロアカバー性能を結果として生じてしまう。
【課題を解決するための手段】
【０００４】
本発明の目的は、散らかったフロアエリアを計画的かつ効率的にナビゲーションし、かつ、カバーすることができる自律的モバイルロボットを提供することである。
【０００５】
本発明の別の目的は、自律的モバイルロボットのオペレーション方法を提供することであり、本方法により、散らかったフロアエリアを計画的かつ効率的にナビゲーションし、かつ、カバーすることができる。
【０００６】
従って、本発明の第１の態様は、自律的モバイルロボットに向けられる。ロボットは、ロボットをフロアエリアにわたり前進させるための駆動システムと、邪魔なオブジェクトを検出するための少なくとも一つのパーセプタと、前記駆動システムと前記パーセプタの両方に対して動作可能に接続されているコントローラを含む。コントローラは、フロアカバーリング計画に従って前記ロボットをフロアエリアにわたり移動するために前記駆動システムをコントロールするように構成されている。前記フロアカバーリング計画は、現在セルの位置を指示している、前記フロアエリアのトポロジー的マップに基づいており、前記現在セルは、第１境界によって空間的に制限されている。前記フロアカバーリング計画は、また、前記現在セルの第１境界での進入ポイントから、前記現在セルの中へ、最初のダブルストロークを実行し、かつ、続いて、前記現在セルの中に配置された分岐点を指示し、そして、角度をおいて配置されたいくつかの追加的ダブルストロークを、前記現在セルの中で前記分岐点から実行する。前記フロアカバーリング計画は、さらに、前記ダブルストロークの実行の最中に、前記少なくとも一つのパーセプタを用いて、障害物マップ上に、前記現在セルの中の邪魔なオブジェクトをマッピングし、そして、前記障害物マップから、前記現在セルに関する第２境界を決定する。前記第２境界は、前記実行されたダブルストロークによってカバーされた前記現在セルの少なくとも一部を取り囲み、邪魔なオブジェクトが位置している第２境界部分と邪魔なオブジェクトがない第２境界部分とを区別する。前記フロアカバーリング計画は、さらに、前記現在セルの前記決定された第２境界部分を前記フロアエリアの前記トポロジー的マップに追加することを含む。
【０００７】
本発明の第２の態様は、フロアエリアにわたり移動するように、自律的モバイルロボットをオペレーションさせる方法に向けられる。前記方法は、前記ロボットをフロアカバーリング計画に従ってコントロールするステップを含む。前記フロアカバーリング計画は、前記フロアエリアのトポロジー的マップに基づいて、現在セルの位置を指示するステップであり、前記現在セルは、第１境界によって空間的に制限されている、ステップを含む。フロアカバーリング計画は、また、前記現在セルの第１境界での進入ポイントから、前記現在セルの中へ、最初のダブルストロークを実行するステップであり、続いて、前記現在セルの中に配置された分岐点を指示し、望ましくは最初のダブルストロークのパス上に置かれ、角度をおいて配置されたいくつかの追加的ダブルストロークを、前記現在セルの中で前記分岐点から実行する、ステップも含む。フロアカバーリング計画は、さらに、望ましくは、前記ダブルストロークの実行の最中に、前記少なくとも一つのパーセプタを用いて、障害物マップ上に、前記現在セルの中の邪魔なオブジェクトをマッピングし、前記障害物マップから、前記現在セルに関する第２境界を決定する。前記第２境界は、前記実行されたダブルストロークによってカバーされた前記現在セルの少なくとも一部を取り囲み、邪魔なオブジェクトが位置している第２境界部分と邪魔なオブジェクトがない第２境界部分とを区別する。フロアカバーリング計画は、さらに、前記現在セルの前記決定された第２境界部分を前記フロアエリアの前記トポロジー的マップに追加するステップを含む。
【０００８】
今から開示される自律的モバイルロボット、ロボット掃除機（ＲＶＣ）といったもの、のためのフロアカバーリング計画は、カバーされるべきフロアエリアのセル毎のカバーに基づいている。フロアエリアが分割されるそれぞれのセルは、第１境界によって空間的に制限されてよく、異なるセルが一致し得る。異なるセルの第１境界が同一の形状とサイズを有するようにである。単一セルのカバーは、カバーが「現在セル（”ｃｕｒｒｅｎｔ  ｃｅｌｌ”）」として参照されている最中、２つのフェイズで行われ得る。
【０００９】
第１フェイズは、現在セルの中への最初のダブルストロークの実行を含み得る。ここで、ダブルストロークは、第１境界上に配置された現在セルの進入点から開始してよい。この明細書において、用語「ダブルストローク（”ｄｏｕｂｌｅ  ｓｔｒｏｋｅ”）」は、ロボットの前後の移動を参照するものと理解されてよい。従って、最初のダブルストロークは、現在セルの進入点から進入点の反対側の現在セルの第１境界部分に向かう前方ストローク、および、進入点に向かう後続の後方ストローク又は後方移動を含み得る。前方および後方ストロークの両方は、典型的に直線であってよく、かつ、後方ストロークは、少なくとも部分的に、前方ストロークを再トレースしてよい。最初のダブルストロークの後方ストロークの長さは、望ましくは、最初のダブルストロークの前方ストロークの長さより短くてよい。最初のダブルストロークの完了の際に、ロボットが現在セルの中に在るようにである。
【００１０】
第２フェイズは、現在セルの中の「進入点（”ｆｏｒｋｉｎｇ  ｐｏｉｎｔ”）」を指示することを含み得る。進入点は、最初のダブルストロークのパス上に在ってよく、望ましくは、後方ストロークの終了点と一致する。進入点から、ロボットは、現在セルの中で、角度をおいて配置されたいくつかの追加的ダブルストロークを実行し得る。追加ダブルストロークのそれぞれは、現在セルの第１境界に向かう前方ストローク、および、後続の現在セルの内側で進入点に戻る後方ストロークを含み得る。最初のダブルストロークのように、追加ダブルストロークの後方ストロークは、対応する前方ストロークを再トレースし得る。しかしながら、最初のダブルストロークとは違って、追加ストロークの前方と後方ストロークの長さは、望ましくは、同一であってよい。さらに、あらゆるダブルストロークが望ましくは唯一のものであってよく、追加ダブルストロークが、最初のダブルストロークまたは別の追加ダブルストロークのいずれかを完全にオーバーラップすることはない。
【００１１】
一般的に、最初と追加の両方のダブルストロークの実行は、現在セルのエリアを計画的にカバーし、かつ、そこに在るあらゆる障害物の検出を促進するために役立ち得る。この後段の機能に関して、現在セルの中で実行されたダブルストロークは、探査的なものと考えることができる。つまり、ダブルストロークの最中に、ロボットは、周囲における障害物を検出して位置を確認し得る。例えば、少なくとも一つのパーセプタ（例えば、範囲センサまたはバンプセンサ）を使用する。そして、そうして発見したあらゆる障害物を現在セルの障害物マップ上にマップし得る。
【００１２】
全てのダブルストロークが完了すると、現在セルの第２境界を決定するために現在セルの障害物マップを使用することができる。第２境界は、典型的には、現在セルの第１境界の中で少なくとも部分的に延び、実行されたダブルストロークによって実際にカバーされた現在セルのエリアを取り囲み、かつ、そのエリアへの可能な進入と退出を指示し得る。そのためにも、邪魔なオブジェクトが位置している第２境界部分が、邪魔なオブジェクトがない部分と区別され得る、つまり、異なるようにマーク付けされる。通行可能および通行不能／ブロックされた第２境界部分に係るマーク付けを含む、第２境界は、次に、カバーされているフロアエリアのトポロジー的マップに追加され得る。このトポロジー的マップにおいては、現在セルの中の計画点の位置、第２境界によって取り囲まれた現在セルの実際にカバーされたエリアの幾何学的中心といったものは、トラベルノード（”ｔｒａｖｅｌ  ｎｏｄｅ”）」または「ウェイポイント（”ｗａｙ  ｐｏｉｎｔ”）」としてマーク付けされてよい。トラベルノードは、一般的に良好なトラベル（ｔｒａｖｅｌ）展望を伴う位置を表しており、セル内トラベル（ｉｎｔｅｒ−ｃｅｌｌｕｌａｒ  ｔｒａｖｅｌ）のために使用され得る。現在セルが、以前にカバーされたセルの通行可能な第２境界部分の選択に基づいて指示された場合、それぞれの境界部分は、「処理済み（”ｐｒｏｃｅｓｓｅｄ”）」としてマーク付けされ得る。次に、まだ未処理の新たな第２境界部分が、トポロジー的マップから選択され得る。ロボットは、トポロジー的マップにおけるトラベルノードを介して、選択された未処理の第２境界部分へトラベルすることができる。そして、第２境界部分に到達すると、専門的な移動を用いてアタックして、「処理済み」とマーク付けするか、または、選択された第２境界部分を介して進入され得る新たな現在セルを指示して、上述のように、この新たなセルをカバーするか、いずれかである。フロアカバーリング計画は、以下のステップを繰り返し実行することを備え得るものと理解される。トポロジー的マップから未処理の第２境界部分を選択するステップ、トポロジー的マップの中に記録されたトラベルノードに沿って選択された未処理の第２境界部分へトラベルするステップ、現在セルを指示するステップ、最初および追加ダブルストロークによって現在セルをカバーするステップ、現在セルの第２境界を決定するステップ、および、カバーされるべきフロアエリアのトポロジー的マップを拡張／更新するステップ、である。プロセスは、トポロジー的マップに中に未処理の第２境界部分が無くなるまで継続されてよい。
【００１３】
上述のように、最初と追加の両方のダブルストロークの実行は、一般的に、現在セルのフロアエリアを計画的にカバーし、かつ、そこのあらゆる障害物の検出を促進することに役立つ。一つの実施例において、最初のダブルストロークは、現在セルの「深さ（”ｄｅｐｔｈ”）」をアセスする所定の追加機能を有してよい。追加ダブルストロークを通じて現在セルのフロアエリアのカバーが可能か否かを決定することができるようにである。もし、できるのであれば、角度の配分に従って、何回のそうした追加ストロークが要求されるかを決定する。望ましい実施例において、角度をおいて配置された追加ダブルストロークは、最初のダブルストロークに係る前方ストロークの完遂された長さの最小値によって条件的であってよい。つまり、最初のダブルストロークがパスの障害物のせいで中止されたものである場合、実際の又は完遂された前方ストロークの長さは、その最大値よりも小さいことがある。前方ストロークの完遂された長さが既定の最小閾値以下である場合、現在セルの深さが、追加ダブルストロークの意味ある実行のためには浅すぎるものと理解され、そうした追加ダブルストロークの実行が中止され得る。別の望ましい実施例において、追加ダブルストロークの回数は、最初のダブルストロークの前方ストロークの完遂された長さに関連し得る。より大きな前方ストロークの完遂された長さが、追加ダブルストロークのより多い回数に対応するようにである。
【００１４】
本発明に係るこれら及び他の特徴と利点は、以降の本発明の所定の実施例についての詳細な説明からより完全に理解されるであろう。添付の図面と一緒に理解されるものであるが、説明するものであり、本発明を限定することを意図するものではない。
【図面の簡単な説明】
【００１５】
【図１】図１は、本発明に従った、ロボット掃除機の典型的な実施例に係る平面図の模式的なレイアウトである。
【図２】図２は、密集して散らかったフロアエリアをカバーするための典型的なフロアカバー計画のフローチャートであり、図１に示されたロボット掃除機のコントローラが実行するように構成されている。
【図３Ａ】図３Ａは、図２に示されたフロアカバー計画に従って、現在セルにおいて実行され得る最初および追加のダブルストロークのパス（ｐａｔｈ）を模式的に示している。
【図３Ｂ】図３Ｂは、図２および３Ａに示されたフロアカバー計画に従って、現在セルにおけるロボットによる最初および追加のダブルストロークの実行を模式的に示している。
【図３Ｃ】図３Ｃは、現在セルの第１境界の中における邪魔なオブジェクトが存在する結果としての非線形な最初のダブルストロークの実行を模式的に示している。
【図３Ｄ】図３Ｄは、現在セルに係る種々の可能なセル深さを模式的に示している。
【図３Ｅ】図３Ｅは、現在セルに係る第２境界の決定を模式的に示している。
【図３Ｆ】図３Ｆは、現在セルに係る第２境界の決定を模式的に示している。
【図３Ｇ】図３Ｇは、現在セルに係る第２境界の決定を模式的に示している。
【図３Ｈ】図３Ｈは、図２に提示されたフロアカバー計画に従って、図１に示したロボットによるフロアエリアのカバーを、平面図において模式的に示している。
【発明を実施するための形態】
【００１６】
図１は、本発明に従った自律的モバイルロボット１００、より特定的にはロボット掃除機（ＲＶＣ）の典型的な平面図の模式的なレイアウトである。
【００１７】
一般的に、ロボット１００は、ハウジング１０２を含んでおり、他のコンポーネントがハウジングの中または上に備えられ得る。示された実施例において、ハウジング１０２は、顕著に非円形の周辺形状を有しており、特にコーナーにおいて、ＲＶＣがより良く到達できるようにする直線の（前面）端を含んでいる。ロボット１００は、また、コントローラ１０６を含んでよく、例えば、駆動システム１０４、フロア処置システム１０６、および、一つまたはそれ以上のパーセプタ（ｐｅｒｃｅｐｔｏｒ）１１０と動作可能に接続されている。コントローラ１０６は、インストラクションをオペレーションするファームウェアまたはソフトウェア、および、種々の情報を保管するために動作可能にプロセッサに対して接続されたメモリを含んでよい。情報は、セルの障害物マップおよびカバーされるフロアエリアのトポロジー的マップといったものである。駆動システム１０４は、ロボット１００をフロアに渡って駆動し、または、前進させるように構成されてよい。駆動システムは、典型的には、複数のホイール１０４ａ、ローラー、トラック、等を含み、それぞれが（電気）モータ１０４ｂまたは移動力を提供するための代替的なアクチュエータに対して動作可能に接続されてよい。（電気）モータまたは代替的なアクチュエータのための電力は、それらに動作可能に接続された充電可能なバッテリー１０４ｃによって提供され得る。ＲＶＣの場合は、示されるように、フロア処置システム１０８が、典型的には、ノズル１０８ａ、ゴミ容器１０８ｃ、真空源／(真空)吸引手段１０８ｂ、を含んでいる。吸引手段は、ノズル１０８ａを通じて、ゴミ容器１０８の中へとゴミを吸引するためのものである。しかしながら、自律的モバイルロボット１００の他の実施例は、真空掃除機を必要としないことが理解されるべきである。代わりに、フロアのワックス掛け、または、モップ掛けといった、異なる種類のフロア処置システムを取り入れてよい。パーセプタ１１０は、走行距離メータとホイールエンコーダを含んでよく、駆動システム１０４のホイール、イナーシャセンサ、バンプセンサといった触覚センサ、コンパス、範囲センサ、全地球測位システム（ＧＰＳ）センサ、デジタルカメラといったイメージングデバイス、等と併せて構成されてよい。範囲センサは、オブジェクトを環境の中で位置決めするために好適なものと理解されている。オブジェクトまでのそれぞれの距離を決定することを含んでおり、あらゆる好適なタイプのものであってよい。範囲センサは、例えば、赤外線センサといった、光学センサ、または、超音波センサといった、音響センサであってよい。当業者であれば、範囲センサが、典型的には、ジェネレータコンポーネントとセンサコンポーネントを含み得ることを正しく理解するであろう。例えば、光学範囲センサは、レーザ光線を発行するためのレーザを含み、光センサはレーザからの光波を検出（反射）するように構成されており、そこでの中断または位相シフトを検知する。
【００１８】
オペレーションの最中に、ロボット１００はコンポーネント０６のコントロールの下にある。コントローラは、ロボットをカバーされるべきフロアエリアにわたり移動するために駆動システム１０４をコントロールするように構成されている。特に、（密集して）散らかった領域においては、標準的なオープンスペース計画は不十分であるが、コントローラ１０６は、このタスクを完遂するために、ここで開示されるセルベースのフロアカバーリング計画に従って、駆動システムをコントロールし得る。この観点において、コントローラ１０６は、散らかったスペース、または、散らかっていない／オープンスペースのどちらに自分自身を見い出すかに応じて、異なるフロアカバーリング計画を実行するように構成されていることに留意する。例えば、ロボット１００が自分自身を散らかった領域において見い出したことを、コントローラ１０６が検知した場合、コントローラは、ここで開示されるセルベースのフロアカバーリング計画に従って、駆動システムをコントロールし得る。一方、ロボット１００が自分自身を散らかっていない領域において見い出したことを、コントローラ１０６が検知した場合、コントローラは、オープンスペース計画に従って、駆動システムをコントロールし得る。例えば、ジグザグな移動パターンを実行する。散らかった領域のための、ここで開示されるセルベースのフロアカバーリング計画に係る典型的なフローチャートが、図２に模式的に示されている。図示された計画は以下に説明される。フロアエリアの一つのセルのカバーが最初に説明され、さらなるセルの特定、相互関係、および、カバーの説明が後に続く。説明においては、図３Ａ−３Ｆに関して、フロアカバーリング計画の異なるコンセプトが示される。
【００１９】
一つのセルのカバーは、図２のフローチャートの所定のブロック２１０−２２０によって示されている。
【００２０】
一つのセルのカバーは、ブロック２１０に示されるように、「現在セル（”ｃｕｒｒｅｎｔ  ｃｅｌｌ”）」の宛先を用いて開始する。現在セルの宛先は、通常は、カバーされているフロアエリアのトポロジー的マップからの、以前にカバーされたセルの未処理の第２境界部分の選択に基づいてよい（ブロック２２２を参照のこと）。現在セルの宛先は、次に、既定の第１境界をフロアエリアの領域に割り当てることを必要とする（それによって、フロアエリアでの現在セルの位置と方向を効率的に決定する）。第１境界が、少なくとも部分的に、トポロジー的マップから選択された未処理の第２境界と一致するようにである。第１境界は、もしそうであれば、以前にカバーされたセル（の未処理の第２境界部分）それぞれに対して連結される。フロアカバーリングの開始においては、しかしながら、フロアカバーリングエリアのトポロジー的マップは未だ空であり、以前のセルに係る未処理の第２境界の選択を促進しない。この場合に、コントローラ１０６は、現在セルのステータス（ｓｔａｔｕｓ）としてランダムにフロアエリアの領域を割り当ててよく、以下に示すように進行する。
【００２１】
本コンテクストにおいて、セル３００は、既定の寸法を有するフロアエリアの一つの機能ユニットであると理解されてよい。セル３００の寸法は、望ましくは、フロアエリアが複数のセルに分割できるように、カバーされる全体のフロアエリアの寸法より著しく小さく選択されてよい。かつ、ロボット１００がセル３００の範囲の中で移動できるように、カバーするロボット１００のハウジング１０２の寸法を超えるものであってよい。セル３００は、望ましくは、多角形であり、特には長方形の形状であり得る。ロボット１００に関連して、セル３００の幅と長さの両方は、望ましくはハウジング１０２の特徴的または最大外径Ｄの１．５倍から４倍の範囲であってよい。以下で明確になるように、ロボット１００の寸法と比較してあまりに大きなセル３００は、効率的にカバーできるものではない。これは、提案される追加の、セル３００の中で分岐点（ｆｏｒｋｉｎｇ  ｐｏｉｎｔ）Ｆから延びている角度をおいて配置されたダブルストロークＳ２−Ｓ７によるものである（図３Ａ−３Ｂを参照のこと）。分岐点Ｆの近くでは、角度的に隣接するダブルストロークＳ２−Ｓ７間のオーバーラップは比較的に大きい、一方、分岐点から遠くの端では、追加のダブルストロークＳ２−Ｓ７間にはギャップが存在する。追加のダブルストロークＳ２−Ｓ７の遠くの端でのギャップに対する唯一の救済は、追加のダブルストロークの角度幅を密にすることであるが、分岐点Ｆの近くで繰返しカバーされるフロアエリアが同時に増加するという観点で望ましいものではない。
【００２２】
図３Ａ−３Ｂは、典型的なセル３００を模式的に示しており、下境界部分３０２ａ、右境界部分３０２ｂ、上境界部分３０２ｃ、および、左境界部分３０２ｄを有する長方形の第１境界３０２によって、空間的に制限されている。一旦フロアエリアの領域が、カバーされるべき現在または次のセルとして指示されれば（図２のフローチャートにおけるブロック２１０）、コントローラ１０６は、駆動システム１０４をコントロールして、ロボット１００を第１境界部分３０２ａ−ｄのうち一つを介して現在セル３００の中に入らせる。それぞれの第１境界部分３０２ａ−ｄは、通常、既にカバーされたセルの選択された「未処理」の第２境界部分と少なくとも部分的に一致してよい。以下に明らかにされるようにである。ロボット１００がセル３３０に入るところのそれぞれの第１境界部分３０２ａのポイントは、進入点（ｅｎｔｒｙ  ｐｏｉｎｔ）Ｆとして参照される。この進入点Ｅは、典型的には、第１境界部分３０２ａが少なくとも部分的に一致する上述の第２境界部分の中心と対応している。
【００２３】
セル３００へ進入すると、コントローラ１０６は駆動システム１０４をコントロールして、最初のダブルストロークを実行する。このステップは、図２のフローチャートのブロック２１２によって表わされている。最初のダブルストロークは、図３においてパスがＳ１とラベル付けされているが、前方ストロークおよび後に続く後方ストレージを含んでよい。前方ストロークは、通常、セル３００の中への直線的な移動を必要とする。第１境界部分３０２ａに対して垂直であり、そこに位置する進入点Ｅから離れ、そして、進入点Ｅと反対側にあるセル３００の第１境界部分３０２ｃに向かっている。一方、後方ストロークは、進入点Ｅに向かって戻る移動を必要とする。
【００２４】
最初のダブルストロークＳ１の前方ストロークの最大長さは、現在セル２００の進入点Ｅと進入点Ｅの反対側の第１境界部分２０２ｃとの間の距離に対応している。そして、ロボット１００は、この最大長さを有する前方ストロークを完遂しようと試みる。しかしながら、現在セル３００によってカバーされるエリアが散らかっている場合、そこに存在するオブジェクトが、前進ストロークの完了を妨げてしまうことがある。そうした邪魔なオブジェクトの存在は、種々の方法で検出され得る。特に、範囲またはバンプ（ｂｕｍｐ）センサの形式でのパーセプタ１１０を用いたものである。邪魔なオブジェクトが検出された場合、ロボット１００は、前方ストロークの実行を中止して、最大長より小さな前方ストロークで済ますように構成されてよい。代替的には、図３Ｃに示されるように、ロボット１００は、オブジェクトの周り又はオブジェクトに並んで操縦することによって、オブジェクト、ここにおいては壁３０６を、避けるように構成されてよい。それによって、所定の最大偏位の角度及び/又は距離による、線型前方ストロークからの逸脱する非線形の前方ストロークを許容している。あらゆる場合に、前方ストロークの中途に位置するポイントは、（カバー可能な）セル中心Ｃとしてマーク付けされてよい。図３Ａに示されるようにである。セル中心Ｃは、良好なトラベル（ｔｒａｖｅｌ）展望を伴う計画ポイントとしてみなされてよく、その位置はセル内トラベル（ｉｎｔｅｒ−ｃｅｌｌｕｌａｒ  ｔｒａｖｅｌ）のために使用され得る「トラベルノード（”ｔｒａｖｅｌ  ｎｏｄｅ”）」としてトポロジー的マップに保管される。以下に説明されるようにである。
【００２５】
前方ストロークの後に続く後方ストロークの最中に、ロボット１００は、前方ストロークでカバーされたパスを再トレースする。そうすることにおいて、ロボットは、望ましくは現在セルの進入ポイントＥに完全に戻らず、代わりに、そこから所定の距離ｄｆｏｒｋに位置する分岐点Ｆで停止してよい（図３Ａを参照のこと）。距離ｄｆｏｒｋは、典型的には、ロボット１００のハウジング１０２の特徴的または最大外径Ｄのおおよそ半分、例えば、０．４−０．６倍であってよい。後に、ロボット１００が直線の追加的なダブルストロークＳ２、Ｓ７を分岐点Ｆから並行して実行し得る通じている。
【００２６】
図２のフローチャートのブロック２１４とブロック２１６によって示されるように、最初のダブルストロークＳ１は、追加の角度をおいて配置された一連のダブルストロークＳ２−Ｓ７が後に続く。それぞれの追加的ダブルストロークＳ２−Ｓ７は、分岐点Ｆにおいて開始する前方ストローク、および、、分岐点Ｆにおいて終了する後方ストロークを含んでいる。図３Ａ−３Ｂを参照のこと。そうしたダブルストロークが行われるか否か、及びそうであれば何回かは、最初のダブルストロークＳ１の前方ストロークの完了した又は実際の長さに基づいて決定される。この決定は、図２のフローチャートのブロック２１４によって表されており、図３Ｄに関して説明される。
【００２７】
最初のダブルストロークＳ１の前方ストロークの実際の又は完了した長さは、現在セル３００の深さを定めるために考慮される。図３Ｄは、３つの異なるセル深さｄ１、ｄ２、ｄ３を示している。散らかっていないフロアエリアを有する現在セル３００は、最大セル深さｄ３（セルの内径に効果的に対応している）を有し、追加的ダブルストロークの最大値が割り当てられる。例えば、６回、Ｓ２−Ｓ７。一方、エリアの大部分が邪魔なオブジェクトによってカバーされているセル３００は、控えめなセル深さｄ１を有し得る。セル深さｄ１が、所定の深さ閾値以下の場合、セル３００は、適切にカバーすることができない。ロボット１００を巧みに操縦するための十分なスペースを与えられないからである。従って、そうしたセル３００には、追加的ダブルストロークは割り当てられなくてよい。最大値より小さいが、それにもかかわらず所定の深さ閾値を超えるセル深さｄ２を有するセル３００は、ゼロより大きい追加的ダブルストロークの回数が割り当てられ得る。しかし、追加的ダブルストロークの最大回数は、最大セル深さを伴うセルに対して通常は割り当てられる。
【００２８】
決定されたセル深さが、追加的ダブルストロークＳ２−Ｓ７の実行を許容しない場合、そのセルのエリアは、部分的に実行された最初のダブルストロークＳ１前方ストロークによってカバーされたものとみなされてよい。この認定の結果として、そこを介してロボットが現在セル３００に侵入する、セルの第１境界部分３０２ａに対応する又は少なくとも部分的に一致するトポロジー的マップ上の第２境界部部分が、「処理済み（”ｐｒｏｃｅｓｓｅｄ”）」としてマーク付けされる。図２のフローチャートのブロック２２０によって示されるようにである。しかしながら、追加的ダブルストロークＳ２−Ｓ７がセル３００に割り当てられた場合、ロボット１００は、これらのダブルストロークを実行し得る。図２のフローチャートのブロック２１６によって示されるようにである。
【００２９】
追加的ダブルストロークＳ２−Ｓ７の詳細に関しては、以下に留意すべきである。追加的ダブルストロークＳ２−Ｓ７それぞれの前方ストロークの最大長は、分岐点Ｆとポイントとの間の距離に等しくてよい。ポイントは、そこにおいて、現在セル３００の第１境界部分３０２ａ−ｄが、それぞれの追加的ダブルストロークの方向ベクトルを横切るポイントであり、方向ベクトルは、分岐点Ｆを起点にして前方ストロークの方向に延びている。最初のダブルストロークＳ１について上記に説明したように、ロボット１００は、最大長の前方ストロークを有する追加的ダブルストロークＳ２−Ｓ７を完遂しようとする。しかしながら、セル３００のフロアエリアが散らかっており、かつ、そこに存在するオブジェクト３９６が追加的ダブルストロークＳ２−Ｓ７の前方ストロークの完遂を妨げる場合は、ロボット１００は、前方ストロークの実行を停止して、最大長より小さな長さを有する追加的ダブルストロークで妥協するように強制され得る。追加的ダブルストロークＳ２−Ｓ７の角度をおいた配置は、望ましくは、追加的ダブルストロークＳ２−Ｓ７が少なくとも１８０°の角度を一緒にカバーするように選定され得る。図３Ａの状況において、この角度範囲は、一直線に並べられた追加的ダブルストロークＳ２およびＳ７によって定められ、かつ、正確に１８０°をカバーしている。角度をおいて隣接する追加的ダブルストロークＳ２−Ｓ７の平均角度は、９０°以下であってよく、望ましくは、２０−６０°の範囲内である。
【００３０】
ロボット１００が、分岐点Ｆからの全ての追加的ダブルストロークＳ２−Ｓ７を完遂した場合、図２のブロック２１８によって反映されるように、ロボットは、現在セル３００のカバーを評価する。評価は、特に、現在セル３００の第２境界３０４の決定を目指している。境界は、トポロジー的に現在セル３００を特徴付け、かつ、制限されたものであるとみなされ得る。より特定的には、第２境界３０４は、実際にカバーされたセル３００のエリア、および、そこに存在する邪魔なオブジェクト３０６の位置の両方に関する情報を提供することができる。
【００３１】
現在セル３００の第２境界３０４の決定は、図３Ｅ−３Ｇにおいて模式的に説明されている。
【００３２】
第２境界３０４の決定は、集合的なダブルストロークＳ１−Ｓ７の最中にカバーされる現在セル３００の実際のエリアを決定することを含んでいる。例えば、ダブルストロークＳ１−Ｓ７の実行の最中に取得される好適なパーセプタからの読みに基づき、例えば、現在セル３００の中での前方、左方向、および、右方向トラベルの最大値を特定するホイールエンコーダからの読み、といったものである。併せて、これらのパーセプタの読みは、外接多角形３０８を定義し得る。多角形は、例えば、長方形であり、現在セル３００の第１境界３０２上または中に位置するセルエリアの部分の範囲を定めるものであり、かつ、ロボット１００によって通過されたものである。例として、図３Ｅと３Ｆは、最初のダブルストロークＳ１と追加的ダブルストロークＳ２−Ｓ７の完遂された長さが、実際にカバーされたエリアを境界する長方形３０８を、それぞれに、どのように決定され得るかを模式的に示している。オブジェクト３０６は、最初のダブルストロークＳ１の完遂を妨げている（図３Ａ）。追加的ダブルストロークＳ２−Ｓ７のうち、左方向のダブルストロークＳ７だけが完全に実行され、追加的ダブルストロークＳ２−Ｓ４は全く実行されない。一方、追加的ダブルストロークＳ５とＳ６は、部分的にだけ実行され得る（図３Ｂ）。現在セル３００の中におけるロボット１００の前方、左方向、および、右方向トラベルの最大値は、ホイール１０４ａの間に配置されたロボット１００の中心点に関してアセスされたトラベルであるが、現在セル３００の第３または左下４分の１に対応する長方形の境界３０８を定め、かつ、そこで実際にカバーされたエリアの範囲を定める。
【００３３】
現在セル３００の実際にカバーされたエリア３０８は、ダブルストロークＳ１−Ｓ７の実行の最中に生成された障害物マップ上にマーク付けされ得る。図３Ｇを参照のこと。障害物マップは、現在セル３００の中に存在する邪魔なオブジェクト３０６の存在と（概ねの）位置を特定し得る。ダブルストロークＳ１−Ｓ７の実行の最中に取得されたパーセプタの読みを通じて特定されるものであり、例えば、範囲センサを用いて事項された範囲または環境スキャンを通じたものである。
【００３４】
現在セル３００の実際にカバーされたエリア３０８の位置、および、現在セル３００の中に存在する邪魔なオブジェクト３０６の位置の両方を含んでいる障害物マップから、現在セル３００の第２境界３０４が構成され得る。この目的のために、実際にカバーされたフロアエリアの境界３０８と現在セル３００の第１境界３０２との間の中間エリア３０２が、マスクとして使用され得るし、外周のパスが中間エリア３１０を通じてトレースされ得る。そして、境界３０２と３０８は一致するので、そうした中間エリア３１０は存在しない：第１境界３０２に沿うものである。邪魔のない中間エリア部分（邪魔なオブジェクト３０６によってカバーされないもの）と邪魔がある中間エリア部分（邪魔なオブジェクト３０６によってカバーされるもの）との間の変わり目をノード３１２を用いてマーク付けする。ノード３１２は、望ましくは多角形で、種々の第２境界部分３０４ａ−ｆを含んでいる第２境界３０４を形成するように相互に接続されてよい。一つの望ましい実施例において、現在セル３００の進入点Ｅが置かれた第１境界部分３０２ａ上に配置された第２境界３０４のノード３１２は、好ましくは、それぞれの第１境界部分３０２ａの頂点には設定されなくてよい。より幅広く、相互に垂直でない第２境界部分３０４ａ−ｆを構成させるためである。シミュレーションは、このことがトラベリングとフロアカバーを改善することを示している。邪魔なオブジェクト３０６を収容していない現在セル３００に係る所定の場合には、現在セル３００の第１および第２境界３０２、３０４は大部分または全体が一致していることが明らかであろう。
【００３５】
一般的に、現在セル３００に係る一つの第２境界部分３０４ａは、現在セル３００の進入点Ｅを定める第１境界部分３０２ａと少なくとも部分的に一致し得る。そして、それ自身が、現在セル３００がそこから侵入された、以前にカバーされた第２境界部分と部分的に一致する。他の第２境界部分３ｂ−ｆは、邪魔なオブジェクト３０６との関係に応じてマーク付けされてよい。つまり、第２境界部分３０４ｅ、３０４ｃは、邪魔のある中間エリア部分に対応するが、「邪魔あり（”ｏｂｓｔｒｕｃｔｅｄ”）」とマーク付けされてよく、一方、第２境界部分３０４ｂ、３０４ｄ、３０４ｆは、邪魔のない中間エリア部分に対応するが、「未処理（”ｕｎｐｒｏｃｅｓｓｅｄ”）」とマーク付けされてよい。
【００３６】
図２のフローチャートのブロック２１８によって反映されているように、現在セル３００の決定された第２境界３０４は、トポロジー的マップに追加されてよく、（もしあれば）そこからロボット１００が現在セルに進入したところの以前にカバーされたセルの第２境界にリンクされる。現在セルに関する追加データ、例えば内周トラベルのためのトラベルノードまたは中間地点として便利に働き得る中心点Ｃの位置も、また、保管され得る。トポロジー的マップが、現在セル３００の第２境界３０４と以前にカバーされたセルの第２境界とのオーバーラップを明らかにする場合、オーバーラップしているセルに係るそれぞれ交差している第２境界部分３０４ａ−ｆは、「処理済み（”ｐｒｏｃｅｓｓｅｄ”）」とマーク付けされ得る。
【００３７】
一旦、現在セル３００がカバーされ、かつ、トポロジー的マップが更新されると、そこを横切ってロボット１００が現在セルに進入したところの第２境界部分３０４ａは、「処理済み」とマーク付けされ得る。このステップは、単一のセルのカバーを完結するものであり、図２のフローチャートのブロック２２０によって示されている。
【００３８】
上述した単一セルのカバー計画は、より包括的で再帰的なフロアカバー計画の基本的なビルディングブロックを形成し得る。この計画は、選択アルゴリズムを用いて単一セルのカバー計画を補足し得る。選択アルゴリズムは、トポロジー的マップにおいて、邪魔のない、まだ未処理のどの第２境界部分が次に処理されるかを決定する。図２のフローチャートにおいて、選択決定は、決定ブロック２２２によって示されている。選択アルゴリズムの機能とオペレーションは、以下で明らかにされる。
【００３９】
フロアカバー業務の開始において、まだトポロジー的マップがガイダンスを提供しない場合、ロボット１００は、最初の現在セル３００をランダムに選定してよく、上述のように、カバーを開始する。この最初のセルは、ルートセル（ｒｏｏｔ  ｃｅｌｌ）として参照されてよく、例えば、ロボット１００の真正面にあるフロアエリアのユニットに対応する。ルートセルのカバーが完了すると、トポロジー的マップは、その第２境界３０４を特定し得る。「邪魔あり」でなく、かつ、「未処理」とマーク付けされた第２の境界部分３０４ａ−ｆは、さらなる探査を是認し得る。特に、カバーされるべきさらなるフロアエリアをアンロックし得るからである。選択アルゴリズムが、今や、呼び出されて、邪魔のない、「未処理」の第２境界部分を処理のために選択する（図２のフローチャートのブロック２２２）。そして、ロボットは、この選択された第２境界部分に向かって進み得る（図２のフローチャートのブロック２２３）。選択された第２境界部分に係る保管された寸法が、通行可能であり得ることを示している場合（例えば、ロボットが通行するのに幅が十分である）、ロボット１００は、第２境界部分の探査されていない側に位置する新たな現在セルを選定し（図２のフローチャートのブロック２１０）、新たな現在セルの進入点Ｅに向かって移動して、カバーを開始し得る。選択された第２境界部分に係る寸法が、通行不能であることを示しているが（例えば、第２境界部分の長さが、ロボットハウジング１０２の特徴的な直径Ｄよりも小さい）、カバーされるべきいくつかのフロアエリアを未だアンロックし得る場合、ロボット１００は、専門的な移動を用いて選択された第２境界部分をアタックし、可能な限り多くをカバーしようと試みる（図２のフローチャートのブロック２２４）。それぞれの選択された第２境界部分が、一旦、こうして処理されると、そのようにマーク付けされ得る（図２のフローチャートのブロック２２０）。そして、選択アルゴリズムが再び呼び出されて、邪魔のない、「未処理」の第２境界部分がさらに利用可能であるか否かを決定する。そうした邪魔のない、「未処理」の第２境界部分がさらに見い出され、選択された場合、ロボット１００は、選択された第２境界部分へ進み得る（図２のフローチャートのブロック２２３）。選択された第２境界部分に到達するために内周トラベルが必要とされる場合、ロボット１００は、トポロジー的マップの中に任意的に保管されたトラベルノードを介して進み得る。到達すると、ロボット１００は、選択された第２境界部分を処理するために、適切なカバーアクションを開始し得る。適切なカバーアクションは、典型的に、上述のように、境界部分の幅または長さに基づくものでよい。探査と処理に係るこのプロセスは、トポロジー的マップにおいて「未処理」の第２境界部分が無くなるまで継続され、その時点でフロアカバー計画が終了する（図２のフローチャートのブロック２２６）。
【００４０】
選択アルゴリズムの正確な性質は、異なる実施例に対して違ってよい。トポロジー的マップは、グラフ構成においてセルを効率的に計画するので（その中で、セルはノードを定め、かつ、邪魔なオブジェクトが存在しない第２境界部分は、２つのノードを相互接続するブランチを定める）、グラフトラバーサル（ｔｒａｖｅｒｓａｌ）のための一般的に知られたアルゴリズムを使用することができ、トポロジー的マップを計画的に拡張し、探査する。そうしたアルゴリズムの有利な実施例は、深さ優先探査（ｄｅｐｔｈ−ｆｉｒｓｔ  ｅｘｐｌｏｒａｔｉｏｎ）である。そこでは、ルートセルにおいて処理が開始され、発生中のブランチに沿って、探査と処理が、バックトラッキングの前まで、できる限り長く継続される。他の実施例は、幅優先探査（ｂｒｅａｄｔｈ−ｆｉｒｓｔ  ｅｘｐｌｏｒａｔｉｏｎ）、最短パス優先探査、等を含んでいる。
【００４１】
ここで開示されたフロアカバー計画の説明を完了するために、図３Ｈは、平面図において、適度に散らかったフロアエリア４００が、図２で提示されたフロアカバー計画に従って、どのようにロボット１００によってカバーされるかを模式的に示している。図３Ｈは、カバーされる異なるセルに係る多角形の第２境界３０４、これらのセル間のトポロジー的な相互関係、および、それぞれのセルの中で実行されるダブルストロークＳ１−Ｓ７、を示している。ロボット１００によってカバーされる現在セルは、図の右上に位置している。
【００４２】
本発明の説明的な実施例が、部分的に添付の図面に関して、上述されてきたが、本発明は、これらの実施例に限定されるものではないことが理解されるべきである。図面、明細書、および、添付の請求項の学習により、請求された発明を実施することで、開示された実施例に対する他の変形が、当業者によって理解され達成され得る。この明細書の全体を通じて「一つの（”ｏｎｅ”または”ａｎ”）実施例」に対する言及は、実施例に関して説明された所定の機能、特徴、または、特性が、本発明に係る少なくとも一つの実施例に含まれることを意味している。従って、この明細書の全体を通じて至る所におけるフレーズ「一つの実施例」の出現は、必ずしも同一の実施例に言及しているものではない。さらに、一つまたはそれ以上の実施例い係る所定の機能、構成、または、特性は、新たな、明示されていない実施例を形成するために、あらゆる好適な方法で組み合され得ることに留意すべきである。
【符号の説明】
【００４３】
１００  自律的モバイルロボット／ロボット掃除機（ＲＶＣ）
１０２  ハウジング
１０４  駆動システム
１０４ａ  ホイール
１０４ｂ  電気モータ
１０４ｃ  バッテリー
１０６  コントローラ
１０８  フロア処置システム
１０８ａ  ノズル
１０８ｂ  真空源
１０８ｃ  ゴミ容器
１１０  パーセプタ
２００  フロアカバー計画
２０２  散らかったフロアエリアのカバー計画を開始
２１０  新たな現在セルを指示
２１２  最初のダブルストロークを実行
２１４  セル深さと追加ダブルストロークの回数を決定
２１６  分岐点から追加ダブルストロークを実行、かつ、障害物マップを作成
２１８  障害物マップから第２境界を決定、かつ、カバーされるフロアエリアのトポロジー的マップを更新
２２０  以前に選択された第２境界部分をトポロジー的マップにおいて「処理済み」とマーク付け
２２２  トポロジー的マップから次の「未処理」の第２境界部分を選択
２２３  選択された「未処理」の第２境界部分に進行
２２４  第２境界部分が通行不能である場合、専門的な移動を用いてアタック
２２６  「未処理」の第２境界部分が存在しない：散らかったフロアエリアのカバー計画を終了
３００  セル
３０２  第１境界
３０２ａ、ｂ、ｃ  第１境界部分
３０４  第２境界
３０４ａ、ｂ、ｃ  第２境界部分
３０６  邪魔なオブジェクト
３０８  実際にカバーされたフロアエリアの境界
３１０  中間エリア（３０８と３０２の間におけるもの）
３１２  第２境界のノード
４００  カバーされるフロアエリア
Ｃ  セル中心
Ｄ  ロボットハウジングの外径特性
ｄ  セル深さ
ｄｆｏｒｋ  セルの進入端と分岐点との間の距離
Ｆ  分岐点
【図１】
0005857165.tif 000002
【図２】
0005857165.tif 000003
【図３Ａ】
0005857165.tif 000004
【図３Ｂ】
0005857165.tif 000005
【図３Ｃ】
0005857165.tif 000006
【図３Ｄ】
0005857165.tif 000007
【図３Ｅ】
0005857165.tif 000008
【図３Ｆ】
0005857165.tif 000009
【図３Ｇ】
0005857165.tif 000010
【図３Ｈ】
0005857165.tif 000011