A Distributed Anti-Collision Control Method and System for a Non-Holonomic Multi-Robot System
By dynamically adjusting the filter position and non-Euclidean distance, combined with distributed velocity instruction design, the complexity and stability problems of anti-collision control in non-complete multi-robot systems are solved, and the robot can effectively avoid obstacles under bounded velocity and acceleration.
Patent Information
- Application Number
- CN202510759108.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-09
- Publication Date
- 2025-08-01
- Estimated Expiration
- 2045-06-09
AI Technical Summary
In the non-complete multi-robot system, the traditional anti-collision method has problems such as control instructions exceeding physical constraints, high computational complexity, matrix singularity and insufficient design of static safety radius, resulting in the robot being prone to causing matrix singularity and low passing efficiency when moving at low speed or inverse direction.
Dynamically adjust the filter position and non-Euclidean distance, combined with distributed velocity instruction design, by establishing an incomplete robot motion model and area model, designing a linear acceleration and angular velocity controller, generating an anti-collision barrier function, and guiding the robot to avoid obstacles under bounded linear velocity, linear acceleration and angular velocity constraints.
The bounded control of linear velocity, acceleration and angular velocity in non-complete robot systems is realized, which reduces the risk of collision, improves the passage efficiency and stability of the robot in dense scenarios, and avoids collisions under high speed conditions.
Smart Images

