# 3D Printing of Objects with Continuous Spatial Paths by a Multi-Axis Robotic FFF Platform
## 3 Methodology
### Multi-Axis Toolpath Planning
#### 3.2.2 Global Continuous Toolpath Planning
To produce a high-quality contact surface, the material of support is different from that of the printed object. Soluble materials such as PVA and HIPS or other specialized support materials are ideal choices. When the hotbed is working, the printed object and support can be attached while being easy to separate after cooling. Once the support is printed, the upper surface of the support and the hotbed form the initial printing surface of the printed part. ### Process Controlling Algorithm

#### 3.3.1 Material Extrusion Synchronization

Accurate coordination between the robot and the end-effector extruder is necessary to ensure the printing quality. Excessive extrusion can cause the printed parts to collide with the nozzle. Insufficient extrusion will reduce the strength of the printed parts, the material cannot be effectively deposited on the previous layer, or even lead to the failure of printing. Both two cases will affect the surface quality of the parts. The print toolpath contains extrusion information. According to the extrusion information, we divide the whole printing toolpath into two sub-paths: printing toolpath and empty travel. The empty travel does not contain the extrusion information, while the printing toolpath contains both the extrusion information and the nozzle movement path. By regulating the print toolpath's speed and acceleration, the robotic arm will print at a constant speed during the printing toolpath to ensure a stable and accurate movement. Simultaneously, the extruder feeds printed material at a constant speed, providing a smooth extrusion. After completing a printing toolpath, the upper computer will determine whether the next subpath is the type of empty travel. The extruder will not receive the upper computer's extrusion command during the empty travel and will remain in a paused state until it starts to print the next printing toolpath. #### 3.3.2 End Effector Pose Controlling

After the toolpath planning, we generated a set of paths. The points in each path contain only the position information in the global coordinate system but not the end effectors' pose information. The end effectors' pose needs to be planned through path points to avoid collision during printing. Each tool path consists of a list of sequential points \(p_{i}(x_{i},y_{i},z_{i})_{i=0,1,...,m}\). To prevent the collision, the angle between the end effector's nozzle and the print path should be within a safe range. Considering the accessibility of the platform, we constraint the nozzle's orientation within a reasonable range in the global coordinate system at the same time. The Figure 5 shows an example for nozzle pose controlling algorithm. The specific steps of the algorithm are as follows:

1. For each point \(p_{i}\) in the path, connect the next point \(p_{i+1}\) to form a line segment \(l_{p,p_{i+1}}\). 2. Create a vertical plane \(S_{v}\) perpendicular to the hotbed and through the \(l_{p,p_{i+1}}\), using the \(S_{v}\) as a constraint. 3. The nozzle's orient \(N_{i}\) at \(p_{i}\) should be parallel to \(S_{v}\) and point to the negative direction of the \(z\)-axis. 4. \(N_{i}\) also needs to be perpendicular to the \(l_{p_{i}p_{i+1}}\). 5. Boundary condition: If the angle between \(N_{i}\) and the \(z\)-axis exceeds the safe range, \(N_{i}\) will be limited within the range. 6. Use cubic splines to smooth the \(N_{i}\) to ensure stable printing. 7. Append the \(N_{i}\) to corresponding \(p_{i}\) and the integrated print toolpath is \(P=\left\{p_{i}(x_{i},y_{i},z_{i},Rx_{i},Ry_{i},Rz_{i})\right\}_{i=0,1,...,m}\). A unique pose vector corresponds to every point on the print path. We could translate this into a motion script for the robotic arm with Cartesian path planning. ## 4 Experiments and Discussion

As shown in Figure 6, our multi-DOF printing platform is based on a UR3 robot. UR3 is a desktop collaborative robot, including a robot manipulator and a control box. It has six rotating joints, and the repeat positioning accuracy is \(\pm\)0.1 mm.