Patent Publication Number: US-2021161065-A1

Title: Method for Updating a Collision Detection Algorithm in a Self-Propelled Robotic Tool

Description:
FIELD OF THE INVENTION 
     The present disclosure relates to a method in a self-propelled robotic tool, comprising at least one driving wheel driven by an electric motor, wherein the method detects a collision with another object, and includes measuring IMU parameters, predicting required motor currents based on the measured parameters and a prediction algorithm, controlled by prediction algorithm parameters, comparing predicted currents with actual currents to provide a current error, and carrying out a collision detection based on the current error. 
     TECHNICAL BACKGROUND 
     Self-propelled robotic tools such as robotic lawnmowers have become widely used. One conceivable method of detecting a collision between the robotic tool and another object is to obtain a measure of motor currents fed to electric motors driving the robotic tool and comparing those measures with expected motor currents as derived from inertia measurement unit, IMU, data, using a prediction algorithm. If for instance it is noted that the robotic tool moves much less than expected with regard to the motor currents, a collision with a foreign object may be detected. 
     A general problem associated with such methods self-propelled robotic tools is how to make them more reliable, for instance falsely detecting a collision to a lesser extent. 
     SUMMARY OF THE INVENTION 
     One object of the present disclosure is therefore to provide a more reliable collision detection method. This object is achieved by means of a method as defined in claim  1 . More specifically, in a method of the initially mentioned kind, the prediction algorithm parameters are repeatedly updated based on the current error exceeding a threshold. 
     This allows the prediction algorithm to adapt to circumstances where the robotic tool is used. For instance, in the case of a robotic lawn mower, if the lawn mower operates in thick, tough grass, the prediction algorithm can be adapted to compensate for this factor, such that false detections of collisions are not made simply by driving on the grass. This may also compensate for other factors such as ageing of the robotic tool driving means, etc., making the robotic tool more reliable. 
     Therefore, a general collision method algorithm can adapt to different circumstances and allow more reliable and efficient operation. 
     In a first control loop, a positive current error exceeding a positive threshold may be registered as an instance of a large positive error, while a negative current error exceeding a negative threshold may be registered as an instance of a large negative error. 
     A large positive error may increment an error counter while a large negative error decrements the same. 
     Then, in a second control loop, the prediction algorithm parameters may be updated based on the number of large positive and large negative current errors detected since a previous iteration of the second control loop. A positive reading of the error counter, exceeding a positive error count threshold, may update the prediction algorithm parameters in a first manner, while a negative reading of the error counter exceeding a negative error count threshold may update the prediction algorithm parameters in a second manner, contrary to the first manner. 
     At the end of the iteration of the second control loop, the error counter may be reset. 
     Typically, the first loop may be repeated between 1000 and 500000 times between every repeat of the second loop, and the first loop may be repeated between 100 and 5000 times per second. 
     The method may be implemented in a robotic garden tool, or agricultural tool, typically in a robotic lawn mower. 
     The prediction algorithm parameters may also be adjusted based on location of garden and earlier registered ground surface conditions detected. 
     The present disclosure also considers a self-propelled robotic tool comprising a control arrangement configured to carry out the above method. Generally, the robotic tool then includes corresponding devices or modules and is configured to carry out the steps of the above-defined method. 
     Further, the robotic tool may use at least one positioning data sensor, e.g. GPS (Global Positioning System), RTK (Real-Time Kinematics), or high-precision local positioning systems such as optical positioning, UWB (Ultra-Wideband), BLE (Bluetooth) positioning services, to adjust for variations in ground surface conditions based on location and time, and may use weather conditions such as humidity, temperature, rain, and ice to further adjust for weather dependent ground surface friction and environmental factors. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  shows a top view of a self-propelled robotic tool in the form of a lawnmower. 
         FIG. 2  shows components on the bottom side of the lawnmower. 
         FIG. 3  illustrates schematically components in a collision detection arrangement. 
         FIG. 4  shows a flow chart of a collision detection method 
         FIG. 5  illustrates flow charts describing the updating of a prediction algorithm. 
     
    
    
     DETAILED DESCRIPTION 
     Self-propelled robotic tools, for instance in the form of robotic lawnmowers  1  as shown in  FIG. 1 , have become widely used. The present disclosure may also be useful in connection with robotic tools configured as robotic vacuum cleaners, golf ball collecting tools or any other type of robotic tool that operates over a working area. Typically, such robotic tools intermittently connect to a charging station (not shown). 
     The present disclosure relates to methods and arrangements in such a robotic tool for detecting a collision with another object as the robotic tool moves. If a collision is detected, the robotic tool should carry out some measures, for instance moving back and changing its direction to find an unobstructed path. 
       FIG. 2  shows the bottom side of a robotic tool  1 . Typically, the robotic tool has a connector arrangement  3 , that allows the robotic tool  1  to intermittently connect to a charging station. In the illustrated case two driving wheels  5  are located at the rear end of the robotic tool and two swiveling wheels  7  are located in the front. The driving wheels  5  may typically each be individually driven by an electric motor, while the swiveling wheels  7  may be undriven. However, other configurations are possible, and may be preferred in some cases. For instance, a four-wheel drive configuration with a driven wheel in each corner of the robotic tool may be considered. A blade  9  for mowing grass is also shown. 
     Components used to control wheel movement and to detect collisions are schematically illustrated in  FIG. 3 . The robotic working tool moves over a covered area as controlled by a control unit  11 , typically devised as a computer. The control unit  11  controls the motors  13 , each running a wheel  5 , thereby moving the robotic working tool in accordance with a navigating scheme which is not discussed further. 
     The robotic tool comprises an inertia measurement unit, IMU,  15  which generally obtains data regarding the robotic working tool&#39;s movement. The IMU may thus comprise e.g. accelerometers and wheel movement sensors, and can produce one or more parameters in the group speed, roll, pitch, wheel movement, etc. 
     Further, the robotic tool may use sensors (GPS, RTK, or high-precision local positioning systems such as optical positioning, UWB, BLE positioning services), to adjust for variations in ground surface conditions based on location and time, and may use weather conditions such as humidity, temperature, rain, and ice to further adjust for weather dependent ground surface friction and environmental factors. 
     Based on data retrieved, it is possible for each wheel to obtain a prediction of the motor current needed to produce the sensed movement. This is done by means of a prediction algorithm  17 . For instance, the prediction may use a simple linear combination of parameters retrieved from the IMU  15  and optionally from the control unit  11 . 
         i   predicted   =c   1 *speed+ c   2 *speed_requested+ c   3 *pitch+ c   4 *roll+ i   offset    
     In the above example, measured speed, pitch and roll from the IMU is used as well as the requested speed as retrieved from the control unit, and a linear combination of those parameters and a current offset, i offset , equals the predicted needed motor current. It should be noted that such a prediction algorithm may of course be devised in other ways. 
     The predicted motor current is compared to the actual current used, and the difference constitutes an error  19 , which is used in a collision detection unit  21 . Typically, if the collision detection unit  21  senses that the actually used motor current is much higher than the predicted current, a collision may be indicated. This may be done for each wheel individually, or a joint detection scheme may be used. If a collision is detected, the control unit  11  is informed accordingly, such that it may carry out suitable measures, such as reversing the robotic work tool, changing its heading, and noting that there is an obstacle in the area in question in its navigation system. 
     It should be noted that prediction algorithm  17  and the collision detection  21  may most likely be software-implemented and integrated with the control unit  11 , although drafted as separate units here for illustration purposes. 
     The present disclosure suggests an arrangement  23  updating the prediction algorithm  17  based on the determined error  19  to achieve an improved robotic working tool behavior. 
       FIG. 4  summarizes in a flow chart a very basic method for detecting a collision. IMU parameters are measured  25  and based on those parameters a predicted motor current is determined  27 . This predicted current is compared  29  with the actual current. A collision detection procedure is carried out  31 , and if the actual current is much higher than the predicted current, a collision may be detected. 
     The prediction algorithm  17  of  FIG. 4  has before typically been adjusted over a number of test runs to correctly determine a collision and has then been the same for all robotic work tools produced in that release. 
     That scheme however, is not capable of dealing with some varying conditions that the robotic work tool is exposed to. For instance, wet, recently cut grass can become stuck under the robotic work tool, thereby increasing its weight, or can be stuck on the driving wheels changing the robotic tools characteristic. More importantly, the grass to be cut can have significantly different properties. The comparatively soft grass seed mixes often used in Europe will give a lesser driving resistance than tougher grass such as Tall Fescue, which is increasingly more common in North America. 
     If the determined current prediction value under normal conditions when no collision takes place is not close to the real power consumption of the motors, the robotic work tool will either detect false collisions or will fail to detect real collisions. 
     In the case of false collisions, a robotic working tool in the form of lawn mower will move over the lawn in an inefficient manner, and may not even reach the entire area, much likely preferring already cut areas or areas with softer grass. 
     Should the lawn mower instead fail to detect a real collision, the lawn mower will slip and may wear down spots of the lawn with its wheels. Further, less efficient cutting may take place. While it would be possible to allow different settings e.g. determined by grass type, soil, stone, gravel or other garden surfaces, this is difficult for an end user to handle in a correct manner. 
     The present method instead allows the collision detection algorithm to adapt itself to the specific preconditions that exists for any given robotic work tool and environment. In the example of a robotic lawn mower, the collision detection adapts to the garden where it is used and the type of grass therein. Further, it can adapt to temporary or seasonal conditions such as wet grass being stuck under the lawn mower or grass being tougher during parts of the growth season. It may also adapt to long term changes in the properties of the lawn mower itself, such as ageing. 
     When produced, every robotic work tool may have a default algorithm, which may work better or worse as the robotic work tool starts to run in its specific installation. After some running time, typically about an hour, the algorithm will have adapted itself to the grass in the garden for example, and the mower will then have an improved collision detection, allowing it to run efficiently in the garden. As the environment changes over the season (more or less grass growth) or over the mower life span (wear on motors), the collision detection algorithm may adapt to those changing conditions. 
       FIG. 5  illustrates the prediction algorithm  17  updating sequence that can be divided into a measuring loop  33  and an updating loop  35 . 
     The measuring loop  33  is repeated relatively frequently, for instance once every millisecond, which of course is only an example. In the measuring loop  33 , the current consumption is predicted  36  based on the prediction algorithm  17 . The predicted current consumption value is compared with the actual consumption to provide an error. If determined in a test  39  that the error is greater than a threshold, in the illustrated case 50 mA, i.e. a large positive error, an error category counter, error_cat,  38  is incremented  41 . If it is determined on the other hand in a test  43  that the error is more negative than another threshold, in the illustrated case −50 mA, i.e. there is a large negative error, the error category counter, error_cat,  38  is decremented  45 . The thresholds+1-50 mA is only an example and should be selected depending on other parameters of the motor and driving system, for instance. The threshold should in most cases be lower than a threshold used to detect a collision. 
     If the measuring loop  33  frequently experiences large positive errors and no or few negative errors, the error category counter  38  will quickly reach a great positive value. If instead the errors are negative, the error category counter  38  will instead reach a large negative value. In case the prediction algorithm  17  is relatively accurate or mixes positive and negative errors, the error category counter will have a low value. 
     The updating loop  35  runs with a much lower frequency than the measuring loop  33 , in the illustrated case every second minute, although this is just an example. In most possible embodiments, the measuring loop  33  runs several thousand times for every cycle of the updating loop  35 . 
     In the updating loop  35  it is tested  47  whether the error category counter  38  is higher than a positive threshold, in the illustrated case  12000 . If this is the case, a prediction algorithm setting is adjusted  49  in one direction. Typically, the current offset term i offset  may be increased 5 mA. If on the other hand the category counter  38  is lower than a negative threshold, in the illustrated case more negative than −12000, the prediction algorithm setting is adjusted in the other direction, the offset term being decreased in the same way. In any case, the error category counter  38  may subsequently be reset  55 . This starts a new time window to base an update on. 
     The terms positive and negative error of course depends on whether the predicted current is subtracted from the actual current or vice-versa. As the skilled person realizes, the parameters are updated such that a better prediction is made. 
     The coefficients of the algorithm could be stored in non-volatile memory so that the mower remembers its adapted algorithm in between power cycles. 
     The present disclosure is not restricted to the above-described examples and may be varied and altered in different ways within the scope of the appended claims.