Dual industrial robot transfer collaborative control method and device, electronic equipment and storage medium
By writing programming files and synchronous motion algorithms in the first control channel, the collaborative control of dual industrial robotic arms and rotating tooling was realized, which solved the problem of low processing efficiency in the existing technology, improved processing efficiency and met complex processing requirements.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SIEMENS (CHINA) CO LTD
- Filing Date
- 2026-04-24
- Publication Date
- 2026-06-23
AI Technical Summary
Existing technologies cannot enable two robotic arms to collaboratively process a workpiece on a rotating fixture, resulting in low processing efficiency and an inability to meet complex processing requirements.
By writing programming files in the first control channel, the coordinated control of the first robotic arm, the second robotic arm, and the rotating fixture is realized. Interpolation and synchronous motion algorithms are used for coordinated interpolation to control the joint rotation axes, base sliding, and fixture rotation of the first and second robotic arms, thereby realizing the coordinated movement of the two robotic arms and the rotating fixture.
It improves processing efficiency, reduces processing time, meets complex processing requirements, and realizes automated processing of workpieces.
Smart Images

Figure CN122253203A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of mechanical control, and particularly relates to a double industrial robot arm conversion collaborative control method and device, electronic equipment and storage medium. BACKGROUND
[0002] In the field of mechanical processing, the traditional manual operation processing mode generally has problems of low processing efficiency, poor consistency, high labor intensity and safety hazards. In order to solve the related problems, the application of automatic processing technology is increasingly widespread. The mechanical arm provides an effective solution for realizing efficient and accurate automatic processing through the flexible motion ability of multiple degrees of freedom and the programmable control characteristics.
[0003] At present, the mechanical arm control algorithm can only control a single mechanical arm to process a workpiece on a rotating tool in a rotating state, the processing efficiency is low, and it cannot meet the relatively complex processing requirements, such as being unable to realize collaborative processing of two mechanical arms on a workpiece on a rotating tool in a rotating state, that is, being unable to realize that two mechanical arms share a set of rotating tools and program two sets of mechanical arms for multi-axis conversion in one processing channel. SUMMARY
[0004] Therefore, the double industrial robot arm conversion collaborative control method and device, electronic equipment and storage medium provided by the present application can improve the production efficiency.
[0005] According to a first aspect of the embodiments of this application, a dual industrial robotic arm switching and collaborative control method is provided for controlling a first robotic arm, a second robotic arm, and a rotating fixture. The first robotic arm and the second robotic arm are used to process a workpiece fixed to the rotating fixture. The rotating fixture is configured to rotate along a rotation axis. The first robotic arm is disposed on a first base, and the second robotic arm is disposed on a second base. The first base and the second base are configured to slide along a slide rail. The method includes: when the first robotic arm, the second robotic arm, and the rotating fixture are linked for control, controlling the movement of the first robotic arm, the second robotic arm, and the rotating fixture through the following steps: interpolating the rotation axis of the first robotic arm, the second robotic arm, and the fixture in the first control channel based on a programming file written in a first control channel, wherein the programming file includes the pose parameters of the first robotic arm and the second robotic arm. The system includes the pose parameters, the tooling rotation axis parameters, the first base position parameters, and the second base position parameters. In the first control channel, a robotic arm conversion compilation loop is used to perform coordinate transformation on the joint rotation axis of the first robotic arm, the sliding position of the first base along the slide rail, and the rotating tooling. Based on the transformation results, motion control is performed on the joint rotation axis of the first robotic arm. In the first control channel, the first and second bases are controlled to slide along the slide rail, and the rotating tooling is controlled to rotate around the tooling rotation axis. In the second control channel, based on the virtual axis indicated by the pose parameters of the second robotic arm included in the programming file and the synchronous motion algorithm, motion control is performed on the joint rotation axis of the second robotic arm. The virtual axis is set by the programming file based on the pose parameters of the second robotic arm in the CNC system general data and assigned to the first and second control channels.
[0006] According to a second aspect of the embodiments of this application, a dual industrial robotic arm conversion and collaborative control device is provided for controlling a first robotic arm, a second robotic arm, and a rotating fixture. The first robotic arm and the second robotic arm are used to process a workpiece fixed to the rotating fixture. The rotating fixture is configured to rotate along a fixture rotation axis. The first robotic arm is disposed on a first base, and the second robotic arm is disposed on a second base. The first base and the second base are configured to slide along a slide rail. The device includes: an interpolation unit for interpolating the first robotic arm, the second robotic arm, and the fixture rotation axis in a first control channel based on a programming file written in a first control channel. The programming file includes pose parameters of the first robotic arm, pose parameters of the second robotic arm, parameters of the fixture rotation axis, position parameters of the first base, and position parameters of the second base; conversion. The unit is configured to perform coordinate transformation on the joint rotation axis of the first robotic arm, the sliding position of the first base along the slide rail, and the rotating fixture in the first control channel using a robotic arm transformation compilation loop, and to perform motion control on the joint rotation axis of the first robotic arm based on the transformation result; the first control unit is configured to control the sliding of the first base and the second base along the slide rail in the first control channel, and to control the rotation of the rotating fixture around the fixture rotation axis in the first control channel; the second control unit is configured to perform motion control on the joint rotation axis of the second robotic arm in the second control channel based on the virtual axis indicated by the pose parameters of the second robotic arm included in the programming file and the synchronous motion algorithm, wherein the virtual axis is set by the programming file in the CNC system general data based on the pose parameters of the second robotic arm and assigned to the first control channel and the second control channel.
[0007] According to a third aspect of the present application, an electronic device is provided, comprising: a processor, a communication interface, a memory, and a communication bus, wherein the processor, the memory, and the communication interface communicate with each other through the communication bus; the memory is used to store at least one executable instruction, wherein the executable instruction causes the processor to perform the operation corresponding to the dual industrial robotic arm conversion and collaborative control method provided in the first aspect.
[0008] According to a fourth aspect of the embodiments of this application, a computer-readable storage medium is provided, wherein computer instructions are stored on the computer-readable storage medium, and when executed by a processor, the computer instructions cause the processor to perform the operation corresponding to the dual industrial robotic arm conversion and collaborative control method provided in the first aspect.
[0009] According to a fifth aspect of the embodiments of this application, a computer program product is provided, which is tangibly stored on a computer-readable medium and includes computer-executable instructions that, when executed, cause at least one processor to perform the dual industrial robotic arm conversion cooperative control method provided in the first aspect above.
[0010] The above technical solution, based on the programming file written in the first control channel, interpolates the rotation axes of the first robotic arm, the second robotic arm, and the tooling in the first control channel. It also performs coordinate transformation on the joint rotation axes of the first robotic arm, the sliding position of the first base along the slide rail, and the rotating tooling in the first control channel. Based on the transformation results, it controls the motion of the joint rotation axes of the first robotic arm. The first and second bases are controlled to slide along the slide rail in the first control channel, and the rotating tooling is controlled to rotate around its rotation axis using a robotic arm transformation compilation loop in the first control channel. In the second control channel, based on the virtual axis indicated by the pose parameters of the second robotic arm included in the programming file and the synchronous motion algorithm, it controls the motion of the joint rotation axes of the second robotic arm, achieving coordinated control of the first robotic arm, the second robotic arm, and the rotating tooling. Compared to existing technologies that cannot achieve coordinated interpolation between the first and second robotic arms through algorithms, coordinated interpolation between the first and second robotic arms and the rotating fixture can be achieved through programming files and synchronous motion algorithms. This enables the first and second robotic arms to collaboratively process the workpiece to be processed on the rotating fixture. The coordinated processing of the first and second robotic arms can reduce the processing time required for the workpiece and can meet more complex processing requirements, thereby achieving automated processing of the workpiece and improving production efficiency. Attached Figure Description
[0011] Figure 1 This is a schematic diagram of a processing device provided in an embodiment of this application;
[0012] Figure 2 This is a flowchart of a dual industrial robotic arm switching and collaborative control method provided in an embodiment of this application;
[0013] Figure 3 This is a schematic diagram of a robotic arm provided in an embodiment of this application;
[0014] Figure 4 This is a schematic diagram of a coordinate system provided in an embodiment of this application;
[0015] Figure 5 This is a schematic diagram of a dual industrial robotic arm conversion and collaborative control device provided in an embodiment of this application;
[0016] Figure 6This is a schematic diagram of an electronic device provided in an embodiment of this application.
[0017] List of reference numerals in the attached diagram:
[0018] 201: Based on the programming file written in the first control channel, interpolation is performed on the first robotic arm, the second robotic arm, and the tooling rotation axis in the first control channel.
[0019] 202: In the first control channel, a coordinate transformation is performed on the joint rotation axis of the first robotic arm, the sliding position of the first base along the slide rail, and the rotating fixture using a robotic arm transformation compilation loop, and motion control is performed on the joint rotation axis of the first robotic arm based on the transformation result.
[0020] 203: Control the first base and the second base to slide along the slide rail in the first control channel, and control the rotating fixture to rotate around the fixture rotation axis in the first control channel.
[0021] 204: In the second control channel, based on the virtual axes indicated by the pose parameters of the second robotic arm included in the programming file and the synchronous motion algorithm, motion control is performed on the joint rotation axes of the second robotic arm.
[0022] 200: A collaborative control method for switching between two industrial robotic arms
[0023] 100: Processing equipment
[0024] 101: The First Robotic Arm
[0025] 102: Second robotic arm
[0026] 103: Slide rail
[0027] 104: Rotary tooling
[0028] 1041: Rotation axis
[0029] 1011: The First Pyramid
[0030] 1012: Second Plinth
[0031] 10121: First Link
[0032] 10122: Second Link
[0033] 10123: Third Link
[0034] 10124: Fourth Link
[0035] 10125: Fifth Link
[0036] 10126: Sixth Link
[0037] 10127: Robotic arm end effector
[0038] TCP1: End Reference Point
[0039] 10131: First joint rotation axis
[0040] 10132: Second joint rotation axis
[0041] 10133: Third joint rotation axis
[0042] 10134: Fourth joint rotation axis
[0043] 10135: Fifth joint rotation axis
[0044] 10136: Sixth joint rotation axis
[0045] 501: Interpolation Unit
[0046] 502: Conversion Unit
[0047] 503: First Control Unit
[0048] 504: Second Control Unit
[0049] 600: Electronic devices
[0050] 602: Processor
[0051] 604: Communication Interface
[0052] 606: Memory
[0053] 608: Communication Bus
[0054] 610: Program
[0055] 500: Dual Industrial Robotic Arm Conversion and Collaborative Control Device Detailed Implementation
[0056] As mentioned earlier, in the field of machining, traditional manual processing methods generally suffer from low processing efficiency, poor consistency, high labor intensity, and safety hazards. To address these issues, the application of automated processing technology is becoming increasingly widespread. Robotic arms, with their multi-degree-of-freedom flexible movement capabilities and programmable control, provide an effective solution for achieving efficient and precise automated processing. Currently, robotic arm control algorithms can only control a single robotic arm to process a workpiece on a rotating fixture, and cannot achieve collaborative processing of a workpiece on a rotating fixture using two robotic arms. However, controlling a single robotic arm to process a workpiece on a rotating fixture results in low processing efficiency and cannot meet more complex processing requirements, leading to low production efficiency.
[0057] To address the aforementioned technical issues, in this embodiment, based on a programming file written in the first control channel, interpolation is performed on the rotation axes of the first robotic arm, the second robotic arm, and the tooling in the first control channel. Coordinate transformation is performed on the joint rotation axes of the first robotic arm, the sliding position of the first base along the slide rail, and the rotating tooling in the first control channel. Motion control is then applied to the joint rotation axes of the first robotic arm based on the transformation results. The first and second bases are controlled to slide along the slide rail in the first control channel, and the rotating tooling is controlled to rotate around its rotation axis in the first control channel. In the second control channel, motion control is applied to the joint rotation axes of the second robotic arm based on the virtual axis indicated by the pose parameters of the second robotic arm included in the programming file and a synchronous motion algorithm, thereby achieving coordinated control of the first robotic arm, the second robotic arm, and the rotating tooling. Compared to existing technologies that cannot achieve coordinated interpolation between the first and second robotic arms through algorithms, coordinated interpolation between the first and second robotic arms and the rotating fixture can be achieved through programming files and synchronous motion algorithms. This enables the first and second robotic arms to collaboratively process the workpiece to be processed on the rotating fixture. The coordinated processing of the first and second robotic arms can reduce the processing time required for the workpiece and can meet more complex processing requirements, thereby achieving automated processing of the workpiece and improving production efficiency.
[0058] The following description, in conjunction with the accompanying drawings, details the dual industrial robotic arm switching and collaborative control method, dual industrial robotic arm switching and collaborative control device, electronic equipment, and storage medium provided in the embodiments of this application.
[0059] First, an exemplary description of the application scenarios of the dual industrial robotic arm conversion and collaborative control method provided in this application will be given.
[0060] Figure 1 This is a schematic diagram of a processing device provided in an embodiment of this application, such as... Figure 1 As shown, the processing equipment 100 includes a first robotic arm 101, a second robotic arm 102, a rotary tooling 104, and a slide rail 103.
[0061] The first robotic arm 101 is mounted on the first base 1011, and the second robotic arm 102 is mounted on the second base 1012. The first base 1011 and the second base 1012 are mounted on the slide rail 103. The first base 1011 and the second base 1012 can slide along the slide rail 103 to drive the first robotic arm 101 and the second robotic arm 102 to move as a whole along the linear path of the slide rail 103.
[0062] The rotating fixture 104 can rotate along the fixture rotation axis 1041 to drive the workpiece to be processed, which is fixed on the rotating fixture 104, to rotate along the fixture rotation axis 1041. The first robotic arm 101 and the second robotic arm 102 can process the workpiece to be processed, which is fixed on the rotating fixture 104. Since the workpiece to be processed can be driven by the rotating fixture 104 to rotate along the fixture rotation axis 1041, the first robotic arm 101 and the second robotic arm 102 can perform processing operations on each surface of the workpiece to be processed.
[0063] Optionally, the straight line of slide rail 103 can be parallel to the straight line of tooling rotation axis 1041.
[0064] Optionally, the processing equipment 100 can be a wire laying equipment, which can automatically lay wires on the workpiece to be processed fixed on the rotating fixture 104 through the first robotic arm 101, the second robotic arm 102, the slide rail 103 and the rotating fixture 104, for example: laying wires on the surface of the workpiece to be processed, laying carbon fibers on the surface of the workpiece to be processed, etc.
[0065] It should be understood that Figure 1 The processing equipment 100 shown is only an example of equipment for the purpose of illustrating the method embodiment. The specific equipment form and positional relationship can be set as needed.
[0066] based on Figure 1 The processing equipment 100 shown, Figure 2 This is a flowchart of a dual-industrial robotic arm switching and collaborative control method provided in an embodiment of this application. The dual-industrial robotic arm switching and collaborative control method 200 is used to control the movement of the first robotic arm, the second robotic arm, and the rotating fixture during coordinated control, so that the first and second robotic arms can perform processing operations on the workpiece to be processed on the rotating fixture. Figure 2 As shown, the dual industrial robotic arm switching and collaborative control method 200 includes the following steps 201 to 204:
[0067] Step 201: Based on the programming file written in the first control channel, interpolate the first robotic arm, the second robotic arm, and the tooling rotation axis in the first control channel.
[0068] The programming file includes the pose parameters of the first robotic arm, the pose parameters of the second robotic arm, the rotation axis parameters of the tooling, and the position parameters of the first and second bases. The pose parameters of the first robotic arm include three position parameters and three attitude parameters, and the pose parameters of the second robotic arm include three position parameters and three attitude parameters. That is, the programming file includes at least the above 15 parameters involved in the coordinate transformation of the robotic arms. Other auxiliary coordinate parameters are not within the scope of this patent discussion.
[0069] Optionally, the programming file can program the pose parameters of the first robotic arm in the first control channel. These pose parameters are obtained by performing coordinate transformation on the joint rotation axes of the first robotic arm, the sliding position of the first base along the slide rail, and the rotating fixture using a robotic arm transformation compilation loop. Simultaneously, the programming file can also program the physical axes indicated by the fixture rotation axis parameters, the physical axes indicated by the first base position parameters, and the physical axes indicated by the second base position parameters in the first and second control channels. Furthermore, virtual axes indicated by the pose parameters of the second robotic arm are set in the first and second control channels based on the pose parameters of the second robotic arm. The values of these virtual axes are synchronized in both channels. The virtual axes indicated by the pose parameters of the second robotic arm include three virtual linear axes and three virtual rotation axes to achieve 15-axis interpolation between the first and second robotic arms.
[0070] By running the programming file in the first control channel, 15-axis interpolation can be performed on the position and orientation of the end effector reference point of the first robotic arm, the position and orientation of the end effector reference point of the second robotic arm, the position of the first base on the slide rail, the position of the second base on the slide rail, and the rotation angle of the tooling rotation axis, based on the pose parameters of the first robotic arm, the pose parameters of the second robotic arm, the tooling rotation axis, the position parameters of the first base, and the tooling rotation axis. This allows obtaining the position and orientation of the end effector reference point of the first robotic arm relative to the first coordinate system, the position and orientation of the end effector reference point of the second robotic arm relative to the first coordinate system, the position of the first base relative to the slide rail, the position of the second base relative to the slide rail, and the rotation angle of the tooling rotation axis. The first coordinate system is the tooling coordinate system of the rotating tool. The end effector reference point of the robotic arm can be the tool center point (TCP) on the end effector of the robotic arm.
[0071] Step 202: In the first control channel, the coordinate transformation of the joint rotation axis of the first robotic arm, the sliding position of the first base along the slide rail, and the rotating fixture are performed using the robotic arm transformation compilation loop, and the motion control of the joint rotation axis of the first robotic arm is performed based on the transformation result.
[0072] By using the CNC system's built-in robotic arm conversion and compilation loop function, coordinate transformation is performed based on the position and orientation of the first robotic arm relative to the first coordinate system, the sliding position of the first base along the slide rail, and the rotating fixture. The rotation angle of each joint rotation axis of the first robotic arm is determined, and the rotation of the joint rotation axes of the first robotic arm is controlled according to the rotation angle of each joint rotation axis of the first robotic arm, so that the end reference point of the first robotic arm moves to the determined position and orientation.
[0073] Step 203: Control the first base and the second base to slide along the slide rail in the first control channel, and control the rotating fixture to rotate around the fixture rotation axis in the first control channel.
[0074] In the first control channel, while controlling the rotation of the joint axis of the first robotic arm, the first and second bases are simultaneously controlled to slide along the slide rail, and the rotation axis of the tooling is also controlled. This enables the first robotic arm to process the workpiece on the rotating tooling.
[0075] Step 204: In the second control channel, based on the virtual axis indicated by the pose parameters of the second robotic arm included in the programming file and the synchronous motion algorithm, motion control is performed on the joint rotation axis of the second robotic arm.
[0076] The programming file calls the synchronous motion algorithm subroutine in the second control channel. In the synchronous motion algorithm subroutine, the synchronous motion algorithm can obtain the value of the virtual axis indicated by the pose parameters of the second robotic arm, and perform motion control on the joint rotation axis of the second robotic arm according to the value of the virtual axis indicated by the pose parameters of the second robotic arm, so as to realize the linkage control of the first robotic arm, the second robotic arm and the rotating fixture.
[0077] Synchronous motion: The inverse kinematics algorithm of the second robotic arm is placed in the synchronous motion and calculated in the interpolation calculation cycle of each NC program. If it is required to be unaffected by the motion mode, that is, to be effective in JOG, MDA and AUTO modes, then M43 (cross-running mode operation) is required.
[0078] In this embodiment, based on the programming file written in the first control channel, interpolation is performed on the rotation axes of the first robotic arm, the second robotic arm, and the tooling in the first control channel. Coordinate transformation is performed on the joint rotation axes of the first robotic arm, the sliding position of the first base along the slide rail, and the rotating tooling in the first control channel. Based on the transformation result, motion control is performed on the joint rotation axes of the first robotic arm. The first and second bases are controlled to slide along the slide rail in the first control channel, and the rotating tooling is controlled to rotate around its rotation axis. In the second control channel, based on the virtual axis indicated by the pose parameters of the second robotic arm included in the programming file and the synchronous motion algorithm, motion control is performed on the joint rotation axes of the second robotic arm, realizing the coordinated control of the first robotic arm, the second robotic arm, and the rotating tooling. Compared to existing technologies that cannot achieve coordinated interpolation between the first and second robotic arms through algorithms, coordinated interpolation between the first and second robotic arms and the rotating fixture can be achieved through programming files and synchronous motion algorithms. This enables the first and second robotic arms to collaboratively process the workpiece to be processed on the rotating fixture. The coordinated processing of the first and second robotic arms can reduce the processing time required for the workpiece and can meet more complex processing requirements, thereby achieving automated processing of the workpiece and improving production efficiency.
[0079] In one possible implementation, when performing motion control on the joint rotation axis of the second robotic arm based on the virtual axis indicated by the pose parameters of the second robotic arm included in the programming file and the synchronous motion algorithm subroutine, it is necessary to assign values to the virtual axis indicated by the pose parameters of the second robotic arm in the programming file in the second control channel according to the calculation results of the second robotic arm.
[0080] Within the second control channel, the synchronization algorithm acquires the values of the virtual axes indicated by the pose parameters of the second robotic arm. It should be understood that both the first and second control channels contain virtual axes indicated by the pose parameters of the second robotic arm, and the values of these virtual axes are synchronized. The values of the virtual axes within the second control channel change synchronously, allowing the synchronization algorithm to read the values assigned to the virtual axes of the second robotic arm's pose parameters in the first control channel.
[0081] After reading the values of the virtual axes indicated by the pose parameters of the second robotic arm, the synchronous motion algorithm can obtain the first target pose information of the end effector reference point of the second robotic arm in the first coordinate system. Based on the first target pose information, the synchronous motion algorithm can perform coordinate transformation on the rotation axes of each joint of the second robotic arm to obtain the angles of each joint rotation axis. Based on the transformation results, the algorithm can perform motion control on the joint rotation axes of the second robotic arm, causing the end effector reference point of the second robotic arm to move to the determined position and orientation. The first coordinate system is the coordinate system of the rotating fixture. Optionally, when performing motion control on the joint rotation axes of the second robotic arm based on the transformation results, the positioning axis command POS can be executed to control the rotation of each rotation axis of the second robotic arm.
[0082] Run the positioning axis: POS [axis] = AC (position value), which positions the axis (absolute coordinate value). The NC program segment will only continue to convert when the position is reached.
[0083] In this embodiment, in the second control channel, based on the calculation results of the second robotic arm, values are assigned to the virtual axes indicated by the pose parameters of the second robotic arm in the programming file. A synchronous motion algorithm obtains the values of the virtual axes indicated by the pose parameters of the second robotic arm to obtain the first target pose information of the end effector reference point of the second robotic arm in the first coordinate system. Based on the first target pose information, coordinate transformation is performed on the joint rotation axes of the second robotic arm, and motion control is performed on the joint rotation axes of the second robotic arm based on the transformation results. This achieves coordinate transformation of the second robotic arm in the second control channel, enabling collaborative processing between the second robotic arm controlled in the second control channel and the first robotic arm controlled in the first control channel. Based on the synchronous motion algorithm, coordinate transformation of the second robotic arm can be performed in the second control channel according to the calculation results of the first control channel. Therefore, collaborative calculation of the poses of the first and second robotic arms can be performed in the first control channel, achieving collaborative control of the first robotic arm, the second robotic arm, and the rotating tooling.
[0084] In one possible implementation, when performing coordinate transformation on the joint rotation axes of the second robotic arm based on the first target pose information, the synchronous motion algorithm can perform coordinate transformation on the first target pose based on the first target pose information, the target rotation angle of the rotating fixture, and the target position of the second base on the slide rail. This transforms the first target pose information of the end effector reference point of the second robotic arm relative to the first coordinate system into the second target pose information of the end effector reference point of the second robotic arm relative to the second coordinate system. The second coordinate system is the base coordinate system of the second base.
[0085] After the synchronous motion algorithm determines the pose information of the second target, it determines the target angles of the rotation axes of each joint of the second robotic arm through inverse kinematics based on the pose information of the second target.
[0086] In this embodiment, a synchronous motion algorithm is used to determine the second target pose information of the end effector reference point of the second robotic arm in the second coordinate system based on the first target pose information, the target rotation angle of the rotating fixture, and the target position of the second base on the slide rail. The target angles of each joint rotation axis of the second robotic arm are then determined using inverse kinematics based on the second target pose information, thereby enabling coordinate transformation within the second control channel. By performing two coordinate transformations, the influence of the rotation angle of the rotating fixture and the position of the second base on the slide rail on the pose of the end effector reference point of the second robotic arm can be eliminated. The 8-axis coordinate transformation is converted into a 6-axis coordinate transformation of the second robotic arm itself, allowing control of the end effector reference point of the second robotic arm to move to the pose indicated by the first target pose information based on the transformation result. This enables algorithmic collaborative control of the first robotic arm, the second robotic arm, and the rotating fixture.
[0087] In one possible implementation, the first target pose information may include the coordinates X, Y, Z of the end effector reference point of the second robotic arm in the first coordinate system, and the RPY angular poses A, B, C of the end effector reference point of the second robotic arm in the first coordinate system.
[0088] Based on the first target pose information, including the angular poses A, B, and C of the end effector reference point of the second robotic arm in the first coordinate system (RPY), the first rotation matrix of the end effector reference point of the second robotic arm relative to the first coordinate system can be determined. as follows:
[0089] =
[0090]
[0091] A is used to characterize the first rotation matrix, A is used to characterize the roll angle of the end-effector reference point of the second robotic arm in the first coordinate system, B is used to characterize the pitch angle of the end-effector reference point of the second robotic arm in the first coordinate system, and C is used to characterize the yaw angle of the end-effector reference point of the second robotic arm in the first coordinate system.
[0092] The second rotation matrix of the rotating fixture about the x-axis of the first coordinate system is as follows:
[0093]
[0094] Used to characterize the rotation angle of the rotating fixture about the horizontal axis in the first coordinate system.
[0095] According to the first rotation matrix The second rotation matrix of the rotating fixture about the x-axis of the first coordinate system. The third rotation matrix of the end effector reference point of the second robotic arm relative to the second coordinate system can be obtained. as follows:
[0096] =
[0097] It should be understood that Used to characterize the results of matrix multiplication calculations.
[0098] Based on the second rotation matrix and the position and orientation (X, Y, Z) of the end effector reference point of the second robotic arm in the first coordinate system, including the first target pose information, the position offset matrix of the end effector reference point of the second robotic arm relative to the origin of the first coordinate system can be obtained:
[0099] =
[0100] make The difference between the target position of the second base and the target position on the slide rail. The sum of the offsets of the vertical axis of the first coordinate system relative to the second coordinate system when the rotating fixture is at the target rotation angle. The sum of the offsets of the vertical coordinate axis in the first coordinate system relative to the second coordinate system when the rotating fixture is at the target rotation angle can be determined according to the third rotation matrix. Position offset matrix The pose information of the second target is obtained from the target position, that is, the pose matrix of the end effector reference point on the second robotic arm relative to the second coordinate system is as follows: = .
[0101] Based on the pose matrix The link offset and link length of the second robotic arm can determine the angle value of each joint rotation axis in the second robotic arm. Specifically, the angle value of each joint rotation axis can be calculated based on the second transformation matrix of each axis and link in the second robotic arm. The specific calculation process can be determined according to the structure of the second robotic arm, and is not limited in the embodiments of this application.
[0102] The following example illustrates the calculation process for the angle values of the joint rotation axes of the second robotic arm.
[0103] Figure 3 This is a schematic diagram of a robotic arm provided in an embodiment of this application. Figure 3As shown, the second robotic arm may include a first joint rotation axis 10131, a second joint rotation axis 10132, a third joint rotation axis 10133, a fourth joint rotation axis 10134, a fifth joint rotation axis 10135, a sixth joint rotation axis 10136, a first link 10121, a second link 10122, a third link 10123, a fourth link 10124, a fifth link 10125, a sixth link 10126, and a robotic arm end effector 10127, with TCP1 as the end effector reference point.
[0104] Figure 4 This is a schematic diagram of a coordinate system provided in an embodiment of this application, for... Figure 3 The second robotic arm structure shown has a corresponding coordinate system for each joint rotation axis. Figure 4 middle Let this be the base coordinate system of the second base, i.e., the base coordinate system of the second robotic arm. , , , , and These are the coordinate systems for the first joint rotation axis 10131, the second joint rotation axis 10132, the third joint rotation axis 10133, the fourth joint rotation axis 10134, the fifth joint rotation axis 10135, and the sixth joint rotation axis 10136, respectively. Let 10127 be the coordinate system of the robotic arm's end effector.
[0105] based on Figure 3 The structure shown and Figure 4 In the coordinate system shown, the second transformation matrices of each link of the second robotic arm are as follows:
[0106]
[0107]
[0108]
[0109]
[0110]
[0111]
[0112]
[0113] in, The offset of the first link 10121 relative to the second base 1011, The offset of the fifth link 10125 relative to the fourth link 10124. The offset of the robotic arm end effector 10127 relative to the sixth link 10126, The joint angle of the first joint rotation axis 10131, The joint angle of the second joint rotation axis 10132. The joint angle of the third joint rotation axis 10133. The joint angle of the fourth joint rotation axis 10134. The joint angle is 10135 degrees, which is the rotation axis of the fifth joint. The joint angle of the sixth joint rotation axis 10136. The length of the second link 10122, The length of the third link 10123, The length of the fourth link is 10124. , and This refers to the dimensions of the robotic arm's end effector, 10127.
[0114] Pose matrix based on the second transformation matrix and the terminal reference point TCP1 relative to the base coordinate system. It can calculate the angle values of the rotation axes of each joint. Specifically, first, based on... and The pose of the sixth joint rotation axis 10136 relative to the base coordinate system is calculated as follows:
[0115]
[0116] ( , , ( ) represents the position coordinates of the wrist point, from which we can obtain ( , ).
[0117] according to The position coordinates of the wrist point relative to the second joint rotation axis 10132 in the coordinate system can be obtained as follows:
[0118]
[0119] The pose matrix of the fifth joint rotation axis 10135 relative to the second joint rotation axis 10132 is as follows:
[0120]
[0121] in, express , express , express , express .
[0122] because
[0123] For ease of solution, let , , , And let , , , , can be obtained , .
[0124] Based on the calculations already made , , The pose matrix of the fourth joint rotation axis 10134 relative to the base coordinate system can be calculated as follows:
[0125]
[0126] Therefore, the pose matrix of the end-effector reference point TCP1 relative to the fourth joint rotation axis 10134 is as follows:
[0127]
[0128] The rotation moment of the pose of the end-effector reference point TCP1 relative to the fourth joint rotation axis 10134 in the coordinate system is as follows:
[0129]
[0130] Will and By combining the two equations, we can obtain:
[0131]
[0132] when hour Degeneration will occur at this time. and The calculation formula is as follows:
[0133]
[0134] This enables the calculation of the angle values of each joint rotation axis in the second robotic arm.
[0135] It should be understood that Figure 3 and Figure 4The above calculation formula is only an example for illustrating the principle. The specific calculation process can be determined according to the structure of the second robotic arm. This application does not limit the specific calculation process.
[0136] In this embodiment, based on the angle and orientation of the end-effector reference point of the second robotic arm in the first coordinate system, including the first target pose information, a first rotation matrix of the end-effector reference point of the second robotic arm relative to the first coordinate system is determined. Based on the first rotation matrix and a second rotation matrix of the rotating fixture around the horizontal axis in the first coordinate system, a third rotation matrix of the end-effector reference point of the second robotic arm relative to the second coordinate system is determined. Based on the second rotation matrix and the position and orientation of the end-effector reference point of the second robotic arm in the first coordinate system, including the first target pose information, a position offset matrix of the end-effector reference point of the second robotic arm relative to the origin of the first coordinate system is determined. Based on the third rotation matrix, the position offset matrix, and the target position, the second target pose information is determined. Through the transformation between matrices, coordinate transformation can be performed on the first target pose based on the first target pose information of the second robotic arm, the target rotation angle of the rotating fixture, and the target position of the second base on the slide rail. This transforms the first target pose information of the end-effector reference point of the second robotic arm relative to the first coordinate system into the second target pose information of the end-effector reference point of the second robotic arm in the second coordinate system, thereby enabling coordinate transformation of the second robotic arm in the second control channel and achieving motion control of the second robotic arm.
[0137] In one possible implementation, the initial pose information of the end reference point of the second robotic arm in the first coordinate system is determined by a synchronous motion algorithm subroutine based on the current angle values of the rotation axes of each joint of the second robotic arm, the current rotation angle of the rotating fixture, and the current position of the second base on the slide rail, through forward kinematics.
[0138] The virtual axis indicated by the pose parameters of the second robotic arm in the programming file is assigned a value based on the initial pose information, so that the first control channel interpolates the rotation axes of the first robotic arm, the second robotic arm, and the tooling based on the initial pose information. The first coordinate system is the coordinate system of the rotating tooling.
[0139] Initially, the virtual axis values indicated by the pose parameters of the second robotic arm in the first and second control channels are zero. To enable the programming file to perform interpolation calculations correctly, the subroutine of the synchronous motion algorithm needs to determine the initial pose information of the end effector reference point of the second robotic arm in the first coordinate system based on the current angle values of the rotation axes of each joint of the second robotic arm, the current rotation angle of the rotating fixture, and the current position of the second base on the slide rail. This initial value is then assigned to the virtual axis indicated by the pose parameters of the second robotic arm, allowing the programming file to perform interpolation based on the initial pose parameters of the second robotic arm. It should be noted that the initial pose of the end effector reference point of the first robotic arm, the initial position of the first base, the initial position of the second base, and the initial angle of the rotating fixture axis can be determined by the functions of the CNC system itself.
[0140] Specifically, with Figure 3 and Figure 4 Taking the structure shown as an example, the transformation matrices of each link of the second robotic arm described in the previous embodiment are as follows:
[0141]
[0142]
[0143]
[0144]
[0145]
[0146]
[0147]
[0148] By multiplying the secondary transformation matrices of each link of the second robotic arm, the pose matrix of the end effector reference point TCP1 relative to the base coordinate system can be obtained as follows:
[0149] = .
[0150] make The difference between the target position of the second base and the target position on the slide rail. The sum of the offsets of the vertical axis of the first coordinate system relative to the second coordinate system when the rotating fixture is at the target rotation angle. The position offset vector matrix of the end reference point TCP1 relative to the origin of the first coordinate system can be obtained by summing the offsets of the vertical coordinate axis of the first coordinate system relative to the second coordinate system when the rotating fixture is at the target rotation angle.
[0151] =
[0152] Rotation angle of the rotating fixture 104 about the x-axis of the first coordinate system The rotation matrix is as follows:
[0153]
[0154] The position vector matrix of the terminal reference point TCP1 relative to the first coordinate system can be obtained from the aforementioned matrix as follows:
[0155] = * =
[0156] The rotation vector matrix of the end reference point TCP1 relative to the first coordinate system can be obtained as follows:
[0157] = * =
[0158] Based on the position vector matrix and rotation vector matrix of the end reference point TCP1 relative to the first coordinate system, the pose matrix of the end reference point TCP1 relative to the first coordinate system can be obtained as follows:
[0159] =
[0160] Based on the pose matrix of the end effector reference point TCP1 relative to the first coordinate system, the current angle values of the multiple joint rotation axes of the second robotic arm, the current rotation angle of the rotating fixture 104, and the current position of the second base 1011 on the slide rail, the initial pose information of the end effector reference point TCP1 in the first coordinate system can be determined. The initial pose information includes the position X, Y, Z of the end effector reference point TCP1 of the second robotic arm in the first coordinate system at the initial moment, and the RPY postures A, B, C of the end effector reference point TCP1 of the second robotic arm relative to the first coordinate system, as detailed below:
[0161]
[0162] In this embodiment, the subroutine of the synchronous motion algorithm determines the initial pose information of the end reference point of the second robotic arm in the first coordinate system through forward kinematics based on the current angle values of the rotation axes of each joint of the second robotic arm, the current rotation angle of the rotating fixture, and the current position of the second base on the slide rail. Then, based on the initial pose information, values are assigned to the virtual axes indicated by the pose parameters of the second robotic arm in the programming file. This allows the programming file to perform interpolation calculations on the first robotic arm, the second robotic arm, the first base, the second base, and the rotating fixture, thereby enabling the first and second robotic arms to work together to automatically process the workpiece on the rotating fixture, thus improving production efficiency.
[0163] In one possible implementation, when the first robotic arm, the second robotic arm, and the rotating fixture are under non-linkage control, the first control channel performs coordinate transformation and interpolation calculations on the joint rotation axes of the first robotic arm, the sliding position of the first base along the slide rail, and the rotating fixture based on the robotic arm transformation compilation loop. Then, the first control channel controls the sliding of the first base along the slide rail and the rotation of the rotating fixture, as well as the motion control of the joint rotation axes of the first robotic arm, based on the calculation results. This allows for independent control of the first robotic arm's processing within the first control channel.
[0164] In the second control channel, coordinate transformation and interpolation calculations are performed on the joint rotation axes of the second robotic arm, the sliding position of the second base along the slide rail, and the rotating fixture based on the robotic arm transformation compilation loop. The second control channel then controls the sliding of the second base along the slide rail and the rotation of the rotating fixture, as well as the motion control of the joint rotation axes of the second robotic arm, based on the calculation results. This enables independent control of the second robotic arm for processing via the second control channel.
[0165] In this embodiment, when the first robotic arm, the second robotic arm, and the rotating fixture are under non-linkage control, the robotic arm conversion compilation loop of the CNC system performs interpolation and coordinate transformation on the first control channel to control its movement. Similarly, interpolation and coordinate transformation are performed on the second robotic arm in the second control channel to control its movement, thus enabling the first and second robotic arms to perform machining operations independently. This allows for separate control of the first and second robotic arms when collaborative machining is not required. It also allows for selection of collaborative or individual machining operations to meet different machining needs, providing high flexibility in robotic arm control.
[0166] Figure 5This is a schematic diagram of a dual industrial robotic arm conversion and coordination control device provided in an embodiment of this application. This dual industrial robotic arm conversion and coordination control device is used to control a first robotic arm, a second robotic arm, and a rotating fixture. The first and second robotic arms are used to process a workpiece fixed to the rotating fixture. The rotating fixture is configured to rotate along its rotation axis. The first robotic arm is mounted on a first base, and the second robotic arm is mounted on a second base. The first and second bases are configured to slide along a slide rail. Figure 5 As shown, the dual industrial robotic arm conversion and coordination control device 500 includes:
[0167] The interpolation unit 501 is used to interpolate the first robotic arm, the second robotic arm, and the tooling rotation axis in the first control channel based on the programming file written in the first control channel. The programming file includes the pose parameters of the first robotic arm, the pose parameters of the second robotic arm, the tooling rotation axis parameters, the position parameters of the first base, and the position parameters of the second base.
[0168] The conversion unit 502 is used to perform coordinate transformation on the joint rotation axis of the first robotic arm using the robotic arm conversion compilation loop in the first control channel, and to perform motion control on the joint rotation axis of the first robotic arm based on the transformation result.
[0169] The first control unit 503 is used to control the first base and the second base to slide along the slide rail in the first control channel, and to control the rotating fixture to rotate around the fixture rotation axis in the first control channel.
[0170] The second control unit 504 is used to perform motion control on the joint rotation axis of the second robotic arm in the second control channel based on the virtual axis indicated by the pose parameters of the second robotic arm included in the programming file and the synchronous motion algorithm. The virtual axis is set by the programming file in the CNC system general data based on the pose parameters of the second robotic arm and assigned to the first control channel and the second control channel.
[0171] In this embodiment, the interpolation unit 501 can be used to execute step 201 in the above method embodiment, the conversion unit 502 can be used to execute step 202 in the above method embodiment, the first control unit 503 can be used to execute step 203 in the above method embodiment, and the second control unit 504 can be used to execute step 204 in the above method embodiment.
[0172] In one possible implementation, the second control unit 504 can also assign values to the virtual axes indicated by the pose parameters of the second robotic arm in the programming file in the second control channel according to the calculation results of the second robotic arm; through a synchronous motion algorithm, it reads the virtual axes indicated by the pose parameters of the second robotic arm in the second control channel to obtain the first target pose information of the end reference point of the second robotic arm in the first coordinate system, performs coordinate transformation on the joint rotation axis of the second robotic arm according to the first target pose information, and performs motion control on the joint rotation axis of the second robotic arm based on the transformation result, wherein the first coordinate system is the coordinate system of the rotating tool.
[0173] In one possible implementation, the second control unit 504 can also determine the second target pose information of the end reference point of the second robotic arm in the second coordinate system based on the first target pose information, the target rotation angle of the rotating tool, and the target position of the second base on the slide rail, and determine the target angle of each joint rotation axis of the second robotic arm through inverse kinematics based on the second target pose information, wherein the second coordinate system is the base coordinate system of the second base.
[0174] In one possible implementation, the second control unit 504 may further determine a first rotation matrix of the end-effector reference point of the second robotic arm relative to the first coordinate system based on the angular orientation of the end-effector reference point of the second robotic arm in the first coordinate system, as included in the first target pose information; determine a third rotation matrix of the end-effector reference point of the second robotic arm relative to the second coordinate system based on the first rotation matrix and a second rotation matrix of the rotating fixture about the horizontal axis in the first coordinate system; determine a position offset matrix of the end-effector reference point of the second robotic arm relative to the origin of the first coordinate system based on the second rotation matrix and the position orientation of the end-effector reference point of the second robotic arm in the first coordinate system, as included in the first target pose information; and determine the second target pose information based on the third rotation matrix, the position offset matrix, and the target position.
[0175] In one possible implementation, the first rotation matrix is as follows:
[0176]
[0177] in, A is used to characterize the first rotation matrix, B is used to characterize the roll angle of the end-effector reference point of the second robotic arm in the first coordinate system, C is used to characterize the pitch angle of the end-effector reference point of the second robotic arm in the first coordinate system, and C is used to characterize the yaw angle of the end-effector reference point of the second robotic arm in the first coordinate system.
[0178] The third rotation matrix is as follows:
[0179] =
[0180] in, Used to characterize the third rotation matrix, Used to characterize the second rotation matrix, Used to characterize the first rotation matrix, , Used to characterize the rotation angle of the rotating tool about the horizontal axis in the first coordinate system. Used to characterize the results of matrix multiplication calculations;
[0181] The position offset matrix is as follows:
[0182] =
[0183] in, The second rotation matrix is used to characterize X, which characterizes the translation of the end reference point of the second robotic arm along the horizontal axis in the first coordinate system, Y, which characterizes the translation of the end reference point of the second robotic arm along the vertical axis in the first coordinate system, and Z, which characterizes the translation of the end reference point of the second robotic arm along the vertical axis in the first coordinate system.
[0184] The second target pose information includes:
[0185] =
[0186] in, Used to characterize the third rotation matrix, The difference between the target position of the second base and the target position on the slide rail. The sum of the offsets of the vertical axis of the first coordinate system relative to the second coordinate system when the rotating fixture is at the target rotation angle. The sum of the offsets of the vertical coordinate axis of the first coordinate system relative to the second coordinate system when the rotating fixture is at the target rotation angle.
[0187] In one possible implementation, the second control unit 504 can also use a subroutine of the synchronous motion algorithm to determine the initial pose information of the end reference point of the second robotic arm in the first coordinate system through forward kinematics, based on the current angle values of the rotation axes of each joint of the second robotic arm, the current rotation angle of the rotating fixture, and the current position of the second base on the slide rail. Then, it assigns values to the virtual axes indicated by the pose parameters of the second robotic arm in the programming file according to the initial pose information, so that the first control channel interpolates the rotation axes of the first robotic arm, the second robotic arm, and the fixture based on the initial pose information, wherein the first coordinate system is the coordinate system of the rotating fixture.
[0188] In one possible implementation, when the first robotic arm, the second robotic arm, and the rotating fixture are under non-linkage control, the movement of the first robotic arm, the second robotic arm, and the rotating fixture is controlled through the following steps: In the first control channel, coordinate transformation and interpolation calculations are performed on the joint rotation axis of the first robotic arm, the sliding position of the first base along the slide rail, and the rotating fixture based on a robotic arm transformation compilation loop. Based on the calculation results, the first control channel controls the sliding of the first base along the slide rail and the rotation of the rotating fixture, as well as the motion control of the joint rotation axis of the first robotic arm. In the second control channel, coordinate transformation and interpolation calculations are performed on the joint rotation axis of the second robotic arm, the sliding position of the second base along the slide rail, and the rotating fixture based on a robotic arm transformation compilation loop. Based on the calculation results, the second control channel controls the sliding of the second base along the slide rail and the rotation of the rotating fixture, as well as the motion control of the joint rotation axis of the second robotic arm.
[0189] Figure 6 This is a schematic diagram of an electronic device provided in an embodiment of this application. The specific embodiments of this application do not limit the specific implementation of the electronic device. See also... Figure 6 The electronic device 600 provided in this application embodiment includes: a processor 602, a communications interface 604, a memory 606, and a communication bus 608. Wherein:
[0190] The processor 602, communication interface 604, and memory 606 communicate with each other via communication bus 608.
[0191] Communication interface 604 is used for communication with other electronic devices or servers.
[0192] The processor 602 is used to execute program 610, which can specifically execute the relevant steps in any of the aforementioned embodiments of the dual industrial robotic arm conversion and collaborative control method.
[0193] Specifically, program 610 may include program code that includes computer operation instructions.
[0194] Processor 602 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of this application. The smart device includes one or more processors, which may be processors of the same type, such as one or more CPUs; or processors of different types, such as one or more CPUs and one or more ASICs.
[0195] Memory 606 is used to store program 610. Memory 606 may include high-speed RAM memory, and may also include non-volatile memory, such as at least one disk storage device.
[0196] Specifically, program 610 can be used to cause processor 602 to execute the dual industrial robotic arm conversion collaborative control method in any of the foregoing embodiments.
[0197] The specific implementation of each step in program 610 can be found in the corresponding steps and units described in any of the aforementioned embodiments of the dual industrial robotic arm conversion and collaborative control method, and will not be repeated here. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the equipment and modules described above can be referred to the corresponding process descriptions in the aforementioned method embodiments, and will not be repeated here.
[0198] The electronic device of this application embodiment, based on a programming file written in the first control channel, interpolates the rotation axes of the first robotic arm, the second robotic arm, and the tooling in the first control channel. It also performs coordinate transformation on the joint rotation axes of the first robotic arm, the sliding position of the first base along the slide rail, and the rotating tooling in the first control channel. Based on the transformation result, it performs motion control on the joint rotation axes of the first robotic arm. The first and second bases are controlled to slide along the slide rail in the first control channel, and the rotating tooling is controlled to rotate around its rotation axis in the first control channel. In the second control channel, based on the pose parameters and synchronous motion algorithm of the second robotic arm included in the programming file, motion control is performed on the joint rotation axes of the second robotic arm, thereby achieving coordinated control of the first robotic arm, the second robotic arm, and the rotating tooling. Compared to existing technologies that cannot achieve coordinated interpolation between the first and second robotic arms through algorithms, coordinated interpolation between the first and second robotic arms and the rotating fixture can be achieved through programming files and synchronous motion algorithms. This enables the first and second robotic arms to collaboratively process the workpiece to be processed on the rotating fixture. The coordinated processing of the first and second robotic arms can reduce the processing time required for the workpiece and can meet more complex processing requirements, thereby achieving automated processing of the workpiece and improving production efficiency.
[0199] This application also provides a computer-readable storage medium storing instructions for causing a machine to execute the dual industrial robotic arm conversion and collaborative control method described herein. Specifically, a system or apparatus equipped with a storage medium storing software program code that implements the functions of any of the embodiments described above, and enabling the computer (or CPU or MPU) of the system or apparatus to read and execute the program code stored in the storage medium.
[0200] In this case, the program code read from the storage medium can itself implement the function of any of the above embodiments, and therefore the program code and the storage medium storing the program code constitute part of this application.
[0201] Storage media embodiments for providing program code include floppy disks, hard disks, magneto-optical disks, optical disks (such as CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD+RW), magnetic tapes, non-volatile memory cards, and ROMs. Alternatively, program code can be downloaded from a server computer via a communication network.
[0202] Furthermore, it should be clear that not only can the program code read by the computer be executed, but also the operating system or other components operating on the computer can be instructed based on the program code to perform some or all of the actual operations, thereby realizing the function of any of the embodiments described above.
[0203] Furthermore, it is understood that the program code read from the storage medium is written to the memory set in the expansion board inserted into the computer or to the memory set in the expansion module connected to the computer. Then, based on the instructions of the program code, the CPU or other components installed on the expansion board or expansion module execute some and all of the actual operations, thereby realizing the function of any of the above embodiments.
[0204] This application also provides a computer program product, which is tangibly stored on a computer-readable medium and includes computer-executable instructions. When executed, these computer-executable instructions cause at least one processor to perform the dual industrial robotic arm conversion and collaborative control method provided in the above embodiments. It should be understood that the solutions in this embodiment have the corresponding technical effects in the above method embodiments, and will not be repeated here.
[0205] It should be noted that not all steps and modules in the above processes and system structure diagrams are mandatory; some steps or modules can be omitted as needed. The execution order of each step is not fixed and can be adjusted as required. The system structure described in the above embodiments can be a physical structure or a logical structure. That is, some modules may be implemented by the same physical entity, or some modules may be implemented by multiple physical entities, or they may be jointly implemented by certain components in multiple independent devices.
[0206] In this patent application, nouns and pronouns relating to people are not limited to specific genders.
[0207] In the above embodiments, the hardware modules can be implemented mechanically or electrically. For example, a hardware module may include permanent, dedicated circuitry or logic (such as a dedicated processor, FPGA, or ASIC) to perform the corresponding operations. The hardware module may also include programmable logic or circuitry (such as a general-purpose processor or other programmable processor), which can be temporarily configured by software to perform the corresponding operations. The specific implementation method (mechanical, dedicated, permanent circuitry, or temporarily configured circuitry) can be determined based on cost and time considerations.
[0208] The present application has been shown and described in detail above with reference to the accompanying drawings and preferred embodiments. However, the present application is not limited to these disclosed embodiments. Based on the above multiple embodiments, those skilled in the art will know that more embodiments of the present application can be obtained by combining the code review methods in the different embodiments above. These embodiments are also within the protection scope of the present application.
Claims
1. A dual-industry robotic arm switching and collaborative control method (200) for controlling a first robotic arm, a second robotic arm, and a rotating fixture, wherein the first robotic arm and the second robotic arm are used to process a workpiece fixed to the rotating fixture, the rotating fixture is configured to rotate along the fixture's rotation axis, the first robotic arm is mounted on a first base, the second robotic arm is mounted on a second base, and the first base and the second base are configured to slide along a slide rail, characterized in that... The method includes: During the coordinated control of the first robotic arm, the second robotic arm, and the rotating fixture, the movement of the first robotic arm, the second robotic arm, and the rotating fixture is controlled through the following steps: Based on the programming file written in the first control channel, the first robotic arm, the second robotic arm, and the tooling rotation axis are interpolated in the first control channel. The programming file includes the pose parameters of the first robotic arm, the pose parameters of the second robotic arm, the tooling rotation axis parameters, the position parameters of the first base, and the position parameters of the second base. In the first control channel, the coordinate transformation of the joint rotation axis of the first robotic arm, the sliding position of the first base along the slide rail, and the rotating fixture are performed using a robotic arm transformation compilation loop, and the motion control of the joint rotation axis of the first robotic arm is performed based on the transformation result. The first control channel controls the first base and the second base to slide along the slide rail, and the first control channel also controls the rotating fixture to rotate around the fixture rotation axis. In the second control channel, motion control is performed on the joint rotation axes of the second robotic arm based on the virtual axes indicated by the pose parameters of the second robotic arm included in the programming file and the synchronous motion algorithm. The virtual axes are set by the programming file in the CNC system general data based on the pose parameters of the second robotic arm and assigned to the first control channel and the second control channel.
2. The method according to claim 1, characterized in that, In the second control channel, based on the pose parameters and synchronous motion algorithm of the second robotic arm included in the programming file, motion control is performed on the joint rotation axes of the second robotic arm, including: In the second control channel, based on the calculation results of the second robotic arm, values are assigned to the virtual axes indicated by the pose parameters of the second robotic arm in the programming file; The synchronous motion algorithm reads the virtual axis indicated by the pose parameters of the second robotic arm in the second control channel, obtains the first target pose information of the end reference point of the second robotic arm in the first coordinate system, performs coordinate transformation on the joint rotation axis of the second robotic arm according to the first target pose information, and performs motion control on the joint rotation axis of the second robotic arm based on the transformation result, wherein the first coordinate system is the coordinate system of the rotating tool.
3. The method according to claim 2, characterized in that, The step of performing coordinate transformation on the joint rotation axes of the second robotic arm based on the first target pose information includes: The synchronous motion algorithm determines the second target pose information of the end reference point of the second robotic arm in the second coordinate system based on the first target pose information, the target rotation angle of the rotating tool, and the target position of the second base on the slide rail. Based on the second target pose information, the target angles of the rotation axes of each joint of the second robotic arm are determined by inverse kinematics. The second coordinate system is the base coordinate system of the second base.
4. The method according to claim 3, characterized in that, The step of determining the second target pose information of the end effector reference point of the second robotic arm in the second coordinate system based on the first target pose information, the target rotation angle of the rotating tool, and the target position of the second base on the slide rail includes: Based on the angle orientation of the end-effector reference point of the second robotic arm in the first coordinate system, including the first target pose information, a first rotation matrix of the end-effector reference point of the second robotic arm relative to the first coordinate system is determined. Based on the first rotation matrix and the second rotation matrix of the rotating fixture about the horizontal axis in the first coordinate system, determine the third rotation matrix of the end reference point of the second robotic arm relative to the second coordinate system; Based on the second rotation matrix and the position and orientation of the end reference point of the second robotic arm in the first coordinate system, including the first target pose information, determine the position offset matrix of the end reference point of the second robotic arm relative to the origin of the first coordinate system. The pose information of the second target is determined based on the third rotation matrix, the position offset matrix, and the target position.
5. The method according to claim 4, characterized in that, The first rotation matrix is as follows: in, A is used to characterize the first rotation matrix, B is used to characterize the roll angle of the end-point reference point of the second robotic arm in the first coordinate system, C is used to characterize the pitch angle of the end-point reference point of the second robotic arm in the first coordinate system, and C is used to characterize the yaw angle of the end-point reference point of the second robotic arm in the first coordinate system. The third rotation matrix is as follows: = in, Used to characterize the third rotation matrix Used to characterize the second rotation matrix, Used to characterize the first rotation matrix , Used to characterize the rotation angle of the rotating tool about the horizontal axis in the first coordinate system. Used to characterize the results of matrix multiplication calculations; The position offset matrix is as follows: = in, The rotation matrix is used to characterize the second rotation matrix. X is used to characterize the translation of the end reference point of the second robotic arm on the horizontal axis in the first coordinate system, Y is used to characterize the translation of the end reference point of the second robotic arm on the vertical axis in the first coordinate system, and Z is used to characterize the translation of the end reference point of the second robotic arm on the vertical axis in the first coordinate system. The second target pose information includes: = in, Used to characterize the third rotation matrix The difference between the target position of the second base and the target position on the slide rail. The sum of the offsets of the vertical axis of the first coordinate system relative to the second coordinate system when the rotating fixture is at the target rotation angle. The sum of the offsets of the vertical coordinate axis of the first coordinate system relative to the second coordinate system when the rotating fixture is at the target rotation angle.
6. The method according to claim 1, characterized in that, The method further includes: The synchronous motion algorithm subroutine determines the initial pose information of the end reference point of the second robotic arm in the first coordinate system based on the current angle values of the rotation axes of each joint of the second robotic arm, the current rotation angle of the rotating fixture, and the current position of the second base on the slide rail. Then, based on the initial pose information, it assigns values to the virtual axes indicated by the pose parameters of the second robotic arm in the programming file, so that the first control channel interpolates the rotation axes of the first robotic arm, the second robotic arm, and the fixture based on the initial pose information. The first coordinate system is the coordinate system of the rotating fixture.
7. The method according to claim 1, characterized in that, When the first robotic arm, the second robotic arm, and the rotating fixture are under non-linkage control, their movements are controlled through the following steps: In the first control channel, coordinate transformation and interpolation calculations are performed on the joint rotation axis of the first robotic arm, the sliding position of the first base along the slide rail, and the rotating fixture based on the robotic arm transformation compilation loop. In the first control channel, the sliding of the first base along the slide rail and the rotation of the rotating fixture are controlled according to the calculation results, and the motion control of the joint rotation axis of the first robotic arm is performed. In the second control channel, coordinate transformation and interpolation calculations are performed on the joint rotation axis of the second robotic arm, the sliding position of the second base along the slide rail, and the rotating fixture based on the robotic arm transformation compilation loop. In the second control channel, the second base is controlled to slide along the slide rail and the rotating fixture is controlled to rotate, and the joint rotation axis of the second robotic arm is controlled to move, based on the calculation results.
8. A dual industrial robotic arm conversion and coordination control device (500) for controlling a first robotic arm, a second robotic arm, and a rotating fixture, wherein the first robotic arm and the second robotic arm are used to process a workpiece fixed to the rotating fixture, the rotating fixture is configured to rotate along a fixture rotation axis, the first robotic arm is disposed on a first base, the second robotic arm is disposed on a second base, and the first base and the second base are configured to slide along a slide rail, characterized in that... The device includes: The interpolation unit (501) is used to interpolate the first robotic arm, the second robotic arm, and the tooling rotation axis in the first control channel based on a programming file written in the first control channel. The programming file includes the pose parameters of the first robotic arm, the pose parameters of the second robotic arm, the tooling rotation axis parameters, the position parameters of the first base, and the position parameters of the second base. The conversion unit (502) is used to perform coordinate transformation on the joint rotation axis of the first robotic arm, the sliding position of the first base along the slide rail, and the rotating fixture in the first control channel using the robotic arm conversion compilation loop, and to perform motion control on the joint rotation axis of the first robotic arm based on the conversion result. The first control unit (503) is used to control the first base and the second base to slide along the slide rail in the first control channel, and to control the rotating fixture to rotate around the fixture rotation axis in the first control channel. The second control unit (504) is used to perform motion control on the joint rotation axis of the second robotic arm in the second control channel based on the virtual axis indicated by the pose parameters of the second robotic arm included in the programming file and the synchronous motion algorithm, wherein the virtual axis is set by the programming file in the CNC system general data based on the pose parameters of the second robotic arm and assigned to the first control channel and the second control channel.
9. An electronic device (600), characterized in that, include: The processor (602), the communication interface (604), the memory (606), and the communication bus (608) communicate with each other through the communication bus (608). The memory (606) is used to store at least one executable instruction that causes the processor (602) to execute the dual industrial robotic arm switching and cooperative control method (200) as described in any one of claims 1-7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that, when executed by a processor, cause the processor to perform the dual industrial robotic arm conversion and collaborative control method (200) as described in any one of claims 1-7.
11. A computer program product, characterized in that, The computer program product is tangibly stored on a computer-readable medium and includes computer-executable instructions that, when executed, cause at least one processor to perform the dual industrial robotic arm switching cooperative control method (200) as described in any one of claims 1-7.