METHOD AND SYSTEM FOR MULTI-MODE COVERAGE FOR AN AUTONOMOUS ROBOT
1 Assignment
0 Petitions
Accused Products
Abstract
A control system for a mobile robot (10) is provided to effectively cover a given area by operating in a plurality of modes, including an obstacle following mode (51) and a random bounce mode (49). In other embodiments, spot coverage, such as spiraling (45), or other modes are also used to increase effectiveness. In addition, a behavior based architecture is used to implement the control system, and various escape behaviors are used to ensure full coverage.
-
Citations
37 Claims
-
1-2. -2. (canceled)
-
3. A surface coverage robot comprising:
-
at least one drive motor and at least one cleaning head motor, each motor having a motor current;
sensors responsive to an environment about the robot;
a memory storing;
instructions configured as a set of coverage behaviors for moving about a surface to be cleaned;
instructions configured as a set of escape behaviors for escaping a confining situation;
instructions configured as situation detectors to detect sensor conditions of the robot; and
instructions configured as an arbiter to enable control of the drive motor and the cleaning head motor according to a behavior priority, the arbiter passing on commands from a highest priority behavior to control the motors when enabling conditions of the highest priority behavior are satisfied; and
a controller in communication with the drive motor, the cleaning head motor, the sensors, and the memory, the controller executing the arbiter to control the motors according to the highest priority behavior;
wherein at least one situation detector increases a detector variable each time a motor current exceeds a current threshold and compares the detector variable to a threshold level, the arbitrator resolving one of the escape behaviors as the dominant behavior when the detector variable exceeds the threshold level. - View Dependent Claims (4, 5, 6)
-
-
8-13. -13. (canceled)
-
14. A surface coverage robot comprising:
-
at least one drive motor and at least one cleaning head motor, each motor having a motor current;
a bump sensor configured to detect an obstacle along a forward travel direction;
a memory storing;
instructions configured as a set of coverage behaviors for moving about a surface to be cleaned;
instructions configured as a set of escape behaviors for escaping a confining situation;
instructions configured as situation detectors to detect sensor conditions of the robot; and
instructions configured as an arbiter to enable control of the drive motor and the cleaning head motor according to a behavior priority, the arbiter passing on commands from a highest priority behavior to control the motors when enabling conditions of the highest priority behavior are satisfied; and
a controller in communication with the drive motor, the cleaning head motor, the bump sensor, and the memory, the controller executing the arbiter to control the motors according to the highest priority behavior;
wherein at least one situation detector computes a distance between detected bumps and compares the distance to a bump distance threshold, the arbitrator resolving one of the escape behaviors as the dominant behavior when the distance bumps exceeds the bump distance threshold. - View Dependent Claims (15, 18, 20)
-
-
16-17. -17. (canceled)
-
19. (canceled)
-
21. (canceled)
-
22. A surface coverage robot comprising:
-
a plurality of motors each motor having a motor current;
sensors responsive to an environment about the robot;
a memory storing;
instructions configured as a set of coverage behaviors for moving about a surface to be cleaned;
instructions configured as a set of escape behaviors for escaping a confining situation, the escape behaviors comprising behaviors for driving the drive motors and behaviors for driving the cleaning head motors;
instructions configured as situation detectors to detect sensor conditions of the robot; and
instructions configured as an arbiter to enable control of the motors according to a behavior priority, the arbiter passing on commands from a highest priority behavior to control the motors when enabling conditions of the highest priority behavior are satisfied; and
a controller in communication with the motors, the sensors, and the memory, the controller executing the arbiter to control the motors according to the highest priority behavior;
wherein at least one situation detector increases a detector variable each time a motor current exceeds a current threshold and compares the variable to a threshold level, the arbitrator resolving one of the escape behaviors or one of the coverage behaviors as the dominant behavior depending on whether the detector variable exceeds the threshold level. - View Dependent Claims (23, 24)
-
-
25. A surface coverage robot comprising:
-
at least one drive motor and at least one cleaning head motor, each motor having a motor current;
sensors responsive to an environment about the robot;
a memory storing;
instructions configured as a set of coverage behaviors for moving about a surface to be cleaned;
instructions configured as a set of escape behaviors for escaping a confining situation;
instructions configured as a cliff avoidance behavior for avoiding a cliff;
instructions configured as situation detectors to detect sensor conditions of the robot; and
instructions configured as an arbiter to enable control of the drive motors according to a behavior priority, the arbiter passing on commands from a highest priority behavior to control the motors when enabling conditions of the highest priority behavior are satisfied; and
a controller in communication with the drive motors, the sensors, and the memory, the controller executing the arbiter to control the motors according to the highest priority behavior;
wherein the arbitrator resolves;
a cliff avoidance behavior as the dominant behavior over coverage behaviors when a cliff detector directed to observe the cleaning surface detects a vertical drop; and
an escape behavior as the dominant behavior over coverage behaviors when a situation detector detects a confining situation. - View Dependent Claims (26, 27, 28, 29, 30, 31)
-
-
32. A surface coverage robot comprising:
-
a plurality of drive motors;
a bump sensor configured to detect a proximate obstacle along a direction of travel;
a memory storing;
instructions configured as a set of coverage behaviors for moving about a surface to be cleaned;
instructions configured as a set of escape behaviors for escaping a confining situation;
instructions configured as situation detectors to detect sensor conditions of the robot; and
instructions configured as an arbiter to enable control of the drive motors according to a behavior priority, the arbiter passing on commands from a highest priority behavior to control the motors when enabling conditions of the highest priority behavior are satisfied; and
a controller in communication with the drive motors, the bump sensor, and the memory, the controller executing the arbiter to control the motors according to the highest priority behavior;
wherein the arbitrator selects escape behaviors from among;
a random direction behavior that turns the robot in a random direction, a following behavior that follows an adjacent obstacle using the bump sensor, and a speed change behavior that temporarily changes a coverage speed of the robot. - View Dependent Claims (33, 34, 35, 36, 37)
-
Specification