Patent Description:
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 a motor 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 surface in the form of e.g. a floor. Thus, these prior art robotic vacuum cleaners have the capability of more or less autonomously moving across, and vacuum-cleaning, a room without colliding with obstacles located in the room, such as furniture, pets, walls, doors, etc..

Some prior art robotic vacuum cleaners use advanced 3D sensors such as time-of-flight (TOF) cameras for navigating the room and detecting obstacles. However, a general problem with 3D sensors is that they are expensive. <CIT> discloses an obstacle detecting assembly including a narrow-beam light emitting diode (LED), a wide-beam LED and a light detector. The narrow-beam LED provides range, while the wide-beam LED provides wide coverage at closer range. The assemblies are located about the front of a vacuum cleaner robot and provide warning of obstacles in the robot' s path.

An object of the present invention is to solve, or at least mitigate, this problem in the art and to provide an alternative method of enabling a robotic cleaning device to navigate a surface to be cleaned.

This object is attained in a first aspect of the present invention by a robotic cleaning device configured to detect objects as it moves over a surface to be cleaned. The robotic cleaning device comprises a first light source configured to produce a close range wide light beam in front of the robotic cleaning device, a second light source configured to produce a long range horizontally narrow light beam in front of the robotic cleaning device, and an array sensor configured to detect light reflected from one or more of the light sources to detect illuminated objects from which said light is reflected.

This object is attained in a second aspect of the present invention by a method of a robotic cleaning device of detecting objects as it moves over a surface to be cleaned. The method comprises controlling a first light source to produce a close range wide light beam in front of the robotic cleaning device and detecting, on an array sensor, light reflected from the first light source in order to detect illuminated objects from which said light is reflected, and controlling a second light source to produce a long range horizontally narrow light beam in front of the robotic cleaning device and detecting, on an array sensor, light reflected from the second light source in order to detect illuminated objects from which said light is reflected.

In the robotic vacuum cleaner according to embodiments, the first light source, embodied for instance by a light-emitting diode (LED), being configured to produce a close range wide light beam in front of the robotic cleaning device is mainly utilized to detect any obstacles for avoiding collision.

The second light source, embodied for instance by a laser, is configured to produce a long range horizontally narrow light beam in front of the robotic cleaning device from which reflection detailed information may be obtained to be used for navigation utilizing for instance simultaneous localization and mapping (SLAM).

Advantageously, using the two light sources, it is possible to use a relatively low-resolution line array sensor but still enable object detection and navigation for the robotic cleaning device.

In an embodiment, the robotic cleaning device comprises a third light source configured to produce a close range horizontally narrow light beam towards a surface (e.g. a floor) in front of the robotic cleaning device. The third light source may be embodied in the form of a laser and is advantageously utilized to detect close range objects, such as e.g. furniture, but also an approaching wall or a ledge in the form of for instance a stairway to a lower floor (commonly referred to as "cliff detection").

In an embodiment, the robotic cleaning device comprises a controller configured to control the light sources to emit light, one light source at a time, and to compute time-of-flight of the light emitted from the respective light source and being reflected onto the array sensor, and to determine position of an object from which the light is reflected based on the computed time-of-flight and the position of the reflected light on the array sensor.

In an embodiment, the light sources are arranged to emit light with a horizontal radiation angle of <NUM>-<NUM>°, more specified to <NUM>-<NUM>°, even more specified to <NUM>°.

In an embodiment, the first light source is arranged to emit light with a vertical radiation angle of <NUM>-<NUM>°, more specified to <NUM>°.

In an embodiment, the second light source is arranged to emit light with a vertical radiation angle of <NUM>-<NUM>°, more specified to <NUM>°.

In an embodiment, the third light source is arranged to emit light with a vertical radiation angle of <NUM>-<NUM>°, more specified to <NUM>°.

Preferred embodiment of the present invention will be described in the following.

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.

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.

<FIG> illustrates a side view of detection of objects on a surface over which a robotic cleaning device moves in accordance with an embodiment of the present invention.

Hence, the robotic cleaning device <NUM> moves over a floor <NUM> on which an obstacle in the form of a chair <NUM> is located on a rug <NUM> in front of a wall <NUM>. The robotic cleaning device <NUM> must thus be able to detect the chair <NUM> and navigate around it to avoid collision, as well as the wall <NUM> and possibly be able to follow the wall <NUM> in order to clean the floor <NUM> effectively and for navigation. Further, it may be advantageous to also be able to detect the rug <NUM> in order to for instance control rotation speed of a brush roll (not shown) of the robot <NUM> in order avoid fibres of the rug <NUM> being entangled in the brush roll, or for cleaning along a periphery of the rug <NUM> or for determining that the rug <NUM> is to be cleaned at a later occasion e.g. after first having cleaned the floor. This is also useful for instance when traversing a threshold.

