(57)【要約】  ロボット（１００）は、前方及び後方部分（１１２、１１４）を有するロボット本体（１１０）と、ソナーシステム（５３０）と、駆動システム（１２０）と、制御システム（２１０）とを含む。ソナーシステムは、ロボット本体上に配置され、かつロボット本体の前面（１１３）に沿って配置されたエミッタ（５３０ｅｊ−５３０ｅ；ｊ）のアレイと、レシーバ（５３０ｉｖ  ５３０ｒ４）のアレイとを有する。エミッタは、音波（５３２）を放出し、レシーバは、音波の反射を受信する。エミッタのアレイは、奇数個のエミッタを含み、レシーバのアレイは、偶数個のレシーバを含む。駆動システムは、ロボット本体を支持し、かつ経路（６０）に沿って床面（１０）を横切ってロボットを操作する。制御システムは、駆動システム及びソナーシステムと通信する。制御システムは、レシーバのアレイから受信したセンサ信号を処理する。【選択図】      図１
2017503267.tif 000002
【特許請求の範囲】
【請求項１】
自律移動ロボット（１００）であって、
前方駆動方向（Ｆ）を定め、かつ前記前方駆動方向（Ｆ）に対する前方及び後方部分（１１２、１１４）を有するロボット本体（１１０）であって、前記前方部分（１１２）が、前記ロボット本体（１１０）の周囲直径に沿って位置決めされたコーナ（１１３ａ、１１３ｂ）によって境界付けられた実質的に直線の前面（１１３）を有する、前記ロボット本体（１１０）と、
前記ロボット本体（１１０）を支持し、かつ床面（１０）を横切って前記ロボット（１００）を操作するように構成された駆動システム（１２０）と、
前記前面（１１３）の長さに沿って配置されたソナーエミッタ（５３０ｅ1−５３０ｅ3）のアレイとソナーレシーバ（５３０ｒ1−５３０ｒ4）のアレイとを含み、前記ロボット本体（１１０）上に配置されたソナーシステム（５３０）であって、各エミッタ（５３０ｅ、５３０ｅ1、５３０ｅ2、５３０ｅ3）が、レシーバ（５３０ｒ、５３０ｒ1、５３０ｒ2、５３０ｒ3、５３０ｒ4）に隣接して配置され、かつ音波（５３２）を放出し、各レシーバ（５３０ｒ、５３０ｒ1、５３０ｒ2、５３０ｒ3、５３０ｒ4）が、音波反射（５３２）を受信することができ、各エミッタ及びレシーバ対（５３０ｅ、５３０ｒ）が、前記前面（１１３）から壁（２４、２４ａ、２４ｂ）までの距離（ＷD）を測定する、前記ソナーシステム（５３０）と、
前記ロボット本体（１１０）の側面上に配置され、かつ前記前面（１１３）の少なくとも１つのコーナ（１１３ａ、１３３ｂ）に隣接して位置決めされた光学側面距離センサ（５３５）と、
前記ロボット本体（１１０）によって支持され、かつ前記駆動システム（１２０）、前記ソナーシステム（５３０）、及び前記側面距離センサ（５３５）と通信する制御システム（２１０）と、
を含み、
前記制御システム（２１０）は、
前記ソナーレシーバ（５３０ｒ1−５３０ｒ4）のアレイから受信したセンサ信号に基づいて前記壁（２４、２４ａ、２４ｂ）に対する前記前面（１１３）の接近の角度（α、θ）を決定し、
前記前面（１１３）のコーナ（１１３ａ、１１３ｂ）から前記壁（２４、２４ａ、２４ｂ）までの最短距離として測定されるコーナ距離（ＷD）について、前記壁（２４、２４ａ、２４ｂ）までの最も近いコーナ距離（ＷD）を決定し、かつ
前記駆動システム（１２０）に前記ロボット本体（１１０）を旋回させて前記壁（２４、２４ａ、２４ｂ）との衝突を回避させ、かつ、前記ロボット本体（１１０）が壁追従距離閾値（ＷT）で前記壁（２４、２４ａ、２４ｂ）に隣接して進行する状態で、前記前方駆動方向（Ｆ）を前記壁（２４、２４ａ、２４ｂ）と平行に整合させるようにする、
ロボット（１００）。
【請求項２】
前記ソナーエミッタ（５３０ｅ1−５３０ｅ3）のアレイは、３つのソナーエミッタ（５３０ｅ、５３０ｅ1、５３０ｅ2、５３０ｅ3）を含み、前記ソナーレシーバ（５３０ｒ1−５３０ｒ4）のアレイは、４つのソナーレシーバ（５３０ｒ、５３０ｒ1、５３０ｒ2、５３０ｒ3、５３０ｒ4）を含み、前記ソナーエミッタ（５３０ｅ、５３０ｅ1、５３０ｅ2、５３０ｅ3）及び前記ソナーレシーバ（５３０ｒ、５３０ｒ1、５３０ｒ2、５３０ｒ3、５３０ｒ4）は、交替するパターンに配置される、請求項１に記載のロボット（１００）。
【請求項３】
前記制御システム（２１０）は、各放出された音波（５３２）を分離する時間閾値を有するソナー放出サイクルを実行する、請求項１に記載のロボット（１００）。
【請求項４】
前記時間閾値は１５ミリ秒であり、及び／又は、前記ソナー放出サイクルは４５ミリ秒のサイクル完了期間を有する、請求項３に記載のロボット（１００）。
【請求項５】
前記ロボット本体（１１０）の前記前方部分（１１２）上に配置され、かつ前記コントローラ（１５０）と通信するバンプセンサ（５４０）を更に含み、
前記バンプセンサ（５４０）の起動が、前記ソナーシステム（５３０）によって感知された前記壁（２４、２４ａ、２４ｂ）の引っ込んだ部分（２４ｂ）よりも前記ロボット本体（１１０）に近い壁（２４、２４ａ、２４ｂ）の突出部（２５）の存在を示す、請求項１に記載のロボット（１００）。
【請求項６】
前記制御システム（２１０）は、前記ロボット本体（１１０）から前記壁（２４、２４ａ、２４ｂ）の前記引っ込んだ部分（２４ｂ）までの引っ込んだ壁（２４ｂ）における追従距離に対応する信号値閾値を較正し、前記ロボット（１００）が前記壁追従距離閾値（ＷT）に等しい距離（ＷD）で前記壁（２４、２４ａ、２４ｂ）におけるより近い突出部（２５）に隣接して進行するようにする、請求項５に記載のロボット（１００）。
【請求項７】
前記ソナーシステム（５３０）が最も近い障害物（１８、１８ａ、１８ｂ、２４）を検出した時に、前記制御システム（２１０）は、前記ロボット（１００）に対する前記最も近い検出された障害物（１８、１８ａ、１８ｂ、２４）の位置に関わらず、前記ロボット（１００）が距離閾値を進行するまで、旋回方向を維持する方向固定駆動無効化指令を実行する、請求項１に記載の方法（１００）。
【請求項８】
前記前面（１１３）の前記コーナ（１１３ａ、１１３ｂ）のうちの１つに隣接して前記ロボット本体（１１０）上に配置され、かつ前記ロボット本体（１１０）の周囲を超えて延びる側面ブラシ（１２８）を更に含む、請求項１に記載のロボット（１００）。
【請求項９】
前記ロボット（１００）の前記前方部分（１１２）は実質的に矩形形状を有し、前記ロボット（１００）の前記後方部分（１１４）は実質的に円形形状を有する、請求項１に記載のロボット（１００）。
【請求項１０】
前記ロボット本体（１１０）上に配置され、かつ前記ロボット（１００）の下の床までの距離を測定するように配列された段差センサ（５２０、５２０ａ−５２０ｄ）を更に含み、
前記制御システム（２１０）は、感知された段差の指示を前記段差センサ（５２０、５２０ａ−５２０ｄ）から受信することに応答して、前記駆動システム（１２０）に前記ロボット本体（１１０）を逆方向に駆動させるようにする、及び／又は旋回させるようにする、請求項１に記載のロボット（１００）。
【請求項１１】
自律移動ロボット（１００）を作動させる方法（１４００）であって、
前記ロボット（１００）のロボット本体（１１０）の前方部分（１１２）の前面（１１３）の長さに沿って配置されたソナーエミッタ（５３０ｅ１−５３０ｅ３）のアレイとソナーレシーバ（５３０ｒ1−５３０ｒ4）のアレイとを含むソナーシステム（５３０）から音波（５３２）を放出する段階であって、前記前方部分（１１２）が、前記ロボット本体（１１０）の周囲直径に沿って位置決めされたコーナ（１１３ａ、１１３ｂ）によって境界付けられた実質的に直線の前面（１１３）を有し、各エミッタ（５３０ｅ、５３０ｅ1、５３０ｅ2、５３０ｅ3）が、レシーバ（５３０ｒ、５３０ｒ3、５３０ｒ2、５３０ｒ3、５３０ｒ4）に隣接して配置され、かつ音波（５３２）を放出し、各レシーバ（５３０ｒ、５３０ｒ1、５３０ｒ2、５３０ｒ3、５３０ｒ4）が、音波反射（５３２）を受信することができ、各エミッタ及びレシーバ対（５３０ｅ、５３０ｒ）が、前記前面（１１３）から壁（２４、２４ａ、２４ｂ）までの距離（ＷD）を測定する、前記放出する段階と、
コンピュータプロセッサ（１５２）を使用して、前記ソナーレシーバ（５３０ｒ1−５３０ｒ4）のアレイから受信したセンサ信号に基づいて前記壁（２４、２４ａ、２４ｂ）に対する前記前面（１１３）の接近の角度（α、θ）を決定する段階と、
前記コンピュータプロセッサ（１５２）を使用して、前記前面（１１３）のコーナ（１１３ａ、１１３ｂ）から前記壁（２４、２４ａ、２４ｂ）までの最短距離として測定されるコーナ距離（ＷD）について、前記壁（２４、２４ａ、２４ｂ）までの最も近いコーナ距離（ＷD）を決定する段階と、
前記ロボット本体（１１０）を旋回させて前記壁（２４、２４ａ、２４ｂ）との衝突を回避する段階と、
前記ロボット本体（１１０）が壁追従距離閾値（ＷT）だけ前記壁（２４、２４ａ、２４ｂ）からオフセットした状態で、前記前方駆動方向（Ｆ）を前記壁（２４、２４ａ、２４ｂ）と平行に整合させる段階と、を含む、方法（１４００）。
【請求項１２】
各放出された音波（５３２）を分離する時間閾値を有するソナー放出サイクルを実行する段階を更に含む、請求項１１に記載の方法（１４００）。
【請求項１３】
前記時間閾値は１５ミリ秒であり、及び／又は、前記ソナー放出サイクルは４５ミリ秒のサイクル完了期間を有する、請求項１２に記載の方法（１４００）。
【請求項１４】
前記ロボット本体（１１０）の側面上に配置され、かつ前記前面（１１３）の少なくとも１つのコーナ（１１３ａ、１３３ｂ）に隣接して位置決めされた側面距離センサ（５３５）を使用して、前記壁（２４、２４ａ、２４ｂ）までの側面距離を繰返し測定する段階と、
前記壁追従距離閾値（ＷT）を維持しながら前記壁（２４、２４ａ、２４ｂ）と実質的に平行な経路（６０）に沿って駆動する段階と、を更に含む、請求項１１に記載の方法（１４００）。
【請求項１５】
前記壁（２４、２４ａ、２４ｂ）の引っ込んだ部分（２４ｂ）よりも前記ロボット本体（１１０）に近い前記壁（２４、２４ａ、２４ｂ）の突出部（２５）の存在の指示を受信する段階と、
前記ロボット本体（１１０）から前記壁（２４、２４ａ、２４ｂ）の前記引っ込んだ部分（２４ｂ）までの追従距離に対応する信号値閾値を較正し、前記壁追従距離閾値に等しい距離で前記壁（２４、２４ａ、２４ｂ）におけるより近い突出部（２５）に隣接して進行させるようにする段階と、を更に含む、請求項１１に記載の方法（１４００）。
【請求項１６】
最も近い障害物（１８、１８ａ、１８ｂ、２４）の検出を受信することに応答して、前記ロボット（１００）に対する最も近い検出された前記障害物（１８、１８ａ、１８ｂ、２４）の位置に関わらず、前記ロボット（１００）が距離閾値を進行するまで旋回方向を維持する方向固定駆動無効化指令を実行する段階を更に含む、請求項１１に記載の方法（１４００）。
【請求項１７】
前記壁追従距離閾値は、前記ロボット本体（１１０）上に配置され、かつ前記ロボット本体（１１０）の周囲を超えて延びる側面ブラシ（１２８）が前記壁（２４、２４ａ、２４ｂ）に接触することを可能にする、請求項１１に記載の方法（１４００）。
【請求項１８】
逆方向に旋回及び／又は駆動しながら、前記ロボット本体（１１０）上に配置された少なくとも１つの段差センサ（５２０、５２０ａ−５２０ｄ）を使用して、前記ロボット（１００）の下の床までの距離を測定する段階を更に含む、請求項１１に記載の方法（１４００）。
【請求項１９】
前記段差センサ（５２０、５２０ａ−５２０ｄ）が段差を検出した時に、逆方向に駆動する及び／又は方向転換する段階を更に含む、請求項１８に記載の方法（１４００）。
【請求項２０】
前記ロボット（１００）の前記前方部分（１１２）は実質的に矩形形状を有し、前記ロボット（１００）の後方部分（１１４）は実質的に円形形状を有する、請求項１１に記載の方法（１４００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の開示は、自律移動ロボットに関する。
【背景技術】
【０００２】
ロボットは、一般的に、コンピュータ又は電子プログラミングによって案内される電気機械的機械である。移動ロボットは、それらの環境において動き回る機能を有し、かつ１つの物理的位置に固定されない。今日一般的に使用される移動ロボットの例は、無人搬送車（ＡＧＶ）である。ＡＧＶは、一般的に、床のマーカ又はワイヤに追従するか、又はナビゲーションのための視覚システム又はレーザを使用する移動ロボットである。移動ロボットは、産業、軍事、及びセキュリティ環境に見出すことができる。それらはまた、娯楽のための又は真空掃除及び家庭補助のようなある一定のタスクを実行するための消費者製品として現れている。
【０００３】
電気掃除機ロボットは、一般的に、空気ポンプを使用して床又は支持面から埃及び汚れを浮き上がらせるための部分真空を生成する。電気掃除機ロボットは、典型的には、その後の廃棄のために埃を埃バッグ又はサイクロンのいずれかに回収する。家庭に、並びに産業に使用される電気掃除機は、小型バッテリ作動持ち式デバイス、家庭内中央電気掃除機、空になる前に数百リットルの埃を取り扱うことができる超大型固定式産業電気機器、及び大量の流出物の回収又は汚染土壌の除去のための自走式吸引トラックのような様々なサイズ及びモデルで存在する。
【０００４】
自律ロボット式電気掃除機は、一般的に、床を真空掃除しながら居住空間及び一般的な障害物をナビゲートする。自律ロボット式電気掃除機は、壁、家具、又は階段のような障害物を識別かつ回避するセンサを含むことができる。一部のロボットは、例えば、ナビゲーション又は障害物検出及び障害物回避のためのその周囲環境に関するデータを取得するために様々なセンサを使用することができる。
【発明の概要】
【課題を解決するための手段】
【０００５】
本発明の開示の１つの態様は、ロボット本体と、ソナーシステムと、側面距離センサ（optical side ranging sensor）と、少なくとも１つの段差センサと、駆動システムと、制御システムとを含む自律移動ロボットを提供する。ロボット本体は、前方駆動方向を定め、かつ前方駆動方向に対する前方部分及び後方部分を有する。前方部分は、ロボット本体の周囲直径に沿って位置決めされたコーナによって境界付けられた実質的に直線的な前面を有する。ソナーシステムは、前面に沿った設定された距離でロボット本体上に配置されたソナーエミッタのアレイ及びソナーレシーバのアレイである。エミッタは、音波を放出し、レシーバは、音波の反射を受信する。各エミッタは、レシーバに隣接して配置され、各エミッタ及びレシーバ対は、前面から壁までの距離を測定する。側面距離センサは、ロボット本体の側面上に配置され、かつ前面のコーナに隣接して位置決めされる。
【０００６】
これに加えて、駆動システムは、ロボット本体を支持し、かつ経路に沿って床面を横切ってロボットを操作するように構成される。制御システムは、ロボット本体によって支持され、かつ駆動システム、ソナーシステム、側面距離センサ、及びロボット本体の底面上に配置された少なくとも１つの段差センサと通信する。制御システムは、レシーバのアレイから受信したセンサ信号を処理し、壁に対する前面の接近の角度を計算し、壁に最も近いコーナ距離を計算し、衝突を避けるためにロボット本体を回転し、かつロボット本体が壁追従距離閾値（threshold wall following distance）で壁に隣接して進行する状態で前方駆動方向を壁と平行に位置合わせする。
【０００７】
本発明の開示の実施は、以下の特徴のうちの１又は２以上を含むことができる。一部の実施において、エミッタのアレイは、奇数個のエミッタを含み、レシーバのアレイは、偶数個のレシーバを含み、各エミッタは、２つのレシーバ間に配置される。一部の実施において、エミッタのアレイは、３つのエミッタを含み、レシーバのアレイは、４つのレシーバを含む。これに加えて又はこれに代えて、制御システムは、各放出音波を分離する時間閾値（threshold duration of time）を有するソナー放出サイクルを実行することができる。一部の実施において、各放出音波を分離する持続時間は、約５ミリ秒−約２５ミリ秒である。一部の実施において、各放出音波を分離する持続時間は、約１５ミリ秒である。これに加えて、ソナー放出サイクルは、約３０ミリ秒−約６０ミリ秒のサイクル完了期間を有することができる。一部の実施において、ソナー放出サイクルは、４５ミリ秒のサイクル完了期間を有することができる。
【０００８】
一部の実施において、ロボットは、前面のコーナのうちの１つに隣接し、かつロボット本体の周囲を超えて延びる側面ブラシを更に含む。一部の実施において、ロボットは、前方部分上に配置され、かつコントローラと通信するバンプセンサを含む。バンプセンサの起動は、ソナーエミッタ及びレシーバアレイによって検出された引っ込んだ壁部分よりも近い突出部の存在を示し、突出部の存在下では、ロボットは、ロボットから壁の引っ込んだ部分までの第２の壁追従距離に対応する信号値閾値を較正する。第２の壁追従距離は、ロボットを壁追従距離閾値に等しい距離で突出部の最も近い部分に隣接して進行させる。
【０００９】
制御システムは、方向固定駆動指令（direction-lock drive command）を実行することができる。方向固定駆動指令は、ロボットが、ある位置から離れて閾値距離を進行するまで、最近進行した経路を回避する。ロボットが最も近い障害物を検出した時に、制御システムは、方向固定駆動無効化指令（direction-lock drive override command）を実行し、方向固定駆動無効化指令は、ロボットが最も近い検出された障害物の位置に関わらず閾値距離を進行するまで回転方向を維持する。
【００１０】
一部の実施において、ロボット本体は、前方駆動方向に垂直な横軸を定める。前方本体部分は、横軸と実質的に平行な前面を有することができる。更に、駆動システムは、前方駆動方向に対してロボット本体の右側面及び左側面に隣接して横軸に沿って実質的に対向する右及び左従動輪モジュールを含むことができる。一部の実施において、ロボットの前方部分は、実質的に矩形形状を有し、ロボットの後方部分は、実質的に円形形状を有する。
【００１１】
直線前面は、高さを定める。一部の実施において、エミッタのアレイ及びレシーバのアレイは、実質的に前面の中間高さに沿って配置される。他の例において、アレイのエミッタは、前面の中間高さから第１の距離閾値に配置され、レシーバのアレイは、前面の中間高さから第２の距離閾値に配置することができる。第１の距離閾値は、第２の距離閾値と異なる場合がある。
【００１２】
本発明の開示の別の態様は、床面を横切って自律移動ロボットを作動させる方法を提供する。本方法は、ロボット本体の実質的に直線の前面の長さに沿って距離を置いて配置されたソナーエミッタのアレイ及びソナーレシーバのアレイを発射する段階を含む。前面の各端部は、ロボット本体の円周によってトレースされる円周に沿って位置する。エミッタアレイ内の各エミッタは、レシーバアレイのレシーバに隣接して配置され、各エミッタ及びレシーバ対は、前面から壁までの距離を測定する。これに加えて、本方法は、レシーバのアレイによって受信したセンサ信号を処理する段階と、ロボットが壁と接触することなしに、２つのエミッタ及びレシーバ対によって測定される時の前面と壁の間の少なくとも２つの距離を決定する段階とを含む。本方法は、壁に対する前面の接近の角度を計算する段階と、壁に最も近いコーナ距離を計算する段階とを含む。最も近いコーナ距離が回転距離閾値に到達した状態で、本方法は、ロボット本体を回転して衝突を回避する段階と、前方駆動方向を壁と平行に位置合わせする段階と、壁に最も近いロボットの側面を壁追従距離閾値に位置決めする段階とを含む。
【００１３】
一部の実施において、エミッタのアレイ内のエミッタのうちの１つによって放出される各音波を分離する時間閾値は、約５ミリ秒−約２５ミリ秒である。一部の実施において、エミッタのアレイ内のエミッタのうちの１つによって放出される各音波を分離する時間閾値は、１５ミリ秒である。各放出音波を分離するソナー放出サイクルは、約３０ミリ秒−約６０ミリ秒のサイクル完了期間を有することができる。一部の実施において、各放出音波を分離するソナー放出サイクルは、約４５ミリ秒のサイクル完了期間を有する。
【００１４】
本方法は、ロボットが壁に隣接して進行しながら、ロボット本体の側面上に配置され、かつ前面の少なくとも１つのコーナに隣接して位置決めされた側面距離センサを繰返し発射する段階を含むことができる。側面距離センサは、ロボットが壁追従距離閾値を維持し、かつ壁に追従しながら衝突を回避するように壁までの距離を測定する。一部の実施において、壁追従距離閾値は、ロボットの周囲を超えて延びる側面ブラシが壁に接触することを可能にする。
【００１５】
一部の実施において、本方法は、ロボットを逆に回転及び／又は駆動しながら少なくとも１つの段差センサを用いて床までの距離を測定する段階を含む。段差センサが段差を検出した場合に、制御システムは、ロボットが駆動及び／又は回転するのを停止する。
【００１６】
本発明の開示の別の態様は、経路に沿って床面を横切って自律移動ロボットを作動させる方法を提供する。本方法は、ロボットによって定められたロボット本体上に配置されたエミッタから音波を放出する段階と、コンピュータプロセッサ上で挙動システムを実行する段階とを含む。挙動システムは、ロボット本体上に配置されたレシーバからセンサ信号を受信し、かつセンサ信号に基づいて少なくとも１つの挙動を実行する。センサ信号は、レシーバによって受信した音波反射を示している。ロボットが面を横切って操作されている場合に、挙動システムは、各放出音波を分離する時間閾値（例えば、１５ミリ秒）を有するソナー放出サイクルを実行する。ソナー放出サイクルは、４５ミリ秒のサイクル完了期間を有することができる。
【００１７】
一部の実施において、本方法は、ロボットがロボットの経路内の障害物の存在を示すセンサ信号を受信した場合に小刻み駆動指令を実行する段階を更に含む。小刻み指令は、対応する小刻み角度だけ前方駆動方向に対して各々が傾斜した一連の交替する（alternating）右及び左駆動指令を含む。対応する右及び左駆動指令の小刻み角度は、異なる場合がある。
【００１８】
本方法は、ロボットが壁の存在を示すセンサ信号を受信した場合に突出距離よりも大きい壁追従距離を有する壁追従挙動を実行する段階を更に含むことができる。壁追従距離は、ロボット本体と壁の間の距離であり、突出距離は、壁と突出部の間の距離である。壁追従挙動の実行中に、ロボットは、壁から離れた距離閾値で駆動することができる。ソナー放出サイクルは、時間閾値に等しいサイクル完了期間を有することができる。
【００１９】
一部の実施において、本方法は、コンピュータプロセッサが、ロボットが２つの壁によって形成されたコーナにあることを示すセンサ信号を受信した場合に、方向固定駆動指令を実行する段階を更に含む。方向固定指令は、ロボットが距離閾値を進行するまで最近進行した経路を回避する。
【００２０】
本発明の開示の１又は２以上の実施の詳細が添付図面及び以下の説明に示されている。他の態様、特徴、及び利点は、説明及び図面からかつ特許請求の範囲から明らかであろう。
【００２１】
様々な図面内の同様の参照記号は、同様の要素を示している。
【図面の簡単な説明】
【００２２】
【図１】例示的自律移動ロボットの斜視図である。
【図２】図１に示すロボットの底面図である。
【図３】図１に示すロボットの上面斜視図である。
【図４】図１に示すロボットの底面斜視図である。
【図５】図１に示すロボットの側面図である。
【図６Ａ】例示的自律移動ロボットの上面斜視図である。
【図６Ｂ】図６Ａに示すロボットの底面斜視図である。
【図７Ａ】掃除のための例示的自律移動ロボットの斜視図である。
【図７Ｂ】移動ロボットのコントローラによって実行される例示的制御システムの概略図である。
【図８Ａ】図１に示すロボットの代替正面図である。
【図８Ｂ】図１に示すロボットの代替正面図である。
【図８Ｃ】図１に示すロボットの代替正面図である。
【図９Ａ】ソナーシステムを有する例示的自律ロボットの上面図である。
【図９Ｂ】ソナーシステムを有する例示的自律ロボットの上面図である。
【図１０Ａ】壁に真正面に接近する時の例示的自律ロボットの上面図である。
【図１０Ｂ】壁までのソナー信号測距の上面図である。
【図１０Ｃ】斜めに壁に接近して壁に接触することなく回転して再位置決めする時の例示的自律ロボットの上面図である。
【図１０Ｄ】斜めに壁に接近し、センサ測定を行って壁に接触することなく再位置決めするためにどのくらい後退及び／又は回転するかを決定する時の例示的自律ロボットの上面図である。
【図１０Ｅ】接触することなく壁に位置合わせするために回転した後に距離閾値で壁追従する時の例示的自律ロボットの上面図である。
【図１１Ａ】突出部に接近する時の例示的自律ロボットの側面図である。
【図１１Ｂ】突出部に接近する時の例示的自律ロボットの側面図である。
【図１１Ｃ】壁追従挙動を実行する時の図１１Ａ及び図１１Ｂのロボットの上面図である。
【図１２Ａ】コーナをナビゲートする例示的自律ロボットの上面図である。
【図１２Ｂ】コーナをナビゲートする例示的自律ロボットの上面図である。
【図１２Ｃ】コーナをナビゲートする例示的自律ロボットの上面図である。
【図１２Ｄ】コーナをナビゲートする例示的自律ロボットの上面図である。
【図１３】小刻み指令を実行する例示的自律ロボットの斜視図である。
【図１４】自律移動ロボットを作動させるための作動の例示的構成の概略図である。
【図１５】ソナー反響強度に基づいて物体を検出する例示的自律ロボットの斜視図である。
【発明を実施するための形態】
【００２３】
移動可能に支持された自律ロボットは、ロボットがその周囲を認識することを可能にするセンサシステムを使用して床面をナビゲートすることができる。一部の実施において、ロボットは、ロボットの環境を表し、かつロボット上の１又は２以上のセンサを使用して解像された仮想空間であるロボットの周りの局所知覚空間（ＬＰＳ）を決定する。
【００２４】
図１−図６Ｂを参照すると、一部の実施において、ロボット１００は、例えば、ｘ、ｙ、及びθ成分を有する駆動指令に基づいて床面１０を横切ってロボット１００を操作することができる駆動システム１２０によって支持された本体１１０を含む。ロボット本体１１０は、前方部分１１２及び後方部分１１４を有する。図１−図５は、矩形前方部分１１２及び丸い後方部分１１４を有する例示的ロボット１００を示している。前方部分１１２は、実質的に直線の前面１１３、及び／又は本体１１０によって定められた横軸Ｘに実質的に平行である前面１１３を有することができる。図６Ａ及び図６Ｂは、ロボット本体１１０の丸い（例えば、円形）前方及び後方部分１１２、１１４を有する例示的ロボット１００を示している。
【００２５】
駆動システム１２０は、右及び左従動輪モジュール１２０ａ、１２０ｂを含む。ホイールモジュール１２０ａ、１２０ｂは、横軸Ｘに沿って実質的に対向し、かつそれぞれの右及び左ホイール１２４ａ、１２４ｂを駆動するそれぞれの右及び左駆動モータ１２２ａ、１２２ｂを含む。駆動モータ１２２ａ、１２２ｂは、実質的にそれぞれのホイール１２４ａ、１２４ｂの上に任意的に位置決めされた駆動モータ１２２ａ、１２２ｂで本体１１０に取外可能に接続することができる（例えば、ファスナ又は工具不要接続を通して）。ホイールモジュール１２０ａ、１２０ｂは、本体１１０に取外可能に取り付けられ、かつ掃除面１０と係合するようにバネ付勢することができる。一部の実施において、ホイール１２４ａ、１２４ｂは、ホイールモジュール１２０ａ、１２０ｂに取外可能に接続される。ホイール１２４ａ、１２４ｂは、ホイールモジュール１２０ａ、１２０ｂの（滑り易い床（例えば、木、濡れた床）の上の牽引力を改善する落下付勢懸架システム（図示せず）を有することができる。ロボット１００は、ロボット本体１１０の前方部分１１２を支持するために配置されたキャスタホイール１２６を含むことができる。ロボット本体１１０は、ロボット１００のあらゆる電気構成要素に給電する電源１０２（例えば、バッテリ）を支持する。
【００２６】
ロボット１００は、本体１１０によって定められた３本、すなわち、横軸Ｘ、前後軸Ｙ、及び中心垂直軸Ｚの相互に垂直な軸に対する移動の様々な組合せを通して面１０を横切って移動ことができる。前後軸Ｙに沿った前方駆動方向は、Ｆ（時に以下「前方」と呼ぶ場合がある）と指定され、前後軸Ｙに沿った後方駆動方向は、Ａ（時に以下「後方」と呼ぶ場合がある）と指定される。横軸Ｘは、ホイールモジュール１２０ａ、１２０ｂの中心点によって定められた軸に沿ってロボット１００の実質的に右側Ｒと左側Ｌの間を延びる。
【００２７】
ロボット１００は、Ｘ軸の周りに傾斜することができる。ロボット１００は、南の位置に傾斜する時に、後方部分１１４に向けて傾斜し（以下「ピッチアップ」と呼ぶ場合がある）、北の位置に傾斜する時に、後方部分１１４に向けて傾斜する（以下「ピッチダウン」と呼ぶ場合がある）。更に、ロボット１００はＹ軸の周りに傾斜する。ロボット１００は、Ｙ軸の東に傾斜することができ（以下「右ロール」と呼ぶ場合がある）、又はロボット１００は、Ｙ軸の西に傾斜することができる（以下「左ロール」と呼ぶ場合がある）。従って、Ｘ軸の周りのロボット１００の傾斜の変化は、ピッチの変化であり、Ｙ軸の周りのロボット１００の傾斜の変化は、ロールの変化である。更に、ロボット１００は、右、すなわち、東の位置に、又は左、すなわち、西の位置に傾斜することができる。一部の実施において、ロボットは、北東、北西、南東、及び南西のような傾斜位置を有するＸ軸の周りに及びＹ軸の周りに傾斜する。ロボット１００が床面１０を横断している時に、ロボット１００は、Ｚ軸の周りに右回転又は左回転することができる（以下ヨーの変化と呼ぶ場合がある）。ヨーの変化により、ロボットは、移動しながら右回転又は左回転する。従って、ロボット１００は、ピッチ、ロール、又はヨーの１又は２以上の変化を同時に有することができる。
【００２８】
本体１１０の前方部分１１２は、バンパー１３０を含むことができ、バンパーは、ロボット本体１１０の前面／表面１１３を含むことができ、一部の実施において、バンパー１３０は、ロボット本体１１０の一部であり、他の例において、バンパー１３０は、ロボット本体１１０に付属するアセンブリである。例えば、バンパー１３０は、ホイールモジュール１２０ａ、１２０ｂが床／支持面１０を横切ってロボット１００を推進する時にロボット１００の駆動経路において１又は２以上の事象を検出する（例えば、１又は２以上のセンサを通して）。ロボット１００は、事象に応答してロボット１００を操作するように（例えば、障害物１８から離れる方向に）ホイールモジュール１２０ａ、１２０ｂを制御することによってバンパー１３０によって検出された事象（例えば、障害物１８、段差、壁２４、キャビネット、及びそれらの突出部２５）に応答することができる。一部のセンサは、バンパー１３０上に配置されると本明細書に説明するが、これらのセンサは、これに加えて又はこれに代えて、ロボットの底面１１６を含むが（例えば、機械的スイッチ）これに限定されずロボット１００上の様々な異なる位置のいずれにも配置することができる。バンパー１３０は、ロボット本体１１０の前面１１３に対する相補的形状を有する。
【００２９】
本体１１０の上部部分１１５は、１又は２以上のユーザ指令を受信し及び／又はロボット１００のステータスを表示するユーザインタフェース１４０を含むことができる。ユーザインタフェース１４０は、ユーザインタフェース１４０によって受信した１又は２以上の指令がロボット１００によるルーチン（例えば、掃除ルーチン）の実行を開始することができるように、ロボット１００によって担持されたロボットコントローラ１５０と通信する。コントローラ１５０は、非一時的メモリ１５４（例えば、ハードディスク、フラッシュメモリ、ランダムアクセスメモリ）と通信するコンピュータプロセッサ１２（例えば、中心演算処理装置）を含む。
【００３０】
ロボットコントローラ１５０（制御システムを実行する）は、ロボット１００に、壁追従する方式、床を磨くような方式で操作する、障害物１８（例えば、椅子、テーブル、ソファーのような）が検出された時に進行方向を変えるなどのアクションを取らせる挙動３００を実行することができる。ロボットコントローラ１５０は、各ホイールモジュール１２０ａ、１２０ｂの回転速度及び方向を独立して制御することによって掃除面を横切ってあらゆる方向にロボット１００を操作することができる。例えば、ロボットコントローラ１５０は、前方Ｆ、逆方向（後方）Ａ、右Ｒ及び左Ｌ方向にロボット１００を操作することができる。
【００３１】
図７Ａ及び図７Ｂを参照すると、信頼性が高くてロバストな自律移動をもたらすために、ロボット１００は、ロボット１００がその環境において取るべきアクションに対してインテリジェント判断を行うことを可能にするのに十分なロボットの環境（局所知覚空間）の認知力を生成するために互いに関連して使用することができるいくつかの異なるタイプのセンサ５２０、５３０、５３５を有するセンサシステム５００を含むことができる。センサシステム５００は、ロボット本体１１０によって支持された１又は２以上のタイプのセンサ５２０、５３０、５３５を含むことができ、センサには、障害物検出障害物回避（ＯＤＯＡ）センサ、通信センサ、ナビゲーションセンサなどを含むことができる。例えば、これらのセンサ５２０、５３０、５３５には、近接度センサ、接触センサ、カメラ（例えば、容積測定点クラウド撮像、３次元（３Ｄ）撮像、又は距離画像センサ、可視光カメラ及び／又は赤外線カメラ）、ソナー、レーダ、遠くのターゲットの範囲及び／又は他の情報を見つけるために散乱光の特性を測定する光学リモートセンシングを伴うことができるＬＩＤＡＲ（光感知測距），ＬＡＤＡＲ（レーザ検出及び測距）などを含むことができるがこれらに限定されない。一部の実施において、センサシステム５００は、測距ソナーセンサ５３０、近接度（例えば、赤外線）段差センサ５２０、５２０ａ−５２０ｄ、接触センサ５４０、レーザスキャナ、及び／又は撮像ソナーを含む。
【００３２】
ロボット１００は、床面１０を掃除又は処理する掃除システム１６０を含むことができる。一部の実施において、自律ロボット１００は、面１０を横断しながらその面１０を掃除することができる。ロボット１００は、面１０の上方に負圧（例えば、部分真空）を印加することによってデブリを攪拌し、及び／又は面１０からデブリを浮き上がらせて、面１０からデブリを回収していることによって面１０からデブリを除去することができる。掃除システム１６０は、乾式掃除システム１６０ａ及び／又は湿式掃除システム１６０ｂを含むことができる。乾式掃除システム１６０は、横軸Ｘに平行に延び、かつ床面に接触するためにロボット本体１１０によって回転可能に支持される（例えば、剛毛及び／又は叩きフラップを有する）従動ローラブラシ１６２を含むことができる。従動ローラブラシ１６２は、デブリを床面から攪拌して攪拌されたデブリを回収ビン１６３に投げ込むか又は案内する。湿式掃除システム１６０ｂは、横軸Ｘに沿って延びて洗浄液を面上へ分注する流体アプリケータを含むことができる。
【００３３】
図３を参照すると、一部の実施において、センサシステム５００は、ロボット１００の全体的な重心ＣＧRに対するロボット１００の慣性モーメントを測定及びモニタするためにコントローラ１０と通信する慣性測定ユニット（ＩＭＵ）５１０を含む。コントローラ１５０は、通常の負担のない作動に対応する信号閾値からのＩＭＵ５１０からのフィードバックのあらゆる偏差をモニタすることができる。例えば、ロボット１００が直立位置から離れる方向にピッチした場合に、ロボット１００は、「衣服しわ寄せ状態」にあり、又は他に妨げられており、又は誰かが重いペイロードを突然追加した可能性がある。これらの事例において、ロボット１００の安全作動を保証するために緊急アクション（回避操作、再較正、及び／又は聴覚／視覚的警告発令を含むがこれらに限定されない）を取る必要があると考えられる。
【００３４】
停止から加速する時に、コントローラ１５０は、ロボット転倒を防止するためにその全体的重心ＣＧRからのロボット１００の慣性モーメントを考慮に入れることができる。コントローラ１５０は、現在の慣性モーメントを含む姿勢のモデルを使用することができる。ペイロードが支持された時に、コントローラ１５０は、全体的重心ＣＧRに及ぼす負荷の影響を測定してロボット慣性モーメントの移動をモニタすることができる。これが可能ではない場合に、コントローラ１５０は、駆動システム１２０に試験のためのトルク指令を適用し、実験的に安全な限界を決定するためにＩＭＵ５１０を使用してロボットの実際の線形角加速度を測定することができる。
【００３５】
ＩＭＵ５１０は、相対値に基づいてロボット１００の慣性モーメントを測定及びモニタすることができる。一部の実施においてかつある期間にわたって、一定移動は、ＩＭＵをドリフトさせる場合がある。コントローラ１５０は、ＩＭＵ５１０を再較正してゼロにリセットする再設定指令を実行する。ＩＭＵ５１０をリセットする前に、コントローラ１５０は、ロボット１００が傾斜状態であるかを決定し、ロボット１００が平坦面上にある場合に限りリセット指令を出す。
【００３６】
図７Ａを参照すると、一部の実施において、ロボット１００は、ロボット１００が、障害物１８に衝突するか又は階段から落ちることなく、かつ掃除のために比較的汚い床面積をインテリジェントに認識する掃除ロボット１００の場合に床面１０をナビゲートすることを可能にするように構成されたナビゲーションシステム２００を含む。更に、ナビゲーションシステム２００は、床面１０を横切って決定論的及び疑似ランダムパターンでロボット１００を操作することができる。ナビゲーションシステム２００は、ロボットコントローラ１５０上に格納され及び／又は上で実行される挙動ベースのシステムとすることができる。ナビゲーションシステム２００は、センサシステム５００と通信し、駆動指令を決定して駆動システム１２０に発令することができる。ナビゲーションシステム２００は、ロボット挙動３００に影響を与えてそれを構成し、その結果、ロボット１００は、系統的な事前に計画された移動で挙動することができる。一部の実施において、ナビゲーションシステム２００は、データをセンサシステム５００（例えば、慣性測定ユニット５１０、赤外線センサ５２０、５２０ａ−５２０ｄ、及びソナーセンサ５３０、５３５）から受信し、ロボット１００が横断するための望ましい経路を計画する。
【００３７】
図３及び図７Ｂを参照すると、一部の実施において、コントローラ１５０（例えば、コンピュータプロセッサ１５２上で実行可能な命令を格納することができる非一時的メモリ１５４と通信する１又は２以上のコンピュータプロセッサ１５２を有するデバイス）は、制御システム２１０を実行し、制御システム２１０は、互いに通信する挙動システム２１１及び制御調停システム２１０ｂを含む。制御調停システム２１０ｂは、ロボットアプリケーション２２０を動的に追加して制御システム２１０から除去することを可能にし、かつアプリケーション２２０が各々いずれの他のアプリケーション２２０も知る必要なしにロボット１００を制御することを可能にすることを容易にする。換言すると、制御調停システム２１０ｂは、アプリケーション２２０とロボット１００のリソース２４０の間の単一優先順位付き制御機構をもたらす。
【００３８】
アプリケーション２２０は、同時に実行され（例えば、プロセッサ上で）、かつロボット１００を同時に制御するためにメモリに格納されるか、又はロボット１００と通信することができる。アプリケーション２２０は、挙動システム２１０ａの挙動３００にアクセスすることができる。独立に配備されたアプリケーション２２０は、実行時に及びロボットリソース２４０（例えば、駆動システム１２０及び／又は掃除システム１６０、１６０ａ、１６０ｂ）を共有するために動的に組み合わされる。実行時に、アプリケーション２２０間にロボットリソース２４０を動的に共有する低レベルのポリシーが実行される。ポリシーは、どのアプリケーション２２０がそのアプリケーション２２０によって必要とされるように（例えば、アプリケーション２２０間の優先順位階層）ロボットリソース２４０を制御するかに対して決定する。アプリケーション２２０は、動的に開始及び停止することができ、かつ互いに独立して完全に実行される。制御システム２１０はまた、互いを補助するために共に組み合わせることができる複雑な挙動３００を可能にする。
【００３９】
制御調停システム２１０ｂは、制御アービター２６０と通信する１又は２以上のアプリケーション２２０を含む。制御調停システム２１０ｂは、アプリケーション２２０のための制御調停システム２１０ｂとのインタフェースをもたらす構成要素を含むことができる。そのような構成要素は、認証、分散型リソース制御アービター、指令バッファ方式、及びアプリケーション２２０の優先順位付けの編成などの複雑性を抽出かつ封入して除去することができる。制御アービター２６０は、あらゆるアプリケーション２２０から指令を受信し、アプリケーションの優先順位に基づいて単一指令を生成してその関連のリソース２４０に向けて公開する。制御アービター２６０は、状態フィードバックをその関連のリソース２４０から受信してアプリケーション２２０にバックアップを送ることができる。ロボットリソース２４０は、１又は２以上のハードウエアコントローラを有する機能モジュール（例えば、アクチュエータ、駆動システム、及びその群）のネットワークとすることができる。制御アービター２６０の指令は、特定のアクションを実行するためにリソース２４０固有のものである。コントローラ１５０上で実行可能な動力学モデル２３０は、現在のロボット状態の評価に向けてロボット１００の様々な部分の重心（ＣＧＲ），慣性モーメント、及び慣性の外積を計算するように構成される。
【００４０】
一部の実施において、挙動３００は、センサシステム５００のような複数のソースからセンサフィードバックを先験的限界及び情報を有してロボット１００の許容アクションに関する評価フィードバックに結合する階層的状態完全評価機能を提供するプラグ−イン構成要素である。挙動３００は、アプリケーション２２０内にプラグ可能であるので（例えば、アプリケーション２２０の内側又は外側に存在する）、それらは、アプリケーション２２０又は制御システム２１０のあらゆる他の部分を修正する必要がなく除去及び追加することができる。各挙動３００は、独立型ポリシーである。挙動３００をより強力にするために、複雑な組合せ機能を有することができるように、複数の挙動３００の出力を別の挙動の入力に共に取り付けることは可能である。挙動３００は、ロボット１００の総合認識の管理可能な部分を実行することを意図している。
【００４１】
図示の例において、挙動システム２１０ａは、センサシステム５００によって察知される障害物１８（図９Ｂ）に基づいて反応するロボットアクション（例えば、方向転換、回転、障害物１８の前の停止など）を決定する障害物検出／障害物回避（ＯＤＯＡ）挙動３００ａを含む。別の挙動３００は、検出された壁２４の近くで駆動する（例えば、壁に向けて及び壁から離れる方向に駆動するという小刻みパターンで）壁追従挙動３００ｂを含むことができる。他の挙動３００は、埃探し挙動３００ｃ（センサが床面上で汚いスポットを検出すると、ロボット１００は掃除に向けてスポットの方向に向きを変える）、スポット掃除挙動３００ｄ（例えば、ロボットは、特定のスポットを掃除するためにコーンローパターンに沿う）、方向固定挙動３０Ｇｅ、段差挙動（例えば、ロボットは階段を検出して階段から落ちるのを回避する）、静止挙動、反傾き挙動、及び反摂取挙動、反ホイール詰まり挙動を含むことができる。
【００４２】
ロボットプラットフォーム上でのセンサ５２０、５３０配置に関わるいくつかの課題がある。第１に、センサ５２０、５３０は、ロボット１００の周りの関心区域の最大カバレージを有するように設けられる必要がある。第２に、センサ５２０、５３０、５３５は、ロボット１００自体がセンサに対する絶対最小の閉塞を引き起こすように設けられる必要があり、要するに、センサは、ロボット１００自体によって「見えなくなる」ように設けることはできない。第３に、センサ５２０、５３０の配置及び取り付けは、プラットフォームの工業設計の残りのものに対して侵入的であるべきではない。美観の観点から、センサ５２０、５３０、５３５が目立たずに取り付けられたロボット１００の方が、そうでない場合よりも「魅力的である」と仮定することができる。実用性の観点から、センサ５２０、５３０、５３５は、通常のロボット作動（障害物の捕捉）と干渉しないように取り付けられるべきである。
【００４３】
図３及び図８Ａ−図９Ｂを参照すると、一部の実施において、センサシステム５００は、ソナーシステム５３０を含む。ソナーは、Ｓｏｕｎｄ  Ｎａｖｉｇａｔｉｏｎ  ａｎｄ  Ｒａｎｇｉｎｇの頭字語であり、音を利用して環境内でナビゲートする技術である。ソナーシステム５３０は、ロボット１００の通り道において障害物１８ａ−１８ｄを検出するために音波伝播を使用する。ソナーは、２つのタイプ、すなわち、能動ソナー及び受動ソナーとすることができる。受動ソナーは、他の障害物１８によって作られた音を聴取し、一方、能動ソナーは、音のパルスを放出して、パルスが障害物１８から反射する時にパルスが生成する反響を聴取する。ソナーシステム５３０は、エミッタ５３０ｅ、レシーバ５３０ｒ、変換器１５６、及び信号プロセッサ１５８を含む能動ソナーである。ソナーエミッタ５３０ｅから送信された電気パルスは、変換器１５６によって音波に変換され、与えられた方向に伝播する。ソナーエミッタ５３０ｅから物体１８までの距離は、一定かつ公知の音速に起因して測定することができる。送信信号と信号が物体１８から跳ね返る受信信号の間の時間経過を測定することができ、これは、放出された音波の跳ね返りを生成した物体までの距離の計算をもたらす。
【００４４】
一部の実施において、ソナーシステム５３０は、エミッタ５３０ｅ1−５３０ｅ3のアレイ及びレシーバ５３０ｒ1−５３０ｒ4のアレイを含む。図８Ａ−図８Ｃに示すように、エミッタのアレイは、３つのエミッタ５３０ｅを含み、レシーバのアレイは、４つのレシーバ５３０ｒを含む。各エミッタ５３０ｅは、２つのレシーバ５３０ｒ間に配置される。エミッタ５３０ｅ及びレシーバ５３０ｒは、ロボット本体１１０のバンパー１３０、又はロボット本体１１０の前面１１３上に配置される。エミッタ５３０ｅ及びレシーバ５３０ｒは、ロボット本体１１０の前方周囲面１１３に沿って互いに隣接して配置される。一部の実施において、ロボット１００のバンパー１３０又は前面１１３は、ロボット本体１１０の上部部分１１５から底部部分１１６まで延びる高さＤTを有する。一部の実施において、エミッタ５３０ｅ及びレシーバ５３０ｒのアレイは、前面１１３から上にほぼ半分まで長手方向中央線Ｌに隣接して配置される。ロボット本体１００が正方形の前部部分を有する場合に、ソナーシステム５３０は、横軸Ｘに平行な直線内に配置することができる。エミッタ５３０ｅ及びレシーバ５３０ｒは、直線上でバンパー高さＤTの中間高さＤMに配置することができる（図８Ａ）。中間高さＤは、バンパー高さＤTの半分である。
【００４５】
図８Ｂ及び図８Ｃを参照すると、エミッタ５３０ｅ及びレシーバ５３０ｒは、横軸Ｘに沿って離間し、かつ横軸Ｘに平行な直線上に各々配置することができ、エミッタ５３０ｅ及びレシーバ５３０ｒは、垂直距離ＤSよって分離される。エミッタ５３０ｅは、バンパー１３０の中間高さＤMから垂直距離ＤEにあり、レシーバ５３０ｒは、バンパー１３０の高さＤMから垂直距離ＤRにある。エミッタ５３０ｅ及びレシーバ５３０ｒは、互いから垂直距離ＤSよって分離することができる。一部の実施において、各エミッタ５３０ｅ1は、エミッタ５３０ｅのアレイ内の最も近い隣接エミッタ５３０ｅ2から水平距離Ｅで前面１１３に沿って位置決めされ、各レシーバ５３０ｒ3は、レシーバ５３０ｒのアレイ内の最も近い隣接レシーバ５３０ｒ4から水平距離Ｒで前面１１３に沿って位置決めされる。一部の実施において、各エミッタ５３０ｅ2は、最も近い隣接レシーバ５３０ｒ3から水平距離ＥＲで前面に沿って位置決めされる。他のエミッタ５３０ｅ及びレシーバ５３０ｒの構成も可能とすることができる。これに加えて、エミッタ５３０ｅ及びレシーバ５３０ｒは、ロボット本体１１０の右側と左側、ロボット本体１１０の裏側、又はあらゆる他の適切な位置のようなロボット本体１１０の他の部分上に配置することができる。
【００４６】
図９Ａ及び図９Ｂを参照すると、ソナーシステム５３０は、バンパー１３０の上側部分１３２上に（図１を参照されたい）及び／又はバンパー１３０の前面１１３上に配置することができる。ソナーシステム５３０は、音波５３２を放出するように配置されたエミッタ５３０ｅ及び受信波動場５３４において放出された音波５３２の反射を受信するように配置されたレシーバ５３０ｒを含む。エミッタ５３０ｅ及びレシーバ５３０ｒは、前方駆動方向Ｆに沿って配置される。放出音波５３２及び受信音波５３４は、約４５°−約２７０°の角度β１、β２を各々有することができる。更に、ソナーシステム５３０は、前方駆動方向Ｆに対して左右及び／又は上下扇形方向に音波を放出することができる。
【００４７】
一部の実施において、ソナーシステム５３０は、音波を放出する異なるシーケンスを含む。センサシステム５００は、ソナーエミッタ５３０ｅ1−５３０ｅ3の各々から放出される音波５３２を同時に放出することができ、従って、反射波５３４を同時に受信することができる。同時に発射されるソナーエミッタ５３０ｅ1−５３０ｅ3の各々は、明確かつ区別可能である周波数を有し、レシーバ５３０ｒ1−５３０ｒ3の各々によって測定される距離は、ロボット１００の前面１１３の長手方向中央線Ｌに沿ったエミッタ５３０ｅの位置によって受信かつ識別される。一部の実施において、ソナーシステム５３０は、第１のエミッタ５３０ｅからエミッタ波５３２を放出することができ、時間閾値（例えば、１ｍｓｅｃ、２ｍｓｅｃ、３ｍｓｅｃ、．．．．２０ｍｓｅｃ）後に、ソナーシステム５３０は、第２のエミッタ波５３２を第２のエミッタ５３０ｅから放出する。一部の実施において、制御システム２１０は、各放出音波を分離する時間閾値（例えば、１ｍｓｅｃ、２ｍｓｅｃ、３ｍｓｅｃ、．．．２０ｍｓｅｃ）を有するソナー放出サイクルを実行する。ソナー放出サイクルは、ロボット本体１１０上の各エミッタ５３０ｅが音波５３２を放出するのに要求される時間に存在する。一部の実施において、２つの隣接エミッタ５３０ｅからの放出間の時間は、約５ミリ秒−約２５ミリ秒である。一部の実施において、２つの隣接エミッタ５３０ｅからの放出間の時間は、約１５ミリ秒である。更に、ソナー放出サイクルは、約３０ミリ秒−約６０ミリ秒のサイクル完了期間を有することができる。一部の実施において、ソナー放出サイクルは、４５ミリ秒の完了期間を有する。
【００４８】
一部の実施において、ソナーシステム５３０は、図９Ａ及び図９Ｂに示すように、３つのエミッタ５３０ｅ1−５３０ｅ3及び４つのレシーバ５３０ｒ1−５３０ｒ4を含む。４つのレシーバ５３０ｒは、バンパー１３０上で互いから水平に等距離に配置され、かつ２つのレシーバ５３０ｒ間の中間に配置されたエミッタ５３０ｅよって分離される。センサシステム５３０は、１５ミリ秒毎に音波５３２を放出し、従って、完全なソナー放出サイクルは、全てのエミッタ５３０ｅが音波５３２を送るのに４５ミリ秒かかる。図９Ｂは、障害物１８に衝突するエミッタ５３０ｅからの放出音波を示し、レシーバ５３０ｒは、反射音波を受信する。レシーバ５３０ｒが反射音波５３２を受信した時に、信号プロセッサ１５８は、受信音波５３２を処理する。
【００４９】
正方形前部又は平坦前面１１３（例えば、図１−図５）を有するロボット１００は、円形ロボットのようには単に定められた位置で回転して衝突なしで壁のような障害物１８から離れることはできない。円形ロボット１００（例えば、図６Ａ及び図６Ｂ）の周縁は、ロボットの円周に沿ってあらゆる位置でロボット１００の中心Ｃまで等距離である。しかし、正方形前部ロボット１００の前面１１３は、ロボット１００の中心Ｃを中心とするプロファイル円１０５（図２に破線で図示）を超えてロボット１００の丸い後方部分１１４の周縁に沿ってトレースされる。前面１１３のコーナ１１３ａ、１１３ｂが壁２４のような障害物と衝突せずに定められた位置で回転するには、障害物１８からのロボット１００の前面１１３の距離及び接近の角度αを知ることが必要であると考えられる。プロファイル１０５は、中心Ｃからコーナ１１３ａ（前面１１３の１１３ｂ）の各々までの設定距離寸法及び設定コーナ距離ＤFCを有する。
【００５０】
側面センサ５３５と組み合わせてソナーセンサ５３０をロボット１００の前面１１３上に有することは、バンパー１３０のバンプセンサ５４０を起動させるために繰返し障害物１８と衝突する必要なしに壁２４及び他の障害物１８に遭遇する正方形前部ロボットに優美なナビゲーション上の利点を与える。側面センサ５３５と組み合わせたソナーセンサ５３０により、正方形前部ロボット１００は、衝突なしに障害物１８又は一連の障害物１８を避けながら移動することができる。更に、ソナーセンサ５３０により、正方形前部ロボット１００は、接触なしに壁に位置合わせし、かつ壁２４に隣接して衝突することなく進行することができる。そのようなロボット１００が壁２４から離れるように、又は壁に沿った壁追従に向けて壁２４と位置合わせするように移動するために回転する必要がある量は、ロボット１００の接近の角度αに依存し、接近の角度は、前面１１３上のソナーセンサ５３０のアレイによって行われた測定値から決定することができる。
【００５１】
図１０Ａ及び図１０Ｂを参照すると、一部の実施において、ロボット１００が壁２４正面に接近してエミッタ５３０ｅ1−５３０ｅ3から信号（エミッタ波５３２）を放出した時に、レシーバ５３０ｒ1−５３０ｒ4は、各エミッタ波５３２によって検出された壁２４までの最短距離Ｄminを記録する。図１０Ａの正面接近において、Ｄminは、エミッタ５３０ｅ1−５３０ｅ3の各々に対して等しく、ロボット１００は、前面１１３の壁ＷDまでの距離が回転距離閾値ＷDよりも大きいか又は下回るか否かに応じて、衝突を回避するために優美に回転するか又は壁２４から後退して離れる。ソナーセンサ５３０が、距離閾値ＷD未満である前面１１３の長さに沿った距離測定値ＷDとしてエミッタ５３０ｅ1−５３０ｅ3の最短距離Ｄminを記録する場合に、ロボット１００は、壁２４と衝突することなく回転するには壁２４に近過ぎる。ロボット１００は、ソナーセンサ５３０によって測定された距離ＷDを使用して、回転距離閾値ＷTまでの逆方向距離を決定する。ロボット１００は、前面１１３のコーナ１１３ａ、１１３ｂが壁２４と衝突するのを防止するために回転する前に回転距離閾値ＷTまで後退して壁２４から離れる。ソナーセンサ５３０は、距離測定値を提供し、ロボット１００は、ソナーセンサ５３０がロボット本体１１０上の既知の位置に設けられた状態で既知の寸法であるので、ロボット１００は、検出された障害物１８、２４と衝突することなく回る必要がある限りにおいてのみ後退する。
【００５２】
一部の実施において、ロボット１００は、前面１１３の前部コーナ１１３ａ、１１３ｂに隣接して配置された前部段差検出器５２０ａ、５２０ｂ（例えば、赤外線センサ）及びホイール１２０ｂ、１２０ａの後方に位置決めされた後部段差検出器５２０ｃ、５２０ｄ（例えば、赤外線センサ）を有する。ロボット１００が後退する時に、後部段差検出器５２０ｃ、５２０ｄは、ロボット１００の背後又は両側の段差を検出することができる。コントローラ１５０は、段差検出器５２０ａ−ｄから受信した信号に基づいて回避挙動３００を実行し、その結果、ロボット１００が段差から落ちるのを防止する。ロボット１００が回転Ｔを実行する時に、前部段差検出器５２０ａ、５２０ｂの１又は２以上及び／又は後部段差検出器５２０ｃ、５２０ｄの１又は２以上は、ロボット１００の背後又は両側の段差を検出することができる。
【００５３】
ロボット１００は、外側ホイール１２０ａ、１２０ｂだけを逆回転させ、及び／又は異なる速度でホイール１２０ａ、１２０ｂを逆回転させて回転Ｔを実行することができ、そのためにロボット１００は、前面１１３が壁２４に対して傾斜した位置まで後退する。一部の実施において、前面１１３は、図１０Ｃに示すように、壁２４に対して４５°の角度αで傾斜させることができる。ロボット１００が後退しながら壁２４から離れるように回転している間、エミッタ５３０ｅ1−５３０ｅ3は、放出波５３２を放出し続け、ロボット１００は、壁２４からのエミッタ５３０ｅ１−５３０ｅ３の距離Ｄmin、Ｄmaxを計算する。ロボット１００は、衝突を回避するためにどれだけ後退し続け、かつ距離閾値ＷTを過ぎると後退しないで回転するかを決定することができる。
【００５４】
一部の実施において、ロボット１００は、エミッタ５３０ｅ1−５３０ｅ3のうちの２つからのエミッタ波５３２の２つの測定された最短距離Ｄminと前面１１３に沿った２つのエミッタ５３０ｅ間の既知の距離との違いを計算し、壁２４に対する前面１１３の角度αを計算する。図１０Ｄは、明瞭に分るように一部の要素付番が取り除かれた図１０Ｃの略示表現である。この例において、第１のエミッタ５３０ｅ1及び第３のエミッタ５３０ｅ3は、壁２４までのそれぞれの最小距離Ｄmin１、Ｄmin３を測定する。第１のエミッタ５３０ｅ1及び第３のエミッタ５３０ｅ3は、既知のエミッタ分離距離Ｅ13で前面１１３の長手方向中央線Ｌに沿って配置される。エミッタ５３０ｅ及びレシーバ５３０ｒは、前面１１３に沿った既知の位置に配置されるので、ロボット１００は、三角法を使用して壁２４に対する前面１１３の角度αを計算する。前面１１３は、既知の寸法、例えば、長さｌであるので、ロボット１００は、計算された角度αと、コーナ１１３ａ、１１３ｂまでのレシーバ５３０ｒ及び／又はエミッタ５３０ｅの既知のコーナ距離関Ｒｌ、Ｅｌとに基づいて壁２４までのコーナ１１３ａ、１１３ｂの距離を計算する。移動中のロボット１００の前部コーナ１１３ａが回転距離閾値ＷT又は約回転距離閾値ＷTである壁２４までの距離に到達した時に、ロボット１００は、衝突を回避するために回転する。
【００５５】
この同じ計算により、正方形前部を有するロボット１００は、ロボット１００が図１０Ｃに示すように角度αで壁２４に接近した時に後退することなく回転するためにどのような角度が必要であるかを決定することができる。この例において、ロボット１００は、後退することなく定められた位置で回転するが、それは、壁２４までの前面１１３の距離ＷDは、距離閾値ＷTを下回らないからである。エミッタ５３０ｅのうちの２つの少なくとも２つの測定された距離Ｄminに基づいて、ロボット１００は、壁２４に対するその接近の角度α及び前面１１３の内側コーナ１１３ａが壁２４からどの程度の距離かを知る。
【００５６】
図１０Ｄが示すように、ロボット１００が壁２４と平行に前進方向Ｆを位置合わせした状態で、側面センサ５３５は、壁２４に沿って順次的な測定を行ってロボット１００を壁追従距離閾値ＷFに維持する。一部の実施において、側面センサ５３５は、１つのエミッタ５３５ｅ及び１つのレシーバ５３５ｒを有するソナーセンサである。他の例において、側面センサ５３５は、１つのエミッタ５３５ｅ及び１つのレシーバ５３５ｒを有する赤外線（ＩＦ）センサである。一部の実施において、側面センサ５３５は、１よりも多いエミッタ５３５ｅ及び／又は１よりも多いレシーバ５３５ｒを有するＩＲ又はソナーセンサとすることができる。側面センサ５３５は、例えば、ＩＲ、レーザ、３Ｄ容積測定点クラウド又はソナーのようなあらゆるタイプの側面距離センサとすることができる。側面センサ５３５によって受信した信号を使用して、ロボット１００は、壁追従挙動３００ｂを実行し、進行中に順次的な測定を行って壁追従距離ＷFを維持し、そのためにロボット１００は、衝突なしで壁２４に沿って進行する。一部の実施において、壁追従距離ＷFは、ロボット１００の周囲を超えて延びる側面ブラシ１２８が壁２４に接触することを可能にする値に設定される。ロボット１００は、進行経路を占有してロボット１００が回転して障害物１８、２４と接触することなく障害物１８、２４を回避することを必要とするあらゆる障害物１８、２４を検出するようにロボット１００が壁追従挙動３００ｂを実行する時に、前面１１３に沿ってソナーセンサ５３０から放出波５３２を放出し続けることができる。
【００５７】
ソナーセンサアレイ５３０が、ロボット１００が弱くなることを可能にする１つの特定の課題は、キャビネット突出部に沿った壁追従又はトウキックの課題である。図１１Ａ−図１１Ｃを参照すると、一部の実施において、ロボット１００は、床１０を横断し、突出距離ＷOだけ下側の引っ込んだ壁部分２４ｂから上側最外壁部分２４ａをオフセットする突出部２５を有する壁２４に接近する。そのような突出部の例は、キャビネットに接近するとつま先をぶつけることを防止するために高級家具基部に一般的に組み込まれた台所又は浴室「トウキック」である。典型的に、トウキックは、少なくとも約３インチの深さ及び約少なくとも３  １／２インチの高さを有し、すなわち、下側の引っ込んだ壁部分２４ｂは、高さ約３  １／２ンチであり、上側最外壁部分２４ａから約３インチの突出距離ＷOだけ奥まっている。制御システム２１０は、突出距離ＷOよりも大きい壁追従距離ＷFを有する壁追従挙動３００ｂを実行しなければならない。壁追従距離ＷFは、ロボット本体１１０と（床１０に平行に測定された）壁２４の引っ込んだ部分２４ｂ（すなわち、下側部分）との間の距離である。突出距離ＷOは、最外壁部分２４ａと（床１０に平行に測定された）引っ込んだ壁部分２４ｂの間の距離である。
【００５８】
そのような突出部２５がロボットの環境に存在する時に、ロボット１００は、予め決められた全域的壁追従距離ＷFが突出距離ＷOよりも短い場合があるので、壁２４に追従する静的距離閾値を使用することができない。上述のサンプル突出部寸法に関して、ロボット１００が突出部を受け入れる設定された静的壁追従距離ＷFを有する場合に、ロボット１００は、突出部２５が存在しなかった時でも、３インチよりも大きい距離ＷFで常に壁追従することになり、従って、突出部２５を有していない壁２４の近くで掃除することができない。ロボット１００が突出部２５に沿って壁追従するのに全域的閾値設定値に依存することができないので、ロボット１００は、他のセンサ入力に応答して壁突出部２５の存在を決定し、最外壁部分２４ａに沿って繰返しその部分の中に回転して接触することなく実質的に追従するが、これは、移動中のロボット１００の進行を妨げると考えられる。
【００５９】
図１１Ｂに示す例において、ロボット１００は、接触センサ（例えば、バンパー１３０）を使用して、壁２４の上側最外部分２４ａにできるだけ近い時を決定する。この時点で、ソナーセンサ５３０は、距離ＷOで下側の引っ込んだ壁２４ｂを検出するが、最外壁部分２４ａとのバンパー１３０の衝突は、ソナーセンサ５３０によって測定された距離と矛盾する。センサ信号のこの組合せにより、図１０−図１０Ｄを参照して上述した後退、回転、位置合わせルーチンがトリガされる。ロボット１００は、距離閾値を後退し、かつ回転して壁２４ｂとその側面距離センサ５３５（例えば、ソナーセンサや１Ｒセンサ）を位置合わせすることを可能にする。ロボット１００は、回転する間、壁２４ｂの引っ込んだ部分からの距離を動的に較正して壁追従距離閾値ＷFを選び、壁２４ａの上側最外部分の近くをそれに衝突することなく進行する。この壁追従距離閾値ＷFは、突出部２５を有していない平坦な壁２４に沿って進行するよりもロボットが突出部２５に沿って進行する時の方が大きい。壁追従挙動３００ｂの実行中に、壁ＷDまでの距離は、ロボットの本体１１０と壁２４ｂで最も近い部分との間の距離に用途によって決定されるオフセット（例えば、側面ブラシ１２８がちょうど平坦な壁２４に触れることを保証するための）を加えたものである。ロボット１００が平坦な壁２４に沿って進行する時に、図１０Ｄの場合と同様に、壁追従距離ＷFは、本体１１０と壁２４の間に対して望ましい壁距離ＷDに等しい（例えば、ロボット１００の周囲を超えて延びる側面ブラシ１２８がちょうど平坦な壁２４に触れることを保証するために）。
【００６０】
図１２Ａ−図１２Ｄを参照すると、ロボット本体１１０は、ほぼ円形の周囲又は部分的に矩形の周囲を有することができる（図示のように）。一部の実施において、本体１１０の前方部分１１２は、矩形の周囲を有し、本体１１０の後方部分１１４は、円形の周囲を有する。本体１１０の矩形前方部分１１２は、コーナへのアクセスを容易にし、円形の後方部分１１４は、ロボット１００がコーナ２６内で回転を行う時に壁コーナ２６をクリアすることを容易にする。部分的に矩形の周囲を有するロボット本体１１０は、周囲直径（ロボット１００を外接し、かつ前部コーナ１１３ａ、１１３ｂを含む円１０７の直径ＤFC）よりも小さい距離だけ分離された障害物を避けることを含むいくつかの課題に直面する。円形ではないロボット１００は、全ての障害物構成を避けるために定められた位置で回転することができない。ロボット１００は、コーナ壁２６に接近する時に、コーナ２６を避けるために定められた位置で回転することができない。ロボット１００が図１２Ａ及び図１２Ｂのように定められた位置で回転する場合に、ロボット１００は動けなくなる場合がある。一部の実施において、ロボット１００は、図１２Ｄに示すように回転を行う前に図１２Ｃに示すように後方方向にコーナ２６から後退することができる。ロボット１００は、正面右回転ＦＲ又は正面左回転を提供することができる。ソナーセンサ５３０を有するロボット１００は、本明細書の例に説明するように、このコーナ状態において図１０Ａ−図１０Ｄに関して説明する後退、回転、及び位置合わせルーチンを使用することができる。
【００６１】
一部の実施において、ロボット１００は、右側Ｒで障害物１８ａに当たり、左Ｌに回転して障害物１８を回避する。一部の実施において、ロボット１００は、その後に、左側Ｌで別の障害物１８ｂに衝突する。これらの障害物１８、１８ｂ間で前後に進行することを回避するために、ロボット１００は、元の方向（左）に回転した後に設定された距離が得られるように軌跡に沿って進行し続ける。この方向固定指令は、反応挙動システム２１０ａを無効にする。方向固定無効化モードの時に、制御システム２１０は、ロボット１００が距離閾値を進行するまでは無関係に新しい方向に進行することを維持する。ロボット１００のソナーセンサ５３０は、接触なしの障害物検出及び回避を可能にするので、一部の実施において、ロボット１００は、ロボット１００が衝突しなかった障害物１８の検出に応答して新しい針路を維持する方向固定指令を有する。
【００６２】
一部の実施において、ソナーセンサ５３０が移動距離閾値内で２つの障害物を検出した場合に、ロボット１００は、方向固定挙動無効化３００ｅを実行する。方向固定挙動無効化３００ｅは、障害物側（障害物１８が存在するロボット１１０の側）に関わらずロボット１００が距離閾値を進行するまで回転方向を維持する。方向固定挙動無効化３００ｅは、ロボット１００が内側コーナ２６のような閉じた領域を避けることを可能にする。
【００６３】
ソナーセンサ５３０は、ロボット１００が壁２４と図９Ｂに示す椅子脚部１８ａ−１８ｂのような他の障害物１８とを区別することを可能にする。ソナーセンサ５３０が壁２４上に放出波５３２を放出した時に、戻り信号の数及び受信のタイミングの比率は一貫している。ソナーセンサ５３０が椅子脚部１８ａ−１８ｄ上に放出波５３２を放出した時に、戻り信号の数及び受信のタイミングの比率は一貫していない。椅子脚部１８ａ−１８ｄを壁２４と区別した後に、ロボット１００は、椅子脚部１８ａ−１８ｄ回りで及び／又はそれを通って移動し、ロボット移動針路間の突然の強打を回避するように椅子脚部１８ａ、１８ｂと衝突することを回避する。ソナーセンサ５３０が放出波５３２を放出した時に、ロボット１００は、椅子脚部１８ａの周りで回転することにより、検出した最も近いターゲット障害物、ここでは、椅子脚部１８ａを回避し、新しい障害物１８ｂが第１の検出された物体１８ａよりも有意に近い場合に限り、再び方向を切り換える。一部の実施において、ヒステリシスを使用して、ロボット１００は、新しい障害物１８ｂの周りで回転するために２回目に方向を変えた時に、第１の検出された障害物１８ａを引き続き回避する。このようにして、前面１１３に沿って配置されたソナーセンサ５３０を有するロボット１００は、椅子脚部１８ａ−１８ｄ及び他の壁以外の支柱のような障害物の集合を円滑に回避することができる。ロボット１００は、進行し、かつ抜け出すことができない障害物１８の場に潜在的に進行して入る時に、針路間の強打なしに接触なしの障害物回避及び検出のためにソナーセンサ５３０を使用するが、それは、障害物１８が周囲直径（ロボット１００に外接し、かつ前部コーナ１１３ａ、１１３ｂを含む円１０７の直径）よりも小さい距離だけ分離されるからである。
【００６４】
図１４は、経路６０に沿って床面１０を横切ってロボット１００を作動させる方法１４００を示している。方法１４００は、音波５３２をロボット本体１１０上に配置されたエミッタ５３０ｅから放出する段階１４１０を含む。方法１４００は、コントローラ１５０上で（例えば、コンピュータプロセッサ上で）挙動システム２１０ａ（例えば、ＯＤＯＡ（障害物検出／障害物回避）挙動３００ａ、壁追従挙動３００ｂ、埃探し挙動３００ｃ、スポット掃除挙動３００ｄ、方向固定挙動３００ｅ）を実行する段階１４２０を含む。挙動システム２１０ａは、ロボット本体１１０上に配置されたレシーバ５３０ｒからセンサ信号を受信して、センサ信号に基づいて少なくとも１つの挙動３００を実行する。センサ信号は、レシーバ５３０ｒによって受信した音波反射を示している。ロボット１００が面１０を横切って操作されている場合に、挙動システム３００は、各放出音波を分離する時間閾値を有するソナー放出サイクルを実行する１４３０。時間閾値は、１ｍｓｅｃ、２ｍｓｅｃ、３ｍｓｅｃ、…、２０ｍｓｅｃとすることができる。ソナー放出サイクルは、４５ミリ秒のサイクル完了期間を有することができる。
【００６５】
方法１４００は、ロボット１００が壁２４の存在を示すセンサ信号を受信する場合に突出距離ＷOよりも大きい壁追従距離ＷFを有する壁追従挙動３００ｂを実行する段階を更に含むことができる。壁追従距離ＷFは、ロボット本体１１０と壁２４の感知された部分（例えば、壁２４の下側部分２４ｂ）との間の水平距離であり、突出距離ＷOは、壁２４上の最外部分２４ａと壁２４の下側の引っ込んだ部分２４ｂとの間の水平距離である。壁距離ＷDは、ロボットの本体１１０と壁２４ｂの最も近い部分との間の距離に用途によって決定されたオフセット（例えば、ロボット本体１１０の周囲を超えて延びる側面ブラシ１２８がちょうど平坦な壁２４に触れることを保証するための）を加えたものである。壁追従挙動３００ｂの実行中に、ロボット１００は、壁２４から離れた距離閾値で駆動することができる。ロボット１００は、側面距離センサ５３５を使用して、進行を距離閾値に維持する。
【００６６】
一部の実施において、方法１４００は、コントローラ１５０が移動距離閾値内で２つの障害物１８に接触した場合に、方向固定無効化３００ｅを実行する段階を更に含む。方向固定挙動無効化３００ｅは、ロボット１００が距離閾値を進行するまでロボット１００の障害物側に関わらず回転方向を維持する。方向固定挙動無効化３００ｅは、ロボットが内側コーナ２６のような閉じた領域を避けることを可能にする。
【００６７】
一部の実施において、コントローラ１５０上で（例えば、コンピュータプロセッサ上で）実行可能な推定又は制御ソフトウエアは、センサシステム５００によって生成された様々なデータタイプを使用して実行されるアルゴリズムの組合せを使用する。推定ソフトウエアは、センサシステム５００から収集されたデータを処理して、ロボット１００がどこに例えば障害物１８と衝突することなく移動することができるかに関するナビゲーション判断を行うためのデータを出力する。
【００６８】
図１５を参照すると、一部の実施において、ロボット１００は、ソナーシステム５３０を使用して壁２４と非壁１８（例えば、家具、床上の物体のような）を区別する。図６Ａ及び図６Ｂに示す円形ロボット１００は、ソナーエミッタ５３０ｅのアレイ及び湾曲した前面１１３に沿って配置されたソナーレシーバ５３０ｒのアレイを含む。湾曲した前面１１３は、ソナーエミッタ及びレシーバ５３０ｅ、５３０ｒを前方駆動方向Ｆの右Ｒ及び左Ｌの方向に向け、平坦前面１１３よりも比較的広い全体的なソナーシステム５３０視野を可能にし、この比較的より広い全体的な視野により、ソナーエミッタ及びレシーバ５３０ｅ、５３０ｒは、実質的に前方駆動方向Ｆに沿って向けられる。矩形前部ロボット１００では、ソナーエミッタ及びレシーバ５３０ｅ、５３０ｒは、ソナーシステム５３０のより広い視野をもたらすためにロボット本体１１０の右側Ｒ及び左側Ｌ上に配置することができる。
【００６９】
制御システム２１０は、ソナー反響の強度に基づいて検出された物体１８、２４のタイプを認識することができる。例えば、放出されたソナー信号５３２は、硬い壁２４では音の大きい反響で、及びビロード又はファブリック家具（非壁障害物）１８では柔らかい反響で戻ることになる。制御システム２１０は、物体１８、２４までの距離を決定するために放出波５３２が戻る時間を測定し、硬い物体と柔らかい物体１８（２４）とを区別して、どのソナーレシーバ５３０ｒが反響信号又は最も音の大きい（最も強力な）反響信号を受信するかに基づいて物体１８、２４がロボット１００に対してどこにあるかを決定することができる。これは、ロボット１００が、例えば、柔らかい紐のスタックを識別することを可能にすることができる。どこに物体があるかを知ることはまた、ロボット１００が最も近いターゲット、及びどの角度でターゲットから向きを変えたらよいかを決定するのを補助する。図示の例において、ロボット１００は、ソナーレシーバ５３０ｒによって受信したハード（強力な）ソナー反響信号に基づいて壁２４の検出を認識する。更に、ロボット１００は、最も左のソナーレシーバ５３０ｒ上で音が最も大きい反響を受信することに基づいて壁２４が左側Ｌに位置すると決定する。ロボット１００はまた、非壁障害物１８、この場合は椅子の検出を認識する。ロボット１００はまた、ソナーレシーバ５３０ｒを横切って実質的に均一で（すなわち、反響信号が左又は右の側Ｌ、Ｒ寄りに強くならない）比較的柔らかい反響信号を受信することによって非壁障害物１８が前方駆動方向Ｆに沿って直線的前方に位置すると決定する。左側Ｌ上で壁２４及び直線的前方で非壁障害物１８を検出することに応答して、ロボット１００は、右側Ｒに移動することによって検出された障害物１８、２４を回避するように（制御システム２１０を通じて）操作される。ソナーシステム５３０を使用して、ロボット１００は、ロボット１００に対する（例えば、ソナーレシーバ５３０ｒの既知の位置に対する）検出された障害物１８、２４の距離及び位置を決定することができ、かつそれらの障害物１８、２４との衝突を回避するように操作することができる。
【００７０】
本明細書に説明する主題及び機能的作動の実施は、本明細書に開示する構造及び構造的均等物を含むデジタル電子回路に、又はコンピュータソフトウエア、ファームウエア、又はハードウエアに、又はその１又は２以上の組合せに実施することができる。更に、本明細書に説明する主題は、１又は２以上のコンピュータプログラム製品、すなわち、データ処理装置の作動による実行のために又はこの作動を制御するためにコンピュータ可読媒体上に符号化されたコンピュータプログラム命令の１又は２以上のモジュールとして実施することができる。
【００７１】
本明細書は、多くの詳細を含むが、これらは、本発明の開示の範囲又は主張することができる事柄の範囲に関する制限と解釈されず、むしろ、本発明の開示の特定の実施固有の特徴の説明として解釈しなければならない。別々の実施との関連において本明細書に説明するある一定の特徴も、単一実施での組合せで実施することができる。逆に、単一実施の関連で説明する様々な特徴も、別々に又はあらゆる適切な部分組合せで複数の実施で実施することができる。更に、特徴は、特定の組合せで作用すると上述し、かつそのようなものとして最初に主張したが、主張する組合せからの１又は２以上の特徴は、一部の場合に組合せから削除することができ、主張する組合せは、部分組合せ又は部分組合せの変形に関連する場合がある。
【００７２】
同様に、作動は、特定の順番で図面に示されているが、これは、そのような作動が図示の特定の順番で又は連続的な順番で実行され、又は望ましい結果をもたらすために全ての示す作動が実行されることを必要とすると理解すべきではない。ある一定の状況では、マルチタスク及び平行処理を有利とすることができる。更に、上述の実施形態における様々なシステム構成要素の分離は、そのような分離を全ての実施形態において必要とするとは理解されず、説明するプログラム構成要素及びシステムは、一般的に単一ソフトウエア製品内に互いに統合することができ、又は複数のソフトウエア製品にパッケージ化することができることを理解しなければならない。
【００７３】
いくつかの実施を説明した。それにもかかわらず、様々な修正を本発明の開示の精神及び範囲から逸脱することなく行うことができることは理解されるであろう。従って、他の実施も特許請求の範囲にある。例えば、特許請求の範囲に説明するアクションは、異なる順番で実行し、依然として望ましい結果を達成することができる。
【符号の説明】
【００７４】
１０  床面
１００  ロボット
１１３  前面
１４０  ユーザインタフェース
５３５  側面距離センサ
【図１】
2017503267.tif 000003
【図２】
2017503267.tif 000004
【図３】
2017503267.tif 000005
【図４】
2017503267.tif 000006
【図５】
2017503267.tif 000007
【図６Ａ】
2017503267.tif 000008
【図６Ｂ】
2017503267.tif 000009
【図７Ａ】
2017503267.tif 000010
【図７Ｂ】
2017503267.tif 000011
【図８Ａ】
2017503267.tif 000012
【図８Ｂ】
2017503267.tif 000013
【図８Ｃ】
2017503267.tif 000014
【図９Ａ】
2017503267.tif 000015
【図９Ｂ】
2017503267.tif 000016
【図１０Ａ】
2017503267.tif 000017
【図１０Ｂ】
2017503267.tif 000018
【図１０Ｃ】
2017503267.tif 000019
【図１０Ｄ】
2017503267.tif 000020
【図１０Ｅ】
2017503267.tif 000021
【図１１Ａ】
2017503267.tif 000022
【図１１Ｂ】
2017503267.tif 000023
【図１１Ｃ】
2017503267.tif 000024
【図１２Ａ】
2017503267.tif 000025
【図１２Ｂ】
2017503267.tif 000026
【図１２Ｃ】
2017503267.tif 000027
【図１２Ｄ】
2017503267.tif 000028
【図１３】
2017503267.tif 000029
【図１４】
2017503267.tif 000030
【図１５】
2017503267.tif 000031
【国際調査報告】
2017503267.tif 000032
2017503267.tif 000033