WO2014055966A1 - Robot management systems for determining docking station pose including mobile robots and methods using same - Google Patents

Robot management systems for determining docking station pose including mobile robots and methods using same Download PDF

Info

Publication number
WO2014055966A1
WO2014055966A1 PCT/US2013/063599 US2013063599W WO2014055966A1 WO 2014055966 A1 WO2014055966 A1 WO 2014055966A1 US 2013063599 W US2013063599 W US 2013063599W WO 2014055966 A1 WO2014055966 A1 WO 2014055966A1
Authority
WO
WIPO (PCT)
Prior art keywords
pose
docking station
robot
docking
fiducial markers
Prior art date
Application number
PCT/US2013/063599
Other languages
French (fr)
Inventor
Philip Fong
Jason Meltzer
Steffen Gutmann
Vazgen KARAPETYAN
Mario Munich
Original Assignee
Irobot Corporation
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 Corporation filed Critical Irobot Corporation
Priority to EP13844141.5A priority Critical patent/EP2903787B1/en
Priority to JP2015535850A priority patent/JP2015535373A/en
Publication of WO2014055966A1 publication Critical patent/WO2014055966A1/en

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
    • 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/2868Arrangements for power supply of vacuum cleaners or the accessories thereof
    • A47L9/2873Docking units or charging stations
    • 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/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0225Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving docking at a fixed facility, e.g. base station or loading bay
    • 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/2894Details related to signal transmission in suction cleaners
    • 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/30Arrangement of illuminating devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • B25J11/0085Cleaning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/006Controls for manipulators by means of a wireless system for controlling one or several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/005Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators using batteries, e.g. as a back-up power source
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/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 or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/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
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • H02J7/0042Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries characterised by the mechanical construction
    • H02J7/0045Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries characterised by the mechanical construction concerning the insertion or the connection of the 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
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/01Mobile robot

