A hybrid path optimization method for mobile robots in complex dynamic environments

By adopting a hybrid path optimization method of fuzzy control algorithm and quadtree data structure in complex dynamic environments, the deadlock problem and local optimal solution are solved, and efficient navigation and robustness of the robot in complex environments are achieved.

CN119245664BActive Publication Date: 2025-03-25CHANGCHUN UNIV OF SCI & TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411767374.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-04
Publication Date
2025-03-25
Estimated Expiration
2044-12-04

AI Technical Summary

Technical Problem

The prior art is difficult to effectively avoid and deal with deadlock problems in complex dynamic environments, and traditional algorithms are prone to fall into local optimal solutions and are difficult to find global optimal paths.

Method used

A hybrid path optimization method based on fuzzy control algorithm is adopted to dynamically store and efficiently query the deadlock area by constructing a quad-tree data structure, and combined with weighted average speed detection and dynamic adjustment strategies, real-time path adjustment and deadlock avoidance are achieved.

Benefits of technology

It improves the navigation efficiency and robustness of the robot in complex environments, significantly reduces its dependence on environmental information, and ensures that the robot can complete navigation tasks independently and avoid deadlock areas.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119245664B_ABST
    Figure CN119245664B_ABST
Patent Text Reader

Abstract

The present invention belongs to the field of mobile robot navigation technology, and is particularly a hybrid path optimization method for mobile robots in complex dynamic environments, comprising the following steps: first, the system calculates the robot's steering angle and moving speed vector based on the target point direction and obstacle distance based on a fuzzy control algorithm; then, the robot is detected by weighted average speed to see if it is trapped in an unknown deadlock area, thereby completing the navigation task. The present invention, by introducing a fuzzy control algorithm, realizes real-time path adjustment based on the target direction and obstacle distance, improves the adaptability to dynamic environments, and dynamically stores and efficiently queries deadlock areas by constructing a quadtree data structure. The robot can quickly identify and avoid known deadlock areas, and at the same time, use a speed-based detection method to identify unknown deadlock areas, and automatically escape by adjusting strategies, which not only reduces the dependence on environmental information, but also significantly improves the robustness and navigation efficiency of the system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to the technical field of mobile robot navigation, and in particular to a hybrid path optimization method for a mobile robot in a complex dynamic environment. Background Art

[0002] With the rapid development of artificial intelligence and automation technology, autonomous navigation technology of mobile robots has been widely used in many fields such as industrial manufacturing, logistics and transportation, medical services, agricultural production, etc., playing a vital role. Path planning, as the core technology of autonomous navigation system, directly affects the operation efficiency, safety and system reliability of robots in various mission scenarios. Therefore, efficient path planning algorithms have become a key factor in promoting the development of robotics technology.

[0003] At present, the widely used classical path planning algorithms include A* algorithm, Dijkstra algorithm and rapidly expanding random tree (RRT) algorithm. These algorithms usually show good path optimization capabilities in static and structured environments, and can effectively find the optimal or suboptimal path. However, in complex and dynamic environments, the performance of these algorithms is insufficient. The main reason is that traditional algorithms are difficult to deal with the interference of dynamic obstacles and uncertain factors in the environment. In addition, these algorithms are usually based on the perfect assumption of sensor input data, while in practical applications, sensor data is often accompanied by noise and uncertainty, which seriously affects the stability and reliability of path planning. What's more serious is that in complex environments (such as U-shaped obstacles), traditional algorithms are prone to fall into local optimal solutions and it is difficult to find the global optimal path, which limits their promotion in practical applications. Summary of the invention

[0004] 1. Technical issues to be resolved

[0005] In view of the deficiencies of the prior art, the present invention provides a hybrid path optimization method for mobile robots in complex dynamic environments, which can effectively avoid and handle deadlock problems in unknown and complex environments. By introducing a fuzzy control algorithm, real-time path adjustment based on target direction and obstacle distance is achieved, and the adaptability to dynamic environments is improved. In addition, by constructing a quadtree data structure to dynamically store and efficiently query deadlock areas, the robot can quickly identify and avoid known deadlock areas, and use a speed-based detection method to identify unknown deadlock areas, and automatically get out of trouble by adjusting strategies. The present invention not only reduces the dependence on environmental information, but also significantly improves the robustness and navigation efficiency of the system, thereby ensuring that the robot can autonomously complete navigation tasks in unstructured environments. It has important theoretical significance and practical application value, and solves the problem of easy deadlock in unknown and complex environments.

[0006] (II) Technical solution

[0007] In order to achieve the above-mentioned purpose, the present invention specifically adopts the following technical solutions:

[0008] Known conditions: Maximum number of system iterations , time step , robot speed , speed threshold , distance threshold , the robot's historical iteration position set and speed set ;

[0009] Explanation of known conditions and variables to be determined:

[0010] first, Indicates the maximum number of iterations of the system. When the maximum number of iterations is reached, the system will stop executing the navigation algorithm to prevent the algorithm from falling into an infinite loop. is the time step, which is kept fixed in each iteration to ensure stability and accuracy during the calculation process. The robot will move at a constant speed in the navigation based on fuzzy control. Move in the calculated direction at a constant speed is a preset constant. Speed ​​threshold Used to determine whether the robot is in a deadlock state. Tolerance distance Used to determine whether the robot has reached the target point, that is, when the distance between the robot and the target point is less than When , the system will consider that the robot has successfully reached the target, thus terminating the execution of the navigation algorithm. and collection It is used to record all the position and speed information of the robot in historical iterations and initialize it to an empty set. Indicates The position at the iteration, Indicates The speed of the robot under iterations. It is a sequence of all coordinate points of the robot from the starting point to the target point.

[0011] A hybrid path optimization method for a mobile robot in a complex dynamic environment comprises the following steps:

[0012] First, based on the fuzzy control algorithm, the system calculates the robot's steering angle and moving speed vector according to the target point direction and obstacle distance;

[0013] Then, by weighted average speed Detect if the robot is stuck in an unknown deadlock area;

[0014] If the robot is detected to be in deadlock, a circular area covering the current position is generated and stored in the deadlock area list of the quadtree structure. At the same time, the speed is adjusted according to the deadlock escape strategy. , so that the robot can quickly get out of trouble;

[0015] If deadlock is not detected, the speed set by the fuzzy control algorithm is keep going;

[0016] When the navigation termination condition is reached, the system outputs the navigation path , complete navigation tasks, ensure the robot's autonomous navigation capabilities in complex environments, and effectively avoid known and unknown deadlock areas.

[0017] Furthermore, the robot navigation path , the specific steps to obtain are as follows:

