Dynamic obstacle trajectory prediction method, mobile robot trajectory planning method, device, medium and product
Patent Information
- Application Number
- CN202611066074.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-17
- Publication Date
- 2026-10-30
AI Technical Summary
现有方法仅将每个障碍物独立建模,难以捕捉这种交互行为对轨迹的修正作用,当障碍物实际运动与模型假设不符时,预测性能显著降低,导致预测偏差大
本申请提供了一种动态障碍物轨迹预测方法、移动机器人轨迹规划方法、设备、介质及产品,通过步骤“基于动态障碍物的运动状态信息,通过速度障碍法RVO构建动态障碍物之间的交互约束区域,并根据交互约束区域确定动态障碍物的速度采样范围”,解决了现有技术中忽略动态障碍物之间交互影响、仅依赖单一固定模型导致轨迹预测偏差大的问题,实现了将多动态障碍物间的避让、交错等交互行为量化为可计算的速度采样约束,为覆盖行为不确定性提供了合理的采样空间;通过步骤“在速度采样范围内进行速度采样,得到多个采样速度值,并生成多条候选预测轨迹”以及“基于当前速度矢量与采样速度值之间的偏离度,以及候选预测轨迹上各预测位置与静态障碍物位置之间的安全距离,计算每条候选预测轨迹的综合评分,并将综合评分最高的轨迹作为动态障碍物的最终预测轨迹”,解决了单一预测轨迹无法覆盖动态障碍物临时变向、速度骤变等行为不确定性的问题,实现了在多障碍物交互场景下生成多条覆盖不确定性的候选轨迹,并通过偏离度与安全距离的双维度加权评分筛选出最贴合真实运动趋势的预测轨迹,显著提升了轨迹预测的鲁棒性和准确性;通过步骤“加载预先构建的离线轨迹库,离线轨迹库基于体素网格构建,且包括多条候选机器人轨迹,并为每个体素网格建立位置邻接表,以及为机器人以基准速度运动时的每个时间步建立时间邻接表”以及“基于静态障碍物的位置信息查询位置邻接表,删除所有与静态障碍物占据的体素网格相关联的候选机器人轨迹”,解决了现有离线轨迹库方法仅从空间维度删除碰撞轨迹、无法应对动态障碍物的问题,实现了对静态障碍物的快速空间碰撞检测,结合离线预计算的邻接表结构大幅提升了在线规划效率;通过步骤“根据机器人的当前速度矢量和基准速度计算时间尺度;基于时间尺度,将动态障碍物的最终预测轨迹在各时间步的预测位置映射到时间邻接表的对应时间步,并进行匹配判定;当匹配成功时,删除体素网格在位置邻接表中对应的候选机器人轨迹”以及“将剩余的候选机器人轨迹划分为多个轨迹组,并计算每个轨迹组的综合得分,选择综合得分最高的轨迹组作为局部规划轨迹”,解决了现有技术中局部轨迹规划缺乏时空协同、无法提前规避动态障碍物未来位置导致避障不及时的问题,实现了通过时间邻接表和时间尺度适配机制,精确检测机器人与动态障碍物在连续时间上的潜在碰撞,并在保证规划效率的同时输出既安全又贴近全局路径的局部轨迹,提升了动态环境下移动机器人的导航连贯性与避障成功率。
Smart Images

