JP2023509231A - モバイルロボットにおけるセマンティックマップ管理 - Google Patents

モバイルロボットにおけるセマンティックマップ管理 Download PDF

Info

Publication number
JP2023509231A
JP2023509231A JP2022551730A JP2022551730A JP2023509231A JP 2023509231 A JP2023509231 A JP 2023509231A JP 2022551730 A JP2022551730 A JP 2022551730A JP 2022551730 A JP2022551730 A JP 2022551730A JP 2023509231 A JP2023509231 A JP 2023509231A
Authority
JP
Japan
Prior art keywords
semantic
map
semantic map
annotation
mobile robot
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.)
Granted
Application number
JP2022551730A
Other languages
English (en)
Other versions
JP7459277B2 (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
Application filed by アイロボット・コーポレーション filed Critical アイロボット・コーポレーション
Publication of JP2023509231A publication Critical patent/JP2023509231A/ja
Application granted granted Critical
Publication of JP7459277B2 publication Critical patent/JP7459277B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0011Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
    • G05D1/0044Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement by providing the operator with a computer generated representation of the environment of the vehicle, e.g. virtual reality, maps
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • 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
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/086Proximity sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Fuzzy Systems (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Electromagnetism (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)
  • Electric Vacuum Cleaner (AREA)

Abstract

本明細書で説明されているのは、モバイルロボットのための環境の有効なセマンティックマップを維持するためのシステム、デバイス、および方法である。モバイルロボットは、ドライブシステムと、占有情報をセンシングするためのセンサ回路と、メモリと、コントローラ回路と、通信システムとを含む。コントローラ回路は、第1の占有情報および第1のセマンティックアノテーションを使用して、第1のロボットミッションに対応する第1のセマンティックマップを生成し、後続の第2のロボットミッションに対応する第2のセマンティックマップへ第1のセマンティックアノテーションを転送することが可能である。制御回路は、第2のセマンティックマップを生成することが可能であり、第2のセマンティックマップは、転送された第1のセマンティックアノテーションに基づいて生成される第2のセマンティックアノテーションを含む。第1または第2のセマンティックマップに関するユーザフィードバックが、通信システムを介して受信され得る。制御回路は、第1のセマンティックマップを更新し、将来のミッションにおいてモバイルロボットをナビゲートするためにそれを使用することが可能である。

Description

[優先権出願]
本出願は、2020年2月28日に出願された米国特許出願第16/804,749号の優先権の利益を主張し、その内容は、その全体が参照により本明細書に組み込まれている。
本明細書は、概して、モバイルロボットに関し、より詳細には、モバイルロボットの中のセマンティックマップを生成および管理するためのシステム、デバイス、および方法に関する。
自律型モバイルロボットは、環境内で動き回ることが可能であり、さまざまなカテゴリの中のいくつかの機能および動作を実施することが可能であり、それは、セキュリティ動作、インフラストラクチャまたはメンテナンス動作、ナビゲーションまたはマッピング動作、在庫管理動作、およびロボット/人間相互作用動作を含むが、それに限定されない。いくつかのモバイルロボット(クリーニングロボットとして知られる)は、環境(たとえば、家)の中のクリーニングタスクを自律的に実施することが可能である。多くの種類のクリーニングロボットは、ある程度自律的であり、異なる方式で自律的である。たとえば、クリーニングロボットは、クリーニングミッションを実行することが可能であり、「クリーニングミッション」では、ロボットは、それらの環境のフロア表面を横断し、同時に、フロア表面からデブリ(debris)を取り込む(たとえば、吸い込む)。
いくつかのモバイルロボットは、ロボット環境のマップを記憶することができる。モバイルロボットは、たとえば、経路計画および環境においてモバイルロボットをナビゲートすることなど、その目標を達成するためにマップを使用することが可能である。
米国特許第7,196,487号 米国特許第7,404,000号 米国特許出願公開第20050156562号 米国特許出願公開第20140100693号 米国特許出願公開第2014/0207282号
本明細書は、モバイルロボット(または、「ロボット」)のための環境の有効なセマンティックマップを生成および維持するためのシステム、デバイス、および方法を説明する。1つの例によれば、モバイルロボットは、環境内でモバイルロボットを動き回らせるためのドライブシステムと、環境における占有情報をセンシングするためのセンサ回路と、メモリと、コントローラ回路と、通信システムとを含む。コントローラ回路は、第1の占有情報および第1のセマンティックアノテーションを使用して、モバイルロボットの第1のミッションに対応する第1のセマンティックマップを生成し、メモリの中に記憶することが可能である。第1のセマンティックアノテーションは、第1のミッションに対応する、環境における物体の空間的なおよび文脈的な情報を表している。コントローラ回路は、第1のセマンティックマップから第2のセマンティックマップへ第1のセマンティックアノテーションを転送することが可能であり、第2のセマンティックマップは、第1のミッションに続く、環境におけるモバイルロボットの第2のミッションに対応しており、コントローラ回路は、第2の占有情報および第2のセマンティックアノテーションを使用して、第2のセマンティックマップを生成することが可能である。第2のミッションは、第1のミッションに直ぐに続くミッションであることが可能である。代替的に、第2のミッションは、第1のミッションに続く(しかし、直ぐに続くわけではない)ミッションであることが可能である。第2のセマンティックアノテーションは、環境における物体の空間的なおよび文脈的な情報を表しており、転送された第1のセマンティックアノテーションを使用して生成され得る。制御回路は、第1のセマンティックマップと第2のセマンティックマップとの間の比較に基づいて、第1のセマンティックマップを更新するかどうかを決定することが可能である。セマンティック更新は、特定の頻度で(たとえば、定期的に)、または、特定のスケジュールにしたがって(たとえば、ミッションごとに、Nミッションごとに(N>1、たとえば、5~10ミッションごとに)、毎週、または毎月など)、試みられ得る。追加的にまたは代替的に、セマンティック更新は、ユーザコマンドに応答して試みられ得る。通信システムは、第1のセマンティックマップまたは第2のセマンティックマップのうちの1つまたは複数についての情報をユーザインターフェースに送信することが可能であり、第1のセマンティックマップまたは第2のセマンティックマップに関するユーザフィードバックを受信することが可能である。
1つの例によれば、方法は、環境におけるモバイルロボットの第1のミッションに対応する第1のセマンティックマップ、および、第1のミッションに続くモバイルロボットの第2のミッションに対応する第2のセマンティックマップを、ユーザに提供するステップを含む。第1のセマンティックマップは、第1の占有情報および環境における物体の空間的なおよび文脈的な情報を表す第1のセマンティックアノテーションを含むことが可能である。第2のセマンティックマップは、第2の占有情報および環境における物体の空間的なおよび文脈的な情報を表す第2のセマンティックアノテーションを含むことが可能である。方法は、第1のセマンティックマップの上の第1のセマンティックアノテーションを修正するために、または、第2のセマンティックマップの上の第2のセマンティックアノテーションを修正するために、ユーザからインストラクションを受信するステップと、第2のセマンティックマップと第1のセマンティックマップとの間の比較に基づいて、第1のセマンティックマップを更新するステップと、モバイルロボットの将来のミッションにおける使用のために、更新された第1のセマンティックマップをメモリの中に記憶するステップとを含む。
例1は、モバイルロボットであり、モバイルロボットは、環境の周りでモバイルロボットを移動させるように構成されているドライブシステムと;環境における占有情報をセンシングするように構成されているセンサ回路と;メモリと;コントローラ回路と;通信システムとを含む。コントローラ回路は、第1の占有情報および第1のセマンティックアノテーションを使用して、環境におけるモバイルロボットの第1のミッションに対応する第1のセマンティックマップを生成し、メモリの中に記憶するように構成され得、第1のセマンティックアノテーションは、第1のミッションに対応する、環境における物体の空間的なおよび文脈的な情報を表しており;第1のセマンティックマップから第2のセマンティックマップへ第1のセマンティックアノテーションを転送するように構成され得、第2のセマンティックマップは、第1のミッションに続く、環境におけるモバイルロボットの第2のミッションに対応しており;第2の占有情報および第2のセマンティックアノテーションを使用して、第2のセマンティックマップを生成するように構成され得、第2のセマンティックアノテーションは、環境における物体の空間的なおよび文脈的な情報を表しており、転送された第1のセマンティックアノテーションを使用して生成され;第1のセマンティックマップと第2のセマンティックマップとの間の比較に基づいて、第1のセマンティックマップを更新するかどうかを決定するように構成され得る。通信システムは、第1のセマンティックマップまたは第2のセマンティックマップのうちの1つまたは複数についての情報をユーザインターフェースに送信するように、および、第1のセマンティックマップまたは第2のセマンティックマップに関するユーザフィードバックを受信するように構成され得る。
例2において、例1の主題は、第2のセマンティックアノテーションが有効性および制約チェックを満たす場合には、更新された第1のセマンティックマップにしたがって、または、第2のセマンティックアノテーションが有効性および制約チェックを満たさない場合には、第1のセマンティックマップにしたがって、経路を計画し、もしくは、環境の周りでモバイルロボットをナビゲートするように構成され得るコントローラ回路を随意的に含む。
例3において、例1~2のうちの任意の1つまたは複数の主題は、第1の占有情報および第2の占有情報は、それぞれのミッションに対応する環境の中の自由エリア、占有されたエリア、または、探査されていないエリアのうちの1つまたは複数の場所および幾何学形状をそれぞれ含むということ;ならびに、第1の占有情報を使用して第1の占有マップを生成し、第2の占有情報を使用して第2の占有マップを生成するように構成され得るコントローラ回路を随意的に含む。
例4において、例1~3のうちの任意の1つまたは複数の主題は、第1のセマンティックアノテーションおよび第2のセマンティックアノテーションを随意的に含み、第1のセマンティックアノテーションおよび第2のセマンティックアノテーションのそれぞれは、環境の中の物体の特質を含むことが可能であり、特質は、物体識別;物体場所;物体の物理的な属性;または、環境の中の別の物体に対する物体の空間的な制約のうちの1つまたは複数を含む。
例5において、例1~4のうちの任意の1つまたは複数の主題は、物体を複数の物体タイプに分類するように構成され得;物体の分類に基づいて、第1のセマンティックアノテーションまたは第2のセマンティックアノテーションを生成するように構成され得る、コントローラ回路を随意的に含む。
例6において、例1~5のうちの任意の1つまたは複数の主題は、第1のセマンティックアノテーションまたは第2のセマンティックアノテーションを生成または修正するためのユーザ入力を受信するように構成され得る通信システムを随意的に含む。
例7において、例1~6のうちの任意の1つまたは複数の主題は、第1のセマンティックマップから第2のセマンティックマップへ第1のセマンティックアノテーションを転送するように構成され得、第1のセマンティックアノテーションの場所をモバイルロボットのローカリゼーションシステムの中へ一体化することと;環境における第2のミッションの間に第1のセマンティックアノテーションの運動をトラッキングすることと;トラッキングされた第1のセマンティックアノテーションの運動を使用して、第2のセマンティックアノテーションを生成することとを含む、コントローラ回路を随意的に含む。
例8において、例1~7のうちの任意の1つまたは複数の主題は、第1のセマンティックマップと第2のセマンティックマップとの間の適合率および再現率尺度を使用して、第1のセマンティックマップと第2のセマンティックマップとの間のセマンティックコンフリクトを検出するように構成され得るコントローラ回路を随意的に含み、セマンティックコンフリクトは、第1のセマンティックマップの中に含まれており、第2のセマンティックマップに存在していない、セマンティックアノテーションを表している。
例9において、例8の主題は、検出されたセマンティックコンフリクトを解消するように構成され得、第1の占有マップと第2の占有マップとの間の差分占有マップを生成することと;検出されたセマンティックコンフリクトに隣接する第2のセマンティックマップの上の領域に対応する差分占有マップの一部分を第2の占有マップに追加することによって、第2の占有マップを修正することと;修正された第2の占有マップおよび第2のセマンティックアノテーションを使用して、第2のセマンティックマップを再構築することとを含む、コントローラ回路を随意的に含む。
例10において、例1~9のうちの任意の1つまたは複数の主題は、第2のセマンティックマップから新規のセマンティック物体を検出するように構成され得、新規のセマンティック物体は、第1のセマンティックマップに存在しておらず;補足的なセマンティックアノテーションが第2のセマンティックマップの上の第2のセマンティックアノテーションに関する制約を満たす場合には、新規のセマンティック物体のための補足的なセマンティックアノテーションを第2のセマンティックマップの中へ含めるように構成され得る、コントローラ回路を随意的に含む。
例11において、例10の主題は、第2のセマンティックマップの上のセマンティックに注記された領域のサイズが、第1のセマンティックマップの上の対応するセマンティックに注記された領域のサイズを閾値だけ超えることに応答して、新規のセマンティック物体を検出するように構成され得るコントローラ回路を随意的に含む。
例12において、例11の主題は、補足的なセマンティックアノテーションが、第2のセマンティックマップの上のセマンティックアノテーション間の相互制約以外のセマンティックアノテーションに対して緩和された制約を有することが可能であるということを随意的に含む。
例13は、モバイルロボットと、ユーザインターフェースとを含むシステムである。モバイルロボットは、環境の周りでモバイルロボットを移動させるように構成されているドライブシステムと;環境における占有情報をセンシングするように構成されているセンサ回路と;メモリと;通信システムと;コントローラ回路とを含む。コントローラ回路は、第1の占有情報および第1のセマンティックアノテーションを使用して、環境におけるモバイルロボットの第1のミッションに対応する第1のセマンティックマップを生成し、メモリの中に記憶するように構成され得、第1のセマンティックアノテーションは、第1のミッションに対応する、環境における物体の空間的なおよび文脈的な情報を表しており;第1のセマンティックマップから第2のセマンティックマップへ第1のセマンティックアノテーションを転送するように構成され得、第2のセマンティックマップは、第1のミッションに続く、環境におけるモバイルロボットの第2のミッションに対応しており;第2の占有情報および第2のセマンティックアノテーションを使用して、第2のセマンティックマップを生成するように構成され得、第2のセマンティックアノテーションは、環境における物体の空間的なおよび文脈的な情報を表しており、転送された第1のセマンティックアノテーションを使用して生成され;第1のセマンティックマップと第2のセマンティックマップとの間の比較に基づいて、第1のセマンティックマップを更新するかどうかを決定するように構成され得る。ユーザインターフェースは、モバイルロボットに通信可能に連結され得、第1のセマンティックマップまたは第2のセマンティックマップを表示するように、および、第1のセマンティックマップまたは第2のセマンティックマップに関するユーザフィードバックを受信するように構成され得る。
例14は、モバイルロボットを動作させるための方法であって、方法は、メモリの中に記憶されている第1のセマンティックマップをユーザに提供するステップであって、第1のセマンティックマップは、環境におけるモバイルロボットの第1のミッションに対応しており、第1のセマンティックマップは、第1の占有情報および第1のセマンティックアノテーションを含み、第1のセマンティックアノテーションは、環境における物体の空間的なおよび文脈的な情報を表している、ステップと;第1のミッションに続く、環境におけるモバイルロボットの第2のミッションに対応する第2のセマンティックマップをユーザに提供するステップであって、第2のセマンティックマップは、第2の占有情報および第2のセマンティックアノテーションを含み、第2のセマンティックアノテーションは、環境における物体の空間的なおよび文脈的な情報を表している、ステップと;第1のセマンティックマップの上の第1のセマンティックアノテーションを修正するために、または、第2のセマンティックマップの上の第2のセマンティックアノテーションを修正するために、ユーザから入力を受信するステップと;第2のセマンティックマップと第1のセマンティックマップとの間の比較に基づいて、第1のセマンティックマップを更新するステップと;モバイルロボットの将来のミッションにおける使用のために、更新された第1のセマンティックマップをメモリの中に記憶するステップとを含む。
例15において、例14の主題は、更新された第1のセマンティックマップにしたがって、経路を計画するステップ、または、環境の周りでモバイルロボットをナビゲートするステップを随意的に含む。
例16において、例14~15のうちの任意の1つまたは複数の主題は、第1のセマンティックマップから第2のセマンティックマップへ第1のセマンティックアノテーションを転送するステップと;転送された第1のセマンティックアノテーションを使用して、第2のセマンティックアノテーションを生成するステップとを随意的に含む。
例17において、例14~16のうちの任意の1つまたは複数の主題は、ユーザインターフェースを介して、第1のセマンティックマップまたは第2のセマンティックマップからセマンティックアノテーションを選択するステップ、選択解除するステップ、追加するステップ、削除するステップ、並進させるステップ、回転させるステップ、修正するステップ、またはラベル付けするステップのうちの1つまたは複数を含むことができるユーザ入力を随意的に含む。
例18において、例14~17のうちの任意の1つまたは複数の主題は、モバイルロボットを介して、第1のセマンティックアノテーションまたは第2のセマンティックアノテーションを自動的に修正するステップと;第1のセマンティックアノテーションまたは第2のセマンティックアノテーションの自動的な修正を容認するかまたは拒絶するためのユーザ入力を受信するステップとを随意的に含む。
例19において、例14~18のうちの任意の1つまたは複数の主題は、第1のセマンティックマップと第2のセマンティックマップとの間のセマンティックコンフリクトの識別、または、第1のセマンティックマップと第2のセマンティックマップとの間の自動的に検出されたセマンティックコンフリクトに関するユーザフィードバックを、ユーザから受信するステップと;ユーザ識別されたセマンティックコンフリクトもしくは自動的に検出されたセマンティックコンフリクトを解消するためのユーザ入力、または、ユーザ識別されたセマンティックコンフリクトもしくは自動的に検出されたセマンティックコンフリクトが条件を満たす場合に第1のセマンティックマップを更新することを拒絶するためのユーザ入力を受信するステップとを随意的に含む。
例20において、例1~19のうちの任意の1つまたは複数の主題は、第2のセマンティックマップの上に提示されており、記憶されている第1のセマンティックマップに存在していない、新規のセマンティック物体の識別、または、自動的に検出された新規のセマンティック物体に関するユーザフィードバックを、ユーザから受信するステップと;補足的なセマンティックアノテーションが第2のセマンティックマップの上の第2のセマンティックアノテーションに関する制約を満たす場合には、新規のセマンティック物体のための補足的なセマンティックアノテーションを第2のセマンティックマップの中へ含めるステップとを随意的に含む。
この発明の概要は、本出願の教示のうちのいくつかの概要であり、本主題の排他的なまたは包括的な表現方法であることを意図していない。本主題についてのさらなる詳細は、発明を実施するための形態および添付の特許請求の範囲の中に見出される。本開示の他の態様は、以下の詳細な説明を読んで理解すると、および、その一部を形成する図面を見ると、当業者に明らかになることとなり、それらのそれぞれは、限定的な意味で解釈されるべきではない。本開示の範囲は、添付の特許請求の範囲およびそれらの法的な均等物によって定義される。
さまざまな実施形態が、添付の図面の図に例として示されている。そのような実施形態は、例証的なものであり、本主題の包括的なまたは排他的な実施形態であることは意図していない。
モバイルロボットの側部断面図である。 モバイルロボットの底面図である。 モバイルロボットの上面斜視図である。 モバイルクリーニングロボットを動作させるための制御アーキテクチャの一例を示すダイアグラムである。 モバイルクリーニングロボットがその中で動作する通信ネットワーク、および、ネットワークの中のデータ伝送の一例を示すダイアグラムである。 モバイルロボットと通信ネットワークの中の他のデバイスとの間で情報を交換する一例示的なプロセスを示すダイアグラムである。 セマンティックマップ管理システムの例を示すブロック図である。 セマンティックマップを生成および管理する例示的なプロセスを示すフローダイアグラムである。 セマンティックマップを表示するための、ならびに、セマンティックマップ生成、メンテナンス、および更新に関するユーザフィードバックを受信するための、ユーザインターフェースを示す図である。 セマンティックマップを表示するための、ならびに、セマンティックマップ生成、メンテナンス、および更新に関するユーザフィードバックを受信するための、ユーザインターフェースを示す図である。 セマンティックマップを表示するための、ならびに、セマンティックマップ生成、メンテナンス、および更新に関するユーザフィードバックを受信するための、ユーザインターフェースを示す図である。 セマンティックマップを表示するための、ならびに、セマンティックマップ生成、メンテナンス、および更新に関するユーザフィードバックを受信するための、ユーザインターフェースを示す図である。 モバイルロボットの第1のミッションに対応する環境の占有マップの例を示す図である。 図8に示されている占有マップに基づいて生成される、第1のミッションに対応するセマンティックマップを示す図である。 図8を参照して説明されているような第1のミッションとは異なるモバイルロボットの第2のミッションに対応する占有マップを示す図である。 図9に示されているような第1のセマンティックマップから転送されたセマンティックアノテーションを使用して生成される、第2のミッションに対応するセマンティックマップを示す図である。 マップ転送の前および後のセマンティックマップ間のセマンティックコンフリクトの例を示す図である。 マップ転送の前および後のセマンティックマップ間のセマンティックコンフリクトの例を示す図である。 マップ転送の前および後のセマンティックマップ間のセマンティックコンフリクトの別の例を示す図である。 マップ転送の前および後のセマンティックマップ間のセマンティックコンフリクトの別の例を示す図である。 マップ転送の前および後のセマンティックマップ間のセマンティックコンフリクトのさらに別の例を示す図である。 マップ転送の前および後のセマンティックマップ間のセマンティックコンフリクトのさらに別の例を示す図である。 モバイルロボットの第1のミッションおよび第2のミッションに対応する環境の占有マップを示す図である。 モバイルロボットの第1のミッションおよび第2のミッションに対応する環境の占有マップを示す図である。 モバイルロボットの第1のミッションおよび第2のミッションに対応する占有マップ間の差分占有マップに基づくセマンティックコンフリクトの例示的なアルゴリズム的な解消を示す図である。 モバイルロボットの第1のミッションおよび第2のミッションに対応する占有マップ間の差分占有マップに基づくセマンティックコンフリクトの例示的なアルゴリズム的な解消を示す図である。 モバイルロボットの第1のミッションおよび第2のミッションに対応する占有マップ間の差分占有マップに基づくセマンティックコンフリクトの例示的なアルゴリズム的な解消を示す図である。 新規のセマンティック物体の例示的な発見、および、セマンティックマップへの補足的なセマンティックアノテーションの追加を示す図である。 新規のセマンティック物体の例示的な発見、および、セマンティックマップへの補足的なセマンティックアノテーションの追加を示す図である。 新規のセマンティック物体の例示的な発見、および、セマンティックコンフリクトを解消するためのセマンティックマップへの1つまたは複数のセパレータの追加を示す図である。 新規のセマンティック物体の例示的な発見、および、セマンティックコンフリクトを解消するためのセマンティックマップへの1つまたは複数のセパレータの追加を示す図である。 新規のセマンティック物体の例示的な発見、および、セマンティックコンフリクトを解消するためのセマンティックマップへの1つまたは複数のセパレータの追加を示す図である。 環境を動き回るモバイルロボットのためのセマンティックマップを生成および管理する方法の例を示すフローダイアグラムである。 本明細書で議論されている技法(たとえば、方法論)のうちの任意の1つまたは複数がその上で実施され得る一例示的なマシンを示すブロック図である。
モバイルロボットがその周囲を探査するときに、それは、環境のマップを生成し、経路計画およびナビゲーションのためにマップを使用する。生のロボットマップ(たとえば、占有マップなど)は、セマンティックス(semantics)によって強化され得る。セマンティックスは、モバイルロボットによって検出されるものなどのような、環境における物体の特質を表す。セマンティックスの例は、他の特質のなかでも、環境における物体の場所、アイデンティティ、または状態を含むことが可能である。例としておよび限定ではなく、部屋、ドア、散乱物、壁、備品、家具、カーペット、ラグ、フロア表面、および環境特性(たとえば、濡れたエリアまたは危険エリアなど)は、モバイルロボットによって認識可能な自然のセマンティックスである。追加的に、セマンティックスは、環境における物体間の相互制約も含むことが可能である。制約は、どのように1つの物体が別の物体にまたは占有マップの中の領域に空間的に関係するかということを表す。たとえば、ドアに関する制約は、それが2つの部屋を分割するということである。
セマンティックス(個々の物体の特質、および、物体間の相互制約、または、物体と占有マップとの間の相互制約を含む)は、自動的に(たとえば、アルゴリズムを使用して)または手動で(たとえば、ユーザ入力を通して)、占有マップの上に注記され、セマンティックマップを作り出すことが可能である。セマンティックマップは、いくつかの方式で、より豊かなユーザエクスペリエンスを提供することが可能である。セマンティックマップの上のセマンティックアノテーションは、モバイルロボットおよびそのユーザが環境をより良好に理解するのを助けることが可能である。セマンティックスは、ユーザの文脈における占有マップの可視化の改善に有用である。ロボットおよびユーザは、セマンティックス(それは、共通の基準系を形成する)を通して通信することが可能である。確立されたセマンティックスによって、モバイルロボットは、その行動の中へそれらを組み込むことによって、より効率的になることが可能である。たとえば、家の中の占有されたスペースおよび自由スペースを表す占有マップを所与として、セマンティックス(たとえば、部屋境界およびドアなど)が、それに取り付けられ得る。占有マップと比較して、セマンティックマップは、可視化された家の間取り図を表すことが可能であり、ユーザは、それを容易に理解することが可能である。ユーザは、一般に理解可能な場所においてミッションを実施するようにロボットに直感的に伝えることが可能であり(たとえば、「キッチンをクリーニングする」ようにロボットに指示する)、ロボットは、セマンティックアノテーションに基づいて、どこに行くべきか、および、何をするべきかを知ることとなる。いくつかの例において、ロボットは、使用法パターンを分析することによって、したがって、インテリジェンスを追加することによって、ミッション(たとえば、部屋をクリーニングすることまたは回避すること)を実施することが可能である。マップのより良好な可視化、直感的なロボット-ユーザ通信、および、インテリジェントなロボット行動を通して、セマンティックマップは、ロボットの使いやすさを改善することが可能である。
ロボットが新しいミッションを実行するときに、それは、そのセンサからの最近の情報を使用して、その内部マップ(たとえば、占有マップ)を更新する。ロボット占有マップの更新に伴い、以前のセマンティックマップ(それは、より早いミッションに対応する)の上のセマンティックアノテーションが、新しいミッションに対応する新しいセマンティックマップに転送され得る。転送は、以前に確立されたセマンティックアノテーションを維持することを計算に入れており、モバイルロボットが、後続のミッションにおいて、それらのセマンティックアノテーションのうちの少なくともいくつかを再使用することができるようになっている。転送の後に、セマンティックスがそれらの意味を保つこと、および、セマンティックス間の制約が有効なままであることが望ましい。しかし、特定の状況では、いくつかのセマンティックアノテーションは、欠落している可能性があり、または、特定の特質(たとえば、物体のサイズ、形状、または場所)は、セマンティック転送の後に変更され、無効なセマンティックスをもたらす可能性がある。セマンティックスは、それらが新しいセマンティックマップにおいて正しくなく表されている場合には、または、セマンティックス間の制約が違反されている場合には、無効であると見なされる。無効なセマンティックスは、訂正されない場合または適正に解消されない場合には、モバイルロボットおよびユーザが環境の共通の理解を共有するという前提に違反する可能性がある。結果的に、ロボットは、ユーザの期待とは異なって行動する可能性がある。たとえば、転送誤差は、以前のセマンティックマップの中の同じ部屋境界のセマンティック表現よりも許容可能な公差を超えて小さいまたは大きい部屋境界によって表され得る。ロボットは、特定の部屋のサブセットのみにおいて、または、ユーザに指示されたものとは異なる部屋において、次のミッション(たとえば、フロア表面クリーニング)を実施することとなる。
本発明者らは、モバイルロボットの寿命時間においてセマンティックマップを適正に維持するためのデバイスおよび方法に対する満たされない必要性を認識した。本明細書は、セマンティックマップを生成および管理するためのシステム、デバイス、および方法を議論する。1つの例によれば、モバイルロボットは、制御回路を含み、制御回路は、なかでも、マップアノテーション、セマンティック転送、コンフリクト検出および解消、以前に探査されていないまたは記録されていないセマンティックスのセマンティック発見、およびマップ更新を含む、さまざまなマップメンテナンスタスクを実施するように構成されている。たとえば、転送誤差に起因するようなセマンティックコンフリクトの検出のときに、前記コンフリクトは、アルゴリズムまたはユーザ相互作用を通して解消され得る。解消が(たとえば、セマンティックアノテーション間の制約に起因して)不可能な場合には、マップ更新は、破棄されるかまたは中断され得、セマンティックマップは、前の有効な状態に戻ることが可能である。いくつかの例において、新しいセマンティックスは、新しいミッションに対応するマップから発見され得る。たとえば、ロボットが環境において有意な変化をセンシングするときに、新しいセマンティックスを発見するための、および、新しいセマンティックアノテーションをセマンティックマップに追加するための可能性が存在する可能性がある。本明細書で議論されているようなセマンティックマップ管理システムは、モバイルロボットがその世界におけるセマンティックスについて連続的に推論することおよびその環境の変化を反映してマップを最新に維持することを可能にすることができる。
以下では、モバイルロボットおよびその作業環境が、図1~図4を参照して簡潔に議論される。本明細書で説明されているさまざまな実施形態による、セマンティックマップを生成および管理するシステム、デバイス、および方法の詳細な説明が、図5~図20を参照して議論されている。
自律型モバイルロボットの例
図1および図2A~図2Bは、モバイルフロアクリーニングロボット100の一例の異なる図を示している。図1を参照すると、ロボット100は、ロボット100がフロア表面10を横断するときに、フロア表面10からデブリ105を収集する。図2Aを参照すると、ロボット100は、ロボットハウジングインフラストラクチャ108を含む。ハウジングインフラストラクチャ108は、ロボット100の構造的な周辺を画定することが可能である。いくつかの例では、ハウジングインフラストラクチャ108は、シャーシ、カバー、底部プレート、およびバンパアッセンブリを含む。ロボット100は、小さいプロファイルを有する家庭用ロボットであり、ロボット100が家の中の家具の下にフィットすることができるようになっている。たとえば、フロア表面に対するロボット100の高さH1(図1に示されている)は、たとえば、13センチメートル以下である。また、ロボット100は、コンパクトである。ロボット100の全体的な長さL1(図1に示されている)、および、全体的な幅W1(図2Aに示されている)は、それぞれ、30センチメートル~60センチメートルの間にあり、たとえば、30センチメートル~40センチメートルの間にあるか、40センチメートル~50センチメートルの間にあるか、または、50センチメートル~60センチメートルの間にある。全体的な幅W1は、ロボット100のハウジングインフラストラクチャ108の幅に対応することが可能である。
ロボット100は、1つまたは複数のドライブホイールを含むドライブシステム110を含む。ドライブシステム110は、1つまたは複数の電気モータをさらに含み、1つまたは複数の電気モータは、電気回路106の一部を形成する電気的に駆動される部分を含む。ハウジングインフラストラクチャ108は、ロボット100の中に電気回路106を支持しており、電気回路106は、少なくともコントローラ回路109を含む。
ドライブシステム110は、フロア表面10を横切ってロボット100を推進させるように動作可能である。ロボット100は、前方ドライブ方向Fまたは後方ドライブ方向Rに推進させられ得る。また、ロボット100は、ロボット100が適切な場所でターンするように、または、ロボット100が前方ドライブ方向Fもしくは後方ドライブ方向Rに移動しながらターンするように推進させられ得る。図2Aに示されている例において、ロボット100は、ドライブホイール112を含み、ドライブホイール112は、ハウジングインフラストラクチャ108の底部部分113を通って延在している。ドライブホイール112は、モータ114によって回転させられ、フロア表面10に沿ったロボット100の移動を引き起こす。ロボット100は、パッシブキャスタホイール115をさらに含み、パッシブキャスタホイール115は、ハウジングインフラストラクチャ108の底部部分113を通って延在している。キャスタホイール115は動力を与えられていない。一緒になって、ドライブホイール112およびキャスタホイール115は、フロア表面10の上方にハウジングインフラストラクチャ108を支持するように協働する。たとえば、キャスタホイール115は、ハウジングインフラストラクチャ108の後方部分121に沿って配設されており、ドライブホイール112は、キャスタホイール115の前方に配設されている。
図2Bを参照すると、ロボット100は、実質的に長方形になっている前方部分122と、実質的に半円形になっている後方部分121とを含む。前方部分122は、側部表面150、152、前方表面154、および角部表面156、158を含む。前方部分122の角部表面156、158は、側部表面150、152を前方表面154に接続している。
図1および図2A~図2Bに示されている例において、ロボット100は、自律型モバイルフロアクリーニングロボットであり、自律型モバイルフロアクリーニングロボットは、フロア表面10をクリーニングするように動作可能なクリーニングヘッドアッセンブリ116(図2Aに示されている)を含む。たとえば、ロボット100は、バキュームクリーニングロボットであり、バキュームクリーニングロボットの中では、クリーニングヘッドアッセンブリ116が、フロア表面10からデブリ105(図1に示されている)を取り込むことによって、フロア表面10をクリーニングするように動作可能である。クリーニングヘッドアッセンブリ116は、クリーニング入口部117を含み、デブリは、ロボット100によってクリーニング入口部117を通して収集される。クリーニング入口部117は、ロボット100の中心(たとえば、中心162)の前方に位置決めされており、前方部分122の側部表面150と側部表面152との間で、ロボット100の前方部分122に沿って位置決めされている。
クリーニングヘッドアッセンブリ116は、1つまたは複数の回転可能な部材、たとえば、ローラモータ120によって駆動される回転可能な部材118を含む。回転可能な部材118は、ロボット100の前方部分122を横切って水平方向に延在している。回転可能な部材118は、ハウジングインフラストラクチャ108の前方部分122に沿って位置決めされており、ハウジングインフラストラクチャ108の前方部分122の幅(たとえば、ロボット100の全体的な幅W1に対応する)の75%~95%に沿って延在している。また、図1を参照すると、クリーニング入口部117は、回転可能な部材118同士の間に位置決めされている。
図1に示されているように、回転可能な部材118は、互いに逆回転するローラである。たとえば、回転可能な部材118は、フロントローラおよびリアローラを含むことが可能であり、フロントローラおよびリアローラは、フロア表面に対して平行に装着されており、小さい細長いギャップだけ互いから間隔を離して配置されている。回転可能な部材118は、平行な水平方向の軸線146、148(図2Aに示されている)の周りに回転可能であり、フロア表面10の上のデブリ105を撹拌し、クリーニング入口部117に向けて、クリーニング入口部117の中へ、および、ロボット100の中の吸引経路145(図1に示されている)の中へ、デブリ105を方向付けることが可能である。図2Aに戻って参照すると、回転可能な部材118は、ロボット100の前方部分122の中に完全に位置決めされ得る。回転可能な部材118は、エラストマーシェルを含み、エラストマーシェルは、回転可能な部材118がハウジングインフラストラクチャ108に対して回転するときに、フロア表面10の上のデブリ105に接触し、回転可能な部材118同士の間のクリーニング入口部117を通して、ロボット100の内部の中へ、たとえば、デブリビン124(図1に示されている)の中へ、デブリ105を方向付ける。回転可能な部材118は、さらに、フロア表面10に接触し、フロア表面10の上のデブリ105を撹拌する。図2Aに示されているような例では、回転可能な部材118(たとえば、フロントローラおよびリアローラなど)は、その円筒形状の外部に沿って分配されたシェブロン形状のベーンのパターンをそれぞれ特徴としていることが可能であり、少なくとも1つのローラのベーンは、ローラの長さに沿ってフロア表面と接触し、回転の間に一貫して印加される摩擦力(それは、しなやかなブリストルを有するブラシには存在しない)を経験する。
回転可能な部材118は、他の適切な構成をとることが可能である。一例では、フロントローラおよびリアローラのうちの少なくとも1つは、フロア表面を撹拌するためのブリストルおよび/または細長いしなやかなフラップを含むことが可能である。一例では、フラッパーブラシ(それは、クリーニングヘッドアッセンブリハウジングに回転可能に連結されている)は、柔軟なフラップを含むことが可能であり、柔軟なフラップは、コアから半径方向外向きに延在しており、ローラが回転するように駆動されるときに、フロア表面をスイープする。フラップは、逸脱したフィラメントがコアの周りにきつく巻き付くことを防止し、フィラメントのその後の除去を支援するように構成されている。フラッパーブラシは、軸線方向の端部ガードを含み、軸線方向の端部ガードは、外側コア表面の端部に隣接してコアの上に装着されており、巻き付けられたフィラメントが外側コア表面から装着特徴部の上に軸線方向に横断することを防止するように構成されている。フラッパーブラシは、コアから半径方向外向きに延在する複数のフロアクリーニングブリストルを含むことが可能である。
ロボット100は、バキュームシステム119をさらに含み、バキュームシステム119は、回転可能な部材118同士の間のクリーニング入口部117を通してデブリビン124の中へ空気フローを発生させるように動作可能である。バキュームシステム119は、インペラおよびモータを含み、インペラを回転させ、空気フローを発生させる。バキュームシステム119は、クリーニングヘッドアッセンブリ116と協働し、フロア表面10からデブリビン124の中へデブリ105を引き込む。いくつかのケースでは、バキュームシステム119によって発生させられる空気フローは、フロア表面10の上のデブリ105を回転可能な部材118同士の間のギャップを通してデブリビン124の中へ上向きに引き込むのに十分な力を生成させる。いくつかのケースでは、回転可能な部材118は、フロア表面10に接触し、フロア表面10の上のデブリ105を撹拌し、それによって、バキュームシステム119によって発生させられる空気フローによってデブリ105がより容易に取り込まれることを可能にする。
ロボット100は、ブラシ126(側部ブラシとも称される)をさらに含み、ブラシ126は、非水平方向の軸線の周りに回転し、たとえば、フロア表面10と75度~90度の間の角度を形成する軸線の周りに回転する。非水平方向の軸線は、たとえば、回転可能な部材118の長手方向の軸線と75度~90度の間の角度を形成している。ロボット100は、ブラシモータ128を含み、ブラシモータ128は、側部ブラシ126に操作可能に接続されており、側部ブラシ126を回転させる。
ブラシ126は、ロボット100の前後軸線FAから横方向にオフセットされた側部ブラシであり、ブラシ126がロボット100のハウジングインフラストラクチャ108の外周を越えて延在するようになっている。たとえば、ブラシ126は、ロボット100の側部表面150、152のうちの1つを越えて延在することが可能であり、それによって、回転可能な部材118が典型的に到達することができないフロア表面10の部分の上のデブリに係合することが可能であり、たとえば、ロボット100の直ぐ下のフロア表面10の一部分の外側のフロア表面10の部分の上のデブリに係合することが可能であり得る。また、ブラシ126は、ロボット100の横方向の軸線LAから前方にオフセットされており、ブラシ126が、また、ハウジングインフラストラクチャ108の前方表面154を越えて延在するようになっている。図2Aに示されているように、ブラシ126は、ハウジングインフラストラクチャ108の側部表面150、角部表面156、および前方表面154を越えて延在している。いくつかの実装形態では、ブラシ126が側部表面150を越えて延在する水平方向の距離D1は、少なくとも、たとえば、0.2センチメートル、たとえば、少なくとも0.25センチメートル、少なくとも0.3センチメートル、少なくとも0.4センチメートル、少なくとも0.5センチメートル、少なくとも1センチメートル、またはそれ以上である。ブラシ126は、その回転の間にフロア表面10に接触するように位置決めされており、ブラシ126がフロア表面10の上のデブリ105に容易に係合することができるようになっている。
ブラシ126は、ロボット100が移動するときに、フロア表面10の上のデブリをクリーニングヘッドアッセンブリ116のクリーニング経路の中へブラッシングするように、非水平方向の軸線の周りに回転可能である。たとえば、ロボット100が前方ドライブ方向Fに移動している例では、ブラシ126は、時計回り方向(ロボット100の上方の視点から見たとき)に回転可能であり、ブラシ126が接触するデブリが、クリーニングヘッドアッセンブリに向けて、および、前方ドライブ方向Fにクリーニングヘッドアッセンブリ116の前のフロア表面10の一部分に向けて移動するようになっている。結果として、ロボット100が前方ドライブ方向Fに移動するときに、ロボット100のクリーニング入口部117は、ブラシ126によってスイープされたデブリを収集することが可能である。ロボット100が後方ドライブ方向Rに移動している例では、ブラシ126は、反時計回り方向(ロボット100の上方の視点から見たとき)に回転可能であり、ブラシ126が接触するデブリが、後方ドライブ方向Rにクリーニングヘッドアッセンブリ116の後ろのフロア表面10の一部分に向けて移動するようになっている。結果として、ロボット100が後方ドライブ方向Rに移動するときに、ロボット100のクリーニング入口部117は、ブラシ126によってスイープされたデブリを収集することが可能である。
電気回路106は、コントローラ回路109に加えて、メモリストレージエレメント144と、たとえば1つまたは複数の電気センサを備えたセンサシステムとを含む。本明細書で説明されているように、センサシステムは、ロボット100の現在の場所を示す信号を発生させることが可能であり、また、ロボット100がフロア表面10に沿ってトラベルするときに、ロボット100の場所を示す信号を発生させることが可能である。コントローラ回路109は、本明細書で説明されているような1つまたは複数の動作を実施するように、インストラクションを実行するように構成されている。メモリストレージエレメント144は、コントローラ回路109によってアクセス可能であり、ハウジングインフラストラクチャ108の中に配設されている。1つまたは複数の電気センサは、ロボット100の環境の中の特徴を検出するように構成されている。たとえば、図2Aを参照すると、センサシステムは、クリフセンサ134を含み、クリフセンサ134は、ハウジングインフラストラクチャ108の底部部分113に沿って配設されている。クリフセンサ134のそれぞれは、光学センサの下方の物体(たとえば、フロア表面10など)の存在または不在を検出することができる光学センサである。したがって、クリフセンサ134は、クリフセンサ134が配設されているロボット100の部分の下方の急斜面およびクリフなどのような障害物を検出し、それにしたがってロボットを方向付けし直すことが可能である。センサシステムおよびコントローラ回路109のより詳細は、たとえば図3などを参照して、下記に議論される。
図2Bを参照すると、センサシステムは、1つまたは複数の近接センサを含み、その1つまたは複数の近接センサは、ロボット100の近くにあるフロア表面10に沿って物体を検出することが可能である。たとえば、センサシステムは、近接センサ136a、136b、136cを含むことが可能であり、近接センサ136a、136b、136cは、ハウジングインフラストラクチャ108の前方表面154に近接して配設されている。近接センサ136a、136b、136cのそれぞれは、光学センサを含み、その光学センサは、ハウジングインフラストラクチャ108の前方表面154から外向きに面しており、それは、光学センサの前の物体の存在または不在を検出することが可能である。たとえば、検出可能な物体は、ロボット100の環境の中の家具、壁、人、および他の物体などのような、障害物を含む。
センサシステムは、バンパ138を含むバンパシステムと、環境の中のバンパ138と障害物との間の接触を検出する1つまたは複数のバンプセンサとを含む。バンパ138は、ハウジングインフラストラクチャ108の一部を形成している。たとえば、バンパ138は、側部表面150、152および前方表面154を形成することが可能である。センサシステムは、たとえば、バンプセンサ139a、139bを含むことが可能である。バンプセンサ139a、139bは、ロボット100(たとえば、バンパ138)と環境の中の物体との間の接触を検出することができるブレークビームセンサ、容量センサ、または他のセンサを含むことが可能である。いくつかの実装形態では、バンプセンサ139aは、ロボット100の前後軸線FA(図2Aに示されている)に沿ったバンパ138の移動を検出するために使用され得、バンプセンサ139bは、ロボット100の横方向の軸線LA(図2Aに示されている)に沿ったバンパ138の移動を検出するために使用され得る。近接センサ136a、136b、136cは、ロボット100が物体に接触する前に、物体を検出することが可能であり、バンプセンサ139a、139bは、たとえば、ロボット100の物体との接触に応答して、バンパ138に接触する物体を検出することが可能である。
センサシステムは、1つまたは複数の障害物検知センサ(obstacle following sensor)を含む。たとえば、ロボット100は、側部表面150に沿って障害物検知センサ141を含むことが可能である。障害物検知センサ141は、光学センサを含み、光学センサは、ハウジングインフラストラクチャ108の側部表面150から外向きに面しており、それは、ハウジングインフラストラクチャ108の側部表面150に隣接する物体の存在または不在を検出することが可能である。障害物検知センサ141は、ロボット100の前方ドライブ方向Fに対して垂直の方向に、および、ロボット100の側部表面150に対して垂直の方向に、光学ビームを水平方向に放出することが可能である。たとえば、検出可能な物体は、ロボット100の環境の中の家具、壁、人、および他の物体などのような、障害物を含む。いくつかの実装形態では、センサシステムは、側部表面152に沿って障害物検知センサを含むことが可能であり、障害物検知センサは、側部表面152に隣接する物体の存在または不在を検出することが可能である。側部表面150に沿った障害物検知センサ141は、右側の障害物検知センサであり、側部表面152に沿った障害物検知センサは、左側の障害物検知センサである。また、障害物検知センサ141を含む1つまたは複数の障害物検知センサは、(たとえば、本明細書で説明されている近接センサと同様の)障害物検出センサとしての役割を果たすことが可能である。この点において、左側の障害物検知センサは、ロボット100の左側にある物体(たとえば、障害物表面)とロボット100との間の距離を決定するために使用され得、右側の障害物検知センサは、ロボット100の右側にある物体(たとえば、障害物表面)とロボット100との間の距離を決定するために使用され得る。
いくつかの実装形態では、近接センサ136a、136b、136cおよび障害物検知センサ141のうちの少なくともいくつかは、光学エミッタおよび光学検出器をそれぞれ含む。光学エミッタは、ロボット100から外向きに(たとえば、水平方向に外向きに)、光学ビームを放出することが可能であり、光学検出器は、ロボット100の近くの物体に反射する光学ビームの反射を検出する。ロボット100は、たとえば、コントローラ回路109を使用して、光学ビームの飛行時間を決定することが可能であり、それによって、光学検出器と物体との間の距離、ひいては、ロボット100と物体との間の距離を決定することが可能である。
いくつかの実装形態では、近接センサ136aは、光学検出器180および複数の光学エミッタ182、184を含む。光学エミッタ182、184のうちの一方は、光学ビームを外向きにおよび下向きに方向付けるように位置決めされ得、光学エミッタ182、184のうちの他方は、光学ビームを外向きにおよび上向きに方向付けるように位置決めされ得る。光学検出器180は、光学ビームの反射または光学ビームからの散乱を検出することが可能である。いくつかの実装形態では、光学検出器180は、イメージングセンサ、カメラ、または、光信号をセンシングするためのいくつかの他のタイプの検出デバイスである。いくつかの実装形態では、光学ビームは、ロボット100の前方の平面的な垂直方向の表面に沿って水平方向のラインを照射する。いくつかの実装形態では、光学エミッタ182、184は、障害物表面に向けて外向きにビームのファンをそれぞれ放出し、1次元グリッドのドットが、1つまたは複数の障害物表面の上に出現するようになっている。1次元グリッドのドットは、水平方向に延在するラインの上に位置決めされ得る。いくつかの実装形態では、ドットのグリッドは、複数の障害物表面、たとえば、互いに隣接する複数の障害物表面を横切って延在することが可能である。光学検出器180は、光学エミッタ182によって形成されるドットのグリッド、および、光学エミッタ184によって形成されるドットのグリッドを表すイメージをキャプチャすることが可能である。イメージの中のドットのサイズに基づいて、ロボット100は、光学検出器180に対する、たとえば、ロボット100に対する、物体(ドットがその上に出現する)の距離を決定することが可能である。ロボット100は、ドットのそれぞれに関してこの決定を行うことが可能であり、したがって、ロボット100が物体(ドットがその上に出現する)の形状を決定することを可能にする。加えて、複数の物体がロボット100の前にある場合には、ロボット100は、物体のそれぞれの形状を決定することが可能である。いくつかの実装形態では、物体は、ロボット100の真正面のフロア表面10の一部分から横方向にオフセットされている1つまたは複数の物体を含むことが可能である。
センサシステムは、イメージキャプチャデバイス140(たとえば、カメラ)をさらに含み、イメージキャプチャデバイス140は、ハウジングインフラストラクチャ108の上部部分142に向けて方向付けられている。イメージキャプチャデバイス140は、ロボット100がフロア表面10の周りを移動するときに、ロボット100の環境のデジタル画像を発生させる。イメージキャプチャデバイス140は、上向き方向に角度を付けられており、たとえば、フロア表面10(ロボット100はフロア表面10の周りをナビゲートする)から30度~80度の間の角度を付けられている。カメラは、上向きに角度を付けられているときに、環境の壁表面のイメージをキャプチャすることができ、壁表面の上の物体に対応する特徴が、ローカリゼーションのために使用され得るようになっている。
ロボット100がミッションを実施することをコントローラ回路109が引き起こすときには、コントローラ回路109は、モータ114を動作させ、ドライブホイール112を駆動し、フロア表面10に沿ってロボット100を推進させる。加えて、コントローラ回路109は、ローラモータ120を動作させ、回転可能な部材118が回転することを引き起こし、また、ブラシモータ128を動作させ、側部ブラシ126が回転することを引き起こし、また、バキュームシステム119のモータを動作させ、空気フローを発生させる。ロボット100がさまざまなナビゲーション行動およびクリーニング行動を実施することを引き起こすために、コントローラ回路109は、メモリストレージエレメント144の上に記憶されているソフトウェアを実行し、ロボット100のさまざまなモータを動作させることによって、ロボット100が実施することを引き起こす。コントローラ回路109は、ロボット100のさまざまなモータを動作させ、ロボット100が行動をとることを引き起こす。
センサシステムは、ロボット100によってトラベルされる距離をトラッキングするためのセンサをさらに含むことが可能である。たとえば、センサシステムは、ドライブホイール112のためのモータ114に関連付けられたエンコーダを含むことが可能であり、これらのエンコーダは、ロボット100がトラベルした距離をトラッキングすることが可能である。いくつかの実装形態では、センサシステムは、フロア表面に向けて下向きに面する光学センサを含む。光学センサは、光学マウスセンサであることが可能である。たとえば、光学センサは、ロボット100の底部表面を通してフロア表面10に向けて光を方向付けるように位置決めされ得る。光学センサは、光の反射を検出することが可能であり、ロボット100がフロア表面10に沿ってトラベルするときのフロア特徴の変化に基づいて、ロボット100によってトラベルされる距離を検出することが可能である。
コントローラ回路109は、センサシステムのセンサによって収集されたデータを使用し、ミッションの間のロボット100のナビゲーション行動を制御する。たとえば、コントローラ回路109は、ロボット100の障害物検出センサ(たとえば、クリフセンサ134、近接センサ136a、136b、136c、およびバンプセンサ139a、139b)によって収集されたセンサデータを使用し、ロボット100が障害物を回避することを可能にし、または、ミッションの間にロボット100の環境の中の階段から落ちることを防止する。いくつかの例では、コントローラ回路109は、環境のマップなどのような、環境についての情報を使用して、ロボット100のナビゲーション行動を制御する。適正なナビゲーションによって、ロボット100は、ゴール位置に到達することができ、または、可能な限り効率的におよび信頼性高く、カバレージミッションを完了する。
センサデータは、自己位置推定と地図作成を同時に行う(simultaneous localization and mapping)(SLAM)技法のためのコントローラ回路109によって使用され得、自己位置推定と地図作成を同時に行う(SLAM)技法において、コントローラ回路109は、センサデータによって表される環境の特徴を抽出し、環境のフロア表面10のマップを構築する。イメージキャプチャデバイス140によって収集されるセンサデータは、視覚ベースのSLAM(VSLAM)などのような技法のために使用され得、視覚ベースのSLAM(VSLAM)において、コントローラ回路109は、環境の中の物体に対応する視覚的特徴を抽出し、これらの視覚的特徴を使用してマップを構築する。コントローラ回路109がミッションの間にフロア表面10の周りにロボット100を方向付けるとき、コントローラ回路109は、収集されたセンサデータの中に表された特徴を検出することによって、および、その特徴を以前に記憶されている特徴と比較することによって、SLAM技法を使用し、マップの中のロボット100の場所を決定する。センサデータから形成されるマップは、環境の中の横断可能なおよび横断不可能なスペースの場所を示すことが可能である。たとえば、障害物の場所は、横断不可能なスペースとして、マップの上に示され、オープンフロアスペースの場所は、横断可能なスペースとして、マップの上に示される。
センサのいずれかによって収集されたセンサデータは、メモリストレージエレメント144の中に記憶され得る。加えて、SLAM技法のために発生させられる他のデータ(マップを形成するマッピングデータを含む)は、メモリストレージエレメント144の中に記憶され得る。ミッションの間に作り出されるこれらのデータは、永続的データを含むことが可能であり、永続的データは、ミッションの間に作り出され、また、それは、さらなるミッションの間に使用可能である。たとえば、ミッションは、第1のミッションであることが可能であり、さらなるミッションは、第1のミッションの後に起こる第2のミッションであることが可能である。ロボット100がその行動をとることを引き起こすためのソフトウェアを記憶することに加えて、メモリストレージエレメント144は、センサデータを記憶し、または、1つのミッションから別のミッションへのコントローラ回路109によるアクセスのためのセンサデータの処理から結果として生じるデータを記憶する。たとえば、マップは、永続的マップであることが可能であり、永続的マップは、1つのミッションから別のミッションへロボット100のコントローラ回路109によって使用可能および更新可能であり、フロア表面10の周りでロボット100をナビゲートする。この明細書において議論されているさまざまな実施形態によれば、永続的マップは、ユーザから受け取るインストラクションコマンドに応答して更新され得る。コントローラ回路109は、たとえば、計画された経路を修正することによって、または、障害物回避戦略を更新することなどによって、更新された永続的マップにしたがって、ロボット100のその後のまたは将来のナビゲーション行動を修正することが可能である。
永続的データ(永続的マップを含む)は、ロボット100がフロア表面10を効率的にクリーニングすることを可能にする。たとえば、永続的マップは、コントローラ回路109がオープンフロアスペースに向けてロボット100を方向付けること、および、横断不可能なスペースを回避することを可能にする。加えて、後続のミッションのために、コントローラ回路109は、ミッションの間にとられる経路を最適化するために永続的マップを使用して、環境を通るロボット100のナビゲーションを計画することができる。
ロボット100は、いくつかの実装形態では、光インジケータシステム137を含むことが可能であり、光インジケータシステム137は、ロボット100の上部部分142の上に位置付けされている。光インジケータシステム137は、光源を含むことが可能であり、光源は、デブリビン124をカバーする蓋部147の中に位置決めされている(図2Bに示されている)。光源は、蓋部147の周辺に光を方向付けるように位置決めされ得る。光源は、ロボット100の上部部分142の上の連続的なループ143の任意の部分が照射され得るように位置決めされている。連続的なループ143は、ロボット100の上部部分142の凹んだ部分の上に位置付けされており、光源が活性化されるとき、光源がロボット100の表面を照射することができるようになっている。
図3は、モバイルクリーニングロボットを動作させるための制御アーキテクチャ300の一例を示すダイアグラムである。コントローラ回路109は、通信システム305、クリーニングシステム310、ドライブシステム110、およびナビゲーションセンサシステム320を含む、ロボット100のさまざまなサブシステムに通信可能に連結され得る。コントローラ回路109は、メモリユニット144を含み、メモリユニット144は、プロセッサ324によって処理するためのデータおよびインストラクションを保持している。プロセッサ324は、メモリユニット144からプログラムインストラクションおよびフィードバックデータを受け取り、プログラムインストラクションによって要求される論理的動作を実行し、また、ロボット100のそれぞれのサブシステムコンポーネントを動作させるためのコマンド信号を発生させる。入力/出力ユニット326は、コマンド信号を送信し、さまざまな図示されているコンポーネントからフィードバックを受信する。
通信システム305は、ビーコン通信モジュール306およびワイヤレス通信モジュール307を含むことが可能である。ビーコン通信モジュール306は、コントローラ回路109に通信可能に連結され得る。いくつかの実施形態では、ビーコン通信モジュール306は、リモートデバイスへ信号を送るように、また、リモートデバイスから信号を受信するように動作可能である。たとえば、ビーコン通信モジュール306は、ナビゲーションのエミッタもしくはバーチャルウォールビーコンから投射されるナビゲーション信号を検出することが可能であり、または、ドッキングステーションのエミッタから投射されるホーミング信号を検出することが可能である。ドッキング技術、コンファインメント技術、ホームベース技術、およびホーミング技術は、米国特許第7,196,487号および米国特許第7,404,000号、米国特許出願公開第20050156562号、ならびに米国特許出願公開第20140100693号に議論されている(それらの全体が、参照により本明細書に組み込まれている)。米国特許出願公開第2014/0207282号(その全体が、参照により本明細書に組み込まれている)に説明されているように、ワイヤレス通信モジュール307は、1つまたは複数のモバイルデバイス(たとえば、図4Aに示されているモバイルデバイス404)を伴う適切なワイヤレスネットワーク(たとえば、ワイヤレスローカルエリアネットワーク)にわたって、ロボット100のステータスを説明する情報の通信を促進させる。通信システム305のさらなる詳細は、たとえば図4Aなどを参照して、下記に議論される。
クリーニングシステム310は、ローラモータ120と、側部ブラシ126を駆動するブラシモータ128と、バキュームシステム119に動力を与える吸引ファンモータ316とを含むことが可能である。クリーニングシステム310は、複数のモータセンサ317をさらに含み、複数のモータセンサ317は、ローラモータ120、ブラシモータ128、および吸引ファンモータ316の動作をモニタリングし、コントローラ回路109によるモータの閉ループ制御を促進させる。いくつかの実施形態では、ローラモータ120は、コントローラ回路109(または、適切なマイクロコントローラ)によって動作させられ、クローズドループのパルス幅変調(PWM)技法を介して、特定の速度設定にしたがって、ローラ(たとえば、回転可能な部材118)を駆動し、ここで、フィードバック信号は、ローラモータ120の回転速度を示す信号をモニタリングするモータセンサ317から受信される。たとえば、そのようなモータセンサ317は、モータ電流センサ(たとえば、シャント抵抗器、電流センシング変圧器、および/またはHall効果電流センサ)の形態で提供され得る。
ドライブシステム110は、コントローラ回路109からのドライブコマンドまたは制御信号に応答してドライブホイール112を動作させるためのドライブホイールモータ114と、(たとえば、上に説明されているように適切なPWM技法を介して)ドライブホイールの閉ループ制御を促進させるための複数のドライブモータセンサ161とを含むことが可能である。いくつかの実装形態では、ドライブシステム110に割り当てられたマイクロコントローラは、x成分、y成分、およびθ成分を有するドライブコマンドを解読するように構成されている。コントローラ回路109は、ドライブホイールモータ114に個々の制御信号を発行することが可能である。いずれにしても、コントローラ回路109は、ドライブホイールモータ114を介してそれぞれのドライブホイール112の回転速度および方向を独立して制御することによって、クリーニング表面を横切って任意の方向にロボット100を操縦することが可能である。
コントローラ回路109は、ナビゲーションセンサシステム320から受信される信号に応答して、ドライブシステム110を動作させることが可能である。たとえば、コントローラ回路109は、ドライブシステム110を動作させ、ロボット100を方向付けし直し、フロア表面を処置している間に出会う障害物および散乱物を回避することが可能である。別の例では、ロボット100が使用の間に立ち往生するかまたはもつれた場合には、コントローラ回路109は、1つまたは複数の脱出行動にしたがってドライブシステム110を動作させることが可能である。信頼性の高い自律的な移動を実現するために、ナビゲーションセンサシステム320は、互いに組み合わせて使用され得るいくつかの異なるタイプのセンサを含むことが可能であり、ロボット100が特定の環境についてインテリジェントな決定を行うことを可能にする。例としておよび限定ではなく、ナビゲーションセンサシステム320は、近接センサ336(たとえば、近接センサ136a~136cなど)、クリフセンサ134、視覚センサ324のうちの1つまたは複数を含むことが可能であり、視覚センサ324は、たとえば、上に説明されているように、たとえばVSLAM技術などを使用して、動作環境の中の特徴およびランドマークを検出するように、および、バーチャルマップを構築するように構成されているイメージキャプチャデバイス140などである。
ナビゲーションセンサシステム320は、バンパ138の活性化に応答するバンパセンサ339(たとえば、バンパセンサ139aおよび139bなど)をさらに含むことが可能である。センサシステム320は、慣性測定ユニット(IMU)164を含むことが可能であり、慣性測定ユニット(IMU)164は、フロアに対して実質的に垂直の垂直方向の軸線に対するロボット100の位置の変化に部分的に応答し、また、(それは、フローリングタイプ変化に潜在的に起因する)高さの差を有するフロアタイプインターフェースにおいて、ロボット100がピッチされる(pitched)ときをセンシングする。いくつかの例では、IMU164は、ジャイロセンサを有する6軸IMUであり、ジャイロセンサは、垂直方向の軸線に対するロボット100の角速度を測定する。しかし、他の適切な構成も企図される。たとえば、IMU164は、垂直方向の軸線に沿ったロボット100の線形加速度に敏感な加速度計を含むことが可能である。いずれにしても、IMU164からの出力は、コントローラ回路109によって受信され、フロア表面(ロボット100がフロア表面を横切ってトラベルしている)の中の不連続性を検出するために処理される。本開示の文脈において、「フローリングの不連続性」および「閾値」という用語は、ロボット100によって横断可能であるが、離散的な垂直方向の移動イベント(たとえば、上向きまたは下向きの「バンプ」)を引き起こす、フロア表面における任意の不規則性(たとえば、フローリングタイプの変化、または、フローリングインターフェースにおけるエレベーションの変化)を指す。垂直方向の移動イベントは、IMU164の構成および設置に応じて、ドライブシステムの一部(たとえば、ドライブホイール112のうちの1つ)、または、ロボットハウジング108のシャーシを指すことが可能である。フローリング閾値またはフローリングインターフェースの検出は、コントローラ回路109がフロアタイプの変化を予期することを促すことが可能である。たとえば、ロボット100は、それがハイパイルカーペット(軟らかいフロア表面)からタイルフロア(硬いフロア表面)へ移動するときに、有意な下向きの垂直方向のバンプを経験する可能性があり、また、反対のケースでは、上向きのバンプを経験する可能性がある。
図示されている例に関連して示されても説明されてもいないが、多種多様な他のタイプのセンサが、本開示の範囲から逸脱することなく、ナビゲーションセンサシステム320(または、任意の他のサブシステム)の中に組み込まれ得る。そのようなセンサは、障害物検出ユニット、障害物検出障害物回避(ODOA)センサ、ホイールドロップセンサ、障害物検知センサ、ストールセンサユニット、ドライブホイールエンコーダユニット、およびバンパセンサなどとして機能することが可能である。
通信ネットワークの例
図4Aは、例としておよび限定ではなく、モバイルロボット100と1つまたは複数の他のデバイス(たとえば、モバイルデバイス404、クラウドコンピューティングシステム406、または、モバイルロボット404とは別個の別の自律型ロボット408など)との間のネットワーキングを可能にする通信ネットワークを示すダイアグラムである。通信ネットワーク410を使用して、ロボット100、モバイルデバイス404、ロボット408、およびクラウドコンピューティングシステム406は、互いに通信し、互いにデータを送信すること、および、互いからデータを受信することが可能である。いくつかの実装形態では、ロボット100、ロボット408、または、ロボット100およびロボット408の両方が、クラウドコンピューティングシステム406を通してモバイルデバイス404と通信する。代替的にまたは追加的に、ロボット100、ロボット408、または、ロボット100およびロボット408の両方が、モバイルデバイス404と直接的に通信する。ワイヤレスネットワーク(たとえば、Bluetooth、ラジオ周波数、光学ベースなど)およびネットワークアーキテクチャ(たとえば、メッシュネットワーク)のさまざまなタイプおよび組合せが、通信ネットワーク410によって用いられ得る。
いくつかの実装形態では、図4Aに示されているようなモバイルデバイス404は、リモートデバイスであり、そのリモートデバイスは、クラウドコンピューティングシステム406にリンクされ得、また、ユーザがモバイルデバイス404の上に入力を提供することを可能にすることができる。モバイルデバイス404は、たとえば、タッチスクリーンディスプレイ、ボタン、マイクロホン、マウス、キーボード、または、ユーザによって提供される入力に応答する他のデバイスのうちの1つまたは複数などの、ユーザ入力エレメントを含むことが可能である。モバイルデバイス404は、代替的にまたは追加的に、没入型メディア(たとえば、バーチャルリアリティ)を含み、ユーザは、その没入型メディアと相互作用し、ユーザ入力を提供する。これらのケースにおいて、モバイルデバイス404は、たとえば、バーチャルリアリティヘッドセットまたはヘッドマウントディスプレイである。ユーザは、モバイルロボット404のためのコマンドに対応する入力を提供することが可能である。そのようなケースでは、モバイルデバイス404は、クラウドコンピューティングシステム406に信号を送信し、クラウドコンピューティングシステム406がモバイルロボット100にコマンド信号を送信することを引き起こす。いくつかの実装形態では、モバイルデバイス404は、オーグメンテッドリアリティイメージを提示することが可能である。いくつかの実装形態では、モバイルデバイス404は、スマートフォン、ラップトップコンピュータ、タブレットコンピューティングデバイス、または他のモバイルデバイスである。
本明細書で議論されているさまざまな実施形態によれば、モバイルデバイス404は、ロボット環境のマップを表示するように構成されているユーザインターフェースを含むことが可能である。また、ロボット経路(たとえば、コントローラ回路109のカバレージプランナによって識別されるものなど)は、マップの上に表示され得る。インターフェースは、ユーザインストラクションを受信し、たとえば、なかでも、環境の中に立入禁止の横断可能なゾーンを追加するか、除去するか、もしくはその他の方法で修正することによって、環境の中の重複横断ゾーン(たとえば、繰り返されるクリーニングを必要とするエリアなど)を追加するか、除去するか、もしくはその他の方法で修正することによって、環境の一部分の中のロボット横断方向もしくは横断パターンを制限することによって、または、クリーニングランクを追加するかもしくは変更することになどよって、環境マップを修正することが可能である。
いくつかの実装形態では、通信ネットワーク410は、追加的なノードを含むことが可能である。たとえば、通信ネットワーク410のノードは、追加的なロボットを含むことが可能である。代替的にまたは追加的に、通信ネットワーク410のノードは、ネットワーク接続されたデバイスを含むことが可能である。いくつかの実装形態では、ネットワーク接続されたデバイスは、環境20についての情報を発生させることが可能である。ネットワーク接続されたデバイスは、環境20の中の特徴を検出するための1つまたは複数のセンサ、たとえば、音響センサ、イメージキャプチャシステム、または、信号(その信号から特徴が抽出され得る)を発生させる他のセンサなどを含むことが可能である。ネットワーク接続されたデバイスは、ホームカメラおよびスマートセンサなどを含むことが可能である。
図4Aに示されている通信ネットワーク410において、および、通信ネットワーク410の他の実装形態において、ワイヤレスリンクは、さまざまな通信スキーム、プロトコルなど、たとえば、Bluetooth(登録商標)クラス、Wi-Fi(登録商標)、Bluetooth(登録商標)-low-energy(BLEとしても知られる)、802.15.4、Worldwide Interoperability for Microwave Access(WiMAX(登録商標))、赤外線チャネル、または衛星バンドなどを利用することが可能である。いくつかのケースでは、ワイヤレスリンクは、それに限定されないが、1G、2G、3G、または4Gとしての資格を与える標準を含む、モバイルデバイスの間で通信するために使用される任意のセルラーネットワーク標準を含む。ネットワーク標準は、利用される場合には、国際電気通信連合によって維持されている仕様などのような、仕様または標準を満たすことによって、たとえば、モバイル電気通信標準の1つまたは複数の世代としての資格を与える。3G標準は、利用される場合には、たとえば、International Mobile Telecommunications-2000(IMT-2000)仕様に対応しており、4G標準は、International Mobile Telecommunications Advanced(IMT-Advanced)仕様に対応することが可能である。セルラーネットワーク標準の例は、AMPS、GSM、GPRS、UMTS、LTE、LTE Advanced、Mobile WiMAX(登録商標)、およびWiMAX(登録商標)-Advancedを含む。セルラーネットワーク標準は、さまざまなチャネルアクセス方法、たとえば、FDMA、TDMA、CDMA、またはSDMAを使用することが可能である。
図4Bは、モバイルロボット100、クラウドコンピューティングシステム406、およびモバイルデバイス404を含む、通信ネットワーク410の中のデバイスの間で情報を交換する一例示的なプロセス400を示すダイアグラムである。クリーニングミッションは、モバイルロボット100の上のボタンを押すことによって開始させられ得、または、将来の時間または日に関してスケジュールされ得る。ユーザは、クリーニングミッションの間にクリーニングされるべき部屋のセットを選択することが可能であり、または、すべての部屋をクリーニングするようにロボットに指示することが可能である。また、ユーザは、クリーニングミッションの間にそれぞれの部屋の中で使用されることとなるクリーニングパラメータのセットを選択することが可能である。
クリーニングミッションの間に、モバイルロボット100は、その場所、クリーニングの間に起こる任意の動作イベント、および、クリーニングするのに費やす時間を含む、そのステータスをトラッキング410する。モバイルロボット100は、ステータスデータ(たとえば、場所データ、動作イベントデータ、時間データのうちの1つまたは複数)をクラウドコンピューティングシステム406に送信412し、そのクラウドコンピューティングシステム406は、プロセッサ442によって、クリーニングされることとなるエリアに関する推定時間を計算414する。たとえば、推定時間は、その部屋に関する複数の(たとえば、2つ以上の)以前のクリーニングミッションの間に集められた、その部屋に関する実際のクリーニング時間を平均することによって、クリーニング部屋に関して計算され得る。クラウドコンピューティングシステム406は、ロボットステータスデータとともに推定時間データをモバイルデバイス404に送信416する。モバイルデバイス404は、プロセッサ444によって、ディスプレイの上にロボットステータスデータおよび推定時間データを提示418する。ロボットステータスデータおよび推定時間データは、複数のグラフィック表現編集可能なミッションタイムラインおよび/またはマッピングインターフェースのいずれかとして、モバイルデバイスのディスプレイの上に提示され得る。いくつかの例において、モバイルロボット100は、モバイルデバイス404と直接的に通信することが可能である。
ユーザ402は、ディスプレイの上のロボットステータスデータおよび推定時間データを見て420、新しいクリーニングパラメータを入力422することが可能であり、または、クリーニングされることとなる部屋の順序もしくはアイデンティティを操作することが可能である。ユーザ402は、たとえば、モバイルロボット100のクリーニングスケジュールから部屋を削除することが可能である。他の場合では、ユーザ402は、たとえば、クリーニングされることとなる部屋に関して、エッジクリーニングモードまたはディープクリーニングモードを選択することが可能である。モバイルデバイス404のディスプレイは、クリーニングパラメータまたはクリーニングスケジュールに対する変更をユーザが入力するときに更新される424。たとえば、ユーザがシングルパスクリーニングからデュアルパスクリーニングへクリーニングパラメータを変化させる場合には、システムは、推定される時間を更新し、新しいパラメータに基づいて推定値を提供することとなる。シングルパスクリーニング対デュアルパスクリーニングのこの例では、推定値は、おおよそ2倍になることとなる。別の例では、ユーザがクリーニングスケジュールから部屋を除去する場合には、合計の推定時間は、おおよそ、除去される部屋をクリーニングするために必要とされる時間だけ減少させられる。ユーザ402からの入力に基づいて、クラウドコンピューティングシステム406は、クリーニングされることとなるエリアに関する推定時間を計算426し、それは、次いで、(たとえば、ワイヤレス伝送によって、プロトコルを適用することによって、ワイヤレス伝送をブロードキャストすることによって)モバイルデバイス404に送信して戻され428、表示される。追加的に、計算426された推定時間に関係するデータは、ロボットのコントローラ430に送信446される。ユーザ402からの入力に基づいて(それは、モバイルロボット100のコントローラ430によって受信される)、コントローラ430は、コマンド信号を発生432させる。コマンド信号は、所定の行動を実行434するようにモバイルロボット100に命令し、その所定の行動は、クリーニング行動であることが可能である。クリーニング行動が実行されるとき、コントローラは、その場所、クリーニングの間に起こる任意の動作イベント、および、クリーニングするのに費やす時間を含む、ロボットのステータスをトラッキング410し続ける。いくつかの場合では、ロボットのステータスに関係するライブ更新は、プッシュ通知を介して、モバイルデバイスまたはホームエレクトロニクスシステム(たとえば、インタラクティブスピーカシステム)に追加的に提供され得る。
所定の行動を実行434すると、コントローラ430は、受信されたコマンド信号が、クリーニングミッションを完了するためのコマンドを含むかどうかを確かめるためにチェック436する。コマンド信号が、クリーニングミッションを完了するためのコマンドを含む場合には、ロボットは、そのドックに戻るように命令され、戻ったときに情報を送り、クラウドコンピューティングシステム406がミッションサマリを発生438させることを可能にし、そのミッションサマリは、モバイルデバイス404に送信され、モバイルデバイス404によって表示440される。ミッションサマリは、タイムラインおよび/またはマップを含むことが可能である。タイムラインは、クリーニングされた部屋、それぞれの部屋をクリーニングするのに費やした時間、それぞれの部屋の中でトラッキングされた動作イベントなどを表示することが可能である。マップは、クリーニングされた部屋、それぞれの部屋の中でトラッキングされた動作イベント、それぞれの部屋の中で実施されたクリーニング(たとえば、スイーピングまたはモッピング)のタイプなどを表示することが可能である。
本明細書で説明されているプロセス400および他のプロセスのための動作は、分散された様式で実行され得る。たとえば、クラウドコンピューティングシステム406、モバイルロボット100、およびモバイルデバイス404は、互いに協力して動作のうちの1つまたは複数を実行することが可能である。クラウドコンピューティングシステム406、モバイルロボット100、およびモバイルデバイス404のうちの1つによって実行されるものとして説明されている動作は、いくつかの実装形態では、クラウドコンピューティングシステム406、モバイルロボット100、およびモバイルデバイス404のうちの2つまたはすべてによって、少なくとも部分的に実行される。
セマンティックマップ管理システムの例
モータロボットのためのセマンティックマップを生成および管理するシステム、デバイス、およびプロセスのさまざまな実施形態が、図5~図20を参照して以下に議論されている。本明細書は、フロアクリーニングを実施するモバイルロボット100を参照しているが、本明細書で議論されているセマンティックマップ管理システムおよび方法は、異なる用途(たとえば、なかでも、モップ掛け、草刈り、輸送、監視など)のために設計されたロボットにおいて使用され得る。追加的に、いくつかのコンポーネント、モジュール、および動作は、ロボット100によって、ユーザによって、コンピューティングデバイスによって、または別のアクターによって、実装および実施されるものとして説明されている可能性があるが、これらの動作は、いくつかの実装形態では、説明されているもの以外のアクターによって実施され得る。たとえば、ロボット100によって実施される動作は、いくつかの実装形態では、クラウドコンピューティングシステム406によって、または、別のコンピューティングデバイス(もしくは、複数のデバイス)によって実施され得る。他の例では、ユーザによって実施される動作は、コンピューティングデバイスによって実施され得る。いくつかの実装形態では、クラウドコンピューティングシステム406は、動作を実施しない。むしろ、他のコンピューティングデバイスが、クラウドコンピューティングシステム406によって実施されるものとして説明されている動作を実施し、これらのコンピューティングデバイスは、互いにおよびロボット100と直接的に(または、間接的に)通信した状態にあることが可能である。いくつかの実装形態では、ロボット100は、ロボット100によって実施されるものとして説明されている動作に加えて、クラウドコンピューティングシステム406またはモバイルデバイス404によって実施されるものとして説明されている動作を実施することが可能である。他の変形例も可能である。そのうえ、本明細書で説明されている方法およびプロセスは、特定の動作またはサブ動作を含むものとして説明されているが、他の実装形態では、これらの動作もしくはサブ動作のうちの1つもしくは複数が省略され得、または、追加的な動作もしくはサブ動作が追加され得る。
図5は、モバイルロボット(たとえば、モバイルロボット100など)による使用のためのセマンティックマップを生成および管理するように構成されているセマンティックマップ管理システム500の例を示すダイアグラムである。本明細書において、セマンティックマップの「管理」または「メンテナンス」は、アルゴリズムまたはユーザ入力を通して、有効なセマンティックマップを1つのミッションから別のミッションへ再使用可能に維持するために、セマンティックマップの上で実施される動作を指す。システム500は、センサ回路510、コントローラ回路520、メモリ回路530、およびユーザインターフェース540のうちの1つまたは複数を含むことが可能である。これらのコンポーネントは、マップアノテーションおよび編集、セマンティック転送、コンフリクト検出、コンフリクト解消、セマンティック発見、またはセマンティックマップ更新を含む、セマンティックマップ生成および管理動作を実施することが可能である。
システム500の少なくとも一部分は、モバイルロボット100、モバイルデバイス404、自律型ロボット408、またはクラウドコンピューティングシステム406のうちの1つまたは複数の中に実装され得る。一例では、システム500のうちのいくつかまたはすべては、モバイルロボット100の中に実装され得、図3を参照すると、センサ回路510は、環境の中のモバイルロボットのミッションに対応するセンサデータを受信するためにセンサシステム320に連結されている入力/出力ユニット326の一部であることが可能であり、コントローラ回路520は、プロセッサ324の一部であることが可能であり、メモリ回路530は、モバイルロボット100の中のメモリユニット144の一部であることが可能である。別の例では、システム500のうちのいくつかまたはすべては、モバイルロボット100に通信可能に連結されているモバイルデバイス404(たとえば、スマートフォンまたは他のコンピューティングデバイス)などのような、モバイルロボット100とは別個のデバイスの中に実装され得、センサ回路510は、通信リンクを介してモバイルロボット100からロボットデータを受信することが可能である。メモリ回路530は、モバイルロボットのミッションに対応する環境のセマンティックマップを記憶することが可能である。コントローラ回路520は、コンピュータ可読のインストラクション(たとえば、スマートフォンの上のアプリケーションまたは「アプリ」)を実行し、他のロボット制御動作のなかでも、マップアノテーションおよび編集、セマンティック転送、コンフリクト検出および解消、セマンティック発見、またはセマンティックマップ更新などのような、さまざまなセマンティックマップ生成および管理動作を実施することが可能である。
センサ回路510は、モバイルロボットのミッションに対応する環境の占有情報をセンシングすることが可能である。センサ回路510は、たとえば図2A~図2Bおよび図3などを参照して上記に議論されているように、他のセンサのなかでも、1つまたは複数の光学センサ、クリフセンサ、近接センサ、バンプセンサ、イメージングセンサ、障害物検出センサを含むことが可能である。センサのうちのいくつかは、環境の中の障害物(たとえば、壁などのような占有された領域)および経路および他のオープンスペースをセンシングすることが可能である。センサのうちのいくつかは、物体(たとえば、ドアまたは散乱物)を認識または分類し、物体の場所、状態、または他の特質を決定することが可能である。
コントローラ回路520(それは、コントローラ回路109の例である)は、センサ回路510によって収集されたセンサデータ、メモリ530の中に記憶されているベースセマンティックマップ532、および、随意的に、ユーザインターフェース540から受信されたユーザ入力542を使用して、セマンティックマップを生成および管理することが可能である。コントローラ回路520は、マイクロプロセッサ回路の一部として実装され得、そのコントローラ回路520は、デジタル信号プロセッサ、特定用途向け集積回路(ASIC)、マイクロプロセッサ、または、物理的な活動情報を含む情報を処理するための他のタイプのプロセッサなどのような、専用のプロセッサであることが可能である。代替的に、マイクロプロセッサ回路は、本明細書で説明されている機能、方法、または技法を実施するインストラクションのセットを受信および実行することができるプロセッサであることが可能である。
コントローラ回路520は、占有マップ生成器521、セマンティックマップ管理回路522、およびナビゲーションコントローラ529などのような、1つまたは複数の他の回路またはサブ回路を含む回路セットを含むことが可能である。これらの回路またはモジュールは、単独でまたは組み合わせて、本明細書で説明されている機能、方法、または技法を実施することが可能である。一例では、回路セットのハードウェアは、特定の動作を実施するように不変に設計され得る(たとえば、ハードワイヤード)。一例では、回路セットのハードウェアは、特定の動作のインストラクションをエンコードする物理的に修正されたコンピュータ可読媒体(たとえば、不変質量の粒子の磁気的に、電気的に、移動可能な設置など)を含む、可変的に接続されている物理的なコンポーネント(たとえば、実行ユニット、トランジスタ、単純回路など)を含むことが可能である。物理的なコンポーネントを接続する際に、ハードウェア構成要素の基礎的な電気特性が、たとえば、絶縁体から導体へ変化させられるか、または、同様にその反対に変化させられる。インストラクションは、埋め込まれているハードウェア(たとえば、実行ユニットまたはローディングメカニズム)が可変接続を介してハードウェアの中の回路セットの部材を生成させることを可能にし、動作中のときに特定の動作の一部分を実施する。したがって、コンピュータ可読媒体は、デバイスが動作しているときに、回路セット部材の他のコンポーネントに通信可能に連結されている。一例では、物理的なコンポーネントのうちのいずれかが、2つ以上の回路セットの2つ以上の部材の中に使用され得る。たとえば、動作下において、実行ユニットは、1つの時点において、第1の回路セットの第1の回路の中で使用され、また、異なる時間において、第1の回路セットの中の第2の回路によって、または、第2の回路セットの中の第3の回路によって再使用され得る。
占有マップ生成器521は、センサ回路510によってセンシングされた占有情報に基づいて、占有マップを生成することが可能である。占有マップは、さまざまなタイプのロボットマップを含むことが可能である。一例では、占有マップは、モバイルロボットによって横断可能な環境のトップダウン図によって表され得る。別の例では、占有マップは、環境の中の異なるフロアタイプを表すフロアタイプマップによって表され得る。一例では、図1を参照して上記に議論されているような自己位置推定と地図作成を同時に行う(SLAM)技法が、環境の占有情報をセンサデータから抽出し、環境の占有マップを生成するために使用され得る。一例では、イメージキャプチャデバイス140によって収集されたセンサデータは、視覚ベースのSLAM(VSLAM)などのような技法のために使用され得、視覚ベースのSLAM(VSLAM)において、コントローラ回路522は、環境の中の物体に対応する視覚的特徴を抽出し、これらの視覚的特徴を使用して占有マップを構築することが可能である。ドライブシステムがミッションの間に環境の周りでモバイルロボットを移動させるとき、占有マップ生成器521は、収集されたセンサデータの中に表された特徴を検出することによって、および、その特徴を以前に記憶されている特徴と比較することによって、SLAM技法を使用し、マップの中のモバイルロボットの場所を決定することが可能である。
センサデータから形成される占有マップは、横断可能なスペース(たとえば、オープンフロアスペース)および横断不可能なスペース(たとえば、障害物)の場所を示すことが可能である。占有マップは、バイナリーイメージまたはグレースケールイメージとして提示され得る。例としておよび限定ではなく、図8は、モバイルロボットミッションに対応する占有マップ800を示している。占有マップ800は、モバイルロボットが障害なしに横断することができる自由エリア810と、モバイルロボットによってセンシングされた壁または物体などのような占有されたエリア820と、探査されていないエリア830とを含み、探査されていないエリア830では、モバイルロボットが立ち入っていないかまたは占有マップに記録されていない。
セマンティックマップ管理回路522は、本明細書で説明されている機能、方法、または技法を実施するためのインストラクションを受信および実行するマイクロプロセッサの中のサブ回路またはモジュールを含むことが可能である。図5に示されているように、これらのサブ回路またはモジュールは、セマンティックマップ生成器523、セマンティックアノテーション(SA)転送モジュール524、SAコンフリクト検出器525、SAコンフリクト解消器モジュール526、SA発見モジュール527、およびセマンティックマップ更新モジュール528を含むことが可能である。これらのサブ回路またはモジュールに対応して、図6は、セマンティックマップを生成および管理する例示的なプロセス600を示しており、それは、セマンティックマップ管理回路522のさまざまなサブ回路またはモジュールの中に実装され、それによって実行され得る。図6に示されているように、プロセス600は、セマンティックマップ生成器523に対応するセマンティックマップ生成プロセス610と、SA転送モジュール524に対応するセマンティックマップ転送プロセス620と、SAコンフリクト検出器525およびコンフリクト解消器モジュール526に対応するセマンティックコンフリクト検出および解消プロセス630と、SA発見モジュール527に対応するセマンティック発見プロセス640と、セマンティックマップ更新モジュール528に対応するセマンティックマップ更新プロセス650とを含む。セマンティックマップ管理回路522のサブ回路またはモジュールのさまざまな例、および、図6に示されているようなそれらの対応するプロセスは、以下の通りに説明される。
セマンティックマップ生成の例
セマンティックマップ生成器523は、占有マップ(図6に示されているように、「M」によって示されている)およびセマンティックアノテーション(図6に示されているように、「SA」によって示されている)を使用して、セマンティックマップを生成することが可能である。セマンティックアノテーションは、他の物体または物体間の特質のなかでも、環境の中の物体の場所、アイデンティティ、もしくは状態についての情報、または、物体間の空間的関係の制約を含むことが可能である。一例では、セマンティックマップ生成器523は、センサデータ(たとえば、イメージデータまたは赤外線センサデータなど)を使用して、物体を検出し、分類し、または識別し、物体の状態または他の特質を決定するために、SLAM技法を用いることが可能である。たとえば、センサデータからセマンティックスを推論するための幾何学形状アルゴリズム、ヒューリスティック、または機械学習アルゴリズムなど、特徴抽出および物体識別のための他の技法が使用され得る。たとえば、セマンティックマップ生成器523は、イメージ検出または分類アルゴリズムを適用し、特定のタイプの物体を認識するか、または、物体のイメージを分析し、物体の状態を決定することが可能である。たとえば、ドアが検出される場合には、開いているかまたは閉じているか、ロックされているかまたはロックされていないかというその状態も決定され得る。分類された物体、それらの状態、場所などを説明する情報は、セマンティックアノテーション(図6の「SA」)としてセマンティックマップの中に含まれ得る。そのようなアルゴリズムベースのSA生成プロセスは、図6の中のセマンティックマップ生成プロセス610の中の「A」によって示されている。
セマンティックマップの例が、図9に示されている。セマンティックマップ900が、占有マップ800に基づいて生成され得る。セマンティックマップ900は、壁、仕切り、ならびに、壁および/または仕切りによって分離されている部屋(1、2、5、7、8、および11としてラベル付けされている)のセマンティックアノテーションを含む。セマンティックアノテーション(たとえば、壁910、仕切り920、部屋930、および散乱物940など)は、SLAM技法を使用してアルゴリズム的に生成され得る。たとえば、占有マップから壁910を認識するために、セマンティックマップ生成器523は、ノイズ除去モジュールを含み、占有マップからノイズを除去または減衰させ、それからイメージ特徴を抽出し、他の特質のなかでも、壁の場所、サイズ、寸法、形状、状態を推定することが可能である。壁910に関するセマンティックアノテーションは、壁が占有マップの中の障害物に関連付けられるという制約を含むことが可能である。
仕切り920は、家のセクションを分離する。セクションは、家の中の物理的な部屋であるか、または、1つのミッションにおいてモバイルロボットが横断する接続されたスペース(たとえば、クリーニングロボットにとって1つのユニットとしてクリーニングされる必要があるフロアエリア)であることが可能である。一例では、セマンティックマップ生成器523は、仕切り920の場所、サイズ、寸法、形状、状態を推定することが可能である。たとえば、仕切り920は、ドアを含むことが可能であり、それは、ドアの特質および状態(たとえば、開いているかまたは閉じているか)を伴う。仕切り920に関するセマンティックアノテーションは、それが占有マップの中の壁または他の仕切りにおいて終了するという制約を含むことが可能である。
部屋930は、壁および/または仕切りによって画定され得、したがって、他のセマンティックスから導出されたセマンティックスの例である。部屋に特有の場所、サイズ、寸法、形状、状態、または他のセマンティック特質に加えて、部屋セマンティックスは、部屋タイプ(たとえば、キッチン、寝室、オフィス、浴室、共用エリアまたは玄関ホール、収納クローゼット、およびユーティリティルームなど)を含むことも可能である。部屋セマンティックスは、その境界が壁および仕切りに連結されているという制約を含むことが可能である。マップの中のすべての仕切りおよび壁を処理することによって、家は、部屋へと自動的に分離される。モバイルロボットが仕切りに沿って横断するときに、および、すべての接続されている壁セグメントを連続して辿るときに、セマンティックマップ生成器523は、壁および仕切りについての空間的なおよび幾何学的な情報を使用して、部屋930の周囲を自動的に決定することが可能である。一例では、部屋930は、壁および/または仕切りによって画定される辺を有する多角形として表され得る。部屋セマンティックスは、結果として生じるセマンティックマップが直感的な家の間取り図として可視化されることを可能にし、より効率的な部屋ごとのミッション(たとえば、クリーニングまたは監視)を可能にする。また、部屋セマンティックスは、モバイルロボットによるより直感的なユーザエクスペリエンスの利益を有している。たとえば、モバイルロボットは、ユーザのコマンド「キッチンをクリーニングせよ」を解釈し、キッチンのセマンティックアノテーションを使用して、それにしたがって行動することが可能である。
散乱物940は、壁の隣にまたは部屋の内部に設置されている小さな物体を表す。散乱物を識別して表示することができる能力を有することは、ユーザエクスペリエンスを改善し、モバイルロボットのためのより効率的な経路計画およびナビゲーションをもたらすことが可能である。一例では、セマンティックマップ生成器523は、散乱物940の場所、サイズ、寸法、形状、または状態を自動的に推定することが可能である。たとえば、カウチまたはテーブルの設置面積は、セマンティックマップの中のリビングルームを位置付けするのを助けることが可能である。一例では、セマンティックマップ生成器523は、ディープラーニングアルゴリズムを使用し、センサデータ(たとえば、イメージ)から散乱物を検出および認識することが可能である。ディープラーニングアルゴリズムの例は、散乱物を表すものまたは表さないものとしてイメージの上の特徴(たとえば、ピクセルまたはピクセルのグループ)を分類するように訓練された畳み込みニューラルネットワーク(CNN: Convolutional Neural Networks)を含む。CNNアルゴリズムは、その後にヒューリスティックが続くことが可能であり、ヒューリスティックは、すべての接続されたピクセルから情報を集約し、散乱物としてまたは散乱物でないとしてそれらのラベルを決定する。壁に取り付けられている散乱物物体を区別することによって、家の中の真の壁のより正確な推定が実現され得る。一例では、散乱物940は、可視化を助けるために他のセマンティック物体(たとえば、壁または仕切りなど)とは異なって、グラフィカルにまたはテキストで、マップの中に注記され得る。散乱物940に関するセマンティックアノテーションは、散乱物940が占有マップの中の障害物に関連付けられるという制約を含むことが可能である。
下記のTable 1(表1)は、例としておよび限定ではなく、上記に議論されているような壁910、仕切り920、部屋930、および散乱物940などのようなセマンティックスを含む、さまざまなセマンティックス、対応する制約、および、それらの制約のための動機を示している。
Figure 2023509231000002
いくつかの例において、少なくともいくつかのセマンティックアノテーションが、ユーザインターフェース540(図6に示されているように「U」によって示されている)を介してユーザによって追加され得る。他の物体特質および制約のなかでも、識別、属性、状態は、ユーザによってセマンティックマップに手動で追加され得る。一例では、ユーザインターフェース540は、モバイルロボットと通信するように構成されているモバイルデバイス404の中に含まれ得、コントローラ回路520は、モバイルロボットの中に少なくとも部分的に実装されている。ユーザインターフェースは、ディスプレイユニット544を介して、および、ユーザ制御の下で、セマンティックマップ生成器523によって生成されるセマンティックマップを表示するように構成され得る。随意的に、占有マップが表示され得る。ユーザインターフェースは、ユーザ入力542を介して、1つまたは複数のセマンティックアノテーションを追加するか、除去するか、または、その他の方法で修正するためのユーザインストラクションを受信することが可能である。ここで図7Aを参照すると、ユーザインターフェース700A(たとえば、モバイルデバイス404の上にあるものなど)は、ディスプレイユニットを含み、セマンティックマップ712と、制御エレメントを含むメニューバーとを表示することが可能である。ユーザは、制御エレメントを介して、セマンティックマップ712を操作し、さまざまなセマンティックマップ管理動作を実施することが可能であり、制御エレメントは、例としておよび限定ではなく、マップ編集エレメント721、セマンティックスコンフリクト制御エレメント722、セマンティック発見エレメント723、およびマップ更新エレメント724を含む。マップ編集721をクリックする(または、他の手段を介して選択する)ことによって、ユーザは、ツールボックス730にアクセスすることが可能であり、ツールボックス730は、例としておよび限定ではなく、セマンティックマップ712から物体(たとえば、壁、仕切り、部屋、または散乱物)を選択するかまたは選択解除するための選択ツール731と、新しいセマンティックアノテーションを追加するための(たとえば、部屋または壁を描画するための)、または、既存のセマンティックアノテーションを修正するための(たとえば、ドアを広げるための)ペンシルツール732と、物体を除去または修正するための消しゴムツール733と、セマンティックマップの上の異なる場所へ物体を移動/並進させるための移動ツール734と、物体を回転させるための回転ツール735と、選択された物体または新しく追加された物体を注記するためのラベルツール736とを含む。ユーザは、セマンティックマップ712の上のセマンティックアノテーションを追加するか、除去するか、または修正することが可能である。
セマンティック転送の例
ここで図5に戻って参照すると、セマンティックマップ生成器523は、モバイルロボットがミッションを実施するたびに、セマンティックマップを生成することが可能である。たとえば、モバイルロボットが環境において第1のミッションを実施する(たとえば、家の中のフロアをクリーニングする)ときに、センサ回路510は、占有情報を収集し、占有マップ生成器521は、占有マップを生成し、セマンティックマップ生成器523は、第1のセマンティックマップを生成する。第1のセマンティックマップは、ユーザインターフェース540の上に表示され、ユーザによって編集され、メモリ530の中にベースセマンティックマップ532として記憶され得る。ベースセマンティックマップ532がその上に構築された占有マップは、ベース占有マップ(図6の中のM)と称され、それは、モバイルロボットが環境において第1のミッションを実施するときのベース占有情報を含む。ベース占有マップの上のセマンティックアノテーションは、ベースセマンティックアノテーション(図6の中のSA)と称される。モバイルロボットが環境において第1のミッションに続いて第2のミッションを実施するように設定されるとき、第1のミッションに対応するセマンティックアノテーション(それは、記憶されているベースセマンティックマップ532の中に含まれている)は、SA転送モジュール524を介して、ベース(第1の)セマンティックマップから第2のミッションに対応する新しい(第2の)セマンティックマップへ転送され得る。結果として生じる転送されたセマンティックアノテーション(図6に示されているように、SA’によって示されている)は、十分に確認され、第2のミッションにおける再使用のために(たとえば、モバイルロボットの経路計画またはナビゲーション制御などのために)利用可能にされ得る。
モバイルロボットは、ミッションごとに異なって、環境およびその中の物体をセンシングすることが可能である。これは、環境の変化(たとえば、物体が持ち去られるかまたは異なる場所へ移動されること、状態の変化(たとえば、以前に開いていたドアが今では閉められているということなど))に起因する可能性があり、または、モバイルロボットのアルゴリズム的に生成された物体の表現における不確実性(たとえば、センシング誤差、占有エリアもしくは自由エリアの形状のサイズの誤認識、または、物体の誤識別もしくは誤分類)に起因する可能性がある。結果として、物体の占有情報および/またはセマンティック情報は、ミッションごとに異なる可能性がある。たとえば、図10は、図8の占有マップ800に示されているものと同じスペースの占有マップ1000を示している。占有マップ800は、第1のミッションに対応しており、占有マップ1000は、後の第2のミッションに対応している。占有マップ800の中の以前に接続されていた障害物は、移動された物体またはセンシング誤差のいずれかに起因して、切り離された障害物1012および1014として示されている。占有マップ800の中の以前に開いていた経路は、閉じられた経路1016として示されており、それは、物体の状態の変化(たとえば、以前に開いていたドアが今では閉められている)に起因する可能性がある。
一例では、SA転送モジュール524は、セマンティックスの空間的なコンポーネントの運動をトラッキングすることによって、セマンティックアノテーションを転送することが可能である。たとえば、ベースセマンティックマップ532のベースセマンティックアノテーションを転送するために、SLAMシステムは、環境の中の物体の運動をトラッキングすることが可能である。第2のミッションに関して、ベースセマンティックマップ532のセマンティックアノテーション(たとえば、部屋、仕切り、および壁の場所など)が、SLAMシステムに送達され得る。モバイルロボットがその第2のミッションにおいて環境を動き回るときに、SLAMシステムは、ロボット場所を更新し、部屋および仕切りの場所を検出およびトラッキングすることが可能である。第2のミッションの終わりにおいて、SLAMシステムは、部屋および仕切りに関して運動推定値を戻すことが可能である。しかし、これらの運動推定値からのいくつかのセマンティック情報は、欠落しているかまたは変更されている可能性がある。たとえば、部屋または壁の形状は、第1のミッションと第2のミッションとの間の環境変化(たとえば、壁からの散乱物物体の除去および追加、ドアの開閉、または、大きな家具の移動)に起因して変更されている可能性がある。
セマンティック転送に関する1つの要件は、あるロボットミッションから別のロボットミッションへのマップ転送の後に、セマンティックアノテーション間の相互制約を保つことである(たとえば、各ミッションの後に部屋が壁と緊密に連結されていることを保証するために)。部屋および仕切り形状の転送精度を改善するために、一例では、SLAMシステムは、第2のミッションに関して生成された占有マップから新しい壁を推定し、(記憶されているベースセマンティックマップからの)以前にトラッキングされた仕切り端点を推定された新しい壁に関連付け(たとえば、仕切り端点を最も近い新しい壁へ移動させることなどによって)、新しい仕切り端点を取得し、新しい端点を備えた新しい壁および仕切りから部屋形状を再構築することが可能である。仕切り端点の関連付けおよび部屋の再構築は、トラッキングされた部屋形状および新しいマップの中の仕切りおよび壁における誤差を最小化するかまたは低減させ、それによって、1つのミッションから別のミッションへ部屋および仕切りの形状を転送する精度を改善することが可能である。
上記に議論されているトラッキングされた部屋形状は、他のセマンティックス(たとえば、壁および散乱物など)の転送精度を改善するためにも使用され、それによって、これらのセマンティックスをロボットミッションにわたって一貫して維持することが可能である。一例では、壁または散乱物の転送は、第2のミッションに対応する第2の占有マップ(図6のセマンティックマップ転送プロセス620の中のM’によって示されている)から検出される障害物を、壁または散乱物として分類するプロセスを含む。一例では、トラッキングされた部屋境界に対して閾値距離の中にある第2の占有マップにおける障害物は、壁障害物として分類され得る。一例では、以前にトラッキングされた部屋境界の内部に存在する障害物は、散乱物障害物として分類され得る。次いで、壁は、障害物の壁または散乱物の分類に基づいて、第2の占有マップから推定され得る。そうであるので、壁および散乱物は、より少ない誤差を伴って転送され、ベースセマンティックマップと第2のセマンティックマップとの間で一貫したままであることが可能である。
セマンティックコンフリクト検出および解消の例
第1のミッションに対応するベースセマンティックマップから、後続の第2のミッションに対応する新しい(第2の)セマンティックマップへのセマンティックアノテーションの転送は、ときには、セマンティック制約に違反する欠落したセマンティックスまたは無効なセマンティックスを結果として生じさせる可能性がある。図11、図12A~図12B、および図13A~図13Bは、セマンティックスの不成功の転送の例を示している。図11は、第2のミッションに対応するセマンティックマップを示しており、それは、図9に示されているような第1のセマンティックマップ900から転送されたセマンティックアノテーションを使用して生成される。セマンティックマップ900と比較して、いくつかのセマンティックアノテーションは、転送の後に欠落しているかまたは変更されており、それは、(セマンティックマップ900の上の)以前にラベル付けされた部屋5と部屋2との間の壊れた壁1110と、以前にラベル付けされた部屋8と部屋2との間の壊れた壁1120と、以前にラベル付けされた部屋11と部屋1との間の壊れた壁1130と、以前にラベル付けされた部屋1と部屋8との間の欠落している仕切り(たとえば、ドア)1140と、以前にラベル付けされた部屋11と部屋1との間の歪んだ(より長い)仕切り(たとえば、ドア)1150と、散乱物940の誤った認識およびアノテーションである障害物1160とを含む。壊れた壁1110および1120に起因して、以前にラベル付けされた部屋5、2、および8は、新しいセマンティックマップの上で新しい部屋2として注記される1つの分割されていない領域として接続されて組み合わせられる。同様に、壊れた壁1130は、以前にラベル付けされた部屋11および1が、新しいセマンティックマップの上で部屋1として注記される1つの分割されていない領域へと接続されて組み合わせられるということを結果として生じさせる。
図12Aは、モバイルロボットの第1のミッションに対応するベースセマンティックマップ1210の例である。ベースセマンティックマップ1210は、部屋1、13、11、14、9、および12として数値的にラベル付けされている、壁、仕切り、および部屋のセマンティックアノテーションを含む。図12Bは、ベースセマンティックマップ1210から転送された新しいセマンティックマップ1220を示している。いくつかのセマンティックアノテーションは、転送の後に欠落しているかまたは変更されており、それは、以前にラベル付けされた部屋9と部屋14との間の異なる仕切り(たとえば、ドア)の配向1221、以前にラベル付けされた部屋12と部屋14との間の異なる仕切り(たとえば、ドア)の配向1222、および、短くなった壁1223を含む。短くなった壁1223は、壁の一部を散乱物として誤認識することから結果として生じる可能性があり、それは、新しいセマンティックマップ1220の中に含まれていない。仕切りの配向1221および1222は、近隣の部屋14の形状を変化させる。追加的に、新しい仕切りの配向1221および1222および短くなった壁1223に起因して、以前の別個の部屋9および12は、新しいセマンティックマップの中で新しい部屋15として注記される1つの組み合わせられた領域へと接続される。以前にラベル付けされた部屋9および12は、新しいマップ1220から欠落している。
図13Aは、モバイルロボットの第1のミッションに対応するベースセマンティックマップ1310の別の例である。ベースセマンティックマップ1310は、部屋1、2、および3として数値的にラベル付けされている壁および仕切りによって画定された壁、仕切り、および部屋のセマンティックアノテーションを含む。図13Bは、ベースセマンティックマップ1310から転送されたセマンティックマップ1320を示している。セマンティックマップ1320は、以前にラベル付けされた部屋1と部屋3との間の仕切りとは異なって配向された仕切り1321のセマンティックアノテーションを含む。結果として、以前にラベル付けされた部屋3の一部分は、部屋1に接続されて組み合わせられ、新しいセマンティックマップの上で新しい部屋1として注記される。したがって、新しいセマンティックマップの中の部屋3は、以前にラベル付けされた部屋3とは異なる形状を有している。
上記に議論されているような転送誤差または環境の変化などに起因する、欠落しているかまたは変更されたセマンティックスは、以前のセマンティックマップ(たとえば、メモリの中に記憶されているベースセマンティックマップ)と転送されたセマンティックマップとの間に、セマンティックアノテーションのコンフリクト(「SAコンフリクト」)を結果として生じさせる可能性がある。図5に戻って参照すると、SAコンフリクトは、SAコンフリクト検出器525によって自動的に検出され得、それは、図6のコンフリクト検出および解消プロセス630に対応している。一例では、SAコンフリクト検出器525は、転送されたセマンティックマップと記憶されているベースセマンティックマップとの間の適合率および再現率尺度(PRM: precision and recall measure)に基づいて、コンフリクトの存在または非存在を決定することが可能である。PRMは、取得されたインスタンスの関連性を特徴付ける統計的メトリック(または、メトリックのセット)である。適合率(陽性適中率とも呼ばれる)は、取得されたインスタンスのうちの関連のインスタンスの割合であり、または、陽性に推測された総ケース(TPおよび偽陽性推測またはFPの総計)に対する真に陽性の(TP)インスタンスの比率である。再現率(感度としても知られる)は、実際に取得された関連のインスタンスの総量の割合であり、または、合計の実際の陽性のインスタンス(TPおよび偽陰性推測またはFNの総計)に対するTPインスタンスの比率である。一例では、PRMは、適合率および再現率を組み合わせる複合メトリックによって表され得る(たとえば、適合率および再現率の調和平均として計算されるF1スコアなど)。SAコンフリクト検出器525は、PRMが特定の条件を満たす場合には(たとえば、適合率および再現率がそれぞれの閾値を下回るときなど)、コンフリクトが存在するということを決定することが可能である。たとえば、図12Bにおいて、転送の後に、以前にラベル付けされた部屋9は、転送されたマップ1220から欠落しており、したがって、部屋9は、ゼロ再現率を有している。図13Bにおいて、以前にラベル付けされたすべての部屋が転送されたマップ1320の中に存在するにもかかわらず、部屋3は、転送されたマップ1320において十分に再現されない。再現率が所定の閾値を下回る場合には、SAコンフリクト検出器525は、コンフリクトが存在するということを決定することが可能である。
セマンティックコンフリクトが存在すると決定される場合には、SAコンフリクト解消器526は、ロボット占有マップを変更されない状態に維持しながら、コンフリクトを解消し、欠落しているセマンティックスを回復させ、または、変更されたセマンティックスを訂正することが可能である。コンフリクトの性質に応じて、異なるメタ情報が識別され、セマンティックマップの中へ組み込まれ、コンフリクトを解消することが可能である。メタ情報は、図6に示されているように、マップメタ(Map Meta)652の別個の層として記憶され得る。一例では、コンフリクトは、切り離された壁(たとえば、図11の中の壊れた壁1110、1120、または1130)によって表されている。切り離された壁および仕切りは、新しいセマンティックマップの上での新しい部屋の正しい再構築を妨げることとなる。SAコンフリクト解消器526(図6のコンフリクト検出および解消プロセス630に対応する)は、第2の占有マップとベース占有マップとの間の差分占有マップを生成することが可能であり、検出されたセマンティックコンフリクトに隣接する領域を新しいセマンティックマップから識別することが可能である。次いで、識別された領域に対応する差分占有マップの一部分は、候補占有マップに追加されて戻され得る。
差分占有マップに基づいてコンフリクトをアルゴリズム的に解消する例(図6のコンフリクト検出および解消プロセス630の中の「A」によって示されている)は、図14A~図16Cに示されている。図14Aは、壁、仕切り、ならびに、壁および仕切りによって画定されている部屋のセマンティックアノテーションを含むベースセマンティックマップ1410を示している。図14Bは、転送の後のセマンティックマップ1420を示しており、それは、切り離されている以前にラベル付けされた部屋1と部屋6との間の壊れた壁1421のセマンティックアノテーションを含み、それは、部屋1および6が新しい部屋6として注記される1つの部屋へと接続されて組み合わせられることを結果として生じさせる。また、切り離された壁は、転送の前および後に、対応する占有マップの上にも反映される。図15Aは、ベースセマンティックマップ1410に対応するベース占有マップ1510を示しており、図15Bは、転送の後のセマンティックマップ1420に対応する新しい占有マップ1520を示している。占有マップ800と同様に、占有マップ1510および1520は、モバイルロボットが障害なしに横断することができる自由エリア1511と、モバイルロボットによってセンシングされた壁または物体などのような占有されたエリア1513と、探査されていないエリア1512とをそれぞれ含み、探査されていないエリア1512では、モバイルロボットが立ち入っていないかまたは占有マップに記録されていない。占有マップ1520の中の切り離されたセグメント1521は、壊れた壁1421に対応している。SAコンフリクト解消器526は、ベース占有マップ1510と新しい第2の占有マップ1520との間の差分マップを生成することが可能である。図16Aに示されているように、結果として生じる差分マップ1610は、占有マップ1510と占有マップ1520との間の壁の差分を示している。SAコンフリクト解消器526は、差分マップ1610を処理し、それらのセクション1611を抽出することが可能であり、セクション1611は、ベース占有マップ1510の上でコンフリクトに隣接する壁(たとえば、本例における部屋1および6)を表すが、新しい第2の占有マップ1520では壁ではない。一例では、抽出された壁セクション1611は、その周りの部屋または物体の場所情報を使用して自動的に局所化され得る。代替的に、抽出された壁セクション1611は、ユーザインターフェース540を介してユーザによって識別され得る。SAコンフリクト解消器526は、抽出された壁セクション1611を候補占有マップ1520に戻って追加することが可能であり、図16Bに示されているように、修正された占有マップ1620を結果として生じさせる。修正された占有マップ1620の上で壁推定およびセマンティック転送を実施することは、図16Cに示されているように、再構築されたセマンティックマップ1630を結果として生じさせる。再構築されたセマンティックマップ1630は、接続された壁セクション1631を正しく示しており、ベースセマンティックマップ1410に対して高い適合率および再現率尺度を有している。
いくつかの例において、再構築されたセマンティックマップと記憶されているベースセマンティックマップとの間にセマンティックコンフリクトが存在する場合には、SAコンフリクト解消器526は、再構築されたセマンティックマップ(たとえば、再構築されたセマンティックマップ1630など)を拒絶することが可能である。
いくつかの例において、セマンティック転送は、新しい(第2の)セマンティックマップの中に追加的な壁を導入することが可能である。たとえば、ベースセマンティックマップにおいてどことなく切り離されていた2つの壁セクションは、新しいセマンティックマップにおいて接続されているように見える。これは、図16A~図16Cを参照して上記に議論されている切り離された壁の例とは逆の問題である。SAコンフリクト解消器526は、同様に、ベース占有マップと候補占有マップとの間に(たとえば、トラッキングされた部屋境界の中の自由スペースと新しい壁の中の自由スペースとの間のイメージの間に)差分マップを生成することが可能である。この差分マップからの接続されたコンポーネントは、ベース占有マップでは自由スペースであるが候補占有マップでは壁であるセクションを表す。SAコンフリクト解消器526は、これらの自由セクションを第2の占有マップに追加して戻し、壁間のオリジナルの切り離しを保存することが可能である。
セマンティックコンフリクト検出および/または解消は、追加的にまたは代替的に、ユーザインターフェース540を介してユーザ(図6のコンフリクト検出および解消プロセス630の中の「U」によって示されている)によって少なくとも部分的に手動で実施され得る。図7Bは、図7Aに示されているものと同様のユーザインターフェース700Bを示している。セマンティックスコンフリクト制御722をクリックすることによって、ツールボックス740が表示され、ユーザによってアクセス可能であり、セマンティックマップと相互作用することが可能である。例としておよび限定ではなく、ツールボックス740は、新しい(第2の)セマンティックマップと記憶されているベース(第1の)セマンティックマップとの間で切り替えるためのマップ選択ツール741および742と、ベースセマンティックマップおよび第2のセマンティックマップをオーバーレイ表示するためのオーバーレイ表示ツール743と、表示されているマップの選択された領域を拡大または縮小するためのズームツール744とを含むことが可能である。オーバーレイ表示ツール743およびズームツール744は、ユーザがベースセマンティックマップおよび新しいセマンティックマップを可視化して比較すること、ならびに、それらの間のコンフリクト(たとえば、欠落しているかまたは変更されたセマンティックス)を認識することを可能にする。マップ編集721をクリックすることによって、ユーザは、図7Aに示されているように、マップ修正ツール730にアクセスし、たとえば、壊れた壁を接続すること、ドアを移動または回転させること、新しいドアを描くこと、散乱物を消すこと、仕切りを(描くことによって)延長することまたは(消すことによって)短くすることなどによって、コンフリクトをマークし、コンフリクトを解消することが可能である。代替的にまたは追加的に、ユーザは、自動実行ツール745をクリックし、システム500のSAコンフリクト検出器525およびSAコンフリクト解消器526を参照して上記に議論されているように、自動的なセマンティックコンフリクト検出および解消を実行することが可能である。検出されたコンフリクトは、欠落しているもしくは変更されたセマンティックアノテーション(たとえば、図11に示されているように)、および/または、訂正されたセマンティックアノテーションを備えた再構築されたセマンティックマップ(たとえば、図16Cに示されているように)などのような解消されたコンフリクトを含み、検出されたコンフリクトは、セマンティックマップ714の上に表示され得る。ダイアログボックスは、たとえば、セマンティックコンフリクトを容認するかもしくは拒絶するか、または、コンフリクトが解消された状態の(自動的にもしくは手動で)再構築されたセマンティックマップを容認するかもしくは拒絶するかなど、入力をユーザに促すために表示され得る。いくつかの例において、異なるアプローチを使用してコンフリクトが解消された状態の複数の自動的に再構築されたマップが、ユーザに提示され得る。次いで、ユーザは、将来のロボットミッションにおいて使用するための1つのマップを選択することが可能である。
セマンティック発見の例
SA発見モジュール527は、セマンティックマップから新規のセマンティックスを検出するように構成され得る。新規のセマンティックスは、環境の中の以前に探査されていないまたは記録されていない物体を表しており、それは、記憶されているベースセマンティックマップに存在していない。SA発見モジュール527は、トリガ条件が満たされることに応答して、新規のセマンティック物体を検出することが可能である。一例では、新しい(第2の)セマンティックマップの上のセマンティックに注記された領域のサイズが、記憶されているベース(第1の)セマンティックマップの上の対応するセマンティックに注記された領域のサイズを閾値だけ超える場合には、新しい領域(たとえば、部屋)の発見がトリガされ得る。新規のセマンティック物体のための補足的なセマンティックアノテーションは、補足的なセマンティックアノテーションが第2のセマンティックマップの上の他のセマンティックアノテーションに関する制約を満たす場合には、第2のセマンティックマップに追加され得る。図17Aは、第1のミッションに対応する記憶されているベースセマンティックマップ1710を示しており、それは、壁、仕切り、および部屋のセマンティックアノテーションを含み、部屋は、壁および仕切りによって画定されており、部屋1、2、および3として数値的にラベル付けされている。図17Bは、新しい第2のミッションに対応する新しいセマンティックマップ1720を示している。以前の部屋は正しく転送されているが、家の新たに探査されたセクション1721が発見される。新しいセクション1721は、部屋4としてラベル付けされた新しい部屋として識別される。それがマップ1720の上の他のセマンティックアノテーションに関する制約を満たす場合には、新しい部屋4は、新しいセマンティックマップ1720の中へ受け入れられ得る。代替的に、ユーザは、新しいセマンティックスを容認するか、拒絶するか、追加するか、または修正することが可能である。
一例では、新規のセマンティックスは、1つまたは複数のセパレータを含むことが可能であり、1つまたは複数のセパレータは、新しい(第2の)セマンティックマップに追加され、ベースセマンティックマップと新しいセマンティックマップとの間のコンフリクトを解消する。ここで図18A~図18Cを参照すると、図18Aに示されているようなベースセマンティックマップ1810は、壁、仕切り、および部屋のセマンティックアノテーションを含み、部屋は、部屋1、2、3、5、および6として数値的にラベル付けされている。新しいミッションにおいて、モバイルロボットは、図18Bに示されているように、以前にラベル付けされた部屋1と部屋3との間に、および、以前にラベル付けされた部屋3と部屋6との間に、接続スペース1820を探査して見出した。接続スペース1820は、家の中の以前に切り離された部屋を接続する新しい通路に起因する可能性がある。接続スペース1820は、以前にラベル付けされた部屋1、3、および6をカバーする新しい組み合わされた部屋の認識を結果として生じさせる。
接続スペース1820は、以前に探査されていないまたはベースセマンティックマップの中に記録されていない新規のスペースである。新しい接続スペース1820は、モバイルロボットにとって曖昧さを引き起こす可能性がある。たとえば、組み合わされた部屋に対して以前のセマンティックラベル(たとえば、1、3、または6)のうちのどれを使用するか、または、失われた部屋をどのように回復させるかについて、モバイルロボットは、自分自身で推論することができない。このコンフリクトを解消するために、SA発見モジュール527は、図18Bの新しいセマンティックマップの中に追加的なセパレータを自動的に設置し、失われた部屋を回復させることが可能である。そのような追加的なセパレータは、壁または仕切りとは異なっていることが可能である。新しいセマンティックマップにおいてどの部屋が失われたかを決定することによって、および、失われた部屋のトラッキングされた境界セグメントを追加して戻すことによって、追加的なセパレータが設置され得る。図18Cに示されているように、以前にラベル付けされた部屋1、3、および6は失われた。失われた部屋1のトラッキングされた境界セグメント1831は、部屋1を効果的に回復させるために追加されて戻された。同様に、失われた部屋3のトラッキングされた境界セグメント1832は、部屋3を効果的に回復させるために追加されて戻され、失われた部屋6のトラッキングされた境界セグメント1833は、部屋6を効果的に回復させるために追加されて戻される。境界セグメント1831、1832、および1833の追加は、回復された部屋1、3、および6を接続スペース1820から分離する。接続スペース1820に対応する新しい部屋11は、セマンティックマップの上に識別および注記され得る。
上記に議論されているように、新しい部屋または追加的なセパレータなどのような新規のセマンティックスをアルゴリズム的に発見すること(図6のセマンティック発見プロセス640の中の「A」によって示されている)に加えてまたはその代わりに、セマンティック発見は、ユーザインターフェース540を介してユーザによって少なくとも部分的に手動で実施され得る(図6のセマンティック発見プロセス640の中の「U」によって示されている)。図7Cは、図7Aに示されているものと同様のユーザインターフェース700Cを示している。セマンティック発見723オプションをクリックすることによって、ユーザは、ツールボックス740にアクセスし、セマンティックマップと相互作用することが可能である。図7Bを参照して上記に議論されているように、オーバーレイ表示ツール743およびズームツール744は、ユーザがマップを可視化して比較すること、および、ベースセマンティックマップにおいて以前に探査されていないまたは記録されていない任意の新規の領域(たとえば、図18Bに示されているように、接続スペース1820など)を認識することを可能にする。次いで、ユーザは、マップ編集721をクリックし、マップ修正ツール740にアクセスし、たとえば、他の動作のなかでも、新たに発見された領域をマークすること、新しい部屋(たとえば、図17Bの新しい部屋1721)または新しい物体(たとえば、追加的なセパレータ(たとえば、図18Cの新しい境界1831、1832、および1833)など)を描くおよび注記すること、既存のセマンティック物体を除去するかもしくは修正すること、または、ロボットが探査するための方向または場所を示し、対応するセマンティックアノテーションをマップの上に追加することなどによって、新しいセマンティックスの発見をガイドすることが可能である。追加的にまたは代替的に、ユーザは、システム500のSA発見モジュール527を参照して上記に議論されているように、自動実行ツール745をクリックし、自動的なセマンティック発見を実行することが可能である。発見結果および新しいセマンティックアノテーションは、再構築されたマップ716の上に表示され得る。ダイアログボックスは、たとえば、図7Cに示されているように、セマンティックマップに追加されることとなる新規のセマンティックスを容認するかまたは拒絶するかなど、入力をユーザに促すために表示され得る。いくつかの例において、複数の自動的に再構築されたマップがユーザに提供され得る。再構築されたマップは、たとえば、異なる部屋形状、異なるセパレータ特質、または、新たに発見された領域を他の部屋から分離するためのセパレータの異なる組合せなど、発見された新規のセマンティックスのためのそれぞれの補足的なアノテーションを含む。次いで、ユーザは、将来のロボットミッションにおいて使用するための1つのマップを選択することが可能である。
セマンティックマップ更新の例
セマンティックマップ更新モジュール528は、新しいセマンティックマップと記憶されているベースセマンティックマップとの間の比較に基づいて、ベースセマンティックマップを更新することが可能である。セマンティックマップ更新は、候補セマンティックアノテーションのなかでも、有効性基準および相互制約を満たす候補セマンティックアノテーション(図6に示されているように、「SA」によって示されている)によってトリガされ得る。一例では、セマンティック転送、コンフリクト検出および解消、ならびにセマンティック発見の終わりにおいて、新しいセマンティックマップ(たとえば、SAコンフリクト検出器525およびSAコンフリクト解消器526によってコンフリクトが解消された状態のマップ、ならびに、SA発見モジュール527によって発見されてセマンティックマップに追加された新しいセマンティックス)の上でのセマンティックアノテーションの有効性および制約チェックが行われる。新しいセマンティックマップが有効性および制約チェックを通過する場合には、それは、ベースセマンティックマップを交換し、新しいベースセマンティックマップとしてメモリ530の中に記憶され得る。ナビゲーションコントローラ529は、新しいベースセマンティックマップにしたがって、経路を計画し、または、将来のロボットミッションにおいてモバイルロボットをナビゲートすることが可能である。新しいセマンティックマップが有効性および制約チェックを通過しない場合には、オリジナルのベースセマンティックマップが有効なままである。ナビゲーションコントローラ529は、記憶されているベースセマンティックマップを使用して、経路を計画し、または、将来のロボットミッションにおいてモバイルロボットをナビゲートすることが可能である。オリジナルのベースセマンティックマップを保存することは、ロボットが後続のミッションを実施するときに、いくつかのセマンティック情報が欠落している可能性があるとしても、セマンティック一貫性を維持する。
ベースセマンティックマップの更新は、追加的にまたは代替的に、ユーザ入力を通して(たとえば、ユーザインターフェース540を介してなど)実施され得る。図7Dは、ユーザインターフェース700Dを示している。マップ更新オプション724をクリックすることによって、ユーザは、ツールボックス740にアクセスし、セマンティックマップと相互作用することが可能である。図7Bを参照して上記に説明されているように、ツールボックス740は、マップ選択ツール741および742、オーバーレイ表示ツール743、ズームツール744、ならびに自動実行ツール745を含むことが可能である。自動的なマップ有効性および制約チェックが、自動実行ツール745をクリックすることによって活性化させられ得る。ダイアログボックスは、オリジナルのベースセマンティックマップを保つことの、または、ベースセマンティックマップを新しい再構築されたセマンティックマップによって交換し、後者を将来の使用のためにメモリの中にセーブするためのインストラクションをユーザに促すために表示され得る。
いくつかの例において、新しいセマンティックマップの有効性をチェックすることは、いくつかのセマンティックアノテーションのための緩和された制約を含む可能性がある。緩和された制約は、新しいセマンティックマップまたはベースセマンティックマップの上のセマンティックスに適用される制約とは異なっていることが可能である。たとえば、セマンティックスコンフリクト解消において、差分マップ1610からの壁セクション1611が、訂正された占有マップ1620に追加され得る。訂正された占有マップは、占有マップのバージョンである。しかし、占有された領域を表す占有マップ1620の上の他の黒いセグメントとは異なり、追加されたセグメント1621は、壁と同様であるように見えるが、占有された領域が現実の障害物を表すという要件を満たさない。換言すれば、それらが占有マップの中の障害物に関係するという制約は緩和される。追加的なセパレータは、仕切りのようなものである。しかし、その端点が壁または別のドアの上になければならない仕切りとは異なり、その端点は、壁またはドアまたは別のセパレータの上に存在することが可能である。
また、緩和された制約は、発見されたおよびセマンティックマップに追加された新規のセマンティックスに適用され得る。たとえば、SA発見モジュールによって発見されるものなど(たとえば、図17Bの新しい部屋1721、または、図18Cの新しい接続スペース/部屋1820ならびに境界1831、1832、および1833)、たとえば、新規のセマンティックスに関して、既存のセマンティックス(それらの制約を伴う)の任意のインスタンスを使用することは、コンフリクトを十分にまたは効果的に解消しない可能性がある。その理由は、既存のセマンティックスに関連付けられる制約が、どのようにおよびどこにセマンティックスが設置されまたは他のセマンティックスと相互作用することができるかということを制限するからである。SA発見モジュール527は、コンフリクトを解消するために、既存のセマンティックスのセットよりも制約の少ないセマンティックスを適用することが可能である。たとえば、図18Cに示されている境界セグメント1831、1832、および1833は、セマンティックマップの上の他の既存のセマンティックスよりも緩和された制約を有することが可能である。(図6に示されているように)マップメタ層652の制約の緩和は、システムの中のフレキシビリティがコンフリクトを解消することおよびオリジナルのセマンティックスの制約を保証することを可能にする。また、緩和された制約を有するセマンティックスを導入することは、ロボット行動の一貫性を改善することが可能である。下記のTable 2(表2)は、例としておよび限定ではなく、さまざまなマップメタ層セマンティックスおよび対応する緩和された制約を示している。
Figure 2023509231000003
セマンティック更新は、特定の頻度で(たとえば、定期的に)、または、特定のスケジュールにしたがって(たとえば、ミッションごとに、Nミッションごとに(N>1、たとえば、5~10ミッションごとに)、毎週、または毎月など)、試みられ得る。追加的にまたは代替的に、セマンティック更新は、ユーザコマンドに応答して試みられ得る。いくつかの例において、セマンティック更新は、複数のセマンティックマップ(それぞれが第1のミッションに続く2つ以上のミッションに対応する)と記憶されているベースセマンティックマップ(第1のミッションに対応する)との間の比較に基づくことが可能である。第1のセマンティックマップからの、複数のセマンティックマップのうちの少なくともいくつかから検出される差分は、セマンティック更新のために使用され得る。いくつかの例において、ロボット占有マップからの特徴抽出および物体識別は、ミッションごとに実施され得、セマンティックマップの更新は、Nミッションごとに(N>1、たとえば、5~10ミッション)もしくは毎週、または、有意な量の変化が占有マップにおいて観察されたということを検出するときに、試みられ得る。
セマンティックマップを生成および管理する方法の例
図19は、環境を動き回るモバイルロボットのためのセマンティックマップを生成および管理する方法の例を示すフローダイアグラム1900である。セマンティックマップは、モバイルロボット(たとえば、環境の中のフロア表面をクリーニングするように構成されているモバイルロボット100など)の将来のナビゲーション行動を計画または制御するために使用され得る。方法1900は、セマンティックマップ管理システム500の中に実装され、セマンティックマップ管理システム500によって実行され得る。
方法1900は、ステップ1910において開始し、ステップ1910では、第1のセマンティックマップ(本明細書において、ベースセマンティックマップとも称される)が、(たとえば、ユーザインターフェース540などを介して)ユーザに提供され得る。第1のセマンティックマップは、環境におけるモバイルロボットの第1のミッション(たとえば、クリーニングロボットのためのクリーニングミッション)に対応している。第1のセマンティックマップは、第1の占有情報および第1のセマンティックアノテーションを含むことが可能である。第1の占有情報は、第1のミッションに対応する、環境の中の自由エリア、占有されたエリア、または、探査されていないエリアのうちの1つまたは複数の場所および幾何学形状を含むことが可能である。一例では、センサデータは、モバイルロボットの中のセンサ回路510を使用して収集され得、第1の占有情報は、SLAM技法を使用してセンサデータから抽出され得る。環境の占有マップ(たとえば、図8に示されているものなど)は、第1の占有情報に基づいて生成され得る。第1のセマンティックアノテーションは、モバイルロボットの第1のミッションに対応する、環境の中の物体の空間的なおよび文脈的な情報を表す。第1のセマンティックアノテーションの例は、他の特質のなかでも、環境の中の物体またはデバイスの場所、アイデンティティ、または状態のアノテーション、物体またはデバイス間の相互制約のアノテーションを含むことが可能である。例としておよび限定ではなく、図9の例示的なセマンティックマップ900は、壁、仕切り、部屋、散乱物、および、環境の中の物体間の相互制約を含むセマンティックアノテーションを示している。
第1のセマンティックマップは、(たとえば、セマンティックマップ生成器523を使用してなど)自動的に生成されるか、または、ユーザ入力を通して生成され得る。一例では、SLAM技法が使用され、物体を検出し、分類し、または識別し、また、センサデータを使用して物体の状態または他の特質を決定することが可能であり、セマンティックマップ生成器523を参照して上記に説明されているように、検出されたおよび分類された物体のセマンティックアノテーションが生成されて第1のセマンティックマップの中に含まれ得る。代替的に、セマンティックアノテーション(物体識別、物体属性、状態、および、物体間の空間的関係の相互制約を含む)は、図7Aを参照して上記に説明されているものなどのように、ユーザインターフェースを介してユーザによって手動で追加または修正され得る。
第1のセマンティックマップは、メモリ(たとえば、メモリ530など)の中に記憶され得る。1920において、新しい第2のセマンティックマップが、(たとえば、ユーザインターフェース540を介してなど)ユーザに提供され得る。モバイルロボットが新しいミッションを実施するように設定されるたびに、新しいセマンティックマップが生成され得る。第2のセマンティックマップは、環境における第1のミッションに続くモバイルロボットの第2のミッションに対応している。第1のセマンティックマップと同様に、第2のセマンティックマップは、第2の占有情報および第2のセマンティックアノテーションを含むことが可能である。一例では、第2のセマンティックアノテーションを生成するために、第1のセマンティックアノテーションが、(たとえば、SA転送モジュール524を介してなど)第1のセマンティックマップから第2のセマンティックマップへ転送され得る。第2のセマンティックアノテーションは、転送されたセマンティックアノテーションに基づいて生成され得る。
1930において、ユーザ入力が、(たとえば、ユーザインターフェースを介してなど)受信され、それぞれのセマンティックマップからの第1のセマンティックアノテーションまたは第2のセマンティックアノテーションを修正することが可能である。図7Aに示されているような例では、さまざまな制御エレメントを通して、ユーザは、セマンティックマップの上のセマンティックアノテーションをインタラクティブに選択するか、選択解除するか、追加するか、削除するか、並進させるか、回転させるか、修正するか、またはラベル付けすることが可能である。一例では、モバイルロボットは、それぞれのセマンティックマップの上の第1のセマンティックアノテーションまたは第2のセマンティックアノテーションを自動的に修正することが可能であり、ユーザは、セマンティックアノテーションのそのような自動的な修正を容認するか、拒絶するか、または修正することが可能である。いくつかの例において、モバイルロボットは、それぞれが第1のセマンティックアノテーションのそれぞれの修正を含む2つ以上の修正された第1のセマンティックマップを自動的に生成することが可能であり、ユーザは、2つ以上の修正された第1のセマンティックマップのうちの1つを選択することが可能である。
セマンティックアノテーションを修正する1つの例は、SAコンフリクト検出器525およびSAコンフリクト解消器526を参照して上記に議論されているように、セマンティックコンフリクト検出および解消である。セマンティックコンフリクトは、第1のセマンティックマップから第2のセマンティックマップへの転送の間に、欠落しているかまたは変更されたセマンティックスを表す。図11、図12A~図12B、図13A~図13B、および図14A~図14Bは、第2のセマンティックアノテーションと第1のセマンティックアノテーションとの間のセマンティックコンフリクトをもたらす不成功の転送のさまざまな例を示している。1930において受信されるユーザ入力は、図15A~図15Bおよび図16A~図16Cを参照して上記に説明されているように、差分マップに基づくコンフリクト解消、および、コンフリクト領域に隣接する差分マップの部分を追加して戻すことによるセマンティックマップ再構築などのような、セマンティックコンフリクトの識別(たとえば、欠落しているかまたは変更された物体)についての情報、または、自動的に検出されたセマンティックコンフリクトに関するユーザのフィードバックを含むことが可能である。いくつかの例において、受信されたユーザ入力は、図7Bを参照して上記に議論されているように、ユーザ識別されたセマンティックコンフリクトまたは自動的に検出されたセマンティックコンフリクトが条件を満たす場合には、ユーザ識別されたセマンティックコンフリクトもしくは自動的に検出されたセマンティックコンフリクトを解消すること、または、第1のセマンティックマップの更新を拒絶するためのインストラクションに向けられ得る。
セマンティックアノテーションを修正する別の例は、SA発見モジュール527を参照して上記に議論されているように、セマンティック発見である。新規のセマンティックスの例は、図17A~図17Bおよび図18A~図18Cを参照して上記に説明されているように、以前に探査されていないまたは記録されていない領域(たとえば、環境の中の新しい部屋など)、ベースセマンティックマップと新しいセマンティックマップとの間のコンフリクトを解消するために新しい(第2の)セマンティックマップに追加される1つまたは複数のセパレータを含むことが可能である。1930において受信されるユーザ入力は、第2のセマンティックマップの上に提示され、記憶されているベースセマンティックマップに存在していない、新規のセマンティック物体の識別のユーザ入力を含むか、または、図7Cを参照して上記に議論されているように、自動的に生成される補足的なセマンティックアノテーションに関するユーザのフィードバック(たとえば、それらの自動的に生成される補足的なセマンティックアノテーションのいずれかを容認すること、拒絶すること、または修正することなど)を含むことが可能である。一例では、モバイルロボットは、発見された新規のセマンティック物体のためのそれぞれの補足的なセマンティックアノテーションをそれぞれ含む2つ以上の修正されたセマンティックマップの選択可能なセットを自動的に生成することが可能である。ユーザは、セマンティックマップの選択可能なセットから1つを選択することが可能である。
1940において、第1のセマンティックマップが、たとえば、セマンティックマップ更新モジュール528を使用するなどして、第2のセマンティックマップと第1のセマンティックマップとの間の比較に基づいて更新され得る。セマンティックマップ更新は、第2のセマンティックアノテーションが有効性基準およびセマンティックアノテーション間の相互制約を満たすことによってトリガされ得る。第2のセマンティックマップが有効性および制約チェックを通過する場合には、それは、ベースセマンティックマップを交換することが可能であり、新しいベースセマンティックマップとしてメモリ530の中に記憶され得る。1950において、経路計画および将来のロボットミッションにおけるロボットナビゲーションが、たとえば、ナビゲーションコントローラ529を使用するなどして、新しいセマンティックマップにしたがって決定され得る。
新しいセマンティックマップが有効性および制約チェックを通過しない場合には、オリジナルのベースセマンティックマップが有効なままである。1950において、経路計画および将来のロボットミッションにおけるロボットナビゲーションが、以前に記憶されている第1のセマンティックマップにしたがって決定され得る。オリジナルのベースセマンティックマップを保存することは、ロボットが後続のミッションを実施するときに、いくつかのセマンティック情報が欠落している可能性があるとしても、セマンティック一貫性を維持する。一例では、セマンティックマップの更新は、ユーザインターフェース540を介したユーザ入力を通して少なくとも部分的に実施され得る(たとえば、図7Dを参照して上記に説明されているように、第1のセマンティックマップを第2のセマンティックマップと交換するための、および、後者を将来のロボットミッションにおける使用のためにメモリの中にセーブするためのユーザインストラクションなど)。
セマンティックマップ管理における機械可読媒体の例
図20は、本明細書で議論されている技法(たとえば、方法論)のうちの任意の1つまたは複数を実施することができる一例示的なマシン2000のブロック図を全体的に示している。この説明の一部分は、モバイルロボット100、モバイルデバイス404、または他のコンピューティングシステム、たとえば、ローカルコンピュータシステムまたはクラウドコンピューティングシステム406などのさまざまな部分のコンピューティングフレームワークに適用することが可能である。
代替的な実施形態では、マシン2000は、スタンドアロンデバイスとして動作することが可能であり、または、他のマシンに接続され得る(たとえば、ネットワーク化される)。ネットワーク化された配備において、マシン2000は、サーバマシンの容量の中で、クライアントマシンの容量の中で、または、両方のサーバ-クライアントネットワーク環境の中で動作することが可能である。一例では、マシン2000は、ピアツーピア(P2P)(または、他の分散型の)ネットワーク環境の中のピアマシンとして作用することが可能である。マシン2000は、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、パーソナルデジタルアシスタント(PDA)、携帯電話、ウェブアプライアンス、ネットワークルータ、スイッチもしくはブリッジ、または、そのマシンによってとられるべきアクションを特定するインストラクション(シーケンシャルまたはその他)を実行することができる任意のマシンであることが可能である。さらに、単一のマシンのみが図示されているが、「マシン」という用語は、また、本明細書で議論されている方法論のうちの任意の1つまたは複数、たとえば、クラウドコンピューティング、ソフトウェアアズアサービス(SaaS)、他のコンピュータクラスタ構成などを実施するためのインストラクションのセット(または、複数のセット)を個別にまたは共同で実行するマシンの任意の収集を含むように解釈されるものとする。
本明細書で説明されているように、例は、ロジックもしくは複数の成分、またはメカニズムを含むことが可能であり、または、それによって動作することが可能である。回路セットは、ハードウェア(たとえば、単純回路、ゲート、ロジックなど)を含む有形エンティティの中に実装された回路の収集である。回路セットメンバーシップは、時間の経過とともに可撓性であることが可能であり、ハードウェア変動性の基礎となっていることが可能である。回路セットは、動作しているときに特定の動作を単独でまたは組み合わせて実施することができる部材を含む。一例では、回路セットのハードウェアは、特定の動作を実施するように不変に設計され得る(たとえば、ハードワイヤード)。一例では、回路セットのハードウェアは、特定の動作のインストラクションをエンコードする物理的に修正されたコンピュータ可読媒体(たとえば、不変質量の粒子の磁気的に、電気的に、移動可能な設置など)を含む、可変的に接続されている物理的なコンポーネント(たとえば、実行ユニット、トランジスタ、単純回路など)を含むことが可能である。物理的なコンポーネントを接続する際に、ハードウェア構成要素の基礎的な電気特性が、たとえば、絶縁体から導体へ変化させられるか、または、同様にその反対に変化させられる。インストラクションは、埋め込まれているハードウェア(たとえば、実行ユニットまたはローディングメカニズム)が可変接続を介してハードウェアの中の回路セットの部材を生成させることを可能にし、動作中のときに特定の動作の一部分を実施する。したがって、コンピュータ可読媒体は、デバイスが動作しているときに、回路セット部材の他のコンポーネントに通信可能に連結されている。一例では、物理的なコンポーネントのうちのいずれかが、2つ以上の回路セットの2つ以上の部材の中に使用され得る。たとえば、動作下において、実行ユニットは、1つの時点において、第1の回路セットの第1の回路の中で使用され、また、異なる時間において、第1の回路セットの中の第2の回路によって、または、第2の回路セットの中の第3の回路によって再使用され得る。
マシン(たとえば、コンピュータシステム)2000は、ハードウェアプロセッサ2002(たとえば、中央処理装置(CPU)、グラフィックスプロセッシングユニット(GPU)、ハードウェアプロセッサコア、または、それらの任意の組合せ)、メインメモリ2004および静的メモリ2006を含むことが可能であり、そのうちのいくつかまたはすべては、インターリンク(たとえば、バス)2008を介して互いに通信することが可能である。マシン2000は、ディスプレイユニット2010(たとえば、ラスタディスプレイ、ベクトルディスプレイ、ホログラフィックディスプレイなど)、英数字入力デバイス2012(たとえば、キーボード)、およびユーザインターフェース(UI)ナビゲーションデバイス2014(たとえば、マウス)をさらに含むことが可能である。一例では、ディスプレイユニット2010、入力デバイス2012、およびUIナビゲーションデバイス2014は、タッチスクリーンディスプレイであることが可能である。マシン2000は、ストレージデバイス(たとえば、ドライブユニット)2016、信号発生デバイス2018(たとえば、スピーカ)、ネットワークインターフェースデバイス2020、および1つまたは複数のセンサ2021、たとえば、全地球測位システム(GPS)センサ、コンパス、加速度計、または他のセンサなどを追加的に含むことが可能である。マシン2000は、出力コントローラ2028、たとえば、シリアル(たとえば、ユニバーサルシリアルバス(USB))、パラレル、または他のワイヤードまたはワイヤレス(たとえば、赤外線(IR)、近距離無線通信(NFC)など)接続などを含むことが可能であり、1つまたは複数の周辺デバイス(たとえば、プリンタ、カードリーダなど)と通信するかまたはそれらを制御することが可能である。
ストレージデバイス2016は、機械可読媒体2022を含むことが可能であり、本明細書で説明されている技法または機能のうちの任意の1つまたは複数を具現化するかまたはそれによって利用される1つまたは複数のセットのデータ構造またはインストラクション2024(たとえば、ソフトウェア)が、機械可読媒体2022の上に記憶される。また、インストラクション2024は、完全にまたは少なくとも部分的に、メインメモリ2004の中に、静的メモリ2006の中に、または、マシン2000によるその実行の間のハードウェアプロセッサ2002の中に存在していることが可能である。一例では、ハードウェアプロセッサ2002、メインメモリ2004、静的メモリ2006、またはストレージデバイス2016のうちの1つまたは任意の組合せは、機械可読媒体を構築することが可能である。
機械可読媒体2022は単一の媒体として図示されているが、「機械可読媒体」という用語は、1つまたは複数のインストラクション2024を記憶するように構成されている単一の媒体または複数の媒体(たとえば、集中型のもしくは分散型のデータベース、ならびに/または、関連のキャッシュおよびサーバ)を含むことが可能である。
「機械可読媒体」という用語は、マシン2000による実行のためのインストラクションを記憶し、エンコードし、もしくは担持することができる任意の媒体、本開示の技法のうちの任意の1つもしくは複数をマシン2000が実施することを引き起こす任意の媒体、または、そのようなインストラクションによって使用されるかもしくはそのようなインストラクションに関連付けられたデータ構造を記憶し、エンコードし、もしくは担持することができる任意の媒体を含むことが可能である。非限定的な機械可読媒体の例は、ソリッドステートメモリ、ならびに、光学的な媒体および磁気的な媒体を含むことが可能である。一例では、マス機械可読媒体(massed machine-readable medium)は、不変の質量(たとえば、静止質量)を有する複数の粒子を備えた機械可読媒体を含む。したがって、マス機械可読媒体は、一時的な伝播信号ではない。マス機械可読媒体の特定の例は、不揮発性のメモリ、たとえば、半導体メモリデバイス(たとえば、電気的にプログラム可能なリードオンリーメモリ(EPROM)、電気的に消去可能なプログラム可能なリードオンリーメモリ(EPSOM))およびフラッシュメモリデバイスなど、磁気ディスク、たとえば、内部ハードディスクおよびリムーバブルディスクなど、光磁気ディスク、ならびに、CD-ROMディスクおよびDVD-ROMディスクを含むことが可能である。
インストラクション2024は、複数の転送プロトコル(たとえば、フレームリレー、インターネットプロトコル(IP)、伝送制御プロトコル(TCP)、ユーザデータグラムプロトコル(UDP)、ハイパーテキスト転送プロトコル(HTTP)など)のうちのいずれか1つを利用するネットワークインターフェースデバイス2020を介して、伝送媒体を使用して、通信ネットワーク2026の上でさらに送信または受信され得る。例示的な通信ネットワークは、なかでも、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、パケットデータネットワーク(たとえば、インターネット)、携帯電話ネットワーク(たとえば、セルラーネットワーク)、Plain Old Telephone(POTS)ネットワーク、ワイヤレスデータネットワーク(たとえば、WiFi(登録商標)として知られている米国電気電子学会(IEEE)802.11の標準のファミリー、WiMax(登録商標)として知られているIEEE802.16の標準のファミリー)、IEEE802.15.4の標準のファミリー、およびピアツーピア(P2P)ネットワークを含むことが可能である。一例では、ネットワークインターフェースデバイス2020は、1つもしくは複数の物理的なジャック(たとえば、イーサネットジャック、同軸ジャック、もしくはフォンジャック)または1つもしくは複数のアンテナを含み、通信ネットワーク2026に接続することが可能である。一例では、ネットワークインターフェースデバイス2020は、複数のアンテナを含み、単一入力複数出力(SIMO)、複数入力複数出力(MIMO)、または複数入力単一出力(MISO)技法のうちの少なくとも1つを使用して、ワイヤレスに通信することが可能である。「伝送媒体」という用語は、マシン2000による実行のためのインストラクションを記憶し、エンコードし、または担持することができる任意の非有体的な媒体を含むものと解釈されるものとし、そのようなソフトウェアの通信を促進させるためのデジタル通信信号もしくはアナログ通信信号または他の非有体的な媒体を含む。
さまざまな実施形態が、上の図に示されている。これらの実施形態のうちの1つまたは複数からの1つまたは複数の特徴は、他の実施形態を形成するために組み合わせられ得る。
本明細書で説明されている方法の例は、少なくとも部分的にマシン実装またはコンピュータ実装され得る。いくつかの例は、上の例に説明されているような方法を実施するための電子的なデバイスまたはシステムを構成するように動作可能なインストラクションによってエンコードされたコンピュータ可読の媒体または機械可読媒体を含むことが可能である。そのような方法の一実装形態は、たとえば、マイクロコード、アッセンブリ言語コード、または、より高レベルの言語コードなどのようなコードを含むことが可能である。そのようなコードは、さまざまな方法を実施するためのコンピュータ可読のインストラクションを含むことが可能である。コードは、コンピュータプログラム製品の一部を形成することが可能である。さらに、コードは、実行の間にまたは他の時間において、1つまたは複数の揮発性のまたは不揮発性のコンピュータ可読の媒体の上に有形に記憶され得る。
上の詳細な説明は、例示目的であることを意図しており、限定的であることを意図していない。したがって、本開示の範囲は、そのような特許請求の範囲が権利を与えられる均等物の全範囲とともに、添付の特許請求の範囲を参照して決定されるべきである。
10 フロア表面
100 モバイルフロアクリーニングロボット
105 デブリ
106 電気回路
108 ハウジングインフラストラクチャ
109 コントローラ回路
110 ドライブシステム
112 ドライブホイール
113 底部部分
114 ドライブホイールモータ、モータ
115 パッシブキャスタホイール、キャスタホイール
116 クリーニングヘッドアッセンブリ
117 クリーニング入口部
118 回転可能な部材
119 バキュームシステム
120 ローラモータ
121 後方部分
122 前方部分
124 デブリビン
126 ブラシ
128 ブラシモータ
134 クリフセンサ
136a 近接センサ
136b 近接センサ
136c 近接センサ
137 光インジケータシステム
138 バンパ
139a バンプセンサ
139b バンプセンサ
140 イメージキャプチャデバイス
141 障害物検知センサ
142 上部部分
143 連続的なループ
144 メモリストレージエレメント、メモリユニット
145 吸引経路
146 水平方向の軸線
147 蓋部
148 水平方向の軸線
150 側部表面
152 側部表面
154 前方表面
156 角部表面
158 角部表面
161 ドライブモータセンサ
162 中心
164 慣性測定ユニット(IMU)
180 光学検出器
182 光学エミッタ
184 光学エミッタ
305 通信システム
306 ビーコン通信モジュール
307 ワイヤレス通信モジュール
310 クリーニングシステム
316 吸引ファンモータ
317 モータセンサ
320 ナビゲーションセンサシステム
324 プロセッサ、視覚センサ
326 入力/出力ユニット
336 近接センサ
339 バンパセンサ
400 プロセス
402 ユーザ
404 モバイルデバイス
406 クラウドコンピューティングシステム
408 ロボット、自律型ロボット
410 通信ネットワーク
430 コントローラ
442 プロセッサ
444 プロセッサ
500 システム
510 センサ回路
520 コントローラ回路
521 占有マップ生成器
522 セマンティックマップ管理回路
523 セマンティックマップ生成器
524 セマンティックアノテーション(SA)転送モジュール
525 SAコンフリクト検出器
526 SAコンフリクト解消器モジュール
527 SA発見モジュール
528 セマンティックマップ更新モジュール
529 ナビゲーションコントローラ
530 メモリ回路、メモリ
532 ベースセマンティックマップ
540 ユーザインターフェース
542 ユーザ入力
544 ディスプレイユニット
600 プロセス
610 セマンティックマップ生成プロセス
620 セマンティックマップ転送プロセス
630 コンフリクト検出および解消プロセス
640 セマンティック発見プロセス
650 セマンティックマップ更新プロセス
652 マップメタ
700A ユーザインターフェース
700B ユーザインターフェース
700C ユーザインターフェース
700D ユーザインターフェース
712 セマンティックマップ
714 セマンティックマップ
716 再構築されたマップ
721 マップ編集エレメント
722 セマンティックスコンフリクト制御エレメント
723 セマンティック発見エレメント
724 マップ更新エレメント
730 ツールボックス
731 選択ツール
732 ペンシルツール
733 消しゴムツール
734 移動ツール
735 回転ツール
736 ラベルツール
740 ツールボックス
741 マップ選択ツール
742 マップ選択ツール
743 オーバーレイ表示ツール
744 ズームツール
745 自動実行ツール
800 占有マップ
810 自由エリア
820 占有されたエリア
830 探査されていないエリア
900 セマンティックマップ
910 壁
920 仕切り
930 部屋
940 散乱物
1000 占有マップ
1012 障害物
1014 障害物
1016 閉じられた経路
1110 壊れた壁
1120 壊れた壁
1130 壊れた壁
1140 欠落している仕切り
1150 より長い仕切り
1160 障害物
1210 ベースセマンティックマップ
1220 新しいセマンティックマップ
1221 仕切りの配向
1222 仕切りの配向
1223 短くなった壁
1310 ベースセマンティックマップ
1320 転送されたセマンティックマップ
1321 配向された仕切り
1410 ベースセマンティックマップ
1420 転送の後のセマンティックマップ
1421 壊れた壁
1510 ベース占有マップ
1511 自由エリア
1512 探査されていないエリア
1513 占有されたエリア
1520 新しい占有マップ
1521 切り離されたセグメント
1610 差分マップ
1611 抽出された壁セクション
1620 修正された占有マップ
1621 追加されたセグメント
1630 再構築されたセマンティックマップ
1631 接続された壁セクション
1710 ベースセマンティックマップ
1720 新しいセマンティックマップ
1721 新しいセクション
1810 ベースセマンティックマップ
1820 接続スペース
1831 境界セグメント
1832 境界セグメント
1833 境界セグメント
2002 ハードウェアプロセッサ
2004 メインメモリ
2006 静的メモリ
2008 インターリンク
2010 ディスプレイユニット
2012 入力デバイス、英数字入力デバイス
2014 UIナビゲーションデバイス
2016 ストレージデバイス
2018 信号発生デバイス
2020 ネットワークインターフェースデバイス
2021 センサ
2022 機械可読媒体
2024 インストラクション
2026 通信ネットワーク
2028 出力コントローラ
L1 全体的な長さ
H1 高さ
D1 水平方向の距離
W1 全体的な幅
LA 横方向の軸線
FA 前後軸線
F 前方ドライブ方向
R 後方ドライブ方向

Claims (20)

  1. モバイルロボットであって、前記モバイルロボットは、
    環境の周りで前記モバイルロボットを移動させるように構成されているドライブシステムと;
    前記環境における占有情報をセンシングするように構成されているセンサ回路と;
    メモリと;
    コントローラ回路であって、前記コントローラ回路は、
    第1の占有情報および第1のセマンティックアノテーションを使用して、前記環境における前記モバイルロボットの第1のミッションに対応する第1のセマンティックマップを生成し、前記メモリの中に記憶するように構成されており、前記第1のセマンティックアノテーションは、前記第1のミッションに対応する、前記環境における物体の空間的なおよび文脈的な情報を表しており;
    前記第1のセマンティックマップから第2のセマンティックマップへ前記第1のセマンティックアノテーションを転送するように構成されており、前記第2のセマンティックマップは、前記第1のミッションに続く、前記環境における前記モバイルロボットの第2のミッションに対応しており;
    第2の占有情報および第2のセマンティックアノテーションを使用して、前記第2のセマンティックマップを生成するように構成されており、前記第2のセマンティックアノテーションは、前記環境における物体の空間的なおよび文脈的な情報を表しており、転送された前記第1のセマンティックアノテーションを使用して生成され;
    前記第1のセマンティックマップと前記第2のセマンティックマップとの間の比較に基づいて、前記第1のセマンティックマップを更新するかどうかを決定するように構成されている、コントローラ回路と;
    前記第1のセマンティックマップまたは前記第2のセマンティックマップのうちの1つまたは複数についての情報をユーザインターフェースに送信するように、および、前記第1のセマンティックマップまたは前記第2のセマンティックマップに関するユーザフィードバックを受信するように構成されている通信システムと
    を含む、モバイルロボット。
  2. コントローラ回路は、前記第2のセマンティックアノテーションが有効性および制約チェックを満たす場合には、更新された第1のセマンティックマップにしたがって、または、前記第2のセマンティックアノテーションが前記有効性および制約チェックを満たさない場合には、前記第1のセマンティックマップにしたがって、経路を計画し、もしくは、前記環境の周りで前記モバイルロボットをナビゲートするように構成されている、請求項1に記載のモバイルロボット。
  3. 前記第1の占有情報および前記第2の占有情報は、それぞれのミッションに対応する前記環境の中の自由エリア、占有されたエリア、または、探査されていないエリアのうちの1つまたは複数の場所および幾何学形状をそれぞれ含み;
    前記コントローラ回路は、前記第1の占有情報を使用して第1の占有マップを生成し、前記第2の占有情報を使用して第2の占有マップを生成するように構成されている、請求項1または2に記載のモバイルロボット。
  4. 前記第1のセマンティックアノテーションおよび前記第2のセマンティックアノテーションは、前記環境の中の前記物体の特質をそれぞれ含み、前記特質は、
    物体識別;
    物体場所;
    物体の物理的な属性;または、
    前記環境の中の別の物体に対する物体の空間的な制約
    のうちの1つまたは複数を含む、請求項1から3のいずれか一項に記載のモバイルロボット。
  5. 前記コントローラ回路は、
    前記物体を複数の物体タイプに分類するように構成されており;
    前記物体の前記分類に基づいて、前記第1のセマンティックアノテーションまたは前記第2のセマンティックアノテーションを生成するように構成されている、請求項1から4のいずれか一項に記載のモバイルロボット。
  6. 前記通信システムは、前記第1のセマンティックアノテーションまたは前記第2のセマンティックアノテーションを生成または修正するためのユーザ入力を受信するように構成されている、請求項1から5のいずれか一項に記載のモバイルロボット。
  7. 前記コントローラ回路は、前記第1のセマンティックマップから前記第2のセマンティックマップへ前記第1のセマンティックアノテーションを転送するように構成されており、
    前記第1のセマンティックアノテーションの場所を前記モバイルロボットのローカリゼーションシステムの中へ一体化することと;
    前記環境における前記第2のミッションの間に前記第1のセマンティックアノテーションの運動をトラッキングすることと;
    トラッキングされた前記第1のセマンティックアノテーションの前記運動を使用して、前記第2のセマンティックアノテーションを生成することと
    を含む、請求項1から6のいずれか一項に記載のモバイルロボット。
  8. 前記コントローラ回路は、前記第1のセマンティックマップと前記第2のセマンティックマップとの間の適合率および再現率尺度を使用して、前記第1のセマンティックマップと前記第2のセマンティックマップとの間のセマンティックコンフリクトを検出するように構成されており、前記セマンティックコンフリクトは、前記第1のセマンティックマップの中に含まれており、前記第2のセマンティックマップに存在していない、セマンティックアノテーションを表している、請求項1から7のいずれか一項に記載のモバイルロボット。
  9. 前記コントローラ回路は、検出された前記セマンティックコンフリクトを解消するように構成されており、
    第1の占有マップと第2の占有マップとの間の差分占有マップを生成することと;
    検出された前記セマンティックコンフリクトに隣接する前記第2のセマンティックマップの上の領域に対応する前記差分占有マップの一部分を前記第2の占有マップに追加することによって、前記第2の占有マップを修正することと;
    修正された前記第2の占有マップおよび前記第2のセマンティックアノテーションを使用して、前記第2のセマンティックマップを再構築することと
    を含む、請求項8に記載のモバイルロボット。
  10. 前記コントローラ回路は、
    前記第2のセマンティックマップから新規のセマンティック物体を検出するように構成されており、前記新規のセマンティック物体は、前記第1のセマンティックマップに存在しておらず;
    補足的なセマンティックアノテーションが前記第2のセマンティックマップの上の前記第2のセマンティックアノテーションに関する制約を満たす場合には、前記新規のセマンティック物体のための前記補足的なセマンティックアノテーションを前記第2のセマンティックマップの中へ含めるように構成されている、請求項1から9のいずれか一項に記載のモバイルロボット。
  11. 前記コントローラ回路は、前記第2のセマンティックマップの上のセマンティックに注記された領域のサイズが、前記第1のセマンティックマップの上の対応するセマンティックに注記された領域のサイズを閾値だけ超えることに応答して、前記新規のセマンティック物体を検出するように構成されている、請求項10に記載のモバイルロボット。
  12. 前記補足的なセマンティックアノテーションは、前記第2のセマンティックマップの上のセマンティックアノテーション間の相互制約以外のセマンティックアノテーションに対して緩和された制約を有している、請求項11に記載のモバイルロボット。
  13. システムであって、前記システムは、
    モバイルロボットを含み、前記モバイルロボットは、
    環境の周りで前記モバイルロボットを移動させるように構成されているドライブシステムと;
    前記環境における占有情報をセンシングするように構成されているセンサ回路と;
    メモリと;
    通信システムと;
    コントローラ回路であって、前記コントローラ回路は、
    第1の占有情報および第1のセマンティックアノテーションを使用して、前記環境における前記モバイルロボットの第1のミッションに対応する第1のセマンティックマップを生成し、前記メモリの中に記憶するように構成されており、前記第1のセマンティックアノテーションは、前記第1のミッションに対応する、前記環境における物体の空間的なおよび文脈的な情報を表しており;
    前記第1のセマンティックマップから第2のセマンティックマップへ前記第1のセマンティックアノテーションを転送するように構成されており、前記第2のセマンティックマップは、前記第1のミッションに続く、前記環境における前記モバイルロボットの第2のミッションに対応しており;
    第2の占有情報および第2のセマンティックアノテーションを使用して、前記第2のセマンティックマップを生成するように構成されており、前記第2のセマンティックアノテーションは、前記環境における物体の空間的なおよび文脈的な情報を表しており、転送された前記第1のセマンティックアノテーションを使用して生成され;
    前記第1のセマンティックマップと前記第2のセマンティックマップとの間の比較に基づいて、前記第1のセマンティックマップを更新するかどうかを決定するように構成されている、コントローラ回路と
    を含み、
    また、前記システムは、
    前記モバイルロボットに通信可能に連結されているユーザインターフェースであって、前記ユーザインターフェースは、前記第1のセマンティックマップまたは前記第2のセマンティックマップを表示するように、および、前記第1のセマンティックマップまたは前記第2のセマンティックマップに関するユーザフィードバックを受信するように構成されている、ユーザインターフェース
    を含む、システム。
  14. モバイルロボットを動作させるための方法であって、前記方法は、
    メモリの中に記憶されている第1のセマンティックマップをユーザに提供するステップであって、前記第1のセマンティックマップは、環境における前記モバイルロボットの第1のミッションに対応しており、前記第1のセマンティックマップは、第1の占有情報および第1のセマンティックアノテーションを含み、前記第1のセマンティックアノテーションは、前記環境における物体の空間的なおよび文脈的な情報を表している、ステップと;
    前記第1のミッションに続く、前記環境における前記モバイルロボットの第2のミッションに対応する第2のセマンティックマップを前記ユーザに提供するステップであって、前記第2のセマンティックマップは、第2の占有情報および第2のセマンティックアノテーションを含み、前記第2のセマンティックアノテーションは、前記環境における物体の空間的なおよび文脈的な情報を表している、ステップと;
    前記第1のセマンティックマップの上の前記第1のセマンティックアノテーションを修正するために、または、前記第2のセマンティックマップの上の前記第2のセマンティックアノテーションを修正するために、前記ユーザから入力を受信するステップと;
    前記第2のセマンティックマップと前記第1のセマンティックマップとの間の比較に基づいて、前記第1のセマンティックマップを更新するステップと;
    前記モバイルロボットの将来のミッションにおける使用のために、更新された前記第1のセマンティックマップを前記メモリの中に記憶するステップと
    を含む、方法。
  15. 更新された前記第1のセマンティックマップにしたがって、経路を計画するステップ、または、前記環境の周りで前記モバイルロボットをナビゲートするステップを含む、請求項14に記載の方法。
  16. 前記第1のセマンティックマップから第2のセマンティックマップへ前記第1のセマンティックアノテーションを転送するステップと;
    転送された前記第1のセマンティックアノテーションを使用して、前記第2のセマンティックアノテーションを生成するステップと
    を含む、請求項14または15に記載の方法。
  17. ユーザ入力は、ユーザインターフェースを介して、前記第1のセマンティックマップまたは前記第2のセマンティックマップからセマンティックアノテーションを選択するステップ、選択解除するステップ、追加するステップ、削除するステップ、並進させるステップ、回転させるステップ、修正するステップ、またはラベル付けするステップのうちの1つまたは複数を含む、請求項14から16のいずれか一項に記載の方法。
  18. 前記モバイルロボットを介して、前記第1のセマンティックアノテーションまたは前記第2のセマンティックアノテーションを自動的に修正するステップと;
    前記第1のセマンティックアノテーションまたは前記第2のセマンティックアノテーションの自動的な修正を容認するかまたは拒絶するためのユーザ入力を受信するステップと
    を含む、請求項14から17のいずれか一項に記載の方法。
  19. 前記第1のセマンティックマップと前記第2のセマンティックマップとの間のセマンティックコンフリクトの識別、または、前記第1のセマンティックマップと前記第2のセマンティックマップとの間の自動的に検出されたセマンティックコンフリクトに関するユーザフィードバックを、前記ユーザから受信するステップと;
    ユーザ識別されたセマンティックコンフリクトもしくは前記自動的に検出されたセマンティックコンフリクトを解消するためのユーザ入力、または、前記ユーザ識別されたセマンティックコンフリクトもしくは前記自動的に検出されたセマンティックコンフリクトが条件を満たす場合に前記第1のセマンティックマップを更新することを拒絶するためのユーザ入力を受信するステップと
    をさらに含む、請求項14から18のいずれか一項に記載の方法。
  20. 前記第2のセマンティックマップの上に提示されており、記憶されている前記第1のセマンティックマップに存在していない、新規のセマンティック物体の識別、または、自動的に検出された新規のセマンティック物体に関するユーザフィードバックを、ユーザから受信するステップと;
    補足的なセマンティックアノテーションが前記第2のセマンティックマップの上の前記第2のセマンティックアノテーションに関する制約を満たす場合には、前記新規のセマンティック物体のための前記補足的なセマンティックアノテーションを前記第2のセマンティックマップの中へ含めるステップと
    を含む、請求項14から19のいずれか一項に記載の方法。
JP2022551730A 2020-02-28 2021-02-02 モバイルロボットにおけるセマンティックマップ管理 Active JP7459277B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/804,749 2020-02-28
US16/804,749 US11571813B2 (en) 2020-02-28 2020-02-28 Systems and methods for managing a semantic map in a mobile robot
PCT/US2021/016160 WO2021173308A1 (en) 2020-02-28 2021-02-02 Semantic map management in a mobile robot

Publications (2)

Publication Number Publication Date
JP2023509231A true JP2023509231A (ja) 2023-03-07
JP7459277B2 JP7459277B2 (ja) 2024-04-01

Family

ID=74798044

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022551730A Active JP7459277B2 (ja) 2020-02-28 2021-02-02 モバイルロボットにおけるセマンティックマップ管理

Country Status (4)

Country Link
US (1) US11571813B2 (ja)
EP (1) EP4111282B1 (ja)
JP (1) JP7459277B2 (ja)
WO (1) WO2021173308A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6983309B2 (ja) * 2018-04-16 2021-12-17 三菱電機株式会社 障害物検出装置、障害物検出装置を利用した自動ブレーキ装置、障害物検出方法、および障害物検出方法を利用した自動ブレーキ方法
US11571813B2 (en) 2020-02-28 2023-02-07 Irobot Corporation Systems and methods for managing a semantic map in a mobile robot
US20210302171A1 (en) * 2020-03-31 2021-09-30 Gm Cruise Holdings Llc Map change detection system
WO2023170684A1 (en) * 2022-03-07 2023-09-14 Elbit Systems C4I and Cyber Ltd. Method and system for simultaneous semantic mapping and investigation of a built environment
WO2024004453A1 (ja) * 2022-06-28 2024-01-04 ソニーグループ株式会社 移動体制御情報生成方法、移動体制御情報生成装置、および移動体、並びに移動体制御システム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009169845A (ja) * 2008-01-18 2009-07-30 Toyota Motor Corp 自律移動ロボット及び地図更新方法
JP2018017826A (ja) * 2016-07-26 2018-02-01 株式会社豊田中央研究所 自律移動体と環境地図更新装置
JP2018521371A (ja) * 2015-03-24 2018-08-02 エックス デベロップメント エルエルシー セマンティック位置データの自動環境マッピングへの関連付け
JP2019061452A (ja) * 2017-09-26 2019-04-18 株式会社豊田自動織機 地図情報更新方法
JP2019076658A (ja) * 2017-10-27 2019-05-23 パナソニックIpマネジメント株式会社 自律走行掃除機、および、拡張エリア識別方法
JP2019121365A (ja) * 2018-01-05 2019-07-22 アイロボット・コーポレーション モバイル清掃ロボットの協同および永続マッピング

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6690134B1 (en) 2001-01-24 2004-02-10 Irobot Corporation Method and system for robot localization and confinement
US7404000B2 (en) 2001-09-28 2008-07-22 Emc Corporation Protocol translation in a storage system
US7332890B2 (en) 2004-01-21 2008-02-19 Irobot Corporation Autonomous robot auto-docking and energy management systems and methods
JP2015535373A (ja) 2012-10-05 2015-12-10 アイロボット コーポレイション 移動ロボットを含むドッキングステーション姿勢を決定するためのロボット管理システムとこれを用いる方法
CN109965778B (zh) 2013-01-18 2022-08-16 艾罗伯特公司 包括移动机器人的环境管理系统以及其使用方法
US9375847B2 (en) 2013-01-18 2016-06-28 Irobot Corporation Environmental management systems including mobile robots and methods using same
US9233472B2 (en) 2013-01-18 2016-01-12 Irobot Corporation Mobile robot providing environmental mapping for household environmental control
CN108885436B (zh) 2016-01-15 2021-12-14 美国iRobot公司 自主监视机器人系统
US10478973B2 (en) 2016-02-09 2019-11-19 Cobalt Robotics Inc. Mobile robot security enforcement
US10100968B1 (en) 2017-06-12 2018-10-16 Irobot Corporation Mast systems for autonomous mobile robots
US10606269B2 (en) 2017-12-19 2020-03-31 X Development Llc Semantic obstacle recognition for path planning
US11187536B2 (en) 2018-01-12 2021-11-30 The Trustees Of The University Of Pennsylvania Probabilistic data association for simultaneous localization and mapping
US11110595B2 (en) 2018-12-11 2021-09-07 Irobot Corporation Mast systems for autonomous mobile robots
US11571813B2 (en) 2020-02-28 2023-02-07 Irobot Corporation Systems and methods for managing a semantic map in a mobile robot

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009169845A (ja) * 2008-01-18 2009-07-30 Toyota Motor Corp 自律移動ロボット及び地図更新方法
JP2018521371A (ja) * 2015-03-24 2018-08-02 エックス デベロップメント エルエルシー セマンティック位置データの自動環境マッピングへの関連付け
JP2018017826A (ja) * 2016-07-26 2018-02-01 株式会社豊田中央研究所 自律移動体と環境地図更新装置
JP2019061452A (ja) * 2017-09-26 2019-04-18 株式会社豊田自動織機 地図情報更新方法
JP2019076658A (ja) * 2017-10-27 2019-05-23 パナソニックIpマネジメント株式会社 自律走行掃除機、および、拡張エリア識別方法
JP2019121365A (ja) * 2018-01-05 2019-07-22 アイロボット・コーポレーション モバイル清掃ロボットの協同および永続マッピング

Also Published As

Publication number Publication date
US20210268652A1 (en) 2021-09-02
US11571813B2 (en) 2023-02-07
EP4111282B1 (en) 2024-03-13
WO2021173308A1 (en) 2021-09-02
EP4111282A1 (en) 2023-01-04
JP7459277B2 (ja) 2024-04-01

Similar Documents

Publication Publication Date Title
JP7459277B2 (ja) モバイルロボットにおけるセマンティックマップ管理
US11740634B2 (en) Systems and methods for configurable operation of a robot based on area classification
US11119496B1 (en) Methods and systems for robotic surface coverage
JP7385040B2 (ja) モバイルクリーニングロボットの予知保全
US11966227B2 (en) Mapping for autonomous mobile robots
US20210373558A1 (en) Contextual and user experience-based mobile robot scheduling and control
US11747819B1 (en) Robotic fire extinguisher
US11592573B2 (en) Particle filters and WiFi robot localization and mapping
US11656628B2 (en) Learned escape behaviors of a mobile robot
WO2022060530A1 (en) Robot localization and mapping accommodating non-unique landmarks
US11467599B2 (en) Object localization and recognition using fractional occlusion frustum
US11662737B2 (en) Systems and methods for dock placement for an autonomous mobile robot

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221024

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221024

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20221024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230508

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231124

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20231206

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: 20240219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240319

R150 Certificate of patent or registration of utility model

Ref document number: 7459277

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150