Path planning method and self-moving device

By acquiring the distribution locations of obstacles to construct an initial boundary set and filtering candidate boundaries, and combining the endpoint location and dynamic window method to optimize motion control, the problem of self-moving devices entering narrow areas in complex environments is solved, achieving safe and efficient navigation.

CN121657671APending Publication Date: 2026-03-13BEIJING AUTOMOBILE RES GENERAL INST
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-03
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

Traditional self-moving devices are prone to entering narrow areas when planning their paths in complex environments, leading to jamming, collisions, or getting stuck in dead ends. Existing technologies are unable to effectively reduce this probability.

Method used

By acquiring the location of obstacles, an initial set of boundaries is constructed, and preset boundary conditions are applied to filter candidate boundaries. The target boundary is determined by combining the endpoint location, and the control device moves toward the target boundary. The motion control is optimized using the dynamic window method.

Benefits of technology

It significantly reduces the likelihood of mobile devices entering narrow areas, improves navigation safety and efficiency, and ensures reliable autonomous navigation in complex environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121657671A_ABST
    Figure CN121657671A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a path planning method and self-moving equipment, and the method comprises the steps: obtaining the distribution position of an obstacle collected by the self-moving equipment at a current position after a task execution instruction is received; determining an initial boundary formed by the adjacent obstacles around the self-moving equipment based on the partition position distribution position, and obtaining an initial boundary set; screening out candidate boundaries meeting a preset boundary condition from the initial boundary set to obtain a candidate boundary set; determining a target boundary from the candidate boundary set based on the final position of the current task of the self-moving device; and controlling the self-moving equipment to move towards the target boundary, so that the self-moving equipment moves towards the final position corresponding to the current task. According to the embodiment of the invention, the device is effectively prevented from falling into local circulation or deadlock by avoiding repeatedly exploring the accessed area; and through geometric constraint, a narrow channel with insufficient width is eliminated, and the risk that the self-moving equipment is stuck in a narrow area due to trying to pass through is remarkably reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of path planning technology, and more particularly to a path planning method and a self-moving device. Background Technology

[0002] Traditional self-moving devices (such as autonomous vehicles) often rely on a pre-set global map or a single nearest-neighbor point for path planning in complex environments. This approach has significant drawbacks: the device is prone to planning paths through narrow passages amidst dense obstacles, or straying into dead ends due to local optima. Once inside such confined areas, the device, due to its size and space limitations, is highly susceptible to jamming, collisions, or getting stuck in a cycle of adjustments, leading to mission interruption or even hardware damage. Therefore, effectively reducing the likelihood of self-moving devices entering or becoming trapped in confined areas is a pressing issue that needs to be addressed. Summary of the Invention

[0003] This application provides a path planning method and a self-moving device, which solves the technical problem in the prior art that devices are prone to planning paths through narrow passages among dense obstacles, or mistakenly entering dead ends due to local optimal solutions, resulting in a high probability that the self-moving device enters or is even trapped in narrow areas. It achieves the technical effect of reducing the probability of self-moving devices entering or even being trapped in narrow areas.

[0004] Firstly, this application provides a path planning method applied to a self-moving device, the method comprising: After receiving the task execution instruction, the distribution location of obstacles collected by the self-moving device at its current location is obtained; Based on the distribution location, the initial boundary formed by adjacent obstacles around the self-moving device is determined, and an initial boundary set is obtained; Candidate boundaries that meet preset boundary conditions are selected from the initial boundary set to obtain a candidate boundary set; the preset boundary conditions include that the intersection with the historical trajectory of the self-moving device performing the current task is empty, and the distance between two adjacent obstacles corresponding to the boundary is greater than a first preset distance. The target boundary is determined from the candidate boundary set based on the endpoint position of the current task of the self-moving device; Control the self-moving device to move toward the target boundary, so that the self-moving device moves toward the endpoint position corresponding to the current task.

[0005] Further, based on the distribution location, the initial boundary formed by adjacent obstacles around the self-moving device is determined, resulting in an initial boundary set, including: The distribution position of the obstacle is mapped onto a hypersphere centered at the current position and with a preset radius, and / or on both sides of the hypersphere, according to radial reflection, to obtain the mapped position of the obstacle; Construct the convex hull based on the mapped positions of obstacles; Based on the distribution of obstacles corresponding to each vertex on the convex hull, the initial boundary around the self-moving device is determined, and an initial boundary set is obtained.

[0006] Furthermore, based on the distribution positions of obstacles corresponding to each vertex on the convex hull, the initial boundary around the self-moving device is determined, resulting in an initial boundary set, including: By restoring the mapped positions of the vertices on the convex hull to the inside of the hypersphere according to radial reflection, the distribution positions of the obstacles corresponding to each vertex on the convex hull are obtained; Based on the distribution of obstacles corresponding to each vertex on the convex hull, the initial boundary around the self-moving device is determined, and an initial boundary set is obtained.

[0007] Further, based on the endpoint position of the current task of the self-moving device, the target boundary is determined from the candidate boundary set, including: Candidate boundaries that meet the optimal boundary conditions are selected from the candidate boundary set. The optimal boundary conditions include that the distance between two adjacent obstacles corresponding to the candidate boundary is greater than a second preset distance, and the distance between the candidate boundary and the endpoint is relatively shortest; wherein, the second preset distance is greater than the first preset distance. Any candidate boundary that satisfies the optimal boundary conditions shall be taken as the target boundary.

[0008] Furthermore, the method also includes: If the candidate boundary set is empty and the target boundary cannot be determined from the candidate boundary set, then the target boundary is determined from the alternative boundary set; wherein, the alternative boundary set includes: after the self-mobile device receives the task execution instruction, the candidate boundaries in each of the candidate boundary sets that were not selected as the target boundary and whose intersection with the historical trajectory of the self-mobile device executing the current task is empty.

