Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR EDGE CLEANING
Document Type and Number:
WIPO Patent Application WO/2023/209350
Kind Code:
A1
Abstract:
A method for processing a cleanable perimeter segment of an area to be cleaned by a robotic cleaner during a cleaning operation of the robotic cleaner. The cleanable perimeter segment comprises a set of waypoints defining a path to be followed by the robotic cleaner along an edge of the area to be cleaned. The method comprises detecting, based on at least two sensor readings obtained by at least one sensor on the robotic cleaner, positions of at least two points on the edge relative to a current location of the robotic cleaner at a first waypoint of the set of waypoints, wherein at least one of the detected points on the edge is ahead of the robotic cleaner along the path to be followed by the robotic cleaner, calculating an approximation of the edge by fitting a line of best fit between the at least two detected points, and adjusting the position of a second waypoint of the set of waypoints subsequent to the first waypoint along the path to be followed by the robotic cleaner, based on a closest point on the line of best fit relative to the second waypoint.

More Like This:
Inventors:
PERRY LEE (GB)
WALDOCK ANTONY (GB)
Application Number:
PCT/GB2023/051081
Publication Date:
November 02, 2023
Filing Date:
April 24, 2023
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
DYSON TECHNOLOGY LTD (GB)
International Classes:
G05D1/02
Foreign References:
CN106843239A2017-06-13
US20210302964A12021-09-30
CN111552290A2020-08-18
Attorney, Agent or Firm:
MITCHELL, Joshua et al. (GB)
Download PDF:
Claims:
Claims:

1 . A method for processing a cleanable perimeter segment of an area to be cleaned by a robotic cleaner during a cleaning operation of the robotic cleaner, the cleanable perimeter segment comprising a set of waypoints defining a path to be followed by the robotic cleaner along an edge of the area to be cleaned, the method comprising: detecting, based on at least two sensor readings obtained by at least one sensor on the robotic cleaner, positions of at least two points on the edge relative to a current location of the robotic cleaner at a first waypoint of the set of waypoints, wherein at least one of the detected points on the edge is ahead of the robotic cleaner along the path to be followed by the robotic cleaner; calculating an approximation of the edge by fitting a line of best fit between the at least two detected points; and adjusting the position of a second waypoint of the set of waypoints subsequent to the first waypoint along the path to be followed by the robotic cleaner, based on a closest point on the line of best fit relative to the second waypoint.

2. The method of claim 1 , wherein the position of the second waypoint is adjusted to a position a predefined distance from the closest point on the line of best fit relative to the second waypoint in a direction perpendicular to the line of best fit.

3. The method of any preceding claim, further comprising: selecting a subsection of the line of best fit, wherein the subsection is selected by projecting a cone having a predefined field of view from the second waypoint in a direction perpendicular to the bisector of the angle between a vector from a previous neighbouring waypoint to the second waypoint, and the vector from the second waypoint to a next neighbouring waypoint, wherein: the position of the second waypoint is adjusted based on the closest point on the line of best fit relative to the second waypoint only if the closest point on the line of best fit relative to the second waypoint lies within the subsection of the line of best fit.

4. The method of claim 3, further comprising: determining if a detected point on the edge meets the requirement that it falls within the area defined by the cone and is closer to the second waypoint than a closest point on the subsection of the line of best fit; and if a detected point meets the requirement, adjusting the position of the second waypoint based on the detected point, rather than the closest point on the line of best fit relative to the second waypoint.

5. The method of claim 3 or claim 4, wherein the predefined field of view is between 15° and 45°.

6. The method of any preceding claim, further comprising instructing the robotic cleaner to move from first waypoint to the adjusted second waypoint.

7. The method of any preceding claim, further comprising: adjusting the position of a third waypoint of the set of waypoints subsequent to the second waypoint along the path to be followed by the robotic cleaner, based on a closest point on the line of best fit relative to the third waypoint.

8. The method of any preceding claim, wherein the at least two sensor readings are obtained by two sensors located on the robotic cleaner, wherein: a first sensor of the two sensors is orientated to take measurements in a direction perpendicular to the bisector of the angle between a vector from a previous neighbouring waypoint to the waypoint at which the robotic cleaner is currently located, and the vector from the waypoint at which the robotic cleaner is currently located to a next neighbouring waypoint; and the second sensor of the two sensors is orientated to take measurements at an angle between (i) the direction in which the first sensor is orientated to take measurements, and (ii) the direction parallel to the bisector of the angle between a vector from a previous neighbouring waypoint to the waypoint at which the robotic cleaner is currently located, and the vector from the waypoint at which the robotic cleaner is currently located to a next neighbouring waypoint.

9. The method of any preceding claim, wherein the positions of more than two points on the edge are detected based on more than two sensor readings obtained when the robotic cleaner is located at different waypoints of the set of waypoints.

10. The method of claim 9, further comprising filtering the detected points on the edge such that the remaining detected points are in a configurable zone extending in a forward direction from the current position of the robotic cleaner.

11 . The method of any preceding claim, further comprising: determining if the line of best fit of the detected points meets a predefined criterion; wherein: if the line of best fit of the detected points meets the predefined criterion, the position of the second waypoint is adjusted based on a closest point on the line of best fit relative to the second waypoint; and if the line of best fit of the detected points does not meet the predefined criterion, the position of the second waypoint is adjusted based on a closest detected point relative to the second waypoint.

12. The method of claim 11 , wherein the predefined criterion is met when the angle between the calculated line of best fit of the detected points, and a previous line of best fit determined relative to a previous location of the robotic cleaner different from the current location, is less than a predefined angular threshold. 13. The method of any preceding claim, further comprising: determining if a waypoint of the set ofwaypoints corresponds to a turning point of the edge, wherein a waypoint corresponds to a turning point if a magnitude of the angle between a vector from a previous neighbouring waypoint to the waypoint, and the vector from the waypoint to a next neighbouring waypoint, is greaterthan a predefined threshold; and, if the waypoint corresponds to a turning point: adding a new waypoint into the set of waypoints of the cleanable perimeter segment in the forward direction parallel to the vector from the previous neighbouring waypoint to the waypoint; and adjusting the position of the new waypoint, based on a closest point on the line of best fit relative to the new waypoint regardless of whether there is a detected point closer to the new waypoint.

14. The method of claim 13, further comprising: instructing the robotic cleaner to move from the waypoint corresponding to a turning point of the edge to the adjusted new waypoint; discarding the adjusted new waypoint once the robotic cleaner has reached the adjusted new waypoint or as close as possible to the adjusted new waypoint; and instructing the robotic cleaner to reverse back to the waypoint determined to correspond to the turning point.

15. The method of any preceding claim, wherein the method is computer-implemented.

16. The method of any preceding claim, wherein the method is performed by a processor located on the robotic cleaner.

17. A system including one or more processors and a memory, the memory containing machineexecutable instructions which, when executed on the one or more processors, cause the one or more processors to perform the method of any preceding claim.

18. A robotic cleaner comprising the system of claim 17.

19. A non-transitory computer readable storage medium containing machine executable instructions which, when executed on a processor, cause the processor to perform the method of any of claims 1-16.

Description:
METHOD FOR EDGE CLEANING

Field of the Invention

The present invention relates to a method for edge cleaning and a robotic cleaner for edge cleaning. The invention relates particularly, but not exclusively, to a method for processing a cleanable perimeter segment of an area to be cleaned by a robotic cleaner during a cleaning operation of the robotic cleaner.

Background

Robotic cleaners are autonomous cleaning devices which can be used to clean floors, surfaces, and walls. A key advantage over traditional cleaning devices is that they do not require continuous manual operation by a human.

Some of the first robotic cleaners followed a random cleaning pattern, moving around a room in a random path, changing direction when the robotic cleaner hit a wall or obstacle. However, such a random cleaning pattern often results in inefficient cleaning, with some areas being missed, and some areas being repeatedly cleaned. Furthermore, these robotic cleaners were vulnerable to hazards, such as stairs.

To address some of these problems, some robotic cleaners include sensors to map an area to be cleaned, and to detect walls, obstacles or hazards. Using sensors also helps to avoid collisions with obstacles and walls.

Generally, robotic cleaners clean the environment following a single cleaning pattern, such as an oil drop pattern (e.g. a spiral pattern extending from an initial position of the robotic cleaner). As such, a single cleaning pattern is used without distinguishing between open areas and edge areas (e.g. adjacent to a wall or obstacle). This type of cleaning pattern allows a robotic cleaner to efficiently and effectively clean open spaces, such as the centre of a room, and also helps to ensure that all areas of an open space are cleaned.

However, as cleaning patterns such as the oil drop pattern are planned mainly considering the navigability of the path, and ignoring the layout and shape of the environment and area to be cleaned, when a robotic cleaner follows such a cleaning pattern, it may not follow edges of walls or obstacles, such as furniture, closely, and may also fail to clean deep into the corners. This may lead to poor edge and corner coverage. An improved cleaning pattern with improved edge and corner coverage would be beneficial in more efficiently and effectively cleaning a room.

The present invention has been devised in light of the above considerations. Summary of the Invention

According to a first aspect, there is provided a method for processing a cleanable perimeter segment of an area to be cleaned by a robotic cleaner during a cleaning operation of the robotic cleaner, the cleanable perimeter segment comprising a set of waypoints defining a path to be followed by the robotic cleaner along an edge of the area to be cleaned, the method comprising: detecting, based on at least two sensor readings obtained by at least one sensor on the robotic cleaner, positions of at least two points on the edge relative to a current location of the robotic cleaner at a first waypoint of the set of waypoints, wherein at least one of the detected points on the edge is ahead of the robotic cleaner along the path to be followed by the robotic cleaner; calculating an approximation of the edge by fitting a line of best fit between the at least two detected points; and adjusting the position of a second waypoint of the set of waypoints subsequent to the first waypoint along the path to be followed by the robotic cleaner, based on a closest point on the line of best fit relative to the second waypoint.

