AUTONOMOUS ROBOT AUTO-DOCKING AND ENERGY MANAGEMENT SYSTEMS AND METHODS
20200323408 ยท 2020-10-15
Inventors
- David A. Cohen (Brookline, MA, US)
- Daniel N. Ozick (Newton, MA, US)
- Clara Vu (Cambridge, MA, US)
- James Lynch (Georgetown, MA, US)
- Philip R. Mass (Portland, OR)
Cpc classification
G05D1/0225
PHYSICS
B25J9/1664
PERFORMING OPERATIONS; TRANSPORTING
B25J19/005
PERFORMING OPERATIONS; TRANSPORTING
A47L9/0063
HUMAN NECESSITIES
H02J7/0045
ELECTRICITY
Y02T90/14
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
A47L9/009
HUMAN NECESSITIES
Y02T10/70
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
G05D1/0227
PHYSICS
Y10S901/01
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
H02J7/00
ELECTRICITY
A47L2201/04
HUMAN NECESSITIES
B25J5/00
PERFORMING OPERATIONS; TRANSPORTING
A47L9/2857
HUMAN NECESSITIES
H02J7/00714
ELECTRICITY
G01S1/16
PHYSICS
A47L9/2894
HUMAN NECESSITIES
H02J7/0044
ELECTRICITY
A47L9/2852
HUMAN NECESSITIES
Y02T90/12
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
A47L9/2889
HUMAN NECESSITIES
Y02T10/7072
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
International classification
A47L9/28
HUMAN NECESSITIES
A47L9/00
HUMAN NECESSITIES
B25J11/00
PERFORMING OPERATIONS; TRANSPORTING
B25J19/00
PERFORMING OPERATIONS; TRANSPORTING
B25J5/00
PERFORMING OPERATIONS; TRANSPORTING
G01S1/16
PHYSICS
Abstract
A method for energy management robotic device includes providing a base station for mating with the robotic device, determining a quantity of energy stored in an energy storage unit of the robotic device, and performing a predetermined task based at least in part on the quantity of energy stored. Also disclosed are systems for emitting avoidance signals to prevent inadvertent contact between the robot and the base station, and systems for emitting homing signals to allow the robotic device to accurately dock with the base station.
Claims
1-30. (canceled)
31. A method comprising: directing a cleaning robot about a room to clean the room and determining an amount of the room remaining to be cleaned; and charging an energy storage unit of the cleaning robot such that the energy storage unit is charged to an amount that is a function of the amount of the room remaining to be cleaned, the energy storage unit being charged by a base station.
32. The method of claim 31, wherein charging the energy storage unit comprises charging the energy storage unit such that the energy storage unit is only partially charged as a function of a portion of the room remaining to be cleaned before leaving the base station to continue cleaning the room.
33. The method of claim 31, wherein charging the energy storage unit comprises charging the energy storage unit such that the energy storage unit is partially charged as a function of a first portion of the room remaining to be cleaned before leaving the base station to continue cleaning the room.
34. The method of claim 33, wherein charging the energy storage unit comprises charging such that the energy storage unit is fully charged as a function of a second portion of the room remaining to be cleaned before continuing cleaning the room, the second portion of the room being larger than the first portion of the room.
35. The method of claim 31, wherein determining the amount of the room remaining to be cleaned comprises determining the amount of the room remaining to be cleaned based on a coded signal received from the base station.
36. The method of claim 31, wherein determining the amount of the room remaining to be cleaned comprises determining the amount of the room remaining to be cleaned based on a cleaning route of the cleaning robot.
37. The method of claim 31, further comprising, following charging the energy storage unit, directing the cleaning robot to an uncleaned portion of the room.
38. The method of claim 31, wherein directing the cleaning robot about the room to clean the room comprises restricting movement of the cleaning robot to an area within the room.
39. The method of claim 31, wherein directing the cleaning robot about the room comprises directing the cleaning robot about the room along a path selected by the cleaning robot.
40. The method of claim 31, wherein directing the cleaning robot about the room comprises: generating a control signal; and communicating the control signal to the cleaning robot to direct the cleaning robot about the room.
41. The method of claim 31, further comprising generating data for representing a map of the room with respect to an object in the room as a point of reference.
42. The method of claim 41, wherein the object comprises the base station.
43. The method of claim 41, wherein the object comprises a wall of the room.
44. An autonomous cleaning robot comprising: a motive system to support the autonomous cleaning robot on a floor surface in a room, the motive system configured to move the autonomous cleaning robot about the room; and an energy storage unit configured to be charged while the autonomous cleaning robot is positioned at a base station, wherein the autonomous cleaning robot is configured to operate the motive system to: move the autonomous cleaning robot about the room to clean a first portion of the room, based on an energy level of the energy storage unit, move the autonomous cleaning robot to the base station to initiate charging of the energy storage unit to an amount that is a function of a second portion of the room remaining to be cleaned, and then move the autonomous cleaning robot about the room to clean the second portion of the room.
45. The autonomous cleaning robot of claim 44, wherein: configurations of the autonomous cleaning robot to operate the motive system to move the autonomous cleaning robot about the room to clean the second portion of the room comprise configurations of the autonomous cleaning robot to receive an external signal to cause the autonomous cleaning robot to operate the motive system to move the autonomous cleaning robot about the room to clean the second portion of the room.
46. The autonomous cleaning robot of claim 44, wherein the autonomous cleaning robot is configured to generate data for representing a map of the room with respect to an object in the room as a point of reference as the autonomous cleaning robot operates the motive system to move the autonomous cleaning robot about the room to clean the first portion of the room.
47. The autonomous cleaning robot of claim 46, wherein the object comprises a base station.
48. The autonomous cleaning robot of claim 46, wherein the object comprises a wall.
49. The autonomous cleaning robot of claim 44, wherein the autonomous cleaning robot is configured to provide data to an external processor for determining the energy level of the energy storage unit.
50. A method comprising: determining an energy level of a cleaning robot positioned at a base station, the cleaning robot and the base station being positioned within a room; charging the cleaning robot such that the cleaning robot is charged to an amount that is a function of an amount of an uncleaned portion of the room, the cleaning robot being charged by the base station; and transmitting a signal to the cleaning robot to cause the cleaning robot to move to the uncleaned portion of the room and clean the uncleaned portion of the room.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0019] In the drawings, like reference characters generally refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead generally being placed upon illustrating the principles of the invention. In the following description, various embodiments of the present invention are described with reference to the following drawings, in which:
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
DETAILED DESCRIPTION
[0029]
[0030] The contacts 16 are sized and positioned to reliably and repeatably contact the corresponding contacts on the robot. For example, the contacts 16 may be oversized and/or may extend above the base plate 12, e.g. in a domed shape, to ensure contact with the robot contacts. Alternatively, the contacts 16 may be flush-mounted on a base plate 12 with a higher angle of rise or may protrude above a base plate 12 that is flat or has substantially no rise. Depending on the application, the base plate 12 angle of rise may vary from 0 to up to 20 and greater. The embodiment depicted in
[0031] The backstop 14 provides locations for many of the base station 10 components. Specifically, in the depicted embodiment, the backstop 14 includes a top signal emitter 18, a front signal emitter 20, several indicator LEDs 22, and an AC plug receptacle 24. The top signal emitter 18 generates a first signal, such as an avoidance signal (
[0032] While the location of the top signal emitter 18 may vary, locating the emitter 18 on top of the backstop 14 transmits the avoidance signal through an uninterrupted 360 field around the base station 10. Alternatively, base stations designed for corner, on-wall, or near-wall installation may project the avoidance signal substantially only along the unobstructed side. The front signal emitter 20 projects one or more additional signals, such as homing beams (
[0033]
[0034] In the embodiment depicted, the housing infrastructure 42 of the robot 40 includes a chassis 44, a cover 46, and a displaceable bumper 48. The chassis 44 may be molded from a material such as plastic as a unitary element that includes a plurality of preformed wells, recesses, and structural members for, inter alia, mounting or integrating elements of the various subsystems that operate the robotic device 40. Such subsystems may include a microprocessor, a power subsystem (including one or more power sources for the various subsystems and components), a motive subsystem, a sensor subsystem, and task-specific component subsystems. The cover 46 may be molded from a material such as plastic as a unitary element that is complementary in configuration with the chassis 44 and provides protection of and access to elements and components mounted to the chassis 44. The chassis 44 and the cover 46 are detachably integrated in combination by any suitable means (e.g., screws), and in combination, the chassis 44 and cover 46 form a structural envelope of minimal height having a generally cylindrical configuration that is generally symmetrical along the fore-aft axis FA.
[0035] The displaceable bumper 48, which has a generally arcuate configuration, is mounted in movable combination at the forward portion of the chassis 44 to extend outwardly therefrom (the normal operating position). The mounting configuration of the displaceable bumper 48 is such that it is displaced towards the chassis 44 (from the normal operating position) whenever the bumper 48 encounters a stationary object or obstacle of predetermined mass (the displaced position), and returns to the normal operating position when contact with the stationary object or obstacle is terminated (due to operation of a control sequence which, in response to any such displacement of the bumper 48, implements a bounce mode that causes the robot 40 to evade the stationary object or obstacle and continue its task routine).
[0036] Mounted on the robotic device 40 are a pair of detectors 50, 52. In this embodiment of the robotic device 40, the detectors 50, 52 receive signals projected from the emitters 18, 20 on the base station 10. In other embodiments, a single detector receives signals from both emitters 18, 20 on the base station 10, or more than two detectors may be used. In certain embodiments, the detectors 50, 52 are standard infrared (IR) detector modules, that include a photodiode and related amplification and detection circuitry, in conjunction with an omni-directional lens, where omni-directional refers to a substantially single plane. The IR detector module can be of the type manufactured by East Dynamic Corporation (p/n IRM-8601S). However, any detector, regardless of modulation or peak detection wavelength, can be used as long as the emitters 18, 20 on the base station 10 are adapted to match the detectors 50, 52 on the robot 40. In another embodiment, IR phototransistors may be used with or without electronic amplification elements and may be connected directly to the analog inputs of a microprocessor. Signal processing may then be used to measure the intensity of IR light at the robot 40, which provides an estimate of the distance between the robot 40 and the source of IR light. Alternatively, radio frequencies, magnetic fields and ultrasonic sensors and transducers may be employed. As shown in
[0037] While the detector 50 is mounted at the highest point of the robot 40 in order to avoid shadows, it is desirable in certain applications to minimize the height of the robot 40 and/or the detector 50 to prevent operational difficulties and to allow the robot 40 to pass under obstacles. In certain embodiments, the detector 50 can be spring-mounted to allow the detector 50 to collapse into the body of the robot 40 when the robot 40 runs under a solid overhanging object.
[0038] One of skill in the art will recognize that, in alternative embodiments, multiple detectors can be used. Such an embodiment might include using multiple side-mounted sensors or detectors. Each of the sensors can be oriented in a manner so that a collective field of view of all the sensors corresponds to that of the single, top mounted sensor. Because a single, omni-directional detector is mounted at the highest point of the robot for optimal performance, it is possible to lower the profile of the robot by incorporating multiple, side mounted detectors.
[0039] The undercarriage of the robotic device 40 is indicated generally by numeral 54. One or more charging contacts are present in the undercarriage 54, configured in such a location to correspond with the location of the electrical contacts 16 of the base station 10. Generally, the charging contacts on the robotic device mirror those present on the base station 10, regardless of their location or orientation. In certain embodiments, the charging contacts may be larger on either the base station 10 or robot 40, to allow wider compliance in making contact. Also, the motive and task specific components of the robot 40 are located in the undercarriage 54. The motive components may include any combination of motors, wheels, drive shafts, or tracks as desired, based on cost or intended application of the robot 40, all of which are well known in the art. The motive components may include at least one caster 56 which, in this embodiment, drives the robot 40 and mates with the depression 26 on the base plate 12. As the tasks to which the robotic device 40 is suited are virtually unlimited, so too are the components to perform those tasks. For example, the robotic device 40 may be used for floor waxing and polishing, floor scrubbing, ice resurfacing (as typically performed by equipment manufactured under the brand name Zamboni), sweeping and vacuuming, unfinished floor sanding and stain/paint application, ice melting and snow removal, grass cutting, etc. Any number of components may be required for such tasks, and may each be incorporated into the robotic device 40, as necessary. For simplicity, this application will describe vacuuming as the demonstrative predetermined task. It will be apparent, though, that the energy management and auto-docking functions disclosed herein have wide application across a variety of robotic systems.
[0040] The robotic device 40 uses a variety of behavioral modes to vacuum effectively a working area. Behavioral modes are layers of control systems that can be operated in parallel. The microprocessor is operative to execute a prioritized arbitration scheme to identify and implement one or more dominant behavioral modes for any given scenario, based upon inputs from the sensor system. The microprocessor is also operative to coordinate avoidance, homing, and docking maneuvers with the base station 10.
[0041] Generally, the behavioral modes for the described robotic device 40 can be characterized as: (1) coverage behavioral modes; (2) escape behavioral modes; and (3) safety behavioral modes. Coverage behavioral modes are primarily designed to allow the robotic device 40 to perform its operations in an efficient and effective manner, while the escape and safety behavioral modes are priority behavioral modes implemented when a signal from the sensor system indicates that normal operation of the robotic device 40 is impaired (e.g., obstacle encountered), or is likely to be impaired (e.g., drop-off detected).
[0042] Representative and illustrative coverage behavioral modes (for vacuuming) for the robotic device 40 include: (1) a Spot Coverage pattern; (2) an Obstacle-Following (or Edge-Cleaning) Coverage pattern, and (3) a Room Coverage pattern. The Spot Coverage pattern causes the robotic device 40 to clean a limited area within the defined working area, e.g., a high-traffic area. In a certain embodiments the Spot Coverage pattern is implemented by means of a spiral algorithm (but other types of self-bounded area algorithms, such as polygonal, can be used). The spiral algorithm, which causes outward or inward spiraling movement of the robotic device 40, is implemented by control signals from the microprocessor to the motive system to change the turn radius/radii thereof as a function of time or distance traveled (thereby increasing/decreasing the spiral movement pattern of the robotic device 40).
[0043] The robotic device 40 is operated in the Spot Coverage pattern for a predetermined or random period of time, for a predetermined or random distance (e.g., a maximum spiral distance) and/or until the occurrence of a specified event, e.g., activation of one or more of the obstacle detection systems (collectively a transition condition). Once a transition condition occurs, the robotic device 40 can implement or transition to a different behavioral mode, e.g., a Straight Line behavioral mode (in one embodiment of the robotic device 40, the Straight Line behavioral mode is a low priority, default behavior that propels the robot in an approximately straight line at a preset velocity of approximately 0.306 m/s) or a Bounce behavioral mode in combination with a Straight Line behavioral mode. The Bounce behavioral mode is a basic function that allows the robot 40 to evade a stationary object or obstacle and continue its task routine. Avoidance is achieved by executing a series of turns until the obstacle is no longer detected (i.e., the bumper 48 is no longer compressed).
[0044] If the transition condition is the result of the robotic device 40 encountering an obstacle, the robotic device 40 can take other actions in lieu of transitioning to a different behavioral mode. The robotic device 40 can momentarily implement a behavioral mode to avoid or escape the obstacle and resume operation under control of the spiral algorithm (i.e., continue spiraling in the same direction). Alternatively, the robotic device 40 can momentarily implement a behavioral mode to avoid or escape the obstacle and resume operation under control of the spiral algorithm (but in the opposite directionreflective spiraling).
[0045] The Obstacle-Following Coverage pattern causes the robotic device 40 to clean the perimeter of the defined working area, e.g., a room bounded by walls, and/or the perimeter of an obstacle (e.g., furniture) within the defined working area. Preferably, the robotic device 40 utilizes an obstacle-following system to continuously maintain its position with respect to an obstacle, such as a wall or a piece of furniture, so that the motion of the robotic device 40 causes it to travel adjacent to and concomitantly clean along the perimeter of the obstacle. Different embodiments of the obstacle-following system can be used to implement the Obstacle-Following behavioral pattern.
[0046] In certain embodiments, the obstacle-following system is operated to detect the presence or absence of the obstacle. In an alternative embodiment, the obstacle-following system is operated to detect an obstacle and then maintain a predetermined distance between the obstacle and the robotic device 40. In the first embodiment, the microprocessor is operative, in response to signals from the obstacle-following system, to implement small clockwise or counterclockwise turns to maintain its position with respect to the obstacle. The robotic device 40 implements a small clockwise turn hen the robotic device 40 transitions from obstacle detection to non-detection (reflection to non-reflection) or to implement a small counterclockwise turn when the robotic device 40 transitions from non-detection to detection (non-reflection to reflection). Similar turning behaviors are implemented by the robotic device 40 to maintain the predetermined distance from the obstacle.
[0047] The robotic device 40 is operated in the Obstacle-Following behavioral mode for a predetermined or random period of time, for a predetermined or random distance (e.g., a maximum or minimum distance) and/or until the occurrence of a specified event, e.g., activation of one or more of the obstacle detection system a predetermined number of times (collectively a transition condition). In certain embodiments, the microprocessor will cause the robotic device 40 to implement an Align behavioral mode upon activation of the obstacle-detection system in the Obstacle-Following behavioral mode, wherein the robot 40 implements a minimum angle counterclockwise turn to align the robotic device 40 with the obstacle.
[0048] The Room Coverage pattern can be used by the robotic device 40 to clean any defined working area that is bounded by walls, stairs, obstacles or other barriers (e.g., a virtual wall unit that prevents the robotic device 40 from passing through an otherwise unbounded zone). Certain embodiments of the Room Coverage pattern include the Random-Bounce behavioral mode in combination with the Straight Line behavioral mode. Initially, the robotic device 40 travels under control of the Straight-Line behavioral mode (wheels operating at the same rotational speed in the same direction) until an obstacle is encountered. The obstacle may be indicated by physical contact with a wall or detection of the base station avoidance signal. Upon activation of one or more of the obstacle detection system, the microprocessor is operative to compute an acceptable range of new directions based upon the obstacle detection system activated. The microprocessor selects a new heading from within the acceptable range and implements a clockwise or counterclockwise turn to achieve the new heading with minimal movement. In some embodiments, the new turn heading may be followed by forward movement to increase the cleaning efficiency of the robotic device 40. The new heading may be randomly selected across the acceptable range of headings, or based upon some statistical selection scheme, such as Gaussian distribution. In other embodiments of the Room Coverage behavioral mode, the microprocessing unit can be programmed to change headings randomly or at predetermined times, without input from the sensor system.
[0049] The robotic device 40 is operated in the Room Coverage behavioral mode for a predetermined or random period of time, for a predetermined or random distance (e.g., a maximum or minimum distance) and/or until the occurrence of a specified event, e.g., activation of the obstacle-detection system a predetermined number of times (collectively a transition condition).
[0050] Certain embodiments of the robotic device 40 include four escape behavioral modes: a Turn behavioral mode, an Edge behavioral mode, a Wheel Drop behavioral mode, and a Slow behavioral mode. One skilled in the art will appreciate that other behavioral modes can be utilized by the robotic device 40. One or more of these behavioral modes may be implemented, for example, in response to a current rise in one of the task components (indicating some sort of interference), the forward bumper 48 being in compressed position for determined time period, or detection of a wheel-drop event.
[0051] In the Turn behavioral mode, the robotic device 40 turns in place in a random direction, starting at higher velocity (e.g., twice normal turning velocity) and decreasing to a lower velocity (one-half normal turning velocity), i.e., small panic turns and large panic turns, respectively. Low panic turns are preferably in the range of 45 to 90, large, panic turns are preferably in the range of 90 to 270. The Turn behavioral mode prevents the robotic device 40 from becoming stuck on surface impediments (e.g., high spot on carpet), from becoming stuck under other obstacles (e.g., an overhang), or from becoming trapped in a confined area.
[0052] In the Edge behavioral mode, the robotic device 40 follows the edge of an obstacle unit it has turned through a predetermined number of degrees, without activation of any of the obstacle detection units, or until the robotic device 40 has turned through a predetermined number of degrees, since initiation of the Edge behavioral mode. The Edge behavioral mode allows the robotic device 40 to move through the smallest possible openings to escape from confined areas.
[0053] In the Wheel Drop behavioral mode, the microprocessor reverses the direction of the main wheel drive assemblies momentarily, then stops them. If the activated wheel drop sensor deactivates within a predetermined time, the microprocessor then reimplements the behavioral mode that was being executed prior to the activation of the wheel drop sensor.
[0054] In response to certain events, e.g., activation of a wheel drop sensor or a cliff detector, the Slow behavioral mode is implemented to slow down the robotic device 40 for a predetermined distance and then ramp back up to its normal operating speed.
[0055] When a safety condition is detected by the sensor subsystem, e.g., a series of task component or wheel stalls that cause the corresponding electric motors to be temporarily cycled off, or a wheel drop sensor or a cliff detection sensor activated for greater that a predetermined period of time, the robotic device 40 is generally cycled to an off state. In addition, an audible alarm may be generated.
[0056] The foregoing description of typical behavioral modes for the robotic device 40 are intended to be representative of the types of operating modes that can be implemented by the robotic device 40. One skilled in the art will appreciate that the behavioral modes described above can be implemented in other combinations and other modes can be defined to achieve a desired result in a particular application.
[0057] A navigational control system may be used advantageously in combination with the robotic device 40 to enhance the cleaning efficiency thereof, by adding a deterministic component (in the form of a control signal that controls the movement of the robotic device 40) to the motion algorithms, including random motion, autonomously implemented by the robotic device 40. The navigational control system operates under the direction of a navigation control algorithm. The navigation control algorithm includes a definition of a predetermined triggering event.
[0058] Broadly described, the navigational control system, under the direction of the navigation control algorithm, monitors the movement activity of the robotic device 40. In one embodiment, the monitored movement activity is defined in terms of the position history of the robotic device 40, as described in further detail below. In another embodiment, the monitored movement activity is defined in terms of the instantaneous position of the robotic device 40.
[0059] The predetermined triggering event is a specific occurrence or condition in the movement activity of the robotic device 40. Upon the realization of the predetermined triggering event, the navigational control system operates to generate and communicate a control signal to the robotic device 40. In response to the control signal, the robotic device 40 operates to implement or execute a conduct prescribed by the control signal, i.e., the prescribed conduct. This prescribed conduct represents a deterministic component of the movement activity of the robotic device 40.
[0060] While the robotic device 40 is vacuuming, it will periodically approach the stationary base station 10. Contact with the base station 10 could damage or move the base station into an area that would make docking impossible. Therefore, avoidance functionality is desirable. To avoid inadvertent contact, the base station 10 may generate an avoidance signal 60, as depicted in
[0061] Here, the avoidance signal 60 is depicted as an omni-directional (i.e., single plane) infrared beam, although other signals are contemplated, such as a plurality of single stationary beams or signals. If stationary beams are used, however, a sufficient number could provide adequate coverage around the base station 10 to increase the chances of the robotic device 40 encountering them. When the detector 50 of the robotic device 40 receives the avoidance signal 60 from the emitter 18, the robotic device 40 can alter its course, as required, to avoid the base station 10. Alternatively, if the robotic device. 40 is actively or passively seeking the base station 10 (for recharging or other docking purposes), it can alter its course toward the base station 10, such as by circling the base station 10, in such a way to increase the chances of encountering the homing signals described with respect to
[0062] In certain embodiments, a collimated IR emitter is used, such as Waitrony pin IE-320H. Because of potential interference from sunlight and other IR sources, most IR devices, such as remote controls, personal digital assistants and other IR communication devices, emit signals that may be modulated. Herein, the emitters 18, 20 modulate the beams at 38 kHz. In an embodiment of the present invention, additional modulation of the beams at a frequency, far example 500 Hz, different from the frequency of common IR bit streams, prevents interference with other IR equipment. Generally, the avoidance signal 60 is coded, as are the homing signals 62, 64. The bit encoding method as well as binary codes are selected such that the robot 40 can detect the presence of each signal, even if the robot 40 receives multiple codes simultaneously.
[0063] Whenever a measurable level of IR radiation from the avoidance signal 60 strikes the detector 50, the robot's IR avoidance behavior is triggered. In one embodiment, this behavior causes the robot 40 to spin in place to the left until the IR signal falls below detectable levels. The robot 40 then resumes its previous motion. Spinning left is desired in certain systems because, by convention, the robot may attempt to keep all objects to its right during following operations. The robot's avoidance behavior is consistent with its other behaviors if it spins left on detecting the avoidance signal 60. In one embodiment, the detector 50 acts as a gradient detector. When the robot 40 encounters a region of higher IR intensity, the robot 40 spins in place. Because the detector 50 is mounted at the front of the robot 40 and because the robot 40 does not move backward, the detector 50 always sees the increasing IR intensity before other parts of the robot 40. Thus, spinning in place causes the detector 50 to move to a region of decreased intensity. When the robot 40 next moves forward, it necessarily moves to a region of decreased IR intensityaway from the avoidance signal 60.
[0064] In other embodiments, the base station 10 includes multiple coded emitters. at different power levels or emitters that vary their power level using a system of time multiplexing. These create concentric coded signal rings which enable the robot 40 to navigate towards the base station 10 from far away in the room. Thus, the robot 40 would be aware of the presence of the base station 10 at all times, facilitating locating the base station 10, docking, determining how much of the room has been cleaned, etc. Alternatively, the robot 40 uses its motion through the IR field to measure a gradient of IR energy. When the sign of the gradient is negative (i.e., the detected energy is decreasing with motion), the robot 40 goes straight (away from the IR source). When the sign of the gradient is positive (energy increasing), the robot 40 turns. The net effect is to implement a gradient descent algorithm, with the robot 40 escaping from the source of the avoidance signal 60. This gradient method may also be used to seek the source of emitted signals. The concentric rings at varying power levels facilitate this possibility even without a means for determination of the raw signal strength.
[0065] A flowchart of one embodiment of the control logic of the avoidance behavior 100 is shown in
[0066] While in flowchart step 120, the direction selection algorithm 120a, illustrated in the flowchart shown in
[0067] In other embodiments, the robot 40 can always turn in a single direction or choose a direction randomly. When the robot 40 always turns in one direction, it may get stuck in a loop by turning away from the beam, bumping into other obstacle in a room, turning back toward the beam, seeing the beam again, turning away, bumping again, ad infinitum. Moreover, when the robot 40 only turns in a single direction, it consequently may fail to vacuum certain areas of the floor. Thus, where the robot's task is to complete work evenly throughout a room, a single turning direction may not be optimal. If the direction is chosen purely randomly, the robot 40 may turn back and forth often, as it encounters the beam.
[0068] Again referring to
[0069]
[0070] In addition to operating as navigational beacons, homing signals 62, 64 (and even the avoidance signal 60) may also be used to transmit information, including programming data, fail safe and diagnostic information, docking control data and information, maintenance and control sequences, etc. In such an embodiment, the signals can provide the control information, dictating the robot's reactions, as opposed to the robot 40 taking certain actions upon contacting certain signals from the base station 10. In that case, the robot 40 functions as more of a slave to the base station 10, operating as directed by the signals sent.
[0071] The robot 40 performs its docking with the base station 10 accurately and repeatably, without the need for gross mechanical guidance features. The two homing signals 62, 64 are distinguishable by the robotic device, for example as a red signal 62 and a green signal 64. IR beams are generally used to produce the signals d, as such, are not visible. The color distinction is given for illustrative purposes only, and any color (i.e., signal bit pattern) may be used, provided the robotic device 40 recognizes which signal to orient a particular side. Alternatively, the signals 62, 64 may be distinguished by using different wavelengths or by using different carrier frequencies (e.g., 380 kHz versus 38 kHz, etc.).
[0072] Thus, when the robotic device 40 wants or needs to dock, if the detector 50 receives the red signal 62 transmitting from the base station 10, it moves to keep the red signal 62 on the robot's right side; if it detects the green signal 64 transmitting from the base station 10, it moves to keep the green signal 64 on the robot's left side. Where the two signals overlap (the yellow zone 66), the robot 40 knows that the base station 10 is nearby and may then dock. Such a system may be optimized to make the yellow zone 66 as thin as practicably possible, to ensure proper orientation and approach of the robot 40 and successful docking. Alternatively, the red signal 62 and green signal 64 may be replaced by a single signal, which the robot 40 would follow until docked.
[0073]
[0074] Various methods are contemplated for ensuring that the robot 40 correctly docks with base station 10. For example, the robot 40 can continue to move toward the base station 10 (within the yellow zone 66) until the bumper 48 is depressed, signaling the robot 40 that it has contacted the base station 10. Another embodiment overlaps the homing signals 62, 64 such that the yellow zone 66 terminates at a point calibrated such that the robot 40 will contact the charging contacts 16 upon reaching the termination point. Other embodiments simply stop the robot 40 when its electrical contacts touch the electrical contacts 16 on the base station 10. This would guarantee that the robot 40 is moving over the contacts 16, providing a wiping action that cleans the contacts 16 and improves the electrical integrity of the connection. This also enables the base station 10 to be lighter, since it does not have to resist the force necessary to depress the robot's bumper 48.
[0075] While this embodiment of the invention describes case of IR signals for both avoidance and homing, the system and method of the present invention can use other signals to accomplish the goals. Other types of waves may have drawbacks, however. For example, radio waves are more difficult and expensive to make directional, and visible light suffers from interference from many sources and may be distracting to users. Sound waves could also be used, but it is similarly difficult to make sound purely directional and such waves tend to scatter and reflect more.
[0076]
[0077] Once the energy remaining drops below a predetermined high level, the robot 40 enters its medium energy level sequence 220. The robot 40 continues to vacuum and monitor its energy level 224, employing methods indicated in step 214 above. In the medium energy level 220, however, the robot 40 passively seeks 222 the base station 10. While passively seeking 222 the base station 10, the robot 40 does not alter its travel characteristics; rather, it continues about its normal behavioral mode until it fortuitously detects the avoidance signal 60 or a homing signal 62, 64, each of which may be followed until the robot 40 ultimately docks with the base station 10. In other words, if the robot detects the avoidance signal 60 while passively seeking 222, rather than avoiding the base station 10 as it normally would, it alters its travel characteristics until it detects the homing signals 62 or 64, thus allowing it to dock.
[0078] Alternatively, the robot 40 continues operating in this medium energy level subsequence 220 until it registers an energy level 224 below a predetermined low level. At this point, the robot 40 enters the low level subsequence 230, characterized by a change in operation and travel characteristics. To conserve energy, the robot 40 may discontinue powering all incidental systems, and operations, such as vacuuming, allowing it to conserve as much energy as possible for actively searching 232 for the base station 10. While actively searching 232, the robot 40 may alter its travel characteristics to increase its chances of finding the base station 10. It may discontinue behavioral modes such as those employing a spiral movement, which do not necessarily create a higher chance of locating the base station, in favor of more deliberate modes, such as wall-following. This deliberate seeking will continue until the robot 40 detects the presence of the base station 10, either by detecting the avoidance signal 60 or the homing signals 62, 64. Clearly, additional subsequences may be incorporated which sound alarms when the power remaining reaches a critical level, or which reconstruct the route the robot 40 has taken since last contacting the base station 10 to aid in relocating the station 10.
[0079] The robot 40 may also dock because it has determined that it has completed its assigned task (e.g., vacuuming a room). The robot 40 may make this determination based on a variety of factors, including considerations regarding room size, total run time, total distance traveled, dirt sensing, etc. Alternatively, the robot may employ room-mapping programs, using the base station 10 and/or walls and large objects as points of reference. Upon determining that it has completed its task, the robot 40 will alter its travel characteristics in order to find the base station 10 quickly.
[0080] Once the robot 40 contacts the base station 10, it can recharge itself autonomously. Circuitry within the base station 10 detects the presence of the robot 40 and then switches on the charging voltage to its contacts 16. The robot 40 then detects the presence of the charging voltage and then switches on its internal transistor power switch to allow current flow into the battery. In one embodiment, the base station 10 contains a constant-current type switching charger. Maximum current is limited to approximately 1.25 amps even under a short circuit condition. Maximum unloaded terminal voltage is limited to approximately 22 Vdc. This constant-current charging circuit is used to charge the battery in the robot 40 via the electrical connections provided by the contacts 16 on the base station 10 and those on the undercarriage 54 of the robot 40. One embodiment of this charging sequence is detailed below.
[0081] Generally, while the robot 40 is away from the base station 10, the charging contacts 16 will present five volts, limited to 1 mA maximum short circuit current flow. This low voltage/low current sense condition limits the amount of available energy at the contacts 16, thus rendering them safe in the event they are contacted by humans, animals, and electrically conductive objects. The contacts on the undercarriage 54 of the robot 40, when contacting the contacts 16 on the base station 10, present a precise resistive load that, along with a resistor in the base station 10, creates a high impedance voltage divider. A microprocessor that constantly monitors the voltage across the contacts 16 recognizes this lower voltage. This voltage divider creates a specific voltage, plus or minus a known tolerance. When the microprocessor determines that the voltage has fallen into the specific range, it detects that the robot 40 is present. The microprocessor then turns on a transistor switch that delivers a higher voltage/current charge (capable of charging the robot's internal battery) to the charging contacts 16. Alternatively, the robot 40 and/or base station 10 can verify the integrity of the charging circuit by sending signals through the IR beams, thereby confirming that the robot 40 has, in fact, docked.
[0082]
[0083] At the onset of this higher voltage, the divider of R101 and R224 are such that the requirements are met to turn on Q48 and Q5 respectively. It is this combination of transistors that then allows count to flow to the on-board robot electronics only, allowing the robot's processor to become active if in fact it was inoperative due to a depleted battery.
[0084] Once operative, the robot's processor is then able to detect the presence of the base station voltage via R113 and D15 and if driving, turn off its drive motors. Once stable on the charging contacts, it becomes the job of the robot processor to measure the internal robot battery and decide when and what type of charging control cycle is needed when allowing current to flow into the battery. For example, if the battery is at 12 volts, then it is acceptable to turn on Q45 and Q47 via processor control, in order to allow current to flow through FET U9 to the battery on a continuous basis.
[0085] If, however, the battery voltage is deemed less than 5 volts, it generally would not be desirable to allow the full current to flow to the battery on a continuous basis. The reason this condition is of concern lies in the fact that the power source within the DOC is a constant current charger, which will adjust its output voltage to be slightly higher than the battery voltage in order to flow 1.25 A into the battery. In some cases, this might be millivolts higher than the battery voltage itself and in the case of the battery at low voltage, for example, 3 volts, would cause the output voltage to drop below the necessary 5 volt level needed to operate the on board base station and robot electronics suite.
[0086] In this case, the robot processor then delivers a pulse width modulation to the charger control line pertaining to Q47, such that the energy storage capacitors in both the robot and base station maintain enough charge to keep their respective electronics working properly throughout the charge pulse. The energy storage capacitors are then replenished during the off time of the pulse width modulation charging cycle, ready to then sustain the next charge pulse. This scenario continues until the battery has been charged to the point where a continuous charge is no longer able to bring the supply voltage down to a critical level and the charge control can become a static level.
[0087] Since this pulse width modulation process in this embodiment relies on software control, health monitoring of the processor, both within the base station and robot, are important. The requirement then set fourth for charging is for a charger watchdog be incorporated via Q45 such that a static high or low state on this signal line will disable current flow into the battery. It is a requirement of the robot processor to continuously pulse this control line in order for any current to flow, therefore eliminating most cases of processor latch up due to electrostatic discharge or other battery related events from mistreating the charging profile. Naturally, other control and related fail safe schemes could be utilized.
[0088] The described charging sequence provides particular safety features, even though the charging contacts 16 are exposed and energized. Because a specific resistance is required to create a specific voltage drop across the contacts 16 when the 5-volt sense voltage is present (i.e., when the robot 40 is not docked) there is no danger of electric shock due to accidental contact because the low sense current is harmless. Also, the base station 10 will never switch to the higher voltage/current level, because the sense current has not entered the predetermined range. When the base station 10 does determine that the robot 40 is present, it delivers the charging voltage/current. This charging current is limited to approximately 22 volts/1.25 amps maximum. Even if inadvertent contact occurred during delivery of the charging currentwhich is unlikely, since the robot chassis 44 effectively blocks the contacts 16the voltage delivered would not present a serious shock hazard, as it is relatively low.
[0089] Another level of safety is afforded by the base station 10 checking for the robot 40 at regular intervals, from as little as once per minute to as much as 10 times per second or more. Thus, in the event that the robot 40 is dislodged from the base station 10 (either by an animal or human), the charging current could be shut down immediately. This same condition applies if the contacts 16 are short circuited with the robot 40 docked (either intentionally or accidentally, for example, if the robot 40 drags debris onto the charging contacts 16).
[0090] An additional safety feature of this charging sequence prevents overheating of contacts 16 due to intentional shorting or oxidation. A thermal circuit breaker or similar device can be employed to perform this task, as well as a microprocessor equipped with a temperature measuring subroutine. The circuit breaker, however, provides the advantage of controlling contact temperature in the event of a microprocessor or software failure. Additionally, the base station 10 circuitry can also incorporate a timer to reset the temperature measuring subroutine or circuit breaker in the event of system failure. These safety controls may be incorporated into the watchdog described above.
[0091] While docked with the base station 10, the robot 40 can also perform other maintenance or diagnostic checks. In certain embodiments, the robot 40 can completely recharge its power source or only partially charge it, based on various factors. For example, if the robot 40 determines, through the use of route-tracking subroutines, that only a small portion of the room still requires vacuuming, it may take only a minimal charge before returning to complete cleaning of the room. If, however, the robot 40 requires a full charge before returning to clean the room, that option is also available. if the robot 40 has completed its vacuuming of the room prior to docking, it may dock, fully recharge, and stand by to await a signal (either internal or external) to begin its next cleaning cycle. While in this stand-by mode, the robot 40 may continue to measure its energy levels and may begin charging sequences upon reaching an energy level below a predetermined amount. Alternatively, the robot 40 may maintain a constant or near-constant trickle charge to keep its energy levels at or near peak. Other behaviors while in the docking position such as diagnostic functions, internal mechanism cleaning communication with a network, or data manipulation functions may also be performed.
[0092] While there have been described herein what are to be considered exemplary and preferred embodiments of the present invention, other modifications of the invention will become apparent to those skilled in the art from the teachings herein. The particular methods of manufacture and geometries disclosed herein are exemplary in nature and are not to be considered limiting. It is therefore desired to be secured in the appended claims all such modifications as fall within the spirit and scope of the invention. Accordingly, what is desired to be secured by Letters Patent is the invention as defined and differentiated in the following claims.