WO2024007731A1 - Movement scheduling method and apparatus for multiple robots - Google Patents

Movement scheduling method and apparatus for multiple robots Download PDF

Info

Publication number
WO2024007731A1
WO2024007731A1 PCT/CN2023/093757 CN2023093757W WO2024007731A1 WO 2024007731 A1 WO2024007731 A1 WO 2024007731A1 CN 2023093757 W CN2023093757 W CN 2023093757W WO 2024007731 A1 WO2024007731 A1 WO 2024007731A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
conflict
robots
section
envelope
Prior art date
Application number
PCT/CN2023/093757
Other languages
French (fr)
Chinese (zh)
Inventor
魏锡光
李晶
翟志新
韩昊
赵成业
谭文哲
Original Assignee
北京极智嘉科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京极智嘉科技股份有限公司 filed Critical 北京极智嘉科技股份有限公司
Publication of WO2024007731A1 publication Critical patent/WO2024007731A1/en

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/028Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/0285Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using signals transmitted via a public communication network, e.g. GSM network

Definitions

  • the invention relates to the field of robot control technology, and in particular to a multi-robot motion scheduling method.
  • the invention also relates to a multi-robot motion scheduling device, a computing device, and a computer-readable storage medium.
  • this method only establishes corresponding prevention mechanisms for control and scheduling through the planning of the robot's motion path. It does not take into account the complexity of the robot's motion due to its own contours and real-time performance in large-scale robot motion scenarios. For multi-robots, Movement scheduling lacks accuracy. Therefore, there is an urgent need for a motion scheduling method for multi-robot motion that can accurately schedule the motion of multiple robots even when the motion of the multi-robots is complex.
  • embodiments of the present invention provide a multi-robot motion scheduling method to solve the technical defects existing in the existing technology.
  • Embodiments of the present invention simultaneously provide a multi-robot motion scheduling device, a computing device, and a computer-readable storage medium.
  • a multi-robot motion scheduling method including:
  • motion scheduling is performed on the first robot.
  • determine the envelope range of the section to be moved by the first robot based on the movement path of the first robot and the first section currently located including:
  • the envelope range of the road section to be moved is determined.
  • determining the section to be moved by the first robot based on the movement path of the first robot and the first section it is currently located on includes:
  • determining each predicted conflict section between the first robot and other robots among the multiple robots includes:
  • the predicted conflict section of the first robot relative to the second robot is determined based on the intersection.
  • perform motion scheduling on the first robot based on each predicted conflict section including:
  • the conflict range includes an upper bound of the conflict segment index and a lower bound of the conflict segment index
  • perform motion scheduling on the first robot based on each predicted conflict section including:
  • the method further includes:
  • the end envelope when the end envelope does not intersect with the envelope ranges of the sections to be moved by other robots, after scheduling the movement of the first robot, it also includes:
  • the target-specific robot movement in each specific robot is scheduled according to the number of follower robots of each specific robot.
  • the method also includes:
  • each specific robot determine the movement time of each specific robot
  • the target specific robot movement in each specific robot is scheduled.
  • perform motion scheduling on the first robot based on each predicted conflict section including:
  • the first robot is scheduled to move to the target road section.
  • a multi-robot motion scheduling device including:
  • the acquisition module is configured to acquire the motion paths of multiple robots, where the motion paths include multiple road segments;
  • the envelope range determination module is configured to determine the envelope range of the section to be moved by the first robot based on the movement path of the first robot and the first section currently located, where the first robot is any one of a plurality of robots. , the envelope range covers the first robot;
  • the prediction conflict section determination module is configured to determine the first robot according to the envelope range of the sections to be moved by the multiple robots. Each predicted conflict segment relative to other robots among multiple robots;
  • the scheduling module is configured to perform motion scheduling on the first robot according to each predicted conflict section.
  • a computing device including:
  • the memory is used to store computer-executable instructions.
  • the processor executes the computer-executable instructions, the steps of the multi-robot motion scheduling method are implemented.
  • a computer-readable storage medium which stores computer-executable instructions that implement the steps of the multi-robot motion scheduling method when executed by a processor.
  • the multi-robot motion scheduling method obtains the motion paths of multiple robots, where the motion path includes multiple road segments. According to the motion path of the first robot and the first road segment currently located, the to-be-moved motion of the first robot is determined.
  • the envelope range of the road section where the first robot is any one of the multiple robots, and the envelope range covers the first robot.
  • the first robot is determined relative to the multiple robots.
  • the first robot is scheduled for movement based on each predicted conflict section.
  • the predicted conflict section is determined by the envelope range of the section to be moved by the first robot, so that the predicted conflict section can be better combined with the actual movement of the robot to achieve more accurate motion scheduling for multiple robots.
  • Figure 1 is a schematic system structure diagram of a multi-robot motion scheduling method provided by an embodiment of the present invention
  • Figure 2 is a flow chart of a multi-robot motion scheduling method provided by an embodiment of the present invention
  • Figure 3A is a processing flow chart of a multi-robot motion scheduling method used to prevent multi-robot deadlock conflicts provided by an embodiment of the present invention
  • Figure 3B is a schematic diagram of a motion path in a multi-robot motion scheduling method used to prevent multi-robot deadlock conflicts provided by an embodiment of the present invention
  • Figure 4 is a schematic structural diagram of a multi-robot motion scheduling device provided by an embodiment of the present invention.
  • Figure 5 is a structural block diagram of a computing device provided by an embodiment of the present invention.
  • first, second, etc. may be used to describe various information in one or more embodiments of the present invention, the information should not be limited to these terms. These terms are only used to distinguish information of the same type from each other.
  • the first may also be referred to as the second, and similarly, the second may also be referred to as the first.
  • Robot scheduling is achieved by setting scheduling rules on the robot scheduling terminal.
  • a multi-robot motion scheduling method is provided.
  • the present invention also relates to a multi-robot motion scheduling device, a computing device, and a computer-readable storage medium, which will be described in detail one by one in the following embodiments.
  • FIG. 1 shows a schematic structural diagram of a multi-robot motion scheduling system provided by an embodiment of the present invention.
  • the execution subject of the provided multi-robot motion scheduling method is the robot dispatching end 101; the robot dispatching end 101 includes: a dispatching end memory 1011 and a dispatching end processor 1012, wherein the dispatching end memory 1011 stores pre-written scheduling rules
  • the program code is used by the scheduling end processor 1012 to execute the program code of the scheduling rules to implement motion scheduling for multiple robots.
  • multiple robots 102 perform motion by receiving the program code of the scheduling rules sent by the robot scheduling terminal 101.
  • the above-mentioned robot dispatching terminal 101 can be any electronic product that can perform human-computer interaction with the user, such as a PC (Personal Computer), a mobile phone, a Pocket PC, a tablet computer, etc.
  • the robot scheduling end 101 obtains the motion paths of multiple robots 102, and then determines the envelope range of the segment to be moved by the first robot 1021 based on the motion path of the first robot 1021 and the first segment it is currently located on, and then determines the envelope range of the segment to be moved by the first robot 1021 based on the motion path of the multiple robots 102.
  • 102 to determine the envelope range of the section to be moved determine the predicted conflict sections of the first robot 1021 relative to other robots (1022, 1023...) in the plurality of robots 102, and move the first robot 1021 based on each predicted conflict section Scheduling.
  • Figure 2 shows a flow chart of a multi-robot motion scheduling method according to an embodiment of the present invention, which specifically includes the following steps:
  • Step 202 Obtain the movement paths of multiple robots, where the movement paths include multiple road segments.
  • the robot is a schedulable motion robot with one or more functions.
  • robots used for transporting dishes in restaurants robots used for transportation in logistics and warehousing, and robots used for surveying and construction of engineering scenes.
  • the embodiments of the present invention are not limited here.
  • the movement path of the robot is a preset path that can move according to certain scheduling rules.
  • the movement path includes multiple nodes and sections connected by the nodes.
  • the movement path composed of the seats and aisles of a restaurant can be used to move the seats.
  • aisles can be viewed as segments on the motion path.
  • the shelves can be regarded as nodes on the movement path, and the robot movement tracks in the warehouse can be regarded as sections on the movement path.
  • the motion path can be identified by nodes and road segments, or by the coordinate positions of nodes and road segments.
  • the robot has multiple built-in working maps. For each working map, the robot will build an initial movement path. For example, in a restaurant, for the multiple floors of the restaurant, the robot has multiple built-in working maps. Corresponding work map, for each work map, the food delivery robot will construct an initial movement path from the food outlet to each seat.
  • Obtaining the movement paths of multiple robots can be performed by deducing the scheduling rules pre-assigned to the robots from the robot scheduling terminal to obtain the movement paths of the multiple robots, or it can be receiving the movement paths uploaded by the multiple robots, which is not covered by the present invention. limited.
  • the motion paths of multiple robots are obtained, where the motion paths include multiple nodes and multiple paths connected by the nodes.
  • the movement paths T1-Tn of multiple robots A1-An are obtained.
  • the movement path T1 is A-B-C-D-E, where A, B, C, D, and E are the nodes of the movement path, and the road segments are obtained by connecting them.
  • Step 204 Determine the envelope range of the path section to be moved by the first robot based on the movement path of the first robot and the first path segment currently located, where the first robot is any one of multiple robots, and the envelope range covers the first path segment. A robot.
  • the first road segment currently located is the road segment in the motion path corresponding to the current location of the robot. For example, if the current location of the robot is between node A and node B, and the corresponding segment in the motion path is AB, then AB is determined to be the first segment.
  • the envelope range is the range covered by the robot during movement, which is determined based on the shape and size of the robot.
  • the movement path is expressed in coordinates as (0, 0)-(0, 1)-(0, 2), and the robot is A square with a side length of 2.
  • the coordinate representation of the motion path of the center of the square is consistent with the coordinate representation of the motion path.
  • the coordinates of its envelope range are expressed as (-1,-1)(1,-1)-( -1,3)(1,3) is a rectangle.
  • the envelope range of the section to be moved by the first robot is determined based on the movement path of the first robot, the first section currently located, and the shape and size of the first robot.
  • the movement path of the first robot is represented by coordinates as (0,0)-(0,1)-(0,2)-(0,3), current
  • the first road section is (0, 0)-(0, 1)
  • the first robot is a square with a side length of 2
  • the envelope range of the section to be moved is (-1, -1) (1, -1 )-(-1,3)(1,3).
  • Step 206 Based on the envelope ranges of the sections to be moved by the multiple robots, determine each predicted conflict section between the first robot and other robots among the multiple robots.
  • the predicted conflict section is the section where the robot will conflict with other robots on the driving path.
  • Each predicted conflict section between the first robot and other robots among the plurality of robots is obtained by comparing the envelope range of the section to be moved between the first robot and other robots. Comparing the envelope range of each robot between the first robot and the other robots, the predicted conflict sections that can be obtained are different.
  • the envelope ranges of the sections to be moved by multiple robots are compared, and each predicted conflict section between the first robot and other robots among the multiple robots is determined.
  • the envelope range of the section to be moved by the first robot is (AB-BC-CD), and the envelope range of the section to be moved by the other robots is (BC-CD-DE).
  • the envelope range of the sections to be moved by the two robots is The envelope range of the road section is compared to determine the predicted conflict sections BC and CD of the first robot relative to other robots among the multiple robots.
  • each predicted conflict section of the first robot relative to other robots among the multiple robots is determined, and the section where the first robot has a conflict risk is confirmed, which provides the basis for the subsequent analysis of the predicted conflict section of the first robot.
  • a robot is scheduled and provides a reference basis.
  • Step 208 Perform motion scheduling on the first robot based on each predicted conflict section.
  • the specific method of performing motion scheduling on the first robot is to determine the motion state of the first robot on each predicted conflict road section, and send a motion scheduling instruction to the first robot, so that the first robot moves according to the motion state on each predicted conflict road section. corresponding movement.
  • the movement state of the first robot on each predicted conflict road section is determined, and movement scheduling is performed on the first robot.
  • the movement paths of multiple robots are obtained, where the movement paths include multiple road sections.
  • the envelope range of the road section to be moved by the first robot is determined.
  • the first robot is any one of the plurality of robots
  • the envelope range covers the first robot.
  • the relative positions of the first robot relative to other robots among the plurality of robots are determined.
  • Conflict road sections are predicted, and movement scheduling is performed on the first robot based on each predicted conflict road section.
  • the predicted conflict section is determined by the envelope range of the section to be moved by the first robot, so that the predicted conflict section can be better combined with the actual movement of the robot to achieve more accurate motion scheduling for multiple robots.
  • step 204 includes the following specific steps:
  • the envelope range of the road section to be moved is determined.
  • the section to be moved is a certain section on the movement path of the first robot, calculated from the first section currently located, that will be moved.
  • a certain road section to be moved is determined based on preset determination conditions. The determination condition may be the number of road sections to be moved, or the end point of the movement, etc.
  • the movement path of the first robot includes multiple road segments, which is AB-BC-CD-DE.
  • the first road segment currently located is AB.
  • the first road segment will start to move to node D, and the sections to be moved are AB, BC, and CD. .
  • the outline information of the first robot is the area information that can be swept by the size and shape of the first robot.
  • the first robot is not necessarily a regular-shaped robot. It will be set to a robot of different sizes and shapes according to the application scenario. Therefore, it needs to be scanned according to the size and shape of the first robot.
  • the area information passed, that is, the contour information determines the envelope range of the section to be moved.
  • the section to be moved by the first robot is determined based on the movement path of the first robot, the first section currently located and the preset determination conditions, and the envelope range of the section to be moved is determined based on the contour information of the first robot.
  • the first section AB currently located and the preset determination condition: the end point is D determine the sections BC and CD to be moved by the first robot, according to The contour information of the first robot determines the envelope range of the section to be moved.
  • the section to be moved by the first robot is determined, and the envelope range of the section to be moved is determined based on the contour information of the first robot, so that the envelope of the section to be moved is determined.
  • the envelope range is more in line with the actual movement of the first robot, thereby making the envelope range of the determined section to be moved more accurate, and the subsequent predicted conflict sections more accurate.
  • the movement scheduling of the first robot is consistent with the actual movement of the first robot. More suitable for sports situations.
  • determining the section to be moved by the first robot based on the movement path of the first robot and the first section it is currently located on includes the following specific steps:
  • the preset number of road sections is the monitoring window used to monitor the movement path of the first robot, because if each section of the movement path of multiple robots is monitored, the calculation amount of motion scheduling will be too high due to too much data. Then it is necessary to set a monitoring window with a preset number of road sections for monitoring.
  • the number of preset road sections is determined based on the actual movement of the first robot. If the movement speed of the first robot is high, the number of preset road sections needs to be designed to be larger to ensure timely detection of conflicts and improve the timeliness of scheduling. Reliability and safety of multi-robot motion scheduling.
  • the road section to be moved by the first robot is determined.
  • the road section to be moved is the road section that the first robot will move starting from the first road section in the movement path. of preset number of road segments.
  • the preset number of road segments is 2, and the first robot starts from the first road segment AB-BC-CD-DE on the motion path AB-BC-CD-DE.
  • a section AB starts with two sections that will be moved, namely BC and CD are the sections to be moved.
  • the section to be moved by the first robot is determined, which reduces the overall calculation amount, improves the efficiency of determining the section to be moved, and thereby improves the overall multi-purpose Efficiency of robot motion scheduling.
  • step 206 includes the following specific steps:
  • the predicted conflict section of the first robot relative to the second robot is determined based on the intersection.
  • the envelope range of the first robot is a square with coordinates (0, 0) (0, 1) (1, 1) (1, 0)
  • the envelope range of the second robot is a square with coordinates (0, The rectangle of 0)(0,1)(5,1)(5,0)
  • the two overlap within the square range of (0,0)(0,1)(1,1)(1,0) and it is determined that the envelope ranges of the sections to be moved by the first robot and the second robot intersect.
  • the way to determine the predicted conflict segment of the first robot relative to the second robot based on the intersection is: for the first robot, determine the path segment of the first robot relative to the second robot based on all the segments of the first robot within the intersection. Predict conflict sections.
  • the first robot it is determined whether there is an intersection between the envelope ranges of the sections to be moved by the first robot and the second robot. If there is an intersection, then for the first robot, it is determined based on all the sections of the first robot within the intersection that the first robot is relative to Prediction of conflict sections by the second robot.
  • the envelope range of the section to be moved by the first robot is the rectangle around the ABCDE node
  • the envelope range of the second robot's section is the rectangle around the ABCDE node
  • the envelope range of the section to be moved is the rectangle around the DEF node. It is determined that the envelope ranges of the sections to be moved by the first robot and the second robot intersect, which are D and E.
  • All road sections CD, DE, within are determined, and the predicted conflict sections of the first robot relative to the second robot are CD, DE.
  • the efficiency of determining the predicted conflict path is improved, thereby improving the overall multi-robot performance. Scheduling efficiency of motion scheduling.
  • step 208 includes the following specific steps:
  • the conflict range of the first robot with respect to other robots is the range of conflict sections obtained by statistics based on each predicted conflict section.
  • the predicted conflict sections of the first robot with respect to other robots are CD, DE and EF, and the conflicts obtained by statistics
  • the range is (CD, EF), which means that the robot moves from the CD section to the EF section and has conflicts with other robots.
  • both robots will deadlock, that is, the conflict cannot be avoided. Therefore, after determining that the first robot is already within the conflict range, the movement of the first robot will be scheduled, and for other robots that have not entered the conflict range, a deadlock will occur.
  • scheduling it to avoid can avoid deadlocks between the first robot and other robots.
  • the conflict range is (CD, EF).
  • the conflict range is (CD, EF).
  • the first section is the section where the starting point is in the section to be moved by the first robot.
  • the conflict range of the first robot relative to other robots is determined. If the first road section is within the conflict range, it is determined that the first robot is within the conflict range, and the first robot is scheduled. Robot movement.
  • the predicted conflict sections of the first robot with respect to the second robot are CD, DE, EF and FG
  • the conflict range of the first robot with respect to the second robot is determined to be (CD, FG).
  • the road segment is DE
  • the first road segment DE is within the conflict range (CD, FG)
  • the movement of the first robot is scheduled.
  • the conflict range of the first robot relative to other robots is determined. Based on the first road section and the conflict range, it is determined whether the first robot is within the conflict range. If so, the first robot is scheduled. Robot movement can cause unavoidable conflicts between the first robot and other robots when other robots have not entered the conflict range. Scheduling in advance prevents conflicts in time and ensures the reliability and safety of multi-robot movements.
  • the conflict range includes an upper bound of the conflict segment index and a lower bound of the conflict segment index. Based on the first road segment and the conflict range, determining whether the first robot is located within the conflict range includes the following specific steps:
  • the road segment index is a road segment index used to mark each road segment in the movement path. It can be the sequential labeling of the road segment, the node name of the road segment, or the coordinate representation of the road segment.
  • the description of the present invention takes the sequential labeling of the road segment as an example.
  • the upper bound of the conflict section index is the section index of the last predicted conflict section in the conflict range
  • the lower bound of the conflict section index is the section index of the first predicted conflict section in the conflict range.
  • the conflict range is (0, 3), which means that the conflict range of the first robot relative to other robots is the first robot's section 0 to section 3.
  • the upper bound of the conflict section index is 3, and the lower bound of the conflict section index is 0.
  • the segment index of the first segment is 1, the conflict range is (0, 3), the upper bound of the conflict segment index is 3, and the conflict segment The lower bound of the index is 0, and the road segment index of the first road segment is greater than the lower bound of the conflicting road segment index. It is determined that the first robot is already within the conflict range.
  • the section index of the first section By obtaining the section index of the first section, and based on the relationship between the section index and the lower bound of the conflict section index, it is determined whether the first robot is within the conflict range, and then the movement of the first robot is subsequently scheduled, so that the section index is used to determine the third Whether a robot is located within the conflict range improves the determination efficiency, thereby improving the scheduling efficiency of motion scheduling for the first robot.
  • perform motion scheduling on the first robot based on each predicted conflict section including the following specific steps:
  • the relative conflict envelope of the first robot is the coverage range of the first robot during its movement relative to the predicted conflict section of the second robot. For example, if the first robot is a square robot, its coverage range during the movement of the section to be moved is a rectangle.
  • the predicted conflict sections of the first robot relative to the second robot are CD and DE, and the relative conflict envelope of the first robot is determined to be the rectangle around the C-D-E node.
  • the starting point envelope of the first robot is the envelope range of the robot's current location. For example, if the first robot is a square robot and the first robot is currently located at point C, then the square around point C is the starting point envelope.
  • Determining whether the first robot is located within the conflict range based on the starting point envelope and the relative conflict envelope of the first robot is to determine whether the first robot is located within the conflict range based on the distance relationship between the starting point envelope and the relative conflict envelope. For example, if the distance threshold is set to d, when the distance between the starting envelope and the relative conflict is less than or equal to d, it is determined that the first robot is within the conflict range, or if there is an intersection between the starting envelope and the relative conflict envelope , determine that the first robot is within the conflict range.
  • the conflict range of the first robot relative to other robots is determined based on each predicted conflict section of the first robot relative to other robots, and the relative conflict of the first robot is determined based on the predicted conflict section of the first robot relative to the second robot.
  • Envelope based on the distance relationship between the starting point envelope and the relative conflict envelope, determine whether the first robot is within the conflict range.
  • the first robot is a square.
  • the relative conflict envelope of the first robot is determined to be the rectangle around the A-B-C-D node.
  • the preset distance threshold is d. If the distance between the starting point envelope (the square around point E) and the relative conflict envelope (the rectangle around the A-B-C-D node) is less than or equal to d, it is determined that the first robot is within the conflict range, and the movement of the first robot is scheduled.
  • determining whether the first robot is within the conflict range according to the starting point envelope and the relative conflict envelope of the first robot includes the following specific steps:
  • the starting point envelope of the first robot intersects with the relative conflict envelope, that is, the ranges of the two overlap.
  • the first robot is a square.
  • the relative conflict envelope of the first robot is determined to be the rectangle around the ABCD node. If the starting point envelope (around point E There is an intersection between the square) and the relative conflict envelope (the rectangle around the ABCD node), which determines that the first robot is located in the conflict range Within the range, schedule the movement of the first robot.
  • Scheduling the first robot based on whether there is an intersection between the starting point envelope of the first robot and the relative conflict envelope of the first robot can more accurately cause the collision between the first robot and other robots when other robots do not enter the conflict range.
  • Conflicts are unavoidable, and scheduling in advance can prevent conflicts in a timely manner, further ensuring the reliability and safety of multi-robot movements.
  • the end envelope of the first robot is the envelope corresponding to the end node of the last segment in the motion path of the first robot.
  • the movement path of the first robot is A-B-C-D-E
  • the envelope range of the end node E of the last road segment DE is the end envelope.
  • the first robot and the second robot if the movement path of the first robot exceeds the envelope range of the section to be moved by the other robots, the first robot will continue to move after moving through the conflict range until it reaches the end point, and the second robot will If the movement path of the second robot does not exceed the envelope range of the section to be moved, the second robot will not move beyond the conflict range and will stop on a predicted conflict path in the first robot's movement path, blocking the normal movement of the first robot. Movement, therefore, requires the first robot to move first until the first robot moves, and until there is no handover with the envelope range of the section to be moved by other robots, the movement of the second robot will not block the movement of the first robot. Move normally and avoid conflicts.
  • the movement path of the first robot is A-B-C-D-E-F
  • the movement path of the second robot is F-B-C-D
  • the predicted conflict sections between the first robot and the second robot are BC, CD and DE. If the second robot moves first and stops at the end point D , then the first robot continues to move and will conflict with the second robot at point D.
  • the end point of the first robot is determined according to the movement path of the first robot, and the end point envelope of the first robot is determined based on the end point of the first robot and the contour information of the first robot.
  • the movement of the first robot is scheduled.
  • the movement path of the first robot is A-B-C-D-E-F
  • the end point of the first robot is determined to be E.
  • the contour information of the first robot a circle with a radius of 1.
  • the end envelope when there is no handover between the end envelope of the first robot and the envelope range of the sections to be moved by other robots, ensures that there are no other machines on the movement path of the first robot that may reach the end and stop. , no conflict will occur, and the first robot movement is scheduled.
  • the end envelope of the first robot is determined, and when there is no intersection between the end envelope and the envelope range of the sections to be moved by other robots, the movement of the first robot is scheduled.
  • the movement of the first robot can be scheduled before other robots stop or occupy a certain section of the movement path of the first robot, thus preventing other robots from blocking the normal movement of the first robot, preventing conflicts in a timely manner, and ensuring Multi-robot motion reliability and safety.
  • the target-specific robot movement in each specific robot is scheduled according to the number of follower robots of each specific robot.
  • the first robot was any one of multiple robots.
  • Differences in motion scheduling scenarios such as differences in contour information, differences in the first road section where the robot is currently located, differences in the number of preset road sections, etc., have resulted in multiple specific robots being unscheduled. Movement scheduling of these robots is required to ensure that multiple robots are not scheduled. Integrity of robot motion scheduling.
  • a following robot is a robot that follows a specific robot.
  • the following robot and the specific robot have the same movement path. For example, in a restaurant, a customer at a certain seat orders multiple dishes, which need to be transmitted through multiple robots, that is, a specific robot includes multiple follower robots.
  • specific robots with a small number of following robots are prioritized for motion scheduling, which can ensure that other specific robots and corresponding following robots do not need to stop and wait for a long time.
  • following a specific robot with a large number of robots and giving priority to movement scheduling can ensure that more robots move to the end point, complete the corresponding tasks, and realize their corresponding functions. Specific choices are not limited here.
  • the specific robot B1 with the smallest number of following robots is determined as the target specific robot, and the target specific robot B1 and its corresponding three following robots are scheduled. sports.
  • the multi-robot motion scheduling method also includes the following specific steps:
  • each specific robot determine the movement time of each specific robot
  • the target specific robot movement in each specific robot is scheduled.
  • the movement parameters of a specific robot are parameters of the actual movement of the specific robot, including: the movement speed of the specific robot, the rotation angular speed of the specific robot, the length of the movement path of the specific robot, etc.
  • priority is given to motion scheduling, which can ensure that the specific robot completes its corresponding tasks faster and realizes the corresponding functions.
  • priority is given to motion scheduling, which can ensure that the time difference between multiple specific robots completing their corresponding tasks is shorter and the corresponding functions can be achieved.
  • the embodiments of the present invention are not limited here. .
  • the movement parameters of each specific robot are obtained, and the movement time-consuming of each specific robot is determined based on the movement parameters of each specific robot. According to the sum of the movement time-consuming of each specific robot, Practical application scenarios, scheduling target-specific robot movements in each specific robot.
  • the movement speed of each specific robot is 0.5m/s, 0.7m/s, and 0.9m/s respectively.
  • the movement time of each specific robot is determined to be 10s. The movement speed is determined based on the movement time of 10s and the actual application scenario.
  • the fastest specific robot B6 is the target specific robot, and the movement of the target specific robot B6 is scheduled.
  • the motion parameters of each specific robot are obtained, the motion time-consuming of each specific robot is determined based on the motion parameters of each specific robot, and the motion time-consuming of each specific robot is scheduled.
  • Goal-specific robot motion in robotics According to the movement time-consuming of each specific robot, the target-specific robot movement in each specific robot is scheduled, which meets the scheduling requirements for movement time-consuming in actual application scenarios, making the movement scheduling of multiple robots more efficient, and multi-robot movement scheduling is more efficient.
  • the motion scheduling of robots is more applicable, and scheduling specific robots that follow the same robot ensures the integrity of motion scheduling for multiple robots.
  • step 208 includes the following specific steps:
  • the first robot is scheduled to move to the target road section.
  • the target avoidance index of the first robot based on the number of sections in each predicted conflict section. For example, the predicted conflict section between the first robot and the second robot is (1,3), and the predicted conflict between the first robot and the third robot is (1,3).
  • the road section is (0,3), the number of road sections predicted to conflict with the first robot relative to the second robot is 3, and the number of road sections predicted to conflict with the first robot relative to the third robot is 4, determine the first robot
  • the target avoidance index is 0, which means that the index of the road section that the first robot needs to avoid is at infinity, that is, the first robot does not need to avoid it.
  • the predicted conflict section between the second robot and the first robot is (0,1)
  • the predicted conflict section between the second robot and the third robot is (0,1)
  • the predicted conflict section between the second robot and the first robot is (0,1).
  • the number of conflicting road sections is 2.
  • the number of conflicting road sections predicted by the second robot relative to the third robot is 2. It is determined that the target avoidance index of the second robot is 0, which means that the second robot moves to the corresponding target avoidance index. Before the target road section 0, perform avoidance.
  • the target avoidance index of the first robot is determined based on each predicted conflict section, and the first robot is scheduled to move to the target section corresponding to the target avoidance index according to the target avoidance index, and then the first robot is scheduled to avoid.
  • the target avoidance index of the first robot is determined to be 0, and according to the target avoidance index 0, the first robot is scheduled to move to the path corresponding to the target avoidance index 0.
  • the first robot is dispatched to avoid the target road section.
  • the target avoidance index of the first robot is determined, and based on the target avoidance index, the first robot is scheduled to move to the target road section.
  • the target avoidance index of the first robot is determined, and based on the target avoidance index, the first robot is scheduled to move to the target road section.
  • 3A shows a processing flow chart of a multi-robot motion scheduling method for preventing multi-robot deadlock conflicts provided by an embodiment of the present invention, which specifically includes the following steps:
  • Step 302 Obtain the movement paths of multiple robots, where the movement paths include multiple road segments, and each road segment includes a road segment index.
  • FIG. 3B shows a schematic diagram of a motion path in a multi-robot motion scheduling method used to prevent multi-robot deadlock conflicts provided by an embodiment of the present invention.
  • the movement path of the first robot A1 as A-B-C-F-G
  • the movement path of the second robot A2 as D-C-F
  • the movement path of the third robot A3 as G-F-C-B-E.
  • the movement path of the first robot includes multiple road segments: AB(0), BC(1), CF(2) and FG(3)
  • the movement path of the second robot includes multiple road segments: DC(0) and CF(1)
  • the movement path of the third robot includes multiple road segments: GF(0), FC(1), CB(2) and BE(3).
  • Step 304 Determine the sections to be moved by the multiple robots based on the movement paths of the multiple robots and the first section they are currently located on.
  • the first road section 0 currently located is determined, and the road section to be moved by the first robot is determined to be (0,3).
  • the section to be moved by the second robot is determined to be (0,1)
  • the section to be moved by the third robot is determined to be (0,3).
  • Step 306 Determine the envelope range of the section to be moved by each robot based on the contour information of each robot.
  • the envelope range of the section to be moved by the first robot is the rectangle around the A-B-C-F-G node
  • the envelope range of the section to be moved by the second robot is determined.
  • the envelope range is the rectangle around the D-C-F node
  • the envelope range of the section to be moved by the third robot is determined to be the rectangle around the G-F-C-B-E node.
  • Step 308 Determine whether the envelope ranges of the sections to be moved by each robot intersect.
  • the envelope ranges of the sections to be moved by the first robot, the second robot and the third robot intersect.
  • the intersection between the first robot and the second robot is the rectangle around the BCF node.
  • the first robot and the third robot The intersection of the three robots is the rectangle around the BCFG node, and the intersection of the second robot and the third robot is the rectangle around the CF node.
  • Step 310 Determine the predicted conflict sections of each robot based on the intersection.
  • the intersection of the rectangles determines that the predicted conflict sections of the third robot relative to the first robot are GF, FC, CB and BE, that is, sections 0, 1, 2, and 3; the third robot section is used as the main body to judge, based on the C-F node around the The intersection of the rectangles determines the predicted conflict sections of the third robot relative to the second robot as GF, FC, and CB, that is, sections 0, 1, and 2.
  • Step 312 Determine the conflict range based on each predicted conflict road section.
  • the conflict range of the first robot relative to the second robot is determined to be (1,3); the conflict range of the first robot relative to the third robot is determined to be (0,3); the conflict range of the second robot relative to the third robot is determined to be (0,3);
  • the conflict range of the first robot is (0,1); determine the conflict range of the second robot relative to the third robot as (0,1); determine the conflict range of the third robot relative to the first robot as (0,3) ;
  • the conflict range of the third robot relative to the second robot is (0,2).
  • Step 314 Obtain the road segment index of the first road segment, and determine whether each robot is within a conflict based on the robot's starting point envelope and the corresponding conflict envelope.
  • Step 316 If yes, schedule the corresponding robot motion.
  • the starting point envelope of the first robot is determined to be the square around node A
  • the starting point envelope of the second robot is determined to be the square around node D.
  • Square determine the starting point envelope of the third robot as the square around the G node.
  • the first section index of the first robot is -1 (meaning it has not entered the AB section, that is, section 0) and is not located in the conflict range (1,3) and (0,3);
  • the first robot is not in conflict.
  • the index of the first road segment of the second robot is -1, which is not in the conflict range (0,1);
  • the second robot is not in conflict.
  • the first section index of the third robot is -1, which is not located in the conflict range (0,3) and (0,2), corresponding to the conflict range of the first and second robots;
  • the third robot is not in conflict.
  • the first robot, the second robot and the third robot are not scheduled for the time being.
  • Step 318 If not, determine the endpoint envelope of each robot based on the movement path of each robot; if there is no intersection between the endpoint envelope and the envelope range of the sections to be moved by other robots, schedule the corresponding robots in sequence. sports.
  • the end envelope of the first robot is determined to be the square around the G node
  • the end envelope of the second robot is determined to be the square around the F node.
  • Square determine the end envelope of the third robot as the square around the E node.
  • the starting point envelope of the first robot intersects with the relative conflict envelope of the third robot (rectangle around the G-F-C-B-E node, relative conflict range (0,3));
  • the first robot needs to avoid the third robot, and the avoidance index is 0.
  • the end envelope of the second robot intersects with the relative conflict envelope of the first robot (rectangle around the B-C-F-G node, relative conflict range (1,3));
  • the end envelope of the second robot intersects with the relative conflict envelope of the third robot (rectangle around G-F-C-B node, relative conflict range (0,2));
  • the second robot needs to avoid the first and third robots, and the avoidance index is 0.
  • the third robot does not need to avoid, and the avoidance index is 0.
  • the third robot schedules the movement, but the first robot and the second robot do not schedule the movement temporarily.
  • step 318 When the third robot moves to the end point E, that is, when the section to be moved by the third robot does not intersect with the envelope range of the sections to be moved by the first robot and the second robot (the rectangle around the A-B-C-F-G node, the rectangle around the D-C-F node), Repeat step 314, step 316 and step 318. There is no intersection between the end envelope of the first robot and the envelope range of the section to be moved by the second robot (the rectangle around the D-C-F node). The first robot is scheduled to move and the second robot is to avoid.
  • the envelope of the first robot to be moved (the rectangle around the C-F-G node) intersects with the envelope range of the second robot's path to be moved (the rectangle around the D-C-F node).
  • the first robot is in conflict, and the avoidance index is 0.
  • the first robot continues to be scheduled, and the second robot avoids.
  • the conflict range of the second robot is (0,1), the avoidance index is 0, and the second robot Unable to move.
  • the envelope range of the section to be moved by the first robot intersects with the envelope range of the section to be moved by the second robot (the rectangle around the D-C-F node).
  • the first robot is in conflict
  • the avoidance index is 0, and the first robot continues to be scheduled.
  • the second robot performs avoidance, where the conflict range of the second robot is (1,1), the avoidance index is 1, and the second robot is scheduled to the section before the avoidance index, which is the 0th section.
  • each predicted conflicting road section is determined based on the envelope range of the road sections to be moved by multiple robots, and then movement scheduling is performed on the first robot based on each predicted conflicting road section. Determining the predicted conflict section through the envelope range of the sections to be moved by multiple robots makes it possible to better combine the actual movement conditions of the robots to determine the predicted conflict section, achieve more accurate motion scheduling for multiple robots, and avoid problems caused by robot conflicts. Deadlock improves the efficiency of the robot.
  • FIG. 4 shows a schematic structural diagram of a multi-robot motion scheduling device provided by an embodiment of the present invention. As shown in Figure 4, the device includes:
  • the acquisition module 402 is configured to acquire the motion paths of multiple robots, where the motion paths include multiple road segments;
  • the envelope range determination module 404 is configured to determine the envelope range of the section to be moved by the first robot based on the movement path of the first robot and the first section currently located, where the first robot is any of the plurality of robots. One, the envelope range covers the first robot;
  • the predicted conflict section determination module 406 is configured to determine each predicted conflict section of the first robot relative to other robots among the plurality of robots based on the envelope range of the sections to be moved by the multiple robots;
  • the scheduling module 408 is configured to perform motion scheduling on the first robot according to each predicted conflict road section.
  • the envelope range determination module 404 may be further configured as:
  • the road section to be moved by the first robot is determined, and the envelope range of the road section to be moved is determined based on the contour information of the first robot.
  • the envelope range determination module 404 may be further configured as:
  • the predicted conflict section determination module 406 may be further configured as:
  • the scheduling module 408 can be further configured as:
  • the conflict range of the first robot relative to other robots is determined. Based on the first road section and the conflict range, it is determined whether the first robot is within the conflict range. If so, the first robot is scheduled. Robot movement.
  • the scheduling module 408 can be further configured as:
  • the scheduling module 408 can be further configured as:
  • the scheduling module 408 can be further configured as:
  • the starting point envelope of the first robot intersects with the relative conflict envelope, it is determined that the first robot is within the conflict range, and if so, the movement of the first robot is scheduled.
  • the scheduling module 408 can be further configured as:
  • the conflict range of the first robot relative to other robots is determined. Based on the first road section and the conflict range, it is determined whether the first robot is located within the conflict range. If not, then based on the first road section and the conflict range, it is determined The movement path of one robot determines the end-point envelope of the first robot, and when there is no intersection between the end-point envelope and the envelope range of the sections to be moved by other robots, the movement of the first robot is scheduled.
  • the device also includes:
  • the target-specific robot scheduling module is configured to count the number of follower robots of each specific robot if there are multiple unscheduled specific robots, and schedule the target-specific robot movement in each specific robot based on the number of follower robots of each specific robot.
  • the goal-specific robot scheduling module can be further configured to:
  • the scheduling module 408 can be further configured as:
  • the target avoidance index of the first robot is determined, and based on the target avoidance index, the first robot is scheduled to move to the target road section.
  • the movement paths of multiple robots are obtained, where the movement paths include multiple road sections.
  • the envelope range of the road section to be moved by the first robot is determined.
  • the first robot is any one of the plurality of robots
  • the envelope range covers the first robot.
  • the relative positions of the first robot relative to other robots among the plurality of robots are determined.
  • Conflict road sections are predicted, and movement scheduling is performed on the first robot based on each predicted conflict road section.
  • the predicted conflict section is determined by the envelope range of the section to be moved by the first robot, so that the predicted conflict section can be better combined with the actual movement of the robot to achieve more accurate motion scheduling for multiple robots.
  • each component in the device embodiment should be understood as the functional modules that must be established to implement each step of the program flow or each step of the method.
  • Each functional module is not an actual functional division or separation limit.
  • the device claim defined by such a set of functional modules should be understood as a functional module structure that mainly implements the solution through the computer program described in the specification, and should not be understood as a physical device that mainly implements the solution through hardware.
  • Figure 5 shows a structural block diagram of a computing device according to an embodiment of the present invention.
  • Components of the computing device 500 include, but are not limited to, memory 510 and processor 520 .
  • the processor 520 is connected to the memory 510 through a bus 530, and the database 550 is used to save data.
  • Computing device 500 also includes an access device 540 that enables computing device 500 to communicate via one or more networks 560 .
  • networks include Public Switched Telephone Network (PSTN), Local Area Network (LAN), Wide Area Network (WAN), Personal Area Network (PAN), or networks such as the Internet A combination of communication networks.
  • Access device 540 may include any type of network interface, wired or wireless, for example, one or more of a Network Interface Card (NIC), such as an IEEE802.11 Wireless Local Area Network (WLAN) wireless Interface, World Interoperability for Microwave Access (Wi-MAX, World Interoperability for Microwave Access) interface, Ethernet interface, Universal Serial Bus (USB, Universal Serial Bus) interface, cellular network interface, Bluetooth interface, Near Field Communication (NFC, Near Field Communication) interface, etc.
  • NIC Network Interface Card
  • the above-mentioned components of the computing device 500 and other components not shown in FIG. 5 may also be connected to each other, such as through a bus. It should be understood that the structural block diagram of the computing device shown in FIG. 5 is for illustrative purposes only and does not limit the scope of the present invention. Those skilled in the art can add or replace other components as needed.
  • Computing device 500 may be any type of stationary or mobile computing device, including a mobile computer or mobile computing device (e.g., tablet computer, personal digital assistant, laptop computer, notebook computer, netbook, etc.), a mobile telephone (e.g., smartphone ), a wearable computing device (e.g., smart watch, smart glasses, etc.) or other type of mobile device, or a stationary computing device such as a desktop computer or PC.
  • a mobile computer or mobile computing device e.g., tablet computer, personal digital assistant, laptop computer, notebook computer, netbook, etc.
  • a mobile telephone e.g., smartphone
  • a wearable computing device e.g., smart watch, smart glasses, etc.
  • stationary computing device such as a desktop computer or PC.
  • Computing device 500 may also be a mobile or stationary server.
  • the processor 520 is configured to execute computer-executable instructions of the multi-robot motion scheduling method.
  • the above is a schematic solution of a computing device in this embodiment. It should be noted that the technical solution of the computing device and the technical solution of the above-mentioned multi-robot motion scheduling method belong to the same concept. Details that are not described in detail in the technical solution of the computing device can be found in the above-mentioned multi-robot motion scheduling method. Description of the technical solution.
  • An embodiment of the present invention also provides a computer-readable storage medium that stores computer instructions, which are used for a multi-robot motion scheduling method when executed by a processor.
  • the above is a schematic solution of a computer-readable storage medium in this embodiment. It should be noted that the technical solution of the storage medium belongs to the same concept as the technical solution of the above-mentioned multi-robot motion scheduling method. For details that are not described in detail in the technical solution of the storage medium, please refer to the above-mentioned multi-robot motion scheduling method. Description of the technical solution.
  • the computer instructions include computer program code, which may be in the form of source code, object code, executable file or some intermediate form.
  • the computer-readable medium may include: any entity or device capable of carrying the computer program code, recording media, U disk, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM, Read-Only Memory) , Random Access Memory (RAM, Random Access Memory), electrical carrier signals, telecommunications signals, and software distribution media, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