Figure CN120245021B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of robot control, and particularly to a distributed anti-collision control method and system for a non-holonomic multi-robot system. Background Art
[0002] With the wide application of multi-robot systems in fields such as automation, intelligent transportation, search and rescue, etc., collision avoidance between robots has become a core challenge for ensuring the safe and efficient operation of the system. Traditional methods usually rely on potential field methods or velocity obstacle methods, but face significant limitations in non-holonomic dynamic systems: the potential field method is prone to generating control instructions that exceed physical constraints and faces the problem of local minima; although the velocity obstacle method can avoid obstacles in real time, its computational complexity increases sharply with the increase in the number of robots and it is difficult to meet the requirements of large-scale systems.
[0003] For the control of non-holonomic systems, some filtering position methods have been proposed in the prior art to simplify motion control by designing reference points. However, traditional filtering position models rely on fixed distance parameters, are prone to matrix singularity problems during low-speed or reverse motion, and cannot be adaptively adjusted to adapt to dynamic scenarios. In addition, existing anti-collision strategies mostly adopt static safety radius design, ignoring the influence of relative velocity on obstacle avoidance behavior, which reduces the passing efficiency of robots in dense scenarios. Summary of the Invention
[0004] The technical problem to be solved by the present invention is to provide a distributed anti-collision control method and system for a non-holonomic multi-robot system, which realizes bounded control of the linear velocity, linear acceleration and angular velocity of non-holonomic robots by dynamically adjusting the filtering position and adopting non-Euclidean distance, and combines distributed velocity command design, while using a dynamic safety radius to reduce conservatism.
[0005] The present invention is realized by the following technical solutions:
[0006] A distributed anti-collision control method for a non-holonomic multi-robot system, which includes the following steps:
[0007] S1: Establish a distributed anti-collision problem model for a non-holonomic multi-robot system including a non-holonomic robot motion model and two regional models;
[0008] S2: Based on the filtering position, convert the non-holonomic robot motion model into a single-integral model, and design a linear acceleration controller and an angular velocity controller for the single-integral model to guide all robots to move and execute tasks;
[0009] S3: Calculate the non-Euclidean distance and the dynamic safety radius based on the filtering position and the two regional models, and design an anti-collision barrier function between robots;
[0010] S4: Generate distributed velocity commands based on the anti-collision barrier function between robots to guide the robots to efficiently avoid obstacles under the constraints of bounded linear velocity, bounded linear acceleration, and bounded angular velocity.
[0011] Further, the following method is used to establish the non-holonomic robot motion model in step S1:
[0012] S11: Establish the unicycle model of each robot relative to the global reference frame as Equation (1):
[0013] (1);
[0014] Where: represents the first derivative of the coordinate of the -th robot in the axis direction, represents the linear velocity of the -th robot, represents the direction angle of the -th robot, represents the first derivative of the coordinate of the -th robot in the axis direction, represents the first derivative of the linear velocity of the -th robot, represents the linear acceleration command of the -th robot, represents the first derivative of the direction angle of the -th robot, represents the -th robot's angular velocity command;
[0015] S12: Introduce states and constraints into the unicycle model as Equation (2):
[0016] (2);
[0017] Where: represents the maximum linear velocity of the robot, represents the maximum linear acceleration of the robot, represents the maximum angular velocity of the robot.
[0018] Optimized, the two regional models in step S1 include a safety region model and an obstacle avoidance region model: The safety region model is: The safety region of the -th robot is a circular region centered on the actual position of the robot with a safety radius, and the safety radius is greater than the physical radius of the robot. If the safety regions of any two robots do not intersect, it is considered that there is no collision between the robots;
[0019] The obstacle avoidance region model is: The The obstacle avoidance area of a robot is a circular area centered on the actual position of the robot with an obstacle avoidance radius, and the obstacle avoidance radius is greater than the safety radius. If the obstacle avoidance area of the th robot has no intersection with the safety area of the th robot, the two robots do not adopt an obstacle avoidance strategy.
[0020] Furthermore, in step S2, the following method is used to convert the nonholonomic robot motion model into a single-integral model based on the filtered position:
[0021] S21: Determine the filtered position of the robot according to Equation (3):
[0022] (3);
[0023] Where: represents the filtered position of the th robot, represents the actual position of the th robot, represents the fixed distance between the robot position and the filtered position, represents the velocity gain of the robot, represents the linear velocity of the th robot, represents the th unit direction vector of the robot;
[0024] S22: Differentiate Equation (3) to obtain Equation (4), and convert the nonholonomic robot motion model into a single-integral model as Equation (5) through output feedback linearization:
[0025] (4);
[0026] (5);
[0027] Where: represents the first derivative of the filtered position of the th robot, represents the linear velocity vector of the th robot, represents the transformation matrix, represents the linear acceleration command of the th robot, represents the angular velocity command of the th robot, represents the matrix transpose, represents the velocity command of the th robot, represents the The orientation angle of a robot.
[0028] Furthermore, according to Equation (4) and Equation (5), the linear acceleration controller of the single-integral model is Equation (6), and the angular velocity controller of the single-integral model is Equation (7):
[0029] (6);
[0030] (7);
[0031] Where: Represents the counterclockwise rotation matrix.
[0032] Furthermore, in step S3, the following method is used to calculate the non-Euclidean distance and the dynamic safety radius based on the filtered position and two regional models:
[0033] S31: Obtain Equation (8) according to Equation (3), and calculate the non-Euclidean distance between the th and the th robots according to Equation (9), and there is Equation (10):
[0034] (8);
[0035] (9);
[0036] (10);
[0037] Where: Represents the non-Euclidean distance between the th and the th robots, Represents the filtered position of the th robot, Represents the unit direction vector of the th robot, Represents the linear velocity of the th robot, Represents the actual position of the th robot, Represents the Euclidean norm;
[0038] S32: Based on the calculated non-Euclidean distance between the th and the th robots, determine the dynamic safety radius between the filtered positions of the th robot and the th robot according to Equation (11):
[0039] (11);
[0040] Wherein: denotes the dynamic safety radius between the filtering positions of the -th robot and the -th robot, denotes the safety area radius of a single robot.
[0041] Furthermore, the anti-collision barrier function between robots designed in step S3 is Equation (12):
[0042] (12);
[0043] Wherein: denotes the anti-collision barrier function between robots, denotes the anti-collision control gain, denotes the smoothing function, denotes the obstacle avoidance radius of the robot, denotes the safety margin, denotes the smooth function, denotes the smoothing factor.
[0044] Furthermore, the distributed velocity command generated based on the anti-collision barrier function in step S4 is Equation (13), and the synthesized velocity command is Equation (14):
[0045] (13);
[0046] (14);
[0047] Wherein: denotes the desired velocity of the -th robot, denotes the desired velocity scalar, denotes the direction of the normal vector of the target line, denotes the anti-collision velocity between the -th robot and the -th robot, denotes the synthesized velocity command, denotes the vector saturation function, denotes the maximum linear velocity constraint of the robot, denotes the -th robot sensor within the detection range of all robots in the set.
[0048] Optimized, the linear velocity constraint of the robot in step S4 is Equation (15), and setting , , the linear acceleration constraint is obtained as Equation (16), and the angular velocity constraint is Equation (17):
[0049] (15);
[0050] (16);
[0051] (17);
[0052] Wherein: represents the switching speed threshold of the robot, represents the maximum linear acceleration of the robot, represents the maximum angular velocity of the robot.
[0053] A distributed anti-collision control system for a non-holonomic multi-robot system, which is used to execute a distributed anti-collision control method for a non-holonomic multi-robot system as described in any one of the above, and includes a model design module, a filtered position design module, a linear acceleration and angular velocity controller design module, a dynamic safety radius design module, an anti-collision barrier function design module, a distributed speed command design module, and a constraint module;
[0054] The model design module is used to establish a distributed anti-collision problem model of a non-holonomic multi-robot system including a non-holonomic robot motion model and two regional models;
[0055] The filtered position design module is used to determine the filtered position of the robot and convert the non-holonomic robot motion model into a single-integral model based on the filtered position;
[0056] The linear acceleration and angular velocity controller design module is used to design a linear acceleration controller and an angular velocity controller for the single-integral model to guide all robots to move and execute tasks;
[0057] The dynamic safety radius design module is used to determine the dynamic safety radius between the filtered positions of multiple robots;
[0058] The anti-collision barrier function design module is used to design an anti-collision barrier function between robots;
[0059] The distributed speed command design module is used to generate a distributed speed command based on the anti-collision barrier function between robots to guide the robot to efficiently avoid obstacles under the constraints of linear velocity, linear acceleration, and angular velocity;
[0060] The constraint module is used to constrain the linear velocity, linear acceleration, and angular velocity so that all robots have bounded linear velocity, bounded linear acceleration, and bounded angular velocity, ensuring that the robots stably and efficiently avoid obstacles.
[0061] Advantageous effects of the invention:
[0062] The distributed anti-collision control method and system for a non-holonomic multi-robot system provided by the present invention have the following advantages:
[0063] 1. An improved filtering position is designed to convert the unicycle model into a single-integral model. By reasonably selecting two parameters in the filtering position , , it is only necessary to ensure that the velocity command of the filtering position is saturated by the maximum linear velocity. All robots have bounded linear velocity, bounded linear acceleration, and bounded angular velocity. The velocity constraint prevents the robot from running out of control due to overspeed and ensures low-speed stability. The linear acceleration constraint ensures the smoothness of the robot's movement, and the angular velocity constraint can maintain the steering stability of the robot.
[0064] 2. Based on the filtering position, a non-Euclidean distance is proposed to describe the spatial relationship between robots. Since the non-Euclidean distance is related to the relative velocity between two robots, the velocity command of the robot's filtering position includes a velocity alignment term to reduce the relative velocity and lower the collision risk. BRIEF DESCRIPTION OF THE DRAWINGS
[0065] Figure 1 is a schematic diagram of the process of the present invention.
[0066] Figure 2 is a schematic diagram of the safety area and obstacle avoidance area of the th robot of the present invention.
[0067] Figure 3 is a schematic diagram of the robot in the global reference system of the present invention.
[0068] Figure 4 is a schematic diagram of the robot and the robot in two anti-collision situations of the present invention.
[0069] Figure 5 is a motion trajectory diagram of the robot when performing tasks in the present invention.
[0070] Figure 6 is a schematic diagram of the minimum Euclidean distance and the minimum non-Euclidean distance in the present invention.
[0071] Figure 7 is a schematic diagram of the maximum and minimum linear velocities, maximum and minimum linear accelerations, and maximum and minimum angular velocities of the robot in the present invention.
[0072] Figure 8 is a schematic diagram of the system structure of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0073] A distributed anti-collision control method for a nonholonomic multi-robot system includes the following steps, and its flowchart is as Figure 1 shown:
[0074] S1: Establish a distributed anti-collision problem model for non-holonomic multi-robot systems that includes a non-holonomic robot motion model and two regional models;
[0075] Assume that the non-holonomic multi-robot system consists of multiple mobile robots on a two-dimensional plane. Then, the following method can be used to establish the non-holonomic robot motion model:
[0076] S11: Establish the unicycle model of each robot relative to the global reference frame as Equation (1):
[0077] (1);
[0078] Where: represents the first derivative of the -th robot's coordinate in the axis direction, represents the linear velocity of the -th robot, represents the direction angle of the -th robot, represents the first derivative of the -th robot's coordinate in the axis direction, represents the first derivative of the linear velocity of the -th robot, represents the linear acceleration command of the -th robot, represents the first derivative of the direction angle of the -th robot, represents the angular velocity command of the -th robot;
[0079] S12: Introduce states and constraints into the unicycle model as Equation (2):
[0080] (2);
[0081] Where: represents the maximum linear velocity of the robot, represents the maximum linear acceleration of the robot, represents the maximum angular velocity of the robot.
[0082] Introducing states and constraints into the unicycle model can ensure the physical feasibility of the robot's motion.
[0083] To achieve anti-collision between multiple robots, the two designed regional models include a safety region model and an obstacle avoidance region model.
[0084] The safety region model is: The The safety area of a robot is a circular area centered at the actual position of the robot with a safety radius that is greater than the physical radius of the robot. If the safety areas of any two robots do not intersect, i.e., , it is considered that there is no collision between the robots, where: represents the safety area of the th robot, represents the number of robots in the non-holonomic multi-robot system, represents the empty set;
[0085] The specific safety area model can be expressed by the following formula:
[0086] ;
[0087] Where: represents the safety area of the th robot, is the safety area radius of a single robot, represents the actual position of the th robot, , represents the th robot's coordinate in the axis direction,
[0088] represents the th robot's coordinate in the axis direction, represents the set of all vectors in the two-dimensional space whose modulus of the distance to the robot position vector is less than , represents the two-dimensional space, represents the Euclidean norm, represents the matrix transpose.
[0089] The obstacle avoidance area model is: The obstacle avoidance area of the th robot is a circular area centered at the actual position of the robot with an obstacle avoidance radius that is greater than the safety radius. If the obstacle avoidance area of the th robot does not intersect with the safety area of the th robot, i.e., , then the two robots do not adopt the obstacle avoidance strategy.
[0090] The specific obstacle avoidance area model can be expressed by the following formula:
[0091] ;
[0092] Where: represents the obstacle avoidance area of the th robot, Represents the obstacle avoidance area radius of a single robot.
[0093] The schematic diagram of the safety area and obstacle avoidance area of the Figure 2 th robot is shown as
[0094] S2: Convert the nonholonomic robot motion model into a single-integral model based on the filtered position, and design a linear acceleration controller and an angular velocity controller for the single-integral model to guide all robots to perform tasks;
[0095] Specifically, the following method can be used to convert the nonholonomic robot motion model into a single-integral model based on the filtered position:
[0096] S21: Determine the filtered position of the robot according to Equation (3):
[0097] (3);
[0098] Where: Represents the filtered position of the th robot, Represents the actual position of the th robot, Represents the fixed distance between the robot position and the filtered position, Represents the speed gain of the robot, Represents the th robot's linear velocity, Represents the th robot's unit direction vector, , Represents matrix transpose, Represents the th robot's direction angle;
[0099] Here, and are design parameters, and their values are all greater than zero. Represents the Euclidean distance between the actual position and the filtered position of the th robot, that is, .
[0100] Compared with the traditional filtered position , the dynamic distance introduces a speed-related term , enabling the filtered position to be dynamically adjusted according to the robot's speed; the existence of the constant can avoid the matrix singularity problem caused when . If the robot's speed is relatively large, fix It will lead to an overly conservative obstacle avoidance behavior. The design of dynamic parameters can more flexibly adapt to high-speed scenarios and improve the obstacle avoidance efficiency.
[0101] S22: Differentiate Equation (3) to obtain Equation (4), and convert the non-holonomic robot motion model into a single-integral model through output feedback linearization as Equation (5):
[0102] (4);
[0103] (5);
[0104] Where: represents the first derivative of the filtered position of the -th robot, represents the linear velocity vector of the -th robot, represents the transformation matrix, represents the linear acceleration command of the -th robot, represents the angular velocity command of the -th robot, represents the matrix transpose, represents the velocity command of the -th robot, , represents the -th robot's direction angle.
[0105] Further, according to Equations (4) and (5), the following equation can be obtained:
[0106] ; Expanding it can obtain the linear acceleration controller of the single-integral model as Equation (6), and the angular velocity controller of the single-integral model as Equation (7):
[0107] (6);
[0108] (7);
[0109] Where: represents the counterclockwise rotation matrix, , used to obtain the component of the velocity command perpendicular to , .
[0110] Through the designed linear acceleration controller of the single-integral model and the angular velocity controller of the single-integral model, the velocity command is decomposed into two directions, namely the component parallel to the direction and the component perpendicular to the direction, parallel to The component in the direction is related to the linear acceleration command of the th robot, perpendicular to the component in the direction related to the angular velocity command of the th robot. The linear acceleration and angular velocity controllers are designed to guide the robot's movement to perform tasks.
[0111] Specifically, the schematic diagram of the robot in the global reference frame is as shown in Figure 3 the figure.
[0112] S3: Calculate the non - Euclidean distance and the dynamic safety radius based on the filtered position and two regional models, and design the anti - collision barrier function between robots;
[0113] Specifically, the following method can be used to calculate the non - Euclidean distance and the dynamic safety radius based on the filtered position and two regional models:
[0114] S31: Obtain Equation (8) from Equation (3), and calculate the non - Euclidean distance between the th and the th robots according to Equation (9), and there is Equation (10):
[0115] (8);
[0116] (9);
[0117] (10);
[0118] Where: represents the non - Euclidean distance between the th and the th robots, represents the filtered position of the th robot, represents the unit direction vector of the th robot, represents the linear velocity of the th robot, represents the actual position of the th robot, represents the Euclidean norm;
[0119] S32: Based on the calculated non - Euclidean distance between the th and the th robots, determine the The dynamic safety radius between the th robot and the filtered position of the
[0120] th robot:
[0121] Where: represents the dynamic safety radius between the th robot and the filtered position of the th robot, represents the safety area radius of a single robot.
[0122] When , the actual position of the robot satisfies , that is . Therefore, is a sufficient condition to ensure that no collision occurs between robots, is equivalent to . Therefore, the dynamic safety radius between the th robot and the filtered position of the th robot can be designed according to Equation (11). The non-Euclidean distance gives a dynamic safety radius related to the relative speed for the filtered positions of any pair of robots, and satisfies , where . Map the non-Euclidean distance to a variable safety threshold, and increases as the relative speed of the robots increases, which can avoid the collision risk at high speeds.
[0123] Furthermore, the designed anti-collision barrier function between robots is Equation (12):
[0124] (12);
[0125] Where: represents the anti-collision barrier function between robots, represents the anti-collision control gain, represents the obstacle avoidance radius of the robot, represents the safety margin, represents a smooth function, represents the smoothing factor, , , are all greater than zero, represents a smooth function.
[0126] Custom smooth function ;
[0127] Wherein: represents the distance variable between the th and the th robots, and represents the minimum value of the distance variable between the th and the th robots, represents the maximum value of the distance variable , represents the coefficient of the cubic term of the smoothing function, , represents the coefficient of the quadratic term of the smoothing function, , represents the coefficient of the linear term of the smoothing function, , to ensure that the smoothing function is continuously differentiable within
[0128] The custom smoothing function ;
[0129] Wherein: , .
[0130] The anti - collision barrier function designed in the present invention for robots
[0131] 1. , represents the gradient of the non - Euclidean distance between the th and the th robots with respect to the anti - collision barrier function
[0132] 2.When , and , which means that no obstacle - avoidance strategy is taken between the th and the
[0133] 3.If when, then there exists a sufficiently small such that .
[0134] S4: Generate distributed velocity commands based on the anti - collision barrier function between robots to guide the robots to avoid obstacles efficiently under the constraints of bounded linear velocity, bounded linear acceleration, and bounded angular velocity.
[0135] Furthermore, the distributed speed instruction generated based on the anti-collision barrier function in step S4 is formula (13), and the composite speed instruction is formula (14):
[0136] (13);
[0137] (14);
[0138] in: Indicates the The desired velocity of each robot is used to drive the robot toward the target line. represents the desired velocity scalar, , represents the direction of the target line normal vector, Indicates the The robot and The anti-collision speed of the robot is used to avoid The robot and The robots collided, Indicates the composite speed instruction, represents the vector saturation function, represents the robot's maximum linear velocity constraint, Indicates the The set of all robots within the detection range of a robot sensor.
[0139] Formula (14) is mainly to meet the robot's maximum linear velocity constraint , the vector saturation function is used to limit the synthetic speed instruction.
[0140] Optimized, the linear velocity constraint of the robot in step S4 is formula (15), setting , , the linear acceleration constraint is obtained as formula (16), and the angular velocity constraint is obtained as formula (17):
[0141] (15);
[0142] (16);
[0143] (17);
[0144] in: Indicates the robot's switching speed threshold, represents the maximum linear acceleration of the robot, Indicates the maximum angular velocity of the robot.
[0145] Constraining the robot's linear velocity to Equation (15) can ensure that the robot's linear velocity .
[0146] wherein satisfy , if only considering the case of , when , it will lead to the speed of the th robot , which violates the speed constraint in Equation (2).
[0147] Therefore, for when the linear velocity of the robot is low ( ) and the parallel component of the velocity command is low ( ), the parallel component is disabled to avoid the reverse movement of the robot, that is, to ensure . At this time, the robot can still adjust the movement direction through the vertical component of the current orientation to ensure efficient obstacle avoidance of the robot.
[0148] By setting the speed gain of the robot to , and setting the fixed distance between the robot position and the filtered position to , according to Equation (1) and Equation (6), we can obtain , and since , , the linear acceleration constraint can be obtained as Equation (16). Therefore, the acceleration constraint is always satisfied.
[0149] By setting the speed gain of the robot to , and setting the fixed distance between the robot position and the filtered position to , according to Equation (1) and Equation (7), we can obtain , and since , the angular velocity constraint can be obtained as Equation (17). Also, because is always satisfied, so there is always .
[0150] Specifically, the schematic diagrams of two anti-collision situations of robot and robot are shown in (a) and (b) of Figure 4 , where (a) is moving towards each other and (b) is approaching each other.
[0151] Figure 4 In , represents the The distance between the filtered positions of the robots, , represents a relative velocity related term, . Therefore . Different from the Euclidean distance or , the non-Euclidean distance contains the term , which is related to the relative velocity between the robots.
[0152] is the separation behavior component, driving the filtered positions of the robots away from each other; is the velocity alignment component, which makes the velocities of the robots tend to be consistent, reduces the relative velocity difference, and thus reduces the dynamic safety radius ; , is in the same direction as . Obviously, .
[0153] Specifically, taking the scenario of 20 robots crossing their respective target lines in a nonholonomic multi-robot system as an example, the specific implementation is further described. The simulation and calculation process is carried out on MATLAB R2023b under the Windows 10 operating system on a computer with a main frequency of 3.20Ghz and a memory of 16.0GB.
[0154] The specific steps for implementing the present invention are as follows:
[0155] Considering the scenario of robots crossing the target line, and all robots satisfy the unicycle model, i.e., Equation (1). The safety radius of the robots meters, the obstacle avoidance radius meters, and the maximum speed, maximum acceleration, and maximum angular velocity are respectively m / s, m / s², rad / s. , , , , .
[0156] Based on the linear acceleration controller (6) and angular velocity controller (7) of the single-integral model and the linear velocity constraint (15), a simulation is carried out for 33 seconds.
[0157] Specifically, the movement trajectory of the robots during the execution of the task is as shown in Appendix Figure 5 : At s, 20 robots are divided into 4 groups, and each robot is at the starting position, ready to start moving towards the distant target line; From s to s is the anti-collision process between robots, and the dashed lines represent the movement trajectories of each robot; At s, all robots have passed through their respective target lines, and the task is completed at this time.
[0158] The minimum Euclidean distance min and the minimum non-Euclidean distance min As Figure 6 shown, it can be observed that the minimum Euclidean distance min and min are both satisfied. Therefore, it can be obtained that as well as . In addition, it can be observed from the figure that min min , which verifies Equation (10).
[0159] Schematic diagrams of the maximum and minimum linear velocities, maximum and minimum linear accelerations, and maximum and minimum angular velocities of the robots are as Figure 7 shown. It can be seen from Figure 7 that the linear velocity, linear acceleration, and angular velocity of the robots always satisfy the corresponding constraints.
[0160] A distributed anti-collision control system for a nonholonomic multi-robot system is used to execute a distributed anti-collision control method for a nonholonomic multi-robot system as described in any one of the above. The schematic diagram of the system structure is as Figure 8 shown, and it includes a model design module, a filtered position design module, a linear acceleration and angular velocity controller design module, a dynamic safety radius design module, an anti-collision barrier function design module, a distributed velocity command design module, and a constraint module;
[0161] The model design module is used to establish a distributed anti-collision problem model for a nonholonomic multi-robot system that includes a nonholonomic robot motion model and two regional models;
[0162] The filtered position design module is used to determine the filtered positions of the robots and convert the nonholonomic robot motion model into a single-integral model based on the filtered positions;
[0163] The linear acceleration and angular velocity controller design module is used to design a linear acceleration controller and an angular velocity controller for the single-integral model to guide all robots to move and execute tasks;
[0164] The dynamic safety radius design module is used to determine the dynamic safety radius between the filtered positions of multiple robots;
[0165] The anti-collision barrier function design module is used to design the anti-collision barrier function between robots;
[0166] The distributed velocity instruction design module is used to generate distributed velocity instructions based on the anti-collision barrier function between robots, guiding the robots to efficiently avoid obstacles under the constraints of linear velocity, linear acceleration and angular velocity;
[0167] The constraint module is used to constrain the linear velocity, linear acceleration and angular velocity, so that all robots have bounded linear velocity, bounded linear acceleration and bounded angular velocity, ensuring that the robots can stably and efficiently avoid obstacles.
[0168] In summary, the distributed anti-collision control method and system for non-holonomic multi-robot systems provided by the present invention realize the bounded control of the linear velocity, acceleration and angular velocity of non-holonomic robots by dynamically adjusting the filtering position and using non-Euclidean distance, combined with the design of distributed velocity instructions, ensuring that the robots can stably and efficiently avoid obstacles. At the same time, the dynamic safety radius is used to reduce the conservativeness of anti-collision control.
[0169] The above are only the preferred embodiments of the present invention and are not intended to limit the present invention. For those skilled in the art, the present invention can have various changes and modifications. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included within the protection scope of the present invention.
Claims
1. A distributed anti-collision control method for an incomplete multi-robot system, characterized in that: It includes the following steps: S1: Establish a nonholonomic multi-robot system distributed collision avoidance problem model including a nonholonomic robot motion model and two regional models; S2: Based on the filtered position, convert the nonholonomic robot motion model into a single-integral model, and design a linear acceleration controller and an angular velocity controller for the single-integral model to guide all robots to move and execute tasks; S3: Calculate the non-Euclidean distance and the dynamic safety radius based on the filtered position and the two regional models, and design a collision avoidance barrier function between robots; S4: Generate a distributed velocity command based on the collision avoidance barrier function between robots to guide the robots to efficiently avoid obstacles under the constraints of bounded linear velocity, bounded linear acceleration, and bounded angular velocity.
2. The distributed anti-collision control method for an incomplete multi-robot system according to claim 1, characterized in that: In step S1, the following method is used to establish the nonholonomic robot motion model: S11: Establish a unicycle model of each robot relative to the global reference frame as Equation (1): (1); Wherein: represents the first derivative of the -th robot's coordinate in the axis direction, represents the linear velocity of the -th robot, represents the direction angle of the -th robot, represents the first derivative of the -th robot's coordinate in the axis direction, represents the first derivative of the linear velocity of the -th robot, represents the linear acceleration command of the -th robot, represents the first derivative of the direction angle of the -th robot, represents the angular velocity command of the -th robot; S12: Introduce states and constraints into the unicycle model as Equation (2): (2); Wherein: represents the maximum linear velocity of the robot, represents the maximum linear acceleration of the robot, represents the maximum angular velocity of the robot.
3. A distributed anti-collision control method for an incomplete multi-robot system according to claim 1, characterized in that: The two regional models in step S1 include a safety region model and an obstacle avoidance region model: The safety region model is as follows: For the safety region of the nth robot is a circular region centered on the actual position of the robot with a safety radius greater than the physical radius of the robot. If the safety regions of any two robots do not intersect, it is considered that there is no collision between the robots; The obstacle avoidance area model is as follows: For the th robot, the obstacle avoidance area is a circular area centered at the actual position of the robot with an obstacle avoidance radius, and the obstacle avoidance radius is greater than the safety radius. If the obstacle avoidance area of the th robot has no intersection with the safety area of the th robot, then the two robots do not adopt an obstacle avoidance strategy.
4. A distributed anti-collision control method for an incomplete multi-robot system according to claim 1, characterized in that: In step S2, the following method is used to convert the nonholonomic robot motion model into a single-integral model based on the filtered position: S21: Determine the filtered position of the robot according to Equation (3): (3); Wherein: represents the filtered position of the th robot, represents the actual position of the th robot, represents the fixed distance between the robot position and the filtered position, represents the speed gain of the robot, represents the linear velocity of the th robot, represents the unit direction vector of the th robot; S22: Differentiate Equation (3) to obtain Equation (4), and convert the nonholonomic robot motion model into a single-integral model as Equation (5) through output feedback linearization: (4); (5); Wherein: represents the first derivative of the filtered position of the th robot, represents the linear velocity vector of the th robot, represents the transformation matrix, represents the linear acceleration command of the th robot, represents the angular velocity command of the th robot, represents the matrix transpose, represents the velocity command of the th robot, represents the direction angle of the th robot.
5. A distributed anti-collision control method for an incomplete multi-robot system according to claim 4, characterized in that: The linear acceleration controller of the single-integral model is Equation (6), and the angular velocity controller of the single-integral model is Equation (7) according to Equation (4) and Equation (5): (6); (7); Wherein: represents a counterclockwise rotation matrix.
6. A distributed anti-collision control method for an incomplete multi-robot system according to claim 4, characterized in that: In step S3, the following method is used to calculate the non-Euclidean distance and the dynamic safety radius based on the filtered position and the two regional models: S31: Obtain Equation (8) according to Equation (3), and calculate the non-Euclidean distance between the th and the th robots according to Equation (9), and there is Equation (10): (8); (9); (10); Wherein: represents the non-Euclidean distance between the th and the th robots, represents the filtered position of the th robot, represents the unit direction vector of the th robot, represents the linear velocity of the th robot, represents the actual position of the th robot, represents the Euclidean norm; S32: Based on the calculated non-Euclidean distance between the th and the th robots, determine the dynamic safety radius between the th robot and the filtered position of the th robot according to Equation (11): (11); Wherein: represents the dynamic safety radius between the filtering positions of the th robot and the th robot, and represents the safety area radius of a single robot.
7. A distributed anti-collision control method for an incomplete multi-robot system according to claim 6, characterized in that: The collision avoidance barrier function designed between robots in step S3 is Equation (12): (12); Wherein: represents the anti-collision barrier function between robots, represents the anti-collision control gain, represents the smoothing function, represents the obstacle avoidance radius of the robot, represents the safety margin, represents the smooth function, represents the smoothing factor.
8. A distributed anti-collision control method for an incomplete multi-robot system according to claim 7, characterized in that: The distributed velocity command generated based on the collision avoidance barrier function in step S4 is Equation (13), and the synthesized velocity command is Equation (14): (13); (14); Wherein: represents the desired speed of the th robot, represents the desired speed scalar, represents the direction of the normal vector of the target line, represents the th robot's anti-collision speed with the th robot, represents the composite speed command, represents the vector saturation function, represents the maximum linear speed constraint of the robot, represents the set of all robots within the detection range of the th robot's sensor.
9. A distributed anti-collision control method for an incomplete multi-robot system according to claim 8, characterized in that: In step S4, the linear velocity constraint of the robot is Equation (15), and it is set that , , and the linear acceleration constraint is obtained as Equation (16), and the angular velocity constraint is Equation (17): (15); (16); (17); Wherein: represents the switching speed threshold of the robot, represents the maximum linear acceleration of the robot, represents the maximum angular velocity of the robot.
10. A distributed anti-collision control system for a non-holonomic multi-robot system, which is used to execute a distributed anti-collision control method for a non-holonomic multi-robot system according to any one of claims 1 to 9, characterized in that: It includes a model design module, a filtered position design module, a linear acceleration and angular velocity controller design module, a dynamic safety radius design module, a collision avoidance barrier function design module, a distributed velocity command design module, and a constraint module; The model design module is used to establish a nonholonomic multi-robot system distributed collision avoidance problem model including a nonholonomic robot motion model and two regional models; The filtered position design module is used to determine the filtered position of the robot and convert the nonholonomic robot motion model into a single-integral model based on the filtered position; The linear acceleration and angular velocity controller design module is used to design a linear acceleration controller and an angular velocity controller for the single-integral model to guide all robots to move and execute tasks; The dynamic safety radius design module is used to determine the dynamic safety radius between the filtered positions of multiple robots; The collision avoidance barrier function design module is used to design a collision avoidance barrier function between robots; The distributed velocity command design module is used to generate a distributed velocity command based on the collision avoidance barrier function between robots to guide the robots to efficiently avoid obstacles under the constraints of linear velocity, linear acceleration, and angular velocity. The constraint module is used to constrain the linear velocity, linear acceleration, and angular velocity, enabling all robots to have bounded linear velocity, bounded linear acceleration, and bounded angular velocity, ensuring that the robots can stably and efficiently avoid obstacles.
Citation Information
Patent Citations
Self-adaptive sliding mode control method and system and mobile robot controller
CN111650929A
Design method for fixed time controller of incomplete constraint wheeled robot
CN116382077A