Potential field and A* search fused path planning method and device

By integrating potential field and A* search into a path planning method, the problem of high accuracy and high efficiency in path planning of AMR in complex environments is solved, and efficient obstacle avoidance and smooth path generation are achieved in complex environments.

CN121409243APending Publication Date: 2026-01-27HINTON ARTIFICIAL INTELLIGENCE TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511576580.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-10-31
Publication Date
2026-01-27

AI Technical Summary

Technical Problem

Existing AMR navigation algorithms cannot meet the requirements for high-precision and high-efficiency path planning in complex environments, especially the needs for precise transportation in semiconductor manufacturing workshops and rapid movement in large warehouses.

Method used

The path planning method that integrates potential field and A* search generates distance and potential energy lookup tables through a rasterized environment map. It then performs A* search by combining obstacle masks and initialized A* parameters, updates the priority queue, cost table, and parent node table, and uses potential field values ​​to guide path planning to generate the actual trajectory.

Benefits of technology

It improves the obstacle avoidance capability and computational efficiency of path planning, generates smooth paths, adapts to complex environments, and ensures the optimality and safety of the paths.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121409243A_ABST
    Figure CN121409243A_ABST
Patent Text Reader

Abstract

The invention provides a path planning method and device fusing a potential field and A * search, and the method comprises the steps: carrying out A * search based on a distance and potential energy lookup table, an obstacle mask and an initialized A * parameter, and updating a priority queue, a cost table and a father node table of the A * parameter; judging whether a complete path is found or not based on the father node table; and if the complete path is found, denoising and interpolating the complete path to generate an actual execution track. Introduction of a local potential field value during global path search is one of core innovation points of the method, and stronger obstacle avoidance capability is provided for path planning of the algorithm in a complex environment. The calculation of the potential field value is based on the pre-generated lookup table, so that the method not only improves the calculation efficiency, but also makes the expression of the potential field near the obstacle smoother through the ingenious application of the cosine function.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a path planning method and apparatus that integrates potential field and A* search. Background Technology

[0002] Researching new navigation algorithms for AMRs (Autonomous Mobile Robots) has significant practical implications. The continuous development and improvement of AMR navigation algorithms will drive the application of robots in more fields, such as healthcare, service industries, and automation solutions. For example, in the medical field, AMRs can be used for tasks such as drug delivery and ward rounds; in the service industry, AMRs can serve as baggage handlers in hotels and food delivery personnel in restaurants. In automation solutions, autonomous mobile robots perceive changes in their surrounding environment through sensors and make corresponding decisions, meeting the precise and flexible needs of indoor logistics automation. This will greatly improve the service quality and efficiency of these industries and reduce labor costs. In scenarios with extremely high precision requirements, such as semiconductor manufacturing workshops, AMRs need to accurately transport tiny chips to designated locations, requiring navigation algorithms with extremely high accuracy and stability. In large warehouses, AMRs need to move quickly within vast spaces, requiring navigation algorithms capable of rapidly planning optimal long-distance paths. However, existing AMR navigation algorithms cannot yet meet these requirements. Summary of the Invention

[0003] The purpose of this invention is to provide a path planning method and device that integrates potential field and A* search.

[0004] To address the above problems, this invention provides a path planning method that integrates potential field and A* search, comprising:

[0005] Step S1: Input the acquired environmental state map, which includes the starting point and ending point of the path planning;

[0006] Step S2: Rasterize the environment state map to obtain a raster map; generate a distance and potential energy lookup table for the current search point, cache obstacle masks, and initialize the priority queue, cost table, and parent node table for A* parameters;

[0007] Step S3: Based on the distance and potential energy lookup table, obstacle mask and initialized A* parameters, perform A* search, and update the priority queue, cost table and parent node table of A* parameters;

[0008] Step S4: Based on the parent node table, determine whether a complete path has been found;

[0009] Step S5: If a complete path is found, perform noise reduction and interpolation on the complete path to generate the actual execution trajectory.

[0010] Furthermore, in the above method, step S2 includes:

[0011] Step S2.1: Rasterize the environmental state map to obtain a raster map; based on the raster map, generate a distance and potential energy lookup table for the current search point, and look up the number of raster grids d between the current search point and the obstacle and the corresponding potential energy value through the distance and potential energy lookup table;

[0012] Step S2.2: Cache the obstacle mask corresponding to the grid map;

[0013] Step S2.3: Initialize A* parameters, including: initializing the priority queue, cost table and parent node table, and adding the starting point of the step grid map as a node to the priority queue.

[0014] Furthermore, in the above method, the formula for calculating the potential energy value is as follows:

[0015] U rep (d)=α·cos(β·d)+γ

[0016] Where α is the potential field amplitude coefficient, used to control the maximum repulsive force intensity;

[0017] β is the decay rate coefficient, used to adjust the range of the potential field. The farther the distance, the faster the repulsive force decays.

[0018] γ is the offset, ensuring U rep (d)≥0.

[0019] Furthermore, in the above method, the priority queue is used to sort nodes according to their cost. Each node in the priority queue records: node position, node cost, and parent node.

[0020] The cost table is used to record the latest cost from the starting point to each node in the raster map;

[0021] The parent node table records the latest parent node for each node in the path.

[0022] Furthermore, in the above method, step S3 includes:

[0023] Step S3.0: Take the node with the lowest current cost from the initialized priority queue. If the node with the lowest current cost is the destination, the search is successful, and the loop is exited to step S4. If the node with the lowest current cost is not the destination, determine whether the cost of the node with the lowest current cost is the latest cost corresponding to that node in the cost table. If the cost of the node with the lowest current cost is the latest cost corresponding to that node in the cost table, go to step S3.1. If the cost of the node with the lowest current cost is not the latest cost corresponding to that node in the cost table, repeat step S3.0.

[0024] Step S3.1: Obtain all neighboring nodes of the node with the minimum current cost in the grid map. Based on the obstacle mask, if the current neighboring node is an obstacle or crosses the boundary, skip the neighboring node and proceed to step S3.2 to continue processing other neighboring nodes that are not obstacles or cross the boundary.

[0025] Step S3.2: For adjacent nodes that are not obstacles or cross boundaries, calculate the actual path length g(n) from the starting point to the adjacent node n via the node with the lowest current cost and the straight-line distance h(n) from the adjacent node n to the destination.

[0026] Step S3.3: Obtain the potential energy value U of the adjacent node from the distance and potential energy lookup table. rep (d) Then, combining the actual path length g(n) from the starting point through the node with the lowest current cost to the adjacent node and the straight-line distance h(n) from the adjacent node to the destination, the total cost f of the node with the lowest current cost relative to the adjacent node is calculated.

[0027] Step S3.4: If the total cost f of the node with the lowest current cost relative to its neighboring nodes is smaller than the cost of the neighboring node previously recorded in the cost table, then update the cost of the neighboring node in the cost table to the smaller total cost f; and record the node with the lowest current cost as the parent node of the neighboring node in the parent node table, and add the node position, latest cost and latest parent node of the neighboring node to the priority queue, then proceed to step S3.0.

[0028] Furthermore, in the above method, the total cost f is calculated using the following formula:

[0029] f = g(n) + h(n) + w rep ·U rep (d)

[0030] Where g(n) represents the actual path length from the starting point to the neighboring node via the node with the minimum current cost; h(n) represents the straight-line distance from the neighboring node to the destination; U rep (d): Potential field value from the adjacent node to the nearest obstacle, where d is the distance from the adjacent node to the nearest obstacle; w rep w represents the potential field weighting coefficient, used to control obstacle avoidance strength. rep >0.

[0031] Furthermore, in the above method, step S4 includes:

[0032] Step S4.1: Starting from the end point, trace back in reverse using the parent node table in the updated priority queue until you return to the starting point. If a complete path from the starting point to the end point is found, then it is determined that a complete path has been found, and proceed to step S5.

[0033] Step S4.2: If no complete path is found, return failure.

[0034] According to another aspect of the present invention, a computer-readable storage medium is also provided, having stored thereon computer-executable instructions, wherein when executed by a processor, the computer-executable instructions cause the processor to perform the method described in any of the preceding claims.

[0035] According to another aspect of the present invention, a calculator device is also provided, comprising:

[0036] Processor; and

[0037] A memory configured to store computer-executable instructions, which, when executed, cause the processor to perform the method described in any of the preceding descriptions.

[0038] Compared with existing technologies, this invention performs A* search based on distance and potential energy lookup tables, obstacle masks, and initialized A* parameters, updating the priority queue, cost table, and parent node table of A* parameters. Based on the parent node table, it determines whether a complete path has been found. If a complete path is found, it performs denoising and interpolation to generate the actual execution trajectory. One of the core innovations of this invention is the introduction of local potential field values ​​during global path search, which provides the algorithm with stronger obstacle avoidance capabilities for path planning in complex environments. The calculation of potential field values ​​is based on a pre-generated lookup table. This method not only improves computational efficiency but also, through the clever use of cosine functions, makes the potential field behave more smoothly near obstacles. Attached Figure Description

