CN110060207A - 提供平面布置图的方法、系统 - Google Patents

提供平面布置图的方法、系统 Download PDF

Info

Publication number
CN110060207A
CN110060207A CN201811545229.8A CN201811545229A CN110060207A CN 110060207 A CN110060207 A CN 110060207A CN 201811545229 A CN201811545229 A CN 201811545229A CN 110060207 A CN110060207 A CN 110060207A
Authority
CN
China
Prior art keywords
robot
camera
image
segment
ground
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
CN201811545229.8A
Other languages
English (en)
Other versions
CN110060207B (zh
Inventor
M·A·海隆
R·卢卡斯
C·A·皮策
G·布鲁克斯
K·伊
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.)
Vorwerk and Co Interholding GmbH
Original Assignee
Neato Robotics Inc
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 Neato Robotics Inc filed Critical Neato Robotics Inc
Publication of CN110060207A publication Critical patent/CN110060207A/zh
Application granted granted Critical
Publication of CN110060207B publication Critical patent/CN110060207B/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/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
    • 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
    • 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
    • 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/2836Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means characterised by the parts which are controlled
    • A47L9/2852Elements for displacement of the vacuum cleaner or the accessories therefor, e.g. wheels, casters or nozzles
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0003Home robots, i.e. small robots for domestic use
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0011Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot associated with a remote control arrangement
    • G05D1/0044Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • G05D1/024Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0253Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting relative motion information from a plurality of images taken successively, e.g. visual odometry, optical flow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4038Scaling the whole image or part thereof for image mosaicing, i.e. plane images composed of plane sub-images
    • G06T5/80
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/50Constructional details
    • H04N23/54Mounting of pick-up tubes, electronic image sensors, deviation or focusing coils
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/56Cameras or camera modules comprising electronic image sensors; Control thereof provided with illuminating means
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/57Mechanical or electrical details of cameras or camera modules specially adapted for being embedded in other devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/71Circuitry for evaluating the brightness variation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
    • 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/06Systems determining position data of a target
    • G01S17/42Simultaneous measurement of distance and other co-ordinates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Abstract

本发明公开了一种用于根据机器人(例如,清洁机器人)拍摄的图像提供平面布置图的方法、系统。通过从机器人相机视图转换并将由位置标记的图像拼接在一起来产生鸟瞰(平面)地图。然后可以在用户界面上将平面地图呈现为显示物体(例如地毯)位置的平面布置图。相机安装在清洁机器人中,在清洁机器人壳体中足够高以提供朝向地面的视角。相机的视野被捕捉为图像,并且该图像的一部分或片段被裁剪。将裁剪的片段从相机透视图转换为平面视图(在裁剪之前或在裁剪之后)并与其他图像组合用于形成平面布置图的地图。

Description

