Artificial Potential Field Method and Dynamic Prediction for Path Planning of Industrial Mobile Robots
By combining the artificial potential field method with dynamic prediction path planning, the problems of high collision risk and unstable path planning of industrial mobile robots in complex environments are solved, achieving efficient obstacle avoidance and stable path planning, thereby improving the success rate of multi-robot collaborative operations and the overall efficiency of the production system.
Patent Information
- Application Number
- CN202511362400.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-23
- Publication Date
- 2026-01-06
- Estimated Expiration
- 2045-09-23
AI Technical Summary
Existing path planning methods for industrial mobile robots suffer from problems such as high collision risk, susceptibility to local optima or oscillations, redundancy in handling static obstacles, and lack of coordination between dynamic prediction and global path in complex dynamic environments, resulting in poor application performance.
A path planning method combining artificial potential field method and dynamic prediction is adopted. The motion characteristics of obstacles are identified by temporal difference, dynamic obstacle trajectories are predicted by Kalman filter, static obstacles are clustered, and the attraction and repulsion forces are calculated by combining improved potential field function. Potential collision risks are monitored in real time, and a virtual gravity point escape strategy is introduced to avoid local optima or oscillations.
It achieves efficient obstacle avoidance and stable path planning in complex mixed environments, improves the success rate of single-machine and multi-machine collaborative operations, and significantly enhances the stability and efficiency of the production system.
Smart Images

