Method and system for marking environmental obstacles for a cleaning robot, device and medium
By employing a hierarchical planning strategy using low-resolution and high-resolution cost maps, combined with multi-sensor data fusion, the problem of balancing robot navigation efficiency and accuracy in traditional methods is solved, enabling safe and efficient navigation in complex environments.
Patent Information
- Application Number
- CN202411543032.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-31
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2044-10-31
AI Technical Summary
Traditional methods struggle to achieve efficient and accurate path planning and obstacle avoidance for autonomous robot navigation in complex and ever-changing environments, especially performing poorly in dynamic scenarios. They suffer from sensor data noise and blind spots, and the conflict between global path planning and local trajectory control is difficult to balance.
A low-resolution cost map is used for global path planning, while a high-resolution cost map is used for local trajectory control. An accurate obstacle grid map is constructed by fusing multi-sensor data, and a hierarchical planning strategy is adopted to combine global path and local trajectory to achieve obstacle avoidance control.
It enables robots to respond flexibly to complex environments, ensures safe and efficient autonomous navigation, improves map accuracy and computational efficiency, reduces data redundancy, and balances navigation accuracy and efficiency.
Smart Images

Figure CN119414846B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of information technology, and in particular to a method, system, device, and medium for marking environmental obstacles for cleaning robots. Background Technology
[0002] The core technological challenge of autonomous robot navigation lies in achieving efficient and accurate path planning and obstacle avoidance in complex and ever-changing environments. Traditional methods often struggle to balance navigation efficiency and accuracy, especially in dynamic scenarios. Specifically, the first challenge is how to integrate multi-source sensor data to construct an accurate environmental map. Sensor data contains noise and blind spots, directly impacting map quality. Secondly, how to compress map data while preserving key information to reduce storage and computational burdens. Furthermore, there is a trade-off between global path planning and local trajectory control; global planning prioritizes efficiency but lacks accuracy, while local control offers high precision but struggles to grasp the overall picture. In addition, in dynamic environments, robots need to perceive changes in their surroundings in real time and react quickly, requiring navigation algorithms with good real-time performance and robustness. Balancing these conflicting needs and designing an autonomous navigation method that can adapt to various complex scenarios while maintaining both efficiency and accuracy is a critical problem that urgently needs to be solved. Summary of the Invention
[0003] This invention provides a method for marking environmental obstacles for a cleaning robot, comprising:
[0004] The low-resolution cost map is passed to the global path planner, and the high-resolution cost map of the region of interest is passed to the local trajectory controller.
[0005] The global path planner plans the global path based on the low-resolution cost map, while the local trajectory controller plans the local trajectory based on the high-resolution cost map and the global path.
[0006] Obstacle avoidance control of robots is achieved based on global paths and local trajectories.
[0007] This invention provides an environmental obstacle marking system for cleaning robots, mainly comprising:
[0008] The planning module is used to pass a low-resolution cost map to the global path planner and a high-resolution cost map of the region of interest to the local trajectory controller; the global path planner plans a global path based on the low-resolution cost map, and the local trajectory controller plans a local trajectory based on the high-resolution cost map and the global path.
[0009] The obstacle avoidance control module is used to implement obstacle avoidance control of the robot based on the global path and local trajectory.
[0010] This invention provides an electronic device, mainly comprising: one or more processors and a memory; the processors and the memory are coupled; the memory is used to store computer program code, the computer program code including computer instructions;
[0011] When the processor executes the computer instructions, the electronic device performs the above-described method for marking environmental obstacles in a cleaning robot.
[0012] This invention provides a computer-readable storage medium storing computer instructions or programs that, when executed on a computer, cause the computer to perform the aforementioned environmental obstacle marking method for a cleaning robot.
[0013] The technical solutions provided by the embodiments of the present invention may include the following beneficial effects:
[0014] This invention discloses a method, system, device, and medium for marking environmental obstacles in cleaning robots. This method achieves efficient robot navigation by fusing data from multiple sensors to construct an accurate obstacle grid map and cost map. First, this invention employs innovative data processing techniques, such as detection point marking and blind spot timeout clearing, effectively improving map accuracy. Second, a priority merging and compression algorithm generates a comprehensive obstacle grid map, preserving key information while reducing data redundancy. Finally, this invention uses a hierarchical planning strategy, using a low-resolution cost map for global path planning and a high-resolution cost map for local trajectory control, cleverly balancing computational efficiency and navigation accuracy. This multi-level planning method enables the robot to flexibly cope with obstacles in complex environments, achieving safe and efficient autonomous navigation. Attached Figure Description
[0015] Figure 1 This is a flowchart of the environmental obstacle marking method for cleaning robots according to the present invention. Detailed Implementation
[0016] To further understand the content of this invention, a detailed description of the invention is provided in conjunction with the accompanying drawings and embodiments. The specific embodiments described herein are for illustrative purposes only and are not intended to limit the invention. It should also be noted that, for ease of description, only the parts relevant to the invention are shown in the accompanying drawings.
[0017] like Figure 1 The environmental obstacle marking method for the cleaning robot in this embodiment may specifically include:
[0018] The low-resolution cost map is passed to the global path planner, and the high-resolution cost map of the region of interest is passed to the local trajectory controller.
[0019] The global path planner plans the global path based on the low-resolution cost map, while the local trajectory controller plans the local trajectory based on the high-resolution cost map and the global path.
[0020] Obstacle avoidance control of robots is achieved based on global paths and local trajectories.
[0021] Before acquiring the low-resolution cost map and / or the high-resolution cost map, the process includes: acquiring sensor data collected by a depth camera, LiDAR, line structured light, and ultrasonic sensors, wherein the sensor data includes the location information of obstacles.
[0022] Specifically, the system acquires sensor data from depth cameras, LiDAR, line structured light, and ultrasonic sensors, including obstacle location information. Based on the acquired sensor data, the obstacle location information is preprocessed, including data format conversion and coordinate system unification. A multi-sensor data fusion algorithm is used to fuse the preprocessed obstacle location information from different sensors to obtain unified obstacle location information. An obstacle recognition algorithm analyzes the fused obstacle location information to identify different obstacle types, such as pedestrians, vehicles, and buildings. Based on the identified obstacle type, different obstacle tracking algorithms are used to track the obstacle's trajectory in real time. The system acquires its own location information and, combined with the obstacle's location and trajectory information, determines the relative positional relationship between the obstacle and itself. If the relative positional relationship indicates a collision risk, a collision warning function is triggered, sending a warning signal to the upper-level system. Based on a preset safe distance threshold, the system dynamically adjusts its motion strategy to generate an obstacle avoidance path. The generated obstacle avoidance path is transmitted to the motion control unit, which adjusts motion parameters to guide the agent to safely avoid obstacles.
[0023] For example, the agent collects obstacle location information using depth cameras, 16-line LiDAR, line structured light, and ultrasonic sensors, and preprocesses the data from different sensors by performing format conversion and coordinate system unification. A Kalman filter multi-sensor fusion algorithm is used to fuse the preprocessed obstacle location information to obtain a unified obstacle location. The PointNet++ point cloud segmentation algorithm is used to identify obstacle types, and the Hungarian algorithm is used to track obstacle trajectories. The agent obtains its own position using GPS / IMU fusion positioning, analyzes the relative positional relationship between the agent and obstacles, and sends a collision warning signal to the planning module if the relative distance is less than 3 meters. Based on a preset safe distance threshold of 5 meters, an artificial potential field method is used to dynamically plan an obstacle avoidance path, guiding the agent to safely avoid obstacles. Taking into account the obstacle avoidance path length, curvature, and vehicle dynamics constraints, the Hybrid A* algorithm is used to solve for the optimal obstacle avoidance path. The path point set is transmitted to the motion control unit at 0.05-second intervals to adjust the vehicle speed and steering wheel angle, enabling the agent to smoothly travel along the obstacle avoidance path.
[0024] In one implementation, after acquiring sensor data, obstacle information in the map is marked and cleared using methods such as detection point marking, detection line clearing, blind zone timeout clearing, and field-of-view timeout clearing, resulting in obstacle grid maps corresponding to four types of sensors. Specifically, the location information of obstacles in the sensor data is acquired; based on the location information, detection points are marked at the corresponding locations on the map; based on the detection points, detection lines are determined; it is determined whether there are detection points within a preset range on both sides of the detection lines; if not, the detection lines are cleared; it is determined whether obstacles have not been detected in the blind zones of the map for a long time; if so, the obstacle information in the blind zones is cleared; it is determined whether the area within the sensor's field of view in the map has not had its obstacle information updated for a long time; if so, the obstacle information in the area is cleared.
[0025] In one specific implementation, data from four sensors is acquired. Through data preprocessing and fusion, raw obstacle information from the sensors is obtained. Based on the characteristics of the sensor data, obstacles are initially marked using a detection point marking method, resulting in a detection point-marked obstacle map. Based on this map, noise and false detections in the sensor data are removed using a detection line clearing method, resulting in a detection line-cleared obstacle map. For sensor blind zones, a blind zone timeout clearing method is used to determine if obstacles have disappeared. If an obstacle has not been detected for an extended period, it is removed from the map, resulting in a blind zone timeout cleared obstacle map. Combining this with the sensor's field of view, a field of view timeout clearing method is used to determine if obstacles have left the sensor's field of view. If an obstacle exceeds the sensor's detection range, it is removed from the map, resulting in a field of view timeout cleared obstacle map. Finally, by fusing the obstacle maps obtained from detection point marking, detection line clearing, blind zone timeout clearing, and field of view timeout clearing, a comprehensive obstacle grid map corresponding to the four sensors is obtained. Post-processing of the integrated obstacle grid map involves optimizing obstacle boundaries and shapes using algorithms such as filtering and clustering to obtain a refined obstacle grid map. Based on this map, attribute information such as obstacle location, size, and shape is extracted to construct a dynamic obstacle database, facilitating subsequent path planning and decision-making. Real-time updates of sensor data dynamically update the obstacle grid map and database, ensuring that map information remains consistent with the actual environmental conditions and providing reliable environmental perception support for autonomous navigation.
[0026] For example, firstly, raw data from LiDAR, millimeter-wave radar, ultrasonic radar, and visual sensors are acquired. After preprocessing such as coordinate transformation and time synchronization, the obstacle information detected by different sensors is fused to obtain raw obstacle information in a unified coordinate system. Then, based on the detection characteristics of each sensor, a grid map is used to model the environment, with the grid resolution set to 0.2 meters. For each grid, the number of sensor detection points within that grid is counted. If the number exceeds a threshold of 10, the grid is marked as occupied, thus obtaining a preliminary obstacle map with marked detection points. Next, based on the marked detection point map, the sensor detection lines are analyzed. For grids crossed by the detection lines, if their occupancy probability is less than 0.2, they are removed.
[0027] Noise interference is removed to obtain the obstacle map after detection line clearing. Simultaneously, considering the impact of sensor blind spots, a blind spot timeout is set to 5 seconds. If an obstacle's grid cell is not detected by any sensor for 5 consecutive seconds, the obstacle is considered to have disappeared and is removed from the map. Furthermore, considering the sensor's field of view, a field of view timeout is set to 3 seconds. If an obstacle is outside the detection range of all sensors and is not detected for 3 consecutive seconds, it is also removed. Finally, the obstacle maps obtained from the four sensors—detection point markers, detection line clearing, blind spot timeout clearing, and field of view timeout clearing—are fused to obtain a comprehensive obstacle grid map. Morphological filtering is applied to this map to smooth obstacle boundaries, and the DBSCAN clustering algorithm is used to extract individual obstacles, resulting in a refined obstacle grid map. The location, length, width, and outline attributes of each obstacle are extracted from the map and stored in a dynamic obstacle database. The sensor data and obstacle map are updated every 0.1 seconds, and newly detected obstacle information is written to the database. Obstacles that have disappeared are deleted from the database, ensuring that the map, database and environmental status are synchronized in real time, providing dynamic and reliable environmental perception for autonomous navigation.
[0028] In one implementation, after obtaining obstacle grid maps corresponding to four types of sensors, a comprehensive obstacle grid map is established based on the obstacle grid maps corresponding to the four types of sensors. This includes merging and compressing the obstacle grid maps corresponding to the four types of sensors in the order of obstacle priority, cleared area priority, and unknown area priority to obtain a comprehensive obstacle grid map.
[0029] Specifically, based on the principle of prioritizing obstacles, obstacle grid maps are obtained for the four types of sensors. If an obstacle exists, it is marked as an obstacle in the integrated obstacle grid map. Following the principle of prioritizing cleared areas, cleared area grid maps are obtained for the four types of sensors. If a grid is marked as a cleared area in all sensor maps, it is also marked as a cleared area in the integrated obstacle grid map. Finally, following the principle of prioritizing unknown areas, unknown area grid maps are obtained for the four types of sensors. If a grid is marked as an unknown area in any sensor map, it is also marked as an unknown area in the integrated obstacle grid map. Based on the distribution of obstacles, cleared areas, and unknown areas in the integrated obstacle grid map, an image compression algorithm is used to compress the map, resulting in a compressed integrated obstacle grid map. By analyzing the compressed integrated obstacle grid map, the proportions of obstacles, cleared areas, and unknown areas are obtained to determine the map's drivability. Based on the compressed integrated obstacle grid map, a path planning algorithm is used to obtain a feasible path from the starting point to the target point. By analyzing the distribution of obstacles along feasible paths, the safety of the paths is determined. If the obstacle density on the path exceeds a threshold, the path is replanned. Based on the path planning results, robot motion control commands are obtained to control the robot to move along the planned path, and the robot's position information is updated in real time. Environmental information is acquired in real time through the robot's sensors to determine whether new obstacles have appeared or areas need to be cleared. If so, the comprehensive obstacle grid map is updated, and path planning is performed again.
[0030] For example, based on the principle of obstacle priority, obstacle grid maps corresponding to four types of sensors—LiDAR, vision, ultrasonic, and infrared—are obtained. For instance, if LiDAR detects a wall 5 meters ahead, that area is marked as an obstacle in the corresponding grid map. If all four sensor maps detect an obstacle in a particular grid, that grid is marked as an obstacle in the overall obstacle grid map. Following the principle of cleared areas as the next priority, cleared area grid maps corresponding to the four sensors are obtained. If a grid is marked as a cleared area in all sensor maps—for example, if the vision sensor does not detect any obstacles within 2 meters—then that grid is marked as a cleared area in the overall obstacle grid map. Following the principle of unknown areas as the next priority, unknown area grid maps corresponding to the four sensors are obtained. If a grid is marked as an unknown area in any sensor map—for example, if the ultrasonic sensor has a limited detection range and areas outside that range are marked as unknown—then that grid is marked as an unknown area in the overall obstacle grid map. Based on the distribution of obstacles, cleared areas, and unknown areas in the integrated obstacle grid map, a quadtree image compression algorithm is used to compress the map. A compression threshold of 10% is set, meaning that areas with similar areas exceeding 10% are merged to obtain the compressed integrated obstacle grid map. Analysis of the compressed map shows that the proportions of obstacles, cleared areas, and unknown areas are 20%, 50%, and 30%, respectively, with cleared areas exceeding 50%, indicating good overall map traversability. Based on the compressed map, the A* path planning algorithm is used to obtain a feasible path from the starting point to the target point, with a calculated path length of 15 meters. Analysis of the obstacle distribution along the path shows an obstacle density of 1 obstacle / meter, less than the safety threshold of 2 obstacles / meter, indicating high path safety and no need for path replanning. Based on the path planning results, the path is discretized into a series of waypoints, with one waypoint every 1 meter. Robot motion control commands are generated, controlling the robot to move along the waypoints at a speed of 0.5 meters per second, and the robot's position is updated in real-time via an odometry system. The robot acquires environmental information in real time at a frequency of 10Hz using its sensors. When the lidar detects a newly appearing obstacle at a distance of less than 1 meter, or the vision sensor discovers a new clearing area with an area greater than 1 square meter, the integrated obstacle grid map is updated and the path is replanned to ensure the safety and real-time performance of the robot's movement.
[0031] In one implementation, after obtaining the integrated obstacle grid map, the obstacle points in the integrated obstacle grid map are expanded by a preset number of grids and then exponentially decayed to obtain the robot's cost map.
[0032] Specifically, based on the integrated obstacle grid map, the coordinate information of obstacle points is obtained and stored in an obstacle point list. The obstacle point list is traversed, and each obstacle point is expanded outward by a preset number of grid cells to obtain the expanded obstacle region. An exponential decay function is used to calculate the cost value of each grid cell in the expanded obstacle region; the cost value decreases exponentially with increasing distance from the obstacle point. The calculated cost value is assigned to the corresponding grid cell to form a preliminary cost map. It is determined whether there are regions with excessively high cost values in the preliminary cost map. If so, the region is further smoothed to reduce the gradient change in cost values. Based on the smoothed cost map, combined with the robot's size and motion constraints, the cost map is corrected to ensure the robot can pass safely. The corrected cost map is normalized, mapping the cost values to the [0, 1] interval to obtain the final robot cost map. The generated robot cost map is then merged with the original integrated obstacle grid map to update the cost information in the integrated obstacle grid map. The updated integrated obstacle grid map is passed to the robot's path planning module as input for path planning, guiding the robot to navigate safely and efficiently in the environment.
[0033] For example, by analyzing the integrated obstacle grid map, the coordinate information of obstacle points is extracted and stored in a list. Then, each obstacle point is expanded by three grid cells to form an expanded obstacle region. The cost value of each grid cell within the expanded region is calculated using the exponential decay function f(x) = e^(-x), with the cost value decreasing as the distance from the obstacle point increases. The cost value is assigned to the corresponding grid cell to generate a preliminary cost map. If the cost value in the preliminary cost map exceeds 0.8, Gaussian smoothing is applied to the region using a 3x3 convolution kernel with a standard deviation of 1.5 to reduce the gradient variation of the cost value. Considering a robot radius of 0.3 meters, the cost value of regions smaller than 0.3 meters in the cost map is set to 1 to ensure safe passage for the robot. The cost map is normalized to its maximum and minimum values, mapping the cost value to the [0,1] interval. Finally, the generated robot cost map is merged with the original integrated obstacle grid map, updating the grid cost values as input for path planning, guiding the robot to navigate safely and efficiently.
[0034] In one specific implementation, after obtaining the cost map, the low-resolution cost map is passed to the global path planner, and the high-resolution cost map of the region of interest is passed to the local trajectory controller.
[0035] Specifically, a low-resolution cost map is initialized based on a static map. A rasterization method is used to divide the map into grids, with each grid assigned a corresponding cost value. Information about a custom region of interest (ROI) is acquired through a perception module to determine the location and extent of the ROI and obtain its boundary coordinates. Based on these boundary coordinates, the corresponding region is extracted from the low-resolution cost map, generating a high-resolution cost map for that region. An interpolation algorithm is used to optimize the high-resolution cost map, improving its accuracy and smoothness, and determining the precise cost value for each grid. The optimized low-resolution cost map is then passed to the global path planner, which generates a global path based on the cost map and target point information. The high-resolution cost map of the ROI is then passed to the local trajectory controller, which generates a local trajectory based on the high-precision map and vehicle status. The local trajectory controller optimizes the local trajectory based on obstacle information and vehicle dynamics constraints, obtaining smooth and feasible local control commands. If there is a significant deviation between the local trajectory and the global path, global path replanning is triggered, regenerating the global path on the low-resolution cost map based on the current vehicle position and target point. Local control commands are transmitted to the execution module to control the vehicle to travel along a local trajectory, while monitoring the vehicle status and environmental information to achieve autonomous navigation.
[0036] For example, a static map can be divided into 10cm × 10cm grids using a rasterization method, with each grid assigned a cost value of 0-255. Obstacle information within a 30m range is acquired using sensors such as LiDAR to determine the boundary coordinates of the region of interest. The system extracts this region from the low-resolution cost map, increases the resolution to 2cm, smooths the map using cubic spline interpolation, and increases the cost value of the corresponding grid by 20% based on the obstacle location. The global path planner uses the A* algorithm, taking the low-resolution cost map as input, the vehicle's current position as the starting point, and the target position as the ending point, to search for the path with the minimum cost. The local trajectory controller takes a high-resolution map as input, uses the vehicle's pre-aimed points within the next 3 seconds as the target, and plans a smooth driving trajectory using polynomial curve fitting, considering constraints such as the vehicle's minimum turning radius, maximum speed, and comfort. If the local trajectory deviates from the global path by more than 0.5m, global path replanning is triggered. Finally, the planned local trajectory is discretized into control commands of 0.1s and transmitted to the chassis for execution. At the same time, the controller monitors the vehicle position and obstacle information at a frequency of 50Hz to achieve real-time obstacle avoidance and trajectory tracking.
[0037] In another specific implementation, a low-resolution cost map is initialized based on static map information. The map is divided into grids, and each grid is assigned a corresponding cost value. The generated low-resolution cost map is passed to the global path planner as input data. In the global path planner, Dijkstra's algorithm is used to search the low-resolution cost map to find the optimal path from the starting point to the target point. Dijkstra's algorithm selects the node with the lowest cost as the next expansion node by comparing the cost from the current node to the starting point with the costs from neighboring nodes. If the current expansion node is the target node, the algorithm terminates, obtaining the optimal path from the starting point to the target point; otherwise, it continues to expand to the next node with the lowest cost. The optimal path obtained by Dijkstra's algorithm is used as the output of the global path planner to guide the robot's global navigation. Simultaneously, a high-resolution map is generated within a user-defined region of interest, providing more detailed environmental information. The generated high-resolution map is passed to the local controller for fine-grained navigation control of the robot within the local area. Based on the high-resolution map and sensor data, the local controller adjusts the robot's movement in real time to avoid obstacles and reach the target position.
[0038] For example, based on static map information, the map is divided into a 0.5m × 0.5m grid, with the cost of the obstacle grid set to 1000 and the cost of free space set to 10. A low-resolution cost map generated using Dijkstra's algorithm is searched. By comparing the cost from the current node to the starting point with that of its neighbors (e.g., if the cost from the current node to the starting point is 100 and the cost from a neighboring node to the starting point is 150), the current node is selected as the next expansion node. After finding the target point, a globally optimal path is obtained to guide robot navigation. Simultaneously, a 0.1m × 0.1m high-resolution map is generated for a custom 10m × 10m region of interest and passed to the local controller for fine obstacle avoidance. The controller, combined with sensor data such as LiDAR, adjusts the robot's speed and direction in real time, enabling it to safely and efficiently reach the target location within the local area.
[0039] The local trajectory controller plans the local trajectory using a dynamic window method based on a high-resolution cost map and a global path. This includes building a high-resolution dynamic local usage map from a low-resolution dynamic initial map and obtaining a high-resolution cost map. A global path is planned on the low-resolution dynamic initial map using a global path planning algorithm. The global path is then projected onto the high-resolution dynamic local usage map to obtain the local path. Based on the high-resolution cost map and the local path, a trajectory search is performed on the local map using a dynamic window method. Within the dynamic window, the cost of each sampled trajectory is evaluated, calculating the navigation cost, velocity cost, and distance-to-target-point cost. The optimal local trajectory is determined by comprehensively considering all costs through a cost function. If the local trajectory meets the constraints, it is used as the output of the local controller to control the robot's movement along the trajectory. If the local trajectory does not meet the constraints, the search for a new local trajectory is initiated. As the robot moves, the high-resolution dynamic local usage map and local path are continuously updated, and these steps are repeated to achieve real-time local trajectory planning and control.
[0040] For example, based on a low-resolution 10-meter dynamic initial map, a high-resolution 1-meter dynamic local usage map is established using bilinear interpolation to obtain a high-resolution cost map. The A* algorithm is used to plan a global path on the low-resolution dynamic initial map, which is then projected onto the high-resolution dynamic local usage map to obtain a local path. Based on the high-resolution cost map and the local path, within a 5m x 5m dynamic window, the cost of each sampled trajectory is evaluated, including the trajectory's navigation cost (e.g., obstacle distance), velocity cost (e.g., velocity change smoothness), and distance to the target point cost (e.g., distance between the trajectory endpoint and the target point). Using a weighted summation cost function J = w1*Jnavigation + w2*Jvelocity + w3*JDistance, considering all costs, the optimal local trajectory is determined. If the local trajectory satisfies constraints such as a maximum velocity of 1m / s and a maximum acceleration of 0.5m / s², it is used as the output of the local controller to control the robot's movement along the trajectory. If the constraints are not met, a new local trajectory is searched within the dynamic window. As the robot moves, a high-resolution dynamic local map and local path within a 10m x 10m area are updated at a frequency of 10Hz, enabling real-time local trajectory planning and control. By continuously sensing environmental changes and integrating them into the map, while rapidly responding to changes in the local trajectory, the robot can flexibly cope with dynamic and unknown environments and safely and efficiently reach the target point.
[0041] The obstacle avoidance control of the robot is achieved based on the global path and local trajectory, including the robot autonomously navigating to the target location according to the global path and local trajectory.
[0042] Specifically, obstacle points in the obstacle grid map are dilated to obtain an expanded obstacle grid map. Based on the expanded obstacle grid map, an exponential decay method is used to obtain the robot's cost map. Using the cost map, the robot's global path is planned, determining the approximate direction of navigation. Based on the robot's current position and target position, combined with the global path, a local trajectory is generated. By fusing the robot's perception information, it is determined whether there are dynamic obstacles on the local trajectory; if so, the local trajectory is replanned. Based on the planned local trajectory, the robot's movement is controlled to follow the trajectory. Using odometry and vision sensors, the robot's real-time position and attitude information are acquired to determine if it has deviated from the trajectory. If the robot deviates from the trajectory, the local trajectory is adjusted according to the degree of deviation and the cost map to bring the robot back to the correct trajectory. This process is repeated until the robot reaches the target position, completing the autonomous navigation process.
[0043] For example, when dilating the obstacle grid map, a 3x3 structuring element can be used to dilate the obstacle points, that is, the 8-neighborhood of each obstacle point is marked and set as an obstacle as well. This can create a certain safety distance around the obstacles. Based on the dilated obstacle map, a cost map can be generated using the exponential decay function f(d) = e^(-d / d0), where d represents the distance to the nearest obstacle and d0 is the decay constant, which can be 2-3 times the grid size. On the cost map, the A* algorithm is used to search for the optimal path from the starting point to the target point, which is used as the global path. Based on the current position, the target position, and the global path, a local trajectory can be generated within 5 meters in front of the robot. Obstacle information within 10 meters in front is detected by sensors such as LiDAR to determine whether there is a collision risk in the local trajectory. If so, the local trajectory can be adjusted online using methods such as dynamic windowing. Based on the position and velocity information of the sampled points on the trajectory, the robot's speed and steering are controlled using kinematic and dynamic models. Real-time positioning is achieved using sensors such as encoders and IMUs to calculate the distance and angle of the robot's deviation from the trajectory. If the deviation exceeds 10cm or 5°, trajectory adjustment is triggered. The DWA algorithm is used to perform a local search on the cost map to generate a path back to the original trajectory. By continuously executing the above steps of perception, decision-making, planning, and control, the robot can achieve autonomous navigation in dynamic environments.
[0044] This invention provides an environmental obstacle marking system for cleaning robots, mainly comprising:
[0045] The planning module is used to pass a low-resolution cost map to the global path planner and a high-resolution cost map of the region of interest to the local trajectory controller; the global path planner plans a global path based on the low-resolution cost map, and the local trajectory controller plans a local trajectory based on the high-resolution cost map and the global path.
[0046] The obstacle avoidance control module is used to implement obstacle avoidance control of the robot based on the global path and local trajectory.
[0047] This invention provides an electronic device, mainly comprising: one or more processors and a memory; the processors and the memory are coupled; the memory is used to store computer program code, the computer program code including computer instructions;
[0048] When the processor executes the computer instructions, the electronic device performs the above-described method for marking environmental obstacles in a cleaning robot.
[0049] This invention provides a computer-readable storage medium storing computer instructions or programs that, when executed on a computer, cause the computer to perform the aforementioned environmental obstacle marking method for a cleaning robot.
[0050] Obviously, those skilled in the art can make various modifications and variations to the embodiments of this application without departing from the spirit and scope of the embodiments of this application. Therefore, if these modifications and variations to the embodiments of this application fall within the scope of the claims of this application and their equivalents, this application also intends to include these modifications and variations.
Claims
1. A method for marking environmental obstacles for a cleaning robot, characterized in that, include: Obtain the location information of obstacles from sensor data; Based on the location information, detection points are marked at the corresponding locations on the map, and detection lines are determined based on the detection points. It is determined whether there are detection points within a preset range on both sides of the detection line; if not, the detection line is cleared. It is determined whether obstacles have not been detected for a long time in blind spots on the map; if so, obstacle information in the blind spots is cleared. It is determined whether obstacle information in the area within the sensor's field of view on the map has not been updated for a long time; if so, obstacle information in the area is cleared. Obtain obstacle grid maps corresponding to the depth camera, LiDAR, line laser, and ultrasonic sensors. Determine the obstacle information of each grid in each obstacle grid map. Obtain the position of each obstacle point in the integrated obstacle grid map. Expand outwards by a preset number of grids centered on each obstacle point, and assign exponentially decaying grid cost values to the grids within the expanded area to obtain a cost map. If obstacles exist in the same grid in all four maps, then in the integrated obstacle... The obstacle grid map marks the corresponding grid of the obstacle grid map as an obstacle; if no obstacle exists in the same grid of the four maps, the corresponding grid of the integrated obstacle grid map is marked as a cleared area; otherwise, the corresponding grid of the integrated obstacle grid map is marked as an unknown area; the low-resolution cost map is passed to the global path planner, and the high-resolution cost map of the region of interest is passed to the local trajectory controller; the global path planner plans a global path based on the low-resolution cost map, wherein the path with the minimum cost from the starting point to the target point is searched in the low-resolution cost map as the global path; the local trajectory controller plans a local trajectory based on the high-resolution cost map and the global path, wherein sampling is performed on the high-resolution cost map, and the trajectory with the minimum cost is selected from the sampled trajectories as the local trajectory, guided by the global path; obstacle avoidance control of the robot is realized based on the global path and the local trajectory.
2. The method as described in claim 1, characterized in that, The step of passing the low-resolution cost map to the global path planner and the high-resolution cost map of the region of interest to the local trajectory controller includes: downsampling the cost map to obtain a low-resolution cost map; passing the low-resolution cost map to the global path planner; determining the region within a preset range around the robot as the region of interest; acquiring the cost map within the region of interest as the high-resolution cost map; and passing the high-resolution cost map to the local trajectory controller.
3. The method as described in claim 1, characterized in that, The global path planner plans a global path based on a low-resolution cost map, including: obtaining the low-resolution cost map; and using Dijkstra's algorithm to search the low-resolution cost map to find the path with the minimum cost from the starting point to the target point, which is then used as the global path.
4. The method as described in claim 1, characterized in that, The local trajectory controller plans a local trajectory based on a high-resolution cost map and a global path, including: acquiring the high-resolution cost map and the global path; sampling on the high-resolution cost map using a dynamic window method; and selecting the trajectory with the lowest cost from the sampled trajectories as the local trajectory, guided by the global path.
5. An environmental obstacle marking system for a cleaning robot, characterized in that, The system includes: a planning module, used to transmit a low-resolution cost map to a global path planner and a high-resolution cost map of the region of interest to a local trajectory controller; the global path planner plans a global path based on the low-resolution cost map, wherein it searches the low-resolution cost map to find the path with the minimum cost from the starting point to the target point as the global path; the local trajectory controller plans a local trajectory based on the high-resolution cost map and the global path, wherein it samples on the high-resolution cost map and selects the trajectory with the minimum cost from the sampled trajectories as the local trajectory, guided by the global path; and an obstacle avoidance control module, used to implement obstacle avoidance control of the robot based on the global path and the local trajectory; wherein before transmitting the low-resolution cost map to the global path planner, it obtains the position information of obstacles from sensor data; based on the position information, it marks detection points at corresponding positions on the map; based on the detection points, it determines detection lines; and it determines whether obstacles exist within a preset range on both sides of the detection lines. If a detection point does not exist, the detection line is cleared. It is determined whether an obstacle has not been detected for a long time within a blind zone of the map; if so, the obstacle information within the blind zone is cleared. It is also determined whether the area within the sensor's field of view has not had its obstacle information updated for a long time; if so, the obstacle information within that area is cleared. Obtain obstacle grid maps corresponding to the depth camera, LiDAR, line laser, and ultrasonic sensors. Determine the obstacle information for each grid cell in each obstacle grid map. Obtain the position of each obstacle point in the integrated obstacle grid map. Expand outwards by a preset number of grid cells centered on each obstacle point, and exponentially decay the cost value of the grid cells within the expanded area to obtain a cost map. If obstacles exist in the same grid cell across all four maps, the obstacle is marked in the corresponding grid cell of the integrated obstacle grid map. If obstacles do not exist in the same grid cell across all four maps, the corresponding grid cell in the integrated obstacle grid map is marked as a cleared area. Otherwise, the corresponding grid cell in the integrated obstacle grid map is marked as an unknown area.
6. An electronic device, characterized in that, include: One or more processors and a memory; the processors and the memory are coupled; the memory is used to store computer program code, the computer program code including computer instructions; when the processor executes the computer instructions, the electronic device performs the environmental obstacle marking method for a cleaning robot as described in any one of claims 1-4.
7. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions or programs that, when executed on a computer, cause the computer to perform the environmental obstacle marking method for a cleaning robot as described in any one of claims 1-4.
Citation Information
Patent Citations
Multi-UAV route planning and dynamic obstacle avoiding method based on combination of Voronoi ant colony algorithm with artificial potential field method
CN109521794A
Obstacle avoidance method and device based on local obstacle avoidance map, equipment and medium
CN118394068A