A self-propelled cleaning machine for cleaning a floor of a room enclosed by a wall perimeter includes a body having first and second sides and a front. A motor drive causes the body to move over the floor. A cleaning unit is carried by the body for cleaning the floor. first, second and third sensors are carried by the body for sensing distances from the first and second sides and the front thereof to the wall perimeter and producing first, second and third sensor signals in response thereto respectively. A fuzzy logic computer receives the first, second and third sensor signals and controls the motor drive to move the body in accordance therewith adjacently parallel to and store data representing the wall perimeter, and subsequently controls the motor drive to move the body in a computed pattern within the wall perimeter as represented by the data such that the cleaning unit cleans the floor. The computer processes the first or second signal from whichever of the first and second sensors is closer to the wall perimeter using a first number of fuzzy steps, and processes the other of the first or second signal and the third signal using a second number of fuzzy steps that is smaller than the first number of fuzzy steps.

Patent
   5568589
Priority
Sep 30 1992
Filed
Dec 22 1994
Issued
Oct 22 1996
Expiry
Oct 22 2013
Assg.orig
Entity
Large
226
7
EXPIRED
6. A method for controlling a self-propelled cleaning machine within a wall perimeter, said machine having a first and second side, a front side and a motor drive, comprising the steps of:
sensing a first distance signal from the first side of the cleaning machine to the wall perimeter;
ascertaining a second distance signal from the second side of the cleaning machine to the wall perimeter;
detecting a third distance signal from the front side of the cleaning machine to the wall perimeter;
determining the smaller of said first and second distance signals;
controlling the motor drive to move the cleaning machine in a computed pattern based on data received from said sensing, ascertaining, detecting and determining steps by processing the smaller of said first or second distance signals using a first number of fuzzy steps and processing the other of said first or second distance signals using a second number of fuzzy steps.
13. A control system for use in a self-propelled cleaning machine within a wall perimeter, said machine having a first and second side, a front side and a motor drive, comprising:
first, second, and third sensors for sensing distances from said first and second sides and said front thereof to said wall perimeter, thereby producing first, second, and third signals in response thereto, respectively; and
a fuzzy logic computer for receiving said first, second and third sensor signals and controlling the motor drive to move the machine in accordance therewith adjacently parallel to said wall perimeter; and subsequently controlling the motor drive to move the machine in a computed pattern within said wall perimeter; the computer processing said first or second signal from whichever of the first and second sensors is closer to said wall perimeter using a first number of fuzzy steps, and processing the other of said first or second signal and said third signal using a second number of fuzzy steps.
1. A self-propelled cleaning machine for cleaning a floor of a room enclosed by a wall perimeter, comprising:
a body having first and second sides and a front;
a motor drive for causing the body to move over said floor;
a cleaning unit carried by the body for cleaning said floor;
first, second and third sensors carried by the body for sensing distances from said first and second sides and said front thereof to said wall perimeter and producing first, second and third sensor signals in response thereto respectively; and
a fuzzy logic computer for receiving said first, second and third sensor signals and controlling the motor drive to move the body in accordance therewith adjacently parallel to and store data representing said wall perimeter; and subsequently controlling the motor drive to move the body in a computed pattern within said wall perimeter as represented by said data such that the cleaning unit cleans said floor; the computer processing said first or second signal from whichever of the first and second sensors is closer to said wall perimeter using a first number of fuzzy values, and processing the other of said first or second signal and said third signal using a second number of fuzzy values that is smaller than said first number of fuzzy values.
2. A cleaning machine as in claim 1, in which the fuzzy computer further updates said data in accordance with subsequent first, second and third signals.
3. A cleaning machine as in claim 1, in which the fuzzy computer updates said data by computing center points of previously computed data.
4. A cleaning machine as in claim 1, in which the fuzzy computer generates and feeds fuzzy speed and direction control outputs to the motor drive in accordance with a difference between a control speed and direction of the body that are computed in accordance with said computed pattern, and an actual speed and direction of the body that are computed in accordance with said first, second and third signals.
5. A cleaning machine as in claim 4, in which the fuzzy computer computes said computed pattern, said computed speed and direction and said control outputs in accordance with a fuzzy rule.
7. The method of claim 6, wherein said first number of fuzzy steps is smaller than the second number of fuzzy steps.
8. The method of claim 6, further comprising the step of storing data representing said wall perimeter subsequent to said detecting step.
9. The method of claim 8, further comprising the step of updating data representing said wall perimeter in accordance with subsequent first, second, and third distance signals after said controlling step.
10. The method of claim 8, further comprising the step of updating data representing said wall perimeter by computing center points of previously computed data.
11. The method of claim 6, wherein said controlling step further comprises generating and feeding fuzzy speed and direction control outputs to the motor drive in accordance with a difference between a control speed and machine direction computed in accordance with said computed pattern, and an actual speed and machine direction are computed in accordance with said first, second, and third signals.
12. The method of claim 11, wherein said controlling step further comprises computing said computed pattern, said computed speed and direction, and said control outputs in accordance with a fuzzy rule.
14. The control system of claim 13, wherein said second number of fuzzy steps is smaller than said first number of fuzzy steps.
15. The control system of claim 13, wherein said computer stores data representing said wall perimeter.
16. The control system of claim 15, wherein said computer updates data representing said wall perimeter by computing center points of previously computed data.
17. The control system of claim 15, wherein said computer updates data in accordance with subsequent first, second, and third signals.
18. The control system of claim 13, wherein said fuzzy computer generates and feeds fuzzy speed and direction control outputs to the motor drive in accordance with a difference between a control speed and machine direction computed in accordance with said computed pattern, and an actual speed and machine direction are computed in accordance with said first, second, and third signals.
19. The control system of claim 18, wherein said controlling step further comprises computing said computed pattern, said computed speed and direction, and said control outputs in accordance with a fuzzy rule.

This application is a continuation-in-part of abandoned U.S. patent application Ser. No. 08/025,077, filed Mar. 2, 1993, abandoned.