[0039] Figure 1 This is a flowchart of a path planning method for fusing potential field and A* search according to an embodiment of the present invention. Detailed Implementation

[0040] The present invention will now be described in further detail with reference to the accompanying drawings.

[0041] In a typical configuration of this application, the terminal, the device of the service network, and the trusted party all include one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0042] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0043] Computer-readable media include both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include non-transitory computer-readable media, such as modulated data signals and carrier waves.

[0044] like Figure 1 As shown, this invention provides a path planning method that integrates potential field and A* search, comprising:

[0045] Step S1: Input the acquired environmental state map, which includes the starting point and ending point of the path planning;

[0046] Specifically, the environmental state map can include information such as obstacles and feasible areas in the scene;

[0047] Step S2: Rasterize the environmental state map obtained in Step S1 to obtain a raster map; generate a distance and potential energy lookup table for the current search point, cache obstacle masks, and initialize the priority queue, cost table, and parent node table of A* parameters;

[0048] Step S2.1: Rasterize the environmental state map obtained in Step S1 to obtain a raster map; based on the raster map, generate a distance and potential energy lookup table for the current search point, and look up the number of raster grids d between the current search point and the obstacle and the corresponding potential energy value U using the distance and potential energy lookup table. rep (d) represents the magnitude of the repulsive potential energy experienced by the robot when the distance between the robot and the obstacle is d;

[0049] U rep (d)=α·cos(β·d)+γ

[0050] Where α is the potential field amplitude coefficient, used to control the maximum repulsive force intensity;

[0051] β is the decay rate coefficient, used to adjust the range of the potential field. The farther the distance, the faster the repulsive force decays.

[0052] γ is the offset, ensuring U rep (d)≥0.

[0053] Specifically, the Artificial Potential Field (APF) method, proposed by Khatib in 1986, is a local path planning algorithm based on a virtual force field. Its basic principle is to treat the robot as a point mass moving in a virtual potential field. The target point generates an attractive force, while obstacles generate a repulsive force. Under the combined effect of these forces, the robot moves towards the target point. Through the combined action of attraction and repulsion, the robot can find a path in the environment that avoids obstacles and reaches the target point.

[0054] The calculation of the gravitational field is usually related to the distance from the robot to the target point. The gravitational potential field function can be expressed as:

[0055]

[0056] Where, k att It is the gravitational coefficient, which determines the magnitude of gravity; d(q, q goal ) represents the distance from the robot's current position q to the target point q. goal The magnitude of gravity is directly proportional to the distance; the greater the distance, the stronger the gravity. This allows the robot to move quickly towards the target point when it is far away. As the robot approaches the target point, the gravity gradually decreases, allowing the robot to reach the target point smoothly. The formula for calculating gravity is:

[0057]

[0058] Here, It is the gradient operator, F att (q) is obtained by finding the gradient of the potential function and then inverting it;

[0059] The calculation of the repulsive field is related to the distance between the robot and the obstacle. The repulsive potential field function is usually expressed as:

[0060]

[0061] Where, k rep It is the repulsion coefficient, d(q, q obs ) represents the distance from the robot's current position q to the obstacle q. obs The distance d0 is the range of the repulsive force. When the robot is less than d0 from the obstacle, the repulsive potential field begins to take effect, and the closer the distance, the stronger the repulsive force. When the robot is greater than d0 from the obstacle, the repulsive force is zero, and the robot is unaffected by the obstacle. The formula for calculating the direction of the repulsive force away from the obstacle is:

[0062]

[0063] The total potential field U(q) acting on the robot is the superposition of the gravitational potential field and the repulsive potential field. The total potential field U(q) and the total force F(q) are respectively:

[0064] Total potential field U(q)=U att (q)+U req (q)

[0065] Total force F(q) = F att (q)+F req (q)

[0066] Under the influence of the total force, the robot moves along the direction of the fastest descent of the potential field, that is, it moves towards the target point and avoids obstacles.

[0067] The problem with traditional potential fields is that they decay too quickly when moving away from obstacles, making them unable to effectively guide the path; when moving closer, the gradient explodes, making them prone to local oscillations.

[0068] The improvement of this invention lies in proposing an adaptive cosine potential field function.

[0069] U rep (d)=α·cos(β·d)+γ.

