Patent ID: 12232669

DESCRIPTION OF THE CURRENT EMBODIMENT

Various systems and methods for mitigating fluid pooling resulting from operation of a wet floor cleaner are provided herein. In one embodiment, perhaps most easily understood with reference to the representational flow diagram ofFIG.3, an autonomous robot wet floor cleaner has a refillable reservoir170toward the back of the robot that can be filled with cleaning fluid. A pump53is configured to push the cleaning fluid along a cleaning fluid flow path310from the tank170into to a cleaning fluid distributor172. In this one embodiment, the distributor172is a drip bar located above the brushroll130. The cleaning fluid can be distributed across the microfiber brushroll130via a number of output holes in the drip bar. In general, as the autonomous robot wet floor cleaner moves in the forward direction, dispensed cleaning fluid can pool on the floor, typically between the brushroll130and squeegee140(i.e., the portion of the floor directly beneath the small gap between the squeegee140and the brushroll130).

In general, the various embodiments of the present disclosure focus on cleaning fluid pooling mitigation. Cleaning fluid pooling mitigation can refer not only to reducing or preventing the cleaning fluid from pooling on the floor in the first place, but it can also refer to reducing, remediating, or recapturing some or all of the pooled cleaning fluid on the floor or to another fluid on the floor. That is, in addition to or instead of mitigating cleaning fluid dispensed by the robot, embodiments of the present disclosure can also mitigate other fluid on the floor. For example, cleaning fluid mitigation strategies can assist with not only excess cleaning fluid pooling, but other fluids pooling on the floor, such as spilled milk, soda pop, juice, or other liquids. As discussed in more detail below, some embodiments accomplish cleaning fluid pooling mitigation by injecting a small backward movement before the autonomous robot makes a navigation transition that may cause a cleaning fluid pooling event.

FIG.7shows a high level system diagram for an exemplary autonomous wet cleaning robot700in accordance with one aspect of the present disclosure. The robot700can include a combination of systems configured to autonomously wet clean one or more surfaces of an environment. For example, as shown inFIG.7the robot700can include a navigation system702for sensing and making decisions based on information about the robot's environment, a drive system704for driving the robot about the environment based on information from the navigation system, and a wet cleaning system706for wet cleaning one or more surfaces in the environment. The wet cleaning system706of the current embodiment can include a cleaning fluid dispenser system708and a recovery system710.

The robot700can include one or more controllers that can control (e.g., instruct) and/or receive inputs from the various systems. Any of the various robot systems can be in communication with one or more controllers utilizing essentially any suitable communication protocol. The various systems can include various components and subsystems. For example, the wet cleaning system706may include a cleaning fluid dispenser system708and recovery system710. The one or more controllers can be in direct or indirect communication with the various system subsystems and individual components.

The various systems of the robot100,700can be implemented with dedicated components, shared components, or a combination thereof. For example, each of the systems may have its own processor, memory, and other components configured to accomplish the system's functionality. One or more of the systems may share some or all of its components with one or more other systems. For example, in some embodiments, one overarching robot controller and shared memory work in conjunction to control functionality of the navigation system, drive system, the wet cleaning system, and other systems as will be described further in connection with the exemplary embodiment ofFIGS.8A-B.

Details regarding various aspects of autonomous floor cleaners in accordance with the present disclosure will now be described in connection with a perspective views (FIG.1), exploded view (FIG.2), partial sectional view (FIG.3), and several functional block diagrams (FIGS.8A-B). An exemplary autonomous floor cleaner100can include components of various functional systems in an autonomously moveable unit. The autonomous floor cleaner100can include a housing110(FIG.1) adapted to selectively mount components of the systems to form a unitary movable device.

FIG.3depicts a representational cleaning fluid dispense flow path310, a vacuum fluid flow recovery path320including a vacuum exhaust path of the autonomous wet cleaning robot100. With regard to the cleaning fluid dispense flow path310, cleaning fluid can be routed from a supply tank51of cleaning fluid to a distributor172via a pump53. With regard to the vacuum fluid flow recovery path320, a suction source46can vacuum air and recovery fluid in to the recovery tank44through a filter164and exhaust via a vacuum exhaust path via the exhaust port154. The filter164can be a mesh screen or another suitable filter.

As depicted inFIGS.8A-B, a controller20may be operably coupled with the various functional systems of the autonomous floor cleaner100for controlling the operation of the autonomous floor cleaner100. The controller20can be a microcontroller unit (CMU) that contains at least one central processing unit (CPU). Some of the exemplary functional systems of an autonomous floor cleaner in accordance with the present disclosure can include a fluid delivery system50for storing cleaning fluid and delivering the cleaning fluid to the surface to be cleaned, a recovery system45for removing liquid, debris, or both from the surface to be cleaned, a drive system70for autonomously moving the robot100over the surface to be cleaned, a navigation system31for providing guidance to the robot drive system, and a vacuum collection or recovery system45. These various functional systems can be provided in different combinations in accordance with the present disclosure. For example, some autonomous floor cleaners in accordance with the present disclosure are wet vacuum robots, some are combination dry/wet vacuum robots, while others are wet mopping robots without vacuum. Further the functional system diagram ofFIGS.8A-Bis exemplary, specific implementations may have different logical groupings among systems, may share components among system, and may have additional, different, or fewer systems or components.

The controller20includes any and all electrical circuitry and components to carry out the functions and algorithms described in the disclosure. Generally speaking, the controller20may include one or more microcontrollers, microprocessors, and/or other programmable electronics that are programmed to carry out the functions described herein. The controller20may additionally or alternatively include other electronic components that are programmed to carry out the functions described herein, or that support the microcontrollers, microprocessors, and/or other electronics. The other electronic components can include, but are not limited to, one or more field programmable gate arrays, systems on a chip, volatile or nonvolatile memory, discrete circuitry, integrated circuits, application specific integrated circuits (ASICs) and/or other hardware, software, or firmware. Such components can be physically configured in any suitable manner, such as by mounting them to one or more circuit boards, or arranging them in other manners, whether combined into a single unit or distributed across multiple units. Such components may be physically distributed in different positions in the autonomous floor cleaner100, or they may reside in a common location within the autonomous floor cleaner100. When physically distributed, the components may communicate using any suitable serial or parallel communication protocol, such as, but not limited to: CAN, LIN, FireWire, I2C, RS-232, RS-422, RS-485, SPI, Ethernet, Universal Serial Bus (USB), and RF (cellular, WiFi, Bluetooth, Bluetooth Low Energy).