Performing an edge clean may generally include three steps; firstly to map the edge using the robotic cleaner’s time-of-flight sensors, then to plan a path that manoeuvres the robotic cleaner along the edge such that a cleaning actuator of the robotic cleaner can clean the edge, and finally to execute the planned path. The first mapping step can introduce an amount of error dependent on many factors including the robotic cleaner’s localisation accuracy and subsequent localisation and positioning of the edge. Due to this problem, the planned path is often inaccurate, either too close to the edge, or too far away from the edge. This can result in the robotic cleaner either attempting to reach an unreachable path, or poor cleaning performance as the robotic cleaner follows a path too far from the edge.

The method according to the first aspect can solve this problem. In particular, the method allows the robotic cleaner to adjust the path in real time, during path execution. The waypoints of the cleanable perimeter segment can be adjusted as the robotic cleaner travels along the path defined by the waypoints, using locally accurate sensor information. As such, the path to be followed by the robotic cleaner can be adjusted in real time, using more recent and therefore more accurate sensor readings, thus improving the cleaning coverage of the edge.

Optional features will now be set out. The following optional features are combinable singly or in combination with any aspect of the invention.

An area to be cleaned may be a room, a plurality of rooms, or a subsection of a room, for example. As used herein, ahead of the robotic cleaner may be understood as meaning ahead of the robotic cleaner in the forward direction of the path to be followed by the robotic cleaner.

In some examples, the set of waypoints define a path to be followed in a left direction along the respective edge. As such, in these examples, the robotic cleaner follows the edges or walls and/or objects such that the edge is on the left of the robotic cleaner. In alternative examples, the set of waypoints define a path to be followed in a right direction along the respective edge, In these examples, the robotic cleaner follows the edges or walls and/or objects such that the edge is on the right of the robotic cleaner.

The position of the second waypoint may be adjusted relative to the closest point on the line of best fit relative to the second waypoint.

In particular, the position of the second waypoint may be adjusted to a position a predefined distance from the closest point on the line of best fit relative to the second waypoint. Preferably, the position of the second waypoint may be adjusted to a position a predefined distance from the closest point on the line of best relative to the second waypoint in a direction perpendicular to the line of best fit.

In this way, the robotic cleaner can be maintained a consistent predefined distance from the edge. The predefined distance may depend on the dimensions (e.g. the size and/or shape) of the robotic cleaner, including any cleaning actuators extending from the robotic cleaner.

The method may comprise selecting a subsection of the line of best fit. The subsection may be selected by projecting a cone having a predefined field of view from the second waypoint in a direction perpendicular to the bisector of the angle between a vector from a previous neighbouring waypoint to the second waypoint, and the vector from the second waypoint to a next neighbouring waypoint. The position of the second waypoint may be adjusted based on (e.g. relative to) the closest point on the line of best fit relative to the second waypoint only if the closest point on the line of best fit relative to the second waypoint lies within the subsection of the line of best fit.

Accordingly, it is only if the closest point on the line of best fit lies within the subsection defined by the projected cone, that the position of the second waypoint is adjusted based on (e.g. relative to) that closest point on the line of best fit.

If the closest point on the line of best fit lies outside of the subsection defined by the projected cone, then this point may be discarded. The position of the second waypoint may then be adjusted based on (e.g. relative to) a closest detected point that lies within the projected cone.

In this way, the robotic cleaner can more accurately track an edge, in particular into internal corners, or around obstacles.

Optionally, adjustment of the second waypoint may only be performed if a detected point (i.e. a point detected based on a sensor reading) lies within an additional cone projected from the second waypoint, the additional cone having a predefined field of view smaller than that of the projected cone used to select the subsection of the line of best fit. The additional cone may be projected from the second waypoint in a direction perpendicular to the bisector of the angle between a vector from a previous neighbouring waypoint to the second waypoint, and the vector from the second waypoint to a next neighbouring waypoint. In this way, the additional cone with the smaller field of view may be used to flag that the position of the second waypoint should be adjusted. If a detected point lies within the additional cone, the subsection of the line of best fit may then be selected using the cone with the larger field of view, as described above. The combination of cones with a narrow and wide field of view prevents waypoints which do not require adjustment from being adjusted, e.g. waypoints extending beyond an external corner of the edge.

The method may further comprise determining if a detected point on the edge (i.e. a point detected based on a sensor reading) meets the requirement that it falls within the area defined by the cone (with the larger field of view) and is closer (or closer by greater than a predefined threshold) to the second waypoint than a closest point on the subsection of the line of best fit. If a detected point meets the requirement, the position of the second waypoint may be adjusted based on (e.g. relative to) the detected point, rather than the closest point on the line of best fit relative to the second waypoint.

Accordingly, if a sensor reading is within the cone (with the larger field of view) and closer to the second waypoint, the adjustment is applied from the single point rather than the line of best fit. This helps with navigation around smaller obstacles.

The predefined field of view (of the cone with the larger field of view) may be between 15° and 45°. More preferably, the predefined field of view may be between 20° and 40°, more preferably between 25° and 35°, more preferably approximately 30°. A field of view in this range is preferred because if the field of view is too large, the coverage is less accurate in corners, whereas if the field of view is too small, there can be problems when the adjustment is based on a single point rather than the line of best fit.

The method may further comprise instructing the robotic cleaner to move from the first waypoint to the adjusted second waypoint. As such, the robotic cleaner may follow the improved path, which more closely tracks the edge, therefore providing improved edge cleaning.

The method may comprise adjusting the position of a third waypoint of the set of waypoints, the third waypoint being subsequent to the second waypoint along the path to be followed by the robotic cleaner, based on (e.g. relative to) a closest point on the line of best fit relative to the third waypoint. This waypoint may be adjusted in a corresponding, similar manner to the second waypoint as described above.

In some examples, the method may comprise determining a target position for the robotic cleaner by interpolating between the adjusted second waypoint and the adjusted third waypoint, and instructing the robotic cleaner to move from the first waypoint to the target position. The target position may be a predefined distance from the robotic cleaner. As such, as the robotic cleaner moves, the target point is maintained a predefined distance from the robotic cleaner. In this way, the robotic cleaner is able to move at a constant speed along the path, and perform a more efficient edge clean. The robotic cleaner does not need to slow down, or even stop, as it approaches a waypoint in order to calculate the updated position of the subsequent waypoint.

Optionally, the at least two sensor readings may be obtained by two sensors located on the robotic cleaner. The two sensors may be orientated to take measurements in different directions. The sensors may comprise cameras or other vision sensors, infrared sensors, or time-of-flight sensors, for example.

A first sensor of the two sensors may be orientated to take measurements in a direction perpendicular to the bisector of the angle between a vector from a previous neighbouring waypoint to the waypoint at which the robotic cleaner is currently located, and the vector from the waypoint at which the robotic cleaner is currently located to a next neighbouring waypoint. A second sensor of the two sensors may be orientated to take measurements at an angle between (i) the direction in which the first sensor is orientated to take measurements, and (ii) the direction parallel to the bisector of the angle between a vector from a previous neighbouring waypoint to the waypoint at which the robotic cleaner is currently located, and the vector from the waypoint at which the robotic cleaner is currently located to a next neighbouring waypoint.

As such, one of the sensors may point perpendicular to the direction of travel, and one sensor may point diagonally forward in the direction of travel. The line of best fit can then be found using two sensors orientated at an angle from one another.

Optionally, the at least two sensor readings may be obtained from more than two sensors located on the robotic cleaner. The plurality of sensors may each be orientated to take measurements in different directions from one another.

Alternatively, the sensor readings may be obtained by a single sensor. The single sensor may be orientated to take measurements diagonally forward, and to take multiple sensor readings as the robotic cleaner moves along the path, in order to obtain the at least two sensor readings.

Optionally, the positions of more than two points on the edge are detected based on more than two sensor readings. Increasing the number of detected points on the edge allows for the line of best fit to represent the edge more accurately.

The more than two sensor readings may be obtained when the robotic cleaner is located at different waypoints of the set of waypoints. In this way, sensor readings taken from previous waypoints (e.g. waypoints the robotic cleaner has already passed) can be used in the line of best fit to provide a more accurate representation of the edge.

Optionally, the method may comprise filtering the detected points on the edge such that the remaining detected points are in a configurable zone extending in a forward direction from the current position of the robotic cleaner. As such, any obstacles already passed by the robotic cleaner as it travels around the edge do not influence the line of best fit and thus the future path to be followed by the robotic cleaner. The configurable zone may have a predefined size/length.

The method may further comprise determining if the line of best fit of the detected points meets a predefined criterion. If the line of best fit of the detected points meets the predefined criterion, the position of the second waypoint may be adjusted based on (e.g. relative to) a closest point on the line of best fit relative to the second waypoint, but if the line of best fit of the detected points does not meet the predefined criterion, the position of the second waypoint may be adjusted based on (e.g. relative to) a closest detected point relative to the second waypoint.

Accordingly, if an edge does not meet a quality requirement, the line of best fit is not used, and a closest single detected point is used instead.

The predefined criterion may be met when the angle between the calculated line of best fit of the detected points, and a previous line of best fit determined relative to a previous location of the robotic cleaner different from the current location, is less than a predefined angular threshold.