[0070] Step S2.2: Cache the obstacle mask corresponding to the grid map to facilitate quick location of obstacles when querying potential energy in the lookup table;

[0071] Here, step S2.2 is equivalent to "marking" the obstacles, which facilitates the rapid location of obstacles and improves the efficiency of potential energy query. Rasterization has discretized the continuous environment into individual grid cells, and the obstacle mask is a "binary marker map" that corresponds exactly to the size of the grid map.

[0072] Specifically, each grid cell can correspond to a pixel (or data bit) in the mask; if a grid cell is an obstacle, the corresponding position in the mask is marked as "1" (or other preset identifier); if it is a feasible area, it is marked as "0", thus achieving accurate positioning of the obstacle.

[0073] When calculating the potential energy of nodes, there is no need to traverse the entire original map to determine whether it is an obstacle. Instead, the mask can be quickly queried using grid coordinates. The marker at the corresponding position can be read directly to instantly confirm whether it is an obstacle. This avoids complex environment traversal and greatly improves the efficiency of potential energy query and path search.

[0074] Step S2.3: Initialize A* parameters, including: initializing the priority queue, cost table and parent node table, and putting the starting point of the step grid map as a node into the priority queue to prepare for subsequent searches;

[0075] Here, the priority queue is used to sort nodes according to their cost. Each node in the priority queue records: node position, node cost, and parent node.

[0076] The cost table is used to record the latest cost from the starting point to each node in the raster map;

[0077] The parent node table records the latest parent node for each node in the path.

[0078] Specifically, a priority queue stores "nodes + complete states," not isolated nodes. The purpose of a priority queue is to sort nodes by cost and quickly retrieve the current best node; therefore, it doesn't simply store "node numbers or grid coordinates," but rather "data units" containing the node's core state, typically including at least:

[0079] The position of the node, such as the raster coordinates (x, y);

[0080] The current total cost f of this node (i.e., the newly calculated better cost);

[0081] The parent node information of this node, i.e., the newly determined parent node.

[0082] Step S3: Based on the distance and potential energy lookup table, obstacle mask and initialized A* parameters, perform A* search, and update the priority queue, cost table and parent node table of A* parameters;

[0083] Step S3.0: Perform an A* search. The node with the lowest current cost is retrieved from the initialized priority queue. If the node with the lowest current cost is the destination, the search is successful, and the loop ends, proceeding to step S4. If the node with the lowest current cost is not the destination, it is determined whether the cost of the node with the lowest current cost is the latest cost corresponding to that node in the cost table. If the cost of the node with the lowest current cost is the latest cost corresponding to that node in the cost table, proceed to step S3.1. If the cost of the node with the lowest current cost is not the latest cost corresponding to that node in the cost table, step S3.0 is re-executed to retrieve the next node with the lowest current cost from the priority queue.

[0084] Specifically, the node with the lowest current cost is retrieved from the initialized priority queue. Here, it is necessary to compare the cost table to see if the node with the lowest current cost is the latest cost. If not, skip it and continue to retrieve the next node with the lowest current cost from the priority queue.

[0085] The priority queue employs a strategy of "adding better nodes rather than modifying old nodes." Therefore, the priority queue may contain multiple states of the same node. For example, node A's old state has a cost of 10, and its new state has a cost of 8; both are in the queue. When the node with the lowest current cost is removed from the queue, that node might be:

[0086] The latest optimal state of this node has the same cost as the current minimum cost recorded in the cost table;

[0087] Alternatively, the node's outdated state, which has a cost higher than the current minimum cost recorded in the cost table, has been covered by a better path.

[0088] If old state nodes are processed directly without verification, it will lead to invalid node expansion, waste computing resources, and may even generate suboptimal paths.

[0089] In step S3.0, the cost of retrieving a node is compared with the "current minimum cost" of that node in the cost table: if the cost of retrieving a node is equal to the record in the cost table, it means that it is the latest state, and the node expansion step in step S3.1 is continued; if the cost of retrieving a node is greater than the record in the cost table, it means that it is an outdated old state, and the node is skipped directly, returning to the beginning of step S3.0, and the next node with the minimum cost is retrieved from the priority queue.

[0090] For example, the current minimum cost of node B in the cost table is 7, and the latest path is recorded.

[0091] There are two states of node B in the priority queue: cost 9 (old state) and cost 7 (new state).

[0092] The priority queue first pops node B (minimum cost) with a cost of 7;

[0093] Verification: If 7 equals record (7) in the cost table, then it is valid and node expansion is performed;

[0094] If node B (old state) with a cost of 9 pops up subsequently;

