Mobile robot dynamic obstacle avoidance method, system, device and medium
By using dynamic temporal adaptive selection and corridor-style risk geometry modeling, the problems of fixed prediction temporal domain and discrete risk expression in dynamic obstacle avoidance of mobile robots are solved, achieving optimization of safety, efficiency and smoothness in complex scenarios and improving obstacle avoidance performance.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHANDONG UNIV
- Filing Date
- 2026-05-25
- Publication Date
- 2026-07-14
AI Technical Summary
Existing mobile robot dynamic obstacle avoidance technologies suffer from problems in complex dynamic scenarios, such as fixed prediction time domain, discrete risk expression, tendency to make obstacle avoidance decisions too early or too late, and insufficient control smoothness.
A chain design is adopted, which combines dynamic temporal adaptive selection, corridor-style risk geometric modeling, and local planning fusion evaluation. By predicting the future movement trajectory of obstacles, the center line segment of the corridor is constructed, the shortest distance from the grid point to the center line segment is calculated, a cost function is constructed, and the optimal control command is determined.
It improves predictive capabilities and achieves unified optimization of safety, efficiency, and trajectory smoothness under complex dynamic obstacles, thereby enhancing the system's practicality and robustness.
Smart Images

Figure CN122387149A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of autonomous navigation and intelligent control technology for mobile robots, and in particular to methods, systems, devices and media for dynamic obstacle avoidance of mobile robots. Background Technology
[0002] Existing dynamic obstacle avoidance solutions generally suffer from the following shortcomings: First, it often uses a fixed prediction time domain, which makes it difficult to adapt to scenarios with different relative speeds, distances, and interaction intensities; Second, simplifying dynamic obstacle risk into risk at a single future point in time fails to characterize the continuous sweeping occupation of obstacles within the prediction interval. Third, the discrete expression of risk costs in local planning leads to a coexistence of premature obstacle avoidance and delayed obstacle avoidance, resulting in uneven control.
[0003] Therefore, a scheme is needed that can adaptively select the prediction time domain based on the interaction situation and explicitly encode the continuous occupation of dynamic obstacles into the cost map. Summary of the Invention
[0004] To address the problems of existing mobile robot dynamic obstacle avoidance technologies in complex dynamic scenarios, such as "fixed prediction time domain, discrete risk representation, tendency for obstacle avoidance decisions to be too early or too late, and insufficient control smoothness," this application proposes a mobile robot dynamic obstacle avoidance method, system, device, and medium. This solution achieves unified optimization of safety, efficiency, and trajectory smoothness through a chain design of "dynamic temporal adaptive selection + corridor-style risk geometric modeling + local planning fusion evaluation."
[0005] On the one hand, a dynamic obstacle avoidance method for mobile robots is provided, including: (1): Based on the historical observation window of the obstacle, the speed of the obstacle and the uncertainty of the position of the obstacle, predict the future trajectory of the obstacle; (2): Based on the future motion trajectory of the obstacle, determine the set of candidate time domains for prediction; give a comprehensive score to each candidate time domain in the set of candidate time domains for prediction, and select the optimal candidate time domain based on the comprehensive score; (3): Based on the current observed position of the obstacle and the predicted position of the obstacle in the optimal candidate time domain, construct the corridor center line segment; calculate the shortest distance from any grid point in the environment to the corridor center line segment; (4): Based on the shortest distance from any grid point to the center line of the corridor, the physical radius of the obstacle, and the smoothed expansion radius of the obstacle, construct the cost function generated by processing each obstacle; (5): Based on the cost function generated by processing each obstacle, determine the fused dynamic risk cost; based on the fused dynamic risk cost, construct the total cost function of the candidate control; solve the total cost function of the candidate control to obtain the optimal control command; (6): Send the optimal control command to the actuator of the mobile robot for execution, and update the current state of the mobile robot and the obstacle history observation cache at the same time; repeat the above steps (1) to (5).
[0006] On the other hand, a dynamic obstacle avoidance system for mobile robots is provided, including: The prediction module is configured to predict the future trajectory of an obstacle based on its historical observation window, speed, and position uncertainty. The determination module is configured to: determine a set of candidate time domains for prediction based on the future motion trajectory of the obstacle; perform a comprehensive score on each candidate time domain in the set of candidate time domains for prediction; and select the optimal candidate time domain based on the comprehensive score. The calculation module is configured to: construct the corridor centerline segment based on the current observed position of the obstacle and the predicted position of the obstacle in the optimal candidate time domain; and calculate the shortest distance from any grid point in the environment to the corridor centerline segment. The building module is configured to: construct the cost function for processing each obstacle based on the shortest distance from any grid point to the center line of the corridor, the physical radius of the obstacle, and the smoothed expansion radius of the obstacle; The solution module is configured to: determine the fused dynamic risk cost based on the cost function generated by processing each obstacle; construct the total cost function of the candidate control based on the fused dynamic risk cost; and solve the total cost function of the candidate control to obtain the optimal control command. The execution module is configured to: send the optimal control commands to the actuators of the mobile robot for execution, and update the current state of the mobile robot and the historical observation cache of obstacles, repeating the work of the aforementioned modules.
[0007] Furthermore, an electronic device is also provided, including: Memory, used for non-transitory storage of computer-readable instructions; and Processor, for executing the computer-readable instructions, When the computer-readable instructions are executed by the processor, they perform the method described in the first aspect above.
[0008] In another aspect, a storage medium is also provided for non-transitory storage of computer-readable instructions, wherein when the non-transitory computer-readable instructions are executed by a computer, the method described in the first aspect is performed.
[0009] In another aspect, a computer program product is also provided, including a computer program that, when run on one or more processors, is used to implement the method described in the first aspect above.
[0010] The above technical solution has the following advantages or beneficial effects: First, enhanced predictive capabilities: Conditional RealNVP is used to perform nonlinear and multimodal predictions of complex dynamic obstacles, improving the ability to describe future trajectories; Second, time-domain adaptation: Through a two-layer mechanism, the prediction time domain is adaptively selected under different risk situations, reducing the conservative or lag problems caused by a fixed time domain. Third, the risk expression is more complete: the corridor-style risk geometry can cover the swept-occupied area of the obstacle within the prediction range, which is more consistent with the actual behavior of dynamic obstacles than the single-point disc risk. Fourth, improve planning performance: while ensuring safety, improve trajectory continuity and control smoothness, and enhance system practicality and robustness. Attached Figure Description
[0011] The accompanying drawings, which form part of this application, are used to provide a further understanding of this application. The illustrative embodiments of this application and their descriptions are used to explain this application and do not constitute an undue limitation of this application.
[0012] Figure 1 This is a flowchart of the method in Example 1; Figure 2 A schematic diagram of the geometric cost of corridor risk. Detailed Implementation
[0013] It should be noted that the following detailed descriptions are exemplary and intended to provide further explanation of this application. Unless otherwise specified, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains.
[0014] Example 1 This embodiment provides a dynamic obstacle avoidance method for mobile robots; like Figure 1 As shown, the dynamic obstacle avoidance method for mobile robots includes: S101: Based on the historical observation window of the obstacle, the obstacle speed, and the uncertainty of the obstacle position, predict the future trajectory of the obstacle; S102: Based on the future motion trajectory of the obstacle, determine the set of candidate time domains for prediction; perform a comprehensive score on each candidate time domain in the set of candidate time domains for prediction, and select the optimal candidate time domain based on the comprehensive score; S103: Based on the current observed position of the obstacle and the predicted position of the obstacle in the optimal candidate time domain, construct the corridor center line segment; calculate the shortest distance from any grid point in the environment to the corridor center line segment. S104: Based on the shortest distance from any grid point to the center line of the corridor, the physical radius of the obstacle, and the smoothed expansion radius of the obstacle, construct the cost function generated by processing each obstacle; S105: Based on the cost function generated by processing each obstacle, determine the fused dynamic risk cost; based on the fused dynamic risk cost, construct the total cost function of the candidate control; solve the total cost function of the candidate control to obtain the optimal control command; S106: Send the optimal control command to the actuator of the mobile robot for execution, and update the current state of the mobile robot and the obstacle historical observation cache at the same time; repeat S101~S105 to form an online closed-loop obstacle avoidance process.
[0015] Furthermore, S101: the historical observation window of the obstacle is constructed based on the state information of the mobile robot and the observation information of the obstacle.
[0016] During the robot's movement, the input data is first spatiotemporally aligned and cached and updated.
[0017] Specifically, the input data includes: the robot's current state. Obstacle observation location This includes information such as map and planning parameters, and model parameters. Indicates the robot's yaw angle. Indicates linear velocity. Indicates angular velocity, Represents the robot's world coordinate system coordinate, Represents the robot in the world coordinate system coordinate.
[0018] By aligning the input data with timestamps and updating the cache, we obtain the historical observation window for each obstacle at the current moment. ,in For the length of the history window, This represents the two-dimensional observation position of each obstacle.
[0019] Furthermore, S101: obstacle velocity is estimated based on the obstacle's historical observation window: Based on the obstacle's historical observation window, the obstacle's current velocity is estimated using a difference method. Specifically, the obstacle velocity... Calculated by the following formula:
[0020] in, This indicates the time interval between two adjacent data frames.
[0021] Furthermore, S101: the uncertainty of the obstacle's position specifically includes: The uncertainty of the obstacle's position is represented in terms of covariance.
[0022] in, It can come from the state estimator, statistical information from the predicted samples, or a combination of both; express positional variance in direction express positional variance in direction This represents a scalar value indicating positional uncertainty. Represents the trace of a matrix.
[0023] Further, S101: Based on the historical observation window of the obstacle, the obstacle's speed, and the uncertainty of the obstacle's position, predicting the future trajectory of the obstacle specifically includes: By inputting the obstacle's historical observation window, obstacle speed, and the uncertainty of obstacle position into the prediction network, the future trajectory of the obstacle can be obtained.
[0024] The RealNVP normalized flow model is used as the prediction network to predict obstacles in the future. Location sequence prediction results at each time step .
[0025] The future trajectory prediction can be achieved using a conditional generation flow model (e.g., conditional RealNVP) or a similar reversible probability model; the core innovation of this application lies in the method link of "adaptive time domain-corridor risk-local planning coupling".
[0026] Further, S102: Based on the future motion trajectory of the obstacle, determine the prediction candidate time domain set, specifically including: S102-1: Determine the relative position and relative velocity between the mobile robot and the obstacle; S102-2: Determine the closing velocity between the two based on their relative position and relative velocity; S102-3: Determine the initial candidate time domain set based on the closing velocity and distance between the two; S102-4: The initial candidate time domain set is fused with the prior time domain set to obtain the predicted candidate time domain set.
[0027] Further, S102-1: determining the relative position and relative velocity between the mobile robot and the obstacle specifically includes: Define the relative position vector between the robot and the obstacle. : ; in, Indicates the first An obstacle in Location at any given moment Indicates that the robot is Location at any given moment This represents the relative position vector of the robot pointing towards the obstacle.
[0028] Robots and the The distance between the obstacles : ; in, This represents the Euclidean norm, i.e., the straight-line distance. relative speed : ; in, Indicates the first The speed of the obstacle Indicates the robot's speed. Indicates the robot and the first The relative speed between the obstacles.
[0029] Further, S102-2: determining the closing velocity between the relative position and relative velocity, specifically includes: Calculate the closing velocity between the two :
[0030] in, To prevent small positive numbers with a denominator of zero.
[0031] Further, S102-3: Determining the initial candidate time-domain set based on the closing velocity and distance between the two, specifically including: Calculate the expected interaction time domain based on the closing velocity and distance. :
[0032] in, The lower limit threshold for speed, and These are the minimum and maximum time domain boundaries, respectively. This represents a truncation function that restricts the value to a certain range. Interval.
[0033] Then, construct a distance urgency index. and speed urgency index :
[0034] in, and This is a normalization constant; Overall urgency Defined as: .
[0035] in, This represents a truncation function that restricts the value to between 0 and 1. Weights representing the urgency of the distance. express, Weights representing the urgency of the situation. This indicates the lower limit of the overall urgency. Indicates the upper limit of overall urgency; Based on the calculated urgency Adaptive adjustment of candidate time-domain bandwidth :
[0036] in, This represents the strength coefficient of the influence of control urgency on the time domain width. Indicates the minimum candidate temporal width. This represents the temporal width of the basic candidate.
[0037] Finally, an initial candidate time-domain set is generated. :
[0038] Further, step S102-4: fusing the initial candidate time-domain set with the prior time-domain set to obtain the prediction candidate time-domain set, specifically includes: The initial candidate time domain set and the prior time domain set Perform fusion and remove items whose time interval is less than the minimum interval. From the time domain, we obtain the final Layer-1 candidate time domain set:
[0039] in, The operation includes the following processing: First, perform a union operation on the two input time-domain sets and then sort them in ascending order of time-domain values; Second, merge time-adjacent sets with an interval of less than or equal to... The third step is to filter out time domain points that do not meet the minimum time interval requirement.
[0040] The set of candidate time domains for prediction is generated by a first-layer mechanism, which adaptively adjusts the distribution range of candidate time domains based on the urgency of interaction. The optimal prediction time domain is determined by a second-layer mechanism, which sorts and selects the best candidate time domains using a multi-objective function.
[0041] Further, step S102 involves comprehensively scoring each candidate time domain in the prediction candidate time domain set, and selecting the optimal candidate time domain based on the comprehensive score, specifically including: For each candidate time domain generated in the final Layer-1 candidate time domain set Define the following objective function A comprehensive score was given to it:
[0042] The specific definitions of each item are as follows: First, calculate the safety items. : By interpolating the predicted trajectory of the obstacle, candidate time-domain parameters are obtained. Obstacle Prediction Location at Time And calculate the relative distance between the robot and the predicted position. .
[0043] The candidate time-to-collision (TTO) is defined as: Safety items Defined as:
[0044] in, These are the weighting coefficients. and These are the normalization constants for time and distance, respectively. This is the upper limit of TTC.
[0045] Efficiency Item The term used to measure the proximity between the candidate time domain and the desired interaction time domain is defined as:
[0046] in, Indicates the current candidate time domain. Indicates the expected interaction time. and Represents the maximum and minimum boundaries of the candidate time domain. This represents extremely small positive numbers to prevent the denominator from being 0.
[0047] Smoothing terms To ensure the continuity of time domain selection, the optimal time domain at the previous moment is used. For reference, it is defined as:
[0048] Uncertainty Term Used to penalize regions of high uncertainty, defined as:
[0049] in, This indicates the uncertainty of the obstacle's position. This represents the uncertainty normalization constant.
[0050] The comprehensive score for each candidate time domain is obtained by weighting and summing the safety, efficiency, smoothness, and uncertainty terms. Then, based on the candidate time domain corresponding to the maximum comprehensive score, the optimal candidate time domain is selected. .
[0051] Further, S103: Based on the current observed position of the obstacle and the predicted position of the obstacle in the optimal candidate time domain, construct the corridor center line segment, specifically including: Define the starting point of the corridor and the end point They are respectively:
[0052] in, This indicates the current observed position of the obstacle. For the corresponding optimal candidate time domain Predicted location of obstacles.
[0053] Construct the central line segment of the corridor : ; in, Indicates the starting point of the corridor. This indicates the predicted location of the obstacle, which is the end point of the corridor.
[0054] The English word for corridor is "corridor," often referred to as a Safe Corridor or Dynamic Corridor. In robot motion planning, a "corridor" refers to a virtual safe passage planned by the robot to safely avoid obstacles. (Center segment) This is the framework / central axis of this passage, and the safety boundaries on the left and right sides will be generated based on it later.
[0055] Further, S103: calculating the shortest distance from any grid point in the environment to the center line segment of the corridor, specifically includes: For any grid point in the environment Calculate the shortest distance from it to the center line segment. :
[0056] in, , represents the line segment parameter; when Time corresponding to the starting point , Time corresponds to the end point .pass It can represent any point on a line segment.
[0057] Using the above method, a corridor geometric model representing the potential interaction risk between the robot and obstacles is constructed based on the start and end positions in the optimal interaction time domain. This provides a geometric basis for subsequent risk assessment and exercise planning.
[0058] Further, S104: Based on the shortest distance from any grid point to the center line segment of the corridor, the physical radius of the obstacle, and the smoothed obstacle expansion radius, a cost function for processing each obstacle is constructed, specifically including: The expansion radius corresponding to the obstacle Defined as:
[0059] in, This is the upper limit of the maximum expansion radius. This is the static safety distance, equivalent to the default expansion radius. and These are the speed and uncertainty impact coefficients, respectively. This is the scaling factor for uncertainty.
[0060] To ensure the smoothness of the radius over time, an exponential moving average (EMA) is introduced for smoothing:
[0061] in, For smoothing coefficients; Subsequently, based on the physical radius of the obstacle As the geometric core radius, a piecewise cost function is constructed. For any grid point The shortest distance from it to the center line of the corridor is Cost function Defined as: in,
[0062] This indicates a weighted average of the importance of obstacles. This represents the lowest importance weighting of obstacles. The design of this cost function ensures a smooth characteristic where the cost is high in the central area of the corridor and gradually decreases towards both sides.
[0063] Further, S105: Based on the cost function generated from processing each obstacle, determine the fused dynamic risk cost, specifically including: To handle multi-obstacle scenarios, the cost fields generated by each obstacle are fused to obtain a dynamic fused cost. :
[0064] Subsequently, a time-dimensional smoothing process is performed to obtain the dynamic fusion cost after time-dimensional smoothing. :
[0065] Choosing to perform spatial smoothing yields the dynamic fusion cost after spatial smoothing. :
[0066] in, For spatial smoothing kernel, This is the fusion coefficient.
[0067] After the above multi-obstacle fusion and spatiotemporal smoothing, a local dynamic cost grid field is output for subsequent planner calls.
[0068] After obtaining the fused dynamic risk cost field, the dynamic window method (DWA) is used to conduct local planning evaluation of the candidate control quantities.
[0069] Further, in step S105: based on the fused dynamic risk cost, a total cost function for candidate control is constructed; the total cost function for candidate control is solved to obtain the optimal control command, specifically including: For each candidate control command The corresponding trajectory is obtained through forward simulation. And calculate its total cost:
[0070] The specific definitions of each cost are as follows: Goal-oriented costs : ; Path proximity cost : ; Heading deviation cost : ; Dynamic risk cost : ; Controlling smoothing costs : ; The total cost of candidate control is obtained by summing the weighted terms. Then select the optimal control command. : ,in These represent the weighting constants of each cost item.
[0071] The corresponding trajectory is obtained through forward simulation. Specifically, this includes: the input to the forward simulation is: candidate control commands. , It represents linear velocity. Angular velocity is represented by the forward simulation process: the robot's trajectory over a future time period is predicted by integrating the kinematics model of the robot (e.g., a unicycle model). The endpoint of the trajectory is obtained. , destination direction The output of the forward simulation is the endpoint information corresponding to each candidate trajectory, which is used for subsequent cost calculation.
[0072] Further, in step S106: the optimal control command is sent to the actuator of the mobile robot for execution, and the current state of the mobile robot and the obstacle historical observation cache are updated at the same time; S101~S105 are repeated to form an online closed-loop obstacle avoidance process.
[0073] The optimal control command obtained from the solution The command is sent to the underlying actuator for execution, while updating the robot's current state and the historical obstacle observation cache. Then it returns to S101 to continue the rolling optimization for the next cycle, forming a complete closed-loop control process. Figure 2 A schematic diagram of the geometric cost of corridor risk.
[0074] Example 2 This embodiment provides a dynamic obstacle avoidance system for mobile robots, including: The prediction module is configured to predict the future trajectory of an obstacle based on its historical observation window, speed, and position uncertainty. The determination module is configured to: determine a set of candidate time domains for prediction based on the future motion trajectory of the obstacle; perform a comprehensive score on each candidate time domain in the set of candidate time domains for prediction; and select the optimal candidate time domain based on the comprehensive score. The calculation module is configured to: construct the corridor centerline segment based on the current observed position of the obstacle and the predicted position of the obstacle in the optimal candidate time domain; and calculate the shortest distance from any grid point in the environment to the corridor centerline segment. The building module is configured to: construct the cost function for processing each obstacle based on the shortest distance from any grid point to the center line of the corridor, the physical radius of the obstacle, and the smoothed expansion radius of the obstacle; The solution module is configured to: determine the fused dynamic risk cost based on the cost function generated by processing each obstacle; construct the total cost function of the candidate control based on the fused dynamic risk cost; and solve the total cost function of the candidate control to obtain the optimal control command. The execution module is configured to: send the optimal control commands to the actuators of the mobile robot for execution, and update the current state of the mobile robot and the historical observation cache of obstacles, repeating the work of the aforementioned modules.
[0075] It should be noted that the above modules correspond to the steps in Embodiment 1, and the examples and application scenarios implemented by the above modules and the corresponding steps are the same, but are not limited to the content disclosed in Embodiment 1. It should also be noted that the above modules, as part of the system, can be executed in a computer system such as a set of computer-executable instructions.
[0076] The descriptions of each embodiment in the above embodiments have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.
[0077] The proposed system can be implemented in other ways. For example, the system embodiments described above are merely illustrative, and the division of modules described above is only a logical functional division. In actual implementation, there may be other division methods. For example, multiple modules may be combined or integrated into another system, or some features may be ignored or not executed.
[0078] Example 3 This embodiment also provides an electronic device, including: one or more processors, one or more memories, and one or more computer programs; wherein, the processor is connected to the memory, and the one or more computer programs are stored in the memory. When the electronic device is running, the processor executes the one or more computer programs stored in the memory to cause the electronic device to perform the method described in Embodiment 1.
[0079] It should be understood that in this embodiment, the processor can be a central processing unit (CPU), or it can be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor, etc.
[0080] Memory may include read-only memory and random access memory, and provides instructions and data to the processor. A portion of memory may also include non-volatile random access memory. For example, memory may also store information about the device type.
[0081] In the implementation process, each step of the above method can be completed by the integrated logic circuits in the processor hardware or by software instructions.
[0082] The method in Embodiment 1 can be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules within the processor. The software modules can reside in readily available storage media in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. This storage medium is located in memory; the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method. To avoid repetition, a detailed description is not provided here.
[0083] Those skilled in the art will recognize that the units and algorithm steps described in conjunction with the embodiments herein can be implemented in electronic hardware or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0084] Example 4 This embodiment also provides a computer-readable storage medium for storing computer instructions, which, when executed by a processor, complete the method described in Embodiment 1.
[0085] Example 5 This embodiment also provides a computer program product, including a computer program that, when executed by a processor, implements the method in Embodiment 1.
[0086] This application also provides at least one computer program product tangibly stored on a non-transitory computer-readable storage medium. The computer program product includes computer-executable instructions, such as instructions included in program modules, which execute in a device on a target real or virtual processor to perform the processes / methods described above. Typically, program modules include routines, programs, libraries, objects, classes, components, data structures, etc., that perform specific tasks or implement specific abstract data types. In various embodiments, the functionality of program modules can be combined or divided among program modules as needed. The machine-executable instructions for the program modules can execute within a local or distributed device. In a distributed device, the program modules can reside in both local and remote storage media.
[0087] The computer program code used to implement the methods of this application may be written in one or more programming languages. This computer program code may be provided to the processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the computer or other programmable data processing device, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a computer, partially on a computer, as a stand-alone software package, partially on a computer and partially on a remote computer, or entirely on a remote computer or server.
[0088] In the context of this application, computer program code or related data may be carried by any suitable carrier to enable a device, apparatus, or processor to perform the various processes and operations described above. Examples of carriers include signals, computer-readable media, and the like. Examples of signals may include electrical, optical, radio, sound, or other forms of propagation signals, such as carrier waves, infrared signals, etc.
[0089] Those skilled in the art will recognize that the units and algorithm steps described in conjunction with the embodiments herein can be implemented in electronic hardware or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0090] 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 dynamic obstacle avoidance method for mobile robots, characterized by: include: (1): Based on the historical observation window of the obstacle, the speed of the obstacle and the uncertainty of the position of the obstacle, predict the future trajectory of the obstacle; (2): Based on the future motion trajectory of the obstacle, determine the set of candidate time domains for prediction; give a comprehensive score to each candidate time domain in the set of candidate time domains for prediction, and select the optimal candidate time domain based on the comprehensive score; (3): Based on the current observed position of the obstacle and the predicted position of the obstacle in the optimal candidate time domain, construct the corridor center line segment; calculate the shortest distance from any grid point in the environment to the corridor center line segment; (4): Based on the shortest distance from any grid point to the center line of the corridor, the physical radius of the obstacle, and the smoothed expansion radius of the obstacle, construct the cost function generated by processing each obstacle; (5): Determine the dynamic risk cost after fusion based on the cost function generated by processing each obstacle; Based on the fused dynamic risk cost, a total cost function for candidate control is constructed; the total cost function for candidate control is solved to obtain the optimal control command; (6): Send the optimal control command to the actuator of the mobile robot for execution, and update the current state of the mobile robot and the historical observation cache of obstacles at the same time; Repeat steps (1) to (5) above.
2. The mobile robot dynamic obstacle avoidance method as described in claim 1, characterized in that, Based on the future motion trajectory of obstacles, a set of candidate temporal domains for prediction is determined, specifically including: Determine the relative position and relative velocity between the mobile robot and the obstacle; Determine the closing velocity between the two based on their relative position and relative velocity; The initial candidate time-domain set is determined based on the closing velocity and distance between the two. The initial candidate time-domain set is fused with the prior time-domain set to obtain the predicted candidate time-domain set.
3. The mobile robot dynamic obstacle avoidance method as described in claim 2, characterized in that, Determining the relative position and relative velocity between the mobile robot and the obstacle includes: Define the relative position vector between the robot and the obstacle. : ; in, Indicates the first An obstacle in Location at any given moment Indicates that the robot is Location at any given moment This represents the relative position vector of the robot pointing towards the obstacle; Robots and the The distance between the obstacles : ; in, This represents the Euclidean norm, i.e., the straight-line distance. relative speed : ; in, Indicates the first The speed of the obstacle Indicates the robot's speed. Indicates the robot and the first The relative speed between the obstacles; Based on relative position and relative velocity, the closed velocity between the two is determined, specifically including: Calculate the closing velocity between the two : in, To prevent small positive numbers with a denominator of zero.
4. The mobile robot dynamic obstacle avoidance method as described in claim 2, characterized in that, Based on the closing velocity and distance between the two, an initial candidate time-domain set is determined, specifically including: Calculate the expected interaction time domain based on the closing velocity and distance. : in, The lower limit threshold for speed, and These are the minimum and maximum time domain boundaries, respectively. This represents a truncation function that restricts the value to a certain range. interval; Then, construct a distance urgency index. and speed urgency index : in, and This is the normalization constant; Overall urgency Defined as: ; in, This represents a truncation function that restricts the value to between 0 and 1. Weights representing the urgency of the distance. express, Weights representing the urgency of the situation. This indicates the lower limit of the overall urgency. Indicates the upper limit of overall urgency; Based on the calculated urgency Adaptive adjustment of candidate time-domain bandwidth : in, This represents the strength coefficient of the influence of control urgency on the time domain width. Indicates the minimum candidate temporal width. Indicates the temporal width of the basic candidate; Finally, an initial candidate time-domain set is generated. : .
5. The mobile robot dynamic obstacle avoidance method as described in claim 1, characterized in that, Each candidate time domain in the prediction candidate time domain set is comprehensively scored, and the optimal candidate time domain is selected based on the comprehensive score. Specifically, this includes: For each candidate time domain generated in the final Layer-1 candidate time domain set Define the following objective function A comprehensive score was given to it: The specific definitions of each item are as follows: First, calculate the safety items. : By interpolating the predicted trajectory of the obstacle, candidate time-domain parameters are obtained. Obstacle Prediction Location at Time And calculate the relative distance between the robot and the predicted position. ; Candidate Time to Collision Defined as: Safety items Defined as: in, These are the weighting coefficients. and These are the normalization constants for time and distance, respectively. This is the upper limit of TTC; Efficiency Item The term used to measure the proximity between the candidate time domain and the desired interaction time domain is defined as: in, Indicates the current candidate time domain. Indicates the expected interaction time. and Represents the maximum and minimum boundaries of the candidate time domain. To represent extremely small positive numbers, preventing the denominator from being 0; Smoothing terms To ensure the continuity of time-domain selection, the optimal time domain at the previous moment is used. For reference, it is defined as: Uncertainty Term Used to penalize regions of high uncertainty, defined as: in, This indicates the uncertainty of the obstacle's position. This represents the uncertainty normalization constant; The comprehensive score for each candidate time domain is obtained by weighting and summing the safety, efficiency, smoothness, and uncertainty terms. Then, based on the candidate time domain corresponding to the maximum comprehensive score, the optimal candidate time domain is selected. .
6. The mobile robot dynamic obstacle avoidance method as described in claim 1, characterized in that, Based on the current observed position of the obstacle and the predicted position of the obstacle in the optimal candidate time domain, the center line segment of the corridor is constructed, specifically including: Define the starting point of the corridor and the end point They are respectively: in, This indicates the current observed position of the obstacle. For the corresponding optimal candidate time domain Predicted location of the obstacle; Construct the central line segment of the corridor : ; in, Indicates the starting point of the corridor. This indicates the predicted location of the obstacle, i.e., the end point of the corridor; Calculate the shortest distance from any grid point in the environment to the center line segment of the corridor, specifically including: For any grid point in the environment Calculate the shortest distance from it to the center line segment. : in, , represents the line segment parameter; when Time corresponding to the starting point , Time corresponds to the end point ; Based on the shortest distance from any grid point to the corridor centerline, the physical radius of the obstacle, and the smoothed obstacle expansion radius, a cost function for processing each obstacle is constructed, specifically including: The expansion radius corresponding to the obstacle Defined as: in, This is the upper limit of the maximum expansion radius. This is the static safety distance, equivalent to the default expansion radius. and These are the speed and uncertainty impact coefficients, respectively. Scaling for uncertainty; To ensure the time-series smoothness of the radius, an exponential moving average is introduced for smoothing: in, For smoothing coefficients; Subsequently, based on the physical radius of the obstacle As the geometric core radius, a piecewise cost function is constructed; for any grid point The shortest distance from it to the center line of the corridor is Cost function Defined as: This indicates a weighted average of the importance of obstacles. This represents the lowest importance weighting of obstacles. The design of this cost function ensures a smooth characteristic where the cost is high in the central area of the corridor and gradually decreases towards both sides.
7. The mobile robot dynamic obstacle avoidance method as described in claim 1, characterized in that, Based on the cost function generated from processing each obstacle, the dynamic risk cost after fusion is determined, specifically including: To handle multi-obstacle scenarios, the cost fields generated by each obstacle are fused to obtain a dynamic fused cost. : Subsequently, a time-dimensional smoothing process is performed to obtain the dynamic fusion cost after time-dimensional smoothing. : Choosing to perform spatial smoothing yields the dynamic fusion cost after spatial smoothing. : in, For spatial smoothing kernel, The fusion coefficient; Based on the fused dynamic risk cost, a total cost function for candidate control is constructed; the optimal control command is obtained by solving the total cost function of the candidate control, specifically including: For each candidate control command The corresponding trajectory is obtained through forward simulation. And calculate its total cost: The specific definitions of each cost are as follows: Goal-oriented costs : ; Path proximity cost : ; Heading deviation cost : ; Dynamic risk cost : ; Controlling smoothing costs : ; The total cost of candidate control is obtained by summing the weighted terms. Then select the optimal control command. : ,in These represent the weighting constants of each cost item.
8. A mobile robot dynamic obstacle avoidance system, characterized by comprising: The prediction module is configured to predict the future trajectory of an obstacle based on its historical observation window, speed, and position uncertainty. The determination module is configured to: determine a set of candidate time domains for prediction based on the future motion trajectory of the obstacle; perform a comprehensive score on each candidate time domain in the set of candidate time domains for prediction; and select the optimal candidate time domain based on the comprehensive score. The calculation module is configured to: construct the corridor centerline segment based on the current observed position of the obstacle and the predicted position of the obstacle in the optimal candidate time domain; and calculate the shortest distance from any grid point in the environment to the corridor centerline segment. The building module is configured to: construct the cost function for processing each obstacle based on the shortest distance from any grid point to the center line of the corridor, the physical radius of the obstacle, and the smoothed expansion radius of the obstacle; The solution module is configured to determine the dynamic risk cost after fusion based on the cost function generated by processing each obstacle. Based on the fused dynamic risk cost, a total cost function for candidate control is constructed; the total cost function for candidate control is solved to obtain the optimal control command; The execution module is configured to: send the optimal control commands to the actuators of the mobile robot for execution, and update the current state of the mobile robot and the historical observation cache of obstacles, repeating the work of the aforementioned modules.
9. An electronic device, characterized in that it comprises: Memory is used to store computer-readable instructions in a non-transitory manner. as well as Processor, for executing the computer-readable instructions, When the computer-readable instructions are executed by the processor, they perform the method described in any one of claims 1-7.
10. A storage medium, characterized in that, Non-transitory storage of computer-readable instructions, wherein when the non-transitory computer-readable instructions are executed by a computer, the method of any one of claims 1-7 is performed.