CN117941983A - Cleaning robot control method, apparatus, cleaning robot, and readable storage medium - Google Patents

Cleaning robot control method, apparatus, cleaning robot, and readable storage medium Download PDF

Info

Publication number
CN117941983A
CN117941983A CN202410289961.2A CN202410289961A CN117941983A CN 117941983 A CN117941983 A CN 117941983A CN 202410289961 A CN202410289961 A CN 202410289961A CN 117941983 A CN117941983 A CN 117941983A
Authority
CN
China
Prior art keywords
avoidance
cleaning robot
current
path
planning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410289961.2A
Other languages
Chinese (zh)
Inventor
吴鹏飞
黄祥斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Youjiyuan Technology Co ltd
Ubtech Robotics Corp
Original Assignee
Shenzhen Youjiyuan Technology Co ltd
Ubtech Robotics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Youjiyuan Technology Co ltd, Ubtech Robotics Corp filed Critical Shenzhen Youjiyuan Technology Co ltd
Priority to CN202410289961.2A priority Critical patent/CN117941983A/en
Publication of CN117941983A publication Critical patent/CN117941983A/en
Pending legal-status Critical Current

Links

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

The application relates to the technical field of cleaning robots, and discloses a cleaning robot control method, a cleaning robot control device, a cleaning robot and a readable storage medium, wherein the method comprises the following steps: in the navigation advancing process, if the cleaning robot detects that the avoidance condition is met, filling avoidance operation is executed according to the current avoidance object information; when the avoidance stopping condition is detected to be met, stopping the current avoidance operation, and executing a path planning attempt strategy from the current position based on the navigation map after the current filling operation, so that the cleaning robot can better process collision abnormality in the navigation task process, the working efficiency of the robot is improved, and the use experience of a user is further improved.

Description

