Applicant claims priority under 35 U.S.C. § 119 of German Application No. 10 2018 120 577.5 filed Aug. 23, 2018, the disclosure of which is incorporated by reference.
The invention relates to a floor processing device that automatically moves within an environment, with a driving attachment for moving the floor processing device in the environment, a floor processing unit for executing a floor processing operation, an obstacle detection unit for detecting obstacles in the environment, a control unit for automatically navigating and self-localizing the floor processing device and a detection unit for detecting device parameters and/or environment parameters, wherein the control unit is set up to determine an error of the floor processing device based upon the detected parameters that prevents the floor processing device from moving and/or the floor processing device from processing a surface to be processed in such a way that the floor processing device is unable to automatically extricate itself from the error situation.
In addition, the invention relates to a method for operating a floor processing device that automatically moves within an environment, wherein the floor processing device is moved in the environment by a driving attachment, wherein the floor is processed by means of a floor processing unit, wherein an obstacle detection unit detects obstacles in the environment, wherein the floor processing device automatically navigates and localizes itself in the environment by means of a control unit, and wherein a detection unit detects device parameters and/or environment parameters, and wherein the control unit determines an error of the floor processing device based upon the detected parameters that prevents the floor processing device from moving and/or the floor processing device from processing a surface to be processed in such a way that the floor processing device is unable to automatically extricate itself from the error situation.
Floor processing devices of the aforementioned kind are known in prior art in a plurality of different embodiments. For example, the floor processing devices can be cleaning devices, polishing devices, lawnmowers or others. In particular, the automatically moving floor processing device can be designed in the form of a mobile vacuuming and/or wiping robot.
Publications DE 10 2011 000 536 A1 and DE 10 2008 014 912 A1 disclose automatically movable robots for cleaning floors. The robots are equipped with distance sensors, which can measure distances to obstacles, for example pieces of furniture or spatial boundaries. An area map is generated from the measured distance data, based upon which a movement route can be planned that avoids a collision with obstacles. The distance sensors preferably operate without contact, for example with the assistance of light and/or ultrasound. Further known is to provide the robot with means for all-round distance measurement, for example with an optical triangulation system, which is arranged on a platform that rotates around a vertical axis or the like. The acquired distance data to obstacles are processed into an area map by means of a computing device of the robot and stored, so that the robot can retrieve this area map during the course of an operation, so as to orient itself within the environment.
Further known in prior art, for example from EP 2 252 190 B1, is that a floor processing robot stores a plurality of locations within an environment and executes a floor processing activity at the latter, wherein a floor processing frequency is tracked at each location. Work routines are adjusted or tailored so as to be able to optimally process all locations, for example wherein locations used more frequently by people are processed more frequently than less used locations. The robot can have one or several sensors that recognize its location and/or the position of obstacles. For example, the robot can here also determine that it is located underneath a piece of furniture, so as to then use a different floor processing pattern.
The disadvantage to the aforementioned automatically moving floor processing devices is that they always continue to approach locations in the environment again even when a malfunction of the floor processing device or an inadvertent termination of the floor processing activity has taken place there in the past. The floor processing device is not set up to prevent such situations from the very outset.
Proceeding from the aforementioned prior art, it is thus the object of the invention to design the floor processing device in such a way that it acts predictively while navigating within the environment, so as to prevent in advance error situations from which it cannot automatically extricate itself and/or which prevent a continued processing of the surface to be processed.
In order to achieve the aforementioned object, it is proposed that, for purposes of a self-learning error avoidance, the control unit of the floor processing device be set up to analyze the parameters detected by means of the detection unit with respect to recurring patterns, which are characterized by a repeatedly encountered combination of an error and at least one chronologically preceding environment and/or device parameter.
According to the invention, the floor processing device thus has a self-learning function for predictively preventing error situations. To this end, the data recorded by one or several detection units of the floor processing device, i.e., the detected parameters of the environment and/or floor processing device, are stored and/or analyzed, so that given a renewed occurrence of an identical error case, an analysis of the situation can be performed within a defined timeframe before the error arises. The detection unit is set up to detect current measured values and/or settings of sensors and/or actuators of the floor processing device. The data thus available to the control unit are used for purposes of analyzing error situations and generating a prediction as to how such an error situation can be prevented during future floor processing operations and/or movements of the floor processing device. For example, not just individual values for environment parameters and/or device parameters can here be analyzed, but rather a chronological progression of the parameters prior to the occurrence of an error situation as well. The data of the detection unit are analyzed for recurring patterns with methods involving artificial intelligence, so as to be able to predict an error situation in the future. For example, a neuronal network can be trained, e.g., with so-called “machine learning” methods. After the error detection unit has determined an error, the cause that led to the occurrence of the error can be determined by analyzing the sensor and/or actuator values of the floor processing device. If an error occurs again at a later time, the newly recorded data of the detection unit are used to improve an error forecast. The overall autonomy of the floor processing device is thus improved, since a complete cleaning of the environment, for example of a home, can be ensured without an error situation arising once again. The floor processing device can be reliably prevented from terminating an operation, which would make it necessary to reactivate it through a manual intervention by a user.
It is proposed that the detected errors and preceding environment and/or device parameters in combination with information about a position of the floor processing device in the environment and/or with time information be detected and stored. The detected errors and environment and/or device parameters are thus combined with location and/or time information and stored, so that the control unit can consider where and/or when a respective environment parameter and/or device parameter and/or error was detected. The environment parameters, device parameters and/or errors can be detected continuously or at defined, in particular equidistant, times. A memory of the floor processing device can contain a database, in particular a table stored therein, with detected parameters and errors allocated to specific locations and times. If an identical or similar error of the floor processing device occurs later at the same location in the environment and/or at the same time, for example times of day, days of the week or the like, it can be checked whether the same environment and/or device parameters of the floor processing device were on hand before or during the occurrence of the error. This further develops the self-learning function of the floor processing device, and prevents the same error from occurring in the future.
It is further proposed that the control unit be set up to analyze the data with regard to recurring combinations of environment and/or device parameters recorded chronologically before and/or during the occurrence of an error and ensuing errors, and upon detection of a recurring combination to store the latter as a reference pattern. In order for a combination of a specific error and environment and/or device parameters to be defined as a reference pattern and stored, this constellation must have already been encountered beforehand during the movement and/or floor processing of the floor processing device. The patterns arising in an error case can thus be stored as a reference pattern given a repeated, at least twofold, occurrence. A reference pattern preferably contains at least one detected environment parameter and/or device parameter and an error that arose in conjunction with this environment and/or device parameter. During continued movements and/or processing activities of the floor processing device, the then currently recorded data, i.e., parameters, are compared with the defined reference patterns, and given a correlation or major similarity, it is determined that an error will soon occur if measures are not taken to avoid the error. In addition to linking the information about environment/device parameters and errors, a stored reference pattern can also contain additional information, for example specifically indications about a location of the floor processing device during the detection of the respective parameter and/or about a time at which the parameter was detected. For example, a reference pattern can contain a data set with a time of day, the whereabouts of the floor processing device in the environment, a speed of the driving attachment of the floor processing device measured at this time and at this location, and an error that occurred in the situation, for example a blocking of the driving attachment. If the control unit now determines that the floor processing device is currently at the same location in the environment and the same value is present for the respective device parameter, specifically the same level of speed for the driving attachment, it can be concluded that the same error, specifically a blocking of the driving attachment, will shortly occur. The device parameter is here especially preferably detected not only at a single point in time, but rather over a chronological progression, i.e., over a specific timespan, for example. As a result, it can be determined that, over the course of time, specifically during the floor processing or movement of the floor processing device, the detected device parameter moves in the direction of the value corresponding to the value of the device parameter at the time the error occurs. If an error occurs repeatedly, the newly recorded data can be used to improve the forecast, i.e., the reference pattern. This improvement can take place automatically within the framework of regular operating activity. Alternatively, it is also possible that the user manually bring the floor processing device into a critical, i.e., error-prone, situation, thereby provoking the occurrence of an error, and the predictive algorithm of the floor processing device can learn and improve the reference pattern.
In this sense, it is thus suggested that the control unit also be set up to compare parameters detected during an ensuing floor processing and/or movement of the floor processing device with stored reference patterns, so as to prevent an imminent error of the floor processing device through corresponding measures.
It is further proposed that the control unit be self-learning in design, so as to, given a match between currently detected parameters and a reference pattern, automatically control a change in operation of the floor processing device to prevent an otherwise imminent error and/or to control an output of information about the imminent error to a user to enable a manual action. According to the embodiment mentioned first, the control unit of the floor processing device automatically effects a change in operation of the floor processing device to prevent the occurrence of an otherwise shortly imminent error according to the detected parameters. In the second mentioned case, the control unit does not automatically change the operation of the floor processing device, but rather first outputs information to a user of the floor processing device, for example via a display of the floor processing device or also via an external terminal having a communications link with the floor processing device. The output information can tell the user which errors of the floor processing device could occur and possibly where the floor processing device is located at the present time and/or how large a timespan there is before an error could occur. The user preferably receives a notification of what he or she can do to avert the error, i.e., which change in the operation of the floor processing device the user must make or set. The selection and/or input by the user can be stored and used given a repeated error case to circumvent the error. For example, a user input can involve manually teaching the floor processing device, in which the user manually moves the floor processing device or controls it by means of a remote control. In like manner, inputs can be made in an area map shown on a display or by means of gestures and/or speech. Device parameters and/or predefined error avoidance strategies can be manually relayed to the floor processing device.
It is proposed that the detection unit be set up to detect one or several environment and/or device parameters, selected from the following group: Movement route of the floor processing device, setting and/or operating status of a floor processing unit and/or the obstacle detection unit, power consumption of an electric motor that drives the driving attachment and/or floor processing unit, rotational angle and/or rotational speed of the driving attachment, spatial orientation and/or inclination of the floor processing device, ambient temperature, ambient humidity, operating temperature of an electric motor and/or a floor processing unit of the floor processing device, pressure within a suction channel of the floor processing device and/or ambient pressure. It goes without saying that additional environment and/or device parameters can be detected if the floor processing device has detection units with suitable sensors for this purpose. For example, the sensors for detecting the environment/device parameter can comprise a current measuring unit, a rotational angle transducer, a speedometer, an infrared sensor, an ultrasound sensor, a contact sensor, a gyroscope, an acceleration sensor, an IMU unit, a camera, a pressure sensor, a moisture sensor among others.
According to preferred embodiments of the invention, the control unit of the floor processing device can be set up to detect one or several errors selected from the following group: Blocking or overrunning of the driving attachment and/or floor processing unit, blocking of a suction channel, lifting of a partial area of the floor processing device from a surface to be processed, immobilization of the floor processing device in the environment. The aforementioned errors are all the kind that create a situation from which the floor processing device cannot automatically extricate itself and/or which makes it impossible to further process the surface to be processed. Involved here are errors that permanently disable the function of the floor processing device necessary for floor processing if the corresponding error is not eliminated.
With respect to the measures for eliminating the error, it is proposed that the control unit be set up to control one or more changes in operation of the floor processing device to prevent an otherwise imminent error, selected from the following group: Avoiding a specific area of the environment, delaying the time of entry into a specific area of the environment, moving in reverse along a previously traversed movement route, changing a planned movement route, stopping a driven floor processing unit, changing a direction of movement and/or power consumption of a floor processing unit. In this sense, the floor processing device can be allowed to briefly travel in reverse or the like given an overrunning of a wheel of the driving attachment, for example a change in the movement route. In the event that the floor processing device is moving according to a predefined cleaning plan and/or on a prescribed movement route, the latter can also be changed so as to avoid the error. If the change in operation entails exiting the predefined movement route, the floor processing device can swing back into the movement route after circumventing an error-prone location within the environment, for example. If an imminent error is reported by a forecast, it can also be prevented depending on the situation by having the floor processing device leave out the accompanying area of the environment during a current processing operation, i.e., not even approach it, and only having it approach the area once the rest of the environment has been cleaned, by allowing the floor processing device to move in reverse in conjunction with a planned movement route until the error no longer occurs and/or until a maximum number of attempts to process the specific area has been exceeded. In the latter case, the specific area is no longer cleaned, so that floor processing can be continued in other areas. In addition, the change in operation can also involve adjusting the behavior of an actuator, for example the operation of a floor processing element of the floor processing device. This can relate to a rotational direction, a suction power or also a power consumption of an allocated drive motor.
It is further proposed that the control unit be set up to automatically control a change in operation of the floor processing device to avoid an error based upon a trial-and-error process, an evolutionary trial-and-error process, based upon defined rules, and/or based upon earlier changes in operation stored in a shared database of several floor processing devices. The found avoidance strategy can in turn be stored for future, similar error cases of the floor processing device. In the so-called evolutionary trial-and-error process, a found avoidance strategy is stored even if a reaction from a preceding pass (only) nearly would have led to an avoidance of the error. This can also be drawn upon as the basis for future error avoidances, in particular for defining a reference pattern. In addition, earlier patterns of the floor processing device or other floor processing devices stored in a shared data memory can also be alternatively or additionally drawn upon to arrive at an error forecast for the floor processing device. In addition, a rules-based adjustment of operating parameters of the floor processing device can take place, which are based upon empirical values during a period of development of the floor operating device. For example, this can entail turning off a cleaning unit if the power consumption rises too quickly, i.e., lies above a defined reference value. It can also be provided that a sensitivity of the detection unit or sensor of the detection unit be changed for the short term or long term, so as to possibly suppress the output of an alarm or increase the sensitivity, wherein a false alarm would then have to be accepted.
Apart from the described floor processing device, the invention also proposes a method for operating a floor processing device that automatically moves within an environment, wherein the floor processing device moves in the environment by means of a driving attachment, wherein a floor processing operation is executed by means of a floor processing unit, wherein an obstacle detection unit detects obstacles in the environment, wherein the floor processing device automatically navigates and self-localizes in the environment by means of a control unit, wherein a detection unit detects device parameters and/or environment parameters, and wherein the control unit determines an error of the floor processing device based upon the detected parameters that prevents the floor processing device from moving and/or the floor processing device from processing a surface to be processed in such a way that the floor processing device is unable to automatically extricate itself from the error situation, and wherein the control unit, for purposes of a self-learning error avoidance, analyzes the parameters detected by means of the detection unit with respect to recurring patterns, which are characterized by a repeatedly encountered combination of an error and at least one chronologically preceding environment and/or device parameter. The features and advantages described with reference to the floor processing device also correspondingly apply to the method according to the invention.
Other objects and features of the invention will become apparent from the following detailed description considered in connection with the accompanying drawings. It is to be understood, however, that the drawings are designed as an illustration only and not as a definition of the limits of the invention.
In the drawings,
The floor processing device 1 also has a navigation and self-localizing unit, which among other things comprises an obstacle detection unit 7. For example, the obstacle detection unit 7 is here designed as a laser triangulation measuring unit, which is arranged inside of the floor processing device 1 (not shown here), and outwardly emits a beam of light via reflecting elements. The obstacle detection unit 7 can preferably detect distances to obstacles in a 360° area around the floor processing device 1. For example, a control unit 8 generates an area map from the measured values, based upon which the floor processing device 1 can orient itself during a cleaning run. The current position and orientation of the floor processing device 1 can also be determined within the generated area map. Arranged on an exterior side of the floor processing device 1 are additional obstacle detection units 6, here for example in the form of ultrasound sensors, which enable an obstacle detection, for example in a plane lying outside of the measuring plane of the obstacle detection unit 7 (triangulation measuring device).
In addition to the detection unit 10 for odometry implementation and the detection unit 12 for determining a current power consumption of the electric motor 14 of the floor processing unit 4, the floor processing device 1 also has a detection unit 9 arranged in the suction channel 15, which is designed to measure a pressure, here for example an absolute pressure, inside of the suction channel 15. Another detection unit 11 of the floor processing device 1 has an IMU unit (inertial measuring unit), which is designed to detect an inclined position of the floor processing device 1. The detection unit 11 has a combination of several inertial sensors, here for example acceleration sensors.
The control unit 8 of the floor processing device 1 is designed to determine an error of the floor processing device 1 by evaluating the detection results of one or several detection units 9, 10, 11, 12. An error of the floor processing device 1 is on hand if a movement by the floor processing device 1 is blocked and/or a processing of the surface to be cleaned is prevented, without the floor processing device 1 being able to automatically extricate itself from the situation. For example, such an error situation can be present if the floor processing device 1 becomes jammed under an overhanging obstacle, e.g., a sofa or a shelf, and can no longer free itself via the driving force of the driving attachment 2. In another exemplary error situation, the driving attachment 2 of the floor processing device 1 loses contact with the surface to be cleaned, and can thus no longer move. This can happen when the floor processing device 1 drives onto a flat, narrow obstacle, for example a base portion of a swivel chair, and its chassis rests on the obstacle, so that the driving attachments 2 lose contact with the traversed surface. Additional error situations are conceivable, for example those that prevent a processing of the surface, for example because a floor processing unit 3, 4, 5 is blocked. For example, this can happen when objects are vacuumed that prevent the floor processing units 3, 4 from rotating or clog the suction channel 14.
In order to avoid error situations from the very outset, the floor processing device 1 or its control unit 8 is self-learning in design, so that error situations that arose in the past are analyzed, in order to develop measures for the future to prevent the same or similar situations during future activities of the floor processing device 1. For this purpose, the control unit 8 analyzes the data detected by means of the detection units 9, 10, 11, 12 when an error of the floor processing device 1 is determined. To this end, environment and/or device parameters detected immediately before and/or when an error occurs are evaluated. For example, data relating to a timeframe of a few seconds before the error occurs can be analyzed. Recommended in particular is the analysis of data from a time less than one minute before the occurrence of the error. Depending on the type of arising error, shorter time windows may also be sufficient for the analysis, for example 30 seconds, 20 seconds or 10 seconds prior to the occurrence of the error. Other timespans are likewise possible. In this conjunction, the control unit 8 can also be set up to initially detect the type of error, and then, depending on the type of detected error, determine a timespan whose accompanying data of the detection units 9, 10, 11, 12 are to be analyzed. For example, if an inclined position of the floor processing device 1 is detected, it is sufficient that the data analysis be performed over a shorter time interval prior to the occurrence of the error than given the occurrence of a blockade of the driving attachment 2 or a floor processing unit 3, 4, 5, for example, since it can usually take some time before an object gets caught inside of the suction channel 15 or on a floor processing unit 3, 4, 5 until a detectable blockade arises.
For purposes of achieving a self-learning behavior of the floor processing device 1, the previously stored data are analyzed in the event of an error situation of the floor processing device 1. Storage preferably takes place in a database, which contains the parameters detected by one or several detection units 9, 10, 11, 12 of the floor processing device 1 and/or detection units 16 of additional floor processing devices 1 (for example, see
The database can contain a pattern 13 (see
The changes in operation stored in the reference patterns 13 for the floor processing device 1 can be obtained empirically according to a trial-and-error process, i.e., can represent changes in operation that the floor processing device 1 has implemented in the past, and have proven to be successful in avoiding the error.
For example, changes in operation that can be used to avoid imminent errors include avoiding a specific area of an environment of the floor processing device 1, delaying the time at which a specific area of the environment is traversed by the floor processing device 1, moving in reverse along a previously traversed movement route to the current location of the floor processing device 1, changing a planned movement route, stopping a driven floor processing unit 3, 4, 5, changing a driving direction or power consumption of a floor processing unit 3, 4, 5. Other changes in operation are likewise possible. Combinations of changes in operation can also be suitable and defined for eliminating an error.
The device and/or environment parameters detected by the detection units 9, 10, 11, 12 of the floor processing device 1 or by other detection units 16 of other floor processing devices 1 can include the following, among others: A current movement route along which the floor processing device 1 is currently moving; a setting and/or operating status of a floor processing unit 3, 4, 5, i.e., for example a speed of the driving attachment 2 or a floor processing unit 3, 4, 5; an on/off status; a power consumption of one of the electric motors 14 allocated to the floor processing unit 3, 4, 5; a status or setting of the obstacle detection unit 6, 7; a spatial orientation of the floor processing device 1 in the environment; an acceleration or tilting of the floor processing device 1; an ambient temperature or device temperature; an ambient humidity; an operating temperature of an electric motor 14 of the floor processing device 1 and/or a floor processing unit 3, 4, 5; an absolute or relative pressure inside of the suction channel 15 of the floor processing device 1 and/or an ambient pressure. This list is not to be understood as final.
On
Additional error situations are conceivable, which are signaled by specific parameters of the floor processing device 1 or its environment, and can thus be measured by the detection units 9, 10, 11, 12, 16 of the floor processing device 1. The last line of the table on
As an alternative to having the control unit 8 automatically formulate a control command relating to an automatic change in operation of the floor processing device 1, the change in operation filed in the reference pattern 13 can also be displayed to inform a user on the display of the floor processing device 1 or on an external terminal having a communication link with the floor processing device 1. The user is thereby informed about an imminent malfunction of the floor processing device 1. This allows the user to him or herself determine a corresponding change in operation for the floor processing device 1, which preferably is thereupon stored in the respective reference pattern 13 and used to avoid the error given a repeated initiation of the same error case, i.e., the occurrence of identical or similar detection values of the detection units 9, 10, 11, 12, 16. Possible inputs by the user on the floor processing device 1 or a terminal having a communications link therewith can include manually teaching an approach strategy to the floor processing device 1 via remote control. The user can move the floor processing device 1 over the traversed surface, for example by way of an input on a touchscreen of the terminal or with his or her gestures or voice. The user can him or herself define specific device parameters so as to prevent the error case, for example specifically a rotational direction of the driving attachment 2 or floor processing unit 4. A selection of predefined possible changes in operation can also be displayed to the user, who can select a specific change in operation from the latter.
If the error repeats itself despite a change in operation, newly obtained measured data of the detection units 9, 10, 11, 12, 16 can be used to change or supplement the accompanying reference pattern 13 so as to make an error forecast more reliable. A change in operation can be defined based upon various reactions. For example, the proposed changes in operation can be based upon a trial-and-error process, wherein a found avoidance strategy can be stored for future, identical error cases. In addition, an evolutionary trial-and-error process may be present, in which just such an avoidance strategy is pursued, but with the proviso that a reaction from a preceding operation of the floor processing device 1 that nearly led to an avoidance of the error be taken as the basis for a renewed change in operation. Furthermore, empirical values for error avoidance can be derived from an external memory, for example a cloud. Alternatively or additionally, a rules-based adjustment of operating parameters can take place, which is based upon empirical values from a development period of the floor processing device 1. For example, one rule can here stipulate that only a very specific device parameter of the floor processing device 1 be changed, e.g., one that is more error-prone than the other device parameter.
The changes in operation can further be defined in such a way that an error is prevented by a floor processing device 1 not even approaching an area during an operation at all, or only once other areas of the environment have been cleaned. In addition, the floor processing device 1 can be moved in reverse according to its previous traveling path. Furthermore, the traveling path can be changed until the error no longer occurs, or a maximum number of repetitions has been exceeded without the error having been avoided.
Although only a few embodiments of the present invention have been shown and described, it is to be understood that many changes and modifications may be made thereunto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
10 2018 120 577.5 | Aug 2018 | DE | national |
Number | Name | Date | Kind |
---|---|---|---|
20150217449 | Meier | Aug 2015 | A1 |
20180215039 | Sinyavskiy | Aug 2018 | A1 |
Number | Date | Country |
---|---|---|
10 2008 014 912 | Sep 2009 | DE |
10 2011 000 536 | Aug 2012 | DE |
2 252 190 | May 2012 | EP |
Number | Date | Country | |
---|---|---|---|
20200064858 A1 | Feb 2020 | US |