The present invention relates to a robotic tool, to methods of navigating a robotic tool, to a method of defining a work area for a robotic tool, and to a computer program and a computer-readable medium implementing any of the methods.
Self-propelled robotic tools are widely used for performing maintenance operations within a predetermined work area. By way of example, robotic lawn mowers are used for autonomously cutting lawns within a predetermined work area to be mowed. Boundary wires are typically used for delimiting the work area, and the robotic lawn mower is typically configured to move in a randomly generated irregular pattern to ensure complete coverage of the working area. However, when the work area has an irregular or complex shape, some portions of the work area may be mowed less frequently than others, or not at all. Other exemplary considerations in lawnmower design are safety, cost, complexity, reliability, and ease of use. In particular, there is a need for a safe, reliable robotic tool providing a good surface coverage. WO15072897A1 discloses a systematic navigation method according to which a lawn mower navigates within a boundary wire defining an area to be mowed.
It is an object of the present invention to solve, or at least mitigate, parts or all of the above mentioned problems. To this end, there is provided a method of navigating a self-propelled robotic tool within a work area defined by a boundary, the method comprising determining a positioning status of the robotic tool, the positioning status comprising a determined position of the robotic tool within the area; navigating the robotic tool based on the determined positioning status; determining that a new positioning status of the robotic tool within the area cannot be reliably obtained; based on the determined position of the robotic tool within the area, estimating a boundary distance value indicative of a distance from the robotic tool to the boundary; setting a maximum dead reckoning navigation distance based on the boundary distance value; continuing navigating the robotic tool based on dead reckoning; and if no new positioning status of the robotic tool within the area has been reliably obtained upon reaching the maximum dead reckoning navigation distance, executing a safety operation based on having reached the maximum dead reckoning navigation distance. Thereby, upon loss of a reliable positioning status, the robotic tool may be allowed to continue operation without exact knowledge of its current position, since it can be safely determined that it's nevertheless at least within the work area. As a result thereof, operation may be improved within work areas which are difficult to navigate. The order of the listing of method steps above does not define a required order of method steps. For example, the boundary distance value may be continuously estimated after each reliable determination of a positioning status. Alternatively, the boundary distance value may be determined based on the last reliably determined positioning status only after the determination that a new positioning status cannot be reliably obtained. The dead reckoning may be based on e.g. an odometer signal from wheels of the robotic tool, and/or from an accelerometer and/or gyroscope signal from a sensor or set of sensors of the robotic tool. According to embodiments, the maximum dead reckoning navigation distance may be set based also on an estimated positioning error. Determining that a new positioning status of the robotic tool within the area cannot be reliably obtained may comprise determining whether an estimated positioning error exceeds a limit error value, or determining whether a positioning signal has been received from a number of signal sources of at least a limit number of signal sources. For example, when navigating based on signals from a satellite navigation system, a position may be considered reliable if a positioning signal has been received from at least three satellites, allowing positioning on a two-dimensional map, or if a positioning signal is received from at least four satellites, allowing positioning in three-dimensional space. Hence, for a typical Global Navigation Satellite System, GNSS, the limit number may be e.g. at least three. The boundary distance value may e.g. be represented as a distance from the robotic tool to the boundary, or as a time required for the robotic tool to propel itself from its present position to the boundary at a certain speed. Alternatively, the boundary distance value may be represented as a Boolean, indicating only whether or not the distance from the robotic tool to the boundary exceeds a limit boundary distance required for continued operation. If so, the maximum dead reckoning distance may be set based on the limit boundary distance. Any distance discussed herein, such as the distance from the robotic tool to the boundary, may be a distance in three-dimensional space, or approximated by a projection of the distance in two dimensions, for example onto a two-dimensional map.
According to an embodiment, executing a safety operation comprises stopping the propulsion of the robotic tool. Thereby, the robotic tool may be safely stopped before risking exiting the boundary defining the work area. Alternatively or additionally, executing a safety operation may comprise stopping a work implement of the robotic tool. Thereby, any dangerous parts of the robotic tool may be safely stopped before risking exiting the boundary defining the work area. An exemplary work implement may be a vegetation cutter, such as a rotating grass cutting blade. Alternatively or additionally, executing a safety operation may comprise changing heading of the robotic tool. Thereby, exiting the work area may be avoided. According to embodiments, the heading may be changed by more than 90°, more than 135°, or between 160° and 200°. Upon changing direction, a new maximum dead reckoning navigation distance may be set. The new maximum dead reckoning navigation distance may be set more generously for sharper heading changes. According to an example, the safety operation may be to turn back to the position where it latest obtained a reliable position, i.e. towards the area where the maximum dead reckoning distance was set. Upon passing this area, it can be expected that the robotic tool may once again be able to reliably determine its position. According to an embodiment, determining a positioning status of the robotic tool may comprise receiving a wireless positioning signal. Receiving a wireless positioning signal may comprise receiving a satellite navigation signal such as a GNSS signal, and/or a signal or signals from one or several local beacon(s). According to embodiments, the method may comprise estimating a GNSS positioning error, wherein said maximum dead reckoning navigation distance is set based on the GNSS positioning error. In a particularly accurate embodiment, receiving the positioning signal may comprise receiving an RTK-GNSS (real-time kinematic GNSS) correction signal allowing RTK-GNSS positioning. In such an embodiment, a positioning signal may, by way of example, be considered reliable if a positioning signal is received from at least a first limit number of local base stations and at least a second limit number of satellites. Typically, the first limit number may be at least one, and the second limit number may be at least three, for example four or five. In an RTK-GNSS enabled embodiment, the determination of whether a new positioning status can or cannot be reliably obtained may also be based on the status of the RTK ambiguity resolution (“RTK Fix” or “RTK float”) in the manner known in the art.
According to an embodiment, the robotic tool may be configured to automatically change its heading before reaching the maximum dead reckoning distance. By way of example, the robotic tool may be configured to, upon finding that it cannot reliably determine its positioning status, initially continue navigating in the direction of its current heading, within the constraints set by the maximum dead reckoning distance. After having navigated a portion of the maximum dead reckoning distance, the robotic tool may initiate a navigation signal search procedure. The navigation signal search procedure may comprise, for example, estimating a position on a map associated with navigation signal reception data. Based on the estimation, the robotic tool may change its heading to continue towards an area of the map with a higher probability of a good navigation signal reception, still within the constraints of the maximum dead reckoning navigation distance. If no new positioning status of the robotic tool has been reliably obtained upon reaching the maximum dead reckoning navigation distance, the robotic tool will execute the safety operation.
According to an embodiment, determining that a new positioning status of the robotic tool within the area cannot be reliably obtained may comprise reliably receiving a wireless positioning signal; setting a start value of a counter; increasing or decreasing the value of the counter; and if no wireless positioning signal has yet been received when the counter has reached a limit value, determining that a new positioning status of the robotic tool within the area cannot be reliably obtained. The counter may be based on the travelled distance registered by dead reckoning, such that if no reliable positioning signal is received within a limit distance travelled, it is determined that positioning is unreliable. Setting a start value of the counter may comprise setting a maximum dead reckoning navigation distance, and increasing and decreasing the value of the counter may comprise iteratively subtracting from the maximum dead reckoning navigation distance, for each movement of the robotic tool, the travelled distance registered by a dead reckoning device, until the maximum dead reckoning navigation distance has reached a lower limit value. Alternatively, the counter may be, by way of example, a timer, such that if no reliable positioning signal is received within a limit time, it is determined that positioning is unreliable.
According to an embodiment, the boundary distance value may be based on the shortest distance from the determined position to the boundary. Thereby, regardless of how the robot navigates within the area, the robot may stop or turn before the boundary is reached.
According to an embodiment, the boundary may comprise a plurality of boundary segments, each boundary segment associated with a boundary classification, wherein the method comprises identifying a subset of said boundary segments based on boundary classification; and wherein estimating a boundary distance value indicative of a distance from the robotic tool to the boundary comprises estimating a boundary distance value based on the classification of said selected subset. A boundary or boundary segment may be virtual, i.e. it may be a virtual representation of a boundary or boundary segment which does not need a physical representation in the terrain. By way of example, a virtual boundary may be represented by e.g. map data and/or GNSS positions. A virtual boundary may e.g. be defined based on operator input when configuring the robotic tool for its first use within the work area. With regard to classification, virtual boundary portions or segments can, for example, be classified based on terrain features at the boundary as such, and/or based on areas adjacent to the work area, across the boundary. For example, physical obstacles such as walls and fences may physically prevent the robotic tool from crossing, and need not be part of the calculation of a maximum dead reckoning navigation distance. Similarly, areas adjacent to, and not forming part of the work area, may still be ok to transit. For example, in the case of a robotic lawnmower, paved pathways need not be mowed and may be excluded from the area to be mowed, but a robotic lawnmower having lost GNSS connection may still be allowed to enter such an area without posing a safety risk.
According to an embodiment, the positioning status of the robotic tool may further comprise a determined heading of the robotic tool, and the estimation of a boundary distance value may further be based on the determined heading. Thereby, the robotic tool may be permitted to navigate a longer distance based on dead reckoning if it's heading in a direction in which the distance to the boundary is long. In such a situation, the robotic tool may be further configured to, once having lost its position and started navigating based on dead reckoning, detect a change in heading, and based on the change of heading, determine a new maximum dead reckoning navigation distance. For example, if the robotic tool encounters an obstacle and changes its heading based on the encounter, the maximum distance may be set to the shortest distance from the last known position to the boundary. The robotic tool may determine its heading based on sensor input, such as input from a compass and/or a GNSS receiver.
According to an embodiment, the method may further comprise identifying, based on said determined heading, boundary segments within a navigation sector comprising the determined heading, wherein the estimation of a boundary distance value is further based on said identification of boundary segments within the navigation sector. By way of example, the distance value may be indicative of a distance, such as a shortest distance, from the robotic tool to the boundary within the navigation sector. According to an example, the navigation sector may be defined based on an estimated maximum systematic dead reckoning navigation error of the robotic tool.
According to an embodiment, the boundary distance value may be indicative of a distance to the boundary in the direction of the determined heading.
According to an embodiment, continuing navigating the robotic tool based on dead reckoning may comprise triggering, based on sensor input, a heading change; and based on said heading change, changing the maximum dead reckoning navigation distance. Whenever the robotic tool changes its heading, the distance to the boundary changes.
According to an embodiment, estimating a boundary distance value indicative of a distance from the robotic tool to the boundary may comprise estimating a plurality of boundary distance values indicative of a respective plurality of distances from the robotic tool to the boundary. Thereby, different maximum dead reckoning navigation distances may be set for different positioning and/or navigation scenarios. By way of example, one maximum dead reckoning navigation distance may be used for situations where both position and heading are known by the robotic tool, and another may be used for situations where only the position is known.
According to an embodiment, the boundary may be a virtual boundary defined by GNSS coordinates. In such a system, e.g. trees, buildings etc. positioned at a distance from the virtual boundary, and shadowing the GNSS reception, will have reduced, little, or even no impact on the robotic tool's ability to operate within the area.
According to an embodiment, the boundary may be defined by a boundary wire emitting a boundary wire signal. In hybrid systems incorporating both a boundary wire and a GNSS receiver for improved surface covering, navigation may be permitted even if both the boundary wire signal and the GNSS signal are temporarily lost. This may be the case, for example, in situations where the robotic tool is far from the boundary, i.e. in a central location of the work area, where the boundary wire signal is weak. In such an arrangement, an installation's maximum permitted distance to the boundary wire may be increased, since no boundary wire signal is needed near the centre of the work area, where the maximum dead reckoning navigation distance may be generously set.
According to a second aspect, there is provided a method of navigating a self-propelled robotic tool within a work area defined by a virtual boundary, the virtual boundary comprising a plurality of boundary segments, each boundary segment associated with a boundary classification, the method comprising determining that the robotic tool is approaching a boundary segment; determining a boundary classification of the boundary segment; and navigating the robotic tool relative to the boundary based on the determined classification of the boundary segment. The virtual boundary may be represented by e.g. map data and/or GNSS positions. Typical boundary classifications may be, for example, hard virtual boundaries that the robot is not allowed to cross, soft virtual boundaries that the robot is allowed to cross, and soft virtual boundaries associated with physical obstacles, which soft virtual boundaries the robotic tool is allowed, but unable, to cross. Navigating the robotic tool relative to the boundary may comprise, for example, stopping the robotic tool from crossing the boundary, allowing the robotic tool to freely cross the boundary, or allowing the robotic tool to cross the boundary with a constraint imposed, such as allowing the robotic tool to cross the boundary by a maximum dead reckoning navigation distance, and/or allowing the robotic tool to cross the boundary once it has disabled a work implement of the robotic tool.
According to a third aspect, there is provided a method of defining a work area for a self-propelled robotic tool, the method comprising receiving input representing a virtual boundary, the virtual boundary comprising a plurality of boundary segments; for at least a subset of the boundary segments, receiving input representing a boundary classification; and for each boundary segment of said at least a subset, storing the boundary classification associated with the respective boundary segment.
According to a fourth aspect, there is provided a method of navigating a robotic tool within a work area defined by a boundary wire, the method comprising determining that a signal from the boundary wire cannot be reliably received; determining a GNSS position; estimating a GNSS positioning error; based on the GNSS position and the GNSS positioning error, determining a distance value representing a distance to the boundary wire; setting a maximum navigation distance based on the boundary distance value; continuing navigating the robotic tool; and if no signal from the boundary wire has been reliably received upon reaching the maximum navigation distance, executing a safety operation based on having reached the maximum navigation distance. The method may enable a robotic tool to keep operating even in the absence of a boundary wire signal, since the robotic tool may nevertheless be safely stopped or turned before or upon reaching the boundary wire.
According to a fifth aspect, there is provided a method of navigating a robotic tool within a work area defined by a boundary wire, the method comprising: based on GNSS signal reception, determining a GNSS position; based on GNSS signal reception, estimating a GNSS positioning error; determining that a signal from the boundary wire cannot be reliably received; based on the GNSS position and the GNSS positioning error, determining whether a distance to the boundary wire at least exceeds a limit distance; and if the distance to the boundary wire exceeds said limit distance, continuing navigating the robotic tool; else, executing a safety operation. Also this method may enable a robotic tool to keep operating even in the absence of a boundary wire signal, since the robotic tool may nevertheless be e.g. safely stopped or turned before or upon reaching the boundary wire. The position of the boundary wire may be represented by a virtual boundary, e.g. as a set of GNSS positions, such that the robotic tool can determine its position in relation to the boundary wire without receiving a boundary wire signal. The limit distance may be set to a positive value, such that a certain minimum distance to the boundary is required for continuing navigation. Alternatively, the limit distance may be zero or negative, to allow the robotic tool to cross the boundary wire to some extent. Present safety standards permit slightly crossing the boundary wire. Similar to what has been suggested hereinabove, mutatis mutandis, the distance used for determining whether a distance to the boundary wire at least exceeds a limit distance may be, for example, the shortest distance from the robotic tool to the boundary wire, the shortest distance from the robotic tool to a subset of boundary wire segments based on boundary wire segment classification, or the distance from the robotic tool to the boundary wire in the robotic tool's present heading. The safety operation may comprise stopping or turning the robotic tool, and/or stopping a work implement of the robotic tool.
According to embodiments, the boundary may be a virtual boundary representing the position of the boundary wire.
According to a sixth aspect, there is provided a self-propelled robotic tool comprising a positioning device configured to determine a position of the robotic tool within a work area; a dead reckoning device configured to generate a movement signal indicative of a movement of the robotic tool relative to a known starting position; and a controller configured to operate the robotic tool in accordance with any of the methods defined herein.
According to an embodiment, the positioning device may comprise a satellite navigation receiver such as a GNSS receiver.
According to an embodiment, the robotic tool is an outdoor robotic tool such as a robotic garden tool, for example a robotic lawnmower. According to other embodiments, the robotic tool may be a farming equipment, a vacuum cleaner, a floor cleaner, a street sweeper, a snow removal tool, a golf ball retriever robot, a cleaner robot, a leaves blower robot, a leaves collector robot, snow thrower robot or a mine clearance robot.
According to a seventh aspect, there is provided a computer program comprising instructions which, when the program is executed by a processor, cause the processor to carry out any of the methods defined herein.
According to an eighth aspect, there is provided a computer-readable medium comprising instructions which, when executed by a processor, cause the processor to carry out any of the methods defined herein.
It is noted that embodiments of each aspect of the invention may be embodied by all possible combinations of features mentioned with reference to the other aspects. In particular, it will be appreciated that the various embodiments described for the robotic tool are combinable with the methods as defined above.
The above, as well as additional objects, features and advantages of the present invention, will be better understood through the following illustrative and non-limiting detailed description of preferred embodiments of the present invention, with reference to the appended drawings, where the same reference numerals will be used for similar elements, wherein:
All the figures are schematic, not necessarily to scale, and generally only show parts which are necessary in order to elucidate the embodiments, wherein other parts may be omitted.
A wireless transceiver 32 is connected to the controller 26, and allows the controller 26 to wirelessly communicate with the base station 16 or any other device, such as a remote control or a smart phone (not shown), via e.g. any established wireless networking standards.
The robotic tool 14 further comprises a navigation system 34. In the illustrated example, the navigation system 34 comprises a dead reckoning device 36, which comprises one or several inertial navigation sensors 38 such as an accelerometer and/or a gyroscope. The dead reckoning device 36 allows the robotic tool 14 to keep track of its movement within the area 12 to be treated. The navigation system 34 may also comprise a compass (not shown), to provide basic orientation information that may compensate for any drift of the inertial navigation sensors.
The controller 26 also controls the propulsion motors 24, thereby controlling the propulsion of the robotic tool 14 within the area 12 to be treated. The propulsion motors 24 may be stepper motors, allowing the controller 26 to keep track of the respective number of turns of the motors 24, and thereby also the distance travelled by the robotic tool 14, as well as any turning angle of the robotic tool 14 when the motors 24 are operated at different speeds or in reverse directions. In this respect, the propulsion motors 24 may themselves operate as odometers. Alternatively, the wheels 20 may be provided with odometer indexers configured to provide feedback to the controller 26 about the number of turns of each motor 24. Navigation information from the odometers 24 is fused with navigation information from the inertial navigation sensors 38 in the dead reckoning device 36, to provide dead reckoning navigation information in relation to a known starting point.
The robotic tool may also comprise a magnetic field sensor 39 configured to detect a magnetic field emitted by a boundary wire (not shown) defining the perimeter of the work area 12. A boundary wire may be used for defining the boundaries of the area 12 to be treated, or to otherwise provide a reference to assist the robotic tool 14 to navigate.
The controller 26, navigation system 34, transceiver 32, and electric motors 24, 30 are powered by a battery 40. The robotic tool 14 is configured to navigate to the base station 16 on a regular basis, and/or whenever the battery charge is running low, in order to dock with the base station 16 for recharging the battery 40. The base station 16 may be connected so as to receive power from the electric power grid.
The navigation system 34 further comprises a positioning device 42 configured as a GNSS signal receiver connected to a GNSS antenna 44. The positioning device 42 is configured to receive a GNSS positioning signal from the navigation satellites 17a-d (
Turning now to
While the positioning device 42 continuously or regularly updates the robotic tool's 14 determined position while navigating, the controller 26 also continuously or regularly sets a maximum dead reckoning navigation distance. Each time an update of the robotic tool's position is reliably received by the positioning device 42, the maximum dead reckoning distance is set based on a boundary distance value, which is determined based on the robotic tool's 14 position relative to the boundary 13, and which represents a distance from the robotic tool 14 to the boundary 13.
In some situations, the positioning device 42 may become unable to determine the present position P. This may be the case, for example, when GNSS reception is shadowed by a tree, such that the positioning signals of an insufficient number of navigation satellites 17a-d can be received. This may pose a problem because, if the robotic tool 14 is unable to determine that it is within the work area, present safety standards require it to stop. However, thanks to having determined a maximum dead reckoning navigation distance, the robotic tool 14 may be allowed to continue operating until it has reached the maximum dead reckoning navigation distance.
The navigation method is illustrated in the flow chart of
In step 110, the positioning device 42 (
If the positioning device 42 was able to determine the position P, the controller 26 determines, in step 120, a boundary distance value based on the position P, and sets a maximum dead reckoning navigation distance based on the determined boundary distance value.
In step 130, if the maximum dead reckoning distance has not been set or is below a lower limit distance, the controller 26 executes a safety operation, which may or may not involve stopping the operation of the robotic tool 14, as will be described further below.
If the robotic tool 14 is allowed to continue operating, in step 140, the robotic tool 14 propels itself a distance increment across the work area, while the dead reckoning device 36 records the distance increment travelled.
In step 150, the controller subtracts the recorded distance increment from the maximum dead reckoning navigation distance, to obtain a new, updated, maximum dead reckoning navigation distance.
The method then repeats from the start.
Returning to
In an alternative embodiment, the robotic tool 14 may estimate a boundary distance value representing the distance D2 from its present position P to the boundary, as seen in the present heading direction H of the robotic tool 14, and determine the maximum dead reckoning navigation distance based on the distance D2. By way of example, the robotic tool 14 may set the maximum dead reckoning navigation distance to said distance D2. In such a scenario, the robotic tool 14 would execute a safety operation once it reaches point P2, situated at the intersection between the robotic tool's 14 present heading H and the circle defined by the maximum dead reckoning navigation distance D2. Once reaching the maximum dead reckoning navigation distance at P2, the safety operation may e.g. be to turn the robotic tool 14 left by 90° such that it remains within the work area 12, or to turn very sharply, such as by between 160° and 200°, such that it bounces against the virtual boundary 13 and moves back towards the centre of the work area 12. After turning, the robotic tool 14 may set a new maximum dead reckoning navigation distance based on a new estimated distance to the boundary 13. The controller 26 may be configured to select the safety operation, such as the turning direction and/or turning angle, based on a stored map representing the shape of the boundary 13. If turning by 180° at point P2, and assuming that there have been no substantial errors introduced in the dead reckoning navigation, the maximum dead reckoning navigation distance can be safely set to at least D2+D1.
In the event that the robotic tool 14 encounters an obstacle along its way from the point P towards the point P2, such that the robotic tool 14 is triggered to change its heading direction H, the controller 26 may change the maximum dead reckoning navigation distance accordingly. For example, it may instead base its maximum dead reckoning navigation distance based the shortest distance D1 as a fall-back. In fact, the controller 26 may, at each position P, estimate several different boundary distance values, such as the shortest distance D1 and the distance D2 in the heading direction H. The controller 26 may also, based on the plurality of boundary distance values, keep track of several different instances of a maximum dead reckoning navigation distance, wherein the different instances are continuously updated based on input from the dead reckoning device 36. The different instances may be used for different navigation scenarios; for example, one instance of the maximum dead reckoning navigation distance may be used if, or for as long as, the heading H is known, and another instance of the maximum dead reckoning navigation distance may be used if the heading H is unknown or lost.
In yet an alternative embodiment, the robotic tool 14 may determine the maximum dead reckoning navigation distance based on the distance D3 from its present position P to the boundary, as seen in the present heading direction H of the robotic tool 14 plus a dead reckoning navigation error. Such a situation is illustrated in greater detail in
Some boundary segments 13a, which are illustrated by solid lines in
In position P″, the robotic tool 14 may be configured to estimate a boundary distance value representing the shortest distance D6 from its present position P″ to the nearest hard boundary segment 13a. Based on the distance value, the robotic tool 14 determines the maximum dead reckoning navigation distance. By way of example, the robotic tool 14 may set the maximum dead reckoning navigation distance to said distance D6. In such a scenario, the robotic tool 14 would execute a safety operation, such as stopping or turning, if it reaches any point on the dashed circle of radius D6 before regaining GNSS reception. Again, in some occasions, depending on the present heading when the robotic tool 14 loses GNSS reception, the robotic tool will not turn around until it has penetrated a certain distance into the driveway 76, or until it has collided with and/or bounced against the wall of the building 72. Again, the robotic tool 14 may be configured to disable the cutting motor 30 (
In a central area 90 within the work area, far from the boundary wire 15, the boundary wire signal is too weak for the robotic tool 14 to detect. However, a positioning status may be reliably determined via GNSS positioning. By determining that the robotic tool 14 is sufficiently remote from the boundary wire 15, the robotic tool 14 may be allowed to continue operating within the central area 90. However, in some instances, GNSS reception may be intermittent or unreliable, for example in a GNSS shadow area 92, such that no GNSS signal may be reliably obtained.
When the robotic tool 14 enters the GNSS shadow area 92 at point P, the robotic tool 14 may estimate a boundary distance value representing the distance D8 from its present position P to the boundary wire 15/boundary 13, as seen in the present heading direction H of the robotic tool 14, and determine the maximum dead reckoning navigation distance based on the distance D8. By way of example, the robotic tool 14 may set the maximum dead reckoning navigation distance to said distance D8, minus a safety margin determined based on an estimated maximum GNSS positioning error E and an estimated maximum dead reckoning error. In such a scenario, the robotic tool 14 would execute a safety operation if it has still not detected the boundary wire signal once it reaches point P1 at the maximum dead reckoning navigation distance.
In all embodiments described herein, a safety margin may be subtracted from the distance the robotic tool is allowed to travel with insufficient navigation information, such as the maximum dead reckoning navigation distance described with reference to
Again, the boundary wire signal is not receivable by the robotic tool 14 in a central area 90, but by determining that the robotic tool 14 is sufficiently remote from the boundary wire 15, the robotic tool 14 may be allowed to continue operating within the central area 90. The situation of
The method described with reference to
In step 210, the robotic tool 14 receives GNSS signals.
In step 220, the robotic tool 14 determines, based on the received GNSS signals, a GNSS position P.
In step 230, the robotic tool 14 estimates, based on the received GNSS signals, a GNSS positioning error E.
In step 240, the robotic tool determines, based on the GNSS position P and the GNSS positioning error E, whether a distance to the boundary 13/boundary wire 15 at least exceeds a limit distance. According to embodiments, the limit distance may be determined based on the GNSS positioning error E; in particular, the limit distance may be set to correspond to the GNSS positioning error E.
If the distance to the boundary 13/boundary wire 15 exceeds said limit distance, the robotic tool 14 continues navigating by propelling itself forward in step 250; else, it executes a safety operation in step 260. The method may then repeat all over again.
The virtual boundary need not necessarily represent the position of the boundary wire 15. Instead, or additionally, a virtual boundary 13′″ may be defined separate from the position 13 of the boundary wire 15. By way of example, the virtual boundary 13′″ may define a sub-area 12′″ within the work area 12, in which sub-area 12′″ the robotic tool is allowed to continue operating without a boundary wire signal, based on a condition that its received GNSS position meets a predetermined positioning accuracy requirement.
The methods described herein may be implemented in a computer program, which may be loaded or loadable into the controller 26 for execution. The computer program may be carried by a computer readable medium, such as compact disc, flash memory, or similar device in any manner apparent to those skilled in the art.
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.
For example, the positioning device need not be a GNSS positioning device. Instead, positioning may be based on e.g. local beacons, machine vision, or any other method allowing the robotic tool's present position in the work area to be established in relation to the boundary. For an RTK-GNSS implementation, the wireless correction signal source need not be co-located with a charging unit, but may instead be configured e.g. as a separate RTK beacon.
In the claims, the word “comprising” does not exclude other elements or steps, and the indefinite article “a” or “an” does not exclude a plurality.
Number | Date | Country | Kind |
---|---|---|---|
1950013-1 | Jan 2019 | SE | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2019/084367 | 12/10/2019 | WO |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2020/143972 | 7/16/2020 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5938704 | Torii | Aug 1999 | A |
5944132 | Davies et al. | Aug 1999 | A |
20160278285 | Reigo | Sep 2016 | A1 |
20160334795 | Reigo | Nov 2016 | A1 |
20160349753 | Tojima | Dec 2016 | A1 |
20170120445 | Reigo et al. | May 2017 | A1 |
20170347521 | Tjernberg et al. | Dec 2017 | A1 |
20170357006 | Öhrlund et al. | Dec 2017 | A1 |
20180359916 | Zhou | Dec 2018 | A1 |
Number | Date | Country |
---|---|---|
103781602 | May 2014 | CN |
104471966 | Mar 2015 | CN |
106338989 | Jan 2017 | CN |
106489103 | Mar 2017 | CN |
107095622 | Aug 2017 | CN |
107885213 | Apr 2018 | CN |
107914271 | Apr 2018 | CN |
108142070 | Jun 2018 | CN |
108279004 | Jul 2018 | CN |
9912793 | Mar 1999 | WO |
2016102141 | Jun 2016 | WO |
2018135988 | Jul 2018 | WO |
Entry |
---|
International Search Report and Written Opinion in the International Application No. PCT/EP2019/084367 mailed Mar. 9, 2020. |
Office Action and Search Report for Swedish Application No. 1950013-1 mailed on May 31, 2019. |
Number | Date | Country | |
---|---|---|---|
20220124973 A1 | Apr 2022 | US |