Cleaning robot control method, apparatus, cleaning robot, and readable storage medium
Technical Field
The present application relates to the field of cleaning robots, and in particular, to a cleaning robot control method, a cleaning robot control device, a cleaning robot, and a readable storage medium.
Background
For example, when a cleaning robot needs to clean from one room to another during cleaning of a whole house or the like, it is generally realized by performing a navigation task. However, in a practical scenario, when a navigation task is executed, some abnormal situations, such as a person walking over a road just blocking the cleaning robot, the cleaning robot colliding with a stool, a table, or the like, or encountering a door closing of two rooms, are inevitably generated during walking, and the problem that the navigation task fails when the abnormal situations are encountered is caused due to the fact that no corresponding strategy is available for coping with the situations.
Disclosure of Invention
In view of this, embodiments of the present application provide a cleaning robot control method, apparatus, cleaning robot, and readable storage medium.
In a first aspect, an embodiment of the present application provides a cleaning robot control method, including:
In the navigation advancing process, if the cleaning robot detects that the avoidance condition is met, filling avoidance operation is executed according to the current avoidance object information;
Stopping the current avoidance operation when the avoidance stopping condition is detected to be met, and starting planning attempt from the current position based on the navigation map after the filling operation until the completion or failure of the navigation task is confirmed;
Wherein, in executing the planning attempt, each time the planning attempt is executed, the number of attempts is increased by one;
before the number of attempts exceeds the maximum number of attempts, if the path planning is successful, determining whether to adjust the current number of attempts based on the planned current path, and attempting to travel according to the planned current path;
If the trial running fails, clearing the filling information of the time in the navigation map, and then performing the next planning trial; if the running trial fails when the updated trial number exceeds the maximum trial number, confirming that the navigation task fails.
In some embodiments, the cleaning robot control method further includes:
after the running attempt fails when the maximum number of the running attempts is exceeded, executing one additional running attempt, and if the running attempt fails, confirming that the navigation task fails; wherein the additional attempt time is greater than a maximum avoidance time preset when the current avoidance operation is performed.
In some embodiments, the cleaning robot control method further includes:
and when the attempt is successful or the failure of the navigation task is confirmed, the filling information of the time in the navigation map is reserved.
In some embodiments, the determining whether to adjust the current number of attempts based on the current path includes, before:
Acquiring a shortest path stored before the current path planning; the shortest path is a navigation path with the shortest length reaching the target point before executing each avoidance operation, which is updated in real time;
the determining whether to adjust the current number of attempts based on the current path includes:
And determining whether to adjust the current try times according to the length comparison result of the current path and the shortest path.
In some embodiments, the determining whether to adjust the current number of attempts according to the comparison result of the lengths of the current path and the shortest path includes:
if the length of the current path is smaller than that of the shortest path, determining to reset the current try times;
If the length of the current path is greater than or equal to the length of the shortest path, or the difference value of the length of the current path and the length of the shortest path is within a preset difference value range, determining to perform a holding operation on the current try times.
In some embodiments, the avoidance stop condition includes any one of:
After the cleaning robot rotates around the avoidance object for one circle;
when the projection value of the distance traveled by the cleaning robot in the rotating avoidance direction on the initial navigation path is greater than or equal to a preset distance value;
And when the rotation avoidance time of the cleaning robot exceeds the preset maximum avoidance time.
In some embodiments, the avoidance subject comprises a low obstacle and/or cliff; the meeting of the avoidance condition includes:
When the cleaning robot detects a collision with a low obstacle or the cleaning robot detects a cliff, it is confirmed that the avoidance condition is satisfied.
In some embodiments, if the avoidance object is the low obstacle, the performing the filling avoidance operation according to the current avoidance object information includes:
Determining a rotation direction according to the collision point position of the cleaning robot, where the cleaning robot collides with the current low-level obstacle, then keeping the cleaning robot in a preset distance range from the current low-level obstacle, performing avoidance walking operation along the rotation direction, and performing avoidance side filling on the current low-level obstacle position in the navigation map;
and if the collision point is positioned in front of or in front of the cleaning robot, the rotation direction is a counterclockwise rotation direction, otherwise, the rotation direction is a clockwise rotation direction.
In some embodiments, if the avoidance object is a cliff, the performing the filling avoidance operation according to the current avoidance object information includes:
Determining a rotation direction according to the relative position of the current cliff and the cleaning robot, then keeping the current cliff within a preset distance range from the current cliff, performing avoidance walking operation along the rotation direction, and performing avoidance side filling on the current cliff in the navigation map.
In a second aspect, an embodiment of the present application provides a cleaning robot control device including:
The avoidance module is used for executing filling avoidance operation according to the current avoidance object information if the cleaning robot detects that the avoidance condition is met in the navigation advancing process;
The attempting module is used for stopping the current avoidance operation when the avoidance stopping condition is detected to be met, and executing planning attempt from the current position based on the navigation map after the filling operation until the completion or failure of the navigation task is confirmed;
the trial module comprises a counting unit, a path planning unit, a trial travelling unit, an adjusting unit and a confirming unit;
In the process of executing the planning attempts, the counting unit is used for adding one to the number of attempts for each execution of the planning attempts;
the path planning unit is used for planning paths;
The adjusting unit is used for determining whether to adjust the current try times or not based on the planned current path if the path planning is successful before the try times exceeds the maximum try times;
the trial traveling unit is used for trial traveling according to the planned current path;
The path planning unit is also used for clearing the filling information of the time in the navigation map if the trial running fails, and then carrying out the next planning trial;
The confirmation unit is used for confirming that the navigation task fails if the running attempt still fails when the updated attempt times exceeds the maximum attempt times.
In a third aspect, an embodiment of the present application provides a cleaning robot including a processor and a memory, the memory storing a computer program, the processor being configured to execute the computer program to implement the cleaning robot control method.
In a fourth aspect, embodiments of the present application provide a computer readable storage medium storing a computer program which, when executed on a processor, implements the cleaning robot control method.
The embodiment of the application has the following beneficial effects:
The cleaning robot control method aims at the problem that when the avoidance condition is met in the advancing process of executing the navigation task, if a low obstacle or a cliff is encountered (namely collision occurs), filling avoidance operation is executed according to the current avoidance object information when collision occurs; then, when the avoidance stopping condition is detected to be met, the current avoidance operation is stopped, and a path planning attempt strategy is executed from the current position based on the navigation map after the filling operation, namely, the navigation dynamic adjustment is performed, so that the cleaning robot can better process collision abnormality in the navigation task process, particularly, when the navigation task is executed, the situation that some places are missed or the constructed map is incomplete can be avoided as much as possible, namely, the working efficiency of the cleaning robot is improved, and further the use experience of a user is improved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the embodiments will be briefly described below, it being understood that the following drawings only illustrate some embodiments of the present application and therefore should not be considered as limiting the scope, and other related drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 shows a schematic structural view of a cleaning robot according to an embodiment of the present application;
Fig. 2 shows a first flowchart of a cleaning robot control method of an embodiment of the present application;
FIG. 3 shows a schematic view of a low-profile obstacle on a navigation planned path;
FIG. 4 illustrates a right avoidance process of an embodiment of the present application;
FIG. 5 illustrates a left avoidance process of an embodiment of the present application;
FIG. 6 shows a schematic view of crash filling for right avoidance in FIG. 4;
FIG. 7 shows a schematic view of a cleaning robot walking around a obstacle after a collision;
FIG. 8 shows a schematic view of a cleaning robot walking on a navigation planned path;
fig. 9 shows a second flowchart of a cleaning robot control method of an embodiment of the present application;
Fig. 10 is a schematic view showing a structure of a cleaning robot control device according to an embodiment of the present application.
Description of main reference numerals:
10-cleaning robot; 11-a processor; 12-memory; 13-a sensing unit; 14-an execution unit; 100-cleaning robot control device; a 110-avoidance module; 120-attempt module; 121-a counting unit; 122-a path planning unit; 123-attempt to travel the unit; 124-an adjustment unit; 125-confirmation unit.
Detailed Description
The following description of the embodiments of the present application will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present application, but not all embodiments.
The components of the embodiments of the present application generally described and illustrated in the figures herein may be arranged and designed in a wide variety of different configurations. Thus, the following detailed description of the embodiments of the application, as presented in the figures, is not intended to limit the scope of the application, as claimed, but is merely representative of selected embodiments of the application. All other embodiments, which can be made by a person skilled in the art without making any inventive effort, are intended to be within the scope of the present application.
The terms "comprises," "comprising," "including," or any other variation thereof, are intended to cover a specific feature, number, step, operation, element, component, or combination of the foregoing, which may be used in various embodiments of the present application, and are not intended to first exclude the presence of or increase the likelihood of one or more other features, numbers, steps, operations, elements, components, or combinations of the foregoing. Furthermore, the terms "first," "second," "third," and the like are used merely to distinguish between descriptions and should not be construed as indicating or implying relative importance.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which various embodiments of the application belong. The terms (such as those defined in commonly used dictionaries) will be interpreted as having a meaning that is the same as the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein in connection with the various embodiments of the application.
Some embodiments of the present application are described in detail below with reference to the accompanying drawings. The embodiments described below and features of the embodiments may be combined with each other without conflict.
Referring to fig. 1, a schematic structure of a cleaning robot 10 according to an embodiment of the application is shown. In this embodiment, the cleaning robot 10 includes a processor 11, a memory 12, a sensing unit 13, and an executing unit 14, where the memory 12, the sensing unit 13, and the executing unit 14 are all connected to the processor 11, and the memory 12 stores a corresponding computer program, and the processor 11 is configured to execute the computer program to implement the cleaning robot control method in the embodiment of the present application, that is, by controlling the cleaning robot 10 to perform avoidance operation and a reasonable attempt strategy when a collision occurs, the cleaning robot 10 can efficiently perform dynamic adjustment of navigation according to a change of an actual environment, so as to better handle a collision abnormality, so that an abnormality handling capability and a working efficiency of the cleaning robot 10 can be improved, and user experience is improved.
The processor 11 may be an integrated circuit chip with signal processing capabilities. The processor may be a general purpose processor including at least one of a central processing unit (Central Processing Unit, CPU), a graphics processor (Graphics Processing Unit, GPU) and a network processor (Network Processor, NP), a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like that may implement or perform the methods, steps, and logic blocks disclosed in embodiments of the present application.
The Memory 12 may be, but is not limited to, a random access Memory (Random Access Memory, RAM), a Read Only Memory (ROM), a programmable Read Only Memory (Programmable Read-Only Memory, PROM), an erasable Read Only Memory (Erasable Programmable Read-Only Memory, EPROM), an electrically erasable Read Only Memory (Electric Erasable Programmable Read-Only Memory, EEPROM), etc. The memory is used for storing a computer program, and the processor can correspondingly execute the computer program after receiving the execution instruction.
The sensing unit 13 is mainly used for transmitting necessary external environment information and the like to a control system of the cleaning robot 10, so as to provide necessary conditions for the cleaning robot 10 in the scenes of cleaning, map construction, recharging and the like. For example, the sensing unit 13 may include, but is not limited to including, lidar, cameras, infrared sensors, and the like. The infrared sensor can be used for obtaining distance information from the external environment, and the laser radar can be used for obtaining external obstacle information and the like, but the function is not limited to the infrared sensor; and the camera may be used to acquire image information of the cleaning robot 10 during walking. Further, the robot may utilize these distances and/or image information, etc. to control accordingly to achieve various modes of operation, which may include, but are not limited to, walking obstacle avoidance, cleaning of specific areas, autonomous mapping or recharging, etc.
It should be noted that, regarding the position setting of the sensing unit 13, the position setting can be specifically adjusted according to the actual requirement. Typically, different positions provided at the body of the cleaning robot 10 will have different sensing areas, for example, when provided at higher elevation positions (e.g., near the top of the body, etc.), which may not be perceived for some low obstacles. In fact, the cleaning robot control method of the present application proposes a solution for the above-mentioned abnormal situation to ensure that the cleaning robot 10 completes the navigation task as much as possible. The shape of the cleaning robot 10 of the present application is not limited to a circular shape, but may be a square or rectangular shape, or may have other shapes and structures, and is not limited thereto.
The performing unit 14 is mainly configured to perform a cleaning function of the cleaning robot 10, and may include, for example, but not limited to, a spray cleaning assembly, a dirt removing assembly, etc., where a specific structure of the performing unit 14 may be determined according to actual requirements, and generally, the more types of cleaning modes, the more corresponding performing assemblies are often. Not described here too much.
Based on the structure of the cleaning robot 10 described above, the cleaning robot control method will be described below in connection with some specific embodiments.
Fig. 2 shows a flowchart of a cleaning robot control method according to an embodiment of the present application. The cleaning robot control method exemplarily includes the steps of:
And S100, if the avoidance condition is detected to be met in the navigation advancing process, executing filling avoidance operation according to the current avoidance object information.
For example, when the cleaning robot performs the navigation task, the cleaning robot generally proceeds according to a pre-planned navigation path, however, unexpected collision often occurs during the actual navigation process, so that in order to make the task proceed smoothly, the cleaning robot 10 needs to be controlled to perform a corresponding avoidance operation and a navigation adjustment after avoidance, so as to improve the probability of the cleaning robot 10 completing the navigation task.
The time when the avoidance condition is satisfied mainly refers to a time when the cleaning robot 10 detects that an object to be avoided is present through the sensing unit, specifically, for example, when a collision with an unknown low obstacle is detected, or when a Cliff (Cliff) is detected, the cleaning robot 10 confirms that the avoidance condition is satisfied at the moment, and needs to perform an avoidance operation.
It can be understood that the collision object with collision is the avoidance object needing to be avoided. In the present application, the avoidance objects mainly include obstacles (i.e., low obstacles), cliffs, etc., which are not perceived by the perception unit 13 of the cleaning robot 10 in the actually planned navigation path. For example, as shown in fig. 3, when a navigation task from room a to room C is performed on the already constructed room navigation map, when the height of a certain obstacle is lower than the sensing unit installation height of the cleaning robot 10, the sensing unit 13 will not sense the low obstacle, thereby causing the low obstacle information to not appear and be considered in the constructed navigation map. Or "foot-out" may occur when the cleaning robot 10 cleans a corridor, i.e., corresponds to a collision with a cliff.
For different avoidance objects, different avoidance operations may be employed. For example, in one case, if the avoidance object is a low obstacle, the performing the filling avoidance operation according to the current avoidance object information in step S100 includes:
First, the rotation direction is determined according to the collision point position where the cleaning robot 10 collides with the current low obstacle. Wherein the rotation direction includes a clockwise rotation direction and a counterclockwise rotation direction. Then, the cleaning robot 10 is controlled to perform the avoidance travel operation, i.e., the right avoidance or the left avoidance, along the rotation direction while remaining within a preset distance range from the low obstacle. Meanwhile, the cleaning robot 10 performs avoidance side filling of the low obstacle position in the navigation map.
For example, if the collision point position is located in front of or right front of the cleaning robot 10 as shown in fig. 4 (a), the robot performs right avoidance, rotates in the counterclockwise direction to approach the low obstacle as shown in fig. 4 (b), and then performs the avoidance travel operation on the obstacle along the way as shown in fig. 4 (c). Similarly, if the cleaning robot 10 collides with the left front as shown in fig. 5 (a), the cleaning robot performs left avoidance, rotates in the clockwise direction as shown in fig. 5 (b), and then performs forward avoidance travel as shown in fig. 5 (c). Of course, the rotation angle may be specifically determined according to actual conditions, and is not limited only herein.
When the cleaning robot 10 performs left-right avoidance travel, it is necessary to travel a predetermined distance from the low obstacle in order to avoid collision with the low obstacle again. During the traveling, the cleaning robot 10 detects the distance between the body and the obstacle through other distance sensors installed at the side of the body, and then controls the speeds of the left and right wheels according to the detected distance, so that the distance between the cleaning robot 10 and the obstacle is maintained at a relatively stable value. For example, when the cleaning robot 10 performs right avoidance, and the distance between the robot body and the obstacle is relatively close to or even almost equal to that of collision, the speed of the left wheel is controlled to be slightly larger than that of the right wheel, so that the distance between the robot body and the obstacle is slightly reduced; when the distance between the machine body and the obstacle is far or even far away from the obstacle, the speed of the right wheel is controlled to be slightly higher than that of the left wheel, so that the distance between the machine body and the obstacle is slightly increased.
The avoidance side filling refers to the filling of the obstacle on the avoidance side in the navigation map, and is used for marking that the current position has the obstacle. It will be appreciated that the perception unit acquiring the map is not able to acquire the low obstacle due to the too low height of the low obstacle, and therefore will here fill the avoidance side low obstacle position into the navigation map. Therefore, the robot is re-planned after the robot finishes avoiding walking on the side, and the planned route can bypass the low obstacle to avoid collision again. As shown in fig. 6, the cleaning robot 10 collides with a low obstacle to avoid right, and performs right collision filling during the avoidance.
In another case, if the avoidance object is a cliff, performing a filling avoidance operation according to current avoidance object information, including: according to the relative position of the current cliff and the cleaning robot 10, a rotation direction is determined, and then an avoidance walking operation is performed along the rotation direction while maintaining a preset distance from the current cliff, and the avoidance side filling is performed on the current cliff position in the navigation map. It will be appreciated that during navigation travel, if the cleaning robot 10 detects a cliff, it is also necessary to perform a right-hand or left-hand cliff operation to prevent the cleaning robot 10 from falling, except in the case where a low obstacle cannot detect a collision.
Similarly, in the process of along the cliff, the detected cliff also needs to be filled with the mark of the cliff on the existing map, and specifically, the avoidance side filling operation like a low obstacle can be performed, so that the cleaning robot 10 considers the filled cliff when navigating and planning again, and walks around the cliff, thereby avoiding failure or abnormality of navigating and planning again.
And S200, stopping the current avoidance operation when the avoidance stopping condition is detected to be met.
It can be appreciated that the avoidance walking described above cannot be unrestricted, otherwise it may deviate farther and farther from the target point, thereby causing failure of the navigation task. Therefore, after collision occurs in the first planning navigation process to avoid and walk for a period of time, whether to stop walking is required to be judged according to some avoidance stopping conditions, and then the navigation to the target point is planned again.
In one embodiment, the avoidance stop condition is associated with a particular avoidance maneuver, and may be set when different avoidance travel modes are employed. For example, the above avoidance stop conditions may include, but are not limited to, any of the following:
(1) After the cleaning robot 10 makes one rotation around the avoidance object. Assuming that the cleaning robot 10 collides during the navigation process, the colliding obstacle disappears or moves away or is too small, when the side sensor of the cleaning robot 10 cannot detect the obstacle, the cleaning robot 10 rotates along the side where the collision occurs, and stops the current avoidance walking after one rotation, at this time, the cleaning robot 10 is redirected to the colliding direction, and then a new navigation planning attempt is performed, as shown in fig. 7.
(2) When the projection value of the distance traveled by the cleaning robot 10 in the avoidance direction on the initial navigation path is greater than or equal to the preset distance value. It will be appreciated that since the cleaning robot 10 is ultimately aimed at reaching the original target point, the cleaning robot 10 will avoid along the obstacle, typically traveling in the direction of the target point, upon collision on the originally planned navigation path. However, in order to prevent the cleaning robot 10 from avoiding excessive, the current avoiding walking distance and direction of the cleaning robot 10 may be selected on the originally planned navigation path, and the distance projection value of the avoiding walking is smaller than a certain distance value, as shown in fig. 8, when the projection value is greater than or equal to the preset distance value d, the current avoiding walking is stopped, and then a new navigation planning attempt is performed.
(3) When the avoidance time of the cleaning robot 10 exceeds the preset maximum avoidance time. For example, in the case of the above (2), the avoidance path after the collision of the cleaning robot 10 may not always be directed to the initial target point, but may be directed to the opposite direction, and in this case, in order to avoid the cleaning robot 10 from being excessively far away from the initial target point, the avoidance time limit may be increased, for example, when the avoidance time exceeds the maximum avoidance time t seconds, the current avoidance travel is stopped, and then a new navigation planning attempt is performed.
And S300, executing planning attempt from the current position based on the navigation map after the filling operation until the completion or failure of the navigation task is confirmed.
In the application, the planning attempt process comprises two parts, one is path planning, namely, a path from the current position to the target point is planned; the other is to try to travel, i.e. travel to the target point according to the planned path, wherein the planning attempt is considered successful only when the path planning is successful and the attempting to travel is successful; otherwise, when the path planning is successful but the trial travel fails, or the path planning fails, the planning trial fails.
In one embodiment, as shown in fig. 9, the above-described attempt strategy includes the following steps:
s301, executing a planning attempt from the current position, wherein each time the planning attempt is executed, the number of attempts is increased by one.
It will be appreciated that after stopping the avoidance maneuver, at least one planning attempt will be performed, if the avoidance object is moving dynamically, if it collides with the obstacle again during the trial travel, the next planning attempt will be performed, and the number of attempts will be accumulated. Wherein the accumulated number of attempts does not exceed the set maximum number of attempts to restrict the total number of attempts for the same avoidance object from being excessive or too long.
In an alternative embodiment, before performing step S303, the method further includes:
S302, acquiring the shortest path stored before the current path planning. The shortest path is a navigation path with the shortest length reaching the target point before executing each avoidance operation, which is updated in real time.
During the whole navigation task, if no unknown obstacle is encountered, the navigation path is the shortest path to the original target point. If an obstacle is encountered each time, the avoidance travel operation is performed, so that it is necessary to re-plan the shortest path from the current avoidance stop position to the target point, and ideally, the cleaning robot 10 travels to the target point according to the shortest planned path. In other words, the shortest path is dynamically updated.
S303, path planning is conducted. If the path planning is successful, steps S305 and S307 are executed; if the path planning fails, step S313 is performed.
S305, if the path planning is successful, determining whether to adjust the current try times based on the planned current path. It will be appreciated that whether the number of attempts is adjusted will affect whether the next planning attempt is performed at the time of the re-collision and the total number of attempts that can be performed.
Illustratively, it may be determined whether to adjust the current number of attempts based on a comparison of the lengths of the current and shortest paths. For example, if the length of the current path is smaller than the length of the shortest path, it is determined to perform a reset operation on the current number of attempts, that is, set to 0. If the length of the current path is greater than or equal to the length of the shortest path, or if the length difference is within the preset difference range, that is, if the lengths of the newly planned path and the shortest path do not change significantly, the current number of attempts is determined to be kept, so that it can be determined that the cleaning robot 10 is still performing the avoidance and planning attempt operation on the same avoidance object. The preset difference range may be set to be equal to the body width or diameter of the cleaning robot 10, the cleaning width, etc., and is not limited herein.
It will be appreciated that when the path of the planning attempt is decreasing compared to the last stored shortest navigation path, this indicates that the current planning attempt is travelling towards the target point, the current number of attempts is reset to 0, so that the next avoidance operation is re-accumulated from the number of attempts to 0, so that the planning attempt strategy for the same obstacle moving dynamically is not limited to the maximum number of attempts, such as not more than 3, 4, etc.
For example, when the cleaning robot 10 tries to travel according to the planned current new path, just 2 steps have taken and encounters an obstacle, it needs to be re-planned, which should be understood as a second planning attempt. Because the new path planned again has a smaller difference in length than the current path, it is considered that the last obstacle has moved a short distance in the current area. To avoid trying too long on the same obstacle, the number of attempts constraint is increased.
S307, attempting to travel according to the planned current path.
The steps S305 and S307 may be performed simultaneously or sequentially, which is not limited herein. Further, if the current trial travel fails, step S309 is performed. Alternatively, if the current attempt to travel is successful, step S315 is performed.
S309, if the trial travel fails, the filling information of the time in the navigation map is cleared, and then the next planning trial is carried out.
In a practical environment, because the situation of the low-level obstacle may be dynamic, or the door opening and closing state of the cleaning robot 10 from one room to another room may be uncertain, if the above avoidance behavior is performed once, the obstacle is moved away or the door state changes again, but the route planned by navigation may fail due to the previous collision filling, so that the filling information in the navigation map can be cleared in a reasonable number of attempts, and then the planning attempt is performed again, and at this time, the number of attempts is increased by one. If the next planning attempt is successful, step S315 is performed. It will be understood that, before executing step S309, if the number of attempts is reset, after executing step S309, the number of attempts is updated to 1; otherwise, if the number of attempts is not reset, the number of attempts is updated to 2 after step S309 is performed. Wherein the purge operation is performed only after the attempt to travel fails, that is, the number of purges is less than or equal to the number of attempts.
S311, detecting whether the number of attempts exceeds the maximum number of attempts. Before the number of attempts exceeds the maximum number of attempts, if a planning attempt fails, the next planning attempt may be performed until when the number of attempts exceeds the maximum number of attempts, if still the attempt has failed, indicating that the number of consecutive planning attempts has failed, at which point step S313 is performed.
S313, confirming that the navigation task fails. It will be appreciated that when successive attempts fail, the current navigation task is ended directly in order to avoid too long a time for avoidance on an avoidance object. Or when the first planning attempt fails in path planning, for example, when an obstacle surrounds the cleaning robot 10, the obstacle will not be bypassed at this time, so that the failure of the navigation task can be directly confirmed.
S315, reserving the filling information of the time in the navigation map.
It can be appreciated that after the avoidance maneuver, if the planning attempt is successful, the collision filling information in the navigation map will be preserved; or if the continuous planning attempts fail, the collision filling information needs to be reserved for reference in the next planning.
As an alternative, after the failure to attempt to travel when the maximum number of attempts is exceeded, the method further comprises: an additional attempt is performed, i.e. when the maximum number of attempts is reached, the last planning attempt is additionally made. Wherein the additional attempt time is greater than the maximum backoff time set when the current backoff operation is performed. If the attempt still fails, step S313 is performed.
It will be appreciated that in a practical environment, the obstacle scenario encountered by the cleaning robot 10 is often more complex, which may cause the attempt of the attempt strategy to fail, so that the entire navigation task to a certain target point fails, and eventually may cause a certain room to be missed or a map to be constructed to be incomplete, so that in order to avoid the occurrence of such abnormal situations, the last planning attempt may be added. This planning attempt is again to ensure that the cleaning robot 10 reaches the target point with as high a probability as possible. Therefore, if the planning attempt is successful, the whole navigation task is considered to be failed if the planning attempt is failed.
The cleaning robot 10 of the present application performs collision filling operation in a navigation map for avoidance according to current avoidance object information at the time of collision, when collision is detected during traveling, such as with a low obstacle or cliff, during execution of a navigation task; then, after avoidance is stopped, a path planning attempt strategy is executed based on the filled navigation map from the current position, so that the cleaning robot 10 can better perform navigation dynamic adjustment according to the change of the actual environment, for example, when a full-house cleaning is performed, the attempt strategy can enable the robot to efficiently complete the whole cleaning task in a short time, the condition of missing cleaning is avoided as much as possible, namely, the working efficiency of the cleaning robot 10 is improved, and the use experience of a user is further improved.
Fig. 10 shows a schematic structural view of a cleaning robot control device 100 according to an embodiment of the present application. Exemplarily, the cleaning robot control device 100 includes:
The avoidance module 110 is configured to execute a filling avoidance operation according to current avoidance object information if the cleaning robot 10 detects that an avoidance condition is satisfied during a navigation traveling process;
The attempting module 120 is configured to stop the current avoidance operation when it is detected that the avoidance stopping condition is met, and perform a planning attempt from the current position based on the navigation map after the current filling operation until it is confirmed that the current navigation task is completed or fails;
Wherein the try module 120 includes a counting unit 121, a path planning unit 122, a try traveling unit 123, an adjusting unit 124, and a confirmation unit 125;
In the process of executing the programming attempt, the counting unit 121 is configured to increment the number of attempts by one for each execution of the programming attempt;
The path planning unit 122 is used for performing path planning;
the adjusting unit 124 is configured to determine whether to adjust the current number of attempts based on the planned current path if the path planning is successful before the number of attempts exceeds the maximum number of attempts;
the attempting-traveling unit 123 is configured to attempt traveling according to the planned current path;
The path planning unit 122 is further configured to clear the current filling information in the navigation map if the trial travel fails, and then perform the next planning trial;
The confirmation unit 125 is configured to confirm that the navigation task fails if the travel is still attempted to fail when the updated number of attempts exceeds the maximum number of attempts.
It is understood that the apparatus of the present embodiment corresponds to the cleaning robot control method of the above embodiment, and the options of the above embodiment are also applicable to the present embodiment, so the description thereof will not be repeated here.
The present application also provides a computer readable storage medium storing the computer program for use in the cleaning robot 10 described above. For example, the computer storage medium may include, but is not limited to,: a usb disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
In the several embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other manners. The apparatus embodiments described above are merely illustrative, for example, of the flow diagrams and block diagrams in the figures, which illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
In addition, functional modules or units in various embodiments of the application may be integrated together to form a single part, or the modules may exist alone, or two or more modules may be integrated to form a single part.
The functions, if implemented in the form of software functional modules and sold or used as a stand-alone product, may be stored in a computer-readable storage medium. Based on such understanding, the technical solution of the present application may be embodied essentially or in a part contributing to the prior art or in a part of the technical solution in the form of a software product stored in a storage medium, comprising several instructions for causing a computer device (which may be a smart phone, a personal computer, a server, a network device, etc.) to perform all or part of the steps of the method according to the embodiments of the present application.
The foregoing is merely illustrative of the present application, and the present application is not limited thereto, and any person skilled in the art will readily recognize that variations or substitutions are within the scope of the present application.

