(57)【要約】【課題】有用な移動式ヒューマンインターフェースロボットを提供する。【解決手段】移動式ロボット（１００）であって、駆動システム（２００）、駆動システムと通信状態にあるコントローラ（５００）、地面よりも約１フィート（３０．５ｃｍ）以上、上方の高さ位置のところで駆動システムの上方に支持されると共に移動式ロボットの移動方向に床平面を含む空間ボリュームから点群を得ることができるよう差し向けられたボリューム形点群イメージング装置を有する、移動式ロボット。コントローラは、イメージング装置から点群信号を受け取り、そして少なくとも部分的に受け取った点群信号に基づく駆動指令を駆動システムに送り出す。【選択図】図１
2014195868.tif 000002
【特許請求の範囲】
【請求項１】
移動式ロボット（１００）であって、
駆動システム（２００）と、
前記駆動システム（２００）と通信状態にあるコントローラ（５００）と、
地面よりも約１フィート（３０．５ｃｍ）以上、上方の高さ位置のところで前記駆動システム（２００）の上方に支持されると共に前記移動式ロボット（１００）の移動方向において床平面を含む空間ボリュームから点群を得ることができるよう差し向けられたボリューム形点群イメージング装置（４５０，４５０ａ，４５０ｂ）とを有し、
前記コントローラ（５００）は、前記イメージング装置（４５０，４５０ａ，４５０ｂ）から点群信号を受け取り、そして少なくとも部分的に、前記受け取った点群信号に基づく駆動指令を前記駆動システム（２００）に送り出す、移動式ロボット（１００）。
【請求項２】
前記コントローラ（５００）は、毎秒１００億を超える命令（million instruction(s) per second ：ＭＩＰＳ）を処理することができるコンピュータから成る、請求項１記載の移動式ロボット（１００）。
【請求項３】
前記イメージング装置（４５０，４５０ａ，４５０ｂ）は、前記ロボット（１００）の周りのシーン（１０）に光を放出し、前記ロボット（１００）の駆動方向（Ｆ）に沿って前記シーン（１０）のイメージを捕捉し、前記イメージは、（ａ）三次元深度イメージ、（ｂ）アクティブな照明イメージ及び（ｃ）周囲照明イメージのうちの少なくとも１つを含み、
前記コントローラ（５００）は、前記イメージに基づいて前記シーン（１０）中の物体（１２）の存在場所を突き止め、そして前記物体の存在場所に基づいて駆動指令を前記駆動システム（２００）に送り出して前記ロボット（１００）を前記シーン（１０）内で操縦する、請求項１又は２記載の移動式ロボット（１００）。
【請求項４】
前記イメージング装置（４５０，４５０ａ，４５０ｂ）は、前記光放出と前記シーン（１０）からの反射光の受光との間のタイムオブフライト（time-of-flight）を求め、前記コントローラ（５００）は、前記物体（１２）の反射面までの距離を求めるために前記タイムオブフライトを用いる、請求項３記載の移動式ロボット（１００）。
【請求項５】
前記イメージング装置（４５０，４５０ａ，４５０ｂ）は、
好ましくは間欠パルスで光を前記シーン（１０）に放出する光源（１１７２，１３１０，１５１０）を有し、より好ましくは、前記光源（１１７２，１３１０，１５１０）は、前記光パルスを第１の省電力周波数で放出し、センサ事象を受け取ると、前記光パルスを第２の能動周波数で放出し、前記センサ事象は、オプションとして、前記シーン（１０）内における物体（１２）の存在を表すセンサ信号を含み、
前記シーン（１０）からの放出光の反射光を受け取るイメージャ（１１７４，１３２０，１５２０）を有し、
前記イメージャ（１１７４，１３２０，１５２０）は、光検出ピクセル（１１７４ｐ，１３２６，１５２２）のアレイを有する、請求項３又は４記載の移動式ロボット（１００）。
【請求項６】
前記イメージング装置（４５０，４５０ａ，４５０ｂ）は、第１の部分（４５０ａ）及び第２の部分（４５０ｂ）を含み、
前記第１の部分（４５０ａ）は、光を実質的に地面に放出し、前記地面からの前記放出光の反射光を受け取るよう構成され、
前記第２の部分（４５０ｂ）は、光を地面の実質的に上方のシーン（１０）に放出し、前記ロボット（１００）の周りの前記シーン（１０）からの前記放出光の反射光を受け取るよう構成されている、請求項１〜５のうちいずれか一に記載の移動式ロボット（１００）。
【請求項７】
前記イメージング装置（４５０，４５０ａ，４５０ｂ）は、
光のスペックルパターンを前記ロボット（１００）の駆動方向（Ｆ）に沿ってシーン（１０）に放出するスペックルエミッタ（１３１０）と、
前記シーン（１０）内の物体（１２）からの前記スペックルパターンの反射光を受け取るイメージャ（１３２０）とを有し、
前記コントローラ（５００）は、
前記シーン（１０）内の基準物体（１２）から反射された前記スペックルパターンの基準イメージを記憶し、前記基準イメージは、前記基準物体（１２）から互いに異なる距離（Ｚn）のところで捕捉され、
前記シーン（１０）内の標的物体（１２）から反射された前記スペックルパターンの少なくとも１つの標的イメージを前記基準イメージと比較し、それにより、前記標的物体（１２）の反射面の距離（ΔＺ）を求める、請求項１〜６のうちいずれか一に記載の移動式ロボット（１００）。
【請求項８】
前記コントローラ（５００）は、前記標的物体（１２）上の一次スペックルパターンを求め、前記一次スペックルパターンと前記基準イメージの前記スペックルパターンとの相互相関性及び非相関性のうちの少なくとも一方をコンピュータ計算する、請求項７記載の移動式ロボット（１００）。
【請求項９】
移動式ロボット（１００）であって、
基部（１２０）を有し、
前記基部（１２０）によって支持されたホロノミック駆動システム（２００）を有し、前記駆動システム（２００）は、各々が垂直中心軸線（Ｚ）回りに三辺形的に間隔を置いて位置した第１、第２及び第３の駆動輪（２１０ａ，２１０ｂ，２１０ｃ）を有し、各駆動輪（２１０ａ，２１０ｂ，２１０ｃ）は、前記垂直中心軸線（Ｚ）に関して半径方向軸線（Slip）に垂直な駆動方向（Drive）を有し、前記ホロノミック駆動システム（２００）は、前記ロボット（１００）をシーン（１０）の作業面（５）上で操縦し、
前記駆動システム（２００）と通信状態にあるコントローラ（５００）を有し、
前記基部（１２０）から上方に延びていて、可変高さ（ＨL）を有する脚部（１３０）を有し、
前記脚部（１３０）によって支持された胴部（１４０）を有し、前記胴部（１４０）は、前記基部（１２０）の上に張り出た底面（１４４）を備えた肩（１４２）を備え、
前記駆動システム（２００）の前方駆動方向（Ｆ）に沿って下方に向いた状態で前記胴部（１４０）の前記底面（１４４）に取り付けられたイメージングセンサ（４５０，４５０ａ）を有し、前記イメージングセンサ（４５０，４５０ａ）は、前記ロボット（１００）の周りのシーン（１０）の三次元イメージを捕捉する、移動式ロボット（１００）。
【請求項１０】
前記イメージング装置（４５０，４５０ａ）は、
光のスペックルパターンをシーン（１０）に放出するスペックルエミッタ（１３１０）と、
前記シーン（１０）内の物体（１２）からの前記スペックルパターンの反射光を受け取るイメージャ（１３２０）とを有し、
前記コントローラ（５００）は、
前記シーン（１０）内の基準物体（１２）から反射された前記スペックルパターンの基準イメージを記憶し、前記基準イメージは、前記基準物体（１２）から互いに異なる距離（Ｚn）のところで捕捉され、
前記シーン（１０）内の標的物体（１２）から反射された前記スペックルパターンの少なくとも１つの標的イメージを前記基準イメージと比較し、それにより、前記標的物体（１２）の反射面の距離（ΔＺ）を求める、請求項９記載の移動式ロボット（１００）。
【請求項１１】
前記イメージングセンサ（４５０，４５０ａ）は、前記ロボット（１００）の駆動方向（Ｆ）に沿って前記シーン（１０）のイメージを捕捉し、前記イメージは、（ａ）三次元深度イメージ、（ｂ）アクティブな照明イメージ及び（ｃ）周囲照明イメージのうちの少なくとも１つを含む、請求項９又は１０記載の移動式ロボット（１００）。
【請求項１２】
前記コントローラ（５００）は、前記イメージ比較に基づいて前記シーン（１０）内の物体（１２）の存在場所を突き止め、そして前記物体存在場所に基づいて駆動指令を前記駆動システム（２００）に送り出して前記ロボット（１００）を前記シーン（１０）内で操縦する、請求項１０又は１１記載の移動式ロボット（１００）。
【請求項１３】
前記コントローラ（５００）は、前記標的物体（１２）上の一次スペックルパターンを求め、前記一次スペックルパターンと前記基準イメージの前記スペックルパターンとの相互相関性及び非相関性のうちの少なくとも一方をコンピュータ計算する、請求項１０〜１２のうちいずれか一に記載の移動式ロボット（１００）。
【請求項１４】
前記イメージングセンサ（４５０，４５０ａ）は、前記作業面（５）よりも２フィート（６１．０ｃｍ）以上、上方の高さ位置のところに位置決めされていて、前記ロボット（１００）の移動方向（Ｆ）において床平面（５）を含む空間ボリュームから点群を得ることができるよう差し向けられたボリューム形点群イメージング装置（４５０，４５０ａ）から成る、請求項１０〜１３のうちいずれか一に記載の移動式ロボット（１００）。
【請求項１５】
前記イメージングセンサ（４５０，４５０ａ）は、前記駆動システム（２００）の前記駆動輪（２１０ａ，２１０ｂ，２１０ｃ）の前方の前記作業面（５）を視認するよう好ましくは前記胴部（１４０）の底面（１４４）内に引っ込んだ状態で前記胴部（１４０）に取り付けられている、請求項９〜１４のうちいずれか一に記載の移動式ロボット（１００）。
【請求項１６】
前記イメージングセンサ（４５０，４５０ａ）は、少なくとも４５°の水平視野（θv-H）及び少なくとも４０°及び／又は好ましくは約１メートル〜約５メートルの範囲の垂直視野（θv-V）を有する、請求項９〜１５のうちいずれか一に記載の移動式ロボット（１００）。
【請求項１７】
前記イメージングセンサ（４５０，４５０ａ）は、前記イメージングセンサ（４５０，４５０ａ）の側方視野（４５２，θv-H）を広げるよう前記前方駆動方向（Ｆ）に対して左右に走査する、請求項９〜１６のうちいずれか一に記載の移動式ロボット（１００）。
【請求項１８】
前記イメージングセンサ（４５０，４５０ａ）は、約４４ミリ秒の待ち時間を有し、好ましくは、前記イメージングセンサ（４５０，４５０ａ）のイメージング出力は、待ち時間を補償するタイムスタンプを受け取る、請求項９〜１７のうちいずれか一に記載の移動式ロボット（１００）。
【請求項１９】
前記イメージングセンサ（４５０，４５０ａ）は、前記コントローラ（５００）と通信するためのシリアル周辺インターフェースを有する、請求項９〜１８のうちいずれか一に記載の移動式ロボット（１００）。
【請求項２０】
前記基部（１２０）の周りに配置されていて、前記脚部（１３０）及び前記胴部（１４０）のうちの少なくとも一方に侵害する物体（１２）を検出するために前記ロボット（１００）の周りにソナー検出カーテン（４１２）を提供するよう上方に向いたソナー近接センサ（４１０，４１０ａ，４１０ｂ，４１０ｃ，４１０ｄ，４１０ｅ，４１０ｆ、４１０ｇ、４１０ｈ、４１０ｉ）のアレイを更に有し、好ましくは、ソナー近接センサ（４１０，４１０ａ，４１０ｂ，４１０ｃ，４１０ｄ，４１０ｅ，４１０ｆ、４１０ｇ、４１０ｈ、４１０ｉ）のアレイは、前記胴部（１４０）から遠ざかる方向に向いている、請求項９〜１９のうちいずれか一に記載の移動式ロボット（１００）。
【請求項２１】
前記コントローラ（５００）と通信状態にあるレーザスキャナ（４４０）を更に有し、前記レーザスキャナ（４４０）は、前記前方駆動方向（Ｆ）に心出しされると共に前記作業面（５）に実質的に平行な視野（４４２）を有する、請求項９〜２０のうちいずれか一に記載の移動式ロボット（１００）。
【請求項２２】
各駆動輪（２１０ａ，２１０ｂ，２１０ｃ）は、前記駆動輪（２１０ａ，２１０ｂ，２１０ｃ）の周囲に沿って設けられた第１及び第２の列（２３２，２３４）をなすローラ（２３０）を有し、各ローラ（２３０）は、前記駆動輪（２１０ａ，２１０ｂ，２１０ｃ）の転動方向（ＤR）に垂直な転動方向（Ｄr）を有し、好ましくは、前記ローラ（２３０）は各々、弧状転動面を備え、前記ローラ（２３０）は一緒になって、前記駆動ホール（２１０ａ，２１０ｂ，２１０ｃ）の少なくとも実質的に円形の転動面を構成している、請求項９〜２１のうちいずれか一に記載の移動式ロボット（１００）。
【請求項２３】
テレプレゼンス用途向きの自動推進式テレビ会議プラットホーム（１００）であって、前記自動推進式テレビ会議プラットホーム（１００）は、
駆動システム（２００）を支持した駆動システムシャーシ（１２２）と、
前記駆動システムシャーシ（１２２）の上方に設けられていて、毎秒１００億を超える命令（ＭＩＰＳ）を処理することができるコンピュータ（５００）と、
前記コンピュータ（５００）の上方に支持されたディスプレイ（３１０，３１０ａ，３１０ｂ，３１２）と、
前記コンピュータ（５００）の上方に支持されていて、前記ディスプレイ（３１０，３１０ａ，３１０ｂ，３１２）とは別個に少なくとも１つの自由度で動くことができるカメラ（３２０，３２０ａ，３２０ｂ，４５０，４５０ａ，４５０ｂ）とを有し、前記カメラ（３２０，３２０ａ，３２０ｂ，４５０，４５０ａ，４５０ｂ）は、地面（５）から３フィート（９１．４ｃｍ）を超えるところに且つ前記ディスプレイ（３２０，３２０ａ，３２０ｂ，４５０，４５０ａ，４５０ｂ）のディスプレイ領域の頂縁からディスプレイ高さの１０パーセント未満のところに位置決めされた対物レンズ（１１７６，１１７８，１５３０）を有する、自動推進式テレビ会議プラットホーム（１００）。
【請求項２４】
前記カメラ（３２０，３２０ａ，３２０ｂ，４５０，４５０ａ，４５０ｂ）は、前記ロボット（１００）に隣接した空間ボリュームから点群を得ることができるよう位置決めされたボリューム形点群イメージング装置（４５０，４５０ａ，４５０ｂ）を含み、好ましくは、ボリューム形点群イメージング装置（４５０，４５０ａ，４５０ｂ）は、地面よりも約１フィート（３０．５ｃｍ）以上、上方の高さ位置のところに位置決めされると共に前記ロボット（１００）の移動方向において床平面を含む空間ボリュームから点群を得ることができるよう差し向けられている、請求項２３記載の自動推進式テレビ会議プラットホーム（１００）。
【請求項２５】
前記ディスプレイ（３１０，３１０ａ，３１０ｂ，３１２）は、少なくとも１５０平方インチ（９６７．７ｃｍ2）のディスプレイ面積を有し、少なくとも１つの自由度で動くことができる、請求項２３又は２４記載の自動推進式テレビ会議プラットホーム（１００）。
【請求項２６】
前記カメラ（３２０，３２０ａ，３２０ｂ，４５０，４５０ａ，４５０ｂ）の前記対物レンズ（１１７６，１１７８，１５３０）は、ズームレンズから成る、請求項２３〜２５のうちいずれか一に記載の自動推進式テレビ会議プラットホーム（１００）。
【請求項２７】
少なくとも３時間にわたって前記コンピュータ（５００）に電力供給するよう構成されたバッテリ（１０５）を更に有する、請求項２３〜２６のうちいずれか一に記載の自動推進式テレビ会議プラットホーム（１００）。
【請求項２８】
前記駆動システム（２００）は、好ましくは第１、第２及び第３の駆動輪（２１０ａ，２１０ｂ，２１０ｃ）を含む電動全方向性駆動装置を有し、各駆動輪は、垂直中心軸線（Ｚ）回りに三辺形的に間隔を置いて配置されると共に前記駆動システムシャーシ（１２２）によって支持され、各駆動輪（２１０ａ，２１０ｂ，２１０ｃ）は、前記垂直中心軸線（Ｚ）に対して半径方向軸線（Slip）に垂直な駆動方向（Drive）を有する、請求項２３〜２７のうちいずれか一に記載の自動推進式テレビ会議プラットホーム（１００）。
【請求項２９】
前記基部（１２０）から上方に延びていて、可変高さ（ＨL）を有する脚部（１３０）を更に有し、
前記脚部（１３０）によって支持された胴部（１４０）を更に有し、前記胴部（１４０）は、前記基部（１２０）の上に張り出た底面（１４４）を備えた肩（１４２）を備え、  前記胴部（１４０）によって支持された頸部（１５０）を更に有し、
前記頸部（１５０）によって支持された頭部（１６０）を更に有し、前記頸部（１５０）は、前記頭部（１６０）を前記垂直中心軸線（Ｚ）に関してパンしたり傾動させたりし、前記ディスプレイ（３１０，３１０ａ，３１０ｂ，３１２）と前記カメラ（３２０，３２０ａ，３２０ｂ，４５０，４５０ａ，４５０ｂ）の両方は、前記頭部（１６０）によって支持されている、請求項２３〜２８のうちいずれか一に記載の自動推進式テレビ会議プラットホーム（１００）。
【請求項３０】
前記胴部（１４０）の底面（１４４）に取り付けられると共に前記駆動システム（２００）の前方駆動方向（Ｆ）に沿って下方に向いた胴部イメージングセンサ（４５０，４５０ａ）を更に有し、前記胴部イメージングセンサ（４５０，４５０ａ）は、前記ロボット（１００）の周りのシーンの三次元イメージを捕捉する、請求項２９記載の自動推進式テレビ会議プラットホーム（１００）。
【請求項３１】
前記頭部（１６０）に取り付けられると共に前記ロボット（１００）の周りのシーン（１０）の三次元イメージを捕捉する頭部イメージングセンサ（４５０，４５０ｂ）を更に有する、請求項２９又は３０記載の自動推進式テレビ会議プラットホーム（１００）。
【請求項３２】
移動式ロボット（１００）を作動させる方法であって、前記方法は、
三次元深度イメージデータを受け取るステップと、
前記ロボット（１００）の周りの環境（１０）に対応した局所知覚空間（４０５）を創成するステップと、
地面（５）の上方に且つ前記ロボット（１００）の高さ位置よりも下に位置する検出物体（１２）に対応する前記局所知覚空間（４０５）の部分を障害物（２１０２）として分類するステップと、
前記地面（５）の下に位置する検出物体（１２）に対応する前記局所知覚空間（４０５）の部分を障害物（２１０２）として分類するステップと、
前記地面（５）上の遮られていない領域に対応した前記局所知覚空間（４０５）の部分を自由空間（２１０６）として分類するステップと、
残りの全ての分類されなかった局所知覚空間を未知物（２１０４）として分類するステップと、
駆動指令を実行して前記自由空間（２１０６）及び前記未知物（２１０４）のうちの少なくとも一方として分類された局所知覚空間（４０５）に対応する前記環境自由内の場所まで動かすステップとを有する、方法。
【請求項３３】
前記分類は、アップデートされた三次元深度イメージデータで持続されなければ、経時的に崩れる、請求項３２記載の方法。
【請求項３４】
前記障害物（２１０２）又は前記未知物（２１０４）として分類された対応の局所知覚空間（４０５）を有する場所まで動くロボット経路（２１１０）を拒否することにより実行可能なロボット駆動指令に対応した予測ロボット経路（２１１０）を評価するステップを更に有する、請求項３２又は３３記載の方法。
【請求項３５】
前記三次元深度イメージデータを用いて三次元ボクセル格子を創成するステップと、前記三次元ボクセル格子を二次元格子（２１００）に変換するステップとを更に有し、前記二次元格子（２１００）の各セルは、前記局所知覚空間（４０５）の一部分に対応している、請求項３２〜３４のうちいずれか一に記載の方法。
【請求項３６】
前記局所知覚空間（４０５）に対応した格子（２１００）を創成するステップを更に有し、各格子セルは、前記対応の局所知覚空間（４０５）の前記分類を有し、前記障害物（２１０２）又は前記未知物（２１０４）として分類された各格子セルに関し、該格子セル内の格子点を検索するステップ及び衝突評価を実行するステップを更に有し、好ましくは、前記衝突評価は、前記ロボット（１００）の存在場所周りの衝突円内に位置する格子点を拒否するステップ及び／又は前記ロボット（１００）の存在場所に中心を持つ衝突三角形内に位置する格子点を拒否するステップを含む、請求項３２〜３５のうちいずれか一に記載の方法。
【請求項３７】
前記三次元深度イメージデータを提供するイメージングセンサ（４５０，４５０ａ，４５０ｂ）の視野（４５２）を未知物（２１０４）として分類された局所知覚空間（４０５）に対応する前記環境（１０）内の領域の方へ差し向けるステップを更に有する、請求項３２〜３６のうちいずれか一に記載の方法。
【請求項３８】
前記ロボット（１００）を、前記三次元深度イメージデータを提供するイメージングセンサ（４５０，４５０ａ，４５０ｂ）の視野（４５２）を超えてロボット位置に動かす駆動指令を拒否するステップを更に有する、請求項３２〜３７のうちいずれか一に記載の方法。
【請求項３９】
前記ロボット（１００）がしきい期間の間、静止しているとき、前記ロボット（１００）の前方駆動方向（Ｆ）に垂直にホロノミック的に動く駆動指令を拒否するステップを更に有し、前記三次元深度イメージデータを提供するイメージングセンサ（４５０，４５０ａ，４５０ｂ）は、前記前方駆動方向（Ｆ）と整列する、請求項３２〜３８のうちいずれか一に記載の方法。
【請求項４０】
前記ロボット（１００）が前方に駆動している間、前記ロボット（１００）の前方駆動方向（Ｆ）に垂直にホロノミック的に動く駆動指令を受け入れるステップを更に有し、前記三次元深度イメージデータを提供するイメージングセンサ（４５０，４５０ａ，４５０ｂ）は、前記前方駆動方向（Ｆ）と整列すると共に少なくとも４５°の視野角（θV）を有する、請求項３２〜３９のうちいずれか一に記載の方法。
【請求項４１】
前記ロボット（１００）が未知物（２１０４）として分類された対応の局所知覚空間（４０５）を有する前記環境（１０）内の場所に達する前に前記三次元深度イメージデータを提供するイメージングセンサ（４５０，４５０ａ，４５０ｂ）の視野（４５２）が前記場所に及んでいることが前記ロボット（１００）によって確認されると、前記未知物（２１０４）として分類された対応の局所知覚空間（４０５）を有する前記環境（１０）内の前記場所まで動かす駆動指令を受け入れるステップを更に有する、請求項３２〜４０のうちいずれか一に記載の方法。
【請求項４２】
前記三次元深度イメージデータは、前記ロボット（１００）に取り付けられていて、前記ロボット（１００）に隣接して位置する空間ボリュームから点群を得ることができるボリューム形点群イメージング装置（４５０，４５０ａ，４５０ｂ）によって提供され、好ましくは、ボリューム形点群イメージング装置（４５０，４５０ａ，４５０ｂ）は、地面よりも約１フィート（３０．５ｃｍ）以上、上方の高さ位置のところに位置決めされると共に前記ロボット（１００）の移動方向において床平面を含む空間ボリュームから点群を得ることができるよう差し向けられている、請求項３２〜４１のうちいずれか一に記載の方法。
【請求項４３】
移動式ロボット（１００）を作動させて人について行くようにする方法であって、前記方法は、
前記ロボット（１００）に隣接して位置する空間ボリュームから点群を得ることができるよう位置決めされたボリューム形点群イメージング装置（４５０，４５０ａ，４５０ｂ）から三次元イメージデータを受け取るステップと、
受け取った前記三次元イメージデータを物体（２４０６）にセグメント化するステップと、前記物体（２４０６）をフィルタ処理して第１のしきいサイズよりも大きく且つ第２のしきいサイズよりも小さい物体（２４０６）を除去するステップと、
前記フィルタ処理された物体（２４１０）の少なくとも一部分に対応した人（２３００）を識別するステップと、
前記ロボット（１００）の少なくとも一部分を前記識別された人（２３００）に対して動かすステップとを有する、方法。
【請求項４４】
前記三次元イメージデータは、ピクセル（１１７４ｐ）の二次元アレイを含み、各ピクセル（１１７４ｐ）は、深度情報を含む、請求項４３記載の方法。
【請求項４５】
隣りのピクセル（１１７４ｐ）に対する各ピクセル（１１７４ｐ）の近接性に基づいて前記ピクセル（１１７４ｐ）を前記物体（２４０６）にグループ化するステップを更に有する、請求項４３又は４４記載の方法。
【請求項４６】
前記識別された人（２３００）が前記ロボット（１００）のしきい距離（ＤR）内に位置しているとき、前記ロボット（１００）を前記識別された人（２３００）から遠ざけるステップを更に有し、好ましくは、前記イメージング装置（４５０，４５０ａ，４５０ｂ）の視野（４５２）を前記識別された人（２３００）上に維持するステップを更に有する、請求項４３〜４５のうちいずれか一に記載の方法。
【請求項４７】
好ましくは、前記識別された人（２３００）が前記ロボット（１００）のしきい距離（ＤR）を超えて位置しているとき、前記ロボット（１００）を前記識別された人（２３００）の方へ駆動することによって且つ／或いはウェイポイント駆動指令を送り出して前記ロボット（１００）を前記識別された人（２３００）の追従距離（ＤR）内に駆動することによって、前記ロボット（１００）を駆動して前記ロボット（１００）と前記識別された人（２３００）との間の追従距離（ＤR）を維持するステップを更に有する、請求項４３〜４６のうちいずれか一に記載の方法。
【請求項４８】
好ましくは対応の視野（４５２）を少なくとも実質的に前記識別された人（２３００）の方へ向けるよう前記イメージング装置（４５０，４５０ａ，４５０ｂ）をパンすること及び傾動させることのうちの少なくとも一方によって前記イメージング装置（４５０，４５０ａ，４５０ｂ）の視野（４５２）を前記識別された人（２３００）に維持するステップを更に有する、請求項４３〜４７のうちいずれか一に記載の方法。
【請求項４９】
前記イメージング装置（４５０，４５０ａ，４５０ｂ）は、地面（５）よりも少なくとも約１フィート（３０．５ｃｍ）、上方の高さ位置のところに位置決めされると共に前記ロボット（１００）の移動方向において床平面を含む空間ボリュームから点群を得ることができるよう差し向けられている、請求項４３〜４８のうちいずれか一に記載の方法。
【請求項５０】
前記第１のしきいサイズは、約８フィート（２４３．８ｃｍ）の高さを含むと共に／或いは前記第２のしきいサイズは、約３フィート（９１．４ｃｍ）の高さを含む、請求項４３〜４９のうちいずれか一に記載の方法。
【請求項５１】
好ましくはカルマンフィルタを用いて各識別された人（２３００）の運動軌跡を追跡すると共に反映させることによって前記フィルタ処理された物体（２４００）に対応した多数の人（２３００）を識別するステップを更に有する、請求項４３〜５０のうちいずれか一に記載の方法。
【請求項５２】
少なくとも部分的に少なくとも１人の識別された人（２３００）の運動軌跡に基づいて駆動指令を送り出すステップを更に有する、請求項４３〜５１のうちいずれか一に記載の方法。
【請求項５３】
移動式ロボット（１００）のための物体検出方法であって、前記方法は、
前記ロボット（１００）を作業面（５）の端から端まで操縦するステップを有し、
前記ロボット（１００）周りのシーン（１０）に光を放出するステップを有し、
前記ロボット（１００）の駆動方向（Ｆ）に沿って前記シーン（１０）のイメージを捕捉するステップを有し、前記イメージは、（ａ）三次元深度イメージ、（ｂ）アクティブな照明イメージ及び（ｃ）周囲照明イメージのうちの少なくとも１つを含み、
前記イメージに基づいて前記シーン（１０）中の物体（１２）の存在場所を突き止めるステップを有し、
前記物体存在場所について信頼水準を割り当てるステップを有し、
前記物体存在場所及び対応の信頼水準に基づいて前記ロボット（１００）を前記シーン（１０）内で操縦するステップを有する、方法。
【請求項５４】
前記シーン（１０）の物体占有マップ（１７００，１８２０）を作成するステップを更に有する、請求項５３記載の方法。
【請求項５５】
各物体存在場所の前記信頼水準を経時的に低下させ、ついには、それぞれの前記物体存在場所を新たに定められた物体存在場所でアップデートするステップを更に有する、請求項５３又は５４記載の方法。
【請求項５６】
前記ロボット（１００）を操縦して、前記物体（１２）との接触及び前記物体（１２）の周囲に沿う追従のうちの少なくとも一方を行い又は前記ロボット（１００）を操縦して前記物体（１２）を回避するステップを更に有する、請求項５３〜５５のうちいずれか一に記載の方法。
【請求項５７】
光を前記シーン（１０）に間欠パルスの状態で放出するステップを更に有し、オプションとして、前記放出された光パルスの周波数を変更するステップを有し、好ましくは、前記光パルスを第１の省電力周波数で放出し、センサ事象を受け取ると、前記光パルスを第２の能動周波数で放出し、前記センサ事象は、好ましくは、前記シーン（１０）内における物体（１２）の存在を表すセンサ信号を含む、請求項５３〜５６のうちいずれか一に記載の方法。
【請求項５８】
光のスペックルパターンを前記シーン（１０）に放出するステップ、
前記シーン（１０）内の前記物体（１２）からの前記スペックルパターンの反射光を受け取るステップ、
前記シーン（１０）内の基準物体（１２）から反射された前記スペックルパターンの基準イメージを記憶するステップ、前記基準イメージは、前記基準物体（１２）から互いに異なる距離（Ｚn）を置いたところで捕捉され、
前記シーン（１０）内の標的物体（１２）から反射された前記スペックルパターンの少なくとも１つの標的イメージを捕捉するステップ及び
前記標的物体（１２）の反射面の距離（ΔＺ）を求めるために前記少なくとも１つの標的イメージを前記基準イメージと比較するステップによって、前記シーン（１０）の前記三次元深度イメージを作成するステップを更に有する、請求項５３〜５７のうちいずれか一に記載の方法。
【請求項５９】
前記標的物体（１２）上の一次スペックルパターンを求めるステップ及び前記一次スペックルパターンと前記基準イメージの前記スペックルパターンとの相互相関性及び非相関性のうちの少なくとも一方をコンピュータ計算するステップを更に有する、請求項５８記載の方法。
【請求項６０】
移動式ロボット（１００）のための物体検出方法であって、前記方法は、
前記ロボット（１００）を作業面（５）の端から端まで操縦しながら光のスペックルパターンを前記ロボット（１００）の周りのシーン（１０）に放出するステップと、
前記シーン（１０）内の標的物体（１２）の表面から反射された前記放出スペックルパターンの反射光を受け取るステップと、
前記標的物体（１２）の各反射面の距離（Ｚn）を求めるステップと、前記標的物体（１２）の三次元深度マップを作成するステップと、
前記標的物体（１２）を分類するステップとを有する、方法。
【請求項６１】
前記シーン（１０）内の基準物体（１２）から反射された前記スペックルパターンの基準イメージを記憶するステップを更に有し、前記基準イメージは、前記基準物体（１２）から互いに異なる距離（Ｚn）を置いたところで捕捉される、請求項６０記載の方法。
【請求項６２】
前記標的物体（１２）上の一次スペックルパターンを求めるステップ及び前記一次スペックルパターンと前記基準イメージの前記スペックルパターンとの相互相関性及び非相関性のうちの少なくとも一方をコンピュータ計算するステップを更に有する、請求項６０又は６１記載の方法。
【請求項６３】
前記標的物体（１２）の前記分類に基づいて前記ロボット（１００）を前記標的物体（１２）に対して操縦するステップを更に有する、請求項６０〜６２のうちいずれか一に記載の方法。
【請求項６４】
光の前記スペクトルパターンを間欠パルスで放出するステップを更に有し、オプションとして、前記放出光パルスの周波数を変更するステップを更に有する、請求項６０〜６３のうちいずれか一に記載の方法。
【請求項６５】
前記標的物体（１２）の表面から反射された前記放出スペックルパターンの反射光のフレームを好ましくは約１０Ｈｚ〜約９０Ｈｚのフレーム率で捕捉するステップを更に有し、オプションとして、前記標的物体（１２）の識別のために連続したフレームで捕捉されたスペックルパターン相互間の差を分析するステップを更に有する、請求項６０〜６４のうちいずれか一に記載の方法。
【請求項６６】
移動式ロボットシステム（３３０１）であって、
ロボット（１００）を有し、前記ロボットは、
駆動システム（２００）と、
前記駆動システム（２００）と通信状態にあるコントローラ（５００）と、
前記コントローラ（５００）と通信状態にあると共に前記ロボット（１００）に隣接して位置するスペースボリューム（３３３０）から点群（３３２０）を得ることができるよう差し向けられたボリューム形点群イメージング装置（４５０，４５０ａ，４５０ｂ）とを有し、
前記移動式ロボット（１００）と通信状態にあると共にソフトウェアプログラム（３３００）を実行する遠隔コンピュータ計算装置（３１０）を有し、前記ソフトウェアプログラム（３３００）は、
前記イメージング装置（４５０，４５０ａ，４５０ｂ）により捕捉された前記ボリューム形点群（３３１０）に基づいて三次元シーン（１０ａ，３３１０）を表示すると共に前記三次元シーン（１０ａ，３３１０）内の前記ロボット（１００）のレンダリングされたソリッドモデル（１００ａ）を表示し、
ロボット指令を受け取り、
前記ロボット指令を前記ロボットコントローラ（５００）に伝える、移動式ロボットシステム（３３０１）。
【請求項６７】
前記ボリューム形点群イメージング装置（４５０，４５０ａ，４５０ｂ）は、地面よりも約１フィート（３０．５ｃｍ）以上、上方の高さ位置のところで前記駆動システム（２００）の上方に支持されると共に前記移動式ロボット（１００）の移動方向において床平面を含む空間ボリュームから点群を得ることができるよう差し向けられている、請求項６６記載の移動式ロボットシステム（３３０１）。
【請求項６８】
前記ソフトウェアアプリケーション（３３００）は、前記ロボットモデル（１００ａ）を第３のパースペクティブ、好ましくは、前記ロボットモデル（１００ａ）の後ろの高くなった位置から、より好ましくは、前記ロボット（１００）に隣接して位置する視認スペースボリューム（３３１０）に対する前記ロボット（１００）の実際の向き及び／又は姿勢に対応した前記表示された三次元シーン（１０ａ，３３１０）に対する向き及び／又は姿勢で表示する、請求項６６又は６７記載の移動式ロボットシステム（３３０１）。
【請求項６９】
前記コンピュータ計算装置（３１０）は、タッチスクリーン（３１２）を有し、好ましくは、前記コンピュータ計算装置は、タブレット形コンピュータであり、前記ソフトウェアアプリケーション（３３００）は、前記タッチスクリーン（３１２）上のタッチジェスチャを認識するよう構成されている、請求項６８記載の移動式ロボットシステム（３３０１）。
【請求項７０】
前記ソフトウェアアプリケーション（３３００）は、前記ロボットモデル（１００ａ）に関して前記タッチスクリーン（３１２）により受け取られたタッチジェスチャに基づいてロボット指令を決定する、請求項６９記載の移動式ロボットシステム（３３０１）。
【請求項７１】
前記ソフトウェアアプリケーション（３３００）は、前記ロボットモデル（１００ａ）の位置及び／又は運動学的状態の変化を求め、ロボット指令を決定して前記ロボット（１００）を前記変更されたロボットモデル（１００ａ）と同期させる、請求項７０記載の移動式ロボットシステム（３３０１）。
【請求項７２】
前記ソフトウェアアプリケーション（３３００）は、受け取ったタッチジェスチャに基づいて前記ロボットモデル（１００ａ）及び／又は前記三次元シーン（１０ａ，３３１０）のビューを変更する、請求項７０又は７１記載の移動式ロボットシステム（３３０１）。
【請求項７３】
前記ソフトウェアアプリケーション（３３００）は、ロボット指令を受け取る方向性パッド（３３０８）を表示する、請求項６６〜７２のうちいずれか一に記載の移動式ロボットシステム（３３０１）。
【請求項７４】
前記ソフトウェアアプリケーション（３３００）は、駆動指令を求めるための事後衝突検出アルゴリズムを実行し、好ましくは、事後衝突検出アルゴリズムは、物体（１２）との衝突まで、駆動経路（３３５０）を第１の場所（Ｌ1）から第２の場所（Ｌ2）まで前記三次元シーン（１０ａ，３３１０）中に投影する、請求項６６〜７３のうちいずれか一に記載の移動式ロボットシステム（３３０１）。
【請求項７５】
前記ソフトウェアアプリケーション（３３００）は、前記ロボット（１００）により衝突可能な物体（１２）の仮想表面として地面（３３３２）及び前記点群（３３２０）をモデル化する、請求項７４記載の移動式ロボットシステム（３３０１）。
【請求項７６】
前記イメージング装置（４５０，４５０ａ，４５０ｂ）は、前記ロボット（１００）の周りのシーン（１０）に光を放出し、前記ロボット（１００）の駆動方向（Ｆ）に沿って前記シーン（１０）のイメージを捕捉し、前記イメージは、（ａ）三次元深度イメージ、（ｂ）アクティブな照明イメージ及び（ｃ）周囲照明イメージのうちの少なくとも１つを含み、
前記コントローラ（５００）は、前記イメージに基づいて前記シーン（１０）内の物体（１２）の存在場所を突き止める、請求項６６〜７５のうちいずれか一に記載の移動式ロボットシステム（３３０１）。
【請求項７７】
前記イメージング装置（４５０，４５０ａ，４５０ｂ）は、
好ましくは間欠パルスで光を前記シーン（１０）に放出する光源（１１７２，１３１０，１５１０）を有し、より好ましくは、前記光源（１１７２，１３１０，１５１０）は、前記光パルスを第１の省電力周波数で放出し、センサ事象を受け取ると、前記光パルスを第２の能動周波数で放出し、前記センサ事象は、オプションとして、前記シーン（１０）内における物体（１２）の存在を表すセンサ信号を含み、
前記シーン（１０）からの放出光の反射光を受け取るイメージャ（１１７４，１３２０，１５２０）を有し、
前記イメージャ（１１７４，１３２０，１５２０）は、光検出ピクセル（１１７４ｐ，１３２６，１５２２）のアレイを有する、請求項６６〜７６のうちいずれか一に記載の移動式ロボットシステム（３３０１）。
【請求項７８】
前記イメージング装置（４５０，４５０ａ，４５０ｂ）は、
光のスペックルパターンを前記ロボット（１００）の駆動方向（Ｆ）に沿ってシーン（１０）に放出するスペックルエミッタ（１３１０）と、
前記シーン（１０）内の物体（１２）からの前記スペックルパターンの反射光を受け取るイメージャ（１３２０）とを有し、
前記コントローラ（５００）は、
前記シーン（１０）内の基準物体（１２）から反射された前記スペックルパターンの基準イメージを記憶し、前記基準イメージは、前記基準物体（１２）から互いに異なる距離（Ｚn）のところで捕捉され、
前記シーン（１０）内の標的物体（１２）から反射された前記スペックルパターンの少なくとも１つの標的イメージを前記基準イメージと比較し、それにより、前記標的物体（１２）の反射面の距離（ΔＺ）を求める、請求項６６〜７７のうちいずれか一に記載の移動式ロボットシステム（３３０１）。
【請求項７９】
前記コントローラ（５００）は、前記標的物体（１２）上の一次スペックルパターンを求め、前記一次スペックルパターンと前記基準イメージの前記スペックルパターンとの相互相関性及び非相関性のうちの少なくとも一方をコンピュータ計算する、請求項７８記載の移動式ロボットシステム（３３０１）。
【請求項８０】
前記イメージングセンサ（４５０，４５０ａ）は、前記イメージングセンサ（４５０，４５０ａ）の側方視野（４５２，θv-H）を広げるよう前記前方駆動方向（Ｆ）に対して左右に走査する、請求項９〜１６のうちいずれか一に記載の移動式ロボットシステム（３３０１）。
【請求項８１】
移動式ロボット（１００）を作動させる方法であって、前記方法は、
前記ロボット（１００）に隣接して位置する空間ボリューム（３３３０）からボリューム形点群（３３２０）の三次元深度イメージデータを受け取るステップと、
前記受け取った三次元深度イメージデータに基づいて三次元シーン（１０ａ，３３１０）を遠隔コンピュータ計算装置（３１０）上に表示するステップと、
前記三次元シーン（１０ａ，３３１０）内の前記ロボット（１００）に対応したロボットモデル（１００ａ）を表示するステップと、
前記遠隔コンピュータ計算装置（３１０）からロボット指令を受け取るステップと、
前記遠隔コンピュータ計算装置（３１０）からの前記ロボット指令を前記ロボット（１００）に伝えるステップとを有する、方法。
【請求項８２】
前記ロボット（１００）に隣接して位置する前記視認空間ボリューム（３３３０）に対する前記ロボット（１００）の実際の向き及び姿勢に対応した前記表示されている三次元シーン（１０ａ，３３１０）に対する前記ロボットモデル（１００ａ）の向き及び姿勢を表示するステップを更に有する、請求項８１記載の方法。
【請求項８３】
前記ロボットモデル（１００ａ）に関して受け取ったタッチジェスチャに基づいて前記ロボット指令を決定するステップを更に有する、請求項８１又は８２記載の方法。
【請求項８４】
前記ロボットモデル（１００ａ）の位置及び／又は運動学的状態の変化を求めるステップ及びロボット指令を決定して前記ロボット（１００）を前記変更されたロボットモデル（１００ａ）と同期させるステップを更に有する、請求項８１〜８３のうちいずれか一に記載の方法。
【請求項８５】
受け取ったタッチジェスチャに基づいて前記ロボットモデル（１００ａ）及び／又は前記三次元シーン（１０ａ，３３１０）のビューを変更するステップを更に有する、請求項８１〜８４のうちいずれか一に記載の方法。
【請求項８６】
ロボット指令を受け取る方向性パッド（３３０８）を表示するステップを更に有する、請求項８１〜８５のうちいずれか一に記載の方法。
【請求項８７】
駆動指令を求めるための事後衝突検出アルゴリズムを実行するステップを更に有し、好ましくは、事後衝突検出アルゴリズムは、物体（１２）との衝突まで、駆動経路（３３５０）を第１の場所（Ｌ1）から第２の場所（Ｌ2）まで前記三次元シーン（１０ａ，３３１０）中に投影する、請求項８１〜８６のうちいずれか一に記載の方法。
【請求項８８】
前記ロボット（１００）により衝突可能な物体（１２）の仮想表面として地面（３３３２）及び前記点群（３３２０）をモデル化する、請求項８７記載の方法。
【請求項８９】
前記ロボット（１００）を、前記ボリューム形点群（３３２０）を提供するイメージングセンサ（４５０，４５０ａ，４５０ｂ）の視野（４５２）を超えてロボット位置に動かす駆動指令を拒否するステップを更に有する、請求項８１〜８８のうちいずれか一に記載の方法。
【請求項９０】
前記三次元深度イメージデータは、前記ロボット（１００）に取り付けられていて、前記ロボット（１００）に隣接して位置する空間ボリュームから点群を得ることができるボリューム形点群イメージング装置（４５０，４５０ａ，４５０ｂ）によって提供され、好ましくは、ボリューム形点群イメージング装置（４５０，４５０ａ，４５０ｂ）は、地面よりも約１フィート（３０．５ｃｍ）以上、上方の高さ位置のところに位置決めされると共に前記ロボット（１００）の移動方向において床平面を含む空間ボリュームから点群を得ることができるよう差し向けられている、請求項８１〜８９のうちいずれか一に記載の方法。
【請求項９１】
前記ロボット（１００）周りのシーン（１０）に光を放出するステップを更に有し、
前記ロボット（１００）の駆動方向（Ｆ）に沿って前記シーン（１０）のイメージを捕捉するステップを更に有し、前記イメージは、（ａ）三次元深度イメージ、（ｂ）アクティブな照明イメージ及び（ｃ）周囲照明イメージのうちの少なくとも１つを含み、
前記イメージに基づいて前記シーン（１０）中の物体（１２）の存在場所を突き止めるステップを更に有する、請求項８１〜９０のうちいずれか一に記載の方法。
【請求項９２】
前記シーン（１０）の物体占有マップ（１７００，１８２０）を作成するステップを更に有する、請求項９１記載の方法。
【請求項９３】
各物体存在場所について信頼水準を割り当てるステップを更に有し、好ましくは、各物体存在場所の前記信頼水準を経時的に低下させ、ついには、それぞれの前記物体存在場所を新たに定められた物体存在場所でアップデートするステップを更に有する、請求項９１又は９２記載の方法。
【請求項９４】
光のスペックルパターンを前記シーン（１０）に放出するステップ、
前記シーン（１０）内の前記物体（１２）からの前記スペックルパターンの反射光を受け取るステップ、
前記シーン（１０）内の基準物体（１２）から反射された前記スペックルパターンの基準イメージを記憶するステップ、前記基準イメージは、前記基準物体（１２）から互いに異なる距離（Ｚn）を置いたところで捕捉され、
前記シーン（１０）内の標的物体（１２）から反射された前記スペックルパターンの少なくとも１つの標的イメージを捕捉するステップ及び
前記標的物体（１２）の反射面の距離（ΔＺ）を求めるために前記少なくとも１つの標的イメージを前記基準イメージと比較するステップによって、前記シーン（１０）の前記三次元深度イメージを作成するステップを更に有する、請求項９１〜９３のうちいずれか一に記載の方法。
【請求項９５】
前記標的物体（１２）上の一次スペックルパターンを求めるステップ及び前記一次スペックルパターンと前記基準イメージの前記スペックルパターンとの相互相関性及び非相関性のうちの少なくとも一方をコンピュータ計算するステップを更に有する、請求項９４記載の方法。
【請求項９６】
前記遠隔コンピュータ計算装置（３１０，３１０ｒ）でタッチジェスチャを受け取るステップと、
前記ロボットモデル（１００ａ）に関するユーザ選択を判定するために前記三次元シーン（１０ａ，３３１０）との交差場所（３５２０）に及び／又は前記三次元シーン（１０ａ，３３１０）中に前記タッチジェスチャのスクリーン存在場所（３５１０）を切頭体投影に沿って投影するステップとを更に有する、請求項８１〜９５のうちいずれか一に記載の方法。
【請求項９７】
前記ボリューム形点群（３３２０）内の認識できない塊（３３２４）を識別するステップと、
認識可能な塊（３７１０）、好ましくは前記ロボット（１００）のカメラ（３２０）によって捕捉されたイメージを前記認識できない塊（３３２４）に被せて又はこれに代えて前記三次元シーン（１０ａ，３３１０）内に表示するステップとを更に有する、請求項８１〜９６のうちいずれか一に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動式ヒューマンインターフェースロボットに関する。
【０００２】
〔関連出願の説明〕
本願である米国特許出願としての本願は２０１０年５月２０日に出願された米国特許仮出願第６１／３４６，６１２号、２０１０年６月２１日に出願された米国特許仮出願第６１／３５６，９１０号、２０１０年１２月３０日に出願された米国特許仮出願第６１／４２８，７１７号、２０１０年１２月３０日に出願された米国特許仮出願第６１／４２８，７３４号、２０１０年１２月３０日に出願された米国特許仮出願第６１／４２８，７５９号、２０１１年１月５日に出願された米国特許仮出願第６１／４２９，８６３号、２０１１年２月２２日に出願された米国特許仮出願第６１／４４５，４０８号、２０１１年２月２２日に出願された米国特許仮出願第６１／４４５，４７３号及び２０１１年４月２５日に出願された米国特許仮出願第６１／４７８，８４９号に関する３５Ｕ．Ｓ．Ｃ．§１１９（ｅ）の規定に基づくと共に２０１１年２月２２日に出願された米国特許出願第１３／０３２，３１２号及び２０１１年２月２２日に出願された米国特許出願第１３／０３２，２２８号に関する３５Ｕ．Ｓ．Ｃ．§１２０に基づく優先権主張出願である。
【背景技術】
【０００３】
ロボットは、一般に、コンピュータ又は電子プログラミングにより誘導される電気機械的装置である。移動式ロボットは、自分の環境内を動き回る能力を備えていて、１つの物理的な場所に固定されることはない。今日一般に用いられている移動式ロボットの一例は、自動搬送車又は無人搬送車（ＡＧＶ）である。ＡＧＶは、一般に、床のマーカ又はワイヤを辿り又はナビゲーションのためにビジョンシステム又はレーザを用いる移動式ロボットである。移動式ロボットは、産業界、軍事環境又はセキュリティ環境において見受けられる。これら移動式ロボットは又、娯楽のための又は真空クリーニングや在宅支援（ホームアシスタンス）のような或る特定の仕事を実行するための消費者用製品としても見える。
【発明の概要】
【０００４】
本発明の一観点は、移動式ロボットであって、駆動システムと、駆動システムと通信状態にあるコントローラと、地面よりも約１フィート（３０．５ｃｍ）以上、上方の高さ位置のところで駆動システムの上方に支持されると共に移動式ロボットの移動方向において床平面を含む空間ボリュームから点群を得ることができるよう差し向けられたボリューム形点群イメージング装置とを有する移動式ロボットを提供する。コントローラは、イメージング装置から点群信号を受け取り、そして少なくとも部分的に、受け取った点群信号に基づく駆動指令を駆動システムに送り出す。
【０００５】
本発明の具体化例は、次の特徴のうちの１つ又は２つ以上を含むのが良い。幾つかの具体化例では、コントローラは、毎秒１００億を超える命令（million instruction(s) per second ：ＭＩＰＳ）を処理することができるコンピュータから成る。イメージング装置は、ロボットの周りのシーンに光を放出し、ロボットの駆動方向に沿ってシーンのイメージを捕捉し、イメージは、（ａ）三次元深度イメージ、（ｂ）アクティブな照明イメージ及び（ｃ）周囲照明イメージのうちの少なくとも１つを含む。コントローラは、イメージに基づいてシーン中の物体の存在場所を突き止め、そして物体の存在場所に基づいて駆動指令を駆動システムに送り出してロボットをシーン内で操縦する。幾つかの実施例では、イメージング装置は、光放出とシーンからの反射光の受光との間のタイムオブフライト（time-of-flight）を求め、コントローラは、物体の反射面までの距離を求めるためにタイムオブフライトを用いる。追加の実施例では、イメージング装置は、光をシーンに放出する光源及びシーンからの放出光の反射光を受け取るイメージャを有する。イメージャは、光検出ピクセルのアレイを有する。例えば、光源は、光パルスを第１の省電力周波数で放出し、センサ事象を受け取ると、光パルスを第２の能動周波数で放出する。センサ事象は、シーン内における物体の存在を表すセンサ信号を含むのが良い。
【０００６】
幾つかの具体化例では、イメージング装置は、第１の部分及び第２の部分を含む。第１の部分は、光を実質的に地面に放出し、地面からの放出光の反射光を受け取るよう構成されている。第２の部分は、光を地面の実質的に上方のシーンに放出し、ロボットの周りのシーンからの放出光の反射光を受け取るよう構成されている。
【０００７】
イメージング装置は、光のスペックルパターンをロボットの駆動方向に沿ってシーンに放出するスペックルエミッタと、シーン内の物体からのスペックルパターンの反射光を受け取るイメージャとを有するのが良い。コントローラは、シーン内の基準物体から反射されたスペックルパターンの基準イメージを記憶する。基準イメージは、基準物体から互いに異なる距離のところで捕捉されるのが良い。コントローラは、シーン内の標的物体から反射されたスペックルパターンの少なくとも１つの標的イメージを基準イメージと比較し、それにより、標的物体の反射面の距離を求める。コントローラは、標的物体上の一次スペックルパターンを求めるのが良く、一次スペックルパターンと基準イメージのスペックルパターンとの相互相関性及び非相関性のうちの少なくとも一方をコンピュータ計算する。
【０００８】
本発明の別の観点は、移動式ロボットであって、基部と、基部によって支持されたホロノミック駆動システムを有する移動式ロボットを提供する。駆動システムは、各々が垂直中心軸線回りに三辺形的に間隔を置いて位置した第１、第２及び第３の駆動輪を有する。
各駆動輪は、垂直中心軸線に関して半径方向軸線に垂直な駆動方向を有する。ホロノミック駆動システムは、ロボットをシーンの作業面上で操縦する。ロボットは、駆動システムと通信状態にあるコントローラと、基部から上方に延びていて、可変高さを有する脚部と、脚部によって支持された胴部とを更に有する。胴部は、基部の上に張り出た底面を備えた肩を備える。イメージングセンサが駆動システムの前方駆動方向に沿って下方に向いた状態で胴部の底面に取り付けられている。イメージングセンサは、ロボットの周りのシーンの三次元イメージを捕捉する。
【０００９】
幾つかの具体化例では、イメージング装置は、光のスペックルパターンをシーンに放出するスペックルエミッタと、シーン内の物体からのスペックルパターンの反射光を受け取るイメージャとを有する。コントローラは、シーン内の基準物体から反射されたスペックルパターンの基準イメージを記憶する。基準イメージは、基準物体から互いに異なる距離のところで捕捉されるのが良い。コントローラは、シーン内の標的物体から反射されたスペックルパターンの少なくとも１つの標的イメージを基準イメージと比較し、それにより、標的物体の反射面の距離を求める。
【００１０】
イメージングセンサは、ロボットの駆動方向に沿ってシーンのイメージを捕捉し、イメージは、（ａ）三次元深度イメージ、（ｂ）アクティブな照明イメージ及び（ｃ）周囲照明イメージのうちの少なくとも１つを含む。幾つかの実施例では、コントローラは、イメージ比較に基づいてシーン内の物体の存在場所を突き止め、そして物体存在場所に基づいて駆動指令を駆動システムに送り出してロボットをシーン内で操縦する。コントローラは、標的物体上の一次スペックルパターンを求めるのが良く、一次スペックルパターンと基準イメージのスペックルパターンとの相互相関性及び非相関性のうちの少なくとも一方をコンピュータ計算する。
【００１１】
幾つかの具体化例では、イメージングセンサは、作業面よりも２フィート（６１．０ｃｍ）以上、上方の高さ位置のところに位置決めされていて、ロボットの移動方向において床平面を含む空間ボリュームから点群を得ることができるよう差し向けられたボリューム形点群イメージング装置から成る。イメージングセンサは、駆動システムの駆動輪の前方の作業面を視認するよう好ましくは胴部の底面内に引っ込んだ状態で胴部に取り付けられるのが良い。さらに、イメージングセンサは、少なくとも４５°の水平視野及び少なくとも４０°及び／又は好ましくは約１メートル〜約５メートルの範囲の垂直視野を有するのが良い。イメージングセンサは、イメージングセンサの側方視野を広げるよう前方駆動方向に対して左右に走査するのが良い。
【００１２】
イメージングセンサは、約４４ミリ秒の待ち時間を有するのが良い。イメージングセンサのイメージング出力は、待ち時間を補償するタイムスタンプを受け取るのが良い。幾つかの実施例では、イメージングセンサは、コントローラと通信するためのシリアル周辺インターフェースを有する。イメージングセンサは、その下向きの視野を維持した状態で胴部の本体内に引っ込められた状態で設けられるのが良い（例えば、物体に引っ掛かるのを最小限に抑えるために）。
【００１３】
幾つかの具体化例では、ロボットは、基部の周りに配置されていて、脚部及び胴部のうちの少なくとも一方に侵害する物体を検出するためにロボットの周りにソナー検出カーテンを提供するよう上方に向いたソナー近接センサのアレイを更に有する。ソナー近接センサのアレイは、胴部から遠ざかる方向（例えば、垂直に）に向いている。ロボットは、コントローラと通信状態にあるレーザスキャナを更に有するのが良く、レーザスキャナは、前方駆動方向に心出しされると共に作業面に実質的に平行な視野を有する。
【００１４】
各駆動輪は、駆動輪の周囲に沿って設けられた第１及び第２の列をなすローラを有する。各ローラは、駆動輪の転動方向に垂直な転動方向を有する。ローラは各々、弧状転動面を備える。ローラは一緒になって、駆動ホールの少なくとも実質的に円形の転動面を構成する。
【００１５】
さらに別の観点では、テレプレゼンス用途向きの自動推進式テレビ会議プラットホームが駆動システムを支持した駆動システムシャーシと、駆動システムシャーシの上方に設けられていて、毎秒１００億を超える命令（ＭＩＰＳ）を処理することができるコンピュータと、コンピュータの上方に支持されたディスプレイと、コンピュータの上方に支持されていて、ディスプレイとは別個に少なくとも１つの自由度で動くことができるカメラとを有する。カメラは、地面から３フィート（９１．４ｃｍ）を超えるところに且つディスプレイのディスプレイ領域の頂縁からディスプレイ高さの１０パーセント未満のところに位置決めされた対物レンズを有する。
【００１６】
幾つかの具体化例では、カメラは、ロボットに隣接した空間ボリュームから点群を得ることができるよう位置決めされたボリューム形点群イメージング装置を含み、ボリューム形点群イメージング装置は、地面よりも約１フィート（３０．５ｃｍ）以上、上方の高さ位置のところに位置決めされると共にロボットの移動方向において床平面を含む空間ボリュームから点群を得ることができるよう差し向けられている。さらに、カメラは、プラットホームに隣接して位置する空間ボリュームから点群を得ることができるよう差し向けられたボリューム形点群イメージング装置を有するのが良い。幾つかの実施例では、ディスプレイは、少なくとも１５０平方インチ（９６７．７ｃｍ2）のディスプレイ面積を有し、少なくとも１つの自由度で動くことができる。カメラの対物レンズは、ズームレンズを有するのが良い。
【００１７】
自動推進式テレビ会議プラットホームは、少なくとも３時間にわたってコンピュータに電力供給するよう構成されたバッテリを有するのが良い。駆動システムは、電動全方向性駆動装置を有するのが良い。例えば、電動全方向性駆動装置は、第１、第２及び第３の駆動輪を含む電動全方向性駆動装置を有するのが良く、各駆動輪は、垂直中心軸線回りに三辺形的に間隔を置いて配置されると共に駆動システムシャーシによって支持される。各駆動輪は、垂直中心軸線に対して半径方向軸線に垂直な駆動方向を有する。
【００１８】
自動推進式テレビ会議プラットホームは、基部から上方に延びていて、可変高さを有する脚部及び脚部によって支持された胴部を有するのが良い。胴部は、基部の上に張り出た底面を備えた肩を備える。プラットホームは、胴部によって支持された頸部及び頸部によって支持された頭部を更に有するのが良い。頸部は、頭部を垂直中心軸線に関してパンしたり傾動させたりする。頭部は、ディスプレイとカメラの両方を支持している。プラットホームは、胴部の底面に取り付けられると共に駆動システムの前方駆動方向に沿って下方に向いた胴部イメージングセンサを有するのが良い。胴部イメージングセンサは、ロボットの周りのシーンの三次元イメージを捕捉する。幾つかの実施例では、プラットホームは、頭部に取り付けられると共にロボットの周りのシーンの三次元イメージを捕捉する頭部イメージングセンサを有する。
【００１９】
本発明の一観点は、移動式ロボットを作動させる方法を提供する。この方法は、三次元深度イメージデータを受け取るステップと、ロボットの周りの環境に対応した局所知覚空間を創成するステップと、地面の上方に且つロボットの高さ位置よりも下に位置する検出物体に対応する局所知覚空間の部分を障害物として分類するステップとを有する。この方法は、地面の下に位置する検出物体に対応する局所知覚空間の部分を障害物として分類するステップと、地面上の遮られていない領域に対応した局所知覚空間の部分を自由空間として分類するステップと、残りの全ての分類されなかった局所知覚空間を未知物として分類するステップとを更に有する。この方法は、駆動指令を実行して自由空間及び未知物のうちの少なくとも一方として分類された局所知覚空間に対応する環境自由内の場所まで動かすステップを有する。
【００２０】
本発明の具体化例は、次の特徴のうちの１つ又は２つ以上を含むのが良い。幾つかの具体化例では、分類は、アップデートされた三次元深度イメージデータで持続されなければ、経時的に崩れる。この方法は、障害物又は未知物として分類された対応の局所知覚空間を有する場所まで動くロボット経路を拒否することにより実行可能なロボット駆動指令に対応した予測ロボット経路を評価するステップを更に有する。幾つかの実施例では、この方法は、三次元深度イメージデータを用いて三次元ボクセル格子を創成するステップと、三次元ボクセル格子を二次元格子に変換するステップとを更に有する。二次元格子の各セルは、局所知覚空間の一部分に対応している。追加の実施例では、この方法は、局所知覚空間に対応した格子を創成するステップを有する。各格子セルは、対応の局所知覚空間の分類を有する。障害物又は未知物として分類された各格子セルに関し、この方法は、この格子セル内の格子点を検索するステップ及び衝突評価を実行するステップを有する。衝突評価は、ロボットの存在場所周りの衝突円内に位置する格子点を拒否するステップを含む良い。変形例として又は追加例として、衝突評価は、及び／又はロボットの存在場所に中心を持つ衝突三角形内に位置する格子点を拒否するステップを含むのが良い。
【００２１】
幾つかの具体化例では、この方法は、三次元深度イメージデータを提供するイメージングセンサの視野を未知物として分類された局所知覚空間に対応する環境内の領域の方へ差し向けるステップを有する。この方法は、ロボットを、三次元深度イメージデータを提供するイメージングセンサの視野を超えてロボット位置に動かす駆動指令を拒否するステップを有するのが良い。さらに、この方法は、ロボットがしきい期間の間、静止しているとき、ロボットの前方駆動方向に垂直にホロノミック的に動く駆動指令を拒否するステップを有する。三次元深度イメージデータを提供するイメージングセンサは、前方駆動方向と整列する。幾つかの実施例では、この方法は、ロボットが前方に駆動している間、ロボットの前方駆動方向に垂直にホロノミック的に動く駆動指令を受け入れるステップを有する。三次元深度イメージデータを提供するイメージングセンサは、前方駆動方向と整列すると共に少なくとも４５°の視野角を有する。この方法は、ロボットが未知物として分類された対応の局所知覚空間を有する環境内の場所に達する前に三次元深度イメージデータを提供するイメージングセンサの視野が場所に及んでいることがロボットによって確認されると、未知物として分類された対応の局所知覚空間を有する環境内の場所まで動かす駆動指令を受け入れるステップを有するのが良い。
【００２２】
三次元深度イメージデータは、幾つかの具体化例では、ロボットに取り付けられていて、ロボットに隣接して位置する空間ボリュームから点群を得ることができるボリューム形点群イメージング装置によって提供される。例えば、三次元深度イメージデータは、地面よりも２フィート（６１．０ｃｍ）以上、上方の高さ位置のところに位置決めされると共にロボットの移動方向において床平面を含む空間ボリュームから点群を得ることができるよう差し向けられたボリューム形点群イメージング装置によって得られるのが良い。
【００２３】
本発明の別の観点は、移動式ロボットを作動させて人について行くようにする方法を提供する。この方法は、ロボットに隣接して位置する空間ボリュームから点群を得ることができるよう位置決めされたボリューム形点群イメージング装置から三次元イメージデータを受け取るステップと、受け取った三次元イメージデータを物体にセグメント化するステップと、物体をフィルタ処理して第１のしきいサイズよりも大きく且つ第２のしきいサイズよりも小さい物体を除去するステップと、フィルタ処理された物体の少なくとも一部分に対応した人を識別するステップと、ロボットの少なくとも一部分を識別された人に対して動かすステップとを有する。
【００２４】
幾つかの具体化例では、三次元イメージデータは、ピクセルの二次元アレイを含む。各ピクセルは、深度情報を含む。この方法は、隣りのピクセルに対する各ピクセルの近接性に基づいてピクセルを物体にグループ化するステップを有するのが良い。幾つかの実施例では、この方法は、識別された人がロボットのしきい距離内に位置しているとき、ロボットを識別された人から遠ざけるステップを有する。この方法は、イメージング装置の視野を識別された人上に維持するステップを有するのが良い。さらに、この方法は、ロボットを駆動してロボットと識別された人との間の追従距離を維持するステップを有するのが良い。
【００２５】
幾つかの具体化例では、この方法は、ウェイポイント駆動指令を送り出してロボットを識別された人の追従距離内に駆動すると共に／或いはロボットを駆動してロボットと識別された人との間の追従距離を維持するステップを有する。この方法は、好ましくは対応の視野を少なくとも実質的に識別された人の方へ向けるようイメージング装置をパンすること及び傾動させることのうちの少なくとも一方によってイメージング装置の視野を識別された人に維持するステップを有するのが良い。
【００２６】
イメージング装置は、地面よりも少なくとも約１フィート（３０．５ｃｍ）、上方の高さ位置のところに位置決めされると共にロボットの移動方向において床平面を含む空間ボリュームから点群を得ることができるよう差し向けられるのが良い。第１のしきいサイズは、約８フィート（２４３．８ｃｍ）の高さを含むと共に／或いは第２のしきいサイズは、約３フィート（９１．４ｃｍ）の高さを含むのが良い。この方法は、フィルタ処理された物体に対応した多数の人を識別するステップを有するのが良い。カルマンフィルタを用いて各識別された人の運動軌跡を追跡すると共に反映させるのが良い。この方法は、少なくとも部分的に少なくとも１人の識別された人の運動軌跡に基づいて駆動指令を送り出すステップを有するのが良い。
【００２７】
さらに別の観点では、移動式ロボットのための物体検出方法がロボットを作業面の端から端まで操縦するステップと、ロボット周りのシーンに光を放出するステップと、ロボットの駆動方向に沿ってシーンのイメージを捕捉するステップとを有する。イメージは、（ａ）三次元深度イメージ、（ｂ）アクティブな照明イメージ及び（ｃ）周囲照明イメージのうちの少なくとも１つを含む。この方法は、イメージに基づいてシーン中の物体の存在場所を突き止めるステップと、物体存在場所について信頼水準を割り当てるステップと、物体存在場所及び対応の信頼水準に基づいてロボットをシーン内で操縦するステップとを更に有する。
【００２８】
幾つかの具体化例では、この方法は、シーンの物体占有マップを作成するステップを有する。この方法は、各物体存在場所の信頼水準を経時的に低下させ、ついには、それぞれの物体存在場所を新たに定められた物体存在場所でアップデートするステップを有するのが良い。幾つかの実施例では、この方法は、ロボットを操縦して、１）物体との接触及び２）物体の周囲に沿う追従のうちの少なくとも一方を行うステップを有する。追加の実施例では、この方法は、ロボットを操縦して物体を回避するステップを有する。
【００２９】
この方法は、光をシーンに間欠パルスの状態で放出するステップを有するのが良い。例えば、放出された光パルスの周波数を変更するのが良い。幾つかの具体化例では、この方法は、光パルスを第１の省電力周波数で放出するステップ及びセンサ事象を受け取ると、光パルスを第２の能動周波数で放出するステップを有するのが良い。センサ事象は、シーン内における物体の存在を表すセンサ信号を含むのが良い。
【００３０】
幾つかの具体化例では、この方法は、次のステップ、即ち、光のスペックルパターンをシーンに放出するステップ、シーン内の物体からのスペックルパターンの反射光を受け取るステップ、シーン内の基準物体から反射されたスペックルパターンの基準イメージを記憶するステップ、シーン内の標的物体から反射されたスペックルパターンの少なくとも１つの標的イメージを捕捉するステップ及び標的物体の反射面の距離を求めるために少なくとも１つの標的イメージを基準イメージと比較するステップによって、シーンの三次元深度イメージを作成するステップを有する。基準イメージは、基準物体から互いに異なる距離を置いたところで捕捉されるのが良い。この方法は、標的物体上の一次スペックルパターンを求めるステップ及び一次スペックルパターンと基準イメージのスペックルパターンとの相互相関性及び非相関性のうちの少なくとも一方をコンピュータ計算するステップを有するのが良い。
【００３１】
別の観点では、移動式ロボットのための物体検出方法がロボットを作業面の端から端まで操縦しながら光のスペックルパターンをロボットの周りのシーンに放出するステップと、シーン内の標的物体の表面から反射された放出スペックルパターンの反射光を受け取るステップと、標的物体の各反射面の距離を求めるステップと、標的物体の三次元深度マップを作成するステップと、標的物体を分類するステップとを有する。
【００３２】
幾つかの具体化例では、この方法は、シーン内の基準物体から反射されたスペックルパターンの基準イメージを記憶するステップを有する。基準イメージは、基準物体から互いに異なる距離を置いたところで捕捉されるのが良い。この方法は、標的物体上の一次スペックルパターンを求めるステップ及び一次スペックルパターンと基準イメージのスペックルパターンとの相互相関性及び非相関性のうちの少なくとも一方をコンピュータ計算するステップを有するのが良い。
【００３３】
幾つかの実施例では、この方法は、例えば、放出光パルスの周波数を変更することによって、光のスペクトルパターンを間欠パルスで放出するステップを有するのが良い。この方法は、標的物体の表面から反射された放出スペックルパターンの反射光のフレームを所与のフレーム率で捕捉するステップを有するのが良い。フレーム率は、約１０Ｈｚ〜約９０Ｈｚであるのが良い。この方法は、標的物体の識別のために連続したフレームで捕捉されたスペックルパターン相互間の差を分析するステップを有するのが良い。
【００３４】
本発明の一観点は、移動式ロボット及び遠隔コンピュータ計算装置を有する移動式ロボットシステムを提供する。移動式ロボットは、駆動システムと、駆動システムと通信状態にあるコントローラと、コントローラと通信状態にあると共にロボットに隣接して位置するスペースボリュームから点群を得ることができるよう差し向けられたボリューム形点群イメージング装置とを有する。遠隔コンピュータ計算装置は、移動式ロボットと通信状態にあると共にソフトウェアプログラムを実行し、ソフトウェアプログラムは、イメージング装置により捕捉されたボリューム形点群に基づいて三次元シーンを表示すると共に三次元シーン内のロボットのレンダリングされたソリッドモデルを表示する。ソフトウェアプログラムは、ロボット指令を受け取ってこれをロボットコントローラに伝える。
【００３５】
幾つかの具体化例では、ボリューム形点群イメージング装置は、地面よりも約１フィート（３０．５ｃｍ）以上、上方の高さ位置のところで駆動システムの上方に支持されると共に移動式ロボットの移動方向において床平面を含む空間ボリュームから点群を得ることができるよう差し向けられている。ソフトウェアアプリケーションは、ロボットモデルを第３のパースペクティブ、好ましくは、ロボットモデルの後ろの高くなった位置から、例えば、ロボットに隣接して位置する視認スペースボリュームに対するロボットの実際の向き及び／又は姿勢に対応した表示された三次元シーンに対する向き及び／又は姿勢で表示するのが良い。
【００３６】
コンピュータ計算装置は、タッチスクリーンを有するのが良く、タッチスクリーン上のタッチジェスチャを認識するよう構成されている。例えば、コンピュータ計算装置は、タブレット形コンピュータであるのが良い。ソフトウェアアプリケーションは、ロボットモデルに関してタッチスクリーンにより受け取られたタッチジェスチャに基づいてロボット指令を決定するのが良い。さらに、ソフトウェアアプリケーションは、ロボットモデルの位置及び／又は運動学的状態の変化を求めるのが良く、そしてロボット指令を決定してロボットを変更されたロボットモデルと同期させる。
【００３７】
幾つかの具体化例では、ソフトウェアアプリケーションは、受け取ったタッチジェスチャに基づいてロボットモデル及び／又は三次元シーンのビューを変更する。ソフトウェアアプリケーションは、ロボット指令を受け取る方向性パッドを表示するのが良い。
【００３８】
ソフトウェアアプリケーションは、駆動指令を求めるための事後衝突検出アルゴリズムを実行するのが良い。幾つかの実施例では、事後衝突検出アルゴリズムは、物体との衝突まで、駆動経路を第１の場所から第２の場所まで三次元シーン中に投影する。ソフトウェアアプリケーションは、ロボットにより衝突可能な物体の仮想表面として地面及び点群をモデル化するのが良い。
【００３９】
幾つかの具体化例では、イメージング装置は、ロボットの周りのシーンに光を放出し、ロボットの駆動方向に沿ってシーンのイメージを捕捉する。イメージは、（ａ）三次元深度イメージ、（ｂ）アクティブな照明イメージ及び（ｃ）周囲照明イメージのうちの少なくとも１つを含む。コントローラは、イメージに基づいてシーン内の物体の存在場所を突き止める。幾つかの実施例では、イメージング装置は、光をシーンに放出する光源及びシーンからの放出光の反射光を受け取るイメージャを有する。光源は、光を間欠パルスで放出するのが良い。例えば、光源は、光パルスを第１の省電力周波数で放出し、センサ事象を受け取ると、光パルスを第２の能動周波数で放出するのが良い。センサ事象は、オプションとして、シーン内における物体の存在を表すセンサ信号を含む。イメージャは、光検出ピクセルのアレイを有するのが良い。
【００４０】
追加の具体化例では、イメージング装置は、光のスペックルパターンをロボットの駆動方向に沿ってシーンに放出するスペックルエミッタと、シーン内の物体からのスペックルパターンの反射光を受け取るイメージャとを有する。コントローラは、シーン内の基準物体から反射されたスペックルパターンの基準イメージを記憶する。基準イメージは、基準物体から互いに異なる距離のところで捕捉されるのが良い。コントローラは、シーン内の標的物体から反射されたスペックルパターンの少なくとも１つの標的イメージを基準イメージと比較し、それにより、標的物体の反射面の距離を求める。コントローラは、標的物体上の一次スペックルパターンを求めるのが良く、一次スペックルパターンと基準イメージのスペックルパターンとの相互相関性及び非相関性のうちの少なくとも一方をコンピュータ計算する。幾つかの実施例では、イメージングセンサは、イメージングセンサの側方視野を広げるよう前方駆動方向に対して左右に走査する。
【００４１】
本発明の別の観点は、移動式ロボットを作動させる方法を提供する。この方法は、ロボットに隣接して位置する空間ボリュームからボリューム形点群の三次元深度イメージデータを受け取るステップと、受け取った三次元深度イメージデータに基づいて三次元シーンを遠隔コンピュータ計算装置上に表示するステップと、三次元シーン内のロボットに対応したロボットモデルを表示するステップと、遠隔コンピュータ計算装置からロボット指令を受け取るステップと、遠隔コンピュータ計算装置からのロボット指令をロボットに伝えるステップとを有する。
【００４２】
幾つかの具体化例では、この方法は、ロボットに隣接して位置する視認空間ボリュームに対するロボットの実際の向き及び姿勢に対応した表示されている三次元シーンに対するロボットモデルの向き及び姿勢を表示するステップを有する。この方法は、ロボットモデルに関して受け取ったタッチジェスチャに基づいてロボット指令を決定するステップを有するのが良い。幾つかの実施例では、この方法は、ロボットモデルの位置及び／又は運動学的状態の変化を求めるステップ及びロボット指令を決定してロボットを変更されたロボットモデルと同期させるステップを有する。
【００４３】
この方法は、受け取ったタッチジェスチャに基づいてロボットモデル及び／又は三次元シーンのビューを変更するステップを有するのが良い。幾つかの実施例では、この方法は、ロボット指令を受け取る方向性パッドを表示するステップを有する。この方法は、駆動指令を求めるための事後衝突検出アルゴリズムを実行するステップを有するのが良い。事後衝突検出アルゴリズムは、物体との衝突まで、駆動経路を第１の場所から第２の場所まで三次元シーン中に投影する。ロボットにより衝突可能な物体の仮想表面として地面及び点群をモデル化するのが良い。
【００４４】
この方法は、ロボットを、ボリューム形点群を提供するイメージングセンサの視野を超えてロボット位置に動かす駆動指令を拒否するステップを有するのが良い。三次元深度イメージデータは、ロボットに取り付けられていて、ロボットに隣接して位置する空間ボリュームから点群を得ることができるボリューム形点群イメージング装置によって提供されるのが良い。ボリューム形点群イメージング装置は、地面よりも約１フィート（３０．５ｃｍ）以上、上方の高さ位置のところに位置決めされると共にロボットの移動方向において床平面を含む空間ボリュームから点群を得ることができるよう差し向けられるのが良い。
【００４５】
幾つかの具体化例では、この方法は、ロボット周りのシーンに光を放出するステップと、ロボットの駆動方向に沿ってシーンのイメージを捕捉するステップと、イメージに基づいてシーン中の物体の存在場所を突き止めるステップとを有する。イメージは、（ａ）三次元深度イメージ、（ｂ）アクティブな照明イメージ及び（ｃ）周囲照明イメージのうちの少なくとも１つを含む。この方法は、シーンの物体占有マップを作成するステップ並びにオプションとして各物体存在場所について信頼水準を割り当てるステップ及びオプションとして各物体存在場所の信頼水準を経時的に低下させ、ついには、それぞれの物体存在場所を新たに定められた物体存在場所でアップデートするステップを有するのが良い。
【００４６】
幾つかの具体化例では、この方法は、次のステップ、即ち、光のスペックルパターンをシーンに放出するステップ、シーン内の物体からのスペックルパターンの反射光を受け取るステップ、シーン内の基準物体から反射されたスペックルパターンの基準イメージを記憶するステップによって、シーンの三次元深度イメージを作成するステップを有する。基準イメージは、基準物体から互いに異なる距離を置いたところで捕捉されるのが良い。この方法は、シーン内の標的物体から反射されたスペックルパターンの少なくとも１つの標的イメージを捕捉するステップ及び標的物体の反射面の距離を求めるために少なくとも１つの標的イメージを基準イメージと比較するステップを更に有するのが良い。さらに、この方法は、標的物体上の一次スペックルパターンを求めるステップ及び一次スペックルパターンと基準イメージのスペックルパターンとの相互相関性及び非相関性のうちの少なくとも一方をコンピュータ計算するステップを有するのが良い。
【００４７】
幾つかの実施例では、この方法は、遠隔コンピュータ計算装置でタッチジェスチャを受け取るステップと、ロボットモデルに関するユーザ選択を判定するために三次元シーンとの交差場所に及び／又は三次元シーン中にタッチジェスチャのスクリーン存在場所を切頭体投影に沿って投影するステップとを有する。
【００４８】
この方法は、ボリューム形点群内の認識できない塊を識別するステップと、認識可能な塊、例えばロボットのカメラによって捕捉されたイメージを認識できない塊に被せて又はこれに代えて三次元シーン内に表示するステップとを有するのが良い。
【００４９】
本発明の１つ又は２つ以上の具体例の細部が添付の図面及び以下の説明に記載されている。他の観点、他の特徴及び他の利点は、明細書、図面及び特許請求の範囲の記載から明らかになろう。
【図面の簡単な説明】
【００５０】
【図１】例示の移動式ヒューマンインターフェースロボットの斜視図である。
【図２】例示の移動式ヒューマンインターフェースロボットの略図である。
【図３】例示の移動式ヒューマンインターフェースロボットの上方に見た斜視図である。
【図４Ａ】移動式ヒューマンインターフェースロボットの例示の基部の前から見た斜視図である。
【図４Ｂ】図４Ａに示された基部の後ろから見た斜視図である。
【図４Ｃ】図４Ａに示された基部の平面図である。
【図５Ａ】例示のヒューマンインターフェースロボットの例示の基部の概略正面図である。
【図５Ｂ】移動式ヒューマンインターフェースロボットの例示の基部の概略平面図である。
【図５Ｃ】移動式ヒューマンインターフェースロボットの例示のホロノミックホイールの正面図である。
【図５Ｄ】図５Ｃに示されたホイールの側面図である。
【図６】移動式ヒューマンインターフェースロボットの例示の胴部の前から見た斜視図である。
【図７】移動式ヒューマンインターフェースロボットの例示の頸部の前から斜視図である。
【図８Ａ】移動式ヒューマンインターフェースロボットの例示の回路構成の略図である。
【図８Ｂ】移動式ヒューマンインターフェースロボットの例示の回路構成の略図である。
【図８Ｃ】移動式ヒューマンインターフェースロボットの例示の回路構成の略図である。
【図８Ｄ】移動式ヒューマンインターフェースロボットの例示の回路構成の略図である。
【図８Ｅ】移動式ヒューマンインターフェースロボットの例示の回路構成の略図である。
【図８Ｆ】移動式ヒューマンインターフェースロボットの例示の回路構成の略図である。
【図８Ｇ】移動式ヒューマンインターフェースロボットの例示の回路構成の略図である。
【図９】例示の移動式ヒューマンインターフェースロボットの略図である。
【図１０Ａ】地面の方に向けられた多数のセンサを有する例示の移動式ヒューマンインターフェースロボットの斜視図である。
【図１０Ｂ】地面と平行に向けられた多数のセンサを有する例示の移動式ロボットの斜視図である。
【図１１】シーン内の物体を検出する例示のイメージングセンサの略図である。
【図１２】イメージングセンサを操作する例示の操作方式の略図である。
【図１３】シーン内の物体を検出する例示の三次元（３‐Ｄ）スペックルカメラの略図である。
【図１４】３‐Ｄスペックルカメラを操作する例示の操作方式の略図である。
【図１５】シーン内の物体を検出する例示の３‐Ｄタイムオブフライト（time-of-flight：ＴＯＦ）カメラの略図である。
【図１６】３‐Ｄ・ＴＯＦカメラを操作する例示の操作方式の略図である。
【図１７Ａ】例示の占有マップの略図である。
【図１７Ｂ】作業領域内のシーンの視覚を有する移動式ロボットの略図である。
【図１８Ａ】例示のレイアウトマップの略図である。
【図１８Ｂ】図１８Ａに示されたレイアウトマップに対応した例示のロボットマップの略図である。
【図１８Ｃ】レイアウトマップ及びロボットマップを用いて環境中を進むよう移動式ロボットを操作する例示の操作方式を示す図である。
【図１９Ａ】密なレイアウト点の三角形を含む例示のレイアウトマップの略図である。
【図１９Ｂ】図１９Ａに示されたレイアウトマップに対応した例示のロボットマップの略図である。
【図１９Ｃ】レイアウトマップ及びロボットマップを用いて標的ロボットマップ場所を求めるための例示の操作方式を示す図である。
【図２０Ａ】密なレイアウト点の図心を有する例示のレイアウトマップの略図である。
【図２０Ｂ】図２０Ａに示されたレイアウトマップに対応した例示のロボットマップの略図である。
【図２０Ｃ】レイアウトマップ及びロボットマップを用いて標的ロボットマップ場所を求めるための例示の操作方式を示す図である。
【図２１Ａ】静止している状態における移動式ヒューマンインターフェースロボットの局所知覚空間の例示の略図である。
【図２１Ｂ】動いている状態における移動式ヒューマンインターフェースロボットの局所知覚空間の例示の略図である。
【図２１Ｃ】静止している状態における移動式ヒューマンインターフェースロボットの局所知覚空間の例示の略図である。
【図２１Ｄ】動いている状態における移動式ヒューマンインターフェースロボットの局所知覚空間の例示の略図である。
【図２１Ｅ】対応の感覚的視野が曲がり角の周りを近接して動いている状態における移動式ヒューマンインターフェースロボットの例示の略図である。
【図２１Ｆ】対応の感覚的視野が曲がり角の回りを広く動いている状態における移動式ヒューマンインターフェースロボットの例示の略図である。
【図２２】移動式ヒューマンインターフェースロボットのコントローラによって実行される例示の制御システムの略図である。
【図２３Ａ】センサ視野を人に当てた状態に維持する例示の移動式ヒューマンインターフェースロボットの斜視図である。
【図２３Ｂ】人について行っている例示の移動式ヒューマンインターフェースロボットの略図である。
【図２４Ａ】移動式ヒューマンインターフェースロボットのための例示の人検出ルーチンの略図である。
【図２４Ｂ】移動式ヒューマンインターフェースロボットのための例示の人検出ルーチンの略図である。
【図２４Ｃ】移動式ヒューマンインターフェースロボットのための例示の人追従ルーチンの略図である。
【図２５Ａ】障害物の周りで人について行っている例示の移動式ヒューマンインターフェースロボットの略図である。
【図２５Ｂ】人存在場所でアップデートされている移動式ヒューマンインターフェースロボットの例示の局所マップの略図である。
【図２５Ｃ】移動式ヒューマンインターフェースロボットのための例示の局所マップルーチンの略図である。
【図２６Ａ】人に対面するよう回っている例示の移動式ヒューマンインターフェースロボットの略図である。
【図２６Ｂ】人から追従距離を保っている例示の移動式ヒューマンインターフェースロボットの略図である。
【図２６Ｃ】人から追従距離を保つための直接速度指令を用いた例示の移動式ヒューマンインターフェースロボットの略図である。
【図２６Ｄ】人から追従距離を保つために上ポイント指令を用いた例示の移動式ヒューマンインターフェースロボットの略図である。
【図２７】取り外し可能なウェブパッドを備えた例示の移動式ヒューマンインターフェースロボットの斜視図である。
【図２８Ａ】人が例示の移動式ヒューマンインターフェースロボットと対話している状態の図である。
【図２８Ｂ】人が例示の移動式ヒューマンインターフェースロボットと対話している状態の図である。
【図２８Ｃ】人が例示の移動式ヒューマンインターフェースロボットと対話している状態の図である。
【図２８Ｄ】人が例示の移動式ヒューマンインターフェースロボットと対話している状態の図である。
【図２８Ｅ】人が例示の移動式ヒューマンインターフェースロボットと対話している状態の図である。
【図２９】移動式ヒューマンインターフェースロボットとの通信を開始したり実施したりするための例示の電話方式を示す略図である。
【図３０】物体検出システムを有する例示の住宅の略図である。
【図３１】物体検出システムを操作する例示の操作方式の略図である。
【図３２】物体検出システムと通信状態にあるペンダントを装用した人の略図である。
【図３３Ａ】例示のロボットと通信状態にある遠隔コンピュータ計算装置を作動させる人を含む移動式ロボットシステムの略図である。
【図３３Ｂ】レイアウトマップを表示するソフトウェアアプリケーションを実行する例示のウェブパッドの略図である。
【図３３Ｃ】２‐Ｄレイアウトマップ上に浮かんだ状態の３‐Ｄマップを表示するソフトウェアアプリケーションを実行する例示のウェブパッドの略図である。
【図３３Ｄ】３‐Ｄマップ及び方向性パッドを表示するソフトウェアアプリケーションを実行する例示のウェブパッドの略図である。
【図３３Ｅ】ソフトウェアアプリケーションのシーンビューの略図である。
【図３３Ｆ】ソフトウェアアプリケーションのシーンビューの略図である。
【図３３Ｇ】ソフトウェアアプリケーションのシーンビューの略図である。
【図３４】例示のソフトウェアアーキテクチャの略図である。
【図３５】ソフトウェアアプリケーションを実行する例示のウェブパッドのタッチスクリーンからの切頭体投影の略図である。
【図３６Ａ】例示のウェブパッド上に表示された３‐Ｄマップの仮想アイポジション（目の位置）の略図である。
【図３６Ｂ】例示のウェブパッド上に表示された３‐Ｄマップの仮想アイポジション（目の位置）の略図である。
【図３６Ｃ】仮想アイポジションから標的位置への視線の略図である。
【図３７Ａ】例示のウェブパッド上に表示された３‐Ｄマップの略図であり、点群の認識することができない塊上への認識可能なイメージの配置状態を示す図である。
【図３７Ｂ】例示のウェブパッド上に表示された３‐Ｄマップの略図であり、点群の認識することができない塊上への認識可能なイメージの配置状態を示す図である。
【図３８】ロボットと通信している遠隔コンピュータ計算装置の略図である。
【発明を実施するための形態】
【００５１】
種々の図において、同一の参照符号は、同一の要素を示している。
【００５２】
移動式ロボット（移動ロボットとも呼ばれる）は、ホームアシスタンス（在宅支援からコマーシャルアシスタンス（商業的支援）まで）の範囲にわたる多くのサービスを提供するよう人と対話し又はインターフェースすることができる。ホームアシスタンスの例では、移動式ロボットは、日常の仕事について年取った人を支援することができ、かかる仕事としては、薬物療法、移動支援、コミュニケーション支援（例えば、テレビ会議、電気通信、Internetアクセス等）、住宅又は現場監視（内側及び／又は外側）、人の監視及び／又は個人用緊急時対応システム（personal emergency response system：ＰＥＲＳ）の提供が挙げられるが、これらには限定されない。コマーシャルアシスタントの場合、移動式ロボットは、テレビ会議（例えば、病院環境内における）、売場専用端末（ＰＯＳ端末）、対話式情報／マーケティング端末等を提供することができる。
【００５３】
図１及び図２を参照すると、幾つかの具体例では、移動式ロボット１００が前方駆動方向Ｆを定めるロボット本体１１０（又はシャーシ）を有している。ロボット１００は、駆動システム２００、インターフェースモジュール３００及びセンサシステム４００を更に有し、これらは各々、ロボット本体１１０により支持されると共にロボット１００の動作と運動を協調させるコントローラ５００と通信状態にある。電源１００を（例えば、１個又は複数個のバッテリ）が必要に応じてこれらコンポーネントの各々と電気的通信関係をなして支持されるのが良く、この電源は、電力を必要に応じてこれらコンポーネントの各々に送り出す。例えば、コントローラ５００は、１，０００ＭＩＰＳ（１秒当たり１００万の命令）を超える数の命令を実施することができるコンピュータを含むのが良く、電源１０５８は、コンピュータに３時間を超える間、電力供給するのに十分なバッテリを提供する。
【００５４】
ロボット本体１１０は、図示の実施例では、基部１２０、基部１２０から上方に延びる少なくとも１本の脚部１３０及び少なくとも１本の脚部１３０によって支持された胴部１４０を有する。基部１２０は、少なくとも駆動システム２００を部分的に支持することができる。ロボット本体１１０は、胴部１４０によって支持された頸部１５０を更に有する。頸部１５０は、頭部１６０を支持し、頭部１６０は、インターフェースモジュール３００の少なくとも一部分を支持している。基部１２０は、機械的安定性を維持するために基部１２０の低い重心ＣＧB及びロボット１００の低い全体的重心ＣＧRを維持するのに十分なおもり（例えば、電源１０５（バッテリを支持することによって）を有する。
【００５５】
図３及び図４Ａ〜図４Ｃを参照すると、幾つかの具体例では、基部１２０は、三辺形的に対称の形状（例えば、平面図で見て三角形の形状）を定めている。例えば、基部１２０は、基部シャーシ１２２を有するのが良く、基部シャーシ１２２は、三辺形状の基部１２０（例えば、図４Ａ参照）の各脚部に対応する第１、第２及び第３の基部本体部分１２４ａ，１２４ｂ，１２４ｃを備えた基部本体１２４を支持している。各基部本体部分１２４ａ，１２４ｂ，１２４ｃは、物体との接触に応答して基部シャーシ１２２に対して別個独立に動くよう基部シャーシ１２２によって可動的に支持されるのが良い。基部１２０の三辺形的対称形状により、ロボット１００周りに３６０°にわたる出っ張りバンプ（隆起部）の検出が可能である。各基部本体部分１２４ａ，１２４ｂ，１２４ｃは、基部シャーシ１２２に対する対応の基部本体部分１２４ａ，１２４ｂ，１２４ｃの運動を検出する関連の接触センサ（例えば、容量センサ、リードスイッチ等）を有するのが良い。
【００５６】
幾つかの具体化例では、駆動システム２００は、ロボット１００の全方向性及び／又はホロノミック運動制御を可能にする。本明細書で用いられる「全方向性」という用語は、実質的に任意の平面方向、即ち、左右（側方）、前後及び回転運動を行うことができるということを意味している。これら方向は、一般に、本明細書ではそれぞれｘ、ｙ及びθｚと称する。さらに、「ホロノミック」という用語は、この用語の文献的使用と実質的に一致した仕方で用いられており、平面方向に３つの平面状自由度、即ち、２つの並進及び１つの回転で動くことができるということを意味している。それ故、平面方向に３つの平面速度（前後、側方及び回転）の実質的に任意の比率で構成された速度で動くことができる能力を備えると共に実質的に連続した仕方でこれらの比率を変化させることができる能力を備えている。
【００５７】
ロボット１００は、車輪付き移動方式を用いて人の環境（例えば、典型的には二足歩行居住者向きに設計された環境）で働くことができる。幾つかの具体化例では、駆動システム２００は、垂直軸線Ｚ回りに等間隔を置いて（例えば、１２０°の間隔を置いて）（即ち、三辺形対称に）配置された第１、第２及び第３の駆動輪２１０ａ，２１０ｂ，２１０ｃを有するが、他の構成も又採用可能である。図５Ａ及び図５Ｂを参照すると、駆動輪２１０ａ，２１０ｂ，２１０ｃは、横方向弧状転動面（即ち、転動方向ＤR）に対して横方向又は垂直な方向に湾曲した輪郭形状を備えるのが良く、この転動面は、ホロノミック駆動システム２００の操縦性を助けることができる。各駆動輪２１０ａ，２１０ｂ，２１０ｃは、それぞれ駆動モータ２２０ａ，２２０ｂ，２２０ｃに結合されており、この駆動モータは、他の駆動モータ２２０ａ，２２０ｂ，２２０ｃとは別個独立に駆動輪２１０ａ，２１０ｂ，２１０ｃを前進（前方）方向及び／又は後退（後方）方向に駆動することができる。各駆動モータ２２０ａ〜２２０ｃは、それぞれのエンコーダ２１２（図８Ｃ）を有するのが良く、このエンコーダは、コントローラ５００に車輪回転フィードバックを提供する。幾つかの実施例では、各駆動輪２１０ａ，２１０ｂ，２１０ｃは、正三角形の３つの頂点のうちの１つに又はこの近くに取り付けられ、それぞれの三角形の端の角度の二等分線に垂直な駆動方向（前後方向）を有する。三辺形対称ホロノミック基部１２０を前方駆動方向Ｆで駆動することにより、ロボット１００は、閉じ込め状態又はクラッタからの自律的な逃げ出しのために非前方駆動方向に移行することができ、次に、逃げ出しが解決した後、前方駆動方向Ｆに沿って駆動するよう回転すると共に／或いは並進することができる。
【００５８】
図５Ｃ及び図５Ｄを参照すると、幾つかの具体化例では、各駆動輪２１０は、ローラ２３０の内側の列２３２及び外側の列２３４を有し、各列は、駆動輪２１０の転動方向ＤRに垂直な転動方向Ｄrを有する。ローラ２３０の列２３２，２３４は、互い違いに配置されているのが良い（例えば、その結果、内側の列２３２に属する１つのローラ２３０は、外側の列２３４に属する２つの隣り合うローラ２３０相互間に等しく位置決めされる。ローラ２３０は、駆動輪２１０の駆動方向に垂直な無限のスリップを行う。ローラ２３０は、これらの転動方向Ｄrに垂直な弧状（例えば、凸状）外面２３５を備え、その結果、ローラ２３０は、一緒になって、駆動輪２１０の円形又は実質的に円形の周囲を定めている。ローラ２３０の輪郭形状は、駆動輪２１０の全体的輪郭形状に影響を及ぼす。例えば、ローラ２３０は、一緒になって駆動輪２１０のスカラップ状転動面（例えば、トラクションのためのトレッドとして）を構成する弧状ローラ外面２３５を備えることができる。しかしながら、ローラ２３０をこれが駆動輪２１０の全体として円形の転動面を構成する輪郭形状を有するよう構成することにより、ロボット１００は、車輪トレッドと垂直に振動するのではなく、平坦な表面上で滑らかに移動することができる。角度をなして物体に接近する場合、ローラ２３０（半径ｒ）の互い違いの列２３２，２３４をトレッドとして用いると、駆動輪２１０の車輪半径Ｒとほぼ同じほど高く又はほぼ同じほど高い物体を登ることができる。
【００５９】
図３〜図５Ｂに示された実施例では、第１の駆動輪２１０は、前方駆動方向Ｆに沿う先導駆動輪として構成され、残りの２つの駆動輪２１０ｂ，２１０ｃは、これに後続する。
この構成例では、前方に駆動するためには、コントローラ５００は、第１の駆動輪２１０ａが前方駆動方向Ｆに沿ってスリップしている間に第２及び第３の駆動輪２１０ｂ，２１０ｃが同じ速度で前方転動方向に駆動するようにする駆動指令を出すのが良い。さらに、この駆動輪構成により、ロボット１００は、短時間で停止することができる（例えば、前方駆動方向Ｆに対して迅速な負の加速を生じさせる）。これは、三輪設計の自然な動的不安定性に起因している。前方駆動方向Ｆが２本の前方駆動輪相互間の角度の二等分線に沿っている場合、短時間で停止させると、ロボット１００がその２本の「前」輪を中心として回動してこれを転倒させるトルクが生じる。これとは異なり、１本の駆動輪２１０ａを前方に自然に走行させることにより、ロボット１００が支持され又は急停止を行うことが必要な場合であっても前方に倒れるのが阻止される。しかしながら、停止状態から加速すると、コントローラ５００は、ロボット１００の全体的重心ＣＧRからロボット１００の慣性モーメントＩを考慮に入れることができる。
【００６０】
駆動システム２００の幾つかの具体化例では、各駆動輪２１０ａ，２１０ｂ，２１０ｃは、垂直軸Ｚと半径方向に整列した転動方向ＤRを有し、垂直軸Ｚは、ロボット１００のＸ軸及びＹ軸と直交している。第１の駆動輪２１０ａは、前方駆動方向Ｆに沿う先導駆動輪として構成されるのが良く、残りの２つの駆動輪２１０ｂ，２１０ｃは、これに後続する。この構成例では、前方に進むために、制御装置５００は、第１の駆動輪２１０ａが前方転動方向に進むようにし、第２及び第３の駆動輪２１０ｂ，２１０ｃが第１の駆動輪２１０ａと同一の速度で、しかしながら、逆方向に進むようにする駆動指令を出すのが良い。
【００６１】
他の具体化例では、駆動システム２００は、２本の駆動輪２１０ａ，２１０ｂ相互間の角度の角度二等分線がロボット１００の前方駆動方向Ｆと整列するよう位置決めされた第１及び第２の駆動輪２１０ａ，２１０ｂを有するよう配置されるのが良い。この構成例では、前方に駆動するため、コントローラ５００は、第１及び第２の駆動輪２１０ａ，２１０ｂを前方転動方向に且つ同一速度で駆動させ、駆動させる駆動指令を出すのが良く、他方、第３の駆動輪２１０ｃは、逆方向に逆方向に駆動し又は空回り状態のままであり、第１及び第２の駆動輪２１０ａ，２１０ｂの後ろに引きずられる。前方に駆動しながら左又は右に曲がるため、コントローラ５００は、対応の第１又は第２の駆動輪２１０ａ，２１０ｂが比較的迅速な／遅い速度で駆動するようにする指令を出すのが良い。他の構成の駆動システム２００も又使用できる。駆動輪２１０ａ，２１０ｂ，２１０ｃは、円筒形、円形、楕円形又は多角形の輪郭形状を備えることができる。
【００６２】
再び図１〜図３を参照すると、基部１２０は、基部１２０からＺ方向に上方に延びる少なくとも１本の脚部１３０を支持している。脚部１３０は、胴部１４０を基部１２０に対して昇降させるために可変高さを有するよう構成されているのが良い。幾つかの具体化例では、各脚部１３０は、互いに対して動く（例えば、入れ子式又は伸縮運動、直線運動及び／又は角運動）第１及び第２の脚部分１３２，１３４を有する。連続的に小径の押し出し部を互いに入れ子式に出入りさせたり比較的大径の基部押し出し部から入れ子式に出すのではなく、第２の脚部分１３４は、図示の実施例では、第１の脚部分１３２上でこれに沿って入れ子式に動き、かくして、他のコンポーネントを第２の脚部分１３４に沿って配置することができると共に潜在的に第２の脚部分１３４と一緒に基部１２０の比較的近くまで動くことができる。脚部１３０は、第２の脚部分１３４を第１の脚部分１３２に対し動かすアクチュエータ組立体１３６（図８Ｃ）を有するのが良い。アクチュエータ組立体１３６は、昇降モータ１３８ｂ及び位置フィードバックをコントローラ５００に提供するエンコーダ１３８ｃと連絡状態にあるモータドライバ１３８ａを含むのが良い。
【００６３】
一般に、入れ子式構成は、脚部１３０全体の重心ＣＧLをできるだけ低く保つために基部１２０のところの比較的大径の押し出し部から入れ子式に出入りする連続的に小径の押し出し部を有する。さらに、脚部１３０を完全に伸長させたときに基部１２０のところで生じる大きなトルクを取り扱うために底部のところに強力且つ／又は大径のコンポーネントを設けるのが良い。しかしながら、このやり方は、２つの問題を提起する。第１に、比較的小径のコンポーネントが脚部１３０の頂部のところに配置されると、雨、埃又は他の粒状物が押し出し部に沿って流れ又は落ちる傾向があり、それにより押し出し部相互間の空間に入り込み、かくして押し出し部の嵌合を妨害する。これにより、脚部１３０の完全な移動性／関節運動を依然として維持しようとする場合に極めて困難な密封上の問題が生じる。第２に、ロボット１００にペイロード又は付属装置を取り付けることが望ましい場合がある。付属装置に取り付ける１つのありふれた場所は、胴部１４０の頂部である。第２の脚部分１３４が入れ子式に第１の脚部分に対して出入りした場合、付属装置及びコンポーネントは、胴部１４０と一緒に移動する必要がある場合、第２の脚部分１３４全体の上方にしか取り付けることができない。もしそうでなければ、第２の脚部分１３４に取り付けられたコンポーネントが脚部１３０の入れ子式運動を制限することになる。
【００６４】
第２の脚部分１３４を第１の脚部分１３０上でこれに沿って入れ子式に動かすことにより、第２の脚部分１３４は、基部１２０に対して垂直に動くことができる追加のペイロード取り付け箇所を提供する。この種の構成により、水又は空気により運ばれる粒状物が脚部分１３２，１３４相互間の空間に入らないで、全ての脚部分１３２，１３４（例えば、押し出し部）の外部で胴部１４０に沿って流れる。これにより、脚部１３０の継手又は関節部の密封が大幅に単純化される。さらに、胴部１４０のペイロード／付属装置取り付け特徴部及び／又は第２の脚部分１３４は、常時露出され、脚部１３０がどのように伸長されようと接近可能である。
【００６５】
図３及び図６を参照すると、脚部１３０は、胴部１４０を支持し、胴部１４０は、基部１２０を覆うと共にこの上方に延びる肩１４２を有するのが良い。図示の実施例では、胴部１４０は、肩１４２の少なくとも一部を形成する下方に向いた底面４４（例えば、基部寄り）及び逆の上方に向いた頂面１４６を有し、これら相互間には側面１４８が延びている。胴部１４０は、脚部１３０によって支持された中央部分１４１及び脚部１３０の側方広がりを超える側方に延びる周辺自由部分１４３を備えた種々の形状又は幾何学的形状、例えば、円形又は楕円形の形をしているのが良く、かくして、下方に向いた表面１４４を構成する張り出し部分が形成されている。幾つかの実施例では、胴部１４０は、肩を構成する多角形又は他の複雑な形状を有し、肩は、基部１２０を覆った状態で脚部１３０を超えて延びる張り出し部分となっている。
【００６６】
ロボット１００は、ペイロードを受け入れる１つ又は２つ以上の付属装置ポート１７０（例えば、機械的及び／又は電気的相互連結箇所）を有するのが良い。付属装置ポート１７０は、受け入れたペイロードがセンサシステム４００（例えば、胴部１４０の底面１４４及び／又は頂面１４６等に取り付けられている）のセンサを遮蔽せず又は妨害しないよう配置されるのが良い。幾つかの具体化例では、図６に示されているように、胴部１４０は、胴部１４０の後方部分１４９に設けられていて、例えば、バスケット３４０に入ったペイロードを受け入れる１つ又は２つ以上の付属装置ポート１７０を有し、それにより、胴部１４０の前方部分１４７又はロボット本体１１０の他の部分に取り付けられているセンサが妨害されないようになっている。
【００６７】
再び図１〜図３及び図７を参照すると、胴部１４０は、頭部１６０を胴部１４０に対してパンしたり係合させたりする頸部１５０を支持している。図示の実施例では、頸部１５０は、ローテータ１５２及びチルタ１５４を有する。ローテータ１５２は、約９０°〜約３６０°の角運動範囲θR（例えば、Ｚ軸回り）を提供することができる。他の範囲も又、採用可能である。さらに、幾つかの実施例では、ローテータ１５２は、頭部１６０とロボット１００の残部との間の電気的連絡状態を維持しながら制限されない回転数で胴部１４０に対する頭部１６０の連続した３６０°の回転を可能にする電気的コネクタ又は接点を有する。チルタ１５４は、頭部１６０とロボット１００の残部との間の電気的連絡状態を維持しながら胴部１４０に対する頭部１５０の回転を可能にする同一又は類似の電気コネクタ又は接点を有するのが良い。ローテータ１５２は、リング１５３（例えば、歯付きリングラック）に結合され又はこれに係合するローテータモータ１５１を有するのが良い。チルタ１５４は、ローテータ１５２とは別個独立に、頭部を胴部１４０に対して角度θT（例えば、Ｙ軸回りに）動かすことができる。幾つかの実施例では、チルタ１５４は、チルタモータ１５５を有し、チルタモータ１５５は、頭部１６０をＺ軸に対して±９０°の角度θTの間で動かす。他の範囲、例えば±４５°等も又採用可能である。ロボット１００は、脚部１３０、胴部１４０、頸部１５０及び頭部１６０がロボット１００の安定した移動性を維持するために基部１２０の周囲の範囲内に留まるよう構成されているのが良い。図８Ｆに示されている例示の概略回路図では、頸部１５０は、パン・チルト組立体１５１を有し、パン・チルト組立体１５１は、ローテータ１５２及びチルタ１５４を対応のモータドライバ１５６ａ，１５６ｂ及びエンコーダ１５８ａ，１５８ｂと一緒に含む。
【００６８】
図８Ａ〜図８Ｇは、ロボット１００の回路構成の例示の略図である。図８Ａ〜図８Ｃは、基部１２０のための回路構成の例示の略図を提供しており、基部１２０は、近接センサ、例えばソナー近接センサ４１０及びクリフ（断崖状箇所）近接センサ４２０、接触センサ４３０、レーザスキャナ４４０、ソナースキャナ４６０及び駆動システム２００を収容するのが良い。基部１２０は、コントローラ５００、電源１０５及び脚部アクチュエータ組立体１３６を更に収容するのが良い。胴部１４０は、マイクロコントローラ１４５、マイクロホン３３０、スピーカ３４０、走査型３‐Ｄイメージセンサ４１０ａ及び胴部タッチセンサシステム４８０を収容するのが良く、胴部タッチセンサシステム４８０により、コントローラ５００は、ユーザの接触又はタッチを受け取ってこれに対して応動することができる（例えば、胴部１４０を基部１２０に対して動かし、頸部１５０をパンすると共に／或いは傾動させると共に／或いはこれに応答して指令を駆動システム２００に送り出すことによって）。頸部１５０は、パン・チルト組立体１５１を収容するのが良く、パン・チルト組立体１５１は、対応のモータドライバ１５６ａ及びエンコーダ１３８ａを有するパンモータ１５２と、対応のモータドライバ１５６ｂ及びエンコーダ１３８ｂを有するチルトモータ１５４とを含むのが良い。頭部１６０は、１つ又は２つ以上のウェブパッド１３０及びカメラ３１２を収容するのが良い。
【００６９】
図１〜図４Ｃ及び図９を参照すると、確実且つ堅牢な自律運動を達成するため、センサシステム４００は、ロボット１００がロボットの環境で取る行為に関する知的な決定を行うことができるのに十分なロボット環境の知覚を生じさせるよう互いに関連して用いることができる幾つかの互いに異なる形式のセンサを有するのが良い。センサシステム４００は、ロボット本体１１０により支持された１つ又は２つ以上の形式のセンサを有するのが良く、かかるセンサとしては、障害物検出衝突回避（ＯＤＯＡ）センサ、通信センサ、ナビゲーションセンサ等が挙げられる。例えば、これらセンサとしては、近接センサ、接触センサ、三次元（３‐Ｄ）イメージング／深度マップセンサ、カメラ（例えば、可視光及び／又は赤外線カメラ）、ソナー、レーダ、ＬＩＤＡＲ（Light Detection And Ranging）（光検知測距、これは、遠くに位置する標的のレンジ及び／又は他の情報を検知するよう散乱光の特性を測定する光学遠隔検出方式を必要とする場合がある）、ＬＡＤＡＲ（Laser Detection and Ranging）等が挙げられるが、これらには限定されない。幾つかの具体化例では、センサシステム４００は、レンジングソナーセンサ４１０（例えば、基部１２０の周囲の周りに９つ）、近接クリフ検出器４２０、接触センサ４３０、レーザスキャナ４４０、１つ又は２つ以上の３‐Ｄイメージング／深度センサ４５０及びイメージングソナー４６０を有するのが良い。
【００７０】
センサをロボットプラットホームに配置するには幾つかの課題が存在する。第１に、センサは、これらがロボット１００の周りの関心のある領域の最大カバレージ（有効範囲）を有するよう配置されることが必要である。第２に、センサは、ロボット１００それ自体がセンサに対する絶対最小限の遮蔽度を生じさせるよう配置されることが必要な場合があり、本質的には、センサは、これらがロボットそれ自体により「目隠しされ」るように配置されてはならない。第３に、センサの配置及び取り付けは、プラットホームの工業的設計の残部に対して出しゃばるようなことがあってはならない。美感の面で、センサが目立たないように取り付けられたロボットがそうではないロボットよりも「魅力的」であると見なすことができる。実用性の面では、センサは、通常のロボット動作を邪魔しないよう（障害物に引っ掛かったり等しないよう）取り付けられるべきである。
【００７１】
幾つかの具体化例では、センサシステム４００は、コントローラ５００と通信状態にあると共に近くの又は侵入している障害物を検出するためにロボット１００の１つ又は２つ以上のゾーン又は部分内に配置された（例えば、ロボット本体１１０の基部本体部分１２４ａ，１４２ｂ，１４２ｃに又はその近くに設けられた１組の又はアレイをなす近接センサ４１０，４２０を有する。近接センサ４１０，４２０は、物体がロボット１００の所与の範囲内にあるときに信号をコントローラ５００に提供する集束形赤外線（ＩＲ）エミッタ‐センサ要素、ソナーセンサ、超音波センサ及び／又はイメージングセンサ（例えば、３‐Ｄ深度マップイメージセンサ）であるのが良い。
【００７２】
図４Ａ〜図４Ｃに示されている実施例では、ロボット１００は、基部本体１２０の周りに設けられる（例えば、実質的に等間隔を置いて）と共に上向き視野を備えて構成されたアレイをなすソナー形近接センサ４１０を有する。第１、第２及び第３のソナー近接センサ４１０ａ，４１０ｂ，４１０ｃが第１の（前方の）基部本体部分１２４ａに設けられ又はその近くに設けられており、ソナー近接センサのうちの少なくとも１つは、第１の基部本体１２４ａの半径方向最も外側の縁部１２５ａの近くに位置している。第４、第５及び第６のソナー近接センサ４１０ｄ，４１０ｅ，４１０ｆが第２の（右側の）基部本体部分１２４ｂに又はその近くに設けられており、ソナー近接センサのうちの少なくとも１つは、第２の基部本体１２４ｂの半径方向最も外側の縁部１２５ｂの近くに位置する。第７、第８及び第９のソナー近接センサ４１０ｇ，４１０ｈ，４１０ｉが第３の（右側の）基部本体部分１２４ｃに又はその近くに設けられており、ソナー近接センサのうちの少なくとも１つは、第３の基部本体１２４ｃの半径方向最も外側の縁部１２５ｃの近くに位置している。この構成により、少なくとも３つの検出ゾーンが得られる。
【００７３】
幾つかの実施例では、基部本体１２０の周りに設けられた１組のソナー近接センサ４１０（例えば、４１０ａ〜４１０ｉ）は、上方に（例えば、実質的にＺ方向に）向くよう配置され、オプションとして、Ｚ軸から外方に遠ざかるよう角度をなしており、かくして、ロボット１００の周りに検出カーテン４１２が形成されている。各ソナー近接センサ４１０ａ〜４１０ｉは、ソナーエミッション（放射波）を上方に案内し又は少なくともロボット本体１１０の他の部分に向かっては案内しない（例えば、ロボット本体１１０のそれ自体に対する運動を検出しないようにするため）シュラウド又はエミッション案内４１４を有するのが良い。エミッション案内４１４は、シェル又は半シェル形のものであるのが良い。図示の実施例では、基部本体１２０は、脚部１３０を越えて側方に延び、ソナー近接センサ４１０（例えば、４１０ａ〜４１０ｉ）は、脚部１３０の周りで基部本体１２０に（例えば、実質的に本体基部１２０の周囲に沿って）設けられている。さらに、上方に向いたソナー近接センサ４１０は、脚部１３０周りの連続した又は実質的に連続したソナー検出カーテン４１２を形成するよう互いに間隔を置いて位置している。ソナー検出カーテン４１２は、高所側方突き出し部分を備えた障害物、例えばテーブル上面、棚等を検出するために使用できる。
【００７４】
上方視認型ソナー近接センサ４１０は、主として水平面内に位置する物体、例えばテーブル上面を見る機能を提供する。これら物体は、これらのアスペクト比に起因して、他のセンサシステムの他のセンサ、例えばレーザスキャナ４４０又はイメージングセンサ４５０では見えない場合があり、したがって、ロボット１００に対して問題をもたらす場合がある。基部１２０の周囲に沿って設けられた、上方視認型ソナー近接センサ４１０は、これら形式の物体／障害物を視認し又は検出する手段となる。さらに、ソナー近接センサ４１０は、ロボット１００の胴部１２０又は頭部１６０により遮蔽又は妨害されないように僅かに外方に傾斜した状態で基部周囲の最も幅の広い箇所の周りに配置されるのが良く、かくして、結果的にロボット１００それ自体の部分を検出する誤った確信が生じなくなる。幾つかの具体化例では、ソナー近接センサ４１０は、ソナー近接センサ４１０の視野の外部で胴部１４０の周りに設けられていて、かくして、取り付けられたペイロード又は付属装置、例えばバスケット３４０を自由に受け入れることができる容積部を後に残すよう配置されている（上方及び外方に）。ソナー近接センサ４１０は、目に見えないようにしかも障害物に引っ掛かり又は当たる外部特徴部をもたらさないよう基部本体１２４内に引っ込められるのが良い。
【００７５】
センサシステム４００は、バックアップの役目を果たしながら障害物を検出するために後方に（例えば、前方駆動方向Ｆとは反対側の方向に）向けられた１つ又は２つ以上のソナー近接センサ４１０（例えば、後側近接センサ４１０ｊ）を有するのが良い。後側ソナー近接センサ４１０ｊは、そのソナー検出野４１２を方向付けるエミッション案内４１４を有するのが良い。さらに、後側ソナー近接センサ４１０ｊは、ロボット１００と後側ソナー近接センサ４１０ｊの視野内の検出物体（例えば、「バックアップアラート」として）との間の距離を求めるための測距に使用できる。幾つかの実施例では、後側ソナー近接センサ４１０ｊは、ハウジング形式の視覚的又は機能的不規則性をもたらさないよう基部本体１２０内に引っ込められた状態で設けられる。
【００７６】
図３及び図４Ｂを参照すると、幾つかの具体化例では、ロボット１００は、駆動輪２１０ａ，２１０ｂ，２１０ｃがクリフ（例えば、階段）に当たる前にクリフ検出を可能にするよう駆動輪２１０ａ，２１０ｂ，２１０ｃの近くに又はこれらの周りに配置されたクリフ近接センサ４２０を有している。例えば、クリフ近接センサ４２０は、基部本体１２４ａ〜１２４ｃの半径方向最も外側の縁部１２５ａ〜１２５ｃの各々のところ又はその近くで且つこれら相互間の場所に配置されるのが良い。幾つかの場合、クリフ検出は、赤外線（ＩＲ）近接又は実際のレンジ検出を用いると共に床を予測するべき場所にオーバーラップしたエミッション及び検出野及びかくして検出ゾーンを形成するよう互いに向かって傾けられた赤外線エミッタ４２２及び赤外線検出器４２４を用いて実施される。ＩＲ近接検出は、比較的狭い視野を有するのが良く、信頼性を得るために表面アルベド（albedo）で決まる場合があり、表面ごとの変化するレンジ精度を有するのが良い。結果として多数の別々のセンサをロボット１００の周囲に沿ってぐるりと配置してロボット１００上の多数の箇所からのクリフを適切に検出するのが良い。さらに、ＩＲ近接利用型センサは、代表的には、クリフと例えばロボット１００が敷居を上がった直後の安全事象とを区別することができない。
【００７７】
クリフ近接センサ４２０は、ロボット１００が床の下がり縁に遭遇した時点、例えばロボットが一連の階段に遭遇した時点を検出することができる。コントローラ５００（制御システムを実行する）は、縁を検出したときにロボット１００が例えばその移動方向の変化という行為を取るようにする挙動を実行することができる。幾つかの具体化例では、センサシステム４００は、１つ又は２つ以上の二次クリフセンサ（例えば、クリフ検出及びオプションとしての他形式の検出を行うよう構成された他のセンサ）を有する。クリフ検出近接センサ４２０は、クリフの早期検出を提供し、実際のクリフと安全事象（例えば、敷居を上がること）とを区別するためのデータを提供するよう構成され、そして、これらの視野がロボット本体１１０の少なくとも一部及びロボット本体１１０から遠ざかって位置する領域を含むよう下方及び外方に位置決めされるのが良い。幾つかの具体化例では、コントローラ５００は、支持作業面（例えば、床）の縁、作業面の縁を通過する距離の増大及び／又はロボット本体１１０と作業面との間の距離の増大を識別して検出するクリフ検出ルーチンを実施する。この具体化例では、１）潜在的なクリフの早期検出（これは、未知の環境における迅速な移動速度の実現を可能にする場合がある）、２）コントローラ５００がクリフ事象が真の意味で安全ではないかどうか又はクリフを安全に横切ることができるかどうか（例えば、敷居を上がって）を知るためにクリフ検出近接センサ４２０からのクリフイメージング情報を受け取るので、自律移動性の信頼性の増大、３）クリフの誤った確信の減少（例えば、狭い視野を備えた多数の別々のＩＲ近接センサに対する縁検出の使用に起因している）が可能になる。「ホイールドロップ（wheel drop）」センサとして配置された追加のセンサは、万全を期すためにしかもレンジ検出カメラが或る特定の形式のクリフを確実に検出することができない状況を検出するために使用できる。
【００７８】
敷居及び階段の検出により、ロボット１００は、上がることができる敷居を横切るか高すぎる階段を回避するかのいずれかを効果的に計画することができる。これは、ロボット１００が安全に横切ることができる場合があり又はそうでない作業面上の乱雑に置かれた物体についても当てはまる。ロボット１００が確認する障害物又は敷居の場合、ロボット１００が滑らかさを最大にすると共に突然の加速に起因した不安定性を最小限に抑えるために滑らかに移行することができるよう必要であると見なされた場合に適度に減速することができるこれらの高さを知って上がることができる。幾つかの具体化例では、敷居及び階段検出は、幾何学的認識（例えば、敷居又は電気ケーブルと染み、例えばソックスの区別）と共に作業面上の物体高さに基づいている。敷居は、縁検出によって認識できる。コントローラ５００は、クリフ検出近接センサ４２０（又は、ロボット１００に取り付けられている別のイメージングセンサ）からイメージングデータを受け取り、縁検出ルーチンを実行し、そして縁検出ルーチンの結果に基づいて駆動指令を出すことができる。コントローラ５００は、パターン認識を利用して物体を識別することも可能である。敷居検出により、ロボット１００は、滑らかな階段登り能力を最大にするよう敷居に対してその向きを変えることができる。
【００７９】
近接センサ４１０，４２０は、単独で機能することができ又は変形例として、万全を期すために１つ又は２つ以上の接触センサ４３０（例えば、バンプスイッチ）と組み合わせて機能することができる。例えば、ロボット本体１１０に取り付けられている１つ又は２つ以上の接触又はバンプセンサ４３０は、ロボット１００が物理的に障害物に出会ったかどうかを検出することができる。かかるセンサは、ロボットが障害物に出会った時点を確認するためにロボット１００内の物理的性質、例えばキャパシタンス又は物理的変位を利用することができる。幾つかの具体化例では、基部１２０の各基部本体部分１２４ａ，１２４ｂ，１２４ｃは、基部シャーシ１２２（例えば、図４Ａを参照されたい）に対する対応の基部本体部分１２４ａ，１２４ｂ，１２４ｃの運動を検出する関連の接触センサ４３０（例えば、容量形センサ、リードスイッチ等）を有する。例えば、各基部本体１２４ａ，１２４ｂ，１２４ｃは、スリーウェイバンプ検出を可能にするよう基部シャーシ１２２のＺ軸に対して半径方向に動くことができる。
【００８０】
図１〜図４Ｃ、図９及び図１０Ａを参照すると、幾つかの具体化例では、センサシステム４００は、ロボット本体１１０の前方部分に取り付けられると共にコントローラ５００と通信状態にあるレーザスキャナ４４０を有する。図示の実施例では、レーザスキャナ４４０は、第１の基部１２４ａに又はこれの上方で（例えば、ロボットの駆動方向Ｆに沿う最大イメージングカバレージを得るために）前方に向いた状態で（例えば、前方駆動方向Ｆに沿う視野を有する）基部本体１２０に取り付けられている。さらに、レーザスキャナを三角形基部１２０の前側先端部に又はその近くに配置することは、ロボット基部の外側の角度（例えば、３００°）がレーザスキャナ４４０の視野４４２（例えば、約２８５°）よりも大きく、かくして、基部１２０がレーザスキャナ４４０の検出視野４４２を遮蔽せず又は妨害するのが阻止されることを意味している。レーザスキャナ４４０を基部本体１２４を越える突き出しレーザスキャナの部分を最小限に抑えるために（例えば、美感のために、更に障害物に引っ掛かる恐れを最小限に抑えるために）その視野を遮蔽しないで、可能な限り基部本体１２４内に引っ込んだ状態で設けられるのが良い。
【００８１】
レーザスキャナ４４０は、ロボット１００の周りの領域を走査し、コントローラ５００は、レーザスキャナ４４０から受け取った信号を用いて、走査した領域の環境マップ又は物体マップを作る。コントローラ５００は、ナビゲーション、障害物検出及び障害物回避のために物体マップを用いることができる。さらに、コントローラ５００は、物体マップを作成するため且つ／或いはナビゲーションのためにセンサシステム４００の他のセンサから感覚入力を用いることができる。
【００８２】
幾つかの実施例では、レーザスキャナ４４０は、走査型ＬＩＤＡＲであり、これは、一方向に領域を迅速に走査するレーザを「主」走査線として用いると共に深度をこのライン中で生じた各ピクセルに割り当てる（走査平面内の二次元深度線に戻る）ために位相差又はこれに類似した技術を用いるタイムオブフライトイメージング要素を使用することができる。三次元マップを作成するため、ＬＩＤＡＲは、第２の方向に「補助」走査を実施することができる（例えば、スキャナを「うなずかせる」によって）。この機械的走査技術は、捕捉されなければ、例えば“フラッシュ”ＬＩＤＡＲ／ＬＡＤＡＲ及び“Swiss Ranger”型焦点面イメージング要素センサのようなテクノロジー、各ピクセルのところに深度又は各ピクセルのところに一連の深度を提供するよう（エンコードされたイルミネータ又は照明レーザにより）ピクセルの完全２‐Ｄマトリックスのためのタイムオブフライト計算を可能にするよう半導体スタックを用いる技術によって完全なものとなることができる。
【００８３】
センサシステム４００は、コントローラ５００と通信状態にある１つ又は２つ以上の三次元（３‐Ｄ）イメージセンサ４５０を有するのが良い。３‐Ｄイメージセンサ４５０が限られた視野を持つ場合、コントローラ５００又はセンサシステム４００は、３‐Ｄイメージセンサ４５０ａを側方走査方式で作動させて比較的広い視野を作り、それにより堅固なＯＤＯＡを実施することができる。
【００８４】
再び図２及び図４Ａ〜図４Ｃを参照すると、センサシステム４００は、ロボット１００の全体的重心ＣＧRに対するロボット１００の慣性モーメントを測定したりモニタしたりするようコントローラ５００と通信状態にある慣性測定ユニット（ＩＭＵ）４７０を有するのが良い。
【００８５】
コントローラ５００は、通常の制限のない操作に対応したしきい信号に対するＩＭＵ４７０からのフィードバックのずれをモニタすることができる。例えば、ロボットが直立位置からつんのめり始めた場合、ロボットは、「衣服内張り」され又は違ったやり方で妨害され、或いは、誰かが突然重いペイロードを追加する場合がある。これらの場合、ロボット１００の安全動作を保証するために緊急措置（かかる措置としては、捕らえどころのない操作、再較正及び／又は音声的／視覚的警告の発生を含むが、これらには限定されない）を取ることが必要な場合がある。
【００８６】
ロボット１００は、人間環境で働くことができるので、ロボット１００は、人と対話することができ、そして人向きに設計された空間内で作業することができる（ロボットの制約を顧慮しないで）。ロボット１００は、混雑し、拘束され又は極めて動的な環境内にあるとき、例えば、カクテルパーティ又はせわしない病院においてその駆動速度及び加速度を制限することができる。しかしながら、ロボット１００は、例えば長くて何も置かれていない廊下では比較的迅速に駆動しても安全である状況に遭遇する場合があるが、例えば何かがロボットの運動経路を横切った場合に突然減速することが可能である。
【００８７】
停止から加速すると、コントローラ５００は、ロボットの全体的重心ＣＧRからのロボット１００の慣性モーメントを考慮してロボットがひっくり返るのを阻止することができる。コントローラ５００は、その現在の慣性モーメントを含むその姿勢のモデルを使用することができる。ペイロードを支持する場合、コントローラ５００は、全体的重心ＣＧRに対する荷重の影響を計測してロボット慣性モーメントの運動をモニタすることができる。例えば、胴部１４０及び／又は頸部１５０は、ひずみを測定するためにひずみ計を有するのが良い。これが可能ではない場合、コントローラ５００は、試験登録指令を駆動輪２１０に加えるのが良く、そして安全限度を経験的に定めるためにＩＭＵ４７０を用いてロボットの実際の直線加速度及び角加速度を測定することができる。
【００８８】
突然の減速の際、第２及び第３の駆動輪２１０ｂ，２１０ｃ（後輪）に対する指令された荷重を減少させ、その間、第１の駆動輪２１０ａ（前輪）は、前方駆動方向にスリップし、ロボット１００を支持する。第２及び第３の駆動輪２１０ｂ，２１０ｃ（後輪）の荷重が非対称である場合、ロボット１００は、「偏揺れ（ヨーイング）」し、それにより、動的安定性が低下する。ＩＭＵ４７０（例えば、ジャイロ）を用いると、この偏揺れを検出し、第２及び第３の駆動輪２１０ｂ，２１０ｃに指令を出してロボット１００の向きを向け直すことができる。
【００８９】
図１〜図３、図９及び図１０Ａを参照すると、幾つかの具体化例では、ロボット１００は、ロボット本体１１０の前方部分に取り付けられていて、前方駆動方向Ｆに沿って視野を持つ（例えば、ロボットの駆動方向Ｆに沿って最大のイメージングカバレージを有するよう）走査型３‐Ｄイメージセンサ４５０ａを有する。走査型３‐Ｄイメージセンサ４５０ａは、主として、障害物検出／障害物回避（ＯＤＯＡ）のために使用できる。図示の実施例では、例えば図３に示されているように胴部１４０内に引っ込められた状態で（例えば、底面１４４と面一をなして又はこれを越えて）胴部１４０に肩１４２の下で又は底面１４４上に取り付けられており、それにより、ユーザと走査型３‐Ｄイメージセンサ４５０ａとの接触が阻止されている。走査型３‐Ｄイメージセンサ４５０ａは、障害物検出及び障害物回避（ＯＤＯＡ）のために（例えば、ロボット本体１１０の基部１２０又は他の部分による妨害がある状態で）ロボット１００の前に下向きの視野４５２を有するよう実施的に下方に且つロボット本体１１０から遠ざかる方向に向くよう配置されるのが良い。
走査型３‐Ｄイメージセンサ４５０ａを胴部１４０の前方縁部に又はその近くに配置することにより、３‐Ｄイメージセンサ４５０の視野（例えば、約２８５°）は、３‐Ｄイメージセンサ４５０に対して胴部１４０の外側の表面角度（例えば、３００°）よりも小さいものとすることができ、かくして、胴部１４０が走査型３‐Ｄイメージセンサ４５０ａの検出視野４５２を遮蔽し又は妨害するのが阻止される。さらに、走査型３‐Ｄイメージセンサ４５０ａ（及び関連のアクチュエータ）は、その視野を遮蔽しないで（例えば、美感のためにも且つ障害物に引っ掛かるのを最小限に抑えるために）できるだけ胴部１４０内に引っ込んだ状態で設けられるのが良い。走査型３‐Ｄイメージセンサ４５０ａの注意をそらせてしまうような走査運動は、ユーザの目には見えず、かくして注意をそらすような相互作用の経験が少なくなる。突出したセンサ又は特徴部とは異なり、引っ込んだ状態で設けられた走査型３‐Ｄイメージセンサ４５０ａは、特に動いているとき又は走査しているときに環境と意図しない相互作用（人、障害物等に引っ掛かること）を生じる傾向はないであろう。というのは、胴部１４０のエンベロープを越えて延びる可動部分が事実上ないからである。
【００９０】
幾つかの具体化例では、センサシステム４００は、基部本体１２０、脚部１３０、頸部１５０及び／又は頭部１６０に設けられた追加の３‐Ｄイメージセンサ４５０を有している。図１に示されている実施例では、ロボット１００は、基部本体１２０、胴部１４０及び頭部１６０に設けられた３‐Ｄイメージセンサ４５０を有している。図２に示されている実施例では、ロボット１００は、基部本体１２０、胴部１４０及び頭部１６０に設けられた３‐Ｄイメージセンサ４５０を有している。図９に示されている実施例では、ロボット１００は、脚部１３０、胴部１４０及び頸部１５０に設けられた３‐Ｄイメージセンサ４５０を有している。他の形態も又、採用可能である。１つの３‐Ｄイメージセンサ４５０（例えば、頭部１６０の上方で頸部１５０に取り付けられている）は、人々の認識、ジェスチャの認識及び／又はテレビ会議のために用いることができ、他方、別の３‐Ｄイメージセンサ４５０（例えば、基部１２０及び／又は脚部１３０に取り付けられている）は、ナビゲーション及び／又は障害物検出及び障害物回避のために用いることができる。
【００９１】
頸部１５０及び／又は頭部１６０に設けられた前方に向いた３‐Ｄイメージセンサ４５０がロボット１００の周りの人々の個人の、顔面及び／又はジェスチャの認識のために使用できる。例えば、頭部１６０に設けられた３‐Ｄイメージセンサ４５０からの信号入力を用いて、コントローラ５００は、視認すると共に／或いは捕捉したユーザの顔面の三次元マップを作り、そして作った三次元マップを人々の顔面の既知の３‐Ｄイメージと比較し、そして既知の３‐Ｄ顔面イメージのうちの１つとの一致を確認することによってユーザを認識することができる。顔面認識は、ロボット１００の許容可能なユーザとしてユーザを確証するために使用されるのが良い。さらに、３‐Ｄイメージセンサ４５０のうちの１つ又は２つ以上は、ロボット１００によって視認される個人のジェスチャを判定し、オプションとして、判定したジェスチャ（例えば、手の指差し、手を振って合図すること及び／又は手信号）に基づいて反応するために使用できる。例えば、コントローラ５００は、特定の方向における認識された手の指差しに応答して駆動指令を出すことができる。
【００９２】
図１０Ｂは、カメラ９１０、ソナーセンサ９２０及びレーザレンジファインダ（距離計）９３０を備えたロボット９００の略図であり、カメラ９１０、ソナーセンサ９２０及びレーザレンジファインダ９３０は全て、ロボット本体９０５に取り付けられており、これらは各々、地面Ｇに平行な又は実質的に平行な視野を有している。この構成により、距離を置いたところに位置する物体の検出が可能である。実施例では、レーザレンジファインダ９３０は、地面Ｇの近くの物体を検出し、リング状に配置された超音波センサ（ソナー）９２０は、地面Ｇよりも更に上方に位置する物体を検出し、カメラ９１０は、高い見晴らしの利く位置からシーンの大部分を捕捉する。この設計の重要な特徴は、センサ９１０，９２０，９３０が全て地面Ｇに平行に差し向けられていることにある。この構成の一利点は、センサ９１０，９２０，９３０のうちの１つ又は２つ以上用いて測定される物体までの距離がロボット９００が対応の所与の方向において物体に接触する前にロボット９００が走行することができる距離でもあるという意味でコンピュータ計算を単純化できるということにある。この構成の欠点は、ロボットの周囲の良好なカバレージを得るために、多くのレベルの検出が必要であるということにある。これは、コスト及びコンピュータ計算の観点からは禁止される場合があり、それにより、ロボット９００のセンサ９１０，９２０，９３０全ての感覚視野に大きな隙間が生じる場合が多い。
【００９３】
幾つかの具体化例では、ロボットは、ロボット１００の周りの領域の音響イメージングを得るためのソナースキャナ４６０を有する。図１及び図３に示されている実施例では、ソナースキャナ４６０は、基部本体１２０の前方部分に設けられている。
【００９４】
図１、図３Ｂ及び図１０Ａを参照すると、幾つかの具体化例では、ロボット１００は、検出の万全を期すためにレーザスキャナ又はレーザレンジファインダ４４０並びに安全のために後方に向いたソナー近接センサ４１０ｊを用いており、これらは両方共、地面Ｇに平行に差し向けられている。ロボット１００は、ロボット１００の周りの堅調な検出を可能にするために第１及び第２の３‐Ｄイメージセンサ４５０ａ，４５０ｂ（デプスカメラ）を有するのが良い。第１の３‐Ｄイメージセンサ４５０ａは、地面Ｇに対して一定の角度をなして下方に差し向けられた状態で胴部１４０に取り付けられている。第１の３‐Ｄイメージセンサ４５０ａを下方に傾斜させることによって、ロボット１００は、ロボット１００のすぐ前又はこれに隣接した領域の密なセンサカバレージを受け取り、このカバレージは、前方方向におけるロボット１００の短時間移動に適切である。後方に向いたソナー４１０ｊは、ロボットが後方に移動しているときに物体検出を行う。後方移動がロボット１００にとって一般的である場合、ロボット１００は、ロボット１００のすぐ後方の又はこれに隣接した領域の密のセンサカバレージを提供するよう前後に向いた第３の３‐Ｄイメージセンサ４５０を有するのが良い。
【００９５】
第２の３‐Ｄイメージセンサ４５０ｂは、頸部１５０をパンしたり傾動させたりすることができる頭部１６０に取り付けられている。第２の３‐Ｄイメージセンサ４５０ｂは、遠隔駆動に有用であるのが良い。というのは、これにより、オペレータとしての人が、ロボット１００がどこに行っているかを見ることができるからである。頸部１５０により、オペレータは、第２の３‐Ｄイメージセンサ４５０ｂを傾動させたり／或いはパンしたりして近くの物体と遠くの物体の両方を見ることができる。第２の３‐Ｄイメージセンサ４５０ｂをパンすると、関連の水平視野が広がる。速い走行中、ロボット１００は、第２の３‐Ｄイメージセンサ４５０ｂを僅かに下方に傾けて３‐Ｄイメージセンサ４５０ａ，４５０ｂの両方の全体的又は組み合わせ状態の視野を広げると共にロボット１００が障害物を回避するのに十分な時間を与えることができる（というのは、速い速度は、一般に、物体に対応する時間が短いことを意味するからである）。遅い速度では、ロボット１００は、第２の３‐Ｄイメージセンサ４５０ｂを上方に又は地面Ｇに実質的に平行に傾けてロボット１００がついて行っている人を追跡することができる。さらに、比較的低速で駆動している間、ロボット１００は、第２の３‐Ｄイメージセンサ４５０ｂをパンしてロボット１００の周りのその視野を広げることができる。第１の３‐Ｄイメージセンサ４５０ａは、ロボットがロボットの知覚範囲を広げようと駆動しているとき、固定状態のままであるのが良い（例えば、基部１２０に対して動かないのが良い）。
【００９６】
３‐Ｄイメージセンサ４５０は、以下の形式のデータ、即ち、（ｉ）深度マップ、（ｉｉ）反射率を利用した強度イメージ及び／又は（ｉｉｉ）通常強度のイメージを生成することができる場合がある。３‐Ｄイメージセンサ４５０は、イメージパターン照合、フライトタイムの測定及び／又は源から放出されて標的から反射される光の位相遅れシフトによってかかるデータを得ることができる。
【００９７】
幾つかの具体化例では、プロセッサ（例えば、ロボットコントローラ５００のプロセッサ）上で実行可能な推論又は制御ソフトウェアがセンサシステム４００により生成される種々のタイプのデータを用いて実行されるアルゴリズムの組み合わせを用いる。推論ソフトウェアは、センサシステム４００から集められたデータを処理し、ロボット１００が例えば障害物と衝突しないで動くことができる場所についてのナビゲーション上の決定を行うためのデータを出力する。ロボットの周囲の経時的なイメージングデータの蓄積によって、推論ソフトウェアは、効果的な方法を検出されたイメージの選択されたセグメントに適用して３‐Ｄイメージセンサ４５０の深度測定を向上させることができる。これは、適当な一時的且つ空間的平均化技術の使用を含むのが良い。
【００９８】
ロボットの衝突なしの運動を実行する信頼性は、（ｉ）経時的な高レベル推論によって得られる信頼水準及び（ｉｉ）分析のために３つの主要な形式のデータを蓄積する深度知覚センサに基づくのが良く、かかる３つの主要な形式のデータは、（ａ）深度イメージ、（ｂ）アクティブ照明イメージ及び（ｃ）周囲照明イメージである。種々の形式のデータを認識するアルゴリズムを深度知覚イメージングセンサ４５０により得られたイメージの各々について実行するのが良い。集まったデータは、種々のデータのうちの１つだけを用いたシステムと比較して信頼水準を向上させることができる。
【００９９】
３‐Ｄイメージセンサ４５０は、１つ又は２つ以上の物体を含むロボット１００の周りのシーン（例えば、部屋又は作業領域のセンサ視認部分）から深度及び輝度データを含むイメージを得ることができる。コントローラ５００は、シーンからの反射光の捕捉に基づいて物体に関する占有データを定めるよう構成されているのが良い。さらに、コントローラ５００は、幾つかの実施例では、障害物（即ち、シーン内の物体）を迂回するために少なくとも部分的に占有データに基づいて駆動指令を駆動システム２００に出す。３‐Ｄイメージセンサ４５０は、コントローラ５００によるリアルタイム決定のためにシーン深度イメージを繰り返し捕捉してロボット１００をシーン内の物体に衝突することなくシーン中を進むことができる。例えば、深度イメージデータが３‐Ｄイメージセンサ４５０により得られる速度又は頻度を３‐Ｄイメージセンサ４５０のシャッタ速度によって制御することができる。加うるに、コントローラ５００は、事象トリガ（例えば、センサシステム４００の別のセンサコンポーネント（例えば近接センサ４１０，４２０からの）を受け取り、コントローラ５００に近くに物体があること又は危険があることを知らせる。コントローラ５００は、事象トリガに応答して、３‐Ｄイメージセンサ４５０が深度イメージを捕捉すると共に占有情報を得る頻度を増大させるようにすることができる。
【０１００】
図１１を参照すると、幾つかの具体化例では、３‐Ｄイメージングセンサ４５０は、光をシーン１０、例えばロボット１００の周りの領域（例えば、部屋）に放出する光源１１７２を有する。イメージングセンサ４５０は、光源１１７２に源を発した反射光（例えば、シーン深度イメージとしての）を含むシーン１０からの反射光を捕捉するイメージャ１１７４（例えば、アレイ状に配列された光電性ピクセル１１７４ｐ）を更に有するのが良い。幾つかの実施例では、イメージングセンサ４５０は、放出された反射光及び受け取った反射光をそれぞれ操作する（例えば、スペックルし又は合焦させる）光源レンズ１１７６及び／又は検出器レンズ１１７８を有する。ロボットコントローラ５００又はロボットコントローラ５００と通信状態にあるセンサコントローラ（図示せず）は、イメージャ１１７４（例えば、ピクセル１１７４ｐ）から光信号を受け取ってイメージパターン照合及び／又はイメージャ１１７４により捕捉された反射光のタイムオブフライト特性に基づいてシーン１０内の物体１２に関する深度情報を決定する。
【０１０１】
図１２は、イメージングセンサ４５０を動作させる操作又はステップの例示の構成又は流れ図１２００を提供している。さらに図１０Ａを参照すると、操作は、光をロボット１００の周りのシーン１０に放出するステップ（１２０２）及びシーン１０からの放出光の反射光をイメージャ（例えば、光電性ピクセルのアレイ）上で受け取るステップ（１２０４）を含む。操作は、コントローラ５００がイメージャからの光検出信号を受け取るステップ（１２０６）、光検出信号に由来するイメージデータを用いてシーン１０内の物体１２の１つ又は２つ以上の特徴を検出するステップ（１２０８）及び光検出信号に由来するイメージ深度データを用いてシーン１０内の物体１２の検出特徴の位置を追跡するステップ（１２１０）を更に含む。操作は、光を放出するステップ（１２０２）を繰り返すステップ（１２１２）、光の反射光を受け取るステップ（１２０４）、光検出信号を受け取るステップ（１２０６）、物体の特徴を検出するステップ（１２０８）及び物体特徴の位置をイメージデータ又はイメージ深度データの解像度を増大させると共に／或いは信頼水準を提供するよう物体特徴の位置を追跡するステップ（１２１０）を含むのが良い。
【０１０２】
繰り返しステップ（１２１２）は、比較的高い解像度を得るための比較的遅い速度（例えば、遅いフレーム率）、中間速度又は比較的低い解像度による高い速度で実施できる。
繰り返しステップ（１２１２）の頻度は、ロボットコントローラ５００によって調節可能であるのが良い。幾つかの具体化例では、コントローラ５００は、事象トリガを受け取った際に繰り返しステップ（１２１２）の頻度を増減することができる。例えば、シーン内の提示されたアイテムは、繰り返しステップ（１２１２）の頻度の増大を生じさせてシーン１０内の場合によっては目立っている物体１２（例えば、出入口、敷居又はクリフ）を検出するようにする事象をトリガすることができる。追加の実施例では、検出物体１２相互間の経過時間事象により、繰り返しステップ（１２１２）の頻度が遅くなり又は所与の期間にわたって停止する場合がある（例えば、別の事象によって起こされるまでスリープ状態になる）。幾つかの実施例では、シーン１０内の物体１２の１つ又は２つ以上の検出ステップ（１２０８）は、特徴検出事象をトリガし、それによりイメージ深度データが得られる速度を増大させるために繰り返しステップ（１２１２）の頻度を比較的高くする。
イメージ深度データの比較的高い収集速度は、シーン内における比較的確実な特徴の追跡を可能にする。
【０１０３】
操作は、シーン１０内の物体１２を迂回するためのナビゲーションデータを出力するステップ（１２１４）を更に含む。幾つかの具体化例では、コントローラ５００は、出力されたナビゲーションデータを用いて駆動指令を駆動システム２００に出し、それによりロボット１００を物体１２との衝突を避ける仕方で動かす。
【０１０４】
幾つかの具体化例では、センサシステム４００は、ロボット１００の周りのシーン１０内の多数の物体１２を検出し、コントローラ５００は、検出した物体１２の各々の位置を追跡する。コントローラ５００は、ロボット１００の周りの領域、例えば部屋の境界付けられた領域内の物体１２の占有マップを作成することができる。コントローラ５００は、センサシステム４００のイメージ深度データを用いてシーン１０を占有マップの一部分と照合し、占有マップを追跡した物体１２の存在場所で更新することができる。
【０１０５】
図１３を参照すると、幾つかの具体化例では、３‐Ｄイメージセンサ４５０は、三次元（３‐Ｄ）スペックルカメラ１３００を有し、このスペックルカメラは、スペックル非相関性によりイメージマッピングを可能にする。スペックルカメラ１３００は、スペックルパターンをシーン１０（標的領域として）中に放出するスペックルエミッタ１３１０（例えば、赤外線紫外線及び／又は可視光の）及びシーン１０内の物体１２の表面上のスペックルパターンのイメージを捕捉するイメージャ１３２０を有する。
【０１０６】
スペックルエミッタ１３１０は、光のビームを反射及びかくして投影のためにシーン１０中へのスペックルパターンとしてディフューザ１３１４中に、そして反射器１３１６に放出する光源１３１２、例えばレーザを有するのが良い。イメージャ１３２０は、対物光学素子センサ１３２２を有するのが良く、この対物光学素子は、光検出器１３２６のアレイを有するイメージセンサ１３２４、例えばＣＣＤ例えばＣＭＯＳ技術利用イメージセンサにイメージを集束させる。スペックルエミッタ１３１０及びイメージャ１３２０の光軸が例えば非相関モードでは同一直線上に位置するものとして示されているが、スペックルエミッタ１３１０及びイメージャ１３２０の光軸は、非同一直線上にあっても良く、他方、例えば相互相関モードでは、イメージング軸は、放出軸からずれるようになる。
【０１０７】
スペックルエミッタ１３１０は、スペックルパターンをシーン１０中に放出し、イメージャ１３２０は、スペックルエミッタ１３１０から種々の物体距離Ｚnのレンジ（例えば、Ｚ軸がイメージャ１３２０の光軸により定めることができる場所）でシーン１０内のスペックルパターンの基準イメージを捕捉する。図示の実施例では、投影されたスペックルパターンの基準イメージは、原点から種々のそれぞれの距離を置いたところで、例えばＺ1，Ｚ2，Ｚ3と印付けられた基準場所等のところの一連の平面で捕捉される。基準イメージ相互間の差ΔＺは、しきい距離（例えば、５ｍｍ）のところに設定可能であり又はコントローラ５００によって調節可能であるのが良い（例えば、トリガされた事象に応答して）。スペックルカメラ１３００は、捕捉した基準イメージをアーカイブしてこれらをそれぞれの放出距離に割り送りし、それによりスペックルエミッタ１３１０からの距離とのスペックルパターンの非相関を可能にし、それにより次のイメージで捕捉された物体１２の測距を可能にする。ΔＺが隣り合う基準距離Ｚ1，Ｚ2，Ｚ3，．．．相互間の距離にほぼ等しいと仮定すると、場所ＺAのところの物体１２に対するスペックルパターンを例えばＺ2のところで捕捉されたスペックルパターンの基準イメージに相関させることができる。他方、ＺBのところの物体１２に対するスペックルパターンを例えばＺ3のところの基準イメージに相関させることができる。これら相関測定値により、原点からの物体１２の適当な距離が与えられる。物体１２を三次元でマップするため、スペックルカメラ１３００又はスペックルカメラ１３００から情報を受け取るコントローラ５００は、最も近い照合を与えた基準イメージとの局所相互相関性を用いることができる。
【０１０８】
本明細書において説明した細部及び特徴と組み合わせることができる例えば三角形分割又は非相関性を用いるスペックル相互相関性によってスペックル測距を使用する３‐Ｄイメージマッピングに関する他の細部及び特徴は、国際出願ＰＣＴ／ＩＬ２００６／０００３３５号明細書に見られ、この国際出願を参照により引用し、その記載内容全体を本明細書の一部とする。
【０１０９】
図１４は、スペックルカメラ１３００を動作させる操作又はステップの例示の構成又は流れ図１４００を示している。操作は、スペックルパターンをシーン１０中に放出するステップ（１４０２）及びスペックルエミッタ１３１０から種々の距離を置いたところで基準イメージ（例えば、基準物体１２の基準イメージ）を捕捉するステップ（１４０４）を含む。操作は、スペックルパターンをシーン１０内の標的物体１２に放出するステップ（１４０６）及び物体１２上のスペックルパターンの標的イメージを捕捉するステップ（１４０８）を更に含む。操作は、標的イメージ（スペックル物体の標的イメージ）を種々の基準画像と比較して標的物体１２上のスペックルパターンと最も相関の強い基準パターンを識別するステップ（１４１０）及びシーン１０内の標的物体１２の推定距離レンジを求めるステップ（１４１２）を更に含む。これは、物体１２上の主要スペックルパターンを突き止めるステップ及び物体１２上の主要スペックルパターンと相関の最も強いスペックルパターンを有する基準イメージを見出すステップを更に含む。距離レンジを基準イメージの対応の距離から求めることができる。
【０１１０】
操作は、オプションとして、例えばシーン内の物体１２の存在場所を突き止めるために物体１２上のスペックルパターンと識別された基準パターンとの局所相互相関性によって物体１２の表面の３‐Ｄマップを作成するステップ（１４１４）を含む。これは、物体１２上の主要スペックルパターンを突き止めるステップ及び標的イメージ中の物体１２の多数の領域上の主要スペックルパターンと識別された基準イメージ中の主要スペックルパターンとのそれぞれのオフセットを見出して物体の三次元（３‐Ｄ）マップを導き出すステップを含むのが良い。シーンの３‐Ｄマッピングのためのソリッドステートコンポーネントの使用により、ロボットナビゲーションシステムのための比較的安価な手段が得られる。
【０１１１】
代表的には、種々のそれぞれの距離のうちの少なくとも幾つかは、それぞれの距離のところの主要スペックルパターンの軸方向長さよりも長い距離だけ軸方向に隔てられている。標的イメージを基準イメージと比較するステップは、標的イメージと基準イメージのうちの少なくとも幾つかの各々とのそれぞれの相互相関性をコンピュータ計算するステップ及び標的イメージとの最も強いそれぞれの相互相関性を有する基準イメージを選択するステップを含むのが良い。
【０１１２】
操作は、ステップ（１４０２〜１４１２）又はステップ（１４０６〜１４１２）を繰り返しするステップ（１４１６）及びオプションとしてシーン１０内の物体１２の運動を追跡するステップ（１４１４）（例えば、連続的に）を含むのが良い。例えば、スペックルカメラ１３００は、物体１２が基準イメージとの比較とのために動いている間、一連の標的イメージを捕捉することができる。
【０１１３】
本明細書において説明する細部及び特徴と組み合わせ可能なスペックル測距を用いる３‐Ｄイメージマッピングに関する他の細部及び特徴は、米国特許第７，４３３，０２４号明細書、米国特許出願公開第２００８／０１０６７４６号明細書（発明の名称：Depth-varying light fields for three dimensional sensing）、米国特許出願公開第２０１０／０１１８１２３号明細書（発明の名称：Depth Mapping Using Projected Patterns）、米国特許出願公開第２０１０／００３４４５７号明細書（発明の名称：Modeling Of Humanoid Forms From Depth Maps）、米国特許出願公開第２０１０／００２００７８号（発明の名称：Depth Mapping Using Multi-Beam Illumination）、米国特許出願公開第２００９／０１８５２７４号明細書（発明の名称：Optical Designs For Zero Order Reduction）、米国特許出願公開第２００９／００９６７８３号（発明の名称：Three-Dimensional Sensing Using Speckle Patterns）、米国特許出願公開第２００８／０２４０５０２号（発明の名称：Depth Mapping Using Projected Patterns）及び米国特許出願公開第２００８／０１０６７４６号（発明の名称：Depth-Varying Light Fields For Three Dimensional Sensing）に見受けられ、これら特許文献を参照により引用し、これらの記載内容全体を本明細書の一部とする。
【０１１４】
図１５を参照すると、幾つかの具体化例では、３‐Ｄイメージングセンサ４５０は、深度イメージデータを得るための３‐Ｄタイムオブフライト（ＴＯＦ）カメラ１５００を有する。３‐Ｄ・ＴＯＦカメラ１５００は、光源１５１０、相補型金属酸化膜半導体（ＣＭＯＳ）センサ１５２０（又は電荷結合素子（ＣＣＤ））、レンズ１５３０及び光源１５１０及びＣＭＯＳセンサ１５２０と連絡状態にある処理リソース（資源）（及び／又はロボットコントローラ５００）を備えた制御論理又はカメラコントローラ１５４０を有する。
光源１５１０は、周期的高周波数信号により調整される強度を備えたレーザ又は発光ダイオード（ＬＥＤ）であるのが良い。幾つかの実施例では、光源１５１０は、集束レンズ１５１２を有する。ＣＭＯＳセンサ１５２０は、アレイ状に配置されたピクセル検出器１５２２又は他の配置構成のピクセル検出器１５２２を有するのが良く、この場合、各ピクセル検出器１５２２は、これに当たったフォトニックエネルギーの強度及び位相を検出することができる。幾つかの実施例では、各ピクセル検出器１５２２は、関連のピクセル検出器１５２２の検出電荷出力を処理する専用検出器回路１５２４を有する。レンズ１５３０は、関心のある１つ又は２つ以上の物体１２を含むシーン１０から反射された光をＣＭＯＳセンサ１５２０上に集束又は合焦させる。カメラコントローラ１５４０は、ＣＭＯＳセンサ１５２０により得られたピクセルデータを深度マップ及び輝度イメージにフォーマットする一連の操作を提供する。幾つかの実施例では、３‐Ｄ・ＴＯＦカメラ１５００は、入力／出力（ＩＯ）１５５０（例えば、ロボットコントローラ５００と連絡状態にある）、メモリ１５６０及び／又はカメラコントローラ１５４０及び／又はピクセル検出器１５２２（例えば、検出器回路１５２４）と連絡状態にあるクロック１５７０を更に有している。
【０１１５】
図１６は、３‐Ｄ・ＴＯＦカメラ１５００を操作する操作又はステップの例示の流れ図１６００を示している。操作は、光パルス（例えば、赤外線、紫外線及び／又は可視光）をシーン１０中に放出するステップ（１６０２）及び光パルスの飛行時間のタイミングを開始する（例えば、クロック１５７０のクロックパルスをカウントすることにより）ステップ（１６０４）を含む。操作は、シーン１０内の物体１２の１つ又は２つ以上の表面からの放出光の反射光を受け取るステップ（１６０６）を含む。反射光は、光源１５１０から種々の距離Ｚnのところに位置する物体１２の表面からの反射光であるのが良い。反射光は、レンズ１５３０を通ってＣＭＯＳセンサ１５２０のピクセル検出器１５２２上に受け取られる。操作は、ＣＭＯＳセンサ１５２２の対応の各ピクセル検出器１５２２上で受け取られた各光パルス反射光に関するタイムオブフライトを受け取るステップ（１６０８）を含む。光パルスのラウンドトリップ飛行時間（ＴＯＦ）の間、それぞれの各ピクセル検出器１５２２の検出器回路１５２３のカウンタは、クロックパルスを蓄積する。多数の蓄積されたクロックパルスは、長いＴＯＦを表し、それ故に、イメージングされた物体１２上の光反射箇所と光源１５０との間の長い距離を表している。操作は、受け取った各光パルス反射光に関する物体１２の反射面相互間の距離を求めるステップ（１６１０）及びオプションとして三次元物体表面を構築するステップ（１６１２）を更に含む。幾つかの具体化例では、操作は、ステップ（１６０２〜１６１０）を繰り返すステップ（１６１４）及びオプションとしてシーン１０内の物体１２の運動を追跡するステップ（１６１２）を含む。
【０１１６】
本明細書において説明する細部及び特徴と組み合わせ可能な３‐Ｄタイムオブフライトイメージングに関する他の細部及び特徴は、米国特許第６，３２３，９４２号明細書（発明の名称：CMOS Compatible 3-D Image Sensor）、米国特許第６，５１５，７４０号明細書（発明の名称：Methods for CMOS-compatible Three-Dimensional Image Sensing Using Quantum Efficiency Modulation）、国際出願ＰＣＴ／ＵＳ０２／１６６２１号明細書（発明の名称：Method and System to Enhance Dynamic Range Conversion Usable with CMOS Three-Dimensional Imaging）に見受けられ、これら特許文献を参照により引用し、これらの記載内容全体を本明細書の一部とする。
【０１１７】
幾つかの具体化例では、３‐Ｄイメージングセンサ４５０は、次の３つの形式の情報、即ち、（１）深度情報（例えば、ＣＭＯＳセンサ１５２０の各ピクセル検出器１５２２からシーン１２上の対応の場所まで）、（２）各ピクセル検出器配置場所のところの周辺光強度及び（３）各ピクセル検出器配置場所のところのアクティブ照明強度を提供する。深度情報により、検出した物体１２の位置を特にロボット展開場所に対する物体の近接性に関して経時的に追跡することができる。アクティブ照明強度及び周辺光強度は、互いに異なる形式の輝度イメージである。アクティブ照明強度は、標的物体１２で反射されたアクティブ光（例えば、光源１５１０により提供される）の反射光から捕捉される。周辺光イメージは、標的物体１２で反射された周辺光のものである。２つのイメージは、一緒になって、特に照明条件が貧弱である場合（例えば、暗すぎる又は過度に高い周辺照明）、追加の堅調さを提供する。
【０１１８】
イメージセグメント化及び分類アルゴリズムを用いると、シーン１０内の物体１２の位置を分類すると共に検出することができる。これらアルゴリズムにより提供される情報並びにイメージングセンサ４５０から得られる距離測定情報は、ロボットコントローラ５００又は他の処理リソースによって使用できる。イメージングセンサ４５０は、タイムオブフライト原理で動作することができ、具体的に説明すると、周辺光を濾波するフォトダイオードの感度を調節する技術を含むシーン１０から反射された調整された光パターン中の検出可能な位相遅れに基づいて動作することができる。
【０１１９】
ロボット１００は、１）マッピング、存在場所突き止め及びナビゲーション、２）物体検出及び物体回避（ＯＤＯＡ）、３）物体ハンティング（例えば、人を見出すために）、４）ジェスチャ認識（例えば、コンパニオンロボットのため）、５）人々及び顔面検出、６）人々追跡、７）ロボット１００による物体の操作のモニタ及びロボット１００の自律的動作のための他の適当なアプリケーションのためにイメージングセンサ４５０を使用することができる。
【０１２０】
幾つかの具体化例では、３‐Ｄイメージセンサ４５０のうちの少なくとも１つは、地面よりも１フィート（３０．５ｃｍ）又は２フィート（６１．０ｃｍ）以上、上方の高さ位置のところでロボット１００に取り付けられると共にロボットの移動方向において床平面を含む空間ボリュームから点群を得ることができる（全方向性駆動システム２００により）差し向けられたボリューム形点群イメージング装置（例えば、スペックル又はタイムオブフライトカメラ）であるのが良い。図１及び図３に示されている実施例では、第１の３‐Ｄイメージセンサ４５０ａは、地面よりも１又は２フィート以上、上方の高さ位置（又は、地面よりも約１又は２フィートの高さ）のところで基部１２０に取り付けられると共に駆動しながら（例えば、物体検出及び物体回避のために）床を含むボリュームのイメージ（例えば、ボリューム的点群）を捕捉するために前方駆動方向Ｆに沿って差し向けられるのが良い。第２の３‐Ｄイメージセンサ４５０ｂは、ロボット１００に隣接して位置する空間ボリュームから骨組み認識及びデフィニション点群を得ることができるよう頭部１６０に（例えば、地面よりも約３フィート（９１．５ｃｍ）又は４フィート（１２２．０ｃｍ）以上、上方の高さ位置のところで）取り付けられた状態で示されている。コントローラ５００は、骨組み／ディジタル認識ソフトウェアを実行して捕捉されたボリューム形点群のデータを分析することができる。
【０１２１】
周辺光条件とは無関係にイメージングセンサ４５０を用いて物体１２を正しく検出することが重要な場合がある。多くの環境において、照明条件は、直接の太陽光から明るい蛍光照明、そして薄暗い陰までの広い範囲に及び、その結果、物体１２の表面テキスチャ及び基本的反射率の大幅な変化が生じる。照明は、所与の場所内において、更にシーン１０毎に様々であって良い。幾つかの具体化例では、イメージセンサ４５０は、周辺光条件からの影響を比較的少なくした状態で（例えば、周辺光拒否）あらゆる状況において人と物体１２を識別すると共に解像するために使用されるのが良い。
【０１２２】
幾つかの具体化例では、イメージングセンサ４５０のＶＧＡ解像度は、６４０水平ピクセル×４８０水平ピクセルであるが、他の解像度、例えば３２０×２４０（例えば、短距離センサの場合）も又採用可能である。
【０１２３】
イメージングセンサ４５０は、パルスレーザ及び指定された範囲内でのみ物体１２を見るよう時間領域内において帯域フィルタとして働くカメラ絞りを有するのが良い。イメージングセンサ４５０の可変絞りを用いると、種々の距離のところで物体１２を検出することができる。さらに、パルス化高出力レーザを屋外用途に用いることができる。
【０１２４】
表１及び表２（以下に掲載されている）は、種々の用途に関するイメージングセンサ４５０の例示の特徴、パラメータ及び／又は使用を提供している。センサ１は、汎用イメージングセンサ４５０として用いられるのが良い。センサ２，３は、人との対話ロボットに取り付けて用いられるのが良く、センサ４，５は、カバレージ又は清掃用ロボットに取り付けて用いられるのが良い。
【０１２５】
【表１】
2014195868.tif 000003
表１
【表２】
2014195868.tif 000004
表２
【０１２６】
最小センサ待ち時間により、物体１２をロボット１００が動いているときに回避するに足るほど迅速に見えることができるようになる。イメージングセンサ４５０の待ち時間は、検出されると共に認識されたユーザジェスチャに対するリアルタイムの反応の際における要因であるのが良い。幾つかの実施例では、イメージングセンサ４５０は、約４４ミリ秒の待ち時間を有する。イメージングセンサ４５０により捕捉されるイメージは、属性タイムスタンプを意味するのが良く、かかる属性タイムスタンプは、空間内で並進又は回転している間にイメージが撮像されたロボットポーズを決定するために使用できる。
【０１２７】
コントローラ５００と通信状態にあるシリアル周辺インターフェースバス（ＳＰＩ）をイメージングセンサ４５０との通信のために使用されるのが良い。イメージングセンサ４５０のためにＳＰＩインターフェースを用いることによっては、マルチノード分散型センサ／アクチュエータシステムのためのその使用が制限されるわけでなく、Ethernet利用可能装置、例えばマイクロプロセッサ又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ）との結合が可能であり、かかる装置により、この場合、２０１０年２月１６日に出願された米国特許出願第６１／３０５，０６９号明細書（発明の名称：Mobile Roboto Communication System）に記載されているようにEthernet及びEtherIOシステムによりデータが利用可能になり、この特許文献を参照により引用し、その記載内容全体を本明細書の一部とする。
【０１２８】
ＳＰＩは、制限されたプロトコルなので、イメージ捕捉を実行する際にストローブし又は移行するイメージングセンサ４５０へのインターフェースに割込みピンが利用可能であるのが良い。割込みピンは、フレームを捕捉したときにコントローラ５００との通信を可能にする。これにより、コントローラ５００は、データをいつでも読み取ることができるということを知ることができる。追加的に、割込みピンは、イメージを撮像した時点を指示するタイムスタンプを捕捉するためにコントローラ５００によって使用可能である。イメージングセンサ４５０のイメージング出力は、タイムスタンプされるのが良く（例えば、コントローラ５００のグローバルクロックによって）、これは、待ち時間を補償するために参照可能である。さらに、多数のイメージングセンサ４５０（例えば、シーン１０の種々の部分の）からのタイムスタンプされたイメージング出力を同期させて組み合わせることができる（例えば、互いに縫い合わせることができる）。EtherIOシステムにより、割込み時間（割込みピンに関する）を捕捉してEtherIOシステムの高レベル装置及びソフトウェアに利用できるようにするのが良い。ロボット１００は、クロック同期化方式を実行するマルチノード分散型センサ／アクチュエータシステム、例えばＩＥＥＥ１５８８を有するのが良く、本発明者は、かかるＩＥＥＥ１５８８をイメージングセンサ４５０から捕捉されたデータに適用することができる。
【０１２９】
ＳＰＩインターフェースとEtherIOの両方は、メモリアドレス駆動インターフェースであるのが良い。例えばバイト／ワード（語）／ダブルワード（倍長語）のデータをＳＰＩインターフェースを介してイメージングセンサ４５０から読み取ることができ、そしてEtherIOシステムのメモリ空間で利用できる。例えば、ＦＰＧＡ内に設けられた局部レジスタ及びメモリ、例えばダイレクトメモリアクセス（ＤＭＡ）メモリを用いると、EtherIOシステムのEtherIOノードを制御することができる。
【０１３０】
幾つかの場合、ロボット１００は、左右に又は側方にイメージングセンサ４５０を走査する必要のある場合がある（例えば、物体１２又は遮蔽部１６（図１７Ａ）の周りを見るために）。差動的に操舵されるロボット１００の場合、これは、ロボット１００を定位置で駆動システム２００により回転させ又はイメージングセンサ４５０と関連した鏡、プリズム、可変角度マイクロミラー若しくはＭＥＭＳミラーアレイを回転させる場合を含むのが良い。
【０１３１】
３６０°よりも小さい視認角度θVを有するイメージングセンサ４５０の視野４５２を光学素子、例えば全方向性、フィッシュアイ、カタディオプトリック（例えば、放物面鏡、テレセントリックレンズ）、パナモルフ（panamorph）ミラー及びレンズによって３６０°に拡大可能である。コントローラ５００は、とりわけ測距のためにイメージングセンサ４５０を利用することができるが、必ずしも人により視認可能なイメージ又は映像（例えば、人とのコミュニケーションのため）のために使用されるわけではないので、光源１１７２の照明のディストーション（例えば、ワーピング）及び／又は光学素子によるイメージャ１１７４（図１１）によるイメージ捕捉は、測距のために許容できる（例えば、３‐Ｄスペックルカメラ１３００及び／又は３‐Ｄ・ＴＯＦカメラ１５００を用いた場合のように）。
【０１３２】
幾つかの場合において、イメージングセンサ４５０は、黒い物体１２、変化アルベドの表面、反射率の高い物体１２、強固な３‐Ｄ構造体、自己相似性若しくは周期的構造体又は視野４５２のところ又はこれをすぐ越えたところに位置する物体（例えば、水平及び垂直視野角度のところ又はその外側）を認識して測距するのに困難を伴う場合がある。かかる場合、センサシステム４００の他のセンサを用いると、イメージングセンサ４５０を補完し又はイメージングセンサ４５０の冗長手段として働くよう使用できる。
【０１３３】
幾つかの具体化例では、光源１１７２（例えば、３‐Ｄスペックルカメラ１３００及び／又は３‐Ｄ・ＴＯＦカメラ１５００の）は、赤外線（ＩＲ）レーザ、ＩＲパターン照明器又は他のＩＲ照明器を有する。黒色の物体、特に黒色の布又はカーペットは、ＩＲを吸収することができ、したがって、イメージャ１１７４による認識に十分な強力な反射光を戻すことができない。この場合、二次検出モード（例えば、ソナー）か又は表明アルベド差のための自動較正技術かのいずれかが黒色物体の認識度を向上させるために必要な場合がある。
【０１３４】
屈折率の高い物体１２又は正反射強調が相当高い物体１２（例えば、円柱状又は球状）は、イメージングセンサ４５０にとって測距を困難にする場合がある。同様に、イメージングセンサ４５０が検出している光の波長に極めて吸収性の高い物体１２は、同様な問題を提起する場合がある。ガラスで作られている物体１２、例えばドアや窓は、反射性が極めて高い場合があり、測距された場合、これらが自由空間（有限距離）であるかの如く見えるか第１の非鏡面状反射面への反射光として測距する。これにより、ロボット１００は、物体１２を障害物としては見ず、その結果、ロボット１００は、窓又はドアと衝突する場合があり、それによりロボット又は物体１２の損傷が生じる恐れがある。これを回避するため、コントローラ５００は、代表的な窓ガラス又は出入口の寸法形状（直線から成る）にマッチする表面の不連続部を探す１つ又は２つ以上のアルゴリズムを実行するのが良い。すると、これら表面は、自由空間ではなく障害物であると推定される場合がある。ロボットの経路中の反射性物体を検出する別の具体化例は、それ自体の反射光を検出する反射センサを用いることである。障害物又は物体１２の注意深い接近時、反射センサを用いて鏡面反射性物体が前にあるかどうか又はロボットが安全に空間を占有しているかどうかを判定することができる。
【０１３５】
３‐Ｄスペックルカメラ１３００の場合、光源１３１０は、反射性の高い物体１２の表面上で認識可能なパターンを形成しないようになる場合があり、或いはイメージャ１３２０は、反射性の高い物体１２からのスペックル反射光を認識しない場合がある。３‐Ｄ・ＴＯＦカメラ１５００の場合、反射性の高い物体１２は、３‐Ｄ・ＴＯＦカメラ１５００が物体１２中で反射された別の物体１２までの（物体それ自体までではない）レンジ又は距離を得る多経路状況を生じさせる場合がある。ＩＲ故障モードを治すため、センサシステム４００は、音響飛行時間、ミリメートル波レーダ、シーン１０内のほんの僅かな反射光を用いることができるステレオ又は他のビジョン技術を採用するのが良い。
【０１３６】
メッシュ物体１２は、イメージングセンサ４５０にとって測距を困難にする場合がある。特定の多孔率のメッシュのすぐ後ろに物体１２が存在していない場合、メッシュは、中実障害物１２として見えるであろう。しかしながら、物体１２がメッシュの後ろに移動した場合及び３‐Ｄスペックルカメラ１３００の場合、スペックルは、メッシュの後ろで物体１２から反射することができ、物体は、たとえこれがメッシュの後ろに位置した場合であってもメッシュではなく、深度マップ中に見えることになる。メッシュの識別にあらかじめ寄与した箇所に関する情報が利用できる場合（物体１２がメッシュの後ろに移動する前）、かかる情報を用いると、将来の占有マップにメッシュの位置を登録することができる。様々な距離での受け取りスペックルマップルの確率的相関に関する情報を受け取ることにより、コントローラ５００は、イメージングセンサ４５０と一線をなす多数の多孔質又はメッシュ状物体１２の存在場所を突き止めることができる。
【０１３７】
コントローラ５００は、カラー（色）／サイズ／寸法ブロブ照合のためにイメージングセンサ４５０からのイメージングデータを利用することができる。シーン１０内における別々の物体１２の識別により、ロボット１００は、衝突を回避するだけでなく物体１２を探すことも可能である。ヒューマンインターフェースロボット１００は、家又はオフィス環境の背景に対して人及び標的物体１２を識別することが必要な場合がある。コントローラ５００は、深度マップが単一のグレースケールマップであって同一の「カラー」（即ち、深度の連続性）を探してシーン１０内の連続物体１２を生じさせるかの如くイメージングセンサ４５０のイメージングデータに由来する深度マップに対して１つ又は２つ以上のカラーマップブロブ発見アルゴリズムを実行することができる。カラーマップを用いて物体１２をどのようにセグメントするかについての決定を強化することにより、色空間並びに深度空間のセグメント化を可能にすることにより物体照合が一段と強化される。コントローラ５００は、先ず最初に、深度により物体１２を検出することができ、次に、色により物体１２を一段とセグメント化することができる。これにより、ロボット１００は、互いに異なる光学品質で互いに近い又は互いに当たっている２つの物体１２を識別することができる。
【０１３８】
センサシステム４００が物体検出のためにイメージングセンサ４５０（例えば、カメラ）を１つしか備えていない具体化例では、イメージングセンサ４５０は、シーンテキスチャのない場合に表面を画像化する上で問題があり、シーンのスケールを分析することができない場合がある。さらに、物体１２の鏡及び／又は鏡面強調により、イメージャ１１７４の一群のピクセル１１７４ｐの飽和（例えば、捕捉したイメージの対応部分の飽和）が生じる場合があり、カラーイメージでは、鏡面強調は、異なる視点によっては別々に見える場合があり、それにより例えばスペックルカメラ１３００についてイメージ照合が阻害される。
【０１３９】
物体検出のための２つ又は３つ以上のセンサを用い又は集めることにより、比較的堅固であり且つ冗長度の高いセンサシステム４００を提供することができる。例えば、フラッシュＬＡＤＡＲは、一般に低いダイナミックレンジを有し、回転スキャナは一般に、長い検査時間を必要とするが、これらの形式のセンサは、物体検出には有用である場合がある。幾つかの具体化例では、センサシステム４００は、コントローラ５００と連絡状態にあるイメージングセンサ４５０（例えば、３‐Ｄスペックルカメラ１３００及び／又は３‐Ｄ・ＴＯＦカメラ１５００）に加えて、フラッシュＬＡＤＡＲ及び／又は回転スキャナを有する。コントローラ５００は、イメージングセンサ４５０及びフラッシュレーザレーダ及び／又は回転スキャナからの検出信号を用いて物体１２を識別し、ロボット１００からの物体１２の距離を求め、物体１２の表面の３‐Ｄマップを作成すると共に／或いは占有マップ１７００を作成し又はアップデートすることができる。３‐Ｄスペックルカメラ１３００及び／又は３‐Ｄ・ＴＯＦカメラ１５００を用いると、測距を初期化し、低テキスチャの領域を埋め、深度不連続部を検出すると共に／或いはスケールを固定することによってカラー又はステレオカメラの弱点に取り組むことができる。
【０１４０】
３‐Ｄスペックルカメラ１３００を用いた実施例では、スペックルエミッタ１３１０により放出されるスペックルパターンは、イメージャ１３２０に対して回転不変性であるのが良い。さらに。３‐Ｄスペックルカメラ１３００及び／又は３‐Ｄ・ＴＯＦカメラ１５００と同時に用いられる追加のカメラ１３００（カラー又はステレオカメラ）は、エゴ回転、傾動、透視及び／又はスケール（距離）を取り扱うのに幾分かの又は完全にスケール回転アフィン不変性である特徴部検出器を採用するのが良い。スケール不変性特徴変換（又はＳＩＦＴ）は、イメージ中の局所特徴部を検出すると共に／或いは説明するためのアルゴリズムである。ＳＩＦＴは、物体認識、ロボットマッピング及びナビゲーション、３‐Ｄモデル化、ジェスチャ認識、映像追跡及び照合移動のためにコントローラ１４０（センサシステム１３０からのデータを用いる）によって使用可能である。ＳＩＦＴは、スケール不変性、回転不変性変換として、シーン１０内の特徴部に対するサインの配置を可能にすると共にシーン１０内の識別された特徴部が遠くに位置し又はこれらを回転させた場合であってもシーン１０内の識別された特徴部を再び得るのを助けることができる。例えば、通常のイメージに対するＳＩＦＴの適用により、移動した物体１２（例えば、顔面又はボタン若しくは何らかのテキスト）の認識を可能にし、物体１２が同一の輝度又はカラーパターンを有し、大きくなったか又は小さくなったか或いは回転したかが識別される。
アフィン不変性であり、物体１２を角度から識別するためのスキュー又はディストーションを説明することができる変換のうちの他のものを採用することができる。センサシステム４００及び／又はコントローラ５００は、ＳＩＦＴ、ＲＩＦＴ、アフィンＳＩＦＴ、ＲＩＦＴ、Ｇ‐ＲＩＦ、ＳＵＲＦ、ＰＣＡ‐ＳＩＦＴ、ＧＬＯＨ．ＰＣＡ‐ＳＩＦＴ、ＳＩＦＴｗ／ＦＡＳＴ曲がり角検出及び／又はスケール変更可能なボキャブラリーツリー及び／又はＳＩＦＴｗ／Irregular Orientation Histogram Binningを採用することによりスケール不変性特徴部認識（例えば、カラー又はステレオカメラによる）を提供することができる。
【０１４１】
幾つかの具体化例では、コントローラ５００は、物体検出及び／又は識別のためにＳＩＦＴ及び／又は他の変換を採用するプログラム又はルーチンを実行する。コントローラ５００は、イメージセンサ４５０又はＩＲカメラからのイメージデータ、例えば色、黒色及び白色を受け取ることができる。幾つかの実施例では、イメージセンサ４５０は、スペックル測距の利点なく特徴部を識別するためにスペックル照明なしでイメージデータを提供することができる３‐ＤスペックルＩＲカメラである。コントローラ５００は、スペックル測距からの３‐Ｄシーンに先にマップされた特徴部又は物体１２を識別し又はタグ付けすることができる。深度マップを用いると、カメラでイメージ化された特徴部に適用されるＳＩＦＴの認識率をフィルタ処理して向上させることができると共に／或いはスケール不変性を単純化することができる（レンジ中の運動と変化の両方が既知であり、スケールに関連付けることができるので）。ＳＩＦＴ状変換は、フレーム毎に位置変化について標準化されると共に／或いはシフトされた深度マップデータに有用である場合があり、慣性追跡、オドメトリ（odometry）、固有感覚性及び／又はビーコン基準を備えたロボットは、かかる深度マップデータを追跡することができる。例えば、スケール及び回転不変性に適用される変換は、深度マップが特徴部の方向に運動量だけ割送りされた場合、深度マップの局部特徴を認識する上で依然として有効な場合がある。
【０１４２】
本明細書において説明すると細部及び特徴と組み合わせ可能な３‐ＤデータへのＳＩＦＴ状又は他の特徴記述子に対する他の細部及び特徴は、セ・エス（Se S），ローヴェ（Lowe），デビッド・ジー（David G），リトル・ジェイ（Little J），「ビジョン‐ベースド・モビル・ロボット・ローカリゼーション・アンド・マッピング・ユージング・スケール‐フィーチャーズ（Vision-based mobile robot localization and mapping using scale-invariant features）」，プロシーディングス・オブ・ジ・インスティトュート・オブ・エレクトリカル・アンド・エレクトロニック・エンジニアズ・インターナショナル・カンファレンス・オン・ロボティックス・アンド・オートメーション（アイ・シー・アール・エー）（Proceedings of the IEEE International Conference on Robotics and Automation（ICRA）），２００１年，ｐ．２０５１又はエフ・ロサゲンジャー（F Rothganger），エス・レイズブニック（S Lasebnik），シー・シュミット（C Schmid）及びジェイ・ポンセ（J Ponce），「スリーディー・オブジェクト・モデリング・アンド・リカグニシャン・ユージング・ローカル・アフィン‐インヴァリアント・イメージ・ディスクリプターズ・アンド・マルチ‐ビュー・スペーシャル・カンストレインズ（3D Object Modeling and Recognition Using Local Affine-Invariant Image Descriptors and Multi-View Spatial constrains）」，インターナショナル・カンファレンス・オン・コンピュータ・ビジョン（ＩＣＣＶ），２００４年、イルナ・ゴルドン（Iruna Gordon）及びデビッド・ジー（David G），ローヴェ（Lowe），「ワット・アンド・ホェア：スリーディー・オブジェクト・リカグニシャン・ウィズ・アキュレート・ポーズ（What and where:3D object recognition with accurate pose）」，トワード・カテゴリー‐レベル・オブジェクト・リカグニシャン（Toward Category-Level Object Recognition），シュプリンガー‐フェアラーク（Springer-Verlag），２００６年，ｐ６７−８２に見受けられ、これら非特許文献を参照により引用し、これらの記載内容全体を本明細書の一部とする。
【０１４３】
落下を含む人の行為の認識における３‐ＤＳＩＦＴに適した技術に関する他の細部及び特徴は、イワン・ラプティブ（Ivan Laptev）及びトニー・リンデバーグ（Tony Lindeberg），ローカル・ディスクリプターズ・フォー・スペイシオ‐テンポラル・リカグニシャン（Local descriptors for spatio-temporal recognition），ヨーロピアン・カンファレンス・オン・コンピュータ・ビジョン２００４・ワークショップ・オン・スペーシャル・コヘーレンス・フォー・ヴィジュアル・モーション・アナリシス（ECCV’04 Workshop on Spatial Coherence for Visual Motion Analysis），シュプリンガー・レクチャー・ノーツ・イン・コンピュータ・サイエンス（Springer Lecture Notes in Computer Science），第３６６７号，２００４年，ｐ．９１‐１０３、イワン・ラプティフ（Ivan Laptev），バルバラ・カプト（Barbara Caputo），クリスチャン・シュルト（Christian Schuldt）及びトニー・リンデバーグ（Tony Lindeberg），「ローカル・ヴェロシティー‐アダプティッド・モーション・イベンツ・フォー・スペーシオ‐テンポラル・リカグニシャン（Local velocity-adapted motion events for spatio-temporal recognition）」，コンピュータ・ビジョン・アンド・イメージ・アンダースタンディング１０８（Computer Vision and Image Understanding 108），ｐ．２０７‐２２９，２００７年、ポール・スコバーナ（Paul Scovanner），エス・アリ（S Ali），エム・シャー（M Shah），「ア・スリーディメンショナル・シフト・ディスクリプター・アンド・イッツ・アプリケーション・トュー・アクション・リカグニシャン（A 3-dimensional sift descriptor and its application to action recognition）」，プロシーディングス・オブ・ザ・フィフティーンス・インターナショナル・カンファレンス・オン・マルチメディア（Proceeding of the 15th International Conference on Multimedia），ｐ．３５７‐３６０，２００７年、ジェイ・ニーブルス（J Niebles），エイチ・ワン（H Wang），フェイフェイ・リー（Fei-Fei Li），「アンスーパーバイズド・ラーニング・オブ・ヒューマン・アクション・カテゴリーズ・ユージング・スペーシャル‐テンポラル・ワーズ（Unsupervised Learning of Human Action Categories Using Spatial-Temporal Words）」，プロシーディング・オブ・ザ・ブリティッシュ・マシーン・ビジョン・カンファレンス（ビー・エム・ブイ・シー）（Proceeding of the British Machine Vision Conference（ＢＭＶＣ）に見受けられ、これら非特許文献を参照により引用し、これらの記載内容全体を本明細書の一部とする。
【０１４４】
コントローラ５００は、深度不連続部からの穴を埋めて３‐Ｄモデルのメートル法スケールを固定するために物体１２の表面の３‐Ｄマップを作成する際にイメージングセンサ４５０（例えば、深度マップセンサ）を使用するのが良い。深度マップセンサレンジデータで補強されたストラクチャ・フロム・モーション（structure-from-motion）を用いると、センサポーズを推定することができる。典型的なストラクチャ・フロム・モーションパイプラインは、視点不変性特徴部推定、カメラ内特徴部照合及びバンドル法を含むのが良い。
【０１４５】
イメージングセンサ４５０を備えたカラー／ステレオカメラ（例えば、３‐Ｄスペックルカメラ１３００及び／又はＴＯＦカメラ１５００）の特徴を組み合わせたソフトウェア手段としては、（１）センサポーズ推定、（２）深度マップ推定及び（３）３‐Ｄメッシュ推定が挙げられる。センサポーズ推定では、各イメージ捕捉のセンサパッケージの位置及び姿勢が求められる。深度マップ推定では、高解像度深度マップが各イメージについて得られる。３‐Ｄメッシュ推定では、センサポーズ推定及び深度マップを用いて関心のある物体を識別することができる。
【０１４６】
幾つかの具体化例では、カラー又はステレオカメラ３２０（図９）及び３‐Ｄスペックルカメラ１３００又は３‐Ｄ・ＴＯＦカメラ１５００を同時に用いるのが良い。１メートル及び４５°の視野４５２のスタンドオフ距離は、妥当な回路時間及びビュー相互間のオーバーラップを与えることができる。少なくとも２つのピクセルが５０パーセント検出に必要である場合、少なくとも１メガピクセル解像度のカラーカメラを４５°視野４５２を備えたレンズに用いるのが良く、６０°又はこれよりも広い視野４５２については比例して大きな解像度が用いられる。
【０１４７】
深度マップセンサが比較的低い解像度及びレンジ精度を有している場合があるが、深度マップは、カラー／ステレオイメージからのピクセルの集まりを正確な表面に確実に割り当てることができる。これにより、テキスチャがないことによるステレオ視誤差を減少させることができ、又、例えば５ｃｍ間隔までレンジを境界付けることにより、ばらつきサーチレンジ及びコンピュータ処理費用を減少させることができる。
【０１４８】
再び図１０Ａを参照すると、第１及び第２の３‐Ｄイメージセンサ４５０ａ，４５０ｂを用いると、ロボットの環境のマッピングを向上させてロボットマップを作成することができる。というのは、第１の３‐Ｄイメージセンサ４５０ａを用いると、近くの物体をマップすることができ、第２の３‐Ｄイメージセンサ４５０ｂを用いると遠くの物体をマップすることができるからである。
【０１４９】
図１７Ａ及び図１７Ｂを参照すると、幾つかの場合において、ロボット１００は、シーン１０及び／又は作業領域５内の物体１２の占有マップ１７００を受け取り又はロボットコントローラ５００は、経時的にイメージングセンサ４５０（例えば、第２の３‐Ｄイメージセンサ４５０ｂ）から受け取ったイメージデータ及び／又はイメージ深度データに基づいて占有マップ１７００を生じさせる（そして、アップデートすることができる）。シーン１０（例えば、ロボット１００の周りの環境）内のロボット１００の存在場所突き止めに加えて、ロボット１００は、センサシステム４００を用いて連結空間（例えば、作業領域５）内の他の箇所まで移動することができる。ロボット１００は、ロボット１００の周りの近くの領域をマップして比較的近くの物体１２を見分ける短距離型のイメージングセンサ４５０ａ（例えば、図１及び図３に示されているように胴部１４０の下面に取り付けられる）及びロボット１００の周りの比較的広い空間をマップして比較的遠くに位置する物体１２を見分ける長距離型のイメージセンサ４５０（例えば、図１及び図３に示されているように頭部１６０に取り付けられる）を有するのが良い。ロボット１００は、占有マップ１７００を用いてシーン１０内の既知の物体１２並びに遮蔽部１６（例えば、物体１２が現在の見晴らしの利く位置から確認されるべき又は確認されるはずであり又は確認されるはずがなく確認することもできない場所）を識別することができる。ロボット１００は、シーン１０内の遮蔽部１６又は新たな物体１２を登録することができ、そして遮蔽部１６内の新たな物体１２又は何らかの物体１２の存在場所を確認するために遮蔽部１６又は新たな物体１２を迂回しようとすることができる。さらに、ロボット１００は、占有マップ１７００を用いて、シーン１０内の物体１２の運動を突き止めてこれを追跡することができる。例えば、イメージングセンサ４５０，４５０ａ，４５０ｂは、シーン１０内の物体１２のマップされた位置を検出しない状態でシーン１０の物体１２の新たな位置１２′を検出することができる。ロボット１００は、古い物体１２の位置を遮蔽部１６として登録することができ、そして物体１２の存在場所を確認するために遮蔽部１６を迂回しようとすることができる。ロボット１００は、新たなイメージ深度データを先のイメージ深度データ（例えば、マップ１７００）と比較してシーン１０内の物体１２の存在場所の信頼水準を割り当てることができる。シーン１０内の物体１２の存在場所信頼水準は、しきい期間後にタイムアウトすることができる。センサシステム４００は、センサシステム４００の各イメージングサイクル後に各物体１２の存在場所信頼水準を更新することができる。幾つかの実施例では、遮蔽検出期間（例えば、１０秒未満）内の検出された新たな遮蔽部１６（例えば、占有マップ１７００からなくなった物体１２）は、シーン１０内の「生きている」物体１２（例えば、移動中の物体１２）を意味する場合がある。
【０１５０】
幾つかの具体化例では、シーン１０内の検出された第１の物体１２ａの後ろに位置する関心のある第２の物体１２ｂを当初、シーン１０内の遮蔽部１６として検出できない場合がある。遮蔽部１６は、イメージングセンサ４５０，４５０ａ，４５０ｂによっては容易には検出できない又は視認することができないシーン１０内の領域であるといえる。図示の実施例では、ロボット１００のセンサシステム４００（例えば、又はその一部分、例えばイメージングセンサ４５０，４５０ａ，４５０ｂ）は、シーン１０を視認するために視認角θVこれは、０°から３６０°までの間の任意の角度であって良い）を持つ視野４５２を有する。幾つかの実施例では、イメージングセンサ４５０，４５０ａ，４５０ｂは、３６０°視認角θVのための全方向性光学素子を有し、他方、他の実施例では、イメージングセンサ４５０，４５０ａ，４５０ｂは、３６０°未満（例えば、約４５°〜１８０°）の視認角θVを有する。視認角θVが３６０°未満である実施例では、イメージングセンサ４５０，４５０ａ，４５０ｂ（又は、これらのコンポーネント）は、３６０°の視認角θVを達成するためにロボット本体１１０に対して回転することができる。イメージングセンサ４５０，４５０ａ，４５０ｂは、水平視認角θV-Hと同じ又はこれとは異なる垂直視認角θV-Vを有することができる。例えば、イメージングセンサ４５０，４５０ａ，４５０ｂは、少なくとも４５°の水平視認角θV-H及び少なくとも４０°の垂直視認角θV-Vを有することができる。幾つかの具体化例では、イメージングセンサ４５０，４５０ａ，４５０ｂ又はこれらの部分は、ロボット本体１１０及び駆動システム１２０に対して動くことができる。さらに、第２の物体１２ｂを検出するため、ロボット１００は、シーン１０の周りに１つ又は２つ以上の方向に駆動することにより（例えば、作業面５上での並進及び／又は回転により）イメージングセンサ４５０，４５０ａ，４５０ｂを動かして第２の物体１２ｂの検出を可能にする見晴らしの利く箇所を得ることができる。イメージングセンサ４５０，４５０ａ，４５０ｂ又はこれらの部分のロボット運動又は独立運動は、単眼性の問題をも解決することができる。
【０１５１】
信頼水準を作業領域５内の物体１２の検出された存在場所又は追跡された動きに割り当てるのが良い。例えば、占有マップ１７００の作成時又はアップデート時、コントローラ５００は、マップ１７００上の各物体１２に関する信頼水準を割り当てるのが良い。信頼水準は、物体１２がマップ１７００上に指示されるように作業領域５内に実際に存在する可能性に正比例するのが良い。信頼水準は、多くの要因、例えば、物体１２を検出するために用いられるセンサの数及び形式によって決定可能である。例えば、接触センサ４３０は、かかる接触センサ４３０がロボット１００によって物体１２との実際の接触を検出するので、最も高い信頼水準を提供することができる。イメージングセンサ４５０は、近接センサ４３０よりも高い場合のある異なる信頼水準を提供することができる。センサシステム４００の２つ以上のセンサから受け取った情報を任意の単一のセンサに比較的高い信頼水準を提供するために集めることができ又は蓄積することができる。
【０１５２】
オドメトリは、経時的な位置の変化（走行距離）を推定するためにアクチュエータの運動からのデータの使用法である。幾つかの実施例では、車輪の回転数、したがってロボット１００の走行距離を測定するためにエンコーダが駆動システム２００に取り付けられる。コントローラ５００は、物体の存在場所に関する信頼水準を評価する際にオドメトリを用いるのが良い。幾つかの具体化例では、センサシステム４００は、ロボット１００の走行距離を検出するためにオドメータ及び／又は角速度センサ（例えば、ジャイロスコープ又はＩＭＵ４７０）を有する。ジャイロスコープは、角運動量の保存則に基づいて向きを計測し又は維持する装置である。コントローラ５００は、オドメータ及び／又は角速度センサからそれぞれ受け取ったオドメトリ及び／又はジャイロ信号を用いて作業領域５内及び／又は占有マップ１７００上のロボット１００の存在場所を突き止めることができる。
幾つかの実施例では、コントローラ５００は、推測航法を用いる。推測航法は、先に求めた位置に基づいて現在の位置を推定し、そして経過時間にわたる既知の又は推定された速度及び道筋に基づいてその位置を前進させるプロセスである。作業領域５内のロボット存在場所を知る（例えば、オドメトリ、ジャイロスコープ等を介して）と共に作業領域５内の１つ又は２つ以上の物体１２の検出された存在場所を知る（センサシステム４００によって）ことによって、コントローラ５００は、占有マップ１７００上且つ作業領域５内の（これに対し、オドメトリ又はジャイロスコープを用いない）物体の存在場所又は運動の比較的高い信頼水準を評価することができる。
【０１５３】
車輪運動に基づくオドメトリは、電気的に雑音がある場合がある。コントローラ５００は、駆動システム２００のオドメトリに基づいて車輪とは別個独立に視覚的オドメトリによりロボット運動をコンピュータ計算するためにロボット１００の周りの環境又はシーン１０のイメージデータをイメージングセンサ４５０から受け取ることができる。視覚的オドメトリでは、オプティカルフローを用いてイメージングセンサ４５０の運動を求める必要がある。コントローラ５００は、車輪に基づくオドメトリの誤差を是正するためにイメージングセンサ４５０のイメージングデータに基づく計算された運動を用いるのが良く、かくして、マッピング及び運動制御を向上させることができる。視覚的オドメトリは、イメージングセンサ４５０が捕捉されたイメージ内の特徴を追跡することができない場合、低テキスチャ又は低光量シーン１０の場合には制限がある場合がある。
【０１５４】
本明細書において説明する細部及び特徴と組み合わせ可能なオドメトリ及びイメージングシステムに関する他の細部及び特徴は、米国特許第７，１５８、３１７号明細書（この米国特許明細書は、「デプスオブフィールド（depth-of-field）」イメージングシステムを記載している）及び米国特許第７，１１５，８４９号明細書（この米国特許明細書は、ウェーブフロントコーディング干渉コントラストイメージングシステムを記載している）に見受けられ、これら特許文献を参照により引用し、これらの記載内容全体を本明細書の一部とする。
【０１５５】
ロボットがこれが働く建物にとって慣れていない場合、ロボットを自律的ナビゲーションのために動き回らせ又はロボットに建物のマップ（例えば、部屋又は廊下の配置場所）を提供する必要がある場合がある。例えば、病院では、ロボットは、各患者の部屋、看護ステーション等の場所を知る必要がある場合がある。幾つかの具体化例では、ロボット１００は、例えば図１８に示されているレイアウトマップ１８１０を受け取り、そしてロボット１００を訓練してレイアウトマップ１８１０を学習させるのが良い。例えば、ロボット１００を建物の中をぐるりと案内しながら、ロボット１００は、レイアウトマップ１８１０上の場所に対応した特定の場所を記録するのが良い。ロボット１００は、ウェブパッド３１０上にレイアウトマップ１８１０を表示することができ、ユーザがロボット１００を特定の場所につれて行くと、ユーザは、その場所をレイアウトマップ１８１０上にタグ付けするのが良い（例えば、ウェブパッド３１０のタッチスクリーン又は他のポインティング装置を用いて）。ユーザは、部屋の名称又は部屋の番号のようにタグ付けされた場所のラベルをエンターするよう選択することができる。タグ付け時、レイアウトマップ１８１０にポイントを当てた状態で且つ例えば図１２Ｄに示されているロボットマップ１８２０に対応のポイントを当てた状態でタグを記憶するのが良い。
【０１５６】
センサシステム４００を用いて、ロボット１００は、これが動き回っているときにロボットマップ１８２０を作成することができる。例えば、センサシステム４００は、ロボット１００がどれほど遠くまで動いたか及び移動方向に関する情報を提供することができる。ロボットマップ１８２０は、レイアウトマップ１８１０に提供されている壁に加えて固定状態の障害物を含む場合がある。ロボット１００は、ロボットマップ１８２０を用いて自律的ナビゲーションを実行することができる。ロボットマップ１８２０では、「壁」は、例えば対応の廊下の壁に沿って置かれた包装材の検出及び／又は種々の小部屋内の家具の検出に起因して完全に真っ直ぐには見えない場合がある。さらに、レイアウトマップ１８１０とロボットマップ１８２０との間に回転及び解像度の差が存在する場合がある。
マップ訓練後、ユーザがロボット１００を所与の場所に送りたいと思った場合、ユーザは、ラベル／タグを参照することができ（例えば、ラベル又はタグをウェブパッド３１０上に表示された存在場所テキストボックス中に入力することができ）又はロボット１００はレイアウトマップ１８１０をウェブパッド３１０上でユーザに表示することができ、そしてユーザは、レイアウトマップ１８１０上のその場所を選択することができる。ユーザがタグ付けされたレイアウトマップ場所を選択した場合、ロボット１００は、レイアウトマップ１８１０上の選択された場所に対応するロボットマップ１８２０上の場所を容易に突き止めることができ、そして前進して選択された場所まで進むことができる。
【０１５７】
レイアウトマップ１８１０上の選択された場所がタグ付けされた場所ではない場合、ロボット１００は、ロボットマップ１８２０上の対応の場所を突き止める。幾つかの具体化例では、ロボット１００は、既存のタグ付け場所を用いてスケール変更サイズ、オリジンマッピング及びロボットマップ１８２０との回転をコンピュータ計算し、次に、コンピュータ計算したパラメータを利用してロボットマップ場所を突き止める（例えば、アフィン変換又は座標を用いて）。
【０１５８】
ロボットマップ１８２０は、レイアウトマップ１８１０と同一の向き及びスケールでなくても良い。さらに、レイアウトマップは、縮尺通りでなくても良く、マップ領域によって様々なディストーションを有していても良い。例えば、ホテル、オフィス及び病院で通常見られる火災時避難マップを走査することにより作られるレイアウトマップ１８１０は、通常、縮尺通りには作られておらず、マップの種々の領域に種々のスケールを有する場合がある。ロボットマップ１８２０は、それ自体のディストーションを有する場合がある。例えば、ロボットマップ１８２０上の場所は、距離の尺度として車輪の回転をカウントすることによってコンピュータ計算される場合があり、床が僅かに滑りやすく又は曲がり角で余分の車輪の回転を生じさせる場合、不正確な回転に関する計算により、ロボット１００は、マップされた物体の不正確な場所を定める場合がある。
【０１５９】
レイアウトマップ１８１０上の所与の箇所１８１４をロボットマップ１８２０上の対応の箇所１８２４にマップする方法は、既存のタグ付けされた箇所１８１２を用いてレイアウトマップ箇所を含む領域（例えば、しきい半径内で）レイアウトマップ１８１０とロボットマップ１８２０との局所ディストーションをコンピュータ計算するステップを含むのが良い。この方法は、ディストーション計算をレイアウトマップ箇所１８１４に適用するステップを更に含み、その目的は、対応のロボットマップ箇所１８２４を見出すことにある。逆の手順は、ロボットマップ１８２０上の所与の箇所で始まり、そして例えばロボットにその現在の場所を尋ねるためにレイアウトマップ１８１０上の対応の箇所を見出したいと思った場合に実施されるのが良い。
【０１６０】
図１８Ｃは、ロボット１００を操作してレイアウトマップ１８１０及びロボットマップ１８２０を用いて環境をぐるりと進む操作又はステップの例示の流れ図１８００を提供している。図１８Ｂ及び図１８Ｃを参照すると、操作は、ロボット１００の環境に対応したレイアウトマップ１８１０を受け取るステップ（１８０２ｃ）、ロボット１００を環境内でレイアウトマップ１８１０上のレイアウトマップ場所１８１２まで動かすステップ（１８０４ｃ）、環境に対応すると共にロボット１００により作成されたロボットマップ１８２０上のロボットマップ場所１８２２を記録するステップ（１８０６ｃ）、記録したロボットマップ場所１８２２及び対応のレイアウトマップ場所１８１２を用いてロボットマップ１８２０とレイアウトマップ１８１０との間のディストーションを求めるステップ（１８０８ｃ）及び求めたディストーションを標的レイアウトマップ場所１８１４に適用して対応の標的ロボットマップ場所１８２４を求めるステップ（１８１０ｃ）を有し、かくして、ロボットは、レイアウトマップ１８１０上の選択された場所１８１４まで進むことができる。幾つかの具体化例では、操作は、既存のタグ付け場所を用いてスケール変更サイズ、オリジンマッピング及びレイアウトマップとロボットマップとの間の回転を求めるステップ及び選択したレイアウトマップ場所１８１４に対応するロボットマップ場所を分析して求めるステップを含む。操作は、アフィン変換を求めたスケール変更サイズ、オリジンマッピング及び回転に適用してロボットマップ場所を分析により求めるステップを含むのが良い。
【０１６１】
図１９Ａ〜図１９Ｃを参照すると、幾つかの具体化例では、この方法は、タグ付けされたレイアウトマップ箇所１９１２（記録されたレイアウトマップ場所とも呼ばれる）を用いてタグ付けされたレイアウトマップ箇所１９１２を含む境界付け形状内の領域の三角形分割を行ってレイアウトマップ１８１０の全ての領域を頂点がタグ付けされたレイアウトマップ箇所１９１２のところに位置する少なくとも１つの三角形１９１０により覆われるようにするステップを含む。この方法は、選択したレイアウトマップ箇所１９１４を含む三角形１９１０を見出すステップ及びレイアウトマップ箇所１８１０でマップされた三角形１９１０とロボットマップ１８２０でマップされた対応の三角形１９２０（即ち、同一のタグ付けされた頂点を有するロボットマップ三角形）との間のスケール、回転、並進及びスキューを求めるステップを更に含む。この方法は、求めたスケール、回転、並進及びスキューを選択したレイアウトマップ箇所１９１４に適用して対応のロボットマップ箇所１９２４を見出すステップを含む。
【０１６２】
図１９Ｃは、標的ロボットマップ場所１９２４を求める操作又はステップの例示の流れ図１９００を提供している。操作は、標的レイアウトマップ場所を境界付けるレイアウトマップ相互間の三角形分割を求めるステップ（１９０２）、レイアウトマップでマップされた三角形とロボットマップでマップされた対応の三角形との間のスケール、回転、並進及びスキューを求めるステップ（１９０４）及び対応のロボットマップ箇所を求めるために求めたスケール、回転、並進及びスキューを標的レイアウトマップ場所に適用するステップ（１９０６）を含む。
【０１６３】
図２０Ａ及び図２０Ｂを参照すると、別の実施例では、この方法は、選択したレイアウトマップ箇所１９１４までのレイアウトマップ１８１０内の全てのタグ付け箇所１９１２の距離を求めるステップ及びレイアウトマップタグ付け箇所１９１２の図心２０１２を求めるステップを有する。この方法は、ロボットマップ１８２０上の全てのタグ付け箇所１９２２の図心２０２２を求めるステップを更に有する。各タグ付けレイアウトマップ箇所１９１２に関し、この方法は、レイアウトマップ図心２０１２から選択したレイアウト箇所１９１４まで延びるベクトル２０１４をロボットマップ図心２０２２からロボットマップ箇所１９２４まで延びるベクトル２０２４に変換するのに必要な回転及び長さスケール変更を求めるステップを有する。このデータを用いて、この方法は、平均回転及びスケールを求めるステップを更に有する。各タグ付けレイアウトマップ箇所１９１２に関し、この方法は、図心変換、平均回転及び平均スケールを選択したレイアウトマップ箇所１９１４に適用することにより「理想ロボットマップ座標」箇所１９２４ｉを求めるステップを更に有する。さらに、各タグ付けレイアウトマップ箇所１９１２に関し、この方法は、そのレイアウトマップ箇所１９１２から選択したレイアウトマップ箇所１９１４までの距離を求めるステップ及びこれらの距離、即ち、最も短い距離から最も長い距離までによってタグ付けレイアウトマップ箇所１９１２を分類するステップを有する。この方法は、各タグ付けレイアウトマップ箇所１９１２と選択したレイアウトマップ箇所１９１４との間の距離の逆二乗を用いて各タグ付けレイアウトマップ箇所１９１２に関する「影響因子」を求めるステップを有する。次に、各タグ付けレイアウトマップ箇所１９１２に関し、この方法は、タグ付けレイアウトマップ箇所１９１２の影響因子を用いることによって比例配分された「理想ロボットマップ座標」箇所１９２４ｉとロボットマップ箇所１９２４との差であるベクトルを求めるステップを有する。この方法は、比例配分されたベクトルを合計するステップ及びかかるベクトルの合計を選択したレイアウトマップ箇所１９１４に関する「理想ロボットマップ座標」箇所１９２４ｉに追加するステップを有する。結果は、ロボットマップ１８２０上の対応のロボットマップ箇所１９２４である。幾つかの実施例では、この方法／アルゴリズムは、全てのタグ付けレイアウトマップ箇所１９１２ではなく、最も近いＮ個のタグ付けレイアウトマップ箇所１９１２だけを含む。
【０１６４】
図２０Ｃは、レイアウトマップ１８１０及びロボットマップ１８２０を用いて標的ロボットマップ場所１９２４を求めるための操作又はステップの例示の流れ図２０００を提供している。操作は、全てのレイアウトマップ場所と標的レイアウトマップ場所との間の距離を求めるステップ（２００２）、レイアウトマップ場所の図心を求めるステップ（２００４）、全ての記録されたロボットマップ場所の図心を求めるステップ（２００６）及び各レイアウトマップ場所に関し、回転及び長さスケール変更を求めてレイアウトマップ図心から標的レイアウト場所まで延びるベクトルをロボットマップ図心から標的ロボットマップ場所まで延びるベクトルに変換するステップ（２００６）を含む。
【０１６５】
図１０Ａ及び図２１Ａ〜図２１Ｄを参照すると、幾つかの具体化例では、ロボット１００（例えば、図２２に示されている制御システム５１０）は、その局所知覚空間（例えば、センサ視野４０５）を３つのカテゴリ、即ち、障害物（黒色）２１０２、未知領域（灰色）２１０４及び既知自由領域（白色）２１０６に分類する。障害物２１０２は、地面Ｇの上方に位置すると共にロボット１００の高さよりも低い観察された（検出された）箇所及び地面Ｇよりも低い観察された箇所（例えば、穴、ステップダウン等）である。既知自由領域２１０６は、３‐Ｄイメージセンサ４５０が地面Ｇを見ることができる領域に対応している。センサシステム４００の全てのセンサからのデータを組み合わせてこれらを離散化３‐Ｄボクセル格子にするのが良い。次に、３‐Ｄ格子を分析してこれを３つの局所知覚空間分類により２‐Ｄ格子２１００に変換するのが良い。図２１Ａは、静止状態にあるときのロボット１００の局所知覚空間の例示の略図である。３‐Ｄボクセル格子中の情報は、持続性を有するが、これが補強されなければ経時的に崩れる。ロボット１００が動いているとき、ロボットは、持続性のために進入する既知自由領域２１０６を有する。
【０１６６】
制御システム５００の物体検出物体回避（ＯＤＯＡ）ナビゲーション方式は、指令の結果として生じる潜在的なロボット位置を受け入れること又は拒否することかのいずれかを含む場合がある。潜在的ロボット経路２１１０を種々の指令により多くの深度レベルで発生させることができ、結果的に、各レベルのところでロボット位置が生じる。図２１Ｂは、動いている間におけるロボット１００の局所知覚空間の例示の略図である。ＯＤＯＡ挙動６００ｂ（図２２）は、各予測ロボット経路２１１０を評価することができる。これら評価を行為選択エンジン５８０によって利用すると、好ましい結果及び対応のロボット指令を得ることができる。例えば、ロボット経路２１１０中の各ロボット位置２１２０に関し、ＯＤＯＡ挙動６００ｂは、物体検出及び物体回避のための方法を実行することができ、かかる方法は、格子２１００内に位置していて、ロボット１００の対応の箇所の周りの境界付けボックス内に位置する各セルを識別するステップ、各セルの分類を受け取るステップ、障害物又は未知領域として分類された各セルに関し、このセルに対応する格子箇所を検索するステップ及びこの格子箇所がロボット１００の存在場所の周りの衝突円内に位置するかどうかを判定することにより衝突チェックを実行するステップを有する。格子箇所が衝突円内に位置している場合、この方法は、格子箇所が衝突三角形内に位置しているかどうかの三角形試験を実行するステップを更に有する（例えば、ロボット１００を三角形としてモデル化するのが良い）。格子箇所が衝突三角形内に位置している場合、この方法は、格子箇所を拒否するステップを有する。ロボット位置が対をなす格子箇所のセンサシステム視野の内側に位置している場合、「未知」格子箇所が無視される。というのは、ロボット１００がこれら格子箇所に到達する時点までにこれが知られるということが前提とされるからである。
【０１６７】
この方法は、障害物衝突がロボット経路２１１０中の連続したロボット位置２１２０相互間のロボット経路領域（例えば、三角形としてモデル化されている）内に存在しているかどうかを判定して或る１つのロボット位置２１２０から次のロボット位置までの移行中、ロボット衝突を阻止するステップを有するのが良い。
【０１６８】
図２１Ｃは、ロボット１００の局所知覚空間及びセンサシステムの視野４０５の略図である（制御システム５１０は、ロボット経路決定のために或る特定のセンサ、例えば第１及び第２の３‐Ｄイメージセンサ４５０ａ，４５０ｂしか使用しないのが良い）。駆動システム２００のホロノミック移動性を利用して、ロボット１００は、公知の地面Ｇの持続性を利用し、それにより、ロボット１００は、センサシステムの視野４０５が実際にカバーしない方向に進むことができる。例えば、ロボット１００が、第１及び第２の３‐Ｄイメージセンサ４５０ａ，４５０ｂが前方に向いた状態で依然として座っている場合、ロボット１００は、側方に進むことができるが、制御システム５１０は、提案された動きを拒否する。というのは、ロボット１００は、図２１Ｃの実施例に示されているようにその側部に何があるかを知らないからであり、図２１Ｃは、ロボット１００の側に未知の分類された領域を示している。ロボット１００が、第１及び第２の３‐Ｄイメージセンサ４５０ａ，４５０ｂが前方に向いた状態で前方に進んでいる場合、ロボット１００の次の地面Ｇは、既知自由領域２１０６として分類されるのが良い。というのは、第１の３‐Ｄイメージセンサ４５０ａと第２の３‐Ｄイメージセンサ４５０ｂの両方は、ロボット１００が前方に進んでいるときに地面Ｇを自由として見ることができ、分類の持続性は依然として崩されていないからである（これについては、例えば、図２１Ｂを参照されたい）。かかる状況では、ロボット１００は、側方に進むことができる。
【０１６９】
図２１Ｄを参照すると、幾つかの実施例では、ホロノミック移動性がある状態で多数の考えられる軌道が与えられている場合、ＯＤＯＡ挙動６００ｂにより、ロボットは、ロボットが行こうとしている場所をロボットが見る（現在ではないが）軌道を選択することができる。例えば、ロボット１００は、制御システム５１０が物体を検出することができるセンサの視野の向きを予想することができる。ロボットは、並進しながら回転することができるので、ロボットは、進みながらセンサ視野４０５を広げることができる。
【０１７０】
センサシステム４００の視野４０５を理解すると共にセンサシステムが異なる位置で見るものを理解することによって、ロボット１００は、ロボットが行こうとしている場所をロボットが見るのを助ける運動軌道を選択することができる。例えば、曲がり角を曲がる際、ロボット１００は、曲がり角の周りのきつく曲がる軌道を拒否することができる。というのは、図２１Ｅに示されているように、ロボット１００は、親ロボット位置２１２０のセンサシステム視野４０５ではなく、ロボットが現時点においては知られないロボット位置２０２０に最後は至ることができるからである。これとは異なり、ロボット１００は、最初は所望の運動方向に向き、そして駆動システム２００のホロノミック移動性を利用して図２１Ｆに示されているように側方に動き、次に曲がり角を回って真っ直ぐに動く運動軌道を選択することができる。
【０１７１】
図２２を参照すると、幾つかの具体化例では、コントローラ５００は、互いに通信状態にある制御調停システム５１０ａと挙動システム５１０ｂを含む制御システム５１０を実行する。制御調停システム５１０ａにより、アプリケーション５２０を制御システム５１０に動的に追加したりこれから削除したりすることができ、又、アプリケーション５２０が各々任意他のアプリケーション５２０について知る必要なくロボット１００を制御することができるようにするのが容易になる。換言すると、制御調停システム５１０ａは、ロボット１００のアプリケーション５２０とリソース又は資源５３０との間の単純な優先化制御機構体を提供する。リソース５３０は、コントローラ５００と通信状態にある駆動システム２００、センサシステム４００及び／又は任意のペイロード又は制御可能な装置を有するのが良い。  アプリケーション５２０は、ロボット１００のメモリ内に記憶されるのが良く又はロボット１００と通信関係をなすのが良く、それにより同時に動作し（例えば、プロセッサ）、それと同時にロボット１００を制御する。アプリケーション５２０は、挙動システム５１０ｂの挙動６００にアクセスすることができる。独立して配備されるアプリケーション５２０を実行時に動的に組み合わせてロボット１００のロボットリソース５３０（例えば、駆動システム２００、腕、頭部等）を共有することができる。アプリケーション５２０の中で実行時にロボットリソース５３０を動的に共有する低レベルポリシーが実施される。ポリシーは、どのアプリケーション５２０がそのアプリケーション５２０（例えば、アプリケーション５２０のうちで優先度階層）の必要とするロボットリソース５３０の制御を行うかを決定する。アプリケーション５２０は、動的に開始したり停止したりすることができ、そして互いに完全に別個独立にランする。また、制御システム５１０により、互いに組み合わせることができる複雑な挙動６００は、互いに支援することができる。
【０１７２】
制御調停システム５１０ａは、１つ又は２つ以上のリソースコントローラ５４０、ロボットマネージャ５５０及び１つ又は２つ以上の制御アービタ５６０を有する。これらコンポーネントは、共通のプロセス又はコンピュータにある必要はなく、しかも、任意特定の順序で開始される必要もない。リソースコントローラ５４０のコンポーネントは、アプリケーション５２０のための制御調停システム５１０ａのインターフェースをなす。あらゆるアプリケーション５２０についてこのコンポーネントのインスタンスが存在する。リソースコントローラ５４０は、認証、分散型リソース制御アービタ、コマンドバッファリング等の複雑さを抜粋すると共に要約する。ロボットマネージャ５５０は、どのアプリケーション５２０が任意特定の時点でロボットリソース５３０のうちの任意のものの排他的制御を行うかを制御することによってアプリケーション５２０の優先化を強調させる。これは、上方の中央コーディネータなので、ロボット部分毎にロボットマネージャ５５０のインスタンスが１つだけ存在する。ロボットマネージャ５５０は、リソースコントローラ５４０の線形優先化順序を有する優先度ポリシーを実行し、ハードウェア制御を可能にするリソース制御アービタ５６０を常時監視する。制御アービタ５６０は、全てのアプリケーション５２０から指令を受け取り、そしてアプリケーションの優先度に基づいて単一の指令を出し、そしてこれをその関連のリソース５３０のために公示する。制御アービタ５６０は又、その関連のリソース５３０から状態フィードバックを受け取り、そしてこれをアプリケーション５２０に送り戻す。ロボットリソース５３０は、１つ又は２つ以上のハードウェアコントローラを備えた機能モジュール（例えば、アクチュエータ、駆動システム及びこれらの群）のネットワークであるのが良い。制御アービタ５６０の指令は、特定の行為を実行する上でリソース５３０にとって特有である。
【０１７３】
コントローラ５００上で実行可能なダイナミックスモデル５７０が現在のロボットの状態を評価するためにロボット１００の種々の部分の重心（ＣＧ）、慣性モーメント及び慣性の外積をコンピュータ計算するよう構成されているのが良い。ダイナミックスモデル５７０は又、これらコンポーネントの形状、重量及び／又は慣性モーメントをモデル化することができる。幾つかの実施例では、ダイナミックスモデル５７０は、ロボット１００に設けられていて、ロボット１００の種々の重心を計算するためにコントローラ５００と通信状態にある慣性モーメントユニット４７０（ＩＭＵ）又はその部分（例えば、加速度計及び／又はジャイロ）と通信する。ダイナミックスモデル５７０を他のプログラム５２０又は挙動６００と一緒にコントローラ５００によって使用することができ、それによりロボット１００及びそのコンポーネントの作動エンベロープを求めることができる。
【０１７４】
各アプリケーション５２０は、行為選択エンジン５８０及びリソースコントローラ５４０を有し、１つ又は２つ以上の挙動６００が、行為選択エンジン５８０に接続され、１つ又は２つ以上の行為モデル５９０が行為選択エンジン５８０に接続されている。挙動システム５１０ｂは、予測モデル化を提供し、かかる挙動システムにより、挙動６００は、ロボット行為の考えられる結果を評価することによってロボットの行為に関して協調的に決定することができる。幾つかの実施例では、挙動６００は、アプリオリ（事前）限度及び情報を備えた多数の源から感覚フィードバックをロボットの許容可能な行為に対する評価フィードバックに結合する階層的ステート・フル（state-full）評価機能を提供するプラグインコンポーネントである。挙動６００は、アプリケーション５２０にプラグ接続可能なので（例えば、アプリケーション５２０の内側又は外側に存在する）、アプリケーション５２０又は制御システム５１０の任意他の部分を改変することなく挙動６００を取り外したり付け加えたりすることができる。各挙動６００は、スタンドアロンポリシーである。挙動６００を強力にするためには、多数の挙動６００の出力を一緒に別の挙動の入力に取り付けて複雑な組み合わせ機能を有することができるようにすることが可能である。挙動６００は、ロボット１００の全管轄の管理可能な部分を実行するようになっている。
【０１７５】
行為選択エンジン５８０は、制御システム５１０の協調要素であり、挙動６００の全ての入力が与えられると、最適行為を探して迅速な最適化された行為選択サイクル（予測／修正サイクル）を実施する。行為選択エンジン５８０は、３つの段階、即ち、ノミネーション、行為選択サーチ及び完了を有する。ノミネーション段階では、各挙動６００が通知され、行為選択サイクルが開始し、これにサイクル開始時間、現在の状態及びロボットアクチュエータ空間の制限が与えられる。内部ポリシー又は外部入力に基づいて、各挙動６００は、この行為選択サイクルに参加したいかどうかを決定する。この段階中、アクティブな挙動原形のリストが生じ、これら入力は、ロボット１００上で実行されるべき指令の選択に影響を及ぼすであろう。
【０１７６】
行為選択サーチ段階では、行為選択エンジン５８０は、行為空間とも呼ばれる利用可能な行為の空間から実行可能な結果を発生させる。行為選択エンジン５８０は、行為モデル５９０を用いて、将来における計画対象時間により互いに異なる時間ステップで各指令の行為をシミュレートした結果としてひとまとまりの実行可能な指令（限度内）及び対応の結果を提供する。行為選択エンジン５８０は、挙動６００の結果評価に基づいて好ましい結果を計算し、対応の指令を制御調停システム５１０ａに送り、フィードバックとして選択された指令の行為モデル５９０を知らせる。
【０１７７】
完了段階では、協調的な最善の得点が付けられた結果に対応する指令を全体的指令として互いに組み合わせ、かかる全体的な指令がロボットリソース５３０上で実行可能にリソースコントローラ５４０に提供される。最善の結果は、フィードバックとしてアクティブな挙動６００に提供され、将来の評価サイクルで用いられる。
【０１７８】
センサシステム４００からの受け取りセンサ信号により、１つ又は２つ以上の挙動６００との相互作用が行為を実行することができる。例えば、制御システム５１０を用いて、コントローラ５００は、対応の行為空間（例えば、その特定のコンポーネントのためのひとまとまりの考えられる行為又は動き）から各ロボットコンポーネント（例えば、モータ又はアクチュエータのための行為又は動き指令）を選択し、それにより各ロボットコンポーネント自体との衝突及びロボット１００が知っているロボット１００の周りの物体との衝突を回避する効率的な仕方で各ロボットコンポーネントの協調された動きを行わせる。
コントローラ５００は、ロボットネットワーク、例えばEtherIOネットワークにより協調された指令を出すことができる。
【０１７９】
制御システム５１０は、ロボット１００が所与の領域の回りを動いているときに互いに異なる形態／位置におけるロボット１００の安定性を最大にするために駆動システム２００の適応速度／加速度を提供することができる。
【０１８０】
幾つかの具体化例では、コントローラ５００は、指令を駆動システム２００に出し、この駆動システムは、方位設定値及び速度設定値に従ってロボット１００を推進する。１つ又は複数の挙動６００は、センサシステム４００から受け取った信号を用いて実行可能な指令の予想される結果を評価し、これら指令のうちの１つは、障害物を取り扱うために実行可能に（単独で又は全体的ロボット指令として他の指令と組み合わせて）選ばれるのが良い。例えば、近接センサ４１０からの信号により、制御システム５１０は、ロボット１００の指令された速度又は方位を変化させることができる。例えば、近くの壁の存在に起因した近接センサ４１０からの信号の結果として、制御システム５１０は、原則指令を出すことができる。別の場合、椅子との遭遇に起因した接触センサからの衝突信号により、制御システム５１０は、方位を変える指令を出すことができる。他の場合、ロボット１００の速度設定値を接触センサに応答して減少させることができず、しかも／或いはロボット１００の方位設定値を近接センサ４１０に応答して変えることができない。
【０１８１】
挙動システム５１０ｂは、占有マップ１７００及び／又はロボットマップ１８２０を生じさせるマッピング挙動６００ａ、ロボット１００の速度設定値を調節するよう構成された速度挙動６００ｃ（例えば、プロセッサ上で実行可能な挙動ルーチン）及びロボット１００の方位設定値を変更するよう構成された方位挙動６００ｄを有するのが良い。速度及び方位挙動６００ｃ，６００ｄは、同時に実行したり別個独立に実行したりするよう構成可能である。例えば、速度挙動６００ｃは、センサのうちの１つ（例えば、近接センサ４１０，４２０の組）をポーリングするよう構成されているのが良く、方位挙動６００ｄは、別のセンサ（例えば、運動学的バンプセンサ）をポーリングするよう構成されているのが良い。
【０１８２】
図２３Ａを参照すると、幾つかの具体化例では、挙動システム５１０ｂは、人追従挙動６００ｅを含む。この挙動６００ｅを実行している間、ロボット１００は、人２３００を検出し、追跡し及び、そしてその後を追従することができる。ロボット１００は、頸部１５０を用いて頭部１６０をパンすると共に傾動させることができるので、ロボット１００は、第２の３‐Ｄイメージセンサ４５０ｂを方向付けて対応の視野４５２を人２３００に当てた状態に維持することができる。さらに、頭部１６０は、基部１２０よりも比較的迅速に動くことができるので（例えば、駆動システム２００を用いて）、頭部１６０（及び関連の第２の３‐Ｄイメージセンサ４５０ｂ）は、ロボット１００を定位置で回転させる場合よりも迅速に人２３００を追跡することができる。ロボット１００は、人２３００をしきい距離ＤR（例えば、センサ視野に対応している）内に保つよう人２３００に向かって進むことができる。幾つかの実施例では、ロボット１００は、人２３００を追跡しながら人／ユーザ２３００に向かって前方に向くよう回る。ロボット１００は、人２３００の後を追従するよう速度指令及び／又はウェイポイント指令を用いるのが良い。
【０１８３】
図２３Ｂを参照すると、人に追従する素朴な具体化の結果として、人２３００が第２の３‐Ｄイメージセンサ４５０ｂの視野１５２をいったん出ると、ロボットは、人２３００の存在場所を見失う。この一実施例は、人が曲がり角をぐるりと曲がって進んだときである。この問題をうまく避けるには、ロボット１００は、人２３００の最後の既知の存在場所及びその軌道の知識を保持する。この知識を用いて、ロボット１００は、ウェイポイント（又は１組のウェイポイント）を利用して人２３００に向かって曲がり角に沿う場所に進むことができる。さらに、ロボット１００が曲がり角を曲がって動いている人２３００を検出すると、ロボット１００は、進む（ホロノミック的に）と共に／或いは第２の３‐Ｄイメージセンサ４５０ｂを動かして（例えば、頭部１６０をパンすると共に／傾動させることによって）、それにより人２３００の視認を再び得るように第２の３‐Ｄイメージセンサ４５０ｂの視野４５２を向けることができる。
【０１８４】
図２３Ｂ及び図２４Ａを参照すると、第２の３‐Ｄイメージセンサ４５０ｂから受け取ったイメージデータを用いて、制御システム５１０は、人２３００を識別することができ（例えば、パターン認識又はイメージ認識により）それにより人２３００の追従を続けることができる。第１の人２３００が例えば曲がり角を曲がったときにロボット１００が別の人２３０２に遭遇した場合、ロボット１００は、その第２の人２３０２が第１の人２３００ではないことを識別することができ、そして第１の人２３００への追従を続ける。幾つかの具体化例では、第２の３‐Ｄイメージセンサ４５０ｂは、３‐Ｄイメージデータ２４０２（例えば、２‐Ｄアレイのピクセル、各ピクセルは、深度情報（例えば、カメラまでの距離を含む）を物体又はブロブ２４０６にセグメント化するためのセグメンタ（segmentor）２４０４に提供する。例えば、ピクセルは、隣りのピクセルへのこれらの近接性に基づいて大きな物体にグループ分けされる。これら物体（又はブロブ）の各々は、次に、サイズフィルタ２４０８によって受け取られ、更に分析される。サイズフィルタ２４０８は、あまりに小さくて（例えば、高さ約３フィート未満）又はあまりにも大きすぎて人ではない（例えば、高さ約８フィートを超える）物体を拒否することによって物体又はブロブ２４０６を処理して例えば正しいサイズの物体又はブロブ２４１０にする。形状フィルタ２４１２が正しいサイズの物体又はブロブ２４１０を受け取り、特定の形状を満たさない物体をなくす。形状フィルタ２４１２は、頭部の中点がカメラ４５０ｂの視覚及び物体までの既知の距離を用いることが予想される場所の予想幅を見ることができる。形状フィルタ２４１２のプロセスは、正しいサイズの物体又はブロブ２４１０を人データ２４１４（例えば、イメージ又はこれを表すデータ）に変換する。
【０１８５】
幾つかの実施例では、ロボット１００は、検出した各人２３００，２３０２のための独特な識別子を維持することによって多数の人２３００，２３０２を検出してこれらを追跡することができる。人追従挙動６００ｅは、各人の軌道を個々に反映させ、それにより、ロボット１００は、他の人又は物体によって一次的な遮蔽が生じた場合であってもロボット１００が追跡すべき人の知識を維持することができる。図２４Ｂを参照すると、幾つかの具体化例では、多標的トラッカ２４２０（例えば、コンピュータ計算プロセッサ、例えばコントローラ５００上で実行可能なルーチン）が、形状フィルタ２４１２から人データ２４１４（例えば、イメージ又はこれを表すデータ）、ジャイロデータ２４１６（例えば、ＩＭＵ４７０から）及びオドメトリデータ２４１８（例えば、駆動システム２００からを受け取り、人存在場所／速度データ２４２２を提供し、かかるデータは、人追従挙動６００ｅによって受け取られる。幾つかの具体化例では、多標的トラッカ２４２０は、カルマンフィルタを用いて各人の運動挙動を追跡すると共に反映させ、それにより、ロボット１００は、ユーザが見える時点、例えば、人が曲がり角をぐるりと動いているとき又は別の人がその人に対する直接的な視認を一次的に遮断したときを越えて追跡を行うことができる。
【０１８６】
図２４Ｃを参照すると、幾つかの実施例では、人追従挙動６００ｅは、進んでいる間のロボット１００と人２３００との間の追従距離ＤRを維持することによって人追従を実施する。人追従挙動６００ｅは、２つのサブコンポーネント、即ち、駆動コンポーネント２４３０及びパン‐傾動コンポーネント２４４０に分割されるのが良い。駆動コンポーネント２４３０（例えば、計算プロセッサ上で実行可能な追従距離ルーチン）は、人データ２４１４、人速度データ２４２２及びウェイポイントデータ２４２４を受け取って追従距離ＤR（これは、レンジであるのが良い）を求める（例えば、コンピュータ計算する）ことができる。駆動コンポーネント２４３０は、ロボット１００が人２３００までの距離に応じてその目的をどのように達成しようとするかを制御する。ロボット１００がしきい距離内にある場合、直接速度指令を用い、それにより、ロボット１００は、人２３００に向くよう回ることができ又は人２３００が近すぎるところに居る場合には人２３００から後退して離れることができる。人２３００が所望の距離よりも遠くに存在する場合、ウェイポイント指令を用いるのが良い。
【０１８７】
パン‐傾動コンポーネント２４４０により、頸部１５０は、パンすると共に／或いは傾動して第２の３‐Ｄイメージセンサ４５０ｂの視野４５２を人２３００に当てた状態に維持する。パン／傾動ルーチン２４４０（例えば、計算プロセッサ上で実行可能である）が人データ２４１４、ジャイロデータ２４１６及び運動学的データ２４２６（例えば、制御システム５１０のダイナミックスモデル５７０から）を受け取って、第２の３‐Ｄイメージセンサ４５０ｂがその視野４５２を人２３００に当てた状態に維持するよう差し向けるパン角度２４４２及びチルト角度２４４４を定めることができる。頭部１６０のパン‐傾動に対する基部１２０の運動に遅延が生じると共に人追従挙動６００ｅに到達するセンサ情報にも遅延が生じる場合がある。これは、ジャイロ及びオドメトリ情報２４１６，２４２６に基づいて補償でき、その結果、ロボットがいったん回っていると、パン角度θRがそれほどオーバーシュートしないようになる。
【０１８８】
図２５Ａを参照すると、幾つかの実施例では、人追従挙動６００ｅにより、ロボット１００は、障害物２５０２を避けて進んで人２３００への追従を続ける。ロボット１００がウェイポイントを用いて人２３００に追従することができるので、人が障害物を越えて進んでロボットが横切ることができない場合であっても、ＯＤＯＡ（障害物検出／障害物回避）挙動６００ｂ用いて障害物を避ける経路を求めることが可能である。ＯＤＯＡ挙動６００ｂ（図２２）は、予想ロボット経路を評価することができる（例えば、検出した物体との衝突を起こさない予想ロボット経路の確実な評価を行うことができる）。これら評価は、行為選択エンジン５８０によって使用でき、それにより好ましい結果及び対応のロボット指令（例えば、駆動指令）を定めることができる。
【０１８９】
図２５Ｂ及び図２５Ｃを参照すると、幾つかの具体化例では、制御システム５１０は、ロボット１００の近くの領域における障害物２５０２の局所マップ２５００を作成する。
素朴な又は単純なシステムでは、ロボット１００は、実際の障害物２５０２と追従すべき人２３００との差を言うことができない場合がある。これにより、通常、ロボット１００は、人２３００の方向に移動するのが阻止される。というのは、人２３００は、その方向における障害物２５０２であるように見えるからである。人追従アルゴリズムは、追従している人２３００の存在場所をＯＤＯＡ挙動６００ｂに連続的に報告することができる。
したがって、次に、ＯＤＯＡ挙動６００ｂは、局所マップ２５００をアップデートして先に人２３００に対応していた障害物２５０２を削除し、オプションとして、人２３００の存在場所を提供することができる。
【０１９０】
図２６Ａ〜図２６Ｄを参照すると、幾つかの具体化例では、人追従挙動６００ｅは、行為選択エンジン５８０により生じる実行可能な指令の結果を評価して２つの目的、即ち、１）ロボット１００が図２６Ａに示されているように人２３００に向いた状態に保つ目的（例えば、前方駆動方向Ｆを駆動２３００の方に維持すると共に／或いは頭部１６０をパンすると共に／或いは傾動させて人２３００に向くようにする目的）及び２）図２６Ｂに示されているロボット１００と人２３００との間の追従距離ＤR（例えば、約２〜３メートル）を維持する目的を達成する。ロボット１００が人２３００の追従距離ＤRの範囲内に位置している場合、人追従挙動６００ｅにより、制御システム５１０は、図２６Ｃに示されているように速度指令（ｘ，ｙ，θz）を出して上述の目的を達成することができる。人２３００がロボット１００に近すぎるほど接近した場合、ロボット１００は、オプションとして、後退して人２３００から離れ、それにより安全距離、例えば追従距離ＤR（及びユーザをセンサレンジ内に保つ距離（例えば、０．５ｍ以上））を維持することができる。ロボット１００は、人２３００が極めて近くに来た場合にこれに対応するよう第２の３‐Ｄイメージセンサ４５０ｂを傾動させるのが良い。というのは、人の体がレンジ内に入っていない場合でもあっても人の頭が依然としてレンジ内に入っている場合があるからである。ロボット１００が追従距離ＤRの外に移動すると、ロボット１００は、ウェイポイント指令を用いて追従距離ＤRを再び得ることができる。ウェイポイント指令を用いることにより、ロボット１００は、ロボット１００の最適経路を定めることができ、かくして、ＯＤＯＡ挙動６００ｂは、近くの障害物から適当な距離を維持することができる。
【０１９１】
図１〜図３及び図２７を参照すると、幾つかの具体化例では、頭部１６０は、インターフェースモジュール３００の１つ又は２つ以上の部分を支持する。頭部１６０は、ウェブパッド又はタブレットＰＣとも呼ばれる１つ又は２つ以上のコンピューティングタブレット３１０を解除可能に受け入れるドック３０２を有するのが良く、これらコンピューティングタブレットは各々、タッチスクリーン３１２を有するのが良い。ウェブパッド３１０を前方、後方又は上方に差し向けることができる。幾つかの具体化例では、ウェブパッド３１０は、タッチスクリーン、オプションとしてのＩ／Ｏ（例えば、ボタン及び／又はコネクタ、例えばマイクロＵＳＢ等）、プロセッサ及びプロセッサと通信状態にあるメモリを有する。例示のウェブパッド３１０としては、アップル・インコーポレイテッド（Apple Inc.） 製のアップルｉＰａｄが挙げられる。幾つかの実施例では、ウェブパッド３１０は、コントローラ５００として機能し又はコントローラ５００を支援すると共にロボット１００を制御する。幾つかの実施例では、ドック３０２は、これにしっかりと取り付けられた第１のコンピューティングタブレット３１０ａ（例えば、比較的高い帯域幅、例えばギガビット速度でのデータ伝送のためのワイヤードインターフェース）及びドックに取り外し可能に接続された第２のコンピューティングタブレット３１０ｂを有する。第２のウェブパッド３１０ｂを図２７に示されているように第１のウェブパッド３１０ａに装着することができ又は第２のウェブパッド３１０ｂを第１のウェブパッド３１０ａに対して頭部１６０の反対側に向いた側部又は他方の側部に装着することができる。追加の実施例では、頭部１６０は、これに固定的に取り付けられるか着脱自在に取り付けられるかのいずであっても良い単一のウェブパッド３１０を支持する。タッチスクリーン３１２は、ユーザ入力を受け取ると共にタッチ対話式であるグラフィカルユーザインターフェースを提供するためにユーザがタッチスクリーンにタッチする箇所を検出し、モニタすると共に／或いは再現することができる。幾つかの実施例では、ウェブパッド３１０をロボット１００から取り外したときにユーザがこれを見出すことができるようにするタッチスクリーンコーラ（caller）を有する。
【０１９２】
幾つかの具体化例では、ロボット１００は、ロボット本体１１０の１つ又は２つ以上の部分に取り付けられた多数のウェブパッドドック３０２を有する。図２７に示されている実施例では、ロボット１００は、オプションとして脚部１３０及び／又は胴部１４０に取り付けられたウェブパッドドック３０２を有する。これにより、ユーザは、例えばウェブパッド３１０を種々の高さでロボット１００にドッキングさせて異なる背丈のユーザに対応すると共に異なる見晴らしの利く箇所でウェブパッド３１０のカメラを用いて映像を捕捉すると共に／或いは多数のウェブパッド３１０をロボット１００に装着することができる。
【０１９３】
インターフェースモジュール３００は、頭部１６０に取り付けられたカメラ３２０を有するのが良く（例えば、図２を参照されたい）、このカメラを用いると、頭部１６０の高い見晴らしの利く箇所から映像を捕捉することができる（例えば、テレビ会議のために）。図３に示されている実施例では、カメラ３２０は、頸部１５０に取り付けられている。
幾つかの実施例では、カメラ３２０がウェブパッド３１０，３１０ａを頭部１６０から取り外し又はドッキング解除したときにのみ作動される。ウェブパッド３１０，３１０ａをドック３０２内で頭部１６０に取り付け又はドッキングさせたとき（そして、オプションとしてカメラ３２０を覆ったとき）、ロボット１００は、映像を捕捉するためにウェブパッド３１０ａのカメラを用いることができる。かかる場合、カメラ３２０は、ドッキングさせたウェブパッド３１０の背後に配置されるのが良く、かかるカメラ３２０は、ウェブパッド３１０を頭部１６０から取り外し又はドッキング解除したときに作動状態にあり、ウェブパッド３１０を頭部１６０に取り付け又はドッキングさせたときには不作動状態になる。
【０１９４】
ロボット１００は、インターフェースモジュール３００を介して（例えば、ウェブパッド３１０、カメラ３２０、マイクロホン３３０及び／又はスピーカ３４０を用いて）テレビ会議（例えば、２４ｆｐｓのところで）提供することができる。テレビ会議は、多パーティであるのが良い。ロボット１００は、頭部１６０をこれがユーザに向くよう操縦することによってテレビ会議の両方のパーティ相互間のアイコンタクトを提供することができる。さらに、ロボット１００は、５°未満の凝視角度（例えば、頭部１６０の前方フェースに垂直な軸線から遠ざかる角度）を有するのが良い。ロボット１００に取り付けられている少なくとも１つの３‐Ｄイメージセンサ４５０及び／又はカメラ３２０は、ボディランゲージを含む実物大のイメージを捕捉することができる。コントローラ５００は、音声と映像を同期させることができる（例えば、５０ミリ秒未満の差で）。図２８Ａ〜図２８Ｅに示されている実施例では、ロボット１００は、頭部１６０に取り付けられているウェブパッド３１０及び／カメラ３２０の高さを調節する（胴部１４０を昇降させることにより）と共に／或いは頭部１６０をパンすると共に／或いは傾動させることによって立っている又は座っている人々にテレビ会議を提供することができる。カメラ３２０は、ウェブパッド３１０とは別個に少なくとも１つの自由度の範囲内で動くことができる。幾つかの実施例では、カメラ３２０は、地面から３フィートを超える距離のところであるがウェブパッド３１０の表示領域の頂縁からウェブパッド高さの１０パーセント以下のところに位置決めされた対物レンズを有する。さらに、ロボット１００は、カメラ３２０をズームしてロボット１００の周りの拡大ピクチャ又は映像を得ることができる。頭部１６０は、テレビ会議を表示しているウェブパッド３１０の近くで音声を頭部１６０から出すよう１つ又は２つ以上のスピーカ３４０を有するのが良い。
【０１９５】
幾つかの実施例では、ロボット１００は、図２８Ｅに示されているようにユーザ入力をウェブパッド３１０に受け入れることができる（例えば、タッチスクリーンを介して）。
幾つかの具体化例では、ウェブパッド３１０は、ディスプレイ又はモニタであり、他の具体化例では、ウェブパッド３１０は、タブレット形コンピュータである。ウェブパッド３１０は、高い対話性を提供する容易且つ直感的に使える制御装置、例えばタッチスクリーンを有するのが良い。ウェブパッド３１０は、少なくとも１つの自由度で動くことができる１５０平方インチ（９６７．７ｃｍ2）以上の表示面積を備えたモニタディスプレイ３１２（例えば、タッチスクリーン）を有するのが良い。
【０１９６】
ロボット１００は、幾つかの実施例では、医師及び患者及び／又は他の医師又は看護師相互間のテレビ会議を提供することによってＥＭＲインテグレーションを提供することができる。ロボット１００は、パススルーコンサルテーション（対診）命令を含むのが良い。例えば、ロボット１００は、聴き取りをテレビ会議ユーザ（例えば、医師）に伝えるよう構成されたステソスコープ（聴診器）を有するのが良い。他の実施例では、ロボットは、クラスＩＩ医療器具、例えば電子ステソスコープ、オトスコープ（耳鏡）及び超音波への直接的な接続を可能にして医療データを遠隔ユーザ（主治医）に送るコネクタ１７１０を有する。
【０１９７】
図２８Ｂに示されている実施例では、ユーザは、ロボット１００の遠隔操作、テレビ会議（例えば、ウェブパッド３１０のカメラ及びマイクロホンを用いて）及び／又はウェブパッド３１０上におけるソフトウェアアプリケーションの利用のためにウェブパッド３１０を頭部１６０に取り付けられているウェブパッドドック３０２から取り外すことができる。ロボット１００は、ウェブパッド３１０がウェブパッドドック３０２から取り外されている間、テレビ会議、ナビゲーション等のために種々の見晴らしの利く箇所を得るために頭部１６０に取り付けられた第１及び第２のカメラ３２０ａ，３２０ｂを有するのが良い。
【０１９８】
コンピュータ５００上で実行可能であると共に／或いはコントローラ５００と通信状態にある対話型用途では、ロボット１００に２つ以上のディスプレイを設ける必要がある場合がある。ロボット１００と関連した多数のウェブパッド３１０は、「フェースタイム（FaceTime）」、テレストレーション（Telestration）、ＨＤルックアットジス‐カム（HD look at this-cam）（例えば、内蔵カメラを有するウェブパッド３１０の場合）の種々の組み合わせを提供することができ、ロボット１００を遠隔制御するための遠隔オペレータ制御ユニット（ＯＣＵ）として働くことができると共に／或いは局所ユーザインターフェースパッドを提供することができる。
【０１９９】
幾つかの具体化例では、ロボット１００は、ウェブパッド３１０とコントローラ５００（及び／又はロボット１００の他のコンポーネント）との通信を可能にするブリッジとも呼ばれている媒介セキュリティ装置３５０（図２７）を有する。例えば、ブリッジ３５０は、ウェブパッド３１０の通信をウェブパッド通信プロトコルからロボット通信プロトコル（例えば、ギガビット容量を有するEthernet）に変換することができる。ブリッジ３５０は、ウェブパッド３１０が不正でないものと認証することができ、そしてウェブパッド３１０とコントローラ５００との通信変換を可能にする。幾つかの実施例では、ブリッジ３５０は、ウェブパッド３１０とロボット１００との間の通信トラフィックを認可／確認する認可チップを有する。ブリッジ３５０は、ブリッジがロボット１００と通信しようとするウェブパッド３１０をチェックして認可した時期をコントローラ５００に知らせることができる。さらに、認可後、ブリッジ３５０は、通信認可をウェブパッド３１０に知らせる。ブリッジ３５０は、頸部１５０又は頭部（又は図２及び図３に示されているように）又はロボット１００のどこか他の場所に取り付け可能である。
【０２００】
セッション開始プロトコル（ＳＩＰ）は、インターネットプロトコル（ＩＰ）によりマルチメディア通信セッション、例えば音声及び映像コールを制御するために広く用いられているＩＥＴＦ規定シグナリングプロトコルである。このプロトコルは、１つ又は数個のメディアストリームを含む２パーティ（ユニキャスト）又は多パーティ（マルチキャスト）セッションを創成したり修正したり終了させたりするために使用できる。修正は、アドレス又はポートの変更、多くの参加者の招待及びメディアストリームの追加又は削除を含む場合がある。他の実行可能な用途の例としては、テレビ会議、ストリーミングマルチメディア配信、インスタントメッセージング、プレゼンスインフォメーション、ファイル伝送等が挙げられる。インターネットプロトコルによる音声（ＩＰによる音声、即ち、ＶｏＩＰ）は、インターネットプロトコル（ＩＰ）ネットワーク、例えばインターネットにより音声通信及びマルチメディアセッションの配信のための方法論、コミュニケーションプロトコル及び送信技術の系統の一部である。しばしば見受けられると共にＶｏＩＰと同義的に用いられる場合の多い他の用語は、ＩＰ電話技術、インターネット電話、ブロードバンドによる音声（ＶｏＢＢ）、ブロードバンド電話技術及びブロードバンド電話である。
【０２０１】
図２９は、ロボット１００を介して通信を開始すると共に行うためにブリッジ３５０との対話を含む例示としての電話技術を提供している。電話ＡのＳＩＰは、ＳＩＰアプリケーションサーバに電話をかける。ＳＩＰは、ＶｏＩＰのダイヤル機能を起動し、それにより、ＨＴＴＰポストリクエストがＶｏＩＰウェブサーバに送られる。ＨＴＴＰポストリクエストは、折り返し（コールバック機能）電話機能のように挙動するのが良い。ＳＩＰアプリケーションサーバは、呼び出しを電話Ａに送り、通話が開始したことを指示する。ＶｏＩＰサーバは、ＰＳＴＮを介してＨＴＴＰポストリクエストに含まれているコールバック電話番号への呼び出しを開始する。コールバック電話番号は、ＳＩＰ  ＤＩＤプロバイダで終わり、ＳＩＰ  ＤＩＤプロバイダは、ＳＩＰアプリケーションサーバへのコールバックを送るよう構成されている。ＳＩＰアプリケーションサーバは、来た電話と電話Ａの元の電話を照合し、両方の電話をオーケー応答で返答する。メディアセッションは、電話ＡとＳＩＰ  ＤＩＤプロバイダとの間に成り立っている。電話Ａは、ＶｏＩＰにより生じた人工的な呼び出しを聞くことができる。ＶｏＩＰによりコールバックレッグに応答したことがいったん確認されると、ＶｏＩＰは、送信宛先、例えばロボット１００へのブリッジ３５０を介する）ＰＳＴＮのコールを開始する。ロボット１００は、コールに応答し、ＶｏＩＰサーバは、ＳＩＰ  ＤＩＤプロバイダからのメディアをロボット１００からのメディアにブリッジする。
【０２０２】
再び図６を参照すると、インターフェースモジュール３００は、音声入力を受け取るマイクロホン３３０（例えば、又はマクロホンアレイ）及びロボット本体１１０に取り付けられていて、音声出力を送る１つ又は２つ以上のスピーカ３３０を有するのが良い。マイクロホン３３０及びスピーカ３４０は、各々、コントローラ５００と通信することができる。幾つかの実施例では、インターフェースモジュール３００は、パンフレット、非常時情報、家庭用品及び他のアイテムを保持するよう構成されているのが良いバスケット３６０を有する。
【０２０３】
移動式ロボットは、一般に、ロボットの周囲を安全に進むよう障害物及び危険を検知する必要がある。これは、特にロボットが今まで自律的に走行している場合であっても重要であり、但し、人により作動されるロボットも又、かかる検出が必要であり、その理由は、オペレータがロボットの周囲の細部を常時知っているわけでもなく、これらに常時注意できているわけでもないからである。接触検出（例えば、スイッチに当たってこれを閉成するバンパ）を一種のフェールセーフ機構体として用いることができるが、距離を置いたところから物体を検出するセンサは、通常、性能を向上させることが必要になる。かかるセンサとしては、レーザレンジファインダ、赤外線距離センサ、ビデオカメラ及びデプスカメラ（depth camera）が挙げられる。
【０２０４】
図３〜図４Ｃ及び図６を参照すると、幾つかの具体例では、ロボット１００は、多数のアンテナを有する。図示の実施例では、ロボット１００は、第１のアンテナ４９０ａ及び第２のアンテナ４９０ｂを有し、これら両方のアンテナは、基部１２０に取り付けられている（但し、これらアンテナは、ロボット１００の任意他の部分、例えば、脚部１３０、胴部１４０、頸部１５０及び／又は頭部１６０に取り付けられても良い）。多数のアンテナを使用することにより、堅調な信号受信及び信号送信が可能になる。多数のアンテナの使用により、ロボット１００に多入力及び多出力、即ちＭＩＭＯが提供され、このＭＩＭＯは、通信性能を向上させるために送信器及び／受信器のための多数のアンテナの使用法である。ＭＩＭＯは、追加の帯域幅又は送信電力をなしでデータスループット及びリンクレンジの大幅な増大をもたらす。ＭＩＭＯは、高いスペクトル性能（帯域幅の１ヘルツ当たり１秒当たりのビット数が多い）及びリンク信頼性又は多様性（フェーディングの減少）によってこれを達成する。ＭＩＭＯは、これらの特性に鑑みて、最新式のワイヤレス通信規格、例えばIEEE 802.11n（ＷｉＦｉ）、４Ｇ、３ＧＰＰロング・ターム・エボリューション（Long Term Evolution）、ＷｉＭＡＸ及びＨＳＰＡ＋の重要な部分である。さらに、ロボット１００は、近くの他の電子装置のためのＷｉＦｉブリッジ、ハブ又はホットスポットとして働くことができる。ロボット１００のＭＩＭＯの移動性及び使用により、ロボットは、比較的高い信頼性のあるＷｉＦｉブリッジとなることができる。
【０２０５】
ＭＩＭＯは、３つの主要なカテゴリ、即ち、プレコーディング（pre-coding）、空間多重化又はＳＭ及び多様化コーディングダイバーシティコーディングに細分できる。プレコーディングは、一種のマルチストリームビーム成形であり、送信器のところで生じる全ての空間処理であると考えられる。ビーム形成（単一層ビーム成形）では、同一の信号は、信号出力が受信器入力のところで最大になるよう重み付けする適当な位相（及び場合によってはゲイン）を備えた送信器アンテナの各々から放出される。ビーム成形の利点は、互いに異なるアンテナから放出された信号を互いに強めるようにすることによって受け取った信号のゲインを増大させると共に多パスフェーディング効果を減少させることにある。
散乱が存在しない場合、ビーム形成の結果として、良好に規定された方向性パターンが得られる。受信器が多数のアンテナを備えている場合、送信ビーム形成は、受信アンテナの全てのところでの信号レベルを同時に最大にすることができず、多数のストリームを備えたプレコーディングを使用するのが良い。プレコーディングは、送信器のところでのチャネル状態情報（ＣＳＩ）の知識を必要とする場合がある。
【０２０６】
空間多重化は、ＭＩＭＯアンテナ構成を必要とする。空間多重化では、高レート信号が多数の低レートストリームに分割され、各ストリームは、同一周波数チャネルで異なる送信アンテナから送信される。これら信号が十分に異なる空間シグナチュアで受信器アンテナアレイに達した場合、受信器は、これらストリームを平行な（ほぼ平行な）チャネルに分離することができる。空間多重化は、チャネルキャパシティを高い信号対雑音費（ＳＮＲ）で増大させる非常に強力が技術である。空間ストリームの最大数は、送信器又は受信器のところのアンテナの個数の減少によって制限される。空間多重化を送信チャネルに関する知識の有無にかかわらず利用することができる。空間多重化は又、空間分割多元接続と呼ばれている多数の受信器への同時送信にも使用できる。互いに異なる空間シグナチュアを備えた受信器をスケジュール設定することにより、良好な分離性を保証することができる。
【０２０７】
ダイバーシティコーディング技術は、送信器のところでのチャネルに関する知識が存在しない場合に使用されるのが良い。ダイバーシティ方法では、単一のストリーム（空間多重化の多数のストリームとは異なり）を送信するが、時空間コーディングと呼ばれている技術を用いてコード化される。信号は、完全又はほぼ直交するコーディングを備えた送信アンテナの各々から放出される。ダイバーシティコーディングは、信号ダイバーシティを高めるために多数のアンテナリンクにおける独立フェーディングを利用する。チャネルに関する知識がないので、ビーム成形は行われず又はダイバーシティコーディングからのアレイゲインが存在しない。空間多重化は又、チャネルが送信器のところで知られている場合にプレコーディングと組み合わせ可能であり又はデコーディング信頼性がトレードオフの関係にある場合にダイバーシティコーディングと組み合わせ可能である。
【０２０８】
幾つかの具体化例では、胴部１４０及び／又は頭部１６０にそれぞれ設けられた第３のアンテナ４９０ｃ及び／又は第４のアンテナ４９０ｄを有している（例えば、図３を参照されたい）。かかる場合、コントローラ５００は、堅調な通信のためのしきい信号レベルを達成するアンテナ配置構成を定めることができる（例えば、胴部１４０を昇降させると共に／或いは頭部１６０を回転させると共に／或いは傾動させることにより例えばアンテナ４９０ａ〜４９０ｄを動かすことによって）。例えば、コントローラ５００は、指令を出して胴部１４０の高さを持ち上げることによって第３及び第４のアンテナ４９０ｃ，４９０ｄを高くすることができる。さらに、コントローラ５００は、指令を出して頭部１６０を回転させると共に／或いは傾動させて他のアンテナ４９０ａ〜４９０ｃに対して第４のアンテナ４９０ｄを更に配向させることができる。
【０２０９】
図３０は、物体検出システム３０００を備えた例示の住居３０１０の略図である。物体検出システム３０００は、住居３０１０の（内側及び／又は外側の）種々の部屋３０２０、廊下３０３０及び／又は他の部分に設けられていて、ホームモニタリング、人モニタリング及び／又は人緊急時応答システム（ＰＥＲＳ）のためのイメージングセンサ３０７０、例えば３‐Ｄスペックルカメラ１３００及び／又は３‐Ｄ・ＴＯＦカメラ１５００を有する。イメージングセンサ３０７０は、部屋３０２０全体（例えば、シーン１０）又はその一部分に及ぶ視野３０７５を有するのが良い。物体検出システム３０００は、ハンドフリーのリアルタイム行動モニタリング（例えば、老人の）を提供でき、介護者の注意を独立したリビングを探している老人に向ける。図示の実施形態では、イメージングセンサ３０７０は、１つ又は２つ以上の壁に又は人の活動を最も効果的にモニタすることができる部屋３０２０の１つ又は２つ以上の隅に配置されている。例えば、イメージングセンサ３０７０は、部屋の隅又は出入口と反対側の壁、ソファ、主要な着座領域等に配置されるのが良い。人の活動及び休息パターンをモニタし、追跡し、そして記憶させることができ（例えば、将来のパターンとの比較のために）、又は介護者に中継することができる。
【０２１０】
物体検出システム３０００は、イメージングセンサ３０７０と通信状態にある（例えば、電気接続部又はワイヤレスにより）基地局ＢＳを有するのが良い。基地局ＢＳは、イメージ認識及び／又はモニタリングルーチンを実行するプロセッサ及び或る特定の時間間隔でセンサデータ、例えば、３‐Ｄマップを記憶するメモリを有するのが良い。幾つかの実施例では、物体検出システム３０００は、基地局ＢＳ及び／又はイメージングセンサ３０７０と通信状態にある移動式ロボット１００，１４００を有する。
【０２１１】
幾つかの具体化例では、イメージセンサ３０７０は、イメージングセンサ３０７０が物体認識及び／物体追跡のために設けられている対応の部屋３０２０の３‐Ｄマップを形成する。さらに、少なくとも１つのイメージングセンサ４５０を有する移動式ロボット１００を含む実施例では、移動式ロボット１００は、イメージングセンサ３０７０の３‐Ｄマップとの比較のために同一の部屋３０２０又は物体１２の３‐Ｄを作成することができる。基地局ＢＳは、互いに異なる見晴らしの利く箇所又は眺めからのものであるのが良い両方の３‐Ｄマップを受け取ることができ、そして２つの３‐Ｄマップを互いに比較して物体１２（例えば、家具、人々、ペット等）及び遮蔽部１６の存在場所を認識して分析することができる。
【０２１２】
幾つかの具体化例では、物体検出システム３０００は、人の体の一部又は体全体により生じるジェスチャを認識するようシーン１０（例えば、３‐Ｄマップ）の深度知覚を得るためにイメージングセンサ３０７０を用いる。イメージングセンサ３０７０は、体の一部の別々の部分に関する深度方向位置情報を含む体又は体の一部に関する位置情報を識別することができる。イメージングセンサ３０７０は、関心のある体の部分の位置情報を含む人に関するシーン１０全体の位置情報を含む深度イメージを作成することができる。イメージングセンサ３０７０及び／又は基地局ＢＳ（例えば、指令又はルーチンを実行するプロセッサを有する）は、深度イメージ中の背景及び他の物体から関心のある身体部分をセグメント化することができ、そして１つの特定の一感覚で関心のある体部分の（例えば、静的に）形状及び位置を求めることができる。動的決定は、体又は体の部分がシーン１０内で動く際に実施できる。さらに、イメージングセンサ３０７０及び／又は基地局ＢＳは、体部分の運動が関心のある場合、所与の持続時間にわたって体部分により動的に生じるジェスチャを識別することができる。識別された体ジェスチャを分類し、そして分類に基づいて事象が起こされる。本明細書において説明した細部及び特徴と組み合わせ可能なジェスチャ認識に関する追加の細部及び特徴は、米国特許第７，３４０，０７７号明細書（発明の名称：Gesture Recognition System Using Depth Perceptive Sensors）に見受けられ、この米国特許を参照により引用し、その記載内容全体を本明細書の一部とする。
【０２１３】
イメージングセンサ３０７０は、それぞれの部屋３０２０内における人のジェスチャ認識のために使用可能である。例えば、イメージングセンサ３０７０は、人の３‐Ｄマップを作成することができ、この３‐Ｄマップは、人のジェスチャ又は姿勢（例えば、座っている状態、寝ている状態、歩いている状態、倒れた状態、指差している状態等）を分析し又は分類するために利用できる。イメージングセンサ３０７０、基地局ＢＳ及び／ロボット１００は、イメージデータを用いて人の３‐Ｄマップを形成し、そして人のジェスチャを識別すると共に／或いは分類するためのルーチンを実行することができる。或る特定のジェスチャ、例えば倒れたジェスチャ又は手を振っているジェスチャは、物体検出システム３０００による非常時事態トリガを引き起こすことができる。非常時事象トリガに応答して、基地局ＢＳは、非常時支援のための非常時通信（例えば、電話コール、Ｅメール等）を送ることができると共に／或いはロボット１００は、人の存在場所を突き止めてジェスチャ認識を確認すると共に／或いは支援（例えば、処方を送り、人を床から起きるのを助けること等）を提供することができる。
【０２１４】
図３１は、物体検出システム３０００を作動させる操作又はステップの例示の流れ図３１００を提供している。操作は、シーン１０（例えば、部屋３０２０）のイメージデータ（例えば、３‐Ｄスペックルカメラ１３００及び／又は３‐Ｄ・ＴＯＦカメラ１５００からの）を受け取るステップ（３１０２）、シーン１０内の標的物体１２の３‐Ｄマップを作成するステップ（３１０４）を含む。操作は、標的物体１２（例えば、人として）を分類するステップ（３１０６）及び標的物体１２の状態、姿勢又はジェスチャを分析するステップ（３１０８）を更に含む。操作は、物体事象（例えば、分析した状態、姿勢及び／又はジェスチャに特有の事象）を引き起こすステップ（３１１０）及びオプションとして、物体事象に応答するステップ（３１１２）を含む。
【０２１５】
幾つかの具体化例では、標的物体１２を分類するステップ（３１０６）は、標的物体１２の物体の種類（例えば、人、犬、猫、椅子、ソファ、ベッド等）及び生きている物体の種類（例えば、人）を判定するステップ、物体１２の状態、例えば、物体１２が生きているか、眠っているか、怪我しているかどうか等を判定するステップ（例えば、運動を検出している）を含む。
【０２１６】
幾つかの具体化例では、標的物体１２の状態、姿勢及び／又はジェスチャを分析するステップ（３１０８）は、標的物体１２が生きているか、座っているか、寝ているか、手を振っているか、倒れつつあるか又は倒れているかどうかを判定するステップを含む。状態、姿勢及び／又はジェスチャの判定は、別々に、連続して、同時に又はこれらの組み合わせで実施できる。例えば、倒れつつある又は手を振っているジェスチャ（例えば、倒れながら合図をしているジェスチャ）を検出すると共に分析すると、操作は、標的物体１２の姿勢、例えば倒れた姿勢（例えば、床の上に横たわっている姿勢）及び状態（例えば、生きているか、呼吸をしているか、怪我をしているか、障害があるか、意識がないか等）を判定するステップを更に含むのが良い。
【０２１７】
倒れた標的物体１２（例えば、人が倒れた）場合、例えば、操作は、標的物体１２を人（人）として分類するステップ（３１０６）及び例えばメモリに記憶可能な既知の特徴を認識することによって標的物体１２の状態、姿勢及び／又はジェスチャを分析するステップ（３１０８）を含むのが良い。例示の記憶された特性は、無意識な状態で居るときにボロの着物の人形が崩れ落ちるジェスチャ又は前に倒れるジェスチャ姿勢、左側の腰が弱い場合に左側に倒れること、杖又は歩行補助具を使用していたにもかかわらず、のめって倒れること等を含む。さらに、操作は、特定の標的物体１２の状態、姿勢及び／又はジェスチャ一端を学習するステップ、センサデータをフィルタ処理するステップ及び／又はセンサデータについて探索アルゴリズムを実行するステップを含むのが良い。
【０２１８】
手を振っているジェスチャの場合、操作は、手を振っている事象及びこの事象に応答した事象を発生させるステップ、ロボット１００を支援のために標的物体１２に送るステップを含むのが良い。例えば、ロボット１００は、通信能力（例えば、ワイヤレス、電話、テレコンフェレンス、Ｅメール等）、薬ディスペンサ又は標的物体１２、例えば人が接近したいと思う他の何らかの物品を有するのが良い。さらに、ロボット１００は、人を基地局ＢＳにつれて行くことができ、基地局ＢＳは、大型スクリーン（ＴＶ上）、安定した音響設備（モータの騒音及び機械的騒音を生じないＢＳに設けられているマイクロホンアレイ）、安定したＡＣ電力、安定したカメラ及びワイヤードブロードバンドアクセスを利用するテレビ会議セッション用のテレビジョン又はディスプレイを有するのが良い。
【０２１９】
横たわっていると共に／或いは座っている姿勢の場合、操作は、健康事象の確認及びこの事象に応答した事象を発生させるステップ、ロボット１００の姿勢、バイタルサイン等を確認するために標的物体１２まで送るステップを含むのが良い。倒れかけているジェスチャ又は倒れた姿勢の場合、操作は、緊急事象及びこの事象に応答する事象を発生させるステップ、ロボット１００を支援のために標的物体１２まで送るステップ及び非常時支援のために非常時伝達手段を出すステップを含むのが良い。
【０２２０】
幾つかの実施例では、操作は、占有マップ１７００を作成し又はアップデートするステップ及び物体追跡のために現在の物体の存在場所を過去の物体の存在場所と比較するステップを含む。ジェスチャ事象を移動した物体１２について発生させるのが良く、そしてこの事象に応答して操作は、物体の存在場所を確認するためにロボット１００を対応の部屋３０２０に送るステップを含むのが良い。
【０２２１】
ロボット１００は、物体検出システム３０５０から自律的に動作し、更に、これと通信状態を維持するのが良い。したがって、ロボット１００は、物体検出システム３０５０の発生事象を受け取り、これら事象に応動することができる。例えば、基地局ＢＳが指令をロボット１００に出すのではなく、例えば、ジェスチャの分類を確認するために、ロボット１００は、物体検出システム３０５０について発生した事象について聴き取りを行うのが良く、オプションとして、発生した事象に対処するのが良い。
【０２２２】
図３２を参照すると、幾つかの具体化例では、人がペンダント３２００を掛けるのが良く、このペンダントは、物体検出システム３０５０と通信状態にある（例えば、基地局ＢＳ及び／又はイメージセンサ３０７０を介して）。ペンダント３２００は、ユーザの運動を検出する運動センサ３２１０（例えば、１つ又は２つ以上の加速度計、ジャイロスコープ等）を有するのが良い。物体検出システム３０５０は、住居の中全体にわたってペンダントの動きを追跡することができる。例えば、ペンダントは、ユーザ運動データ、例えば歩数、座わり又は横になった回数及び／又は現在の状態（例えば、立っている状態、歩いている状態、直立して座っている状態、横になっている状態等）を提供することができる。基地局ＢＳは、ユーザ運動データを受け取ってそれに従って事象を発生させることができる。
【０２２３】
例えば、横になっているペンダント３２００の現在の状態を受け取ると、物体検出システム３０５０は、健康状態の確認事象及びこの事象に応答する事象を発生させることができ、ロボット１００は、ペンダント３２００を着けている人の存在場所を突き止め、そしてその人の現在の健康状態を確認することができる。例えば、その人の存在場所を突き止めると、ロボット１００は、その人のイメージデータを捕捉し、その人が息をしているかどうかの指標として胸部の運動を確認し、赤外線イメージングを利用してその人の体温等を測定することができる。ロボット１００は、聞こえることができる質問（例えば、「ごきげんいかがですか？」）を出し、そしてその人からの聞こえる応答を待つことができる。ロボット１００が聞こえる応答を検出しなかった場合、ロボット１００は、非常時支援のための通信による要求を行うために検出システム３０５０の基地局ＢＳによって受け取り可能な非常時事象を発生させるのが良い。さらに、ロボット１００のイメージセンサ４５０は、第三者（例えば、介護者、非常時応答事業所等）への通信のためにイメージ又はライブ映像を捕捉するのが良い。
【０２２４】
幾つかの具体化例では、ペンダント３２００は、ユーザが支援を要求するために押すことができる支援ボタン３２２０を有する。基地局ＢＳは、ペンダント３２００からの支援要求信号を受け取り、そして支援要求を介護者、非常時応答事業体等に伝えることができる。さらに、支援要求信号の受信に応答して、基地局ＢＳは、支援要求事象を発生させることができ、基地局ＢＳと通信状態にあるロボット１００は、これを受け取ってそれに応じて応動することができる。例えば、ロボット１００は、ペンダント３２００を着けている人の存在場所を突き止めてその人の状態を確認すると共に／或いは支援を提供する（例えば、薬を提供する、テレビ会議を提供する、電話サービスを提供する、その人が起き上がるのを助けること等）ことができる。
【０２２５】
図３３Ａを参照すると、幾つかの具体化例では、移動式ロボットシステム３３０１が移動式ロボット１００及びロボット１００と通信状態にあるタッチスクリーン３１２を備えた遠隔コンピュータ計算装置３１０ｒ、例えばウェブパッド３１０を有し、この遠隔コンピュータ計算装置３１０ｒは、遠隔に位置するユーザがロボット１００の周りの環境又はシーン１０を視覚化したりロボット１００を遠隔制御したりすることができるようにするソフトウェアアプリケーション３３００（例えば、タブレット利用型ＵＩコンポーネント／アプリケーション）を実行する。ソフトウェアアプリケーション３３００は、ウェブパッド３１０のために例えばアップルｉＰａｄ２及び／又はMotorola Xoom及びイメージセンサ４５０のためにPrimeSensorカメラ（イスラエル国テルアビブ６９７１０フォースフロア・ハバゼルセント２８所在のプライムセンサ（PrimeSensor）社から入手できる）のようなハードウェア又は任意適当なハードウェアを利用することができる。例えば、ソフトウェアに関し、ソフトウェアアプリケーション３３００は、アップルｉＯＳ４．ｘ、Android３．０（ハニカム（Honeycomb）とも呼ばれている）、OpenGL ES 2.0又は任意他の適当なオペレーティングシステム又はプログラムを使用することができる。
【０２２６】
図３３Ｂを参照すると、幾つかの具体化例では、ソフトウェアアプリケーション３３００は、マップビュー３３０４を備えたユーザインターフェース３３０２（例えば、遠隔コンピュータ計算装置３１０ｒに設けられている）を表示し、ユーザインターフェース３３０２は、ロボット１００の周りのシーン１０又は領域の２‐Ｄトップダウンレイアウトマップ１８１０を表示する。ユーザは、レイアウトマップ１８１０上の場所１８１４を選択してロボット１００を選択した場所１８１４に送ることができる（例えば、表示されたボタン又は図形を選択することによって）。ロボット１００は、ロボットマップ１８２０上の対応の標的ロボットマップ場所１８２４を決定し（例えば、センサシステム４００からのセンサデータに基づいて）、かくして、ロボット１００は、レイアウトマップ１８１０上の選択された場所１８１４に進むことができる（図１８Ａ〜図１８Ｃも又参照されたい）。ロボット１００は、１つ又は２つ以上の挙動、例えばマッピング挙動６００ａ、障害物検出及び障害物回避挙動６００ｂ、速度挙動６００ｃ及び／又は方位挙動６００ｄ（図２２）を実行することによって選択された場所１８１４まで自律的に進む。ロボット１００が選択された場所１８１４にいったん到達すると、ユーザは、ロボット１００の周りのシーン１０を見たくなる場合があると共に／或いはその局所シーン１０の周りでロボット１００を操縦したくなる場合がある（例えば、ロボット１００を遠隔操作で進めたくなる場合がある）。
【０２２７】
図３３Ｃ及び図３３Ｄを参照すると、ソフトウェアアプリケーション３３００は、マップビュー３３０４中に３‐Ｄマップ３３１０を表示することができる。ユーザは、遠隔コンピュータ計算装置３１０ｒのタッチスクリーン３１２上における特定のハンドジェスチャ（例えば、マルチフィンガスワイプ、タップ等）を行うことによって３‐Ｄマップ３３１０が現れるようにすることができる。幾つかの実施例では、ユーザは、ロボット１００のセンサシステム４００又はライブカメラビューからセンサデータ（例えば、ロボット１００に取り付けられている１つ又は２つ以上のカメラ３２０，４５０からの第１の人の映像ビュー）に基づいて３‐Ｄシーン１０ａを示す３‐Ｄマップ３３１０を選択することができる。ライブカメラビューは、ロボット１００の前側縁部又は前側部分を含む場合があり、したがって、遠隔に位置するユーザは、基部１２０の前側縁部のすぐ近くに位置する障害物に進むことなくロボットを操縦することができるようになる。
【０２２８】
幾つかの実施例では、３‐Ｄシーン１０ａは、３‐Ｄイメージングセンサ４５０，４５０ａ，４５０ｂにより捕捉された点群３３２０に基づくのが良い。図示の実施例では、点群３３２０の点３３２２は、ひとまとまりとなって、３‐Ｄシーン１０ａの三次元イメージを形成する。ソフトウェアアプリケーション３３００も又、ロボット１００のアニメーション又はコンピュータ生成モデル１００ａを３‐Ｄシーン１０ａ内に置くことができ、そしてロボット１００の位置及び／運動学的状態を示すことができる。ロボットモデル１００ａは、実際のロボット１００の正確な記載であるのが良く、ロボット１００のコンピュータ支援設計（ＣＡＤ）モデルに基づくのが良い。図３３Ｃに示されている実施例では、３‐Ｄマップ３１１０は、２‐Ｄレイアウトマップ１８１０上を浮動し、その現在の場所のところにおけるロボット１００周りの実際のシーン１０のクイックビューを提供する。図３３Ｄに示されている実施例では、ユーザは、３‐Ｄマップ３３１０をフルスクリーン及びほぼフルスクリーンビューに拡張することができる。さらに、ソフトウェアアプリケーション３３００は、ロボット１００を操作するための（例えば、ロボット１００の駆動及び／又はそのポーズの変更のための）コントロール部分３３０６を表示することができる。ユーザは、ロボット１００に対する互いに異なるパースペクティブ又はアイポジション３３５０（図３３Ｇ）から３‐Ｄマップ３３１０を見ることができる（例えば、３‐Ｄマップ３３１０をタッチスクリーン３１２上の１つ又は２つ以上のハンドジェスチャにより回転させることによって）。図３３Ｃ〜図３３Ｇは、種々のビューを備えた３‐Ｄマップ３３１０を提供している。
【０２２９】
再び図３３Ａ〜図３３Ｄを参照すると、ユーザは、２‐Ｄレイアウトマップ１８１０及び／又は３‐Ｄマップ３３１０を用いてロボットに指令を出すと共にロボット１００を駆動することができる（例えば、ロボットの行き先を特定することによって）。２‐Ｄレイアウトマップ１８１０によりユーザはロボット１００を広い領域をぐるりと動かすことができるが、ユーザが行うことができないことがある。例えば、２‐Ｄレイアウトマップは、典型的には、部屋、壁、廊下等の存在場所を示すが、病院のベッド又は会議室のテーブルのような家具を示すことができない。遠隔ユーザは、ロボット１００に指令を出してロボットが部屋に自律的に進んで病院ベッドの側部のそばでちょうど停止し又はロボット１００に指令を出してロボットが部屋の中の既定のスポットのところで停止することができるようにするが、ロボット１００がいったん部屋の中に存在すると、ユーザは、例えば枕元のところの特定のスポットまで次の動きを行わせる必要のある場合がある。図示の実施例では、ソフトウェアアプリケーション３３００は、ロボット１００に隣接して位置する空間ボリューム３３３０（例えば、ロボット１００の移動方向における床平面３３３２を含む）からボリューム形点群３３２０（例えば、イメージングセンサ４５０からの光のスペックル放出からの反射光）に基づく又はかかるボリューム形点群３３２０としての三次元深度イメージの形態をした３‐Ｄマップ３３１０をマップビュー３３０４中に提供する。
【０２３０】
幾つかの具体化例では、ロボット１００に取り付けられているイメージングセンサ４５０，４５０ａ，４５０ｂは、ボリューム形点群イメージング装置である。イメージングセンサ４５０は、地面よりも約１フィート以上、上方の高さ位置のところで駆動システム２００の上方に支持されるのが良く且つロボット１００の移動方向において床平面３３１２を含む空間ボリューム３３３０から点群３３００を得ることができるよう差し向けられるのが良い。コントローラ５００は、３‐Ｄイメージングセンサ４５０から点群信号を受け取ることができ、そして、少なくとも部分的に受け取った点群信号に基づいて駆動指令を駆動システム２００に出すことができる。少なくとも１つの３‐Ｄイメージセンサ４５０，４５０ａ，４５０ｂは、ロボット１００の周りのシーン１０に光を放出することができ、そして例えばロボット１００の駆動方向Ｆに沿ってシーン１０のイメージを捕捉することができる。イメージは、（ａ）三次元深度イメージ、（ｂ）アクティブな照明イメージ及び（ｃ）周辺照明イメージのうちの少なくとも１つを含むのが良い。図示の点群３３００は、ロボット１００により知覚される部屋シーン１０ａの三次元深度イメージの一例である。  ３‐Ｄマップビュー３３１０は、（ａ）三次元深度イメージ、（ｂ）アクティブな照明イメージ及び（ｃ）周辺照明イメージのうちの少なくとも１つを含むのが良い。図示の実施例では、ソフトウェアアプリケーション３３００は、シーン１０内の３‐Ｄイメージセンサ４５０，４５０ａ，４５０ｂにより視認可能な空間ボリューム３３１０の三次元深度イメージとして３‐Ｄマップ３３１０を表示する。点群３３２０の幾つかの又は全ての点３３２２は、コロケート型ＲＧＢカメラ３２０からの色で着色されるのが良い。幾つかの実施例では、点群３３２０は、各々がｘ，ｙ，ｚ座標及びＲＧＢ色を備えた３２０×２４０ポイント（７６，０００ポイント）を含む。
【０２３１】
遠隔場所からの人々との対話時、ユーザは、ロボット１００からの音声／映像供給物から自分が何を見て何を聞いているかに依存する。ビデオカメラの典型的な視野は、制限されており（例えば、６０°）、「状況アウェアネス（situational awareness）」を提供するのに適してはいない場合がある。ロボット１００は、広い組み合わせ視野を得るために多数のカメラ３２０，４５０，４５０ａ，４５０ｂを用いることができると共に／或いはカメラ３２０，４５０，４５０ａ，４５０ｂのうちの１つ又は２つ以上走査して対応の視野４５２を効果的に広げることができる。さらに、ロボット１００は、１つ又は２つ以上のカメラ３２０又はイメージングセンサ４５０を回転させてロボット１００の周りの３６０°全体を含む組み合わせ視野４５２を得ることによってシーンアップデートルーチンを実行することができる。
【０２３２】
幾つかの具体化例では、ロボット１００は、定期的に又は１つ又は２つ以上の事象発生時に、ロボット１００がイメージングセンサ４５０，４５０ｂ，４５０ｃを動かして垂直中心軸線Ｚ回りの３６０°のわたる三次元深度イメージデータ３６０を捕捉するシーンアップデートルーチンを実行する。ロボット１００は、定位置でホロノミック的に３６０°回転し、頭部１６０を３６０°回転させること等を行うことができる。幾つかの実施例では、約６０°の視野４５２に関し、ロボット１００は、イメージセンサ４５０，４５０ｂ，４５０ｃを０°の第１の位置、６０°の第２の位置及び１２０°の第３の位置相互間で各々前方駆動方向Ｆに対して動かす。ソフトウェアアプリケーション３３００は、捕捉した３‐Ｄ深度イメージデータに基づいて実際のシーン１０の３‐Ｄシーン１０ａを提供することができる。
【０２３３】
図３４は、ソフトウェアアプリケーション３３００のためのアーキテクチャ３４００の例示の略図である。ソフトウェアアプリケーション３３００は、ロボットデータモデル３４２０（例えば、グラフィックスデータファイル又はプログラミング物体）、イメージングセンサ４５０，４５０ａ，４５０ｂからのイメージングセンサに基づく点群データモデル３４３０（例えば、グラフィックスデータファイル又はプログラミング物体）及びタッチ認識機能を備えたオペレーティングシステムのハンドジェスチャアプリケーションプログラムインターフェース（ＡＰＩ）３４４０と通信状態にあるアプリケーションエンジン３４１０を含む。アプリケーションエンジン３４１０は、レンダリングエンジン３１５０と通信し、このレンダリングエンジンは、Open GL ES３４６０と通信する。Open GL ES３４６０は、中央処理装置（ＣＰＵ）３４７０及び／又は遠隔コンピュータ計算装置３１０ｒのグラフィックス処理ユニット（ＧＰＵ）３４８０と通信することができる。
【０２３４】
アプリケーションエンジン３４１０は、レンダリングエンジン３４５０によるレンダリングを行うためにユーザインターフェース３３０２を提供する。３‐Ｄマップ３３１０に関し、アプリケーションエンジン３４１０は、ロボットデータモデル３４２０（例えば、３‐Ｄ空間内におけるロボットモデル１００ａを操作するためのマトリックスマス）を用いてロボットモデル１００ａを提供すると共に両方共単一のビュー内にレンダリングするために点群データモデル３４３０（例えば、切頭体投影マトリックス）を用いて３‐Ｄシーン１０ａを提供することができる。アプリケーションエンジン３４１０は、ハンドジェスチャＡＰＩ３４４０を用いて遠隔コンピュータ計算装置３１０ｒのタッチスクリーン３１２上のタッチジェスチャ（例えば、タッチ場所座標、ジェスチャ経路、ジェスチャ持続時間等）を求めることができる。
【０２３５】
アプリケーションエンジン３４１０は、ロボットモデル１００ａの姿勢を求めるためにロボットデータモデル３４３０にアクセスすることができる。ロボットデータモデル３４３０は、ロボット１００の４つの自由度（例えば、頭部１６０をパンすること／傾動させること、胴部高さＨTの変更及びロボット１００の回転）を説明することができる。ロボットデータモデル３４３０により、４つの自由度によるロボットモデル１００ａの図形による操作を可能にし、例えば、３‐Ｄマップ３３１０内でロボットモデル１００ａの姿勢を動かしたり変更したりすることができる。さらに、アプリケーションエンジン３４１０は、遮蔽に起因した光の減衰を考慮に入れることによりリアリズムを局所反射モデルに追加するために環境遮蔽（アンビエントオクルージョン）、即ち、３‐Ｄコンピュータグラフィックスで用いられているシェーディング方法を実施することができる。環境射影は、光が特に通常非反射面と考えられる物体から現実世界において放射する仕方に近似しようとする。局所方法とは異なり、フォン（Phong）シェーディングのように、環境遮蔽は、各点における照明がシーン内における他の幾何学的形状の関数であることを意味するグローバルな方法である。環境遮蔽だけで達成されるソフトな外観は、物体が空一面曇った日に見える仕方にほぼ同じである。幾つかの実施例では、アプリケーションエンジン３４１０は、ロボットデータモデル３４３０に低域通過フィルタをかけてロボットモデル１００ａ上の低い反射光を有する多角形を除去する。
【０２３６】
幾つかの具体化例では、アプリケーションエンジン３４１０は、以下のパラメータ、即ち、ロボットモデル座標（ｘ，ｙ，ｚ）、点群座標（ｘ，ｙ，ｚ）、アイポジション３３５０（ｘ，ｙ，ｚ）、アイターゲット３３５２（即ち、視線情報）、光源座標（ｘ，ｙ，ｚ）及び／又はビューポートサイズ（即ち、タッチスクリーン３１２の表示領域）のうちの１つ又は２つ以上をレンダリングエンジン３４５０に伝える。レンダリングエンジン３４５０は、タッチスクリーン３１２上にグラフィックスを表示するためにOpen GLと通信することができる。幾つかの実施例では、レンダリングエンジン３４５０は、レンダリングルーチンを実行すると共に／或いはロボットモデル１００ａの回転又は並進、アイポジション３３５０及び／又はアイターゲット３３５２の変化等を計算するためにＣＰＵ３４７０及び／又はＧＰＵ３４８０と通信する。ロボットモデル１００ａは、ユーザにより別々にタッチ可能であると共に操作可能である１５個のレンダリングされる部分を有するのが良い。
【０２３７】
再び図３３Ｄを参照するとロボット１００は、自律的なナビゲーションが可能であるが、遠隔に位置するユーザが人々との対話をいったん始めると、遠くのユーザは、ロボット１００の完全な制御を必要とする場合がある。典型的なロボット運動、例えば並進及び回転に加えて、遠隔のユーザは、ロボットの肩の高さＨT（図２）及び頭部１６０のパン／チルト位置を調節することができる。ユーザインターフェース（ＵＩ）３３０２上に設けられた簡単なスライダ又はダイヤルがロボット運動学的状態の調節を可能にするが、従来型ＵＩウィジェットは、ロボットの現在の運動学的状態の良好な視覚化をもたらすことができない。ユーザインターフェース３３０２は、ロボット１００を駆動するための方向性パッド３３０８（Ｄ‐パッド）をコントロール部分３３０６中に表示することができる。
例えば、方向性パッド３３０８は、ホロノミックＸ‐Ｙ駆動指令に対応した左及び右側行為ボタン又はコントロール３３０８ａ，３３０８ｂを有するのが良い。方向性パッド３３０８は、ビデオゲームコンソールゲームパッド、ゲームコントローラ又はテレビジョン用のリモートコントロールユニットと同一又は類似しているのが良い。左側及び右側ボタン又はコントロール３３０８ａ，３３０８ｂ上の組み合わせジェスチャは、組み合わせ運動指令、例えば上及び左を斜め運動方向として分析することができる。
【０２３８】
幾つかの実施例では、ソフトウェアアプリケーションは、仮想浮動及び不可視Ｄ‐パッド３３０８及び／又はマウスルックを提供することができ、したがって、ユーザの左親指がタッチスクリーン３１２に当たった場合にはどのような場合であっても、Ｄ‐パッド３３０８は、浮動すると共に／或いはユーザの右親指がタッチスクリーン３１２に当たった場合にはどのような場合であってもマウスルックが浮動する。これら特徴の両方又はいずれか一方は、ユーザが自分の親指を持ち上げたときにはリセット可能である。
【０２３９】
また図３３Ｂ〜図３３Ｄを参照すると、ソフトウェアアプリケーション３３００により表示されるユーザインターフェース３３０２（例えば、ビュー）は、例えば、ロボット１００と通信状態にあるウェブパッド３１０のタッチスクリーン３１２上のジェスチャ認識によりユーザ入力を受け取る。例示のジェスチャとしては、タップすること（任意の回数のタップ）、ピンチイン及びピンチアウト（ビューをズームするため）、パンすること又はドラグすること、スワイプすること（任意の方向に）、回転させること（フィンガを互いに逆方向に動かすこと）及び／又は長押し（「タッチアンドホールド」とも呼ばれている）が挙げられるが、これらには限定されない。ソフトウェアアプリケーション３３００は、タッチスクリーン３１２上のジェスチャを認識することができ、そしてロボット１００のための対応の指令された運動を決定することができる（例えば、ロボットモデル１００ａを操作し又はこれに指令したときに）。ロボット指令をウェブパッド３１０から実際の空間内のロボット１００に伝達するのが良く、次にオプションとして点群３２００で第３の人のモードビュー（例えば、指令に従ってロボット１００が動いている状態を示している）中に再現すると共に示された状態で逆伝搬させることができる。例えば、タッチジェスチャＡＰＩ３４４０を用いたアプリケーションエンジン３４１０は、受け取ったタッチジェスチャを認識することができ、そして、例えばタッチルーチンにより取り扱い可能なタッチ事象を発生させることによりそれに応じて応動することができる。
【０２４０】
ソフトウェアアプリケーション３３００は、タッチ事象を受け取ると共に／或いはタッチ認識機能を実行し（タッチジェスチャＡＰＩ３４４０を用いて）、それにより存在場所（又は、マルチフィンガタッチの場所）、経路、持続時間及び／又は他のタッチ認識データを確認することができる。タッチスクリーン３１２上のタッチ場所を２‐Ｄレイアウトマップ１８１０上の対応の場所に直接投影することができるが、３‐Ｄマップ１８１０の場合、ソフトウェアアプリケーションは、２‐Ｄタッチジェスチャを図３５に示されているように切頭体投影に沿って投影する。２‐Ｄタッチスクリーン３１２上に表示された３‐Ｄシーン１０ａ内のタッチ場所を定めるため、ソフトウェアアプリケーション３３００は、タッチスクリーン３１２上のタッチ場所３５１０を切頭体投影３５００に沿ってタッチ場所３５１０を３‐Ｄシーン１０ａ中の対応の交差点３５２０に投影することができる。
【０２４１】
ロボット１００を種々の仕方で第三者モードで案内することができる。一手法では、オペレータは、表示された３‐Ｄシーン１０ａ内の床の場所３５１０を選択する（例えば、ポインティング装置を用いて又はロボット１００と通信状態にあるウェブパッド３１０のタッチスクリーン３１２上の場所を選択して）。ソフトウェアアプリケーション３３００は、選択したフロアアプリケーション３５１０を切頭体投影３５００に沿って３‐Ｄシーン１０ａに投影させて３‐Ｄシーン１０ａ内の対応の選択されたシーン点３５２０を求める。ソフトウェアアプリケーション３３００は、シーン点３５２０（例えば、実際の空間座標として）コントローラ５００に伝えることができ、コントローラ５００は、駆動指令を出してロボット１００を識別されたロボット経路２１１０（図２１Ｂ）に沿って障害物１２をよけて選択された場所まで動かすことができる。
【０２４２】
ソフトウェアアプリケーション３３００及び／又はコントローラ５００は、事後衝突検出のために（衝突がシミュレートされたモデルで起こった後）１つ又は２つ以上の物理的シミュレータを実行するのが良い。事後衝突検出では、ソフトウェアアプリケーション３３００及び／又はコントローラ５００は、物理的シミュレータを一タイムステップだけ前進させ、次に、物体１２が交差しているかどうか又は物体１２が交差していると考えられるしきい距離内に存在しているかどうかをチェックする。各シミュレーションステップでは、全ての交差した物体１２のリストを作り、これら物体の位置及び軌道を幾分「固定」して衝突を説明する。事後シミュレーションでは、衝突は、これが実際にシミュレーションで起こった後に検出される。衝突検出アルゴリズムは、無数の物理的変数を知る必要はなく、物理的物体の単純なリストがアルゴリズムに送られるのが良く、プログラムは、交差物体のリストに戻る。衝突検出アルゴリズムは、摩擦、弾性衝突、非弾性衝突及び変形可能な本体を理解する必要はない。シミュレータにおいて衝突のないロボット経路２１１０を識別した後、ロボット１００は、シーン１０を実際の空間内で進むことができる。
図３３Ｅを参照すると。ソフトウェアアプリケーション３３００は、受け取った行き先場所Ｌ2及び行き先場所Ｌ2までのロボット１００の現在の場所Ｌ1から行き先場所Ｌ2までのシーンの仮想空間内の投影経路を用いることができる。点群３３２０及び／又は既知の床平面３３３２は、衝突検出のための仮想表面となることができる。ロボット経路３３５０を仮想空間内でロボット１００の現在の場所Ｌ1から選択された行き先場所Ｌ2まで投影することができ、ついには、ロボット経路は、仮想表面に当たる。ソフトウェアアプリケーションは、仮想平面までのロボット経路３３５０のための駆動指令を分析することができる。
【０２４３】
図３３Ｄ及び図３５を参照すると、タッチスクリーン３１２上のロボットモデル１００ａを操作するため、ユーザは、ロボットモデル１００ａの胴部１４０にタッチし、これを垂直に動かし、そしてリリースして胴部肩高さＨTを変化させることができる。ソフトウェアアプリケーション３３００は、タッチ箇所３５１０を切頭体投影３５００に沿ってスクリーン３１２上に投影することができ、それにより３‐Ｄシーン１０ａ内における対応のタッチ点３５２０を求めることができ、かかるタッチ点は、この実施形態では、ロボットモデル１００ａの胴部１４０と交差する。ソフトウェアアプリケーション３３００は、タッチジェスチャＡＰＩ３３４０を用いて受け取ったタッチジェスチャの特性を求め、それによりこの場合指令を送って胴部肩高さＨTを変えることによってそれに応じて応動する。ユーザは、タッチスクリーン３１２上のロボットモデル１００ａの胴部１４０（又はロボットモデル１００ａ）の他の部分にタッチし、これを水平に動かし、そしてリリースしてロボット１００を回転させることができる。ユーザは、ロボットモデル１００ａの前側バンパ１２４ａ（図４Ａ）にタッチし、前側バンパ１２４ａを保持してロボットを後方に動かすことができる。ロボット１００を前方に動かすためには、ユーザは、ロボットモデル１００ａの後側バンパ１２４ｂ，１２４ｃ（図４Ａ）のうちの一方にタッチし、保持し、そしてロボットをシーンビュー３３０４内で前方に動かすのが良い。３つのバンパ１２４ａ〜１２４ｃのうちの１つを素早くタップすると、ロボットは、短い距離（例えば、１０ｃｍ）動くことができる。ユーザは、ロボットモデル１００ａの頭部１６０にタッチし、水平に動かし、次に頭部１６０をリリースすることによってロボット１００の頭部１６０をパンすることができる。同様に、頭部１６０を傾動させるため、ユーザは、ロボットモデル１００ａの頭部１６０にタッチし、そしてこれを垂直に動かすのが良い。
【０２４４】
幾つかの実施例では、ユーザは、合成又は組み合わせ運動（例えば、頭部１６０を同時にパンして傾動させること）によって多数の調節を同時に行うことができる。局所ウェイポイント指令を接着するため、ユーザは、ロボットモデル１００ａの基部１２０にタッチし、これを任意の方向に動かし、そしてこれをリリースするのが良い。リリース箇所は、地面平面３３３２に投影可能である。他の認識可能なジェスチャとしては、新たなセンサデータに基づく３‐Ｄシーン１０ａをアップデートするためにロボットモデル１００ａの頭部１６０を素早くタップすること及び／又はタッチすること、動かすこと（任意の方向に）及びロボットモデル１００ａの頭部１６０をリリースしてヘッドパン／チルト方向を設定することが挙げられる。リリース箇所は、３‐Ｄシーン１０ａ内の有効点（即ち、点群３３２０中の点）に十分近い３‐Ｄ空間内の点に投影可能である。
【０２４５】
図３６Ａを参照すると、ソフトウェアアプリケーション３３００は、第３パースペクティブビューを３‐Ｄシーン１０ａ中のロボット１００のモデル１００ａの肩ビュー（例えば、第三者シュータビュー）上に投影することができる。アイポジション３３５０は、ロボットモデル１００ａの背後に初期デフォルト位置を有するのが良く、オプションとして、パースペクティブのために持ち上げられるのが良い。ロボットモデル１００ａは、ロボット１００の現在の姿勢及びロボットの周りの視認された空間ボリューム３３３０に対するロボット１００の現在の向きで示されるのが良い。さらに、ロボットモデル１００ａ及び３‐Ｄマップ３３１０は、ロボット１００のオペレータの視点及び／又は他の視点から示されるのが良く、これらの例は、図３３Ｅ〜図３３Ｇ、図３６Ａ及び図３６Ｂに示されている。
【０２４６】
図３６Ａ〜図３６Ｃを参照すると、フリールックジェスチャ指令（マウスルックとも呼ばれている）が３‐Ｄマップ３３１０を回転させ又は違ったやり方でロボットモデル１００ａ及び３‐Ｄシーン１０ａのビューパースペクティブを動かす機能（例えば、ジェスチャ認識を介して）を提供する。さらに、フリールック指令により、ユーザは、ロボットモデル１００ａをホロノミック的に回転させると共に／或いはカメラ３２０，４５０をパンし又は傾動させることができる。シーン視認のため、ユーザは、ロボットモデル１００ａにタッチし、これを任意の方向に動かし、そして開放空間上にリリースして３‐Ｄシーン１０ａ内におけるアイポジション３３５０を変更することができる。この作用効果としては、アイ標的ポジション３３５２を不変のままにすることによって３‐Ｄシーン１０ａ内におけるロボットモデル１１０の回りに動くことが挙げられ、アイ標的ポジション３３５２は、デフォルトにより、ロボット開始位置に設定できる。図３６Ａ及び図３６Ｂに示された実施例では、ユーザは、３‐Ｄマップ３３１０を回転させてロボットモデル１００ａ及び３‐Ｄシーン１０ａをロボットモデル１００ａに対して横から視認する。ロボットモデル１００ａは、３‐Ｄシーン１０ａ内でその開始位置から遠ざかることができる。さらに、アイターゲット位置３３５２は、ロボット１００に追従する必要はない。ロボットモデル１００ａの胴部１４０を２回タップすると、アイターゲット位置３３５２をロボットの現在の位置に変えることができる。
【０２４７】
図３６Ｃを参照すると、３‐Ｄシーン１０ａの視認領域を定めるため、ソフトウェアアプリケーション３３００は、視線３３５４をアイポジション３３５０からアイターゲット３３５２に投影するのが良い。図示の実施例では、ソフトウェアアプリケーション３３００は、実際のシーン１０に対してタッチスクリーン３１２の仮想位置を用い、次に視線投影像３３５４をアイポジション３３５０（例えば、ユーザの肩の上のデフォルト位置に当初配置される）からタッチスクリーン３１２上のスクリーン点３３５６を介して配置して３‐Ｄシーン１０ａ内のアイターゲット位置３３５２を求めることができる。ソフトウェアアプリケーション３３００は、タッチスクリーン３１２の受け取った表示領域を用いてレンダリングされた３‐Ｄシーン１０ａのサイズを求めることができる。初期アイポジション３３５０は、ロボット１００の後ろに５メートルのところに位置すると共に地面より上方に４５°の角度ψをなして視線３３５０に沿って高くされるのが良い。ロボットモデル１０ａの初期場所は、３‐Ｄシーン１０ａ内に心出しされるのが良く、スクリーン３１２の初期仮想場所は、アイポジション３３５０とロボット１００上の初期アイターゲット３３５２との間のベクトル（例えば、視線３３５４）に沿って位置するのが良い。
【０２４８】
アイポジション３３５０及び／又は視線３３５４を変更するためには、ユーザは、３‐Ｄマップ３３１０の非可動部分（例えば、ロボットモデル１０ａではなく、３‐Ｄシーン１０ａの一部）を選択し、タッチ場所をスクリーン３１２に沿って動かし、そしてリリースするのが良い。ソフトウェアアプリケーション３３００は、アイポジション３３５０をアイターゲット３３５２又はスクリーン場所３３５６（即ち、タッチ場所）に対して対応した量回転させるのが良い。
【０２４９】
幾つかの具体化例では、ソフトウェアアプリケーション３３００は、アイポジション３３５０及び選択されたスクリーン場所３３５６を用いて視線３３５４をアイポジション３３５０からスクリーン場所３３５６を介してアイターゲット３３５２としての３‐Ｄスクリーン１０ａとの交差点に投影するのが良い。アイターゲット３３５２の集まりを用いると、ロボット１００を分析されたアイターゲット３３５２に沿う既定の経路に沿って案内するための駆動指令を求めることができる。追加の実施例では、ソフトウェアアプリケーション３３００は、最初のアイ標的３３５２及び最後のアイ標的３３５２をそれぞれ求める第１の選択されたスクリーン場所３３５６及び最後の選択されたスクリーン場所３３５６（例えば、最初のタッチ及びリリース点）を定める。最初のアイ標的３３５２がロボットモデル１００ａの基部１２０に一致し、最後のアイ標的３３５２がロボットモデル１００ａの現在の場所から離れて位置する場合、ソフトウェアアプリケーション３３００は、駆動指令を出してロボット１００を最後のアイ標的３３５２に対応する場所に駆動するのが良い。さらに、ユーザは、ロボット１００がその現在の場所から選択された行き先場所に自律的に進むことができるようにすることができる。
【０２５０】
運動学的状態操作は、ソフトウェアアプリケーション３３００で可能な場合がある。例えば、ソフトウェアアプリケーション３３００は、ロボットモデル１００ａの位置の変化及び／又は運動学的状態を計算することができる（例えば、ロボットデータモデル３４２０を用いて）と共に適当な指令を出してロボット１００をロボットモデル１００ａに同期させることができる。ソフトウェアアプリケーション３３００は、ロボットコントローラ５００と通信し、指令を送ってソフトウェアアプリケーション３３００の変化に基づいてロボット１００の位置及び運動学的状態を調節すると共にロボットモデル１００ａをそれに応じてアップデートするためにロボット１００の位置及び状態の変化のフィードバックを受け取る。換言すると、ロボットの位置及び運動学的状態をソフトウェアアプリケーション３３００とロボット１００との間で同期させることができる。例えば、ユーザは、ロボットモデル１００ａの胴部の高さＨTを変化させ、その頭部１６０を回転させることによりタッチスクリーン３１２上におけるロボットモデル１００ａを操作することができる。モデル操作の認識後、ソフトウェアアプリケーション３３００は、ロボット位置及び運動学的状態データをロボットコントローラ５００に送ることができ、ロボットコントローラは、適当な指令を決定してロボット１００の姿勢を変えると共に／或いはソフトウェアアプリケーション３３００は指令を決定してロボットの姿勢をアップデートし、これら指令を実行のためにロボットコントローラ５００に送る。さらに、ユーザがロボット１００の姿勢及び／又は位置（場所）を変化させることによりロボット１００を物理的に操作する場合、ロボット１００は、対応のデータをソフトウェアアプリケーション３３００に送り、ソフトウェアアプリケーションは、ロボットモデルの姿勢及び２‐Ｄレイアウトマップ１８１０及び３‐Ｄマップ３３１０内のその場所をアップデートする。現在の且つ正確な３‐Ｄマップ３３１０を提供するため、ロボット１００は、１回又は２回以上のロボット‐ロボットモデル同期化後、シーンアップデートルーチンを実行するのが良い。ソフトウェアアプリケーション３３００は、シーンアップデートルーチンの実行頻度を制御することができる。
【０２５１】
幾つかの実施例では、ソフトウェアアプリケーション３３００は、変更後のロボットモデル１００ａのゴースト像を表示し、次に開始位置及び／又は姿勢から変更後の位置及び／又は姿勢まで実際のロボット１００とリアルタイムで動いているロボットモデル１００ａの一連のイメージを順次表示し、ついには、最後の変更後の状態が達成される。
【０２５２】
図３７Ａ及び図３７Ｂを参照すると、幾つかの具体化例では、ソフトウェアアプリケーション３３００は、点群３３２０を分析して認識できない塊３３２４、例えば非反射性物体（例えば、黒色の物体）、光源（例えば、窓）等を確認し、センサシステム４００を用いて認識できない塊３３２４（図３７Ａ）の各々を識別し、次に、認識可能なイメージ３７１０（図３７Ｂ）を対応の認識できない塊３３２４上に引き又はオーバーレイする。ソフトウェアアプリケーション３３００は、シーン１０を見ているカメラ３２０と通信し又はこのカメラ３２０からＲＧＢイメージデータを受け取ることができ、そして認識可能なイメージ３７１０として用いるために認識できない塊３３２４に対応したＲＧＢイメージデータの一部分をトリミングすることができる。他の実施例では、ソフトウェアアプリケーション３３００は、認識可能なイメージ３７１０として用いるために記憶された一般的なイメージを用いることができる。したがって、３‐Ｄマップ３３１０を点群３３２０と点群３３２０上にオーバーレイされ又はこれに合体された１つ又は２つ以上の認識可能なイメージ３７１０の組み合わせとしてレンダリングするのが良い。幾つかの実施例では、認識可能なイメージ３７１０は、部分的に透明であり、したがって、ユーザは、対応の認識できない塊３３２４を部分的に見ることができる。
【０２５３】
図３８を参照すると、幾つかの具体化例では、ソフトウェアアプリケーション３３００は、遠隔コンピュータ計算装置３１０ｒを介してワイヤレスネットワーク又はクラウドコンピューティングネットワーク３８１０によりロボット１００と通信する。通信は、安全のためにファイアウォール３８２０を通るのが良い。幾つかの実施例では、遠隔コンピュータ計算装置３１０ｒは、ロボット１００と仮想プライベートネットワーク（ＶＰＮ）通信又はハイパーテキスト転送プロトコル（ｈｔｔｐ）トンネルを確立する。
【０２５４】
クラウドコンピューティングネットワーク３８１０は、インターネットを利用したコンピューティングを提供することができ、それにより、共有サーバは、リソース、ソフトウェア及びデータを要求に応じて種々のコンピュータ及び他の装置に提供する。例えば、クラウドコンピューティングネットワーク３８１０は、少なくとも１つのサーバコンピューティング装置を含むクラウドコンピューティングサービスであるのが良く、このクラウドコンピューティングサービスは、サービスアブストラクションレーヤ及びこの上にインスタント化されたサーババーチャルマシン上のハイパーテキスト転送プロトコルラッパを含むのが良い。サーバコンピューティング装置は、ＨＴＴＰリクエストをパースし、ＨＴＴＰ応答を送るよう構成されているのが良い。クラウドコンピューティングは、データ及びアプリケーションを維持するためにインターネット及び中央リモートサーバを用いる技術であると言える。クラウドコンピューティングにより、ユーザは、インターネットアクセスにより任意のコンピュータのところでの設定及びアクセスパーソナルファイルなしでアプリケーションにアクセスしてこれらを用いることができる。クラウドコンピューティングは、ストレージ、メモリ、処理及び帯域幅を集中化することによって比較的効率の高いコンピュータ処理を可能にする。クラウドコンピューティングネットワーク３８１０は、スケール変更可能なオンデマンドのコンピューティング電力、ストレージ及び帯域幅を提供することができ、他方、ロボットハードウェア要件を緩和することができる（例えば、ＣＰＵ及びメモリの空き容量を確保することによって）。ロボットをクラウドコンピューティングネットワーク３８１０に接続できることにより、ロボット１００が基地局に戻る必要なく、ロボット動作及び使用履歴の自動的データ収集が可能である。さらに、経時的な連続データ収集により、マーケティング、製品開発及びサポートのために漁ることができる多量のデータを生じさせることができる。
【０２５５】
本明細書において説明したシステム及び技術の種々の具体化例をディジタル電子回路、集積回路、特別設計ＡＳＩＣ（特定用途向け集積回路）、コンピュータハードウェア、ファームウェア、ソフトウェア及び／又はこれらの組み合わせで実現できる。これら種々の具体化例は、プログラム可能なシステム上で実行可能であると共に／或いは解釈可能な１つ又は２つ以上のコンピュータプログラムの状態での具体化例を含むことができ、かかるプログラム可能なシステムは、記憶システム、少なくとも１つの入力装置及び少なくとも１つの出力装置からデータ及び命令を受け取り、データ及び命令を記憶システム、少なくとも１つの入力装置及び少なくとも１つの出力装置に送るよう結合された特定目的又は一般目的であるのが良い少なくとも１つのプログラム可能プロセッサを含む。
【０２５６】
これらコンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション又はコードとも呼ばれる）は、プログラム可能プロセッサのための機械命令を含み、ハイレベル手順及び／又はオブジェクト指向プログラミング言語及び／又はアセンブリ／機械言語で実施できる。本明細書で用いられる「機械可読媒体」及び「コンピュータ可読媒体」という用語は、機械命令及び／又はデータを、機械命令を機械可読信号として受け取る機械可読媒体を含むプログラム可能プロセッサに提供するために用いられる任意のコンピュータプログラム製品、装置及び／又はデバイス（例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス（ＰＬＤ））を意味する。「機械可読信号」という用語は、機械命令及び／又はデータをプログラム可能プロセッサに提供するために用いられる任意の信号を意味している。
【０２５７】
本明細書において説明した本発明の内容及び機能的操作の具体化は、ディジタル電子回路又はコンピュータソフトウェア、ファームウェア又は本明細書において開示した構造及びこれら構造の均等例又はこれらのうちの１つ又は２つ以上の組み合わせを含むハードウェアで具体化できる。本明細書において説明した本発明の内容の実施形態は、１つ又は２つ以上のコンピュータプログラム製品、即ち、データ処理装置により実行可能に又はデータ処理装置の動作を制御するためのコンピュータ可読媒体上にコード化されたコンピュータプログラム命令の１つ又は２つ以上のモジュールとして具体化できる。コンピュータ可読媒体は、機械可読記憶装置、機械可読記憶基板、メモリ装置、機械可読伝搬信号を送る物体の構成物又はこれらのうちの１つ又は２つ以上の組み合わせであって良い。「データ処理装置」という用語は、データを処理するための全ての装置、デバイス及び機械を含み、これらとしては、一例を挙げると、プログラム可能プロセッサ、コンピュータ又は多数のプロセッサ若しくはコンピュータが挙げられる。装置は、ハードウェアに加えて、問題のコンピュータプログラムのための実行環境を生じさせるコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム又はこれらのうちの１つ若しくは２つ以上の組み合わせを構成するコードを含むのが良い。伝搬信号は、適当なレシーバ装置への送信のために情報をコード化するよう生成される人工的に生じた信号、例えば、機械生成電気信号、光信号又は電磁信号である。
【０２５８】
コンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト又はコードとも呼ばれる）は、コンパイルされ又は解釈された言語を含むプログラミング言語の任意の形態で書き込み可能であり、これをスタンドアロンプログラム又はモジュール、コンポーネント、サブルーチン若しくはコンピュータ処理環境で用いられるのに適した他のユニットとして含まれる任意の形態で利用可能である。コンピュータプログラムは、必ずしも、ファイルシステム中のファイルに対応しているわけではない。
プログラムは、問題のプログラムに専用のシングルファイル又は多数のコーディネートされたファイル（例えば、１つ又は２つ以上のモジュール、サブプログラム又はコードの部分を記憶したファイル）中に他のプログラム又はデータ（例えば、メーキャップ言語文章に記憶された１つ又は２つ以上のスクリプト）を保持したファイルの一部分に記憶可能である。コンピュータプログラムは、１つのコンピュータ又は１つのサイトに配置され又は多数の場所に分散して配置されると共に通信ネットワークによって互いに接続された多数のコンピュータ上で実行されるよう利用可能である。
【０２５９】
本明細書において説明したプロセス及び論理の流れは、入力データについて働き、出力を生じさせることによって機能を実行するよう１つ又は２つ以上のコンピュータプログラムを実行する１つ又は２つ以上のプログラム可能プロセッサによって実施できる。プロセス及び論理流れは又、専用目的論理回路、例えばＦＰＧＡ（フィールドプログラマブルゲートアレイ）又はＡＳＩＣ（特定用途向け集積回路）によっても実行可能であり、そして装置は、これらとしても具体化できる。
【０２６０】
コンピュータプログラムの実行に適したプロセッサとしては、一例を挙げると、汎用目的マイクロプロセッサと専用目的プロセッサの両方及び任意種類のディジタルコンピュータの任意の１つ又は２つ以上のプロセッサが挙げられる。一般に、プロセッサは、読み取り専用記憶装置又は読み取り書き込み記憶装置から命令及びデータを受け取る。コンピュータの必須の要素は、命令を実行するプロセッサ及び命令及びデータを記憶する１つ又は２つ以上の記憶装置である。一般に、コンピュータは、データを記憶する１つ又は２つ以上の大量記憶装置、例えば、磁気ディスク、光磁気ディスク又は光ディスクを含み又はこれらからデータを受け取り、若しくはデータをこれらに伝送し又はこれら両方を行うよう作動的に結合される。しかしながら、コンピュータは、かかる装置を有する必要はない。
さらに、コンピュータは、別の装置、例えば、少し挙げてみただけでも、携帯電話、携帯型端末（ＰＤＡ）、移動式オーディオプレーヤ、全地球測位システム（ＧＰＳ）レシーバに埋め込み可能である。コンピュータプログラム命令及びデータを記憶するのに適したコンピュータ可読媒体としては、あらゆる形式の不揮発性メモリ、メディア及び記憶装置が挙げられ、かかる形態としては、一例を挙げると、半導体記憶装置、例えばＥＰＲＯＭ、ＥＥＰＲＯＭ及びフラッシュメモリ装置、磁気ディスク、例えば内部ハードディスク又はリムーバブルディスク、光磁気ディスク、ＣＤＲＯＭ及びＤＶＤ‐ＲＯＭディスクが挙げられる。プロセッサ及びメモリは、専用目的論理回路によって捕捉されるのが良く又はこれらの中に組み込まれるのが良い。
【０２６１】
本明細書において説明した本発明の内容の具体化例は、例えばデータサーバとしてバックエンドコンポーネントを含み若しくはミドルウェアコンポーネント、例えばアプリケーションサーバを含み、或いはフロントエンドコンピュータ、例えばユーザが本明細書において説明した本発明の内容の具体化例と対話することができるようにするグラフィカルユーザインターフェース又はウェブブラウザを有するクライアントコンピュータを含み又は１つ又は２つ以上のかかるバックエンド、ミドルウェア又はフロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムで具体化できる。かかるシステムのコンポーネントは、ディジタルデータ通信の任意の形態又は媒体、例えば通信ネットワークにより互いに接続可能である。通信ネットワークの例としては、ローカルエリアネットワーク（「ＬＡＮ」）及びワイドエリアネットワーク（「ＷＡＮ」）、例えばインターネットが挙げられる。
【０２６２】
コンピューティングシステムは、クライアント及びサーバを含むのが良い。クライアント及びサーバは、一般に、互いに離れており、典型的には、通信ネットワークを介して対話する。クライアントとサーバの関係は、それぞれのコンピュータ上でランすると共に互いに対するクライアント‐サーバ関係を有するコンピュータプログラムによって生じる。
本明細書は、多くの細部を有するが、これら細部は、本発明の範囲又はクレーム請求可能な本発明の制限として介されてはならず、それどころか、本発明の特定の具体化例に特有の特徴の説明として介されるべきである。別々の具体化例に関連して本明細書において説明した或る特定の特徴は又、単一の具体化例において組み合わせ状態で具体化できる。
これとは逆に、単一の具体化例の関連で説明した種々の特徴も又、多数の具体化例において別々に又は任意適当なサブコンビネーションの状態で具体化できる。さらに、特徴を或る特定の組み合わせで用いられるものとして上述し、場合によっては当初その状態でクレーム請求されている場合があるが、クレーム請求されたコンビネーションからの１つ又は２つ以上の特徴は、場合によっては、その組み合わせから削除でき、クレーム請求されるコンビネーションは、サブコンビネーション又はさびコンビネーションの変形例に変更可能である。
【０２６３】
同様に、操作又はステップが図面に特定の順序で記載されているが、これは、かかる操作又はステップが図示の特定の順序又は逐次順序で実施されること又は全ての図示した操作又はステップが所望の目的を達成するために実施されるべきであることを必要条件として理解されるべきではない。或る特定の状況では、多重タスキング及び並行処理が有利な場合がある。さらに、上述の実施形態における種々のシステムコンポーネントの分離は、あらゆる実施形態においてかかる分離を必要とするものであると理解されるべきではなく、上述のプログラムコンポーネント及びシステムは、一般に、単一ソフトウェア製品に互いに一体化でき又は多数のソフトウェア製品にパッケージ化できることは理解されるべきである。
【０２６４】
多くの具体化例を説明した。それにもかかわらず、本発明の精神及び範囲から逸脱することなく、種々の改造例を相当できることは理解されよう。したがって、特許請求の範囲に記載された本発明の範囲内で他の具体化例が存在する。例えば、特許請求の範囲に記載された行為は、別の順序で実施でき、この場合であっても、所望の結果を達成することができる。
【図１】
2014195868.tif 000005
【図２】
2014195868.tif 000006
【図３】
2014195868.tif 000007
【図４Ａ】
2014195868.tif 000008
【図４Ｂ】
2014195868.tif 000009
【図４Ｃ】
2014195868.tif 000010
【図５Ａ】
2014195868.tif 000011
【図５Ｂ】
2014195868.tif 000012
【図５Ｃ】
2014195868.tif 000013
【図５Ｄ】
2014195868.tif 000014
【図６】
2014195868.tif 000015
【図７】
2014195868.tif 000016
【図８Ａ】
2014195868.tif 000017
【図８Ｂ】
2014195868.tif 000018
【図８Ｃ】
2014195868.tif 000019
【図８Ｄ】
2014195868.tif 000020
【図８Ｅ】
2014195868.tif 000021
【図８Ｆ】
2014195868.tif 000022
【図８Ｇ】
2014195868.tif 000023
【図９】
2014195868.tif 000024
【図１０Ａ】
2014195868.tif 000025
【図１０Ｂ】
2014195868.tif 000026
【図１１】
2014195868.tif 000027
【図１２】
2014195868.tif 000028
【図１３】
2014195868.tif 000029
【図１４】
2014195868.tif 000030
【図１５】
2014195868.tif 000031
【図１６】
2014195868.tif 000032
【図１７Ａ】
2014195868.tif 000033
【図１７Ｂ】
2014195868.tif 000034
【図１８Ａ】
2014195868.tif 000035
【図１８Ｂ】
2014195868.tif 000036
【図１８Ｃ】
2014195868.tif 000037
【図１９Ａ】
2014195868.tif 000038
【図１９Ｂ】
2014195868.tif 000039
【図１９Ｃ】
2014195868.tif 000040
【図２０Ａ】
2014195868.tif 000041
【図２０Ｂ】
2014195868.tif 000042
【図２０Ｃ】
2014195868.tif 000043
【図２１Ａ】
2014195868.tif 000044
【図２１Ｂ】
2014195868.tif 000045
【図２１Ｃ】
2014195868.tif 000046
【図２１Ｄ】
2014195868.tif 000047
【図２１Ｅ】
2014195868.tif 000048
【図２１Ｆ】
2014195868.tif 000049
【図２２】
2014195868.tif 000050
【図２３Ａ】
2014195868.tif 000051
【図２３Ｂ】
2014195868.tif 000052
【図２４Ａ】
2014195868.tif 000053
【図２４Ｂ】
2014195868.tif 000054
【図２４Ｃ】
2014195868.tif 000055
【図２５Ａ】
2014195868.tif 000056
【図２５Ｂ】
2014195868.tif 000057
【図２５Ｃ】
2014195868.tif 000058
【図２６Ａ】
2014195868.tif 000059
【図２６Ｂ】
2014195868.tif 000060
【図２６Ｃ】
2014195868.tif 000061
【図２６Ｄ】
2014195868.tif 000062
【図２７】
2014195868.tif 000063
【図２８Ａ】
2014195868.tif 000064
【図２８Ｂ】
2014195868.tif 000065
【図２８Ｃ】
2014195868.tif 000066
【図２８Ｄ】
2014195868.tif 000067
【図２８Ｅ】
2014195868.tif 000068
【図２９】
2014195868.tif 000069
【図３０】
2014195868.tif 000070
【図３１】
2014195868.tif 000071
【図３２】
2014195868.tif 000072
【図３３Ａ】
2014195868.tif 000073
【図３３Ｂ】
2014195868.tif 000074
【図３３Ｃ】
2014195868.tif 000075
【図３３Ｄ】
2014195868.tif 000076
【図３３Ｅ】
2014195868.tif 000077
【図３３Ｆ】
2014195868.tif 000078
【図３３Ｇ】
2014195868.tif 000079
【図３４】
2014195868.tif 000080
【図３５】
2014195868.tif 000081
【図３６Ａ】
2014195868.tif 000082
【図３６Ｂ】
2014195868.tif 000083
【図３６Ｃ】
2014195868.tif 000084
【図３７Ａ】
2014195868.tif 000085
【図３７Ｂ】
2014195868.tif 000086
【図３８】
2014195868.tif 000087
【手続補正書】
【提出日】平成26年5月27日(2014.5.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
移動式ロボット（１００）を作動させて人について行くようにする方法であって、前記方法は、
前記ロボット（１００）に隣接して位置する空間ボリュームから点群を得ることができるよう位置決めされたボリューム形点群イメージング装置（４５０，４５０ａ，４５０ｂ）から三次元イメージデータを受け取るステップと、
受け取った前記三次元イメージデータを物体（２４０６）にセグメント化するステップと、前記物体（２４０６）をフィルタ処理して第１のしきいサイズよりも大きく且つ第２のしきいサイズよりも小さい物体（２４０６）を除去するステップと、
前記フィルタ処理された物体（２４１０）の少なくとも一部分に対応した人（２３００）を識別するステップと、
前記ロボット（１００）の少なくとも一部分を前記識別された人（２３００）に対して動かすステップとを有し、
前記動かすステップは、対応の視野（４５２）を少なくとも実質的に前記識別された人（２３００）の方へ向けるよう前記イメージング装置（４５０，４５０ａ，４５０ｂ）をパンすること及び傾動させることのうちの少なくとも一方によって前記イメージング装置（４５０，４５０ａ，４５０ｂ）の視野（４５２）を前記識別された人（２３００）に維持するステップを更に有する、方法。
【請求項２】
前記三次元イメージデータは、ピクセル（１１７４ｐ）の二次元アレイを含み、各ピクセル（１１７４ｐ）は、深度情報を含む、請求項１記載の方法。
【請求項３】
隣りのピクセル（１１７４ｐ）に対する各ピクセル（１１７４ｐ）の近接性に基づいて前記ピクセル（１１７４ｐ）を前記物体（２４０６）にグループ化するステップを更に有する、請求項１又は２記載の方法。
【請求項４】
前記識別された人（２３００）が前記ロボット（１００）のしきい距離（ＤR）内に位置しているとき、前記ロボット（１００）を前記識別された人（２３００）から遠ざけるステップを更に有し、前記イメージング装置（４５０，４５０ａ，４５０ｂ）の視野（４５２）を前記識別された人（２３００）上に維持するステップを更に有する、請求項１〜３のうちいずれか一に記載の方法。
【請求項５】
前記識別された人（２３００）が前記ロボット（１００）のしきい距離（ＤR）を超えて位置しているとき、前記ロボット（１００）を前記識別された人（２３００）の方へ駆動することによって且つ／或いはウェイポイント駆動指令を送り出して前記ロボット（１００）を前記識別された人（２３００）の追従距離（ＤR）内に駆動することによって、前記ロボット（１００）を駆動して前記ロボット（１００）と前記識別された人（２３００）との間の追従距離（ＤR）を維持するステップを更に有する、請求項１〜４のうちいずれか一に記載の方法。
【請求項６】
前記イメージング装置（４５０，４５０ａ，４５０ｂ）は、地面（５）よりも少なくとも約１フィート（３０．５ｃｍ）、上方の高さ位置のところに位置決めされると共に前記ロボット（１００）の移動方向において床平面を含む空間ボリュームから点群を得ることができるよう差し向けられている、請求項１〜５のうちいずれか一に記載の方法。
【請求項７】
前記第１のしきいサイズは、約８フィート（２４３．８ｃｍ）の高さを含むと共に／或いは前記第２のしきいサイズは、約３フィート（９１．４ｃｍ）の高さを含む、請求項１〜６のうちいずれか一に記載の方法。
【請求項８】
カルマンフィルタを用いて各識別された人（２３００）の運動軌跡を追跡すると共に反映させることによって前記フィルタ処理された物体（２４００）に対応した多数の人（２３００）を識別するステップを更に有する、請求項１〜７のうちいずれか一に記載の方法。
【請求項９】
少なくとも部分的に少なくとも１人の識別された人（２３００）の運動軌跡に基づいて駆動指令を送り出すステップを更に有する、請求項１〜８のうちいずれか一に記載の方法。
【請求項１０】
前記ロボット（１００）の周りのシーン（１０）中の各物体（１２，２４０６）の存在場所を突き止めるステップと、
前記シーン（１０）の物体占有マップ（１７００，１８２０）を作成するステップと、
各物体存在場所について信頼水準を割り当てるステップと、
を更に有する、請求項１記載の方法。
【請求項１１】
各物体存在場所の前記信頼水準を経時的に低下させ、ついには、それぞれの前記物体存在場所を新たに定められた物体存在場所でアップデートするステップを更に有する、請求項１０記載の方法。
【請求項１２】
光を前記ロボット（１００）の周りのシーン（１０）に間欠パルスの状態で放出するステップを更に有し、前記放出された光パルスの周波数を変更するステップを有し、前記光パルスを第１の省電力周波数で放出し、センサ事象を受け取ると、前記光パルスを第２の能動周波数で放出し、前記センサ事象は、前記シーン（１０）内における物体（１２）の存在を表すセンサ信号を含む、請求項１〜１１のうちいずれか一に記載の方法。
【請求項１３】
光のスペックルパターンを前記ロボット（１００）の周りの前記シーン（１０）に放出するステップ、
前記シーン（１０）内の前記物体（１２）からの前記スペックルパターンの反射光を受け取るステップ、
前記シーン（１０）内の基準物体（１２）から反射された前記スペックルパターンの基準イメージを記憶するステップ、前記基準イメージは、前記基準物体（１２）から互いに異なる距離（Ｚn）を置いたところで捕捉され、
前記シーン（１０）内の標的物体（１２）から反射された前記スペックルパターンの少なくとも１つの標的イメージを捕捉するステップ、
前記標的物体（１２）の反射面の距離（ΔＺ）を求めるために前記少なくとも１つの標的イメージを前記基準イメージと比較するステップ及び
前記シーン（１０）の三次元深度イメージを作成するステップを更に有する、請求項１記載の方法。
【請求項１４】
前記標的物体（１２）上の一次スペックルパターンを求めるステップ及び前記一次スペックルパターンと前記基準イメージの前記スペックルパターンとの相互相関性及び非相関性のうちの少なくとも一方をコンピュータ計算するステップを更に有する、請求項１３記載の方法。
【請求項１５】
前記ロボット（１００）を作業面（５）の端から端まで操縦しながら光のスペックルパターンを前記ロボット（１００）の周りのシーン（１０）に放出するステップと、
前記シーン（１０）内の標的物体（１２）の表面から反射された前記放出スペックルパターンの反射光を受け取るステップと、
前記標的物体（１２）の各反射面の距離（Ｚn）を求めるステップと、
前記標的物体（１２）の三次元深度マップを作成するステップと、
前記標的物体（１２）を分類するステップとを更に有する、請求項１記載の方法。
【請求項１６】
前記標的物体（１２）を人（２３００）又は物体（１２）として分類するステップを更に有する、請求項１５記載の方法。
【請求項１７】
前記シーン（１０）内の基準物体（１２）から反射された前記スペックルパターンの基準イメージを記憶するステップを更に有し、前記基準イメージは、前記基準物体（１２）から互いに異なる距離（Ｚn）を置いたところで捕捉される、請求項１５又は１６記載の方法。
【請求項１８】
前記標的物体（１２）上の一次スペックルパターンを求めるステップ及び前記一次スペックルパターンと前記基準イメージの前記スペックルパターンとの相互相関性及び非相関性のうちの少なくとも一方をコンピュータ計算するステップを更に有する、請求項１５〜１７のうちいずれか一に記載の方法。
【請求項１９】
前記標的物体（１２）の前記分類に基づいて前記ロボット（１００）を前記標的物体（１２）に対して操縦するステップを更に有する、請求項１５〜１８のうちいずれか一に記載の方法。
【請求項２０】
光の前記スペクトルパターンを間欠パルスで放出するステップを更に有し、前記放出光パルスの周波数を変更するステップを更に有する、請求項１５〜１９のうちいずれか一に記載の方法。