The present disclosure relates to a self-propelled device and a method for controlling the self-propelled device, and in particular to a self-propelled device and a method for controlling the same which moves a position of a virtual area according to boundary data.
It is disclosed in Japanese Application Patent Laid-Open Publication No. H08-215116A that a self-propelled cleaning device detects a wall in front of a body of the self-propelled cleaning device, determines a position of the body by making the body be at a right angle with respect to the wall, and sets a zero point of an orientation sensor. However, in this method, a direction can be detected when the wall is proximately flat, but the angle of the wall may not be correctly detected when the wall is uneven. Also, when there are obstacles such as chairs and tables in a cleaning area, a travel path needs to be changed to avoid the obstacles.
An objective of the present disclosure is to provide a self-propelled device and a method for controlling the same, which includes forming a virtual area on a surface, controlling the self-propelled device to move on a path in the virtual area, determining boundary data, moving a position of the virtual area according to the boundary data so as to form a calibrated virtual area, thereby improving moving efficiency. Another object of the present disclosure is to provide a self-propelled device and a method for controlling the same, wherein after the self-propelled device encounters an obstacle, during moving along an edge of the obstacle, if the self-propelled device moves in a travelled area, the self-propelled device stops moving along the obstacle, performs scanning to look for an untraveled area nearby, and then moves to the untraveled area, thereby improving moving efficiency.
According to an embodiment of the present disclosure, a self-propelled device including a moving means, a sensing module and a control module is provided. The moving means is used for moving the self-propelled device on a surface. The sensing module includes a distance sensor for identifying a position of the control module on the surface by using data determined by the distance sensor. The control module is electrically connected to the sensing module and the moving means. The control module further performs the following steps of calculating a travel path; forming a first virtual area (D0) (traveling throughout the area) in map information of the surface, wherein the first virtual area D0 includes a first side virtual boundary; and controlling the self-propelled device to move on an initial path in the first virtual area D0, wherein the control module determines boundary data by using the distance sensor, and moves the position of the first virtual area D0 according to the boundary data to form a calibrated first virtual area D1.
In an embodiment, a buffer distance h is formed between the first side virtual boundary of the first virtual area D0 and a first side initial boundary determined by the sensing module.
In an embodiment, after the sensing module determines a concave area C1 in the first virtual area D0, the control module makes the self-propelled device enter the concave area C1, determines a first side update boundary of the concave area C1 by using the sensing module, and moves the position of the first virtual area D0, such that the first side virtual boundary of the calibrated first virtual area D1 moves in a direction close to the first side update boundary of the concave area C1.
In an embodiment, the control module is used for performing a boundary tracking step, and after the boundary tracking step controls the self-propelled device to move to a boundary of the surface, the boundary is regarded as the first side initial boundary.
In an embodiment, at least one second virtual area D2 is set on the surface according to the calibrated first virtual area D1.
In an embodiment, the control module further performs: removing the virtual boundary of the calibrated first virtual area D1 after the self-propelled device moves throughout the calibrated first virtual area D1, and making the self-propelled device enter the at least one second virtual area D2. Preferably, the calibrated first virtual area D1 and the at least one second virtual area D2 at least partially overlap.
In an embodiment, a buffer distance w is formed between a second side virtual boundary of the first virtual area D0 and a second side initial wall determined by the sensing module.
In an embodiment, when encountering an obstacle, the self-propelled device moves along an edge of the obstacle. When the self-propelled device detects entering a travelled area, the self-propelled device stops moving along the edge of the obstacle and looks for an untraveled area of the calibrated first virtual area D1 which has not been travelled by the self-propelled device. When the untraveled area is present in the calibrated first virtual area D1, the self-propelled device moves to the untraveled area for cleaning.
In an embodiment, the control module forms multiple grids in the calibrated first virtual area D1. After the self-propelled device cleans the grid, the control module labels the grid with a mark showing the grid has been travelled. When the self-propelled device determines that the self-propelled device moves to the grid labeled with the mark showing the grid has been travelled, it is determined the self-propelled device enters a travelled area.
According to an embodiment of the present disclosure, a method for controlling a self-propelled device is provided. The self-propelled device incudes a moving means, a sensing module and a control module. The moving means is used for moving the self-propelled device on a surface. The sensing module includes a distance sensor for identifying a position of the control module on the surface by using data determined by the distance sensor. The control module is electrically connected to the sensing module and the moving means. The control module further performs the following steps of forming a first virtual area (D0) in map information of the surface, wherein the first virtual area D0 includes a first side virtual boundary; and controlling the self-propelled device to move on an initial path in the first virtual area D0, wherein the control module determines boundary data corresponding to the initial path by using the distance sensor, and moves the position of the first virtual area D0 according to the boundary data to form a calibrated first virtual area D1.
In an embodiment, a buffer distance his formed between the first side virtual boundary of the first virtual area D0 and a first side initial boundary determined by the sensing module.
In an embodiment, the step of controlling the self-propelled device to move on the initial path in the first virtual area D0 includes: after determining a concave area C1 in the first virtual area D0 by using the sensing module, making the self-propelled device enter the concave area C1, and determining a first side update boundary of the concave area C1 by using the sensing module; and moving the position of the first virtual area D0, such that the first side virtual boundary of the calibrated first virtual area D1 moves in a direction close to the first side update boundary of the concave area C1.
In an embodiment, the method for controlling a self-propelled device further includes a boundary tracking step for controlling the self-propelled device to move to a boundary of the surface, and then taking the boundary as the first side initial boundary.
In an embodiment, the method for controlling a self-propelled device further includes setting at least one second virtual area D2 on the surface according to the calibrated first virtual area D1.
In an embodiment, the method for controlling a self-propelled device further includes making the self-propelled device move throughout the calibrated first virtual area D1; then removing the virtual boundary of the calibrated first virtual area D1; and making the self-propelled device enter the at least one second virtual area D2, wherein the calibrated first virtual area D1 and the at least one second virtual area D2 at least partially overlap.
In an embodiment, a buffer distance w is formed between a second side virtual boundary of the first virtual area D0 and a second side initial wall determined by the sensing module.
In an embodiment, the method for controlling a self-propelled device further includes: when the self-propelled device encounters an obstacle, making the self-propelled device move along an edge of the obstacle; when the self-propelled device detects entering a traveled area, stopping the self-propelled device moving along the edge of the obstacle and looking for an untraveled area in the calibrated first virtual area D1 which has not been travelled by the self-propelled device; and when the untraveled area is present in the calibrated first virtual area D1, making the self-propelled device move to the untraveled area for cleaning.
In an embodiment, the method for controlling a self-propelled device further includes: forming multiple grids in the calibrated first virtual area D1; after the self-propelled device cleans the grid, labelling the grid with a mark showing the grid has been travelled; and when the self-propelled device determines that the self-propelled device moves to the grid labeled with the mark showing the grid has been travelled, determining that the self-propelled device enters a travelled area.
Accordingly, in light of an embodiment of the present disclosure, the virtual area is set on the surface, the self-propelled device is controlled to move through a path in the virtual area, the distance sensor is used for determining boundary data, the position of the virtual area is moved according to the boundary data to form a calibrated virtual area, thereby increasing efficiency of cleaning. In an embodiment, after encountering an obstacle, the self-propelled device moves clockwise along an edge of the obstacle. During moving along the edge of the obstacle, if the self-propelled device encounters a traveled or cleaned area, the step of moving along the edge of the obstacle is stopped. The step of scanning is performed to look for an untraveled area nearby, and then the self-propelled device moves in a zigzag path to clean a room, so as to increase efficiency of cleaning.
The present disclosure will be explained in detail with reference to the accompanying drawings, in which the same reference numerals will be used to identify the same or similar elements under multiple viewpoints. It should be noted that the drawings should be viewed in the orientation direction of the label.
According to an embodiment of the present disclosure, a self-propelled device and a method for controlling the same are provided, in which the self-propelled device can be a cleaning device or a cleaning robot.
The distance sensor 321 is electrically connected to the control module 340 for transmitting distance data to the control module 340. The control module 340 includes an encoder 341, a motor module 342, a gyroscope 343, a processor (CPU) 344 and a memory 345. The motor module 342 drives the moving means 223 to move the self-propelled device 200 back and forth or turn the self-propelled device 200 left and right. The motor module 342 is electrically connected to the encoder 341. A moving distance or a turning angle is obtained by the encoder 341 according to an operating signal of the motor module 342. The distance traveled by the self-propelled device 200 or the turning angle of the self-propelled device 200 can be calculated from the reading value of the encoder 341. The gyroscope 343 of the control module 340 is used for measuring the angular velocity (ω) of the self-propelled device 200, and the angular velocity (ω) is integrated to obtain the integral angle (iA) of the device, as shown in the following equation eq1. The encoder 341 performs inertial navigation according to at least one of the moving distance, the turning angle and the integral angle (iA), and zigzags back and forth for cleaning,
iA=∫Kωdt eq1
wherein iA represents the integral angle, K is a constant of the gyroscope, ω is the angular velocity and t is time.
In an embodiment, the rotary encoder 341 that detects the rotation speed of the wheels of the moving means 223 can be disposed on the motor module 342 of the moving means 223. The control module 340 may be further provided with a front or side proximity sensor (distance sensor 321) for detecting front or side obstacles. The signal sent from the sensor is, for example, an infrared beam. The infrared beam generates reflected light when it collides with an object. The control module 340 detects the reflected light and calculates the distance between the sensor and the obstacle. In order to reliably detect obstacles and wall surfaces, the side proximity sensor is disposed on the right or left side of the self-propelled device 200. In this embodiment, the right side of the self-propelled device 200 moves along the wall, and the side proximity sensor is disposed at a position which makes the side proximity sensor is capable of sensing the right side of the self-propelled device 200.
The control module 340 drives the motor module 342 to move the self-propelled device 200 according to the information detected by the rotary encoder 341, the gyroscope 343, the front proximity sensor and the side proximity sensor (distance sensor 321). The control module 340 is a computer system equipped with a CPU, a memory, and an input/output circuit. In order to execute the operation algorithm of the control module 340, a computer program is stored in the memory. A part of the memory of the control module 340 is used for storing map information 361.
In addition, in the present disclosure, walls and door edges in a movable area in the room are called “boundaries”, and the boundaries may include furniture such as shelves placed along the walls. Chairs, tables, etc., which are inside the room and placed far from the boundary, are treated as areas that cannot be cleaned and are called “isolated obstacles”. The obstacle can be the boundary or the isolated obstacle. During the movement of the self-propelled device 200, the angular velocity detected by the gyroscope 343 is obtained from the azimuth angle Q of the moving direction of the self-propelled device 200. The moving distance and the azimuth angle Q are detected by the encoder 341, and the movement amount and movement direction of the self-propelled device 200 are obtained to calculate the position of the self-propelled device 200. Further, the initial position and the current position of the self-propelled device 200 are compared at any time, and if the initial position and the current position are substantially the same, it is determined that the room or the virtual area (as described later) has been traveled throughout. In addition, since the right side of the self-propelled device 200 moves along the wall, when it is determined the self-propelled device 200 moves counterclockwise for one round (the difference angle ΔA described later is about 360°), it is determined that the self-propelled device 200 moves along the wall for one round. When it is determined the self-propelled device 200 moves clockwise for one round, it is determined the self-propelled device 200 moves along the isolated obstacle for one round (the difference angle ΔA described later is about 360°).
The control module 340 forms the map information 361 of the surface 900 of the floor in the room 930 according to the data determined by the distance sensor 321. The map information 361 includes multiple grid data m (i, k) arranged in two dimensions. More specifically, the surface 900 of the floor in the cleaning area is divided into a grid of a predetermined size, for example, 5 cm×5 cm, to form sub-blocks A (j, l). The grid data m(p, q) are corresponding to the sub-block A(p, q), respectively. Further, the map information 361 includes a mark written in each grid data m(p, q) to indicate a specific meaning. The mark may indicate “unconfirmed”, “boundary”, “virtual boundary”, “cleaned”, “traveled” or “isolated obstacle”. In
In an embodiment, the control module 340 is configured to store a total of 1000×1000 grids, and each grid is a square of 5 cm×5 cm to 20 cm×20 cm, preferably 5 cm×5 cm. In an embodiment, the control module 340 further determines each virtual area approximately 4.4 meters, that is, there are 88 grids when each grid is 5 cm×5 cm. In an embodiment, two adjacent virtual areas overlap, for example, 30 cm, that is, when each grid is 5 cm×5 cm, there are about 6 grids, such as Ao and Ao1 as shown in
According to an embodiment of the present disclosure, a self-propelled device 200 and a method for controlling the same are provided, in which a virtual area D0 is set on a surface, the self-propelled device 200 is controlled to move on a path in the virtual area, the distance sensor 321 is used for determining boundary data, the position of the virtual area is moved according to the boundary data to form a calibrated virtual area D1, thereby increasing efficiency of cleaning. Hereinafter, specific embodiments of the present disclosure will be further illustrated.
Step S02: calculating a moving path of the self-propelled device 200, and performing a boundary tracking step to determine a first side initial boundary 931 by using the sensing module 320, in which after the boundary tracking step controls the self-propelled device 200 to move to a boundary of the surface 900, the boundary is determined as the first side initial boundary.
The present disclosure has no limitation to the method of boundary tracking. In an embodiment, after the self-propelled device 200 encounters an obstacle, the self-propelled device 200 moves along the obstacle for a period of time. When the self-propelled device 200 determines that it is turning counterclockwise, it is determined that the obstacle is a part of the boundary of the surface 900 or the wall. When the self-propelled device 200 determines that it moves counterclockwise for one round, it indicates that the self-propelled device 200 has moved along the surface 900 of the floor for one round. On the contrary, after the self-propelled device 200 moves along the obstacle for a period of time, when the self-propelled device 200 determines that it is turning clockwise, it is determined that the obstacle is a part of an isolated obstacle. When the self-propelled device 200 determines that it moves clockwise for one round, it indicates that the self-propelled device 200 has moved along the boundary of the obstacle for one round.
Step S04: forming a first virtual area D0 in the map information 361 of the surface 900 of the floor in the room 930, in which the first virtual area D0 includes a first side virtual boundary 832. Preferably, a buffer distance h is formed between the first side virtual boundary 832 of the first virtual area D0 and the first side initial boundary 931 determined by the sensing module 320.
Since the first virtual area D0 is formed, the self-propelled device 200 will not be able to move beyond the first virtual area D0 to the outside of the first side virtual boundary 832. Therefore, in an actual cleaning area, if there is a concave area C2, which is not detected, outside the first virtual area D0, the robot will not be able to enter the concave area C1. Hence, in order to avoid the concave area C1 in the actual cleaning area, preferably, the first virtual area D0 is formed such that the position of the self-propelled device 200 is not at the first side virtual boundary 832 of the first virtual area D0, for example, the corner or boundary of the first virtual area D0. Alternatively, the first virtual area D0 is formed such that the first side virtual boundary 832 is not set at the same position as the first side initial boundary 931 (that is, the actual wall surface) detected by the self-propelled device 200. According to the aforementioned design, there is a greater chance that the first virtual area D0 includes the concave area C1, so that the self-propelled device 200 can enter the concave area C1 to explore the boundary of the concave area C1.
As shown in
Step S06: moving the self-propelled device for an initial path along the first side initial boundary 931 in the first virtual area D0, and determining boundary data of the initial path by the control module 340 using the distance sensor 321, and moving the position of the first virtual area D0 according to the boundary data, so as to form a calibrated first virtual area D1.
Step S08: forming at least one second virtual area D2 on the surface 900 according to the calibrated first virtual area D1. In an embodiment, at least one part Ao of two adjacent virtual areas in the calibrated first virtual area D1 and the at least one second virtual area D2 overlap, so as to avoid an uncleaned area between the two adjacent virtual areas due to moving errors or other factors.
Step S10: after the self-propelled device 200 cleans the calibrated first virtual area D1, removing the virtual boundary of the calibrated first virtual area D1 and entering the adjacent second virtual area D2. Then, as shown in
As shown in
Referring to
It should be understood that the present disclosure has no limitation to the time point of moving the first virtual area D0, as long as the first virtual area D0 is moved when or before the virtual boundary is encountered. Those skilled in the art can decide the time point to move the first virtual area D0 according to needs. For example, in an embodiment, the self-propelled device 200 moves the first virtual area D0 when it determines its current position beyond the point Pa (for example, at the point Pe) in the y direction, such that the first side virtual boundary 832 moves toward the first side update boundary 932. In an embodiment, when the virtual boundary is encountered, for example, at the point Pz, the first virtual area D0 is moved, thereby moving the first side virtual boundary 832 toward the first side update boundary 932. In an embodiment, when the self-propelled device 200 determines its position beyond the point Pd (for example, at the point Pi) in the direction x, the self-propelled device 200 moves the first virtual area D0, such that second side virtual boundary 842 moves toward the second side update boundary 942. In an embodiment, when the virtual boundary is encountered, for example, at the point Py, the first virtual area D0 is moved, thereby moving the second side virtual boundary 842 toward the second side update boundary 942.
As mentioned above, after the self-propelled device 200 moves for a path in the first virtual area D0, it moves the position of the first virtual area D0 according to the path traveled by the self-propelled device 200, to form a calibrated first virtual area D1. In addition, the update boundary is determined according to the path traveled by the self-propelled device, such that the first side virtual boundary 832 moves toward the first side update boundary 932, or the second side virtual boundary 842 moves toward the second side update boundary 942, thereby forming the calibrated first virtual area D1. In comparison with the case where the calibrated first virtual area D1 is not formed, the number of virtual areas formed by the self-propelled device 200 is less when the calibrated first virtual area D1 is formed. Therefore, the advantage of moving the first virtual area D0 is that the number of virtual areas are reduced and the efficiency of cleaning is improved.
In addition, in an embodiment, the self-propelled device 200 first moves straight, and after encountering a wall (step S02), the self-propelled device 200 forms a virtual area of about 4.4 meters (step S04). Subsequently, in the virtual area, the self-propelled device 200 moves counterclockwise along the wall (the right side brush of the self-propelled device 200 is close to the wall surface). When another update wall is determined, the position of the virtual area is moved (step S06). Then, the self-propelled device 200 moves along the virtual boundary of the update virtual area or the real wall, and after moving for one round, the self-propelled device 200 starts zigzagging.
According to an embodiment of the present disclosure, a self-propelled device and a method for controlling the same are provided, wherein the self-propelled device can be a cleaning device or a cleaning robot. When encountering an obstacle, the self-propelled device 200 moves clockwise along the edge of the obstacle. During moving along the edge of the obstacle, if the self-propelled device 200 encounters a cleaned area, the self-propelled device 200 stops the step of moving along the edge of the obstacle and performs a step of scanning to look for an untraveled area nearby. Then, the self-propelled device 200 “zigzags” to clean the room, so as to improve efficiency of cleaning. Hereinafter, the embodiments of the present disclosure will be further illustrated.
Step S20: the self-propelled device 200 zigzags.
Step S22: the self-propelled device 200 identifies whether the self-propelled device 200 moves throughout the virtual area. If yes, the self-propelled device 200 performs Step S30; and if no, the self-propelled device 200 performs Step S24.
Step S24: the self-propelled device 200 identifies whether it collides with the edge and this area has not been travelled. If yes, the self-propelled device 200 performs Step S26. If no, the self-propelled device 200 returns to perform Step S20, and records the site at which the self-propelled device 200 collides with the edge as an initial point of the boundary tracking.
Step S26: the self-propelled device 200 performs the boundary tracking. More specifically, the right side of the self-propelled device 200 moves along the edge of the obstacle.
Step S28: during the boundary tracking, the self-propelled device 200 identifies whether the current position has been travelled and the difference ΔA between the azimuth angle Q of the current position and the azimuth angle Q0 of the initial point of the boundary tracking is more than 300°; or identifies whether the current position has been travelled and ΔA<−180°. If yes, the self-propelled device 200 performs Step S28. If no, the self-propelled device 200 returns to Step S24 for boundary tracking.
Step S30: the self-propelled device 200 enters the next virtual area.
ΔA being more than zero indicates a counterclockwise rotation, and ΔA being less than zero indicates a clockwise rotation. In addition, those skilled in the art can appropriately set the size of the angle, for example, ΔA being more than a first predetermined angle and less than a second predetermined angle. Further, the first predetermined angle can be 250°, 300°, 350°, 360°, or a value between the aforementioned numbers. The second predetermined angle can be −130°, −180°, −230°, −330°, −360°, or a value between the aforementioned numbers. In addition, in an embodiment, an anti-collision bar 226 is disposed for sensing a collision signal, thereby determining a collision at the edge. In another embodiment, a distance sensor 321 can be used for measuring the distance between the self-propelled device 200 and an obstacle (an isolated obstacle or a wall surface). When the distance meets a predetermined distance range, the collision at the edge is determined.
As shown in
In the case where the virtual area is the second virtual area D2 or the calibrated first virtual area D1, the self-propelled device 200 moves along the edge (Step S26), i.e., the self-propelled device 200 moves counterclockwise along the wall again for a distance. When moving back to the point P3, the self-propelled device 200 determines ΔA>300°, determines that the area has been travelled (Step S28), and keeps zigzagging (Step S20).
In the case where the virtual area is the first virtual area D0, the control module 340 sets the first virtual area D0 in the map information 361 of the surface 900 of the floor in the room. At this time, the self-propelled device 200 moves along the edge (Step S26), i.e., the self-propelled device 200 moves counterclockwise along the wall for a distance. When moving back to the point P3, the self-propelled device 200 determines ΔA>300°, determines that the area has been travelled (Step S28) and keeps zigzagging (Step S20). In an embodiment, behind the point P3, all areas in the direction FD cannot be travelled, such that it is determined that the point P3 is the wall. After moving for a period of time, when the self-propelled device 200 determines there is no need to move the first virtual area D0, the self-propelled device 200 moves along the wall and the first virtual area D0 for one round. For example, when the self-propelled device 200 determines that its current position has exceeded the point P3 in the direction x, the first side initial boundary 931 is farther away from the current position of the self-propelled device 200 than the first side update boundary 932, i.e., when the first side initial boundary 931 is the farthest boundary, the position of the first virtual area D0 is not moved, and the first virtual area D0 is directly regarded as the calibrated first virtual area D1. In another embodiment, after moving for a period of time, when the self-propelled device 200 determines that the first virtual area D0 needs to be moved, the self-propelled device 200 forms the calibrated first virtual area D1, and then moves along the edge of the wall and the edge of the calibrated first virtual area D1.
Referring to
At the point P5, the self-propelled device 200 moves along the edge (Step S26), more specifically, the right side of the self-propelled device 200 moves along the edge of the obstacle 940 so as to move clockwise along the edge of the obstacle 940. Then, the self-propelled device 200 moves to the point P4, at this time, determines ΔA<−180° and determines that the area has been travelled (Step S28). The self-propelled device 200 determines that the point P4 is the area which has been travelled or cleaned, i.e., the mark of the grid of the point P4 is C, then the self-propelled device 200 stops boundary tracking and stops the step of moving along the edge of the obstacle 940. Then, the self-propelled device 200 scans the area which has not been travelled or cleaned and is the closest to the point P4 in the map information 361. At this time, the self-propelled device 200 detects that the grid above the point P6 has not been travelled or cleaned and is the closest to the point P4, such that the self-propelled device 200 moves to the point P6 and keeps zigzagging (Step S20). In this embodiment, the self-propelled device 200 has stopped the boundary tracking on the point P4, such that the self-propelled device 200 will not move to the point P5 and repeatedly clean the cleaned area between the point P4 and the point P5, so as to increase efficiency of cleaning.
If the self-propelled device 200 has moved to the point P7, cleaned the current virtual area, scanned the uncleaned (untraveled) area in the current virtual area and found the uncleaned grid at the right of the point P8 (Step S22), the self-propelled device 200 moves to the point P8 and cleans the uncleaned area. In addition, in another embodiment, at the point P7, the self-propelled device 200 determines that there are multiple uncleaned areas (Step S22), then moves to the uncleaned area which is the closest to the point P7, and finishes the cleaning of this area. Then, the self-propelled device 200 cleans the next uncleaned area (Step S30). The cleaning process is not finished until all the uncleaned areas in the current virtual area have been cleaned. Then, the self-propelled device 200 closes the virtual boundary of the current virtual area, and enters the next virtual area. In this embodiment, the self-propelled device 200 searches for the uncleaned area in the virtual area, and the distance between the point P7 and the point P8 is limited to be within the virtual area, not the entire room, such that the moving distance is shorter and the efficiency of cleaning is increased. In addition, the area of the virtual area is smaller than the area of the entire room, and the resulting uncleaned area is relatively small, thereby reducing the distance of repeated moving.
As shown in
According to an embodiment of the present disclosure, when moving along the virtual area and the obstacle, it is not necessary to move around the virtual area and the obstacle for one round. The self-propelled device 200 only needs to determine the azimuth angle being greater than a first predetermined angle or smaller than a second predetermined angle, and detects that the current position has been travelled, such that repeated moving or cleaning is avoided as much as possible, and the efficiency of moving and cleaning is increased.
In summary, according to an embodiment of the present disclosure, a virtual area is set on a surface, a self-propelled device is controlled to move on a path in the virtual area, boundary data are determined by using a distance sensor, and the position of the virtual area is moved according to the boundary data to form a calibrated virtual are, thereby increasing efficiency of cleaning. In an embodiment, after encountering the obstacle, the self-propelled device 200 moves clockwise along the edge of the obstacle. During moving along the edge of the obstacle, if the self-propelled device encounters the cleaned area, the self-propelled device stops the step of moving along the edge of the obstacle, performs scanning to look for the nearby area which has not been travelled or cleaned, and then keeps “zigzagging” to clean the room, thereby increasing the efficiency of cleaning.
Number | Date | Country | Kind |
---|---|---|---|
202011064651.9 | Sep 2020 | CN | national |