Claims (12)

1. A cleaning robot control method, characterized by comprising:
In the navigation advancing process, if the cleaning robot detects that the avoidance condition is met, filling avoidance operation is executed according to the current avoidance object information;
Stopping the current avoidance operation when the avoidance stopping condition is detected to be met, and starting planning attempt from the current position based on the navigation map after the filling operation until the completion or failure of the navigation task is confirmed;
Wherein, in executing the planning attempt, each time the planning attempt is executed, the number of attempts is increased by one;
before the number of attempts exceeds the maximum number of attempts, if the path planning is successful, determining whether to adjust the current number of attempts based on the planned current path, and attempting to travel according to the planned current path;
If the trial running fails, clearing the filling information of the time in the navigation map, and then performing the next planning trial; if the running trial fails when the updated trial number exceeds the maximum trial number, confirming that the navigation task fails.
2. The cleaning robot control method according to claim 1, further comprising:
after the running attempt fails when the maximum number of the running attempts is exceeded, executing one additional running attempt, and if the running attempt fails, confirming that the navigation task fails; wherein the additional attempt time is greater than a maximum avoidance time preset when the current avoidance operation is performed.
3. The cleaning robot control method according to claim 1 or 2, characterized by further comprising:
and when the attempt is successful or the failure of the navigation task is confirmed, the filling information of the time in the navigation map is reserved.
4. The cleaning robot control method according to claim 1, wherein the determining whether to adjust the current number of attempts based on the current path, previously includes:
Acquiring a shortest path stored before the current path planning; the shortest path is a navigation path with the shortest length reaching the target point before executing each avoidance operation, which is updated in real time;
the determining whether to adjust the current number of attempts based on the current path includes:
And determining whether to adjust the current try times according to the length comparison result of the current path and the shortest path.
5. The cleaning robot control method according to claim 4, wherein the determining whether to adjust the current number of attempts according to a length comparison result of the current path and the shortest path includes:
if the length of the current path is smaller than that of the shortest path, determining to reset the current try times;
If the length of the current path is greater than or equal to the length of the shortest path, or the difference value of the length of the current path and the length of the shortest path is within a preset difference value range, determining to perform a holding operation on the current try times.
6. The cleaning robot control method according to claim 1, wherein the avoidance stop condition includes any one of:
After the cleaning robot rotates around the avoidance object for one circle;
when the projection value of the distance traveled by the cleaning robot in the rotating avoidance direction on the initial navigation path is greater than or equal to a preset distance value;
And when the rotation avoidance time of the cleaning robot exceeds the preset maximum avoidance time.
7. The cleaning robot control method according to claim 1, wherein the avoidance object includes a low obstacle and/or a cliff; the meeting of the avoidance condition includes:
When the cleaning robot detects a collision with a low obstacle or the cleaning robot detects a cliff, it is confirmed that the avoidance condition is satisfied.
8. The method according to claim 7, wherein if the avoidance object is the low obstacle, the performing the filling avoidance operation according to the current avoidance object information includes:
Determining a rotation direction according to the collision point position of the cleaning robot, where the cleaning robot collides with the current low-level obstacle, then keeping the cleaning robot in a preset distance range from the current low-level obstacle, performing avoidance walking operation along the rotation direction, and performing avoidance side filling on the current low-level obstacle position in the navigation map;
and if the collision point is positioned in front of or in front of the cleaning robot, the rotation direction is a counterclockwise rotation direction, otherwise, the rotation direction is a clockwise rotation direction.
9. The method according to claim 7, wherein if the avoidance object is a cliff, the performing the filling avoidance operation according to the current avoidance object information includes:
Determining a rotation direction according to the relative position of the current cliff and the cleaning robot, then keeping the current cliff within a preset distance range from the current cliff, performing avoidance walking operation along the rotation direction, and performing avoidance side filling on the current cliff in the navigation map.
10. A cleaning robot control device, characterized by comprising:
The avoidance module is used for executing filling avoidance operation according to the current avoidance object information if the cleaning robot detects that the avoidance condition is met in the navigation advancing process;
The attempting module is used for stopping the current avoidance operation when the avoidance stopping condition is detected to be met, and executing planning attempt from the current position based on the navigation map after the filling operation until the completion or failure of the navigation task is confirmed;
the trial module comprises a counting unit, a path planning unit, a trial travelling unit, an adjusting unit and a confirming unit;
In the process of executing the planning attempts, the counting unit is used for adding one to the number of attempts for each execution of the planning attempts;
the path planning unit is used for planning paths;
The adjusting unit is used for determining whether to adjust the current try times or not based on the planned current path if the path planning is successful before the try times exceeds the maximum try times;
the trial traveling unit is used for trial traveling according to the planned current path;
The path planning unit is also used for clearing the filling information of the time in the navigation map if the trial running fails, and then carrying out the next planning trial;
The confirmation unit is used for confirming that the navigation task fails if the running attempt still fails when the updated attempt times exceeds the maximum attempt times.
11. A cleaning robot, characterized in that the cleaning robot comprises a processor and a memory, the memory storing a computer program, the processor being adapted to execute the computer program to implement the cleaning robot control method of any one of claims 1-9.
12. A computer-readable storage medium, characterized in that it stores a computer program which, when executed on a processor, implements the cleaning robot control method according to any one of claims 1-9.
CN202410289961.2A 2024-03-13 2024-03-13 Cleaning robot control method, apparatus, cleaning robot, and readable storage medium Pending CN117941983A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410289961.2A CN117941983A (en) 2024-03-13 2024-03-13 Cleaning robot control method, apparatus, cleaning robot, and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410289961.2A CN117941983A (en) 2024-03-13 2024-03-13 Cleaning robot control method, apparatus, cleaning robot, and readable storage medium