The controller20of the autonomous floor cleaner100in the illustrated embodiment ofFIGS.8A-Bmay include one or more processors that execute one or more applications232(software and/or includes firmware), one or more controller internal memory units (e.g., RAM and/or ROM), one or more controller external memory units, and one or more communication interfaces, amongst other electronic hardware.

The communication interface may be any type of communication link, including any of the types of communication links, including wired or wireless. The communication interface may facilitate external or internal, or both, communications. For instance, the communication interface may be coupled to or incorporate an antenna array. The antenna array may include one or more antennas configured to facilitate wireless communications, including BLE communications, Ultrawide Band (UWB) communications, or another type of wireless communications, or a combination thereof.

As an example, the communication interface may provide a wireless communication link with another system component in the form of a portable device (not shown), such as wireless communications according to the WiFi standard. In another example, the communication interface may be configured to communicate with a robot controller or other robot component via a wired link such as a CAN-based wired network that facilitates communication between a plurality of devices. The communication interface in one embodiment may include a display91and/or input interface for communicating information to and/or receiving information from the user.

A navigation/mapping system31can be provided in the autonomous floor cleaner100for guiding the movement of the autonomous floor cleaner100over the surface to be cleaned, generating and storing maps of the surface to be cleaned, and recording status or other environmental variable information. The controller20can receive input from the navigation/mapping system31or from a mobile device such as a smartphone (not shown) for directing the autonomous floor cleaner12over the surface to be cleaned. The navigation/mapping system31can include a memory30that can store any data useful for navigation, mapping or conducting a cycle of operation, including, but not limited to, maps for navigation, inputs from various sensors that are used to guide the movement of the autonomous floor cleaner100, etc. For example, wheel encoders32can be placed on the drive shafts of wheels coupled to the autonomous floor cleaner100and configured to measure a distance traveled by the autonomous floor cleaner100. The distance measurement can be provided as input to the controller20.

In an autonomous mode of operation, the autonomous floor cleaner100can be configured to travel in any pattern useful for cleaning including boustrophedon or alternating rows (that is, the autonomous floor cleaner100travels from right-to-left and left-to-right on alternate rows), spiral trajectories, etc., while cleaning the floor surface, using input from various sensors to change direction or adjust its course as needed to avoid obstacles. In a manual mode of operation, movement of the autonomous floor cleaner100can be controlled using a mobile device such as a smartphone or tablet.

The robot can also include at least one agitator for agitating the surface to be cleaned. The agitator can be in the form of a brushroll130mounted for rotation about a substantially horizontal axis, relative to the surface over which the autonomous floor cleaner100moves. A drive assembly including a separate, dedicated brush motor42can be provided within the autonomous floor cleaner100to drive the brushroll41. The brushroll can have a generally constant or variable speed—for example, one brushroll can be driven at a speed of about 1000 rotations per minute (“RPM”). Other agitators or brush rolls can also be provided, including one or more stationary or non-moving brushes, or one or more brushes that rotate about a substantially vertical axis.

The recovery system45can include a recovery pathway320through the housing16having an air inlet defined by a suction nozzle15and an air outlet (not shown), a debris receptacle, bin, or recovery tank44for receiving recovered liquid and/or debris for later disposal, and a suction source46in fluid communication with the suction nozzle45and the recovery tank44for generating a working air stream through the recovery pathway320. The suction source46can include a vacuum motor47located fluidly upstream of the air outlet, and can define a portion of the recovery pathway.

The suction nozzle may be positioned in close proximity to the brushroll130to collect liquid and debris directly from the brushroll130. In another aspect, the suction nozzle can be positioned to confront the surface to be cleaned to remove liquid and debris from the surface, rather than the brushroll130.

The recovery tank44can define a portion of the recovery pathway and can comprise a separator (not shown) for separating liquid and debris from the working airstream. Optionally, a pre-motor filter and/or a post-motor filter164can be provided in the recovery pathway as well. The recovery pathway can further include various conduits, ducts, or tubes for fluid communication between the various components of the vacuuming system45. The vacuum motor47can be positioned downstream of the recovery tank44in the recovery pathway. In other aspects, the vacuum motor47may be located fluidly upstream of the recovery tank44.

The fluid delivery system50can include a supply tank51for storing a supply of cleaning fluid and at least one fluid distributor52in fluid communication with the supply tank51for depositing a cleaning fluid onto the brushroll41or surface to be cleaned. The cleaning fluid can be a liquid such as water or a cleaning solution specifically formulated for hard or soft surface cleaning. T, The fluid distributor52can be a manifold having multiple distributor outlets, such as drip bar172integrated with or joined to the recovery tank. The drip bar172can have multiple drip locations174, depicted inFIGS.4and6. Alternatively, the drip bar can be located elsewhere on in the nozzle, including the main housing. Further, instead of drip locations, in some embodiments, the fluid distributor52can be one or more spray nozzles with orifice(s) of sufficient size such that debris does not readily clog the nozzle(s).

A pump53can be provided in the fluid pathway between the supply tank51and the at least one fluid distributor52to control the flow of fluid to the at least one fluid distributor52. The pump53can be driven by a pump motor54to move liquid at any flowrate suitable for a cleaning cycle of operation. In some embodiments, the pump53can be driven according to one or more cleaning fluid pooling mitigation strategies discussed in more detail below.

Various combinations of optional components can also be incorporated into the fluid delivery system50, such as a heater56or one or more fluid control and mixing valves. The heater56can be configured, for example, to warm up the cleaning fluid before it is applied to the surface. In one aspect, the heater56can be an in-line fluid heater between the supply tank51and the distributor52. In another example, the heater56can be a steam generating assembly. The steam assembly may be in fluid communication with the supply tank51such that some or all the liquid applied to the floor surface is heated to vapor.

The agitation assembly60can be utilized to disperse the distributed fluid on the floor surface and remove moistened dust and other debris. The agitation assembly60can include at least one agitator61that can optionally be rotatable. For example, the at least one agitator61can be driven to rotate about a vertical axis that intersects with the center of the respective agitator61. In one aspect, the at least one agitator61may be a pad, a brushroll, or any other suitable mopping or sweeping element. A drive assembly including at least one agitator motor62can be provided as part of the debris removal assembly60. Each agitator61can optionally be detachable for purposes of cleaning and maintenance.

