Robot path planning method and device, electronic equipment and storage medium

By constructing and mapping obstacle regions as convex polygons to form convex safe regions, the problem of low quality path planning in dynamic obstacle environments in existing technologies is solved, realizing collision-free and optimized path planning, which is suitable for robots in complex environments.

CN120991865APending Publication Date: 2025-11-21UBTECH ROBOTICS CORP LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202511145567.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-14
Publication Date
2025-11-21

AI Technical Summary

Technical Problem

Existing robot path planning methods suffer from low quality when faced with dynamic obstacles and multi-objective requirements, and cannot effectively meet the robot's dynamic and kinematic constraints, resulting in invalid or deviated paths from the obstacle area during execution.

Method used

By constructing an obstacle region containing path nodes, mapping it to a convex polygon, and processing boundary points, the obstacle region is reduced to form a convex safe region. An optimization function is constructed and solved to ensure that the path nodes are within the safe region. Convex constraints are used for path optimization.

Benefits of technology

It improves the solution quality of path planning, ensures the collision-free nature and optimization performance of the path, is suitable for the real-time path planning needs of robots, reduces computational complexity, and improves path optimization efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120991865A_ABST
    Figure CN120991865A_ABST
Patent Text Reader

Abstract

The invention provides a path planning method and device of a robot, electronic equipment and a storage medium. The method comprises the following steps: aiming at each path node in a first path of a robot in a map, constructing a first obstacle area containing the path nodes according to a preset radius; performing first mapping processing on first obstacle nodes in the first obstacle area to obtain a convex polygon containing the first obstacle nodes; performing second mapping processing on the boundary points of the convex polygon to obtain a second obstacle area including second obstacle nodes; reducing the second obstacle area according to a preset distance to obtain a convex safety area for avoiding the second obstacle node; and an optimization function of the first path is constructed, the optimization function is solved based on the convex safety area, a second path is determined according to a solving result, and path nodes in the second path are included in the convex safety area. Through the method and the device, the solution quality of path optimization can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a path planning method, apparatus, electronic device and storage medium for a robot. Background Technology

[0002] Robots are widely used across various industries. For example, robots can automatically enter rooms to perform tasks through path planning. They can identify the open / closed state of doors using visual algorithms and plan their paths accordingly. Path planning is a crucial task in robotics, enabling robots to find the optimal or most suitable path to a specific target point in a complex environment. Related robot path planning methods typically assume a static environment. However, in practical applications, the environment often contains dynamic obstacles, causing the planned path to become invalid during execution. Furthermore, when multiple objectives need to be satisfied simultaneously, the poor dynamic planning capability leads to low-quality planned paths. Summary of the Invention

[0003] This application provides a robot path planning method, apparatus, electronic device, and storage medium, which can improve the solution quality of path optimization.

[0004] The technical solution of this application embodiment is implemented as follows:

[0005] This application provides a path planning method for a robot, the method comprising:

[0006] For each path node in the first path of the robot on the map, a first obstacle region containing the path node is constructed according to a preset radius;

[0007] A first mapping process is performed on the first obstacle node in the first obstacle region to obtain a convex polygon containing the first obstacle node;

[0008] The boundary points of the convex polygon are subjected to a second mapping process to obtain a second obstacle region containing the second obstacle node;

[0009] The second obstacle area is reduced according to a preset distance to obtain a convex safe area for avoiding the second obstacle node;

[0010] An optimization function for the first path is constructed, and the optimization function is solved based on the convex safe region. A second path is determined based on the solution result, wherein the path nodes in the second path are contained within the convex safe region.

[0011] This application provides a path planning device for a robot, comprising:

[0012] The region determination module is used to construct a first obstacle region containing each path node in the first path of the robot on the map according to a preset radius; perform a first mapping process on the first obstacle node in the first obstacle region to obtain a convex polygon containing the first obstacle node; perform a second mapping process on the boundary points of the convex polygon to obtain a second obstacle region containing second obstacle nodes; and perform a shrinking process on the second obstacle region according to a preset distance to obtain a convex safe region that avoids the second obstacle node.

[0013] The path optimization module is used to construct the optimization function of the first path, solve the optimization function based on the convex safe region, and determine the second path according to the solution result, wherein the path nodes in the second path are contained within the convex safe region.

[0014] This application provides an electronic device, the electronic device comprising:

[0015] Memory is used to store executable instructions or computer programs.

[0016] The processor, when executing computer-executable instructions or computer programs stored in the memory, implements the path planning method for the robot provided in the embodiments of this application.

[0017] This application provides a computer-readable storage medium storing a computer program or computer-executable instructions for implementing the robot path planning method provided in this application when executed by a processor.

[0018] The embodiments of this application have the following beneficial effects:

[0019] For each path node of the first path, a first obstacle region containing the path node is constructed according to a preset radius, achieving preliminary localization and range determination of obstacles around the path. A first mapping process is performed on the first obstacle nodes in the first obstacle region, transforming the scattered obstacle nodes into continuous convex polygons. The convex polygons simplify the geometric representation of the obstacles, avoiding the irregularities of discrete first obstacle nodes, thus transforming the first obstacle region from a discrete set of points into a continuous convex region. A second mapping process is performed on the boundary points of the convex polygons. Based on the geometric transformation of the boundary points, the computational load is reduced. The second mapping process further refines the boundaries, resulting in a second obstacle region that better conforms to the actual obstacle contours. The second obstacle region is then reduced in size according to a preset distance. This preset distance ensures a fixed safe distance between the safe area and the second obstacle nodes, preventing collisions even if the robot has positioning errors, motion drift, or control delays, thus obtaining a convex safe area that avoids the second obstacle nodes and ensuring the collision-free nature of the path. An optimization function for the first path is constructed and solved based on a convex safe region. This makes the constraints of path planning convex, reducing the computational complexity of path planning, suitable for the real-time path planning needs of robots, and improving the efficiency of path optimization. A second path is determined based on the solution results. The nodes of the second path are strictly constrained within the convex safe region, ensuring the collision-free nature of the second path. The objective of solving the optimization function ensures that the path has optimal performance under safe conditions, improving path quality. Attached Figure Description

[0020] Figure 1 This is a schematic diagram illustrating the application mode of the robot path planning method provided in the embodiments of this application;

[0021] Figure 2 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application;

[0022] Figure 3A This is a first flowchart illustrating the robot path planning method provided in this application embodiment;

[0023] Figure 3B This is a second flowchart illustrating the robot path planning method provided in this application embodiment;

[0024] Figure 4 This is a schematic diagram illustrating the principle of the scaling process provided in the embodiments of this application;

[0025] Figure 5 This is a schematic diagram of a security corridor provided in an embodiment of this application.

[0026] It should be noted that the terms "first" and "second" mentioned above are only used to distinguish between different options and do not represent the degree of superiority or inferiority of the options or their priority in the implementation process. Detailed Implementation

[0027] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0028] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0029] In the following description, the terms "first, second, third" are used merely to distinguish similar objects and do not represent a specific ordering of objects. It is understood that "first, second, third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.