[0018] Step 1: Construct a fuzzy controller as follows:

[0019] (1) Determine the input and output variables: The fuzzy controller has a four-input and one-output structure;

[0020] The input variables include: the angle between the target point direction and the robot's current direction , the unit is radian (rad), the range is ;

[0021] A positive value indicates that the target is on the right side of the robot, and a negative value indicates that the target is on the left side;

[0022] The distances to obstacles on the left, front, and right sides of the robot , , , the unit is meter (m), the range is ;

[0023] The output variable is the steering angle that the robot should adjust , the unit is radian (rad), the range is ;

[0024] Among them, positive values ​​indicate a right turn, and negative values ​​indicate a left turn;

[0025] (2) Setting fuzzy sets: For the target direction , set its fuzzy set to ;

[0026] Distance to obstacles , , , set its fuzzy set to ;

[0027] For output variables , set its fuzzy set to ;

[0028] (3) Setting the membership function: In the membership function setting of each variable, the generalized bell-shaped membership function is selected as the membership function of the input variable and the output variable;

[0029] The reason is that the generalized bell-shaped membership function has a smooth membership change characteristic and can be used when the input value is close to the central value. Achieve smooth transition;

[0030] In addition, by adjusting its parameters and , the shape and width of the membership function can be flexibly changed to adapt to different control requirements, thereby improving the response stability and flexibility of the system;

[0031] The membership function is expressed as: (28)

[0032] Among them, the parameters Control the width of the curve, parameters Controls the steepness of the curve, parameter Control the center position of the curve;

[0033] In the input membership function, the target direction The parameters of the three membership functions They are [1.16, 3.28, -2.68; 0.89, 3.04, 0; 1.26, 3.28, 2.79] respectively;

[0034] The parameters of the two membership functions for the three distance input variables are the same. They are [0.215, 4.77, 0.39; 0.211, 4.703, 0.899] respectively;

[0035] In the output membership function, the steering angle The parameters of the five membership functions They are [0.76, 4.04, -3.07; 0.60, 4.05, -1.44; 0.66, 3.62, 0; 0.61, 4.09, 1.40; 0.82, 4.05, 3.14] respectively;

[0036] (4) Designing fuzzy rules: By defining a fuzzy rule table, the robot can dynamically adjust its direction based on the target direction and obstacle distance, thereby avoiding obstacles and moving toward the target.

[0037] A total of 24 rules are defined, and the rules are in the following format:

[0038] (29)

[0039] in, , , , The input variables are , , , In the Fuzzy sets under rules, is the fuzzy set of output variables, Iterates through all the rules The specific fuzzy control rules are shown in the following table:

[0040] ;

[0041] Here is an explanation of the first fuzzy rule:

[0042] Rule 1: If the target direction is "leftward" and the left distance is "far" and the front distance is "far" and the right distance is "far", the turning angle is "left forward turn";

[0043] The fuzzy control rule generation logic is divided into two stages: first, the optimal initial direction is selected according to the distance of the obstacle. The robot will move in the direction farthest from the obstacle first to ensure safe obstacle avoidance; second, on this basis, the target point direction is adjusted so that the robot can move towards the target as much as possible while avoiding obstacles. The final steering angle is dynamically adjusted by combining the initial obstacle avoidance direction with the offset of the target point direction to ensure that the robot can avoid obstacles efficiently and maintain goal orientation.

[0044] Step 2: Construct a deadlock list as follows:

[0045] Introducing the deadlock list ( ) Record known deadlock areas. Its main purpose is to prevent the robot from getting stuck in a loop while moving toward the target point and to avoid it from repeatedly entering the detected deadlock area. By introducing a deadlock list , which can effectively improve the efficiency and reliability of navigation algorithms;

[0046] Deadlock List The quadtree structure is used for storage and search. The quadtree can efficiently manage and retrieve spatial data, making it faster to make regional judgments in complex environments. Each node of the quadtree represents a rectangular area, which is defined as:

[0047] (30)

[0048] This rectangular area is defined by the lower left corner coordinates and the upper right corner coordinates OK, a quadtree is constructed by recursively dividing a rectangular region into four sub-regions (quadrants), each of which is itself a quadtree node;

[0049] The principle of division is along Axis and The midpoints of the axes divide the current rectangular area into four sub-rectangles of equal size:

[0050] (31)

[0051] in: (32)

[0052] The system first initializes an empty quadtree to store the boundaries of the circular deadlock area. At the same time, the root node boundary of the quadtree is set to the range of the entire workspace, thereby ensuring that the robot can dynamically update and query the deadlock area during navigation.

[0053] Step 3: Fuzzy control path planning is as follows:

[0054] In fuzzy control path planning, the system uses the input fuzzy variables, the predefined membership function and the fuzzy rule table, and the Min-Max inference rule to obtain the output variables. Membership degree:

[0055] (33)

[0056] in, , , , The input variables are , , , In the Fuzzy sets under rules, is the output variable fuzzy set of

[0057] is the membership function, Iterates through all the rules The formula first calculates the membership value of each input variable, and then The function gets the matching degree of each rule, and then uses The function takes the maximum value from all rules to determine the membership of the output variable;

[0058] The output variable is obtained in fuzzy inference After the membership function is calculated, the fuzzy membership value needs to be converted into a specific numerical output to determine the steering angle that the robot should adjust. , the centroid method is used for defuzzification. Its principle is to take the centroid of the area enclosed by the fuzzy membership function curve and the horizontal coordinate as the final output value of fuzzy reasoning, that is:

[0059] (34)

[0060] in, is the possible value of the output variable, It is the membership degree under different values. The numerator represents the weighted product of each value and its membership degree, and the denominator is the sum of the membership degrees. The result is the final output value of fuzzy reasoning. , is the weighted average of all possible values;

[0061] Based on the robot's current direction and the inferred steering angle , calculate the direction angle of the velocity vector for:

[0062] (35)

[0063] (36)

[0064] in, is the current position, is the position at the last moment, and the two are used to calculate the current direction angle of the robot ;

[0065] The robot follows the direction At speed When moving, its velocity vector on the two-dimensional plane is It is expressed as:

[0066] (37)

[0067] in, and Respectively indicate the speed and The weight in direction, is the preset uniform speed of the robot.

[0068] Step 4: Calculate the weighted average speed The details are as follows:

[0069] To determine if the robot is trapped in an area, use the weighted average speed To determine whether the robot is trapped by an obstacle;

[0070] The recursive formula of weighted velocity is shown as follows:

[0071] (38)