[0009] Further, controlling the self-moving device to move towards the target boundary, so that the self-moving device moves towards the endpoint position corresponding to the current task, includes: Based on a first weight of a first direction pointing from the midpoint of the target boundary to the current position, and a second weight of a second direction pointing from the centroid of the visible area enclosed by the initial boundary around the self-moving device to the current position, the target direction of the self-moving device moving toward the target boundary is determined. Control the self-moving device to move towards the target direction, so that the self-moving device moves towards the endpoint position corresponding to the current task.

[0010] Further, controlling the self-moving device to move towards the target boundary, so that the self-moving device moves towards the endpoint position corresponding to the current task, includes: By embedding the direction of the target boundary into a dynamic window method, the target linear velocity and target angular velocity of the self-moving device are determined; The self-moving device is controlled to move toward the target boundary according to the target linear velocity and the target angular velocity, so that the self-moving device moves toward the endpoint position corresponding to the current task.

[0011] Furthermore, after controlling the self-moving device to move toward the target boundary, the method further includes: After the self-moving device moves to the target boundary, it is determined whether the self-moving device has reached the destination position; If the self-moving device has not reached the destination position, then the current position of the self-moving device is updated, and based on the updated current position, the target boundary is redefined. The self-moving device is then controlled to move toward the updated target boundary, so that the self-moving device moves toward the destination position corresponding to the current task, until the self-moving device reaches the destination position.

[0012] Secondly, this application provides a self-moving device, which is an unmanned vehicle, configured to perform a path planning method as provided in the first aspect.

[0013] Thirdly, this application provides a self-moving device, comprising: processor; Memory used to store the processor's executable instructions; The processor is configured to execute a path planning method as provided in the first aspect.

[0014] One or more technical solutions provided in the embodiments of this application have at least the following technical effects or advantages: This application embodiment transforms chaotic raw environmental information into structured, passable candidate paths by acquiring obstacle distribution locations and constructing an initial boundary set. Then, two preset boundary conditions are applied: "no intersection with historical trajectories" and "distance to adjacent obstacles greater than a first preset distance." The former effectively prevents the device from getting stuck in local loops or deadlocks by avoiding repeated exploration of already visited areas; the latter, through geometric constraints, proactively eliminates narrow passages with insufficient width, significantly reducing the risk of the self-moving device getting stuck in narrow areas while attempting to traverse them. Finally, the target boundary is determined from the candidate boundaries that meet the conditions based on the destination location, ensuring that every movement decision of the device is directional and moves towards the final goal of the task. Therefore, this application embodiment enables the self-moving device to intelligently select a safe (avoiding narrow and heavy paths) and efficient (directing to the destination) local path within a single decision cycle, thus laying a solid foundation for reliable autonomous navigation. Attached Figure Description

[0015] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0016] Figure 1 A flowchart illustrating a path planning method provided in an embodiment of this application; Figure 2 A schematic diagram illustrating the principle of the first method for determining the initial boundary set provided in the embodiments of this application; Figure 3 A schematic diagram illustrating the principle of the second method for determining the initial boundary set provided in the embodiments of this application; Figure 4 For the embodiments of this application in Figure 2 A schematic diagram illustrating the principle of using a second method to determine the initial boundary set; Figure 5 This is a schematic flowchart illustrating an example of a path planning method provided in an embodiment of this application. Figure 6 This is a schematic diagram of the architecture of a self-moving device provided in an embodiment of this application. Detailed Implementation

[0017] This application provides a path planning method that solves the technical problem in the prior art where devices are prone to planning paths through narrow passages amidst dense obstacles, or mistakenly entering dead ends due to local optimal solutions, resulting in a high probability of mobile devices entering or even becoming trapped in narrow areas.

[0018] The technical solution of this application embodiment is to solve the above-mentioned technical problems, and the general idea is as follows: This application embodiment transforms chaotic raw environmental information into structured, passable candidate paths by acquiring obstacle distribution locations and constructing an initial boundary set. Then, two preset boundary conditions are applied: "no intersection with historical trajectories" and "distance to adjacent obstacles greater than a first preset distance." The former effectively prevents the device from getting stuck in local loops or deadlocks by avoiding repeated exploration of already visited areas; the latter, through geometric constraints, proactively eliminates narrow passages with insufficient width, significantly reducing the risk of the self-moving device getting stuck in narrow areas while attempting to traverse them. Finally, the target boundary is determined from the candidate boundaries that meet the conditions based on the destination location, ensuring that every movement decision of the device is directional and moves towards the final goal of the task. Therefore, this application embodiment enables the self-moving device to intelligently select a safe (avoiding narrow and heavy paths) and efficient (directing to the destination) local path within a single decision cycle, thus laying a solid foundation for reliable autonomous navigation.

[0019] To better understand the above technical solutions, the following will provide a detailed explanation of the technical solutions in conjunction with the accompanying drawings and specific implementation methods.

[0020] First, it should be clarified that the term "and / or" in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this article generally indicates that the preceding and following related objects have an "or" relationship.

[0021] This application provides a path planning method applied to a self-moving device. The method includes steps S11-S15, as detailed below. Figure 1 As shown.

[0022] Step S11: After receiving the task execution instruction, obtain the distribution location of obstacles collected by the self-moving device at the current location; Step S12: Determine the initial boundary formed by adjacent obstacles around the self-moving device based on the distribution location, and obtain the initial boundary set; Step S13: Select candidate boundaries that meet preset boundary conditions from the initial boundary set to obtain a candidate boundary set; the preset boundary conditions include that the intersection with the historical trajectory of the self-moving device performing the current task is empty, and the distance between two adjacent obstacles corresponding to the boundary is greater than a first preset distance. Step S14: Determine the target boundary from the candidate boundary set based on the endpoint position of the current task of the self-moving device; Step S15: Control the self-moving device to move towards the target boundary, so that the self-moving device moves towards the endpoint position corresponding to the current task.

