Distributed dynamic task allocation method, device, equipment and storage medium
By calculating loss and control parameters using a fully distributed k-WTA network, task allocation for autonomous state updates among robots in a multi-robot system is achieved. This solves the problems of poor robustness and scalability in existing technologies due to single-point failures, and improves the stability and flexibility of the system.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- JINAN UNIVERSITY
- Filing Date
- 2023-03-30
- Publication Date
- 2026-05-19
AI Technical Summary
Existing methods for dynamic task allocation in multi-robot systems suffer from poor robustness to single-point failures and poor scalability. In particular, methods based on a central controller are prone to system crashes when a failure occurs.
A fully distributed k-WTA network is used for task allocation. The loss parameters are calculated by using the coordinates of the target robot and the robot to be assigned the task, and a task allocation signal is generated. The task allocation is performed based on the control parameters. Each robot only needs to update its own state according to its own state and the state information of the adjacent robots in the communication topology to determine the target task assigned robot.
It improves the robustness and scalability of multi-robot systems to single-point failures, avoids the impact of a single robot failure on the operation of the entire system, and achieves fully distributed task allocation.
Smart Images

Figure CN116394241B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of adaptive control systems, and more particularly to a distributed dynamic task allocation method, apparatus, device, and storage medium. Background Technology
[0002] Multi-robot systems are playing an increasingly prominent role in scientific research and engineering due to their high scalability, flexibility, efficiency, and robustness. The process of assigning tasks to the most suitable robot in response to changes in environmental and location factors is called dynamic task allocation. Dynamic task allocation is crucial for enabling multi-robot systems to perform tasks more efficiently.
[0003] However, existing dynamic task allocation methods typically rely on a central controller to allocate tasks to multi-robot systems, resulting in poor robustness against single points of failure and poor scalability. Therefore, a fully distributed dynamic task allocation method is urgently needed.
[0004] The above content is only used to help understand the technical solution of the present invention and does not represent an admission that the above content is prior art. Summary of the Invention
[0005] The main objective of this invention is to provide a distributed dynamic task allocation method, apparatus, device, and storage medium, aiming to provide a fully distributed dynamic task allocation method to solve the technical problems of poor robustness and poor scalability of existing dynamic allocation methods in the face of single-point failures.
[0006] To achieve the above objectives, the present invention provides a distributed dynamic task allocation method. This method is applied to a multi-robot system comprising at least one target robot and several robots to be assigned tasks. The target robot and the several robots to be assigned tasks are connected via a network to form a fully distributed k-WTA network. The distributed dynamic task allocation method includes:
[0007] The loss parameters corresponding to the target robot and the coordinates of several robots to be assigned tasks are determined based on the coordinates of the target robot and the coordinates of several robots to be assigned tasks.
[0008] The loss parameters and the fully distributed k-WTA network are used to generate task allocation signals corresponding to the plurality of robots to be assigned tasks, and a preset number of target task allocation robots are determined based on the task allocation signals.
[0009] The control parameters corresponding to the target task allocation robot are determined based on the coordinates of the target robot and the coordinates of the target task allocation robot.
[0010] The target task allocation robot is assigned a task according to the control parameters.
[0011] Optionally, the step of generating task allocation signals corresponding to the plurality of robots to be assigned tasks through the loss parameters and the fully distributed k-WTA network, and determining a preset number of target task allocation robots based on the task allocation signals, includes:
[0012] The loss parameters are input into the fully distributed k-WTA network, and the fully distributed k-WTA network outputs the task allocation signals corresponding to the plurality of robots to be assigned tasks.
[0013] Based on the task allocation signal, a preset number of target task allocation robots are determined from the plurality of task-to-be-assigned robots;
[0014] The fully distributed k-WTA network is as follows:
[0015]
[0016] In the formula, ε is the first parameter, α is the second parameter, and λ is the third parameter. i q is the third parameter. i P is the fourth parameter. Ω (.) represents the preset projection function, L represents the preset Laplacian matrix, n represents the total number of the plurality of robots to be assigned tasks, and z i For the task allocation signals corresponding to the plurality of robots to be assigned tasks, v i The loss parameters are the parameters corresponding to the several robots to be assigned tasks.
[0017] Optionally, the step of determining the loss parameters corresponding to the plurality of task-to-be-assigned robots based on the coordinates of the target robot and the coordinates of the plurality of task-to-be-assigned robots includes:
[0018] The loss parameters corresponding to the target robot and several robots to be assigned tasks are determined based on the coordinates of the target robot, the coordinates of several robots to be assigned tasks, and a preset loss function.
[0019] The preset loss function is:
[0020]
[0021] In the formula, v i p represents the loss parameters corresponding to the plurality of robots to be assigned tasks. i p represents the coordinates corresponding to the plurality of robots to be assigned tasks. t The coordinates of the target robot are given.
[0022] Optionally, the step of determining the control parameters corresponding to the target task allocation robot based on the coordinates of the target robot and the coordinates of the target task allocation robot includes:
[0023] The velocity feedforward parameters are determined by the coordinates of the target robot;
[0024] The position feedback parameters corresponding to the target task allocation robot are determined based on the coordinates of the target robot and the coordinates of the target task allocation robot.
[0025] The control parameters corresponding to the target task allocation robot are determined by the speed feedback parameters and the position feedback parameters.
[0026] The formula for determining the control parameters corresponding to the robot assigned to the target task is as follows:
[0027]
[0028] In the formula, U g Assign control parameters corresponding to the robot to the target task, F r (.) represents the preset saturation function, z g Assign a task allocation signal corresponding to the robot to the target task, where S is the position feedback parameter. The velocity feedforward parameter is the parameter mentioned above.
[0029] Optionally, the step of determining the position feedback parameters corresponding to the target task allocation robot based on the coordinates of the target robot and the coordinates of the target task allocation robot includes:
[0030] The target nonlinear function corresponding to the target task allocation robot is determined based on the coordinates of the target robot and the coordinates of the target task allocation robot.
[0031] The position feedback parameters corresponding to the target task allocation robot are determined by the target nonlinear function and the preset position feedback formula.
[0032] The preset position feedback formula is as follows:
[0033] S=cφ(p g -p t );
[0034] In the formula, S is the position feedback parameter, c is the preset error feedback gain parameter, and φ(p g -p t ) is the target nonlinear function, p g Assign robot coordinates to the target task, p t The coordinates of the target robot are given.
[0035] Optionally, the step of determining the target nonlinear function corresponding to the target task allocation robot based on the coordinates of the target robot and the coordinates of the target task allocation robot includes:
[0036] Based on the coordinates of the target robot and the coordinates of the target task allocation robot, determine the target symbolic double power activation function corresponding to the target task allocation robot;
[0037] The target nonlinear function corresponding to the target task allocation robot is determined based on the target symbol double power activation function.
[0038] The target symbol double power activation function is:
[0039]
[0040] The formula for the target nonlinear function is:
[0041] φ(p g -p t ) = sgn r (p g -p t )+sgn 1 / r (p g -p t );
[0042] In the formula, r is a preset power parameter, p g Assign robot coordinates to the target task, p t The coordinates of the target robot are given.
[0043] Optionally, the step of assigning tasks to the target task-assigning robot according to the control parameters includes:
[0044] The target mobile robot is controlled to move towards the target robot according to the control parameters, and the coordinates of the target robot and the coordinates of the plurality of robots to be assigned tasks are updated according to a preset period.
[0045] A new target task assignment robot is determined based on the updated target robot's coordinates and the coordinates of the plurality of task-to-be-assigned robots. The new target task assignment robot is then controlled to move toward the target robot according to the control parameters corresponding to the new target task assignment robot, until the coordinates of any of the new target task assignment robots coincide with the coordinates of the target robot.
[0046] Furthermore, to achieve the above objectives, the present invention also proposes a distributed dynamic task allocation device, the distributed dynamic task allocation device comprising:
[0047] The parameter determination module is used to determine the loss parameters corresponding to the several robots to be assigned tasks based on the coordinates of the target robot and the coordinates of several robots to be assigned tasks.
[0048] The task determination module is used to generate task allocation signals corresponding to the plurality of robots to be assigned tasks through the loss parameters and the fully distributed k-WTA network, and determine a preset number of target task allocation robots based on the task allocation signals.
[0049] The task control module is used to determine the control parameters corresponding to the target task allocation robot based on the coordinates of the target robot and the coordinates of the target task allocation robot.
[0050] The task allocation module is used to allocate tasks to the target task allocation robot using the control parameters.
[0051] Furthermore, to achieve the above objectives, the present invention also proposes a distributed dynamic task allocation device, the device comprising: a memory, a processor, and a distributed dynamic task allocation program stored in the memory and executable on the processor, the distributed dynamic task allocation program being configured to implement the steps of the distributed dynamic task allocation method as described above.
[0052] Furthermore, to achieve the above objectives, the present invention also proposes a storage medium storing a distributed dynamic task allocation program, which, when executed by a processor, implements the steps of the distributed dynamic task allocation method described above.
[0053] This invention discloses a distributed dynamic task allocation method. This method is applied to a multi-robot system comprising at least one target robot and several robots to be assigned tasks. The target robot and the robots to be assigned tasks are connected via a network to form a fully distributed k-WTA network. The method includes: determining loss parameters corresponding to the several robots to be assigned tasks based on the coordinates of the target robot, the coordinates of the several robots to be assigned tasks, and a preset loss function; inputting the loss parameters into the fully distributed k-WTA network, which outputs task allocation signals corresponding to the several robots to be assigned tasks; and, based on the task allocation signals, determining the task allocation from the several robots to be assigned tasks. The method involves: assigning a predetermined number of target task robots; determining control parameters for the target task robots based on their coordinates and the coordinates of the target robots; controlling the target mobile robots to move towards the target robot according to the control parameters, and updating the coordinates of the target robots and several task-to-be-assigned robots at a predetermined period; determining new target task robots based on the updated coordinates of the target robots and the coordinates of several task-to-be-assigned robots, and controlling the new target task robots to move towards the target robot according to the control parameters corresponding to the new target task robots, until the coordinates of any new target task robots coincide with the coordinates of the target robot. In this task assignment method, each task-to-be-assigned robot only needs to obtain the corresponding task assignment signal based on its own loss parameters, its own state information, the state information of adjacent robots in the communication topology, and the fully distributed k-WTA network to update its own state. Based on the task assignment signal, it determines a predetermined number of target task robots. Then, each target task robot can generate corresponding control parameters based on its own coordinates and the coordinates of the target robot and move towards the target robot based on these control parameters. Simultaneously, after updating the coordinates of the target robot and several robots awaiting task assignment according to a preset cycle, a new target task assignment robot is determined. Based on this, new control parameters are calculated to drive the new target task assignment robot to move towards the target robot. This process continues until the coordinates of any new target task assignment robot coincide with the coordinates of the target robot, at which point the task ends. Therefore, this invention does not require global information for all robots. It only needs to update the state of each robot based on its own loss parameters and a fully distributed k-WTA network to achieve task assignment. Thus, the failure of a single robot will not affect the operation of the entire multi-robot system. In other words, this invention improves the robustness and scalability of single-point-of-failure systems and provides a fully distributed task assignment method. Attached Figure Description
[0054] Figure 1 This is a schematic diagram of the structure of a distributed dynamic task allocation device for the hardware operating environment involved in the embodiments of the present invention;
[0055] Figure 2 This is a schematic diagram of the first process of the first embodiment of the distributed dynamic task allocation method of the present invention;
[0056] Figure 3 This is a schematic diagram of the communication topology of the first embodiment of the distributed dynamic task allocation method of the present invention;
[0057] Figure 4 This is a second flowchart illustrating the first embodiment of the distributed dynamic task allocation method of the present invention;
[0058] Figure 5 This is a flowchart illustrating the second embodiment of the distributed dynamic task allocation method of the present invention;
[0059] Figure 6 This is a structural block diagram of the first embodiment of the distributed dynamic task allocation device of the present invention.
[0060] The realization of the objective, functional features and advantages of the present invention will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation
[0061] It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
[0062] Reference Figure 1 , Figure 1 This is a schematic diagram of the distributed dynamic task allocation device structure of the hardware operating environment involved in the embodiments of the present invention.
[0063] like Figure 1 As shown, the distributed dynamic task allocation device may include: a processor 1001, such as a central processing unit (CPU), a communication bus 1002, a user interface 1003, a network interface 1004, and a memory 1005. The communication bus 1002 is used to enable communication between these components. The user interface 1003 may include a display screen or an input unit such as a keyboard; optionally, the user interface 1003 may also include a standard wired interface or a wireless interface. The network interface 1004 may optionally include a standard wired interface or a wireless interface (such as a Wireless-Fidelity (Wi-Fi) interface). The memory 1005 may be high-speed random access memory (RAM) or stable non-volatile memory (NVM), such as a disk drive. The memory 1005 may also optionally be a storage device independent of the aforementioned processor 1001.
[0064] Those skilled in the art will understand that Figure 1 The structure shown does not constitute a limitation on the distributed dynamic task allocation device and may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0065] like Figure 1 As shown, the memory 1005, which serves as a storage medium, may include an operating system, a data storage module, a network communication module, a user interface module, and a distributed dynamic task allocation program.
[0066] exist Figure 1 In the distributed dynamic task allocation device shown, the network interface 1004 is mainly used for data communication with the network server; the user interface 1003 is mainly used for data interaction with the user; the processor 1001 and the memory 1005 in the distributed dynamic task allocation device of the present invention can be set in the distributed dynamic task allocation device, and the distributed dynamic task allocation device calls the distributed dynamic task allocation program stored in the memory 1005 through the processor 1001 and executes the distributed dynamic task allocation method provided in the embodiment of the present invention.
[0067] This invention provides a distributed dynamic task allocation method, referring to... Figure 2 , Figure 2 This is a flowchart illustrating the first embodiment of the distributed dynamic task allocation method of the present invention.
[0068] In this embodiment, the method is applied to a multi-robot system comprising at least one target robot and several task-to-task robots. The target robot and the several task-to-task robots are connected via a network to form a fully distributed k-WTA network. The distributed dynamic task allocation method includes the following steps:
[0069] Step S10: Determine the loss parameters corresponding to the several robots to be assigned tasks based on the coordinates of the target robot and the coordinates of several robots to be assigned tasks;
[0070] It should be noted that the executing entity of the method in this embodiment can be a computing service device with task allocation, data processing, network communication, and program execution functions, such as a tablet computer or personal computer, or other electronic devices capable of performing the same or similar functions. Here, the distributed dynamic task allocation method provided in this embodiment and the following embodiments will be specifically described using the aforementioned distributed dynamic task allocation device (hereinafter referred to as the task allocation device).
[0071] It should be understood that the target robot mentioned above can be a robot located at the target movement position of the aforementioned number of task-assigning robots (or a robot being tracked by the aforementioned number of task-assigning robots). The number of target robots can be one or more, and this embodiment does not limit the specific number. The aforementioned loss parameter can be the input parameter of the fully distributed k-WTA network in this embodiment, used to input it into the fully distributed k-WTA network and determine whether each task-assigning robot should move based on the output result of the fully distributed k-WTA network.
[0072] It should be noted that the aforementioned fully distributed k-WTA network can be composed of the target robot and several robots to be assigned tasks. That is, each robot in the fully distributed k-WTA network is equivalent to a node in the network. A conventional fully distributed k-WTA network can be used to select the k largest values in a dataset. However, in this embodiment, to achieve better tracking performance, the input parameters of the aforementioned fully distributed k-WTA network can be designed to be negatively correlated with distance. This transforms the function of the fully distributed k-WTA network from finding the k largest values to finding the k smallest values. This distance-negatively correlated parameter is the aforementioned loss parameter.
[0073] Specifically, step S10 in this embodiment may include:
[0074] Step S101: Determine the loss parameters corresponding to the target robot, the coordinates of several robots to be assigned tasks, and a preset loss function based on the coordinates of the target robot, the coordinates of several robots to be assigned tasks, and a preset loss function;
[0075] The preset loss function is:
[0076]
[0077] In the formula, v i p represents the loss parameters corresponding to the plurality of robots to be assigned tasks. i p represents the coordinates corresponding to the plurality of robots to be assigned tasks. t The coordinates of the target robot are given.
[0078] It is important to understand that the value of i above can be [1, n], where n is the total number of robots to be assigned tasks. Furthermore, mathematically, this loss parameter v... i It can represent the opposite of half the distance from any robot to be assigned a task to the target robot.
[0079] Step S20: Generate task allocation signals corresponding to the plurality of robots to be assigned tasks using the loss parameters and the fully distributed k-WTA network, and determine a preset number of target task allocation robots based on the task allocation signals;
[0080] It is understood that the aforementioned loss parameters can be the input parameters of the fully distributed k-WTA network. Furthermore, as one possible implementation, in this embodiment, step S20 may include:
[0081] Step S201: Input the loss parameters into the fully distributed k-WTA network, and the fully distributed k-WTA network outputs the task allocation signals corresponding to the plurality of robots to be assigned tasks;
[0082] Step S202: Based on the task allocation signal, determine a preset number of target task allocation robots from the plurality of task-to-be-assigned robots;
[0083] The fully distributed k-WTA network is as follows:
[0084]
[0085] In the formula, ε is the first parameter, α is the second parameter, and λ is the third parameter. i q is the third parameter. i P is the fourth parameter, k is the fifth parameter, and P is the fourth parameter. Ω (.) represents the preset projection function, L represents the preset Laplacian matrix, n represents the total number of the plurality of robots to be assigned tasks, and z i For the task allocation signals corresponding to the plurality of robots to be assigned tasks, v i The loss parameters are the parameters corresponding to the several robots to be assigned tasks.
[0086] It should be noted that each task-assigning robot in the aforementioned fully distributed k-WTA network exhibits v i , λ i ∈R n and q i ∈R n The three variables, namely the three variables (v) described by the fully distributed k-WTA network above, represent the relationships between the robots to be assigned tasks. i , λ i and q i The information interaction relationship. Furthermore, ε>0∈R, α>0∈R, and k can all be parameters given by the task allocation device, where k represents the k robots closest to the target among the several task-to-be-assigned robots that can be selected as the target task-assigning robots to perform the target tracking task; k is the preset number. The task allocation signal z... i The activation signal z output by the aforementioned fully distributed k-WTA network i , z i =1 indicates that the i-th robot is activated, z i=0 indicates that the i-th robot remains stationary. Furthermore, as the above analysis shows, λ i and q i These are all auxiliary variables within the robot models to be assigned tasks, and their goal is to obtain the task assignment signal z. i .
[0087] It is understandable that the above P Ω (.) represents the preset projection function, whose formula is:
[0088]
[0089] It should be noted that, assuming a graph G with n vertices, D is the degree matrix of graph G, and A is the adjacency matrix of graph G, then the Laplacian matrix of graph G is: L = (l ij ) n×m =DA, In this example, the aforementioned preset Laplace matrix L can be the Laplace matrix of the communication topology corresponding to the fully distributed k-WTA network. Each element l in this preset Laplace matrix... ij The value can be divided into three cases:
[0090] 1) If i = j, l ij =deg(g i ), deg(g i () represents the degree of the vertex;
[0091] 2) If i ≠ j, but vertex g i and vertex g j Adjacent, then l ij =1;
[0092] 3) In other cases, then l ij =0.
[0093] For ease of understanding, Figure 3 Let's take an example to illustrate this. Figure 3 This is a schematic diagram of the communication topology in the first embodiment of the distributed dynamic task allocation method of the present invention, as shown below. Figure 3 As shown, assuming there are 6 robots in a fully distributed k-WTA network tracking the target robot, then... Figure 3 There are 6 vertices, and in this communication topology diagram, vertices 1 and 6 have a degree of 1, while vertices 2-5 each have a degree of 2. Therefore... Figure 3 The corresponding preset Laplace matrix is:
[0094]
[0095] Therefore, the formula for the fully distributed k-WTA network described above can also be:
[0096]
[0097] In the formula, j∈N(i) represents other robots to be assigned tasks in the fully distributed k-WTA network, and N(i) represents the set of adjacent robots in the communication topology of each robot to be assigned tasks.
[0098] It is understood that in this embodiment, i can be used as the corresponding number of each robot to be assigned a task, and j can be used as the corresponding number of the adjacent robot in the communication topology of each robot to be assigned a task i.
[0099] It is important to understand that, as can be seen from the fully distributed k-WTA network described above, each robot λ to be assigned a task i and q i Only by utilizing the λ of adjacent robots in the communication topology j and q j It can then update, thereby updating its own activation signal (or task allocation signal). i Simultaneously, each robot i awaiting task assignment needs to establish communication with neighboring robots in order to obtain the corresponding λ. j and q j If there is no direct communication connection between each task-assigning robot i and its neighboring robots, then each task-assigning robot i cannot obtain the λ of its neighboring robots. j and q j The value of λ is such that the aforementioned preset Laplace matrix L essentially describes the communication topology between the robots to be assigned tasks in a multi-robot system. Therefore, in practical applications, each robot i to be assigned tasks only needs to know its own state information λ. i and q i The state information λ of adjacent robot j in its communication topology. j and q j It can then obtain (or update) its own activation signal z i And according to the activation signal z i To determine whether it needs to perform target tracking, this embodiment of the multi-robot system does not require a central node to calculate the state of each robot. Therefore, the failure of a single robot does not affect the operation of the multi-robot system. It is understood that newly added robots can also join the aforementioned fully distributed k-WTA network for task allocation by exchanging information with neighboring robots.
[0100] Step S30: Determine the control parameters corresponding to the target task allocation robot based on the coordinates of the target robot and the coordinates of the target task allocation robot;
[0101] Step S40: Assign tasks to the target task robot according to the control parameters.
[0102] It should be noted that when based on the task allocation signal z i After determining the k target task allocation robots closest to the target robot among the aforementioned number of task allocation robots (i.e., the activation signal mentioned above), this embodiment can generate corresponding control input signals or speed signals based on the coordinates of the target robot and the target task allocation robots to control each target task allocation robot to move towards the target robot. These control input signals or speed signals are the aforementioned control parameters. Therefore, further, step S40 in this embodiment includes:
[0103] Step S401: Control the target mobile robot to move towards the target robot according to the control parameters, and update the coordinates of the target robot and the coordinates of the plurality of robots to be assigned tasks according to a preset period;
[0104] Step S402: Determine a new target task assignment robot based on the updated target robot's coordinates and the coordinates of the plurality of task-to-be-assigned robots, and control the new target task assignment robot to move toward the target robot according to the control parameters corresponding to the new target task assignment robot, until the coordinates of any of the new target task assignment robots coincide with the coordinates of the target robot.
[0105] It should be noted that, in specific microprocessor implementations, the continuous model of any control system... We can always write it as x(k+1) = x(k) + T*f(x). Here, T represents the data update period or sampling interval. After setting T, the state of x(k) can be updated every T according to the formula x(k+1) = x(k) + T*f(x). In this embodiment, the fully distributed k-WTA network can also have a corresponding discrete update formula; that is, in this embodiment, the update period or sampling interval T can be set through the task allocation device. s It's important to understand that the robot's state for each target task is not fixed, but rather changes each time during the sampling period T. s When an update occurs, the k closest robots to the target robot are selected as the new target task assignment robots based on the target robot's real-time coordinates. In practical applications, at any sampling period T... s Upon arrival, each robot awaiting task assignment can obtain the coordinates p of the new target robot through sensors. t and its corresponding coordinate p k And use the communication network to obtain the λ of adjacent robots in the communication topology. j and q j Then, it calculates and updates its new z according to the formula in the fully distributed k-WTA network. i , λi and q i Thus, the signal z is assigned according to the new task. i Determine a new preset number of target task assignment robots (i.e., the k closest to the target robot), and calculate new control parameters to drive the new target task assignment robots to move towards the target robot. Continue this process until the coordinates of any new target task assignment robot coincide with the coordinates of the target robot, at which point the task ends.
[0106] In the specific implementation, for ease of understanding, we will use... Figure 4 Let's take an example to illustrate this. Figure 4 This is a schematic diagram of the second process of the first embodiment of the distributed dynamic task allocation method of the present invention, as shown below. Figure 4 As shown, in a multi-robot system, several robots awaiting task assignment receive configuration parameters (such as ε, α, k, and T) from the task assignment device. s After that, each robot awaiting task assignment can be controlled to move towards the target robot via a fully distributed k-WTA network. Specifically, each robot awaiting task assignment first moves based on its own coordinates p... i and target robot coordinates p t Generate its own loss parameter v i Then, its own loss parameter v i Input a fully distributed k-WTA network. The fully distributed k-WTA network can determine the task assignment based on the state information (λ) of each robot to be assigned a task. i and q i ) and the state information (λ) of neighboring robots in their communication topology j and q j Generate activation signals z for each robot to be assigned a task. i , where z i =1 indicates that the i-th robot is activated, z i =0 indicates that the i-th robot remains stationary, based on this activation signal z. i This allows us to identify the k robots closest to the target robot among all the robots to be assigned tasks, and then generate control parameters for these target robots to move towards the target robot. Simultaneously, in a multi-robot system, each robot to be assigned a task can move according to a preset period T. s Update the target robot's coordinates p t And by utilizing the communication network, the λ of adjacent robots in the communication topology can be obtained again. j and q j Then, it calculates its new z according to the update formula in the fully distributed k-WTA network. i , λ i and q iTherefore, based on the new task allocation signal z i A new, preset number of target task assignment robots are determined, and new control parameters are calculated to drive these new target task assignment robots to move towards the target robot. This process continues until the coordinates of any new target task assignment robot coincide with the coordinates of the target robot, at which point the task ends. Therefore, in this embodiment, the multi-robot system does not require a central node to calculate the state of each robot, and the failure of a single robot does not affect the operation of the multi-robot system.
[0107] This embodiment discloses a distributed dynamic task allocation method. This method is applied to a multi-robot system comprising at least one target robot and several robots to be assigned tasks. The target robot and the robots to be assigned tasks are connected via a network to form a fully distributed k-WTA network. The method includes: determining loss parameters corresponding to the several robots to be assigned tasks based on the coordinates of the target robot, the coordinates of the several robots to be assigned tasks, and a preset loss function; inputting the loss parameters into the fully distributed k-WTA network, which outputs task allocation signals corresponding to the several robots to be assigned tasks; and, based on the task allocation signals, determining the appropriate task allocation from the several robots to be assigned tasks. A predetermined number of target task allocation robots are selected. Control parameters corresponding to the target task allocation robots are determined based on their coordinates. Target mobile robots are controlled to move towards the target robot according to the control parameters, and the coordinates of the target robot and several task-to-be-assigned robots are updated according to a predetermined period. New target task allocation robots are determined based on the updated target robot coordinates and the coordinates of several task-to-be-assigned robots, and the new target task allocation robots are controlled to move towards the target robot according to their corresponding control parameters, until the coordinates of any new target task allocation robot coincide with the coordinates of the target robot. In the task allocation method proposed in this embodiment, each task-to-be-assigned robot only needs to obtain the corresponding task allocation signal based on its own loss parameters, its own state information, the state information of adjacent robots in the communication topology, and the fully distributed k-WTA network to update its own state. Based on the task allocation signal, a predetermined number of target task allocation robots are determined. Then, each target task allocation robot can generate corresponding control parameters based on its own coordinates and the target robot coordinates and move towards the target robot based on these control parameters. Simultaneously, after updating the coordinates of the target robot and several robots awaiting task assignment according to a preset cycle, a new target task assignment robot is determined. Based on this, new control parameters are calculated to drive the new target task assignment robot to move towards the target robot. This process continues until the coordinates of any new target task assignment robot coincide with the coordinates of the target robot, at which point the task ends. Therefore, this embodiment does not require global information for all robots. It only needs to update the state of each robot based on its own loss parameters and a fully distributed k-WTA network to achieve task assignment. Thus, the failure of a single robot will not affect the operation of the entire multi-robot system. In other words, this embodiment improves the robustness and scalability of single-point failures and provides a fully distributed task assignment method.
[0108] Reference Figure 5 , Figure 5 This is a flowchart illustrating the second embodiment of the distributed dynamic task allocation method of the present invention, based on the above. Figure 2 The illustrated embodiment presents a second embodiment of the distributed dynamic task allocation method of the present invention.
[0109] Understandably, in order to improve the motion control accuracy and response speed of the robots assigned to each target task, in this embodiment, the control input signals (or speed signals of the robots assigned to each target task) can be generated based on the position feedback signal and the speed feedforward signal, i.e., the control parameters mentioned above.
[0110] Furthermore, as one possible implementation method, in this embodiment, step S30 specifically includes:
[0111] Step S301: Determine the velocity feedforward parameters using the coordinates of the target robot;
[0112] It should be noted that, in this embodiment, the velocity feedforward parameter can be based on the target robot's coordinates p. t The generated speed signal
[0113] Step S302: Determine the position feedback parameters corresponding to the target task allocation robot based on the coordinates of the target robot and the coordinates of the target task allocation robot;
[0114] It should be understood that, due to the nonlinear forces associated with the robot's linkage motion, the accuracy of controlling the robot's movement can easily decrease rapidly as the robot's speed increases. Therefore, in order to achieve high-precision control of the robot for each target task, this embodiment can determine the position feedback parameters of the robot for each target task through a nonlinear function.
[0115] Furthermore, in this embodiment, step S302 may include:
[0116] Step S3021: Determine the target nonlinear function corresponding to the target task allocation robot based on the coordinates of the target robot and the coordinates of the target task allocation robot;
[0117] It should be noted that, since nonlinear activation functions can improve the performance of neural networks, this embodiment can utilize the nonlinear effect of the signified double power activation function to achieve the desired error convergence of the feedback information of each robot's position. Therefore, this embodiment can determine the target signified double power activation function corresponding to each target task allocation robot based on the coordinates of the target robot and the coordinates of the target task allocation robot. The target signified double power activation function is as follows:
[0118]
[0119] After determining the target symbol double power activation function, the target nonlinear function corresponding to the robot assigned to each target task can be determined.
[0120] φ(p g -p t ) = sgn r (p g -p t )+sgn 1 / r (p g -p t );
[0121] In the formula, r is a preset power parameter, p g Assign robot coordinates to the target task, p t The coordinates of the target robot are given.
[0122] It should be understood that the aforementioned preset power parameter r can be input to each target task allocation robot through the aforementioned task allocation device.
[0123] Step S3022: Determine the position feedback parameters corresponding to the target task allocation robot using the target nonlinear function and the preset position feedback formula;
[0124] The preset position feedback formula is as follows:
[0125] S=cφ(p g -p t );
[0126] In the formula, S is the position feedback parameter, c is the preset error feedback gain parameter, and φ(p g -p t ) is the target nonlinear function, p g Assign robot coordinates to the target task, p t The coordinates of the target robot are given.
[0127] It should be understood that the aforementioned preset error feedback gain parameter c can also be input to each target task allocation robot through the aforementioned task allocation device.
[0128] Step S303: Determine the control parameters corresponding to the target task allocation robot using the speed feedback parameters and the position feedback parameters;
[0129] The formula for determining the control parameters corresponding to the robot assigned to the target task is as follows:
[0130]
[0131] In the formula, U g Assign control parameters corresponding to the robot to the target task, F r (.) represents the preset saturation function, z gAssign a task allocation signal corresponding to the robot to the target task, where S is the position feedback parameter. The velocity feedforward parameter is the parameter mentioned above.
[0132] It should be noted that the value of g above can be [1, k], where k is the total number of robots assigned to the target task, and the parameter z corresponding to each target task assigned to the robot is... g The z-parameters corresponding to the robots to be assigned tasks mentioned above i There is no difference; the only distinction in this embodiment is the use of different parameter symbols (the same applies to other state parameters). Furthermore, the aforementioned preset saturation function can be used to limit the upper and lower speed limits of the robot assigned to each target task, simulating situations where movement speed is limited in real-world applications. The formula for this preset saturation function is:
[0133]
[0134] In the formula, It is the lower speed limit input through the task allocation device. It can be said to be the upper limit of the input speed of the task allocation device. Assign the robot a speed corresponding to the target task. The aforementioned preset saturation function can assign the robot speed to each target task. Controlled Within this embodiment, the speed of the robot assigned to each target task is specified. Therefore, this embodiment can be based on the above-mentioned control parameter U. g Control each target task to assign robots to move precisely towards the target robot.
[0135] It is important to understand that, as can be seen from the formulas for the control parameters and the fully distributed k-WTA network, each target task assigned to the robot is in order to calculate its own activation signal z. g and control parameter U g Besides its own z, it also needs g v g , λ g and q g In addition, only the λ of the adjacent robots in the communication topology needs to be known. j and q j However, it is not necessary to know the λ of all robots. i and q i Therefore, the control model in this embodiment is distributed, and the robot can assign each target task according to z. g Calculate the control input signal (i.e., the control parameter U mentioned above). g ), thereby based on the control signal U g Control the robot assigned to the target task to move towards the target robot.
[0136] In the specific implementation, each robot to be assigned a task is based on the task assignment signal z. i Once it has determined that it is the robot assigned to the target task, it can then determine the coordinates p of the current target robot. t Obtaining velocity feedforward parameters And based on its own coordinates p g and the coordinates p of the current target robot t Determine the target symbol's double power activation function sgn. r (p g -p t Then, based on the target symbol double power activation function sgn r (p g -p t Determine the corresponding target nonlinear function φ(p) g -p t Then, based on the determined target nonlinear function φ(p) g -p t ) and the preset position feedback formula S=cφ(p g -p t Generate the corresponding position feedback parameter S. Finally, based on the determined velocity feedforward parameter p... . t The position feedback parameter S is used to calculate the corresponding control parameter U. g And according to U g It controls itself to move towards the target robot. Understandably, each robot assigned a task can do so according to a preset period T. s Update the target robot's coordinates p t And use the communication network to obtain the λ of adjacent robots in the communication topology. j and q j Then, it calculates its new z according to the update formula in the fully distributed k-WTA network. i , λ i and q i This determines a new preset number (i.e., the k closest to the target robot) of target task-assigned robots, and calculates the new control parameters U accordingly. k The new target task assignment robot is driven to move towards the target robot. This process continues until the coordinates of any new target task assignment robot coincide with the coordinates of the target robot, at which point the task ends.
[0137] This embodiment determines the velocity feedforward parameters based on the target robot's coordinates; it determines the target symbolic double power activation function corresponding to the target task allocation robot based on the target robot's coordinates and the target task allocation robot's coordinates; it determines the target nonlinear function corresponding to the target task allocation robot based on the target symbolic double power activation function; it determines the position feedback parameters corresponding to the target task allocation robot through the target nonlinear function and a preset position feedback formula; and it determines the control parameters corresponding to the target task allocation robot through the velocity feedback parameters and the position feedback parameters. In other words, this embodiment can achieve error convergence of the desired position feedback information of each target task allocation robot based on the target symbolic double power activation function, and improve the control accuracy and response speed of each target task allocation robot by determining the control input signal through the position feedback parameters and velocity feedforward parameters, thereby achieving a balance between data computation efficiency, control tracking accuracy, and energy consumption in a multi-robot system.
[0138] Furthermore, this embodiment of the invention also proposes a storage medium storing a distributed dynamic task allocation program, which, when executed by a processor, implements the steps of the distributed dynamic task allocation method described above.
[0139] refer to Figure 6 , Figure 6 This is a structural block diagram of the first embodiment of the distributed dynamic task allocation device of the present invention.
[0140] like Figure 6 As shown, the distributed dynamic task allocation device proposed in this embodiment of the invention includes:
[0141] The parameter determination module 601 is used to determine the loss parameters corresponding to the plurality of task-to-be-assigned robots based on the coordinates of the target robot and the coordinates of the plurality of task-to-be-assigned robots.
[0142] The task determination module 602 is used to generate task allocation signals corresponding to the plurality of robots to be assigned tasks through the loss parameters and the fully distributed k-WTA network, and to determine a preset number of target task allocation robots based on the task allocation signals.
[0143] The task control module 603 is used to determine the control parameters corresponding to the target task allocation robot based on the coordinates of the target robot and the coordinates of the target task allocation robot.
[0144] The task allocation module 604 is used to allocate tasks to the target task allocation robot through the control parameters.
[0145] The parameter determination module 601 is also used to determine the loss parameters corresponding to the several task robots to be assigned based on the coordinates of the target robot, the coordinates of several task robots to be assigned, and a preset loss function.
[0146] The task determination module 602 is further configured to input the loss parameters into the fully distributed k-WTA network, and the fully distributed k-WTA network outputs the task allocation signals corresponding to the plurality of robots to be assigned tasks.
[0147] The task determination module 602 is further configured to determine a preset number of target task allocation robots from the plurality of task-to-be-assigned robots based on the task allocation signal.
[0148] The task allocation module 604 is also used to control the target mobile robot to move towards the target robot according to the control parameters, and to update the coordinates of the target robot and the coordinates of the plurality of task robots to be allocated according to a preset period.
[0149] The task allocation module 604 is further configured to determine a new target task allocation robot based on the updated target robot coordinates and the coordinates of the plurality of task-to-be-assigned robots, and control the new target task allocation robot to move toward the target robot according to the control parameters corresponding to the new target task allocation robot, until the coordinates of any of the new target task allocation robots coincide with the coordinates of the target robot.
[0150] This embodiment determines the loss parameters corresponding to several task-to-be-assigned robots based on the coordinates of the target robot, the coordinates of several task-to-be-assigned robots, and a preset loss function; inputs the loss parameters into a fully distributed k-WTA network, which outputs task allocation signals corresponding to the several task-to-be-assigned robots; based on the task allocation signals, a preset number of target task-assigned robots are determined from the several task-to-be-assigned robots; control parameters corresponding to the target task-assigned robots are determined based on the coordinates of the target robot and the coordinates of the target task-assigned robots; the target mobile robot is controlled to move toward the target robot according to the control parameters, and the coordinates of the target robot and the several task-to-be-assigned robots are updated according to a preset period; a new target task-assigned robot is determined based on the updated coordinates of the target robot and the coordinates of the several task-to-be-assigned robots, and the new target task-assigned robot is controlled to move toward the target robot according to the control parameters corresponding to the new target task-assigned robot, until the coordinates of any new target task-assigned robot coincide with the coordinates of the target robot. In this embodiment, each robot awaiting task assignment only needs to obtain the corresponding task assignment signal based on its own loss parameters, its own state information, the state information of adjacent robots in the communication topology, and the fully distributed k-WTA network to update its own state. Based on the task assignment signal, a preset number of target task assignment robots are determined. Then, each target task assignment robot generates corresponding control parameters based on its own coordinates and the target robot's coordinates and moves towards the target robot based on these control parameters. Simultaneously, after updating the coordinates of the target robots and several robots awaiting task assignment at a preset period, a new target task assignment robot is determined, and new control parameters are calculated to drive the new target task assignment robot to move towards the target robot. This process continues until the coordinates of any new target task assignment robot coincide with the coordinates of the target robot, at which point the task ends. Therefore, this embodiment does not require global information for all robots; it only needs to update the state of each robot based on its own loss parameters and the fully distributed k-WTA network in the multi-robot system to achieve task assignment. Thus, the failure of a single robot will not affect the operation of the entire multi-robot system, meaning this embodiment improves the robustness and scalability of single-point-of-failure systems.
[0151] Based on the first embodiment of the distributed dynamic task allocation device of the present invention described above, a second embodiment of the distributed dynamic task allocation device of the present invention is proposed.
[0152] In this embodiment, the task control module 603 is further configured to determine the velocity feedforward parameters based on the coordinates of the target robot;
[0153] The task control module 603 is further configured to determine the position feedback parameters corresponding to the target task allocation robot based on the coordinates of the target robot and the coordinates of the target task allocation robot.
[0154] Furthermore, the task control module 603 is also used to determine the target nonlinear function corresponding to the target task allocation robot based on the coordinates of the target robot and the coordinates of the target task allocation robot;
[0155] Furthermore, the task control module 603 is also used to determine the target symbolic double power activation function corresponding to the target task allocation robot based on the coordinates of the target robot and the coordinates of the target task allocation robot;
[0156] Furthermore, the task control module 603 is also used to determine the target nonlinear function corresponding to the target task allocation robot based on the target symbol double power activation function;
[0157] The task control module 603 is also used to determine the position feedback parameters corresponding to the target task allocation robot through the target nonlinear function and the preset position feedback formula;
[0158] The task control module 603 is also used to determine the control parameters corresponding to the target task allocation robot through the speed feedback parameters and the position feedback parameters;
[0159] This embodiment determines the velocity feedforward parameters based on the target robot's coordinates; it determines the target symbolic double power activation function corresponding to the target task allocation robot based on the target robot's coordinates and the target task allocation robot's coordinates; it determines the target nonlinear function corresponding to the target task allocation robot based on the target symbolic double power activation function; it determines the position feedback parameters corresponding to the target task allocation robot through the target nonlinear function and a preset position feedback formula; and it determines the control parameters corresponding to the target task allocation robot through the velocity feedback parameters and the position feedback parameters. In other words, this embodiment can achieve error convergence of the desired position feedback information of each target task allocation robot based on the target symbolic double power activation function, and improve the control accuracy and response speed of each target task allocation robot by determining the control input signal through the position feedback parameters and velocity feedforward parameters, thereby achieving a balance between data computation efficiency, control tracking accuracy, and energy consumption in a multi-robot system.
[0160] Other embodiments or specific implementations of the distributed dynamic task allocation device of the present invention can be referred to the above-described method embodiments, and will not be repeated here.
[0161] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or system. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or system that includes that element.
[0162] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0163] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) as described above, and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of the present invention.
[0164] The above are merely preferred embodiments of the present invention and do not limit the patent scope of the present invention. Any equivalent structural or procedural transformations made based on the content of the present invention's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of the present invention.
Claims
1. A distributed dynamic task allocation method, characterized in that, The method is applied to a multi-robot system comprising at least one target robot and several robots to be assigned tasks. The target robot and the several robots to be assigned tasks are connected via a network to form a fully distributed k-WTA network. The distributed dynamic task assignment method includes: The loss parameters corresponding to the target robot and the coordinates of several robots to be assigned tasks are determined based on the coordinates of the target robot and the coordinates of several robots to be assigned tasks. The loss parameters and the fully distributed k-WTA network are used to generate task allocation signals corresponding to the plurality of robots to be assigned tasks, and a preset number of target task allocation robots are determined based on the task allocation signals. The control parameters corresponding to the target task allocation robot are determined based on the coordinates of the target robot and the coordinates of the target task allocation robot. The target task allocation robot is assigned a task according to the control parameters.
2. The distributed dynamic task allocation method as described in claim 1, characterized in that, The step of generating task allocation signals corresponding to the plurality of robots to be assigned tasks using the loss parameters and the fully distributed k-WTA network, and determining a preset number of target task allocation robots based on the task allocation signals, includes: The loss parameters are input into the fully distributed k-WTA network, and the fully distributed k-WTA network outputs the task allocation signals corresponding to the plurality of robots to be assigned tasks. Based on the task allocation signal, a preset number of target task allocation robots are determined from the plurality of task-to-be-assigned robots; The fully distributed k-WTA network is as follows: In the formula, As the first parameter, For the second parameter, As the third parameter, The fourth parameter, For the preset projection function, Let n be the preset Laplace matrix, and n be the total number of the robots to be assigned tasks. Assign task signals to the plurality of robots to be assigned tasks. Here, k represents the loss parameter corresponding to the plurality of robots to be assigned tasks, and k is the preset number.
3. The distributed dynamic task allocation method as described in claim 2, characterized in that, The step of determining the loss parameters corresponding to the plurality of robots to be assigned tasks based on the coordinates of the target robot and the coordinates of the plurality of robots to be assigned tasks includes: The loss parameters corresponding to the target robot and several robots to be assigned tasks are determined based on the coordinates of the target robot, the coordinates of several robots to be assigned tasks, and a preset loss function. The preset loss function is: In the formula, The loss parameters are the parameters corresponding to the several robots to be assigned tasks. The coordinates of the plurality of robots to be assigned tasks. The coordinates of the target robot are given.
4. The distributed dynamic task allocation method as described in claim 1, characterized in that, The step of determining the control parameters corresponding to the target task allocation robot based on the coordinates of the target robot and the coordinates of the target task allocation robot includes: The velocity feedforward parameters are determined by the coordinates of the target robot; The position feedback parameters corresponding to the target task allocation robot are determined based on the coordinates of the target robot and the coordinates of the target task allocation robot. The control parameters corresponding to the target task allocation robot are determined by the velocity feedforward parameters and the position feedback parameters. The formula for determining the control parameters corresponding to the robot assigned to the target task is as follows: In the formula, Assign control parameters to the robot corresponding to the target task. For the preset saturation function, Assign a task allocation signal corresponding to the robot to the target task, where S is the position feedback parameter. The velocity feedforward parameter is the parameter mentioned above.
5. The distributed dynamic task allocation method as described in claim 1, characterized in that, The step of determining the position feedback parameters corresponding to the target task allocation robot based on the coordinates of the target robot and the coordinates of the target task allocation robot includes: The target nonlinear function corresponding to the target task allocation robot is determined based on the coordinates of the target robot and the coordinates of the target task allocation robot. The position feedback parameters corresponding to the target task allocation robot are determined by the target nonlinear function and the preset position feedback formula. The preset position feedback formula is as follows: In the formula, The position feedback parameter, To preset the error feedback gain parameters, The target nonlinear function is... Assign robot coordinates to the target task. The coordinates of the target robot are given.
6. The distributed dynamic task allocation method as described in claim 5, characterized in that, The step of determining the target nonlinear function corresponding to the target task allocation robot based on the coordinates of the target robot and the coordinates of the target task allocation robot includes: Based on the coordinates of the target robot and the coordinates of the target task allocation robot, determine the target symbolic double power activation function corresponding to the target task allocation robot; The target nonlinear function corresponding to the target task allocation robot is determined based on the target symbol double power activation function. The target symbol double power activation function is: The formula for the target nonlinear function is: In the formula, For preset exponentiation parameters, Assign robot coordinates to the target task. The coordinates of the target robot are given.
7. The distributed dynamic task allocation method as described in claim 6, characterized in that, The step of assigning tasks to the target task allocation robot according to the control parameters includes: The target task allocation robot is controlled to move toward the target robot according to the control parameters, and the coordinates of the target robot and the coordinates of the plurality of task-to-be-assigned robots are updated according to a preset period. A new target task assignment robot is determined based on the updated target robot's coordinates and the coordinates of the plurality of task-to-be-assigned robots. The new target task assignment robot is then controlled to move toward the target robot according to the control parameters corresponding to the new target task assignment robot, until the coordinates of any of the new target task assignment robots coincide with the coordinates of the target robot.
8. A distributed dynamic task allocation device, characterized in that, The distributed dynamic task allocation device includes: The parameter determination module is used to determine the loss parameters corresponding to the several robots to be assigned tasks based on the coordinates of the target robot and the coordinates of several robots to be assigned tasks. The task determination module is used to generate task allocation signals corresponding to the plurality of robots to be assigned tasks through the loss parameters and the fully distributed k-WTA network, and to determine a preset number of target task allocation robots based on the task allocation signals. The task control module is used to determine the control parameters corresponding to the target task allocation robot based on the coordinates of the target robot and the coordinates of the target task allocation robot. The task allocation module is used to allocate tasks to the target task allocation robot using the control parameters.
9. A distributed dynamic task allocation device, characterized in that, The device includes: a memory, a processor, and a distributed dynamic task allocation program stored in the memory and executable on the processor, the distributed dynamic task allocation program being configured to implement the steps of the distributed dynamic task allocation method as described in any one of claims 1 to 7.
10. A storage medium, characterized in that, The storage medium stores a distributed dynamic task allocation program, which, when executed by a processor, implements the steps of the distributed dynamic task allocation method as described in any one of claims 1 to 7.