The drive system70can include one or more drive wheels71for driving the autonomous floor cleaner100across a surface to be cleaned. The drive wheels can be operated by a common wheel motor72or individual wheel motors coupled with the drive wheels by a transmission, which may include a gear train assembly or another suitable transmission. The drive system70can receive inputs from the controller20for driving the autonomous floor cleaner100across a floor, based on inputs from the navigation/mapping system30for the autonomous mode of operation or based on inputs from a mobile device for the manual mode of operation. The drive wheels71can be driven in a forward or reverse direction to move the unit forwardly or rearwardly. Furthermore, the drive wheels71can be operated simultaneously at the same rotational speed for linear motion or independently at different rotational speeds to turn the autonomous floor cleaner100in a desired direction. The autonomous floor cleaner100can also include one or more non-driven wheels116to help support the robot on the surface to be cleaned.

The autonomous floor cleaner100can include any number of motors suitable for performing locomotion and cleaning. In one example, motors42,54,72can be provided to rotate the brushroll41, the pump53, and the drive wheels71. Vacuum motor47can rotate a fan (not shown) of the suction source46.

In addition, a brush motor driver43, vacuum motor driver48, pump motor driver55, and wheel motor driver73can be provided for controlling the brush motor42, vacuum motor47, pump motor54, and wheel motor72, respectively. The motor drivers43,48,55,73can act as an interface between the controller20and their respective motors42,47,54,72. The motor drivers43,48,55,73can also be packaged as an integrated circuit chip (IC). It is also contemplated that a single wheel motor driver73can control multiple wheel motors72simultaneously.

Turning toFIG.8B, the motor drivers43,48,55,73(FIG.8A) can be electrically coupled to a battery management system80that includes a built-in rechargeable battery or removable battery pack81. In one example, the battery pack81can include lithium ion batteries. Charging contacts for the battery pack81can be provided on an exterior surface of the autonomous floor cleaner12. The docking station18can be provided with corresponding charging contacts that can mate to the charging contacts on the exterior surface of the autonomous floor cleaner12. The battery pack81can be selectively removable from the autonomous floor cleaner12such that it can be plugged into mains voltage via a DC transformer for replenishment of electrical power, i.e. charging. When inserted into the autonomous floor cleaner12, the removable battery pack81can be at least partially located outside the housing16or completely enclosed in a compartment within the housing16, in non-limiting examples and depending upon the implementation.

The controller20may be further operably coupled with a user interface (UI)90on the autonomous floor cleaner12for receiving inputs from a user. The user interface90can be used to select an operation cycle for the autonomous floor cleaner12or otherwise control the operation of the autonomous floor cleaner12. The user interface90can have a display91, such as an LED display, for providing visual notifications to the user. A display driver92can be provided for controlling the display91, and acts as an interface between the controller20and the display91. The display driver92may be an integrated circuit chip (IC). The autonomous floor cleaner12can further be provided with a speaker (not shown) for providing audible notifications to the user. The autonomous floor cleaner12can further be provided with one or more cameras or stereo cameras for acquiring visible notifications from the user. The user interface90can further have one or more switches93that are actuated by the user to provide input to the controller20to control the operation of various components of the autonomous floor cleaner12. A switch driver94can be provided for controlling the switch93, and acts as an interface between the controller20and the switch93.

The controller20can further be operably coupled with various sensors for receiving input about the environment and can use the sensor input to control the operation of the autonomous floor cleaner12. The sensors can detect features of the surrounding environment of the autonomous floor cleaner12including, but not limited to, walls, floors, chair legs, table legs, footstools, pets, consumers, and other obstacles. The sensor input can further be stored in a memory or used to develop maps for navigation. Some exemplary sensors are illustrated inFIG.8B, and described below. Although it is understood that not all sensors shown may be provided, additional sensors may be provided, and that all of the possible sensors can be provided in any combination.

The autonomous floor cleaner12can include a positioning or localization system121. The localization system121can include one or more sensors, including but not limited to the sensors described above. In one non-limiting example, the localization system121can include obstacle sensors101determining the position of the autonomous floor cleaner12, such as a stereo camera in a non-limiting example, for distance and position sensing. The obstacle sensors101can be mounted to the housing16of the autonomous floor cleaner12, such as in the front of the housing16to determine the distance to obstacles in front of the autonomous floor cleaner12. Input from the obstacle sensors101can be used to slow down or adjust the course of the autonomous floor cleaner12in response to objects being detected.

The autonomous floor cleaner can includes sensors capable of providing sufficient sensor input to build a 3D map of the autonomous floor cleaner's environment, such as stereo cameras. The colorations used in connection with generating the2D map from the stereo cameras or other sensors may also be communicated to a mobile device application and utilized to create an augmented reality experience. For example, based on the colorations and other stereo camera data, an application can be configured to provide a live, augmented reality view of autonomous robot environment where the uncleaned, cleaned, and estimated wet areas are highlighted or otherwise displayed.

Bump sensors102can also be provided in the localization system121for determining front or side impacts to the autonomous floor cleaner12. The bump sensors102may be integrated with the housing16, such as with a bumper112(FIG.1). Output signals from the bump sensors102provide inputs to the controller20for selecting an obstacle avoidance algorithm. Further, the output signals from the bump sensors can provide inputs to the controller20for selecting or triggering a cleaning fluid pooling mitigation strategy.

The localization system121can further include a side wall sensor103(also known as a wall following sensor) and a cliff sensor104. The side wall sensor103or cliff sensor104can be optical, mechanical, or ultrasonic sensors, including reflective or time-of-flight sensors. The side wall sensor103can be located near the side of the housing16and can include a side-facing optical position sensor that provides distance feedback and controls the autonomous floor cleaner12so that autonomous floor cleaner12can follow near a wall without contacting the wall. The cliff sensors104can be bottom-facing optical position sensors that provide distance feedback and control the autonomous floor cleaner12so that the autonomous floor cleaner12can avoid excessive drops such as stairwells or ledges. 1). Output signals for these sensors can also provide inputs to the controller20for selecting or triggering a cleaning fluid pooling mitigation strategy, as discussed in more detail below.

The localization system121can also include an inertial measurement unit (IMU)105to measure and report the robot's acceleration, angular rate, magnetic field, other IMU sensed values, or any combination thereof of the autonomous floor cleaner12, using, for example, a combination of at least one accelerometer, gyroscope, and, optionally, magnetometer or compass. The IMU105can be an integrated inertial sensor located on the controller20and can be a nine-axis gyroscope or accelerometer to sense linear, rotational or magnetic field acceleration. The IMU105can use acceleration input data to calculate and communicate change in velocity and pose to the controller for navigating the autonomous floor cleaner12around the surface to be cleaned. The IMU can coorperate with other obstacle detection components of the localization system121, such as a bumper, infrared, LIDAR and/or one or more other sensors. The localization system121or essentially one or more of any sensor on the robot can be utilized can be utilized in identifying a trigger for or executing a cleaning fluid mitigation strategy.