[0095] Verification: If 9 is greater than the record (7) in the cost table, it means it is invalid. Skip it directly and continue to the next node.

[0096] By combining the cost table and the priority queue in a two-way manner, redundant states are allowed in the queue to ensure insertion efficiency, while invalid states are filtered out through verification to avoid invalid calculations. Ultimately, this ensures that the algorithm always expands based on the "latest optimal node" to find the optimal path from the starting point to the end point.

[0097] Step S3.1: Perform node expansion, wherein all neighboring nodes of the node with the lowest current cost in the grid map are obtained, and based on the obstacle mask, if the current neighboring node is an obstacle or crosses the boundary, the neighboring node is skipped and the process proceeds to step S3.2 to continue processing other neighboring nodes that are not obstacles or cross the boundary.

[0098] Here, through the structure of the grid map, the grids surrounding each node (usually in the up, down, left, right, and diagonal directions, depending on the definition of the grid neighborhood) can be clearly identified. The nodes corresponding to these grids are the adjacent nodes, and then obstacles or boundary crossings are judged for these adjacent nodes.

[0099] Step S3.2: For the adjacent nodes that are not obstacles or out of bounds obtained in step S3.1, calculate the actual path length g(n) from the starting point to the adjacent node n via the node with the lowest current cost and the straight-line distance h(n) from the adjacent node n to the destination.

[0100] Step S3.3: Dynamically calculate the potential energy. First, quickly obtain the potential energy value U of the adjacent nodes from the distance and potential energy lookup table described in step S2.1. rep (d) Then, combined with the actual path length g(n) from the starting point through the node with the lowest current cost to the adjacent node and the straight-line distance h(n) from the adjacent node to the destination calculated in step S3.2, the total cost f of the node with the lowest current cost relative to the adjacent node is calculated.

[0101] f = g(n) + h(n) + w rep ·U rep (d)

[0102] Where g(n) represents the actual path length from the starting point to the neighboring node via the node with the minimum current cost; h(n) represents the straight-line distance from the neighboring node to the destination; U rep (d): Potential field value from the adjacent node to the nearest obstacle, where d is the distance from the adjacent node to the nearest obstacle; w rep w represents the potential field weighting coefficient, used to control obstacle avoidance strength. rep >0.

[0103] Specifically, the A* algorithm, as a classic heuristic search algorithm, has wide applications in path planning. Its core principle is to find the optimal path through an evaluation function. The evaluation function of the A* algorithm is:

[0104] f(n) = g(n) + h(n)

[0105] Here, g(n) represents the actual cost from the starting point to node n, which is usually calculated based on the distance between nodes or the cost of movement. In a two-dimensional grid map, if the side length of each grid is 1, and the cost for the robot to move from one grid to an adjacent grid is 1, then g(n) is the number of grids traversed from the starting point to node n multiplied by 1.

[0106] h(n) is the estimated cost from node n to the target point, also known as the heuristic function, and it is the key to the A* algorithm. The heuristic function guides the search towards the target point, thereby improving search efficiency. A commonly used heuristic function is the Manhattan distance, which is the sum of the horizontal and vertical distances between two points in a Cartesian coordinate system. For node n(x... n y n ) and target point t(x) t y t The formula for calculating Manhattan distance is:

[0107] h(n) = |x n -x t |+|y n -y t |

[0108] The limitation of traditional A* is that the cost function of traditional A* algorithm only considers the path length g and the heuristic estimate h, without incorporating environmental obstacle information, and is prone to generating high-risk paths that are close to obstacles.

[0109] This invention incorporates an improved design: the potential field value U is introduced. rep As a quantitative indicator of environmental safety, a hybrid cost function is constructed:

[0110] f = g + h + w rep ·U rep .

[0111] Through the above potential field term w rep ·U rep The algorithm actively avoids areas with dense obstacles during the search process, generates a safe buffer zone, and ensures global optimality.

[0112] Obstacle masks are "quick marking tools" for obstacles in raster maps, used in calculating U... rep (d) It needs to be judged first:

[0113] If an adjacent node is itself an obstacle (marked as "1" in the mask), then skip that node directly, meaning that step S3.1 has already filtered it, and there is no need to calculate f;

[0114] If an adjacent node is a feasible region (marked as "0" in the mask), then the distance d from that node to the nearest obstacle needs to be calculated further, and then U is obtained through the potential energy lookup table. rep (d)