[0030] In this application embodiment, the terms "module" or "unit" refer to a computer program or part of a computer program that has a predetermined function and works with other related parts to achieve a predetermined goal, and can be implemented wholly or partially using software, hardware (such as processing circuitry or memory), or a combination thereof. Similarly, a processor (or multiple processors or memory) can be used to implement one or more modules or units. Furthermore, each module or unit can be part of an overall module or unit that includes the functionality of that module or unit.

[0031] Unless otherwise defined, all technical and scientific terms used in the embodiments of this application have the same meaning as commonly understood by one of ordinary skill in the art. The terminology used in the embodiments of this application is for the purpose of describing the embodiments of this application only and is not intended to limit this application.

[0032] In this application embodiment, the collection and processing of relevant data (e.g., map data) should strictly comply with the requirements of relevant laws and regulations, obtain the informed consent or separate consent of the personal information subject, and carry out subsequent data use and processing within the scope of laws and regulations and the authorization of the personal information subject.

[0033] Before providing a further detailed description of the embodiments of this application, the nouns and terms involved in the embodiments of this application will be explained, and the nouns and terms involved in the embodiments of this application shall be interpreted as follows.

[0034] 1) Grid Map: A grid map is an environmental representation method that discretizes continuous space into regular grid cells (called "grids" or "pixels"). Grid maps discretize the physical environment space into regular grids (usually squares or rectangles), forming a large number of evenly distributed grid cells. Each grid cell stores a value representing a map attribute. A common approach uses three states: occupied, idle, and unknown to indicate whether a grid cell is occupied; this is called an occupancy grid map. Grid maps are commonly used in robot navigation, planning motion trajectories within idle grid cells. A grid map refers to a two-dimensional planar map.

[0035] 2) Path planning: This refers to the process of finding the optimal path from a starting point to a destination in a given environment. The sequence of points or curves connecting the starting and ending points is called a path. It has wide applications in real life, including autonomous driving, logistics delivery, and robot navigation.

[0036] 3) A* Algorithm (AStar): This is a heuristic search algorithm that combines the advantages of Breadth-First Search (BFS) and Depth-First Search (DFS). It selects the optimal path by evaluating the cost of each node. The A* algorithm incorporates global information during path planning, estimating the distance of the current node to the destination and determining the probability that the node is on the shortest path, thus selecting the direction with the least cost to expand nodes. By iteratively traversing surrounding node information with given map information to find the best path, it exhibits good stability.

[0037] 4) Safe Corridor: In a complex environment, a continuous, collision-free, and passable safe passageway is planned geometrically or topologically for mobile entities (such as robots, drones, vehicles, or personnel) to prevent collisions with obstacles when moving within the area. In this embodiment, the safe corridor is a continuous passageway constructed in the environment that extends along a planned path and meets safety constraints, ensuring that the robot can effectively avoid obstacles when moving within the area.

[0038] 5) Interior-Point Method: This is a numerical algorithm for solving constrained optimization problems. By introducing a barrier function, it transforms the constrained optimization problem into an unconstrained sequential minimization problem. It generates a central path within the feasible region and gradually converges to the optimal solution along the central path. It is suitable for handling optimization problems with inequality constraints, such as linear programming and convex quadratic programming.

[0039] In the field of robotics, path planning is a crucial task, enabling robots to find an optimal or most suitable path in complex environments to reach a specific target point. Related robot path planning methods typically assume a static environment. However, in practical applications, the environment often contains dynamic obstacles, causing the planned path to become invalid during execution. Furthermore, when multiple objectives need to be satisfied simultaneously, the path's dynamic planning capability is poor, resulting in low-quality planned paths.

[0040] In related technologies, path planning algorithms can quickly generate a collision-free path from the starting point to the ending point in complex environments. However, the generated path is discrete and non-smooth, and cannot directly satisfy the robot's dynamics and kinematic constraints. It is only suitable for coarse navigation, not a controllable motion trajectory. Trajectory optimization methods can generate continuous trajectories, which can not only avoid obstacles but also satisfy a series of physical constraints, making them more suitable for direct use in robot controllers. In related technologies, nonlinear optimizers are used to directly solve the trajectory. If the complete optimization problem is directly input into the solver for trajectory solving, the nonlinear optimizer is prone to getting trapped in local optima or failing to converge when the initial solution is poor. It also lacks a suitable modeling method for obstacle constraints, resulting in an excessively small feasible region and causing solution failure. Unstructured optimization of path nodes can cause the trajectory to deviate into the obstacle region.

[0041] This application provides a robot path planning method, a robot path planning device, an electronic device, and a computer-readable storage medium, which can improve the solution quality of path optimization.

[0042] The following describes exemplary applications of the electronic devices provided in the embodiments of this application. These devices can be implemented as various types of terminals such as laptops, tablets, desktop computers, set-top boxes, smartphones, smart speakers, smartwatches, smart TVs, and in-vehicle terminals, or as servers. Exemplary applications when the device is implemented as a terminal or server will be described below.

[0043] See Figure 1 , Figure 1 This is a schematic diagram illustrating the application mode of the robot path planning method provided in this application embodiment. It is an example to support a robot path planning application. Figure 1 The system involves a server 200, a network 300, and a terminal device 400. The terminal device 400 is equipped with an application that can control the movement of the robot. The terminal device 400 is connected to the server 200 through the network 300, which can be a wide area network, a local area network, or a combination of both.

[0044] In some embodiments, the present application embodiments can be implemented collaboratively by a server and a terminal device. For example, the user can be someone skilled in the art, the server 200 is a server for robot path planning, and the terminal device 400 is a terminal operated by the user. The terminal device 400 sends a path planning request to the server 200. The server 200 receives the path planning request, determines the convex safe region of the robot in the map using the robot path planning method provided in the present application embodiments, constructs an optimization function for the path, solves the optimization function based on the constraints of the convex safe region, and obtains the optimized path, which is then sent to the terminal device 400.

[0045] The robot path planning method provided in this application can be applied to various scenarios that require robot path planning, such as autonomous driving, robotic vacuum cleaners, and drone delivery. Examples are given below.

[0046] 1) In the field of autonomous driving, for example, the terminal device receives the driver's real-time path planning request. The real-time path planning request control server quickly divides the convex safe area in the current high-precision map through the robot's path planning method, and solves a safe and smooth trajectory under the constraint of the convex safe area. The driverless vehicle (i.e. the mobile robot that undertakes the driving task) performs driving tasks in different driving environments according to the solved trajectory, and assists the driver in avoiding obstacles in the driving environment.

[0047] 2) In the field of robotic vacuum cleaners, for example, when a terminal device receives a user's request to clean a room, the server generates a convex safe area of ​​the room based on a real-time grid map using the robot's path planning method. Within the convex safe area, a coverage cleaning path is obtained to guide the robotic vacuum cleaner to efficiently complete full coverage cleaning of the specified area.

[0048] 3) In the field of drone delivery, for example, the terminal device receives the delivery request from the staff. The delivery request control server uses the robot's path planning method to establish a convex safe area in the three-dimensional airspace to avoid buildings and no-fly zones. Under the constraint of the convex safe area, the optimized path is obtained. The drone (i.e. the robot used for aerial operations) executes the delivery task according to the optimized path obtained by the solution, completes the accurate delivery of the package and automatically returns.