1. Field of the Invention

The present invention generally relates to cleaning a floor of a room enclosed by a wall perimeter, and more specifically to a self-propelled or self-running cleaning machine with automatic control.

2. Description of the Related Art

A prior art self-propelled cleaning machine is disclosed in Japanese Laid Open Patent Application No. Sho 60-93522. The overall structure of the machine is illustrated in FIGS. 1a to 1c, and a control circuit for controlling the operation of the machine is illustrated in FIG. 2.

Referring to FIGS. 1a to 1c, the prior art cleaning machine comprises a main body 1. A bumper 2 is provided around the main body 1, and a plurality of distance sensors 3 are mounted on the front side of the bumper 2 for detecting an obstacle in front of the body 1 and sensing a distance from the body 1 to the object by transmitting and receiving ultrasonic waves.

A front wheel 4, left and right rear wheels 5a and 5b, a dust suction nozzle 6, a dust collection chamber 7 for collecting dust sucked up by the nozzle 6, and a sweeper motor 8 are mounted on the bottom of the main body 1.

Wheel motors 10a and 10b are also mounted on the bottom of the main body 1, and are connected through speed reduction devices 9a and 9b, which comprise reduction gears (not shown), to the rear wheels 5a and 5b. Sensors 11a and 11b are operatively connected to the rear wheels 5a and 5b for sensing rotation of the wheels 5a and 5b and thereby the distance that the machine has run.

A control device 12 is also mounted on the main body 1 for controlling the self-propelled cleaning operation of the machine. The main body 1 further supports a power supply device 13 for applying electric power to the sweeper motor 8, the wheel motors 10a and 10b and the control device 12.

As illustrated in FIG. 2, the control device 12 comprises a running control circuit 14 for controlling the self-propelled running operation or movement of the cleaning machine. A position discrimination circuit 15 senses the position of the cleaning machine in two dimensional coordinates (X - Y coordinates), according to units of distance that the machine has run. An operation section 16 is provided for turning the cleaning machine on and off, switching running modes, setting a cleaning start position, and controlling the sensitivities of the sensors.

A remote control transmitter 17 and receiver 18 are provided for remotely controlling the cleaning machine. A motor driving section 19 controls driving power for the motors. A contact sensor 20 senses when the bumper 2 contacts an obstacle. An amplifier 21 amplifies signals from the sensors and applies the amplified signals to the running control circuit 14.

The running distance sensors 11a and 11b are part of the position discrimination circuit 15, and sense the distance that the cleaning machine has run, for example, by generating a pulse for each increment of rotation of the wheels 5a and 5b. A direction sensor 23 senses or detects changes in the running direction of the cleaning machine. The running control circuit 14 further comprises a central processing unit (CPU) 24 for controlling the overall operation of the machine, input/output circuits 25 for inputting and outputting sensor and control data between the CPU 24 and the position discrimination unit 15, a read only memory (ROM) 26, and a random access memory (RAM) 27.

A program for controlling the operation of the machine, as well as operational data, are stored in the RAM 27. A clock generator 28 feeds clock pulses to the CPU 24 for operation of the running control circuit 14. An interrupt controller 29 handles interrupts that are generated by the machine for suitable processing by the CPU 24.

The operation of the machine illustrated in FIG. 2 will be described with reference to FIGS. 1 to 3.

The user initially places the cleaning machine at a start position S in an area to be cleaned as shown in FIG. 3a, and then controls it to run straight to a first turning point P1 using the remote controller transmitter 17.

The motor driving section 19 of the cleaning machine drives the wheel motors 10a and 10b under control of the running control circuit 14. When the cleaning machine reaches a point P1, the user presses a Turn-Left key on the transmitter 17, the direction sensor 23 senses the change in running direction of the machine, and the running distance sensors 11a and 11b sense and store the distance between the points S and P1. The cleaning machine then runs straight to a second turning point P2.

In an essentially similar manner, the user controls the cleaning machine using the remote control transmitter 17 to run around the periphery of an area to be cleaned that is defined by turn points P2-P3-P4-P5-P6-P7 and an end position E. The running control circuit 14 senses and memorizes or stores the distances between these positions and the turning directions as X-Y coordinates based on the output signals from the direction sensor 23 and the running distance sensors 11a and 11b.

Then, based on the memorized or stored data, the running control circuit 14 divides the overall cleaning area into a plurality of cleaning blocks B1 through B7 by drawing longitudinal and transverse lines which pass through the turning points P1 through P7, as well as the start point S and end point E as illustrated in FIG. 3b. The cleaning blocks B1 through B7 are then combined into areas A1, A2 and A3 as illustrated in FIG. 3c based on the correlation between the adjacent cleaning blocks.

The user then presses a key on the remote controller transmitter 17 to order the control device 12 to drive the sweeper motor 8 and the wheel motors 10a and 10b so that the main body 1 of the cleaning machine is run in a reciprocating path with alternating turns in opposite directions as illustrated in FIG. 3d so as to clean the combined cleaning areas A1, A2 and A3, one by one.

The cleaning machine senses proximity to front and side obstacles and distances from the obstacles using the distance sensor 23, and senses contact with obstacles using the contact sensor 20. This enables the cleaning machine to change direction as illustrated in FIG. 3d and make any necessary corrections to the running path as required. As the cleaning machine self-runs along the path of FIG. 3d, it performs cleaning by sucking dirt into the dust collection chamber 7 through the dust suction nozzle 6 under power of the sweeper motor 8.

However, the prior art self-running cleaning machine is complicated and inconvenient to use in that the user is required to manually control the machine to run along the periphery of the area to be cleaned using the remote controller transmitter 17. If the user does not accurately control the machine during this operation to define the contour or periphery of the cleaning area, the cleaning area will not be defined accurately, and the room will not be cleaned effectively.

It is an object of the present invention to provide a self-propelled cleaning machine with automatic control which overcomes the above-described deficiencies of the prior art.