Publications (1)

Publication Number Publication Date
CN117941983A true CN117941983A (en) 2024-04-30

Family

ID=90796109

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410289961.2A Pending CN117941983A (en) 2024-03-13 2024-03-13 Cleaning robot control method, apparatus, cleaning robot, and readable storage medium

Country Status (1)

Country Link
CN (1) CN117941983A (en)

Similar Documents

Publication Publication Date Title
CN109068933B (en) Robot-assisted surface treatment by means of a robot
JP7352318B2 (en) Robot general-purpose charging stand return charging control method, chip and robot
US10048698B2 (en) Guiding of a motor vehicle in a parking lot
US9079303B2 (en) Autonomous robot
US10409290B2 (en) Valet parking method and valet parking system
CN114200928B (en) Intelligent mobile device, control method thereof and storage medium
US10345821B2 (en) Floor-treatment apparatus and navigation system therefor
US10442082B1 (en) Methods and systems for automated robotic movement
US7499776B2 (en) Systems and methods for control of an unmanned ground vehicle
KR100826881B1 (en) Autonomous Mobile Robot for moving safely and Method for controlling moving path using the same
EP1504277B1 (en) Real-time target tracking of an unpredictable target amid unknown obstacles
US9616889B2 (en) Cruise control system and method
US7499804B2 (en) System and method for multi-modal control of an autonomous vehicle
US20080294288A1 (en) Autonomous Mobile Robot
EP3908896A1 (en) A robotic tool, and methods of navigating and defining a work area for the same
US9599987B2 (en) Autonomous mobile robot and method for operating the same
CN108873882B (en) Intelligent mobile device, and method, apparatus, program, and medium for planning movement path thereof
JP4061596B2 (en) Movement control device, environment recognition device, and moving body control program
US20140297066A1 (en) Remote control system
CN117941983A (en) Cleaning robot control method, apparatus, cleaning robot, and readable storage medium
CN114026387B (en) Guiding control device and guiding control system for moving body
TWI387727B (en) Traveling path planning method for self-propelled machine and navigation method for avoiding dynamic obstacle
KR20200130221A (en) method and system for generating optimized parking path
CN114690755A (en) Cleaning robot and obstacle detouring method thereof
CN110673604A (en) Automatic warehousing control method and system for mobile robot and mobile robot

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination