| WO/2008/017486 | POSITION-DETERMINATION APPARATUS |
| WO/2009/097354 | SERVICE ROBOT AND METHOD OF OPERATING SAME |
| JP2008165289 | ROBOT SYSTEM |
GRIFFINI, Alberto (Via Piave 3b, Pontiloro, cr, I-26034, IT)
| CLAIMS 1. Method for controlling a self-propelled robot device (10), comprising the steps of: obtaining and storing data relating to the operating region (R) of said self-propelled robot device; driving said self-propelled robot device (10) according to said data relating to the operating region (R) and to data obtained by an inertial navigation system (24) (step 104) ; characterized in that said method further comprises the steps of: setting a predetermined control time period (ΔΤ) (step 102) ; periodically stopping said device when said time period (ΔΤ) has lapsed (step 108); as the self-propelled robot device (10) is standstill, determining on the spot the absolute position of said device by means of a satellite detection system (26) (step 110) ; comparing the presumed position of said self-propelled robot device (10) as deriving from said data of said inertial navigation system (24) with the absolute position of said device (10) as determined by said satellite detection system (26) (step 112); rectifying the position and the course layout of said self-propelled robot device (10), according to the results of said comparison (step 114); setting in motion again said self-propelled robot device (10) according to said rectified data (step 116) . 2. Method according to claim 1, wherein said rectifying step (step 114) comprises a further statistical rectifying routine including the following steps: identifying a plurality of parameters (pi, p2, P3... PN-I) relating to the position of said device (10) at each of the positions (1, 2, 3... N-l) at which the previous corrections have been made and assigning to each of said parameters a probability distribution (step 202); obtaining the values of said parameters (pN) as obtained and stored by said satellite detection system (26) (step 204) ; assigning to each of said values of said parameters (pN) an index of the probability that the corresponding value is correct (step 206); setting a predetermined threshold for said probability index ; discarding the parameters having a probability index higher than said threshold (step 208); selecting the parameters having a probability index lower than said threshold (step 210); calculating the error accumulated by said inertial navigation system (24) according to the values of the parameters obtained by said satellite detection system (26) and further selected on statistical basis in the previous steps (step 212) and rectifying the position and the advancing course of said self-propelled robot device (10) (step 214) ; updating said probability index of said selected parameters (step 216). 3. Method according to claim 1 or 2, wherein said control time period (ΔΤ) is not fixed, but it is modified according to the error between the values obtained by said inertial navigation system (24) and the values obtained by said satellite detection system (26). 4. Method according to any of the claims 1 to 3, wherein said data relating to the operating region (R) are manually inputted by the user. 5. Method according to any of the claims 1 to 3, further comprising a preliminary procedure for obtaining the data relating to the boundaries of said operating region (R) , said preliminary procedure comprising the steps of: placing said self-propelled robot device (10) at a starting point (S) , preferably provided on the perimeter (P) of said operating region (step 302); obtaining and storing the values of the parameters relating to the position of said starting point (S) (step 304) ; driving said self-propelled robot device (10) along the perimeter (P) of said operating region (R) up to coming back to said starting point (S) (step 306); and in the same time detecting by said inertial navigation system (24) and/or by said satellite detection system (26) the data relating to the geometry and length of said perimeter (P) (step 306'); and in the same time detecting by a proximity sensor the presence and position of possible obstacles (0,F) within said operating region (R) and the perimeter (Ρ',Ρ'') of the surrounding area (step 306''); exploiting the obtained data for calculating the complex polygon representing the boundaries of said operating region (R) (step 308); transforming said complex polygon in a suitable vector representation (step 310). 6. Method according to claim 5, wherein during said preliminary procedure additional data are further obtained, said data relating for instance to the conformation of the ground, such as slope and unevenness of the ground. 7. Method according to claim 5 or 6, wherein said preliminary procedure comprises the step of: dividing said operating region (R) in a plurality of cells (C) ; and obtaining, storing and associating to each of said cells (C) the data relating to the position and the features of said cell. 8. System (20) for controlling a self-propelled robot device (10), characterized in that it comprises at least: a central computing and controlling unit (22); an inertial navigation system (24), comprising one or more inertial sensors (24i, 242, 243) ; a satellite detection system (26), comprising a satellite detector (261); one or more memory devices (28); said control system (20) controlling the advancing of said self-propelled robot device (10) according to the data relating to the operating region of said device and stored in said memory devices (28) and to data obtained by said inertial navigation system (24), said control system (20) further periodically controlling the standstill of said device (10), the acquisition on the spot of data relating to the position of said device (10) by said satellite detection system (26) and the correction of the position and advancing course of said device (10) according to said data obtained by said satellite detection system (26). 9. System (20) according to claim 8, wherein said central computing and controlling unit (22) further comprises an algorithm for selecting on a statistical basis the data obtained by said satellite detection system (26) according to the data previously obtained by said satellite detection system (26). 10. System (20) according to claim 8, wherein said inertial navigation system (24) comprises one or more among the sensors selected in the group comprising: odometers, gyroscopes, accelerometers , compasses. 11. System (20) according to claim 8, wherein said satellite detection system (26) comprises a GPS detector or a DGPS detector . 12. System (20) according to any of the claims 8 to 11, further comprising a proximity sensor suitable for detecting the presence of obstacles and the position thereof within said operating region of said self-propelled robot device (10) . 13. System (20) according to any of the claims 8 to 12, further comprising a interface (30) for communicating with the user, said interface (30) comprising a keypad for the manual inputting of data in said system (20) and/or a receiver for obtaining data from an external device and/or a screen for displaying the operating parameters of said self- propelled robot device (10) . 14. Self-propelled robot device (10) comprising a control system according to any of the claims 8 to 13. 15. Self-propelled robot device (10) according to claim 14, wherein said self-propelled robot device is a lawn-mowing robot device (10) . |
DESCRIPTION
Technical Field
The present invention relates to a method for controlling a self-propelled robot device, such as a robot device for mowing grass or a robot device for performing household cleaning .
The present invention also relates to a control system carrying out the aforementioned method.
Prior Art
Self-propelled robot devices capable of mowing grass of a lawn or cleaning the floors in a building are currently known and available on the market.
The simplest of these robot devices have a rudimentary control system and randomly roam within a confined space.
Obviously, the performances of these robot devices are poor, whereby they can not be used for complex tasks.
For example, in the case of robot devices for mowing grass, devices with such a rudimentary control system can not be used for applications in areas with a complex perimeter, including portions on which the device should not intervene
(e.g., paths , flowerbeds and the like) .
Self-propelled robot devices are known which have a more sophisticated control system, which provides for the use of complex sensors, such as wireless sensors, proximity sensors, infrared and/or radio-frequency sensors, and so on.
However, the use of devices incorporating such a control system involves the need for careful preparation of the working surface, thus making any subsequent changes complex and expensive.
Moreover, the performances of these devices have proved unsatisfactory, particularly in terms of swiftness in completing the intended tasks and corresponding energy consumption (fuel or electric power) .
In more recent times, satellite control systems and inertial control systems have been proposed for this type of self- propelled robot devices.
Even such devices, however, are not free from drawbacks.
Purely satellite control systems, using for example a GPS (Global Positioning System) , even if they allow to obtain an absolute position of the self-propelled robot device, lose precision when used in small spaces, such as buildings and small gardens.
In addition, high-precision GPS are available on the market but they are very expensive, which makes them incompatible with applications to small robot devices, such as devices for mowing grass or performing household cleaning.
Purely inertial control systems, using e.g. odometers, gyroscopes, accelerometers and similar instruments, do not allow error compensation, whereby errors tend to accumulate during operation of the self-propelled robot device.
In Eric Abbott, David Powell: "Land Vehicles using GPS," Proceedings of the IEEE, vol. 87, No. 1, January 1999, pp. 145 to 162, the authors mention the possibility of using an inertial control system to support a satellite control system; however, according to this disclosure the inertial control system would be intended to be used only for short periods when the satellite signal is not available.
The object of the present invention is to overcome the drawbacks of prior art by providing a method and a system for controlling self-propelled robot devices that allows to drive said robot devices in a simple and reliable but still highly accurate way, and also along complex paths.
This and other objects are achieved by a method and a system for controlling self-propelled robot devices as claimed in the appended claims.
Disclosure of the Invention Thanks to the fact that the control method and control system according to the invention combine the advantages arising from the inertial control of the self-propelled robot device and those arising from the satellite control of the same, it is possible to control said device with high precision and reliability .
According to the invention, the control method involves the iteration of a loop comprising the following steps:
the self-propelled robot device is driven by an inertial navigation system for a set time period or a set distance and data relating to the position and path of the device are continuously or periodically recorded;
the device is stopped;
- the absolute position of the device is determined thanks to a satellite detection system;
the presumed position, as calculated and recorded by the inertial navigation system, is compared with the absolute position, as detected with good approximation by the satellite detection system;
using an adequate algorithm, the deviation from the course is determined and compensated;
upon correction according to the compensation calculated above, the device is driven again by said inertial navigation system.
Therefore, contrary to what is suggested by Abbott and Powell, according to the invention the self-propelled robot device is mainly driven by an inertial navigation system and the satellite detection system is used only occasionally and on the spot for purpose of correction.
The periodic correction of the inertial navigation system by means of satellite detections thus prevents the course error from accumulating.
The inertial navigation system may comprise one or more instruments selected in the group comprising: an odometer for measuring the travelled distance; one or more gyroscopes; one or more accelerometers ; an electronic compass.
The satellite detection system for the compensation of course errors may comprise a DGPS (Differential Global Positioning System) .
According to the invention the correction algorithm may advantageously comprise the following steps:
detecting and recording a plurality of parameters relating to the course of the self-propelled robot device during its movement;
comparing the values of the recorded parameters with the values of said parameters at the previous detection and correction step;
- assigning to each parameter an index of probability that the recorded data is correct based on a principle of consistency with previous detections;
selecting the parameters with a probability index below a set threshold and removing the parameters with a probability index higher than said threshold;
detecting the absolute position by means of the satellite detection system and calculating the error, and possibly
calculating the maximum distance that can be travelled before stopping the device for the next error compensation .
Advantageously, according to a preferred embodiment of the invention, a procedure for detecting, recording and mapping the operating region is carried out before starting the effective operation of the self-propelled robot device, wherein said procedure comprises the steps of:
placing the device at the starting point and recording the parameters relating to the position of the device itself; driving the device along the perimeter of the operating region starting from said starting point and coming back again to said starting point, while detecting and recording the parameters relating to said perimeter using the instruments of the inertial navigation system and/or of the satellite detection system;
on the basis of the data collected and recorded data, calculating the complex polygon that determines the perimeter of the operating region;
- describing said complex polygon by a vector representation .
Furthermore, always according to a preferred embodiment of the invention, the area of the operating region is subdivided into an array of cells of desired size and each cell is associated with the corresponding data relating to the parameters obtained by the instruments of the inertial navigation system and/or of the satellite detection system, with particular reference to the presence of obstacles and - in the case of outdoor applications - the ground conformation.
Alternatively, the steps of mapping and, in case, subdividing into cells can be carried out by an external device (e.g., a computer) and transmitted from said device to the self- propelled robot device.
Brief description of the drawings
Additional features and advantages of the invention will be more evident to the person skilled in the art from the detailed description of a preferred embodiment of the invention, given by way of non-limiting example with reference to the attached Figures wherein:
Figure 1 is a schematic representation of a self- propelled robot device incorporating a control system according to the invention;
Figure 2 is a block diagram schematically illustrating the control system according to the invention;
Figure 3 is a flow chart schematically illustrating the main steps of the control method according to the invention ;
- Figure 4 is a flow chart schematically illustrating the main steps of the correction algorithm of the control method according to a preferred embodiment of the invention ;
Figure 5 schematically shows the operating region of the self-propelled robot device of Figure 1;
Figure 6 is a flow chart schematically illustrating the main steps of the operating region mapping operations according to the control method according to the invention .
Detailed Description of a Preferred Embodiment of the Invention
With reference to Figures 1 and 2, a self-propelled robot device, namely a lawn-mowing robot device 10, is schematically illustrated.
It is to be noted that although the following detailed description is given with reference to a lawn-mowing robot device 10, the invention can also be incorporated in any other self-propelled robot device (such as a vacuum cleaning device) .
The lawn-mowing device 10 includes a housing 12 mounted on wheels 14 for moving in the advancing direction F and is provided with blades 16 or other means for mowing grass and other vegetation.
The lawn-mowing device 10 is preferably driven by an electric motor (not shown) powered by batteries (also not shown) mounted on board.
According to the invention, the lawn-mowing device 10 is provided with a control system 20 that includes at least: a central computing and controlling unit 22; an inertial navigation system 24, comprising one or more inertial sensors 24 i , 24 2 , 24 3 ,·
a satellite detection system 26, comprising a detector 2 6i for detecting the absolute position of the device 10;
one or more memory devices 28;
whereby said control system 20 controls the advancing of said device 10 on the basis of the data relating to the operating region stored in the memory devices 28 (as will be explained in more detail below) and on the basis of the data obtained by the sensors of the inertial navigation system 24 and processed by the central unit 2 and whereby said control system 20 also periodically controls the standstill of the device 10, the detection of the data relating to the position of the device 10 obtained by the satellite detection system 26 and the correction of the position and advancing course as determined from data obtained by said sensors of said inertial navigation system 24 by means of the data obtained from said satellite detection system 26.
More particularly, the inertial navigation system 24 may include one or more sensors selected from the group consisting of: odometers, gyroscopes, accelerometers , compasses. However, any inertial navigation instrument may be used, wherein "inertial navigation instrument" means any electrical, mechanical or electro-mechanical equipment capable of determining and recording the position and advancing course of the device 10 without the need for external references.
The satellite detection system 26 preferably includes a GPS detector or, even more preferably, a DGPS detector. However, any satellite detector can be used, wherein "satellite detector" means any detector capable of determining with good approximation the absolute position of the device 10 by analyzing the signal coming from a satellite. The memory devices 28 allow to store data relating to the operating region. These data can be inputted by the user or they can be automatically obtained by the control system of the device 10, as will be described below.
In addition, the data obtained from the inertial navigation system 24 and/or the satellite detection system 26 during operation of the device 10 can advantageously be stored in the memory devices 28.
The control system 20 advantageously further comprises a proximity sensor (such as an infrared sensor or ultrasonic sensor) suitable for detecting the presence of obstacles (trees, rocks, flowerbeds) and their position within the operating region of the device 10.
The control system 20 may also include an interface 30 for communicating with the user, wherein said interface 30 can include, for example:
a keyboard for direct entry of data by the user;
a wired (e.g. USB) or wireless receiver for data acquisition by an external device such as a computer; - a screen for displaying the operating parameters of the device 10.
Figure 3 shows a flow chart schematically representing the control method according to the invention, according to which the control system 20 is operated:
- at step 100, the control loop is started;
at step 102, the flag i is set equal to 0, the initial time is set equal to 0 and an appropriate time period At is set;
at step 104, the lawn-mowing device 10 is driven according to the data relating to the operating region and stored in the memory devices 28 and according to the data obtained by the sensors of the inertial navigation system 24 and processed by the central 22; this steps continues until the time period set above has lapsed (control step 106);
once said time period has lapsed, at stage 108, the device 10 is stopped;
at step 110, the absolute position of the lawn-mowing device 10 is determined by the satellite detection system 26;
at step 112, the presumed position of the device 10 as derivable from the data of the inertial navigation system 24 is compared with the absolute position of said device as obtained by the satellite detection system 26;
at step 114, the central computing and controlling unit 22 rectifies the position and the course layout of the device 10 according to the aforementioned comparison and corresponding error;
at step 116, the flag i is increased, the device 10 is set in motion again and a new control loop is started. Advantageously, according to the invention at step 110 of determining the absolute position by means of the satellite detection system 26 the device 10 is kept standstill in order to collect a sufficient number of reference points and thus obtaining a good approximation of the absolute position of the device 10. This is possible because according to the invention the satellite detection system 26 is not used to drive the device 10 but it only intervenes on the spot for purpose of correction.
Advantageously, by operating the control system according to the invention in accordance with the control method according to the invention it is possible to prevent the error accumulation that would inevitably occur when using a purely inertial navigation system.
With particular reference to the course correction step, Figure 4 shows a flow chart that schematically represents a correction method according to a preferred embodiment of the invention .
According to this embodiment, if the correction made by the satellite detection system 26 is not sufficient, it can be integrated with an additional statistical correction routine. Said statistical correction routine mainly comprises the following steps:
at step 200, the correction loop is started;
at step 202, a plurality of parameters pi, p 2 , P3, . . .
PN-I relating to the position of the device 10 at each of the positions 1, 2, 3... N-l at which the previous corrections have been made are identified and a probability distribution is assigned to each of said parameters ;
at step 204, the values of said parameters p N at the position of the current correction as obtained by the instruments of the satellite detection system 26 and stored in the memory devices 28 are obtained;
at step 206, an index of the probability that the corresponding value is correct is assigned to each of said values of these parameters p N and said probability index is compared with a set threshold; the probability index of each parameter is affected by the distribution probability and by the errors determined during the previous control loops 1, 2, 3 ... N-l;
- at step 208, if the probability index is higher than said threshold, the value of the corresponding parameter is discarded and it will not be taken into account in successive correction loops;
at step 210, the values of the parameters having a probability index lower than said threshold are selected;
at step 212, the error accumulated by the inertial navigation system 24 is calculated according to the values obtained by the satellite detection system 26 and further selected on a statistical basis and, at step 214, the position and advancing course of the device 10 are corrected accordingly;
at step 216, the probability indexes of the parameters are updated according to the calculated errors.
Advantageously, selecting parameters having the highest probability to have a correct value allows to make the correction more effective and reliable.
More particularly, thanks to this expedient the time period ΔΤ between subsequent corrections can be increased, thus limiting the periods while the device 10 is standstill and, as a result, reducing the overall time for carrying out the tasks set by the user.
Turning now to Figure 5, it is clear from the above disclosure that before starting the lawn-mowing operations, the data relating to the characteristics of the operating region R, with particular reference to the outer perimeter P of said region R, to the presence of obstacles 0, to the presence of areas in which the mowing operation is to be suspended (for example at flowerbeds F) should be inputted in the memory 28 of the control system 20 of the lawn-mowing device 10; in addition, further data relating to slope, unevenness and other characteristics of the ground at different locations of the operating region R can also be inputted.
Said data can be manually inputted by the user, for example through the interface 30 of the control system 20.
However, with reference to a preferred embodiment of the invention, the control method according to the invention includes a preliminary procedure for obtaining data relating to the boundaries of the operating region; Figure 6 shows a flowchart representing said preliminary procedure, which involves the following steps:
at step 300, starting the procedure; at step 302, placing the device 10 at a starting point S, preferably situated along the perimeter P of the operating region R; for example, said starting point may be provided at the station for charging the batteries of the device 10;
at step 304, while the device 10 is standstill at the starting point S, obtaining and recording the values of the parameters relating to the position of said starting point S;
- at step 306, driving the device 10 along the perimeter of the operating up to coming back to the starting point S and, at the same time, detecting by the inertial navigation system 24 and/or the satellite detection system 26 the data relating to the shape and extension of said perimeter P (step 306') / as well as detecting by means of a proximity sensor (e.g. an infrared sensor or ultrasonic sensor) the presence and location of any obstacles 0, F and the perimeter P' , P' ' of the surrounding area (step 306'');
- at step 308, using the data obtained in the previous steps for calculating the complex polygon representing the boundaries of the operating region;
at step 310, transforming said complex polygon into a suitable vector representation, for example in Cartesian coordinates.
As mentioned above, the data obtained in the steps 306-306'- 306'' mainly concern the position of the device 10 as it moves along the perimeter P of the operating region R, in order to calculate the complex polygon representing said perimeter.
However, preferably additional data are obtained, concerning for instance the ground conformation, the availability of satellite signals, the latitude, longitude and absolute height, and so on. Returning now to Figure 5, the preliminary procedure of the control method according to the invention, where appropriate, may provide, instead of a simple detection of the boundaries of the operating region R, an actual mapping of said region R. In other words, the operating region R is subdivided into an array pattern comprising a plurality of cells C of the desired size and for each of said cells C the data relating to the location and characteristics of said cell are obtained and recorded.
Alternatively to the disclosure with reference to Figures 5 and 6, the operations of mapping and possibly subdividing into cells can be carried out by an external device (e.g., a computer) and transmitted from said device to the self- propelled robot device using a suitable interface.
It is evident from the above disclosure that the control method and the control system according to the invention achieve the object set forth above and allow to reliably and accurately drive a self-propelled robot device.
It is also evident that the above disclosure has been given by way of non-limiting example and that several modifications and variations are possible without departing the scope of protection of the invention, as defined by the appended claims .
In particular, although the above-described embodiment refers to a self-propelled robot device for mowing grass, the invention can be applied to a self-propelled robot device designed for any function, such as for instance:
sucking solids and liquids;
washing or cleaning the underlying surface;
- spreading liquids or gases (such as fertilizers, pesticides, herbicides) ;
spreading solid products (e.g. seeds);
monitoring the operating region (e.g. by means of a camera) ; and so on
