(57)【特許請求の範囲】
【請求項１】
自律型カバレッジロボットを床面上で操縦する方法であって、
清掃モードで床面上の前記ロボットの動作を制御することと、
近接しているが接触していない障害物を示すセンサ信号を受信することと、
前記ロボットの移動速度を落として前記障害物に近づくことと、
前記ロボットをその場で回転させることと、
前記ロボットのその場での回転の少なくとも一部の期間における前記センサ信号の変化を判別することと、
前記判別した前記センサ信号の変化に少なくとも部分的に基づいて前記障害物を識別することと、を含み、
前記障害物を識別することは、
前記障害物の角度幅を、前記判別した前記センサ信号の変化に少なくとも部分的に基づいて判別することと、
前記判別した障害物の角度幅を閾値と比較することと、を含み、
前記閾値は、前記センサ信号の強度に少なくとも部分的に基づいて設定されること、を特徴とする方法。
【請求項２】
前記障害物を示すセンサ信号を受信することは、前記センサ信号の強度増加を判別することを含む、請求項１に記載の方法。
【請求項３】
前記センサ信号の変化を判別することは、前記センサ信号の強度ピークを判別することを含む、請求項１又は２に記載の方法。
【請求項４】
前記判別した前記信号の変化に少なくとも部分的に基づいて前記障害物を識別することは、障害物を示すセンサ信号が検出され始めた時点におけるロボットの向いている方位に関する情報を第一方位として保存すること、および前記センサ信号から判別した強度ピークを検出した時点におけるロボットの向いている方位に関する情報を第二方位として保存することを含む、請求項３に記載の方法。
【請求項５】
前記障害物を識別することは、前記第一方位および前記第二方位の差に少なくとも部分的に基づいて、前記障害物の角度幅を判別することを含む、請求項４に記載の方法。
【請求項６】
前記閾値は、前記障害物の角度幅に少なくとも部分的に基づいて設定される、請求項５に記載の方法。
【請求項７】
前記ロボットには、前後軸が規定されており、
前記センサ信号は、第一センサまたは第二センサのいずれか一つのセンサから受信され、前記第一センサおよび第二センサは、それぞれ前記前後軸に対して右側および左側に配置されている、請求項５または６に記載の方法。
【請求項８】
前記判別した前記障害物の角度幅が前記閾値より小さい場合に、前記前後軸が前記障害物に対して実質的に平行になるよう、前記ロボットを回転させることをさらに含む、請求項７に記載の方法。
【請求項９】
前記前後軸が前記障害物に対して実質的に平行になるよう前記ロボットを回転させることは、前記受信センサ信号に対応するセンサが前記障害物に最も接近するよう前記ロボットを配置することを含む、請求項８に記載の方法。
【請求項１０】
前記障害物の角度幅が前記閾値よりも小さいと判断した場合に、前記ロボットを前記障害物の方向に旋回させることをさらに含む、請求項５から９のいずれか一項に記載の方法。
【請求項１１】
前記ロボットが実質的に円筒形状であり、前記ロボットを前記障害物の方向に旋回させることは、前記ロボットの半径以上の半径で前記ロボットを旋回させることを含む、請求項１０に記載の方法。
【請求項１２】
前記判別した障害物の角度幅に少なくとも部分的に基づいた旋回半径で前記ロボットを旋回させる、請求項１０又は１１に記載の方法。
【請求項１３】
前記ロボットを前記障害物の方向に旋回させることは、前記ロボットの第一方位に達するまで前記ロボットを旋回させ、前記ロボットの第一方位に到達後、前記ロボットを前記ロボットの第一方位に該当する実質的に直線の軌道に沿って移動させることを含む、請求項１０から１２のいずれか一項に記載の方法。
【請求項１４】
前記障害物の角度幅が前記閾値以上であると判断した場合に、前記ロボットの旋回半径を変化させることで実質的に一定の距離を保ちながら、前記障害物を追従するよう前記ロボットを操作することをさらに含む、請求項５から１３のいずれか一項に記載の方法。
【請求項１５】
前記ロボットの旋回半径を変化させることは、前記障害物から遠ざける第一方向に前記ロボットを旋回させること、および前記センサ信号が検出されなくなったと判断した場合に、前記障害物に向かう第二方向に前記ロボットを旋回させることを含む、請求項１４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はロボットに関し、特に自律型カバレッジロボットに関する。
【背景技術】
【０００２】
本特許出願は、２０１０年１２月３０日出願の米国仮特許出願６１／４２８，７９３に対し米国特許法第１１９条（ｅ）に基づく優先権を主張する出願である。これらの先行する出願の開示は、本出願の開示の一部分とみなされ、参照によりそれらの全ての内容が本明細書に組み込まれるものとする。
【０００３】
自律型ロボットは、体系化されていない環境において、人による継続的な誘導なしに所望のタスクを実行できるロボットである。多くの種類のロボットが、ある程度において自律的である。様々なロボットが様々な方法において自律的であり得る。自律型カバレッジロボットは、一つ以上の仕事を実行するために、人による継続的な誘導無しに作業表面を行き来する。住宅、事務所、および／または消費者指向のロボット工学の分野において、真空清掃、床面洗浄、パトロール、芝刈りなどの家庭における機能を実行する可動式のロボットが広く導入されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
自律型カバレッジロボットは、動作中に多くの障害物に遭遇する。ロボットは、動作を続行するために、絶えず障害物を回避および／または迂回する必要がある。
【課題を解決するための手段】
【０００５】
一つの形態において、自律型カバレッジロボットを床面で操縦する方法は、清掃モードでの床面の行き来を制御することと、障害物を示すセンサ信号を受信することと、検出した障害物からロボットを遠ざける回転することと、検出した障害物からロボットを遠ざける回転中の少なくともある期間における受信センサ信号の変化を判別することと、受信した信号から判別された変化に少なくとも部分的に基づいて障害物を識別することと、を含む。
【０００６】
この形態における実施形態には、以下の一つもしくは複数の特徴が含まれ得る。いくつかの実施形態では、障害物を示すセンサ信号を受信することは、受信センサ信号の強度増加を判別することを含む。例えば、受信センサ信号の強度増加を判別することは、受信センサ信号をローパスフィルタリングし、ローパスフィルタリングした信号を瞬間センサ信号と比較することを含み得る。
【０００７】
いくつかの実施形態では、受信センサ信号の変化を判別することは、受信センサ信号の強度ピークを判別することを含む。例えば、受信センサ信号の強度ピークを判別することは、受信センサ信号をローパスフィルタリングし、ローパスフィルタリングした信号を瞬間センサ信号と比較することを含み得る。
【０００８】
ある実施形態においては、受信センサ信号から判別した変化に少なくとも部分的に基づいて障害物を識別することは、障害物を示すセンサ信号に関連付けてロボットの第一方位を保存し、受信センサ信号のピークに関連付けてロボットの第二方位を保存することを含む。ロボットの第一方位および第二方位のうち少なくとも一つは、ロボットおよび／またはロボットの少なくとも一部を床面上に支持している車輪の車輪エンコーダに搭載されているジャイロスコープにより判別され得る。追加的または代替的に、検出した障害物を識別することは、ロボットの第一方位と第二方位との差に少なくとも部分的に基づいて障害物の角度幅を判別し、判別された障害物の角度幅を閾値と比較することを含む。閾値は、受信センサ信号の強度および／または障害物の角度幅に少なくとも部分的に基づいて設定しても良い。
【０００９】
いくつかの実施形態では、ロボットの前後軸が規定されており、障害物を示すセンサ信号は前後軸に対して右側と左側に配置された第一センサと第二センサから受信される。ある実施形態においては、自律型カバレッジロボットの誘導方法は、検出した障害物の角度幅が閾値よりも小さい場合に前後軸を障害物に対して実質平行になるようロボットを操縦することを含む。例えば、センサ信号を受信したセンサが、検出した障害物に最も近くなるようロボットを配置しても良い。
【００１０】
ある実施形態においては、障害物の角度幅が閾値よりも小さいと判断すると、障害物に向かって旋回するようロボットに指示する。ロボットは実質円筒形でも良く、ロボットに障害物を旋回させる指示は、ロボットの半径よりも若干大きい半径でロボットを旋回させることを含み得る。例えば、ロボットの半径と同等の径からロボットの半径の１．８倍の径の間で旋回するようロボットに指示しても良い。追加的または代替的に、測定された障害物の角度幅に少なくとも部分的に基づく半径で旋回するようロボットに指示しても良い。
【００１１】
ある実施形態においては、ロボットに障害物を旋回させる指示は、ロボットの方位が第一方位に到達するまで旋回するよう指示し、第一方位に到達すると、第一方位に該当する実質的に直線の軌道に沿って進むよう指示することを含む。
【００１２】
いくつかの実施形態では、障害物の角度幅が閾値以上であると判断すると、旋回半径を変化させながら障害物との距離をほぼ一定に保ち、障害物に沿って進むようロボットを操縦する。旋回半径を変化させることは、初めに障害物を避ける第一方向にロボットを旋回させ、センサ信号が検出されなくなったと判断すると、第二方向である障害物方向にロボットを旋回させることを含み得る。
【００１３】
ある形態では、障害物を示すセンサ信号を受信すると、ロボットは受信センサ信号と逆方向に実質的に直線に沿って進む。例えば、ロボットは実質的に直線に沿って約１５ｍｍから約５０ｍｍの距離を進む。
【００１４】
いくつかの実施形態では、清掃モード時のカバレッジロボットの床面移動速度が減速される（例えば、受信した障害物を示すセンサ信号に少なくとも部分的に基づいて減速する）。
【００１５】
別の形態において、移動型ロボットは、シャーシと、シャーシに連結され、ロボットが清掃面を移動するよう構成された駆動アセンブリと、ロボットが移動している床面からデブリを取り除くよう構成された清掃ヘッドと、第一近接センサと、清掃面上のロボットの動作を制御するために駆動アセンブリと通信する制御装置とを備える。シャーシは前部と後部を有し、それらの間に伸びる前後軸を定義する。第一近接センサは、ロボットが清掃面を行き来する際に側面にある物体を示す信号を発生するよう構成されている。制御装置は、第一近接センサからの信号を受信し、検出した障害物を避ける方向にロボットを旋回させ、測定されたセンサ信号の変化に少なくとも部分的に基づいて障害物を識別するよう構成されている。
【００１６】
この形態における実施形態には、以下の一つもしくは複数の特徴が含まれ得る。いくつかの実施形態では、第二近接センサはロボットが清掃面を行き来する際に側面にある物体を示す信号を発生するよう構成されており、第一および第二近接センサは、ロボットが清掃面を行き来する際の前後軸に対して互いに反対側に設置されている。
【００１７】
ある実施形態においては、移動型ロボットはシャーシ前部にバンパを備え、その内部に第一および第二近接センサが配置されている。例えば、バンパは最右端および最左端を有し、第一近接センサはバンパの最右端に配置され、第二近接センサはバンパの最左端に配置される。追加的または代替的に、第３近接センサはバンパの第一および第二近接センサの間に配置される。バンパは、障害物に接触した際にシャーシに対して可動な構造であり得る。
【００１８】
いくつかの実施形態では、第一および第二近接センサはそれぞれ清掃面に対してほぼ平行に向けられている。追加的または代替的に、第一および第二近接センサは互いに約１８０°の方向を向いている。
【００１９】
ある実施形態においては、第一近接センサは、ロボットが清掃面を行き来する際に清掃面に対してほぼ平行に向けられた少なくとも一対の赤外線発信機と受信機を有する。
【００２０】
更に別の形態において、床面上で自律型カバレッジロボットを操縦する方法は、第一動作モードで床面を行き来するようロボットに指示し、第一動作モード中のロボットの行動を、第一動作モード時に観察されたロボットの動きに少なくとも部分的に基づいて監視し、ロボットが立ち往生していないかを判断し、立ち往生していると判断すると第二動作モードを開始することを含む。
【００２１】
この形態における実施形態には、以下の一つもしくは複数の特徴が含まれ得る。いくつかの実施形態では、第一動作モードは、衝突モード、障害物追従モード、およびスポットカバレッジモードのうち一つ以上の動作モードを含み得る。第一動作モードにおいてロボットを床面で行き来させる指示は、ロボットが有するモータに起動命令を送信することを含み、モータはロボットが床面を行き来できるよう車輪に動力を伝達可能な構成となっている。ある実施形態においては、第二動作モードは、衝突追従モード、壁面追従モード、および退避モードのうち一つ以上の動作モードを選択可能である。
【００２２】
いくつかの実施形態では、床面上のロボットの動作を監視することは、所定の時間内におけるロボットの複数の位置を測定することを含む。例えば、所定の時間内におけるロボットの複数の位置を測定することは、ロボットに搭載されたジャイロスコープからの信号の受信、および／または車輪の動きを監視するよう構成された車輪エンコーダからの信号の受信を含む。
【００２３】
ある実施形態においては、ロボットが立ち往生していると判断することは、ロボットの方位が約３６０度以上変化したが、ロボットの直線移動距離が６ｍ未満であると判断することを含む。
【００２４】
更に別の形態では、清掃面のローカルエリアマップを生成する方法は、自律型カバレッジロボットの清掃モードでの床面上の動作を制御し、第一障害物を示すセンサ信号を受信し、第一障害物を示すセンサ信号を受信すると第一障害物を避ける方向にロボットを動かし、第二障害物を示すセンサ信号を受信し、第二障害物を示すセンサ信号を受信すると第二障害物に対する第一障害物の相対位置を測定することを含む。自律型カバレッジロボットの動作制御は、測定された第二障害物に対する第一障害物の相対位置に少なくとも部分的に基づいている。
【００２５】
この形態における実施形態には、以下の一つもしくは複数の特徴が含まれ得る。いくつかの実施形態では、自律型カバレッジロボットの動作を制御することは、第一障害物と第二障害物の相対位置が閾値より小さい場合に、自律型カバレッジロボットを第一障害物と第二障害物を避ける方向に動かすことを含む。例えば、閾値は自律型カバレッジロボットの清掃面に対して平行な方向の最大寸法（例えば、実質円筒形で、清掃面を行き来する状態を上部から見るとほぼ円形であるロボットの直径）とほぼ等しい距離としても良い。
【００２６】
ある実施形態においては、ロボットの方位は第一障害物を示すセンサ信号を受信すると決定される。
【００２７】
いくつかの実施形態では、自律型カバレッジロボットの動作を制御することは、ロボットが第一障害物および／または第二障害物に対して動く際に、ロボットの動きを、障害物を検出した方向へ向けることを含む。
【００２８】
ある実施形態においては、第二障害物に対する第一障害物の相対位置を判断することは、第一障害物から第二障害物への推測航法を含む。推測航法は、ロボットに設置されたジャイロスコープからの方位情報に少なくとも部分的に基づいても良い。追加的または代替的に、推測航法は、自律型カバレッジロボットが床面上を行き来する際の自律型カバレッジロボットの車輪の回転数測定に少なくとも部分的に基づいても良い。例えば、車輪の回転数測定は車輪エンコーダからの信号を受信することを含み得る。
【００２９】
いくつかの実施形態では、自律型カバレッジロボットの動作を制御することは、第一および第二障害物を回避するよう自律型カバレッジロボットを動かすことを含む。例えば、第一および第二障害物を回避するよう自律型カバレッジロボットを動かすことは、自律型カバレッジロボットを第一および第二障害物を避ける方向に動かすことを含み得る。
【００３０】
ある実施形態においては、第二障害物に対する第一障害物の相対方向が保存される（例えば、メモリーに保存される）。
【００３１】
更に別の形態では、自律型カバレッジロボットを床面上で操縦する方法は、自律型カバレッジロボットの方位を保存し、自律型カバレッジロボットの最小回転半径に接する障害物まで自律型カバレッジロボットを保存した方位に沿って移動させ、自律型カバレッジロボットに搭載されているセンサをスキャンし、スキャンしたセンサ信号を受信し、受信センサ信号に少なくとも部分的に基づいて障害物を分類し、障害物の柱という分類に少なくとも部分的に基づいて障害物の周りの少なくとも一部を旋回させ、保存した方位と分類された障害物を旋回中の自律型カバレッジロボットの方位とを比較し、保存した方位と旋回中の自律型カバレッジロボットの方位との比較結果に少なくとも部分的に基づいて保存した方位に戻すことを含む。
【００３２】
いくつかの実施形態では、保存した方位に戻すことは、旋回中の自律型カバレッジロボットの方位が保存した方位と一致した場合に旋回を中断させることを含む。
【００３３】
ある実施形態においては、保存した方位に戻すことは、自律型カバレッジロボットを回転させて保存した方位に向かせることを含む。いくつかの例では、自律型カバレッジロボットを回転させて保存した方位に向かせることは、自律型カバレッジロボットを旋回方向と逆方向に回転させることを含み得る。例えば、自律型カバレッジロボットは、保存した方位と自律型カバレッジロボットの方位の差がある一定の値（例えば４５度）になるまで分類された障害物を旋回することができ、自律型カバレッジロボットを回転させて保存した方位に向かせることは、自律型カバレッジロボットの方位が保存した方位と一致するまで自律型カバレッジロボットを旋回方向と逆方向に回転させることを含み得る。
【００３４】
いくつかの実施形態では、自律型カバレッジロボットを旋回させることは、自律型カバレッジロボットの最小回転半径より大きい径で旋回させることを含む。
【００３５】
ある実施形態においては、スキャンしたセンサ信号に少なくとも部分的に基づいて障害物を分類することは、スキャンしたセンサ信号を経験的モデルと比較することを含む。
【００３６】
いくつかの実施形態では、自律型カバレッジロボットに搭載されたセンサをスキャンすることは、センサを動かすために自律型カバレッジロボットを回転させることを含む。追加的または代替的に、自律型カバレッジロボットに搭載されたセンサをスキャンすることは、自律型カバレッジロボットに対してセンサを動かすことを含み得る。
【００３７】
ある実施形態においては、センサは、カメラ、レーザー、および近接センサのうち一つ以上を備える。
【図面の簡単な説明】
【００３８】
【図１】図１は、自律型カバレッジロボットの一例の上方斜視図を示す。
【図２】図２は、図１に示す自律型カバレッジロボットの一例の下方斜視図を示す。
【図３】図３は、図１に示す自律型カバレッジロボットの一例の分解図を示す。
【図４Ａ】図４Ａは、図１に示す自律型カバレッジロボットの一例のバンパを示す。
【図４Ｂ】図４Ｂは、図１に示す自律型カバレッジロボットの一例の近接センサを示す。
【図５】図５は、図１に示す自律型カバレッジロボットの一例の床近接センサ、衝突センサおよび取付留め具を示す。
【図６Ａ】図６Ａは、自律型カバレッジロボットの一例のブロック図を示す。
【図６Ｂ】図６Ｂは、自律型カバレッジロボットの一例の動作制御のフローチャートを示す。
【図６Ｃ】図６Ｃは、自律型カバレッジロボットの一例のクラッタ（clutter）操縦のフローチャートを示す。
【図７】図７は、自律型カバレッジロボットの一例の、アービタ選択式動作制御行動としての障害物分類のフローチャートを示す。
【図８】図８は、自律型カバレッジロボットの一例の、アービタ選択式動作制御行動としての柱旋回行動と組み合わせた障害物分類のフローチャートを示す。
【図９Ａ】図９Ａ−９Ｈは、物体を識別し迂回するための、自律型カバレッジロボットの一例の動作シーケンスを示す。
【図９Ｂ】図９Ａ−９Ｈは、物体を識別し迂回するための、自律型カバレッジロボットの一例の動作シーケンスを示す。
【図９Ｃ】図９Ａ−９Ｈは、物体を識別し迂回するための、自律型カバレッジロボットの一例の動作シーケンスを示す。
【図９Ｄ】図９Ａ−９Ｈは、物体を識別し迂回するための、自律型カバレッジロボットの一例の動作シーケンスを示す。
【図９Ｅ】図９Ａ−９Ｈは、物体を識別し迂回するための、自律型カバレッジロボットの一例の動作シーケンスを示す。
【図９Ｆ】図９Ａ−９Ｈは、物体を識別し迂回するための、自律型カバレッジロボットの一例の動作シーケンスを示す。
【図９Ｇ】図９Ａ−９Ｈは、物体を識別し迂回するための、自律型カバレッジロボットの一例の動作シーケンスを示す。
【図９Ｈ】図９Ａ−９Ｈは、物体を識別し迂回するための、自律型カバレッジロボットの一例の動作シーケンスを示す。
【図１０Ａ】図１０Ａは、図７に示す障害物分類の一例のフローチャートを示す。
【図１０Ｂ】図１０Ｂは、図１０Ａに示す障害物分類を基にした障害物分類の一例を示す。
【図１１】図１１は、図７に示す障害物分類の一例のフローチャートを示す。
【図１２】図１２は、自律型カバレッジロボットの一例の柱ナビゲーションのフローチャートを示す。
【図１３】図１３は、自律型カバレッジロボットの一例の柱旋回のフローチャートを示す。
【図１４】図１４は、自律型カバレッジロボットの一例の柱回避のフローチャートを示す。
【図１５】図１５は、自律型カバレッジロボットの一例の立ち往生状況のロボットの仮想センサのフローチャートを示す。
【００３９】
異なる図面中の同様の番号は、同様の要素を示す。
【発明を実施するための形態】
【００４０】
図１−３は、例示的な自律型カバレッジロボット１００の上方斜視図、下方斜視図、および分解図を示す。ロボット１００は、シャーシ１０２、駆動システム１０４、主清掃ヘッド１０６ｂ、および制御装置１０８を備える。いくつかの実施形態では、ロボット１００は縁部清掃ヘッド１０６ａを有する。使用中は、清掃面上（例えば床）を移動して清掃面からごみ（デブリ）を除去するよう、制御装置１０８が駆動システム１０４、主清掃ヘッド１０６ｂ、および縁部清掃ヘッド１０６ａに指示を送る。
【００４１】
図１において、シャーシ１０２は前部１０３および後部１０５を備えており、それらの間に前後軸１０１を定義する。ロボットが清掃面上に置かれている状態では、前後軸１０１は清掃面に対してほぼ平行である。前後軸１０１はシャーシ１０２を右部１０７と左部１１１に分割する。
【００４２】
図１−３において、駆動システム１０４はシャーシ１０２に搭載され、ロボット１００を動かすように構成された差動式駆動装置（ロボットの中心直径に近接するかまたは中心直径上にあり、別個に速度制御可能な左輪および右輪）である。縁部清掃ヘッド１０６ａは、ロボット１００の下方およびその直近の汚れおよびデブリを除去するために、さらに具体的にはロボットが前方に向かって清掃する際に汚れおよびゴミを主清掃ヘッド１０６ｂの清掃経路の中へ掃き込むために、シャーシ１０２の側縁を越えて延びるように取り付けられる。幾つかの実施形態では、主清掃ヘッド１０６ｂまたは縁部清掃ヘッド１０６ａは、表面処理（例えば、水および／または洗剤）を施すために使用可能である。制御装置１０８（図５Ａにも図示される）はシャーシ１０２によって保持され、以下に説明するように自律的様態で障害物の周囲を操縦し、床を清掃および／または処理するため、センサの読取り値または指示に基づいてロボット１００の構成要素に指令を供給する、行動に基づくロボット工学（behavior based robotics）によって制御される。バッテリ１０９がロボット１００およびそのサブシステム用の電源となり得る。下カバー１１０は、ロボット１００の内側部分を保護しかつ汚れおよびゴミの侵入を防ぐ。
【００４３】
駆動システム１０４は、左駆動輪アセンブリ１１２および右駆動輪アセンブリ１１４を含む。駆動輪アセンブリ１１２および１１４はそれぞれ車輪１１３と、車輪１１３を駆動するよう車輪１１３に連結されたモータ１１５を備える。駆動輪アセンブリ１１２および１１４はシャーシ１０２に連結され、シャーシの少なくとも一部を清掃面上に支持している。ある実施形態においては、主清掃アセンブリ１０６ｂおよび／または縁部清掃ヘッド１０６ａがシャーシ１０２の少なくとも一部を清掃面上に支持している。追加的または代替的に、ロボット１００はロボット１００の少なくとも一部を清掃面上に支持する脚輪アセンブリ１１６を含み得る。
【００４４】
制御装置１０８は、ロボット１００を動かすために駆動輪アセンブリ１１２および１１４を前方または後方に駆動するよう駆動システムに指令を出すことができる。例えば、駆動アセンブリ１１２および１１４の両方に前方向に駆動するようコントローラ１０８から指令を出すと、結果としてロボット１００の前進動作につながる。別の例では、左駆動輪１１４を前方向に駆動させ、右駆動輪１１２を後方向に駆動させる左回転の指令が出されると、結果として上方から眺めたときにロボット１００は時計回りに回転する。更に別の例では、類似の右回転の指令が出されると、結果として上方から眺めたときにロボット１００は反時計回りに回転する。以下に詳細に説明するように、制御装置１０８は、前進、後退、右および／または左という指令を組合せ、ロボット１００が清掃面上を行き来する際に直面する一つ以上の障害物をロボット１００が迂回するよう駆動アセンブリに指令を出すことができる。
【００４５】
図４Ａ−Ｂに示すように、バンパ１３０を自律型カバレッジロボット１００に使用し得る。近接センサ１３４Ａ−Ｄはバンパ１３０に内装されており、ロボットの側面（例えば、清掃面上をロボットが前進している際のロボットの前方）に存在する潜在的な障害物を検出するために、清掃面に対してほぼ平行に向けられている。例えば、近接センサ１３４Ａ−Ｄは、ロボット１００の側面（例えば前方）から約１〜１０インチの距離にある潜在的な障害物を検出するよう向けられている。いくつかの実施形態では、近接センサ１３４Ａ−Ｄはそれぞれ、距離が約１〜１０インチ（好ましくは１〜４インチ）で（すなわち、互いに角度をつけて配置された発信機と受信機の重なる空間からの反射を受信機が受信した場合に）作動する赤外線発信機および受信機のペアを備える。このような赤外線発信機および受信機のペアを備える近接センサは、米国特許７４４１２９８号、「COVERAGE  ROBOT  MOBILITY」で開示されており、参照によりそれらの全ての内容が本明細書に組み込まれるものとする。
【００４６】
少なくとも２つの近接センサ（例えば、近接センサ１３４Ａおよび１３４Ｄ）はバンパ１３０の端部１３５ａ、ｂ（例えば、バンパの最右端および最左端）に、近接センサ１３４Ａおよび１３４Ｄが互いに１８０度の方向を向くように配置されている。このセンサの方向付けにおいて、近接センサ１３４Ａおよび１３４Ｄは、ロボット１００が前後軸１０１に沿って移動する際にロボット１００の幅に及ぶ。このような近接センサ１３４Ａおよび１３４Ｄの配置は、例えばロボット１００が前進する際にその軌道上にある障害物を検出しない可能性を減らすことにより、ロボット１００の死角を減らすことができる。
【００４７】
図５に示すように、衝突センサ１３２および床近接センサ１４０をロボット１００に保持するために取付留め具１４２を使用し得る。衝突センサ１３２は、ロボット１００と、ロボット１００の前進軌道上にある物体との衝突を検出し得る。床近接センサ１４０はシャーシ１０２に保持され、ロボット１００が階段のような「クリフ」に接近した際に検出するために使用され得る。床近接センサ１４０は、クリフが検出されたか否かを示す信号を制御装置１０８に送信する。制御装置１０８は、床近接センサ１４０からの信号を基に、クリフを避けるために速度を変化させたりするよう駆動システム１０４に指令を出す。
【００４８】
バンパ１３０は、障害物に衝突した際にバンパ１３０が短い距離だけシャーシ１０２方向に移動するよう、シャーシ１０２の前部１０３に可動に支持され得る。バンパの動きは一つ以上の衝突センサ１３２とバンパを接触させ、衝突した物体を示す信号が生成される。
【００４９】
図６Ａに示すように、ロボット１００の電子機器には、バンパマイクロコントローラ１３７と通信する制御装置１０８を備える。バンパマイクロコントローラ１３７は制御装置１０８と共に、全方向受信機、指向性受信機、壁近接センサ１３４Ａ−Ｄ、および衝突スイッチ１３２を制御する。制御装置１０８は、他の全てのセンサ、例えばクリフセンサや駆動アセンブリ１１２、１１４のモータ電流センサの信号を管理している。
【００５０】
ロボット１００の方向および速度は、近接センサ１３４が潜在的な障害物を検出した際にロボット１００を減速させるために、米国特許６８０９４９０号および６７８１３３８号で概要が開示されている（参照によりそれらの全ての内容が本明細書に組み込まれるものとする）、行動に基づくロボット工学に基づいてアービタ選択された動作制御行動を用いて（制御装置１０８により）制御され得る。制御装置１０８が指令を出す動作制御行動は、衝突センサ１３２がロボット１００と障害物との衝突を検出した際にロボット１００の速度を変化させることもできる。
【００５１】
例えば、図６Ｂにおいて、制御装置１０８の動作制御（９００）は、カバレッジモード時にロボット１００に清掃面上を行き来させる指示（９０２）を含む。例えば、制御装置はロボット１００に対し、スポットカバレッジ、ランダム、およびストレートのうち一つ以上のカバレッジモードで清掃面を行き来させる指令を出すことができる（９０２）。これらのカバレッジモードは、米国特許６８０９４９０号「METHOD AND SYSTEM FOR MULTI-MODE COVERAGE FOR AN AUTONOMOUS ROBOT」で説明されており、参照によりそれらの全ての内容が本明細書に組み込まれるものとする。
【００５２】
制御装置１０８は、近接センサ１３４Ａ−Ｄのうち一つ以上から、および衝突センサ１３２のうち一つ以上からの信号を受信することにより近傍の障害物を検出する（９０４）。制御装置１０８は、障害物を示す信号を発生するセンサ１３４Ａ−Ｄおよび１３２に少なくとも部分的に依存して、検出された（９０４）障害物に対するロボット１００のおおよその方向を判別する。例えば、前後軸１０１に対して右側に配置されているセンサ１３４Ｄから受信した信号はロボット１００の右側の障害物を示す。
【００５３】
制御装置１０８はロボット１００が障害物と接触しているかどうかを判別する（９０５）。判別（９０５）は、制御装置が近接センサ１３４Ａ−Ｄおよび／または衝突センサ１３２から信号を受信しているかどうかに少なくとも部分的に基づいて行われ得る。例えば、制御装置１０８が近接センサ１３４Ａ−Ｄの一つから信号を受信しているが衝突センサ１３２からは信号を受信していない場合、制御装置１０８は、ロボット１００は障害物に接近しているが接触はしていないと判断する（９０５）。もうひとつの例として、制御装置１０８が衝突センサ１３２から信号を受信している場合（例えば、衝突センサ１３２からの信号単体もしくは近接センサ１３４Ａ−Ｄからの信号も同時に受信している場合）、制御装置１０８は、ロボット１００が障害物に接近しかつ接触していると判断する（９０５）。
【００５４】
制御装置１０８は、障害物に接近しているがまだ接触していないと判断すると（例えば近接センサ１３４Ａ−Ｄ経由で）、ジェントルタッチ（gentle touch）ルーチン（９０１）（一つの行動、行動の一部、または二つ以上の行動を合わせた行動であり得る）を実行する。制御装置１０８は、ロボット１００が全速清掃速度で検出した障害物に突進しないようロボット１００を減速させる（９０６）。いくつかの実施形態では、制御装置１０８は駆動アセンブリ１１２および１１４に供給する電力を減らすことによりロボット１００を減速させる（９０６）。例えば、制御装置１０８はロボットの速度を約３００ｍｍ／秒の全速清掃速度から約１００ｍｍ／秒の減速清掃速度まで減速させる（９０６）。このような清掃速度の減速により、全体的な騒音、潜在的損傷、および／または障害物への潜在的損傷を軽減できる。
【００５５】
制御装置１０８が衝突センサ１３２経由で全速清掃速度での障害物との接触を検出すると（９０５）、もしくは制御装置１０８が衝突センサ１３２経由で減速清掃速度での障害物との接触を検出すると（９０５）、制御装置１０８は一つ以上のアービタ選択された動作制御行動を実行する（９１８）。アービタ選択された動作制御行動（９１８）は米国特許６８０９４９０号「METHOD AND SYSTEM FOR MULTI-MODE COVERAGE FOR AN AUTONOMOUS ROBOT」および米国特許７４４１２９８号「COVEERAGE ROBOT MOBILITY」で開示されており、参照によりそれらの全ての内容が本明細書に組み込まれるものとする。追加的または代替的に、アービタ選択された動作制御行動（９１８）は以下に示すクラッタ操縦を含む。
【００５６】
クラッタ操縦は、環境の様々な状況に反応してロボット１００を環境内（例えば複数の障害物が配置された環境）で効率的に操縦するための一つ以上の行動を含む。例えば、クラッタ操縦はサイクル間の変化や単一のｎ周期のカバレッジ（single n-pass coverage）の変化を平均的に低減できる。追加的または代替的に、クラッタ操縦は、クラッタ操縦でない場合にロボット１００が散乱エリアを移動する際に発生し得る強い衝撃の衝突を低減できる。
【００５７】
図６Ｃに示すように、一つの例では、クラッタ操縦（９５０）はロボット１００の所定の方位および速度での移動（９５２）、散乱エリアの検出（９５４）、ロボット１００を散乱エリアで移動させる操縦（９５６）、および所定の方位および速度の回復（９５８）を含む。所定の方位および速度の回復（９５８）は、例えばある時間（例えば決められた時間）の間、障害物が検出されなかった場合（９５４）に所定の方位および速度に戻ることを含む。
【００５８】
ロボット１００の所定の方位および速度での移動（９５２）は、清掃モードの一部もしくはアービタ選択された動作制御行動の一部として実行され得る。ロボット１００の方位は、所定の方位設定と一つ以上の車輪エンコーダ１２１ａ、１２１ｂ、１２１ｃおよび／またはジャイロスコープ１１９により測定された実際の方位を比較し、比較結果に基づいて一つ以上の駆動アセンブリ１１２および１１４の動きを調整することにより制御可能である。ロボット１００の速度は、所定の速度設定と、例えば一つ以上の車輪エンコーダ１２１ａ、１２１ｂ、１２１ｃにより測定された実際の速度を比較することにより制御可能である。
【００５９】
散乱エリアの検出（９５４）は、例えば障害物との衝突の検出（図６Ｂ参照）といった一つ以上の要因から生じる信号を受信することを含む。いくつかの実施形態では、散乱エリアの検出に障害物の光学検出（例えば、図４Ｂの近接センサ１３４Ａ−Ｄによる検出）が含まれる。
【００６０】
散乱エリア内でのロボット１００の操縦（９５６）は、ロボット１００の速度設定の低減を含み得る（例えば、約３００ｍｍ／秒から約１００ｍｍ／秒への低減）。追加的または代替的に、散乱エリア内でのロボット１００の操縦（９５６）は、ロボット１００の方位を所定の方位にバイアスしながら検出した障害物の周りを移動させることを含み得る。ある実施形態においては、ロボット１００は起動から一定時間経過した後（例えば、起動の約１０秒から約１分後）にのみ散乱エリア内を移動する（９５６）。追加的または代替的に、ロボット１００は、例えば清掃サイクルの終盤で散乱エリアへの移動（９５６）を試みないよう、起動後、一定時間が経過する前にのみ、散乱エリアへ移動する。いくつかの実施形態では、ロボット１００はバッテリの充電状況１０９（図３参照）が閾値を超えている場合は散乱エリアへの移動を試みない。
【００６１】
ロボット１００の操縦（９５６）は、場合によっては、障害物の検出に応じて（例えば障害物との接触に応じて）障害物の周りを移動させる指示を含む。例えば、ロボット１００はほぼ半円状軌道もしくは変化する螺旋の連続軌道（例えば、徐々に半径が減少する円弧）で物体の周りを移動する。別の例では、ロボット１００は物体から離れた後、物体に対してほぼ接線方向に移動し得る。追加的または代替的に、以下に詳細に示すように、操縦（９５６）は、制御装置１０８により一つ以上のセンサから得られる信号（例えば、一つ以上の近接センサ１３４Ａ−Ｄからの信号）に少なくとも部分的に基づいて障害物を分類し、分類結果に少なくとも部分的に基づいてロボット１００を操縦することを含み得る。
【００６２】
図６Ａ、６Ｂ、６Ｃおよび７に示すように、制御装置１０８が、ロボット１００に清掃モードで床面を行き来させ（９０２）、障害物との接触を検出し（９０８）、検出された障害物との接触に少なくとも部分的に基づいて障害物分類（１０００）を含み得るアービタ選択される動作制御行動を開始する（９１８）ために、アービタ選択される動作制御行動（９１８）は、障害物分類（１０００）を（例えば、クラッタ操縦（９５０）の一部として）含み得る。障害物との接触は衝突センサ１３２により検出される（９０８）。以下に示すように、障害物分類（１０００）は近接センサ１３４Ａおよび／または１３４Ｄからの信号に少なくとも部分的に基づく。
【００６３】
障害物分類（１０００）は、障害物の接近を示すセンサ信号の受信（１００１）、近接障害物を示すセンサ信号に対するセンサの回転（１００２）（例えば、ロボットを回転させることによる回転および／またはセンサ自体の回転）、ロボット１００の回転中の少なくとも一部でのセンサ信号の変化の判別（１００４）、および検出された信号の変化に少なくとも部分的に基づいた検出した障害物の識別（１００６）を含む。以下に示すように、障害物分類（１０００）は、例えば検出した障害物が柱なのか壁（もしくは壁に似た構造）なのかを識別できる。いくつかの実施形態では、このような識別は、例えば散乱エリアで方位設定を実質的に維持できるよう一つ以上の迂回行動でロボット１００を移動させることの潜在的な効率性を制御装置１０８が判断することを可能にすることで、ロボット１００の散乱エリアでの効率的な移動を容易にする。
【００６４】
障害物を示す信号の受信（１００１）は、一つ以上の近接センサ１３４Ａ−Ｄ（図４Ｂ参照）からの信号の受信を含む。しかし、いくつかの実施形態では、ロボット１００は近接センサ１３４Ａ−Ｄからの信号を受信する（１００１）前に接触（９０８）信号（障害物を示す）から遠ざけられる。ロボット１００を接触（９０８）から遠ざけることで、近接センサ１３４Ａ−Ｄからの信号の強度を改善することができる。例えば、接触（９０８）信号を受信すると、ロボット１００はまず検出した障害物から１５ｍｍから５０ｍｍ（例えば３８ｍｍ）遠ざけられる。場合によっては、ロボット１００はロボット１００の前後方向寸法の半分未満の距離だけ逆方向に動く。このようなロボット１００の逆方向への移動距離とロボット１００の前後方向寸法の比は、ロボット１００が逆方向に移動する際に障害物および／またはクリフに遭遇する可能性を低減させる。ある実施形態においては、一つ以上の近接センサ１３４Ａ−Ｄからの信号が閾値以上になるまで接触（９０８）信号から遠ざける方向にロボット１００が移動する。追加的または代替的に、ロボット１００は、通常一つ以上の近接センサ１３４Ａ−Ｄからの信号の強度がほぼ最高値になるまで、接触（９０８）信号から遠ざかる方向（例えば、前進方向の修正を加えた後退方向）に移動する。
【００６５】
センサの回転（１００２）は、一つ以上の近接センサ１３４Ａ−Ｄから受信した（１００１）センサ信号から遠ざける方向にロボット１００を回転させることを含み得る。従って、回転方向は時計回りも反時計回りもあり得る。例えば、受信した（１００１）信号がロボット１００の左側（例えば、１３０で示されている前後軸の左側）に配置された近接センサ１３４Ａに対応する信号の場合、回転（１００２）は時計回りとなる。同様に、ロボット１００の右側（例えば、図１、２に示す前後軸１０１の右側）に配置された近接センサ１３４Ｄに対応する信号を受信した（１００１）場合は反時計回りに回転する。いくつかの実施形態では、時計回りまたは反時計回りの回転（１００２）は、上記の方法でその場でロボット１００を回転させるよう（図２−３の）駆動システム１０４に指示することで達成される。ある実施形態においては、回転（１００２）は、例えば脱出行動、障害物回避行動、および／または清掃行動といった他の行動の一部である。
【００６６】
少なくともロボット１００の回転の一部での受信（１００１）センサ信号の変化の判別（１００４）は、近接センサ１３４Ａ−Ｄのうち一つから受信される信号の強度増加の判別を含む。追加的または代替的に、少なくともロボット１００の回転の一部での受信（１００１）センサ信号の変化の判別（１００４）は、受信センサ信号の強度ピークを判別することを含み得る。
【００６７】
いくつかの実施形態では、受信（１００１）センサ信号の変化の判別（１００４）は、実質瞬間的な受信（１００１）センサ信号と加工された（例えばローパスフィルタリングした）受信（１００１）センサ信号との値の比較を含む。このような瞬間的な信号と加工された信号との比較により、ノイズが多いまたは変化しやすいセンサ信号による積極的判断ミス（例えばピーク値の増加）の可能性を低減できる。
【００６８】
検出した障害物の識別（１００６）は、受信（１００１）センサ信号の変化の判別（１００４）に少なくとも部分的に基づいて障害物を分類することを含む。いくつかの実施形態では、受信（１００１）センサ信号の変化の判別（１００４）は、ロボット１００が向いている方向に対する障害物の角度幅を示し得る。例えば、受信センサ信号の変化の判別（１００４）結果が閾値以下（例えば）の角度幅を示した場合、障害物は柱であると識別される。追加的または代替的に、以下に詳細に説明するある実施形態においては、識別（１００６）は受信（１００１）センサ信号の強度増加および判別されたピークに少なくとも部分的に基づいて行われる。
【００６９】
図８は、柱として識別された障害物の周りをロボット１００に移動させるために障害物分類（１０００）が柱旋回（１２５０）ルーチンと組み合わされた、アービタ選択された動作制御行動（９１８）を示す。
【００７０】
通常、図８に示すように、方位Ｈが保存され（１４０２）、ロボット１００は保存した方位Ｈに沿って障害物まで移動し、センサ（例えば一つ以上の近接センサ１３４Ａ−Ｄ）がスキャンされる（１４０６）。以下に詳細に説明するように、障害物が柱であるかどうかが判断される（１４１０）。障害物が柱ではないと判断された（１４１０）場合、ロボット１００は壁に沿って移動する（１４１４）か、一つ以上のアービタ選択された動作制御行動に従って移動する。障害物が柱であると判断した（１４１０）場合、ロボットは柱旋回（１２５０）ルーチンに従って移動する。
【００７１】
柱旋回（１２５０）ルーチンを以下で詳細に説明する。しかし通常は、柱旋回（１２５０）ルーチンでは、保存されている（１４０２）方位と実際のロボット１００の方位との差が閾値（例えば０および／または０でない値）と等しいと判断する（１４１０）まで柱を旋回し（１４０８）、判断（１４１０）が閾値条件を満たした場合に保存されている（１４０２）方位を回復する（１４１２）。
【００７２】
図９Ａ−９Ｈは、柱であると識別された障害物をロボット１００に旋回させるための障害物分類（１０００）と柱旋回（１２５０）ルーチンの組合せにおける、ロボット１００の動作シーケンスを示している。これらの図に示されている動作シーケンスは、一番左の近接センサ１３４Ａを用いた柱の識別および反時計回りの柱の旋回を示している。ただし、当然のことながら、柱の識別および柱の旋回は一番右の近接センサ１３４Ｄを用いて反対方向の回転で行うことも可能である。
【００７３】
図９Ａに示すように、ロボット１００は柱１３３に接近するまで保存した方位Ｈに沿って移動する。例えば、ロボット１００は一つ以上の衝突センサ１３２が柱１３３を検出するまで保存した方位Ｈに沿って移動できる。追加的または代替的に、ロボット１００は一つ以上の近接センサ１３４Ａ−Ｄが柱１３３を検出するまで保存した方位Ｈに沿って移動できる。
【００７４】
図９Ｂに示すように、いくつかの実施形態では、ロボット１００は柱１３３の接近を検出すると後退（例えば保存した方位Ｈと正反対の方向）して柱１３３から離れる。ロボット１００が柱１３３から離れる動作は、近接センサ１３４Ａおよび１３４Ｄが柱１３３から十分離れ、最適な信号強度を得ることを可能にする。追加的または代替的に、このようなロボット１００が柱１３３から離れる動作は、ロボット１００が柱１３３を旋回中に柱１３３に擦ったり妨げられたりする可能性を低減することを可能にする。
【００７５】
図９Ｃに示すように、ロボット１００は実質ロボット１００の一端に配置された近接センサの方向に回転する。例えば、ロボット１００は近接センサ１３４Ａまたは近接センサ１３４Ｄ（ロボット１００の左側および右側にそれぞれ実質反対側に配置されている）の方向に回転させることができる。図９Ｃに示す例では、ロボット１００は柱１３３が検出された位置に一番近い近接センサ（近接センサ１３４Ａ）の方向に時計回りで回転している。このような、障害物に一番近い近接センサ１３４Ａまたは近接センサ１３４Ｄの方向へのロボット１００の回転は、例えば、障害物分類（１０００）中の回転量を減らすことにより柱１３３を識別する時間を短縮することを可能にする。
【００７６】
図９Ｃおよび９Ｄに示すように、ロボット１００は近接センサ１３４Ａが柱１３３を通過するために時計回りに回転する。障害物分類（１０００）ルーチンに関して以下に詳細に説明されているように、図９Ｃおよび９Ｄに示す動作の間にロボット１００が受信する信号は、ロボット１００が柱１３３の角度幅を判断することを可能にする。角度幅が閾値よりも小さい場合、障害物は柱として識別される。当然のことながら、障害物の柱としての識別は、必ずしも障害物が実際に柱である必要はない。むしろ、障害物の柱としての識別は、ここでは同等の幅を有する柱と同様に迂回できる物体の命名方法として用いられている。
【００７７】
図９Ｅに示すように、図９Ｃおよび９Ｄに示す動作を追うことにより、ロボット１００の方位と柱１３３の第一衝突ポイントでの接線方向とが平行になるようにロボット１００は反時計回りに回転する。この柱１３３に対する直角方向への調整は、近接センサ１３４Ａの既知の位置と柱１３３の角度方向に基づいて達成される。例えば、図９Ｄに示す時計回りの回転の終了時には、柱１３３に対する近接センサ１３４Ａの角度位置は判明しており、またロボット１００の形状に対する近接センサ１３４Ａの角度のオフセットも既知である。従って、ロボット１００の直角方向への調整は、方位が柱１３３との第一衝突ポイントの接線方向と平行になるようにロボット１００をその場で回転させることで達成される。例えば、ロボット１００がその場で時計回りに回転し、（図９Ｄに示すように）近接センサ１３４Ａが障害物分類（１０００）終了時にピーク信号を検出することで柱１３３の角度位置を一度判断すると、（図９Ｅに示すように）ロボット１００の方位と柱１３３の第一衝突ポイントの接線方向とが平行になるようにその場で約２０度回転させることでロボット１００の方向調整が達成される。
【００７８】
図９Ｆに示すように、ロボット１００が柱１３３に対して直角に調整されたことにより、ロボット１００は柱１３３を旋回できる。例えば、ロボット１００は反時計回りにロボット１００の半径に等しいかもしくは大きい半径で柱１３３を旋回することができる。これは、柱１３３付近を清掃するために柱１３３の周囲の少なくとも一部をロボット１００が旋回することを容易にする。
【００７９】
図９Ｇに示すように、図９Ｆで開始された旋回はロボット１００の瞬間的方位が保存した方位Ｈと一致するまで続き、その後柱１３３に対して実質接線方向である保存した方位Ｈに沿って移動する。このような柱１３３周りでの動作は、可能な限り長い清掃軌道でロボット１００を移動させることを容易にする（例えば、一定時間内に網羅できる清掃面積を最大化するため）。
【００８０】
追加的または代替的に、図９Ｈに示すように、図９Ｆで開始された旋回はロボット１００の瞬間的な方位と保存した方位Ｈの差が閾値と一致するまで続けることができる。例えば、ロボット１００はロボット１００の瞬間的な方位と保存した方位Ｈの差の絶対値が４５度になるまで柱１３３を旋回させる。この閾値条件が満たされたら、ロボット１００は保存した方位Ｈに戻るようにその場で時計回り（すなわち、旋回と反対方向）に回転する。このロボット１００の時計回りの回転は、ロボット１００の瞬間的な方位が保存した方位Ｈと一致するまで続けられる。その後は、ロボット１００は保存した方位Ｈに沿って動作を続けられる。従って、これらの実施形態では、ロボット１００の正味動作は、保存した方位Ｈを超える位置まで柱１３３の周りを旋回し、ロボット１００の瞬間的な方位が保存した方位Ｈと一致するまでその場で回転させることである。
【００８１】
図１０Ａ−１０Ｂは、白色の椅子の足と白色の壁とを見分けるために利用する障害物分類（１０００）の例を示している。この例では、障害物分類（１０００）は駆動半径が２０００ｍｍ未満（例えば、１３００ｍｍ未満）の場合に初期化され、保存した第一方位設定Ａ０および第二方位設定Ａ１の初期化を含む。
【００８２】
ロボット１００の障害物から遠ざける回転（１００２）は、ロボットが時計回りに回転しているかの判断（１１１０）を含む。ロボット１００が時計回りに回転していると判断した（１１１０）場合、（図４Ｂに示す）最左端の近接センサ１３４Ａからの信号が処理される。ロボット１００が反時計回りに回転していると判断した場合は、（図４Ｂに示す）最右端の近接センサ１３４Ｄからの信号が処理される。
【００８３】
受信センサ信号の変化の判別（１００４）は、最左端の近接センサ１３４Ａまたは最右端の近接センサ１３４Ｄから実質瞬間的センサ信号を受信すること（１１１２）を含む。瞬間的なセンサ信号は、ローパスフィルタリングした（１１１４）信号と比較できるようにするためにローパスフィルタリングする。以下に詳細に説明するように、近接する障害物の角度幅の推測は、受信した（１１１２）信号とローパスフィルタリングした（１１１４）信号との比較に少なくとも部分的に基づいて行われる。
【００８４】
保存した第一方位設定Ａ０が初期値であると判断される（１１１６）と、制御装置１０８は、近接センサ１３４Ａまたは１３４Ｄからのセンサ信号が上昇端１１５０ａ、ｂにあるかを監視する（１１２２）。上昇端（例えば図１０Ｂにおける上昇端１１５０ａ、ｂ）の監視（１１２２）は、受信した（１１１２）信号とローパスフィルタリングした（１１１４）信号の差を閾値（例えば０でない値）と比較することを含む。差が閾値よりも大きい場合、第一方位設定Ａ０は回転しているロボット１００の現在の方位に設定される（１１２４）。現在の方位は、例えばジャイロスコープ１１９および／または一つ以上の車輪エンコーダ１２１ａ、ｂ、ｃ（図３参照）から判断される。
【００８５】
保存した第一方位設定Ａ０が初期値と異なる値であると判断される（１１１６）と、制御装置１０８は、近接センサ１３４Ａまたは１３４Ｄからのセンサ信号が屈曲点（例えば、図１０Ｂの屈曲点１１５２ａ、ｂ）にあるかどうかを監視する（１１１８）。屈曲点１１５２ａ、ｂの監視は、受信した（１１１２）信号とローパスフィルタリングした（１１１４）信号との差を閾値と比較することを含む。差が閾値よりも小さい場合、第二方位設定Ａ１を回転しているロボット１００の現在の方位に設定する（１１２０）。
【００８６】
いくつかの実施形態では、上昇端の監視（１１２２）に用いる閾値は屈曲点の監視（１１１８）に用いる閾値と等しい。これらの閾値は、上昇端および／または屈曲点の積極的誤判断の可能性を低減するために０より大きい値に設定しても良い。いくつかの実施形態では、一方または両方の閾値が、既知の角度幅を有する物体に向けられた近接センサ１３４Ａまたは１３４Ｄから得られる瞬間的なセンサ信号およびローパスフィルタリングした（１１１４）センサ信号を受信する（１１１２）処理を含む、キャリブレーション処理の一部として設定されている。
【００８７】
検出した障害物の識別（１００６）は、検出した障害物の角度幅の算出（１１２６）、検出した障害物の算出された（１１２６）角度幅と閾値との比較（１１２８）、および検出した障害物の算出された（１１２６）角度幅が閾値より小さい場合に障害物を柱（あるいは、より一般的には、柱の角度幅の特徴を有する物体）であると判断する（１１３０）ことを含む。検出した障害物の算出された（１１２６）角度幅が閾値以上の場合、障害物は壁（または類似の幅が広い物体）であると判断される（１１３２）。
【００８８】
検出された障害物の角度幅の算出（１１２６）は、保存した第一および第二方位設定Ａ０、Ａ１の差の絶対値に少なくとも部分的に依存している。保存した第一および第二方位設定Ａ０、Ａ１の差の絶対値は、障害物の角度幅の半分である。当然のことながら、この角度幅の半分の値は、障害物の全角度幅の代表値として用いることができる。従って、特に指定がない限り、角度幅という表現は障害物の全角度幅および角度幅の半分の値の両方に用いる。
【００８９】
算出した（１１２６）角度幅との比較（１１２８）に用いられる閾値は、受信（１００１）センサ信号の強度に少なくとも部分的に基づいて設定し得る。例えば、受信（１００１）センサ信号が弱い場合、ロボット１００が弱い信号を基にした柱ナビゲーションやその他の迂回行動を実行する可能性を低減するために閾値を高く設定しても良い。いくつかの実施形態では、比較（１１２８）に用いられる閾値は、算出された障害物の角度幅に少なくとも部分的に依存し得る。
【００９０】
図１０Ｂは、受信（１００１）センサ信号を白色椅子の足１１５１および白色壁１１５３の角度の関数として示している。白色椅子の足１１５１に対応する受信（１００１）信号においては、上昇端１１５０ａは約１５度にあり、屈曲点１１５２ａは約２０度にあるため、算出される（１１２６）角度幅は５度となる。白色壁１１５３に対応する受信（１００１）信号においては、上昇端１１５０ｂは約１３度にあり、屈曲点１１５２ｂは約５０度にあるため、算出される（１１２６）角度幅は３７度となる。従って、この例では、柱（例えば椅子の足）と壁を判別するためには、角度幅との比較（１１２８）に用いる閾値は５度から３７度の間で設定し得る。
【００９１】
いくつかの実施形態では、障害物が壁であると判断した（１１３２）場合、ロボット１００の回転半径を変化させることで壁からほぼ一定の距離を保ちながら壁に沿ってロボット１００を移動させる、壁追従行動を用いることができる。例えば、このような回転半径の変化は、初めにロボット１００を検出した障害物から遠ざける第一方位に障害物が検出されなくなるまで回転させ、次に検出された障害物に向かう第二方位にロボット１００を回転させることを含み得る。この壁追従行動は、米国特許７３８８３４３号「METHOD AND SYSTEM FOR MULTI-MODE COVERAGE FOR AN AUTONOMOUS ROBOT」で開示されており、参照によりそれらの全ての内容が本明細書に組み込まれるものとする。
【００９２】
ある実施形態においては、障害物が壁であると判断した（１１３２）場合、清掃面の清掃を継続するためにロボット１００を壁から遠ざけるバウンス行動を用いることができる。このバウンス行動は、米国特許７３８８３４３号「METHOD AND SYSTEM FOR MULTI-MODE COVERAGE FOR AN AUTONOMOUS ROBOT」で開示されており、参照によりそれらの全ての内容が本明細書に組み込まれるものとする。
【００９３】
この形態のセンササブシステム５０の動作や、静止した物体や障害物との接触や接近を検出する際に有用なセンサの代替形態に関する詳細は、２００２年１月２４日に出願された同時係属中の米国特許出願１０／０５６８０４「METHOD AND SYSTEM FOR MULTI-MODE COVERAGE FOR AN AUTONOMOUS ROBOT」に記載されている。
【００９４】
障害物が柱であると判断した（１１３０）場合、ロボットは一回もしくは複数回の柱ナビゲーション行動を実行することにより柱の周りの移動を試みることができる。以下に詳細に説明するように、これらの柱ナビゲーション行動は、判別した障害物の周りを移動する柱旋回行動と障害物間の狭い隙間を移動するための柱回避行動を含む。
【００９５】
図１１はロボット１００に搭載された可動センサを用いた障害物分類（１０００）の一例を示している。この例では、駆動半径が約２０００ｍｍ未満（例えば約１３００ｍｍ未満）になると障害物分類（１０００）が開始され、保存した第一方位設定Ａ０および第二方位設定Ａ１を０に初期化することを含む。
【００９６】
障害物から遠ざける方向へのセンサの回転（１００２）は、ロボット１００に可動に保持されているセンサ（例えば、音響センサおよび／またはカメラ、スキャナ、赤外線、レーザーといった視覚センサ）を動かすこと（１１１０′）を含む。例えば、一つ以上の近接センサ１３４Ａは、視野（例えば、ロボット１００の前方の視野）を広げるためにロボット１００に対して可動な視覚センサであっても良い。いくつかの実施形態では、視覚センサの動き（１１１０′）は、ロボット１００の前方の保存した方位Ｈを１８０度見渡すことを含む。このような視覚センサの回転は、ロボット１００が静止している状態で実行することが可能であり、障害物分類（１０００）に要する時間を短縮することができる。
【００９７】
センサ信号の変化の判別（１００４）は、視覚センサからの信号（例えば映像信号）の受信（１１１３）およびそれらの信号から特徴を抽出すること（１１１５）を含む。例えば、視覚センサがカメラであるある実施形態においては、ハフ（Ｈｏｕｇｈ）変換やその他の分類機を使用することで、カメラにより取得される信号（映像）から特徴を抽出すること（１１１５）ができる。いくつかの実施形態では、視覚センサから受信した（１１１３）信号から抽出された（１１１５）特徴は、障害物のエッジおよび障害物の幅方向のほぼ中心に該当する屈曲点の閾値判別を含む。閾値に該当する視覚センサの角度はＡ０に設定される（１１１７）。同様に、屈曲点に該当する視覚センサの角度はＡ１に設定される（１１１９）。
【００９８】
この実施形態において、受信センサ信号の変化に少なくとも部分的に基づいて検出した障害物の識別（１００６）は、図１０Ａ−１０Ｂに関連して上述した方法で達成される。
【００９９】
図１２−１４において、柱ナビゲーション（１２００）は、ロボット１００の柱旋回（１２５０）および柱旋回（１２５０）によりロボット１００が障害物の周りを移動したかを評価すること（１２５２）を含む。柱旋回（１２５０）に失敗した場合、柱旋回（１２５０）を再試行するか判断する（１２５４）。ロボットが狭い隙間と予想される近くにあると判断されると、柱回避（１３００）で狭い隙間の通過を試みる。ロボット１００が狭い隙間を通過できたか判断するために柱回避（１３００）が成功したか評価される（１２５８）。柱回避（１３００）に失敗した場合、柱回避（１３００）を再試行するか判断する（１２６０）。
【０１００】
いくつかの実施形態では、再試行の判断（１２５４）および（１２６０）は、試行回数が一定の回数を超えているかどうかに基づく。ある実施形態においては、再試行の判断（１２５４）および（１２６０）は、角度幅が大きい障害物に対してより多く柱旋回（１２５０）および／または柱回避（１３００）を実行させるために、柱の角度幅に比例した閾値を試行回数が超えているかに基づいている。追加的または代替的に、再試行の判断（１２５４）および（１２６０）は、ロボット１００が清掃モードの実行を継続している時間に応じて減少する閾値を試行回数が超えているかに基づいている。
【０１０１】
図９Ａ−９Ｈに関して上述したように、柱旋回（１２５０）はロボット１００が方位設定を回復できるように、柱として識別された障害物の周りをロボット１００に移動させることができ、いくつかの例では、障害物との第一衝突時のロボット１００の速度設定を回復することができる。柱旋回（１２５０）は、柱との第一衝突点における柱の接線方向に対してロボットの進行方法が平行になるよう調整するための回転（１２６２）と、調整するための回転（１２６２）に対して反対方向へ旋回させること（１２６４）と、ロボット１００の方位が閾値と等しいかを判断すること（１２６６）を含む。ロボット１００の方位が閾値と異なると判断され（１２６６）、柱を旋回する試行回数が最大回数より少ないか等しいと判断される（１２６８）と、旋回半径は徐々に増加する。ロボット１００の方位が閾値と異なると判断され（１２６６）、柱旋回の試行回数が最大回数より多いと判断される（１２６８）と、ロボット１００は大きい半径で旋回させられる。
【０１０２】
柱１３３との第一衝突点における接線方向に対してロボットの進行方法が平行になるよう調整するための回転（１２６２）は、図９Ａ−９Ｂに関して上述したロボット１００の回転を含む。
【０１０３】
調整するための回転（１２６２）に対して反対方向へ旋回させること（１２６４）は、検出した障害物に向かってロボットを回転させることを含む。例えば、ロボット１００の近接センサ１３４Ａ（図４Ｂ）が障害物を検出した場合、旋回（１２６４）はロボット１００を上方から見て反時計回りのロボット１００の回転を含む。ロボット１００がほぼ円筒形である例では、旋回（１２６４）はロボット１００の半径と等しいか若干大きい（例えば１．８倍）半径でロボットを旋回させることを含み得る。追加的または代替的に、旋回（１２６４）は判別された障害物の角度幅に少なくとも部分的に依存した半径でロボット１００を旋回させることを含み得る。例えば、判別された障害物の角度幅に比例した半径でロボット１００を旋回させることができる。
【０１０４】
いくつかの実施形態では、ロボット１００の方位が閾値と等しいかを判断すること（１２６６）は、ロボット１００の方位が保存した方位と等しいかを判別することを含み得る。これらの実施形態では、図９Ｆ−９Ｇに示すように、ロボット１００の瞬間的な方位が保存した方位Ｈと等しくなるまで柱１３３の周りを旋回し、ロボット１００の旋回が中断され、衝突前の初期の方位と平行な保存した方位Ｈにそってロボット１００が移動する。このようなロボット１００の柱１３３に対する迂回動作により、ロボット１００による柱１３３付近の清掃を可能にしながらロボット１００が柱１３３を通過するのに要する時間を低減することができる。
【０１０５】
ある実施形態においては、ロボット１００の方位が閾値と等しいかの判断（１２６６）は、保存した方位Ｈと旋回中のロボット１００の瞬間的方位の差が閾値（例えば±４５度）と等しいかを判断することを含み得る。これらの実施形態では、図９Ｆ−９Ｈに示すように、ロボット１００の瞬間的方位が保存した方位Ｈに対して閾値（時計回りと反時計回りの両方に対応可能な絶対値）分だけ異なる時点までロボット１００に柱１３３を旋回させ、ロボット１００の旋回を中断し、ロボット１００の瞬間的な方位が保存した方位Ｈと一致するまで旋回方向と反対方向（図９Ｈ）にロボット１００を回転させる。ロボット１００はその後保存した方位Ｈに沿って移動を続ける。このようなロボット１００の柱１３３に対する迂回動作は、例えば柱１３３の周囲のより広い範囲をロボット１００に移動させることで、柱１３３付近のロボット１００のカバレッジを向上させる。
【０１０６】
ロボット１００が柱の旋回を試みる際にどの衝突センサ１３２が反応したか（例えば、どの衝突センサ１３２が、ロボットが初期の方位を回復するのを妨げた衝突に対応するか）判別しながら（１２７２）、徐々に旋回半径を増加させていく（１２７０）。例えば、図１３に示す実施形態では、判別（１２７２）は旋回側の衝突センサ１３２、非旋回側の衝突センサ１３２、および中央衝突センサ１３２の間でなされる。
【０１０７】
判別された衝突センサ１３２がロボット１００の旋回側（例えば、反時計回りに旋回中のロボット１００の左側、もしくは時計回りに旋回中のロボット１００の右側）の場合、旋回半径を増加させる（１２７４）。例えば、一回の試行につき１０ｍｍから１００ｍｍ旋回半径を増加させても良い。追加的または代替的に、角度幅が大きい柱に対する旋回半径の増加（１２７４）が、角度幅が小さい柱の場合よりも大きくなるよう、検出された柱の角度幅に比例した増加幅で試行ごとに旋回半径を増加させても良い。
【０１０８】
判別された衝突センサ１３２がロボット１００の非旋回側（例えば、反時計回りに旋回中のロボット１００の右側、もしくは時計回りに旋回中のロボット１００の左側）の場合、柱回避トリガがセットされる（１２７６）。ロボット１００が柱旋回（１２５０）による柱の周りの移動を失敗した場合、以下に説明するように、この柱回避トリガがロボット１００に柱回避（１３００）を実行させる。
【０１０９】
判別された衝突センサ１３２がロボット１００の中央に位置する場合、ロボット１００が大きい半径で旋回する前にもう一回柱の旋回を試みるよう、試行回数は最大試行回数に設定される（１２７８）。
【０１１０】
ロボット１００を大きい半径で旋回させること（１２８０）で、柱の旋回試行の失敗によりロボット１００が消費する時間とエネルギーを削減することができる。例えば、ロボット１００を大きい半径で旋回させること（１２８０）により、不規則な形状の柱を通過することを容易にする。いくつかの実施形態では、ロボット１００は半径約１００ｍｍから約５００ｍｍ（例えば約１５０ｍｍから約３５０ｍｍ）の円弧軌道を旋回する（１２８０）。ある実施形態においては、ロボット１００は大きい半径で移動する前に方向転換する（例えば、約１００度から約１８０度）。ロボット１００が大きい半径で移動中に衝突を検出すると柱旋回（１２５０）は終了し、いくつかの実施形態では、その他のアービタ選択された動作制御行動が開始される。これはロボット１００が障害物の周りを移動する際の効率を向上させる。ロボット１００がある一定時間以上（例えば１秒から５秒）大きい半径での旋回（１２８０）を続けると、柱旋回（１２５０）が終了する。大きい半径の円弧での移動がタイムアウトする頃には、ロボット１００は障害物の反対側に移動している可能性が高く、および／または他のアービタ選択された行動が、ロボット１００を初期の方位設定まで移動させるためにより有効であり得る。
【０１１１】
図１４において、柱回避（１３００）行動は、ロボット１００に二つの障害物の隙間を通過させるために、方向を交互に変化し、徐々に小さくなる旋回の連続でロボット１００を操縦することを含む。このような操縦は、ロボット１００が隙間を通過して初期の方向設定（例えば、障害物に接触する前の方向設定）を回復することを可能にする。障害物間の隙間は、清掃面に対して平行方向におけるロボット１００の最大寸法とほぼ等しくても良い。
【０１１２】
柱回避（１３００）行動は、変数の初期化（１３０２）と、隙間を通過する試行回数が最大試行回数に達したかの判断（１３０３）と、最大試行回数に達した場合（または最大時間が経過した場合）にロボット１００を大きい半径で旋回させること（１３０４）と、最大試行回数に達していない場合にロボット１００に隙間を迂回させること（１３０６）を含む。
【０１１３】
初期化（１３０２）は、障害物を柱旋回（１２５０）中に非旋回側での衝突により柱回避トリガが設定された（１２７６）か（図１３参照）を判断することを含む。このような非旋回側での衝突とそれによる柱回避トリガは、ロボット１００が近接した複数の障害物に遭遇していることを示している。柱回避トリガが設定されない場合、柱回避（１３００）行動を終了することができる。追加的または代替的に、迂回変数の初期化（１３０２）は、柱回避の試行回数、迂回動作のための旋回半径Ｒ、およびロボット１００の初期方位のうち一つ以上の変数の設定を含む。いくつかの例では、ロボット１００が清掃モードを継続してきた時間が長くなるほど、柱回避の最大試行回数は減少する。
【０１１４】
最大試行回数に達した場合における大きい半径でのロボット１００の旋回（１３０４）は、柱旋回（１２５０）（図１０）に関連して上記で説明した旋回（１２８０）に類似している。
【０１１５】
迂回（１３０６）は、衝突の検出と、右および／または中央の衝突検出（１３０８）時のロボット１００の旋回半径Ｒでの反時計回りの旋回（１３１０）と、左の衝突検出（１３０８）時のロボット１００の旋回半径Ｒでの反時計回りの旋回（１３１２）と、旋回半径Ｒの減少（１３１４）と、直進移動（１３１６）を含む。このような衝突の検出（１３０８）に応じた旋回半径Ｒの段階的減少（１３１４）は、最大試行回数に達したと判断する（１３０３）か、ロボット１００が自由に前進可能（１３１８）になり方位Ｈに戻る円弧（１３２０）により方位Ｈに達するまで移動するか、衝突を検出するまで続けられる。最大試行回数を超えたと判断する（１３０３）と、ロボット１００は方位Ｈと反対のランダム方位に回転し、所定の時間または距離、もしくは衝突が検出されるまで円弧軌道を前進する。
【０１１６】
いくつかの実施形態では、旋回半径Ｒの減少（１３１４）は、一定の角度で半径Ｒを減少させることを含み得る。ある実施形態においては、旋回半径Ｒの減少（１３１４）は、繰り返す毎に小さくなる減少量で旋回半径Ｒを減少させることを含み得る。
【０１１７】
図１５において、被拘束ロボット仮想センサ（１３５０）はロボット１００が狭いエリアで立ち往生していないかを検出できる。例えば、被拘束ロボット仮想センサ（１３５０）は、ロボット１００が脱出困難なエリアに誘導されたか（例えば、ロボット１００が実質そのエリアに立ち往生しているか）を検出することができる。以下に詳細に説明するように、被拘束ロボット仮想センサ（１３５０）は、ロボット１００を可変行動モードに切り替えることで立ち往生状態から脱出させることができる。このように、いくつかの例では、被拘束ロボット仮想センサ（１３５０）は、例えばロボット１００が立ち往生した状態のままでいる可能性を低減することで、ロボットの清掃面におけるカバレッジ効率を向上させることができる。
【０１１８】
被拘束ロボット仮想センサ（１３５０）は、ロボット１００を第一行動モードで移動するよう指示し（１３５２）、ロボット１００の第一行動モードでの動作を監視し、ロボット１００が立ち往生しているかを判断し（１３５６）、ロボット１００が立ち往生していると判断する（１３５６）と第二行動モードを開始する（１３５８）ことを含む。いくつかの実施形態では、被拘束ロボット仮想センサ（１３５０）はロボット１００が散乱エリアにいると判断する（例えば、図４Ａ−Ｂおよび図５における近接センサ１３４Ａ−Ｄおよび／または衝突センサ１３２から一つ以上の信号を受信する）と起動する。
【０１１９】
ロボット１００を第一行動モードで移動させる指示（１３５２）は、ロボットに柱旋回（１２５０）および／または柱回避１３００行動（図１３−１４参照）で移動させる指示を含む。追加的または代替的に、ロボット１００を第一行動モードで移動させる指示（１３５２）は、ロボット１００を一連の行動モードで移動するよう指示することを含み得る。追加的または代替的に、第一行動モードおよび一連の行動モードは、バウンスモード、障害物追従モード、およびスポットカバレッジモードのうち一つ以上の行動を含み得る。
【０１２０】
第一行動モードでのロボット１００の動作の監視（１３５４）は、ロボット１００の方位およびロボット１００が移動した直線距離の測定を含む。この監視（１３５４）は、一つの行動モードおよび／または一連の行動モードを実行している間実行することができる。いくつかの実施形態では、測定されたロボット１００の方位は、ジャイロスコープ１１９および／または一つ以上の車輪エンコーダ１２１ａ、ｂ、ｃによる測定を含む。
【０１２１】
ロボット１００が立ち往生しているという判断（１３５６）は、ロボット１００の動作の監視（１３５４）に３６０度以上の方向転換および閾値未満の直線移動距離（例えば、約６ｍ未満、約４ｍ未満、約２ｍ未満）が含まれると判断することを含む。この方向転換および直線移動距離は、ロボット１００が狭いエリアに立ち往生していることを示す。例えば、ロボット１００の直線移動距離は一つ以上の車輪エンコーダ１２１ａ、ｂ、ｃにより測定することができる。
【０１２２】
ロボット１００が立ち往生していると判断する（１３５６）と、第二行動モードが開始される（１３５８）。例えば、第二行動モードは脱出モードを含み得る。追加的または代替的に、第二行動モードの開始（１３５８）は、アラーム（例えば、可聴アラームや視覚アラーム）および／またはロボット１００の電源を切ることを含み得る。
【０１２３】
いくつかの実施形態では、ロボット１００が立ち往生しているという判断は、接触した障害物間の距離の判断に少なくとも部分的に依存してローカルエリアマップを生成することを含む。例えば、ローカルエリアマップは、第一障害物との最初の接触時のロボット１００の方位を保存し、第二障害物との最初の接触で、推測航法により第一障害物と第二障害物の間の距離を判断する。推測航法に用いられる速度や距離の情報には、一つ以上の車輪エンコーダ１２１ａ、ｂ、ｃからの走行距離計測情報および／または駆動アセンブリ１１２、１１４からのモータ出力情報を含み得る。
【０１２４】
幾つかの実施形態が説明されたが、様々な変更形態が以下の特許請求の趣旨および範囲から逸脱することなく実施され得ることが理解される。したがって、他の実施形態は以下の特許請求の範囲内にある。
【図１】
0006030727.tif 000002
【図２】
0006030727.tif 000003
【図３】
0006030727.tif 000004
【図４Ａ】
0006030727.tif 000005
【図４Ｂ】
0006030727.tif 000006
【図５】
0006030727.tif 000007
【図６Ａ】
0006030727.tif 000008
【図６Ｂ】
0006030727.tif 000009
【図６Ｃ】
0006030727.tif 000010
【図７】
0006030727.tif 000011
【図８】
0006030727.tif 000012
【図９Ａ】
0006030727.tif 000013
【図９Ｂ】
0006030727.tif 000014
【図９Ｃ】
0006030727.tif 000015
【図９Ｄ】
0006030727.tif 000016
【図９Ｅ】
0006030727.tif 000017
【図９Ｆ】
0006030727.tif 000018
【図９Ｇ】
0006030727.tif 000019
【図９Ｈ】
0006030727.tif 000020
【図１０Ａ】
0006030727.tif 000021
【図１０Ｂ】
0006030727.tif 000022
【図１１】
0006030727.tif 000023
【図１２】
0006030727.tif 000024
【図１３】
0006030727.tif 000025
【図１４】
0006030727.tif 000026
【図１５】
0006030727.tif 000027