The localization system121can further include one or more lift-up sensors106which detect when the autonomous floor cleaner100is lifted off the surface to be cleaned e.g. if a user picks up the autonomous floor cleaner100. This information is provided as an input to the controller20, which can halt operation of the pump motor54, brush motor42, vacuum motor47, wheel motor73, or any combination thereof, in response to a detected lift-up event. The lift-up sensors106may also detect when the autonomous floor cleaner100is in contact with the surface to be cleaned, such as when the user places the autonomous floor cleaner100back on the ground. Upon such input, the controller20may resume operation of the pump motor54, brush motor42, vacuum motor47, wheel motor73, or any combination thereof.

The autonomous floor cleaner100can optionally include one or more tank sensors110for detecting a characteristic or status of the supply tank51or the recovery tank160. In one example, one or more pressure sensors for detecting the weight of the supply tank51or the recovery tank can be provided. In another example, one or more magnetic sensors for detecting the presence of the supply tank51or recovery tank160can be provided. This information can be provided as an input to the controller20, which may prevent operation of the autonomous floor cleaner100until the supply tank51is filled, the recovery tank160is emptied, or both are properly installed, in non-limiting examples. The controller20may also direct the display91to provide a notification to the user that either or both of the supply tank51and recovery tank is missing.

The autonomous floor cleaner100can further include one or more floor condition sensors111for detecting a condition of the surface to be cleaned. For example, the autonomous floor cleaner100can be provided with an IR dirt sensor, a stain sensor, an odor sensor, or a wet mess sensor. The floor condition sensors111provide input to the controller that may direct operation of the autonomous floor cleaner100based on the condition of the surface to be cleaned, such as by selecting or modifying a cleaning cycle. Optionally, the floor condition sensors111can also provide input for display on a mobile device. The floor condition sensors111can also provide input to the controller20for selecting or triggering a cleaning fluid pooling mitigation strategy, as discussed in more detail below. The floor condition sensors111can also provide input to the controller20for assessing the effectiveness of a cleaning fluid pooling mitigation strategy.

Optionally, an artificial barrier system120can be provided for containing the autonomous floor cleaner100within a user-determined boundary. The artificial barrier system120can include an artificial barrier generator121for generating an artificial barrier122that is an auxiliary device of the system separate from the robot. Some embodiments can include one or more IR transceivers123. For example, the autonomous floor cleaner12can have a plurality of IR transceivers (also referred to as IR XCVRs)123around the perimeter of the autonomous floor cleaner12to sense IR signals emitted from an artificial barrier generator121and output corresponding signals to the controller20, which can be used to navigate the robot100. Alternatively, or in addition, the artificial barrier system120may utilize virtual barriers input by a user on a mobile device (not shown). That is, instead of placing physical artificial barriers122about a room, the user can be presented on a user interface with the ability to indicate a virtual barrier, such as a keep-in zone, keep-out zone, or another virtual barrier. The autonomous floor cleaner12can be configured to respect the virtual barrier. For example, the autonomous floor cleaner100can be programmed to avoid crossing a keep-out zone or virtual barrier. As another example, the autonomous floor cleaner100may be programmed to efficiently travel to and from a docking station and one or more keep-in zones. Further the autonomous floor cleaner100may be programmed to only operate within a certain mode, such as a particular cleaning mode, depending upon the virtual barriers. For example, while within a particular keep-in zone. The virtual barriers can be respected by the autonomous floor cleaner100by tracking the position of the autonomous floor cleaner100relative to a map of the surrounding area, which includes the one or more virtual barriers indicated by the user. Put another way, the autonomous floor cleaner100can be configured to localize and recognize its position within an environment map. That position within the environment map can be translated and compared against the position of the virtual barrier identified via the user interface in order to map the virtual barriers to the environment map of the autonomous floor cleaner, which can then be respected according to the virtual barrier response configuration (e.g., keep-out, keep-in, etc.). Cleaning fluid pooling mitigation strategies can be selected or triggered based upon relative position with respect to an artificial barrier (virtual or physical).

The autonomous floor cleaner100can operate in one of a number of modes. For example, the modes can include one or more of a wet mode and a dry mode. During a wet mode of operation, liquid from the supply tank51is applied to the floor surface and the brush roll130is rotated. During a dry mode of operation, the brush roll130is rotated and no liquid is applied to the floor surface.

The pump53(FIG.8A) can be driven according to a pulse-width modulation (PWM) signal28. Pulse-width modulation is a method of communication by generating a pulsing signal. Pulse-width modulation can be utilized for controlling the amplitude of digital signals in order to control devices and applications, such as the pump motor54. The PWM signal28can control an amount of power given to the pump53by cycling the on-and-off phases of a digital signal at a specific frequency and by varying the width of an “on” phase. The width of the “on” phase is also known as duty cycle, which can be expressed as the percentage of being on (e.g., a 30% duty cycle). The pump53can essentially receive a steady power input with an average voltage value which is the result of the duty cycle and can be less than the maximum voltage capable of being delivered from the battery pack81. The PWM signal28can be transmitted from the controller20and configured to provide a set flowrate of deposited cleaning fluid. In one non-limiting example of operation, the PWM signal28can cyclically energize the pump53for a first predetermined time duration, such as 40 milliseconds, and then de-energize the pump for a second predetermined time duration, such as 2 seconds, at a rate of 50 Hz and a duty cycle of 40%. Higher flow rates can be achieved by, for example, increasing either or both of the duty cycle or frequency. In this manner, the controller20can provide essentially any suitable or customized flow rate, including a low flow rate, from the pump53being powered from the battery pack81.

Referring toFIGS.1-4, details of an exemplary autonomous wet cleaning robot100capable of carrying out cleaning fluid pooling mitigation strategies will now be described.FIG.1shows a perspective view of an autonomous wet cleaning robot100according to one aspect. The autonomous wet cleaning robot100includes a robot housing110. As shown inFIG.1, the robot housing110can be D-shaped. However, in alternate aspects, the robot housing110may be substantially cylindrical or essentially any other suitable shape for an autonomous wet cleaning robot. The robot housing110may include a bumper112. The bumper112can be configured to move in response to the robot100encountering an obstacle, such as a piece of furniture or a wall. The compression of the bumper112can trigger a switch or other sensor in the robot housing110. For example, in response to activation of the switch, the robot100can be configured to perform a corrective action, such as backing away from the obstacle or executing some other maneuver to disengage and avoid the obstacle. Further, in response to activation of the switch, the robot100can be configured to execute a fluid cleaning pooling mitigation strategy.