As previously has been discussed, prior art robotic cleaners exist where advanced 3D sensors are utilized in the form of e.g. TOF cameras equipped with an array of pixels having a size of, say <NUM> x <NUM> pixels. Such prior art robotic cleaning devices are typically equipped with a laser light source illuminating the surroundings of the robot, where the TOF camera detects light being reflected from encountered objects and thus determines their distance from the robot by measuring the round-trip time of the emitted laser light.

Thus, in addition to detecting the reflected light along a horizontal and a vertical direction of the array for each pixel, the TOF camera further derives depth information from the TOF measurements for each pixel to create a 3D representation of its surroundings. However, such cameras are expensive.

The robotic cleaning device <NUM> according to an embodiment is instead equipped with a far smaller sensor array, such as e.g. a line array sensor <NUM> with <NUM> x <NUM> pixels; i.e. a single-row array sensor. Such a line array sensor is far less expensive but will inevitably also provide less information about the surroundings.

It may be envisaged that a multi-line array sensor is used with for instance <NUM> x <NUM> pixels or even <NUM> x <NUM> pixels. Even smaller line array sensors may be used, such as for instance an array of <NUM> x <NUM> pixels.

For instance, if the line array is mounted horizontally, there will only be a single row of pixels, which greatly limits resolution in a vertical direction as compared to for instance an array comprising <NUM> x <NUM> pixels. However, as can be seen in <FIG>, the robotic cleaning device <NUM> according to the embodiment is equipped with a plurality of light sources.

At an upper section of a front side of a main body of the robotic vacuum cleaner <NUM>, a first light source <NUM> is arranged which is configured to produce a close range wide light beam in front of the robotic cleaning device <NUM>. The first light source may be embodied for instance by a light-emitting diode (LED). The first light source is mainly utilized to detect any obstacles for avoiding collision.

In an embodiment illustrated with reference to <FIG> (showing three top views of the robotic vacuum cleaner <NUM> for illustrational purposes) and <FIG> (showing a further side view of the robotic vacuum cleaner <NUM>), a horizontal radiation angle α1 of the first light source <NUM> is in the range <NUM>-<NUM>°, such as around <NUM>° e.g. in the range <NUM>-<NUM>°, while a vertical radiation angle α2 of the first light source <NUM> is around <NUM>° e.g. in the range <NUM>-<NUM>°.

Typically, the close range wide light beam produced by the first light source <NUM> will not result in any fine-grained information upon detection of the reflected light but will rather provide coarse-type information as to whether an object is present in front of the cleaner <NUM> or not.

Moreover, the robotic vacuum cleaner <NUM> is equipped with a second light source <NUM> configured to produce a long range horizontally narrow light beam in front of the robotic cleaning device <NUM>. Hence, the second light source <NUM> will produce a "slice" of light extending in a horizontal plane but being vertically narrow. The second light source may be embodied for instance by a laser.

In an embodiment, a horizontal radiation angle β1 of the second light source <NUM> is in the range <NUM>-<NUM>°, such as around <NUM>° e.g. in the range <NUM>-<NUM>°, while a vertical radiation angle β2 of the second light source <NUM> is around <NUM>° e.g. in the range <NUM>-<NUM>°.

The second light source <NUM> is typically mounted such that its beam is directed more or less straight forward from the perspective of the robot <NUM>. The second light source <NUM> may be a laser emitting light from which reflection detailed information may be obtained to be used for navigation utilizing for instance simultaneous localization and mapping (SLAM). With the long range narrow second light source <NUM>, details of any detected objects may be derived from the reflected light, which enables these reflections to be used for navigation.

Optionally, a third light source <NUM> is mounted at the front side of the main body, configured to produce a close range horizontally narrow light beam towards the floor <NUM> in front of the robotic cleaning device <NUM>. The third light source <NUM> may be embodied in the form of a laser and is utilized to detect close range objects, such as e.g. furniture, but also an approaching wall or a ledge in the form of for instance a stairway to a lower floor (commonly referred to as "cliff detection"). Again, the information derived from these reflections is more detailed than that provided by means of the first light source <NUM>.