In accordance with the present invention, the cleaning machine is able to automatically sense the area that is to be cleaned by self-running along the periphery of the area. In this manner, the user is not required to initially guide the cleaning machine around the periphery of the room using a remote controller.

It is another object of the present invention to provide a self-propelled cleaning machine in which fuzzy logic control is utilized to accurately sense the periphery of an area to be cleaned and guide the cleaning machine for cleaning the area.

More specifically, a self-running cleaning machine for cleaning a floor of a room enclosed by a wall perimeter in accordance with the present invention comprises a body having first and second sides and a front. A motor drive causes the body to move over the floor. A cleaning unit is carried by the body for cleaning the floor.

First, second and third sensors are carried by the body for sensing distances from the first and second sides and the front thereof to the wall perimeter and producing first, second and third sensor signals in response thereto respectively.

A fuzzy logic computer receives the first, second and third sensor signals and controls the motor drive to move the body in accordance therewith adjacently parallel to and store data representing the wall perimeter, and subsequently controls the motor drive to move the body in a computed pattern within the wall perimeter as represented by the data such that the cleaning unit cleans the floor.

The computer processes the first or second signal from whichever of the first and second sensors is closer to the wall perimeter using a first number of fuzzy steps, and processes the other of the first or second signal and the third signal using a second number of fuzzy steps that is smaller than the first number of fuzzy steps.

These and other features and advantages of the present invention will be apparent to those skilled in the art from the following detailed description, taken together with the accompanying drawings, in which like reference numerals refer to like parts.

FIG. 1a is a schematic front view illustrating a prior art cleaning machine;

FIG. 1b is a schematic plan view of the prior art cleaning machine of FIG. 1a;

FIG. 1c is a schematic side view of the prior art cleaning machine;

FIG. 2 is a block diagram illustrating a control device of the prior art cleaning machine;

FIGS. 3a to 3d are diagrams illustrating an area to be cleaned by the prior art cleaning machine, and a path along which the machine self-runs to clean the area;

FIG. 4a is a schematic plan view illustrating a cleaning machine embodying the present invention;

FIG. 4b is a schematic side sectional view illustrating the cleaning machine of FIG. 4a;

FIGS. 5a to 5d are diagrams illustrating an area to be cleaned by the present cleaning machine, and a path along which the cleaning machine self-runs in accordance with the present invention;

FIGS. 6a and 6b are diagrams illustrating the distance relationship between the cleaning machine and a wall, and the correlation between speed and running direction, in accordance with the present invention; and

FIGS. 7a and 7b are diagrams illustrating how the cleaning machine is controlled to self-run over a cleaning path in accordance with the present invention.

A self-propelled or self-running cleaning machine in accordance with the present invention is described below with reference to FIGS. 4a through 7.

As illustrated in FIGS. 4a and 4b, a cleaning machine embodying the present invention includes a main body 1 having a bumper 2 mounted on the outside thereof. A plurality of distance sensors 3a to 3g for sensing the presence of an obstacle, and a distance to the obstacle, by transmitting and receiving ultrasonic waves, are mounted on the front of the bumper 2.

Distance sensors 3h to 3k are mounted on the rear of the main body 1 of the cleaning machine. A front wheel 4, left and right rear wheels 5a and 5b, a dust suction nozzle 6, a dust collection chamber 7, and a sweeper motor 8 for collecting dust are mounted on the bottom of the main body i of the cleaning machine.

Wheel motors 10a and 10 provide driving power to the left and right rear wheels 5a and 5b through speed reduction devices 9a and 9b which comprise reduction gears (not shown). Running distance sensors 11a and 11b are optimally connected to the wheels 5a and 5b for sensing the distance the cleaning machine has run by sensing rotational increments of the wheels 5a and 5b.

A controller 12 for controlling the cleaning operation of the cleaning machine is mounted on the main body 1. A power supply device 13 is also provided for supplying electric power to the sweeper motor 8, the wheel motors 10a and 10b and the controller 12. Brushes 30 are mounted on both front sides, and can be rotatably driven by the sweeper motor 8 or by a separate brush motor for sweeping alien material in front of the main body 1 to both opposite sides of the front of the main body 1. The construction of the controller 12 is essentially similar to that of the control device illustrated in FIG. 2.

A program for controlling the operation of the cleaning machine is stored in a ROM 26, and run by a CPU 24 which decodes and executes the program stored in the ROM 26. The general operation of the various circuits, motors and sensors, and the driving of the wheels is essentially similar to that described with reference to FIGS. 1 and 2.

The operation of the present cleaning machine will be described with reference to FIGS. 5a to 5d.

As illustrated in FIG. 5a, the floor of an area AREA1 is surrounded by walls or obstacles that define a periphery of the area that is to be cleaned. The cleaning machine is initially placed at an arbitrary position "A" within the area AREA1, and the power supply is turned on to cause the cleaning machine to self-run.

The controller 12 causes the brushes 30, the sweeper motor 8 and the wheel motors 10a and 10b to be driven, thereby making the cleaning machine run straight. As the cleaning machine self-runs in a straight line, the distance sensors 3a to 3g sense the distances to the walls or obstacles in each direction relative to the cleaning machine. The wheels 5a and 5b are driven to cause the cleaning machine to run at a speed corresponding to the sensed distance.

Then, based on the distance to the wall as sensed by the distance sensors 3a to 3g, the controller 12 controls the machine to change direction in such a manner that the cleaning machine runs parallel to the perimeter of the wall and is spaced therefrom by a predetermined distance.

More specifically, the cleaning machine is controlled to self-run from the location "A" shown in FIG. 5a toward the wall, and then change direction and continue to run parallel to the wall while maintaining a predetermined distance therefrom.

As illustrated in FIGS. 6a and 6b, a fuzzy rule and fuzzy values are defined for controlling the cleaning machine to run along the wall. The fuzzy values comprise fuzzy inputs in the form of distances S0 to S6 from the cleaning machine to the walls that are sensed by the distance sensors 3a to 3g mounted on the front and sides of the main body 1 of the cleaning machine. Fuzzy outputs that are generated in response to the fuzzy inputs comprise a fuzzy output running speed v and a fuzzy output running direction w.