FIG.1also depicts a portion of the autonomous wet cleaning robot100navigation system that provides the robot with information about its environment for use in efficiently and effectively traversing and cleaning the environment, such as a wood, vinyl, tile, or other hard-surfaced floor. In the depicted embodiment, the navigation system includes a Light Detection and Ranging (“LIDAR”) system120. In alternate aspects, the navigation system can include a Visual Simultaneous Localization and Mapping (VSLAM) system or another type of navigation system. The navigation system generally can include one or more cameras, thermal imaging devices, video cameras, or essentially any combination of such components or other sensors that can effectively provide robot navigation about an environment. The navigation system can obtain various navigation data and communicate, directly or indirectly, with the robot drive system to cause the robot to intelligently traverse the environment based on the navigation data.

FIG.2shows an exploded perspective view of the autonomous wet cleaning robot100ofFIG.1. The autonomous wet cleaning robot100may include at least one agitator system, such as brushroll130. The brushroll130can be a hybrid brushroll suitable for use on both hard and soft surfaces, and for wet or dry vacuum cleaning. In one aspect shown in the sectional view ofFIG.4, the brushroll130includes a dowel134supporting at least one agitation element. The agitation element can comprise microfiber material136provided on the dowel134. The microfiber material can be constructed of polyester, polyamides, or a conjugation of materials including polypropylene or any other suitable material known in the art from which to construct microfiber. Other aspects of brush rolls in accordance with the present disclosure can have different configurations and utilize different materials. For example, the brushroll can further include a plurality of bristles (not shown) extending from the dowel134, with the microfiber material136arranged around and/or between the bristles. The bristles can be tufted or unitary bristle strips and constructed of nylon, or any other suitable synthetic or natural fiber. In another example, the brushroll can be a bristle brushroll suitable for use on soft surfaces, and comprise bristles and no microfiber material. Alternatively or in addition, the robot100can be provided with multiple, interchangeable brushrolls that allow for the selection of a brushroll depending on the cleaning task to be performed, the floor type of be cleaned, or other factors. The brush rolls can have the same mounting interface such that one brushroll can be swapped out for another brushroll on the robot100. The brushroll130can be selectively removable and replaceable. A brushroll tab can be pulled by the user to remove the brushroll from the brushroll chamber and a new brushroll can be installed by inserting one end of the brushroll into a slot then clicking the other end into place.

Optionally, the autonomous floor cleaner can include an additional agitator, such as one or more edge brushes, cleaning pads or other suitable agitators, that can complement the brushroll130or otherwise aid with cleaning, recovery, or both.

A squeegee140(shown inFIGS.3-4) can be located behind the brushroll to aid in control of the cleaning fluid on the floor. The squeegee140can disperse the liquid left behind by the agitator130so that the liquid may be removed by the suction mechanism152.

The suction source46(shown inFIG.3) can vacuum fluid through a suction inlet adjacent the brushroll130, the recovery tank44, and a filter164along a fluid flow path320. This allows the robot to recover the cleaning fluid and debris from the brushroll and floor. The liquid removed from the floor can be stored in the recovery tank44. In one aspect, the recovery tank160may have a capacity of 500 mL and register as being full at about 280 mL.

The supply tank51can hold essentially any suitable cleaning fluid and may be referred to as a as a clean tank, cleaning fluid reservoir. In one aspect, the supply tank51can have a 480 mL capacity. Alternative supply tanks can have more or less capacity. The pump54is in fluid communication with the reservoir51and is configured to pump the cleaning fluid from the supply tank to a distributor52, such as drip bar172shown inFIGS.3-4. In one aspect of the present disclosure the pump54pumps cleaning fluid to the drip bar172, which drips the cleaning fluid onto the brushroll at a selected drip rate defined by the characteristics of the drip bar. The drip bar of the present disclosure is configured to have a flow rate of about 8-10 mL of cleaning fluid per minute. The drip bar can be configured in a different manner to increase or decrease the rate at which the cleaning fluid dispenses, for example by changing the number or size of the drip bar apertures or other features of the drip bar.

The robot can include a variety of different user interface (“UI”) elements. For example, the robot can include essentially any combination of a power button, one or more mode or other type of selection buttons, speaker, a display, or other user interface elements. Perhaps as best shown inFIG.2, the exemplary autonomous floor cleaner100depicts a plurality of buttons, including a power switch180and a clean button182that a user can push to have the robot100initiate a cleaning cycle. The autonomous floor cleaner can include various indicators, such as a plurality of LED strips184,186, to display status or other information to the operator.

As shown inFIGS.2and4, the brushroll130can be provided at a forward portion of the robot housing110and received in a brushroll chamber106. The brushroll chamber106of the present disclosure is disposed at a forward section of the robot housing110. As shown inFIG.4, the brushroll130is mounted within the brushroll chamber106for rotational movement about an axis R. A debris inlet162is configured to extract liquid and debris from the brushroll130, the surface to be cleaned, or both. The debris inlet162may be referred to as a suction nozzle.

FIG.4shows a partial cross-sectional view of the autonomous wet cleaning robot100along the line IV-IV ofFIG.1. In operation, fluid can be pumped from the supply tank51(FIG.1) to the drip bar172and dispensed onto the brushroll130. The cleaning fluid can be dripped onto the brushroll130as the brushroll rotates. The flow rate can be selected to provide a desired wetness for the brushroll130based on a number of different factors. For example, the brushroll RPM, desired amount of cleaning fluid to reach the floor surface, the autonomous robot speed, the effect of the interference wiper152, size, shape, and number of drip bar outlets, and thickness and makeup of the microfiber are a few exemplary factors that can be considered.

An interference wiper152is mounted at a forward portion of the agitator chamber106and disposed generally parallel to the surface to be cleaned. As shown inFIG.4, the interference wiper152is configured to interface with a leading portion of the brushroll130as it rotates in the direction R. The interference wiper132is positioned after the distributor172, such that the freshly wetted portion of brushroll130rotates past the interference wiper132, which scrapes excess liquid off the brushroll130before the brushroll130reaches the surface to be cleaned. The wiper152can be located at other positions in relation to the agitator in alternative embodiments. The wiper152can be rigid and non-flexible so that it does not yield or flex by engagement with the brushroll130and the brushroll sheds a generally consistent amount of fluid relative to the wetness of the brushroll. For example, the wiper132can be formed of rigid thermoplastic material, such as poly(methyl methacrylate) (“PMMA”), polycarbonate, or acrylonitrile butadiene styrene (ABS). In other embodiments, the wiper132can be less rigid and have a flexible body that provides a suitable interference with the brushroll.