[0049] See Figure 2 , Figure 2 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application. Figure 2The server 200 shown includes at least one processor 410 and memory 450. Various components in the server 200 are coupled together via a bus system 440. It is understood that the bus system 440 is used to implement communication between these components. In addition to a data bus, the bus system 440 also includes a power bus, a control bus, and a status signal bus. However, for clarity, ... Figure 2 The general labeled all buses as Bus System 440.

[0050] The processor 410 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor, etc.

[0051] The memory 450 may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state storage, hard disk drives, optical disk drives, etc. The memory 450 may optionally include one or more storage devices physically located away from the processor 410.

[0052] The memory 450 may include volatile memory or non-volatile memory, or both. The non-volatile memory may be read-only memory (ROM), and the volatile memory may be random access memory (RAM). The memory 450 described in this application embodiment is intended to include any suitable type of memory.

[0053] In some embodiments, memory 450 is capable of storing data to support various operations, examples of which include programs, modules, and data structures or subsets or supersets thereof, as illustrated below.

[0054] Operating system 451 includes system programs for handling various basic system services and performing hardware-related tasks, such as the framework layer, core library layer, driver layer, etc., for implementing various basic business functions and handling hardware-based tasks;

[0055] The network communication module 452 is used to reach other electronic devices via one or more (wired or wireless) network interfaces 420, exemplary network interfaces 420 including Bluetooth, WiFi, and Universal Serial Bus (USB).

[0056] In some embodiments, the robot path planning device provided in this application can be implemented in software. Figure 2 A path planning device 455 for a robot, stored in memory 450, is shown. This device can be software in the form of programs and plug-ins, and includes the following software modules: an initial path generation module 4551, a region determination module 4552, and a path optimization module 4553. These modules are logically linked and can therefore be arbitrarily combined or further separated according to their implemented functions. The functions of each module will be described below.

[0057] The path planning method for robots provided in this application will be described by referring to exemplary applications and implementations of the electronic devices provided in the embodiments of this application.

[0058] The following describes the robot path planning method provided in the embodiments of this application. As mentioned above, the electronic device implementing the robot path planning method in the embodiments of this application can be a terminal, a server, or a combination of both. Therefore, the executing entity of each step will not be described again below.

[0059] See Figure 3A , Figure 3A This is a first flowchart illustrating the robot path planning method provided in this application embodiment, which will be combined with... Figure 3A The steps shown are explained below. Figure 3A The implementing body is Figure 1 Server 200.

[0060] In step 101, for each path node in the robot's first path on the map, a first obstacle region containing the path node is constructed according to a preset radius.

[0061] In some embodiments, the first path is the robot's initial path on the map, consisting of multiple path nodes, each of which includes a corresponding two-dimensional coordinate. For each path node in the robot's first path on the map, the coordinates of the current path node are read, and a circular area is formed with the coordinates of the path node as the center and a preset radius is set. This circular area is used as the first obstacle area containing the path node.

[0062] The preset radius can be set by the map resolution and the robot's model parameters. In this embodiment, the map is a grid map, which discretizes the physical environment space into a regular grid (usually squares or rectangles), forming a large number of uniformly distributed grid cells. The side length of the grid cell is extracted from the map configuration parameters and represented as r. cell The radius of the robot profile is extracted from the robot's specifications and denoted as r. robotSet a distance of two or three times the radius of the robot's outline as a safety buffer distance, denoted as d. buffer The radius of the robot's outline is calculated by summing the radius and the safety distance. The sum is then rounded up to an integer multiple of the grid cell side length, and the rounded result is used as the preset radius for each path node. The first obstacle region is the feasible range of a path node. This first obstacle region may contain obstacle nodes, which are used for obstacle node mapping and convex polygon calculation in subsequent steps.

[0063] In some embodiments, see Figure 3B , Figure 3B This is a second flowchart illustrating the robot path planning method provided in this application embodiment; the first path in step 101 can be executed... Figure 3B Steps 201 to 206 are implemented, and the details are explained below.

[0064] In step 201, the robot's starting node and multiple neighboring nodes are determined in the map, and the starting node is added to the open list.

[0065] In some embodiments, a starting node corresponding to the robot's starting position is determined in the map, along with multiple neighboring nodes adjacent to the starting node in the map. These neighboring nodes are nodes that can be directly reached from the starting node. The starting node is added to an open list, which is a list used to store path nodes to be evaluated. These path nodes are those whose path costs have not yet been calculated but may be part of the optimal path, providing a foundation for the construction of the subsequent first path. The evaluation of a path node involves calculating and comparing the path costs corresponding to that path node.

[0066] In step 202, each neighbor node is traversed, and the neighbor node with the minimum path cost to the destination node is determined as the first node. The first node is added to the open list, and the starting node is moved from the open list to the closed list.

[0067] In some embodiments, the construction of the first path is based on the A* algorithm. The A* algorithm, given map information, iteratively traverses surrounding path nodes to find the optimal path. Combining the advantages of breadth-first search and depth-first search, it selects the optimal path by evaluating the cost of each path node. It iterates through each neighbor node of the starting node, calculating the path cost from each neighbor node to the destination node. The path cost is the sum of the actual cost from the starting node to that neighbor node and the estimated cost from that neighbor node to the destination node. The neighbor node with the smallest path cost is selected as the first node. The first node is added to the open list, and the starting node, which has completed its initial evaluation, is moved from the open list to the closed list. The closed list stores path nodes that have been evaluated and do not need to be re-explored; path nodes in the closed list have been confirmed as belonging to the optimal path, avoiding redundant calculations.

[0068] As an example, let the path cost be denoted as F, the actual cost from the starting node to the neighboring node as G, and the estimated cost from the neighboring node to the destination node as H. Then, F = G + H. G is the cost of moving from the starting node A to the specified neighboring node. For example, setting the lateral and longitudinal movement costs to 10 and the diagonal movement cost to 14, G can be obtained by summing the movement costs according to the direction of movement. H is the estimated cost of moving from the specified neighboring node to the destination node B. This can be calculated using a heuristic method (e.g., Manhattan distance) to determine the number of grid cells traversed to reach the destination node B from the current neighboring node, ignoring diagonal movement. The total number of grid cells is multiplied by 10. Obstacles in the path need to be ignored when calculating H. The estimated cost H is an estimate of the remaining distance, not the actual value.

[0069] The trial-and-error method is a strategy based on experience, intuition, or problem characteristics. It reduces the search range through estimation or empirical rules, quickly finding an approximate optimal solution (or the optimal solution) in complex problems, rather than blindly traversing all possible scenarios. Manhattan distance is a method for calculating the distance between two points in a spatial dimension. It simulates the shortest path length in a grid-like space (such as city streets) that requires a right-angle turn in the horizontal / vertical direction to get from one point to another (distinct from the straight-line distance of Euclidean distance). For example, the Manhattan distance from coordinates (1, 2) to (4, 6) is |1-4| + |2-6| = 3 + 4 = 7. Further, the estimated cost H of the movement is determined by multiplying the Manhattan distance by the path costs in different directions.

