(57)【要約】      （修正有）【課題】移動デバイス、特に移動ロボットに対して局在化およびマッピング（ＳＬＡＭ）の同時処理の効率を最適化する。【解決手段】誤り粒子が、局在化の粒子フィルタリングプロセス中に導入される。ＳＬＡＭに維持された粒子に対する誤り粒子の重量をモニタすることは、ロボットが局在化していることの検証、および、それが最早局在化していないことの検出を提供する。他の実施例において、移動ロボット環境のセルベースのグリッドマッピングはさらに、それらのセルの占有確率における変化をモニタする。占有確率が変化するセルは動的であるとしてマークされ、このようなセルのマップへの更新は、それら個々の占有確率が安定化するまで停止され或いは修正される。【選択図】図１
2014078254.tif 000002
【特許請求の範囲】
【請求項１】
ａ．移動ロボットと、
ｂ．前記ロボットの動き制御するシステムと、を備え、当該制御するシステムは、
ｉ．ロボットの物理環境を特定するデータを生成するデータ取得システムであって、ロボットの物理環境に対して好ましい動作方位を有するデータ取得システムと、
ｉｉ．前記データ取得システムに応答して、前記ロボットの物理環境と、当該物理環境内の前記データ取得システムの位置とをマップ化しまたはモデル化する、処理装置と、および
ｉｉｉ．前記データ取得システムが、ロボットの物理環境に関してその好ましい方位を失ったか否かを決定するセンサユニットと、を備え、
ｉｖ．前記処理装置は、前記データ取得システムがロボットの物理環境に対して好ましい動作方位を失ったと前記センサユニットが決定した場合、ロボットの物理環境をマップ化しまたはモデル化するために前記データ取得システムによって生成されたデータの使用を、前記センサユニットに応答して停止しまたは修正する装置を含む、移動ロボットシステム。
【請求項２】
請求項１に記載のシステムにおいて、前記データ取得システムは、ロボットの動作環境における品目を特定するための距離測定装置を備える、移動ロボットシステム。
【請求項３】
請求項２に記載のシステムにおいて、前記距離測定装置は、反射光によって距離を測定するために光を発射する、発光および受光装置を備える、移動ロボットシステム。
【請求項４】
請求項２に記載のシステムにおいて、前記距離測定システムはレーザ距離計を含む、移動ロボットシステム。
【請求項５】
請求項１に記載のシステムにおいて、前記センサユニットは加速度計を備える、移動ロボットシステム。
【請求項６】
請求項１に記載のシステムにおいて、前記処理装置は前記移動ロボットから物理的に分離されており、前記移動ロボットと通信している、移動ロボットシステム。
【請求項７】
ａ．移動ロボットと、
ｂ．前記ロボットの動きを制御するシステムと、を備え、当該制御するシステムは、
ｉ．前記ロボットの物理環境を特定するためのデータを生成するデータ取得システムであって、前記ロボットの物理環境に関して好ましい動作方位を有する、データ取得システムと、および
ｉｉ．前記データ取得システムに応答し、前記ロボットの物理環境と、当該物理環境内の前記データ取得システムの位置とのマップを生成する処理装置と、を備え、
ｉｉｉ．前記処理装置は、閾値限界を超える前記マップの一部分が前記マップ中の１個またはそれ以上のエレメントの予め決められたシフトに対応する場合、前記データ取得システムによって生成されたデータに応答して、前記データ取得システムによって生成されたデータの使用を停止しまたは修正する、装置を備える、移動ロボットシステム。
【請求項８】
請求項７に記載のシステムにおいて、前記データ取得システムは、前記ロボットの物理環境中の品目を特定するための距離測定装置を備える、移動ロボットシステム。
【請求項９】
請求項８に記載のシステムにおいて、前記距離測定装置は、反射光に基づいて距離を測定するために光を発射する、発光および受光装置を備える、移動ロボットシステム。
【請求項１０】
請求項８に記載のシステムにおいて、前記距離測定装置はレーザ距離計を含む、移動ロボットシステム。
【請求項１１】
請求項１に記載のシステムにおいて、前記処理装置は前記移動ロボットから物理的に離れており、且つ、前記移動ロボットと通信する、移動ロボットシステム。
【請求項１２】
ａ．デバイスの物理環境のマップを生成する装置であって、前記生成は、前記デバイスの位置の追跡と同時に或いは追跡の前の何れかに行われ、前記生成する装置は前記デバイスの位置の追跡と同時に或いは追跡の前の何れかに前記マップを更新する、マップを生成する装置と、および
ｂ．前記マップ内の前記デバイスの現在の位置を、粒子を生成することによって決定する処理装置であって、前記粒子のそれぞれは前記物理環境内の前記デバイスの潜在的位置および／または方位を表し、前記粒子のデータセットは、前記物理環境内で前記デバイスの位置の変化を追跡するために繰り返して生成され且つ維持される、処理装置と、を備え、前記処理装置は、
ｉ．それぞれの粒子に重量を割当てる装置であって、粒子の重量は、前記ロボットの位置を正確に表現する粒子尤度の他の粒子に対する相対値である、割当てる装置と、
ｉｉ．誤り粒子を導入する装置であって、前記誤り粒子のポテンシャル位置は、それらの粒子に割当てられた重量が前記（ｂ）で記載された粒子の重量に対して一様に低くなるように選択されている、導入する装置と、および、
ｉｉｉ．かなりの数の誤り粒子が前記（ｂ）で記載した粒子の重量に対して最早均一に低くはない重量を有する場合に、前記移動デバイスが非局在化されたか否かを決定するために、前記誤り粒子の重量と前記（ｂ）で記載した粒子の重量とを比較する装置と、を備える、移動デバイス追跡システム。
【請求項１３】
請求項１２に記載のシステムにおいて、前記誤り粒子は、前記移動デバイスの位置の現在の推定に追加のエラーの導入を避けるように選択されている、移動デバイス追跡システム。
【請求項１４】
請求項１２に記載のシステムにおいて、前記移動デバイスはロボットである、移動デバイス追跡システム。
【請求項１５】
請求項１２に記載のシステムにおいて、前記非局在化の決定は、前記誤り粒子の平均重量または重量の中央値を、繰り返して計算しモニタすることを含む、移動デバイス追跡システム。
【請求項１６】
移動デバイスの物理環境のマップの動的領域を特定し且つマーキングするためのシステムであって、
ａ．前記移動デバイスの物理環境を特定するデータを生成するデータ取得システムと、および
ｂ．前記デバイス取得システムに応答して、前記移動デバイスの物理環境と当該物理環境内の前記デバイス取得システムの位置とを、セルベースのグリッド内にマップし或いはモデル化するための処理装置であって、前記セルベースのグリッド内のセルは、１つのセルに相当する物理空間がオブジェクトによって占有されているかまたは空の空間を含んでいるかについての確実性を示す確率が割当てられている、処理装置と、を備え、
ｃ．前記処理装置は、
ｉ．前記データ取得システムによって生成されたデータから前記グリッドマップ内のそれぞれのセルに確率を割り当て且つ更新し、
ｉｉ．セルの占有確率における変化が、現在空であると特定されているセルが占有されるようになったことを示すか、或いは、現在占有されていると特定されているセルが空になったことを示すか、を決定し、さらに
ｉｉｉ．前記確率が変化する間に、障害物を含むか否かのセルの確率について更新されないように、これらのセルにマークを付ける、装置を含む、システム。
【請求項１７】
請求項１６に記載のシステムにおいて、前記マークが付けられたセルはさらに、前記マークが付けられたセル周辺の、予め決められたサイズのゾーンを含む、システム。
【請求項１８】
請求項１６に記載のシステムにおいて、前記移動デバイスはロボットであり、前記システムはさらに距離測定装置を備え、前記距離測定装置は反射光に基づいて距離を測定するために光を発射する発光および受光装置を備え、前記データ取得システムは、前記距離測定装置に応答して前記移動デバイスの物理環境を特定するデータを生成する、システム。
【請求項１９】
請求項１８に記載のシステムにおいて、前記距離測定装置はレーザ距離計を含む、システム。
【請求項２０】
ロボットの移動を制御する方法において、前記方法は、
ａ．前記ロボットの物理環境を特定するデータを生成し、
ｂ．前記データを使用して前記ロボットの物理環境をマップしまたはモデル化し、
ｃ．前記ロボットがその好ましい動作方位を失ったか否かを決定し、
ｄ．前記ロボットがその好ましい方位を失った場合、ロボットがその好ましい方位を失っている間、前記マップの作成を中止し、且つ、前記ロボットがその好ましい方位を取り戻したとき、前記マップの作成を再開し、さらに
ｅ．前記（ａ）から（ｄ）に従って、前記ロボットの動きを制御する、各ステップを備える方法。
【請求項２１】
請求項２０に記載の方法において、前記生成は、レーザ距離計を使用して、前記ロボットの物理環境内でオブジェクトからの距離を測定することを含む、方法。
【請求項２２】
請求項２０に記載の方法において、前記決定は、加速度計によって前記ロボットの非局在化を測定することを含む、方法。
【請求項２３】
ロボットの動きを制御する方法において、前記方法は、
ａ．ロボットの物理環境と、当該物理環境内のロボット位置とを特定するデータを生成し、
ｂ．閾値限界以上のマップの一部分がマップ中の１個またはそれ以上のエレメントの予め決められたシフトに対応する場合、前記データ取得システムによって生成されたデータの使用を停止しまたは修正し、さらに、
ｃ．上記（ａ）および（ｂ）に従って前記ロボットの動きを制御する、各ステップを備える、方法。
【請求項２４】
ロボットの動きを制御する方法において、前記方法は、
ａ．ロボットの物理環境のマップを、ロボット位置の追跡と同時に、或いは先立って生成するステップと、
ｂ．前記マップを、前記ロボット位置の追跡と同時に、或いは先立って、更新するステップと、
ｃ．粒子を生成することによって前記マップ内での前記ロボットの現在位置を決定するステップであって、前記粒子のそれぞれは、ロボットの物理環境内での前記ロボットの潜在位置および／または方位を表現し、ここで、前記粒子のデータセットがロボットの物理環境内での前記ロボットの位置の変化を追跡するために、繰り返して生成され且つ維持され、前記決定するステップはさらに、
ｉ．それぞれの粒子に重量を割当てるステップであって、粒子重量は、ロボット位置を正確に表す粒子尤度の他の粒子に対する相対値である、ステップと、および
ｉｉ．誤り粒子を導入するステップであって、前記誤り粒子の潜在位置は、それらに割当てられた重量が前記ロボットの潜在位置および／または方位を表す粒子の重量に対して均一に低くなるように、選択されている、ステップと、および
ｉｉｉ．かなりの数の誤り粒子が、ロボットの潜在位置および／または方位を表す粒子の重量に関して均一に低い重量を最早持たない場合、前記ロボットが非局在化したか否かを決定するために、前記誤り粒子の重量と前記ロボットの潜在位置および／または方位を表す粒子の重量とを比較するステップと、を含み、
ｄ．前記方法はさらに、前記（ａ）から（ｃ）に従って前記ロボットの動きを制御するステップを備える、方法。
【請求項２５】
ロボットの動きを制御するための方法であって、前記方法は、
ａ．前記ロボットの物理環境を特定するデータを生成するステップと、および
ｂ．セルベースのグリッド内に、ロボットの物理環境と当該物理環境内のロボット位置とをマップ化しまたはモデル化するステップであって、前記セルベースのグリッド内のセルは、セルに該当する物理空間がオブジェクトによって占有されているか或いは空の空間を含むかについての確実性を表す確率が割当てられている、ステップと、
ｃ．グリッドマップ内のそれぞれのセルに、前記生成されたデータから、確率を割り当て且つ更新するステップと、
ｄ．セルの占有確率における変化が、現在空であると特定されたセルが占有されたこと、或いは現在占有されていると特定されたセルが空になったことの何れを示すかを決定するステップと、
ｅ．前記確率が変化する間に、障害物を含むそれらのセルの確率が更新されないように、このようなセルをマーキングするステップと、さらに
ｆ．上記（ａ）から（ｃ）に従って、前記ロボットの動きを制御するステップと、を備える、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、同時継続の、２００９年８月３１日付けで出願され、「Ｃｏｍｐｕｔａｔｉｏｎ  Ｏｐｔｉｍｉｚａｔｉｏｎ  Ｔｅｃｈｎｉｑｕｅｓ  ｆｏｒ  Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ」と題された米国特許仮出願第６１／２３８，５９７号の利益を主張し、その開示全体は参照によって本願に組み込まれる。
【０００２】
本発明の態様は、移動ロボット、さらに特定すると、動作環境内での移動ロボットの動きを容易にするための、移動ロボットの動作環境マッピングに関する。
【背景技術】
【０００３】
移動ロボットがその環境をマップ化することを可能とし、且つ、その位置の作業用データをそのマップ内に維持するためのシステムとして、同時局在化およびマッピング（ＳＬＡＭ）は正確であり且つ多用途である。多くの種類のアプリケーションに対するその信頼性および適合性は、それを、ロボットにあるレベルの自立性を与えるための有用な要素とする。
【０００４】
しかしながら、通常、ＳＬＡＭ技術はコンピュータ集約的な傾向があり、その結果、その効率的な実行にはあるレベルの処理パワーとメモリ容量が必要であり、これは幾つかの消費者製品応用に対して、費用効率がよくないことがある。
【０００５】
消費者マーケットでの競争に必要な低コスト生産目標に直面している人間にとって、経済的なハードウエア環境が、強固なＳＬＡＭシステムを充分に支持することが可能な処理能力およびメモリ能力を含むことは考えられない。従って、開発者が持つコンピュータ能力の限界内でコアＳＬＡＭの効率的な実行を促進する方法を、開発者が探求することは必須である。一般に、このような最適化構想は、処理パワーとシステムのバンド幅を思慮深く利用するものであり、それらの性能にかなり妥協せず、或いは入力データサイズまたはバンド幅を大幅に減少させることのない方法で、ＳＬＡＭアルゴリズムの幾つかを簡略化することを意味する。
【発明の概要】
【０００６】
４個の概念がここに要約されている。これらはそれぞれ、限られたプロセッサパワーおよび／またはメモリ容量を提供するプラットフォーム上で動作する場合に、ＳＬＡＭシステムが効率を維持することを可能とすることを目的としている。これらの最適化方法の幾つかは、完全にソフトウエア内に存在し、或いは、適性に機能させるためにハードウエアサポートの幾つかの要素を必要とする場合もある。
【図面の簡単な説明】
【０００７】
【図１】本発明に係る幾つかの特徴を示すブロック図である。
【図２】図１のある態様に対応する、本発明に係る幾つかの特徴を示すフローチャートである。
【図３】図１のある態様に対応する、本発明に係る他の特徴を示す他のフローチャートである。
【図４】本発明の他の特徴を示すブロック図である。
【図５】局在化反復過程のための粒子の重量分布の一例を示す。
【図６】局在化反復過程のための粒子の重量分布の更なる例を示す。
【図７】局在化反復過程のための粒子の重量分布のさらに他の例を示す。
【図８】検証粒子分布データに基づく、局在化および非局在化状態を示す。
【図９】本発明に係るその他の幾つかの特徴を示すブロック図である。
【図１０】図６のある態様に対応する、本発明のその他の幾つかの特徴を示すフローチャートである。
【図１１】移動ロボットの、その物理環境内における方向性の一例を示す。
【図１２】物理環境内の移動ロボットの方向性の他の一例を示す。
【図１３】図１のある態様に対応する、本発明のその他の幾つかの特徴を示すフローチャートである。
【図１４】物理環境内の移動ロボットの移動および方向性の一つのシナリオを示す。
【図１５】物理環境内の移動ロボットの移動および方向性の更なるシナリオを示す。
【図１６】物理環境内の移動ロボットの移動および方向性の更なる他のシナリオを示す。
【発明を実施するための形態】
【０００８】
１．非局在化の間、ロボット姿勢更新の停止
局在化は、その環境内で、ロボット姿勢（位置及び角度）の規則的な更新を必要とする。これがなされる頻度は、更新操作の結果、どの程度頻繁にデータが処理されるかに依存して、システムパフォーマンス全体に影響する。計算負荷を最小とすることは、低コストハードウエア環境において効率的に機能することができる、ＳＬＡＭシステムを提供するために重要である。
【０００９】
本発明の一つの特徴によれば、ロボットが非局在化されたかのように見えた場合、ロボット位置の更新を排除することによって、計算負荷を減少させることができる。この非局在化において、その更新はとにかく間違ったものである可能性が高いので。
【００１０】
図１は、移動ロボットシステム１００における、上述の特徴の態様を示す図である。図１において、データ取得システム１１０は、移動ロボット１２０の環境に関するデータを生成する。このデータは処理装置１３０への入力データとなる。このデータから、処理装置１３０は、移動ロボットの環境のマップまたはモデルを生成する（ブロック１３２）。処理装置１３０はさらに別の機能(ブロック１３４）を含み、ここでは、マップ要素（エレメント）の閾値限界を超える全てのシフトに対し、マップの生成または更新をモニタする。もし、このような事態が検出されると、処理装置（ブロック１３６）は、データ取得システム１１０からのデータの使用を停止しまたは修正するために、命令を実行することによって応答する。センサユニット１４０は、同様に、データ生成のためのデータ取得システム１１０の好ましい方向性の喪失に対して、データ取得システム１１０をモニタする。検知ユニット１４０が方向性の喪失を検出すると、処理装置１３０は、データ取得システム１１０によって生成されたデータの利用を停止しまたは修正するために、命令を実行することによって応答する。移動ロボット１２０は処理装置１３０に接続されていても良い。センサユニット１４０は、もし存在すれば、移動ロボット１２０に取り付けられていても良い。データ取得システム１１０は、同様に移動ロボット１２０に取り付けられても良く、或いはその代わりに分離されていても良い。
【００１１】
図２は、図１に示すシステムの動作フローを示す。図２において、ブロック２０１で、データ取得システムはロボットの物理環境に関するデータを生成し、ブロック２０２でデータを生じさせる。ブロック２０３において、データ取得システムの方位がモニタされ、データ取得システムがロボットの物理環境に関して好ましい方位を維持しているか否か（例えば、データ取得システムが傾いているか否か、転倒しているか否か、或いはロボットがその物理環境内で機能することができる方位以外の方位を表示しているように見えるか否か）が検出される。ブロック２０４において、好ましい方位が失われていないと、ブロック２０５において、生成されたデータが、ロボットの物理環境のマップを生成し或いは更新するために用いられる。一方、ブロック２０４において、好ましい方位が失われていると、次に、ブロック２０６において、マップの生成が停止され、或いはマップが修正される。ブロック２０５またはブロック２０６の何れかの後に、フローは図１の最上部に戻り、データを生成し且つデータ取得システムの方位をモニタする。
【００１２】
図３は、本発明の他の特徴を示す図である。図３において、マップ生成装置３１０は、移動デバイスをその環境内での局在化のために、移動デバイスの環境マップを提供する。非局在化検出装置３２０はマップ情報を用いてそのデバイスの位置を決定する。粒子生成装置３２２は、移動デバイスの潜在的（ポテンシャル）な姿勢を表す粒子を生成する。粒子重量割り当て装置３２４はそれぞれの粒子に重量を割当て、他の粒子に対するその正確さの相対的尤度を示す。これとは別に、誤り粒子生成装置３２６が、粒子重量割り当て装置３２４によって生成された場合の対応する重量が低くなるように、粒子を生成する。重量が低いことは、移動デバイスの位置を正確に示す確率が低いことを示す。粒子重量比較装置３２８は、誤り粒子の重量を、粒子生成装置３２２によって生成された粒子の重量と比較し、且つ、そのデバイスが正確に局在化されていることを確認し、或いは、非局在化が起こっているか否かを決定する。
【００１３】
本方法は、以下の様に動作する。
１）誤り位置および傾斜した粒子を、追跡粒子セットに導入することができる。後で、検証粒子としても言及される誤り粒子は、それらが、ロボットの位置および傾斜の現在の推定に追加のエラーを導入しないような方法で、選択されることができる。
２）通常、誤り粒子は低い重量を有し、これは、通常、ロボットの現在の位置を正確に表現する確率が低いことに相当している。もし誤り粒子が、一様に低くないがしかしむしろ低い重量と大きい重量の分布或いはある組合せである場合、これはロボットが非局在化されたことを暗示する。
３）もし、ロボットが非局在化されたらしいと決定された場合、その周辺のマップ内でのその位置の更新を、誤り粒子の重量が低い値のより均一な分布に戻るまで、停止しても良い。
【００１４】
図４は、図３に示すシステムの動作フローを示す。図４のブロック４０１で、既存のマップを必要に応じて使用し或いは更新しても良い。ブロック４０２で、粒子が新しく或いは繰り返して生成され、繰り返して生成された粒子は既存の粒子セット中に追加される。ブロック４０３で、それぞれの粒子に重量が割当てられる。ブロック４０４で、誤り粒子が生成され、ブロック４０５で誤り粒子はそれらに割当てられた重量を有する。ブロック４０６で、誤り粒子の重量は、オリジナル粒子セットの重量と比較され、非局在化が発生したか否かが決定される。ブロック４０７で、非局在化のためのチェックがなされる。もし、非局在化が発生していないと、図２のブロック２０５と同じ様に、マップ生成および更新が継続する。非局在化が発生した場合、図２のブロック２０６と同じ様に、マップ生成が停止され或いは修正される。
【００１５】
なぜこの手順をＳＬＡＭシステムで実施するかについては、予防（予備）的理由があり、さらに、コンピュータ負荷の削減を超えた別の利益を提供することができる。非局在化が検出された場合にマッピングを停止することにより、マップの破損を避けることができる。さらに、一旦、非局在化が検出されると、ロボットが再局在化する尤度を増加させるために、例えば、セット中の粒子数を増加させること、或いは、よりルーズなエラーモデルを使用することのような、更なるアクションをイネーブルとすることができる。非局在化の深刻度に応じて、回復に関連するものに加えて、別のアクションを取ることができる。例えば、ロボットは停止し或いは走行を再開することができる。
【００１６】
事例：誤り粒子の導入を介して非局在化を決定すること
ＳＬＡＭスキームの元での局在化への典型的なアプローチは、以下のステップを含むことができる。
１）それぞれの粒子に対して：
ａ）理想的な移動モデル（例えば、走行距離計測法）を適用する。
ｂ）エラーモデル分布から引き出された、位置および角度（ｘ、ｙ、θ）調整を適用する。
ｃ）重量を計算するために、現在のマップに関して評価する。
２）計算された重量に比例する粒子を再サンプリングする。
【００１７】
上記の処理過程に基づく典型的な局在化反復法により、図５に示す粒子重量分布を提供することができる。
【００１８】
図５において、重量によって分類された粒子の分布は、低、中間および高重量の粒子の混合を表す曲線として現れている。分布の左側上部の高重量の粒子は、分類された重量分布上でより低い位置にあるその他の粒子に対して、ロボットの姿勢を正確に表現する、比例的により高い確率を有している。粒子がそれらの重量によってインデックスを付けられた場合、粒子のインデックス番号は、ロボットの姿勢（位置および角度）を正確に表す確率に関して、その他の粒子に対する相対位置を示すことができる。このような枠組み内で、粒子１がもっとも高い正確さの確率を有し、その後の全ての粒子（即ち、粒子２、３、４等）は、それらの姿勢において、順次、より低い正確さの確率を有している。
【００１９】
重量スケール（グラフの縦軸）が、壁からの距離、レーザ距離計のような空間センサからの有効な距離測定値数のような、環境条件に強く依存する場合があることは、注目に値する。誤り粒子の導入を介して非局在化を決定するアプローチは、一般に、環境条件から独立している。
【００２０】
誤り粒子導入の目的は、ロボットの姿勢を表すより高い確率を有する粒子が、最も低いロボット姿勢表示確率を有する粒子よりも、それ程よくない場合を特定することである。このような状況で、殆ど或いは全ての潜在的な（ポテンシャル）姿勢は悪く、従ってロボットはその環境内でその実際の居場所に関して、信頼しうる情報を殆ど或いは全く持たないことを暗に意味している。定義によって、このロボットは非局在化されている。
【００２１】
局在化の状態を評価する過程は、より良い粒子との比較のためのベースライン重量を設定するために、その姿勢を故意に誤らせた追加のテスト粒子を導入することを含んでいる。
【００２２】
粒子評価が角度の誤りに最も敏感であることが往々にして観察される。例えば、ロボット角度における小さな変化は、その周辺環境におけるロボットからオブジェクトへの距離が増加するに伴って、距離測定における大きなエラーに変換できる。大きな角度エラーは、距離に関して類似のレーザ読取分布を持つことができるが、しかしそれらは、全粒子セットの全体の重量を劇的に減少させる場合がある。
【００２３】
通常、最も大きい重量に関して候補位置の角度を表現する粒子は、理想モーションモデルにかなり近い。これを認識すると、非局在化検出の一般に有効なアプローチは、大きな角度オフセット（例えば、±３０°、４０°、５０°、６０°等）を伴って、理想モーションモデルの中央に誤り粒子を導入することである。
【００２４】
もしロボットが正しく局在化されていると、誤り粒子は、図６に示すように、最も低い重量の粒子を含む分類された分布カーブの一端において、共に比較的近接して存在するようになる。
【００２５】
図６において、その目的からここで検証粒子として言及される誤り粒子は、カーブの底部右端上に共に集まっており、それぞれの粒子は、分類された分布の残りからなる粒子よりも、ゼロに近い重量を有する。
【００２６】
ロボットが非局在化されると、多くの正常な粒子は低い重量を有するようになり、それらの多くは、図７に示すように、誤り、即ち検証粒子の幾つかよりも低い重量を有するようになる。
【００２７】
図７において、幾つかの誤り（検証）粒子は、分布の遥か右側に存在しているが、しかし、その他の誤り粒子は粒子セットの残りを通して分散している。誤りであると知られている多くの粒子が他の非検証粒子を超える重量を有しているので、ロボットが非局在化されている可能性が増加する。
【００２８】
非局在化の特定
非局在化の実際の決定は、誤り（検証）粒子の平均のインデックス値を調べることを含む、種々の方法で行うことができる。局在化条件において、殆どまたは全ての誤り粒子は、これらが最も低い重量を有するため、インデックスの底において比較的近接して存在している。局在化ケースにおいて、誤り粒子のインデックスを平均化することによって、誤りおよび非誤り粒子の両者を含む、全粒子セットのサイズに対する大きな数が生成される。
【００２９】
しかしながら、非局在化状態において、誤り粒子は分布曲線に沿って分散し、さらに、それらの重量順に粒子を指標付けする（インデックスを付ける）ことによって、全粒子セットのサイズに関して必ずしも高くない平均化のインデックスを有する、誤り粒子のセットが生成される。一般に、全粒子セットサイズに関して一定で且つ高い値を維持する検証粒子インデックスの平均は、局在化状態を反映している。平均値の低下、或いは平均値が変動し始めることが、非局在化状態を示す。
【００３０】
局在化され且つ非局在化されたこれらの状態の両方が、図８において、平均化された検証粒子でのプロットにおいて示されている。このグラフにおいて、プロットされたデータは平均化された検証粒子インデックスである。局在化反復１から６００に対して、平均化されたデータは高く且つ比較的一定で、これは局在化状態と一致している。反復６００のすぐ後で、平均値が急激に低下し、その後回復する。このデータセットにおいて、この低下は、技術者がロボットを床から持ち上げ別の場所に移動させたことに対応する。インデックス平均における以前の降下と同様に、平均が高く安定した数値に復帰することは、ロボットがそのイベントから回復しているだろうことを示している。
【００３１】
グラフの８００から１０００間の局在化反復点において、データは大きく変動を始める。平均と変動範囲における一貫性の欠如は非局在化状態を示している。以前の大きな非局在化とは異なって、データセットの終わりまでのデータの連続した不安定性によって示されるように、ロボットはこの非局在化から回復できなかったと思われる。
【００３２】
ロボットが非局在化されたことの決定は、平均化された誤り粒子のインデックスを閾値数と比較することによっている。閾値数は、符号化の間に先験的に決定することができるが、しかし、ロボットが局在化されたか否かの評価において、いくらかのヒステリシス（履歴現象）を含むことは、一般的に有益である。例えば、図８に示されるデータセットの後半の部分を見ると、平均化された検証粒子インデックスの変動は、数回にわたって高い数値に達しているが、しかし、それぞれの時点で、数回の反復の後に再び低下している。ロボットが非局在化イベントから回復したか否かの適正な評価は、瞬間的な値のみを見るべきでなく、平均化されたインデックスが高い値に復帰し且つロボットが首尾よく再局在化されたらしいことを立証するに充分な期間にわたって高い値で安定しているか否かを評価するべきである。必要な最小期間も同様にコード（符号）中に定義することができる。
【００３３】
２．マップの動的領域の取り扱い
自身ロ周辺のマップを作成し且つ更新することに携わる、ロボットの前に立ちはだかる難問の一つは、その周辺内における静的および動的エレメントの潜在的な混合である。通常、殆どのロボットの周辺は固定されたままであることが期待される一方、ロボットは、人々、ペット等が動く環境内で機能するように準備されなければならない。
【００３４】
新たに遭遇しマップされていない空間が、動的および静的エレメントの混合を含んでいる場合がある。マップの潜在的に動的な領域のロボットの特定と潜在的に静的な領域のロボットの特定との間の区別をつけることは、ロボットを使用するために有用で且つ正確なマップを作成する上で、最も重要である。
【００３５】
一実施例において、ロボット周辺の静的（永久的）エレメントと動的（一時的）エレメント間を区別する問題には、以下の方法で取り組むことができる。
１）ロボットは、メモリ中に得えられるセルのグリッド空間内にその環境（マップ）の抽象的概念を作成することができ、ここでそれぞれのセルは、セル中の空間が空っぽであるかまたは占有されているかの相対的確率を示す数値を含んでいる。これらの値は、例えば、それぞれのセル内の初期状態値として１２７（即ち、スペクトルの中央の値）を有する、ゼロ（空）から２５４（占有）に及び得る。
２）最も都合よくはレーザ距離計である、空間センサがロボットの周辺を走査し、境界およびその他のオブジェクトまでの距離を測定することができる。このデータストリームは、セルが占有されているか空かをロボットが決定することができる基本情報を提供することができる。例えば、空間センサが壁までの距離を測定すると、ロボット生成マップ上の壁に沿ったその点に対応するセルが占有されている占有確率は増加するが、その一方で、ロボットと壁の間の測定ベクトルに沿った全てのセルに対する占有確率は減少する（何故なら、壁は検出される第１のオブジェクトであるから）。空間センサからの測定を繰り返すことによって、その確率はより確かとなることができる。
３）現在空であると特定されたセルが変化する占有確率を有している場合（即ち、突然占有されているとして現れる）、それはマップの潜在的な動的領域を意味する。
４）もしこのようなセルが検出されると、これらが動的である間、障害物を含む尤度に関して更新されないように、これらにマークを付けることができる。
【００３６】
図９は本発明の他の特徴を含むシステムの図面である。図９において、データ取得システム９１０は、ロボットのような移動デバイスの物理環境に関するデータを生成する。データ取得システムによって生成されたデータは、マップ／モデル処理装置９２０に入力を供給する。マップ／モデル処理装置９２０は、セルベース形状のマップを生成し且つ維持し（ブロック９２２）、さらに、データ取得システムから受信したデータに基づいてそれぞれのセルに占有確率を割当てる（ブロック９２４）。さらに、マップ／モデル処理ユニットは、各セルの占有確率の変化に対して、個々のセルをモニタする（ブロック９２６）。このような変化の検出に基づいて、処理ユニットは、セルが動的であるか否かを決定する。セルが動的であると決定されると、これらのセルにはそのように印が付けられる（ブロック９２８）。これらのセルが動的状態にある間、これらのセルをマッピングし或いは更新することを停止する。
【００３７】
図１０は、図９に示す実施例の動作フローを示す。図１０において、ブロック１００１で、データ取得システムはロボットの物理環境に関するデータを生成し、生成したデータをブロック１００２に与える。ブロック１００３において、生成されたデータは、ロボットの物理環境のマップを生成し或いは更新するために使用される。ブロック１００４において、グリッドマップ中のそれぞれのセルに対する占有確率が割当てられまたは更新される。ブロック１００５において、セルの占有確率が変化したか否かが決定される。変化しない場合、フローはブロック１００１に戻る。変化した場合、ブロック１００６において、占有確率が変化しているセルに動的であると印が付けられ、それによって、占有確率が変化している間それらのセルが更新されないようにする。フローはその後、ブロック１００１に戻る。
【００３８】
ロボット周辺に関する空間データを収集するために使用されるセンサにおける傾斜への対処
マッピングと局在化の一部としてロボットの周辺を正確に描写するためには、空間データを生成しているセンサの方位を周辺形状の主表面に一致するように保持することが必要である。このことは、建物の中或いは同様の筐体内で作動するロボットに対して、２次元内で情報を収集するセンサが、好ましくは、その検出表面を床に平行に維持することを意味する。これは、その床が、そこを移動するロボットが利用可能な移動主表面を定義するからである。
【００３９】
床がでこぼこな表面または不連続表面の領域を持っていることがあり、或いは、床に休止しているオブジェクトが、ロボットの利用可能な表面に不均一性をもたらすので、空間データを収集するセンサが周辺形状の主表面に一致する方位を維持することができない場合もあり、この場合はロボット周辺を誤って描写することになる。
【００４０】
図１１および１２は、センサが床に対する平行方位を失った場合、検出する能力を持たずに空間データを収集するロボットが遭遇する、潜在的な問題を図示する。上側の図において、ロボットは物理境界Ａから物理境界Ｂに向って移動している。この事例においてロボットにマウントされているセンサは、ロボットの最上部に近い高で細線で示される水平面において、空間データを収集する。下側の図において、ロボットは障害物上を移動し始め、この障害物はロボットを後方に傾斜させる。もし、周辺形状に一致した平面中のデータを最早収集していないことをロボットが認識していないと、センサデータによって展開された空間構成は、ロボット周辺によって定義される実際の形状と一致しない。この場合、前方に傾斜したデータ収集平面は、以前に決定した壁の位置Ｂを、さらにＢ’に歪める。データ収集平面上の後方傾斜は、床との交差点を結果として生成し、境界がさらに遠くの位置Ａではなくむしろ、ロボットの背後の位置Ａ’に存在するような印象を作る。
【００４１】
ロボットが床表面中の実質的なでこぼこを越えようとするとき、往々にして車輪スリップは傾斜を伴う。ロボットが新しい領域でその最初のデータを収集している場合にこれが起こると、特に問題となる。何故なら、この歪んだ画像がマップ中に組み込まれる場合があるので。
【００４２】
マップに更新を提供するために、空間境界情報を連続的に生成するロボットに対して、傾斜した状況の間に生成された誤ったデータは、マッピングまたは局在化アルゴリズム中に伝搬することがある。その潜在的な結果は、ある程度のマップの破損を含み、これは往々にして非局在化につながる。
【００４３】
その結果、正常な動作中に傾斜状態を特定するためのストラテジーを提供することが重要であり、そのための２個のアプローチを以下に記載する。これらのアプローチは、それらを別々に、或いは、潜在的に補強するために一緒に使用することができるように設計されている。
【００４４】
３．ソフトウエアにおいて検出され対処される傾斜
一般的に、人々、ペットまたは人間によって動かされ或いは使用されているオブジェクトによって生成された動的領域は、マークすべき動的領域を提供し、この領域は通常、その足跡内に限定される。しかしながら、動的領域が比較的広い領域に沿って広がっている場合、これは、異なるシナリオを提供する場合がある。例えば、マップの境界領域が急にずれ、或いは、多くの可能な連続セルがアクティブとしてタグ付けされる方法でシフトした場合、ロボットが傾斜している可能性が大きい。このような場合、以前に記載した事例で示したように、空間センサの検出面が、ロボットに近い床の一部分が境界であると読めるように、傾斜している可能性がある。動的領域が人間、ペットまたは移動するオブジェクトによって生成されたものよりも、前者との相対的比率において大きい領域を含んでいることをロボットが特定すると、マップの更新が停止されることがある。
【００４５】
図１３は、図１において示されたシステムの動作フローを、ロボットの傾斜がソフトウエアによって検出され且つ対処される変化を伴って、表示する。ブロック１３０１において、データ取得システムはロボットの物理環境に関するデータを生成し、生成されたデータをブロック１３０２に出力する。ブロック１３０３において、生成されたデータは、ロボットの物理環境マップを生成しまたは更新するために使用される。ブロック１３０４において、マップの全てのエレメント（例えば、マップ境界領域）が閾値限界を超えてシフトしたかを見るためのチェックがなされる。Ｎｏの場合は、ブロック１３０５で、マップの生成または更新を継続する。しかしながら、ブロック１３０４において閾値限界を超えるシフトがある場合、ブロック１３０６において、マップの生成が停止され、或いは、マップが修正される。この観点において、停止しまたは修正するための命令は処理装置内で生成され、センサユニットが起源ではない。ブロック１３０５またはブロック１３０６の何れかの後、フローはデータ生成に戻り、それによって、マップエレメントが閾値限界内に戻ったか否かを見るために、更なるチェックを行うことができる。
【００４６】
マッピングのために生成されたデータの使用を停止するかまたは修正するための命令が、センサユニットからまたは処理装置内から必ずしも来る必要がないことに、注意すべきである。図１に示すシステムのこれらそれぞれの特徴は、同時に機能することができる。
【００４７】
動きの検出は、例えば、ロボットの周辺を連続して走査することが可能なレーザ距離計によってなされる、空間走査に依存している。走査が、継続的な距離測定値が“動的な”動きを示していることを示した場合、集合距離によって、または、距離微分によって表現される空間距離を、予め定義された閾値と比較することができる。最初から最後の距離測定との間の差が閾値より大きい場合、ロボットは傾斜していると結論付けることができる。図１４は、このようなシナリオの一例を提供する。位置Ａのロボットが部屋を進み、出入口を通過して隣室に入っていく場合を考える。ロボットが、その周辺の物理的限界を描くことを可能にする、平面空間センサを使用していると仮定する。このようなセンサは、開いている出入口を通して隣接する部屋の壁のある部分を検出する場合があり、これによって、この事例では、壁部分Ｂの検出された長さを生じさせることができる。もし、前進するロボットが、例えば、厚いじゅうたんのような障害物に遭遇し、その結果としてロボットがオブジェクトをまたぐ場合（例えば、左側の車輪がじゅうたんによって持ち上げられ、他方、右側の車輪は床の上を継続して転がる場合）、ロボットのセンサ平面は右側に向って傾斜するようになる。部屋の形状および傾斜の程度に依存して、隣接する部屋の壁をＢであると検出したセンサ平面の部分が、遥かに近い位置Ｂ’で隣接する部屋の床を横断することが可能となる。このような場合、ロボットがその周辺のマップを更新するに従って、データは、ＢからＢ’への急な壁の境界シフトを示すことがあり、その一方で、その他の境界は位置の変化を僅かに示し、或いは全く示さない。ロボットが連続したセルにおける突然の変化−水平動作の間のＢ’における空のセルから、ロボットが傾斜している場合のＢ’における占有されたセルまで−をモニタするために、傾斜事象が起こったことの決定は、連続する新しく“占有された”セルによって表現される物理的長さと予め定義された閾値との間の比較に基づく場合もある。もし、表現された距離、または距離差が閾値と一致し或いは閾値を超えた場合、ロボットが傾斜していると結論付けることができ、そして、マップの更新を停止することができる。
【００４８】
４．ハードウエアにおいて検出され且つ対処される傾斜
ハードウエアにおける傾斜の検出は、部品取りつけ表面の方位における変化を検出する加速度計または類似の部品を含むことができる。
【００４９】
このアプローチでは、空間スキャナによって生成されたデータを方位の変化に関するデータによって補完することができる。空間センサのデータに対して文脈上の検証を提供するこの後者のデータセットによって、傾斜検出部品が、空間センサがその好ましい方位を失ったことを示した間に収集された情報を放棄することもできる。典型的な実施例において、このデータは、局在化またはマップソフトウエアによって処理される前に、放棄されてもよい。
【００５０】
図１５に示すように、ロボットは、ロボット周辺からの水平面における２Ｄ空間情報を使用する。ドットラインは感知周辺を示し、この周辺は、ロボット周辺のオブジェクトと交差する空間感知平面によって形成される。この周辺は、近くの障害物と壁及びドアによって表現される境界とをロボットに通知する。
【００５１】
図１６に示すように、ドアフレームのような低い障害物あるいはでこぼこの表面をロボットが横切る場合、ロボットが床に対する平行配置を失う場合がある。その結果、ロボット周辺の空間情報を収集するロボットに固定されたセンサは、水平から離れた角度でデータを収集する場合がある。図１６のドットラインは、空間センサの検出面とロボット周辺のオブジェクト表面との交差点を示す。ロボットが傾斜すると、生成された空間データは誤ったものとなる。ロボットの前方の壁までの計算された距離は、Ｂ’における検出面がより高い点で壁と交差するために、歪んだものとなる。さらに危険なことに、ロボットの背後の床との検出面の交点は、Ａ’での直線境界を間違って報告する。
【００５２】
本発明の幾つかの特徴と観点が、単に例示のみで限定目的ではない、特定の実施例を参照して詳細に説明され記載されている。ここで、“一実施例”或いは“一つの実施例”との言及は、この実施例と関連して記載されたある特徴、構造、動作またはその他の特徴が少なくとも本発明の１つの実施中に含まれるであろうことを意味する。しかしながら、明細書の種々の場所で表れる、“一実施例”或いは“一つの実施例”との表現は、必ずしも同じ実施例に言及するものではない。当業者は、上記実施例の何れかまたは全てを個々に、或いは矛盾しない組合せまたは置換で使用することができるものと、考えられる。当業者は、開示された実施例に対する代替的な実施および種々の修正が、本開示の範囲および意図内であることを理解するものと考えられる。従って、本発明は添付の請求の範囲によってのみ限定されると考えるべきである。
【図１】
2014078254.tif 000003
【図２】
2014078254.tif 000004
【図３】
2014078254.tif 000005
【図４】
2014078254.tif 000006
【図５】
2014078254.tif 000007
【図６】
2014078254.tif 000008
【図７】
2014078254.tif 000009
【図８】
2014078254.tif 000010
【図９】
2014078254.tif 000011
【図１０】
2014078254.tif 000012
【図１１】
2014078254.tif 000013
【図１２】
2014078254.tif 000014
【図１３】
2014078254.tif 000015
【図１４】
2014078254.tif 000016
【図１５】
2014078254.tif 000017
【図１６】
2014078254.tif 000018
【手続補正書】
【提出日】平成25年12月18日(2013.12.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
移動デバイスの物理環境のマップの動的領域を特定し且つマーキングするためのシステムであって、
ａ．前記移動デバイスの物理環境を特定するデータを生成するデータ取得システムと、および
ｂ．前記デバイス取得システムに応答して、前記移動デバイスの物理環境と当該物理環境内の前記デバイス取得システムの位置とを、セルベースのグリッド内にマップし或いはモデル化するための処理装置であって、前記セルベースのグリッド内のセルは、１つのセルに相当する物理空間がオブジェクトによって占有されているかまたは空の空間を含んでいるかについての確実性を示す確率が割当てられている、処理装置と、を備え、
ｃ．前記処理装置は、
ｉ．前記データ取得システムによって生成されたデータから前記グリッドマップ内のそれぞれのセルに確率を割り当て且つ更新し、
ｉｉ．セルの占有確率における変化が、現在空であると特定されているセルが占有されるようになったことを示すか、或いは、現在占有されていると特定されているセルが空になったことを示すか、を決定し、さらに
ｉｉｉ．前記確率が変化する間に、障害物を含むか否かのセルの確率について更新されないように、これらのセルにマークを付ける、装置を含む、システム。
【請求項２】
請求項１に記載のシステムにおいて、前記マークが付けられたセルはさらに、前記マークが付けられたセル周辺の、予め決められたサイズのゾーンを含む、システム。
【請求項３】
請求項１に記載のシステムにおいて、前記移動デバイスはロボットであり、前記システムはさらに距離測定装置を備え、前記距離測定装置は反射光に基づいて距離を測定するために光を発射する発光および受光装置を備え、前記データ取得システムは、前記距離測定装置に応答して前記移動デバイスの物理環境を特定するデータを生成する、システム。
【請求項４】
請求項３に記載のシステムにおいて、前記距離測定装置はレーザ距離計を含む、システム。
【請求項５】
ロボットの動きを制御するための方法であって、前記方法は、
ａ．前記ロボットの物理環境を特定するデータを生成するステップと、および
ｂ．セルベースのグリッド内に、ロボットの物理環境と当該物理環境内のロボット位置とをマップ化しまたはモデル化するステップであって、前記セルベースのグリッド内のセルは、セルに該当する物理空間がオブジェクトによって占有されているか或いは空の空間を含むかについての確実性を表す確率が割当てられている、ステップと、
ｃ．グリッドマップ内のそれぞれのセルに、前記生成されたデータから、確率を割り当て且つ更新するステップと、
ｄ．セルの占有確率における変化が、現在空であると特定されたセルが占有されたこと、或いは現在占有されていると特定されたセルが空になったことの何れを示すかを決定するステップと、
ｅ．前記確率が変化する間に、障害物を含むそれらのセルの確率が更新されないように、このようなセルをマーキングするステップと、さらに
ｆ．上記（ａ）から（ｃ）に従って、前記ロボットの動きを制御するステップと、を備える、方法。
【請求項６】
請求項１に記載のシステムにおいて、前記セルにマークを付ける装置は、セルの個々の占有確率が安定化するまで、セルベースのグリッドマップにおいてこれらのセルの更新を停止するための装置を含む、システム。
【請求項７】
請求項１に記載のシステムにおいて、前記処理装置は更に、傾斜イベントが起こったか否かを決定する為に連続したセルにおける突然の変化をモニタする装置を含む、システム。
【請求項８】
請求項７に記載のシステムにおいて、前記処理装置は更に、前記傾斜イベントが起こったか否かを決定する為に、連続したセルによってあらわされる物理的長さと予め定義された閾値とを比較するための装置を含む、システム。
【請求項９】
請求項５に記載の方法において、前記マーキングは、セルの個々の占有確率が安定化するまでこれらのセルの更新を停止することを含む、方法。
【請求項１０】
請求項５に記載の方法において、更に、傾斜イベントが発生したか否かを決定する為に、連続するセルにおける突然の変化をモニタするステップを含む、方法。
【請求項１１】
請求項１０に記載の方法において、更に、前記傾斜イベントが発生したか否かを決定する為に、連続したセルによって表される物理的長さを予め決定された閾値と比較するステップを含む、方法。
【外国語明細書】
2014078254000001.pdf