WO2000038025A1 - Improvements in or relating to floor cleaning devices - Google Patents

Improvements in or relating to floor cleaning devices Download PDF

Info

Publication number
WO2000038025A1
WO2000038025A1 PCT/GB1999/004072 GB9904072W WO0038025A1 WO 2000038025 A1 WO2000038025 A1 WO 2000038025A1 GB 9904072 W GB9904072 W GB 9904072W WO 0038025 A1 WO0038025 A1 WO 0038025A1
Authority
WO
WIPO (PCT)
Prior art keywords
cleaning device
room
information
traverse
sensors
Prior art date
Application number
PCT/GB1999/004072
Other languages
French (fr)
Inventor
David Lindsey Bisset
Michael David Aldred
Original Assignee
Dyson Limited
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 Dyson Limited filed Critical Dyson Limited
Priority to AU15753/00A priority Critical patent/AU1575300A/en
Priority to GB0113417A priority patent/GB2361553B/en
Publication of WO2000038025A1 publication Critical patent/WO2000038025A1/en

Links

Classifications

    • 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/0219Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory ensuring the processing of the whole working surface
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course 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/0255Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals

Definitions

  • This invention relates to a robotic floor cleaning device, a method of operating a robotic floor cleaning device, and to software and a control apparatus for performing the method.
  • the invention can be used in a robotic vacuum cleaning device.
  • DE 35 36 974 Al shows a floor cleaning device which performs a spiralling path over a surface to be cleaned. It requires a wet or dust trail to be deposited on the surface to be cleaned in order that the machine can follow this spiral path.
  • the present invention seeks to provide a robotic vacuum cleaner which minimises or overcomes disadvantages with the prior art.
  • the present invention seeks to provide a robotic vacuum cleaner that can cover a floor area without the need for advance knowledge of the layout of the floor area and which does not leave a trail on the floor.
  • a first aspect of the present invention provides method of operating a robotic floor cleaning device so that the floor cleaning device:
  • the floor cleaning device moves inwards (or outwards) and completes a second traverse, the cleaning device continuing to move inwards (or outwards) after each traverse so as to travel in a generally inwardly (or outwardly) spiral manner until the floor of the room, apart from areas occupied by obstacles, has been cleaned.
  • a robotic floor cleaning device comprising: power operated means for moving the cleaning device along the floor, and a navigation system, including sensors and a memory means, for navigating the cleaning device around the room, the navigation system being arranged to: (a) firstly cause the cleaning device to complete a traverse around the edge of a room (or around a feature of the room or an object in the room) avoiding any obstacles in its path, monitoring and storing information from the sensors in the memory during the traverse, and (b) when it is determined that monitored information from the sensors is the same or substantially the same as previously stored information, cause the device to move inwards (or outwards) and complete a second traverse, the device continuing to move inwards (or outwards) after each completed traverse so as to travel in a generally inwardly (or outwardly) spiral manner until the floor of the room, apart from areas occupied by obstacles, has been cleaned.
  • the floor cleaning device can cover the complete floor area in an efficient manner.
  • This method has the advantage that the floor cleaning device does not need to be programmed with advance knowledge of the layout of the floor area, or the need to maintain a cartesian map of the floor area. This can simplify the processing requirements of the controller of the cleaning device and avoids the need for a user to train the device or to load and update a map of the floor area that the device is to clean.
  • the cleaning device can easily cope with different room layouts. It also does not require the cleaning device to leave a trail on the floor during the cleaning operation so that the device can determine where it has previously travelled within the room.
  • Each further step inwards occurs when a comparison of monitored information from the sensors with previously stored information indicates that the present position of the cleaning device is the same, or almost the same, as a position that the cleaning device has visited on the same circuit.
  • a further problem with known robotic floor cleaning devices that have no advance knowledge of the layout of the floor area that they are cleaning is that they are incapable of determining when they have completely traversed the floor area.
  • the cleaning device progresses methodically towards the centre of the room.
  • the cleaning device can determine when it has reached the middle of the room.
  • One way for determining when the cleaning device has completely traversed a floor area is to associate stored information from each traverse, or circuit, of the floor area into strands and to determine when the strands converge, indicating that the floor area has been completely traversed. Any stored data which is not part of a strand that has converged is indicative of a part of the floor area that has not been completely traversed.
  • the navigation system of the cleaning device can store information about the direction at which the cleaning device turns at each of the points where it stores sensor information. This can be used on later circuits to help the cleaning device in deciding which way to turn.
  • the floor cleaning device carries a cleaner head or other cleaning mechanism that is generally of the same or similar width as the cleaning device.
  • the stepping inwardly or outwardly during the spiralling method is based upon the effective width of the cleaning mechanism carried by the cleaning device so that the floor area is properly covered.
  • the stepping distance is substantially one width of the cleaner head, or slightly less than one width of the cleaner head so that each traverse slightly overlaps with the previous traverse. This ensures full coverage of the floor area with the cleaning device travelling a minimum distance in a minimum length of time. This is an important concern with a cordless device that is capable of operating for a limited time, the operating time being dictated by the capacity of the on-board power supply.
  • other stepping distances can be used where a more thorough cleaning of the floor area is required.
  • the stepping distance can be selected by a user of the cleaning device.
  • the navigation system can be implemented entirely in hardware, in software running on a processor, or a combination of these. It can also be implemented as an application specific integrated circuit (ASIC). Accordingly, further aspects of the present invention provide software and a control apparatus for operating the cleaning device in the manner described herein.
  • the software is conveniently stored on a machine-readable medium such as a memory device.
  • Figure 1 shows a perspective view of one embodiment of a robotic cleaning device
  • Figure 2 shows a side view of the cleaning device of Figure 1;
  • Figure 3 shows a rear view of the cleaning device of Figure 1 ;
  • Figure 4 shows the cleaning device in a typical room and the measurements made by sensors on the device
  • Figure 5 schematically shows the control systems of the cleaning device of Figure 1 ;
  • Figures 6A and 6B show the cleaning device navigating around a room
  • Figure 7 shows a flow diagram of the method of controlling the cleaning device to navigate around a room in the manner shown in Figure 6;
  • Figure 8 shows the features of ultrasonic sensor measurements which are stored
  • Figure 9 shows the comparison of light detector measurements
  • Figure 10 shows a flow diagram of steps to store light detector measurements
  • FIGS 11A and 11B show two ultrasonic sensor measurements
  • Figure 12 shows a flow diagram of steps for comparing ultrasonic sensor measurements.
  • Figure 13 shows the software architecture for the cleaning device
  • Figures 14 to 17 show the cleaning device navigating around floor areas having different layouts.
  • Figure 1 of the drawings shows a robotic, or autonomous, floor cleaning device in the form of a robotic vacuum cleaner 100 comprising a main body or supporting chassis 102, two driven wheels 104, a brushbar housing 122, two rechargeable batteries 161 and 162, a dust separating apparatus in the form of a dual cyclonic separator 152 of the type more fully described in EP-A-0042723, a user interface 144, a light detector 17 and various sensors 202, 204, 206, 208, 210, 220, 230, 240, 250 which will be more fully described.
  • the light detector 17 detects light received from a plurality of compass points around the vacuum cleaner and is more particularly described in our co-pending International Patent Application No. [our reference GBP0099].
  • the supporting chassis 102 is generally circular in shape and is supported on the two driven wheels 104 and a castor wheel (106, Fig. 3).
  • the chassis 102 is preferably manufactured from high-strength moulded plastics material, such as ABS, but can equally be made from metal such as aluminium or steel.
  • the chassis 102 provides support for the components of the cleaner 100.
  • the driven wheels 104 are arranged at either end of a diameter of the chassis 102, the diameter lying perpendicular to the longitudinal axis of the cleaner 100.
  • Each driven wheel 104 is moulded from a high- strength plastics material and carries a comparatively soft, ridged band around its circumference to enhance the grip of the wheel 104 when the cleaner 100 is traversing a smooth floor.
  • the soft, ridged band also enhances the ability of the wheels 104 to mount and climb over small obstacles.
  • the driven wheels 104 are mounted independently of one another via support bearings (not shown) and each driven wheel 104 is connected directly to a motor (43, Figure 5) which is capable of driving the respective wheel 104 in either a forward direction or a reverse direction.
  • a full range of manoeuvres are possible by independently controlling each of the traction motors 43.
  • the cleaner 100 By driving both wheels 104 forward at the same speed, the cleaner 100 can be driven in a forward direction.
  • By driving both wheels 104 in a reverse direction at the same speed the cleaner 100 can be driven in a backward direction.
  • the cleaner 100 By driving the wheels 104 in opposite directions, the cleaner 100 can be made to rotate about its own central axis so as to effect a turning manoeuvre.
  • the aforementioned method of driving a vehicle is well known and will not therefore be described any further here.
  • a cleaner head 122 which includes a suction opening facing the surface on which the cleaner 100 is supported.
  • a brush bar is rotatably mounted in the suction opening and a motor (not shown) is mounted on the upper surface of the cleaner head 122 for driving the brush bar.
  • the cleaner head 122 is mounted on the chassis 102 in such a way that the cleaner head 122 is able to float on the surface to be cleaned. This is achieved in this embodiment in that the cleaner head 122 is pivotally connected to an arm (not shown) which in turn is pivotally connected to the underside of the chassis 102.
  • a flexible or telescopic conduit is located between a rear portion of the cleaner head 122 and an inlet port located in the chassis 102.
  • the cleaner head 122 is asymmetrically mounted on the chassis 102 so that one side of the cleaner head 122 protrudes beyond the general circumference of the chassis 102. This allows the cleaner 100 to clean close to the edge of a room on the side of the cleaner 100 on which the cleaner head 122 protrudes. In this embodiment the cleaner head 122 protrudes from the left-hand side of the cleaning device 100.
  • the chassis 102 carries a plurality of sensors which are designed and arranged to detect obstacles in the path of the cleaner 100 and its proximity to, for example, a wall or other boundary such as a piece of furniture.
  • the sensors comprise several ultrasonic sensors and several infra-red sensors. The array of sensors will be described in more detail below.
  • the vacuum cleaner 100 also includes a motor and fan unit 150 supported on the chassis 102 for drawing dirty air into the vacuum cleaner 100 via the suction opening 124 in the cleaner head 122.
  • the cyclonic separator 152 separates dirt and dust from the air drawn into the cleaner 100.
  • the cyclonic separator 152 is releasable from the chassis 102 in order to allow emptying of the cyclonic separator 152.
  • Two battery packs 161, 162 are located on the chassis 102 on either side of the cyclonic separator 152.
  • the vacuum cleaner 100 described above operates in the following manner.
  • the wheels 104 are driven by the motors 105 which, in turn, are powered by the batteries 161, 162.
  • the direction of movement of the cleaner 100 is determined by the control software which communicates with the sensors which are designed to detect any obstacles in the path of the cleaner 100 so as to navigate the cleaner 100 around the area to be cleaned.
  • the normal forward direction of the cleaner 100 is such that the cleaner head 122 trails behind the driven wheels 104.
  • the battery packs 161, 162 also power the motor and fan unit 150 which draws air into the cleaner 100 via the cleaner head 122 and passes it to the cyclonic separator 152 where the dirt and dust is separated from the airflow.
  • the battery packs 161, 162 are also used to power the motor which drives the brush bar which, in turn assists with pick-up, particularly on carpets.
  • the air which exits the cyclonic separator 152 is passed across the motor and fan unit 150 by appropriate ducting.
  • the sensor array forming part of the vacuum cleaner 100 will now be described in more detail.
  • the array comprises a plurality of ultrasonic sensors and a plurality of infra-red sensors.
  • the majority of the sensors are located in a forward surface 180 of the vacuum cleaner 100.
  • the forward surface 180 is substantially semi-circular in plan view.
  • Further sensors are located at the uppermost extremity of the cleaner 100, at the rear of the cleaner 100, immediately over the brush bar 122, and on the underside of the cleaner 100.
  • the robotic vacuum cleaner is also equipped with a plurality of infra-red transmitters 210a, 220, 226, 230a and infra-red receivers 225, a plurality of ultrasonic transmitters 202a, 204a, 206a, 208a and ultrasonic receivers 202b, 204b, 206b, 208b, threshold detectors (95, Fig. 5) for detecting the presence of a portable threshold locator placed, for example, at the entrance to a room or at the edge of a staircase and one or more pyroelectric or passive infra-red (PL ) detectors 240a, 240b for detecting heat sources near to the cleaning device, such as animals and fires.
  • PL pyroelectric or passive infra-red
  • the four main ultrasonic receivers 202b, 204b, 206b, 208b face forwards, rearwards and to opposite sides of the robotic vacuum cleaner.
  • the signals received by these receivers not only provide information representative of distance from a feature of the room or from an object in the room but the amplitude and width of the received signals vary according to the sensed size, shape and type of material of the object.
  • a first of the ultrasonic sensors 202 comprising an emitter 202a and a receiver 202b, is directed in a forward direction so that the emitted signals are transmitted in the normal forward direction of travel of the cleaner 100.
  • a second ultrasonic sensor 204 comprising an emitter 204a and a receiver 204b, is directed such that the emitted signals are transmitted outwardly to the left of the cleaner 100 in a direction which is perpendicular to the direction of transmission by the ultrasonic sensor 202.
  • a third ultrasonic sensor 206 comprising an emitter 206a and a receiver 206b, is directed such that the emitted signals are transmitted outwardly to the right of the cleaner 100 in a direction which is perpendicular to the direction of transmission by the ultrasonic sensor 202 and opposite to the direction of transmission by the ultrasonic sensor 204.
  • a fourth ultrasonic sensor 208 comprising an emitter 208a and a receiver 208b, is located in the rear of the cleaner 100 (see Figure 3) and is directed rearwardly so that the emitted signals are transmitted parallel to the normal forward direction of travel of the cleaner 100 but in the opposite direction.
  • the infra-red sensors provide a curtain of coverage around the forward face 180 of the cleaning device 100 which serve to prevent the cleaning device 100 from colliding with an obstacle, the infra-red sensors helping to fill-in any blind spots in the ultrasonic sensor coverage and to detect obstacles that the ultrasonics cannot.
  • the ultrasonic sensors provide more accurate distance information about the environment around the cleaning device and it is the ultrasonic data that is stored by the cleaning device for later comparison.
  • Figures 4A and 4B show what information the device receives from its sensors.
  • the Figures show the cleaning device 100 in a room that contains the obstacles of a table 400 and sofa 402.
  • Figure 4A shows the light compass measurements.
  • the cleaning device measures, using its light compass 17, light received from eight different directions (LI, L2, L3, L4, L5, L6, L7, L8). This combination of measurements has generally been found to be unique within a given room to within an area of several widths of the cleaning device.
  • the room in Figure 4A is illuminated by a combination of natural light from a window 702 and an artificial source 700. Light from the sources is reflected by objects 400, 402 and walls of the room before it reaches the light compass 17 on the cleaning device.
  • the cleaning device also has the set of ultrasonic sensors 202, 204, 206, 208.
  • Figure 4B shows the same room, illustrating the measurements made by the ultrasonic sensors.
  • the ultrasonic sensors are shown located at the front, left, right and back of the cleaning device.
  • Each ultrasonic sensor emits a beam of ultrasound which is reflected from multiple objects within the room.
  • Each ultrasonic sensor provides a signal US1, US2, US3, US4 which is indicative of the distance of objects from the cleaning device.
  • a combination of the light compass data L1..L8 and ultrasonic sensor data US1..US4 allows the cleaning device to uniquely identify its position within the room.
  • the circuit shown in Figure 5 comprises two rechargeable batteries 161, 162, a battery and motor management system 41, a motor 50 for driving a suction fan, traction motors 43 for driving the left and right hand wheels 104 of the vacuum cleaner, a motor 28 for driving the brush bar of the vacuum cleaner and processing circuitry 23, which includes a microprocessor and field programmable gate arrays (FPGA).
  • a user interface board 29 provides a plurality of user switches 75 by which a user can control the cleaning device and a plurality of indicator lamps 76 by which the cleaning device can indicate to the user.
  • the user interface board also couples to the light detector 17, as the upper face of the cleaning device provides the light detector with an unobstructed view of the environment.
  • a communications bus 70 couples the processing circuitry 23 to the battery and motor management system 512 and the user interface board 29.
  • a non-volatile memory 96 such as a ROM or FLASH ROM, stores the control software, another memory 97 is used during normal operation of the device.
  • the movement control sensors described above are coupled to the processing circuitry 23.
  • Figures 6 and 7 illustrate one method of operating the robotic vacuum cleaner to clean a room.
  • the method causes the cleaner to traverse the room in a generally spiralling manner.
  • the cleaner is, typically, placed alongside a wall or freely in the room.
  • a room feature (step 300).
  • the cleaning device finds a room feature (step 300).
  • the cleaning device then moves forwardly along the edge of the room. This period is called the "perimeter scan", as the machine follows the perimeter of the room as closely as possible, the machine keeping the wall (or other obstacle) close to the left-hand side of the machine.
  • the machine keeps the wall close to the left-hand side of the machine as this is the side from which the cleaner head 122 protrudes.
  • the various sensors on the cleaner detect obstacles in the room and other room features, such as corners of a room and fireplaces, and the processing circuitry 23 navigates the robotic vacuum cleaner in order to avoid any such obstacles and to change direction when a feature of a room is reached.
  • the processing circuitry 23 stores information received from the light detector 17 and also from the four main ultrasonic receivers 202b, 204b, 206b, 208b in memory 97. This is the information shown in figure 4. These points are called "way points". While the described embodiment uses readings from a light detector and ultrasonic sensors, readings from other sensors can be used.
  • the processing circuitry may also store information on the direction in which the cleaner turns at each change of direction.
  • the cleaner monitors the information received from the light detector 17 and the four ultrasonic receivers 202b, 204b, 206b, 208b and compares this with way point information previously stored (step 304).
  • the processing circuitry 23 determines that the robotic vacuum cleaner has completed a traverse around the room (step 306) and is programmed to cause the robotic vacuum cleaner to step inwards by substantially one cleaner width.
  • the processing circuitry 23 continues to store way point information and compares the information received from the light detector 17 and the four main receivers 202b, 204b, 206b, 208b with previously stored information (step 308).
  • the cleaner progresses around the room in a generally inwardly spiralling manner. As shown in Figure 6A, the vacuum cleaner starts from Position A and moves along the edge of the room in a clockwise direction. At Position B it senses the presence of the wall in front of it and turns 90° to the right. It will already know from the sensors that there is a wall on its left hand side. The cleaner then continues until it reaches Position C when it will sense the presence of the table and turns so as to run along the side of the table.
  • the cleaner is programmed to keep one side close to the nearest wall or obstacle or close to the most recently covered circuit of the room.
  • Position D it will turn to the left and move forwards along the front of the table until it reaches Position E when it will turn again to the left until it reaches Position F.
  • Position F it will sense the presence of the wall in front of it and will turn to the right and proceed along the wall until it reaches Position G. It will then turn right and pass through Position H until it reaches Position I.
  • the light detector 17 and the four ultrasonic receivers 202b, 204b, 206b, 208b will detect information which is the same or substantially the same as they detected at Position B.
  • the cleaner will move inwards by, or substantially by, one cleaner width and will then continue to follow the initial traverse around the room, but one cleaner width within that initial traverse, via way points J, K, L, M, N until it senses the existence of the sofa at Position O.
  • the cleaning device generally follows the perimeter of the room at a scan distance of one cleaner width from the wall. It stops whenever it reaches a corner, stopping at the scan distance from the wall. For example, the cleaning device stops at position N as it is one cleaner width from the end wall. After position O the cleaning device runs along the perimeter of the sofa until it reaches Position R when it will again follow the initial traverse around the room.
  • the machine returns to similar way points on different circuits, e.g.
  • FIG. 6A shows the cleaning device performing a perimeter scan and stopping at point I. This is possible if the cleaning device periodically takes sensor readings and compares them with stored readings. However, it is preferred that sensor readings are made and compared when the cleaning device is forced to change direction.
  • Figure 6B shows this preferred method of operation.
  • the cleaning device continues until it reaches position V .
  • the cleaning device stops at position F as it has reached the end wall and needs to change direction.
  • the cleaning device takes readings from its sensors and makes a comparison of this new data with stored data and recognises that point F is the same as point B and that the cleaning device has therefore completed one circuit of the floor area. This causes the cleaning device to step inwardly to begin the next circuit of the room. This is achieved by reversing to point I and then taking a waypoint reading at point I.
  • the cleaning device then rotates 90° to the right and moves forwardly at a new scan distance of one cleaner width from the wall.
  • the cleaning device stops at point T' as it is one cleaner width away from the end wall.
  • the cleaning device takes a waypoint reading and determines whether the sensor data is the same or substantially the same as data previously stored for that circuit. The cleaning device determines that this is a good match with the waypoint taken at I and therefore steps inwardly again by reversing to position T, taking a new waypoint, rotating 90° to the right and beginning a third circuit at a scan distance of two cleaner widths. The cleaning device continues in this manner. Taking a waypoint at position I, at the start of a new circuit, while the cleaning device is still facing forwards is advantageous as it allows a better match with the subsequent waypoint taken at T'.
  • the two sets of data that the cleaning device is attempting to match will have been taken at times when the cleaning device is facing in the same direction and separated only by the scan distance.
  • the light compass measurements and ultrasonic measurements should be similar and should be a good match.
  • the robotic vacuum cleaner If the robotic vacuum cleaner is initially placed in the middle of the room, away from any walls, it will travel until it finds a wall or obstacle. A user can help the cleaning device by aiming it towards a wall. If the cleaning device finds a wall it will then follow the path described above. If the cleaning device finds a feature (such as a central fireplace) or an obstacle in the centre of the room, it will complete a circuit around that feature or obstacle and then follow a generally outwardly spiral path. The cleaning device moves towards the wall (or feature) by monitoring information from the distance sensors and moving in a manner that brings the object nearer to the cleaning device.
  • a feature such as a central fireplace
  • the data stored by the cleaning device takes the form shown in the following table. For each way point, the light compass readings LI, L2..L8 and ultrasonic sensor readings Ul, U2, U3, U4 are stored.
  • the "links to other way points” indicates the relationship of the particular waypoint to other stored waypoints.
  • This information can include the identity of the waypoints which occur immediately before and after the particular waypoint, if this is not determined from the position of the waypoint in the database, as well as the identity of waypoints on other circuits that the waypoint is related to.
  • the data can be grouped, or a further label can be added to each waypoint, to identify the particular circuit number where the waypoint occurred.
  • the ultrasonic data comprises information about multiple objects appearing in the field of view of each of the sensors.
  • the ultrasonic sensors receive a waveform which comprises a modulated carrier wave, such as a 40kHz sine wave.
  • the modulation represents the objects appearing in the field of view of the sensor.
  • the processing circuitry 23 extracts data from the received waveform for storing in the waypoint database.
  • Figure 8 shows the envelope of an ultrasonic waveform 700.
  • the data which is stored is a matter of design choice, but can include the time where the first significant reflection occurs 701, representing the distance of an object from the cleaning device, the amplitude of the peak 702 and the end of the object 703.
  • a matching process attempts to match waypoint data with existing waypoint data. This is a complex task, and it can be lessened by adopting a methodical search through the waypoint database. New waypoint data is firstly matched with waypoints on the same circuit, followed by waypoints on the previous circuit, inspecting waypoints ahead of the current position first, as these are the Waypoints that are most likely to be a match. In comparing new data with stored waypoint data, it is possible that the cleaning device has approached the similar positions from different directions. Therefore, the two sets of data are compared a plurality of times, each comparison accounting for a relative rotation between the new and stored data. Two sets of data will rarely be a perfect match with one another, even when the two sets represent readings taken at the same position.
  • the comparison function allows for a certain margin of error between the two sets of readings and judges whether a new set of sensor data is related to another, previously stored set, such as a previously visited waypoint on the same circuit or a similarly positioned waypoint on another circuit, or whether it is a new waypoint.
  • the matching process searches for matches of new waypoint data with all of the previously stored waypoint data. The matching process does not stop when it finds a first match, but continues to search through the remainder of the waypoint database and by the end of the matching process it may be found that the new waypoint data matches with multiple of the stored waypoints. Multiple matches are expected when waypoint strands converge with one another, as described in more detail later for detecting completion of covering a floor area.
  • Figure 9 shows two sets of readings returned by the light compass 17.
  • Set 750 shows the readings for a first position of the cleaning device and 752 for a second position of the cleaning device. These are the measurements returned by the light detectors in each of the eight directions around the cleaning device.
  • Figure 10 shows the steps in the method of comparing two sets of light compass measurements. A difference is calculated between the detector measurements for each detector direction, this difference being shown at 754 in Figure 9. A total difference is calculated by summing the individual differences (in Figure 9 the total difference is 20) and this is divided by the number of light detecting devices (8 in Figure 9) to give an error metric.
  • the light detector can individually consider the dc (natural light) and ac (artificial light) components of the received light. Each of the dc and ac light components will generate a set of measurements of the type shown in Figure 9. The results of this comparison process is an error metric indicative of the similarity of the two sets of readings. An error metric is derived for each possible orientation of the two sets of measurements (eight in all.)
  • Figures 11A and 11B show two sets of processed ultrasonic measurements, showing only the amplitude and position of significant detected objects 710, 711, 712, 714, 715, 716, 717, 718.
  • Objects close to the cleaning device and significant objects in the distance have been found to be most reliable in the comparison of ultrasonic measurements.
  • One close object that is particularly reliable for matching is the wall that the cleaning device is tracking at a fixed distance.
  • Distant objects help to give a perspective of the global position of the cleaning device in a room.
  • Distant objects usually include the distant wall behind or to the right of the cleaning device and in irregularly-shaped rooms this can be a useful discriminant between positions.
  • Figure 12 shows the steps in matching two sets of ultrasonic sensor measurements.
  • the comparison uses all of the objects appearing in the trace, but particular weighting is given to those objects which are closest to the cleaning device and those distant objects falling within the region shown as 713 in Figure 11 A.
  • the comparison uses a window having a width of approximately twice the offset distance of the cleaning device between circuits (shown as 719 in Figure 11 A, B). Objects which appear in the other trace and which fall within this window are considered matched.
  • the results of this comparison process is an error metric indicative of the similarity of the two sets of readings.
  • An error metric is derived for each possible orientation of the two sets of measurements (four in all). It will be appreciated that other methods can be used to compare the sets of ultrasonic measurements.
  • the resulting set of error metrics can be weighted according to various criteria and finally compared with a threshold to decide whether a particular orientation of the two sets of measurements is good enough to represent a match.
  • determining whether two sets of data are equivalent to the same position on the same circuit or a similar position on adjacent circuits either the same matching criteria can be used or different matching criteria can be used. For example, in deciding whether two sets of data represent the same position on the same circuit harsher matching criteria can be used.
  • a ring buffer can be used to store the last n sets of results.
  • the value n typically is 8 sets, but can be much higher.
  • Information can be monitored every l A of a second or so.
  • These results are used by the navigation system at times when the cleaning device performs a proper match of waypoints.
  • the additional results stored in the ring buffer provide an additional degree of certainty for the comparison of waypoints being made at the room feature. If the waypoints at the room feature match (or can be associated with one another), and the additional results gathered during the period in which the cleaning device approached the room feature also indicate a match, then it is very likely that the waypoint match at the room feature is valid.
  • FIG. 13 shows the high-level software architecture of the system.
  • a state machine 500 reacts to various events that occur during use of the machine, such as user actions.
  • One such state is "autonomous operation" which controls movement of the cleaning device in an autonomous fashion.
  • behavioural tasks 501, 502, 503 which can control the cleaning device.
  • Behavioural tasks 501, 502, 503 operate when they are deemed competent to operate, this competency being determined by a decision network.
  • a waypoint database 510 stores the sensor data described above for waypoints visited by the cleaning device.
  • the waypoint matcher 511 performs the comparison of new sensor data, for the new position of the cleaning device, with waypoint data stored in the waypoint database.
  • the power system monitors the condition of the batteries.
  • the monitoring system 513 monitors for abnormal conditions, such as a person approaching the cleaning device while it is wandering around a room, or the collection bin becoming full.
  • a set of hardware drivers 530 provide an interface between the control software and the cleaning device hardware.
  • One type of hardware driver 530 interfaces the control software to the brushbar motor 28 and another hardware driver 530 interfaces the control software to the traction motors 43.
  • the cleaning device uses a set of tasks during operation in an autonomous state.
  • a first set of tasks are competent to operate during a perimeter scan.
  • a second set of tasks are competent to operate at times other than during a perimeter scan.
  • the set of tasks for use during a perimeter scan are:
  • Falling wall - this task allows the cleaning device to track a wall as it falls away on the left-hand side of the machine, i.e. a convex co er.
  • Wall follow - this task causes the cleaning device to follow the wall, on the left- hand side of the machine, as closely as possible.
  • Wander - this task causes the cleaning device to move into a clear space, and is used to help the cleaning device escape from a restricted area.
  • This task rotates the machine. This task is always competent, and operates until another task is competent to assume control of the cleaning device.
  • the set of tasks for use at other times are;
  • Falling wall this task allows the cleaning device to track a wall as it falls away on the left-hand side of the machine, a particular scan distance away from the machine.
  • Wall follow - this task causes the cleaning device to follow the wall, on the left hand side of the machine, at a particular distance, the distance being determined by the circuit number.
  • Orient - this task rotates the machine.
  • This task is always competent, and operates until another task is competent to assume control of the cleaning device.
  • the cleaning device determines when it has completely traversed a floor area.
  • One method of detecting when a floor area has been completely traversed is detect when the cleaning device can no longer perform a spiral.
  • the cleaning device has methodically spiralled inwardly, maintaining a scan distance from the walls of the room, the scan distance being incremented after each circuit of the floor area. Eventually, the cleaning device is unable to perform a circuit.
  • a preferred method of completion detection uses the strands of stored waypoint data.
  • Figures 14 to 17 show how the cleaning device performs completion detection with various floor layouts.
  • Figure 14 shows a room with a regular rectangularly-shaped floor area.
  • the cleaning device starts at, or moves across the floor to arrive at, point X adjacent the wall of the room.
  • the cleaning device firstly navigates around the outer edge of the room, visiting way points Al, Bl, Cl, Dl before returning to Al. It recognises Al, by comparison of the sensor data with stored data, as a previously visited point and then steps in by one cleaner width. It stores the sensor data for way point A2 and then begins a second circuit of the room at a distance of one cleaner width from the wall of the room, visiting waypoints B2, C2, D2. Upon arriving at point A2' the cleaner stops, as it is now one cleaner width from the end wall.
  • the cleaning device finds that it matches A2 from the beginning of the circuit and it therefore determines that it has returned to a previously visited point. It therefore steps in one further cleaner width and begins a further traverse of the room.
  • the cleaning device continues to move in this manner. It will be seen that the individual strands of way points: Al, A2, A3.., Bl, B2, B3.., Cl, C2, C3..., Dl, D2, D3... converge as the cleaning device progresses, the way points being located closer together with each traverse of the floor area. Eventually, the cleaning device performs a traverse which visits the way points A6, B6, C6, D6.
  • A6 and B6 are almost co-located, and C6 and D6 are co-located, or lie within one cleaner width of one another.
  • the cleaning device performs waypoint matching, it finds that point C6/D6 can be associated with both C5 and D5 so these waypoint strands have converged. Also, point A6 can be associated with B6 so these waypoint strands have also converged.
  • the navigation system detects convergence during the waypoint matching process. In performing waypoint matching, it finds that the waypoint data for the new waypoint matches data for several of the stored waypoints.
  • the cleaning device therefore finds itself alternating between the points B6 and C6 D6, separated by a strip of floor
  • the cleaning device recognises that the waypoint strands have converged and that it is visiting the same way points repeatedly and therefore determines that it must have completely covered the floor area
  • the cleaning device stops, indicates to the user that it has finished, and powers down.
  • Figure 15 shows the same room as Figure 14 but with a centrally positioned obstacle.
  • the cleaning device moves in the same manner as desc ⁇ bed above for Figure 14 However, after the traverse that visits the way points A4, B4, C4, D4, A4' it cannot move inwardly any further
  • the cleaning device recognises that it is visiting the same way points repeatedly and therefore determines that it must have completely covered the floor area
  • the cleaning device stops, indicates to the user that it has finished, and powers down
  • Figure 16 shows a different room having a square-shaped floor area
  • Figure 17 shows a more complex floor area, made up by two rooms and a connecting corridor Du ⁇ ng the first, outer, traverse of the floor area, the cleamng device visits points Al, Bl, Cl, Dl, El, FI, Gl, HI, Jl, Kl, LI, Ml Du ⁇ ng the second, traverse, two cleaner widths in from the outer wall the cleaning device visits points B2, C2, M2, A2
  • the connecting corridor is insufficiently wide for the cleaning device to enter at a distance of two cleaner widths from the wall
  • the cleaning device continues to spiral inwardly m the left-hand room, eventually arriving at the centre of the room at B5, which can be associated with B4, C4, M4 and A5 Therefore, the way point strands Al, A2.., B 1, B2.., Cl, C2 ., and Ml, M2..
  • the cleaning device recognises that there are way points which do not belong to strands that have converged These are the way points FI, Gl, HI, Jl They are neither separated by a distance of less than one cleaner width nor has the cleaner repeatedly visited these points Therefore, the cleaning device determines that the room is incomplete and moves to the incompletely covered area. It can do this by moving to the outer wall and following the wall until it reaches the way points that have not been associated with any other data. Should the connecting corridor have been wider than that shown in Figure 17, the cleaning device would have completed more than one traverse of the right-hand room.
  • the cleaning device managed two traverses of the room, the way points FI, F2; Gl, G2; HI, H2; Jl, J2 would have resulted.
  • the cleaning device would still recognise that these strands are not separated by a distance of less than one cleaner width and have not been repeatedly visited. Therefore, the cleaning device would still determine that the floor area has not been completely covered.
  • the cleaning device steps inwardly or outwardly by substantially the width of the cleaner head on the cleaner so that the cleaning device covers all of the floor surface in the minimum amount of time.
  • the distance by which the cleaning device steps inwardly or outwardly can have other values. For example, by stepping by only a fraction of the width of the cleaner head, such as one half of the width, the cleaning device overlaps with a previous traverse of the room which is desirable if a user requires a particularly thorough cleaning of the floor.
  • the step distance can be chosen by the user.
  • buttons can be incorporated in the user panel (144, Fig. 1), a remote control or both of these.
  • the cleaning device is not restricted to covering a single room at a time, but can be used to cover floor areas which are spread across several interconnected rooms.
  • the cleaner is fully autonomous and does not need to be fed a detailed map of the room and/or trained.
  • the memory may be wiped on Power Off so that information stored is not retained for future use. Alternatively, the information could be stored for future use in the same room.

