Robot path planning method, device, equipment and robot
By using sensors to determine the robot's travel range and dividing the area for path point sampling, the problem of high computational complexity in path planning in complex environments is solved, enabling rapid response to environmental changes and efficient task execution.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- DREAM INNOVATION TECH (SUZHOU) CO LTD
- Filing Date
- 2025-08-18
- Publication Date
- 2026-04-28
AI Technical Summary
In existing technologies, the computational complexity of path planning algorithms for robots in complex environments is high, resulting in slow computation and an inability to generate navigation paths in a timely manner, which may lead to task failure or delay.
The robot's current travel range is determined by sensors and divided into multiple areas. Key areas are selected for path point sampling, which reduces computational complexity and improves computational efficiency and environmental adaptability.
Robots can quickly respond to environmental changes, reduce computing resource consumption, improve task execution efficiency, avoid task failure or delay, and enhance navigation safety in dynamic environments.
Smart Images

Figure CN120972934B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of intelligent robot technology, and in particular to a path planning method, apparatus, device and robot for a robot. Background Technology
[0002] Through path planning, robots can achieve efficient, safe and intelligent operation in diverse application scenarios, bringing significant value and advantages to various industries. Especially in complex environments, robots can update their path planning in real time to cope with the movement of obstacles and changes in the environment.
[0003] In existing technologies, robots use various sensors to scan the surrounding environment and process the sensor data to build an environmental map and identify the boundaries of obstacles. Then, on the constructed environmental map, the robot uses the identified obstacle boundaries and a path planning algorithm to plan a path from the starting point to the target point.
[0004] However, when faced with complex environmental conditions, path planning algorithms need to handle a large number of variables and constraints. In this case, the computational complexity may increase exponentially, causing the algorithm to run slowly. In systems with limited computing power, it may also fail to generate navigation paths in time, leading to task failure or delay. Summary of the Invention
[0005] This application provides a path planning method, apparatus, device, and robot for robots. By determining target path points through targeted region division and sampling strategies, the target path of the robot is planned, thereby reducing the computational complexity in path planning, improving computational efficiency, and enhancing the robot's adaptability in dynamic environments. This enables the robot to respond to environmental changes more quickly, generate navigation paths in a timely manner, and avoid task failure or delays.
[0006] In a first aspect, this application provides a path planning method for a robot, the method comprising:
[0007] During the process of the robot performing tasks based on a preset path, the current travel range of the robot is determined based on the detectable range of the sensors installed on the robot.
[0008] The current driving range is divided into multiple first regions. Based on the location of obstacles within the current driving range and the preset path, a second region is determined from the multiple first regions.
[0009] Path point sampling is performed in the second region to determine the target path points, and the robot's target path is planned based on the target path points.
[0010] Thus, in this application, the current driving range is determined in real time by sensors, enabling the robot to dynamically adapt to environmental changes. Determining the current driving range helps the robot plan paths more effectively, avoid unnecessary areas, reduce computational resource consumption, and improve task execution efficiency. Furthermore, the current driving range can be updated in real time based on the environment, thereby dynamically determining the second region. By dividing the region and focusing on the second region, the robot can concentrate computational resources on the second region, reducing unnecessary computational overhead. Moreover, by performing in-depth analysis and path planning only on the second region, it can not only avoid obstacles and reduce collision risks but also save computational resources and time, allowing the robot to operate efficiently under limited hardware conditions. Furthermore, targeted pathpoint sampling is performed within the second region, reducing the computational load of global sampling and improving path planning efficiency.
[0011] Therefore, by subdividing the area, the robot can analyze and make decisions more accurately, especially in complex environments, making it easier to identify and handle local obstacles and path problems. Furthermore, by dynamically determining the second area, the robot can quickly respond to environmental changes and adjust its path planning in a timely manner. Moreover, by selecting appropriate target path points within the second area, the robot can find feasible paths in complex and dynamic environments, improving its operational efficiency. In addition, the above method can optimize path planning in real time based on environmental changes, enabling the robot to complete tasks more effectively and reducing task failures or delays caused by improper pre-planned paths.
[0012] Optionally, the current driving range can be divided into multiple first zones, including:
[0013] The current driving range is divided into multiple first regions based on the preset path and preset width;
[0014] Among them, at least one of the multiple first regions has a preset path.
[0015] In a dynamic environment, dividing the current driving range into multiple first areas allows the robot to respond more flexibly to environmental changes. When a first area is blocked by an obstacle, the robot can quickly switch to other feasible areas. In this application, the area is divided based on a preset path to ensure that at least one area contains the preset path, making the path planning highly relevant to the task requirements and avoiding unnecessary path deviations. Furthermore, by considering the preset width for area division, it can be ensured that the robot maintains a sufficient safe distance when planning the path, reducing the risk of collision and improving the reliability of task execution.
[0016] Optionally, based on the location of obstacles within the current driving range and a preset path, a second region is determined from multiple first regions, including:
[0017] Among multiple first regions, the first region with the most preset paths and the region without obstacles is identified as the second region.
[0018] In this way, by selecting the region containing the most preset paths, the robot can travel along the preset paths as much as possible, avoiding unnecessary path deviations and improving the accuracy and efficiency of task execution. Furthermore, by selecting an area free of obstacles as the secondary region, the robot can effectively avoid collisions with obstacles, improving the safety of robot navigation. Therefore, by focusing on the region containing the most preset paths and free of obstacles, the path planning process can be optimized, saving computational resources and time, reducing unnecessary computational overhead, and improving the robot's operating efficiency.
[0019] Optionally, based on the location of obstacles within the current driving range and a preset path, a second region is determined from multiple first regions, including:
[0020] From multiple first regions, identify the third region where a portion of the preset paths are most frequent;
[0021] If there is an obstacle in the third region, and the size of the area where the obstacle is located is greater than the first threshold, then the third region is determined to be the second region.
[0022] In this way, by selecting the region containing the most parts of the preset path, the robot can get closer to the preset path, reduce unnecessary path movement, and by evaluating the size of obstacles and the possibility of detour, the robot can flexibly avoid small obstacles, improving the flexibility and efficiency of navigation. In addition, it can reduce the number of complex path planning calculations, saving computing resources and time.
[0023] Optionally, based on the location of obstacles within the current driving range and a preset path, a second region is determined from multiple first regions, including:
[0024] From multiple first regions, identify the third region where a portion of the preset paths are most frequent;
[0025] If there is an obstacle in the third region, and the size of the area where the obstacle is located is less than or equal to the first threshold, then any first region adjacent to the third region is determined as the second region.
[0026] Therefore, by selecting the nearest adjacent region to the third region, the robot can avoid long detours. A shorter travel path means less energy and computational resource consumption. Furthermore, selecting the nearest adjacent region as the second region simplifies the path planning process and reduces complex calculations and decision-making time. In addition, by selecting the nearest safe region, the robot can avoid obstacles, reduce collision risks, improve driving safety, and enhance the robot's reliability in dynamic and complex environments, ensuring that it can continue to perform its tasks effectively even when encountering large obstacles.
[0027] Optionally, based on the location of obstacles within the current driving range and a preset path, a second region is determined from multiple first regions, including:
[0028] From multiple first regions, identify the third region where a portion of the preset paths are most frequent;
[0029] If there are obstacles in the third region, and the width of the passable area between the obstacle area and the third region is less than the width of the robot's body, then the third region is determined to be the second region.
[0030] In this way, by assessing the width of the passable area, it can be determined whether the robot can safely pass through the third area. The third area, where the width of the passable area between the obstacle area and the third area is greater than the width of the robot's body, is selected as the second area. This can avoid collisions and maximize the use of the preset path, thereby reducing unnecessary path adjustments and detours, optimizing the use of time and computing resources, and further improving the accuracy and efficiency of task execution.
[0031] Optionally, based on the location of obstacles within the current driving range and a preset path, a second region is determined from multiple first regions, including:
[0032] From multiple first regions, identify the third region where a portion of the preset paths are most frequent;
[0033] If there is an obstacle in the third region, and the width of the passable area between the obstacle area and the third region is greater than or equal to the width of the robot's body, then any first region adjacent to the third region is designated as the second region.
[0034] Therefore, by assessing the passage width, the robot can avoid entering narrow areas that are not safe to pass through, reducing the risk of collision. Furthermore, by quickly identifying the third area as an impassable area and selecting any first area adjacent to the third area as the second area, the robot can quickly make decisions and select target waypoints for path planning. This reduces complex calculation and decision-making time, saves computing resources and time, improves the efficiency of task execution, reduces task interruptions caused by path blockages, and ensures that the robot can complete the task more effectively.
[0035] Optionally, pathpoint sampling is performed in the second region to determine target pathpoints, and the robot's target path is planned based on the target pathpoints, including:
[0036] Perform a sampling in the second region to determine the first waypoint;
[0037] If the robot does not collide with obstacles while traveling from its current position to the first path point, the robot's target path is planned based on the first path point.
[0038] Thus, by sampling critical path points once in the second region, the path planning process is simplified, and computational complexity is reduced. By simplifying the path point sampling and planning process, computational resources and time are saved, thereby significantly reducing performance overhead. Therefore, quickly determining path points through a single sampling to plan the robot's target path provides a fast and efficient sampling-based navigation strategy. Furthermore, a safety assessment is performed during path planning to ensure the robot does not collide with obstacles during its movement, improving navigation safety.
[0039] Optionally, the method also includes:
[0040] If the robot collides with an obstacle while traveling from its current position to the first path point, the second region is further divided, and multiple fourth regions are determined.
[0041] From the fourth region, a fifth region is determined for path point sampling to determine the second path point;
[0042] Obstacle collision detection is performed on the second path point, and the robot's target path is planned based on the detection results;
[0043] If the detection result indicates a collision with an obstacle, the fifth area will be processed again until the target path point is determined.
[0044] Therefore, by dynamically adjusting and subdividing regions, robots can better cope with complex and dynamic environments, enhance the robustness of path planning, and ensure the safety of the planned target path through multiple checks and adjustments, reducing collision risks and improving navigation safety. Although multiple checks and adjustments are required in complex scenarios, fine-grained region division and targeted path point sampling still effectively utilize computational resources overall, reducing the randomness of path planning and enabling robots to make more targeted path adjustments. In particular, heuristic path point selection and dynamic adjustment can reduce unnecessary calculations and path attempts, saving computational resources.
[0045] Optionally, the method also includes:
[0046] If the number of samples taken in the second region exceeds the second threshold, the second region is re-determined from multiple first regions.
[0047] Therefore, by setting a threshold for the number of sampling attempts, invalid attempts under adverse conditions can be avoided, unnecessary computation and time waste can be reduced, and the overall efficiency of path planning can be improved. Furthermore, by avoiding excessive attempts within the same second region, computational resources and time can be saved, improving the robot's resource utilization efficiency. Moreover, by reselecting the second region, not only can the robot's flexibility in dealing with complex environments be improved, but also the robot can be prevented from stagnating during local solution processes, improving the overall path exploration efficiency, thereby increasing the chance of finding a feasible path and reducing task failures or delays caused by improper path planning.
[0048] Secondly, this application provides a path planning device for a robot, the device comprising:
[0049] The determination module is used to determine the current travel range of the robot based on the detectable range of the sensors installed on the robot during the robot's execution of tasks according to a preset path.
[0050] The segmentation module is used to divide the current driving range into multiple first regions, and determine a second region from the multiple first regions based on the location of obstacles within the current driving range and a preset path;
[0051] The planning module is used to sample path points in the second area, determine target path points, and plan the robot's target path based on the target path points.
[0052] Thirdly, this application provides an electronic device, including: a processor, and a memory communicatively connected to the processor;
[0053] The memory stores the instructions that the computer executes;
[0054] The processor executes computer execution instructions stored in memory to implement the method as described in any one of the first aspects.
[0055] Fourthly, this application provides a robot for performing the method as described in any one of the first aspects.
[0056] It should be noted that the second to fourth aspects of this application correspond to the technical solutions of the first aspect of this application, and the beneficial effects achieved by each aspect and the corresponding feasible implementation are similar, so they will not be repeated here.
[0057] In summary, this application provides a path planning method, apparatus, device, and robot for robots. During the robot's task execution based on a pre-planned preset path, sensors installed on the robot determine its current travel range, ensuring that path planning focuses only on the currently accessible area, thereby reducing computational load and ensuring dynamic updates to the current travel range during travel. Furthermore, the current travel range is divided into multiple first regions, and based on the obstacle positions and the preset path within the current travel range, a more critical second region is selected from these first regions. For example, the second region may be an area without obstacles or an area with obstacles but sufficient for the robot to pass through without deviating from the preset path. This division and selection strategy helps concentrate computational resources on the second region, reducing unnecessary computational overhead. Further, path point sampling is performed in the selected second region to determine target path points. This targeted sampling method improves sampling efficiency and reduces the required number of samples, thereby reducing computational complexity and performance overhead. Based on the determined target path points, the robot's target path is planned, effectively reducing computational complexity in path planning and improving efficiency with limited computational resources. Attached Figure Description
[0058] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0059] Figure 1 This is a schematic diagram of an application scenario provided by an embodiment of this application;
[0060] Figure 2 A flowchart illustrating a robot path planning method provided in an embodiment of this application;
[0061] Figure 3 A schematic diagram of a scene showing the current travel range of a robot, provided as an embodiment of this application;
[0062] Figure 4 A schematic diagram of a region division scenario provided in an embodiment of this application;
[0063] Figure 5 A schematic diagram illustrating another scenario of region division provided in an embodiment of this application;
[0064] Figure 6 A schematic diagram of a target path planning scenario provided for an embodiment of this application;
[0065] Figure 7 A schematic diagram illustrating another scenario of region division provided in an embodiment of this application;
[0066] Figure 8 A logical schematic diagram of path point sampling provided for an embodiment of this application;
[0067] Figure 9 A schematic diagram of the structure of a robot path planning device provided in an embodiment of this application;
[0068] Figure 10 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application.
[0069] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation
[0070] To facilitate a clear description of the technical solutions in the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish identical or similar items with substantially the same function and effect. For example, "first device" and "second device" are merely used to distinguish different devices and do not limit their order. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and the terms "first" and "second" do not necessarily imply that they are different.
[0071] It should be noted that, in this application, the terms "exemplary" or "for example" are used to indicate that something is being described as an example, illustration, or illustration. Any embodiment or design described as "exemplary" or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or design solutions. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.
[0072] In this application, "at least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.
[0073] In complex environments, robots need to quickly construct feasible paths, which is a core requirement of navigation algorithms. Navigation algorithms are generally divided into two main categories: constraint-based optimization methods and sampling-based methods.
[0074] Among them, the optimization method based on construction constraints analyzes the geometric boundaries of obstacles in the environment and the kinematic constraints of the robot, and uses optimization algorithms to solve for a path that not only avoids obstacles, but also meets the robot's motion capabilities and other constraints.
[0075] For example, robots use various sensors to scan their surroundings and process the sensor data to build an environmental map and identify the boundaries of obstacles. Then, on the constructed environmental map, the robot uses the identified obstacle boundaries and path planning algorithms to plan a path from the starting point to the target point.
[0076] However, when faced with complex environmental conditions or scenarios with high degrees of freedom, path planning algorithms need to handle a large number of variables and constraints, which may cause the computational complexity to increase exponentially, resulting in slow algorithm operation. In systems with limited computing power, if the time to optimize and solve the path is too long, the navigation path may not be generated in time, leading to task failure or delay.
[0077] Sampling-based methods involve randomly or heuristically sampling within the robot's configured operating space to identify collision-free sampling points. By connecting these collision-free sampling points, a feasible path can be constructed.
[0078] While sampling-based algorithms construct feasible paths by performing random or heuristic sampling in the environment, they are less demanding on the environment, highly adaptable to high-dimensional spaces, and simple to implement. However, in situations requiring high execution accuracy, these algorithms must increase the number of sampling points, leading to increased performance overhead. Furthermore, these algorithms are less adaptable to dynamic environments.
[0079] To address the aforementioned issues, this application provides a path planning method for robots. During the robot's task execution based on a pre-planned preset path, sensors mounted on the robot determine its current travel range. This ensures that path planning focuses only on the currently accessible area, reducing computational load and allowing for dynamic updates to the current travel range. Furthermore, the current travel range is divided into multiple first regions. Based on obstacle locations and the preset path within the current travel range, a more critical second region is selected from these first regions. For example, the second region could be an area without obstacles or an area with obstacles but sufficient for the robot to pass without deviating from the preset path. This division and selection strategy helps concentrate computational resources on the second region, reducing unnecessary computational overhead. Further, pathpoint sampling is performed within the selected second region to determine target pathpoints. This targeted sampling method improves sampling efficiency and reduces the required number of samples, thereby lowering computational complexity and performance overhead. Based on the determined target pathpoints, the robot's target path is planned, effectively reducing computational complexity in path planning and improving efficiency with limited computational resources.
[0080] In addition, targeted region segmentation and sampling strategies can enhance the robot's adaptability in dynamic environments, enabling the robot to respond more quickly to environmental changes, generate navigation paths in a timely manner, and avoid task failure or delays.
[0081] It is understood that the robot path planning method provided in this application can be applied to robots, such as humanoid robots, quadrupedal robot dogs, etc. The embodiments of this application do not specifically limit the type of robot. This application can be applied to any robot that requires path planning.
[0082] For example, Figure 1 This is a schematic diagram of an application scenario provided in an embodiment of this application, such as... Figure 1 As shown, this application scenario can be applied to the intelligent power inspection scenario. Taking the robot 100 as a quadruped robot dog as an example, the quadruped robot dog is equipped with sensors that can scan the environment around the power distribution facilities. During the process of the quadruped robot dog performing power inspection tasks based on a preset path, its current driving range is determined based on the detection range of the sensors. If an obstacle 200 is detected within the current driving range, the current driving range can be divided into multiple smaller first areas.
[0083] Furthermore, the quadruped robot dog analyzes the position of obstacle 200 and the preset path, and filters out a second area that can avoid obstacle 200 and will not deviate too much from the preset path. Further, in the filtered second area, the quadruped robot dog performs path point sampling, for example, based on random sampling or heuristic sampling, to determine obstacle-free path points.
[0084] Furthermore, based on these sampled target path points, the quadruped robot dog plans an optimized target path, and then performs power inspection tasks along the planned target path.
[0085] Understandably, while the quadruped robot dog is performing its power line inspection task along a pre-planned target path, it can continuously use sensors to monitor environmental changes. If new obstacles or environmental changes are detected, the quadruped robot dog can update its current travel range and path planning in real time to adapt to the new situation.
[0086] It should be noted that the robot 100 can be applied to different scenarios that require path planning, such as scenarios where humanoid robots, quadrupedal robot dogs, etc. perform different tasks. The embodiments of this application do not limit the specific application scenarios; the above are merely illustrative examples.
[0087] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.
[0088] Figure 2 A flowchart illustrating a robot path planning method provided in this application embodiment is shown below. Figure 2 As shown, the robot path planning method can be applied to robots; the robot path planning method includes the following steps:
[0089] S201. During the process of the robot performing a task based on a preset path, the current travel range of the robot is determined based on the detectable range of the sensors installed on the robot.
[0090] In this embodiment, the sensor is a device used to detect environmental information and convert it into usable data. The sensor can be a visual sensor or a distance sensor, such as a lidar, infrared sensor, camera, time of flight (TOF) sensor, etc. This embodiment does not specifically limit the type of sensor.
[0091] In this application, a task is defined as a series of operations or goals that the robot needs to perform, such as a safety inspection task, a navigation task, a handling task, or a transportation task. This application does not specifically limit the type of task. During the robot's execution of different tasks, a preset path can be planned in advance. The preset path can be a static path, such as a straight path, a curved path, a loop path, or a grid path, or it can be a dynamic path, such as a path that changes in real time during travel. This application also does not specifically limit the type of preset path, which can be set based on the tasks performed by the robot or the requirements of the application scenario.
[0092] For example, Figure 3 This application provides a schematic diagram of a robot's current travel range as an embodiment of the present application. Figure 3 As shown in the figure, the fan-shaped area is the current driving range determined by the robot 100, and the bolded line segment is the preset path. The current driving range is determined based on the detectable range of the sensors installed on the robot 100.
[0093] It is understood that the size of the detection range of a robot sensor may vary depending on the installation location of the sensor. This application does not specifically limit the installation location of the robot sensor, but it can be set based on the structure of the robot.
[0094] Therefore, the current forward travel range can be set based on the installation location and detectable range of the robot's sensors, with the robot's travel direction as the forward direction.
[0095] S202. Divide the current driving range into multiple first areas, and determine a second area from the multiple first areas based on the area where the obstacle is located and the preset path within the current driving range.
[0096] In this embodiment of the application, the current driving range is divided into multiple first regions. These regions can be divided into blocks or based on distance. This embodiment of the application does not specifically limit the division method.
[0097] For example, Figure 4 This is a schematic diagram of a region division scenario provided in an embodiment of this application, such as... Figure 4 As shown, the current driving range can be divided into three driving range areas: the main driving range area 1, the left secondary driving range area 2, and the right secondary driving range area 3. Furthermore, based on the main driving range area 1 where the obstacle 200 is located and the preset path, a second area is determined from the three driving range areas.
[0098] Optionally, the second region can be the left secondary driving range region 2 or the right secondary driving range region 3 excluding the obstacle 200, or the second region can be the lower part of the main driving range region 1, which is the region below the preset path, where there is no obstacle 200 and the deviation from the preset path is low.
[0099] It should be noted that the embodiments of this application do not specifically limit the number of first regions to which the current driving range is divided, as well as the size and shape of the regions.
[0100] Optional, Figure 5 This is a schematic diagram illustrating another scenario of region division provided in an embodiment of this application, such as... Figure 5 As shown, the current driving range can be divided into six driving range areas, namely, the main left driving range area 11, the main right driving range area 12, the left-left secondary driving range area 21, the left-right secondary driving range area 22, the right-left secondary driving range area 31, and the right-right secondary driving range area 32.
[0101] S203. Sampling of path points is performed in the second area to determine the target path points, and the target path of the robot is planned based on the target path points.
[0102] In this step, within the second area, the robot samples path points to find at least one collision-free path point. Further, the robot analyzes the sampled path points, selects suitable target path points, and then, based on the determined target path points, plans a target path that can bypass obstacles from the current position.
[0103] The path point sampling method can be implemented by random sampling, heuristic sampling, or sampling method based on a specific algorithm. This application embodiment does not specifically limit the sampling method or the number of path points sampled.
[0104] Optionally, after determining the target waypoint, a target path that is unobstructed, smooth, and meets the task requirements can be planned based on a path optimization algorithm.
[0105] For example, Figure 6 This is a schematic diagram of a target path planning scenario provided in an embodiment of this application, such as... Figure 6 As shown in the figure, the bold dashed line represents the target path planned by the robot 100 within the main driving range area 1. This target path can avoid obstacles 200 and deviates from the preset path to a low degree.
[0106] It should be noted that the shape of the planned target path is not specifically limited in the embodiments of this application. It may be the same as or different from the shape of the preset path. The above is just an example.
[0107] Thus, in this application, the current driving range is determined in real time by sensors, enabling the robot to dynamically adapt to environmental changes. Determining the current driving range helps the robot plan paths more effectively, avoid unnecessary areas, reduce computational resource consumption, and improve task execution efficiency. Furthermore, the current driving range can be updated in real time based on the environment, thereby dynamically determining the second region. By dividing the region and focusing on the second region, the robot can concentrate computational resources on the second region, reducing unnecessary computational overhead. Moreover, by performing in-depth analysis and path planning only on the second region, it can not only avoid obstacles and reduce collision risks but also save computational resources and time, allowing the robot to operate efficiently under limited hardware conditions. Furthermore, targeted pathpoint sampling is performed within the second region, reducing the computational load of global sampling and improving path planning efficiency.
[0108] Therefore, by subdividing the area, the robot can analyze and make decisions more accurately, especially in complex environments, making it easier to identify and handle local obstacles and path problems. Furthermore, by dynamically determining the second area, the robot can quickly respond to environmental changes and adjust its path planning in a timely manner. Moreover, by selecting appropriate target path points within the second area, the robot can find feasible paths in complex and dynamic environments, improving its operational efficiency. In addition, the above method can optimize path planning in real time based on environmental changes, enabling the robot to complete tasks more effectively and reducing task failures or delays caused by improper pre-planned paths.
[0109] Optionally, the current driving range can be divided into multiple first zones, including:
[0110] The current driving range is divided into multiple first regions based on the preset path and preset width;
[0111] Among them, at least one of the multiple first regions has a preset path.
[0112] In this embodiment, the preset width can be determined based on the robot's size, operating safety distance, or task requirements. This embodiment does not specifically limit the size of the preset width. Optionally, the preset width can be determined based on the robot's body width. For example, the preset width can be a multiple of the robot's body width.
[0113] In this way, by matching the preset width with the robot's body width, it can be ensured that the robot can pass smoothly on the path without getting stuck or colliding due to the path being too narrow. In addition, when the path width matches the robot width, the path planning algorithm can be simpler because there is no need to consider additional width margin, thereby reducing computational complexity and time.
[0114] In this step, based on a preset path and a preset width, the current driving range is divided into multiple first regions. Each first region can be a strip-shaped area parallel to the preset path, ensuring that every part of the preset path is covered. The preset path can be regular or irregular; this embodiment does not specifically limit it. For example, as... Figure 4 As shown, the preset path is regular. Along the preset path direction, two boundary lines with a width of d are opened horizontally upward. The range within the boundary lines is defined as the main driving range area 1. In addition to the main driving range area 1, the remaining left side of the driving range area is the left secondary driving range area 2, and the remaining right side of the driving range area is the right secondary driving range area 3. d can be the width of the fuselage.
[0115] For example, Figure 7 This is a schematic diagram illustrating another scenario of region division provided in an embodiment of this application, such as... Figure 7 As shown, the preset path is irregular, with a horizontal upward expansion width of d, and is parallel to the two boundary lines of the preset path. Accordingly, it is divided into the main driving range area 1, the left secondary driving range area 2, and the right secondary driving range area 3 as shown in the figure. d can be the width of the fuselage.
[0116] In a dynamic environment, dividing the current driving range into multiple first areas allows the robot to respond more flexibly to environmental changes. When a first area is blocked by an obstacle, the robot can quickly switch to other feasible areas. In this application, the area is divided based on a preset path to ensure that at least one area contains the preset path, making the path planning highly relevant to the task requirements and avoiding unnecessary path deviations. Furthermore, by considering the preset width for area division, it can be ensured that the robot maintains a sufficient safe distance when planning the path, reducing the risk of collision and improving the reliability of task execution.
[0117] Optionally, based on the location of obstacles within the current driving range and a preset path, a second region is determined from multiple first regions, including:
[0118] Among multiple first regions, the first region with the most preset paths and the region without obstacles is identified as the second region.
[0119] In this application, within the current driving range, multiple first regions have been divided. Each first region may contain different parts of a preset path. In this case, the portion of the preset path contained in each first region is evaluated, and the first region containing the most parts of the preset path is determined. This first region is the region with the smallest deviation from the preset path and does not require much movement.
[0120] During the evaluation process, it is also necessary to detect the location of obstacles in each first area to ensure that there are no obstacles in the selected first area so that the robot can pass safely. Therefore, the area containing the most partial paths of the preset path and without obstacles is selected as the second area. If there are obstacles in the area containing the most partial paths of the preset path, the area containing more partial paths of the preset path can be selected as the second area.
[0121] It is understood that a larger area can be an area containing a portion of the preset path whose number is only less than the number of paths containing the largest portion of the preset path, or it can be an area containing a portion of the preset path whose number is greater than a preset threshold. This application embodiment does not specifically limit this.
[0122] It should be noted that the second region can contain the entire preset path or most of the preset paths. The specific situation depends on how the current driving range is divided. If it is divided based on the shape of the preset path, the second region can contain the entire preset path. If it is divided based on other methods, the region containing the most of the preset paths can be selected.
[0123] In this way, by selecting the region containing the most preset paths, the robot can travel along the preset paths as much as possible, avoiding unnecessary path deviations and improving the accuracy and efficiency of task execution. Furthermore, by selecting an area free of obstacles as the secondary region, the robot can effectively avoid collisions with obstacles, improving the safety of robot navigation. Therefore, by focusing on the region containing the most preset paths and free of obstacles, the path planning process can be optimized, saving computational resources and time, reducing unnecessary computational overhead, and improving the robot's operating efficiency.
[0124] Optionally, based on the location of obstacles within the current driving range and a preset path, a second region is determined from multiple first regions, including:
[0125] From multiple first regions, identify the third region where a portion of the preset paths are most frequent;
[0126] If there is an obstacle in the third region, and the size of the area where the obstacle is located is less than the first threshold, then the third region is determined to be the second region.
[0127] In this embodiment of the application, the size of the area where the obstacle is located is less than the first threshold, which means that the robot can avoid the obstacle by going around it in the third area. Therefore, although there is an obstacle in the third area, the third area can still be identified as the second area.
[0128] It should be noted that the embodiments of this application do not specifically limit the size of the first threshold. The first threshold can be determined based on the size of the remaining area in the third region excluding obstacles or the width of the fuselage, or it can be determined based on the actual application scenario.
[0129] In this way, by selecting the region containing the most parts of the preset path, the robot can get closer to the preset path, reduce unnecessary path movement, and by evaluating the size of obstacles and the possibility of detour, the robot can flexibly avoid small obstacles, improving the flexibility and efficiency of navigation. In addition, it can reduce the number of complex path planning calculations, saving computing resources and time.
[0130] Optionally, based on the location of obstacles within the current driving range and a preset path, a second region is determined from multiple first regions, including:
[0131] From multiple first regions, identify the third region where a portion of the preset paths are most frequent;
[0132] If there is an obstacle in the third region, and the size of the area where the obstacle is located is greater than or equal to the first threshold, then any first region adjacent to the third region is determined as the second region.
[0133] In this application, if the size of the obstacle is greater than or equal to the first threshold, meaning the robot cannot bypass it within the third area, then another area needs to be selected as the second area.
[0134] Optionally, the first region closest to the third region can be selected as the second region, that is, any first region adjacent to the third region, to avoid traveling a long distance and save travel time and power consumption.
[0135] Therefore, by selecting the nearest adjacent region to the third region, the robot can avoid long detours. A shorter travel path means less energy and computational resource consumption. Furthermore, selecting the nearest adjacent region as the second region simplifies the path planning process and reduces complex calculations and decision-making time. In addition, by selecting the nearest safe region, the robot can avoid obstacles, reduce collision risks, improve driving safety, and enhance the robot's reliability in dynamic and complex environments, ensuring that it can continue to perform its tasks effectively even when encountering large obstacles.
[0136] Optionally, based on the location of obstacles within the current driving range and a preset path, a second region is determined from multiple first regions, including:
[0137] From multiple first regions, identify the third region where a portion of the preset paths are most frequent;
[0138] If there are obstacles in the third region, and the width of the passable area between the obstacle area and the third region is greater than the width of the robot's body, then the third region is determined to be the second region.
[0139] In this step, based on the preset path that the robot needs to follow in performing the task, and the fact that the current travel range has been divided into multiple first areas, the portion of the preset path contained in each first area is evaluated, and the third area containing the most portions of the preset path is determined. Within the third area, whether there are obstacles is detected, and the width of the passable area between the area where the obstacle is located and the third area is evaluated. If there are obstacles in the third area, and the width of the passable area between the area where the obstacle is located and the third area is greater than the width of the robot's body, then the third area is determined to be the second area. This means that the robot can safely pass through the third area without being affected by obstacles.
[0140] For example, such as Figure 6 As shown, within the main driving range area 1, the passable area widths between the area where the obstacle 200 is located and the main driving range area 1 are d1 and d2. Since d1 is greater than the robot's body width d, the main driving range area 1 can be determined as the second area.
[0141] In this way, by assessing the width of the passable area, it can be determined whether the robot can safely pass through the third area. The third area, where the width of the passable area between the obstacle area and the third area is greater than the width of the robot's body, is selected as the second area. This can avoid collisions and maximize the use of the preset path, thereby reducing unnecessary path adjustments and detours, optimizing the use of time and computing resources, and further improving the accuracy and efficiency of task execution.
[0142] Optionally, based on the location of obstacles within the current driving range and a preset path, a second region is determined from multiple first regions, including:
[0143] From multiple first regions, identify the third region where a portion of the preset paths are most frequent;
[0144] If there is an obstacle in the third region, and the width of the passable area between the obstacle area and the third region is less than or equal to the width of the robot's body, then any first region adjacent to the third region is designated as the second region.
[0145] For example, with Figure 5 For example, within the main left driving range area 11, if the width of the passable area between the area where the obstacle 200 is located and the main left driving range area 11 is less than the width of the robot's body, then the main right driving range area 12 can be determined as the second area.
[0146] It should be noted that when determining any first region adjacent to the third region as the second region, the first region that is closer to the preset path is usually selected as the second region. This can avoid moving too far and save time and power consumption.
[0147] Therefore, by assessing the passage width, the robot can avoid entering narrow areas that are not safe to pass through, reducing the risk of collision. Furthermore, by quickly identifying the third area as an impassable area and selecting any first area adjacent to the third area as the second area, the robot can quickly make decisions and select target waypoints for path planning. This reduces complex calculation and decision-making time, saves computing resources and time, improves the efficiency of task execution, reduces task interruptions caused by path blockages, and ensures that the robot can complete the task more effectively.
[0148] Optionally, pathpoint sampling is performed in the second region to determine target pathpoints, and the robot's target path is planned based on the target pathpoints, including:
[0149] Perform a sampling in the second region to determine the first waypoint;
[0150] If the robot does not collide with obstacles while traveling from its current position to the first path point, the robot's target path is planned based on the first path point.
[0151] In this application, a single sampling can reduce the number of path points, thereby reducing the computational complexity and time consumption of path planning. Furthermore, selecting one of the sampled path points as the first path point can simplify the path planning process and improve path planning efficiency.
[0152] For example, by subdividing the current driving range into different levels of area and abstracting them into different levels of nodes in a ternary tree, the search process can be accelerated by heuristically optimizing the handling of obstacles within the subdivided areas during the depth-first search of the ternary tree. The subdivision of the area into different levels and the abstraction into nodes occur continuously during the search process, and the order of the depth search changes according to the handling of obstacles during this search process.
[0153] Figure 8 This application provides a logical schematic diagram of path point sampling in an embodiment, as shown below. Figure 8As shown, for the first level, the current driving range is divided into the main driving range area, the left secondary driving range area, and the right secondary driving range area. For the second level, the main driving range area can be divided into two fourth areas based on the preset path of the main driving range area, namely the main left driving range area and the main right driving range area. Similarly, for the left secondary driving range area, it can be divided into two fourth areas, namely the left-left secondary driving range area and the left-right secondary driving range area. For the right secondary driving range area, it can be divided into the right-left secondary driving range area and the right-right secondary driving range area.
[0154] It is understandable that, provided there is still enough width to continuously divide the second level, the next level can be divided. The process can be carried out by continuously dividing the remaining width according to the multiple of the robot's body width, until the Nth level is reached, where N is an integer greater than 1. This N can be determined based on the size of the current travel range or can be set by the user. This application embodiment does not specifically limit this.
[0155] Thus, after determining the rules for the above-mentioned subdivided regions, the process of searching for the nodes of a ternary tree, which is the process of finding the best node, is based on the abstraction of the subdivided regions. The final child node is a sample.
[0156] like Figure 8 As shown, during the depth-first traversal of the ternary tree, for the primary driving range node with the highest priority in the first level, the primary driving range node is traversed vertically to enter the second level. When the traversal reaches a trial sampling point, if the sampled path point passes the safety check and comfort check, that is, the target path planned based on the path point can avoid obstacles, the traversal ends, thus determining the path point as the target path point.
[0157] It should be noted that in this application, the area with more partial paths in the preset path has a higher priority, such as the main driving range area having the highest priority.
[0158] Thus, by sampling critical path points once in the second region, the path planning process is simplified, and computational complexity is reduced. By simplifying the path point sampling and planning process, computational resources and time are saved, thereby significantly reducing performance overhead. Therefore, quickly determining path points through a single sampling to plan the robot's target path provides a fast and efficient sampling-based navigation strategy. Furthermore, a safety assessment is performed during path planning to ensure the robot does not collide with obstacles during its movement, improving navigation safety.
[0159] Optionally, the method also includes:
[0160] If the robot collides with an obstacle while traveling from its current position to the first path point, the second region is further divided, and multiple fourth regions are determined.
[0161] From the fourth region, a fifth region is determined for path point sampling to determine the second path point;
[0162] Obstacle collision detection is performed on the second path point, and the robot's target path is planned based on the detection results;
[0163] If the detection result indicates a collision with an obstacle, the fifth area will be processed again until the target path point is determined.
[0164] Optionally, the fifth region may be processed again, including:
[0165] The fifth region was further subdivided, and multiple sixth regions were identified;
[0166] From the sixth region, the seventh region is determined for path point sampling, and the third path point is determined.
[0167] Obstacle collision detection is performed on the third path point, and the robot's target path is planned based on the detection results; the above process is repeated until a target path point that meets the requirements is determined.
[0168] For example, such as Figure 8 As shown, during the traversal at different levels, if a sampling at a certain level fails, the node is backtracked to the previous level. During the sampling of the next level at this current level, the order of traversing the leaf nodes can be heuristically ordered using certain rules. This heuristic algorithm can determine the sampling order based on the degree of influence of obstacles on the robot's movement within the area. For example, ... Figure 6 As shown, the lateral passable area left by the obstacle in the main left driving range is significantly smaller than the passable area left in the main right driving range. This makes the sampling failure probability of the main left driving range extremely high. After a sampling failure in the second layer, after backtracking to the main driving range node, the main right driving range is selected as the area corresponding to the next sampling node.
[0169] During the depth-first traversal of the ternary tree, for the primary driving range node with the highest priority in the first level of the ternary tree depth-first traversal, the primary driving range node is traversed vertically to enter the second level. When the traversal reaches the first trial sampling, if the first trial sampling is unsuccessful, that is, the sampled path point does not pass the safety check and comfort check, then backtracking to the primary driving range node, and according to certain heuristic rules, choosing whether to perform a vertical traversal of the primary right driving range or the primary left driving range.
[0170] Optionally, taking the heuristic rule as an example to arrange the sampling order for the heuristic algorithm, if the node in the main left driving range area is selected, the traversal continues downward. Within the child nodes of the main left driving range area (the fifth area), there is still a node that has been sampled once (the second path point). This node is processed first. If the node successfully passes the safety and comfort checks, the traversal ends, thus determining this node as the target path point. If unsuccessful, the backtracking continues. The backtracking process is similar to the process described above for backtracking to the main driving range area node, and will not be repeated here. For details, please refer to the description in the above embodiment.
[0171] It should be noted that the specific content of the heuristic rule is not limited in the embodiments of this application. The heuristic rule is based on the efficiency of traversing the ternary tree to the target node and provides heuristic guidance on the traversal order.
[0172] It should also be noted that the depth of the ternary tree depth traversal process depends on the width of the tree body and the required sampling precision. The higher the required precision, the more levels are divided, and the smaller the corresponding area.
[0173] By subdividing the current driving range into different levels of regions and abstracting them into nodes at different levels of a ternary tree, and then sorting them according to certain heuristic rules, the sampling points needed for the target path can be obtained more quickly and accurately. Analysis revealed that in simple scenarios with few obstacles, the target path can be generated with only one or two searches of the main driving range. In complex scenarios with many obstacles, the pre-subdivision of the main driving range allows for the rapid identification of areas with minimal obstacles, significantly improving the speed of path planning.
[0174] Therefore, by dynamically adjusting and subdividing regions, robots can better cope with complex and dynamic environments, enhance the robustness of path planning, and ensure the safety of the planned target path through multiple checks and adjustments, reducing collision risks and improving navigation safety. Although multiple checks and adjustments are required in complex scenarios, fine-grained region division and targeted path point sampling still effectively utilize computational resources overall, reducing the randomness of path planning and enabling robots to make more targeted path adjustments. In particular, heuristic path point selection and dynamic adjustment can reduce unnecessary calculations and path attempts, saving computational resources.
[0175] It should be noted that in this application, the current driving range is subdivided into different levels of area range, and can also be abstracted into nodes of different levels of a multi-branch tree, such as a quadtree, a penttree, etc. The embodiments of this application do not specifically limit this. The process of abstracting into a multi-branch tree is similar to the above-mentioned ternary tree process, and will not be described again here.
[0176] Optionally, different sampling strategies can be set for different types of obstacle detection. For static obstacles, since their positions are fixed, the lateral path can be considered to determine whether the robot's path at the sampling node will collide with the obstacle. If a collision occurs, the sampling is considered a failure. For dynamic obstacles, since their positions change continuously during movement, collision detection between the obstacle and the robot needs to be performed at every moment. If a collision is detected, the sampling is considered a failure.
[0177] Optionally, the method also includes:
[0178] If the number of samples taken in the second region exceeds the second threshold, the second region is re-determined from multiple first regions.
[0179] In this application, a second threshold is set to limit the maximum number of path point samplings in the second region, so as to avoid excessive attempts in one region without success. The embodiments of this application do not specifically limit the size of the second threshold, which can be set based on the width of the fuselage, the required sampling accuracy, or by the user.
[0180] Therefore, if the number of pathpoint samples taken in the second region exceeds the second threshold, it indicates that it is difficult to find suitable pathpoints in that second region. In this case, a new second region is determined from multiple first regions.
[0181] For example, such as Figure 8 As shown, the second region corresponds to the first level. If a trial sampling fails in the main driving range region, the process backtracks to the main driving range region for region division, and then performs another trial sampling in the left main driving range region. Accordingly, each trial sampling essentially collects path points within the main driving range region. If multiple path points are collected within the main driving range region and the target path point still cannot be determined, the second region can be re-determined from other first regions, such as the left secondary driving range region or the right secondary driving range region.
[0182] It is understood that the traversal process of the left or right secondary driving range area is similar to that of the main driving range area, and will not be repeated here. For details, please refer to the description of the above embodiments.
[0183] Therefore, by setting a threshold for the number of sampling attempts, invalid attempts under adverse conditions can be avoided, unnecessary computation and time waste can be reduced, and the overall efficiency of path planning can be improved. Furthermore, by avoiding excessive attempts within the same second region, computational resources and time can be saved, improving the robot's resource utilization efficiency. Moreover, by reselecting the second region, not only can the robot's flexibility in dealing with complex environments be improved, but also the robot can be prevented from stagnating during local solution processes, improving the overall path exploration efficiency, thereby increasing the chance of finding a feasible path and reducing task failures or delays caused by improper path planning.
[0184] In the foregoing embodiments, the path planning method for robots provided in this application has been described. To implement the functions of the methods provided in the embodiments of this application, the electronic device serving as the execution entity may include hardware structures and / or software modules, implementing the aforementioned functions in the form of hardware structures, software modules, or a combination of hardware structures and software modules. Whether a particular function is executed in the form of hardware structures, software modules, or a combination of hardware structures and software modules depends on the specific application and design constraints of the technical solution.
[0185] For example, Figure 9 This is a schematic diagram of the structure of a robot path planning device provided in an embodiment of this application, as shown below. Figure 9 As shown, the robot's path planning device 900 includes:
[0186] The determination module 901 is used to determine the current travel range of the robot based on the detectable range of the sensors installed on the robot during the process of the robot performing a task based on a preset path.
[0187] The division module 902 is used to divide the current driving range into multiple first regions, and determine a second region from the multiple first regions based on the location of obstacles within the current driving range and a preset path;
[0188] The planning module 903 is used to sample path points in the second region, determine target path points, and plan the robot's target path based on the target path points.
[0189] Optionally, the partitioning module 902 includes a partitioning unit, which is used for:
[0190] The current driving range is divided into multiple first regions based on the preset path and preset width;
[0191] Among them, at least one of the multiple first regions has a preset path.
[0192] Optionally, the partitioning module 902 includes a determining unit, which is used for:
[0193] Among multiple first regions, the first region with the most preset paths and the region without obstacles is identified as the second region.
[0194] Optionally, the determining unit is used for:
[0195] From multiple first regions, identify the third region where a portion of the preset paths are most frequent;
[0196] If there is an obstacle in the third region, and the size of the area where the obstacle is located is less than the first threshold, then the third region is determined to be the second region.
[0197] Optionally, the determining unit is used for:
[0198] From multiple first regions, identify the third region where a portion of the preset paths are most frequent;
[0199] If there is an obstacle in the third region, and the size of the area where the obstacle is located is greater than or equal to the first threshold, then any first region adjacent to the third region is determined as the second region.
[0200] Optionally, the determining unit is used for:
[0201] From multiple first regions, identify the third region where a portion of the preset paths are most frequent;
[0202] If there are obstacles in the third region, and the width of the passable area between the obstacle area and the third region is greater than the width of the robot's body, then the third region is determined to be the second region.
[0203] Optionally, the determining unit is used for:
[0204] From multiple first regions, identify the third region where a portion of the preset paths are most frequent;
[0205] If there is an obstacle in the third region, and the width of the passable area between the obstacle area and the third region is less than or equal to the width of the robot's body, then any first region adjacent to the third region is designated as the second region.
[0206] Optional, planning module 903, specifically used for:
[0207] Perform a sampling in the second region to determine the first waypoint;
[0208] If the robot does not collide with obstacles while traveling from its current position to the first path point, the robot's target path is planned based on the first path point.
[0209] Optionally, the robot's path planning device 900 also includes a detection module, which is used for:
[0210] If the robot collides with an obstacle while traveling from its current position to the first path point, the second region is further divided, and multiple fourth regions are determined.
[0211] From the fourth region, a fifth region is determined for path point sampling to determine the second path point;
[0212] Obstacle collision detection is performed on the second path point, and the robot's target path is planned based on the detection results;
[0213] If the detection result indicates a collision with an obstacle, the fifth area will be processed again until the target path point is determined.
[0214] Optionally, the robot's path planning device 900 also includes a reconfirmation module, which is used for:
[0215] If the number of samples taken in the second region exceeds the second threshold, the second region is re-determined from multiple first regions.
[0216] It should be noted that the specific implementation principle and effect of the above-mentioned robot path planning device 900 can be found in the relevant description and effect of the above embodiments, and will not be elaborated further here.
[0217] This application also provides an electronic device. Figure 10 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application, such as... Figure 10 As shown, the electronic device may include: a processor 1001 and a memory 1002 communicatively connected to the processor 1001; the memory 1002 stores a computer program; the processor 1001 executes the computer program stored in the memory 1002, causing the processor 1001 to perform the method described in any of the above embodiments.
[0218] The memory 1002 and the processor 1001 can be connected via the bus 1003.
[0219] This application also provides a robot for performing the methods described in any of the above embodiments.
[0220] This application also provides a computer-readable storage medium storing computer-executable instructions that, when executed by a processor, are used to implement the methods described in any of the foregoing embodiments of this application.
[0221] This application also provides a chip for executing instructions, which is used to perform the methods described in any of the foregoing embodiments of this application as executed by an electronic device.
[0222] This application also provides a computer program product, which includes a computer program that, when executed by a processor, can implement the methods described in any of the foregoing embodiments executed by an electronic device as described in any of the foregoing embodiments of this application.
[0223] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or modules may be electrical, mechanical, or other forms.
[0224] The modules described as separate components may or may not be physically separate. The components shown as modules may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to implement the solution of this embodiment according to actual needs.
[0225] Furthermore, the functional modules in the various embodiments of this application can be integrated into one processing unit, or each module can exist physically separately, or two or more modules can be integrated into one unit. The unit composed of the above modules can be implemented in hardware or in the form of hardware plus software functional units.
[0226] The integrated modules implemented as software functional modules described above can be stored in a computer-readable storage medium. These software functional modules, stored in a storage medium, include several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute some steps of the methods described in the various embodiments of this application.
[0227] It should be understood that the aforementioned processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. A general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in the application can be directly manifested as execution by a hardware processor, or execution by a combination of hardware and software modules within the processor.
[0228] The memory may include high-speed random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage device, and may also be a USB flash drive, external hard drive, read-only memory, disk or optical disc, etc.
[0229] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, the buses shown in the accompanying drawings are not limited to a single bus or a single type of bus.
[0230] The aforementioned storage media can be implemented from any type of volatile or non-volatile storage device or a combination thereof, such as Static Random-Access Memory (SRAM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Erasable Programmable Read-Only Memory (EPROM), Programmable Read-Only Memory (PROM), Read-Only Memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. The storage media can be any available medium accessible to general-purpose or special-purpose computers.
[0231] An exemplary storage medium is coupled to a processor, enabling the processor to read information from and write information to the storage medium. Alternatively, the storage medium can be an integral part of the processor. Both the processor and the storage medium can reside in an application-specific integrated circuit (ASIC). Alternatively, the processor and storage medium can exist as discrete components in an electronic device or host device.
[0232] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are all optional embodiments, and the actions and modules involved are not necessarily essential to this application.
[0233] It should be further noted that although the steps in the flowchart are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowchart may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the sub-steps or stages of other steps.
[0234] In the above embodiments, the descriptions of each embodiment have their own emphasis. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments. The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as the combination of these technical features does not contradict each other, it should be considered within the scope of this specification.
[0235] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this application are indicated by the claims.
[0236] The above description is merely a specific implementation of the embodiments of this application, but the protection scope of the embodiments of this application is not limited thereto. Any changes or substitutions within the technical scope disclosed in the embodiments of this application should be covered within the protection scope of the embodiments of this application. Therefore, the protection scope of the embodiments of this application should be determined by the protection scope of the claims.
Claims
1. A path planning method for a robot, characterized in that, The method includes: During the process of the robot performing a task based on a preset path, the current travel range of the robot is determined based on the detectable range of the sensors installed on the robot. The current driving range is divided into multiple first regions, and a second region is determined from the multiple first regions based on the area where the obstacle is located within the current driving range and the preset path. Path point sampling is performed in the second region to determine the target path point, and the target path of the robot is planned based on the target path point; The step of determining a second region from the plurality of first regions based on the location of obstacles within the current driving range and the preset path includes: Among the plurality of first regions, the first region containing the most partial paths of the preset paths, and the region without obstacles in the first region, is determined to be the second region.
2. The method according to claim 1, characterized in that, The division of the current driving range into multiple first regions includes: The current driving range is divided into multiple first regions based on the preset path and preset width; The preset path exists in at least one of the plurality of first regions.
3. The method according to claim 1, characterized in that, The step of determining a second region from the plurality of first regions based on the location of obstacles within the current driving range and the preset path includes: From the plurality of first regions, determine the third region that contains the most partial paths among the preset paths; If an obstacle exists in the third region, and the size of the area where the obstacle is located is determined to be less than a first threshold, then the third region is determined to be the second region.
4. The method according to claim 1, characterized in that, The step of determining a second region from the plurality of first regions based on the location of obstacles within the current driving range and the preset path includes: From the plurality of first regions, determine the third region that contains the most partial paths among the preset paths; If an obstacle exists in the third region, and the size of the area where the obstacle is located is determined to be greater than or equal to a first threshold, then any first region adjacent to the third region is determined to be the second region.
5. The method according to claim 1, characterized in that, The step of determining a second region from the plurality of first regions based on the location of obstacles within the current driving range and the preset path includes: From the plurality of first regions, determine the third region that contains the most partial paths among the preset paths; If there is an obstacle in the third region, and the width of the passable area between the obstacle area and the third region is determined to be greater than the width of the robot's body, then the third region is determined to be the second region.
6. The method according to claim 1, characterized in that, The step of determining a second region from the plurality of first regions based on the location of obstacles within the current driving range and the preset path includes: From the plurality of first regions, determine the third region that contains the most partial paths among the preset paths; If there is an obstacle in the third region, and the width of the passable area between the obstacle area and the third region is determined to be less than or equal to the width of the robot's body, then any first region adjacent to the third region is determined to be the second region.
7. The method according to claim 1, characterized in that, The step of sampling path points in the second region, determining target path points, and planning the robot's target path based on the target path points includes: Perform a sampling in the second region to determine the first path point; If the robot does not collide with the obstacle during its journey from its current position to the first path point, a target path for the robot is planned based on the first path point.
8. The method according to claim 7, characterized in that, The method further includes: If the robot collides with an obstacle while traveling from its current position to the first path point, the second region is further divided, and multiple fourth regions are determined. From the fourth region, a fifth region is determined for path point sampling to determine a second path point; Obstacle collision detection is performed on the second path point, and the target path of the robot is planned based on the detection results; If the detection result indicates a collision with the obstacle, the fifth region is processed again until the target path point is determined.
9. The method according to claim 8, characterized in that, The method further includes: If the number of samples taken in the second region exceeds the second threshold, the second region is re-determined from the plurality of first regions.
10. A path planning device for a robot, characterized in that, The device includes: The determination module is used to determine the current travel range of the robot based on the detectable range of the sensors installed on the robot during the process of the robot performing a task based on a preset path; The segmentation module is used to divide the current driving range into multiple first regions, and determine a second region from the multiple first regions based on the regions where obstacles are located within the current driving range and the preset path; The planning module is used to sample path points in the second region, determine target path points, and plan the target path of the robot based on the target path points; The division module is specifically used to determine, among the plurality of first regions, the first region containing the most partial paths of the preset paths, and the region in the first region without obstacles, as the second region.
11. An electronic device, characterized in that, include: A processor, and a memory communicatively connected to the processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory to implement the method as described in any one of claims 1-9.
12. A robot, characterized in that, The robot is used to perform the method as described in any one of claims 1-9.
Citation Information
Patent Citations
Substation inspection path planning method and system based on bilinear interpolation
CN115185268A
Robot, motion control method and system thereof, program product and storage medium
CN119057765A