Autonomous mobile robots include autonomous mobile cleaning robots that can autonomously perform cleaning tasks within an environment, such as a home. Many kinds of cleaning robots are autonomous to some degree and in different ways. Some robots can perform vacuuming operations and some can perform mopping operations. Other robots can include components or systems to perform both vacuuming and mopping operations.
Some autonomous cleaning robots can include both a vacuum system and a mopping system that can allow the robots to perform both mopping and vacuuming operations (such as simultaneously or alternatively), often referred to as two-in-one robots. However, in mopping operations, some stains or dirt may be difficult to remove from a flooring surface of an environment with only a wet or dry pad. The present disclosure helps to address these issues by including a two-in-one robot that includes a scrubbing system configured to scrub a flooring surface as it mops or cleans the flooring surface, helping to improve cleaning effectiveness or efficiency.
Other types of robots include only mopping systems for performing wet or dry mopping operations or missions. However, these mopping systems often rotate, oscillate, or otherwise move an entire cleaning pad, which can cause mobility issues for the robot and can lead to cleaning inefficiencies. The present disclosure helps to address these issues by including a scrubbing system that is separated from the cleaning pad, where the scrubbing system or agitation system can break up dirt to be collected by a mopping pad located behind the agitation system, helping to improve cleaning effectiveness or efficiency without significantly impacting robot mobility.
For example, a mobile cleaning robot can include a body, a drive system, a mopping pad assembly, and a scrubbing system. The drive system can be connected to the body and can be operable to move the mobile cleaning robot about a floor surface of an environment. The mopping pad assembly can be connected to the body and can be configured to hold a mopping pad that is engageable with the floor surface. The scrubbing system can be connected to the body in front of the mopping pad assembly, The scrubbing system can be operable to engage and scrub the floor surface.
The above discussion is intended to provide an overview of subject matter of the present patent application. It is not intended to provide an exclusive or exhaustive explanation of the invention. The description below is included to provide further information about the present patent application.
In the drawings, which are not necessarily drawn to scale, like numerals may describe similar components in different views. Like numerals having different letter suffixes may represent different instances of similar components. The drawings illustrate generally, by way of example, but not by way of limitation, various embodiments discussed in the present document.
The mobile cleaning robot 100 can be operated, such as by a user 60, to autonomously clean the environment 40 in a room-by-room fashion. In some examples, the robot 100 can clean the floor surface 50a of one room, such as the room 42a, before moving to the next room, such as the room 42d, to clean the surface of the room 42d. Different rooms can have different types of floor surfaces. For example, the room 42e (which can be a kitchen) can have a hard floor surface, such as wood or ceramic tile, and the room 42a (which can be a bedroom) can have a carpet surface, such as a medium pile carpet. Other rooms, such as the room 42d (which can be a dining room) can include multiple surfaces where the rug 52 is located within the room 42d.
During cleaning or traveling operations, the robot 100 can use data collected from various sensors (such as optical sensors) and calculations (such as odometry and obstacle detection) to develop a map of the environment 40. Once the map is created, the user 60 can define rooms or zones (such as the rooms 42) within the map. The map can be presentable to the user 60 on a user interface, such as a mobile device, where the user 60 can direct or change cleaning preferences, for example.
Also, during operation, the robot 100 can detect surface types within each of the rooms 42, which can be stored in the robot 100 or another device. The robot 100 can update the map (or data related thereto) such as to include or account for surface types of the floor surfaces 50a-50e of each of the respective rooms 42 of the environment 40. In some examples, the map can be updated to show the different surface types such as within each of the rooms 42.
In some examples, the user 60 can define a behavior control zone 54. In autonomous operation, the robot 100 can initiate a behavior in response to being in or near the behavior control zone 54. For example, the user 60 can define an area of the environment 40 that is prone to becoming dirty to be the behavior control zone 54. In response, the robot 100 can initiate a focused cleaning behavior in which the robot 100 performs a focused cleaning of a portion of the floor surface 50d in the behavior control zone 54.
The mobile cleaning robot 100 can include a body 102 and a mopping system 104. The mopping system 104 can include arms 106a and 106b (referred to together as arms 106) and a pad assembly 108. The robot 100 can also include a bumper 109 and other features such as an extractor (including rollers), one or more side brushes, a vacuum system, a controller, a drive system (e.g., motor, geartrain, and wheels), a caster, and sensors, as discussed in further detail below. A distal portion of the arms 106 can be connected to the pad assembly 108 and a proximal portion of the arms 106a and 106b can be connected to an internal drive system to drive the arms 106 to move the pad assembly 108.
The cleaning robot 100 can be an autonomous cleaning robot that can autonomously traverse the floor surface 50 (of
As shown in
The vacuum assembly 124 can be located at least partially within the body 102 of the robot 100, such as in a rear portion of the body 102, and the vacuum assembly 124 can be located in other locations in other examples. The vacuum assembly 124 can include a motor to drive an impeller to generate the airflow when rotated. The airflow from the vacuum assembly 124 and the cleaning rollers 114, when rotated, can cooperate to ingest the debris into the robot 100.
The cleaning bin 130 (shown in
The cleaning rollers 114a and 114b can be operably connected to an actuator 115, e.g., a motor, through a gearbox. The cleaning head 113 and the cleaning rollers 114a and 114b can be located forward of the cleaning bin 130. The cleaning rollers 114 can be mounted or connected to an underside of the body 102 so that the cleaning rollers 114a and 114b can engage debris on the floor surface 50 during the cleaning operation when the underside of the body 102 faces the floor surface 50.
The controller 111 can be located at least partially within the housing 102 and can be a programable controller, such as a single or multi-board computer, a direct digital controller (DDC), a programable logic controller (PLC), or the like. In other examples, the controller 111 can be any computing device, such as a handheld computer, for example, a smart phone, a tablet, a laptop, a desktop computer, or any other computing device including a processor, memory, and communication capabilities. The memory 126 can be one or more types of memory, such as volatile or non-volatile memory, read-only memory (ROM), random-access memory (RAM), magnetic disk storage media, optical storage media, flash-memory devices, and other storage devices and media. The memory 126 can be located within the housing 102, can be connected to the controller 111, and can be accessible by the controller 111.
The controller 111 can operate the actuators 116a and 116b to autonomously navigate the robot 100 about the floor surface 50 during a cleaning operation. The actuators 116a and 116b can be operable to drive the robot 100 in a forward drive direction, in a backwards direction, and to turn the robot 100. The controller 111 can operate the vacuum assembly 124 to generate an airflow that flows through an air gap near the cleaning rollers 114, through the body 102, and out of the body 102.
The robot 100 can include a sensor system including one or more sensors. The sensor system, as described herein, can generate one or more signal indicative of a current location of the robot 100, and can generate signals indicative of locations of the robot 100 as the robot 100 travels along the floor surface 50. The sensors 128 (shown in
The cleaning pad assembly 108 can be a cleaning pad connected to the bottom portion of the body 102 (or connected to a moving mechanism configured to move the assembly 108 between a stored position and a cleaning position), such as to the cleaning bin 130 in a location to the rear of the extractor 113. The tank 132 can be a water tank configured to store water or fluid, such as cleaning fluid, for delivery to a mopping pad 142. The pump 134 can be connected to the controller 111 and can be in fluid communication with the tank 132. The controller 111 can be configured to operate the pump 134 to deliver fluid to the mopping pad 142 during mopping operations. For example, fluid can be delivered through one or more dispensers 117 to the mopping pad 142. The dispenser(s) 117 can be a valve, opening, or the like and can be configured to deliver fluid to the floor surface 50 of the environment 40 or to the pad 142 directly. In some examples, the pad 142 can be a dry pad such as for dusting or dry debris removal. The pad 142 can also be any cloth, fabric, or the like configured for cleaning (either wet or dry) of a floor surface.
As shown in
The suction duct 136 can be connected to the cleaning head 113 or cleaning assembly and can be connected to a cleaning bin 130. The cleaning bin 130 can be mounted in the body 102 and can contain the debris 75 ingested by the robot 100. A filter 14S can be located in the body 102, which can help to separate the debris 75 from the airflow before the airflow 138 enters the vacuum assembly 124 and is exhausted out of the body 102. In this regard, the debris 75 can be captured in both the cleaning bin 130 and the filter before the airflow 138 is exhausted from the body 102. The robot 100 can also include a debris port 135 that can extend at least partially through the body 102 or the cleaning bin 130 and can be operable to remove the debris 75 from the cleaning bin 130, such as via a docking station or evacuation station.
The cleaning rollers 114a and 114b can operably connected to one or more actuators 115, e.g., motors, respectively. The cleaning head 113 and the cleaning rollers 114a and 114b can be positioned forward of the cleaning bin 130. The cleaning rollers 114a and 114b can be mounted to a housing of the cleaning head 113 and mounted, e.g., indirectly or directly, to the body 102 of the robot 100. In particular, the cleaning rollers 114a and 114b can be mounted to an underside of the body 102 so that the cleaning rollers 114a and 114b engage debris 75 on the floor surface 50 during the cleaning operation when the underside faces the floor surface 50.
In operation of some examples, the controller 111 can be used to instruct the robot 100 to perform a mission. In such a case, the controller 111 can operate the motors 116 to drive the drive wheels 118 and propel the robot 100 along the floor surface 50. The robot 100 can be propelled in a forward drive direction or a rearward drive direction. The robot 100 can also be propelled such that the robot 100 turns in place or turns while moving in the forward drive direction or the rearward drive direction. In addition, the controller 111 can operate the motors 115 to cause the rollers 114a and 114b to rotate, can operate the side brush assembly 122, and can operate the motor of the vacuum system 124 to generate airflow. The controller 111 can execute software stored on the memory 126 to cause the robot 100 to perform various navigational and cleaning behaviors by operating the various motors of the robot 100.
The various sensors of the robot 100 can be used to help the robot navigate and clean within the environment 40. For example, the cliff sensors can detect obstacles such as drop-offs and cliffs below portions of the robot 100 where the cliff sensors are disposed. The cliff sensors can transmit signals to the controller 111 so that the controller 111 can redirect the robot 100 based on signals from the sensors.
Proximity sensors can produce a signal based on a presence or the absence of an object in front of the optical sensor. For example, detectable objects include obstacles such as furniture, walls, persons, and other objects in the environment 40 of the robot 100. The proximity sensors can transmit signals to the controller 111 so that the controller 111 can redirect the robot 100 based on signals from the proximity sensors. In some examples, a bump sensor can be used to detect movement of the bumper 109 along a fore-aft axis of the robot 100. A bump sensor 139 can also be used to detect movement of the bumper 109 along one or more sides of the robot 100 and can optionally detect vertical bumper movement. The bump sensors 139 can transmit signals to the controller 111 so that the controller 111 can redirect the robot 100 based on signals from the bump sensors 139.
The robot 100 can also optionally include one or more dirt sensors 144 connected to the body 102 and in communication with the controller 111. The dirt sensors 144 can be a microphone, piezoelectric sensor, optical sensor, or the like located in or near a flow path of debris, such as near an opening of the cleaning rollers 114 or in one or more ducts within the body 102. This can allow the dirt sensor(s) 144 to detect how much dirt is being ingested by the vacuum assembly 124 (e.g., via the extractor 113) at any time during a cleaning mission. Because the robot 100 can be aware of its location, the robot 100 can keep a log or record of which areas or rooms of the map are dirtier or where more dirt is collected.
The image capture device 140 can be configured to generate a signal based on imagery of the environment 40 of the robot 100 as the robot 100 moves about the floor surface 50. The image capture device 140 can transmit such a signal to the controller 111. The controller 111 can use the signal or signals from the image capture device 140 for various tasks, algorithms, or the like, as discussed in further detail below.
In some examples, the obstacle following sensors can detect detectable objects, including obstacles such as furniture, walls, persons, and other objects in the environment of the robot 100. In some implementations, the sensor system can include an obstacle following sensor along the side surface, and the obstacle following sensor can detect the presence or the absence an object adjacent to the side surface. The one or more obstacle following sensors can also serve as obstacle detection sensors, similar to the proximity sensors described herein.
The robot 100 can also include sensors for tracking a distance travelled by the robot 100. For example, the sensor system can include encoders associated with the motors 116 for the drive wheels 118, and the encoders can track a distance that the robot 100 has travelled. In some implementations, the sensor can include an optical sensor facing downward toward a floor surface. The optical sensor can be positioned to direct light through a bottom surface of the robot 100 toward the floor surface 50. The optical sensor can detect reflections of the light and can detect a distance travelled by the robot 100 based on changes in floor features as the robot 100 travels along the floor surface 50.
The controller 111 can use data collected by the sensors of the sensor system to control navigational behaviors of the robot 100 during the mission. For example, the controller 111 can use the sensor data collected by obstacle detection sensors of the robot 100, (the cliff sensors, the proximity sensors, and the bump sensors) to enable the robot 100 to avoid obstacles within the environment of the robot 100 during the mission.
The sensor data can also be used by the controller 111 for simultaneous localization and mapping (SLAM) techniques in which the controller 111 extracts features of the environment represented by the sensor data and constructs a map of the floor surface 50 of the environment. The sensor data collected by the image capture device 140 can be used for techniques such as vision-based SLAM (VSLAM) in which the controller 111 extracts visual features corresponding to objects in the environment 40 and constructs the map using these visual features. As the controller 111 directs the robot 100 about the floor surface 50 during the mission, the controller 111 can use SLAM techniques to determine a location of the robot 100 within the map by detecting features represented in collected sensor data and comparing the features to previously stored features. The map formed from the sensor data can indicate locations of traversable and nontraversable space within the environment. For example, locations of obstacles can be indicated on the map as nontraversable space, and locations of open floor space can be indicated on the map as traversable space.
The sensor data collected by any of the sensors can be stored in the memory 126. In addition, other data generated for the SLAM techniques, including mapping data forming the map, can be stored in the memory 126. These data produced during the mission can include persistent data that are produced during the mission and that are usable during further missions. In addition to storing the software for causing the robot 100 to perform its behaviors, the memory 126 can store data resulting from processing of the sensor data for access by the controller 111. For example, the map can be a map that is usable and updateable by the controller 111 of the robot 100 from one mission to another mission to navigate the robot 100 about the floor surface 50.
The persistent data, including the persistent map, can help to enable the robot 100 to efficiently clean the floor surface 50. For example, the map can enable the controller 111 to direct the robot 100 toward open floor space and to avoid nontraversable space. In addition, for subsequent missions, the controller 111 can use the map to optimize paths taken during the missions to help plan navigation of the robot 100 through the environment 40.
The controller 111 can also send commands to a motor (internal to the body 102) to drive the arms 106 to move the pad assembly 108 between the stored position (shown in
The mopping pad 142 can be a dry pad or a wet pad. Optionally, when the mopping pad 142 is a wet pad, the pump 134 can be operated by the controller 111 to spray or drop fluid (e.g., water or a cleaning solution) onto the floor surface 50 or the mopping pad 142. The wetted mopping pad 142 can then be used by the robot 100 to perform wet mopping operations on the floor surface 50 of the environment 40.
In some examples, the mobile device 304 can be a remote device that can be linked to the cloud computing system 306 and can enable a user to provide inputs. The mobile device 304 can include user input elements such as, for example, one or more of a touchscreen display, buttons, a microphone, a mouse, a keyboard, or other devices that respond to inputs provided by the user. The mobile device 304 can also include immersive media (e.g., virtual reality or augmented reality) with which the user can interact to provide input. The mobile device 304, in these examples, can be a virtual reality headset or a head-mounted display.
The user can provide inputs corresponding to commands for the mobile robot 100. In such cases, the mobile device 304 can transmit a signal to the cloud computing system 306 to cause the cloud computing system 306 to transmit a command signal to the mobile robot 100. In some implementations, the mobile device 304 can present augmented reality images. In some implementations, the mobile device 304 can be a smart phone, a laptop computer, a tablet computing device, or other mobile device.
In some examples, the communication network 300 can include additional nodes. For example, nodes of the communication network 300 can include additional robots. Also, nodes of the communication network 300 can include network-connected devices that can generate information about the environment 40. Such a network-connected device can include one or more sensors, such as an acoustic sensor, an image capture system, or other sensor generating signals, to detect characteristics of the environment 40 from which features can be extracted. Network-connected devices can also include home cameras, smart sensors, or the like.
In the communication network 300, the wireless links can utilize various communication schemes, protocols, etc., such as, for example, Bluetooth classes, Wi-Fi, Bluetooth-low-energy, also known as BLE, 802.15.4, Worldwide Interoperability for Microwave Access (WiMAX), an infrared channel, satellite band, or the like. In some examples, wireless links can include any cellular network standards used to communicate among mobile devices, including, but not limited to, standards that qualify as 1G, 2G, 3G, 4G, 5G, or the like. The network standards, if utilized, qualify as, for example, one or more generations of mobile telecommunication standards by fulfilling a specification or standards such as the specifications maintained by International Telecommunication Union. For example, the 4G standards can correspond to the International Mobile Telecommunications Advanced (IMT-Advanced) specification. Examples of cellular network standards include AMPS, GSM, GPRS, UMTS, LTE, LTE Advanced, Mobile WiMAX, and WiMAX-Advanced. Cellular network standards can use various channel access methods, e.g., FDMA, TDMA, CDMA, or SDMA.
The mobile cleaning robot 400 can include a body 402, a mopping pad assembly 408, an extractor 413, spray nozzles 417, drive wheels 418, a caster 420, and a scrubbing system 444. The body 402, the mopping pad assembly 408, the extractor 413, the spray nozzles 417, the drive wheels 418, and the caster 420 can be similar to the body 102, the mopping pad assembly 108, the extractor 113, the spray nozzles 117, the drive wheels 118, and the caster 120, respectively, discussed above.
The scrubbing system 444 can be connected to the body 402 such as in a location in front of the mopping pad assembly 408 and behind the extractor 413. The scrubbing system 444 can be operable to engage and scrub the floor surface, such as the floor surface 50. The scrubbing system 444 can include an actuator, motor, or the like, and the scrubbing system 444 can include a scrubbing head 446. The actuator can be in communication with a controller, (e.g., the controller 111), and can be operable to move or operate the scrubbing head 446, such as to perform scrubbing operations.
The scrubbing head 446 can be or can include a belt 447 configured to rotate with respect to the body 402, such as about a vertical axis (or substantially vertical axis) of the body 402. The scrubbing head 446 can also include bristles or the like configured to engage the floor surface and debris. The scrubbing head 446 can also include pad material, abrasive material, or soft material, configured to scrub or engage debris of a flooring surface. Also, the nozzles 417 can be located within the scrubbing head 446 (e.g., at least partially surrounded by the scrubbing head 446) and the spray nozzles 417 can be configured to distribute fluid onto the bristles or the flooring surface around the cleaning head.
In operation, the controller can operate the actuator to rotate the belt 447 and bristles to engage and scrub the flooring surface or debris or dirt on the flooring surface. The controller can also operate the spray nozzles 417 to discharge fluid onto the floor surface to help the bristles release dirt from the flooring surface during scrubbing. Once the debris is released from the flooring surface, the released debris can be engaged by (or collected by) the pad assembly 408, such as the cleaning pad thereof, to remove the dirt or debris from the flooring surface. In this way, the scrubbing system 444 can be used to effectively lift dirt from a flooring surface for extraction by cleaning pad of the pad assembly 408. Additional examples of scrubbing systems are discussed below.
Optionally, the scrubbing system 444 can be retractable into the body 402 when the scrubbing system 444 is not in use and the scrubbing system 444 can be deployed from the body 402 to engage the flooring surface, such as during a mission including the mopping pad assembly 408. The scrubbing system 444 can also be retracted for docking or other mobility related movements of the mobile cleaning robot 400. Retraction of the scrubbing system 444 can also help to reduce noise during vacuuming only missions.
The mobile cleaning robot 500 can include a body 502, a mopping pad assembly 508 and a scrubbing system 544. The body 502 and the mopping pad assembly 508 can be similar to the body 102 and the mopping pad assembly 108, respectively, discussed above. As shown in
The scrubbing system 544 can include a scrubbing head 546, a support 550, a linkage system 552, and an actuator 554 or scrubbing motor. The support 550 can be a rigid or semi-rigid member configured to support or connect components of the scrubbing system 544. For example, the scrubbing head 546, the linkage system 552, and the actuator 554 can be connected to the support 550. The actuator 554 can be a motor or actuator operable to operate or move the scrubbing head 546. The actuator 554 can be in communication with a controller (e.g., the controller 111).
The scrubbing head 546 can include brush assemblies 556a and 556b (collectively referred to as brush assemblies 556), which can be connected to the support 550 and can be engaged with the actuator 554 such that operation of the actuator 554 can cause movement of the brush assemblies 556 to scrub or agitate a flooring surface or dirt thereon. The brush assemblies 556 are discussed in further detail below along with other features of the mobile cleaning robot 500. Though referred to as brushes, the brush assemblies 556 can be other scrubbing devices or materials.
The linkage system 552 can include links 552a, 552b and 552c that can be connected to the body 502 and can thereby connect the scrubbing system 544 to the body 502. The linkage system 552 can be one or more links, members, or arms connected by one or more joints or fasteners and the linkage system 552 can be configured to allow the actuator 554 and scrubbing head 546 (the scrubbing system 544) to move with respect to the body 502, such as to allow the brush assemblies 556 to maintain contact with a flooring surface during movement about an environment. The linkage system 552 can also be connected to an actuator 553 that can be operable (e.g., by a controller) to move the brush assemblies 556 (such as by moving the support 550) relative to the body 502 into or out of contact with the flooring surface. For example, the brush assemblies 556 can be moved into contact with the flooring surface for mopping operations and can be moved out of contact with the flooring surface for vacuuming only operations or docking operations.
For example,
The driver 560 can include a cam shaft 568 or other driver supporting the bearings 564a and 564b. The cam shaft 568 can extend at least partially into the frames 555 of the brush assemblies 556 such that the bearings 564a and 564b are located at least partially within the followers 558a and 558b, respectively. The bearings 564a and 564b can extend from the cam shaft 568 such as in opposing directions. For example, as shown in
In operation of some examples, a controller (e.g., the controller 111) can operate the scrubbing system 544 by operating the actuator 554 to operate the scrubbing head 546. More specifically, the actuator 554 can be operated to rotate the shaft 562 to rotate the driver 560, such that the cam shaft 568 can rotate with the shaft 562. When the cam shaft 568 rotates about the shaft 562, the bearings 564a and 564b can move or rotate eccentrically about the cam shaft 568 and the shaft 562. The bearings 564a and 564b can be configured so that as one cam extends in one direction, the other cam extends in the other direction. For example, as shown in
As the bearings 564a and 564b rotate from the position shown in
The flexures 576 can act as a spring, which, when combined with moving mass of the frames 555 and the bristles 566 means that the system inherently has a natural frequency of oscillation. The controller can be configured to operate the actuator at the same (natural) frequency, which can reduce power consumption, increase efficiency, and can decrease noise during operation of the scrubbing system 544.
As the bearings 564 rotate, the brush assemblies 556a and 556b can translate or move in opposing directions from side to side, causing a lateral scrubbing action, where the offset movement of the brush assemblies 556a and 556b can help to offset forces applied to the body 502 by the brush assemblies 556, helping to limit an impact to navigation or movement of the mobile cleaning robot 500. This back and forth offsetting or alternating movement of the brush assemblies 556 can also result in effective or efficient removal or agitation or separation of debris from a flooring surface, such that the debris can be effectively collected by the mopping pad 542.
The mobile cleaning robot 800 can include a body 802, a mopping pad assembly 808, and a scrubbing system 844. The body 802 and the mopping pad assembly 808 can be similar to the body 102 and the mopping pad assembly 108, respectively, discussed above. As shown in
The scrubbing system 844 can include a scrubbing head 846, a support 850, a linkage system 852, and an actuator 854 or scrubbing motor. The support 850 can be a rigid or semi-rigid member configured to support or connect components of the scrubbing system 844. For example, the scrubbing head 846, the linkage system 852, and the actuator 854 can be connected to the support 850. The scrubbing system 844 can also include a motor mount 878 that can be configured to support the actuator 854 and can be connected to the support 850. The actuator 854 can be a motor or actuator operable to operate or move the scrubbing head 846. The actuator 854 can be in communication with a controller (e.g., the controller 111).
The scrubbing head 846 can include brushes 856a-856n (collectively referred to as brushes 856), which can be connected to the support 850 and can be engaged with the actuator 854 such that operation of the actuator 854 can cause movement or rotation of the brushes 856 to scrub or agitate a flooring surface or dirt thereon. The scrubbing head 846 can also include a gear train, which can include gears of respective brushes 856 as discussed in further detail below. The brushes 856 can include a shaft, bristles, and a housing, as discussed in further detail below.
The linkage system 852 can include links 852a, 852b, and 852c that can be connected to the body 802 and can thereby connect the scrubbing system 844 to the body 802. The linkage system 852 can be one or more links, members, or arms connected by one or more joints or fasteners and the linkage system 852 can be configured to allow the actuator 854 and scrubbing head 846 (the scrubbing system 844) to move with respect to the body 802, such as to allow the brushes 856 to maintain contact with a flooring surface during movement about an environment. The linkage system 852 can also be connected to an actuator to allow the brushes 856 to be moved into or out of contact with the flooring surface. The linkage system 852 can also allow the scrubbing system 844 (e.g., the brushes 856) to comply with the flooring surface about a roll axis of the mobile cleaning robot 800 (e.g., left and right). For example, the brushes 856 can be moved into contact with the flooring surface for mopping operations and can be moved out of contact with the flooring surface for vacuuming only operations or docking operations.
The brushes 856 can be connected to the support 850 such that the brushes 856 move with the support 850 in unison. In such an example, the brushes 856 can comply to the floor by float or movement of the support 850 (relative to the body 802) or through any compliance of the individual bristles 888. In this example, if any of the brushes 856 encounters a discontinuity in the floor (positive or negative relative to ground-plane), the support 850 will either lift the other brushes off the floor or lose contact with the floor. In another example, each brush 856 can be connected to the support 850 such that each of the brushes 856 can float or move individually relative the support 850. In this example, downforce on each brush can be controlled independent of the floor, such by having each brush weighted or sprung to set its downforce. That is, each brush can be connected to the support 850 via one or more biasing elements to help yield a more uniform scrubbing on the floor over discontinuities (e.g., grout-lines).
For example,
Each of the brushes 856a-856n can include a shaft 884, a housing 886, brushes or bristles 888, and a brush gear 890. The shaft 884 of each brush can extend at least partially through the support 850 such as through a bore thereof, which can form a bearing or bushing for rotation of the shaft 884 relative to the support 850. The housing 886 or the shaft 884 can include a collar 891 that can engage an underside of the support 850. The brush gear 890 can be connected to the shaft 884 and can be rotatable therewith. The brush gear 890 can be engageable with a top side of the support 850 such that the brush gear 890 and the collar 891 can limit axial movement of the brushes 856 with respect to the support 850. The brush gears 890 can be engaged with adjacent brush gears 890 such that all of the brush gear 890 and shaft 884 (and therefore the housing 886 and the bristles 888) are configured to rotate together.
The housing 886 can support one or more brushes or bristles 888 configured to engage and scrub a flooring surface such as to remove debris therefrom. The bristles 888 can be configured to flex or move with respect to the housing 886 to cover a larger surface area of the floor surface under the mobile cleaning robot 800 during mopping or scrubbing operations. Though eight of the brushes 856 are shown, the scrubbing system 844 can include 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, or 20 brushes, or the like. Optionally, the bristles 888 can be replaced with scouring pads or other scrubbing devices or features.
In operation of some examples, a controller (e.g., the controller 111) can operate the scrubbing system 844 by operating the actuator 854 to operate the scrubbing head 846. More specifically, the actuator 854 can be operated to rotate the drive gear 880 to rotate the idler gear 882, such that the idler gear 882 drives one or more of the brush gears 890, which causes rotation of all of the brush gears 890 and therefore all of the shafts 884 and bristles 888, causing a rotational scrubbing action of all of the brushes 856, such as on a flooring surface for removal of debris or dirt from the flooring surface. This rotational scrubbing of the brushes 856 on the flooring surface can result in effective or efficient removal or agitation or separation of debris from a flooring surface, such that the debris can be effectively collected by the mopping pad 842.
Optionally, the brushes 856 can be counter rotating such that no two adjacent brushes rotate in the same direction, which can help to balance forces transferred to the body 802 by the brushes 856. Optionally, the brushes 856 can all be in alignment, or the brushes 856 can be staggered, e.g., front to back. When a velocity of the mobile cleaning robot 800 is combined with velocity of the brushes 856, there can be locations where the speeds sum up and cleaning is strong, and locations where the speeds are in opposite directions and cleaning is relatively weak. By staggering the brushes 856, e.g., front to back, thus creating some overlap, and reducing or improving the relatively weaker cleaning locations or positions.
The mobile cleaning robot 1100 can include a body 1102 and a scrubbing system 1144. The body 1102 can be similar to the body 102 discussed above. The mobile cleaning robot 1100 can also include a mopping pad assembly located rearward of the scrubbing system 1144. As shown in
The support 1150 can be a rigid or semi-rigid member configured to support or connect components of the scrubbing system 1144. For example, the scrubbing head 1156, the linkage system 1152, and the actuator 1154 can be connected to the support 1150. The actuator 1154 can be a motor or actuator operable to operate or move the drive system 1192 to move or rotate the roller 1194. The actuator 1154 can be in communication with a controller (e.g., the controller 111).
The drive system 1192 can be a gear train or other driver configured to convert rotation from the actuator 1154 into rotation of the roller 1194. The roller 1194 can be a rotatable member configured to engage and scrub a flooring surface, such as to remove debris therefrom. The roller 1194 can be made of one or more of polymers, foam, rubber, or the like. Optionally, the roller 1194 can include one or more bristles or fletches extending radially from a core of the roller 1194.
In operation of some examples, a controller (e.g., the controller 111) can operate the scrubbing system 1144 by operating the actuator 1154 to operate the scrubbing head 1156. More specifically, the actuator 1154 can be operated to rotate the drive system 1192, which causes rotation of all of the roller 1194, causing a rotational scrubbing action, such as on a flooring surface for removal of debris or dirt from the flooring surface. This rotational scrubbing of the roller 1194 on the flooring surface can result in effective or efficient removal or agitation or separation of debris from a flooring surface, such that the debris can be effectively collected by a mopping pad. Optionally, the support 1150 can operate as a guard or deflector to help limit movement of debris from the roller 1194 into the body of the mobile cleaning robot 1100.
The mobile cleaning robot 1300 can include a body 1302 and a scrubbing system 1344. The body 1302 can be similar to the body 102 discussed above. The mobile cleaning robot 1300 can also include a mopping pad assembly located rearward of the scrubbing system 1344. The scrubbing system 1344 can include a support 1350, a linkage system 1352, an actuator, and scrubbing head 1356a and 1356b. The support 1350 can be a rigid or semi-rigid member configured to support or connect components of the scrubbing system 1344. For example, the scrubbing heads 1356, the linkage system 1352, and the actuator can be connected to the support 1350.
The actuator can include a shaft 1362 that can be connected to a drive gear 1380, which can be rotatable with the shaft 1362. The drive gear 1380 can be engaged with a reversing gear 1382, which can be engaged with one or more driven gears 1383 of the scrubbing head 1356b. The drive gear 1380 can also be engaged with a driven gear 1383 of the scrubbing head 1356a. The scrubbing heads 1356 can each include one or more pulleys 1395 configured to support a belt 1396 at least partially thereon. Each of the belts 1396 can include one or more bristles 1397 extending therefrom, such as extending outward from each belt 1396. Though the scrubbing system 1344 is shown as including belts and pulleys, the scrubbing system 1344 can include one or more chains and sprockets.
In operation, the actuator can rotate the shaft 1362 to drive the drive gear 1380, which can drive the reversing gear 1382 to drive the driven gears 1383 of the scrubbing head 1356b to rotate in a first direction and the drive gear 1380 can drive the driven gear 1383 of the scrubbing head 1356a to rotate in a second direction, opposite the first direction, such that the belt 1396 and one or more bristles 1397 of the scrubbing head 1356a rotate in an opposite direction of the belt 1396 and one or more bristles 1397 and the scrubbing head 1356b, such that each of the belts 1396 rotate about a horizontal axis of the body 1302. Optionally, the belts 1396 can rotate towards each other along a bottom portion of each belt 1396 such as to motive or bring dirt or debris toward a center of the body 1302 for collection by a cleaning pad or mopping pad. Such as design can also help to limit forces transmitted back to the body 1302 via vibration or rotational forces.
The mobile cleaning robot 1400 can include a body 1402, a mopping pad assembly 1408, and a scrubbing system 1444. The body 1402 and the mopping pad assembly 1408 can be similar to the body 102 and the mopping pad assembly 108, respectively, discussed above. The scrubbing system 1444 can include a support 1450, an actuator 1454, a scrubbing head 1456, and arms 1448. The support 1450 can be a rigid or semi-rigid member configured to support or connect components of the scrubbing system 1444. For example, the scrubbing head 1456 and the actuator 1454 can be connected to the support 1450. A pad plate 1441 of the mopping pad assembly 1408 can be connected to the support 1450 through one or more flexures 1476. The flexures 1476 can be configured to bias the pad plate 1441 to a neutral position.
As shown most clearly in
As shown in
The pad plate 1441 can be driven to rotate by the actuator 1454 such as via a controller (e.g., the controller 111) at a high frequency and a low amplitude to provide a scrubbing action of the mopping pad 1442 while helping to limit transmission of reaction forces to the body 1402, helping to minimize impact of navigation and mobility of the mobile cleaning robot 1400 during scrubbing operations. The pad plate 1441 can be driven to rotate at a frequency between 10 Hertz and 200 Hertz, such as between 800 Hertz and 150 Hertz.
More specifically, the mobile cleaning robot 1600 can be similar to the robot 100 discussed above such that the mobile cleaning robot 1600 can include a body 1602 and a mopping assembly 1608 that is movable with respect to the body 1602 between a stored position and a deployed or mopping position, as shown in
As shown in
In operation, when the mopping assembly 1608 is in the deployed position and the driver 1698 is at least partially engaged with the notch 1622, the driver 1698 can be operated (e.g., via an actuator and controller) to rotate eccentrically to cause the pad tray 1641 and the mopping pad 1642 to move or oscillate to create a scrubbing or cleaning action on a flooring surface. The eccentricity of the driver 1698 can be selected along with the rotational speed of the driver 1698 such that the mopping assembly 1608 oscillates or moves within a tolerance of the arms (e.g., arms 106) supporting the mopping assembly 1608. For example, the mopping assembly 1608 can oscillate between 5 Hertz and 100 Hertz, such as between 20 Hz and 30 Hz. The frequency can be selected to increase a total distance covered by the mopping pad 1642 on the floor and can be optimized to balance noise, a natural frequency of the mopping assembly 1608, and improved distance covered.
The mopping assembly 1608 can be oscillated at an amplitude between 1 millimeter and 5 millimeters such as between 1 millimeter and 3 millimeters. For example, the mopping assembly 1608 can oscillate an amplitude of 2 millimeters in either direction, e.g. ±2 mm left and right of center. In this way, the mobile cleaning robot 1600 can provide a mopping pad assembly that is movable between stored and deployed positions and that also performs a scrubbing action when in the deployed position.
The mobile cleaning robot 1800 can include a body 1802 and a drive system connected to the body 1802. The drive system can be operable to move the mobile cleaning robot 1800 about a floor surface of an environment. The mobile cleaning robot 1800 can also include a mopping assembly 1808 including a pad tray 1841 and a mopping pad 1842 connected to the pad tray 1841, where the mopping pad 1842 can be engageable with the floor surface. The mobile cleaning robot 1800 can also include a pad drive system 1824 connected to the mopping pad tray 1841 and connected to the body 1802. The pad drive system 1824 can include an actuator 1826 and a gear train or other drive system. The pad drive system 1824 can also include an arm 1828 connected to the pad tray 1841. The actuator 1826 of the pad drive system 1824 can be operable to move the arm 1828 to move the pad tray 1841 and the mopping pad 1842 with respect to the body 1802 (e.g., vertically) between a cleaning position and a stored position.
The mobile cleaning robot 1800 can also include a cover 1830 connected to the body 1802 and movable with respect to the body 1802 between a first position and a second position. The mobile cleaning robot 1800 can also include a cover drive system 1832 connected to the body 1802 and connected to the cover 1830. The cover drive system 1832 can include an actuator and a gear train or other driver that can be operable to move the cover 1830 between the first position to the second position. For example, the gear train can operate arms 1833 (that can be connected to the body 1802) to rotate to push the cover 1830 in or out. The arms 1833 can also include one or more springs (or biasing elements) such as nested within the arms 1833 to bias the cover 1830 toward its open or closed position. The cover 1830 can also include or define a slot 1834 through which the arm 1828 can extend to allow the arm 1828 and the mopping assembly 1808 to move with respect to the body 1802 and to allow the cover 1830 to move with respect to the mopping assembly 1808 and the body 1802.
In operation of some examples, the cover 1830 can be movable, such as laterally or horizontally, away from the body 1802 to make space for the mopping assembly 1808 to move vertically. For example, the cover 1830 can be in the first position, as shown in
The cover 1830 can then be moved by the cover drive system 1832 to the second position (away from the body 1802) and the actuator 1826 can be operated to move the arm 1828 and the mopping assembly 1808 downward below the cover 1830. Once the pad tray 1841 is clear of the cover 1830, the cover 1830 can be moved back to the first position such as to close the body 1802 but keeping the mopping pad 1842 in a mopping configuration, as shown in
In alternative embodiments, the machine 2000 may operate as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine 2000 may operate in the capacity of a server machine, a client machine, or both in server-client network environments. In an example, the machine 2000 may act as a peer machine in peer-to-peer (P2P) (or other distributed) network environment. The machine 2000 may be a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a mobile telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein, such as cloud computing, software as a service (SaaS), other computer cluster configurations.
The machine (e.g., computer system) 2000 may include a hardware processor 2002 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a hardware processor core, or any combination thereof), a main memory 2004, a static memory (e.g., memory or storage for firmware, microcode, a basic-input-output (BIOS), unified extensible firmware interface (UEFI), etc.) 2006, and mass storage 2008 (e.g., hard drive, tape drive, flash storage, or other block devices) some or all of which may communicate with each other via an interlink (e.g., bus) 2030. The machine 2000 may further include a display unit 2010, an alphanumeric input device 2012 (e.g., a keyboard), and a user interface (UI) navigation device 2014 (e.g., a mouse). In an example, the display unit 2010, input device 2012 and UI navigation device 2014 may be a touch screen display. The machine 2000 may additionally include a storage device (e.g., drive unit) 2008, a signal generation device 2018 (e.g., a speaker), a network interface device 2020, and one or more sensors 2016, such as a global positioning system (GPS) sensor, compass, accelerometer, or other sensor. The machine 2000 may include an output controller 2028, such as a serial (e.g., universal serial bus (USB), parallel, or other wired or wireless (e.g., infrared (IR), near field communication (NFC), etc.) connection to communicate or control one or more peripheral devices (e.g., a printer, card reader, etc.).
Registers of the processor 2002, the main memory 2004, the static memory 2006, or the mass storage 2008 may be, or include, a machine readable medium 2022 on which is stored one or more sets of data structures or instructions 2024 (e.g., software) embodying or utilized by any one or more of the techniques or functions described herein. The instructions 2024 may also reside, completely or at least partially, within any of registers of the processor 2002, the main memory 2004, the static memory 2006, or the mass storage 2008 during execution thereof by the machine 2000. In an example, one or any combination of the hardware processor 2002, the main memory 2004, the static memory 2006, or the mass storage 2008 may constitute the machine readable media 2022. While the machine readable medium 2022 is illustrated as a single medium, the term “machine readable medium” may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) configured to store the one or more instructions 2024.
The term “machine readable medium” may include any medium that is capable of storing, encoding, or carrying instructions for execution by the machine 2000 and that cause the machine 2000 to perform any one or more of the techniques of the present disclosure, or that is capable of storing, encoding or carrying data structures used by or associated with such instructions. Non-limiting machine readable medium examples may include solid-state memories, optical media, magnetic media, and signals (e.g., radio frequency signals, other photon based signals, sound signals, etc.). In an example, a non-transitory machine readable medium comprises a machine readable medium with a plurality of particles having invariant (e.g., rest) mass, and thus are compositions of matter. Accordingly, non-transitory machine-readable media are machine readable media that do not include transitory propagating signals. Specific examples of non-transitory machine readable media may include: non-volatile memory, such as semiconductor memory devices (e.g., Electrically Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM)) and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
The instructions 2024 may be further transmitted or received over a communications network 2026 using a transmission medium via the network interface device 2020 utilizing any one of a number of transfer protocols (e.g., frame relay, internet protocol (IP), transmission control protocol (TCP), user datagram protocol (UDP), hypertext transfer protocol (HTTP), etc.). Example communication networks may include a local area network (LAN), a wide area network (WAN), a packet data network (e.g., the Internet), mobile telephone networks (e.g., cellular networks), Plain Old Telephone (POTS) networks, and wireless data networks (e.g., Institute of Electrical and Electronics Engineers (IEEE) 802.11 family of standards known as Wi-Fi®, IEEE 802.16 family of standards known as WiMax®), IEEE 802.15.4 family of standards, peer-to-peer (P2P) networks, among others. In an example, the network interface device 2020 may include one or more physical jacks (e.g., Ethernet, coaxial, or phone jacks) or one or more antennas to connect to the communications network 2026. In an example, the network interface device 2020 may include a plurality of antennas to wirelessly communicate using at least one of single-input multiple-output (SIMO), multiple-input multiple-output (MIMO), or multiple-input single-output (MISO) techniques. The term “transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding or carrying instructions for execution by the machine 2000, and includes digital or analog communications signals or other intangible medium to facilitate communication of such software. A transmission medium is a machine readable medium.
The following, non-limiting examples, detail certain aspects of the present subject matter to solve the challenges and provide the benefits discussed herein, among others.
Example 1 is a mobile cleaning robot comprising: a body; a drive system connected to the body and operable to move the mobile cleaning robot about a floor surface of an environment; a mopping pad assembly connected to the body and configured to hold a mopping pad that is engageable with the floor surface; and a scrubbing system connected to the body in front of the mopping pad assembly, the scrubbing system operable to engage and scrub the floor surface.
In Example 2, the subject matter of Example 1 optionally includes a linkage system connected to the scrubbing system and to the body, the linkage system configured to enable movement of the scrubbing system with respect to the body.
In Example 3, the subject matter of Example 2 optionally includes a linkage motor connected to the linkage system, the linkage motor operable to move the scrubbing system relative to the body.
In Example 4, the subject matter of any one or more of Examples 1-3 optionally include wherein the scrubbing system includes a scrubbing head engageable with the floor surface.
In Example 5, the subject matter of Example 4 optionally includes wherein the scrubbing system includes a scrubbing motor operable to move the scrubbing head to scrub the floor surface.
In Example 6, the subject matter of Example 5 optionally includes wherein the scrubbing head includes a plurality of brushes, the scrubbing motor operable to rotate each of the plurality of brushes.
In Example 7, the subject matter of any one or more of Examples 5-6 optionally include wherein the scrubbing head includes a pair of brushes, the scrubbing motor operable to translate each of the pair of brushes with respect to the body.
In Example 8, the subject matter of any one or more of Examples 5-7 optionally include wherein the scrubbing head includes a roller, the scrubbing motor operable to rotate the roller to scrub the floor surface.
In Example 9, the subject matter of any one or more of Examples 5-8 optionally include wherein the scrubbing head includes a belt supporting a plurality of bristles, the belt rotatable to move the plurality bristles to scrub the floor surface.
In Example 10, the subject matter of Example 9 optionally includes wherein the belt rotates about a substantially vertical axis of the body.
In Example 11, the subject matter of any one or more of Examples 9-10 optionally include wherein the belt rotates about a substantially horizontal axis of the body.
In Example 12, the subject matter of any one or more of Examples 5-11 optionally include wherein the scrubbing head includes one or more flexures connected to the scrubbing head to bias the scrubbing head to a neutral position.
In Example 13, the subject matter of any one or more of Examples 1-12 optionally include a vacuum system operable to ingest debris from the floor surface.
In Example 14, the subject matter of Example 13 optionally includes wherein the vacuum system includes a cleaning head operable to engage the floor surface and ingest debris therefrom, and includes a blower operable to produce an air stream to flow into the body through the cleaning head to ingest debris.
Example 15 is a mobile cleaning robot comprising: a body; a drive system connected to the body and operable to move the mobile cleaning robot about a floor surface of an environment; a mopping pad connected to the body and engageable with the floor surface; a pad drive system connected to the mopping pad and the body, the pad drive system operable to move the mopping pad with respect to the body between a cleaning position and a stored position; a cover connected to the body and movable with respect to the body between a first position and a second position; and a cover drive system connected to the body and the cover, the cover drive system operable to move the cover between the first position to the second position.
In Example 16, the subject matter of Example 15 optionally includes wherein the pad is movable between the cleaning position and the stored position when the cover is in the second position, and wherein the pad is restricted from moving between the cleaning position and the stored position when the cover is in the first position.
In Example 17, the subject matter of Example 16 optionally includes wherein the pad drive system is operable to move the mopping pad vertically with respect to the body.
In Example 18, the subject matter of Example 17 optionally includes wherein the cover drive system is operable to move the cover horizontally with respect to the body.
Example 19 is a mobile cleaning robot comprising: a body; a drive system connected to the body and operable to move the mobile cleaning robot about a floor surface of an environment; a mopping pad assembly connected to the body and including a mopping pad engageable with the floor surface; and a pad drive system connected to the mopping pad, the pad drive system operable to move the mopping pad to scrub the floor surface.
In Example 20, the subject matter of Example 19 optionally includes wherein the pad drive system includes a motor operable to move the mopping pad to scrub the floor surface.
In Example 21, the subject matter of Example 20 optionally includes wherein the pad drive system includes an eccentric driver connected to the motor and connected to the mopping pad assembly, the eccentric driver configured to move the mopping pad eccentrically when operated to rotate by the motor.
Example 22 is a system to implement of any of Examples 1-27.
Example 23 is a method to implement of any of Examples 1-27.
In Example 24, the apparatuses or method of any one or any combination of Examples 1-23 can optionally be configured such that all elements or options recited are available to use or select from.
The above detailed description includes references to the accompanying drawings, which form a part of the detailed description. The drawings show, by way of illustration, specific embodiments in which the invention can be practiced. These embodiments are also referred to herein as “examples.” Such examples can include elements in addition to those shown or described. However, the present inventors also contemplate examples in which only those elements shown or described are provided. Moreover, the present inventors also contemplate examples using any combination or permutation of those elements shown or described (or one or more aspects thereof), either with respect to a particular example (or one or more aspects thereof), or with respect to other examples (or one or more aspects thereof) shown or described herein.
In the event of inconsistent usages between this document and any documents so incorporated by reference, the usage in this document controls. In this document, the terms “including” and “in which” are used as the plain-English equivalents of the respective terms “comprising” and “wherein.” Also, in the following claims, the terms “including” and “comprising” are open-ended, that is, a system, device, article, composition, formulation, or process that includes elements in addition to those listed after such a term in a claim are still deemed to fall within the scope of that claim.
In this document, the terms “a” or “an” are used, as is common in patent documents, to include one or more than one, independent of any other instances or usages of “at least one” or “one or more.” In this document, the term “or” is used to refer to a nonexclusive or, such that “A or B” includes “A but not B,” “B but not A,” and “A and B,” unless otherwise indicated. In this document, the terms “including” and “in which” are used as the plain-English equivalents of the respective terms “comprising” and “wherein.” Also, in the following claims, the terms “including” and “comprising” are open-ended, that is, a system, device, article, composition, formulation, or process that includes elements in addition to those listed after such a term in a claim are still deemed to fall within the scope of that claim. Moreover, in the following claims, the terms “first,” “second,” and “third,” etc. are used merely as labels, and are not intended to impose numerical requirements on their objects.
The above description is intended to be illustrative, and not restrictive. For example, the above-described examples (or one or more aspects thereof) may be used in combination with each other. Other embodiments can be used, such as by one of ordinary skill in the art upon reviewing the above description. The Abstract is provided to comply with 37 C.F.R. § 1.72 (b), to allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. Also, in the above Detailed Description, various features may be grouped together to streamline the disclosure. This should not be interpreted as intending that an unclaimed disclosed feature is essential to any claim. Rather, inventive subject matter may lie in less than all features of a particular disclosed embodiment. Thus, the following claims are hereby incorporated into the Detailed Description as examples or embodiments, with each claim standing on its own as a separate embodiment, and it is contemplated that such embodiments can be combined with each other in various combinations or permutations. The scope of the invention should be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.