A movement scheduling method and apparatus for multiple robots. The movement scheduling method for multiple robots comprises: acquiring movement paths of multiple robots (102), wherein the movement paths each comprise multiple sections (202); according to the movement path of a first robot (1021) and a first section where the first robot (1021) is currently located, determining envelope ranges of sections where the first robot (1021) is moving to (204); according to envelope ranges of sections where the multiple robots (102) are moving to, determining predicted collision sections for the first robot (1021) with respect to other robots among the multiple robots (102) (206); and performing movement scheduling on the first robot (1021) according to the predicted collision sections (208). The predicted collision sections are determined according to the envelope ranges of the sections where the first robot (1021) is moving to, such that the predicted collision sections can be better determined in view of the actual movement situation of the robot, thereby more accurately scheduling the movement of multiple robots.

Description

多机器人的运动调度方法及装置Multi-robot motion scheduling method and device
本申请要求于2022年7月4日提交中国国家知识产权局、申请号为202210780024.8、发明名称为“多机器人的运动调度方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims priority to the Chinese patent application filed with the State Intellectual Property Office of China on July 4, 2022, with application number 202210780024.8 and the invention title "Multi-robot motion scheduling method and device", the entire content of which is incorporated by reference. in this application.
技术领域Technical field
本发明涉及机器人控制技术领域,特别涉及一种多机器人的运动调度方法。本发明同时涉及一种多机器人的运动调度装置、一种计算设备,以及一种计算机可读存储介质。The invention relates to the field of robot control technology, and in particular to a multi-robot motion scheduling method. The invention also relates to a multi-robot motion scheduling device, a computing device, and a computer-readable storage medium.
背景技术Background technique
随着机器人技术的发展,越来越多的可运动机器人在货运、仓储、物流、餐饮等产业服务中得到应用,极大方便了人类的生产生活。但同时,如何对多个机器人的进行运动调度,来避免多个机器人发生死锁,是在多机器人运动调度中一个重要的问题。With the development of robot technology, more and more movable robots are being used in industrial services such as freight, warehousing, logistics, catering, etc., which greatly facilitates human production and life. But at the same time, how to schedule the motion of multiple robots to avoid deadlocks in multiple robots is an important issue in multi-robot motion scheduling.
现有技术中,对于在确定路径上进行运动的多个机器人可能发生的死锁,一般是基于多个机器人的运动路径进行规划,然后设立对应的预防机制来进行控制调度。In the existing technology, for deadlocks that may occur among multiple robots moving on a determined path, planning is generally based on the motion paths of the multiple robots, and then corresponding prevention mechanisms are set up for control and scheduling.
然而,这样仅仅通过机器人运动路径的规划,来设立对应的预防机制进行控制调度,没有考虑到大规模的机器人的运动场景下,机器人因为自身轮廓和即时性能导致的运动复杂性,对于多机器人的运动调度缺乏准确度。因而,亟需一种在多机器人的运动具有复杂性情况下,也可以准确地调度的多机器人运动的运动调度方法。However, this method only establishes corresponding prevention mechanisms for control and scheduling through the planning of the robot's motion path. It does not take into account the complexity of the robot's motion due to its own contours and real-time performance in large-scale robot motion scenarios. For multi-robots, Movement scheduling lacks accuracy. Therefore, there is an urgent need for a motion scheduling method for multi-robot motion that can accurately schedule the motion of multiple robots even when the motion of the multi-robots is complex.
发明内容Contents of the invention
有鉴于此,本发明实施例提供了一种多机器人的运动调度方法,以解决现有技术中存在的技术缺陷。本发明实施例同时提供了一种多机器人的运动调度装置,一种计算设备,以及一种计算机可读存储介质。In view of this, embodiments of the present invention provide a multi-robot motion scheduling method to solve the technical defects existing in the existing technology. Embodiments of the present invention simultaneously provide a multi-robot motion scheduling device, a computing device, and a computer-readable storage medium.
根据本发明实施例的第一方面,提供了一种多机器人的运动调度方法,包括:According to a first aspect of the embodiment of the present invention, a multi-robot motion scheduling method is provided, including:
获取多个机器人的运动路径,其中,运动路径包括多个路段;Obtain the movement paths of multiple robots, where the movement paths include multiple road segments;
根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的待运动路段的包络范围,其中,第一机器人为多个机器人中的任一个,包络范围覆盖第一机器人;Determine the envelope range of the path section to be moved by the first robot according to the movement path of the first robot and the first road section currently located, where the first robot is any one of a plurality of robots, and the envelope range covers the first robot;
根据多个机器人的待运动路段的包络范围,确定第一机器人相对于多个机器人中其他机器人的各预测冲突路段;Determine each predicted conflict section of the first robot relative to other robots among the plurality of robots based on the envelope range of the sections to be moved by the multiple robots;
根据各预测冲突路段,对第一机器人进行运动调度。According to each predicted conflict section, motion scheduling is performed on the first robot.
可选地,根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的待运动路段的包络范围,包括:Optionally, determine the envelope range of the section to be moved by the first robot based on the movement path of the first robot and the first section currently located, including:
根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的待运动路段;Determine the road section to be moved by the first robot according to the movement path of the first robot and the first road section currently located;
根据第一机器人的轮廓信息,确定待运动路段的包络范围。According to the contour information of the first robot, the envelope range of the road section to be moved is determined.
可选地,根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的待运动路段,包括:Optionally, determining the section to be moved by the first robot based on the movement path of the first robot and the first section it is currently located on includes:
根据第一机器人的运动路径、当前位于的第一路段以及预设路段数量,确定第一机器人的待运动路段,其中,待运动路段的数量等于预设路段数量。Determine the road sections to be moved by the first robot based on the movement path of the first robot, the first road section currently located, and the preset number of road sections, where the number of road sections to be moved is equal to the preset number of road sections.
可选地,根据多个机器人的待运动路段的包络范围,确定第一机器人相对于多个机器人中其他机器人的各预测冲突路段,包括:Optionally, based on the envelope range of the sections to be moved by the multiple robots, determining each predicted conflict section between the first robot and other robots among the multiple robots includes:
确定第一机器人与第二机器人的待运动路段的包络范围是否存在交集,其中,第二机器人为多个机器人中其他机器人的任一个;Determine whether there is an intersection between the envelope ranges of the sections to be moved by the first robot and the second robot, where the second robot is any other robot among the plurality of robots;
若存在交集,则根据交集,确定第一机器人相对于第二机器人的预测冲突路段。 If there is an intersection, the predicted conflict section of the first robot relative to the second robot is determined based on the intersection.
可选地,根据各预测冲突路段,对第一机器人进行运动调度,包括:Optionally, perform motion scheduling on the first robot based on each predicted conflict section, including:
根据第一机器人相对于其他机器人的各预测冲突路段,确定第一机器人相对于其他机器人的冲突范围;Determine the conflict range of the first robot with respect to other robots based on each predicted conflict section of the first robot with respect to other robots;
根据第一路段和冲突范围,确定第一机器人是否位于冲突范围内;Determine whether the first robot is located within the conflict range based on the first road segment and the conflict range;
若是,则调度第一机器人运动。If so, schedule the first robot movement.
可选地,冲突范围包括冲突路段索引上界和冲突路段索引下界;Optionally, the conflict range includes an upper bound of the conflict segment index and a lower bound of the conflict segment index;
根据第一路段和冲突范围,确定第一机器人是否位于冲突范围内,包括:Determine whether the first robot is within the conflict range based on the first road segment and conflict range, including:
获得第一路段的路段索引;Get the segment index of the first segment;
若路段索引大于或等于冲突路段索引下界,则确定第一机器人位于冲突范围内。If the road segment index is greater than or equal to the lower bound of the conflict segment index, it is determined that the first robot is within the conflict range.
可选地,根据各预测冲突路段,对第一机器人进行运动调度,包括:Optionally, perform motion scheduling on the first robot based on each predicted conflict section, including:
根据第一机器人相对于其他机器人的各预测冲突路段,确定第一机器人相对于其他机器人的冲突范围;Determine the conflict range of the first robot with respect to other robots based on each predicted conflict section of the first robot with respect to other robots;
根据第一机器人相对于第二机器人的预测冲突路段,确定第一机器人的相对冲突包络,其中,第二机器人为其他机器人中的任一个;Determine the relative conflict envelope of the first robot based on the predicted conflict section of the first robot relative to the second robot, where the second robot is any one of the other robots;
根据第一机器人的起点包络和相对冲突包络,确定第一机器人是否位于冲突范围内;Determine whether the first robot is within the conflict range based on the starting point envelope and relative conflict envelope of the first robot;
若是,则调度第一机器人运动。If so, schedule the first robot movement.
可选地,根据第一机器人的起点包络和相对冲突包络,确定第一机器人是否位于冲突范围内,包括:Optionally, determine whether the first robot is within the conflict range based on the starting point envelope and relative conflict envelope of the first robot, including:
若第一机器人的起点包络与相对冲突包络存在交集,则确定第一机器人位于冲突范围内。If the starting point envelope of the first robot intersects with the relative conflict envelope, it is determined that the first robot is within the conflict range.
可选地,在根据第一路段和冲突范围,确定第一机器人是否位于冲突范围内之后,还包括:Optionally, after determining whether the first robot is located within the conflict range based on the first road segment and the conflict range, the method further includes:
若否,则根据第一机器人的运动路径,确定第一机器人的终点包络;If not, determine the endpoint envelope of the first robot based on the movement path of the first robot;
在终点包络与其他机器人的待运动路段的包络范围均不存在交集的情况下,调度第一机器人运动。When the end envelope does not intersect with the envelope ranges of the sections to be moved by other robots, the movement of the first robot is scheduled.
可选地,在终点包络与其他机器人的待运动路段的包络范围均不存在交集的情况下,调度第一机器人运动之后,还包括:Optionally, when the end envelope does not intersect with the envelope ranges of the sections to be moved by other robots, after scheduling the movement of the first robot, it also includes:
若存在多个未被调度的特定机器人,分别统计各特定机器人的跟随机器人数量;If there are multiple unscheduled specific robots, count the number of following robots for each specific robot respectively;
根据各特定机器人的跟随机器人数量,调度各特定机器人中的目标特定机器人运动。The target-specific robot movement in each specific robot is scheduled according to the number of follower robots of each specific robot.
可选地,该方法还包括:Optionally, the method also includes:
在各特定机器人的跟随机器人数量相等的情况下,获取各特定机器人的运动参数;When the number of following robots of each specific robot is equal, the motion parameters of each specific robot are obtained;
根据各特定机器人的运动参数,确定各特定机器人的运动耗时;According to the movement parameters of each specific robot, determine the movement time of each specific robot;
根据各特定机器人的运动耗时,调度各特定机器人中的目标特定机器人运动。According to the movement time of each specific robot, the target specific robot movement in each specific robot is scheduled.
可选地,根据各预测冲突路段,对第一机器人进行运动调度,包括:Optionally, perform motion scheduling on the first robot based on each predicted conflict section, including:
根据各预测冲突路段,确定第一机器人的目标避让索引;Determine the target avoidance index of the first robot based on each predicted conflict section;
根据目标避让索引,调度第一机器人运动至目标路段。According to the target avoidance index, the first robot is scheduled to move to the target road section.
根据本发明实施例的第二方面,提供了一种多机器人的运动调度装置,包括:According to a second aspect of the embodiment of the present invention, a multi-robot motion scheduling device is provided, including:
获取模块,被配置为获取多个机器人的运动路径,其中,运动路径包括多个路段;The acquisition module is configured to acquire the motion paths of multiple robots, where the motion paths include multiple road segments;
包络范围确定模块,被配置为根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的待运动路段的包络范围,其中,第一机器人为多个机器人中的任一个,包络范围覆盖第一机器人;The envelope range determination module is configured to determine the envelope range of the section to be moved by the first robot based on the movement path of the first robot and the first section currently located, where the first robot is any one of a plurality of robots. , the envelope range covers the first robot;
预测冲突路段确定模块,被配置为根据多个机器人的待运动路段的包络范围,确定第一机器人 相对于多个机器人中其他机器人的各预测冲突路段;The prediction conflict section determination module is configured to determine the first robot according to the envelope range of the sections to be moved by the multiple robots. Each predicted conflict segment relative to other robots among multiple robots;
调度模块,被配置为根据各预测冲突路段,对第一机器人进行运动调度。The scheduling module is configured to perform motion scheduling on the first robot according to each predicted conflict section.
根据本发明实施例的第三方面,提供了一种计算设备,包括:According to a third aspect of the embodiment of the present invention, a computing device is provided, including:
存储器和处理器;memory and processor;
所述存储器用于存储计算机可执行指令,所述处理器执行所述计算机可执行指令时实现所述多机器人的运动调度方法的步骤。The memory is used to store computer-executable instructions. When the processor executes the computer-executable instructions, the steps of the multi-robot motion scheduling method are implemented.
根据本发明实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述多机器人的运动调度方法的步骤。According to a fourth aspect of an embodiment of the present invention, a computer-readable storage medium is provided, which stores computer-executable instructions that implement the steps of the multi-robot motion scheduling method when executed by a processor.
本发明提供的多机器人的运动调度方法,获取多个机器人的运动路径,其中,运动路径包括多个路段,根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的待运动路段的包络范围,其中,第一机器人为多个机器人中的任一个,包络范围覆盖第一机器人,根据多个机器人的待运动路段的包络范围,确定第一机器人相对于多个机器人中其他机器人的各预测冲突路段,根据各预测冲突路段,对第一机器人进行运动调度。通过第一机器人的待运动路段的包络范围来确定预测冲突路段,使得可以更好结合机器人的实际运动情况来确定预测冲突路段,实现对多机器人更准确地运动调度。The multi-robot motion scheduling method provided by the present invention obtains the motion paths of multiple robots, where the motion path includes multiple road segments. According to the motion path of the first robot and the first road segment currently located, the to-be-moved motion of the first robot is determined. The envelope range of the road section, where the first robot is any one of the multiple robots, and the envelope range covers the first robot. According to the envelope range of the road section to be moved by the multiple robots, the first robot is determined relative to the multiple robots. According to each predicted conflict section of other robots, the first robot is scheduled for movement based on each predicted conflict section. The predicted conflict section is determined by the envelope range of the section to be moved by the first robot, so that the predicted conflict section can be better combined with the actual movement of the robot to achieve more accurate motion scheduling for multiple robots.
附图说明Description of the drawings
图1是本发明一实施例提供的一种多机器人的运动调度方法的系统结构示意图;Figure 1 is a schematic system structure diagram of a multi-robot motion scheduling method provided by an embodiment of the present invention;
图2是本发明一实施例提供的一种多机器人的运动调度方法的流程图;Figure 2 is a flow chart of a multi-robot motion scheduling method provided by an embodiment of the present invention;
图3A是本发明一实施例提供的一种应用于预防多机器人死锁冲突的多机器人的运动调度方法的处理流程图;Figure 3A is a processing flow chart of a multi-robot motion scheduling method used to prevent multi-robot deadlock conflicts provided by an embodiment of the present invention;
图3B是本发明一实施例提供的一种应用于预防多机器人死锁冲突的多机器人的运动调度方法中的运动路径示意图;Figure 3B is a schematic diagram of a motion path in a multi-robot motion scheduling method used to prevent multi-robot deadlock conflicts provided by an embodiment of the present invention;
图4是本发明一实施例提供的一种多机器人的运动调度装置的结构示意图;Figure 4 is a schematic structural diagram of a multi-robot motion scheduling device provided by an embodiment of the present invention;
图5是本发明一实施例提供的一种计算设备的结构框图。Figure 5 is a structural block diagram of a computing device provided by an embodiment of the present invention.
具体实施方式Detailed ways
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。In the following description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, the present invention can be implemented in many other ways different from those described here. Those skilled in the art can make similar extensions without violating the connotation of the present invention. Therefore, the present invention is not limited by the specific implementation disclosed below.
在本发明一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明一个或多个实施例。在本发明一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本发明一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。The terminology used in one or more embodiments of the invention is for the purpose of describing particular embodiments only and is not intended to limit the one or more embodiments of the invention. As used in one or more embodiments of this invention and the appended claims, the singular forms "a," "the" and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise. It will also be understood that the term "and/or" as used in one or more embodiments of the present invention refers to and includes any and all possible combinations of one or more of the associated listed items.
应当理解,尽管在本发明一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。It should be understood that although the terms first, second, etc. may be used to describe various information in one or more embodiments of the present invention, the information should not be limited to these terms. These terms are only used to distinguish information of the same type from each other. For example, without departing from the scope of one or more embodiments of the present invention, the first may also be referred to as the second, and similarly, the second may also be referred to as the first.
首先,对本发明一个或多个实施例涉及的名词术语进行解释。First, terminology related to one or more embodiments of the present invention will be explained.
机器人调度:通过机器人调度端设定调度规则实现对机器人的调度。Robot scheduling: Robot scheduling is achieved by setting scheduling rules on the robot scheduling terminal.
在本发明中,提供了一种多机器人的运动调度方法。本发明同时涉及一种多机器人的运动调度装置、一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。In the present invention, a multi-robot motion scheduling method is provided. The present invention also relates to a multi-robot motion scheduling device, a computing device, and a computer-readable storage medium, which will be described in detail one by one in the following embodiments.
图1示出了本发明一实施例提供的一种多机器人的运动调度的系统结构示意图。本发明实施例 提供的多机器人的运动调度方法的执行主体为可以的机器人调度端101;机器人调度端101包括:调度端存储器1011和调度端处理器1012,其中,调度端存储器1011存储有预先编写好的调度规则的程序代码,调度端处理器1012用来执行调度规则的程序代码来对多机器人实现运动调度。本发明实施例提供的多机器人的运动调度方法中多个机器人102通过接收机器人调度端101发送的调度规则的程序代码来进行运动。上述机器人调度端101可以是任何一种可与用户进行人机交互的电子产品,例如PC(Personal Computer,个人计算机)、手机、掌上电脑(Pocket PC)、平板电脑等。Figure 1 shows a schematic structural diagram of a multi-robot motion scheduling system provided by an embodiment of the present invention. Embodiments of the invention The execution subject of the provided multi-robot motion scheduling method is the robot dispatching end 101; the robot dispatching end 101 includes: a dispatching end memory 1011 and a dispatching end processor 1012, wherein the dispatching end memory 1011 stores pre-written scheduling rules The program code is used by the scheduling end processor 1012 to execute the program code of the scheduling rules to implement motion scheduling for multiple robots. In the multi-robot motion scheduling method provided by the embodiment of the present invention, multiple robots 102 perform motion by receiving the program code of the scheduling rules sent by the robot scheduling terminal 101. The above-mentioned robot dispatching terminal 101 can be any electronic product that can perform human-computer interaction with the user, such as a PC (Personal Computer), a mobile phone, a Pocket PC, a tablet computer, etc.
机器人调度端101通过获取多个机器人102的运动路径,然后根据第一机器人1021的运动路径和当前位于的第一路段,确定第一机器人1021的待运动路段的包络范围,接着根据多个机器人102的待运动路段的包络范围,确定第一机器人1021相对于多个机器人102中其他机器人(1022,1023……)的各预测冲突路段,根据各预测冲突路段,对第一机器人1021进行运动调度。The robot scheduling end 101 obtains the motion paths of multiple robots 102, and then determines the envelope range of the segment to be moved by the first robot 1021 based on the motion path of the first robot 1021 and the first segment it is currently located on, and then determines the envelope range of the segment to be moved by the first robot 1021 based on the motion path of the multiple robots 102. 102 to determine the envelope range of the section to be moved, determine the predicted conflict sections of the first robot 1021 relative to other robots (1022, 1023...) in the plurality of robots 102, and move the first robot 1021 based on each predicted conflict section Scheduling.
具体的多机器人的运动调度方法将在后续实施例中详述。The specific multi-robot motion scheduling method will be described in detail in subsequent embodiments.
图2出了根据本发明一实施例提供的一种多机器人的运动调度方法的流程图,具体包括以下步骤:Figure 2 shows a flow chart of a multi-robot motion scheduling method according to an embodiment of the present invention, which specifically includes the following steps:
步骤202:获取多个机器人的运动路径,其中,运动路径包括多个路段。Step 202: Obtain the movement paths of multiple robots, where the movement paths include multiple road segments.
机器人取决于在应用场景中所需要实现的具体功能,为具有一种或多种功能的可进行调度的运动机器人。例如,用于餐饮店进行菜品传输的机器人、用于物流仓储进行搬运的机器人,用于工程场景进行勘测施工的机器人,本发明实施例在此不作限定。Depending on the specific functions that need to be implemented in the application scenario, the robot is a schedulable motion robot with one or more functions. For example, robots used for transporting dishes in restaurants, robots used for transportation in logistics and warehousing, and robots used for surveying and construction of engineering scenes. The embodiments of the present invention are not limited here.
机器人的运动路径是预先设定好的可以按照一定的调度规则进行运动的路径,运动路径包括多个节点和节点连接的路段,例如,某餐饮店的座位和过道构成的运动路径,可以将座位看作运动路径上的节点,可以将过道看作运动路径上的路段。或者,某物流仓储仓库,可以将货架看作运动路径上的节点,仓库中的机器人运动轨道看作运动路径上的路段。运动路径可以用节点和路段的标识,也可以用节点和路段的坐标位置标识。The movement path of the robot is a preset path that can move according to certain scheduling rules. The movement path includes multiple nodes and sections connected by the nodes. For example, the movement path composed of the seats and aisles of a restaurant can be used to move the seats. Viewed as nodes on the motion path, aisles can be viewed as segments on the motion path. Or, in a logistics warehousing warehouse, the shelves can be regarded as nodes on the movement path, and the robot movement tracks in the warehouse can be regarded as sections on the movement path. The motion path can be identified by nodes and road segments, or by the coordinate positions of nodes and road segments.
在实际应用中,机器人内置有多张不同工作地图,针对每张工作地图,机器人会构建一条初始运动路径,例如,在某餐饮店中,针对餐饮店的多层,传菜机器人内置有多张对应的工作地图,针对每张工作地图,传菜机器人会构建一条从出菜口到各个座位的初始运动路径。In practical applications, the robot has multiple built-in working maps. For each working map, the robot will build an initial movement path. For example, in a restaurant, for the multiple floors of the restaurant, the robot has multiple built-in working maps. Corresponding work map, for each work map, the food delivery robot will construct an initial movement path from the food outlet to each seat.
获取多个机器人的运动路径,可以为从机器人调度端中预先分配给机器人的调度规则进行推演,得到多个机器人的运动路径,也可以为接收多个机器人上传的运动路径,本发明在此不作限定。Obtaining the movement paths of multiple robots can be performed by deducing the scheduling rules pre-assigned to the robots from the robot scheduling terminal to obtain the movement paths of the multiple robots, or it can be receiving the movement paths uploaded by the multiple robots, which is not covered by the present invention. limited.
具体地,获取多个机器人的运动路径,其中,运动路径包括多个节点和节点连接的多个路径。Specifically, the motion paths of multiple robots are obtained, where the motion paths include multiple nodes and multiple paths connected by the nodes.
示例性地,获取多个机器人A1-An的运动路径T1-Tn,以运动路径T1为例,运动路径T1为A-B-C-D-E,其中A、B、C、D、E为运动路径的节点,连接得到路段AB、BC、CD、DE。For example, the movement paths T1-Tn of multiple robots A1-An are obtained. Taking the movement path T1 as an example, the movement path T1 is A-B-C-D-E, where A, B, C, D, and E are the nodes of the movement path, and the road segments are obtained by connecting them. AB, BC, CD, DE.
通过获取多个机器人的运动路径,为后续确定待运动路段的包络范围奠定了基础。By obtaining the movement paths of multiple robots, it lays the foundation for subsequent determination of the envelope range of the section to be moved.
步骤204:根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的待运动路段的包络范围,其中,第一机器人为多个机器人中的任一个,包络范围覆盖第一机器人。Step 204: Determine the envelope range of the path section to be moved by the first robot based on the movement path of the first robot and the first path segment currently located, where the first robot is any one of multiple robots, and the envelope range covers the first path segment. A robot.
当前位于的第一路段,为当前机器人所在位置对应的运动路径中的路段。例如,当前机器人所在位置为节点A和节点B之间,对应的运动路径中的路段为AB,则确定AB为第一路段。The first road segment currently located is the road segment in the motion path corresponding to the current location of the robot. For example, if the current location of the robot is between node A and node B, and the corresponding segment in the motion path is AB, then AB is determined to be the first segment.
包络范围为机器人在运动过程中覆盖的范围,是根据机器人的形状尺寸确定的,例如,运动路径用坐标表示为(0,0)-(0,1)-(0,2),机器人为一个边长为2的正方形,正方形的中心的运动路径用坐标表示与运动路径的坐标表示是一致的,其包络范围的坐标表示为(-1,-1)(1,-1)-(-1,3)(1,3)的一个矩形。The envelope range is the range covered by the robot during movement, which is determined based on the shape and size of the robot. For example, the movement path is expressed in coordinates as (0, 0)-(0, 1)-(0, 2), and the robot is A square with a side length of 2. The coordinate representation of the motion path of the center of the square is consistent with the coordinate representation of the motion path. The coordinates of its envelope range are expressed as (-1,-1)(1,-1)-( -1,3)(1,3) is a rectangle.
具体地,根据第一机器人的运动路径、当前位于的第一路段和第一机器人的形状尺寸,确定第一机器人的待运动路段的包络范围。Specifically, the envelope range of the section to be moved by the first robot is determined based on the movement path of the first robot, the first section currently located, and the shape and size of the first robot.
示例性地,第一机器人的运动路径用坐标表示为(0,0)-(0,1)-(0,2)-(0,3)、当前 位于的第一路段为(0,0)-(0,1),第一机器人为一个边长为2的正方形,待运动路段的包络范围为(-1,-1)(1,-1)-(-1,3)(1,3)。For example, the movement path of the first robot is represented by coordinates as (0,0)-(0,1)-(0,2)-(0,3), current The first road section is (0, 0)-(0, 1), the first robot is a square with a side length of 2, and the envelope range of the section to be moved is (-1, -1) (1, -1 )-(-1,3)(1,3).
通过根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的包络范围,确定各预测冲突路段奠定了基础。By determining the envelope range of the first robot based on the movement path of the first robot and the first road section currently located, a foundation is laid for determining each predicted conflict road section.
步骤206:根据多个机器人的待运动路段的包络范围,确定第一机器人相对于多个机器人中其他机器人的各预测冲突路段。Step 206: Based on the envelope ranges of the sections to be moved by the multiple robots, determine each predicted conflict section between the first robot and other robots among the multiple robots.
预测冲突路段是机器人在行驶路径上会发生和其他机器人的冲突的路段,The predicted conflict section is the section where the robot will conflict with other robots on the driving path.
第一机器人相对于多个机器人中其他机器人的各预测冲突路段,是通过比较第一机器人和其他机器人的待运动路段的包络范围得到的。第一机器人与其他机器人中每个机器人的包络范围进行比较,所能得到的预测冲突路段是不同的。Each predicted conflict section between the first robot and other robots among the plurality of robots is obtained by comparing the envelope range of the section to be moved between the first robot and other robots. Comparing the envelope range of each robot between the first robot and the other robots, the predicted conflict sections that can be obtained are different.
具体地,将多个机器人的待运动路段的包络范围进行比较,确定第一机器人相对于多个机器人中其他机器人的各预测冲突路段。Specifically, the envelope ranges of the sections to be moved by multiple robots are compared, and each predicted conflict section between the first robot and other robots among the multiple robots is determined.
示例性地,第一机器人的待运动路段的包络范围为(AB-BC-CD),其他机器人的待运动路段的包络范围为(BC-CD-DE),将两个机器人的待运动路段的包络范围进行比较,确定第一机器人相对于多个机器人中其他机器人的预测冲突路段为BC和CD。For example, the envelope range of the section to be moved by the first robot is (AB-BC-CD), and the envelope range of the section to be moved by the other robots is (BC-CD-DE). The envelope range of the sections to be moved by the two robots is The envelope range of the road section is compared to determine the predicted conflict sections BC and CD of the first robot relative to other robots among the multiple robots.
根据多个机器人的待运动路段的包络范围来确定第一机器人相对于多个机器人中其他机器人的各预测冲突路段,确认第一机器人存在冲突风险的路段,为后续根据各预测冲突路段对第一机器人进行调度,提供了参考基础。According to the envelope range of the sections to be moved by the multiple robots, each predicted conflict section of the first robot relative to other robots among the multiple robots is determined, and the section where the first robot has a conflict risk is confirmed, which provides the basis for the subsequent analysis of the predicted conflict section of the first robot. A robot is scheduled and provides a reference basis.
步骤208:根据各预测冲突路段,对第一机器人进行运动调度。Step 208: Perform motion scheduling on the first robot based on each predicted conflict section.
对第一机器人进行运动调度的具体方式为,确定第一机器人在各预测冲突路段上的运动状态,并向第一机器人发送运动调度指令,使得第一机器人在各预测冲突路段上按照运动状态进行对应的运动。The specific method of performing motion scheduling on the first robot is to determine the motion state of the first robot on each predicted conflict road section, and send a motion scheduling instruction to the first robot, so that the first robot moves according to the motion state on each predicted conflict road section. corresponding movement.
具体地,根据各预测冲突路段,确定第一机器人在各预测冲突路段上的运动状态,对第一机器人进行运动调度。Specifically, based on each predicted conflict road section, the movement state of the first robot on each predicted conflict road section is determined, and movement scheduling is performed on the first robot.
示例性地,根据预测冲突路段BC和CD,确定第一机器人在BC路段的运动状态为停止,第一机器人在CD路段的运动状态为前进,对第一机器人进行运动调度。For example, based on the predicted conflict sections BC and CD, it is determined that the movement state of the first robot on the BC section is stopped, and the movement state of the first robot on the CD section is forward, and movement scheduling is performed on the first robot.
本发明实施例中,获取多个机器人的运动路径,其中,运动路径包括多个路段,根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的待运动路段的包络范围,其中,第一机器人为多个机器人中的任一个,包络范围覆盖第一机器人,根据多个机器人的待运动路段的包络范围,确定第一机器人相对于多个机器人中其他机器人的各预测冲突路段,根据各预测冲突路段,对第一机器人进行运动调度。通过第一机器人的待运动路段的包络范围来确定预测冲突路段,使得可以更好结合机器人的实际运动情况来确定预测冲突路段,实现对多机器人更准确地运动调度。In the embodiment of the present invention, the movement paths of multiple robots are obtained, where the movement paths include multiple road sections. According to the movement path of the first robot and the first road section currently located, the envelope range of the road section to be moved by the first robot is determined. , wherein the first robot is any one of the plurality of robots, and the envelope range covers the first robot. According to the envelope ranges of the sections to be moved by the plurality of robots, the relative positions of the first robot relative to other robots among the plurality of robots are determined. Conflict road sections are predicted, and movement scheduling is performed on the first robot based on each predicted conflict road section. The predicted conflict section is determined by the envelope range of the section to be moved by the first robot, so that the predicted conflict section can be better combined with the actual movement of the robot to achieve more accurate motion scheduling for multiple robots.
可选地,步骤204包括如下具体步骤:Optionally, step 204 includes the following specific steps:
根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的待运动路段;Determine the road section to be moved by the first robot according to the movement path of the first robot and the first road section currently located;
根据第一机器人的轮廓信息,确定待运动路段的包络范围。According to the contour information of the first robot, the envelope range of the road section to be moved is determined.
待运动路段为第一机器人运动路径上,从当前位于的第一路段开始计算,将要运动的一定的路段。将要运动的一定的路段是根据预先设定的确定条件确定的,确定条件可以将要运动的路段数量,可以为将要运动的终点等。例如,第一机器人的运动路径包括多个路段,为AB-BC-CD-DE,当前位于的第一路段为AB,第一路段开始将要运动到节点D,待运动路段为AB、BC和CD。The section to be moved is a certain section on the movement path of the first robot, calculated from the first section currently located, that will be moved. A certain road section to be moved is determined based on preset determination conditions. The determination condition may be the number of road sections to be moved, or the end point of the movement, etc. For example, the movement path of the first robot includes multiple road segments, which is AB-BC-CD-DE. The first road segment currently located is AB. The first road segment will start to move to node D, and the sections to be moved are AB, BC, and CD. .
第一机器人的轮廓信息为第一机器人尺寸形状确定的可以扫过的面积信息,第一机器人不一定为规则形状的机器人,会根据应用场景设定为不同尺寸形状的机器人,因而需要根据其扫过的面积信息,即轮廓信息确定待运动路段的包络范围。 The outline information of the first robot is the area information that can be swept by the size and shape of the first robot. The first robot is not necessarily a regular-shaped robot. It will be set to a robot of different sizes and shapes according to the application scenario. Therefore, it needs to be scanned according to the size and shape of the first robot. The area information passed, that is, the contour information, determines the envelope range of the section to be moved.
具体地,根据第一机器人的运动路径、当前位于的第一路段和预设的确定条件,确定第一机器人的待运动路段,根据第一机器人的轮廓信息,确定待运动路段的包络范围。Specifically, the section to be moved by the first robot is determined based on the movement path of the first robot, the first section currently located and the preset determination conditions, and the envelope range of the section to be moved is determined based on the contour information of the first robot.
示例性地,根据第一机器人的运动路径AB-BC-CD-DE、当前位于的第一路段AB和预设的确定条件:终点为D,确定第一机器人的待运动路段BC和CD,根据第一机器人的轮廓信息,确定待运动路段的包络范围。For example, according to the movement path AB-BC-CD-DE of the first robot, the first section AB currently located and the preset determination condition: the end point is D, determine the sections BC and CD to be moved by the first robot, according to The contour information of the first robot determines the envelope range of the section to be moved.
根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的待运动路段,根据第一机器人的轮廓信息,确定待运动路段的包络范围,使得确定得到的待运动路段的包络范围更符合第一机器人的实际运动情况,进而使得确定的待运动路段的包络范围更加精准,后续预测得到的各预测冲突路段更准确,对第一机器人的运动调度与第一机器人的实际运动情况更契合。According to the movement path of the first robot and the first section currently located, the section to be moved by the first robot is determined, and the envelope range of the section to be moved is determined based on the contour information of the first robot, so that the envelope of the section to be moved is determined. The envelope range is more in line with the actual movement of the first robot, thereby making the envelope range of the determined section to be moved more accurate, and the subsequent predicted conflict sections more accurate. The movement scheduling of the first robot is consistent with the actual movement of the first robot. More suitable for sports situations.
可选地,根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的待运动路段,包括如下具体步骤:Optionally, determining the section to be moved by the first robot based on the movement path of the first robot and the first section it is currently located on includes the following specific steps:
根据第一机器人的运动路径、当前位于的第一路段以及预设路段数量,确定第一机器人的待运动路段,其中,待运动路段的数量等于预设路段数量。Determine the road sections to be moved by the first robot based on the movement path of the first robot, the first road section currently located, and the preset number of road sections, where the number of road sections to be moved is equal to the preset number of road sections.
预设路段数量为用来实现对第一机器人运动路径监测的监测窗口,因为如果对多个机器人的运动路径每个路段都进行监测,会因为数据量太多导致运动调度的计算量太高,进而需要设定一个预设路段数量的监测窗口来进行监测。预设路段数量是根据第一机器人的实际运动情况确定的,若第一机器人的运动速度较高,则预设路段数量需要设计较多,来保证及时检测到冲突,提升调度的及时性来保证多机器人运动调度的可靠性和安全性。The preset number of road sections is the monitoring window used to monitor the movement path of the first robot, because if each section of the movement path of multiple robots is monitored, the calculation amount of motion scheduling will be too high due to too much data. Then it is necessary to set a monitoring window with a preset number of road sections for monitoring. The number of preset road sections is determined based on the actual movement of the first robot. If the movement speed of the first robot is high, the number of preset road sections needs to be designed to be larger to ensure timely detection of conflicts and improve the timeliness of scheduling. Reliability and safety of multi-robot motion scheduling.
具体地,根据第一机器人的运动路径、当前位于的第一路段以及预设路段数量,确定第一机器人的待运动路段,待运动路段为第一机器人在运动路径中从第一路段开始将要运动的预设路段数量的路段。Specifically, according to the movement path of the first robot, the first road section currently located and the preset number of road sections, the road section to be moved by the first robot is determined. The road section to be moved is the road section that the first robot will move starting from the first road section in the movement path. of preset number of road segments.
示例性地,根据第一机器人的运动路径AB-BC-CD-DE、当前位于的第一路段AB,预设路段数量为2,第一机器人在运动路径AB-BC-CD-DE上从第一路段AB开始将要运动的2个路段,即BC和CD为待运动路段。For example, according to the motion path AB-BC-CD-DE of the first robot and the first road segment AB currently located, the preset number of road segments is 2, and the first robot starts from the first road segment AB-BC-CD-DE on the motion path AB-BC-CD-DE. A section AB starts with two sections that will be moved, namely BC and CD are the sections to be moved.
根据第一机器人的运动路径、当前位于的第一路段以及预设路段数量,确定第一机器人的待运动路段,降低了整体的计算量,提升了确定待运动路段的效率,进而提升了整体多机器人的运动调度的效率。According to the movement path of the first robot, the first road section currently located, and the preset number of road sections, the section to be moved by the first robot is determined, which reduces the overall calculation amount, improves the efficiency of determining the section to be moved, and thereby improves the overall multi-purpose Efficiency of robot motion scheduling.
可选地,步骤206包括如下具体步骤:Optionally, step 206 includes the following specific steps:
确定第一机器人与第二机器人的待运动路段的包络范围是否存在交集,其中,第二机器人为多个机器人中其他机器人的任一个;Determine whether there is an intersection between the envelope ranges of the sections to be moved by the first robot and the second robot, where the second robot is any other robot among the plurality of robots;
若存在交集,则根据交集,确定第一机器人相对于第二机器人的预测冲突路段。If there is an intersection, the predicted conflict section of the first robot relative to the second robot is determined based on the intersection.
确定第一机器人和第二机器人的待运动路段的包络范围是否存在交集,即两者的包络范围是否存在重叠部分。例如,第一机器人的包络范围为一个坐标为(0,0)(0,1)(1,1)(1,0)的正方形,第二机器人的包络范围为一个坐标为(0,0)(0,1)(5,1)(5,0)的矩形,两者在(0,0)(0,1)(1,1)(1,0)的正方形范围内存在重叠部分,及认定第一机器人和第二机器人的待运动路段的包络范围存在交集。Determine whether the envelope ranges of the sections to be moved by the first robot and the second robot intersect, that is, whether the envelope ranges of the two overlap. For example, the envelope range of the first robot is a square with coordinates (0, 0) (0, 1) (1, 1) (1, 0), and the envelope range of the second robot is a square with coordinates (0, The rectangle of 0)(0,1)(5,1)(5,0), the two overlap within the square range of (0,0)(0,1)(1,1)(1,0) , and it is determined that the envelope ranges of the sections to be moved by the first robot and the second robot intersect.
若存在交集,根据交集,确定第一机器人相对于第二机器人的预测冲突路段的方式为:针对第一机器人,根据第一机器人在交集内的所有路段,确定第一机器人相对于第二机器人的预测冲突路段。If there is an intersection, the way to determine the predicted conflict segment of the first robot relative to the second robot based on the intersection is: for the first robot, determine the path segment of the first robot relative to the second robot based on all the segments of the first robot within the intersection. Predict conflict sections.
具体地,确定第一机器人与第二机器人的待运动路段的包络范围是否存在交集,若存在交集,则针对第一机器人,根据第一机器人在交集内的所有路段,确定第一机器人相对于第二机器人的预测冲突路段。Specifically, it is determined whether there is an intersection between the envelope ranges of the sections to be moved by the first robot and the second robot. If there is an intersection, then for the first robot, it is determined based on all the sections of the first robot within the intersection that the first robot is relative to Prediction of conflict sections by the second robot.
示例性地,第一机器人的待运动路段的包络范围为A-B-C-D-E节点周围的矩形,第二机器人的 待运动路段的包络范围为D-E-F节点周围的矩形,确定第一机器人与第二机器人的待运动路段的包络范围存在交集,为D、E,针对第一机器人,根据第一机器人在交集范围内的所有路段CD、DE、确定,第一机器人相对于第二机器人的预测冲突路段为CD、DE。For example, the envelope range of the section to be moved by the first robot is the rectangle around the ABCDE node, and the envelope range of the second robot's section is the rectangle around the ABCDE node. The envelope range of the section to be moved is the rectangle around the DEF node. It is determined that the envelope ranges of the sections to be moved by the first robot and the second robot intersect, which are D and E. For the first robot, according to the intersection range of the first robot All road sections CD, DE, within are determined, and the predicted conflict sections of the first robot relative to the second robot are CD, DE.
可选地,若不存在交集,确定第一机器人和第二机器人不存在冲突。Optionally, if there is no intersection, it is determined that there is no conflict between the first robot and the second robot.
通过确定第一机器人和第二机器人的包络范围是否存在集合,根据集合确定第一机器人相对于第二机器人的预测冲突路径,提升了预测冲突路径的确定效率,进而提升了整体的多机器人的运动调度的调度效率。By determining whether there is a set in the envelope range of the first robot and the second robot, and determining the predicted conflict path of the first robot relative to the second robot based on the set, the efficiency of determining the predicted conflict path is improved, thereby improving the overall multi-robot performance. Scheduling efficiency of motion scheduling.
可选地,步骤208包括如下具体步骤:Optionally, step 208 includes the following specific steps:
根据第一机器人相对于其他机器人的各预测冲突路段,确定第一机器人相对于其他机器人的冲突范围;Determine the conflict range of the first robot with respect to other robots based on each predicted conflict section of the first robot with respect to other robots;
根据第一路段和冲突范围,确定第一机器人是否位于冲突范围内;Determine whether the first robot is located within the conflict range based on the first road segment and the conflict range;
若是,则调度第一机器人运动。If so, schedule the first robot movement.
第一机器人相对于其他机器人的冲突范围为根据各预测冲突路段,进行统计得到的冲突路段的范围,例如,第一机器人相对于其他机器人的预测冲突路段为CD、DE和EF,统计得到的冲突范围为(CD,EF),表示机器人从CD路段运动到EF路段存在相对于其他机器人的冲突。The conflict range of the first robot with respect to other robots is the range of conflict sections obtained by statistics based on each predicted conflict section. For example, the predicted conflict sections of the first robot with respect to other robots are CD, DE and EF, and the conflicts obtained by statistics The range is (CD, EF), which means that the robot moves from the CD section to the EF section and has conflicts with other robots.
如果两个机器人都进入了同一冲突范围,则两者都会发生死锁,即该冲突无法避免,因而在确定第一机器人已经位于冲突范围内,调度第一机器人运动,而对于其他机器人在未进入冲突范围内时,调度其进行避让,才可以避免第一机器人和其他机器人都发生死锁。例如,冲突范围为(CD,EF),第一机器人当前位于第一路段CD路段时,若其他机器人位于EF路段,在同一冲突范围内时,冲突无法避免,因而第一机器人的第一路段在冲突范围内时,调度第一机器人进行运动。If both robots enter the same conflict range, both robots will deadlock, that is, the conflict cannot be avoided. Therefore, after determining that the first robot is already within the conflict range, the movement of the first robot will be scheduled, and for other robots that have not entered the conflict range, a deadlock will occur. When within the conflict range, scheduling it to avoid can avoid deadlocks between the first robot and other robots. For example, the conflict range is (CD, EF). When the first robot is currently located in the first section CD, if other robots are located in the EF section and are in the same conflict range, the conflict cannot be avoided. Therefore, the first section of the first robot is in When within the conflict range, the first robot is scheduled to move.
第一路段为第一机器人待运动路段中起点所在路段。The first section is the section where the starting point is in the section to be moved by the first robot.
具体地,根据第一机器人相对于其他机器人的各预测冲突路段,确定第一机器人相对于其他机器人的冲突范围,若第一路段在冲突范围内,确定第一机器人位于冲突范围内,调度第一机器人运动。Specifically, based on each predicted conflict section of the first robot relative to other robots, the conflict range of the first robot relative to other robots is determined. If the first road section is within the conflict range, it is determined that the first robot is within the conflict range, and the first robot is scheduled. Robot movement.
示例性地,第一机器人相对于第二机器人的预测冲突路段为CD、DE、EF和FG,确定第一机器人相对于第二机器人的冲突范围为(CD,FG),第一机器人的第一路段为DE,第一路段DE在冲突范围(CD,FG)内,调度第一机器人运动。For example, the predicted conflict sections of the first robot with respect to the second robot are CD, DE, EF and FG, and the conflict range of the first robot with respect to the second robot is determined to be (CD, FG). The road segment is DE, the first road segment DE is within the conflict range (CD, FG), and the movement of the first robot is scheduled.
根据第一机器人相对于其他机器人的各预测冲突路段,确定第一机器人相对于其他机器人的冲突范围,根据第一路段和冲突范围,确定第一机器人是否位于冲突范围内,若是,则调度第一机器人运动,可以在其他机器人未进入冲突范围时,造成第一机器人和其他机器人的冲突无法避免,提前进行调度,及时预防了冲突发生,保证了多机器人的运动可靠性和安全性。According to each predicted conflict section of the first robot relative to other robots, the conflict range of the first robot relative to other robots is determined. Based on the first road section and the conflict range, it is determined whether the first robot is within the conflict range. If so, the first robot is scheduled. Robot movement can cause unavoidable conflicts between the first robot and other robots when other robots have not entered the conflict range. Scheduling in advance prevents conflicts in time and ensures the reliability and safety of multi-robot movements.
可选地,冲突范围包括冲突路段索引上界和冲突路段索引下界,根据第一路段和冲突范围,确定第一机器人是否位于冲突范围内,包括如下具体步骤:Optionally, the conflict range includes an upper bound of the conflict segment index and a lower bound of the conflict segment index. Based on the first road segment and the conflict range, determining whether the first robot is located within the conflict range includes the following specific steps:
获得第一路段的路段索引;Get the segment index of the first segment;
若路段索引大于或等于冲突路段索引下界,则确定第一机器人位于冲突范围内。If the road segment index is greater than or equal to the lower bound of the conflict segment index, it is determined that the first robot is within the conflict range.
路段索引为用来标注运动路径中每段路段的路段索引,可以为路段的顺序标号,可以为路段的节点名称,还可以为路段的坐标表示,本发明说明书以路段的顺序标号为例。The road segment index is a road segment index used to mark each road segment in the movement path. It can be the sequential labeling of the road segment, the node name of the road segment, or the coordinate representation of the road segment. The description of the present invention takes the sequential labeling of the road segment as an example.
冲突路段索引上界为冲突范围中最后一个预测冲突路段的路段索引,冲突路段索引下界为冲突范围中第一个预测冲突路段的路段索引。例如,冲突范围为(0,3),表示第一机器人相对于其他机器人的冲突范围为第一机器人的第0段路段到第3段路段,冲突路段索引上界为3,冲突路段索引下界为0。The upper bound of the conflict section index is the section index of the last predicted conflict section in the conflict range, and the lower bound of the conflict section index is the section index of the first predicted conflict section in the conflict range. For example, the conflict range is (0, 3), which means that the conflict range of the first robot relative to other robots is the first robot's section 0 to section 3. The upper bound of the conflict section index is 3, and the lower bound of the conflict section index is 0.
示例性地,第一路段的路段索引为1,冲突范围为(0,3),冲突路段索引上界为3,冲突路段 索引下界为0,第一路段的路段索引大于冲突路段索引下界,确定第一机器人已经位于冲突范围内。For example, the segment index of the first segment is 1, the conflict range is (0, 3), the upper bound of the conflict segment index is 3, and the conflict segment The lower bound of the index is 0, and the road segment index of the first road segment is greater than the lower bound of the conflicting road segment index. It is determined that the first robot is already within the conflict range.
通过获得第一路段的路段索引,并根据路段索引和冲突路段索引下界的大小关系,来确定第一机器人是否位于冲突范围内,进而在后续对第一机器人的运动调度,这样利用路段索引确定第一机器人是否位于冲突范围内,提升了确定效率,进而提升了对第一机器人进行运动调度的调度效率。By obtaining the section index of the first section, and based on the relationship between the section index and the lower bound of the conflict section index, it is determined whether the first robot is within the conflict range, and then the movement of the first robot is subsequently scheduled, so that the section index is used to determine the third Whether a robot is located within the conflict range improves the determination efficiency, thereby improving the scheduling efficiency of motion scheduling for the first robot.
可选地,根据各预测冲突路段,对第一机器人进行运动调度,包括如下具体步骤:Optionally, perform motion scheduling on the first robot based on each predicted conflict section, including the following specific steps:
根据第一机器人相对于其他机器人的各预测冲突路段,确定第一机器人相对于其他机器人的冲突范围;Determine the conflict range of the first robot with respect to other robots based on each predicted conflict section of the first robot with respect to other robots;
根据第一机器人相对于第二机器人的预测冲突路段,确定第一机器人的相对冲突包络,其中,第二机器人为其他机器人中的任一个;Determine the relative conflict envelope of the first robot based on the predicted conflict section of the first robot relative to the second robot, where the second robot is any one of the other robots;
根据第一机器人的起点包络和相对冲突包络,确定第一机器人是否位于冲突范围内;Determine whether the first robot is within the conflict range based on the starting point envelope and relative conflict envelope of the first robot;
若是,则调度第一机器人运动。If so, schedule the first robot movement.
第一机器人的相对冲突包络为第一机器人在相对于第二机器人的预测冲突路段的运动过程中的覆盖范围,例如,第一机器人为正方形的机器人,其在待运动路段的运动的覆盖范围为矩形。第一机器人相对于第二机器人的预测冲突路段为CD、DE,确定第一机器人的相对冲突包络为C-D-E节点周围的矩形。The relative conflict envelope of the first robot is the coverage range of the first robot during its movement relative to the predicted conflict section of the second robot. For example, if the first robot is a square robot, its coverage range during the movement of the section to be moved is a rectangle. The predicted conflict sections of the first robot relative to the second robot are CD and DE, and the relative conflict envelope of the first robot is determined to be the rectangle around the C-D-E node.
第一机器人的起点包络为机器人当前所在位置的包络范围,例如,第一机器人为正方形的机器人,第一机器人当前位于C点,则C点周围的正方形为起点包络。The starting point envelope of the first robot is the envelope range of the robot's current location. For example, if the first robot is a square robot and the first robot is currently located at point C, then the square around point C is the starting point envelope.
根据第一机器人的起点包络和相对冲突包络,确定第一机器人是否位于冲突范围内,为根据起点包络和相对冲突包络之间的距离关系,确定第一机器人是否位于冲突范围内。例如,若设定距离阈值为d,当起点包络和相对冲突之间的距离小于等于d时,确定第一机器人位于冲突范围内,或者,若起点包络和相对冲突包络之间存在交集,确定第一机器人位于冲突范围内。Determining whether the first robot is located within the conflict range based on the starting point envelope and the relative conflict envelope of the first robot is to determine whether the first robot is located within the conflict range based on the distance relationship between the starting point envelope and the relative conflict envelope. For example, if the distance threshold is set to d, when the distance between the starting envelope and the relative conflict is less than or equal to d, it is determined that the first robot is within the conflict range, or if there is an intersection between the starting envelope and the relative conflict envelope , determine that the first robot is within the conflict range.
具体地,根据第一机器人相对于其他机器人的各预测冲突路段,确定第一机器人相对于其他机器人的冲突范围,根据第一机器人相对于第二机器人的预测冲突路段,确定第一机器人的相对冲突包络,根据起点包络和相对冲突包络之间的距离关系,确定第一机器人是否位于冲突范围内。Specifically, the conflict range of the first robot relative to other robots is determined based on each predicted conflict section of the first robot relative to other robots, and the relative conflict of the first robot is determined based on the predicted conflict section of the first robot relative to the second robot. Envelope, based on the distance relationship between the starting point envelope and the relative conflict envelope, determine whether the first robot is within the conflict range.
示例性地,第一机器人为正方形,根据第一机器人相对于第二机器人的预测冲突路段为A-B-C-D,确定第一机器人的相对冲突包络为A-B-C-D节点周围的矩形,预设的距离阈值为d,若起点包络(E点周围的正方形)和相对冲突包络(A-B-C-D节点周围的矩形)之间的距离小于等于d,确定第一机器人位于冲突范围内,调度第一机器人运动。For example, the first robot is a square. According to the predicted conflict segment of the first robot relative to the second robot is A-B-C-D, the relative conflict envelope of the first robot is determined to be the rectangle around the A-B-C-D node. The preset distance threshold is d. If the distance between the starting point envelope (the square around point E) and the relative conflict envelope (the rectangle around the A-B-C-D node) is less than or equal to d, it is determined that the first robot is within the conflict range, and the movement of the first robot is scheduled.
根据第一机器人相对于其他机器人的各预测冲突路段,确定第一机器人相对于其他机器人的冲突范围,根据第一机器人相对于第二机器人的预测冲突路段,确定第一机器人的相对冲突包络,其中,第二机器人为其他机器人中的任一个,根据第一机器人的起点包络和相对冲突包络,确定第一机器人是否位于冲突范围内,若是,则调度第一机器人运动。通过第一机器人的起点包络和第一机器人的相对冲突包络,来对第一机器人进行调度,可以在其他机器人未进入冲突范围时,造成第一机器人和其他机器人的冲突无法避免,提前进行调度,及时预防了冲突发生,保证了多机器人的运动可靠性和安全性。Determine the conflict range of the first robot relative to other robots based on each predicted conflict section of the first robot relative to other robots, determine the relative conflict envelope of the first robot based on the predicted conflict sections of the first robot relative to the second robot, Wherein, the second robot is any one of the other robots, and based on the starting point envelope and the relative conflict envelope of the first robot, it is determined whether the first robot is within the conflict range, and if so, the movement of the first robot is scheduled. Scheduling the first robot through the starting point envelope of the first robot and the relative conflict envelope of the first robot can cause unavoidable conflicts between the first robot and other robots before other robots enter the conflict range and proceed in advance. Scheduling prevents conflicts in time and ensures the reliability and safety of multi-robot movements.
可选地,根据第一机器人的起点包络和相对冲突包络,确定第一机器人是否位于冲突范围内,包括如下具体步骤:Optionally, determining whether the first robot is within the conflict range according to the starting point envelope and the relative conflict envelope of the first robot includes the following specific steps:
若第一机器人的起点包络与相对冲突包络存在交集,则确定第一机器人位于冲突范围内。If the starting point envelope of the first robot intersects with the relative conflict envelope, it is determined that the first robot is within the conflict range.
第一机器人的起点包络与相对冲突包络存在交集,即两者的范围存在重叠部分。The starting point envelope of the first robot intersects with the relative conflict envelope, that is, the ranges of the two overlap.
示例性地,第一机器人为正方形,根据第一机器人相对于第二机器人的预测冲突路段为A-B-C-D,确定第一机器人的相对冲突包络为A-B-C-D节点周围的矩形,若起点包络(E点周围的正方形)和相对冲突包络(A-B-C-D节点周围的矩形)之间存在交集,确定第一机器人位于冲突范 围内,调度第一机器人运动。For example, the first robot is a square. According to the predicted conflict segment of the first robot relative to the second robot is ABCD, the relative conflict envelope of the first robot is determined to be the rectangle around the ABCD node. If the starting point envelope (around point E There is an intersection between the square) and the relative conflict envelope (the rectangle around the ABCD node), which determines that the first robot is located in the conflict range Within the range, schedule the movement of the first robot.
通过第一机器人的起点包络和第一机器人的相对冲突包络是否存在交集,来对第一机器人进行调度,可以更精准地在其他机器人未进入冲突范围时,造成第一机器人和其他机器人的冲突无法避免,提前进行调度,更及时预防了冲突发生,进一步保证了多机器人的运动可靠性和安全性。Scheduling the first robot based on whether there is an intersection between the starting point envelope of the first robot and the relative conflict envelope of the first robot can more accurately cause the collision between the first robot and other robots when other robots do not enter the conflict range. Conflicts are unavoidable, and scheduling in advance can prevent conflicts in a timely manner, further ensuring the reliability and safety of multi-robot movements.
可选地,在根据第一路段和冲突范围,确定第一机器人是否位于冲突范围内之后,还包括如下具体步骤:Optionally, after determining whether the first robot is located within the conflict range based on the first road segment and the conflict range, the following specific steps are also included:
若否,则根据第一机器人的运动路径,确定第一机器人的终点包络;If not, determine the endpoint envelope of the first robot based on the movement path of the first robot;
在终点包络与其他机器人的待运动路段的包络范围均不存在交集的情况下,调度第一机器人运动。When the end envelope does not intersect with the envelope ranges of the sections to be moved by other robots, the movement of the first robot is scheduled.
第一机器人的终点包络为第一机器人的运动路径中最后一个路段的终点节点对应的包络。例如,第一机器人的运动路径为A-B-C-D-E,最后一个路段DE的终点节点E的包络范围即为终点包络。The end envelope of the first robot is the envelope corresponding to the end node of the last segment in the motion path of the first robot. For example, the movement path of the first robot is A-B-C-D-E, and the envelope range of the end node E of the last road segment DE is the end envelope.
对于第一机器人和第二机器人,如果第一机器人的运动路径超出了其他机器人的待运动路段的包络范围,则第一机器人在运动过冲突范围后还要继续运动直到到达终点,第二机器人的运动路径未超出会在其待运动路段的包络范围,则第二机器人不会运动超出冲突范围,会停止在第一机器人运动路径中的某一预测冲突路径上,阻挡第一机器人的正常运动,因而,需要第一机器人先运动直到第一机器人运动,直到与其他机器人的待运动路段的包络范围均不存在交接的情况下,第二机器人的运动才不会阻挡住第一机器人的正常运动,避免冲突。例如,第一机器人的运动路径为A-B-C-D-E-F,第二机器人的运动路径为F-B-C-D,第一机器人相对于第二机器人的预测冲突路段为BC、CD和DE,若第二机器人先运动停止在了终点D,则第一机器人继续运动,会在D点和第二机器人发生冲突。For the first robot and the second robot, if the movement path of the first robot exceeds the envelope range of the section to be moved by the other robots, the first robot will continue to move after moving through the conflict range until it reaches the end point, and the second robot will If the movement path of the second robot does not exceed the envelope range of the section to be moved, the second robot will not move beyond the conflict range and will stop on a predicted conflict path in the first robot's movement path, blocking the normal movement of the first robot. Movement, therefore, requires the first robot to move first until the first robot moves, and until there is no handover with the envelope range of the section to be moved by other robots, the movement of the second robot will not block the movement of the first robot. Move normally and avoid conflicts. For example, the movement path of the first robot is A-B-C-D-E-F, the movement path of the second robot is F-B-C-D, and the predicted conflict sections between the first robot and the second robot are BC, CD and DE. If the second robot moves first and stops at the end point D , then the first robot continues to move and will conflict with the second robot at point D.
在第一机器人的终点包络与其他机器人的待运动路段的包络范围均不存在交集的情况下,说明第一机器人的运动路径上不存在可能到达终点并停止的其他机器人,需要先对第一机器人进行运动调度。When the end envelope of the first robot does not intersect with the envelope ranges of the sections to be moved by other robots, it means that there are no other robots on the movement path of the first robot that may reach the end point and stop. It is necessary to first A robot performs motion scheduling.
具体地,根据第一机器人的运动路径,确定第一机器人的终点,根据第一机器人的终点和第一机器人的轮廓信息,确定第一机器人的终点包络,在终点包络与其他机器人的待运动路段的包络范围均不存在交集的情况下,调度第一机器人运动。Specifically, the end point of the first robot is determined according to the movement path of the first robot, and the end point envelope of the first robot is determined based on the end point of the first robot and the contour information of the first robot. When there is no intersection between the envelope ranges of the moving sections, the movement of the first robot is scheduled.
示例性地,第一机器人的运动路径为A-B-C-D-E-F,确定第一机器人的终点为E,根据第一机器人的终点E和第一机器人的轮廓信息(半径为1的圆形),确定第一机器人的终点包络,在第一机器人的终点包络和其他机器人的待运动路段的包络范围均不存在交接的情况下,保证了第一机器人的运动路径上不存在可能到达终点并停止的其它机器,不会发生冲突,调度第一机器人运动。For example, the movement path of the first robot is A-B-C-D-E-F, and the end point of the first robot is determined to be E. According to the end point E of the first robot and the contour information of the first robot (a circle with a radius of 1), the end point of the first robot is determined. The end envelope, when there is no handover between the end envelope of the first robot and the envelope range of the sections to be moved by other robots, ensures that there are no other machines on the movement path of the first robot that may reach the end and stop. , no conflict will occur, and the first robot movement is scheduled.
根据第一机器人的运动路径,确定第一机器人的终点包络,在终点包络与其他机器人的待运动路段的包络范围均不存在交集的情况下,调度第一机器人运动。可以在其他机器人未停止或占据第一机器人的运动路径上的某一路段时,就对第一机器人进行运动调度,避免了其他机器人阻挡第一机器人的正常运动,及时预防了冲突发生,保证了多机器人的运动可靠性和安全性。According to the motion path of the first robot, the end envelope of the first robot is determined, and when there is no intersection between the end envelope and the envelope range of the sections to be moved by other robots, the movement of the first robot is scheduled. The movement of the first robot can be scheduled before other robots stop or occupy a certain section of the movement path of the first robot, thus preventing other robots from blocking the normal movement of the first robot, preventing conflicts in a timely manner, and ensuring Multi-robot motion reliability and safety.
可选地,在终点包络与其他机器人的待运动路段的包络范围均不存在交集的情况下,调度第一机器人运动之后,还包括如下具体步骤:Optionally, in the case where the end envelope does not intersect with the envelope ranges of the sections to be moved by other robots, after scheduling the movement of the first robot, the following specific steps are also included:
若存在多个未被调度的特定机器人,分别统计各特定机器人的跟随机器人数量;If there are multiple unscheduled specific robots, count the number of following robots for each specific robot respectively;
根据各特定机器人的跟随机器人数量,调度各特定机器人中的目标特定机器人运动。The target-specific robot movement in each specific robot is scheduled according to the number of follower robots of each specific robot.
之前对于第一机器人完成调度,第一机器人是多个机器人中任一个,但是由于对于第一机器人的调度是相对于其他机器人进行确定的,因而,不可避免地由于机器人之间的差异,包括机器人的轮廓信息差异、机器人当前位于的第一路段差异、预设路段数量的差异等实际运动的运动调度场景差异,导致多个特定的机器人未被调度,需要对这些机器人进行运动调度,来保证多机器人的运动调度的完整性。 Previously, the scheduling was completed for the first robot. The first robot was any one of multiple robots. However, since the scheduling for the first robot was determined relative to other robots, it was inevitable that due to differences between robots, including robots, Differences in motion scheduling scenarios such as differences in contour information, differences in the first road section where the robot is currently located, differences in the number of preset road sections, etc., have resulted in multiple specific robots being unscheduled. Movement scheduling of these robots is required to ensure that multiple robots are not scheduled. Integrity of robot motion scheduling.
跟随机器人为跟随特定机器人的机器人,跟随机器人和特定机器人具有相同的运动路径。例如,某餐饮店中,某座位的顾客点单多个菜品,需要通过多个机器人进行传输,即特定机器人包括多个跟随机器人。A following robot is a robot that follows a specific robot. The following robot and the specific robot have the same movement path. For example, in a restaurant, a customer at a certain seat orders multiple dishes, which need to be transmitted through multiple robots, that is, a specific robot includes multiple follower robots.
在某些场景下,跟随机器人数量少的特定机器人,优先进行运动调度,可以保证其他特定机器人和对应的跟随机器人不需要长时间停止来等待。在某些场景下,跟随机器人数量多的特定机器人,优先进行运动调度,可以保证更多的机器人运动到终点,完成对应的任务,实现其对应的功能。具体的选择在此不作限定。In some scenarios, specific robots with a small number of following robots are prioritized for motion scheduling, which can ensure that other specific robots and corresponding following robots do not need to stop and wait for a long time. In some scenarios, following a specific robot with a large number of robots and giving priority to movement scheduling can ensure that more robots move to the end point, complete the corresponding tasks, and realize their corresponding functions. Specific choices are not limited here.
具体地,若存在多个未被调度的特定机器人,分别统计各特定机器人的跟随机器人数量,根据各特定机器人的跟随机器人数量和实际应用场景,确定目标特定机器人,调度各特定机器人中的目标特定机器人和其对应的跟随机器人运动。Specifically, if there are multiple unscheduled specific robots, count the number of follower robots of each specific robot respectively, determine the target specific robot based on the number of follower robots of each specific robot and the actual application scenario, and schedule the target specific robot among each specific robot. The robot and its counterpart follow the robot's movement.
示例性地,在其他特定机器人和对应的跟随机器人不需要长时间停止来等待的实际应用场景下,存在三个未被调度的特定机器人B1、B2和B3,分别统计B1、B2和B3的跟随机器人数量为3、5、4,根据三个特定机器人的跟随机器人数量和实际应用场景,确定跟随机器人数量最少的特定机器人B1为目标特定机器人,调度目标特定机器人B1和其对应的三个跟随机器人运动。For example, in an actual application scenario where other specific robots and corresponding following robots do not need to stop for a long time to wait, there are three unscheduled specific robots B1, B2 and B3, and the following statistics of B1, B2 and B3 are respectively The number of robots is 3, 5, and 4. Based on the number of following robots and the actual application scenarios of the three specific robots, the specific robot B1 with the smallest number of following robots is determined as the target specific robot, and the target specific robot B1 and its corresponding three following robots are scheduled. sports.
针对多个未被调度的特定机器人,分别统计各特定机器人的跟随机器人数量,根据各特定机器人的跟随机器人数量,调度各特定机器人中的目标特定机器人运动,对满足跟随机器人数量要求的目标特定机器人优先进行调动,满足了实际的应用场景中对于具有跟随机器人的特定机器人的调度需求,使得调度更具有适用性,并且对未被调度的特定机器人进行调度,保证了对多机器人的运动调度的完整性。For multiple unscheduled specific robots, count the number of follower robots of each specific robot respectively. According to the number of follower robots of each specific robot, schedule the movement of the target specific robot in each specific robot. For target specific robots that meet the requirement of the number of follower robots, Prioritizing mobilization satisfies the scheduling requirements for specific robots with follower robots in actual application scenarios, making scheduling more applicable, and scheduling specific robots that have not been scheduled ensures the integrity of multi-robot motion scheduling. sex.
可选地,多机器人的运动调度方法还包括如下具体步骤:Optionally, the multi-robot motion scheduling method also includes the following specific steps:
在各特定机器人的跟随机器人数量相等的情况下,获取各特定机器人的运动参数;When the number of following robots of each specific robot is equal, the motion parameters of each specific robot are obtained;
根据各特定机器人的运动参数,确定各特定机器人的运动耗时;According to the movement parameters of each specific robot, determine the movement time of each specific robot;
根据各特定机器人的运动耗时,调度各特定机器人中的目标特定机器人运动。According to the movement time of each specific robot, the target specific robot movement in each specific robot is scheduled.
特定机器人的运动参数为特定机器人的实际运动情况的参数,包括:特定机器人的运动速度、特定机器人的旋转角速度、特定机器人的运动路径长度等。The movement parameters of a specific robot are parameters of the actual movement of the specific robot, including: the movement speed of the specific robot, the rotation angular speed of the specific robot, the length of the movement path of the specific robot, etc.
在某些场景下,对于运动速度快或者旋转角速度高的特定机器人,优先进行运动调度,可以保证特定机器人更快完成其对应的任务,实现对应的功能。在某些场景下,对于运动路径长度更长的特定机器人,优先进行运动调度,可以保证多个特定机器人完成其对应的任务的时差更短,实现对应的功能,本发明实施例在此不作限定。In some scenarios, for specific robots with fast movement speed or high rotation angular speed, priority is given to motion scheduling, which can ensure that the specific robot completes its corresponding tasks faster and realizes the corresponding functions. In some scenarios, for specific robots with longer motion paths, priority is given to motion scheduling, which can ensure that the time difference between multiple specific robots completing their corresponding tasks is shorter and the corresponding functions can be achieved. The embodiments of the present invention are not limited here. .
具体地,在各特定机器人的跟随机器人数量相等的情况下,获取各特定机器人的运动参数,根据各特定机器人的运动参数,确定各特定机器人的运动耗时,根据各特定机器人的运动耗时和实际应用场景,调度各特定机器人中的目标特定机器人运动。Specifically, when the number of following robots of each specific robot is equal, the movement parameters of each specific robot are obtained, and the movement time-consuming of each specific robot is determined based on the movement parameters of each specific robot. According to the sum of the movement time-consuming of each specific robot, Practical application scenarios, scheduling target-specific robot movements in each specific robot.
示例性地,在特定机器人更快完成其对应的任务,实现对应的功能的实际应用场景下,存在三个特定机器人B4、B5和B6的跟随机器人数量都为4,获取各特定机器人的运动速度分别为0.5m/s,0.7m/s,0.9m/s,根据三个特定机器人的运动速度,确定各特定机器人的运动耗时为10s,根据运动耗时10s和实际应用场景,确定运动速度最快的特定机器人B6为目标特定机器人,调度目标特定机器人B6运动。For example, in an actual application scenario where a specific robot completes its corresponding task faster and realizes the corresponding function, there are three specific robots B4, B5 and B6, and the number of following robots is 4. Obtain the movement speed of each specific robot. They are 0.5m/s, 0.7m/s, and 0.9m/s respectively. According to the movement speed of three specific robots, the movement time of each specific robot is determined to be 10s. The movement speed is determined based on the movement time of 10s and the actual application scenario. The fastest specific robot B6 is the target specific robot, and the movement of the target specific robot B6 is scheduled.
在各特定机器人的跟随机器人数量相等的情况下,获取各特定机器人的运动参数,根据各特定机器人的运动参数,确定各特定机器人的运动耗时,根据各特定机器人的运动耗时,调度各特定机器人中的目标特定机器人运动。根据各特定机器人的运动耗时,调度各特定机器人中的目标特定机器人运动,满足了实际的应用场景中对于运动耗时的调度需求,使得对多机器人的运动调度的调度效率更高,且多机器人的运动调度更具有适用性,并且对相同跟随机器人的特定机器人进行调度,保证了对多机器人的运动调度的完整性。 When the number of follower robots of each specific robot is equal, the motion parameters of each specific robot are obtained, the motion time-consuming of each specific robot is determined based on the motion parameters of each specific robot, and the motion time-consuming of each specific robot is scheduled. Goal-specific robot motion in robotics. According to the movement time-consuming of each specific robot, the target-specific robot movement in each specific robot is scheduled, which meets the scheduling requirements for movement time-consuming in actual application scenarios, making the movement scheduling of multiple robots more efficient, and multi-robot movement scheduling is more efficient. The motion scheduling of robots is more applicable, and scheduling specific robots that follow the same robot ensures the integrity of motion scheduling for multiple robots.
可选地,步骤208包括如下具体步骤:Optionally, step 208 includes the following specific steps:
根据各预测冲突路段,确定第一机器人的目标避让索引;Determine the target avoidance index of the first robot based on each predicted conflict section;
根据目标避让索引,调度第一机器人运动至目标路段。According to the target avoidance index, the first robot is scheduled to move to the target road section.
根据各预测冲突路段的路段数量,确定第一机器人的目标避让索引,例如,第一机器人相对于第二机器人的预测冲突路段为(1,3),第一机器人相对于第三机器人的预测冲突路段为(0,3),第一机器人相对于第二机器人的预测冲突路段的路段数量为3个,第一机器人相对于第三机器人的预测冲突路段的路段数量为4个,确定第一机器人的目标避让索引为0,意味着第一机器人需要避让的路段索引在无穷远处,即第一机器人不需要避让。另外,第二机器人相对于第一机器人的预测冲突路段为(0,1),第二机器人相对于第三机器人的预测冲突路段为(0,1),第二机器人相对于第一机器人的预测冲突路段的路段数量为2个,第二机器人相对于第三机器人的预测冲突路段的路段数量为2个,确定第二机器人的目标避让索引为0,意味着第二机器人运动至目标避让索引对应的目标路段0前,进行避让。Determine the target avoidance index of the first robot based on the number of sections in each predicted conflict section. For example, the predicted conflict section between the first robot and the second robot is (1,3), and the predicted conflict between the first robot and the third robot is (1,3). The road section is (0,3), the number of road sections predicted to conflict with the first robot relative to the second robot is 3, and the number of road sections predicted to conflict with the first robot relative to the third robot is 4, determine the first robot The target avoidance index is 0, which means that the index of the road section that the first robot needs to avoid is at infinity, that is, the first robot does not need to avoid it. In addition, the predicted conflict section between the second robot and the first robot is (0,1), the predicted conflict section between the second robot and the third robot is (0,1), and the predicted conflict section between the second robot and the first robot is (0,1). The number of conflicting road sections is 2. The number of conflicting road sections predicted by the second robot relative to the third robot is 2. It is determined that the target avoidance index of the second robot is 0, which means that the second robot moves to the corresponding target avoidance index. Before the target road section 0, perform avoidance.
具体地,根据各预测冲突路段,确定第一机器人的目标避让索引,根据目标避让索引,调度第一机器人运动至与目标避让索引对应的目标路段后,调度第一机器人进行避让。Specifically, the target avoidance index of the first robot is determined based on each predicted conflict section, and the first robot is scheduled to move to the target section corresponding to the target avoidance index according to the target avoidance index, and then the first robot is scheduled to avoid.
示例性地,根据各预测冲突路段(0,2)(0,3),确定第一机器人的目标避让索引为0,根据目标避让索引0,调度第一机器人运动至与目标避让索引0对应的目标路段前调度第一机器人进行避让。For example, according to each predicted conflict section (0,2)(0,3), the target avoidance index of the first robot is determined to be 0, and according to the target avoidance index 0, the first robot is scheduled to move to the path corresponding to the target avoidance index 0. The first robot is dispatched to avoid the target road section.
根据各预测冲突路段,确定第一机器人的目标避让索引,根据目标避让索引,调度第一机器人运动至目标路段。通过确定第一机器人的目标避让索引,仅通过目标避让索引,调度第一机器人运动至目标路段,提升了对第一机器人的运动调度效率。According to each predicted conflict road section, the target avoidance index of the first robot is determined, and based on the target avoidance index, the first robot is scheduled to move to the target road section. By determining the target avoidance index of the first robot, and only using the target avoidance index, the first robot is scheduled to move to the target road section, thereby improving the efficiency of movement scheduling for the first robot.
下述结合附图3A-图3B以本发明提供的多机器人的运动调度方法对预防多机器人死锁冲突的应用为例,对所述多机器人的运动调度方法进行进一步说明。其中,图3A示出了本发明一实施例提供的一种应用于预防多机器人死锁冲突的多机器人的运动调度方法的处理流程图,具体包括以下步骤:The following uses the application of the multi-robot motion scheduling method provided by the present invention to prevent multi-robot deadlock conflicts as an example with reference to FIGS. 3A and 3B to further explain the multi-robot motion scheduling method. 3A shows a processing flow chart of a multi-robot motion scheduling method for preventing multi-robot deadlock conflicts provided by an embodiment of the present invention, which specifically includes the following steps:
步骤302:获取多个机器人的运动路径,其中,运动路径包括多个路段,每个路段包括路段索引。Step 302: Obtain the movement paths of multiple robots, where the movement paths include multiple road segments, and each road segment includes a road segment index.
图3B示出了本发明一实施例提供的一种应用于预防多机器人死锁冲突的多机器人的运动调度方法中的运动路径示意图。FIG. 3B shows a schematic diagram of a motion path in a multi-robot motion scheduling method used to prevent multi-robot deadlock conflicts provided by an embodiment of the present invention.
获取第一机器人A1的运动路径为A-B-C-F-G,第二机器人A2的运动路径为D-C-F,第三机器人A3的运动路径为G-F-C-B-E。对应地,第一机器人的运动路径包括多个路段:AB(0)、BC(1)、CF(2)和FG(3),第二机器人的运动路径包括多个路段:DC(0)和CF(1),第三机器人的运动路径包括多个路段:GF(0)、FC(1)、CB(2)和BE(3)。Obtain the movement path of the first robot A1 as A-B-C-F-G, the movement path of the second robot A2 as D-C-F, and the movement path of the third robot A3 as G-F-C-B-E. Correspondingly, the movement path of the first robot includes multiple road segments: AB(0), BC(1), CF(2) and FG(3), and the movement path of the second robot includes multiple road segments: DC(0) and CF(1), the movement path of the third robot includes multiple road segments: GF(0), FC(1), CB(2) and BE(3).
步骤304:根据多个机器人的运动路径和当前位于的第一路段,确定多个机器人的待运动路段。Step 304: Determine the sections to be moved by the multiple robots based on the movement paths of the multiple robots and the first section they are currently located on.
根据第一机器人的运动路径A-B-C-F-G确定和当前位于的第一路段0,确定第一机器人的待运动路段为(0,3)。同理,确定第二机器人的待运动路段为(0,1),第三机器人的待运动路段为(0,3)。According to the movement path A-B-C-F-G of the first robot, the first road section 0 currently located is determined, and the road section to be moved by the first robot is determined to be (0,3). In the same way, the section to be moved by the second robot is determined to be (0,1), and the section to be moved by the third robot is determined to be (0,3).
步骤306:根据各机器人的轮廓信息,确定各机器人待运动路段的包络范围。Step 306: Determine the envelope range of the section to be moved by each robot based on the contour information of each robot.
如图3B所示,根据第一机器人、第二机器人和第三机器人的轮廓信息,确定第一机器人的待运动路段的包络范围为A-B-C-F-G节点周围的矩形,确定第二机器人的待运动路段的包络范围为D-C-F节点周围的矩形,确定第三机器人的待运动路段的包络范围为G-F-C-B-E节点周围的矩形。As shown in Figure 3B, based on the contour information of the first robot, the second robot and the third robot, it is determined that the envelope range of the section to be moved by the first robot is the rectangle around the A-B-C-F-G node, and the envelope range of the section to be moved by the second robot is determined. The envelope range is the rectangle around the D-C-F node, and the envelope range of the section to be moved by the third robot is determined to be the rectangle around the G-F-C-B-E node.
步骤308:确定各机器人的待运动路段的包络范围是否存在交集。Step 308: Determine whether the envelope ranges of the sections to be moved by each robot intersect.
如图3B所示,确定第一机器人、第二机器人和第三机器人的待运动路段的包络范围存在交集,第一机器人与第二机器人的交集为B-C-F节点周围的矩形,第一机器人和第三机器人的交集为B-C-F-G节点周围的矩形,第二机器人与第三机器人的交集为C-F节点周围的矩形。 As shown in Figure 3B, it is determined that the envelope ranges of the sections to be moved by the first robot, the second robot and the third robot intersect. The intersection between the first robot and the second robot is the rectangle around the BCF node. The first robot and the third robot The intersection of the three robots is the rectangle around the BCFG node, and the intersection of the second robot and the third robot is the rectangle around the CF node.
步骤310:根据交集,确定各机器人的预测冲突路段。Step 310: Determine the predicted conflict sections of each robot based on the intersection.
如图3B所示,以第一机器人路段为主体判断,根据B-C-F节点周围的矩形的交集,确定第一机器人相对于第二机器人的预测冲突路段为BC、CF和FG,即路段1、2、3;以第一机器人路段为主体判断,根据B-C-F-G节点周围的矩形的交集,确定第一机器人相对于第三机器人的预测冲突路段为AB、BC、CF和FG,即路段0、1、2、3;以第二机器人路段为主体判断,根据B-C-F节点周围的矩形的交集,确定第二机器人相对于第一机器人的预测冲突路段为DC、CF,即路段0、1;以第二机器人路段为主体判断,根据C-F节点周围的矩形的交集,确定第二机器人相对于第三机器人的预测冲突路段为DC、CF,即路段0、1;以第三机器人路段为主体判断,根据B-C-F-G节点周围的矩形的交集,确定第三机器人相对于第一机器人的预测冲突路段为GF、FC、CB和BE,即路段0、1、2、3;以第三机器人路段为主体判断,根据C-F节点周围的矩形的交集,确定第三机器人相对于第二机器人的预测冲突路段为GF、FC和CB,即路段0、1、2。As shown in Figure 3B, taking the first robot's road section as the main judgment, based on the intersection of the rectangles around the B-C-F node, it is determined that the predicted conflict sections of the first robot relative to the second robot are BC, CF and FG, that is, road sections 1, 2, 3; Taking the first robot's road section as the main judgment, based on the intersection of the rectangles around the B-C-F-G node, determine the predicted conflict sections of the first robot relative to the third robot as AB, BC, CF and FG, that is, road sections 0, 1, 2, 3; Taking the second robot's road section as the main judgment, based on the intersection of the rectangles around the B-C-F node, determine the predicted conflict sections of the second robot relative to the first robot as DC and CF, that is, road sections 0 and 1; taking the second robot's road section as The subject judges, based on the intersection of the rectangles around the C-F node, the predicted conflict sections of the second robot relative to the third robot are DC and CF, that is, sections 0 and 1; the third robot section is used as the subject to judge, based on the intersection of the rectangles around the B-C-F-G node. The intersection of the rectangles determines that the predicted conflict sections of the third robot relative to the first robot are GF, FC, CB and BE, that is, sections 0, 1, 2, and 3; the third robot section is used as the main body to judge, based on the C-F node around the The intersection of the rectangles determines the predicted conflict sections of the third robot relative to the second robot as GF, FC, and CB, that is, sections 0, 1, and 2.
步骤312:根据各预测冲突路段,确定冲突范围。Step 312: Determine the conflict range based on each predicted conflict road section.
根据各预测冲突路段,确定第一机器人相对于第二机器人的冲突范围为(1,3);确定第一机器人相对于第三机器人的冲突范围为(0,3);确定第二机器人相对于第一机器人的冲突范围为(0,1);确定第二机器人相对于第三机器人的冲突范围为(0,1);确定第三机器人相对于第一机器人的冲突范围为(0,3);第三机器人相对于第二机器人的冲突范围为(0,2)。According to each predicted conflict section, the conflict range of the first robot relative to the second robot is determined to be (1,3); the conflict range of the first robot relative to the third robot is determined to be (0,3); the conflict range of the second robot relative to the third robot is determined to be (0,3); The conflict range of the first robot is (0,1); determine the conflict range of the second robot relative to the third robot as (0,1); determine the conflict range of the third robot relative to the first robot as (0,3) ;The conflict range of the third robot relative to the second robot is (0,2).
步骤314:获得第一路段的路段索引,根据机器人起点包络和对应冲突包络,确定各机器人是否位于冲突内。Step 314: Obtain the road segment index of the first road segment, and determine whether each robot is within a conflict based on the robot's starting point envelope and the corresponding conflict envelope.
步骤316:若是,则调度对应的机器人运动。Step 316: If yes, schedule the corresponding robot motion.
如图3B所示,根据第一机器人、第二机器人和第三机器人的运动路径,确定第一机器人的起点包络为A节点周围的正方形,确定第二机器人的起点包络为D节点周围的正方形,确定第三机器人的起点包络为G节点周围的正方形。As shown in Figure 3B, according to the motion paths of the first robot, the second robot and the third robot, the starting point envelope of the first robot is determined to be the square around node A, and the starting point envelope of the second robot is determined to be the square around node D. Square, determine the starting point envelope of the third robot as the square around the G node.
第一机器人的第一路段索引为-1(意为未进入AB路段,即路段0),不位于冲突范围(1,3)和(0,3)中;The first section index of the first robot is -1 (meaning it has not entered the AB section, that is, section 0) and is not located in the conflict range (1,3) and (0,3);
第一机器人的起点包络与第二机器人的相对冲突包络(D-C-F节点周围的矩形,相对冲突范围(0,1))不存在交集;There is no intersection between the starting point envelope of the first robot and the relative conflict envelope of the second robot (rectangle around the D-C-F node, relative conflict range (0,1));
第一机器人的起点包络与第三机器人的相对冲突包络(G-F-C-B-E节点周围的矩形,相对冲突范围(0,3))不存在交集;There is no intersection between the starting point envelope of the first robot and the relative conflict envelope of the third robot (rectangle around the G-F-C-B-E node, relative conflict range (0,3));
即第一机器人不处于冲突中。That is, the first robot is not in conflict.
第二机器人的第一路段索引为-1,不位于冲突范围(0,1)中;The index of the first road segment of the second robot is -1, which is not in the conflict range (0,1);
第二机器人的起点包络与第一机器人的相对冲突包络(B-C-F-G节点周围的矩形,相对冲突范围(1,3))不存在交集;There is no intersection between the starting point envelope of the second robot and the relative conflict envelope of the first robot (rectangle around the B-C-F-G node, relative conflict range (1,3));
第二机器人的起点包络与第三机器人的相对冲突包络(G-F-C-B节点周围的矩形,相对冲突范围(0,2))不存在交集;There is no intersection between the starting point envelope of the second robot and the relative conflict envelope of the third robot (rectangle around the G-F-C-B node, relative conflict range (0,2));
即第二机器人不处于冲突中。That is, the second robot is not in conflict.
第三机器人的第一路段索引为-1,不位于冲突范围(0,3)和(0,2),对应于第一、第二机器人冲突范围中;The first section index of the third robot is -1, which is not located in the conflict range (0,3) and (0,2), corresponding to the conflict range of the first and second robots;
第三机器人的起点包络与第一机器人的相对冲突包络(A-B-C-F-G节点周围的矩形,相对冲突范围为(0,3))不存在交集;There is no intersection between the starting point envelope of the third robot and the relative conflict envelope of the first robot (the rectangle around the A-B-C-F-G node, the relative conflict range is (0,3));
第三机器人的起点包络与第二机器人的相对冲突包络(D-C-F节点周围的矩形,相对冲突范围(0,1))不存在交集;There is no intersection between the starting point envelope of the third robot and the relative conflict envelope of the second robot (rectangle around the D-C-F node, relative conflict range (0,1));
即第三机器人不处于冲突中。 That is, the third robot is not in conflict.
因而,第一机器人、第二机器人和第三机器人暂不调度。Therefore, the first robot, the second robot and the third robot are not scheduled for the time being.
步骤318:若否,则根据各机器人的运动路径,确定各机器人的终点包络;在终点包络与其他机器人的待运动路段的包络范围均不存在交集的情况下,依次调度对应的机器人运动。Step 318: If not, determine the endpoint envelope of each robot based on the movement path of each robot; if there is no intersection between the endpoint envelope and the envelope range of the sections to be moved by other robots, schedule the corresponding robots in sequence. sports.
如图3B所示,根据第一机器人、第二机器人和第三机器人的运动路径,确定第一机器人的终点包络为G节点周围的正方形,确定第二机器人的终点包络为F节点周围的正方形,确定第三机器人的终点包络为E节点周围的正方形。As shown in Figure 3B, according to the motion paths of the first robot, the second robot and the third robot, the end envelope of the first robot is determined to be the square around the G node, and the end envelope of the second robot is determined to be the square around the F node. Square, determine the end envelope of the third robot as the square around the E node.
第一机器人的终点包络与第二机器人的相对冲突包络(D-C-F节点周围的矩形,相对冲突范围(0,1))不存在交集;There is no intersection between the endpoint envelope of the first robot and the relative conflict envelope of the second robot (rectangle around the D-C-F node, relative conflict range (0,1));
第一机器人的起点包络与第三机器人的相对冲突包络(G-F-C-B-E节点周围的矩形,相对冲突范围(0,3))存在交集;The starting point envelope of the first robot intersects with the relative conflict envelope of the third robot (rectangle around the G-F-C-B-E node, relative conflict range (0,3));
即第一机器人需避让第三机器人,避让索引为0。That is, the first robot needs to avoid the third robot, and the avoidance index is 0.
第二机器人的终点包络与第一机器人的相对冲突包络(B-C-F-G节点周围的矩形,相对冲突范围(1,3))存在交集;The end envelope of the second robot intersects with the relative conflict envelope of the first robot (rectangle around the B-C-F-G node, relative conflict range (1,3));
第二机器人的终点包络与第三机器人的相对冲突包络(G-F-C-B节点周围的矩形,相对冲突范围(0,2))存在交集;The end envelope of the second robot intersects with the relative conflict envelope of the third robot (rectangle around G-F-C-B node, relative conflict range (0,2));
即第二机器人需避让第一、第三机器人,避让索引为0。That is, the second robot needs to avoid the first and third robots, and the avoidance index is 0.
第三机器人的终点包络与第一机器人的相对冲突包络(A-B-C-F-G节点周围的矩形,相对冲突范围为(0,3))不存在交集;There is no intersection between the endpoint envelope of the third robot and the relative conflict envelope of the first robot (the rectangle around the A-B-C-F-G node, the relative conflict range is (0,3));
第三机器人的起点包络与第二机器人的相对冲突包络(D-C-F节点周围的矩形,相对冲突范围(0,1))不存在交集;There is no intersection between the starting point envelope of the third robot and the relative conflict envelope of the second robot (rectangle around the D-C-F node, relative conflict range (0,1));
即第三机器人无需避让,避让索引为0。That is, the third robot does not need to avoid, and the avoidance index is 0.
因而,第三机器人调度运动,第一机器人、第二机器人暂不调度。Therefore, the third robot schedules the movement, but the first robot and the second robot do not schedule the movement temporarily.
当第三机器人运动至终点E,即第三机器人待运动路段不与第一机器人和第二机器人的待运动路段的包络范围(A-B-C-F-G节点周围的矩形、D-C-F节点周围的矩形)存在交集时,重复步骤314、步骤316和步骤318。第一机器人的终点包络与第二机器人的待运动路段的包络范围(D-C-F节点周围的矩形)不存在交集,调度第一机器人运动、第二机器人避让。When the third robot moves to the end point E, that is, when the section to be moved by the third robot does not intersect with the envelope range of the sections to be moved by the first robot and the second robot (the rectangle around the A-B-C-F-G node, the rectangle around the D-C-F node), Repeat step 314, step 316 and step 318. There is no intersection between the end envelope of the first robot and the envelope range of the section to be moved by the second robot (the rectangle around the D-C-F node). The first robot is scheduled to move and the second robot is to avoid.
当第一机器人运动至C点时,第一机器人的待运动包络(C-F-G节点周围的矩形)与第二机器人的待运动路段的包络范围(D-C-F节点周围的矩形)存在交集。根据步骤316所述,第一机器人处于冲突中,避让索引为0,继续调度第一机器人,第二机器人避让,其中第二机器人冲突范围为(0,1),避让索引为0,第二机器人无法运动。When the first robot moves to point C, the envelope of the first robot to be moved (the rectangle around the C-F-G node) intersects with the envelope range of the second robot's path to be moved (the rectangle around the D-C-F node). According to step 316, the first robot is in conflict, and the avoidance index is 0. The first robot continues to be scheduled, and the second robot avoids. The conflict range of the second robot is (0,1), the avoidance index is 0, and the second robot Unable to move.
当第一机器人运动至F点时,第一机器人待运动路段的包络范围(F-G节点周围的矩形)与第二机器人待运动路段的包络范围(D-C-F节点的矩形)存在交集。根据步骤316所述,第一机器人处于冲突中,避让索引为0,继续调度第一机器人。第二机器人进行避让,其中第二机器人冲突范围为(1,1),避让索引为1,第二机器人调度至避让索引前一路段即第0路段。When the first robot moves to point F, the envelope range of the section to be moved by the first robot (the rectangle around the F-G node) intersects with the envelope range of the section to be moved by the second robot (the rectangle around the D-C-F node). According to step 316, the first robot is in conflict, the avoidance index is 0, and the first robot continues to be scheduled. The second robot performs avoidance, where the conflict range of the second robot is (1,1), the avoidance index is 1, and the second robot is scheduled to the section before the avoidance index, which is the 0th section.
如此往复,直至终点。Repeat this until the end.
本发明实施例,根据多个机器人的待运动路段的包络范围,确定各预测冲突路段,再根据各预测冲突路段,对第一机器人进行运动调度。通过多个机器人的待运动路段的包络范围来确定预测冲突路段,使得可以更好结合机器人的实际运动情况来确定预测冲突路段,实现对多机器人更准确地运动调度,避免了机器人冲突造成的死锁,提升了机器人的工作效率。In the embodiment of the present invention, each predicted conflicting road section is determined based on the envelope range of the road sections to be moved by multiple robots, and then movement scheduling is performed on the first robot based on each predicted conflicting road section. Determining the predicted conflict section through the envelope range of the sections to be moved by multiple robots makes it possible to better combine the actual movement conditions of the robots to determine the predicted conflict section, achieve more accurate motion scheduling for multiple robots, and avoid problems caused by robot conflicts. Deadlock improves the efficiency of the robot.
与上述方法实施例相对应,本发明还提供了多机器人的运动调度装置实施例,图4示出了本发明一实施例提供的一种多机器人的运动调度装置的结构示意图。如图4所示,该装置包括:Corresponding to the above method embodiments, the present invention also provides an embodiment of a multi-robot motion scheduling device. FIG. 4 shows a schematic structural diagram of a multi-robot motion scheduling device provided by an embodiment of the present invention. As shown in Figure 4, the device includes:
获取模块402,被配置为获取多个机器人的运动路径,其中,运动路径包括多个路段; The acquisition module 402 is configured to acquire the motion paths of multiple robots, where the motion paths include multiple road segments;
包络范围确定模块404,被配置为根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的待运动路段的包络范围,其中,第一机器人为多个机器人中的任一个,包络范围覆盖第一机器人;The envelope range determination module 404 is configured to determine the envelope range of the section to be moved by the first robot based on the movement path of the first robot and the first section currently located, where the first robot is any of the plurality of robots. One, the envelope range covers the first robot;
预测冲突路段确定模块406,被配置为根据多个机器人的待运动路段的包络范围,确定第一机器人相对于多个机器人中其他机器人的各预测冲突路段;The predicted conflict section determination module 406 is configured to determine each predicted conflict section of the first robot relative to other robots among the plurality of robots based on the envelope range of the sections to be moved by the multiple robots;
调度模块408,被配置为根据各预测冲突路段,对第一机器人进行运动调度。The scheduling module 408 is configured to perform motion scheduling on the first robot according to each predicted conflict road section.
可选地,包络范围确定模块404可以被进一步配置为:Optionally, the envelope range determination module 404 may be further configured as:
根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的待运动路段,根据第一机器人的轮廓信息,确定待运动路段的包络范围。According to the movement path of the first robot and the first road section currently located, the road section to be moved by the first robot is determined, and the envelope range of the road section to be moved is determined based on the contour information of the first robot.
可选地,包络范围确定模块404可以被进一步配置为:Optionally, the envelope range determination module 404 may be further configured as:
根据第一机器人的运动路径、当前位于的第一路段以及预设路段数量,确定第一机器人的待运动路段,其中,待运动路段的数量等于预设路段数量。Determine the road sections to be moved by the first robot based on the movement path of the first robot, the first road section currently located, and the preset number of road sections, where the number of road sections to be moved is equal to the preset number of road sections.
可选地,预测冲突路段确定模块406可以被进一步配置为:Optionally, the predicted conflict section determination module 406 may be further configured as:
确定第一机器人与第二机器人的待运动路段的包络范围是否存在交集,其中,第二机器人为多个机器人中其他机器人的任一个,若存在交集,则根据交集,确定第一机器人相对于第二机器人的预测冲突路段。Determine whether there is an intersection between the envelope ranges of the sections to be moved by the first robot and the second robot, where the second robot is any one of the other robots among the multiple robots. If there is an intersection, then based on the intersection, determine the relationship between the first robot and the first robot. Prediction of conflict sections by the second robot.
可选地,调度模块408可以被进一步配置为:Optionally, the scheduling module 408 can be further configured as:
根据第一机器人相对于其他机器人的各预测冲突路段,确定第一机器人相对于其他机器人的冲突范围,根据第一路段和冲突范围,确定第一机器人是否位于冲突范围内,若是,则调度第一机器人运动。According to each predicted conflict section of the first robot relative to other robots, the conflict range of the first robot relative to other robots is determined. Based on the first road section and the conflict range, it is determined whether the first robot is within the conflict range. If so, the first robot is scheduled. Robot movement.
可选地,调度模块408可以被进一步配置为:Optionally, the scheduling module 408 can be further configured as:
获得第一路段的路段索引,若路段索引大于或等于冲突路段索引下界,则确定第一机器人位于冲突范围内。Obtain the road segment index of the first road segment. If the road segment index is greater than or equal to the lower bound of the conflict segment index, it is determined that the first robot is within the conflict range.
可选地,调度模块408可以被进一步配置为:Optionally, the scheduling module 408 can be further configured as:
根据第一机器人相对于其他机器人的各预测冲突路段,确定第一机器人相对于其他机器人的冲突范围,根据第一机器人相对于第二机器人的预测冲突路段,确定第一机器人的相对冲突包络,其中,第二机器人为其他机器人中的任一个,根据第一机器人的起点包络和相对冲突包络,确定第一机器人是否位于冲突范围内,若是,则调度第一机器人运动。Determine the conflict range of the first robot relative to other robots based on each predicted conflict section of the first robot relative to other robots, determine the relative conflict envelope of the first robot based on the predicted conflict sections of the first robot relative to the second robot, Wherein, the second robot is any one of the other robots, and based on the starting point envelope and the relative conflict envelope of the first robot, it is determined whether the first robot is within the conflict range, and if so, the movement of the first robot is scheduled.
可选地,调度模块408可以被进一步配置为:Optionally, the scheduling module 408 can be further configured as:
若第一机器人的起点包络与相对冲突包络存在交集,则确定第一机器人位于冲突范围内,若是,则调度第一机器人运动。If the starting point envelope of the first robot intersects with the relative conflict envelope, it is determined that the first robot is within the conflict range, and if so, the movement of the first robot is scheduled.
可选地,调度模块408可以被进一步配置为:Optionally, the scheduling module 408 can be further configured as:
根据第一机器人相对于其他机器人的各预测冲突路段,确定第一机器人相对于其他机器人的冲突范围,根据第一路段和冲突范围,确定第一机器人是否位于冲突范围内,若否,则根据第一机器人的运动路径,确定第一机器人的终点包络,在终点包络与其他机器人的待运动路段的包络范围均不存在交集的情况下,调度第一机器人运动。According to each predicted conflict section of the first robot relative to other robots, the conflict range of the first robot relative to other robots is determined. Based on the first road section and the conflict range, it is determined whether the first robot is located within the conflict range. If not, then based on the first road section and the conflict range, it is determined The movement path of one robot determines the end-point envelope of the first robot, and when there is no intersection between the end-point envelope and the envelope range of the sections to be moved by other robots, the movement of the first robot is scheduled.
可选地,该装置还包括:Optionally, the device also includes:
目标特定机器人调度模块,被配置为若存在多个未被调度的特定机器人,分别统计各特定机器人的跟随机器人数量,根据各特定机器人的跟随机器人数量,调度各特定机器人中的目标特定机器人运动。The target-specific robot scheduling module is configured to count the number of follower robots of each specific robot if there are multiple unscheduled specific robots, and schedule the target-specific robot movement in each specific robot based on the number of follower robots of each specific robot.
可选地,目标特定机器人调度模块可以被进一步配置为: Optionally, the goal-specific robot scheduling module can be further configured to:
在各特定机器人的跟随机器人数量相等的情况下,获取各特定机器人的运动参数,根据各特定机器人的运动参数,确定各特定机器人的运动耗时,根据各特定机器人的运动耗时,调度各特定机器人中的目标特定机器人运动。When the number of follower robots of each specific robot is equal, the motion parameters of each specific robot are obtained, the motion time-consuming of each specific robot is determined based on the motion parameters of each specific robot, and the motion time-consuming of each specific robot is scheduled. Goal-specific robot motion in robotics.
可选地,调度模块408可以被进一步配置为:Optionally, the scheduling module 408 can be further configured as:
根据各预测冲突路段,确定第一机器人的目标避让索引,根据目标避让索引,调度第一机器人运动至目标路段。According to each predicted conflict road section, the target avoidance index of the first robot is determined, and based on the target avoidance index, the first robot is scheduled to move to the target road section.
本发明实施例中,获取多个机器人的运动路径,其中,运动路径包括多个路段,根据第一机器人的运动路径和当前位于的第一路段,确定第一机器人的待运动路段的包络范围,其中,第一机器人为多个机器人中的任一个,包络范围覆盖第一机器人,根据多个机器人的待运动路段的包络范围,确定第一机器人相对于多个机器人中其他机器人的各预测冲突路段,根据各预测冲突路段,对第一机器人进行运动调度。通过第一机器人的待运动路段的包络范围来确定预测冲突路段,使得可以更好结合机器人的实际运动情况来确定预测冲突路段,实现对多机器人更准确地运动调度。In the embodiment of the present invention, the movement paths of multiple robots are obtained, where the movement paths include multiple road sections. According to the movement path of the first robot and the first road section currently located, the envelope range of the road section to be moved by the first robot is determined. , wherein the first robot is any one of the plurality of robots, and the envelope range covers the first robot. According to the envelope ranges of the sections to be moved by the plurality of robots, the relative positions of the first robot relative to other robots among the plurality of robots are determined. Conflict road sections are predicted, and movement scheduling is performed on the first robot based on each predicted conflict road section. The predicted conflict section is determined by the envelope range of the section to be moved by the first robot, so that the predicted conflict section can be better combined with the actual movement of the robot to achieve more accurate motion scheduling for multiple robots.
上述为本实施例的一种多机器人的运动调度装置的示意性方案。需要说明的是,该多机器人的运动调度装置的技术方案与上述的多机器人的运动调度方法的技术方案属于同一构思,多机器人的运动调度装置的技术方案未详细描述的细节内容,均可以参见上述多机器人的运动调度方法的技术方案的描述。此外,装置实施例中的各组成部分应当理解为实现该程序流程各步骤或该方法各步骤所必须建立的功能模块,各个功能模块并非实际的功能分割或者分离限定。由这样一组功能模块限定的装置权利要求应当理解为主要通过说明书记载的计算机程序实现该解决方案的功能模块构架,而不应当理解为主要通过硬件方式实现该解决方案的实体装置。The above is a schematic solution of a multi-robot motion scheduling device in this embodiment. It should be noted that the technical solution of the multi-robot motion scheduling device and the above-mentioned technical solution of the multi-robot motion scheduling method belong to the same concept. Details of the technical solution of the multi-robot motion scheduling device that are not described in detail can be found in Description of the technical solution of the above multi-robot motion scheduling method. In addition, each component in the device embodiment should be understood as the functional modules that must be established to implement each step of the program flow or each step of the method. Each functional module is not an actual functional division or separation limit. The device claim defined by such a set of functional modules should be understood as a functional module structure that mainly implements the solution through the computer program described in the specification, and should not be understood as a physical device that mainly implements the solution through hardware.
图5示出了根据本发明一实施例提供的一种计算设备的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。Figure 5 shows a structural block diagram of a computing device according to an embodiment of the present invention. Components of the computing device 500 include, but are not limited to, memory 510 and processor 520 . The processor 520 is connected to the memory 510 through a bus 530, and the database 550 is used to save data.
计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(PSTN,Public Switched Telephone Network)、局域网(LAN,Local Area Network)、广域网(WAN,Wide Area Network)、个域网(PAN,Personal Area Network)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口,例如,网络接口卡(NIC,Network Interface Controller)中的一个或多个,诸如IEEE802.11无线局域网(WLAN,Wireless Local Area Networks)无线接口、全球微波互联接入(Wi-MAX,World Interoperability for Microwave Access)接口、以太网接口、通用串行总线(USB,Universal Serial Bus)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC,Near Field Communication)接口,等等。Computing device 500 also includes an access device 540 that enables computing device 500 to communicate via one or more networks 560 . Examples of these networks include Public Switched Telephone Network (PSTN), Local Area Network (LAN), Wide Area Network (WAN), Personal Area Network (PAN), or networks such as the Internet A combination of communication networks. Access device 540 may include any type of network interface, wired or wireless, for example, one or more of a Network Interface Card (NIC), such as an IEEE802.11 Wireless Local Area Network (WLAN) wireless Interface, World Interoperability for Microwave Access (Wi-MAX, World Interoperability for Microwave Access) interface, Ethernet interface, Universal Serial Bus (USB, Universal Serial Bus) interface, cellular network interface, Bluetooth interface, Near Field Communication (NFC, Near Field Communication) interface, etc.
在本发明的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本发明范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。In one embodiment of the present invention, the above-mentioned components of the computing device 500 and other components not shown in FIG. 5 may also be connected to each other, such as through a bus. It should be understood that the structural block diagram of the computing device shown in FIG. 5 is for illustrative purposes only and does not limit the scope of the present invention. Those skilled in the art can add or replace other components as needed.
计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备500还可以是移动式或静止式的服务器。Computing device 500 may be any type of stationary or mobile computing device, including a mobile computer or mobile computing device (e.g., tablet computer, personal digital assistant, laptop computer, notebook computer, netbook, etc.), a mobile telephone (e.g., smartphone ), a wearable computing device (e.g., smart watch, smart glasses, etc.) or other type of mobile device, or a stationary computing device such as a desktop computer or PC. Computing device 500 may also be a mobile or stationary server.
其中,处理器520用于执行所述多机器人的运动调度方法的计算机可执行指令。The processor 520 is configured to execute computer-executable instructions of the multi-robot motion scheduling method.
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的多机器人的运动调度方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述多机器人的运动调度方法的技术方案的描述。The above is a schematic solution of a computing device in this embodiment. It should be noted that the technical solution of the computing device and the technical solution of the above-mentioned multi-robot motion scheduling method belong to the same concept. Details that are not described in detail in the technical solution of the computing device can be found in the above-mentioned multi-robot motion scheduling method. Description of the technical solution.
本发明一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于多机器人的运动调度方法。 An embodiment of the present invention also provides a computer-readable storage medium that stores computer instructions, which are used for a multi-robot motion scheduling method when executed by a processor.
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的多机器人的运动调度方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述多机器人的运动调度方法的技术方案的描述。The above is a schematic solution of a computer-readable storage medium in this embodiment. It should be noted that the technical solution of the storage medium belongs to the same concept as the technical solution of the above-mentioned multi-robot motion scheduling method. For details that are not described in detail in the technical solution of the storage medium, please refer to the above-mentioned multi-robot motion scheduling method. Description of the technical solution.
上述对本发明特定实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。The foregoing has described specific embodiments of the invention. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in a different order than in the embodiments and still achieve desired results. Additionally, the processes depicted in the figures do not necessarily require the specific order shown, or sequential order, to achieve desirable results. Multitasking and parallel processing are also possible or may be advantageous in certain implementations.
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。The computer instructions include computer program code, which may be in the form of source code, object code, executable file or some intermediate form. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording media, U disk, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM, Read-Only Memory) , Random Access Memory (RAM, Random Access Memory), electrical carrier signals, telecommunications signals, and software distribution media, etc.
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。It should be noted that for the convenience of description, the foregoing method embodiments are expressed as a series of action combinations. However, those skilled in the art should know that the present invention is not limited by the described action sequence. Because in accordance with the present invention, certain steps may be performed in other orders or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily necessary for the present invention.
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。In the above embodiments, each embodiment is described with its own emphasis. For parts that are not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
以上公开的本发明优选实施例只是用于帮助阐述本发明。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本发明的内容,可作很多的修改和变化。本发明选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。 The preferred embodiments of the invention disclosed above are only intended to help illustrate the invention. Alternative embodiments are not described in all details, nor are the inventions limited to the specific embodiments described. Obviously, many modifications and variations are possible in light of the teachings of the invention. The present invention selects and specifically describes these embodiments in order to better explain the principles and practical applications of the present invention, so that those skilled in the art can better understand and utilize the present invention. The invention is limited only by the claims and their full scope and equivalents.

Claims (15)

  1. 一种多机器人的运动调度方法,包括:A multi-robot motion scheduling method, including:
    步骤202,获取多个机器人(102)的运动路径,其中,所述运动路径包括多个路段;Step 202: Obtain the motion paths of multiple robots (102), where the motion paths include multiple road segments;
    步骤204,根据第一机器人(1021)的运动路径和当前位于的第一路段,确定所述第一机器人(1021)的待运动路段的包络范围,其中,所述第一机器人(1021)为所述多个机器人(102)中的任一个,所述包络范围覆盖所述第一机器人(1021);Step 204: Determine the envelope range of the section to be moved by the first robot (1021) according to the movement path of the first robot (1021) and the first section where it is currently located, where the first robot (1021) is Any one of the plurality of robots (102), the envelope range covers the first robot (1021);
    步骤206,根据所述多个机器人(102)的待运动路段的包络范围,确定所述第一机器人(1021)相对于所述多个机器人(102)中其他机器人的各预测冲突路段;Step 206: Determine each predicted conflict section between the first robot (1021) and other robots in the plurality of robots (102) based on the envelope range of the section to be moved by the plurality of robots (102);
    步骤208,根据所述各预测冲突路段,对所述第一机器人(1021)进行运动调度。Step 208: Perform motion scheduling on the first robot (1021) according to each predicted conflict road section.
  2. 根据权利要求1所述的方法,所述根据第一机器人(1021)的运动路径和当前位于的第一路段,确定所述第一机器人(1021)的待运动路段的包络范围,包括:The method according to claim 1, determining the envelope range of the section to be moved by the first robot (1021) based on the movement path of the first robot (1021) and the first section currently located, including:
    根据第一机器人(1021)的运动路径和当前位于的第一路段,确定所述第一机器人(1021)的待运动路段;Determine the road section to be moved by the first robot (1021) according to the movement path of the first robot (1021) and the first road section currently located;
    根据所述第一机器人(1021)的轮廓信息,确定所述待运动路段的包络范围。According to the profile information of the first robot (1021), the envelope range of the section to be moved is determined.
  3. 根据权利要求2所述的方法,所述根据第一机器人(1021)的运动路径和当前位于的第一路段,确定所述第一机器人(1021)的待运动路段,包括:The method according to claim 2, determining the section to be moved by the first robot (1021) based on the movement path of the first robot (1021) and the first section currently located, including:
    根据第一机器人(1021)的运动路径、当前位于的第一路段以及预设路段数量,确定所述第一机器人(1021)的待运动路段,其中,所述待运动路段的数量等于所述预设路段数量。Determine the road sections to be moved by the first robot (1021) according to the movement path of the first robot (1021), the first road section currently located, and the preset number of road sections, where the number of road sections to be moved is equal to the preset number of road sections. Set the number of road segments.
  4. 根据权利要求1所述的方法,所述根据所述多个机器人(102)的待运动路段的包络范围,确定所述第一机器人(1021)相对于所述多个机器人(102)中其他机器人的各预测冲突路段,包括:The method according to claim 1, wherein the first robot (1021) is determined relative to other robots among the plurality of robots (102) according to the envelope range of the sections to be moved by the plurality of robots (102). The robot’s predicted conflict sections include:
    确定所述第一机器人(1021)与第二机器人的待运动路段的包络范围是否存在交集,其中,所述第二机器人为所述多个机器人(102)中其他机器人的任一个;Determine whether there is an intersection between the envelope ranges of the sections to be moved by the first robot (1021) and the second robot, where the second robot is any other robot among the plurality of robots (102);
    若存在交集,则根据所述交集,确定所述第一机器人(1021)相对于所述第二机器人的预测冲突路段。If there is an intersection, the predicted conflict section of the first robot (1021) relative to the second robot is determined based on the intersection.
  5. 根据权利要求1-4中的任一项所述的方法,所述根据所述各预测冲突路段,对所述第一机器人(1021)进行运动调度,包括:The method according to any one of claims 1-4, wherein the movement scheduling of the first robot (1021) based on each of the predicted conflict sections includes:
    根据所述第一机器人(1021)相对于所述其他机器人的各预测冲突路段,确定所述第一机器人(1021)相对于所述其他机器人的冲突范围;Determine the conflict range of the first robot (1021) with respect to the other robots based on each predicted conflict section of the first robot (1021) with respect to the other robots;
    根据所述第一路段和所述冲突范围,确定所述第一机器人(1021)是否位于所述冲突范围内;Determine whether the first robot (1021) is located within the conflict range according to the first road section and the conflict range;
    若是,则调度所述第一机器人(1021)运动。If so, schedule the movement of the first robot (1021).
  6. 根据权利要求5所述的方法,所述冲突范围包括冲突路段索引上界和冲突路段索引下界;The method according to claim 5, the conflict range includes an upper bound of the conflict section index and a lower bound of the conflict section index;
    所述根据所述第一路段和所述冲突范围,确定所述第一机器人(1021)是否位于所述冲突范围内,包括:Determining whether the first robot (1021) is located within the conflict range based on the first road section and the conflict range includes:
    获得所述第一路段的路段索引; Obtain the road segment index of the first road segment;
    若所述路段索引大于或等于所述冲突路段索引下界,则确定所述第一机器人(1021)位于所述冲突范围内。If the road segment index is greater than or equal to the conflicting road segment index lower bound, it is determined that the first robot (1021) is located within the conflict range.
  7. 根据权利要求1-4中的任一项所述的方法,所述根据所述各预测冲突路段,对所述第一机器人(1021)进行运动调度,包括:The method according to any one of claims 1-4, wherein the movement scheduling of the first robot (1021) based on each of the predicted conflict sections includes:
    根据所述第一机器人(1021)相对于所述其他机器人的各预测冲突路段,确定所述第一机器人(1021)相对于所述其他机器人的冲突范围;Determine the conflict range of the first robot (1021) with respect to the other robots based on each predicted conflict section of the first robot (1021) with respect to the other robots;
    根据所述第一机器人(1021)相对于第二机器人的预测冲突路段,确定所述第一机器人(1021)的相对冲突包络,其中,所述第二机器人(1021)为所述其他机器人中的任一个;Determine the relative conflict envelope of the first robot (1021) according to the predicted conflict section of the first robot (1021) relative to the second robot, wherein the second robot (1021) is one of the other robots. any of;
    根据所述第一机器人(1021)的起点包络和所述相对冲突包络,确定所述第一机器人(1021)是否位于所述冲突范围内;Determine whether the first robot (1021) is located within the conflict range according to the starting point envelope of the first robot (1021) and the relative conflict envelope;
    若是,则调度所述第一机器人运动。If so, schedule the first robot motion.
  8. 根据权利要求7所述的方法,所述根据所述第一机器人(1021)的起点包络和所述相对冲突包络,确定所述第一机器人(1021)是否位于所述冲突范围内,包括:The method according to claim 7, determining whether the first robot (1021) is located within the conflict range according to the starting point envelope and the relative conflict envelope of the first robot (1021), including :
    若所述第一机器人(1021)的起点包络与所述相对冲突包络存在交集,则确定所述第一机器人(1021)位于所述冲突范围内。If the starting point envelope of the first robot (1021) intersects with the relative conflict envelope, it is determined that the first robot (1021) is located within the conflict range.
  9. 根据权利要求5所述的方法,在所述根据所述第一路段和所述冲突范围,确定所述第一机器人(1021)是否位于所述冲突范围内之后,还包括:The method according to claim 5, after determining whether the first robot (1021) is located within the conflict range according to the first road section and the conflict range, further comprising:
    若否,则根据所述第一机器人(1021)的运动路径,确定所述第一机器人(1021)的终点包络;If not, determine the endpoint envelope of the first robot (1021) according to the movement path of the first robot (1021);
    在所述终点包络与所述其他机器人的待运动路段的包络范围均不存在交集的情况下,调度所述第一机器人(1021)运动。When there is no intersection between the terminal envelope and the envelope range of the sections to be moved by the other robots, the movement of the first robot (1021) is scheduled.
  10. 根据权利要求9所述的方法,在所述终点包络与所述其他机器人的待运动路段的包络范围均不存在交集的情况下,调度所述第一机器人(1021)运动之后,还包括:The method according to claim 9, in the case that there is no intersection between the end point envelope and the envelope range of the section to be moved by the other robot, after scheduling the movement of the first robot (1021), it further includes: :
    若存在多个未被调度的特定机器人,分别统计各特定机器人的跟随机器人数量;If there are multiple unscheduled specific robots, count the number of following robots for each specific robot respectively;
    根据所述各特定机器人的跟随机器人数量,调度所述各特定机器人中的目标特定机器人运动。The target specific robot movement in each specific robot is scheduled according to the number of following robots of each specific robot.
  11. 根据权利要求10所述的方法,所述方法还包括:The method of claim 10, further comprising:
    在所述各特定机器人的跟随机器人数量相等的情况下,获取所述各特定机器人的运动参数;When the number of following robots of each specific robot is equal, obtain the motion parameters of each specific robot;
    根据所述各特定机器人的运动参数,确定所述各特定机器人的运动耗时;Determine the movement time of each specific robot according to the movement parameters of each specific robot;
    根据所述各特定机器人的运动耗时,调度所述各特定机器人中的目标特定机器人运动。According to the movement time of each specific robot, the target specific robot movement in each specific robot is scheduled.
  12. 根据权利要求1-4中的任一项所述的方法,所述根据所述各预测冲突路段,对所述第一机器人(1021)进行运动调度,包括:The method according to any one of claims 1-4, wherein the movement scheduling of the first robot (1021) based on each of the predicted conflict sections includes:
    根据所述各预测冲突路段,确定所述第一机器人(1021)的目标避让索引;Determine the target avoidance index of the first robot (1021) according to each predicted conflict road section;
    根据所述目标避让索引,调度所述第一机器人(1021)运动至目标路段。According to the target avoidance index, the first robot (1021) is scheduled to move to the target road section.
  13. 一种多机器人的运动调度装置,包括:A multi-robot motion scheduling device, including:
    获取模块(402),被配置为获取多个机器人(102)的运动路径,其中,所述运动路径包括多 个路段;The acquisition module (402) is configured to acquire motion paths of multiple robots (102), wherein the motion paths include multiple road section;
    包络范围确定模块(404),被配置为根据第一机器人(1021)的运动路径和当前位于的第一路段,确定所述第一机器人(1021)的待运动路段的包络范围,其中,所述第一机器人(1021)为所述多个机器人(102)中的任一个,所述包络范围覆盖所述第一机器人(1021);The envelope range determination module (404) is configured to determine the envelope range of the section to be moved by the first robot (1021) according to the movement path of the first robot (1021) and the first section currently located, where, The first robot (1021) is any one of the plurality of robots (102), and the envelope range covers the first robot (1021);
    预测冲突路段确定模块(406),被配置为根据所述多个机器人(102)的待运动路段的包络范围,确定所述第一机器人(1021)相对于所述多个机器人(102)中其他机器人的各预测冲突路段;The predicted conflict section determination module (406) is configured to determine, according to the envelope range of the sections to be moved by the multiple robots (102), the first robot (1021) relative to the multiple robots (102). Predicted conflict sections of other robots;
    调度模块(408),被配置为根据所述各预测冲突路段,对所述第一机器人(1021)进行运动调度。The scheduling module (408) is configured to perform motion scheduling on the first robot (1021) according to each predicted conflict road section.
  14. 一种计算设备(500),包括:A computing device (500) comprising:
    存储器(510)和处理器(520);Memory (510) and processor (520);
    所述存储器(510)用于存储计算机可执行指令,所述处理器(520)用于执行所述计算机可执行指令实现权利要求1至12中的任意一项所述多机器人的运动调度方法的步骤。The memory (510) is used to store computer-executable instructions, and the processor (520) is used to execute the computer-executable instructions to implement the multi-robot motion scheduling method of any one of claims 1 to 12. step.
  15. 一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现权利要求1至12中的任意一项所述多机器人的运动调度方法的步骤。 A computer-readable storage medium stores computer instructions that, when executed by a processor, implement the steps of the multi-robot motion scheduling method described in any one of claims 1 to 12.