Abstract

A robotic floor cleaning device is arranged so that it firstly completes a traverse around the edge of a room (A-I), avoiding any obstacles in its path, and then moves inwards (at I) and completes a second traverse of the room. The cleaning device continues to move inwards after each traverse (e.g. at T) so as to travel in a generally inwardly spiral manner until the floor of the room, apart from areas occupied by obstacles (400, 402), has been cleaned. Preferably, the distance by which the cleaning device moves inwardly after each traverse of the room is substantially the width of the cleaning head of the cleaning device, or a distance set by the user. The cleaning device seeks a wall of the room if it is started from a position (W) away from a wall. The cleaning device can determine when it has completely traversed a room.

Description

IMPROVEMENTS IN OR RELATING TO FLOOR CLEANING DEVICES
This invention relates to a robotic floor cleaning device, a method of operating a robotic floor cleaning device, and to software and a control apparatus for performing the method. The invention can be used in a robotic vacuum cleaning device.
There have been a number of proposals to provide robotic or autonomous vacuum cleaning devices which can clean a floor area without the need for a human user to push or drag the cleaning device along the floor. It is known to provide vacuum cleaners which are fed a detailed map of a room and which are then trained to reciprocate to and fro from one side or one end of a room to the other side or other end of the room. It is also known to provide a robotic vacuum cleaner which is lead around a room in a training cycle and which will then repeat the cycle from information stored in memory. A robotic vacuum cleaner has also been proposed which travels round the edge of a room and then moves about the room in a random fashion deflecting off obstacles as it moves around.
DE 35 36 974 Al shows a floor cleaning device which performs a spiralling path over a surface to be cleaned. It requires a wet or dust trail to be deposited on the surface to be cleaned in order that the machine can follow this spiral path.
The present invention seeks to provide a robotic vacuum cleaner which minimises or overcomes disadvantages with the prior art. In particular, the present invention seeks to provide a robotic vacuum cleaner that can cover a floor area without the need for advance knowledge of the layout of the floor area and which does not leave a trail on the floor.
A first aspect of the present invention provides method of operating a robotic floor cleaning device so that the floor cleaning device:
(a) firstly completes a traverse around the edge of a room (or around a feature of the room or an object in the room) avoiding any obstacles in its path, monitoring and storing information from detectors during the traverse, and
(b) when it is determined that monitored information from detectors is the same or substantially the same as previously stored information, the floor cleaning device moves inwards (or outwards) and completes a second traverse, the cleaning device continuing to move inwards (or outwards) after each traverse so as to travel in a generally inwardly (or outwardly) spiral manner until the floor of the room, apart from areas occupied by obstacles, has been cleaned.
Another aspect of the invention provides a robotic floor cleaning device comprising: power operated means for moving the cleaning device along the floor, and a navigation system, including sensors and a memory means, for navigating the cleaning device around the room, the navigation system being arranged to: (a) firstly cause the cleaning device to complete a traverse around the edge of a room (or around a feature of the room or an object in the room) avoiding any obstacles in its path, monitoring and storing information from the sensors in the memory during the traverse, and (b) when it is determined that monitored information from the sensors is the same or substantially the same as previously stored information, cause the device to move inwards (or outwards) and complete a second traverse, the device continuing to move inwards (or outwards) after each completed traverse so as to travel in a generally inwardly (or outwardly) spiral manner until the floor of the room, apart from areas occupied by obstacles, has been cleaned.
By following a spiralling pattern, the floor cleaning device can cover the complete floor area in an efficient manner. This method has the advantage that the floor cleaning device does not need to be programmed with advance knowledge of the layout of the floor area, or the need to maintain a cartesian map of the floor area. This can simplify the processing requirements of the controller of the cleaning device and avoids the need for a user to train the device or to load and update a map of the floor area that the device is to clean. Thus, the cleaning device can easily cope with different room layouts. It also does not require the cleaning device to leave a trail on the floor during the cleaning operation so that the device can determine where it has previously travelled within the room.
Each further step inwards (or outwards) occurs when a comparison of monitored information from the sensors with previously stored information indicates that the present position of the cleaning device is the same, or almost the same, as a position that the cleaning device has visited on the same circuit.
A further problem with known robotic floor cleaning devices that have no advance knowledge of the layout of the floor area that they are cleaning is that they are incapable of determining when they have completely traversed the floor area. By performing an inwardly spiralling coverage pattern of the floor area, the cleaning device progresses methodically towards the centre of the room. The cleaning device can determine when it has reached the middle of the room. One way for determining when the cleaning device has completely traversed a floor area is to associate stored information from each traverse, or circuit, of the floor area into strands and to determine when the strands converge, indicating that the floor area has been completely traversed. Any stored data which is not part of a strand that has converged is indicative of a part of the floor area that has not been completely traversed.
The navigation system of the cleaning device can store information about the direction at which the cleaning device turns at each of the points where it stores sensor information. This can be used on later circuits to help the cleaning device in deciding which way to turn.
The floor cleaning device carries a cleaner head or other cleaning mechanism that is generally of the same or similar width as the cleaning device. It will be appreciated that the stepping inwardly or outwardly during the spiralling method is based upon the effective width of the cleaning mechanism carried by the cleaning device so that the floor area is properly covered. Preferably the stepping distance is substantially one width of the cleaner head, or slightly less than one width of the cleaner head so that each traverse slightly overlaps with the previous traverse. This ensures full coverage of the floor area with the cleaning device travelling a minimum distance in a minimum length of time. This is an important concern with a cordless device that is capable of operating for a limited time, the operating time being dictated by the capacity of the on-board power supply. However, other stepping distances can be used where a more thorough cleaning of the floor area is required. Preferably, the stepping distance can be selected by a user of the cleaning device.
The navigation system can be implemented entirely in hardware, in software running on a processor, or a combination of these. It can also be implemented as an application specific integrated circuit (ASIC). Accordingly, further aspects of the present invention provide software and a control apparatus for operating the cleaning device in the manner described herein. The software is conveniently stored on a machine-readable medium such as a memory device.
Embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings, in which:-
Figure 1 shows a perspective view of one embodiment of a robotic cleaning device;
Figure 2 shows a side view of the cleaning device of Figure 1;
Figure 3 shows a rear view of the cleaning device of Figure 1 ;
Figure 4 shows the cleaning device in a typical room and the measurements made by sensors on the device;
Figure 5 schematically shows the control systems of the cleaning device of Figure 1 ;
Figures 6A and 6B show the cleaning device navigating around a room; Figure 7 shows a flow diagram of the method of controlling the cleaning device to navigate around a room in the manner shown in Figure 6;
Figure 8 shows the features of ultrasonic sensor measurements which are stored;
Figure 9 shows the comparison of light detector measurements;
Figure 10 shows a flow diagram of steps to store light detector measurements;
Figures 11A and 11B show two ultrasonic sensor measurements;
Figure 12 shows a flow diagram of steps for comparing ultrasonic sensor measurements.
Figure 13 shows the software architecture for the cleaning device;
Figures 14 to 17 show the cleaning device navigating around floor areas having different layouts.
Figure 1 of the drawings shows a robotic, or autonomous, floor cleaning device in the form of a robotic vacuum cleaner 100 comprising a main body or supporting chassis 102, two driven wheels 104, a brushbar housing 122, two rechargeable batteries 161 and 162, a dust separating apparatus in the form of a dual cyclonic separator 152 of the type more fully described in EP-A-0042723, a user interface 144, a light detector 17 and various sensors 202, 204, 206, 208, 210, 220, 230, 240, 250 which will be more fully described. The light detector 17 detects light received from a plurality of compass points around the vacuum cleaner and is more particularly described in our co-pending International Patent Application No. [our reference GBP0099]. The supporting chassis 102 is generally circular in shape and is supported on the two driven wheels 104 and a castor wheel (106, Fig. 3). The chassis 102 is preferably manufactured from high-strength moulded plastics material, such as ABS, but can equally be made from metal such as aluminium or steel. The chassis 102 provides support for the components of the cleaner 100. The driven wheels 104 are arranged at either end of a diameter of the chassis 102, the diameter lying perpendicular to the longitudinal axis of the cleaner 100. Each driven wheel 104 is moulded from a high- strength plastics material and carries a comparatively soft, ridged band around its circumference to enhance the grip of the wheel 104 when the cleaner 100 is traversing a smooth floor. The soft, ridged band also enhances the ability of the wheels 104 to mount and climb over small obstacles. The driven wheels 104 are mounted independently of one another via support bearings (not shown) and each driven wheel 104 is connected directly to a motor (43, Figure 5) which is capable of driving the respective wheel 104 in either a forward direction or a reverse direction. A full range of manoeuvres are possible by independently controlling each of the traction motors 43. By driving both wheels 104 forward at the same speed, the cleaner 100 can be driven in a forward direction. By driving both wheels 104 in a reverse direction at the same speed, the cleaner 100 can be driven in a backward direction. By driving the wheels 104 in opposite directions, the cleaner 100 can be made to rotate about its own central axis so as to effect a turning manoeuvre. The aforementioned method of driving a vehicle is well known and will not therefore be described any further here.
Mounted on the underside of the chassis 102 is a cleaner head 122 which includes a suction opening facing the surface on which the cleaner 100 is supported. A brush bar is rotatably mounted in the suction opening and a motor (not shown) is mounted on the upper surface of the cleaner head 122 for driving the brush bar. The cleaner head 122 is mounted on the chassis 102 in such a way that the cleaner head 122 is able to float on the surface to be cleaned. This is achieved in this embodiment in that the cleaner head 122 is pivotally connected to an arm (not shown) which in turn is pivotally connected to the underside of the chassis 102. The double articulation of the connection between the cleaner head 122 and the chassis 102 allows the cleaner head to move freely in a vertical direction with respect to the chassis 102. This enables the cleaner head to climb over small obstacles such as books, magazines, rug edges, etc. A flexible or telescopic conduit is located between a rear portion of the cleaner head 122 and an inlet port located in the chassis 102.
The cleaner head 122 is asymmetrically mounted on the chassis 102 so that one side of the cleaner head 122 protrudes beyond the general circumference of the chassis 102. This allows the cleaner 100 to clean close to the edge of a room on the side of the cleaner 100 on which the cleaner head 122 protrudes. In this embodiment the cleaner head 122 protrudes from the left-hand side of the cleaning device 100.
The chassis 102 carries a plurality of sensors which are designed and arranged to detect obstacles in the path of the cleaner 100 and its proximity to, for example, a wall or other boundary such as a piece of furniture. The sensors comprise several ultrasonic sensors and several infra-red sensors. The array of sensors will be described in more detail below.
The vacuum cleaner 100 also includes a motor and fan unit 150 supported on the chassis 102 for drawing dirty air into the vacuum cleaner 100 via the suction opening 124 in the cleaner head 122. The cyclonic separator 152 separates dirt and dust from the air drawn into the cleaner 100. The cyclonic separator 152 is releasable from the chassis 102 in order to allow emptying of the cyclonic separator 152. Two battery packs 161, 162 are located on the chassis 102 on either side of the cyclonic separator 152.
The vacuum cleaner 100 described above operates in the following manner. In order for the cleaner 100 to traverse the area to be cleaned, the wheels 104 are driven by the motors 105 which, in turn, are powered by the batteries 161, 162. The direction of movement of the cleaner 100 is determined by the control software which communicates with the sensors which are designed to detect any obstacles in the path of the cleaner 100 so as to navigate the cleaner 100 around the area to be cleaned. The normal forward direction of the cleaner 100 is such that the cleaner head 122 trails behind the driven wheels 104. The battery packs 161, 162 also power the motor and fan unit 150 which draws air into the cleaner 100 via the cleaner head 122 and passes it to the cyclonic separator 152 where the dirt and dust is separated from the airflow. The battery packs 161, 162 are also used to power the motor which drives the brush bar which, in turn assists with pick-up, particularly on carpets. The air which exits the cyclonic separator 152 is passed across the motor and fan unit 150 by appropriate ducting.
The sensor array forming part of the vacuum cleaner 100 will now be described in more detail. The array comprises a plurality of ultrasonic sensors and a plurality of infra-red sensors. The majority of the sensors are located in a forward surface 180 of the vacuum cleaner 100. The forward surface 180 is substantially semi-circular in plan view. Further sensors are located at the uppermost extremity of the cleaner 100, at the rear of the cleaner 100, immediately over the brush bar 122, and on the underside of the cleaner 100.
The robotic vacuum cleaner is also equipped with a plurality of infra-red transmitters 210a, 220, 226, 230a and infra-red receivers 225, a plurality of ultrasonic transmitters 202a, 204a, 206a, 208a and ultrasonic receivers 202b, 204b, 206b, 208b, threshold detectors (95, Fig. 5) for detecting the presence of a portable threshold locator placed, for example, at the entrance to a room or at the edge of a staircase and one or more pyroelectric or passive infra-red (PL ) detectors 240a, 240b for detecting heat sources near to the cleaning device, such as animals and fires. The four main ultrasonic receivers 202b, 204b, 206b, 208b face forwards, rearwards and to opposite sides of the robotic vacuum cleaner. The signals received by these receivers not only provide information representative of distance from a feature of the room or from an object in the room but the amplitude and width of the received signals vary according to the sensed size, shape and type of material of the object.
Three of the ultrasonic sensors 202, 204 and 206, each consisting of an ultrasonic emitter and an ultrasonic receiver, are positioned in the forward surface 180. A first of the ultrasonic sensors 202, comprising an emitter 202a and a receiver 202b, is directed in a forward direction so that the emitted signals are transmitted in the normal forward direction of travel of the cleaner 100. A second ultrasonic sensor 204, comprising an emitter 204a and a receiver 204b, is directed such that the emitted signals are transmitted outwardly to the left of the cleaner 100 in a direction which is perpendicular to the direction of transmission by the ultrasonic sensor 202. A third ultrasonic sensor 206, comprising an emitter 206a and a receiver 206b, is directed such that the emitted signals are transmitted outwardly to the right of the cleaner 100 in a direction which is perpendicular to the direction of transmission by the ultrasonic sensor 202 and opposite to the direction of transmission by the ultrasonic sensor 204. A fourth ultrasonic sensor 208, comprising an emitter 208a and a receiver 208b, is located in the rear of the cleaner 100 (see Figure 3) and is directed rearwardly so that the emitted signals are transmitted parallel to the normal forward direction of travel of the cleaner 100 but in the opposite direction. These four sensors 202, 204, 206, 208 detect the presence of walls and obstacles to the front, left, right and rear of the cleaner 100.
The infra-red sensors provide a curtain of coverage around the forward face 180 of the cleaning device 100 which serve to prevent the cleaning device 100 from colliding with an obstacle, the infra-red sensors helping to fill-in any blind spots in the ultrasonic sensor coverage and to detect obstacles that the ultrasonics cannot. The ultrasonic sensors provide more accurate distance information about the environment around the cleaning device and it is the ultrasonic data that is stored by the cleaning device for later comparison.
Figures 4A and 4B show what information the device receives from its sensors. The Figures show the cleaning device 100 in a room that contains the obstacles of a table 400 and sofa 402. Figure 4A shows the light compass measurements. The cleaning device measures, using its light compass 17, light received from eight different directions (LI, L2, L3, L4, L5, L6, L7, L8). This combination of measurements has generally been found to be unique within a given room to within an area of several widths of the cleaning device. The room in Figure 4A is illuminated by a combination of natural light from a window 702 and an artificial source 700. Light from the sources is reflected by objects 400, 402 and walls of the room before it reaches the light compass 17 on the cleaning device. In addition to the light compass 17, the cleaning device also has the set of ultrasonic sensors 202, 204, 206, 208. Figure 4B shows the same room, illustrating the measurements made by the ultrasonic sensors. The ultrasonic sensors are shown located at the front, left, right and back of the cleaning device. Each ultrasonic sensor emits a beam of ultrasound which is reflected from multiple objects within the room. Each ultrasonic sensor provides a signal US1, US2, US3, US4 which is indicative of the distance of objects from the cleaning device. A combination of the light compass data L1..L8 and ultrasonic sensor data US1..US4 allows the cleaning device to uniquely identify its position within the room.
The circuit shown in Figure 5 comprises two rechargeable batteries 161, 162, a battery and motor management system 41, a motor 50 for driving a suction fan, traction motors 43 for driving the left and right hand wheels 104 of the vacuum cleaner, a motor 28 for driving the brush bar of the vacuum cleaner and processing circuitry 23, which includes a microprocessor and field programmable gate arrays (FPGA). A user interface board 29 provides a plurality of user switches 75 by which a user can control the cleaning device and a plurality of indicator lamps 76 by which the cleaning device can indicate to the user. The user interface board also couples to the light detector 17, as the upper face of the cleaning device provides the light detector with an unobstructed view of the environment. The microprocessor and FPGA share tasks, with the FPGA mainly being used to process data from the ultrasonic sensors, extracting the important information from the signals received by the ultrasonic receivers. A communications bus 70 couples the processing circuitry 23 to the battery and motor management system 512 and the user interface board 29.
A non-volatile memory 96, such as a ROM or FLASH ROM, stores the control software, another memory 97 is used during normal operation of the device. The movement control sensors described above are coupled to the processing circuitry 23.
Figures 6 and 7 illustrate one method of operating the robotic vacuum cleaner to clean a room. The method causes the cleaner to traverse the room in a generally spiralling manner. The cleaner is, typically, placed alongside a wall or freely in the room. Firstly, it finds a room feature (step 300). Preferably this is a wall of the room or a major object or feature in the room. Once it has found a room feature, the cleaning device then moves forwardly along the edge of the room. This period is called the "perimeter scan", as the machine follows the perimeter of the room as closely as possible, the machine keeping the wall (or other obstacle) close to the left-hand side of the machine. The machine keeps the wall close to the left-hand side of the machine as this is the side from which the cleaner head 122 protrudes. The various sensors on the cleaner detect obstacles in the room and other room features, such as corners of a room and fireplaces, and the processing circuitry 23 navigates the robotic vacuum cleaner in order to avoid any such obstacles and to change direction when a feature of a room is reached. At each change of direction caused by reaching a feature of the room, the processing circuitry 23 stores information received from the light detector 17 and also from the four main ultrasonic receivers 202b, 204b, 206b, 208b in memory 97. This is the information shown in figure 4. These points are called "way points". While the described embodiment uses readings from a light detector and ultrasonic sensors, readings from other sensors can be used. The processing circuitry may also store information on the direction in which the cleaner turns at each change of direction. Each time a way point is reached the cleaner monitors the information received from the light detector 17 and the four ultrasonic receivers 202b, 204b, 206b, 208b and compares this with way point information previously stored (step 304). When the robotic vacuum cleaner reaches a position in which the information received from the light detector 17 and the four ultrasonic receivers 202b, 204b, 206b, 208b is the same or substantially the same as information previously stored, the processing circuitry 23 determines that the robotic vacuum cleaner has completed a traverse around the room (step 306) and is programmed to cause the robotic vacuum cleaner to step inwards by substantially one cleaner width. The processing circuitry 23 continues to store way point information and compares the information received from the light detector 17 and the four main receivers 202b, 204b, 206b, 208b with previously stored information (step 308). The cleaner progresses around the room in a generally inwardly spiralling manner. As shown in Figure 6A, the vacuum cleaner starts from Position A and moves along the edge of the room in a clockwise direction. At Position B it senses the presence of the wall in front of it and turns 90° to the right. It will already know from the sensors that there is a wall on its left hand side. The cleaner then continues until it reaches Position C when it will sense the presence of the table and turns so as to run along the side of the table. The cleaner is programmed to keep one side close to the nearest wall or obstacle or close to the most recently covered circuit of the room. Thus, when it reaches Position D it will turn to the left and move forwards along the front of the table until it reaches Position E when it will turn again to the left until it reaches Position F. At Position F, it will sense the presence of the wall in front of it and will turn to the right and proceed along the wall until it reaches Position G. It will then turn right and pass through Position H until it reaches Position I. At Position I, the light detector 17 and the four ultrasonic receivers 202b, 204b, 206b, 208b will detect information which is the same or substantially the same as they detected at Position B. At this point, the cleaner will move inwards by, or substantially by, one cleaner width and will then continue to follow the initial traverse around the room, but one cleaner width within that initial traverse, via way points J, K, L, M, N until it senses the existence of the sofa at Position O. The cleaning device generally follows the perimeter of the room at a scan distance of one cleaner width from the wall. It stops whenever it reaches a corner, stopping at the scan distance from the wall. For example, the cleaning device stops at position N as it is one cleaner width from the end wall. After position O the cleaning device runs along the perimeter of the sofa until it reaches Position R when it will again follow the initial traverse around the room. When the machine returns to similar way points on different circuits, e.g. way points C and J, or G and N, information on the two points is associated with one another in memory in order to build up an information strand. This tells the cleaner that it has returned to a similar position in the room. Strands should converge towards each other as the cleaning device progresses. These strands can be used to determine when a room has been completely traversed. Any waypoints which have not been associated with later waypoints are indicative of parts of the room which have not been completely covered by the cleaning device. Figure 6A shows the cleaning device performing a perimeter scan and stopping at point I. This is possible if the cleaning device periodically takes sensor readings and compares them with stored readings. However, it is preferred that sensor readings are made and compared when the cleaning device is forced to change direction. Figure 6B shows this preferred method of operation. During the perimeter scan, the cleaning device continues until it reaches position V . The cleaning device stops at position F as it has reached the end wall and needs to change direction. The cleaning device takes readings from its sensors and makes a comparison of this new data with stored data and recognises that point F is the same as point B and that the cleaning device has therefore completed one circuit of the floor area. This causes the cleaning device to step inwardly to begin the next circuit of the room. This is achieved by reversing to point I and then taking a waypoint reading at point I. The cleaning device then rotates 90° to the right and moves forwardly at a new scan distance of one cleaner width from the wall. During the second circuit the cleaning device stops at point T' as it is one cleaner width away from the end wall. The cleaning device takes a waypoint reading and determines whether the sensor data is the same or substantially the same as data previously stored for that circuit. The cleaning device determines that this is a good match with the waypoint taken at I and therefore steps inwardly again by reversing to position T, taking a new waypoint, rotating 90° to the right and beginning a third circuit at a scan distance of two cleaner widths. The cleaning device continues in this manner. Taking a waypoint at position I, at the start of a new circuit, while the cleaning device is still facing forwards is advantageous as it allows a better match with the subsequent waypoint taken at T'. At points I and T' the two sets of data that the cleaning device is attempting to match will have been taken at times when the cleaning device is facing in the same direction and separated only by the scan distance. Thus, the light compass measurements and ultrasonic measurements should be similar and should be a good match.
If the robotic vacuum cleaner is initially placed in the middle of the room, away from any walls, it will travel until it finds a wall or obstacle. A user can help the cleaning device by aiming it towards a wall. If the cleaning device finds a wall it will then follow the path described above. If the cleaning device finds a feature (such as a central fireplace) or an obstacle in the centre of the room, it will complete a circuit around that feature or obstacle and then follow a generally outwardly spiral path. The cleaning device moves towards the wall (or feature) by monitoring information from the distance sensors and moving in a manner that brings the object nearer to the cleaning device.
The data stored by the cleaning device takes the form shown in the following table. For each way point, the light compass readings LI, L2..L8 and ultrasonic sensor readings Ul, U2, U3, U4 are stored.
Figure imgf000016_0001
The "links to other way points" indicates the relationship of the particular waypoint to other stored waypoints. This information can include the identity of the waypoints which occur immediately before and after the particular waypoint, if this is not determined from the position of the waypoint in the database, as well as the identity of waypoints on other circuits that the waypoint is related to. The data can be grouped, or a further label can be added to each waypoint, to identify the particular circuit number where the waypoint occurred.
The ultrasonic data comprises information about multiple objects appearing in the field of view of each of the sensors. The ultrasonic sensors receive a waveform which comprises a modulated carrier wave, such as a 40kHz sine wave. The modulation represents the objects appearing in the field of view of the sensor. The processing circuitry 23 extracts data from the received waveform for storing in the waypoint database. Figure 8 shows the envelope of an ultrasonic waveform 700. The data which is stored is a matter of design choice, but can include the time where the first significant reflection occurs 701, representing the distance of an object from the cleaning device, the amplitude of the peak 702 and the end of the object 703.
A matching process attempts to match waypoint data with existing waypoint data. This is a complex task, and it can be lessened by adopting a methodical search through the waypoint database. New waypoint data is firstly matched with waypoints on the same circuit, followed by waypoints on the previous circuit, inspecting waypoints ahead of the current position first, as these are the Waypoints that are most likely to be a match. In comparing new data with stored waypoint data, it is possible that the cleaning device has approached the similar positions from different directions. Therefore, the two sets of data are compared a plurality of times, each comparison accounting for a relative rotation between the new and stored data. Two sets of data will rarely be a perfect match with one another, even when the two sets represent readings taken at the same position. When the two sets of readings represent •similar positions on two adjacent circuits the similarity will be lessened. Therefore, the comparison function allows for a certain margin of error between the two sets of readings and judges whether a new set of sensor data is related to another, previously stored set, such as a previously visited waypoint on the same circuit or a similarly positioned waypoint on another circuit, or whether it is a new waypoint. Where the processing power of the processing circuitry allows, it is preferred that the matching process searches for matches of new waypoint data with all of the previously stored waypoint data. The matching process does not stop when it finds a first match, but continues to search through the remainder of the waypoint database and by the end of the matching process it may be found that the new waypoint data matches with multiple of the stored waypoints. Multiple matches are expected when waypoint strands converge with one another, as described in more detail later for detecting completion of covering a floor area.
An example of how the matching process can be performed will now be described. Figure 9 shows two sets of readings returned by the light compass 17. Set 750 shows the readings for a first position of the cleaning device and 752 for a second position of the cleaning device. These are the measurements returned by the light detectors in each of the eight directions around the cleaning device. Figure 10 shows the steps in the method of comparing two sets of light compass measurements. A difference is calculated between the detector measurements for each detector direction, this difference being shown at 754 in Figure 9. A total difference is calculated by summing the individual differences (in Figure 9 the total difference is 20) and this is divided by the number of light detecting devices (8 in Figure 9) to give an error metric. It will be appreciated that other comparison methods can be used, such as calculating the Euclidean distance between the two sets of measurements. The light detector can individually consider the dc (natural light) and ac (artificial light) components of the received light. Each of the dc and ac light components will generate a set of measurements of the type shown in Figure 9. The results of this comparison process is an error metric indicative of the similarity of the two sets of readings. An error metric is derived for each possible orientation of the two sets of measurements (eight in all.)
Figures 11A and 11B show two sets of processed ultrasonic measurements, showing only the amplitude and position of significant detected objects 710, 711, 712, 714, 715, 716, 717, 718. Objects close to the cleaning device and significant objects in the distance have been found to be most reliable in the comparison of ultrasonic measurements. One close object that is particularly reliable for matching is the wall that the cleaning device is tracking at a fixed distance. Distant objects help to give a perspective of the global position of the cleaning device in a room. Distant objects usually include the distant wall behind or to the right of the cleaning device and in irregularly-shaped rooms this can be a useful discriminant between positions. Figure 12 shows the steps in matching two sets of ultrasonic sensor measurements. The comparison uses all of the objects appearing in the trace, but particular weighting is given to those objects which are closest to the cleaning device and those distant objects falling within the region shown as 713 in Figure 11 A. The comparison uses a window having a width of approximately twice the offset distance of the cleaning device between circuits (shown as 719 in Figure 11 A, B). Objects which appear in the other trace and which fall within this window are considered matched. The results of this comparison process is an error metric indicative of the similarity of the two sets of readings. An error metric is derived for each possible orientation of the two sets of measurements (four in all). It will be appreciated that other methods can be used to compare the sets of ultrasonic measurements.
The resulting set of error metrics can be weighted according to various criteria and finally compared with a threshold to decide whether a particular orientation of the two sets of measurements is good enough to represent a match. In determining whether two sets of data are equivalent to the same position on the same circuit or a similar position on adjacent circuits, either the same matching criteria can be used or different matching criteria can be used. For example, in deciding whether two sets of data represent the same position on the same circuit harsher matching criteria can be used.
It has been found that it is not necessary to store the waypoint data of every point at which the cleaning device changes direction. Some waypoints are particularly difficult to match and can cause confusion. Waypoints which result from the cleaning device tracking a falling wall, i.e. a wall which leads away from the cleaner rather than towards it, do not need to be stored. It is advantageous to store only essential waypoints, as this minimises the data processing requirements of the cleaning device since the processing circuitry has less sets of waypoint data to match new waypoint data with. It has been found to be advantageous to periodically monitor information from the sensors and to perform a comparison of the monitored information with stored waypoints in the waypoint database, even when the cleaning device has not reached a room feature. Only the results of the best matches of the new information with the existing waypoints need to be stored, rather than the raw data returned by the sensors, and these results need only be stored for a limited period of time. A ring buffer can be used to store the last n sets of results. The value n typically is 8 sets, but can be much higher. Information can be monitored every lA of a second or so. These results are used by the navigation system at times when the cleaning device performs a proper match of waypoints. The additional results stored in the ring buffer provide an additional degree of certainty for the comparison of waypoints being made at the room feature. If the waypoints at the room feature match (or can be associated with one another), and the additional results gathered during the period in which the cleaning device approached the room feature also indicate a match, then it is very likely that the waypoint match at the room feature is valid.
Figure 13 shows the high-level software architecture of the system. A state machine 500 reacts to various events that occur during use of the machine, such as user actions. One such state is "autonomous operation" which controls movement of the cleaning device in an autonomous fashion. In each state, there are a number of behavioural tasks 501, 502, 503 which can control the cleaning device. Behavioural tasks 501, 502, 503 operate when they are deemed competent to operate, this competency being determined by a decision network. There is also a plurality of support tasks 510 - 513; these are tasks which operate whenever the cleaning device is in use or which are used by a number of other states or tasks. A waypoint database 510 stores the sensor data described above for waypoints visited by the cleaning device. The waypoint matcher 511 performs the comparison of new sensor data, for the new position of the cleaning device, with waypoint data stored in the waypoint database. The power system monitors the condition of the batteries. The monitoring system 513 monitors for abnormal conditions, such as a person approaching the cleaning device while it is wandering around a room, or the collection bin becoming full. At the lowest level, a set of hardware drivers 530 provide an interface between the control software and the cleaning device hardware. One type of hardware driver 530 interfaces the control software to the brushbar motor 28 and another hardware driver 530 interfaces the control software to the traction motors 43.
The cleaning device uses a set of tasks during operation in an autonomous state. A first set of tasks are competent to operate during a perimeter scan. A second set of tasks are competent to operate at times other than during a perimeter scan. The set of tasks for use during a perimeter scan are:
Falling wall - this task allows the cleaning device to track a wall as it falls away on the left-hand side of the machine, i.e. a convex co er.
Wall follow - this task causes the cleaning device to follow the wall, on the left- hand side of the machine, as closely as possible. Wander - this task causes the cleaning device to move into a clear space, and is used to help the cleaning device escape from a restricted area.
Orient - this task rotates the machine. This task is always competent, and operates until another task is competent to assume control of the cleaning device.
The set of tasks for use at other times are;
Falling wall - this task allows the cleaning device to track a wall as it falls away on the left-hand side of the machine, a particular scan distance away from the machine.
Wall follow - this task causes the cleaning device to follow the wall, on the left hand side of the machine, at a particular distance, the distance being determined by the circuit number.
Wander - this task causes the cleaning device to move until it finds a wall if it becomes lost.
Orient - this task rotates the machine. This task is always competent, and operates until another task is competent to assume control of the cleaning device. The cleaning device determines when it has completely traversed a floor area. One method of detecting when a floor area has been completely traversed is detect when the cleaning device can no longer perform a spiral. The cleaning device has methodically spiralled inwardly, maintaining a scan distance from the walls of the room, the scan distance being incremented after each circuit of the floor area. Eventually, the cleaning device is unable to perform a circuit. However, a preferred method of completion detection uses the strands of stored waypoint data. Figures 14 to 17 show how the cleaning device performs completion detection with various floor layouts. Figure 14 shows a room with a regular rectangularly-shaped floor area. The cleaning device starts at, or moves across the floor to arrive at, point X adjacent the wall of the room. The cleaning device firstly navigates around the outer edge of the room, visiting way points Al, Bl, Cl, Dl before returning to Al. It recognises Al, by comparison of the sensor data with stored data, as a previously visited point and then steps in by one cleaner width. It stores the sensor data for way point A2 and then begins a second circuit of the room at a distance of one cleaner width from the wall of the room, visiting waypoints B2, C2, D2. Upon arriving at point A2' the cleaner stops, as it is now one cleaner width from the end wall. When the sensor data at point A2' is compared with the stored data from previously visited way points the cleaning device finds that it matches A2 from the beginning of the circuit and it therefore determines that it has returned to a previously visited point. It therefore steps in one further cleaner width and begins a further traverse of the room. The cleaning device continues to move in this manner. It will be seen that the individual strands of way points: Al, A2, A3.., Bl, B2, B3.., Cl, C2, C3..., Dl, D2, D3... converge as the cleaning device progresses, the way points being located closer together with each traverse of the floor area. Eventually, the cleaning device performs a traverse which visits the way points A6, B6, C6, D6. A6 and B6 are almost co-located, and C6 and D6 are co-located, or lie within one cleaner width of one another. When the cleaning device performs waypoint matching, it finds that point C6/D6 can be associated with both C5 and D5 so these waypoint strands have converged. Also, point A6 can be associated with B6 so these waypoint strands have also converged. The navigation system detects convergence during the waypoint matching process. In performing waypoint matching, it finds that the waypoint data for the new waypoint matches data for several of the stored waypoints. The cleaning device therefore finds itself alternating between the points B6 and C6 D6, separated by a strip of floor The cleaning device recognises that the waypoint strands have converged and that it is visiting the same way points repeatedly and therefore determines that it must have completely covered the floor area The cleaning device stops, indicates to the user that it has finished, and powers down.
Figure 15 shows the same room as Figure 14 but with a centrally positioned obstacle. The cleaning device moves in the same manner as descπbed above for Figure 14 However, after the traverse that visits the way points A4, B4, C4, D4, A4' it cannot move inwardly any further The cleaning device recognises that it is visiting the same way points repeatedly and therefore determines that it must have completely covered the floor area The cleaning device stops, indicates to the user that it has finished, and powers down
Figure 16 shows a different room having a square-shaped floor area When the cleaning device cleans this room, the way point strands all converge to a central region of the room where the individual way points are each separated by a distance of less than one cleaner width The cleaning device determines that it must have completely covered the floor area. The cleaning device stops, indicates to the user that it has finished, and powers down.
Figure 17 shows a more complex floor area, made up by two rooms and a connecting corridor Duπng the first, outer, traverse of the floor area, the cleamng device visits points Al, Bl, Cl, Dl, El, FI, Gl, HI, Jl, Kl, LI, Ml Duπng the second, traverse, two cleaner widths in from the outer wall the cleaning device visits points B2, C2, M2, A2 This is because the connecting corridor is insufficiently wide for the cleaning device to enter at a distance of two cleaner widths from the wall The cleaning device continues to spiral inwardly m the left-hand room, eventually arriving at the centre of the room at B5, which can be associated with B4, C4, M4 and A5 Therefore, the way point strands Al, A2.., B 1, B2.., Cl, C2 ., and Ml, M2.. have all converged However, m this case the cleaning device recognises that there are way points which do not belong to strands that have converged These are the way points FI, Gl, HI, Jl They are neither separated by a distance of less than one cleaner width nor has the cleaner repeatedly visited these points Therefore, the cleaning device determines that the room is incomplete and moves to the incompletely covered area. It can do this by moving to the outer wall and following the wall until it reaches the way points that have not been associated with any other data. Should the connecting corridor have been wider than that shown in Figure 17, the cleaning device would have completed more than one traverse of the right-hand room. For example, if the cleaning device managed two traverses of the room, the way points FI, F2; Gl, G2; HI, H2; Jl, J2 would have resulted. The cleaning device would still recognise that these strands are not separated by a distance of less than one cleaner width and have not been repeatedly visited. Therefore, the cleaning device would still determine that the floor area has not been completely covered.
In performing the spiralling method, it is preferred that the cleaning device steps inwardly or outwardly by substantially the width of the cleaner head on the cleaner so that the cleaning device covers all of the floor surface in the minimum amount of time. However, the distance by which the cleaning device steps inwardly or outwardly can have other values. For example, by stepping by only a fraction of the width of the cleaner head, such as one half of the width, the cleaning device overlaps with a previous traverse of the room which is desirable if a user requires a particularly thorough cleaning of the floor. The step distance can be chosen by the user. There are various ways in which the user can choose the step distance: the user can be presented with a plurahty of buttons or a control that specifies the step distances, or controls having symbols or descriptions indicative of the effect of the cleaner operating at the step distances, such as "normal cleaning", "thorough cleaning". The buttons can be incorporated in the user panel (144, Fig. 1), a remote control or both of these.
Where the term "room" has been used, it will be apparent that the cleaning device is not restricted to covering a single room at a time, but can be used to cover floor areas which are spread across several interconnected rooms.
While the above description has described an autonomous vacuum cleaning device, it will be appreciated that the teaching can also be applied to other kinds of floor cleaning devices such as shampooing or polishing devices.
The methods of operation described above are believed to be more efficient ways of cleaning a room than have so far been proposed. Also, the cleaner is fully autonomous and does not need to be fed a detailed map of the room and/or trained. The memory may be wiped on Power Off so that information stored is not retained for future use. Alternatively, the information could be stored for future use in the same room.