[0070] In step 203, the neighboring nodes adjacent to the first node are traversed, and the neighboring node with the minimum path cost to the destination node is determined from the neighboring nodes adjacent to the first node and used as the second node. The second node is added to the open list, and the first node is moved from the open list to the closed list.

[0071] In some embodiments, with the first node as the current expanding node, the neighboring nodes adjacent to the first node are traversed. Using the same calculation method as in step 202, the path cost from each neighboring node to the destination node is calculated. The neighboring node with the smallest path cost is selected from the neighboring nodes adjacent to the first node as the second node. The second node is added to the open list to continue expanding the path. At the same time, the first node, which has completed the evaluation, is moved from the open list to the closed list, thus realizing the continuous traversal of the path.

[0072] In step 204, if the second node is not the endpoint node, the second node is taken as the new first node, and the step of traversing each neighbor node is returned.

[0073] In some embodiments, if the second node is not the endpoint node, it means that the construction of the first path is not complete and it is necessary to continue traversing forward, take the second node as the new current extension node (i.e. the new first node), return to step 202, and re-traverse the neighbor nodes of the new current extension node to continue searching for the first path.

[0074] In step 205, if the second node is the endpoint node, an initial first path is generated based on the nodes in the closed list.

[0075] In some embodiments, if the second node is the end node, it indicates that the construction of the first path is complete, and the search for path nodes stops. At this time, the closed list stores an ordered sequence of nodes from the start node to the end node. The ordered sequence of nodes in the closed list is connected according to the storage order to form the initial first path.

[0076] Through the embodiments of this application, the starting node and neighboring nodes are clearly defined and an open list is initialized to store nodes to be evaluated, providing a basis for path search. The path cost is calculated and the neighboring node with the minimum cost is selected as the expansion node. By combining the dynamic updates of the open and closed lists, the repeated evaluation of nodes is avoided, and the search efficiency is improved. By iteratively expanding the optimal node until the destination node is reached, an ordered node sequence from the starting node to the destination node is finally formed from the closed list. This realizes path search that combines global information and expands along the direction of minimum cost, generating an initial first path with no repeated calculations and the optimal path cost.

[0077] In step 206, time information is assigned to each path node in the initial first path to obtain the first path including time information.

[0078] In some embodiments, step 206 can be implemented by the following method: determining the distance between the first path node and the second path node in the initial first path, and using the ratio of the distance to a preset speed as the time information of the second path node; determining the distance between the second path node and the next path node, and determining the time information of the next path node based on the ratio of the distance to the preset speed; using the next path node as the new second path node, and continuing to determine the time information of the next path node, until the time information of all nodes is determined, thus obtaining a first path including time information.

[0079] In some embodiments, the time information is a timestamp (numerical value) marking the time the robot arrives at each path node. By quantifying the time attributes of path nodes, each path node not only has explicit spatial coordinates but also is associated with the specific time the robot moved to that position. The time information provides the foundation for subsequent time parameterization optimization of the trajectory, ensuring that the trajectory can directly adapt to the controller's requirements for continuous time and position input.

[0080] To assign time information to each path node in the initial first path, the time information of the first path node in the initial first path is set to an initial value (e.g., 0), serving as the starting point for time information calculation. The spatial distance between the first and second path nodes in the initial first path is calculated, i.e., the Euclidean distance between the two path nodes, denoted as ||p||. i+1 -p i Based on the ratio of distance to preset speed, the time interval is calculated to determine the time information of the second path node. That is, the time information of the second path node is the time information of the first path node plus the time interval.

[0081] For example, if the time information of the first path node is t0 = 0, the spatial distance between the first path node and the second path node in the first path is ||p||. i+1 -p i ||, preset speed is v des Then the time information of the second path node

[0082] The preset speed is the expected speed at which the robot will move. It can be determined based on the robot's motion performance, environmental characteristics, and task requirements. The preset speed must not exceed the robot's maximum physical speed to ensure the feasibility of the movement. In environments with dense or complex obstacles, the preset speed can be reduced to allow for a safe response time. In open, obstacle-free areas, the preset speed can be increased to improve movement efficiency. Alternatively, the preset speed value can be adjusted according to the task's requirements for movement efficiency (e.g., rapid arrival) or stability (e.g., slow and smooth movement).

[0083] Taking the second path node as the current path node, determine the distance between the second path node and the next path node. Using the same time information calculation method as described above, obtain a new time interval based on the ratio of distance to a preset speed. Add the new time interval to the time information of the current node to obtain the time information for the next path node. Take the next path node with the calculated time information as the new current path node, and continue to determine the time information for the next path node. Assign time information to each subsequent path node in turn, until all path nodes in the initial first path have been assigned time information. Finally, the first path containing time information is obtained, which can be represented as... Where N is the total number of path nodes.

[0084] In some embodiments, if the difference in time information between two adjacent path nodes exceeds 1.5 times the expected time difference, it indicates that the time interval between the two path nodes is too large, which may lead to speed fluctuations or discontinuities during subsequent trajectory optimization. The expected time difference is a preset target time interval standard between adjacent path nodes, serving as a reference benchmark for time allocation. It is used to regulate the rationality of the timestamp difference between adjacent nodes in the initial path and is determined based on the robot controller's trajectory update frequency or the ratio of the preset speed to the classic node spacing.

[0085] At this point, linear interpolation is performed to generate intermediate path nodes by averaging the sums of the positions of the two path nodes. The spatial position of the intermediate node is the average of the positions of the two path nodes. These intermediate nodes are added to the path to reduce the time interval between adjacent nodes, making the time distribution closer to the desired difference.

[0086] If the difference in time information between two adjacent path nodes is less than 0.5 times the expected time difference, it indicates that the time interval between the two path nodes is too small and the node distribution is too dense, which may increase the redundancy of subsequent calculations. In this case, one of the path nodes is removed to reduce the number of path nodes, so that the time interval between the remaining path nodes increases and approaches the expected difference, thus avoiding the reduction in computational efficiency caused by the excessively dense time distribution.

[0087] Through the embodiments of this application, by accumulating segmented time, the time information of path nodes is associated with the spatial distance and preset speed between nodes, ensuring the continuity and rationality of time information, and providing a basis for subsequent time parameterization optimization of the trajectory.

[0088] See also Figure 3A In step 102, the first obstacle node in the first obstacle region is subjected to a first mapping process to obtain a convex polygon containing the first obstacle node.

[0089] In some embodiments, step 102 can be implemented by the following methods: determining a first distance from the first obstacle node to the mapping center node; determining a mapping function for the first mapping process based on a preset radius and the first distance; scaling the first obstacle node according to the mapping function of the first mapping process to obtain a scaled obstacle node; and performing convex hull calculation based on the scaled obstacle node to obtain a convex polygon containing the first obstacle node.

[0090] In some embodiments, the first obstacle node is the original obstacle node within a preset radius corresponding to the path node. The first obstacle node in the first obstacle region is transformed into a mapped obstacle node through a mapping function. The essence of the mapping function transformation is to perform a distance-based scaling transformation on the first obstacle node to obtain a convex polygon containing the first obstacle node. The first mapping process is a process of transforming the scattered and irregular obstacle point set into a more easily processed structured point set through geometric transformation of the original obstacle node. It can be implemented by formula (1), which is explained in detail below.