As such, non-linear edges may be filtered out, such that the line of best fit of these non-linear edges is not used for adjusting the position of the waypoints. This allows non-linear edges to be followed more closely by the robotic cleaner based on individual detected points (as determined by a sensor reading).

The predefined angular threshold may be less than 90°, more preferably less than 80°, more preferably less than 70°, more preferably approximately 60°, for example.

The method may comprise determining if a waypoint of the set of waypoints corresponds to a turning point of the edge. A waypoint may correspond to a turning point if a magnitude of the angle between a vector from a previous neighbouring waypoint to the waypoint, and the vector from the waypoint to a next neighbouring waypoint, is greater than a predefined threshold.

If the waypoint corresponds to a turning point, a new waypoint may be added into the set of waypoints of the cleanable perimeter segment in the forward direction parallel to the vector from the previous neighbouring waypoint to the waypoint, and the position of the new waypoint may be adjusted based on (e.g. relative to) a closest point on the line of best fit relative to the new waypoint regardless of whether there is a detected point closer to the new waypoint.

In this way, the robotic cleaner adjusts only to the line of best of the edge it is following (e g. an adjacent edge) rather than an edge which may extend in front of the robotic cleaner, for example in an internal corner. This allows the robotic cleaner to clean deeper into the corners. The turning point may be an internal or an external corner.

Optionally, the method may further comprise instructing the robotic cleaner to move from the waypoint corresponding to a turning point of the edge to the adjusted new waypoint, discarding the adjusted new waypoint once the robotic cleaner has reached the adjusted new waypoint or as close as possible to the adjusted new waypoint (e.g. if the robotic cleaner has hit/met the edge), and instructing the robotic cleaner to reverse back to the waypoint determined to correspond to the turning point.

As such, the robotic cleaner can move closer into corners, and then reverse back out of the corner in order to follow round the corner. This provides an improved clean into corners, and in particular internal corners of the edge.

The method may be computer-implemented.

The method may be performed by a processor located on the robotic cleaner. As such, the robotic cleaner itself may perform the calculations required to adjust and improve the path to be followed by the robotic cleaner as it follows the edge. This may allow for more efficient processing, as communication with an external, remote device is not required.

Alternatively, an external device, such as a remote server may perform the method. The improved path (e.g. the adjusted waypoints) may then be transmitted to the robotic cleaner so that the robotic cleaner can perform the improved edge clean.

According to a second aspect of the invention, there is provided a system including one or more processors and a memory, the memory containing machine-executable instructions which, when executed on the one or more processors, cause the one or more processors to perform the method of the first aspect.

The system may be located on the robotic cleaner.

Alternatively, the system may be located on an external device remote from the robotic cleaner but in communication (via e.g. an un-wired connection) to the robotic cleaner. The external device may be a remote server, for example.

According to a third aspect, there is provided a robotic cleaner comprising the system of the second aspect.

According to a fourth aspect, there is provided a non-transitory computer readable storage medium containing machine executable instructions which, when executed on a processor, cause the processor to perform the method of the first aspect.

The invention includes the combination of the aspects and preferred features described except where such a combination is clearly impermissible or expressly avoided.

Summary of the Figures

Embodiments and experiments illustrating the principles of the invention will now be discussed with reference to the accompanying figures in which: Figure 1 is a schematic representation of a robotic cleaner;

Figure 2 is a schematic representation of a system for controlling a robotic cleaner;

Figure 3 is a flow diagram of a method for processing a cleanable perimeter segment of an area to be cleaned by a robotic cleaner during a cleaning operation;

Figure 4 is a schematic diagram illustrating the method of Figure 3;

Figure 5 is a further schematic diagram illustrating the method of Figure 3; and

Figure 6 is a further schematic diagram illustrating the method of Figure 3 as the robotic cleaner approaches a comer.

Detailed Description of the Invention

Aspects and embodiments of the present invention will now be discussed with reference to the accompanying figures. Further aspects and embodiments will be apparent to those skilled in the art. All documents mentioned in this text are incorporated herein by reference.

A robotic cleaner 10 is shown in Figure 1 . The robotic cleaner 10 may be used to clean a room, a subsection of a room, or multiple rooms in a building, for example. The robotic cleaner 10 comprises a motor 12 for driving and directing the robotic cleaner 10, a controller 14 for controlling the motor 12, and a memory 16. The controller 14 is configured to control the motor 12 such that the robotic cleaner 10 follows one or more paths defined by the controller 14, wherein the path(s) may be stored in the memory 16. The robotic cleaner 10 also comprises one or more cleaning tools/cleaning actuators which are used to clean the floor, lower walls, and/or other objects in the room, a power source (not shown), and one or more sensors (e.g. cameras, infrared sensors, Time of Flight sensors, accelerometers, gyroscopes etc.). It may also comprise a communication interface which may be used to communicate wirelessly with one or more external devices.

Examples of such external devices are now described with reference to Figure 2, which is a schematic of a system 20 for controlling robotic cleaner 10. For completeness, Figure 2 is not to scale. Example external devices may include a mobile device 22 and a remote server 24. In some embodiments, such as the one shown in Figure 2, a mobile device 22 and a remote server 24 are both in wireless communication with the robotic cleaner. A user of the mobile device 22 may control the robotic cleaner 10 via mobile device 22.

Robotic cleaner 10 may clean an area to be cleaned (e.g. a room) by first performing an open area clean (e.g. centre of the room), and then an edge clean (e.g. along the walls of the room). The path(s) followed by the robotic cleaner in both the open area clean and the edge clean may be determined by the controller 14 of the robotic cleaner 10, by the remote server 24, or by the mobile device 22, and/or saved in memory 16 of the robotic controller or external memory. The open area cleaning path may be an oil drop cleaning pattern (e.g. a spiral starting from the centre of the room), or some other cleaning pattern.

After following the open area cleaning path, the robotic cleaner may follow an edge cleaning path.

An initial edge cleaning path may be defined by one or more cleanable perimeter segments. The one or more cleanable perimeter segments may be generated at the robotic cleaner 10, or may be generated externally, e.g. at the mobile device 22 or remote server 24, and may be received by the robotic cleaner 10 from the mobile device 22 or remote server 24.

The cleanable perimeter segment comprises a set of waypoints defining the path to be followed by the robotic cleaner along an edge of the area to be cleaned. This initial edge cleaning path may be determined during the open area clean, e.g. using the robotic cleaner’s sensors. This generally introduces an amount of error which is dependent on many factors including the robotic cleaner’s localisation accuracy and thus subsequent positioning of the waypoints in the cleanable perimeter segment. As such, this initial edge cleaning path may not accurately track the edge.

The methods disclosed herein adjust the position of the waypoints in the cleanable perimeter segment in order to more closely track the edge. The methods disclosed herein may be performed as the robotic cleaner is performing the edge clean, e.g. as the robotic cleaner follows the path defined by the cleanable perimeter segment.

An example method for processing a cleanable perimeter segment of an area to be cleaned by a robotic cleaner is described below, with reference to Figure 3. The processing method is performed during the cleaning operation of the robotic cleaner, and in particular, during the edge clean operation as the robotic cleaner follows the path defined by the waypoints, along the edge of the area to be cleaned. The method is preferably performed by the robotic cleaner 10 itself. Alternatively, the method (or a part thereof) may be performed by an external device, e.g., remote server 24, or mobile device 22. If the method is performed by an external device, the adjusted waypoints, and thus the adjusted/processed cleanable perimeter segment, may be transmitted to the robotic cleaner 10 wirelessly. Once generated, the updated waypoints may be stored in memory 16.

The method may comprise obtaining at least two, and preferably more than two, sensor readings. The sensor readings may be obtained by sensors, for example time-of-flight sensors, on the robotic cleaner 10. An example positioning of two time-of flight sensors 18a, 18b on the robotic cleaner 10 is described below, with reference to Figure 4. The sensors may be positioned on a front and a side of the robotic cleaner in relation to the forward direction of travel of the robotic cleaner. The plurality of sensor readings may be taken as the robotic cleaner moves along the path defined by the waypoints, and thus may be taken when the robotic cleaner is at a plurality of waypoints along the path, or moving between these waypoints. The two sensors 18a, 18b may be orientated to take sensor readings in different directions from each other. They are orientated to take measurements of the distance to an edge 52 (shown as a dashed line in Figures 4-6).

One sensor 18a is orientated to take measurements in a direction perpendicular to the direction of travel of the robotic cleaner (wherein the direction of travel is indicated by an arrow in Figure 4). In the example shown in Figure 4, the robotic cleaner follows the edge in a left-hand direction such that the edge 52 is on the left of the robotic cleaner 10. As such, sensor 18a is orientated to the left of the robotic cleaner 10. In other examples, the robotic cleaner may follow the edge in a right-hand direction.

The other sensor 18b is orientated to take measurements in a forwards diagonal direction, and in particular a left forwards diagonal direction in the example shown in Figure 4. The diagonal direction may form an angle of between 10 and 90 degrees with the direction of travel, more preferably an angle between 45 and 90 degrees with the direction of travel, more preferably an angle between 45 and 85 degrees with the direction of travel, more preferably an angle of approximately 60 degrees with the direction of travel.

The measurements/sensor readings obtained by these two sensors correspond to a plurality of detected points 54 on the edge, as the robotic cleaner 10 moves along the path defined by the waypoints.

