This application claims priority of No. 106103119 and filed in Taiwan R.O.C. on 2017 Jan. 26, No. 106109150 and filed in Taiwan R.O.C. on 2017 Mar. 20 and No. 106110983 and filed in Taiwan R.O.C. on 2017 Mar. 31 under 35 USC 119, the entire content of which is hereby incorporated by reference.
The present invention relates to an automatic cleaner and a controlling method of the same, and more particularly to an automatic cleaner and a controlling method of the same which correct the path of the automatic cleaner on the basis of a wall.
According to conventional art, when an automatic cleaner is used to clean the floor of a room, it uses an algorithm to carry out the path planning, preferably a zigzag path, so as to reduce the area that has not been cleaned or wiped. For example, U.S. Pat. No. 7,515,991B2 proposes a zigzag path planning method.
During the travelling of the cleaning robot 1, the accumulated error of its orientation angle occurs. Thus, U.S. Pat. No. 7,515,991B2 proposes a correction method. According to the correction method, a self-propelled cleaning device stores map database having indicators “wall” detected while it was traveling and then corrects its orientation angle according to the orientation angle that is computed from its traveling track and the angle of the wall stored in the map database. Thus, the accuracy of the orientation angle is increased during cleaning.
A commercially available cleaning robot (LG, LrV5900) is equipped with an image sensor which obtains the image of a ceiling and identifies the lines of the ceiling, and then it constantly uses the ceiling image to correct and calculate the coordinates of longitude and latitude of the robot (respectively being vertical to and parallel with the wall) in a room. Since the cleaning robot travels on a zigzag path based on the calculated coordinates to clean the room, the accumulated error of its orientation angle may be avoided. However, the imaging system of the cleaning robot needs a better hardware to analyze the image and calculate, so that its cost is high. The other commercially available cleaning robot (irobot 980) captures the images of furniture and identifies the sharp points of the furniture to calculate the coordinates of longitude and latitude of the robot (respectively being vertical to and parallel with the wall) in a room. As described above, the cost of its image system however is also high.
Another commercially available cleaning robot (Neato) is equipped with a light detection and ranging device (LIDAR) which measures distance to a target by illuminating that target with a pulsed laser light and then measuring the reflected pulses with a sensor. The measuring range of the LIDAR may be up to 6 meters (meter). The cleaning robot continuously rotates the head of LIDAR to measure the distance to the walls around the room, and records the measured data as a map. The cleaning robot then walks back and forth on the basis of the map. However, the cost of LIDAR is expensive.
Another commercially available cleaning robot (mint) is equipped with a Polaris system that projects a spot to the ceiling of a room, and an image device of the Polaris system detects the spot to calculate the coordinates of the robot in the room. Since the cleaning robot travels on a zigzag path obtained on the basis of the calculated coordinates, the accumulated error of its orientation angle may be avoided. However, the Polaris imaging system of the cleaning robot needs a better hardware to analyze the image and calculate the path, so that its cost is also high.
It is an objective of an embodiment of the present invention to provide an automatic cleaner and its controlling method which corrects its path on the basis of a wall. It is an objective of an embodiment of the present invention to provide an automatic cleaner and its controlling method which uses a plurality of local maps to update or extend a map database.
According to an embodiment of the present invention, an automatic cleaner comprises a distance sensor, a control module and a travelling device. The control module has a gyro and is electrically connected to the distance sensor and the travelling device. The travelling device is used to move the automatic cleaner from a first position to a second position. The distance sensor is used to measure a plurality of pitches Y(t) between the automatic cleaner and a wall at a plurality of different time points t. The control module is used to calculate a plurality of travel distances X(t) of the travelling device at the different time points t. In the second position, a deviation angle A between the traveling direction of the automatic cleaner and the extending direction of the wall is determined on the basis of the pitches Y(t) and the travel distances X(t).
In one embodiment, the control module calculates a regression line L by linear regression through a set of data points of the travel distances X(t) and the pitches Y(t), and then obtains the deviation angle A from the regression line L.
In one embodiment, the control module further calculates an orientation angle Q and corrects the orientation angle Q according to the deviation angle A. In one embodiment, the control module corrects the orientation angle Q further according to a first equation: the orientation angle after correction Q=(the orientation angle before correction Q−the deviation angle A). In one embodiment, the control module corrects the orientation angle Q further according to a second equation: the orientation angle after correction Q=(the orientation angle before correction Q−a difference angle Aa), and the deviation angle A is greater than the difference angle Aa.
In one embodiment, the control module comprises a motor module and an encoder. The motor module is connected to the travelling device. The encoder is electrically connected to the motor module and the travel distances X(t) are obtained according to an operation signal of the motor module so that the automatic cleaner may be navigated in accordance with the travel distances X(t) and the orientation angle Q. In one embodiment, the gyro is used to measure the angular velocity of the automatic cleaner and then integrate the angular velocity with respect to time, so that the control module may obtain the orientation angle Q from an integral angle iA.
In one embodiment, the predetermined angle G is 360 degrees. The travelling device travels forward so that the automatic cleaner is moved from the first position to the second position. The travelling device travels backward so that the automatic cleaner is moved from the second position to the third position.
In one embodiment, the control module further rotates the automatic cleaner by a predetermined angle G and then controls the travelling device to move the automatic cleaner from the second position to a third position. After the automatic cleaner is rotated by a predetermined angle G, a plurality of pitches Y1(t) between the automatic cleaner and the wall are obtained at a plurality of different time points t by using the distance sensor. After the automatic cleaner is rotated by a predetermined angle G, the travel distances X1(t) of the automatic cleaner is calculated at the different time points t. In the third position, a deviation angle A1 between the traveling direction of the automatic cleaner and the extending direction of the wall is determined on the basis of the pitch Y1(t) and the travel distances X1(t). And, the constant K of the gyro is corrected according to the deviation angle A and the deviation angle A1.
According to an embodiment of the present invention, a controlling method is provided which is applied to an automatic cleaner comprising a distance sensor, a control module having a gyro and a travelling device. The controlling method comprises the following steps of: moving the automatic cleaner from a first position to a second position; using the distance sensor to measure a plurality of pitches Y(t) between the automatic cleaner and a wall at a plurality of different time points t; using the control module to calculate a plurality of travel distances X(t) of the travelling device at the different time points t; determining a deviation angle A between the traveling direction of the automatic cleaner and the extending direction of the wall on the basis of the pitches Y(t) and the travel distances X(t) in the second position.
In one embodiment, the step of determining a deviation angle A comprises the step of calculating a regression line L by linear regression through a set of data points of the travel distances X(t) and the pitches Y(t), and then obtaining the deviation angle A from the regression line L.
In one embodiment, the controlling method further comprises the following steps of: using the control module to calculate an orientation angle Q and correct the orientation angle Q according to the deviation angle A. In one embodiment, the step of correcting the orientation angle Q according to the deviation angle A comprises the step of correcting the orientation angle Q according to an equation: the orientation angle after correction Q=the orientation angle before correction Q−a difference angle Aa, and the deviation angle A is greater than the difference angle Aa.
In one embodiment, the step of correcting the orientation angle Q according to the deviation angle A comprises the steps of determining whether the orientation angle Q has been corrected; correcting the orientation angle Q according to a first equation: the orientation angle after correction Q=the orientation angle before correction Q−a deviation angle A, if the orientation angle Q has not been corrected yet; determining whether the deviation angle A is smaller than a threshold value; correcting the orientation angle Q further according to a second equation: the orientation angle after correction Q=the orientation angle before correction Q−the difference angle Aa smaller than the deviation angle A, if the orientation angle Q has been corrected and the deviation angle A is smaller than the threshold value; and not correcting the orientation angle Q if the deviation angle A is greater than the threshold value.
In one embodiment, the controlling method further comprises the following steps of: rotating the automatic cleaner by a predetermined angle G; moving the automatic cleaner from the second position to a third position; using the distance sensor to obtain a plurality of pitches Y1(t) between the automatic cleaner and the wall at a plurality of different time points t after the automatic cleaner is rotated by the predetermined angle G; calculating the travel distance of the automatic cleaner at the different time points t after the automatic cleaner is rotated by the predetermined angle G; determining a deviation angle A1 between the traveling direction of the automatic cleaner and the extending direction of the wall based on the pitch Y1(t) and the travel distances X1(t) in the third position; and correcting the constant K of the gyro according to the deviation angle A and the deviation angle A1.
In one embodiment, the predetermined angle G is 360 degrees. The step of moving the automatic cleaner from the first position to the second position comprises the step of making the travelling device travel forward. The step of moving the automatic cleaner from the second position to the third position comprises the step of making the travelling device travel backward.
According to an embodiment of the present invention, a controlling method is provided which is applied to an automatic cleaner. The controlling method comprises the following steps of: starting an automatic cleaner to look for a starting point; moving the automatic cleaner by use of the control method as described above; using the distance sensor of the automatic cleaner to measure the surrounding environment of the automatic cleaner at different time points so that a plurality of local maps are obtained; determining a zigzag path based on the local maps and then traveling on the zigzag path; and updating a map database based on the local maps and storing the map database in a memory of the automatic cleaner.
According to an embodiment of the present invention, an automatic cleaner may obtain the deviation angle A between it and a wall by continuously measuring the pitches between the automatic cleaner and the wall, and then use the deviation angle A to correct the orientation angle Q of the automatic cleaner so that the actual path of the automatic cleaner does not shift away from the desired path. In one embodiment, a ranging laser IC, rather than a LIDAR, may be used. Since the cost of ranging laser IC is lower than a LIDAR, the cost of the automatic cleaner is reduced.
The foregoing features, aspects, and advantages of the present disclosure will now be described with reference to the drawings of preferred embodiments that are intended to illustrate and not to limit the disclosure.
These and other embodiments of the present disclosure will also become readily apparent to those skilled in the art from the following detailed description of preferred embodiments having reference to the attached figures; however, the disclosure is not limited to any particular embodiment(s) disclosed herein. Accordingly, the scope of the present disclosure is intended to be defined only by reference to the appended claims.
According to an embodiment of the present invention, the automatic cleaner 200 establishes a map database while traveling, and plans a cleaning path or route based on a plurality of local maps. It further continuously updates the map database while traveling and cleaning the room until the entire floor 102 of a room is cleaned. In addition, the automatic cleaner 200 corrects its orientation angle Q on the basis of a wall at all times while walking, so that the automatic cleaner 200 can clean a room by travelling in directions parallel or perpendicular to a wall along a zigzag path so as to improve cleaning efficiency. Hereinafter, specific embodiments of the present invention will be further described.
iA=∫Kωdt eq1
where iA is an integral angle, K is a constant of the gyro, ω is angular velocity, and t is time.
However, since the orientation angle of the automatic cleaner 200 is obtained by integration, the error of the orientation angle is accumulated over time. The actual path of the machine may incline and be deviated away from the originally expected path.
More specifically, the automatic cleaner 200 uses gyro 343 detects its angular velocity while it is traveling. Its encoder 341 uses the detected traveling distance and angular velocity to obtain the orientation angle before correction Q from the actual path. Due to the error accumulated over time, the orientation angle before correction Q is inconsistent with the originally desired orientation angle Q (i.e., the extension direction Qc of the wall 400). As a result, the automatic cleaner 200 travels in the direction not parallel to the extension direction of the wall 400.
In one embodiment, the distance sensors 210 are disposed on one edge of the automatic cleaner 200. As shown in
A more detailed description of the algorithm is provided below.
The step of correcting the orientation angle Q of the automatic cleaner 200 is descripted below. The control module 340 of the automatic cleaner 200 rotates the body by a deviation angle A so that the traveling direction of the automatic cleaner 200 is parallel to the extending direction Qc of the wall 400. At this time, the control module 340 corrects the orientation angle Q. The orientation angle after correction Q=(the orientation angle before correction Q−the deviation angle A)=direction Qc. Then, the orientation angle after correction Q is also stored in the control module 340. As a result, the automatic cleaner 200 can clean a room by travelling in directions parallel or perpendicular to a wall along a zigzag path. It is to be understood that, although the example is described that the traveling direction of the automatic cleaner 200 is parallel to the reference object, the parallel direction is not limited by the present invention, which may be a vertical direction in another example. According to another product design, a variety of predetermined direction as opposed to the parallel direction may also be used. That is, the travelling direction of the automatic cleaner 200 may be maintained at a predetermined angle with respect to the reference object.
In the above embodiment, the orientation angle Q may be over corrected sometimes if the calculated deviation angle A is too large. Therefore, it is preferable that the correction process can be performed at different time points in a time sharing manner. The difference angle Aa used at each correction step is smaller than the deviation angle A, so that the orientation angle Q is gradually approached to the desired orientation angle Qc. In this way, it is possible to avoid the excessive rotation of the automatic cleaner 200 or the like.
Step S02: The distance sensors 210 are used to obtain a plurality of pitches Y(t) between the automatic cleaner 200 and a wall 400 at a plurality of different time points t.
Step S04: At these different time points t, a plurality of travel distances X(t) of the traveling device 223 are calculated.
Step S06: A deviation angle A between the traveling direction of the automatic cleaner 200 and the extending direction of the wall 400 is obtained according to the pitches Y(t) and the travel distances X(t). More specifically, the regression line L is calculated by linear regression through a set of data points of the travel distances X(t) and the pitches Y(t), and then the angle between the regression line L and the axis X is obtained as the deviation angle A.
Step S08: The orientation angle Q is corrected according to the deviation angle A.
In one embodiment, the orientation angle Q can be slightly corrected at different time points in a time-sharing manner in order to prevent the overcorrection. Specifically, the process of the above step S08 may include the following steps.
Step S82: It is judged whether or not the orientation angle Q has been corrected. If so, the process proceeds to step S84. If not, the process proceeds to step S85.
Step S84: The orientation angle Q of the automatic cleaner 200 is corrected in accordance with the following equation: the orientation angle after correction Q=(the orientation angle before correction Q−the deviation angle A). After executing step S84, the process returns to step S02.
Step S85: It is judged whether or not the deviation angle A is smaller than a threshold value Th. If so, the process proceeds to step S86. If not, the process proceeds to step S87.
Step S86: The orientation angle Q of the automatic cleaner 200 is slightly corrected in accordance with the following equation: the orientation angle after correction Q=(the orientation angle before correction Q−a difference angle Aa), where the difference angle Aa is smaller than the deviation angle A. After executing step S86, the process returns to step S02.
Step S87: The orientation angle Q of the automatic cleaner 200 is not corrected, if the deviation angle A exceeds the threshold value Th. This indicates that the wall 400 is inclined and is not an orthogonal wall, and the automatic cleaner 200 determines not to correct the orientation angle Q. After executing step S87, the process returns to step S02.
When the automatic cleaner 200 is started, the initial positioning step is performed. After the initial positioning step, the orientation angle Q is first corrected and the inertial navigation is performed by using the encoder 341 and the gyro 343. While the automatic cleaner 200 is walking, it may have problems with wheel slip and the accumulated error of the orientation angle, so that the orientation angle may be shifted away. According to the present embodiment, the automatic cleaner 200 continuously determines the deviation angle between the traveling direction of the automatic cleaner 200 and the nearby wall 400 when traveling. When it is judged that there is a deviation angle A, the automatic cleaner 200 is rotated to reduce the deviation angle A, and the orientation angle Q is also slightly corrected by a small difference angle Aa and then stored in the automatic cleaner 200. However, when the wall 400 is inclined as opposed to vertical or parallel, the deviation angle A will be too large. Therefore, the automatic cleaner 200 determines not to correct the orientation angle Q stored in its software if the deviation angle A is too large. As shown in
Step S20: The automatic cleaner 200 is started. When the automatic cleaner 200 is started, the initial positioning step is performed to find the start point M0. In one embodiment, the automatic cleaner 200 may be placed at an arbitrary position as the starting point M0. In one embodiment, the automatic cleaner 200 conducts a search for a wall, and the position at which the wall is found is deemed to be the starting point M0. In one embodiment, the automatic cleaner 200 searches the corner formed by two walls and deems the position of the found corner to be the starting point M0.
Step S22: The automatic cleaner 200 starts walking according to the control method of the embodiment of
Step S24: The surrounding environment of the automatic cleaner 200 is measured by a plurality of distance sensors 210 at different time points t so as to obtain a plurality of local maps S0-Sq. More specifically, at the beginning, the surroundings environment of the automatic cleaner 200 is measured by the distance sensors 210 to obtain a local map S0. The local map S0 is a local area in the floor 102, which can be represented by a two-dimensional array S0(i, j). The size of i and j is determined by the maximum distance that the distance sensor 210 can sense. The automatic cleaner 200 travels along the wall 103 to point M1, performs the correction of the direction angle Q in accordance with the control method of
Step S26: The automatic cleaner 200 determines a zigzag path based on the measured local maps S0-Sq and continues to travel on the zigzag path. In more detail, the automatic cleaner 200 determines a zigzag path based on the known local maps S0-Sq and continues to travel to point Mq+1 on the zigzag path along the horizontal or vertical axis. It then corrects the orientation angle Q in accordance with the control method of
Step S28: Based on the measured local maps S0-Sq, the map database is updated and the map database is stored in the memory 345 of the automatic cleaner 200. The automatic cleaner 200 integrates all of the local maps S0-Sq to update and expand the map database map (i, j). The longer the automatic cleaner 200 travels along the horizontal axis, the larger the i value can be detected. The longer the automatic cleaner 200 travels along the vertical axis, the larger the j value can be detected. Therefore, the local map S1 contains the partial information unknown by the local map S0, and the local map Sq+1 contains the partial information unknown by the local map Sq. The automatic cleaner 200 integrates the measured and known local maps to update and expand the map database map (i, j). In addition, in
As described above, the automatic cleaner 200 obtains a plurality of local maps while walking, and updates and expands the map database map (i, j) based on the local maps. According to an embodiment of the present invention, there is an advantage in that the automatic cleaner 200 can create the map database and determine the cleaning route based on the obtained local maps while traveling. The map database is continuously expanded during the cleaning process until the entire room floor 102 is cleaned. Before cleaning operation, the automatic cleaner 200 does not need to circle around the room to build the map, so that the time is reduced. In addition, while it is traveling, its direction angle Q is corrected in accordance with the aforementioned method. As a result, it can move in the direction parallel or perpendicular to the wall 400 and travel on a zigzag path, so that the room can be efficiently cleaned.
The error of the integration angle obtained by the gyro 343 is related to its constant K. In one embodiment, the constant K of the gyro 343 may also be corrected according to the deviation angle A.
Step S60: The automatic cleaner 200 is moved from a first position to a second position. As shown in
Step S61: The automatic cleaner 200 uses the distance sensors 210 to obtain a plurality of pitches Y(t) between the automatic cleaner 200 and a wall 400 at a plurality of different time points t.
Step S62: At these different time points t, a plurality of travel distances X(t) of the traveling device 223 are calculated.
Step S63: In the second position, a deviation angle A between the traveling direction of the automatic cleaner 200 and the extending direction of the wall 400 is obtained according to the pitches Y(t) and the travel distances X(t).
Step S64: The automatic cleaner 200 is rotated by a predetermined angle G. In one embodiment, as shown in
Step S65: The automatic cleaner 200 is moved from the second position to a third position. As shown in
Step S66: A plurality of pitches Y1(t) between the automatic cleaner 200 and a wall 400 are obtained at a plurality of different time points t by using the distance sensor 210.
Step S67: At these different time points t, a plurality of travel distances X1(t) through which the travelling device 223 travels forward or backward is calculated. As shown in
Step S68: In the third position, a deviation angle A1 between the traveling direction of the automatic cleaner 200 and the extending direction of the wall 400 is obtained according to the pitches Y1(t) and the travel distances X1(t).
Step S69: The constant K of the gyro 343 is corrected according to the deviation angle A or the deviation angle A1. For example, in one embodiment, the constant K of the gyro 343 may be corrected by using the following equation.
where Knew represents the corrected gyro constant; Kold represents the gyros constant before correction; G represents a predetermined angle of rotation of the automatic cleaner 200; A1 represents a deviation angle after the automatic cleaner 200 is rotated; A represents the deviation angle of the automatic cleaner 200 before rotation; and mod (G, 360) represents the remainder function where the dividend is G and the divisor is 360.
In the embodiment of
In view of the above, according to an embodiment of the present invention, by continuously measuring the pitches Y(t) and the travel distances X(t), the automatic cleaner 200 can obtain the angle deviation A between it and the wall 400 and then correct its orientation angle Q by using the deviation angle A. Accordingly, the path of the automatic cleaner 200 is not shifted away from the desired path. In one embodiment, a ranging laser IC, rather than a LIDAR, may be used. Since the cost of ranging laser IC is lower than a LIDAR, the cost of the automatic cleaner may be reduced. In one embodiment, the automatic cleaner 200 has the advantages of low cost, and high cleaning efficiency and high cleaning coverage. In one embodiment, a technology scheme is proposed which is simpler and less costly than the LIDAR navigation or imaging system identification navigation. In one embodiment, a gyros correction method is also proposed.
These and other embodiments of the present disclosure become readily apparent to those skilled in the art from the above detailed description of preferred embodiments having reference to the attached figures; however, the disclosure is not limited to any particular embodiment(s) disclosed herein. These and other modifications of this invention, which would be obvious to those skilled in the art, are included within the scope of this invention and the terms of the following claims.
Number | Date | Country | Kind |
---|---|---|---|
106103119 | Jan 2017 | TW | national |
106109150 | Mar 2017 | TW | national |
106110983 | Mar 2017 | TW | national |