MOBILE CLEANING ROBOT WITH DEBRIS COMPACTION

20250352017 ยท 2025-11-20

    Inventors

    Cpc classification

    International classification

    Abstract

    A mobile cleaning robot can include a body, a debris bin connected to the body, and one or more drive wheels connected to the body and operable to move the mobile cleaning robot about an environment. The mobile cleaning robot can include an extractor connected to the body that can be operable to extract debris from the environment. The mobile cleaning robot can also include a vacuum system connected to the body and configured to generate a flow stream through the extractor. The mobile cleaning robot can include a compaction system connected to the body and a discharge of the extractor. The compaction system can include a plenum configured to receive debris and the flow stream from the discharge and a compactor located at least partially within the plenum and operable to compact debris from the plenum into the debris bin.

    Claims

    1. A mobile cleaning robot comprising: a body; one or more drive wheels connected to the body and operable to move the mobile cleaning robot about an environment; a debris bin connected to the body; an extractor connected to the body and operable to extract debris from the environment; a vacuum system connected to the body and configured to generate a flow stream through the extractor; and a compaction system connected to the body and a discharge of the extractor, the compaction system including: a plenum configured to receive debris and the flow stream from the discharge; and a compactor located at least partially within the plenum and operable to compact debris from the plenum into the debris bin.

    2. The mobile cleaning robot of claim 1, comprising: a motor connected to the compactor, the motor operable to drive the compactor to move to compact the debris.

    3. The mobile cleaning robot of claim 2, comprising: a filter screen connected to the plenum downstream of the compactor, the filter screen configured to separate debris from the flow stream based on size for compaction by the compactor.

    4. The mobile cleaning robot of claim 3, comprising: a final filter located downstream of the filter screen, the final filter configured to filter particulate from the flow stream.

    5. The mobile cleaning robot of claim 1, the compactor comprising: a piston configured to reciprocate relative to the plenum to compact debris into the debris bin.

    6. The mobile cleaning robot of claim 5, wherein the debris bin includes a first chamber and a second chamber, and wherein the piston is configured to compact debris into the first chamber and the second chamber.

    7. The mobile cleaning robot of claim 6, wherein the piston includes a first head a second head opposite the first head, the first head configured to compact debris into the first chamber and the second head configured to compact debris into the second chamber.

    8. The mobile cleaning robot of claim 7, wherein an upstream edge of one or more of the first head and the second head is swept in a direction away from the discharge of the extractor.

    9. The mobile cleaning robot of claim 7, comprising: a first opening connected to the first chamber and the plenum, the first head configured to translate into the first opening to compact debris into the first chamber; and a second opening connected to the second chamber and the plenum, the second head configured to translate into the second opening to compact debris into the second chamber.

    10. The mobile cleaning robot of claim 9, comprising: a filter screen connected to the plenum downstream of the compactor, the filter screen configured to separate debris from the flow stream based on size for compaction by the compactor.

    11. The mobile cleaning robot of claim 10, comprising: a pinion drivable to translate the piston to compact debris into the first opening and the first chamber and into the second opening and the second chamber.

    12. The mobile cleaning robot of claim 11, wherein the piston includes a rack engaged with the pinion.

    13. The mobile cleaning robot of claim 12, comprising: a skid connected to the piston and engaged with an upstream side of the filter screen, the skid configured to engage debris at the filter screen to move debris toward one or more of the first chamber and the second chamber.

    14. The mobile cleaning robot of claim 13, comprising: a drive gear connected to the pinion and configured to drive the pinion; a driven gear engageable with the drive gear; a secondary pinion drivable to rotate by the driven gear; a shuttle including a shuttle rack engaged with the secondary pinion, the shuttle translatable relative to the plenum; and one or more rollers connected to the shuttle and engaged with a downstream side of the filter screen, the one or more rollers configured to translate with the shuttle and roll along the filter screen to move debris upstream for engagement of the moved debris by the skid.

    15. The mobile cleaning robot of claim 14, wherein each roller of the one or more rollers includes a plurality of projections configured to engage openings of the filter screen to move debris out of the openings.

    16. The mobile cleaning robot of claim 14, wherein the one or more rollers includes a first roller and a second roller, the first roller configured to align with a first edge of the skid when the piston moves the first head toward the first opening, and the second roller configured to align with a second edge of the skid when the piston moves the second head toward the second opening.

    17. The mobile cleaning robot of claim 1, wherein the compactor is a rotary screw and wherein the plenum is at least partially cylindrical to, together with the rotary screw, guide compacted debris from the discharge of the extractor to the debris bin.

    18. A mobile cleaning robot comprising: a body; one or more drive wheels connected to the body and operable to move the mobile cleaning robot about an environment; a debris bin connected to the body; an extractor connected to the body and operable to extract debris from the environment; and a compaction system connected to the body and a discharge of the extractor, the compaction system including: a plenum configured to receive debris from the discharge; and a compactor located at least partially within the plenum and operable to compact debris from the plenum into the debris bin.

    19. The mobile cleaning robot of claim 18, the compactor comprising: a piston configured to reciprocate relative to the plenum to compact debris into the debris bin, the piston including a first head a second head opposite the first head, the first head configured to compact debris into a first chamber and the second head configured to compact debris into a second chamber.

    20. The mobile cleaning robot of claim 19, comprising: a filter screen connected to the plenum downstream of the compactor, the filter screen configured to separate debris from a flow stream from the extractor based on size for compaction by the compactor; and a skid connected to the piston and engaged with an upstream side of the filter screen, the skid configured to engage debris at the filter screen to move debris toward one or more of the first chamber and the second chamber.

    21. The mobile cleaning robot of claim 20, comprising: a drive gear connected to a pinion engaged with a rack of the piston, the drive gear configured to drive the pinion; a driven gear engageable with the drive gear; a secondary pinion drivable to rotate by the driven gear; a shuttle including a shuttle rack engaged with the secondary pinion, the shuttle translatable relative to the plenum; and one or more rollers connected to the shuttle and engaged with a downstream side of the filter screen, the one or more rollers configured to translate with the shuttle and roll along the filter screen to move debris upstream for engagement of the moved debris by the skid.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0007] 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.

    [0008] FIG. 1 illustrates a plan view of a mobile cleaning robot in an environment.

    [0009] FIG. 2A illustrates a bottom view of a mobile cleaning robot.

    [0010] FIG. 2B illustrates a top isometric view of a mobile cleaning robot.

    [0011] FIG. 3 illustrates a side cross-sectional view of a mobile cleaning robot.

    [0012] FIG. 4 illustrates a diagram illustrating an example of a communication network in which a mobile cleaning robot operates and data transmission in the network.

    [0013] FIG. 5 illustrates an isometric view of a mobile cleaning robot.

    [0014] FIG. 6 illustrates an isometric view of a portion of a mobile cleaning robot.

    [0015] FIG. 7 illustrates an isometric view of a portion of a mobile cleaning robot.

    [0016] FIG. 8 illustrates an isometric view of a portion of a mobile cleaning robot.

    [0017] FIG. 9 illustrates an isometric view of a portion of a mobile cleaning robot.

    [0018] FIG. 10 illustrates an isometric view of a portion of a mobile cleaning robot.

    [0019] FIG. 11 illustrates an isometric view of a portion of a mobile cleaning robot.

    [0020] FIG. 12 illustrates an isometric view of a portion of a mobile cleaning robot.

    [0021] FIG. 13 illustrates an isometric view of a portion of a mobile cleaning robot.

    [0022] FIG. 14 illustrates an isometric view of a portion of a mobile cleaning robot.

    [0023] FIG. 15 illustrates an isometric view of a portion of a mobile cleaning robot.

    [0024] FIG. 16 illustrates a schematic view of a portion of a mobile cleaning robot.

    [0025] FIG. 17 illustrates a schematic view of a portion of a mobile cleaning robot.

    [0026] FIG. 18 illustrates a schematic view of a portion of a mobile cleaning robot.

    [0027] FIG. 19 illustrates an isometric view of a portion of a mobile cleaning robot.

    [0028] FIG. 20 illustrates an isometric view of a portion of a mobile cleaning robot.

    [0029] FIG. 21 illustrates an isometric view of a portion of a mobile cleaning robot.

    [0030] FIG. 22 illustrates an isometric view of a portion of a mobile cleaning robot.

    [0031] FIG. 23 illustrates an isometric view of a portion of a mobile cleaning robot.

    [0032] FIG. 24 illustrates an isometric view of a portion of a mobile cleaning robot.

    [0033] FIG. 25 illustrates an isometric view of a portion of a mobile cleaning robot.

    [0034] FIG. 26 illustrates an isometric view of a portion of a mobile cleaning robot.

    [0035] FIG. 27 illustrates an isometric view of a portion of a mobile cleaning robot.

    [0036] FIG. 28 illustrates a block diagram illustrating an example of a machine upon which one or more embodiments may be implemented.

    DETAILED DESCRIPTION

    Robot Overview

    [0037] FIG. 1 illustrates a plan view of a mobile cleaning robot 100 in an environment 40. The environment 40 can be a dwelling, such as a home or an apartment, and can include rooms 42a-42e. Obstacles, such as a bed 44, a table 46, and an island 48 can be located in the rooms 42 of the environment. Each of the rooms 42a-42e can have a floor surface 50a-50e, respectively. Some rooms, such as the room 42d, can include a rug, such as a rug 52. The floor surfaces 50 can be of one or more types such as hardwood, ceramic, low-pile carpet, medium-pile carpet, long (or high)-pile carpet, stone, or the like.

    [0038] 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. The robot 100 can be configured to navigate over various floor types through one or more components such as a suspension. The suspension of the robot can also allow the robot 100 to navigate over obstacles, such as thresholds between rooms or over rugs, such as the rug 52.

    [0039] Also 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.

    [0040] Also, during operation, the robot 100 can detect surface types within each of the rooms 42, which can be stored in the robot 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. In some examples, the map can be updated to show the different surface types such as within each of the rooms 42.

    Components of the Robot

    [0041] FIG. 2A illustrates a bottom view of the mobile cleaning robot 100. FIG. 2B illustrates a bottom view of the mobile cleaning robot 100. FIG. 3 illustrates a cross-section view across indicators 3-3 of FIG. 2A of the mobile cleaning robot 100. FIG. 3 also shows orientation indicators Bottom, Top, Front, and Rear. FIGS. 2A-3 are discussed together below.

    [0042] The cleaning robot 100 can be a mobile cleaning robot that can autonomously traverse the floor surface 50 while ingesting the debris 75 from different parts of the floor surface 50. As depicted in FIGS. 2A and 3, the robot 100 can include a body 200 movable across the floor surface 50. The body 200 can include multiple connected structures to which movable components of the cleaning robot 100 can be mounted. The connected structures can include an outer housing to cover internal components of the cleaning robot 100, a chassis to which drive wheels 210a and 210b and the cleaning rollers 205a and 205b (of a cleaning assembly or extractor 206) are mounted, and a bumper 138 mounted to the outer housing.

    [0043] As shown in FIG. 2A, the body 200 can include a front portion 202a that has a substantially semicircular shape and a rear portion 202b that has a substantially semicircular shape. As shown in FIG. 2A, the robot 100 can include a drive system including actuators 208a and 208b, e.g., motors, operable with drive wheels 210a and 210b. The actuators 208a and 208b can be mounted in the body 200 and can be operably connected to the drive wheels 210a and 210b, which are rotatably mounted to the body 200. The drive wheels 210a and 210b can support the body 200 above the floor surface 50. The actuators 208a and 208b, when driven, can rotate the drive wheels 210a and 210b to enable the robot 100 to move across the floor surface 50.

    [0044] The controller (or processor) 212 can be located within the housing 200 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 212 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 and communication capabilities. The memory 213 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 213 can be located within the housing 200 and can be connected to the controller 212 and accessible by the controller 212.

    [0045] The controller 212 can operate the actuators 208a and 208b to autonomously navigate the robot 100 about the floor surface 50 during a cleaning operation. The actuators 208a and 208b are operable to drive the robot 100 in a forward drive direction, in a backwards direction, and to turn the robot 100. The robot 100 can include a caster wheel 211 (or alternatively skids) that supports the body 200 above the floor surface 50. The caster 211 can support the front portion 202b of the body 200 above the floor surface 50, and the drive wheels 210a and 210b support a middle and rear portion 202a of the body 200 above the floor surface 50.

    [0046] As shown in FIG. 3, a vacuum assembly 118 can be located within the body 200 of the robot 100, e.g., in the middle of the body 200. The controller 212 can operate the vacuum assembly 118 to generate an airflow that flows through the air gap near the cleaning rollers 205a and 205b, through the body 200, and out of the body 200. The vacuum assembly 118 can include, for example, an impeller that generates the airflow when rotated. The airflow and the cleaning rollers 205a and 205b, when rotated, cooperate to ingest debris 75 into the robot 100, such as into a discharge 348 of the extractor 205, where the discharge 348 can be a tube, duct, or the like. A debris bin 322 can be mounted in the body 200 and connected to the discharge 348. The debris bin 322 can be configured to receive and contain the debris 75 ingested by the robot 100. A filter 145 (that can be located at least partially within the debris bin 322) can separate the debris 75 from the airflow before the airflow 120 enters the vacuum assembly 118 and is exhausted out of the body 200. In this regard, the debris 75 is captured in both the debris bin 322 and the filter before the airflow 120 is exhausted from the body 200.

    [0047] The cleaning rollers 205a and 205b can operably connected to actuators 214a and 214b, e.g., motors, respectively. The cleaning head 205 and the cleaning rollers 205a and 205b can positioned forward of the debris bin 322. The cleaning rollers 205a and 205b can be mounted to a housing 124 of the cleaning head 205 and mounted, e.g., indirectly or directly, to the body 200 of the robot 100. For example, the cleaning rollers 205a and 205b can be mounted to an underside of the body 200 so that the cleaning rollers 205a and 205b engage debris 75 on the floor surface 50 during the cleaning operation when the underside faces the floor surface 50.

    [0048] The housing 124 of the cleaning head 205 can be mounted to the body 200 of the robot 100. In this way, the cleaning rollers 205a and 205b can also mounted to the body 200 of the robot 100, e.g., indirectly mounted to the body 200 through the housing 124. The cleaning head 205 can also be a removable assembly of the robot 100 where the housing 124 with the cleaning rollers 205a and 205b mounted therein is removably mounted to the body 200 of the robot 100. The housing 124 and the cleaning rollers 205a and 205b can be removable from the body 200 as a unit so that the cleaning head 205 is easily interchangeable with a replacement cleaning head.

    [0049] The control system can further include a sensor system with one or more electrical sensors. The sensor system, as described herein, can generate a 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.

    [0050] Cliff sensors 134 (shown in FIG. 2A) can be located along a bottom portion of the housing 200. Each of the cliff sensors 134 can be an optical sensor that can be configured to detect a presence or absence of an object below the optical sensor, such as the floor surface 50. The cliff sensors 134 can be connected to the controller 212. A bumper 138 can be removably secured to the body 200 and can be movable relative to body 200 while mounted thereto. In some examples, the bumper 138 form part of the body 200. The bump sensors 139a and 139b (the bump sensors 139) can be connected to the body 200 and engageable or configured to interact with the bumper 138. The bump sensors 139 can include break beam sensors, capacitive sensors, switches, or other sensors that can detect contact between the robot 100, i.e., the bumper 138, and objects in the environment 40. The bump sensors 139 can be in communication with the controller 212.

    [0051] An image capture device 140 can be a camera connected to the body 200 and can extend through the bumper 138 of the robot 100, such as through an opening 143 of the bumper 138. The image capture device 140 can be a camera, such as a front-facing camera, 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 the signal to the controller 212 for use for navigation and cleaning routines.

    [0052] Obstacle following sensors 141 (shown in FIG. 2B) can include an optical sensor facing outward from the bumper 138 and that can be configured to detect the presence or the absence of an object adjacent to a side of the body 200. The obstacle following sensor 141 can emit an optical beam horizontally in a direction perpendicular (or nearly perpendicular) to the forward drive direction of the robot 100. The optical emitter can emit an optical beam outward from the robot 100, e.g., outward in a horizontal direction, and the optical detector detects a reflection of the optical beam that reflects off an object near the robot 100. The robot 100, e.g., using the controller 212, can determine a time of flight of the optical beam and thereby determine a distance between the optical detector and the object, and hence a distance between the robot 100 and the object.

    [0053] A side brush 142 can be connected to an underside of the robot 100 and can be connected to a motor 144 operable to rotate the side brush 142 with respect to the body 200 of the robot 100. The side brush 142 can be configured to engage debris to move the debris toward the cleaning assembly 206 or away from edges of the environment 40. The motor 144 configured to drive the side brush 142 can be in communication with the controller 212. The brush 142 can rotate about a non-horizontal axis, e.g., an axis forming an angle between 75 degrees and 90 degrees with the floor surface 50. The non-horizontal axis, for example, can form an angle between 75 degrees and 90 degrees with the longitudinal axes 126a and 126b of the rollers 205a and 205b.

    [0054] The brush 142 can be a side brush laterally offset from a center of the robot 100 such that the brush 142 can extend beyond an outer perimeter of the body 200 of the robot 100. Similarly, the brush 142 can also be forwardly offset of a center of the robot 100 such that the brush 142 also extends beyond the bumper 138. Optionally, the robot 100 can include multiple side brushes, such as one located on each side of the body 200, such as in line with drive wheels 210a and 210b, respectively. The robot 100 can also include a button 146 (or interface) that can be a user-operable interface configured to provide commands to the robot, such as to pause a mission, power on, power off, or return to a docking station.

    Operation of the Robot

    [0055] In operation of some examples, 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.

    [0056] When the controller 212 causes the robot 100 to perform a mission, the controller 212 can operate the motors 208 to drive the drive wheels 210 and propel the robot 100 along the floor surface 50. In addition, the controller 212 can operate the motors 214 to cause the rollers 205a and 205b to rotate, can operate the motor 144 to cause the brush 142 to rotate, and can operate the motor of the vacuum system 118 to generate airflow. The controller 212 can execute software stored on the memory 213 to cause the robot 100 to perform various navigational and cleaning behaviors by operating the various motors of the robot 100.

    [0057] 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 134 can detect obstacles such as drop-offs and cliffs below portions of the robot 100 where the cliff sensors 134 are disposed. The cliff sensors 134 can transmit signals to the controller 212 so that the controller 212 can redirect the robot 100 based on signals from the cliff sensors 134.

    [0058] In some examples, a bump sensor 139a can be used to detect movement of the bumper 138 along a fore-aft axis of the robot 100. A bump sensor 139b can also be used to detect movement of the bumper 138 along one or more sides of the robot 100. The bump sensors 139 can transmit signals to the controller 212 so that the controller 212 can redirect the robot 100 based on signals from the bump sensors 139.

    [0059] 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 212. The image capture device 140 can be angled in an upward direction, e.g., angled between 5 degrees and 45 degrees from the floor surface 50 about which the robot 100 navigates. The image capture device 140, when angled upward, can capture images of wall surfaces of the environment so that features corresponding to objects on the wall surfaces can be used for localization.

    [0060] In some examples, the obstacle following sensors 141 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 a 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 141 can also serve as obstacle detection sensors, similar to the proximity sensors described herein.

    [0061] 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 208 for the drive wheels 210, 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.

    [0062] The controller 212 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 212 can use the sensor data collected by obstacle detection sensors of the robot 100, (the cliff sensors 134, the bump sensors 139, and the image capture device 140) to enable the robot 100 to avoid obstacles within the environment of the robot 100 during the mission.

    [0063] The sensor data can also be used by the controller 212 for simultaneous localization and mapping (SLAM) techniques in which the controller 212 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 212 extracts visual features corresponding to objects in the environment 40 and constructs the map using these visual features. As the controller 212 directs the robot 100 about the floor surface 50 during the mission, the controller 212 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 non-traversable space within the environment. For example, locations of obstacles can be indicated on the map as non-traversable space, and locations of open floor space can be indicated on the map as traversable space.

    [0064] The sensor data collected by any of the sensors can be stored in the memory 213. In addition, other data generated for the SLAM techniques, including mapping data forming the map, can be stored in the memory 213. 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 213 can store data resulting from processing of the sensor data for access by the controller 212. For example, the map can be a map that is usable and updateable by the controller 212 of the robot 100 from one mission to another mission to navigate the robot 100 about the floor surface 50.

    [0065] The persistent data, including the persistent map, helps to enable the robot 100 to efficiently clean the floor surface 50. For example, the map enables the controller 212 to direct the robot 100 toward open floor space and to avoid non-traversable space. In addition, for subsequent missions, the controller 212 can use the map to optimize paths taken during the missions to help plan navigation of the robot 100 through the environment 40.

    Network Examples

    [0066] FIG. 4 is a diagram showing a communication network 400 that enables networking between the mobile robot 100 and one or more other devices, a docking station 300 (or any of the docking stations discussed herein), a mobile device 404 (including a controller), a cloud computing system 406 (including a controller), or another autonomous robot separate from the mobile robot 100. Using the communication network 400, the robot 100, the mobile device 404, the docking station 300, and the cloud computing system 406 can communicate with one another to transmit and receive data from one another. In some examples, the robot 100, the docking station 300, or both the robot 100 and the docking station 300 can communicate with the mobile device 404 through the cloud computing system 406. Alternatively, or additionally, the robot 100, the docking station 300, or both the robot 100 and the docking station 300 can communicate directly with the mobile device 404. Various types and combinations of wireless networks (e.g., Bluetooth, radio frequency, optical based, etc.) and network architectures (e.g., wi-fi or mesh networks) can be employed by the communication network 400.

    [0067] In some examples, the mobile device 404 can be a remote device that can be linked to the cloud computing system 406 and can enable a user to provide inputs. The mobile device 404 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 404 can also include immersive media (e.g., virtual reality or augmented reality) with which the user can interact to provide input. The mobile device 404, in these examples, can be a virtual reality headset or a head-mounted display.

    [0068] The user can provide inputs corresponding to commands for the mobile robot 100. In such cases, the mobile device 404 can transmit a signal to the cloud computing system 406 to cause the cloud computing system 406 to transmit a command signal to the mobile robot 100. In some implementations, the mobile device 404 can present augmented reality images. In some implementations, the mobile device 404 can be a smart phone, a laptop computer, a tablet computing device, or other mobile device.

    [0069] In some examples, the communication network 400 can include additional nodes. For example, nodes of the communication network 400 can include additional robots. Also, nodes of the communication network 400 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.

    [0070] In the communication network 400, 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.

    Debris Compaction Examples

    [0071] FIG. 5 illustrates an isometric view of a mobile cleaning robot 500. The mobile cleaning robot 500 can be consistent with the robots discussed above. FIG. 5 shows how the mobile cleaning robot 500 (or any of the robots discussed above) can include a body 502 (which can be similar to the body 200) and a debris bin 504 (which can be similar to the debris bin 322) that can be connected to the body 502. The mobile cleaning robot 500 can also include a compactor assembly 506 that can be located at least partially within the body 502 or at least partially within the debris bin 504. The compactor assembly 506 can be driven by an actuator 508 that can be located at least partially within the body 502 or the debris bin 504. The actuator 508 can be connected to the controller 212 and in communication therewith. The compactor assembly 506 can be configured or operable to be driven by the actuator 508 to compact debris within (or traveling to) the debris bin 504. The compactor assembly 506 and related features are discussed in further detail below.

    [0072] FIG. 6 illustrates an isometric view of a portion of the mobile cleaning robot 500. FIG. 7 illustrates an isometric view of a portion of the mobile cleaning robot 500. FIG. 8 illustrates an isometric view of a portion of the mobile cleaning robot 500. FIGS. 6-8 are discussed together below. The mobile cleaning robot 500 of FIGS. 6-8 can be consistent with FIG. 5 discussed above; FIGS. 6-8 show additional details of the mobile cleaning robot 500. For example, FIG. 6 shows that the debris bin 504 can include or define a plenum 510 and an opening 512 connected to a discharge of the extractor (such as to the discharge 348 of the extractor 206). The plenum 510 can be or include an independent duct connected to the extractor, can be part of the debris bin, can be part of the duct connecting the extractor to the debris bin, or the like. The opening 512 can extend at least partially through one or more walls 514 of the debris bin 504. The one or more walls 514 can also at least partially define a first debris chamber 516a and a second debris chamber 516b (collectively referred to as debris chambers 516). Each of the debris chambers 516 can be configured to receive and store debris including compacted debris.

    [0073] FIG. 6 also shows that compactor assembly 506 can be located at least partially within the plenum 510. The compactor assembly 506 can be located at least partially in the plenum 510, at least partially within an upstream plenum or discharge duct, or at least partially within a debris bin. The compactor assembly 506 can be operable to compact debris from the plenum into the debris chambers 516. The compactor assembly 506 can include a piston 518 (which can be a piston, plunger, sled, shuttle, rack, or the like) that can be located at least partially within the debris bin 504. The piston 518 can be configured to reciprocate relative to and within the plenum 510. The piston 518 can include a first head 520a and a second head 520b that can be configured to engage debris within the plenum 510 to compact debris into the debris chambers 516a and 516b, respectively. The piston 518 can also include a rack 522 (e.g., a gear rack including teeth) that can be engaged with a pinion 524. The pinion 524 can be connected to the actuator (e.g., the debris bin 504) such that the pinion 524 can be driven to rotate by the actuator to translate the piston 518 back and forth (e.g., reciprocate) within and relative to the plenum 510.

    [0074] The compactor assembly 506 can also include a filter screen 526 that can be connected to the plenum 510 (or to one or more walls 514). The filter screen 526 can be located downstream of the compactor (e.g., the piston 518). The filter screen 526 can include a plurality of holes, bores, or openings, such that the filter screen 526 can separate debris from the flow stream based on size, allowing small debris to pass through the filter screen 526 and relatively larger debris to be compacted by the piston 518.

    [0075] The compactor assembly 506 can also include a shuttle 528 that can be located at least partially downstream of the piston 518 and the filter screen 526. The shuttle 528 can include a shuttle rack 530 (e.g., a gear rack including teeth) that can be engaged with a secondary pinion 532. The secondary pinion 532 can be connected to the actuator (e.g., the debris bin 504) such that the secondary pinion 532 can be driven to rotate by the actuator to translate the shuttle 528 back and forth (e.g., reciprocate) within and relative to the plenum 510.

    [0076] The compactor assembly 506 can also include a first roller 534a and a second roller 534b (collectively referred to as rollers 534). The rollers 534 can be connected to an upstream side of the shuttle 528. The rollers 534 can be individually rotatable relative to the filter screen 526, the shuttle 528, and to each other. The rollers 534 can be engaged with a downstream side of the filter screen 526 such that the rollers 534 can translate with the shuttle 528 and can roll along the filter screen 526 to move debris upstream for engagement by the piston 518.

    [0077] The compactor assembly 506 can also include a first brush 536a and a second brush 536b (collectively referred to as brushes 536). The brushes 536 can be brushes including bristles or other flexible members configured to move items, such as particulate or debris. The brushes 536 can be connected to the shuttle 528 and configured to translate or reciprocate within and relative to the plenum 510. The mobile cleaning robot 500 can also include filter modules 538a and 538b (collectively referred to as filter modules 538) that can include one or more filters such as a pre-filter 540 and one or more final filters (or other filter stage). In operation, the brushes 536 can translate with the shuttle 528 to agitate or brush an upstream surface of the pre-filter 540 to help keep debris moving, help limit clogging, and help evenly load the filter modules 538.

    [0078] In operation of some examples, as shown in FIG. 7, the piston 518 can translate laterally such that the first head 520a extends into the first debris chamber 516a such as to compact or compress debris received from the extractor through the opening 512 and into the plenum 510 for storage in the debris chamber 516a. As the first head 520a is compacting, the controller (e.g., controller 212) can hold the location or position of the piston 518 to allow debris to enter an opening in the plenum 510 between the second head 520b and the second debris chamber 516b. After a brief pause to allow debris to collect, as shown in FIG. 8, the piston 518 can translate away from the first debris chamber 516a and towards the second debris chamber 516b to compact debris into the second debris chamber 516b using the second head 520b. The piston 518 can continue to translate or reciprocate back and forth between the first debris chamber 516a and the second debris chamber 516b to compact debris into the chambers 516, helping to increase a storage capacity of the debris bin 504 and therefore helping to reduce a frequency at which the debris bin 504 requires emptying by a user.

    [0079] As shown in FIG. 6, the debris chambers 516 can be asymmetrically sized and shaped. In other examples, the debris chambers 516 can be symmetrically sized or shaped. However, in such an example where the debris chambers 516 are asymmetrically sized, it may be desirable to operate the piston 518 in such a manner to load the debris chambers 516 equally. To accomplish this, the controller 212 can control the actuator 508 to operate the piston 518 to move in a manner that allows for relatively even loading of the debris chambers 516.

    [0080] For example, because the second debris chamber 516b can have a larger volume that the first debris chamber 516a, the controller 212 can pause the piston 518 for a first duration when the first head 520a is in the first debris chamber 516a and a second duration when the second head 520b is in the second debris chamber 516b. When the second debris chamber 516b is larger than the first debris chamber 516a, the first duration can be longer than the second duration to allow for the plenum 510 to collect more debris, relatively, between the second head 520b and the debris chambers 516 before the second debris chamber 516b moves toward the second debris chamber 516b. This can allow for relatively more debris to be collected in the second debris chamber 516b than the first debris chamber 516a.

    [0081] The controller 212 can use a similar strategy when the controller 212 determines that one chamber or the other is becoming full or clogged. For example, the mobile cleaning robot 500 can include a current sensor connected to the actuator 508 and in communication with the controller 212. The controller 212 can measure or determine a current of the actuator 508 to determine when the piston 518 engages a clog or debris prior to its typical end of travel. Upon making this determination, the controller 212 can reverse a direction of the piston 518. The controller 212 can also use a similar technique for controlling normal reciprocation of the piston 518 along a normal full range of motion of the piston 518.

    [0082] FIG. 9 illustrates an isometric view of a portion of the mobile cleaning robot 500. The mobile cleaning robot 500 of FIG. 9 can be consistent with FIGS. 5-8 discussed above; FIG. 9 shows additional details of the mobile cleaning robot 500. For example, FIG. 9 shows more clearly that the compactor assembly 506 can include a skid 542 that can be connected do a downstream side of the piston 518 and can be engaged with an upstream side of the filter screen 526. The skid 542 can be relatively long and thin and can be made of one or more of metals, polymers, foams, ceramics, or the like. For example, the skid 542 can be made of a relatively low friction material such as nylon, polyurethane rubber, bristles, brushes, other polymers or composites thereof, or the like. The skid 542 can be configured to translate or reciprocate with the piston 518 along the filter screen 526 such that the skid 542 can engage debris at an inlet or upstream side of the filter screen 526 to help move debris out of or off the filter screen 526 and toward one or more of the first chamber 516a and the second chamber 516b.

    [0083] FIG. 9 also more clearly shows that the brushes 536 can be connected to respective brackets or retainers 544 of the shuttle 528, which can extend away from a body 546 of the shuttle 528, such as toward a downstream side of the debris bin 504. FIG. 9 also shows that the brushes 536 can engage the pre-filter 540, which can be supported by a support 548 or structure connected to respective ones of the filter modules 538.

    [0084] FIG. 10 illustrates an isometric view of a portion of a mobile cleaning robot 600. FIG. 11 illustrates an isometric view of a portion of the mobile cleaning robot 600. FIGS. 10 and 11 are discussed together below. The mobile cleaning robot 600 of FIGS. 10 and 11 can be similar to the mobile cleaning robot 500 of FIGS. 5-9 discussed above. The features of the mobile cleaning robot 600 can be included in any of the embodiments discussed above or below.

    [0085] The mobile cleaning robot 600 can include a compactor assembly 606, which can be similar to the compactor assembly 506. As shown in FIG. 10, the compactor assembly 606 can also include an actuator 608, which can be a motor or manual actuator and can be connected to a drive gear 650. The drive gear 650 can be connected to a pinion, such as the pinion 524, such that rotation of the actuator 608 and the drive gear 650 can drive the pinion 524 to rotate causing a piston 618 (which can be similar to the piston 518) to translate via the rack 522 and pinion 524 engagement. The drive gear 650 can be engaged with a driven gear 652 such that rotation of the drive gear 650 can cause rotation of the driven gear 652. The drive gear 650 and the driven gear 652 can be any gear types, such as spur gears, helical gears, or the like.

    [0086] The driven gear 652 can be connected to a secondary pinion (such as the secondary pinion 532), which can be engaged with the shuttle rack 530 such that a shuttle 628 (which can be similar to the shuttle 528) can translate in response to rotation of the driven gear 652. A gear ratio of the drive gear 650 and the driven gear 652 can be selected based on a desired relative speed of the piston 618 and the shuttle 628, such as to maintain an equal movement speed of the shuttle 628 and the piston 618. The gear ratio can compensate for differences is sizes of the pinions and racks of the shuttle 628 and the piston 618. For example, the gear ratio of the drive gear 650 to the driven gear 652 can be 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, or the like. The secondary pinion 532 can be connected to the driven gear 652 by a slip clutch 654 and a shaft 656. The slip clutch 654 can be engaged with the driven gear 652 such as to translate rotation of the driven gear 652 to the shaft 656 until a maximum torque is exceeded, at which point the slip clutch 654 can slip and the shaft 656 can disengage the driven gear 652 allowing for the driven gear 652 to rotate independently of the shaft 656 and therefore the secondary pinion 532 to allow the piston 518 to translate independently of the shuttle 528 at times, as discussed in further detail below.

    [0087] FIG. 10 also shows that the compactor assembly 606 can include an opening 658 that can be shaped and sized to receive the piston 618 at least partially therein to allow for debris to be compacted into a debris bin 604 (which can be similar to the debris bin 504). FIG. 10 also shows that the compactor assembly 606 can include flaps 660a and 660b, which can be flexible members connected to the opening 658. As shown in FIG. 11, the flaps 660 can be configured to engage the piston 618 as it moves into the opening 658 and the flaps 660 can act as a check valve, such as by engaging debris to help prevent or limit debris from re-entering a plenum 610 (which can be similar to the plenum 510) and can limit debris from entering the rack and pinion of the compactor assembly 606 (or the compactor assembly 506).

    [0088] FIG. 12 illustrates an isometric view of a portion of the mobile cleaning robot 600. FIG. 13 illustrates an isometric view of a portion of the mobile cleaning robot 600. FIGS. 12 and 13 are discussed together below. The mobile cleaning robot 600 of FIGS. 12 and 13 can be consistent with FIGS. 5-11 discussed above; FIGS. 12 and 13 show additional details of the mobile cleaning robot 600.

    [0089] FIG. 12 shows that the piston 618 can include a swept edge 662, which can be curved, sloped, swept, or otherwise shaped to promote flow (including debris) past an end 620a of the piston 618. The swept edge 662 can be swept in a direction away from the discharge of the extractor or the opening of the plenum. The swept edge 662 can be located between rails 664 and 666 of the 618, which can ride in slots (e.g., slot 668 shown in FIG. 13) to guide translation of the piston 618. The end 620a can also include a flat face that can increase an area of the end 620a for effective compaction of debris. An end 620b of the 618 can be similarly configured.

    [0090] The piston 618 can also include undercuts or chamfers, which can be configured to promote airflow around the piston 618 and to the filter screen 626, helping to increase an amount of air flow through the filter screen 626 and helping to reduce pressure drop around the piston 618.

    [0091] FIG. 13 shows how the end 620a can extend into and partially through the opening 658 such as to pack debris into a debris chamber 616 (which can be similar to the debris chambers 516). FIG. 13 also shows that when the end 620a is in the opening 658, the shuttle 628 can engage a wall 670 of the debris bin 604, which can increase torque applied to the shaft 656 and can cause release of the slip clutch 654 allowing the piston 618 to move relative to the shuttle 628, as discussed in further detail below.

    [0092] FIG. 13 also shows that an edge 672 of a skid 642 (which can be similar to the skid 542) can extend at least partially into the opening 658 to move debris off a filter screen 626 (which can be similar to the filter screen 526) and into the debris chamber 616.

    [0093] FIG. 14 illustrates an isometric view of a portion of the mobile cleaning robot 600. FIG. 15 illustrates an isometric view of a portion of the mobile cleaning robot 600. FIGS. 14 and 15 are discussed together below. The mobile cleaning robot 600 of FIGS. 14 and 15 can be consistent with FIGS. 5-13 discussed above; FIGS. 14 and 15 show additional details of the mobile cleaning robot 600.

    [0094] For example, FIG. 14 shows that the compactor assembly 606 can include rollers 634a and 634b (which can be similar to the rollers 534a and 534b) that can be connected to the shuttle 628. Each of the rollers 634 can include projections 676a-676n, as shown in FIG. 15. FIGS. 14 and 15 also show that the filter screen 626 can include a plurality of bores 674a-674n extending at least partially through the filter screen 626. As shown in FIG. 14, a downstream portion of the bores 674 can be conically shaped to receive the projections 676 at least partially therein as the rollers 634 roll across the downstream side of the filter screen 626. The conically shaped bores 674 can also help to ensure that any debris that passes into the bore 674 can escape through to later stage filtration.

    [0095] During operation of some examples, the projections 676 can roll into bores 674 as the rollers 634 move along the filter screen 626 allowing the projections 676 to engage debris trapped or stuck in the filter screen 626 to move the debris out of the bores 674 so that it can be engaged by the piston 618 or the skid 642 to be compacted into either of the debris chambers 616. The rollers 634 can thereby help to keep the filter screen 626 free of debris to allow for improved air flow or reduced pressure drop through the filter screen 626.

    [0096] FIG. 16 illustrates a schematic view of the compactor assembly 506 of the mobile cleaning robot 500. FIG. 17 illustrates a schematic view of the compactor assembly 506 of the mobile cleaning robot 500. FIG. 18 illustrates a schematic view of the compactor assembly 506 of the mobile cleaning robot 500. FIGS. 16-18 are discussed together below and show how the shuttle and piston can move relative to each other. The movement shown in FIGS. 16-18 can be applied to any of the robots discussed herein.

    [0097] As shown in FIG. 16, the roller 534a can be aligned with an edge 572a of the skid 542 as the piston 518 moves in the direction P and the shuttle 528 moves in the direction S (which can be parallel to the direction P). As the shuttle 528 moves, the first roller 534a can extract debris from the holes of the filter screen 526 so that the first head 520a or the skid 542 can engage the debris and force it towards the debris chamber 516a. As shown in FIG. 17, the first roller 534a can remain aligned with the skid 542 until, as shown in FIG. 18, the first head 520a extends into the first debris chamber 516a. Around this time, the shuttle 528 can engage the wall and cause the slip clutch to slip to stop the shuttle 528 from further translating, allowing the piston 518 to continue moving in the direction P while the shuttle 528 pauses or stops (or reduces) movement.

    [0098] The piston 518 can continue moving until it reaches its end of travel, which can align the second roller 534b with an edge 572b of the skid 542 as shown in FIG. 18, allowing the second roller 534b to move debris out of the filter screen 526 ahead of the skid 542 as the piston 518 moves in a direction opposite the direction P. In this way, the rollers 534 can act to clear debris from the filter screen 526 just ahead of the skid 542 and the piston 518 for compaction into the debris chambers 516 in either direction of movement of the piston 518.

    [0099] FIG. 19 illustrates an isometric view of the compactor assembly 506 of the mobile cleaning robot 500. The mobile cleaning robot 500 can be consistent with the mobile cleaning robot 500 (or the mobile cleaning robot 600) discussed above. FIG. 19 shows that an opening 558b, which can connect to the second debris chamber 516b, can include a relief edge 578. The relief edge 578 can be sized or shaped to match a height or dimension of the plenum where binding or pinching of debris may be possible. The relief edge 578 can be configured to reduce compression of debris around the piston 518 as the second head 520b enterers the opening 558b, which can help reduce friction and limit or prevent seizing of the piston 518 within the opening 558b. An opening 558a to the first debris chamber 516a can be similarly configured.

    [0100] FIGS. 20 and 21 illustrate isometric views of the compactor assembly 606 of the mobile cleaning robot 600. FIGS. 20 and 21 are discussed together below and show that the compactor assembly 606 can include a filter box 680, which can be a housing, or the like, connected to a downstream side of the filter screen 626. As shown in FIG. 21, the filter box 680 can house one or more filter medias 682 (e.g., final filters) that can be arranged or configured to collect debris therein.

    [0101] FIG. 22 illustrates an isometric view of a compactor assembly 2206 of a mobile cleaning robot. FIG. 23 illustrates an isometric view of the compactor assembly 2206 of a mobile cleaning robot. FIG. 24 illustrates an isometric view of the compactor assembly 2206 of a mobile cleaning robot. FIGS. 22-24 are discussed together below. The compactor assembly 2206 can be incorporated into any of the robots discussed above or below. The compactor assembly 2206 can operate similarly to the compactors discussed above, but can be configured, structurally, to include an arm 2284 and a head 2286 connected to the arm 2284. The arm 2284 can be connected to an actuator to rotate the head 2286 within the plenum 2210 to compact debris into debris chambers 2216.

    [0102] FIG. 25 illustrates an isometric view of a compactor assembly 2506 of a mobile cleaning robot. FIG. 26 illustrates an isometric view of the compactor assembly 2506 of a mobile cleaning robot. The compactor assembly 2506 can be incorporated into any of the robots discussed above or below. The compactor assembly 2506 can operate similarly to the compactors discussed above, but can be configured, structurally, to include a screw 2588 or lobe or auger that can be configured to rotate within a plenum 2510, as shown in FIG. 26. The plenum 2510 can include a cylindrical portion 2590 that can be shaped complimentary to the screw 2588 to cooperate with the screw 2588 to compress (or compact) and move debris out of the plenum 2510 and into the debris chamber 2516.

    [0103] FIG. 26 shows that the plenum 2510 (e.g., the cylindrical portion 2590) can include a filter screen 2592 configured to help separate debris passing through the plenum 2510 to allow the screw 2588 to compact relatively larger debris while relatively smaller or finer debris passes through the filter screen 2592 to be collected by downstream filters.

    [0104] FIG. 27 illustrates an isometric view of compactor assembly 2706 of a mobile cleaning robot, which can include a single piston or plunger 2794 for compacting debris into a debris chamber 2716. Each of the compactors discussed above can include a debris chamber where there is no air flow or minimal airflow therein, which can help prevent or limit debris from leaving the debris chambers.

    [0105] FIG. 28 illustrates a block diagram of an example machine 2800 upon which any one or more of the techniques (e.g., methodologies) discussed herein may perform. Examples, as described herein, may include, or may operate by, logic or a number of components, or mechanisms in the machine 2800. Circuitry (e.g., processing circuitry) is a collection of circuits implemented in tangible entities of the machine 2800 that include hardware (e.g., simple circuits, gates, logic, etc.). Circuitry membership may be flexible over time. Circuitries include members that may, alone or in combination, perform specified operations when operating. In an example, hardware of the circuitry may be immutably designed to carry out a specific operation (e.g., hardwired). In an example, the hardware of the circuitry may include variably connected physical components (e.g., execution units, transistors, simple circuits, etc.) including a machine readable medium physically modified (e.g., magnetically, electrically, moveable placement of invariant massed particles, etc.) to encode instructions of the specific operation. In connecting the physical components, the underlying electrical properties of a hardware constituent are changed, for example, from an insulator to a conductor or vice versa. The instructions enable embedded hardware (e.g., the execution units or a loading mechanism) to create members of the circuitry in hardware via the variable connections to carry out portions of the specific operation when in operation. Accordingly, in an example, the machine readable medium elements are part of the circuitry or are communicatively coupled to the other components of the circuitry when the device is operating. In an example, any of the physical components may be used in more than one member of more than one circuitry. For example, under operation, execution units may be used in a first circuit of a first circuitry at one point in time and reused by a second circuit in the first circuitry, or by a third circuit in a second circuitry at a different time. Additional examples of these components with respect to the machine 2800 follow.

    [0106] In alternative embodiments, the machine 2800 may operate as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine 2800 may operate in the capacity of a server machine, a client machine, or both in server-client network environments. In an example, the machine 2800 may act as a peer machine in peer-to-peer (P2P) (or other distributed) network environment. The machine 2800 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.

    [0107] The machine (e.g., computer system) 2800 may include a hardware processor 2802 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a hardware processor core, or any combination thereof), a main memory 2804, a static memory (e.g., memory or storage for firmware, microcode, a basic-input-output (BIOS), unified extensible firmware interface (UEFI), etc.) 2806, and mass storage 2808 (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) 2830. The machine 2800 may further include a display unit 2810, an alphanumeric input device 2812 (e.g., a keyboard), and a user interface (UI) navigation device 2814 (e.g., a mouse). In an example, the display unit 2810, input device 2812 and UI navigation device 2814 may be a touch screen display. The machine 2800 may additionally include a storage device (e.g., drive unit) 2808, a signal generation device 2818 (e.g., a speaker), a network interface device 2820, and one or more sensors 2816, such as a global positioning system (GPS) sensor, compass, accelerometer, or other sensor. The machine 2800 may include an output controller 2828, 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.).

    [0108] Registers of the processor 2802, the main memory 2804, the static memory 2806, or the mass storage 2808 may be, or include, a machine readable medium 2822 on which is stored one or more sets of data structures or instructions 2824 (e.g., software) embodying or utilized by any one or more of the techniques or functions described herein. The instructions 2824 may also reside, completely or at least partially, within any of registers of the processor 2802, the main memory 2804, the static memory 2806, or the mass storage 2808 during execution thereof by the machine 2800. In an example, one or any combination of the hardware processor 2802, the main memory 2804, the static memory 2806, or the mass storage 2808 may constitute the machine readable media 2822. While the machine readable medium 2822 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 2824.

    [0109] The term machine readable medium may include any medium that is capable of storing, encoding, or carrying instructions for execution by the machine 2800 and that cause the machine 2800 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.

    [0110] The instructions 2824 may be further transmitted or received over a communications network 2826 using a transmission medium via the network interface device 2820 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 2820 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 2826. In an example, the network interface device 2820 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 2800, 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.

    NOTES AND EXAMPLES

    [0111] 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.

    [0112] Example 1 is a mobile cleaning robot comprising: a body; one or more drive wheels connected to the body and operable to move the mobile cleaning robot about an environment; a debris bin connected to the body; an extractor connected to the body and operable to extract debris from the environment; a vacuum system connected to the body and configured to generate a flow stream through the extractor; and a compaction system connected to the body and a discharge of the extractor, the compaction system including: a plenum configured to receive debris and the flow stream from the discharge; and a compactor located at least partially within the plenum and operable to compact debris from the plenum into the debris bin.

    [0113] In Example 2, the subject matter of Example 1 optionally includes a motor connected to the compactor, the motor operable to drive the compactor to move to compact the debris.

    [0114] In Example 3, the subject matter of Example 2 optionally includes a filter screen connected to the plenum downstream of the compactor, the filter screen configured to separate debris from the flow stream based on size for compaction by the compactor.

    [0115] In Example 4, the subject matter of Example 3 optionally includes a final filter located downstream of the filter screen, the final filter configured to filter particulate from the flow stream.

    [0116] In Example 5, the subject matter of any one or more of Examples 14 optionally include the compactor comprising: a piston configured to reciprocate relative to the plenum to compact debris into the debris bin.

    [0117] In Example 6, the subject matter of Example 5 optionally includes wherein the debris bin includes a first chamber and a second chamber, and wherein the piston is configured to compact debris into the first chamber and the second chamber.

    [0118] In Example 7, the subject matter of Example 6 optionally includes wherein the piston includes a first head a second head opposite the first head, the first head configured to compact debris into the first chamber and the second head configured to compact debris into the second chamber.

    [0119] In Example 8, the subject matter of Example 7 optionally includes wherein an upstream edge of one or more of the first head and the second head is swept in a direction away from the discharge of the extractor.

    [0120] In Example 9, the subject matter of any one or more of Examples 7-8 optionally include a first opening connected to the first chamber and the plenum, the first head configured to translate into the first opening to compact debris into the first chamber; and a second opening connected to the second chamber and the plenum, the second head configured to translate into the second opening to compact debris into the second chamber.

    [0121] In Example 10, the subject matter of Example 9 optionally includes a filter screen connected to the plenum downstream of the compactor, the filter screen configured to separate debris from the flow stream based on size for compaction by the compactor.

    [0122] In Example 11, the subject matter of Example 10 optionally includes a pinion drivable to translate the piston to compact debris into the first opening and the first chamber and into the second opening and the second chamber.

    [0123] In Example 12, the subject matter of Example 11 optionally includes wherein the piston includes a rack engaged with the pinion.

    [0124] In Example 13, the subject matter of Example 12 optionally includes a skid connected to the piston and engaged with an upstream side of the filter screen, the skid configured to engage debris at the filter screen to move debris toward one or more of the first chamber and the second chamber.

    [0125] In Example 14, the subject matter of Example 13 optionally includes a drive gear connected to the pinion and configured to drive the pinion; a driven gear engageable with the drive gear; a secondary pinion drivable to rotate by the driven gear; a shuttle including a shuttle rack engaged with the secondary pinion, the shuttle translatable relative to the plenum; and one or more rollers connected to the shuttle and engaged with a downstream side of the filter screen, the one or more rollers configured to translate with the shuttle and roll along the filter screen to move debris upstream for engagement of the moved debris by the skid.

    [0126] In Example 15, the subject matter of Example 14 optionally includes wherein each roller of the one or more rollers includes a plurality of projections configured to engage openings of the filter screen to move debris out of the openings.

    [0127] In Example 16, the subject matter of any one or more of Examples 14-15 optionally include wherein the one or more rollers includes a first roller and a second roller, the first roller configured to align with a first edge of the skid when the piston moves the first head toward the first opening, and the second roller configured to align with a second edge of the skid when the piston moves the second head toward the second opening.

    [0128] In Example 17, the subject matter of any one or more of Examples 1-16 optionally include wherein the compactor is a rotary screw and wherein the plenum is at least partially cylindrical to, together with the rotary screw, guide compacted debris from the discharge of the extractor to the debris bin.

    [0129] Example 18 is a mobile cleaning robot comprising: a body; one or more drive wheels connected to the body and operable to move the mobile cleaning robot about an environment; a debris bin connected to the body; an extractor connected to the body and operable to extract debris from the environment; and a compaction system connected to the body and a discharge of the extractor, the compaction system including: a plenum configured to receive debris from the discharge; and a compactor located at least partially within the plenum and operable to compact debris from the plenum into the debris bin.

    [0130] In Example 19, the subject matter of Example 18 optionally includes the compactor comprising: a piston configured to reciprocate relative to the plenum to compact debris into the debris bin, the piston including a first head a second head opposite the first head, the first head configured to compact debris into a first chamber and the second head configured to compact debris into a second chamber.

    [0131] In Example 20, the subject matter of Example 19 optionally includes a filter screen connected to the plenum downstream of the compactor, the filter screen configured to separate debris from a flow stream from the extractor based on size for compaction by the compactor; and a skid connected to the piston and engaged with an upstream side of the filter screen, the skid configured to engage debris at the filter screen to move debris toward one or more of the first chamber and the second chamber.

    [0132] In Example 21, the subject matter of Example 20 optionally includes a drive gear connected to a pinion engaged with a rack of the piston, the drive gear configured to drive the pinion; a driven gear engageable with the drive gear; a secondary pinion drivable to rotate by the driven gear; a shuttle including a shuttle rack engaged with the secondary pinion, the shuttle translatable relative to the plenum; and one or more rollers connected to the shuttle and engaged with a downstream side of the filter screen, the one or more rollers configured to translate with the shuttle and roll along the filter screen to move debris upstream for engagement of the moved debris by the skid.

    [0133] In Example 22, the apparatuses or method of any one or any combination of Examples 1-21 can optionally be configured such that all elements or options recited are available to use or select from.

    [0134] 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.

    [0135] In the event of inconsistent usages between this document and any documents so incorporated by reference, the usage in this document controls.

    [0136] 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.

    [0137] The above description is intended to be illustrative, and not restrictive. For example, the above-described examples (or one or more aspects thereof) can 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 can 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 can 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.