Figure FT_1 
Figure FT_2 
Figure FT_3
Abstract
Description
Technical Field
[0001] This application relates to the field of robot navigation technology, and in particular to a dynamic obstacle trajectory prediction method, a mobile robot trajectory planning method, equipment, medium and product. Background Technology
[0002] In recent years, mobile robots have been increasingly widely used in various public and industrial scenarios, such as shopping mall guidance, hospital supply delivery, and material handling in smart manufacturing workshops. These scenarios are characterized by environments containing both static obstacles that remain in place for extended periods, such as walls, fixed shelves, and production equipment bases, and dynamic obstacles with significantly uncertain motion states, such as pedestrians and automated guided vehicles. Furthermore, these dynamic obstacles do not move in isolation; during interactions (such as pedestrian avoidance and path intersections of transport equipment), they often exhibit unpredictable behaviors such as temporary changes in direction and speed adjustments. This complex environment poses a significant challenge to the core capability of mobile robots to "accurately predict the movement trends of dynamic obstacles and plan safe and coherent navigation trajectories."
[0003] In existing technologies, several solutions have attempted to address the aforementioned problems. For example, Jian et al. from Tsinghua University developed a mobile robot obstacle avoidance method based on 3D LiDAR. This method uses the DBSCAN density clustering algorithm to cluster obstacle regions and parameterizes each obstacle as a minimum boundary ellipse. It estimates the current state and variance based on Kalman filtering and extrapolates the obstacle state for the next N time steps. The local planning stage extends the traditional control barrier function to obtain a dynamic control barrier function, incorporating the safety set as a constraint into model predictive control, and outputting velocity commands to control the robot's motion. Another example is the trajectory prediction method developed by Zhou et al. from Kyungpook National University and Lee et al. from Ajou University in South Korea. This method employs a polynomial fitting method with a velocity loss term, solving an optimization problem with velocity / acceleration constraints through quadratic programming to extrapolate the future trajectory. The predicted position is then substituted back into the Kalman filter, and the uncertainty range of the danger zone is dynamically expanded as the number of prediction steps and the obstacle velocity increase. For example, Zhang et al. from Carnegie Mellon University developed a local path planning method based on probability likelihood maximization. They pre-generated a trajectory library offline and established an adjacency list of voxels and trajectories. During online planning, they only need to quickly mark occluded trajectories based on LiDAR perception data, calculate the probability likelihood of each group of trajectories reaching the target, and select the trajectory group with the highest likelihood as the final trajectory.
[0004] However, the aforementioned existing technologies still have the following shortcomings: First, in the dynamic obstacle trajectory prediction stage, existing technologies typically extrapolate future trajectories based on a single model (such as Kalman filtering or multinomial fitting) and historical obstacle information, neglecting the interactive effects between dynamic obstacles (such as pedestrian avoidance and multiple obstacle intersections). The movement of pedestrians and dynamic obstacles such as AGVs is often influenced by other moving objects in the surrounding environment. For example, pedestrians walking in the opposite direction will avoid each other, and multiple AGVs will wait for each other at intersections. Existing methods only model each obstacle independently, making it difficult to capture the correction effect of such interactive behaviors on the trajectory. When the actual obstacle movement does not match the model assumptions, the prediction performance is significantly reduced, resulting in large prediction biases.
[0005] Second, existing trajectory prediction methods typically output only a single predicted trajectory, failing to cover behavioral uncertainties such as temporary changes in direction or sudden speed changes caused by dynamic obstacles. In real-world scenarios, pedestrians may suddenly change direction, and AGVs may adjust their speed due to temporary tasks; these uncertainties are difficult to express with a single deterministic trajectory. When a robot's local planning is based on a single, potentially erroneous, predicted trajectory for obstacle avoidance, it is highly prone to collisions or leads to frequent sudden stops and replanning, resulting in poor navigation consistency.
[0006] Third, while local path planning methods based on offline trajectory libraries offer high online computational efficiency, existing solutions only remove trajectories that collide with static obstacles from a spatial perspective, lacking consideration of the temporal dimension. For example, Zhang et al.'s method relies solely on voxel occlusion-marked trajectories, failing to consider the relative motion between the robot and dynamic obstacles over continuous time. When multiple rapidly moving dynamic obstacles exist in the environment, a trajectory that does not overlap with static obstacles in space may still collide with the predicted location of a dynamic obstacle at some future moment. The lack of a spatiotemporal joint detection mechanism in current technologies leads to untimely obstacle avoidance and significant safety hazards.
[0007] Fourth, in existing technologies, trajectory prediction and local planning are disconnected, making it difficult for the planning module to effectively utilize the single trajectory output by the prediction module for spatiotemporal collaborative obstacle avoidance. Even when some methods attempt to use the prediction results as planning constraints, they often fail to achieve online real-time application due to high prediction uncertainty and large planning computation. In particular, when the number of dynamic obstacles increases, the computational load of optimization-based planning methods surges, easily leading to planning failures; while offline trajectory library methods, although efficient, lack a mechanism for spatiotemporally matching the predicted trajectories of dynamic obstacles with the robot's candidate trajectories, making it impossible to avoid potential collisions in advance. Summary of the Invention
[0008] The purpose of this application is to provide a method, method, device, medium, and product for predicting the trajectory of a mobile robot in a dynamic environment. This method quantifies the interaction behaviors such as avoidance and intersection among multiple dynamic obstacles into computable velocity sampling constraints, providing a reasonable sampling space for covering behavioral uncertainties. It generates multiple candidate trajectories with coverage uncertainties in multi-obstacle interaction scenarios and selects the predicted trajectory that best fits the actual movement trend through a dual-dimensional weighted score of deviation and safety distance, significantly improving the robustness and accuracy of trajectory prediction. It achieves rapid spatial collision detection of static obstacles, and the combination of an offline pre-computed adjacency list structure greatly improves online planning efficiency. Furthermore, it accurately detects potential collisions between the robot and dynamic obstacles in continuous time through a temporal adjacency list and time scale adaptation mechanism, outputting a safe and globally accurate local trajectory while ensuring planning efficiency, thus improving the navigation coherence and obstacle avoidance success rate of mobile robots in dynamic environments.
[0009] To achieve the above objectives, this application provides the following solution: In a first aspect, this application provides a method for predicting the trajectory of a dynamic obstacle, including: Acquire the motion state information of dynamic obstacles and the position of static obstacles in a dynamic environment. The motion state information includes at least the current position and current velocity vector of the dynamic obstacle. Based on the motion state information of the dynamic obstacles, the interaction constraint region between the dynamic obstacles is constructed by the velocity obstacle method (RVO), and the velocity sampling range of the dynamic obstacles is determined according to the interaction constraint region. Velocity sampling is performed within the velocity sampling range to obtain multiple sampled velocity values. Starting from the current position, the future position of the dynamic obstacle is calculated based on each sampled velocity value to generate multiple candidate predicted trajectories. Based on the deviation between the current velocity vector and the sampled velocity value, and the safe distance between each predicted position on the candidate predicted trajectory and the position of the static obstacle, a comprehensive score is calculated for each candidate predicted trajectory, and the trajectory with the highest comprehensive score is taken as the final predicted trajectory of the dynamic obstacle.
[0010] Optionally, the step of constructing the interactive constraint region between dynamic obstacles using the velocity obstacle method (RVO) specifically includes: Add the minimum collision circle radius of the first dynamic obstacle to the minimum collision circle radius of the second dynamic obstacle, and use the sum as the radius to construct an extended collision circle; Using the first dynamic obstacle as a reference frame, the velocity vector of the second dynamic obstacle is translated to the location of the first dynamic obstacle, and the midpoint of the line connecting the endpoints of the two velocity vectors is taken as the vertex of the interactive constraint region. Using the center of the extended collision circle as a reference point, two sides tangent to the extended collision circle are generated, and a triangular region is formed by combining them with a time threshold. The triangular region is translated to the vertex to obtain the final interactive constraint region.
[0011] Optionally, the step of calculating a comprehensive score for each candidate predicted trajectory based on the deviation between the current velocity vector and the sampled velocity value, and the distance between each predicted position on the candidate predicted trajectory and the position of the static obstacle, specifically includes: The deviation score between the current velocity vector and the sampled velocity value is calculated using the following formula: ; In the formula, Indicates the deviation score. Indicates the current velocity vector. Indicates the sampling rate value. Indicates the attenuation coefficient. This indicates a deviation in direction from the weighting factor. This indicates that the speed deviates from the weighting factor. Represents a very small positive number; The safe distance score between each predicted position on the candidate predicted trajectory and the position of the static obstacle is calculated using the following formula: ; In the formula, Indicates the score for safe distance. Indicates the total number of time steps. Indicates the time step index. Indicates the first At each time step, the Euclidean distance between the predicted position of the dynamic obstacle and the position of the nearest static obstacle. Indicates the minimum collision circle radius. This indicates the preset maximum safe distance threshold. This represents the function that takes the maximum value. Calculate the overall score for each candidate predicted trajectory using the following formula: ; In the formula, This indicates the overall score. This represents the weighting coefficient used to balance velocity continuity and obstacle avoidance safety.
[0012] Secondly, this application provides a mobile robot trajectory planning method, including: The final predicted trajectory of the dynamic obstacle, as output by the dynamic obstacle trajectory prediction method described in the first aspect, is obtained, along with the robot's current velocity vector and the position information of the static obstacle. Load a pre-built offline trajectory library, which is built based on voxel grids and includes multiple candidate robot trajectories. Establish a position adjacency list for each voxel grid and a time adjacency list for each time step when the robot moves at a reference speed. Based on the location information of the static obstacle, query the location adjacency table and delete all candidate robot trajectories associated with the voxel mesh occupied by the static obstacle; The time scale is calculated based on the robot's current velocity vector and the reference velocity; Based on the time scale, the predicted position of the final predicted trajectory of the dynamic obstacle at each time step is mapped to the corresponding time step in the time adjacency list, and a matching determination is performed. When a match is successful, the candidate robot trajectory corresponding to the voxel mesh in the location adjacency list is deleted. The remaining candidate robot trajectories are divided into multiple trajectory groups, and the comprehensive score of each trajectory group is calculated. The trajectory group with the highest comprehensive score is selected as the local planning trajectory.
[0013] Optionally, the mobile robot trajectory planning method is executed periodically within each control cycle. After using the local planned trajectory output in the current control cycle to drive the robot to move, the method returns to the step of obtaining the final predicted trajectory of the dynamic obstacle in the next control cycle, forming a closed loop of trajectory planning and execution.
[0014] Optionally, the step of calculating the time scale based on the robot's current velocity vector and the reference velocity specifically includes: The ratio of the robot's current velocity vector to the reference velocity is used as the time scale, and the formula is expressed as: ; In the formula, Indicates a time scale. This represents the robot's current velocity vector. Indicates the reference speed.
[0015] Optionally, calculating the comprehensive score for each trajectory group specifically includes: The scores of all individual tracks within the same track group are summed, and the total score is used as the overall score for that track group. The formula is as follows: ; In the formula, This represents the overall score of the trajectory group. This indicates the total number of candidate robot trajectories contained within the trajectory group. Indicates the weighting coefficient. This represents the Euclidean distance between the endpoint of the nth trajectory and the target point of the global path.
[0016] Thirdly, this application provides a computer device, including: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the dynamic obstacle trajectory prediction method and the mobile robot trajectory planning method described in any one of the above.
[0017] Fourthly, this application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the dynamic obstacle trajectory prediction method and the mobile robot trajectory planning method described above.
[0018] Fifthly, this application provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the dynamic obstacle trajectory prediction method and the mobile robot trajectory planning method described above.
[0019] According to the specific embodiments provided in this application, the following technical effects are disclosed: This application provides a dynamic obstacle trajectory prediction method, a mobile robot trajectory planning method, device, medium, and product. By the step of "constructing an interaction constraint region between dynamic obstacles based on the motion state information of the dynamic obstacles using the velocity obstacle method (RVO), and determining the velocity sampling range of the dynamic obstacles according to the interaction constraint region," it solves the problem in existing technologies of ignoring the interaction effects between dynamic obstacles and relying solely on a single fixed model, leading to large trajectory prediction deviations. It quantifies the avoidance and interleaving interactions between multiple dynamic obstacles into calculable velocity sampling constraints, providing a reasonable sampling space to cover behavioral uncertainties. By the steps of "performing velocity sampling within the velocity sampling range to obtain multiple sampled velocity values and generating multiple candidate predicted trajectories" and "calculating a comprehensive score for each candidate predicted trajectory based on the deviation between the current velocity vector and the sampled velocity values, and the safe distance between each predicted position on the candidate predicted trajectory and the position of the static obstacle, and using the trajectory with the highest comprehensive score as the final predicted trajectory of the dynamic obstacle," it solves the problem that a single predicted trajectory cannot cover behavioral uncertainties such as temporary changes in direction and sudden speed changes of dynamic obstacles. This method generates multiple candidate trajectories covering uncertainties in multi-obstacle interaction scenarios. It then selects the predicted trajectory that best matches the actual movement trend through a dual-dimensional weighted scoring of deviation and safety distance, significantly improving the robustness and accuracy of trajectory prediction. By steps such as "loading a pre-built offline trajectory library (constructed based on voxel grids and including multiple candidate robot trajectories, establishing a position adjacency list for each voxel grid, and establishing a temporal adjacency list for each time step when the robot moves at a reference speed)" and "querying the position adjacency list based on the position information of static obstacles and deleting all candidate robot trajectories associated with voxel grids occupied by static obstacles," it solves the problem that existing offline trajectory library methods only delete collision trajectories from the spatial dimension and cannot handle dynamic obstacles. This enables rapid spatial collision detection of static obstacles, and the combination of the offline pre-computed adjacency list structure significantly improves online planning efficiency. Finally, by steps such as "calculating the time scale based on the robot's current velocity vector and reference speed; mapping the predicted position of the final predicted trajectory of the dynamic obstacle at each time step to the corresponding time step in the temporal adjacency list based on the time scale, and performing matching judgment," the method achieves rapid spatial collision detection of static obstacles.When a match is successful, the candidate robot trajectory corresponding to the voxel mesh in the position adjacency list is deleted. The remaining candidate robot trajectories are divided into multiple trajectory groups, and the comprehensive score of each trajectory group is calculated. The trajectory group with the highest comprehensive score is selected as the local planning trajectory. This solves the problems of lack of spatiotemporal coordination in local trajectory planning in existing technologies, and the inability to anticipate the future positions of dynamic obstacles, leading to untimely obstacle avoidance. It achieves accurate detection of potential collisions between the robot and dynamic obstacles in continuous time through a temporal adjacency list and time scale adaptation mechanism. While ensuring planning efficiency, it outputs a local trajectory that is both safe and close to the global path, improving the navigation coherence and obstacle avoidance success rate of mobile robots in dynamic environments. Attached Figure Description
[0020] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0021] Figure 1 This is an application environment diagram of a dynamic obstacle trajectory prediction method and a mobile robot trajectory planning method according to an embodiment of this application; Figure 2 A flowchart illustrating a dynamic obstacle trajectory prediction method provided in an embodiment of this application; Figure 3 A flowchart illustrating a mobile robot trajectory planning method provided in an embodiment of this application; Figure 4 This is a schematic diagram illustrating the determination of the velocity sampling range of a dynamic obstacle using the RVO algorithm in one embodiment of this application; Figure 5 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Detailed Implementation
[0022] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0023] To make the above-mentioned objectives, features and advantages of this application more apparent and understandable, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0024] The dynamic obstacle trajectory prediction method and mobile robot trajectory planning method provided in this application can be applied to, for example... Figure 1 In the application environment shown, the mobile robot 102 is equipped with environmental sensors (including a depth camera and LiDAR) and an onboard computing unit, communicating with a remote server 104 via a network. The data storage system can store data that the server 104 needs to process, such as pre-built offline trajectory libraries and global maps. The data storage system can be set up separately, integrated into the server 104, or placed in the cloud or on another server. During operation, the mobile robot 102 collects point cloud and image data of the surrounding environment in real time through environmental sensors and executes perception, prediction, and planning algorithms on the onboard computing unit; alternatively, it can send the collected data to the server 104 via the network, where the server 104 performs trajectory prediction and planning and then sends control commands back to the mobile robot 102. Furthermore, in some embodiments, the method provided in this application can also be executed independently by the onboard computing unit of the mobile robot 102 without relying on network communication; alternatively, the server 104 can retrieve pre-stored sensor data or global maps from the data storage system for offline processing or simulation verification.
[0025] The mobile robot 102 can be a wheeled mobile robot, a tracked robot, an automated guided vehicle (AGV), a service robot (such as a shopping mall guide robot or a hospital supply delivery robot), or a material handling robot in a smart manufacturing workshop. The environmental sensors mounted on the mobile robot 102 include at least a depth camera (such as a Realsense D435) and a LiDAR (such as a RoboSense Helios 16), as well as an inertial measurement unit (IMU). The onboard computing unit can be an embedded computer (such as an NVIDIA Jetson series or an Intel NUC) or an industrial control computer. The server 104 can be a standalone server, a server cluster consisting of multiple servers, or a cloud server.
[0026] In one exemplary embodiment, such as Figure 2 As shown, a dynamic obstacle trajectory prediction method is provided. This method is executed by a computer device, specifically by the onboard computing unit of a mobile robot or a server, or by both. In this embodiment, the method is described using the onboard computing unit of a mobile robot 102 as an example, including steps 201 to 204. Wherein: Step 201: Obtain the motion state information of dynamic obstacles and the position of static obstacles in the dynamic environment. The motion state information includes at least the current position and current velocity vector of the dynamic obstacles. Step 202: Based on the motion state information of the dynamic obstacles, construct the interaction constraint region between the dynamic obstacles using the velocity obstacle method (RVO), and determine the velocity sampling range of the dynamic obstacles according to the interaction constraint region. The construction of the interactive constraint region specifically includes: Add the minimum collision circle radius of the first dynamic obstacle to the minimum collision circle radius of the second dynamic obstacle, and use the sum as the radius to construct an extended collision circle; Using the first dynamic obstacle as a reference frame, the velocity vector of the second dynamic obstacle is translated to the location of the first dynamic obstacle, and the midpoint of the line connecting the endpoints of the two velocity vectors is taken as the vertex of the interactive constraint region. Using the center of the expanding collision circle as a reference point, two sides tangent to the expanding collision circle are generated, and a triangular region is formed by combining them with a time threshold. The triangular region is translated to the vertex to obtain the final interactive constraint region.
[0027] Specifically, a schematic diagram illustrating the determination of the velocity sampling range of dynamic obstacles using the RVO algorithm is shown below. Figure 4 As shown in the figure, take obstacle A and obstacle B as examples. The minimum collision circle (radius) of obstacle A ), The minimum collision circle (radius) for obstacle B ); Let A be the current velocity vector of obstacle A. This is the current velocity vector of obstacle B.
[0028] The minimum safe distance between two obstacles to avoid collision is Based on this, construct the extended collision circle of obstacle B relative to A. Its radius is Expand the collision circle center and Their centers coincide.
[0029] Using obstacle A as the reference frame, translate the velocity vector of obstacle B to the position of A, such as... Figure 4 middle As shown, assuming that each obstacle shares the same avoidance responsibility equally in the process of avoiding a collision, take... and The midpoint of the line connecting the endpoints is taken as the vertex of the RVO region.
[0030] Starting from obstacle A, expand the collision circle Using the center of the circle as a reference point, a triangular region is generated, namely... Figure 4 The region marked by the dashed line. The two sides of this triangle collide with the expanding collision circle. Tangent, its size is determined by The time threshold for obstacle movement is determined together. Then, the triangular region is translated to the reference position determined in the previous step, and the final RVO region is... Figure 4 As shown in the gray triangle area, if the velocity of obstacle A falls within this area, it means that the two obstacles will collide; otherwise, they will not collide.
[0031] If the speed of obstacle i If it falls outside the RVO area, then it is... Velocity sampling is performed based on the baseline, and the sampling range is set to [value]. ,in For custom parameters, sampling results falling within the RVO range must be discarded; if If it falls within the RVO area, such as Figure 4 As shown, the velocity is first sampled within a certain range along the edge of the RVO.
[0032] Step 203: Perform velocity sampling within the velocity sampling range to obtain multiple sampled velocity values, and calculate the future position of the dynamic obstacle based on each sampled velocity value, starting from the current position, to generate multiple candidate predicted trajectories; Step 204: Based on the deviation between the current velocity vector and the sampled velocity value, and the safe distance between each predicted position on the candidate predicted trajectory and the position of the static obstacle, calculate the comprehensive score of each candidate predicted trajectory, and take the trajectory with the highest comprehensive score as the final predicted trajectory of the dynamic obstacle.
[0033] The formula for calculating the deviation score is: ; In the formula, Indicates the deviation score. Indicates the current velocity vector. Indicates the sampling rate value. This represents the decay coefficient, used to control the rate at which deviation affects the score. The larger the value, the more significant the impact of deviation on the score. This represents the directional deviation weighting factor, used to control the degree of influence of directional deviation from velocity. This represents the deviation of speed magnitude from the weighting factor, used to control the degree of influence of the speed magnitude deviation. This represents a very small positive number, used to ensure that the denominator is not zero; The formula for calculating the safe distance score is: ; In the formula, Indicates the score for safe distance. Indicates the total number of time steps. Indicates the time step index. Indicates the first At each time step, the Euclidean distance between the predicted position of the dynamic obstacle and the position of the nearest static obstacle. Indicates the minimum collision circle radius. This indicates the preset maximum safe distance threshold. This represents the function that takes the maximum value. The formula for calculating the overall score of each candidate predicted trajectory is as follows: ; In the formula, This indicates the overall score. This represents the weighting coefficient used to balance velocity continuity and obstacle avoidance safety.
[0034] like Figure 3 As shown, a mobile robot trajectory planning method is provided. This method is executed by a computer device, specifically by the mobile robot's onboard computing unit or a server, or by both. In this embodiment, the method is described using the onboard computing unit of a mobile robot 102 as an example, including steps 301 to 307. Wherein: Step 301: Obtain the final predicted trajectory of the dynamic obstacle output by the dynamic obstacle trajectory prediction method, as well as the robot's current velocity vector and the position information of the static obstacle; Step 302: Load the pre-built offline trajectory library. The offline trajectory library is built based on voxel mesh and includes multiple candidate robot trajectories. A position adjacency list is established for each voxel mesh, and a time adjacency list is established for each time step when the robot moves at the reference speed. Specifically, the offline trajectory library is built on a voxel grid, creating n trajectory groups in one direction, with each trajectory group containing n... There are n trajectories, therefore there are trajectories in each direction. Several trajectories are available, each a cubic spline curve. To achieve rapid obstacle response and improve retrieval efficiency, an adjacency list, called the positional adjacency list, is used to record the trajectory index corresponding to each voxel grid. Simultaneously, to further consider the spatiotemporal interaction between obstacles and the robot, an additional temporal adjacency list is used to record all grid information corresponding to each time step when the robot moves at a specific speed (e.g., 1 m / s). This dual adjacency list design introduces a time dimension into the trajectory selection process, thereby more accurately predicting the potential collision locations between the robot and dynamic obstacles.
[0035] The positional adjacency representation is shown in Table 1. Assume there are a total of k voxel grids, and -1 is the end marker.
[0036] Table 1 Location Adjacency Table
[0037] The temporal adjacency representation is shown in Table 2. Assume there are k voxel grids, the total trajectory duration is T, and -1 is the end marker.
[0038] Table 2 Time Adjacency List
[0039] Step 303: Based on the location information of static obstacles, query the location adjacency table and delete all candidate robot trajectories associated with the voxel mesh occupied by the static obstacles. Specifically, during real-time trajectory planning, to ensure the safety of the robot's obstacle avoidance path, it is first necessary to delete trajectories that may collide with obstacles. Different processing strategies are employed for static and dynamic obstacles during deletion to more comprehensively avoid potential collision risks. Since the position of static obstacles remains unchanged in the time domain, all trajectories passing through that voxel can be directly excluded based solely on the voxel grid it occupies, without considering changes in the time dimension. For dynamic obstacles, deleting trajectories only from the spatial dimension is insufficient; a temporal dimension must also be introduced for detection.
[0040] Step 304: Calculate the time scale based on the robot's current velocity vector and reference velocity; The calculation formula is: ; In the formula, Indicates a time scale. This represents the robot's current velocity vector. Indicates the reference speed.
[0041] Step 305: Based on the time scale, map the predicted position of the final predicted trajectory of the dynamic obstacle at each time step to the corresponding time step in the time adjacency list, and perform matching judgment. Step 306: When a match is successful, delete the candidate robot trajectory corresponding to the voxel mesh in the location adjacency table; Step 307: Divide the remaining candidate robot trajectories into multiple trajectory groups, calculate the comprehensive score of each trajectory group, and select the trajectory group with the highest comprehensive score as the local planning trajectory.
[0042] The formula for calculating the overall score for each trajectory group is: ; In the formula, This represents the overall score of the trajectory group. This indicates the total number of candidate robot trajectories contained within the trajectory group. Indicates the weighting coefficient. This represents the Euclidean distance between the endpoint of the nth trajectory and the target point of the global path.
[0043] The mobile robot trajectory planning method is executed periodically within each control cycle. After using the local planned trajectory output by the current control cycle to drive the robot to move, the next control cycle returns to obtain the final predicted trajectory of the dynamic obstacles, forming a closed loop of trajectory planning and execution.
[0044] Implementing steps 201 to 204 and 301 to 307 addresses the problem in existing technologies where neglecting the interaction between dynamic obstacles and relying solely on a single fixed model leads to large trajectory prediction deviations. It quantifies the avoidance and interleaving interactions between multiple dynamic obstacles into computable velocity sampling constraints, providing a reasonable sampling space to cover behavioral uncertainties. It also solves the problem that a single predicted trajectory cannot cover the behavioral uncertainties such as temporary changes in direction and sudden speed changes of dynamic obstacles. Furthermore, it enables the generation of multiple candidate trajectories covering uncertainties in multi-obstacle interaction scenarios, and uses a dual-dimensional weighted scoring system of deviation and safety distance to select the predicted trajectory that best matches the actual movement trend, significantly improving trajectory prediction accuracy. The prediction robustness and accuracy are improved; the problem of existing offline trajectory library methods that only remove collision trajectories from the spatial dimension and cannot cope with dynamic obstacles is solved, and rapid spatial collision detection of static obstacles is achieved. Combined with the offline pre-computed adjacency list structure, the efficiency of online planning is greatly improved; the problem of lack of spatiotemporal coordination in local trajectory planning in existing technologies and the inability to avoid the future position of dynamic obstacles in advance, resulting in untimely obstacle avoidance, is solved. Through the temporal adjacency list and time scale adaptation mechanism, the potential collision between the robot and dynamic obstacles in continuous time is accurately detected, and local trajectories that are both safe and close to the global path are output while ensuring planning efficiency, thereby improving the navigation coherence and obstacle avoidance success rate of mobile robots in dynamic environments.
[0045] This application also provides an application scenario that utilizes the aforementioned dynamic obstacle trajectory prediction method and mobile robot trajectory planning method. Specifically, the dynamic obstacle trajectory prediction method and mobile robot trajectory planning method provided in this embodiment can be applied to material handling scenarios in intelligent manufacturing workshops. The mobile robot enters the navigation execution link after receiving task instructions, and obtains a safe movement trajectory through environmental perception, dynamic obstacle trajectory prediction, and local trajectory planning, before entering the downstream motion control and execution stage. The method provided in this embodiment belongs to the core prediction and planning stage of the mobile robot navigation link. Specifically, during the autonomous navigation process of the mobile robot, the robot can be driven safely based on the collaborative approach of dynamic obstacle trajectory prediction and local trajectory planning, that is, generating a collision-free movement trajectory for the robot in real time to avoid static and dynamic obstacles, ensuring the efficient and safe completion of material handling tasks.
[0046] In one exemplary embodiment, a computer device is provided, which may be a server or a terminal, and its internal structure diagram may be as follows. Figure 5 As shown, this computer device includes a processor, memory, input / output (I / O) interfaces, and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides the environment for the operating system and computer programs stored in the non-volatile storage media. The database stores offline trajectory libraries, global maps, etc. The I / O interfaces are used for information exchange between the processor and external devices. The communication interface is used for communication with external terminals via a network connection. When executed by the processor, the computer program implements a dynamic obstacle trajectory prediction method and a mobile robot trajectory planning method.
[0047] Those skilled in the art will understand that Figure 5 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0048] In one exemplary embodiment, a computer device is also provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above-described method embodiments.
[0049] In one exemplary embodiment, a computer-readable storage medium is provided storing a computer program that, when executed by a processor, implements the steps in the above-described method embodiments.
[0050] In one exemplary embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above-described method embodiments.
[0051] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.
[0052] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments described above. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM).
[0053] The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.
[0054] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0055] This document uses specific examples to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the methods and core ideas of this application. Furthermore, those skilled in the art will recognize that, based on the ideas of this application, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of this application.
Claims
1. A method for predicting the trajectory of dynamic obstacles, characterized in that, The dynamic obstacle trajectory prediction method includes: Acquire the motion state information of dynamic obstacles and the position of static obstacles in a dynamic environment. The motion state information includes at least the current position and current velocity vector of the dynamic obstacle. Based on the motion state information of the dynamic obstacles, the interaction constraint region between the dynamic obstacles is constructed by the velocity obstacle method (RVO), and the velocity sampling range of the dynamic obstacles is determined according to the interaction constraint region. Velocity sampling is performed within the velocity sampling range to obtain multiple sampled velocity values. Starting from the current position, the future position of the dynamic obstacle is calculated based on each sampled velocity value to generate multiple candidate predicted trajectories. Based on the deviation between the current velocity vector and the sampled velocity value, and the safe distance between each predicted position on the candidate predicted trajectory and the position of the static obstacle, a comprehensive score is calculated for each candidate predicted trajectory, and the trajectory with the highest comprehensive score is taken as the final predicted trajectory of the dynamic obstacle.
2. The dynamic obstacle trajectory prediction method according to claim 1, characterized in that, The construction of the dynamic constraint region between obstacles using the velocity obstacle method (RVO) specifically includes: Add the minimum collision circle radius of the first dynamic obstacle to the minimum collision circle radius of the second dynamic obstacle, and use the sum as the radius to construct an extended collision circle; Using the first dynamic obstacle as a reference frame, the velocity vector of the second dynamic obstacle is translated to the location of the first dynamic obstacle, and the midpoint of the line connecting the endpoints of the two velocity vectors is taken as the vertex of the interactive constraint region. Using the center of the extended collision circle as a reference point, two sides tangent to the extended collision circle are generated, and a triangular region is formed by combining them with a time threshold. The triangular region is translated to the vertex to obtain the final interactive constraint region.
3. The dynamic obstacle trajectory prediction method according to claim 2, characterized in that, The comprehensive score for each candidate predicted trajectory is calculated based on the deviation between the current velocity vector and the sampled velocity value, and the distance between each predicted position on the candidate predicted trajectory and the position of the static obstacle. Specifically, this includes: The deviation score between the current velocity vector and the sampled velocity value is calculated using the following formula: ; In the formula, Indicates the deviation score. Indicates the current velocity vector. Indicates the sampling rate value. Indicates the attenuation coefficient. This indicates a deviation in direction from the weighting factor. This indicates that the speed deviates from the weighting factor. Represents a very small positive number; The safe distance score between each predicted position on the candidate predicted trajectory and the position of the static obstacle is calculated using the following formula: ; In the formula, Indicates the score for safe distance. Indicates the total number of time steps. Indicates the time step index. Indicates the first At each time step, the Euclidean distance between the predicted position of the dynamic obstacle and the position of the nearest static obstacle. Indicates the minimum collision circle radius. This indicates the preset maximum safe distance threshold. This represents the function that takes the maximum value. Calculate the overall score for each candidate predicted trajectory using the following formula: ; In the formula, This indicates the overall score. This represents the weighting coefficient used to balance velocity continuity and obstacle avoidance safety.
4. A method for trajectory planning of a mobile robot, characterized in that, The mobile robot trajectory planning method includes: Obtain the final predicted trajectory of the dynamic obstacle output by the dynamic obstacle trajectory prediction method of claim 1, as well as the robot's current velocity vector and the position information of the static obstacle; Load a pre-built offline trajectory library, which is built based on voxel grids and includes multiple candidate robot trajectories. Establish a position adjacency list for each voxel grid and a time adjacency list for each time step when the robot moves at a reference speed. Based on the location information of the static obstacle, query the location adjacency table and delete all candidate robot trajectories associated with the voxel mesh occupied by the static obstacle; The time scale is calculated based on the robot's current velocity vector and the reference velocity; Based on the time scale, the predicted position of the final predicted trajectory of the dynamic obstacle at each time step is mapped to the corresponding time step in the time adjacency list, and a matching determination is performed. When a match is successful, the candidate robot trajectory corresponding to the voxel mesh in the location adjacency list is deleted. The remaining candidate robot trajectories are divided into multiple trajectory groups, and the comprehensive score of each trajectory group is calculated. The trajectory group with the highest comprehensive score is selected as the local planning trajectory.
5. The mobile robot trajectory planning method according to claim 4, characterized in that, The mobile robot trajectory planning method is executed periodically within each control cycle. After using the local planned trajectory output in the current control cycle to drive the robot to move, the method returns to the step of obtaining the final predicted trajectory of the dynamic obstacles in the next control cycle, forming a closed loop of trajectory planning and execution.
6. The mobile robot trajectory planning method according to claim 4, characterized in that, The calculation of the time scale based on the robot's current velocity vector and the reference velocity specifically includes: The ratio of the robot's current velocity vector to the reference velocity is used as the time scale, and the formula is expressed as: ; In the formula, Indicates a time scale. This represents the robot's current velocity vector. Indicates the reference speed.
7. The mobile robot trajectory planning method according to claim 4, characterized in that, The calculation of the comprehensive score for each trajectory group specifically includes: The scores of all individual tracks within the same track group are summed, and the total score is used as the overall score for that track group. The formula is as follows: ; In the formula, This represents the overall score of the trajectory group. This indicates the total number of candidate robot trajectories contained within the trajectory group. Indicates the weighting coefficient. This represents the Euclidean distance between the endpoint of the nth trajectory and the target point of the global path.
8. A computer device, comprising: A memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that the processor executes the computer program to implement the steps of the dynamic obstacle trajectory prediction method according to any one of claims 1-3 and the steps of the mobile robot trajectory planning method according to any one of claims 4-7.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps of the dynamic obstacle trajectory prediction method according to any one of claims 1-3 and the steps of the mobile robot trajectory planning method according to any one of claims 4-7.
10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the steps of the dynamic obstacle trajectory prediction method according to any one of claims 1-3 and the steps of the mobile robot trajectory planning method according to any one of claims 4-7.