CN109998421A - 移动清洁机器人组合及持久性制图 - Google Patents

移动清洁机器人组合及持久性制图 Download PDF

Info

Publication number
CN109998421A
CN109998421A CN201811385306.8A CN201811385306A CN109998421A CN 109998421 A CN109998421 A CN 109998421A CN 201811385306 A CN201811385306 A CN 201811385306A CN 109998421 A CN109998421 A CN 109998421A
Authority
CN
China
Prior art keywords
robot
map
clean robot
mobile
clean
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
CN201811385306.8A
Other languages
English (en)
Other versions
CN109998421B (zh
Inventor
P·冯
C·E·史密斯
M·穆尼奇
S·E·欧迪埃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
iRobot Corp
Original Assignee
iRobot Corp
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 iRobot Corp filed Critical iRobot Corp
Publication of CN109998421A publication Critical patent/CN109998421A/zh
Application granted granted Critical
Publication of CN109998421B publication Critical patent/CN109998421B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/24Floor-sweeping machines, motor-driven
    • 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
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • A47L11/4002Installations of electric equipment
    • A47L11/4008Arrangements of switches, indicators or the like
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • A47L11/4011Regulation of the cleaning machine by electric means; Control systems and remote control systems therefor
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • A47L11/4061Steering means; Means for avoiding obstacles; Details related to the place where the driver is accommodated
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
    • A47L9/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • A47L9/2805Parameters or conditions being sensed
    • A47L9/281Parameters or conditions being sensed the amount or condition of incoming dirt or dust
    • A47L9/2815Parameters or conditions being sensed the amount or condition of incoming dirt or dust using optical detectors
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
    • A47L9/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • A47L9/2805Parameters or conditions being sensed
    • A47L9/2826Parameters or conditions being sensed the condition of the floor
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
    • A47L9/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • A47L9/2857User input or output elements for control, e.g. buttons, switches or displays
    • 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/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0219Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory ensuring the processing of the whole working surface
    • 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/0234Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
    • 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/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • G05D1/0291Fleet control
    • G05D1/0297Fleet control by controlling means in a control room
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/35Categorising the entire scene, e.g. birthday party or wedding scene
    • G06V20/36Indoor scenes
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L2201/00Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L2201/00Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
    • A47L2201/02Docking stations; Docking operations
    • A47L2201/022Recharging of batteries
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L2201/00Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
    • A47L2201/02Docking stations; Docking operations
    • A47L2201/024Emptying dust or waste liquid containers
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L2201/00Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
    • A47L2201/04Automatic control of the travelling movement; Automatic obstacle detection
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L2201/00Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
    • A47L2201/06Control of the cleaning action for autonomous devices; Automatic detection of the surface condition before, during or after cleaning

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Automation & Control Theory (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Mechanical Engineering (AREA)
  • Electromagnetism (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Electric Vacuum Cleaner (AREA)

Abstract

一种多机器人系统包括第一移动清洁机器人,所述第一移动清洁机器人具有用于存储环境的持久性地图的本地存储设备、至少一个用于感测所述环境的传感器,以及控制模块。所述控制模块被配置为控制所述移动清洁机器人来使用所述持久性地图和由所述至少一个传感器提供的感测数据在所述环境中进行导航、与第二移动清洁机器人共享所述持久性地图,以及与所述第二移动清洁机器人协调以执行清洁任务。

Description

移动清洁机器人组合及持久性制图
技术领域
本发明涉及移动清洁机器人组合和持久性制图(mapping)。
背景技术
许多家庭环境中都包括移动机器人,这些机器人使用存储在耦合到控制器的存储器中的程序来自主地在住宅中导航并在限定区域内执行清洁操作。清洁机器人可以清洁家庭而无需用户手动地将清洁机器人在住宅中到处移动。清洁机器人可以包括手动输入设备,例如,用户按下启动家庭内自主清洁操作的按钮。清洁机器人建立起其已行进的区域的地图。在机器人确定其已经覆盖了房间的大部分地面区域之后,机器人则返回充电站进行充电并等待下一个预定的清洁活动。例如,每当机器人离开充电站以执行新的清洁任务时,其在住宅中导航以执行新的清洁任务时则会生成新的地图。当住宅中有多个机器人时,每个机器人则会在住宅中导航时建立起自己的地图以执行对其分配的任务。
发明内容
在总体方面,提供了一种包括具有组合功能的移动清洁机器人的系统。所述移动清洁机器人包括用于存储环境的持久性地图(persistent map)的本地存储设备、至少一个用于感测所述环境的传感器,以及控制模块。所述控制模块被配置为控制所述移动清洁机器人来使用所述持久性地图和由所述至少一个传感器提供的感测数据在所述环境中进行导航、与第二移动清洁机器人共享所述持久性地图,以及与所述第二移动清洁机器人协调以执行清洁任务。
所述系统的实施方式可包括一个或多个以下特征。所述控制模块可被配置为:控制所述至少一个传感器以感测所述环境来识别所述环境中的一组特征、更新所述持久性地图以添加由所述至少一个传感器感测到的尚未在所述持久性地图上的所述特征的表示,以及与第二移动清洁机器人共享所述更新的持久性地图。
所述移动清洁机器人可被配置为执行多次清洁活动,并在每次清洁活动开始之前,从远程存储设备接收所述持久性地图的一个版本或持久性地图更新中的至少一个,以及执行至少下列步骤中的至少一个:(i)将接收到的持久性地图存储在所述本地存储设备中,或(ii)使用接收到的持久性地图更新来更新本地存储的持久性地图。所述移动清洁机器人可被配置为在每次清洁活动中,将所述第一移动清洁机器人定位在所述持久性地图上、感测所述环境的特征、更新所述持久性地图以添加由所述第一移动清洁机器人感测的尚未在所述地图上的特征的表示,并将更新的持久性地图存储在所述远程存储设备中。
在另一总体方面,提供了一种包括服务器计算机的系统,以便于组合多个移动机器人。所述系统包括存储设备,所述存储设备被配置为存储环境的持久性地图的多个版本或所述环境的持久性地图更新的多个版本中的至少一个。所述系统包括一个或多个数据处理器,所述一个或多个数据处理器被配置为执行指令以执行以下步骤:管理所述持久性地图的多个版本或所述持久性地图更新的多个版本中的至少一个;在从第一移动清洁机器人接收请求访问所述持久性地图或所述持久性地图更新的请求时,向所述第一移动清洁机器人提供所述持久性地图或所述持久性地图更新的多个版本中的一个版本;以及当接收来自于第二移动清洁机器人请求访问所述持久性地图或所述持久性地图更新的请求时,向所述第二移动清洁机器人提供所述持久性地图或所述持久性地图更新的多个版本中的一个版本。
所述系统的实施方式可包括一个或多个以下特征。所述服务器计算机可被配置为当接收来自于所述移动清洁机器人的所述请求时,向所述移动清洁机器人中的每个提供最新版本的所述持久性地图或所述持久性地图更新。
所述服务器计算机可被配置为接收来自于所述第一移动清洁机器人的更新的持久性地图或持久性地图更新,并当接收来自于所述第二移动清洁机器人的所述请求时,向所述第二移动清洁机器人提供更新的持久性地图或持久性地图更新。
所述服务器计算机可被配置为接收来自于所述第一移动清洁机器人的第一更新的持久性地图或第一持久性地图更新、接收来自于所述第二移动清洁机器人的第二更新的持久性地图或第二持久性地图更新,并将(i)所述第一更新的持久性地图或所述第一持久性地图更新与(ii)所述第二更新的持久性地图或所述第二持久性地图更新合并,以生成新版本的所述持久性地图或所述持久性地图更新。
在另一总体方面,提供了具有组合功能的移动清洁机器人系统。所述系统包括第一移动清洁机器人和第二移动清洁机器人,所述第一移动清洁机器人被配置为在环境中导航并执行第一组清洁任务,所述第二移动清洁机器人被配置为在所述环境中导航并执行第二组清洁任务。所述第一移动清洁机器人和所述第二移动清洁机器人被配置为共享导航的持久性地图,并在执行所述第一组清洁任务和所述第二组清洁任务时相互协调。
所述系统的实施方式可包括一个或多个以下特征。所述第一移动清洁机器人和所述第二移动清洁机器人可彼此直接通信,以协调执行所述第一组清洁任务和所述第二组清洁任务。
所述系统可包括中央服务器,其中所述第一移动清洁机器人和所述第二移动清洁机器人中的每个与所述中央服务器通信,在执行所述第一组清洁任务和所述第二组清洁任务时,所述中央服务器可协调所述第一移动清洁机器人和所述第二移动清洁机器人。
所述第一移动清洁机器人可被配置为执行清洁所述环境的第一部分的第一次清洁任务、在第一个位置处结束所述清洁任务,并向所述第二移动清洁机器人提供所述第一位置的坐标。所述第二移动清洁机器人可被配置为当接收所述第一位置的坐标时,从所述第一位置开始执行第二清洁任务,所述第二清洁任务涉及清洁所述环境的第二部分,例如,跳过已由所述第一移动清洁机器人清洁的所述第一部分并继续清洁未由所述第一移动清洁机器人清洁的所述第二部分。
所述第一移动清洁机器人和所述第二移动清洁机器人可被配置为分别并行执行第一清洁任务和第二清洁任务,其中所述第一清洁任务可涉及清洁所述环境的第一部分,所述第二清洁任务可涉及清洁所述环境的第二部分。
所述第一移动清洁机器人可具有第一类清洁头,所述第二移动清洁机器人可具有第二类清洁头。所述第一移动清洁机器人可被配置为使用所述第一类清洁头来清洁所述环境中的第一区域、发送表明所述第一区域已被清洁的消息,并在清洁所述第一区域后清洁所述环境中的第二区域。所述第二移动清洁机器人可被配置为在接收表明所述第一区域已被清洁的消息后,使用所述第二类清洁头来清洁所述第一区域,同时所述第一移动清洁机器人清洁所述第二区域。
所述系统可包括服务器计算机,所述服务器计算机被配置为管理所述持久性地图的多个版本或持久性地图更新的多个版本,其中所述服务器计算机具有存储设备,所述存储设备用于存储所述持久性地图的多个版本或所述持久性地图更新的多个版本。所述服务器计算机可被配置为当接收来自于第一移动清洁机器人的请求访问所述持久性地图或所述持久性地图更新的请求时,向所述第一移动清洁机器人提供所述持久性地图或所述持久性地图更新的多个版本中的一个版本。所述服务器计算机可被配置为当接收来自于所述第二移动清洁机器人请求访问所述持久性地图或所述持久性地图更新的请求时,向所述第二移动清洁机器人提供所述持久性地图或所述持久性地图更新的多个版本中的一个版本。
所述服务器计算机可被配置为当接收来自于所述第一移动清洁机器人接收所述请求时,向所述第一移动清洁机器人提供最新版本的所述持久性地图或所述持久性地图更新。
所述服务器计算机可被配置为接收来自于所述第一移动清洁机器人的更新的持久性地图或持久性地图更新,并当接收来自于所述第二移动清洁机器人的所述请求时,向所述第二移动清洁机器人提供更新的持久性地图或持久性地图更新。
所述服务器计算机可被配置为接收来自于所述第一移动清洁机器人的第一更新的持久性地图或第一持久性地图更新、接收来自于所述第二移动清洁机器人的第二更新的持久性地图或第二持久性地图更新,并将(i)所述第一更新的持久性地图或所述第一持久性地图更新与(ii)所述第二更新的持久性地图或所述第二持久性地图更新合并,以生成新版本的持久性地图或持久性地图更新。
在另一总体方面,提供了具有组合功能的移动清洁机器人系统。所述系统包括具有至少一个传感器和第一控制模块的第一移动清洁机器人,所述第一控制模块被配置为:生成或接收环境的地图、控制所述第一移动清洁机器人以使用所述地图在所述环境中导航并执行清洁任务、控制所述至少一个传感器以感测所述环境来识别所述环境中的第一组特征、更新所述地图以添加由所述至少一个传感器感测到的尚未在所述地图上的特征,并与一个或多个其他移动清洁机器人共享所述更新的地图。所述系统包括具有至少一个传感器和第二控制模块的第二移动清洁机器人,所述第二控制模块被配置为:接收由所述第一移动清洁机器人共享的更新的地图的副本、控制所述至少一个传感器以感测所述环境来识别第二组特征(其中所述第二组特征中的一些与所述地图上已有的一些所述特征重叠)、识别所述地图上与由所述至少一个传感器感测到的所述第二组特征中的至少一些特征相对应的特征,并基于所述地图上识别的特征来在所述地图上定位所述第二移动清洁机器人、控制所述第二移动清洁机器人以使用所述地图在所述环境中导航、以及更新所述地图以添加由所述至少一个传感器感测到的尚未在所述地图上的特征、并与所述第一移动清洁机器人共享所述更新的地图。
所述系统的实施方式可包括一个或多个以下特征。所述系统可包括远程存储设备,所述远程存储设备被配置为存储一个或多个版本的地图,其中所述第一移动清洁机器人可包括第一本地存储设备,所述第一本地存储设备用于在所述第一移动清洁机器人在所述环境中导航时,本地存储所述地图的至少一部分的副本,所述第一控制模块被配置为通过将所述更新的地图上传到所述远程存储设备来共享所述更新的地图。
所述系统可包括用户界面,所述用户界面用于使用户能够配置存储在所述第一本地存储设备中的地图,以向所述地图添加禁区来生成更新的地图。所述第一移动清洁机器人可被配置为将所述更新的地图上传到所述远程存储设备,所述第二移动清洁机器人可被配置为从所述远程存储设备下载所述更新的地图,所述第二移动清洁机器人可被配置为在考虑到所述禁区的情况下执行清洁任务。
所述远程存储设备可包括云存储设备。
所述第一移动清洁机器人和所述第二移动清洁机器人都可无线访问所述远程存储设备。
所述第一移动清洁机器人可被配置为执行多次清洁活动,并在每次清洁活动开始之前,从所述远程存储设备检索的所述地图并将所述地图存储在所述本地存储设备中。所述第一移动清洁机器人可被配置为在每次清洁活动中,将所述第一移动清洁机器人定位在所述地图上、感测所述环境的特征、更新所述地图以添加由所述第一移动清洁机器人感测的尚未在所述地图上的特征,并将更新的地图存储在所述远程存储设备中。
所述第一和第二移动清洁机器人可被配置为在执行清洁任务时相互协调。
所述第一移动清洁机器人可与所述第二移动清洁机器人直接通信,以协调执行所述清洁任务。
所述系统可包括中央服务器,其中所述第一和第二移动清洁机器人中的每个可与所述中央服务器通信,在执行所述清洁任务时,所述中央服务器可协调所述第一移动清洁机器人和所述第二移动清洁机器人。
所述第一移动清洁机器人可被配置为执行清洁所述环境的第一部分的第一次清洁任务、在第一个位置处结束所述清洁任务,并向所述第二移动清洁机器人提供所述第一位置的坐标。所述第二移动清洁机器人可被配置为当接收所述第一位置的坐标时,从所述第一位置开始执行第二清洁任务,所述第二清洁任务涉及清洁所述环境的第二部分,例如,跳过已由所述第一移动清洁机器人清洁的所述第一部分并继续清洁未由所述第一移动清洁机器人清洁的所述第二部分。
所述第一移动清洁机器人和所述第二移动清洁机器人可被配置为分别并行执行第一清洁任务和第二清洁任务。所述第一清洁任务可涉及清洁所述环境的第一部分,所述第二清洁任务可涉及清洁所述环境的第二部分。
所述第一移动清洁机器人可具有第一类清洁头,所述第二移动清洁机器人可具有第二类清洁头。所述第一移动清洁机器人可被配置为使用所述第一类清洁头来清洁所述环境中的第一区域、发送表明所述第一区域已被清洁的消息,并在清洁所述第一区域后清洁所述环境中的第二区域。所述第二移动清洁机器人可被配置为在从所述第一移动清洁机器人发送表明所述第一区域已被清洁的消息后,使用所述第二类清洁头来清洁所述第一区域,同时所述第一移动清洁机器人清洁所述第二区域。
所述第一移动清洁机器人和所述第二移动清洁机器人可具有不同的功能,从而由所述地图的第一部分表示的所述环境的第一部分可由所述第一移动清洁机器人到达,但不能由所述第二移动清洁机器人到达。
所述至少一个传感器可包括至少一个摄像头,所述第一组特征可包括由所述至少一个摄像头感测的一组视觉地标。
所述系统可包括计算机,所述计算机被配置为提供用户界面,以使用户能够配置和修改所述地图。
所述用户界面可被配置为使所述用户能够标记所述环境中的多个房间中的每个,每个房间的所述相同标记由所述第一移动清洁机器人和所述第二移动清洁机器人共享。
所述用户界面可被配置为使所述用户能够执行至少下列中的至少一个:(i)命令所述移动清洁机器人中的一个来清洁特定房间,或(ii)命令所述第一移动清洁机器人和所述第二移动清洁机器人来并行清洁特定房间。
所述用户界面可被配置为使所述用户能够执行至少下列中的至少一个:(i)识别所述环境中的多个房间中的每个的边界,或(ii)修改所述边界。
在另一总体方面,提供了具有组合功能的移动清洁机器人系统。所述系统包括服务器计算机,所述服务器计算机被配置为管理对环境的持久性地图的访问,所述服务器计算机具有用于存储所述持久性地图的存储设备。所述系统包括具有第一控制模块的第一移动清洁机器人,所述第一控制模块被配置为:接收来自于所述服务器计算机的所述环境的持久性地图的至少一部分、控制所述第一移动清洁机器人以使用所述持久性地图来在所述环境中导航,并在所述环境中执行第一清洁任务。所述系统包括具有第二控制模块的第二移动清洁机器人,所述第一控制模块被配置为:接收来自于所述服务器计算机的所述环境的持久性地图的至少一部分、使用所述持久性地图来在所述环境中导航,并在所述环境中执行第二清洁任务。
所述系统的实施方式可包括一个或多个以下特征。所述第一移动清洁机器人可包括第一本地存储设备,所述第一本地存储设备用于在所述第一移动清洁机器人在所述环境中导航时,本地存储所述持久性地图的至少一部分,所述第一控制模块可被配置为基于传感器数据来更新所述持久性地图并将所述更新的持久性地图上传到所述服务器计算机。
所述系统可包括用户界面,所述用户界面用于使用户能够配置存储在所述第一本地存储设备中的持久性地图,以向所述持久性地图添加(i)禁区或(ii)非接触区中的至少一个来生成更新的地图。所述第一移动清洁机器人可被配置为将所述更新的持久性地图上传到所述服务器计算机,所述第二移动清洁机器人可被配置为从所述服务器计算机下载所述更新的持久性地图,所述第二移动清洁机器人可被配置为在考虑到(i)所述禁区或(ii)所述非接触区中的至少一个的情况下执行清洁任务。
在另一总体方面,一种移动清洁机器人包括本地存储设备;至少一个传感器;和控制模块。所述控制模块被配置为:接收来自于远程存储设备的环境的持久性地图并将所述持久性地图存储在所述本地存储设备中、控制所述移动清洁机器人以使用所述持久性地图在所述环境中导航并执行清洁任务、控制所述至少一个传感器以感测所述环境来识别所述环境中的一组特征、更新所述持久性地图以添加由所述至少一个传感器感测到的尚未在所述持久性地图上的特征、以及将所述更新的持久性地图上传到所述远程存储设备。
所述移动清洁机器人的实施方式可包括一个或多个以下特征。所述控制模块可被配置为将所述更新的持久性地图上传到一个或多个其他移动清洁机器人可访问的远程存储设备。
所述移动清洁机器人可被配置为执行多次清洁活动,并在每次清洁活动开始之前,接收来自于远程存储设备的所述持久性地图并将所述持久性地图存储在本地存储设备中。所述移动清洁机器人可被配置为在每次清洁活动中,将所述第一移动清洁机器人定位在所述地图上、感测所述环境的特征、更新所述地图以添加由所述第一移动清洁机器人感测的尚未在所述地图上的特征,并将更新的地图存储在所述远程存储设备中。
在另一总体方面,提供了一种用于操作具有组合功能的移动清洁机器人的方法。所述方法包括在移动清洁机器人的本地存储设备处存储环境的持久性地图;使用所述移动清洁机器人的至少一个传感器来感测所述环境以生成感测数据;使用所述移动清洁机器人的一个或多个数据处理器以用所述持久性地图和所述感测数据来在所述环境中进行导航;与第二移动清洁机器人共享所述持久性地图;以及与所述第二移动清洁机器人协调以执行清洁任务。
所述方法的实施方式可包括一个或多个以下特征。所述方法可包括使用所述至少一个传感器以感测所述环境来识别所述环境中的一组特征、更新所述持久性地图以添加由所述至少一个传感器感测到的尚未在所述持久性地图上的所述特征的表示,以及与第二移动清洁机器人共享所述更新的持久性地图。
所述方法可包括使用所述移动清洁机器人来执行多次清洁活动,并在每次清洁活动开始之前,从远程存储设备接收所述持久性地图的一个版本或持久性地图更新中的至少一个,以及执行至少下列步骤中的至少一个:(i)将接收到的持久性地图存储在所述本地存储设备中,或(ii)使用接收到的持久性地图更新来更新本地存储的持久性地图。所述方法可包括在每次清洁活动中,将所述第一移动清洁机器人定位在所述持久性地图上、感测所述环境的特征、更新所述持久性地图以添加由所述第一移动清洁机器人感测的尚未在所述地图上的特征的表示,并将更新的持久性地图存储在所述远程存储设备中。
在另一总体方面,提供了一种用于操作服务器计算机以实现共享持久性地图的方法。所述方法包括在服务器计算机的存储设备处存储环境的持久性地图的多个版本或所述环境的持久性地图更新的多个版本;使用所述服务器计算机的一个或多个数据处理器来管理所述持久性地图的多个版本或所述持久性地图更新的多个版本。所述管理持久性地图的多个版本或持久性地图更新的多个版本还包括:在接收来自于第一移动清洁机器人请求访问所述持久性地图或所述持久性地图更新的请求时,向所述第一移动清洁机器人提供所述持久性地图或所述持久性地图更新的多个版本中的一个版本。所述管理持久性地图的多个版本或持久性地图更新的多个版本包括:在接收来自于第二移动清洁机器人请求访问所述持久性地图或所述持久性地图更新的请求时,向所述第二移动清洁机器人提供所述持久性地图或所述持久性地图更新的多个版本中的一个版本。
在另一总体方面,提供了一种用于操作共享持久性地图的多个移动机器人的方法。所述方法包括使用第一移动清洁机器人来执行第一组清洁任务;使用第二移动清洁机器人来执行第二组清洁任务;在所述第一移动清洁机器人和所述第二移动清洁机器人之间共享环境的持久性地图;使用所述持久性地图在所述环境中来导航所述第一移动清洁机器人;使用所述持久性地图在所述环境中来导航所述第二移动清洁机器人;以及在执行所述第一组清洁任务和所述第二组清洁任务时协调所述第一移动清洁机器人和所述第二移动清洁机器人。
在另一总体方面,提供了一种用于操作共享地图的多个移动机器人的方法。所述方法包括在第一移动清洁机器人处生成或接收环境的地图、使用所述地图在所述环境中导航并执行清洁任务、感测所述环境来识别所述环境中的第一组特征、更新所述地图以添加由所述至少一个传感器感测到的尚未在所述地图上的特征,并与一个或多个其他移动清洁机器人共享所述更新的地图。所述方法包括在第二移动清洁机器人处接收由所述第一移动清洁机器人共享的更新的地图的副本;感测所述环境来识别第二组特征(其中所述第二组特征中的一些与所述地图上已有的一些所述特征重叠);识别所述地图上与由所述至少一个传感器感测到的所述第二组特征中的至少一些特征相对应的特征,并基于所述地图上识别的特征来在所述地图上定位所述第二移动清洁机器人;使用所述地图在所述环境中导航;以及更新所述地图以添加由所述至少一个传感器感测到的尚未在所述地图上的特征、并与所述第一移动清洁机器人共享所述更新的地图。
在另一总体方面,提供了一种操作共享持久性地图的多个移动机器人的方法。所述方法包括将环境的持久性地图存储在所述服务器计算机的存储设备中;使用所述服务器计算机来管理对所述持久性地图的访问;在第一移动清洁机器人处接收来自于所述服务器计算机的所述环境的持久性地图的至少一部分;使用所述持久性地图在所述环境中来导航所述第一移动清洁机器人;使用所述第一移动清洁机器人来在所述环境中执行第一组清洁任务;在第二移动清洁机器人处接收来自于所述服务器计算机的所述环境的持久性地图的至少一部分;使用所述持久性地图在所述环境中来导航所述第二移动清洁机器人;以及使用所述第二移动清洁机器人来在所述环境中执行第二组清洁任务。
在另一总体方面,提供了一种操作共享持久性地图的多个移动机器人的方法。所述方法包括在移动清洁机器人处从多个移动清洁机器人可访问的远程存储设备接收环境的持久性地图;将所述持久性地图存储到所述移动清洁机器人的本地存储设备中;控制所述移动清洁机器人以使用所述持久性地图来在所述环境中导航并执行清洁任务;使用所述移动清洁机器人的至少一个传感器以感测所述环境来识别所述环境中的一组特征;更新所述持久性地图以添加由所述至少一个传感器感测到的尚未在所述持久性地图上的特征、以及将所述更新的持久性地图上传到所述远程存储设备以与所述多个移动清洁机器人共享所述更新的持久性地图。
根据以下描述和权利要求,本说明书的其他特征和优点将变得显而易见。
除非另外定义,本文使用的所有技术术语和科学术语具有与本发明所属领域的普通技术人员通常所理解的相同的含义。如果与通过引用并入本发明的专利或申请相冲突,则本说明书(包括定义)将对其控制。
附图说明
图1和图2是实现移动机器人组合的示例性系统的框图。
图3和图4是示例性环境的示意图,其中可操作多个机器人。
图5A是示出移动清洁机器人识别物体的示意图。
图5B是示出示例性持久性地图的一部分的示意图。
图6A是示出移动清洁机器人识别物体的示意图。
图6B是示出持久性地图的一部分的示意图。
图7是移动清洁机器人的示例的仰视示意图。
图8是安装在移动清洁机器人上的传感器的示例的示意图。
图9和图10是用于识别住宅中物体的卷积神经网络的示意图。
图11和图12是示出房间中的物体示例的示意图,这些物体可帮助移动清洁机器人了解其环境。
图13是一个示例的示意图,其中信息覆盖在由移动清洁机器人建立的地面地图上。
图14是一个示例的示意图,其中移动清洁机器人根据用户日历信息来安排任务。
图15是用于操作具有组合功能的移动清洁机器人的示例性过程的流程图。
图16是用于操作服务器计算机以管理持久性地图和地图更新的多个版本的示例性过程的流程图。
图17、18A、18B和图19是用于操作多个具有组合功能的移动清洁机器人的示例性过程的流程图。
图20是用于操作能够更新持久性地图的移动清洁机器人的示例性过程的流程图。
图21是示例性移动计算设备的框图。
具体实施方式
在本文中,我们描述了一种新颖的系统,可使两个或多个移动机器人作为一个团队以协作来执行任务。例如,两个或多个移动机器人可以是协作执行清洁任务的移动清洁机器人。移动机器人的组合考虑了机器人和环境的特征和条件。例如,多个清洁机器人的调度可以考虑,例如机器人的碎屑箱和电池的状况。如果两个移动式清洁机器人协作来清洁房间,机器人可各自从房间的两端开始并朝房间的中间部分进行清洁,而不是从房间的同一端开始。在一些实施方式中,移动机器人彼此通信,以便每个机器人都知道其他机器人的状况,比如,其他机器人的位置和正在执行的任务。在一些实施方式中,中央控制器管理机器人操作的调度。
在一些实施方式中,两个或多个移动机器人共享环境的持久性地图,该持久性地图是移动机器人在环境中导航以执行各种任务时随时间更新的。例如,住宅中的多个移动清洁机器人可共享存储在家庭服务器计算机或云存储系统中的持久性地图,其中持久性地图被维持数天、数周、数月或数年。每个移动清洁机器人使用持久性地图在住宅到处导航并执行安排的清洁任务。每个移动清洁机器人使用各种传感器来获得关于住宅的信息,并可基于传感器提供的新数据来更新持久性地图。地图合并模块从多个移动机器人接收持久性地图版本或持久性地图更新版本,并生成可与移动机器人共享的持久性地图的合并版本。
参考图1,在一些实施方式中,多机器人系统100包括第一移动机器人102a和第二移动机器人102b,两个机器人统称为102。例如,移动机器人102a、102b可以是移动清洁机器人。每个移动机器人102包括,例如控制模块104,该模块控制机器人102的各个部件的操作。控制模块104包括一个或多个数据处理器,该数据处理器可执行指令来执行各种操作。控制模块104包括任务调度器106,用于调度由移动机器人102执行的各种任务(比如,清洁任务)。
移动机器人102包括存储用于导航的地图110的存储设备108,和可由控制模块104的一个或多个数据处理器执行的程序指令或程序代码。地图110可以是,例如持久性地图。移动机器人102包括导航模块112,该模块使移动机器人102能够基于地图110在环境中导航。移动机器人102包括一个或多个摄像头114,这些摄像头被配置为抓取周围环境的图像,使移动机器人102可识别图像中的物体。这使得移动机器人102能够基于对其周围环境的理解而更智能地执行任务。在移动机器人102是移动清洁机器人的示例中,提供清洁头126以使移动机器人102能够执行清洁任务。
第二移动机器人102b包括与第一移动机器人102a中模块类似的模块。
应当理解,机器人102a、102b的用户已经批准机器人收集关于住宅的信息以帮助机器人在住宅中执行任务。在一些实施方式中,可以在机器人上提供光指示器,使得用户知道机器人的摄像头何时抓取住宅的图像,或者机器人的麦克风何时在住宅中抓取音频。可在机器人上提供一个或多个开关,以使用户能够方便地打开或关闭一个或多个传感器,比如,摄像头或麦克风。用户的移动计算设备上的用户界面(比如,用户的移动电话)也可用于提供指示来通知用户是否激活了诸如摄像头和麦克风之类的传感器。用户界面可使用户方便地打开或关闭一个或多个传感器,比如,摄像头或麦克风。
多机器人系统100包括与移动机器人102a、102b通信的远程计算系统116。远程计算系统116包括存储设备118,该设备存储持久性地图120的多个版本和持久性地图更新122的多个版本。地图合并模块124分析持久性地图的两个或多个版本(例如,一个版本是当前地图,另一个版本是由其中一个机器人提供的更新地图),以生成合并版本的持久性地图,该版本的持久性地图被认为是持久性地图的最新版本并可与移动机器人102共享。地图合并模块124还能分析持久性地图更新的两个或多个版本(例如,从两个不同机器人发出的两个持久性地图更新),以生成合并版本的持久性地图,该版本的持久性地图被认为是持久性地图的最新版本并可与移动机器人102共享。
在一些实施方式中,在移动机器人102的每次操作之后更新持久性地图110或120,以合并由机器人102收集的任何新信息。如果房主移动家具,则家具的位置变化将反映在持久性地图110中。如果房主关闭或打开房门,则关于房门的打开或关闭状态的信息也将被添加到持久性地图110中。如果房主在起居室中挂起新画作,则机器人102将看到该画作并将其添加到地图110中。这将有助于机器人102在下次机器人102在起居室中时确定其位置。在机器人的各种任务中添加到地图中的信息使得地图随着时间的推移而变得更加丰富。
系统100和200被配置为使得如果用户10对地图进行改变,则系统100或200可将遵循这些改变。例如,机器人102可检测房间中间的长桌、认为长桌是墙,并确定该墙的两侧有两个房间。用户10可修改地图110以示出实际上只有一个房间,且该墙壁实际上是长桌子。例如,厚地毯可防止机器人102行进到房间的区域,从而机器人102可认为房间在厚地毯的边缘处结束。用户可花时间来修改地图110以正确地标记房间边界并标记房间中的各种物体,以便地图110可准确地反映住宅300的实际配置。
系统100和200跟踪用户10所做的改变。当机器人102在住宅300中导航时,其可执行自动房间划分过程,这个过程可再次划分房间,从而认为长桌是墙。当地图合并模块124从机器人102接收更新时,如果来自机器人102的更新与用户10提供的信息不一致,则更多地考虑用户10提供的信息。
在一些实施方式中,地图合并模块124实现用于更新地图120的“传递函数(transfer function)”。机器人使用用户定义的房间开始其任务。机器人执行任务,然后在任务结束时执行房间划分算法。这导致两种不同的房间划分,其中第一种房间划分是由用户10基于旧版本的占用网格而提供的房间划分,且第二种房间划分则基于占用网格的新版本。合并地图模块104在新房间划分之上覆盖旧房间划分以遵循先前由用户10进行的所有编辑,但是还基于由机器人102在任务期间获得的任何新信息来更新房间划分。因此,合并地图模块124可合并两个地图(即,旧房间划分和新房间划分),同时还遵循用户对地图的编辑。
例如,在地图110上可能存在“禁区”区域,以便机器人102需要远离该区域。地图合并模块124被配置为在更新地图120之后将禁区保持在相同位置。在一些实施方式中,地图合并模块124使用“锚点”(比如,房间的角落),有助于将占用网格放置在其上。地图合并模块124可选择禁区的四个角作为锚点,并在每个任务结束时,将基于锚点来放置禁区。
地图合并模块124遵循用户提供的房间标记。如果用户10将房间标记为“起居室”,则地图合并模块124将尝试找出新占用网格中的哪个区域是起居室并将其与标记“起居室”相关联。
持久性地图110在机器人102a、102b之间共享。持久性地图110可被认为是关于环境的信息的数据库,比如,住宅。因此,系统100使得能够在多个机器人之间共享单个数据库。这使用户可一次编辑地图(比如,划分和标记房间),而该编辑内容将传播到多个机器人使用的地图。当一个机器人学习到住宅中的某些东西发生了变化时,另一个机器人则将自动继承该新知识。例如,第一机器人能够在地毯上行进,而第二机器人可能无法在地毯上行进。当第一机器人在住宅中导航时,它可检测到住宅区域中的地毯。第一机器人可更新地图110以显示特定区域中存在地毯。当第二机器人在住宅中导航时,其将知道特定区域中有地毯并避免前往该区域。持久性地图可显示各个区域的地面类型,比如,区域是否具有硬地面或地毯。第一机器人可具有硬地面刷,第二机器人可具有地毯刷。基于持久性地图,第一机器人可清洁具有硬地面的区域,且第二机器人可清洁具有地毯的区域。
例如,共享持久性地图可实现两个具有不同功能的机器人的组合。第一机器人可具有吸尘功能,第二机器人可具有拖地功能。用户可想要吸尘并擦拭房间的地面。第一机器人可执行吸尘操作,然后第二机器人可在已吸尘的区域中执行拖地操作。第二机器人不必等到第一机器人完成整个房间的吸尘才开始操作。第一机器人开始吸尘后,第二机器人可等待几分钟,然后开始拖已吸尘的区域。第一和第二机器人可串联工作,因为它们共享持久性地图,使第二机器人能够准确地知道第一机器人已经吸尘的地方。
在构建持久性地图时,机器人识别环境中的地标并将该地标放置在地图上。当机器人在环境中导航时,机器人具有可识别地标的特征检测器,以帮助机器人确定其位置。
不同的机器人在遍历不同类型的地形方面具有不同的功能。第一机器人能够在地毯上行进,而第二机器人可能无法在地毯上行进。当第一和第二机器人建立地图时,两个机器人的占用网格将是不同的。假设一半的房间被地毯覆盖。第一机器人可在地毯上行进并正确识别房间的墙壁。第二机器人不能在地毯上行进、认为有一面墙,并建立了地图,其中房间是实际尺寸的一半。当地图合并模块124从不同机器人接收地图更新时,地图合并模块124将考虑机器人的功能。
应当理解,机器人102a、102b的用户已经批准机器人将关于住宅的地图信息发送到远程计算设备116。
在图1的示例中,远程计算系统116存储持久性地图120的多个版本。在一些实施方式中,系统116可保留一个正式版本的持久性地图。当移动机器人将修改的持久性地图发送到系统116时,地图合并模块124将修改的持久性地图与正式持久性地图进行比对,以确定是否需要更新正式持久性地图来包括修改的持久性地图中包含的新信息。如果地图合并模块124确定需要更新正式持久性地图,则地图合并模块124修改正式持久性地图,且修改的地图成为与机器人102共享的新的正式持久性地图。
在一些实施方式中,当移动机器人102通电以启动任务时,比如,清洁任务,机器人102则联系远程计算系统116以检查是否存在新版本的持久性地图。例如,机器人102可将存储在机器人102的存储设备108中的地图110的版本号与存储在远程计算系统116的存储设备118中的地图120的版本号进行比对。如果系统116具有新版本的持久性地图,则机器人102从系统116下载新版本的持久性地图,并将新版本的地图110存储在存储设备108中。
在本文中,附图标记110用于表示存储在机器人102处的地图,附图标记120用于表示存储在远程计算设备116处的地图。如果机器人102在从远程计算设备116下载地图之后没有修改地图,则地图110与地图120相同。然而,如果机器人修改存储在机器人的存储设备处的地图,则地图110可与地图120不同。
当移动机器人102通电以启动任务时,比如,清洁任务,机器人102则联系远程计算系统116以检查是否存在新版本的持久性地图。例如,机器人102可将存储在机器人102的存储设备108中的地图110的版本号与存储在远程计算系统116的存储设备118中的地图120的版本号进行比对。如果系统116具有新版本的持久性地图,则机器人102从系统116下载更新版本的持久性地图,并将新版本的地图110存储在存储设备108中。
在一些实施方式中,机器人102从系统116下载持久性地图更新122,而不是从系统116下载整个持久性地图120。持久性地图更新122包括关于当前版本持久性地图120与先前版本持久性地图120之间的差异的信息。与完整持久性地图120相比,持久性地图更新122具有更小的文件大小。下载持久性地图更新122可比下载完整持久性地图120更快。在机器人102从远程计算系统116下载持久性地图更新122之后,机器人102则使用持久性地图更新122来更新持久性地图110,以便存储在存储设备108中的持久性地图110具有最新的地图数据。
当机器人102在环境(例如,住宅)四处导航以执行各种任务(例如,清洁任务)时,机器人102则使用摄像头114和其他传感器来检测住宅中的状况。机器人102将感测到的数据与地图110上的信息进行比对。如果感测的数据与地图110不一致,则机器人102可更新地图110。例如,如果地图110显示障碍物位于第一位置,但是传感器数据指示在时间t1时在第一位置处没有障碍物而在第一位置附近的第二位置处有障碍物,则机器人102可更新地图110以示出在时间t1时在第一位置处没有障碍物,并在时间t1时在第二位置处有障碍物。
在一些示例中,机器人102具有识别功能并可识别物体,比如,识别物体是椅子、桌子还是床。假设障碍物是椅子,机器人102可更新地图110以示出在时间t1时在第一位置处没有椅子,且在时间t1时在第二位置处有椅子。通过存储关于环境如何随时间变化的信息,持久性地图可包括关于环境的统计信息,使机器人102能够更智能地执行任务。
例如,如果持久性地图在统计上显示第一位置的足迹流量大于第二位置的足迹流量,则在执行清洁任务时,机器人102可在第一位置花费比在第二位置花费更多时间。如果持久性地图显示餐厅的客流量多于客厅和卧室,则可指定两个机器人102a、102b并行地清洁餐厅,分配一个机器人102a来清洁起居室,并分配一个机器人102b来清洁卧室。
第一机器人102a的控制模块104与第二机器人102b的控制模块104协调。例如,机器人102a、102b的控制模块104可共同确定第一机器人102a应该从房间的第一端开始清洁餐厅,且第二机器人102b应该从房间的第二端开始清洁餐厅。机器人102a、102b的控制模块104可共同确定第一机器人102a应该清洁起居室,且第二机器人102b应该清洁卧室。
在清洁活动结束时,机器人102a、102b返回其各自的对接站以对其电池进行充电并从碎屑箱中清空碎屑。机器人102a、102b各自与远程计算系统116通信以提供更新的地图信息。例如,第一机器人102a可具有第一更新的持久性地图110,其中包括关于第一机器人102a在其在家中导航以执行清洁任务时检测到的新物体的数据。第二机器人102b可具有第二更新的持久性地图110,其中包括关于第二机器人102b在其在家中导航以执行清洁任务时检测到的新物体的数据。由第一机器人102a检测到的一些新物体可与由第二机器人102b检测到的一些新物体相同。由第一机器人102a检测到的一些新物体可与由第二机器人102b检测到的一些新物体不同。来自第一机器人102a的第一更新的持久性地图可与来自第二机器人102b的第二更新的持久性地图不完全一致。例如,第一机器人102a可在时间t1时检测第一位置处有椅子,而第二机器人102b可在时间t2时检测第一位置处没有椅子。例如,由于传感器不一致,第一机器人102a可在时间t1时检测第一位置处有椅子,而第二机器人102b可在时间t1时检测第一位置处没有椅子。
在一些实施方式中,第一机器人102a将第一更新的持久性地图发送到远程计算系统116,而第二机器人102b将第二更新的持久性地图发送到远程计算系统116。地图合并模块124分析存储在存储设备118中的正式版本的持久性地图120、由第一机器人102a提供的第一更新的持久性地图110以及由第二机器人102b提供的第二更新的持久性地图110。地图合并模块124分解更新的持久性地图中的不一致之处(如果有的话),并生成包括由机器人102a、102b提供的新地图数据的持久性地图120的新正式版本。
在一些实施方式中,第一机器人102a存储第一持久性地图更新,该第一持久性地图更新具有关于在从远程计算系统116下载地图110之后存储在第一机器人102a处的持久性地图110的变化的信息。类似地,第二机器人102b存储第二持久性地图更新,该第二持久性地图更新具有关于在从远程计算系统116下载地图110之后存储在第二机器人102b处的持久性地图110的变化的信息。第一和第二持久性地图更新中的每个具有小于完整持久性地图的文件大小。第一机器人102a将第一持久性地图更新发送到远程计算系统116,而第二机器人102b将第二持久性地图更新发送到远程计算系统116。地图合并模块124分析正式版本的持久性地图120、由第一机器人102a提供的第一持久性地图更新以及由第二机器人102b提供的第二持久性地图更新。地图合并模块124分解持久性地图更新中的不一致之处(如果有的话),并生成包括由机器人102a、102b提供的新地图数据的持久性地图120的新正式版本。远程计算系统116在接收来自移动清洁机器人102的对新地图或新地图更新的请求时,向每个移动清洁机器人102提供最新版本的正式持久性地图或持久性地图更新。
参考图2,在一些实施方式中,多机器人系统200包括相互通信的第一移动机器人202a和第二移动机器人202b(统称为202)。与图1中的第一移动机器人102a类似,第一移动机器人202a包括,例如具有任务调度器106的控制模块104、存储持久性地图110的存储设备108以及导航模块112。第一移动机器人202a包括一个或多个摄像头114,这些摄像头被配置为抓取周围环境的图像,使移动机器人202a可识别图像中的物体。这使得移动机器人202a能够基于对其周围环境的理解而更智能地执行任务。
移动机器人202包括识别模块206,该模块被配置为识别环境中的场景和物体。例如,识别模块206使移动机器人202能够确定它是在厨房还是卧室中。在一些实施方式中,识别模块206包括神经网络208,该神经网络使用在住宅中常见的场景和物体的图像来训练。神经网络208可以是,例如卷积神经网络。识别模块206可包括经训练以对各种类别的物体进行分类的多个神经网络208。例如,可训练第一神经网络来识别场景并确定移动机器人202a所在的房间,可训练第二神经网络来识别房间中的物体,且可训练第三神经网络来识别个体和宠物。
移动机器人202a包括学习模块210,该模块被配置为了解环境中的模式,比如,住宅中的足迹流量。例如,学习模块210可被配置为随时间来存储某些参数值并执行所存储的参数值的统计分析以检测数据中的模式。学习模块210可在一周中每天的一天中的每个时间段中来存储地图上的每个网格点处的人类存在的计数。通过分析存储的数据,学习模块210可(例如,在一周的给定日期内确定给定时间时)确定地图上哪些网格点具有更高或更低的步行流量。学习模块210可(例如,针对住宅中的给定房间)确定哪个时间段具有较少或没有足迹流量。
在移动机器人202a是移动清洁机器人的示例中,提供清洁头126以使移动机器人102能够执行清洁任务。移动机器人202a可包括额外的传感器212,例如撞击传感器。
第二移动机器人202b包括与第一移动机器人202a中模块类似的部件。
在一些实施方式中,第一和第二移动机器人202a、202b按顺序操作。第一移动机器人202a在住宅中导航并执行诸如清洁任务之类的任务。第一移动机器人202a基于由各种传感器(包括摄像头114和传感器212)提供的传感器数据来更新持久性地图110。第一移动机器人202a基于识别模块206识别的新物体来更新持久性地图110。第一移动机器人202a基于由学习模块210学习的新模式来更新持久性地图110。
当第一移动机器人202a返回到对接站以对其电池再充电时,第二移动机器人202b则向第一移动机器人202a发送请求212以请求对地图进行更新。第一移动机器人202a将更新的持久性地图或持久性地图更新214发送到第二移动机器人202b。第二移动机器人202b用第一移动机器人202a提供的较新的更新地图214来替换存储在其存储设备108中的旧的持久性地图110,或使用由第一移动机器人202a提供的持久性地图更新214来更新存储在其存储设备108处的持久性地图110。
第二移动机器人202b使用持久性地图110来在住宅中导航,并基于由各种传感器(包括摄像头114和传感器212)提供的传感器数据、由识别模块206识别的新物体以及由学习模块210学习的新模式来更新地图110。当第二移动机器人202b返回到对接站以对其电池再充电时,第一移动机器人202a则向第二移动机器人202b发送请求216以请求对地图进行更新。第二移动机器人202b将更新的持久性地图或持久性地图更新218发送到第一移动机器人202a,如此等等。
移动机器人202a、202b中的每个可具有地图合并模块,该模块基于由其他机器人提供的新地图信息来确定应如何更新其持久性地图。
第一和第二机器人102a和102b可以多种方式来作为一个团队进行工作。因为机器人102a、102b共享地图,所以每个机器人知道其他机器人在哪里。机器人102a、102b可以“快速跟随”模式操作,其中第二机器人在第二机器人开始其任务之前不等待第一机器人完成任务而开始。机器人102a、102b可彼此跟随,例如,一旦机器人102a完成其在第一房间中的任务,机器人102a则告知机器人102b,且机器人102b前往第一房间中执行其任务。机器人102a、102b以使得一个机器人在协调清洁中跟随另一个的方式来操作。
例如,如果机器人102a在清洁厨房时检测到污垢,则机器人102b可知道在机器人102a检测到污垢的区域来执行焦点擦洗。如果拖地机器人知道特定位置有污渍,则其可很好地擦洗斑点并去除污渍。第一机器人具有可检测地面反射率的光传感器。第一机器人可生成地面反射率的直方图。如果第一机器人检测到反射率的大变化指示深色污渍,则第一机器人可进行标记并告诉拖地机器人去擦洗具有低反射率的区域。在机器人下次导航到该区域时,机器人则会检查该区域以查看是否仍存在变化。如果没有变化,则表明擦洗可能有效地去除了污渍。如果仍存在变化,则表明变化可能是永久性的。第一机器人将该信息添加到持久性地图中,表明它是实际的变化。
当机器人以团队形式执行操作时,它们会考虑用户的时间表。例如,用户可能希望机器人串联操作,以便一个机器人跟随另一个。然而,在一些情况下,时间表可能显示停电时间(例如,婴儿的午睡时间),因此机器人们可决定第二机器人应该在午睡时间结束之后才启动。
例如,巡逻机器人可注意到有污垢的地方并在地图上指示污点,并通知清洁机器人来清理污点。
共享持久性地图使第二机器人可继承第一机器人获得的知识。例如,用户可具有已经在住宅中操作数月并学习了关于住宅的大量信息(比如,禁区的位置)的第一机器人。用户可购买第二机器人。通过共享持久性地图,则当第二机器人在住宅中第一次启动时,第二机器人也可具有第一机器人已知的信息。例如,持久性地图可显示瓷器柜周围的禁区和宠物狗水碗周围的禁区。通过使用持久性地图,新机器人不会碰到瓷器柜或宠物狗的水碗。例如,持久性地图可显示地毯的位置、门槛所在的位置,所以当用户购买了无法在地毯或门槛上行走的机器人时,新的机器人已经知道了地毯和门槛的位置,并可智能地清洁家庭,而不必经历学习过程以了解地毯和门槛的位置。
例如,用户可具有单个机器人并使用它来清洁第一地面和第二地面。机器人建立具有第一地面图和第二地面图的地图。之后,用户购买第二机器人并使用新的机器人来清洁第二地面。通过共享持久性地图,新机器人可继承有关第二地面的信息,并智能地清洁第二地面,而无需经过学习过程。
图3示出了环境的一个示例的示意图,系统200(图2)可在该环境中使用。在下面的描述中,移动机器人202a是移动清洁机器人,但是这里描述的相同原理可用于其他类型的移动机器人,比如,家庭安全移动机器人。移动清洁机器人202a可在一个或多个封闭空间内或在包括一个或多个封闭空间的环境内操作。例如,该环境包括住宅环境、生活空间、工作环境或其他环境。例如,封闭空间对应于环境中的房间。在图3所示的示例性环境中,该环境包括用户10和移动清洁机器人202a所在的住宅300。用户10操作移动计算设备94(参见图21),这可以是,例如,移动电话或平板电脑。住宅300包括房间302A、302B、302C和302C(统称为302)。在如图3所示的示例中,移动清洁机器人202a位于房间302A中,而用户10位于房间302B中。房间302A通过门口304A与房间302B相邻并与其连接,房间302B通过门口304B与房间302C相邻并与其连接,以及房间302B通过门口304C与房间302D相邻并与其连接。
在该示例中,房间302A是卧室,其中包括床306和端桌308、310。房间302B是餐厅,其中包括餐桌312和餐椅314。房间302C是浴室,其中包括浴缸316、水槽318和马桶320。房间302D是家庭办公室,其中包括桌子322和椅子324。
在如图3所示的示例中,移动清洁机器人202a自主地导航穿过房间302A以执行清洁任务,比如,清洁房间302A的地面表面。移动清洁机器人102在执行其任务的同时在位于房间302A中的障碍物(例如,床306和端桌308、310)周围导航。当移动清洁机器人202a在任务期间在住宅300到处移动时,移动清洁机器人202a使用其传感器来生成住宅300的地图并将移动清洁机器人202a定位在地图内。移动清洁机器人202a包括生成指示移动清洁机器人202a的状态的信号的传感器,比如,移动清洁机器人202a的部件的状态或由移动清洁机器人202a执行的任务或操作的状态。
在一些实施方式中,移动计算设备94使用户10能够在移动计算设备94上提供输入。移动计算设备94可包括用户输入元件,例如,触摸屏显示器、按钮、麦克风、鼠标垫、轨迹球、键盘或响应用户10提供的输入的其他设备中的一个或多个。移动计算设备94可选地或另外地包括用户10与之交互以提供用户输入的沉浸式媒体(例如,虚拟现实)。这些示例中的移动计算设备94可以是,例如虚拟现实耳机或头戴式显示器。用户10可提供与用于移动清洁机器人202a的命令相对应的输入。在一些实施方式中,在移动计算设备94和移动清洁机器人202a之间建立无线链路326,以使移动计算设备94能够向移动清洁机器人202a发送无线命令信号。用户10向移动计算设备94提供指示命令信号的用户输入,且移动计算设备94发送对应于用户输入的命令信号。可采用各种类型的无线网络(例如,蓝牙、射频、光学网络等)和网络架构(例如,网状网络)来建立通信链路326。
其他设备也可无线链接到移动清洁机器人202a。在图3的示例中,住宅300包括链接设备328A和328B。在一些实施方式中,链接设备328A和328B中的每个包括,例如,适合于执行监控住宅300、监视住宅300的占用者和监控移动清洁机器人202a的操作中的一个或多个的传感器。例如,这些传感器可包括成像传感器、占用传感器和环境传感器中的一个或多个。
用于链接设备328A、328B的成像传感器可包括可见光摄像头、红外摄像头和采用电磁光谱的其他部分的传感器中的一个或多个。例如,用于链接设备328A、328B的占用传感器包括以下传感器中的一个或多个:无源或有源透射或反射红外传感器、使用光、声纳或无线电频率的飞行时间或三角测量范围传感器、用于识别占用声音或声压特性的麦克风、气流传感器、摄像头、用于监测频率和/或Wi-Fi频率以获得足够强的接收信号强度的无线电接收器或收发器、能够检测包括自然光、人工照明和从移动计算设备(例如,移动计算设备94)发出的光的环境光传感器、和/或其他用于检测住宅300内的用户10或其他占用者的存在的适当的传感器。占用传感器可选地或另外地检测用户10的运动或自主移动清洁机器人202a的运动。如果占用传感器对自主移动式清洁机器人202a的运动足够敏感,则链接设备328A、328B的占用传感器生成指示移动式清洁机器人202a的运动的信号。用于链接设备328A、328B的环境传感器可包括电子温度计、气压计、湿度或湿度传感器、气体检测器或空气颗粒计数器。
在如图3所示的示例中,第二移动清洁机器人202b位于房间302C中。类似于第一移动清洁机器人202a的第二移动清洁机器人202b在房间302C内执行任务,例如清洁任务。在一些示例中,移动计算设备94无线连接到多个机器人设备(包括第一移动清洁机器人202a和第二移动清洁机器人202b),从而使用户10能够与移动计算设备94交互以控制和监控多个机器人设备202a、202b。在一些示例中,例如,用于移动清洁机器人202a、202b、链接设备328A、328B和其他设备中的每个的控制器104可直接相互发起和维持无线链路,以发起和维持移动清洁机器人202a或202b与链接设备328A、328B中一个之间的无线链路。无线链路还可与其他远程电子设备一起形成,比如,移动电话、平板电脑、膝上型电脑、另一个移动计算设备、一个或多个环境控制设备或其他类型的电子设备。在某些实施方式中,无线链路实现与一个或多个设备通信,这些设备包括但不限于,智能灯泡、恒温器、车库门开启器、门锁、遥控器、电视、安全系统、安全摄像头、烟雾探测器、视频游戏控制台、其他机器人系统或其他通信使能的传感和/或致动设备或器件。
无线链路可使用各种通信方案和协议,比如,蓝牙经典、Wi-Fi、蓝牙低功耗(也称为BLE,802.15.4)、全球微波接入互操作性(WiMAX)、红外通道或卫星频段。在一些示例中,无线链路包括用于在移动计算设备之间通信的任何蜂窝网络标准,包括但不限于符合1G、2G、3G或4G的标准。如果使用的话,网络标准则通过满足诸如由国际电信联盟维护的规范之类的规范或标准而有资格作为例如一代或多代移动电信标准。如果使用3G标准,则对应于例如国际移动电信-2000(IMT-2000)规范,且4G标准可对应于国际移动电信高级(IMT-Advanced)规范。蜂窝网络标准的示例包括AMPS、GSM、GPRS、UMTS、LTE、LTE高级、移动WiMAX和WiMAX-Advanced。蜂窝网络标准可使用各种信道接入方法,例如,FDMA、TDMA、CDMA或SDMA。
当移动机器人202a在房间302A中导航时,移动机器人202a可捕获床306和端桌308、310的图像,并使用识别模块206来识别床306和端台308、310。或者,移动机器人202a可确定房间302中有物体,且用户10可手动将物体标记为“床”和“端桌”。机器人202a检测床306和端桌308、310的边界,并将该信息记录在地图110中。在下一次机器人202a清洁房间302A时,其可规划通过房间302A的路径,该路径避免撞到床306和端桌308、310。在移动计算设备94的显示器上示出的地图2302(参见图21)可示出房间302A的墙壁的轮廓,并示出房间302A内的床和两个端桌的图标。
当移动机器人202a导航到其他房间302B、302C和302D时,移动机器人202a可识别房间302B、302C和302D中的一个或多个物体,或用户10可手动标记房间302B、302C和302D中的一个或多个物体。可将由机器人202a维护的地图110更新成包括房间302B、302C和302D中的物体的位置和边界。可将移动计算设备94的显示器上显示的地图2302更新成包括房间302B、302C、302D的墙壁以及房间302B、302C和302D中的物体的图标。
在一些实施方式中,住宅300包括通过自然语音与用户10交互的一个或多个音频媒体设备330。音频媒体设备330可接收用户10发出的语音,并可输出要由用户10听到的音频发射。用户10可代替使用移动计算设备94或者除了使用移动计算设备94之外,而通过音频媒体设备330向移动机器人202a发送命令或查询。音频媒体设备330可包括其他传感器,比如,图像捕获传感器、运动检测传感器、光学传感器、全球定位系统(GPS)收发器、设备存在传感器(例如,用于地理围栏)、以及其他可检测音频媒体设备330的环境状况的传感器。在一些示例中,音频媒体设备330包括用于检测环境中的光量的传感器,且音频媒体设备330激活灯具,以在低光条件下照亮环境。在一些示例中,音频媒体设备330包括摄像头,该摄像头用于从音频媒体设备330检测用户10的距离和取向或用于使用该摄像头进行电话会议操作。音频媒体设备330的示例是2017年6月6日提交的美国申请15/614,844中描述的音频媒体设备400,该专利全部内容通过引用结合于本发明。
音频媒体设备330的传感器使设备330能够获得关于住宅300的信息。可将这样的信息提供给移动机器人202a,以增强机器人对住宅300中发生的事件的认识。例如,用户10可访问音频媒体设备330以在房间302B中来流式传输音乐。当音频媒体设备330在房间302B中进行流式传输音乐时,很可能一个或多个人正在使用房间302B。在这种情况下,移动清洁机器人202a则在某个其他时间来安排房间302B中的清洁任务。应当理解,音频媒体设备330和移动机器人202a之间的信息的共享被用户10预先批准。
在机器人202a识别住宅300中的物体之后,机器人202a可考虑物体的特性来执行诸如清洁任务之类的任务。机器人202a可更频繁地清洁高交通流量区域,并不那么频繁地清洁低交通流量区域。例如,床底深处的交通流量很低。机器人202a可被配置为每天清洁房间302A中的开放地面区域,和例如,清洁床306底1尺深的区域,以及例如,每周一次、两周一次或一月一次来清洁床306底超过1尺深的地面区域。机器人202a可被配置为比远离餐桌312和餐椅314的其他区域更仔细地清洁餐厅302B的餐桌312和餐椅314附近的地面区域。因为彻底清洁餐厅是重要的,所以机器人202a可安排清洁任务,使得其在移动到其他房间之前完全清洁了餐厅。机器人202b可被配置为比远离马桶320的区域更仔细地清洁浴室302C中的马桶320附近的地面区域。
移动机器人202a、202b可相互协调,以便机器人202a清洁卧室302A,而机器人202b清洁浴室302C。在清洁卧室302A之后,移动机器人202a可从更靠近卧室302A的餐厅的末端开始清洁餐厅302B。在清洁浴室302C之后,移动机器人202b可首先清洁家庭办公室302D。在清洁家庭办公室302D之后,移动机器人202b可从更靠近家庭办公室302D的餐厅的末端继续清洁餐厅302B。在清洁餐厅302B的同时,移动机器人202a和202b相互通信,以便它们不会清洁相同区域两次。
移动机器人202a、202b之间的协作可以有许多变化。例如,在家中的儿童生日聚会之后,用户10可决定餐厅302B需要额外的清洁,因为五彩纸屑和散落在地面上的比萨饼和爆米花。用户10可指令移动机器人202a、202b执行“强烈清洁”,以便餐厅302B中的每个地面区域由机器人202a、202b中的每个清洁至少一次。这样,餐厅302B中的每个地面区域由机器人202a、202b清洁两次,确保彻底清洁餐厅302B。在该示例中,机器人202a可从靠近卧室302A的餐厅302B的末端开始并在靠近家庭办公室302D的餐厅的末端处结束。机器人202a可从靠近家庭办公室302D的餐厅的末端清洁餐厅302B并在靠近卧室302A的餐厅的末端处结束。
图4示出了环境的一个示例的示意图,系统100(图1)可在该环境中使用。在该示例中,环境包括类似于图3中所示的住宅400的环境。移动计算设备94向远程计算系统116发送命令,后者将命令转发给机器人102a、102b。机器人102a、102b中的每个从远程计算系统116下载持久性地图或持久性地图更新。机器人102a、102b中的每个向远程计算系统116上传更新的持久性地图或持久性地图更新。远程计算系统116合并由机器人102a、102b提供的新地图数据,并生成持久性地图的新正式版本。
在一些示例中,移动机器人102a、102b向远程计算系统116发送通知消息,后者将通知消息转发到移动计算设备94。例如,移动机器人102a可通知用户10卧室302A已经被清洁且其正开始清洁餐厅302B。移动机器人102b可通知用户10浴室302C已经被清洁,且机器人102b由于浴室门关闭而无法离开浴室302B。
在图4的示例中,远程计算系统116是云服务器计算机。在一些示例中,家庭服务器计算机可设置在用户家中,其中家庭服务器计算机可执行上述远程计算系统116的功能。
其他设备也可无线链接到远程计算系统116。例如,链接设备328A、328B将由成像传感器生成的图像发送到远程计算系统116。远程计算系统116可以具有图像处理功能并可分析由链接设备328A、328B提供的图像。链接设备328A、328B将来自成像传感器、占用传感器、环境传感器和存在于链接设备328A、328B中的其他传感器的组合的传感器信号传送到远程计算系统116。这些信号用作远程计算系统116的输入数据,以控制或监控移动清洁机器人102a、102b的操作。应当理解,用户10已经批准链接设备328A、328B将关于住宅的数据传送到远程计算系统116。
因为远程计算系统116连接到包括移动机器人102a、102b的多个机器人设备,这使得用户10能够与移动计算设备94交互以通过远程计算系统116来控制和监控多个机器人设备102a、102b。用于每个移动机器人102a、102b、链接设备328A、328B和其他设备的控制器可发起和维护用于与远程计算系统116通信的无线链路。
在本文中,一些操作被描述为由移动机器人102a、102b、202a和202b中的一个执行。应当理解,其他移动机器人可执行相同或类似的操作。
参考图5A,在一些示例中,机器人202a导航到餐厅302B并抓取餐厅302B中的物体的图像。例如,机器人202a使用摄像头114来抓取餐椅314的图像。机器人202a使用识别模块206来确定图像中的物体是餐椅。机器人202a将地图110更新成包括餐椅314。接下来,机器人202a使用摄像头114来抓取餐桌312、落地灯500和墙壁艺术502的图像,并使用识别模块206来确定图像中的物体是餐桌、落地灯和墙壁艺术。机器人202a将地图110更新成在其各自的位置处包括餐桌312、落地灯500和墙壁艺术502。
图5B示出了由机器人202a更新后的示例性持久性地图110,其中餐桌312、餐椅314和落地灯500放置在它们各自的位置。图5所示的地图仅是一个示例,由机器人202a生成的持久性地图110可包括更多信息。
参考图6A,在一些示例中,机器人202a导航到起居室并抓取起居室中的物体的图像。例如,机器人202a使用摄像头114来抓取第一沙发600、第二沙发602、咖啡桌604、壁炉606、货架608和三角钢琴610的图像。机器人202a使用识别模块206来确定图像中的物体分别是第一沙发、第二沙发、咖啡桌、壁炉、货架和三角钢琴。机器人202a将地图110更新成包括在其各自的位置处的第一沙发600、第二沙发602、咖啡桌604、壁炉606、货架608和三角钢琴610。
图6B示出了由机器人202a更新后的持久性地图110,其中第一沙发600、第二沙发602、咖啡桌604、壁炉606、货架608和三角钢琴610放置在其各自的位置。图6B所示的地图110仅是示例,应当理解,房间的配置对于不同的住宅可以是不同的,因此不同住宅的地图也将是不同的。
以下描述移动清洁机器人的示例。移动清洁机器人102(图1)和202(图2)使用驱动系统和一套传感器来自主地在环境(例如,住宅300、400)中到处进行导航。图7示出了图1中移动清洁机器人102的示例的仰视图。虽然图7参考移动清洁机器人102进行了说明,但图7的移动清洁机器人额外地或替代地对应于移动清洁机器人202。移动清洁机器人102包括含驱动轮702的驱动系统。在一些示例中,脚轮704在地面表面上方支撑移动清洁机器人102。移动清洁机器人102还包括控制器706,该控制器可与连接到驱动轮702的一个或多个电机一起操作。移动清洁机器人102的控制器706选择性地启动电机以驱动驱动轮702并在地面表面上导航移动式清洁机器人102。
控制器706还可与传感系统708一起操作。传感系统708包括可由控制器706用于在住宅300四处导航的传感器。例如,传感系统708具有传感器,以产生用于检测住宅300内的障碍物并用于生成住宅300的地图的信号。传感系统708可包括用于检测到障碍物的距离的障碍物检测传感器(比如,飞行时间传感器)、用于检测下落的悬崖检测传感器(例如,楼梯)、与安装在移动清洁机器人102上的缓冲器相关联的撞击传感器、和接触传感器。当障碍物检测传感器检测到障碍物时,控制器706操作用于移动清洁机器人102的驱动系统以围绕障碍物移动。
控制器706使用来自其传感器系统的信号,以通过跟踪和更新移动清洁机器人102随时间的位置和方向来生成住宅300的地图。例如,制图传感器包括同时定位和制图(SLAM)传感器、航位推算传感器以及障碍物检测和避免(ODOA)传感器。控制器706构建住宅300的地面表面的二维地图、确定地图上的机器人姿势并确定移动清洁机器人102可穿过的住宅300的部分的位置(例如,未占用的、可穿越的地面)。使用来自航位推算传感器、接触式传感器和非接触式障碍物检测传感器的信号,控制器706指示出移动清洁机器人102由于地面表面上或地面表面上方的障碍物而不能横穿的地面区域。在一个示例中,控制器706在其经过时构建墙壁和障碍物的地图,生成可穿越和占用空间的占用网格。在一些实施方式中,地图使用笛卡尔坐标系或极坐标系。在一些示例中,地图是拓扑图、代表性地图或概率图。
在一些示例中,使用同时定位和制图(SLAM)技术,控制器706在住宅300的二维地图内确定移动清洁机器人102的姿势。例如,SLAM传感器包括一个或多个摄像头,用于视觉识别在地图上计算机器人姿势时使用的特征和地标。移动清洁机器人102包括附加传感器,该传感器生成信号以使控制器706能够在移动清洁机器人102在住宅300中四处移动时估计移动清洁机器人102的位置和/或取向。这些传感器单独或与SLAM传感器组合,来确定移动清洁机器人102在由运动的移动清洁机器人102构建的机器人地图上的姿势。在一些实施方式中,控制器706使用来自附加传感器的信号来验证或调整由SLAM传感器确定的姿势。在一些实施方式中,附加传感器包括里程表、加速度计、陀螺仪、惯性测量单元和/或产生指示移动清洁机器人102的行进距离、旋转量、速度或加速度的信号的其他传感器。例如,移动清洁机器人102包括方向传感器(比如,陀螺仪),该传感器生成指示移动清洁机器人102已从航向旋转的量的信号。在一些实施方式中,传感系统708包括航位推算传感器(比如,IR轮编码器),以生成指示驱动轮702的旋转的信号,而控制器706使用检测到的旋转来估计移动清洁机器人102行进的距离。在一些实施方式中,例如,传感系统708包括激光扫描仪或飞行时间传感器,这些生成用于确定到观察到的障碍物和环境内物体的距离的传感器读数。可选地或另外地,感测系统708包括面向地面表面的光学鼠标传感器,以确定移动清洁机器人102相对于航向而横向漂移穿过地面表面的距离。
在一些实施方式中,移动清洁机器人102采用视觉同时定位和制图(VSLAM)来构建其地图并确定地图上的当前姿势。传感系统708包括一个或多个定位传感器,例如摄像头710(图像抓取系统),该传感器生成用于控制器706的信号,以确定移动清洁机器人相对于在环境中检测到的特征的位置和取向。在一些实施方式中,移动清洁机器人102包括图像抓取系统710(例如可见光摄像头710),位于机器人主体的顶部表面下方并在向上的方向上成角度(例如,与移动式清洁机器人102在其上四处导航的地面表面成30度到80度之间的角度)摄像头710瞄准墙壁和天花板上具有大量静态元件的位置,例如窗框、相框、门框和其他具有可见的、可检测的特征(比如,线、角和边缘)的物体。例如,当摄像头710向上倾斜时,摄像头710的视锥的中心向上倾斜,从而视锥的中心可瞄准墙壁和天花板上的位置。使用由摄像头710抓取的图像,控制器706确定了当移动清洁机器人102在房间或封闭空间中四处(例如,一系列相邻房间302A、302B、302C、302D(统称为封闭空间或房间302))导航时构建的地图(例如,地图110)上的机器人姿势。
在一些示例中,定位传感器包括移动清洁机器人102上的传感器,这些传感器能够响应于检测到占据不可穿越的地面空间的环境中的墙壁和物体而生成信号。例如,除了VSLAM摄像头,这些定位传感器包括接触式传感器(比如,碰撞传感器)和非接触式飞行时间传感器(激光器、体积点云传感器、点线传感器(例如,飞行时间线传感器,比如PIXART制造的传感器))、IR接近传感器、光探测和测距(LIDAR)传感器和声学传感器。定位传感器生成信号,从中提取独特的印记、模式或特征,特别地,区分了不可穿越的地面与可穿越的地面或在移动的清洁机器人102穿过时添加到扩展的机器人地图中的可穿越地面空间。当控制器706确定已经检测到这些特征时,控制器706使用移动清洁机器人102相对于这些检测到的特征的位置和取向来确定移动清洁机器人102在住宅300的地图上的姿势。控制器706将移动清洁机器人102定位在住宅300内,特别是通过参考与住宅300内的物体相对应的特征来确定移动清洁机器人102的当前姿势。提取的特征指示移动清洁机器人102所在的房间。
提取的特征形成每个房间302A、302B、302C和302D的独特的标识符。在一些实施方式中,移动清洁机器人102使用所提取的特征来响应于检测到与房间标识符相关联的特定特征,以确定其当前位于房间302A、302B、302C和302D中的哪一个。在一些实施方式中,移动清洁机器人102通过物体识别来识别预先鉴别的房间。例如,移动清洁机器人102使用其摄像头710来抓取与每个房间302(例如,锅炉、洗碗机或冰箱)相关联的物体的图像。用户10向移动清洁机器人102传送与那些可识别物体相关联的特定房间标识符(例如,厨房)。在清洁任务期间,当移动清洁机器人102识别出这些物体中的一个或多个时,其通过发出声音警报(例如,通过请求移动计算设备104产生可听警报)或发出视觉警报(例如,通过在移动计算设备104上显示指示相关存储的房间标识符的文本通知)而将其位置传达给用户。
在一些实施方式中,该地图是持久的并存储在远程计算系统116或家庭服务器计算机中,以供一个或多个移动清洁机器人102、202访问。在每个后续运行或清洁活动中,移动清洁机器人102根据住宅300内的变化条件(比如,移动的家具)来更新持久性地图。持久性地图随时间累积有关环境的信息。在一些示例中,移动清洁机器人102通过标准协议发现住宅300中的连接设备并将它们定位在地图上。这包括连接的灯和扬声器、通风口、门和窗传感器以及住宅300中的其他连接设备的位置。移动清洁机器人102巡游住宅300并使用射频(RF)签名、视觉识别、接收的信号强度和其他方法来识别住宅300中的连接设备并自动将它们放置在住宅300的机器人地图上。例如,移动清洁机器人102探索住宅300并识别客厅墙壁上的恒温器、厨房中连接的SAMSUNGTM冰箱以及家庭活动室和卧室中的PhilipsTMHUE BLOOM灯。移动清洁机器人102将识别的连接设备放在地图上并使用户10能够利用所连接的设备的这种空间知识。
传感系统708生成指示移动清洁机器人102的操作的信号。在一些示例中,传感系统708包括与驱动系统集成的失速传感器单元,该传感器单元生成指示移动清洁机器人102的失速状态的信号,其中移动清洁机器人102不能沿着住宅300内的地面表面移动。失速传感器单元生成信号以指示传递到驱动系统的电机的电流的变化。电流的变化可指示移动清洁机器人102的停滞状态,其中移动清洁机器人102基本上无法从其当前姿势移动。失速传感器单元可选地或另外地包括光学传感器,该光学传感器产生指示轮子(例如,脚轮704或驱动轮702中的一个)在动力被传递到驱动轮702的电机时是否正在移动的信号。在一些示例中,失速传感器单元是鼠标传感器,用于通过比对连续图像的变化来跟踪和检测运动或不运动。在一些实施方式中,移动清洁机器人102依靠加速度计来生成指示移动清洁机器人102的加速度的信号。一旦检测到轮子没有移动,控制器706则确定移动清洁机器人102处于失速状态。
在一些实施方式中,移动清洁机器人102包括如图8的示意图中所示的其他传感器。在一些示例中,传感系统708包括麦克风714,用于接收来自移动清洁机器人102的环境的可听信号。在一些示例中,传感系统708包括环境传感器,比如,温度传感器802、环境光传感器804、空气湿度含量传感器806、气体成分空气质量传感器808或感测环境的其他特征的传感器。传感系统708还包括指示移动清洁机器人102或移动清洁机器人102的部件的状况的状态传感器。例如,这些传感器包括用于检测移动清洁机器人102的电源上的电荷量或电荷容量的电池充电状态传感器、用于检测部件的适用性或部件的剩余寿命量的部件寿命传感器(比如,车轮踏面传感器)。
移动清洁机器人102还包括音频发射系统712,该系统使移动清洁机器人102可发出可听信号。例如,控制器706引起可听信号的发射,向用户10通知移动清洁机器人102的状态,例如,移动清洁机器人102的部件的状态、移动清洁机器人102的操作状态或移动清洁机器人102执行的任务的状态。
如图1和图4所示,移动清洁机器人102还包括使移动清洁机器人102可与远程计算系统116通信的无线通信系统810。使用无线通信系统810,控制器706将数据传送到远程计算系统116。在一些示例中,数据包括由传感系统708的传感器生成的信号。在移动清洁机器人102包括图像抓取系统710的一些实施方式中,抓取的图像可直接传送到远程计算系统116。在一些示例中,移动清洁机器人102收集信息并构建住宅300的地图,且控制器706将地图发送到远程计算系统116。如果控制器706包括状况传感器,则控制器706还将指示移动清洁机器人102的状况的信息发送到远程计算系统116。
如参考图3和图4所述,在其在住宅300中四处导航期间,移动清洁机器人102执行操作并完成住宅300内的任务。执行的操作取决于移动清洁机器人102的类型。除了描绘可用于本发明所述实施方式的许多类型的移动清洁机器人中的基本部件之外,图7还示出了特定于吸尘清洁机器人的部件,该机器人对应于可受益于本发明所述过程的许多类型的移动机器人中的一个。其他移动机器人可包括地面清洗机器人、家庭监控机器人、机器人割草机、拖地机器人、伴侣机器人或扫地机器人。这些机器人可各自受益于本发明中描述的过程和系统。
在一些示例中,移动清洁机器人102是吸尘清洁机器人,其中包括清洁系统以摄取地面表面上的碎屑。例如,该清洁系统包括可旋转的辊或刷子720,用于将碎屑从地面表面搅动到安装在移动清洁机器人102上的碎屑箱(未示出)中。该清洁系统包括鼓风机,用于在启动时将空气移动并由此使地面表面上的碎屑朝向碎屑箱移动。当移动清洁机器人102在清洁活动期间在其环境中四处导航时,移动清洁机器人102启动其清洁系统以摄取碎屑,从而清洁地面表面。
在一些示例中,如果移动清洁机器人102是吸尘清洁机器人,则机器人102包括可拆卸的碎屑箱812,且传感系统708包括碎屑箱料位传感器814,用于检测被吸入可拆卸的碎屑箱812中的碎屑量。传感系统708包括一个或多个碎屑传感器或污垢传感器816,用于检测吸尘清洁机器人何时摄取碎屑或检测碎屑摄取的速率。在一些示例中,移动清洁机器人102包括碎屑过滤器,传感系统708还包括过滤器传感器,以检测过滤器是否需要清洁。
示例性移动清洁机器人102包括底盘818、电池820、电池充电器822、由电池820供电的动力模块824、一个或多个由动力模块824提供动力的电机826、由电机826驱动的驱动系统828、制图/导航系统830、红外(IR)发射器832、红外辐射检测器834、运动检测器(例如,无源IR光电二极管)836、超声波传感器838、压力传感器840、惯性测量单元(IMU)842和指示灯844。控制器706可包括任何适当配置的处理器846(例如,微处理器)或多个处理器。微处理器846与控制器706、存储器718、各种传感器和驱动系统828通信。在一些实施方式中,摄像头710是收集2D图像、全景视图、视频和/或3D模型的成像设备。上述传感器不是可在机器人102上提供的传感器类型的穷举,并取决于机器人102要检测的环境参数,可省略某些传感器。
无线通信系统810包括无线通信发射器或模块848(例如,Wi-Fi模块)和相关联的天线850,以在机器人102与移动计算设备94、远程计算系统116、集线器(比如,GoogleWi-Fi接入点)、网络路由器和/或专用网络之间实现无线通信。
在一些实施方式中,移动清洁机器人102包括用于在通过住宅300的过境期间检测和避免障碍物(“ODOA”)的传感器。这些传感器包括机械碰撞开关传感器852,该传感器在与固定障碍物和非接触式传感器接触时触发,比如,超声波传感器838、红外发射器/检测器接近传感器854以及结构光传感器856(比如,由PixArt制造的那些)。
制图/导航系统830使机器人102能够执行住宅300的自主导航和制图。移动清洁机器人102包括用于自主导航的传感器,比如,用于视觉同时定位和制图的摄像头710(“VSLAM”)、鼠标传感器858、带有3轴加速度计和3轴陀螺仪的IMU 842、和/或用于确定或记录机器人102相对于空间300的位置(即,将机器人102在空间300中的定位)的车轮里程表860。机器人102可定位由其车载传感器收集的读数的位置。可使用任何合适的技术和部件来定位和注册机器人102,比如,机器视觉(例如,使用摄像头710和特征识别或类识别软件)、光信标或射频接收信号强度指示器(RSSI)技术。
机器人102可包括模式按钮862,用于使用户能够选择若干操作模式中的一种,比如,各种清洁模式。机器人102包括与地面表面接触并支撑机器人底盘818的从动机车元件864a、864b。从动机车构件864a、864b可由控制器706控制,以使移动清洁机器人102横穿住宅300内的地面表面。在一些示例中,微处理器846将移动清洁机器人102导航到或通过住宅300内的一个或多个地图位置。机器人102包括管理机器人102的各种操作的操作系统866。
控制器706访问存储传感器收集的信息和可由控制器706执行的例程的存储器718,以使移动清洁机器人102在住宅300内执行操作。例程包括导航例程,例如,用于将移动清洁机器人102在住宅300中四处进行导航。控制器706响应于来自例如传感系统708的信号或通过无线通信系统810发送到控制器706的无线命令信号,来启动移动清洁机器人102的操作。如果移动清洁机器人102包括用户输入设备(比如,可手动操作的按钮),则用户10可操作输入设备以使控制器706启动移动清洁机器人102的一个或多个操作。例如,可手动操作的按钮对应于按钮或触摸屏显示器上的按钮图标。在一些示例中,存储器718还存储控制器706实施的确定性运动图案,以导航移动清洁机器人102通过住宅300。例如,该图案包括直线运动图案、藤蔓图案、玉米穗图案、螺旋图案、Z字形图案或包括图案组合的其他图案。存储器718还存储由传感系统708的传感器收集的数据,该传感器包括任何航位推算传感器、定位传感器、状态传感器或传感系统708的其他传感器。如果控制器706构建住宅300的地图,则控制器706可选地将地图存储在非易失性存储设备868中,以便在随后的清洁任务中再次使用。
移动清洁机器人102可用的操作取决于移动清洁机器人102的类型。例如,如果移动清洁机器人102是吸尘清洁机器人,则存储器718包括用于执行地面清洁操作的例程。当吸尘清洁机器人接收到开始清洁任务的命令时,吸尘清洁机器人自主地在其环境中进行导航并从地面表面摄取碎屑来执行地面清洁操作。地面清洁操作包括房间清洁操作,其中控制器706以图案(例如,玉米纹图案、螺旋图案或其他适当的运动图案)来导航吸尘清洁机器人,以覆盖房间或多个房间的地面表面。
在一些示例中,地面清洁操作包括点清洁操作,其中吸尘清洁机器人在接收到执行点清洁操作的命令时将其清洁操作限制到局部区域。如由碎屑传感器检测到的,局部区域可包括更大量的检测到的碎屑。作为点清洁操作的一部分,控制器706附加地或替代地增加输送到吸尘清洁机器人的鼓风机的功率,以使吸尘清洁机器人更容易地吸收碎屑。为了执行点清洁操作,控制器706控制驱动系统,从而吸尘清洁机器人可在局部区域内以预定图案(例如螺旋图案)移动。任何地面清洁操作的启动可响应于传感器信号而产生。如果吸尘清洁机器人包括碎屑传感器,则控制器706可控制吸尘清洁机器人来响应于碎屑传感器检测到碎屑而执行点清洁操作。
在一些实施方式中,移动清洁机器人102与其环境中的其他设备通信或以其他方式交互。例如,移动清洁机器人102包括充电电池,该电池可在可与电池电连接的工作站处进行充电。在一些示例中,电池是插入工作站的可拆卸电池,而在其他示例中,移动清洁机器人102对接工作站,从而使工作站能够为电池充电。如图3所示,对接站332位于房间302A中。对接站332包括充电器,当移动清洁机器人102对接在对接站332处时(例如,物理地和/或电连接到对接站332),该充电器可操作以对移动清洁机器人102的电池充电。如果移动清洁机器人102是吸尘清洁机器人,则对接站332附加地或替代地用作抽空站,该抽空站包括用于从真空清洁机器人的碎屑箱中清空碎屑的电动容器。
在图3所示的另一个示例中,位于门口304B附近的发射单元334传送轴向定向的限制光束,该光束横跨门口304B的至少一段长度。发射单元334定位成使发射的限制光束可将房间302C与房间302B分开。在一些示例中,传感系统708包括检测发射的限制光束的全向检测器。响应于检测到限制光束,控制器706导航移动清洁机器人102以避免穿过限制光束,从而保持移动清洁机器人102在房间302C中或房间302C外的自主导航。例如,当全向检测器检测到限制光束时,移动清洁机器人102移动远离限制光束。如果第二移动清洁机器人103包括这样的全向检测器,则发射单元334限制第二移动清洁机器人103,从而第二移动清洁机器人103可在房间302C内自主地导航,而不会越过限制光束并因此越过门口304B。
在一些示例中,一个或多个发射单元将信号发射到环境中,该信号可由移动清洁机器人102上的定位传感器检测到。例如,该信号是在住宅300内保持静止的光学或声学信号。例如,如果发射单元在移动清洁机器人102导航通过住宅300的同时将窄定向的声学信号传送到住宅300中,则在移动清洁机器人102上的声学接收器接收到声学信号时,控制器706可定位到声学信号。声学信号可被引向墙壁表面,从而声学接收器可检测反射的声学信号,或声学信号可被引向地面表面,从而声学接收器可接收声学信号的直接发射。发射单元将这些信号中的一个或多个传送到住宅300,且移动清洁机器人102使用这些信号中的每个来作为定位特征。在一些示例中,发射单元将窄聚焦光束发射到住宅300中,传感系统708可检测到该光束,且控制器706使用该光束来定位住宅300内的移动清洁机器人102。
如图3和图4所示,移动清洁机器人102、202的无线通信系统使得能够在移动清洁机器人102、202和远程计算系统116之间或在移动清洁机器人102、202和移动计算设备94之间传输数据。远程计算系统116可被配置为包括远离移动清洁机器人102的环境的计算资源,例如,远离住宅300的计算资源。例如,如图4所示,远程计算系统116可包括一个或多个服务器计算机402,用于与每个移动清洁机器人102a、102b建立通信链路。在一些示例中,一个或多个服务器计算机402连接到一个或多个位于远程的服务器计算机(“云”计算网络404)的网络。例如,远程计算系统116包括网络可访问计算平台的一部分,该平台被实现为通过通信网络而维护和访问的处理器、存储、软件和数据库的计算基础设施。远程计算系统不要求用户10了解系统的物理位置和配置,远程计算系统也不要求用户10了解由远程计算系统116执行的例程或由远程计算系统116递送的服务。远程计算系统116可包括一个或多个数据库以存储移动机器人识别数据和相关联的用户数据。
移动清洁机器人102的航位推算和/或定位传感器可包括生成信号的传感器,从该传感器的信号可提取特征来定位移动清洁机器人102。航位推算和/或定位传感器可选地或另外包括远离移动清洁机器人102的传感器,例如,链接设备328A、328B上的传感器。
移动清洁机器人102可发射可由远程航位推算传感器检测的信号,从而在移动清洁机器人102在环境中四处导航时移动清洁机器人102的相对位置和/或取向的变化可使用来自这些传感器的输出来估计。
在一些实施方式中,链接设备328A、328B(例如,网络连接设备)可生成由远程计算系统116和移动清洁机器人102访问的信息,以提高持久性地图的准确性。链接设备328A、328B包括检测住宅300中的特征的传感器(比如,声学传感器、图像抓取系统)或生成可从中提取特征的信号的其他传感器。在一些示例中,链接设备328A、328B将从传感器信号导出的信息发送到远程计算系统116。远程计算系统116将与这些特征有关的信息与持久性地图上的特征相关联。
在一些实施方式中,链接设备328A、328B生成其自己的住宅300的部分地图,这些部分地图与机器人102维护的持久性地图进行比对。例如,链接设备328A、328B包括摄像头、光学传感器、测距传感器、声学传感器或其他生成信号用于形成链接设备328A、328B的环境地图的传感器。在一些示例中,链接设备328A、328B相互协作以形成地图。
链接装置328A,328B还可发射由移动清洁机器人102上的传感器接收的信号。移动清洁机器人102响应于来自链接设备部328A、328B的信号而使用由其传感器生成的信号来三角测量移动清洁机器人102的位置。例如,发射的信号可以是光信号、声信号、无线信号和其他强度随着它们在环境中传播而改变的可检测信号。
在一些实施方式中,在移动清洁机器人102的操作期间,移动清洁机器人102的传感系统可检测与移动清洁机器人102相关联的错误状态。远程计算系统116可接收错误状态的指示并向用户10发送消息且建议用户10纠正错误状态的基础。
可以分布式方式来执行本文中描述的每个过程的操作。例如,远程计算系统116、移动清洁机器人102和远程计算设备94可相互协同地执行一个或多个操作。在一些实施方式中,被描述为由远程计算系统116、移动清洁机器人102和移动计算设备94中的一个执行的操作可至少部分地由远程计算系统116、移动清洁机器人102和移动计算设备94中的两个或更多个来执行。
以下描述了使移动机器人202能够识别住宅中的物体的示例性技术。在识别出物体之后,移动机器人202可将持久性地图110更新成包括已被识别的物体。更新的持久性地图可与其他移动机器人共享。
图9示出了卷积神经网络900的一个示例性架构,该架构可用作识别模块206(图2)中的神经网络208。在该示例中,神经网络900包括四个卷积层、三个平均合并层和两个全连接层。在如图9所示的示例中,网络900的输入是包括椅子视图的图像。如果神经网络900被训练来识别椅子,则网络900的输出将指示图像中的物体是椅子。
图10示出了卷积神经网络1000的另一个示例性架构,该架构可用作识别模块206(图2)中的神经网络208。在该示例中,每个特征地图输出是将过滤器应用于图像的结果,新的特征地图则成为下一个输入。神经网络包括数个卷积层、平均合并层和全连接层。在图10所示的示例中,输入图像1002是包括椅子视图的图像。网络1000的输出1004指示图像中的物体很可能是椅子。
在一些实施方式中,机器人202可使用摄像头114来抓取住宅300中的周围环境的图像并识别物体以帮助机器人202执行各种任务或确定机器人202在地图110上的位置。参考图11,当移动机器人202围绕住宅300移动并执行清洁任务时,移动机器人202将地图更新成包括其通过摄像头114看到的各种标记物。例如,标记物可包括图案1100、QR码1102和信标1104中的一个或多个。移动机器人202识别标记物并将它们放置在地图110上。
在一些示例中,用户10可通知移动机器人202特定标记物(例如,1100、1102、1104)在特定房间中。这样,当机器人202看到特定标记物时,机器人202就知道其位于特定房间中。例如,第一标记物可放置在房间302A中,第二标记物可放置在房间302B中,第三标记物可放置在房间302C中,第四标记物可放置在房间302D中。假设用户10想要通知机器人202房间302A中的床306与标签“床”相关联。用户10可使用移动计算设备94的摄像头2306(图21)来获取房间302A中的标记物的第一图像、拍摄床306的第二图像、提供标识图像中的物体是“床”的标签,并将第一和第二图像以及标签发送至机器人202。机器人202识别第一图像中的标记物,因此其知道第二图像中的物体在房间302A中。基于用户提供的标签,机器人202知道第二图像中的物体是房间302A中的“床”。机器人202可更新持久性地图110、将床306添加到地图110,并将地图110上新添加的物体与标签“床”相关联。
在移动计算设备94上执行的增强现实模块2308(图21)可生成虚拟空间并使用视觉惯性测距技术来跟踪用户居住的真实世界空间与具有视觉虚拟内容的虚拟空间之间的对应关系,其中来自运动传感器的信息与由一个或多个摄像头抓取的场景图像的计算机视觉分析相结合。当虚拟内容与现场摄像头图像一起显示时,用户体验到了增强现实,具有虚拟内容是现实世界的一部分的幻觉。增强现实模块2308可用于帮助机器人202确定哪个物体正被用户10标记。在增强现实过程中,增强现实模块2308建立虚拟空间的坐标系并跟踪虚拟空间和现实世界空间之间的对应关系。
在一些实施方式中,用户10可使用在移动计算设备94上执行的增强现实模块2308来确定住宅300中的物体(例如,椅子)的虚拟空间坐标、确定移动清洁机器人202的虚拟空间坐标,并确定移动清洁机器人202在虚拟空间中的方位角。由于虚拟空间与现实世界之间的对应关系,移动清洁机器人202可基于物体相对于移动清洁机器人202的虚拟空间位置来确定住宅300中的物体(例如,椅子)相对于移动清洁机器人202的真实世界位置。同样,移动清洁机器人202可基于移动清洁机器人202相对于虚拟空间中的对应参考方向的方位角来确定移动清洁机器人202相对于现实世界中的参考方向的方位角。
在一些示例中,移动计算设备94基于虚拟空间中的物体(例如,椅子)的坐标与虚拟空间中的移动清洁机器人202的坐标之间的差异来确定物体(例如,椅子)相对于移动清洁机器人202的位置。移动计算设备94向移动清洁机器人202发送关于物体(例如,椅子)的相对位置的信息和关于移动清洁机器人202的方位角的信息。基于关于物体(例如,椅子)的相对位置的信息和关于移动清洁机器人202的方位角的信息,移动清洁机器人202可确定物体(例如,椅子)的位置并导航到该物体。
在一些示例中,移动计算设备94向移动清洁机器人202发送物体(例如,椅子)的虚拟空间坐标、移动清洁机器人202的虚拟空间坐标,以及移动清洁机器人202相对于虚拟空间中的参考方向的方位角。基于所接收的信息,移动清洁机器人202确定物体(例如,椅子)的相对坐标并导航到该物体。
例如,移动计算设备94使用增强现实模块2308来确定与地面表面平行并位于地面表面上的虚拟平面。虚拟平面对应于虚拟空间的坐标系中的x-y平面。移动计算设备94使用增强现实模块2308来确定物体(例如,椅子)位于虚拟空间中的坐标(x1,y1,0)处、移动清洁机器人202位于虚拟空间中的坐标(x2,y2,0)处,并确定移动清洁机器人的方位角是相对于+x轴的θ度数。移动计算设备94将相关信息发送到移动清洁机器人202。移动清洁机器人202确定物体处于相对于机器人202的当前航向顺时针的角度的方向,并且相对于机器人202有的距离。因此,如果用户10将物体识别为“椅子”,则移动机器人202知道与标签“椅子”相关联的物体处于相对于机器人202的当前航向顺时针的角度的方向,并且相对于机器人202有的距离。增强现实模块2308为用户10提供便利的机制,以将关于现实世界物体的信息传达给移动机器人202。
在一些实施方式中,移动计算设备94在例如触摸屏显示器上提供用户界面2304,以使用户10能够容易地识别住宅300中的物体并识别移动清洁机器人202。例如,用户10可将移动计算设备94的摄像头2306指向用户10想要识别的物体(例如,椅子)(即,向机器人202提供标签),并在触摸屏显示器上显示包括物体的场景的图像。用户10通过触摸触摸屏显示器上的图像中的点来提供触摸输入以识别物体。增强现实模块2308执行图像分析以确定现实世界中与用户10识别的图像中的点对应的第一点,并确定虚拟空间坐标系中第一点的坐标。然后,用户10将移动计算设备94移动到移动清洁机器人202的附近。当用户10从待识别的物体(例如,椅子)的附近移动到移动清洁机器人202的附近时,增强现实模块2308继续分析由摄像头2306抓取的图像和由运动传感器2310提供的运动感测数据,并使用视觉惯性测距技术来确定移动计算设备94在现实世界中的位置和取向。
用户10将移动计算设备94的摄像头2306指向移动清洁机器人202,并在触摸屏显示器上显示移动清洁机器人202的图像。在一些实施方式中,系统分析由摄像头2306抓取的场景图像(例如,使用深度机器学习模块,该模块具有例如已被训练以识别移动机器人的神经网络),并在没有来自用户10的进一步输入的情况下自动识别移动清洁机器人202。增强现实模块2308执行图像分析以确定现实世界中与图像中移动清洁机器人202的点(例如,中心)对应的第二点,并确定虚拟空间坐标系中第二点的坐标。系统可将第一点的坐标和第二点的坐标发送至移动清洁机器人202,且移动清洁机器人202可确定第一点相对于第二点的位置。或者,系统可基于第一点坐标与第二点坐标之间的差异来确定第一点相对于第二点的位置,并将相对位置信息发送至移动清洁机器人202。
在一些实施方式中,系统提供用户界面,使用户10能够手动旋转移动清洁机器人202来改变移动清洁机器人202的方位角,以便移动清洁机器人202与某个方向对齐,例如,+x轴或+y轴。在一些实施方式中,系统分析由摄像头2306抓取的场景图像,并在没有来自用户的进一步输入的情况下自动识别移动清洁机器人202的方位角。移动计算设备94向移动清洁机器人202发送关于待识别的物体(例如,椅子)的相对位置的信息(或移动清洁机器人202的坐标和物体的坐标)和关于移动清洁机器人202的方位角的信息。基于关于物体的相对位置的信息(或移动清洁机器人202的坐标和物体的坐标)和关于移动清洁机器人202的方位角的信息,移动清洁机器人202可确定物体的位置、导航到该物体,并将用户提供的标签与该物体相关联。
在一些示例中,移动清洁机器人202不必导航到该物体,从而将用户提供的标签与物体相关联。基于移动计算设备94提供的坐标信息,移动清洁机器人202可将物体放置在地图110上并将物体与用户提供的标签相关联。在一些示例中,移动清洁机器人202导航到该物体、从各个角度抓取物体的图像并使用物体的图像来训练神经网络124都是有用的,以便神经网络将来能够识别物体。
在一些实施方式中,移动计算设备94包括具有第一神经网络(例如,卷积神经网络)的第一图像检测模块,该模块被配置为识别移动清洁机器人202。第一神经网络使用移动清洁机器人202或相同型号的其他移动清洁机器人的若干图像来进行训练。训练图像包括从相对于移动清洁机器人202的各种距离、相对于移动清洁机器人202的各种视角以及在各种照明条件下拍摄的移动清洁机器人202的图像。这使训练的神经网络能够在各种照明条件和以下各种情况下识别移动清洁机器人202:用户可将移动计算设备94的摄像头2306保持在相对于移动清洁机器人202的任意距离(在特定范围内)和任意视角处。
在一些实施方式中,移动计算设备94包括具有第二神经网络的第二图像检测模块,该模块被配置为识别移动清洁机器人202的方位角。第二神经网络使用移动清洁机器人202或相同型号的其他移动清洁机器人(其中移动清洁机器人202以各种角度定向)的若干图像来进行训练。训练图像包括从相对于移动清洁机器人202的各种距离、相对于移动清洁机器人202的各种视角以及在各种照明条件下拍摄的移动清洁机器人202的图像。这使训练的神经网络能够在各种照明条件和以下各种情况下识别移动清洁机器人202的方位角:用户可将移动计算设备94的摄像头2306保持在相对于移动清洁机器人202的任意距离(在特定范围内)和任意视角处。
在一些实施方式中,在增强现实过程期间,用户10识别住宅300中的三个或多个标记物(不在同一平面中)和物体(例如,椅子),且增强现实模块2308确定标记物和虚拟空间中的物体(例如,椅子)的坐标。移动计算设备94向机器人202发送标记物的坐标和物体(例如,椅子)的坐标。
如上所述,当移动机器人202在住宅300中移动并执行清洁任务时,机器人202将地图110更新成包括其通过摄像头114看到的各种标记物。机器人202知道机器人坐标系中标记物的坐标。通过使用关于标记物的信息,机器人202可执行坐标变换或三角测量来确定物体的位置。基于三维(3D)虚拟空间坐标系中三个或多个标记物的坐标和3D机器人坐标系中标记物的坐标,机器人202可确定3D虚拟空间坐标系和3D机器人坐标系之间的变换。在给定虚拟空间坐标系中物体(例如,椅子)的坐标的情况下,并基于关于虚拟空间坐标系和机器人坐标系之间变换的信息,机器人202可确定机器人坐标系中的物体(例如,椅子)的坐标。因此,如果用户使用增强现实模块2308将物体识别为“椅子”,则机器人202可确定哪个物体被用户10标记为“椅子”。
如果机器人202知道物体到标记物的距离,则机器人202可使用3D三角测量来确定物体相对于三个或多个标记物的位置。例如,使用虚拟空间坐标系中的标记物和物体(例如,椅子)的坐标信息,机器人202可确定从物体(例如,椅子)到每个标记物的距离。使用关于机器人坐标系中标记物的坐标的信息以及关于从物体(例如,椅子)到每个标记物的距离的信息,机器人202可通过三角测量来确定机器人坐标系中的物体(例如,椅子)的坐标,并因此可确定用户10将哪个物体标记为“椅子”。
参考图12,在一些实施方式中,标记物可做得很小并放置在不显眼的位置。例如,QR码1202可放置在安装在天花板上的火灾探测器1204上。作为另一个示例,QR码可放置在嵌入式天花板灯的框架上。多个QR码可放置在天花板上的选定位置。通过将QR码1202和其他标记物放置在天花板上或天花板附近,标记物对住宅300的装饰几乎没有影响并更少地分散用户10的注意力。机器人202设置有高分辨率摄像头或变焦镜头,这使得机器人202能够检测天花板上或附近的标记物。当机器人202在住宅300中移动时,同时定位和映射(SLAM)传感器将跟踪天花板上或天花板附近的物体的位置,包括标记物(例如,QR码1202)。
例如,当增强现实模块2308用于确定机器人202和物体的坐标时,在移动计算设备94上执行的机器人管理程序2312(图21)将提示用户10扫描标记物,比如,天花板上的QR码1202。增强现实模块2308确定天花板上的标记物的坐标,并使用该信息来帮助与机器人202共享虚拟空间坐标系。这样,当用户10识别虚拟空间中的物体且增强现实模块2308确定虚拟空间中的物体的坐标时,机器人202可确定用户10正在识别哪个物体。
例如,使用增强现实模块2308,用户10可在住宅300中到处走动、将移动计算设备94的摄像头2306指向各种物体,且物体的图像出现在移动计算设备94的触摸屏显示器上。用户10轻敲图像中的物体(比如,椅子),并通过用户界面2304来提供标签“椅子”。增强现实模块2308确定虚拟空间中的椅子的坐标。移动计算设备94将椅子的虚拟空间坐标和标签“椅子”发送至机器人202。使用坐标变换或三角测量,机器人202确定被标记为“椅子”的物体的机器人坐标。在下一次机器人202于椅子附近导航时,机器人202就知道该物体与用户10提供的标签“椅子”相关联。以类似的方式,用户可快速地向住宅300中的其他物体提供标签,且机器人202将能够确定哪些标签适用于哪些物体。
在一些实施方式中,用户10可将属性分配给住宅300中的物体,且移动机器人202可执行任务时考虑属性。可将物体的属性添加到持久性地图110。例如,用户10可指示某些物体(比如,地面花瓶或某些木制家具)具有“无接触”属性。当移动机器人202遇到与“无接触”属性相关联的物体时,机器人202可在物体附近使用“无接触”导航模式,以便机器人202可不接触物体而避免损坏物体。
参考图13,在一些实施方式中,持久性地图110可包括对用户10有用的附加信息。例如,当机器人102在住宅300中到处移动时,机器人102确定住宅300中的各个位置处的Wi-Fi信号强度,并将该信息记录在持久性地图110中。机器人102将关于各个位置处的Wi-Fi信号强度的信息发送到移动计算设备104,机器人管理程序2312则使用该信息来生成覆盖在显示给用户10的地图2302上的Wi-Fi热图1302。
Wi-Fi热图1302示出了住宅300中具有较强Wi-Fi信号的区域,以及住宅300中具有较弱Wi-Fi信号的区域。Wi-Fi热图1302可帮助用户10确定Wi-Fi路由器是否被放置在最佳位置,并确定将电子设备放置在住宅300中的何处,以便设备可接收更强的Wi-Fi信号。
参考图14,在一些实施方式中,机器人102a、102b可使用来自用户10的日历1402的信息来智能地安排任务。机器人102a、102b向移动计算设备94发送请求1404,以请求访问用户10的日历1402。移动计算设备94将日历1402发送到机器人102a、102b。应当理解,用户10先前已批准了在移动计算设备94与机器人102a和102b之间共享日历。日历1402包括日历条目1406,其中指示在12月31日星期日下午5点到凌晨1点有一个新年派对,以及1月6日星期六下午12点到3点有个家庭聚会。
机器人102a、102b的任务调度器106在考虑日历信息1402的情况下来安排清洁任务。例如,机器人102a、102b的任务调度器106可安排第一地面房间中的清洁任务将在12月31日下午4点之前完成,以便住宅可为当天下午5点开始的新年派对做好准备。机器人102a、102b的任务调度器106可安排第一地面房间中的清洁任务将在1月6日上午11点之前完成,以便住宅可为当天中午开始的家庭聚会做好准备。机器人102a和102b可相互协调以在第一地面的各个房间中划分清洁任务,从而可按时完成清洁任务。在一些示例中,机器人102a和102b可并行执行清洁任务。在一些示例中,机器人102a和102b可依次执行清洁任务,以便第一机器人102a可在第二机器人102b在对接站332处充电时执行清洁任务,而第二机器人102b可在第一机器人102a在对接站332处充电时执行清洁任务。
在一些实施方式中,移动机器人102a和102b可根据用户10的日程来改变它们协作执行清洁任务的方式。例如,每个清洁机器人102a、102b可跟踪执行特定清洁任务所需的时间量,比如,清洁房间302A、302B、302C和302D中每个所需的时间量。机器人102a和102b可正常地以“顺序模式”操作,从而机器人102a和102b可按序操作,以便在给定时间时仅一个机器人正在清洁住宅。假设机器人102a、102b通常被安排在上午9点到晚上11点之间清洁住宅,当机器人102a和102b按序操作时需要大约2小时来完成房间302A到302D的清洁。基于日历1402提供的信息,机器人102a、102b知道在1月3日上午10点存在事件1410。机器人102a和102b可切换到以“并行模式”操作,从而机器人102a和102b可并行操作。这样,机器人102a、102b可在从上午9点到上午10点的一小时内完成住宅的清洁。
参考图15,提供了用于操作移动机器人以与另一个移动机器人协调的示例性过程1500。例如,移动机器人可以是移动清洁机器人,比如,图1的机器人102a或102b或图2的机器人202a或202b。过程1500包括在移动清洁机器人的本地存储设备处存储环境的持久性地图(1502)。例如,移动清洁机器人可以是移动机器人102a,本地存储设备可以是存储设备108,持久性地图可以是持久性地图110(图1)。
过程1500包括使用所述移动清洁机器人的至少一个传感器来感测所述环境以生成感测数据(1504)。例如,至少一个传感器可以是一个或多个摄像头114,环境可以是住宅300或400。感测数据可以是由摄像头114抓取的图像。
过程1500包括使用所述持久性地图和所述感测数据来在所述环境中使用所述移动清洁机器人的一个或多个数据处理器进行导航(1506)。例如,一个或多个数据处理器可以是控制模块104的一个或多个数据处理器,该模块与导航模块112组合来控制机器人102a在环境中导航。
过程1500包括与第二移动清洁机器人共享持久性地图(1508)。例如,第一移动机器人102a可生成或更新持久性地图110,并与第二移动机器人102b共享该地图。在一些示例中,如图1所示,共享地图110可涉及将地图110上传到远程计算系统116。在一些示例中,如图2所示,共享地图110可涉及将地图从第一移动机器人202a发送到第二移动机器人202b。
过程1500包括与所述第二移动清洁机器人协调以执行清洁任务。例如,当清洁住宅300时,第一移动机器人102a可与第二移动机器人102b协调。例如,第一机器人102a可执行第一清洁任务,并在完成第一清洁任务且返回其对接站时,通知第二机器人102b道第一机器人102a已完成第一清洁任务。响应于接收第一机器人102已完成第一清洁任务的消息,第二机器人102b可开始执行第二清洁任务。
例如,第一机器人102a可在不完成第一清洁任务的情况下执行第一清洁任务。第一机器人102a可清洁房间302B的第一部分并返回到对接站以对其电池充电。第一机器人102a可向第二机器人102b发送消息,来表明房间302B的第一部分已被清洁,且清洁任务停止在房间302B中的第一位置。在从第一机器人102a接收到消息时,第二机器人102b导航到房间302B中的第一位置并继续清洁房间302B的剩余部分。
例如,第一移动机器人102a可与第二移动机器人102b并行地清洁房间,其中第一移动机器人102a从房间的一端开始清洁,而第二移动机器人102从房间的另一端开始清洁。
参考图16,提供了用于操作具有组合能力的多个移动机器人的示例性过程1600。例如,移动机器人可以是移动清洁机器人,比如,图1的机器人102a、102b或图2的机器人202a、202b。过程1600包括在服务器计算机的存储设备处存储环境的持久性地图的多个版本或所述环境的持久性地图更新的多个版本(1602)。例如,服务器计算机可以是远程计算系统116(图1),存储设备可以是存储设备118。持久性地图的多个版本可以是持久性地图120的版本,持久性地图更新的多个版本可以是持久性地图更新122的版本。环境可以是,例如,住宅300或400。
过程1600包括使用所述服务器计算机的一个或多个数据处理器来管理所述持久性地图的多个版本或所述持久性地图更新的多个版本(1604)。
所述管理地图版本或地图更新版本包括:在从第一移动清洁机器人接收请求访问所述持久性地图或所述持久性地图更新的请求时,向所述第一移动清洁机器人提供所述持久性地图或所述持久性地图更新的多个版本中的一个版本(1606)。例如,远程计算系统116可从第一移动机器人102a接收请求,并作为响应来将持久性地图120或持久性地图更新122的多个版本中的一个版本提供给第一移动清洁机器人102a。
所述管理地图版本或地图更新版本还包括:在从第二移动清洁机器人接收请求访问所述持久性地图或所述持久性地图更新的请求时,向所述第二移动清洁机器人提供所述持久性地图或所述持久性地图更新的多个版本中的一个版本(1608)。例如,远程计算系统116可从第二移动机器人102b接收请求,并作为响应来将持久性地图120或持久性地图更新122的多个版本中的一个版本提供给第二移动清洁机器人102b。
参考图17,提供了用于操作具有组合能力的多个移动机器人的示例性过程1700。例如,移动机器人可以是移动清洁机器人,比如,图1的机器人102a、102b或图2的机器人202a、202b。过程1700包括使用第一移动清洁机器人来执行第一组清洁任务(1702)。例如,第一移动清洁机器人可以是第一机器人102a或202a。
过程1700包括使用第二移动清洁机器人来执行第二组清洁任务(1704)。例如,第二移动清洁机器人可以是第二机器人102b或202b。
过程1700包括在所述第一移动清洁机器人和所述第二移动清洁机器人之间共享环境的持久性地图(1706)。例如,该持久性地图可以是持久性地图110。
过程1700包括使用所述持久性地图在所述环境中来导航所述第一移动清洁机器人(1708)。例如,第一移动机器人102a可使用存储在第一移动机器人102a的存储设备中的地图110来在住宅300中导航。
过程1700包括使用所述持久性地图在所述环境中来导航所述第二移动清洁机器人(1710)。例如,第二移动机器人102b可使用存储在第二移动机器人102b的存储设备中的地图110来在住宅300中导航。
过程1700包括在执行所述第一组清洁任务和所述第二组清洁任务时协调所述第一移动清洁机器人和所述第二移动清洁机器人(1712)。例如,当清洁住宅300时,第一和第二移动机器人102a和102b(或202a和202b)可相互协调。机器人102a可清洁卧室302A,机器人102b可清洁浴室302C,且机器人102a和102b均可平行地清洁餐厅302B。第一移动机器人102a可从餐厅302B的一端开始清洁,而第二移动机器人102b可从餐厅302B的另一端开始清洁。
参考图18,提供了用于操作具有组合能力的多个移动机器人的示例性过程1800。例如,移动机器人可以是移动清洁机器人,比如,图1的机器人102a、102b或图2的机器人202a、202b。过程1800包括在第一移动清洁机器人处生成或接收环境的地图(1802)。例如,第一移动清洁机器人可以是第一移动机器人102a或202a。该地图可以是持久性地图110。
过程1800包括在所述第一移动清洁机器人处使用所述地图在所述环境中导航并执行清洁任务(1804),例如,第一移动机器人102a或202a可使用地图110来在住宅300、400中导航并在住宅300、400中执行清洁任务。
过程1800包括在所述第一移动清洁机器人处感测所述环境以识别所述环境中的第一组特征(1806)。例如,第一移动机器人102a、202a可抓取住宅300的图像并识别住宅300中的物体。
过程1800包括在所述第一移动清洁机器人处更新所述地图以添加由所述至少一个传感器感测到的尚未在所述地图上的特征(1808)。例如,移动机器人102a、202a可检测住宅300中尚未在地图110上的家具等新物体,并更新地图110以添加关于新物体(例如,新家具)的信息。
过程1800包括在所述第一移动清洁机器人处与一个或多个其他移动清洁机器人共享所述更新的地图(1810)。
过程1800包括在第二移动清洁机器人处接收由所述第一移动清洁机器人共享的更新的地图的副本(1812)。
过程1800包括在所述第二移动清洁机器人处感测所述环境来识别第二组特征,其中所述第二组特征中的一些与所述地图上已的一些所述特征重叠(1814)。例如,第二机器人102a可识别已在地图110上的家具物品。
过程1800包括在所述第二移动清洁机器人处识别所述地图上与由所述至少一个传感器感测到的所述第二组特征中的至少一些特征相对应的特征,并基于所述地图上识别的特征来在所述地图上定位所述第二移动清洁机器人(1816)。例如,第二机器人102a可将其已识别的家具物品的位置与地图110上的家具的位置进行比对,以帮助确定机器人102在地图上的位置。
过程1800包括在所述第二移动清洁机器人处使用所述地图在所述环境中来导航(1818)。
过程1800包括在所述第二移动清洁机器人处更新所述地图以添加由所述至少一个传感器感测到的尚未在所述地图上的特征,并与所述第一移动清洁机器人共享所述更新的地图(1820)。
参考图19,提供了用于操作具有组合能力的多个移动机器人的示例性过程1900。例如,移动机器人可以是移动清洁机器人,比如,图1的机器人102a、102b或图2的机器人202a、202b。过程1900包括将环境的持久性地图存储在所述服务器计算机的存储设备中(1902)。
过程1900包括使用所述服务器计算机来管理对所述持久性地图的访问(1904)。
过程1900包括在第一移动清洁机器人处从所述服务器计算机接收所述环境的持久性地图的至少一部分(1906)。
过程1900包括使用所述持久性地图在所述环境中来导航所述第一移动清洁机器人(1908)。
过程1900包括使用所述第一移动清洁机器人来在所述环境中执行第一组清洁任务(1910)。
过程1900包括在第二移动清洁机器人处从所述服务器计算机接收所述环境的持久性地图的至少一部分(1912)。
过程1900包括使用所述持久性地图在所述环境中来导航所述第二移动清洁机器人(1914)。
过程1900包括使用所述第二移动清洁机器人来在所述环境中执行第二组清洁任务(1916)。
参考图20,提供了用于操作具有组合能力的移动机器人的示例性过程2000。例如,移动机器人可以是移动清洁机器人,比如,图1的机器人102a或102b或图2的机器人202a或202b。过程2000包括在移动清洁机器人处从多个移动清洁机器人可访问的远程存储设备接收环境的持久性地图(2002)。
过程2000包括将所述持久性地图存储到所述移动清洁机器人的本地存储设备中(2004)。
过程2000包括控制所述移动清洁机器人以使用所述持久性地图在所述环境中导航并执行清洁任务(2006)。
过程2000包括使用所述移动清洁机器人的至少一个传感器来感测所述环境以识别所述环境中的一组特征(2008)。
过程2000包括更新所述持久性地图以添加由所述至少一个传感器感测到的尚未在所述持久性地图上的特征(2010)。
过程2000包括将所述更新的持久性地图上传到所述远程存储设备以与所述其他移动清洁机器人共享所述更新的持久性地图(2012)。
参考图21,在一些实施方式中,移动计算设备94可以是,例如移动电话、平板计算机或可穿戴计算设备(比如,智能眼镜)。移动计算设备94包括一个或多个数据处理器2314,以及一个或多个摄像头2306。每个摄像头2306包括对可见光和可选地对红外光敏感的一个或多个图像传感器。移动计算设备94包括一个或多个运动传感器2310,这些传感器能够检测设备94的移动和取向。
移动计算设备94包括存储设备2316,该设备存储用于增强现实工具包或模块2308的程序指令以及用于移动机器人管理程序2312的程序指令。机器人管理程序2312使用户能够管理机器人102或202的操作(比如,安排要由机器人102或202执行的清洁任务),或能够修改地图2302(比如,向地图2302中的物体添加标签)。增强现实模块2308提供使用户在增强现实过程中可识别环境中的物体的工具。可将关于各种物体的识别的信息发送到移动机器人102或202。
移动计算设备94和移动清洁机器人102中的每个具有无线通信模块,使移动计算设备94能够与移动清洁机器人102通信。移动计算设备94包括触摸屏显示器,该显示器示出了使用户能够管理移动机器人102的操作的用户界面2304。例如,用户界面2304可示出住宅的地图2302,其中地图2302基于由移动机器人102维护的持久性地图110而生成。持久性地图110包括大量信息,这些信息对于机器人102在住宅中导航并执行各种任务是有用的,但并非持久性地图110中的所有信息都对用户有用。因此,地图2302可包括来自持久性地图110的信息的一部分,该信息以对用户友好的方式呈现。
例如,在用户界面2304上示出的地图2302可包括住宅中各个房间的墙壁的轮廓,以及门口、楼梯、家具和电器的图示。地图2302可显示移动机器人102在住宅中的当前位置。附加的有用信息可覆盖在地图2302上,比如,最近由机器人102清洁的区域,或阻止机器人102执行所分配的任务的条件。用户界面2304可示出具有可选选项的菜单2318,例如,使用户能够选择机器人102的操作模式。用户界面2304可显示来自机器人102的通知2320,比如,告知用户已经完成清洁任务、已经清洁了特定房间或阻止执行清洁任务的条件。
本文所述的自主移动机器人可至少部分地使用一个或多个计算机程序产品(例如,有形地体现在一个或多个信息载体(比如,一个或多个非暂时性机器可读介质中的一个或多个计算机程序))来控制,用于执行或控制一个或多个数据处理设备(例如,可编程处理器、计算机、多个计算机和/或可编程逻辑组件)的操作。
与控制本文所述的自主移动机器人相关联的操作可由执行一个或多个计算机程序的一个或多个可编程处理器执行,以执行本文所述的功能。计算机程序可以用任何形式的编程语言编写,包括编译或解释语言,并且可以任何形式部署,包括作为独立程序或作为模块、组件、子程序或其他适合于计算环境的单元。对本文所述的全部或部分机器人的控制可使用专用逻辑电路(例如,FPGA(现场可编程门阵列)和/或ASIC(专用集成电路))来实现。
本文所述的控制器可包括一个或多个处理器。作为示例,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储区域或随机存取存储区域或两者中接收指令和数据。计算机的元件包括用于执行指令的一个或多个处理器和用于存储指令和数据的一个或多个存储区域设备。通常,计算机还将包括或可操作地耦合到从一个或多个机器可读存储介质(比如,硬盘驱动器、磁盘、磁光盘或光盘)以接收数据或将数据传输到或两者均实施。适用于实现计算机程序指令和数据的机器可读存储介质包括各种形式的非易失性存储区域,例如,包括但不限于,半导体存储设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM光盘。
上述用于实现用于情境感知的机器人人工智能的过程可使用用于在一个或多个移动计算设备、一个或多个移动机器人和/或一个或多个远程计算设备上执行的软件来实现。例如,该软件在一个或多个计算机程序中形成程序,这些程序在移动机器人、移动计算设备或远程计算系统(可以是各种体系结构,比如,分布式客户端/服务器或网格)上的一个或多个编程或可编程计算机系统上执行,其中每个包括至少一个处理器、至少一个数据存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个有线或无线输入设备或端口、以及至少一个有线或无线输出设备或端口。该软件可形成较大程序的一个或多个模块,例如,该模块提供与管理家庭操作相关的其他服务,比如,家庭的清洁活动和安全监控。
该软件可在诸如CD-ROM、DVD-ROM或蓝光盘之类的介质上提供、可由通用或专用可编程计算机读取或通过网络递送(以传播信号编码)到执行其的计算机。这些功能可在专用计算机上执行,也可使用专用硬件(比如,协同处理器)来执行。软件可以分布式方式来实现,其中由软件指定的计算的不同部分由不同的计算机来执行。每个这样的计算机程序优选地存储在或下载到可由通用或专用可编程计算机读取的存储介质或设备(例如,固态存储器或介质,或磁或光学介质)中,用于在计算机系统读取存储介质或设备以执行本发明所述的过程时,来配置和操作计算机。本发明的系统还可被认为是实现为配置有计算机程序的计算机可读存储介质,其中如此配置的存储介质使计算机系统以特定和预定义的方式来操作,以执行本发明所述的功能。
已经描述了本说明书的多个实施例。然而,应该理解,在不脱离本说明书的精神和范围的情况下,可进行各种修改。例如,上述一些步骤可以是与顺序无关的,因此可以与所述的顺序不同的顺序来执行这些步骤。应理解,前述说明旨在描述,而非限制本发明的范围,本发明的范围由所附权利要求的范围限定。
类似于移动机器人202a和202b,移动机器人102a和102b还可具有识别模块206(包括神经网络208)、学习模块210和附加传感器212。
移动计算设备94可以是,例如智能手表、智能相机、智能护目镜或能够执行上述移动计算设备的功能的任何其他便携式设备。用户10可使用各种方法来识别物体。例如,用户可具有家庭机器人和移动清洁机器人。家庭机器人可在家中移动并使用自然语言与用户交互。家庭机器人可提供安全监控功能和其他服务,比如,播放音乐、回答用户问题、设置用户日历以及控制住宅中的各种设备。用户可指向一个物体并与家庭机器人交谈道:“这是一把椅子。”家庭机器人具有摄像头并可识别用户指出的物体(例如,椅子)、确定物体的坐标,并将关于坐标和标签的信息(例如,“椅子”)发送到移动清洁机器人。
识别模块122可使用各种机器学习技术来训练。例如,可实现监督学习技术,其中训练基于输入已知的期望输出。监督学习可被视为尝试将输入映射到输出,然后估计先前未使用的输入的输出。还可使用无监督学习技术,其中从已知的输入但未知的输出来提供训练。还可采用强化学习技术,其中系统可被认为是从所采取的动作的结果中学习(例如,输入值是已知的且反馈提供了性能测量)。在一些布置中,所实现的技术可采用这些方法中的两种或多种。
如上所述,神经网络技术可使用各种模型的移动清洁机器人的图像来实现,以调用训练算法来自动学习识别机器人及其方位角。这种神经网络通常采用多个层。一旦定义了每层的层和单元的数量,则通常设置神经网络的权重和阈值以通过网络的训练来最小化预测误差。用于最小化误差的这种技术可被认为是将模型(由网络表示)拟合到训练数据。可定义用于量化误差的函数(例如,在回归技术中使用的平方误差函数)。通过最小化误差,可开发出能够识别物体(例如,椅子或机器人)的第一神经网络,并可开发出能够确定物体的方位角的第二神经网络。当训练第二神经网络以识别方位角时,因为方位角的误差是周期性的(具有0到360°范围内的值),所以周期性损失函数如(min(|Delta_error-360|,|360-Delta_error|)^2)可用于训练神经网络。在神经网络开发期间也可考虑其他因素。例如,模型可过于紧密地尝试来拟合数据(例如,将曲线拟合到整体函数的建模降级的程度)。神经网络的这种过拟合可在模型训练期间发生,而可实施一种或多种技术以减少其影响。
可实现一种或多种技术来用于根据从训练图像计算的数据而训练识别模块。例如,识别模块的神经网络可通过从计算的数据定义代价函数来训练。通常,代价函数可被视为提供与最优解决方案相比的解决方案的度量。对于采用监督学习的机器学习,可考虑代价函数来辅助输出和目标之间的映射(例如,通过最小化误差)。实现无监督学习,可定义代价函数(例如,定义为数据的函数)并最小化来提供输出值。涉及人工神经网络训练的技术也可采用涉及代价函数的技术。例如,可关于函数的参数来处理代价函数(例如,计算导数),以确定输出值。可将正则化分量添加到代价函数中以抵消函数的过拟合。为了辅助机器学习,代价函数提供了成本和导数。
通常,执行一系列训练循环以准备机器学习系统(例如,图2中的识别模块122)。一旦训练完成,系统则可用于检测图像中的物体和物体的方位角。
深度机器学习可用于识别模块122,其中一组算法试图通过使用具有复杂结构或由多个非线性变换组成的模型架构来模拟数据中的高级抽象。可认为这种深度学习技术是基于数据的学习图示。深度学习技术可被认为是使用多层非线性处理单元的级联来进行特征提取和变换。下一层使用前一层的输出作为输入。算法可以是监督的、无监督的、或监督的和无监督的组合。该技术是基于对多级特征或数据表示的学习(例如,移动清洁机器人的特征)。可在每一层采用多层非线性处理单元以及图示的有监督或无监督学习,同时这些层形成从低级到高级特征的层级。通过采用这些层,许多参数化变换被用来作为从输入层到输出层的数据传播。

Claims (30)

1.一种系统,包括:
移动清洁机器人,所述移动清洁机器人包括:
本地存储设备,所述本地存储设备用于存储环境的持久性地图;
至少一个传感器,所述至少一个传感器用于感测所述环境;以及
控制模块,所述控制模块被配置为:
控制所述移动清洁机器人以使用所述持久性地图和由所述至少一个传感器提供的感测数据来在所述环境中进行导航,
与第二移动清洁机器人共享所述持久性地图,以及
与所述第二移动清洁机器人协调以执行清洁任务。
2.根据权利要求1所述的系统,其特征在于,所述控制模块被配置为:
控制所述至少一个传感器以感测所述环境来识别所述环境中的一组特征,
更新所述持久性地图以添加由所述至少一个传感器感测到的尚未在所述持久性地图上的所述特征的表示,以及
与所述第二移动清洁机器人共享所述更新的持久性地图。
3.根据上述权利要求中任意一项所述的系统,其特征在于,所述移动清洁机器人被配置为:
执行多次清洁活动,并在每次清洁活动开始之前,从远程存储设备接收所述持久性地图的一个版本或持久性地图更新中的至少一个,以及执行至少下列步骤之一:(i)将接收到的持久性地图存储在所述本地存储设备中,或(ii)使用接收到的持久性地图更新来更新本地存储的持久性地图;以及
在每次清洁活动中,将所述第一移动清洁机器人定位在所述持久性地图上、感测所述环境的特征、更新所述持久性地图以添加由所述第一移动清洁机器人感测的尚未在所述地图上的特征的表示,并将更新的持久性地图存储在所述远程存储设备中。
4.一种系统,包括:
服务器计算机,所述服务器计算机包括:
存储设备,所述存储设备被配置为存储环境的持久性地图的多个版本或所述环境的持久性地图更新的多个版本中的至少一个;以及
一个或多个数据处理器,所述一个或多个数据处理器被配置为执行指令以执行以下步骤:
管理所述持久性地图的多个版本或所述持久性地图更新的多个版本中的至少一个;
当接收来自于第一移动清洁机器人的请求访问所述持久性地图或所述持久性地图更新的请求时,向所述第一移动清洁机器人提供所述持久性地图或所述持久性地图更新的多个版本中的一个版本;以及
当接收来自于第二移动清洁机器人的请求访问所述持久性地图或所述持久性地图更新的请求时,向所述第二移动清洁机器人提供所述持久性地图或所述持久性地图更新的多个版本中的一个版本。
5.根据权利要求4所述的系统,其特征在于,所述服务器计算机被配置为当接收来自于所述移动清洁机器人的所述请求时,向所述移动清洁机器人中的每个提供最新版本的所述持久性地图或所述持久性地图更新。
6.根据权利要求4或5所述的系统,其特征在于,所述服务器计算机被配置为接收来自于所述第一移动清洁机器人的更新的持久性地图或持久性地图更新,并当接收来自于所述第二移动清洁机器人的所述请求时,向所述第二移动清洁机器人提供更新的持久性地图或持久性地图更新。
7.根据权利要求4至6中任意一项所述的系统,其特征在于,所述服务器计算机被配置为接收来自于所述第一移动清洁机器人的第一更新的持久性地图或第一持久性地图更新、接收来自于所述第二移动清洁机器人的第二更新的持久性地图或第二持久性地图更新,并将(i)所述第一更新的持久性地图或所述第一持久性地图更新与(ii)所述第二更新的持久性地图或所述第二持久性地图更新合并,以生成新版本的所述持久性地图或所述持久性地图更新。
8.一种移动清洁机器人的系统,包括:
第一移动清洁机器人,所述第一移动清洁机器人被配置为在环境中导航并执行第一组清洁任务;以及
第二移动清洁机器人,所述第二移动清洁机器人被配置为在所述环境中导航并执行第二组清洁任务,
其中,所述第一移动清洁机器人和所述第二移动清洁机器人被配置为共享用于导航的持久性地图,并在执行所述第一组清洁任务和所述第二组清洁任务时相互协调。
9.根据权利要求8所述的系统,其特征在于,所述第一移动清洁机器人和所述第二移动清洁机器人彼此直接通信,以协调执行所述第一组清洁任务和所述第二组清洁任务。
10.根据权利要求8或9所述的系统,其特征在于,所述系统包括中央服务器,其中所述第一移动清洁机器人和所述第二移动清洁机器人中的每个均与所述中央服务器通信,并且在执行所述第一组清洁任务和所述第二组清洁任务时,所述中央服务器协调所述第一移动清洁机器人和所述第二移动清洁机器人。
11.根据权利要求8至10中任意一项所述的系统,其特征在于,所述第一移动清洁机器人被配置为执行清洁所述环境的第一部分的第一清洁任务、在第一位置处结束所述清洁任务,并向所述第二移动清洁机器人提供所述第一位置的坐标,以及
所述第二移动清洁机器人被配置为当接收所述第一位置的坐标时,从所述第一位置开始执行第二清洁任务,所述第二清洁任务涉及清洁所述环境的第二部分。
12.根据权利要求8至11中任意一项所述的系统,其特征在于,所述第一移动清洁机器人和所述第二移动清洁机器人被配置为分别并行执行第一清洁任务和第二清洁任务,其中所述第一清洁任务涉及清洁所述环境的第一部分,所述第二清洁任务涉及清洁所述环境的第二部分。
13.根据权利要求8至12中任意一项所述的系统,其特征在于,所述第一移动清洁机器人具有第一类清洁头,所述第二移动清洁机器人具有第二类清洁头,
所述第一移动清洁机器人被配置为使用所述第一类清洁头来清洁所述环境中的第一区域、发送表明所述第一区域已被清洁的消息,并在清洁所述第一区域后清洁所述环境中的第二区域,以及
所述第二移动清洁机器人被配置为在接收表明所述第一区域已被清洁的消息后,在所述第一移动清洁机器人清洁所述第二区域时,使用所述第二类清洁头来清洁所述第一区域。
14.根据权利要求8至13中任意一项所述的系统,其特征在于,所述系统包括服务器计算机,所述服务器计算机被配置为:
管理所述持久性地图的多个版本或所述持久性地图更新的多个版本,所述服务器计算机具有存储设备,所述存储设备用于存储所述持久性地图的多个版本或所述持久性地图更新的多个版本;
当接收来自于第一移动清洁机器人请求访问所述持久性地图或所述持久性地图更新的请求时,向所述第一移动清洁机器人提供所述持久性地图或所述持久性地图更新的多个版本中的一个版本;以及
当接收来自于第二移动清洁机器人请求访问所述持久性地图或所述持久性地图更新的请求时,向所述第二移动清洁机器人提供所述持久性地图或所述持久性地图更新的多个版本中的一个版本。
15.根据权利要求14所述的系统,其特征在于,所述服务器计算机被配置为当接收来自于所述第一移动清洁机器人的所述请求时,向所述第一移动清洁机器人提供最新版本的所述持久性地图或所述持久性地图更新。
16.根据权利要求14或15所述的系统,其特征在于,所述服务器计算机被配置为接收来自于所述第一移动清洁机器人的更新的持久性地图或持久性地图更新,并当接收来自于所述第二移动清洁机器人的所述请求时,向所述第二移动清洁机器人提供更新的持久性地图或持久性地图更新。
17.根据权利要求14至16中任意一项所述的系统,其特征在于,所述服务器计算机被配置为接收来自于所述第一移动清洁机器人的第一更新的持久性地图或第一持久性地图更新、接收来自于所述第二移动清洁机器人的第二更新的持久性地图或第二持久性地图更新,并将(i)所述第一更新的持久性地图或所述第一持久性地图更新与(ii)所述第二更新的持久性地图或所述第二持久性地图更新合并,以生成新版本的持久性地图或持久性地图更新。
18.一种移动清洁机器人的系统,包括:
第一移动清洁机器人,所述第一移动清洁机器人包括:
至少一个传感器;以及
第一控制模块,所述第一控制模块被配置为:
生成或接收环境的地图,
控制所述第一移动清洁机器人使用所述地图在所述环境中导航并执行清洁任务,
控制所述至少一个传感器以感测所述环境来识别所述环境中的第一组特征,
更新所述地图以添加由所述至少一个传感器感测到的尚未在所述地图上的特征,以及
与一个或多个其他移动清洁机器人共享所述更新的地图;以及
第二移动清洁机器人,所述第二移动清洁机器人包括:
至少一个传感器;以及
第二控制模块,所述第二控制模块被配置为:
接收由所述第一移动清洁机器人共享的更新的地图的副本,
控制所述至少一个传感器感测所述环境来识别第二组特征,其中所述第二组特征中的一些与所述地图上已有的一些特征重叠,
识别所述地图上与由所述至少一个传感器感测到的所述第二组特征中的至少一些特征相对应的特征,并基于所述地图上识别的特征来在所述地图上定位所述第二移动清洁机器人,
控制所述第二移动清洁机器人使用所述地图在所述环境中导航,以及
更新所述地图以添加由所述至少一个传感器感测到的尚未在所述地图上的特征,并与所述第一移动清洁机器人共享所述更新的地图。
19.根据权利要求18所述的系统,其特征在于,所述系统包括远程存储设备,所述远程存储设备被配置为存储所述地图的一个或多个版本,其中所述第一移动清洁机器人包括第一本地存储设备,所述第一本地存储设备用于在所述第一移动清洁机器人在所述环境中导航时,本地存储所述地图的至少一部分的副本,所述第一控制模块被配置为通过将所述更新的地图上传到所述远程存储设备来共享所述更新的地图。
20.根据权利要求19所述的系统,其特征在于,所述系统包括用户界面,所述用户界面用于使用户能够配置存储在所述第一本地存储设备中的地图,以向所述地图添加禁区来生成更新的地图,
其中所述第一移动清洁机器人被配置为将所述更新的地图上传到所述远程存储设备,所述第二移动清洁机器人被配置为从所述远程存储设备下载所述更新的地图,所述第二移动清洁机器人被配置为在考虑到所述禁区的情况下执行清洁任务。
21.根据权利要求18至20中任意一项所述的系统,其特征在于,所述第一和第二移动清洁机器人被配置为在执行清洁任务时相互协调。
22.根据权利要求18至21中任意一项所述的系统,其特征在于,所述第一移动清洁机器人和所述第二移动清洁机器人具有不同的功能,从而由所述地图的第一部分表示的所述环境的第一部分可由所述第一移动清洁机器人到达,但不能由所述第二移动清洁机器人到达。
23.根据权利要求18至22中任意一项所述的系统,其特征在于,所述至少一个传感器包括至少一个摄像头,所述第一组特征包括由所述至少一个摄像头感测的一组视觉地标。
24.根据权利要求18至23中任意一项所述的系统,其特征在于,所述系统包括计算机,所述计算机被配置为提供用户界面,以使用户能够配置和修改所述地图。
25.根据权利要求24所述的系统,其特征在于,所述用户界面被配置为使所述用户能够标记所述环境中多个房间中的每个房间,每个房间的相同标记由所述第一移动清洁机器人和所述第二移动清洁机器人共享。
26.根据权利要求25所述的系统,其特征在于,所述用户界面被配置为使所述用户能够执行至少下列之一:(i)命令所述移动清洁机器人中的一个来清洁特定房间,或(ii)命令所述第一移动清洁机器人和所述第二移动清洁机器人来并行清洁特定房间。
27.根据权利要求24至26中任意一项所述的系统,其特征在于,所述用户界面被配置为使所述用户能够执行至少下列之一:(i)识别所述环境中的多个房间中每个房间的边界,或(ii)修改所述边界。
28.一种方法,包括:
在移动清洁机器人的本地存储设备处存储环境的持久性地图;
使用所述移动清洁机器人的至少一个传感器来感测所述环境以生成感测数据;
使用所述移动清洁机器人的一个或多个数据处理器以用所述持久性地图和所述感测数据来在所述环境中进行导航;
与第二移动清洁机器人共享所述持久性地图;以及
与所述第二移动清洁机器人协调以执行清洁任务。
29.根据权利要求28所述的方法,其特征在于,所述方法包括使用所述至少一个传感器来感测所述环境,以识别所述环境中的一组特征,
更新所述持久性地图以添加由所述至少一个传感器感测到的尚未在所述持久性地图上的所述特征的表示,以及
与第二移动清洁机器人共享所述更新的持久性地图。
30.根据权利要求28或29所述的方法,其特征在于,所述方法包括:
使用所述移动清洁机器人来执行多次清洁活动,并在每次清洁活动开始之前,从远程存储设备接收所述持久性地图的一个版本或持久性地图更新中的至少一个,以及执行至少下列步骤之一:(i)将接收到的持久性地图存储在所述本地存储设备中,或(ii)使用接收到的持久性地图更新来更新本地存储的持久性地图;以及
在每次清洁活动中,将所述第一移动清洁机器人定位在所述持久性地图上、感测所述环境的特征、更新所述持久性地图以添加由所述第一移动清洁机器人感测的尚未在所述地图上的特征的表示,并将更新的持久性地图存储在所述远程存储设备中。
CN201811385306.8A 2018-01-05 2018-11-20 移动清洁机器人组合及持久性制图 Active CN109998421B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/863,681 US11614746B2 (en) 2018-01-05 2018-01-05 Mobile cleaning robot teaming and persistent mapping
US15/863,681 2018-01-05

Publications (2)

Publication Number Publication Date
CN109998421A true CN109998421A (zh) 2019-07-12
CN109998421B CN109998421B (zh) 2022-05-17

Family

ID=64362343

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811385306.8A Active CN109998421B (zh) 2018-01-05 2018-11-20 移动清洁机器人组合及持久性制图

Country Status (5)

Country Link
US (1) US11614746B2 (zh)
EP (1) EP3508938B1 (zh)
JP (1) JP7436103B2 (zh)
CN (1) CN109998421B (zh)
AU (1) AU2018264127B2 (zh)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110507249A (zh) * 2019-08-30 2019-11-29 海尔优家智能科技(北京)有限公司 一种清洁机器人组合及清洁方法
CN110673597A (zh) * 2019-09-20 2020-01-10 深圳乐动机器人有限公司 一种控制机器人回充的方法及机器人
CN110928294A (zh) * 2019-09-21 2020-03-27 徐州安彼得电子科技有限公司 一种给机器人提供终端中央智能控制系统
CN110962132A (zh) * 2019-12-26 2020-04-07 珠海市一微半导体有限公司 一种机器人系统
CN111275112A (zh) * 2020-01-20 2020-06-12 上海高仙自动化科技发展有限公司 机器人控制方法、机器人和可读存储介质
CN111307145A (zh) * 2019-12-06 2020-06-19 苏州精源创智能科技有限公司 一种应用于扫地机器人的惯性导航系统
CN112336250A (zh) * 2019-08-09 2021-02-09 惠州拓邦电气技术有限公司 一种智能清扫方法、装置以及存储装置
CN112520258A (zh) * 2019-09-17 2021-03-19 苏州宝时得电动工具有限公司 智能垃圾桶在充电站和停靠点之间移动的方法
CN112699189A (zh) * 2019-10-23 2021-04-23 阿里巴巴集团控股有限公司 位置信息更新方法、装置及计算机系统
CN112704436A (zh) * 2019-10-25 2021-04-27 德国福维克控股公司 为自主行进的地面处理设备创建环境地图的方法和系统
CN112716392A (zh) * 2019-10-28 2021-04-30 深圳拓邦股份有限公司 清洁设备的控制方法与清洁设备
CN112991368A (zh) * 2021-03-16 2021-06-18 追创科技(苏州)有限公司 目标对象的检测方法及装置、存储介质及电子装置
US20210186293A1 (en) * 2019-12-24 2021-06-24 Everybot Inc. Robot Cleaner and Method For Controlling The Same
CN113100661A (zh) * 2020-01-10 2021-07-13 德国福维克控股公司 用于运行包括两个自动行走的地面处理设备的系统的方法
CN113854906A (zh) * 2021-10-22 2021-12-31 广州科语机器人有限公司 多台清洁机器人协同作业的控制方法、装置及设备
CN113876249A (zh) * 2021-09-28 2022-01-04 深圳市云鼠科技开发有限公司 一种清洁方法及多机协同清洁系统
CN114983279A (zh) * 2022-06-24 2022-09-02 珠海格力电器股份有限公司 扫地机器人的控制方法、装置、扫地机器人和存储介质
CN115019799A (zh) * 2022-08-04 2022-09-06 广东工业大学 一种基于长语音识别的人机交互方法和系统
CN115135213A (zh) * 2020-02-27 2022-09-30 戴森技术有限公司 清洁机器人
CN115486763A (zh) * 2022-08-26 2022-12-20 珠海格力电器股份有限公司 一种扫地机器人路线规划方法、装置、扫地机器人及系统
CN117697769A (zh) * 2024-02-06 2024-03-15 成都威世通智能科技有限公司 一种基于深度学习的机器人控制系统和方法

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9919425B2 (en) * 2015-07-01 2018-03-20 Irobot Corporation Robot navigational sensor system
KR101868374B1 (ko) * 2016-10-20 2018-06-18 엘지전자 주식회사 이동 로봇의 제어방법
US10732127B2 (en) * 2016-10-26 2020-08-04 Pixart Imaging Inc. Dirtiness level determining system and surface cleaning machine
US10661438B2 (en) * 2017-01-16 2020-05-26 Ants Technology (Hk) Limited Robot apparatus, methods and computer products
US10943100B2 (en) 2017-01-19 2021-03-09 Mindmaze Holding Sa Systems, methods, devices and apparatuses for detecting facial expression
WO2018142228A2 (en) 2017-01-19 2018-08-09 Mindmaze Holding Sa Systems, methods, apparatuses and devices for detecting facial expression and for tracking movement and location including for at least one of a virtual and augmented reality system
WO2018146558A2 (en) 2017-02-07 2018-08-16 Mindmaze Holding Sa Systems, methods and apparatuses for stereo vision and tracking
US10838396B2 (en) * 2017-04-18 2020-11-17 Cisco Technology, Inc. Connecting robotic moving smart building furnishings
JP2018196511A (ja) * 2017-05-23 2018-12-13 東芝ライフスタイル株式会社 電気掃除装置
US11614746B2 (en) * 2018-01-05 2023-03-28 Irobot Corporation Mobile cleaning robot teaming and persistent mapping
US10575699B2 (en) 2018-01-05 2020-03-03 Irobot Corporation System for spot cleaning by a mobile robot
US11328533B1 (en) 2018-01-09 2022-05-10 Mindmaze Holding Sa System, method and apparatus for detecting facial expression for motion capture
US11112780B2 (en) * 2018-03-07 2021-09-07 Skylla Technologies, Inc. Collaborative determination of a load footprint of a robotic vehicle
US11013655B1 (en) * 2018-04-30 2021-05-25 AI Incorporated Autonomous hospital bed
KR102100476B1 (ko) * 2018-05-04 2020-05-26 엘지전자 주식회사 복수의 이동 로봇 및 그 제어방법
WO2019212240A1 (en) * 2018-05-04 2019-11-07 Lg Electronics Inc. A plurality of robot cleaner and a controlling method for the same
US11340079B1 (en) * 2018-05-21 2022-05-24 AI Incorporated Simultaneous collaboration, localization, and mapping
KR102096564B1 (ko) * 2018-06-25 2020-04-02 엘지전자 주식회사 복수의 자율주행 청소기
US10713487B2 (en) 2018-06-29 2020-07-14 Pixart Imaging Inc. Object determining system and electronic apparatus applying the object determining system
CA3109003A1 (en) * 2018-08-07 2020-02-13 Anram Holdings Remote cleaning quality management systems and related methods of use
US11272823B2 (en) * 2018-08-31 2022-03-15 Neato Robotics, Inc. Zone cleaning apparatus and method
US11295470B2 (en) * 2018-09-25 2022-04-05 Mindmaze Holding Sa Systems and methods for low-frequency and high-frequency SLAM
WO2020102946A1 (zh) * 2018-11-19 2020-05-28 珊口(深圳)智能科技有限公司 构建地图、定位、导航、控制方法及系统、移动机器人
US11398309B2 (en) * 2018-11-27 2022-07-26 Alarm.Com Incorporated Automated surface sterilization techniques
US11491650B2 (en) * 2018-12-19 2022-11-08 Abb Schweiz Ag Distributed inference multi-models for industrial applications
WO2020146352A1 (en) * 2019-01-08 2020-07-16 R-Go Robotics Ltd. System and method for monitoring movements
US11249482B2 (en) * 2019-08-09 2022-02-15 Irobot Corporation Mapping for autonomous mobile robots
US11327503B2 (en) * 2019-08-18 2022-05-10 Cobalt Robotics Inc. Surveillance prevention by mobile robot
SE544459C2 (en) * 2019-08-22 2022-06-07 Husqvarna Ab Improved operation for a robotic work tool based on an analysis by a cloud service of sensor data from two robotic work tools
KR102306394B1 (ko) * 2019-08-23 2021-09-30 엘지전자 주식회사 인공지능 로봇 청소기
CN112493924B (zh) * 2019-08-26 2023-03-10 苏州宝时得电动工具有限公司 清洁机器人及其控制方法
JP2021047724A (ja) * 2019-09-19 2021-03-25 本田技研工業株式会社 作業システム、自律作業機、自律作業機の制御方法及びプログラム
US20210125052A1 (en) * 2019-10-24 2021-04-29 Nvidia Corporation Reinforcement learning of tactile grasp policies
EP4011764A4 (en) * 2019-10-25 2022-09-28 Sony Group Corporation INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, PROGRAM AND FLYING BODY
KR20210051014A (ko) * 2019-10-29 2021-05-10 엘지전자 주식회사 로봇 청소기 및 그의 동작 방법
US11647878B2 (en) 2019-11-13 2023-05-16 Emerson Electric Co. Vacuum cleaner motor assemblies and methods of operating same
KR20210080022A (ko) * 2019-12-20 2021-06-30 엘지전자 주식회사 이동 로봇 및 그 제어방법
KR102472176B1 (ko) * 2020-02-20 2022-11-28 주식회사 케이티 자율주행 로봇, 자율주행 로봇의 위치 추정 서버 및 이를 이용한 자율주행 로봇의 위치 추정 방법
GB2592412B8 (en) * 2020-02-27 2022-08-03 Dyson Technology Ltd Robot
GB2592413B8 (en) * 2020-02-27 2022-08-03 Dyson Technology Ltd Robot
US11571813B2 (en) * 2020-02-28 2023-02-07 Irobot Corporation Systems and methods for managing a semantic map in a mobile robot
SE544298C2 (en) * 2020-04-14 2022-03-29 Husqvarna Ab Robotic work tool system and method for defining a working area
KR102390040B1 (ko) * 2020-05-08 2022-04-25 엘지전자 주식회사 로봇 청소기 및 그 제어 방법
US11880209B2 (en) 2020-05-15 2024-01-23 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof
JPWO2021235458A1 (zh) * 2020-05-21 2021-11-25
SE545728C2 (en) * 2020-06-02 2023-12-19 Husqvarna Ab Method of providing a position estimate of a robotic tool, a robotic tool, and a robotic tool system
JP7382579B2 (ja) * 2020-07-22 2023-11-17 パナソニックIpマネジメント株式会社 自走式掃除システム、自走式掃除機、自走式掃除機の制御方法、及び、プログラム
CN111898557B (zh) * 2020-08-03 2024-04-09 追觅创新科技(苏州)有限公司 自移动设备的地图创建方法、装置、设备及存储介质
GB2598386A (en) * 2020-08-31 2022-03-02 Continental Automotive Gmbh Unmanned moving objects and method of localization
US20220087498A1 (en) * 2020-09-24 2022-03-24 Alarm.Com Incorporated Self-cleaning environment
US11994880B2 (en) * 2020-09-29 2024-05-28 Kutta Technologies, Inc. Methods and systems for unmanned aerial vehicles to detect and avoid other flying machines
DE102020127411A1 (de) * 2020-10-19 2022-04-21 Miele & Cie. Kg Verfahren zur Reinigung einer Fläche mittels eines Bodenreinigungssystems
CN112515555B (zh) * 2020-10-20 2022-05-03 深圳市银星智能科技股份有限公司 一种集尘基站、清洁机器人及清洁系统
CN112318555B (zh) * 2020-11-06 2021-07-20 北京理工大学 一种视触觉感知装置及微小型机器人
US11483070B2 (en) * 2020-12-04 2022-10-25 Eric Clifton Roberts Systems, methods, and devices for infrared communications
US20220187841A1 (en) * 2020-12-10 2022-06-16 AI Incorporated Method of lightweight simultaneous localization and mapping performed on a real-time computing and battery operated wheeled device
WO2022128896A1 (en) * 2020-12-15 2022-06-23 Interdigital Ce Patent Holdings, Sas Method and apparatus for multiple robotic devices in an environment
CN112617699B (zh) * 2020-12-17 2022-08-09 珠海一微半导体股份有限公司 基于云端的智能终端、清洁机器人和系统的数据调用方法
DE102021102655A1 (de) * 2021-02-04 2022-08-04 Vorwerk & Co. Interholding Gesellschaft mit beschränkter Haftung System zum Reinigen einer Umgebung
DE102021203703A1 (de) * 2021-04-14 2022-10-20 BSH Hausgeräte GmbH Kartenaktualisierung für einen Haushaltsroboter
CN115248039B (zh) * 2021-04-28 2024-08-02 香港科技大学深港协同创新研究院(深圳福田) 多机器人-多人协作控制方法、装置及系统
US12082768B2 (en) * 2021-10-28 2024-09-10 Snap Inc. Point and clean
US11930270B2 (en) 2021-10-29 2024-03-12 Snap Inc. Identifying a video camera for an object
CN114047771B (zh) * 2022-01-17 2022-04-08 广州里工实业有限公司 移动机器人的对接方法、系统、计算机设备及存储介质
US12094052B1 (en) 2022-01-19 2024-09-17 Corelogic Solutions, Llc Residential robotic device-based living area estimation
BE1030358B1 (nl) * 2022-03-18 2023-10-17 Eeve Bv Werkwijze voor aansturing van een onbemand autonoom voertuig op basis van een bodemtype
WO2023222751A1 (en) * 2022-05-18 2023-11-23 Nilfisk A/S A method of estimating a position of a cleaning machine
US11511165B1 (en) * 2022-05-30 2022-11-29 Tennibot, Inc. Autonomous tennis assistant systems
WO2024016101A1 (en) * 2022-07-18 2024-01-25 Intelligent Cleaning Equipment Holdings Co., Ltd. Systems and methods for robotic navigation, teaching and mapping
US20240329640A1 (en) * 2023-03-31 2024-10-03 Omron Corporation Systems and methods for map transformation between mobile robots

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101953172A (zh) * 2008-02-13 2011-01-19 塞格瑞德公司 分布式多机器人系统
JP2014054335A (ja) * 2012-09-11 2014-03-27 Sharp Corp サーバ、制御システム、自走式掃除機、プログラム、および記録媒体
US20160320774A1 (en) * 2015-04-28 2016-11-03 Panasonic Intellectual Property Corporation Of America Movement control method for autonomous mobile robot
US20170083005A1 (en) * 2011-05-06 2017-03-23 X Development Llc Methods and Systems for Multirobotic Management
US20170361468A1 (en) * 2016-06-15 2017-12-21 Irobot Corporation Systems and methods to control an autonomous mobile robot

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0511839A (ja) * 1991-07-02 1993-01-22 Sanyo Electric Co Ltd 移動ロボツト
US6374155B1 (en) * 1999-11-24 2002-04-16 Personal Robotics, Inc. Autonomous multi-platform robot system
JP3986310B2 (ja) 2001-12-19 2007-10-03 シャープ株式会社 親子型電気掃除機
EP2544065B1 (en) * 2005-12-02 2017-02-08 iRobot Corporation Robot system
US9351551B2 (en) * 2006-08-24 2016-05-31 Armpocket Enterprises Personal armband storage device
WO2009097336A2 (en) * 2008-01-28 2009-08-06 Seegrid Corporation Methods for repurposing temporal-spatial information collected by service robots
TW201227190A (en) 2010-12-28 2012-07-01 Hon Hai Prec Ind Co Ltd System and method for controlling robots via cloud computing
JP6111179B2 (ja) 2013-10-22 2017-04-05 日立建機株式会社 ダンプトラックの自律走行システム
KR102117984B1 (ko) 2013-11-27 2020-06-02 한국전자통신연구원 군집 로봇의 협력 청소 방법 및 제어 장치
KR102158695B1 (ko) * 2014-02-12 2020-10-23 엘지전자 주식회사 로봇 청소기 및 이의 제어방법
JP6025289B2 (ja) 2014-03-12 2016-11-16 株式会社豊田自動織機 無人搬送車と在庫管理システムの連動システム
JP6390965B2 (ja) 2014-04-11 2018-09-19 パナソニックIpマネジメント株式会社 自走式掃除機、制御装置、および自動清掃システム
JP5973608B1 (ja) 2015-03-27 2016-08-23 本田技研工業株式会社 無人作業車の制御装置
US9868211B2 (en) 2015-04-09 2018-01-16 Irobot Corporation Restricting movement of a mobile robot
KR102521493B1 (ko) 2015-10-27 2023-04-14 삼성전자주식회사 청소 로봇 및 그 제어방법
JP6880552B2 (ja) 2016-02-10 2021-06-02 村田機械株式会社 自律移動体システム
CN105843228B (zh) 2016-04-13 2018-07-13 上海物景智能科技有限公司 一种清洁机器人的地图共享方法及系统
JP6681260B2 (ja) 2016-04-27 2020-04-15 シャープ株式会社 中継用自走機器および自走機器用通信中継システム
EP3604712B1 (en) * 2016-09-13 2021-11-17 Maytronics Ltd. Pool cleaning robot
AU2018203588B2 (en) * 2017-06-05 2019-11-14 Bissell Inc. Autonomous floor cleaning system
US11614746B2 (en) * 2018-01-05 2023-03-28 Irobot Corporation Mobile cleaning robot teaming and persistent mapping

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101953172A (zh) * 2008-02-13 2011-01-19 塞格瑞德公司 分布式多机器人系统
US20170083005A1 (en) * 2011-05-06 2017-03-23 X Development Llc Methods and Systems for Multirobotic Management
JP2014054335A (ja) * 2012-09-11 2014-03-27 Sharp Corp サーバ、制御システム、自走式掃除機、プログラム、および記録媒体
US20160320774A1 (en) * 2015-04-28 2016-11-03 Panasonic Intellectual Property Corporation Of America Movement control method for autonomous mobile robot
US20170361468A1 (en) * 2016-06-15 2017-12-21 Irobot Corporation Systems and methods to control an autonomous mobile robot

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112336250A (zh) * 2019-08-09 2021-02-09 惠州拓邦电气技术有限公司 一种智能清扫方法、装置以及存储装置
CN110507249A (zh) * 2019-08-30 2019-11-29 海尔优家智能科技(北京)有限公司 一种清洁机器人组合及清洁方法
CN112520258A (zh) * 2019-09-17 2021-03-19 苏州宝时得电动工具有限公司 智能垃圾桶在充电站和停靠点之间移动的方法
CN110673597A (zh) * 2019-09-20 2020-01-10 深圳乐动机器人有限公司 一种控制机器人回充的方法及机器人
CN110928294A (zh) * 2019-09-21 2020-03-27 徐州安彼得电子科技有限公司 一种给机器人提供终端中央智能控制系统
CN112699189B (zh) * 2019-10-23 2024-06-04 盒马(中国)有限公司 位置信息更新方法、装置及计算机系统
CN112699189A (zh) * 2019-10-23 2021-04-23 阿里巴巴集团控股有限公司 位置信息更新方法、装置及计算机系统
CN112704436A (zh) * 2019-10-25 2021-04-27 德国福维克控股公司 为自主行进的地面处理设备创建环境地图的方法和系统
CN112716392B (zh) * 2019-10-28 2022-08-23 深圳拓邦股份有限公司 清洁设备的控制方法与清洁设备
CN112716392A (zh) * 2019-10-28 2021-04-30 深圳拓邦股份有限公司 清洁设备的控制方法与清洁设备
CN111307145A (zh) * 2019-12-06 2020-06-19 苏州精源创智能科技有限公司 一种应用于扫地机器人的惯性导航系统
CN111307145B (zh) * 2019-12-06 2022-05-17 苏州精源创智能科技有限公司 一种应用于扫地机器人的惯性导航系统
US20210186293A1 (en) * 2019-12-24 2021-06-24 Everybot Inc. Robot Cleaner and Method For Controlling The Same
CN110962132A (zh) * 2019-12-26 2020-04-07 珠海市一微半导体有限公司 一种机器人系统
CN113100661A (zh) * 2020-01-10 2021-07-13 德国福维克控股公司 用于运行包括两个自动行走的地面处理设备的系统的方法
CN111275112A (zh) * 2020-01-20 2020-06-12 上海高仙自动化科技发展有限公司 机器人控制方法、机器人和可读存储介质
CN115135213A (zh) * 2020-02-27 2022-09-30 戴森技术有限公司 清洁机器人
CN112991368B (zh) * 2021-03-16 2023-08-15 追觅创新科技(苏州)有限公司 目标对象的检测方法及装置、存储介质及电子装置
CN112991368A (zh) * 2021-03-16 2021-06-18 追创科技(苏州)有限公司 目标对象的检测方法及装置、存储介质及电子装置
CN113876249A (zh) * 2021-09-28 2022-01-04 深圳市云鼠科技开发有限公司 一种清洁方法及多机协同清洁系统
CN113854906A (zh) * 2021-10-22 2021-12-31 广州科语机器人有限公司 多台清洁机器人协同作业的控制方法、装置及设备
CN114983279A (zh) * 2022-06-24 2022-09-02 珠海格力电器股份有限公司 扫地机器人的控制方法、装置、扫地机器人和存储介质
CN115019799A (zh) * 2022-08-04 2022-09-06 广东工业大学 一种基于长语音识别的人机交互方法和系统
CN115486763A (zh) * 2022-08-26 2022-12-20 珠海格力电器股份有限公司 一种扫地机器人路线规划方法、装置、扫地机器人及系统
CN117697769A (zh) * 2024-02-06 2024-03-15 成都威世通智能科技有限公司 一种基于深度学习的机器人控制系统和方法
CN117697769B (zh) * 2024-02-06 2024-04-30 成都威世通智能科技有限公司 一种基于深度学习的机器人控制系统和方法

Also Published As

Publication number Publication date
US11614746B2 (en) 2023-03-28
EP3508938A3 (en) 2019-08-28
EP3508938B1 (en) 2022-09-28
CN109998421B (zh) 2022-05-17
EP3508938A2 (en) 2019-07-10
JP7436103B2 (ja) 2024-02-21
US20190212752A1 (en) 2019-07-11
AU2018264127B2 (en) 2024-07-18
AU2018264127A1 (en) 2019-07-25
JP2019121365A (ja) 2019-07-22

Similar Documents

Publication Publication Date Title
CN109998421A (zh) 移动清洁机器人组合及持久性制图
CN109998429B (zh) 用于情境感知的移动清洁机器人人工智能
CN207804199U (zh) 自主移动机器人
US11199853B1 (en) Versatile mobile platform
US11669086B2 (en) Mobile robot cleaning system
Anderson et al. On evaluation of embodied navigation agents
US11636236B2 (en) Methods and apparatus for procedure tracking
US10671767B2 (en) Smart construction with automated detection of adverse structure conditions and remediation
CN104470685B (zh) 提供用于家庭环境控制的环境绘图的移动机器人
US20220074762A1 (en) Exploration Of A Robot Deployment Area By An Autonomous Mobile Robot
CN109421067A (zh) 机器人虚拟边界
CN108885436A (zh) 自主监视机器人系统
JP2019075066A (ja) 構成に基づく優先傾向を用いたモバイルロボットのためのルート計画
JP2019525342A (ja) 自律移動ロボッを制御する方法
CN110023867A (zh) 用于机器人绘图的系统和方法
CN110352116A (zh) 智能服务机器人和相关系统及方法
Prassler et al. Domestic robotics
US20230367324A1 (en) Expandable wheel
US20240142994A1 (en) Stationary service appliance for a poly functional roaming device
JP6393199B2 (ja) 歩行障害箇所判定システム及びその自走型走行装置
TRAN Tango Navigator: an indoor navigation system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant