Cleaning robot control method, apparatus, device, and medium
By combining low-resolution and high-precision cost maps for path planning and speed adjustment, the problem of insufficient obstacle avoidance accuracy of cleaning robots has been solved, achieving efficient and safe cleaning control.
Patent Information
- Application Number
- CN202411351792.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-26
- Publication Date
- 2025-11-21
- Estimated Expiration
- 2044-09-26
AI Technical Summary
Existing cleaning robots lack sufficient obstacle avoidance accuracy during line tracking, making them prone to obstacle collisions, resulting in low cleaning efficiency and safety hazards.
Collision detection is performed using a low-resolution cost map, local paths are pre-planned, and combined with a high-precision cost map and line-following control commands, the final control speed is generated by adjusting the speed and angular velocity to achieve precise path planning and obstacle avoidance.
It improves the cleaning efficiency of cleaning robots, avoids unnecessary stops and detours, reduces energy consumption, ensures the safety of robots and the environment, and adapts to complex cleaning scenarios.
Smart Images

Figure CN119247955B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of cleaning robot technology, and more specifically, to a cleaning robot control method, device, equipment, and medium. Background Technology
[0002] With the widespread application of cleaning robots, the importance of their control technology is becoming increasingly prominent. However, existing cleaning robot control technologies have significant shortcomings and are difficult to meet practical needs. Current technologies typically employ simple path planning algorithms, which struggle to fully consider the complexity and dynamic changes of the environment. This results in suboptimal cleaning paths, low efficiency, and insufficient accuracy in line following, making it easy to deviate from the path and affecting cleaning performance. When facing obstacles in complex environments, they cannot make timely and accurate judgments and reactions, easily leading to collisions, damaging the robot, and potentially causing environmental damage, increasing safety hazards. These problems collectively affect the performance and reliability of cleaning robots, preventing them from completing cleaning tasks efficiently and safely.
[0003] Therefore, the insufficient obstacle avoidance accuracy and the susceptibility to obstacle collisions during the line-following and tracking process of existing cleaning robots are problems that urgently need to be solved. Summary of the Invention
[0004] The main objective of this application is to provide a cleaning robot control method, device, equipment, and medium, which aims to solve the technical problems of insufficient obstacle avoidance accuracy and easy obstacle collisions in the process of cleaning robots following lines.
[0005] The first aspect of this application proposes a method for controlling a cleaning robot, comprising:
[0006] Based on a low-resolution cost map, map collision detection is used to determine whether there is a risk of map collision on the current static cleaning path of the robot.
[0007] If collisions exist, a local path is pre-planned based on the collision point information in the map collision detection results;
[0008] Generate line-following control commands based on static or local paths. (v0) .
[0009] The trajectory is based on the line-following and tracking instructions and the robot's current state prediction instructions;
[0010] Collision detection is performed on the predicted trajectory based on a high-precision cost map.
[0011] If a collision risk exists, the lattice sampling speed is obtained based on the speed of the line-following control command, and the optimal safe lattice speed is calculated based on the high-precision cost map. (v1) ;
[0012] The adjustment amount of the linear velocity is calculated based on the deviation between the line-following command velocity and the lattice sampling velocity, which determines whether the robot's linear velocity should accelerate or decelerate, and the acceleration / deceleration rate. Combining the curvature information of the safe velocity output by the lattice with the adjusted linear velocity information, the robot's angular velocity is regenerated, thus obtaining the adjusted control velocity. (v2) .
[0013] Based on the preset speed limit of the static cleaning path, the control angular velocity is obtained again according to the curvature information of the adjusted control speed and the path speed limit information, thereby obtaining the final control speed. (v3) The robot is subjected to cleaning control.
[0014] Furthermore, the step of determining whether there is a collision risk on the current robot's static cleaning path based on a low-resolution cost map and using map collision detection includes:
[0015] Load a low-resolution cost map, including obstacle markers;
[0016] Real-time acquisition of the robot's position and attitude information on the static cleaning path;
[0017] Identify the contour envelope of the static cleaning path within the sensor detection range of the robot.
[0018] The map collision detection method determines whether there is a collision risk between the contour envelope and the obstacle marker;
[0019] If such a collision exists, collision point information is generated based on the area where there is a collision risk.
[0020] Furthermore, the step of pre-planning a local path based on the collision point information in the map collision detection results, if such collisions exist, includes:
[0021] Analyze the location of collision points in the collision point information to determine the possible location and direction of a collision.
[0022] Based on the robot's current position and available space, plan multiple possible local paths;
[0023] Assess the feasibility of each local path;
[0024] Based on the evaluation results, the optimal local path is selected as the pre-planned result.
[0025] Furthermore, the step of predicting the travel trajectory based on static line following tracking includes:
[0026] Based on static paths or pre-planned local paths, the robot performs line-following and tracking control.
[0027] Obtain the robot's current static line-following tracking parameters, including tracking, positioning, and motion data;
[0028] Based on the speed of the line-following control command and the robot's current state, analyze the motion trend;
[0029] Based on motion trends, the robot's trajectory is predicted within a first preset time period.
[0030] Furthermore, the step of performing collision detection on the predicted trajectory based on the high-precision cost map includes:
[0031] Load high-precision cost map;
[0032] Match the predicted trajectory with obstacle information in the high-precision map;
[0033] Determine whether there is overlap with obstacles or below a preset safe distance on the predicted trajectory to determine if there is a risk of collision.
[0034] Further, the step of calculating the adjustment amount of the linear velocity based on the deviation value between the line-following control command velocity and the sampling velocity, and generating the robot's angular velocity by combining the curvature information of the optimal safe velocity and the adjusted linear velocity information, thereby obtaining the adjusted control velocity, includes:
[0035] Calculate the difference between the speed of the line-following control command and the sampling speed;
[0036] Based on the preset algorithm and deviation threshold, the difference is processed to obtain the adjustment amount of the linear velocity;
[0037] Obtain curvature information for the optimal safe speed;
[0038] Based on the adjusted linear velocity and curvature information, the robot's angular velocity is generated through mathematical models or calculation formulas;
[0039] The adjusted control speed is formed based on the adjusted linear velocity and the calculated angular velocity.
[0040] Furthermore, the step of obtaining the control angular velocity based on the curvature information of the adjusted control speed and the path speed limit information under the preset speed limit state of the static cleaning path, thereby obtaining the final control speed, and performing cleaning control on the robot based on the final control speed, includes:
[0041] Obtain the preset speed limit and restrictions for the static cleaning path;
[0042] The calculated linear velocity adjustment and angular velocity are compared with the speed limit value;
[0043] If the speed limit is exceeded, the speed will be adjusted to meet the speed limit requirements;
[0044] Based on the adjusted linear velocity and angular velocity, the final control velocity is obtained. Based on the final control velocity, control commands are sent to the robot's control system to achieve cleaning control of the robot.
[0045] A second aspect of this application provides a control device for a cleaning robot, comprising:
[0046] The judgment module is used to determine whether there is a collision risk on the current robot's static cleaning path based on a low-resolution cost map and map collision detection.
[0047] The planning module is used to pre-plan local paths based on collision point information from the map collision detection results, if collisions exist.
[0048] The prediction module is used to predict the trajectory based on static line-following tracking.
[0049] The detection module is used to perform collision detection on the predicted trajectory based on a high-precision cost map;
[0050] The calculation module is used to obtain the lattice sampling speed based on the speed of the line-following control command if there is a collision risk, and to calculate the optimal safe speed.
[0051] The generation module is used to calculate the adjustment amount of the linear velocity based on the deviation value of the line-following control command speed and the sampling speed, and to generate the robot's angular velocity by combining the curvature information of the optimal safe speed and the adjusted linear velocity information, thereby obtaining the adjusted control speed.
[0052] The control module is used to obtain the control angular velocity based on the curvature information of the adjusted control speed and the path speed limit information under the preset speed limit state of the static cleaning path, thereby obtaining the final control speed, and to perform cleaning control on the robot based on the final control speed.
[0053] A third aspect of this application provides a computer device comprising:
[0054] processor;
[0055] Memory, used to store computer programs;
[0056] Wherein, when the processor executes the computer program, it implements any of the cleaning robot control methods described above.
[0057] A fourth aspect of this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the cleaning robot control method described in any of the preceding claims.
[0058] Beneficial effects:
[0059] This application enables the robot to avoid unnecessary stops and detours through precise path planning and collision detection, thus completing cleaning tasks more efficiently. The comprehensive collision detection and speed adjustment mechanism effectively prevents the robot from colliding with obstacles, protecting the robot and its surrounding environment. Combined with low-resolution and high-resolution cost maps, as well as pre-planned local paths, the robot's cleaning path becomes more reasonable and optimized. Through reasonable speed control and path planning, unnecessary acceleration, deceleration, and turning of the robot are reduced, thereby reducing energy consumption. This application can cope with various complex cleaning scenarios and can make flexible adjustments regardless of the distribution of obstacles in the map or different cleaning requirements. Attached Figure Description
[0060] Figure 1 This is a schematic diagram of the steps of a cleaning robot control method according to an embodiment of this application;
[0061] Figure 2 This is a schematic block diagram of the structure of a cleaning robot control device according to an embodiment of this application;
[0062] Figure 3 This is a schematic block diagram of the structure of a computer device according to an embodiment of this application;
[0063] The purpose, features, and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation
[0064] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0065] Those skilled in the art will understand that, unless explicitly stated otherwise, the singular forms “a,” “an,” “the,” and “the” used herein may also include the plural forms. It should be further understood that the term “comprising” as used in the specification of this application means the presence of features, integers, steps, operations, elements, modules, and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, modules, components, and / or groups thereof. It should be understood that when an element is referred to as “connected” or “coupled” to another element, it may be directly connected or coupled to the other element, or there may be intermediate elements. Furthermore, “connected” or “coupled” as used herein may include wireless connections or wireless coupling. The term “and / or” as used herein includes all or any modules and all combinations thereof of one or more associated listed items.
[0066] It will be understood by those skilled in the art that, unless otherwise defined, all terms used herein (including technical and scientific terms) have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains. It should also be understood that terms such as those defined in general dictionaries should be understood to have the same meaning as in the context of the prior art, and should not be interpreted in an idealized or overly formal sense unless specifically defined as herein.
[0067] Reference Figure 1 This application provides a cleaning robot control method, including the following steps:
[0068] S1. Based on a low-resolution cost map, determine whether there is a collision risk on the current static cleaning path of the robot through map collision detection;
[0069] S2. If collisions exist, pre-plan a local path based on the collision point information in the map collision detection results;
[0070] S3. Predicting the travel trajectory based on static line following;
[0071] S4. Based on the high-precision cost map, perform collision detection on the predicted trajectory;
[0072] S5. If there is a collision risk, obtain the lattice sampling speed based on the speed of the line-following control command, and calculate the optimal safe speed.
[0073] S6. The adjustment amount of the linear velocity is calculated based on the deviation value of the line-following control command speed and the sampling speed. The angular velocity of the robot is generated by combining the curvature information of the optimal safe speed and the adjusted linear velocity information, thereby obtaining the adjusted control speed.
[0074] S7. Based on the preset speed limit of the static cleaning path, the control angular velocity is obtained according to the curvature information of the adjusted control speed and the path speed limit information, thereby obtaining the final control speed, and the robot is cleaned based on the final control speed.
[0075] In step S1, detailed static map information is first obtained. This includes map dimensions, terrain features, and obstacle distribution. Based on this static map information, a static cleaning path is generated using a specific algorithm. For example, path planning algorithms such as ant colony optimization or A* algorithm are used, comprehensively considering factors such as cleaning area coverage, path length, and energy consumption to generate an efficient and comprehensive cleaning path. After generating the static cleaning path, this path information is input into the robot's control system to achieve static line-following and tracking control of the robot. The robot's position and attitude can be monitored in real time and compared with the preset static cleaning path. The robot's current state information is obtained through sensors (such as LiDAR, cameras, and inertial measurement units). Based on the deviation, the control system calculates the required control commands (such as speed and steering angle) and sends them to the robot's actuators (such as motors and servos), enabling the robot to perform precise movement and cleaning operations along the preset static cleaning path.
[0076] Next, the relevant data and parameters of the low-resolution cost map need to be loaded. The cost map is the data structure used for path planning. It is usually a two-dimensional grid, where each grid cell represents a part of the environment and is assigned a cost value. This cost value reflects the probability that the robot will encounter an obstacle at that location or the risk of moving to that location. The cost map helps the robot avoid obstacles and find a safe path from the current location to the target location. The low-resolution cost map has a lower resolution image data compared to the high-resolution cost map. Low-resolution cost map cells cover a larger physical area, and each cell represents a larger actual space. Due to the larger cells, the total number of cells in the map is smaller, resulting in faster processing and less memory usage during path planning. The relevant data and parameters in the low-resolution cost map include obstacle marking information. These obstacle markings can be determined in advance through sensor scanning or manual annotation. When the cleaning robot is running on a static cleaning path, its position and attitude information are acquired in real time, which can be achieved through the robot's internal positioning system (such as GPS, inertial navigation system, etc.). Then, the contour envelope corresponding to the static cleaning path within the current sensor detection range of the robot is identified. This contour envelope is determined based on the robot's dimensions and the sensor's detection range; it represents the actual space the robot occupies at its current location. Then, a map collision detection algorithm determines whether there is a collision risk between this contour envelope and obstacle markers. If a collision risk exists, collision point information is generated based on the area of risk, including the collision point's coordinates and possible collision direction. In this way, potential collision risks that the robot may encounter on a static cleaning path can be identified in advance, providing a basis for subsequent path planning and control.
[0077] In step S2, if a collision risk is detected in step S1, a local path needs to be pre-planned based on the collision point information. First, the positions of the collision points in the collision point information are analyzed to determine the possible locations and directions of a collision. Then, based on the robot's current position and available space, multiple possible local paths are planned. When planning local paths, factors such as the robot's mobility and environmental constraints can be considered. Next, the feasibility of each local path is evaluated, which can be achieved by considering factors such as path length, the degree of obstacle avoidance, and consistency with the target direction. Finally, based on the evaluation results, the optimal local path is selected as the pre-planned result. This allows for the rapid finding of a suitable local path when a collision risk is encountered, preventing the robot from colliding.
[0078] In step S3, the robot is controlled to follow a path based on a static path or a pre-planned local path. This can be achieved by using sensors (such as cameras, LiDAR, etc.) to detect the edges or feature points of the path and controlling the robot to move along the path based on this information. The robot's current static path-following parameters are acquired, including tracking, positioning, and motion data. These parameters reflect the robot's current position, speed, direction, and other information. Based on the path-following control command speed and the robot's current state, the motion trend is analyzed. For example, the robot's future direction and speed changes can be predicted based on current speed, acceleration, and turning angle. Based on the motion trend, the robot's trajectory within a first preset time period is predicted. This allows for advance knowledge of the robot's future trajectory, providing a reference for subsequent collision detection and control.
[0079] In step S4, a high-precision cost map is first loaded to ensure the accuracy of obstacle information and terrain details. This high-precision cost map combines high-precision map data, offering a higher image resolution compared to the low-resolution cost map. Each cell in the high-precision cost map represents a very small actual physical space, accurate to the centimeter level, allowing for more detailed representation of environmental features. This helps the cleaning robot better understand its surroundings, resulting in more accurate obstacle avoidance planning. Next, the predicted trajectory from step S3 is precisely matched with the obstacle information in the high-precision map. This matching process considers the spatial relationship between each point on the trajectory and obstacles, including distance, angle, and potential contact. Preset judgment criteria determine whether there is overlap with obstacles or a distance below a preset safety distance on the predicted trajectory. If such overlap or distance is found, a collision risk is identified, providing crucial information for subsequent speed adjustments and path planning.
[0080] In step S5, if a collision risk is detected in step S4, the lattice sampling speed needs to be obtained based on the line-following control command speed. The lattice sampling speed can be obtained by sampling the control command speed, for example, by randomly generating multiple sampling speeds within a certain range. Then, the optimal safe speed is calculated. This can be achieved by considering factors such as the robot's motion capabilities, environmental limitations, and collision risks. The optimal safe speed should be as close as possible to the control command speed while ensuring the robot's safety. By calculating the optimal safe speed, a safe and reasonable speed can be selected when there is a collision risk, avoiding collisions. For example, assuming the distance between the robot and the obstacle is D, the robot's maximum braking acceleration is a_max, the line-following control command speed is V_tracking, and the lattice sampling speed set is {V_sample1, V_sample2, ..., V_sampleN}. First, for each lattice sampling speed V_samplei, the minimum distance S_safei required for the robot to safely stop at that speed under maximum braking capacity is calculated. For example, according to the physical formula: S_safei = (V_samplei)^2 / (2*a_max). Then, the minimum safe distance S_safei corresponding to each sampling speed is compared with the actual distance D. If S_safei <= D, then the sampling speed V_samplei is considered a potentially optimal safe speed. From all potential optimal safe speeds, the optimal speed is selected as the final optimal safe speed. For example, the speed with the smallest value can be selected to maximize efficiency while ensuring safety. In actual calculations, multiple factors are considered, such as the distance between the robot and obstacles, the type and size of obstacles, the robot's dynamic characteristics (such as acceleration, steering ability, etc.), and the complexity of the environment. The process of calculating the optimal safe speed may use mathematical models and algorithms to screen, correct, and optimize the sampling speeds to ensure that the robot can operate at a speed that avoids collisions while completing the task as efficiently as possible in the current environment. This step fully considers various uncertainties and potential hazards to ensure that the robot can avoid collisions in subsequent movements.
[0081] In step S6, the difference between the line-following control command speed and the sampled speed is first calculated. This difference reflects the degree of deviation between the two. Then, the difference is processed according to a preset algorithm and deviation threshold. The processing may include operations such as weighted averaging and filtering to obtain an adjustment amount for the linear velocity. This adjustment aims to make the robot's actual linear velocity closer to a safe and ideal state. Obtaining the curvature information of the optimal safe speed is crucial for the robot's steering control. Finally, based on the adjusted linear velocity and curvature information, the robot's angular velocity is generated through a mathematical model or calculation formula. The generation of the angular velocity needs to comprehensively consider the changes in linear velocity and the curvature of the path to ensure that the robot can move smoothly and accurately along the planned path.
[0082] In step S7, the preset speed limit and constraints of the static cleaning path are first obtained. These speed limits and constraints can be set based on environmental requirements, robot performance, and other factors. The calculated adjustment amount of linear velocity and angular velocity are compared with the speed limit. If the speed limit is exceeded, the speed is adjusted to meet the speed limit requirements. For example, the linear velocity and angular velocity can be adjusted using proportional control or threshold control based on the difference between the speed limit and the current speed. The final control speed is obtained based on the adjusted linear velocity and angular velocity. Based on the final control speed, control commands are sent to the robot's control system to achieve cleaning control of the robot. This allows the robot's speed to be adjusted according to the preset speed limit state while ensuring robot safety, enabling the robot to perform cleaning operations at an appropriate speed.
[0083] In one embodiment, the step of determining whether there is a collision risk on the current robot's static cleaning path based on a low-resolution cost map and map collision detection includes:
[0084] A10. Load a low-resolution cost map, including obstacle markers;
[0085] A11. Real-time acquisition of the robot's position and attitude information on the static cleaning path;
[0086] A12. Identify the contour envelope of the static cleaning path within the sensor detection range of the robot.
[0087] A13. Determine whether there is a collision risk between the contour envelope and the obstacle marker through map collision detection;
[0088] A14. If it exists, generate collision point information based on the area where there is a collision risk.
[0089] In this embodiment, when the cleaning robot is controlled, a low-resolution cost map is first loaded. This low-resolution cost map pre-marks various possible obstacles, which can be obtained through prior environmental scanning or manual annotation. Next, the robot's position and attitude information on the static cleaning path is acquired in real time. This can be achieved through the robot's internal positioning system (such as inertial navigation, GPS, etc.) to ensure accurate understanding of the robot's specific position and direction on the cleaning path. Then, the contour envelope corresponding to the current sensor detection range of the robot on the static cleaning path is identified. This contour envelope is determined based on the robot's dimensions and the sensor's detection range, representing the actual space occupied by the robot at its current position. Afterwards, a map collision detection algorithm is used to determine whether there is a collision risk between this contour envelope and the obstacle markers. If a collision risk exists, detailed collision point information is generated based on the area with the collision risk, including the collision point's location coordinates and possible collision direction. In this way, based on the low-resolution cost map, it is possible to quickly determine whether the robot is likely to collide on the static cleaning path, providing important information for subsequent path planning and control.
[0090] In one embodiment, the step of pre-planning a local path based on the collision point information in the map collision detection result, if such collisions exist, includes:
[0091] A20. Analyze the location of the collision points in the collision point information to determine the possible location and direction of the collision;
[0092] A21. Based on the robot's current position and available space, plan multiple possible local paths;
[0093] A22. Evaluate the feasibility of each local path;
[0094] A23. Based on the evaluation results, select the optimal local path as the pre-planning result.
[0095] In this embodiment, if a collision risk is detected in the preceding steps, a local path needs to be pre-planned based on the collision point information. First, the positions of the collision points in the collision point information are analyzed to determine the specific location and direction of a potential collision. This helps us better understand the potential collision scenarios and provides guidance for planning the local path. Next, based on the robot's current position and available space, multiple possible local paths are planned. When planning local paths, factors such as the robot's mobility and environmental constraints need to be considered to ensure that the planned path is actually traversable by the robot. Then, the feasibility of each local path is evaluated. This can be achieved by considering factors such as path length, the degree of obstacle avoidance, and consistency with the target direction. Finally, based on the evaluation results, the optimal local path is selected as the pre-planned result. This allows for the rapid identification of the most suitable local path when a collision risk is encountered, providing safety assurance for the robot's subsequent movement.
[0096] In one embodiment, the step of predicting the travel trajectory based on static line following includes:
[0097] A30. Based on static paths or pre-planned local paths, perform line-following and tracking control on the robot;
[0098] A31. Obtain the robot's current static line-following tracking parameters, including tracking, positioning, and motion data;
[0099] A32. Analyze the motion trend based on the speed of the line-following control command and the robot's current state;
[0100] A33. Based on motion trends, predict the robot's trajectory within a first preset time period.
[0101] In this embodiment, firstly, the robot is controlled to follow a path based on a static path or a pre-planned local path. This can be achieved by using sensors (such as cameras, LiDAR, etc.) to detect the edges or feature points of the path and controlling the robot to move along the path based on this information. Next, the robot's current static line-following tracking parameters are acquired, including tracking positioning and motion data. These parameters reflect the robot's current position, speed, direction, and other information, providing a data foundation for subsequent analysis. Then, based on the line-following tracking control command speed and the robot's current state, the motion trend is analyzed. For example, the robot's future direction and speed changes can be predicted based on current speed, acceleration, and turning angle. Finally, based on the motion trend, the robot's trajectory within a first preset time period is predicted. This allows for advance knowledge of the robot's future trajectory, providing important reference for subsequent collision detection and control.
[0102] In one embodiment, the step of performing collision detection on the predicted trajectory based on a high-precision cost map includes:
[0103] A40. Load high-precision cost map;
[0104] A41. Match the predicted trajectory with obstacle information in the high-precision map;
[0105] A42. Determine whether there is overlap with obstacles or below the preset safe distance on the predicted trajectory to determine whether there is a risk of collision.
[0106] In this embodiment, a high-precision cost map is first loaded. This high-precision cost map has higher resolution and more accurate obstacle information, enabling more precise collision risk detection. Next, the predicted trajectory is matched with the obstacle information in the high-precision map. This can be achieved by calculating the distance between points on the trajectory and obstacles or determining whether the trajectory passes through obstacle areas. Then, it is determined whether there is overlap with obstacles or below a preset safety distance on the predicted trajectory to identify any collision risk. If a collision risk exists, appropriate measures need to be taken to avoid it. By using a high-precision cost map for collision detection, potential collision risks can be identified more accurately, improving the robot's safety.
[0107] In one embodiment, the step of calculating the adjustment amount of the linear velocity based on the deviation value between the line-following control command velocity and the sampling velocity, and generating the robot's angular velocity by combining the curvature information of the optimal safe velocity and the adjusted linear velocity information, thereby obtaining the adjusted control velocity, includes:
[0108] A60. Calculate the difference between the speed of the line-following tracking control command and the sampling speed;
[0109] A61. Based on the preset algorithm and deviation threshold, the difference is processed to obtain the adjustment amount of the linear velocity;
[0110] A62. Obtain curvature information for the optimal safe speed;
[0111] A63. Based on the adjusted linear velocity and curvature information, the robot's angular velocity is generated through a mathematical model or calculation formula;
[0112] A64. Based on the adjusted linear velocity and the calculated angular velocity, the adjusted control velocity is formed.
[0113] In this embodiment, the difference between the line-following tracking control command speed and the sampling speed is first calculated. This difference reflects the degree of deviation between the sampling speed and the control command speed. Next, the difference is processed according to a preset algorithm and deviation threshold to obtain the adjustment amount of the linear velocity. For example, the adjustment amount can be calculated using algorithms such as proportional control, integral control, or derivative control, based on the magnitude and direction of the difference. Then, the curvature information of the optimal safe speed is obtained. The curvature information reflects the robot's turning ability and the degree of path curvature at the current speed. Based on the adjusted linear velocity and curvature information, the robot's angular velocity is generated through a mathematical model or calculation formula. For example, the angular velocity can be calculated based on parameters such as linear velocity, radius of curvature, and the robot's turning radius. Finally, the adjusted control speed is formed based on the adjusted linear velocity and the calculated angular velocity. This allows the robot to adjust its linear velocity and angular velocity according to the deviation between the sampling speed and the control command speed, as well as the curvature information of the optimal safe speed, when there is a risk of collision, enabling the robot to travel at a safer speed.
[0114] In one embodiment, the step of obtaining the control angular velocity based on the curvature information of the adjusted control speed and the path speed limit information under the preset speed limit state of the static cleaning path, thereby obtaining the final control speed, and performing cleaning control on the robot based on the final control speed, includes:
[0115] A70. Obtain the preset speed limit and restrictions for the static cleaning path;
[0116] A71. Compare the calculated linear velocity adjustment and angular velocity with the speed limit value;
[0117] A72. If the speed limit is exceeded, adjust the speed to meet the speed limit requirements;
[0118] A73. Based on the adjusted linear velocity and angular velocity, the final control speed is obtained. Based on the final control speed, control commands are sent to the robot's control system to achieve cleaning control of the robot.
[0119] In this embodiment, the preset speed limit and constraints of the static cleaning path are first obtained. These speed limits and constraints can be set based on environmental requirements, robot performance, and other factors. Next, the calculated adjustment amount of the linear velocity and angular velocity are compared with the speed limit. If the speed limit is exceeded, the speed is adjusted to meet the speed limit requirements. For example, the linear velocity and angular velocity can be adjusted using algorithms such as proportional control based on the difference between the speed limit and the current speed. Then, the final control speed is obtained based on the adjusted linear velocity and angular velocity. Finally, based on the final control speed, control commands are sent to the robot's control system to achieve cleaning control of the robot. This allows the robot's speed to be adjusted according to the preset speed limit while ensuring robot safety, enabling the robot to perform cleaning operations at an appropriate speed.
[0120] refer to Figure 2 One embodiment of this application also proposes a cleaning robot control device, comprising:
[0121] The judgment module 100 is used to determine whether there is a collision risk on the current robot's static cleaning path based on a low-resolution cost map and map collision detection.
[0122] Planning module 200 is used to pre-plan local paths based on collision point information in the map collision detection results if collisions exist.
[0123] Prediction module 300 is used to predict the travel trajectory based on static line following tracking;
[0124] The detection module 400 is used to perform collision detection on the predicted trajectory based on a high-precision cost map;
[0125] The calculation module 500 is used to obtain the lattice sampling speed based on the speed of the line-following control command if there is a collision risk, and to calculate the optimal safe speed.
[0126] The generation module 600 is used to calculate the adjustment amount of the linear velocity based on the deviation value of the line-following control command speed and the sampling speed, and to generate the robot's angular velocity by combining the curvature information of the optimal safe speed and the adjusted linear velocity information, thereby obtaining the adjusted control speed.
[0127] The control module 700 is used to obtain the control angular velocity based on the curvature information of the adjusted control speed and the path speed limit information under the preset speed limit state of the static cleaning path, thereby obtaining the final control speed, and to perform cleaning control on the robot based on the final control speed.
[0128] Furthermore, the aforementioned judgment module 100 includes:
[0129] Loading unit: Used to load low-resolution cost maps, including obstacle markers.
[0130] Position acquisition unit: used to acquire the robot's position and attitude information on the static cleaning path in real time.
[0131] Contour recognition unit: Used to identify the contour envelope of the static cleaning path within the sensor detection range of the current robot.
[0132] Collision detection unit: Used to determine whether there is a collision risk between the contour envelope and the obstacle marker through map collision detection. If there is, collision point information is generated based on the area with collision risk.
[0133] Furthermore, the aforementioned planning module 200 includes:
[0134] Position analysis unit: used to analyze the position of the collision point in the collision point information to determine the possible location and direction of the collision.
[0135] Path planning unit: Used to plan multiple possible local paths based on the robot's current position and available space.
[0136] Feasibility assessment unit: Used to assess the feasibility of each local path.
[0137] Selection Unit: Used to select the optimal local path as the pre-planning result based on the evaluation results.
[0138] Furthermore, the aforementioned prediction module 300 includes:
[0139] Tracking control unit: Used to perform line-following tracking control of the robot based on a static path or a pre-planned local path.
[0140] Parameter acquisition unit: used to acquire the robot's current static line-following tracking parameters, including tracking, positioning, and motion data.
[0141] Trend Analysis Unit: Used to analyze motion trends based on the speed of the line-following control command and the robot's current state.
[0142] Trajectory prediction unit: used to predict the robot's trajectory within a first preset time period based on motion trends.
[0143] Furthermore, the aforementioned detection module 400 includes:
[0144] High-precision map loading unit: Used to load high-precision cost maps.
[0145] Trajectory matching unit: Used to match the predicted travel trajectory with obstacle information in the high-precision map.
[0146] Collision detection unit: used to determine whether there is overlap with an obstacle or below a preset safe distance on the predicted trajectory, in order to determine whether there is a risk of collision.
[0147] Furthermore, the aforementioned computing module 500 includes:
[0148] Speed difference calculation unit: used to calculate the difference between the speed of the line-following control command and the sampling speed.
[0149] Adjustment calculation unit: used to process the difference according to the preset algorithm and deviation threshold to obtain the adjustment amount of linear velocity.
[0150] Curvature acquisition unit: Used to acquire curvature information for the optimal safe speed.
[0151] Angular velocity generation unit: Used to generate the robot's angular velocity based on adjusted linear velocity and curvature information, through mathematical models or calculation formulas.
[0152] Control speed forming unit: used to form the adjusted control speed based on the adjusted linear velocity and the calculated angular velocity.
[0153] Furthermore, the aforementioned control module 700 includes:
[0154] Speed limit acquisition unit: used to acquire the preset speed limit value and restriction conditions of the static cleaning path.
[0155] Speed comparison unit: Used to compare the calculated linear velocity adjustment and angular velocity with the speed limit value.
[0156] Speed adjustment unit: Used to adjust the speed to meet the speed limit if the speed limit is exceeded.
[0157] Command sending unit: Used to obtain the final control speed based on the adjusted linear velocity and angular velocity, and send control commands to the robot's control system based on the final control speed to achieve cleaning control of the robot.
[0158] Reference Figure 3 This application also provides a computer device, which may be a server, and its internal structure may be as follows: Figure 3As shown, this computer device includes a processor, memory, network interface, and database connected via a bus. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores operations, computer programs, and the database. The internal memory provides an environment for the operation of the operations and computer programs stored in the non-volatile storage media. The database stores data such as cleaning robot control methods. The network interface is used for communication with external terminals via a network connection. When executed by a processor, this computer program implements a cleaning robot control method, comprising the following steps: based on a low-resolution cost map, determining whether there is a collision risk on the current static cleaning path through map collision detection; if so, pre-planning a local path based on the collision point information in the map collision detection results; predicting the travel trajectory based on static line-following tracking; performing collision detection on the predicted travel trajectory based on a high-precision cost map; if there is a collision risk, obtaining the lattice sampling speed based on the line-following tracking control command speed and calculating the optimal safe speed; calculating the adjustment amount of the linear velocity based on the deviation value between the line-following tracking control command speed and the sampling speed, and generating the robot's angular velocity by combining the curvature information of the optimal safe speed and the adjusted linear velocity information, thereby obtaining the adjusted control speed; based on the preset speed limit state of the static cleaning path, obtaining the control angular velocity according to the curvature information of the adjusted control speed and the path speed limit information, thereby obtaining the final control speed, and performing cleaning control on the robot based on the final control speed.
[0159] One embodiment of this application also provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it implements a cleaning robot control method, including the following steps: based on a low-resolution cost map, determining whether there is a collision risk on the current robot's static cleaning path through map collision detection; if so, pre-planning a local path based on the collision point information in the map collision detection results; predicting the travel trajectory based on static line-following tracking; performing collision detection on the predicted travel trajectory based on a high-precision cost map; if there is a collision risk, obtaining a lattice sampling speed based on the line-following tracking control command speed and calculating the optimal safe speed; calculating the adjustment amount of the linear velocity based on the deviation value between the line-following tracking control command speed and the sampling speed, and generating the robot's angular velocity by combining the curvature information of the optimal safe speed and the adjusted linear velocity information, thereby obtaining the adjusted control speed; based on the preset speed limit state of the static cleaning path, obtaining the control angular velocity according to the curvature information of the adjusted control speed and the path speed limit information, thereby obtaining the final control speed, and performing cleaning control on the robot based on the final control speed.
[0160] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed, it can include the processes of the embodiments of the methods described above. Any references to memory, storage, databases, or other media provided in this application and used in the embodiments can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual-rate SDRAM (SSRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
[0161] The above description is only a preferred embodiment of this application and does not limit the patent scope of this application. Any equivalent structural or procedural changes made based on the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.
Claims
1. A control method for a cleaning robot, characterized in that, include: Based on a low-resolution cost map, collision detection is used to determine whether there is a risk of collision for the robot on the current static cleaning path. If collisions exist, a local path is pre-planned based on the collision point information in the map collision detection results; Predicting travel trajectory based on static line following tracking; Collision detection is performed on the predicted trajectory based on a high-precision cost map. If there is a risk of collision, the lattice sampling speed is obtained based on the speed of the line-following control command, and the optimal safe speed is calculated. The adjustment amount of the linear velocity is calculated based on the deviation value between the control command speed and the sampling speed. The angular velocity of the robot is generated by combining the curvature information of the optimal safe speed and the adjusted linear velocity information, thereby obtaining the adjusted control speed. Based on the preset speed limit of the static cleaning path, the control angular velocity is obtained according to the curvature information of the adjusted control speed and the path speed limit information, thereby obtaining the final control speed, and the robot is cleaned based on the final control speed.
2. The cleaning robot control method according to claim 1, characterized in that, The step of determining whether there is a collision risk on the current static cleaning path of the robot based on a low-resolution cost map and through map collision detection includes: Load a low-resolution cost map, including obstacle markers; Real-time acquisition of the robot's position and attitude information on the static cleaning path; Identify the contour envelope of the static cleaning path within the sensor detection range of the robot. The map collision detection method determines whether there is a collision risk between the contour envelope and the obstacle marker; If such a collision exists, collision point information is generated based on the area where there is a collision risk.
3. The cleaning robot control method according to claim 1, characterized in that, If collisions exist, the step of pre-planning a local path based on the collision point information in the map collision detection results includes: Analyze the location of collision points in the collision point information to determine the possible location and direction of a collision. Based on the robot's current position and available space, plan multiple possible local paths; Assess the feasibility of each local path; Based on the evaluation results, the optimal local path is selected as the pre-planned result.
4. The cleaning robot control method according to claim 1, characterized in that, The steps for predicting the travel trajectory based on static line following include: Based on static paths or pre-planned local paths, the robot performs line-following and tracking control. Obtain the robot's current static line-following tracking parameters, including tracking, positioning, and motion data; Based on the speed of the line-following control command and the robot's current state, analyze the motion trend; Based on motion trends, the robot's trajectory is predicted within a first preset time period.
5. The cleaning robot control method according to claim 1, characterized in that, The step of performing collision detection on the predicted trajectory based on a high-precision cost map includes: Load high-precision cost map; Match the predicted trajectory with obstacle information in the high-precision map; Determine whether there is overlap with obstacles or below a preset safe distance on the predicted trajectory to determine if there is a risk of collision.
6. The cleaning robot control method according to claim 1, characterized in that, The step of calculating the adjustment amount of the linear velocity based on the deviation value between the line-following control command velocity and the sampled velocity, and generating the robot's angular velocity by combining the curvature information of the optimal safe velocity and the adjusted linear velocity information, thereby obtaining the adjusted control velocity, includes: Calculate the difference between the speed of the line-following control command and the sampling speed; Based on the preset algorithm and deviation threshold, the difference is processed to obtain the adjustment amount of the linear velocity; Obtain curvature information for the optimal safe speed; Based on the adjusted linear velocity and curvature information, the robot's angular velocity is generated through mathematical models or calculation formulas; The adjusted control speed is formed based on the adjusted linear velocity and the calculated angular velocity.
7. The cleaning robot control method according to claim 1, characterized in that, The step of obtaining the control angular velocity based on the curvature information of the adjusted control speed and the path speed limit information under the preset speed limit state of the static cleaning path, thereby obtaining the final control speed, and performing cleaning control on the robot based on the final control speed includes: Obtain the preset speed limit and restrictions for the static cleaning path; The calculated linear velocity adjustment and angular velocity are compared with the speed limit value; If the speed limit is exceeded, the speed will be adjusted to meet the speed limit requirements; Based on the adjusted linear velocity and angular velocity, the final control velocity is obtained. Based on the final control velocity, control commands are sent to the robot's control system to achieve cleaning control of the robot.
8. A control device for a cleaning robot, characterized in that, include: The judgment module is used to determine whether there is a collision risk on the current robot's static cleaning path based on a low-resolution cost map and map collision detection. The planning module is used to pre-plan local paths based on collision point information from the map collision detection results, if collisions exist. The prediction module is used to predict the trajectory based on static line-following tracking. The detection module is used to perform collision detection on the predicted trajectory based on a high-precision cost map; The calculation module is used to obtain the lattice sampling speed based on the speed of the line-following control command if there is a collision risk, and to calculate the optimal safe speed. The generation module is used to calculate the adjustment amount of the linear velocity based on the deviation value of the line-following control command speed and the sampling speed, and to generate the robot's angular velocity by combining the curvature information of the optimal safe speed and the adjusted linear velocity information, thereby obtaining the adjusted control speed. The control module is used to obtain the control angular velocity based on the curvature information of the adjusted control speed and the path speed limit information under the preset speed limit state of the static cleaning path, thereby obtaining the final control speed, and to perform cleaning control on the robot based on the final control speed.
9. A computer device, characterized in that, include: processor; Memory, used to store computer programs; The processor executes the computer program to implement the cleaning robot control method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the cleaning robot control method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Unmanned vehicle dynamic obstacle decision-making method and system, medium and equipment
CN112631276A
Robot path planning method and system considering perception blind area collision uncertainty
CN117111617A