Claims

Claims
1. A method of operating a robotic floor cleaning device so that the floor cleaning device: (a) firstly completes a traverse around the edge of a room (or around a feature of the room or an object in the room) avoiding any obstacles in its path, monitoring and storing information from sensors during the traverse, and
(b) when it is determined that monitored information from the sensors is the same or substantially the same as previously stored information, the floor cleaning device moves inwards (or outwards) and completes a second traverse, the cleaning device continuing to move inwards (or outwards) after each traverse so as to travel in a generally inwardly (or outwardly) spiral manner until the floor of the room, apart from areas occupied by obstacles, has been cleaned.
2. A method according to claim 1 wherein the floor cleaning device moves inwards (or outwards) by, or substantially by, the width of the cleaning device after each traverse.
3. A method according to claim 1 or 2 wherein the distance by which the device moves inwards (or outwards) after each traverse is selectable by a user of the device.
4. A method according to any one of the preceding claims wherein the step of monitoring information comprises receiving information from a light sensor which provides signals representative of light levels from a plurality of different compass points around the cleaning device.
5. A method according to any one of the preceding claims, wherein the navigation system is arranged to store information from the sensors when the cleaning device changes direction upon reaching a room feature.
6. A method according to any one of the preceding claims, wherein the information stored in memory during the second and any subsequent traverses of the room is associated with information previously stored for that position in the room.
7. A method according to any one of the preceding claims, wherein information indicative of the direction in which the cleaning device turns at each said change of direction is stored at least during the initial traverse.
8. Software for causing a robotic floor cleaning device to operate according to the method according to any one of the preceding claims.
9. A robotic floor cleaning device comprising:
- power operated means for moving the cleaning device along the floor, and
- a navigation system, including sensors and a memory means, for navigating the cleaning device around the room, the navigation system being arranged, in use, to: (a) firstly cause the cleaning device to complete a traverse around the edge of a room (or around a feature of the room or an object in the room) avoiding any obstacles in its path, monitoring and storing information from the sensors in the memory during the traverse, and (b) when it is determined that monitored information from the sensors is the same or substantially the same as previously stored information, cause the device to move inwards (or outwards) and complete a second traverse, the device continuing to move inwards (or outwards) after each completed traverse so as to travel in a generally inwardly (or outwardly) spiral manner until the floor of the room, apart from areas occupied by obstacles, has been cleaned.
10. A device according to claim 9 which is arranged to move inwards (or outwards) by, or substantially by, the width of the cleaning device after each traverse.
11. A device according to claim 10 which is arranged to move inwards (or outwards) by less than the width of the cleaning device after each traverse.
12. A device according to any one of claims 9 to 11 wherein the distance by which the device moves inwards (or outwards) after each traverse is selectable by a user of the device.
13. A device according to any one of claims 9 to 12 wherein the navigation system includes a light sensor for detecting and providing signals representative of light levels from a plurality of different compass points around the cleaning device.
14. A device according to any one of claims 9 to 13 wherein the navigation system includes a plurality of ultrasonic sensors.
15. A device according to claim 14 which is arranged to store information which is indicative of the appearance of significant objects in the signal received by the ultrasonic sensors.
16. A device according to any one of the preceding claims, wherein the navigation system is arranged to store information from the sensors when the cleaning device changes direction upon reaching a room feature.
17. A device according to claim 16 wherein the navigation system is arranged, in determining whether monitored information from the sensors is the same or substantially the same as previously stored information at the point where the cleaning device reaches a room feature, to use information monitored by the sensors for the period preceding the point at which the room feature is reached.
18. A device according to claim 17 wherein the navigation system is arranged to periodically monitor information from the sensors and to compare this information with previously stored information as the cleaning device traverses the floor at times other than when the cleaning device reaches a room feature.
19. A device according to claim 16 wherein the navigation system does not store information from the sensors when the cleaning device negotiates an edge of the room that has a convex corner.
20. A device according to any one of claims 9 to 19 which is arranged to store, in the memory means, information indicative of the direction in which the cleaning device turns at least during the initial traverse.
21. A device according to any one of claims 9 to 20, wherein the navigation system also comprises a plurality of sensors for detecting obstacles and comers of the room.
22. A device according to any one of claims 9 to 21 which is arranged to determine when it can no longer move inwardly to perform a further traverse, indicative of the room having been completely traversed.
23. A device according to any one of the claims 9 to 22 which is arranged to associate information stored in memory during the second and any subsequent traverses of the room with information previously stored for that position in the room.
24. A device according to claim 23 which is arranged to associate the stored information into strands and to determine when the strands converge, indicating that the floor area has been completely traversed.
25. A device according to claim 23 which is arranged to determine when the strands converge by looking for a repeated pattern of information, indicative of the cleaner repeatedly visiting the same positions in the area.
26. A device according to claim 24 or 25 which is arranged to determine when the strands converge by determining the distance separating the positions represented by the last element in each of the strands.
27. A device according to claim 26 which is arranged to determine the distance separating the positions by monitoring distance travelled by the device in visiting the positions.
28. A device according to claim 26 or 27 which is arranged to look for positions which are separated by substantially a distance of the width of the cleaning device.
29. A device according to any one of claims 24 to 28 which is arranged to analyse the stored information to determine whether any information remains unassociated with other information, indicative of an area which has not been completely traversed by the device.
30. A device according to claim 29 which is arranged to move to the area that has not been traversed after another area has been completely traversed.
31. A device according to claim 29 or 30 which is arranged to find and to follow a perimeter of the area until the positions indicated by the unassociated information are reached.
32. A device according to any one of claims 9 to 31 which is arranged to indicate to a user when the device determines that it has completely traversed the area to be cleaned.
33. A device according to any one of claims 9 to 32 which is arranged to power down when the device determines that it has completely traversed the area to be cleaned.
34. A device according to any one of claims 9 to 33 wherein the navigation system is arranged so that, when a user starts the machine from a position in the room away from any walls, it causes the cleaning device to travel until it finds a wall.
35. A device according to any one of claims 9 to 34 which is arranged to compare the monitored information with previously stored information so as to account for different relative positions of the cleaning device at the times when the information was gathered.
36. A device according to any one of claims 9 to 35, wherein the power operated means comprise two ground engageable wheels and two electric motors for driving the two wheels, respectively.
37. A device according to any one of claims 9 to 36, m the form of a robotic vacuum cleaner.
38. Software for performing a method of controlling a floor cleaning device, the device comprising power operated means for moving the cleaning device along the floor, sensors and a memory means, the software controlling the device so that, in use, it:
(a) firstly completes a traverse around the edge of a room (or around a feature of the room or an object in the room) avoiding any obstacles in its path, monitoring and storing information from the sensors in the memory during the traverse, and
(b) when it is determined that monitored information from the sensors is the same or substantially the same as previously stored information, the device moves inwards (or outwards) and completes a second traverse, the device continuing to move inwards (or outwards) after each completed traverse so as to travel in a generally inwardly (or outwardly) spiral manner until the floor of the room, apart from areas occupied by obstacles, has been cleaned.
39. Control apparatus for controlling operation of a robotic floor cleaning device, the floor cleaning device comprising power operated means for moving the cleaning device along the floor, sensors and a memory means, the control apparatus controlling the floor cleaning device so that, in use, it: (a) firstly completes a traverse around the edge of a room (or around a feature of the room or an object in the room) avoiding any obstacles in its path, monitoring and storing information from the sensors in the memory during the traverse, and (b) when it is determined that monitored information from the sensors is the same or substantially the same as previously stored information, the device moves inwards (or outwards) and completes a second traverse, the device continuing to move inwards (or outwards) after each completed traverse so as to travel in a generally inwardly (or outwardly) spiral manner until the floor of the room, apart from areas occupied by obstacles, has been cleaned.
PCT/GB1999/004072 1998-12-18 1999-12-06 Improvements in or relating to floor cleaning devices WO2000038025A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU15753/00A AU1575300A (en) 1998-12-18 1999-12-06 Improvements in or relating to floor cleaning devices
GB0113417A GB2361553B (en) 1998-12-18 1999-12-06 Improvements in or relating to floor cleaning devices

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9827777A GB2344900A (en) 1998-12-18 1998-12-18 Robotic floor cleaning device with obstacle detection
GB9827777.5 1998-12-18