When the self-propelled cleaning machine is activated, the fuzzy logic computer receives sensor signals from sensors S0-S6, these sensor signals sensing distance from the first and second sides and the front thereof to the wall perimeter. Signals are grouped into three groups, with SO and S1 comprising the first sensor group, S5 and S6 the second sensor group, and S2, S3, and S4 the third sensor group. The computer processes the first or second signal from whichever of the first and second sensors is closer to the wall perimeter.

For example, if the left side of the unit is closer to the wall, S0 and S1 are processed. The fuzzy inputs are preferably processed by causing the distance inputs SO and S1 sensed by the distance sensors 3a and 3b mounted on the front left side of the main body 1 of the cleaning machine to have seven possible fuzzy values; "very small (step 1)" "small (step 2)", "little bit small (step 3)", "proper (step 4)" "little bit large (step 5)", "large (step 6)", and "very large (step 7)". The distances S2 to S6 sensed by the other distance sensors 3c to 3g have two possible fuzzy values; "small" and "large".

The reason why the distances S0 and S1 have seven possible fuzzy values and the distances S2 to S6 have two possible fuzzy values is that the distances S0 and S1 are measured from the wall to which the cleaning machine runs parallel, and require a larger degree of precision to maintain the machine accurately spaced from the wall by the predetermined distance.

The running speed v and the running direction w of the cleaning machine constitute fuzzy outputs having seven possible values. For example, if w=0, the cleaning machine is controlled to run in a straight line. The largest positive value of W corresponds to a sharp right turn, whereas the largest negative value of w corresponds to a sharp left turn, with the intermediate values corresponding to intermediate angles of turn.

After the cleaning machine has self-run from the position "A" to a position "B" the controller 12 initializes a computed position of the cleaning machine to (0,0) in X-Y coordinates, and controls the cleaning machine to run parallel to the wall while being spaced therefrom by the predetermined distance.

After the cleaning machine has been controlled to automatically self-run around the periphery of the cleaning area AREA1 along a contour path or periphery PATH1 of the cleaning area AREA1, it returns to a position "C" and the controller removes driving power from the brushes 30 and the sweeper motor 8.

As the cleaning machine runs around the contour or periphery of the area AREA1 in the path PATH1, it changes direction and corrects its running path at proper times by sensing the distances to the wall and obstacles by means of the distance sensors 3a to 3k. The cleaning machine further senses contact with obstacles using the contact sensor 20 and simultaneously cleans the contour region of the cleaning area AREA1 by sucking dirt into the dust collection chamber 7 through the dust suction nozzle 6 by driving the brushes 30 and the sweeper motor 8.

As the cleaning machine runs along the wall, the distance sensors 3a and 3k sense the distance to the wall on the left side of the cleaning machine, and the X position coordinate of the left wall is calculated and stored or memorized in the RAM 27.

After a predetermined number N (where N is greater than or equal to 2) of coordinates X have been stored, the coordinates having the highest reliability among the N coordinates are selected, and their center point coordinate is calculated and stored in the RAM 27. This operation is performed repeatedly, thereby obtaining a plurality of center point coordinates for the wall to the left of the cleaning machine, and also for the other walls.

After the cleaning machine has gone around the periphery of the AREA1 from the position "A" to the position "C" as described above, the CPU 24 in the controller 14 defines the area to be cleaned as a polygon consisting of lines connecting the stored center coordinates X, as illustrated in FIG. 5b. The CPU 24 also determines an area remaining to be cleaned, designated as AREA2, that excludes the peripheral region that was cleaned while the cleaning machine ran around the periphery PATH1 of the area AREA1.

As illustrated in FIG. 5c, parallel lines LINE which are spaced laterally from each other by a distance that is smaller than the width of the main body 1 of the cleaning machine are defined in the remaining cleaning area AREA2.

Then, as illustrated in FIG. 5d, a path PATH2 is defined by connecting the ends of the parallel lines LINE in alternating directions to define a running path for the cleaning machine. The cleaning machine is then controlled to run along the cleaning path PATH2 while driving the brushes 30, the sweeper motor 8 and the wheel motors 10a and 10b to clean the remaining cleaning area AREA2.

The cleaning machine is controlled to run along the cleaning running path PATH2 without deviation as will be described with reference to FIGS. 7a and 7b.

The position discrimination circuit 15 in the controller 12 calculates a current position of the main body 1 of the cleaning machine, and calculates a distance dI from which the main body is deviated from the intended path PATH2, and an angular deviation dA from the intended path PATH 2. The distance difference dI and the angular difference dA which are calculated as described above are utilized as fuzzy inputs as shown in FIG. 7a, and the running speed v and direction w of the cleaning machine are calculated as fuzzy outputs in accordance with the fuzzy inputs and the fuzzy rule.

In this manner, the cleaning machine is controlled to follow its intended path without deviation by defining a fuzzy rule and fuzzy values. For example, the distance difference dI and angular difference dA are preferably inputs to a fuzzy control having five possible fuzzy values according to the levels of distance and angular deviation.

The running speed v and running direction w are fuzzy control outputs for controlling the cleaning machine to run parallel to the wall, and the fuzzy rule and fuzzy values are defined so the cleaning machine does not deviate from the intended cleaning path PATH2.

Although the cleaning machine has been described above with reference to FIG. 5a as running clockwise around the periphery of the area to be cleaned, the invention is not so limited, and can be performed in an essentially similar manner by controlling the cleaning machine to run counterclockwise around the periphery of the area.

In addition, FIGS. 5c and 5d illustrate the parallel lines LINE and the running path PATH2 as extending horizontally through the cleaning areas AREA1 and AREA2 respectively. However, the cleaning machine can be controlled in an essentially similar manner by having the lines LINE and path PATH2 extend vertically through these areas.