After the brushroll rotates through the interference wiper and sheds excess cleaning fluid, the brushroll130contacts the floor surface dispensing some of the cleaning fluid onto the floor surface and picking up debris off the floor surface. For example, a microfiber brushroll can simultaneously wash sealed hardwood, laminate, or tile floors while picking up dry debris. The rate of rotation of the brushroll, speed of the autonomous floor cleaner, and other characteristics of the autonomous floor cleaner can be selected to provide an efficient and effective wet clean to the floor surface. During normal operation while the robot moves about the floor surface, the brushroll leaves some cleaner fluid on the floor surface, which can be squeegeed to aid in controlling the flow of cleaner fluid on the floor surface.

The squeegee140of the depicted embodiment is a generally flat smooth rubber blade disposed adjacent to the brushroll. The squeegee140assists in controlling and capturing fluid from the floor surface. That is, as the autonomous floor cleaner100moves forward while simultaneously rotating the wet brushroll130across the floor surface, the squeegee140interacts with cleaning fluid dispensed onto the floor surface or other fluid on the floor surface. For example, the cleaning solution can act as a lubricant breaking up dirt on the floor surface, then the squeegee140can be used to draw the cleaning solution-borne dirt off the floor surface leaving a clean floor surface. In the depicted embodiment, a squeegee140is mounted to the robot housing110behind the brushroll130and extending out of the brushroll chamber toward the floor surface. The squeegee140is configured to contact the floor surface as the autonomous floor cleaner100moves across the surface to be cleaned. The squeegee140wipes residual liquid from the surface to be cleaned so that it can be drawn into the recovery pathway via the debris inlet162, thereby reducing moisture and streaking on the surface to be cleaned. That is, the squeegee140wipes much of the residual liquid from the surface to be cleaned, but can leave a small trail of liquid that quickly dries. The small amount of residual liquid from the squeegee can be desirable as it indicates to the operator that the product is cleaning properly. The squeegee140can be smooth, or optionally comprise nubs on the end thereof. The squeegee140can be pliant, i.e. flexible, or resilient, in order to bend readily according to the contour of the surface to be cleaned yet remain undeformed by normal use of the autonomous wet cleaning robot100. The squeegee140can be formed of a resilient polymeric material, such as ethylene propylene diene monomer (“EPDM”) rubber, polyvinyl chloride (“PVC”), a rubber copolymer such as nitrile butadiene rubber, or any suitable material known in the art of sufficient rigidity to remain substantially undeformed during normal use of the robot100.

Due to a variety of factors, such as the position of the squeegee relative to the brushroll130, speed of the autonomous floor cleaner, rotation rate of the brushroll, rate of suction of the suction source46, and potentially other factors, the squeegeed dirty cleaning solution can be urged toward the brushroll130. As the autonomous floor cleaner continues in a forward direction, the squeegee140carries the cleaning fluid forward to eventually be captured by the brushroll130. As the brushroll rotates dirty cleaning fluid and debris are vacuumed into the recovery tank44via debris inlet162. If the autonomous floor cleaner turns or backs up, a pool of cleaning fluid can be left on the floor surface in the gap between the brushroll130and the squeegee140, which can be referred to as a pooling pocket190.

A variety of different cleaning fluid pooling mitigation strategies in accordance with the present disclosure will now be discussed in detail. The cleaning fluid pooling mitigation strategies of the present disclosure are directed to systems and methods that reduce, remediate, or prevent cleaning fluid pooling caused by an autonomous floor cleaner. The cleaning fluid pooling mitigation strategies can generally involve controlling one or more systems of the autonomous floor cleaner to reduce, remediate, or prevent cleaning fluid pooling caused by an autonomous floor cleaner. Essentially, each cleaning fluid pooling mitigation strategy involves one or a combination of adjustments to robot behavior in response to certain events. Cleaning fluid can pool as a result of a variety of different events, such as the autonomous floor cleaner slowing down or stopping due to identifying or encountering an obstacle, becoming stuck in a location, the robot stopping, traction issues or due to certain navigation routines, such as turning around or after a corn-row maneuver, to name a few examples. The various cleaning fluid pooling mitigation strategies can include reducing or stopping the cleaning fluid pump in response to certain autonomous floor cleaner events, reducing or stopping brushroll speed in response to certain autonomous floor cleaner events, reducing, stopping, or reversing drive speed in response to certain autonomous floor robot maneuvers, executing one or more specific robot maneuvers to improve distribution of cleaning fluid to an agitator or improve fluid extraction, or combinations thereof.

The autonomous wet floor cleaner can operate according to autonomous wet floor cleaner instructions stored in memory. The instructions can be predefined static instructions, dynamic instructions that are adjusted based on the state of the autonomous wet floor cleaner and various sensors and other inputs, or any combination thereof. Some of the autonomous wet floor cleaner instructions can be identified as cleaning fluid pooling precursor events. For example, certain autonomous wet floor cleaner instructions (i.e., referring to individual instructions or sequences of multiple instructions) can be tagged, flagged, or otherwise identified as cleaning fluid pooling precursor events, meaning that they are instructions that, when executed, will or have a high likelihood of causing the autonomous wet floor cleaner to dispense excess cleaning fluid such that a pool on the surface forms. The autonomous wet floor cleaner can identify a particular autonomous wet floor cleaner instruction as a cleaning fluid pooling precursor event in a variety of different ways. For example, certain instructions can be heuristically or experimentally identified as cleaning fluid pooling precursor events and the association between the two can be stored in memory for reference by the autonomous floor cleaner during an identification step. As another example, certain autonomous floor cleaner state parameters can be tracked and utilized to identify whether an autonomous wet floor cleaner instruction is a cleaning fluid pooling precursor event, e.g., because execution of the instruction will bring about a robot state (i.e., particular set of parameter values) that will (or have above a threshold prediction) of causing a cleaning fluid pooling event.

In another aspect of an autonomous wet floor cleaner, the autonomous floor cleaner does not actively identify certain instructions as cleaning fluid pooling precursor events, but instead controls operation of the inter-connected autonomous floor cleaner systems dynamically to mitigate cleaning fluid pooling. For example, the autonomous wet floor cleaner can be configured to control the drive system, cleaning fluid dispenser system, and the recovery system to ensure the drive speed, pump speed, and suction speed are proportionally adjusted to mitigate cleaning fluid pooling. That is, in response to changes to one of the systems, one or more of the other autonomous wet floor cleaner systems can be adjusted to ensure suitable operation according to a cleaning fluid pooling mitigation strategy.