[0091]

[0092] Where f is the mapping function of the first mapping process, and the set of the first obstacle nodes is represented by O. j ={o j}, o j It is the original obstacle node in the first obstacle region, i.e., the first obstacle node, R is the preset radius in step 101, ||o j || represents the first obstacle node o j The Euclidean distance to the current path node (i.e., the mapping center node) (i.e., the first distance mentioned above), i.e., o j The modulus, o′ j These are the obstacle nodes that form the convex polygon after mapping. Based on o′ j Further calculation of the convex hull is performed to form a convex polygon containing the first obstacle node, thereby achieving geometric structuring of the obstacle region.

[0093] With all o′ after mapping j As the input point set for convex hull computation, o′ j These are the spatial coordinates of the first obstacle node after scaling and transformation following the first mapping process. A convex hull calculation algorithm (such as Graham's scan method, Jarvis's step method, etc.) is used to calculate the coordinates of all o′. j Processing is performed. The convex hull algorithm extracts all o′... jThe process involves selecting the vertices of the smallest convex polygon that can enclose all points. An ordered set of vertices is determined by checking if each point in the set lies outside the triangle formed by the other three points, or by using polar angle sorting, rotation comparison, etc. These vertices are the outermost points in the mapped point set, and their connecting lines completely enclose all mapped obstacle nodes. Connecting the selected convex hull vertices in clockwise or counterclockwise order forms a closed polygon that contains the first obstacle node.

[0094] Through the embodiments of this application, scattered and irregular mapped obstacle nodes are transformed into regular convex polygons by convex hull calculation, thereby simplifying the geometric structure of the obstacle region and providing a regular geometric basis for the subsequent construction of a safe region through inverse mapping.

[0095] In step 103, the boundary points of the convex polygon are subjected to a second mapping process to obtain a second obstacle region containing the second obstacle node.

[0096] In some embodiments, a second mapping process is performed on the boundary points of the convex polygon. The second mapping process is the inverse mapping process of the first mapping process in step 102, which can be implemented by formula (2), as explained in detail below.

[0097]

[0098] Among them, f -1 It is the mapping function of the second mapping process, which is the inverse function of the mapping function corresponding to the first mapping process. It converts the boundary point o′ of the convex polygon obtained by the first mapping in step 102 into the boundary point o′ of the convex polygon. j The function processed by the second mapping is transformed into the original space and represented as o. j The second obstacle node, or second obstacle node, is essentially a coordinate transformation that restores the geometry of the mapped space to the original environment space. The second obstacle node includes the original first obstacle node and may also include other obstacle nodes. The second mapping process restores the robot's original environment space from the mapped space, resulting in a second obstacle region containing the second obstacle node. This ensures that the second obstacle region accurately reflects the position and distribution characteristics of the original obstacles in the actual environment.

[0099] Through the embodiments of this application, the second mapping process maps obstacle nodes back to the original resolution space, avoiding the obstacle area from deviating from the actual environment due to the scaling transformation of the first mapping, ensuring that the subsequently constructed safe area can truly avoid obstacles in the original space, and providing a realistic constraint basis for path optimization.

[0100] In step 104, the second obstacle area is reduced according to a preset distance to obtain a convex safe area for avoiding the second obstacle node.

[0101] In some embodiments, step 104 can be implemented by the following method: traversing the second obstacle region; when the traversal result indicates that a second obstacle node exists in the second obstacle region, for each edge of the second obstacle region, moving the edge along the normal direction of the edge by a preset distance to obtain a reduced second obstacle region composed of the moved edges, wherein the second obstacle node is the same as or different from the first obstacle node; taking the reduced second obstacle region as a new second obstacle region, traversing the new second obstacle region; when the traversal result indicates that the new second obstacle region contains a second obstacle node, reducing the new second obstacle region; when the traversal result indicates that the new second obstacle region does not contain a second obstacle node, taking the new second obstacle region as a convex safe region.

[0102] In some embodiments, the second obstacle region is traversed, and it is determined whether the second obstacle node is contained within the second obstacle region. When the traversal result indicates the presence of a second obstacle node in the second obstacle region, a shrinking process is performed on the second obstacle region. For each edge of the second obstacle region, each edge is moved a preset distance along the normal direction of the edge. The normal direction of the edge is perpendicular to the edge and points inward into the region, i.e., shrinking inward by a preset distance, resulting in a shrunken second obstacle region composed of the moved edges. By shrinking the boundary, the region is reduced in size, initially moving away from the second obstacle node inside. The preset distance for the shrinking process can be set comprehensively based on actual factors such as robot size, obstacle characteristics, and environmental requirements. The preset distance must be at least greater than the robot's maximum size (such as radius, width, etc.) to ensure that the mobile body maintains physical isolation from obstacles when moving within a safe area. For example, if the robot radius is 0.5 meters, the preset distance can be set to 0.6 meters to reserve a certain safety redundancy.

[0103] In some embodiments, see Figure 4 , Figure 4 This is a schematic diagram illustrating the principle of the shrinking process provided in this application embodiment. When the traversal result indicates that a second obstacle node 401 exists in the second obstacle region 4011, a shrinking process is performed on the second obstacle region 4011. For each edge of the second obstacle region 4011, each edge is moved a preset distance 403 along the normal direction 402 of the edge. The normal direction 402 of the edge is perpendicular to the edge and points inward into the region, that is, shrinking inward by a preset distance 403, resulting in a shrunken second obstacle region 4012 composed of the moved edges.

[0104] The shrunk second obstacle region is taken as the new second obstacle region. The traversal process is repeated within this new second obstacle region, checking if it still contains a second obstacle node. If the traversal result indicates that the new second obstacle region contains a second obstacle node, the same shrunking process is applied to the new second obstacle region, ensuring that the second obstacle region gradually moves away from the second obstacle. If the traversal result indicates that the new second obstacle region does not contain a second obstacle node, it means that the shrunk second obstacle region is now free of obstacles, and this new second obstacle region is designated as a convex safe region. A convex safe region is a local safe corridor, which can be represented as C. i The safety corridor corresponding to the path formed by superimposing multiple convex safety regions is represented as:

[0105] A safety corridor is a continuous, collision-free, and passable safe passageway planned geometrically or topologically for mobile objects (such as robots, drones, vehicles, or personnel) in a complex environment, ensuring that the mobile object will not collide with obstacles while moving within the area. In this embodiment, the safety corridor is a continuous passageway constructed in the environment along a planned path that satisfies safety constraints, ensuring that the robot can effectively avoid obstacles while moving within the area. Through the aforementioned iterative narrowing and checking process, the resulting convex safety region ensures physical isolation from obstacles, providing collision-free spatial constraints for robot path optimization.

[0106] In some embodiments, see Figure 5 , Figure 5 This is a schematic diagram of a safe corridor provided in an embodiment of this application. There are multiple path nodes in the grid map 501. Through the above mapping process, a corresponding local convex safe region 502 is determined for the path nodes in the first path. Each local convex safe region 502 is a feasible range corresponding to a path node. Within this feasible range, changing the attributes of the path nodes can still maintain the safety of the optimized path 503 (equivalent to the second path) obtained by the final combination.

[0107] In step 105, an optimization function for the first path is constructed, the optimization function is solved based on the convex safe region, and the second path is determined based on the solution result.

[0108] Here, the path nodes in the second path are contained within the convex safety region.

[0109] In some embodiments, the optimization function in step 105 can be constructed by: determining the square values ​​of the tangential velocity change, radial velocity change, and angular velocity change of the robot in the first path; summing the square values ​​of the tangential velocity change, radial velocity change, angular velocity change, and the time change between adjacent path nodes in the first path to obtain a first sum; and using the function that minimizes the first sum as the optimization function of the first path.

[0110] In some embodiments, the state parameters of the robot trajectory are used as optimization variables in the optimization function. These optimization variables include the position coordinates (x, y) of each path node in the world coordinate system, its attitude angle (θ), and its tangential velocity (v). t ), radial velocity (v n ), angular velocity (ω) and time information (t), where time information (t) is the absolute or relative time of the path node on the time axis.

[0111] The position coordinates (x, y) of each path node in the world coordinate system represent the robot's absolute position on the global map, which is the basic geometric information for path planning. The attitude angle (θ) is the angle (unit: radians or degrees) between the robot's direction of motion and the x-axis of the world coordinate system, describing the robot's orientation. It is usually counterclockwise as the positive direction. For example, θ = 0 means that the robot is facing the positive x-axis, and θ = π / 2 means that it is facing the positive y-axis.

[0112] Tangential velocity (v) t ) represents the linear velocity component of the robot along its current direction of motion (i.e., the tangential direction) (unit: m / s), and represents the instantaneous velocity of the robot along the path forward. Positive values ​​indicate forward motion, and negative values ​​indicate backward motion.

[0113] Radial velocity (v) n The velocity component (in m / s) is the linear velocity component of the robot along the normal direction (i.e., perpendicular to the tangent direction) of its motion direction. It reflects the robot's lateral slip velocity. In nonholonomically constrained robots (such as differential drives), it is usually required that v... n =0 (no sideslip); in an omnidirectional robot, v n It can be non-zero.

[0114] Angular velocity (ω) is the angular velocity of a robot about its own center of rotation (unit: rad / s). It indicates how fast and in what direction the robot turns. ω>0 indicates counterclockwise rotation, and ω<0 indicates clockwise rotation.

[0115] In some embodiments, the square of the change in tangential velocity between adjacent path nodes is calculated and denoted as... The square of the radial velocity change is denoted as The square of the change in angular velocity is denoted as The squares of the changes in tangential velocity, radial velocity, and angular velocity are used to measure the smoothness of the velocity transformation. The first sum is obtained by summing the squares of the changes in tangential velocity, radial velocity, and angular velocity, as well as the squares of the time changes between adjacent nodes in the first path, and is expressed as follows: The function that minimizes the first sum is used as the optimization function for the first path, and the optimization function is expressed as follows: t 2 It is the square of the time change, used to optimize the rationality of time allocation and avoid abnormal fluctuations in timestamps. The optimization function is to minimize the cumulative value of the first sum, indicating that the optimal trajectory is found by minimizing the objective function (the smoothing term of velocity and angular velocity changes and the time term) while satisfying kinematic continuity, dynamic constraints, and safety constraints, with the trajectory state variables as the optimization object.

[0116] In some embodiments, the second path in step 105 can be determined by the following method: determining the robot's constraints based on the convex safety region; converting the optimization function into an obstacle function based on the constraints; solving the obstacle function to obtain the time information, velocity, coordinates, and angles of the path nodes in the second path; combining the time information, velocity, coordinates, and angles of the path nodes in the second path to obtain the second path; the method further includes: if the solution to the obstacle function fails, then the first path is used as the second path.

[0117] In some embodiments, the robot's constraints are determined based on the convex safety region, requiring all nodes of the second path to be completely located within the convex safety region, i.e., the distance between the path node and the obstacle is not less than a preset safety distance, i.e., the corresponding constraint condition: g(O)≤0.

[0118] At the same time, based on the robot's own dynamic constraints, it is necessary to constrain the tangential velocity, radial velocity, and angular velocity to not exceed the robot's own maximum values, i.e., the corresponding constraint conditions:

[0119] ω≤ω max To ensure that the trajectory can actually be executed, among which, It is the maximum tangential velocity of the robot itself. It is the maximum radial velocity of the robot itself, ω. max This represents the maximum angular velocity at the robot's own scale; the maximum value of the dynamic constraint varies depending on the type of robot. Based on kinematic continuity constraints, i.e., based on the robot's motion model, it requires that the rate of change of position and orientation match the velocity and angular velocity, i.e., the corresponding constraint conditions: This ensures that the trajectory is continuous and without abrupt changes.

[0120] in, It is the rate of change of the robot's position along the x-axis (i.e., the velocity component in the x-direction). It is the rate of change of the robot's position in the y-axis direction (i.e., the velocity component in the y-direction). It is the rate of change of the robot's attitude angle (i.e., angular velocity).

[0121] In some embodiments, the constraints are transformed into obstacle terms using the interior-point method, which embeds the original optimization function to form an obstacle function. The interior-point method is a numerical algorithm for solving constrained optimization problems. By introducing an obstacle function, the constrained optimization problem is transformed into an unconstrained sequential minimization problem. A central path is generated within the feasible region, and the solution gradually converges to the optimal solution along the central path. This method is suitable for handling optimization problems with inequality constraints, such as linear programming and convex quadratic programming. By introducing the obstacle function, the value of the obstacle term increases sharply when the iteration point approaches the constraint boundary, penalizing the objective function and preventing the iteration point from crossing the constraint boundary, ensuring that the search always takes place within the feasible region (convex safe region and constraint range). The transformed obstacle function retains the original optimization objective (such as trajectory smoothness) and implicitly satisfies all constraints through the obstacle term. This can be achieved through formula (3), which will be explained in detail below.

[0122]

[0123] Where μ>0 is the barrier parameter, and g decreases as the number of iterations decreases. j (p) represents the different constraints mentioned above, where p represents all optimization variables, and -log(-g) j (p)) is the obstacle term, and log is the logarithmic operation on the constraint condition, defined within the feasible region as g... j →0 - That is, variable g j As the number approaches 0 infinitely from the negative direction (i.e., the side less than 0), the obstacle term approaches positive infinity, thus forcing the iteration point to always be strictly feasible.

[0124] In some embodiments, the constraints are transformed into a system of nonlinear equations for iterative solution, with the partial derivatives with respect to the optimization variables being zero, ensuring a balance between the objective and the constraints. The goal is to find the combination of optimization variables that minimizes the obstacle function value. Solvers (such as Ipopt, SNOPT, and CasaADi) can be used to implement the iterative solution process. The solution process must satisfy all constraints implicit in the obstacle function (safety, dynamics, continuity). Finally, the specific time information, velocity, coordinates, and angle of each path node are output, ensuring that these parameters are within the convex safety region and conform to the robot's motion characteristics.