[0072] in, It is The weighted average speed of iterations, It is The weighted average speed of iterations, is the speed of the first iteration, It is The actual speed of the iterations, is the dynamic weight attenuation coefficient, which determines the influence of the current speed on the weighted average speed;

[0073] The specific expressions are as follows:

[0074] (39)

[0075] in, Indicates the change between the current speed and the last weighted average speed, reflecting the amplitude of speed fluctuation. is the modulus of the current velocity, plus a small constant To prevent the denominator from being zero, and Function ensures Restricted to within the scope;

[0076] When the speed changes greatly, The value increases, which means that the influence of the current actual speed on the weighted average speed increases, and it can respond to speed changes more quickly; when the speed is relatively stable, The value decreases, relying more on historical speed data, and obtaining a smoother weighted average speed;

[0077] By recursive formula (11), we can It is expanded into the weighted sum of all historical velocities, as shown in the following equation (13):

[0078] (40)

[0079] in, is the current iteration number, is the index of a historical moment, indicating the At a certain moment before, each historical speed The weight of .

[0080] Step 5: Deadlock determination is as follows:

[0081] During the iteration of the algorithm, the system will dynamically update the weighted average speed based on the above formula. Subsequently, the robot will perform self-detection based on the updated weighted average speed value to determine whether its current state is a deadlock state, that is, whether it is in a dilemma of being unable to move forward effectively;

[0082] In the In the iteration, if the following conditions are met:

[0083] (41)

[0084] Among them, the threshold is a minimum value that has been set;

[0085] When the norm of the weighted average velocity is less than this minimum value, it means that several consecutive The value is below the threshold , it means that the robot's position has hardly changed over a period of time;

[0086] In addition, it is also necessary to determine whether the robot is close to the target point. If the robot is not near the target point, that is, the robot's current position and the target point location The distance between them exceeds a certain fixed distance , combined with the weighted average speed, it means that it is very likely to be trapped by obstacles and fall into deadlock;

[0087] As shown below:

[0088] (42)

[0089] in, is the tolerance distance for the robot to reach the target point;

[0090] When the distance between the robot and the target point is less than When , the robot is considered to have reached the target point, navigation ends, and no deadlock judgment is made;

[0091] When the robot is determined to be in a deadlock state, the deadlock escape strategy is activated to help the robot escape the deadlock area; otherwise, the robot is controlled in the direction of the fuzzy control plan with a speed of Move to .

[0092] Step 6: The deadlock escape strategy is as follows:

[0093] Introducing the deadlock list ( ) record known deadlock areas, The robot will not re-enter any area in the deadlock zone, thus preventing the robot from repeatedly moving back and forth in a deadlock zone;

[0094] Since the robot is in one time step At preset speed When moving, its normal moving distance is ,but ;

[0095] Therefore, when the robot is determined to be deadlocked, the current position and the previous round position The midpoint between Centered on The radius The circular area Set up a deadlock region as follows:

[0096] (43)

[0097] (44)

[0098] (45)

[0099] For deadlock regions , it needs to be inserted into the quadtree, if the area If it intersects with the rectangular area of ​​a node, the area Stored in the node;

[0100] First, calculate the center of the circle To rectangle boundary The nearest point , and then use the distance to determine whether the circle and rectangle intersect:

[0101] (46)

[0102] (47)

[0103] When the result on the left side of formula (20) is less than or equal to the result on the right side, the two regions are considered to intersect, and then Stored in this node, indicating the area Access has been disabled to prevent the robot from repeatedly deadlocking in subsequent iterations;

[0104] A robot in a deadlock zone will escape at the deadlock escape speed. Along the current location Deadlocked Regional Center The line between them moves outward from the area, and the movement speed is inversely proportional to the distance from the current position to the deadlock center, and is limited to range, ensuring smoother speed control:

[0105] (48)

[0106] (49)

[0107] in, is the preset robot movement speed, is the original escape velocity without restriction;

[0108] Considering that the robot may be in In the deadlock area, the inverse of the distance is used as the weight coefficient to merge the speed, as shown below:

[0109] (50)

[0110] (51)

[0111] in, is the distance from the robot's current position to the center of each deadlock area, is the index of the deadlock region, is the center of the deadlock area that the robot is involved in, Deadlock Center The escape speed, It is a weight coefficient based on distance. The closer the distance, the greater the impact on the total speed.

[0112] Starting from the next iteration, the robot will treat the areas in the deadlock list as invisible obstacles. The system calculates the distance between the robot's current position and the area based on the center and radius of each deadlock area, and uses this distance together with the distance of conventional obstacles as the basis for the fuzzy controller's distance input variable.

[0113] Step 7: Update the robot position The details are as follows:

[0114] The algorithm needs to calculate the speed in the corresponding state according to the different states of the robot, and calculate the speed vector To calculate the robot's position at the next moment;

[0115] When the robot is judged to be in a deadlock state, the robot cannot move normally. At this time, the robot's current speed will be adjusted to , indicating its adjustment speed when in deadlock state;

[0116] If the robot is in a non-deadlock state, it can normally follow the speed set by the fuzzy control Move as shown below:

[0117] (52)

[0118] Ensures that the robot does not fall into a loop or collide in a deadlock state, but has the opportunity to adjust the speed through special to restore normalcy;

[0119] According to the velocity vector , calculate the robot's position at the next time step , see the following formula:

[0120] (53)

[0121] in, is the robot's current position, is the time step;

[0122] The robot calculates the target position at the next moment using the above formula and updates the calculation result as its new current position.

[0123] Step 8: Determine whether to terminate navigation.

[0124] (1) Target point arrival judgment: When the robot's current position With the target point position The distance between them is less than or equal to the threshold When , the robot terminates navigation;

[0125] (54)

[0126] in, is the preset tolerance distance. If the above conditions are met, the system will determine that the robot has successfully reached the target point and immediately terminate the navigation process;

[0127] (2) Maximum number of iterations: If the number of iterations of the algorithm reaches the preset maximum value , the system will automatically stop to prevent the navigation algorithm from falling into an infinite loop;

[0128] When the navigation termination condition is reached, the system outputs the robot's complete navigation path , otherwise continue to return to step 2 for path planning.

[0129] (III) Beneficial effects

[0130] Compared with the prior art, the present invention provides a hybrid path optimization method for a mobile robot in a complex dynamic environment, which has the following beneficial effects:

[0131] 1. The present invention adopts a strategy based on a combination of quadtree data structure and fuzzy control algorithm. When the robot is detected to be trapped in a deadlock area, the mobile strategy can be adjusted in real time to avoid the robot from getting into trouble. This method can effectively identify and dynamically avoid the deadlock area, thereby improving the navigation efficiency of the robot in a complex environment.

