Six-axis 3D printing layer-by-layer joint trajectory optimization method and equipment
By adopting a layer-by-layer joint trajectory optimization method in a 6-axis 3D printing system, the problems of singular points and joint limits of the robotic arm are solved, and the printing quality and efficiency are improved.
Patent Information
- Application Number
- CN202411705252.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-26
- Publication Date
- 2025-02-11
- Estimated Expiration
- 2044-11-26
AI Technical Summary
In strict industrial production environment, multi-axis 3D printing has problems with robotic arm singular points and joint limits, resulting in discontinuous motion speed and affecting printing quality and efficiency.
Using the 6-axis 3D printing layer by layer joint trajectory optimization method, by obtaining the coordinates of the printing path and path points of each layer, determining the angle RZ of the end of the robot arm rotates about the Z axis as an optimization variable, establishing an inverse kinematic model, and optimizing the target function And set the limit of the robot arm axis and singular point constraints to solve the optimization variables to optimize the rotation angle of each axis.
It effectively avoids singular points and joint limits in robotic arm movement, reduces joint displacement of robotic arm, thereby improving printing quality and efficiency.
Smart Images

Figure CN119408161A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of industrial manufacturing technology, specifically relating to a method and equipment for optimizing the layer-by-layer joint trajectory in 6-axis 3D printing. Background Art
[0002] Since its inception in the 1980s, additive manufacturing (AM), or 3D printing, has continuously evolved. Additive manufacturing involves depositing material layer by layer along a path generated from a computer-aided design (CAD) model. Multi-axis unsupported additive manufacturing, due to its ability to manufacture arbitrarily complex parts, has broad application prospects in aerospace, energy equipment, and automotive / shipbuilding fields. Traditional additive manufacturing systems typically use 2.5 or 3+2 axis printing configurations, which usually require support structures, creating a stair-step effect. These systems employ a fixed printhead and a moving printing platform that keeps the material always below the deposition point. This multi-axis printing method reduces the need for support structures, minimizes the stair-step effect, and enables the manufacture of complex parts. However, in demanding industrial production environments, AM still has the following limitations:
[0003] First, singularities and joint limits of the robotic arm: The robotic arm trajectory calculated from the printing trajectory through inverse kinematics may have singularities and exceed joint limits, which will cause discontinuity in the speed of the robotic arm movement, affecting printing quality and efficiency.
[0004] Second, the joint displacement of the robotic arm is large: the joint displacement of the robotic arm trajectory calculated by inverse kinematics may be large. Traditional optimization methods are all for global optimization of the robotic arm trajectory, and are more for traditional printing methods, without considering axis redundancy, which leads to large displacement of the robotic arm movement, affecting printing quality and efficiency. Summary of the Invention
[0005] To address the aforementioned problems in the existing technology, this invention provides a method and device for optimizing the layer-by-layer joint trajectory in 6-axis 3D printing.
[0006] The technical problem to be solved by this invention is achieved through the following technical solution:
[0007] This invention provides a method for optimizing layer-by-layer joint trajectories in 6-axis 3D printing, comprising:
[0008] Obtain the total number of layers required to print the object to be printed and the printing path of each layer. The printing path of each layer contains multiple path points to be printed. The tangent direction of the surface at each path point is the printing direction of that path point. The coordinates of each path point are three-dimensional coordinates in the coordinate system of the object to be printed.
[0009] When printing each path point of each layer, the robotic arm end of the 6-axis 3D printer rotates by an angle R around the Z-axis of the reference coordinate system. Z As the variable to be optimized, the expression of the variable to be optimized is determined based on the coordinates of each path point in the printing path of each layer;
[0010] The inverse kinematics model of the robotic arm of the 6-axis 3D printer was determined, and the inverse kinematics model of the robotic arm was solved to obtain the rotation angle of each axis of the 6-axis 3D printer and the angle R. Z The angular relationship between them;
[0011] Based on the angular relationship and the expression of the variable to be optimized, the optimization objective function is determined, and the robot arm axis limit constraint condition and robot arm singular point constraint condition are set for the optimization objective function.
[0012] Based on the optimization objective function, the limit constraints of the robotic arm axes, the singularity constraints of the robotic arm, and the angular relationship, the optimized rotation angle of each axis of the 6-axis 3D printer is determined when printing each path point of each layer.
[0013] The present invention also provides a 6-axis 3D printing layer-by-layer joint trajectory optimization device, including a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other through the communication bus;
[0014] The memory is used to store computer programs;
[0015] When the processor executes the program stored in the memory, it implements the steps of the above-described 6-axis 3D printing layer-by-layer joint trajectory optimization method.
[0016] Compared with the prior art, the present invention has the following beneficial effects:
[0017] This invention takes into account the impact of robotic arm movement on printing quality and efficiency. It utilizes the redundancy of one axis in a six-axis unsupported printer to design optimization variables and an objective function. The objective function is further constrained by robotic arm joint limits and singularity constraints. Then, the optimization variables are solved, and the trajectory of each axis of the six-axis unsupported printer is optimized based on the solved variables. This avoids singularities, joint limits, and reduces robotic arm joint displacement, thereby improving printing quality and efficiency.
[0018] The present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments. Attached Figure Description
[0019] Figure 1 This is a schematic diagram of a 6-axis 3D printer.
[0020] Figure 2 This is a flowchart illustrating the layer-by-layer joint trajectory optimization method for 6-axis 3D printing provided in this embodiment of the invention.
[0021] Figure 3 This is a schematic diagram illustrating the principle of the variable layer height method;
[0022] Figure 4 This is a schematic diagram of a hemispherical thin-walled body of revolution after being sliced horizontally.
[0023] Figure 5 This is a schematic diagram illustrating the principle of the fixed chord error method;
[0024] Figure 6 Yes Figure 4 The diagram shows the effect of path points in each layer obtained by longitudinally slicing each horizontal plane of a hemispherical thin-walled body of revolution after horizontal slicing.
[0025] Figure 7 This is a schematic flowchart of a layer-by-layer joint trajectory optimization method for 6-axis 3D printing of thin-walled rotating parts provided in an embodiment of the present invention.
[0026] Figure 8 This is a comparison chart of the effects before and after optimization provided by an embodiment of the present invention. Detailed Implementation
[0027] The present invention will be further described in detail below with reference to specific examples, but the embodiments of the present invention are not limited thereto.
[0028] The optimization method of this invention is applicable to 6-axis 3D printers and is used to optimize the trajectories (also called rotation angles) of the 6 axes (also called 6 joints) of a 6-axis 3D printer. For example, Figure 1 This is a schematic diagram of a 6-axis 3D printer. 1 represents the printing platform, and 2, 3, 4, 7, 8, and 9 are the six axes of the robotic arm. 5 is the printer frame. The print head 6 is vertically downward and fixed, unable to move or rotate. The printing platform 1 is fixed to the end effector of the six-axis robotic arm and moves and rotates with the end effector. The object being printed is always located below the print head 6 and on the printing platform 1, achieving supportless printing. For supportless printing, only five degrees of freedom are needed. Since the end effector of a 6-axis 3D printer has six degrees of freedom, there is always one degree of redundancy: the rotation of the printing platform around the print head axis. Therefore, this invention utilizes axis redundancy to optimize the robotic arm's trajectory.
[0029] Figure 2 This is a flowchart illustrating a layer-by-layer joint trajectory optimization method for 6-axis 3D printing provided in an embodiment of the present invention, as shown below. Figure 2 As shown, the method includes:
[0030] S101. Obtain the total number of layers to be printed and the printing path of each layer when printing the object to be printed layer by layer. The printing path of each layer contains multiple path points to be printed. The tangent direction of the surface at each path point is the printing direction of that path point. The coordinates of each path point are three-dimensional coordinates in the coordinate system of the object to be printed.
[0031] Here, the coordinate system of the object to be printed is a coordinate system with the center of the object as the origin, the horizontal plane where the bottom surface of the object is located as the XY plane, the X-axis and Y-axis are perpendicular to each other, and the direction perpendicular to the XY plane is the Z-axis direction.
[0032] S102. When printing each path point of each layer, the robotic arm end of the 6-axis 3D printer rotates by an angle R around the Z-axis of the reference coordinate system. Z The expression of the variable to be optimized is determined based on the coordinates of each path point in the printed path of each layer.
[0033] Here, the reference coordinate system is a coordinate system whose origin is translated from the coordinate system of the robot arm base to the coordinate system of the robot arm end effector. The robot arm base coordinate system is a three-dimensional coordinate system with the center of the robot arm base as the origin, the horizontal plane where the robot arm base is located as the XY plane, the X and Y axes being perpendicular to each other, and the direction perpendicular to the XY plane being the Z-axis. The robot arm end effector coordinate system is a three-dimensional coordinate system with the center point of the robot arm end effector as the origin, the surface where the top surface of the robot arm end effector is located as the XY plane, and the direction perpendicular to the XY plane being the Z-axis.
[0034] S103. Determine the inverse kinematics model of the robotic arm for the 6-axis 3D printer, and solve the inverse kinematics model to obtain the rotation angle and angle R of each axis of the 6-axis 3D printer. Z The angular relationship between them.
[0035] S104. Determine the optimization objective function based on the angular relationship and the expression of the variable to be optimized, and set the limit constraints of the robot arm axis and the singular point constraints of the robot arm for the optimization objective function.
[0036] Here, the robotic arm axis limits refer to the limit angles of the six axes of a 6-axis 3D printer. This invention, through robotic arm axis limit constraints, ensures that each axis of the 6-axis 3D printer reaches the target position when printing each path point, while the rotation angle of each axis does not exceed the preset limit angle. Robotic arm singularities refer to singular states during the robotic arm's movement, which may cause the robot to stop moving or its movement speed to be discontinuous, thus degrading the performance of the printed object. This invention, through robotic arm singularity constraint conditions, ensures that the robotic arm movement of the 6-axis 3D printer does not exhibit singularities during the printing process, thereby improving the quality of the printed object.
[0037] S105. Based on the optimization objective function, the limit constraints of the robotic arm axis, the singular point constraints of the robotic arm, and the angular relationship, determine the optimized rotation angle of each axis of the 6-axis 3D printer when printing each path point of each layer.
[0038] Regarding S101 above, the total number of layers required for printing the object to be printed and the printing path of each layer can be obtained directly from the outside, or the total number of layers required for printing the object to be printed and the printing path of each layer can be determined based on the object to be printed. For example, when the object to be printed is a thin-walled rotating body, the method described in steps S11 to S13 below can be used to obtain the total number of layers required for printing the object to be printed and the printing path of each layer.
[0039] S11. Determine the geometric model of the thin-walled rotating body.
[0040] Here, the geometric model of the thin-walled rotating body can be determined based on its equations.
[0041] S12. Slice the geometric model horizontally to divide it into multiple horizontal layers, thus obtaining the total number of layers required for printing the thin-walled rotating body layer by layer.
[0042] Here, a variable layer height method can be used to slice the geometric model horizontally. Specifically, for example... Figure 3 As shown, the bus length (also known as bus distance) of each horizontal layer is set to a preset value Δ. layer The central angle can be obtained using the arc length formula. R is the radius of the thin-walled body of revolution. When slicing the geometric model horizontally, the central angle of the Lth layer is made such that... In this way, a cutting origin can be obtained for each layer, for example, Figure 3 Point c in the diagram is the cutting origin for the first layer. Then, starting from this origin, horizontal cutting is performed to divide the geometric model into C horizontal layers with different spacing. The total number of layers when printing this thin-walled body of revolution is C, where L = 1, 2, ..., C. For example... Figure 4 This is a schematic diagram of a hemispherical thin-walled solid of revolution after being sliced horizontally. Figure 4 The yellow line in the diagram represents the axis of the thin-walled rotating body, and the red line represents the arc length of a horizontal layer.
[0043] S13. Slice each horizontal layer vertically to determine the path points to be printed when printing each horizontal layer and the three-dimensional coordinates of each path point in the coordinate system of the object to be printed. The path points to be printed when printing a horizontal layer constitute the printing path of that horizontal layer.
[0044] Here, after obtaining C horizontal layers, for each horizontal layer, a fixed chord error method can be used to plan the printing path for that horizontal layer. Specifically, the surface of each horizontal layer is a circle, such as... Figure 5 As shown, the formula can be used. Calculate the central angle θ, where R' is the radius of the circle, c is the chord error (where c is a preset fixed value), and θ represents the central angle between two adjacent path points in the slice layer. Thus, the central angle between the first and second path points in the slice layer is 2θ, between the first and third path points is 4θ, between the first and fourth path points is 6θ, and so on. This yields all path points on the slice layer and the three-dimensional coordinates of each path point in the coordinate system of the thin-walled rotating body. Furthermore, the total number of path points on the slice layer is calculated. All path points on the slice layer constitute the printing path of the slice layer; the coordinate system of the thin-walled solid of revolution is a coordinate system with the center of the sphere of the thin-walled solid of revolution as the origin, the horizontal plane containing the bottom surface of the thin-walled solid of revolution as the XY plane, and the direction perpendicular to the XY plane as the Z-axis. For example, Figure 6 Yes Figure 4 The diagram shows the effect of path points in each layer obtained by longitudinally slicing each horizontal plane of a hemispherical thin-walled body of revolution after horizontal slicing.
[0045] Traditional additive manufacturing methods employ parallel planes or offset surfaces intersecting with the model, without considering the shape of the part. This rigid layering method leads to a stepped effect on the surface, affecting the part's accuracy and surface quality. This invention applies the aforementioned layering method to thin-walled bodies of revolution, eliminating or significantly reducing the stepped effect, thereby achieving a smoother surface quality.
[0046] Here, for S102 above, angle R Z The reasons for including it as a variable to be optimized are as follows:
[0047] Considering the supportless printing method, the printing direction at each path point in each layer is the tangent direction of the surface at that point. This direction determines the orientation of the robotic arm's end effector in a 6-axis 3D printer. The core of the supportless printing method is to fix the printing platform to the robotic arm's end effector and allow it to move and rotate with it, while the print head remains fixed, ensuring the printing target is always below the print head. Therefore, the printing direction at each path point must be collinear with the axis of the print head, expressed by the formula: in,
[0048] M Robot→part This represents the attitude rotation matrix of the robotic arm's end effector, specifically the rotation of the end effector around the Z, Y, and X axes of the robotic arm's base coordinate system. R X 、R Y and R Z These represent the angles of rotation of the robotic arm end effector around the X, Y, and Z axes of the reference coordinate system when printing each path point of each layer. Let C be the printing direction of the i-th path point in the L-th layer, where L = 1, 2, ..., C and i = 1, 2, ..., N. L , The axial direction of the print head. Let Z be the Z-axis direction of the robotic arm base coordinate system. By setting the printing direction of each path point to be collinear with the axis of the print head, the object being printed can rotate freely around the tool axis of the print head. That is, during the printing process, the end effector of the 6-axis 3D printer's robotic arm can rotate around the axis of the print head. Thus, from the above formula... The equation can be obtained Solving the equation yields R. X With R Z The relationship between them, and R Y With R Z The relationship between R and R is as follows: X =arctan(S X ,C X ), S X =(b Y ×cosR Z +b X ×sinR Z ),
[0049] R Y =arctan(S Y ,C Y ),
[0050] S Y =(bX ×cosR Z +b Y ×sinR Z ), C Y =b Z Among them, b X 、b Y and b Z These represent the X, Y, and Z components of the printing direction at each path point in each layer within the coordinate system of the robotic arm's end effector. Since R... X With R Y Both can be derived from R Z Therefore, R can be represented. Z As a variable to be optimized.
[0051] In this invention, the expression for the variable to be optimized is as follows:
[0052]
[0053] θ L,i =arctan2(Y L,i ,X L,i );
[0054] in, For the variable to be optimized, R represents the angle R of the robotic arm end effector of a 6-axis 3D printer rotating about the Z-axis of the reference coordinate system when printing the i-th path point of the L-th layer. Z , L=1,2,...,C, i=1,2,...,N L , where n is a preset value, and n represents the order, Y L,i Let X be the y-coordinate of the i-th path point in layer L. L,i Let x be the x-coordinate of the i-th path point in the L-th layer. A L,n Let A be the matrix consisting of the coefficients to be optimized. L,n Each element in the expression represents a coefficient to be optimized. Here, n can be set according to actual needs; the larger the value of n, the more accurate the optimized variable.
[0055] In this invention, when printing each path point of each layer, the pose M of the end effector of the 6-axis 3D printer is determined by the coordinates of the printing nozzle of the 6-axis 3D printer in the coordinate system of the robot arm base, and the coordinates of the path point. The expression for pose M is as follows:
[0056]
[0057] Among them, X Tool 、Y Tool and Z Tool This represents the coordinates of the printhead in the robot arm base coordinate system, X.L,i 、Y L,i and Z L,i This represents the coordinates of the i-th path point in the L-th layer.
[0058] Here, the expression for the inverse kinematics model of the robotic arm of a 6-axis 3D printer is: where n x n y and n z The cosine of the x-axis of the robotic arm's end effector coordinate system with respect to the X, Y, and Z axes of the robotic arm's base coordinate system, o x o y and o z a represents the cosine of the y-axis of the robotic arm's end effector coordinate system with respect to the X, Y, and Z axes of the robotic arm's base coordinate system. x 、a y and a z p represents the cosine of the z-axis of the robotic arm's end effector coordinate system with respect to the X, Y, and Z axes of the robotic arm's base coordinate system; x p y and p z M represents the coordinate components of the robot arm's end effector coordinate system in the robot arm's base coordinate system along the X, Y, and Z axes. 01 , M 12 , M 23 , M 34 , M 45 , M 56 This represents the coordinate transformation matrix between the coordinate systems of each joint, for example, M. 01 M represents the coordinate transformation matrix between the robot arm base coordinate system and the first joint coordinate system. 12 This represents the coordinate transformation matrix between the first and second joint coordinate systems. Each joint coordinate system is the coordinate system of each axis. The joint coordinate system is flexible and has a specific setting. For example, it can be a three-dimensional coordinate system with the center point of the joint as the origin, the plane where the origin is located as the XY plane, and the direction perpendicular to the XY plane as the Z-axis direction.
[0059] By solving the inverse kinematics model of the robotic arm, the rotation angle q of the j-th axis of the 6-axis 3D printer when printing each path point of each layer can be obtained. j With angle R Z The angular relationship between them, where j = 1 to 6. The expression for this angular relationship is:
[0060]
[0061]
[0062]
[0063] q2 = q2³ - q3;
[0064] q4=arctan2(-axs1+ayc1,-axc1c23-ays1c23+azs23);
[0065] q5 = arctan2(s5, c5);
[0066] q6 = arctan2(s6, c6);
[0067]
[0068] s5=-ax(c1c23c4+s1s4)-ay(s1c23c4-s1s4)+az(s23c4);
[0069] c5=ax(-s23c1)+az(-c23)+ay(-s1s23);
[0070] s6=-nx(c1c23s4-s1c4)-ny(s1c23s4+c1c4)+nz(s23s4);
[0071] Where c1 represents cos(q1), c12 represents cos(q1+q2), and so on; s1 represents sin(q1), s23 represents sin(q2+q3), and so on; a2 represents the distance between Z2 and Z3, a3 represents the distance between Z3 and Z4, d3 represents the distance between X3 and X2, and d4 represents the distance between X4 and X3. Here, Z2 refers to the Z-axis of the second joint coordinate system, and so on; X2 refers to the X-axis of the second joint coordinate system, and so on. These details will not be elaborated here.
[0072] Obviously, q j It is R Z The function is given. Here, existing methods can be used for solving it; these will not be elaborated upon in this invention.
[0073] In this invention, the expressions for the objective function, the limit constraints of the robotic arm axis, and the singularity constraints of the robotic arm are as follows:
[0074]
[0075]
[0076]
[0077] Wherein, Φ(q(R) Z )) represents optimizing the objective function, Ψ jLet Ψ7 represent the limit constraints of the robotic arm's axes, Ψ7 represent the singularity constraints of the robotic arm, and j represent the j-th axis of the 6-axis 3D printer, where j = 1, 2, ..., 6. q represents the weighted value of the j-th axis. i,j This represents the rotation angle of the j-th axis of the 6-axis 3D printer when printing the i-th path point of the L-th layer. This represents the average angle of the j-th axis. Let j be the maximum rotation angle of the j-th axis. Let be the minimum rotation angle of the j-th axis. For the travel of the j-th axis, Make Ψ j A value less than 0 ensures that the position of the j-th axis is within the limit when printing each path point. minλ represents the minimum value in λ, maxλ represents the maximum value in λ, and λ represents the matrix J(q)×J Τ The eigenvalues of (q), J(q) represent the Jacobian matrix of the six-axis robotic arm of the 6-axis 3D printer, which reflects the relationship between the differential motion of the end-effector coordinate system and the differential motion of each joint, Ψ max As a preset value, Ψ max Based on practical experience, it can be determined that making the value of Ψ7 less than or equal to 0 can prevent the robotic arm from having singular positions during the printing of each path point.
[0078] In this invention, S105 can be implemented through the following steps:
[0079] S1051. Based on the limit constraints of the robotic arm axis and the singular point constraints of the robotic arm, solve the optimization objective function to obtain the optimized angle R when printing each path point of each layer. Z .
[0080] Here, various methods can be used to solve the optimization objective function. For example, the "fmincon" function in Matlab can be used to solve the optimization objective function to find the path point for printing the i-th path point of the L-th layer. After that, Substitution In this way, the calculation of the i-th path point when printing the L-th layer can be obtained. Here, the calculated It is to optimize the objective function Φ(q(R) Z The smallest Furthermore, the The limit constraints of the robot arm axis and the singularity constraints of the robot arm are satisfied.
[0081] S1052, Based on the optimized angle R Z Based on the relationship with the angle, the optimized rotation angle of each axis of the 6-axis 3D printer is obtained when printing each path point of each layer.
[0082] Here, in getting After that, you can Substituting into the angle relationship expression, we can obtain the rotation angle of the j-th axis of the 6-axis 3D printer when printing the i-th path point of the L-th layer. In this way, we can obtain the trajectory of the j-th axis of the 6-axis 3D printer when printing the i-th path point of the L-th layer. Then, we can print according to the trajectory of the j-th axis of the 6-axis 3D printer when printing the i-th path point of the L-th layer, thereby printing the corresponding object.
[0083] In one example Figure 7 This is a layer-by-layer joint trajectory optimization process for 6-axis 3D printing of thin-walled rotating parts. For example... Figure 7 As shown, the equations of the thin-walled rotary part are first determined, and then the geometric model of the thin-walled rotary part is determined based on the equations. Next, the printing path is generated based on the geometric model of the thin-walled rotary part. Specifically, when generating the printing path, the geometric model is first horizontally sliced using a variable layer height method, and then each horizontal layer is vertically sliced to obtain the path points to be printed for each horizontal layer. The path points to be printed for each horizontal layer constitute the printing path for that layer. Then, the printing direction of each path point is determined. Next, a corresponding nonlinear constraint optimization model is established based on the path points. Specifically, the expressions for the variables to be optimized, the limit constraint equations for the robotic arm axes, and the singular point constraint equations for the robotic arm are established, along with the optimization objective function. Then, the optimization objective function is solved using MATLAB to obtain the solution results. Finally, based on the solution results, the optimized rotation angle of each axis of the 6-axis 3D printer is generated when printing each path point of each layer of the thin-walled rotary part, thus obtaining the optimal joint trajectory of the 6-axis 3D printer when printing each path point of each layer of the thin-walled rotary part.
[0084] The following is based on Figure 8 Further explanation of the technical effects of the optimization method provided by this invention. Assuming n = 1, then the i-th path point in the L-th layer has α. L,1 and α L,0 Based on the calculated α of each layer L,1 and α L,0 The optimized joint trajectories of the robotic arm are obtained, and a graph is plotted to compare with α. L,1 and α L,0 The robotic arm joint trajectory at that time, the result is as follows Figure 8 As shown, Figure 8The six figures in the figure represent the angles of each joint of the robotic arm at the corresponding path points during the printing process. The horizontal axis represents the path point sequence, and the vertical axis represents the joint angle. As shown in the figure, after optimization using the optimization method of the present invention, the joint trajectory is superior to the trajectory before optimization in terms of displacement and singularity avoidance.
[0085] It should be noted that the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Therefore, features defined as "first" or "second" may explicitly or implicitly include one or more features. In the description of this invention, "a plurality of" means two or more, unless otherwise explicitly specified.
[0086] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of the present invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Furthermore, those skilled in the art can combine and integrate the different embodiments or examples described in this specification.
[0087] In this specification, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude multiple instances. While different embodiments may describe certain measures, this does not mean that these measures cannot be combined to produce a good effect.
[0088] The above description, in conjunction with specific preferred embodiments, provides a further detailed explanation of the present invention. It should not be construed that the specific implementation of the present invention is limited to these descriptions. For those skilled in the art, various simple deductions or substitutions can be made without departing from the concept of the present invention, and all such modifications and substitutions should be considered within the scope of protection of the present invention.
Claims
1. A layer-by-layer joint trajectory optimization method for 6-axis 3D printing, characterized in that: include: Obtaining the total number of layers required to be printed and the printing path of each layer when printing the object to be printed layer by layer, wherein the printing path of each layer includes a plurality of path points to be printed, the tangent direction of the surface at each path point is the printing direction of the path point, and the coordinates of each path point are three-dimensional coordinates in the coordinate system of the object to be printed; When printing each path point of each layer, the end of the robot arm of the 6-axis 3D printer rotates around the Z axis of the reference coordinate system by an angle R Z as a variable to be optimized, and determining an expression of the variable to be optimized according to the coordinates of each path point in the printing path of each layer; Determine the inverse kinematics model of the robot arm of the 6-axis 3D printer, and solve the inverse kinematics model of the robot arm to obtain the rotation angle of each axis of the 6-axis 3D printer and the angle R Z The angular relationship between Determine an optimization objective function based on the angle relationship and the expression of the variable to be optimized, and set a robot arm axis limit constraint condition and a robot arm singular point constraint condition for the optimization objective function; Based on the optimization objective function, the robot arm axis limit constraint condition, the robot arm singular point constraint condition and the angle relationship, the optimized rotation angle of each axis of the 6-axis 3D printer when printing each path point of each layer is determined.
2. The layer-by-layer joint trajectory optimization method for 6-axis 3D printing according to claim 1, characterized in that: The step of determining the optimized rotation angle of each axis of the 6-axis 3D printer when printing each path point of each layer based on the optimization objective function, the mechanical arm axis limit constraint condition, the mechanical arm singular point constraint condition and the angle relationship comprises: Based on the mechanical arm axis limit constraint condition and the mechanical arm singular point constraint condition, the optimization objective function is solved to obtain the optimized angle R when printing each path point of each layer. Z ; According to the optimized angle R Z And the angle relationship, the optimized rotation angle of each axis of the 6-axis 3D printer when printing each path point of each layer is obtained.
3. The layer-by-layer joint trajectory optimization method for 6-axis 3D printing according to claim 1, characterized in that: The expression of the variable to be optimized is as follows: θ L,i =arctan2(Y L,i ,X L,i ): in, is the variable to be optimized, represents the angle R of rotation of the end of the robot arm of the 6-axis 3D printer around the Z axis of the reference coordinate system when printing the i-th path point of the L-th layer Z , L=1,2,...,C, i=1,2,...,N L , C represents the total number of layers, N L represents the total number of path points contained in the printing path of the Lth layer, n is a preset value, and n represents the order, Y L,i is the y coordinate value of the i-th path point in the L-th layer, X L,i is the x-coordinate value of the i-th path point in the L-th layer, A L,n Represents the matrix of coefficients to be optimized, A L,n Each element in is a coefficient to be optimized.
4. The layer-by-layer joint trajectory optimization method for 6-axis 3D printing according to claim 1, characterized in that: The mechanical arm axis limit constraint condition is used to limit the rotation angle of each axis of the 6-axis 3D printer to not exceed the preset limit angle, and the mechanical arm singular point constraint condition is used to prevent the mechanical arm movement of the 6-axis 3D printer from having singular points during the printing process; the expressions of the optimization objective function, the mechanical arm axis limit constraint condition, and the mechanical arm singular point constraint condition are as follows: Among them, Φ(q(R Z )) represents the optimization objective function, Ψ j represents the limit constraint condition of the robot axis, Ψ7 represents the singular point constraint condition of the robot, N L represents the total number of path points contained in the printing path of the Lth layer, L=1,2,...,C, C represents the total number of layers, j represents the jth axis of the 6-axis 3D printer, j=1,2,...,6, represents the weighted value of the j-th axis, q i,j represents the rotation angle of the jth axis of the 6-axis 3D printer when printing the i-th path point of the L-th layer, represents the average angle of the j-th axis, q jmax is the maximum rotation angle of the j-th axis, is the minimum rotation angle of the j-th axis, is the stroke of the j-th axis, minλ represents the minimum value in λ, maxλ represents the maximum value in λ, and λ represents the matrix J(q)×J Τ (q), J(q) represents the Jacobian matrix of the robot arm of the 6-axis 3D printer, Ψ max is the default value.
5. The layer-by-layer joint trajectory optimization method for 6-axis 3D printing according to claim 1, characterized in that: The rotation angle of each axis of the 6-axis 3D printer is related to the angle R Z The expression for the angle relationship between is as follows: q2=q23-q3; q4=arctan2(-axs1+ayc1,-axc1c23-ays1c23+azs23); q5=arctan2(s5,c5); q6=arctan2(s6,c6); s5=-ax(c1c23c4+s1s4)-ay(s1c23c4-s1s4)+az(s23c4); c5=ax(-s23c1)+az(-c23)+ay(-s1s23); s6=-nx(c1c23s4-s1c4)-ny(s1c23s4+c1c4)+nz(s23s4); Among them, c1 represents cos(q1), c12 represents cos(q1+q2), and the rest are similar; s1 represents sin(q1), s23 represents sin(q2+q3), and the rest are similar; a2 represents the distance between Z2 and Z3, a3 represents the distance between Z3 and Z4, d3 represents the distance between X3 and X2, and d4 represents the distance between X4 and X3, among which Z2 refers to the Z axis of the second joint coordinate system, and the rest are similar; X2 refers to the X axis of the second joint coordinate system, and the rest are similar.
6. The layer-by-layer joint trajectory optimization method for 6-axis 3D printing according to claim 1, characterized in that: When printing each path point of each layer, the end of the robot arm of the 6-axis 3D printer rotates around the X-axis of the reference coordinate system by an angle R X , the angle R of rotation around the Y axis of the reference coordinate system Y The angle R is adopted Z To express; The angle R X The expression is as follows: R X =arctan(S X ,C X ); S X =(b Y ×cosR Z +b X ×sinR Z ); The angle R Y The expression is as follows: R Y =arctan(S Y ,C Y ); S Y =(b X ×cosR Z +b Y ×sinR Z ); C Y =b Z ; Among them, b X , b Y and b Z They respectively represent the X, Y, and Z components of the printing direction of each path point of each layer in the robot end coordinate system.
7. The layer-by-layer joint trajectory optimization method for 6-axis 3D printing according to claim 1, characterized in that: When printing each path point of each layer, the posture M of the end of the mechanical arm of the 6-axis 3D printer is determined by the coordinates of the print head of the 6-axis 3D printer in the coordinate system of the mechanical arm base and the coordinates of the path point. The expression of the posture M is as follows: Among them, X Tool , Y Tool and Z Tool represents the coordinates of the print head in the robot base coordinate system, X L,i , Y L,i and Z L,i represents the coordinates of the i-th path point in the L-th layer, L = 1, 2, ..., C, i = 1, 2, ..., N L , C represents the total number of layers, N L Indicates the total number of path points contained in the printing path of the Lth layer.
8. The layer-by-layer joint trajectory optimization method for 6-axis 3D printing according to claim 1, characterized in that: When the object to be printed is a thin-walled rotating body, the step of obtaining the total number of layers required to be printed and the printing path of each layer when printing the object to be printed layer by layer includes: Determining a geometric model of the thin-walled body of revolution; Slicing the geometric model in a horizontal direction to divide the geometric model into a plurality of horizontal layers, and obtaining a total number of layers required to print the thin-walled rotating body layer by layer; Each horizontal layer is sliced longitudinally to determine the path points that need to be printed when printing each horizontal layer and the three-dimensional coordinates of each path point in the coordinate system of the object to be printed, wherein all the path points that need to be printed when printing a horizontal layer constitute the printing path of the horizontal layer.
9. The layer-by-layer joint trajectory optimization method for 6-axis 3D printing according to claim 8, characterized in that: The busbar lengths of the multiple horizontal layers are the same, and the center angle of the Lth layer is Δ layer is the generatrix length of each horizontal layer, R is the radius of the thin-walled body of revolution, L=1, 2, ..., C, and C represents the total number of layers.
10. A 6-axis 3D printing layer-by-layer joint trajectory optimization device, comprising a processor, a communication interface, a memory and a communication bus, characterized in that: The processor, the communication interface and the memory communicate with each other via the communication bus; The memory is used to store computer programs; The processor is used to implement the method steps described in any one of claims 1-9 when executing the program stored in the memory.
Citation Information
Patent Citations
Five-axis linkage and array nozzle curved surface normal vector printing method
CN114987054A
Three-dimensional visual temperature control 3D printing method and 3D printer
CN115891174A
Path planning method, additive manufacturing method and related products thereof
CN116486959A
Control method and equipment of six-axis mechanical arm and readable storage medium
CN116619440A
Collaborative optimization method for feeding speed and printing direction for multi-axis additive
CN118342794A