[0125] The time information, velocity, coordinates and angles of the path nodes in the second path are associated and combined in the temporal order of the path nodes to form a complete trajectory sequence. The combined result is the second path. All path nodes in the second path are contained within the convex safe region (satisfying safety constraints), the velocity and angular velocity change smoothly (satisfying the optimization objective), and it conforms to the robot dynamics constraints (executability), realizing a safe and smooth trajectory from the starting point to the ending point.

[0126] If the solution to the obstacle function fails, such as convergence failure, timeout, or failure to meet constraints, the optimization result is abandoned, and the first path is used as the second path. This ensures that the robot controller can always obtain effective trajectory input, avoids interruption of operation due to optimization failure, and enhances the robustness and continuity of the system.

[0127] The robot path planning method provided in this application has the following beneficial effects:

[0128] The construction of the first path combines the dynamic management of open and closed lists. Optimal expansion nodes are selected by calculating path costs, effectively avoiding redundant node evaluations and improving path search efficiency. Simultaneously, by accumulating segmented time and dynamically adjusting node time intervals, the time information of path nodes is correlated with spatial distance and preset speed depth, ensuring the continuity and rationality of time distribution. This generates an initial first path with optimal cost and time order, providing a high-quality initial solution. The first obstacle region of the path nodes is constructed using a preset radius, accurately covering the range of obstacles of concern around the path nodes. Based on a mapping function, obstacle nodes are scaled and their convex hulls are calculated, transforming the scattered and irregular obstacle point set into a structured convex polygon. Then, inverse mapping restores it to the original environmental space, ensuring the observability of the obstacle region within the actual environment. Further iterations reduce the obstacle region until there are no internal obstacles. The generated convex safe region provides reliable collision-free constraints for path optimization, ensuring obstacle avoidance safety during robot movement. In the path optimization phase, an optimization function is constructed with the sum of squares of velocity (tangential and radial) changes, angular velocity changes, and time changes as objectives. The interior-point method is used to transform safety region constraints, dynamic limitations, and kinematic continuity constraints into obstacle terms embedded in the optimization function, forming an obstacle function which is then solved. The resulting second path not only satisfies all safety constraints but also achieves a smooth transition between velocity and angular velocity, improving the trajectory's motion stability. Simultaneously, in case of optimization failure, the first path is used as the final result to avoid system interruption and enhance the overall robustness of the solution. Through precise initial path generation, structured obstacle handling, safety region construction, and smooth path optimization, the robot achieves safe, efficient, and smooth motion from start to finish in complex environments, balancing path optimality, feasibility, and system stability.

[0129] The following description continues to illustrate the exemplary structure of the robot path planning device 455 provided in the embodiments of this application as a software module. In some embodiments, such as... Figure 2 As shown, the software modules in the robot path planning device 455 stored in the memory 450 may include: a region determination module 4552, used to construct a first obstacle region containing the path nodes according to a preset radius for each path node in the first path of the robot in the map; perform a first mapping process on the first obstacle nodes in the first obstacle region to obtain a convex polygon containing the first obstacle nodes; perform a second mapping process on the boundary points of the convex polygon to obtain a second obstacle region containing the second obstacle nodes; and perform a reduction process on the second obstacle region according to a preset distance to obtain a convex safe region for avoiding the second obstacle nodes; and a path optimization module 4553, used to construct an optimization function for the first path, solve the optimization function based on the convex safe region, and determine the second path according to the solution result, wherein the path nodes in the second path are contained within the convex safe region.

[0130] In some embodiments, the initial path generation module 4551 is configured to: determine the robot's starting node and multiple neighboring nodes in the map; add the starting node to an open list; traverse each neighboring node, determine the neighboring node with the lowest path cost to the destination node as the first node, add the first node to the open list, and move the starting node from the open list to the closed list; traverse the neighboring nodes adjacent to the first node, determine the neighboring node with the lowest path cost to the destination node as the second node, add the second node to the open list, and move the first node from the open list to the closed list; if the second node is not the destination node, use the second node as the new first node and return to the step of traversing each neighboring node; if the second node is the destination node, generate an initial first path based on the nodes in the closed list; and assign time information to each path node in the initial first path to obtain a first path including time information.

[0131] In some embodiments, the initial path generation module 4551 is further configured to determine the distance between the first path node and the second path node in the initial first path, and determine the time information of the second path node according to the ratio of distance to preset speed; determine the distance between the second path node and the next path node, and determine the time information of the next path node according to the ratio of distance to preset speed; take the next path node as the new second path node, and continue to determine the time information of the next path node until the time information of all nodes is determined, thereby obtaining the first path including time information.

[0132] In some embodiments, the region determination module 4552 is further configured to traverse the second obstacle region. When the traversal result indicates that a second obstacle node exists in the second obstacle region, for each edge of the second obstacle region, the edge is moved a preset distance along the normal direction of the edge to obtain a reduced second obstacle region composed of the moved edges. The second obstacle node is the same as or different from the first obstacle node. The reduced second obstacle region is used as a new second obstacle region. The new second obstacle region is traversed. When the traversal result indicates that the new second obstacle region contains a second obstacle node, the new second obstacle region is reduced. When the traversal result indicates that the new second obstacle region does not contain a second obstacle node, the new second obstacle region is used as a convex safe region.

[0133] In some embodiments, the region determination module 4552 is further configured to determine a first distance from the first obstacle node to the mapping center node; determine a mapping function for the first mapping process based on a preset radius and the first distance; scale the first obstacle node according to the mapping function of the first mapping process to obtain a scaled obstacle node; perform convex hull calculation based on the scaled obstacle node to obtain a convex polygon containing the first obstacle node, wherein the mapping function for the second mapping process is the inverse function of the mapping function of the first mapping process.

[0134] In some embodiments, the path optimization module 4553 is further configured to determine the square values ​​of the tangential velocity change, radial velocity change, and angular velocity change of the robot in the first path; accumulate the square values ​​of the tangential velocity change, radial velocity change, angular velocity change, and the square values ​​of the time change between adjacent path nodes in the first path to obtain a first sum; and use the function that minimizes the first sum as the optimization function of the first path.

[0135] In some embodiments, the path optimization module 4553 is further configured to determine the robot's constraints based on the convex safety region; convert the optimization function into an obstacle function based on the constraints; solve the obstacle function to obtain the time information, velocity, coordinates, and angle of the path nodes in the second path; combine the time information, velocity, coordinates, and angle of the path nodes in the second path to obtain the second path; the method further includes: if the solution to the obstacle function fails, then the first path is used as the second path.

[0136] This application provides a computer program product, which includes a computer program or computer-executable instructions stored in a computer-readable storage medium. The processor of an electronic device reads the computer-executable instructions from the computer-readable storage medium and executes the computer-executable instructions, causing the electronic device to perform the robot path planning method described above in this application.

[0137] This application provides a computer-readable storage medium storing computer-executable instructions or a computer program. When the computer-executable instructions or the computer program are executed by a processor, the processor will execute the path planning method provided in this application. For example, ... Figure 3A The robot's path planning method is shown.

