Group robot cooperation method, device, electronic device and storage medium
The method improves group robot efficiency by using a task allocation and navigation model with conflict prediction and state update to optimize path planning and task distribution in dynamic environments.
Patent Information
- Application Number
- CN202510313211.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-17
- Publication Date
- 2025-07-15
- Estimated Expiration
- 2045-03-17
AI Technical Summary
The existing group robot control methods ignore the coordination of group robots in terms of navigation and path planning, and cannot effectively respond to task changes in dynamic environments in terms of task allocation and coordination, resulting in path conflicts and inefficient coordination.
Through preset task allocation model, navigation objective function, conflict prediction model and state update model, group robot collaboration is controlled to optimize path planning and task allocation, avoid collisions, and improve coordination efficiency.
Optimizing path conflict, task allocation and collaborative cooperation issues in dynamic environments has improved the collaborative efficiency of group robots and solved the coordination problems in navigation and path planning.
Smart Images

Figure CN119828716B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of controlling robots, and more particularly, to a method, device, electronic device and storage medium for collaborative control of swarm robots. Background Art
[0002] In recent years, swarm robot systems (Multi-Robot Systems, MRS) have been widely used in industrial, service, and emergency rescue fields. Compared with single-robot systems, swarm robots can effectively complete complex tasks through the collaborative work of multiple individuals, and are highly applicable to scenarios such as multi-item sorting and handling in warehousing logistics, multi-point coverage in security patrols, and search and rescue in disaster scenarios.
[0003] Although swarm robots have shown great potential in enhancing task flexibility, improving efficiency and robustness, there are still many technical bottlenecks in distributed navigation and coordination. In terms of navigation and path planning, swarm robots rely on local perception and neighborhood communication to independently plan paths. However, the decentralized nature of distributed navigation leads to a lack of a global perspective for robots, and they can only make path selection decisions based on perceptual information within a limited range. In addition, traditional path planning methods often only focus on the path optimality of a single robot, ignoring the coordination of the overall behavior of swarm robots. In terms of task allocation and coordination, existing task allocation methods are mostly static and cannot effectively handle task changes in a dynamic environment. In terms of the robustness and stability of the system, when some robots fail due to malfunctions or communication is interrupted, existing systems usually lack the ability to respond quickly and recover dynamically.
[0004] Therefore, in order to solve the technical problems that the existing swarm robot control methods ignore the coordination of swarm robots in navigation and path planning and cannot effectively handle task changes in a dynamic environment in task allocation and coordination, there is an urgent need for a method, device, electronic device and storage medium for collaborative control of swarm robots. Summary of the Invention
[0005] The purpose of the present application is to provide a method, device, electronic device and storage medium for collaborative control of swarm robots. By using a preset task allocation model and a preset navigation objective function, the swarm robots are controlled to execute the tasks to be allocated. During the process of moving to the corresponding task locations, according to a preset conflict prediction model and a preset state update model, the swarm robots are collaboratively controlled to avoid collisions, solving the problems that the existing swarm robot control methods ignore the coordination of swarm robots in navigation and path planning and cannot effectively handle task changes in a dynamic environment in task allocation and coordination. By using a dynamic control method to optimize the path conflict problem, task allocation problem and collaborative cooperation problem of swarm robots in a real-time environment, the collaborative efficiency of swarm robots is improved.
[0006] In a first aspect, the present application provides a method for collaborative control of swarm robots, including:
[0007] Obtain the task information of the task to be assigned and the robot information of the swarm robots;
[0008] Through a preset task allocation model, according to the task information and the robot information, divide the task to be assigned into the robot with the minimum cost function value among the swarm robots;
[0009] According to a preset navigation objective function, perform path planning on the robot that receives the task to be assigned to obtain task path information;
[0010] Based on the task path information, control the robot that receives the task to be assigned to move to the corresponding task location to execute the task to be assigned;
[0011] During the process of moving to the corresponding task location, according to a preset conflict prediction model and a preset state update model, control the swarm robots to cooperate with each other to avoid collisions.
[0012] The method for collaborative control of swarm robots provided by the present application can achieve the control of swarm robots. Through a preset task allocation model and a preset navigation objective function, control the swarm robots to execute the task to be assigned, and during the process of moving to the corresponding task location, according to a preset conflict prediction model and a preset state update model, cooperatively control the swarm robots to avoid collisions, solving the problems that the existing methods for controlling swarm robots ignore the coordination of swarm robots in navigation and path planning and cannot effectively cope with task changes in a dynamic environment in task allocation and cooperation. Through a dynamic control method, optimize the path conflict problem, task allocation problem and cooperation problem of swarm robots in a real-time environment, and improve the cooperation efficiency of swarm robots.
[0013] Optionally, through a preset task allocation model, according to the task information and the robot information, divide the task to be assigned into the robot with the minimum cost function value among the swarm robots, including:
[0014] Through a preset task allocation model, according to the task information and the robot information, calculate the cost function values of each robot when the task to be assigned is divided into the swarm robots;
[0015] Extract the minimum value from the cost function values;
[0016] Divide the task to be assigned into the robot corresponding to the minimum value of the cost function values.
[0017] The swarm robot cooperation method provided by this application can control swarm robots. Through a preset task allocation model, the tasks to be allocated are divided into the robots with the smallest cost function value in the swarm robots, and the robots with the smallest cost function value execute the corresponding tasks to be allocated, which is beneficial to improving the cooperation efficiency of the swarm robots.
[0018] Optionally, during the process of moving to the corresponding task location, according to a preset conflict prediction model and a preset state update model, control the swarm robots to cooperate with each other to avoid collisions, including:
[0019] During the process of moving to the corresponding task location, periodically obtain the relative distances between the robots in the swarm robots;
[0020] According to the preset conflict prediction model and the preset state update model, perform conflict analysis on the robots with relative distances less than the preset conflict distance, and calculate the conflict risk value;
[0021] Adjust the paths of the robots with conflict risk values greater than the preset safety threshold within the preset conflict distance to obtain adjusted conflict paths;
[0022] Based on the adjusted conflict paths, control the corresponding robots in the swarm robots to move to avoid collisions of the swarm robots.
[0023] The swarm robot cooperation method provided by this application can control swarm robots. After calculating the conflict risk values of the robots through a preset conflict prediction model and a preset state update model, adjust the paths of the robots with conflict risk values greater than the preset safety threshold within the preset conflict distance to obtain adjusted conflict paths, and control the swarm robots through the adjusted conflict paths, which is beneficial to improving the cooperation efficiency of the swarm robots.
[0024] Optionally, periodically obtaining the relative distances between the robots in the swarm robots includes;
[0025] Periodically obtain the real-time positions of the robots in the swarm robots;
[0026] According to the real-time positions, calculate the relative distances between the robots.
[0027] Optionally, according to the preset conflict prediction model and the preset state update model, perform conflict analysis on the robots with relative distances less than the preset conflict distance, and calculate the conflict risk value, including:
[0028] Judge whether the relative distances between the robots are less than the preset conflict distance;
[0029] If so, after updating the status of the robots with a relative distance less than the preset conflict distance according to the preset status update model, calculate the conflict risk value between the robots with a relative distance less than the preset conflict distance after the status update based on the preset conflict prediction model;
[0030] If not, control the robots with a relative distance greater than or equal to the preset conflict distance to move according to the task path information.
[0031] Optionally, adjusting the path within the preset conflict distance of the robot with a conflict risk value greater than the preset safety threshold to obtain an adjusted conflict path includes:
[0032] Determine whether the conflict risk value between each robot is greater than the preset safety threshold;
[0033] If so, adjust the path within the preset conflict distance of the robot with a conflict risk value greater than the preset safety threshold through a preset speed adjustment model to obtain an adjusted conflict path;
[0034] If not, control the robot with a conflict risk value less than or equal to the preset safety threshold to move according to the task path information.
[0035] Optionally, the preset status update model is specifically:
[0036] ;
[0037] The preset conflict prediction model is specifically:
[0038] ;
[0039] where x i (t + 1) is the state vector of robot i at time t + 1; x i (t) is the state vector of robot i at time t; ϵ is the learning rate, that is, the amplitude of the robot state update; is the communication weight between robot i and robot j; N i is the set of robots within the preset conflict distance of robot i; x j (t) is the state vector of robot j at time t; R ij (t) is the conflict risk value between robot i and robot j at time t; is the exponential function with the natural constant e as the base, represents the power of the natural constant e; p i (t) is the current position of robot i at time t; p j(t) is the current position of robot j at time t; is the norm symbol; is the conflict range parameter.
[0040] In a second aspect, the present application provides a swarm robot cooperation device, including:
[0041] An acquisition module, configured to acquire task information of a task to be assigned and robot information of swarm robots;
[0042] A division module, configured to divide the task to be assigned to the robot with the minimum cost function value among the swarm robots according to the task information and the robot information through a preset task assignment model;
[0043] A planning module, configured to perform path planning on the robot that receives the task to be assigned according to a preset navigation objective function to obtain task path information;
[0044] A movement module, configured to control the robot that receives the task to be assigned to move to a corresponding task location to execute the task to be assigned based on the task path information;
[0045] A cooperation module, configured to control the swarm robots to cooperate with each other according to a preset conflict prediction model and a preset state update model during the process of moving to the corresponding task location to avoid collisions.
[0046] The swarm robot cooperation device controls the swarm robots to execute the task to be assigned through a preset task assignment model and a preset navigation objective function, and during the process of moving to the corresponding task location, controls the swarm robots to cooperate with each other according to a preset conflict prediction model and a preset state update model to avoid collisions, solves the problems that the existing swarm robot control methods ignore the coordination of swarm robots in navigation and path planning and cannot effectively cope with task changes in a dynamic environment in task assignment and cooperation, optimizes the path conflict problem, task assignment problem and cooperation problem of swarm robots in a real-time environment through a dynamic control method, and improves the cooperation efficiency of swarm robots.
[0047] In a third aspect, the present application provides an electronic device, including a processor and a memory, where the memory stores a computer program executable by the processor, and when the processor executes the computer program, it runs the steps in the swarm robot cooperation method described above.
[0048] In a fourth aspect, the present application provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, it runs the steps in the swarm robot cooperation method described above.
[0049] Beneficial effects: The swarm robot cooperation method, device, electronic device, and storage medium provided by this application control swarm robots to execute tasks to be assigned through a preset task allocation model and a preset navigation objective function. During the process of moving to the corresponding task locations, the swarm robots are cooperatively controlled according to a preset conflict prediction model and a preset state update model to avoid collisions, solving the problems that existing swarm robot control methods ignore the coordination of swarm robots in navigation and path planning and cannot effectively handle task changes in a dynamic environment in task allocation and cooperation. The path conflict problems, task allocation problems, and cooperative cooperation problems of swarm robots are optimized in a real-time environment through a dynamic control method, improving the cooperation efficiency of swarm robots. BRIEF DESCRIPTION OF THE DRAWINGS
[0050] Figure 1 It is a flowchart of the swarm robot cooperation method provided by an embodiment of this application.
[0051] Figure 2 It is a schematic structural diagram of the swarm robot cooperation device provided by an embodiment of this application.
[0052] Figure 3 It is a schematic structural diagram of the electronic device provided by an embodiment of this application.
[0053] Reference numeral description: 1, acquisition module; 2, division module; 3, planning module; 4, movement module; 5, cooperation module; 301, processor; 302, memory; 303, communication bus. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0054] Next, the technical solutions in the embodiments of this application will be clearly and completely described in conjunction with the drawings in the embodiments of this application. Obviously, the described embodiments are only a part of the embodiments of this application, rather than all of the embodiments. Usually, the components of the embodiments of this application described and illustrated herein can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of this application provided in the drawings is not intended to limit the scope of the claimed application, but merely represents the selected embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without creative efforts fall within the scope of protection of this application.
[0055] It should be noted that: Similar reference numerals and letters indicate similar items in the following drawings. Therefore, once an item is defined in one drawing, it does not need to be further defined and explained in subsequent drawings. At the same time, in the description of this application, terms such as "first", "second", etc. are only used for differential description and cannot be understood as indicating or implying relative importance.
[0056] Please refer toFigure 1 , Figure 1 is a swarm robot cooperation method in some embodiments of the present application, used to control swarm robots, including the steps of:
[0057] Step S101, obtaining the task information of the task to be assigned and the robot information of the swarm robots;
[0058] Step S102, through a preset task allocation model, according to the task information and the robot information, dividing the task to be assigned to the robot with the smallest cost function value among the swarm robots;
[0059] Step S103, according to a preset navigation objective function, performing path planning on the robot that receives the task to be assigned to obtain task path information;
[0060] Step S104, based on the task path information, controlling the robot that receives the task to be assigned to move to the corresponding task location to execute the task to be assigned;
[0061] Step S105, during the process of moving to the corresponding task location, according to a preset conflict prediction model and a preset state update model, controlling the swarm robots to cooperate with each other to avoid collisions.
[0062] This swarm robot cooperation method controls the swarm robots to execute the task to be assigned through a preset task allocation model and a preset navigation objective function, and during the process of moving to the corresponding task location, according to a preset conflict prediction model and a preset state update model, cooperatively controls the swarm robots to avoid collisions, solving the problems that the existing swarm robot control methods ignore the coordination of swarm robots in navigation and path planning and cannot effectively cope with task changes in a dynamic environment in task allocation and cooperation. By using a dynamic control method to optimize the path conflict problem, task allocation problem and cooperation problem of swarm robots in a real-time environment, the cooperation efficiency of swarm robots is improved.
[0063] Specifically, in step S101, the task information of the task to be assigned and the robot information of the swarm robots are obtained. Among them, the task information includes information such as the task priority of the task to be assigned, the task location, and the energy consumption required to complete the task to be assigned, and the robot information includes information such as the location and remaining energy of each robot.
[0064] Specifically, in step S102, through a preset task allocation model, according to the task information and the robot information, dividing the task to be assigned to the robot with the smallest cost function value among the swarm robots, including:
[0065] Through a preset task allocation model, according to the task information and robot information, calculate the cost function values of each robot in the swarm robots when the task to be allocated is divided among them;
[0066] Extract the minimum value from the cost function values;
[0067] Allocate the task to be allocated to the robot corresponding to the minimum value of the cost function value.
[0068] In step S102, input the corresponding task information and robot information into the preset task allocation model, and calculate the cost function values of each robot in the swarm robots when the task to be allocated is divided among them. Among them, the preset task allocation model is specifically: ;
[0069] Among them, is the cost function value; k is the kth task (task to be allocated), that is, task k; N is the total number of robots; M is the total number of tasks; w k is the importance weight of task k (the importance weight can be set according to actual needs. For example, it can be calculated by a preset conversion formula according to the task priority); d ik is the straight-line distance from the ith robot (i.e., robot i) to task k; E i is the remaining energy of robot i; E max is the standard maximum energy value of the swarm robots; λ is the energy balance coefficient, and the energy balance coefficient λ is used to prevent high-energy-consuming robots from performing unnecessary tasks.
[0070] Extract the minimum value from the cost function values, and allocate the task to be allocated corresponding to the minimum value to the corresponding robot.
[0071] In some alternative embodiments, when an emergency occurs (such as a new task arriving, a robot having low battery (e.g., the robot makes multiple path adjustments during operation to avoid collisions, resulting in insufficient power to complete the task), a robot malfunction, or a robot communication interruption), task reallocation will be automatically triggered. For example, in complex warehousing tasks, robots can dynamically adjust the allocation plan according to factors such as the urgency of the task and the resource status, significantly reducing the task completion time. This resource-aware task allocation method has significant adaptability in a dynamic environment.
[0072] Specifically, in step S103, the preset navigation objective function not only focuses on the optimality of the path length, but also introduces obstacle avoidance costs and energy consumption. Through the preset navigation objective function, path planning is performed on the robot that receives the task to be allocated to obtain task path information. The preset navigation objective function is specifically: ;
[0073] Among them, is the navigation objective function value; L(t) is the path length, representing the time cost for the robot to complete the task; C obstacle (t) is the obstacle avoidance cost, which can be determined by the safe path generated by the robot obtaining the dynamic obstacle distribution (for example, it can be calculated by a preset obstacle avoidance calculation formula based on the local obstacle avoidance route and the corresponding additional energy consumption); E(t) is the energy consumption; α, β, and γ are the path weight parameter, the obstacle avoidance weight parameter, and the energy weight parameter respectively; [t0, t f is the time integration interval, t0 is the minimum value of the time integration interval (i.e., the task start time), and t f is the maximum value of the time integration interval (i.e., the task completion time).
[0074] In step S103, first, through algorithms such as the A* algorithm, Dijkstra algorithm, or ant algorithm (the A* algorithm, Dijkstra algorithm, or ant algorithm and other algorithms are existing technologies and will not be elaborated here), multiple running paths are generated. Then, considering the path length, obstacle avoidance cost, and energy consumption, the data corresponding to each running path is input into the preset navigation objective function, and the navigation objective function values of each running path are calculated to extract the running path corresponding to the minimum value from the navigation objective function values of each running path, thereby obtaining the task path information.
[0075] Specifically, in step S104, the robot that receives the task to be assigned is controlled to move according to the task path information, so as to move to the corresponding task location to execute the task to be assigned.
[0076] Specifically, in step S105, during the process of moving to the corresponding task location, according to the preset conflict prediction model and the preset state update model, the swarm robots are controlled to cooperate with each other to avoid collisions, including:
[0077] During the process of moving to the corresponding task location, the relative distances between the robots in the swarm robots are periodically obtained;
[0078] According to the preset conflict prediction model and the preset state update model, conflict analysis is performed on the robots with relative distances less than the preset conflict distance, and the conflict risk value is calculated;
[0079] The path within the preset conflict distance of the robots with conflict risk values greater than the preset safety threshold is adjusted to obtain the adjusted conflict path;
[0080] Based on the adjusted conflict path, the corresponding robots in the swarm robots are controlled to move to avoid collisions among the swarm robots.
[0081] Specifically, in step S105, the relative distances between the robots in the swarm robots are periodically obtained, including:
[0082] Periodically obtain the real-time positions of the robots in the swarm robots;
[0083] Based on the real-time positions, calculate the relative distances between the robots.
[0084] In step S105, at intervals of a preset period (the preset period can be set according to actual needs), obtain the real-time positions of the robots in the swarm robots, and based on the real-time positions, calculate the relative distances between the robots. Among them, each robot is equipped with multi-modal sensors (such as lidar, cameras and other devices), and through the multi-modal sensors, each robot can obtain information such as the positions of surrounding obstacles, the coordinates of the target area, and the states of neighboring robots.
[0085] Specifically, in step S105, according to the preset conflict prediction model and the preset state update model, perform conflict analysis on the robots with relative distances less than the preset conflict distance (that is, after updating the states of the robots with relative distances less than the preset conflict distance according to the preset state update model, based on the preset conflict prediction model, calculate the conflict risk value between the robots with relative distances less than the preset conflict distance after state update), and calculate the conflict risk value, including:
[0086] Judge whether the relative distance between each robot is less than the preset conflict distance;
[0087] If so, after updating the states of the robots with relative distances less than the preset conflict distance according to the preset state update model, based on the preset conflict prediction model, calculate the conflict risk value between the robots with relative distances less than the preset conflict distance after state update;
[0088] If not, control the robots with relative distances greater than or equal to the preset conflict distance to move according to the task path information.
[0089] In step S105, judge whether the relative distance between each robot is less than the preset conflict distance (the preset conflict distance can be set according to actual needs. Taking the preset conflict distance as the radius and the robot itself as the origin to make a circle, the neighborhood corresponding to the robot can be constructed). When there is a relative distance less than the preset conflict distance between any robot and other robots (that is, there are other robots in the neighborhood of any robot), according to the preset state update model, update the states of the robots with relative distances less than the preset conflict distance (that is, update and synchronize the state vectors of the robots in the neighborhood range. The state vector includes the position vector (x, y, z) and the velocity vector (v x ,vy , v z )), where x, y, and z are the abscissa, ordinate, and vertical coordinate of the robot respectively, and v x , v y , v z are the velocities of the robot in the abscissa direction, ordinate direction, and vertical coordinate direction respectively. After that, based on a preset conflict prediction model, calculate the conflict risk values between robots whose relative distance is less than the preset conflict distance after state update. The preset state update model is specifically:
[0090] ;
[0091] where x i (t + 1) is the state vector of robot i at time t + 1; x i (t) is the state vector of robot i at time t; ϵ is the learning rate, that is, the amplitude of robot state update; is the communication weight between robot i and robot j; N i is the set of robots within the preset conflict distance of robot i (i.e., the set of robots in the neighborhood of robot i); x j (t) is the state vector of robot j at time t.
[0092] Through the preset state update model, perform information interaction, update and synchronize the states of robots within the neighborhood range, so that the state vectors of each robot obtained by the robots within the neighborhood range gradually tend to be consistent, thereby optimizing the collaborative behavior of the entire group. Through the state update mechanism, each robot gradually coordinates with the robots in its neighborhood range in terms of path selection and task priority until the entire group of robots reaches consistency. For example, during the task execution, when multiple robots need to cooperate to pass through a narrow passage, after the state is updated and synchronized, (the control system or between multiple robots) will dynamically adjust their passing order and speed, thereby significantly improving the task completion efficiency.
[0093] The preset conflict prediction model is specifically:
[0094] ;
[0095] where R ij (t) is the conflict risk value between robot i and robot j at time t; is the exponential function with the natural constant e as the base, represents the power of the natural constant e; p i (t) is the current position of robot i at time t; p j (t) is the current position of robot j at time t; is the norm symbol; is the conflict range parameter.
[0096] Through a preset conflict prediction model, the corresponding conflict risk value can be calculated based on the position of the robot.
[0097] When the relative distance between any robot and other robots does not have data less than the preset conflict distance, the robot with a relative distance greater than or equal to the preset conflict distance is controlled to move according to the task path information.
[0098] Specifically, in step S105, the path of the robot with a conflict risk value greater than the preset safety threshold within the preset conflict distance is adjusted to obtain the adjusted conflict path, including:
[0099] Judge whether the conflict risk value between each robot is greater than the preset safety threshold;
[0100] If so, through a preset speed adjustment model, the path of the robot with a conflict risk value greater than the preset safety threshold within the preset conflict distance is adjusted to obtain the adjusted conflict path;
[0101] If not, control the robot with a conflict risk value less than or equal to the preset safety threshold to move according to the task path information.
[0102] In step S105, judge whether the conflict risk value between each robot is greater than the preset safety threshold. When there is a conflict risk value greater than the preset safety threshold between robots, the speed during the movement of the robot can be adjusted through a preset speed adjustment model (where the speed refers to the velocity vector, and adjusting the speed during the movement of the robot includes numerical adjustment and directional adjustment. The movement speed of a single robot or two robots can be adjusted according to actual needs to calculate the corresponding collision integral through the preset speed adjustment model, and then determine the corresponding adjustment measures according to the minimum value of the collision integral) to adjust the path of the robot with a conflict risk value greater than the preset safety threshold within the preset conflict distance to obtain the adjusted conflict path. The adjusted conflict paths of each robot are coordinated with each other to avoid collisions between each robot. Among them, the preset speed adjustment model is specifically:
[0103] ;
[0104] Among them, is the collision integral; v i (t) is the speed of robot i at time t; v j (t) is the speed of robot j at time t. By adjusting the movement speed of the robot, the adjusted collision integral reaches the minimum value. By determining the movement speed of the robot corresponding to the minimum value, the adjusted conflict path is determined.
[0105] In some alternative embodiments, methods such as the A* algorithm, Dijkstra algorithm, or ant algorithm can be used to adjust the paths of robots with conflict risk values greater than a preset safety threshold within a preset conflict distance, so as to obtain adjusted conflict paths. Among them, methods such as the A* algorithm, Dijkstra algorithm, or ant algorithm are prior arts and will not be elaborated here.
[0106] When there is no conflict risk value greater than the preset safety threshold among robots, control the robots with conflict risk values less than or equal to the preset safety threshold to move according to the task path information.
[0107] In step S105, control the corresponding robots in the swarm robots to move according to the adjusted conflict path to avoid collisions among the swarm robots.
[0108] As can be seen from the above, this swarm robot collaboration method obtains the task information of the task to be allocated and the robot information of the swarm robots, and through a preset task allocation model, according to the task information and robot information, divides the task to be allocated to the robot with the smallest cost function value in the swarm robots. According to the preset navigation objective function, path planning is performed on the robot that receives the task to be allocated to obtain task path information. Based on the task path information, control the robot that receives the task to be allocated to move to the corresponding task location to execute the task to be allocated. During the movement to the corresponding task location, according to the preset conflict prediction model and preset state update model, control the swarm robots to cooperate with each other to avoid collisions. Thus, through the preset task allocation model and preset navigation objective function, control the swarm robots to execute the task to be allocated, and during the movement to the corresponding task location, according to the preset conflict prediction model and preset state update model, cooperatively control the swarm robots to avoid collisions, solving the problems that the existing swarm robot control methods ignore the coordination of swarm robots in navigation and path planning and cannot effectively handle task changes in a dynamic environment in task allocation and cooperation. Optimize the path conflict problem, task allocation problem, and cooperation problem of swarm robots in a real-time environment through a dynamic control method, and improve the cooperation efficiency of swarm robots.
[0109] Reference Figure 2 , this application provides a swarm robot collaboration device for controlling swarm robots, including:
[0110] An acquisition module 1, configured to acquire the task information of the task to be allocated and the robot information of the swarm robots;
[0111] The partitioning module 2 is used to partition the task to be assigned to the robot with the minimum cost function value among the swarm robots according to the task information and the robot information through a preset task allocation model;
[0112] The path planning module 3 is used to perform path planning on the robot that receives the task to be assigned according to a preset navigation objective function to obtain task path information.
[0113] The movement module 4 is used to control the robot that receives the task to be assigned to move to the corresponding task location to execute the task to be assigned based on the task path information;
[0114] The cooperation module 5 is used to control the swarm robots to cooperate with each other according to a preset conflict prediction model and a preset state update model during the process of moving to the corresponding task location to avoid collisions.
[0115] The swarm robot cooperation device controls the swarm robots to execute the task to be assigned through a preset task allocation model and a preset navigation objective function, and during the process of moving to the corresponding task location, controls the swarm robots to cooperate with each other according to a preset conflict prediction model and a preset state update model to avoid collisions, solves the problem that the existing swarm robot control method ignores the coordination of swarm robots in navigation and path planning and cannot effectively handle task changes in a dynamic environment in task allocation and cooperation, and optimizes the path conflict problem, task allocation problem and cooperation problem of swarm robots in a real-time environment through a dynamic control method, thereby improving the cooperation efficiency of swarm robots.
[0116] Specifically, when the acquisition module 1 executes, it acquires the task information of the task to be assigned and the robot information of the swarm robots. Among them, the task information includes information such as the task priority of the task to be assigned, the task location, and the energy consumption required to complete the task to be assigned, and the robot information includes information such as the location and remaining energy of each robot.
[0117] Specifically, when the partitioning module 2 partitions the task to be assigned to the robot with the minimum cost function value among the swarm robots according to the task information and the robot information through a preset task allocation model, it executes:
[0118] Calculate the cost function values of each robot when the task to be assigned is partitioned to the swarm robots according to the task information and the robot information through a preset task allocation model;
[0119] Extract the minimum value from the cost function values;
[0120] Partition the task to be assigned to the robot corresponding to the minimum value in the cost function values.
[0121] When the acquisition module 1 is executing, corresponding task information and robot information are input into a preset task allocation model, and the cost function values of each robot in the swarm robots to which the tasks to be allocated are calculated. Among them, the preset task allocation model is specifically: ;
[0122] Among them, is the cost function value; k is the kth task (task to be allocated), that is, task k; N is the total number of robots; M is the total number of tasks; w k is the importance weight of task k (the importance weight can be set according to actual needs, for example, it can be calculated by a preset conversion formula according to task priority); d i k is the straight-line distance from the ith robot (i.e., robot i) to task k; E i is the remaining energy of robot i; E max is the standard maximum energy value of the swarm robots; λ is the energy balance coefficient, and the energy balance coefficient λ is used to prevent high-energy-consuming robots from performing unnecessary tasks.
[0123] Extract the minimum value from the cost function values, and divide the task to be allocated corresponding to the minimum value into the corresponding robot.
[0124] In some alternative embodiments, when an emergency occurs (such as a new task arriving, a robot having low battery (e.g., the robot makes multiple path adjustments during operation to avoid collisions, resulting in insufficient battery to complete the task), a robot failure, or a robot communication interruption), task reallocation will be automatically triggered. For example, in complex warehousing tasks, the robot can dynamically adjust the allocation plan according to factors such as the urgency of the task and the resource status, significantly reducing the task completion time. This resource-aware task allocation method has significant adaptability in a dynamic environment.
[0125] Specifically, when the planning module 3 is executing, the preset navigation objective function not only focuses on the optimality of the path length, but also introduces obstacle avoidance cost and energy consumption. Through the preset navigation objective function, path planning is performed on the robot that receives the task to be allocated, and task path information is obtained. The preset navigation objective function is specifically: ;
[0126] Among them, is the navigation objective function value; L(t) is the path length, indicating the time cost for the robot to complete the task; C obstacleLet $(t)$ be the obstacle avoidance cost, which can be determined by the safe path generated by the robot obtaining the dynamic obstacle distribution (for example, it can be calculated using a preset obstacle avoidance calculation formula based on the local obstacle avoidance route and the corresponding additional energy consumption); $E(t)$ be the energy consumption; $\alpha$, $\beta$, and $\gamma$ be the path weight parameter, the obstacle avoidance weight parameter, and the energy weight parameter respectively; $[t_0, t f $ is the time integration interval, $t_0$ is the minimum value of the time integration interval (i.e., the task start time), $t f $ is the maximum value of the time integration interval (i.e., the task completion time).
[0127] When the planning module 3 executes, it first generates multiple running paths through algorithms such as the A* algorithm, Dijkstra algorithm, or ant algorithm (the A* algorithm, Dijkstra algorithm, or ant algorithm and other algorithms are existing technologies and will not be elaborated here). Then, considering the path length, obstacle avoidance cost, and energy consumption, it inputs the data corresponding to each running path into a preset navigation objective function, calculates the navigation objective function values of each running path, and extracts the running path corresponding to the minimum value from the navigation objective function values of each running path to obtain the task path information.
[0128] Specifically, when the moving module 4 executes, it controls the robot that receives the task to be assigned to move according to the task path information, so as to move to the corresponding task location to execute the task to be assigned.
[0129] Specifically, during the process of moving to the corresponding task location, the cooperation module 5 controls the swarm robots to cooperate with each other according to a preset conflict prediction model and a preset state update model to avoid collisions, and executes:
[0130] During the process of moving to the corresponding task location, periodically obtain the relative distances between the robots in the swarm robots;
[0131] According to the preset conflict prediction model and the preset state update model, conduct a conflict analysis on the robots with a relative distance less than the preset conflict distance, and calculate the conflict risk value;
[0132] Adjust the paths of the robots within the preset conflict distance with a conflict risk value greater than the preset safety threshold to obtain the adjusted conflict paths;
[0133] Based on the adjusted conflict paths, control the corresponding robots in the swarm robots to move to avoid collisions among the swarm robots.
[0134] Specifically, when the cooperation module 5 periodically obtains the relative distances between the robots in the swarm robots, it executes;
[0135] Periodically obtain the real-time positions of the robots in the swarm robots;
[0136] Based on the real-time positions, calculate the relative distances between the robots.
[0137] When the cooperation module 5 is executing, at intervals of a preset period (the preset period can be set according to actual needs), obtain the real-time positions of the robots in the swarm robots, and based on the real-time positions, calculate the relative distances between the robots. Among them, each robot is equipped with multi-modal sensors (such as lidar, cameras and other devices), and through the multi-modal sensors, each robot can obtain information such as the positions of surrounding obstacles, the coordinates of the target area, and the states of neighboring robots.
[0138] Specifically, when the cooperation module 5 performs conflict analysis on the robots with relative distances less than the preset conflict distance according to the preset conflict prediction model and the preset state update model (that is, after updating the states of the robots with relative distances less than the preset conflict distance according to the preset state update model, calculate the conflict risk value between the robots with relative distances less than the preset conflict distance after state update based on the preset conflict prediction model), when calculating the obtained conflict risk value, execute:
[0139] Judge whether the relative distances between the robots are less than the preset conflict distance;
[0140] If so, after updating the states of the robots with relative distances less than the preset conflict distance according to the preset state update model, calculate the conflict risk value between the robots with relative distances less than the preset conflict distance after state update based on the preset conflict prediction model;
[0141] If not, control the robots with relative distances greater than or equal to the preset conflict distance to move according to the task path information.
[0142] When the cooperation module 5 is executing, judge whether the relative distances between the robots are less than the preset conflict distance (the preset conflict distance can be set according to actual needs. Taking the preset conflict distance as the radius and the robot itself as the origin to draw a circle, the neighborhood corresponding to the robot can be constructed). When there is a relative distance less than the preset conflict distance between any robot and other robots (that is, there are other robots in the neighborhood of any robot), update the states of the robots with relative distances less than the preset conflict distance according to the preset state update model (that is, update and synchronize the state vectors of the robots within the neighborhood range. The state vector includes the position vector (x, y, z) and velocity vector (v x , v y , v z ), where x, y, and z are the abscissa, ordinate, and vertical coordinate of the robot respectively, and v x , vy and v z (which are the velocities of the robot in the horizontal coordinate direction, vertical coordinate direction, and vertical coordinate direction respectively), based on a preset conflict prediction model, calculate the conflict risk value between robots whose relative distance after state update is less than the preset conflict distance. Specifically, the preset state update model is as follows:
[0143] ;
[0144] where x i (t + 1) is the state vector of robot i at time t + 1; x i (t) is the state vector of robot i at time t; ϵ is the learning rate, that is, the amplitude of the robot state update; is the communication weight between robot i and robot j; N i is the set of robots within the preset conflict distance of robot i (i.e., the set of robots in the neighborhood of robot i); x j (t) is the state vector of robot j at time t.
[0145] Through the preset state update model for information interaction, update and synchronize the states of robots within the neighborhood range, so that the state vectors of each robot obtained by the robots within the neighborhood range gradually tend to be consistent, thereby optimizing the collaborative behavior of the entire group. Through the state update mechanism, each robot gradually coordinates with the robots in its neighborhood range in terms of path selection and task priority until the entire group of robots reaches consistency. For example, during the task execution process, when multiple robots need to cooperate to pass through a narrow passage, after the state is updated and synchronized, (the control system or between multiple robots) will dynamically adjust their passing order and speed, thereby significantly improving the task completion efficiency.
[0146] The preset conflict prediction model is specifically as follows:
[0147] ;
[0148] where R ij (t) is the conflict risk value between robot i and robot j at time t; is the exponential function with the natural constant e as the base, represents the power of the natural constant e; p i (t) is the current position of robot i at time t; p j (t) is the current position of robot j at time t; is the norm symbol; is the conflict range parameter.
[0149] Through a preset conflict prediction model, the corresponding conflict risk value can be calculated based on the position of the robot.
[0150] When there is no data indicating that the relative distance between any robot and other robots is less than the preset conflict distance, the robot with a relative distance greater than or equal to the preset conflict distance is controlled to move according to the task path information.
[0151] Specifically, when the cooperation module 5 adjusts the path within the preset conflict distance of the robot with a conflict risk value greater than the preset safety threshold to obtain the adjusted conflict path, it executes:
[0152] Judge whether the conflict risk value between each robot is greater than the preset safety threshold;
[0153] If so, through a preset speed adjustment model, adjust the path within the preset conflict distance of the robot with a conflict risk value greater than the preset safety threshold to obtain the adjusted conflict path;
[0154] If not, control the robot with a conflict risk value less than or equal to the preset safety threshold to move according to the task path information.
[0155] When the cooperation module 5 executes, it judges whether the conflict risk value between each robot is greater than the preset safety threshold. When there is a conflict risk value greater than the preset safety threshold between the robots, the speed during the movement of the robot can be adjusted through a preset speed adjustment model (where the speed refers to the velocity vector, and adjusting the speed during the movement of the robot includes numerical adjustment and directional adjustment. According to actual needs, the movement speed of a single robot or two robots can be adjusted to calculate the corresponding collision integral through the preset speed adjustment model, and then determine the corresponding adjustment measure according to the minimum value of the collision integral) to adjust the path within the preset conflict distance of the robot with a conflict risk value greater than the preset safety threshold to obtain the adjusted conflict path. The adjusted conflict paths of each robot are coordinated with each other to avoid collisions between each robot. Among them, the preset speed adjustment model is specifically:
[0156] ;
[0157] Among them, is the collision integral; v i (t) is the speed of robot i at time t; v j (t) is the speed of robot j at time t. By adjusting the movement speed of the robot, the adjusted collision integral is made to reach the minimum value, and by determining the movement speed of the robot corresponding to the minimum value, the adjusted conflict path is determined.
[0158] In some alternative embodiments, methods such as the A* algorithm, Dijkstra algorithm, or ant algorithm can be used to adjust the paths of robots with conflict risk values greater than a preset safety threshold within a preset conflict distance to obtain adjusted conflict paths. Among them, methods such as the A* algorithm, Dijkstra algorithm, or ant algorithm are prior arts and will not be elaborated here.
[0159] When there is no conflict risk value greater than the preset safety threshold among robots, control the robots with conflict risk values less than or equal to the preset safety threshold to move according to the task path information.
[0160] When the cooperation module 5 is executing, control the corresponding robots in the swarm robots to move according to the adjusted conflict paths to avoid collisions among the swarm robots.
[0161] As can be seen from the above, the swarm robot cooperation device obtains the task information of the task to be allocated and the robot information of the swarm robots, and through a preset task allocation model, according to the task information and robot information, divides the task to be allocated into the robot with the smallest cost function value in the swarm robots. According to the preset navigation objective function, path planning is performed on the robot that receives the task to be allocated to obtain task path information. Based on the task path information, control the robot that receives the task to be allocated to move to the corresponding task location to execute the task to be allocated. During the process of moving to the corresponding task location, according to the preset conflict prediction model and preset state update model, control the swarm robots to cooperate with each other to avoid collisions. Thus, through the preset task allocation model and preset navigation objective function, control the swarm robots to execute the task to be allocated, and during the process of moving to the corresponding task location, according to the preset conflict prediction model and preset state update model, cooperatively control the swarm robots to avoid collisions, solving the problems that the existing swarm robot control methods ignore the coordination of swarm robots in navigation and path planning and cannot effectively handle task changes in a dynamic environment in task allocation and cooperation. Through dynamic control methods, optimize the path conflict problem, task allocation problem, and cooperation problem of swarm robots in a real-time environment, and improve the cooperation efficiency of swarm robots.
[0162] Please refer to Figure 3 , Figure 3A schematic structural diagram of an electronic device provided by an embodiment of the present application. The present application provides an electronic device, including: a processor 301 and a memory 302. The processor 301 and the memory 302 are interconnected and communicate with each other through a communication bus 303 and / or other forms of connection mechanisms (not marked). The memory 302 stores a computer program executable by the processor 301. When the electronic device runs, the processor 301 executes the computer program to execute the swarm robot cooperation method in any optional implementation manner of the above embodiment to achieve the following functions: obtaining task information of the task to be assigned and robot information of the swarm robots, through a preset task assignment model, dividing the task to be assigned into the robot with the smallest cost function value among the swarm robots according to the task information and the robot information, performing path planning on the robot that receives the task to be assigned according to a preset navigation objective function to obtain task path information, based on the task path information, controlling the robot that receives the task to be assigned to move to the corresponding task location to execute the task to be assigned, and during the movement to the corresponding task location, controlling the swarm robots to cooperate with each other according to a preset conflict prediction model and a preset state update model to avoid collisions.
[0163] An embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, it executes the swarm robot cooperation method in any optional implementation manner of the above embodiment to achieve the following functions: obtaining task information of a task to be assigned and robot information of swarm robots, and through a preset task allocation model, dividing the task to be assigned into the robot with the smallest cost function value among the swarm robots according to the task information and the robot information, performing path planning on the robot that receives the task to be assigned according to a preset navigation objective function to obtain task path information, and based on the task path information, controlling the robot that receives the task to be assigned to move to the corresponding task location to execute the task to be assigned. During the movement to the corresponding task location, controlling the swarm robots to cooperate with each other according to a preset conflict prediction model and a preset state update model to avoid collisions. Among them, the storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (Static Random Access Memory, abbreviated as SRAM), electrically erasable programmable read-only memory (Electrically Erasable Programmable Read-Only Memory, abbreviated as EEPROM), erasable programmable read-only memory (Erasable Programmable Read Only Memory, abbreviated as EPROM), programmable read-only memory (Programmable Red-Only Memory, abbreviated as PROM), read-only memory (Read-Only Memory, abbreviated as ROM), magnetic memory, flash memory, magnetic disk or optical disc.
[0164] In the embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are only illustrative. For example, the division of the units is only a logical function division, and there may be other division methods in actual implementation. For another example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed mutual coupling or direct coupling or communication connection can be through some communication interfaces. The indirect coupling or communication connection of the devices or units can be electrical, mechanical or other forms.
[0165] In addition, the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units. They can be located in one place or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0166] Furthermore, each functional module in various embodiments of the present application may be integrated together to form an independent part, or each module may exist alone, or two or more modules may be integrated to form an independent part.
[0167] In this text, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations.
[0168] The above description is only for the embodiments of the present application and is not used to limit the protection scope of the present application. For those skilled in the art, the present application may have various changes and modifications. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.
Claims
1. A method for collaborative control of swarm robots for controlling swarm robots, characterized in that, Including the steps: Obtain the task information of the task to be assigned and the robot information of the swarm robots; Through a preset task allocation model, divide the task to be assigned into the robot with the minimum cost function value among the swarm robots according to the task information and the robot information; According to a preset navigation objective function, perform path planning on the robot that receives the task to be assigned to obtain task path information; Based on the task path information, control the robot that receives the task to be assigned to move to the corresponding task location to execute the task to be assigned; During the movement to the corresponding task location, control the swarm robots to cooperate with each other according to a preset conflict prediction model and a preset state update model to avoid collisions; The specific form of the preset state update model is: ; The specific form of the preset conflict prediction model is: ; where x i (t + 1) is the state vector of robot i at time t + 1; x i (t) is the state vector of robot i at time t; ϵ is the learning rate, i.e., the amplitude of the robot state update; is the communication weight between robot i and robot j; N i is the set of robots within the preset conflict distance of robot i; x j (t) is the state vector of robot j at time t; R ij (t) is the conflict risk value between robot i and robot j at time t; is the exponential function with the natural constant e as the base, represents the power of the natural constant e; p i (t) is the current position of robot i at time t; p j (t) is the current position of robot j at time t; is the norm symbol; is the conflict range parameter.
2. The collaborative method for swarm robots according to claim 1, wherein Dividing the task to be assigned into the robot with the minimum cost function value among the swarm robots through a preset task allocation model according to the task information and the robot information includes: Through a preset task allocation model, calculate the cost function values of the task to be assigned to each robot among the swarm robots according to the task information and the robot information; Extract the minimum value among the cost function values; Divide the task to be assigned into the robot corresponding to the minimum value among the cost function values.
3. The collaborative method for swarm robots according to claim 1, wherein During the movement to the corresponding task location, controlling the swarm robots to cooperate with each other according to a preset conflict prediction model and a preset state update model to avoid collisions includes: During the movement to the corresponding task location, periodically obtain the relative distances between the robots in the swarm robots; According to a preset conflict prediction model and a preset state update model, perform conflict analysis on the robots with relative distances less than a preset conflict distance, and calculate a conflict risk value; Adjust the path within the preset conflict distance of the robot with a conflict risk value greater than a preset safety threshold to obtain an adjusted conflict path; Based on the adjusted conflict path, control the corresponding robot in the swarm robots to move to avoid collisions of the swarm robots.
4. The swarm robot cooperation method according to claim 3, characterized in that Periodically obtaining the relative distances between the robots in the swarm robots includes; Periodically obtain the real-time positions of the robots in the swarm robots; According to the real-time positions, calculate the relative distances between the robots.
5. The swarm robot cooperation method according to claim 3, characterized in that, Performing conflict analysis on the robots with relative distances less than a preset conflict distance according to a preset conflict prediction model and a preset state update model to calculate a conflict risk value includes: Judge whether the relative distance between each robot is less than a preset conflict distance; If so, after updating the state of the robots with relative distances less than the preset conflict distance according to the preset state update model, calculate the conflict risk value between the robots with relative distances less than the preset conflict distance after state update based on the preset conflict prediction model; Otherwise, control the robot with the relative distance greater than or equal to the preset conflict distance to move according to the task path information.
6. The swarm robot cooperation method according to claim 3, characterized in that, Adjust the path of the robot with the conflict risk value greater than the preset safety threshold within the preset conflict distance to obtain an adjusted conflict path, including: Judge whether the conflict risk value between each robot is greater than the preset safety threshold; If so, through a preset speed adjustment model, adjust the path of the robot with the conflict risk value greater than the preset safety threshold within the preset conflict distance to obtain an adjusted conflict path; Otherwise, control the robot with the conflict risk value less than or equal to the preset safety threshold to move according to the task path information.
7. A swarm robot cooperation device for controlling swarm robots, characterized in that Including: An acquisition module, configured to acquire the task information of the task to be assigned and the robot information of the swarm robots; A division module, configured to divide the task to be assigned into the robot with the smallest cost function value among the swarm robots according to the task information and the robot information through a preset task assignment model; A planning module, configured to perform path planning on the robot that receives the task to be assigned according to a preset navigation objective function to obtain task path information; A movement module, configured to control the robot that receives the task to be assigned to move to the corresponding task location to execute the task to be assigned based on the task path information; A cooperation module, configured to control the swarm robots to cooperate with each other to avoid collisions according to a preset conflict prediction model and a preset state update model during the movement to the corresponding task location; The specific preset state update model is: ; The specific preset conflict prediction model is: ; where x i (t + 1) is the state vector of robot i at time t + 1; x i (t) is the state vector of robot i at time t; ϵ is the learning rate, i.e., the amplitude of the robot state update; is the communication weight between robot i and robot j; N i is the set of robots within the preset conflict distance of robot i; x j (t) is the state vector of robot j at time t; R ij (t) is the conflict risk value between robot i and robot j at time t; is the exponential function with the natural constant e as the base, represents the power of the natural constant e; p i (t) is the current position of robot i at time t; p j (t) is the current position of robot j at time t; is the norm symbol; is the conflict range parameter.
8. An electronic device, characterized in that, It includes a processor and a memory. The memory stores a computer program executable by the processor. When the processor executes the computer program, it runs the steps in the swarm robot cooperation method according to any one of claims 1-6.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it runs the steps in the swarm robot cooperation method according to any one of claims 1-6.
Citation Information
Patent Citations
Multi-robot task allocation and path planning method
CN107168054A
Robot path planning method and system based on dynamic weighting and thermodynamic diagram algorithm
CN114895690A