[0132] 2. The present invention constructs a quadtree data structure to efficiently store and quickly query the detected deadlock areas. In each path planning process, the robot only needs to regard the known deadlock area as an obstacle and calculate the shortest distance to the area boundary for path planning, thereby avoiding falling into the same deadlock area and improving the overall navigation efficiency.

[0133] 3. The present invention designs a dynamic deadlock area setting mechanism, which can more accurately identify the area where the robot is trapped in a deadlock through a judgment formula based on a weighted average speed and a quadtree storage mechanism: the robot's motion state in a short period of time is detected through the weighted average speed formula, and whether it is trapped in a deadlock is determined in combination with a set threshold. Once a deadlock is detected, the deadlock area will be stored in the quadtree as a circular area, thereby preventing the robot from repeatedly entering the same deadlock area during subsequent navigation.

[0134] 4. The present invention enables the robot to navigate efficiently in unknown or complex environments by dynamically adjusting the deadlock area and efficient storage and query based on quadtrees. This not only significantly improves the adaptability of the system, but also reduces the dependence on environmental information, thereby enhancing the reliability and flexibility of the algorithm in practical applications.

[0135] 5. The present invention is not only suitable for indoor navigation and industrial automation environments, but can also be extended to unmanned driving, logistics robots, disaster rescue and other fields, providing a new solution for the efficient navigation of intelligent mobile robots in complex environments. BRIEF DESCRIPTION OF THE DRAWINGS

[0136] Figure 1 It is the algorithm flow chart of the present invention. DETAILED DESCRIPTION

[0137] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0138] Example

[0139] like Figure 1 As shown, one embodiment of the present invention proposes:

[0140] Known conditions: Maximum number of system iterations , time step , robot speed , speed threshold , distance threshold , the robot's historical iteration position set and speed set ;

[0141] Explanation of known conditions and variables to be determined:

[0142] first, Indicates the maximum number of iterations of the system. When the maximum number of iterations is reached, the system will stop executing the navigation algorithm to prevent the algorithm from falling into an infinite loop. is the time step, which is kept fixed in each iteration to ensure stability and accuracy during the calculation process. The robot will move at a constant speed in the navigation based on fuzzy control. Move in the calculated direction at a constant speed is a preset constant. Speed ​​threshold Used to determine whether the robot is in a deadlock state. Tolerance distance Used to determine whether the robot has reached the target point, that is, when the distance between the robot and the target point is less than When , the system will consider that the robot has successfully reached the target, thus terminating the execution of the navigation algorithm. and collection It is used to record all the position and speed information of the robot in historical iterations and initialize it to an empty set. Indicates The position at the iteration, Indicates The speed of the robot under iterations. It is a sequence of all coordinate points of the robot from the starting point to the target point.

[0143] A hybrid path optimization method for a mobile robot in a complex dynamic environment comprises the following steps:

[0144] First, based on the fuzzy control algorithm, the system calculates the robot's steering angle and moving speed vector according to the target point direction and obstacle distance;

[0145] Then, by weighted average speed Detect if the robot is stuck in an unknown deadlock area;

[0146] If the robot is detected to be in deadlock, a circular area covering the current position is generated and stored in the deadlock area list of the quadtree structure. At the same time, the speed is adjusted according to the deadlock escape strategy. , so that the robot can quickly get out of trouble;

[0147] If deadlock is not detected, the speed set by the fuzzy control algorithm is keep going;

[0148] When the navigation termination condition is reached, the system outputs the navigation path , complete the navigation task.

[0149] Furthermore, the robot navigation path , the specific steps to obtain are as follows:

[0150] Step 1: Construct a fuzzy controller as follows:

[0151] (1) Determine the input and output variables: The fuzzy controller has a four-input and one-output structure;

[0152] The input variables include: the angle between the target point direction and the robot's current direction , the unit is radian (rad), the range is ;

[0153] A positive value indicates that the target is on the right side of the robot, and a negative value indicates that the target is on the left side;

[0154] The distances to obstacles on the left, front, and right sides of the robot , , , the unit is meter (m), the range is ;

[0155] The output variable is the steering angle that the robot should adjust , the unit is radian (rad), the range is ;

[0156] Among them, positive values ​​indicate a right turn, and negative values ​​indicate a left turn;

[0157] (2) Setting fuzzy sets: For the target direction , set its fuzzy set to ;

[0158] Distance to obstacles , , , set its fuzzy set to ;

[0159] For output variables , set its fuzzy set to ;

[0160] (3) Setting the membership function: In the membership function setting of each variable, the generalized bell-shaped membership function is selected as the membership function of the input variable and the output variable;

[0161] The reason is that the generalized bell-shaped membership function has a smooth membership change characteristic and can be used when the input value is close to the central value. Achieve smooth transition;

[0162] In addition, by adjusting its parameters and , the shape and width of the membership function can be flexibly changed to adapt to different control requirements, thereby improving the response stability and flexibility of the system;

[0163] The membership function is expressed as: (55)

[0164] Among them, the parameters Control the width of the curve, parameters Controls the steepness of the curve, parameter Control the center position of the curve;

[0165] In the input membership function, the target direction The parameters of the three membership functions They are [1.16, 3.28, -2.68; 0.89, 3.04, 0; 1.26, 3.28, 2.79] respectively;

[0166] The parameters of the two membership functions for the three distance input variables are the same. They are [0.215, 4.77, 0.39; 0.211, 4.703, 0.899] respectively;

[0167] In the output membership function, the steering angle The parameters of the five membership functions They are [0.76, 4.04, -3.07; 0.60, 4.05, -1.44; 0.66, 3.62, 0; 0.61, 4.09, 1.40; 0.82, 4.05, 3.14] respectively;

[0168] (4) Designing fuzzy rules: By defining a fuzzy rule table, the robot can dynamically adjust its direction based on the target direction and obstacle distance, thereby avoiding obstacles and moving toward the target.

[0169] A total of 24 rules are defined, and the rules are in the following format:

[0170] (56)

[0171] in, , , , The input variables are , , , In the Fuzzy sets under rules, is the fuzzy set of output variables, Iterates through all the rules The specific fuzzy control rules are shown in the following table:

[0172] ;

[0173] Here is an explanation of the first fuzzy rule:

[0174] Rule 1: If the target direction is "leftward" and the left distance is "far" and the front distance is "far" and the right distance is "far", the turning angle is "left forward turn";