Publications (1)

Publication Number Publication Date
WO2000038025A1 true WO2000038025A1 (en) 2000-06-29

Family

ID=10844396

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB1999/004072 WO2000038025A1 (en) 1998-12-18 1999-12-06 Improvements in or relating to floor cleaning devices

Country Status (3)

Country Link
AU (1) AU1575300A (en)
GB (2) GB2344900A (en)
WO (1) WO2000038025A1 (en)

Cited By (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003040845A1 (en) * 2001-11-03 2003-05-15 Dyson Ltd An autonomous machine
WO2003040846A1 (en) * 2001-11-03 2003-05-15 Dyson Ltd An autonomous machine
US7079923B2 (en) 2001-09-26 2006-07-18 F Robotics Acquisitions Ltd. Robotic vacuum cleaner
US7167775B2 (en) 2001-09-26 2007-01-23 F Robotics Acquisitions, Ltd. Robotic vacuum cleaner
US7206677B2 (en) 2001-03-15 2007-04-17 Aktiebolaget Electrolux Efficient navigation of autonomous carriers
US7248951B2 (en) 2001-03-15 2007-07-24 Aktiebolaget Electrolux Method and device for determining position of an autonomous apparatus
US7275280B2 (en) 2001-02-28 2007-10-02 Aktiebolaget Electrolux Wheel support arrangement for an autonomous cleaning apparatus
US7647144B2 (en) 2001-02-28 2010-01-12 Aktiebolaget Electrolux Obstacle sensing system for an autonomous cleaning apparatus
US7873437B2 (en) 2003-02-14 2011-01-18 Dyson Technology Limited Autonomous machine
US9572467B2 (en) 2012-05-17 2017-02-21 Dyson Technology Limited Autonomous vacuum cleaner
US9591957B2 (en) 2012-05-17 2017-03-14 Dyson Technology Limited Autonomous vacuum cleaner
US9763551B2 (en) 2013-04-19 2017-09-19 Dyson Technology Limited Air moving appliance with on-board diagnostics
US9811089B2 (en) 2013-12-19 2017-11-07 Aktiebolaget Electrolux Robotic cleaning device with perimeter recording function
US9883778B2 (en) 2013-01-29 2018-02-06 Dyson Technology Limited Mobile robot
US9939529B2 (en) 2012-08-27 2018-04-10 Aktiebolaget Electrolux Robot positioning system
US9943203B2 (en) 2011-09-09 2018-04-17 Dyson Technology Limited Autonomous vacuum cleaner
US9946263B2 (en) 2013-12-19 2018-04-17 Aktiebolaget Electrolux Prioritizing cleaning areas
US9999328B2 (en) 2011-09-09 2018-06-19 Dyson Technology Limited Autonomous cleaning appliance
CN108344419A (en) * 2018-02-09 2018-07-31 弗徕威智能机器人科技(上海)有限公司 A kind of method for searching of cradle
US10045675B2 (en) 2013-12-19 2018-08-14 Aktiebolaget Electrolux Robotic vacuum cleaner with side brush moving in spiral pattern
US10045676B2 (en) 2004-06-24 2018-08-14 Irobot Corporation Remote control scheduler and method for autonomous robotic device
US10149589B2 (en) 2013-12-19 2018-12-11 Aktiebolaget Electrolux Sensing climb of obstacle of a robotic cleaning device
US10209080B2 (en) 2013-12-19 2019-02-19 Aktiebolaget Electrolux Robotic cleaning device
US10219665B2 (en) 2013-04-15 2019-03-05 Aktiebolaget Electrolux Robotic vacuum cleaner with protruding sidebrush
US10231591B2 (en) 2013-12-20 2019-03-19 Aktiebolaget Electrolux Dust container
US10248126B2 (en) 2014-04-14 2019-04-02 Ecovacs Robotics Co., Ltd. Obstacle avoidance walking method of self-moving robot
US10420447B2 (en) 2001-01-24 2019-09-24 Irobot Corporation Autonomous floor-cleaning robot
US10433697B2 (en) 2013-12-19 2019-10-08 Aktiebolaget Electrolux Adaptive speed control of rotating side brush
US10448794B2 (en) 2013-04-15 2019-10-22 Aktiebolaget Electrolux Robotic vacuum cleaner
CN110543168A (en) * 2014-04-14 2019-12-06 科沃斯机器人股份有限公司 Walking method of self-moving robot and walking method of sweeping robot
US10499778B2 (en) 2014-09-08 2019-12-10 Aktiebolaget Electrolux Robotic vacuum cleaner
US10518416B2 (en) 2014-07-10 2019-12-31 Aktiebolaget Electrolux Method for detecting a measurement error in a robotic cleaning device
US10534367B2 (en) 2014-12-16 2020-01-14 Aktiebolaget Electrolux Experience-based roadmap for a robotic cleaning device
US10617271B2 (en) 2013-12-19 2020-04-14 Aktiebolaget Electrolux Robotic cleaning device and method for landmark recognition
US10647366B2 (en) 2011-09-09 2020-05-12 Dyson Technology Limited Autonomous surface treating appliance
US10678251B2 (en) 2014-12-16 2020-06-09 Aktiebolaget Electrolux Cleaning method for a robotic cleaning device
CN111374603A (en) * 2018-12-28 2020-07-07 珠海市一微半导体有限公司 Control method and chip for partitioned cleaning of vision robot and intelligent sweeping robot
CN111466827A (en) * 2020-03-31 2020-07-31 深圳市银星智能科技股份有限公司 Cleaning robot and cleaning mode thereof
US10729297B2 (en) 2014-09-08 2020-08-04 Aktiebolaget Electrolux Robotic vacuum cleaner
US10842332B2 (en) 2015-07-01 2020-11-24 Dyson Technology Limited Separating apparatus
US10874271B2 (en) 2014-12-12 2020-12-29 Aktiebolaget Electrolux Side brush and robotic cleaner
US10874274B2 (en) 2015-09-03 2020-12-29 Aktiebolaget Electrolux System of robotic cleaning devices
US10877484B2 (en) 2014-12-10 2020-12-29 Aktiebolaget Electrolux Using laser sensor for floor type detection
US10953359B2 (en) 2015-07-01 2021-03-23 Dyson Technology Limited Separating apparatus
US11099554B2 (en) 2015-04-17 2021-08-24 Aktiebolaget Electrolux Robotic cleaning device and a method of controlling the robotic cleaning device
US11122953B2 (en) 2016-05-11 2021-09-21 Aktiebolaget Electrolux Robotic cleaning device
US11169533B2 (en) 2016-03-15 2021-11-09 Aktiebolaget Electrolux Robotic cleaning device and a method at the robotic cleaning device of performing cliff detection
US11278173B2 (en) 2002-01-03 2022-03-22 Irobot Corporation Autonomous floor-cleaning robot
CN115089056A (en) * 2021-02-10 2022-09-23 北京石头创新科技有限公司 Automatic cleaning equipment control method and device, medium and electronic equipment
US11474533B2 (en) 2017-06-02 2022-10-18 Aktiebolaget Electrolux Method of detecting a difference in level of a surface in front of a robotic cleaning device
US11537141B2 (en) 2019-12-19 2022-12-27 Diversey, Inc. Robotic cleaning device with dynamic area coverage
US11921517B2 (en) 2017-09-26 2024-03-05 Aktiebolaget Electrolux Controlling movement of a robotic cleaning device

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ITFI20010021A1 (en) * 2001-02-07 2002-08-07 Zucchetti Ct Sistemi S P A AUTOMATIC VACUUM CLEANING APPARATUS FOR FLOORS
KR100420171B1 (en) 2001-08-07 2004-03-02 삼성광주전자 주식회사 Robot cleaner and system therewith and method of driving thereof
GB0126499D0 (en) * 2001-11-03 2002-01-02 Dyson Ltd An autonomous machine
CN102039595B (en) * 2009-10-09 2013-02-27 泰怡凯电器(苏州)有限公司 Self-moving ground handling robot and facing ground handling control method thereof
CN111596662B (en) * 2020-05-26 2023-03-10 珠海一微半导体股份有限公司 Method for judging one circle along global working area, chip and visual robot
CN111580525B (en) * 2020-05-26 2023-05-05 珠海一微半导体股份有限公司 Judgment method for returning to starting point in edge walking, chip and vision robot

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4878003A (en) * 1985-10-15 1989-10-31 Knepper Hans Reinhard Process and installation for the automatic control of a utility vehicle
FR2695342A1 (en) * 1989-06-07 1994-03-11 Onet Robotic floor-sweeping with stored-program microprocessor control

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3536974A1 (en) * 1985-10-17 1987-04-23 Knepper Hans Reinhard Operatorless, externally controlled machine with a chassis, and process for its external control
FR2648071B1 (en) * 1989-06-07 1995-05-19 Onet SELF-CONTAINED METHOD AND APPARATUS FOR AUTOMATIC FLOOR CLEANING BY EXECUTING PROGRAMMED MISSIONS
US5568589A (en) * 1992-03-09 1996-10-22 Hwang; Jin S. Self-propelled cleaning machine with fuzzy logic control
KR970000582B1 (en) * 1994-03-31 1997-01-14 삼성전자 주식회사 Method for controlling driving of a robot cleaner

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4878003A (en) * 1985-10-15 1989-10-31 Knepper Hans Reinhard Process and installation for the automatic control of a utility vehicle
FR2695342A1 (en) * 1989-06-07 1994-03-11 Onet Robotic floor-sweeping with stored-program microprocessor control

Cited By (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10420447B2 (en) 2001-01-24 2019-09-24 Irobot Corporation Autonomous floor-cleaning robot
US10517454B2 (en) 2001-01-24 2019-12-31 Irobot Corporation Autonomous floor-cleaning robot
US10433692B2 (en) 2001-01-24 2019-10-08 Irobot Corporation Autonomous floor-cleaning robot
US7275280B2 (en) 2001-02-28 2007-10-02 Aktiebolaget Electrolux Wheel support arrangement for an autonomous cleaning apparatus
US7647144B2 (en) 2001-02-28 2010-01-12 Aktiebolaget Electrolux Obstacle sensing system for an autonomous cleaning apparatus
US7206677B2 (en) 2001-03-15 2007-04-17 Aktiebolaget Electrolux Efficient navigation of autonomous carriers
US7248951B2 (en) 2001-03-15 2007-07-24 Aktiebolaget Electrolux Method and device for determining position of an autonomous apparatus
US7444206B2 (en) 2001-09-26 2008-10-28 F Robotics Acquisitions Ltd. Robotic vacuum cleaner
US7167775B2 (en) 2001-09-26 2007-01-23 F Robotics Acquisitions, Ltd. Robotic vacuum cleaner
US7769490B2 (en) 2001-09-26 2010-08-03 F Robotics Acquisitions Ltd. Robotic vacuum cleaner
US8311674B2 (en) 2001-09-26 2012-11-13 F Robotics Acquisitions Ltd. Robotic vacuum cleaner
US7079923B2 (en) 2001-09-26 2006-07-18 F Robotics Acquisitions Ltd. Robotic vacuum cleaner
US7085624B2 (en) 2001-11-03 2006-08-01 Dyson Technology Limited Autonomous machine
WO2003040845A1 (en) * 2001-11-03 2003-05-15 Dyson Ltd An autonomous machine
WO2003040846A1 (en) * 2001-11-03 2003-05-15 Dyson Ltd An autonomous machine
US11278173B2 (en) 2002-01-03 2022-03-22 Irobot Corporation Autonomous floor-cleaning robot
US7873437B2 (en) 2003-02-14 2011-01-18 Dyson Technology Limited Autonomous machine
US10893787B2 (en) 2004-06-24 2021-01-19 Irobot Corporation Remote control scheduler and method for autonomous robotic device
US10045676B2 (en) 2004-06-24 2018-08-14 Irobot Corporation Remote control scheduler and method for autonomous robotic device
US9999328B2 (en) 2011-09-09 2018-06-19 Dyson Technology Limited Autonomous cleaning appliance
US9943203B2 (en) 2011-09-09 2018-04-17 Dyson Technology Limited Autonomous vacuum cleaner
US10647366B2 (en) 2011-09-09 2020-05-12 Dyson Technology Limited Autonomous surface treating appliance
US9591957B2 (en) 2012-05-17 2017-03-14 Dyson Technology Limited Autonomous vacuum cleaner
US9572467B2 (en) 2012-05-17 2017-02-21 Dyson Technology Limited Autonomous vacuum cleaner
US9939529B2 (en) 2012-08-27 2018-04-10 Aktiebolaget Electrolux Robot positioning system
US9883778B2 (en) 2013-01-29 2018-02-06 Dyson Technology Limited Mobile robot
US10448794B2 (en) 2013-04-15 2019-10-22 Aktiebolaget Electrolux Robotic vacuum cleaner
US10219665B2 (en) 2013-04-15 2019-03-05 Aktiebolaget Electrolux Robotic vacuum cleaner with protruding sidebrush
US9763551B2 (en) 2013-04-19 2017-09-19 Dyson Technology Limited Air moving appliance with on-board diagnostics
US10045675B2 (en) 2013-12-19 2018-08-14 Aktiebolaget Electrolux Robotic vacuum cleaner with side brush moving in spiral pattern
US10209080B2 (en) 2013-12-19 2019-02-19 Aktiebolaget Electrolux Robotic cleaning device
US10433697B2 (en) 2013-12-19 2019-10-08 Aktiebolaget Electrolux Adaptive speed control of rotating side brush
US10149589B2 (en) 2013-12-19 2018-12-11 Aktiebolaget Electrolux Sensing climb of obstacle of a robotic cleaning device
US9811089B2 (en) 2013-12-19 2017-11-07 Aktiebolaget Electrolux Robotic cleaning device with perimeter recording function
US9946263B2 (en) 2013-12-19 2018-04-17 Aktiebolaget Electrolux Prioritizing cleaning areas
US10617271B2 (en) 2013-12-19 2020-04-14 Aktiebolaget Electrolux Robotic cleaning device and method for landmark recognition
US10231591B2 (en) 2013-12-20 2019-03-19 Aktiebolaget Electrolux Dust container
US11112800B2 (en) 2014-04-14 2021-09-07 Ecovacs Robotics Co., Ltd. Obstacle avoidance walking method of self-moving robot
US11768496B2 (en) 2014-04-14 2023-09-26 Ecovacs Robotics Co., Ltd. Obstacle-avoidance moving method of self-moving robot
CN110543168A (en) * 2014-04-14 2019-12-06 科沃斯机器人股份有限公司 Walking method of self-moving robot and walking method of sweeping robot
US10248126B2 (en) 2014-04-14 2019-04-02 Ecovacs Robotics Co., Ltd. Obstacle avoidance walking method of self-moving robot
US10518416B2 (en) 2014-07-10 2019-12-31 Aktiebolaget Electrolux Method for detecting a measurement error in a robotic cleaning device
US10499778B2 (en) 2014-09-08 2019-12-10 Aktiebolaget Electrolux Robotic vacuum cleaner
US10729297B2 (en) 2014-09-08 2020-08-04 Aktiebolaget Electrolux Robotic vacuum cleaner
US10877484B2 (en) 2014-12-10 2020-12-29 Aktiebolaget Electrolux Using laser sensor for floor type detection
US10874271B2 (en) 2014-12-12 2020-12-29 Aktiebolaget Electrolux Side brush and robotic cleaner
US10678251B2 (en) 2014-12-16 2020-06-09 Aktiebolaget Electrolux Cleaning method for a robotic cleaning device
US10534367B2 (en) 2014-12-16 2020-01-14 Aktiebolaget Electrolux Experience-based roadmap for a robotic cleaning device
US11099554B2 (en) 2015-04-17 2021-08-24 Aktiebolaget Electrolux Robotic cleaning device and a method of controlling the robotic cleaning device
US10953359B2 (en) 2015-07-01 2021-03-23 Dyson Technology Limited Separating apparatus
US10842332B2 (en) 2015-07-01 2020-11-24 Dyson Technology Limited Separating apparatus
US11712142B2 (en) 2015-09-03 2023-08-01 Aktiebolaget Electrolux System of robotic cleaning devices
US10874274B2 (en) 2015-09-03 2020-12-29 Aktiebolaget Electrolux System of robotic cleaning devices
US11169533B2 (en) 2016-03-15 2021-11-09 Aktiebolaget Electrolux Robotic cleaning device and a method at the robotic cleaning device of performing cliff detection
US11122953B2 (en) 2016-05-11 2021-09-21 Aktiebolaget Electrolux Robotic cleaning device
US11474533B2 (en) 2017-06-02 2022-10-18 Aktiebolaget Electrolux Method of detecting a difference in level of a surface in front of a robotic cleaning device
US11921517B2 (en) 2017-09-26 2024-03-05 Aktiebolaget Electrolux Controlling movement of a robotic cleaning device
CN108344419B (en) * 2018-02-09 2021-07-20 弗徕威智能机器人科技(上海)有限公司 Method for searching charging seat
CN108344419A (en) * 2018-02-09 2018-07-31 弗徕威智能机器人科技(上海)有限公司 A kind of method for searching of cradle
CN111374603A (en) * 2018-12-28 2020-07-07 珠海市一微半导体有限公司 Control method and chip for partitioned cleaning of vision robot and intelligent sweeping robot
US11537141B2 (en) 2019-12-19 2022-12-27 Diversey, Inc. Robotic cleaning device with dynamic area coverage
CN111466827B (en) * 2020-03-31 2021-09-10 深圳市银星智能科技股份有限公司 Cleaning robot and cleaning mode thereof
CN111466827A (en) * 2020-03-31 2020-07-31 深圳市银星智能科技股份有限公司 Cleaning robot and cleaning mode thereof
CN115089056A (en) * 2021-02-10 2022-09-23 北京石头创新科技有限公司 Automatic cleaning equipment control method and device, medium and electronic equipment

Also Published As

Publication number Publication date
GB2361553A (en) 2001-10-24
GB2344900A (en) 2000-06-21
AU1575300A (en) 2000-07-12
GB0113417D0 (en) 2001-07-25
GB9827777D0 (en) 1999-02-10
GB2361553B (en) 2003-02-12

Similar Documents

Publication Publication Date Title
WO2000038025A1 (en) Improvements in or relating to floor cleaning devices
US7085624B2 (en) Autonomous machine
US7053580B2 (en) Autonomous machine
US7805220B2 (en) Robot vacuum with internal mapping system
AU2002337343A1 (en) An autonomous machine
JP5073950B2 (en) Position recognition system for autonomous mobile robot
JP4542044B2 (en) Autonomous machine
JP4545318B2 (en) Sensor placement
US7079923B2 (en) Robotic vacuum cleaner
US6605156B1 (en) Robotic floor cleaning device
US7167775B2 (en) Robotic vacuum cleaner
US11966222B2 (en) Autonomous floor cleaner and method for autonomous floor cleaning
US5621291A (en) Drive control method of robotic vacuum cleaner
WO2003040846A1 (en) An autonomous machine
US20080184518A1 (en) Robot Cleaner With Improved Vacuum Unit
US20050010331A1 (en) Robot vacuum with floor type modes
US20040204792A1 (en) Robotic vacuum with localized cleaning algorithm
US20020174506A1 (en) Autonomous canister vacuum cleaner
CA2441223A1 (en) Efficient navigation of autonomous carriers
KR940007727B1 (en) Automatic driver of vacuum cleaner
JPH04328607A (en) Cleaning robot
TW432266B (en) Improvements in or relating to floor cleaning devices
WO2020059292A1 (en) Autonomous traveling cleaner
KR100533005B1 (en) Edge detection apparatus and method for mobile robot

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref country code: AU

Ref document number: 2000 15753

Kind code of ref document: A

Format of ref document f/p: F

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
ENP Entry into the national phase

Ref country code: GB

Ref document number: 200113417

Kind code of ref document: A

Format of ref document f/p: F

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase