A trajectory planning method and system applied to a curved surface UV jet printing robot
By acquiring multi-axis CNC machining toolpath and matrix function set information to generate the nozzle movement trajectory, the problem of low programming efficiency in robot printing is solved, and efficient curved surface printing is realized.
Patent Information
- Application Number
- CN202410057724.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-15
- Publication Date
- 2026-08-25
- Estimated Expiration
- 2044-01-15
AI Technical Summary
In existing technologies, robot inkjet printing programming methods are inefficient, especially when printing on curved surfaces. Operator skills and experience limitations lead to inaccurate teaching and overall low work efficiency.
By acquiring multi-axis CNC machining toolpath information and combining it with matrix function set information, the printhead movement trajectory is generated, reducing manual operation steps and improving printing efficiency.
It achieves efficient generation of printing trajectories, reduces manual operation, improves overall work efficiency, is more adaptable, and produces higher printing quality.
Smart Images

Figure CN117798921B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of inkjet printing, and more specifically, to a trajectory planning method and system for curved surface UV inkjet printing robots. Background Technology
[0002] In industrial production, to improve product performance and quality, surface printing is often required. To meet the demands of industrial printing, various printing equipment has emerged, the most typical being the reciprocating machine. Controlled by a computer, the reciprocating machine uses moving parts to drive the inkjet gun in a reciprocating motion. Combined with a turntable or conveyor belt, it can achieve high-efficiency printing. However, reciprocating machines can only print on two-dimensional planar areas. When printing on curved surfaces, their adaptability is limited and the printing quality is low, thus limiting their use to small-scale printing industries.
[0003] The emergence of industrial robots has made up for the shortcomings of reciprocating machines in terms of poor adaptability and low printing quality. With the in-depth research of researchers, printing robots with higher flexibility and stronger adaptability have been developed. Using printing robots to print on the surface of products can improve printing efficiency and the quality of printed products. Therefore, research on printing robot-related technologies, such as robot programming technology and printing trajectory planning, has become one of the research hotspots in the field of industrial production.
[0004] Currently, in robotic inkjet printing applications, the motion trajectory and actions of the inkjet printing robot are defined and recorded using a "manual teaching" programming method. However, this method requires operators to manually drag the robot's body or joints, which involves many steps and results in low overall work efficiency, requiring further improvement. Summary of the Invention
[0005] Based on this, embodiments of this application provide a trajectory planning method and system for curved surface UV inkjet printing robots to solve the problem of low overall work efficiency in the prior art.
[0006] In a first aspect, embodiments of this application provide a trajectory planning method for a curved surface UV inkjet printing robot, applicable to inkjet printing robots, the inkjet printing robot including a multi-degree-of-freedom robotic arm and an inkjet printing printhead, the inkjet printing printhead being mounted at the end of the multi-degree-of-freedom robotic arm, the method comprising:
[0007] Obtain toolpath information for multi-axis CNC machining;
[0008] Based on the toolpath information and matrix function set information of multi-axis CNC machining, the nozzle movement trajectory information is generated.
[0009] Compared with the prior art, the beneficial effects are as follows: The trajectory planning method for curved surface UV inkjet printing robots provided in this application embodiment allows the terminal device to first obtain the multi-axis CNC machining toolpath trajectory information, and then generate the printhead movement trajectory information based on the multi-axis CNC machining toolpath trajectory information and matrix function set information, thereby efficiently generating the machining trajectory, reducing a large number of manual operation steps by operators, greatly improving the overall work efficiency, and solving the problem of low overall work efficiency to a certain extent.
[0010] Secondly, embodiments of this application provide a trajectory planning system for a curved surface UV inkjet printing robot, applicable to inkjet printing robots. The inkjet printing robot includes a multi-degree-of-freedom robotic arm and an inkjet printhead, the inkjet printhead being mounted at the end of the multi-degree-of-freedom robotic arm. The system includes:
[0011] Multi-axis CNC machining toolpath information acquisition module: used to acquire multi-axis CNC machining toolpath information;
[0012] Nozzle movement trajectory information generation module: used to generate nozzle movement trajectory information based on multi-axis CNC machining toolpath trajectory information and matrix function set information.
[0013] Thirdly, embodiments of this application provide a terminal device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the method described in the first aspect above.
[0014] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the method described in the first aspect above.
[0015] It is understood that the beneficial effects of the second to fourth aspects mentioned above can be found in the relevant descriptions in the first aspect mentioned above, and will not be repeated here. Attached Figure Description
[0016] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments or the prior art will be briefly introduced below.
[0017] Figure 1 This is a schematic flowchart of a trajectory planning method provided in an embodiment of this application;
[0018] Figure 2 This is a schematic diagram of an inkjet printer printhead provided in one embodiment of this application;
[0019] Figure 3 This is a flowchart illustrating step S200 in a trajectory planning method provided in an embodiment of this application;
[0020] Figure 4 This is a schematic diagram of a working coordinate system provided in an embodiment of this application;
[0021] Figure 5 This is a schematic diagram of the actual TCP coordinate system provided in one embodiment of this application;
[0022] Figure 6 This is a schematic diagram of the z-axis provided in one embodiment of this application;
[0023] Figure 7 This is a first schematic diagram of a processing trajectory provided in an embodiment of this application;
[0024] Figure 8 This is a second schematic diagram of the processing trajectory provided in one embodiment of this application;
[0025] Figure 9 This is a flowchart illustrating the process after step S200 in a trajectory planning method provided in an embodiment of this application;
[0026] Figure 10 This is a block diagram of a trajectory planning system provided in one embodiment of this application;
[0027] Figure 11 This is a schematic diagram of a terminal device provided in an embodiment of this application. Detailed Implementation
[0028] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this application with unnecessary detail.
[0029] In the description of this application and the appended claims, the terms "first," "second," "third," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.
[0030] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.
[0031] There are usually two specific implementation methods for the "manual teaching" programming method: (1) Handheld teaching pendant programming: The operator uses a handheld teaching pendant to program. The handheld teaching pendant is a portable device that usually has control elements such as buttons, joysticks or touch screens. The operator can manually operate the robot through the control elements on the teaching pendant, move the robot's end effector (such as inkjet printer nozzle), and record the corresponding position and action. These recorded data will be saved as teaching files for the robot to execute in actual printing operations; (2) Drag teaching programming: The operator directly drags the robot's body or joints manually instead of using a handheld teaching pendant. During the dragging process, the robot control system will record the position data of each axis and save it as a teaching file. In this way, the operator can directly adjust and define the robot's motion trajectory and actions according to actual needs to achieve specific printing tasks.
[0032] However, whether it is handheld teaching pendant programming or drag-and-drop teaching programming, manual teaching programming is limited by the operator's skills and experience. It requires corresponding training and proficiency to ensure the accuracy and efficiency of programming. Furthermore, when faced with complex curved surface printing tasks, inaccurate teaching may occur, further reducing overall work efficiency.
[0033] To illustrate the technical solution described in this application, specific embodiments are provided below.
[0034] Please see Figure 1 , Figure 1This is a flowchart illustrating the trajectory planning method for a curved surface UV inkjet printing robot provided in this embodiment. In this embodiment, the execution subject of the trajectory planning method is a terminal device. It is understood that the types of terminal devices include, but are not limited to, mobile phones, tablets, laptops, Ultra-Mobile Personal Computers (UMPCs), netbooks, Personal Digital Assistants (PDAs), etc. This embodiment does not impose any restrictions on the specific type of terminal device.
[0035] Please see Figure 1 The trajectory planning method provided in this application includes, but is not limited to, the following steps:
[0036] In S100, acquire the toolpath information for multi-axis CNC machining.
[0037] Without loss of generality, this trajectory planning method is applicable to inkjet printing robots, which include multi-degree-of-freedom robotic arms and inkjet printheads. The multi-degree-of-freedom robotic arm can be a six-degree-of-freedom robotic arm, and the inkjet printhead can be mounted at the end effector of the multi-degree-of-freedom robotic arm; see also Figure 2 The inkjet printhead can be the Samba printhead, which can have 2048 individually addressable nozzles.
[0038] Specifically, the terminal device can acquire multi-axis CNC machining toolpath information. This toolpath information describes the multi-axis CNC machining toolpath. It's important to note that during multi-axis CNC milling, the tool's axis vector must always be perpendicular to the workpiece surface. The tool rotates around its axis vector while moving along a pre-calculated path to achieve precise cutting. Similarly, in inkjet printing, the printhead needs to maintain a stable posture for printing. Therefore, the two processes are very similar; multi-axis CNC machining and robotic inkjet printing are highly similar. However, because multi-axis CNC machining toolpath files do not contain information about maintaining a stable printhead posture or the actual machining requirements, they cannot be directly used by the inkjet printing robot. Useful information must be extracted and processed from the toolpath files before they can be used by the robot.
[0039] In S200, nozzle movement trajectory information is generated based on multi-axis CNC machining toolpath information and matrix function set information.
[0040] Specifically, the matrix function set information includes the first homogeneous transformation matrix information, the transformed homogeneous transformation matrix information, the second homogeneous transformation matrix information, and the third homogeneous transformation matrix information. After the terminal device acquires the multi-axis CNC machining toolpath trajectory information, the terminal device can generate the nozzle movement trajectory information based on the multi-axis CNC machining toolpath trajectory information and the matrix function set information.
[0041] In some possible implementations, to efficiently generate a machining trajectory for the inkjet printhead to perform processing in a stable posture and improve overall work efficiency, please refer to [link to relevant documentation]. Figure 3 Step S200 includes, but is not limited to, the following steps:
[0042] In S210, the position matrix information and spatial attitude matrix information of the end effector of the multi-degree-of-freedom robotic arm are obtained.
[0043] Specifically, the terminal device can acquire the position matrix information and spatial attitude matrix information of the end effector of a multi-degree-of-freedom robotic arm.
[0044] In some possible implementations, the above position matrix information can be:
[0045] B P = [P] x ,P y ,P z ] T ,
[0046] In the formula, B P represents the position matrix information, P x It can be the position of the end effector of a multi-degree-of-freedom robotic arm on the x-axis of a preset spatial base coordinate system, P y It can be the position of the end effector of a multi-degree-of-freedom robotic arm on the y-axis of a spatial base coordinate system, P z It can be the position of the end effector of a multi-degree-of-freedom robotic arm along the z-axis of a spatial base coordinate system. T Represents the transpose matrix;
[0047] In some possible implementations, the terminal device can establish a coordinate system {E} on the rigid body represented by the end of the multi-degree-of-freedom robotic arm. For ease of understanding of the embodiments of this application, the coordinate system {E} represents the end coordinate system of the end of the multi-degree-of-freedom robotic arm, and the aforementioned spatial base coordinate system is labeled {B}; the origin of the end coordinate system is the same as that of the spatial base coordinate system.
[0048] The aforementioned spatial attitude matrix information can be:
[0049]
[0050] In the formula, This is the spatial attitude matrix information, which is a 3×3 matrix; nx o x and α x It can be the direction of the x-axis corresponding to the end-effector coordinate system of a multi-degree-of-freedom robotic arm in the spatial base coordinate system; n y o y and α y It can be the direction of the y-axis in the spatial base coordinate system corresponding to the end-effector coordinate system of a multi-degree-of-freedom robotic arm; n z o z and α z It can be the direction of the z-axis corresponding to the end coordinate system of a multi-degree-of-freedom robotic arm in the spatial base coordinate system.
[0051] Without loss of generality, in the kinematic analysis of robot motion, once the position vector of the origin of the end effector in the base coordinate system and the attitude matrix are obtained, the position state of the link can also be determined.
[0052] In S220, the first homogeneous transformation matrix information is generated based on the position matrix information and the spatial attitude matrix information.
[0053] Specifically, the terminal device can combine the position vector and attitude matrix based on the position matrix information and the spatial attitude matrix information to generate the first homogeneous transformation matrix information.
[0054] In some possible implementations, the aforementioned first homogeneous transformation matrix information can be:
[0055]
[0056] In the formula, T0 is the information of the first homogeneous transformation matrix, which is a 4×4 matrix; B P can be a position matrix information, which is a 3×3 matrix. This position matrix information represents the rotational attitude of the end coordinate system {E} of the multi-degree-of-freedom robot relative to the spatial base coordinate system {B}. It can be spatial attitude matrix information, which is a 3×1 matrix, representing the position of the origin of the end coordinate system {E} in space relative to the spatial base coordinate system {B}.
[0057] It should be noted that for the multi-degree-of-freedom robotic arm of a printing robot, the end effector pose can be represented by a homogeneous transformation matrix. When establishing the tool center point (TCP) coordinate system of the inkjet printhead, it is only necessary to move a certain distance along the positive Z-axis of the robot's end effector. In one possible implementation, the tool center point can be equivalent to the end effector of the multi-degree-of-freedom robotic arm, and the tool center point can be reset according to the actual situation in subsequent production applications.
[0058] In S230, based on the information of the first homogeneous transformation matrix, the information of the transformed homogeneous transformation matrix is generated.
[0059] Specifically, the terminal device can generate the transformed homogeneous transformation matrix information based on the first homogeneous transformation matrix information.
[0060] In some possible implementations, the above-mentioned homogeneous transformation matrix information can be:
[0061]
[0062] In the formula, R is the homogeneous transformation matrix information, which represents a homogeneous transformation matrix that only contains the xyz information of the point and does not contain the rotational changes; x can be the position of the end effector of the multi-degree-of-freedom robot in the x-axis corresponding to the working coordinate system, y can be the position of the end effector of the multi-degree-of-freedom robot in the y-axis corresponding to the working coordinate system, and z can be the position of the end effector of the multi-degree-of-freedom robot in the z-axis corresponding to the working coordinate system.
[0063] Without loss of generality, please refer to Figure 4 , Figure 4 In multi-axis CNC machining, the B-axis refers to rotation around the Y-axis of the working coordinate system {W}, which corresponds to the rotation of the fixed axis in a six-degree-of-freedom robotic arm; the C-axis is mounted on the B-axis. Figure 4 In multi-axis CNC machining, the C-axis means rotation around the Z-axis of the working coordinate system {W}, which corresponds to the variable axis rotation in a six-degree-of-freedom robotic arm.
[0064] In S240, the information of the second homogeneous transformation matrix is determined based on the information of the transformed homogeneous transformation matrix.
[0065] Specifically, the terminal device can determine the second homogeneous transformation matrix information based on the information of the changing homogeneous transformation matrix.
[0066] In some possible implementations, the aforementioned second homogeneous transformation matrix information can be:
[0067] T1 = ROTZ(c) × R × ROTY(b),
[0068] In the formula, T1 represents the second homogeneous transformation matrix information; ROTZ(c) can be the homogeneous transformation matrix for rotation around the z-axis of the working coordinate system, where c can be the rotation angle corresponding to the c-axis. Please refer to [link to relevant documentation]. Figure 4 The c-axis corresponds to the z-axis; R can be the homogeneous transformation matrix information; ROTY(b) can be the homogeneous transformation matrix of rotation about the y-axis of the working coordinate system, where b can be the rotation angle of the b-axis. Please refer to [link to relevant documentation]. Figure 4 The b-axis corresponds to the y-axis.
[0069] In S250, the third homogeneous transformation matrix information is generated based on the second homogeneous transformation matrix information.
[0070] Specifically, in practical applications, when performing curved surface printing, it is usually necessary to set the tip of the printhead as the origin of the TCP coordinate system. The actual TCP coordinate system setting is as follows: Figure 5 As shown; when the z-axis of the coordinate system established by the cutter axis is aligned with the z-axis of the nozzle's TCP coordinate system, it can be assumed that the cutter axis vector and the nozzle's TCP coordinate system are aligned. Based on this, the cutter axis vector needs to be rotated 180° around the working coordinate system {W} using Euler angles. The cutter axis vector can then be converted into the positive z-axis direction of the nozzle's TCP. The terminal device can generate the third homogeneous transformation matrix information based on the second homogeneous transformation matrix information.
[0071] In some possible implementations, the aforementioned third homogeneous transformation matrix information can be:
[0072] T2 = T1 × ROTY(180°),
[0073] In the formula, T2 is the information of the third homogeneous transformation matrix; T1 can be the information of the second homogeneous transformation matrix; ROTY(180°) can be a rotation matrix used to rotate the y-axis of the working coordinate system counterclockwise by 180 degrees, and the rotation matrix can be a 4×4 matrix.
[0074] In S260, the first vector information is determined based on the information of the third homogeneous transformation matrix.
[0075] Specifically, please refer to Figure 6 The origin position of the nozzle tcp can be the same as the origin position of the multi-axis CNC machining tool axis by default; the first vector information is used to describe the z-axis information of the nozzle coordinate system; the terminal device can determine the first vector information according to the third homogeneous transformation matrix information.
[0076] In some possible implementations, the aforementioned first vector information can be:
[0077]
[0078] In the formula, The first vector information, i = 1, 2, 3, ..., n, where n can be a positive integer. xi n yi and n zi It can be an element at a specified position in the information of the third homogeneous transformation matrix, n xi n yi and n zi These can be the three elements of the third column, first row to third row of the third homogeneous transformation matrix information mentioned above.
[0079] In S270, the first point information and the second point information are determined based on the toolpath information of multi-axis CNC machining.
[0080] Specifically, the second point information is the point that is adjacent to the first point information and located after the first point information in the multi-axis CNC machining toolpath trajectory information; the multi-axis CNC machining toolpath trajectory information includes multiple point information, and the terminal equipment can determine the first point information and the second point information based on the multi-axis CNC machining toolpath trajectory information. The first point information can be any point information except the last point information.
[0081] In S280, the second vector information is determined based on the first point information and the second point information.
[0082] Specifically, the terminal device can use the second point I based on the first point information and the second point information. i+1 Subtract the previous point I i , determine the second vector information.
[0083] In some possible implementations, the aforementioned second vector information can be:
[0084]
[0085] In the formula, The second vector information describes the forward direction of the inkjet printhead, where i = 1, 2, 3, ..., n, and n can be a positive integer. i It can be the information of the first point's location on the x-axis, y-axis... i It could be the information of the first point's location on the y-axis, z-axis... i It could be the information of the first point's location on the z-axis, x i+1 It could be the information of the second point location on the x-axis, y-axis... i+1 It could be the information of the second point location on the y-axis, z-axis... i+1 It could be the information of the second point location on the z-axis.
[0086] In S290, third vector information is generated based on the first vector information and the second vector information.
[0087] Specifically, the terminal device can generate third vector information by taking the ZX plane formed by the Z-axis and X-axis based on the first vector information and the second vector information.
[0088] In some possible implementations, the aforementioned third vector information can be:
[0089]
[0090] In the formula, The third vector information is used to describe the y-axis information of the nozzle coordinate system, i = 1, 2, 3, ..., n, where n can be a positive integer.
[0091] In S291, the comprehensive matrix information is determined based on the first vector information, the second vector information, and the third vector information.
[0092] Specifically, the terminal device can determine the comprehensive matrix information based on the first vector information, the second vector information, and the third vector information.
[0093] In some possible implementations, the above-mentioned comprehensive matrix information can be:
[0094]
[0095] In the formula, R2 represents the comprehensive matrix information, which is a 3×3 matrix; This could be the direction of the inkjet printhead on the x-axis. It could be the direction of the inkjet printhead on the y-axis. It can be the direction of the inkjet printhead on the z-axis.
[0096] In S292, the fourth homogeneous transformation matrix information is generated based on the third homogeneous transformation matrix information and the comprehensive matrix information.
[0097] In some possible implementations, the aforementioned fourth homogeneous transformation matrix information can be:
[0098]
[0099] In the formula, T3 can be the information of the fourth homogeneous transformation matrix, which is a 4×4 matrix; This could be the direction of the inkjet printhead on the x-axis. It could be the direction of the inkjet printhead on the y-axis. It can be the direction of the inkjet printhead on the z-axis, x i It can be the information of the first point's location on the x-axis, y-axis... i It could be the information of the first point's location on the y-axis, z-axis... i It can be the information of the first point on the z-axis, i = 1, 2, 3, ..., n, where n can be a positive integer.
[0100] In S293, the fourth homogeneous transformation matrix information is determined to be the nozzle movement trajectory information.
[0101] Specifically, please refer to Figure 7 and Figure 8The fourth homogeneous transformation matrix information contains the pose information of the end effector of the multi-degree-of-freedom robotic arm, and the terminal device can determine the fourth homogeneous transformation matrix information as the nozzle movement trajectory information.
[0102] In some possible implementations, to improve inkjet accuracy, please refer to [link / reference]. Figure 9 After step S200, the method further includes, but is not limited to, the following steps:
[0103] In S300, information on the number of nozzles used is obtained.
[0104] Specifically, the terminal device can obtain nozzle usage quantity information, which describes the number of nozzles used. The nozzle usage quantity information can be any integer between 10 and 2000.
[0105] In S310, printing instructions are generated based on printhead movement trajectory information and the number of nozzles used.
[0106] Specifically, the terminal device can generate printing instructions based on the printhead movement trajectory information and the number of nozzles used. The printing instructions are used to instruct the multi-degree-of-freedom robotic arm to use the inkjet printing printhead for production processing.
[0107] In some possible implementations, to further improve inkjet accuracy, after step S310, the method may include, but is not limited to, the following steps:
[0108] In the S320, the multi-degree-of-freedom robotic arm is controlled to execute printing commands so that the inkjet printhead performs printing work with the printhead axis always perpendicular to the surface of the workpiece.
[0109] Specifically, please refer to Figure 8 The terminal device can control the multi-degree-of-freedom robotic arm to execute printing commands, so that the inkjet printing head can perform printing work with the print head axis always perpendicular to the surface of the workpiece.
[0110] The implementation principle of the trajectory planning method for curved surface UV inkjet printing robots in this application embodiment is as follows: The terminal device can first obtain the multi-axis CNC machining toolpath trajectory information, and then generate the printhead movement trajectory information based on the multi-axis CNC machining toolpath trajectory information and matrix function set information, thereby efficiently generating the machining trajectory that makes the inkjet printing printhead always perpendicular to the surface of the workpiece for inkjet printing, greatly improving the overall work efficiency.
[0111] It should be noted that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0112] Embodiments of this application also provide a trajectory planning system for a curved surface UV inkjet printing robot. This system is suitable for inkjet printing robots, which include a multi-degree-of-freedom robotic arm and an inkjet printhead. The inkjet printhead is mounted at the end of the multi-degree-of-freedom robotic arm. For ease of explanation, only the parts relevant to this application are shown. Figure 10 As shown, the system 10 includes:
[0113] Multi-axis CNC machining toolpath information acquisition module 101: used to acquire multi-axis CNC machining toolpath information;
[0114] Nozzle movement trajectory information generation module 102: used to generate nozzle movement trajectory information based on multi-axis CNC machining toolpath trajectory information and matrix function set information.
[0115] Optionally, the matrix function set information includes first homogeneous transformation matrix information, transformed homogeneous transformation matrix information, second homogeneous transformation matrix information, and third homogeneous transformation matrix information; the above-mentioned nozzle movement trajectory information generation module 102 includes:
[0116] Spatial attitude matrix information acquisition submodule: Used to acquire the position matrix information and spatial attitude matrix information of the end effector of a multi-degree-of-freedom robotic arm. The position matrix information is as follows:
[0117]
[0118] In the formula, B P represents the position matrix information, P x P represents the position of the end effector of the multi-degree-of-freedom robotic arm on the x-axis of a preset spatial coordinate system. y Let P be the position of the end effector of the multi-degree-of-freedom robotic arm in the y-axis of the spatial base coordinate system. z Let be the position of the end effector of the multi-degree-of-freedom robotic arm along the z-axis of the spatial base coordinate system. T It is the transpose matrix;
[0119] The spatial attitude matrix information is as follows:
[0120]
[0121] In the formula, For spatial attitude matrix information, n x o x and α x Let n be the direction of the x-axis corresponding to the end-effector coordinate system of the multi-degree-of-freedom robotic arm in the spatial base coordinate system. y o y and α y Let n be the direction of the y-axis in the spatial base coordinate system corresponding to the end-effector coordinate system of the multi-degree-of-freedom robotic arm. z oz and α z The z-axis of the end effector coordinate system of the multi-degree-of-freedom robotic arm is oriented in the spatial base coordinate system.
[0122] The first homogeneous transformation matrix information generation submodule is used to generate the first homogeneous transformation matrix information based on the position matrix information and the spatial attitude matrix information. The first homogeneous transformation matrix information is as follows:
[0123]
[0124] In the formula, T0 represents the information of the first homogeneous transformation matrix. B P represents the position matrix information. This refers to spatial attitude matrix information;
[0125] The homogeneous transformation matrix information generation submodule is used to generate homogeneous transformation matrix information based on the first homogeneous transformation matrix information. The homogeneous transformation matrix information is as follows:
[0126]
[0127] In the formula, R is the homogeneous transformation matrix information, x is the position of the end effector of the multi-degree-of-freedom robot in the x-axis of the working coordinate system, y is the position of the end effector of the multi-degree-of-freedom robot in the y-axis of the working coordinate system, and z is the position of the end effector of the multi-degree-of-freedom robot in the z-axis of the working coordinate system.
[0128] The second homogeneous transformation matrix information determination submodule is used to determine the second homogeneous transformation matrix information based on the transformed homogeneous transformation matrix information. The second homogeneous transformation matrix information is as follows:
[0129] T1 = ROTZ(c) × R × ROTY(b),
[0130] In the formula, T1 is the second homogeneous transformation matrix information, ROTZ(c) is the homogeneous transformation matrix of rotation around the z-axis of the working coordinate system, c is the rotation angle corresponding to the c-axis, the c-axis corresponds to the z-axis, R is the homogeneous transformation matrix information of the transformation, ROTY(b) is the homogeneous transformation matrix of rotation around the y-axis of the working coordinate system, b is the rotation angle of the b-axis, the b-axis corresponds to the y-axis;
[0131] The third homogeneous transformation matrix information generation submodule is used to generate the third homogeneous transformation matrix information based on the second homogeneous transformation matrix information. The third homogeneous transformation matrix information is as follows:
[0132] T2 = T1 × ROTY(180°),
[0133] In the formula, T2 is the information of the third homogeneous transformation matrix, T1 is the information of the second homogeneous transformation matrix, and ROTY(180°) is the rotation matrix used to rotate the y-axis of the working coordinate system counterclockwise by 180 degrees.
[0134] The first vector information determination submodule is used to determine the first vector information based on the third homogeneous transformation matrix information. The first vector information describes the z-axis information of the nozzle coordinate system. Specifically, the first vector information is:
[0135]
[0136] In the formula, The first vector information is given by i = 1, 2, 3, ..., n, where n is a positive integer. xi n yi and n zi The element at a specified position in the information of the third homogeneous transformation matrix;
[0137] Point information determination submodule: used to determine the first point information and the second point information based on the multi-axis CNC machining toolpath trajectory information, wherein the second point information is the point in the multi-axis CNC machining toolpath trajectory information that is adjacent to the first point information and located after the first point information;
[0138] The second vector information determination submodule is used to determine the second vector information based on the first and second point information. The second vector information is as follows:
[0139]
[0140] In the formula, The second vector information describes the forward direction of the inkjet printhead, where i = 1, 2, 3, ..., n, and n is a positive integer. j The information of the first point on the x-axis, y j The information of the first point on the y-axis, z i The information of the first point on the z-axis, x i+1 The information of the second point location on the x-axis, y i+1 The information of the second point location on the y-axis, z i+1 This refers to the information of the second point location on the z-axis;
[0141] The third vector information generation submodule is used to generate third vector information based on the first and second vector information. The third vector information is as follows:
[0142]
[0143] In the formula, This is the third vector information, which is used to describe the y-axis information of the nozzle coordinate system, i = 1, 2, 3, ..., n, where n is a positive integer;
[0144] The comprehensive matrix information determination submodule is used to determine the comprehensive matrix information based on the first vector information, the second vector information, and the third vector information. The comprehensive matrix information is as follows:
[0145]
[0146] In the formula, R2 represents the comprehensive matrix information. The x-axis represents the direction of the inkjet printhead. This represents the direction of the inkjet printhead on the y-axis. The direction of the inkjet printhead on the z-axis;
[0147] The fourth homogeneous transformation matrix information generation submodule is used to generate the fourth homogeneous transformation matrix information based on the third homogeneous transformation matrix information and the comprehensive matrix information. The fourth homogeneous transformation matrix information is as follows:
[0148]
[0149] In the formula, T3 represents the information of the fourth homogeneous transformation matrix. The x-axis represents the direction of the inkjet printhead. This represents the direction of the inkjet printhead on the y-axis. x represents the direction of the inkjet printhead on the z-axis. i The information of the first point on the x-axis, y i The information of the first point on the y-axis, z i The information of the first point on the z-axis is i = 1, 2, 3, ..., n, where n is a positive integer;
[0150] Nozzle movement trajectory information determination submodule: used to determine the fourth homogeneous transformation matrix information as nozzle movement trajectory information.
[0151] Optionally, the system 10 also includes:
[0152] Nozzle usage quantity information acquisition module: used to acquire nozzle usage quantity information;
[0153] Printing instruction generation module: Used to generate printing instructions based on printhead movement trajectory information and nozzle usage quantity information.
[0154] Optionally, the system 10 also includes:
[0155] Printing instruction execution module: Used to control the multi-degree-of-freedom robotic arm to execute printing instructions so that the inkjet print head can perform printing work with the print head axis always perpendicular to the surface of the workpiece.
[0156] It should be noted that the information interaction and execution process between the above modules are based on the same concept as the method embodiments of this application. For details on their specific functions and technical effects, please refer to the method embodiments section, which will not be repeated here.
[0157] This application also provides a terminal device, such as... Figure 11 As shown, the terminal device 110 of this embodiment includes: a processor 111, a memory 112, and a computer program 113 stored in the memory 112 and executable on the processor 111. When the processor 111 executes the computer program 113, it implements the steps in the above-described traffic processing method embodiment, for example... Figure 1 Steps S100 to S200 are shown; or, when processor 111 executes computer program 113, it implements the functions of each module in the above-described device, for example... Figure 10 The functions of modules 101 to 102 are shown.
[0158] The terminal device 110 can be a desktop computer, laptop, handheld computer, cloud server, or other computing device. The terminal device 110 includes, but is not limited to, a processor 111 and a memory 112. Those skilled in the art will understand that... Figure 10 This is merely an example of terminal device 110 and does not constitute a limitation on terminal device 110. It may include more or fewer components than shown, or combine certain components, or different components. For example, terminal device 110 may also include input / output devices, network access devices, buses, etc.
[0159] The processor 111 can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.; the general-purpose processor can be a microprocessor or any conventional processor, etc.
[0160] The memory 112 can be an internal storage unit of the terminal device 110, such as the hard disk or memory of the terminal device 110. The memory 112 can also be an external storage device of the terminal device 110, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the terminal device 110. Furthermore, the memory 112 can include both internal storage units and external storage devices of the terminal device 110. The memory 112 can also store computer program 113 and other programs and data required by the terminal device 110. The memory 112 can also be used to temporarily store data that has been output or will be output.
[0161] One embodiment of this application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable file, or some intermediate form. The computer-readable medium can include any entity or device capable of carrying computer program code, a recording medium, a USB flash drive, a portable hard drive, a magnetic disk, an optical disk, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium, etc.
[0162] The above are all preferred embodiments of this application, and are not intended to limit the scope of protection of this application. Therefore, all equivalent changes made in accordance with the methods, principles and structures of this application should be covered within the scope of protection of this application.
Claims
1. A trajectory planning method for a curved surface UV inkjet printing robot, applicable to the inkjet printing robot, the inkjet printing robot comprising a multi-degree-of-freedom robotic arm and an inkjet printing printhead, the inkjet printing printhead being mounted at the end of the multi-degree-of-freedom robotic arm, characterized in that, The method includes: Obtain toolpath information for multi-axis CNC machining; Based on the multi-axis CNC machining toolpath trajectory information and matrix function set information, nozzle movement trajectory information is generated, wherein the matrix function set information includes first homogeneous transformation matrix information, variable homogeneous transformation matrix information, second homogeneous transformation matrix information and third homogeneous transformation matrix information; The step of generating nozzle movement trajectory information based on the multi-axis CNC machining toolpath trajectory information and matrix function set information includes: Obtain the position matrix information and spatial attitude matrix information of the end effector of a multi-degree-of-freedom robotic arm, wherein the position matrix information is: , In the formula, The location matrix information, The coordinate system corresponding to the end effector of the multi-degree-of-freedom robotic arm in the preset spatial base coordinate system. Position in the axis, The end effector of the multi-degree-of-freedom robotic arm is in the spatial base coordinate system. Position in the axis, The end effector of the multi-degree-of-freedom robotic arm is in the spatial base coordinate system. Position in the axis, It is the transpose matrix; The spatial attitude matrix information is as follows: , In the formula, The spatial attitude matrix information, , and The end-effector coordinate system corresponding to the end-effector coordinate system of a multi-degree-of-freedom robotic arm The direction of the axis in the spatial base coordinate system , and The end-effector coordinate system corresponding to the end-effector coordinate system of a multi-degree-of-freedom robotic arm The direction of the axis in the spatial base coordinate system , and The end-effector coordinate system corresponding to the end-effector coordinate system of a multi-degree-of-freedom robotic arm The direction of the axis in the spatial base coordinate system; Based on the position matrix information and the spatial attitude matrix information, a first homogeneous transformation matrix information is generated, wherein the first homogeneous transformation matrix information is: , In the formula, This is the information of the first homogeneous transformation matrix. The location matrix information, This refers to the spatial attitude matrix information; Based on the first homogeneous transformation matrix information, a transformed homogeneous transformation matrix information is generated, wherein the transformed homogeneous transformation matrix information is: , In the formula, The information is the homogeneous transformation matrix of the transformation. For the end effector of a multi-degree-of-freedom robotic arm in the working coordinate system Position in the axis, For the end effector of a multi-degree-of-freedom robotic arm in the working coordinate system Position in the axis, For the end effector of a multi-degree-of-freedom robotic arm in the working coordinate system Position within the axis; Based on the aforementioned homogeneous transformation matrix information, the second homogeneous transformation matrix information is determined, wherein the second homogeneous transformation matrix information is: , In the formula, This is the information of the second homogeneous transformation matrix. For the working coordinate system The homogeneous transformation matrix of axis rotation. for The rotation angle corresponding to the axis, the shaft and the Corresponding axis The information is the homogeneous transformation matrix of the transformation. For the working coordinate system The homogeneous transformation matrix of axis rotation. for The rotation angle of the shaft, the shaft and the Corresponding axis; Based on the second homogeneous transformation matrix information, a third homogeneous transformation matrix information is generated, wherein the third homogeneous transformation matrix information is: , In the formula, This refers to the information of the third homogeneous transformation matrix. This is the information of the second homogeneous transformation matrix. For use in making the working coordinate system A rotation matrix that rotates the axis 180 degrees counterclockwise; Based on the third homogeneous transformation matrix information, first vector information is determined, wherein the first vector information is used to describe the nozzle coordinate system. Axis information, the first vector information is: , In the formula, For the first vector information, , It is a positive integer. , and The element at a specified position in the information of the third homogeneous transformation matrix; Based on the multi-axis CNC machining toolpath trajectory information, first point information and second point information are determined, wherein the second point information is a point in the multi-axis CNC machining toolpath trajectory information that is adjacent to the first point information and located after the first point information; Based on the first point information and the second point information, the second vector information is determined, wherein the second vector information is: , In the formula, The second vector information describes the forward direction of the inkjet printhead. , It is a positive integer. For the first point information in Information on the axis For the first point information in Information on the axis For the first point information in Information on the axis For the second point information in Information on the axis For the second point information in Information on the axis For the second point information in Information on the axis; Based on the first vector information and the second vector information, third vector information is generated, wherein the third vector information is: , In the formula, The third vector information is used to describe the nozzle coordinate system. Axis information, , It is a positive integer; Based on the first vector information, the second vector information, and the third vector information, the comprehensive matrix information is determined, wherein the comprehensive matrix information is: , In the formula, For the comprehensive matrix information, For the inkjet printhead in Direction on the axis, For the inkjet printhead in Direction on the axis, For the inkjet printhead in Direction on the axis; Based on the third homogeneous transformation matrix information and the comprehensive matrix information, a fourth homogeneous transformation matrix information is generated, wherein the fourth homogeneous transformation matrix information is: , In the formula, This refers to the information of the fourth homogeneous transformation matrix. For the inkjet printhead in Direction on the axis, For the inkjet printhead in Direction on the axis, For the inkjet printhead in Direction on the axis, For the first point information in Information on the axis For the first point information in Information on the axis For the first point information in Information on the axis , It is a positive integer; The fourth homogeneous transformation matrix information is determined to be the nozzle movement trajectory information.
2. The method according to claim 1, characterized in that, After generating nozzle movement trajectory information based on the multi-axis CNC machining toolpath trajectory information and matrix function set information, the method further includes: Obtain information on the number of nozzles used; Based on the printhead movement trajectory information and the number of nozzles used, a printing instruction is generated.
3. The method according to claim 2, characterized in that, After generating the printing instruction based on the printhead movement trajectory information and the number of nozzles used, the method further includes: The multi-degree-of-freedom robotic arm is controlled to execute the printing command so that the inkjet printing head performs printing work with the printhead axis always perpendicular to the surface of the workpiece.
4. A trajectory planning system for a curved surface UV inkjet printing robot, suitable for inkjet printing robots, the inkjet printing robot comprising a multi-degree-of-freedom robotic arm and an inkjet printing printhead, the inkjet printing printhead being mounted at the end of the multi-degree-of-freedom robotic arm, characterized in that, The system includes: Multi-axis CNC machining toolpath information acquisition module: used to acquire multi-axis CNC machining toolpath information; Nozzle movement trajectory information generation module: used to generate nozzle movement trajectory information based on the multi-axis CNC machining toolpath trajectory information and matrix function set information; The nozzle movement trajectory information generation module includes: Spatial attitude matrix information acquisition submodule: used to acquire the position matrix information and spatial attitude matrix information of the end effector of a multi-degree-of-freedom robotic arm, wherein the position matrix information is: , In the formula, The location matrix information, The coordinate system corresponding to the end effector of the multi-degree-of-freedom robotic arm in the preset spatial base coordinate system. Position in the axis, The end effector of the multi-degree-of-freedom robotic arm is in the spatial base coordinate system. Position in the axis, The end effector of the multi-degree-of-freedom robotic arm is in the spatial base coordinate system. Position in the axis, It is the transpose matrix; The spatial attitude matrix information is as follows: , In the formula, The spatial attitude matrix information, , and The end-effector coordinate system corresponding to the end-effector coordinate system of a multi-degree-of-freedom robotic arm The direction of the axis in the spatial base coordinate system , and The end-effector coordinate system corresponding to the end-effector coordinate system of a multi-degree-of-freedom robotic arm The direction of the axis in the spatial base coordinate system , and The end-effector coordinate system corresponding to the end-effector coordinate system of a multi-degree-of-freedom robotic arm The direction of the axis in the spatial base coordinate system; The first homogeneous transformation matrix information generation submodule is used to generate first homogeneous transformation matrix information based on the position matrix information and the spatial attitude matrix information, wherein the first homogeneous transformation matrix information is: , In the formula, This is the information of the first homogeneous transformation matrix. The location matrix information, This refers to the spatial attitude matrix information; The homogeneous transformation matrix information generation submodule is used to generate homogeneous transformation matrix information based on the first homogeneous transformation matrix information, wherein the homogeneous transformation matrix information is: , In the formula, The information is the homogeneous transformation matrix of the transformation. For the end effector of a multi-degree-of-freedom robotic arm in the working coordinate system Position in the axis, For the end effector of a multi-degree-of-freedom robotic arm in the working coordinate system Position in the axis, For the end effector of a multi-degree-of-freedom robotic arm in the working coordinate system Position within the axis; The second homogeneous transformation matrix information determination submodule is used to determine the second homogeneous transformation matrix information based on the transformed homogeneous transformation matrix information, wherein the second homogeneous transformation matrix information is: , In the formula, This is the information of the second homogeneous transformation matrix. For the working coordinate system The homogeneous transformation matrix of axis rotation. for The rotation angle corresponding to the axis, the shaft and the Corresponding axis The information is the homogeneous transformation matrix of the transformation. For the working coordinate system The homogeneous transformation matrix of axis rotation. for The rotation angle of the shaft, the shaft and the Corresponding axis; The third homogeneous transformation matrix information generation submodule is used to generate third homogeneous transformation matrix information based on the second homogeneous transformation matrix information, wherein the third homogeneous transformation matrix information is: , In the formula, This refers to the information of the third homogeneous transformation matrix. This is the information of the second homogeneous transformation matrix. For use in making the working coordinate system A rotation matrix that rotates the axis 180 degrees counterclockwise; The first vector information determination submodule is used to determine first vector information based on the third homogeneous transformation matrix information, wherein the first vector information is used to describe the nozzle coordinate system. Axis information, the first vector information is: , In the formula, For the first vector information, , It is a positive integer. , and The element at a specified position in the information of the third homogeneous transformation matrix; Point information determination submodule: used to determine first point information and second point information based on the multi-axis CNC machining toolpath trajectory information, wherein the second point information is a point in the multi-axis CNC machining toolpath trajectory information that is adjacent to the first point information and located after the first point information; The second vector information determination submodule is used to determine second vector information based on the first point information and the second point information, wherein the second vector information is: , In the formula, The second vector information describes the forward direction of the inkjet printhead. , It is a positive integer. For the first point information in Information on the axis For the first point information in Information on the axis For the first point information in Information on the axis For the second point information in Information on the axis For the second point information in Information on the axis For the second point information in Information on the axis; The third vector information generation submodule is used to generate third vector information based on the first vector information and the second vector information, wherein the third vector information is: , In the formula, The third vector information is used to describe the nozzle coordinate system. Axis information, , It is a positive integer; The comprehensive matrix information determination submodule is used to determine comprehensive matrix information based on the first vector information, the second vector information, and the third vector information, wherein the comprehensive matrix information is: , In the formula, For the comprehensive matrix information, For the inkjet printhead in Direction on the axis, For the inkjet printhead in Direction on the axis, For the inkjet printhead in Direction on the axis; The fourth homogeneous transformation matrix information generation submodule is used to generate fourth homogeneous transformation matrix information based on the third homogeneous transformation matrix information and the comprehensive matrix information, wherein the fourth homogeneous transformation matrix information is: , In the formula, This refers to the information of the fourth homogeneous transformation matrix. For the inkjet printhead in Direction on the axis, For the inkjet printhead in Direction on the axis, For the inkjet printhead in Direction on the axis, For the first point information in Information on the axis For the first point information in Information on the axis For the first point information in Information on the axis , It is a positive integer; Nozzle movement trajectory information determination submodule: used to determine the fourth homogeneous transformation matrix information as the nozzle movement trajectory information.
5. The system according to claim 4, characterized in that, The system also includes: Nozzle usage quantity information acquisition module: used to acquire nozzle usage quantity information; Printing instruction generation module: used to generate printing instructions based on the printhead movement trajectory information and the number of nozzles used.
6. A terminal device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the steps of the method as described in any one of claims 1 to 3.
7. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method as described in any one of claims 1 to 3.
Citation Information
Patent Citations
Pipeline insertion intersecting line track planning method orientated to laser machining robot
CN104827479A
Offline complex curved surface spraying trajectory planning system and control method
CN111496789A