[0023] This application provides a path planning method applied to self-moving devices. Self-moving devices can be any mobile device, such as robotic vacuum cleaners, autonomous vehicles, logistics delivery robots, automated guided vehicles, and underwater autonomous robots. The embodiments in this application will only use an autonomous vehicle as an example for subsequent description.

[0024] Regarding step S11, after receiving the task execution instruction, the distribution location of obstacles collected by the self-moving device at the current location is obtained.

[0025] The core of the task execution instructions mentioned in the embodiments of this application lies in driving the self-moving device to perform purposeful location migration. Such instructions are usually high-level, goal-oriented commands, such as "transport the item from location A to location B", "go to the designated coordinates for patrol", or "return to the charging dock for charging". The instruction itself does not specify a specific movement path, but rather indicates the final target location of the task (i.e., the destination location).

[0026] Upon receiving the task execution instruction, the first corresponding current position is the location of the self-moving device at the time the instruction was received. As the self-moving device changes position to execute the current task, the "current position" will also be updated accordingly. This embodiment of the application will only use any one current position of the self-moving device during the execution of the current task as an example for subsequent explanation.

[0027] The distribution of obstacles collected by the self-moving device at its current location can be achieved using a lidar sensor mounted on the device. Specifically, during task execution, the self-moving device's system (hereinafter referred to as the system) first dynamically sets the effective detection range R of the lidar (e.g., 10 to 20 meters) based on the requirements of the current task (such as driving speed and environmental complexity). This ensures that the device has sufficient "look-ahead" distance to detect obstacles ahead, allowing ample time for subsequent path planning and decision-making. It also limits the sensor's sensing range to a reasonable local area, effectively avoiding processing excessively distant or irrelevant environmental information, thereby significantly reducing the system's computational burden and ensuring real-time performance.

[0028] After setting the detection range R, the autonomous mobile device scans its current location using a LiDAR scanner, performing a 360-degree or angled scan. The LiDAR emits laser beams and receives their echoes, acquiring precise distance and azimuth information relative to itself for all obstacles (such as walls, pedestrians, or other vehicles) within a radius R, with itself as the origin. This raw "point cloud" data is processed and ultimately transformed into a set of obstacle distribution locations—a coordinate set containing the key points of each obstacle's outline in the current local scene. This distribution location set serves as the direct basis and data foundation for subsequent autonomous movement operations such as boundary calculations and path decisions.

[0029] For example, a self-moving device first determines its current position in the global coordinate system using its positioning system (such as the Global Positioning System or an inertial navigation system). This coordinate represents the core reference point of the equipment. Subsequently, the equipment... Activate the lidar at a preset detection range. An environmental scan is performed. The raw point cloud data acquired during the scan is clustered and processed to represent a structured set of local obstacle information. ,in, In this set, Representing the The coordinates of each detected obstacle feature point are in the same coordinate system, and This represents the total number of valid obstacle points identified in this scan. This set... The radius around the device was accurately depicted. The real-time obstacle distribution within the area provides the most direct environmental perception data input for subsequent path planning algorithms.

[0030] Regarding step S12, the initial boundary formed by adjacent obstacles around the self-moving device is determined based on the distribution location, and an initial boundary set is obtained.

[0031] Regarding the initial boundary, this application provides two methods for determining the initial boundary, and these two methods will be described in detail below.

[0032] The first method: Following a preset direction, connect the locations of two adjacent obstacles sequentially, and use the connecting lines as the initial boundaries.

[0033] For example, such as Figure 2 As shown, the self-moving device is Location, and detected multiple obstacles (i.e.) Figure 2(The locations indicated by multiple green dots are shown in the image). For ease of description, this embodiment only numbers special points such as corners, including the distribution locations of the seven obstacles A1-A7. Connecting the distribution locations A1-A7 counterclockwise from A1, we obtain... Figure 2 The brown lines in the diagram represent the initial boundaries between any two obstacles. These seven initial boundaries constitute the initial boundary set.

[0034] The second method: The distribution position of the obstacle is mapped onto a hypersphere centered at the current position and with a preset radius, and / or on both sides of the hypersphere, according to radial reflection, to obtain the mapped position of the obstacle; Construct the convex hull based on the mapped positions of obstacles; Based on the distribution of obstacles corresponding to each vertex on the convex hull, the initial boundary around the self-moving device is determined, and an initial boundary set is obtained.

[0035] Specifically, the initial boundary around the self-moving device is determined based on the distribution positions of obstacles corresponding to each vertex on the convex hull, resulting in an initial boundary set. This includes: restoring the mapping positions of the vertices on the convex hull to the inner side of the hypersphere according to radial reflection, thereby obtaining the distribution positions of obstacles corresponding to each vertex on the convex hull; and determining the initial boundary around the self-moving device based on the distribution positions of obstacles corresponding to each vertex on the convex hull, thus obtaining an initial boundary set.

[0036] The embodiments of this application first explain hyperspherical surfaces, radial reflections, and convex hulls as follows.

[0037] In three-dimensional geometry, a hypersphere is a set of all points centered at a certain point and with a fixed radius; it is a generalization of the concept of a "sphere" in three-dimensional space to a higher dimension. In the embodiments of this application, a hypersphere can refer to a hypersphere centered at the current position of the self-moving device. Centered on, with a preset radius A three-dimensional sphere with radius .

[0038] Radial reflection is a geometric transformation method that works similarly to "stretching" or "reflecting" a point inside a sphere onto the sphere's surface. Specifically, it transforms an obstacle point located inside a sphere... Along that point and the center of the ball The line connecting them is pushed outwards to a specific position on the sphere; this new position... relative to the original position and the center of the ball Collinear.

[0039] The convex hull is a concept in computational geometry, referring to the smallest convex polyhedron that can completely enclose all points within a given set of points. It can be imagined as the shape of a polyhedron formed by wrapping all points with an infinitely stretchable, taut rubber sheet, with all vertices originating from the original set of points.

[0040] Then, in conjunction with the embodiments of this application Figure 3 The second method is explained as follows.

