IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ シャークニンジャ オペレーティング エルエルシーの特許一覧

特許7375038アダプティブセンサーアレイシステムおよび方法
<>
  • 特許-アダプティブセンサーアレイシステムおよび方法 図1
  • 特許-アダプティブセンサーアレイシステムおよび方法 図2
  • 特許-アダプティブセンサーアレイシステムおよび方法 図3
  • 特許-アダプティブセンサーアレイシステムおよび方法 図4A
  • 特許-アダプティブセンサーアレイシステムおよび方法 図4B
  • 特許-アダプティブセンサーアレイシステムおよび方法 図5
  • 特許-アダプティブセンサーアレイシステムおよび方法 図6
  • 特許-アダプティブセンサーアレイシステムおよび方法 図7
  • 特許-アダプティブセンサーアレイシステムおよび方法 図8
  • 特許-アダプティブセンサーアレイシステムおよび方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-27
(45)【発行日】2023-11-07
(54)【発明の名称】アダプティブセンサーアレイシステムおよび方法
(51)【国際特許分類】
   G05D 1/02 20200101AFI20231030BHJP
   A47L 9/28 20060101ALI20231030BHJP
   B25J 19/02 20060101ALI20231030BHJP
【FI】
G05D1/02 J
A47L9/28 E
B25J19/02
【請求項の数】 27
(21)【出願番号】P 2021556506
(86)(22)【出願日】2020-03-20
(65)【公表番号】
(43)【公表日】2022-05-17
(86)【国際出願番号】 US2020023892
(87)【国際公開番号】W WO2020191304
(87)【国際公開日】2020-09-24
【審査請求日】2021-11-16
(31)【優先権主張番号】62/821,833
(32)【優先日】2019-03-21
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】510053422
【氏名又は名称】シャークニンジャ オペレーティング エルエルシー
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(74)【代理人】
【識別番号】100142907
【弁理士】
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】イリクリ,アレックス
(72)【発明者】
【氏名】フィービッグ,チャールズ
(72)【発明者】
【氏名】カマダ,イサク ダグラス
(72)【発明者】
【氏名】カラー,グザヴィエ エフ.
(72)【発明者】
【氏名】ブルナー,チャールズ,エス.
(72)【発明者】
【氏名】バーク,ブライアン
【審査官】藤崎 詔夫
(56)【参考文献】
【文献】米国特許出願公開第2005/0251292(US,A1)
【文献】特開2017-015493(JP,A)
【文献】特開2002-131428(JP,A)
【文献】特開2016-218733(JP,A)
【文献】特表2017-503267(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/02
A47L 9/28
B25J 19/02
(57)【特許請求の範囲】
【請求項1】
ロボットクリーナー用のセンサーアレイコントローラーであって、
回路を備え、前記回路が、
センサーアレイから1つ以上の信号を受信し、前記受信した信号を1つ以上の物体検出閾値の値と比較することと、
前記ロボットクリーナーが、所定期間の時間ウィンドウWにわたって走行経路に沿って移動していて、前記ロボットクリーナーが前記走行経路を変更することを引き起こす事象検出なかったかどうかを決定することと、
前記ロボットクリーナーが前記ウィンドウWの間に前記走行経路に沿って移動していて、前記ロボットクリーナーが前記走行経路を変更することを引き起こす事象検出なかったという決定に応答して、前記ウィンドウWの複数の校正期間Cの間に前記センサーアレイから前記受信した信号の値を計算することであって、前記ウィンドウWの間の全校正期間Cの合計が、前記ウィンドウWの長さよりも小さい、計算することと、
前記ウィンドウWの間の前記計算された値に基づいて、前記物体検出閾値の値のうちの1つ以上を調整することと、
前記センサーアレイから前記受信した信号が、所定の時間量Tfalse以上にわたって前記物体検出閾値のうちの1つ以上を満たすか、または超えるかどうかを決定することと、
前記センサーアレイから前記受信した信号が所定の時間量Tfalse以上にわたって前記物体検出閾値のうちの1つ以上を満たすか、または超えるという決定に応答して、前記ロボットクリーナーを前方運動に従事させることと、を行うように構成されている、センサーアレイコントローラー。
【請求項2】
前記ロボットクリーナーが前記ウィンドウWの間に前記走行経路に沿って移動していなかったという前記決定に応答して、前記センサーアレイコントローラーが、1つ以上の現在の物体検出閾値の値を使用するようにさらに構成されている、請求項1に記載のセンサーアレイコントローラー。
【請求項3】
前記ウィンドウWの複数の校正期間Cの間に前記センサーアレイから前記受信した信号の前記値が、前記ウィンドウWの前記複数の校正期間Cの間に前記センサーアレイから前記受信した信号の平均値に少なくとも部分的に基づいて計算される、請求項1に記載のセンサーアレイコントローラー。
【請求項4】
前記ロボットクリーナーが衝突を検出せず、かつ旋回を惹起しない場合に、前記ロボットクリーナーが、ウィンドウWの間に前記走行経路に沿って移動していたと決定される、請求項1に記載のセンサーアレイコントローラー。
【請求項5】
前記センサーアレイから前記受信した信号が、前記所定の時間量Tfalse以上にわたって前記物体検出閾値のうちの1つ以上を満たすか、または超えるかどうかを前記決定することが、前記センサーアレイから前記受信した信号が、前記所定の時間量Tfalse以上にわたって遠方物体検出閾値を満たすか、または超えるかどうかを決定することを含む、請求項に記載のセンサーアレイコントローラー。
【請求項6】
前方運動に従事することが、
前記物体検出閾値のうちの1つ以上を最大値に設定すること、
前記物体検出閾値のうちの1つ以上を上昇値に設定すること、
前記物体検出閾値のうちの1つ以上を無効にすること、および/または
前記物体検出閾値のうちの1つ以上を無視すること、のうちの1つ以上を含む、請求項に記載のセンサーアレイコントローラー。
【請求項7】
前記校正期間Cのうちの少なくとも1つが、前記ウィンドウWの始まりで開始する、請求項1に記載のセンサーアレイコントローラー。
【請求項8】
前記走行経路が、実質的に線形の移動を含む、請求項1に記載のセンサーアレイコントローラー。
【請求項9】
前記走行経路が、曲線形の移動を含む、請求項1に記載のセンサーアレイコントローラー。
【請求項10】
ロボットクリーナー用のアダプティブセンサーアレイ方法であって、
センサーアレイから1つ以上の信号を受信し、前記受信した信号を1つ以上の物体検出閾値の値と比較することと、
前記ロボットクリーナーが、所定期間の時間ウィンドウWにわたって走行経路に沿って移動していて、前記ロボットクリーナーが前記走行経路を変更することを引き起こす事象検出なかったかどうかを決定することと、
前記ロボットクリーナーが前記ウィンドウWの間に前記走行経路に沿って移動していて、前記ロボットクリーナーが前記走行経路を変更することを引き起こす事象検出なかったという決定に応答して、前記ウィンドウWの複数の校正期間Cの間に前記センサーアレイから前記受信した信号の値を計算することであって、前記ウィンドウWの間の全校正期間Cの合計が、前記ウィンドウWの長さよりも小さい、計算することと、
前記ウィンドウWの間の前記計算された値に基づいて、前記物体検出閾値の値のうちの1つ以上を調整することと、
前記センサーアレイから前記受信した信号が、所定の時間量Tfalse以上にわたって前記物体検出閾値のうちの1つ以上を満たすか、または超えるかどうかを決定することと、
前記センサーアレイから前記受信した信号が所定の時間量Tfalse以上にわたって前記物体検出閾値のうちの1つ以上を満たすか、または超えるという前記決定に応答して、前記ロボットクリーナーを前方運動に従事させることと、を含む、方法。
【請求項11】
前記ロボットクリーナーが前記ウィンドウWの間に前記走行経路に沿って移動していなかったという決定に応答して、前記方法が、1つ以上の現在の物体検出閾値の値を使用することをさらに含む、請求項10に記載の方法。
【請求項12】
前記ウィンドウWの複数の校正期間Cの間に前記センサーアレイから前記受信した信号の前記値を前記計算することが、前記値を、前記ウィンドウWの前記複数の校正期間Cの間に前記センサーアレイから前記受信した信号の平均値に少なくとも部分的に基づいて、計算することを含む、請求項10に記載の方法。
【請求項13】
前記ロボットクリーナーが衝突を検出せず、かつ旋回を惹起しない場合に、前記ロボットクリーナーが、ウィンドウWの間に前記走行経路に沿って移動していたと決定する、請求項10に記載の方法。
【請求項14】
前記センサーアレイから前記受信した信号が、前記所定の時間量Tfalse以上にわたって前記物体検出閾値のうちの1つ以上を満たすか、または超えるかどうかを前記決定することが、前記センサーアレイから前記受信した信号が、前記所定の時間量Tfalse以上にわたって遠方物体検出閾値を満たすか、または超えるかどうかを決定することを含む、請求項10に記載の方法。
【請求項15】
前方運動に従事することが、
前記物体検出閾値のうちの1つ以上を最大値に設定すること、
前記物体検出閾値のうちの1つ以上を上昇値に設定すること、
前記物体検出閾値のうちの1つ以上を無効にすること、および/または
前記物体検出閾値のうちの1つ以上を無視すること、のうちの1つ以上を含む、請求項10に記載の方法。
【請求項16】
前記校正期間Cのうちの少なくとも1つが、前記ウィンドウWの始まりで開始する、請求項10に記載の方法。
【請求項17】
前記走行経路が、実質的に線形の移動を含む、請求項10に記載の方法。
【請求項18】
前記走行経路が、曲線形の移動を含む、請求項10に記載の方法。
【請求項19】
命令を組み合わせて、または単独で記憶する、1つ以上の非一時的なコンピューター可読メモリーであって、前記命令が、1つ以上のプロセッサーによって実行されたときに、
ロボットクリーナー用のセンサーアレイから1つ以上の信号を受信し、前記受信した信号を1つ以上の物体検出閾値の値と比較する動作と、
前記ロボットクリーナーが、所定期間の時間ウィンドウWにわたって走行経路に沿って移動していて、前記ロボットクリーナーが前記走行経路を変更することを引き起こす事象検出なかったかどうかを決定する動作と、
前記ロボットクリーナーが前記ウィンドウWの間に前記走行経路の直線運動に沿って移動していて、前記ロボットクリーナーが前記走行経路を変更することを引き起こす事象検出なかったという前記決定に応答して、前記ウィンドウWの複数の校正期間Cの間に前記センサーアレイから前記受信した信号の値を計算する動作であって、前記ウィンドウWの間の全校正期間Cの合計が、前記ウィンドウWの長さよりも小さい、計算する動作と、
前記ウィンドウWの間の前記計算された値に基づいて、前記物体検出閾値の値のうちの1つ以上を調整する動作と、
前記センサーアレイから前記受信した信号が、所定の時間量Tfalse以上にわたって前記物体検出閾値のうちの1つ以上を満たすか、または超えるかどうかを決定する動作と、
前記センサーアレイから前記受信した信号が所定の時間量Tfalse以上にわたって前記物体検出閾値のうちの1つ以上を満たすか、または超えるという前記決定に応答して、前記ロボットクリーナーを前方運動に従事させる動作と、を引き起こす、1つ以上の非一時的なコンピューター可読メモリー。
【請求項20】
前記ロボットクリーナーが前記ウィンドウWの間に前記走行経路に沿って移動していなかったという決定に応答して、前記動作が、1つ以上の現在の物体検出閾値の値を使用することをさらに含む、請求項19に記載の1つ以上の非一時的なコンピューター可読メモリー。
【請求項21】
前記ウィンドウWの複数の校正期間Cの間に前記センサーアレイから前記受信した信号の前記値を前記計算することが、前記値を、前記ウィンドウWの前記複数の校正期間Cの間に前記センサーアレイから前記受信した信号の平均値に少なくとも部分的に基づいて、計算することを含む、請求項19に記載の1つ以上の非一時的なコンピューター可読メモリー。
【請求項22】
前記ロボットクリーナーが衝突を検出せず、かつ旋回を惹起しない場合に、前記ロボットクリーナーが、ウィンドウWの間に前記走行経路に沿って移動していたと決定する、請求項19に記載の1つ以上の非一時的なコンピューター可読メモリー。
【請求項23】
前記センサーアレイから前記受信した信号が、前記所定の時間量Tfalse以上にわたって前記物体検出閾値のうちの1つ以上を満たすか、または超えるかどうかを前記決定することが、前記センサーアレイから前記受信した信号が、前記所定の時間量Tfalse以上にわたって遠方物体検出閾値を満たすか、または超えるかどうかを決定することを含む、請求項19に記載の1つ以上の非一時的なコンピューター可読メモリー。
【請求項24】
前方運動に従事させることが、
前記物体検出閾値のうちの1つ以上を最大値に設定すること、
前記物体検出閾値のうちの1つ以上を上昇値に設定すること、
前記物体検出閾値のうちの1つ以上を無効にすること、および/または
前記物体検出閾値のうちの1つ以上を無視すること、のうちの1つ以上を含む、請求項19に記載の1つ以上の非一時的なコンピューター可読メモリー。
【請求項25】
前記校正期間Cのうちの少なくとも1つが、前記ウィンドウWの始まりで開始する、請求項19に記載の1つ以上の非一時的なコンピューター可読メモリー。
【請求項26】
前記走行経路が、実質的に線形の移動を含む、請求項19に記載の1つ以上の非一時的なコンピューター可読メモリー。
【請求項27】
前記走行経路が、曲線形の移動を含む、請求項19に記載の1つ以上の非一時的なコンピューター可読メモリー。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、参照により完全に本明細書に組み込まれる、2019年3月21日に出願された米国仮特許出願番号第62/821,833号の利益を主張するものである。
【0002】
本開示は、概して、表面処理装置、より具体的には、アダプティブセンサーアレイシステムおよび方法を有する、ロボットクリーナーを対象とする。
【背景技術】
【0003】
表面処理装置は、ロボットクリーナーを含み得る。いくつかのロボットクリーナーは、表面の周りを自律的に走行しながら、表面上に残された破片を収集するように構成されている。ロボットクリーナーは、ランダムな経路および/または所定の経路に従って、表面に沿って走行するように構成され得る。ランダムな経路および/または所定の経路に従って表面に沿って走行するとき、ロボットクリーナーは、1つ以上の障害物に遭遇することに応答して、その走行経路を調整し得る。所定の経路に従って表面に沿って走行するとき、ロボットクリーナーは、以前の動作で、掃除される領域のマップを開発し、マップに基づいて所定の経路に従って領域の周りに走行し得る。ロボットクリーナーがランダムまたは所定の経路に従って走行するよう構成されるか否かにかかわらず、ロボットクリーナーは、所定のパターンで走行するよう構成され得る。例えば、ロボットクリーナーは、増加した破片の位置に位置付けされ、ロボットクリーナーを所定の時間、増加した破片の位置に留まるようにさせる掃除パターンに入るようにさせ得る。
【図面の簡単な説明】
【0004】
これらおよびその他の特徴の利点は、以下の図面とともに以下の詳細な説明を読むことによってより良く理解される。
【0005】
図1】本開示の実施形態と一致する、ロボットバキュームクリーナーの一実施例の概略図である。
図2】本開示の実施形態と一致する、アダプティブセンサーアレイアルゴリズムの1つの実施例のフローチャートである。
図3】本開示の実施形態と一致する、校正期間を決定するためのアルゴリズムの1つの実施例のフローチャートである。
図4A】本開示の実施形態と一致する、複数の校正期間を有するウィンドウの1つの実施例を概して説明する。
図4B】概して、本開示の実施形態と一致する、複数の校正期間を有するウィンドウの別の実施例を説明する。
図5】概して、本開示の実施形態と一致する、新しいウィンドウの設定方法のためのアルゴリズムの1つの実施例を説明する。
図6】概して、本開示の実施形態と一致する、新しいウィンドウの設定方法のためのアルゴリズムの別の実施例を説明する。
図7】概して、本開示の実施形態と一致する、新しいウィンドウの設定方法のためのアルゴリズムのさらなる実施例を説明する。
図8】概して、本開示の実施形態と一致する、新しいウィンドウの設定方法のためのアルゴリズムのさらに別の実施例を説明する。
図9】本開示の実施形態と一致する、アダプティブセンサーアレイアルゴリズムの別の実施例のフローチャートである。
【発明を実施するための形態】
【0006】
本開示は、概して、アダプティブセンサーアレイシステムおよび方法を含むロボットクリーナー(例えば、ロボットバキュームクリーナー)を対象とする。ロボットクリーナーは、センサーアレイおよびセンサーアレイコントローラーを含み得る。センサーアレイコントローラーは、センサーアレイから信号を受信し、受信した信号を1つ以上の物体検出閾値の値と比較するように構成されている。1つの実施形態によれば、センサーアレイコントローラーは、ロボットクリーナーが、所定期間の時間ウィンドウWにわたって走行経路に沿って移動していた(すなわち、衝突が検出されず、かつ/または旋回なし)かどうかを決定/検出するように構成されている、アダプティブセンサーアレイアルゴリズムを含む。そうである場合、センサーアレイコントローラーは、ウィンドウWの1つ以上の校正期間Cの間にセンサーアレイから検出された信号の値を計算するように構成されている。全校正期間Cの合計は、ウィンドウWの長さよりも小さい。校正期間Cのうちの1つは、ウィンドウWの始まりで開始し得る。センサーアレイコントローラーは、ウィンドウWの間(例えば、校正期間C)の計算された値に基づいて、物体検出閾値の値のうちの1つ以上を調整するようにさらに構成されている。任意選択で、センサーアレイコントローラーは、センサーアレイから検出された値が、所定の時間量Tfalse以上にわたって1つ以上の物体検出閾値を満たす、および/または超えるかどうかを決定するように構成される。そうである場合、センサーアレイコントローラーは、センサーアレイが偽トリガー状態を引き起こしていると仮定し得、ロボットクリーナーを前方運動に従事させ得、前述のように、物体検出閾値のうちの1つ以上を調整し得る。
【0007】
図1は、ロボットバキュームクリーナー100の一実施例の概略図を示す。示されるように、ロボットバキュームクリーナー100は、ダストカップ104および吸引モーター106に流体的に連結された空気入口102を含む。吸引モーター106は、破片を空気入口102内に吸引し、後で廃棄するためにダストカップ104内に堆積させる。ロボットバキュームクリーナー100は、任意選択で、空気入口102内に少なくとも部分的に配置される1つ以上の攪拌器103を含み得る。攪拌器103は、攪拌器103が長手方向枢動軸を中心として回転するように、ロボットバキュームクリーナー100内に配置された1つ以上のモーターによって駆動され得る。非限定的な実施例として、攪拌器103は、複数のブラシ毛を有する回転可能なブッシュバーを含み得る。
【0008】
また示されるように、ロボットバキュームクリーナー100は、それぞれの駆動モーター110に連結された複数のホイール108を含む。このように、各ホイール108は、概して、独立して駆動されるものとして説明され得る。ロボットバキュームクリーナー100は、複数のホイール108のうちの一方の回転速度を、複数のホイール108のうちのもう一方に対して調整することによって操縦され得る。
【0009】
1つ以上のサイドブラシ118は、サイドブラシ118の一部分が、ロボットバキュームクリーナー100のハウジング114によって画定される周囲に少なくとも(例えば、周囲を越えて)延在するように位置付けられ得る。サイドブラシ118は、ハウジング114の周囲を越えて位置する破片が収集され得るように、空気入口102の方向に破片を付勢するように構成され得る。例えば、サイドブラシ118は、サイドブラシモーター120の起動に応答して回転するように構成され得る。
【0010】
ユーザーインターフェイス122は、ユーザーがロボットバキュームクリーナー100を制御することを可能にするように提供され得る。例えば、ユーザーインターフェイス122は、ロボットバキュームクリーナー100の1つ以上の特徴に対応する1つ以上の押しボタンを含み得る。
【0011】
1つ以上の変位可能なバンパー112は、ロボットバキュームクリーナー100のハウジング114によって画定される周囲の一部分に沿って配置され得る。変位可能なバンパー112は、例えば、障害物の係合に応答して、非作動位置と作動位置との間で移行するように構成される。変位可能なバンパー112は、ハウジング114の頂面に概ね平行に延在する第1の軸116に沿って移動可能であるように構成され得る。このように、変位可能なバンパー112は、掃除する表面の上に配置され、そこから延在する障害物の少なくとも一部分と係合すること(例えば、接触すること)に応答して変位する。追加的に、または代替的に、変位可能なバンパー112は、第1の軸116に対して横方向に(例えば、垂直に)延在する第2の軸に沿って移動可能であるように構成され得る。このように、変位可能なバンパー112は、掃除する表面から離間した障害物の少なくとも一部分と係合すること(例えば、接触すること)に応答して変位する。したがって、ロボットバキュームクリーナー100は、障害物と掃除する表面との間に閉じ込められることを回避し得る。単一の変位可能なバンパー112がロボットバキュームクリーナー100の概して前方半分に示されているが、1つ以上の変位可能なバンパー112がロボットバキュームクリーナー100の任意の場所に位置し得ることを理解されたい。
【0012】
ロボットバキュームクリーナー100はまた、1つ以上のセンサーアレイ124および1つ以上のセンサーアレイコントローラー126を含み得る。センサーアレイ124は、エミッターセンサー128および検出器センサー130を含む、複数の光学センサーおよび/または音響センサーを含み得る。例えば、センサーアレイ124は、複数の赤外線エミッターおよび赤外線検出器を含み得る。エミッターセンサー128および/または検出器センサー130の少なくとも一部分は、変位可能なバンパー112とハウジング114との間に配置され得る。したがって、エミッターセンサー128によって伝送される信号および/または検出器センサー130によって受信される反射信号のうちの少なくともいくつかは、変位可能なバンパー112の一部分を通過し得る。センサーアレイ124がロボットバキュームクリーナー100の概して前方半分に示されているが、センサーアレイ124がロボットバキュームクリーナー100の任意の場所(例えば、側面および/または背面)に位置し得ることを理解されたい。
【0013】
動作中、エミッターセンサー128は、検出信号をロボットバキュームクリーナー100の周り(例えば、限定されるものではないが、ロボットバキュームクリーナー100の前および/もしくは左、右、ならびに/または後ろ)の環境に伝送するように構成されている。検出信号の少なくとも一部分は、検出器センサー130に向かって反射して戻される。検出器センサー130は、反射信号を受信し、信号をセンサーアレイコントローラー126に伝送する。センサーアレイコントローラー126は、物体検出を実施するように構成されたコンピューター可読メモリー132および回路134(例えば、限定されるものではないが、1つ以上のプロセッサー、統合型コントローラーなど)を含み得る。少なくとも1つの実施形態では、回路134は、センサーアレイ124(例えば、検出器センサー130)からの信号を、メモリー134に記憶されている1つ以上の閾値の値と比較するように構成され得る。例えば、閾値の値は、遠方物体検出閾値および/または近方物体検出閾値を含み得る。遠方物体検出閾値は、近方物体検出閾値よりも低い値に対応し得る。非限定的な実施例として、遠方物体検出閾値は、センサーアレイ124によって伝送される物体非検出信号(すなわち、いかなる物体もセンサーアレイ124の検出フィールド内に存在しない場合の、センサーアレイ124からの信号の値)の150%であってもよく、近方物体検出閾値は、物体非検出信号の300%であってもよい。もちろん、これらの値は、単に例示的な値であり、その他の値および/または他の閾値が使用され得る。
【0014】
センサーアレイ124およびセンサーアレイコントローラー126は概して有効であるが、破片が、変位可能なバンパー112および/またはセンサーアレイ124上に蓄積する場合があり、これは、時間とともに伝送および/または反射信号の信号強度に影響を与え得る。例えば、いくつかの例では、破片が、変位可能なバンパー112および/またはセンサーアレイ124上に積み重ねられる場合があり、これが、時間とともに伝送および/または反射信号の信号強度を減少させ得る。さらに、破片を、変位可能なバンパー112および/またはセンサーアレイ124から除去することができ(例えば、ユーザーが、変位可能なバンパー112および/またはセンサーアレイ124を拭くことができ)、これにより、伝送および/または反射信号の信号強度を即座に増加させることができる。したがって、本開示と一致する少なくとも1つの実施形態によるセンサーアレイコントローラー126は、メモリー132に記憶されている閾値の値のうちの1つ以上を調整するためのアダプティブセンサーアレイアルゴリズムを含み得る。
【0015】
ここで図2を参照して、センサーアレイコントローラー126によって実行/実施されるアダプティブセンサーアレイアルゴリズム200の1つの実施形態を概して説明する。センサーアレイコントローラー126は、所定期間の時間にわたる、走行経路に沿ったロボットバキュームクリーナー100の移動を決定/検出すること(動作202)によって始まってもよい。例えば、センサーアレイコントローラー126は、ロボットバキュームクリーナー100が、所定の時間量のウィンドウWの間に走行経路に沿って移動したかどうかを決定することができる。ロボットバキュームクリーナー100の運動として走行経路が定義され、その間、ロボットバキュームクリーナー100は、ロボットバキュームクリーナー100がコース/方向を変更することを引き起こす/トリガーする事象を検出しない。走行経路の1つの実施例としては、実質的に線形の移動が挙げられ得る。実質的に線形の移動は、10%を超えて変化しない進路に沿った移動として定義される。走行経路の別の実施例としては、曲線形および/またはアーチ形の移動が挙げられ得る。走行経路のさらなる非限定的な実施例としては、ジグザグパターン、スパイラルパターンなどが挙げられ得る。コース/方向の変更をトリガーし得る事象の非限定的な実施例としては、衝突(例えば、変位可能なバンパー112の起動によって引き起こされる衝突)の検出/決定、1つ以上の閾値の値を満たす、および/もしくは超えるセンサーアレイ124からの値の検出/決定、クリフ検出、ならびに/またはロボットバキュームクリーナー100が1つの方向にあまりにも長く(例えば、時間および/または距離)走行しているという検出/決定が挙げられる。
【0016】
所定の時間量のウィンドウWは、センサーアレイコントローラー126のコンピューター処理要件および感度要件のバランスをとるために選択され得る。1つの実施形態によれば、ウィンドウWは、4秒の長さであってもよい。しかしながら、ウィンドウWは4秒よりも長くても短くてもよいことを理解されたい。例えば、ウィンドウWは、1秒~20秒の長さ、例えば、2秒~15秒の長さ、3秒~10秒、および/またはこれらのうちの任意の範囲もしくは値であってもよい。ウィンドウWの長さは、調整可能(例えば、動的に調整可能)であってもよいことも理解されたい。例えば、ウィンドウWの長さは、ロボットバキュームクリーナー100が動作している部屋のサイズ、検出された障害物の数、収集された破片の量、残りのバッテリー寿命、ロボットバキュームクリーナー100が充電/ドッキングステーションにどれだけ近いかなどに基づいて、調整され得る。
【0017】
センサーアレイコントローラー126が、ウィンドウWの間にロボットバキュームクリーナー100がコース/方向を変更することを引き起こす/トリガーする事象を検出/決定する場合(例えば、動作202において「いいえ」)、センサーアレイコントローラー126は、現在の閾値の値を使用し続け(動作204)、新しいウィンドウWの間に走行経路に沿った移動を検出すること(動作202)に戻る。新しいウィンドウWは、ロボットバキュームクリーナー100が旋回することを引き起こす/トリガーする最後の事象の後(例えば、すぐ後、またはいくらかの所定の時間量の後)の、ある点で始まってもよい。
【0018】
センサーアレイコントローラー126が、ウィンドウWの間にロボットバキュームクリーナー100がコース/方向を変更することを引き起こす/トリガーする事象を検出しない場合(例えば、動作202において「はい」)、センサーアレイコントローラー126は、1つ以上の校正期間Cの間にセンサーアレイ124から検出された信号の値を計算する(動作206)。1つ以上の校正期間Cは、集合的に、アクティブ(例えば、現在の)ウィンドウWの一部分のみに達する。すなわち、アクティブウィンドウWの間の全校正期間Cの組み合わされた時間量は、アクティブウィンドウWの長さよりも小さい。例示的な目的のために、アクティブウィンドウWは、時間Tで始まり、時間Tendで終了してもよく、集合的に、校正期間Cの合計量は、Tend-T未満である。
【0019】
センサーアレイ124から検出された信号の計算された値は、1つ以上の要因に基づいて決定され得る。非限定的な実施例として、センサーアレイコントローラー126は、検出された信号の値を、アクティブウィンドウWの間に検出された信号の平均値、アクティブウィンドウWの間に検出された信号の最大/ピーク値、アクティブウィンドウWの間に検出された信号の最小値、アクティブウィンドウWの間に検出された信号の中央値、アクティブウィンドウWの間に検出された信号の重み付けされた値、アクティブウィンドウWの間に検出された信号の最終値、アクティブウィンドウWの間に検出された信号の第1の値、外れ値(データセット内のエラー)を排除すること、および/または類似のものに基づいて、計算し得る。
【0020】
図3を参照して、校正期間Cを決定するためのアルゴリズム300の1つの実施形態を概して説明する。アルゴリズム300は、アクティブウィンドウWの長さLwを選択すること(動作302)を含む。アクティブウィンドウWの長さLwは、センサーアレイコントローラー126のコンピューター処理要件と感度要件とのバランスをとるために、少なくとも部分的に選択され得る。1つの実施形態によれば、アクティブウィンドウWの長さLwは、静的であってもよい。代替的に(またはさらに)、アクティブウィンドウWの長さLwは、調整可能(例えば、動的に調整可能)であってもよい。例えば、アクティブウィンドウWのLwは、ロボットバキュームクリーナー100が動作している部屋のサイズ、検出された障害物の数、収集された破片の量、残りのバッテリー寿命、ロボットバキュームクリーナー100が充電/ドッキングステーションにどれだけ近いかなどに少なくとも部分的に基づいて、調整され得る。
【0021】
次に、校正期間Cの長さLcが選択される(動作304)。校正期間Cの長さLcは、アクティブウィンドウWの長さLwのパーセンテージに少なくとも部分的に基づいて、選択され得る(動作306)。例えば、校正期間Cの長さLcは、等式Lc=Lw/nに少なくとも部分的に基づいて、決定され得、式中、nは、1よりも大きい。非限定的な実施例として、校正期間Cの合計の長さLcは、アクティブウィンドウWの長さLwの5%超~90%以下、例えば、アクティブウィンドウWの長さLwの5%超~80%以下、アクティブウィンドウWの長さLwの5%超~60%以下、アクティブウィンドウWの長さLwの5%超~50%以下、アクティブウィンドウWの長さLwの5%超~40%以下、アクティブウィンドウWの長さLwの5%超~30%以下、および/またはこれらの中の任意の範囲もしくは値であってもよい。代替的に、校正期間Cの長さLcは、設定された時間量であってもよい(動作308)。例えば、設定された時間量は、実際の検出された信号を表す、センサーアレイ124から検出された信号の計算された値を決定するのに足りるデータを提供するのに十分な長さに選択され得る。この目的のために、設定された時間量は、信号の値が外れること(例えば、一時的なスパイクおよび/またはドロップ)を最小化および/または排除するのに十分大きい一方で、データセットの正確な値および/または代表値を決定するのに足りる量のデータも提供するように選択され得る。
【0022】
本明細書で言及されるように、1つ以上の校正期間Cは、集合的に、アクティブ(例えば、現在の)ウィンドウWの一部分のみに達する。すなわち、アクティブウィンドウWの間の全校正期間Cの組み合わされた時間量は、アクティブウィンドウWの長さよりも小さい。複数の校正期間C1、C2を含むアクティブウィンドウWの1つの実施例400を、図4Aで概して説明する。見られ得るように、時間は、水平の線402によって表され、アクティブウィンドウWは、時間Tで開始し、時間Tで終了する。したがって、アクティブウィンドウWの時間量または長さLwの合計は、Tend-Tに等しい。第1の校正期間C1は、アクティブウィンドウWの始まり、すなわち、時間Tで開始し、後続の(例えば、第2の)校正期間C2は、前の校正期間C1の終了後の、いくらかの中間の期間Tintをおいて、時間Tで開始する。アクティブウィンドウWの間の最終または最後の校正期間Cは、アクティブウィンドウWの前または終了時点、すなわち、時間Tendで終了してもよい。校正期間Cの時間量の合計は、アクティブウィンドウWの時間量または長さLwの合計よりも小さい。
【0023】
校正期間(例えば、C1)のうちの1つが、アクティブウィンドウW(例えば、T)の始まりで開始するものとして説明されているが、これは、特にそのように特許請求されない限り、本開示の制限ではないことを理解されたい。例えば、校正期間C(例えば、C1および/またはC2)のうちの1つ以上は、アクティブウィンドウW(例えば、T)が始まった後、図4Bで概して説明される遅延期間T後に開始し得る。遅延期間Tは、所定の時間量(例えば、設定された時間量)および/または可変の時間量を含み得る。例示的な目的のために、アクティブウィンドウWは、時間Tで始まり、時間Tendで終了してもよく、第1の校正期間C1は、時間T+Tで始まってもよく、集合的に、校正期間Cの合計の量は、Tend-T未満である。
【0024】
図2を再び参照すると、校正期間Cの間に検出された信号の値を計算した後、センサーアレイコントローラー126のメモリー132に記憶されている閾値検出値のうちの1つ以上が、校正期間Cの間の計算された値に基づいて、少なくとも部分的に調整される(動作208)。1つの実施形態によれば、閾値のうちの1つ以上は、校正期間Cの間の計算された値の固定されたパーセンテージに基づき得る。例えば、遠方物体検出閾値の値は、校正期間Cの間の計算された値の150%となるように調整されてもよく、近方物体検出閾値は、校正期間Cの間の計算された値の300%となるように調整されてもよい。もちろん、これらの値は単なる例示的な値であること、ならびに他の値および/または他の閾値が使用され得ることを理解されたい。別の実施形態によれば、検出閾値のうちの1つ以上は、線形または非線形の式に基づいて決定され得る。例えば、検出閾値の値のうちの1つ以上は、前のウィンドウWおよび/または閾値の値と比較した、校正期間Cの間の計算された値の変化の量を考慮に入れた式に基づいて決定され得る。
【0025】
閾値検出値が調整された後、新しいウィンドウが設定される(動作210)。新しいウィンドウが設定された後、アルゴリズムは動作202に戻ることができ、アルゴリズムを繰り返すことができる。図5図8を参照して、新しいウィンドウがどのように設定され得るかを説明するアルゴリズムの様々な実施形態を概して説明する。第1の校正期間C1は、図5図8では時間Tで開始するように説明されているが、第1のウィンドウのうちのいずれか1つは、時間Tで開始する必要はなく、代わりに、時間T+Tで始まってもよいことを理解されたい。
【0026】
特に、新しいウィンドウがどのように設定され得るかを概して説明する1つのアルゴリズム500が図5に示されており、ここでは、時間は、水平の線502によって表されている。第1の(例えば、前の)ウィンドウW1は、時間Tで開始し、時間Tで終了し、第1の校正期間T1は、第1のウィンドウW1の始まり、すなわち、時間Tで開始する。後続の(すなわち、新しい)ウィンドウW2は、前のウィンドウW1の終了時、すなわち、時間Tで始まり、第2の校正期間T2は、第2のウィンドウW2の始まり、すなわち、時間Tで開始する。
【0027】
新しいウィンドウがどのように設定され得るかを概して説明する別の実施形態のアルゴリズム600が図6に示されており、ここでは、時間は、水平の線602によって表されている。第1の(例えば、前の)ウィンドウW1は、時間Tで開始し、時間Tで終了し、第1の校正期間C1は、第1のウィンドウW1の始まり、すなわち、時間Tで開始する。後続の(すなわち、新しい)ウィンドウW2は、第1の校正期間C1の終了時に始まり、第2の校正期間C2は、第1の校正期間T1の終了時に開始する。
【0028】
新しいウィンドウがどのように設定され得るかを概して説明するさらに別の実施形態のアルゴリズム700が図7に示されており、ここでは、時間は、水平の線702によって表されている。第1の(例えば、前の)ウィンドウW1は、時間Tで開始し、時間Tで終了し、第1の校正期間C1は、第1のウィンドウW1の始まり、すなわち、時間Tで開始する。後続の(すなわち、新しい)ウィンドウW2は、前の(例えば、第1の)ウィンドウW1の終了後に所定の時間量Twaitを始め、第2の校正期間C2は、後続の(例えば、第2の)ウィンドウW2の始まりで開始する。同様に、図8は、新しいウィンドウをどのように設定するかを示すアルゴリズム800のさらなる実施形態を概して説明しており、ここでは、時間は、水平の線802によって表されている。第1の(例えば、前の)ウィンドウW1は、時間Tで開始し、時間Tで終了し、第1の校正期間C1は、第1のウィンドウW1の始まり、すなわち、時間Tで開始する。後続の(すなわち、新しい)ウィンドウW2は、前の(例えば、第1の)ウィンドウW1が始まった後に所定の時間量Twaitを始め、第2の校正期間C2は、後続の(例えば、第2の)ウィンドウW2の始まりで開始する。両方の実施形態において、所定の時間量Twaitは、本明細書に記載の要因のいずれかに基づいて、固定されてもよく、かつ/または調整可能であってもよい。
【0029】
ここで図9を参照して、センサーアレイコントローラー126によって実行/実施されるアダプティブセンサーアレイアルゴリズム900のさらなる実施形態を概して説明する。本明細書に記載のアダプティブセンサーアレイアルゴリズム200と同様であるアルゴリズム900の動作は、繰り返さない。動作210の後に動作202に戻るのではなく、アダプティブセンサーアレイアルゴリズム900は、センサーアレイ124から検出された値が、所定の時間量Tfalse以上にわたって、1つ以上の物体検出閾値を満たす、および/または超えるかどうかを決定し得る(動作902)。例えば、アダプティブセンサーアレイアルゴリズム900は、センサーアレイ124から検出された値が、所定の時間量Tfalse以上にわたって、遠方物体検出閾値を満たす、および/もしくは超えるが、近方物体検出閾値を満たさない、および/もしくは超えない、ならびに/または衝突(例えば、変位可能なバンパー112の起動によって引き起こされた衝突)を検知しないかどうかを決定し得る。
【0030】
センサーアレイ124から検出された値が、所定の時間量Tfalse以上にわたって、1つ以上の物体検出閾値を満たさない、および/または超えない場合(例えば、動作902において「いいえ」)、アルゴリズム900は、動作202に戻ることができ、アルゴリズム900を繰り返すことができる。時間期間Tfalseは、複数のウィンドウWの長さLw以上となるように選択され得る。例えば、時間期間Tfalseは、ロボットバキュームクリーナー100の平均速度、ならびにセンサーアレイ124および/またはセンサーアレイコントローラー126の最大物体検出距離に基づいて、選択され得る。例えば、時間期間Tfalseは、ロボットバキュームクリーナー100が、ロボットバキュームクリーナー100、ならびにセンサーアレイ124および/またはセンサーアレイコントローラー126の最大物体検出距離に基づいて、別の物体検出閾値をトリガーした場合、および/または物体に衝突した場合などに選択され得る。代替的に(またはさらに)、時間期間Tfalseは、固定された時間量および/または調整可能な(例えば、動的に調整可能な)時間量であってもよい。例えば、時間期間Tfalseは、ロボットバキュームクリーナー100が動作している部屋のサイズ、検出された障害物の数、収集された破片の量、残りのバッテリー寿命、ロボットバキュームクリーナー100が充電/ドッキングステーションにどれだけ近いかなどに基づいて、調整され得る。
【0031】
センサーアレイ124から検出された値が、所定の時間量Tfalse以上にわたって、1つ以上の物体検出閾値を満たす、および/または超える場合(例えば、動作902において「はい」)、アルゴリズム900(例えば、センサーアレイコントローラー126)は、センサーアレイ124が偽トリガー状態を引き起こしていると仮定し得る。偽トリガー状態は、例えば、センサーアレイ124および/または変位可能なバンパー112が即座に掃除され、かつアダプティブアルゴリズム200が物体検出閾値を低減させた場合に引き起こされ得る。偽トリガー状態の場合、アルゴリズム900は、ロボットバキュームクリーナー100に、前方運動に従事させ、かつ/または前方運動を継続させ得る(動作904)。例えば、アルゴリズム900は、物体検出閾値(例えば、限定されるものではないが、遠方物体検出閾値および/もしくは近方物体検出閾値)のうちの1つ以上を、最大値、上昇値(例えば、最大値の80%以上の値、最大値の90%以上の値、および/もしくは最大値の95%以上の値)に設定すること、物体検出閾値のうちの1つ以上を無効にすること、ならびに/または物体検出閾値のうちの1つ以上を無視することができる。前方運動が起動された後、アルゴリズム900は動作202に戻ることができ、アルゴリズム900を繰り返すことができる。
【0032】
コントローラー126は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、縮小命令セットコンピューター(RISC)プロセッサー、x86命令セットプロセッサー、マイクロコントローラー、特定用途向け集積回路(ASIC)などの、処理デバイス/回路として実装され得る。コントローラー126は、本明細書に開示される様々な態様および実施形態に従ってプロセスを行うために、複数の命令を実行するように構成され得る。例えば、コントローラー126は、図2図9のアダプティブセンサーアレイアルゴリズム/プロセスを実行するように構成され得る。本明細書に開示されるプロセスは、例えば、ソフトウェア(例えば、コントローラー126上で実行されるCもしくはC++)、ハードウェア(例えば、ハードコード化されたゲートレベル論理もしくは専用シリコン)、またはファームウェア(例えば、マイクロコントローラー上で実行される埋め込まれたルーチン)、あるいはこれらの任意の組み合わせで実装され得る。
【0033】
本発明の原理は本明細書に記載されるが、本記述は、例としてのみ行われ、本発明の範囲に限定されないことは、当業者によって理解されるべきである。その他の実施形態は、本明細書に示される例示的な実施形態に加えて、本発明の範囲内で意図される。当業者による修正および置換は、本発明の範囲内であると考えられ、以下の特許請求の範囲を除いて限定されるべきではない。
図1
図2
図3
図4A
図4B
図5
図6
図7
図8
図9