[0175] The fuzzy control rule generation logic is divided into two stages: first, the optimal initial direction is selected according to the distance to the obstacle, and the robot will preferentially move in the direction farthest from the obstacle to ensure safe obstacle avoidance; second, on this basis, the target point direction is adjusted so that the robot can move towards the target as much as possible while avoiding obstacles. The final steering angle is combined with the offset of the initial obstacle avoidance direction and the target point direction to achieve dynamic adjustment, ensuring that the robot can avoid obstacles efficiently and maintain goal orientation.

[0176] Step 2: Construct a deadlock list as follows:

[0177] Introducing the deadlock list ( ) Record known deadlock areas. Its main purpose is to prevent the robot from getting stuck in a loop while moving toward the target point and to avoid it from repeatedly entering the detected deadlock area. By introducing a deadlock list , which can effectively improve the efficiency and reliability of navigation algorithms;

[0178] Deadlock List The quadtree structure is used for storage and search. The quadtree can efficiently manage and retrieve spatial data, making it faster to make regional judgments in complex environments. Each node of the quadtree represents a rectangular area, which is defined as:

[0179] (57)

[0180] This rectangular area is defined by the lower left corner coordinates and the upper right corner coordinates OK, a quadtree is constructed by recursively dividing a rectangular region into four sub-regions (quadrants), each of which is itself a quadtree node;

[0181] The principle of division is along Axis and The midpoints of the axes divide the current rectangular area into four sub-rectangles of equal size:

[0182] (58)

[0183] in: (59)

[0184] The system first initializes an empty quadtree to store the boundaries of the circular deadlock area. At the same time, the root node boundary of the quadtree is set to the range of the entire workspace, thereby ensuring that the robot can dynamically update and query the deadlock area during navigation.

[0185] Step 3: Fuzzy control path planning is as follows:

[0186] In fuzzy control path planning, the system uses the input fuzzy variables, the predefined membership function and the fuzzy rule table, and the Min-Max inference rule to obtain the output variables. Membership degree:

[0187] (60)

[0188] in, , , , The input variables are , , , In the Fuzzy sets under rules, is the output variable fuzzy set of ;

[0189] is the membership function, Iterates through all the rules The formula first calculates the membership value of each input variable, and then The function gets the matching degree of each rule, and then uses The function takes the maximum value from all rules to determine the membership of the output variable;

[0190] The output variable is obtained in fuzzy inference After the membership function is calculated, the fuzzy membership value needs to be converted into a specific numerical output to determine the steering angle that the robot should adjust. , the centroid method is used for defuzzification. Its principle is to take the centroid of the area enclosed by the fuzzy membership function curve and the horizontal coordinate as the final output value of fuzzy reasoning, that is:

[0191] (61)

[0192] in, is the possible value of the output variable, It is the membership degree under different values. The numerator represents the weighted product of each value and its membership degree, and the denominator is the sum of the membership degrees. The result is the final output value of fuzzy reasoning. , is the weighted average of all possible values;

[0193] Based on the robot's current direction and the inferred steering angle , calculate the direction angle of the velocity vector for:

[0194] (62)

[0195] (63)

[0196] in, is the current position, is the position at the last moment, and the two are used to calculate the current direction angle of the robot ;

[0197] The robot follows the direction At speed When moving, its velocity vector on the two-dimensional plane is It is expressed as:

[0198] (64)

[0199] in, and Respectively indicate the speed and The weight in direction, is the preset uniform speed of the robot.

[0200] Step 4: Calculate the weighted average speed The details are as follows:

[0201] To determine if the robot is trapped in an area, use the weighted average speed To determine whether the robot is trapped by an obstacle;

[0202] The recursive formula of weighted velocity is shown as follows:

[0203] (65)

[0204] in, It is The weighted average speed of iterations, It is The weighted average speed of iterations, is the speed of the first iteration, It is The actual speed of the iterations, is the dynamic weight attenuation coefficient, which determines the influence of the current speed on the weighted average speed;

[0205] The specific expressions are as follows:

[0206] (66)

[0207] in, Indicates the change between the current speed and the last weighted average speed, reflecting the amplitude of speed fluctuation. is the modulus of the current velocity, plus a small constant To prevent the denominator from being zero, and Function ensures Restricted to within the scope;

[0208] When the speed changes greatly, The value increases, which means that the influence of the current actual speed on the weighted average speed increases, and it can respond to speed changes more quickly; when the speed is relatively stable, The value decreases, relying more on historical speed data, and obtaining a smoother weighted average speed;

[0209] By recursive formula (11), we can It is expanded into the weighted sum of all historical velocities, as shown in the following equation (13):

[0210] (67)

[0211] in, is the current iteration number, is the index of a historical moment, indicating the At a certain moment before, each historical speed The weight of ;

[0212] But because As a dynamically adjusted coefficient, the weight distribution will no longer be a simple fixed exponential decay, but will be adaptively adjusted according to the speed change. Therefore, the speed at the nearest moment will still have a greater impact, but the specific degree of impact will change with the speed change, which increases flexibility and adaptability;

[0213] The weight distribution mechanism in the weighted average speed enables the model to strike a balance between smoothing historical data and responding to speed changes, and to respond more flexibly to drastic fluctuations in speed. This design helps the robot detect whether it is trapped by obstacles more accurately and promptly, because it emphasizes the importance of the current speed when there is a significant speed change, while retaining the stability of historical data when the change is small, thereby reducing the interference of historical data on current judgments and improving reaction sensitivity.

[0214] Step 5: Deadlock determination is as follows:

[0215] During the iteration of the algorithm, the system will dynamically update the weighted average speed based on the above formula. Subsequently, the robot will perform self-detection based on the updated weighted average speed value to determine whether its current state is a deadlock state, that is, whether it is in a dilemma of being unable to move forward effectively;

[0216] In the In the iteration, if the following conditions are met:

[0217] (68)

[0218] Among them, the threshold is a minimum value that has been set;

[0219] When the norm of the weighted average velocity is less than this minimum value, it means that several consecutive The value is below the threshold , it means that the robot's position has hardly changed over a period of time;

[0220] In addition, it is also necessary to determine whether the robot is close to the target point. If the robot is not near the target point, that is, the robot's current position and the target point location The distance between them exceeds a certain fixed distance , combined with the weighted average speed, it means that it is very likely to be trapped by obstacles and fall into deadlock;

[0221] As shown below:

[0222] (69)

[0223] in, is the tolerance distance for the robot to reach the target point;

[0224] When the distance between the robot and the target point is less than When , the robot is considered to have reached the target point, navigation ends, and no deadlock judgment is made;

[0225] Therefore, we need to judge whether the robot is in a deadlock situation based on the weighted average speed when the robot has not reached the target point. If the robot is determined to be in a deadlock state, the deadlock escape strategy is activated to help the robot escape the deadlock area; otherwise, the robot is accelerated according to the speed in the direction of the fuzzy control planning. Move to .