[0041] The second approach of this application provides a robust boundary recognition method based on computational geometry. Its core objective is to filter and construct safe, passable boundaries from the original obstacle point cloud, while effectively eliminating dangerous boundaries that may cause equipment to enter narrow areas.

[0042] The execution flow of the second method in this application embodiment is as follows: First, the current position is determined by radial reflection. All obstacle points detected around (in, The obstacle point is... Figure 3 The green solid dots in the image are uniformly mapped to a single point. Centered on, with radius On the virtual hypersphere (three-dimensional sphere) or on both sides of the hypersphere (the hypersphere is not on the virtual hypersphere). Figure 3 (as shown in the image), resulting in the set of mapping points. The set of mapping points is Figure 3 The purple dots in the image. This mapping process is crucial; it shifts the analysis of spatial structure from the original, potentially unevenly distributed obstacle points to a regular, continuous reference surface. The formula for radial reflection can be found in the following formula (1). Formula (1) in, for The mapping point, Indicates to Radial reflection, Indicates the first One obstacle point, Let be the radius of the hypersphere. Indicates the current location of the mobile device.

[0043] Next, the algorithm is based on the mapped point set. Calculate its convex hull The convex hull is a convex polyhedron whose vertices are part of the mapped points; the convex hull is... Figure 3 The purple lines connecting the solid purple dots. The convex hull formula can be found in formula (2) below.

[0044] Formula (2) in, Denotes the convex hull set. This represents the non-negative combination coefficient.

[0045] Finally, the convex hull The two endpoints of each edge (e.g., connected) and Inverse transformation via radial reflection Restore to the original obstacle point and And add the edge formed between these two points (i.e., the line segment connecting the original obstacle) to the initial boundary set. The set consisting of all these edges... This refers to the "visible area" of the device at the current point. Figure 3 The brown lines with green solid dots in the middle connecting part.

[0046] The second method provided in this application can eliminate relatively narrow boundaries. The elimination principle is as follows: during radial reflection mapping, obstacle points located inside the hypersphere are "pushed" outwards, making their mapping points on the outside of the hypersphere more dispersed, forming an outward convex feature; obstacle points located outside the hypersphere are "pushed" inwards, making their mapping points on the inside of the hypersphere more concentrated, forming an inward concave feature. In subsequent convex hull calculation, these dispersed mapping points inside (meaning obstacle points on the outside of the hypersphere that are radially mapped to the inside of the hypersphere) will not become vertices of the convex hull, because the convex hull requires the outermost, convex vertices. Conversely, dispersed mapping points outside (meaning obstacle points on the inside of the hypersphere that are radially mapped to the outside of the hypersphere) will become vertices of the convex hull, because the convex hull requires the outermost, convex vertices. In other words, the closer an obstacle is to the self-moving device, the more likely its radially reflected point is to become the vertex of the convex hull. After the convex hull is restored by reverse radial reflection, the closer the obstacle is to the self-moving device, the more likely it is to form the endpoint of the initial boundary.

[0047] Therefore, the second method provided in this application embodiment can proactively and efficiently filter out narrow and dangerous passage boundaries. By utilizing the geometric properties of the convex hull, it naturally reduces the probability that the self-moving device will choose narrow paths that seem passable but are actually prone to causing jamming or collisions, thereby significantly reducing the probability of the device getting stuck and improving navigation safety and decision-making intelligence. This is an effective strategy for pre-optimization at the environmental perception level.

[0048] For example, as mentioned above, such as Figure 2 As shown, the self-moving device is Location, and detected multiple obstacles (i.e.) Figure 2 (The locations indicated by multiple green dots) For ease of description, this embodiment only numbers special points such as corners, including the distribution locations of these 7 obstacles, A1-A7. Following the second method, the following can be obtained: Figure 4 The initial boundary set is shown. (And...) Figure 2 compared to, Figure 4 The initial boundary formed by the eight obstacle points A8-A15 was preserved. Figure 4 and Figure 2 By comparison, it can be seen that the second method of the embodiments of this application will The narrow area in the upper right corner (especially) Figure 2 The position of the line connecting A7 and A6 should be noted, although from Figure 2 The global top view shown makes it appear that there is a wide gap between A6 and A7, but this is from the current location of the mobile device. From the perspective of the A6 and A7, the relatively narrow path between them has been removed, which reduces the likelihood that mobile devices will choose narrow paths that seem passable but are actually very likely to cause them to get stuck or collide. This significantly reduces the chance of the device getting stuck and improves the safety and intelligence of navigation.

[0049] Regarding step S13, candidate boundaries that meet preset boundary conditions are selected from the initial boundary set to obtain a candidate boundary set; the preset boundary conditions include that the intersection with the historical trajectory of the self-moving device performing the current task is empty, and the distance between two adjacent obstacles corresponding to the boundary is greater than a first preset distance.

[0050] As is known from the foregoing, step S12 of this application embodiment provides two different methods for determining the initial boundary. The execution of step S13 has different meanings for each of these different methods. Based on the two aforementioned methods for determining the initial boundary, step S13 will now be explained as follows.

[0051] The process of performing step S13 under the premise of using the first method for determining the initial boundary in step S12 will be explained as follows.

[0052] like Figure 2 As shown, the initial boundary set determined by the first method is as follows: Figure 2 As shown by the blue lines in the diagram. Step S13 involves removing the initial boundaries that do not meet the preset boundary conditions to obtain a set of candidate boundaries.

[0053] The preset boundary conditions include two sub-conditions. The first sub-condition is that the intersection of the boundary and the historical trajectory of the self-moving device executing the current task is empty. The second sub-condition is that the distance between two adjacent obstacles corresponding to the boundary is greater than a first preset distance. The first sub-condition indicates that the boundary is not a boundary visited by the self-moving device, and the second sub-condition indicates that the gaps left by the obstacles at both ends of the boundary are at least sufficient to allow the self-moving device to pass normally (safety condition). Initial boundaries in the initial boundary set that simultaneously satisfy the first and second sub-conditions are determined as candidate boundaries, thus obtaining a candidate boundary set. The first preset distance can be the minimum distance that the self-moving device can pass through.

[0054] by Figure 2 For example, step S13 is used to remove the initial boundary on the right side of the line connecting A5 and A7, and the remaining initial boundary can be used as a candidate boundary to obtain a set of candidate boundaries.

[0055] The process of performing step S13 under the premise of using the second method for determining the initial boundary in step S12 is explained as follows.

[0056] The initial boundary set obtained by the second initial boundary determination method in step S12 may contain boundaries that have been visited by the mobile device. Therefore, the initial boundary set is filtered by preset boundary conditions to obtain a candidate boundary set.

[0057] Thus, it can be seen that the candidate boundary set obtained by combining the first method of step S12 with step S13 is the same or similar to the candidate boundary set obtained by combining the second method of step S12 with step S13. The purpose is to eliminate the narrow area around the self-moving device, thereby reducing the probability of the self-moving device entering the narrow area, that is, reducing the probability of the self-moving device being trapped.

[0058] In actual operation, the two matching methods can be selected according to actual needs. This application embodiment does not limit this. The following will take the candidate boundary set obtained after matching the second method in step S12 with step S13 as an example for explanation.

[0059] Regarding step S14, the target boundary is determined from the candidate boundary set based on the endpoint position of the current task of the self-moving device.

[0060] In practice, the candidate boundary set may be empty. For example, if all boundaries in the initial boundary set have been accessed by the self-moving device, the candidate boundary set is empty, and the target boundary cannot be determined from it.

[0061] In this case, if the candidate boundary set is empty and the target boundary cannot be determined from the candidate boundary set, the target boundary can be determined from the alternative boundary set. The alternative boundary set includes: candidate boundaries from each of the candidate boundary sets that were not selected as the target boundary after the self-mobile device receives the task execution instruction, and whose intersection with the historical trajectory of the self-mobile device executing the current task is empty.

[0062] In other words, after the self-moving device receives the task execution instruction, it repeatedly executes steps S11-S15 based on changes in its current position. Each round of steps S11-S15 yields a corresponding set of candidate edges. For each set of candidate edges, those edges that were not selected as the target boundary and whose intersection with the historical trajectory of the self-moving device executing the current task is empty are added to the candidate edge set. This means that the candidate edge set stores all candidate edges that were not selected as the target boundary and have not been visited by the self-moving device from the time the task execution instruction was received until the present. The candidate edge set is cleared after each round of steps S11-S15 and then re-determined based on the initial boundary set obtained each time and step S13.

[0063] Therefore, if the candidate boundary set is empty and the target boundary cannot be determined from the candidate boundary set, the target boundary can be determined from the alternative boundary set.

[0064] Furthermore, if the candidate boundary set is not empty, the target boundary can be determined from the candidate boundary set.

[0065] Whether the target boundary is determined from a set of candidate boundaries or a set of alternative boundaries, the determination method can be the same. For example, boundaries that satisfy the optimal boundary conditions are selected from the boundary set. The optimal boundary conditions include that the distance between two adjacent obstacles corresponding to the boundary is greater than a second preset distance, and the distance between the boundary and the endpoint is relatively shortest; wherein the second preset distance is greater than the first preset distance; any boundary that satisfies the optimal boundary conditions is taken as the target boundary.

[0066] The second preset distance is a larger distance than the first preset distance, which means that the self-moving device will be safer when passing through the boundary corresponding to the obstacle. The specific distance can be adjusted according to actual safety requirements.

[0067] In other words, the target boundary can be determined by the boundary in the set that is closest to the endpoint and has the largest shortest distance between the self-moving device and the obstacle when passing through the boundary. However, the sub-conditions of being closest to the endpoint and being largest in terms of shortest distance from the obstacle may not be satisfied simultaneously, so a priority-based filtering method can be used.

[0068] For example, "maximum closest distance to obstacles" is set as the primary, higher-priority filtering condition, while "closest to the destination" is a secondary optimization objective. First, the system traverses the entire set of boundaries, filtering out those that ensure the device maintains the maximum safe distance from obstacles, forming the safest subset. If only one boundary exists in this subset, it is directly identified as the target boundary. If multiple boundaries still exist in this subset, the system performs a second round of filtering within this subset, selecting the one closest to the destination as the final target boundary. For example, suppose boundary A is 5 meters from the destination, but its distance to the nearest obstacle is only 0.3 meters; while boundary B is 6 meters from the destination, but its distance to the nearest obstacle reaches 0.8 meters. Based on the above priority, the system prioritizes safety, so boundary B will be selected due to its larger safe distance. This priority mechanism ensures that the self-moving device always prioritizes safety in path selection, effectively avoiding recklessly entering high-risk, narrow areas in pursuit of the shortest path, thus intelligently approaching the task destination while ensuring safe passage.

[0069] For example, candidate boundaries that meet the optimal boundary conditions can be selected from the candidate boundary set. The optimal boundary conditions include that the distance between two adjacent obstacles corresponding to the candidate boundary is greater than a second preset distance, and the distance between the candidate boundary and the endpoint position is relatively short. The second preset distance is greater than the first preset distance. Any candidate boundary that meets the optimal boundary conditions is taken as the target boundary.

[0070] Regarding step S15, the self-moving device is controlled to move towards the target boundary, so that the self-moving device moves towards the endpoint position corresponding to the current task.

[0071] The target boundary refers to the boundary between two corresponding obstacle points, and the target boundary has a certain width. The self-moving device can pass through the target boundary according to its own passage strategy. Of course, the self-moving device can also determine a more precise target direction and move towards the target boundary according to the following strategy.

[0072] Specifically, the target direction for the self-moving device to move toward the target boundary can be determined based on a first weight of a first direction pointing from the midpoint of the target boundary to the current position, and a second weight of a second direction pointing from the centroid of the visible area enclosed by the initial boundary around the self-moving device to the current position; the self-moving device is controlled to move toward the target direction, so that the self-moving device moves toward the endpoint position corresponding to the current task.

[0073] The core of this application's embodiments lies in providing a refined and balanced directional decision-making method to address the problem of "how to move towards that path" after "choosing which path." Simply pointing towards the midpoint of the target boundary may cause the device to move too close to obstacles during movement, while simply pointing towards the centroid of an open area may result in a circuitous and inefficient path. Therefore, this solution innovatively introduces a target direction composed of two components. The first component is a directional component, whose direction is determined by the midpoint of the target boundary, representing the intention to move directly and efficiently from the current position to the target exit, ensuring both directional movement and task completion efficiency. The second component is a safety component, whose direction is determined by the geometric centroid of the polygon (i.e., the visible area) enclosed by all currently visible boundaries. This centroid naturally represents the most open and furthest "safety core area" in the region; moving towards the centroid allows the device to naturally remain in the center of the channel, maximizing the distance from obstacles. Ultimately, by assigning first and second weights to the two directional vectors respectively and then summing them by weight, the system calculates a final target direction that achieves the best balance between "efficiency" and "safety." This design makes the movement of the self-moving device no longer a mechanical rush towards the exit, but rather exhibits a kind of intelligence similar to human driving: traveling straight in open areas and actively veering to the safer side in complex or narrow areas.

[0074] For details, please refer to the following formula (3).

[0075] Formula (3) in, Indicates the direction of the target. Indicates the first weight. Indicates the second weight. The midpoint of the target boundary. Current position It is the centroid of the feasible region enclosed by each candidate boundary in the candidate boundary set.

[0076] This represents the current position. Point to the midpoint of the target boundary The unit vector, which is the "first direction," indicates the most direct path to the target. This represents the current position. Pointing to the centroid of the visible region The unit vector, or "second direction," indicates the direction leading to the current safest region. Key parameters and These are the first and second weights, which control the relative influence of these two directions in the final decision. For example, when setting... , When the system is in a state of high alert, it tends to rush directly towards the target boundary, behaving more "aggressively"; while when the system is set to... , In such cases, the system will become more conservative, prioritizing driving in the center of the area to ensure safety, even if this results in a slightly longer route.

[0077] This application significantly improves the navigation safety and robustness of self-moving devices in complex environments. By incorporating safe direction into the decision-making core, the device can proactively avoid high-risk paths near obstacles, thereby greatly reducing the probability of scratches or jamming. Secondly, it implements a dynamic, context-aware navigation strategy. The device no longer simply pursues the shortest path, but can seamlessly switch between "efficient" and "safe" modes by adjusting the first and second weights based on environmental characteristics (such as channel width) and task requirements. For example, in structured open environments such as warehouses, a high-efficiency mode (with a higher first weight) can be used; while in dynamic environments with dense crowds or clutter, a high-safety mode (with a higher second weight) can be switched. Finally, this intelligent direction synthesis mechanism makes the movement trajectory of the self-moving device smoother, more natural, and more human-like, fundamentally enhancing its practicality and reliability in real-world scenarios.

[0078] Furthermore, the direction of the target boundary can be embedded using a dynamic window method to determine the target linear velocity and target angular velocity of the self-moving device; the self-moving device can be controlled to move towards the target boundary according to the target linear velocity and the target angular velocity, so that the self-moving device moves towards the endpoint position corresponding to the current task.

[0079] The dynamic window method is a widely used algorithm for real-time local path planning in robots. Its core idea is to sample all possible linear and angular velocities of the robot within a short future time window, while satisfying constraints on the robot's physical motion performance (such as maximum acceleration and maximum velocity), thereby generating a series of simulated motion trajectories. Subsequently, a carefully designed evaluation function scores each simulated trajectory, and the highest-scoring velocity pair is selected to control the robot. This method cleverly transforms the path planning problem into an optimization problem in velocity space, simultaneously considering three key factors: the direction towards the target, the distance to obstacles, and the movement speed, thus enabling the real-time calculation of safe and efficient motion commands in complex dynamic environments.

[0080] This application introduces a dynamic window method as the underlying actuator, embedding the direction of the target boundary given by the upper-level decision-making system as a core guiding signal into the evaluation system of the dynamic window method. Specifically, the system no longer simply drives the robot towards an abstract global target point, but tightly integrates the explicit local navigation intention of "towards the target boundary" with real-time obstacle avoidance and the robot's dynamic constraints. This scheme controls the self-moving device at its current position, generating countless possible combinations of (linear velocity, angular velocity) based on its dynamic constraints, and simulating the motion trajectory generated by each velocity command in the next time window. Finally, through a comprehensive evaluation function, it selects the target linear velocity and target angular velocity from all feasible velocity pairs that best balance the three objectives of "approaching the target boundary," "moving away from obstacles," and "maintaining forward efficiency," thereby achieving fine, smooth, and safe motion control of the device.

[0081] Specifically, firstly based on the direction of motion Calculate the target angle of the autonomous vehicle See formula (4). Formula (4) in, and for exist shaft and Components on the axis, It is the imaginary unit.

[0082] The evaluation function can be referenced from the following formula (5): Formula (5) in, and The target linear velocity and the target angular velocity; This is the current heading angle of the autonomous vehicle; The minimum distance between the preset movement trajectory of the self-moving device and the obstacle; , , Let them be the heading functions respectively. Obstacle avoidance function velocity function The weights; This is for normalization purposes.

[0083] This is the heading angle deviation term, which calculates the robot's orientation when it reaches the end of the simulated trajectory at the current sampling speed. From the perspective of the expected goal The absolute difference between the two values. The smaller this value, the higher the score, meaning the robot's movement direction is more accurately pointed towards the target boundary. This is the nearest obstacle distance, representing the minimum distance between the robot and all surrounding obstacles along the entire simulated trajectory. A higher value results in a higher score, indicating a safer trajectory. This is the velocity term, specifically the sampled linear velocity itself. A higher value for this term results in a higher score, encouraging the robot to move as quickly as possible while remaining safe, and avoiding stagnation. , , These are the corresponding weighting coefficients, which determine the relative importance of the three indicators in the final decision. It is a normalization factor used to eliminate the influence of different evaluation indicators due to differences in dimensions and orders of magnitude, so that they can be compared in a weighted manner on a fair basis.

[0084] In other words, firstly, the motion direction vector that combines efficiency and safety is calculated based on the aforementioned scheme. And through mathematical transformations (such as formula (4)), this direction is converted into a specific target angle. Next, in the sampling and scoring phase of the dynamic window method, this target angle is used as the heading term in the evaluation function. For example, the evaluation function formula (5) contains three core sub-terms: The evaluation assesses the orientation of the robot at the end of a simulated trajectory. From the perspective of the target The smaller the deviation, the closer the trajectory is to the target boundary; The assessment evaluates the minimum distance to obstacles on the simulated trajectory to ensure safety; The approach encourages robots to choose faster linear speeds to improve efficiency. This is achieved by adjusting weights. , , It allows for flexible control over the device's preferences between "precise alignment," "absolute safety," and "rapid movement."

[0085] As can be seen, the embodiments of this application achieve significant technical effects by deeply integrating high-level path planning (target boundary direction) with low-level motion control (dynamic window method). First, it achieves the ultimate balance between safety and efficiency at the execution level, ensuring that the self-moving device can accurately navigate towards the target while actively avoiding collision risks and smoothly bypassing obstacles. Second, it fully respects and utilizes the physical motion limits of the device; all generated speed commands are dynamically feasible, avoiding unrealistic steering or sudden stops and starts, making motion control more stable and reliable. Finally, this method is highly real-time and adaptive. It can reassess and plan a new optimal speed within milliseconds based on real-time environmental changes perceived by sensors (such as suddenly appearing obstacles), thereby endowing the self-moving device with the ability to move calmly and intelligently in highly dynamic and unknown environments.

[0086] In summary, this embodiment transforms chaotic raw environmental information into structured, passable candidate paths by acquiring obstacle distribution locations and constructing an initial boundary set. Then, two preset boundary conditions are applied: "no intersection with historical trajectories" and "distance to adjacent obstacles greater than a first preset distance." The former effectively prevents the device from getting stuck in local loops or deadlocks by avoiding repeated exploration of already visited areas; the latter, through geometric constraints, actively eliminates narrow passages with insufficient width, significantly reducing the risk of the self-moving device getting stuck in narrow areas while attempting to traverse them. Finally, the target boundary is determined from the candidate boundaries that meet the conditions based on the destination location, ensuring that every movement decision of the device is directional and moves towards the final goal of the task. Therefore, this embodiment enables the self-moving device to intelligently select a safe (avoiding narrow and heavy paths) and efficient (directing to the destination) local path within a single decision cycle, thus laying a solid foundation for reliable autonomous navigation.

[0087] Furthermore, after controlling the self-moving device to move toward the target boundary, the method further includes: After the self-moving device moves to the target boundary, it is determined whether the self-moving device has reached the destination position; If the self-moving device has not reached the destination position, then the current position of the self-moving device is updated, and based on the updated current position, the target boundary is redefined. The self-moving device is then controlled to move toward the updated target boundary, so that the self-moving device moves toward the destination position corresponding to the current task, until the self-moving device reaches the destination position.

[0088] Based on steps S11-S15 provided in this application embodiment, this application embodiment uses an iterative loop mechanism of "movement-judgment-update-replanning" to immediately determine each target boundary as a new waypoint after the device reaches it, and update the device's current position accordingly. Based on this new position, the system re-perceives the environment and executes the entire process of steps S11-S15 again, which is the process of constructing a new initial boundary, filtering candidate boundaries, and determining the next target boundary. This process is repeated cyclically, as if setting multiple continuous and dynamic local sub-goals for the device, guiding it step by step towards the destination. It can be seen that this application embodiment achieves seamless connection and continuous navigation from single-point decision-making to global path, giving the self-moving device a powerful environmental adaptability, enabling it to cope with complex and ever-changing unknown environments. Even if the initially planned path is unexpectedly blocked, the device can immediately replan a new feasible path on the spot, greatly improving the robustness and success rate of completing complex long-distance tasks.

[0089] This application provides a specific example, which can be found in the following examples. Figure 5 The following is an example illustration of a path planning method provided in an embodiment of this application.

[0090] Step 50: The unmanned vehicle receives the task execution instruction and initializes the alternative edge set, then continues to execute step 51; Step 51: The unmanned vehicle obtains local obstacle information at its current location using lidar and initializes the candidate edge set, then continues to execute step 52; Step 52: Calculate the current visible area (i.e., the area enclosed by the initial boundary) of the unmanned vehicle based on its current location and the current local obstacle information, and continue to execute step 53; Step 53: Determine if any edge in the visible area has been visited. If yes, proceed to step 54; otherwise, proceed to step 55. Step 54, delete the edge; continue to step 56; Step 55: Add to the candidate edge set; continue to step 56; Step 56: Determine if the candidate edge set is empty. If yes, proceed to step 57; otherwise, proceed to step 58. Step 57: If the driverless car gets stuck in a dead zone, calculate the best edge from the set of alternative edges and continue to step 59. Step 58: Considering the safety of the autonomous vehicle and the location of the target point, evaluate all edges in the candidate edge set, select the best edge, and add the remaining edges to the candidate edge set; continue to step 59; Step 59: Calculate the direction of motion of the unmanned vehicle based on the optimal edge and update the set of candidate edges; continue to step 510; Step 510: Embed the motion direction into the dynamic window method to obtain the linear velocity and angular velocity of the unmanned vehicle at the next moment and execute it; continue to execute step 511; Step 511: Determine if the driverless vehicle has reached the destination. If yes, end the process; otherwise, return to step 51.

[0091] Based on the same inventive concept, embodiments of this application provide a self-moving device, which is an unmanned vehicle, and the self-moving device is configured to execute a path planning method as described above.

[0092] Based on the same inventive concept, the embodiments of this application provide, as follows: Figure 6 The self-moving device shown includes: Processor 61; Memory 62 is used to store executable instructions of the processor 61; The processor 61 is configured to execute a path planning method as described above.

[0093] Since the self-moving device described in this embodiment is the self-moving device used to implement the information processing method in the embodiments of this application, those skilled in the art can understand the specific implementation methods and various variations of the self-moving device in this embodiment based on the information processing method described in the embodiments of this application. Therefore, how the self-moving device implements the method in the embodiments of this application will not be described in detail here. Any self-moving device used by those skilled in the art to implement the information processing method in the embodiments of this application falls within the scope of protection of this application.

[0094] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0095] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0096] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0097] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0098] Although preferred embodiments of the invention have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including both the preferred embodiments and all changes and modifications falling within the scope of the invention.

