JP5913743B2 - 差動センサ又は視覚測定を用いたカーペットドリフトの推定 - Google Patents

差動センサ又は視覚測定を用いたカーペットドリフトの推定 Download PDF

Info

Publication number
JP5913743B2
JP5913743B2 JP2015516259A JP2015516259A JP5913743B2 JP 5913743 B2 JP5913743 B2 JP 5913743B2 JP 2015516259 A JP2015516259 A JP 2015516259A JP 2015516259 A JP2015516259 A JP 2015516259A JP 5913743 B2 JP5913743 B2 JP 5913743B2
Authority
JP
Japan
Prior art keywords
mobile robot
robot apparatus
controller
sensor
carpet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015516259A
Other languages
English (en)
Other versions
JP2015521760A (ja
Inventor
ゴエル ディラジ
ゴエル ディラジ
エーデ イーサン
エーデ イーサン
フォン フィリップ
フォン フィリップ
イー. ミューニック マリオ
イー. ミューニック マリオ
Original Assignee
アイロボット コーポレイション
アイロボット コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=49712713&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP5913743(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by アイロボット コーポレイション, アイロボット コーポレイション filed Critical アイロボット コーポレイション
Publication of JP2015521760A publication Critical patent/JP2015521760A/ja
Application granted granted Critical
Publication of JP5913743B2 publication Critical patent/JP5913743B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0253Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting relative motion information from a plurality of images taken successively, e.g. visual odometry, optical flow
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • B25J11/0085Cleaning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/007Manipulators mounted on wheels or on carriages mounted on wheels
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/027Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0272Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising means for registering the travel distance, e.g. revolutions of wheels
    • G05D1/24
    • G05D1/244
    • G05D1/40
    • G05D1/644
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/01Mobile robot

Description

関連出願の相互参照
本出願は、2012年6月8日に出願された米国仮出願第61/657399号「差動センサ及び視覚測定を用いたカーペットドリフトの推定」の優先権の利益を主張するものであり、そのすべてが参照により組み込まれる。
本開示は、ロボットシステムに関し、特に表面を横切るように構成された移動ロボットシステムに関する。
自律型ロボットは、人間による継続的な誘導なしに、環境において任意のタスクを実行することができるロボットである。ロボットの自律性の程度やその様式は様々である。例えば、自律型ロボットは、1又は複数のタスクを実行するために、人間による継続的な誘導なしに、整理されていない環境の作業表面を横断することができる。別の例では、自律型ロボットは、整理された環境において、あるいは人間の監督下で、タスクを実行することができる。家庭、オフィス及び/又は消費者向けのロボット工学分野においては、移動ロボットが真空掃除、床洗浄、巡回、芝刈り及びその他同様のタスクといった任務を実行するために採用されている。
しかしながら、従来の自律型ロボットの多くは、ロボットの位置及び/又は姿勢を適切又は正確に判定せず、また、ロボットが所定のルートにいること、及び/又はロボットが指定された位置及び/又は姿勢にあることを確認するためにロボット自身の動きを適切にコントロールしない。
以下に、1又は複数の態様を、その態様の基本的な理解のために簡潔に要約する。この要約は、検討される全ての態様についての広範な概要ではなく、全ての形態の重要又は不可欠な要素を特定したり、一部あるいは全部の態様の範囲を定義したりするものではない。その唯一の目的は、後に記載する詳細な説明の導入部として、1又は複数の態様の概念を簡潔に述べることである。特に、検討される態様には、ここに記載される1又は複数の態様の一部又は全部の概念を具体化する方法及び非一時的コンピュータ可読媒体が含まれる。
カーペット等の表面を横切るロボットが経験するカーペットドリフト等のドリフトを推定し、そのカーペットドリフト等のドリフトを補償するシステム及び方法を記載する。別の実施例において、ここに記載のシステム及び方法は、傾斜面や不安定な表面(例えば砂面や汚れた面)によるモーションドリフト及び/又はロボットを押し進めたり引き戻したりする風によるモーションドリフト等の、表面を横切るロボットの動きに影響を与えるその他の作用によるドリフトを推定するように構成されていてもよい。
いくつかの実施形態では、ロボット装置について検討する。ロボット装置は、本体と、本体に表面を横切らせるように構成されたアクチュエータシステムとを備えている。ロボット装置は、アクチュエータシステムの駆動特性を感知するように構成された第1のセンサセットを更に備えていてもよい。ロボット装置は、本体の運動特性を感知するように構成された第2のセンサセットを更に備えていてもよい。第1のセンサセットは、第2のセンサセットと異なる種類のセンサであってもよい。ロボット装置は、少なくとも第1のセンサセットによって感知された駆動特性と、第2のセンサセットによって感知された運動特性とに基づいて、カーペットドリフト等のドリフトを推定するコントローラを更に備えていてもよい。一実施形態において、アクチュエータシステムは、回転可能な車輪を有していてもよく、第1のセンサセットは、アクチュエータシステムの車輪の回転を感知するように構成されている。第2のセンサセットは、本体の回転を感知するように構成されたジャイロスコープセンサを有していてもよい。一実施形態において、アクチュエータシステムは、回転可能な車輪を有し、第1のセンサセットは、アクチュエータシステムの車輪の回転を感知するように構成されている。第2のセンサセットは、本体の回転を感知するように構成されたジャイロスコープセンサを有していてもよい。コントローラは更に、少なくとも感知された車輪の回転から推定される進行方向と、感知された本体の回転から推定される進行方向との比較結果に基づいて、カーペットドリフトを推定するように構成されている。一実施形態において、コントローラは更に、アクチュエータシステムを制御して、本体を少なくとも約180度回転させる操作を実行させるように構成されている。コントローラは更に、少なくとも操作中に感知された駆動特性と運動特性との複数の比較結果に基づいて、カーペットドリフトを推定するように構成されている。一実施形態において、コントローラは更に、少なくとも操作中の進行方向の変化に対する全ドリフト量の比に基づいて、カーペットドリフトの大きさを推定するように構成されている。一実施形態において、コントローラは更に、少なくとも障害物を検出したことに対する操作の間に感知された駆動特性と運動特性との複数の比較結果に基づいて、推定されたカーペットドリフトを更新するように構成されている。一実施形態において、アクチュエータシステムは、回転可能な車輪を有し、第1のセンサセットは、アクチュエータシステムの車輪の回転を感知するように構成されている。第2のセンサセットは、2つ以上の画像を取り込むように構成されたイメージセンサを有する。コントローラは、2つ以上の画像を比較することによって運動特性を推定するように構成されている。一実施形態において、コントローラは更に、2つ以上の画像のそれぞれに共通の特徴を検出するように構成され、コントローラは更に、少なくとも2つ以上の画像において検出された共通の特徴の相対位置の変化を比較することに基づいて、本体の進行方向を推定するように構成されている。
いくつかの実施形態では、ロボット装置について検討する。ロボット装置は、回転可能な左駆動輪及び回転可能な右駆動輪を備えている。ロボット装置は、当該ロボット装置が表面を移動するように、駆動信号に基づいて、左駆動輪と右駆動輪とを差動的に回転させるように構成された駆動サブシステムを更に備えている。ロボット装置は、左駆動輪及び右駆動輪の回転のオドメトリ測定値を生成するように構成された第1のセンサセットを更に備えている。ロボット装置は、当該ロボット装置の進行方向測定値を生成するように構成された第2のセンサセットを更に備えている。ロボット装置は、駆動信号を生成して、ロボット装置に進行方向角度の変更を伴う操作を実行させるように構成されたコントローラを更に備えている。コントローラは、少なくとも操作中の進行方向の変化の推定値と、操作中の進行方向測定値の変化とに基づいて、カーペットドリフト等のドリフトを推定するように構成されている。進行方向の変化の推定値は、操作中のオドメトリ測定値に基づく。一実施形態において、コントローラは更に、少なくとも進行方向測定値が少なくとも約180度の進行方向の変化を示すまで、操作を継続するように構成されている。コントローラは更に、操作中に複数のオドメトリ測定値を収集するように構成されている。コントローラは更に、操作中に複数の進行方向測定値を収集するように構成されている。コントローラは更に、少なくとも複数のオドメトリ測定値と複数の進行方向測定値との比較結果に基づいてカーペットドリフトを推定するように構成されている。一実施形態において、コントローラは更に、少なくとも部分的に、障害物に遭遇したことを受けて、カーペットドリフトを推定するように構成されている。一実施形態において、コントローラは更に、前回の推定が行われた後に、閾値の距離よりも長い距離を移動したことを受けて、カーペットドリフトを推定するように構成されている。
いくつかの実施形態では、移動ロボット装置について検討する。移動ロボット装置は、オドメトリ測定値を生成するように構成された第1のセンサセットを備えている。移動ロボット装置は、当該移動ロボット装置の進行方向測定値を生成するように構成された第2のセンサセットを備えている。移動ロボット装置は、画像を取り込むように構成されたカメラを備えている。移動ロボット装置は、第1及び第2のセンサセットと、カメラとに通信可能に結合されたコントローラを備えている。コントローラは、選択的に第1のモード及び選択的に第2のモードで動作するように構成されている。第1のモードでの動作中、コントローラは、少なくともオドメトリ測定値から推定された進行方向と、第2のセンサセットにより生成された進行方向測定値とに基づいて、カーペットドリフト等のドリフトを推定するように構成されている。第2のモードでの動作中、コントローラは、少なくともカメラが取り込んだ画像のうちの2つ以上の画像に基づいて、移動ロボット装置の動きの視覚測定値を生成するように構成されている。コントローラは、少なくともオドメトリ測定値と動きの視覚測定値とに基づいて、カーペットドリフトを推定するように構成されている。移動ロボット装置は、差動的に駆動される駆動輪を更に備えている。コントローラは、駆動輪の絶対差動回転が閾値よりも大きいときに、第1のモードで動作するように構成されている。一実施形態において、コントローラは、動きの視覚測定値に関連付けられる不確実性を計算するように構成され、かつコントローラは、不確実性が閾値を下回っていれば第2のモードで動作するように構成されている。
図面及び関連する記載は、発明の具体的な実施形態を説明するためのものであって、これを限定するものではない。
ロボット装置の上面図を示す概略図である。 図1のロボット装置のアクチュエータシステムの一実施形態を示す概略図である。 図1のロボット装置のコントローラの一実施形態を示す概略図である。 カーペットドリフトを推定する方法のフロー図である。 少なくともオドメトリセンサ及びジャイロスコープセンサの測定値に基づいてカーペットドリフトを推定する方法の一実施形態を示すフロー図である。 少なくともオドメトリセンサ及びイメージセンサの測定値に基づいてカーペットドリフトを推定する方法の一実施形態を示すフロー図である。 動きの視覚測定値を測定する方法の一実施形態を示すフロー図である。 統計フィルタを実行する方法の一実施形態を示すフロー図である。
カーペットドリフト等のドリフトを推定する方法及びシステムを記載する。実施形態は、掃除ロボットが経験するカーペットドリフトを推定するシステム及び方法に関して記載されるが、例えばカーペットが敷かれた面を横断することができる移動ロボット装置等の、その他の種類の装置にも適用可能である。カーペットという用語は、織目又は起毛のあるラグやその他の床敷物を含む。また、ここに記載される実施形態は、例えば傾斜面や不安定な表面(例えば砂面や汚れた面)及び/又は風力(例えば、ロボットを押し進めたり引き戻したりする比較的一定又は緩やかに経時変化する風)によるモーションドリフト等の、カーペットの作用以外の作用によるドリフトの推定にも適用可能である。
カーペットの製造方法においては、カーペットの繊維が特定の方向に曲がるように繊維を揃えていることがある。この繊維がバイアスされる方向を、カーペットの織目方向又は起毛方向と称する。織目方向による作用は、例えば、カーペットに掃除機をかけることや、手をカーペットの上で滑らせることのような、物体をカーペットの上で移動させることによって、経験することができる。物体が織目方向に沿ってカーペットを横切ると、カーペットの繊維はその移動方向に倒れる傾向があるので、ロボットの織目方向への移動を助ける。しかし、物体が織目方向に逆らって移動すると、カーペットの繊維は立ち上がり、ロボットの移動の抵抗となったり、その移動を抑制したりする。
動いている物体に作用する、カーペットの織目方向に左右される力は、その物体の動作に影響を及ぼしうる。例えば、カーペットの織目の影響により、自律型清掃装置の軌道が乱れることがある。物体の動作に対するカーペットの織目の作用を、カーペットドリフトと称する。カーペットドリフトは、大きさと方向の両方を有するカーペットドリフトベクトルで表される。カーペットドリフトベクトルは、カーペットの特性である。
カーペットドリフトは、自律型ロボットに問題をもたらしうる。とりわけ、自律型ロボットは、ホイールエンコーダ、ジャイロスコープ、加速度計及び/又は同等のセンサを用いて求められる自身の位置及び/又は向きの推定値に左右される。例えば、ホイールエンコーダセンサは、ある期間中のロボット装置の車輪の回転量を感知することで走行距離を求めるために用いられる。しかしながら、自律型ロボットがカーペットを敷かれた環境を航行する場合、カーペットの織目に対するロボットの動きに基づいて、ロボットの車輪がカーペットの繊維を立ち上げたり倒したりする。特に、カーペットの織目に沿って繊維が倒れたときは、カーペットは、ロボットをカーペットの織目の方向に推進又は案内する。その結果、ロボットがカーペットの織目の方向に移動すると、ロボットの走行距離は、車輪の回転に基づいて求められた距離よりも長くなってしまう。一方で、直立している繊維の上をカーペットの織目に逆らってロボットが走行すると、ロボットの走行距離は、車輪の回転に基づいて求められた距離よりも短くなってしまう。いずれの場合においても、実際の走行距離は、自律航法に用いられるホイールエンコーダ及び同等のセンサ等のセンサで測定される距離と異なってしまう。
特定のカーペットの環境において、カーペットドリフトベクトルの方向は固定又は一定にすることができる一方で、ドリフト量は走行距離に比例するか、ある程度関連している。したがって、ロボットがカーペットを横断するにつれて、位置推定エラーが経時的に蓄積される可能性がある。このため、ロボットは環境の正確なマップを構築することができなくなってしまう。あるいは、掃除等のタスクを実行するために環境を効率良く正確に、かつ/又は安全に走行することができなくなってしまう。
カーペットドリフトの推定値は、オドメトリセンサ(例えば、一体型差動モーションセンサ)では説明されないロボット装置の動きに全体的又は部分的に基づいて、任意に生成することができる。特に、カーペットドリフトは、2種類以上のセンサ測定値を組み合わせることによって任意に推定してもよい。一実施形態において、あるセンサからの測定値は、任意の動き又は命令された動きを示すことができ、別のセンサ(例えば種類の異なるセンサ)からの測定値は、実際の動きを示すことができる。例えば、一実施形態において、オドメトリセンサ(例えば、車輪の回転量を測定する1又は複数のセンサ)は、測定又は命令された車輪の回転に基づいて、任意の動き又は命令された動きを示すことができる。追加又は代替として、車輪の速度、車輪の加速度及び/又はモータ制御信号等の、アクチュエータシステムのその他の特性を用いてもよい。ロボット装置の向き又は進行方向の変化のような、ロボット装置の実際の動きは、例えば、ジャイロスコープセンサ、イメージセンサ、あるいは同様のセンサ又はその他のセンサの組み合わせを用いることによって推定してもよい。カーペットドリフト(又はカーペットドリフトベクトル)は、任意の動きと実際の動きとを比較することによって推定してもよい。
カーペットドリフトの推定値を用いて、動きの推定を改良又は修正してもよい。例えば、推定されたカーペットドリフトベクトルは、カーペットの織目による影響を補償するためにモータコントローラと共に用いてもよく、かつ/又はオドメトリデータを調整する修正項を生成するために用いてもよい。カーペットドリフトの推定値を用いて、ロボットがカーペット敷きの床面にいるのか、あるいはカーペットが敷かれていない床面にいるのかを推定してもよい。
図1は、ロボット装置100の上面図を示す概略図である(ロボット装置の内部構成要素は模式的に示されており、ロボット装置100内での内部構成要素の実際の位置又は場所を図示するものではない)。ロボット装置100は、本体102、アクチュエータシステム104、コミュニケーションバス106、コントローラ108、第1のセンサセット110、第2のセンサセット112、第3のセンサセット114及び清掃機構116を有している。
本体102は、ロボット装置100の外面を形成する構造、ならびにシャーシ等の種々の内部構造を有していてもよい。したがって、本体102は、アクチュエータシステム104、コミュニケーションバス106、コントローラ108、1又は複数の第1のセンサセット110、1又は複数の第2のセンサセット112、1又は複数の第3のセンサセット114及び清掃機構116を収納するように構成されていてもよい。センサセットの数は、これより少なくてもよいし、多くてもよい。
ロボット装置100の外面は、いずれの適用可能な形状であってもよく、例えば、矩形状又は三角形状等の、上面図において略直線状の端部を有する形状や、円形状、楕円形状及びD字状等の、1又は複数の実質的に曲線状又は円弧状の端部を有する形状であってもよいが、これらに限定されない。しかしながら、本体102は、その他の形状であってもよい。動作時において、外面は壁等の障害物に接触することがある。したがって、本体102の外面は、ロボット装置100がそのような障害物に沿って摺動可能となるような摩擦係数を有する材料から形成された部分を有していてもよい。
アクチュエータシステム104は、本体102に、例えばカーペット敷きの床面及び/又はカーペットが敷かれていない床面等の表面を横切らせるように構成されている。例えば、アクチュエータシステム104は、コントローラ108からコミュニケーションバス106を介して、例えば1又は複数の車輪を表面で回転駆動させること等の、アクチュエータシステム104が発生させたアクチュエータの動作又は力を制御するための駆動コマンドを受け取ることができる。アクチュエータシステム104及び本体102は、発生したアクチュエータの動作又は力によって本体102が移動するように、適切に作用するように結合されていてもよい。アクチュエータシステム104は、本体102を移動させるための力を発生させる適切な数のモータ、車輪、トランスミッション及び同様のアセンブリを有していてもよい。アクチュエータシステム104については、図2を参照しながら更に詳細に後述する。
コミュニケーションバス106は、アクチュエータシステム104と、コントローラ108と、第1、第2及び第3のセンサセット110,112,114とを通信可能に相互接続するように構成されている。コミュニケーションバス106は、電気信号、光信号及び/又は機械信号を伝達することができる。図示された実施形態では、コミュニケーションバス106を共有バスとして記載しているが、当業者においては、例えば個々のアクチュエータシステム104、コントローラ108及び第1、第2及び第3のセンサセット110,112,114の間、又はこれらのサブグループ間における追加又は代替の通信チャネルのような、その他の構成が実施可能であることは理解されるだろう。
コントローラ108は、センサ110,112,114からのデータ/測定値を入力として受信し、カーペットドリフト等のドリフトを推定するように構成されている。例えば、コントローラ108は、コミュニケーションバス106から受信した、少なくとも第1のセンサセット110によって感知された駆動特性と、第2のセンサセット112によって感知された運動特性とに基づき、カーペットドリフト等のドリフトを推定するように構成されている。駆動特性の例としては、車輪の回転位置、回転速度、回転加速度及び/又は同様の、命令された動き又は任意の動きを示すアクチュエータの測定値が挙げられるが、これに限定されない。例えば、ロボット装置100がアクチュエータシステム104の車輪によって移動する場合、ロボット装置100の任意の変位量は、オドメトリによって(例えば、車輪の回転量及び車輪の直径に基づいて)推定される。運動特性の例としては、本体102の回転特性(例えば、角度方位、角速度及び/又は角加速度)、経路角(例えば、部屋座標におけるロボット装置100の速度ベクトルの角度又はその変化)及び/又はロボット装置100の実際の動きを示す同様の測定値が挙げられるが、これに限定されない。例えば、ジャイロスコープセンサは、ロボット装置100の方位の回転変化の測定値を得ることができる。更に別の例として、イメージセンサは、装置の経路角に関連する測定値を得ることができる。
更に、コントローラ108は、アクチュエータシステム104及び/又は清掃機構116の動作を制御するように構成されていてもよい。例えば、コントローラ108は、アクチュエータシステム104にコミュニケーションバス106を介して制御信号を送り、ロボット装置100を任意の軌道で移動させることができる。また、いくつかの実施形態において、コントローラ108は、制御信号をアクチュエータシステム104に送るか、又は直接清掃機構116に送ることにより、清掃機構116に関与することができる。コントローラ108については、図3を参照しながら更に詳細に後述する。
第1のセンサセット110は、アクチュエータシステム104の駆動特性を感知するように構成されている。例えば、第1のセンサセット110は、アクチュエータシステム104に結合されていてもよい。特定の一実施形態において、第1のセンサセット110は、アクチュエータシステム104の1又は複数の車輪に結合されるリニアエンコーダ又は回転エンコーダ等の、1又は複数のオドメトリセンサ、あるいはアクチュエータシステム104に供給された制御信号又は動力信号を測定又は収集するセンサ又はモジュールを有していてもよい。これらの測定値により、オドメトリ又は自律航法によってロボット装置100の動きを推定する方法が提供される。しかし、推定値は、例えばカーペットドリフトによって、実際の動きとは異なることがある。
第2のセンサセット112は、本体102の運動特性を感知するように構成されている。例えば、第1のセンサセット110は、環境又は慣性系に関連する運動特性を感知するために本体102に結合されていてもよい。感知された運動特性は、コミュニケーションバス106を介してコントローラ108に供給されてもよい。一実施形態において、第2のセンサセット112は、本体102の回転を感知する1又は複数のジャイロスコープセンサを有していてもよい。別の実施形態において、第2のセンサセット112は、追加又は代替として、ロボット装置100の経路角を推定するために環境の画像を取り込む1又は複数のイメージセンサを有していてもよい。
第3のセンサセット114は、本体102の第2の運動特性を感知するために任意に設けられる。例えば、ロボット装置100のいくつかの実施形態では、本体の回転又は経路角のいずれか一方のみの変化を感知することができるが、その他の実施形態では、例えば第2及び第3のセンサセット112,114を用いることによって、その両方を任意に感知することができる。したがって、一実施形態において、ロボット装置100は、本体102の回転を感知するための1又は複数のジャイロスコープセンサ、コンパスセンサ及び/又は加速度計(例えば第2のセンサセット112に相当する)を有していてもよく、画像に基づいて進行方向を推定する1又は複数のイメージセンサ(例えば第3のセンサセット114に相当する)を有していてもよい。
上述のように、第1、第2及び第3のセンサセット110,112,114は、任意の異なる種類のセンサであってもよい。例えば、一実施形態において、第1のセンサセット110は、1又は複数のオドメトリセンサを有していてもよい。第2のセンサセット112は、1又は複数のジャイロスコープセンサを有していてもよい。任意の第3のセンサセット114は、1又は複数のイメージセンサを有していてもよい。
清掃機構116は、表面から塵芥を捕捉するように構成されている。例えば、清掃機構116は、本体102に結合され、ロボット装置100が表面を横断する際に表面から塵芥を捕捉できるように配置されたブラシ、清掃マット及び/又は真空アセンブリを有していてもよい。いくつかの実施形態において、清掃機構は、例えばアクチュエータシステム104から動力を受けて、ブラシアセンブリ(柔軟な多翼ビータであってもよく、ブラシの毛の列の間に柔軟なビータフラップを有していてもよい)に動力を供給し、掃除のための吸引力を発生させるように構成されていてもよい。清掃機構116は必須ではなく、任意に設けられる。
動作時において、コントローラ108は、アクチュエータシステム104に命令して、ロボット装置100を、図示された実施形態においてベクトルaで表される任意の変位量(及び/又は任意の速度)で移動させることができる。上述の通り、カーペット敷きの床面は、ある程度はカーペットの織目によって、ロボット装置100の動きに影響を及ぼしうる。したがって、ロボット装置100は、図示された実施形態においてベクトルcで表されるカーペットドリフトを経験する。実際の変位量ベクトルbは、任意の変位量ベクトルaとカーペットドリフトベクトルcとの重ね合わせである。
動作時において、コントローラ108は、コミュニケーションバス106を介して第1のセンサセット110から測定値を受け取ることができる。例えば、第1のセンサセット110の測定値は、任意の変位量ベクトルaに関連している。また、コントローラ108は、コミュニケーションバス106を介して第2のセンサセット112から測定値を受信することができる。例えば、第2のセンサセット112の測定値は、実際の運動ベクトルbに関連している。これらの測定値に(全体的あるいは部分的に)基づいて、コントローラ108はカーペットドリフトベクトルcの作用を推定することができる。この推定は、第1のセンサセット110の測定値(例えばオドメトリ測定値)の修正の一助となることができ、かつ/又はカーペットドリフトを補償することができる。
図2は、図1のロボット装置100のアクチュエータシステム104の実施形態を示す概略図である。アクチュエータシステム104は、回転可能な左側車輪202、回転可能な右側車輪204、左側トランスミッションアセンブリ206、右側トランスミッションアセンブリ208及び駆動サブシステム210を有している。
駆動サブシステム210は、回転可能な左側及び右側車輪202,204を回転させてロボット装置100を移動させるための動力を発生するように構成されていてもよい。例えば、左側トランスミッションアセンブリ206は、駆動サブシステム210によって発生された機械的動力を伝達して、左側車輪202を回転させるように構成されていてもよい。同様に、右側トランスミッションアセンブリ208は、駆動サブシステム210によって発生された機械的動力を伝達して、右側車輪204を回転させるように構成されていてもよい。左側及び右側車輪202,204は、差動的に駆動されてもよい。例えば、駆動サブシステム210は、左側車輪202を速度vで駆動し、右側車輪204を個別に速度vで駆動することができる。左側及び右側車輪202,204の差動速度を変化させることにより、差動速度の大きさと、ホイールベースの距離L(例えば、左側及び右側車輪202,204の間の距離)とに基づく半径で、ロボット装置100の向きを変えることができる。したがって、アクチュエータシステム104の図示された実施形態は、車輪202,204が、制御可能な経路又は進行方向において床面に接触した状態で回転することで、ロボット装置100を移動させるように構成されていてもよい。
いずれの適用可能な種類の車輪を選択してもよく、左側及び右側車輪202,204はそれぞれ、戦車の駆動システムに類似した、左側キャタピラにより相互接続される複数の左側車輪と、右側キャタピラにより相互接続される複数の右側車輪とを有する左側及び右側車輪サブシステム(図示せず)の一部であってもよい。また、その他の実施形態において、アクチュエータシステム104は、移動を行うための1又は複数の左脚部及び1又は複数の右脚部を有していてもよい。更に別の実施形態において、アクチュエータシステム104は、1又は複数の回転可能かつ旋回可能な車輪を有していてもよい。これらの車輪は、回転しながら、ロボット装置100を、車輪の旋回角度に応じて可変する方向に移動させるように構成されている。
ロボット装置100がカーペットの織目の方向に沿って移動しているときは、車輪202,204の回転から(例えばオドメトリによって)推定される変位量は、実際の変位量よりも小さいことがある。ロボット装置100がカーペットの織目の方向に逆らって移動しているときは、この結果は全体的又は部分的に逆転する。図2に示す実施形態において、カーペットドリフトベクトルcは、ロボットのホイールベースに対して角度θを有している。例えば、左側車輪202が速度vで駆動され、右側車輪204が速度vで駆動されているとき、ロボット装置100は、カーペットドリフトと車輪のすべり量がない場合にv、v及びLで定義される円弧上で駆動される。しかしながら、カーペットドリフトによってロボット装置100はカーペットドリフトベクトルcの方向に移動しうるので、実際の変位量は任意の変位量とは異なる。
更に詳細に説明すると、左側及び右側車輪202,204がある期間(例えば単位時間)中にそれぞれ距離d及び距離dを移動すると、この動きはオドメトリセンサ等の変位量センサによって感知される。この動きによる進行方向の変化(例えば、カーペットドリフトの不在、車輪のすべり量及び同様のアクチュエータに対する障害)は、次の数式によって近似的にモデル化される。
Figure 0005913743
車輪の走行方向のカーペットドリフトを説明するために、各車輪の実際の変位量は、追加の条件として、カーペットドリフトベクトルcと車輪が動く方向との内積を有していてもよい。その結果、実際の左側変位量及び右側変位量dlc,drcは、次の数式によって近似的にモデル化される。
Figure 0005913743
Figure 0005913743
この変位量から、ジャイロスコープ等の進行方向センサによって測定される進行方向の変化は、次の数式によって近似的にモデル化される。
Figure 0005913743
カーペットドリフトによる進行方向の変化は、オドメトリから計算される進行方向の変化と、ジャイロスコープセンサから計算される進行方向の変化との差を求めることによって推定される。
Figure 0005913743
Figure 0005913743
数式5において明らかなように、変位量センサ(例えばオドメトリセンサ)及び進行方向センサ(例えばジャイロスコープ)から計算された進行方向の差は、ロボットの進行方向を基準として、カーペットドリフト方向に比例する。数式4から、個々の車輪の絶対変位量は、実質的に異なり、かつ不変である。したがって、ロボットが全ての可能な方位を含む(例えば、1回転するために円弧状に移動する)場合、数式5で推定される進行方向の差は、正弦関数に帰結する。正弦関数の最大値と最小値は、ロボットがカーペットの織目の方向にほぼ一致したときと、カーペットの織目の反対方向に一致したときにそれぞれ生じる。
図3は、図1のロボット装置100のコントローラ108の実施形態を示す概略図である。コントローラ108は、プロセッサ302と、メモリ304とを有している。メモリ304は、アクチュエータモジュール306と、センサモジュール308と、コントローラモジュール310と、推定モジュール312とを有している。
プロセッサ302は、メモリ304からの指令を実行し、アクチュエータシステム(例えば図1のアクチュエータシステム104)、センサ(例えば図1の第1、第2及び第3のセンサセット110,112,114)、清掃機構(例えば図1の清掃機構116)及び/又はロボット装置100の同様の構成要素を制御して動作させるように構成されている、マイクロプロセッサ又はマイクロコントローラ等の回路を有している。特に、プロセッサ302は、汎用のシングルチップ又はマルチチップマイクロプロセッサ(例えばARM)、専用のマイクロプロセッサ(例えばデジタル信号プロセッサ(DSP))、マイクロコントローラ、プログラマブルゲートアレイ等であってもよい。コントローラ108中にはシングルプロセッサ302が示されているが、別の構成において、複数のプロセッサ(例えば、ARM及びDSP)を組み合わせて用いてもよい。
メモリ304は、化学的、磁気的、電気的、光学的又は同様の手段によって情報を記録するように構成されている有形の非一時的コンピュータ可読媒体を有している。例えば、メモリ304は、フラッシュメモリ又はハードディスクドライブ等の不揮発性メモリ装置及び/又はダイナミックランダムアクセスメモリ(DRAM)又はスタティックランダムアクセスメモリ(SRAM)等の揮発性メモリ装置、あるいは不揮発性メモリと揮発性メモリとを組み合わせたシステムであってもよい。
メモリ304は、ロボット装置100のアクチュエータを動作させるようにプロセッサ302を設定する指令を有するアクチュエータモジュール306を有している。例えば、アクチュエータモジュール306は、メモリ304内の各種モジュールが図1のアクチュエータシステム104を使用できるようにする指令を有していてもよい。特に、アクチュエータモジュール306は、図1のコントローラ108とアクチュエータシステム104との間でのデータ及び制御メッセージの伝達を制御するためのドライバを形成する指令を有していてもよい。
メモリ304は、ロボット装置100のセンサを動作させるようにプロセッサ302を設定する指令を有するセンサモジュール308を有している。例えば、センサモジュール308は、メモリ304内の各種モジュールが図1のセンサ110,112,114を使用できるようにする指令を有していてもよい。特に、センサモジュール308は、図1のコントローラ108とセンサ110,112,114との間でのデータ及び制御メッセージの伝達を制御するためのドライバを形成する指令を有していてもよい。
メモリ304は、ロボット装置100のアクチュエータ104及びセンサ110,112,114を制御するように、かつアクチュエータモジュール306、センサモジュール308及び推定モジュール312の実行を制御するようにプロセッサ302を設定する指令を有するコントローラモジュール310を有している。例えば、コントローラモジュール310は、アクチュエータのための制御信号(例えばモータ制御則)の生成、ならびに生成された制御信号をアクチュエータシステム104に送るためのアクチュエータモジュール306の指令を呼び出す制御信号(例えばモータ制御則)の生成に関連する指令を有していてもよい。コントローラモジュール310は、センサ110,112,114からの測定値を受け取るセンサモジュール308の指令の呼び出しに関連する指令を有していてもよい。コントローラモジュール310は、カーペットドリフトを推定する推定モジュール312の指令の実行を制御する指令を有していてもよい。
メモリ304は、カーペットドリフトを推定するようにプロセッサ302を設定する指令を有する推定モジュール312を有している。図4〜図8を参照しながら、推定モジュール312が実施する種々の方法を以下に詳述する。
図4は、カーペットドリフトを推定する方法400のフロー図である。一実施形態において、ロボット装置100は、メモリ304内の推定モジュール312の指令を実行して、方法400の動作を実行する。方法400は、ブロック402で開始され、ロボット装置100がパターンで移動されるブロック404に進む。例えば、コントローラ108は、アクチュエータシステム104に命令してロボット装置100に表面を横切らせる。いくつかの実施形態において、ロボット装置100を移動させることは、カーペットドリフト較正フェーズ(例えば、表面での初期動作中又は始動時)の一部である。例えば、較正プロセスの間、ロボット装置100は、ロボット装置100を少なくとも約180度又は少なくとも約360度回転させる操作を実行するように命令されてもよい。ロボット装置を少なくとも180度回転させることにより、ロボット装置はその回転の間、少なくともカーペットドリフトベクトルの方向又はその反対方向に一致することができる。したがって、例えば数式5と、Δαdriftの最大値/最小値の位置判定とによって、カーペットドリフトベクトルcの方向を推定することができる。ロボット装置を少なくとも360度回転させることにより、ロボット装置はその回転の間、カーペットドリフトベクトルの方向及びその反対方向に一致することができる。したがって、例えば数式5と、Δαdriftの最大値及び/又は最小値の位置判定とによって、カーペットドリフトベクトルcを推定することができる。追加又は代替として、ロボット装置100の移動は、例えば空間の踏破又は清掃といった別のタスクの一部として実行してもよい。例えば、操作は、壁等の障害物に遭遇したことを受けて、向きを変えることであってもよい。別の例として、操作は、例えばロボット装置100が第1の壁から第2の壁へ横断するときのような、略直線状の経路であってもよい。
ブロック404の間、又は同時に、方法400は、ロボット装置100のアクチュエータシステムの駆動特性を感知するためのブロック406を実行してもよい。例えば、コントローラ108は、第1のセンサセット110を用いて、複数の駆動特性の測定値を受け取ることができる。駆動特性は、例えばアクチュエータシステム104の1又は複数の車輪の回転に相当し、オドメトリを生成することができる。図3に関連して上記したように、オドメトリ測定値を用いて、ロボット装置100の進行方向の任意の変化を推定してもよい。
ブロック404の間、又は同時に、方法400は、ロボット装置100の運動特性を感知するためのブロック408を実行してもよい。例えば、コントローラ108は、第2又は第3のセンサセット112,114を用いて、複数の運動特性の測定値を受け取ることができる。運動特性は、例えばジャイロスコープセンサによって感知されたロボット装置100の回転の変化、又はイメージセンサによって感知された経路角の変化に相当する。
駆動特性及び運動特性のそれぞれの測定値を収集した後、方法400は、少なくとも駆動特性及び運動特性に基づいてカーペットドリフトを推定するためのブロック410に進む。例えば、コントローラ108は、ロボット装置100が操作を実行している間に収集された駆動特性の測定値と運動特性の測定値を比較する。ブロック410で実行される推定プロセスは、運動特性の性質に依存する。例えば、コントローラ108は、運動特性がロボット装置100の回転に関連していれば、一方の推定方法(例えば図5の方法410a)を用いる一方、運動特性が経路角に関連していれば、別の推定方法(例えば図6の方法410b)を用いる。このような推定方法の例を、図5〜図8を参照しながら更に詳細に後述する。
追加又は代替として、推定方法は、ブロック404で実行される操作に依存する。例えば、操作が少なくとも約180度又は少なくとも約360度の回転といった実質的な回転を含む場合、推定方法は、図5に関連する以下の記載に準じる。操作が、例えば約10%又は約20%より少ない差での左側車輪及び右側車輪(例えば図3の車輪202,204)の命令された差動回転又は速度に対応する任意の軌道等の、略直線状の任意の軌道を含む場合、推定方法は図6〜図8に関連した以下の記載に準じる。しかしながら、当業者においては、図6〜図8の推定方法は、略直線状の任意の軌道を必要とせず、湾曲した軌道等のその他の軌道を用いてもよいことは理解されるだろう。
カーペットドリフトが推定された後、方法400はカーペットドリフトの修正を適用するためのブロック412に進む。例えば、織目方向の織目の大きさに比例又は関連するドリフト要素を追加することにより、オドメトリの読み取り値を修正してもよい。ロボットの位置を推定するために、修正されたオドメトリ値を用いてもよい。この修正により、カーペット敷きの床面でのロボット装置100の自律航法を有意に向上することができる。
方法400は、ロボット装置100の稼動中、カーペットドリフト推定を調整し、位置推定を向上させるために、任意に間欠的に実行してもよい。例えば、方法400は、時間又は走行距離に応じて周期的に実行してもよい。例えば、ロボット装置100は、前回の推定が実行された後に閾値の距離(任意に予め設定される)よりも長い距離を走行した後、又は走行したことを受けて、方法400を実行するように構成されていてもよい。更に、方法400は、ロボット装置100が、複数のカーペット(又は複数の表面)が存在する環境で動作しているか否かを評価するために実行してもよい。例えば、カーペット敷きの面が異なれば、それに関連するカーペットドリフトベクトルもまた異なる。方法400は、複数のカーペットドリフト推定値を生成するために、複数回実行してもよい。複数のカーペットドリフト推定値が異なれば、複数のカーペット面が存在すると推定又は判定することができる。更に、カーペットドリフト推定によって、カーペットドリフトが皆無あるいはほぼ皆無であることが示された場合、車両はカーペットが敷かれていない面で動作していると推定又は判定される。方法400が完了すると、ブロック414へ進み、終了する。
図5は、少なくともオドメトリセンサ及びジャイロスコープセンサからの測定値に基づいて、カーペットドリフトを推定する方法410aの実施形態を示すフロー図である。例えば、方法410aは、推定されたカーペットドリフトを用いて、修正されたオドメトリを較正するフェーズの一部として実行してもよい。また、方法410aは、推定されたカーペットドリフトを調整するために、タスクの実施中に実行してもよい。例えば、方法410aは、ロボット装置100が部屋の表面を掃除している間に実行してもよい。特に、方法410aは、ロボット装置100が回転しているとき、例えば、障害物に遭遇したとき又は障害物の周辺を走行しているときに実行してもよい。ジャイロスコープセンサを用いる実施形態の数ある利点のうちの1つは、例えばイメージセンサと比較して、ハードウェア、実行、ランタイム計算の点において精度が向上し、複雑度が低いことである。一実施形態において、ロボット装置100は、方法410aの動作を実行するためにメモリ304内の推定モジュール312の指令を実行する。
方法410aは、ブロック502で開始され、複数の第1及び第2の進行方向推定値を比較するためのブロック504へ進む。例えば、ブロック502で方法410aを開始する前に、ロボット装置100が例えば1つの車輪の回りを旋回することによって1回転する操作を実行する間に、測定値を収集してもよい。その他の運動もまた使用可能である。例えば、駆動輪間の差(例えば、|d|−|d|)をゼロ以外として操作を実行してもよい。一実施形態において、N個の第1の進行方向推定値Δαodom,n(n=1、2、..、N)は、数式1を用いて、オドメトリ測定値から生成してもよい。N個の第2の進行方向推定値Δαgyro,n(n=1、2、..、N)は、ジャイロスコープセンサによって生成されてもよい。いくつかの実施形態において、測定値対(Δαodom,n、Δαgyro,n)は、おおよその間隔で、例えば、前回の読み取り時と比較してロボット装置100が約0.1ラジアン回転する毎に、収集してもよい。カーペットドリフトΔαdrift,nによる進行方向の差は、次の数式により概算される。
Figure 0005913743
方法410aは、少なくともブロック504での比較における差に基づいてカーペットドリフトの方向を推定するためのブロック506に進む。例えば、1回転のΔαdrift,nのプロットは、数式5においてモデル化される正弦波信号に近づくことができる。カーペットドリフトによる推定された進行方向の変化Δαdrift,nの極値又はピークは、オドメトリセンサ及びジャイロスコープセンサが最も異なるときに近似的に現れる。例えば、ロボット装置100がカーペットの織目の方向に完全一致しているとき、オドメトリセンサは回転角度を実際よりも小さく見積もって、ジャイロスコープセンサによって測定された進行方向よりも遅れるため、最大値が生じる。逆に、ロボット装置100がカーペットの織目と逆の方向に一致し、オドメトリセンサが回転角度を実際よりも大きく見積もると、最小値が生じる。したがって、カーペットの織目の方向は、第1及び第2の進行方向推定値の比較におけるピークに基づいて推定してもよい。この目的のために、標準又は非標準の相関関係/畳み込み及び/又は検索手法を用いてもよい。
方法410aは、少なくとも全ドリフト量と進行方向の変化とに基づいてカーペットドリフトの大きさを推定するブロック508に進む。例えば、カーペットドリフトの大きさの推定値は、次の数式を用いて得ることができる。
Figure 0005913743
数式6aは、1回転(例えば2π)の際の全ドリフト量の比である。数式6aの分母を操作中の進行方向の全変化量に置き換えることによって、その他の回転量を用いてもよい。
床面にカーペットが敷かれていなければ、Δαdrift,nのプロットは、周期Nを有する正弦波に近似しない。したがって、Δαdrift,nが基本周期Nを有していなければ(又はΔαdrift,nが数式5から予期される実質的な正弦波形を有していなければ)、床面にはカーペットが敷かれていないと推定又は断定することができる。その後、方法410aはブロック510に進み、終了する。
カーペットドリフトの推定における特段の課題は、カーペットドリフトの特定の作用は、ジャイロスコープセンサでは検知できないということである。例えば、ロボット装置100が直線経路を追従するように命令されている場合、カーペットドリフトの一態様は、ロボット装置100の進行方向を実質的に回転又は変化させない方法で(例えば、経路角を変化させることによって)ロボット装置100の動きに影響を及ぼしうる。例えば、カーペットドリフトは、ロボット装置100を回転させないロボット装置100の並進運動に影響を及ぼしうる。したがって、略直線状の任意の経路を有する操作中にカーペットドリフトの態様を推定する場合(例えば車輪の変位量の絶対差|d|−|d|が実質的にゼロ)及び/又は進行方向が実質的に変化しない場合には、ジャイロスコープセンサは効果的ではない。このため、カーペットドリフトの推定に改良が要求される。
図6は、少なくともオドメトリセンサ及びイメージセンサの測定値に基づいてカーペットドリフトを推定する方法410bの実施形態を示すフロー図である。例えば、ロボット装置100にカメラ等のイメージセンサが搭載されている場合、カーペットドリフトの推定は、画像に基づいた測定値を用いてオンラインで行うことができる。その他の実施形態において、ロボット装置100は、一体型イメージセンサを有していなくてもよい。例えば、外部カメラによって取り込まれた画像を、例えばワイヤレスでロボット装置100に伝達してもよい。追加又は代替として、プロセッサ及びカメラを有する外部システムを用いてロボットを撮影し、その画像からロボット装置100の位置及び/又は向きを判定し、そのデータをロボット装置100に伝達してもよい。画像に基づく推定を、完全一体型ロボットに関連して以下に記載する。しかしながら、これは分離型のロボット−カメラシステムにも適用可能である。
画像に基づく推定は、硬い床の上にカーペット、エリアラグ、及びその他の一般的な敷物が複数ある環境において任意に効果的である。画像に基づく感知は、実質的な車輪の差が要求されていない状況(例えば、ほぼ直線の操作中)においても効果的である。言い換えれば、方法410bは、ロボット装置100が回転を要求されていない操作の間にカーペットドリフトを推定するのに効果的である。一実施形態において、ロボット装置100は、方法410bの動作を実行するための、メモリ304内の推定モジュール312の指令を実行する。
方法410bは、ブロック602で開始され、イメージセンサが取り込んだ2つ以上の画像から動きの視覚測定値を測定するためのブロック604に進む。エピポーラマッチング、視覚オドメトリ、位相相関、ストラクチャ・フロム・モーション等の、視覚情報から動きの視覚測定値を測定する各種の方法が存在する。当業者においては、視覚測定値を測定するいずれかの適当な方法が使用可能であることは理解されるだろう。エピポーラマッチングを伴う一実施形態を、図7を参照しながら更に詳細に後述する。
動きの視覚測定値を測定した後、方法410bは統計フィルタを実行するためのブロック606に進む。カメラ画像から抽出されたロボット装置100の動きの推定値を、統計推定フィルタを用いて組み合わせる。統計推定フィルタは、カーペットドリフト又はカーペットドリフトベクトルの推定値を維持することができる。拡張型カルマンフィルタ(EKF)、拡張型情報フィルタ、非線形最適法及び粒子フィルタの変形を含む各種統計推定フィルタにより、視覚測定値を組み合わせることができる。反復EKF(IEKF)を用いる一実施形態を、図8を参照しながら更に詳細に後述する。方法410bは、ブロック608で終了する。
一実施形態において、ロボット装置100は、方法410a又は方法410bのいずれか一方のみを実行してもよい。しかしながら別の実施形態においては、方法410a,410bの両方を実行してもよく、動作中に2つの方法又はモードを切り替えてもよい。例えば、ロボット装置100は、ジャイロスコープセンサ及びイメージセンサの両方を有していてもよい。ロボット装置100は、較正フェーズ中及び/又はロボット装置100が回転を要求された操作中に、方法410aを実行してもよい。また、ロボット装置100は、ロボット装置100が回転を要求されていない操作中に、方法410bを実行してもよい。例えば、ある特定の実施形態において、ロボット装置100は2つの壁の間を繰り返し横断して、部屋の床を掃除するように構成されていてもよい。したがって、ロボット装置100は、一方の壁から他方の壁へ、略直線状に移動するように構成されていてもよい。この直線操作中に、ロボット装置100は選択的に方法410bを実行するように構成されていてもよい。ロボット装置100が他方の壁に接触したときは、ロボット装置100は回転して(例えば約180度)一方の壁に向くように構成されていてもよい。この回転操作中に、ロボット装置100は選択的に方法410aを実行するように構成されていてもよい。
しかしながら別の実施形態においては、方法410a及び方法410bを並行して実行し、動作中にこの2つの方法を切り替えてもよい。例えば、図1のコントローラ108は、方法410a,410bの動作をモニターして、最も信頼できる推定値を提供する出力を選択してもよい。例えば、コントローラ108は、車輪の差(例えば|d|−|d|)が大きい場合に、方法410aを実行するプロセスの出力を使用することを選択し、車輪の差が小さい場合にはこれを選択しない。別の例として、コントローラ108は、動きの視覚測定値が正確であることが示されていれば、方法410bを実行するプロセスの出力を使用することを選択してもよい。例えば、図7を参照しながら更に詳細に後述するように、方法410bは、確実性レベルを計算し、マッチングした特徴の密接度を測定することができる。一実施形態において、不確実性が低いとき及び/又は特徴が密接にマッチングしているときに、方法410bを選択してもよい。
追加又は代替として、2つの方法410a,410b又はモードの決定の一助として、コントローラ108は、オンラインで評価及び比較可能な、2つの仮定的なパフォーマンスメトリックを比較してもよい。例えば、方法410aは、オンラインで評価可能なパフォーマンスメトリックPを割り当てられてもよい。メトリックの選択肢の一例は、P=μ(|d|−|d|)−2である。式中、μは、特定用途向けの理由に基づいて選択される設計変数である。同様に、方法410bは、類似の又は異なるパフォーマンスメトリックPを割り当てられてもよい。メトリックの選択肢の一例は、P=μ||P||である。式中、μは特定用途向けの理由に基づいて選択される設計変数、||P||は画像に基づくドリフト推定値を生成するのに使用されるカルマンフィルタの共分散行列Pの行列ノルムである(例えば図8参照)。一実施形態において、コントローラ108は、P<Pのときに方法410aの出力を使用することを選択してもよく、P<Pのときに方法410bの出力を使用することを選択してもよい。その他のパフォーマンスメトリックも選択可能であり、その他の決定ルールもまた使用可能である。
図7は、動きの視覚測定値を測定する方法604の実施形態を示すフロー図である。例えば、一実施形態において、ロボット装置100は、メモリ304内の推定モジュール312の指令を実行し、イメージセンサが取り込んだ画像から、ロボット装置100の経路角を示す視覚測定値を生成する。図示した方法604の実施形態は、画像内で検出された特徴のエピポーラマッチングに基づく。エピポーラマッチングは、マッチングする画像の特徴間のエピポーラ関係によって、1つの画像から別の画像への並進運動(例えば複数のカメラを用いたとき)、並進運動方向、ならびにカメラの回転を推定する。例えば、1つの画像において検出された特徴の位置及び/又は向きの別の画像に対する変化により、検出された特徴に対するカメラの動きを示すことができる。簡潔にするため、以下で用いられる「並進運動」とは、並進運動及び/又は並進運動方向を意味する。例えば、1個のカメラを有する実施形態の場合、並進運動方向は推定可能である。好都合なことに、エピポーラマッチングは、カメラが撮影する背景の知識を必要としない(とはいえ、そのような知識は使用可能である)。視覚による推定法の一態様では、不確実性が低く、並進運動が背景中の物体の奥行きに対して十分な並進運動の推定値を検出する。例えば、この種の推定は、統計推定フィルタによる処理のための観測として有用である。エピポーラマッチングは、1回につき2つの画像を用いるのが効果的であるので、その他の例えばストラクチャ・フロム・モーションに基づく視覚による動き推定方法に比べて計算が少ない。一実施形態において、ロボット装置100は、方法604の動作を実行するためのメモリ304内の推定モジュール312の指令を実行する。
方法604は、ブロック702で開始され、保存された特徴集合を空集合に設定することと、オドメトリ測定値をリセットすることによって初期化を行うためのブロック704へ進む。例えば、保存された特徴集合は、ロボット装置100のメモリ304に記憶してもよい。オドメトリ測定値をリセットした後、方法604は次のオドメトリデータと次のカメラフレーム(例えば画像)を検索するためのブロック706に進む。例えば、ロボット装置100は、表面を横断して、オドメトリセンサを含む第1のセンサセットでオドメトリ測定値を収集し、1又は複数のカメラを含む第2のセンサセットで次のフレームを収集することができる。
次のフレームを収集した後、方法は、ブロック706からフレームの現在の特徴集合を抽出するためのブロック708に移る。例えば、SIFT(scale invariant feature transformation)、ハリス(Harris)の特徴等の特徴をフレームから抽出してもよい。ブロック710において、方法604は、保存された特徴集合が空集合であるか否かを確認する。保存された特徴集合が空集合であれば、方法604はブロック712へ進み、現在の特徴集合を保存された特徴集合に記憶し、蓄積されたオドメトリをリセットする。方法604は、次のオドメトリデータとカメラフレームを検索するためのブロック706に戻る。
ブロック710において、保存された特徴集合が空集合でなければ、方法は現在の特徴集合と保存された特徴集合とのエピポーラマッチングをとるためのブロック714に進む。エピポーラマッチングをとった後、方法604はマッチングの閾値を確認するブロック716に進む。例えば、方法604は整合対の十分性を確認する。とりわけ、特徴のマッチングは、例えばオドメトリ等の装置内のその他のソース、あるいはその他の視覚による動きの推定法から予期される動きに関する情報によって支援されてもよい。整合対は、十分な数の特徴がマッチングし、整合対間のエラー(例えば残留エラー)が十分に低ければ受け入れられる。例えば、整合対の数が閾値の大きさを越えており、整合対の不確実性が限界値を下回っており、かつ/又は整合対の動きとオドメトリにより予期された動きとの差が閾値を下回っていれば、整合対は閾値を満たす。したがって、整合対は信頼できる測定に基づくので、この整合対は使用可能であると判定される。一方で、マッチングする特徴が少なすぎたり、整合対間のエラーが大きかったりすると、信頼できない測定値が存在することを示し、この整合対は使用すべきではないと判断される。
整合対が閾値を満たさなければ、方法604は、現在の特徴集合を保存された特徴集合に記憶し、蓄積されたオドメトリをリセットするためのブロック712に進む。方法604は、次のオドメトリデータ及びカメラフレームを検索するためのブロック706に戻ってもよい。
ブロック716で整合対が閾値を満たせば、方法は、保存された特徴集合と現在の特徴集合の間でのカメラの回転及び並進運動を計算するためのブロック718へ進む。例えば、計算されたカメラの回転及び並進運動は、現在の特徴集合と保存された特徴集合の間のエピポーラ関係に基づいていてもよい。例えば、フレーム座標における特徴の並進運動及び回転は、幾何学関係により、例えば固定又は慣性系(例えば部屋)に対するカメラの並進運動及び回転にマッピングできる。実施形態において、エピポーラ座標からカメラの並進運動及び回転へのマッピングは、数値最適化、数理計画関数又は数理計画方法を用いて計算することができる。
回転及び並進運動を計算した後、方法604は、この回転及び並進運動が閾値を満たすか否かを判定するためのブロック720に進む。閾値が満たされれば、方法604は、動きの視覚測定値を設定するブロック721に進む。例えば、回転及び並進運動の大きさが閾値より大きく、不確実性が閾値より小さければ、動きの視覚測定値が生成され、方法604はブロック722で終了する。動きの視覚測定値は、1又は複数の推定された姿勢変化、推定値の不確実性、ならびに2つのカメラ位置間でのオドメトリに基づく姿勢変化を含んでいてもよい。
一方で、回転及び/又は並進運動の大きさが閾値より小さいか、あるいは不確実性が閾値より大きければ、方法604は、ブロック720から次のオドメトリデータ及びカメラフレームを検索するブロック706に進む。したがって、保存された特徴集合は変化せず、新たな画像及びオドメトリデータが検索される。このように、マッチングしたフレーム間において十分な動きがあるときは、別の測定方法を試みることができる。観測された回転及び並進運動に閾値を適用することの、数ある利点のうちの1つは、画像ノイズ(例えばカメラのジッター及びセンサノイズ)があっても、パフォーマンスが向上することである。
上記したように、回転及び/又は並進運動の不確実性は、動きの視覚測定値に含まれていてもよい。いくつかの実施形態において、不確実性情報は、視覚測定情報が信頼できる程度を求めるのに有用である。例えば、比較的低い不確実性に関連付けられた視覚測定値は、比較的高い不確実性に関連付けられた視覚測定値よりも多く重み付けされる。この目的のために、視覚測定の不確実性は、ブロック708で抽出された現在の特徴集合及び/又は保存された特徴集合に関連付けられた不確実性といった、様々な要素によって判定してもよい。更に、視覚測定の不確実性は、ブロック714で検出されたマッチングの密接度によって判定してもよい。密接にマッチングするエピポーラ整合対には、マッチングが弱いエピポーラ整合対よりも低い不確実性が割り当てられていてもよい。
特徴集合レベルでの不確実性は、所定の不確実性レベル(例えば設計的事項及び/又は用途に基づく仮定)、特徴の特性及び画像の特性に基づいてもよい。例えば、ある種の特徴は、その他の特徴よりも高品位なマッチングを提供することができる。例えば、特定の形状はその他の形状よりも簡単にマッチングできる。例えば、鮮明で高コントラストな輪郭を有する特徴は、ぼやけた低コントラストな輪郭を有する特徴よりも低い不確実性に関連付けられる。更に、角部を有する特徴は、より低い不確実性に関連付けられる。
特徴レベルでの不確実性は、回転及び並進運動レベル(例えば視覚測定レベル)での不確実性にマッピングすることができる。例えば、不確実性は、エピポーラ領域を回転及び並進運動領域にマッピングするためのブロック718の関数に入力することができる。
図8は、統計フィルタを実行する図6の方法606の実施形態を示すフロー図である。図示された実施形態では、IEKFを使用して、正規化されたカーペットドリフトベクトル(NCDV)を追跡する。NCDVは、並進運動の単位あたりのカーペットドリフトベクトルである。NCDVは、床面の特性であり、ロボットが走行した距離やロボットの向きに左右されない。図示された実施形態のIEKFは、更に詳細に後述するように、NCDVの推定に用いてもよい。例えば、IEKFの状態xの推定値はNCDVの推定値に一致することができ、状態xの共分散はPで示される。標準のEKFではなく、IEKFを用いることの利点の1つは、線形化によるエラーを減らすことで精度が向上することである。当業者においては、その他の推定手法もまた使用可能であることは理解されるだろう。一実施形態において、ロボット装置100は、方法606の操作を行うための、メモリ304内の推定モジュール312の指令を実行する。
したがって、方法606はブロック802で開始され、ブロック803に進んで動きの視覚測定値を検索する。例えば、図7に関連して記載した方法604に従って、視覚測定値を測定してもよい。動きの視覚測定値は、時刻tからti+1までの推定されたロボット装置100の相対姿勢Ωに関する情報を含んでいてもよい。姿勢とは、並進運動、並進運動方向及び/又は向きの情報を意味する。例えば、動作の推定値は、オドメトリから推定された相対姿勢Ω及び関連する共分散Bという形、あるいは画像処理(例えば、図6のブロック604)によって推定された基平面における動作の方向θ及び関連する分散rという形に変換される。カメラの座標フレーム及びロボットの座標フレームが同じでないとき、当業者においては、動きの視覚測定値及びそれに関連する共分散に適切な変換を適用して、それを適切な座標(例えば部屋座標)に置くことは理解されるだろう。また、ti+1で状態xをΩの座標フレームに回転させる回転マトリクスMとしての、ロボットの向きの推定値が与えられる。
ブロック803において視覚測定値データを検索した後、方法606は、オドメトリ及び現在の状態推定値xに基づいて走行角度θを推定するためのブロック804に進む。公式的に、次の数式を用いてオドメトリ及び現在の状態推定値xに基づく走行角度の推定値θを生成してもよい。
Figure 0005913743
Figure 0005913743
Figure 0005913743
Figure 0005913743
数式7において、距離dは、オドメトリに基づく時刻tからti+1までの推定走行距離である。数式8において、成分h及びhは、ベクトルhの成分である。
走行角度θを推定した後、方法606は、ブロック804から、状態xの変化に対する予測された角度θの変化のヤコビアンJを計算するためのブロック806へ進む。例えば、いくつかの実施形態において、ヤコビアンはJ=(d・M−1 として計算される。
方法606は、ブロック806からイノベーションν及びイノベーション分散Qを計算するためのブロック808へ進む。例えば、いくつかの実施形態において、イノベーションν及びイノベーション分散Qは、次の数式を用いて計算される。
Figure 0005913743
Figure 0005913743
Figure 0005913743
イノベーションν及びイノベーション分散Qが入手可能になった後、方法606はブロック808から進んで、イノベーションνをイノベーション分散Qと比較することによって観測をゲートする。方法606は、ブロック810からブロック812へ進み、新しい平均値nextを更新する。例えば、新しい平均値nextは、次のイテレーションのための平均値xであってもよい。一実施形態において、新しい平均値nextは、次の数式によって計算される。
Figure 0005913743
Figure 0005913743
Figure 0005913743
Figure 0005913743
ブロック804〜812の1回のイテレーションを完了した後、方法606はブロック814へ進み、方法が新たなイテレーションに進むべきか、又はブロック816で終了すべきかを確認する。イテレーションが完了すれば、新しい状態x=next及び分散P=(Y+P−1−1が設定される。IEKFのイテレーションの数は、全体的又は部分的に、イテレーション間の状態の差、又は既定数のイテレーションに基づいて決定される。
修正されたオドメトリ推定値は、NCDVを各時間ステップでオドメトリに適用することによって得ることができる。例えば、姿勢Ωのオドメトリ変化及び推定されたNCDVxが与えられれば、修正された姿勢のオドメトリ変化は、Ω=Ω+d・Mxによって推定される。前述のように、dはオドメトリから推定された走行距離、Mは推定されたNCDVxをΩの座標フレームに回転させる回転マトリクスとしての、ロボットの向きの推定値である。
以上、例えばカーペット上を移動するロボットが経験するカーペットドリフト等のドリフトを推定し、そのドリフトを補償する装置及び方法について記載した。
前述の記載及び特許請求の範囲は、互いに「接続」又は「結合」された要素又は特徴について言及している。特に明記されているものを除き、「接続」とは、ある要素/特徴が直接的又は間接的に別の要素/特徴に接続されていることを意味し、必ずしも機械的な接続を意味するものではない。同様に、特に明記されているものを除き、「結合」とは、ある要素/特徴が直接的又は間接的に別の要素/特徴に結合されていることを意味し、必ずしも機械的な結合を意味するものではない。したがって、図面に示した種々の概略図において、要素及び構成要素の配置例を描写しているが、その他の介在する要素、装置、特徴又は構成要素が、(描写された回路に悪影響を及ぼさないという前提で)実際の実施形態に存在していてもよい。
ここに記載の方法及びプロセスにおいて、工程又は状態の数は増減してもよく、工程又は状態は、異なる順序で実行されてもよい。必ずしも全ての工程又は状態に及ぶ必要はない。ここに記載の方法及びプロセスは具現化され、1又は複数の一般的及び/又は専用のコンピュータにより実行されるソフトウェアコードモジュールを介して、全体的又は部分的に自動化されてもよい。コードモジュールは、いずれの種類のコンピュータ可読媒体又はその他の記憶機器に保存されてもよい。開示された方法の結果は、揮発性及び/又は不揮発性メモリ(例えば磁気ディスク記憶装置、EEPROM及び/又は固体RAM)を用いるいずれの種類のコンピュータデータリポジトリに保存されてもよい。
本発明を、特定の実施形態の観点から記載したが、記載された全ての特徴及び利点を提供しない実施形態を含む、当業者にとって明白なその他の実施形態もまた本発明の範囲に含まれる。また、上記の各実施形態を組み合わせて、更に別の実施形態とすることができる。更に、ある実施形態において提示された特徴を、その他の実施形態に組み込むことも可能である。

Claims (14)

  1. 移動ロボット装置であって、
    オドメトリ測定値を生成するように構成された第1のセンサセットと、
    前記移動ロボット装置の進行方向測定値を生成するように構成された第2のセンサセットと、
    画像を取り込むように構成されたカメラと、
    前記第1及び第2のセンサセットと、前記カメラとに通信可能に結合されたコントローラとを備え、
    前記コントローラは、選択的に第1のモード及び選択的に第2のモードで動作するように構成され、
    前記第1のモードでの動作中、前記コントローラは、少なくとも前記オドメトリ測定値から推定された進行方向と、前記第2のセンサセットにより生成された前記進行方向測定値とに基づいて、カーペットドリフトを推定するように構成され、
    前記第2のモードでの動作中、前記コントローラは、少なくとも前記カメラが取り込んだ画像のうちの2つ以上の画像に基づいて、前記移動ロボット装置の動きの視覚測定値を生成するように構成され、かつ前記コントローラは、少なくとも前記オドメトリ測定値と前記動きの視覚測定値とに基づいて、カーペットドリフトを推定するように構成された移動ロボット装置。
  2. 請求項の移動ロボット装置において、
    差動的に駆動される駆動輪を更に備え、
    前記コントローラは、前記駆動輪の絶対差動回転が閾値よりも大きいときに、前記第1のモードで動作するように構成された移動ロボット装置。
  3. 請求項の移動ロボット装置において、
    前記コントローラは、前記動きの視覚測定値に関連付けられる不確実性を計算するように構成され、かつ前記コントローラは、前記不確実性が閾値を下回っていれば、前記第2のモードで動作するように構成された移動ロボット装置。
  4. 請求項1の移動ロボット装置において、
    前記移動ロボット装置にカーペット敷きの表面を横切らせるように構成されたアクチュエータシステムを更に備えた移動ロボット装置。
  5. 請求項移動ロボット装置において、
    前記アクチュエータシステムは、回転可能な車輪を有し、前記第1のセンサセットは、前記アクチュエータシステムの前記車輪の回転を感知するように構成され、前記第2のセンサセットは、前記移動ロボット装置の回転を感知するように構成されたジャイロスコープセンサを有する移動ロボット装置。
  6. 請求項移動ロボット装置において
    記コントローラは、少なくとも感知された前記車輪の回転から推定される進行方向と、感知された前記移動ロボット装置の回転から推定される進行方向との比較結果に基づいて、前記カーペットドリフトを推定するように構成された移動ロボット装置。
  7. 請求項移動ロボット装置において、
    前記コントローラは、前記アクチュエータシステムを制御して、前記移動ロボット装置を少なくとも約180度回転させる操作を実行させるように構成され、かつ前記コントローラは、少なくとも前記操作中に感知された前記アクチュエータシステムの駆動特性と前記移動ロボット装置の運動特性との複数の比較結果に基づいて、前記カーペットドリフトを推定するように構成された移動ロボット装置。
  8. 請求項移動ロボット装置において、
    前記コントローラは、少なくとも前記操作中の進行方向の変化に対する全ドリフト量の比に基づいて、前記カーペットドリフトの大きさを推定するように構成された移動ロボット装置。
  9. 請求項移動ロボット装置において、
    前記コントローラは、少なくとも障害物を検出したことに対する操作の間に感知された前記アクチュエータシステムの駆動特性と前記移動ロボット装置の運動特性との複数の比較結果に基づいて、推定された前記カーペットドリフトを更新するように構成された移動ロボット装置。
  10. 請求項移動ロボット装置において、
    前記アクチュエータシステムは、回転可能な車輪を有し、前記第1のセンサセットは、前記アクチュエータシステムの前記車輪の回転を感知するように構成され、
    前記第2のセンサセットは、2つ以上の画像を取り込むように構成されたイメージセンサを有し、
    前記コントローラは、前記イメージセンサが取り込んだ2つ以上の画像を比較することによって前記移動ロボット装置の運動特性を推定するように構成された移動ロボット装置。
  11. 請求項10移動ロボット装置において、
    前記コントローラは、前記イメージセンサが取り込んだ2つ以上の画像のそれぞれに共通の特徴を検出するように構成され、かつ前記コントローラは、少なくとも前記イメージセンサが取り込んだ2つ以上の画像において検出された前記共通の特徴の相対位置の変化を比較することに基づいて、前記移動ロボット装置の進行方向を推定するように構成された移動ロボット装置。
  12. 請求項移動ロボット装置において、
    前記コントローラは、前記2つ以上の画像から特徴を抽出し、前記2つ以上の画像から抽出した特徴をマッチングさせて、前記2つ以上の画像に関してマッチングした特徴の動きに基づいて、前記動きの視覚測定値を生成するように構成された移動ロボット装置。
  13. 請求項12移動ロボット装置において、
    前記コントローラは、前記マッチングした特徴の動きと、前記オドメトリ測定値によって予測された動きとの差が閾値より低いことを受けて、前記動きの視覚測定値を生成するように構成された移動ロボット装置。
  14. 請求項移動ロボット装置において、
    前記コントローラは、少なくともカルマンフィルタを用いて動きの視覚測定値を処理することに基づいて、前記カーペットドリフトを推定するように構成された移動ロボット装置。
JP2015516259A 2012-06-08 2013-06-07 差動センサ又は視覚測定を用いたカーペットドリフトの推定 Active JP5913743B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261657399P 2012-06-08 2012-06-08
US61/657,399 2012-06-08
PCT/US2013/044825 WO2013185102A1 (en) 2012-06-08 2013-06-07 Carpet drift estimation using differential sensors or visual measurements

Publications (2)

Publication Number Publication Date
JP2015521760A JP2015521760A (ja) 2015-07-30
JP5913743B2 true JP5913743B2 (ja) 2016-04-27

Family

ID=49712713

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015516259A Active JP5913743B2 (ja) 2012-06-08 2013-06-07 差動センサ又は視覚測定を用いたカーペットドリフトの推定

Country Status (7)

Country Link
US (5) US9223312B2 (ja)
EP (2) EP3910440A1 (ja)
JP (1) JP5913743B2 (ja)
CN (2) CN104302453B (ja)
AU (2) AU2013270671B2 (ja)
CA (2) CA2948519C (ja)
WO (1) WO2013185102A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11630463B2 (en) 2019-08-09 2023-04-18 Panasonic Intellectual Property Management Co., Ltd. Mobile robot, control method, and storage medium

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9223312B2 (en) 2012-06-08 2015-12-29 Irobot Corporation Carpet drift estimation using differential sensors or visual measurements
US9259838B1 (en) * 2014-07-24 2016-02-16 Google Inc. Systems and methods for ground plane estimation
US9969337B2 (en) * 2014-09-03 2018-05-15 Sharp Laboratories Of America, Inc. Methods and systems for mobile-agent navigation
US10339389B2 (en) 2014-09-03 2019-07-02 Sharp Laboratories Of America, Inc. Methods and systems for vision-based motion estimation
US11099554B2 (en) 2015-04-17 2021-08-24 Aktiebolaget Electrolux Robotic cleaning device and a method of controlling the robotic cleaning device
CN104924312A (zh) * 2015-06-29 2015-09-23 深圳市百睿德科技有限公司 一种多功能自动巡逻安防机器人
JP2017038894A (ja) * 2015-08-23 2017-02-23 日本電産コパル株式会社 掃除ロボット
KR102588486B1 (ko) 2016-03-15 2023-10-11 에이비 엘렉트로룩스 로봇 청소 장치 및 로봇 청소 장치에서의 절벽 검출 실시 방법
US11172608B2 (en) 2016-06-30 2021-11-16 Tti (Macao Commercial Offshore) Limited Autonomous lawn mower and a system for navigating thereof
WO2018000922A1 (en) 2016-06-30 2018-01-04 Tti (Macao Commercial Offshore) Limited An autonomous lawn mower and a system for navigating thereof
US11216006B2 (en) * 2016-07-20 2022-01-04 Singapore University Of Technology And Design Robot and method for localizing a robot
US10732127B2 (en) * 2016-10-26 2020-08-04 Pixart Imaging Inc. Dirtiness level determining system and surface cleaning machine
CN110366381A (zh) * 2017-03-15 2019-10-22 伊莱克斯公司 机器人清洁设备的车轮滑移判断
JP7243967B2 (ja) 2017-06-02 2023-03-22 アクチエボラゲット エレクトロルックス ロボット清掃デバイスの前方の表面のレベル差を検出する方法
US10612929B2 (en) * 2017-10-17 2020-04-07 AI Incorporated Discovering and plotting the boundary of an enclosure
US11926038B2 (en) * 2018-01-10 2024-03-12 Sony Corporation Information processing apparatus and information processing method
US11525921B2 (en) 2018-04-03 2022-12-13 Sharkninja Operating Llc Time of flight sensor arrangement for robot navigation and methods of localization using same
CN112352244B (zh) 2018-04-23 2024-04-09 尚科宁家运营有限公司 控制系统和更新存储器中的地图的方法
US10751875B2 (en) * 2018-05-31 2020-08-25 Indoor Robotics Ltd Rotatable mobile robot for mapping an area and a method for mapping the same
CN108927805B (zh) * 2018-07-25 2021-04-20 哈尔滨工业大学 一种基于视觉补偿的机器人自动化插钉方法
EP3829824A4 (en) 2018-08-01 2022-06-15 SharkNinja Operating LLC ROBOTIC VACUUM CLEANER
EP3610993A1 (en) * 2018-08-14 2020-02-19 Beckman Coulter, Inc. System for active motion displacement control of a robot
CN109048899A (zh) * 2018-08-15 2018-12-21 深圳市烽焌信息科技有限公司 一种巡逻机器人及存储介质
CN111060129A (zh) * 2018-10-17 2020-04-24 郑州雷动智能技术有限公司 一种智能机器人判定地毯的方法
CN109358623A (zh) * 2018-10-23 2019-02-19 珠海市微半导体有限公司 一种机器人运动地毯偏移的识别方法、芯片及清洁机器人
CN109506652B (zh) * 2018-10-23 2022-11-15 珠海一微半导体股份有限公司 一种基于地毯偏移的光流数据融合方法及清洁机器人
CN109394095B (zh) 2018-10-23 2020-09-15 珠海市一微半导体有限公司 一种机器人运动地毯偏移的控制方法、芯片及清洁机器人
JP2022078372A (ja) * 2019-03-27 2022-05-25 パナソニックIpマネジメント株式会社 移動作業ロボット制御装置
US11185987B2 (en) 2019-04-26 2021-11-30 Invia Robotics, Inc. Isolated and environmental anomaly detection and correction using a distributed set of robots
CN111862321B (zh) * 2019-04-30 2024-05-03 北京四维图新科技股份有限公司 视差图的获取方法、装置、系统及存储介质
JP7429902B2 (ja) * 2019-08-21 2024-02-09 パナソニックIpマネジメント株式会社 自走式ロボット
DE102020006337A1 (de) * 2019-10-09 2021-04-15 Metralabs Gmbh Neue Technologien Und Systeme Autonomes Flurförderzeug
US11685049B2 (en) 2020-04-22 2023-06-27 Boston Dynamics, Inc. Robot localization using variance sampling
CN112008728B (zh) * 2020-09-01 2022-07-08 天津大学 基于选择性扰动补偿的全向移动机器人轨迹跟踪控制方法
CN113910267A (zh) * 2021-08-30 2022-01-11 淄博师范高等专科学校 一种机器人系统及控制方法

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6084610A (ja) 1983-10-17 1985-05-14 Hitachi Ltd 誘導装置
JPS61134805A (ja) * 1984-12-05 1986-06-21 Mitsubishi Heavy Ind Ltd 歩行機械の制御方法
US4815840A (en) 1986-05-16 1989-03-28 Benayad Cherif Faycal E K Position locating system for a vehicle
JP2691714B2 (ja) 1987-08-26 1997-12-17 東芝ケミカル株式会社 多層配線板の製造方法
US5109425A (en) 1988-09-30 1992-04-28 The United States Of America As Represented By The United States National Aeronautics And Space Administration Method and apparatus for predicting the direction of movement in machine vision
US5144685A (en) 1989-03-31 1992-09-01 Honeywell Inc. Landmark recognition for autonomous mobile robots
JPH03227710A (ja) 1990-01-31 1991-10-08 Nissan Motor Co Ltd 車両用荷重測定装置
US5111401A (en) 1990-05-19 1992-05-05 The United States Of America As Represented By The Secretary Of The Navy Navigational control system for an autonomous vehicle
JPH04263821A (ja) 1991-02-20 1992-09-18 Matsushita Electric Ind Co Ltd 自走式掃除機
JP3227710B2 (ja) * 1991-04-11 2001-11-12 松下電器産業株式会社 移動作業ロボット
JP3003260B2 (ja) 1991-05-14 2000-01-24 松下電器産業株式会社 じゅうたん目検出装置とこれを有する移動作業ロボット
JP3191334B2 (ja) 1991-09-03 2001-07-23 松下電器産業株式会社 移動作業ロボット
US5638116A (en) 1993-09-08 1997-06-10 Sumitomo Electric Industries, Ltd. Object recognition apparatus and method
JP3314477B2 (ja) * 1993-09-22 2002-08-12 松下電器産業株式会社 移動作業ロボット
JP3555159B2 (ja) 1994-03-02 2004-08-18 日本電気株式会社 3次元形状復元方法および装置
EP0779998B1 (de) 1994-09-06 1998-03-25 Siemens Aktiengesellschaft Verfahren zur bestimmung der position einer landmarke in der umgebungskarte einer selbstbeweglichen einheit, deren abstand zur einheit dynamisch von dieser ermittelt wird
JPH0895638A (ja) * 1994-09-28 1996-04-12 East Japan Railway Co 移動作業ロボットの走行制御装置
IT1271241B (it) 1994-10-04 1997-05-27 Consorzio Telerobot Sistema di navigazione per robot mobile autonomo
US5961571A (en) 1994-12-27 1999-10-05 Siemens Corporated Research, Inc Method and apparatus for automatically tracking the location of vehicles
JP3395874B2 (ja) 1996-08-12 2003-04-14 ミノルタ株式会社 移動走行車
US5999866A (en) 1996-11-05 1999-12-07 Carnegie Mellon University Infrastructure independent position determining system
US6047234A (en) 1997-10-16 2000-04-04 Navigation Technologies Corporation System and method for updating, enhancing or refining a geographic database using feedback
US6463368B1 (en) 1998-08-10 2002-10-08 Siemens Aktiengesellschaft Method and device for determining a path around a defined reference position
US6412133B1 (en) 1999-01-25 2002-07-02 Aqua Products, Inc. Water jet reversing propulsion and directional controls for automated swimming pool cleaners
US6711293B1 (en) 1999-03-08 2004-03-23 The University Of British Columbia Method and apparatus for identifying scale invariant features in an image and use of same for locating an object in an image
US6299699B1 (en) 1999-04-01 2001-10-09 Aqua Products Inc. Pool cleaner directional control method and apparatus
AU1775401A (en) 1999-11-18 2001-05-30 Procter & Gamble Company, The Home cleaning robot
CN1343551A (zh) * 2000-09-21 2002-04-10 上海大学 机器视觉分层模块结构模型
US6496754B2 (en) 2000-11-17 2002-12-17 Samsung Kwangju Electronics Co., Ltd. Mobile robot and course adjusting method thereof
US6996254B2 (en) 2001-06-18 2006-02-07 Microsoft Corporation Incremental motion estimation through local bundle adjustment
KR100420171B1 (ko) * 2001-08-07 2004-03-02 삼성광주전자 주식회사 로봇 청소기와 그 시스템 및 제어방법
US6667592B2 (en) 2001-08-13 2003-12-23 Intellibot, L.L.C. Mapped robot system
US6766245B2 (en) 2002-03-14 2004-07-20 Microsoft Corporation Landmark-based location of users
US6836701B2 (en) 2002-05-10 2004-12-28 Royal Appliance Mfg. Co. Autonomous multi-platform robotic system
US6922632B2 (en) 2002-08-09 2005-07-26 Intersense, Inc. Tracking, auto-calibration, and map-building system
US7177737B2 (en) 2002-12-17 2007-02-13 Evolution Robotics, Inc. Systems and methods for correction of drift via global localization with a visual landmark
US7133746B2 (en) 2003-07-11 2006-11-07 F Robotics Acquistions, Ltd. Autonomous machine for docking with a docking station and method for docking
JP2005141636A (ja) 2003-11-10 2005-06-02 Matsushita Electric Ind Co Ltd 自律走行装置
JP2005222226A (ja) * 2004-02-04 2005-08-18 Funai Electric Co Ltd 自律走行ロボットクリーナー
US7689321B2 (en) 2004-02-13 2010-03-30 Evolution Robotics, Inc. Robust sensor fusion for mapping and localization in a simultaneous localization and mapping (SLAM) system
US7720554B2 (en) 2004-03-29 2010-05-18 Evolution Robotics, Inc. Methods and apparatus for position estimation using reflected light sources
US7617557B2 (en) * 2004-04-02 2009-11-17 Royal Appliance Mfg. Co. Powered cleaning appliance
KR20050108923A (ko) * 2004-05-14 2005-11-17 삼성광주전자 주식회사 모빌로봇, 모빌로봇 시스템, 및 그 경로보정방법
JP2005346477A (ja) * 2004-06-03 2005-12-15 Toshiba Tec Corp 自律走行体
DE102004029627A1 (de) * 2004-06-18 2006-01-12 Diehl Bgt Defence Gmbh & Co. Kg Fernsteuerbarer Funktionsträger
CN1586693A (zh) * 2004-08-13 2005-03-02 刘茂龙 智能玩具机器人
KR100792514B1 (ko) 2005-01-14 2008-01-10 삼성전자주식회사 이동물체의 방향검출방법 및 시스템
KR101240732B1 (ko) 2005-02-18 2013-03-07 아이로보트 코퍼레이션 습식 및 건식 청소를 위한 자동 표면 청소 로봇
US8930023B2 (en) * 2009-11-06 2015-01-06 Irobot Corporation Localization by learning of wave-signal distributions
JP2006313455A (ja) * 2005-05-09 2006-11-16 Funai Electric Co Ltd 自走式掃除ロボット、自走式ロボットおよび自走式ロボットの走行を制御するためのプログラム
US7389166B2 (en) * 2005-06-28 2008-06-17 S.C. Johnson & Son, Inc. Methods to prevent wheel slip in an autonomous floor cleaner
EP2065774B1 (en) 2005-12-02 2013-10-23 iRobot Corporation Autonomous coverage robot navigation system
US7539557B2 (en) 2005-12-30 2009-05-26 Irobot Corporation Autonomous mobile robot
JP4195894B2 (ja) 2006-03-30 2008-12-17 株式会社東芝 ドッキングシステム
US20070271011A1 (en) 2006-05-12 2007-11-22 Samsung Electronics Co., Ltd. Indoor map building apparatus, method, and medium for mobile robot
US8340349B2 (en) * 2006-06-20 2012-12-25 Sri International Moving target detection in the presence of parallax
EP2041516A2 (en) 2006-06-22 2009-04-01 Roy Sandberg Method and apparatus for robotic path planning, selection, and visualization
JP5112666B2 (ja) 2006-09-11 2013-01-09 株式会社日立製作所 移動装置
JP2009025898A (ja) 2007-07-17 2009-02-05 Toyota Motor Corp 経路計画装置、経路計画方法及び移動体
US8632376B2 (en) 2007-09-20 2014-01-21 Irobot Corporation Robotic game systems and methods
KR101402273B1 (ko) 2007-12-14 2014-06-02 삼성전자주식회사 이동 로봇의 슬립 감지 장치 및 방법
JP2009186213A (ja) 2008-02-04 2009-08-20 Denso Corp ジャイロセンサユニット
WO2009132317A1 (en) 2008-04-24 2009-10-29 Evolution Robotics Application of localization, positioning & navigation systems for robotic enabled mobile products
JP2010167055A (ja) * 2009-01-22 2010-08-05 Panasonic Corp 自走式掃除機
KR101060638B1 (ko) * 2009-04-22 2011-08-31 주식회사 유진로봇 로봇 청소기
KR20110021191A (ko) * 2009-08-25 2011-03-04 삼성전자주식회사 로봇의 슬립 감지 장치 및 방법
KR101083394B1 (ko) 2009-10-30 2011-11-14 주식회사 유진로봇 이동 로봇의 위치 인식을 위한 지도 생성 및 갱신 방법
CN102666032B (zh) 2009-10-30 2015-01-07 悠进机器人股份公司 用于移动机器人的滑动检测装置和方法
EP2619742B1 (en) * 2010-09-24 2018-02-28 iRobot Corporation Systems and methods for vslam optimization
US9223312B2 (en) 2012-06-08 2015-12-29 Irobot Corporation Carpet drift estimation using differential sensors or visual measurements

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11630463B2 (en) 2019-08-09 2023-04-18 Panasonic Intellectual Property Management Co., Ltd. Mobile robot, control method, and storage medium

Also Published As

Publication number Publication date
CN104302453B (zh) 2016-07-06
WO2013185102A1 (en) 2013-12-12
EP2858794A4 (en) 2016-04-20
US20180297208A1 (en) 2018-10-18
US9427875B2 (en) 2016-08-30
CA2948519A1 (en) 2013-12-12
AU2016213846A1 (en) 2016-09-01
CN105717924A (zh) 2016-06-29
US20160332304A1 (en) 2016-11-17
US11926066B2 (en) 2024-03-12
AU2013270671A1 (en) 2014-10-30
US9969089B2 (en) 2018-05-15
CA2870175C (en) 2017-01-03
EP2858794B1 (en) 2021-04-14
CN105717924B (zh) 2018-12-28
JP2015521760A (ja) 2015-07-30
US10974391B2 (en) 2021-04-13
EP3910440A1 (en) 2021-11-17
US20160075032A1 (en) 2016-03-17
EP2858794A1 (en) 2015-04-15
CN104302453A (zh) 2015-01-21
EP2858794B2 (en) 2024-02-28
AU2013270671B2 (en) 2016-05-26
US9223312B2 (en) 2015-12-29
CA2948519C (en) 2019-05-28
US20130331988A1 (en) 2013-12-12
US20210221003A1 (en) 2021-07-22
AU2016213846B2 (en) 2017-01-05
CA2870175A1 (en) 2013-12-12

Similar Documents

Publication Publication Date Title
JP5913743B2 (ja) 差動センサ又は視覚測定を用いたカーペットドリフトの推定
US11960304B2 (en) Localization and mapping using physical features
US9400501B2 (en) Simultaneous localization and mapping for a mobile robot
CN109394095B (zh) 一种机器人运动地毯偏移的控制方法、芯片及清洁机器人
JP6370332B2 (ja) 移動ロボットを制御する方法
KR101338143B1 (ko) 이동 로봇의 슬립 감지 장치 및 방법
JP2007213236A (ja) 自律走行ロボットの経路計画方法及び自律走行ロボット
CN110366381A (zh) 机器人清洁设备的车轮滑移判断
CN109358623A (zh) 一种机器人运动地毯偏移的识别方法、芯片及清洁机器人
Scharer et al. Practical ego-motion estimation for mobile robots
CN117784125A (zh) 机器人的定位方法、机器人及存储介质

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20150527

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150527

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160129

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160401

R150 Certificate of patent or registration of utility model

Ref document number: 5913743

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250