The invention relates to a robotic cleaning device and a method performed by the robotic cleaning device of determining a wheel slip characteristic of a surface over which the robotic cleaning device moves.
In many fields of technology, it is desirable to use robots with an autonomous behaviour such that they freely can move around a space without colliding with possible obstacles.
Robotic vacuum cleaners are known in the art, which are equipped with drive means in the form of one or more motors for moving the cleaner across a surface to be cleaned. The robotic vacuum cleaners are further equipped with intelligence in the form of microprocessor(s) and navigation means for causing an autonomous behaviour such that the robotic vacuum cleaners freely can move around and clean a space in the form of e.g. a room. Thus, these prior art robotic vacuum cleaners have the capability of more or less autonomously vacuum cleaning a room in which furniture such as tables and chairs and other obstacles such as walls and stairs are located.
One example of an existing robotic vacuum cleaner detecting the type of surface it is operating on is the so called Trilobite developed by Electrolux, which uses its accelerometer or gyro to detect how bumpy the surface is, and also measures the current of the brush roll motor. The thicker the carpet it drives on, the more current the brush roll motor consumes. A problem with using the accelerometer/gyro is that it is hard to detect a difference in vibrations caused by the brush roll itself, and vibrations caused by a bumpy floor. A problem with using the brush roll current is that there are typically random variations in the current on all surfaces, so the measured current needs to be low-pass filtered, making the detection slow.
For a robotic vacuum cleaner, it is important to know which type of surface it traverses (hard floor, tiles, carpets, etc.) for two main reasons: firstly, its dust pickup capacity can be improved by adapting the fan and/or brush roll speeds to the particular type of surface it is traversing. Secondly, the wheels of the robotic cleaning device can be expected to slip more on a carpet than on e.g. a parquet floor, and this can be valuable to know for navigation purposes.
An object of the present invention is to solve, or at least mitigate this problem in the art, by providing a method performed by a robotic cleaning device of determining a wheel slip characteristic of a surface over which the robotic cleaning device moves.
This object is attained by a first aspect of the invention by a method performed by a robotic cleaning device of determining a wheel slip characteristic of a surface over which the robotic cleaning device moves. The method comprises controlling the robotic cleaning device to perform a rotating movement, measuring, using an angle-measuring device, a change in heading of the robotic cleaning device caused by the rotating movement, measuring, using odometry, the change in heading of the robotic cleaning device caused by the rotating movement, and determining a relation between the change in heading measured using odometry and the change in heading measured using the angle-measuring device, wherein a difference in the two measured changes in heading indicates an estimate of wheel slip that occurs on said surface.
This object is attained by a second aspect of the invention by a robotic cleaning device comprising a propulsion system configured to move the robotic cleaning device over a surface to be cleaned, a controller configured to control the propulsion system to cause the robotic cleaning device to perform a rotating movement, and an inertial measurement unit (IMU) configured to measure a change in heading of the robotic cleaning device caused by the rotating movement. The controller is further configured to acquire signals from an odometry encoder arranged on each drive wheel of the propulsion system for measuring the change in heading of the robotic cleaning device caused by the rotating movement, and to determine a relation between the change in heading measured using odometry and the change in heading measured using the angle-measuring device, wherein a difference in the two measured changes in heading indicates an estimate of wheel slip that occurs on said surface.
For a robotic vacuum cleaner, as previously mentioned, it is important to know which type of surface it traverses (hard floor, tiles, carpets, etc.) for a number of reasons: Firstly, its dust pickup capacity can be improved by adapting the fan and/or brush speeds to the particular type of surface it is traversing. Secondly, the wheels of the robotic cleaning device can be expected to slip more on a carpet than on e.g. a parquet floor, and this can be valuable to know for navigation purposes. Thirdly, it may be determined that a certain type of surface, e.g. a thick rug, should be traversed and cleaned not only once but perhaps twice during a cleaning programme.
In the invention, a controller of the robotic cleaning device controls wheel motors to rotate driving wheels in order to cause the robotic cleaning device to perform a rotating movement from a first position to a second position.
An angle-measuring device embodied in the form of the previously mentioned IMU, will measure a change in heading of the robotic cleaning device caused by the rotating movement.
Further, the controller acquires—from encoders arranged at each drive wheel—information in the form of generated pulses as the wheels turn. By counting the pulses at the controller, the speed of each wheel can be determined, and the controller can perform so called dead reckoning to determine position and heading of the cleaning device. This is commonly referred as odometry.
Hence, using odometry, the controller measures the change in heading of the robotic cleaning device caused by the rotating movement.
Thereafter, the controller determines a relation between the change in heading measured using odometry and the change in heading measured using the IMU. Advantageously, a difference in the two measured changes in heading gives an estimate of wheel slip that can be expected on the surface.
As a result, a wheel slip characteristic of a surface over which the robotic cleaning device moves is determined. From the determined wheel slip characteristic, conclusions can advantageously be drawn regarding the surface over which the robotic cleaning device moves.
In an embodiment, if the measured change in heading using odometry is equal to, or roughly equal to, the IMU-measured change in heading, the controller of the robotic cleaning device concludes that there is no or little wheel slip, which is oftentimes the case when the robotic device moves over an even, hard surface, such as a parquet floor, hard floor, concrete floor, etc.
In another embodiment, if the measured change in heading using odometry moderately or greatly differs from the IMU-measured change in heading, the controller of the robotic cleaning device concludes that the surface indeed causes the wheels to slip, and typically constitutes a textile surface such as a carpet or a rug.
In still an embodiment, the rotational movement caused by the controller controlling the wheel motors to rotate the driving wheels should result in a rotational angle exceeding an angle threshold value such as 45° or 90°, or possibly even 180°, or 360° to ensure that an adequate slip estimate can be attained. Hence, if a too small rotation is performed, it may not be possible for the controller to adequately determined whether there is wheel slip or not, in particular if the slip is scant.
In yet an embodiment, during the rotational movement, a plurality of values reflecting the change in heading should be measured by the IMU, and a plurality of values reflecting the change in heading should be measured by the controller using odometry.
Thus, by performing a plurality of measurements during the rotational movement, a relation over time between the IMUe-measurement and the odometry-measurement can be determined.
For instance, if the relation is defined as a relation between rotating angles ΔθIMU measured by the IMU and rotating angles Δθodo measured using odometry, a number of scenarios can be envisaged
In a first scenario, if the relation between ΔθIMU and Δθodo is linear and 1:1 (or at least close to), no slip has occurred, typically implying a hard and smooth surface as previously discussed.
In a second scenario, if the relation between ΔθIMU and Δθodo is linear but not 1:1, a uniform slip has occurred, typically implying a uniform slip with no distinct direction thereby indicating that the robotic device passes over a textile surface.
In a third scenario, if the relation between ΔθIMU and Δθodo is monotonously increasing according to an S-shape, a directional slip has occurred, typically implying that the slip varies with the rotational angle and/or direction of rotation.
In a fourth scenario, if the relation between ΔθIMU and Δθodo is at least partly discontinuous, this indicates sections of uneven slip, typically implying at least a partly uneven surface.
Further provided is a computer program comprising computer-executable instructions for causing the robotic cleaning device to perform the method according to embodiments of the invention when the computer-executable instructions are executed on the controller included in the robotic cleaning device.
Yet further provided is a computer program product comprising a computer readable medium, the computer readable medium having the above mentioned computer program embodied thereon.
Further embodiments of the invention will be discussed in the detailed description.
Generally, all terms used in the claims are to be interpreted according to their ordinary meaning in the technical field, unless explicitly defined otherwise herein. All references to “a/an/the element, apparatus, component, means, step, etc.” are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, step, etc., unless explicitly stated otherwise. The steps of any method disclosed herein do not have to be performed in the exact order disclosed, unless explicitly stated.
The invention is now described, by way of example, with reference to the accompanying drawings, in which:
The invention will now be described more fully hereinafter with reference to the accompanying drawings, in which certain embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided by way of example so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout the description.
The invention relates to robotic cleaning devices, or in other words, to automatic, self-propelled machines for cleaning a surface, e.g. a robotic vacuum cleaner, a robotic sweeper or a robotic floor washer. The robotic cleaning device according to the invention can be mains-operated and have a cord, be battery-operated or use any other kind of suitable energy source, for example solar energy.
Even though it is envisaged that the invention may be performed by any appropriate robotic cleaning device being equipped with sufficient processing intelligence,
The robotic cleaning device 10o comprises a main body 111 housing components such as a propulsion system comprising driving means in the form of two electric wheel motors 115a, 115b for enabling movement of the driving wheels 112, 113 such that the cleaning device can be moved over a surface to be cleaned. Each wheel motor 115a, 115b is capable of controlling the respective driving wheel 112, 113 to rotate independently of each other in order to move the robotic cleaning device 10o across the surface to be cleaned. A number of different driving wheel arrangements, as well as various wheel motor arrangements, can be envisaged. It should be noted that the robotic cleaning device may have any appropriate shape, such as a device having a more traditional circular-shaped main body, or a triangular-shaped main body. As an alternative, a track propulsion system may be used or even a hovercraft propulsion system. The propulsion system may further be arranged to cause the robotic cleaning device 100 to perform any one or more of a yaw, pitch, translation or roll movement.
A controller 116 such as a microprocessor controls the wheel motors 115a, 115b to rotate the driving wheels 112, 113 as required in view of information received from an obstacle detecting device for detecting obstacles in the form of walls, floor lamps, table legs, around which the robotic cleaning device must navigate.
In the exemplifying embodiment of
When the robotic cleaning device 10o moves forward and bumps into an obstacle, contact with the obstacle is detected by the bumper 114, which is flexibly mounted to the front end portion of the main body 111. Since the bumper 114 is flexible, it will press resiliently against the front end portion of the body in when contacting obstacles, thus mitigating the thrusting effect it has on obstacles in its way and reducing the risk that the obstacles will be displaced, tipped over and/or be damaged.
The microprocessor 116 registers pressing of the bumper 114 against the main body 111 and hence detects contact with an obstacle, in order to control the motors 115a, 115b to rotate the driving wheels 112, 113 thereby controlling movement of the robotic cleaning device limas required accordingly.
It is noted that other more complex obstacle detecting devices are envisaged, such as infrared (IR) sensors and/or sonar sensors, microwave radar, or even a vision based sensor system in the form of a 3D sensor system registering its surroundings, implemented by means of e.g. a 3D camera, a camera in combination with lasers, a laser scanner, etc. for detecting obstacles and communicating information about any detected obstacle to the microprocessor 116. The microprocessor 116 communicates with the wheel motors 115a, 1151D to control movement of the wheels 112, 113 in accordance with information provided by the obstacle detecting device such that the robotic cleaning device 100 can move as desired across the surface to be cleaned. A combination of various obstacle detecting devices is further envisaged.
Further, the main body 111 may optionally be arranged with a cleaning member 117 for removing debris and dust from the surface to be cleaned in the form of a rotatable brush roll arranged in an opening 118 at the bottom of the robotic cleaner 100. Thus, the rotatable brush roll 117 is arranged along a horizontal axis in the opening 118 to enhance the dust and debris collecting properties of the cleaning device 100. In order to rotate the brush roll 117, a brush roll motor 119 is operatively coupled to the brush roll to control its rotation in line with instructions received from the controller 116.
Moreover, the main body in of the robotic cleaner 100 comprises a suction fan 120 creating an air flow for transporting debris to a dust compartment, a dust bag or cyclone arrangement (not shown) housed in the main body via the opening 118 in the bottom side of the main body 111. The suction fan 120 is driven by a fan motor 121 communicatively connected to the controller 116 from which the fan motor 121 receives instructions for controlling the suction fan 120. It should be noted that a robotic cleaning device having either one of the rotatable brush roll 117 and the suction fan 120 for transporting debris to the dust bag can be envisaged. A combination of the two will however enhance the debris-removing capabilities of the robotic cleaning device 100.
The robotic cleaning device 100 may further be arranged with one or more side brushes (not shown) for further improving the removal of dust and debris from the surface over which the robotic cleaning device 100 moves.
The main body 111 or the robotic cleaning device 100 may further be equipped with an inertial measurement unit (IMU) 124, such as e.g. a gyroscope and/or an accelerometer and/or a magnetometer and/or a compass or any other appropriate device for measuring displacement of the robotic cleaning device 100 with respect to a reference position, in the form of e.g. orientation, rotational velocity, gravitational forces, etc. The robotic cleaning device 100 further comprise encoders 123a, 123b on each drive wheel 112, 113 which generate pulses when the wheels turn. The encoders may for instance be magnetic or optical. By counting the pulses at the controller 116, the speed of each wheel 112, 113 can be determined, and the controller 116 can perform so called dead reckoning to determine position and heading of the cleaning device 100.
With further reference to
For a robotic vacuum cleaner, as previously mentioned, it is important to know which type of surface it traverses (hard floor, tiles, carpets, etc.) for a number of reasons: Firstly, its dust pickup capacity can be improved by adapting the fan and/or brush speeds to the particular type of surface it is traversing. Secondly, the wheels of the robotic cleaning device can be expected to slip more on a carpet than on e.g. a parquet floor, and this can be valuable to know for navigation purposes. Thirdly, it may be determined that a certain type of surface, e.g. a thick rug, should be traversed and cleaned not only once but perhaps twice during a cleaning programme.
As discussed, it is useful to know on which type of surface the robotic cleaning devices 100 moves.
Now, the risk for the robotic device 100 of being subjected to wheel slip is substantially higher when moving over the rug 202 as compared to moving over the hard floor 201.
Reference is further made to
The radius of the wheel shaft 122 is denoted r, while the angle of rotation is denoted Δθ and the rotational distance, i.e. arc length, is denoted 1.
Reference is further made to
Hence, in a first step S101, the controller 116 controls the wheel motors 115a, 115b to rotate the driving wheels 112, 113 in order to cause the robotic cleaning device to move from the first position P1 to the second position P2.
An angle-measuring device embodied in the form of the previously mentioned IMU 124, being e.g. a gyroscope, accelerometer, magnetometer, a compass, or a combination thereof, will in step S102 measure a change in heading of the robotic cleaning device 100 caused by the rotating movement.
Further, the controller 116 acquires from the encoders 123a, 123b arranged at each drive wheel 112, 113 information in the form of pulses generated by the encoders as the wheels turn. By counting the pulses at the controller 116, the speed of each wheel 112, 113 can be determined, and the controller 116 can perform so called dead reckoning to determine position and heading of the cleaning device 100. This is commonly referred as odometry.
Hence, using odometry, the controller 116 measures in step 103—in cooperation with the encoders 123a, 123b—the change in heading of the robotic cleaning device 100 caused by the rotating movement.
It is noted that the steps S102 and S103 may be performed simultaneously or in a reversed order.
Now, in step S104, the controller 116 determines a relation between the change in heading measured using odometry and the change in heading measured using the IMU 124, wherein a difference in the two measured changes in heading gives an estimate of wheel slip that can be expected on the surface.
In an embodiment, the change in heading is determined as follows.
With reference to
The rotational angle Δθ as measured using odometry is denoted Δθodo and is measured as:
Hence, the (fixed) distance from an axis of rotation of the robotic cleaning device 100 to a point at one of the wheels 112 is determined, and then the distance of movement of the wheel 112 from the first position P1 to the second position P2 is measured, wherein the rotating angle Δθodo measured using odometry is measured as a ratio between the measured distance of movement of the wheel 112 and the determined distance from the wheel 112 to the axis of rotation.
A relation between the change in heading measured using odometry and the change in heading measured using the IMU can be determined as:
wherein a difference in the two measured changes in heading gives an estimate of wheel slip that can be expected on the surface.
For instance, if there is no or little wheel slip, which is oftentimes the case when the robotic device 100 moves over an even, hard surface, such as a parquet floor, hard floor, concrete floor, etc., the travelled distance lodo as measured using odometry will be equal, or roughly equal, to the actually travelled distance lIMU as measured by the IMU 124 and as a consequence ε=0 (or very close to zero).
To the contrary, if substantial wheel slip occurs during the rotational movement, the travelled distance loan as measured using odometry will due to the slipping be greater (or even much greater than) the actually travelled distance lIMU as measured by the IMU 124 and as a consequence ε>0.
In an embodiment, the relation c between the change in heading measured using odometry and the change in heading measured using the IMU is compared to a predetermined threshold value T, and if ε≥T the controller 116 concludes that wheel slip has occurred.
If ε≥T, the controller 116 may conclude that the surface over which the robotic device 100 moves is a textile surface, which advantageously may imply that the dust pickup capacity should be improved by increasing the fan and/or brush roll speeds, or by having the robotic device 100 traverse the textile more than once.
It may further advantageously imply that the wheel slip should be compensated for in a navigation algorithm executed by the controller 116.
In an embodiment, the rotational movement caused by the controller 116 controlling the wheel motors 115a, 115b to rotate the driving wheels 112, 113 should result in a rotational angle Δθ exceeding an angle threshold value such as 45° or 90°, or possibly even 180°, or 360° to ensure that an adequate slip estimate can be attained.
In a further embodiment, during the rotational movement, a plurality of values reflecting the change in heading should be measured by the IMU 124, and a plurality of values reflecting the change in heading should be measured using odometry.
Thus, by performing a plurality of measurements during the rotational movement, a relation over time between the angle-measurement and the odometry-measurement can be determined.
With reference to
With reference to
With reference to
With reference to
The invention has mainly been described above with reference to a few embodiments. However, as is readily appreciated by a person skilled in the art, other embodiments than the ones disclosed above are equally possible within the scope of the invention, as defined by the appended patent claims.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2017/056100 | 3/15/2017 | WO | 00 |