[0226] Step 6: The deadlock escape strategy is as follows:

[0227] Introducing the deadlock list ( ) record known deadlock areas, The robot will not re-enter any area in the deadlock zone, thus preventing the robot from repeatedly moving back and forth in a deadlock zone;

[0228] Since the robot is in one time step At preset speed When moving, its normal moving distance is ,but ;

[0229] Therefore, when the robot is determined to be deadlocked, the current position and the previous round position The midpoint between As the center, The radius The circular area Set up a deadlock region as follows:

[0230] (70)

[0231] (71)

[0232] (72)

[0233] For deadlock regions , it needs to be inserted into the quadtree, if the area If it intersects with the rectangular area of ​​a node, the area Stored in this node;

[0234] First, calculate the center of the circle To rectangle boundary The nearest point , and then use the distance to determine whether the circle and rectangle intersect:

[0235] (73)

[0236] (74)

[0237] When the result on the left side of formula (20) is less than or equal to the result on the right side, the two regions are considered to intersect, and then Stored in this node, indicating the area Access has been disabled to prevent the robot from repeatedly deadlocking in subsequent iterations;

[0238] A robot in a deadlock zone will escape at the deadlock escape speed. Along the current location Deadlocked Regional Center The line between them moves outward from the area, and the movement speed is inversely proportional to the distance from the current position to the deadlock center, and is limited to range, ensuring smoother speed control:

[0239] (75)

[0240] (76)

[0241] in, is the preset robot movement speed, is the original escape velocity without restriction;

[0242] Considering that the robot may be in In the deadlock area, the inverse of the distance is used as the weight coefficient to merge the speed, as shown below:

[0243] (77)

[0244] (78)

[0245] in, is the distance from the robot's current position to the center of each deadlock area, is the index of the deadlock region, is the center of the deadlock area that the robot is involved in, Deadlock Center The escape speed, It is a weight coefficient based on distance. The closer the distance, the greater the impact on the total speed.

[0246] Starting from the next iteration, the robot will treat the areas in the deadlock list as invisible obstacles. The system calculates the distance between the robot's current position and the area based on the center and radius of each deadlock area, and uses this distance together with the distance of conventional obstacles as the basis for the fuzzy controller's distance input variable.

[0247] Step 7: Update the robot position The details are as follows:

[0248] The algorithm needs to calculate the speed in the corresponding state according to the different states of the robot, and calculate the speed vector To calculate the robot's position at the next moment;

[0249] When the robot is judged to be in a deadlock state, the robot cannot move normally. At this time, the robot's current speed will be adjusted to , indicating its adjustment speed when in deadlock state;

[0250] If the robot is in a non-deadlock state, it can normally follow the speed set by the fuzzy control Move as shown below:

[0251] (79)

[0252] Ensures that the robot does not fall into a loop or collide in a deadlock state, but has the opportunity to adjust the speed through special to restore normalcy;

[0253] According to the velocity vector , calculate the robot's position at the next time step , see the following formula:

[0254] (80)

[0255] in, is the robot's current position, is the time step;

[0256] The robot calculates the target position at the next moment using the above formula and updates the calculation result as its new current position.

[0257] Step 8: Determine whether to terminate navigation.

[0258] (1) Target point arrival judgment: When the robot's current position With the target point position The distance between them is less than or equal to the threshold When , the robot terminates navigation;

[0259] (81)

[0260] in, is the preset tolerance distance. If the above conditions are met, the system will determine that the robot has successfully reached the target point and immediately terminate the navigation process;

[0261] (2) Maximum number of iterations: If the number of iterations of the algorithm reaches the preset maximum value , the system will automatically stop to prevent the navigation algorithm from falling into an infinite loop;

[0262] When the navigation termination condition is reached, the system outputs the robot's complete navigation path , otherwise continue to return to step 2 for path planning.

[0263] Finally, it should be noted that the above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art can still modify the technical solutions described in the aforementioned embodiments or replace some of the technical features therein by equivalents. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.

Claims

1. A hybrid path optimization method for a mobile robot in a complex dynamic environment, characterized in that: The steps include: First, based on the fuzzy control algorithm, the system calculates the robot's steering angle and moving speed vector according to the target point direction and obstacle distance; Then, by weighted average speed Detect if the robot is stuck in an unknown deadlock area; in; If the robot is detected to be in a deadlock, a circular area covering the current position is generated and stored in the deadlock area list of the quadtree structure. At the same time, the speed is adjusted according to the deadlock escape strategy. Get the robot out of trouble quickly; If deadlock is not detected, the speed v set by the fuzzy control algorithm is t keep going; When the navigation termination condition is reached, the system outputs the navigation path and completes the navigation task; The deadlock escape strategy is as follows: Introduce a deadlock list L to record known deadlock areas. The robot will not enter any area in L again, thus avoiding the robot from repeatedly moving back and forth in a deadlock area. Since the robot moves at a preset speed V within a time step Δt, its normal moving distance is d fuzzy =V·Δt, then ||x t -x t-1 ||≤d fuzzy ; Therefore, when the robot is determined to be deadlocked, it will be based on the current position x t and the previous round position x t-1 The midpoint between c=(x c ,y c ) is the center, d fuzzy / 2 The circular area R with radius r is set as the deadlock area, as shown below: R:(x-x c ) 2 +(y-y c ) 2 ≤r 2 (18) For the deadlock region R, it needs to be inserted into the quadtree. Each node of the quadtree represents a rectangular region. If the region R intersects with the rectangular region of a node, the region R is stored in the node. First, calculate the center of the circle c = (x c ,y c ) to the rectangle boundary [x min ,y min ,x max ,y max ]'s nearest point (x nearest ,y nearest ), and then use the distance to determine whether the circle and rectangle intersect: x nearest =max(x min ,min(x c ,x max )) and nearest =max(y min ,min(and c ,and max )) (19) (x nearest -x c ) 2 +(and nearest -and c ) 2 ≤r 2 (20) When the result on the left side of formula (20) is less than or equal to the result on the right side, the two regions are considered to intersect, and R is stored in the node, indicating that the region R has been prohibited from access, preventing the robot from repeatedly encountering a deadlock state in subsequent iterations; A robot in a deadlock zone will escape at the deadlock escape speed. Along the current position x t The line connecting the deadlock region center c moves outward from the region, and the moving speed is inversely proportional to the distance from the current position to the deadlock center and is limited to the range of [V / 2,V] to ensure smoother speed control: Where V is the preset robot movement speed, v′ t is the original escape velocity without restriction; Considering that the robot may be in n deadlock areas at the same time, the inverse of the distance is used as the weight coefficient to merge the speed, as shown below: d ts =||x t -c ts || (23) Among them, d ts is the distance from the robot's current position to the center of each deadlock region, ts is the index of the deadlock region, c ts is the center of the deadlock area that the robot is involved in, is for the deadlock center c ts The escape speed, It is a weight coefficient based on distance. The closer the distance, the greater the impact on the total speed. Starting from the next iteration, the robot will treat the areas in the deadlock list as invisible obstacles. The system calculates the distance between the robot's current position and the area based on the center and radius of each deadlock area, and uses this distance together with the distance of conventional obstacles as the basis for the fuzzy controller's distance input variable.

2. The hybrid path optimization method for a mobile robot in a complex dynamic environment according to claim 1, characterized in that: The known conditions are pre-set as follows: the maximum number of system iterations T, the time step Δt, the robot speed V, the speed threshold ε v , distance threshold ε d , the robot's historical iteration position set and speed set Among them, the robot navigation path path, the specific steps to obtain it are as follows: Step 1: Construct fuzzy controller; Step 2: Build a deadlock list; Step 3: Fuzzy control path planning; Step 4: Calculate the weighted average speed Step 5: Deadlock determination; Step 6: Deadlock escape strategy; Step 7: Update the robot position x t ; Step 8: Determine whether to terminate navigation.

3. The hybrid path optimization method for a mobile robot in a complex dynamic environment according to claim 2, characterized in that: The construction of the fuzzy controller is as follows: (1) Determine the input and output variables: The fuzzy controller has a structure of four inputs and one output; The input variables include: the angle θ between the target point direction and the current direction of the robot goal , the unit is radian (rad), the range is [-π,π]; A positive value indicates that the target is on the right side of the robot, and a negative value indicates that the target is on the left side; The distance D between obstacles on the left, front and right sides of the robot left , D front , D right , the unit is meter (m), the range is [0.3,1]; The output variable is the steering angle δθ that the robot should adjust, in radians (rad) and in the range of [-π,π]; Among them, positive values ​​indicate a right turn, and negative values ​​indicate a left turn; (2) Set the fuzzy set: For the target direction θ goal , set its fuzzy set to {left (L), front (C), right (R)}; For obstacle distance D left , D front , D right , set its fuzzy set to {near (N), far (F)}; For the output variable δθ, set its fuzzy set to {turn left (TL), turn left forward (TLF), go straight (TF), turn right forward (TRF), turn right (TR)}; (3) Setting the membership function: In the membership function setting of each variable, the generalized bell-shaped membership function is selected as the membership function of the input variable and the output variable; The generalized bell-shaped membership function has the characteristic of smooth membership change, and can achieve smooth transition when the input value is close to the central value c; In addition, by adjusting its parameters a and b, the shape and width of the membership function can be flexibly changed to adapt to different control requirements; The membership function is expressed as: Among them, parameter a controls the width of the curve, parameter b controls the steepness of the curve, and parameter c controls the center position of the curve; In the input membership function, the target direction θ goal The parameters a, b, and c of the three membership functions are [1.16, 3.28, -2.68; 0.89, 3.04, 0; 1.26, 3.28, 2.79] respectively; The parameters of the two membership functions of the three distance input variables are the same, a, b, and c are [0.215, 4.77, 0.39; 0.211, 4.703, 0.899] respectively; In the output membership function, the parameters a, b, and c of the five membership functions of the steering angle δθ are [0.76, 4.04, -3.07; 0.60, 4.05, -1.44; 0.66, 3.62, 0; 0.61, 4.09, 1.40; 0.82, 4.05, 3.14]; (4) Design fuzzy rules: By defining a fuzzy rule table, the robot can dynamically adjust its direction based on the target direction and obstacle distance, thereby avoiding obstacles and moving toward the target. A total of 24 rules are defined, and the rules are in the following format: R j :Ifθ goal is A 1j and D left is A 2j and D front is A 3j and D right is A 4j , thenδθis B j (2) Among them, A 1j ,A 2j ,A 3j ,A 4j They are the input variables θ goal ,D left ,D front ,D right The fuzzy set under the jth rule, B j is the fuzzy set of output variables, j is the traversal of all rules R j The specific fuzzy control rules are shown in the following table: Here is an explanation of the first fuzzy rule: Rule 1: If the target direction is "leftward" and the left distance is "far" and the front distance is "far" and the right distance is "far", the turning angle is "left forward turn"; The fuzzy control rule generation logic is divided into two stages: first, the optimal initial direction is selected according to the distance to the obstacle, and the robot will preferentially move in the direction farthest from the obstacle to ensure safe obstacle avoidance; second, on this basis, the target point direction is adjusted so that the robot can move towards the target as much as possible while avoiding obstacles; the final steering angle is combined with the offset of the initial obstacle avoidance direction and the target point direction to achieve dynamic adjustment, ensuring that the robot can efficiently avoid obstacles and maintain goal orientation.

4. The hybrid path optimization method for a mobile robot in a complex dynamic environment according to claim 2, characterized in that: The construction deadlock list is as follows: Introduce a deadlock list L to record known deadlock areas to prevent the robot from falling into a loop while moving toward the target point. By introducing the deadlock list L, it is prevented from repeatedly entering the detected deadlock area. The deadlock list L uses a quadtree structure for storage and search. The quadtree can efficiently manage and retrieve spatial data, making it faster to make regional judgments in complex environments. Each node of the quadtree represents a rectangular area, defined as: Boundary=[x min ,y min ,x max ,y max ] (3) This rectangular area is defined by the lower left corner coordinate (x min ,y min ) and the upper right corner coordinate (x max ,y max ) determines that the quadtree is determined by recursively dividing the rectangular area into four sub-areas (quadrants), each of which is itself a quadtree node; The principle of division is to divide the current rectangular area into four sub-rectangles of equal size along the midpoints of the x-axis and y-axis: Upper left quadrant = [x min ,y mid ,x mid ,y max ] Upper right quadrant = [x mid ,y mid ,x max ,y max ] Lower left quadrant = [x min ,y min ,x mid ,y mid ] Lower right quadrant = [x mid ,y min ,x max ,y mid ](4) in: The system first initializes an empty quadtree to store the boundaries of the circular deadlock area. At the same time, the root node boundary of the quadtree is set to the range of the entire workspace, thereby ensuring that the robot can dynamically update and query the deadlock area during navigation.

5. The hybrid path optimization method for a mobile robot in a complex dynamic environment according to claim 3, characterized in that: The fuzzy control path planning is specifically as follows: In fuzzy control path planning, the system obtains the membership of the output variable δθ based on the input fuzzy variables, through the predefined membership function and fuzzy rule table, and based on the Min-Max inference rule: Among them, A 1j ,A 2j ,A 3j ,A 4j They are the input variables θ goal ,D left ,D front ,D right The fuzzy set under the jth rule, B j is the fuzzy set of output variables δθ; μ(·) is the membership function, j is the number of rules R traversed j The formula first calculates the membership value of each input variable, then uses the min function to get the matching degree of each rule, and then uses the max function to take the maximum value from all rules to determine the membership of the output variable; After the membership function of the output variable δθ is obtained by fuzzy reasoning, the fuzzy membership value needs to be converted into a specific numerical output to determine the steering angle δθ that the robot should adjust. The centroid method is used for defuzzification. The principle is to take the centroid of the area enclosed by the fuzzy membership function curve and the horizontal axis as the final output value of the fuzzy reasoning, that is: Among them, δθ is the possible value of the output variable, μ(δθ) is the membership under different values, the numerator represents the weighted product of each value and its membership, and the denominator is the sum of the membership. The result is the final output value δθ of fuzzy reasoning, which is the weighted average of all possible values; Based on the robot's current direction θ t And the inferred steering angle δθ, calculate the direction angle θ of the velocity vector t+1 for: θ t =arctan2(y t -y t-1 ,x t -x t-1 ) (8) i t+1 =θ t +sth (9) Among them, (x t ,y t ) is the current position, (x t-1 ,y t-1 ) is the position at the previous moment, and the two are used to calculate the robot's current direction angle θ t ; The robot moves along the direction θ t+1 When moving at speed V, its velocity vector v on the two-dimensional plane is t It is expressed as: Where, V·cos(θ t+1 ) and V·sin(θ t+1 ) represent the components of the velocity in the x and y directions respectively, and V is the preset uniform velocity of the robot.

6. The hybrid path optimization method for a mobile robot in a complex dynamic environment according to claim 2, characterized in that: The weighted average speed is calculated The details are as follows: To determine if the robot is trapped in an area, use the weighted average speed To determine whether the robot is trapped by an obstacle; The recursive formula of weighted velocity is shown as follows: in, is the weighted average speed of the tth iteration, is the weighted average velocity of the t-1th iteration, v 1 is the speed of the first iteration, v t is the actual speed of the tth iteration, α∈[0,1] is the dynamic weight attenuation coefficient, which determines the influence of the current speed on the weighted average speed; α is specifically expressed as follows: in, Indicates the change between the current speed and the last weighted average speed, reflecting the amplitude of speed fluctuation, ||v t ||+ò is the modulus of the current speed, plus a small constant ò to prevent the denominator from being zero, and the min and max functions ensure that α is limited to the range [0, 1]; When the speed changes greatly, the α value increases, which means that the influence of the current actual speed on the weighted average speed increases, and it can respond to speed changes more quickly; when the speed is relatively stable, the α value decreases, relying more on historical speed data, and obtaining a smoother weighted average speed; By recursive formula (11), we can It is expanded into the weighted sum of all historical velocities, as shown in the following equation (13): Among them, t is the current iteration number, k is the index of the historical moment, indicating that at a certain moment before time t, each historical speed v k The weight is α(1-α) t-k .

7. The hybrid path optimization method for a mobile robot in a complex dynamic environment according to claim 6, characterized in that: The deadlock determination is specifically as follows: During the iteration of the algorithm, the system will dynamically update the weighted average speed based on the above formula. Subsequently, the robot will perform self-detection based on the updated weighted average speed value to determine whether its current state is a deadlock state, that is, whether it is in a dilemma of being unable to move forward effectively; In the tth iteration, if the following conditions are met: Among them, the threshold ε v is a minimum value that has been set; When the norm of the weighted average velocity is less than this minimum value, it means that several consecutive The value is lower than the threshold ε v , it means that the robot's position has hardly changed over a period of time; In addition, it is also necessary to determine whether the robot is close to the target point. If the robot is not near the target point, that is, the robot’s current position x t and the target point position x goal The distance between them exceeds a certain fixed distance ε d , combined with the weighted average speed, it means that it is very likely to be trapped by obstacles and fall into deadlock; As shown below: ||x t -x goal ||>e d (15) Among them, ε d is the tolerance distance for the robot to reach the target point; When the distance between the robot and the target point is less than ε d When , the robot is considered to have reached the target point, navigation ends, and no deadlock judgment is made; When the robot is determined to be in a deadlock state, the deadlock escape strategy is activated to help the robot escape the deadlock area; otherwise, the robot moves at a speed v in the direction planned by the fuzzy control. t Move to x t+1 .

8. The hybrid path optimization method for a mobile robot in a complex dynamic environment according to claim 2, characterized in that: The updated robot position x t The details are as follows: The algorithm needs to calculate the speed in the corresponding state according to the different states of the robot, and calculate the speed vector v t To calculate the robot's position at the next moment; When the robot is judged to be in a deadlock state, the robot cannot move normally. At this time, the robot's current speed will be adjusted to Indicates the adjustment speed when it is in deadlock state; If the robot is in a non-deadlock state, it can normally follow the speed v set by the fuzzy control t Move as shown below: Ensures that the robot does not fall into a loop or collide in a deadlock state, but has the opportunity to adjust the speed through special to restore normalcy; According to the velocity vector v t , calculate the robot's position x at the next time step t+1 , see the following formula: x t+1 =x t +v t ·Δt (26) Among them, x t is the current position of the robot, Δt is the time step; The robot calculates the target position at the next moment using the above formula and updates the calculation result as its new current position.

9. The hybrid path optimization method for a mobile robot in a complex dynamic environment according to claim 2, characterized in that: The determination of whether to terminate navigation is as follows: (1) Target point arrival judgment: When the robot’s current position x t and the target point position x goal The distance between them is less than or equal to the threshold ε d When , the robot terminates navigation; ||x t -x goal ||≤ε d (27) Among them, ε d is the preset tolerance distance. If the above conditions are met, the system will determine that the robot has successfully reached the target point and immediately terminate the navigation process; (2) Maximum number of iterations: If the number of iterations of the algorithm reaches the preset maximum value T, the system will automatically stop to prevent the navigation algorithm from falling into an infinite loop; When the navigation termination condition is reached, the system outputs the complete navigation path of the robot, otherwise it returns to step 2 for path planning.

Citation Information

Patent Citations

  • Automatic obstacle avoiding method of intelligent detection vehicle based on behavior fusion in unknown environment

    CN101758827A

  • Route planning method for mobile robot

    CN104571113A