(57)【特許請求の範囲】
【請求項１】
自律式ロボット（１００）であって、
前方駆動方向（Ｆ）を定めるロボット本体（１１０）と、
前記ロボット本体（１１０）を支持し、床表面（１０、１０ａ、１０ｂ）上で前記ロボット（１００）を操縦するよう構成された駆動システム（１２０）と、
前記ロボット本体（１１０）上に配置され、少なくとも１つの近接センサ（５２０、５２０ａ、５２０ｂ、５２０ｃ、５２０ｄ、５２０ｅ、５２０ｆ）を含むセンサシステム（５００）と、
を備え、
前記近接センサ（５２０、５２０ａ、５２０ｂ、５２０ｃ、５２０ｄ、５２０ｅ、５２０ｆ）が、
センサ本体（５１４）と、
前記センサ本体（５１４）により収容される第１、第２、及び第３の構成要素（５２２、５２２ａ、５２２ｂ、５２４、５２４ａ、５２４ｂ）と、
を含み、
前記第１の構成要素（５２２、５２４）が、エミッタ（５２２）及びレシーバ（５２４）のうちの１つであり、前記第２の構成要素（５２２ａ、５２４ａ）及び前記第３の構成要素（５２２ｂ、５２４ｂ）の各々が、エミッタ（５２２ａ、５２２ｂ）及びレシーバ（５２４ａ、５２４ｂ）の残りのものであり、
前記第１の構成要素（５２２、５２４）が、第１の視野（５２３、５２５）を有し、前記第２の構成要素（５２２ａ、５２４ａ）が、第２の視野（５２３ａ、５２５ａ）を有し、前記第３の構成要素（５２２ｂ、５２４ｂ）が、第３の視野（５２３ｂ、５２５ｂ）を有し、前記第１の視野（５２３、５２５）が、前記第２の視野（５２３ａ、５２５ａ）及び前記第３の視野（５２３ｂ、５２５ｂ）と交差しており、
前記第１及び第２の視野（５２３、５２３ａ、５２５、５２５ａ）の交差（Ｖ１）が、第１の体積（Ｖ１）を定め、前記第１及び第３の視野（５２３、５２３ｂ、５２５、５２５ｂ）の交差（Ｖ２）が、第２の体積（Ｖ２）を定め、前記第１の体積（Ｖ１）が、検知基準点（Ｐ）から第１の閾距離（Ｄs）内で第１の表面（１０、１０ａ、１０ｂ）を検出し、前記第２の体積（Ｖ２）が、前記検知基準点から、前記第１の閾距離（Ｄs）よりも大きい第２の閾距離（ＤAC）内で第２の表面（１０、１０ａ、１０ｂ）を検出し、
前記ロボット（１００）は、前記駆動システム（１２０）及び前記センサシステム（５００）と通信状態にあり、前記センサシステム（５００）から受け取ったデータを処理するコンピュータプロセッサ（２０２）を有するコントローラ（２００）であって、前記受け取ったデータに基づいてコマンド（２４１）を発する前記コントローラ（２００）を更に備える、ロボット（１００）。
【請求項２】
２又はそれ以上の近接センサ（５２０、５２０ａ、５２０ｂ、５２０ｃ、５２０ｄ、５２０ｅ、５２０ｆ）を更に備え、前記コントローラ（２００）が、無効にした１つの近接センサ（５２０、５２０ａ、５２０ｂ、５２０ｃ、５２０ｄ、５２０ｅ、５２０ｆ）と有効にした別の近接センサ（５２０、５２０ａ、５２０ｂ、５２０ｃ、５２０ｄ、５２０ｅ、５２０ｆ）との間の閾期間を用いて、前記近接センサ（５２０、５２０ａ、５２０ｂ、５２０ｃ、５２０ｄ、５２０ｅ、５２０ｆ）の各々を順次的に有効及び無効にする、請求項１に記載のロボット（１００）。
【請求項３】
前記コントローラ（２００）が、前記検知基準点（Ｐ）と検知した物体（１０、１０ａ、１０ｂ）との間の目標距離（ｄ）を決定し、前記物体（１０、１０ａ、１０ｂ）までの前記目標距離（ｄ）が前記第２の閾距離（ＤAC）内にある場合には、前記ロボット（１００）の方向を前方駆動方向（Ｆ）から前方以外の駆動方向に変化させる駆動コマンド（２４１）を、前記駆動システム（１２０）に発する、請求項１に記載のロボット（１００）。
【請求項４】
前記センサ本体（５１４）が、少なくとも１つの構成要素（５２２、５２２ａ、５２２ｂ、５２４、５２４ａ、５２４ｂ）の視野（５２３、５２３ａ、５２３ｂ、５２５、５２５ａ、５２５ｂ）を定めるように配列された少なくとも２つのバッフル（５１６、５１９、５２１）を含む、請求項１に記載のロボット（１００）。
【請求項５】
前記第１の構成要素（５２２、５２４）と前記第２の構成要素（５２２ａ、５２４ａ）との間の第１の距離（Ｓ1）が、前記第２の構成要素（５２２ａ、５２４ａ）と前記第３の構成要素（５２２ｂ、５２４ｂ）との間の第２の距離（Ｓ2）よりも小さい、請求項１に記載のロボット（１００）。
【請求項６】
前記各構成要素（５２２、５２２ａ、５２２ｂ、５２４、５２４ａ、５２４ｂ）が、視野軸線（Ｆ523、Ｆ523a、Ｆ523b、Ｆ525、Ｆ525a、Ｆ525b）を定め、前記センサ本体（５１４）が、横軸線（ＸS）及び長手方向軸線（ＹS）を定め、前記構成要素（５２２、５２２ａ、５２２ｂ、５２４、５２４ａ、５２４ｂ）が、前記長手方向軸線（ＹS）に対して或る角度（θ1、θ2、θ3）で配列された視野軸線（Ｆ523、Ｆ523a、Ｆ523b、Ｆ525、Ｆ525a、Ｆ525b）と共に前記横軸線（ＸS）に沿って配置される、請求項１に記載のロボット（１００）。
【請求項７】
前記第２の構成要素（５２２ａ、５２４ａ）及び前記第３の構成要素（５２２ｂ、５２４ｂ）の視野軸線（Ｆ523a、Ｆ523b、Ｆ525a、Ｆ525b）が平行ではない、請求項６に記載のロボット（１００）。
【請求項８】
前記第２の構成要素（５２２ａ、５２４ａ）及び前記第３の構成要素（５２２ｂ、５２４ｂ）の視野軸線（Ｆ523a、Ｆ523b、Ｆ525a、Ｆ525b）が各々、前記ロボット本体（１１０）の後方部分（１１４）に向けて前記センサ本体（１１０）により定められる前記長手方向軸線（ＹS）に対して０〜約１０度の角度（α）で配列される、請求項７に記載のロボット（１００）。
【請求項９】
前記第１の構成要素（５２２、５２４）の視野軸線（Ｆ523、Ｆ525）が、前記長手方向軸線（ＹS）に対して約５度〜約１５度の角度（θ1）で配列され、前記第１の構成要素（５２２、５２４）の視野軸線（Ｆ523、Ｆ525）の角度（θ1）が、前記第２及び第３の構成要素（５２２ａ、５２２ｂ、５２４ａ、５２４ｂ）の視野軸線（Ｆ523a、Ｆ523b、Ｆ525a、Ｆ525b）の角度（θ2、θ3）よりも大きい、請求項６に記載のロボット（１００）。
【請求項１０】
前記第１の閾距離（ＤS）が約２．５４〜７．６２ｃｍであり、及び／又は、前記第２の閾距離（ＤAC）が７．６２ｃｍよりも大きい、請求項１に記載のロボット（１００）。
【請求項１１】
自律式ロボット（１００）であって、
前方駆動方向（Ｆ）を定めるロボット本体（１１０）と、
前記ロボット本体（１１０）を支持し、表面（１０、１０ａ、１０ｂ）上で前記ロボット（１００）を操縦するよう構成された駆動システム（１２０）と、
少なくとも１つの近接センサ（５２０、５２０ａ、５２０ｂ、５２０ｃ、５２０ｄ、５２０ｅ、５２０ｆ）と、
を備え、
前記少なくとも１つの近接センサが、
センサ本体（５１４）と、
第１の視野（５２３、５２５）を有する第１の構成要素（５２２、５２４）と、
第２の視野（５２３ａ、５２５ａ）を有する第２の構成要素（５２２ａ、５２４ａ）であって、前記第１の視野（５２３、５２５）がこの第２の視野（５２３ａ、５２５ａ）と交差して第１の交差体積（Ｖ１）を形成する、前記第２の構成要素（５２２ａ、５２４ａ）と、
第３の視野（５２３ｂ、５２５ｂ）を有する第３の構成要素（５２２ｂ、５２４ｂ）であって、前記第１の視野（５２３、５２５）が前記第３の視野（５２３ｂ、５２５ｂ）と交差して第２の交差体積（Ｖ２）を形成し、該第２の交差体積（Ｖ２）が前記第１の交差体積（Ｖ１）よりも前記ロボット本体（１１０）から遠位にある、前記第３の構成要素（５２２ｂ、５２４ｂ）と、
を含み、
前記第１の構成要素（５２２、５２４）が、エミッタ（５２２）及びレシーバ（５２４）のうちの１つであり、前記第２の構成要素（５２２ａ、５２４ａ）及び前記第３の構成要素（５２２ｂ、５２４ｂ）の各々が、エミッタ（５２２ａ、５２２ｂ）及びレシーバ（５２４ａ、５２４ｂ）の残りのものであり、
前記ロボット（１００）は、前記駆動システム（１２０）と通信状態にあるコントローラ（２００）を更に備え、前記コントローラ（２００）は、物体（１０、１０ａ、１０ｂ）が前記第１の交差体積（Ｖ１）及び前記第２の交差体積（Ｖ２）の少なくとも１つと干渉したときに生成される、前記少なくとも１つの近接センサ（５２０、５２０ａ、５２０ｂ、５２０ｃ、５２０ｄ、５２０ｅ、５２０ｆ）からの信号に基づいて、ロボット（１００）を操縦するために、駆動コマンド（２４１）を前記駆動システム（１２０）に発するよう構成されている、ロボット（１００）。
【請求項１２】
前記コントローラ（２００）が、前記第２及び第３の構成要素（５２２ａ、５２２ｂ、５２４ａ、５２４ｂ）の各々を順次的に有効及び無効にして、前記第２及び第３の構成要素（５２２ａ、５２２ｂ、５２４ａ、５２４ｂ）の１つのみが一度に作動されるようにする、請求項１１に記載のロボット（１００）。
【請求項１３】
前記コントローラ（２００）は、前記物体が前記第２の交差体積（Ｖ２）と干渉した場合に、前記ロボット（１００）の方向を前方駆動方向（Ｆ）から前方以外の駆動方向に変化させる駆動コマンド（２４１）を、前記駆動システム（１２０）に発する、請求項１１に記載のロボット（１００）。
【請求項１４】
前記少なくとも１つの近接センサ（５２０、５２０ａ、５２０ｂ、５２０ｃ、５２０ｄ、５２０ｅ、５２０ｆ）が更に、少なくとも１つの構成要素（５２２、５２２ａ、５２２ｂ、５２４、５２４ａ、５２４ｂ）の視野（５２３、５２３ａ、５２３ｂ、５２５、５２５ａ、５２５ｂ）を定めるように配列された少なくとも２つのバッフル（５１６、５１９、５２１）を含む、請求項１１に記載のロボット（１００）。
【請求項１５】
前記各構成要素（５２２、５２２ａ、５２２ｂ、５２４、５２４ａ、５２４ｂ）が、視野軸線（Ｆ523、Ｆ523a、Ｆ523b、Ｆ525、Ｆ525a、Ｆ525b）を定め、前記センサ本体（５１４）が、横軸線（ＸS）及び長手方向軸線（ＹS）を定め、前記構成要素（５２２、５２２ａ、５２２ｂ、５２４、５２４ａ、５２４ｂ）が、前記長手方向軸線（ＹS）に対して或る角度（θ1、θ2、θ3）で配列された視野軸線（Ｆ523、Ｆ523a、Ｆ523b、Ｆ525、Ｆ525a、Ｆ525b）と共に前記横軸線（ＸS）に沿って配置される、請求項１４に記載のロボット（１００）。
【請求項１６】
前記第１の構成要素（５２２、５２４）と前記第２の構成要素（５２２ａ、５２４ａ）との間の第１の距離（Ｓ1）が、前記第２の構成要素（５２２ａ、５２４ａ）と前記第３の構成要素（５２２ｂ、５２４ｂ）との間の第２の距離（Ｓ2）よりも小さい、請求項１４に記載のロボット（１００）。
【請求項１７】
前記第２の構成要素（５２２ａ、５２４ａ）及び前記第３の構成要素（５２２ｂ、５２４ｂ）の視野軸線（Ｆ523a、Ｆ523b、Ｆ525a、Ｆ525b）が平行ではない、請求項１６に記載のロボット（１００）。
【請求項１８】
前記第２の構成要素（５２２ａ、５２４ａ）及び前記第３の構成要素（５２２ｂ、５２４ｂ）の視野軸線（Ｆ523a、Ｆ523b、Ｆ525a、Ｆ525b）が各々、前記ロボット本体（１１０）の後方部分（１１４）に向けて前記センサ本体（５１４）により定められる長手方向軸線（ＹS）に対して０〜約１０度の角度（α）で配列される、請求項１７に記載のロボット（１００）。
【請求項１９】
前記第１の構成要素（５２２、５２４）の視野軸線（Ｆ523、Ｆ525）が、長手方向軸線（ＹS）に対して約５度〜約１５度の角度（θ1）で配列され、前記第１の構成要素（５２２、５２４）の視野軸線（Ｆ523、Ｆ525）の角度（θ1）が、前記第２及び第３の構成要素（５２２ａ、５２２ｂ、５２４ａ、５２４ｂ）の視野軸線（Ｆ523a、Ｆ523b、Ｆ525a、Ｆ525b）の角度（θ2、θ3）よりも大きい、請求項１６に記載のロボット（１００）。
【請求項２０】
前記第１の交差体積（Ｖ１）が、前記ロボット本体（１１０）から約５ｃｍ延びており、前記第２の交差体積（Ｖ２）が、前記ロボット本体（１１０）から遠隔の距離に約４〜２５ｃｍ延びている、請求項１１に記載のロボット（１００）。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本米国特許出願は、２０１２年９月２１日に出願された米国特許暫定出願第６１／７０４，４１９号に対して米国特許法第１１９（ｅ）条に基づく優先権を主張し、当該暫定出願は引用により全体が本明細書に組み込まれる。
【０００２】
（技術分野）
本開示は、移動式ロボット用の近接センサに関する。
【背景技術】
【０００３】
真空掃除機は一般に、空気ポンプを用いて部分真空を生成して、通常は床から、任意選択的には更に他の表面から塵埃及び汚れを引き上げるようにしている。真空掃除機は通常、後で廃棄するために集塵バッグ又はサイクロン内に汚れを集める。家庭並びに産業界で使用される真空掃除機は、小型バッテリ駆動式携帯装置、家庭用セントラル真空掃除機、排出するまでに数百リットルの塵埃を扱うことができる大型の定置用産業電気機器、又は大量の流出液の回収及び汚染土壌の除去のための自走式真空トラックなど、様々なサイズ及びモデルが存在する。
【０００４】
自律式ロボット真空掃除機は一般に、正常動作条件下では、床を真空掃除しながら居住空間の床表面を移動する。自律式ロボット真空掃除機は一般に、壁、家具、又は階段などの障害物を避けることを可能にするセンサを含む。ロボット真空掃除機は、障害物に衝突したときにその駆動方向を変える（例えば、転回又は後退する）ことができる。ロボット真空掃除機はまた、床上に異常な汚れスポットを検出したときに駆動方向又は駆動パターンを変えることができる。
【発明の概要】
【０００５】
本開示の１つの態様は、センサ本体と、センサ本体により収容される第１のエミッタと、第１のエミッタに隣接してセンサ本体により収容される第２のエミッタと、第２のエミッタの反対側で第１のエミッタに隣接して配置されるレシーバとを含む近接センサを提供する。第１のエミッタが第１の視野を有し、第２のエミッタが第２の視野を有し、レシーバが第３の視野を有する。第１及び第３の視野の交差が第１の体積（volume）を定め、第２及び第３の視野の交差が第２の体積（volume）を定める。第１の体積は、検知基準点から第１の閾距離内で第１の表面を検出し、第２の体積は、検知基準点から第２の閾距離内で第２の表面を検出する。第２の閾距離は第１の閾距離よりも大きい。
【０００６】
本開示の実施構成は、以下の特徴の１又はそれ以上を含むことができる。一部の実施構成において、第１及び第２のエミッタ及びレシーバは、それぞれの視野軸線を定め、センサ本体は、横軸線及び長手方向軸線を定める。第１及び第２のエミッタ及びレシーバは、長手方向軸線に対してある角度で配列された視野軸線と共に横軸線に沿って配置される。第１及び第２のエミッタ及びレシーバのうちの何れかの視野は、センサ本体の長手方向軸線に対して０〜約１０度の角度で配列される。センサ本体は、第１のエミッタ、第２のエミッタ、又はレシーバのうちの少なくとも１つに関する視野を定めるよう配列された少なくとも１つの壁を含む。一部の実施例において、第１の閾距離は、約１インチ〜約３インチに等しい。加えて、又は代替として、第２の閾距離は３インチよりも大きい。
【０００７】
本開示の１つの態様は、センサ本体と、第１、第２及び第３のセンサ構成要素とを含む近接センサを提供する。第１及び第２のセンサ構成要素は、互いに隣接したセンサ本体によって収容される。第１のセンサ構成要素は、エミッタ又はレシーバの何れかである。第２のセンサ構成要素は、エミッタ又はレシーバの何れかであり、第２のセンサ構成要素は第１のセンサ構成要素と同じではない。第３のセンサ構成要素は、第１のセンサとは反対側で第２のセンサに隣接して配置される。第３のセンサ構成要素は、第２のセンサがエミッタである場合にはエミッタであり、又は第２のセンサがレシーバである場合にはレシーバである。第１のセンサ構成要素は第１の視野を有し、第２のセンサ構成要素は第２の視野を有し、第３のセンサ構成要素は第３の視野を有する。第１の視野は、第２の視野及び第３の視野と交差する。第１及び第２の視野の交差は第１の体積を定め、第１及び第３の視野の交差は第２の体積を定める。第１の体積は、検知基準点から第１の閾距離内で第１の表面を検出し、第２の体積は、検知基準点から第２の閾距離内で第２の表面を検出する。第２の閾距離は第１の閾距離よりも大きい。
【０００８】
一部の実施構成において、各エミッタは赤外光を放射し、各レシーバは、放射された赤外光の反射を受け取る。センサ本体は、少なくとも１つのセンサ構成要素の視野を定めるよう配列された少なくとも１つの壁を含むことができる。加えて、又は代替として、第１のセンサ構成要素と第２のセンサ構成要素との間の第１の距離は、第２のセンサ構成要素と第３のセンサ構成要素との間の第２の距離よりも小さい。
【０００９】
各センサ構成要素は、視野軸線を定めることができ、センサ本体は、横軸線と長手方向軸線とを定めることができる。センサ構成要素は、長手方向軸線に対してある角度で配列された視野軸線と共に横軸線に沿って配置することができる。第２のセンサ構成要素及び第３のセンサ構成要素の視野軸線は平行とすることができる。加えて、又は代替として、第２のセンサ構成要素及び第３のセンサ構成要素の視野軸線は各々、センサ本体の長手方向軸線に対して０〜約１０度の角度で配列される。第１のセンサ構成要素の視野軸線は、長手方向軸線に対して約５度〜約１５度の角度で配列することができる。第１のセンサ構成要素の視野軸線の角度は、第２及び第３のセンサ構成要素の視野軸線の角度よりも大きくすることができる。
【００１０】
一部の実施例において、第１の閾距離は、約１インチ〜約１０インチに等しい。加えて、又は代替として、第２の閾距離は１０インチよりも大きくすることができる。
【００１１】
本開示の別の態様は、物体の近接度を検知する方法を提供する。本方法は、コンピュータプロセッサにおいて、第１のセンサからデータを受け取るステップを含む。第１のセンサは、第１のエミッタ及び第１のレシーバを含む。本方法は、コンピュータプロセッサにおいて、第２のエミッタ及び第２のレシーバを備えた第２のセンサからデータを受け取るステップを含む。第１のエミッタ及び第２のエミッタは、同じエミッタであり、第１のレシーバ及び第２のレシーバは、同じレシーバである。本方法は、コンピュータプロセッサを用いて、受け取ったデータに基づいて検知基準点と検知した物体との間の目標距離を求めるステップと、目標距離が第１の閾距離又は第２の閾距離内にあるかどうかを判定するステップとを含む。本方法はまた、コンピュータプロセッサから、目標距離が第１の閾距離又は第２の閾距離内にあるかどうかに基づいて、コマンドを発するステップを含む。一部の実施例において、目標距離が第１の閾距離又は第２の閾距離内にあるかどうかを判定するステップとコマンドを発するステップとの間の処理時間は、約８ミリ秒以下である。
【００１２】
一部の実施構成において、第１のエミッタと第２のエミッタが同じである場合、本方法は更に、第１の視野に沿って第１のエミッタから光を放射するステップと、第２の視野に沿って第１のレシーバにて光の反射を受け取るステップとを含む。加えて、本方法は、第３の視野に沿って第２のレシーバにて光の反射を受け取るステップを含む。第１の視野は、第２及び第３の視野と交差する。第１及び第２の視野の交差は第１の体積を定め、第１及び第３の視野の交差は第２の体積を定める。第１の体積は、検知基準点から第１の閾距離内で第１の表面を検出し、第２の体積は、検知基準点から第２の閾距離内で第２の表面を検出する。第２の閾距離は第１の閾距離よりも大きい。第１、第２及び第３の視野は、第１、第２及び第３の視野軸線を定めることができ、ここで第２及び第３の視野軸線は平行である。加えて、又は代替として、本方法は、第１の視野によって定められる視野軸線を共通の長手方向検知軸線に対して約５度〜約１５度の角度で配列するステップと、第２及び第３の視野によって定められる視野軸線を、共通の長手方向検知軸線に対して約０度〜約１０度の角度で配列するステップと、を含むことができる。
【００１３】
一部の実施構成において、第１のレシーバと第２のレシーバが同じである場合、本方法は更に、第１の視野に沿って光の反射を受け取るステップと、第２の視野に沿って第１のエミッタから光を放射するステップと、を含む。本方法はまた、第３の視野に沿って第２のエミッタから光を放射するステップを含む。第１の視野は、第２及び第３の視野と交差し、ここで第１及び第２の視野の交差は第１の体積を定める。第１及び第３の視野の交差は第２の体積を定める。第１の体積は、検知基準点から第１の閾距離内で第１の表面を検出し、第２の体積は、検知基準点から第２の閾距離内で第２の表面を検出する。第２の閾距離は第１の閾距離よりも大きい。第１、第２及び第３の視野は、第１、第２及び第３の視野軸線を定め、ここで第２及び第３の視野軸線は平行である。加えて、又は代替として、本方法は、第１の視野によって定められる視野軸線を共通の長手方向検知軸線に対して約５度〜約１５度の角度で配列するステップと、第２及び第３の視野によって定められる視野軸線を、共通の長手方向検知軸線に対して約０度〜約１０度の角度で配列するステップと、を含むことができる。
【００１４】
第１のエミッタと第１のレシーバとの間の第１の距離は、第２のエミッタと第２のレシーバとの間の第２の距離よりも小さいとすることができる。第１の閾距離は、約１インチ〜約１０インチに等しいとすることができ、及び／又は第２の閾距離は、１０インチよりも大きい。
【００１５】
本開示の別の態様は、ロボット本体と、駆動システムと、センサシステムと、コントローラとを備えた自律式ロボットを提供する。ロボット本体は、前方駆動方向を定める。駆動システムは、ロボット本体を支持し、床表面上でロボットを操縦するよう構成される。センサシステムは、ロボット本体上に配置され、少なくとも１つの近接センサを含む。近接センサは、センサ本体と、第１、第２及び第３のセンサ構成要素とを含む。第１及び第２のセンサ構成要素は、互いに隣接してセンサ本体によって収容される。第１のセンサ構成要素は、エミッタ及びレシーバの一方であり、第２のセンサ構成要素は、エミッタ及びレシーバの他方である。第３のセンサ構成要素は、第１のセンサとは反対側で第２のセンサに隣接して配置され、第２のセンサがエミッタである場合にはエミッタであり、又は第２のセンサがレシーバである場合にはレシーバである。第１のセンサ構成要素は第１の視野を有し、第２のセンサ構成要素は第２の視野を有し、第３のセンサ構成要素は第３の視野を有する。第１の視野は、第２の視野及び第３の視野と交差する。第１及び第２の視野の交差は第１の体積を定め、第１及び第３の視野の交差は第２の体積を定める。第１の体積は、検知基準点から第１の閾距離内で第１の表面を検出し、第２の体積は、検知基準点から第２の閾距離内で第２の表面を検出する。第２の閾距離は第１の閾距離よりも大きい。コントローラは、駆動システム及びセンサシステムと通信状態にある。コントローラは、センサシステムから受け取ったデータを処理するコンピュータプロセッサを含み、受け取ったデータに基づいてコマンドを発する。センサ本体は、少なくとも１つのセンサ構成要素の視野を定めるよう配列される少なくとも１つの壁を含むことができる。
【００１６】
一部の実施例において、ロボットは、２又はそれ以上の近接センサを含む。コントローラは、無効にした１つの近接センサと有効にした別の近接センサとの間の閾期間を用いて、各近接センサを順次的に有効及び無効にする。
【００１７】
コントローラは、検知基準点と検知した物体との間の目標距離を決定し、物体に対する目標距離が第２の閾距離内にある場合には駆動システムに反転駆動コマンドを発することができる。反転駆動コマンドは、ロボットの方向を前方駆動方向から反転駆動方向に変化させる。加えて、又は代替として、第１のセンサ構成要素と第２のセンサ構成要素との間の第１の距離は、第２のセンサ構成要素と第３のセンサ構成要素との間の第２の距離よりも小さい。
【００１８】
一部の実施構成において、各センサ構成要素は、視野軸線を定め、センサ本体は、横軸線と長手方向軸線とを定める。センサ構成要素は、長手方向軸線に対してある角度で配列された視野軸線と共に横軸線に沿って配置される。第２のセンサ構成要素及び第３のセンサ構成要素の視野軸線は平行とすることができる。第２のセンサ構成要素及び第３のセンサ構成要素の視野軸線は各々、センサ本体の長手方向軸線に対して０〜約１０度の角度で配列することができる。加えて、又は代替として、第１のセンサ構成要素の視野軸線は、長手方向軸線に対して約５度〜約１５度の角度で配列することができる。第１のセンサ構成要素の視野軸線の角度は、第２及び第３のセンサ構成要素の視野軸線の角度よりも大きくすることができる。一部の実施例において、第１の閾距離は約１０インチであり、及び／又は第２の閾距離は１０インチよりも大きい。
【００１９】
本開示の１又はそれ以上の実施構成の詳細は、添付図面及び以下の説明において記載される。他の態様、特徴、及び利点は、本明細書及び図面並びに請求項から明らかになるであろう。
【図面の簡単な説明】
【００２０】
【図１】例示的な自律移動式ロボットの斜視図である。
【図２】図１に示すロボットの分解図である。
【図３】例示的な自律移動式ロボットの正面図である。
【図４】例示的な自律移動式ロボットの概略図である。
【図５】自律移動式ロボット用の例示的なコントローラの概略図である。
【図６】床表面を横断しているときの例示的な自律移動式ロボットの側面図である。
【図７Ａ】床表面を横断しているときの例示的な自律式ロボットの側面図である。
【図７Ｂ】床表面を横断しているときの例示的な自律式ロボットの側面図である。
【図８Ａ】例示的な近接センサの概略側面図である。
【図８Ｂ】例示的な近接センサの概略側面図である。
【図８Ｃ】例示的な近接センサの概略側面図である。
【図８Ｄ】例示的な近接センサの断面図である。
【図８Ｅ】床表面を横断して障害物に遭遇したときの例示的な自律式ロボットの側面図である。
【図９Ａ】１つのエミッタと２つのレシーバを有する例示的な近接センサの概略側面図である。
【図９Ｂ】２つのエミッタと１つのレシーバを有する例示的な近接センサの概略側面図である。
【図９Ｃ】近接センサの視野の角度を示す例示的な近接センサの概略図である。
【図１０Ａ】段差に遭遇した例示的な近接センサの概略図である。
【図１０Ｂ】段差に遭遇した例示的な近接センサの概略図である。
【図１１Ａ】近接センサ用の例示的なハウジングの斜視断面図である。
【図１１Ｂ】図１１Ａの例示的なハウジングから投射された光ビームが表面に衝突した斜視断面図である。
【図１１Ｃ】表面に投影させた図１１Ａの例示的なハウジングから放射された光ビームの上面図である。
【図１２】自律移動式ロボットを作動させる例示的な工程構成の概略図である。
【図１３Ａ】様々な高さで表面を検知したときの例示的な近接センサを有するロボットの概略図である。
【図１３Ｂ】様々な高さで表面を検知したときの例示的な近接センサを有するロボットの概略図である。
【図１３Ｃ】様々な高さで表面を検知したときの例示的な近接センサを有するロボットの概略図である。
【図１３Ｄ】様々な高さで表面を検知したときの例示的な近接センサを有するロボットの概略図である。
【図１３Ｅ】様々な高さで表面を検知したときの例示的な近接センサを有するロボットの概略図である。
【図１３Ｆ】様々な高さで表面を検知したときの例示的な近接センサを有するロボットの概略図である。
【図１３Ｇ】様々な高さで表面を検知したときの例示的な近接センサを有するロボットの概略図である。
【図１３Ｈ】様々な高さで表面を検知したときの例示的な近接センサを有するロボットの概略図である。
【発明を実施するための形態】
【００２１】
種々の図面における同じ参照符号は同じ要素を示している。
【００２２】
移動可能に支持される自律式ロボットは、床表面を移動することができる。一部の実施例において、自律式ロボットは、表面を横断しながらその表面を清掃することができる。ロボットは、負圧（例えば、部分真空）を加えることでデブリを撹拌し及び／又は表面からデブリを持ち上げ、次いで、このデブリを表面から集めることによって表面からデブリを除去することができる。
【００２３】
図１〜３を参照すると、一部の実施構成において、ロボット１００は、例えば、ｘ、ｙ、及びθ成分を有する駆動コマンドに基づいて床表面１０にわたってロボット１００を操縦することができる駆動システム１２０により支持される本体１１０を含む。ロボット本体１１０は、前方部分１１２と後方部分１１４とを有する。図示のように、ロボット本体１１０は、円形形状を有するが、限定ではないが、方形形状、矩形形状、又は前方部分１１２は方形で後方部分１１４は丸みがあるか、又はその逆である組み合わせを含む、他の形状を有することができる。駆動システム１２０は、右及び左被駆動ホイールモジュール１２０ａ、１２０ｂを含む。ホイールモジュール１２０ａ、１２０ｂは、本体１１０によって定められる横軸線Ｘに沿って実質的に対向し、それぞれのホイール１２４ａ、１２４ｂを駆動する駆動モータ１２２ａ、１２２ｂをそれぞれ含む。駆動モータ１２２ａ、１２２ｂは、本体１１０（例えば、ファスナー又は工具不要接続を介して）に解除可能に接続することができ、駆動モータ１２２ａ、１２２ｂは、任意選択的に、実質的にそれぞれのホイール１２４ａ、１２４ｂの上に位置付けられる。ホイールモジュール１２０ａ、１２０ｂは、ロボット本体１１０に解除可能に取り付けられ、床表面１０と係合するようバネ付勢することができる。一部の実施例において、ホイール１２４ａ、１２４ｂは、ホイールモジュール１２０ａ、１２０ｂに解除可能に取り付けられる。ホイール１２４ａ、１２４ｂは、滑り易い床（例えば、木、濡れた床）の上のホイールモジュール１２０ａ、１２０ｂの牽引力を改善する、下方付勢（ｂｉａｓｅｄ−ｔｏ−ｄｒｏｐ）懸架システムを有することができる。一部の実施例において、ホイールモジュール１２０ａ、１２０ｂは、ロボット本体１１０に移動可能に固定（例えば、回転可能に取り付け）され、駆動ホイール１２４ａ、１２４ｂをロボット本体から下向きに離れるよう付勢するバネ付勢（例えば、約５〜２５ニュートン）を受ける。例えば、駆動ホイール１２４ａ、１２４ｂは、展開位置に移動したときに約１０ニュートン、ロボット本体１１０内の格納位置に移動したときに約２０ニュートンの下向きの付勢力を受けることができる。このバネ付勢により、駆動ホイール１２４ａ、１２４ｂは、ロボット１００の何らかの清掃要素が床表面１０に接触しながら、床表面１０との接触及び牽引力を維持することが可能となる。ロボット１００は、ロボット本体１１０の前方部分１１２を支持するよう配置されたキャスターホイール１２６を含むことができる。キャスターホイール１２６は、本体１１０に解除可能に取り付けられ、床表面１０と係合するよう付勢することができる。ロボット本体１１０は、ロボット１００の何れかの電気部品に給電するために電力供給源（例えば、バッテリ）１０２を支持する。
【００２４】
ロボット１００は、本体１１０によって定められる互いに直交する３つの軸線、すなわち、横軸線Ｘ、前後軸線Ｙ、及び中心垂直軸線Ｚに対する移動の種々の組み合わせにより床表面１０にわたって移動することができる。前後軸線Ｙに沿った前方への駆動方向は、Ｆ（以下「前方」と呼ばれる場合もある）で示され、前後軸線Ｙに沿った後方への駆動方向は、Ａ（以下「後方」と呼ばれる場合もある）で示される。横軸線Ｘは、ホイールモジュール１２０ａ、１２０ｂの中心点によって定められる軸線に実質的に沿って右側Ｒと左側Ｌとの間に延びる。
【００２５】
ロボット１００は、Ｘ軸線の周りで傾斜することができる。ロボット１００が南側位置に傾斜すると、ロボット１００は後方部分１１４に向かって傾斜（以下「ピッチアップ」と呼ばれる場合もある）し、ロボット１００が北側位置に傾斜すると、ロボット１００は前方部分１１２に向かって傾斜（以下「ピッチダウン」と呼ばれる場合もある）する。加えて、ロボット１００は、Ｙ軸線の周りに傾斜する。ロボット１００は、Ｙ軸線の東に傾斜（以下「右ロール」と呼ばれる場合もある）することができ、或いは、ロボット１００は、Ｙ軸線の西に傾斜（以下「左ロール」と呼ばれる場合もある）することができる。従って、Ｘ軸線の周りのロボット１００の傾斜の変化は、ピッチ角αXの周りのピッチの変化であり、Ｙ軸線の周りのロボット１００の傾斜の変化は、ロール角αYの周りのロールの変化である。加えて、ロボット１００は、右すなわち東位置、又は左すなわち西位置の何れにも傾斜することができる。一部の実施例において、ロボット１００は、北東、北西、南東、及び南西などの傾斜位置を有するＸ軸線及びＹ軸線の周りに傾斜する。ロボット１００が床表面１０を横断しているときには、ロボット１００は、Ｚ軸線の周りで左転回又は右転回（以下「ヨー方向の変化」と呼ばれる場合もある）することができる。ヨー方向の変化により、ロボット１００は、移動しながら左転回又は右転回を生じるようになる。従って、ロボット１００は、ピッチ、ロール、又はヨーのうちの１又はそれ以上の変化を同時に有することができる。ロボット１００は、Ｘ軸線及びＹ軸線の周りの組み合わせ傾斜で傾斜することができ、すなわち、ロボット１００は、ピッチ及びロールを行うことができる。総チルト角αTは、Ｘ軸線及びＹ軸線の周りの各チルトのベクトルの総和である。従って、ロボット１００がピッチのみ行った場合、総チルト角αTはピッチ角に等しい。同様に、ロボット１００がロールのみ行った場合、総チルト角αTはロール角に等しい。
【００２６】
本体１１０の前方部分１１２は、バンパー１３０を保持することができ、該バンパーは、例えば、ホイールモジュール１２０ａ、１２０ｂが清掃ルーチン中に床表面１０にわたってロボット１００を推進させるときに、ロボット１００の駆動経路における１又はそれ以上の事象を（例えば、センサシステム５００を介して）検出する。ロボット１００は、事象に応答してロボット１００を操縦（例えば、障害物から離れて）するようホイールモジュール１２０ａ、１２０ｂを制御することにより、バンパー１３０によって検出された事象（例えば、障害物、段差１２、壁）に応答することができる。センサシステム５００は、バンパー１３０上に配置することができ、或いは、これに加えて、又は代替として、ロボット１００上の様々な異なる位置の何れかに配置することができる。
【００２７】
ロボット１００は、床表面１０を清掃又は処理するための清掃システム１６０を含むことができる。清掃システム１６０は、乾燥式清掃システム１６０ａ及び／又は湿式清掃システム１６０ｂを含むことができる。清掃システム１６０はまた、デブリを清掃システム１６０の清掃帯状領域に移動させるために床表面１０に対してある角度の回転軸を有するサイドブラシ１６４を含むことができる。
【００２８】
本体１１０の上部分１１５に配置されたユーザインタフェース１４０は、１又はそれ以上のユーザコマンドを受け取り、及び／又はロボット１００のステータスを表示する。ユーザインタフェース１４０は、ロボット１００によって保持されるロボットコントローラ２００と通信し、ユーザインタフェース１４０により受け取られた１又はそれ以上のコマンドが、ロボット１００によるルーチンの実行を開始できるようにする。ロボットコントローラ２００は、非一時的メモリ２０４（例えば、ハードディスク、フラッシュメモリ、ランダムアクセスメモリ）と通信状態にあるコンピュータプロセッサ２０２（例えば、セントラルプロセッシングユニット）を含む。
【００２９】
図４及び５を参照すると、ロボットコントローラ２００（制御システムを実行する）は、壁に追従するような操縦、床を磨くような操縦、又は障害物が検出されたときに移動方向を変えるなどの動作をロボット１００にさせる挙動部３００を実行することができる。ロボットコントローラ２００は、各ホイールモジュール１２０ａ、１２０ｂの回転速度及び方向を独立して制御することによって、清掃面上のあらゆる方向でロボット１００を操縦することができる。例えば、ロボットコントローラ２００は、ロボット１００を前方Ｆ、反転（後方）Ａ、右Ｒ、及び左Ｌ方向で操縦することができる。
【００３０】
信頼性があり堅牢な自律移動を達成するために、ロボット１００は、複数の異なるタイプのセンサを有するセンサシステム５００を含むことができ、これらセンサは、互いに連動して用いて、ロボット１００がロボットの環境において行うべき措置に関して知的決定を下すことができるほどに十分なロボットの環境の知覚を生成することができる。センサシステム５００は、ロボット本体１１０によって支持される１又はそれ以上のタイプのセンサを含むことができ、これらセンサは、障害物検出障害物回避（ＯＤＯＡ）センサ、通信センサ、ナビゲーションセンサ、その他を含むことができる。例えば、これらのセンサは、限定ではないが、近接センサ５２０、接触センサ、カメラ（例えば、点群ボリュームイメージング、３次元（３Ｄ）イメージング、又は深度図センサ、可視光カメラ及び／又は赤外線カメラ）、ソナー、レーダー、ＬＩＤＡＲ（ライダー；光検出及び測距、散乱光の特性を測定して遠隔ターゲットの距離及び／又は他の情報を求める光学的リモートセンシングを必要とする可能性がある）、ＬＡＤＡＲ（レーザ検出及び測距）、その他を含むことができる。
【００３１】
一部の実施例において、センサシステム５００は、ロボット１００の全体重心ＣＧＲ（図１、６）に対するロボット１００の慣性モーメントを測定及び監視するためにコントローラ２００と通信状態にある慣性計測ユニット（ＩＭＵ）を含む。コントローラ２００は、正常な妨げのない動作に対応する閾値信号からのＩＭＵによるフィードバックのあらゆる偏差を監視することができる。例えば、コントローラ２００は、全チルト角αTを監視しており、全チルト角αTが閾チルト角を上回ると、ロボット１００が段差１２に向かって進んでおり、ロボット１００が段差１２から落ちるのを阻止するストップコマンドを実行することをコントローラ２００が決定することができる。コントローラ２００は、回転又は後退コマンドを実行し、ロボット１００を段差１２から離れて移動させることができる。
【００３２】
ＩＭＵは、相対値に基づいてロボット１００の慣性モーメントを測定及び監視することができる。一部の実施構成において、及び長期期間にわって、一定の移動によりＩＭＵをドリフトさせることができる。コントローラ２００は、再設定コマンドを実行し、ＩＭＵを再較正してゼロに再設定する。ＩＭＵを再較正する前に、コントローラ２００は、ロボット１００が傾斜しているかどうかを判定して、ロボット１００が平坦面上にある場合にのみ再設定コマンドを発する。
【００３３】
一部の実施構成において、ロボット１００は、障害物に衝突せず、又は階段から落ちることなく床表面１０を移動することができ、また、清掃のため比較的汚れた床領域をインテリジェントに認識することを可能にするよう構成されたナビゲーションシステム４００を含む。その上、ナビゲーションシステム４００は、床表面１０にわたり決定性パターン及び擬似ランダムパターンでロボット１００を操縦することができる。ナビゲーションシステム４００は、ロボットコントローラ２００上に格納及び／又は実行される挙動ベースシステムとすることができる。ナビゲーションシステム４００は、センサシステム５００と通信して、駆動システム１２０に対して駆動コマンド２４１を決定し発することができる。ナビゲーションシステム４００は、ロボット挙動部３００に影響を及ぼし且つ構成し、すなわち、ロボット１００が体系的な計画的移動で行動できるようにする。一部の実施例において、ナビゲーションシステム４００は、センサシステム５００からデータを受け取り、ロボット１００が横断する望ましい経路を計画する。
【００３４】
一部の実施構成において、コントローラ２００（例えば、１つ又は複数のコンピュータプロセッサ上で実行可能な命令を記憶することができる非一時的メモリ２０４と通信状態にある１又はそれ以上のコンピュータプロセッサ２０２を有するデバイス）は、互いに通信状態にある挙動システム２１０ａと制御調停システム２１０ｂとを含む制御システム２１０を実行する。制御調停システム２１０ｂは、ロボットアプリケーション２２０を制御システム２１０に対して動的に追加及び削除することを可能にし、各アプリケーション２２０が他の何れかのアプリケーション２２０について知る必要もなくロボット１００を制御できるようにする。換言すると、制御調停システム２１０ｂは、アプリケーション２２０とロボット１００のリソース２４０との間の簡単な優先制御機構を提供する。
【００３５】
アプリケーション２２０は、メモリ内に格納され又はロボット１００と通信して、（例えば、プロセッサ上で）並行して実行し、ロボット１００を同時に制御することができる。アプリケーション２２０は、挙動システム２１０ａの挙動部３００にアクセスすることができる。独立して配備されたアプリケーション２２０は、ランタイム時に動的に組み合わされ、ロボットリソース２４０（例えば、駆動システム１２０及び／又は清掃システム１６０、１６０ａ、１６０ｂ）を共有する。ランタイム時のアプリケーション２２０間でのロボットリソース２４０を動的に共有するための低レベルポリシーが実装される。このポリシーは、どのアプリケーション２２０が当該アプリケーション２２０により必要とされるロボットリソース２４０を制御するかを決定する（例えば、アプリケーション２２０間の優先順位階層）。アプリケーション２２０は、動的に開始及び停止し、互いに完全に独立して実行することができる。制御システム２１０はまた、共に組み合わせて互いに支援することができる複合挙動部３００を可能にする。
【００３６】
制御調停システム２１０ｂは、制御アービター２６０と通信する１又はそれ以上のアプリケーション２２０を含むことができる。制御調停システム２１０ｂは、アプリケーション２２０のための制御調停システム２１０ｂに対するインタフェースを提供するコンポーネントを含むことができる。このようなコンポーネントは、認証、分散リソース制御アービター、コマンドバッファリングの複雑さを解消して抽象化及びカプセル化し、アプリケーション２２０の優先順位付けの協調などを行うことができる。制御アービター２６０は、あらゆるアプリケーション２２０からコマンドを受け取り、アプリケーションの優先順位に基づいて単一のコマンドを生成し、これを関連のリソース２４０に公開する。制御アービター２６０は、その関連のリソース２４０から状態フィードバックを受け取り、これをアプリケーション２２０に送り返すことができる。ロボットリソース２４０は、１又はそれ以上のハードウェアコントローラを備えた機能モジュール（例えば、アクチュエータ、駆動システム、及びこれらのグループ）のネットワークとすることができる。制御アービター２６０のコマンド２４１は、特定の動作を実施するリソース２４０に固有のものである。コントローラ２００上で実行可能なダイナミックスモデル２３０は、現在のロボット１００の状態を評価するために、ロボット１００の種々の部分の重心（ＣＧ）、慣性モーメント、及び慣性の外積を計算するよう構成される。
【００３７】
一部の実施構成において、挙動部３００は、センサシステム５００のような複数のソースからのセンサフィードバックを先験的限界及び情報を有してロボットの許容動作に関する評価フィードバックに結合する階層的状態完全評価機能を提供するプラグインコンポーネントである。挙動部３００は、アプリケーション２２０にプラグ着脱可能であり（例えば、アプリケーション２２０の内部又は外部にある）、アプリケーション２２０又は制御システム２１０の他の何れかの部分を修正することなく削除及び追加することができる。各挙動部３００は、独立したポリシーである。挙動部３００をより強力にするために、複数の挙動部３００の出力を別の挙動部の入力に取り付けて、複雑な組み合わせ機能を有することができるようにすることができる。挙動部３００は、ロボット１００の全体的認識の管理可能部分を実施することを目的としている。
【００３８】
図示の実施例において、挙動システム２１０ａは、センサによって感知された障害物に基づいて、ロボット応答動作（例えば、転回、Ｕターン、障害物前での停止、その他）を決定するための障害物検出／障害物回避（ＯＤＯＡ）挙動部３００ａを含む。別の挙動部３００は、検出した壁に隣接して（例えば、壁に平行な方向で、又は壁に向かってもしくは壁から離れて駆動するくねりパターンで）駆動するための壁追従挙動部３００ｂを含むことができる。他の挙動部３００は、段差検出挙動部３００ｃを含むことができる（例えば、ロボットが階段を検出して、階段から落ちるのを回避する）。
【００３９】
図３及び図６を参照すると、一部の実施構成において、ロボット１００（すなわち、センサシステム５００）は、ロボット本体１１０の前方部分１１２の底部１１６付近又はその周りに配置された１又はそれ以上の段差近接センサ５２０を含む。一部の実施構成において、ロボット１００の底部１１６は、リム１１８を含む。リム１１８は、ロボット１００の底部１１６とロボット本体１１０の前方及び後方周囲とを接続する。リム１１８は、裁頭円錐形状を有し、ロボット本体１１０の底部１１６の直径がより小さい直径であり、ロボット本体１１０の前方及び後方部分１１２、１１４と接続するよう延びている。段差近接センサ５２０は、ロボット１００が一連の階段、又は床表面１０の高さの変化に遭遇したときなど、床１０の下降段差１２に遭遇した時点を検出することができる。コントローラ２００（制御システムを実行する）は、段差１２が検出されたときに移動方向の変化のような動作をロボット１００にとらせる挙動部を実行することができる。一部の実施構成において、センサシステム５００は、１又はそれ以上の２次段差センサ（例えば、段差検知及び任意選択的に他のタイプの検知を行うよう構成された他のセンサ）を含む。段差検出近接センサ５２０は、段差１２の早期検出を可能にし、ロボット１００が横断できない実際の段差（例えば、垂直方向の上り段を有する階段）と、事象（敷居を超える上り、又は横断可能段差又は横断可能敷居１２ａを超える横断など、ここでロボット１００は、横断可能敷居１２ａによって分離される第１の面１０ａと第２の面１０ｂとの間を移動することができ、場合によっては、ロボット１００は第２の面１０ｂから第１の面１０ａに向けてその間を移動することができる）との間の判別を可能にするよう構成することができ、これらのセンサの視野５２３、５２５（図８Ｄ）がロボット本体１１０の少なくとも一部とロボット本体１１０から離れた領域とを含むように、外側下方に位置付けることができる。一部の実施構成において、コントローラ２００は、支持している床表面１０の端部、床表面１０の端部を通過した距離の増大、及び／又はロボット本体１１０と床表面１０との間の距離の増大を識別し検出する段差検出ルーチンを実行する。この実施構成は、１）可能性のある段差の早期検出（未知の環境でのより速い移動速度を可能にすることができる）、２）段差事象が真に実際の段差であるかどうか（この場合には、ロボット１００が移動を停止すべきである）、又は横断可能敷居１２ａを有する床表面１０が横断できるかどうか（例えば、敷居を上って超えるなど）を認知するためにコントローラ２００が段差検出センサ５２０から段差イメージング情報を受け取ることに起因した自律的移動性の信頼生の向上、３）段差の誤検出の低減（例えば、ロボット１００と床表面１０との間の距離の決定及び当該距離の変化、並びに２つの検出ゾーンを有することに起因した）を可能にする。冗長性のため、及び特定のタイプの段差を距離検知カメラが確実に検出することができない状況を検出するために、「脱輪」センサとして配置される追加のセンサを用いることができる。
【００４０】
敷居及び段検出により、ロボット１００が、登ることが可能な敷居又は横断可能敷居を横断するか、又は高過ぎる実際の段差を回避することを効率的に計画することが可能になる。これは、ロボット１００が横断できるか、又は横断できない床表面１０上の不規則な物体についても同じとすることができる。ロボット１００が登ることができると判定する障害物又は敷居について、これらの高さを認知することで、ロボット１００が、必要と見なされる場合には適切に減速し、円滑さを最大にし、突然の加速に起因するあらゆる不安定性を最小限にするために円滑な移行を可能にする。一部の実施構成において、敷居及び段検出は、幾何学的形状認識（例えば、敷居又は電気ケーブルと靴下のような小塊とを判別する）に加えて、床表面１０の上方の物体の高さに基づく。敷居は、端部検出によって認識することができる。コントローラ２００は、段差検出近接センサ５２０（又はロボット１００上の別のイメージセンサ）からイメージングデータを受信し、端部検出ルーチンを実行し、端部検出ルーチンの結果に基づいて駆動コマンドを発することができる。敷居検出により、ロボット１００は、円滑な段登り及び段下り能力を最大限にするように、敷居に対するその向きを変えることができる。近接センサ５２０は、単独で機能してもよく、又は代替として、冗長性のために１つ以上の接触センサ（例えば、隆起スイッチ）と組み合わせて機能することができる。
【００４１】
一部の実施例において、近接センサ５２０は、キャスターホイール１２６と、駆動ホイール１２４ａ、１２４ｂの各々との間のリム１１８上に配置され、キャスターホイール１２６が段差（例えば、階段）に遭遇する前に段差検出を可能にするようにする。場合によっては、段差検知は、赤外線（ＩＲ）近接又は実距離検知を用いて、すなわち、互いに向かって角度が付けられた赤外線エミッタ５２２と赤外線検出器５２４とを使用して、床表面１０が予想される場所にて重なり合う放射場及び検出場、従って検出ゾーンＶ１、Ｖ２を有するようにする。ＩＲ近接検知は、比較的狭い視野を有する可能性があり、信頼性が表面アルベドに依存する場合があり、表面間で変化する距離精度を有する場合がある。結果として、ロボット１００上の複数の点からの段差を適切に検出するために、複数の離散的センサをロボット１００の周辺付近に配置することができる。更に、ＩＲ近接ベースセンサは、典型的には、実際の段差と、出口敷居のような閾降下距離内の床張り面又は横断可能敷居１２ａとを区別することができない。
【００４２】
図６を参照すると、一部の実施例において、ロボット１００は、前方駆動方向Ｆに移動している。近接センサ５２０は、例えば、第１の床表面１０ａ（例えば、カーペット床表面）から第２の床表面１０ｂ（例えば、硬材床面又はタイル面）に横断しているときの床表面１０の段差１２又は高さの変化（例えば、落下距離Ｄｃ）を検出する。ロボット１００は、このような高さの差異が閾降下距離Ｄｓ（以下で詳細に検討する）内にあり、ロボット１００が床表面１０間を容易に移動できることを判定する。
【００４３】
図７Ａ及び７Ｂは、ロボット１００が第１の床表面１０ａに沿って移動し、第２の床表面１０ｂへの段差１２に接近しているのを示している。降下距離Ｄｃは、第１の床表面１０ａを第２の床表面１０ｂから分離している。ロボット１００は、ロボット１００（すなわち、ロボットセンサ５２０の底面に沿った検知点Ｐ）と第２の床表面１０ｂとの間の距離ｄが閾距離Ｄｓ内にあるかどうかを判定し、閾距離内にある場合には、ロボット１００は、第２の床表面１０ｂに駆動される。一部の実施例において、ロボット１００は、距離ｄが閾降下距離Ｄｓ距離内にある場合には、第１の床表面１０ａに戻ることができ、そうでない場合には、ロボット１００は、第２の床表面１０ｂ上を駆動する。
【００４４】
図８Ａ〜８Ｄは、３要素近接センサの差分距離測定クラスを記述しており、ここでアルベドの自己較正のために差分光路長が使用され、距離測定のために信号強度を用いることが可能となる。このクラス内では、異なる実施構成のために２つの要素が１つの種類で、１つの要素が残りの種類を用いる（２つのエミッタと１つのレシーバ、又は２つのレシーバと１つのエミッタ）。一部の実施例において、近接センサ５２０は、床表面１０までの距離Ｄを測定する。これは、ロボット１００が障害物、段差１２、その他を検出及び回避することによりある環境において知的且つ効率的に移動することを可能にする。近接センサ５２０の性能は、物体（すなわち、床表面１０）の表面特性に依存することができる。一部の近接センサ５２０は、より暗い低反射表面に対して許容できない性能を有する。一部の実施例において、一部の実施例において、エミッタ５２２及び検出器ペア５２４ａ、５２４ｂは、放射場５２３及び視野５２５が予想される床表面１０近傍で完全に又はほぼ完全に重なり合い、より離れた表面では最小の重なり合い（表面への距離が大きくなるほど減少する）又は重なり合いがないような向きにされ、これらを用いて大部分の表面（図８Ａ〜８Ｄに示す）上で良好に機能することができる。エミッタ５２２は、周辺光及び他のソースを排除するよう変調することができる。
【００４５】
図８Ａを参照すると、近接センサ５２０は、床表面１０に対する距離ｄ１、ｄ２を測定する。差分光学センサ５２０ａとすることができ、床表面１０にビーム光５２３Aを充てるエミッタ５２２を含む。床表面１０の大部分は、多少のランバーシャンがあり、入射光５２３を球状波面に拡散する。結果として、レシーバ５２４によって集められたエネルギーＥの量は、レシーバ５２４から表面への距離ｄ１、ｄ２の二乗に反比例する。更に、レシーバの視野５２５は、エミッタ５２２によって生成されるスポットを含み、無限距離まで可能な限り重なり合うように設計される。レシーバ５２４ａ、５２４ｂ両方により受け取られるエネルギーＥ1、Ｅ2は、反射エネルギーＬの同じ量に比例する。レシーバ５２４ａ、５２４ｂによって集められたエネルギーＥ1は、次式を用いて計算することができる。
0005885147.tif 000002
0005885147.tif 000003
ここで、Ｅiはレシーバによって集められたエネルギー、ｇiは各レシーバ５２４ａ、５２４ｂのゲイン、Ｌは表面により反射されるエネルギー、ｄiはレシーバ５２４ａ、５２４ｂまでの距離である。
【００４６】
測定値の比Ｒをとると、次式が得られる。
0005885147.tif 000004
また、
0005885147.tif 000005
となる。
【００４７】
式４は、レシーバ５２４ａ、５２４ｂ間のベースライン距離ｄ０（図８Ａ）を既知とした場合に、床表面１０までの距離ｄ１がレシーバ５２４ａ、５２４ｂでの測定値から推定することができることを示している。パラメータｇ1及びｇ2は何れも既知であり、又は、比ｇ1／ｇ2は、製造中の較正により推定することができる。
【００４８】
図８Ｂ及び８Ｃを参照すると、一部の実施構成において、エミッタ５２２に対するレシーバ５２４ａ、５２４ｂの相対角θiは、近接センサ５２０ｂを強い鏡面反射を有して床表面１０上でより堅牢にするために同じに維持される（すなわち、θ1＝θ2）。別の実施例が図８Ｃに示される。近接センサ５２０ｃは、障害物に対するセンサ５２０ｂ、５２０ｃの向きに応じて、床表面１０又は段差１２などの障害物の存在を検出するのに用いることができる（すなわち、センサ５２０ｂ、５２０ｃが下向きに面する場合、床表面１０への距離ｄを検出することができ、センサ５２０ｂ、５２０ｃがロボット本体１１０に対してある角度にある場合には、ロボット１００が床表面１０にわたって移動しているときに障害物を検出することができる。例えば、図８Ｅに描かれるように、図８Ａ〜８Ｄの差分距離測定クラスタイプのセンサ５２０は、壁又は家具の一部などの障害物９までの距離ｄを測定するのに用いることができる。これは、ロボット１００が物体に接近するときに突然の衝突を防ぐために一定の距離で減速することに限定されない、幾つかの理由において有用となる。）
【００４９】
図６、７Ａ、７Ｂ、及び８Ｄは、段差１２を検出するために移動式ロボット１００上で使用される近接センサ５２０を示している。図８Ｄを参照すると、一部の実施例において、近接センサ５２０ｄは、エミッタ５２２と、２つのレシーバ５２４ａ、５２４ｂとを含む。エミッタ５２２は、第１のレシーバ５２４ａと第２のレシーバ５２４ｂとの間に配置される。距離ｄmin又はそれ以上では、レシーバ５２４ａ、５２４ｂの視野５２５ａ、５２５ｂ（Ｓ1及びＳ2）は、エミッタ５２２の完全放射場５２３（Ｓe）を包含し、すなわち、「Ｓ1＞Ｓe」及び「Ｓ2＞Ｓe」である。
【００５０】
近接センサ５２０ｄは、床表面１０が近接センサ５２０ｄから少なくとも距離Ｄにあり、
0005885147.tif 000006
であるように移動式ロボット１００上に配置される。
【００５１】
式４は、ロボット１００が床表面１０の周りを移動している何れかの時点での床表面１０までの距離ｄを推定するのに用いることができる。ｄ0は床表面１０までの初期距離ｄであり、図８Ｄに示されるＤである。Ｅ1及びＥ2は、レシーバ５２４ａ、５２４ｂにおける強度であり、アナログデジタルコンバータを用いて測定することができる。ｇ1／ｇ2は、レシーバゲインの比であり、既知とするか、又は以下で検討する較正プロセス中に推定される。従って、ロボット１００は、ロボット１００が横切って移動できる閾降下距離ＤSを有することができる。一部の実施構成において、エミッタ５２２は、エミッタ５２２以外の周辺光及び他の浮遊光源を排除するように１ｋＨｚに変調される。
【００５２】
段差１２は、床表面１０から距離ＤCを有することができる。ロボット１００は、推定距離ｄ1が閾降下距離ＤSよりも小さいときに段差を超えて移動することができる。ｄ1＞ＤSである場合、ロボット１００は、実際の段差を検出し、プロセッサ２０２は、挙動部３００を実行し、ロボット１００が段差１２から落下するのを防ぐことができる。
【００５３】
一部の実施例において、製造時には較正が実施可能ではないので、センサ５２０のパラメータは未知である。未較正のセンサ５２０は、ランタイム時に較正することができる。一部の実施例において、近接センサ５２０が公称距離ｄ1nにて床表面１０に面して配置されたときには、公称面での比に対する式１及び２の比測定を参照する。公称距離ｄ1nでは、
0005885147.tif 000007
【００５４】
別の距離では、
0005885147.tif 000008
ここで、距離ｄ１は、２つのレシーバのベースラインオフセットｄ0及び公称距離ｄ1nが既知である場合に推定することができる。
【００５５】
センサ５２０は、ｄ1th＝ｋｄ0を定義することにより、表面に対する接近度のデジタル指標として用いることができる。よって、Ｒｔｈの閾値は、次式となる。
0005885147.tif 000009
ここでセンサ５２０は、Ｒ≧Ｒthであるときに障害物が近くにあり、そうでなければ、床表面１０が離れていることを示すことになる。
【００５６】
0005885147.tif 000010
と仮定すると、Ｒthは、次式となる。
0005885147.tif 000011
ｋ＞＞＞１では、閾値は次式に簡約される点に留意されたい。
0005885147.tif 000012
【００５７】
閾値は、公称比測定の良好な推定に依存するので、信頼生のある推定法を用いて、Ｒｎの値を求め、センサ５２０が異なる表面（すなわち、異なる床の高さレベル）に曝されるときに常に更新することができる。
【００５８】
図９Ａ、９Ｂ及び１１Ａは、３要素近接センサの２体積「真理値表」クラス（以下、「真理値表クラス」）を記述しており、ここでは、２つの異なる体積を用いて可変の降下距離、マルチパス、ピッチ角、及びアルベド状況を効率的な決定行列に分類する。このクラス内では、異なる実施構成のために２つの要素が１つの種類で、１つの要素が残りの種類を用いる（２つのエミッタと１つのレシーバ、又は２つのレシーバと１つのエミッタ）。
【００５９】
図９、１１Ａ、及び１３Ａ〜Ｈを参照すると、一部の実施例において、近接センサ５２０ｅは、エミッタ５２２及び第１及び第２のレシーバ５２４ａ、５２４ｂを収容するセンサ本体５１４を含む。レシーバ５２４ａ、５２４ｂは、互いに隣接している。エミッタ５２２は、第２のレシーバ５２４ｂの反対側で第１のレシーバ５２４ａに隣接して配置される。エミッタ５２２と第１のレシーバ５２４ａを隔てる距離Ｓ1は、第１のレシーバ５２４ａと第２のレシーバ５２４ｂとの間の距離Ｓ2よりも小さくすることができる。エミッタ５２２はエミッタ視野５２３を有し、第１及び第２のレシーバ５２４ａ、５２４ｂの各々は、それぞれ第１及び第２の視野５２５ａ、５２５ｂを有する。エミッタ視野５２３は、第１のレシーバ視野５２５ａと交差し、第１の体積Ｖ１を定める。加えて、エミッタ視野５２３は、第２の視野５２５ｂと交差して第２の体積Ｖ２を定める。第１の体積Ｖ１は、閾降下距離ＤS（上述のように、ＤSは、ロボット１００が第１の床表面１０ａから第２の床表面１０ｂに進むことができる最大距離である）を有するゾーンを定め、第２の体積Ｖ２は、閾降下距離ＤSよりも大きい距離ＤACにある。従って、第１の体積Ｖ１及び第２の体積Ｖ２は、２つの異なるレシーバ５２４ａ、５２４ｂによって検出された異なる距離（距離ＤS内で最大でもＤSである距離と、距離ＤSを超える距離）で重なり合う２つの層を定める。以下の二値真理値表１でまとめられるように、「１」又は「０」は、体積Ｖ１、Ｖ２の何れか、両方、又は何れでもないときの表面から受け取った放射を示しており、これらの体積での検出の二値特性を組み合わせて、ロボットがどのような動作を示すかを決定付ける。センサ５２０が第１の体積Ｖ１において応答を受け取り、第２の体積Ｖ２において応答を受け取らなかった場合、ロボット１００は、床張り状態のみを検出し、現在の移動方向で移動を継続する。センサ５２０が第１の体積Ｖ１と第２の体積Ｖ２において床張りを検出した場合、実際の段差がロボット１００に信号で伝えられ、ロボット１００は移動を停止する。センサ５２０が、第２の体積Ｖ２においてのみ床張りを検出し、第１の体積Ｖ１において検出しなかった場合には、閾降下距離ＤS内に床が検出されなかったので、ロボット１００は停止するよう信号を受け取る。センサ５２０が第１の体積Ｖ１においても第２の体積Ｖ２においても床張りを検出しなかった場合には、レシーバ５２４ａ、５２４ｂが放射を受け取るには床表面１０が遠く離れているか、放射５２３が何れかのレシーバに到達するには暗過ぎる（及び吸収される）か、又はセンサ５２０が作動を停止しているかの何れかであるので、ロボット１００は停止する。
【００６０】
（表１）
0005885147.tif 000013
【００６１】
換言すると、ロボット１００が閾降下距離ＤSよりも小さい、ロボット１００からの距離ｄを有する表面１０を検出した場合、ロボット１００は、床表面１０上を移動し続けることができる。距離ｄが戻り閾距離ＤS1よりも小さい場合、ロボット１００は、２つの表面１０ａ、１０ｂ間を自在に移動することができる。距離ｄが閾降下距離ＤSよりも小さいとロボット１００が判定した場合、実際の段差が存在するので、ロボット１００はその経路で継続すべきではないと判定する。２つのレシーバを用いることにより、段差センサの底面から閾降下距離ＤS内に床張りが存在するという正しい真陽性のセンサ読み取り値が確保され、第１のレシーバ視野５２５ａが放射５２３と交差する。
【００６２】
図９Ｂ及び１１Ａ〜Ｃ、並びに１３Ａ〜Ｈを参照すると、一部の実施例において、近接センサ５２０ｆは、上述のように１つのエミッタ５２２及び２つのレシーバ５２４ａ、５２４ｂではなく、１つのレシーバ５２４と第１及び第２のエミッタ５２２ａ、５２２ｂとを収容するセンサ本体５１４を含む。エミッタ５２２ａ、５２２ｂは、互いに隣接している。レシーバ５２４は、第２のエミッタ５２２ｂの反対側で第１のエミッタ５２２ａに隣接して配置される。レシーバ５２４と第１のエミッタ５２２ａとの間の距離Ｓ1は、第１のエミッタ５２２ａと第２のエミッタ５２２ｂとの間の距離よりも小さくすることができる。レシーバ５２４は、レシーバ視野５２５を有し、第１及び第２のエミッタ５２２ａ、５２２ｂの各々は、それぞれ第１及び第２の視野５２３ａ、５２３ｂを有する。レシーバ視野５２５は、第１のエミッタ５２２ａの視野５２３ａと交差し、第１の体積Ｖ１を定める。加えて、レシーバ視野５２５は、第２のエミッタ５２２ｂの視野５２３ｂと交差し、第２の体積Ｖ２を定める。従って、第１の体積Ｖ１及び第２の体積Ｖ２は、２つの異なるソースからの点灯を有する異なる距離（閾降下距離ＤS内で最大でもＤSである距離と、閾降下距離ＤSを超える距離）で２つの重なり合う層を定める。一部の実施構成において、ソース（すなわち、エミッタ５２２ａ、５２２ｂ）は同じ点灯を行うことができ、ロボット１００は、２つの放射を識別するために、１つをオンにし、１つをオフに交互にするよう時間領域で放射を変調する。時間領域で変調される複数のセンサを有する実施例において、センサ５２０は、ラウンドロビンシーケンスで発射し、ロボット１００のプロセッサが１ｍｓ／センサで（又はそれよりも高速で）処理して、移動中の段差状態に対して時間内で応答する（例えば、回復不能な事象が起こる前に検知した実際の段差からロボット１００を配向し直す）ように点灯することになる。別の実施構成において、２つのエミッタ５２２ａ、５２２ｂは、周波数領域で異なるように変調される。一部の実施構成において、ＦＦＴ技法を利用することで、１又は２の変調周波数期間内に応答がもたらされる。一部の実施構成において、エミッタ５２２ａ、５２２ｂは、光周波数領域で変調され、２つのソースの確実な別個の検出のため２つの異なる放射色を使用し、レシーバ５２４は、２つの異なる波長を識別する。
【００６３】
図１３Ａ〜１３Ｈは、第１及び第２の体積Ｖ１、Ｖ２内の検知面の種々の状態を示す状態図を描いている。図１３Ａ〜１３Ｈが示すように、ロボット１００が段差１２又は極めて高い段差にて暗色面に遭遇する状況において、第１の体積Ｖ１は、床（又は段差底部）が光を反射するには暗過ぎるので検知されない。第２の体積Ｖ２は、段差底部が暗過ぎるか又は遠すぎるので検知されない。図１３Ｃ及び１３Ｄが示すように、ロボット１００は、第２の体積Ｖ２内で感知される段差１２の暗色又は明色底部の上をロボットが移動するときにバッフル５１９、５２１及びセンサ５２０のハウジング５１４の角度により反射が除外されることに起因して第１の体積Ｖ１内で横断可能面は検知されない場合には、ロボット１００は移動を停止することになる。図１３Ｅ及び１３Ｆが示すように、ロボット１００が横断可能面１２ａ上にあるときには（すなわち、実際の段差ではなく）、床１０は第１の体積Ｖ１内で感知可能であるが、ハウジング５１４のバッフル５１９、５２１、並びに第２のエミッタ５２２ｂ（又は第２のレシーバ５２４ｂ）の角度θ2及び１つのレシーバ５２４（又は１つのエミッタ５２２）の角度θ3によって反射が排除されるので、床１０は第２の体積Ｖ２内では感知されない。図１３Ｇ及び１３Ｈにおいて、ロボット１００は、明色の段差底部及び垂直上り部１３を有する実際の段差にあるので、移動を停止することになる。ここで、複数の反射５２３ｍは第１の体積Ｖ１内の表面を示すことになるが、ハウジング５１４のバッフル５１９、５２１並びに第２のエミッタ５２２ｂ（又は第２のレシーバ５２４ｂ）の角度θ2及び１つのレシーバ５２４（又は１つのエミッタ５２２）の角度θ3によって段差底面１０又は極めて明るい面からの反射／マルチパスを検知することが可能となるので、段差底部の床表面１０もまた、第２の体積Ｖ２内で感知される。
【００６４】
図９Ａ〜９Ｂにおいて示される実施構成において、第１の又はその近距離体積Ｖ１は、ＬＥＤのレンズ効果、バッフリング、及び／又は他の光閉じ込め、コリメーション、又は場制限を用いて、ロボットの本体と近距離体積Ｖ１における関心領域の端部との間に延びるように範囲が制限される。近距離体積Ｖ１における関心領域は、カーペットと硬質床両方のロボットの最低地上高を含む（すなわち、短、中、及び高パイルカーペット繊維の遠位端が、硬質床表面と同様に、この領域内にあることになる）。従って、近距離体積Ｖ１は、ロボット又はセンサ底部０ｃｍからおよそ３〜５ｃｍまで延びる（幅が約２０〜４０ｃｍでホイール直径が約３〜８ｃｍのロボットにおいて）。第１の体積Ｖ１は、ロボット又はセンサ底部から僅かに離間して始まる（例えば、０ｃｍではなく、０〜２ｃｍ）ように構成することができる。
【００６５】
近距離体積又は遠距離体積内で受け取った信号強度は、反射が領域底部からではなく領域上部から来る場合により強くなることができる。図９Ａ〜９Ｂの各々において、レシーバの視野が連続しているがより強い反射のみが検出されることになる領域ＲＦＯＶが示されている。近距離体積及び遠距離体積は、エミッタ及びレシーバ視野の重なり（例えば、図９Ａ及び９Ｂの近距離体積Ｖ１）によって、或いは、これに加えて、閾信号強度（例えば、遠距離体積Ｖ２の底部）によってほとんど境界付けることができる。
【００６６】
第１の体積Ｖ１及び／又は第２の体積Ｖ２間の信号検出においてより先鋭な境界を生成するために、両方又は何れかの視野を直列配列の複数（すなわち、１つよりも多い）のバッフルにより境界付けることができる。図１１Ａにおいて、２つの順次的バッフル５１９は、近距離体積から遠距離体積Ｖ２への移行部にて体積のより先鋭な端部を生成する。加えて、２つの順次的バッフル５２１は、近距離体積Ｖ１から遠距離体積Ｖ２への移行部にて体積Ｖ２のより先鋭な端部を生成する（すなわち、図９Ａ及び図９Ｂにおいて、閾距離ＤSが終わり、実際の段差距離ＤACが始まる場所）。
【００６７】
図９Ａ及び９Ｂに示すように、第１又は近距離体積Ｖ１は、ロボット１００の底部（又はセンサ５２０出口、例えば、図１１ＡのＢ１−Ｂ２付近）から約０〜２ｃｍの最上限度と、ロボット１００の底部（又はセンサ５２０出口）から約３〜５ｃｍの最下限度とを有する。任意選択的に、この体積Ｖ１のほぼ中間部分は、予想される床距離（カーペット又は硬質床を含む）にあるとすることができる。
【００６８】
図９Ａ及び９Ｂに示すように、第２又は遠距離体積Ｖ２は、ロボット１００の底部（又はセンサ５２０出口、例えば、図１１ＡのＢ１−Ｂ２付近）から約４〜６ｃｍの最上限度と、より暗い面におけるロボットの底部（又はセンサ出口）から約６〜１０ｃｍの最下限度と、より明るい面におけるロボット１００の底部から約６〜２５ｃｍの最下限度とを有する。第２又は遠距離体積Ｖ２の最下限度は、例えば、標準的な上り階段１３が６〜８インチ幅であるので、多くの暗い又は明るい階段奥行きを含むことになる。体積Ｖ２の最下限度は、より暗い面又は遠位の明色面から信号戻りの予想される信号強度によって境界付けることができる。
【００６９】
１つのエミッタ５２２と２つのレシーバ５２４とを有する上述の実施例と同様に、第１の体積Ｖ１が第１の閾降下距離ＤS内のゾーンを定め、第２の体積Ｖ２は、段差状態（実際の段差）、すなわち、閾降下距離ＤSよりも大きい閾距離ＤACにある。上記の表１にまとめられるように、センサ５２０が第１の体積Ｖ１において床張りを示す応答を受け取り、第２の体積Ｖ２において応答を受け取らなかった場合、ロボット１００は、床張り状態のみを検出し、現在の移動方向で移動を継続する。センサ５２０が第１の体積Ｖ１と第２の体積Ｖ２において床張りを検出した場合、段差状態（実際の段差）がロボット１００に信号で伝えられ、ロボット１００は移動を停止する。センサ５２０が、第２の体積Ｖ２においてのみ床張りを検出し、第１の体積Ｖ１において検出しなかった場合には、閾降下距離ＤS内に床１０が検出されなかったので、ロボット１００は停止するよう信号を受け取る。センサ５２０が第１の体積Ｖ１においても第２の体積Ｖ２においても床表面１０を検出しなかった場合には、放射場５２３ａ、５２３ｂ（視野とも呼ばれる）がレシーバ５２４に到達するには床表面１０が遠く離れ過ぎているか、放射場５２３ａ、５２３ｂがレシーバ５２４に到達するには暗過ぎる（及び吸収される）か、或いはセンサ５２０が作動を停止しているかの何れかであるので、ロボット１００は停止する。換言すると、ロボット１００が閾降下距離ＤSよりも小さい、ロボット１００からの距離ｄを有する段差１２を検出した場合、ロボット１００は、段差１２が横断可能敷居１２ａであり、該横断可能敷居１２ａを超えて移動し続けることができると判定する。距離ｄが戻り閾距離ＤS1よりも小さい場合、ロボット１００は、横断可能敷居１２ａによって隔てられた２つの表面１０ａ、１０ｂ間を自在に移動することができる。距離ｄが閾降下距離ＤS（すなわち、横断可能敷居１２ａ）よりも小さいとロボット１００が判定した場合、実際の段差が存在するので、ロボット１００は停止する。異なる距離にてレシーバ視野と交差するそれぞれの放射場５２３ａ、５２３ｂを有する２つのエミッタ５２２ａ、５２２ｂを用いることにより、閾降下距離ＤS内に床張り面１０が存在するという正しい真陽性のセンサ読み取り値が確保される。
【００７０】
図８Ａ〜８Ｄ、９Ａ及び９Ｂを再度参照すると、各近接センサ５２０のエミッタ５２２又はエミッタ５２２ａ、５２２ｂは、赤外光を放射することができる。各レシーバ５２４又はレシーバ５２４ａ、５２４ｂは、放射された赤外光の反射を受け取る。一部の実施例において、各センサ構成要素５２２、５２４（すなわち、エミッタ及びレシーバ）は、視野軸線Ｆを定め、センサ本体５１４は、横軸線ＸS及び長手方向軸線ＹSを定める。センサ構成要素５２２、５２４は、横軸線ＸSに沿って配置され、これらの視野軸線Ｆは長手方向軸線ＹSに対して角度θ1、θ2、θ3で配列することができる。一部の実施例において、少なくとも１つのエミッタ５２２は、レシーバ５２４が反射光を受け取るためにレシーバ５２４に対して鋭角をなす。センサの横軸線ＸSは、ロボットの横断軸線Ｘに対してある角度又は平行とすることができる。これに加えて、又は代替として、センサの長手方向軸線ＹSは、ロボットの中心垂直軸線Ｚに対してある角度又は平行とすることができる。
【００７１】
図８Ｄを参照すると、エミッタ５２２の視野５２３は、長手方向軸線ＹSに沿うことができ、ゼロに等しい長手方向軸線ＹSに対する角度θ3をなすことができる。他の構成も実施可能である。
【００７２】
図９Ａに示すように、レシーバ５２４ａ、５２４ｂの視野軸線Ｆ525a及びＦ525bは、近接センサ本体５１４の長手方向軸線ＹSに対して平行であるか、又は０〜約４５度の角度θ1、θ2で配列することができ、狭いハウジング本体５１４を有する一部の実施例では、θ1、θ2は、指定の最大閾降下距離ＤSを達成するために約５〜２５度の間にある場合がある。一部の実施構成において、角度θ1、θ2は必ずしも等しくなくてもよい。一部の実施構成において、遠距離体積エミッタ視野５２３ｂの視野角β523bは、約５〜１５度、好ましくは約１０度とすることができ、遠距離体積エミッタ視野５２３ａの視野β523aは、これとほぼ同じとすることができる。この場合、レシーバ視野５２５の視野軸線Ｆ523は、長手方向軸線ＹSに対して約５度〜約４５度の角度θ3で配列される。放射５２３の視野軸線Ｆ523は、レシーバ５２４ａ、５２４ｂ両方の視野Ｆ525a、Ｆ525bと交差するよう配列することができる。エミッタ５２２の視野軸線Ｆ523の広がり角β523は、レシーバ５２４ａ、５２４ｂの視野軸線Ｆ525a、Ｆ525bの広がり角β525a、β525bよりも大きいとすることができる。広がり角は、対応する視野軸線を中心とすることができる。同様に、図９Ｂにおいて、放射５２３ａ、５２３ｂの視野軸線Ｆ523a及びＦ523bは、近接センサ本体５１４の長手方向軸線ＹSに対して平行であるか、又は０〜約４５度の角度θ1、θ2で配列することができ、狭いハウジング本体５１４を有する一部の実施例では、θ1、θ2は、指定の最大閾降下距離ＤSを達成するために約５〜２５度の間にある場合がある。一部の実施構成において、レシーバ５２５の視野軸線Ｆ525は、長手方向軸線ＹSに対して約５度〜約４５度の角度θ3で配列され、エミッタ５２２ａ、５２２ｂの視野軸線Ｆ523a、Ｆ523bと交差するよう配列することができる。レシーバ５２４の視野軸線Ｆ525の広がり角β525は、エミッタ５２２ａ、５２２ｂの視野軸線Ｆ523a、Ｆ523bの広がり角β523a、β523bよりも大きいとすることができる。この場合も同様に、広がり角は、対応する視野軸線を中心とすることができる。一部の実施例において、ＤSは、約１インチ〜約３インチであり、段差１２は、ｄがＤSよりも大きい（例えば、約２インチよりも大きい）ときに検出される。
【００７３】
一部の実施構成において、図９Ａ及び９Ｂに示されるように、エミッタ５２２、５２２ａ、及びレシーバ５２４、５２４ａは、第１の関心領域（例えば、第１の床表面１０）を見るように照準が定められる。第２のエミッタ５２２ｂ又は第２のレシーバｂは、エミッタ５２２からの放射光又はセンサ５２０の高いゲイン及び感度によって引き起こされる浮遊光子のマルチパス反射の誤検出について制御するために付加される。一部の実施構成において、符号化変調（３８ｋＨｚ上のデータ）を用いて第１のエミッタ５２２ａと第２のエミッタ５２２ｂとを識別し、従って、センサは、時間符号化と周波数符号化の混成であり、ここで周波数符号化は、外部ソースを排除し、時間符号化は、どのエミッタが点灯しているかを識別する。一部の実施構成において、３８ｋＨｚレシーバ５２４は、同時符号化データの８ビットを用いて、約９０ｄＢ増幅度で使用される。６ビットは、段差センサ５２０として透過ソースを識別するために使用され、２ビットは、透過ソースを第１又は第２のエミッタ５２２ａ、５２２ｂの何れに属するかを識別するのに使用される。一部の実施構成において、レシーバは、１ｋＨｚで変調されたゲインが約８０ｄＢのフォトダイオードであり、透過ソースを第１又は第２のエミッタの何れに属するかを識別するのに２ビットが使用される。
【００７４】
１つのエミッタと１つのレシーバのみを備えた段差センサ５２０では、特定の床表面１０を検知するのは困難である。近ＩＲ領域において光学的に極めて吸収性のある特定の表面１０（すなわち、黒色カーペット）は、誤った距離ｄでセンサをトリガさせる可能性がある。段差センサ５２０のレシーバ５２４は、黒色カーペットを考慮して高いゲインを有するので、暗い表面から反射する少量の光を調べることができるが、閾降下距離ＤSを超える表面から反射する光も調べることができる。第２のエミッタ５２２ｂ又は第２のレシーバ５２４ｂは、段差１２の存在（又は存在しないこと）を確認するために、閾降下距離ＤSを超えるこの第２の関心領域（例えば、可能性がある第２の床表面１０ｂ）に照準が定められる。例えば、図９Ｂの実施例において、第２のエミッタ５２２ｂは、レシーバ５２４が、段差１２を示し且つロボット１００の移動を停止させる閾降下距離ＤSを超える距離表面１０上の放射ビーム５２３ｂのみを調べることができるように配列される。特別に配列された第２のエミッタ５２２ｂを用いると、ロボット１００が中断されずに移動できる近距離床張り面１０の存在によるレシーバ視野５２５と第２の放射５２３ｂの交差が予め回避されることに起因して、センサ５２０は、第１のエミッタ５２２ａが第１の体積Ｖ１において床表面１０の存在を示し且つ第２のエミッタ５２２ｂが段差１２を示していないときに、閾降下距離ＤS内に位置する床張り面１０を確実に判定することができる。換言すると、閾降下距離ＤS内の高さｄに位置する床張り面１０の検知によって判定され、閾降下距離ＤSを超える床張り面１０の検知がないことによって判定されるように段差１２が存在しないことに起因して、段差センサ５２０は、ロボット１００に移動を維持するよう信号を送る。床表面１０は、全体で第２の体積Ｖ２の形成を阻止する。第２の体積Ｖ２の形成が無い場合、当該体積内で検知される床張り面１０が存在しない。
【００７５】
エミッタ５２２及びレシーバ５２４は、クロストークを防ぐために増分的又は順次的に作動することができ、このクロストークは、１つのセンサ構成要素が２つのセンサ構成要素から同時に信号を受け取ったときに起こり、これにより物体又は段差１２の誤検出（例えば、偽陽性又は偽陰性）が生じる。他の実施例において、上述のように、複数の段差センサを順次的に作動させ、マルチパス測定値を排除することができる。ＦＦＴを用いた更に別の実施例において、同時放射では異なる周波数のエミッタを有し、これにより誤った測定値を阻止することができる。更に他の実施例において、エミッタ５２２ａ、５２２ｂは、光周波数領域で変調され、２つのソースの信頼性のある分離検出のため２つの異なる色の放射を使用し、レシーバ５２４は、２つの異なる波長を識別する。
【００７６】
図９Ｃ、１０Ａ、及び１０Ｂを参照すると、一部の実施構成において、段差センサ５２０の視野５２３、５２５は、後方視角αで（一次移動方向Ｆに対して）後方を確認する。一部の実施例において、αは、（センサの長手方向軸線ＹSから）１０度未満である。この角αは、２つの対立する制約条件すなわち、第１は、障害物を登っている間も床１０を依然として検知することができること（例えば、図９Ｃに描かれるように、第２の床表面１０ｂから第１の床表面１０ａを隔てる降下距離ＤC）、第２に、ロボット１００はそれほど後方を確認しないので、ロボット１００が降りることができない実際の段差の上り階段１３（又は、図１０Ａに示すような下り段の前方の他の垂直面）を調べることの釣り合いをとるように決定される。（図１０Ａにおいて、マルチパス放射５２３ｍは、第１のエミッタ５２２ａ及び第１の体積Ｖ１と関連する放射５２３ａと同一であり、直接放射５２３ｄは、第２のエミッタ５２２ｂ及び第２の体積Ｖ２と関連する放射５２３ｂと同一である）。センサレシーバ５２４は、上り階段１３から跳ね返るマルチパス放射５３４ｍを受け取ることに加えて、閾降下距離ＤSを超える距離ｄを示す放射５２３ｄを受け取るので、ロボット１００は、段差状態（すなわち、実際の段差）であると信号を受け取る。換言すると、ロボット１００が、ＤSよりも大きい距離ｄ（センサ５２０から第２の床表面１０ｂまで）を有する段差に向かって移動するときには、上り階段１３から跳ね返って段差センサ５２０のレシーバ５２４に戻る何らかのマルチパス放射５３４ｍは、ロボット１００が移動して回復不能状態（例えば、ホイール１２４、１２４ａ、１２４ｂ、又はキャスター１２６が下り段から宙づりになる状態）になる前に生じる可能性は幾何学的にあり得ず、この時点ではセンサレシーバ５２４は、実際の段差を示す放射５２３ｄを受け取る。１０度未満で後方を確認するよう段差センサ５２０の視野後方視角αを調整することにより、１０度を超える後方視角αで起こる、マルチパス放射５２３ｍが垂直面１３から反射して閾距離ＤS内の床表面１０までの距離ｄを誤って示す可能性が最小限になる。これにより、キャスター１２６が、段差（ｄ＞ＤS）の端部を転動して、ロボット１００が落下又は下り段の端部に衝突するなどの回復不能な状態になるのを防ぐことができる。図９Ｃに示すように、移動方向Ｆから後方を確認する段差センサ５２０の視野５２３、５２５を有することにより、ロボット１００は、第２の床表面１０ｂから第１の床表面１０ａを隔てる降下距離ＤC並びに閾降下距離ＤS以内の上り段高さ及び下り段高さ（すなわち、センサ５２０からの距離ｄ）を有する段差１２ａを横断するようロボット１００が傾斜したときの横断可能敷居１２ａ（すなわち、閾降下距離ＤS以内の床張り状態）を検知することができる。図１０Ｂは、表１の第２の縦列におけるセンサ応答に一致する状態を描いており、その両方の放射５２３ａ、５２３ｄの応答は、閾距離ＤSを超えて位置する表面１０から反射した後にレシーバ５２４によって受け取られる。ここの表面は、離れ過ぎており（ｄ＞＞ＤS）、表面１０は、白大理石の階段のように拡散反射性がある。
【００７７】
何れの場合においても、表１に関して上記で説明したように、ロボット１００は、４つのセンサ状態に応答することができ、その１つだけが、実際の段差の懸念なくロボット１００が移動を継続する状態（ｄ≦Ｄｓ）を示している。ロボット１００は、他のセンサ状態にも応答することができる。
【００７８】
図１１Ａ〜１１Ｃを参照すると、センサ本体５１４は、センサ構成要素５２２、５２４のうちの少なくとも１つのセンサ構成要素の視野５２３、５２５を定める少なくとも１つの壁５１６を含む。壁５１６は、エミッタ又はレシーバから反射した光が物体又は段差１２に衝突又は受け取られるのを阻止又は低減する。壁５１６は、バッフルピンチ点Ａ１、Ａ２、Ｂ１、Ｂ２で光を配向し、従って、壁５１６は、センサ構成要素５２２、５２４のうちの少なくとも１つのセンサ構成要素の視野５２３、５２５を定める。壁５１６は、センサ構成要素５２２、５２４の視野５２３、５２５を狭窄又は拡大するよう設計することができる。図１１Ａの実施例において図示されるように、センサ本体５１４は、４つのピンチ点（上側の２つのピンチ点Ａ１、Ａ２と、下側の２つのピンチ点Ｂ１、Ｂ２）を備えた二重バッフルを有する。上側ピンチ点Ａ１、Ａ２の開口により、放射５２３がハウジング５１４の体積を満たすことができ、下側ピンチ点Ｂ１、Ｂ２は、明確なカットオフ部（すなわち、先鋭な放射光境界）を生成する。放射５２３は、先鋭であり、これにより第１の体積Ｖ１から及び第１の体積Ｖ１への移行状態、第１の放射場５２３ａ及びレシーバ視野５２５（又は２つのレシーバと１つのエミッタの実施例における第１のレシーバ視野５２４ａ及びエミッタ５２２）の交差、並びに第２の体積Ｖ２が始まる移行状態及び閾降下距離の精度が改善される。図１１Ｂ及び１１Ｃに示すように、放射５２３は、最小の降り端部放射５２３ｅと共に、「先鋭な」中心放射５２３ｃを定める。降り端部放射５２３ｅの角度は、中心放射５２３ｃから１度未満である。床表面１０から投射される放射５２３のサイズは、ＬＥＤビーム放射がどれほど狭いか、及び第２のピンチ点開口Ｂ１、Ｂ２からの床表面１０の距離に依存する。加えて、一部の実施構成において、下側ピンチ点開口Ｂ１、Ｂ２は、ＬＥＤエミッタ５２２の電力半値角に等しい距離にわたる開口幅のサイズにされる。放射５２３の端部の明るさを管理するには、開口Ｂ１、Ｂ２の幅を狭くすることが必要となる可能性がある。放射５２３の端部での電力を管理することによって、閾降下距離Ｄｓのカットオフは、放射５２３ａ、５２３ｂとレシーバ視野５２５との間の明確な交差点にある。この移行点における精度は、表面依存性を排除し、床張りタイプにわたるセンサ応答とロボット１００のロール及びピッチ角の整合性を改善する。
【００７９】
図９Ａ及び９Ｂの２体積真理値表の実施構成を用いた距離測定を可能にするために、第２のレシーバ５２４ｃ（又は第２のエミッタ）（図示せず）をエミッタ５２２ａ、５２２ｂ（又はレシーバ５２４ａ、５２４ｂ）の間又は傍に配置することができ、視野は、近距離又は遠距離エミッタ５２２ａ、５２２ｂ（又はレシーバ５２４ａ、５２４ｂ）の何れか又は両方の近距離又は遠距離体積の何れか又は両方を重なり合わせている。図９Ｂに第２のレシーバ５２４ｃを付加することに関して、第２のレシーバ５２４ｃは、第１のレシーバ５２４よりも候補表面／体積（近距離敷居又は遠距離下り段体積）から遠位にあり、図８Ｂ及び８Ｃのように第１のレシーバ５２４と同じ側又は反対側に配列されることになる。従って、３要素センサの２つの実施構成を組み合わせた混成差分／２体積センサは、第１及び第２のエミッタと第１及び第２のレシーバとを有することになる。第１のレシーバは、近距離閾降下距離Ｄｓにて第１のエミッタ５２２ａの第１の体積Ｖ１と、遠距離階段降下距離にて第２のエミッタ５２２ｂの第２の体積Ｖ２を観測するよう構成され（センサ５２０の底部のレンズ効果により）、第２のレシーバ５２４ｃは、第１のレシーバ５２４ａよりも遠位の位置から、第１の体積Ｖ１又は第２の体積Ｖ２の一方又は両方の少なくとも一部を観測するよう構成されることになる。
【００８０】
作動時には、ロボットは、表１の真理値表及び図１３Ａ〜Ｈの真理値表状態図に記載されたのと同じ論理に従い、又は従うことができる。それでも尚、混成センサを用いて、閾値及びゲインを確認し、第１又は第２の体積含有量（ゲイン増大又は帯域通過フィルタ処理により）の何れかを確認し、表面タイプ（例えば、反射性、パターン化、硬質、軟質、浅い又は深いパイルの中から）を判定し、表面距離（高い中心、ピッチ、ヨー）に応じて状況を分類することができる。或いは、異なる真理値表は、Ｖ１、Ｖ２、Ｖ３、及びＶ４で統合することができ、Ｖ３及びＶ４は、駆動停止決定ではなく、確認に使用される第２のレシーバ５２４ｃからもたらされる。
【００８１】
図１２は、移動式ロボット１００の作動方法１２００の例示的な工程構成を示す。方法１２００は、コンピュータプロセッサにおいて、第１のセンサ５２２ａ、５２２ｂからデータを受け取るステップ１２０２を含む。第１のセンサ５２２ａ、５２２ｂは、第１のエミッタ５２２ａ及び第１のレシーバ５２４ａを含む。本方法１２００は、コンピュータプロセッサにおいて、第２のエミッタ５２２ｂ及び第２のレシーバ５２４ｂを備えた第２のセンサ５２２ｂ、５２４ｂからデータを受け取るステップ１２０４を含む。第１のエミッタ５２２ａ及び第２のエミッタ５２２ｂは、同じエミッタ５２２であり、第１のレシーバ５２４ａ及び第２のレシーバ５２４ｂは、同じレシーバ５２４である。本方法１２００は、コンピュータプロセッサを用いて、受け取ったデータに基づいて検知基準点（例えば、レシーバ５２４）と検知した物体との間の目標距離ｄを求めるステップ１２０６と、目標距離ｄが第１の閾距離Ｄｓ又は第２の閾距離ＤNS内にあるかどうかを判定するステップ１２０８とを含む。本方法１２００はまた、コンピュータプロセッサから、目標距離ｄが第１の閾距離Ｄｓ又は第２の閾距離ＤNS内にあるかどうかに基づいて、コマンドを発するステップ１２１０を含む。一部の実施例において、目標距離ｄが第１の閾距離又は第２の閾距離内にあるかどうかを判定するステップとコマンドを発するステップとの間の処理時間は、約１０ミリ秒（±５ｍｓ）以下である。プロセッサは、キャスターホイール１２６が段差１２から落下する前にロボット１００の方向を変えるコマンドを発するべきかどうか判定する必要があるので、処理時間は、センサ５２０とキャスターホイール１２６との間の距離に基づいている。従って、キャスターホイール１２６（又はセンサ５２０に近接した何れかのホイール）がセンサ５２０からの近接距離内にある場合には、段差１２が存在するかどうかを判定して、ロボット１００が移動を維持することができるかどうかを評価するのに必要となる時間がより少なくなる可能性がある。キャスターホイール１２６（又は何れかの他のホイール）間の距離がより大きい場合、ロボットは、決定を下すのにより長い時間を用いることができる。
【００８２】
図９Ａを再度参照すると、一部の実施構成において、第１のエミッタ５２２ａ及び第２のエミッタ５２２ｂが同じである場合、方法１２００は更に、第１の視野５２３に沿って第１のエミッタ５２２ａから光を放射し、第２の視野５２５ａに沿って第１のレシーバ５２４ａにて光の反射を受け取るステップを含む。加えて、方法１２００は、第３の視野５２５ｂに沿って第２のレシーバ５２４ｂにて光の反射を受け取るステップを含む。第１の視野５２３は、第２及び第３の視野５２５ａ、５２５ｂと交差する。第１及び第２の視野５２３、５２５ａの交差は、第１の体積Ｖ１を定め、第１及び第３の視野５２３、５２５ｂの交差は、第２の体積Ｖ２を定める。第１の体積Ｖ１は、検知基準点（例えば、ロボット本体１１０）から第１の閾距離ＤS内の第１の床表面１０ａを検出し、第２の体積Ｖ２は、検知基準点から第１の閾距離ＤSよりも大きい第２の閾距離内の第２の床表面１０ｂを検出する。第１、第２、及び第３の視野５２３、５２５ａ、５２５ｂは、第１、第２、及び第３の視野軸線Ｆ523、Ｆ525a、Ｆ525bそれぞれを定めることができ、ここで第１、第２、及び第３の視野軸線は平行である。加えて、又は代替として、方法１２００は、第１の視野５２３によって定められる視野軸線Ｆ523を共通の長手方向検知軸線ＹSに対して約５度〜約１５度の角度で配列するステップと、第２及び第３の視野５２５ａ、５２５ｂによって定められる視野軸線Ｆ525a、Ｆ525bを、共通の長手方向検知軸線ＹSに対して約０度〜約１０度の角度で配列するステップと、を含むことができる。
【００８３】
図９Ｂを再度参照すると、一部の実施構成において、第１のレシーバ５２４ａ及び第２のレシーバ５２４ｂが同じである場合、方法１２００は更に、第１の視野５２５に沿って光の反射を受け取るステップと、第２の視野５２３ａに沿って第１のエミッタ５２２ａから光を放射するステップと、を含む。方法１２００はまた、第３の視野５２３ｂに沿って第２のエミッタ５２２ｂから光を放射するステップを含む。第１の視野５２５は、第２及び第３の視野５２３ａ、５２３ｂと交差し、ここで第１及び第２の視野５２５、５２３ｂの交差は第１の体積Ｖ１を定める。第１及び第３の視野５２５、５２３ｂの交差は、第２の体積Ｖ２を定める。第１の体積Ｖ１は、検知基準点から第１の閾距離ＤS内の第１の床表面１０ａを検出し、第２の体積Ｖ２は、検知基準点から、第１の閾距離ＤSよりも大きい距離である第２の閾距離内の第２の床表面１０ｂを検出する。第１、第２、及び第３の視野５２５、５２３ａ、５２３ｂは、第１、第２、及び第３の視野軸線Ｆ525、Ｆ523a、Ｆ523bそれぞれを定め、ここで第２及び第３の視野軸線５２３ａ、５２３ｂは平行である。加えて、又は代替として、方法１２００は、第１の視野５２５によって定められる視野軸線Ｆ525を共通の長手方向検知軸線ＹSに対して約５度〜約１５度の角度で配列するステップと、第２及び第３の視野５２３ａ、５２３ｂによって定められる視野軸線Ｆ523a、Ｆ523bを、共通の長手方向検知軸線ＹSに対して約０度〜約１０度の角度で配列するステップと、を含むことができる。
【００８４】
本明細書に記載したシステム及び技術の様々な実施構成は、デジタル電子回路及び／又は光学回路、集積回路、特別に設計されたＡＳＩＣ（特定用途向け集積回路）、コンピュータハードウェア、ファームウェア、ソフトウェア及び／又はこれらの組み合わせで実現することができる。これらの様々な実施構成は、ストレージシステム、少なくとも１つの入力装置及び少なくとも１つの出力装置との間でデータ及び命令を受信及び送信するように結合された少なくとも１つのプログラマブルプロセッサ（専用又は汎用とすることができる）を含むプログラマブルシステム上で実行可能及び／又は解釈実行可能な１又はそれ以上のコンピュータプログラムにおける実施構成を含むことができる。
【００８５】
これらのコンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション又はコードとしても知られる）は、プログラマブルプロセッサのための機械命令を含み、高レベル手続き型及び／又はオブジェクト指向プログラミング言語、及び／又はアセンブリ言語／機械語で実装することができる。本明細書で使用される「機械可読媒体」及び「コンピュータ可読媒体」とは、機械命令又はデータをプログラマブルプロセッサに提供するために使用される、あらゆるコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置及び／又はデバイス（例えば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス（ＰＬＤ）を指し、機械可読信号として機械命令を受け取る機械可読媒体を含む。用語「機械可読信号」とは、機械命令及び／又はデータをプログラマブルプロセッサに提供するのに使用されるあらゆる信号を指す。
【００８６】
本明細書に記載した主題及び機能操作の実施構成は、デジタル電子回路又はコンピュータソフトウェア、ファームウェア、又はハードウェアで実施することができ、本明細書に開示された構造及びこれらの等価構造又はこれらの１又はそれ以上の組み合わせを含む。その上、本明細書に記載した主題は、１又はそれ以上のコンピュータプログラム製品、すなわち、コンピュータ可読媒体上に符号化され、データ処理装置によって実行するため又はデータ処理装置の動作を制御するためのコンピュータプログラム命令の１又はそれ以上のモジュールとして実装することができる。コンピュータ可読媒体は、機械可読ストレージデバイス、機械可読ストレージ基板、メモリデバイス、機械可読伝播信号に影響を与える組成物、或いは、これらの１又はそれ以上の組み合わせとすることができる。用語「データ処理装置」、「コンピュータデバイス」、及び「コンピュータプロセッサ」は、データを処理するあらゆる装置、デバイス及び機械を包含し、例えば、プログラマブルプロセッサ、コンピュータ、又は、複数のプロセッサ又は複数のコンピュータを含む。装置は、ハードウェアに加えて、対象のコンピュータプログラムに対する実行環境を生成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベースマネジメントシステム、オペレーティングシステム、又はこれらの１又はそれ以上の組み合わせを構成するコードを含むことができる。伝播信号は、人工的に生成される信号、例えば好適な受信装置に送信する情報を符号化するのに生成される機械生成電気信号、光信号又は電磁信号である。
【００８７】
コンピュータプログラム（アプリケーション、プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト又はコードとしても知られる）は、コンパイル型言語又はインタプリータ型言語を含むあらゆるプログラミング言語の形態で記述することができ、スタンドアロンプログラムとして、或いはモジュール、コンポーネント、サブルーチン又はコンピューティング環境で使用するのに好適な他のユニットとしてを含め、あらゆる形態で配備することができる。コンピュータプログラムは、必ずしもファイルシステムのファイルに対応させる必要はない。プログラムは、他のプログラム又はデータ（例えばマークアップ言語ドキュメントに格納された１又はそれ以上のスクリプト）を保持するファイルの一部に、対象のプログラムに専用の単一ファイルに、又は複数の協調ファイル（例えば、１又はそれ以上のモジュール、サブプログラム又はコードの一部分を格納するファイル）に格納することができる。コンピュータプログラムは、１つのコンピュータ上で、又は１つのサイトに位置するか、又は複数のサイトに分散されて通信ネットワークにより相互接続された複数のコンピュータ上で実行されるように配備することができる。
【００８８】
本明細書に記載したプロセス及び論理フローは、入力データを処理して出力を生成することによって種々の機能を実行するために１又はそれ以上のコンピュータプログラムを実行する１又はそれ以上のプログラマブルプロセッサによって実行することができる。このプロセス及び論理フローはまた、専用の論理回路、例えばＦＰＧＡ（フィールドプログラマブルゲートアレイ）又はＡＳＩＣ（特定用途向け集積回路）によって実施することができ、装置もまた、そのような専用の論理回路として実装することができる。
【００８９】
コンピュータプログラムの実行に好適なプロセッサは、例えば、汎用及び専用のマイクロプロセッサ、及び何れかの種類のデジタルコンピュータの何らかの１又はそれ以上のプロセッサを含むことができる。一般に、プロセッサは、リードオンリーメモリ又はランダムアクセスメモリ、又はその両方からの命令及びデータを受け取ることになる。コンピュータの必須要素は、命令を実行するプロセッサと、命令及びデータを格納する１又はそれ以上のメモリデバイスである。一般に、コンピュータはまた、データを格納する１又はそれ以上の大容量ストレージデバイス（例えば磁気ディスク、磁気光学ディスク又は光ディスク）を含み、或いは、大容量ストレージデバイスからデータを受信し、又はデータを大容量ストレージデバイスに転送するように動作可能に結合される。しかしながら、コンピュータは、必ずしもこのようなデバイスを有する必要はない。更に、コンピュータは、別のデバイス、例えば、２〜３例を挙げると、移動体電話、携帯情報端末（ＰＤＡ）、携帯オーディオプレーヤ、グローバル・ポジショニング・システム（ＧＰＳ）レシーバに組み込むことができる。コンピュータプログラム命令及びデータを格納するのに好適なコンピュータ可読媒体は、あらゆる形態の不揮発性メモリ、メディア及びメモリデバイスを含み、例を挙げれば、例えば、ＥＰＲＯＭ，ＥＥＰＲＯＭ及びフラッシュメモリデバイスなどの半導体メモリデバイス、内部ハードディスク又はリムーバブルディスクなどの磁気ディスク、磁気光学ディスク、及びＣＤ  ＲＯＭ及びＤＶＤ−ＲＯＭディスクが挙げられる。プロセッサ及びメモリは、専用論理回路により補完することができ、またこの回路に組み込むこともできる。
【００９０】
ユーザとの対話を提供するために、本開示の１又はそれ以上の態様は、ユーザに対して情報を表示するためのディスプレイデバイス（例えば、ＣＲＴ（冷陰極管）、ＬＣＤ（液晶ディスプレイ）モニタ、又はタッチスクリーン）と、任意選択的にユーザがコンピュータに入力を提供できるキーボード及びポインティングデバイス（例えば、マウス又はトラックボール）とを有するコンピュータ上で実施することができる。他の種類のデバイスを用いてもユーザとの対話を提供することができ、例えば、ユーザに提供されるフィードバックは、あらゆる形態のセンサフィードバック（例えば、視覚的フィードバック、聴覚的フィードバック、又は触覚的フィードバック）とすることができ、及びユーザからの入力は、音響、音声、又は触覚入力を含む、あらゆる形態で受け取ることができる。加えて、コンピュータは、ユーザにより使用されるデバイスに文書を送信し、当該デバイスから文書を受け取ることにより、例えば、ウェブブラウザから受け取ったリクエストに応答して、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
【００９１】
本開示の１又はそれ以上の態様は、コンピューティングシステムで実施することができ、該コンピュータシステムは、バックエンドコンポーネント（例えばデータサーバ）を含み、又はミドルウェアコンポーネント（例えばアプリケーションサーバ）を含み、或いは、フロントエンドコンポーネント（例えば、本明細書に記載した主題の実施構成とユーザが対話できるグラフィックユーザインタフェース又はウェブブラウザを有するクライアントコンピュータ）、もしくは１又はそれ以上のこのようなバックエンド、ミドルウェア又はフロントエンドコンポーネントのあらゆる組み合わせを含む。本システムのコンポーネントは、任意の形態又は媒体のデジタルデータ通信（例えば、通信ネットワーク）によって相互接続することができる。通信ネットワークの実施例には、ローカルエリアネットワーク（「ＬＡＮ」）及びワイドエリアネットワーク（「ＷＡＮ」）、相互接続ネットワーク（例えば、インターネット）、及びピアツーピアネットワーク（例えば、アドホックピアツーピアネットワーク）が挙げられる。
【００９２】
コンピューティングシステムは、クライアント及びサーバを含むことができる。クライアント及びサーバは一般に、互いにリモートであり、通常は通信ネットワークを介して対話する。クライアントとサーバの関係は、互いにクライアント−サーバ関係を有するそれぞれのコンピュータ上で実行されるコンピュータプログラムによって生じる。一部の実施構成において、サーバは、クライアントデバイスにデータ（例えば、ＨＴＭＬページ）を送信する（例えば、クライアントデバイスと対話するユーザからのユーザにデータを表示するため、及び当該ユーザからのユーザ入力を受け取る目的で）。（ユーザ対話の結果として）クライアントデバイスにて生成されるデータは、クライアントデバイスからサーバにて受け取ることができる。
【００９３】
本明細書は、多くの詳細事項を含むが、これらは、本開示又は請求項に記載された範囲を限定するものと解釈されるべきではなく、むしろ、本開示の特定の実施構成に特有の特徴に関する説明として解釈すべきである。また、別個の複数の実施構成の関連において本明細書で記載される特定の特徴は、単一の実施構成において組み合わせて実施することもできる。逆に、単一の実施構成の関連で記載される様々な特徴は、複数の実施構成において別々に、又は任意の好適な部分的組み合わせで実施することもできる。更に、これらの特徴は、特定の組み合わせで機能するように上記で説明され、更に、最初にそのように請求項に記載されている場合があるが、場合によっては、請求項に記載された組み合わせからの１つ以上の特徴を切り出すことができ、また、請求項に記載された組み合わせは、部分的組み合わせ又は部分的組み合わせの変形形態を対象とすることができる。
【００９４】
同様に、図面において幾つかの工程が特定の順序で示されているが、これは、このような工程が図示の特定の順序で又は順番で実行される必要があること、また所望の結果を得るために例示の全ての工程が実行される必要があることを要求するものと理解すべきではない。特定の状況においては、マルチタスク及び並列処理が有利とすることができる。更に、上記の実施例における様々なシステムコンポーネントの分離は、全ての実施例においてこのような分離が必要とされるものと解釈すべきでなく、また、記載したプログラムコンポーネント及びシステムは、単一のソフトウェア製品に統合することができ、又は複数のソフトウェア製品にパッケージングすることもできる。
【００９５】
幾つかの実施構成を説明してきた。それでも尚、本開示の精神及び範囲から逸脱することなく様々な修正を行うことができる点を理解されたい。従って、他の実施構成も添付の請求項の範囲内にある。例えば、請求項に記載した動作は、異なる順序で実行し、それでも尚所望の結果を得ることができる。
【符号の説明】
【００９６】
１０  床表面
５１６  壁
５２０  段差検出近接センサ
５２２、５２４  センサ構成要素
５２３、５２５  センサの視野
【図１】
0005885147.tif 000014
【図２】
0005885147.tif 000015
【図３】
0005885147.tif 000016
【図４】
0005885147.tif 000017
【図５】
0005885147.tif 000018
【図６】
0005885147.tif 000019
【図７Ａ】
0005885147.tif 000020
【図７Ｂ】
0005885147.tif 000021
【図８Ａ】
0005885147.tif 000022
【図８Ｂ】
0005885147.tif 000023
【図８Ｃ】
0005885147.tif 000024
【図８Ｄ】
0005885147.tif 000025
【図８Ｅ】
0005885147.tif 000026
【図９Ａ】
0005885147.tif 000027
【図９Ｂ】
0005885147.tif 000028
【図９Ｃ】
0005885147.tif 000029
【図１０Ａ】
0005885147.tif 000030
【図１０Ｂ】
0005885147.tif 000031
【図１１Ａ】
0005885147.tif 000032
【図１１Ｂ】
0005885147.tif 000033
【図１１Ｃ】
0005885147.tif 000034
【図１２】
0005885147.tif 000035
【図１３Ａ−Ｄ】
0005885147.tif 000036
【図１３Ｅ−Ｈ】
0005885147.tif 000037