[0099] Obviously, those skilled in the art can make various modifications and variations to this invention without departing from its spirit and scope. Therefore, if these modifications and variations fall within the scope of the claims of this invention and their equivalents, this invention also intends to include these modifications and variations.

Claims

1. A path planning method, characterized in that, Applied to self-moving devices, the method includes: After receiving the task execution instruction, the distribution location of obstacles collected by the self-moving device at its current location is obtained; Based on the distribution location, the initial boundary formed by adjacent obstacles around the self-moving device is determined, and an initial boundary set is obtained; Candidate boundaries that meet preset boundary conditions are selected from the initial boundary set to obtain a candidate boundary set; the preset boundary conditions include that the intersection with the historical trajectory of the self-moving device performing the current task is empty, and the distance between two adjacent obstacles corresponding to the boundary is greater than a first preset distance. The target boundary is determined from the candidate boundary set based on the endpoint position of the current task of the self-moving device; Control the self-moving device to move toward the target boundary, so that the self-moving device moves toward the endpoint position corresponding to the current task.

2. The path planning method as described in claim 1, characterized in that, Based on the distribution location, the initial boundary formed by adjacent obstacles around the self-moving device is determined, resulting in an initial boundary set, including: The distribution position of the obstacle is mapped onto a hypersphere centered at the current position and with a preset radius, and / or on both sides of the hypersphere, according to radial reflection, to obtain the mapped position of the obstacle; Construct the convex hull based on the mapped positions of obstacles; Based on the distribution of obstacles corresponding to each vertex on the convex hull, the initial boundary around the self-moving device is determined, and an initial boundary set is obtained.