PCT/CN2023/093757 2022-05-26 2023-05-12 Movement scheduling method and apparatus for multiple robots WO2024007731A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202210581586 2022-05-26
CN202210780024.8A CN115220447A (en) 2022-05-26 2022-07-04 Multi-robot motion scheduling method and device
CN202210780024.8 2022-07-04

Publications (1)

Publication Number Publication Date
WO2024007731A1 true WO2024007731A1 (en) 2024-01-11

Family

ID=83610905

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/093757 WO2024007731A1 (en) 2022-05-26 2023-05-12 Movement scheduling method and apparatus for multiple robots

Country Status (2)

Country Link
CN (1) CN115220447A (en)
WO (1) WO2024007731A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115220447A (en) * 2022-05-26 2022-10-21 北京极智嘉科技股份有限公司 Multi-robot motion scheduling method and device
CN117325185B (en) * 2023-11-27 2024-04-09 成都越凡创新科技有限公司 Method for removing deadlock of mobile robot and scheduling equipment

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070233338A1 (en) * 2006-03-30 2007-10-04 Honeywell International Inc. Real time planning and scheduling for a team of unmanned vehicles
CN109991977A (en) * 2019-03-04 2019-07-09 斯坦德机器人(深圳)有限公司 The paths planning method and device of robot
US20190302800A1 (en) * 2016-06-22 2019-10-03 Kuka Deutschland Gmbh Method for Checking a Collision Between Two Driverless Transport Vehicles, Driverless Transport Vehicle, and System Having a Plurality of Driverless Transport Vehicles
CN110531773A (en) * 2019-09-12 2019-12-03 北京极智嘉科技有限公司 Robot path dispatching method, device, server and storage medium
WO2020133045A1 (en) * 2018-12-27 2020-07-02 配天机器人技术有限公司 Robot control method, control system, robot and storage device
CN114063612A (en) * 2021-10-20 2022-02-18 深圳市优必选科技股份有限公司 Path planning method, path planning device and electronic equipment
CN114600053A (en) * 2019-10-24 2022-06-07 祖克斯有限公司 Collision zone based travel route modification
CN115220447A (en) * 2022-05-26 2022-10-21 北京极智嘉科技股份有限公司 Multi-robot motion scheduling method and device

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070233338A1 (en) * 2006-03-30 2007-10-04 Honeywell International Inc. Real time planning and scheduling for a team of unmanned vehicles
US20190302800A1 (en) * 2016-06-22 2019-10-03 Kuka Deutschland Gmbh Method for Checking a Collision Between Two Driverless Transport Vehicles, Driverless Transport Vehicle, and System Having a Plurality of Driverless Transport Vehicles
WO2020133045A1 (en) * 2018-12-27 2020-07-02 配天机器人技术有限公司 Robot control method, control system, robot and storage device
CN109991977A (en) * 2019-03-04 2019-07-09 斯坦德机器人(深圳)有限公司 The paths planning method and device of robot
CN110531773A (en) * 2019-09-12 2019-12-03 北京极智嘉科技有限公司 Robot path dispatching method, device, server and storage medium
CN114600053A (en) * 2019-10-24 2022-06-07 祖克斯有限公司 Collision zone based travel route modification
CN114063612A (en) * 2021-10-20 2022-02-18 深圳市优必选科技股份有限公司 Path planning method, path planning device and electronic equipment
CN115220447A (en) * 2022-05-26 2022-10-21 北京极智嘉科技股份有限公司 Multi-robot motion scheduling method and device

