At their core, robotic floor cleaners integrate at least two primary functional systems: (1) a cleaning mechanism, which cleans the floor in the area where it is placed or moved across, and (2) a mobile robotic platform, which autonomously moves the cleaning mechanism across the floor to different places. Both of these functional systems must work adequately for the robot to be effective at cleaning.
While both functional systems set requirements and constraints on the design of the overall robot, the challenge of developing a mobile robotic platform that can autonomously move around in nearly an infinite variety of highly unstructured environments (e.g. people's homes) tends to be the dominant consideration and has had a significant effect on the design of home cleaning robots to this date.
In terms of robotic floor cleaners currently available, the constraint is so great that the vast majority of units manufactured to this date follow the same general form factor. The mobile robot platform is contained within a shell having a circular base, similar in shape to hockey puck but much larger than that. Two independently controlled drive wheels are set within the circle on opposite sides of the robot. The wheels are along the center axis of the circle bisecting the forward and rear halves of the robot.
In addition, the mobile robot platform has one or more caster wheels for support at the forward and/or rear ends of the robot to provide lateral stability and act as part of the robot's suspension. Some designs use only one caster in the front, but distribute the weight to be heavier in the front to keep the robot from tipping backward.
The circular shape makes the robot much easier to navigate around obstacles and along walls. With the wheels fully nested within the circle and placed along the center axis, the robot can effectively turn in place to change its heading without the sides of the robot hitting any exterior obstacles.
The cleaning robot design also allows contact sensors (e.g., located on a bumper) and proximity sensors (IR sensors) to be placed along the outer sides of the robot to detect obstacles and follow along walls and furniture. In some designs, the bumper may extend outside the boundary of the circular base as a means for feeling for walls and obstacles as the robot turns. The current cleaning robot design also includes drop sensors beneath the robot for detecting drop offs in the floor before the robot drives over a hazard.
Examples following this design framework include robot vacuum cleaners such as Eletrolux®'s Trilobite®, iRobot®'s Roomba®, Yujin's iClebo, Samsung®'s Hauzen® robots, as well as floor scrubbing robots such as iRobot®'s Scooba® robot. The downside of the presently available solution for the mobile robotic platform is that the current configurations limit the size, reach and effectiveness of the cleaning mechanism.
In the typical robotic floor cleaner approach, the primary cleaning mechanism (such as a vacuum or beater brush) is designed to fit entirely within the footprint of mobile robot platform. Given that the dominant platform shape is circular for most robotic floor cleaners, the cleaning apparatus necessarily has be narrower than the robot itself, cover a smaller area of the floor relative to the size of the overall robot, and is not able to directly reach all the way to walls and into corners. This is particularly sub-optimal for cleaning mechanisms such as vacuums, brushes and other devices, which tend to be rectangular in shape and don't match well with the geometry of a circle.
To compensate for this limitation, designers of the robotic cleaners have added an “edge cleaning” feature in the form of a small side spinning brush that reaches out from the side of the robot. The small side spinning brush attempts to draw debris into the path of the cleaning apparatus, although this has limited effectiveness and often needs to be replaced due to wear.
The typical placement of the wheels and casters to support a circular robot platform places additional constraints on the cleaning mechanism. As one limitation, the cleaning mechanism can not extend to an area where there is a wheel or caster, further limiting its size and configuration. Additionally, the robot usually requires a more complex suspension system to keep the cleaning mechanism in contact with the floor to be effective in cleaning, while at the same time maintain primary contact between the floor and the wheels and casters in order for the robot to be effective in driving over the floor surface and over small obstacles.
A number of variations on the typical robot floor cleaner configuration have been proposed in an attempt to reduce the constraints on the cleaning apparatus and increase its effectiveness, but these solutions still prioritize the mobility and function of the robotic platform over the function of the cleaning mechanism itself.
Products with a non-circular shape, such as The Shaper Image®'s oval shaped eVac™ robotic vacuum, have been introduced to the market. In this oval-shaped robotic vacuum, the front leading edge was flattened to allow the vacuum to reach parallel to the wall in front of the robot, but the cleaning mechanism was still nested within the shell of the cleaning robot and did not extend to the sides.
Other robotic cleaner designs have been disclosed which combine a mobile robot platform with a cleaning apparatus that is partially or fully extending past the footprint of the mobile robot platform. These examples include a robot with a flexible tail extending outside the shell of the cleaning robot, Proctor and Gamble, (“P&G”), robots with a trailing clearing module (SC Johnson and Minolta), as well as a cleaning module that is movable relative to the mobile robot platform. (Minolta)
U.S. Pat. No. 6,779,217, assigned to P & G, discloses a mobile robot platform which utilizes the standard circular design, but also includes a flexible “appendage” in the form of a triangular tail, where the triangular tail holds a cleaning cloth. The advantage of this design is that it can reach into corners with the extended tail, as well as clean along the edges of furniture and walls. However, the extended reach of its cleaning abilities works only when the cleaning robot turns in place to “sweep” along the radius of the turn. While the “appendage” approach provides a beneficial supplementary function for catching extra dirt and dust, this approach does not overcome the limitation of the primarily cleaning mechanism being placed within the footprint of the mobile robot platform. For example, if the cleaning robot drives along the side of a wall, it will still not clean a majority of the gap between the primary cleaning mechanism and the wall, and will only do so in the limited area where the cleaning robot makes a turn.
SC Johnson, in U.S. application Ser. No. 10/218,843, disclosed a configuration which combines a circular mobile robot platform with a trailing external cleaning pad that could hold a cleaning cloth or other material. This cleaning robot design allows the external cleaning pad to be as wide as the cleaning robot, and provides that the edges of the cloth can extend past the width of the pad to reach along walls and into corners. The drive system and sensors for the robotic cleaner would be in the front circular section as part of the mobile robot platform. The limitation of this design is the larger size and longer shape of the combined form factor, which limits how well the robot would be able to navigate in tighter spaces. This robotic cleaner configuration would have the advantage of the standard circular design for turning along walls and, to some extent, maintain the benefits of being able to bump and turn to get around forward obstacles. However, the extended length of the cleaning robot would provide challenges for turning in tighter spaces, as well as for getting in and out of cluttered environments, such as between chair and table legs which are clustered together. The extra length of the trailing pad would prevent the cleaning robot from navigating into spaces a robot with just the circular section could enter.
In U.S. Pat. No. 5,894,621, Minolta disclosed a similar robotic cleaner configuration of a cleaning pad trailing the mobile robot platform, where the pad would be larger than the robot body to allow greater access to walls and side cleaning. However, this configuration would still have the same limitations of navigating in tight spaces given the overall length and distance from the wheels to the cleaning pad.
In U.S. Pat. No. 5,720,077, Minolta disclosed another cleaning robot design where the cleaning mechanism is external to the mobile robot platform. The cleaning robot expands its reach by making both (1) the cleaning mechanism's position adjustable to the mobile cleaning robot and (2) making the mobile robot platform drive wheels change the primary axis of direction, relative to the cleaning mechanism, in order to drive it in different orientations. This robotic cleaner design offers a greater degree of flexibility for cleaning in different spaces, but comes at a price of significantly more cost and complexity. Specifically, this robotic cleaner design includes more moving parts and more sensors to judge situational conditions and control the position of the cleaning mechanism, so this will likely result in a physically larger robot. While this may be appropriate for a commercial robotic cleaner for large office and commercial spaces, this disclosed cleaning robot design would not fit the requirements of a consumer robotic cleaner needing to clean in tight spaces, such as around a kitchen table that is positioned close to one or more walls, which also includes a number of chairs, as well as in places deep under low furniture.
The cleaning pattern and navigation strategy of consumer robots is also an area in need of improvement. The vast majority of current consumer cleaning robots on the market utilize a random or semi-random navigation scheme for controlling the robot's driving behavior. This is primarily because in the past there has not been an effective and low-cost navigation solution that can track the robot's position and guide it to intelligently cover the desired area for cleaning the floor.
Instead, cleaning robots normally rely on a relatively simple set of behaviors and algorithms that combine driving, obstacle detection and avoidance, wall following and random variables in an attempt to “bounce” the robot around the floor space. The rationale is that over enough time, the robot will reach all locations in the cleanable area just through the process of randomly exploring the room.
This approach has several major limitations. First, the robot must clean for very long periods of time to reach full coverage of a room or other designated area of a home. As noted in U.S. Pat. No. 6,076,025, the rate of new area covered drops significantly the longer the robot operates. Because the robot has little to no prior knowledge of where it has cleaned, it continues to clean over areas that it has already cleaned before as opposed to focusing on areas to it has not yet reached. As more area of the room or area of the home is covered, the random method works against the robot, as the robot spends proportionally more and more time cleaning areas it has already cleaned. For a typical large room or area in a home, the robot runs out of battery power before it's able to reach all locations in the target area.
In U.S. Pat. No. 6,076,025 (“the '025 patent”) assigned to Honda, Honda discloses an enhanced approach by having the robot periodically clean in an outward spiral pattern during the course of randomly navigating through a room. This approach has the benefit of filling in more area in different locations and improving the efficiency curve relative to a pure random approach, but the same core dynamic exists in terms of making the robot becoming increasing inefficient as more of the room is covered.
As another limitation, cleaning strategies that are described as random or semi-random do not normally result in a random distribution of cleaning coverage across a typical room or area of a home. In a completely empty room where there are only walls and not interior obstacles, each area of the floor will have an equal chance of being cleaned within a certain amount of time. So on any given run, one part of the room is just as likely as another part of the room to get cleaned. As more runs are made or repeated, the odds increase that a specific part of the room will be cleaned.
However, rooms and areas in homes are not empty, and instead have a variety of interior obstacles which the robot must navigate around. Additionally, these obstacles are not randomly dispersed. Rather, large obstacles, namely furniture, are clustered together and form uneven barriers of entry for a robot to navigate through. A common example includes a dinning table and chairs, which create a “forest” of furniture legs concentrated in a certain area of a room. Another common example is a living room furniture set, such as a long couch, coffee table, side chairs and side tables clustered in a pattern, such as U-shape or L-shape configuration.
In theory, the random approach gives infinite opportunities for the robot to find openings in the room between obstacles by hitting them in all points along their perimeter at virtually all angles. However, this process takes time for enough permutations to take place and for a large percent of those permutations, the robot may be frequently blocked and/or deflected away from areas occupied by these obstacles. The net result is that the robot following a random approach is “corralled” away from dense or blocked areas, and tends to stay into more open spaces. This often causes the robot to significantly over-clean some areas of the room or areas of the home while under cleaning other areas. In other words, a random and/or semi-random guided robot can systematically avoid and under-clean certain areas, over and over. This results in poor cleaning of those areas, inefficient use of energy, as well as excess wear on the robot and potentially of the floor covering in the over-cleaned areas.
These limitations of a random or semi-random approach, the general low efficiency in reaching all areas of the floor, and the systematic pattern of repeatedly missing certain parts of the floor area, are counter-productive to the primary cleaning function of the robot. This is especially true for robotic cleaners which use a consumable material for cleaning that has a limited period of use. As an example, for robotic cleaners such as described in this invention which uses a wet cleaning pad, the dispersion of fluid on the floor would be concentrated in certain areas of the room, possibly to the point of pooling and leaving streaks and residue spots on the floor. At the same time, the pad dries up as it cleans, meaning areas that are not reached until later will not be wet or cleaned at all.
To address these limitations, companies have proposed and in a few instances developed robots which use a systematic or semi-systematic cleaning strategy. These robots generally follow some pre-defined cleaning behavior or pattern, such as crossing the floor in parallel rows, to provide a more even and controlled method of cleaning the floor area. For example, Samsung Pat. No. 7,480,958 discloses these types of robots.
For open areas of a room, a parallel row pattern can be much faster at covering a large amount of area in much less time than a random approach. These patterns can also have the benefit of using the driving pattern to probe for open areas amidst obstacles that lie in the path of the rows. In the case of a robot cleaning in a pattern of parallel rows, the ends of the rows provide an opportunity to probe for open spaces between obstacles in a fast and systematic way. For example, if the direction of the rows is roughly perpendicular to a boundary formed by a cluster of furniture, then the robot has the opportunity to attempt to pass into openings in the cluster on each returning pass. By controlling the spacing on the rows and using heuristics for when to attempt to follow around an obstacle, the robot can be much more methodical about finding spaces in between obstacles that a random approach would initially miss.
The challenge with systematic cleaning patterns is that the structure of the pattern may be too rigid to adapt enough for successfully covering all areas in a complex environment. While a random cleaning strategy over time will allow the robot to find its way almost everywhere just by chance, although not efficiently or with equal success, a systematic strategy alone can not guarantee full coverage. The problem is the pattern generally has one preferred direction and follows rules about which way to proceed when it has multiple directions to select from. So in the example of the parallel rows, the robot may end up cleaning on side of a kitchen aisle, but miss the other side.
To make structured patterns work in unstructured environments, more capabilities have to be added to the system to track the robot's position, keep a map of where it has cleaned and identify areas that have not been reached. To date, very few systems have been developed that would be suitable for a home cleaning robot. As one example, the Samsung® Hauzen® vacuum cleaning robot uses a camera to create a map of where it cleans to provide some of these functions, but this product requires complex image recognition software and more expensive sensors and internal computing hardware built into the robot. To date, this product is significantly more expensive than even the premium version of the leading models for robotic floor cleaners, and accounts for a very small share of the market. Evolution Robotics® has alternative vSLAM® localization system utilizing a camera and visual pattern recognition to construct a map of the environment, recognize where the robot is, and guide the robot, but this system too requires generally more processing and memory than is on the current generation of cleaning robots. Evolution's patents disclosing vSLAM localization system information include U.S. Pat. Nos. 7,272,467; 7,177,737; 7,162,338; 7,145,478; 7,135,992 and 7,015,831. For the vast majority of robots sold to consumers, random or semi randomly cleaning remains to be the standard.
Described Description of the Invention
In an embodiment of the invention, the cleaning robot solves a current problem of extending cleaning reach, while achieving reliable cleaning robot mobility by using a unique configuration where the cleaning apparatus (e.g., the cleaning pad which holds the cleaning cloth) forms a major part of the mobile robot platform and overall body. In this embodiment of the invention, the cleaning apparatus (1) is located at the front of the cleaning robot to reach any part of the cleaning path traveled, (2) fully extends along the forward leading edge and sides of the cleaning robot to enable the cleaning cloth to reach to walls, along furniture, into corners and under low objects, (3) provides a large surface at the bottom side of the cleaning pad for maximizing the floor area covered by the cleaning cloth, (4) maintains maximum contact between the cleaning cloth and floor by utilizing the cleaning pad itself as primary suspension point for the robot, and (5) minimizes the size of the drive portion of the cleaning robot relative to the size of the cleaning pad, to enable the overall robot to be small and capable of maneuvering in tight spaces a larger robot could not reach.
In this embodiment, the cleaning robot is designed utilizing the cleaning mechanism (or apparatus) as the base module in the mobile robotic platform, and then optimizing the remaining elements to complement the function of the cleaning apparatus.
This robotic cleaner configuration has additional advantages, which include, but are not limited to: (6) providing a form factor where the front of the robotic cleaner mimics the cleaning pad found on conventional manual cleaning mops that use an attachable cleaning cloth; (7) being compatible with standard size cleaning cloths sold for manual cleaning mops widely available on the market; (8) providing users an immediately familiar design that communicates its function; and (9) closely following a normal use pattern for attaching and removing cleaning cloths.
In an embodiment of the invention, a primary cleaning mechanism or assembly is a cleaning pad holding a dry or wet cleaning cloth. In alternative embodiments of the invention, the function of the cleaning mechanism (or apparatus) is changed, but the core cleaning robot configuration remains the same. In one alternative embodiment of the invention, a forward cleaning mechanism is included having a powered rotating brush and dust collection bin, which is in a rectangular form like the cleaning pad described in this invention. In this embodiment of the invention, the cleaning mechanism has one or more rotating brushes along the front leading edge, and one or more dust bins located behind the cleaning brushes in front of the wheels of the cleaning robot.
In another embodiment of the invention, the cleaning mechanisms or assemblies are detachable and swappable, so that a cloth cleaning pad holder can be removed from the robot and replaced with a compatible cleaning module that features, for example, the powered rotating brush and collection bin. In this embodiment, the compatible cleaning module may have both a physical interface for locking and unlocking with the rest of the cleaning robot, as well as an electrical interface for providing power from the cleaning robot to the compatible cleaning module, as well as provide any data communication between sensors located on the cleaning module and the robot's main computing unit.
In another embodiment of the invention, the cleaning assembly may support an automatic cloth changing function to allow the robot to operate for longer periods of time before requiring action from the user. In one embodiment of this function, the user may load multiple cleaning cloths onto the robot cleaning assembly, and the robot can mechanically remove a cleaning cloth to change to a fresh one. The trigger for removing a cleaning cloth may include but is not limited to: duration of cleaning time for a given cloth, amount of area covered with a given cloth, and/or sensing of the amount of dirt built up on a cloth, such as through utilizing a reflective light sensor position near the cloth. The user may have options for setting when and under what conditions the cloth is removed. The main body of cleaning robot may include cleaning cloth software, located in memory in a microcontroller or in a separate memory, that identifies when a cleaning cloth needs to be removed. Alternatively, the cleaning assembly may include a sensor which is connected to the microcontroller in the main robot body that identifies an amount of dust built up on a cloth and transfers such information to the microcontroller.
The mechanism for removing a cleaning cloth by the robot may include but is not limited to: having a motorized hook on the robot, such as a hook or set of hooks on a tread that rotates over an area of the cloth to grab the outer cloth and pull it back into a storage area on the robot, leaving a fresh cloth exposed to continue cleaning. In another embodiment of the invention, the cleaning robot may drive to an external pad changing device, where the robot drives to physically dock with the pad changing device, and the pad changing device includes a mechanical hook or set of hooks that make contact with outer cloth to remove it, either through powered rotation of the hooks to pull the cloth off, through a process of have the robot drive back away from the device as the hook or hooks on the pad changing device statically pull the cleaning cloth of the cleaning pad, or a combination of the two systems.
In another embodiment of the invention, the cleaning mechanism may include a cleaning cloth which is stored on a roll, where the cleaning cloth is fed from out of the roll, transitions across the bottom surface of the cleaning pad, and into a collection mechanism. In an embodiment of the invention, the collection mechanism may be a rotating dowel, which pulls on the cleaning cloth as it turns, and advances the cloth roll so that the section of the cloth that has been exposed to floor surface beneath the pad may advances to allow a new clean section of the cloth to be used. This mechanism allows the robot to roll a section of cleaning cloth as it becomes dirty off the pad and replace it with a clean section. In embodiments of this invention, the trigger for advancing the cloth may include but is not limited to duration of cleaning time for a given section or area of the cloth, amount of area covered with a given section or area of the cloth, and/or sensing of the amount of dirt built up on a section or area of the cloth, such as through utilizing a reflective light sensor position near the section of the cloth exposed to the floor. The user may have options for setting when and under what conditions the cloth is advanced. In an embodiment of the invention, the cleaning cloth roll may be attached by the user as a roll that loads into the cleaning mechanism, where the user feeds the roll onto a collecting spool included in the cleaning mechanism. In an embodiment of the invention, the cleaning cloth roll may be packaged within a cartridge with contains both the original roll and a collection spool for advancing the cloth material and rolling up the used material, along with mechanical and/electrical connections which allow the robot to control and advance the roll.
Embodiments of the invention as well as additional embodiments using alternative cleaning mechanisms or modules are disclosed below.
In an embodiment of the invention, the cleaning assembly 11 is not removable (or detachable) from the main robot body 12, but the cleaning assembly 11 may slide out forward a few centimeters from the robot drive body 12, like a drawer. In this embodiment of the invention, the cleaning assembly 11 may be pulled away from the robot drive body 12, and a user may drape one end of the cleaning cloth around the rear of the cleaning assembly 11 and lock it into the rear cloth holders (e.g., 19c and 19d of
In another embodiment of the invention, the cleaning assembly may open a gap up between the cleaning assembly and a robot shell in a different type of configuration than sliding out, but with the same effect of creating a gap for attaching and removing the cleaning cloth. This embodiment of the invention may include having the cleaning assembly pull out at an angle relative to the robot shell, such as in a direction that combines downward and forward movement relative to the shell rather than strictly forward movement relative to the shell. In another embodiment of the robotic cleaner, the cleaning assembly may swing open from the rear of the cleaning assembly, with the cleaning assembly pivoting at a forward point near the front of the shell, and the rear of the cleaning assembly drops below the level of the wheels to open up a gap for attaching and removing the cleaning cloth along the rear of the cleaning assembly.
In an embodiment of the invention, the cleaning assembly 11 is comprised on a hard, flat plastic top 16 and a soft rubber bottom pad 17 for holding the cleaning cloth to the floor. The soft rubber bottom pad 17 extends around the bottom and lower edge of the plastic top 16 to provide a surface for the cleaning cloth to wrap around the sides. The soft rubber bottom pad 17 also provides a flexible edge for when the robotic cleaner makes contact with walls, furniture and other obstacles. This configuration of the cleaning assembly 11 is similar to the standard placement of cleaning cloths on manual mops, and provides all the of same cleaning advantages provided by exposing a broad bottom surface area as well as side edges as part of the cleaning cloth. For example, it allows the cleaning assembly 11 to reach into corners, along walls, under and around furniture and other objects.
As illustrated in
Returning to
The robot drive body is covered by a shell 29 (in
The shell 29 may also provide a critical function relative the cleaning assembly 26, in that in closes off any open gaps or catch points between cleaning assembly 26 and the rest of robotic cleaner 20 when the cleaning assembly 26 is in the closed position. If open gaps were exposed, the robotic cleaner 20 may catch on wires or other objects and get tangled. As illustrated in
If the cleaning assembly is in the closed position, the cleaning assembly and shell are rigid relative to one another and form a unit that moves together. If the cleaning assembly is lifted, the shell moves with the cleaning assembly. This robotic cleaner configuration also applies weight and stability to the cleaning pad. For example, if the cleaning robot drives into an obstacle and a force pushes on the cleaning assembly in a direction where it would push the front of the cleaning assembly down and the rear of the cleaning assembly up, the weight of the shell and the resistance of the spring holding the shell over a rear drive assembly of the robotic cleaner would provide leverage for counter-acting that force.
In another embodiment of the robotic cleaner, the cleaning assembly may be designed to freely pivot in one or more directions relative to the shell. The cleaning assembly may freely pivot relative to the shell because there is no rigid connection between the cleaning assembly and the shell. Rather, the two components (i.e., shell and cleaning assembly) would be joined by a pivot joint that provides the desired movement in one or more directions. In this configuration of the robotic cleaner, a gap around the top and the rear of the cleaning assembly with relation to the shell would be present, to allow space for the cleaning assembly to move, such as to tilt up and down (or move side-to-side). In this embodiment of the robotic cleaner, a flexible gasket or skirt on a surface of the shell around or near the cleaning assembly may close off the gap, while still allowing the cleaning assembly to move, and this may present the gap from becoming a catch point for dust or other debris.
If the cleaning assembly and shell lock or close together, a robotic cleaner drive system including the two wheels is designed to move independently relative to the cleaning assembly and the shell. This configuration allows the wheels to maintain contact with the floor regardless of the cleaning assembly position. To achieve this freedom of movement and maintain all three areas on contact on the floor, the drive system may be connected to the shell and cleaning pad through a pivot joint assembly.
Also connected to the pivot joint 91 is a center bracket 93 which connects to the drive box 95. The drive box 95 is connected to the left and right wheels 96 and 97, to form the inner drive assembly. The internal motor assemblies supporting the wheels 96 and 97 (e.g. motor, gearbox and drive shaft,) in an embodiment of the invention, are mounted rigidly to the drive box 95, allowing for strong traction and stability when travelling over the floor.
This configuration, in combination with the pivot joint 91, allows the drive assembly to lift up and down relative to the cleaning assembly (as would be seen from a side view), as well as roll relative to the cleaning assembly 94 (as would be seen from a rear view.) This mechanical configuration provides a simple but highly effective gravity based suspension system, where the any one of the 3 areas of contact (i.e., wheels 96 and 97 or cleaning assembly 94) on the floor can lift or fall relatively freely without impacting the other areas of contact.
In this embodiment of the invention, the shell is locked with the motion of the cleaning assembly, and room is provided within the shell to allow for movement of the drive assembly. A spring 98 provides support for the shell in the rear of the robotic cleaner over the drive box 95. In an embodiment of the invention, the spring 98 is set along center axis of the robot so that the shell can “float” over the drive assembly without putting much resistance on the ability of the wheels 96 and 97 to move up and down within the shell. The broad width of the cleaning assembly 94 over the floor provides additional stability to the shell, so while the drive box 95 and wheels 96 and 97 may twist within the shell, the shell itself stays very level because it is stabilized by the cleaning assembly 94.
In this embodiment of the invention, the shell can compress over the drive box 95 when pressed down from a force external to the robotic cleaner. This has two advantages. First, the shell may lower down if the robotic cleaner travels under low clearance furniture and this may avoid the robotic cleaner getting wedged in place. In addition, a limit or contact switch 99 may provide detection if the shell compresses below a certain safety point, triggering the robotic cleaner to reverse its course before it gets wedged.
The ability of the shell to compress on the rear spring 98 also provides room for the shell to drop if the shell is stepped on or has something dropped on top of it. In an embodiment of the invention, a rubber pad is placed along the bottom of the shell at the rear handle 24 (see
A post at the back of the drive box can fit into a slotted guide rail along the rear inner shell (in front of a handle recess) for keeping the drive box aligned in place along the cleaning robot axis. This post and rail may also provide a drop limit for setting how far the drive box and wheels can fall away from the shell. In an embodiment of the invention, the post can be set so that it compresses that spring with some tension when the shell is in its level position, providing for a firmer hold on the shell, but still provide some degree of freedom in the drive assembly. In another embodiment of the invention, the post and rail can be set with adequate clearance, so that in the level position, the shell is lightly resting on the spring, and the drive box has free room to drop without interference.
In another embodiment of the invention, the placement of the post and/or bottom limit may be adjustable by the user through a mechanical interface, such as a sliding switch with different preset positions. By using a sliding switch with different preset positions, a user may adjust the tension and freedom of movement of the robotic cleaner to optimize the suspension for their environment. In addition, in an embodiment of the invention, one or more limit switches may be used to detect if the wheels have dropped as an added safety measure to turn the motors off if a wheel loses contact with the floor surface or detect that the user has lifted the robot up.
In addition to mechanical design of the robotic cleaner, the sensory system is also important to allow the cleaning pad to be fully exposed and not fit within the traditional designs of robotic floor cleaners.
In an embodiment of the invention, one specific design consideration is that the cleaning cloth of the cleaning assembly fully cover the leading edge of the cleaning assembly. The cleaning assembly and cleaning cloth are designed to have the cleaning cloth make full contact with walls and objects in its path, and thus there is no room for mechanical devices such as bumpers or feelers obstructing the cleaning cloth. Further, it is difficult for there to be proximity sensors placed in the cleaning assembly in any way where the cloth may cover them. This also applies for ease of use, so that the users do not have to work around any mechanisms when placing the cloth on the cleaning assembly.
By comparison, traditional robotic cleaners use simple contact sensing devices to detect obstacles, such as a bump sensor, mounted on the leading edge of the main robot body. Additionally, the same robots may also use one or more IR distance sensor or other type of proximity sensor placed along the leading edge of the robot to detect obstacles in the robots path and help avoid them. This placement of sensors along the leading edge of the robot is a very common design, and is in part one of the factors that drives these standard robots to place the cleaning mechanism within the robot body, so that its design and operation does not interfere with the sensors.
In the cleaning mechanism-centered approach described herein, alternative sensors or sensing techniques may be utilized to detect obstacles or drops in surface levels. For bump detection (or detection of obstacles), the robot's main controller (MCU) may detect increases in the motor current, which generally means that the robotic cleaner has hit an obstacle and the wheels are generating additional load on the motors while attempting to still move the robotic cleaner on its desired course. In an embodiment of the invention, a current sensor may transmit this information to the MCU. For wet cleaning application, where the wheels may slip too easily due to loss of traction, in order for enough current load to be detected, an accelerometer may be added to supplement the robotic cleaning system to detect changes in movement without relying on the wheels. The accelerometer may transmit information to the MCU. In both embodiments of the invention, the sensing function is delivered by internal systems within the robot, thus minimizing the external constraints on the robot's exterior design.
In another embodiment of the robotic cleaner, a gyroscope may be used to enhance the functionality of the robotic cleaner while maintaining its non-traditional design. Most traditional robotic cleaners include some type of edge cleaning behavior, often referred to as wall following. In wall following, the traditional configuration was to use side mounted IR proximity sensors to allow the robot to follow parallel with the wall, but just slightly away from the wall, to minimize bumping with the wall. In these traditional robotic cleaners, the bumping could trigger the robot's mechanical bump sensor as well as mark up the wall and furniture over extended periods of contact.
In the robotic cleaner described herein, where the cleaning pad is fully exposed and set to be wider than the shell of the robot, the function for edge cleaning requires that the cleaning robot purposely engages and rubs along the wall with the cleaning cloth wrapped around the sides of the cleaning pad, rather than avoiding the wall at a distance. In one embodiment of the invention, a gyroscope may be used to help perform this function, whereby when the cleaning robot makes contact with the wall, turns in one direction, and then drives with slightly more speed on the wheel opposite the wall, causing the side of the cleaning pad near the wall to plow in toward the wall and drive along it while cleaning. In this embodiment of the invention and under these conditions, the gyroscope may be used to help determine that the cleaning robot is maintaining a straight heading along the wall even through the wheels are purposely slipping to keep pressure against the wall.
In another embodiment of the robotic cleaner, the same approach may be used to clean along furniture and around obstacles, where the edge may not be a straight line. When the edge is not a straight line, the same plowing technique is used to hug along the furniture or obstacle, and the gyroscope provides information about the robot's amount of turn to the microcontroller (MCU) that allows the MCU to compare the estimated turn from the wheels tachometers and, and if there is a difference within a certain threshold, determine the presence of surface providing a resisting force.
In another embodiment of edge cleaning, the robotic cleaner may leverage the flat shape of the leading edge of the cleaning pad to align perpendicularly with walls and other straight surfaces such as area rugs, and the gyroscope is used to then turn the robot 90 degrees to clean in a direction parallel with the wall or the area rug.
In another embodiment, the gyroscope can support the robotic cleaner functionality by also supplementing the bump detection system, (especially on a wet surface). The gyroscope may indicate that the robotic cleaner may be twisting when one side of the pad hits an obstacle. The information from the gyroscope may be provided to the microcontroller (MCU) which would instruct the drive assembly to operate and have the cleaning robot to avoid the obstacle. This would allow the wheels to continue to spin and drive the cleaning robot to skid around the obstacle if desired. In a similar application, the gyroscope may indicate that the robot is not turning when it gets blocked by an obstacle on a turn, and the wheels are continuing to spin.
In another embodiment, the microcontroller (MCU) may make use of the robot's geometry in combination with the gyroscope to determine the general location of an obstacle. As one example, by having a straight and wide leading edge to the front of the robot (as the cleaning pad and cleaning assembly provide), and having the wheels nested in narrower than the width of the cleaning pad, the robot will experience different rotational forces when it hits an obstacle based on the location of the obstacle. For example, if the cleaning robot drives into a chair leg where the right side of the cleaning pad makes contact with the chair leg, the placement of the wheels will create a tendency for the opposite side of the robot to rotate forward and the right side is held back by the chair leg. If the cleaning robot hits the chair leg on the opposite side of the pad, the rotational force with be in the opposite direction. And if the robot hits the chair leg in the middle of the cleaning pad, the rotation force will be centered and canceled out. By measuring the degree of turn when contacting an obstacle, the gyroscope may allow the microcontroller (MCU) to estimate the position of the obstacle relative to the robot, and use that as input to plan a path around the obstacle or perform other maneuvers. This approach provides the benefit of what would normally require a segmented bumper or multiple proximity sensors in the front of the robot to determine obstacle location, without the need to use such sensors and keep the leading edge of the cleaning assembly free of obstructions. In embodiments of the invention, a similar method may be used to detect obstacles along the sides or rear of the cleaning robot based on the resisting rotational force created by the contact with the obstacle. In embodiments of the invention, back current from the motors, wheel tachometer input, accelerometer input and/or other sensors feedback regarding the cleaning robot's motion may be incorporated to assist in detecting contact with an obstacle and/or to help in measuring the direction of the resistance force from the obstacle.
In an embodiment of the invention illustrated in
Because the weighted object 101 is mounted toward the middle of the cleaning assembly relative to the points where the cleaning cloth wraps around the forward and rear edges of the cleaning pad, the natural play (or travel) in the cloth material allows the weighted object 101 to drop even when the user wraps the pad tightly on top. In an embodiment of the invention, a small amount of flexible material may be permanently affixed over the drop sensor 101 and 102 to provide a sealed barrier for preventing fluid from a wet cleaning pad or dust from seeping into the cleaning assembly through the opening around the drop sensor 101 and 102.
The drop sensors 136 are designed to detect sudden drops in the front of the robotic cleaner such as stairways and other types of ledges. In an embodiment of the invention, the drop sensors 136 may also detect if the cleaning assembly is lifted up from the floor, such as if the robot drives onto the edge of a rug or other low object, as a means to avoid driving onto those areas. A motor control module 133 is an electronics assembly or circuitry for controlling torque, speed and direction of rotation of the DC motor. The motor control module may be an H-Bridge which is utilized for controlling a brushed DC motor. The current sensor 134 may provide current feedback to a control algorithm for the DC motor. In an embodiment of the invention, the control software may be located in memory in the microcontroller 130. The encoder 134e provides speed and direction of rotation feedback for the control algorithm of the DC motor. The user interface buttons 135 are located on the robotic cleaner. The user interface buttons 135 include buttons for power on/off and cleaning mode selection. The LEDs 135a are light emitting diodes for providing visual feedback to a user. The LEDs may provide feedback on battery status, charging status and cleaning mode types.
The robotic cleaner may include a buzzer 135b. The buzzer is a speaker for providing audio feedback to the user.
In an embodiment of the invention, a robotic cleaner may include a gyroscope 137. The gyroscope 137 may sense changes in the robotic cleaner's orientation. In an embodiment of the invention, the robotic cleaner may include a sweep generator 137b. The sweep generator 137b is a circuit that provides a calibration circuit for an analog-to-digital converter. In an embodiment of the invention, the robotic cleaner may include a 2D accelerometer 138. The 2D accelerometer 138 is a sensor for measuring sudden changes in robot velocity. The 2D accelerometer may measure changes in velocity in two directions. The 2D accelerometer 138 assists in detecting bumping into obstacles and detecting robot kidnapping, e.g., when a robotic cleaner is picked up and moved by the user. The 2D accelerometer provides any detected change in velocity information to the MCU 131. For example, when a robotic cleaner bumps into an obstacle, the velocity of the robotic cleaner changes rapidly and the 2D accelerometer detects these changes. Similarly, if a user picks up a robotic cleaner, the accelerometer may detect a slowly changing velocity (or acceleration) caused by gravity and the user motion.
In an embodiment of the invention, the robotic cleaner may include a NorthStar® sensor 139. The NorthStar® sensor provides absolute position of the robotic cleaner relative to one or more infrared spots projected onto the ceiling or other surfaces above the robot by one or more external projecting devices and supplies this information to the MCU 130 for utilization by navigation software. In an embodiment of the invention, NorthStar® sensor may also detect and track the position of a line-of-sight infrared beacon or beacons powered by one or more external devices. In an embodiment of the invention, a wide spot NorthStar® point source infrared LED 139a may be located on the robotic cleaner in combination with the NorthStar® sensor 139. The refection from the wide spot NorthStar® point source infrared LED 139a as measured by the NorthStar® sensor may provide information about the environment such as proximity and direction to walls, furniture and other large objects. In an embodiment of the invention, a narrow spot NorthStar® focused infrared LED 139b may located on the robotic cleaner in combination with the NorthStar sensor 139. The reflection from a narrow spot NorthStar® point source LED 139b as measured by the NorthStar® sensor may detect when the robotic cleaner is driving under low hanging surfaces such as chairs, beds, sofas and tables. In an embodiment of the invention, the sensor readings from the wide spot LED 139a and/or narrow spot LED 139b may be used to identify specific locations within a room or area of a home either by the value of the measurements themselves, or in combination with other sensory data relative to a location within a room or area of a home.
The cleaning module 207 may house left and right battery bays 205. The proximity sensors 206 may be an option and may be utilize for forward, side and downward views.
An embodiment of the invention may include a robotic cleaner and a docking station according to an embodiment of the invention. The docking station may include a NorthStar® Room Projector, a foldable ramp, a pad removing strip, a used pad storage well, a secondary navigation beacon and charging connectors. The pad removing station takes used pads off of the cleaning module of the robotic cleaner. The charging connectors may dock with a rear section of the robotic cleaner.
The robotic cleaner may also include a front mounted retractable sensor bumper or bumpers 225.
The following section describes the design and functions of cleaning robot platform. This robotic cleaner platform can executed in a variety of embodiments, which include but are not limited to: a cleaning robot with a single purpose cleaning mechanism, a single cleaning robot with two or more cleaning mechanisms, and cleaning robot which is compatible with a variety of detachable cleaning accessories, or a combination of the above. An embodiment of a robotic cleaner shown as an example in includes:
Additional sensors may integrated with the robot based on the desired functionality, which is described in more detail below.
The robotic cleaner may include additional modular options. Additional modular options for an embodiment of the robotic cleaner may include but is not limited to:
Some of the robotic cleaner configurations utilize expanded sensor capabilities. Design executions of the robot and/or cleaning module may additional sensor configurations for enhance performance, where embodiments of the additional sensor configurations include but are not limited to:
One option for a design execution of the robot cleaner addresses the problem of placing the cleaning module, material and/or mechanism in the front of the robot, to enable it the module and reach all the way to walls and edges around obstacles, while at the same time wanting to detect obstacles and/or avoid falling over edges and stairs. In a conventional cleaning robot, sensor mechanisms are placed in front in maximize detection of obstacles and hazards. These sensors usually include a bumper sensor, IR or sonar proximity sensors and/or IR drop-off sensors. The cleaning mechanism is traditionally placed behind these sensors, limiting how far it reaches when the robot comes into contact with a wall, obstacle and/or other hazard.
As an alternative embodiment, a possible design that can be integrated in this base configuration is a retractable drop-off, wall and/or obstacle detection system. This option can be used independently and/or integrated with the use of other sensors placed in other locations of the robot, such as on the sides and/or the back of the robot to provide additional capabilities and/or protection. This system can consist of but is not limited to the following design:
One or more bumpers than extend over the front edge of cleaning module and/or over the sides of the cleaning module, where the bumpers retract over the cleaning module and/or get pushed in (such as through a spring and/or other tensor mounted mechanism) when they come into physical contact with wall, object and/or obstacle, and return to their neutral position when the robot moves away from the obstacle.
Where when pushed in, the bumpers allow the cleaning module and associated cleaning material and/or mechanism make full contact with the floor to the edge of the wall, objects and/or other obstacles, and/or if needed, may make contact to clean the vertical base of the wall and/or other objects as well.
The bumpers include one or more sensors that, when the bumpers are extended, the sensors can see past the edge of the cleaning module and be used for one or more of the following tasks, which include but are not limited to:
Embodiments can include but are not limited to contact switch mechanisms which detect the change in position and/or retraction of the bumper.
Other embodiments can include but are not limited to use of the function of the integrated sensor, to detect that the bumper has been pushed in. Examples include using the change in readings from an edge detection sensor, proximity detection sensor, motion tracking sensor and/or other sensor to detect that the sensor is in the retracted position, as well as any combination of the above approaches.
Where the placement of the bumpers and integrated sensors in the neutral position provides for protection of having the robot go too far over an edge before being able to correct its path. Embodiments of this sensor system can include but are not limited to:
In an embodiment of the invention, the cleaning module is designed to be wider than the wheel base, so sensor placement could either be on the sides of the cleaning module, and/or on the front leading edge on the left and right sections of the cleaning module that extend past the wheel base.
Another embodiment for drop-off detection can include but is not limited to having the drop-off sensor built into the underside of the cleaning module in the desired regions needed to protect the robot from falling over edges and/or down stairs, but modifying the sensor design to work in the specific conditions of the cleaning mechanism, such as being able to function when covered by a cleaning pad, cloth or other material.
In one embodiment where the robot has a cleaning cloth or pad attached to the base of the cleaning module for cleaning floors, the drop off sensors could project a signal through the cloth or pad material, and be calibrated to account for the disruption of the signal passing back and forth through the material, and using a range of thresholds, detect when the sensor was travelling over a drop-off area. This calibration could be pre-calculated and/or dynamically adjusted based on environmental conditions and/or the specific material used for the cleaning task. In one embodiment, this could be performed as an auto diagnostic, which may or may not involve having the robot drive around to calibrate, and/or having the robot travel to controlled environment such as on a base station, that allowed it to calibrate thresholds for the presence and/or absence of contact with the floor. Another embodiment can include but is not limited to using the sensor readings to also assess the amount of dirt and/or other material built up on the cloth or pad, and/or the amount of dirt and/or material being picked up in a specific areas of the floor, in order to enhance the robot's cleaning performance and/or provide user feedback.
Additional embodiments of robotic cleaners may include different product concepts or design elements that can be use used in combination with systematic and/or non-systematic localization systems to enable intelligent cleaning. The range of possible embodiments includes but is not limited to the concepts, functional elements and/or design elements listed below, or combinations thereof.
Key Functional Attributes may include low-cost mobile robots, each designed for a specific cleaning task or select set of task (simple but effective cleaning mechanisms & accessories), which are fast, agile, lightweight, quiet and have super smart navigation and control system for systematic cleaning
The design attributes may include an open/organic design. Aspects of the robotic cleaning device should echo the functional elements of everyday household cleaning products and appliances to help communicate purpose and function to consumers.
Additional design attributes may include that 1) the robotic cleaner should appear much less bulky than existing robotic cleaning products on the market, such as Roomba® (less mass); 2) the robotic cleaner be much more sportier, faster, agile, (e.g., if Roomba® is a minivan, the robots described herein are sports cars); 3) it is ideal for the robotic cleaner to stay low to the ground for clearance and reach; and 4) that the active cleaning function for each robot is a “hero” feature (takes prominent focus).
For effective coverage, the robot may need to be as large as 10 to 12 inches in width for medium-scale robots. Small-sized robots would emphasize speed and ability into tight spaces. The drive system for the robotic cleaners may be placed in rear, an should feel smaller in proportion (e.g., have a narrower footprint). The drive system may have either two rear wheels or two tank treads that fit within the curved boundary. The drive system of the robotic cleaner may be driven by off-the self batteries (e.g. 4-8 AA) and may be rechargeable.
Structure can extend on sides to provide part of forward structure as well (fenders)—such as for mounting stair and wall detection IR sensors. Some designs of the robotic cleaner may connect front and back on some of the robots with flexible joint/swivel, e.g. for reaching into corners with the pad cleaner. Any external edges of the robot made of solid plastic should be curved to avoid catching on objects as robot turns. The robotic cleaner may have ways for front cleaning devices to be flexible, at least on leading corners, e.g., making the ends for cleaning pad holder be flexible rubber so the pad lifts up as it rubs along something
Other components of the design for a robotic cleaner may include: 1) NorthStar navigation sensor would go on high-point on top of drive system; 2) the robotic cleaner has power leads for docking with recharging station, which are most likely towards rear of chassis, and possibly underneath.
Medium-sized robots or robotic cleaners may include, but are not limited to: a floor sweeper, a dry pad cleaner, a web pad cleaner, a combination vacuum with dry pad cleaner, a robotic floor polisher/buffer, and a robotic floor scrubber.
The Floor sweeper may include a rotating brush with rear bin. The floor sweeper is:
Two executions of the floor sweeper may be implemented including a horizontal roller brush or two counter rotating brushes.
Accessories for the floor sweeper include:
Another medium robotic cleaner is a dry pad cleaner for hardwood and tile floors. The dry pad cleaner may include features such as:
There may be three executions of the dry pad cleaner:
Accessories for the dry pad robotic cleaner may include:
The robotic cleaner may also be a combination vacuum with dry pad cleaner for cleaning hardwood and tile floors. The combination vacuum with dry pad cleaner is:
One execution of the combination vacuum with dry pad cleaner is: V1: Combination of design D1 of the dry pad cleaner with a vacuum in front of pad
The medium sized robotic cleaner may also be a wet pad cleaner for hard surface floor. The wet pad cleaner is:
An embodiment of the invention may be a robotic floor scrubber which is designed for deeper wet cleaning of durable hard surface floors (especially kitchens and baths). One execution of the robotic floor scrubber is:
Another embodiment of the medium robotic cleaner may be a robotic floor polisher/buffer which is designed as finishing step as means for adding protective coating/enhancing shine of hard floor surfaces
One execution of the robotic floor polisher buffer may include:
There also may be micro robotic cleaners which are smaller than the medium robotic cleaner. In other words, micro robots are small robots for smaller tasks. The micro robots may be half to one third the size of medium-scale robots. The micro robots may have different configuration of NorthStar®, where the sensor is placed in center base unit and beacons are on the robotic cleaner. The micro robot may or may not need to auto-dock. Examples of the micro robots include, but are not limited to: Table top robotic cleaner
The table top robotic cleaner may be designed to clean up dinning tables, coffee tables, small floor areas (e.g. spot cleaning).
One execution of the table top robotic cleaner includes:
The mini wet floor robotic cleaner is designed to clean up small bathrooms, spots in kitchen or spills. The mini wet floor robotic cleaner gets in corners and behind things.
Two executions of the mini wet floor robotic cleaner include:
Other accessories for the mini wet floor robotic cleaner include:
The mini dry floor robotic cleaner/duster is designed to get into hard to reach places (behind furniture) and cover corners and base boards
Two executions of the mini dry floor robotic cleaner/duster:
The goal of the navigation system described in this invention is to provide the full benefits of systematic cleaning in unstructured environments, but at a significantly lower cost to make the products affordable to the mass consumer market.
In an embodiment of the invention, this goal is achieved by cleaning in a region by region approach, where the robot systematically cleans one section of a room or an area of a home at a time though the use of a local map and local sensory position system, and then moves on to clean additional regions. The reduced size of the region allows for lower cost sensors to be used, where the size of the region is set so the robot is able to track its position through the region before the normal accumulation the noise and drift from the sensors causes the robot to lose its position.
In an embodiment of the invention, the system supports the use of dry and/or wet consumable cleaning cloths, where the regional cleaning approach enables the robot to use of the cloth to clean in a even progression through the room, so that if the user changes the cloth during the cleaning process, the fresh clean cloth is generally used to clean new areas of the floor, as opposed to clean areas already covered.
In an embodiment of the invention, the robot uses a global positioning system in combination with the local positioning system, to arrange the regions to ensure good overall coverage of the room or area of the home, so that target areas set by the system are reached. As with the local positioning system, the sensors for the global positioning system are cost optimized so that the range, accuracy and reliability of the global system is effective enough for being able to provide adequate overlap of the local regions, but is not required to maintain highly accurate global position by itself throughout the full room or area of the home.
These functions are accomplished by using a cleaning strategies and software algorithms that work with a unique combination of low cost sensors and components.
In an embodiment of the invention, the combination of sensors and components includes any or all of the following elements: a low cost IR-base global localization sensor mounted on the cleaning robot; a low cost IR projector built as a separate physical device from the robot which projects an IR light spot (or spots) which the robot can detect; wheel tachometers which are connected to the drive motors of the robot; motor current sensing connected to the drive motors of the robot for sensing when the robot has contacted obstacles through feedback detected in the resistance on the wheels; and a gyroscope mounted on the robot. An example of the NorthStar® system and its potential functions is described in NorthStar patent application Ser. No. 11/090,621, filed Mar. 25, 2005, Additional capabilities and configurations are also described in Robotic Game patent application Ser. No. 12/234,565, filed Sep. 19, 2008.
The system may include a variety of configurations for the IR projector. Embodiments can include but are not limited to a battery powered unit, a wall pluggable unit, or a combination of a wall pluggable unit which is also battery operated. The projector has one or more IR LEDs that project IR spots on the ceiling which the NorthStar sensor can detect to localize its position. In an embodiment of the invention, the projector may have three, four, five, or more spots at different frequencies pointed at different directions to expand the range for detecting the signal, where the sensor may also localizes on at least the two of the spots to determines its location. Utilizing this approach, the sensor may select different spots which provide better location information, such as by selecting spots that have an optimal orientation relative to its position for calculating the robots location, and/or selecting the spots based if their signal intensity to provide for the best signal to noise ratio. In an embodiment of the invention, two or more IR projectors may be used to expand the range of coverage by projecting IR spots at different IR frequencies in different areas of the room or home, including but not limited covering different rooms or areas in the home to enable room-to-room cleaning and navigation.
In an embodiment of the invention, the cost of sensors and components is so reduced that none of the sensors or components provide enough reliable information by themselves to provide the full solution, but when used in combination with each other and the cleaning strategy, the overall system can deliver system cleaning that is far more effective than random cleaning robots, and as effective or more effective as more complex and expensive navigation systems.
Alternative sensors may be used in alternative embodiments, which may include but are not limited to: accelerometer for another means of detecting with the robot has made contact with obstacles; IR proximity sensors for detecting obstacles and following along walls and obstacles, drop sensors for detecting if the robot is about to go over a ledge, and/or other sensors that may support the navigation of the robot, such as referenced herein.
In an embodiment of the invention, the local cleaning behavior can be implemented in the following configuration. The robot uses a gyroscope and wheel tachometers to track its location within a local map of the region, where the tachometers enable the robot to plot its position on the map based on distance traveled, and the gyroscope enables the robot to correct for the drift in tachometry as the robot turns to provide better accuracy of the robot's direction and position in the local map. Detection of obstacles and other location-based sensory information may be included in the local map for us in plotting areas to clean, path planning around obstacles, exploring for new regions and uncovered areas, and closing off areas marked as completed.
In an embodiment of the invention, the robot initially cleans following a rank pattern of parallel rows progressing across the room in one direction. The robot utilizes the gyroscope to make even 180 degree turns and maintain the parallel orientation of the rows, where the angle is close enough between rows so that the rows overlap and minimize any gaps not covered between the rows. As the robot turns from one row the next row, the alternation between left and right turns helps counteract internal gyroscope drift and extend that pattern for a longer period of time (and thus larger area.) The robot uses wheel tachometry for measuring the length of the rows, and with correction from the gyroscope and detection of obstacles from other sensors, builds a map of the region.
In embodiments of the invention, the robot may be programmed to clean along a row and then turn onto the next row until one or more events occur, which may include: reaching an obstacle; reaching a maximum row length; attempting to follow around an obstacle or obstacles until the robot has traveled a minimal amount of distance along the row; attempting to follow around an obstacle or obstacle based on the position relative to the prior row; attempting to follow around an obstacle until a maximum number of obstacles are hit; and/or reaching and end boundary of the target region with the robot's internal local map.
In an embodiment of the invention, the robot can make a full sweep though the region, and then use algorithms that identify areas that have not yet been cleaned in the local map to have the robot navigate to those areas and clean them and update the map while localization is still reliable. The robot may also close of any frontiers determined to be blocked by obstacles as non-cleanable areas. Boundaries along the perimeter of the cleaning region which are not blocked off by obstacles may also be stored on the map and used later in determining adjacent regions to clean.
In embodiments of the invention, the robot sets limits for the maximum length of the rows and the number of rows allowed within a region so attempted area of coverage stays within the tolerance allowed for accumulated error and drift from the combined readings and corrections of the sensors. The limits can be set through a number of means, which include but are not limited to: fixed value for either the length of the row and/or the number of the rows; a dynamic setting to one or both of the dimensions based on the environment, such as if the robot detects the cleanable area to be narrow and wide, and thus able to be completed with more rows, but at shorter lengths; a measure of time or area traveled; and/or though feedback on the sensor drift through comparison of the values with other sensors, where the cleaning region size grows until the accumulated error reaches a threshold.
In an embodiment of the invention, once completing one region, the robot would re-localize its position using readings from the global positioning system (e.g. Evolution Robotics' NorthStar positioning system) and then plan the location for the next regional area of cleaning. This processing may include uploading data from the locally mapped area in the region to a global map, which fills in as the robot cleans more regions in the room.
In an embodiment of the invention, the global positioning system may track the progress of robot while it is cleaning the local region as a parallel process. In cases where the global positing system is determined to have a minimal level of reliability for that region, gaps of a certain size found in the global map may be copied down onto the local map to have the robot revisit and re-clean those areas if needed to provide for redundancy in the system.
In an embodiment of the invention, re-localization may be accomplished thorough a number of means in cases where access to reliable global position information is limited or not immediately available at the robot's current location. An example may include but is not limited to returning to a specific reference point (or one of many available reference points) where the robot can re-calibrate its position, plot the target location for the next cleaning region, and drive to that region to begin the next regional pattern. In the case where the global positioning system is used, the robot homes on the signal provided from the global positioning system until it reaches an area where it can plot a course to a reference point.
In the minimal case, the reference point may be in close range to a charging station or some other form of “home base” for the robot to use as starting location. The robot may use one or more emitted signals to home back to the charging base, and if needed, position itself relative to the base where its position and orientation are estimated to be at a high confidence level.
In an embodiment of the invention, the robot may also re-localize using information from the gyroscope, odemetery and other sensors are used to test for the reliability of a global positioning system, to dynamically determine when the global system is providing accurate enough information on which to re-localize. As one example, the local sensors provide readings for several samples over a certain time, and when the change in the global position reading matches the estimated change from the local sensors, then the robot can re-localize. As a fall back method, the robot may use the global localization system to return to a “safe point” where it has high certainty of its relative position without the need for additional or new validation from other sensors.
In an embodiment of the invention, the robot may clean in a regional method using a local map and input from local sensors (gyroscope and tachometers, etc.), and move from region to region without the use of global positioning system either for part or all of its operation during a cleaning run. In embodiments of the invention, upon the completion of one cleaning region, the robot may move to a new location to begin a new cleaning region through a number of means, which include but are not limited to: driving to an estimated location within the existing regional based on the local map and sensors, and begin cleaning a new region that extends outside the area of the existing cleaning region; driving to an estimated location outside the existing region based on use of the local sensors to reposition the robot and then begin a new cleaning region; and/or driving to a random location relative to the existing cleaning region and then begin a new cleaning region.
In embodiments of the invention, a number of techniques can be used to expand the regional area of cleaning and/or more efficiently organize the placement of regions based on the environment. In the case of using a low-cost global positioning system which may have limited range or only certain patches of coverage in a room, the regional cleaning pattern can be combined with periodic re-localization to allow for the regional pattern to run longer and over a larger area. As one example, if the center area of a room has a good global localization signal (such as emitted from an IR spot projector or other point source) the robot can align the cleaning pattern (such as parallel rows) so that the robot is passing in and out of the global area of coverage in the course of travelling through one or more of the rows (such as on the middle or at one of the ends of the row.) By recalibrating its position when the robot is in the global area of coverage, the robot can essentially re-set the drift to zero or some lower value, and rely on the local sensor to continue the cleaning pattern. This process can also be performed ad hoc, when ever a reliable global position signal is found.
In an embodiment of the invention, strategies for arranging the cleaning patterns may be used to further improve coverage of the regions and or entire area. As an example of a technique, the robot may do two or more passes over the same region or set of regions to ensure more though cleaning. This may include changing the primary direction of the systematic pattern between the passes to expose different frontiers between the passes and possibly extend into areas missed on the first pass. Examples may include but are limited to: having the robot clean the area in one direction in a single session, and then start over an redo the entire area in a different direction (either perpendicular or some other angle), where the room or area may be divided into different regions based the pattern and environment; have the robot do two passes over each region each time the robot is run, in either a perpendicular or other angle; or vary the angle in paired set, so that the robot pick a new angle on each cleaning, and then follows with a pass on a perpendicular angle. The benefit of these approaches is that they additional passes will likely remove additional dirt in the areas that are covered more than once—and possibly make the cleaning function work better across different grains in the floor surface—while providing much more even coverage than a random approach.
In an alternative embodiment of the invention, the regions can be more flexible and emergent based on the discovered areas. One example may include using mapping to expose open frontiers in global map after the first pass of a systematic cleaning pattern. The robot can then use that information to clean into the frontiers, and where new areas are discovered, repeat the systematic cleaning pattern and frontier selection process.
In any of the embodiments described above, the robot may also use perimeter cleaning (including wall following and obstacle following) to close off frontiers in the area covered by a systematic pattern, as well as initiates another area of systematic cleaning in new areas discovered. The perimeter cleaning could be done as a process within a region before the region is marked as finished, as a process across regions after multiple regions are visited, or as a combination of both within and between regions based on the size of obstacles found and the length the robot can travel along the wall without going to far from its target location.
New approaches, methods, designs, technologies and solutions for integrating localization, positioning and navigation systems to provide new and unique benefits and capabilities for mobile robotic-enabled products that need to operate in everyday environments. For illustration purposes, the specific embodiments described and illustrated in this document are described primarily in the context of mobile floor cleaning robots, where the benefits and capabilities represent a significant advance in performance over random, semi-random methods for floor cleaning and/or other methods employed by leading consumer robotic floor cleaning products on the market. A description of possible embodiments of robotic cleaning devices that could utilize localization, positioning and navigation systems includes but is not limited the products, concepts and designs described in the drawings.
The scenarios described herein using an infrared-based localization system, but may easily be enabled by devices that use other means for localization, including but not limited to devices that utilize visual pattern recognition, visible light detection, laser reflection, odemetery, optical navigation sensing, inertial sensing, thermal detection, motion detection, sound detection, radio wave detection, physical contact detection, proximity detection, magnetic field detection, electrical field detection, or any combination thereof. One embodiment of an infrared-based localization system would include the NorthStar® system from Evolution Robotics, which is cited in prior applications, namely U.S. patent application Ser. No. 11/090,621, filed Mar. 25, 2005, which is hereby incorporated by reference herein.
For the purposes of these descriptions, the application of localization, positioning and/or navigation systems includes but is not limited to: the ability to determine the position of one or more devices, objects, locations and/or boundaries within a physical space along one or more dimensions; the ability to provide partial information on the relative position of one or more devices, objects, locations and/or boundaries from one or more other points that is useful in the performance of an application; the ability to make estimates of position of one or more devices, objects locations and/or boundaries that are useful in the performance of an operation; the ability to guide one or more mobile devices and/or objects along a planned and/or unplanned course through one or more physical spaces; the ability to navigate between two or more objects, devices, locations, and/or boundaries within a physical space where information on the points between the devices, objects, locations and/or boundaries may or may not be available; the ability to store position information, identification and/or other indication of location of one or more devices, objects, locations, boundaries, paths, and/or areas of coverage for retrieval and use at a later point in time; the ability to map one or more represented locations, devices, objects, boundaries, paths, and/or areas of coverage for use in the performance of an application; the ability to detect and/or discover position information about one or more physical environments that is used to adapt and/or enhance the performance of one or more tasks within those environments; the ability to use position information to help identify and/or classify one or more environments to adapt the performance of one or more tasks within those environments; and/or the ability to directly and/or indirectly control one or more devices using the one or more of the above abilities and/or other abilities related to localization, positioning and/or navigation.
The implementation of the localization system may take a variety of embodiments, but can still enable the functions described herein. Examples of embodiments of the localization system include:
The sensor or sensors used by the localization system may be any component, set of components or integrated system that help provide the identification and/or any related position information of the various game objects. These sensor components and systems can include but are not limited to: infrared sensors; cameras, imagers and/or other visual sensors; laser range finders or other laser sensors, infrared detectors and/or emitters; wheel encoders or other odemetery sensors; optical navigation sensors; accelerometers, tilt sensors, gyroscopes, or other position and/or inertial sensors; thermal sensors; motion sensors; microphones, ultrasonic sensors and/or other sound sensors; RFID sensors and/or other radio sensors; contact sensors; proximity sensors; magnetic sensors; electrical field sensors; and/or any combination thereof. The system may take the raw reading from the sensors and/or involve processing of the raw sensor values either as part of the sensing device, as part of another processing device, or as a combination of processes.
Devices and/or objects can be designed to provide means for the sensors to detect them, through active and/or passive methods, as part of the localization system. Active methods can include but are not limited to the placement of beacons on one or more devices that emit a signal the sensors can detect and use to derive the identification and/or relative position information of the object. Beacons can include but are not limited to: infrared light emitters, infrared spot projectors, other visible or non-visible light emitters, laser emitters, thermal emitters, sound and sound wave emitters, motion emitters or devices that control the motion of objects, RFID or other radio emitters, magnetic emitters, electric field emitters, or any combination thereof. Passive methods can involve any approach where the sensors can detect one ore more object or devices without the need for a signal to originate from the object or device. These methods can include but are not limited to visual recognition of one or more objects or devices or a pattern on the object, reflected light detection of the object, recognition of the physical shape or construction of the object, recognition of motion of the object, or any combination thereof.
Additional examples of such and other embodiments, techniques and/or applications for employing a localization system may be found in Evolution Robotics' application for U.S. patent application Ser. No. 12/234,543, filed Sep. 19, 2008, which is hereby incorporated by reference herein.
The use of localization system to enhance the performance and capabilities of a robot or robotic-enabled device in tasks such as floor care and other localization-related applications as described earlier includes but are not limited to:
The ability for a robot and/or robots to clean with one of the above methods and/or other variations where the robot returns to one or more stations that allow it to refresh its cleaning mechanism (which may include) but is not limited to:
The invention may be implemented in hardware or software, or a combination of both (e.g., programmable logic arrays). Unless otherwise specified, the algorithms included as part of the invention are not inherently related to any particular computer or other apparatus. In particular, various general purpose machines may be used with programs written in accordance with the teachings herein, or it may be more convenient to construct more specialized apparatus (e.g., integrated circuits) to perform particular functions. Thus, the invention may be implemented in one or more computer programs executing on one or more programmable computer systems each comprising at least one processor, at least one data storage system (which may include volatile and non-volatile memory and/or storage elements), at least one input device or port, and at least one output device or port. Program code is applied to input data to perform the functions described herein and generate output information. The output information is applied to one or more output devices, in known fashion.
Each such program may be implemented in any desired computer language (including machine, assembly, or high level procedural, logical, or object oriented programming languages) to communicate with a computer system. In any case, the language may be a compiled or interpreted language.
Each such computer program is preferably stored on or downloaded to a storage media or device (e.g., solid state memory or media, or magnetic or optical media) readable by a general or special purpose programmable computer, for configuring and operating the computer when the storage media or device is read by the computer system to perform the procedures described herein. The inventive system may also be considered to be implemented as a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer system to operate in a specific and predefined manner to perform the functions described herein.
A number of embodiments of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. For example, some of the steps described above may be order independent, and thus can be performed in an order different from that described. Accordingly, other embodiments are within the scope of the following claims.
This application claims priority to provisional application Ser. No. 61/125,684, filed Apr. 24, 2008, entitled “Application of Localization, Positioning & Navigation Systems for Robotic Enabled Mobile Products”
Number | Date | Country | |
---|---|---|---|
61125684 | Apr 2008 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 15642226 | Jul 2017 | US |
Child | 16938323 | US | |
Parent | 12976786 | Dec 2010 | US |
Child | 15642226 | US | |
Parent | 12429963 | Apr 2009 | US |
Child | 12976786 | US |