Various examples of cleaning fluid pooling mitigation strategies will now be discussed in detail within the context of the autonomous floor cleaner event scenarios depicted inFIGS.5A-F.

Each of the exemplary scenarios depicted inFIGS.5A-Fillustrates a top down representational view of an exemplary autonomous floor cleaner100during operation traversing a floor surface500of an environment. Each scenario depicts a different robot event, such as general driving (FIG.5A), obstacle recognition (FIG.5B), obstacle response (FIG.5C), robot turn (FIG.5D), the robot being stuck (FIG.5E), or robot shutdown (FIG.5F) to aid in illustrating various different cleaning fluid mitigation strategies that can be employed. It should be understood that these scenarios are not the only scenarios in which the various pooling mitigation strategies can be effectively executed. Further, it should be understood that the particular combination of robot actions that makeup the various pooling mitigation strategies described in connection with these scenario are exemplary and non-exhaustive. In each scenario, the relative position of the brushroll130, squeegee140and the pooling pocket190where cleaning fluid typically pools are illustrated to aid with explanation of the various pooling mitigation strategies.

FIG.5Ashows an exemplary autonomous wet floor cleaner100driving forward. While during normal operation, the various cleaning fluid dispensing characteristics of the autonomous floor cleaner (e.g., cleaning solution flow rate, drive speed, and brushroll speed) can be tuned such that the amount of cleaning fluid dispensed is suitable. During general driving, the tuned values may be dynamically controlled or effected by an external force resulting in a change to the cleaning solution flow rate onto the floor surface, which can cause pooling. For example, the autonomous floor cleaner may have multiple speed settings that can be selected based on a consumer's desire, detected floor surface, or a variety of other factors. One pooling mitigation strategy is to balance the cleaning fluid dispensing characteristics dynamically. For example, if the robot speed is reduced (e.g., due to control by the robot or external forces), the cleaning fluid flow rate from the drip bar can be adjusted, e.g., by controlling the pump to compensate for the reduction in robot speed, the brushroll speed can be reduced to compensate for the reduction in robot speed, or a combination of the two. Put simply, one or more dynamic adjustments can be made to balance for a change in target cleaning fluid flow rate.

FIG.5Bshows an autonomous floor cleaner100recognizing an obstacle. The robot100is shown approaching an obstacle that is expected due to sensors on the robot. As shown inFIG.5B, the obstacle in this exemplary scenario is a wall510. In alternative scenarios, the obstacle can be essentially anything that would impede progress of the robot100were the navigation path to continue. For example, the obstacle could be a piece of furniture, such as a couch, a stray independent article, such as a toy, or another object. With conventional robots, as they approach an obstacle, the robot100is typically configured to perform a robot maneuver to transition away from driving forward in order to prevent collision with the obstacle. For example, common responses in this scenario for an autonomous floor cleaner can include driving in the reverse direction, turning to avoid the obstacle, or stopping. Excess pooling of liquid in the pooling pocket190can occur as a result of many of the typical responses to identifying an obstacle. To prevent or remediate excess cleaning fluid pooling in the pooling pocket190, the robot100, e.g., the robot main controller that controls the various robot systems, can be configured to execute one or more measures that makeup a cleaning fluid mitigation strategy.

One cleaning fluid mitigation strategy includes reducing or stopping the cleaning liquid from being applied to the agitator, e.g., brushroll, by controlling the pump53that dictates the flow of cleaning fluid from the supply tank51. For example, the pump53may vary the flow rate of the cleaning fluid as the robot100approaches the wall510. That is, as examples, the flow rate can be varied proportionally to the distance from the wall or target speed of the drive system. Another cleaning fluid mitigation strategy includes reducing the speed of or stopping the agitator, e.g., the brushroll130. The brushroll motor can be controlled to reduce or stop the brushroll from rotating, which allows the brushroll130to have less contact with the floor during the same period of time, which results in dispensing less cleaning fluid on the floor and instead the brushroll can retain more cleaning fluid during the period of time while the autonomous floor cleaner is responding to recognizing an obstacle, e.g., while the autonomous floor cleaner is slowing its drive speed. Another cleaning fluid mitigation strategy includes reducing the drive speed of the autonomous floor cleaner. The reduction in drive speed can contribute to the pooling mitigation strategy because it can provide additional exposure to the suction source to vacuum excess fluid from the floor.

Adjustments to two or more of the agitator, pump, drive, or other robot systems can be utilized in combination to provide an effective pooling mitigation strategy. Specific adjustments or proportions for each aspect of a cleaning fluid pooling mitigation strategy can be determined experimentally or via heuristics depending upon the desired cleaning fluid mitigation outcome, e.g., the target drying time or an acceptable average or threshold amount of pooled cleaning fluid.

FIG.5Cshows an autonomous floor cleaner100responding to encountering an obstacle, in this depiction a wall510. While autonomous floor cleaners often include algorithms to avoid obstacles, occasional collisions occur (e.g., because the obstacle wasn't detected or the drive system wasn't able to avoid it) and can be the source of cleaning fluid pooling events. For example, the sudden collision can cause excess cleaning fluid to drop from the dispensing system, e.g., the drip bar172, or be flung from the agitator outside the range of the squeegee or suction source.

A typical response to an obstacle collision event for an autonomous floor cleaner can be to execute a back-up procedure in order to clear the object, then reassess and determine a new drive path using the navigation system and robot sensors. However, this can cause or exacerbate cleaning fluid pooling issues because while reversing the squeegee140cannot reach or interact with cleaning fluid between the squeegee and the obstacle. And, because conventional autonomous wet floor cleaners are typically configured to output a constant flow rate of cleaning fluid and the reverse speed is relatively slow, excess cleaning fluid tends to pool in the pooling pocket190in these scenarios.

While a back-up procedure is likely to be central to most obstacle collision recovery algorithms executed by an autonomous floor cleaner, additional adjustments to other robot systems can be executed to aid in cleaning fluid pooling mitigation. For example, in order to prevent or reduce excess liquid from being left on the floor, the robot100may perform a cleaning fluid pooling mitigation strategy that includes one or more different aspects. In one cleaning fluid pooling mitigation strategy, the pump53is automatically controlled to reduce the flow rate or stop the pumping of the cleaning fluid to the drip bar in response to the collision event. Accordingly, as the robot100executes a suitable obstacle collision recovery algorithm, such as transitioning to reverse movement, less or no cleaning fluid will be dispensed. In another aspect, the robot100may halt movement for a predetermined period of time to allow excess liquid to be picked up by an agitator, such as brushroll130, or to be vacuumed by the suction source46. In response to an obstacle collision event, the pooling mitigation strategy may include a modified back-up procedure that includes turning off the pump53, slowing down the rotation of the brushroll130, and reversing the direction of the robot by controlling the drive system70. In another aspect, the backup procedure may include turning off the pump104and stopping the motion of one or more agitators on the robot. In one aspect, the robot100can move at a reduced speed in the backward direction during the backup procedure. In another aspect, the robot100can be configured to execute a swivel maneuver to cause the squeegee to strategically overlap the pooling pocket190as it backs up, or another maneuver to increase the amount of cleaning fluid recovered. For example, the robot100can be configured to move a certain distance to generate a particular amount of overlap or be configured to move to generate a percentage overlap.