Also Published As

Publication number Publication date
CN115220447A (en) 2022-10-21

Similar Documents

Publication Publication Date Title
WO2024007731A1 (en) Movement scheduling method and apparatus for multiple robots
Liu et al. Human-robot collaboration in disassembly for sustainable manufacturing
Qin et al. Recent advances in Industrial Internet: insights and challenges
Xu et al. Industry 4.0: state of the art and future trends
Hu et al. iRobot-Factory: An intelligent robot factory based on cognitive manufacturing and edge computing
RU2589869C2 (en) Method and system for efficient scheduling for plurality of automated nonholonomic vehicles using scheduler of coordinated routes
CN110989582A (en) Automatic avoidance type intelligent scheduling method for multiple AGV based on path pre-occupation
CN105745585B (en) Unload human-computer interaction task
JP6961800B2 (en) Base station switching method and equipment based on mobile device movement status
WO2021197353A1 (en) Data distribution method and apparatus, and device and medium
Karrenbauer et al. Future industrial networking: from use cases to wireless technologies to a flexible system architecture
CN112015190B (en) Multi-robot path scheduling method, device, equipment and storage medium
WO2020103810A1 (en) Agv base point type communication system and communication method, and computer readable storage medium
WO2021135634A1 (en) Appliance control method and apparatus, and refrigerator
CN106598716B (en) A kind of method for scheduling task based on multiprocessor
CN116352330B (en) Switching control device of heavy-load slewing mechanism and automobile processing production line system
KR20230034926A (en) Distributed event-based coordination model
CN117008549A (en) Production task processing method, device, computer equipment and storage medium
CN117156547A (en) Positioning method and device
Liu et al. A User‐Priority‐Driven Multi‐UAV Cooperative Reconnaissance Strategy
US20230004901A1 (en) Battery preconditioning management for vehicle fleets
CN112950744B (en) Visual drag drawing flow chart method, device, equipment and storage medium
CN113822995A (en) Method and device for creating navigation map of mobile equipment and storage medium
WO2021012121A1 (en) Robot path planning device, method and apparatus, and computer-readable storage medium
Rojas et al. Towards AI-enabled Cloud Continuum for IIoT: Challenges and Opportunities