Robot path planning method and device for semi-structured environment
By calculating distance scores between the robot and the target point, static obstacles, and dynamic obstacles, and introducing a dynamic weight adjustment mechanism to optimize path planning, the problem of inflexible obstacle avoidance in traditional methods is solved, enabling efficient and safe navigation of the robot in complex environments.
Patent Information
- Application Number
- CN202511526593.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-24
- Publication Date
- 2025-11-21
- Estimated Expiration
- 2045-10-24
AI Technical Summary
Traditional path planning methods are not flexible enough in obstacle avoidance strategies when facing dynamic and complex environments, making it difficult to effectively avoid obstacles, especially in semi-structured environments where the risk of collision between the robot and dynamic obstacles is high.
By calculating the distances between the robot and the target point, static obstacles, and dynamic obstacles, the target guidance capability, environmental safety, and collision risk scores are evaluated. A dynamic weight adjustment mechanism is introduced to select the speed pair with the highest comprehensive score as the next motion command, thereby optimizing the path planning.
It improves the robot's navigation efficiency and safety in complex environments, enabling it to flexibly cope with dynamic obstacles and ensure that the robot reaches its target efficiently and safely.
Smart Images

Figure CN120991887A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of path planning technology, and in particular to a robot path planning method and apparatus for semi-structured environments. Background Technology
[0002] Mobile robots play an important role in various scenarios such as warehousing, logistics, and rescue. Path planning, as a core component of mobile robot technology, is crucial for improving the robot's autonomous navigation capabilities and work efficiency.
[0003] Traditional path planning methods mainly include two categories: global path planning and local path planning. Global path planning is based on known environmental map information to plan a collision-free path from the starting point to the end point for the robot. However, when facing a dynamic and complex environment, traditional methods have shortcomings such as insufficient flexibility in obstacle avoidance strategies, which can effectively avoid obstacles. Summary of the Invention
[0004] In view of this, this application provides a robot path planning method and apparatus for semi-structured environments, which can effectively avoid collision problems during robot operation.
[0005] Specifically, this application is implemented through the following technical solution:
[0006] The first aspect of this application provides a robot path planning method for semi-structured environments, the method comprising:
[0007] During the local optimization of the global path, for each velocity pair in which the robot has no collision in the next time window, the first distance between the robot and the target point, the second distance between the robot and the static obstacle, and the third distance between the robot and the dynamic obstacle are calculated; among them, the third distance between the robot and the dynamic obstacle is determined based on the position of the robot and the future position of the dynamic obstacle after a preset number of time steps.
[0008] Based on the first distance, a target guidance score is calculated to measure whether the robot is moving toward the target; based on the second distance, an environmental safety score is calculated to measure trajectory safety; based on the third distance, a collision risk score is calculated to measure the robot's obstacle avoidance ability; and based on the speed pair, a speed score is calculated to measure the robot's speed.
[0009] Based on the robot's position, the target point's position, and the first distance, a first weight for the target guidance score is determined; based on the robot's position and the environmental safety score, a second weight for the environmental safety score is determined; based on the robot's position and the collision risk score, a third weight for the collision risk score is determined; wherein, the first weight is negatively correlated with the first distance;
[0010] The comprehensive score for the speed pair is calculated based on the target guidance score, the environmental safety score, the collision risk score, the speed score, the first weight, the second weight, the third weight, and the fourth weight pre-set for the speed score.
[0011] Based on the overall score of each speed pair, the speed pair with the highest overall score is selected as the next movement instruction.
[0012] A second aspect of this application provides a robot path planning device for semi-structured environments, the device comprising a calculation module, a determination module, a scoring module, and a processing module; wherein,
[0013] The calculation module is used to calculate, during the process of local optimization of the global path, the first distance between the robot and the target point, the second distance between the robot and the static obstacle, and the third distance between the robot and the dynamic obstacle for each velocity pair in the next time window where the robot has no collision; wherein, the third distance between the robot and the dynamic obstacle is determined based on the position of the robot and the future position of the dynamic obstacle after a preset number of time steps.
[0014] The calculation module is further configured to calculate, based on the first distance, a target guidance score to measure whether the robot is moving toward the target; based on the second distance, an environmental safety score to measure trajectory safety; based on the third distance, a collision risk score to measure the robot's obstacle avoidance ability; and based on the speed pair, a speed score to measure the robot's speed.
[0015] The determining module is configured to determine a first weight for the target guidance score based on the robot's position, the target point's position, and the first distance; determine a second weight for the environmental safety score based on the robot's position and the environmental safety score; and determine a third weight for the collision risk score based on the robot's position and the collision risk score; wherein the first weight is negatively correlated with the first distance.
[0016] The scoring module is used to calculate a comprehensive score for the speed pair based on the target guidance score, the environmental safety score, the collision risk score, the speed score, the first weight, the second weight, the third weight, and a fourth weight pre-set for the speed score.
[0017] The processing module is used to select the speed pair with the highest comprehensive score as the next motion command based on the comprehensive score of each speed pair.
[0018] The robot path planning method and apparatus for semi-structured environments provided in this application, in the first aspect, determine the third distance between the robot and dynamic obstacles during the robot path planning process based on the prediction of the dynamic obstacle's position after a preset number of time steps, thus enhancing the robot's adaptability to dynamic environments; in the second aspect, it calculates a target guidance score (measuring whether the robot moves towards the target), an environmental safety score (measuring trajectory safety), a collision risk score (measuring obstacle avoidance ability), and a speed score (measuring speed), which comprehensively evaluate the quality of the robot's movement from different dimensions, providing data support for intelligent selection of movement commands; in the third aspect, it aims to achieve more flexible... To flexibly adapt to different environmental conditions and movement requirements, a dynamic weight adjustment mechanism is introduced. The first weight of the target guidance score is negatively correlated with the first distance, meaning that the closer the robot is to the target point, the higher the importance of target guidance. Simultaneously, based on the robot's position, environmental safety score, and collision risk score, the second and third weights are dynamically adjusted to ensure the robot moves towards the target as efficiently as possible while ensuring safety. Fourthly, after calculating the comprehensive score of each speed pair, the speed pair with the highest comprehensive score is intelligently selected as the next movement command. This comprehensively considers the robot's target guidance, safety, obstacle avoidance ability, and travel speed, ensuring efficient and safe navigation in complex environments. Thus, through refined calculation and intelligent selection, static and dynamic obstacles are divided into different categories for separate calculation, resulting in two different adaptive weight values. This improves the robot's navigation efficiency in complex environments, not only helping it find the optimal path to the target faster but also flexibly adjusting its movement strategy when dynamic obstacles appear to effectively avoid collisions. Furthermore, through the dynamic weight adjustment mechanism, the robot's navigation performance under different environmental conditions is further optimized, achieving both navigation efficiency and safety in complex environments. Attached Figure Description
[0019] Figure 1 A flowchart of an embodiment of the robot path planning method for semi-structured environments provided in this application;
[0020] Figure 2A schematic diagram illustrating a partial optimization as shown in an exemplary embodiment of this application;
[0021] Figure 3 This is a hardware structure diagram of a robot path planning device for a semi-structured environment, which is the robot path planning device for a semi-structured environment described in this application.
[0022] Figure 4 This is a schematic diagram of the structure of a robot path planning device for semi-structured environments provided in this application. Detailed Implementation
[0023] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application.
[0024] The terminology used in this application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. The singular forms “a,” “the,” and “the” used herein are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any and all possible combinations of one or more of the associated listed items.
[0025] It should be understood that although the terms first, second, third, etc., may be used in this application to describe various information, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to determination."
[0026] The following specific embodiments are given to illustrate the technical solution of this application in detail.
[0027] Figure 1 This is a flowchart of an embodiment of the robot path planning method for semi-structured environments provided in this application. Please refer to... Figure 1 The method provided in this embodiment may include:
[0028] S101. During the local optimization of the global path, for each velocity pair in which the robot has no collision in the next time window, calculate the first distance between the robot and the target point, the second distance between the robot and the static obstacle, and the third distance between the robot and the dynamic obstacle; wherein, the third distance between the robot and the dynamic obstacle is determined based on the position of the robot and the future position of the dynamic obstacle after a preset number of time steps.
[0029] Robot path planning includes two processes: global path planning and local optimization of the global path. These mainly include:
[0030] (1) Operate in a predefined global map environment and determine the global path based on the global path planning algorithm.
[0031] (2) Perform local optimization on the global path to facilitate the robot's navigation to each sub-target.
[0032] Optionally, in one possible implementation, the process of determining the global path may include:
[0033] (1) Determine the initial global path using a neural network-based global path planning algorithm in a predefined global map environment; wherein, when determining the initial global path, the constraints include the robot's kinematic constraints.
[0034] Specifically, the predefined global map environment can include information such as obstacle locations and road topology.
[0035] In practice, the global map environment can be obtained through map generation technologies such as synchronous positioning and map building.
[0036] Furthermore, neural network-based global path planning algorithms can generate a global path from the starting point to the destination by learning the relationship between environmental features and path optimization objectives (such as shortest path, lowest energy consumption). Furthermore, the robot's kinematic constraints are the limitations imposed on path planning by the robot's motion capabilities. For example, in one embodiment, the robot's kinematic constraints may include the robot's turning radius, maximum speed and maximum acceleration, and joint angle limitations.
[0037] By integrating kinematic constraints, the goal is to generate collision-free paths that are not only efficient but also smoother and better suited to the robot's mobility. This optimization ensures that the generated path matches the robot's actual motion characteristics, thereby improving navigation and reducing the risk of collisions.
[0038] In robot path planning, ensuring the robot can move safely and efficiently from the starting point to the destination is crucial. To achieve this, kinematic constraints are introduced to optimize the path. For example, the robot's radius and the distance between path inflection points are introduced to ensure that the robot does not collide with obstacles when passing through path inflection points.
[0039] In addition to considering the robot's radius, a safety distance is introduced to ensure that the robot maintains a sufficient distance from obstacles or other potential risks during movement, thereby avoiding any collisions or dangerous situations.
[0040] In practice, this step involves defining the topology map as a predefined global map and marking the starting point, target point, and static obstacles on it. The map is then input into a neural network, and calculations are performed through forward propagation to generate multiple possible initial global paths from the starting point to the target point.
[0041] (2) The initial global path is smoothed by cubic Bézier curve to obtain the global path.
[0042] Specifically, cubic Bézier curve smoothing is a method of optimizing paths using mathematical curves. A cubic Bézier curve is defined by four points: a starting point, two control points, and a ending point. In path planning, control points can be used to adjust the shape of the path, making it smoother.
[0043] In practice, the cubic Bézier curve is defined by four control points, which can generate a continuous and smooth curvature path, eliminate sharp turning points in the initial path, and ensure that the optimized path is smooth and the robot is safe.
[0044] In practice, the starting point and the ending point are first determined. These points represent the starting and ending points of the robot's movement and are usually determined based on task requirements or environmental information. Then, control points are set by placing appropriate control points between the starting point and the ending point to adjust the curvature and direction of the path. The positions of these control points can be automatically calculated by an algorithm or manually set by the operator. Then, a cubic Bézier curve is generated based on the starting point, control points, and the ending point. This curve is the obtained global path.
[0045] The robot path planning method for semi-structured environments provided in this embodiment is a global path planning method based on neural networks. It can handle dynamic environments and nonlinear problems and is more adaptable than traditional algorithms. Furthermore, the cubic Bézier curve smoothing process eliminates the problems of broken line turning and curvature change in the initial path, generating a continuous and smooth curve, which improves the stability of robot motion, reduces unnecessary turns and stops, and thus improves the overall motion efficiency.
[0046] As described above, after obtaining the global path, further local optimization is performed on the global path to ensure that the robot can effectively bypass obstacles using limited global information.
[0047] It should be noted that local optimization is a process of adjusting and optimizing the robot's movement parameters in real time based on the robot's current position, speed, and surrounding environment information, on the basis of the global path.
[0048] Figure 2 This is a schematic diagram illustrating a local optimization as shown in an exemplary embodiment of this application. Please refer to... Figure 2 The path of the robot from the starting point to the target point is the global path. During the robot's movement, the local optimization area is a circle with the robot as the center. The global path within the optimization area is the local path. By optimizing the local path, the robot's obstacle avoidance performance when facing a mixture of dynamic and static obstacles is improved.
[0049] Furthermore, in this application, local optimization is performed based on an improved dynamic window approximation algorithm. When performing local optimization using the improved window approximation algorithm, the optimal speed pair for each time window can be determined for a set of future time windows. Then, in each speed window, the robot's actions are controlled based on the determined optimal speed pair to achieve obstacle avoidance.
[0050] Specifically, the size of the time window is set according to actual needs. In this embodiment, it is not limited. For example, the time window can be determined to be 0.5 seconds based on the robot's reaction time. Furthermore, the velocity pair includes the robot's angular velocity and linear velocity.
[0051] In practice, for the next time window, multiple collision-free speed pairs can be identified first. Then, each speed pair is scored to obtain a comprehensive score for each speed pair. Based on the comprehensive score of each speed pair, the speed pair with the highest comprehensive score is selected as the optimal speed pair.
[0052] Specifically, the method for determining multiple collision-free velocity pairs within the next time window may include:
[0053] (1) Determine the velocity sampling space based on the limitations of the robot's hardware structure, surrounding environment and other conditions.
[0054] In practice, speed boundary limits, acceleration limits, and environmental obstacle limits can be determined based on the robot's model and the generated global path, thereby generating a speed sampling space.
[0055] In one embodiment, the velocity sampling space is defined as follows:
[0056] ;
[0057] Where Vm represents the kinematic constraints of the robot. and Let these be the robot's minimum and maximum linear velocities. and These are the robot's minimum and maximum angular velocities.
[0058] The limits of linear and angular acceleration of a mobile robot are constrained by motor performance. Assuming maximum acceleration and deceleration are the same, velocity is defined spatially as follows:
[0059] ;
[0060] Where Vd represents the kinematic constraints of the mobile robot, avmax and awmax represent the minimum and maximum accelerations of the mobile robot, vc and ωc represent the linear and angular velocities of the mobile robot, and Δt represents the duration of the change.
[0061] (2) Sample evenly at the velocity sampling space interval to obtain all velocity pairs of the robot.
[0062] Specifically, the DWA algorithm can be used to uniformly sample within a predetermined velocity sampling space according to a preset sampling interval.
[0063] Furthermore, the specific duration of the sampling interval is set according to actual needs, and this embodiment does not limit it. For example, in one embodiment, the sampling interval can be determined according to the robot's running speed to prevent collisions caused by excessively short sampling intervals.
[0064] In practice, after determining the sampling velocity space, the DWA algorithm is used to uniformly sample within this velocity sampling space at a certain sampling interval. The sample set is represented as follows:
[0065] ;
[0066] Where n is the sampling set, and Let these be the minimum and maximum linear velocities of the robot in the velocity sampling space. and These represent the minimum and maximum angular velocities of the robot in the velocity sampling space.
[0067] (3) Filter each velocity pair combination, remove velocity pairs that collide, and obtain multiple velocity pairs that do not collide.
[0068] Specifically, considering the obstacles around the mobile robot, the constraints to prevent the mobile robot from colliding with the surrounding obstacles at any given moment are as follows:
[0069] ;
[0070] in, and Let these be the robot's minimum and maximum linear velocities. and These are the robot's minimum and maximum angular velocities.
[0071] Furthermore, after determining the collision-free velocity pairs of the robot in the next time window, this step calculates, for each velocity pair, the first distance between the robot and the target point, the second distance between the robot and the static obstacle, and the third distance between the robot and the dynamic obstacle.
[0072] Furthermore, static obstacles refer to objects that are stationary on the map, while dynamic obstacles refer to objects whose position or velocity changes over time. For example, in one embodiment, static obstacles may include walls, containers, etc.; dynamic obstacles may include pedestrians, vehicles, etc. Specifically, a first distance can be determined based on the robot's current position and the target point's position; a second distance can be calculated based on the robot's position and the positions of static obstacles identified in the global map environment; and a third distance can be determined based on the robot's position and the future positions of dynamic obstacles after a preset number of time steps. The robot's position is determined in real time based on sensors mounted on the robot.
[0073] Furthermore, the first distance can measure whether the robot is moving towards the target point and how far it still needs to go to reach the target point. The second distance can assess the impact of static obstacles on the robot and is used to evaluate the safety of the trajectory. The third distance is used to assess the impact of dynamic obstacles on the robot and can also be used to evaluate the safety of the trajectory.
[0074] Specifically, in one possible implementation, the process of determining the future position of a dynamic obstacle after a preset number of time steps may include:
[0075] (1) When a dynamic obstacle enters the detection range of the robot, record the position of the dynamic obstacle in n consecutive time steps, and establish the position matrix of the dynamic obstacle based on the position of the dynamic obstacle in n consecutive time steps.
[0076] Specifically, during local path optimization, the robot's sensors detect the position of dynamic obstacles, and when a dynamic obstacle is detected to have entered the robot's detection range, the robot tracks the dynamic obstacle.
[0077] It should be noted that the specific range of the detection range is set according to actual needs, and this embodiment does not limit it. For example, in one embodiment, the detection range can be determined based on the robot's radius and a preset safety distance, and the circle with the robot as the center and the safety distance as the radius can be defined as the detection range.
[0078] Specifically, when tracking dynamic obstacles, the position of the obstacle is recorded over n consecutive time steps, and a position matrix of the obstacle is established based on its position over these n time steps. The time step can be 0.1 seconds. In practice, the robot's onboard LiDAR can perform point cloud clustering every 0.1 seconds to extract the outline of the dynamic obstacle and record its position coordinates (x, y, z).
[0079] Furthermore, the position matrix of a dynamic obstacle is a matrix composed of the position coordinates of the dynamic obstacle at multiple consecutive time steps. The movement law of the obstacle can be analyzed through the position matrix of the dynamic obstacle.
[0080] In practice, the position matrix is as follows:
[0081] ;
[0082] in, The x-coordinate of the dynamic obstacle at the first time step. Let n be the ordinate of the dynamic obstacle in the first time step. The maximum value of n is equal to the total number of time steps. Let x be the x-coordinate of the dynamic obstacle at the nth time step. Let be the ordinate of the dynamic obstacle at the nth time step, where n is the time step.
[0083] (2) Based on the position matrix, predict the future position of the dynamic obstacle after a preset number of time steps using a polynomial fitting function based on the least squares method.
[0084] In practice, the order of the polynomial can be selected based on the motion characteristics of the dynamic obstacle. For example, in one embodiment, when the dynamic obstacle is moving at a constant speed, a first-order polynomial can be selected; when the dynamic obstacle is moving in a curved path, a second-order polynomial can be selected.
[0085] Furthermore, the specific value of the preset quantity is set according to actual needs, and this embodiment does not limit it. For example, in one embodiment, the preset quantity can be determined to be 5 based on the distance between the dynamic obstacle and the robot.
[0086] Furthermore, a system of equations corresponding to the least squares method is constructed by combining the position data of dynamic obstacles in the position matrix. For example, in one embodiment, for a quadratic polynomial, the fitted polynomial function is obtained with the goal of minimizing the error, and the future position of the dynamic obstacle after a preset number of time steps is calculated based on this polynomial function.
[0087] In practice, the predicted future position can be as follows:
[0088] ;
[0089] in, The x-coordinate of the future location. The vertical coordinate represents the future location.
[0090] It should be noted that, due to the irregular movement of obstacles, a rolling window method can be used. When new position data becomes available, the fitting coefficients are recalculated and the position coordinate matrix is updated to track the movement trend of dynamic obstacles in real time.
[0091] The robot path planning method for semi-structured environments provided in this embodiment captures the motion state of dynamic obstacles by updating the position matrix in real time and adapting to various motion modes using polynomial fitting, thereby significantly improving the trajectory prediction accuracy. At the same time, due to the low computational complexity of the least squares prediction method, it can achieve fast and efficient prediction to obtain the accurate future position of dynamic obstacles.
[0092] S102. Based on the first distance, calculate a target guidance score to measure whether the robot is moving towards the target; based on the second distance, calculate an environmental safety score to measure trajectory safety; based on the third distance, calculate a collision risk score to measure the robot's obstacle avoidance ability; based on the speed pair, calculate a speed score to measure the robot's speed.
[0093] Specifically, the target guidance score is used to measure whether the robot is moving toward the target. In one embodiment, the first distance itself is directly determined as the target guidance score for the first distance.
[0094] Furthermore, the environmental safety score is used to measure the safety of the robot trajectory. In one embodiment, the reciprocal of the second distance is determined as the environmental safety score.
[0095] Furthermore, the collision risk score is used to measure the robot's obstacle avoidance ability. In one embodiment, calculating the collision risk score to measure the robot's obstacle avoidance ability based on the third distance includes:
[0096] Calculate the collision risk score using the following formula:
[0097] ;
[0098] Among them, the For the collision risk score, the The third distance; The attenuation coefficient is positive.
[0099] Furthermore, the speed score is used to measure the speed of the robot's movement. In one embodiment, the speed value is directly determined as the speed score.
[0100] Referring to the preceding description, in this embodiment, the reciprocal of the second distance is determined as the environmental safety score.
[0101] The environmental safety score can be calculated based on the following formula:
[0102] ;
[0103] in, For environmental safety scoring, s This is the second distance.
[0104] At the same time, the collision risk score is calculated according to the following formula:
[0105] ;
[0106] Among them, the For the collision risk score, the The third distance; The attenuation coefficient is positive.
[0107] Understandably, when the second distance is small, the environmental safety score increases significantly, alerting the system to a high collision risk in the current trajectory, requiring timely adjustments to avoid potential safety hazards. Conversely, if the robot maintains a safe distance from static obstacles, its environmental safety score will be relatively low, indicating a higher level of trajectory safety. By applying this reciprocal relationship, changes in the distance between the robot and static obstacles can be intuitively and sensitively captured, providing a strong basis for real-time adjustments to path planning and ensuring safe navigation of the robot in complex environments.
[0108] Furthermore, as the third distance increases, its exponential function value decreases rapidly, meaning the environmental safety score decreases, indicating a reduced risk of collision between the robot and dynamic obstacles and a safer trajectory. Conversely, if the third distance decreases, the environmental safety score increases significantly, warning the system that the current trajectory carries a high risk of collision and requires timely adjustment. This exponential function-based scoring mechanism can sensitively capture changes in the distance between the robot and dynamic obstacles and accurately reflect the impact of these changes on the robot's safety, thereby helping to improve the robot's obstacle avoidance capabilities and overall safety in complex dynamic environments.
[0109] It should be noted that as the distance increases, the positive attenuation coefficient grows and tends to a fixed value. This method makes the algorithm more sensitive to dynamic obstacles.
[0110] S103. Based on the robot's position, the target point's position, and the first distance, determine a first weight for the target guidance score; based on the robot's position and the environmental safety score, determine a second weight for the environmental safety score; based on the robot's position and the collision risk score, determine a third weight for the collision risk score; wherein, the first weight is negatively correlated with the first distance.
[0111] Specifically, the first weight, the second weight, and the third weight are used to characterize the importance of each score corresponding to the robot at different times in different positions and states. In other words, the importance of each score is different at different times (i.e., the first weight, the second weight, and the third weight are dynamically changing). These three weights are used to measure the impact of each score on the robot's driving mode at different times.
[0112] Optionally, in one possible implementation, the method for determining the first weight may include:
[0113] (1) Determine the weight reference value based on the position of the robot and the position of the target point.
[0114] In practice, the robot's current position coordinates and the target point's position coordinates are obtained. Then, based on these coordinates, an initial weight reference value is calculated using distance formulas or direction cosines.
[0115] For example, in one embodiment, the weight reference value is determined according to a first formula, which is:
[0116] ;
[0117] Where a(t) is the weight reference value, The first preset parameter is used. The weights of the preset first heading angle adaptive parameters, For the robot's position, The location of the target point. The first distance threshold is preset. This is the preset first bias parameter.
[0118] Specifically, the weights of the first heading angle adaptive parameter, the first distance threshold, and the specific values of the first bias parameter are set according to actual needs. In this embodiment, no limitation is imposed on these.
[0119] Understandably, the first formula calculates a dynamic weight reference value by comprehensively considering the distance between the robot and the target point, the heading angle, and a series of preset parameters. This weight reference value characterizes the impact of the real-time distance between the robot and the target point on path planning, ensuring the accuracy and reliability of path planning compared to traditional fixed-weight methods.
[0120] (2) When the first distance is greater than or equal to the preset target distance threshold, the weight reference value is determined as the first weight.
[0121] (3) When the first distance is less than the target distance threshold, the product of the weight reference value and the preset ratio coefficient is determined as the first weight; wherein the preset ratio coefficient is greater than 1.
[0122] After determining the reference weight values, the first weight can be determined based on the following formula:
[0123] ;
[0124] Where α(t) is the first weight, The first distance, The target distance threshold, This is the preset scaling factor.
[0125] It should be noted that the specific value of the target distance threshold is set according to actual needs, and this embodiment does not limit it. For example, in one embodiment, the target distance threshold is twice the robot radius.
[0126] Furthermore, when the first distance is greater than or equal to the target distance threshold, it indicates that the robot is still relatively far from the target point. In this case, other factors are prioritized in path planning, and the weight reference value is directly used as the first weight. Conversely, when the first distance is less than the target distance threshold, it indicates that the robot is relatively close to the target point. In this case, speed is prioritized in path planning, and a preset proportional coefficient is introduced to increase its weight, making the robot more inclined to reach the target point as quickly as possible during navigation.
[0127] Specifically, the specific value of the preset ratio coefficient is set according to actual needs, and this embodiment does not limit it. For example, in one embodiment, the preset ratio coefficient can be set to 3.
[0128] It should be noted that the preset proportional coefficient is a number greater than 1. By multiplying the preset proportional coefficient with the weight reference value, the first weight can be amplified, thereby increasing the importance of the target guiding score corresponding to the first weight.
[0129] The robot path planning method for semi-structured environments provided in this embodiment uses a weight reference value as the first weight when the robot is relatively far from the target point to ensure the safety of path planning and guide the robot to move towards the target more effectively. When the first distance is less than the target distance threshold, it means that the robot is close to the target point. At this time, the first weight is increased by multiplying the weight reference value by a preset proportional coefficient greater than 1, so that the robot can reach the target point quickly. This dynamic weight adjustment mechanism makes path planning more flexible and intelligent, and can optimize the robot's motion strategy according to the navigation needs at different stages, thereby improving the accuracy and efficiency of path planning.
[0130] Further, optionally, in one embodiment, when determining the second weight of the environmental safety score based on the robot's position and the environmental safety score, the second weight can be determined according to a second formula, which is:
[0131] ;
[0132] in, The second initial parameter is preset. The weights of the preset second heading angle adaptive parameters, For the robot's position, The location of the static obstacle. The second distance threshold is preset. This is the preset second bias parameter.
[0133] Specifically, the weights of the second heading angle adaptive parameter, the second distance threshold, and the specific values of the second offset parameter are set according to actual needs. In this embodiment, no limitation is imposed on these.
[0134] Understandably, the second formula takes into account the distance between the robot and static obstacles as the robot moves. When the robot approaches a static obstacle, the weight of the environmental safety score in the overall score will automatically increase, prompting the path planning algorithm to pay more attention to environmental safety and avoid collisions with static obstacles.
[0135] Furthermore, in one possible implementation, when determining the third weight of the collision risk score based on the robot's position and the collision risk score, the third weight can be determined according to a third formula, which is:
[0136] ;
[0137] in, The third initial parameter is preset. The weights of the preset third heading angle adaptive parameters, For the robot's position, The location of the dynamic obstacle. The preset third distance threshold, This is the preset third bias parameter.
[0138] Specifically, the weights of the third heading angle adaptive parameter, the third distance threshold, and the specific values of the third offset parameter are set according to actual needs, and are not limited in this embodiment.
[0139] Understandably, since dynamic obstacles cannot be considered in the initial path planning stage, the third weight calculated using the third formula is mainly determined by... and The decision indicates that the robot is currently in a relatively safe environment, and the weight of the collision risk score can be relatively low. As the robot gradually approaches dynamic obstacles, the third weight also decreases accordingly, and the importance of the collision risk score in the overall score will automatically increase, prompting the path planning algorithm to pay more attention to the collision risk with dynamic obstacles, thereby selecting a safer path.
[0140] S104. Calculate the comprehensive score for the speed pair based on the target guidance score, the environmental safety score, the collision risk score, the speed score, the first weight, the second weight, the third weight, and the fourth weight pre-set for the speed score.
[0141] In practice, the overall score of the speed pair can be calculated based on the following formula:
[0142] ;
[0143] Wherein, α(t) is the first weight coefficient of the target guidance score, β(t) is the second weight coefficient of the distance score to static obstacles, δ(t) is the third weight coefficient of the collision risk score, γ(t) is the fourth weight of the speed score, W1 is the target guidance score, and W2 is the speed score. Environmental safety score is defined as the score of distance from static obstacles. The collision risk score is defined as a score based on the distance to dynamic obstacles. This is a comprehensive weighting coefficient used to regulate robot performance.
[0144] S105. Based on the comprehensive score of each speed pair, select the speed pair with the highest comprehensive score as the next motion instruction.
[0145] In practice, based on the comprehensive score of each speed pair calculated in real time, the speed pair with the highest comprehensive score is used as the instruction for the next movement and input into the robot to control the robot to move at that speed pair.
[0146] The robot path planning method for semi-structured environments provided in this embodiment has the following aspects: First, during the robot path planning process, the third distance between the robot and dynamic obstacles is determined based on the prediction of the dynamic obstacle's position after a preset number of time steps, enhancing the robot's adaptability to dynamic environments. Second, it calculates a target guidance score (measuring whether the robot moves towards the target), an environmental safety score (measuring trajectory safety), a collision risk score (measuring obstacle avoidance ability), and a speed score (measuring speed). These scores comprehensively evaluate the quality of the robot's movement from different dimensions, providing data support for intelligent selection of movement commands. Third, to achieve greater flexibility... To address different environmental conditions and motion requirements, a dynamic weight adjustment mechanism is introduced. The first weight of the target guidance score is negatively correlated with the first distance, meaning that the closer the robot is to the target point, the higher the importance of target guidance. Simultaneously, based on the robot's position, environmental safety score, and collision risk score, the second and third weights are dynamically adjusted to ensure the robot moves towards the target as efficiently as possible while ensuring safety. Fourthly, after calculating the comprehensive score of each speed pair, the speed pair with the highest comprehensive score is intelligently selected as the next motion command. This comprehensively considers the robot's target guidance, safety, obstacle avoidance ability, and travel speed, ensuring efficient and safe navigation in complex environments. Thus, through refined calculation and intelligent selection, static and dynamic obstacles are divided into different categories for separate calculation, resulting in two different adaptive weight values. This improves the robot's navigation efficiency in complex environments, helping it find the optimal path to the target faster and flexibly adjust its motion strategy when dynamic obstacles appear, effectively avoiding collisions. Furthermore, through the dynamic weight adjustment mechanism, the robot's navigation performance under different environmental conditions is further optimized, achieving both navigation efficiency and safety in complex environments.
[0147] Corresponding to the aforementioned embodiment of a robot path planning method for semi-structured environments, this application also provides an embodiment of a robot path planning device for semi-structured environments.
[0148] This application discloses an embodiment of a robot path planning device for semi-structured environments, which can be applied to robot path planning equipment for semi-structured environments. The device embodiment can be implemented through software, hardware, or a combination of both. Taking software implementation as an example, as a logical device, it is formed by the processor of the robot path planning equipment for semi-structured environments loading the corresponding computer program instructions from non-volatile memory into memory for execution. From a hardware perspective, such as... Figure 3 The diagram shown is a hardware structure diagram of a robot path planning device for a semi-structured environment, which is part of the robot path planning device for a semi-structured environment described in this application. Except for... Figure 3 In addition to the processor, memory, network interface, and non-volatile memory shown, the robot path planning device for semi-structured environments in the embodiment may also include other hardware depending on the actual function of the robot path planning device for semi-structured environments, which will not be described in detail here.
[0149] Figure 4 This is a schematic diagram of the structure of an embodiment of the robot path planning device for semi-structured environments provided in this application. Please refer to... Figure 4 The apparatus provided in this embodiment includes a calculation module 410, a determination module 420, a scoring module 430, and a processing module 440; wherein,
[0150] The calculation module 410 is used to calculate, during the process of local optimization of the global path, a first distance between the robot and the target point, a second distance between the robot and a static obstacle, and a third distance between the robot and a dynamic obstacle for each velocity pair in the next time window where the robot has no collision; wherein, the third distance between the robot and the dynamic obstacle is determined based on the position of the robot and the future position of the dynamic obstacle after a preset number of time steps.
[0151] The calculation module 410 is further configured to calculate a target guidance score to measure whether the robot is moving toward the target based on the first distance; calculate an environmental safety score to measure trajectory safety based on the second distance; calculate a collision risk score to measure the robot's obstacle avoidance ability based on the third distance; and calculate a speed score to measure the speed of the robot based on the speed pair.
[0152] The determining module 420 is configured to determine a first weight of the target guidance score based on the robot's position, the target point's position, and the first distance; determine a second weight of the environmental safety score based on the robot's position and the environmental safety score; and determine a third weight of the collision risk score based on the robot's position and the collision risk score; wherein the first weight is negatively correlated with the first distance.
[0153] The scoring module 430 is used to calculate a comprehensive score for the speed pair based on the target guidance score, the environmental safety score, the collision risk score, the speed score, the first weight, the second weight, the third weight, and a fourth weight pre-set for the speed score.
[0154] The processing module 440 is used to select the speed pair with the highest comprehensive score as the next motion instruction based on the comprehensive score of each speed pair.
[0155] The apparatus of this embodiment can be used to perform... Figure 1 The steps of the method embodiment shown are similar in principle and process, and will not be repeated here.
[0156] Please continue to refer to Figure 3 This application also provides a robot path planning device for semi-structured environments, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the steps of any of the methods provided in the first aspect of this application.
[0157] This application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of any of the methods provided in this application.
[0158] The specific implementation process of the functions and roles of each unit in the above device can be found in the implementation process of the corresponding steps in the above method, and will not be repeated here.
[0159] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to in the description of the method embodiments. The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this application according to actual needs. Those skilled in the art can understand and implement this without creative effort.
[0160] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application.
Claims
1. A robot path planning method for semi-structured environments, characterized in that, The method includes: During the local optimization of the global path, for each velocity pair in which the robot has no collision in the next time window, the first distance between the robot and the target point, the second distance between the robot and the static obstacle, and the third distance between the robot and the dynamic obstacle are calculated; among them, the third distance between the robot and the dynamic obstacle is determined based on the position of the robot and the future position of the dynamic obstacle after a preset number of time steps. Based on the first distance, a target guidance score is calculated to measure whether the robot is moving toward the target; based on the second distance, an environmental safety score is calculated to measure trajectory safety; based on the third distance, a collision risk score is calculated to measure the robot's obstacle avoidance ability; and based on the speed pair, a speed score is calculated to measure the robot's speed. Based on the robot's position, the target point's position, and the first distance, a first weight for the target guidance score is determined; based on the robot's position and the environmental safety score, a second weight for the environmental safety score is determined; based on the robot's position and the collision risk score, a third weight for the collision risk score is determined; wherein, the first weight is negatively correlated with the first distance; The comprehensive score for the speed pair is calculated based on the target guidance score, the environmental safety score, the collision risk score, the speed score, the first weight, the second weight, the third weight, and the fourth weight pre-set for the speed score. Based on the overall score of each speed pair, the speed pair with the highest overall score is selected as the next movement instruction.
2. The method according to claim 1, characterized in that, Based on the robot's position, the target point's position, and the first distance, the first weight of the target guidance score is determined, including: Determine the weight reference value based on the robot's position and the target point's position; When the first distance is greater than or equal to a preset target distance threshold, the weight reference value is determined as the first weight; When the first distance is less than the target distance threshold, the product of the weight reference value and the preset ratio coefficient is determined as the first weight; wherein the preset ratio coefficient is greater than 1.
3. The method according to claim 2, characterized in that, Based on the robot's position and the target point's position, determine the weight reference values, including: The weight reference value is determined according to the first formula, which is: ; Where a(t) is the weight reference value, The first preset parameter is used. The weights of the preset first heading angle adaptive parameters, For the robot's position, The location of the target point. The first distance threshold is preset. This is the preset first bias parameter.
4. The method according to claim 1, characterized in that, The calculation of a collision risk score to measure the robot's obstacle avoidance ability based on the third distance includes: Calculate the collision risk score using the following formula: ; Among them, the For the collision risk score, the The third distance; The attenuation coefficient is positive.
5. The method according to claim 1, characterized in that, The step of calculating an environmental safety score to measure the safety of the trajectory based on the second distance includes: The reciprocal of the second distance is used as the environmental safety score.
6. The method according to claim 1, characterized in that, The step of determining the second weight of the environmental safety score based on the robot's position and the environmental safety score includes: The second weight is determined according to the second formula, which is: ; in, The second initial parameter is preset. The weights of the preset second heading angle adaptive parameters, For the robot's position, The location of the static obstacle. The second distance threshold is preset. This is the preset second bias parameter.
7. The method according to claim 6, characterized in that, The step of determining the third weight of the collision risk score based on the robot's position and the collision risk score includes: The third weight is determined according to the third formula, which is: ; in, The third initial parameter is preset. The weights of the preset third heading angle adaptive parameters, For the robot's position, The location of the dynamic obstacle. The preset third distance threshold, This is the preset third bias parameter.
8. The method according to claim 1, characterized in that, The method for determining the future position of the dynamic obstacle after a preset number of time steps includes: When a dynamic obstacle enters the robot's detection range, the position of the dynamic obstacle is recorded over n consecutive time steps, and a position matrix of the dynamic obstacle is established based on the position of the dynamic obstacle over n consecutive time steps. Based on the position matrix, the future position of the dynamic obstacle after a preset number of time steps is predicted using a polynomial fitting function based on the least squares method.
9. The method according to claim 1, characterized in that, The method for determining the global path includes: An initial global path is determined using a neural network-based global path planning algorithm within a predefined global map environment; where constraints include the robot's kinematic constraints when determining the initial global path. The initial global path is smoothed using a cubic Bézier curve to obtain the global path.
10. A robot path planning device for semi-structured environments, characterized in that, The device includes a calculation module, a determination module, a scoring module, and a processing module; wherein, The calculation module is used to calculate, during the process of local optimization of the global path, the first distance between the robot and the target point, the second distance between the robot and the static obstacle, and the third distance between the robot and the dynamic obstacle for each velocity pair in the next time window where the robot has no collision; wherein, the third distance between the robot and the dynamic obstacle is determined based on the position of the robot and the future position of the dynamic obstacle after a preset number of time steps. The calculation module is further configured to calculate, based on the first distance, a target guidance score to measure whether the robot is moving toward the target; based on the second distance, an environmental safety score to measure trajectory safety; based on the third distance, a collision risk score to measure the robot's obstacle avoidance ability; and based on the speed pair, a speed score to measure the robot's speed. The determining module is configured to determine a first weight for the target guidance score based on the robot's position, the target point's position, and the first distance; determine a second weight for the environmental safety score based on the robot's position and the environmental safety score; and determine a third weight for the collision risk score based on the robot's position and the collision risk score; wherein the first weight is negatively correlated with the first distance. The scoring module is used to calculate a comprehensive score for the speed pair based on the target guidance score, the environmental safety score, the collision risk score, the speed score, the first weight, the second weight, the third weight, and a fourth weight pre-set for the speed score. The processing module is used to select the speed pair with the highest comprehensive score as the next motion instruction based on the comprehensive score of each speed pair.
Citation Information
Patent Citations
Mobile robot local path planning method based on parameter adaptive dynamic window method
CN117991786A
Dynamic window local path planning method
CN118816880A
Improved local path planning method suitable for multi-robot inspection task
CN119536279A
Robot safety interaction path planning method based on dynamic danger criterion and bidirectional search
CN120370926A
Robot path planning method with static and dynamic collision avoidance in an uncertain environment
US20210370510A1