[0115] Step S3.4: Update the preferred queue. If the total cost f of the node with the lowest current cost relative to its neighboring nodes is smaller than the cost of the neighboring node previously recorded in the cost table, it indicates that a better path has been found from the node with the lowest current cost to the neighboring node. In this case, the cost of the neighboring node in the cost table is updated to the smaller total cost f. The node with the lowest current cost is recorded as the parent node of the neighboring node in the parent node table. The node position, latest cost, and latest parent node of the neighboring node are added to the priority queue. Then, proceed to step S3.0.

[0116] Here, when the total cost f of a certain adjacent node is calculated to be smaller than the cost previously recorded in the cost table, it indicates that a better path from the starting point to the adjacent node has been found. In this case, the cost of the adjacent node in the cost table is updated to the smaller total cost f; and the node with the smallest current cost is recorded in the parent node table as the parent node of the adjacent node to clarify the connection relationship of the path.

[0117] Here, these updates are synchronized to the cost table and the parent node table, and the priority queue is updated at the same time (to ensure that the cost of the nodes in the queue is up-to-date, so that the node with the lowest cost can be expanded first). When updating the priority queue, the "latest cost and latest parent node" of the adjacent nodes need to be bound to the node itself before being added back to the priority queue, rather than just adding the node.

[0118] Through continuous updates, the algorithm can continuously optimize the path cost of each node during the search process, ultimately ensuring that the optimal path from the starting point to the destination is found. At the same time, it accurately records the node connection relationships of the path so that the complete path can be reconstructed later.

[0119] The search process of the A* algorithm is a "multi-path exploration". The same adjacent node may be discovered through different "parent nodes". The cumulative cost and potential field influence of different paths are different, which ultimately leads to differences in the total cost f.

[0120] The difference in total cost f is caused by the different parent nodes, which is reflected in the difference in g(n):

[0121] The total cost f_1 = g_1 + h + w for g_1(n) from parent node 1 to adjacent nodes. rep ·U rep ;

[0122] The total cost f_2 = g_2 + h + w is the cost of g_2(n) from parent node 2 to adjacent nodes (g_2 is not equal to g_1). rep ·Urep ;

[0123] By comparing the sizes of f_1 and f_2, the optimal parent node is selected, which corresponds to the one with smaller f.

[0124] Specifically, the cost table and parent node table are "global state recorders" used to persistently store the latest optimal state of each node (i.e., the current minimum cost and its corresponding parent node). When a better path is found, these two tables are updated first to ensure that any subsequent operations (such as determining whether the old state of a node is valid) are based on the latest information.

[0125] Priority queue: This is the "task scheduler" used to sort nodes by their current cost and determine the next node to be expanded. It relies on the "new cost" after the cost table is updated to determine node priority. Therefore, "node + new cost + new parent node" needs to be added to the queue as a complete unit to implement the scheduling logic of "sorting by new cost".

[0126] Assuming the adjacent node is grid (3,4), the previous cost was 15, and the parent node is (2,4); now the calculated better cost is 10, and the parent node is the current node (3,3):

[0127] First, update the cost table: change the cost corresponding to (3,4) from 15 to 10;

[0128] Then update the parent node table: change the parent node corresponding to (3,4) from (2,4) to (3,3);

[0129] Finally, add the complete unit "node (3,4) + cost 10 + parent node (3,3)" to the priority queue;

[0130] The priority queue may still contain the old state "node (3,4) + cost 15 + parent node (2,4)", but when retrieving nodes later, the new unit with cost 10 will be retrieved first; when processing the old unit with cost 15, the latest cost of (3,4) is found to be 10 (less than 15) by querying the cost table, and the old unit will be skipped directly.

[0131] Step S4: Based on the parent node table, determine whether a complete path has been found;

[0132] Step S4.1: Starting from the end point, trace back in reverse using the parent node table in the priority queue updated in step S3.4 until returning to the starting point. If a complete path from the starting point to the end point is found, it is determined that a complete path has been found, and proceed to step S5 for path post-processing.

[0133] Step S4.2: If no complete path is found, return failure;

[0134] Step S5: If a complete path is found, perform denoising and interpolation on the complete path found in step S4.1 to generate a trajectory that can be actually executed; among them, denoising will smooth out unnecessary small jitters, and interpolation will connect discrete grid points into a continuous and smooth path.

[0135] Specifically, the pseudocode of an embodiment of the algorithm of the present invention can be as follows:

[0136]

[0137]

[0138] According to another aspect of the present invention, a computer-readable storage medium is also provided, having stored thereon computer-executable instructions, wherein when executed by a processor, the computer-executable instructions cause the processor to perform the method described in any of the preceding claims.

