Robot local path planning method and system based on adaptive dynamic target point
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-12
- Publication Date
- 2026-08-11
AI Technical Summary
[0006]本申请的目的在于提供一种基于自适应动态目标点的机器人局部路径规划方法及系统,以解决或缓解上述现有技术中存在的问题
本申请实施例提供的基于自适应动态目标点的机器人局部路径规划方法和系统中,当机器人全局路径规划的初始路径上出现新障碍物时,对新障碍物对应的局部路径的局部目标点进行动态自适应调整,确定机器人的最佳局部目标点,以引导机器人朝最佳局部目标点运动,并更新机器人的局部路径点集,且计算更新后的局部路径点集中的局部目标点与机器人预测轨迹终点之间的欧式距离,以确定机器人预测轨迹终点的最近目标点;基于最佳局部目标点、最近目标点对机器人的局部路径评价函数进行修正,并基于修正后的局部路径评价函数对生成的预测轨迹进行评分,确定评分最高的预测轨迹为机器人实际行进路径。籍以,通过对机器人进行定向性改进,根据障碍物以及周围环境情况进行局部目标点的动态自适应,从而调整提高运动控制,提高局部路径规划的前瞻性和复杂环境下的快速避障能力;通过优化传统算法中局部路径评价函数使机器人规划器选择出更平稳快速的路径,进而提高ROS系统中导航功能在机器人中的适用性和鲁棒性,实现机器人的快速避障。
Smart Images

