Abstract
When a robot is printing a sequence of non-horizontal goal poses, its joint values often undergo significant variations, resulting in challenges such as singularities or exceeding joint limits. This paper proposes two new methods aimed at optimizing goal poses to solve the problem. The first method, employing an analytical approach, modifies the goal poses to maintain the 4th joint value of a 6-axis industrial robot at zero. This adjustment effectively reduces the motion range of the 5th and 6th axes. The second method utilizes numerical optimization to adjust the goal poses, aiming to minimize the motion range of all joints. Leveraging the analytical method to obtain one good initial value, numerical optimization is subsequently applied to complete the entire path optimization, creating an optimization workflow. It is also possible to use only analytical methods for computational efficiency. The feasibility and effectiveness of these two methods are validated through simulation and real project case.
Similar content being viewed by others
Avoid common mistakes on your manuscript.
1 Introduction
Since the inception of contour crafting (Khoshnevis, 2004; Zhang & Khoshnevis, 2013; Zhang et al., 2019), the last decade has witnessed rapid advancements in large-scale 3D printing within engineering construction, particularly in the domain of 3D printing involving concrete (Furet et al., 2019; Vantyghem et al., 2020; Xiao et al., 2021). Commonly utilized hardware includes industrial robots and three-axis gantry systems, with the printing end-effector typically oriented perpendicular to the horizontal plane, necessitating only three degrees of freedom for the robot to execute the printing task (ICON Team, 2022; Nematollahi et al., 2017; Siddika et al., 2020). However, in scenarios demanding increased complexity, additional degrees of freedom become essential, as observed in non-horizontal printing situations (Li et al., 2023). In the construction of shell structures, non-horizontal printing proves advantageous in capitalizing on the compressive strength of concrete (Bhooshan et al., 2022; Rehman & Kim, 2021). Figure 1 illustrates the two distinct printing methods mentioned above:
In non-horizontal 3D printing, precise definition of the goal pose for printing is of utmost importance (Breseghello et al., 2021). While defining the goal pose typically requires six degrees of freedom, specifying the goal pose for non-horizontal 3D printing, such as concrete printing, only necessitates five degrees of freedom. When the number of robot joints exceeds the degrees of freedom required for the task, redundant degrees of freedom are introduced.
Existing research on optimizing redundant robot joints encompasses the optimization of the redundant robot structure (Kivelä et al., 2017) and studies on kinematics-based trajectory optimization (Klein et al., 1995; Seng et al., 1995; Siciliano, 1990; Xiao & Huan, 2012). Typically, these methods are applied after determining the goal pose.
Another existing method involves optimizing joints by modifying the goal pose. In concrete 3D printing, rotating the goal pose around the normal direction does not impact the final printing result, as illustrated in Fig. 2. Building upon this premise, a previous optimization method was proposed, requiring the end-effector to be perpendicular to the flange coordinate frame. Expanding on this research, the current study focuses on optimizing the joint angles of a 6-axis industrial robot, accommodating an end-effector that is not perpendicular to the flange coordinate frame. The optimization results are then reflected in the non-horizontal goal pose. This approach enables the robot to seamlessly utilize the new goal pose without additional adjustments, achieving minimal motion in joint space to accomplish the same task.
This study integrates a combination of self-developed analytical and numerical methods. The initial pose values for the entire robot motion are determined through the analytical method. Subsequently, building upon these initial values, the subsequent goal poses undergo optimization using a numerical iterative approach, thereby completing the entire optimization process.
The paper's structure is organized as follows:
-
Part II: Introduces the analytical and numerical methods employed in this study.
-
Part III: Presents the results of printing tests conducted under the two optimization methods.
-
Part IV: Validates the proposed methods through 3D printing experiments, confirming their feasibility.
-
Part V: Provides a comparison and discussion of the strengths and weaknesses of different methods, along with an extension of the application of joint weights.
-
Part VI: Concludes the research and outlines future work.
2 Methods
This paper describes both analytical and numerical methods that effectively reduce the robot joint motion and maintain the same printing results as before optimization.
Most 6-axis industrial robots belong to the Pieper type (Pieper, 1969), and thus, this paper uses the Pieper-type “KUKA KR6 R900” robot as an example. The normal direction of the end-effector is initially defined as the direction of the milling cutter's long axis or the direction of the material extrusion end-effector. It's crucial to note that the normal direction of the end-effector coordinate frame varies among different brands of robots. For KUKA robots, the normal direction of the end-effector aligns with the x-axis direction of the goal pose. In other words, the x-axis direction of the goal pose corresponds to the normal direction of the KUKA robot's end-effector.
2.1 Analytical method
The objective of this analytical method is to derive a new printing goal pose. This ensures that when the robotic arm's end-effector reaches this new printing goal pose, the rotation angle of the 4th joint of the robotic arm is precisely 0 degrees, all while maintaining the integrity of the printing results.
Article (Lu & Yuan, 2020) presents an analytical solution for optimizing the goal poses, operating under the assumption of a common end-effector. The prerequisite for utilizing this method (Lu & Yuan, 2020) is that the normal direction of the end-effector plane must be perpendicular to the normal direction of the robot flange plane, as depicted in Fig. 3a. However, for most end-effectors, the pose direction is typically inclined, as exemplified by the welding end-effector in Fig. 3b.
Considering that in many architectural 3D printing applications, the robot's end-effector is often left–right symmetric, and the offset of the Y-axis direction of the end-effector plane is zero, the analytical method is adapted accordingly. Taking KUKA 6-DoF robot arm as an example, the rigid body transformation expression of the robot end-effector is represented by six parameters: XYZABC. The first three parameters, XYZ, denote the offsets in the X, Y, and Z directions, while the last three, ABC, represent the Euler angles corresponding to rotations around the Z, Y, and X axes. When using an end-effector with Y, A, and C parameters all set to zero (i.e., when the end-effector is left–right symmetric), this analytical method yields an angle \(\theta\). By rotating the goal poses around its own normal direction by \(\theta\), a new goal poses are formed. This ensures that when the robot's end-effector reaches the new goal poses, the 4th joint of the robot becomes zero.
The origin of one goal pose \(P\) is defined as \({P}_{org}={\left[{p}_{x},{p}_{y},{p}_{z}\right]}^{T}\), and the normal axis of \(P\) (in this paper, it is the x-axis) has a direction \({n}_{x}={\left[{x}_{1},{y}_{1},{z}_{1}\right]}^{T}\) relative to the world coordinate frame. The y-axis and z-axis of the goal pose can be arbitrarily specified. The z-axis is specified as \({n}_{z}={\left[\mathrm{1,0},{z}_{3}\right]}^{T}\), with the purpose of making the projection of \({n}_{z}\) in the world coordinate frame's XY-plane a unit vector of the x-axis. Due to the orthogonality condition \({n}_{x}^{T}{n}_{z}=0\), we can obtain:
Therefore, we have \({{\text{n}}}_{{\text{z}}}={\left[\mathrm{1,0},-\frac{{{\text{x}}}_{1}}{{{\text{z}}}_{1}}\right]}^{{\text{T}}}\), It can be calculated that the length of \({n}_{z}\):
Normalize \({n}_{z}\) to obtain:
With \({n}_{z}\) determined, we can obtain \({n}_{y}\) by calculating the cross product \({n}_{z}\) and \({n}_{x}\):
By employing this approach, we can derive the initial rigid body transformation \({T}_{i{\text{nit}}}^{0}\) of the goal pose relative to the world coordinate frame after initialization:
After initializing the pose of an arbitrary goal pose, the pose of the goal pose is determined. Subsequently, the goal pose is rotated under this established pose.
With a known initial goal pose \({T}_{init}^{0}\), our objective is to determine an angle \(\theta\) such that applying a rotation around the x-axis of the goal pose ensures the robot's 4th axis remains at 0 degrees upon reaching the goal pose.
The rigid transformation \({T}_{f}^{0}\) of the robot's flange plane relative to the world coordinate frame (or the robot's base coordinate frame) is:
All elements in \({T}_{f}^{0}\), except for \(\theta\), are known quantities.
The \({T}_{t}^{f}\) in Eq. 6 denotes the rigid body transformation corresponding to the parameters of the end-effector.
As this method exclusively considers the positional offsets \({t}_{x}\) and \({t}_{z}\) relative to the x and z-axes of the flange coordinate frame, along with the rotation around the y-axis of the flange coordinate frame, \({T}_{t}^{f}\) can be expressed as:
It's important to note that when the 4th joint of the robot is positioned at 0 degrees, the normal vector of its flange in the world coordinate frame, projected onto the XY plane, aligns parallel to the coordinate vector of the flange plane origin in the world coordinate frame, as illustrated in Fig. 4.
Therefore, we can establish an equation between these two vectors. Let \({T}_{f}^{0}\left(i,j\right)\) denote the element in the i-th row and j-th column of the rigid transformation matrix \({T}_{f}^{0}\). We can obtain the projection vector \({f}_{n}\) of the normal vector (i.e., the z-axis of the flange coordinate frame) of the robot flange on the XY plane of the world coordinate frame as follows:
The projected vector of the origin of the flange coordinate frame on the XY plane of the world coordinate frame can be obtained as follows:
Since these two vectors are parallel, we can express the relationship with the following equation:
This relationship can be expressed as:
where:
where:
Equation 11 is an equation with one unknown variable \(\theta\). We can simplify it to obtain the following equation:
where:
Solving Eq. 12 yields an analytical expression for \(\theta\). The steps for solving this type of equation are described in (Shwetank, 2017). To obtain more reasonable results, the result is expressed as a two-argument arctangent function. Thus, the analytical expression for \(\theta\) is:
where:
By rotating the goal pose p (around the x-axis direction of p by an angle \(\uptheta\), the optimized goal pose is obtained.
2.2 Numerical method
The approach outlined in this section relies on numerical optimization (Nocedal & Wright, 1999; Antoniou & Lu, 2007). It adopts an innovative strategy by constructing a Jacobian matrix associated with the rotation around the target coordinate frame for numerical iteration. The numerical optimization is grounded in the Levenberg–Marquardt method (Marquardt, 1963), chosen for its superior convergence properties compared to the Gauss–Newton method.
The Jacobian matrix of a 6-DoF robot consists of both the spatial Jacobian and the body Jacobian. The body Jacobian maps joint velocities to the angular velocity and linear velocity \({V}_{b}={\left[{\upomega }_{{\text{b}}},{\upupsilon }_{{\text{b}}}\right]}^{T}\) at the end-effector, based on the end-effector coordinate frame. \({\upomega }_{{\text{b}}}\) \(={\left[{\upomega }_{bx},{\upomega }_{by},{\upomega }_{bz}\right]}^{T}\) represents the angular velocity of the end-effector around the xyz-axes in its coordinate frame, and \({\upupsilon }_{b}={\left[{\upupsilon }_{bx},{\upupsilon }_{by},{\upupsilon }_{bz}\right]}^{T}\) represents the linear velocity of the end-effector along the xyz-axes in its coordinate frame. The definition of the Jacobian matrix based on screw axis is:
The \({\mathcal{B}}_{\mathcal{i}}\) in Eq. 14 refers to the screw axis of the i-th joint based on the end-effector coordinate frame. \({J}_{bi}\) represents the i-th column of the Jacobian matrix based on the end-effector coordinate frame. Ad is the function to obtain the adjoint matrix. By multiplying the object Jacobian matrix with the velocity of each joint, we can obtain the instantaneous angular velocity and linear velocity of the end-effector in its own coordinate frame, which are given by:
To obtain the influence of a small rotation of the end-effector around its own normal (i.e., its own x-axis) on the joints of the entire robot, we can invert the object Jacobian \({J}_{b}\) to obtain its inverse \({J}_{b}^{-1}\), and then multiply it by the instantaneous velocity \({V}_{b}\) of the end-effector in its object coordinate frame. This gives us \(\dot{\theta }\):
As we are only interested in the angular velocity around the X-axis of the end-effector coordinate frame, we take the first column of \({J}_{b}^{-1}\):\({J}_{b1}^{-1}\), and multiply it by the angular velocity around the x-axis in the end-effector coordinate frame, \({\omega }_{bx}\):
Equation 17 represents the joint velocities \(\dot{\theta }\) of the robot's 6 axes when the robot's end-effector rotates around its own x-axis in the end-effector coordinate frame. Multiplying both sides of Eq. 17 by the time increment \({\text{dt}}\) and rearranging, we get:
The right-hand side of Eq. 18 represents the infinitesimal changes in the six axes of the robot when the end-effector undergoes a small rotation around its own normal axis (x-axis).
To incorporate this problem into a numerical optimization framework, we define the error \(e\) as a column vector of length n, where n is the number of joints in the robot. As this paper considers a 6-axis robot, n = 6:
The variable \({\uptheta }_{{\text{last}}}\) in the equation represents the values of the 6 joints of the manipulator at the previous time step, while \({\uptheta }_{current}\) represents the current values of the 6 joints. The weighting factor \({\text{W}}={\left[{{\text{W}}}_{1},{{\text{W}}}_{2},{{\text{W}}}_{3},{{\text{W}}}_{4},{{\text{W}}}_{5},{{\text{W}}}_{6}\right]}^{T}\) is a column vector of length 6, which determines the degree of optimization for each error term. Before using \(W\), it is normalized so that each component is between 0 and 1. A component of 0 means that there is no optimization, while a component of 1 means that the optimization is carried out to the maximum extent possible.
In general robot building tasks, the values of the robot arm's joint angles need to be kept close to the robot's initial pose throughout the task. Equation 7 sets a proportional parameter \(p\), which determines how closely the joint angles need to be kept to the robot's initial pose.
When p = 0, the optimization is completely based on the end-effector orientation in the previous goal pose, and when p = 1, it is completely based on the initial end-effector orientation at the beginning of the task. The modified equation:
The cost value is obtained by taking the root-mean-square of the error vector \({\text{e}}\):
After defining the above variables, the subsequent phase involves initiating the optimization process. The primary objective of this optimization process is to enhance a series of input goal poses, resulting in an equivalent number of goal poses that have undergone a specific degree of rotation concerning their normal vectors. Our optimization procedure unfolds sequentially, focusing on optimizing each goal pose individually.
In the context of 3D printing, the proximity of each goal pose (< 20 mm) and the similarity in their orientations make it feasible to commence optimization from the second goal pose onward. In this strategy, the orientation component of the current goal pose is replaced with the optimized orientation from the preceding goal pose, while maintaining the positional component of the current goal pose unchanged. This methodology ensures that each goal pose optimization fully leverages the optimized outcomes of its predecessor.
In computing the gradient G, we compute the derivative of the error e with respect to the incremental rotation angle \({\text{d}}{\uptheta }_{bx}\) around the x-axis. Subsequently, we multiply this derivative by the weight vector W and apply Eq. 5. The resulting expression is as follows:
The incremental equation:
As \({{\text{GG}}}^{{\text{T}}}+\uplambda\) is a scalar, it can be derived as:
\(d{\text{x}}\) is the increment of a small rotation that we apply to the normal axis of each goal pose, and this slight perturbation takes the form of a rigid body transformation:
Once \(d{\text{x}}\) is obtained, and if it is smaller than a predetermined threshold, the optimization for the current goal pose has completed, and the optimization process is terminated. Otherwise, the optimization process persists.
We denote the transformation of the i-th target coordinate frame relative to the world coordinate frame as \({T}_{i}\). With a small perturbation \(R{\text{x}}\), we can derive a new transformation \({T}_{newi}\) of the target coordinate frame relative to the world coordinate frame. Given that it is a rigid transformation based on the existing goal pose coordinate frame, we multiply \({R}_{x}\) on the right side of \({T}_{i}\).
By using numerical inverse kinematic solution, the robot joint values \({\uptheta }_{new}\) corresponding to \({T}_{newi}\) can be obtained. The error \({\text{e}}\) and the cost corresponding to \({\uptheta }_{new}\) can be calculated through Eqs. 21 and 22, respectively. We compare the cost obtained in this calculation with the cost obtained in the previous iteration. If the current cost is greater than or equal to the last cost, we increase the step size by multiplying \(\uplambda\) by a number greater than 1, such as 2. If the current cost is less than the last cost, we take \({\uptheta }_{new}\) and \({T}_{ne{w}_{i}}\) as the robot joint values and the target optimization plane, respectively, for the current optimization iteration. We then update \(\uplambda\) by dividing it by the scale value to reduce \(\uplambda\). If the difference between the last cost and the cost is less than a threshold value, the optimization is considered to have converged, and finish the optimization. Finally, all optimized goal poses and corresponding robot joint values are obtained. The above process can be shown in detail through the flowchart in Fig. 5:
In summary, this numerical optimization method builds upon the foundation of the Levenberg–Marquardt method, incorporating enhancements to refine the optimization of robot joints in a more granular manner. The key improvements encompass:
-
Inclusion of a Weight Parameter (\(W\)): Addition of a weight parameter \({\text{W}}\), which is introduced to regulate the extent of optimization for the involved robot joints.
-
Introduction of an Initial Pose Weighting Parameter (\(p\)): Integration of an initial pose weighting parameter, denoted as \(p\), is implemented to govern the influence of the robot's initial pose on the overall optimization process.
The outcomes of these enhancements will be explicated in next section. With the incorporation of these refinements, the optimization process has demonstrated commendable results.
2.3 Comparison
For a more comprehensive comparison of results, we employed a straightforward closed curve as the basis for the printing task. This closed curve was derived by projecting a planar closed curve onto a surface. Subsequently, we systematically divided the projected curve into equal segments, thereby acquiring a set of printing points.
Given the adaptability of numerical optimization to various end-effectors, we utilized a welding end-effector featuring a Y-axis offset and rotation. The specific parameters of the end-effector are as follows: X = -46.671 mm, Y = 49.886 mm, Z = 411.816 mm, A = 2.015°, B = -45.743°, and C = 0.
The comparative results for the three cases are illustrated in Fig. 6a:
-
1.
The default goal pose in Fig. 6a(a).
-
2.
When the initial angle weight parameter (p) is set to 0 and the axis weight parameter (\({\text{W}}\)) is defined as [0, 0, 0, 1, 0, 0]—indicating that only the A4 axis undergoes numerical optimization—the results are depicted in Fig. 6a(c).
-
3.
The optimization results obtained by the analytical method in Fig. 6(b).
Figure 6a(a) illustrates that the motion range of the fourth and sixth joints of the robot is significantly larger than the joint motion ranges in Fig. 6a(c) and Fig. 6a(b).
Figure 6a(c) shows that when only optimizing the fourth axis of the robot, the rotation value of the fourth joint remains almost 0 throughout the entire printing process. However, as shown in Fig. 6a(b), it is found that the fourth joint of the robot does not become 0 as in Fig. 6a(c) under the optimization of this analytical method. This is because the assumption made by this analytical method is that the y-axis offset of the end-effector is strictly zero, but the end-effector in this example does not conform this assumption. Nevertheless, even in this case, a more stable motion can be obtained using the analytical method. Therefore, by using the analytical method to obtain the first goal pose of the entire printing task, the axis joint values obtained by inverse kinematics when the robot moves to this optimized goal pose can be regarded as a good initial value, and then the remaining goal poses can be numerically optimized to obtain more robust results.
We do the same comparison in the case where the goal pose is horizontal Fig. 6b, and the results show that the analytical and numerical solutions do not significantly improve with respect to the default case. Special attention is paid to the horizontal case, the joint motion amplitudes of the 4th and 6th axis from which the analytical solution is the optimal choice.
3 Experiments
To verify the optimization effects based on the goal pose of the analytical method and numerical method in the application of 3D printing of non-horizontal layer-stacked concrete by a 6-axis robot, this study conducted software printing simulation and actual printing experiments. The three-dimensional modeling and construction of the non-horizontal layer-stacked printing plane were based on Rhino and Grasshopper software. The robot simulation and simulation were based on a Grasshopper plugin, FURobot, developed by the author in a previous study (Lu et al., 2020). The main function of this plugin is to input the goal pose set of the robot end-effector and generate G-code files that the robot can read. It is a robot manufacturing plugin designed for designers that connects the output of shape design to robot manufacturing files. In addition, the plugin can obtain the angle changes of each axis joint of the 6-axis robot in a printing job, and by analyzing the speed changes of the axis joints of the same robot in the same position to complete the same printing task process under two optimization methods, the advantages and disadvantages of different optimization methods can be analyzed.
3.1 3DCP system setup
The 3DCP system used in this study employs a KUKA KR90 R3700 robot. To enable the robot's 5-axis to move away from the zero point during the printing process and avoid singular poses as much as possible, the robot is set on a base at a height of 750 mm. The lifting of the concrete base allows the robot to achieve more complex spatial movements during printing without joint limits, which is beneficial for the 3D printing of complex curved surfaces. In previous research, a new type of "set on demand" concrete was developed (Yuan et al., 2022). The concrete is mixed with water in a mixing machine and pumped to the print head by a special concrete pump. At the same time, a quick-setting accelerator is pumped through another channel into the print head by another pump. The concrete and quick-setting accelerator are mixed at high speed in the print head, and then extruded through a nozzle for printing. Figure 7 shows the hardware setup of this 3DCP system.
3.2 Design of test samples
To validate the optimization effects of numerical and analytical methods for robot posture under non-horizontal layer printing, a standardized printing object needs to be constructed and the goal pose set of the end-effector coordinate during the printing process needs to be obtained. Using the Rhino platform and Grasshopper parametric modeling software, a centrally symmetric shape with a maximum width of 690 mm * 690 mm and a maximum height of 795 mm was constructed. The overall shape is high in the middle and low around it, with overhangs in four directions as shown in Fig. 8. Based on previous printing experience, this shape is divided into 66 layers, with a layer height variation range of 8.7 mm to 12.5 mm, which is a common setting suitable for this printing system and can ensure good printing results.
Using Grasshopper software, the goal pose of the robot end-effector for printing this shape was obtained, with a total of 9657 goal poses, as shown in Fig. 9. The goal pose of the end-effector is tilted and changing at every moment, and this printing task requires the end-effector to have 5 degrees of freedom.
3.3 Printing experiment
This study conducted three sets of printing experiments. In the first set, the goal poses were not optimized and were directly inputted to the robot. In the second set, the numerical method was used for optimization, and in the third set, the analytical method was used for optimization. In the first set, the printing simulation could not be passed due to axis joint limits errors without optimizing the goal poses. The second and third sets passed the printing simulation and completed the printing of the test specimens in the same position under the same conditions, such as material formulation, environmental temperature, and post-curing time. The three sets of experimental conditions are shown in the Fig. 10. Although both the numerical and analytical methods completed the printing experiment, there were significant differences in the Angle-time change curve and the robot.
3.4 Results comparison
3.4.1 Simulation results
By examining the axis-time graph, for the unoptimized group, when the robot is printing the upper part, the values of axes a4 and a6 greatly exceed the limit, and the absolute values continue to increase. Obviously, these unoptimized goal poses cannot be printed. By comparing the two optimized groups through the axis-time graph, it can be found that the entire task can be completed by the robot through the optimization of numerical and analytical methods. When the robot is executing the task of the planes generated by the numerical solution, the maximum absolute value of the axis with the largest range of motion is less than 180˚, while the same value in the analytical solution is close to 300˚. At the same time, the results from the numerical method also have smaller ranges of motion for each individual joint compared to those from the analytical method. For example, the maximum range of motion of joint a6 occurs in the final stage of the printing task with an absolute amplitude of less than 100˚ in the numerical method, while in the analytical solution, the absolute amplitude is about 150˚. In the actual printing comparison, the values of the fifth joint under the numerical method are generally greater than those under the analytical method. In the above indicators, the numerical method is better than the analytical method. On the other hand, the biggest advantage of the analytical method compared to the numerical method is its high computational efficiency. On a regular personal computer, the numerical method takes about 5300 ms to calculate the 9657 target points, while the analytical method only takes 0.0009 ms. Figure 11 shows the variation amplitude of axis angles in three different situations.
We split an average of 200 time periods throughout the printing process and collected 200 sampling points Fig. 12, and calculate the standard deviation of each joint value at the sampling point. The standard deviation of the analytical solution and the numerical solution are far less than the default case Fig. 13, and the overall fluctuation of the joint motion obtained by the numerical solution is the smallest, which is the best:
3.4.2 Printing results
By comparing the printing results of the two samples, both optimization methods achieved relatively good surface quality of the prints, and successfully completed the 3D printing task.
3.5 Case study
The two optimization methods based on the goal pose mentioned above can be applied to relevant scenarios in non-horizontal layered concrete 3D printing. The research case proposed in this paper (Wu et al., 2022) utilized the analytical method presented in this study to optimize the goal pose. (Fig. 14).
To achieve the construction of this 3D spatial prototype, the structure was divided into 18 building components. Among these 18 components, 6 (with numbers) can be manufactured using traditional methods, while the other 12 (with numbers) require non-horizontal printing in Fig. 15.
At the beginning of this case, we tried to use the default goal pose, and robot could not complete the simulation because of the joint limit (as shown in Fig. 10a). The goal poses must be optimized. Because the workload is relatively large, the analytical solution has advantages in computational efficiency, and it can successfully complete the printing simulation, so we use the analytical method to ensure that the robot program generation can be completed on time.
4 Discussion
4.1 Joint weights
In the numerical method outlined in this paper, the optimization degree of each joint can be regulated by configuring the joint weight \({\text{W}}\). Each joint is assigned a numerical value in the range of 0 to 1, signifying its weight. We conducted a comparison of results by assigning a weight of 1 to only one joint and 0 to the other joints, as depicted in Fig. 16.
Figure 16 illustrates that through numerical iteration, the motion of a specific axis can be constrained within a very narrow range, essentially restricting the motion of that particular joint. Figure 16a-f showcase the limitation of the motion of a single joint. It is evident that the analytical method proposed in this paper can only limit the motion of the fourth joint, whereas the numerical method is capable of constraining the motion of all joints of the robot.
Fig. 16g demonstrates that when all joint weights are equal, optimizing all joints generally results in reducing the motion range of other joints by optimizing either 4th or 6th joint, approximating the effect of optimizing all joints.
4.2 Initial joint weights
In standard contouring printing, the robot is expected to maintain a similar pose at the starting and ending positions of each layer. However, in printing tasks where the normal vector direction of the goal pose varies significantly, the robot's pose at the starting and ending positions of the same layer can differ, leading to divergence in joint values and, ultimately, printing failure. To address this issue in the numerical method, an initial joint weight parameter is introduced. By configuring this parameter, as shown in Fig. 17, the problem can be resolved.
The above figure indicates that when p \(=0\), there is a noticeable difference in the joint values of 4th, 5th, and 6th joint between the beginning and end of the printing task when optimizing the 2nd axis. However, after setting \(p\) to 0.02, the distance value is nearly zero.
5 Conclusion
5.1 Summary of contributions
The main contribution of this paper lies in optimizing 6-axis robots with redundant degrees of freedom based on the goal pose, achieving joint motion optimization through modifications to the printing goal pose. The paper extensively elaborates on the calculation processes involved in both analytical and numerical methods. Feasibility of the two algorithms is validated through practical examples, particularly in the context of concrete 3D printing in construction. The paper also discusses the optimization results under different parameters.
The conclusions of the related simulations and experimental verifications are summarized as follows:
-
The plane optimization methods based on numerical and analytical methods can allow the robot to complete redundant degree of freedom 3D printing jobs with the smallest possible changes in axis under the optimized planes, while the unoptimized planes cannot print or the robot terminates the job due to exceeding the axis speed limit during printing.
-
The optimization methods proposed in this paper can be applied to any additive or subtractive manufacturing process under any end-effector.
-
Numerical iterative methods are generally suitable for general end-effectors and provide more detailed joint control, such as the ability to set joint weights.
-
The utilization of analytical methods to provide well-established initial values for numerical optimization serves to prevent the optimization process from getting trapped in local optima.
-
Analytical methods are used for specific end-effectors and are more computationally efficient than numerical methods. Analytical methods are a better choice under horizontal goal pose. The best approach is to choose the solution by comparing 3 approaches (default, analytical, numerical).
-
Since the general robot task is linear motion at constant speed, this method will not optimize the printing time (unless the robot is using joint motion mode).
-
Because analytical and numerical methods can optimize the default target pose to avoid the joint limits of the robot, the robot can perform tasks with a larger range of distances and tilt angles.
5.2 Future work
The goal pose-based six-axis robot joint optimization methods proposed in this paper provides a convenient workflow, offering a method for optimizing non-horizontal printing.
The prospective avenues for enhancing this study are outlined as follows:
-
1.
Incorporate Collision Detection and Address Singularity Points for Optimization: Integrate collision detection mechanisms and address singularity points to fortify the optimization process, enhancing its practical applicability.
-
2.
Expand Numerical Methods to Accommodate 7-Axis and Multi-Axis Robots: Extend the numerical optimization methods to encompass 7-axis and multi-axis robots, broadening the scope of application and adaptability of the proposed techniques.
-
3.
Broaden Analytical Methods to Constrain the Rotation of Additional Joints: Expand the analytical methods to impose constraints on the rotation of joints beyond the fourth joint, thereby providing a more comprehensive framework for controlling the robot's motion.
These proposed advancements aim to augment the robustness, versatility, and effectiveness of the optimization techniques delineated in this study.
Availability of data and materials
The data and materials supporting the findings of this study are available upon reasonable request. Researchers interested in accessing the data or materials can contact the corresponding author at philipyuan007@tongji.edu.cn for further information.
In compliance with ethical standards and privacy regulations, certain restrictions may apply to the availability of sensitive or confidential data. The release of such data will be subject to appropriate ethical and legal approvals.
Please note that the availability of data and materials is contingent upon adherence to ethical and legal standards governing the protection of participant privacy and confidentiality.
Data availability statement:
The datasets generated and/or analyzed during the current study are available from the corresponding author on reasonable request.
Material availability statement:
Materials used in this study are available for research purposes upon reasonable request from the corresponding author.
References
Antoniou, A., & Lu, W. S. (2007). Practical optimization. Springer.
Bhooshan, S., Bhooshan, V., Dell’Endice, A., Chu, J., Singer, P., Megens, J., ... & Block, P. (2022). The Striatus bridge: computational design and robotic fabrication of an unreinforced, 3D-concrete-printed, masonry arch bridge. Architecture, structures and construction, 2(4), 521–543. https://doi.org/10.1007/s44150-022-00064-7
Breseghello, L., Sanin, S., & Naboni, R. (2021). Toolpath simulation, design and manipulation in robotic 3D concrete printing. In Proceedings of the 26th annual conference of the association for computer-aided architectural design research in Asia, CAADRIA (pp. 623–632)
Furet, B., Poullain, P., & Garnier, S. (2019). 3D printing for construction based on a complex wall of polymer-foam and concrete. Additive Manufacturing, 28, 58–64. https://doi.org/10.1016/j.addma.2019.04.002
ICON Team. (2022). House zero. Retrieved June 6, 2024, from https://www.iconbuild.com/projects/house-zero.
Khoshnevis, B. (2004). Automated construction by contour crafting—related robotics and information technologies. Automation in Construction, 13(1), 5–19. https://doi.org/10.1016/j.autcon.2003.08.012
Kivelä, T., Mattila, J., & Puura, J. (2017). A generic method to optimize a redundant serial robotic manipulator’s structure. Automation in Construction, 81, 172–179. https://doi.org/10.1016/j.autcon.2017.06.006
Klein, C. A., Chu-Jenq, C., & Ahmed, S. (1995). A new formulation of the extended Jacobian method and its use in mapping algorithmic singularities for kinematically redundant manipulators. IEEE Transactions on Robotics and Automation, 11(1), 50–55. https://doi.org/10.1109/70.345937
Li, S., Nguyen-Xuan, H., & Tran, P. (2023). Digital design and parametric study of 3D concrete printing on non-planar surfaces. Automation in Construction, 145, 104624. https://doi.org/10.1016/j.autcon.2022.104624
Lu, M., Zhu, W. R., & Yuan, P. F. (2020). Toward a collaborative robotic platform: FUROBOT. In Architectural Intelligence: Selected Papers from the 1st International Conference on Computational Design and Robotic Fabrication (CDRF 2019) (pp. 87–101). Springer Singapore. https://doi.org/10.1007/978-981-15-6568-7_6
Lu, M., & Yuan, P. F. (2020). A new algorithm to get optimized target plane on 6-axis robot for fabrication. In Proceedings of the 25th CAADRIA Conference (Vol. 2, pp. 393–402). https://doi.org/10.52842/conf.caadria.2020.2.393
Marquardt, D. W. (1963). An algorithm for least-squares estimation of nonlinear parameters. Journal of the Society for Industrial and Applied Mathematics, 11(2), 431–441. https://doi.org/10.1137/0111030
Nematollahi, B., Xia, M., & Sanjayan, J. (2017). Current progress of 3D concrete printing technologies. In ISARC. Proceedings of the international symposium on automation and robotics in construction. (Vol. 34).
Nocedal, J., & Wright, S. J. (Eds.). (1999). Numerical optimization. Springer New York.
Pieper, D. L. (1969). The kinematics of manipulators under computer control. Stanford University.
Rehman, A. U., & Kim, J. H. (2021). 3D concrete printing: A systematic review of rheology, mix designs, mechanical, microstructural, and durability characteristics. Materials, 14(14), 3800. https://doi.org/10.3390/ma14143800
Seng, J., O’Neil, K. A., & Chen, Y. C. (1995). Escapability of singular configuration for redundant manipulators via self-motion. In Proceedings 1995 IEEE/RSJ International Conference on Intelligent Robots and Systems. Human Robot Interaction and Cooperative Robots (Vol. 3, pp. 78–83). IEEE. https://doi.org/10.1109/IROS.1995.525865
Shwetank, M. (2017). How do we solve the equation asinx+bcosx=c? Retrieved April 6, 2024, from https://socratic.org/questions/59e5f259b72cff6c4402a6a5
Siciliano, B. (1990). Kinematic control of redundant robot manipulators: A tutorial. Journal of Intelligent and Robotic Systems, 3, 201–212. https://doi.org/10.1007/BF00126069
Siddika, A., Mamun, M. A. A., Ferdous, W., Saha, A. K., & Alyousef, R. (2020). 3D-printed concrete: Applications, performance, and challenges. Journal of Sustainable Cement-Based Materials, 9(3), 127–164. https://doi.org/10.1080/21650373.2019.1705199
Vantyghem, G., De Corte, W., Shakour, E., & Amir, O. (2020). 3D printing of a post-tensioned concrete girder designed by topology optimization. Automation in Construction, 112, 103084. https://doi.org/10.1016/j.autcon.2020.103084
Wu, H., Li, Z., Zhou, X., Wu, X., Bao, D., & Yuan, P. F. (2022). Digital Design and Fabrication of a 3D Concrete Printed Funicular Spatial Structure. In Proceedings of the 27th CAADRIA Conference (pp. 71–80). https://doi.org/10.52842/conf.caadria.2022.2.071
Xiao, W., & Huan, J. (2012). Redundancy and optimization of a 6R robot for five-axis milling applications: Singularity, joint limits and collision. Production Engineering, 6, 287–296. https://doi.org/10.1007/s11740-012-0362-1
Xiao, J., Ji, G., Zhang, Y., Ma, G., Mechtcherine, V., Pan, J., ... & Du, S. (2021). Large-scale 3D printing concrete technology: Current status and future opportunities. Cement and Concrete Composites, 122, 104115.
Yuan, P. F., Zhan, Q., Wu, H., Beh, H. S., & Zhang, L. (2022). Real-time toolpath planning and extrusion control (RTPEC) method for variable-width 3D concrete printing. JOurnal of Building Engineering, 46, 103716. https://doi.org/10.1016/j.jobe.2021.103716
Zhang, J., & Khoshnevis, B. (2013). Optimal machine operation planning for construction by Contour Crafting. Automation in Construction, 29, 50–67. https://doi.org/10.1016/j.autcon.2012.08.006
Zhang, J., Wang, J., Dong, S., Yu, X., & Han, B. (2019). A review of the current progress and application of 3D printed concrete. Composites Part a: Applied Science and Manufacturing, 125, 105533. https://doi.org/10.1016/j.compositesa.2019.105533
Acknowledgements
This study was funded by the National Key Research and Development Program of China (2023YFC3806900), and the Science and Technology Commission of Shanghai Municipality 2021 “Science and Technology Innovation Action Plan Social Development Technological Tackling Project” (21DZ1204500). Shanghai Fab-Union Technology Co., Ltd. provided equipment, experimental site and 3D printing technical support for this study.
We would like to express our gratitude to Fab-Union for their support. Their valuable input greatly contributed to the success of this research.
This work was supported by :
1. National Natural Science Foundation of China (Grant No.U1913603),
2. Ministry of Education (CN) (Grant No. 202102560007)
3. Science and Technology Innovation Plan Of Shanghai Science and Technology Commission (Grant No.21DZ1204500).
Funding
This research was supported by a grant from:
1. National Natural Science Foundation of China (Grant No.U1913603),
2. Ministry of Education (CN) (Grant No. 202102560007).
3. Science and Technology Innovation Plan Of Shanghai Science and Technology Commission (Grant No.21DZ1204500).
The funding source had no involvement in the study design, data collection, analysis, interpretation, writing of the manuscript, or the decision to submit it for publication.
Author information
Authors and Affiliations
Contributions
1. Ming LU: Conceptualization, Methodology, Formal analysis, Writing—Original draft preparation. 2. Hao WU: Experiment for construction and background research writing. 3. Philip F. YUAN: Supervision. The author contributions statement conforms to the guidelines provided by Architectural Intelligence. Each author has reviewed and approved the content of this manuscript.
Corresponding author
Ethics declarations
Ethics approval and consent to participate
1. Ethics Approval:
The research described in this manuscript has been conducted in accordance with the ethical standards and guidelines established by [Name of the Ethical Review Board or Institutional Review Board]. The research protocol, including the methodology and procedures, was reviewed and approved by the board on [Date of Approval]. The approval number for this study is [Approval Number].
2. Informed Consent:
Informed consent was obtained from all participants involved in the study. Participants were provided with detailed information about the purpose, procedures, potential risks, and benefits of the study. They were assured of the confidentiality and anonymity of their data. Participants were given the opportunity to ask questions and clarify any concerns before providing their written consent.
3. Voluntary Participation:
Participation in this study was entirely voluntary, and participants were informed of their right to withdraw at any point without facing any consequences. No coercive measures were employed, and participants were not subjected to any undue pressure to participate.
4. Confidentiality:
All collected data were treated with the utmost confidentiality. Personal identifiers were removed or anonymized to ensure the privacy of the participants. The data will be securely stored and only accessible to the research team.
5. Contact Information:
For any questions or concerns related to the research, participants were provided with the contact information of the principal investigator. They were encouraged to reach out if they had any further inquiries.
This study adheres to the principles outlined in the Declaration of Helsinki and other relevant ethical guidelines.
Consent for publication
I, Ming LU, the undersigned author of the manuscript titled " New methods of industrial robot joint movement optimization for non-horizontal 3D printing applications," hereby provide my consent for the publication of the aforementioned work in Architectural Intelligence.
I affirm that:
1. I have read and approved the final version of the manuscript for submission to Architectural Intelligence.
2. I take full responsibility for the content of the manuscript and assert that the work is original and does not infringe upon the intellectual property rights of any third party.
3. All co-authors have been appropriately acknowledged and have consented to the submission of this manuscript.
4. I understand that the manuscript will be published under the terms and conditions of [Name of the Journal], and I agree to abide by these terms.
5. I confirm that the submitted work is not under consideration for publication elsewhere and has not been previously published.
6. In the event of any dispute related to the content of the manuscript, I am willing to cooperate with the editorial board of Architectural Intelligence to address and resolve the concerns raised.
I acknowledge that the decision to publish the manuscript is at the discretion of the editorial board of Architectural Intelligence.
Signed:
Ming LU
Tongji University
28 Nov 2023
Competing interests
Author Philip F. Yuan is the Editor-in-Chief for Architectural Intelligence, who is not involved in the joural's review of, or decisions related to this manuscript.
Additional information
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Lu, M., Wu, H. & Yuan, P.F. Optimization for industrial robot joint movement in non-horizontal 3D printing application. ARIN 3, 16 (2024). https://doi.org/10.1007/s44223-024-00058-z
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s44223-024-00058-z