As such, as shown in step S101 of Figure 4, the method comprises detecting positions of a plurality of points 54 on the edge 52 relative to a current location of the robotic cleaner 10, which is positioned at a first waypoint of the set of aypoints. Sensors 18a, 18b are used to detect these positions. They may measure the distance to the point on the edge, and detect the positions of the points on the edge using a known current location of the robotic cleaner, and an angle at which the respective sensor is orientated.

Preferably, at S102, the detected points 54 on the edge are filtered so that the remaining points are in a configurable zone extending in a forward direction from the current position of the robotic cleaner.

Next, at S103, an approximation of the edge is calculated by fitting a line of best fit 56 between the plurality of detected points 54 (e.g. in the configurable zone).

Optionally, at S104, it may be determined if the line of best fit meets a predefined criterion. This may establish whether the edge is a straight, linear edge (and thus more accurately represented by the line of best fit) or a non-linear edge (which may be less accurately represented by the line of best fit).

In particular, the predefined criterion may be met when the angle between the calculated line of best of the detected points and a previous line of best fit determined relative to previous location of the robotic cleaner different from the current location, is less than a predefined angular threshold (which may be approximately 60°, for example).

When the predefined criterion is met, it is determined that the edge is sufficiently straight/linearto be represented by the line of best fit, and the line of best fit is maintained. When the predefined criterion is not met, it is determined that the edge is insufficiently straight/linear to be represented by the line of best fit (e.g. if there are obstacles extending out from a wall) and the line of best fit is discarded.

If the predefined criterion is not met (and thus the line of best fit is discarded) the position of the next waypoint following the waypoint at which the robotic cleaner is currently located may be adjusted based on a closest detected point relative to that next waypoint (and thus the method does not move to S105 of method 40 in Figure 3). In particular, the waypoint may be adjusted relative to the closest detected point from that next waypoint, and specifically to a position a predefined distance from that closest detected point. This predefined distance may be based on the dimensions (e g. size/shape) of the robotic cleaner.

If the predefined criterion is met, a subsection of the line of best fit is selected, by projecting an (imaginary) cone 62 having a predefined field of view from the next waypoint 60 following the waypoint 61 at which the robotic cleaner 10 is currently positioned (see S105 of Figure 3). As shown in Figure 5, the cone 62 is projected in a direction perpendicular to the bisector of the angle between a vector from a previous neighbouring waypoint (which is the waypoint 61 at which the robotic cleaner is currently located) to the next waypoint 60, and the vector from the next waypoint 60 to a further neighbouring waypoint 63 past the next waypoint 60. The predefined field of view may be between 15° and 45°, but is preferably approximately 30°.

Next, a closest point on the line of best fit within the subsection is determined (see e.g. S106 of Figure 3). In Figure 5, this is indicated by point 64.

Optionally, at S107, it is determined if a detected point on the edge (i.e. one of the points 54 detected by a sensor) meets the requirement that it falls within the area defined by the cone 62 and is closer to the next waypoint 60 than the closest point on the line of best fit within the subsection. The requirement may be that it falls within the area defined by the cone 62 and is closer to the next waypoint than the closest point on the line of best fit within the subsection by at least a predefined distance. If there is no detected point that meets this requirement (i.e. no point is closer than the line of best fit), then the position of the next waypoint 60 may be adjusted based on the closest point on the line of best fit 56 (see e.g. S108 of method 40 of Figure 3). If there is a detected point that meets this requirement, the position of the next waypoint 60 may be adjusted based on that detected point, and specifically to a position a predefined distance from that detected point. Again, this predefined distance may be based on the dimensions (e.g. size/shape) of the robotic cleaner.

At S108, the position of the next waypoint 60 (i.e. the waypoint following the waypoint 61 at which the robotic cleaner is currently located) is adjusted based on (e.g. relative to) the closest point on the line of best fit 56.

Where the subsection of the line has been selected (e.g. in S105 of Figure 3), the position of the next waypoint 60 may be adjusted based on (e.g. relative to) the closest point on the line of best fit only if the closest point on the line of best fit relative to the next waypoint lies within the subsection. If the closest point on the line of best fit lies outside of the subsection, then this point may be discarded. The position of the next waypoint may then be adjusted based on a closest detected point that lies within the projected cone. This is illustrated in Figure 6. Although there is a point 66 on the line of best fit closer to the next waypoint 60 following the current position 61 of the robotic cleaner 10, this point is outside of the subsection defined by cone 60. Thus, this point 66 is discarded and the closest detected point that lies within the projected cone is used.

Adjusting the position of the waypoint based on a point on the line of best fit, or based on a detected point (detected by a sensor), may be understood as meaning adjusting relative to that point, and optionally adjusting relative to that point to a position a predefined distance from that point.

In this way, the robotic cleaner 10 is maintained a constant distance from the edge 52, and is able to closely track the edge 52 even if the edge is non-linear.

