(57)【特許請求の範囲】
【請求項１】
自律ロボット（１００）に搭載されたコンピュータにより前記ロボットの環境内の障害物の不在および存在の少なくとも一方の確率のピクセルマップを判断するための方法であって、前記方法は、
−前記ロボットの周囲に規定されたピクセルマップ（３４０、３５０）の複数の初期マップを前記ロボットに搭載されたメモリにおいて初期化する工程であって、ピクセルマップの前記複数の初期マップは所定境界を有し、所定寸法のピクセルが敷かれ、各ピクセル内の障害物の不在または存在の少なくとも一方の確率の値が所定値に設定される工程（３１０）と、
−前記ロボットの環境内の障害物の不在および存在の少なくとも一方を表すデータを複数の相補的な感知手順から取得する工程（３３１、３３２）と、
−複数の相補的な感知手順の各１つについて、ピクセルマップの複数の初期マップにおけるピクセルマップの初期マップに次の工程を同時に適用する工程と、
○障害物の不在および存在の確率の値を所定値に近い値に修正する工程（３２０）、
○ピクセルマップの初期マップの少なくとも１つのピクセル内の障害物の不在および存在の少なくとも一方の確率の値を前記データから更新する工程（３３０）、
−更新の後、
○障害物の不在の確率がピクセルマップの初期マップ（９１０ａ、９１０ｂ）の少なくとも１つにおける閾値Ｔｓｏｂｓ未満である各ピクセルの値を融合マップ（９１０ｃ）内の障害物を表す値に設定し、
○融合マップ（９１０ｃ）内の障害物ピクセルでなくかつ障害物の不在の確率がピクセルマップの初期マップ（９２０ａ、９２０ｂ）の少なくとも１つにおける閾値Ｔｓｆｒｅｅを越える各ピクセルの値を融合マップ（９２０ｃ）内の障害物無しピクセルを表す値に設定すること、
によって障害物と未知のピクセルを区切る閾値Ｔｓｏｂｓおよび障害物無しと未知ピクセルを区切る閾値Ｔｓｆｒｅｅによってピクセルマップ（３４０、３５０）の複数の初期マップをマージする工程とを含むことを特徴とする方法。
【請求項２】
ピクセルマップの初期マップは、ロボットが所定数のピクセル内に留まる限り、固定基準座標系において静止したままであり、ロボットがこの所定数のピクセルから出るとロボットと共に移動する、請求項１に記載の方法。
【請求項３】
ピクセルマップの初期マップの前記境界は、前記ロボットが、最大速度で移動する場合に所定の期間で位置し得る領域をカバーするように予め定義される（５１０）、請求項１または２に記載の方法。
【請求項４】
前記所定寸法は衝突回避距離に応じて選択される、請求項３に記載の方法。
【請求項５】
ピクセルマップの初期マップは四角形を画定する（５１０）、請求項４に記載の方法。
【請求項６】
障害物の不在および存在の一方の確率を修正する（３２０）とともにピクセルマップの前記初期マップ（３１０）を初期化するための前記手順内の所定値は確かな障害物の存在を表す値と確かな障害物の不在を表す値との平均値である、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
ピクセルマップの前記初期マップは障害物の不在の確率が０〜１のマップであり、０は確かな障害物の存在（７１０）を、１は確かな障害物の不在（７２０）を、０．５は障害物の未知存在（７３０）を表す、請求項１〜６のいずれか一項に記載の方法。
【請求項８】
障害物と未知ピクセルを区切る閾値Ｔｓｏｂｓは区間［０；０．５］内の数として定義され、障害物無しピクセルと障害物未知ピクセルを区切る閾値は区間［０．５；１］内の数として定義される、請求項７に記載の方法。
【請求項９】
障害物の不在の確率を修正するための時間的進展比Ｒｔｅｍｐは、次式：
Ｒｔｅｍｐ＝ｅｘｐ（ｌｎ（１−２．０×Ｔｓｏｂｓ）／（Ｔｃｏｎｖ×更新頻度））
により前記障害物閾値と収束の所定時間Ｔｃｏｎｖとに従って定義される：、請求項８に記載の方法。
【請求項１０】
障害物の不在の確率を修正する前記手順（３２０）は、工程３１０の出力におけるマップ内のこのピクセルの値ＶＣ３１０に従って工程３２０の出力におけるマップ内のピクセルの値ＶＣ３２０を計算する次の幾何学的分布則：
ＶＣ３２０＝Ｒｔｅｍｐ×（ＶＣ３１０−０．５）＋０．５
を使用する、請求項９に記載の方法。
【請求項１１】
ピクセルマップの複数の初期マップ（３４０、３５０）をマージする工程は、
−第１の事前融合マップと第２の事前融合マップとを生成する工程と、
−前記第１の事前融合マップ内のピクセル内の障害物の不在の確率の値を、ピクセルマップの複数の初期マップ（３４０、３５０）内の同じピクセル内の不在の確率の値の最小値として設定する工程と、
−前記第２の事前融合マップ内のピクセル内の障害物の不在の確率の値を、ピクセルマップの複数の初期マップ（３４０、３５０）内の同じピクセル内の不在の確率の値の最大値として設定する工程と、
−その値が閾値Ｔｓｏｂｓ未満である前記第１の事前融合マップ内のピクセル内の障害物の不在の確率の値を０に設定する工程と、
−その値が閾値Ｔｓｏｂｓを越える前記第１の事前融合マップ内のピクセル内の障害物の不在の確率の値を１に設定する工程と、
−前記融合マップ（３６０）内のピクセル内の障害物の不在の確率の値を、前記第１と第２の事前融合マップ内の同じピクセル内の不在の確率の最小値に設定する工程とを含む、請求項１に記載の方法。
【請求項１２】
ピクセルマップの前記複数の初期マップ中の各マップは、同じタイプの障害物を観測するセンサをグループ化した異なる一組のセンサから取得されるデータを使用することにより更新される、請求項１１に記載の方法。
【請求項１３】
−第１の組のセンサは前記ロボットに搭載されたレーザセンサをグループ化すること、
−第２の組のセンサは前記ロボットに搭載された３Ｄカメラをグループ化すること、
−第３の組のセンサは前記ロボットに搭載された超音波センサをグループ化すること、
−第４の組のセンサは前記ロボットに搭載された接触センサをグループ化すること、
の１つまたは複数を使用する、請求項１２に記載の方法。
【請求項１４】
前記ロボットの前記環境内の障害物の不在および存在の少なくとも一方を表すデータを少なくとも１つの感知手順から取得する前記工程は、
−センサから生データ値（４００）を取得する工程と、
−ロボット運動力学的接合モデル（４１０）と角度関節センサ（４２０）とを使用することにより、前記センサに関連付けられた６Ｄセンサ変換（４３０）を生成する工程と、
−前記センサにより観測された障害物を表す一組の３Ｄ点（４４０）を生成するために前記６Ｄセンサ変換（４３０）と前記生データ（４００）とを使用する工程とを含む、請求項１〜１３のいずれか一項に記載の方法。
【請求項１５】
ピクセルマップの初期マップ内の少なくとも１つのピクセル内の障害物の不在および存在の少なくとも一方の確率の値を前記データから更新する工程は、
−少なくとも１つの３Ｄ点（４４０）が発見された少なくとも１つの２Ｄピクセルを障害物（７１０、８３０ａ、８４０ｂ、８７０ｃ、８７０ｄ）の存在を表す値で埋める工程と、
−前記少なくとも１つの２Ｄピクセルと前記センサの位置との間の線内の各ピクセルを障害物（７２０、８２０ａ、８５０ｂ、８６０ｃ、８６０ｃ）の不在を表す値で埋める工程とを少なくとも含む、請求項１４に記載の方法。
【請求項１６】
自律ロボット（１００）であって、少なくとも、
−複数の指向性距離センサと、
−ロボット運動力学的接合モデル（４１０）と、
−前記ロボットの周囲に規定されたピクセルマップの複数の初期マップを格納する搭載メモリであって、ピクセルマップの前記複数の初期マップは所定境界を有し、所定寸法のピクセルが敷かれ、障害物の存在または不在の少なくとも一方の確率の値が格納される、メモリと、
−各ピクセルの値を所定値に設定することによりピクセルマップの前記複数の初期マップを初期化するモジュールと、
−前記ロボットの環境内の障害物の不在および存在の少なくとも一方を表すデータを複数の前記指向性距離センサから取得するモジュールと、
−ピクセルマップの初期マップに次の工程を同時に適用するモジュールと、
○障害物の不在および存在の確率の値を所定値に近い値に修正する工程（３２０）、
〇ピクセルマップの初期マップの少なくとも１つのピクセル内の障害物の不在および存在の少なくとも一方の確率の値を前記データから更新する工程、
−マージするモジュールであって、
○障害物の不在の確率がピクセルマップの初期マップ（９１０ａ、９１０ｂ）の少なくとも１つにおける閾値Ｔｓｏｂｓ未満である各ピクセルの値を融合マップ（９１０ｃ）内の障害物を表す値に設定し、
○融合マップ（９１０ｃ）内の障害物ピクセルでなくかつ障害物の不在の確率がピクセルマップの初期マップ（９２０ａ、９２０ｂ）の少なくとも１つにおける閾値Ｔｓｆｒｅｅを越える各ピクセルの値を融合マップ（９２０ｃ）内の障害物無しピクセルを表す値に設定すること、
によって障害物と未知のピクセルを区切る閾値Ｔｓｏｂｓおよび障害物無しと未知ピクセルを区切る閾値Ｔｓｆｒｅｅによってピクセルマップ（３４０、３５０）の複数の初期マップをマージするモジュールとを含む、ロボット。
【請求項１７】
コンピュータ可読媒体上に格納されたコンピュータプログラム製品であって、ロボットの環境内の障害物の不在および存在の少なくとも一方の確率のピクセルマップを判断する方法をコンピュータに実施させるコード手段を含むコンピュータプログラム製品において、少なくとも、
−自律ロボット周囲に規定されたピクセルマップの複数の初期マップをメモリ内において初期化するためのモジュールであって、ピクセルマップの前記複数の初期マップは所定境界を有し、所定寸法のピクセルが敷かれ、各ピクセル内の障害物の不在および存在の少なくとも一方の確率の値が所定値に設定される、モジュールと、
−前記ロボットの前記環境内の障害物の不在および存在の少なくとも一方を表すデータを第１のタイプの少なくとも１つの感知手順から取得するモジュールと、
−複数の前記指向性距離センサについて、ピクセルマップの前記複数の初期マップにおけるピクセルマップの初期マップに次の工程を同時に適用するモジュールと、
○障害物の不在および存在の確率の値を所定値に近い値に修正する工程（３２０）、
○ピクセルマップの初期マップの少なくとも１つのピクセル内の障害物の不在および存在の少なくとも一方の確率の値を前記データから更新する工程、
−更新の後、
○障害物の不在の確率がピクセルマップの初期マップ（９１０ａ、９１０ｂ）の少なくとも１つにおける閾値Ｔｓｏｂｓ未満である各ピクセルの値を融合マップ（９１０ｃ）内の障害物を表す値に設定し、
○融合マップ（９１０ｃ）内の障害物ピクセルでなくかつ障害物の不在の確率がピクセルマップの初期マップ（９２０ａ、９２０ｂ）の少なくとも１つにおける閾値Ｔｓｆｒｅｅを越える各ピクセルの値を融合マップ（９２０ｃ）内の障害物無しピクセルを表す値に設定すること、
によって障害物と未知のピクセルを区切る閾値Ｔｓｏｂｓおよび障害物無しと未知ピクセルを区切る閾値Ｔｓｆｒｅｅによってピクセルマップ（３４０、３５０）の複数の初期マップをマージするモジュールとを含むことを特徴とするコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はロボットプログラミングシステムの領域に関する。具体的には、本発明は障害物の不在および存在の一方の確率の局所マップの生成に適用される。このようなマップは特に、限定しないが、衝突回避技術へ適用可能である。
【背景技術】
【０００２】
ロボットは、当初未知環境内でも高い自立度で行動またはタスクを行うことができる場合に自律的であると見なされ得る。安全に移動し行動を行うためには、自律ロボットは潜在的に危険な障害物を定位しそれに関する情報を収集する必要がある。
【０００３】
したがって、局所障害物に関する情報を自律的に収集する課題はロボットの分野における重大な問題である。
【０００４】
従来技術によると、障害物検出のための最もよく知られている技術は、「同時定位およびマッピング：Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  Ａｎｄ  Ｍａｐｐｉｎｇ」（ＳＬＡＭ）と呼ばれる方法のカテゴリに属する。これらの方法は障害物の同時検出とその環境に対するロボットの定位とを提供する。ＳＬＡＭ技術は非特許文献１と非特許文献２に開示されている。
【０００５】
ロボットは、いくつかの人間的外観属性：頭、胴、２本の腕、２つの手などを有する瞬間からヒューマノイドと見なされ得る。但しヒューマノイドロボットは多かれ少なかれ高度化され得る。その四肢はより多いまたは少ない関節を有し得る。ヒューマノイドロボットは、恐らく三次元で自身のバランスを静的かつ動的に制御して二足歩行し得る、またはベース上を単に転回し得る。ヒューマノイドロボットは、環境から信号を受信し（「聞く」「見る」「触れる」、「感知する」など）多少なりとも高度な行動に反応し、言葉またはジェスチャのいずれかにより他のロボットまたは人間と相互作用し得る。
【０００６】
このようなロボットは特に人間的相互作用用に設計され得る。しかし、ジェスチャと対話だけでなく顔および感情認識を含むこれらの相互作用は高度にＣＰＵ集約的である。これらの相互作用はヒューマノイドロボットの核心である。したがって、ロボット設計者が解決しなければならない１つの課題は、可能な最小ＣＰＵ使用率で動作する他のすべてのロボット機能を設計することである。これらの他の機能は特には、ロボットの電源が入った瞬間から連続的に行われなければならない定位、衝突回避および障害物検出を含む。
【０００７】
ＳＬＡＭ技術においてロボットにより使用される環境マップのサイズはロボットがその環境の新しい部分を発見すると増加する。ＳＬＡＭ技術はロボット位置を計算するために環境のすべての既知部分を使用するので、障害物検出複雑性としたがって未知のサイズを有する環境においてＳＬＡＭ技術を使用するＣＰＵ使用率とに上限を与えることはほぼ不可能である。さらに、ＳＬＡＭ実施形態は、ＥＫＦ−ＳＬＡＭ（すなわち拡張カルマンフィルタＳＬＡＭ：Ｅｘｔｅｎｄｅｄ  Ｋａｌｍａｎ  Ｆｉｌｔｅｒ  ＳＬＡＭ）の共分散行列などＣＰＵ集約的技術を使用する。ＳＬＡＭ技術はロボット位置だけでなく一組のランドマークの位置も推定する。ロボットがその環境を発見すると、ロボットは新しいランドマークをこのセットへ加える。ＥＫＦ  ＳＬＡＭでは、各新しいランドマークが状態ベクトルと分散行列へ加えられる。したがって、多くの潜在的ランドマークを有する大きな環境は非常に高い複雑性を生じ得る。したがって、ＳＬＡＭ技術の使用は定位と障害物検出だけのための危機的ＣＰＵ使用率を生じ得、人間的相互作用のためのＣＰＵ利用可能性を脅かす。一方、ＳＬＡＭ技術は、静的ランドマークを使用することにより静的世界内のロボットを定位するように設計される。従って、ＳＬＡＭ技術は可動障害物を検知することにおいては非効率的である。Ｃ．Ｃ．Ｗａｎｇは非特許文献３の中でＳＬＡＭと可動物体追跡（ＭＯＴ：Ｍｏｂｉｌｅ  Ｏｂｊｅｃｔ  Ｔｒａｃｋｉｎｇ）とを同時に使用する方法を開示している。しかし、この技術は基本的に、１つのＳＬＡＭ制限を克服するためにＳＬＡＭとＭＯＴとの同時実行からなり、したがってさらなる複雑性をも加える。
【０００８】
特許文献１は、ＳＬＡＭ技術と比較して低減されたＣＰＵ使用率を有する、ロボットの正確な定位をもたらす定位面においてロボットを定位する方法を開示する。
【０００９】
このような方法はロボット定位課題を解決する。しかし、最も複雑でなくかつＣＰＵ集約的でなく衝突を回避する十分な信頼性で障害物を検知する必要が依然としてある。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】欧州特許出願第１４３０５５４３．２号明細書
【非特許文献】
【００１１】
【非特許文献１】ＴＨＲＵＮ，Ｓ．ＢＵＲＧＡＲＤ，Ｗ．ＦＯＸ  Ｄ．Ｐｒｏｂａｂｉｌｉｓｔｉｃ  Ｒｏｂｏｔｉｃ．ＭＩＴ  Ｐｒｅｓｓ，２００５
【非特許文献２】ＭＯＮＴＥＭＥＲＬＯ，Ｍ．ＴＨＲＵＮ  Ｓ．ＫＯＬＬＥＲ  Ｄ．ＷＥＧＢＲＥＩＴ  Ｂ．，ＦａｓｔＳＬＡＭ：Ａ  ｆａｃｔｏｒｅｄ  ｓｏｌｕｔｉｏｎ  ｔｏ  ｔｈｅ  ｓｉｍｕｌｔａｎｅｏｕｓ  ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  ｍａｐｐｉｎｇ  ｐｒｏｂｌｅｍ，ＡＡＡＩ／ＩＡＡＩ，２００２，ｐａｇｅｓ  ５９３〜５９８
【発明の概要】
【課題を解決するための手段】
【００１２】
この趣旨で、本発明は、自律ロボットに搭載されたコンピュータにより同ロボットの環境内の障害物の不在および存在の少なくとも一方の確率のピクセルマップを判断するための方法を開示する。前記方法は、自律ロボットの周囲に規定され前記ロボットに実質的に取り付けられた初期マップを同ロボットに搭載されたメモリにおいて初期化する工程であって、前記マップは所定境界を有し、所定寸法のピクセルが敷かれ、各ピクセル内の障害物の不在および存在の少なくとも一方の確率の値が所定値に設定される、工程と、自律ロボットの環境内の障害物の不在および存在の少なくとも一方を表すデータを少なくとも１つの感知手順から取得する工程と、前記データの初期マップの少なくとも１つのピクセル内の障害物の不在および存在の少なくとも一方の確率の値を少なくとも更新する手順を初期マップに同時に適用する工程と、前回観察の障害物の不在または存在の確率を所定値に近い値に修正する工程とを含むことを特徴とする。
【００１３】
有利には、初期マップは、ロボットが所定数のピクセル内に留まる限り固定基準座標系において静止しており、同ロボットがこの所定数のピクセルから出ると同ロボットと共に移動する。
【００１４】
有利には、初期マップの限界は、前記ロボットが差し迫った衝突脅威に直面し得る領域の寸法に応じて予め定義される。
【００１５】
有利には、ピクセルの所定寸法は衝突回避距離に応じて選択される。
【００１６】
有利には、初期マップは四角形を画定する。
【００１７】
有利には、前回観察の障害物の不在および存在の一方の確率を修正してマップを初期化するための手順における所定値は、確かに障害物が存在することを表す値と確かに障害物が存在しないことを表す値との平均値である。
【００１８】
有利には、不在の確率のマップが計算され、障害物の不在の確率は０〜１の数であり、０は確かな障害物の存在を、１は確かな障害物の不在を、０．５は障害物の未知存在を表す。
【００１９】
有利には、障害物と未知ピクセルとの境界を定める閾値Ｔｓｏｂｓが区間［０；０．５］内の数として定義され、障害物無しピクセルと障害物未知ピクセルとの境界を定める閾値Ｔｓｆｒｅｅが区間［０．５；１］内の数として定義される。
【００２０】
有利には、障害物の不在の確率を修正するための時間的進展比Ｒｔｅｍｐは、次式により前記障害物閾値と収束の所定時間Ｔｃｏｎｖとに従って定義される：Ｒｔｅｍｐ＝ｅｘｐ（ｌｎ（１−２．０×Ｔｓｏｂｓ）／（Τｃｏｎｖ×更新頻度））
【００２１】
有利には、前回観察の障害物の不在の確率を修正するための手順は、前回マップ内のその値に従って各ピクセルの値を計算するための幾何学的分布則（ｇｅｏｍｅｔｒｉｃ  ｄｉｓｔｒｉｂｕｔｉｏｎ  ｌａｗ）を使用し、次式を使用する：ＶＣ３２０＝Ｒｔｅｍｐ×（ＶＣ３１０−０．５）＋０．５、ここでＶＣ３２０はピクセルの修正値でありＶＣ３１０はその前回値である。
【００２２】
有利には、複数の初期マップは複数の補足的感知手順に関し初期化され、複数のマップは融合マップへ同時にマージされる。
【００２３】
有利には、複数の初期マップをマージすることで以下のことを満足する：障害物の不在の確率が初期マップの少なくとも１つにおける閾値Ｔｓｏｂｓ未満である各ピクセルは融合マップ内の障害物である；融合マップ内の障害物でなくかつ障害物の不在の確率が初期マップの少なくとも１つにおけるＴｓｆｒｅｅの閾値を越える各ピクセルは融合マップ内の障害物無しピクセルである。
【００２４】
有利には、複数の初期マップをマージする工程は、第１の事前融合マップ（ｐｒｅ−ｆｕｓｅｄ  ｍａｐ）と第２の事前融合マップとを生成する工程と、第１の事前融合マップ内のピクセル内の障害物の不在の確率の値を、複数の初期マップ内の同じピクセル内の不在の確率の値の最小値として設定する工程と、第２の事前融合マップ内のピクセル内の障害物の不在の確率の値を、複数の初期マップ内の同じピクセル内の不在の確率の値の最大値として設定する工程と、その値が障害物の閾値Ｔｓｏｂｓ未満である第１の事前融合マップ内のピクセル内の障害物の不在の確率の値を０に設定する工程と、その値が障害物の閾値Ｔｓｏｂｓを越える第１の事前融合マップ内のピクセル内の障害物の不在の確率の値を１に設定する工程と、融合マップ（３６０）内のピクセル内の障害物の不在の確率の値を第１と第２の事前融合マップ内の同じピクセル内の不在の確率の最小値に設定する工程とを含む。
【００２５】
有利には、複数の初期マップ中の各マップは、同じタイプの障害物を観測するセンサをグループ化した異なる一組のセンサから取得されたデータを使用することにより更新される。
【００２６】
有利には、第１の組のセンサはロボットに搭載されたレーザセンサをグループ化し、第２の組のセンサはロボットに搭載された３Ｄカメラをグループ化し、第３の組のセンサはロボットに搭載された超音波センサをグループ化し、第４の組のセンサはロボットに搭載された接触センサをグループ化する。
【００２７】
有利には、自律ロボットの環境内の障害物の不在および存在の少なくとも一方を表すデータを少なくとも１つの感知手順から取得する工程は、センサから生データ値を取得する工程と、ロボット運動力学的接合モデル（ｒｏｂｏｔ  ｋｉｎｅｍａｔｉｃ  ｊｏｉｎｔ  ｍｏｄｅｌ）と角度関節センサとを使用することにより、センサに関連付けられた６Ｄセンサ変換を生成する工程と、センサにより観測された障害物を表す一組の３Ｄ点を生成するために前記６Ｄセンサ変換と前記生データとを使用する工程とを含む。
【００２８】
有利には、初期マップ内の少なくとも１つのピクセル内の障害物の不在および存在の少なくとも一方の確率の値を更新する工程は、少なくとも１つの３Ｄ点が発見されると少なくとも１つの２Ｄピクセルを確かな障害物の存在を表す値で埋める工程と、前記少なくとも１つのピクセルとセンサの位置との間の各線を確かな障害物の不在を表す値で埋める工程とを少なくとも含む。
【００２９】
本発明はまた、少なくとも複数の距離センサと、ロボット運動力学的接合モデルと、ロボットの周囲に規定された初期マップを格納するオンボードメモリであって、所定境界を有し所定寸法のピクセルが敷かれ、障害物の存在および不在の少なくとも一方の確率の値が格納されるオンボードメモリと、各ピクセルの値を所定値に設定することにより前記マップを初期化するモジュールと、ロボットの環境内の障害物の不在および存在の少なくとも一方を表すデータを前記指向性距離センサの少なくとも１つから取得するモジュールと、少なくとも、前記データから初期マップの少なくとも１つのピクセル内の障害物の不在および存在の少なくとも一方の確率の値を少なくとも更新する手順と前回観察の障害物の不在または存在の確率を所定値に近い値に修正する手順とを前記マップに同時に適用するモジュールと、を含む自律ロボットを開示する。
【００３０】
本発明はまた、コンピュータ可読媒体上に格納されたコンピュータプログラム製品を開示する。本コンピュータプログラム製品は、ロボットの環境内の障害物の不在および存在の少なくとも一方の確率のピクセルマップを判断する方法をコンピュータに実施させるコード手段を含む。前記コンピュータプログラム製品は、自律ロボット周囲に規定されるとともに前記ロボットに取り付けられた初期マップをメモリ内において初期化するための少なくとも１つのモジュールであって、前記マップは所定境界を有し、所定寸法のピクセルが敷かれ、各ピクセル内の障害物の不在および存在の少なくとも一方の確率の値が所定値に設定される、モジュールと、自律ロボットの環境内の障害物の不在および存在の少なくとも一方を表すデータを第１のタイプの少なくとも１つの感知手順から取得するモジュールと、少なくとも、前記データから初期マップの少なくとも１つのピクセル内の障害物の不在および存在の少なくとも一方の確率の値を少なくとも更新する手順と、前回観察の障害物の不在および存在の確率を所定値に近い値に修正する手順とを前記初期マップに同時に適用するモジュールとを含むことを特徴とする。
【００３１】
本発明は、自律ロボットの近接環境内のすべての脅威と障害物とによりマップを構築する方法を開示する。本方法は本質的にしかしこれだけではないが衝突回避に使用され得る。本方法はまた、軌道計算に使用され得る。
【００３２】
本発明による方法は非常に低いＣＰＵ使用率を有する。実際、本方法は、ピクセル値比較および塗りつぶしのような簡単な動作を使用することにより、限定され境界が定められた数のピクセルを有するピクセルマップ上で動作する。
【００３３】
本方法はまた、制限された数およびサイズのマップのおかげで低メモリフットプリントを有する。さらに、本発明による方法のメモリフットプリントは境界が定められる。
【００３４】
本発明はまた、さらなる複雑性無しに可動障害物出現および消滅を検知する。
【００３５】
多くの実施形態では、本発明はまた、すべてのタイプの障害物のより精細な検出を利用するためにロボット内のすべての種類のセンサを活用する。
【００３６】
したがって、本発明による方法は、ヒューマノイドロボットの人間的相互作用のためのＣＰＵおよびメモリを節約する一方で、ロボットと環境（人、周囲物体等）の両方に対する安全性を保証するために十分な信頼性で障害物を検知する。
【００３７】
本発明は多くの例示的実施形態の以下の説明とその添付図面からより良く理解され、その様々な特徴と利点が浮かび上がることになる。
【図面の簡単な説明】
【００３８】
【図１】本発明の多くの実施形態におけるヒューマノイドロボットの物理的アーキテクチャを示す。
【図２】本発明の多くの実施形態におけるロボットのソフトウェアモジュールの機能アーキテクチャを示す。
【図３】本発明の多くの実施形態のグローバルフローチャートを示す。
【図４】本発明の多くの実施形態における、１つのセンサからの観測によりセンサファミリーマップを更新するためのフローチャートを示す。
【図５】本発明の多くの実施形態における、マップが計算されるピクセル領域の例を提供する。
【図６】本発明の多くの実施形態における、障害物の不在の確率の時間的進展の例を提供する。
【図７】本発明の多くの実施形態における、未知確率により初期化され単一センサ観測により更新されるセンサファミリーマップの例を示す。
【図８ａ】本発明の多くの実施形態における、古い観察の同時更新と新しい観察によるピクセルの修正とによるセンサファミリーマップの進展を示す。
【図８ｂ】本発明の多くの実施形態における、古い観察の同時更新と新しい観察によるピクセルの修正とによるセンサファミリーマップの進展を示す。
【図８ｃ】本発明の多くの実施形態における、古い観察の同時更新と新しい観察によるピクセルの修正とによるセンサファミリーマップの進展を示す。
【図８ｄ】本発明の多くの実施形態における、古い観察の同時更新と新しい観察によるピクセルの修正とによるセンサファミリーマップの進展を示す。
【図９ａ】本発明の多くの実施形態における、複数のセンサファミリーマップの融合の例を提供する。
【図９ｂ】本発明の多くの実施形態における、複数のセンサファミリーマップの融合の例を提供する。
【図９ｃ】本発明の多くの実施形態における、複数のセンサファミリーマップの融合の例を提供する。
【発明を実施するための形態】
【００３９】
図１は、本発明の多くの実施形態におけるヒューマノイドロボットの物理的アーキテクチャを表す。
【００４０】
図の特定ロボット１００は、本発明が実施され得るヒューマノイドロボットの一例と考えられる。図のロボットの下肢は、歩行のためには機能的ではないが、置かれた表面上で転回するそのベース１４０上で任意の方向に動き得る。本発明は、例えばＮａｏ（商標）ロボットとして歩行に適したロボットにおいて容易に実施され得る。一例として、このロボットは、約１２０ｃｍであり得る身長１１０、約６５ｃｍの奥行１２０、約４０ｃｍの幅１３０を有する。特定の実施形態では、本発明のロボットは、その環境へメッセージ（音声、映像、ウェブページ）を伝達し得るタブレット１５０を有する、またはタブレットの触覚インタフェースを介しユーザからエントリを受信し得る。タブレットのプロセッサに加えて、本発明のロボットはまた、それ自身のマザーボードのプロセッサ（例えばＩｎｔｅｌ（商標）のＡＴＯＭ（商標）Ｚ５３０であり得る）を使用する。本発明のロボットはまた、特に本発明の実施形態では、有利には、マザーボードと特には磁気回転エンコーダ（ＭＲＥ：Ｍａｇｎｅｔｉｃ  Ｒｏｔａｒｙ  Ｅｎｃｏｄｅｒ）を担持するボードとの間のデータフローの取り扱いに専用化されるプロセッサと、四肢内の接合のモータとロボットが車輪として使用するボールとを制御するセンサとを含み得る。モータは、規定接合に必要な最大トルクの大きさに応じて異なるタイプのものであり得る。例えばｅ−ｍｉｎｅｂｅａ（商標）のブラシＤＣコアレスモータ（例えばＳＥ２４Ｐ２ＣＴＣＡ）またはＭａｘｏｎ（商標）のブラシレスＤＣモータ（例えばＥＣ４５＿７０Ｗ）が使用され得る。ＭＲＥは、１２または１４ビット精度を有するホール効果を使用するタイプのものが好ましい。
【００４１】
本発明のいくつかの実施形態では、図１に表されるロボットはまた、様々な種類のセンサを含む。それらのいくつかは、ロボットの位置および動作を制御するために使用される。これは例えば、ロボットの胴内に配置された慣性ユニットのケースであり、３軸ジャイロメータおよび３軸加速度計を含む。ロボットはまた、ロボットの額（頂部と底部）上に、５フレーム／秒で５メガピクセル解像度および約５７°水平方向および４４°垂直方向の視野（ＦＯＶ：ｆｉｅｌｄ  ｏｆ  ｖｉｅｗ）を有するシステムオンチップ（ＳＯＣ：Ｓｙｓｔｅｍ  Ｏｎ  Ｃｈｉｐ）タイプの２つの２ＤカラーＲＧＢカメラ１６０（Ｓｈｅｎｚｅｎ  Ｖ−Ｖｉｓｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ  Ｌｔｄ（商標）（ＯＶ５６４０）など）を含み得る。２Ｄカメラとほぼ同じＦＯＶを有する２０フレーム／秒で０．３メガピクセルの解像度を有するＡＳＵＳ  ＸＴＩＯＮ（商標）ＳＯＣセンサなどの１つの３Ｄセンサ１７０がまた、ロボットの眼の背後に含まれ得る。本発明のロボットはまた、その環境内の物体／生物に対するその相対位置を感知することができるようにレーザ光線発生器（例えば頭内に３個（１８０ａ）、ベース内に３個（１８０ｂ））を備え得る。本発明のロボットはまた、その環境内の音を感知することができるマイクロホンを含み得る。一実施形態では、１ｋＨｚにおいて３００ｍＶ／Ｐａ＋／−３ｄＢの感度と３００Ｈｚ〜１２ｋＨｚ（１ｋＨｚに対して−１０ｄＢ）の周波数範囲とを有する４つのマイクロホンがロボットの頭上に埋め込まれ得る。本発明のロボットはまた、その環境内の物体／人間までの距離を測定するために、恐らくそのベースの前部および後部に位置する２つのソナーセンサ１９０を含み得る。
【００４２】
ロボットはまた、人間との相互作用を可能にするためにその頭およびその手上に触覚センサを含み得る。ロボットはまた、その経路上で遭遇する障害を感知するためにそのベース上にバンパー１Ｂ０を含み得る。
【００４３】
ロボットはまた、計画軌道と実際軌道との差を計算することにより、接触する物体とその上側部材との接触を感知し得る。
【００４４】
その感情を解釈しその環境内の人間とコミュニケーションするために、本発明のロボットはまた、
−例えばその眼、耳内に、およびその肩上にＬＥＤと、
−その耳内に配置される拡声器（例えば２つの）とを含み得る。
【００４５】
本発明のロボットはＥｔｈｅｒｎｅｔ  ＲＪ４５またはＷｉＦｉ  ８０２．１１接続を通して基地局または他のロボットと通信し得る。
【００４６】
本発明のロボットは約４００Ｗｈのエネルギーを有するリン酸鉄リチウム電池により給電され得る。本発明のロボットは、同ロボットが含む電池のタイプに適した充電ステーションにアクセスし得る。
【００４７】
図２は、その実施形態のいくつかにおいて本発明の実施を可能にする物理的および機能的アーキテクチャの線図である。
【００４８】
ＮＡＯなどのロボットに、本発明の一実施形態におけるロボットの機能の操縦を可能にするハイレベルソフトウェアが付与されると有利である。ＮＡＯＱＩと呼ばれるこのタイプのソフトウェアアーキテクチャは、特に２００９年１０月１５日発行の国際公開第２００９／１２４９５５号パンフレットに開示されている。このアーキテクチャは、ロボットとＰＣまたは遠隔場所との間の通信を管理するための、そして本発明の実施のために必要なソフトウェアインフラストラクチャを提供するソフトウェアを交換するための、基本機能を含む。
【００４９】
ＮＡＯＱＩはロボット用途に最適化されたフレームワークである。これはいくつかの言語、特にはＣ＋＋、Ｐｙｔｈｏｎ、およびＵｒｂｉを支援する。
【００５０】
本発明の文脈では、ＮＡＯＱＩの以下のモジュールが特に役立つ。
−モジュールＡＬＭｅｍｏｒｙ２１０はＮＡＯＱＩの様々なモジュール間で共有されるメモリを管理する。
−モジュールＤＣＭ２２０は物理的ロボット（モータ、センサ）との通信を管理する。
−モジュールＡＬＭｏｔｉｏｎ２３０は、ロボットの様々な部品の動作としたがって基準のフレームにおけるセンサの位置／配向を計算する、
【００５１】
これらの３つのモジュールはＣ＋＋でコード化されると有利である。同図はまた、モジュール間のデータフローを示す。
【００５２】
特に、障害物機能の不在および存在の一方の確率のマップの実装に必要な入力は、
−センサ（例えば、足押圧力センサ、レーザ、超音波センサ）の値と、
−ロボットの姿勢、である。
【００５３】
定期的時間間隔で、障害物不在マップ構築機能は、障害物の不在および存在の一方の確率のマップを更新する。そうするために、同機能は、ＤＣＭモジュール２２０からセンサ値を、ＡＬＲｏｂｏｔＰｏｓｔｕｒｅモジュール２３０からロボット姿勢値を取り出す。
【００５４】
図３は、本発明の多くの実施形態のグローバルフローチャートを示す。
【００５５】
本発明の多くの実施形態では、センサはセンサファミリーにグループ化される。各センサファミリーは１つまたは複数のセンサを含み得る。有利には、各ファミリー内のセンサは同じタイプの障害物を観測するように設計されたセンサを含む。例えば、ロボット１００は、３Ｄカメラセンサ１７０；３つのレーザ光線発生器１８０ａと３つのレーザ光線発生器１８０ｂとを有する第２のファミリー；２つのソナーセンサ１９０を有する第３のファミリー；触覚センサ、バンパー１ＢＯ、および接触を感知する任意のセンサ（計画軌道と実際軌道との差の計算を通して接触を感知する論理センサを含む）を有する第４のファミリーを含み得る。
【００５６】
以下の例では、障害物の不在の確率のマップは［０；１］の範囲で計算される。ここで、１の確率は確かな障害物の不在を、０の確率は確かな障害物の存在を、０．５は障害物の存在の未知確率を表す。本発明は確率のこのような例と表現に限定されない。同業者が障害物の別の表現により本発明を組み込むことは単純明快なタスクである。例えば、その代わりに、１が確かな障害物の存在を表し、０が確かな障害物の不在を表す障害物の存在の確率のマップが計算され得る。確率の区間［０；１］は、百分率、離散値を有する占有状態、障害物の不在または存在を表すブール値、または障害物の不在または存在を表す任意の他のスケールにより置換され得る。
【００５７】
各センサファミリーから、センサファミリーマップ（３１０、３２０、３３０、３４０）は生成される。本明細書の残りでは、センサファミリーマップは「センサファミリーマップ」または「初期マップ」と呼ばれ得る。融合マップ３６０は各ファミリーマップ３４０、３５０からの情報をマージすることにより形成される。これらのマップのそれぞれは、ロボットに取り付けられ、所定サイズおよびピクセル寸法を有する。本発明の多くの実施形態では、すべてのマップは同じサイズ、ピクセル寸法および原点を有する。従って、所与の座標を有するピクセルは各マップ内の同じ領域を表し、マップピクセル間の比較および操作を非常に容易にする。本明細書の残り部分では、図３を参照することで、手順と、手順の終わりに生成または修正されるマップとの両方を示す。例えば、参照符号３３０は、更新されたマップだけでなくセンサファミリーマップも更新するための手順を表し得る。所定ピクセル寸法は、最低速度で移動する際のロボットの最小停止距離（例えば１０ｃｍ）の関数である値に設定され得、その結果、障害物が最近接ピクセル内で検知されるとロボットは停止すべき位置にいる。次に、マップ寸法は、本発明の方法により使用される処理能力に設定される制限（例えば、３ｍのマップの所定寸法を与える所定１０ｃｍサイズの３０ｘ３０（９００）ピクセル）と、ロボットとマップの限界との間の１．５ｍの距離とに応じて判断され得る。マップの所定寸法はまた、ロボットの環境内のあり得る障害物に応じて最初に判断され得、次に、ピクセル数またはそれらのサイズまたはその両方の組み合わせのいずれかが、本発明の方法に割り当てられる処理能力に応じて判断され得る。これらのトレードオフは、当業者に知られた手順を使用することにより、当業者により判断され、次にロボットのソフトウェアモジュール内にプログラムされ得る。
【００５８】
センサファミリーマップ３４０、３５０および融合マップ３６０は定期的に更新される。ロボット１００では、３Ｄカメラ１７０、レーザ光線発生器１８０ａ、１８０ｂ、ソナーセンサ１９０はすべて、それ自身の頻度で測定結果を生成する。有利には、センサファミリーマップおよび融合マップはすべてのセンサの最低頻度で更新される。一実施形態では、センサとマップは１０ｆｐｓで更新される。この頻度は「更新頻度」と呼ばれる。この例は非限定的であり、任意の更新頻度が選択され得、いかなる新しい測定結果も更新頻度に利用可能でなければ古い測定結果が任意のセンサから使用され得る。
【００５９】
各更新において、センサファミリーマップ３４０は、このファミリーに属するセンサからの新しい観察結果３３１、３３２だけでなくこのファミリーのセンサの前回マップ３１０も使用することによりファミリー毎に生成される。工程３２０では、前回マップ３１０のピクセル値を更新するための手順が適用される。この例では、このような手順は、すべてのピクセル内の値を値０．５近傍にし、したがって前回観察結果にはそれほど価値を与えない。この手順の終わりに、前回マップ３１０は、低減された確信度でセンサファミリーマップ３２０に変換される。低減された確信度を有するこのマップ３２０は、その後工程３３０において、センサ３３１、３３２からの新しい観察結果により更新される。この更新手順は、センサが障害物の不在を観測した各ピクセルを障害物の不在の確率１で、そしてセンサが障害物の存在を観測した各ピクセルを障害物の不在の確率０で埋める。マップ３２０がそのセンサファミリーに属する各センサからの観測結果により更新されると、同マップは、１ファミリーのセンサからその時に利用可能なすべての情報を含むセンサファミリーマップ３４０に変換される。
【００６０】
多くの実施形態では、ロボット内のセンサは様々な信頼度を有する。例えば、古いセンサは新しいセンサほど信頼できないと考えられる。したがって、観察結果の信頼性に関する情報は更新３３０中に更新ピクセルへ加えられる。これは、それほど信頼できないセンサに０．５に近い値を設定することによりまたは障害物の不在の確率に加えて信頼性情報を加えることにより行われ得る。信頼性は、センサのタイプに応じて（例えばロボットの環境に依存して）設定され得る。一例として、レーザ光線発生器は多くのシ−・スルー障害物が存在する環境においてよりエラーを起こし易いということが当業者に知られている。逆に、このタイプの環境では、ソナーセンサがより信頼できる。
【００６１】
グローバル手順の最初の実行に関し、マップ３１０は所定値によりメモリ内で初期化される。好適な実施形態では、前記所定値は障害物の未知存在を示す。この例では、マップ３１０は、プロセスの最初の実行時にすべてのそのピクセルにおいて値０．５により初期化される。すべての他の実行に関し、マップ３１０は前回更新中に生成されたセンサファミリーマップ３４０である。ロボットの位置が変化した場合、マップのピクセルは平行移動され得る。これは、ロボットがマップの中心にもはや存在しないと発生し得る。例えば、マップのピクセルは、手順の開始時にロボットがマップの中心から数ピクセル離れていれば、またはマップの中心からのその距離がロボットの寸法近傍であれば平行移動され得る。ロボットがマップの中心から所定値（例えば３０ｃｍ）を越えて離れていればピクセルを平行移動することも可能である。平行移動の場合、マップの原点はロボットの水平方向および／または垂直方向または運動方向に整数のピクセルだけシフトされる。したがって、すべてのピクセルの値はその方向にシフトされる。例えば、ロボットがマップの中心の上３０ｃｍに存在し、ピクセルサイズが１０ｃｍであれば、マップの位置は固定基準系における垂直軸の一番上において３０ｃｍシフトされ得、すべての各ピクセルの値は３ピクセル下に位置する前回ピクセルの値へ設定され得る。いかなる前回値も前回マップ内に発見されないマップ上の境界上に位置するすべてのピクセルは未知値０．５に設定される。
【００６２】
各更新では、センサファミリーマップ３４０、３５０は融合マップ３６０を生成するために融合される。本発明の多くの実施形態では、この融合手順は、障害物をセンサファミリーの少なくとも１つにより検知された状態にするように設計される。この融合マップ３６０は、前回観察からのすべての情報と、センサファミリー毎の各センサの新しい観察結果とを含む。したがって、この融合マップは、障害物の不在の最も完全な記述を必要とする軌道計算などアプリケーションに使用するのに好適である。
【００６３】
図４は、本発明の多くの実施形態における、１つのセンサからの観測によりセンサファミリーマップを更新するためのフローチャートを示す。
【００６４】
すべてのセンサは、そのタイプの観測結果を表す生データ４００を提供する。例えば、レーザセンサ１８０ａ、１８０ｂは対向方向の最も近い非透明面の距離を提供し、バンパー１Ｂ０はその位置における接触の発生を示す。
【００６５】
ロボット座標系におけるセンサの６Ｄ位置および配向と固定座標系におけるロボットの６Ｄ位置および配向とに関する情報を含むセンサの３Ｄ位置および配向は、ロボットの運動力学的接合モデル４１０と接合の角度センサ４２０とを使用することで導出される。この情報は、センサにより検知される３Ｄ点を固定座標系において表される一組の３Ｄ点４４０に変換する６Ｄセンサ変換４３０の生成を可能にする。例えば、レーザセンサ１８０ａから３メートルの距離において観測された障害物は、ロボット運動力学的接合モデル４１０についての知識と、ロボット座標系におけるセンサの相対位置を示す角度接合センサ４２０とにより固定３次元座標系において容易に定位され得る。別の例では、バンパー１Ｂ０の１つが接触の発生を検知すれば、障害物を表す３Ｄ点は、ロボットモデル４１０と接合センサ４２０とを使用することによりバンパーの正確な３Ｄ位置に配置され得る。
【００６６】
最後に、センサモデル４５０は、３Ｄ点４４０を使用することにより、工程３３０中にセンサファミリーマップを更新するために使用される。例えば、レーザセンサ１８０ａのモデルは、障害物がその配向においてレーザセンサにより戻された距離で観測されたということといかなる障害物もレーザセンサとこの障害物との間に観測されていないということとを解釈し得る。したがって、レーザセンサにより戻された３Ｄ点障害物は、固定座標系におけるこの３Ｄ点に位置するピクセル内の障害物の不在の確率０をマップ３３０内で最初に設定することによりセンサファミリーマップ３３０を更新し、固定座標系における３Ｄ点とレーザセンサとの間に一直線で配置されたすべてのピクセルにおける障害物の不在の確率１を設定し得る。バンパーセンサ１８０ａを使用する例では、３Ｄ点が存在すれば、障害物は、３Ｄ点が配置されたマップ３３０のピクセル内の障害物の不在の確率０を設定することにより配置され得る。いかなる３Ｄ点もこのセンサに存在しなければ、いかなる接触もその位置において発生しなかった。したがって、障害物の不在の確率を、バンパーセンサがマップ３３０内に位置するピクセル内で１に設定することによりマップを更新することが可能である。
【００６７】
図５は、本発明の多くの実施形態における、マップが計算されるピクセル領域の例を提供する。
【００６８】
四角形５００はロボットが進化する環境の境界を表す。この環境は単一部屋であり得る。ロボット１００は位置５２０に位置する。多くの実施形態では、この領域は、ロボットが障害物と衝突する差し迫った脅威に直面し得るすべての領域をカバーするように設計される。
【００６９】
有利には、マップは、ロボット５２０の位置をほぼ中心とする正方形領域５１０内で計算される。マップはすべてのプロセス中ロボットに実質的に取り付けられたままであるが、ロボット５２０の位置はマップの中心と若干異なリ得る。実際、ロボットの位置を正確にマップの中心にすることは、ほぼすべてのサイクルにおいて前回マップ３１０のピクセルを非整数ピクセルシフトで平行移動することを含み、これは望ましくないであろう。したがって、ロボットはマップ５１０の中心近傍に位置し、マップは、ロボット位置５２０がマップの中心から所定距離より離れている各サイクルの始めにマップの中心がロボット５２０の位置近傍となるように平行移動される。
【００７０】
マップ５１０の幅５３０とピクセル寸法５４０はマップサイズと計算複雑性との妥協である。多くの実施形態では、ピクセル寸法は衝突回避距離の関数である。ピクセル寸法は、障害物を感知しロボットを停止するための最小距離の関数であり得る。多くの実施形態では、この最小距離は最小ロボット寸法より数倍小さい。例えば、１０ｃｍのピクセル寸法５４０がロボット１００に対して定義され得る。このようなピクセル寸法を使用することにより、ロボットはいくつかのピクセルの面を占める。したがって、ピクセル寸法５４０は、ピクセルの数を制限する一方でこの種類のロボットの障害物の精細な検出に十分である。マップの幅５３０は、計算負荷を低減するのに余り大きくならないようにする一方で、ロボットが差し迫った衝突脅威に直面し得る領域をカバーするように設計されるべきである。これは、ロボットが最大速度で数秒内に位置し得るすべての領域をカバーするように設計され得る。ピクセル寸法５４０だけでなくこの幅５３０もまた、ロボットモデルに対し予め定義されてもよいし、またはロボット固有アプリケーション用に調整されるようにロボット再販業者により予め定義されてもよい。この例では、ピクセル寸法は１０ｃｍに、マップのサイズは３０×３０ピクセル領域を表す１．５ｍ×１．５ｍに定義される。したがって、ピクセル寸法５４０と幅５３０の適切な規定により、この領域内の障害物の不在の確率の計算は、マップのサイズとしたがってＣＰＵとメモリ使用率を制限する一方で障害物を回避するのに十分である。ＳＬＡＭ技術とは異なり、本発明における障害物の計算は、限定領域と限定数の値に対してだけ発生し、ＣＰＵと障害物存在計算のメモリフットプリントとを低減する。さらに、上記計算はＳＬＡＭ技術とは異なり境界が定められた領域を提供する。
【００７１】
図６は、本発明の多くの実施形態における、障害物の不在の確率の時間的進展の例を提供する。
【００７２】
低減された確信度を有するセンサファミリーマップ３２０は前回センサファミリーマップ３１０を使用して生成される。この趣旨で、障害物が既に検知された（障害物の不在の確率＜０．５）マップ３１０内のすべてのピクセルは障害物の不在の確率を増加させ、一方、障害物の不在が検知された（障害物の不在の確率＞０．５）ピクセルは障害物の不在の確率を低減させる。グラフ６００は、その値が新しい観察により更新されないピクセルの逐次的更新を上回る障害物の不在の確率の進展の例を示す。垂直軸６１０は障害物の不在の確率０〜１を示す。水平軸６２０は逐次的更新の回数を示す。二重矢印６３０は、任意の障害物ピクセルがＴｓｏｂｓより高い障害物の不在の確率を有し、したがって未知呼（ｕｎｋｎｏｗｎ  ｃａｌｌ）と考えられるために必要な更新の最大回数を表す。線６４０は、その元の確率が１であるピクセルの障害物の不在の確率の進展の例を表す。線６５０は、その元の確率が０であるピクセルの障害物の不在の確率の進展の例を表す。線６６０は、障害物無し閾値Ｔｓｆｒｅｅの値が０．５を若干上回れば（例えば０．６）ピクセル内の値が障害物無しと考えられる線を表す。線６７０は、障害物閾値Ｔｓｏｂｓの値が０．５を若干下回れば（例えば０．４）ピクセル内の値が障害物と考えられる線を表す。
【００７３】
障害物の不在の確率は、０または１から値０．５へ収束するために幾何学的分布則に従う。所定収束時間Ｔｃｏｎｖは、任意の障害物ピクセルが未知のものであると考えられる時間を表す。この時間は、いかなる新しい観測もその中に障害物を観測しなければピクセルを障害物と考えない能力とロボットのセキュリティとの妥協でなければならない。この値は、ロボットの速度またはセンサの更新頻度などのパラメータに従って設定され得る。この値は、ロボットモデルに固定であってもよいし、または特定目的のために最適化されるようにロボット小売り業者により設定されてもよい。この例では、Ｔｃｏｎｖは５秒に設定される。最大更新回数６３０は、Ｔｃｏｎｖ（秒で表される）×更新頻度（１秒当たり更新回数で表される）に等しい。Ｔｃｏｎｖ＝５秒と１秒当たり２０更新頻度とを有する例では最大更新回数６３０は１００である。
【００７４】
幾何学的分布則では、マップ３２０内の各ピクセルの値はマップ３１０内のこのピクセルの値に依存する。マップ３２０内のピクセルの値がＶＣ３２０としてそしてマップ３１０内の同じピクセルの値がＶＣ３１０として定義されれば、工程３２０において値を修正するための手順は下記式を使用する：ＶＣ３２０＝Ｒｔｅｍｐ×（ＶＣ３１０−０．５）＋０．５、ここで、Ｒｔｅｍｐ比は幾何学的分布の時間的進展を特徴付ける。したがって、このＲｔｅｍｐ比は、障害物の不在の初期確率０を有する障害物ピクセルが障害物閾値Ｔｓｏｂｓより高い障害物の確率を得るために最大更新回数６３０が必要となるように、Ｔｃｏｎｖに従って定義される。幾何学的分布則によると、Ｒｔｅｍｐは下記式により与えられる：
【数１】
0006462728.tif 000002
【００７５】
本発明の他の実施形態では、障害物の不在の確率の時間に伴う進展は線形である。障害物の不在の確率のこの自然な進展はまた、多くの実施形態では、障害物の不在の確率に加えて追加された信頼性情報を低減することにより組み込まれ得る。
【００７６】
図７は、本発明の多くの実施形態における、未知確率により初期化され単一センサ観測により更新されるセンサファミリーマップの例を示す。
【００７７】
本発明の多くの実施形態では、最初の更新に関し、前回センサファミリーマップ３１０は未知確率により初期化され、すべてのそのピクセルは０．５に設定される。したがって、工程３２０は効果が無く、その終わりにセンサファミリーマップはすべてのそのピクセル内で０．５の値を依然として有する。マップ４００は１つのセンサ３１１からのデータによる更新後のマップ３３０の１つを表す。この例では、超音波センサ１９０の１つのような距離センサが使用される。このセンサは、その視野を表す領域内の遠方障害物を観測する。この例では、視野は円錐であり、全方向において、このセンサは、観測された最も近い点を障害物と考え、センサと障害物との間の線におけるすべての点を障害物無し点と考える。有利には、１つのセンサ３３１からのデータによる更新は、障害物が観測されたピクセルを障害物の不在の確率０で置換し、黒で表示される障害物ピクセル７１０を生成する。上記更新はまた、障害物の不在が障害物の不在の確率１により観測されたピクセルを置換し、白で表示される障害物無しピクセル７２０を生成する。障害物の存在または不在が観測されていないすべてのピクセルはそれらの不在の前回確率値（この例では０．５）を維持する。この例では、これらのピクセルは灰色で表示された障害物未知ピクセル７３０である。
【００７８】
図８ａ、図８ｂ、図８ｃは、３回の逐次的センサファミリーマップ更新手順後のセンサファミリーマップ３４０の例を示す、ここでセンサファミリーマップはその位置が固定されその視野が回転する単一センサを含む。
【００７９】
図８ｄは、３回の逐次的更新後のセンサファミリーマップ３４０の例を示す、ここでセンサファミリーマップは図８ａ、図８ｂ、図８ｃと同じ単一センサを含むが、第１と第２のセンサファミリーマップ更新手順間でセンサは追加的に平行移動される。
【００８０】
センサファミリーマップ８００ａは、第１のセンサファミリーマップ更新手順３２０、３３０後のセンサファミリーマップ３４０の状態を表す。第１のセンサファミリーマップ更新手順に関し、前回センサファミリーマップ３１０は障害物の不在の確率０．５により初期化される。確率更新手順３２０後、センサファミリーマップは、すべてのそのピクセル内で障害物の不在の確率０．５を依然として有する。工程３３０では、単一センサ観測が適用され、障害物の不在または存在が検知されたピクセルは塗りつぶされる。センサは、障害物ピクセル８３０ａを検知してそれらを障害物の不在の確率０で埋め、障害物無しピクセル８２０ａを検出してそれらを障害物の不在の確率１で埋める。センサが何も観測しなかったすべてのピクセル８１０ａは障害物の不在の確率０．５を維持する。
【００８１】
センサファミリーマップ８００ｂは、第２のセンサファミリーマップ更新手順３２０、３３０後のセンサファミリーマップ３４０の状態を表す。したがって、センサファミリーマップ８００ａは、センサファミリーマップ更新手順の前回センサファミリーマップ３１０として使用される。センサファミリーマップ手順はすべてのピクセル値を不在の未知確率０．５近傍にする。したがって、前回観測において観察された障害物ピクセル８３０ｂは０より若干高い障害物の不在の確率を有し、第１の観測中に観測された障害物無しピクセル８２０ｂは１より若干低い障害物の不在の確率を有する。加えて、センサからの第２の観測は新しい障害物ゾーンと障害物無しゾーンとを観測した。したがって、障害物ピクセル８４０ｂは障害物の不在の確率０で埋められ、障害物無しピクセル８５０ｂは障害物の不在の確率１で埋められる。
【００８２】
センサファミリーマップ８００ｃは第３のセンサファミリーマップ更新手順３２０、３３０後のセンサファミリーマップの状態３４０を表す。したがって、センサファミリーマップ８００ｂはセンサファミリーマップ更新手順の前回センサファミリーマップ３１０として使用される。センサファミリーマップ手順はすべてのピクセル値を未知不在の確率０．５近傍にする。したがって、第１の観測中に観測された障害物ピクセル８３０ｃはピクセル８３０ｂより高い障害物の不在の確率を有し、第１の観測中に観測された障害物無しピクセル８２０ｃはピクセル８３０ｃより高い障害物の不在の確率を有する。一方、第２の観測中に観測された障害物ピクセル８４０ｃは０より若干高い障害物の不在の確率を有し、第２の観測中に観測された障害物無しピクセル８５０ｃは１より若干低い障害物の不在の確率を有する。加えて、センサからの第３の観測は新しい障害物ゾーンと障害物無しゾーンとを観測した。したがって、障害物ピクセル８７０ｃは障害物の不在の確率０で埋められ、障害物無しピクセル８６０ｃは障害物の不在の確率１で埋められる。
【００８３】
センサファミリーマップ８００ｄは３回のセンサファミリーマップ更新手順後のセンサファミリーマップ３４０の状態を表す、ここでセンサはまた、その第１と第２の観測間で変換を行った。このマップでは、障害物無しピクセル８２０ｄ、８５０ｄ、８６０ｄは、マップ８００ｃ内の障害物無しピクセル８２０ｃ、８５０ｃ、８６０ｃと同じ障害物の不在の確率を有する。一方、障害物ピクセル８３０ｄ、８４０ｄ、８７０ｄは障害物ピクセル８３０ｃ、８４０ｃ、８７０ｃと同じ障害物の不在の確率を有する。しかし、センサの平行移動により、第２および第３の観測中のその視野は変化した。したがって、障害物無しピクセル８５０ｄ、８６０ｄはこれら新しい視野内に含まれていたすべての障害物無しピクセルである。
【００８４】
図９ａ、図９ｂ、図９ｃは、本発明の多くの実施形態における、センサファミリーマップの融合の例を提供する。図９ａは、障害物ピクセル９１０ａ、障害物無しピクセル９２０ａ、および未知確率を有するピクセル９３０ａを含む第１のセンサファミリーマップ９００ａを示す。障害物ピクセルと障害物無しピクセル９１０ａ、９２０ａは前回更新中に観測された。したがって、ピクセル９１０ａの障害物の不在の確率は０を若干越え、ピクセル９２０ａの障害物の不在の確率は１を若干下回る。図９ｂは第２のセンサファミリーマップ９００ｂを示す。障害物ピクセル９２０ｂと障害物無しピクセル９３０ｂは最新更新中に観測された。したがって、障害物ピクセル９２０ｂは障害物の不在の確率０を有し、障害物無しピクセル９３０ｂは障害物の不在の確率１を有する。図９ｃは、工程３６０におけるマップ９００ａ、９００ｂの融合後の最終融合結果マップ９００ｃを示す。有利には、少なくとも１つのセンサファミリーマップ内の障害物の不在の確率が閾値Ｔｓｏｂｓ未満である各ピクセルは障害物と考えられる。
【００８５】
障害物ピクセル９１０ａ、９１０ｂ内の値はすべてＴｓｏｂｓ閾値未満である。したがって、最終融合マップ９００ｃ内の障害物ピクセル９１０ｃは、障害物の不在の確率の値が０に設定されたすべてのピクセル９１０ａ、９１０ｂを含む。障害物無しピクセル９２０ａ、９２０ｂ内の障害物の不在の確率はすべてＴｓｆｒｅｅ閾値を越える。したがって、融合マップ９００ｃ内の障害物無しピクセル９２０ｃは、障害物ピクセルであるピクセル９１０ｃを除いてすべての障害物無しピクセル９２０ａ、９２０ｂを含む。最終融合マップ９００ｃ内の未知ピクセル９３０ｃは、センサファミリーマップのうちのいかなるものの中の障害物ピクセルでも障害物無しピクセルでもないすべてのピクセルを含む。
【００８６】
多くの実施形態では、融合マップ９００ｃはマップ９００ａ、９００ｂからピクセル毎に計算される。第１の工程は、第１および第２の一時的にまたは予め融合されたマップを生成することである。第１の事前融合マップ内の各ピクセルは、マージすべきすべてのセンサファミリーマップ内の同じピクセルの最小値に設定され、第２の事前融合マップ内の各ピクセルは、マージすべきすべてのセンサファミリーマップ内のこのピクセルの最大値に設定される。次に、手順は、すべてのピクセルから障害物を分離するために第１の事前融合マップに適用される。すなわち、その値がＴｓｏｂｓ未満である第１の事前融合マップ内の各ピクセルの値は０に設定され、第１の事前融合マップ内の他のすべてのピクセルの値は１に設定される。このとき、融合マップ内の各ピクセルの値は第１と第２の事前融合マップ間で最小である。
【００８７】
融合のための一般的アルゴリズムは以下のとおりである：
・各源の最小値のマップと最大値のマップとの２つを得る。
・黒と白だけを得るために最小値マップを閾値処理する。
・最大値マップと閾値処理最小値マップ間の最小値を使用する。
【００８８】
このアルゴリズムの実施形態の例示的擬似コードは以下のとおりである：
２つの一時的マップＴＭＰｍａｘとＴＭＰｍｉｎを生成する。
＃＃最小最大工程
ＴＭＰｍｉｎのピクセル（ｉ，ｊ）毎に、ＴＭＰｍｉｎ（ｉ，ｊ）＝ｍｉｎ（９００ａ（ｉ，ｊ），９００ｂ（ｉ，ｊ））
ＴＭＰｍａｘのピクセル（ｉ，ｊ）毎に、ＴＭＰｍａｘ（ｉ，ｊ）＝ｍａｘ（９００ａ（ｉ，ｊ），９００ｂ（ｉ，ｊ））
＃＃閾値２進工程
次にＴＭＰｍｉｎ内のピクセル（ｉ，ｊ）毎に、ｉｆ  ＴＭＰｍｉｎ（ｉ，ｊ）＜ＴＳｏｂｓ，ＴＭＰｍｉｎ（ｉ，ｊ）＝０  ｅｌｓｅ  ＴＭＰｍｉｎ（ｉ，ｊ）＝１
＃＃我々はＴＭＰｍｉｎ内に黒と白だけを有する。
＃＃最小工程
＃＃我々は次のように９００ｃを生成する、
９００ｃ内の各ピクセル（ｉ，ｊ）毎に、９００ｃ（ｉ，ｊ）＝ｍｉｎ（ＴＭＰｍｉｎ（ｉ，ｊ），ＴＭＰｍａｘ（ｉ，ｊ））
【００８９】
このようなピクセル毎ピクセル計算が望ましい結果を生成する。実際、マージすべきセンサファミリーマップ９００ａ、９００ｂの少なくとも一方の中のその値がＴｓｏｂｓ未満であるすべてのピクセルは、第１の事前融合マップ内で、したがって融合マップ９００ｃ内の障害物の不在の確率０を有する。障害物ピクセルでないすべての他のピクセルは、第１の事前融合マップ内で１の確率を有する。したがって、上記ピクセルは、マージ手順中に第２の事前融合マップから値を得、マージすべきセンサファミリーマップ９００ａ、９００ｂの少なくとも一方の中のこのセルの値がＴｓｆｒｅｅを越えれば障害物無しセルの確率を有することになる。上記例は本発明の実施形態の例示として与えられる。これらは、以下の特許請求範囲により規定される本発明の範囲を決して制限するものではない。
【図１】
0006462728.tif 000003
【図２】
0006462728.tif 000004
【図３】
0006462728.tif 000005
【図４】
0006462728.tif 000006
【図５】
0006462728.tif 000007
【図６】
0006462728.tif 000008
【図７】
0006462728.tif 000009
【図８ａ】
0006462728.tif 000010
【図８ｂ】
0006462728.tif 000011
【図８ｃ】
0006462728.tif 000012
【図８ｄ】
0006462728.tif 000013
【図９ａ】
0006462728.tif 000014
【図９ｂ】
0006462728.tif 000015
【図９ｃ】
0006462728.tif 000016