Figure CN120871887B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of industrial robot path planning technology, specifically to an artificial potential field method and a dynamic prediction method for industrial mobile robot path planning. Background Technology
[0002] With the rapid development of artificial intelligence and intelligent manufacturing, industrial mobile robots are being used more and more widely in production workshops, warehousing and logistics, and flexible manufacturing processes. Efficient and reliable path planning and obstacle avoidance capabilities not only determine the efficiency of a single robot but also directly affect the stability of multi-robot collaborative operations and the entire production system. Therefore, possessing intelligent path planning methods for complex dynamic environments is of great significance.
[0003] Current mainstream path planning methods mostly adopt a hierarchical framework of "global + local". The global layer uses algorithms such as A* and RRT to construct the optimal path under a static map, while the local layer achieves real-time obstacle avoidance through the Dynamic Window Method (DWA) or the Artificial Potential Field Method (APF). However, traditional APF only relies on the current position of the obstacle to calculate the repulsive force, lacking the prediction of the future trajectory of dynamic obstacles. This causes the robot to often avoid obstacles only when it is close to them, resulting in a high risk of collision. At the same time, traditional methods are prone to getting trapped in local optima or the target becoming unreachable, often resulting in motion stagnation and oscillation in multi-obstacle environments. In addition, the redundancy in static obstacle handling and the lack of coordination between dynamic prediction and the global path further reduce the overall efficiency. These shortcomings seriously restrict the practical application effect of industrial mobile robots in complex and mixed environments. Summary of the Invention
[0004] This invention provides an artificial potential field method and a dynamic prediction method for path planning of industrial mobile robots, enabling efficient obstacle avoidance and stable path planning in complex environments.
[0005] To achieve the above objectives, the present invention provides the following technical solution:
[0006] Artificial potential field method and dynamic prediction-based path planning method for industrial mobile robots, including:
[0007] S100: Collects environmental data, identifies obstacle motion characteristics based on temporal difference and Euclidean distance features, and classifies obstacles into static obstacles and dynamic obstacles;
[0008] S200: Perform Kalman filtering to predict the motion trajectory of the dynamic obstacle to obtain the predicted position at future time. Then, use a density-based clustering algorithm to cluster the static obstacles to generate a new set of static obstacles represented by the geometric center of each obstacle cluster.
[0009] S300: Combining the target point, the new set of static obstacles, and the predicted positions of the dynamic obstacles, the attraction and repulsion forces are calculated using an improved artificial potential field function;
[0010] S400: Based on the predicted position of dynamic obstacles and the robot's motion state, it judges potential collision risks and incorporates the repulsive force of dynamic obstacles with collision risks into the potential field synthesis in advance to generate the final resultant force to guide the robot's motion.
[0011] S500: Real-time monitoring of displacement change trends over continuous time. When the cumulative displacement is below a preset threshold, it is determined to be trapped in a local optimum or oscillation state. It then executes an escape strategy based on virtual gravity points and replans the route until the target point is reached.
[0012] As a preferred embodiment of the present invention, the specific steps for identifying obstacle motion characteristics based on temporal difference and Euclidean distance features include:
[0013] Collect environmental point cloud data continuously and establish obstacle point sets;
[0014] Perform temporal difference operation on two adjacent frames of point cloud data to obtain the displacement vector of the obstacle point;
[0015] Calculate the Euclidean distance magnitude of the displacement vector of each obstacle point and compare it with the preset motion threshold;
[0016] When the Euclidean distance modulus is greater than the threshold, the corresponding obstacle is identified as a dynamic obstacle; when the Euclidean distance modulus is less than or equal to the threshold, the corresponding obstacle is identified as a static obstacle.
[0017] As a preferred embodiment of the present invention, the specific steps for predicting the motion trajectory of the dynamic obstacle using Kalman filtering include:
[0018] Establish a state-space model of the dynamic obstacle, where the state vector includes position coordinates and velocity components;
[0019] State prediction is performed based on the motion model and the process noise covariance matrix to obtain prior state estimates and covariance matrices.
[0020] The Kalman gain is calculated using sensor measurements and the measurement noise covariance matrix.
[0021] The prior estimates are corrected using Kalman gain, and the optimal position estimate of the dynamic obstacle at future time is output.
[0022] As a preferred embodiment of the present invention, the specific steps of clustering static obstacles using a density-based clustering algorithm include:
[0023] Set the cluster radius parameter and the minimum number of points threshold;
[0024] Traverse the static obstacle point set and calculate the number of neighborhood points of each point within the cluster radius;
[0025] Points with a number of neighboring points greater than the minimum number of points are marked as core points, forming the initial cluster core;
[0026] Based on density connectivity, core points and their neighboring points are grouped into the same obstacle cluster;
[0027] Calculate the geometric center of the coordinates of all points within each obstacle cluster, and generate a new static obstacle set represented by the geometric center of each obstacle cluster.
[0028] As a preferred embodiment of the present invention, the gravity calculation step includes:
[0029] Calculate the Euclidean distance between the robot's current position and the target point;
[0030] Determine whether the Euclidean distance is less than or equal to a preset threshold for the gravitational influence range;
[0031] When the distance is less than or equal to the threshold, the gravitational potential field value and gravitational vector are calculated using a quadratic function form.
[0032] When the distance is greater than the threshold, the gravitational potential field value and gravitational vector are calculated using a linear function.
[0033] The gravitational component pointing towards the target point is obtained by calculating the negative gradient of the gravitational potential field function.
[0034] As a preferred embodiment of the present invention, the repulsion calculation step includes:
[0035] Calculate the Euclidean distance between the robot's current position and each representative point of static obstacles and the predicted position of dynamic obstacles;
[0036] Determine whether each distance is less than the threshold of the repulsive force range of the corresponding obstacle;
[0037] For obstacles within the effective range, calculate the repulsive potential field value, which includes the distance factor and the robot-target point distance term;
[0038] The repulsive force components generated by each obstacle are obtained by calculating the negative gradient of the repulsive potential field function.
[0039] The total repulsive force is obtained by vector superposition of all static and dynamic obstacle repulsive force components.
[0040] As a preferred technical solution of the present invention, the specific steps of S400 include:
[0041] Calculate the robot's future position within the predicted time based on its current position and speed.
[0042] Calculate the Euclidean distance between the predicted position of each dynamic obstacle and the predicted position of the robot; compare the Euclidean distance with a preset collision risk threshold;
[0043] When the Euclidean distance is less than or equal to the threshold, it is determined that the dynamic obstacle has a potential collision risk;
[0044] The repulsive forces of dynamic obstacles that pose a collision risk are vector-synthesized with the repulsive and attractive forces of static obstacles to generate the final resultant force vector that guides the robot's movement.
[0045] As a preferred embodiment of the present invention, the specific steps of implementing the escape strategy based on virtual gravity points include:
[0046] The robot's position coordinates at multiple consecutive moments are stored using a time window. The displacement distance between adjacent moments is calculated and summed to obtain the cumulative displacement.
[0047] The cumulative displacement is compared with a preset oscillation determination threshold. When the cumulative displacement is less than the threshold, the direction vector of the current repulsive resultant force is determined.
[0048] Within the opposite sector of the direction vector of the repulsive resultant force, virtual gravity points are set at angles ranging from 90° to 180°, and the gravity of the original target point is set to zero.
[0049] Guide the robot to move toward a virtual gravity point until it escapes the local optimum region;
[0050] Once the robot is detected to have escaped its predicament, the virtual gravity point is canceled, and the gravity effect of the original target point is restored.
[0051] The beneficial effects of this invention are:
[0052] 1. This invention overcomes the problems of static obstacle avoidance redundancy and lack of coordination between dynamic prediction and global path in the prior art by organically integrating the clustering simplification of static obstacles, Kalman filter prediction of dynamic obstacles and improved artificial potential field function. It achieves efficient obstacle avoidance and path planning in complex mixed dynamic environments and significantly improves the success rate of single-machine and multi-machine collaborative operation.
[0053] 2. This invention further introduces a virtual gravity point escape mechanism, deeply coupled with the overall path planning, avoiding the problem of separation between escape and global planning in traditional methods. Based on this, multiple technical modules work together systematically, enabling industrial mobile robots to maintain stable operation in high-density obstacle environments and significantly improving task success rates. Attached Figure Description
[0054] The accompanying drawings are provided to further illustrate the invention and form part of the specification. They are used in conjunction with embodiments of the invention to explain the invention and do not constitute a limitation thereof. In the drawings:
[0055] Figure 1 This is a flowchart illustrating the artificial potential field method and dynamic prediction method for path planning of industrial mobile robots according to the present invention. Detailed Implementation
[0056] The preferred embodiments of the present invention will be described below with reference to the accompanying drawings. It should be understood that the preferred embodiments described herein are for illustration and explanation only and are not intended to limit the present invention.
[0057] Example 1: As Figure 1 As shown, the present invention provides an artificial potential field method and a dynamic prediction-based path planning method for industrial mobile robots, comprising:
[0058] S100: Collects environmental data, identifies obstacle motion characteristics based on temporal difference and Euclidean distance features, and classifies obstacles into static obstacles and dynamic obstacles;
[0059] Furthermore, the specific steps for identifying obstacle motion characteristics based on temporal difference and Euclidean distance features include:
[0060] Collect environmental point cloud data continuously and establish obstacle point sets;
[0061] Perform temporal difference operation on two adjacent frames of point cloud data to obtain the displacement vector of the obstacle point;
[0062] Calculate the Euclidean distance magnitude of the displacement vector of each obstacle point and compare it with the preset motion threshold;
[0063] When the Euclidean distance modulus is greater than the threshold, the corresponding obstacle is identified as a dynamic obstacle; when the Euclidean distance modulus is less than or equal to the threshold, the corresponding obstacle is identified as a static obstacle.
[0064] Specifically, firstly, environmental point cloud data is collected using a LiDAR system to obtain distance information within a 360-degree range, forming a set of obstacle points in a two-dimensional coordinate system. The LiDAR scans continuously at a fixed frequency (e.g., 10Hz), generating a point cloud frame containing several ranging points in each scan. Simultaneously, the IMU module collects the robot's own position coordinates in real time. and speed of movement This serves as a reference for subsequent calculations. The system receives the preset target point coordinate information. Complete the acquisition of basic data.
[0065] The raw point cloud data acquired by the lidar is preprocessed to remove noise points and ground reflection points that are outside the effective detection range. The effective ranging data is converted into obstacle location information in a Cartesian coordinate system, establishing an obstacle point set O(t) at the current time t. Neighborhood clustering is used to group nearby measurement points into the same obstacle object, and each obstacle object is assigned its centroid coordinates. express.
[0066] Obtain two consecutive sampling times and Obstacle point cloud data, among which For the current moment, This is the previous time step. The positions of the same obstacle object at two different time steps are paired and matched, and the correspondence is determined using the nearest neighbor method. Temporal difference operations are performed to calculate the displacement vector of each obstacle point.
[0067] ;
[0068] displacement vector for each obstacle The Euclidean distance modulus is calculated using the following formula:
[0069] ;
[0070] This distance modulus It represents the actual distance an obstacle moves within a continuous sampling time and serves as a core indicator for judging the motion characteristics of obstacles.
[0071] The system presets a motion detection threshold. Typical values range from 0.02 to 0.1 m, depending on the accuracy and noise level of the lidar. The displacement distance magnitude for each obstacle is... With threshold Perform numerical comparisons. When When the obstacle has undergone significant displacement during the observation period, it is marked as a dynamic obstacle and added to the dynamic obstacle set. ;when When the obstacle remains essentially stationary or experiences only slight vibrations, it is marked as a static obstacle and added to the static obstacle set. .
[0072] After classifying and determining all detected obstacle objects, the system forms two independent obstacle sets: a static obstacle set and a static obstacle set. and dynamic obstacle set These two sets contain the location coordinates, velocity information, and identification labels of obstacles of their respective categories, providing clearly categorized input data for subsequent path planning algorithms. The system outputs these two sets as the environmental perception results for the current moment, which are then used by the next prediction and planning modules.
[0073] Through the above implementation steps, the system can accurately distinguish between static and dynamic obstacles in the environment, laying the foundation for subsequent differentiated processing strategies. Static obstacles will undergo clustering optimization, while dynamic obstacles will undergo trajectory prediction, thereby achieving targeted path planning.
[0074] S200: Perform Kalman filtering to predict the motion trajectory of the dynamic obstacle to obtain the predicted position at future time. Then, use a density-based clustering algorithm to cluster the static obstacles to generate a new set of static obstacles represented by the geometric center of each obstacle cluster.
[0075] Furthermore, the specific steps for predicting the motion trajectory of the dynamic obstacle using Kalman filtering include:
[0076] Establish a state-space model of the dynamic obstacle, where the state vector includes position coordinates and velocity components;
[0077] State prediction is performed based on the motion model and the process noise covariance matrix to obtain prior state estimates and covariance matrices.
[0078] The Kalman gain is calculated using sensor measurements and the measurement noise covariance matrix.
[0079] The prior estimates are corrected using Kalman gain, and the optimal position estimate of the dynamic obstacle at future time is output.
[0080] Specifically, firstly, a state-space model of the dynamic obstacles is established. The state vector of each dynamic obstacle is defined as follows: ,in Indicates the position coordinates of the obstacle. This represents the velocity components of the obstacle along the x and y axes. The state transition matrix F adopts a uniform linear motion model, with a sampling time interval set to... Then the state transition matrix is:
[0081] ;
[0082] Initialization process noise covariance matrix This matrix reflects the uncertainty of the motion model. Its form is:
[0083] ;
[0084] in The typical range for acceleration noise variance is... .
[0085] During the prediction step, the prior state estimate is calculated based on the motion model and the best estimate from the previous time step:
[0086] ;
[0087] Simultaneously update the prior estimated covariance matrix:
[0088] ;
[0089] In the update step, state correction is performed using sensor measurements. The measurement matrix H is defined as a matrix that only observes position information:
[0090] ;
[0091] Calculate the Kalman gain:
[0092] ;
[0093] Where R is the covariance matrix of the measurement noise, which can be set as follows: The prior estimate is corrected using Kalman gain:
[0094] ;
[0095] ;
[0096] in, Based on the observation position, the dynamic obstacle future is output through the above iterative process. Predicted location value at time .
[0097] Furthermore, the specific steps for clustering static obstacles using a density-based clustering algorithm include:
[0098] Set the cluster radius parameter and the minimum number of points threshold;
[0099] Traverse the static obstacle point set and calculate the number of neighborhood points of each point within the cluster radius;
[0100] Points with a number of neighboring points greater than the minimum number of points are marked as core points, forming the initial cluster core;
[0101] Based on density connectivity, core points and their neighboring points are grouped into the same obstacle cluster;
[0102] Calculate the geometric center of the coordinates of all points within each obstacle cluster, and generate a new static obstacle set represented by the geometric center of each obstacle cluster.
[0103] Specifically, the core parameters of the DBSCAN clustering algorithm are first set. Cluster radius. Set to 1.5 times the robot's safe passage distance:
[0104] ;
[0105] Ensure that the clustered obstacle clusters accurately reflect the actual passage constraints. Minimum number of points threshold. The value is set to 3, meaning that a core point must contain at least 3 points in its neighborhood to form an effective cluster.
[0106] Traversing the static obstacle point set Each point in For the current point Calculate its radius The set of neighboring points within the range , The safe passage distance is set to 1.5 times the robot's width, defined as the robot's body width plus a safety margin of 0.2–0.5m. The specific calculation method is as follows: for any two points in the point set... and Calculate the Euclidean distance:
[0107] ;
[0108] like but belong The neighborhood of.
[0109] Determine the number of neighboring points. If Then Mark the core points and create new clusters. Add it to the current cluster, and also add all its neighboring points to the candidate queue.
[0110] Perform density connectivity expansion. Retrieve points one by one from the candidate queue. Recalculate neighborhood .like This is also a core point. Unvisited points in the neighborhood of a given obstacle are added to the candidate queue, expanding the clustering. This process is repeated until the candidate queue is empty, completing the construction of a connected cluster. The above process is repeated for the remaining unprocessed static obstacle points until all points have been visited. Ultimately, several independent obstacle clusters are formed.
[0111] Calculate the geometric center of each cluster. For clusters containing Clusters of points The formula for calculating the coordinates of its geometric center is:
[0112] ;
[0113] Generate a new set of static obstacles Using the geometric center of each cluster This replaces the original multiple obstacle points, thus achieving a simplified representation of static obstacles. Each geometric center point inherits the attribute information of obstacles in its respective cluster, including parameters such as obstacle type and influence range.
[0114] S300: Combining the target point, the new set of static obstacles, and the predicted positions of the dynamic obstacles, the attraction and repulsion forces are calculated using an improved artificial potential field function;
[0115] Furthermore, the gravity calculation step includes:
[0116] Calculate the Euclidean distance between the robot's current position and the target point;
[0117] Determine whether the Euclidean distance is less than or equal to a preset threshold for the gravitational influence range;
[0118] When the distance is less than or equal to the threshold, the gravitational potential field value and gravitational vector are calculated using a quadratic function form.
[0119] When the distance is greater than the threshold, the gravitational potential field value and gravitational vector are calculated using a linear function.
[0120] The gravitational component pointing towards the target point is obtained by calculating the negative gradient of the gravitational potential field function.
[0121] Specifically, first calculate the robot's current position. With the target point The Euclidean distance between them. The distance is calculated using the following formula:
[0122] ;
[0123] The calculated distance With the preset threshold of gravitational interaction range Numerical comparisons were performed. Threshold of gravitational influence range. The value is determined based on the scale of the task scenario and the robot's motion characteristics, and is usually set to 2-3 times the radius of the target area.
[0124] when At this time, the robot is within the near-field gravitational influence range of the target point, and the gravitational potential field value is calculated using a quadratic function. The expression for the gravitational potential field function is:
[0125] ;
[0126] in This is the gravitational gain coefficient, typically ranging from 0.5 to 5, and needs to be adjusted according to the robot's mass and control cycle. The corresponding gravitational vector is calculated using the negative gradient of the potential field function.
[0127] ;
[0128] The direction of this gravitational vector points towards the target point, and its magnitude is proportional to the distance.
[0129] when At this point, the robot is located within the far-field influence range of the target point. Therefore, a linear function form is used to avoid excessive gravitational force. The expression for the gravitational potential field function is modified as follows:
[0130] ;
[0131] The corresponding formula for calculating the gravitational vector is:
[0132] ;
[0133] The magnitude of the gravitational vector remains constant. The direction still points towards the target point, effectively avoiding control problems caused by excessive gravity at long distances.
[0134] Furthermore, the repulsive force calculation step includes:
[0135] Calculate the Euclidean distance between the robot's current position and each representative point of static obstacles and the predicted position of dynamic obstacles;
[0136] Determine whether each distance is less than the threshold of the repulsive force range of the corresponding obstacle;
[0137] For obstacles within the effective range, calculate the repulsive potential field value, which includes the distance factor and the robot-target point distance term;
[0138] The repulsive force components generated by each obstacle are obtained by calculating the negative gradient of the repulsive potential field function.
[0139] The total repulsive force is obtained by vector superposition of all static and dynamic obstacle repulsive force components.
[0140] Specifically, calculate the robot's current position. With new static obstacle set Representatives from various locations The Euclidean distance between them, and the predicted location of the dynamic obstacle. The Euclidean distance between them. The distance is calculated using the following formula:
[0141] ;
[0142] ;
[0143] Each calculated distance is compared with the threshold value of the repulsive force range of the corresponding obstacle. Compare and judge. Threshold of repulsive force range. The distance is determined based on the obstacle size and the robot's safety distance requirements, and is usually set as the robot radius plus a safety margin.
[0144] For satisfying Given an obstacle that enters the repulsive force's range, it's necessary to calculate the repulsive force it generates. An improved repulsive potential field function is used, incorporating a distance factor. Solving the problem of unattainable goals:
[0145] ;
[0146] in This is the repulsive force gain coefficient, typically ranging from 1 to 100, and needs to be adjusted according to the robot's mass and control cycle. The repulsive force vector is calculated using the negative gradient of the potential field function.
[0147] ;
[0148] in The repulsive component is calculated using the following formula:
[0149] ;
[0150] The gravitational component is calculated using the following formula:
[0151] ;
[0152] The component moves the robot away from the obstacle, and its size increases sharply as the distance from the obstacle decreases. The component-guided robot moves towards the target point, effectively solving the problem of unreachable targets near the target point in the traditional artificial potential field method.
[0153] For the representative points of static obstacles and the predicted locations of dynamic obstacles, calculate their respective repulsive force vectors using the method described above. Then, vectorically superimpose the repulsive force components generated by all obstacles entering the repulsive force's effective range.
[0154] ;
[0155] in The number of static obstacles that enter the repulsive force range. This represents the number of dynamic obstacles entering the repulsive force range. Through the above calculation process, the system obtains the gravitational vector at the current moment. and total repulsive force vector This provides basic data for subsequent potential field synthesis and path planning.
[0156] S400: Based on the predicted position of dynamic obstacles and the robot's motion state, it judges potential collision risks and incorporates the repulsive force of dynamic obstacles with collision risks into the potential field synthesis in advance to generate the final resultant force to guide the robot's motion.
[0157] Furthermore, the specific steps of S400 include:
[0158] Calculate the robot's future position within the predicted time based on its current position and speed.
[0159] Calculate the Euclidean distance between the predicted position of each dynamic obstacle and the predicted position of the robot; compare the Euclidean distance with a preset collision risk threshold;
[0160] When the Euclidean distance is less than or equal to the threshold, it is determined that the dynamic obstacle has a potential collision risk;
[0161] The repulsive forces of dynamic obstacles that pose a collision risk are vector-synthesized with the repulsive and attractive forces of static obstacles to generate the final resultant force vector that guides the robot's movement.
[0162] Specifically, firstly, based on the robot's current position and speed of movement Computational robots in predicting time The robot's future position is calculated using a uniform linear motion model.
[0163] ;
[0164] Expanded into specific coordinate form:
[0165] ;
[0166] ;
[0167] Calculate the predicted location of each dynamic obstacle Robot Predicted Location The Euclidean distance between them. The distance is calculated using the following formula:
[0168] ;
[0169] ;
[0170] The calculated predicted distance Collision risk threshold Perform numerical comparisons. Collision risk thresholds. It is typically set to 1.2 times the safe distance between the robot and the obstacle to ensure sufficient safety margin.
[0171] when At that time, the judgment of the first A dynamic obstacle poses a potential collision risk. Therefore, the repulsive force of this dynamic obstacle needs to be incorporated into the potential field calculation beforehand. First, the repulsive force vector generated by the dynamic obstacle at its current predicted position is calculated using the same improved repulsive potential field function as for static obstacles:
[0172] ;
[0173] ;
[0174] ;
[0175] in This represents the actual distance between the robot's current position and the predicted position of the dynamic obstacle.
[0176] For all dynamic obstacles that pose a collision risk, the repulsive force vectors they generate are superimposed:
[0177] ;
[0178] in This is a set of indexes for dynamic obstacles that pose a collision risk.
[0179] when At that time, the judgment of the first If a dynamic obstacle poses no potential collision risk, its impact on the current path planning is ignored, and its repulsive force is not included in the potential field synthesis.
[0180] Repulsive force from dynamic obstacles that pose a collision risk Repulsive force against static obstacles and target gravity Perform vector synthesis to generate the final resultant force vector that guides the robot's motion:
[0181] ;
[0182] The direction of this final resultant force vector determines the robot's direction of motion, and its unit direction vector is:
[0183] ;
[0184] The robot moves in a preset step length according to the direction of the final resultant force. Update location:
[0185] ;
[0186] Through the above collision risk assessment and potential field synthesis process, proactive obstacle avoidance of dynamic obstacles is achieved, ensuring that the robot can avoid potential collisions in advance, while avoiding unnecessary repulsive force interference that affects path efficiency.
[0187] S500: Real-time monitoring of displacement change trends over continuous time. When the cumulative displacement is below a preset threshold, it is determined to be trapped in a local optimum or oscillation state. It then executes an escape strategy based on virtual gravity points and replans the route until the target point is reached.
[0188] Furthermore, the specific steps for implementing the escape strategy based on virtual gravity points include:
[0189] The robot's position coordinates at multiple consecutive moments are stored using a time window. The displacement distance between adjacent moments is calculated and summed to obtain the cumulative displacement.
[0190] The cumulative displacement is compared with a preset oscillation determination threshold. When the cumulative displacement is less than the threshold, the direction vector of the current repulsive resultant force is determined.
[0191] Within the opposite sector of the direction vector of the repulsive resultant force, virtual gravity points are set at angles ranging from 90° to 180°, and the gravity of the original target point is set to zero.
[0192] Guide the robot to move toward a virtual gravity point until it escapes the local optimum region;
[0193] Once the robot is detected to have escaped its predicament, the virtual gravity point is canceled, and the gravity effect of the original target point is restored.
[0194] Specifically, the robot's displacement is first monitored, and its historical position coordinates are stored using a time window of length 3. The time window is represented as... ,in This represents the robot's current position. and These are the robot positions at the previous moment and two moments ago, respectively. At the end of each control cycle, the system automatically updates the time window, adding the latest position to the end of the window while removing the oldest historical position, maintaining a constant window length.
[0195] Calculate the displacement distance between adjacent time points. The system calculates the displacement distance of the current time point relative to the previous time point. Displacement distance between the previous two moments and the previous moment The formula for calculating displacement distance is:
[0196] ;
[0197] ;
[0198] The cumulative displacement is obtained by summing the displacement distances of two consecutive steps:
[0199] ;
[0200] This cumulative amount reflects the robot's overall motion amplitude over the last three moments, serving as a core indicator for judging local optima or oscillation states.
[0201] Accumulated displacement Compared with the preset oscillation judgment threshold Perform numerical comparisons. Oscillation detection threshold. The stride length is determined based on the robot's size and movement steps, and is typically set to 0.1 times the expected distance traveled per step. When the robot is determined to be trapped in a local optimum or oscillation state, an escape strategy needs to be executed. The direction vector of the current resultant repulsive force is determined. The system calculates the sum of the repulsive force vectors generated by all obstacles entering the repulsive force's range:
[0202] ;
[0203] in This refers to the number of static obstacles. This is a set of indices for dynamic obstacles that pose a collision risk. The unit vector representing the direction of the resultant repulsive force is:
[0204] ;
[0205] Virtual attraction points are set within a sector-shaped region opposite to the direction of the resultant repulsive force. The system first determines the opposite direction of the resultant repulsive force:
[0206] ;
[0207] Then, a virtual gravity point is set at an angle 135° away from the opposite direction. The formula for calculating the position vector of the virtual gravity point is:
[0208] ;
[0209] in The angle between the opposite direction of the resultant repulsive force and the positive x-axis is given. This is the distance between the virtual gravity point and the robot's current position, usually set to 0.3 times the distance from the robot to the target point.
[0210] Original target point gravitational coefficient Setting it to zero eliminates the original target point's guiding effect on the robot's movement. Simultaneously, the virtual gravity point is activated. The gravity calculations are performed, and the gravity coefficient of the virtual gravity point is set to 1.5 times the original gravity coefficient to ensure sufficient guidance for escape.
[0211] Calculate the gravitational vector generated by the virtual gravity point. The distance between the robot's current position and the virtual gravity point is:
[0212] ;
[0213] The formula for calculating the virtual gravitational vector is:
[0214] ;
[0215] in This is the virtual gravity coefficient.
[0216] The robot generates a resultant force under the combined action of virtual gravity, static obstacle repulsion, and dynamic obstacle repulsion:
[0217] ;
[0218] The robot moves along the direction of the resultant force, and the distance it moves is a preset step size. :
[0219] ;
[0220] The system continuously monitors the robot's motion status. The cumulative displacement is recalculated within each control cycle. When the cumulative displacement over three consecutive control cycles exceeds the escape threshold... At that point, the system determines that the robot has successfully escaped the local optimum. Upon detecting successful escape, the system immediately cancels the virtual gravity point. The effect is to set its gravitational coefficient to zero. Simultaneously, the original target point is restored. The gravitational effect will increase the gravitational coefficient. Restore to the initial settings. Guided by the gravity of the original target point, the robot continues to move towards the target point until it reaches the target location and completes the path planning task.
[0221] By implementing the above-mentioned escape strategies, the system can effectively identify and handle local optimal traps and path oscillations that robots may encounter in complex obstacle environments, ensuring the reliability of path planning and the task completion rate.
[0222] Example 2:
[0223] In the final assembly workshop of a certain automobile manufacturing plant, the workshop area is approximately 5,000 square meters and has four parallel production lines, each containing 12 workstations. The workshop contains fixed production equipment, temporarily stacked parts, operators, forklifts, etc., forming a complex and mixed obstacle environment. The production cycle requires automated guided vehicles (AGVs) to complete the delivery of parts from the warehouse to the designated workstation within 3 minutes; any delay will affect the entire production line.
[0224] The factory initially used the traditional artificial potential field method for path planning. In complex environments, static obstacle avoidance became redundant, dynamic prediction lacked coordination with static obstacle avoidance, and the escape mechanism was disconnected from global planning, leading to overall system failure. Statistical results showed that the task success rate was only 67% in similar scenarios.
[0225] In a typical task, two AGVs simultaneously receive delivery instructions: AGV-A transports the engine block to station 7 of line 3, and AGV-B transports the gearbox to station 5 of line 2. Since the two target stations are only 8 meters apart, their paths inevitably intersect. Meanwhile, the environment contains 6 welding machines, 3 stacks of door assemblies, 4 operators, 1 forklift, and other operating AGVs, creating an extremely complex dynamic scenario.
[0226] After applying the method of this invention, four operators, one forklift, and two other AGVs are first identified as dynamic obstacles through temporal difference analysis, while six welding devices and three piles of door assemblies are identified as static obstacles. This invention organically combines the simplification of static obstacle clustering with the prediction and avoidance of dynamic obstacles. The DBSCAN algorithm clusters the three adjacent piles of door assemblies (which originally generated 27 repulsion points) into a single representative point, while the six welding devices are reasonably grouped. This simplification saves a lot of computational resources for the dynamic prediction algorithm, enabling the system to perform accurate Kalman filter predictions on six dynamic targets simultaneously. The prediction results show that operator A will appear on the AGV-A path in 1.2 seconds, and AGV-B will intersect with the forklift path in 1.5 seconds. However, traditional methods would allow the two AGVs to avoid obstacles independently, which could potentially lead to mutual obstruction in narrow passages. Therefore, the distance factor term in the improved potential field function allows both AGVs to consider the direction of the final target point while avoiding obstacles. AGV-A chooses to avoid to the left (towards line 3), and AGV-B chooses to avoid to the right (towards line 2), thus avoiding mutual interference. More importantly, when AGV-A experiences slight oscillations between the two welding machines due to space constraints during obstacle avoidance, the virtual gravity point escape strategy seamlessly integrates with the overall path planning: the system does not simply set an escape point, but combines the predicted trajectory of AGV-B and the direction of the target workstation to set the virtual gravity point at the optimal position that allows for escape without affecting the AGV-B's path.
[0227] In this task, AGV-A completed the delivery within 2 minutes and 48 seconds, and AGV-B completed the delivery within 2 minutes and 52 seconds, both meeting the production cycle requirements. Throughout the process, the movement trajectories of the two AGVs were coordinated, with no mutual waiting or repeated obstacle avoidance. After three months of operational verification, the method of this invention increased the AGV task success rate in the workshop from 67% to 97.8%, and improved multi-machine collaborative efficiency by 156%, significantly enhancing the overall stability and efficiency of the production system.
[0228] Finally, it should be noted that the above descriptions are merely preferred embodiments of the present invention and are not intended to limit the present invention. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art can still modify the technical solutions described in the foregoing embodiments or make equivalent substitutions for some of the technical features. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. An industrial mobile robot path planning method of artificial potential field method and dynamic prediction, characterized in that, Comprise: S100: Collect environmental data, identify the motion characteristics of obstacles based on time difference and Euclidean distance characteristics, and divide the obstacles into static obstacles and dynamic obstacles; S200: Kalman filter prediction is carried out on the motion trajectory of the dynamic obstacle, the predicted position at future time is obtained, the static obstacle is clustered by using the density-based clustering algorithm, and a new static obstacle set represented by the geometric center of each obstacle cluster is generated; S300: Combined with the target point, the new static obstacle set and the predicted position of the dynamic obstacle, the improved artificial potential field function is used to calculate the gravity and repulsion respectively; S400: According to the predicted position of the dynamic obstacle and the motion state of the robot, the potential collision risk is judged, and the repulsion of the dynamic obstacle with collision risk is included in the potential field synthesis in advance to generate the final resultant force to guide the robot motion; S5 00: Real-time monitoring of displacement change trend at continuous time, when the displacement accumulation is lower than the preset threshold, it is determined that it is trapped in local optimum or oscillation state, and the virtual gravity point based escape strategy is executed to replan the route until the target point is reached; The specific steps of the virtual gravity point based escape strategy include: Using time window to store the position coordinates of the robot at continuous time, calculating the displacement distance between adjacent time and accumulating sum, and obtaining the displacement accumulation; The displacement accumulation is compared with the preset oscillation judgment threshold, when the displacement accumulation is less than the threshold, the direction vector of the current repulsive force is determined; In the reverse sector range of the direction vector of the repulsive force, the virtual gravity point is set off 90° to 180° angle, and the original target point gravity is set to zero; Guide the robot to move to the virtual gravity point until it escapes from the local optimal area; Cancel the virtual gravity point after detecting that the robot escapes, and restore the gravity effect of the original target point. 2.The industrial mobile robot path planning method of claim 1, wherein, The specific steps of identifying the motion characteristics of obstacles based on time difference and Euclidean distance characteristics include: Collecting environmental point cloud data at continuous time and establishing obstacle point set; Performing time difference operation on adjacent two frames of point cloud data to obtain displacement vector of obstacle points; Calculate the Euclidean distance modulus value of each obstacle point displacement vector, and compare it with the preset motion threshold; When the Euclidean distance modulus value is greater than the threshold, the corresponding obstacle is determined as a dynamic obstacle; when the Euclidean distance modulus value is less than or equal to the threshold, the corresponding obstacle is determined as a static obstacle. 3.The industrial mobile robot path planning method of artificial potential field and dynamic prediction according to claim 1, wherein, The specific steps of Kalman filter prediction of the motion trajectory of the dynamic obstacle include: Establishing the state space model of the dynamic obstacle, the state vector including position coordinates and velocity components; Based on the motion model and process noise covariance matrix, the state prediction is carried out to obtain the prior state estimation value and covariance matrix; Using sensor measurement value and measurement noise covariance matrix to calculate Kalman gain; The optimal position estimation value of the dynamic obstacle at future time is output by modifying the prior estimation value through Kalman gain. 4.The industrial mobile robot path planning method of artificial potential field and dynamic prediction of claim 1, wherein, The specific steps of clustering the static obstacles by using the density-based clustering algorithm include: Set the clustering radius parameter and the minimum point number threshold; Traverse the static obstacle point set, calculate the number of neighborhood points within the clustering radius of each point; Mark the points with a neighborhood point number greater than the minimum point threshold as core points to form an initial clustering core; Merge the core points and their neighborhood points into the same obstacle cluster based on density connectivity; Calculate the geometric center of all point coordinates in each obstacle cluster, and generate a new static obstacle set with the geometric center of each obstacle cluster as the representative. 5.The industrial mobile robot path planning method of artificial potential field and dynamic prediction of claim 1, wherein, The gravity calculation step includes: Calculate the Euclidean distance between the current position of the robot and the target point; Determine whether the Euclidean distance is less than or equal to the preset gravity range threshold; When the distance is less than or equal to the threshold, calculate the gravity potential field value and the gravity vector in the form of a quadratic function; When the distance is greater than the threshold, calculate the gravity potential field value and the gravity vector in the form of a linear function; Get the gravity component pointing to the target point by negative gradient operation of the gravity potential field function. 6.The industrial mobile robot path planning method of artificial potential field and dynamic prediction of claim 1, wherein, The repulsion calculation step includes: Calculate the Euclidean distance between the current position of the robot and each static obstacle representative point, and the predicted position of the dynamic obstacle, respectively; Determine whether each distance is less than the repulsion range threshold of the corresponding obstacle; For obstacles within the range of action, calculate the repulsive potential field value containing the distance factor and the robot-target point distance term; Get the repulsive component generated by each obstacle by negative gradient operation of the repulsive potential field function, respectively; Vector superposition of all static obstacle repulsive components and dynamic obstacle repulsive components to get the total repulsive force. 7.The industrial mobile robot path planning method of artificial potential field and dynamic prediction of claim 1, wherein, The S400 specific steps include: According to the current position and motion speed of the robot, calculate the future position of the robot within the prediction time; Calculate the Euclidean distance between each dynamic obstacle predicted position and the robot predicted position; compare the Euclidean distance with the preset collision risk threshold; When the Euclidean distance is less than or equal to the threshold, determine that the dynamic obstacle has potential collision risk; Vector synthesis of the repulsive force of the dynamic obstacle with collision risk, the repulsive force and the attractive force of the static obstacle to generate the final resultant force vector guiding the motion of the robot.
Citation Information
Patent Citations
Robot path planning method based on artificial potential field and reinforcement learning
CN112799386A
Curve early warning method, system and terminal based on target detection
CN120089020A
Method to obstacle avoidance for wheeled mobile robots
KR1020160054862A