In an embodiment, a horizontal radiation angle γ1 of the third light source <NUM> is in the range <NUM>-<NUM>°, such as around <NUM>° e.g. in the range <NUM>-<NUM>°, while a vertical radiation angle γ2 of the third light source <NUM> is around <NUM>° e.g. in the range <NUM>-<NUM>°.

It is understood that one or more of the light sources may be equipped with optics to optically control the beams of the respective light source.

As previously discussed, the beam of each light source will reflect against any object in front of the robotic cleaning device <NUM> back towards the line array sensor <NUM>, which is capable of detecting the reflected light along a horizontal and a vertical direction of the array to attain a 2D representation of the surroundings.

Further, by measuring the time-of-flight of the light beams being emitted by the respective light source, it is possible to determine the position of the object relative to the robotic cleaning device, thereby additionally attaining depth information providing for a 3D representation of the surroundings.

<FIG> shows a front view of the robotic cleaning device <NUM> of <FIG> in an embodiment of the present invention illustrating the previously mentioned line array sensor <NUM>, the first light source <NUM>, the second light source <NUM> and the third light source <NUM>. In <FIG>, all three light sources are arranged along a vertical centre line of the sensor <NUM>. However, many different locations may be envisaged for the light sources.

Further shown in <FIG> are driving wheels <NUM>, <NUM>, a controller <NUM> such as a microprocessor controlling actions of the robotic cleaning device <NUM>, such as its movement over the floor <NUM>. The controller <NUM> is operatively coupled to the line array sensor <NUM> for recording images of a vicinity of the robotic cleaning device <NUM>.

Further, the controller <NUM> is operatively coupled to the light sources <NUM>, <NUM>, <NUM> to control their emission of light and to compute time-of-flight of reflected beams onto the line array sensor <NUM>. The controller <NUM> is thus capable of deriving positional data of encountered objects by analysing where the beams are reflected on the line array sensor <NUM> (i.e. x and y position) in combination with the computed time-of-flight (i.e. z position). Any operative data is typically stored in memory <NUM> along with a computer program <NUM> executed by the controller <NUM> to perform control of the robot <NUM> as defined by computer-executable instructions comprised in the computer program <NUM>. It is noted that placement and angle of the light sources(s) with respect to the array sensor is taken into account when deriving said positional data.

Hence, the controller <NUM> controls the line array sensor <NUM> to capture and record images from which the controller <NUM> creates a representation or layout of the surroundings that the robotic cleaning device <NUM> is operating in, by extracting feature points from the images representing detected objects from which the emitted light beams are reflected and by measuring the distance from the robotic cleaning device <NUM> to these objects , while the robotic cleaning device <NUM> is moving across the surface to be cleaned. Thus, the controller derives positional data of the robotic cleaning device <NUM> with respect to the surface to be cleaned from the detected objects of the recorded images, generates a 3D representation of the surroundings from the derived positional data and controls driving motors to move the robotic cleaning device <NUM> across the surface to be cleaned in accordance with the generated 3D representation and navigation information supplied to the robotic cleaning device <NUM> such that the surface to be cleaned can be autonomously navigated by taking into account the generated 3D representation. Since the derived positional data will serve as a foundation for the navigation of the robotic cleaning device, it is important that the positioning is correct; the robotic device will otherwise navigate according to a "map" of its surroundings that is misleading.

The 3D representation generated from the images recorded by the line array sensor <NUM> and the controller <NUM> thus facilitates detection of obstacles in the form of walls, floor lamps, table legs, around which the robotic cleaning device must navigate as well as rugs, carpets, doorsteps, etc., that the robotic cleaning device <NUM> must traverse. The robotic cleaning device <NUM> is hence configured to learn about its environment or surroundings by operating/cleaning.

In an embodiment, the emitting of light of each light source <NUM>, <NUM>, <NUM> is controlled by the controller <NUM> such that the line array sensor <NUM> only detects reflected light from one of the three sensors at a time.

For instance, a method of detecting objects according to an embodiment is illustrated in the flowchart of <FIG>.

In this exemplifying embodiment, the controller <NUM> controls in step S101 the first light source <NUM> to emit a light beam and derives data representing the light beam of the first light source <NUM> being reflected against the chair <NUM> and back onto the line array sensor <NUM>. This is performed for a time period of, say, <NUM>. Hence, the controller <NUM> thus concludes that there is in object located on a first computed distance from the robotic cleaning device <NUM>, namely the chair <NUM>.