3. The path planning method as described in claim 2, characterized in that, Based on the distribution of obstacles corresponding to each vertex on the convex hull, the initial boundary around the self-moving device is determined, resulting in an initial boundary set, including: By restoring the mapped positions of the vertices on the convex hull to the inside of the hypersphere according to radial reflection, the distribution positions of the obstacles corresponding to each vertex on the convex hull are obtained; Based on the distribution of obstacles corresponding to each vertex on the convex hull, the initial boundary around the self-moving device is determined, and an initial boundary set is obtained.

4. The path planning method as described in claim 1, characterized in that, Based on the endpoint position of the current task of the self-moving device, the target boundary is determined from the candidate boundary set, including: Candidate boundaries that meet the optimal boundary conditions are selected from the candidate boundary set. The optimal boundary conditions include that the distance between two adjacent obstacles corresponding to the candidate boundary is greater than a second preset distance, and the distance between the candidate boundary and the endpoint is relatively shortest; wherein, the second preset distance is greater than the first preset distance. Any candidate boundary that satisfies the optimal boundary conditions shall be taken as the target boundary.

5. The path planning method as described in claim 1, characterized in that, The method further includes: If the candidate boundary set is empty and the target boundary cannot be determined from the candidate boundary set, then the target boundary is determined from the alternative boundary set; wherein, the alternative boundary set includes: after the self-mobile device receives the task execution instruction, the candidate boundaries in each of the candidate boundary sets that were not selected as the target boundary and whose intersection with the historical trajectory of the self-mobile device executing the current task is empty.