FIG.5Dshows an autonomous wet cleaning robot100responding to encountering an obstacle, such as a wall510, or otherwise performing a turn, such as at the end of a corn row drive pattern. An exemplary corn row pattern can include the robot100driving forward until it encounters an obstacle and then turning one-hundred and eighty degrees and driving parallel to the previous drive path at a slight offset sufficient to provide floor coverage by driving in a pattern of rows iteratively across the floor surface. When the autonomous wet cleaning robot100performs a turn, excess cleaning fluid may be dispensed from the robot, the brushroll130may fling cleaning fluid out of range of the squeegee or brushroll, and/or cleaning fluid in the pooling pocket190may avoid the squeegee140, for example due to the angle of the squeegee from the turning maneuver.

As discussed with previous exemplary scenarios, there are a variety of different cleaning fluid pooling mitigation strategies that the autonomous floor cleaner100can be configured to execute to prevent or reduce excess cleaning fluid from pooling on the floor. For example, pump53can reduce or turn off dispensing of cleaning fluid during the turn, the rotational speed of the brushroll can be slowed or stopped to maintain cleaning solution on the brush during the turn or at least reduce the amount of cleaning solution being dispensed from the brushroll. The cleaning fluid pooling mitigation strategy may include a re-priming sequence periodically to ensure a consistent amount of liquid along the brushroll130as described in more detail below with reference toFIG.6.

FIG.5Eshows an autonomous wet cleaning robot100becoming stuck with respect to an obstacle, e.g., a desk520. In response to determining it has become stuck or having traction issues, the robot can be configured to perform an escape routine. In one aspect, the obstacle520may be a coffee table, couch, chair, dining table, desk, or any other piece of furniture the robot100can drive underneath where a portion of the robot can become stuck and cannot navigate away from. In one aspect, the obstacle520may simply be a location in the cleaning area500in which the robot100may become stuck and may have to perform an escape routine. The obstacle520may be a different floor type than another portion of the cleaning area500or may be at a different elevation than another portion of the cleaning area500such that the robot100may detect a wheel slip or a lack of traction. In response to a stuck event, a robot100may dispense excessive liquid in one location compared to the amount of liquid the robot100deposits in one location when the robot100progresses forward. To prevent excess cleaning fluid from being left on the floor, the robot100may perform a variety of mitigation strategies as discussed above. In addition to the other mitigation strategies discussed above, the pump and brushroll can be controlled to prevent or reduce cleaning fluid dispensing during the escape room until the robot recovers from the stuck event and can return to a normal state.

FIG.5Fshows the autonomous wet cleaning robot100returning to a docking station530. This is one example of a unit shutdown or a shutdown sequence. Unit shutdown may occur when the robot100finishes cleaning the cleaning area500, the robot detects a low battery event, or the robot100is otherwise commanded to stop or pause. Cleaning fluid can continue to dispense from the drip bar and from the brushroll after the shutdown sequence is initiated, which may result in unwanted pooling. One exemplary pooling mitigation strategy that can be executed in this scenario includes the following sequence. The robot100can disable the pump104, increase the speed of the agitator130, and continuously run the suction mechanism152for a predetermined period. The predetermined period may be short, such as a few seconds. The speed of the brushroll may be increased during the shutdown to remove liquid from the brushroll. Further, the suction source can be controlled to assist in recovering excess liquid from the brushroll, drip bar, or floor surface. After this sequence, the robot100can stop the suction source152and rotation of the brushroll130and begin traveling toward the docking station530. This can reduce or eliminate a potential trail of cleaning fluid that may otherwise be left by the robot100as it returns to the docking station530. Once the robot100is on the docking station530, the robot100may perform a clean-out cycle to attempt flushing the system and drying the agitator130using the on-device suction source152.

FIG.6shows a bottom view of an exemplary autonomous floor cleaner100. The drip bar172includes one or more drip locations174above the brushroll130(not shown). In an alternate embodiment of the present disclosure, the drip bar172can be located in a different position within the robot housing. The drip locations174may limit the portions of the brushroll130exposed to fluid and may result in the brushroll130having an uneven moisture level. During a start-up or a priming routine the autonomous floor cleaner can be configured to wiggle from side to side. That is, the robot100can be configured to rotate from side to side to assist in distributing cleaning fluid across the brushroll130. The robot100can also perform the wiggle routine during cleaning to maintain a consistent moisture profile on the agitator130during the cleaning run.

Directional terms, such as “vertical,” “horizontal,” “top,” “bottom,” “upper,” “lower,” “inner,” “inwardly,” “outer” and “outwardly,” are used to assist in describing the invention based on the orientation of the embodiments shown in the illustrations. The use of directional terms should not be interpreted to limit the invention to any specific orientation(s).

The above description is that of current embodiments of the invention. Various alterations and changes can be made without departing from the spirit and broader aspects of the invention as defined in the appended claims, which are to be interpreted in accordance with the principles of patent law including the doctrine of equivalents. This disclosure is presented for illustrative purposes and should not be interpreted as an exhaustive description of all embodiments of the invention or to limit the scope of the claims to the specific elements illustrated or described in connection with these embodiments. For example, and without limitation, any individual element(s) of the described invention may be replaced by alternative elements that provide substantially similar functionality or otherwise provide adequate operation. This includes, for example, presently known alternative elements, such as those that might be currently known to one skilled in the art, and alternative elements that may be developed in the future, such as those that one skilled in the art might, upon development, recognize as an alternative. Further, the disclosed embodiments include a plurality of features that are described in concert and that might cooperatively provide a collection of benefits. The present invention is not limited to only those embodiments that include all of these features or that provide all of the stated benefits, except to the extent otherwise expressly set forth in the issued claims. Any reference to claim elements in the singular, for example, using the articles “a,” “an,” “the” or “said,” is not to be construed as limiting the element to the singular.