Optionally, adjustment of the next waypoint 60 may only be performed if a detected point (a point detected based on a sensor reading) lies within an additional (imaginary) cone projected from the next waypoint 60, the additional cone having a predefined field of view smaller than that of the projected cone 62 used to select the subsection of the line of best fit. The additional cone may be projected from the next waypoint 60 in a direction perpendicular to the bisector of the angle between a vector from a previous neighbouring waypoint (which is the waypoint 61 at which the robotic cleaner is currently located) to the next waypoint 60, and the vector from the next waypoint 60 to a further neighbouring waypoint 63 past the next waypoint 60. In this way, the additional cone with the smaller field of view may be used to flag that the position of the next waypoint 60 should be adjusted. If a detected point lies within the additional cone, the subsection of the line of best fit may then be selected using the cone 62 with the larger field of view, as described above. The combination of cones with a narrow and wide field of view prevents waypoints which do not require adjustment from being adjusted, e.g. waypoints extending beyond an external corner of the edge.

The method may further comprise instructing the robotic cleaner 10 to move to the adjusted next waypoint.

In some embodiments, the above method may additionally be performed for a further waypoint 63 following the next waypoint 60. In other words, the above method may be performed for two (or more) waypoints in front of the current position of the robotic cleaner. This further waypoint 63 may be adjusted as set out above for the next waypoint 62.

In some examples, a target position may be determined by interpolating between the two adjusted waypoints. The robotic cleaner may then be instructed to move from its current position to the target position. The target position may be a predefined distance from the robotic cleaner. As such, as the robotic cleaner 10 moves, the target point may be maintained a predefined distance from the robotic cleaner 10. In this way, the robotic cleaner 10 is able to move at a constant speed around the path, and perform a more efficient edge clean. The robotic cleaner 10 does not need to slow down, or even stop, as it approaches a waypoint in order to calculate the updated position of the subsequent waypoint. The method may also comprise determining if a waypoint of the set of waypoints corresponds to a turning point of the edge, wherein a waypoint corresponds to a turning point if a magnitude of the angle between a vector from a previous neighbouring waypoint to the waypoint, and the vector from the waypoint to a next neighbouring waypoint is greater than a predefined threshold. In order to get close into an internal corner, or to closely follow an external corner, the following approach is taken by the robotic cleaner.

If the waypoint corresponds to a turning point, a new waypoint is added into the set of waypoints of the cleanable perimeter segment in the forward direction parallel to the vector from the previous neighbouring waypoint to the waypoint. Then the position of the new waypoint is adjusted, based on a closest point on the line of best fit relative to the new waypoint regardless of whether there is a detected point closer to the new waypoint. The robotic cleaner is then instructed to move from the waypoint corresponding to a turning point of the edge to the adjusted new waypoint. The adjusted new waypoint is discarded once the robotic cleaner has reached the adjusted new waypoint or as close as possible to the adjusted new waypoint, and the robotic cleaner is then instructed to reverse back to the waypoint determined to correspond to the turning point.

Accordingly, the waypoints in the cleanable perimeter segment are adjusted, using the robotic cleaner’s sensors, as the robotic cleaner follows the path defined by the waypoints, in order to more closely and accurately follow the edge of the area to be cleaned. This may provide a more efficient edge clean, which closely matches the edges and corned, thus providing a more thorough edge and corner clean.

The features disclosed in the foregoing description, or in the following claims, or in the accompanying drawings, expressed in their specific forms or in terms of a means for performing the disclosed function, or a method or process for obtaining the disclosed results, as appropriate, may, separately, or in any combination of such features, be utilised for realising the invention in diverse forms thereof.

While the invention has been described in conjunction with the exemplary embodiments described above, many equivalent modifications and variations will be apparent to those skilled in the art when given this disclosure. Accordingly, the exemplary embodiments of the invention set forth above are considered to be illustrative and not limiting. Various changes to the described embodiments may be made without departing from the spirit and scope of the invention.

For the avoidance of any doubt, any theoretical explanations provided herein are provided for the purposes of improving the understanding of a reader. The inventors do not wish to be bound by any of these theoretical explanations.

Any section headings used herein are for organizational purposes only and are not to be construed as limiting the subject matter described.

Throughout this specification, including the claims which follow, unless the context requires otherwise, the word “comprise” and “include”, and variations such as “comprises”, “comprising”, and “including" will be understood to imply the inclusion of a stated integer or step or group of integers or steps but not the exclusion of any other integer or step or group of integers or steps. It must be noted that, as used in the specification and the appended claims, the singular forms “a,” “an,” and “the” include plural referents unless the context clearly dictates otherwise. Ranges may be expressed herein as from “about” one particular value, and/or to “about” another particular value. When such a range is expressed, another embodiment includes from the one particular value and/or to the other particular value. Similarly, when values are expressed as approximations, by the use of the antecedent “about,” it will be understood that the particular value forms another embodiment. The term “about” in relation to a numerical value is optional and means for example +/- 10%.