Figure CN120538519B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of automatic control technology, and in particular to a robot local path planning method and system based on adaptive dynamic target points. Background Technology
[0002] Path planning and obstacle avoidance are two key functions in the field of robot navigation. Together, they ensure that robots can move effectively and avoid obstacles, ultimately reaching the navigation target point safely.
[0003] In the ROS navigation system, the global path point coordinate array published by the global path planner is received by the local path planner. This array is then resampled using parameters related to the robot's position and the size of the local cost map to calculate the coordinates of the local target points involved in the current transient control. These coordinates, along with the robot's coordinates, are input into the local path planning algorithm to calculate the robot's transient control parameters. Commonly used local path planning algorithms include the TEB algorithm and the DWA algorithm. Both can be used for transient velocity control and dynamic obstacle avoidance in mobile robots, but they differ significantly in their principles, application scenarios, and complexity.
[0004] Among them, the TEB algorithm is based on graph optimization theory and needs to solve nonlinear optimization problems during the calculation process. It can adapt well to dynamic environments and performs well in obstacle avoidance for both static and dynamic obstacles. However, its computational complexity is high and the calculation time is long, making it unsuitable for resource-constrained situations or situations with extremely high real-time requirements. In addition, the algorithm has many parameters to be adjusted. The DWA algorithm is based on a dynamic control theory model. It only needs to consider the robot's speed and angular velocity to calculate the transient control value. It has a fast calculation speed and high real-time performance, low computing power requirements, and can even be deployed to some embedded edge computing. However, its ability to avoid unknown obstacles in the original map is poor.
[0005] Therefore, there is an urgent need to provide a technical solution that addresses the shortcomings of the existing technology. Summary of the Invention
[0006] The purpose of this application is to provide a robot local path planning method and system based on adaptive dynamic target points, so as to solve or alleviate the problems existing in the prior art.
[0007] To achieve the above objectives, this application provides the following technical solution: This application provides a robot local path planning method based on adaptive dynamic target points, characterized by comprising: In response to the appearance of a new obstacle on the initial path of the robot's global path planning, the local target point of the local path corresponding to the new obstacle is dynamically and adaptively adjusted to determine the optimal local target point of the robot, so as to guide the robot to move towards the optimal local target point and update the robot's local path point set. Calculate the Euclidean distance between the local target point in the updated local path point set and the endpoint of the robot's predicted trajectory to determine the nearest target point to the endpoint of the robot's predicted trajectory; Based on the best local target point and the nearest target point, the robot's local path evaluation function is corrected, and the generated predicted trajectory is scored based on the corrected local path evaluation function. The predicted trajectory with the highest score is determined as the robot's actual travel path.
[0008] Preferably, the local target points of the local path corresponding to the new obstacle are dynamically and adaptively adjusted to determine the optimal local target point of the robot and update the local path point set of the robot, including: generating the optimal local target point of the robot at the current moment based on the local target point of the robot at the current position, and updating the local path point set of the robot.
[0009] Preferably, the optimal local target point of the robot is generated based on the robot's current position and the local target point at the current moment, including: Select the obstacle point closest to the robot's current local target point as the obstacle reference point, and scan the left and right regions of the robot respectively to obtain the obstacle points in the left and right regions of the robot; Calculate the Euclidean distance from the obstacle reference point to the obstacle point in the left region of the robot, and the Euclidean distance from the obstacle reference point to the obstacle point in the right region, respectively. Based on the robot's preset passage judgment conditions, determine the robot's left edge point and right edge point of the obstacle; The final edge point of the obstacle is determined by the Euclidean distance from the left and right edge points of the obstacle to the obstacle reference point. This is to generate the robot's optimal local target point.
[0010] Preferably, determining the left edge point of the obstacle for the robot includes: Using the obstacle point closest to the robot's current local target point as the first obstacle reference point, the local map to the left of the robot's current position is scanned to determine the first obstacle point to the left of the robot's current position; If the Euclidean distance between the first obstacle reference point and the corresponding first obstacle point to the left of the robot's current position is less than the preset passage judgment condition, then the local map to the left of the robot's current position is scanned using the first obstacle point to the left of the robot's current position as the second obstacle reference point to determine the second obstacle point to the left of the robot's current position. The process is then iteratively judged based on the preset passage judgment condition until the Euclidean distance between the second obstacle reference point and the corresponding second obstacle point to the left of the robot's current position is greater than or equal to the preset passage judgment condition. Then, the second obstacle reference point is determined as the robot's first obstacle left candidate edge point. If the Euclidean distance between the left candidate edge point of the first obstacle and the corresponding reference point of the second obstacle is less than the preset passage judgment condition, the local map to the left of the robot's current position is scanned with the left candidate edge point of the first obstacle as the third obstacle reference point. Based on the preset passage judgment condition, the robot performs a cyclic judgment to determine the left candidate edge point of the second obstacle to the left of the robot's current position, until the Euclidean distance between the left candidate edge point of the second obstacle and the corresponding reference point of the third obstacle is greater than or equal to the preset passage judgment condition. Then, the left candidate edge point of the second obstacle is determined as the left edge point of the obstacle for the robot.
[0011] Preferably, according to the formula: Generate the robot's optimal local target point In the formula, For the robot's heading angle, For the robot's offset angle, For the safe passage distance of the robot, The final edge point of the obstacle With the robot's current position Euclidean distance; Represents the optimal local target point The angle relative to the robot's current position when the final edge point of the obstacle If it is located to the left of the robot's current position, then When the final edge point of the obstacle If it is located to the right of the robot's current position, then ...
[0012] Preferably, the robot's local path evaluation function is modified based on the best local target point and the nearest target point, including: Based on the Euclidean distance between the nearest target point and the endpoint of the robot's predicted trajectory, a path fitting evaluation function for the robot is constructed. Based on the Euclidean distance between the optimal local target point and the endpoint of the robot's predicted trajectory, a target point distance evaluation function for the robot is constructed. The local path evaluation function is modified based on the path fitting evaluation function and the target point distance evaluation function.
[0013] Preferably, the path fitting evaluation function for the robot is: In the formula, Let be the linear velocity of the robot at the current moment. and angular velocity Below, the Euclidean distance between the nearest target point and the endpoint of the robot's predicted trajectory. Euclidean distance The evaluation value.
[0014] Preferably, the target point distance evaluation function for the robot is as follows: In the formula, Let be the linear velocity of the robot at the current moment. and angular velocity Below, the Euclidean distance between the optimal local target point and the endpoint of the robot's predicted trajectory is... Euclidean distance The evaluation value.
[0015] Preferably, the modified local path evaluation function is: In the formula, The trajectory score is used to predict the trajectory. For control parameters, For the robot's orientation evaluation function The weight, The distance between the robot's predicted trajectory endpoint and the nearest obstacle point in the local map. The weight, The linear velocity of the robot at the current moment. The weight, These are the target point distance evaluation functions. and path fitting evaluation function The weights; These are the robot's linear velocity and angular velocity at the current moment, respectively. Among them, the target point distance evaluation function characterizes the evaluation of the Euclidean distance between the adjusted local target point and the end point of the robot's predicted trajectory, and the path fitting evaluation function characterizes the evaluation of the Euclidean distance between the nearest target point and the end point of the robot's predicted trajectory.
[0016] This application embodiment also provides a robot local path planning system based on adaptive dynamic target points, which deploys any of the above-described robot local path planning methods based on adaptive dynamic target points. The system includes: The target point update unit is configured to dynamically and adaptively adjust the local target points of the local path corresponding to the new obstacle in response to the appearance of a new obstacle on the initial path of the robot's global path planning, determine the best local target point of the robot, guide the robot to move toward the best local target point, and update the robot's local path point set. The nearest target point unit is configured to calculate the Euclidean distance between the local target point in the updated local path point set and the endpoint of the robot's predicted trajectory in order to determine the nearest target point to the endpoint of the robot's predicted trajectory. The path evaluation unit is configured to correct the robot's local path evaluation function based on the best local target point and the nearest target point, and score the generated predicted trajectory based on the corrected local path evaluation function, and determine the predicted trajectory with the highest score as the robot's actual travel path.
[0017] Beneficial effects: The robot local path planning method and system based on adaptive dynamic target points provided in this application embodiment, when a new obstacle appears on the initial path of the robot's global path planning, dynamically and adaptively adjusts the local target points of the local path corresponding to the new obstacle to determine the optimal local target point of the robot, guiding the robot to move towards the optimal local target point, and updating the robot's local path point set. The Euclidean distance between the local target points in the updated local path point set and the endpoint of the robot's predicted trajectory is calculated to determine the nearest target point to the endpoint of the robot's predicted trajectory. Based on the optimal local target point and the nearest target point, the robot's local path evaluation function is corrected, and the generated predicted trajectory is scored based on the corrected local path evaluation function. The predicted trajectory with the highest score is determined as the robot's actual travel path. Thus, by improving the robot's orientation and dynamically adapting local target points according to obstacles and the surrounding environment, motion control is improved, enhancing the foresight of local path planning and the ability to quickly avoid obstacles in complex environments. By optimizing the local path evaluation function in traditional algorithms, the robot planner selects a smoother and faster path, thereby improving the applicability and robustness of the navigation function in the ROS system and achieving rapid obstacle avoidance for the robot. Attached Figure Description
[0018] The accompanying drawings, which form part of this application, are used to provide a further understanding of this application. The illustrative embodiments and descriptions of this application are used to explain this application and do not constitute an undue limitation of this application. Wherein: Figure 1This is a flowchart illustrating a robot local path planning method based on adaptive dynamic target points according to some embodiments of this application; Figure 2 This is a schematic diagram of the robot's movement before the evaluation function is optimized, in a specific example. Figure 3 for Figure 2 The example shown illustrates the robot's movement after the evaluation function has been corrected. Figure 4 This is a schematic diagram of a scenario involving moving obstacles and a robot's local path, according to one embodiment. Figure 5 for Figure 4 A schematic diagram of the robot's path planning based on the traditional DWA algorithm in the scenario shown. Figure 6 for Figure 4 A schematic diagram of the robot's path planning generated through dynamic adaptive adjustment of local target points in the scenario shown. Figure 7 This is a schematic diagram of a robot turning according to an embodiment of this application; Figure 8 for Figure 7 A schematic diagram of the real-time speed curve of the robot's dynamic deceleration when turning in the scenario shown. Figure 9 This is a schematic diagram of the structure of a robot local path planning system based on adaptive dynamic target points, according to some embodiments of this application. Detailed Implementation
[0019] The present application will now be described in detail with reference to the accompanying drawings and embodiments. Various examples are provided by way of explanation and not by way of limitation. In fact, those skilled in the art will understand that modifications and variations can be made to the present application without departing from the scope or spirit of the present application. For example, a feature shown or described as part of one embodiment may be used in another embodiment to produce yet another embodiment. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention should fall within the scope of protection of the embodiments of the present invention.
[0020] Firefighting robots typically operate in unattended indoor environments, rarely encountering dynamic obstacles during their working hours. Once an alarm zone is detected, the robot needs to reach the alarm point as quickly as possible. At high speeds, the TEB algorithm's transient control capability and computational speed are far inferior to the DWA algorithm.
[0021] In the ROS navigation system, global path planning algorithms are used to calculate the shortest path between two points in a cost grid map. Common global path planning algorithms include Dijkstra's algorithm, A* algorithm, breadth-first search (BFS), and depth-first search (DFS). In denser grid maps, DFS scores can be high, especially in cost maps with eight-directional expansion, consuming significant computational power and performing worse than BFS. Dijkstra's and A* algorithms, to varying degrees, incorporate the breadth-first search principles of BFS.
[0022] Based on this, this application proposes an improved DWA algorithm with adaptive target points, using the DWA algorithm as the core algorithm and after optimization. By involving target points in the guidance, the forward-looking nature of the DWA algorithm is improved. When the fire-fighting robot discovers a new obstacle, it does not need to stop and perform secondary path planning, which greatly shortens the necessary time for the fire-fighting robot to avoid obstacles and significantly improves the robot's local path planning ability and dynamic obstacle avoidance effect. Furthermore, without changing the overall weight ratio of the evaluation function, the acceleration and deceleration of the robot can be controlled more flexibly, which improves the safety and robustness of the fire-fighting robot in passing through narrow gaps and avoiding obstacles in the location. This is of great significance for the rapid movement and smooth driving of the fire-fighting robot.
[0023] like Figures 1 to 8 As shown, the robot local path planning method based on adaptive dynamic target points includes: Step S101: In response to the appearance of a new obstacle on the initial path of the robot's global path planning, the local target point of the local path corresponding to the new obstacle is dynamically and adaptively adjusted to determine the optimal local target point of the robot, so as to guide the robot to move towards the optimal local target point and update the robot's local path point set.
[0024] In robot path planning and obstacle avoidance, there are two main approaches: global path planning and local path planning. Global path planning involves finding a feasible or optimal path from the starting point to the destination that meets certain performance requirements based on a prior environment model, but it requires prior environmental information. Common global path planning algorithms, such as the A* algorithm, plan the overall optimal path from the starting point to the destination based on a known static map and prior information (such as warehouse layout), avoiding known static obstacles (such as buildings and fixed roadblocks), and providing a macroscopic path framework for robot movement. Local path planning focuses on the robot's current local environment information. Information acquisition relies on sensors and changes in real time as the environment changes. For example, the DWA algorithm, based on global path planning, combines real-time sensor data (such as LiDAR and cameras) to handle dynamic obstacles (such as pedestrians and vehicles) and unforeseen obstacles (such as temporary roadblocks) and make real-time adjustments to the local path.
[0025] A global path is generated for the robot through global path planning. The local path planner then segments the generated global path and performs local path replanning based on the coordinates of each segment. Before invoking the local path planning algorithm, the local path planner subscribes to the global path coordinate point information published by the global path planner and extracts a portion of it, centered on the robot's current coordinates and within a certain distance. To define a local path within a restricted rectangular area, the path is centered on the robot's current coordinates and measured at a distance... A local path point set is formed by the coordinates of global path points within a restricted area.
[0026] By dynamically selecting key points (such as path inflection points or sub-objectives) on the global path as interim endpoints (predicted trajectory endpoints) for local path planning, the global path is decomposed into interim objectives, ensuring that local obstacle avoidance does not deviate from the overall direction. Local target points are typically composed of path key points generated by the global path planning algorithm. By extracting inflection points or key points of the global path as intermediate guide points, these points decompose the global path into multiple local path segments. The robot gradually approaches the final target point by sequentially reaching these local target points.
[0027] The DWA algorithm generates a predicted trajectory (candidate trajectory) for the robot based on its current speed and obstacle information, guiding the robot towards a local target point. Simultaneously, the predicted trajectory closest to the local target point is selected as the optimal solution, ensuring the robot does not deviate from the global path direction during obstacle avoidance. When the robot approaches the current target point (current local target point), it automatically switches to the next node on the global path. For example, if the robot's global path is planned as A→B→C→D, when the robot starts from its current position A, the local target point is initially set as point B, guiding the robot towards point B. After reaching point B, the robot is then guided from its current position B towards point C; and after reaching point C, the robot is then guided from its current position C towards point D (the robot's final destination).
[0028] The local path planner segments the generated global path and re-plans the path locally based on the coordinates of each segment. In existing technologies, the state of the local target point is checked during each planning process. If the distance between the local target point and an obstacle is lower than the safe distance, indicating that an unknown obstacle is present at the local target point, the local path planner will report an error, causing the robot to urgently restart and perform a second global path planning. The entire planning process consumes a significant amount of time, especially when the map resolution is high and there are many grid cells, where a single global planning operation can take several seconds. Alternatively, when the robot is traveling at high speed, simple obstacles may not require a second global planning operation.
[0029] In other words, the traditional DWA algorithm cannot avoid obstacles in this situation, and the robot will stop. After stopping, the global path planning will be re-performed. To address this, this application dynamically and adaptively adjusts the local target points of the local path corresponding to the new obstacle, finds the edge points of the new obstacle, and then calculates the new local target points through the edge points. The new local target points guide the robot's movement to avoid the new obstacle.
[0030] Specifically, the optimal local target point for the robot is generated by determining the robot's local target point at the current moment based on its current position. Specifically, the obstacle point (obs_n) closest to the robot's current local target point is selected, and its coordinates are recorded. This coordinate is used as the obstacle reference point. The robot's left and right regions are scanned separately to obtain the obstacle points in the left and right regions. Then, the Euclidean distances from the obstacle reference point to the obstacle points in the left and right regions are calculated, respectively. Based on the robot's preset passage judgment conditions, the left and right edge points of the obstacles are determined.
[0031] When scanning the area to the left of the robot, starting from the obstacle reference point (obs_n), the system selects obstacle points scanned by the LiDAR in the local map in a counter-clockwise direction to the left, and records the coordinates of the scanned obstacle points. In other words, the system uses the obstacle point (obs_n) closest to the robot's current local target point as the first obstacle reference point, scans the local map to the left of the robot's current position, and determines the first obstacle point to the left of the robot's current position.
[0032] Then, the Euclidean distance between the first obstacle reference point and the first obstacle point to the left of the robot's current position is calculated. When the Euclidean distance between the first obstacle reference point and the first obstacle point is less than the robot's preset passage judgment condition, the local map to the left of the robot's current position is scanned using the first obstacle point to the left of the robot's current position as the second obstacle reference point to determine the second obstacle point to the left of the robot's barrier position. At the same time, the Euclidean distance between the second obstacle reference point and the second obstacle point is calculated and judged based on the predicted passage judgment condition. This process is repeated until the Euclidean distance between the second obstacle reference point and the corresponding determined second obstacle point to the left of the robot's current position is greater than or equal to the preset passage judgment condition. Then, the second obstacle reference point is determined as the robot's first obstacle left candidate edge point.
[0033] Next, the Euclidean distance between the robot's first obstacle left candidate edge point and the corresponding second obstacle reference point is calculated, and it is determined whether the Euclidean distance between the first obstacle left candidate edge point and the second obstacle reference point is less than a preset passage judgment condition. When the Euclidean distance between the first obstacle left candidate edge point and the second obstacle reference point is less than the preset passage judgment condition, the local map to the left of the robot's current position is scanned using the first obstacle left candidate edge point as the third obstacle reference point, and the preset passage judgment condition is used to iteratively determine the second obstacle left candidate edge point to the left of the robot's current position, until the Euclidean distance between the second obstacle left candidate edge point and its corresponding third obstacle reference point is greater than or equal to the preset passage judgment condition, at which point the second obstacle left candidate edge point is determined as the robot's obstacle left edge point.
[0034] In this application, the maximum mechanical radius of the robot is The Euclidean distance between the obstacle point and the obstacle reference point is ,when The robot cannot pass through the obstacle at its current position. Based on this, the robot's passage condition is defined as follows: ,in, For any decimal, for example, In other words, when At that time, the robot repeatedly scans the area to the left of its current position using the scanned obstacle points as new obstacle reference points, and calculates the Euclidean distance. Perform robot access judgment until When scanning, the points are used as candidate left edge points of the obstacle.
[0035] Then, using the left candidate edge point of the obstacle as the new exploration point (obstacle reference point), the Euclidean distance between the left candidate edge point of the obstacle and the newly scanned obstacle is calculated. ,when This indicates that the candidate left edge point is a "hollow point," meaning it is not the true left edge point of the obstacle. At this point, the scan is repeated until a new candidate left edge point is found that satisfies the Euclidean distance to the scanned obstacle point. The left candidate edge point of the obstacle is determined as the left edge point of the obstacle for the robot.
[0036] Similarly, using the obstacle point (obs_n) as the obstacle reference point, the robot scans clockwise to the right, using the same judgment method as the left edge point of the obstacle to determine the right edge point of the obstacle. This will not be elaborated on here.
[0037] When the robot has a left edge point of the obstacle but no right edge point, the left edge point is selected as the robot's final obstacle edge point. When the robot has a right edge point of the obstacle but no left edge point, the right edge point is selected as the robot's final obstacle edge point. When both right and right edge points of the obstacle exist, the robot's final obstacle edge point is determined by selecting the side with the smaller Euclidean distance from the left and right edge points of the obstacle to the obstacle reference point (i.e., the first obstacle reference point (obs_n)). If the Euclidean distances from the left and right edge points of the obstacle to the obstacle reference point (i.e., the first obstacle reference point (obs_n)) are equal, then both the left and right edge points of the obstacle can be considered as the robot's final obstacle edge points. .
[0038] Finally, based on the robot's final edge point of the obstacle. This generates the robot's optimal local target point. Specifically, according to the formula: Generate the robot's optimal local target point In the formula, For the robot's heading angle, For the robot's offset angle, For the safe passage distance of the robot, The final edge point of the obstacle With the robot's current position Euclidean distance. Represents the optimal local target point The angle relative to the robot's current position when the final edge point of the obstacle If it is located to the left of the robot's current position, then When the final edge point of the obstacle If it is located to the right of the robot's current position, then .
[0039] After determining the robot's new local target point (i.e., the optimal local target point), the new local target point replaces the original local target point in the local path point set, updating the robot's local path point set and guiding the robot towards the new local target point. Simultaneously, the robot's new local target point... Implement Manhattan distance restrictions to prevent the creation of new local target points. Too far; use the robot to connect with a new local target point. The angular difference between the connecting line and the robot's own heading effectively prevents the creation of new local target points. The robot was being guided to turn at too large an angle.
[0040] Step S102: Calculate the Euclidean distance between the local target point in the updated local path point set and the endpoint of the robot's predicted trajectory, in order to determine the nearest target point to the endpoint of the robot's predicted trajectory.
[0041] This application utilizes a local path planning algorithm to predict the robot's trajectory some time into the future. Specifically, in the robot's velocity space... Multiple speed samples were taken, and simulations were performed on each sample speed to obtain its value over a certain period of time. The subsequent trajectory, i.e., the predicted trajectory, is determined by the robot's velocity sample. Each sample velocity of the robot corresponds to one predicted trajectory. This represents the robot's linear velocity, specifically the linear velocity along the x-axis in the direction of its motion. This is the robot's turning angular velocity, i.e., the robot's heading angular velocity.
[0042] During robot velocity sampling, limitations imposed by hardware, structure, and environment restrict the robot velocity sampling space. middle There are limitations, mainly manifested in velocity boundary limitations, acceleration limitations, and obstacle limitations. Among these, velocity boundary limitations are primarily constrained by the robot's hardware or limited by a set maximum safe travel speed, and their sampleable velocity space... for: In the formula, These are the robot's minimum and maximum linear velocities along the x-axis, respectively. These are the robot's minimum and maximum angular velocities, respectively.
[0043] Acceleration limits are primarily determined by the robot's drive motors. Excessive acceleration can cause the drive motors to burn out due to excessive transient current. The sampleable velocity space under acceleration limits... for: In the formula, These are the robot's linear velocity and angular velocity at the current moment, respectively. These are the robot's maximum linear acceleration and maximum angular acceleration, respectively.
[0044] Under environmental obstacle constraints, the sampleable velocity space where the robot will not collide with surrounding obstacles or the environment. for: In the formula, The shortest distance between the simulated trajectory corresponding to the robot's current instantaneous speed and the obstacle, when there is no obstacle in front. ,in, This is a sufficiently large constant. Meanwhile, environmental obstacle sampling uses the trajectory from the previous simulation to calculate the corresponding simulated trajectory at the current speed based on the closest distance between obstacles. If the speed sample cannot stop before colliding with an obstacle, the sample is discarded.
[0045] Finally, the sampleable velocity space under velocity boundary constraints, acceleration constraints, and obstacle constraints is defined. Perform intersection operations to obtain the robot's final velocity sampling space. ,Right now: Robot final velocity sampling space The dynamic changes that occur as the robot moves continuously, resulting in the final velocity sampling space of the robot. Then, using the robot's kinematic model, the time interval for each velocity sample is calculated. The robot's predicted trajectories are obtained by specifying the forward simulation time and the robot's running trajectory. The robot's kinematic model is as follows: In the formula, express Time Robot Coordinate System linear velocity in the direction, express Time Robot Coordinate System Linear acceleration in the direction of express The robot's angular velocity at any given time. express The robot's angular velocity at any given time. express The heading angle of the robot at any given moment; express The robot's position coordinates at any given moment. Then, the robot's final velocity is sampled in space. Kinematic models and The robot's pose and velocity at any given time can be obtained. The robot's pose and velocity at all times. Among them, express The robot's position coordinates at any given time. express The robot's heading angle at all times. express Time Robot Coordinate System linear velocity in the direction, express The angular velocity of the robot at any given moment.
[0046] Finally, by setting the total time for simulating the trajectory in the DWA algorithm. ( , Total time The time intervals included The number of predicted trajectories for the robot is obtained by calculating the number of predicted trajectories. Each predicted trajectory in this set includes a time interval. The calculation obtained below For each predicted trajectory of the robot, the Euclidean distance between the local target point in the updated local path point set and the endpoint of the predicted trajectory is calculated. Then, the Euclidean distance corresponding to each predicted trajectory in the predicted trajectory set is calculated. Compare the results and select the smallest Euclidean distance. The corresponding local target point is determined as the nearest target point to the end point of the robot's predicted trajectory.
[0047] Step S103: Based on the best local target point and the nearest target point, the robot's local path evaluation function is corrected, and the generated predicted trajectory is scored based on the corrected local path evaluation function. The predicted trajectory with the highest score is determined as the robot's actual travel path.
[0048] In traditional DWA algorithms, after obtaining the set of predicted trajectories for the robot, each predicted trajectory is scored using an evaluation function. The velocity sample corresponding to the highest-scoring predicted trajectory is then used as the robot's speed control parameter and sent to the robot chassis to complete speed control. However, the evaluation function in traditional DWA algorithms only considers the robot's orientation, resulting in a relatively random movement path and failing to provide global path guidance. Furthermore, the speed evaluation function in traditional DWA algorithms only quantifies the magnitude of speed, which is not necessarily true that a higher speed equates to smoother movement. For example, during sharp turns or sudden reversals, the robot is prone to colliding with walls or obstacles due to excessively high turning speeds, causing sensors to fail to perceive the environment in time.
[0049] To address this, this application determines the robot's optimal local target point through adaptive adjustment of the local target point. Furthermore, it modifies the evaluation function of the traditional DWA algorithm (i.e., the robot's local path evaluation function) by combining the nearest target point to the robot's predicted trajectory endpoint. The modified local path evaluation function then scores the robot's predicted trajectory, allowing the local path planner to select a smoother and faster path, thus improving the foresight and robustness of the robot's motion control. Figure 2 , Figure 3 As shown, the yellow route represents the robot's global planned path, while the red dashed line represents the robot's actual travel path. After the evaluation function is corrected, the robot's actual travel path is closer to the local path, making it easier for the robot to fit around the global optimal path when passing through some narrower paths. This reduces the necessary travel distance of the robot and improves its robustness.
[0050] When revising the evaluation function, a path fitting evaluation function for the robot is constructed based on the Euclidean distance between the nearest target point and the endpoint of the robot's predicted trajectory. This function characterizes the evaluation of the Euclidean distance between the nearest target point and the endpoint of the robot's predicted trajectory. Specifically, the path fitting evaluation function is as follows: In the formula, Let be the linear velocity of the robot at the current moment. and angular velocity Below, the Euclidean distance between the nearest target point and the endpoint of the robot's predicted trajectory. Euclidean distance The evaluation value.
[0051] Based on the Euclidean distance between the optimal local target point and the endpoint of the robot's predicted trajectory, a target point distance evaluation function is constructed to characterize the assessment of the adjusted Euclidean distance between the local target point and the endpoint of the robot's predicted trajectory. Specifically, In the formula, Let be the linear velocity of the robot at the current moment. and angular velocity Below, the Euclidean distance between the optimal local target point and the endpoint of the robot's predicted trajectory is... Euclidean distance The evaluation value.
[0052] Then, the robot's local path evaluation function is corrected using the robot's target point distance evaluation function and path fitting evaluation function. Specifically, the corrected local path evaluation function is as follows: In the formula, The trajectory score is used to predict the trajectory. For control parameters, For the robot's orientation evaluation function The weight, The distance between the robot's predicted trajectory endpoint and the nearest obstacle point in the local map. The weight, The linear velocity of the robot at the current moment. The weight, These are the target point distance evaluation functions. and path fitting evaluation function The weights; These are the robot's linear velocity and angular velocity at the current moment, respectively.
[0053] The target point distance evaluation function represents the assessment of the Euclidean distance between the adjusted local target point and the endpoint of the robot's predicted trajectory, while the path fitting evaluation function represents the assessment of the Euclidean distance between the nearest target point and the endpoint of the robot's predicted trajectory. Finally, the predicted trajectories in the robot's predicted trajectory set are scored using the modified local path fitting evaluation function. The predicted trajectory with the highest score is determined as the robot's actual travel path and is then published to the robot chassis.
[0054] By dynamically and adaptively adjusting local target points, the foresight of local path planning is improved by utilizing local target points for guidance. This avoids errors in the robot's local planner that could trigger the robot to decelerate and stop or undergo secondary global planning, greatly shortening the necessary time for the robot to avoid obstacles. At the same time, without changing the overall weight ratio of the traditional evaluation function, the robot's acceleration and deceleration can be controlled more flexibly, improving the robot's safety and robustness when passing through narrow gaps and avoiding unknown obstacles, thus enabling the robot to move quickly and drive smoothly.
[0055] like Figures 4 to 6 As shown, in a specific example, an obstacle moves from top to bottom, passing through the robot's local target point. If the traditional DWA algorithm is used, the robot's local path planner will malfunction after the obstacle moves to the local target point, resulting in path planning failure. By dynamically and adaptively adjusting the local target point, after the obstacle moves to the original local target point, a new local target point (the optimal local target point) is generated for the robot. Figure 6 As shown, local target points will appear on the right and left sides of the obstacle as it moves, thus guiding the robot to navigate and avoiding robot braking and secondary global planning, effectively improving navigation efficiency.
[0056] During this process, the robot dynamically adjusts the maximum distance between the local target point and its current position based on environmental conditions to control its speed. When about to turn or encounter a narrow gap, or when an unknown obstacle appears in the robot's local map and is very close to the local path, the limited distance will immediately decrease, causing the robot to slow down and smoothly avoid the obstacle. Figure 7 , Figure 8As shown, the robot initially travels in a straight line at high speed. When it reaches the turning deceleration point, the limited distance will automatically decrease according to the degree of the turn, thereby reducing the distance between the local target point and the robot. This allows the robot to slow down in advance before reaching point A and safely pass through the curve at a lower speed. After the robot leaves point B, it will determine whether to accelerate slowly based on the environmental conditions.
[0057] This application also provides a robot local path planning system based on adaptive dynamic target points, which deploys any of the robot local path planning methods based on adaptive dynamic target points described above, such as... Figure 9 As shown, the system includes: The target point update unit 901 is configured to dynamically and adaptively adjust the local target points of the local path corresponding to the new obstacle in response to the appearance of a new obstacle on the initial path of the robot's global path planning, determine the best local target point of the robot, guide the robot to move toward the best local target point, and update the robot's local path point set. The nearest target point unit 902 is configured to calculate the Euclidean distance between the local target point in the updated local path point set and the endpoint of the robot's predicted trajectory, so as to determine the nearest target point to the endpoint of the robot's predicted trajectory. The path evaluation unit 903 is configured to correct the robot's local path evaluation function based on the best local target point and the nearest target point, and score the generated predicted trajectory based on the corrected local path evaluation function, and determine the predicted trajectory with the highest score as the robot's actual travel path.
[0058] The robot local path planning system based on adaptive dynamic target points in this application can implement the steps and processes of the robot local path planning method based on adaptive dynamic target points in any of the above embodiments, and achieve the same technical effect, which will not be described in detail here.
[0059] In the description of this invention, it should be understood that the terms "center," "longitudinal," "lateral," "length," "width," "thickness," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," "outer," "clockwise," "counterclockwise," "axial," "radial," and "circumferential" indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are used only for the convenience of describing this invention and simplifying the description, and are not intended to indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on this invention.
[0060] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this invention, "a plurality of" means at least two, such as two, three, etc., unless otherwise explicitly specified.
[0061] In this invention, unless otherwise explicitly specified and limited, the terms "installation," "connection," "linking," and "fixing," etc., should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral part; they can refer to a mechanical connection, an electrical connection, or a connection that allows communication between them; they can refer to a direct connection or an indirect connection through an intermediate medium; they can refer to the internal communication of two components or the interaction between two components, unless otherwise explicitly limited. Those skilled in the art can understand the specific meaning of the above terms in this invention according to the specific circumstances.
[0062] In this invention, unless otherwise explicitly specified and limited, "above" or "below" the second feature can mean that the first feature is in direct contact with the second feature, or that the first feature is in indirect contact with the second feature through an intermediate medium. Furthermore, "above," "over," and "on top" of the second feature can mean that the first feature is directly above or diagonally above the second feature, or simply that the first feature is at a higher horizontal level than the second feature. "Below," "below," and "under" the second feature can mean that the first feature is directly below or diagonally below the second feature, or simply that the first feature is at a lower horizontal level than the second feature.
[0063] In this invention, the terms "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., refer to a specific feature, structure, material, or characteristic described in connection with that embodiment or example, which is included in at least one embodiment or example of the invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.
[0064] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.
Claims
1. A robot local path planning method based on adaptive dynamic target points, characterized in that, include: In response to the appearance of a new obstacle on the initial path of the robot's global path planning, the local target point of the local path corresponding to the new obstacle is dynamically and adaptively adjusted to determine the optimal local target point of the robot, so as to guide the robot to move towards the optimal local target point and update the local path point set of the robot. Among them, the obstacle point (obs_n) closest to the local target point of the robot at the current moment is selected as the obstacle reference point, and the left and right regions of the robot are scanned respectively to obtain the obstacle points of the left and right regions of the robot. Calculate the Euclidean distances from the obstacle reference point to obstacle points in the robot's left and right regions, respectively. Based on the robot's preset passage conditions, determine the robot's left and right obstacle edge points. Finally, based on the Euclidean distances from the robot's left and right obstacle edge points to the obstacle reference point, determine the robot's final obstacle edge points. To generate the robot's optimal local target point; Calculate the Euclidean distance between the local target point in the updated local path point set and the endpoint of the robot's predicted trajectory to determine the nearest target point to the endpoint of the robot's predicted trajectory; Based on the best local target point and the nearest target point, the robot's local path evaluation function is corrected, and the generated predicted trajectory is scored based on the corrected local path evaluation function. The predicted trajectory with the highest score is determined as the robot's actual travel path.
2. The robot local path planning method based on adaptive dynamic target points according to claim 1, characterized in that, Determine the left edge point of the obstacle for the robot, including: Using the obstacle point closest to the robot's current local target point as the first obstacle reference point, the local map to the left of the robot's current position is scanned to determine the first obstacle point to the left of the robot's current position; If the Euclidean distance between the first obstacle reference point and the corresponding first obstacle point to the left of the robot's current position is less than the preset passage judgment condition, then the local map to the left of the robot's current position is scanned using the first obstacle point to the left of the robot's current position as the second obstacle reference point to determine the second obstacle point to the left of the robot's current position. The process is then iteratively judged based on the preset passage judgment condition until the Euclidean distance between the second obstacle reference point and the corresponding second obstacle point to the left of the robot's current position is greater than or equal to the preset passage judgment condition. Then, the second obstacle reference point is determined as the robot's first obstacle left candidate edge point. If the Euclidean distance between the left candidate edge point of the first obstacle and the corresponding reference point of the second obstacle is less than the preset passage judgment condition, the local map to the left of the robot's current position is scanned with the left candidate edge point of the first obstacle as the third obstacle reference point. Based on the preset passage judgment condition, the robot performs a cyclic judgment to determine the left candidate edge point of the second obstacle to the left of the robot's current position, until the Euclidean distance between the left candidate edge point of the second obstacle and the corresponding reference point of the third obstacle is greater than or equal to the preset passage judgment condition. Then, the left candidate edge point of the second obstacle is determined as the left edge point of the obstacle for the robot.
3. The robot local path planning method based on adaptive dynamic target points according to claim 2, characterized in that, According to the formula: Generate the robot's optimal local target point In the formula, For the robot's heading angle, For the robot's offset angle, For the safe passage distance of the robot, The final edge point of the obstacle With the robot's current position Euclidean distance; Represents the optimal local target point The angle relative to the robot's current position when the final edge point of the obstacle When located to the left of the robot's current position, When the final edge point of the obstacle When located to the right of the robot's current position, .
4. The robot local path planning method based on adaptive dynamic target points according to claim 1, characterized in that, Based on the optimal local target point and the nearest target point, the robot's local path evaluation function is modified, including: Based on the Euclidean distance between the nearest target point and the endpoint of the robot's predicted trajectory, a path fitting evaluation function for the robot is constructed. Based on the Euclidean distance between the optimal local target point and the endpoint of the robot's predicted trajectory, a target point distance evaluation function for the robot is constructed. The local path evaluation function is modified based on the path fitting evaluation function and the target point distance evaluation function.
5. The robot local path planning method based on adaptive dynamic target points according to claim 4, characterized in that, The path fitting evaluation function for the robot is constructed as follows: In the formula, Let be the linear velocity of the robot at the current moment. and angular velocity Below, the Euclidean distance between the nearest target point and the endpoint of the robot's predicted trajectory. Euclidean distance The evaluation value.
6. The robot local path planning method based on adaptive dynamic target points according to claim 4, characterized in that, The target point distance evaluation function for the robot is constructed as follows: In the formula, Let be the linear velocity of the robot at the current moment. and angular velocity Below, the Euclidean distance between the optimal local target point and the endpoint of the robot's predicted trajectory is... Euclidean distance The evaluation value.
7. The robot local path planning method based on adaptive dynamic target points according to claim 4, characterized in that, The revised local path evaluation function is: In the formula, The trajectory score is used to predict the trajectory. For control parameters, For the robot's orientation evaluation function The weight, The distance between the robot's predicted trajectory endpoint and the nearest obstacle point in the local map. The weight, The linear velocity of the robot at the current moment. The weight, These are the target point distance evaluation functions. and path fitting evaluation function The weights; These are the robot's linear velocity and angular velocity at the current moment, respectively. Among them, the target point distance evaluation function characterizes the evaluation of the Euclidean distance between the adjusted local target point and the end point of the robot's predicted trajectory, and the path fitting evaluation function characterizes the evaluation of the Euclidean distance between the nearest target point and the end point of the robot's predicted trajectory.
8. A robot local path planning system based on adaptive dynamic target points, characterized in that, The system comprises a robot local path planning method based on adaptive dynamic target points as described in any one of claims 1-7, the system including: The target point update unit is configured to dynamically and adaptively adjust the local target points of the local path corresponding to the new obstacle in response to the appearance of a new obstacle on the initial path of the robot's global path planning, determine the best local target point of the robot, guide the robot to move toward the best local target point, and update the robot's local path point set. The nearest target point unit is configured to calculate the Euclidean distance between the local target point in the updated local path point set and the endpoint of the robot's predicted trajectory in order to determine the nearest target point to the endpoint of the robot's predicted trajectory. The path evaluation unit is configured to correct the robot's local path evaluation function based on the best local target point and the nearest target point, and score the generated predicted trajectory based on the corrected local path evaluation function, and determine the predicted trajectory with the highest score as the robot's actual travel path.