提供平面布置图的方法、系统
技术领域
本公开一般涉及机器人清洁器,具体地涉及生成地面地图。
背景技术
清洁机器人通常包括用于各种目的的相机。相机可以对要清洁的区域摄像,以显示该区域中的物体。可以利用SLAM(同时定位和映射)算法将收集的图像数据用于创建地图。可以利用VSLAM(使用图像传感器的可视SLAM)定位方法对图像数据进行处理。相机可以对天花板摄像并使用所拍摄的图像进行导航。可以通过将这些图像拼接到一起来创建地图。iRobot的公开号为20170052033的专利申请描述了这种视觉SLAM方法。CarnegieMellon的专利号为5,999,866的专利描述了利用图像的独特性、例如地毯图案来确定位置。iRobot的公开号为20170203446的专利申请示出了物体的平面布置图和相机拍摄图,并且提供了物体在平面布置图上的标示,以及到图片的链接。iRobot的专利号为9,014,848的专利描述了校正与机器人生成的地图相比的目标布局图中的失真。
对清洁机器人地图和平面布置图进行优化以供机器人用于确定位置和采取其他行动,而不是供人类使用。期望具有供人类用户交互以控制清洁机器人的优化地图。
发明内容
在一个实施方案中,机器人(例如,清洁机器人)通过从机器人相机视图转换并将由位置标记的图像拼接在一起来产生鸟瞰(平面)地图。然后该平面地图可以在用户界面上呈现为显示物体(例如地毯)位置的平面布置图。相机安装在清洁机器人中,在清洁机器人壳体中足够高以提供朝向地面的视角。相机的视野被捕捉为图像,并且该图像的一部分或片段被裁剪或遮盖。将裁剪的片段的相机透视图转换为平面视图(在裁剪之前或在裁剪之后),并与其他图像组合,形成平面布置图的地图。
在一个实施方案中,在相机前使用镜头(例如,鱼眼镜头)。在从机器人透视图转换到平面视图之前(或之后),应用失真算法来校正由于镜头引起的图像失真。从机器人透视图到平面视图的转换利用相机离开地面的已知出厂高度和相机的已知向下角度以将图像像素位置与平面地面位置相关联。相对于机器人的位置被用作机器人局部位置的偏移。机器人的任何倾斜被检测并用于校正图像像素位置或用于简单地丢弃图像。
在一个实施方案中,在智能手机或其他显示设备上向用户显示平面布置图。用户提供平面布置图上的输入以修改机器人的操作特性。例如,用户可以指示机器人不应该去的区域,需要更强烈清洁的区域等。
在一个实施方案中,捕捉区域片段,该区域为针对与要生成的平面布置图的最小分辨率相同大小的区域或比要生成的平面布置图的最小分辨率大的区域。例如,几毫米的区域可以对应于智能手机上显示的平面布置图上的单个像素,因此更精细的分辨率将浪费处理能力。类似地,仅具有这种所需分辨率的较便宜的相机可以用于本发明的目的。捕捉重叠段以通过匹配重叠部分来进行对准调整。可以在相机的视野中的不同距离处或者从同一区域的不同通道多次捕捉同一片段区域。可以对图像质量进行加权,使用较高质量的图像替换较低质量的图像。加权因子包括,例如,摄像时机器人的速度、振动、角度(倾斜)、与其他片段的重叠部分的一致性、片段与相机的接近度以及照明。
在一个实施方案中,确定图像的照度并校正不同片段的照度差异。照度可能由于环境中的灯光差异或者由于相机视野中的灯光与清洁机器人上的灯的强度差异而变化。
附图说明
图1是根据实施方案的具有LIDAR转台的清洁机器人的图。
图2是根据实施方案的清洁机器人和充电站的图。
图3是根据实施方案的清洁机器人的底侧的图。
图4是根据实施方案的用于清洁机器人的智能手机控制应用显示的图。
图5是根据实施方案的用于清洁机器人的智能手表控制应用显示的图。
图6是根据实施方案的用于清洁机器人的电子系统的图。
图7是可用于实现本发明的某些实施方案的代表性计算系统和客户端计算系统的简化框图。
图8是根据实施方案的嵌入清洁机器人壳体中的相机的示图。
图9是根据实施方案的具有相机的清洁机器人的图,示出了计算出的相机图像中的点的平面位置。
图10是根据实施方案的机器人的相机拍摄的图像的图,该图像由于鱼眼镜头而失真。
图11是根据实施方案的机器人的相机拍摄的图像的图,该图像被转换以校正由鱼眼镜头引起的失真。
图12是根据实施方案的机器人的相机所拍摄的图像的示图,示出了剪裁地面的一部分。
图13是根据实施方案的机器人的相机所拍摄的图像的图,该图被转换为平面形式并且示出了图像的捕捉片段。
图14是根据实施方案的用户设备显示的图,该用户设备显示示出了拼接在一起的用于形成具有物体的平面图的片段。
图15是根据实施方案的用户设备显示的图,该用户设备显示示出了拼接在一起的用于形成平面图的片段,其中用户在该显示上标记有禁区部分。
图16是根据实施方案的用于生成平面视角平面布置图的过程的流程图。
具体实施方式
整体架构
图1是根据实施方案的具有LIDAR转台的清洁机器人的图。清洁机器人102具有发射旋转激光束106的LIDAR(光检测和测距)转台104。通过检测物体对激光束的反射,来计算清洁机器人到物体的距离以及清洁机器人的位置。距离计算的一个实施方案在美国专利No.8,996,172,“距离传感器系统和方法”中阐明,其公开内容通过引用并入本文中。或者,可以使用VSLAM(使用图像传感器的可视SLAM)或其他定位方法。通过利用SLAM(同时定位和映射)算法、使用所收集的数据来创建地图。SLAM算法的一个实施方案描述于专利号为8,903,589的美国专利,“用于移动机器人环境的同时定位和映射的方法和装置”,其公开内容通过引用并入本文中。
图2是根据实施方案的清洁机器人和充电站的图。示出了具有转台104的清洁机器人102。还示出了盖子204,盖子204可以打开以接近集尘袋和刷子的顶侧。按钮202允许机器人清洁器的基本操作,例如开始清洁操作。显示器205向用户提供信息。清洁机器人102可以与充电站206对接,并通过充电触点208接收电力。
图3是根据实施方案的清洁机器人的底面的图。轮子302移动清洁机器人,刷子304帮助将浮尘吸纳到集尘袋中。
图4是根据实施方案的用于清洁机器人的智能手机控制应用显示的图。智能手机402具有下载的用于控制清洁机器人的应用。易于使用的界面具有用于启动清洁的开始按钮404。
图5是根据实施方案的用于清洁机器人的智能手表控制应用显示的图。显示了示例性显示。显示502提供易于使用的开始按钮。显示504提供控制多个清洁机器人的能力。显示506向用户提供反馈,例如清洁机器人已完成的消息。
图6是根据实施方案的用于清洁机器人的电子系统的系统结构图。清洁机器人602包括处理器604,处理器604操作下载到存储器606的程序。处理器使用总线634或其他电连接与其他组件通信。在清洁模式中,轮电机608独立地控制轮子以移动和控制机器人。刷子和真空电机610清洁地面,并且可以以不同的模式操作,例如较高功率密集清洁模式或正常功率模式。
LIDAR模块616包括激光器620和光电探测器618。或者,可以使用图像传感器以进行VSLAM操作。转台电机622移动激光器和光电探测器以在清洁机器人周围360度检测物体。转台电机622每秒旋转多次,例如每秒旋转约5次。各种传感器向处理器604提供输入,例如指示与物体接触的撞击传感器624、指示与物体的接近度的近距离传感器626以及指示清洁机器人的下降(例如,下楼梯)或倾斜(例如,在爬过障碍物时)的加速度计和倾斜传感器628。使用这种用于清洁机器人的导航和其他控制的传感器的示例在美国专利No.8,855,914,“用机器人表面处理设备穿过地面区域的角落的方法和设备”中有所描述,其公开内容通过引用并入本文。其他传感器可以包括在其他实施方案中,例如用于检测被真空抽起的尘土量的尘土传感器、用于检测电机何时过载(例如由于被缠绕在某物中)的电机电流传感器、用于检测地面类型的地面传感器以及用于提供环境和物体的图像的图像传感器(相机)。
电池614通过电源连接(未示出)向电子设备的其余部分供电。当清洁机器人与图2的充电站206对接时,电池充电电路612向电池614提供充电电流。输入按钮623允许结合显示630直接控制机器人清洁器602。或者,清洁机器人602可以被远程控制并通过收发器632将数据发送到远程位置。
相机642或多个相机连接到总线634。镜头644放置在相机前面。可以提供灯646以照亮相机的视野。图像可以存储在存储器606中,和/或通过无线或有线连接和因特网上传到云。
通过因特网636和/或其他网络,清洁机器人可以被控制,并且可以将信息发送回远程用户。远程服务器638可以提供命令,并且可以处理从清洁机器人上传的数据。手持控制器(例如,智能手机或手表)640可以由用户操作以直接向清洁机器人602发送命令(通过蓝牙、直接RF、WiFi LAN等)或者可以通过连接到因特网636发送命令。命令可以被发送到服务器638以进行进一步处理,然后通过因特网636以修改的形式转发到清洁机器人602。
用于媒体平台和客户端系统的计算机系统
本文描述的各种操作可以在计算机系统上实现。图7示出了可用于实现本发明的某些实施方案的代表性计算系统702和客户端计算系统704的简化框图。在各种实施方案中,计算系统702或类似系统可以实现清洁机器人处理器系统、远程服务器或本文描述的任何其他计算系统或其部分。客户端计算系统704或类似系统可以实现诸如具有机器人清洁器应用的智能手机或手表的用户设备。
计算系统702可以是各种类型设备的一种,各种类型设备包括处理器和存储器、手持便携式设备(例如,移动电话、计算平板电脑、PDA)、可穿戴设备(例如,Google头戴式显示器)、个人计算机、工作站、主机、自助服务终端、服务器机架或任何其他数据处理系统。
计算系统702可以包括处理子系统710。处理子系统710可以经由总线子系统770与多个外围系统通信。这些外围系统可以包括I/O子系统730、存储子系统768和通信子系统740。
总线子系统770提供用于使服务器计算系统704的各种组件和子系统按预期彼此通信的机制。尽管总线子系统770示意性地示为单个总线,但总线子系统的替代实施方案可以使用多个总线。总线子系统770可以形成支持处理子系统710和服务器计算系统702的其他组件的通信的局域网。总线子系统770可以使用包括服务器机架、集线器、路由器等的各种技术来实现。总线子系统770可以是几种类型的总线结构的任何一种,这几种类型的总线结构包括存储器总线或存储器控制器、外围总线和使用各种总线架构中的任何一种的本地总线。例如,这种架构可以包括工业标准体系结构(ISA)总线、微通道架构(MCA)总线,增强型ISA(EISA)总线、视频电子标准协会(VESA)本地总线和外围部件互连(PCI)总线,其可以实现为根据IEEE P1386.1标准制造的夹层总线等。
I/O子系统730可以包括用于向计算系统702输入信息和/或用于从计算系统702或通过计算系统702输出信息的设备和机制。通常,术语“输入设备”的使用旨在包括用于向计算系统702输入信息的所有可能类型的设备以及机制。用户界面输入设备可以包括,例如,键盘、诸如鼠标或轨迹球的指向设备、结合到显示器中的触摸板或触摸屏、滚轮、点击轮、转盘、按钮、开关、键盘、带语音命令识别系统的音频输入设备、麦克风和其他类型的输入设备。用户界面输入设备还可以包括运动感测和/或姿势识别设备,诸如使得用户能够控制输入设备并与之交互的Microsoft运动传感器,Microsoft游戏控制器,提供用于使用手势和口头命令接收输入的接口的设备。用户界面输入设备还可以包括眼睛姿势识别设备,诸如Google眨眼检测器,其检测来自用户的眼睛活动(例如,在拍照和/或进行菜单选择时“眨眼”)并且将眼睛姿势转换为输入到输入设备(例如,Google)的输入。另外,用户界面输入设备可以包括语音识别传感设备,其使得用户能够通过语音命令与语音识别系统(例如,导航器)交互。
用户界面输入设备的其他示例包括但不限于三维(3D)鼠标,操纵杆或指向杆,游戏手柄和图形平板,以及音频/视觉设备,诸如扬声器、数码相机、数字便携式相机、便携式媒体播放器、网络摄像头、图像扫描仪、指纹扫描仪、条形码阅读器3D扫描仪、3D打印机、激光测距仪和眼睛注视跟踪设备。另外,用户界面输入设备可以包括例如医学成像输入设备,诸如计算机断层扫描、磁共振成像、位置发射断层扫描、医学超声波设备。用户界面输入设备还可以包括例如音频输入设备,例如MIDI键盘,数字乐器等。
用户界面输出设备可以包括显示子系统,指示灯或非可视显示,诸如音频输出设备等。显示子系统可以是阴极射线管(CRT),平板设备,例如使用液晶显示器(LCD)或等离子显示器的设备,投影设备,触摸屏等。通常,术语“输出设备”的使用旨在包括用于将信息从计算系统702输出到用户或其他计算机的所有可能类型的设备和机制。例如,用户界面输出设备可以包括但不限于可视地传达文本、图形和音频/视频信息的各种显示设备,例如监视器、打印机、扬声器、耳机、汽车导航系统、绘图仪、语音输出设备、以及调制解调器。
处理子系统710控制计算系统702的操作,并且可以包括一个或多个处理单元712,714等。处理单元可以包括一个或多个处理器,包括单核处理器或多核处理器,一个或多个核的处理器或其组合。在一些实施方案中,处理子系统710可以包括一个或多个专用协处理器,例如图形处理器、数字信号处理器(DSP)等。在一些实施方案中,处理子系统710的一些处理单元或所有处理单元可以使用定制电路例如专用集成电路(ASIC)或现场可编程门阵列(FPGA)来实现。在一些实施方案中,这种集成电路执行存储在电路自身上的指令。在其他实施方案中,处理单元可以执行存储在本地存储器(例如,本地存储器722,724)中的指令。任何组合中的任何类型的处理器可以包括在处理单元712,714中。
在一些实施方案中,处理子系统710可以以模块化设计被实现,该模块化设计包含任意数量的模块(例如,刀片服务器实现中的刀片)。每个模块可以包括处理单元和本地存储器。例如,处理子系统710可以包括处理单元712和对应的本地存储器722,以及处理单元714和对应的本地存储器724。
本地存储器722,724可以包括易失性存储介质(例如,常规DRAM、SRAM、SDRAM等)和/或非易失性存储介质(例如,磁盘或光盘、闪存等)。结合在本地存储器722,724中的存储介质可以根据需要固定、移除或升级。本地存储器722,724可以在物理上或逻辑上被划分为各种子单元,例如系统内存、ROM和永久存储设备。系统内存可以是读写存储器设备或易失性读写存储器,例如动态随机存取存储器。系统内存可以存储处理单元712,714运行时需要的一些指令和数据或全部指令和数据。ROM可以存储处理单元712,714所需的静态数据和指令。永久存储设备可以是即使在包括一个或多个处理单元712,714和本地存储器722,724的模块断电时也可以存储指令和数据的非易失性读写存储器设备。这里使用的术语“存储介质”包括可以无限期地存储数据(受到重写、电干扰、功率损耗等)的任何介质,并且不包括无线传播或通过有线连接传播的载波和瞬时电子信号。
在一些实施方案中,本地存储器722,724可以存储要由处理单元712,714执行的一个或多个软件程序,例如实现各种服务器功能的操作系统和/或程序,所述服务器功能例如有UPP系统102或者与UPP系统102相关联的任何其他服务器的功能。“软件”通常指的是当由处理单元712,714执行时使计算系统702(或其部分)执行各种操作的指令序列,因此定义实行和执行软件程序操作的一个或多个特定机器实现方式。指令可以存储为驻留在只读存储器中的固件和/或存储在非易失性存储介质中的程序代码,该程序代码可以被读入易失性工作存储器以供处理单元712,714执行。在一些实施方案中,指令可以由存储子系统768(例如,计算机可读存储介质)存储。在各种实施方案中,处理单元可以执行各种程序或代码指令,并且可以维护多个同时执行的程序或过程。在任何给定时间,要执行的一些程序代码或所有程序代码可以驻留在本地存储器722,724和/或可能包括一个或多个存储设备的存储子系统中。软件可以实现为单个程序或者根据需要进行交互的单独程序或程序模块的集合。处理单元712,714可以从本地存储器722,724(或下面描述的非本地存储器)检索要执行的程序指令和要处理的数据,以便执行上述各种操作。
存储子系统768提供用于存储由计算系统702使用的信息的存储库或数据存储器。存储子系统768提供有形的非暂时性计算机可读存储介质,用于存储提供一些实施方案的功能的基本编程和数据构造。当由处理子系统710执行时提供上述功能的软件(程序、代码模块、指令)可以存储在存储子系统768中。该软件可以由处理子系统710的一个或多个处理单元执行。存储子系统768也可以提供用于存储根据本发明使用的数据的存储库。
存储子系统768可以包括一个或多个非暂时性存储器设备,包括易失性和非易失性存储器设备。如图7所示,存储子系统768包括系统内存760和计算机可读存储介质752。系统内存760可以包括多个存储器,包括用于在程序执行期间存储指令和数据的易失性主RAM以及存储固定指令的非易失性ROM或闪存。在一些实现方式中,包含有助于例如在启动期间在计算系统702内的元件之间传送信息的基本例程的基本输入/输出系统(BIOS),通常可以存储在ROM中。RAM通常包含当前由处理子系统710操作和执行的数据和/或程序模块。在一些实现方式中,系统内存760可以包括多种不同类型的存储器,例如静态随机存取存储器(SRAM)或动态随机访问存储器(DRAM)。存储子系统768可以基于磁、光、半导体或其他数据存储介质。可以使用直接附加存储、存储区域网络、网络附加存储等。本文描述的由服务或服务器生成、消费或维护的任何数据存储或其他数据集合可以存储在存储子系统768中。
作为示例而非限制,如图7所示,系统内存760可以存储应用程序762、程序数据764、以及一个或多个操作系统766,应用程序762可以包括客户端应用程序、Web浏览器、中间层应用程序、关系数据库管理系统(RDBMS)等。例如,示例性操作系统可以包括各种版本的 和/或Linux操作系统,各种商用或UNIX类操作系统(包括但不限于各种GNU/Linux操作系统、操作系统等)和/或移动操作系统,如iOS、Phone、OS、10OS和OS操作系统。
计算机可读存储介质752可以存储提供一些实施方案的功能的编程和数据构造。在被处理子系统710的处理器执行时提供上述功能的的软件(程序、代码模块、指令)可以存储在存储子系统768中。作为示例,计算机可读存储介质752可以包括非易失性存储器,例如硬盘驱动器,磁盘驱动器,诸如CD ROM、DVD、盘或其他光学介质的光盘驱动器。计算机可读存储介质752可以包括但不限于驱动器、闪存卡、通用串行总线(USB)闪存驱动器、安全数字(SD)卡、DVD盘、数字录像带等。计算机可读存储介质752还可以包括基于非易失性存储器的固态驱动器(SSD),例如基于闪存的SSD、企业闪存驱动器、基于固态ROM的驱动器等;基于例如固态RAM、动态RAM、静态RAM的易失性存储器的SSD;基于DRAM的SSD、磁阻RAM(MRAM)SSD以及使用基于DRAM和基于闪存的SSD组合的混合SSD。计算机可读介质752可以为计算系统702提供计算机可读指令、数据结构、程序模块和其他数据的存储。
在某些实施方案中,存储子系统768还可以包括计算机可读存储介质读取器750,其可以进一步连接到计算机可读存储介质752。计算机可读存储介质752与系统内存760组合,可以共同方式或者二择一方式来全面地表示远程、本地、固定和/或可移动存储设备以及用于存储计算机可读信息的存储介质。
在某些实施方案中,计算系统702可以提供对执行一个或多个虚拟机的支持。计算系统702可以执行诸如便于配置和管理虚拟机的管理程序(hypervisor)之类的程序。可以为每个虚拟机分配存储器、计算(例如,处理器、核)资源,I/O资源和网络资源。每个虚拟机通常运行其自己的操作系统,该操作系统可以与由计算系统702执行的其他虚拟机执行的操作系统相同或不同。因此,多个操作系统可能潜在地由计算系统702并行运行。每个虚拟机通常独立于其他虚拟机运行。
通信子系统740提供到其他计算机系统和网络的接口。通信子系统740用作从计算系统702接收数据的接口和将数据从计算系统702发送到其他系统的接口。例如,通信子系统740可以使计算系统702能够经由因特网建立到一个或多个客户端计算设备的通信信道以用于从客户端计算设备接收信息和向客户端计算设备发送信息。
通信子系统740可以支持有线和/或无线通信协议。例如,在某些实施方案中,通信子系统740可以包括用于访问无线语音和/或数据网络的射频(RF)收发器组件(例如,使用蜂窝电话技术;高级数据网络技术,例如3G、4G或EDGE(增强的全球演进数据速率)、WiFi(IEEE 802.11系列标准或其他移动通信技术或其任何组合)、全球定位系统(GPS)接收器组件和/或其他组件。在一些实施方案中,除了无线接口之外或代替无线接口,通信子系统740可提供有线网络连接(例如,以太网)。
通信子系统740可以以各种形式接收和发送数据。例如,在一些实施方案中,通信子系统740可以接收结构化和/或非结构化数据馈送、事件流、事件更新等形式的输入通信。例如,通信子系统740可以被配置为从社交媒体网络的用户、和/或诸如馈送、更新、诸如Rich Site Summary(RSS)馈送的web馈送的其他通信服务、和/或来自一个或多个第三方信息源的实时更新实时接收(或发送)数据馈送。
在某些实施方案中,通信子系统740可以被配置为接收连续数据流形式的数据,连续数据流可以包括实时事件的事件流和/或事件更新,其本质上可以是连续的或无界的,没有明确的结束。生成连续数据的应用的示例可以包括例如传感器数据应用、金融代码、网络性能测量工具(例如,网络监控和流量管理应用)、点击流分析工具、汽车交通监控等。
通信子系统740还可以被配置为将结构化和/或非结构化数据馈送、事件流、事件更新等输出到可以与耦合到计算系统702的一个或多个流数据源计算机通信的一个或多个数据库。
通信子系统740可以提供通信接口742,例如WAN接口,该WAN接口可以提供局域网(总线子系统770)和更大的网络(例如因特网)之间的数据通信能力。可以使用常规通信技术或其他通信技术,包括有线(例如,以太网、IEEE 802.3标准)和/或无线技术(例如,WiFi、IEEE 802.11标准)。
计算系统702可以响应于经由通信接口742接收的请求而操作。此外,在一些实施方案中,通信接口742可以将计算系统702彼此连接,从而提供能够管理大量活动的可扩展性系统。可以使用用于管理服务器系统和服务器群的常规技术或其他技术(协作的服务器系统的集合),包括动态资源分配和重新分配。
计算系统702可以经由诸如因特网的广域网与各种用户拥有设备或用户操作设备交互。用户操作设备的示例在图7中示出为客户端计算系统704。客户端计算系统704可以被实现为例如消费者设备,诸如智能电话、其他移动电话、平板电脑、可穿戴计算设备(例如,智能手表、眼镜)、台式计算机、笔记本电脑等等。
例如,客户端计算系统704可以经由通信接口742与计算系统702通信。客户端计算系统704可以包括常规计算机组件,诸如处理单元782、存储设备784、网络接口780、用户输入设备786、以及用户输出设备788。客户端计算系统704可以是以各种形式因子实现的计算设备,诸如台式计算机、膝上型计算机、平板计算机、智能电话、其他移动计算设备、可穿戴计算设备等。
处理单元782和存储设备784可以类似于上述处理单元712,714和本地存储器722,724。可以基于要置于客户端计算系统704上的需求来选择合适的设备;例如,客户端计算系统704可以实现为具有有限处理能力的“瘦”客户端或者实现为高功率计算设备。客户端计算系统704可以配置有可由处理单元782执行的程序代码,以实现与消息管理服务的计算系统702的各种交互(诸如访问消息、对消息执行动作)、以及上述其他交互。一些客户端计算系统704还可以独立于消息管理服务与消息传递服务交互。
网络接口780可以提供到广域网(例如,因特网)的连接,计算系统702的通信接口740也连接到该广域网。在各种实施方案中,网络接口780可以包括有线接口(例如,以太网)和/或实现各种RF数据通信标准的无线接口,诸如WiFi、蓝牙或蜂窝数据网络标准(例如,3G,4G,LTE等等)。
用户输入设备786可以包括用户可以通过其向客户端计算系统704提供信号的任何设备(或多个设备);客户端计算系统704可以将信号解释为特定用户请求或信息的指示。在各种实施方案中,用户输入设备786可以包括键盘、触摸板、触摸屏、鼠标或其他指向设备、滚轮、点击轮、拨号盘、按钮、开关、小键盘、麦克风等中的任何一个或全部。
用户输出设备788可以包括客户端计算系统704可以通过其向用户提供信息的任何设备。例如,用户输出设备788可以包括用于显示由客户端计算系统704生成或传送到客户端计算系统704的图像的显示。该显示可以包含与支持电子器件(例如,数字-模拟转换器或模拟-数字转换器、信号处理器等)一起的各种图像生成技术,例如液晶显示器(LCD)、包括有机发光二极管(OLED)的发光二极管(LED)、投影系统、阴极射线管(CRT)等。一些实施方案可以包括诸如用作输入和输出设备的触摸屏的设备。在一些实施方案中,除了显示器之外或代替显示器,可以提供其他用户输出设备788。示例包括指示灯、扬声器,触觉“显示”设备、打印机等。
一些实施方案包括电子组件,诸如微处理器、将计算机程序指令存储在计算机可读存储介质中的存储器和内存。本说明书中描述的许多特征可以实现为被指定为在计算机可读存储介质上编码的一组程序指令的过程。当这些程序指令由一个或多个处理单元执行时,它们使处理单元执行程序指令中指示的各种操作。程序指令或计算机代码的示例包括诸如由编译器产生的机器代码,以及包括由计算机、电子组件或使用解释器的微处理器执行的较高级代码的文件。通过适当的编程,处理单元712、处理单元714和处理单元782可以为计算系统702和客户端计算系统704提供各种功能,包括本文描述的由服务器或客户端执行的任何功能,或者与消息管理服务相关联的其他功能。
应当理解,计算系统702和客户端计算系统704是说明性的,变化和修改是可能的。结合本发明的实施方案使用的计算机系统可具有本文未具体描述的其他能力。此外,虽然参考特定区块描述了计算系统702和客户端计算系统704,但是应该理解,这些区块是为了便于描述而定义的,并不意味着暗示组件部分的特定物理布置。例如,不同的区块可以但不必位于相同的设施中,位于相同的服务器机架中,或者位于同一主板上。此外,区块不需要对应于物理上不同的组件。区块可以被配置为例如,通过编程处理器或提供适当的控制电路执行各种操作,并且取决于如何获得初始配置,各种区块可以是可重新配置的或不可重新配置的。可以在各种设备,包括使用电路和软件的任何组合实现的电子设备中实现本发明的实施方案。
感光镶嵌幕地面映射
图8是根据实施方案的嵌入清洁机器人壳体中的相机的图。一个实施方案在清洁机器人的前壳802中使用单个相机804。另一个实施方案增加了第二相机806。如图所示,两个相机安装在前壳802的凹槽812中。相机804,806安装成略微向下指向地面810。在一个实施方案中,灯808是安装在相机之间以为相机的视野提供照明。
图9是根据实施方案的具有相机的清洁机器人的图,该图示出了计算出的相机图像中的点的平面位置。清洁机器人902具有安装在前部的相机904。相机具有视野,由向上线916和向下线918之间的区域示出。相机安装在离地面或其他支撑表面908已知距离906处。对于相机视野中的图像中的任何特定像素,平面位置可以由位置和相机高度906计算出。例如,点912在由线914接触相机所示的像素位置处被相机观察到。然后,图像中的该像素可以与对应于中心距离910(从相机到地面908上的点912)的位置相关联。
机器人902的位置从LIDAR模块920获知。因此,获知LIDAR模块920中的检测器与相机904之间的偏移距离,确定偏移。因此,点912的位置是LIDAR确定的机器人清洁器902的坐标加上偏移加上中心距离910。注意,可替代地,可以使用其他位置机构,例如VSLAM、室内GPS,车轮里程表或任何组合。位置计算将相应地修改。例如,对于VSLAM,偏移将是相机904和VSLAM相机之间的距离。如果相同的相机904用于两种功能,则可以消除偏移。
替代方法还可用于确定相机图像中的像素的平面位置。例如,可以在图像中检测诸如墙壁或家用电器之类的物体,并且可以通过机器人清洁器上的撞击传感器的先前接触来获知该位置。从该获知位置和机器人清洁器的已知位置,可以计算图像中像素的位置。
机器人的任何倾斜被检测到并用于校正图像像素位置或简单地丢弃图像。可以通过倾斜传感器、加速度计或图像数据的分析来检测倾斜。例如,图像中已知点的垂直移动,比机器人的平移运动更多,可以用作倾斜的指示。
为了提供足够的视野,鱼眼或其他镜头可以放置在相机的前面,例如图6所示的镜头644。在一个实施方案中,提供100和180度之间例如160度的视野。或者,可以使用两个相机,如图8所示,消除了镜头的需要,或减少了来自镜头的所需视野增加量。在一个实施方案中,相机位于离地面几厘米例如5至20厘米,或约7厘米处。相机视野可以开始于机器人前面几厘米处,机器人前面5至25厘米,在一个实施方案中可以在机器人前面10厘米。相机拍摄的视野大于最终平面的平面布置图的最小分辨率,并且可以是4×4mm至40×60cm的区域。在一个实施方案中,视野包括在相机视野方向上20cm以及垂直于相机视野的方向上30cm的矩形区域。可以裁剪拍摄的图像,并且裁剪的图像包括用于构成地图的一个或多个图块或片段。在一个实施方案中,片段或图块为约4×4cm。或者,片段可以是4×4mm至40×60cm的任何地方。
在一个实施方案中,相机具有HD范围的低端的分辨率。由于图像将用于填充智能手机上可查看的平面布置图,因此不需要较高的分辨率,从而节省了成本和处理。例如,720pHD相机(1280×720像素)就足够了。
每秒的帧数也不需要很高,并且可以与位置的准确性相匹配。例如,如果使用拍摄5帧/秒的LIDAR系统,则相机的5帧/秒的帧速率就足够了。在一个实施方案中,图像拍摄的时序可以与位置确定的时序同步,以确保图像对应于精确位置。
图10是根据实施方案的机器人的相机所拍摄的图像的图,该图像由于鱼眼镜头而失真。可以看出,视野包括地面1002和墙壁1004,具有明显的失真。
图11是根据实施方案的机器人的相机所拍摄的图像的图,该图像进行了变换以校正由于鱼眼镜头引起的失真。已经校正了地面1102的图像,墙壁1104也是如此。在一个实施方案中,使用Open CV(计算机视觉)扭曲程序校正失真。
图12是根据实施方案的机器人的相机所拍摄的图像的图,该图中示出了将地面裁剪出一部分。从地面区域1204中裁剪出区域1202以用于处理。可以在裁剪之前或裁剪之后进行去翘曲。然后可以将裁剪的图像转换为平面地图坐标。
图13是根据实施方案的机器人的相机所拍摄的图像的图,该图像被转换为平面形式并且示出了图像的拍摄片段。可以看出,转换后的图像是楔石形1304,其形状随着从倾斜视图(angled view)被映射到平面表面而改变。然后片段/图块1302被捕捉以提供可以与其他片段/图块拼接在一起的图像,产生平面的平面布置图。在一个实施方案中,从每个相机图像中提取系列片段/图块。例如,可以捕捉一行片段/图块1302。这些片段可以重叠以进行拼接,拼接在一起的过程中,可以移动子片段直到重叠部分匹配,由此来进行任何所需的微小调整,以将这些片段对准。在机器人清洁器已经推进到使得图像中的某一行将是平面表面上的下一行并且在前进方向上与该某一行重叠之后,可以从后续图像中获取第二行。
可以使用各种其他实施方案。可以从单个图像捕捉片段网格,并且可以获得来自后续图像的系列重叠片段。在一个实施方案中,捕捉的主要行片段距离相机足够远以使位置计算非常准确,但不能太远以使图像清晰度良好。在使用多个相机的情况下,它们的视野重叠,并且重叠被结合到片段的对准中。多个相机也可以提供冗余,在一个相机的镜头变脏或者图像模糊的情况下,另一个相机的重叠图像或后续图像可以以较高的质量被加权并被代替使用。
无论图像是来自相同的相机还是多个相机,图像质量都可以被加权,较高质量的图像取代较低质量的图像。加权因子包括,例如,拍摄图像时机器人的速度、振动、角度(倾斜)、与其他片段的重叠部分的一致性、片段与相机的接近度以及照明。以较慢的机器人速度拍摄的图像可以具有比以较快的速度拍摄的图像高的权重。靠近机器人拍摄的图像可以具有比远离机器人拍摄的图像高的权重。在倾斜或振动事件期间拍摄的图像可以具有比没有这种倾斜或振动的情况下或者在较小的倾斜或振动的情况下拍摄的图像低的权重。在较高照度下拍摄的图像可以被加权得更高、直到照明过度而降低图像质量的水平。
图14是根据实施方案的用户设备显示的图,该用户设备显示示出了拼接在一起的用于形成具有物体的平面图的片段。显示1406示出了由清洁机器人映射的平面布置图的平面地图1402。该地图显示了两个地毯,地毯1404和地毯1408。地图足够详细以显示地毯的毛边,因此提醒用户地毯具有毛边。
在一个实施方案中,首先使用位置数据创建平面布置图的直线网格。然后使用来自相机的图像填充网格中的各种矩形。与图像相关联的位置标签用于指示图像的适当网格位置。使用重叠区域进行调整。然后移除图像片段之一的重叠部分。
图15是根据实施方案的用户设备显示的图,该用户设备显示示出了拼接在一起的用于形成平面图的片段,用户在该平面图的显示上标记有禁区部分。平面布置图1402示出了如图14所示的地毯1404和地毯1408。用户已经与显示交互以在地毯1404的毛边周围绘制禁区1502和禁区1504,因此机器人清洁器不会使其刷子钩住毛边。禁区1506和禁区1508在地毯1408上被指示。代替指示禁区,机器人清洁器的其他修改可以被指示。例如,吸尘机器人可以在这些区域上继续,但是刷子可以被关闭以避免缠结。该图只是可以检测到的物体的示例。许多其他物体可以被呈现,例如地面是瓷砖还是地毯,小物体或指示家具的未标明区域等。
图16是根据实施方案的用于生成平面视角平面布置图的过程的流程图。首先相机拍摄地面的系列图像(步骤1602)。例如通过LIDAR、VSLAM,GPS或其他方式,针对每个图像确定机器人的位置(1604)。用摄像时机器人的位置标记系列图像中的每个图像(1606)。裁剪图像以识别每个图像中的至少一个片段(1608)。将片段从机器人相机透视图转换成平面视图(1610)。将平面视图中机器人位置处的每个片段偏移填充至平面布置图,其中该偏移与机器人位置和所述片段在地面上的位置之间的差相对应(1612)。向用户显示平面布置图(1614)。接受用以修改机器人的操作特性的用户输入(1616)。
可以使用各种其他实施方案。相机可适用于可见光、红外光、紫外线,3D点云或其他图像。来自相机的图像可以在清洁机器人、插接站中被本地存储和处理,或者在通过以下方式连接的计算机中被远程存储和处理,该计算机通过WiFi、蓝牙或其他无线连接与机器人连接或者无线地或通过有线连接与对插接站连接。通过因特网或其他网络连接的远程服务器可以存储和/或处理图像。在清洁机器人完成运行后或实时地将图像上载到插接站处理器,远程计算机或服务器可以异步完成。处理可以在不同处理器之间被划分。例如,可以在清洁机器人中完成初始裁剪、镜头失真校正和转换成平面(鸟瞰图)格式中的一个或多个,其中拼接在一起和其他操作远程完成。
虽然已经相对于特定实施方案描述了本发明,但是本领域技术人员将认识到可以进行多种修改。可以使用各种计算机系统和通信技术来实现本发明的实施方案,包括但不限于本文描述的特定示例。
可以使用专用组件和/或可编程处理器和/或其他可编程设备的任何组合来实现本发明的实施方案。本文描述的各种过程可以以任何组合在同一处理器或不同处理器上实现。在将组件描述为被配置为执行某些操作的情况下,可以例如通过设计电子电路来执行操作,通过编程可编程电子电路(例如微处理器)来执行操作或其任何组合来完成这种配置。此外,虽然上述实施方案可以参考特定的硬件和软件组件,但是本领域技术人员将理解,也可以使用硬件和/或软件组件的不同组合,并且描述为以硬件实现的特定操作也可以用软件实现,反之亦然。
包含本发明的各种特征的计算机程序可以被编码并存储在各种计算机可读存储介质上;合适的介质包括磁盘或磁带、光盘存储介质(诸如光盘(CD)或DVD(数字通用光盘))、闪存和其他非暂时性介质。用程序代码编码的计算机可读介质可以与兼容的电子设备一起封装,或者程序代码可以与电子设备分开提供(例如,通过因特网下载或作为单独封装的计算机可读存储介质)。
因此,尽管已经相对于特定实施方案描述了本发明,但是应当理解,本发明旨在覆盖所附权利要求范围内的所有修改和等同物。

Claims (16)

1.一种用于根据地面穿梭机器人拍摄的图像提供平面布置图的方法,其中,在所述机器人中安装有相机,所述相机在机器人壳体中的位置足够高以提供朝向地面的视角,所述方法包括:
用所述相机拍摄所述地面的系列图像;
针对每个所述图像,确定所述机器人的位置;
用摄像时所述机器人的位置来标记所述系列图像中的每个图像;
裁剪每个所述图像,以识别每个所述图像中的至少一个片段;
将所述片段从机器人相机透视图转换为平面视图;
用所述平面视图中在所述机器人位置处的每个所述片段来偏移填充所述平面布置图,其中所述偏移与所述机器人位置和所述片段在所述地面上的位置之间的差相对应;
向用户显示所述平面布置图;以及
接受用户在所述平面布置图上的输入以修改所述机器人的操作特性。
2.如权利要求1所述的方法,其中,
所述相机前还设置有镜头,
所述方法还包括:将失真算法应用于所述系列图像,以校正由于所述镜头引起的图像失真。
3.如权利要求1所述的方法,其中,用所述平面视图中在所述机器人位置处的每个所述片段来偏移填充所述平面布置图,还包括:
利用所述相机离所述地面的已知出厂高度和所述相机的已知向下角度,将所述平面布置图中的图像像素位置与平面地面位置相关联。
4.如权利要求3所述的方法,还包括:
检测到所述机器人的倾斜超过第一阈值;以及
校正所述图像像素位置或丢弃所述图像。
5.如权利要求1所述的方法,还包括:
捕捉区域片段,所述区域的大小与所述平面布置图的最小分辨率相比为相同或更大。
6.如权利要求1所述的方法,还包括:
捕捉重叠片段;以及
通过将一个片段的重叠部分与相邻片段的重叠部分相匹配来进行对准调整。
7.如权利要求1所述的方法,还包括:
多次捕捉同一片段,以提供所述同一片段的多个版本;
确定所述同一片段的每个版本的加权质量;
用较高质量的版本替换较低质量的版本。
8.根据权利要求7所述的方法,其中,使用所述机器人拍摄所述图像时的速度、振动、所述机器人的倾斜、与其他片段的重叠部分的一致性、所述片段与所述相机的接近度以及照明中的至少一个来确定所述加权质量。
9.如权利要求1所述的方法,其中,所述机器人上设有用于所述相机视野的照明源,所述方法还包括:
存储所述照明源的基线图像亮度值;
检测不同的片段相对于所述基线的照度差异;以及
根据所述照度差异对所述片段的亮度进行任何必要的校正。
10.一种利用地面穿梭机器人拍摄的图像来提供平面布置图的方法,其中,在所述机器人中安装有相机,所述相机在机器人壳体中的位置足够高以提供朝向地面的视角,在所述相机前设有镜头,所述方法包括:
用所述相机拍摄所述地面的系列图像;
将失真算法应用于所述系列图像,以校正由于所述镜头引起的图像失真;
针对每个所述图像,确定所述机器人的位置;
用摄像时所述机器人的位置来标记所述系列图像的每个图像;
检测到所述机器人的倾斜超过第一阈值时,校正图像像素位置或丢弃所述图像;
裁剪每个所述图像,以识别每个所述图像中的至少一个片段;
捕捉区域片段,所述区域的大小与所述平面布置图的最小分辨率相比为相同或更大;
将所述片段从机器人相机透视图转换为平面视图;
通过利用所述相机离所述地面的已知出厂高度和所述相机的已知向下角度、将所述平面布置图中的图像像素位置与平面地面位置相关联,用所述平面视图中所述机器人位置处的每个所述片段来偏移填充所述平面布置图,其中,所述偏移与所述机器人位置和所述片段在所述地面上的位置之间的差相对应;
捕捉重叠片段;
通过将一个片段的重叠部分与相邻片段的重叠部分相匹配来进行对准调整;
向用户显示所述平面布置图;以及
接受用户在所述平面布置图上的输入以修改所述机器人的操作特性。
11.一种用于根据图像来提供平面布置图的系统,包括:
地面穿梭机器人;
所述地面穿梭机器人的机器人壳体;
安装在所述壳体内用于移动所述地面穿梭机器人的电机;
与所述电机连接以向所述电机供电的电池;
安装在所述机器人中的第一相机,所述第一相机在所述机器人壳体中足够高以提供朝向地面的视角;
安装在所述机器人中的处理器;
所述机器人中的存储器;
所述机器人中的位置模块;
所述存储器中的非暂时性计算机可读代码,所述非暂时性计算机可读代码具有用于如下操作的指令:
用所述第一相机拍摄所述地面的系列图像,
针对每个所述图像,根据所述位置模块提供的数据确定所述机器人的位置,以及
用摄像时所述机器人的位置来标记所述系列图像的每个图像;
所述非暂时性计算机可读代码具有用于以下操作的指令:
裁剪每个所述图像,以识别每个所述图像中的至少一个片段,
将所述片段从机器人相机透视图转换为平面视图,
用所述平面视图中所述机器人位置处的每个所述片段来偏移填充所述平面布置图,其中所述偏移对应于所述机器人位置和所述片段在所述地面上的位置之间的差,
向用户显示所述平面布置图,以及
接受用户在所述平面布置图上的输入以修改所述机器人的操作特性。
12.如权利要求11所述的系统,还包括:
安装在所述机器人相机前的镜头;和
所述存储器中的所述非暂时性计算机可读代码还具有用于以下操作的指令:将失真算法应用于所述系列图像,以校正由于所述镜头引起的图像失真。
13.如权利要求11所述的系统,还包括:
安装在所述机器人中的倾斜传感器;和
嵌入在计算机可读介质中的非暂时性计算机可读代码,所述非暂时性计算机可读代码具有用于以下的指令:
检测到所述机器人的倾斜超过第一阈值;以及
校正图像像素位置或丢弃所述图像。
14.如权利要求11所述的系统,还包括:安装在所述机器人中的第二相机,
所述第二相机在所述机器人壳体中足够高以提供朝向所述地面的视角,其中所述第二相机具有与所述第一相机重叠的视野。
15.如权利要求11所述的系统,还包括:
安装在所述机器人上的灯,以提供所述相机的视野的照明;
嵌入在计算机可读介质中的非暂时性计算机可读代码,所述非暂时性计算机可读代码具有用于以下的指令:
存储所述照明源的基线图像亮度值,
检测不同的片段的照度差异;以及
根据所述照度差异对所述片段的亮度进行任何必要的校正。
16.如权利要求11所述的系统,还包括:
安装在所述机器人中并配置为使用SLAM算法确定所述机器人的位置的LIDAR模块。
CN201811545229.8A 2017-12-15 2018-12-17 提供平面布置图的方法、系统 Active CN110060207B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/844,437 2017-12-15
US15/844,437 US10638906B2 (en) 2017-12-15 2017-12-15 Conversion of cleaning robot camera images to floorplan for user interaction

Publications (2)

Publication Number Publication Date
CN110060207A true CN110060207A (zh) 2019-07-26
CN110060207B CN110060207B (zh) 2023-05-12

Family

ID=65147070

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811545229.8A Active CN110060207B (zh) 2017-12-15 2018-12-17 提供平面布置图的方法、系统

Country Status (4)

Country Link
US (1) US10638906B2 (zh)
CN (1) CN110060207B (zh)
DE (1) DE102018132428A1 (zh)
GB (1) GB2570785B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114502918A (zh) * 2019-08-14 2022-05-13 北伯林顿铁路公司 用于定位对象的系统及方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11240854B2 (en) * 2017-08-22 2022-02-01 AI Incorporated Methods and systems for pairing mobile robotic device docking stations with a wireless router and cloud service
TWI677314B (zh) * 2017-12-29 2019-11-21 技嘉科技股份有限公司 移動裝置及其控制方法、遠端控制系統及電腦程式產品
US10575699B2 (en) 2018-01-05 2020-03-03 Irobot Corporation System for spot cleaning by a mobile robot
US11454981B1 (en) * 2018-04-20 2022-09-27 AI Incorporated Versatile mobile robotic device
US10751875B2 (en) * 2018-05-31 2020-08-25 Indoor Robotics Ltd Rotatable mobile robot for mapping an area and a method for mapping the same
CN112596508B (zh) * 2019-08-29 2022-04-12 美智纵横科技有限责任公司 一种传感器的控制方法、装置及存储介质
ES2827374A1 (es) * 2019-11-20 2021-05-20 Cecotec Res And Development Procedimiento de operación de un aparato auto-desplazable de limpieza y aparato para llevar a cabo el procedimiento
KR20210061842A (ko) 2019-11-20 2021-05-28 삼성전자주식회사 이동 로봇 장치 및 이의 제어 방법
CN113359692B (zh) * 2020-02-20 2022-11-25 杭州萤石软件有限公司 一种障碍物的避让方法、可移动机器人
USD989426S1 (en) * 2021-01-20 2023-06-13 Vorwerk & Co. Interholding Gmbh Robot vacuum cleaner
CN112914410A (zh) * 2021-01-29 2021-06-08 深圳市艾深科技有限公司 擦窗机器人无线传输装置
GB2618847A (en) * 2022-05-20 2023-11-22 Dyson Technology Ltd Augmented reality cleaning system

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104573733A (zh) * 2014-12-26 2015-04-29 上海交通大学 一种基于高清正射影像图的高精细地图生成系统及方法
CN105142482A (zh) * 2013-04-26 2015-12-09 三星电子株式会社 清洁机器人、家居监控装置以及用于控制该清洁机器人的方法
CN105407774A (zh) * 2013-07-29 2016-03-16 三星电子株式会社 自动清扫系统、清扫机器人和控制清扫机器人的方法
US20160147230A1 (en) * 2014-11-26 2016-05-26 Irobot Corporation Systems and Methods for Performing Simultaneous Localization and Mapping using Machine Vision Systems
US20160167226A1 (en) * 2014-12-16 2016-06-16 Irobot Corporation Systems and Methods for Capturing Images and Annotating the Captured Images with Information
CN105809619A (zh) * 2015-01-19 2016-07-27 株式会社理光 用于线性全景图像拼接的图像获取用户界面
CN106537186A (zh) * 2014-11-26 2017-03-22 艾罗伯特公司 用于使用机器视觉系统执行同时定位和映射的系统和方法
US20170203446A1 (en) * 2016-01-15 2017-07-20 Irobot Corporation Autonomous monitoring robot systems

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999866A (en) * 1996-11-05 1999-12-07 Carnegie Mellon University Infrastructure independent position determining system
GB0218188D0 (en) * 2002-08-06 2002-09-11 Hewlett Packard Co Methods and arrangements applicable to exhibition spaces
KR100500842B1 (ko) * 2002-10-31 2005-07-12 삼성광주전자 주식회사 로봇청소기와, 그 시스템 및 제어방법
KR100506533B1 (ko) * 2003-01-11 2005-08-05 삼성전자주식회사 이동로봇 및 그에 따른 자율주행 시스템 및 방법
JP3994950B2 (ja) * 2003-09-19 2007-10-24 ソニー株式会社 環境認識装置及び方法、経路計画装置及び方法、並びにロボット装置
US8996172B2 (en) 2006-09-01 2015-03-31 Neato Robotics, Inc. Distance sensor system and method
JP4212109B2 (ja) * 2007-03-20 2009-01-21 パナソニック株式会社 撮影装置および撮影方法
JP4857242B2 (ja) * 2007-11-05 2012-01-18 株式会社日立製作所 ロボット
WO2011026119A2 (en) * 2009-08-31 2011-03-03 Neato Robotics, Inc. Method and apparatus for simultaneous localization and mapping of mobile robot environment
US9014848B2 (en) 2010-05-20 2015-04-21 Irobot Corporation Mobile robot system
DE102010029241A1 (de) * 2010-05-21 2011-11-24 Alfred Kärcher Gmbh & Co. Kg Bodenbearbeitungsgerät sowie Verfahren zur Bearbeitung einer Bodenfläche
US9047531B2 (en) * 2010-05-21 2015-06-02 Hand Held Products, Inc. Interactive user interface for capturing a document in an image signal
DE102011000536A1 (de) * 2011-02-07 2012-08-09 Vorwerk & Co. Interholding Gmbh Verfahren zur Bestimmung der Position eines selbsttätig verfahrbaren Geräts
US8800101B2 (en) * 2011-07-25 2014-08-12 Lg Electronics Inc. Robot cleaner and self testing method of the same
US8798840B2 (en) 2011-09-30 2014-08-05 Irobot Corporation Adaptive mapping with spatial summaries of sensor data
WO2013071150A1 (en) * 2011-11-11 2013-05-16 Bar Code Specialties, Inc. (Dba Bcs Solutions) Robotic inventory systems
US8699005B2 (en) * 2012-05-27 2014-04-15 Planitar Inc Indoor surveying apparatus
KR101954144B1 (ko) * 2012-06-08 2019-03-05 엘지전자 주식회사 로봇 청소기와, 이의 제어 방법, 및 이를 포함한 로봇 청소 시스템
US8855914B1 (en) 2012-08-31 2014-10-07 Neato Robotics, Inc. Method and apparatus for traversing corners of a floored area with a robotic surface treatment apparatus
US9233472B2 (en) * 2013-01-18 2016-01-12 Irobot Corporation Mobile robot providing environmental mapping for household environmental control
US9037396B2 (en) * 2013-05-23 2015-05-19 Irobot Corporation Simultaneous localization and mapping for a mobile robot
US9420741B2 (en) * 2014-12-15 2016-08-23 Irobot Corporation Robot lawnmower mapping
WO2016103067A1 (en) * 2014-12-22 2016-06-30 Husqvarna Ab Garden mapping and planning via robotic vehicle
US10328573B2 (en) * 2015-01-06 2019-06-25 Discovery Robotics Robotic platform with teach-repeat mode
US11212437B2 (en) * 2016-06-06 2021-12-28 Bryan COLIN Immersive capture and review
US10244167B2 (en) * 2016-06-17 2019-03-26 Gopro, Inc. Apparatus and methods for image encoding using spatially weighted encoding quality parameters
US10325372B2 (en) * 2016-12-20 2019-06-18 Amazon Technologies, Inc. Intelligent auto-cropping of images
DE102017118381A1 (de) * 2017-08-11 2019-02-14 Vorwerk & Co. Interholding Gmbh Verfahren zum Betrieb eines sich selbsttätig fortbewegenden Bodenbearbeitungsgerätes

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105142482A (zh) * 2013-04-26 2015-12-09 三星电子株式会社 清洁机器人、家居监控装置以及用于控制该清洁机器人的方法
CN105407774A (zh) * 2013-07-29 2016-03-16 三星电子株式会社 自动清扫系统、清扫机器人和控制清扫机器人的方法
US20160147230A1 (en) * 2014-11-26 2016-05-26 Irobot Corporation Systems and Methods for Performing Simultaneous Localization and Mapping using Machine Vision Systems
CN106537186A (zh) * 2014-11-26 2017-03-22 艾罗伯特公司 用于使用机器视觉系统执行同时定位和映射的系统和方法
US20160167226A1 (en) * 2014-12-16 2016-06-16 Irobot Corporation Systems and Methods for Capturing Images and Annotating the Captured Images with Information
CN104573733A (zh) * 2014-12-26 2015-04-29 上海交通大学 一种基于高清正射影像图的高精细地图生成系统及方法
CN105809619A (zh) * 2015-01-19 2016-07-27 株式会社理光 用于线性全景图像拼接的图像获取用户界面
US20170203446A1 (en) * 2016-01-15 2017-07-20 Irobot Corporation Autonomous monitoring robot systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114502918A (zh) * 2019-08-14 2022-05-13 北伯林顿铁路公司 用于定位对象的系统及方法

Also Published As

Publication number Publication date
US10638906B2 (en) 2020-05-05
US20190183310A1 (en) 2019-06-20
CN110060207B (zh) 2023-05-12
GB2570785A (en) 2019-08-07
GB201820408D0 (en) 2019-01-30
GB2570785B (en) 2022-01-19
DE102018132428A1 (de) 2019-06-19

Similar Documents

Publication Publication Date Title
CN110060207A (zh) 提供平面布置图的方法、系统
US20210166495A1 (en) Capturing and aligning three-dimensional scenes
US11132000B2 (en) Robot with automatic styles
US10983597B2 (en) Three dimensional (3D) modeling of a complex control object
US10674142B2 (en) Optimized object scanning using sensor fusion
CN108885459B (zh) 导航方法、导航系统、移动控制系统及移动机器人
US20180348764A1 (en) System and method for providing easy-to-use release and auto-positioning for drone applications
JP2021527895A (ja) オブジェクト・モデリング動作方法及び装置並びにデバイス
CN110495819A (zh) 机器人的控制方法、机器人、终端、服务器及控制系统
CN108829242A (zh) 智能终端及其非触控式操作方法
WO2021088960A1 (zh) 模型获取方法、物体预判方法及装置
US10948994B2 (en) Gesture control method for wearable system and wearable system
WO2015112647A1 (en) Object oriented image processing and rendering in a multi-dimensional space
EP3460745A1 (en) Spherical content editing method and electronic device supporting same
CN111724412A (zh) 确定运动轨迹的方法、装置及计算机存储介质
US8854485B1 (en) Methods and systems for providing functionality of an interface to include an artificial horizon
EP4261793A1 (en) Obstacle avoidance using fused depth and intensity for nnt training
CN117297400A (zh) 清洁方法、清洁展示方法、清洁设备及计算机程序产品

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230717

Address after: Germany Wuppertal

Patentee after: VORWERK & CO. INTERHOLDING GmbH

Address before: California, USA

Patentee before: NEATO ROBOTICS, Inc.