6. A path planning method as described in claim 1 or 5, characterized in that, Controlling the self-moving device to move towards the target boundary, so that the self-moving device moves towards the endpoint position corresponding to the current task, includes: Based on a first weight of a first direction pointing from the midpoint of the target boundary to the current position, and a second weight of a second direction pointing from the centroid of the visible area enclosed by the initial boundary around the self-moving device to the current position, the target direction of the self-moving device moving toward the target boundary is determined. Control the self-moving device to move towards the target direction, so that the self-moving device moves towards the endpoint position corresponding to the current task.

7. The path planning method as described in claim 1, characterized in that, Controlling the self-moving device to move towards the target boundary, so that the self-moving device moves towards the endpoint position corresponding to the current task, includes: By embedding the direction of the target boundary into a dynamic window method, the target linear velocity and target angular velocity of the self-moving device are determined; The self-moving device is controlled to move toward the target boundary according to the target linear velocity and the target angular velocity, so that the self-moving device moves toward the endpoint position corresponding to the current task.

8. The path planning method as described in claim 1, characterized in that, After controlling the self-moving device to move toward the target boundary, the method further includes: After the self-moving device moves to the target boundary, it is determined whether the self-moving device has reached the destination position; If the self-moving device has not reached the destination position, then the current position of the self-moving device is updated, and based on the updated current position, the target boundary is redefined. The self-moving device is then controlled to move toward the updated target boundary, so that the self-moving device moves toward the destination position corresponding to the current task, until the self-moving device reaches the destination position.

9. A self-moving device, characterized in that, The self-moving device is an unmanned vehicle, and the self-moving device is configured to perform a path planning method as described in any one of claims 1 to 8.

10. A self-moving device, characterized in that, include: processor; Memory used to store the processor's executable instructions; The processor is configured to execute a path planning method as described in any one of claims 1 to 8.