As described above, the present cleaning machine is convenient to use, since it is controlled to automatically run around the contour or periphery of the cleaning area surrounded by walls or obstacles, thereby automatically identifying the cleaning area, and then performing automatic self-propelled cleaning in the designated area.

Also, poor manual operation utilizing a remote controller to control the cleaning machine to run around the periphery of a cleaning area manually in accordance with the prior art as described above is elimination. Such poor manual operation would result in the cleaning area being poorly designated, and this would result in poor cleaning of the area.

These problems are overcome in accordance with the present invention, in which precise identification and cleaning of an area is performed using fuzzy control, and precise cleaning can be performed. Accordingly, the quality of the present cleaning machine is greatly improved over the prior art.

Whereas the present invention has been described in particular relation to the drawings attached hereto, it should be understood that other and further modifications, apart from those shown or suggested herein, may be made within the spirit and scope of this invention.

Hwang, Jin S.

Patent Priority Assignee Title
10021830, Feb 02 2016 iRobot Corporation Blade assembly for a grass cutting mobile robot
10034421, Jul 24 2015 iRobot Corporation Controlling robotic lawnmowers
10037038, Mar 17 2006 iRobot Corporation Lawn care robot
10045675, Dec 19 2013 Aktiebolaget Electrolux Robotic vacuum cleaner with side brush moving in spiral pattern
10067232, Oct 10 2014 iRobot Corporation Autonomous robot localization
10070764, May 09 2007 iRobot Corporation Compact autonomous coverage robot
10149589, Dec 19 2013 Aktiebolaget Electrolux Sensing climb of obstacle of a robotic cleaning device
10152062, Dec 30 2010 iRobot Corporation Coverage robot navigating
10159180, Dec 22 2014 iRobot Corporation Robotic mowing of separated lawn areas
10182693, Jan 28 2004 iRobot Corporation Debris sensor for cleaning apparatus
10209080, Dec 19 2013 Aktiebolaget Electrolux Robotic cleaning device
10219665, Apr 15 2013 Aktiebolaget Electrolux Robotic vacuum cleaner with protruding sidebrush
10231591, Dec 20 2013 Aktiebolaget Electrolux Dust container
10244913, Dec 30 2010 iRobot Corporation Debris monitoring
10244915, May 19 2006 iRobot Corporation Coverage robots and associated cleaning bins
10274954, Dec 15 2014 iRobot Corporation Robot lawnmower mapping
10299652, May 09 2007 iRobot Corporation Autonomous coverage robot
10314449, Feb 16 2010 iRobot Corporation Vacuum brush
10420447, Jan 03 2002 iRobot Corporation Autonomous floor-cleaning robot
10426083, Feb 02 2016 iRobot Corporation Blade assembly for a grass cutting mobile robot
10429851, Sep 21 2012 iRobot Corporation Proximity sensing on mobile robots
10433692, Jan 03 2002 iRobot Corporation Autonomous floor-cleaning robot
10433697, Dec 19 2013 Aktiebolaget Electrolux Adaptive speed control of rotating side brush
10448794, Apr 15 2013 Aktiebolaget Electrolux Robotic vacuum cleaner
10459063, Feb 16 2016 iRobot Corporation Ranging and angle of arrival antenna system for a mobile robot
10470629, Feb 18 2005 iRobot Corporation Autonomous surface cleaning robot for dry cleaning
10499778, Sep 08 2014 Aktiebolaget Electrolux Robotic vacuum cleaner
10518416, Jul 10 2014 Aktiebolaget Electrolux Method for detecting a measurement error in a robotic cleaning device
10524629, Dec 02 2005 iRobot Corporation Modular Robot
10534367, Dec 16 2014 Aktiebolaget Electrolux Experience-based roadmap for a robotic cleaning device
10595695, Jan 28 2004 iRobot Corporation Debris sensor for cleaning apparatus
10617271, Dec 19 2013 Aktiebolaget Electrolux Robotic cleaning device and method for landmark recognition
10678251, Dec 16 2014 Aktiebolaget Electrolux Cleaning method for a robotic cleaning device
10729297, Sep 08 2014 Aktiebolaget Electrolux Robotic vacuum cleaner
10750667, Oct 10 2014 iRobot Corporation Robotic lawn mowing boundary determination
10758104, Dec 30 2010 iRobot Corporation Debris monitoring
10785907, Jul 24 2015 iRobot Corporation Controlling robotic lawnmowers based on fluctuating weather conditions
10798874, Dec 22 2014 iRobot Corporation Robotic mowing of separated lawn areas
10874045, Dec 22 2014 iRobot Corporation Robotic mowing of separated lawn areas
10874271, Dec 12 2014 Aktiebolaget Electrolux Side brush and robotic cleaner
10874274, Sep 03 2015 Aktiebolaget Electrolux System of robotic cleaning devices
10877484, Dec 10 2014 Aktiebolaget Electrolux Using laser sensor for floor type detection
10969778, Apr 17 2015 Aktiebolaget Electrolux Robotic cleaning device and a method of controlling the robotic cleaning device
11058271, Feb 16 2010 iRobot Corporation Vacuum brush
11072250, May 09 2007 iRobot Corporation Autonomous coverage robot sensing
11099554, Apr 17 2015 Aktiebolaget Electrolux Robotic cleaning device and a method of controlling the robotic cleaning device
11115798, Jul 23 2015 iRobot Corporation Pairing a beacon with a mobile robot
11122953, May 11 2016 Aktiebolaget Electrolux Robotic cleaning device
11157015, Dec 30 2010 iRobot Corporation Coverage robot navigating
11169533, Mar 15 2016 Aktiebolaget Electrolux Robotic cleaning device and a method at the robotic cleaning device of performing cliff detection
11194342, Mar 17 2006 iRobot Corporation Lawn care robot
11231707, Dec 15 2014 iRobot Corporation Robot lawnmower mapping
11278173, Jan 03 2002 iRobot Corporation Autonomous floor-cleaning robot
11284702, May 15 2017 SHARKNINJA OPERATING LLC Side brush with bristles at different lengths and/or angles for use in a robot cleaner and side brush deflectors
11320279, Dec 02 2016 Kubota Corporation Travel route management system and travel route determination device
11452257, Oct 10 2014 iRobot Corporation Robotic lawn mowing boundary determination
11470774, Jul 14 2017 iRobot Corporation Blade assembly for a grass cutting mobile robot
11474533, Jun 02 2017 Aktiebolaget Electrolux Method of detecting a difference in level of a surface in front of a robotic cleaning device
11498438, May 09 2007 iRobot Corporation Autonomous coverage robot
11589503, Dec 22 2014 iRobot Corporation Robotic mowing of separated lawn areas
11726485, Sep 05 2016 Kubota Corporation Autonomous work vehicle travel system, travel route managing device, travel route generating device, and travel route determining device
5696675, Jul 01 1994 MONEUAL, INC Route making system for a mobile robot
5787545, Jul 04 1994 Automatic machine and device for floor dusting
5815880, Aug 08 1995 MONEUAL, INC Cleaning robot
5940928, Jan 15 1998 Tennant Company Surface maintenance machine with computer controlled operational and maintenance systems
6076226, Jan 27 1997 Robert J., Schaap Controlled self operated vacuum cleaning system
6226830, Aug 20 1997 Philips Electronics North America Corporation Vacuum cleaner with obstacle avoidance
6574536, Jan 29 1996 MONEUAL, INC Moving apparatus for efficiently moving on floor with obstacle
6594844, Jan 24 2000 iRobot Corporation Robot obstacle detection system
6611738, Jul 12 1999 MC ROBOTICS Multifunctional mobile appliance
6728607, Oct 03 2002 Deere & Company Method and system for determining an energy-efficient path of a machine
6775871, Nov 28 2001 Automatic floor cleaner
6883201, Jan 03 2002 iRobot Corporation Autonomous floor-cleaning robot
6901624, Jun 05 2001 MATSUSHITA ELECTRIC INDUSTRIAL CO , LTD Self-moving cleaner
6968592, Mar 27 2001 Hitachi, Ltd. Self-running vacuum cleaner
7047132, Jan 12 2004 SJ AUTOMATION, LLC Mobile vehicle sensor array
7079923, Sep 26 2001 MTD Products Inc Robotic vacuum cleaner
7093318, Apr 26 2000 BSH Bosch und Siemens Hausgeraete GmbH Device for carrying out work on a surface and method for operating the device
7155308, Jan 24 2000 iRobot Corporation Robot obstacle detection system
7167775, Sep 26 2001 MTD Products Inc Robotic vacuum cleaner
7288912, Jan 28 2004 iRobot Corporation Debris sensor for cleaning apparatus
7332890, Jan 21 2004 iRobot Corporation Autonomous robot auto-docking and energy management systems and methods
7388343, Jun 12 2001 iRobot Corporation Method and system for multi-mode coverage for an autonomous robot
7389156, Feb 18 2005 iRobot Corporation Autonomous surface cleaning robot for wet and dry cleaning
7429843, Jun 12 2001 iRobot Corporation Method and system for multi-mode coverage for an autonomous robot
7430455, Jan 24 2000 iRobot Corporation Obstacle following sensor scheme for a mobile robot
7441298, Dec 02 2005 iRobot Corporation Coverage robot mobility
7444206, Sep 26 2001 MTD Products Inc Robotic vacuum cleaner
7448113, Jan 03 2002 IRobert Autonomous floor cleaning robot
7459871, Jan 28 2004 iRobot Corporation Debris sensor for cleaning apparatus
7489985, Oct 27 2004 Samsung Gwangju Electronics Co., Ltd. Robot cleaner system and a method for returning to external recharging apparatus
7515991, Mar 17 2003 Hitachi, Ltd.; Hitachi Home and Life Solutions, Inc. Self-propelled cleaning device and method of operation thereof
7567052, Jan 24 2001 iRobot Corporation Robot navigation
7571511, Jan 03 2002 iRobot Corporation Autonomous floor-cleaning robot
7579803, Jan 24 2001 iRobot Corporation Robot confinement
7620476, Feb 18 2005 iRobot Corporation Autonomous surface cleaning robot for dry cleaning
7636982, Jan 03 2002 iRobot Corporation Autonomous floor cleaning robot
7660650, Oct 08 2003 FIGLA CO , LTD Self-propelled working robot having horizontally movable work assembly retracting in different speed based on contact sensor input on the assembly
7663333, Jun 12 2001 iRobot Corporation Method and system for multi-mode coverage for an autonomous robot
7706917, Jul 07 2004 iRobot Corporation Celestial navigation system for an autonomous robot
7729803, Aug 31 2005 Samsung Gwangju Electronics Co., Ltd. System and method for returning robot cleaner to charger
7761954, Feb 18 2005 iRobot Corporation Autonomous surface cleaning robot for wet and dry cleaning
7769490, Dec 04 2001 MTD Products Inc Robotic vacuum cleaner
7801645, Mar 14 2003 Sharper Image Acquisition LLC Robotic vacuum cleaner with edge and object detection system
7805220, Mar 14 2003 Sharper Image Acquisition LLC Robot vacuum with internal mapping system
8087117, May 19 2006 iRobot Corporation Cleaning robot roller processing
8239992, May 09 2007 iRobot Corporation Compact autonomous coverage robot
8253368, Jan 28 2004 iRobot Corporation Debris sensor for cleaning apparatus
8266754, Feb 21 2006 iRobot Corporation Autonomous surface cleaning robot for wet and dry cleaning
8266760, Feb 18 2005 iRobot Corporation Autonomous surface cleaning robot for dry cleaning
8271129, Dec 02 2005 iRobot Corporation Robot system
8272092, May 09 2007 iRobot Corporation Compact autonomous coverage robot
8275482, Jan 24 2000 iRobot Corporation Obstacle following sensor scheme for a mobile robot
8311674, Sep 26 2001 MTD Products Inc Robotic vacuum cleaner
8347444, May 09 2007 iRobot Corporation Compact autonomous coverage robot
8359703, Dec 02 2005 iRobot Corporation Coverage robot mobility
8368339, Jan 24 2001 iRobot Corporation Robot confinement
8370985, May 09 2007 iRobot Corporation Compact autonomous coverage robot
8374721, Dec 02 2005 iRobot Corporation Robot system
8378613, Jan 28 2004 iRobot Corporation Debris sensor for cleaning apparatus
8380350, Dec 02 2005 iRobot Corporation Autonomous coverage robot navigation system
8382906, Feb 18 2005 iRobot Corporation Autonomous surface cleaning robot for wet cleaning
8386081, Sep 13 2002 iRobot Corporation Navigational control system for a robotic device
8387193, Feb 21 2006 iRobot Corporation Autonomous surface cleaning robot for wet and dry cleaning
8390251, Jan 21 2004 iRobot Corporation Autonomous robot auto-docking and energy management systems and methods
8392021, Feb 18 2005 iRobot Corporation Autonomous surface cleaning robot for wet cleaning
8396592, Jun 12 2001 iRobot Corporation Method and system for multi-mode coverage for an autonomous robot
8412377, Jan 24 2000 iRobot Corporation Obstacle following sensor scheme for a mobile robot
8417383, May 31 2006 iRobot Corporation Detecting robot stasis
8418303, May 19 2006 iRobot Corporation Cleaning robot roller processing
8438695, May 09 2007 iRobot Corporation Autonomous coverage robot sensing
8456125, Jan 28 2004 iRobot Corporation Debris sensor for cleaning apparatus
8461803, Jan 21 2004 iRobot Corporation Autonomous robot auto-docking and energy management systems and methods
8463438, Jun 12 2001 iRobot Corporation Method and system for multi-mode coverage for an autonomous robot
8474090, Jan 03 2002 iRobot Corporation Autonomous floor-cleaning robot
8478442, Jan 24 2000 iRobot Corporation Obstacle following sensor scheme for a mobile robot
8515578, Sep 13 2002 iRobot Corporation Navigational control system for a robotic device
8516651, Jan 03 2002 iRobot Corporation Autonomous floor-cleaning robot
8528157, May 19 2006 iRobot Corporation Coverage robots and associated cleaning bins
8565920, Jan 24 2000 iRobot Corporation Obstacle following sensor scheme for a mobile robot
8572799, May 19 2006 iRobot Corporation Removing debris from cleaning robots
8584305, Dec 02 2005 iRobot Corporation Modular robot
8594840, Jul 07 2004 iRobot Corporation Celestial navigation system for an autonomous robot
8600553, Dec 02 2005 iRobot Corporation Coverage robot mobility
8606401, Dec 02 2005 iRobot Corporation Autonomous coverage robot navigation system
8634956, Jul 07 2004 iRobot Corporation Celestial navigation system for an autonomous robot
8634960, Mar 17 2006 iRobot Corporation Lawn care robot
8656550, Jan 03 2002 iRobot Corporation Autonomous floor-cleaning robot
8659255, Jan 24 2001 iRobot Corporation Robot confinement
8659256, Jan 24 2001 iRobot Corporation Robot confinement
8661605, Dec 02 2005 iRobot Corporation Coverage robot mobility
8670866, Feb 18 2005 iRobot Corporation Autonomous surface cleaning robot for wet and dry cleaning
8671507, Jan 03 2002 iRobot Corporation Autonomous floor-cleaning robot
8726454, May 09 2007 iRobot Corporation Autonomous coverage robot
8732903, Dec 21 2006 VERSUNI HOLDING B V Cleaning nozzle and method for vacuum cleaning
8739355, Feb 18 2005 iRobot Corporation Autonomous surface cleaning robot for dry cleaning
8742926, Dec 30 2010 iRobot Corporation Debris monitoring
8749196, Jan 21 2004 iRobot Corporation Autonomous robot auto-docking and energy management systems and methods
8761931, Dec 02 2005 iRobot Corporation Robot system
8761935, Jan 24 2000 iRobot Corporation Obstacle following sensor scheme for a mobile robot
8763199, Jan 03 2002 iRobot Corporation Autonomous floor-cleaning robot
8774966, Feb 18 2005 iRobot Corporation Autonomous surface cleaning robot for wet and dry cleaning
8780342, Mar 29 2004 iRobot Corporation Methods and apparatus for position estimation using reflected light sources
8781627, Mar 17 2006 iRobot Corporation Robot confinement
8782848, Feb 18 2005 iRobot Corporation Autonomous surface cleaning robot for dry cleaning
8788092, Jan 24 2000 iRobot Corporation Obstacle following sensor scheme for a mobile robot
8793020, Sep 13 2002 iRobot Corporation Navigational control system for a robotic device
8800107, Feb 16 2010 iRobot Corporation; IROBOT Vacuum brush
8838274, Jun 12 2001 iRobot Corporation Method and system for multi-mode coverage for an autonomous robot
8839477, May 09 2007 iRobot Corporation Compact autonomous coverage robot
8854001, Jan 21 2004 iRobot Corporation Autonomous robot auto-docking and energy management systems and methods
8855813, Feb 18 2005 iRobot Corporation Autonomous surface cleaning robot for wet and dry cleaning
8862271, Sep 21 2012 iRobot Corporation Proximity sensing on mobile robots
8868237, Mar 17 2006 iRobot Corporation Robot confinement
8874264, Mar 31 2009 iRobot Corporation Celestial navigation system for an autonomous robot
8930023, Nov 06 2009 iRobot Corporation Localization by learning of wave-signal distributions
8950038, Dec 02 2005 iRobot Corporation Modular robot
8954192, Dec 02 2005 iRobot Corporation Navigating autonomous coverage robots
8954193, Mar 17 2006 iRobot Corporation Lawn care robot
8966707, Feb 18 2005 iRobot Corporation Autonomous surface cleaning robot for dry cleaning
8972052, Jul 07 2004 iRobot Corporation Celestial navigation system for an autonomous vehicle
8978196, Dec 02 2005 iRobot Corporation Coverage robot mobility
8985127, Feb 18 2005 iRobot Corporation Autonomous surface cleaning robot for wet cleaning
9008835, Jun 24 2004 iRobot Corporation Remote control scheduler and method for autonomous robotic device
9038233, Jan 03 2002 iRobot Corporation Autonomous floor-cleaning robot
9043952, Mar 17 2006 iRobot Corporation Lawn care robot
9043953, Mar 17 2006 iRobot Corporation Lawn care robot
9104204, Jun 12 2001 iRobot Corporation Method and system for multi-mode coverage for an autonomous robot
9128486, Sep 13 2002 iRobot Corporation Navigational control system for a robotic device
9144360, Dec 02 2005 iRobot Corporation Autonomous coverage robot navigation system
9144361, Jan 28 2004 iRobot Corporation Debris sensor for cleaning apparatus
9149170, Dec 02 2005 iRobot Corporation Navigating autonomous coverage robots
9167946, Jan 03 2002 iRobot Corporation Autonomous floor cleaning robot
9215957, Jan 21 2004 iRobot Corporation Autonomous robot auto-docking and energy management systems and methods
9223749, Jul 07 2004 iRobot Corporation Celestial navigation system for an autonomous vehicle
9229454, Jul 07 2004 iRobot Corporation Autonomous mobile robot system
9233471, Dec 30 2010 iRobot Corporation Debris monitoring
9317038, May 31 2006 iRobot Corporation Detecting robot stasis
9320398, Dec 02 2005 iRobot Corporation Autonomous coverage robots
9360300, Mar 29 2004 iRobot Corporation Methods and apparatus for position estimation using reflected light sources
9392920, Dec 02 2005 iRobot Corporation Robot system
9420741, Dec 15 2014 iRobot Corporation Robot lawnmower mapping
9436185, Dec 30 2010 iRobot Corporation Coverage robot navigating
9442488, Sep 21 2012 iRobot Corporation Proximity sensing on mobile robots
9445702, Feb 18 2005 iRobot Corporation Autonomous surface cleaning robot for wet and dry cleaning
9446521, Jan 24 2000 iRobot Corporation Obstacle following sensor scheme for a mobile robot
9480381, May 09 2007 iRobot Corporation Compact autonomous coverage robot
9486924, Jun 24 2004 iRobot Corporation Remote control scheduler and method for autonomous robotic device
9492048, May 19 2006 iRobot Corporation Removing debris from cleaning robots
9510505, Oct 10 2014 iRobot Corporation Autonomous robot localization
9516806, Oct 10 2014 iRobot Corporation Robotic lawn mowing boundary determination
9538702, Dec 22 2014 iRobot Corporation Robotic mowing of separated lawn areas
9554508, Mar 31 2014 iRobot Corporation Autonomous mobile robot
9582005, Jan 24 2001 iRobot Corporation Robot confinement
9591959, Jan 28 2004 iRobot Corporation Debris sensor for cleaning apparatus
9599990, Dec 02 2005 iRobot Corporation Robot system
9622635, Jan 03 2002 iRobot Corporation Autonomous floor-cleaning robot
9713302, Mar 17 2006 iRobot Corporation Robot confinement
9811089, Dec 19 2013 Aktiebolaget Electrolux Robotic cleaning device with perimeter recording function
9826678, Dec 22 2014 iRobot Corporation Robotic mowing of separated lawn areas
9826872, Dec 30 2010 iRobot Corporation Debris monitoring
9854737, Oct 10 2014 iRobot Corporation Robotic lawn mowing boundary determination
9939529, Aug 27 2012 Aktiebolaget Electrolux Robot positioning system
9946263, Dec 19 2013 Aktiebolaget Electrolux Prioritizing cleaning areas
9949608, Sep 13 2002 iRobot Corporation Navigational control system for a robotic device
9955841, May 19 2006 iRobot Corporation Removing debris from cleaning robots
Patent Priority Assignee Title
4996468, Sep 28 1987 Tennant Company Automated guided vehicle
5109566, Jun 28 1990 Matsushita Electric Industrial Co., Ltd. Self-running cleaning apparatus
5122957, Feb 28 1989 Nissan Motor Company Limited Autonomous vehicle for automatically/autonomously running on route of travel and its method using fuzzy control
5218542, Mar 30 1990 Shinko Electric Co., Ltd. Control system for unmanned carrier vehicle
5251358, Nov 26 1990 Matsushita Electric Industrial Co., Ltd. Vacuum cleaner with fuzzy logic
5307419, Nov 30 1990 Honda Giken Kogyo Kabushiki Kaisha Control device of an autonomously moving body and evaluation method for data thereof
5339241, Jul 13 1990 KABUSHIKI KAISHA ISEKIKAIHATSU KOKI A CORPORATION OF JAPAN Method and system for controlling a travelling body so as to move forward along the predetermined route of the movement of travelling body
Executed onAssignorAssigneeConveyanceFrameReelDoc
Date Maintenance Fee Events
Feb 13 1997ASPN: Payor Number Assigned.
May 16 2000REM: Maintenance Fee Reminder Mailed.
Oct 22 2000EXP: Patent Expired for Failure to Pay Maintenance Fees.


Date Maintenance Schedule
Oct 22 19994 years fee payment window open
Apr 22 20006 months grace period start (w surcharge)
Oct 22 2000patent expiry (for year 4)
Oct 22 20022 years to revive unintentionally abandoned end. (for year 4)
Oct 22 20038 years fee payment window open
Apr 22 20046 months grace period start (w surcharge)
Oct 22 2004patent expiry (for year 8)
Oct 22 20062 years to revive unintentionally abandoned end. (for year 8)
Oct 22 200712 years fee payment window open
Apr 22 20086 months grace period start (w surcharge)
Oct 22 2008patent expiry (for year 12)
Oct 22 20102 years to revive unintentionally abandoned end. (for year 12)