This disclosure relates to floor cleaning by an autonomous robot using a cleaning pad.
Tiled floors and countertops routinely need cleaning, some of which entails scrubbing to remove dried in soils. Various cleaning implements can be used for cleaning hard surfaces. Some implements include a cleaning pad that may be removably attached to the implement. The cleaning pads may be disposable or reusable. In some examples, the cleaning pads are designed to fit a specific implement or may be designed for more than one implement.
Traditionally, wet mops are used to remove dirt and other dirty smears (e.g., dirt, oil, food, sauces, coffee, coffee grounds) from the surface of a floor. A person dips the mop in a bucket of water and soap or a specialized floor cleaning solution and rubs the floor with the mop. In some examples, the person may have to perform back and forth scrubbing movements to clean a specific dirt area. The person then dips the mop in the same bucket of water to clean the mop and continues to scrub the floor. Additionally, the person may need to kneel on the floor to clean the floor, which could be cumbersome and exhausting, especially when the floor covers a large area.
Floor mops are used to scrub floors without the need for a person go on their knees. A pad attached to the mop or an autonomous robot can scrub and remove solids from surfaces and prevent a user from bending over to clean the surface.
One aspect of the invention features an autonomous floor cleaning robot including a robot body, a controller, a drive, a pad holder, and a pad sensor. The robot body defines a forward drive direction and supports the controller. The drive supports the robot body and is configured to maneuver the robot across a surface in response to commands from the controller. The pad holder is disposed on an underside of the robot body and is configured to retain a removable cleaning pad during operation of the cleaning robot. The pad sensor is arranged to sense a feature of a cleaning pad held by the pad holder and generate a corresponding signal. The controller is responsive to the signal generated by the pad sensor and is configured to control the robot according to a cleaning mode selected from a set of multiple robot cleaning modes as a function of the signal generated by the pad sensor.
In some examples, the pad sensors includes at least one of a radiation emitter and a radiation detector. The radiation detector may exhibit a peak spectral response in a visible light range. The feature may be a colored ink disposed on a surface of the cleaning pad, the pad sensor senses a spectral response of the feature, and the signal corresponds to the sensed spectral response.
In some cases, the signal includes the sensed spectral response, and the controller compares the sensed spectral response to a stored spectral response in an index of colored inks stored on a memory storage element operable with the controller. The pad sensor may include a radiation detector having first and second channels responsive to radiation, the first channel and the second channel each sensing a portion of the spectral response of the feature. The first channel may exhibit a peak spectral response in a visible light range. The pad sensor may include a third channel that senses another portion of the spectral response of the feature. The first channel may exhibit a peak spectral response in an infrared range. The pad sensor may include a radiation emitter configured to emit a first radiation and a second radiation, and the pad sensor may sense a reflection of the first and the second radiations off of the feature to sense the spectral response of the feature. The radiation emitter may be configured to emit a third radiation, and the pad sensor may sense the reflection of the third radiation off of the feature to sense the spectral response of the feature.
In some implementations, the feature includes identification elements each having a first region and a second region. The pad sensor may be arranged to independently sense a first reflectivity of the first region and a second reflectivity of the second region. The pad sensor may include a first radiation emitter arranged to illuminate the first region, a second radiation emitter arranged to illuminate the second region, and a photodetector arranged to receive reflected radiation from both the first region and the second region. The first reflectivity may be substantially greater than the second reflectivity.
In some examples, the multiple robot cleaning modes each define a spraying schedule and navigational behavior.
Another aspect of the invention includes a floor cleaning robot cleaning pad. The cleaning pad includes a pad body and a mounting plate. The pad body has opposite broad surfaces, including a cleaning surface and a mounting surface. The mounting plate is secured across the mounting surface of the pad body and has opposite edges defining mounting locator notches. The cleaning pad is of one of a set of available cleaning pad types having different cleaning properties. The mounting plate has a feature unique to the type of the cleaning pad and that is positioned to be sensed by a feature sensor of a robot to which the pad is mounted.
In some examples, the feature is a first feature, and the mounting plate has a second feature rotationally symmetric to the first feature. The feature may have a spectral response attribute unique to the type of the cleaning pad. The feature may have a reflectivity unique to the type of the cleaning pad. The feature may have has a radiofrequency characteristic unique to the type of the cleaning pad. The feature may include a readable barcode unique to the type of the cleaning pad. The feature may include an image with an orientation unique to the type of the cleaning pad. The feature may have a color unique to the type of the cleaning pad. The feature may include identification elements having first and second portions, the first portion having a first reflectivity and the second portion having a second reflectivity, the first reflectivity being greater than the second reflectivity. The feature may include a radiofrequency identification tag unique to the cleaning pad. The feature may include cutouts defined by the mounting plate, where a distance between the cutouts is unique to the type of the cleaning pad.
Another aspect of the invention includes a set of autonomous robot cleaning pads of different types. Each of the cleaning pads includes a pad body and a mounting plate. The pad body has opposite broad surfaces, including a cleaning surface and a mounting surface. The mounting plate is secured across the mounting surface of the pad body and has opposite edges defining mounting locator features. The mounting plate of each cleaning pad has a pad type identification feature unique to the type of the cleaning pad and that is positioned to be sensed by a robot to which the pad is mounted.
In some cases, the feature is a first feature, and the mounting plate has a second feature rotationally symmetric to the first feature. The feature may have a spectral response attribute unique to the type of the cleaning pad. The feature may have a reflectivity unique to the type of the cleaning pad. The feature may have has a radiofrequency characteristic unique to the type of the cleaning pad. The feature may include a readable barcode unique to the type of the cleaning pad. The feature may include an image with an orientation unique to the type of the cleaning pad. The feature may have a color unique to the type of the cleaning pad. The feature may include identification elements having first and second portions, the first portion having a first reflectivity and the second portion having a second reflectivity, the first reflectivity being greater than the second reflectivity for a first cleaning pad of the set, and the second reflectivity being greater than the first reflectivity for a second cleaning pad of the set. The feature may include a radiofrequency identification tag unique to the cleaning pad. The feature may include cutouts defined by the mounting plate, where a distance between the cutouts is unique to the type of the cleaning pad.
A further aspect of the invention includes a method of cleaning a floor. The method includes attaching a cleaning pad to an underside surface of an autonomous floor cleaning robot, placing the robot on a floor to be cleaned, and initiating a floor cleaning operation. In the floor cleaning operation, the robot senses the attached cleaning pad and identifies a type of the pad from among a set of multiple pad types and then autonomously cleans the floor in a cleaning mode selected according to the identified pad type.
In some cases, the cleaning pad includes an identification mark. The identification mark may include a colored ink. The robot may sense the attached cleaning pad by sensing the identification mark of the cleaning pad. Sensing the identification mark of the cleaning pad may include sensing a spectral response of the identification mark.
In other implementations, the method further includes ejecting the cleaning pad from the underside surface of the autonomous floor cleaning robot.
The implementations described in this disclosure include the following features. The cleaning pad includes an identification mark with characteristics that allows the cleaning pad to be distinguished from other cleaning pads having an identifying mark with different characteristics. The robot includes sensing hardware to sense the identification mark to determine the type of the cleaning pad, and the controller of the robot can implement a sensing algorithm that judges the type of the cleaning pad based on what the sensing hardware detects. The robot selects a cleaning mode, which includes, for example, navigational behavior and spraying schedule information that the robot uses to clean the room. As a result, a user simply attaches the cleaning pad to the robot, and the robot can then select the cleaning mode. In some cases, the robot can fail to detect the identification mark and determine an error has occurred.
The implementations further derive the following advantages from the above described features and other features described in this disclosure. For example, use of the robot requires a reduced number of user interventions. The robot can better operate in an autonomous manner because the robot can autonomously make decisions regarding cleaning modes without user input. Additionally, fewer user errors can occur because the user does not need to manually select a cleaning mode. The robot can also identify errors that the user may not notice, such as undesirable movement of the cleaning pad relative to the robot. The user does not need to visually identify the type of the cleaning pad by, for example, carefully examining the material or the fibers of the cleaning pad. The robot can simply detect the unique identification mark. The robot can also quickly initiate cleaning operations by sensing the type of the cleaning pad used.
The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims.
Like reference symbols in the various drawings indicate like elements.
Described in more detail below is an autonomous mobile cleaning robot that can clean a floor surface of a room by navigating about the room while scrubbing the floor surface. The robot can spray a cleaning fluid onto the floor surface and use a cleaning pad attached to the bottom of the robot to scrub the floor surface. The cleaning fluid can, for example, dissolve and suspend debris on the floor surface. The robot can automatically select a cleaning mode based on the cleaning pad attached to the robot. The cleaning mode can include, for example, an amount of the cleaning fluid distributed by the robot and/or a cleaning pattern. In some cases, the cleaning pad can clean the floor surface without the use of cleaning fluid, so the robot does not need to spray cleaning fluid onto the floor surface as part of the selected cleaning mode. In other cases, the amount of cleaning fluid used to clean the surface can vary based on the type of pad identified by the robot. Some cleaning pads may require a larger amount of cleaning fluid to improve scrubbing performance, and other cleaning pads may require a relatively smaller amount of cleaning fluid. The cleaning mode may include a selection of navigational behavior that cause the robot to employ certain movement patterns. For example, if the robot sprays cleaning fluid onto the floor as part of the cleaning mode, the robot can follow movement patterns that encourage a back-and-forth scrubbing motion to sufficiently spread and absorb the cleaning fluid, which may contain suspended debris. The navigational and spraying characteristics of the cleaning modes can widely vary from one type of cleaning pad to another type of cleaning pad. The robot can select these characteristics upon detecting the type of the cleaning pad attached to the robot. As will be described in detail below, the robot automatically detects identifying features of the cleaning pad to identify the type of the cleaning pad attached and selects a cleaning mode according to the identified type of the cleaning pad.
Referring to
Along the bottom portion of the robot body 102, one or more rear cliff sensors (not shown) located in one or both of the two rear corners of the robot 100 and one or more forward cliff sensors (not shown) located in one or both of the front corners of the mobile robot 100 detect ledges or other steep elevation changes of the floor surface 10 and prevents the robot 100 from falling over such floor edges. The cliff sensors may be mechanical drop sensors or light-based proximity sensors, such as an IR (infrared) pair, a dual emitter, single receiver or dual receiver, single emitter IR light based proximity sensor aimed downward at a floor surface 10. In some examples, the cliff sensors are placed at an angle relative to the corners of the robot body 102, such that they cut the corners, spanning between sidewalls of the robot 100 and covering the corner as closely as possible to detect flooring height changes beyond a height threshold. Placing the cliff sensors proximate the corners of the robot 100 ensures that they will trigger immediately when the robot 100 overhangs a flooring drop and prevent the robot wheels from advancing over the drop edge.
The forward portion 104 of the body 102 carries a movable bumper 110 for detecting collisions in longitudinal (A, F) or lateral (L, R) directions. The bumper 110 has a shape complementing the robot body 102 and extends forward the robot body 102 making the overall dimension of the forward portion 104 wider than the rearward portion 106 of the robot body 102. The bottom portion of the robot body 102 carries an attached cleaning pad 120. Referring briefly to
A reservoir 122 within the robot body 102 holds a cleaning fluid 124 (e.g., cleaning solution, water, and/or detergent) and can hold, for example, 170-230 mL of the cleaning fluid 124. In one example, the reservoir 122 has a capacity of 200 mL of fluid. The robot 100 has a fluid applicator 126 connected to the reservoir 122 by a tube within the robot body 102. The fluid applicator 126 can be a sprayer or spraying mechanism, having a top nozzle 128a and a bottom nozzle 128b. The top nozzle 128a and the bottom nozzle 128b are vertically stacked in a recess 129 in the fluid applicator 126 and angled from a horizontal plane parallel to the floor surface 10. The nozzles 128a-128b are spaced apart from one another such that the top nozzle 128a sprays relatively longer lengths of fluid forward and downward to cover an area of the floor surface 10 in front of the robot 100, and the other nozzle 128b sprays relatively shorter lengths fluid forward and downward to leave a rearward supply of applied fluid on an area of the floor surface 10 in front of, but closer to, the robot 100 than the area of applied fluid dispensed by the top nozzle 128a. In some cases, the nozzles 128, 128b complete each spray cycle by sucking in a small volume of fluid at the opening of the nozzle so that the cleaning fluid 124 does not leak or dribble from the nozzles 128a, 128b following each instance of spraying.
In other examples of the fluid applicator 126, multiple nozzles are configured to spray fluid in different directions. The fluid applicator may apply fluid downward through a bottom portion of the bumper 110 rather than outward, dripping or spraying the cleaning fluid directly in front of the robot 100. In some examples, the fluid applicator is a microfiber cloth or strip, a fluid dispersion brush, or a sprayer. In other cases, the robot 100 includes a single nozzle.
The cleaning pad 120 and robot 100 are sized and shaped such that the process of transferring the cleaning fluid from the reservoir 122 to the absorptive cleaning pad 120 maintains the forward and aft balance of the robot 100 during dynamic motion. The fluid is distributed so that the robot 100 continually propels the cleaning pad 120 over a floor surface 10 without the increasingly saturated cleaning pad 120 and decreasingly occupied fluid reservoir 122 lifting the rearward portion 106 of the robot 100 and pitching the forward portion 104 of the robot 100 downward, which can apply movement-prohibitive downward force to the robot 100. Thus, the robot 100 is able to move the cleaning pad 120 across the floor surface 10 even when the cleaning pad 120 is fully saturated with fluid and the reservoir is empty. The robot 100 can track the amount of floor surface 10 travelled and/or the amount of fluid remaining in the reservoir 122, and provide an audible and/or visible alert to a user to replace the cleaning pad 120 and/or to refill the reservoir 122. In some implementations, the robot 100 stops moving and remains in place on the floor surface 10 if the cleaning pad 120 is fully saturated or otherwise needs to be replaced, if there remains floor to be cleaned.
The top portion 108 of the robot 100 includes a handle 135 for a user to carry the robot 100. The handle 135 is shown in
Other details of the overall structure of robot 100 can be found in U.S. patent application Ser. No. 14/077,296 entitled “Autonomous Surface Cleaning Robot” filed Nov. 12, 2013, U.S. Provisional Patent Application Ser. No. 61/902,838 entitled “Cleaning Pad” filed Nov. 12, 2013, and U.S. Provisional Patent Application Ser. No. 62/059,637 entitled “Surface Cleaning Pad” filed Oct. 3, 2014, the entire contents of each of which are incorporated herein by reference.
Referring to
Referring also to
The wrap layer 204 is a non-woven, porous material that wraps around the absorptive layers 201. The wrap layer 204 can include a spunlace layer and an abrasive layer. The abrasive layer can be disposed on the outer surface of the wrap layer. The spunlace layer can be formed by a process, also known as hydroentangling, water entangling, jet entangling or hydraulic needling in which a web of loose fibers is entangled to form a sheet structure by subjecting the fibers to multiple passes of fine, high-pressure water jets. The hydroentangling process can entangle fibrous materials into composite non-woven webs. These materials offer performance advantages needed for many wipe applications due to their improved performance or cost structure.
The wrap layer 204 wraps around the absorptive layers 201 and prevents the absorptive layers 201 from directly contacting the floor surface 10. The wrap layer 204 can be a flexible material having natural or artificial fibers (e.g., spunlace or spunbond). Fluid applied to a floor 10 beneath the cleaning pad 120 transfers through the wrap layer 204 and into the absorptive layers 201. The wrap layer 204 wrapped around the absorptive layers 201 is a transfer layer that prevents exposure of raw absorbent material in the absorptive layers 201.
If the wrap layer 204 of the cleaning pad 120 is too absorbent, the cleaning pad 120 may generate excessive resistance to motion across the floor 10 and may be difficult to move. If the resistance is too great, a robot, for example, may be unable to overcome such resistance while trying to move the cleaning pad 120 across the floor surface 10. Referring back to
Preferably, the cleaning pad 120 does not significantly swell or expand upon absorbing the cleaning fluid 124 and provides a minimal increase in total pad thickness. This characteristic of the cleaning pad 120 prevents the robot 100 from tilting backwards or pitching up if the cleaning pad 120 expands. The cleaning pad 120 is sufficiently rigid to support the weight of the front of the robot. In one example, the cleaning pad 120 can absorb up to 180 ml or 90% of the total fluid contained in the reservoir 122. In another example the cleaning pad 120 holds about 55 to 60 ml of the cleaning fluid 124 and a fully saturated outer wrap layer 204 holds about 6 to about 8 ml of the cleaning fluid 124.
The wrap layer 204 of some pads can be constructed to absorb fluid. In some cases, the wrap layer 204 is smooth, such as to prevent scratching delicate floor surfaces. The cleaning pad 120 can include one or more of the following cleaning agent constituents: butoxypropanol, alkyl polyglycoside, dialkyl dimethyl ammonium chloride, polyoxyethylene castor oil, linear alkylbenzene sulfonate, glycolic acid—which serve as surfactants, and to attack scale and mineral deposits, among other things. Various pads may also include scent, antibacterial or antifungal preservatives.
Referring to
The card backing 206 protrudes beyond the longitudinal edges of the cleaning pad 120 and protruding longitudinal edges 210 of the card backing 206 attach to the pad holder (which will be described below with respect to
The card backing 206 defines cutouts 212 centered along the protruding longitudinal edges 210 of the card backing 206. The card backing also includes a second set of cutouts 214 on the lateral edges of the card backing 206. The cutouts 212, 214 are symmetrically centered along the longitudinal center axis YP of the pad 120 and lateral center axis XP of the pad 120.
In some cases, the cleaning pad 120 is disposable. In other cases, the cleaning pad 120 is a reusable microfiber cloth pad with a durable plastic backing. The cloth pad can be washable, and machine dried without melting or degrading the backing. In another example, the washable microfiber cloth pad includes an attachment mechanism to secure the cleaning pad to a plastic backing allowing the backing to be removed before washing. One exemplary attachment mechanism can include Velcro or other hook-and-loop attachment mechanism devices attached to both the cleaning pad and the plastic backing. Another cleaning pad 120 is intended for use as a disposable dry cloth and includes a single layer of needle punched spunbond or spunlace material having exposed fibers for entrapping hair. The cleaning pad 120 can include a chemical treatment that adds a tackiness characteristic for retaining dirt and debris.
For an identified type of cleaning pad 120, the robot 100 selects a corresponding navigation behavior and a spraying schedule. The cleaning pad 120 can be identified, for example, as one of the following:
Now also referring to
The cutouts 214 of the cleaning pad 120 engage with the corresponding protrusions 304 of the pad holder 300, and the cutouts 212 of the cleaning pad 120 engage with the corresponding protrusion 306 of the pad holder 300. The protrusions 304, 306 align the cleaning pad 120 to the pad holder 300 and retain the cleaning pad 120 relatively stationary to the pad holder 300 by preventing lateral and/or transverse slippage. The configuration of the cutouts 212, 214 and the protrusions 304, 306 allow the cleaning pad 120 to be installed into the pad holder 300 from either of of two identical directions (180 degrees opposite to one another). The pad holder 300 can also more easily release the cleaning pad 120 when the release mechanism 322 is triggered. The number of cooperating raised protrusions and cut outs may vary in other examples.
Because the raised protrusions 304, 306 extend into the cutouts 212, 214, the cleaning pad 120 is consequently held in place against rotational forces by the cutout-protrusion retention system. In some cases, the robot 100 moves in a scrubbing motion, as described herein, and, in some embodiments, the pad holder 300 oscillates the cleaning pad 120 for additional scrubbing. For example, the robot 100 may oscillate the attached cleaning pad 120 in an orbit of 12-15 mm to scrub the floor 10. The robot 100 can also apply one pound or less of downward pushing force to the pad. By aligning cutouts 212, 214 in the card backing 206 with protrusions 304, 306, the pad 120 remains stationary relative to the pad holder 300 during use, and the application of scrubbing motion, including oscillation motion, directly transfers from the pad holder 300 through the layers of the pad 120 without loss of transferred movement.
Referring to
The pad release mechanism 322 can be pushed into a down position (
The user typically slides the cleaning pad 120 into the pad holder 300. In the illustrated example, the cleaning pad 120 can be pushed into the pad holder 300 to engage with the retention clips 324.
Referring back to
Navigational behaviors can include a straight motion pattern, a vine pattern, a cornrow pattern, or any combinations of these patterns. Other patterns are also possible. In the straight motion pattern, the robot 100 generally moves in a straight path to follow an obstacle defined by straight edges, such as a wall. The continuous and repeated use of the birdfoot pattern is referred to as the vine pattern or the vining pattern. In the vine pattern, the robot 100 executes repetitions of a birdfoot pattern in which the robot 100 moves back and forth while advancing incrementally along a generally forward trajectory. Each repetition of the birdfoot pattern advances the robot 100 along a generally forward trajectory, and repeated execution of the birdfoot pattern can allow the robot 100 to traverse across the floor surface in the generally forward trajectory. The vine pattern and birdfoot pattern will be described in more detail below with respect to
In the example described below, each spraying schedule generally defines a wetting out period, a cleaning period, and ending period. The different periods of each spraying schedule define a frequency of spraying (based on distance travelled) and a duration of spraying. The wetting out period occurs immediately after turning on the robot 100 and initiating the cleaning operation. During the wetting out period, the cleaning pad 120 requires additional cleaning fluid to sufficiently wet the cleaning pad 120 so that the cleaning pad 120 has enough absorbed cleaning fluid to initiate the cleaning period of the cleaning operation. During the cleaning period, the cleaning pad 120 requires less cleaning fluid than is required in the wetting out period. The robot 100 generally sprays the cleaning fluid in order to maintain the wetness of the cleaning pad 120 without causing the cleaning fluid to puddle on the floor 10. During the ending period, the cleaning pad 120 requires less cleaning fluid than is required in the cleaning period. During the ending period, the cleaning pad 120 generally is fully saturated and only needs to absorb enough fluid to accommodate for evaporation or other drying that might otherwise impede removal of dirt and debris from the floor 10.
Referring to TABLE 1 below, the type of the cleaning pad 120 identified by the robot 100 determines the spraying schedule and the navigational behavior of the cleaning mode to be executed on the robot 100. The spraying schedule—including the wetting out period, the cleaning period, and the ending period—differs depending on the type of the cleaning pad 120. If the robot 100 determines that the cleaning pad 120 is the wet mopping cleaning pad, the damp mopping cleaning pad, or the washable cleaning pad, the robot 100 executes a spraying schedule having periods defining a certain duration of spray for every fraction of or multiple of one birdfoot pattern. The robot 100 executes a navigation behavior that uses vine and cornrow patterns as the robot 100 traverses the room, and a straight motion pattern as the robot 100 moves about a perimeter of the room or edges of objects within the room. While the spraying schedules have been described as having three distinct periods, in some implementations, the spraying schedule can include more than three periods or fewer than three periods. For example, the spraying schedule can have first and second cleaning periods in addition to the wetting out period and the ending period. In other cases, if the robot is configured to function with pre-moistened cleaning pad, the wetting out period may not be needed. Similarly, the navigational behavior can include other movement patterns, such as zig-zag or spiral patterns. While the cleaning operation has been described to include the wetting out period, the cleaning period, and the ending period, in some implementations, the cleaning operation may only include the cleaning period and the ending period, and the wetting out period may be a separate operation that occurs before the cleaning operation.
If the robot 100 determines that the cleaning pad 120 is the dry dusting cleaning pad, the robot can execute a spraying schedule in which the robot 100 simply does not spray the cleaning fluid 124. The robot 100 can execute a navigational behavior that uses the cornrow pattern as the robot 100 traverses the room, and a straight motion pattern as the robot 100 navigates about the perimeter of the room.
In the examples described in TABLE 1, while the robot is described to use the same pattern during the wetting out period and the cleaning periods (e.g., the vine pattern, the cornrow pattern), in some examples, the wetting out period can use a different pattern. For example, during the wetting out period, the robot can deposit a larger puddle of cleaning fluid and advance forward and backward across the liquid to wet the pad. In such an implementation, the robot does not initiate the cornrow pattern to traverse the floor surface until the cleaning period. Referring to
Also described above, the fluid applicator 126 includes the top nozzle 128a and the bottom nozzle 128b to distribute the cleaning fluid 124 over the floor surface 10. The top nozzle 128a and the bottom nozzle 128b can be configured to spray the cleaning fluid 124 at an angle and distance different than each other. Referring to
Referring to
In some implementations, the nozzles 128a, 128b dispense the cleaning fluid 124 in an area pattern that extends one robot width WR and at least one robot length LR in dimension. The top nozzle 128a and bottom nozzle 128b apply the cleaning fluid 124 in two distinct spaced apart strips of applied fluid 402a, 402b that do not extend to the full width WR of the robot 100 such that the cleaning pad 120 can pass through the outer edges of the strips of applied fluid 402a, 402b in forward and backward angled scrubbing motions (as will be described below with respect to
The robot 100 can move in a back-and-forth motion to moisten the cleaning pad 120 and/or scrub the floor surface 10 on which the cleaning fluid 124 has been applied. Referring to
In the example of
As the robot 100 drives back and forth, it cleans the area it is traversing and therefore provides a deep scrub to the floor surface 10.The back and forth movement of the robot 100 can break down stains (e.g., the smears 22 of
In one implementation, when the robot 100 uses a cleaning pad 120 that requires the use of the cleaning fluid 124 (e.g., the wet mopping cleaning pad, the damp mopping cleaning pad, and the washable cleaning pad), the robot 100 can switch back and forth between the vine and cornrow pattern and the straight motion pattern. The robot 100 uses the vine and cornrow pattern during room cleaning and uses the straight motion pattern during perimeter cleaning.
Referring to
The first fifteen times the robot 100 applies fluid to the floor surface—which corresponds to the wetting out period of the spraying schedule—the robot 100 sprays the cleaning fluid 124 at least at every 344 mm (˜13.54 inches, or a little over a foot) of distance traveled. Each spray lasts a duration of approximately 1 second. The wetting out period generally corresponds to the path 467 contained in the region 470 of the room 465, where the robot 100 executes a navigational behavior combining the vine pattern and the cornrow pattern.
Once the cleaning pad 120 is fully wet—which generally corresponds to when the robot 100 executes the first cleaning period of the spraying schedule—the robot 100 will spray every 600-1100 mm (˜23.63-43.30 inches, or between two and four feet) of distance traveled and for a duration of 1 second. This relatively slower spray frequency ensures the pad stays wet without overwetting or puddling. The cleaning period is represented as the path 467 contained in a region 475 of the room 465. The robot follows spray frequency and duration of the cleaning period for a predetermined number of sprays (e.g., 20 sprays).
When the robot 100 enters a region 480 of the room 465, the robot 100 begins the second cleaning period and sprays every 900-1600 mm (˜35.43-˜63 inches, or between approximately three and five feet) of distance traveled for a duration of half of a second. This relatively slower spray frequency and spray duration maintains the pad wetness without overwetting, which, in some examples, may prevent the pad from absorbing additional cleaning fluid that may contain suspended debris.
As indicated in the drawing, at a point 491 of the region 480, the robot 100 encounters an obstacle having a straight edge, for example, a kitchen center island 492. Once the robot 100 reaches the straight edge of the center island 492, the navigation behavior switches from the vine and cornrow pattern to the straight motion pattern. The robot 100 sprays according to the duration and frequency in the spray schedule that corresponds to the straight motion pattern.
The robot 100 implements the period of the straight motion pattern spray schedule that corresponds to the aggregate spray number count the robot 100 is at in the overall in the cleaning operation. The robot 100 can track the number of sprays and therefore can select the period of the straight motion pattern spray schedule that corresponds to the number of sprays that the robot 100 has sprayed at the point 491. For example, if the robot 100 has sprayed 36 times when it reaches the point 491, the next spray will the 37th spray and will fall under the straight motion schedule corresponding to the 37th spray.
The robot 100 executes the straight motion pattern to move about the center island 492 along the path 467 contained in the region 490. The robot 100 also can execute the period corresponding to the 37th spray, which is the first cleaning period of the straight motion pattern spray schedule shown in TABLE 3. The robot 100 therefore applies fluid for 0.6 second every 400 mm-750 mm (15.75-29.53 inches) of distance traveled while moving in a straight motion along the edges of the center island 492. In some implementations, the robot 100 applies less cleaning fluid in the straight motion pattern than in the vining pattern because the robot 100 covers a smaller distance in the vining pattern.
Assuming the robot edges around the center island 492 and sprays 10 times, the robot will be at the 47th spray in the cleaning operation when it returns to cleaning the floor using the vine and cornrow patterns at point 493. At the point 493, the robot 100 follows the vine and cornrow pattern spray schedule for the 47th spray, which places the robot 100 back into the second cleaning period. Thus, along the path 467 contained in the region 495 of the room 465, the robot 100 sprays every 900-1600 mm (˜35.43 to ˜63 inches, or between approximately three and five feet).
The robot 100 continues executing the second cleaning period until the 65th spray, at which point the robot 100 begins executing the ending period of the vine and cornrow pattern spray schedule. The robot 100 applies fluid at a distance traveled of between approximately 1200-2250 mm and for a duration of half a second. This less frequent and less voluminous spray can correspond to the end of the cleaning operation when the pad 120 is fully saturated and only needs to absorb enough fluid to accommodate for evaporation or other drying that might otherwise impede removal of dirt and debris from the floor surface.
While in the examples above, the cleaning fluid application and/or the cleaning pattern were modified based on the type of pad identified by the robot, other factors can additionally be modified. For example, the robot can provide vibration to aid in cleaning with certain pad typed. Vibration can be helpful in that it is believed to break up surface tension to help movement and breaks up dirt better than without vibration (e.g., just wiping). For example, when cleaning with a wet pad, the pad holder can cause the pad to vibrate. When cleaning with a dry cloth, the pad holder may not vibrate since vibration could result in dislodging the dirt and hair from the pad. Thus, the robot can identify the pad and based on the pad type determine whether to vibrate the pad. Additionally, the robot can modify the frequency of the vibration, the extent of the vibration (e.g., the amount of pad translation about an axis parallel to the floor) and/or the axis of the vibration (e.g., perpendicular to the direction of movement of the robot, parallel to the direction of movement, or another angle not parallel or perpendicular to the robot's direction of movement).
In some implementations, the disposable wet and damp pads are pre-moistened and/or pre-impregnated with cleaning solvent, antibacterial solvents and/or scent agents. The disposable wet and damp pads may be pre-moistened or pre-impregnated.
In other implementations, the disposable pad is not pre-moistened and the airlaid layer comprises wood pulp. The disposable pad airlaid layer may include a wood pulp and a bonding agent such as polypropylene or polyethylene and this co-form combination is less dense than pure wood pulp and therefore better at fluid retention. In one implementation of the disposable pad, the overwrap is a spunbond material including polypropylene and woodpulp and the overwrap layer is covered with a polypropylene meltblown layer as described above. The meltblown layer may be made from polypropylene treated with a hydrophilic wetting agent that pull dirts and moisture up into the pad and, in some implementations, the spunbond overwrap additionally is hydrophobic such that fluid is wicked upward by the meltblown layer and through the overwrap, into the airlaid without saturating the overwrap. In other implementations, such as damp pad implementations, the meltblown layer is not treated with a hydrophilic wetting agent. For example, running the disposable pad in a damp pad mode on the robot may be desirable to users with hardwood flooring such that less fluid is sprayed on the floor and less fluid is therefore absorbed into the disposable pad. Rapid wicking to the airlaid layer or layers is therefore less critical in this use case.
In some implementations, the disposable pad is a dry pad having an airlaid layer or layers made of either woodpulp or a co-form blend of wood pulp and a bonding agent, such as polypropylene or polyethylene. Unlike the wet and damp version of the disposable pad, the dry pad may be thinner, containing less airlaid material than the disposable wet/damp pad so that the robot rides at an optimal height on a pad that is not compressing because of fluid absorption. In some implementations of the disposable dry pad, the overwrap is a needle punched spundbond material and may be treated with a mineral oil, such as DRAKASOL, that helps dirt, dust and other debris to bind to the pad and not dislodge while the robot is completing a mission. The overwrap may be treated with an electrostatic treatment for the same reasons.
In some implementations, the washable pad is a microfiber pad having a reusable plastic backing layer attached thereto for mating with the pad holder.
In some implementations, the pad is a melamine foam pad.
Referring to
The drive system 510 can include wheels to maneuver the robot 100 across the floor surface based on a drive command having x, y, and θ components. The wheels of the drive system 510 support the robot body above the floor surface. The controller 505 can further operate a navigation system 550 configured to maneuver the robot 100 about the floor surface. The navigation system 550 bases its navigational commands on the behavior system 540, which selects navigational behaviors and spray schedules that can be stored in the memory 560. The navigation system 550 also communicates with the sensor system 530, using the bump sensor, accelerometers, and other sensors of the robot, to determine and issue drive commands to the drive system 510.
The sensor system 530 can additionally include a 3-axis accelerometer, a 3-axis gyroscope, and rotary encoders for the wheels (e.g., the wheels 121 shown in
The controller 505 operates the cleaning system 520 to initiate spray commands for a certain duration at a certain frequency. The spray commands can be issued according to the spray schedules stored on the memory 560.
The memory 560 can further be loaded with spray schedules and navigational behaviors corresponding to specific types of cleaning pads that may be loaded onto the robot during cleaning operations. The pad identification system 534 of the sensor system 530 includes the sensors that detect a feature of the cleaning pad to determine the type of cleaning pad that has been loaded on the robot. Based on the detected features, the control 505 can determine the type of the cleaning pad. The pad identification system 534 will be described in more detail below.
In some examples, the robot knows where it has been based on storing its coverage locations on a map stored on the non-transitory-memory 560 of the robot or on an external storage medium accessible by the robot through wired or wireless means during a cleaning run. The robot sensors may include a camera and/or one or more ranging lasers for building a map of a space. In some examples, the robot controller 505 uses the map of walls, furniture, flooring changes and other obstacles to position and pose the robot at locations far enough away from obstacles and/or flooring changes prior to the application of cleaning fluid. This has the advantage of applying fluid to areas of floor surface having no known obstacles.
The pad identification system 534 can vary depending on the type of pad identification scheme used to allow the robot to identify the type of the cleaning pad that has been attached to the bottom of the robot. Described below are several different types of pad identification schemes.
Referring to
The identification sequence 603 is a sensible portion of the mounting surface 602 that the robot can sense to identify the type of cleaning pad that the user has mounted onto the robot. The identification sequence 603 can have one of a finite number of discrete states, and the robot detects the identification sequence 603 to determine which of the discrete states the identification sequence 603 indicates.
In the example of
Each of the left blocks 610a-610c and each of the right blocks 612a-612c can be set (e.g., during manufacturing) to the dark or the light state. In one implementation, each block is placed into the dark state or the light state based on the presence or absence of a dark ink in the area of the block. A block is in the dark state when the ink that is darker than the surrounding material of the card backing 606 is deposited on the card backing 606 in an area defined by the block. A block is typically in a light state when ink is not deposited on the card backing 606 and the block takes on the color of the card backing 606. As a result, a light block typically has a greater reflectivity than the dark block. Although the blocks 610a-610c, 612a-612c have been described to be set to light or dark states based on the presence or absence of the dark ink, in some cases, during manufacturing, a block can be set to a light state by bleaching the card backing or applying a light colored ink to the card backing such that the color of the card backing is lightened. A block in the light state would therefore have a greater luminance than the surrounding card backing. In
The state of each of the elements 610a-610c can therefore be determined by the state of its constituent blocks 610a-610c, 612a-612c. The elements can be determined to have one of four states:
In the implementation as currently described with respect to
Referring to
The circuit board 626 is part of the pad identification system 534 (described with respect to
An alignment block 633 aligns the emitter/detector array 629 over the identification sequence 603. In particular, the alignment block 633 aligns the left emitters 630a-630c over the left blocks 610a-610c, respectively; the right emitters 634a-634c over the right blocks 612a-612c , respectively; and the detectors 632a-632c such that the detectors 632a-632c are equidistant from the left emitters 630a-630c and the right emitters 634a-634c. Windows 635 of the alignment block 633 direct radiation emitted by the emitters 630a-630c, 634a-634c toward the mounting surface 602. The windows 635 also allow the detector 632a-632c to receive radiation reflected off of the mounting surface 602. In some cases, the windows 635 are potted (e.g., using a plastic resin) to protect the emitter/detector array 629 from moisture, foreign objects (e.g., fibers from the cleaning pad), and debris. The left emitters 630a-630c, the detectors 632a-632c, and the right emitters 634a-634c are positioned along a plane defined by the alignment block such that, when the cleaning pad is disposed in the pad holder 620, the left emitters 630a-630c, the detectors 632a-632c, and the right emitters 634a-634c are equidistant from the mounting surface 602. The relative positions of the emitters 630a-630c, 634a-634c and detectors 632a-632c are selected to minimize the variations in the distance of the emitters and the detectors from the left and right blocks 610a-610c, 612a-612c, such that distance minimally affects the measured illuminance of radiation reflected by the blocks. As a result, the darkness of the ink applied for the dark state of the blocks 610-610c, 612a-612c and the natural color of the card backing 606 are the main factors affecting the reflectivity of each block 610a-610c, 612a-612c.
While the detectors 632a-632c have been described to be equidistant from the left emitters 630a-630c and the right emitters 634a-634c, it should be understood that the detectors can also or alternatively be positioned such that the detectors are equidistant from the left blocks and the right blocks. For example, a detector can be placed such that the distance from the detector to a right edge of the left block is the same as the distance to a left edge of the right block.
Referring also to
During use, the detectors 632a-632c can determine an illuminance of the reflection of the radiation generated by the emitters 630a-630c, 634a-634c. The radiation incident on the left blocks 610a-610c and the right blocks 612a-612c reflects toward the detectors 632a-632c, which in turn generates a signal (e.g., a change in current or voltage) that the controller can process and use to determine the illuminance of the reflected radiation. The controller can independently activate the emitters 630a-630c, 634a-634c.
After a user has inserted the cleaning pad 600 into the pad holder 620, the controller of the robot determines the type of pad that has been inserted into the pad holder 620. As described earlier, the cleaning pad 600 has the identification sequence 603 and a symmetric sequence such that the cleaning pad 600 can be inserted in either horizontal orientation so long as the mounting surface 602 faces the emitter/detector array 629. When the cleaning pad 600 is inserted into the pad holder 620, the mounting surface 602 can wipe the alignment block 633 of moisture, foreign matter, and debris. The identification sequence 603 provides information pertaining to the type of inserted pad based on the states of the elements 608a-608c. The memory 560 typically is pre-loaded with data that associates each possible state of the identification sequence 603 with a specific cleaning pad type. For example, the memory 560 can associate the three-element identification sequence having the state (dark-light, dark-light, light-dark) with a damp mopping cleaning pad. Referring briefly back to TABLE 1, the robot 100 would respond by selecting the navigational behavior and spraying schedule based on the stored cleaning mode associated with the damp mopping cleaning pad.
Referring also to
At step 665, the controller activates the right emitter 634a, which emits radiation directed towards the right block 612a. The radiation reflects off of the right block 612a. At step 670, the controller receives a second signal generated by the detector 632a. The controller activates the right emitter 634a for a duration of time that allows the detector 632a to detect the illuminance of the reflected radiation. The detector 632a detects the reflected radiation and generates the second signal whose strength corresponds to the illuminance of the reflected radiation from the right emitter 634a. The second signal therefore measures the reflectivity of the right block 612a and the illuminance of the radiation reflected off of the right block 612a. In some cases, a greater illuminance generates a stronger signal. The signal is delivered to the controller, which determines an absolute value for the illuminance that is proportional to the strength of the second signal. The controller deactivates the right emitter 634a after it receives the second signal.
At step 675, the controller compares the measured reflectivity of the left block 610a to the measured reflectivity of the right block 612a. If the first signal indicates a greater illuminance for the reflected radiation, the controller determines that left block 610a was in the light state and that the right block 612a was in the dark state. At step 680, the controller determines the state of the element. In the example described above, the controller would determine that the element 608a is in the light-dark state. If the first signal indicates a smaller illuminance for the reflected radiation, the controller determines that the left block 610a was in the dark state and that the right block 612a was in the light state. As a result, the element 608a is in the dark-light state. Because the controller simply compares the absolute values of the measured reflectivity values of the blocks 610a, 612a, the determination of the state of the element 608a-608c is protected against, for example, slight variations in the darkness of the ink applied to blocks set in the dark state and slight variations in the alignment of the emitter/detector array 629 and the identification sequence 603.
To determine that the left block 610a and the right block 612a have different reflectivity values, the first signal and the second signal differ by a threshold value that indicates that the reflectivity of the left block 610a and the reflectivity of the right block 612a are sufficiently different for the controller to conclude that one block is in the dark state and the other block is in the light state. The threshold value can be based on the predicted reflectivity of the blocks in the dark state and the predicted reflectivity of the blocks in the light state. The threshold value can further account for ambient light conditions. The dark ink that defines the dark state of the blocks 610a-610c, 612a-612c can be selected to provide a sufficient contrast between the dark state and the light state, which can be defined by the color of the card backing 606. In some cases, the controller may determine that the first and the second signal are not sufficiently different to make a conclusion that the element 608a-608c is in the light-dark state or the dark-light state. The controller can be programmed to recognize these errors by interpreting an inconclusive comparison (as described above) as an error state. For example, the cleaning pad 600 may not be properly loaded, or the cleaning pad 600 may be sliding off of the pad holder 620 such that the identification sequence 603 is not properly aligned with the emitter/detector array 629. Upon detecting that the cleaning pad 600 has slid off of the pad holder 620, the controller can cease the cleaning operation or indicate to the user that the cleaning pad 600 is sliding off of the pad holder 620. In one example, the robot 100 can make an alert (e.g., an audible alert, a visual alert) that indicates the cleaning pad 600 is sliding off. In some cases, the controller can check that the cleaning pad 600 is still properly loaded on the pad holder 620 periodically (e.g., 10 ms, 100 ms, 1 second, etc.). As a result, the reflected radiation received by the detectors 632a-632c may have generate similar measured values for illuminance because both the left and right emitters 630a-630c, 634a-634c are simply illuminating portions of the card backing 606 without ink.
After performing steps 655, 660, 665, 670, and 675, the controller can repeat the steps for the element 608b and the element 608c to determine the state of each element. After completing these steps for all of the elements of the identification sequence 603, the controller can determine the state of the identification sequence 603 and from that state determine either (i) the type of cleaning pad that has been inserted into the pad holder 620 or (ii) that a cleaning pad error has occurred. While the robot 100 executes a cleaning operation, the controller can also continuously repeat the identification sequence algorithm 650 to make sure that the cleaning pad 600 has not shifted from its desired position on the pad holder 620.
It should be understood that the order in which the controller determines the reflectivity of each block 610a-610c, 612a-612c can vary. In some cases, instead of repeating the steps 655, 660, 665, 670, and 675 for each element 608a-608c, the controller can simultaneously activate all of the left emitters; receive the first signals generated by the detectors, simultaneously activate all of the right emitters; receive the second signals generated by the detectors; and then compare the first signals with the second signals. In other implementations, the controller sequentially illuminates each of the left blocks and then sequentially illuminates each of the right blocks. The controller can make a comparison of the left blocks with the right blocks after receiving the signals corresponding to each of the blocks.
The emitters and detectors can further be configured to be sensitive to other wavelengths of radiation inside or outside of visible light range (e.g., 400 nm to 700 nm). For example, the emitters can emit radiation in the ultraviolet (e.g., 300 nm to 400 nm) or far infrared range (e.g., 15 micrometers to 1 mm), and the detectors can be responsive to radiation in a similar range.
Referring to
The identification mark 703 is a sensible portion of the mounting surface 702 that the robot can use to identify the type of cleaning pad that the user has mounted onto the robot. The identification mark 703 is created on the mounting surface 702 by marking the mounting surface 702 of the card backing 706 with a colored ink (e.g., during fabrication of the cleaning pad 700). The colored ink can be one of several colors used to uniquely identify different types of cleaning pads. As a result, the controller of the robot can use the identification mark 703 to identify the type of the cleaning pad 700.
Referring to
The pad sensor assembly housing 725 defines an emitter window 733 and a detector window 734. The emitter 730 is aligned with the emitter window 733 such that activation of the emitter 730 causes the emitter 730 to emit radiation through the emitter window 733. The detector 728 is aligned with the detector window 734 such that the detector 728 can receive radiation passing through the detector window 734. In some cases, the windows 733, 734 are potted (e.g., using a plastic resin) to protect the emitter 730 and the detector 728 from moisture, foreign objects (e.g., fibers from the cleaning pad 700), and debris. When the cleaning pad 700 is inserted into the pad holder 720, the identification mark 703 is positioned beneath the pad sensor assembly 724 so that radiation emitted by the emitter 730 travels through the emitter window 733, illuminates the identification mark 703, and reflects off of the identification mark 703 through the detector window 734 to the detector 728.
In another implementation, the pad sensor assembly housing 725 can include additional emitter windows and detector windows for additional emitters and detectors to provide redundancy. The cleaning pad 700 can have two or more identification marks that each have a corresponding emitter and detector.
For each light emitted by the emitter 730, the channels of the detector 728 detect light reflected from the identification mark 703 and, in response to detecting the light, generate outputs correspond to the amount of red, green, and blue components of the light. The radiation incident on the identification mark 703 reflects toward the channels of the detector 728, which in turn generates a signal (e.g., a change in current or voltage) that the controller can process and use to determine the amount of red, blue, and green components of the reflected light. The detector 728 can then deliver a signal carrying the outputs of the detector. For example, the detector 728 can deliver the signal in the form of a vector (R, G, B), where the element R of the vector corresponds to the output of the red channel, the element G of the vector corresponds to the output of the green channel, and the element B of the vector corresponds to the output of the blue channel.
The number of lights emitted by the emitter 730 and the number of channels of the detector 728 determine the order of the identification of the identification mark 703. For example, two emitted light with two detecting channels allows for a fourth order identification. In another implementation, two emitted lights with three detecting channels allows for a sixth order identification. In the implementation described above, three emitted lights with three detecting channels allows for a ninth order identification. Higher order identifications are more accurate but more computationally costly. While the emitter 730 has been described to emit three different wavelengths of light, in other implementations, the number of lights that can be emitted can vary. In implementations requiring a greater confidence in classifying the color of the identification mark 703, additional wavelengths of light can be emitted and detected to improve the confidence in the color determination. In implementations requiring a faster computation and measurement time, fewer lights can be emitted and detected to reduce computational cost and the time required to make spectral response measurements of the identification mark 703. A single light source with one detector can be used to identify the identification mark 703 but can result in a greater number of misidentifications.
After a user has inserted the cleaning pad 700 into the pad holder 720, the controller of the robot determines the type of pad that has been inserted into the pad holder 720. As described above, the cleaning pad 700 can be inserted in either horizontal orientation so long as the mounting surface 702 faces pad sensor assembly 724. When the cleaning pad 700 is inserted into the pad holder 720, the mounting surface 702 can wipe the windows 733, 734 of moisture, foreign matter, and debris. The identification mark 703 provides information pertaining to the type of inserted pad based on the color of the identification mark 703.
The memory of the controller typically is pre-loaded with an index of colors corresponding to the colors of ink that are expected to be used as identification marks on the mounting surface 702 of the cleaning pad 700. A specific colored ink within the index of colors can have corresponding spectral response information in the form of an (R, G, B) vector for each of the colors of light emitted by the emitter 730. For example, a red ink within the index of colors can have three identifying response vectors. A first vector (a red vector) corresponds to the response of the channels of the detector 728 to red light emitted by the emitter 730 and reflected off of the red ink. A second vector (a blue vector) corresponds to the response of the channels of the detector 728 to blue light emitted by the emitter 730 and reflected off of the red ink. A third vector (a green vector) corresponds to the response of the channels of the detector 728 to green light emitted by the emitter 730 and reflected off of the red ink. Each color of ink expected to be used as identification marks on the mounting surface 702 of the cleaning pad 700 has a different and unique associated signature corresponding to three response vectors as described above. The response vectors can be gathered from repeated testing of specific colored inks deposited on materials similar to the material of the card backing 706. The pre-loaded colored inks in the index can be selected so that they are distant from one another along the light spectrum (e.g., purple, green, red, and black) to reduce the probability of misidentifying a color. Each pre-defined colored ink corresponds to a specific cleaning pad type.
Referring also to
At step 760, the controller receives a first signal generated by the detector 728, which includes an (R, G, B) vector measured by the three color channels of the detector 728. The three channels of the detector 728 respond to the light reflected off of the identification mark 703 and measure the red, green, and blue spectral responses. The detector 728 then generates the first signal carrying the values of these spectral responses and delivers the first signal to the control.
At step 765, the controller activates the emitter 730 to generate a green light directed towards the identification mark 703. The green light reflects off of the identification mark 703.
At step 770, the controller receives a second signal generated by the detector 728, which includes an (R, G, B) vector measured by the three color channels of the detector 728. The three channels of the detector 728 respond to the light reflected off of the identification mark 703 and measure the red, green, and blue spectral responses. The detector 728 then generates the second signal carrying the values of these spectral responses and delivers the second signal to the control.
At step, the controller 505 activates the emitter 730 to generate a blue light directed towards the identification mark 703. The blue light reflects off of the identification mark 703. At step 780, the controller receives a third signal generated by the detector 728, which includes an (R, G, B) vector measured by the three color channels of the detector 728. The three channels of the detector 728 respond to the light reflected off of the identification mark 703 and measure the red, green, and blue spectral responses. The detector 728 then generates the third signal carrying the values of these spectral responses and delivers the third signal to the controller.
At step 785, based on the three signals received by the controller in steps 760, 770, and 780, the controller generates a probabilistic match of the identification mark 703 to a colored ink within the index of colors loaded in memory. The (R, G, B) vectors identify the colored ink that define the identification mark 703, and the controller can calculate the probability that the set of three vectors corresponds to a colored ink in the index of colors. The controller can calculate the probability for all of the colored inks in the index and then rank the colored inks from highest to lowest probability. In some examples, the controller performs vector operations to normalize the signals received by the controller. In some cases, the controller computes a normalized cross product or a dot product before matching the vectors to a colored ink in the index. The controller can account for noise sources in the environment, for example, ambient light that can skew the detected optical characteristics of the identification mark 703.
In some cases, the controller can be programmed such that the controller determines and selects a color only if the probability of the highest probability colored ink exceeds a threshold probability (e.g., 50%, 55%, 60%, 65%, 70%, 75%). The threshold probability protects against errors in loading the cleaning pad 700 onto the pad holder 720 by detecting misalignment of the identification mark 703 with the pad sensor assembly 724. For example, as described above, the cleaning pad 700 can “walk off” or slide off the pad holder 720 during use and partially translate along the pad holder 720 from its loaded position, thus preventing the pad sensor assembly 724 from being able to detect the identification mark 703. If the controller computes the probabilities of the colored inks in the colored ink index and none of the probabilities exceed the threshold probability, the controller can indicate that a pad identification error has occurred. The threshold probability can be selected based on the sensitivity and precision desired for the identification mark algorithm 750. In some implementations, upon determining that none of the probabilities exceed the threshold probability, the robot generates an alert. In some cases, the alert is a visual alert, where the robot can stop in place and/or flash lights on the robot. In other cases, the alert is an audible alert, where the robot can play a verbal alert stating that the robot is experiencing an error. The audible alert can also be a sound sequence, such as an alarm.
Additionally or alternatively, the controller can compute an error for each calculated probability. If the error of the highest probability colored ink is greater than a threshold error, then the controller can indicate that a pad identification error occurred. Similar to the threshold probability described above, the threshold error protects against misalignment and loading errors of the cleaning pad 700.
The identification mark 703 is sufficiently large to be detected by the detector 728 but is sufficiently small so that the identification mark algorithm 750 indicates that a pad identification error has occurred when the cleaning pad 700 is sliding off of the pad holder 720. For example, the identification mark algorithm 750 can indicate an error if, for example, 5%, 10%, 15%, 20%, 25% of the cleaning pad 700 has slid off of the pad holder 720. In such a case, the size of the identification mark 703 can correspond to a percent of the length of the cleaning pad 700 (e.g., the identification mark 703 may have a diameter that is 1% to 10% of the length of the cleaning pad 700). While the identification mark 703 has been described and shown as of limited extent, in some cases, the identification mark can simply be a color of the card backing. The card backings may all have uniform color, and the spectral responses of the different colored card backings can be stored in the color index. In some cases, the identification mark 703 is not circularly shaped and is, instead, square, rectangular, triangular, or other shape that can be optically detected.
While the ink used to create the identification mark 703 has simply been described as colored ink, in some examples, the colored ink includes additional components that the controller can use to uniquely identify the ink and thus the cleaning pad. For example, the ink can contain fluorescent markers that fluoresce under a specific type of radiation, and the fluorescent markers can further be used to identify the pad type. The ink can also contain markers that produce a distinct phase shift in reflected radiation that the detector can detect. In this example, the controller can use the identification mark algorithm 750 as both an identification and an authentication process in which the controller can identify the type of the cleaning pad using the identification mark 703 and subsequently authenticate the type of the cleaning pad by using the fluorescent or phase shift marker.
In another implementation, the same type of colored ink is used for different types of the cleaning pads. The amount of ink varies depending on the type of the cleaning pad, the photodetector can detect an intensity of the reflected radiation to determine the type of the cleaning pad.
Referring to
Referring to
Referring to
Referring to
Referring to
The robot 100 (shown in
Referring to
At step 910a, the user inserts a battery into the robot. The battery provides power to, for example, the control system of the robot 100.
At step 910b, the user loads the cleaning pad into the pad holder. The user can load the cleaning pad by sliding the cleaning pad into the pad holder such that the cleaning pad engages with the protrusions of the pad holder. The user can insert any type of cleaning pad, for example, the wet mopping cleaning pad, the damp mopping cleaning pad, the dry dusting cleaning pad, or the washable cleaning pad described above.
At step 910c, if applicable, the user fills the robot with cleaning fluid. If the user inserted a dry dusting cleaning pad, the user does not need to fill the robot with the cleaning fluid. In some examples, the robot can identify the cleaning pad immediately after step 910b. The robot can then indicate to the user whether the user needs to fill the reservoir with cleaning fluid.
At step 910d, the user turns on the robot 100 at a start position. The user can, for example, press the clean button 140 (shown in
At step 920a, the robot identifies the type of the cleaning pad. The controller of the robot can execute one of the pad identification schemes described with respect to
At step 920b, upon identifying the type of the cleaning pad, the robot executes a cleaning operation based on the type of cleaning pad. The robot can implement navigational behaviors and spraying schedules as described above. For example, in the example as described with respect to
At steps 920c and 920d, the robot periodically checks the cleaning pad for errors. The robot checks the cleaning pad for errors while the robot continues the cleaning operation executed as part of step 920b. If the robot does not determine that an error has occurred, the robot continues the cleaning operation. If the robot determines that an error has occurred, the robot can, for example, stop the cleaning operation, change the color of a visual indicator on top of the robot, generate an audible alert, or some combination of indications that an error has occurred. The robot can detect an error by continuously checking the type of the cleaning pad as the robot executes the cleaning operation. In some cases, the robot can detect an error by comparing its current identification the cleaning pad type with the initial cleaning pad type identified as part of step 920b described above. If the current identification differs from the initial identification, the robot can determine that an error has occurred. As described earlier, the cleaning pad can slide off of the pad holder, which can result in the detection of an error.
At step 920e, upon completing the cleaning operation, the robot returns to the start position from the step 910d and powers off. The controller of the robot can cut power from the control system of the robot upon detecting that the robot has returned to the start position.
At step 910e, the user ejects the cleaning pad from the pad holder. The user can actuate the pad release mechanism 322 as described above with respect to
At step 910f, if applicable, the user empties the remaining cleaning fluid from the robot.
At step 910g, the user removes the battery from the robot. The user can then charge the battery using an external power source. The user can store the robot for future use.
The steps above described with respect to the flow chart 900 do not limit the scope of the methods of use of the robot. In one example, the robot can provide visual or audible instructions to the user based on the type of the cleaning pad that the robot has detected. If the robot detects a cleaning pad for a particular type of surface, the robot can gently remind the user of the type of surfaces recommended for the type of surface. The robot can also alert the user of the need to fill the reservoir with cleaning fluid. In some cases, the robot can notify the user of the type of the cleaning fluid that should be placed into the reservoir (e.g., water, detergent, etc.).
In other implementations, upon identifying the type of the cleaning pad, the robot can use other sensors of the robot to determine if the robot has been placed in the correct operating conditions to use the identified cleaning pad. For example, if the robot detects that the robot has been placed on carpet, the robot may not initiate a cleaning operation to prevent the carpet from being damaged.
While a number of examples have been described for illustration purposes, the foregoing description is not intended to limit the scope of the invention, which is defined by the scope of the appended claims. There are and will be other examples and modifications within the scope of the following claims.
Number | Date | Country | |
---|---|---|---|
Parent | 14658820 | Mar 2015 | US |
Child | 15798813 | US |