[0139] According to another aspect of the present invention, a calculator device is also provided, comprising:

[0140] Processor; and

[0141] A memory configured to store computer-executable instructions, which, when executed, cause the processor to perform the method described in any of the preceding descriptions.

[0142] From the perspective of promoting industrial automation, the improved navigation performance of AMRs (Automatic Mobile Rovers), as key equipment in industrial automation, will have a positive impact on the entire industrial automation process. More efficient and safer AMR navigation algorithms will enable AMRs to play a greater role in industrial production, further improving production efficiency, reducing production costs, and driving industrial production towards intelligence and automation. In the logistics and warehousing industry, optimized AMR navigation algorithms can make logistics and distribution more efficient and accurate, improving the operational efficiency of the entire logistics system and meeting the growing demands of e-commerce logistics. In the manufacturing industry, improved AMR navigation performance can achieve closer integration of production lines, enhance production synergy and flexibility, and promote the development of intelligent manufacturing.

[0143] Research on navigation algorithms for autonomous mobile robots (AMRs) is of great significance for improving production efficiency, enhancing logistics efficiency, improving airport baggage handling services, expanding the application areas of robots, and promoting technological innovation.

[0144] One of the core innovations of this invention is the introduction of local potential field values ​​during global path search, which provides the algorithm with stronger obstacle avoidance capabilities for path planning in complex environments. The calculation of potential field values ​​is based on a pre-generated lookup table. This method not only improves computational efficiency but also, through the clever use of cosine functions, makes the potential field behave more smoothly near obstacles.

[0145] For detailed descriptions of the various device embodiments of the present invention, please refer to the corresponding sections of the various method embodiments; they will not be repeated here.

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

[0147] It should be noted that the present invention can be implemented in software and / or a combination of software and hardware, for example, using an application-specific integrated circuit (ASIC), a general-purpose computer, or any other similar hardware device. In one embodiment, the software program of the present invention can be executed by a processor to implement the steps or functions described above. Similarly, the software program of the present invention (including associated data structures) can be stored in a computer-readable recording medium, such as RAM memory, a magnetic or optical drive, a floppy disk, or similar devices. Furthermore, some steps or functions of the present invention can be implemented in hardware, for example, as circuitry that works with a processor to perform the various steps or functions.

[0148] Furthermore, a portion of this invention can be applied as a computer program product, such as computer program instructions, which, when executed by a computer, can invoke or provide the methods and / or technical solutions according to the invention through the operation of the computer. The program instructions invoking the methods of the invention may be stored in a fixed or removable recording medium, and / or transmitted via a data stream in a broadcast or other signal-carrying medium, and / or stored in the working memory of a computer device operating according to the program instructions. Here, an embodiment of the invention includes an apparatus comprising a memory for storing computer program instructions and a processor for executing the program instructions, wherein, when the computer program instructions are executed by the processor, the apparatus is triggered to operate the methods and / or technical solutions based on the foregoing embodiments of the invention.

[0149] It will be apparent to those skilled in the art that the present invention is not limited to the details of the exemplary embodiments described above, and that the invention can be implemented in other specific forms without departing from the spirit or essential characteristics of the invention. Therefore, the embodiments should be considered illustrative and non-limiting in all respects, and the scope of the invention is defined by the appended claims rather than the foregoing description. Thus, all variations falling within the meaning and scope of equivalents of the claims are intended to be embraced within the present invention. No reference numerals in the claims should be construed as limiting the scope of the claims. Furthermore, it is clear that the word "comprising" does not exclude other units or steps, and the singular does not exclude the plural. Multiple units or devices recited in the apparatus claims may also be implemented by a single unit or device in software or hardware. The terms "first," "second," etc., are used to indicate names and do not indicate any particular order.

Claims

1. A path planning method integrating potential field and A* search, characterized in that, include: Step S1: Input the acquired environmental state map, which includes the starting point and ending point of the path planning; Step S2: Rasterize the environment state map to obtain a raster map; generate a distance and potential energy lookup table for the current search point, cache obstacle masks, and initialize the priority queue, cost table, and parent node table for A* parameters; Step S3: Based on the distance and potential energy lookup table, obstacle mask and initialized A* parameters, perform A* search, and update the priority queue, cost table and parent node table of A* parameters; Step S4: Based on the parent node table, determine whether a complete path has been found; Step S5: If a complete path is found, perform noise reduction and interpolation on the complete path to generate the actual execution trajectory.