Definitions

  • One highly desirable characteristic of household mobile robots is the capability of performing self-charging whenever the battery level reaches a low enough value.
  • Many mobile robots currently in the market have systems for finding the docking station and engaging with charging contacts.
  • Some robots like the Roomba® from iRobot®, the RC-3000 from Karcher®, or the HausenTM from Samsung®, use IR beams on the station and IR receptors on the robot to detect the charging station and navigate until docked.
  • mobile robot system includes a docking station having at least two pose-defming fiducial markers.
  • the pose-defming fiducial markers have a predetermined spatial relationship with respect to one another and/or to a reference point on the docking station such that a docking path to the base station can be determined from one or more observations of the at least two pose- defming fiducial markers.
  • a mobile robot in the system has a chassis, a motorized drive connected to the chassis for moving the mobile robot to a docked position, and a pose sensor assembly having a sensor that is configured to output a signal in response to the at least two pose-defming fiducial marks in a pose sensor field of view.
  • a controller is located on the chassis and is configured to analyze the output signal from the pose sensor assembly.
  • the controller has the predetermined spatial relationship of the pose-defining fiducial marker stored in a controller memory.
  • the controller is configured to determine a docking station pose that is based on the spatial relationship of the pose-defming fiducial markers and the signals from the pose sensor assembly.
  • the controller is further configured to locate the docking station pose on a map of a surface traversed by the mobile robot and to path plan a docking trajectory including a curve having a terminal portion aligned with a docking lane of the docking station, based on a current robot position on the map of the surface and the docking station pose and to provide instructions to the motorized drive to move the mobile robot along the curve of the docking trajectory and into a docking lane aligned with the docking station.
  • Figure 1 is a schematic diagram of a robot management system according to some embodiments, or according to the invention.
  • Figure 2 is a schematic diagram of a dock according to some embodiments,or according to the invention.
  • Figure 3 is a schematic diagram of a robot according to some embodiments, or according to the invention.
  • Figures 4D-E are a embodiments of a portion of the schematic diagrams of Figures 4A-C.
  • Figure 5 is a schematic diagram of the dock of Figure 2 and the robot of Figure 3 according to some embodiments, or according to the invention.
  • Figure 6 is a flowchart illustrating operations according to some
  • Figure 7 is a schematic diagram of a fiducial marker according to some embodiments, or according to the invention.
  • Figures 8-9 are flowcharts illustrating operations according to some embodiments, or according to the invention.
  • These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, and/or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer and/or other programmable data processing apparatus, create means for implementing the functions/acts specified in the block diagrams and/or flowchart block or blocks.
  • These computer program instructions may also be stored in a computer- readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instructions which implement the function/act specified in the block diagrams and/or flowchart block or blocks.
  • the computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer- implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the block diagrams and/or flowchart block or blocks.
  • the present invention may be embodied in hardware and/or in software (including firmware, resident software, micro-code, etc.). Furthermore,
  • the computer-usable or computer-readable medium may be, for example but not limited to, an electronic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device. More specific examples (a non-exhaustive list) of the computer- readable medium would include the following: a portable computer diskette, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory) and a portable compact disc read-only memory (CD-ROM).
  • a "pose” refers to information that can be used to define a position and orientation of an object.
  • the pose may include one to three angles of rotation of an object with respect to a reference angle and a location coordinate.
  • the location coordinate may be a two- or three-dimensional location coordinate ⁇ e.g., (x, y) or (x, y. z)-
  • a "fiducial marker” includes any feature that may be identified by a sensor. At least two fiducial markers may be used to provide spatial information about an object, such as a docking station, and may include features at different positions that are connected to one another or separated from one another.
  • a "pose” may be an X-Y coordinate pair in a frame of reference combined with a single angle of orientation.
  • Non-limiting examples of fiducial markers include visual patterns, IR transmitting and IR blocking patterns, lights such as LEDs, photogrammetry targets or other patterns such as bar codes.
  • a mobile robot system in some embodiments, or in the invention, includes a docking station having at least two pose-defining fiducial markers.
  • the pose- defining fiducial markers have a predetermined spatial relationship with respect to one another and/or to a reference point on the docking station such that a docking path to the base station can be determined from one or more observations of the at least two pose-defining fiducial markers.
  • a mobile robot in the system has a chassis, a motorized drive connected to the chassis for moving the mobile robot to a docked position, and a pose sensor assembly having a sensor that is configured to output a signal in response to the at least two pose- defining fiducial marks in a pose sensor field of view.
  • a controller is located on the chassis and is configured to analyze the output signal from the pose sensor assembly.
  • the controller has the predetermined spatial relationship of the pose-defining fiducial marker stored in a controller memory.
  • the controller is configured to determine a docking station pose that is based on the spatial relationship of the pose-defining fiducial markers and the signals from the pose sensor assembly.
  • the controller is further configured to locate the docking station pose on a map of a surface traversed by the mobile robot and to path plan a docking trajectory including a curve or pathway having a terminal portion aligned with a docking lane of the docking station, based on a current robot position on the map of the surface and the docking station pose and to provide instructions to the motorized drive to move the mobile robot along the curve of the docking trajectory and into a docking lane aligned with the docking station.
  • a robotic management system 100 according to embodiments of the invention, or according to the invention, is shown therein installed in an associated enclosure or living structure 10.
  • the structure 10 may be a home or residential dwelling (e.g., a single family home, multi-family dwelling (e.g., a unit of a duplex, apartment, condominium, etc.), or mobile home) or a commercial living space (e.g., an office or studio).
  • the structure 10 defines an enclosure space 20, which may be subdivided (physically, spatially and/or functionally) into two or more defined zones (e.g., zones A-C) and may include various features, such as doors 32.
  • the robotic management system 100 includes a network-enabled mobile robot 200, a network-enabled system hub 110, a robot dock 600, a private network (e.g., a broadband LAN) 160, and a remote management server or servers (e.g., cloud server) 150.
  • the private network 160 is enabled by a router 162 and a broadband wireless access point (WAP) 164.
  • WAP broadband wireless access point
  • the private network 160 is connected to the remote server 150 by a WAN or public network 170 (e.g., the Internet) through a gateway 170A (e.g., a broadband modem) and an external connection 170B (e.g., an ISP).
  • a WAN or public network 170 e.g., the Internet
  • a gateway 170A e.g., a broadband modem
  • an external connection 170B e.g., an ISP
  • the router 162, the WAP 164 and/or the modem 170A may be integrated in a single device.
  • a local user terminal 142 e.g., a PC, smartphone, or tablet computer
  • a remote user terminal 144 may be connected to the remote server 150 and/or the private network 160 via the public network 170.
  • the hub 110, the robot 200, the local user terminal 600 and the remote user terminal 144 may each be configured with downloadable or pre-installed application software enabling communications and control between the nodes 110, 200, 600, 142, 144and 150 as described herein.
  • the hub 110 may be any suitable device configured to provide the functionality described herein.
  • the hub 110 includes a processor 114, memory 115, an HMI 116, a wireless communications module (e.g., a Wi-Fi module) 112, and an associated antenna 112A.
  • the hub 110 may include connection hardware (e.g., an Ethernet connector) for wired connection to the router 162.
  • connection hardware e.g., an Ethernet connector
  • the hub 110 can be connected to the private network 160 by wiring to the router 162.
  • the hub 110 may be wirelessly connected to the router 162 via the wireless module 112 and the WAP 164.
  • the robot dock 600 may include one or more distinct and distinguishable fiducial markers 640 A, 640B.
  • the robot dock 600 may include or be connected to a power supply 680 and include a docking port 660 having charging contacts 622A, 622B thereon that are operative to charge a battery of the mobile robot 200 when the robot 200 is docked at the robot dock 600.
  • the dock 600 may be an evacuation station and may include a receptacle 670 to receive debris from the robot 200.
  • the dock 600 is connected (wired or wirelessly) to the private network 160 to enable or facilitate transmission of data from the robot 200 to the private network 160 and/or from the private network 160 to the robot 200.
  • the fiducial markers 640A, 640B are configured to define a pose of the robot dock 600 ( Figure 6; Block 300).
  • the fiducial markers 640A, 640B may have a predetermined spatial relationship with respect to one another and/or to a reference on the docking station 600 and/or to a planar surface directly beneath the dock 600.
  • the fiducial markers 640 A, 640B may be used by the pose sensor assembly 270A-270B of the mobile robot 200 in order to determine a pose of the docking station 600 ( Figure 6 (Block 302)) and/or to map out a docking path 180 ( Figures 4A-4C; Figure 6 (Block 304)).
  • the docking path 180 may be used to provide instructions to the robot 200 to maneuver the robot 200 to the dock 600, for example, so that the robot 200 may connect with locks, clamps or detents 620A, 620B, or with electrical contacts 622A, 622B of the docking port 660to charge a battery.
  • the docking path 280 may be used to provide instructions that maneuver the robot 200 to align its air path with a docking lane or path such as an evacuation collar 610 on the dock 600 such that the dock moves debris from the robot 200 into the debris receptacle 670of the dock 660.
  • the evacuation collar 610 (or mating collar) is shown in Figures 4D and 4E as being positioned such that the robot 200 will be positioned above the evacuation collar, but the invention contemplates the robot 200 aligning with a mating collar 610 positioned above or beside the robot 200 as well.
  • the fiducial markers 640A, 640B may be any feature that is configured to be used for pose detection.
  • the fiducial markers 640A, 640B may be a photogrammetry target, two or more lights such as LEDs, a spatially recognizable pattern, or a bar code.
  • the mobile robot 200 may be any suitable robot and it will be appreciated that not all of the components, features and functionality described herein are required in all embodiments of the invention.
  • the exemplary mobile robot 200 includes a chassis 210, a controller 220, memory 222, a battery 224, a battery charger 226, a human-machine interface(HMI)228, a drive system 230, a mapping/navigation system 240, a service operation system 242, a wireless communication system 250, an IR emitter 260, and pose sensors 270 A-B.
  • the mobile robot 200 may be generally configured in the manner of or include features from the RoombaTM floor cleaning robot and/or robots as described in U.S. Patent No. 7,024,278 and U.S. Published Application No. 2007/0250212, the disclosures of which are incorporated herein by reference, with suitable modifications.
  • the controller 220 may include any suitably configured processor (e.g., microprocessor) or processors.
  • the controller 220 may be configured to control various components of the mobile robot 200.
  • the controller 220 may access and/or store information in the memory 222, control the data acquisition functions of the pose sensors 270A-B, provide instructions to the drive system 230, receive data and/or control a mapping function of the mapping/navigation system240, communicate via the
  • the drive system 230 may include any suitable mechanism or system for actively and controllably transiting the robot 200 through the enclosure space 20.
  • the drive system 230 includes a roller, rollers, track or tracks 232and one or more onboard electric motors 234operable by the controller 220 to convey the robot 200 across the floor of the enclosure space 20.
  • the service operation system 242 may be optional in some embodiments, or in the invention, and is operable to execute a service operation in the enclosure space 20.
  • the service operation system 242 includes a floor cleaning system that cleans a floor surface of the enclosure space 20 as the robot 200 transits through the space 20.
  • the service operation system 242 includes a suction head and an onboard vacuum generator to vacuum clean the floor.
  • the system 242 includes a sweeping or mopping mechanism.
  • the wireless communication system 250 includes a wireless communication transmitter or module 252 (e.g., a Wi-Fi module) and an associated antenna 254 to enable wireless communication between the robot 200 and the hub 110 and/or the private network 160 (i.e., via the WAP 164).
  • a wireless communication transmitter or module 252 e.g., a Wi-Fi module
  • an associated antenna 254 to enable wireless communication between the robot 200 and the hub 110 and/or the private network 160 (i.e., via the WAP 164).
  • Various different network configurations may be employed for the private network 160, of which the mobile robot 200 constitutes a node.
  • the robot 200 communicates wirelessly with the hub 110 through the router 162via the WAP 164.
  • the mobile robot 200 communicates with the remote management server 150 via the router 162 and the WAP 164, bypassing the hub 110.
  • the robot 200 may communicate wirelessly directly with the hub 110 using narrowband or broadband (e.g., Wi-Fi) RF communication.
  • narrowband or broadband e.g., Wi-Fi
  • the robot 200 may communicate with the hub 110, which may in turn relay data from the robot 200 to the private network 160 or the remote management serverlSO.
  • the system 100 includes a network bridge device that receives and converts RF signals from the robot 200 and relays them to the router 162 in a format supported by the router for delivery to the remote management server 150 or another device in the private network 160.
  • the system 100 includes a low power mesh data network employing a mesh topology wherein RF communications signals are relayed from node to node between the mobile robot 200 and the hub 110.
  • the exemplary robot 200 includes the following pose sensors: an IR radiation detector 270A and a camera 270B. These sensors are not exhaustive of the types of sensors that may be provided on the robot 200 and certain of the sensors may be omitted depending on the pose parameters to be detected by the robot 200.
  • the mapping/navigation system 240 can be used by the mobile robot 200 to map the enclosure space 20 and to determine or register the position of the robot 200relative to the space 20 (i.e., to localize the robot 200 in the space 20).
  • the robot 200 can thus also localize the locations of its onboard sensors 270A-B. Any suitable technique and
  • components may be used to localize and register the robot 200, such as machine vision (e.g., using the camera 270B and Feature Recognition or Class Recognition software), light beacons, or radiofrequency received signal strength indicator (RSSI) technology.
  • machine vision e.g., using the camera 270B and Feature Recognition or Class Recognition software
  • light beacons e.g., using the camera 270B and Feature Recognition or Class Recognition software
  • RSSI radiofrequency received signal strength indicator
  • the system 100 can uniquely identify rooms (e.g. Zone A, Zone B, Zone C) by combining (1) identity information (e.g., the IPv6 identity of an "Internet of Things" 6LowPan light bulb or socket transceiver, plug unit, or the like), (2) RSSI (e.g., the signal strength/amplitude of the same nearby IPv6 RF transceiver) and (3) remote control (e.g., the ability to modulate that RF transceiver via the local network or internet).
  • identity information e.g., the IPv6 identity of an "Internet of Things" 6LowPan light bulb or socket transceiver, plug unit, or the like
  • RSSI e.g., the signal strength/amplitude of the same nearby IPv6 RF transceiver
  • remote control e.g., the ability to modulate that RF transceiver via the local network or internet.
  • a robot 200 can navigate a room (e.g. Zone A, Zone B, or Zone C) until it finds
  • the robot 200 can then tag this transceiver with a topological or Cartesian location. Should the transceiver be associated with a room identity by an end user or automatically via any means (e.g., living room light bulb No. 3), the robot 200 can use this information in various ways. For example, the robot 200 may be commanded to clean the living room, in which case it can use its mobility and distance-dependent variation in signal strength to home on this room (even without a map).
  • a robot 200 can be commanded to clean only the living room, in which case one or more transceivers known to be in the living room to "anchor" the robot 200 to that room, (i.e., The robot 200 sets a threshold for signal strength and/or rough localization using multiple signal sources and/or identifiable walls and doorways, and covers the room such that the signal strength of the living room IPv6
  • the robot 200 may be executing a floor cleaning operation and the system 100 (e.g., via instructions from the hub 110 to the robot 200) may instruct the robot 200 to return to the dock 600, move to a different, unoccupied zone, avoid the occupied zone, or assume a quieter mode of operation.
  • the controller 220 may monitor a charge on the battery 224 and may instruct the robot 200 to return to the dock 600in order to recharge the battery 224 if the battery charge is lower than a predetermined threshold amount.
  • the locations of the robot pose sensors270A-B in the enclosure space 20 can be determined and registered so that the readings from the robot pose sensors 270A-Bcan be correspondingly registered with respect to the space 20.
  • the camera 270B or other sensors on the robot 200 can be used to detect open doors 32. In this manner, the robot 200 can monitor portals to and zones of the enclosure space.
  • the robot 200 can acquire data including observations of the fiducial markers 640A, 640B of the dock 600 in a field of view from two positions PI, P2.
  • the robot memory 222 can store a spatial relationship of the fiducial markers 640 A, 640B of the dock 600, which may be preloaded into the robot memory 222 based on the type or model of the dock 600 in use.
  • the coordinates of the positions PI, P2 on a map may be calculated, for example, by the mapping and navigation system 240 as described herein.
  • a normal or reference line (R£) may be established on the map to establish an angular reference ⁇ for a pose of the dock 600.
  • the angular reference ⁇ of the pose is aligned with a docking lane, runway, path, entry way or approach vector of the dock 600 (in general, these terms mean that there is a preferred vector for physical entry into the dock 600 which permits mechanical and electrical features of the robot 200 to align with corresponding features of the dock 600 as the robot 200 engages along a substantially straight path).
  • the reference line (RZ) is an arbitrary reference that is defined on the map.
  • the reference line (RL) may be defined with respect to the robot 200 or another defined position, including stationary positions on the map.
  • the position of the robot 200 at the two positions PI, P2 may be combined with the known positions of the fiducial markers 640A, 640B in relation to the orientation of the dock 600 with respect to the reference line to determine a pose of the dock 600, for example, using triangulation or trilateralizing techniques as would be known to those of skill in the art.
  • the robot 200 acquires data by moving the robot 200 to two different positions PI, P2, it should be understood that the sensors 270 A-B may be positioned on the robot 200 so that information may be acquired from two or more spatially separate positions on the robot 200 simultaneously, such as with binocular vision.
  • the fiducial markers 640A, 640B may be configured to provide pose information from a single observation at a single position (e.g., if the fiducial markers are observed by a camera; the resultant image includes at least two fiducial markers 640 A, 640B; each fiducial marker can be uniquely identified in the resultant image; and the relative relationship of the fiducial markers 640A, 640B with respect to one another and/or an additional reference plane is known to the robot 200).
  • the spatial relationship of the fiducial markers 640A, 640B may include a height and distance from one another as well as the geometric configuration of the dock 600.
  • estimating the pose of the dock 600 with respect to the current position of the robot 200 may require temporally distribution of sensor readings. For example, it may only be after the third time seeing the dock 600 with limited sensors that the robot 200 can estimate the pose of the dock 200 and mark it on its map (where the robot 200 thereafter has a constant estimation of its relative pose as it tracks itself on the same map, and can correct it every time it sees the dock 600 and gets a line of sight).
  • the fiducial markers 640A, 640B may be LED lights that may be configured to indicate a beam direction and may be sensed on the dock 600 by one or more directional sensors.
  • the data from the directional sensors may be combined with an analysis of the robot's current pose on a map that the mapping and navigation system 240 is building, for example using Simultaneous Localization and Mapping (SLAM) techniques.
  • the robot memory 222 includes the spatial relationship of the LEDs, for example, that the lights are a certain distance from one another, the first light is a first distance from the floor and the second light is second distance from the floor, which may be different from the first distance from the floor.
  • the lights may be
  • the directional sensor can be a "binocular” sensor, such as twin photodiodes mounted in parallel light-limiting tubes, e.g., as described in U.S. Patent No. 8,380,350, the disclosure of which is hereby incorporated by reference in its entirety.
  • the controller 220 uses the direction of the tube of the binocular sensor combined with the robot's pose on the map created by the mapping and navigation system 240 to plot lines of sight to the dock 600 from different positions on the map in order to derive both the pose of the dock, including an X,Y location and an orientation .
  • the fiducial markers 640A, 640B can be LED lights that are collimated and baffled to be a beam that is generally visible from only one direction, such that a multidirectional or directional sensor on the robot 200 can plot a line of sight once the robot 200 crosses the beam of the LED.
  • the pose is derived by sensing both, or alternatively, visible light(s) and a visual pattern.
  • a distinctive visual pattern, bar code, photogrammetric target, APRIL or other tag is "anchored" by an LED light (i.e., the LED location is arranged at a known distance and/or orientation with respect to the tag(s)).
  • the LED light can be identified by distinctive frequency or modulation if an analog sensor such as a photodiode or phototransistor is used; or can be identified by distinctive color, arrangement, pattern, or duty cycle if a frame-by-frame sensor such as a CMOS or CCD camera is used.
  • the dock 600 may be powered with AC, so constant illumination, or at least during robot missions, is possible.
  • fiducial markers 640A, 640B are part of a dock pattern, as shown in Figures7 and 4D.
  • the fiducial markers 640 A, 640B may have sufficient spatial details so as to define an angular position of an object, in particular, when the fiducial marker 640 A, 640Bis applied to a three-dimensional object, such as the dock 600.
  • a fiducial marker pattern may balance the need for industrial design and aesthetics and a need for good recognition performance.
  • the fiducial marker pattern may be distinctive so that false positives from background and clutter are minimized and the pattern may be sized to increase a likelihood of recognition and reduce false negatives.
  • a dock pattern may be used that is not visible to the human eye to reduce a potentially negative impact on an industrial design and aesthetics.
  • Image sensors commonly used for cameras may be sensitive to infrared (IR) light in addition to visible light.
  • a fiducial marker may include a pattern that is covered, for example, with a film transparent in IR, but black in visible light so that the pattern may be captured with a camera using an IR compatible lens.
  • the pattern may be therefore be designed to maximize visual distinctiveness without concern for aesthetics.
  • the pattern may have portions that pass all IR light and portions that block IR light. The shapes in the pattern may vary and do not repeat to minimize confusion between the features.
  • Different patterns may be used to potentially increase detection and recognition of a selected feature or cluster of features 640 A, 640B.
  • the pattern of the fiducial markers in Figure 7, which includes portions that pass IR light and portions that block IR light, may be suited for DoG detectors and/or SIFT descriptors.
  • the pattern may be placed on a three- dimensional surface, such as a cylinder so that the geometric constraints can be matched both visually and geometrically to reduce false positive matches and to visualize the pattern from a variety of directions.
  • a database stores uniquely identifiable entries representing views of the fiducial markers 640 A, 640B...640n, where "n" is an integer indicating a maximum number of distinct fiducial markers, such that views of the unique clusters of features detectable in the pattern shown in Figure 7 may be used to identify a pose of the dock 600.
  • a computer model may be used to provide model images at various spatial positions from the dock 600.
  • a sensor output such as actual images of the dock 600, may then be compared to the model images to estimate a spatial relationship between the dock 600 and the robot 200 to determine the dock pose.
  • the memory 222 includes a three-dimensional model of the dock 600, such as a CAD model (Block 400).
  • the CAD model may be a model that is used to fabricate the dock 600 or it may be based on images of a pre-fabricated physical dock 600.
  • the three- dimensional model can be used to model synthetic images of the dock 600 that are taken from a set of viewpoints to determine the positions and descriptors for each of the features of the fiducial markers 640A, 640B.
  • the three-dimensional positions and descriptors for each feature are stored in the memory 222 and can be used to determine the position of the robot 200. Accordingly, the three-dimensional model of the dock 600 can be used to generate modeled data based on known positions and orientations with respect to the three- dimensional model.
  • the data can be compared to actual sensor data from the robot 200 at an unknown position, and the position of the robot 200 can be determined based on a match or approximate match between the actual sensor data and the modeled data.
  • the model can be calculated as follows.
  • the three-dimensional model with one or more fiducial markers 640A, 640B, such as a visual pattern, can be determined.
  • a set of viewpoints are selected (Block 402), and for each of the viewpoints (Block 404) images of the three-dimensional model are rendered (Block 406).
  • the three-dimensional model can be rendered with selected image effects, such as noise, lighting effects, color, blur and/or distortion (Block 406).
  • Each feature in the rendered image has an associated center in image coordinates, orientation and scale. These features and their descriptors (coordinates, orientation, scale, etc.) can be detected and identified in the viewpoint (Block 408).
  • each feature can be projected onto the surface of the three-dimensional image using a particular camera model and three-dimensional geometry (Block 412). Any features whose centers do not intersect the three-dimensional model surface may be removed (Blocks 414 and 416), and an image support region for each feature remaining is calculated using the orientation and the scale of the feature (Block 415).
  • many feature detections across disparate views may arise from the same three-dimensional location on the model with only slight differences in position due to artifacts of feature detection.
  • These duplicate detections may be combined to curb the growth of the final model for optimizing storage size, run-time, matching speed, and final pose accuracy.
  • the dimensional spatial clustering of model points and histogram-space clustering of feature descriptors may be used to combine these duplicate detections to make the image model more compact.
  • a database containing visual descriptors of features of the fiducial markers 640A, 640B, such as a visual dock pattern on the dock 600 can be created.
  • Any suitable visual descriptor can be used, such as the Scale Invariant Feature Transform (SIFT), Speeded Up Robust Features (SURF), Binary Robust Independent Elementary Features (BRIEF) or others known to those of skill in the art.
  • SIFT Scale Invariant Feature Transform
  • SURF Speeded Up Robust Features
  • BRIEF Binary Robust Independent Elementary Features
  • the database may also include information about which direction a feature is viewable from. For example, the surface normal at the feature point can be stored and used as a visibility constraint.
  • the controller 220 can receive a signal from the sensors 270A-B, such as a target image (Block 500), and then detects visual features from the actual image using a feature detector, such as a Difference of Gaussians (DoG), Harris Corners, Maximally Stable Extremal Regions (MSER), FAST or other techniques known to those of skill in the art (Block 502).
  • a feature detector such as a Difference of Gaussians (DoG), Harris Corners, Maximally Stable Extremal Regions (MSER), FAST or other techniques known to those of skill in the art
  • the feature detector used on an actual image can then look up features that have been calculated in the model (Block 504)and match the feature to a modeled feature (Blocks 506-526).
  • a descriptor can be extracted for each actually detected feature, and appearance matches can be determined by looking up feature descriptors in the database of dock "landmark" features described above.
  • clusters may be formed from image-to-database feature matches that are spatially close in the image plane of the target image (Block 506).
  • a Random Sample Consensus (RANSAC) or Progressive Sample Consensus
  • PROSAC process can be used to find a hypothetical pose of the camera relative to the fiducial markers 640A, 640B(Block 510). For example, if an inlier threshold is passed that indicates that the image data may be explained by a set of model parameters (Block 512), then the pose and inlier is computed with all image matches (Block 516), the result is stored (Block 518), and additional clusters are analyzed (Block 520). If an inlier threshold is not met (Block 512), then the remaining clusters are analyzed (Block 514).
  • the sampling process can use constraints such as requiring a candidate set of matches to be viewable from the same direction to increase the chances of success and may take advantage of the three-dimensional information of the dock fiducial markers 640 A, 640B.
  • a hypothetical pose is found, it can be refined using bundle adjustment, and the pose can be re-optimized using all image matches (i.e., not only those in the cluster).
  • Each cluster may be scored by the number of inlier matches, and the best cluster can be selected. If a cluster passes a threshold matching score (Block 522), the recognition is determined to be successful, and the estimated pose and covariance is given to the controller 220 for maneuvering into the docking station 600 (Block 524).
  • the sensors 270A-B may be positioned on the dock 600, and the fiducial markers 640 A, 640B can be positioned on the robot 200.
  • the dock 600 may be configured to communicate sensor data, calculate a docking path 180, and or communicate instructions to the motorized drive system 230 based on the signal output of sensors on the dock 600.
  • the dock 600 can include a directional or non-directional sensor
  • the robot 200 can include a fiducial marker, such as an LED or LED beam
  • the dock 600 can notify the robot 200 when the robot's fiducial markers are detected by the sensors on the dock 600.
  • various components of the robot 200 such as the controller 220, the memory 222, the HMI 228, and the mapping and navigation system 240 may be included on the dock 600and/or the hub 110 such that the output of the functions of such components may be communicated to the robot 200.
  • Figures 4A-4C schematically demonstrate direct path planning using a curve fit 180 to the docking lane 650 ( Figures 4A and 4B) and contrasting segmented approach 180a, 180b, 180c ( Figure 4C).
  • the robot 200 may pre-plan the most direct and unobstructed path to the dock 600 when the time comes for recharging and/or evacuating debris (Figure 4C).
  • the dock 600 includes a docking lane 650 into which a robot 200 moves in a forward direction F upon approach.
  • the docking lane 650 is bounded by outside edges 650a, 650b and has a central axis 650c aligned with the central axis of the docking port 660 into which the robot 200 drives.
  • the robot 200 By approaching the dock 600 within the outside bounds 650a, 650b of the docking lane 650, the robot 200 guarantees proper alignment of its contacts with the docking contacts 622A, 622B, proper alignment of its wheels with the dock detents 620A, 620B and/or proper alignment of the robot air path with the evacuation adapter 610 of the dock 600.
  • FIGS. 4A and 4B indicate, when the robot 200 builds a map of the space as described herein and stores a pose of the dock pose (X, Y position and orientation) on the map and knows the dock pose relative to the robot 200, a docking path 180 of the robot 200 to the dock 600 may be mapped along a curve fit to the docking lane without any realignment steps.
  • the pose of the dock 600 for purposes of explanation, is the same as the X,Y location and orientation of the central axis 650c of the docking lane 650 relative to a global map.
  • the robot 200 can maneuver to reach the docking lane 650 quickly and with increased chance of success as compared to a segmented docking route 180a, 180b, 180c in which the pose of the dock 600 is not stored but rather determined in real time while the robot 200 is returning to the dock 600 ( Figure 4B).
  • the robot 200 has not stored a pose of the dock 200 and returns to the dock 600 in stages of travel.
  • the homing 180a stage allows the robot to find a signal identifying the location of the dock 600.
  • the robot 200 turns in place 182a to move along an alignment stage 180b and then turns in place 182b again to align with detected signals such that the robot 200 approaches the dock 600 along the docking lane 650.
  • the robot 200 plots a course eliminating the time associated with homing 180a, aligning 180b, and repositioning (e.g.
  • homing, alignment and approach phases are path planned directly into a curve fit path 180 to the dock 600, which may be a bayesian curve, for example.
  • the curve fit path 180 may reduce or eliminate a need to improve alignment of the robot 200 to the dock pose (e.g. angle of the docking lane 650 relative to map coordinates).
  • Path planning also may take into account whether obstacles (e.g. chair legs, ottomans, couches, etc.) are disposed between the robot 200 and the docking lane 650 such that the curve fit 180 avoids collisions with such obstacles that would otherwise impede (e.g. slow) the docking process.
  • a series of points on the floor may permit the robot 200 to complete a Bezier curve among these points, avoiding obstacles and/or passing through doorways or corridors parallel to their walls (i.e. parallel to the walls of a corridor and/or down the middle of the corridor, perpendicular to the lentil of a doorway 32 and/or through the middle of the doorway 32).
  • a Bezier curve may permit a graceful path 180 composed of smooth splines without stops or turning in place 182a, 182b; if obstacles are detected along the path, the path finding algorithms discussed above may add waypoints as necessary.
  • the robot 200 may favor a path that avoids known obstacles, passes through unoccupied floor space, and matches the docking lane 650.
  • the path 180 may be plotted via path finding algorithms such as variations upon Dijkstra's algorithm (e.g., the A* algorithm or D* family of algorithms, e.g., D*, Field D*, IDA*, Fringe, Fringe Saving A*, Generalized Adaptive A*, Lifelong Planning A*, Simplified Memory bounded A*, and/or Theta*).
  • a revised A* algorithm for non-holonomic drives may be used, as defined in Pinter M. (2001) "Toward More Realistic Pathfinding", Game Developer Magazine (April), CMP Media LLC, pp. 54-64, which is herein incorporated by reference in its entirety.
  • the potential path tree is resorted per the algorithm.
  • Pathfinding may optionally include pre-processing such as contraction hierarchies, or as discussed in Delling, D. et al. (2009). "Engineering route planning algorithms”. Algorithmics of large and complex networks. Springer, pp. 117-139, which is herein incorporated by reference in its entirety.
  • the curve fitting, path finding and/or pre-processing algorithm employed may be constrained such that the path solution(s) or curves 180 fitted include the docking lane 650; a portion of the docking lane 650 equal to or greater than one robot length L from the footprint of the dock 600; a set of possible entry curves 180 and/or entry splines aligned in part with the docking lane 650; and/or two or three points along the docking lane 650.
  • the robot 200 takes new images of the dock 600and processes it as described above with respect to the database of modeled images to determine real or near-real time coordinates of the robot 200 with respect to the pose of the dock 600.
  • the output may be a three-dimensional position and orientation of the robot 200 with respect to the dock 600.
  • the robot 200 first checks whether the three-dimensional position and orientation falls into an expected three-dimensional space of positions and orientations.
  • the roll and pitch of the three- dimensional orientation may be close to a nominal roll and pitch angle of the robot moving on a horizontal flat surface.
  • the z-coordinate may be close to a nominal height of the robot 200 being in contact with a horizontal and flat ground floor, If any one of the roll, pitch, or z-coordinate falls outside of the expected nominal range, then the three-dimensional position and orientation is rejected and the robot 200 waits for a new image from the camera. This verification of three-dimensional position and orientation may ensure that the robot 200 rejects observations that are not plausible given the orientation of the robot driving on a horizontal and flat floor.

Abstract

A mobile robot system is provided that includes a docking station having at least two pose-defining fiducial markers. The pose-defining fiducial markers have a predetermined spatial relationship with respect to one another and/or to a reference point on the docking station such that a docking path to the base station can be determined from one or more observations of the at least two pose-defining fiducial markers. A mobile robot in the system includes a pose sensor assembly. A controller is located on the chassis and is configured to analyze an output signal from the pose sensor assembly. The controller is configured to determine a docking station pose, to locate the docking station pose on a map of a surface traversed by the mobile robot and to path plan a docking trajectory.

Description

ROBOT MANAGEMENT SYSTEMS FOR DETERMINING DOCKING STATION POSE INCLUDING MOBILE ROBOTS AND METHODS USING SAME
RELATED APPLICATIONS
[001] This application claims priority to U.S. Provisional Application Serial No. 61/710,422, filed October 5, 2012, the contents of which are hereby incorporated by reference in its entirety.
BACKGROUND
[002] One highly desirable characteristic of household mobile robots is the capability of performing self-charging whenever the battery level reaches a low enough value. Many mobile robots currently in the market have systems for finding the docking station and engaging with charging contacts. Some robots, like the Roomba® from iRobot®, the RC-3000 from Karcher®, or the Hausen™ from Samsung®, use IR beams on the station and IR receptors on the robot to detect the charging station and navigate until docked.
SUMMARY
In some embodiments, and according to the inventions mobile robot system is provided that includes a docking station having at least two pose-defming fiducial markers. The pose-defming fiducial markers have a predetermined spatial relationship with respect to one another and/or to a reference point on the docking station such that a docking path to the base station can be determined from one or more observations of the at least two pose- defming fiducial markers. A mobile robot in the system has a chassis, a motorized drive connected to the chassis for moving the mobile robot to a docked position, and a pose sensor assembly having a sensor that is configured to output a signal in response to the at least two pose-defming fiducial marks in a pose sensor field of view. A controller is located on the chassis and is configured to analyze the output signal from the pose sensor assembly. The controller has the predetermined spatial relationship of the pose-defining fiducial marker stored in a controller memory. The controller is configured to determine a docking station pose that is based on the spatial relationship of the pose-defming fiducial markers and the signals from the pose sensor assembly. The controller is further configured to locate the docking station pose on a map of a surface traversed by the mobile robot and to path plan a docking trajectory including a curve having a terminal portion aligned with a docking lane of the docking station, based on a current robot position on the map of the surface and the docking station pose and to provide instructions to the motorized drive to move the mobile robot along the curve of the docking trajectory and into a docking lane aligned with the docking station.
DRAWINGS
[003] Figure 1 is a schematic diagram of a robot management system according to some embodiments, or according to the invention.
[004] Figure 2 is a schematic diagram of a dock according to some embodiments,or according to the invention.
[005] Figure 3 is a schematic diagram of a robot according to some embodiments, or according to the invention.
[006] Figures 4A-Carea schematic diagrams of a structure including the robot management system of Figure 1.
[007] Figures 4D-E are a embodiments of a portion of the schematic diagrams of Figures 4A-C.
[008] Figure 5 is a schematic diagram of the dock of Figure 2 and the robot of Figure 3 according to some embodiments, or according to the invention.
[009] Figure 6 is a flowchart illustrating operations according to some
embodiments, or according to the invention.
[0010] Figure 7 is a schematic diagram of a fiducial marker according to some embodiments, or according to the invention.
[0011] Figures 8-9 are flowcharts illustrating operations according to some embodiments, or according to the invention.
DESCRIPTION
[0012] The present invention now will be described hereinafter with reference to the accompanying drawings and examples, in which embodiments of the invention are shown. The present invention is described below with reference to block diagrams and/or flowchart illustrations of methods, apparatus (systems) and/or computer program products according to embodiments of the invention, or according to the invention. It is understood that each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented by computer program
instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, and/or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer and/or other programmable data processing apparatus, create means for implementing the functions/acts specified in the block diagrams and/or flowchart block or blocks.
[0013] These computer program instructions may also be stored in a computer- readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instructions which implement the function/act specified in the block diagrams and/or flowchart block or blocks.
[0014] The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer- implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the block diagrams and/or flowchart block or blocks.
[0015] Accordingly, the present invention may be embodied in hardware and/or in software (including firmware, resident software, micro-code, etc.). Furthermore,
embodiments of the present invention, or the invention, may take the form of a computer program product on a computer-usable or computer-readable non-transient storage medium having computer-usable or computer-readable program code embodied in the medium for use by or in connection with an instruction execution system.
[0016] The computer-usable or computer-readable medium may be, for example but not limited to, an electronic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device. More specific examples (a non-exhaustive list) of the computer- readable medium would include the following: a portable computer diskette, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory) and a portable compact disc read-only memory (CD-ROM). [0017] As used herein, a "pose" refers to information that can be used to define a position and orientation of an object. For example, the pose may include one to three angles of rotation of an object with respect to a reference angle and a location coordinate. The location coordinate may be a two- or three-dimensional location coordinate {e.g., (x, y) or (x, y. z)-
[0018] As used herein, a "fiducial marker" includes any feature that may be identified by a sensor. At least two fiducial markers may be used to provide spatial information about an object, such as a docking station, and may include features at different positions that are connected to one another or separated from one another. A "pose" may be an X-Y coordinate pair in a frame of reference combined with a single angle of orientation. Non-limiting examples of fiducial markers include visual patterns, IR transmitting and IR blocking patterns, lights such as LEDs, photogrammetry targets or other patterns such as bar codes.
In some embodiments, or in the invention, a mobile robot system is provided that includes a docking station having at least two pose-defining fiducial markers. The pose- defining fiducial markers have a predetermined spatial relationship with respect to one another and/or to a reference point on the docking station such that a docking path to the base station can be determined from one or more observations of the at least two pose-defining fiducial markers. A mobile robot in the system has a chassis, a motorized drive connected to the chassis for moving the mobile robot to a docked position, and a pose sensor assembly having a sensor that is configured to output a signal in response to the at least two pose- defining fiducial marks in a pose sensor field of view. A controller is located on the chassis and is configured to analyze the output signal from the pose sensor assembly. The controller has the predetermined spatial relationship of the pose-defining fiducial marker stored in a controller memory. The controller is configured to determine a docking station pose that is based on the spatial relationship of the pose-defining fiducial markers and the signals from the pose sensor assembly. The controller is further configured to locate the docking station pose on a map of a surface traversed by the mobile robot and to path plan a docking trajectory including a curve or pathway having a terminal portion aligned with a docking lane of the docking station, based on a current robot position on the map of the surface and the docking station pose and to provide instructions to the motorized drive to move the mobile robot along the curve of the docking trajectory and into a docking lane aligned with the docking station. [0019] With reference to Figures 1-4E, a robotic management system 100 according to embodiments of the invention, or according to the invention, is shown therein installed in an associated enclosure or living structure 10. The structure 10 may be a home or residential dwelling (e.g., a single family home, multi-family dwelling (e.g., a unit of a duplex, apartment, condominium, etc.), or mobile home) or a commercial living space (e.g., an office or studio). The structure 10 defines an enclosure space 20, which may be subdivided (physically, spatially and/or functionally) into two or more defined zones (e.g., zones A-C) and may include various features, such as doors 32.
[0020] The robotic management system 100 includes a network-enabled mobile robot 200, a network-enabled system hub 110, a robot dock 600, a private network (e.g., a broadband LAN) 160, and a remote management server or servers (e.g., cloud server) 150. As shown in Figure 4A, the private network 160 is enabled by a router 162 and a broadband wireless access point (WAP) 164. The private network 160 is connected to the remote server 150 by a WAN or public network 170 (e.g., the Internet) through a gateway 170A (e.g., a broadband modem) and an external connection 170B (e.g., an ISP). The router 162, the WAP 164 and/or the modem 170A may be integrated in a single device. A local user terminal 142 (e.g., a PC, smartphone, or tablet computer) may be connected (wired or wirelessly) to the private network 160. A remote user terminal 144 may be connected to the remote server 150 and/or the private network 160 via the public network 170. The hub 110, the robot 200, the local user terminal 600 and the remote user terminal 144 may each be configured with downloadable or pre-installed application software enabling communications and control between the nodes 110, 200, 600, 142, 144and 150 as described herein.
[0021] The hub 110 (Figure 1) may be any suitable device configured to provide the functionality described herein. In some embodiments, or in the invention, the hub 110 includes a processor 114, memory 115, an HMI 116, a wireless communications module (e.g., a Wi-Fi module) 112, and an associated antenna 112A. The hub 110 may include connection hardware (e.g., an Ethernet connector) for wired connection to the router 162. As illustrated, the hub 110 can be connected to the private network 160 by wiring to the router 162. Alternatively, as shown in Figure 4,the hub 110 may be wirelessly connected to the router 162 via the wireless module 112 and the WAP 164.
[0022] As shown in Figures 2, 4D and 4E,the robot dock 600 may include one or more distinct and distinguishable fiducial markers 640 A, 640B. The robot dock 600 may include or be connected to a power supply 680 and include a docking port 660 having charging contacts 622A, 622B thereon that are operative to charge a battery of the mobile robot 200 when the robot 200 is docked at the robot dock 600. The dock 600 may be an evacuation station and may include a receptacle 670 to receive debris from the robot 200. In some embodiments, or in the invention, the dock 600 is connected (wired or wirelessly) to the private network 160 to enable or facilitate transmission of data from the robot 200 to the private network 160 and/or from the private network 160 to the robot 200.
[0023] As illustrated in Figures 4A-6, the fiducial markers 640A, 640B are configured to define a pose of the robot dock 600 (Figure 6; Block 300). For example, the fiducial markers 640A, 640B may have a predetermined spatial relationship with respect to one another and/or to a reference on the docking station 600 and/or to a planar surface directly beneath the dock 600. As described herein, the fiducial markers 640 A, 640B may be used by the pose sensor assembly 270A-270B of the mobile robot 200 in order to determine a pose of the docking station 600 (Figure 6 (Block 302)) and/or to map out a docking path 180 (Figures 4A-4C; Figure 6 (Block 304)). The docking path 180 may be used to provide instructions to the robot 200 to maneuver the robot 200 to the dock 600, for example, so that the robot 200 may connect with locks, clamps or detents 620A, 620B, or with electrical contacts 622A, 622B of the docking port 660to charge a battery. The docking path 280 may be used to provide instructions that maneuver the robot 200 to align its air path with a docking lane or path such as an evacuation collar 610 on the dock 600 such that the dock moves debris from the robot 200 into the debris receptacle 670of the dock 660. The evacuation collar 610 (or mating collar) is shown in Figures 4D and 4E as being positioned such that the robot 200 will be positioned above the evacuation collar, but the invention contemplates the robot 200 aligning with a mating collar 610 positioned above or beside the robot 200 as well. The fiducial markers 640A, 640B may be any feature that is configured to be used for pose detection. For example, the fiducial markers 640A, 640B may be a photogrammetry target, two or more lights such as LEDs, a spatially recognizable pattern, or a bar code.
[0024] The mobile robot 200 may be any suitable robot and it will be appreciated that not all of the components, features and functionality described herein are required in all embodiments of the invention. With reference to Figure3, the exemplary mobile robot 200 includes a chassis 210, a controller 220, memory 222, a battery 224, a battery charger 226, a human-machine interface(HMI)228, a drive system 230, a mapping/navigation system 240, a service operation system 242, a wireless communication system 250, an IR emitter 260, and pose sensors 270 A-B. The mobile robot 200 may be generally configured in the manner of or include features from the Roomba™ floor cleaning robot and/or robots as described in U.S. Patent No. 7,024,278 and U.S. Published Application No. 2007/0250212, the disclosures of which are incorporated herein by reference, with suitable modifications.
[0025] The controller 220 may include any suitably configured processor (e.g., microprocessor) or processors. The controller 220 may be configured to control various components of the mobile robot 200. For example, the controller 220 may access and/or store information in the memory 222, control the data acquisition functions of the pose sensors 270A-B, provide instructions to the drive system 230, receive data and/or control a mapping function of the mapping/navigation system240, communicate via the
communication system 250 and/or HMI 228, monitor a charge of the battery 224 and the like.
[0026] The drive system 230 may include any suitable mechanism or system for actively and controllably transiting the robot 200 through the enclosure space 20. According to some embodiments, or in the invention, the drive system 230 includes a roller, rollers, track or tracks 232and one or more onboard electric motors 234operable by the controller 220 to convey the robot 200 across the floor of the enclosure space 20.
[0027] The service operation system 242 may be optional in some embodiments, or in the invention, and is operable to execute a service operation in the enclosure space 20.
According to some embodiments, or in the invention, the service operation system 242 includes a floor cleaning system that cleans a floor surface of the enclosure space 20 as the robot 200 transits through the space 20. In some embodiments, or in the invention, the service operation system 242 includes a suction head and an onboard vacuum generator to vacuum clean the floor. In some embodiments, or in the invention, the system 242 includes a sweeping or mopping mechanism.
[0028] The wireless communication system 250 includes a wireless communication transmitter or module 252 (e.g., a Wi-Fi module) and an associated antenna 254 to enable wireless communication between the robot 200 and the hub 110 and/or the private network 160 (i.e., via the WAP 164). Various different network configurations may be employed for the private network 160, of which the mobile robot 200 constitutes a node. In some embodiments, or in the invention, the robot 200 communicates wirelessly with the hub 110 through the router 162via the WAP 164. In some embodiments, or in the invention, the mobile robot 200 communicates with the remote management server 150 via the router 162 and the WAP 164, bypassing the hub 110.
[0029] In some embodiments, or in the invention, the robot 200 may communicate wirelessly directly with the hub 110 using narrowband or broadband (e.g., Wi-Fi) RF communication. For example, if the robot 200 is not equipped with a transmitter compatible with the WAP 164, the robot 200 may communicate with the hub 110, which may in turn relay data from the robot 200 to the private network 160 or the remote management serverlSO. In some embodiments, or in the invention, the system 100 includes a network bridge device that receives and converts RF signals from the robot 200 and relays them to the router 162 in a format supported by the router for delivery to the remote management server 150 or another device in the private network 160. In some embodiments, or in the invention, the system 100 includes a low power mesh data network employing a mesh topology wherein RF communications signals are relayed from node to node between the mobile robot 200 and the hub 110.
[0030] The exemplary robot 200 includes the following pose sensors: an IR radiation detector 270A and a camera 270B. These sensors are not exhaustive of the types of sensors that may be provided on the robot 200 and certain of the sensors may be omitted depending on the pose parameters to be detected by the robot 200.
[0031] The mapping/navigation system 240 can be used by the mobile robot 200 to map the enclosure space 20 and to determine or register the position of the robot 200relative to the space 20 (i.e., to localize the robot 200 in the space 20). The robot 200 can thus also localize the locations of its onboard sensors 270A-B. Any suitable technique and
components may be used to localize and register the robot 200, such as machine vision (e.g., using the camera 270B and Feature Recognition or Class Recognition software), light beacons, or radiofrequency received signal strength indicator (RSSI) technology.
[0032] The system 100 can uniquely identify rooms (e.g. Zone A, Zone B, Zone C) by combining (1) identity information (e.g., the IPv6 identity of an "Internet of Things" 6LowPan light bulb or socket transceiver, plug unit, or the like), (2) RSSI (e.g., the signal strength/amplitude of the same nearby IPv6 RF transceiver) and (3) remote control (e.g., the ability to modulate that RF transceiver via the local network or internet). For example, a robot 200 can navigate a room (e.g. Zone A, Zone B, or Zone C) until it finds a peak signal strength of an IPv6 transceiver, in which case it can be expected to be nearest this transceiver. It can then tag this transceiver with a topological or Cartesian location. Should the transceiver be associated with a room identity by an end user or automatically via any means (e.g., living room light bulb No. 3), the robot 200 can use this information in various ways. For example, the robot 200 may be commanded to clean the living room, in which case it can use its mobility and distance-dependent variation in signal strength to home on this room (even without a map). As another example, a robot 200 can be commanded to clean only the living room, in which case one or more transceivers known to be in the living room to "anchor" the robot 200 to that room, (i.e., The robot 200 sets a threshold for signal strength and/or rough localization using multiple signal sources and/or identifiable walls and doorways, and covers the room such that the signal strength of the living room IPv6
6LowPAN light bulb is high.)
[0033] For example, the robot 200 may be executing a floor cleaning operation and the system 100 (e.g., via instructions from the hub 110 to the robot 200) may instruct the robot 200 to return to the dock 600, move to a different, unoccupied zone, avoid the occupied zone, or assume a quieter mode of operation. As another example, the controller 220 may monitor a charge on the battery 224 and may instruct the robot 200 to return to the dock 600in order to recharge the battery 224 if the battery charge is lower than a predetermined threshold amount.
[0034] Although embodiments according to the invention are described with respect to the robotic management system 100, it should be understood that other configurations fall within the scope of the invention. For example, the operations of the hub 110 and the dock 600 may be combined into a single unit. Moreover, the controller 220 is illustrated as part of the robot 200; however, some or all of the operations of the controller 220 may be performed by the dock 600 or by other processors, such as the remote management servers 150, the local user terminal 142 and/or the remote user terminal 144.
[0035] Further methods and operations in accordance with embodiments of the invention, or in accordance with the invention, and utilizing the robotic management system lOOwill now be described.
[0036] POSE DETERMINATION
[0037] As discussed above, the locations of the robot pose sensors270A-B in the enclosure space 20 can be determined and registered so that the readings from the robot pose sensors 270A-Bcan be correspondingly registered with respect to the space 20. The camera 270B or other sensors on the robot 200 can be used to detect open doors 32. In this manner, the robot 200 can monitor portals to and zones of the enclosure space.
[0038] As shown in Figure 5, the robot 200 can acquire data including observations of the fiducial markers 640A, 640B of the dock 600 in a field of view from two positions PI, P2. The robot memory 222 can store a spatial relationship of the fiducial markers 640 A, 640B of the dock 600, which may be preloaded into the robot memory 222 based on the type or model of the dock 600 in use. The coordinates of the positions PI, P2 on a map may be calculated, for example, by the mapping and navigation system 240 as described herein. A normal or reference line (R£)may be established on the map to establish an angular reference Θ for a pose of the dock 600. Optionally the angular reference Θ of the pose is aligned with a docking lane, runway, path, entry way or approach vector of the dock 600 (in general, these terms mean that there is a preferred vector for physical entry into the dock 600 which permits mechanical and electrical features of the robot 200 to align with corresponding features of the dock 600 as the robot 200 engages along a substantially straight path). As illustrated, the reference line (RZ)is an arbitrary reference that is defined on the map. However, the reference line (RL) may be defined with respect to the robot 200 or another defined position, including stationary positions on the map. When the sensors 270A-B observe the dock 600 and the fiducial markers 640A, 640B, the position of the robot 200 at the two positions PI, P2 may be combined with the known positions of the fiducial markers 640A, 640B in relation to the orientation of the dock 600 with respect to the reference line to determine a pose of the dock 600, for example, using triangulation or trilateralizing techniques as would be known to those of skill in the art.
[0039] Although as illustrated in Figure 5, the robot 200 acquires data by moving the robot 200 to two different positions PI, P2, it should be understood that the sensors 270 A-B may be positioned on the robot 200 so that information may be acquired from two or more spatially separate positions on the robot 200 simultaneously, such as with binocular vision. In addition, data may be acquired from two or more positions, or in some embodiments, or in the invention, the fiducial markers 640A, 640B may be configured to provide pose information from a single observation at a single position (e.g., if the fiducial markers are observed by a camera; the resultant image includes at least two fiducial markers 640 A, 640B; each fiducial marker can be uniquely identified in the resultant image; and the relative relationship of the fiducial markers 640A, 640B with respect to one another and/or an additional reference plane is known to the robot 200). Moreover, the spatial relationship of the fiducial markers 640A, 640B may include a height and distance from one another as well as the geometric configuration of the dock 600. In some embodiments, or in the invention, estimating the pose of the dock 600 with respect to the current position of the robot 200 may require temporally distribution of sensor readings. For example, it may only be after the third time seeing the dock 600 with limited sensors that the robot 200 can estimate the pose of the dock 200 and mark it on its map (where the robot 200 thereafter has a constant estimation of its relative pose as it tracks itself on the same map, and can correct it every time it sees the dock 600 and gets a line of sight).
[0040] In some embodiments of the invention, such as the embodiment shown in Figure 4E,the fiducial markers 640A, 640Bmay be LED lights that may be configured to indicate a beam direction and may be sensed on the dock 600 by one or more directional sensors. The data from the directional sensors may be combined with an analysis of the robot's current pose on a map that the mapping and navigation system 240 is building, for example using Simultaneous Localization and Mapping (SLAM) techniques. The robot memory 222 includes the spatial relationship of the LEDs, for example, that the lights are a certain distance from one another, the first light is a first distance from the floor and the second light is second distance from the floor, which may be different from the first distance from the floor. In particular embodiments, or in the invention, the lights may be
distinguished from one another by having different characteristics, such as different frequencies, modulation or duty cycle.
[0041] The directional sensor can be a "binocular" sensor, such as twin photodiodes mounted in parallel light-limiting tubes, e.g., as described in U.S. Patent No. 8,380,350, the disclosure of which is hereby incorporated by reference in its entirety. The controller 220 uses the direction of the tube of the binocular sensor combined with the robot's pose on the map created by the mapping and navigation system 240 to plot lines of sight to the dock 600 from different positions on the map in order to derive both the pose of the dock, including an X,Y location and an orientation .
[0042] In some embodiments, or in the invention, the fiducial markers 640A, 640B can be LED lights that are collimated and baffled to be a beam that is generally visible from only one direction, such that a multidirectional or directional sensor on the robot 200 can plot a line of sight once the robot 200 crosses the beam of the LED.
[0043] In some embodiments, or in the invention, the pose is derived by sensing both, or alternatively, visible light(s) and a visual pattern. For example, a distinctive visual pattern, bar code, photogrammetric target, APRIL or other tag is "anchored" by an LED light (i.e., the LED location is arranged at a known distance and/or orientation with respect to the tag(s)). The LED light can be identified by distinctive frequency or modulation if an analog sensor such as a photodiode or phototransistor is used; or can be identified by distinctive color, arrangement, pattern, or duty cycle if a frame-by-frame sensor such as a CMOS or CCD camera is used. The dock 600 may be powered with AC, so constant illumination, or at least during robot missions, is possible.
[0044]
[0045] It should be understood that any combination of triangulation, trilateration, and angle of arrival can be used with directional beams and/or sensors if sufficient distances and/or angles may be measured to render a solvable equation for a relative pose of the robot and dock.
[0046] Another exemplary set of fiducial markers 640A, 640B are part of a dock pattern, as shown in Figures7 and 4D. As illustrated, the fiducial markers 640 A, 640B may have sufficient spatial details so as to define an angular position of an object, in particular, when the fiducial marker 640 A, 640Bis applied to a three-dimensional object, such as the dock 600. In some embodiments, or in the invention, a fiducial marker pattern may balance the need for industrial design and aesthetics and a need for good recognition performance. The fiducial marker pattern may be distinctive so that false positives from background and clutter are minimized and the pattern may be sized to increase a likelihood of recognition and reduce false negatives.
[0047] In some embodiments, or in the invention, a dock pattern may be used that is not visible to the human eye to reduce a potentially negative impact on an industrial design and aesthetics. Image sensors commonly used for cameras may be sensitive to infrared (IR) light in addition to visible light. Thus, a fiducial marker may include a pattern that is covered, for example, with a film transparent in IR, but black in visible light so that the pattern may be captured with a camera using an IR compatible lens. The pattern may be therefore be designed to maximize visual distinctiveness without concern for aesthetics. [0048] To increase the contrast to facilitate feature detection, the pattern may have portions that pass all IR light and portions that block IR light. The shapes in the pattern may vary and do not repeat to minimize confusion between the features. Different patterns may be used to potentially increase detection and recognition of a selected feature or cluster of features 640 A, 640B. The pattern of the fiducial markers in Figure 7, which includes portions that pass IR light and portions that block IR light, may be suited for DoG detectors and/or SIFT descriptors. As shown in Figure 4D, the pattern may be placed on a three- dimensional surface, such as a cylinder so that the geometric constraints can be matched both visually and geometrically to reduce false positive matches and to visualize the pattern from a variety of directions.
[0049] In some embodiments, or in the invention, a database stores uniquely identifiable entries representing views of the fiducial markers 640 A, 640B...640n, where "n" is an integer indicating a maximum number of distinct fiducial markers, such that views of the unique clusters of features detectable in the pattern shown in Figure 7 may be used to identify a pose of the dock 600. For example, a computer model may be used to provide model images at various spatial positions from the dock 600. A sensor output, such as actual images of the dock 600, may then be compared to the model images to estimate a spatial relationship between the dock 600 and the robot 200 to determine the dock pose.
[0050] For example, in some embodiments, or in the invention, as illustrated in
Figure 8, the memory 222 includes a three-dimensional model of the dock 600, such as a CAD model (Block 400). The CAD model may be a model that is used to fabricate the dock 600 or it may be based on images of a pre-fabricated physical dock 600. The three- dimensional model can be used to model synthetic images of the dock 600 that are taken from a set of viewpoints to determine the positions and descriptors for each of the features of the fiducial markers 640A, 640B. The three-dimensional positions and descriptors for each feature are stored in the memory 222 and can be used to determine the position of the robot 200. Accordingly, the three-dimensional model of the dock 600 can be used to generate modeled data based on known positions and orientations with respect to the three- dimensional model. The data can be compared to actual sensor data from the robot 200 at an unknown position, and the position of the robot 200 can be determined based on a match or approximate match between the actual sensor data and the modeled data. [0051] For example, the model can be calculated as follows. The three-dimensional model with one or more fiducial markers 640A, 640B, such as a visual pattern, can be determined. A set of viewpoints are selected (Block 402), and for each of the viewpoints (Block 404) images of the three-dimensional model are rendered (Block 406).
[0052] For a particular viewpoint, the three-dimensional model can be rendered with selected image effects, such as noise, lighting effects, color, blur and/or distortion (Block 406). Each feature in the rendered image has an associated center in image coordinates, orientation and scale. These features and their descriptors (coordinates, orientation, scale, etc.) can be detected and identified in the viewpoint (Block 408). For each keypoint in the image (Block 410), each feature can be projected onto the surface of the three-dimensional image using a particular camera model and three-dimensional geometry (Block 412). Any features whose centers do not intersect the three-dimensional model surface may be removed (Blocks 414 and 416), and an image support region for each feature remaining is calculated using the orientation and the scale of the feature (Block 415). If a feature has a support region that crosses the occluding boundary of the three-dimensional model in the rendered image (Block 418), it is removed. The feature descriptors for each feature that is remaining is calculated (Block 420), and the three-dimensional positions and descriptors for each of the features is stored (Block 422). The above steps are repeated for each viewpoint (Block 424 and 426).
[0053] In some embodiments, or in the invention, many feature detections across disparate views may arise from the same three-dimensional location on the model with only slight differences in position due to artifacts of feature detection. These duplicate detections may be combined to curb the growth of the final model for optimizing storage size, run-time, matching speed, and final pose accuracy. The dimensional spatial clustering of model points and histogram-space clustering of feature descriptors may be used to combine these duplicate detections to make the image model more compact.
[0054] Accordingly, a database containing visual descriptors of features of the fiducial markers 640A, 640B, such as a visual dock pattern on the dock 600, can be created. Any suitable visual descriptor can be used, such as the Scale Invariant Feature Transform (SIFT), Speeded Up Robust Features (SURF), Binary Robust Independent Elementary Features (BRIEF) or others known to those of skill in the art. The database may also include information about which direction a feature is viewable from. For example, the surface normal at the feature point can be stored and used as a visibility constraint.
[0055] As shown in Figure 9, the controller 220 can receive a signal from the sensors 270A-B, such as a target image (Block 500), and then detects visual features from the actual image using a feature detector, such as a Difference of Gaussians (DoG), Harris Corners, Maximally Stable Extremal Regions (MSER), FAST or other techniques known to those of skill in the art (Block 502). The feature detector used on an actual image can then look up features that have been calculated in the model (Block 504)and match the feature to a modeled feature (Blocks 506-526). A descriptor can be extracted for each actually detected feature, and appearance matches can be determined by looking up feature descriptors in the database of dock "landmark" features described above. In some embodiments, or in the invention, to increase a chance of finding a set of features that match the fiducial markers 640A, 640B, clusters may be formed from image-to-database feature matches that are spatially close in the image plane of the target image (Block 506). For each cluster (Block 508), a Random Sample Consensus (RANSAC) or Progressive Sample Consensus
(PROSAC) process can be used to find a hypothetical pose of the camera relative to the fiducial markers 640A, 640B(Block 510). For example, if an inlier threshold is passed that indicates that the image data may be explained by a set of model parameters (Block 512), then the pose and inlier is computed with all image matches (Block 516), the result is stored (Block 518), and additional clusters are analyzed (Block 520). If an inlier threshold is not met (Block 512), then the remaining clusters are analyzed (Block 514). The sampling process can use constraints such as requiring a candidate set of matches to be viewable from the same direction to increase the chances of success and may take advantage of the three-dimensional information of the dock fiducial markers 640 A, 640B. Within each cluster, if a hypothetical pose is found, it can be refined using bundle adjustment, and the pose can be re-optimized using all image matches (i.e., not only those in the cluster). Each cluster may be scored by the number of inlier matches, and the best cluster can be selected. If a cluster passes a threshold matching score (Block 522), the recognition is determined to be successful, and the estimated pose and covariance is given to the controller 220 for maneuvering into the docking station 600 (Block 524).
[0056] Although embodiments according to the invention are described with respect to sensors 270A-B on the robot 200 and fiducial markers 640A, 640Bon the dock 600,it should be understood that in some embodiments, or in the invention, the sensors 270A-B may be positioned on the dock 600, and the fiducial markers 640 A, 640B can be positioned on the robot 200. Thus, the dock 600 may be configured to communicate sensor data, calculate a docking path 180, and or communicate instructions to the motorized drive system 230 based on the signal output of sensors on the dock 600. For example, the dock 600 can include a directional or non-directional sensor, and the robot 200 can include a fiducial marker, such as an LED or LED beam, and the dock 600 can notify the robot 200 when the robot's fiducial markers are detected by the sensors on the dock 600. Moreover, various components of the robot 200, such as the controller 220, the memory 222, the HMI 228, and the mapping and navigation system 240 may be included on the dock 600and/or the hub 110 such that the output of the functions of such components may be communicated to the robot 200.
[0057] DOCKING PATH CALCULATION
[0058] Tuning now to path planning a docking path 180 between the robot 200 moving in a forward direction F toward the docking lane 650 and docking port 660 of the dock, Figures 4A-4C schematically demonstrate direct path planning using a curve fit 180 to the docking lane 650 (Figures 4A and 4B) and contrasting segmented approach 180a, 180b, 180c (Figure 4C). Because the robot 200 is able to determine the pose of the dock 600 relative to the robot 200 and, in embodiments, or in the invention, determine the location of the dock 600 on a map created by the robot 200 or stored therein, the robot 200 may pre-plan the most direct and unobstructed path to the dock 600 when the time comes for recharging and/or evacuating debris (Figure 4C). As indicated in the embodiments of the dock 600 in Figures 4D and 4E, the dock 600 includes a docking lane 650 into which a robot 200 moves in a forward direction F upon approach. In embodiments, or in the invention, the docking lane 650 is bounded by outside edges 650a, 650b and has a central axis 650c aligned with the central axis of the docking port 660 into which the robot 200 drives. By approaching the dock 600 within the outside bounds 650a, 650b of the docking lane 650, the robot 200 guarantees proper alignment of its contacts with the docking contacts 622A, 622B, proper alignment of its wheels with the dock detents 620A, 620B and/or proper alignment of the robot air path with the evacuation adapter 610 of the dock 600.
[0059] As Figures 4A and 4B indicate, when the robot 200 builds a map of the space as described herein and stores a pose of the dock pose (X, Y position and orientation) on the map and knows the dock pose relative to the robot 200, a docking path 180 of the robot 200 to the dock 600 may be mapped along a curve fit to the docking lane without any realignment steps. The pose of the dock 600, for purposes of explanation, is the same as the X,Y location and orientation of the central axis 650c of the docking lane 650 relative to a global map. With this information, the robot 200 can maneuver to reach the docking lane 650 quickly and with increased chance of success as compared to a segmented docking route 180a, 180b, 180c in which the pose of the dock 600 is not stored but rather determined in real time while the robot 200 is returning to the dock 600 (Figure 4B).
[0060] In Figure 4B, the robot 200 has not stored a pose of the dock 200 and returns to the dock 600 in stages of travel. The homing 180a stage allows the robot to find a signal identifying the location of the dock 600. The robot 200 turns in place 182a to move along an alignment stage 180b and then turns in place 182b again to align with detected signals such that the robot 200 approaches the dock 600 along the docking lane 650. In contrast, as shown in Figure 4C, for example, by path planning to the dock 600 having a pose already known to the robot 200, the robot 200 plots a course eliminating the time associated with homing 180a, aligning 180b, and repositioning (e.g. turning in place 182a, 182b, zigzagging, overshooting, etc.) to achieve proper alignment 180c with a docking lane 650 of the dock 600. Aligning with the docking lane 650 enables the robot 200 to mate successfully with the aforementioned evacuation collar 610, detents 620A, 620B and/or electrical contacts 622A, 622B, or simply to align with the docking port 660. Path planning to the dock 600 (Figure 4C) therefore is a faster and more successful approach than docking without path planning (Figure 4B).
[0061] In embodiments of path planning, or in the invention, homing, alignment and approach phases are path planned directly into a curve fit path 180 to the dock 600, which may be a bayesian curve, for example. The curve fit path 180 may reduce or eliminate a need to improve alignment of the robot 200 to the dock pose (e.g. angle of the docking lane 650 relative to map coordinates). Path planning also may take into account whether obstacles (e.g. chair legs, ottomans, couches, etc.) are disposed between the robot 200 and the docking lane 650 such that the curve fit 180 avoids collisions with such obstacles that would otherwise impede (e.g. slow) the docking process.
[0062] Should a user or constraint algorithm so specify, a series of points on the floor may permit the robot 200 to complete a Bezier curve among these points, avoiding obstacles and/or passing through doorways or corridors parallel to their walls (i.e. parallel to the walls of a corridor and/or down the middle of the corridor, perpendicular to the lentil of a doorway 32 and/or through the middle of the doorway 32). A Bezier curve may permit a graceful path 180 composed of smooth splines without stops or turning in place 182a, 182b; if obstacles are detected along the path, the path finding algorithms discussed above may add waypoints as necessary.
[0063] The robot 200 may favor a path that avoids known obstacles, passes through unoccupied floor space, and matches the docking lane 650. The path 180 may be plotted via path finding algorithms such as variations upon Dijkstra's algorithm (e.g., the A* algorithm or D* family of algorithms, e.g., D*, Field D*, IDA*, Fringe, Fringe Saving A*, Generalized Adaptive A*, Lifelong Planning A*, Simplified Memory bounded A*, and/or Theta*). A revised A* algorithm for non-holonomic drives may be used, as defined in Pinter M. (2001) "Toward More Realistic Pathfinding", Game Developer Magazine (April), CMP Media LLC, pp. 54-64, which is herein incorporated by reference in its entirety. The potential path tree is resorted per the algorithm.
[0064] Pathfinding may optionally include pre-processing such as contraction hierarchies, or as discussed in Delling, D. et al. (2009). "Engineering route planning algorithms". Algorithmics of large and complex networks. Springer, pp. 117-139, which is herein incorporated by reference in its entirety.
[0065] In general, the curve fitting, path finding and/or pre-processing algorithm employed may be constrained such that the path solution(s) or curves 180 fitted include the docking lane 650; a portion of the docking lane 650 equal to or greater than one robot length L from the footprint of the dock 600; a set of possible entry curves 180 and/or entry splines aligned in part with the docking lane 650; and/or two or three points along the docking lane 650.
[0066] In some embodiments, or in the invention, the robot 200 takes new images of the dock 600and processes it as described above with respect to the database of modeled images to determine real or near-real time coordinates of the robot 200 with respect to the pose of the dock 600. For each processed image, the output may be a three-dimensional position and orientation of the robot 200 with respect to the dock 600. Before making a maneuvering decision based on the computed three-dimensional position and orientation, the robot 200 first checks whether the three-dimensional position and orientation falls into an expected three-dimensional space of positions and orientations. [0067] In some embodiments, or in the invention, the roll and pitch of the three- dimensional orientation may be close to a nominal roll and pitch angle of the robot moving on a horizontal flat surface. In addition, the z-coordinate may be close to a nominal height of the robot 200 being in contact with a horizontal and flat ground floor, If any one of the roll, pitch, or z-coordinate falls outside of the expected nominal range, then the three-dimensional position and orientation is rejected and the robot 200 waits for a new image from the camera. This verification of three-dimensional position and orientation may ensure that the robot 200 rejects observations that are not plausible given the orientation of the robot driving on a horizontal and flat floor.
[0068] Once a plausible three-dimensional position and orientation has been obtained, it is projected onto the two-dimensional plane by discarding roll, pitch and z-coordinates, so that a two-dimensional position and orientation including the x-and y-coordinates and the yaw angel is obtained.
[0069] Further features, advantages and details of the present invention will be appreciated by those of ordinary skill in the art from a reading of the figures and the detailed description of the preferred embodiments that follow, such description being merely illustrative of the present invention.

Claims

That which is claimed is:
1. A mobile robot system comprising:
a docking station including at least two pose-defining fiducial markers, the at least two pose-defining fiducial markers having a predetermined spatial relationship with respect to one another and/or to a reference point on the docking station such that a docking path to the base station can be determined from one or more observations of the at least two pose- defming fiducial markers;
a mobile robot including:
a chassis,
a motorized drive connected to the chassis for moving the mobile robot to a docked position, and
a pose sensor assembly comprising a sensor configured to output a signal in response to the at least two pose-defining fiducial markers in a pose sensor field of view;
a controller configured to analyze the output signal from the pose sensor assembly, the controller having the predetermined spatial relationship of the at least two pose-defming fiducial markers stored in a controller memory,
wherein the controller is configured to determine a docking station pose that is based on the spatial relationship of the pose-defining fiducial markers and the signals from the pose sensor assembly, and to locate a docking station pose on a map of a surface traversed by the mobile robot, and
the controller is further configured to path plan a docking trajectory including a curve having a terminal portion aligned with a docking lane of the docking station, based on a current robot position on the map of the surface and the docking station pose and to provide instructions to the motorized drive to move the mobile robot along the curve of the docking trajectory and into a docking lane aligned with the docking station.
2. The system of Claim 1, wherein the controller is located on the chassis of the mobile robot.
3. The system of Claim 1 , further comprising a database of image data with respect to a plurality of viewpoints of the docking station, wherein the controller is configured to compare the output signal from the pose sensor assembly with the database of image data, and to estimate a pose of the docking station responsive to a comparison of the output signal from the pose sensor assembly with the database of image data.
4. The system of Claim 3, wherein the database of image data is generated from a three-dimensional computer model of the docking station and the fiducial markers thereon.
5 The system of Claim 4, wherein the controller is configured to path plan a docking trajectory by moving the robot toward the docking lane in response to a current position of the robot and the pose of the docking station.
6. The system of Claim 5, wherein the controller is configured to move the robot towards a charging port and/or receptacle of the docking station if the robot is sufficiently close to the predetermined position, and to monitor when the robot connects to the charging port and/or receptacle.
7. The system of Claim 4, wherein the controller is configured to path plan a docking trajectory by acquiring images of the docking station, determining a pose of the docking station with respect to the robot, and maneuvering the robot in response to the pose of the docking station with respect to the robot.
8. The system of Claim 1, wherein the controller determines the pose of the docking station by acquiring data including observations of the fiducial markers of the docking station from at least two positions of the robot and triangulating a location and angular orientation of the docking station in response to the data.
9. The system of Claim 8, wherein the fiducial markers are LEDs that are configured indicate a beam direction to the pose sensor assembly.
10. The system of Claim 9, wherein the LEDs have different light-emitting characteristics such that the pose sensor assembly is configured to identify an orientation of the LEDs responsive to the predetermined spatial relationship of the LEDs.
11. The system of Claim 10, wherein the pose sensor assembly comprises a directional sensor.
12. The system of Claim 11 , wherein the directional sensor comprises twin photodiodes.
13. The system of Claim 11, wherein the fiducial markers are collimated and/or baffled LED lights that generally emit light in a direction such that the pose sensor assembly is configured to plot a line of sight when the robot crosses the emitted light.
14. The system of Claim 11, wherein the fiducial markers comprise a portion that transmits IR light and a portion that blocks IR light.
15. A computer program product for determining a docking path, the computer program product comprising a non-transitory computer readable storage medium having computer readable code embodied in the medium, the computer code comprising:
computer readable code configured to
analyzean output signal from a pose sensor assembly on a mobile robot, wherein the output signal is responsive to an observation by the pose sensor assembly of at least two fiducial markers on a docking station,
determine a docking station pose that is based on a predetermined spatial relationship of the pose-defining fiducial markers and the signals from the pose sensor assembly,
locate a docking station pose on a map of a surface traversed by the mobile robot, and path plan a docking trajectory including a curve having a terminal portion aligned with a docking lane of the docking station, based on a current robot position on the map of the surface and the docking station pose and to provide instructions to the motorized drive to move the mobile robot along the curve of the docking trajectory and into a docking lane aligned with the docking station.
16. The computer program product of Claim 15, wherein the computer readable code is configured to receive a database of image data with respect to a plurality of viewpoints of the docking station, to compare the output signal from the pose sensor assembly with the database of image data, and to estimate a pose of the docking station responsive to a comparison of the output signal from the pose sensor assembly with the database of image data.
17. The computer program product of Claim 16, wherein the database of image data is generated from a three-dimensional computer model of the docking station and the fiducial markers thereon.
18. The computer program product of Claim 17, wherein the computer readable program code is configured to path plan a docking trajectory by moving the robot toward a predetermined position in front of the docking station in response to a current position of the robot and the pose of the docking station.
19. The computer program product of Claim 14, wherein the computer readable program code is configured to determine the pose of the docking station by acquiring data including observations of the fiducial markers of the docking station from at least two positions of the robot and triangulating a location and angular orientation of the docking station in response to the data.
20. A method for determining a docking path, method comprising:
analyzing an output signal from the pose sensor assembly on a mobile robot, wherein the output signal is responsive to an observation by the pose sensor assembly of at least two fiducial markers on a docking station,
determining a docking station pose that is based on a predetermined spatial relationship of the pose-defining fiducial markers and the signals from the pose sensor assembly,
locating a docking station pose on a map of a surface traversed by the mobile robot, and
path planing a docking trajectory including a curve having a terminal portion aligned with a docking lane of the docking station, based on a current robot position on the map of the surface and the docking station pose and to provide instructions to the motorized drive to move the mobile robot along the curve of the docking trajectory and into a docking lane aligned with the docking station.
PCT/US2013/063599 2012-10-05 2013-10-05 Robot management systems for determining docking station pose including mobile robots and methods using same WO2014055966A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP13844141.5A EP2903787B1 (en) 2012-10-05 2013-10-05 Robot management systems for determining docking station pose including mobile robots and methods using same
JP2015535850A JP2015535373A (en) 2012-10-05 2013-10-05 Robot management system and method for using it to determine the attitude of a docking station including a mobile robot

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261710422P 2012-10-05 2012-10-05
US61/710,422 2012-10-05

Publications (1)

Publication Number Publication Date
WO2014055966A1 true WO2014055966A1 (en) 2014-04-10

Family

ID=50433320

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2013/063599 WO2014055966A1 (en) 2012-10-05 2013-10-05 Robot management systems for determining docking station pose including mobile robots and methods using same

Country Status (4)

Country Link
US (3) US9538892B2 (en)
EP (1) EP2903787B1 (en)
JP (1) JP2015535373A (en)
WO (1) WO2014055966A1 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014181083A1 (en) * 2013-05-10 2014-11-13 Dyson Technology Limited Apparatus for guiding an autonomous vehicle towards a docking station
JP2018526748A (en) * 2015-09-04 2018-09-13 ロブアート ゲーエムベーハーROBART GmbH System having an autonomous mobile robot and an autonomous mobile robot base station, an autonomous mobile robot base station, a method for an autonomous mobile robot, and an automatic docking method for an autonomous mobile robot to a base station
EP3428759A1 (en) * 2017-07-13 2019-01-16 Vorwerk & Co. Interholding GmbH Method for operating an automatically moving service device
CN109254580A (en) * 2017-07-13 2019-01-22 德国福维克控股公司 The operation method of service equipment for self-traveling
US10860029B2 (en) 2016-02-15 2020-12-08 RobArt GmbH Method for controlling an autonomous mobile robot
US11175670B2 (en) 2015-11-17 2021-11-16 RobArt GmbH Robot-assisted processing of a surface using a robot
US11292136B2 (en) 2017-12-29 2022-04-05 Irobot Corporation Mobile robot docking systems and methods
CN114310915A (en) * 2022-02-16 2022-04-12 哈尔滨工业大学 Space manipulator butt joint end tool trajectory planning method based on visual feedback
US11550054B2 (en) 2015-06-18 2023-01-10 RobArtGmbH Optical triangulation sensor for distance measurement
US11709489B2 (en) 2017-03-02 2023-07-25 RobArt GmbH Method for controlling an autonomous, mobile robot
US11710555B2 (en) 2019-12-24 2023-07-25 Fresenius Medical Care Holdings, Inc. Medical system with docking station and mobile machine
GB2616657A (en) * 2022-03-17 2023-09-20 Dyson Technology Ltd Use of fiducial marks by a robotic vacuum cleaner
US11768494B2 (en) 2015-11-11 2023-09-26 RobArt GmbH Subdivision of maps for robot navigation
US11789447B2 (en) 2015-12-11 2023-10-17 RobArt GmbH Remote control of an autonomous mobile robot

Families Citing this family (129)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2619742B1 (en) * 2010-09-24 2018-02-28 iRobot Corporation Systems and methods for vslam optimization
WO2014055966A1 (en) 2012-10-05 2014-04-10 Irobot Corporation Robot management systems for determining docking station pose including mobile robots and methods using same
GB2509990B (en) * 2013-01-22 2014-12-10 Dyson Technology Ltd Docking station for a mobile robot
JP5543042B1 (en) * 2014-02-12 2014-07-09 株式会社コスモライフ pedestal
CN105005755B (en) * 2014-04-25 2019-03-29 北京邮电大学 Three-dimensional face identification method and system
US9152149B1 (en) * 2014-06-06 2015-10-06 Amazon Technologies, Inc. Fiducial markers with a small set of values
US9626764B2 (en) * 2014-07-01 2017-04-18 Castar, Inc. System and method for synchronizing fiducial markers
TWI554239B (en) * 2014-07-25 2016-10-21 Joseph Y Ko Automatic return charging method for self - propelled cleaning device
MX2017001407A (en) * 2014-07-31 2017-07-28 Par Systems Inc Crane motion control.
JP6366064B2 (en) * 2014-08-19 2018-08-01 東芝ライフスタイル株式会社 Electric vacuum cleaner
US9354634B2 (en) * 2014-09-10 2016-05-31 Joseph Y. Ko Automatic homing and charging method for self-moving cleaning apparatus
US9788481B2 (en) 2014-10-28 2017-10-17 Deere & Company Robotic mower navigation system
US9791865B2 (en) * 2014-10-29 2017-10-17 Amazon Technologies, Inc. Multi-scale fiducials
WO2019126332A1 (en) * 2017-12-19 2019-06-27 Carnegie Mellon University Intelligent cleaning robot
US9788698B2 (en) 2014-12-10 2017-10-17 Irobot Corporation Debris evacuation for cleaning robots
US9757004B2 (en) 2015-02-12 2017-09-12 Irobot Corporation Liquid management for floor-traversing robots
US9993129B2 (en) 2015-02-13 2018-06-12 Irobot Corporation Mobile floor-cleaning robot with floor-type detection
US9789609B2 (en) * 2015-02-25 2017-10-17 The Boeing Company Substantially simultaneous manufacturing functions
EP3278937B1 (en) * 2015-03-31 2020-02-19 Guangzhou Airob Robot Technology Co., Ltd. Charger, and map-constructing-based charger finding method, device and system
KR102398330B1 (en) * 2015-06-12 2022-05-16 엘지전자 주식회사 Moving robot and controlling method thereof
US9462920B1 (en) 2015-06-25 2016-10-11 Irobot Corporation Evacuation station
KR101660703B1 (en) * 2015-06-26 2016-09-28 주식회사 유진로봇 Visual homing system and method using stereo camera and active logo
US9758305B2 (en) 2015-07-31 2017-09-12 Locus Robotics Corp. Robotic navigation utilizing semantic mapping
JP6617482B2 (en) * 2015-09-04 2019-12-11 村田機械株式会社 Autonomous vehicle system
GB201518652D0 (en) * 2015-10-21 2015-12-02 F Robotics Acquisitions Ltd Domestic robotic system and method
KR102521493B1 (en) 2015-10-27 2023-04-14 삼성전자주식회사 Cleaning robot and controlling method of thereof
KR20170053351A (en) * 2015-11-06 2017-05-16 삼성전자주식회사 Cleaning robot and controlling method thereof
WO2017096241A1 (en) 2015-12-02 2017-06-08 Augmenteum, Inc. System for and method of projecting augmentation imagery in a head-mounted display
SE539613C2 (en) * 2016-01-11 2017-10-17 Husqvarna Ab Self-propelled robotic tool navigation
TW201727416A (en) * 2016-01-27 2017-08-01 Hon Hai Prec Ind Co Ltd Artificial marker combination, computer vision positioning system and vision positioning method
US11353326B2 (en) * 2016-03-06 2022-06-07 Arizona Board Of Regents On Behalf Of The University Of Arizona Traverse and trajectory optimization and multi-purpose tracking
US10328577B2 (en) * 2016-04-19 2019-06-25 Xiaoyu Arasive Inc. Autonomous navigational system for floor preparation and maintenance equipment
US11726487B1 (en) 2016-06-06 2023-08-15 AI Incorporated Method for robotic devices to identify doorways using machine learning
JP6995770B2 (en) * 2016-06-15 2022-01-17 アイロボット・コーポレーション Systems and methods for controlling autonomous mobile robots
CN106308685B (en) * 2016-08-23 2019-10-11 北京小米移动软件有限公司 cleaning robot and control method thereof
WO2018080471A1 (en) * 2016-10-26 2018-05-03 Sony Mobile Communications Inc. Robotic system and method of movement control using synthetic array radar and passive beacons
US10274325B2 (en) * 2016-11-01 2019-04-30 Brain Corporation Systems and methods for robotic mapping
JP6752118B2 (en) * 2016-11-09 2020-09-09 東芝ライフスタイル株式会社 Autonomous vehicle
US10723018B2 (en) 2016-11-28 2020-07-28 Brain Corporation Systems and methods for remote operating and/or monitoring of a robot
CN106873554A (en) * 2017-02-28 2017-06-20 深圳市笨笨机器人有限公司 The control method and robot of a kind of smart home
EP3591486B1 (en) 2017-02-28 2022-11-09 Honda Motor Co., Ltd. Work system and work machine
JP6899668B2 (en) * 2017-03-01 2021-07-07 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Self-propelled vacuum cleaner control method, control device, control program and self-propelled vacuum cleaner
CN108664017A (en) * 2017-04-01 2018-10-16 富泰华工业(深圳)有限公司 The method for searching of electronic device and electronic device
EP3622499A1 (en) * 2017-05-11 2020-03-18 Starship Technologies OÜ A signalling device and system for increasing visibility of a mobile robot
CN106980320B (en) * 2017-05-18 2020-06-19 上海思岚科技有限公司 Robot charging method and device
KR101938668B1 (en) 2017-05-29 2019-01-15 엘지전자 주식회사 Cleaner and controlling method thereof
US10699147B2 (en) * 2017-06-22 2020-06-30 BITO Robotics, Inc. Systems and methods for fast identification and processing of an image area of interest
JP6986871B2 (en) * 2017-06-22 2021-12-22 東芝ライフスタイル株式会社 Electric cleaning device
US10915114B2 (en) 2017-07-27 2021-02-09 AI Incorporated Method and apparatus for combining data to construct a floor plan
US11348269B1 (en) * 2017-07-27 2022-05-31 AI Incorporated Method and apparatus for combining data to construct a floor plan
CN107727104B (en) * 2017-08-16 2019-04-30 北京极智嘉科技有限公司 Positioning and map building air navigation aid, apparatus and system while in conjunction with mark
US10383499B2 (en) * 2017-08-31 2019-08-20 Irobot Corporation Wet robot docking station
JP2020534051A (en) 2017-09-14 2020-11-26 ニューラル アナリティクス、インコーポレイテッド Systems and methods for aligning headset systems
US10694014B2 (en) * 2017-09-22 2020-06-23 Apple Inc. Haptic locomotion using wide-band actuator
US11175148B2 (en) * 2017-09-28 2021-11-16 Baidu Usa Llc Systems and methods to accommodate state transitions in mapping
JP7013212B2 (en) * 2017-11-14 2022-01-31 Tvs Regza株式会社 Electronic devices, markers, control methods and programs for electronic devices
KR102444693B1 (en) * 2017-11-15 2022-09-20 삼성전자 주식회사 Moving apparatus for cleaning and control method thereof
US10761539B2 (en) * 2017-11-22 2020-09-01 Locus Robotics Corp. Robot charger docking control
US10365656B2 (en) * 2017-11-22 2019-07-30 Locus Robotics Corp. Robot charger docking localization
CN107910915A (en) * 2017-11-24 2018-04-13 北京奇虎科技有限公司 Charging method, device and the electronic equipment of robot
WO2019109230A1 (en) * 2017-12-04 2019-06-13 深圳市沃特沃德股份有限公司 Visual sweeping robot and recharging method therefor
CN109917781A (en) * 2017-12-13 2019-06-21 北京京东尚科信息技术有限公司 For dispatching the method, apparatus and system of automated guided vehicle
US11413755B2 (en) * 2017-12-31 2022-08-16 Sarcos Corp. Covert identification tags viewable by robots and robotic devices
KR102489806B1 (en) * 2018-01-03 2023-01-19 삼성전자주식회사 Moving apparatus for cleaning, and system and method for cooperative cleaning thereof
CN108279667A (en) * 2018-01-08 2018-07-13 浙江立石机器人技术有限公司 Robot charge path planing method, apparatus and system
US10503760B2 (en) 2018-03-29 2019-12-10 Aurora Innovation, Inc. Use of relative atlas in an autonomous vehicle
US11256729B2 (en) 2018-03-29 2022-02-22 Aurora Operations, Inc. Autonomous vehicle relative atlas incorporating hypergraph data structure
US10521913B2 (en) 2018-03-29 2019-12-31 Aurora Innovation, Inc. Relative atlas for autonomous vehicle and generation thereof
US10595696B2 (en) 2018-05-01 2020-03-24 Sharkninja Operating Llc Docking station for robotic cleaner
US20220197298A1 (en) * 2018-06-11 2022-06-23 Jabil Inc. Apparatus, system, and method of docking for autonomous robot navigation
JP6993937B2 (en) * 2018-06-22 2022-01-14 東芝ライフスタイル株式会社 Electric cleaning device
IL260333A (en) * 2018-06-28 2018-11-29 Indoor Robotics Ltd A computerized system for guiding a mobile robot to a docking station and a method of using same
US11497363B2 (en) 2018-07-20 2022-11-15 Sharkninja Operating Llc Robotic cleaner debris removal docking station
CN110757446B (en) * 2018-07-25 2021-08-27 深圳市优必选科技有限公司 Robot recharging login method and device and storage device
EP3829824A4 (en) 2018-08-01 2022-06-15 SharkNinja Operating LLC Robotic vacuum cleaner
CN110838144B (en) * 2018-08-15 2022-09-30 杭州萤石软件有限公司 Charging equipment identification method, mobile robot and charging equipment identification system
CN114287827B (en) * 2018-09-11 2023-04-11 原相科技股份有限公司 Cleaning robot system, cleaning robot thereof, and charging path determining method
CN109648602A (en) * 2018-09-11 2019-04-19 深圳优地科技有限公司 Automatic recharging method, device and terminal device
CN109144067B (en) * 2018-09-17 2021-04-27 长安大学 Intelligent cleaning robot and path planning method thereof
US11256259B2 (en) 2018-09-19 2022-02-22 Locus Robotics Corp. Zone engine for providing context-augmented map layer
CN109683605B (en) * 2018-09-25 2020-11-24 上海肇观电子科技有限公司 Robot and automatic recharging method and system thereof, electronic equipment and storage medium
US11158084B2 (en) * 2018-11-07 2021-10-26 K2R2 Llc Determination of relative position of an apparatus
AU2019387227B2 (en) * 2018-11-28 2023-02-23 Sharkninja Operating Llc Optical beacon for autonomous device and autonomous device configured to use the same
US11426046B2 (en) 2018-12-03 2022-08-30 Sharkninja Operating Llc Optical indicium for communicating information to autonomous devices
US11934196B1 (en) 2018-12-13 2024-03-19 Hydro-Gear Limited Partnership Visual identifiers for docking and zoning an autonomous mower
CN110826474A (en) * 2019-03-10 2020-02-21 成都家有为力机器人技术有限公司 Semantic map construction system based on specific target recognition and laser SLAM
CN110277818A (en) * 2019-07-01 2019-09-24 希格斯动力科技(珠海)有限公司 Automatically the method and device recharged
CN112205926B (en) * 2019-07-11 2022-07-12 苏州宝时得电动工具有限公司 Cleaning robot system and control method and device thereof
WO2021012125A1 (en) * 2019-07-19 2021-01-28 Huawei Technologies Co., Ltd. Global path planning using piecewise sigmoid curves
US11365974B2 (en) * 2019-07-23 2022-06-21 Arm Limited Navigation system
CN111571561B (en) * 2019-08-07 2021-08-31 上海肇观电子科技有限公司 Mobile robot
US11958183B2 (en) 2019-09-19 2024-04-16 The Research Foundation For The State University Of New York Negotiation-based human-robot collaboration via augmented reality
EP4049243A1 (en) * 2019-10-25 2022-08-31 Pictometry International Corp. System using image connectivity to reduce bundle size for bundle adjustment
CN111070205B (en) * 2019-12-04 2021-07-30 上海高仙自动化科技发展有限公司 Pile alignment control method and device, intelligent robot and storage medium
US11382473B2 (en) 2019-12-11 2022-07-12 Irobot Corporation Predictive maintenance of mobile cleaning robot
CN110962132B (en) * 2019-12-26 2021-04-30 珠海市一微半导体有限公司 Robot system
CN113303708A (en) * 2020-02-27 2021-08-27 佛山市云米电器科技有限公司 Control method for maintenance device, and storage medium
US11571813B2 (en) 2020-02-28 2023-02-07 Irobot Corporation Systems and methods for managing a semantic map in a mobile robot
US20210330157A1 (en) * 2020-04-22 2021-10-28 Omachron Intellectual Property Inc. Robotic vacuum cleaner with dirt enclosing member and method of using the same
CN111856538B (en) * 2020-06-18 2023-07-18 北京九曜智能科技有限公司 Real-time dynamic self-adaptive path planning method for automatic driving
KR20220003780A (en) * 2020-07-02 2022-01-11 엘지전자 주식회사 Charging Device For Robot Cleaner and Controlling Method of Robot Cleaner using the same
CN111862216B (en) * 2020-07-29 2023-05-26 上海高仙自动化科技发展有限公司 Computer equipment positioning method, device, computer equipment and storage medium
CN111904335B (en) * 2020-08-01 2022-06-03 尚科宁家(中国)科技有限公司 Cleaning robot and control method thereof
DE102020209841B4 (en) * 2020-08-05 2024-01-25 BSH Hausgeräte GmbH Cleaning system with a self-propelled cleaning robot and a charging station
US20220047138A1 (en) * 2020-08-14 2022-02-17 Irobot Corporation Systems and methods for visual docking in an autonomous mobile robot
WO2022046778A1 (en) 2020-08-25 2022-03-03 Irobot Corporation Seasonal recommendations for an autonomous mobile robot
US11592573B2 (en) 2020-09-15 2023-02-28 Irobot Corporation Particle filters and WiFi robot localization and mapping
US11662743B2 (en) 2020-09-15 2023-05-30 Irobot Corporation Robot localization and mapping accommodating non-unique landmarks
US11467599B2 (en) 2020-09-15 2022-10-11 Irobot Corporation Object localization and recognition using fractional occlusion frustum
US11656628B2 (en) 2020-09-15 2023-05-23 Irobot Corporation Learned escape behaviors of a mobile robot
KR20220046190A (en) * 2020-10-07 2022-04-14 삼성전자주식회사 Robot, charghing station and robot charghing system comprising the same
CN112346453A (en) * 2020-10-14 2021-02-09 深圳市杉川机器人有限公司 Automatic robot recharging method and device, robot and storage medium
US20220142422A1 (en) * 2020-11-06 2022-05-12 Mark Jeffery Giarritta Automatic multi-attachment changing station
US20220151450A1 (en) 2020-11-17 2022-05-19 Irobot Corporation Systems and methods for scheduling mobile robot missions
CN114690751A (en) * 2020-12-11 2022-07-01 珊口(深圳)智能科技有限公司 Parking control method, control system, mobile robot, and storage medium
KR102261791B1 (en) * 2020-12-11 2021-06-07 주식회사 트위니 Reflector and 2d lidar based autonomous docking system
US11662737B2 (en) 2020-12-28 2023-05-30 Irobot Corporation Systems and methods for dock placement for an autonomous mobile robot
CN112859858B (en) * 2021-01-12 2022-07-08 珠海格力电器股份有限公司 Mobile device charging control method and device and charging pile
CN112674655B (en) * 2021-01-14 2022-06-10 深圳市云鼠科技开发有限公司 Wall-following-based refilling method and device, computer equipment and storage
CN113156944B (en) * 2021-03-28 2023-03-07 西北工业大学 Charging path planning and motion control algorithm for indoor mobile robot
USD981061S1 (en) * 2021-04-12 2023-03-14 Zhichang Technology (Suzhou) Co., Ltd. Cleaning robot workstation
US11622495B2 (en) 2021-06-01 2023-04-11 Gint Co., Ltd. Method of automatically combining farm vehicle and work machine and farm vehicle
KR102354079B1 (en) * 2021-06-01 2022-02-08 주식회사 긴트 A method and a farm vehicle for combining the farm vehicle and work machines
CN113305847B (en) * 2021-06-10 2022-11-01 上海大学 Building 3D printing mobile mechanical arm station planning method and system
CN113986431B (en) * 2021-10-27 2024-02-02 武汉戴维南科技有限公司 Visual debugging method and system for automatic robot production line
CN114281087B (en) * 2021-12-31 2023-11-03 东南大学 Path planning method based on life planning A and speed obstacle method
US20230255420A1 (en) 2022-02-16 2023-08-17 Irobot Corporation Maintenance alerts for autonomous cleaning robots
KR102559299B1 (en) * 2022-08-29 2023-07-25 주식회사 클로봇 Unmanned moving object, method and program for controlling docking of unmanned moving object using marker
KR102585353B1 (en) * 2022-11-10 2023-10-06 주식회사 클로봇 Unmanned moving object, method and program for controlling docking of unmanned moving object using ridar and v-shaped marker

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6629028B2 (en) * 2000-06-29 2003-09-30 Riken Method and system of optical guidance of mobile body
EP1760564A2 (en) * 2005-08-31 2007-03-07 Samsung Gwangju Electronics Co., Ltd. System and method for returning robot cleaner to charger
US20070234492A1 (en) * 2005-12-02 2007-10-11 Irobot Corporation Coverage robot mobility
KR20100136904A (en) * 2009-06-19 2010-12-29 삼성전자주식회사 Robot cleaner and docking station and robot cleaner system having the same and control method thereof
KR20120047137A (en) * 2010-11-03 2012-05-11 엘지전자 주식회사 Robot cleaner and controlling method of the same

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4777416A (en) * 1986-05-16 1988-10-11 Denning Mobile Robotics, Inc. Recharge docking system for mobile robot
US5995214A (en) * 1997-08-13 1999-11-30 Lucent Technologies Process for pose estimation of a camera viewing an image scene
JP3494075B2 (en) * 1999-05-25 2004-02-03 三菱電機株式会社 Self-locating device for moving objects
JP4207336B2 (en) 1999-10-29 2009-01-14 ソニー株式会社 Charging system for mobile robot, method for searching for charging station, mobile robot, connector, and electrical connection structure
US6362875B1 (en) * 1999-12-10 2002-03-26 Cognax Technology And Investment Corp. Machine vision system and method for inspection, homing, guidance and docking with respect to remote objects
AU767561B2 (en) * 2001-04-18 2003-11-13 Samsung Kwangju Electronics Co., Ltd. Robot cleaner, system employing the same and method for reconnecting to external recharging device
JP4032793B2 (en) * 2002-03-27 2008-01-16 ソニー株式会社 Charging system, charging control method, robot apparatus, charging control program, and recording medium
US7346428B1 (en) * 2002-11-22 2008-03-18 Bissell Homecare, Inc. Robotic sweeper cleaner with dusting pad
US7177737B2 (en) * 2002-12-17 2007-02-13 Evolution Robotics, Inc. Systems and methods for correction of drift via global localization with a visual landmark
JP2004237075A (en) 2003-02-06 2004-08-26 Samsung Kwangju Electronics Co Ltd Robot cleaner system provided with external charger and connection method for robot cleaner to external charger
US8896660B2 (en) * 2003-05-30 2014-11-25 Alcatel Lucent Method and apparatus for computing error-bounded position and orientation of panoramic cameras in real-world environments
KR100480144B1 (en) 2003-07-23 2005-04-07 엘지전자 주식회사 Position detection apparatus and method for mobile robot
US7332890B2 (en) 2004-01-21 2008-02-19 Irobot Corporation Autonomous robot auto-docking and energy management systems and methods
KR100766434B1 (en) 2005-07-22 2007-10-15 엘지전자 주식회사 Robot having function of recognizing image and leading method for thereof
EP2065774B1 (en) * 2005-12-02 2013-10-23 iRobot Corporation Autonomous coverage robot navigation system
KR100766439B1 (en) * 2006-03-29 2007-10-12 엘지전자 주식회사 Returning system to charging station for moving robot
JP4195894B2 (en) * 2006-03-30 2008-12-17 株式会社東芝 Docking system
KR20080060535A (en) 2006-12-27 2008-07-02 주식회사 유진로봇 Apparatus for automatic charging of the autonomous mobile robot and method for automatic charging used the same
JP4480730B2 (en) * 2007-01-19 2010-06-16 アイロボット コーポレイション Autonomous robot docking method
JP2008178959A (en) * 2007-01-26 2008-08-07 Canon Electronics Inc Mobile robot system and charge station
KR101330734B1 (en) * 2007-08-24 2013-11-20 삼성전자주식회사 Robot cleaner system having robot cleaner and docking station
KR101415879B1 (en) * 2008-01-04 2014-07-07 삼성전자 주식회사 Method and apparatus for docking moving robot
JP4838824B2 (en) * 2008-04-30 2011-12-14 三菱重工業株式会社 Specific position guidance control method for autonomous mobile robot
WO2014055966A1 (en) 2012-10-05 2014-04-10 Irobot Corporation Robot management systems for determining docking station pose including mobile robots and methods using same
GB2513912B (en) * 2013-05-10 2018-01-24 Dyson Technology Ltd Apparatus for guiding an autonomous vehicle towards a docking station
JP6522905B2 (en) * 2014-08-20 2019-05-29 東芝ライフスタイル株式会社 Electric vacuum cleaner
US10575696B2 (en) * 2016-07-13 2020-03-03 Irobot Corporation Autonomous robot auto-docking and energy management systems and methods

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6629028B2 (en) * 2000-06-29 2003-09-30 Riken Method and system of optical guidance of mobile body
EP1760564A2 (en) * 2005-08-31 2007-03-07 Samsung Gwangju Electronics Co., Ltd. System and method for returning robot cleaner to charger
US20070234492A1 (en) * 2005-12-02 2007-10-11 Irobot Corporation Coverage robot mobility
KR20100136904A (en) * 2009-06-19 2010-12-29 삼성전자주식회사 Robot cleaner and docking station and robot cleaner system having the same and control method thereof
KR20120047137A (en) * 2010-11-03 2012-05-11 엘지전자 주식회사 Robot cleaner and controlling method of the same

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2903787A4 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10175696B2 (en) 2013-05-10 2019-01-08 Dyson Technology Limited Apparatus for guiding an autonomous vehicle towards a docking station
WO2014181083A1 (en) * 2013-05-10 2014-11-13 Dyson Technology Limited Apparatus for guiding an autonomous vehicle towards a docking station
US11550054B2 (en) 2015-06-18 2023-01-10 RobArtGmbH Optical triangulation sensor for distance measurement
JP2018526748A (en) * 2015-09-04 2018-09-13 ロブアート ゲーエムベーハーROBART GmbH System having an autonomous mobile robot and an autonomous mobile robot base station, an autonomous mobile robot base station, a method for an autonomous mobile robot, and an automatic docking method for an autonomous mobile robot to a base station
US11188086B2 (en) 2015-09-04 2021-11-30 RobArtGmbH Identification and localization of a base station of an autonomous mobile robot
US11768494B2 (en) 2015-11-11 2023-09-26 RobArt GmbH Subdivision of maps for robot navigation
US11175670B2 (en) 2015-11-17 2021-11-16 RobArt GmbH Robot-assisted processing of a surface using a robot
US11789447B2 (en) 2015-12-11 2023-10-17 RobArt GmbH Remote control of an autonomous mobile robot
US11709497B2 (en) 2016-02-15 2023-07-25 RobArt GmbH Method for controlling an autonomous mobile robot
US10860029B2 (en) 2016-02-15 2020-12-08 RobArt GmbH Method for controlling an autonomous mobile robot
US11709489B2 (en) 2017-03-02 2023-07-25 RobArt GmbH Method for controlling an autonomous, mobile robot
US11269348B2 (en) 2017-07-13 2022-03-08 Vorwerk & Co. Interholding Gmbh Method for operating an automatically moving service device
CN109254580A (en) * 2017-07-13 2019-01-22 德国福维克控股公司 The operation method of service equipment for self-traveling
EP3428759A1 (en) * 2017-07-13 2019-01-16 Vorwerk & Co. Interholding GmbH Method for operating an automatically moving service device
CN109254580B (en) * 2017-07-13 2024-03-05 德国福维克控股公司 Method for operating a self-propelled service device
US11292136B2 (en) 2017-12-29 2022-04-05 Irobot Corporation Mobile robot docking systems and methods
US11710555B2 (en) 2019-12-24 2023-07-25 Fresenius Medical Care Holdings, Inc. Medical system with docking station and mobile machine
CN114310915A (en) * 2022-02-16 2022-04-12 哈尔滨工业大学 Space manipulator butt joint end tool trajectory planning method based on visual feedback
CN114310915B (en) * 2022-02-16 2022-09-09 哈尔滨工业大学 Space manipulator butt joint end tool trajectory planning method based on visual feedback
GB2616657A (en) * 2022-03-17 2023-09-20 Dyson Technology Ltd Use of fiducial marks by a robotic vacuum cleaner

Also Published As

Publication number Publication date
US20140100693A1 (en) 2014-04-10
US9468349B2 (en) 2016-10-18
US10335004B2 (en) 2019-07-02
EP2903787A4 (en) 2016-07-27
US20170105592A1 (en) 2017-04-20
US9538892B2 (en) 2017-01-10
EP2903787B1 (en) 2019-05-15
JP2015535373A (en) 2015-12-10
EP2903787A1 (en) 2015-08-12
US20160143500A1 (en) 2016-05-26

Similar Documents

Publication Publication Date Title
US10335004B2 (en) Robot management systems for determining docking station pose including mobile robots and methods using same
EP3104194B1 (en) Robot positioning system
CN112399813B (en) Multiple autonomous mobile robots and control method thereof
CN105247431B (en) Autonomous body
US9360300B2 (en) Methods and apparatus for position estimation using reflected light sources
US20200409382A1 (en) Intelligent cleaning robot
CN106405605B (en) A kind of indoor and outdoor seamless positioning method and positioning system of the robot based on ROS and GPS
CN112654472A (en) Multiple autonomous mobile robots and control method thereof
WO2019126332A1 (en) Intelligent cleaning robot
US11787041B2 (en) Mobile robot and method of controlling a plurality of mobile robots
Eppenberger et al. Leveraging stereo-camera data for real-time dynamic obstacle detection and tracking
US11435759B2 (en) Plurality of autonomous mobile robots and controlling method for the same
CN108121333A (en) Shopping guide robot
CN112013850B (en) Positioning method, positioning device, self-moving equipment and storage medium
Lee et al. Vision based localization for multiple mobile robots using low-cost vision sensor
KR102198187B1 (en) Moving robot
CN113390426A (en) Positioning method, positioning device, self-moving equipment and storage medium
Poomarin et al. Automatic docking with obstacle avoidance of a differential wheel mobile robot
US20220108471A1 (en) Method for coupling co-ordinate systems, and computer-assisted system
KR102390040B1 (en) Robot Cleaner and Controlling Method for the same
Rostkowska et al. Improving self-localization efficiency in a small mobile robot by using a hybrid field of view vision system
Park et al. An efficient path planning method for a cleaning robot based on ceiling vision
US11726487B1 (en) Method for robotic devices to identify doorways using machine learning
Fu et al. Monte Carlo Localization using 3D texture maps
Umer et al. A novel localization and navigation approach for an indoor autonomous mobile surveillance robot

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13844141

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2013844141

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2015535850

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE