Method for solving path conflict during cooperative work of multiple robots
By generating robot list information and dividing robot states in a multi-robot system, the computer robot waits in place to solve the problem of path conflict, solving the problem of path conflict in a multi-robot system, and improving collaborative work efficiency and system response capabilities.
Patent Information
- Application Number
- CN202510239260.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-03
- Publication Date
- 2025-03-28
- Estimated Expiration
- 2045-03-03
AI Technical Summary
In multi-robot systems, path conflict problems lead to task delays and hardware damage, and the prior art is difficult to solve this problem quickly and efficiently.
By generating robot list information on the server, dividing the robot state to idle and in the task, sorting and computing the set of conflict points for the robot in the task, the computer robot waits in place to resolve the path conflict.
It effectively avoids path conflicts, improves the efficiency of collaborative work of multiple robots, enhances the system's real-time response capabilities, and avoids incidents such as robot collisions.
Smart Images

Figure CN119721428A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of intelligent robot path planning, and in particular to a method for solving path conflicts when multiple robots work in collaboration. Background Art
[0002] In modern industrial applications, multi-robot systems have been widely used in warehousing, logistics, manufacturing and other fields. In these application scenarios, the collaborative work of multiple robots can effectively improve work efficiency. However, when multiple robots perform different tasks in a shared space, the path conflict problem becomes one of the key problems for the stable operation of the system. Path conflict may not only cause delays in robot tasks, but may even cause collisions and damage hardware. Therefore, how to quickly and efficiently solve the multi-robot path conflict problem has become a technical problem that needs to be solved urgently.
[0003] In a multi-robot system, the traditional single-robot path planning algorithm faces the problems of path overlap and resource competition. In order to avoid path overlap and ensure that the paths of each robot do not conflict during operation, this patent proposes a path conflict solution method when multiple robots work together. Summary of the invention
[0004] The present invention proposes a method for solving path conflicts when multiple robots work in collaboration, which can solve the technical problems in the background technology.
[0005] To achieve the above object, the present invention adopts the following technical solutions: A method for solving path conflicts when multiple robots work together, comprising: The actual scene coordinates are represented by s, and the time taken by the robot to reach the specified position is represented by t; the robot combines space and time information to generate List information and upload it to the server, the server will The server arranges and combines the robots in the task, and in each arrangement, multiple robots in the task are arranged in the same way. The repeated path points in the list are taken as conflict points and put into the conflict point set. The conflict scenario is obtained based on whether the starting points and end points of multiple robots are in the conflict point set. The waiting time of the robots in the task is calculated based on the conflict scenario, and the waiting time of the robots in the task is sent back to the robots to solve the path conflict problem.
[0006] Further, in the present invention, according to Methods for path planning based on list information include: The path quality measurement method is
[0007] In the formula, Indicates the cost of moving to the specified path, that is, the path distance between the current path point and the destination path point is the heuristic function, which represents the estimated cost. The heuristic function combines the spatial distance and time dimensions; The value indicates the quality of the path. The smaller the value, the better the path; = ; , represents the distance value taking into account the Euclidean distance, turning angle, average curvature, and moving speed. ,in is the estimated Euclidean distance from the current position to the end point, θ is the total estimated turning angle of the path, is the estimated mean curvature of the path, Indicates the robot's moving speed; Indicates that the angular velocity of the robot is taken into account , Line speed , waiting time The time values of these factors, namely = , is the angle of change of the robot's orientation before and after movement;
[0008] The robot starts from the starting point and first looks for adjacent points. The optimal adjacent point is determined based on the value; based on the optimal adjacent point, it expands outward and approaches the end point through a loop, and finally obtains the optimal path to the end point.
[0009] Furthermore, the robot in the present invention The list information is uploaded to the server, and the server senses whether there are conflict points by whether the path points are repeated. The server's algorithm is no longer dependent on the map, but abstracts the map information and does not rely on the real map information.
[0010] Furthermore, in the present invention, the server divides the robot into two states: idle and tasked. The robot that is not in the walking route of other robots and stays in place is an idle robot; The robot whose position changes or does not change but is within the walking route of other robots is an on-task robot.
[0011] Furthermore, in the present invention, the method for obtaining the conflict scene according to whether the starting points and end points of multiple robots are in the conflict point set is: Select two robots from the n robots and set them as robot R1 and robot R2, narrow the conflict scene to the two robots, and solve the conflict between robot R1 and robot R2 by traversal, so as to solve the path conflict between the n robots.
[0012] Furthermore, the algorithm for calculating the robot's waiting time in situ in the present invention is: Select two robots from n robots and set them as robot R1 and robot R2. The list information is intersected to obtain the set of conflicting path points of robot R1 and robot R2; Put the robot R1 The path points in the list information are compared with the conflict point set. If the path point is included in the conflict point set, the path point is added to the sequential list La of the robot R1 passing through the conflict points. From the list information, we know that the time required to reach the path point is Tp, and the actual time Tr=Tw+Tp of robot R1 to reach the path point, where Tw is the waiting time; The time Ta when robot R1 arrives at the conflict point is the arrival time of the first path point in the sequence list La, and the time Tl when robot R1 leaves the conflict point is the arrival time of the last path point in the sequence list La; the calculation method of the time when robot R2 arrives at the conflict point and leaves the conflict point is the same as that of robot R1; Determine the conflict scenario based on the positions of the starting point, end point and conflict point set of the robot R1 and the robot R2; According to the conflict scenario, it can be determined whether robots R1 and R2 can walk and the order in which they can walk; In the scenario where both robots R1 and R2 can walk, according to the order list La of robot R1 and robot R2 passing through the conflict points, it can be known whether the two robots are walking in the same direction; if robot R1 goes first, the waiting time of robot R2 when walking in the same direction is Tw=Ta1-Ta2, Ta1 is the arrival time of robot R1, and Ta2 is the arrival time of robot R2; when walking in different directions, the waiting time of robot R2 is Tw=Tl1-Ta2, Tl1 is the departure time of robot R1, and Ta2 is the arrival time of robot R2; if robot R2 goes first, the calculation method of robot R1's waiting time Tw is the same as above; When only one of the robot R1 and the robot R2 can walk, or both of them cannot walk, the waiting time Tw of the robot that cannot walk is infinite.
[0013] Furthermore, the execution flow of the robot's in-situ waiting time calculation algorithm in the present invention is: Starting from the first robot, it executes the waiting time calculation algorithm with each subsequent robot. After the first robot finishes executing, the second robot and each subsequent robot execute the waiting time calculation algorithm, and so on, until the second to last robot and the last robot finish executing, and a round is considered complete, and a total of n-1 rounds are executed; The number of executions per round by n robots is = + + +…+1= The total number of executions is .
[0014] On the other hand, the present invention further discloses a computer-readable storage medium storing a computer program, wherein when the computer program is executed by a processor, the processor executes the steps of the above method.
[0015] On the other hand, the present invention further discloses a computer device, including a memory and a processor, wherein the memory stores a computer program, and when the computer program is executed by the processor, the processor executes the steps of the above method.
[0016] It can be seen from the above technical solution that the present invention uses a coordinate system and a robot The list information divides multiple robots into idle robots and robots in tasks, sorts the robots in the task set, traverses the sorting situation to obtain conflict scenarios, obtains the robot's in-situ waiting time based on the conflict scenarios, and transmits the in-situ waiting time back to the robot in the task to avoid path conflict problems; compared with the traditional single robot inspection, the inspection efficiency is improved, and the problems of path overlap and resource competition faced in multi-robot inspection are avoided. The present invention only needs to add a new interface on the robot side, and the robot reorganizes the existing information and sends it to the scheduler, and then controls the movement according to the waiting time replied by the scheduler. The present invention does not require map reconstruction and reallocation of inspection points. By dynamically calculating the conflict path and adjusting the waiting time of the robot, the collaborative work between robots is realized, the real-time response capability of the system is enhanced, and the interference, collision and other events caused by the robot not moving as expected due to emergencies are avoided. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] Figure 1 This is a flow chart of a method for resolving conflicts in paths of multi-robot collaborative work according to the present invention; Figure 2 A schematic diagram of the robot sorting situation in the tasks of the present invention; Figure 3 This is a schematic diagram of conflict scenario 1 of the present invention; Figure 4 This is a schematic diagram of conflict scenario 2 of the present invention; Figure 5 This is a schematic diagram of conflict scenario 3 of the present invention; Figure 6 This is a schematic diagram of conflict scenario 4 of the present invention; Figure 7 This is a schematic diagram of conflict scenario 5 of the present invention; Figure 8 This is a schematic diagram of conflict scenario 6 of the present invention; Fig. 9 This is a schematic diagram of conflict scenario 7 of the present invention; Fig.10 This is a schematic diagram of conflict scenario 8 of the present invention; Fig.11 It is a schematic diagram of conflict scenario 9 of the present invention; Fig.12 A schematic diagram of a conflict scenario 10 of the present invention; Fig.13 It is a schematic diagram of the conflict scenario 11 of the present invention; Fig.14 It is a schematic diagram of the conflict scene 12 of the present invention; Fig.15 It is a schematic diagram of the conflict scenario 13 of the present invention; Fig.16 It is a schematic diagram of the conflict scene 14 of the present invention; Fig.17 It is a schematic diagram of the conflict scenario 15 of the present invention; Fig.18 It is a schematic diagram of the conflict scenario 16 of the present invention; Fig.19 Schematic diagram of coordinates of the test scene of the present invention. DETAILED DESCRIPTION
[0018] In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments.
[0019] like Figure 1 As shown, the method and device for solving path conflicts when multiple robots work together as described in this embodiment can solve the path conflict problem caused by the joint inspection of less than 10 inspection robots.
[0020] To achieve the above purpose, each robot acts as a TCP client and the path scheduler acts as a TCP server. The path conflict resolution method for multiple robots working together is as follows: S100, establish a coordinate system and robot path planning according to the application scenario; S200, the robot will The list information is uploaded to the scheduler; S300, scheduling program according to robot The list information divides the robots into idle sets and task sets; S400, the scheduling program sorts the robots in the task set, traverses the robot sorting to obtain the conflict scenario and calculates the waiting time in situ; S500, the scheduling program selects the optimal arrangement method and determines the final waiting time in place; S600: The scheduling program replies the conflict point set and the waiting time in situ to the corresponding robot according to the robot ID.
[0021] The following is a detailed description of each step: S100, establish a coordinate system and robot path planning according to the application scenario; After establishing the coordinate system according to the actual application scenario, the robot side: Each robot is based on the same coordinate system and has the same map. The map has path points marked, each path point has a unique number, and the path points are connected by routes. The distance between path points i and j .
[0022] The initial position of each robot cannot be repeated. After the robot receives the target path point, it uses a heuristic search algorithm and adds the time dimension. The path quality is measured as follows: .
[0023] In the formula, Indicates the cost of moving to the specified path, that is, the path distance between the current path point and the destination path point is the heuristic function, which represents the estimated cost. The heuristic function combines the spatial distance and time dimensions The value indicates the quality of the path. The smaller the value, the better the path; = ; , represents the distance value taking into account the Euclidean distance, turning angle, average curvature, and moving speed. ,in is the estimated Euclidean distance from the current position to the end point, θ is the total estimated turning angle of the path, is the estimated mean curvature of the path, Indicates the robot's moving speed; Indicates that the angular velocity of the robot is taken into account , Line speed , waiting time The time values of these factors, namely = , is the angle of change of the robot's orientation before and after movement; The robot starts from the starting point and first looks for adjacent points. The optimal adjacent point is determined by the size of the value. Then, based on this optimal adjacent point, it expands outwards, approaching the end point step by step, reducing blind searches and improving search efficiency.
[0024] After the server calculates the robot's waiting time and returns it to the robot, the heuristic function The value of changes, thus affecting The robot's path planning will change accordingly with the size of the object, thus achieving a continuous optimization effect.
[0025] After the path planning is completed, the robot obtains the ID of each target point and the time to reach that point.
[0026] S200, the robot will The list information is uploaded to the scheduler; After the robot is started, it immediately sends an information message to the scheduler. The content of the information message is the robot ID, real-time posture, current path point ID, and target point information list.
[0027] Among them, the robot ID is a unique identifier, and the dispatcher manages internal data and robot correspondence based on the robot ID as an index; The real-time pose is the x, y coordinates and the orientation angle in the coordinate system. In order to use this information for the user interface display, it is used as a field for system function expansion. The target point information includes the target point ID and the time it takes to reach the point. It is the core information that the path conflict resolution algorithm relies on. The scheduler abstracts the map information and does not rely on the real map information.
[0028] The structure data of the information message is: Robot ID: 1 (required) Real-time pose x: 10.265 (optional) Real-time pose y: 5.885 (optional) Real-time pose orientation: 0 (0~360°, optional) Current waypoint ID: 6 (required) Target information list: { Target waypoint ID: 7 (required) Time required to arrive: 10 (required) , Target waypoint ID: 8 (required) Time required to arrive: 4 (required) , Target waypoint ID: 9 (required) Time required to arrive: 13 (required) … } S300, scheduling program according to robot The list information divides the robots into idle sets and task sets; The scheduler is deployed as a TCP server on the central server. The server and each robot are in the same local area network, and there is smooth network access between each robot and the server.
[0029] After the dispatcher receives the robot's information message, it The list information divides the robots into task robots and idle robots and puts them into different sets. Task robots include robots that need to move and robots that are stationary but on the walking paths of other robots, which require path conflict resolution; idle robots include robots that are stationary and do not have path conflicts with other robots, which do not require processing.
[0030] S400, the scheduling program sorts the robots in the task set, traverses the robot sorting to obtain the conflict scenario and calculates the waiting time in situ; Sort the robots in the task set. Assuming the number of robots in the task set is n, then n! different arrangement orders can be obtained. Traverse each arrangement order.
[0031] like Figure 2 As shown, in each arrangement order, starting from the first robot, the waiting time is calculated with each subsequent robot. After the first robot is finished, the second robot and each subsequent robot will calculate the waiting time. This continues until the second to last robot and the last robot are finished, and a total of n-1 rounds are performed.
[0032] The number of executions per round by n robots is = + + +…+1= The total number of executions is .
[0033] After all waiting time calculations are completed, the longest time required for all robots in this arrangement to reach the destination is calculated as the time required for this arrangement, and the arrangement with the shortest time among all the arrangements is taken as the best scheduling method.
[0034] Among them, the robot waiting time calculation algorithm is: Assume that the first robot is R1 and the second robot is R2. Initialize the time Ta when robots R1 and R2 reach the conflict point and the time Tl when robots R2 leave the conflict point to 0.
[0035] By taking the intersection of the path point sets of robots R1 and R2, we can get the conflicting path point sets of R1 and R2, and put the conflicting path point sets into their respective conflict point sets.
[0036] Compare the path points in the path information list of robot R1 with the conflict point set. If the conflict point set contains the path point, add the path point to the sequential list La of the conflict points passed by robot R1. According to the path information list of robot R1, it can be known that the time required to reach the path point is Tp. The actual time Tr of robot R1 to reach the conflict point is Tw+Tp, where Tw is the waiting time.
[0037] If Ta is 0, then Ta=Tr; if Tr is less than Ta, then Ta=Tr; if Tr is greater than Tl, then Tl=Tr. So far, the actual time for robot R1 to reach and leave the conflict point can be obtained. The calculation method of the actual time for robot R2 to reach and leave the conflict point is the same as that of robot R1.
[0038] The positional relationship between the starting point, end point and conflict set of each robot can be divided into four situations, including: 1. The starting point and the end point are not in the conflict set; 2. The starting point is not in the conflict set, but the end point is; 3. The starting point is in the conflict set, but the end point is not; 4. Both the starting point and the end point are in the conflict set.
[0039] The number of conflict scenarios of n robots is 4 to the power of n. Select any two robots as robots R1 and R2. There are 16 conflict scenarios between R1 and R2.
[0040] According to whether the starting point and end point of robots R1 and R2 are in the conflict point set, 16 scenarios are divided. The specific scenarios are: like Figure 3 As shown, scenario 1: The starting point and end point of robots R1 and R2 are not in the conflict point set In this case, robot R1 goes first, and the variable tempTw for calculating the waiting time is initialized to 0. By comparing the order list La of robots R1 and R2 passing through the conflict points, it can be determined whether the two robots are moving in the same direction. If the two robots are moving in the same direction and the number of conflict points is greater than 1, tempTw = robot R1's arrival time at the conflict point Ta - robot R2's arrival time at the conflict point Ta; otherwise tempTw = robot R1's departure time at the conflict point Tl - robot R2's arrival time at the conflict point Ta. If tempTw is greater than 0, the value of robot R2's in-situ waiting time Tw plus tempTw is the new in-situ waiting time.
[0041] like Figure 4 As shown, scenario 2: the starting point and end point of robot R1 are not in the conflict set, and the starting point of robot R2 is not in the end point. In this case, robot R1 goes first, and the variable tempTw for calculating the waiting time is initialized to 0. By comparing the order list La of robots R1 and R2 passing through the conflict points, it can be determined whether the two robots are moving in the same direction. If the two robots are moving in the same direction and the number of conflict points is greater than 1, tempTw = robot R1's arrival time at the conflict point Ta - robot R2's arrival time at the conflict point Ta; otherwise tempTw = robot R1's departure time at the conflict point Tl - robot R2's arrival time at the conflict point Ta. If tempTw is greater than 0, the value of robot R2's in-situ waiting time Tw plus tempTw is the new in-situ waiting time.
[0042] like Figure 5 As shown in Scenario 3: The starting point and end point of robot R1 are not in the conflict set, and the starting point of robot R2 is in the end point but not in the conflict set. In this case, robot R2 goes first, and the variable tempTw for calculating the waiting time is initialized to 0. By comparing the order list La of robots R1 and R2 passing through the conflict points, it can be determined whether the two robots are moving in the same direction. If the two robots are moving in the same direction and the number of conflict points is greater than 1, tempTw = robot R2's arrival time at the conflict point Ta - robot R1's arrival time at the conflict point Ta; otherwise tempTw = robot R2's departure time at the conflict point Tl - robot R1's arrival time at the conflict point Ta. If tempTw is greater than 0, the value of robot R1's in-situ waiting time Tw plus tempTw is the new in-situ waiting time.
[0043] like Figure 6 As shown in Scenario 4: The starting point and end point of robot R1 are not in the conflict set, and the starting point and end point of robot R2 are both in In this case, the robot R1 cannot walk, and the waiting time Tw of the robot R1 is directly set to the maximum value.
[0044] like Figure 7 As shown, scenario 5: the starting point of robot R1 is not in the conflict set, and the end point is in, while the starting point and end point of robot R2 are not in In this case, robot R2 goes first, and the variable tempTw for calculating the waiting time is initialized to 0. By comparing the order list La of robots R1 and R2 passing through the conflict points, it can be determined whether the two robots are moving in the same direction. If the two robots are moving in the same direction and the number of conflict points is greater than 1, tempTw = robot R2's arrival time at the conflict point Ta - robot R1's arrival time at the conflict point Ta; otherwise tempTw = robot R2's departure time at the conflict point Tl - robot R1's arrival time at the conflict point Ta. If tempTw is greater than 0, the value of robot R1's in-situ waiting time Tw plus tempTw is the new in-situ waiting time.
[0045] like Figure 8 As shown, scenario 6: the starting point of robot R1 is not in the conflict set, and the end point is in; the starting point of robot R2 is not in the conflict set, and the end point is in In this case, both robots R1 and R2 cannot walk, and the waiting time Tw of robots R1 and R2 is set to the maximum value.
[0046] like Fig. 9 As shown, scenario 7: the starting point of robot R1 is not in the conflict set, and the end point is, while the starting point of robot R2 is in and the end point is not in In this case, robot R2 goes first, and the variable tempTw for calculating the waiting time is initialized to 0. By comparing the order list La of robots R1 and R2 passing through the conflict points, it can be determined whether the two robots are moving in the same direction. If the two robots are moving in the same direction and the number of conflict points is greater than 1, tempTw = robot R2's arrival time at the conflict point Ta - robot R1's arrival time at the conflict point Ta; otherwise tempTw = robot R2's departure time at the conflict point Tl - robot R1's arrival time at the conflict point Ta. If tempTw is greater than 0, the value of robot R1's in-situ waiting time Tw plus tempTw is the new in-situ waiting time.
[0047] like Fig.10 As shown, scenario 8: the starting point of robot R1 is not in the conflict set, and the end point is, while the starting point and end point of robot R2 are both in In this case, the robot R1 cannot walk, and the waiting time Tw of the robot R1 is directly set to the maximum value.
[0048] like Fig.11 As shown, scenario 9: the starting point of robot R1 is in the conflict set, but the end point is not; the starting point and end point of robot R2 are not In this case, robot R1 goes first, and the variable tempTw for calculating the waiting time is initialized to 0. By comparing the order list La of robots R1 and R2 passing through the conflict points, it can be determined whether the two robots are moving in the same direction. If the two robots are moving in the same direction and the number of conflict points is greater than 1, tempTw = robot R1's arrival time at the conflict point Ta - robot R2's arrival time at the conflict point Ta; otherwise tempTw = robot R1's departure time at the conflict point Tl - robot R2's arrival time at the conflict point Ta. If tempTw is greater than 0, the value of robot R2's in-situ waiting time Tw plus tempTw is the new in-situ waiting time.
[0049] like Fig.12 As shown, scenario 10: the starting point of robot R1 is in the conflict set, but the end point is not; the starting point of robot R2 is not in the conflict set, but the end point is In this case, robot R1 goes first, and the variable tempTw for calculating the waiting time is initialized to 0. By comparing the order list La of robots R1 and R2 passing through the conflict points, it can be determined whether the two robots are moving in the same direction. If the two robots are moving in the same direction and the number of conflict points is greater than 1, tempTw = robot R1's arrival time at the conflict point Ta - robot R2's arrival time at the conflict point Ta; otherwise tempTw = robot R1's departure time at the conflict point Tl - robot R2's arrival time at the conflict point Ta. If tempTw is greater than 0, the value of robot R2's in-situ waiting time Tw plus tempTw is the new in-situ waiting time.
[0050] like Fig.13 As shown, scenario 11: the starting point of robot R1 is in the conflict set, but the end point is not; the starting point of robot R2 is in the conflict set, but the end point is not In this case, both robots R1 and R2 cannot walk, and the waiting time Tw of robots R1 and R2 is set to the maximum value.
[0051] like Fig.14 As shown, scenario 12: the starting point of robot R1 is in the conflict set, but the end point is not, while the starting point and end point of robot R2 are both in In this case, both robots R1 and R2 cannot walk, and the waiting time Tw of robots R1 and R2 is set to the maximum value.
[0052] like Fig.15 As shown in Scenario 13: The starting point and end point of robot R1 are in the conflict set, while the starting point and end point of robot R2 are not In this case, the robot R2 cannot walk, and the waiting time Tw of the robot R2 is directly set to the maximum value.
[0053] like Fig.16As shown, scenario 14: the starting point and end point of robot R1 are in the conflict set, while the starting point of robot R2 is not in the conflict set. In this case, the robot R2 cannot walk, and the waiting time Tw of the robot R2 is directly set to the maximum value.
[0054] like Fig.17 As shown in Scenario 15: The starting point and end point of robot R1 are in the conflict set, while the starting point of robot R2 is not in the end point. In this case, both robots R1 and R2 cannot walk, and the waiting time Tw of robots R1 and R2 is set to the maximum value.
[0055] like Fig.18 As shown, scenario 16: the starting point and end point of robots R1 and R2 are both in the conflict set In this case, robots R1 and R2 cannot walk, and the waiting time Tw of robots R1 and R2 is set to the maximum value.
[0056] At this point, the time has passed to wait for the calculation algorithm to complete.
[0057] S500, the scheduling program selects the optimal arrangement method and determines the final waiting time in place; The method for calculating the longest time for all robots in this arrangement to reach the destination is to add the waiting time of the robot plus the arrival time of the last path point in the path list of this robot as the longest time Tf of the arrangement. Starting with the first robot in the queue, traverse each robot in the queue to obtain the longest time tempTf and compare it with Tf, and take the larger value as the new Tf.
[0058] The Tf values in each arrangement are compared and the arrangement corresponding to the minimum Tf value is selected as the optimal arrangement. The robot waiting time in this arrangement is used as the final waiting time of each robot.
[0059] S600, the scheduling program replies the conflict point set and the original waiting time to the corresponding robot according to the robot ID; The conflict point set and the waiting time on the spot are replied to the corresponding robot according to the robot ID.
[0060] The robot executes the waiting command after receiving the waiting time, and starts moving after the waiting time ends. If a new waiting time is received during the waiting time, the waiting time is reset.
[0061] like Fig.19 The figure shows a coordinate map used for testing. The coordinates of each path point and the length of the route are marked, and the robot's walking speed is 0.5 m / s. The following is a detailed description of the path conflict solution when multiple robots work together through an embodiment: Embodiment 1 Robot 1 goes from waypoint 1 to waypoint 15 Robot 2 goes from waypoint 2 to waypoint 11 Robot 3 goes from waypoint 3 to waypoint 12 The scheduler receives the robot information and before executing the algorithm, the robot information statistics are as follows:
[0062] After the execution of the time waiting calculation algorithm in arrangement 1, it took 24 seconds for all robots to arrive at their locations. The robot information statistics are as follows:
[0063] After Arrangement 2 finished executing the time waiting calculation algorithm, it took 34 seconds for all robots to arrive at their locations. The robot information statistics are as follows:
[0064] After the execution of the time waiting calculation algorithm in arrangement 3, it took 28 seconds for all robots to arrive at their locations. The robot information statistics are as follows:
[0065] After the execution of the time waiting calculation algorithm in arrangement 4, it took 28 seconds for all robots to arrive at their locations. The robot information statistics are as follows:
[0066] After the execution of the time waiting calculation algorithm in arrangement 5, it took 26 seconds for all robots to arrive at their locations. The robot information statistics are as follows:
[0067] After the execution of the time waiting calculation algorithm in arrangement 6, it took 34 seconds for all robots to arrive at their locations. The robot information statistics are as follows:
[0068] Arrangement 1 takes the shortest time, so arrangement 1 is used. The waiting time for replying to robot 1 is 0, the waiting time for replying to robot 2 is 4, and the waiting time for replying to robot 3 is 10.
[0069] Example 2: Robot 1 goes from waypoint 1 to waypoint 8 Robot 2 goes from waypoint 2 to waypoint 14 Robot 3 goes from waypoint 3 to waypoint 9 The scheduler receives the robot information and before executing the algorithm, the robot information statistics are as follows:
[0070] After the execution of the time waiting calculation algorithm in arrangement 1, it took 24 seconds for all robots to arrive at their locations. The robot information statistics are as follows:
[0071] After Arrangement 2 executes the time waiting calculation algorithm, it takes 18 seconds for all robots to be in place. The robot information statistics are as follows:
[0072] After Arrangement 3 finished executing the time waiting calculation algorithm, it took 24 seconds for all the robots to be in place. The robot information statistics are as follows:
[0073] After the execution of the time waiting calculation algorithm in arrangement 4, it took 24 seconds for all robots to arrive at their locations. The robot information statistics are as follows:
[0074] After the execution of the time waiting calculation algorithm in arrangement 5, it took 18 seconds for all robots to arrive at their locations. The robot information statistics are as follows:
[0075] After the execution of the time waiting calculation algorithm in arrangement 6, it took 18 seconds for all robots to arrive at their locations. The robot information statistics are as follows:
[0076] Arrangements 2, 5, and 6 take the shortest time. Using arrangement 2, which is at the front of the order, the waiting time for replying to robot 1 is 10, the waiting time for replying to robot 2 is 6, and the waiting time for replying to robot 3 is 0.
[0077] Furthermore, the present invention can also be applied to the problem of path conflict when several robots perform inspection tasks.
[0078] In summary, the present invention divides multiple robots into idle robots and robots in tasks through the coordinate system and the robot working status, sorts the robots in the task set, traverses the sorting situation to obtain the conflict scene, obtains the robot's in-situ waiting time according to the conflict scene, and transmits the in-situ waiting time back to the robot in the task to avoid the path conflict problem; compared with the traditional single robot inspection, the inspection efficiency is improved, and the problems of path overlap and resource competition faced in multi-robot inspection are avoided. The present invention only needs to add a new interface on the robot side, and the robot reorganizes the existing information and sends it to the scheduling program, and then controls the movement according to the waiting time replied by the scheduling program. The present invention does not need to rebuild the map and reallocate the inspection points. By dynamically calculating the conflict path and adjusting the waiting time of the robot, the collaborative work between robots is realized, the real-time response capability of the system is enhanced, and the interference, collision and other events caused by the robot not moving as expected due to emergencies are avoided.
[0079] On the other hand, the present invention further discloses a computer-readable storage medium storing a computer program, wherein when the computer program is executed by a processor, the processor executes the steps of the above method.
[0080] On the other hand, the present invention further discloses a computer device, including a memory and a processor, wherein the memory stores a computer program, and when the computer program is executed by the processor, the processor executes the steps of the above method.
[0081] In another embodiment provided by the present application, a computer program product including instructions is also provided, which, when executed on a computer, enables the computer to execute any of the path conflict resolution methods for collaborative work of multiple robots in the above embodiments.
[0082] It is understandable that the system, device and storage medium provided in the embodiments of the present invention correspond to the method provided in the embodiments of the present invention, and the explanation, examples and beneficial effects of the relevant contents can refer to the corresponding parts in the above methods.
[0083] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website site, a computer, a server or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or a data center that includes one or more available media integrated. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive Solid State Disk (SSD)), etc.
[0084] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.
[0085] Each embodiment in this specification is described in a related manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0086] The above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit the same. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for solving path conflicts when multiple robots work together, characterized in that: include: The actual scene coordinates are represented by s, and the time taken by the robot to reach the specified position is represented by t; the robot combines space and time information to generate List information and upload it to the server, the server will The server arranges and combines the robots in the task, and in each arrangement, multiple robots in the task are arranged in the same way. The repeated path points in the list are taken as conflict points and put into the conflict point set. The conflict scenario is obtained based on whether the starting points and end points of multiple robots are in the conflict point set. The waiting time of the robots in the task is calculated based on the conflict scenario, and the waiting time of the robots in the task is sent back to the robots to solve the path conflict problem.
2. The method for solving path conflicts when multiple robots work together according to claim 1, characterized in that: according to Methods for path planning based on list information include: The path quality measurement method is In the formula, Indicates the cost of moving to the specified path, that is, the path distance between the current path point and the destination path point is the heuristic function, which represents the estimated cost. The heuristic function combines the spatial distance and time dimensions; The value indicates the quality of the path. The smaller the value, the better the path; = ; , represents the distance value taking into account the Euclidean distance, turning angle, average curvature, and moving speed. ,in is the estimated Euclidean distance from the current position to the end point, θ is the total estimated turning angle of the path, is the estimated mean curvature of the path, Indicates the robot's moving speed; Indicates that the angular velocity of the robot is taken into account , Line speed , waiting time The time values of these factors, namely = , is the angle of change of the robot's orientation before and after movement; The robot starts from the starting point and first looks for adjacent points. The optimal adjacent point is determined based on the value; based on the optimal adjacent point, it expands outward and approaches the end point through a loop, and finally obtains the optimal path to the end point.
3. The method for solving path conflicts when multiple robots work together according to claim 1, characterized in that: The robot will The list information is uploaded to the server, and the server further determines whether there are conflict points through repeated perception of path points.
4. The method for solving path conflicts when multiple robots work together according to claim 1, characterized in that: The server divides the robot into two states: idle and tasked. The robot that is not in the walking route of other robots and stays in place is an idle robot; The robot whose position changes or does not change but is within the walking route of other robots is an on-task robot.
5. The method for solving path conflicts when multiple robots work together according to claim 1, characterized in that: The method for obtaining the conflict scene according to whether the starting points and end points of multiple robots are in the conflict point set is: Select two robots from the n robots and set them as robot R1 and robot R2, narrow the conflict scene to the two robots, and solve the conflict between robot R1 and robot R2 by traversal, so as to solve the path conflict between the n robots.
6. The method for solving path conflicts when multiple robots work together according to claim 1, characterized in that: The calculation algorithm of the robot's waiting time in place is: Select two robots from n robots and set them as robot R1 and robot R2. The list information is intersected to obtain the set of conflicting path points of robot R1 and robot R2; Put the robot R1 The path points in the list information are compared with the conflict point set. If the path point is included in the conflict point set, the path point is added to the sequential list La of the robot R1 passing through the conflict points. From the list information, we know that the time required to reach the path point is Tp, and the actual time Tr=Tw+Tp of robot R1 to reach the path point, where Tw is the waiting time; The time Ta when robot R1 arrives at the conflict point is the arrival time of the first path point in the sequence list La, and the time Tl when robot R1 leaves the conflict point is the arrival time of the last path point in the sequence list La; the calculation method of the time when robot R2 arrives at the conflict point and leaves the conflict point is the same as that of robot R1; Determine the conflict scenario based on the positions of the starting point, end point and conflict point set of the robot R1 and the robot R2; According to the conflict scenario, it can be determined whether robots R1 and R2 can walk and the order in which they can walk; In the scenario where both robots R1 and R2 can walk, according to the order list La of robot R1 and robot R2 passing through the conflict points, it can be known whether the two robots are walking in the same direction; if robot R1 goes first, the waiting time of robot R2 when walking in the same direction is Tw=Ta1-Ta2, Ta1 is the arrival time of robot R1, and Ta2 is the arrival time of robot R2; when walking in different directions, the waiting time of robot R2 is Tw=Tl1-Ta2, Tl1 is the departure time of robot R1, and Ta2 is the arrival time of robot R2; if robot R2 goes first, the calculation method of robot R1's waiting time Tw is the same as above; When only one of the robot R1 and the robot R2 can walk, or both of them cannot walk, the waiting time Tw of the robot that cannot walk is infinite.
7. The method for solving path conflicts when multiple robots work together according to claim 6, characterized in that: The execution process of the robot's in-situ waiting time calculation algorithm is as follows: Starting from the first robot, it executes the waiting time calculation algorithm with each subsequent robot. After the first robot finishes executing, the second robot and each subsequent robot execute the waiting time calculation algorithm, and so on, until the second to last robot and the last robot finish executing, and a round is considered complete, and a total of n-1 rounds are executed; The number of executions per round by n robots is = + + +…+1= The total number of executions is .
Citation Information
Patent Citations
Robot path planning method and system based on dynamic weighting and thermodynamic diagram algorithm
CN114895690A
Multi-logistics robot path planning method based on improved time window algorithm
CN115328113A
Path planning method and device for inspection robot and storage medium
CN117369470A
Path planning method and device
CN117873003A
AGV obstacle avoidance path planning method and system in intelligent classification steel warehouse
CN118396208A
Cited By
Multi-agent cooperative scheduling obstacle avoidance method and system
CN121613941A