2. The path planning method integrating potential field and A* search as described in claim 1, characterized in that, Step S2 includes: Step S2.1: Rasterize the environmental state map to obtain a raster map; based on the raster map, generate a distance and potential energy lookup table for the current search point, and look up the number of raster grids d between the current search point and the obstacle and the corresponding potential energy value through the distance and potential energy lookup table; Step S2.2: Cache the obstacle mask corresponding to the grid map; Step S2.3: Initialize A* parameters, including: initializing the priority queue, cost table and parent node table, and adding the starting point of the step grid map as a node to the priority queue.

3. The path planning method integrating potential field and A* search as described in claim 2, characterized in that, The formula for calculating the potential energy value is as follows: U rep (d)=α·cos(β·d)+γ Where α is the potential field amplitude coefficient, used to control the maximum repulsive force intensity; β is the decay rate coefficient, used to adjust the range of the potential field. The farther the distance, the faster the repulsive force decays. γ is the offset, ensuring U rep (d)≥0.

4. The path planning method for integrating potential field and A* search as described in claim 2, characterized in that, The priority queue is used to sort nodes according to their cost. Each node in the priority queue records: node position, node cost, and parent node. The cost table is used to record the latest cost from the starting point to each node in the raster map; The parent node table records the latest parent node for each node in the path.

5. The path planning method integrating potential field and A* search as described in claim 1, characterized in that, Step S3 includes: Step S3.0: Take the node with the lowest current cost from the initialized priority queue. If the node with the lowest current cost is the destination, the search is successful, and the loop is exited to step S4. If the node with the lowest current cost is not the destination, determine whether the cost of the node with the lowest current cost is the latest cost corresponding to that node in the cost table. If the cost of the node with the lowest current cost is the latest cost corresponding to that node in the cost table, go to step S3.

1. If the cost of the node with the lowest current cost is not the latest cost corresponding to that node in the cost table, repeat step S3.

0. Step S3.1: Obtain all neighboring nodes of the node with the minimum current cost in the grid map. Based on the obstacle mask, if the current neighboring node is an obstacle or crosses the boundary, skip the neighboring node and proceed to step S3.2 to continue processing other neighboring nodes that are not obstacles or cross the boundary. Step S3.2: For adjacent nodes that are not obstacles or cross boundaries, calculate the actual path length g(n) from the starting point to the adjacent node n via the node with the lowest current cost and the straight-line distance h(n) from the adjacent node n to the destination. Step S3.3: Obtain the potential energy value U of the adjacent node from the distance and potential energy lookup table. rep (d) Then, combining the actual path length g(n) from the starting point through the node with the lowest current cost to the adjacent node and the straight-line distance h(n) from the adjacent node to the destination, the total cost f of the node with the lowest current cost relative to the adjacent node is calculated. Step S3.4: If the total cost f of the node with the lowest current cost relative to its neighboring nodes is smaller than the cost of the neighboring node previously recorded in the cost table, then update the cost of the neighboring node in the cost table to the smaller total cost f; and record the node with the lowest current cost as the parent node of the neighboring node in the parent node table, and add the node position, latest cost and latest parent node of the neighboring node to the priority queue, then proceed to step S3.

0.

6. The path planning method for integrating potential field and A* search as described in claim 5, characterized in that, The total cost f is calculated using the following formula: f=g(n)+h(n)+w rep ·U rep (d) Where g(n) represents the actual path length from the starting point to the neighboring node via the node with the minimum current cost; h(n) represents the straight-line distance from the neighboring node to the destination; U rep (d): Potential field value from the adjacent node to the nearest obstacle, where d is the distance from the adjacent node to the nearest obstacle; w rep w represents the potential field weighting coefficient, used to control obstacle avoidance strength. rep >0.

7. The path planning method integrating potential field and A* search as described in claim 1, characterized in that, Step S4 includes: Step S4.1: Starting from the end point, trace back in reverse using the parent node table in the updated priority queue until you return to the starting point. If a complete path from the starting point to the end point is found, then it is determined that a complete path has been found, and proceed to step S5. Step S4.2: If no complete path is found, return failure.

8. A computer-readable storage medium having stored thereon computer-executable instructions, wherein, When the computer-executable instructions are executed by the processor, the processor causes the processor to perform the method as described in any one of claims 1 to 7.

9. A calculator device, wherein, include: processor; as well as A memory configured to store computer-executable instructions, which, when executed, cause the processor to: perform the method as described in any one of claims 1 to 7.