[0138] In some embodiments, the computer-readable storage medium may be a memory such as RAM, ROM, flash memory, magnetic surface memory, optical disk, or CD-ROM; or it may be a variety of devices including one or any combination of the above-mentioned memories.

[0139] In some embodiments, computer-executable instructions may take the form of programs, software, software modules, scripts, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as stand-alone programs or as modules, components, subroutines, or other units suitable for use in a computing environment.

[0140] As an example, computer-executable instructions may, but do not necessarily, correspond to files in a file system. They may be stored as part of a file that holds other programs or data, for example, in one or more scripts in a Hyper Text Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple co-located files (e.g., files that store one or more modules, subroutines, or code sections).

[0141] As an example, computer-executable instructions can be deployed to execute on a single electronic device, or on multiple electronic devices located at one location, or on multiple electronic devices distributed across multiple locations and interconnected via a communication network.

[0142] In summary, the embodiments of this application efficiently generate an initial path with optimal cost and time order. Through mapping transformation and convex hull calculation, a realistic obstacle region is constructed. By iteratively shrinking the region, a reliable convex safety region is generated to ensure obstacle avoidance safety. By combining the optimization function of velocity and angular velocity smoothing terms and the constraint transformation solution, trajectory smoothness is achieved, resulting in a path that makes the robot safe, efficient and stable.

[0143] The above description is merely an embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, and improvements made within the spirit and scope of this application are included within the scope of protection of this application.

Claims

1. A path planning method for a robot, characterized in that, The method includes: For each path node in the first path of the robot on the map, a first obstacle region containing the path node is constructed according to a preset radius; A first mapping process is performed on the first obstacle node in the first obstacle region to obtain a convex polygon containing the first obstacle node; The boundary points of the convex polygon are subjected to a second mapping process to obtain a second obstacle region containing the second obstacle node; The second obstacle area is reduced according to a preset distance to obtain a convex safe area for avoiding the second obstacle node; An optimization function for the first path is constructed, and the optimization function is solved based on the convex safe region. A second path is determined based on the solution result, wherein the path nodes in the second path are contained within the convex safe region.

2. The method according to claim 1, characterized in that, The method further includes: The starting node of the robot and multiple neighboring nodes of the starting node are determined in the map, and the starting node is added to the open list; Iterate through each of the neighbor nodes, determine the neighbor node with the minimum path cost to move to the destination node, and use it as the first node. Add the first node to the open list and move the starting node from the open list to the closed list. Traverse the neighboring nodes adjacent to the first node, determine the neighboring node with the minimum path cost to the destination node from the neighboring nodes adjacent to the first node, and use it as the second node. Add the second node to the open list, and transfer the first node from the open list to the closed list. If the second node is not the endpoint node, the second node is used as the new first node, and the step of traversing each of the neighboring nodes is returned. If the second node is the endpoint node, an initial first path is generated based on the nodes in the closed list; Time information is assigned to each path node in the initial first path to obtain a first path including the time information.

3. The method according to claim 2, characterized in that, Assigning time information to each path node in the initial first path to obtain a first path including the time information includes: Determine the distance between the first path node and the second path node in the initial first path, and determine the time information of the second path node based on the ratio of the distance to the preset speed; Determine the distance between the second path node and the next path node, and determine the time information of the next path node based on the ratio of the distance to the preset speed; The next path node is used as the new second path node, and the time information of the next path node is determined until the time information of all nodes is determined, thus obtaining the first path including the time information.

4. The method according to claim 1, characterized in that, The step of reducing the second obstacle region according to a preset distance to obtain a convex safe region for avoiding the second obstacle node includes: Traverse the second obstacle region. When the traversal result indicates that there is a second obstacle node in the second obstacle region, for each edge of the second obstacle region, move the edge along the normal direction of the edge by a preset distance to obtain a reduced second obstacle region composed of the moved edges. The second obstacle node is the same as the first obstacle node or is different from the first obstacle node. The shrunk second obstacle region is used as a new second obstacle region. The new second obstacle region is traversed. When the traversal result indicates that the new second obstacle region contains the second obstacle node, the new second obstacle region is shrunk. When the traversal result indicates that the new second obstacle region does not contain the second obstacle node, the new second obstacle region is regarded as a convex safe region.

5. The method according to claim 1, characterized in that, The optimization function for constructing the first path includes: Determine the square values ​​of the changes in tangential velocity, radial velocity, and angular velocity of the robot in the first path; The squares of the tangential velocity change, the radial velocity change, the angular velocity change, and the time change between adjacent path nodes in the first path are summed to obtain a first sum. The function that minimizes the first sum is used as the optimization function for the first path.

6. The method according to claim 1, characterized in that, The step of solving the optimization function based on the convex safe region and determining the second path based on the solution result includes: The constraints of the robot are determined based on the convex safety region; The optimization function is transformed into a barrier function based on the constraints. Solving the obstacle function yields the time information, velocity, coordinates, and angles of the path nodes in the second path; The time information, speed, coordinates, and angle of the path nodes in the second path are combined to obtain the second path; The method further includes: If the solution to the obstacle function fails, the first path is used as the second path.

7. The method according to claim 1, characterized in that, The first mapping process performed on the first obstacle node in the first obstacle region to obtain a convex polygon containing the first obstacle node includes: Determine the first distance from the first obstacle node to the mapping center node; The mapping function for the first mapping process is determined based on the preset radius and the first distance; The first obstacle node is scaled according to the mapping function of the first mapping process to obtain the scaled obstacle node; Based on the scaled obstacle nodes, convex hull calculation is performed to obtain a convex polygon containing the first obstacle nodes. The mapping function of the second mapping process is the inverse function of the mapping function of the first mapping process.

8. A path planning device for a robot, characterized in that, The device includes: The region determination module is used to construct a first obstacle region containing each path node in the first path of the robot on the map according to a preset radius; perform a first mapping process on the first obstacle node in the first obstacle region to obtain a convex polygon containing the first obstacle node; perform a second mapping process on the boundary points of the convex polygon to obtain a second obstacle region containing second obstacle nodes; and perform a shrinking process on the second obstacle region according to a preset distance to obtain a convex safe region that avoids the second obstacle node. The path optimization module is used to construct the optimization function of the first path, solve the optimization function based on the convex safe region, and determine the second path according to the solution result, wherein the path nodes in the second path are contained within the convex safe region.

9. An electronic device, characterized in that, The electronic device includes: Memory is used to store executable instructions or computer programs. A processor, configured to execute computer-executable instructions or computer programs stored in the memory, implements the path planning method for the robot according to any one of claims 1 to 7.

10. A computer-readable storage medium storing computer-executable instructions or a computer program, characterized in that, When the computer-executable instructions or computer program are executed by a processor, they implement the path planning method for the robot according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Robot path planning method and system, electronic equipment and storage medium

    CN115981313A

  • Mowing robot path planning method, device, equipment and medium

    CN118149818A

  • Dynamic path planning method, system and equipment based on multiple mobile robots and medium

    CN120255569A

  • Interactive Detection of Obstacle Status in Mobile Robots

    US20240131735A1