Thereafter, in step S102, the controller <NUM> controls the second light source <NUM> to emit a light beam and derives data representing the light beam of the second light source <NUM> being reflected against the wall <NUM> and back onto the line array sensor <NUM>. Again, this is performed for a time period of for instance <NUM>. Hence, the controller <NUM> thus concludes that there is in object in the form of the wall <NUM> located on a second computed distance from the robotic cleaning device <NUM>.

Thereafter, in step S103, as the robotic cleaning device approaches the rug <NUM>, the controller <NUM> controls the third light source <NUM> to emit a light beam and derives data representing the light beam of the third light source <NUM> being reflected against the rug <NUM> and back onto the line array sensor <NUM>. Again, this is performed for a time period of e.g. <NUM>. Hence, the controller <NUM> thus concludes that there is in object in the form of the rug <NUM> located on a third computed distance from the robotic cleaning device <NUM>.

Thereafter, the method may start over again at step S101 as the robotic cleaning device <NUM> moves over the floor <NUM>.

Advantageously, using the two (or even three) light sources alternatingly for instance as described with reference to <FIG>, it is possible to use a relatively low-resolution line array sensor <NUM> but still enable object detection and navigation for the robotic cleaning device <NUM>.

It is noted that the time periods may vary for the different light sources <NUM>, <NUM>, <NUM> and they are not necessarily controlled in the sequence described in <FIG>. For instance, upon approaching the rug <NUM>, the third light source <NUM> is controlled to emit light for a relatively long time before any of the other two is controlled to emit light again since the detection of the rug <NUM> at that particular period in time is more important than detecting the wall <NUM>.

With further reference to <FIG>, the controller/processing unit <NUM> embodied in the form of one or more microprocessors is arranged to execute a computer program <NUM> downloaded to a suitable storage medium <NUM> associated with the microprocessor, such as a Random-Access Memory (RAM), a Flash memory or a hard disk drive. The controller <NUM> is arranged to carry out a method according to embodiments of the present invention when the appropriate computer program <NUM> comprising computer-executable instructions is downloaded to the storage medium <NUM> and executed by the controller <NUM>. The storage medium <NUM> may also be a computer program product comprising the computer program <NUM>.

Alternatively, the computer program <NUM> may be transferred to the storage medium <NUM> by means of a suitable computer program product, such as a digital versatile disc (DVD), compact disc (CD) or a memory stick. As a further alternative, the computer program <NUM> may be downloaded to the storage medium <NUM> over a wired or wireless network. The controller <NUM> may alternatively be embodied in the form of a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a complex programmable logic device (CPLD), etc..

<FIG> illustrates a variant of the robotic cleaning device <NUM> of <FIG>, where a fourth light source <NUM>, such as a LED, is utilized. The optional third light source <NUM> is not shown in <FIG>.

Similar to the first light source <NUM>, the fourth light source <NUM> is configured to produce a close range wide light beam in front of the robotic cleaning device <NUM>. A horizontal radiation angle of the fourth light source <NUM> may be in the range <NUM>-<NUM>°, such as around <NUM>° e.g. in the range <NUM>-<NUM>°, while a vertical radiation angle of the fourth light source <NUM> may be around <NUM>° e.g. in the range <NUM>-<NUM>°.

The fourth light source <NUM> is arranged on the front side of the robotic cleaning device <NUM> such that the light emitted vertically (at least partially) overlaps with the light emitted from the first light source <NUM> to increase the vertical resolution. It is also possible to utilize intensity of a received signal to detect an object or to track an object over time.

Claim 1:
Robotic cleaning device (<NUM>) configured to detect objects as it moves over a surface to be cleaned, the robotic cleaning device (<NUM>) comprising:
a first light source (<NUM>) configured to produce a close range wide light beam in front of the robotic cleaning device (<NUM>);
a second light source (<NUM>) configured to produce a long range horizontally narrow light beam in front of the robotic cleaning device (<NUM>);
an array sensor (<NUM>) configured to detect light reflected from one or more of the light sources (<NUM>, <NUM>) to detect illuminated objects from which said light is reflected; and
a controller (<NUM>) configured to control the light sources (<NUM>, <NUM>) to emit light, one light source at a time, and to compute time-of-flight of the light emitted from the respective light source and being reflected onto the array sensor, and to determine position of an object from which the light is reflected based on the computed time-of-flight and the position of the reflected light on the array sensor (<NUM>).