Multi-industrial-robot anti-collision trajectory planning and execution control method
By optimizing task allocation and execution order in multi-industrial robot collaborative machining, combining virtual workstations and master-slave control strategies, the collision and waiting time between robots is solved, and processing efficiency and control simplification is improved.
Patent Information
- Application Number
- CN202510507262.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-22
- Publication Date
- 2025-06-27
AI Technical Summary
In the multi-industrial robot collaborative processing scenario, the prior art is difficult to effectively avoid collisions between robots, and the waiting time caused by collisions increases, reducing processing efficiency.
By optimizing the processing task allocation and execution order of multi-industrial robots in the planning stage, using planning information to detect and avoid collisions during the execution stage, multi-robot anti-collision trajectory planning and execution control methods are adopted. The specific steps include building a virtual workstation, initial processing feature allocation, collision risk adjustment, planning processing sequence and generating processing trajectory, and finally performing through coordinated control and execution through the main controller and the motion controller.
It effectively reduces the collision risk and waiting time caused by collision avoidance in collaborative processing of multi-industrial robots, improves processing efficiency, simplifies execution control solutions, and reduces dependence on collision sensors.
Smart Images

Figure CN120206529A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of multi-industrial robot collaborative processing, and particularly relates to a multi-robot anti-collision trajectory planning and execution control method. Background Art
[0002] Industrial robots have high degrees of freedom and large working spaces, and have been widely used in the field of flexible machining and manufacturing, such as laser cutting, grinding, spraying, welding of automotive parts, etc. In the processing scenario of large-sized parts such as automotive bodies, multiple industrial robots are usually required to cooperate with each other to achieve the overall processing of the parts. Multi-industrial robot collaborative processing can effectively improve the processing efficiency of parts, reduce the number of times of installation and positioning of parts, and improve the processing accuracy of parts. At the same time, the introduction of multi-industrial robots also increases the complexity of industrial robot processing control. For example, it is necessary to avoid collisions between industrial robots during the cooperation process. At the same time, it is also necessary to reduce the waiting time of industrial robots during the cooperation process to improve production efficiency. These problems need to be comprehensively considered in aspects such as multi-industrial robot collaborative task allocation, motion trajectory planning, and execution control to form an optimized processing solution.
[0003] To solve the above existing problems, the present invention intends to provide a multi-industrial robot anti-collision trajectory planning and execution control method, which optimizes the processing task allocation and processing task execution order of each industrial robot in the planning stage, and uses the planning information to detect and avoid industrial robot collisions in the execution stage to form an efficient multi-industrial robot collaborative processing solution. Summary of the Invention
[0004] Aiming at the problems existing in the prior art, the present invention provides a multi-industrial robot anti-collision processing trajectory planning and execution control method, aiming to achieve an efficient multi-industrial robot collaborative processing solution, avoid collisions between multi-industrial robots during collaborative execution, and at the same time, reduce the waiting time of industrial robots during execution to avoid collisions and improve processing efficiency.
[0005] The technical solution adopted by the present invention to solve the problems existing in the prior art is as follows. A multi-robot anti-collision trajectory planning and execution control method includes the following steps: Step 1: Build a virtual workstation for multi-robot collaborative work, import the geometric models corresponding to the robots, tools, and parts in the actual workstation into the software environment, and place them according to the installation positions and installation relationships in the actual workstation; Step 2: Make an initial allocation of the processing features on the part, assign the features located in different orientations on the part to the robots installed near the corresponding orientations, and each robot is responsible for processing the assigned processing features; Step 3: Check the collision risk of each robot when processing the assigned machining features, adjust the machining feature allocation, and reduce the collision risk; Step 4: Plan the machining sequence of each robot for the assigned machining features. The sorting method is to evaluate the collision risk and waiting risk between robots when the robots process the machining features in a certain order, and select the sorting order method with the minimum risk; Step 5: Generate the machining trajectory of each robot. The machining trajectory includes the machining motion trajectory of the tool relative to the machining feature, the transfer motion trajectory from the Home point or the machining completion position of the machining feature to the start machining position of the next machining feature, and the machining feature execution process information, which is used to plan the execution timing of the machining feature based on the collision risk information during execution; Step 6: Control multiple robots to execute the machining trajectory, download the machining trajectory planning result data to the actual workstation, and the actual workstation executes the machining trajectory. Among them, the actual workstation includes a main controller and the motion controllers of each robot. The motion controllers of each robot are responsible for driving the robots to execute their respective machining trajectories, and the main controller is responsible for coordinating the motion timing of each robot to avoid collisions between robots.
[0006] The specific content of the said Step 1 is as follows: Build a virtual workstation for multi-robot collaborative work in the full-chain closed-loop CAM system software HiperMOS. The virtual workstation includes the geometric models of each robot, the geometric models of the parts to be machined, and the geometric models of the tools used by each robot to perform machining on the parts. The robots and parts are installed in the world coordinate system, and the installation positions are obtained by calibration from the actual workstation. Each tool is installed at the flange end of each robot, and the pose of each robot before starting machining is recorded as the Home point.
[0007] The specific content of the said Step 2 is as follows: Step 2.1: Based on the installation orientation of the robots in the virtual workstation, delimit the working space of each robot, denoted as , where N is the number of robots participating in machining, is the number of each robot, and the robot corresponding to the number is denoted as ; Step 2.2: Calculate the OBB bounding box of each machining feature, denoted as , where M is the number of machining features, is the number of the machining feature, and the center point of each feature bounding box is denoted as ; Step 2.3: Based on the inclusion relationship of , divide the machining features to be processed by each robot. If Located at inside, then is assigned to , and all the machining features assigned to the robot numbered are denoted as , where is the number of machining features assigned to the robot numbered , and is the machining feature number to be machined by the robot numbered .
[0008] Specifically, step 3 is as follows: Obtain the collision risk feature pair: The collision risk feature refers to two machining features that have a collision risk when two robots machine simultaneously; when a robot machines a machining feature, the tool installed at the end of the robot moves along the machining trajectory corresponding to the machining feature, and the tool performs the machining of the machining feature; the tool has a geometric entity, and an envelope body will be formed during the moving machining process; when multiple robots machine simultaneously, the collision risk is mainly the collision risk of the tools at the ends of the robots; when two robots perform the machining of their respective machining features, if there is an intersection between the envelope bodies of the tools corresponding to these two features, it is considered that there is a collision risk between these two machining features, and these two machining features are a collision risk feature pair. The fewer the number of collision risk feature pairs, the smaller the collision risk during multi-robot machining.
[0009] Adjust the machining feature assignment: The adjustment method is to assign all the machining features corresponding to some of the collision risk feature pairs to one of the robots for machining, and give priority to the robot with fewer machining features. If, after re-assignment, the difference in the number of features assigned to the two robots is too large, or the number of collision risk feature pairs remains unchanged, then maintain the original assignment results of these two robots unchanged.
[0010] Specifically, step 4 is as follows: Step 4.1. Determine the master-slave relationship between robots: The master robot is the one with the priority processing right; The determination method of the master robot: 4.1.a) Compare the number of processing features assigned to each robot, and select the robot with the largest number of processing features as the master robot; 4.1.b) If the number of processing features is equal, then compare the number of robots with which there is a collision risk. A collision risk means that there is a pair of collision risk features among the processing features assigned to two robots. Select the robot with the smallest number of robots with which there is a collision risk as the master robot; 4.1.c) If the master robot cannot be selected based on the conditions in 4.1.a) and 4.1.b) above, then compare the number of pairs of collision risk features included in the processing features assigned to this robot, and select the robot with the smallest number of pairs of collision risk features as the master robot; 4.1.d) If the master robot cannot be selected based on the conditions in 4.1.a), 4.1.b), and 4.1.c) above, then sort according to the serial numbers of the robots, and select the robot with the earlier serial number as the master robot; After selecting a master robot, the remaining robots are all slave robots of this robot. If the number of remaining robots is greater than 1, continue to determine the master-slave relationship of the remaining robots according to the above screening method until the master-slave relationship of all robots is determined; Based on the master-slave relationship of the robots, specify the processing priority of the robots. The priority is represented by the serial number q, q = 1...N. The robot with q = 1 has the highest processing priority and is the first master robot, and the robot with q = N has the lowest processing priority.
[0011] Step 4.2. Determine the processing order of the processing features: When planning the processing order of the processing features by the robots, first plan the processing order of the master robot, and then plan the processing order of the slave robots based on the planning results of the master robot: Step 4.2.1. Sort the processing features of the first master robot: Divide the processing features assigned to the robot into two groups. One group is the processing features without collision risk, and the other group is the processing features with collision risk. The sorting rule is to give priority to processing the processing features without collision risk, and then process the processing features with collision risk. The features are sorted according to the rule that the line connecting the center points of the feature bounding boxes is the shortest; Step 4.2.2. Sort the processing features of the slave robots: The sorting of the processing features of the slave robots depends on the sorting of the processing features by the master robot. To avoid collision risks, it is defined that the slave robot cannot process a pair of collision risk features simultaneously with the master robot. Specifically: If at a certain moment, one robot A among the master and slave robots is processing one feature in a pair of collision risk features, and the other robot B is about to process the other feature in the pair of collision risk features, then robot B should wait for robot A to finish processing and then process; In order to reduce the waiting time caused by collision avoidance, the sorting result of the slave robot's processing features needs to minimize the possibility of the slave robot and the master robot simultaneously processing risk feature pairs. For the sorting of the slave robot's processing features, permutations and combinations of the processing features are used, the processing risk coefficient of each sorting is calculated, and the sorting result of the processing features with the lowest risk coefficient is selected; The specific operation method of the sorting of the slave robot's processing features in step 4.2.2 is as follows: Define the risk types and risk coefficients existing during the processing of the slave robot as follows: 4.2.2.1) The processing feature with the sorting number u of the robot with the priority number a and the processing feature with the sorting number v of the robot with the priority number b When they are a collision risk feature pair, the risk coefficient is denoted as ; 4.2.2.2) The processing feature sequence of the slave robot and the processing feature sequence of the master robot form a deadlock; Definition of deadlock: During the processing of two robots, the robot A with the priority number a finishes processing the processing feature with the sorting number u , and is about to start processing the next processing feature When it is found that and the processing feature with the sorting number v being processed by the robot B with the priority number b is a collision risk pair, at this time, robot A waits at the processing feature position for robot B to complete processing, and the processing feature that robot B is about to process is also a collision risk feature pair with and cannot directly process . This situation where the two robots wait for each other is called a deadlock, and the risk coefficient is denoted as ; 4.2.2.3) Both of the two consecutive processing features executed by the slave robot are collision risk pairs with the processing features of the master robot, and the risk coefficient is denoted as ER; Based on the above definition of the risk coefficient, calculate the risk coefficient of the slave robot with the priority number q processing in a certain order: (1) In formula (1), is the risk coefficient of the robot with the priority number q for the robot with the priority number a; (2) In formula (2), is the number of processing features allocated to the robot with the priority number q, is the number of processing features allocated to the robot with the priority number a, is the number of pairs of consecutive machining features that are both collision risk feature pairs for the robot with priority sequence number q.
[0012] The specific steps of step 5 are as follows: The machining trajectory of the robot consists of the machining trajectories of each machining feature and the transfer trajectories from the Home point or the machining completion position of the machining feature to the machining start position of the next machining feature. The machining trajectories are generated for each robot according to their respective machining feature sorting results. Add machining feature execution process information to the machining trajectory, and add a request for machining feature machining instruction at the position before the robot transfers to the next machining feature. This instruction contains the request machining keyword and the sequence number information of the next machining feature. Add a machining feature machining completion instruction at the position where the robot finishes executing a machining feature and transfers to the start machining position of the next machining feature. This instruction contains the machining completion keyword and the sequence number information of the previously completed machining feature. Add a safety position instruction to the trajectory where two consecutive machining features both form collision risk feature pairs with the machining features of other robots. The safety position instruction is added after the request for machining feature machining instruction after the previous machining feature is completed. The safety position instruction is used to control the current robot to move to a safe position to avoid deadlock when it is detected that the current robot forms a deadlock condition with other robots.
[0013] The specific implementation process and control strategy of step 6 are as follows: Step 6.1: Download the collision risk pairs of all machining features and the priority machining order information of the robots to the main controller, and download the machining trajectories of each robot to the motion controller of each robot. Step 6.2: The main controller controls the motion controllers of each robot to start executing the machining trajectories in sequence according to the priority machining order information of each robot. Step 6.3: When each robot executes the request for machining feature machining instruction, it requests the main controller to machine the machining feature with the corresponding sequence number. The main controller judges whether there is a collision risk for the robot to execute this machining feature based on the information of the machining features currently being machined by each robot and the collision risk feature pair information of the machining features. If there is no collision risk, the main controller agrees for the robot to machine this machining feature. At the same time, record the machining feature that the robot is currently executing as the machining state. If there is a collision risk, notify the robot to wait. Step 6.4: After the robot executes the machining feature completion instruction, it sends a machining completion signal of the corresponding feature sequence number to the main controller. The main controller updates the information of the machining feature currently being machined by the current robot, and judges whether there is a collision risk for the robot in the waiting state to continue machining. If there is no collision risk, notify the robot to start machining. Step 6.5: When the main controller detects that the processing feature requested by the robot forms a deadlock condition with other robots, it notifies the requesting robot to move to a safe position. After the robot moves to the safe position, it waits for the deadlock condition to be lifted and then continues to execute the processing of the processing feature.
[0014] The present invention has the following advantages: 1. The processing feature allocation and processing feature sorting scheme proposed by the present invention can effectively reduce the collision risk during multi-robot collaborative processing and the waiting time required to avoid the collision risk.
[0015] 2. The multi-robot collaborative trajectory planning and execution control method proposed by the present invention executes the control strategy based on the processing trajectory planning information of multiple robots, which can reduce the dependence of the execution control system on collision sensors and simplify the execution control scheme. Brief Description of the Drawings
[0016] Figure 1 is a flowchart of the anti-collision processing trajectory planning and execution control of multiple industrial robots in an embodiment of the present invention; Figure 2 is a schematic diagram of a multi-robot collaborative workstation in an embodiment of the present invention; Figure 3 is a schematic diagram of the division of the robot workspace; Figure 4 is a schematic diagram of the processing trajectory of the processing feature and the tool processing process; Figure 5 is a schematic diagram of the collision of the tool envelope; Figure 6 is a schematic diagram of the processing trajectories of four robots; Figure 7 is a schematic diagram of adding execution process information to the trajectory; Figure 8 is a schematic diagram of the communication control between the main controller and the four robot controllers; Figure 9 is a schematic diagram of the working timing of four robots in cooperation; Wherein: 1 - robot , 2 - robot , 3 - robot , 4 - robot , 5 - the end of the robot flange, 6 - the grinding tool, 7 - the white body part to be processed, 8 - the processing feature point to be ground on the white body. Detailed Embodiment
[0017] The technical solution of the present invention will be further specifically described below through embodiments and in conjunction with the drawings, as Figure 1The figure shows a flowchart of collision avoidance trajectory planning and execution control for multiple industrial robots in an embodiment of the present invention, corresponding to the following 6 steps: Step 1: Build a virtual workstation for collaborative work of multiple robots. Import the geometric models of 4 robots into the full-chain closed-loop CAM system software HiperMOS, and import the geometric models of grinding tools at the flange ends of the robot geometric models respectively. Import an automotive white body model as the part to be processed, and there are dot-shaped processing features to be ground on the white body, such as Figure 2 shown.
[0018] Step 2: Make an initial assignment of the processing features on the part. As Figure 3 shown, based on the installation orientations of the 4 robots, delimit 4 working spaces for the 4 robots - . Then, calculate the OBB bounding box of each processing feature, and the center of the OBB bounding box of the dot-shaped processing feature is the point itself. Finally, by checking which working space the center of the bounding box of each processing feature is located in, assign the processing feature to the robot corresponding to the working space. For the Figure 3 shown processing features, the processing feature assignment result is: Feature , assigned to robot ; Feature , , assigned to robot ; Feature , assigned to robot ; Feature , assigned to robot .
[0019] Step 3: Check the collision risk of each robot when processing the assigned processing features, and adjust the processing feature assignment to reduce the collision risk.
[0020] Obtain the collision risk feature pairs. The collision risk feature pairs are two processing features that have a collision risk when two robots process simultaneously. In this embodiment, the processing trajectory of a processing feature is a complete circular trajectory, such as Figure 4 shown. When the grinding tool executes the processing of the processing feature, it forms a rotary envelope body with the processing feature as the center and the normal direction of the surface of the part where the processing feature is located as the axis, which is simplified to a cylindrical envelope body. Build a cylindrical envelope body at each processing feature point, and check whether the cylindrical envelope bodies of the processing features assigned to different robots intersect. If they intersect, the corresponding processing features are considered as collision risk feature pairs, such as Figure 5 shown. In this embodiment, the detected collision risk feature pairs are: < , < , < , < .
[0021] After obtaining the collision risk feature pairs, reallocate the processing features included in the used collision risk feature pairs to reduce the number of collision risk feature pairs. When allocating, allocate both processing features corresponding to the collision risk feature pair to one of the robots, and preferentially allocate to the robot with fewer processing features. If after reallocation, the difference in the number of features allocated to the two robots is too large, or the number of collision risk feature pairs remains unchanged, then maintain the original allocation result of these two robots unchanged. In this embodiment, the adjusted allocation result is: Feature , is allocated to robot ; Feature , , is allocated to robot ; Feature , is allocated to robot ; Feature , is allocated to robot . After adjustment, the collision risk feature pairs become: < , < , reduced from 4 pairs to 2 pairs.
[0022] Step 4: Plan the processing order of each robot for the allocated processing features.
[0023] Determine the master-slave relationship between the robots. The master robot is the robot with the priority to process. The determination method of the master robot: 4.1) Compare the number of processing features allocated to each robot, and select the robot with the largest number of processing features as the master robot; 4.2) If the number of processing features is equal, then compare the number of robots with which there is a collision risk for this robot. There is a collision risk means that there is a collision risk feature pair among the processing features allocated to the two robots. Select the robot with the smallest number of robots with which there is a collision risk as the master robot; 4.3) If the master robot is not selected in the above 4.1) and 4.2), then compare the number of collision risk feature pairs included in the processing features allocated to this robot, and select the robot with the smallest number of collision risk feature pairs as the master robot; 4.4) If the above 4.1), 4.2), and 4.3) are not satisfied, then sort according to the serial numbers of the robots, and select the robot with the earlier serial number as the master robot. After selecting a master robot, the remaining robots are all slave robots of this robot. According to the above rules, the sorted order of the processing priority of the robots is: > . The priority serial number q = 1, The priority serial number is q = 2, The priority serial number q = 3, The priority serial number q = 4, is the first master robot.
[0024] Determine the processing sequence of the processing features. When planning the processing sequence of the processing features by the robot, first plan the processing sequence of the master robot, and then plan the processing sequence of the slave robot according to the planning result of the master robot.
[0025] Sorting of the processing features of the first master robot: The processing features assigned to the robot are divided into two groups. One group is the processing features without collision risk, and the other group is the processing features with collision risk. The sorting rule is to give priority to processing the processing features without collision risk, and then process the processing features with collision risk. The features are sorted according to the rule that the connection line between the center points of the feature bounding boxes is the shortest.
[0026] Sorting of the processing features of the slave robot: The sorting of the processing features of the slave robot depends on the sorting of the processing features by the master robot. To avoid collision risk, it is defined that the slave robot cannot process the collision risk feature pair simultaneously with the master robot. If at a certain moment, one robot A among the master and slave robots is processing one feature in the collision risk feature pair, and the other robot B is about to process the other feature in the collision risk feature pair, then robot B should wait for robot A to finish processing and then process. To reduce the waiting time caused by avoiding collisions, the sorting result of the processing features of the slave robot satisfies the minimum possibility of the slave robot and the master robot processing the risk feature pair simultaneously. The sorting of the processing features of the slave robot is to permute the processing features, calculate the corresponding processing risk coefficient for each sorting, and select the sorting result of the processing features with the lowest risk coefficient. The following explains the sorting of the processing features of one slave robot: Define the risk types and risk coefficients existing when the slave robot is processing as follows: 1) The processing feature with sorting serial number u of the robot with priority serial number a and the processing feature with sorting serial number v of the robot with priority serial number b are a collision risk feature pair. In this embodiment, the risk coefficient is defined as .
[0027] 2) When the processing feature sequence of the slave robot and the processing feature sequence of the master robot form a deadlock, in this embodiment, the risk coefficient is defined as .
[0028] 3) When both of the two consecutive processing features executed by the slave robot are collision risk pairs with the processing features of the master robot, in this embodiment, the risk coefficient ER = 1.
[0029] Based on the above risk definition, calculate the risk coefficient of the slave robot with priority number q processed in a certain order: (1) In formula (1), is the risk coefficient of the robot with priority number q for the robot with priority number a; (2) In formula (2), is the number of processing features allocated to the robot with priority number q, is the number of processing features allocated to the robot with priority number a, is the number of pairs of consecutive two processing features of the robot with priority number q that are both collision risk features.
[0030] According to the above sorting rules, for the robot the sorting result of the processing features is: . For the robot the sorting result of the processing features is: ; for the robot the sorting result of the processing features is: ; for the robot the sorting result of the processing features is: .
[0031] Step 5: Generate the processing trajectory of each robot, and add the processing feature execution process information and collision risk information to the motion trajectory.
[0032] The processing trajectory of the robot consists of the processing trajectories of each processing feature and the transfer trajectory from the Home point or the processing completion position of the processing feature to the start processing position of the next processing feature. Generate the processing trajectory for each robot according to the respective sorting results of their processing features. The schematic diagrams of the processing trajectories of each robot are as Figure 6 shown. The processing trajectory of the robot is T1, the processing trajectory of the robot is T2, the processing trajectory of the robot is T3, and the processing trajectory of the robot is T4.
[0033] Add the process information of the machining feature execution to the machining trajectory. Add a machining instruction request for the machining feature at the position before the robot transfers to the next machining feature. This instruction contains the machining keyword request and the sequence number information of the next machining feature. Add a machining completion instruction for the machining feature at the position where the robot starts machining the next machining feature after completing one machining feature. This instruction contains the machining completion keyword and the sequence number information of the previously completed machining feature. The schematic diagram of the position of the machining instruction request for the machining feature in the trajectory is as shown in Figure 7 in shown. The schematic diagram of the position of the machining completion instruction for the machining feature in the trajectory is as shown in Figure 7 in shown.
[0034] Add a safety position instruction to the trajectory where two consecutive machining features form a collision risk feature pair with the machining features of other robots. The safety position instruction is added after the machining instruction request for the machining feature after the previous machining feature is completed. The safety position instruction is to control the robot to move to a safe position first when it is in a deadlock state, and wait for the deadlock state to be released before continuing to machine the next machining feature. The schematic diagram of the safe motion trajectory is as shown by the dotted line trajectory in Figure 6 in shown.
[0035] Step 6: Control multiple robots to execute the machining trajectory. Download the machining trajectory planning result data to the actual workstation, and the actual workstation executes the machining trajectory. The actual workstation includes a main control and four robot motion controllers. The motion controllers of each robot are responsible for driving the robots to execute their respective machining trajectories, and the main controller is responsible for coordinating the motion timing of each robot to avoid collisions between robots. In this embodiment, the main controller is a PLC, and the robot motion controllers use KUKA robot controllers. The schematic diagram of the communication control between the main controller and the four robot controllers is as shown in Figure 8As shown in the figure. The execution of the trajectory includes the following execution process and control strategy: 6.1) Download the collision risk pairs of all machining features and the priority machining order information of the robots to the main controller, and download the machining trajectories of each robot to the motion controller of each robot. 6.2) The main controller controls the motion controllers of each robot to start executing the machining trajectory in sequence according to the priority machining order information of each robot. 6.3) When each robot executes the machining feature processing instruction, it requests the main controller to process the machining feature with the corresponding serial number. The main controller judges whether there is a collision risk for the robot to execute this machining feature based on the machining feature information currently being processed by each robot and the collision risk feature pair information of the machining feature. If there is no collision risk, it agrees that the robot processes this machining feature. At the same time, record the machining feature that the robot is currently executing as the machining state. If there is a collision risk, notify the robot to wait. 6.4) After the robot executes the machining feature completion instruction, it sends a machining completion signal with the corresponding feature serial number to the main controller. The main controller updates the machining feature information currently being processed by the current robot and judges whether there is a collision risk for the robot in the waiting state to continue machining. If there is no collision risk, it notifies the robot to start machining. 6.5) When the main controller detects that the machining feature requested by the robot forms a deadlock condition with other robots, it notifies the requesting robot to move to a safe position. After the robot moves to the safe position, it waits for the deadlock condition to be lifted and then continues to execute the machining of the machining feature. According to the above control process, the timing diagram of the collaborative work of the four robots in this embodiment is as shown in Figure 9 shown.
[0036] The protection scope of the present invention is not limited to the above embodiments. Obviously, those skilled in the art can make various changes and deformations to the present invention without departing from the scope and spirit of the present invention. If these changes and deformations fall within the scope of the claims of the present invention and their equivalent technologies, the intention of the present invention also includes these changes and deformations.
Claims
1. A multi-robot anti-collision trajectory planning and execution control method, characterized in that: The steps include: Step 1: Build a multi-robot collaborative work virtual workstation, import the geometric models corresponding to the robots, tools, and parts in the actual workstation into the software environment, and place them according to the installation positions and installation relationships in the actual workstation; Step 2: Initially allocate the processing features on the parts, and allocate the features located at different positions on the parts to the robots installed near the corresponding positions. Each robot is responsible for processing the allocated processing features. Step 3: Check the collision risk of each robot when processing the assigned processing features, and adjust the processing feature allocation to reduce the collision risk; Step 4: Plan the processing order of each robot for the assigned processing features. The sorting method is to evaluate the collision risk and waiting risk between robots when the robots process the processing features in a certain order, and select the processing feature sorting order with the lowest risk; Step 5: Generate a machining trajectory for each robot. The machining trajectory includes the machining motion trajectory of the tool relative to the machining feature, the transfer motion trajectory from the Home point or the machining completion position of the machining feature to the start position of the next machining feature, and the machining feature execution process information, which is used to plan the execution timing of the machining feature based on the collision risk information during execution; Step 6: Control multiple robots to execute processing trajectories, download the processing trajectory planning result data to the actual workstation, and let the actual workstation execute the processing trajectory. The actual workstation contains a main controller and motion controllers of each robot. The motion controller of each robot is responsible for driving the robot to execute its own processing trajectory, and the main controller is responsible for coordinating the motion timing of each robot to avoid collisions between robots.
2. A multi-robot anti-collision trajectory planning and execution control method as claimed in claim 1, characterized in that: The step 1 specifically comprises: A multi-robot collaborative virtual workstation is built in the full-chain closed-loop CAM system software HiperMOS. The virtual workstation contains the geometric models of each robot, the geometric models of the parts to be processed, and the geometric models of the tools used by each robot to process the parts. The robots and parts are installed in the world coordinate system. The installation position is obtained by calibration from the actual workstation. Each tool is installed at the flange end of each robot. The position of each robot before starting processing is recorded as the Home point.
3. A multi-robot anti-collision trajectory planning and execution control method as claimed in claim 1, characterized in that: The step 2 is specifically as follows: Step 2.1: Based on the position of the robot installed in the virtual workstation, define the workspace of each robot, denoted as , where N is the number of robots involved in the processing, For each robot number, The corresponding robot is denoted as ; Step 2.2: Calculate the OBB enclosing box of each processing feature, denoted as , where M is the number of machining features, is the number of the processing feature, and the center point of each feature enclosing box is recorded as ; Step 2.3, based on right The inclusion relationship is used to divide the processing features that each robot needs to process. If lie in Inside, Assigned to , will be assigned to All processing features of the robot are recorded as ,in Assigned to The number of machining features of the robot, To be numbered The machining feature number of the robot machining.
4. A multi-robot anti-collision trajectory planning and execution control method as claimed in claim 1, characterized in that: The step 3 is specifically as follows: Obtain collision risk feature pairs: collision risk features are two processing features that have collision risks when two robots are processing at the same time; when a robot processes a processing feature, the robot moves along the processing trajectory corresponding to the processing feature with the tool installed at the end of the robot, and the tool performs processing on the processing feature; the tool has a geometric entity and forms an envelope during the motion processing process; when multiple robots are processing at the same time, the collision risk is mainly the collision risk of the tools at the end of each robot; when two robots are performing their respective processing features, if the tool envelopes corresponding to the two features have an intersection, then it is considered that the two processing features have a collision risk, and the two processing features are a collision risk feature pair. The fewer the number of collision risk feature pairs, the smaller the collision risk during multi-robot processing; Adjust the allocation of processing features: The adjustment method is to allocate the processing features corresponding to some collision risk feature pairs to one of the robots for processing, and give priority to the robot with a smaller number of processing features. If after reallocation, the number of features allocated to the two robots differs too much, or the number of collision risk feature pairs remains unchanged, the original allocation results of the two robots are maintained unchanged.
5. A multi-robot anti-collision trajectory planning and execution control method as claimed in claim 1, characterized in that: The step 4 is specifically as follows: Step 4.1, determine the master-slave relationship between robots: the master robot is the robot with priority processing rights; Step 4.2, determine the processing sequence of processing features: When planning the processing sequence of the robot for processing features, first plan the processing sequence of the master robot, and then plan the processing sequence of the slave robot based on the planning results of the host.
6. A multi-robot anti-collision trajectory planning and execution control method as claimed in claim 5, characterized in that: The method for determining the master robot in step 4.1 is specifically as follows: 4.1.a) Compare the number of processing features assigned to each robot and select the robot with the largest number of processing features as the master robot; 4.1.b) If the number of processing features is equal, compare the number of robots that have a collision risk with the robot. The collision risk means that there are collision risk feature pairs in the processing features assigned to the two robots. The robot with the least number of robots with a collision risk is selected as the master robot. 4.1.c) If the master robot is not selected based on the conditions in 4.1.a) and 4.1.b) above, the number of collision risk feature pairs contained in the processing features assigned to the robots is compared, and the robot with the least number of collision risk feature pairs is selected as the master robot; 4.1.d) If the master robot is not selected based on the above conditions 4.1.a), 4.1.b) and 4.1.c), the robots are sorted according to their serial numbers and the robot with the first serial number is selected as the master robot; after a master robot is selected, the remaining robots are all slave robots of the robot. If the number of remaining robots is greater than 1, the master-slave relationship of the remaining robots is determined according to the above screening method until the master-slave relationship of all robots is determined; based on the master-slave relationship of the robots, the robot processing priority is specified. The priority is represented by the serial number q, q=1...N, the robot with q=1 has the highest processing priority, which is the first master robot, and the robot with q=N has the lowest processing priority.
7. A multi-robot anti-collision trajectory planning and execution control method as claimed in claim 5, characterized in that: The specific method for determining the processing order of the master robot and the slave robot in step 4.2 is as follows: Step 4.2.1: Sorting of processing features by the first main robot: The processing features assigned to the robot are divided into two groups, one group is processing features without collision risk, and the other group is processing features with collision risk. The sorting rule is to process the processing features without collision risk first, and then the processing features with collision risk. The features are sorted according to the shortest line connecting the center points of the feature enclosing box. Step 4.2.2, sorting from robot processing features: The order of processing features by the slave robot depends on the order of processing features by the master robot. To avoid collision risks, it is defined that the slave robot cannot process collision risk feature pairs at the same time as the master robot. Specifically, if at a certain moment, one of the master and slave robots, robot A, is processing one feature in the collision risk feature pair, and the other robot, robot B, is about to process another feature in the collision risk feature pair, then robot B should wait for robot A to finish processing before processing; In order to reduce the waiting time caused by collision avoidance, the processing feature sorting result of the slave robot must satisfy the possibility that the slave robot and the master robot simultaneously process the risk feature pair to the minimum. The processing feature sorting of the slave robot is carried out by permuting and combining the processing features, calculating the processing risk coefficient of each sorting, and selecting the processing feature sorting result with the lowest risk coefficient.
8. A multi-robot anti-collision trajectory planning and execution control method as claimed in claim 7, characterized in that: The specific operation method of step 4.2.2 from robot processing feature sorting is as follows: The risk types and risk factors that exist when machining from a robot are defined as follows: 4.2.2.1) The robot with priority number a ranks the processing feature with priority number u The processing feature with the priority number v is sorted with the robot with the priority number b. When is the collision risk feature pair, the risk coefficient is recorded as ; 4.2.2.2) The processing feature sequence of the slave robot and the processing feature sequence of the master robot form a deadlock; Deadlock definition: During the processing of the two robots, robot A with priority number a completes the processing of the processing feature with sequence number u. , ready to start processing the next processing feature When found The processing feature with the sorting number v is being processed by robot B with the priority number b. The collision risk pair is that robot A is processing feature Waiting for robot B to complete processing, while robot B is about to process the processing feature And For collision risk feature pairs, they cannot be processed directly , this situation where two robots wait for each other is called deadlock, and the risk factor is ; 4.2.2.3) The two processing features executed consecutively by the slave robot are both at risk of collision with the processing features of the master robot, and the risk factor is recorded as ER; Based on the above definition of risk coefficient, the risk coefficient of the slave robot with priority number q processed in a certain order is calculated: (1) In formula (1), is the risk factor of the robot with priority number q to the robot with priority number a; (2) In formula (2), The number of machining features assigned to the robot with priority number q, The number of machining features assigned to the robot with priority number a, It is the number of pairs of collision risk features of two consecutive processing features of the robot with priority number q.
9. A multi-robot anti-collision trajectory planning and execution control method as claimed in claim 1, characterized in that: The step 5 is specifically as follows: The robot's machining trajectory consists of the machining trajectory of each machining feature and the transfer trajectory from the Home point or the machining completion position of the machining feature to the starting position of the next machining feature. The machining trajectory is generated for each robot according to the sorting results of its own machining features. Add processing feature execution process information to the processing trajectory, add a request for processing feature processing instruction at the position before the robot transfers to the next processing feature, the instruction contains the request processing keyword and the serial number information of the next processing feature; add a processing feature processing completion instruction at the position where the robot transfers to the next processing feature after executing a processing feature, the instruction contains the processing completion keyword and the serial number information of the processing feature completed by the previous processing; A safe position instruction is added to the trajectory in which two consecutive processing features constitute a collision risk feature pair with the processing features of other robots. The safe position instruction is added after the previous processing feature is processed and the processing instruction of the processing feature is requested. The safe position instruction is used to control the current robot to move to a safe position to avoid deadlock when it is detected that the current robot forms a deadlock condition with other robots.
10. A multi-robot anti-collision trajectory planning and execution control method as claimed in claim 1, characterized in that: The step 6 specifically includes the following execution process and control strategy: Step 6.1, downloading the collision risk pairs of all processing features and the priority processing sequence information of the robots to the main controller, and downloading the processing trajectory of each robot to the motion controller of each robot; Step 6.2, the main controller controls the motion controllers of each robot in turn according to the priority processing sequence information of each robot to start executing the processing trajectory; Step 6.3, when each robot executes the processing instruction of the requested processing feature, it requests the main controller to process the processing feature of the corresponding serial number. The main controller determines whether there is a collision risk when the robot executes the processing feature based on the processing feature information currently being processed by each robot and the collision risk feature pair information of the processing feature. If there is no collision risk, the robot is allowed to process the processing feature. At the same time, the processing feature being executed by the robot is recorded as the processing state. If there is a collision risk, the robot is notified to wait; Step 6.4, after executing the processing feature completion instruction, the robot sends a processing completion signal of the corresponding feature number to the main controller, and the main controller updates the processing feature information currently being processed by the robot, and determines whether there is a collision risk if the robot in the waiting state continues to process. If there is no collision risk, the robot is notified to start processing; Step 6.5, when the main controller detects that the processing feature requested by the robot to be processed forms a deadlock condition with other robots, it notifies the requesting robot to move to a safe position. After the robot moves to the safe position, it waits for the deadlock condition to be released and then continues to process the processing feature.
Citation Information
Patent Citations
Multi-industrial-robot virtual offline co-simulation system and method
CN106444739A
Method for cooperatively processing large blades by multiple mechanical arms
CN109324566A
Multi-robot cooperative cleaning method and device on photovoltaic module based on artificial intelligence
CN112588764A
Large component collaborative machining planning method for multi-robot collision avoidance coupling planning problem
CN114091890A
Collision detecting method for a plurality of robots and robot device
JP2008279524A