Close
About
FAQ
Home
Collections
Login
USC Login
Register
0
Selected
Invert selection
Deselect all
Deselect all
Click here to refresh results
Click here to refresh results
USC
/
Digital Library
/
University of Southern California Dissertations and Theses
/
Process planning for robotic additive manufacturing
(USC Thesis Other)
Process planning for robotic additive manufacturing
PDF
Download
Share
Open document
Flip pages
Contact Us
Contact Us
Copy asset link
Request this asset
Transcript (if available)
Content
Process Planning for Robotic Additive Manufacturing by Prahar M. Bhatt A Dissertation Presented to the FACULTY OF THE GRADUATE SCHOOL UNIVERSITY OF SOUTHERN CALIFORNIA In Partial Fulllment of the Requirements for the Degree DOCTOR OF PHILOSOPHY (MECHANICAL ENGINEERING) May 2022 Copyright 2022 Prahar M. Bhatt Acknowledgements First, I would like to thank my doctoral advisor Professor Satyandra K. Gupta, at the University of Southern California (USC), for granting me the opportunity to be his student, advising me to be a great researcher, striving hard to provide me with state-of-the-art facilities at Center for Advanced Manufacturing, USC, and guiding me to shape my career. Next, I would like to thank the committee members, Professor Yong Chen, Professor Steven Nutt, and Professor Hangbo Zhao at USC, for their valuable insights, feedback, and suggestions for this work. Next, I would like to thank Professor Hugh Bruck at the University of Maryland, Keith McKay at Divergent 3D, and Andrzej Nycz at Oak Ridge National Laboratory for their expert guidance in my research. Next, I would like to thank my colleagues at the Center for Advanced Manufacturing, USC, for collaborating in my research. My colleagues include Ying Cai, Neel Dhanaraj, Cheng Gong, Rex Jomy Joseph, Ariyan Kabir, Alec Kanyuck, Ashish Kulkarni, Rishi Malhan, Zachary McNulty, Max Peralta, Pradeep Rajendran, Brual Shah, Aniruddha Shembekar, Shantanu Thakar, and Yeo Jung Yoon. Next, I would like to thank the Air Force Oce of Scientic Research, the National Science Foundation, and the USC Viterbi Graduate School for their nancial support. Next, I would like to thank my mother Niketa, father Milan, and sister Kaustubhi for their hard work and eort in providing me with numerous opportunities to progress and their unconditional support. Finally, I would like to thank my wife Ria for encouraging me to pursue a doctorate and for her unparalleled support and guidance. ii Table of Contents Acknowledgements ii List Of Tables vii List Of Figures ix Abstract xvii Chapter 1: Introduction 1 1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Objectives and Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.4 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Chapter 2: Part Placement Optimization for Improving Robot Accuracy 7 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.4 Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4.2 Error Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4.2.1 General Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4.2.2 3 DOF Manipulator . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.4.3 Algorithm for Determining Part Placement . . . . . . . . . . . . . . . . . . 18 2.5 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.5.1 Error Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.5.2 AM Part Placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Chapter 3: Tool-Path Planning for Incorporating Tool Contact Considerations 25 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.3 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.4 Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.4.2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.4.3 TCP Candidates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.4.4 Directed Graph Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.4.5 Search and Collision Detection . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.5 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 iii 3.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Chapter 4: Workspace Compensation Scheme for Reducing Manipulator Execu- tion Errors 43 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.3 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.4 Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.4.2 Trajectory Analysis and Classication . . . . . . . . . . . . . . . . . . . . . 48 4.4.3 Trajectory Sampling and Running . . . . . . . . . . . . . . . . . . . . . . . 49 4.4.4 Algorithm Selection, Training, and Validation . . . . . . . . . . . . . . . . . 50 4.4.4.1 Path Error Correction ANN (Path-Net) . . . . . . . . . . . . . . . 50 4.4.4.2 Time Error Correction ANN (Time-Net) . . . . . . . . . . . . . . 51 4.4.4.3 Orientation Error Correction ANN (Orient-Net) . . . . . . . . . . 52 4.4.5 Trajectory Compensation and Execution . . . . . . . . . . . . . . . . . . . . 52 4.5 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.5.1 Experiments using Laser Tracker Readings . . . . . . . . . . . . . . . . . . 53 4.5.1.1 Circular trajectory: . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.5.1.2 Non-Planar 3D Printing Layer Trajectory: . . . . . . . . . . . . . 55 4.5.2 Physical Demonstration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.5.3 Experiments Using Encoder Readings . . . . . . . . . . . . . . . . . . . . . 56 4.5.3.1 Schwefel Function Trajectory: . . . . . . . . . . . . . . . . . . . . 57 4.5.3.2 Sine Function Trajectory: . . . . . . . . . . . . . . . . . . . . . . . 58 4.5.3.3 Non-Planar 3D Printing: . . . . . . . . . . . . . . . . . . . . . . . 58 4.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Chapter 5: Conguration Space Compensation Scheme for Reducing Manipulator Execution Errors 61 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.3 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.4 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.5 Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.5.2 Model Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.5.3 Supervised Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 5.5.4 Trajectory Compensation and Validation . . . . . . . . . . . . . . . . . . . 70 5.5.5 Calibration Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 5.6 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 5.6.1 Kinematic Model Correction . . . . . . . . . . . . . . . . . . . . . . . . . . 73 5.6.2 Trajectory Execution Error Reduction . . . . . . . . . . . . . . . . . . . . . 76 5.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Chapter 6: Multi-Robot Placements Optimization for Reducing Inverse Kinemat- ics Inconsistency in Robot Paths 79 6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 6.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 6.3 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 6.4 Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 6.4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 iv 6.4.2 Path Decomposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 6.4.3 Multi-Robot Placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 6.5 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 6.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Chapter 7: Robotic Supportless Material Extrusion Additive Manufacturing 96 7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 7.2 Related work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 7.3 Application Specic Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 7.3.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 7.3.2 Layer Slicing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 7.3.3 Tool-Path Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 7.3.3.1 Build-Platform Rotation . . . . . . . . . . . . . . . . . . . . . . . 108 7.3.3.2 Extrusion Tool-Path Generation . . . . . . . . . . . . . . . . . . . 112 7.3.3.3 Collision Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 7.4 Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 7.4.1 Multi-Robot trajectory simulation . . . . . . . . . . . . . . . . . . . . . . . 116 7.4.2 Sampled trajectory data collection and neural network training . . . . . . . 116 7.4.3 Multi-Robot trajectory execution . . . . . . . . . . . . . . . . . . . . . . . . 117 7.5 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 7.5.1 Built Parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 7.5.2 Part Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 7.5.3 Build Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 7.5.4 Material Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 7.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Chapter 8: Robotic Multi-Resolution Material Extrusion Additive Manufactur- ing 124 8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 8.2 Related work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 8.3 Application Specic Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 8.3.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 8.3.2 Conformal Slicing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 8.3.3 Hybrid Slicing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 8.4 Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 8.4.1 Tool Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 8.5 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 8.5.1 Built Parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 8.5.2 Part Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 8.5.3 Build Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 8.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Chapter 9: Robotic Conformal Wire Arc Additive Manufacturing 146 9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 9.2 Related work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 9.3 Application Specic Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 9.3.1 Automated Accumulation Detection . . . . . . . . . . . . . . . . . . . . . . 151 9.3.2 Tool-Path Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 9.3.2.1 Bottom Layer Path Modication . . . . . . . . . . . . . . . . . . . 157 9.3.2.2 Collision Avoidance and Tool-Path Smoothing . . . . . . . . . . . 162 9.4 Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 v 9.4.1 Substrate Material Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 9.4.2 Substrate Cost Reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 9.4.3 Process Parameter Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 9.5 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 9.5.1 Built Parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 9.5.2 Part Characterization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 9.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 Chapter 10: Robotic Multi-Axis Wire Arc Additive Manufacturing 180 10.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 10.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 10.3 Application Specic Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 10.3.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 10.3.2 Tool Trajectory Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 10.3.3 Sensor-Based Intervention . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 10.4 Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 10.5 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 10.5.1 Built Parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 10.5.2 Case Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 10.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 Chapter 11:Conclusions 195 11.1 Intellectual Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 11.2 Anticipated Benets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 11.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 11.4 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 References 200 vi List Of Tables 2.1 The table is indicating the gure of the placement setup, the part origin location represented in the workspace space of manipulator ~ X o , and the norm of maximum workspace error for executing the AM trajectory at the part location. . . . . . . . 21 2.2 The table is indicating optimal part placement gures, number of waypoints in the AM part building trajectory, the optimal location of the part origin represented in the workspace space of the manipulator, initial error, optimized error, percentage reduction in error, the computation time for the optimal placement, the number of iterations in the computation, and the allowed part DOF in the workspace of a 6 DOF manipulator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.1 The geometrically complex part curve frames, TCPs, D G nodes, edges, and the time to generate the graph and run the algorithm. . . . . . . . . . . . . . . . . . . 38 4.1 Circular trajectory and Non-Planar 3D printing layer trajectory average path error and max path error measured using laser tracker. . . . . . . . . . . . . . . . . . . . 55 4.2 Schwefel function trajectory, Sine function trajectory, and Non-Planar 3D printing trajectory average path error, max path error, and total lag error. . . . . . . . . . 58 5.1 The KUKA manipulator ideal link lengths, twists, and calculated corrections as shown in Figure 5.8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 5.2 Schwefel function tracking trajectory and Vase 3D printing trajectory trajectory average path error, max path error, average orientation error, max orientation error, and average lag error. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 6.1 The results of build time and IK inconsistency in robot paths (dened in Section 6.3) for the three xed cell layouts (L1, L2, and L3) and the optimized cell layout generated using the algorithm (L*). Here, NR means Not Reachable by one or more manipulators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 7.1 Comparison of the build time on the method C type supportless AM setup to the conventional AM setup for building thin shell parts. . . . . . . . . . . . . . . . . . 122 7.2 Comparison of the support material usage on the method C type supportless AM setup to the conventional AM setup for building thin shell parts. . . . . . . . . . . 123 vii 8.1 The estimated build time of the constant resolution parts, the adaptively sliced parts, and the multi-resolution parts. The reduction percentage is calculated be- tween the constant and multi-resolution parts. . . . . . . . . . . . . . . . . . . . . 144 viii List Of Figures 1.1 (A) Excessive support structures generated to support the overhanging layers of the part built using conventional AM. (B) Stair-Stepping eect caused by the high number of planar layer to build conformal part using conventional AM. . . . . . . 2 1.2 (A) Robotic manipulator setup to perform conformal AM. (B) Robotic manipulator setup to perform supportless AM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 (A) Oak Ridge National Laboratory building tools (image source: ornl.gov). (B) Relativity Space building rockets (image source: spectrum.ieee.org). (C) CyBe Construction building houses (image source: aniwaa.com). (D) MX3D building bridges (image source: dezeen.com). (E) Sculptur building recycled material fur- niture (image source: new.abb.com). . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1 Additive manufacturing the same part at three manipulator workspace locations indicated by 1, 2, and 3. (A) Conguration of the manipulator at the part build location. (B) The thin shell built part. (C) The scanned part compared to the CAD model to detect accuracy defects on the part surface. The errors are indicated in the color bar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2 The 2D Cartesian workspace of a 3 DOF planar manipulator. The orange high- lighted workspace encompasses all the possible (x 0 ;y 0 ) positions of the white point located at the joint between link 2 and link 3. The (x 0 ;y 0 ) position is controlled by the 1 and 2 joint angles. Joint angle does not aect the Cartesian position. All dimensions are in mm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.3 The workspace error map for dierent type of joint errors. (A) Constant joint error map generated using error Equation 2.14. (B) Joint velocity error map generated using error Equation 2.15. (C) Total error calculated using Equation 2.13. The error color maps are normalized as they are for understanding the relative error distribution in the manipulator workspace. All dimensions are in mm. . . . . . . . 16 2.4 Illustration of three AM part locations with the hatching trajectory [63] in the same direction as the velocity. The location of the part aects the maximum trajectory execution error and the part accuracy. All dimensions are in mm. . . . . . . . . . . 17 2.5 The minimum error placement to build the part experimented in Figure 2.1. . . . . 21 ix 2.6 The three test cases showing the optimal part placement along with the manipulator conguration for building the AM parts. . . . . . . . . . . . . . . . . . . . . . . . . 22 3.1 Manufacturing using robot on a geometrically complex part [94]. . . . . . . . . . . 26 3.2 The geometrically complex parts with the highlighted (white)S andF WP to per- form manufacturing using robot. The parts are labelled as WP1, WP2, WP3, and WP4 respectively. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.3 Illustration of the steps in out tool-path planning algorithm with incorporated tool contact considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.4 The tools with the human selected surface and the TCP candidatesF TCP to per- form manufacturing using robot labelled as T1 and T2. . . . . . . . . . . . . . . . 32 3.5 A segment representation of the the directed acyclic graphD G used by the algo- rithm. Here, the indexi is forF WP frames and the indexj is for theF TCP frames. The red highlighted arrows shows a possible tool-path though the selected nodes. . 34 3.6 The snapshots of the tool-path simulation generated by the algorithm for WP1 and T1 with the human dened ~ ee for the weight W 1 . . . . . . . . . . . . . . . . . . . . 39 3.7 The snapshots of the tool-path simulation generated by the algorithm for WP2 and T2 with the human dened ~ ee for the weight W 1 . . . . . . . . . . . . . . . . . . . . 39 3.8 The snapshots of the tool-path simulation generated by the algorithm for WP3 and T4 with the human dened ~ ee for the weight W 1 . . . . . . . . . . . . . . . . . . . . 40 3.9 The snapshots of the tool-path simulation generated by the algorithm for WP4 and T1 with the human dened ~ ee for the weight W 1 . . . . . . . . . . . . . . . . . . . . 40 4.1 The actual setup, setup schematic, and the reference trajectory for the physical demonstration of execution error in articulated robots. . . . . . . . . . . . . . . . . 45 4.2 The designed ANN sequence arranged in the order the data ows in the C-DC scheme (All-Net). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.3 Context-Dependent compensation scheme containing the supervised learning and trajectory compensation using All-Net. . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.4 Leica Absolute Tracker AT960 tracking the Leica T-Mac mounted to the end- eector of the ABB IRB 2600 robot. . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.5 (Left) Circular trajectory and (right) non-planar 3D printing layer trajectory path error vs trajectory checkpoint for (blue) and (orange) measured using laser tracker. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.6 The actual workpieces showing the defects due to lag error for and . . . . . . . 56 x 4.7 Schwefel function trajectory in Euclidean space with respect to the robot origin, trajectory path error vs trajectory checkpoint, and trajectory time lag error vs trajectory checkpoint for (blue) and (orange). . . . . . . . . . . . . . . . . . . 57 4.8 Sine function trajectory in Euclidean space with respect to the robot origin, trajec- tory path error vs trajectory checkpoint, and trajectory time lag error vs trajectory checkpoint for (blue) and (orange). . . . . . . . . . . . . . . . . . . . . . . . . 59 4.9 Non-Planar 3D printing trajectory in Euclidean space with respect to the robot origin, trajectory path error vs trajectory checkpoint, and trajectory time lag error vs trajectory checkpoint for (blue) and (orange). . . . . . . . . . . . . . . . . 59 5.1 Robotic manufacturing processes which require high trajectory execution accuracy. (Left) robotic additive manufacturing and (right) robotic welding. . . . . . . . . . 62 5.2 Illustration of the inaccuracy in executed trajectory in Cartesian space. A tubular region generated around the input trajectory encompasses the uncertainty in pose of the end-eector. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.3 Illustration of the repeatability of the executed trajectory in Cartesian space. A tubular region generated around the executed trajectory encompasses the uncer- tainty in pose of the end-eector. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.4 Illustration showing the time lag error while executing a trajectory on a manipu- lator. The pose error is assumed to be zero. . . . . . . . . . . . . . . . . . . . . . . 65 5.5 Illustration of the pose error and lag error occurring while trajectory execution. . . 66 5.6 An illustration of the trajectory-dependent compensation scheme supervised learn- ing and compensation steps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.7 Illustration of the ANN architecture used to compensate the trajectory pose error and time lag error of the manipulator. . . . . . . . . . . . . . . . . . . . . . . . . . 68 5.8 KUKA manipulator showing the possible link length and twist deviations due to the manufacturing defects and assembly errors. . . . . . . . . . . . . . . . . . . . . 71 5.9 Illustration of the setup to perform kinematic model calibration. . . . . . . . . . . 72 5.10 The grayscale image with median lter, Canny edge ltered image with the pixel value to the tip of conical marker, and the RGB image showing the manipulator holding the conical marker. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 5.11 Schwefel function trajectory in the Euclidean workspace, joint error, and time lag error vs trajectory checkpoints for (blue) and (orange). . . . . . . . . . . . . . 76 5.12 Vase 3D printing trajectory in the Euclidean workspace, joint error, and time lag error vs trajectory checkpoints forT (blue) andT (orange). . . . . . . . . . . . . 77 6.1 The multi-robot cell developed at Oak Ridge National Laboratory and two large- scale WAAM parts built using the setup. . . . . . . . . . . . . . . . . . . . . . . . . 80 xi 6.2 Illustration of a multi-robot cell to perform AM. The illustration shows the relative location of the AM part, build-platform, and the robot base frames in the word coordinate system. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 6.3 Illustration of the WAAM part being decomposed into three sections using vertical planes. Each of these decomposed section will be built using a separate manipula- tor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 6.4 Illustration of three manipulators placed using cylindrical coordinates. The manip- ulator placement in bounded in the hollow circular robot area. . . . . . . . . . . . 88 6.5 The decomposed path segment sets generated using the path decomposition algo- rithm. Each colored segment set is allotted to corresponding same colored manip- ulator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 6.6 The WAAM simulation snapshot of the multi-robot placement solution generated using the algorithm. The simulation is done on Webots software [137] enabled using ROS2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 6.7 The plots to visualize the multi-robot placement locations of the xed cell layouts and the optimized cell layout with respect to the AM part location as listed in Table 6.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 7.1 (Left) CAD model of a thin shell vase-shaped part with features making an angle less than 45 with the horizontal plane and (right) the thin shell part with 0:8 mm thickness is built with support structures on the inside and outside of the part. . . 97 7.2 Extrusion-based supportless AM using (left) multi-Directional setup, (center) cus- tom extrusion tool performing a specic pattern path, and (right) by constantly varying the build-direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 7.3 The CAD front view and top view of a thin shell asymmetric part with a shell thickness of 0:8 mm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 7.4 The slicing of the part shown in Figure 7.3 to build it using method C type extrusion-based supportless AM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 7.5 The ABB RobotStudio simulation environment showing the degrees of freedom of the extrusion tool and the build-platform enabled by the industrial manipulators. . 103 7.6 An illustration of the ray-triangle intersection slicing algorithm steps: (A) the average axis of symmetry (B) one of the m slope maps of the part (C) the m direction vectors placed in each of the adaptive height n slicing planes (D) the collection of the continuous layer contours sorted and plotted on the part. . . . . . 105 7.7 The relation between the layer thickness and the extruded lament diameter for the algorithm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 7.8 An illustration of the method C type setup with the terminologies the chapter uses to explain the tool-path generation. . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 xii 7.9 An illustration showing the reorientation of the build-platform and the change in the location of the extrusion tool to change the local slope angle of the active point on the thin shell part from less than 45 to equal to 45 in order to avoid support structures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 7.10 The sliced layer contours and the method C supportless AM extrusion tool-path for the thin shell asymmetric part shown in Figure 7.3. . . . . . . . . . . . . . . . . 113 7.11 An illustration showing the sphere approximation of the build-platform and extru- sion tool for collision detection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 7.12 (A) The experimental setup with two manipulators holding the 3 DOF build- platform and 3 DOF extrusion tool (B) The simulation created in ABB Robot- Studio to validate the trajectory before execution on the experimental setup. . . . 115 7.13 The tessellated CAD model, the sliced layer contours (blue), and the extrusion tool-path (red) on the method C type of setup using supportless extrusion-based AM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 7.14 The built thin shell part on the method C type of setup using supportless extrusion- based AM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 7.15 The accuracy error color map of the thin shell part scanned point cloud overlayed on the tessellated CAD model with the labelled color bar. . . . . . . . . . . . . . . 121 8.1 The illustration of the nozzle diameter and the deposited lament bead width and bead height. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 8.2 The CAD model of a part and the conformal part built using non-planar layers [162]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 8.3 Two example manipulator setups to build conformal parts [162]. . . . . . . . . . . 126 8.4 (A) Parts showing the dierence between large lament and small lament in con- formal AM. (B) A part being built using multi-resolution laments. Here, 0.8 mm resolution means lament printed using 0.8 mm diameter nozzle and 0.4 mm reso- lution means lament printed using 0.4 mm diameter nozzle. The build direction is pointing outwards along the normal to the plane [13]. . . . . . . . . . . . . . . . 127 8.5 Illustration of the steps in the conformal slicing algorithm for multi-resolution AM. The white boxes refer to the enlarged areas. (A) Selecting surfaces (B) Slicing the selected surfaces (C) Discretizing the sliced edges to generate points with normals (D, E, F) Generated large lament interior and small lament exterior layers. . . 131 8.6 Illustration of the steps in the hybrid slicing algorithm for multi-resolution AM. The white boxes refer to the enlarged areas. (A, B) Slicing and generating the top surface small lament conformal layer (C, D) Slicing and generating the bottom surface small lament conformal layer (E) Interior sliced planes (F) Generating interior large lament planar layers (G) Multi-Resolution layers. . . . . . . . . . . 135 xiii 8.7 (A) The manipulator trajectory simulation. (B) The actual single manipulator setup to build the multi-resolution parts. . . . . . . . . . . . . . . . . . . . . . . . . 137 8.8 Snapshots of a part being built using the single manipulator multi-resolution setup. 138 8.9 The extrusion tool with the TCP candidatesF TCP on the three nozzle tips. . . . . 139 8.10 (C) CAD model with the plotted small lament exterior layers and large lament interior layers of the part. (P) Built part. Part 1 and 2 are are sliced using the conformal slicing algorithm and parts 3 to 5 are sliced using the hybrid slicing algorithm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 8.11 The volumetric surface error color map of the built part exterior surfaces with the labelled color bar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 9.1 CAD model of a complex part to be built with robotic wire arc AM process. . . . 147 9.2 Three types of WAAM that can build the part in Figure 9.1. (a) multi-direction supportless planar WAAM, (b) pulsed WAAM, and (c) conformal WAAM. . . . . . 148 9.3 Shape shifting table that can be programmed to have the desired shape [75]. . . . 149 9.4 Accumulation reduction by increasing the speed by a xed factor at the corners. Experiment images with (a) 55 corner angle and (b) 35 corner angle. Red circle indicates accumulation, yellow circle represents necking, and green box represents the selected corner speed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 9.5 (a) Point cloud of the weld bead with the color coded cross sections. (b) Bead prole plot of the cross sections with the same color code. (c) Curvature vs Z height plot for a desirable cross section. (d) Curvature vs Z height plot for a undesirable cross section. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 9.6 The non-planar layers generated for conformal robotic WAAM. Each layer consist of two path segments which are indicated as 1 and 2. . . . . . . . . . . . . . . . . . 156 9.7 Experiment showing the deposited metal bead on a conformal substrate while trav- elling uphill and downhill. The bead is discontinuous when the tool travels downhill.158 9.8 Diagram indicating the eect of gravity on molten weld pool when the tool is travelling uphill and downhill. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 9.9 (Top) The slopes detected for the unmodied bottom layer path segments (see Figure 9.6). (Bottom) The modied non-planar bottom layer path generated for conformal robotic WAAM. The bottom layer consist of six path segments which are indicated as 1 to 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 9.10 Diagram showing the collision cone and the clearance cone for my weld gun tip. The weld gun tip orientation is modied to keep the conformal part surface outside the clearance cone. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 xiv 9.11 Diagram illustrating the tool orientation modication to reduce the sudden tool orientation changes and make the tool-path jerk free. . . . . . . . . . . . . . . . . . 163 9.12 Three small scale test parts built to test the tool-path generation algorithm. . . . . 164 9.13 The automated arc welding physical setup consisting of the robotic manipulator and the welding hardware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 9.14 The copper substrates used by me to build non-planar layers of the conformal part in robotic WAAM process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 9.15 Performing WAAM on a mock up shape shifting table created by grouping copper rods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 9.16 The surface quality of the part with (a) splatter, (b) improper weld pool cooling, and (c) desired surface quality. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 9.17 The thin shell parts built to validated the estimated process parameters . . . . . . 170 9.18 Five parts build to showcase the capability of our experimental setup and developed algorithm. Part d and e has non-planar layers built using a conformal copper substrates shown in Figure 9.14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 9.19 Snapshot from the video [16] of the conformal part being built on our robotic WAAM setup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 9.20 (a) Polished cross-section for 1 layer on at copper substrate indicating a very low level of global porosity at 0.9%. Pore sizes were primarily 30 microns or less, but with sizes extending to 100 micron. (b) Polished cross-section for 2 layer on conformal copper substrate indicating porosity is similar to 1 layer. (c) Polished cross-section for 1 layer on at steel substrate indicating porosity similar to 1 layer on at copper substrate. (d) Polished cross-section for 2 layer on at steel substrate indicating porosity similar to 1 layer on steel substrate. . . . . . . . . . . . . . . . 173 9.21 Etched 1 layer on at copper substrate revealing microstructure appears to be a mixture of bainite and martensite. . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 9.22 Etched 2 layer on conformal copper substrate revealing microstructure appears to be a mixture of ferrite, pearlite, and bainite. . . . . . . . . . . . . . . . . . . . . . . 175 9.23 Etched 1 layer on at steel substrate revealing microstructure appears to be a mixture of bainite and martensite. . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 9.24 Etched 2 layer on at steel substrate revealing microstructure appears to be more strongly bainite with the presence of some ferrite and pearlite. . . . . . . . . . . . 177 9.25 Microhardness testing results indicating variation of hardness was consistent with the variation in observed microstructures. . . . . . . . . . . . . . . . . . . . . . . . 178 9.26 T-peel test specimens. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 xv 10.1 Illustration of the 8 DOF WAAM setup consisting of the 6 DOF manipulator and 2 DOF build platform. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 10.2 Illustration of adaptively sliced layers for a part given as the input to the tool trajectory generation algorithm and the sliced layers displaced by the tilting of the build platform to compensate for the eects of gravity. . . . . . . . . . . . . . . . . 184 10.3 (A) An example of the raw point cloud of the part current layer provided as an input to the sensor-based intervention algorithm. (B) The detected current layer path (red) on the ltered point cloud of the current layer in the second step of the sensor-based intervention algorithm. (C) The sensor-based intervention tool-paths (red) for additional height compensation layers generated for an exaggerated case to reduce the unevenness of the layer height using the online feedback algorithm. . 186 10.4 The 8 DOF WAAM experimental setup consisting of the 6 DOF Yaskawa manip- ulator, 2 DOF Yaskawa build platform, and Hexagon laser scanner. . . . . . . . . . 187 10.5 The CAD models, the parts being built on the experimental setup, and the build parts along with the build volume dimensions. . . . . . . . . . . . . . . . . . . . . . 191 10.6 (A) The scanned model of the built tool. (B) The point cloud error map generated by comparing the scanned model with the CAD. (C) The built tool surface being machined. (D) The post-processed tool. (E) The composite sheet layup done on the post-processed tool. (F) The nal composite part. . . . . . . . . . . . . . . . . 192 xvi Abstract Conventional additive manufacturing has revolutionized the manufacturing industry by building custom parts without any part-specic tooling. It can realize complex geometries which could not be built using any other manufacturing process. However, conventional additive manufacturing has limitations, such as long build times, undesirable mechanical properties, poor surface nish, and material wastage caused by support structures. Robotic additive manufacturing can over- come these limitations by the high exibility. Robotic additive manufacturing requires several technological advances to overcome the limitations of conventional additive manufacturing. This dissertation makes the following four fundamental advances to enable the use of robots in additive manufacturing: (1) a part placement algorithm to optimize the robot trajectory execution accu- racy, (2) a tool-path planning algorithm to fully utilize the tool's exibility for manufacturing in a computationally ecient manner, (3) a robot trajectory compensation scheme to improve the accuracy of the robotic manipulators, and (4) a robot placement algorithm to enable multi-robot manufacturing and minimize overall manufacturing time. The dissertation demonstrates the fun- damental advances using the following four robotic additive manufacturing applications. First, the robot accuracy is improved using the compensation scheme to perform supportless material extrusion additive manufacturing. Second, the tool-path planning exibility is demonstrated for multi-resolution material extrusion additive manufacturing. Third, the part placement algorithm is used for conformal wire arc additive manufacturing. Finally, the multi-axis wire arc manufac- turing deposition rate is increased by designing a multi-robot cell. xvii Chapter 1 Introduction 1.1 Background American Society of Testing and Materials (ASTM) classies additive manufacturing (AM) into seven categories, i.e., VAT photopolymerization, powder bed fusion, binder jetting, material jet- ting, sheet lamination, material extrusion, and Direct Energy Deposition (DED). In AM process, the part is built layer by layer by depositing material layer by layer [63]. The conventional AM is revolutionizing manufacturing by overcoming many limitations of subtractive manufacturing [10, 126]. Conventional AM uses planar layers to build a 3-Dimensional (3D) model additively. The use of planar layers removes the need to use part-specic tooling, and the process can realize complex geometries, which were not possible using traditional manufacturing techniques. Thus AM, enables realizing complex, multi-material, and customized part geometries without paying a cost penalty [178]. In summary, AM is making manufacturing simple, ecient, and accessible to the general public. The conventional AM processes have several limitations [144]. Conventional AM setups use the 3 Degrees Of Freedom (DOF) gantry system, building parts using planar layers. Approximating highly curved and overhanging geometry using planar layers leads to many planar layers and support structures as shown in Figure 1.1. This increases the overall build time for the part and 1 Figure 1.1: (A) Excessive support structures generated to support the overhanging layers of the part built using conventional AM. (B) Stair-Stepping eect caused by the high number of planar layer to build conformal part using conventional AM. causes material wastage in the form of support. Stacking planar layers can cause anisotropic material properties in the build parts, which reduce the part strength. The stair-stepping eect in AM caused by planar layers is cause for geometry approximation and poor surface nish. A signicant amount of post-processing is required to improve the surface nish. Specic part geometries cannot be built using planar layers due to the accuracy and resolution limitations of the AM process. These geometries can be prefabricated and included between the layers. Including such prefabricated components between layers, the capability is not possible in conventional AM. Also, conventional AM limits the size of the parts built due to the 3DOF gantry setup exponential cost increase with size. Thus, there are quite a few limitations of conventional AM. 1.2 Motivation Robotic manipulators can overcome most of these limitations due to their high exibility, making them suitable for AM. For instance, the following functionalities enhanced in AM by manipulators [24] overcome the limitations. 1. Multi-directional fabrication [84]: It reduces the support structures used to build overhang- ing geometries. This reduces the build time and the support material usage. 2 Figure 1.2: (A) Robotic manipulator setup to perform conformal AM. (B) Robotic manipulator setup to perform supportless AM. 2. Conformal deposition [162]: Non-planar conformal layers improve the ber arrangement in the part. It improves the part's mechanical properties. A robotic manipulator setup is shown in Figure 1.2A. 3. Assembling prefabricated components [21]: This capability allows placing prefabricated com- ponents with high accuracy between the layers. By doing this can over the AM layer reso- lution limitations. 4. Supportless AM [195]: Supportless AM avoid support structures and the build time and material wastage related to it. A robotic manipulator setup is shown in Figure 1.2B. 5. Large-scale AM [100]: Robotic manipulators have a high workspace to size ratio and are cheaper compared to large-scale gantry setup. This reduces the large-scale AM setup costs by several folds. Thus, robotic manipulators are exible machines that can be used to perform complex manu- facturing. A single robot can perform several dierent functions by using dierent tools. In theory, mobile manipulators have a limitless workspace. Also, many companies have started us- ing robotic manipulators to perform functional AM as shown in Figure 1.3. So, AM research community should explore the use of robots to overcome the limitations of conventional AM. 3 Figure 1.3: (A) Oak Ridge National Laboratory building tools (image source: ornl.gov). (B) Rel- ativity Space building rockets (image source: spectrum.ieee.org). (C) CyBe Construction building houses (image source: aniwaa.com). (D) MX3D building bridges (image source: dezeen.com). (E) Sculptur building recycled material furniture (image source: new.abb.com). Using robotic manipulators for next-generation AM technologies creates multiple challenges. The rst challenge is placing the part in the robot workspace. Articulated manipulators have a complex mapping between the workspace and the conguration space. The robot constraints and the AM process constraint need to be satised to nd the best part location. The AM tools attached to the manipulator's end-eector have more degrees of freedom than the conventional setup and perform a broader range of tasks. This gives rise to the second challenge of ecient tool- path planning to successfully execute the tasks, avoid tool collisions, and build a defect-free part. To build the part in the manipulator's workspace, we need to generate the robot trajectories in the manipulator's conguration space. Then, as the third challenge, the robot trajectories must satisfy several constraints such as the manipulator reachability, continuity, collision, velocity, singularity, and more. Compared to the conventional AM setup, the articulated manipulators performing AM are not accurate. Therefore, the fourth challenge is to build accurate AM parts by compensating and improving manipulator accuracy. Large-scale AM needs multiple robots to build the part quickly and eciently. This leads to the fth challenge of decomposing the AM part and placing 4 the manipulators to enable multi-robot AM. Along with these challenges, designing complicated robotic cells, scheduling the AM process tasks, and developing more sophisticated CAD slicing techniques are required to realize next-generation robotic AM. 1.3 Objectives and Scope To address the challenges introduced by the robotic manipulator in AM, the dissertation will focus on four fundamental challenges of manufacturing using robots. These fundamental capabilities will be directly applicable to the process planning for robotic additive manufacturing. 1. Develop a part placement algorithm in the manipulator workspace. The algorithm should improve the trajectory execution accuracy, keep the trajectory continuous, and satisfy the manufacturing using robot constraints. 2. Develop a tool-path planner to generate a high-quality and collision-free tool-path for man- ufacturing using robots. Due to the higher exibility provided by the manipulators, the number of tool-paths possible is very high. The algorithm needs to nd the best possible feasible tool-path in a computationally ecient manner. 3. Develop a scheme to compensate for the trajectory execution errors and improve the robot accuracy. The compensation scheme should not require running the entire robot trajectory to compensate for it. 4. Develop an algorithm to decompose the robot trajectory and place the manipulators for manufacturing using multiple robots. The decomposition minimizes the execution time and reduces the Inverse Kinematics (IK) inconsistency in robot paths. The dissertation will demonstrate the four fundamental capabilities by performing robotic ma- terial extrusion AM and robotic Wire Arc Additive Manufacturing (WAAM) applications. The dissertation will cover supportless AM and multi-resolution AM for material extrusion AM and 5 conformal AM and multi-axis AM for WAAM. This will include experimental setup design and application-specic algorithms such as Computer-Aided Design (CAD) slicing, tool-path genera- tion, defect detection, and parameter selection for these applications. 1.4 Overview The dissertation discusses the four fundamental capabilities in Chapter 2 to 6 and four applications in Chapter 7 to 10. Chapter 2 formulates the error model to optimize the trajectory placement in the manipulator workspace such that the robot accuracy is improved. Chapter 3 develops a tool-path planner to incorporate tool contact considerations for manufacturing using robots. The planner reduces the collision checks to improve the computational eciency for planning. Chapter 4 and 5 designs the compensation schemes which operates in the workspace and the conguration space of the manipulator. The scheme reduces the trajectory execution errors of the manipulator. Chapter 6 creates an optimization-based approach to decompose a trajectory between multiple manipulators and generate placement location for the manipulators to reduce the over execution time and the IK inconsistency in robot paths. Chapter 7 explains the setup, slicing, and tool- path planning for performing supportless material extrusion AM. It uses trajectory compensation scheme from Chapter 4 and 5 to improve the accuracy of built parts. Chapter 8 develops a hybrid (planar and non-planar) slicing algorithm for building multi-resolution material extrusion AM parts. It uses a tool-path planning algorithm from Chapter 3, which generates smooth and collision-free paths in a computationally ecient manner. Chapter 9 designs the application specic algorithms to perform conformal WAAM. It ultizies the placement algorithm from Chapter 2 to nd placement locations for large-scale WAAM parts. Chapter 10 creates a sensor-based approach to perform multi-axis wire arc additive manufacturing. It is necessary for using the approach developed in Chapter 6 for performing multi-robot WAAM on a tilt table. 6 Chapter 2 Part Placement Optimization for Improving Robot Accuracy 2.1 Introduction This chapter is based on my published paper [18]. Robotic manipulators are highly repeatable but not accurate. The low accuracy problem arises due to kinematic errors (e.g., link dimensions, parallelism, and orthogonality), joint errors (e.g., sensor errors), and non-kinematic errors (e.g., link stiness and gear backlash) [92]. Researchers have worked on mitigating the trajectory execution errors using a variety of techniques like machine-learned compensation schemes [5], enhanced calibration methods [141], trajectory error prediction using analytical functions [2], and improved controllers [96]. These methods improved the manipulator's accuracy throughout the workspace, but dierent manipulator workspace regions still exhibit dierent levels of errors. The underlying cause of such variability is the non-linear mapping and scaling of the articulated joint angles to the manipulator's workspace. Variability of the workspace accuracy of the manipulator can be claried by performing experi- ments at dierent workspace locations. In the experiment, I used the Yaskawa GP12 manipulator. A Yaskawa GP12 industrial manipulator has a repeatability of 0.06 mm but the accuracy is about ten times the repeatability. Yaskawa GP12 is a 6 DOF industrial manipulator with a spherical 7 Figure 2.1: Additive manufacturing the same part at three manipulator workspace locations indicated by 1, 2, and 3. (A) Conguration of the manipulator at the part build location. (B) The thin shell built part. (C) The scanned part compared to the CAD model to detect accuracy defects on the part surface. The errors are indicated in the color bar. wrist and I have mounted an AM tool mounted at the end-eector. The built part at three dier- ent Cartesian positions in the manipulator's workspace is shown in Figure 2.1. It is observed that the built part accuracy is 0.778 mm and greater than 1 mm for locations one and two. The build failed for the third location. The AM tool was pointing in the direction of gravity while building the parts. The setup uses PLA (Polylactic acid) material to build the parts with a constant velocity of 12 mm/s. The parts are being scanned and compared to the CAD model to calculate the accuracy using the Hexagon Absolute ROMER Arm with an integrated laser scanner with a volumetric accuracy of +/- 0.051mm. The experiments provided evidence that the built part accuracy depends on where the part is placed in the manipulator workspace. This chapter introduces a method to optimize the part placement location (position and ori- entation) in the manipulator workspace to improve robot accuracy. The method addresses two challenges. First, key factors aecting the trajectory execution error in the manipulator workspace have been identied. The non-linear mapping of the conguration space variables on trajectory 8 execution error in the manipulator workspace has been analytically modeled and validated with experiments. Second, a non-linear optimization method has been developed to minimize the modeled error by appropriately placing the part in the manipulator workspace while meeting the process and robot constraints. 2.2 Related Work The idea of part placement such that the robotic manipulator's trajectory execution error is reduced has been there for a few decades. Ji and Wang discuss part placement for machining in their review paper [86]. They talk about the stiness performance maps and the deformation maps of an industrial manipulator. These maps are useful to place the parts such that high accuracy machining is possible. They refer to Lin et al., who have developed an optimization methodology for 6 DOF industrial manipulator part placement [121]. Lin et al. follow a three-step approach, (1) determine the deformation evaluation index, (2) build a kinematic performance map, and (3) minimize the accuracy error for machining. Gotlih et al. explain the simplicity of part placement for CNC (computer numerical control) machines due to well-dened accuracy [66]. They compare it with industrial manipulators, whose accuracy map is complex. They divide the manipulator workspace into areas that have constant milling accuracy and gradually decreasing milling accuracy. Finally, they use a genetic algorithm to nd a suitable workspace location for high-accuracy milling. Caro et al. demonstrate the workpiece placement optimization for machining operations using a 6 DOF manipulator [34, 46]. They use the manipulator's elastostatic model, and the cutting forces exerted on the tool to formulate and solve the placement problem. Vosniakos and Matsas work on the robot placement problem to improve the milling feasibility [186]. They do it by increasing the manipulator kinematic and dynamic manipulability using the rst genetic algorithm. The second genetic algorithm reduces the joint torques for the milling 9 operation. Sapmaz and Tune determine the milling workpiece location using the manipulator kinematics [159]. Their approach minimizes the axis movement for the axis, causing maximum errors. These state-of-art works in part placement for robotic machining work showcase the importance of part placement for manipulators. However, they are not directly applicable to applications such as robotic AM. This is because the external forces present in machining are not there such applications. This chapter takes this fundamental dierence into account while modeling the trajectory execution errors for the robotic AM. Considerable work is done in AM to optimize the build orientation for minimizing part build time, avoiding support structures, reducing the number of layers, decreasing the stair-stepping eect, and improving the accuracy of the built part [67, 167, 58, 195, 99, 21, 20, 44]. However, the mathematical model for the constraints and the objective function is based on the AM process. This is fundamentally dierent from the nature of constraints and objective function model to reduce the trajectory execution errors in robotic AM. Therefore, the optimization method for it is dierent. This method and build orientation optimization methods can work together obtain to improved built part accuracy. 2.3 Problem Formulation Given the robotic manipulator, I want to model the relation between the workspace pose error ~ X e and the location of the trajectoryT in the workspace of the manipulator. The non-linearity of the error model should be demonstrated for a simple test case, and the error model should be validated by performing a few physical experiments. Finally, I want to develop an approach to place the trajectory in the workplace of the manipulator such that the trajectory error calculated using the modeled error is minimized. 10 2.4 Approach 2.4.1 Overview The approach is divided into two parts. Section 2.4.2 models the workspace error of the robot that happens while executing a trajectory. This is error is modeled in two steps. (1) Section 2.4.2.1, the error for a general n DOF articulated manipulator is modeled. (2) Section 2.4.2.2, the error is visualized for a 3 DOF planar manipulator to understand its non-linearity. Section 2.4.3 develops an algorithm to minimize the workspace error by changing the placement location of the trajectory in the manipulator's workspace. 2.4.2 Error Modeling 2.4.2.1 General Case Forward kinematics of an articulated robotic manipulator maps the the joint angles in the con- guration space to a location in the workspace [169] as shown in Equation 2.1. ~ X =FK( ~ ) (2.1) Here, ~ = [ 1 ; 2 ;:::; n ] T is the vector containing the n joint angles and ~ X = [x;y;z;;; ] T is the vector containing the workspace position and orientation (Euler angles). Error in joint angles is represented as ~ e = [( 1 ) e ; ( 2 ) e ;:::; ( n ) e ] T . The error in the workspace pose (position and orientation ) ~ X e = [x e ;y e ;z e ; e ; e ; e ] T can be calculated using Equation 2.2. ~ X e =FK( ~ + ~ e )FK( ~ ) (2.2) 11 Let me assume, that ( i ) e for the ith joint can be represented in the generalized form given by Equation 2.3. ( i ) e =k a i +k b i i +k c i _ i +k d i i (2.3) This equation indicates that the joint error for each joint is proportional to the corresponding joint angle , joint velocity _ , and joint acceleration . Here, k a , k b , k c ,and k d are the joint error gain constants. The gains act like weights for each term. Thus the generalized error for all the joints can be written using the gain matrix K as shown in Equation 2.4. ~ e =K a ~ 1 +K b ~ +K c _ ~ +K d ~ (2.4) ~ 1 = [1; 1;:::; 1] T 1n K = 2 6 6 6 6 6 6 6 6 6 6 4 k 1 0 0 0 k 2 0 . . . . . . . . . . . . 0 0 k n 3 7 7 7 7 7 7 7 7 7 7 5 _ ~ = [ _ 1 ; _ 2 ;:::; _ n ] T ~ = [ 1 ; 2 ;:::; n ] T I explain the generalized joint error Equation 2.4 term by term. The rst term, K a ~ 1 arises due to the joint resolution error caused by sensors plus motors, and the angular errors occurred while calibrating the DH (Denavit{Hartenberg) parameters of the manipulator [39]. The second term, K b ~ , is caused by the drive de ection and gear backlash. The third K c _ ~ and the fourth terms K d ~ occur due to the controller errors [30, 23]. So, it important to gure out which errors aect the most and which errors are negligible for an application using the industrial 12 manipulator. It allows me to place the part in the manipulator workspace such that the lowest trajectory execution error is achieved. Industrial manipulators used for manufacturing are highly repeatable, and they do not have joint errors which violate the high repeatability. The errors caused by the drive de ection and gear backlash are uncertain. If these errors are signicant, the repeatability of the manipulator is compromised. So, these joint errors are minimal and can be ignored for industrial manipulators. This leads to the Equation 2.5. ~ e =K a ~ 1 +K c _ ~ +K d ~ (2.5) Moreover, in additive manufacturing, the material is deposited at a constant and low workspace speed. Provided that the part trajectory is not placed close to manipulator singularity I can assume that the joint acceleration while building the part is not prominent. Thus, the joint errors caused by acceleration can be ignored. The nal joint errors are represented using Equation 2.6 ~ e =K a ~ 1 +K c _ ~ (2.6) I can relate the joint velocity _ ~ to the workspace velocity _ ~ X = [ _ x; _ y; _ z; _ ; _ ; _ ] T using the Jacobian J of the manipulator [169]. This relation is given by Equation 2.7. _ ~ X =J _ ~ (2.7) For innitesimal joint movement ~ and in unit time, the Equation 2.7 can be written as Equation 2.8. ~ X =J ~ (2.8) 13 Using this relation and assuming ~ ~ e and innitesimal workspace movement ~ X ~ X e , the Equation 2.2 can be written as Equation 2.9. This is a valid assumption considering the error in the joint angles is innitesimal. ~ X e =J ~ e (2.9) ~ X e =J (K a ~ 1 +K c _ ~ ) ~ X e =JK a ~ 1 +JK c _ ~ (2.10) Using Equation 2.7 and assuming k 1 =k 2 =::: =k n =k, it can written. ~ X e =J (k a I) ~ 1 +J (k c I) (J 1 _ ~ X) ~ X e =k a J ~ 1 +k c JJ 1 _ ~ X ~ X e =k a J ~ 1 +k c _ ~ X (2.11) Under the assumption K = kI, where I is an identity matrix, The workspace error is directly proportional to the workspace velocities. However, in industrial manipulators, the assumption for the gain K =kI does not hold. This is because each joint has a dierent error gain. 2.4.2.2 3 DOF Manipulator Consider a 3 DOF planar articulated manipulator, as shown in Figure 2.2. The manipulator is controlled by joint angles ~ = [ 1 ; 2 ;] T . The robot's forward kinematics can map the joint angles to the workspace location ~ X = [x;y;] T . The planar 3 DOF manipulator's kinematics is analogous to 6 DOF spherical industrial manipulator where the rst three joint angles of the arm determine the position of the end-eector, and the last there joint angles of the spherical wrist 14 Figure 2.2: The 2D Cartesian workspace of a 3 DOF planar manipulator. The orange highlighted workspace encompasses all the possible (x 0 ;y 0 ) positions of the white point located at the joint between link 2 and link 3. The (x 0 ;y 0 ) position is controlled by the 1 and 2 joint angles. Joint angle does not aect the Cartesian position. All dimensions are in mm. determine the orientation. The 2D workspace envelope for the 3 DOF manipulator is shown in Figure 2.2. ~ X =FK( ~ ) [x;y;] T =FK([ 1 ; 2 ;] T ) The value of does not aect the Cartesian location of the planar manipulator. By removing from the forward kinematics relation. [x;y] T =FK([ 1 ; 2 ] T ) 15 Figure 2.3: The workspace error map for dierent type of joint errors. (A) Constant joint error map generated using error Equation 2.14. (B) Joint velocity error map generated using error Equation 2.15. (C) Total error calculated using Equation 2.13. The error color maps are normal- ized as they are for understanding the relative error distribution in the manipulator workspace. All dimensions are in mm. Using Equation 2.6, the joint error for the rst two joints of the 3 DOF manipulator can be written as Equation 2.12. 2 6 6 4 ( 1 ) e ( 2 ) e 3 7 7 5 =K a 2 6 6 4 1 1 3 7 7 5 +K c 2 6 6 4 _ 1 _ 2 3 7 7 5 (2.12) ~ e = ~ a e + ~ c e I use Equation 2.9 to calculate the workspace position errors for the 3 DOF manipulator. ~ X e =J ~ e ~ X e =J ( ~ a e + ~ c e ) ~ X e =J ~ a e +J ~ c e ~ X e = ~ X a e + ~ X c e (2.13) ~ X a e =J ~ a e (2.14) ~ X c e =J ~ c e (2.15) 16 Figure 2.4: Illustration of three AM part locations with the hatching trajectory [63] in the same direction as the velocity. The location of the part aects the maximum trajectory execution error and the part accuracy. All dimensions are in mm. Here, Equation 2.13 is the total workpace error ~ X e . The total workspace error is the sum of the workspace error caused by the constant joint errors ~ X a e and the workspace errors caused by the joint velocity ~ X c e . The chapter visualizes these errors by calculating them over the entire workspace. Figure 2.3A maps ~ X a e for k a 1 = 0:75 and k a 2 = 0:25. Figure 2.3B maps ~ X c e for k c 1 = 2 and k c 2 = 1. The workspace velocity for the joint velocity error is xed to _ ~ X = [5 cos(45 );5 sin(45 )] T mm/s. Figure 2.3C maps the total workspace error calculated using Equation 2.13. Using the 3 DOF manipulator's full error map, I can decide the part location for AM to get low trajectory execution error and high part accuracy. As shown in Figure 2.4, consider the three placement locations of the AM part. The part has the AM trajectory such that the hatching has the same velocity as the one used to generate the error map. It can be seen that placement 1 has the highest errors, followed by placement 2 and placement 3. So, a better AM part accuracy can be obtained by building at placement 3. This is made possible by the workspace mapping of the joint errors. 17 2.4.3 Algorithm for Determining Part Placement It is easy to map workspace errors for a 3 DOF planar manipulator in the entire workspace for a xed velocity. Robotic AM requires me to operate higher DOF manipulators at varying velocities to attain the desired exibility. Typically robotic AM uses 6 DOF manipulators with spherical wrist [24]. A 6 DOF manipulator provides the necessary exibility to build an AM part [93]. Using 7 DOF redundant manipulator is not preferred in AM as it compromises the repeatability of the manipulator. If the manipulator is not repeatable, the algorithm cannot reduce its trajectory execution error. However, the part placement algorithm is scalable for a 7 DOF articulated manipulator and can be used for any manufacturing application with robots. The AM part to be built by the manipulator is represented in terms of waypoints W = f~ w 1 ;~ w 2 ;:::~ w m g. Here, m is the number of waypoints and ~ w i = [x i ;y i ;z i ; i ; i ; i ] T is the ith waypoint. These waypoints are represented with respect to the part origin. To build the part, the waypoints are transformed into the manipulator workspace using a homogeneous transformation matrix. The algorithm represents a possible transformation in the workspace of the manipulator by H. The transformation is a function of the manipulator joint angles to guarantee that the transformed waypoints' origin is within the workspace. The mapping is not one-to-one. The part placement algorithm wants to nd a location for the part in the manipulator workspace such that the build accuracy is improved. The algorithm denes built part accuracy as the maximum error that occurred while executing the manipulator trajectory containing the way- pointsW transformed to a location in the workspace. Let me annotate the manipulator trajectory asT(H) =f ~ 1 ; ~ 2 ;:::; ~ m g. This trajectory is calculated by solving the inverse kinematics of the manipulator [169, 154]. The time step between two consecutive congurations of the trajectory is determined using the AM speeds and the distance between the two waypoints. Now, using Equa- tion 2.10, the algorithm can determine the workspace error ( ~ X e ) i = [( ~ P e ) i ; ( ~ O e ) i ] T for theith con- guration of the trajectory. Here, ~ P e is the position error ( ~ P = [x;y;z] T ) and ~ O e is the orientation 18 error ( ~ O = [;; ] T ). Since the eect of orientation error on the built part accuracy is minimal, the algorithm only considers the position error. Thus, ( ~ P e ) max = max(( ~ P e ) i ) 8i = 1; 2;:::;m is the built part accuracy for that part location. To improve the built part accuracy, the algorithm needs to nd a location that minimizes ( ~ P e ) max . As mentioned before, a location in the workspace can be represented using the trans- formation H. The algorithm wants to nd a transformation H such that ( ~ P e ) max is minimized. All the transformations in the manipulator workspace are a function of the manipulator joint angles. The mapping is not one-to-one. So the algorithm can nd a manipulator joint angle conguration ~ such that H =FK( ~ ) minimizes ( ~ P e ) max . The minimization problem needs a few constraints to generate a correct solution. This section denes each of these constraints. 1. Reachability: The reachability constraint is an equality constraint that checks whether all the m transformed waypoints are reachable by the manipulator. This is a necessary condition for the trajectory to exist at the H transformation. Moreover, the reachability constraints ensures that all the congurations in the trajectory are with the joint limits i.e., ~ lb ~ ~ ub . Here, ~ lb is the lower joint angle limit, and ~ ub is the upper joint angle limit of the manipulator. 2. C ollision: The collision constraint is also an equality constraint to ensure no collisions at the AM part placement location. It should always be equal to false. The collision check is done by assuming the objects to be bounded using bounding boxes. For example, each link of the manipulator is bounded using bounding boxes. In the AM setup, the collision check is done between the manipulator, AM tool, manipulator pedestal, and the ground surface. 3. Gravity: In AM, the direction of gravity is a crucial factor. Suppose the build direction is not oriented correctly (parallel or limited by an angle) with the gravity vector. In that case, the material is deposited from the AM tool may sag under gravitational force. To 19 avoid this, the algorithm ensures this inequality constraint constrains all the viable part placement locations' build direction. 4. Path consistency: Path consistency for a manipulator trajectory means that there are no sudden conguration changes, which could lead to part failure in AM. It is an inequality constraint. The algorithm takes two steps to keep the path consistent. The rst step is to make sure _ ~ _ ~ max . Here, _ ~ max is the max speed for the joints of the manipulator. The second step is to avoid manipulator singularity. The manipulability index is kept higher than some positive value to avoid the singularity [210]. Thus the path consistency is conserved. The section has dened the error objective function to be minimized and the constraint to be satised. Now it formulates the problem as a non-linear constrained optimization problem. min ( ~ P e ( ~ )) max g l ( ~ ) =c l 8l = 1; 2;::: h k ( ~ )d k 8k = 1; 2;::: Here, g l ( ~ ) =c l are the equality constraints and h k ( ~ )d k are the inequality constraints. Thus, the part placement algorithm is a bounded and constrained non-linear optimization. 2.5 Results 2.5.1 Error Validation This chapter validates the error by generating ( ~ P e ) max for the experimented part locations shown in Figure 2.1. As seen in Equation 2.10, the approach obtains _ ~ using the part trajectoryT(H). The joint error gains are set to k a i = (n (i 1))=(n 100) 8i = 1;:::; 6, k c i = 1=(i 10 20 Figure 2.5: The minimum error placement to build the part experimented in Figure 2.1. ( _ i ) max ) 8i = 1;:::; 3, and k c i = 1=(3 10 ( _ i ) max ) 8i = 4;:::; 6. Here, the number of joints n = 6 and ( _ i ) max is the maximum joint motor speed for the ith joint. These values of the joint error gains are obtained by trial and error. For the true actual joint error values, the gains should be obtained experimentally for each manipulator. Figure ~ X o (mm) ( ~ P e ) max (mm) 2.1(1A) [105;772; 507; 0; 0; 0] T 0.37 2.1(2A) [22;786;283; 0; 0; 0] T 0.37 2.1(3A) [550;1124; 61; 0; 0; 0] T 0.46 2.5 [52; 95; 556; 0; 0; 0] T 0.25 Table 2.1: The table is indicating the gure of the placement setup, the part origin location represented in the workspace space of manipulator ~ X o , and the norm of maximum workspace error for executing the AM trajectory at the part location. The generated ( ~ P e ) max for the experimented part locations for a given part seen in Figure 2.1 is enumerated in Table 2.1. By comparing the printed part and the error color map with the ( ~ P e ) max values in the Table, it can be seen that the part is failing when the predicted error is 0:46 mm and is built successfully when the error is 0:37 mm. This data is consistent with the expected behavior for a 1.2 mm nozzle. The part will fail at a 0.6 mm error and is expected to be successful at a 0.3 mm error. By minimizing the predicted error, the algorithm can increase the probability of a successful build. The errors in the color map of Figure 2.1 are cumulative 21 Figure 2.6: The three test cases showing the optimal part placement along with the manipulator conguration for building the AM parts. errors of the trajectory execution and the AM process. Thus, it is safe to assume the error given by Equation 2.13 for the part placement algorithm. I calculate the optimal part position for the experimented AM part using the algorithm. The part origin location represented in the workspace space of the manipulator ~ X o and the ( ~ P e ) max are listed in the last row of the Table 2.1. Figure 2.5 shows the optimal part position in the workspace of the Yaskawa GP12 manipulator. This placement setup is visualized using the RoboDk robot simulation software. The orientation for the part placement is xed to match the experiments. 2.5.2 AM Part Placement This chapter tests the AM part placement algorithm by generating the part placement location for three parts and an ABB IRB 4600/40 manipulator. The algorithm applies to any articulated robotic manipulator. The three optimal part placements, along with the manipulator congura- tion, are seen in Figure 2.6(R), (G), and (B). The part (R) is allowed to make an angle up to =4 rad with the gravity (6 DOF), the part (B) needs to be aligned with the gravity vector (4 DOF), and the part (G) is radially symmetric the algorithm does not reorient it in the placement algorithm (3DOF). The placement scenes are visualized in the Webots robot simulator [137]. 22 I implement the part placement optimization algorithm using the C++ language. The opti- mization is performed using the NLopt library [91], and the manipulator kinematics are performed using the robotics library [155]. The optimizer uses the COBYLA (Constrained Optimization BY Linear Approximations) algorithm [153] to minimize the workspace errors by perturbing the part location in the conguration space of the manipulator. The COBYLA algorithm has the advan- tage of being gradient-free. This is benecial for the approach as the gradient calculations can be tricky and dependent on dierent manipulators. The initial seed to the placement algorithm ~ seed is [0; 0; 0; 0;; 0] T rad, and the tolerance while optimizing the part location in the conguration space of the manipulator ~ is set to 10 2 rad. The three dierent AM parts' path to be printed using AM is generated using slicing algo- rithms. The part in Figure 2.6(R) is sliced using a conformal slicing algorithm [13]. The part in Figure 2.6(G) and (B) is sliced using a radial slicing algorithm [21, 20]. The path uses a nozzle diameter of 8 mm. The trajectories have a constant speed of 10 mm/s. Figure Waypoints ~ X o ( ~ P e ) seed max ( ~ P e ) opt max Reduction Computation Iterations Part (mm, rad) (mm) (mm) (%) time (s) DOF 2.6(R) 1406 [126; 1235; 1325; 0.66 0.54 18.2 148 67 6 0:07;0:23;2:11] T 2.6(G) 1740 [77; 1015;87; 0.82 0.65 20.7 193 66 3 0:00; 0:00; 0:00] T 2.6(B) 1320 [627;787;413; 0.80 0.60 25.0 222 83 4 0:00; 0:00;2:13] T Table 2.2: The table is indicating optimal part placement gures, number of waypoints in the AM part building trajectory, the optimal location of the part origin represented in the workspace space of the manipulator, initial error, optimized error, percentage reduction in error, the computation time for the optimal placement, the number of iterations in the computation, and the allowed part DOF in the workspace of a 6 DOF manipulator. The details about the algorithm run for the three AM part placement problems are enumerated in Table 2.2. As seen in the table the maximum of the trajectory execution error ( ~ P e ) opt max at the optimized location is lower than the maximum error ( ~ P e ) seed max at the seed location. The reduction is from 18:2 % to 25 %. The reduction is achieved in a computationally ecient manner. All 23 the generated optimal part location trajectories are reachable, free of any collisions, satisfy the gravity constraint, and have path consistency. Thus, the part placement algorithm is capable of nding low error AM part building locations 2.6 Summary Experimental results and analytical derivation for robotic AM showed me that a small built part's accuracy is signicantly aected by its placement in the manipulator's workspace. The trajectory execution error is majorly controlled by the kinematic conguration and the controller lag error while executing the trajectory to build the part. A non-linear optimization approach can minimize the maximum trajectory execution error for a 6 DOF search space in a computationally ecient manner. This enables me to improve the accuracy of manufaturing using robots. 24 Chapter 3 Tool-Path Planning for Incorporating Tool Contact Considerations 3.1 Introduction This chapter is based on my published paper [11]. Researchers are tackling the problem of man- ufacturing using robot for individual applications such as grinding or polishing. Their approach mainly involves generating the path on the part using the model data. Few of them consider the tool model data for evaluating the contact kinematics between the tool and the part, check the collisions between the tool and the part, and slightly modify the tool-path to avoid the collision. Finally, they deploy the manipulator trajectory planner to generate collision-free trajectories. The drawback of such an approach is that the tool contact geometry is not fully utilized, and the tool-path generation fails when the part geometry is complex (see Figure 3.1). The failure occurs because the manipulator trajectory planner constraints the tool to have a single point of contact and tries to nd a solution by reorienting the tool about that contact point. A human manually programs manipulators for the same manufacturing using robot by fully utilizing the tool contact geometry. In other words, human uses multiple tool contact considerations or multiple tool center points while programming the manipulators, which allows using its exibility fully. This results in 25 Figure 3.1: Manufacturing using robot on a geometrically complex part [94]. a simple tool-path for a complex part geometry. However, manually programming the manipula- tor is laborious and time-consuming. My objective is to automatically generate tool-path as close to what humans can manually program for manufacturing using robot of geometrically complex parts. This chapter's approach for manufacturing using robot encircles around the tool geometry. The tool geometry is analyzed by the human to select the possible contact surfaces of the tool. These surfaces are discretized to generate tool contact considerations for the tool-path planning algorithm. So instead of treating the tool to have a single and xed TCP, the algorithm allows it to have multiple TCPs [14]. These TCPs can be interchangeably used to make contact with the geometrically complex part to generate the collision-free tool-path. The algorithm solves the problem of selecting the set of best TCPs (on the tool contact surface) for tracing a curve on the complex part surface. The generated congurations of the tool along the curve are the tool-path for manufacturing using robot. The tool-path planning algorithm described in this chapter showcases three novel features: (1) The high-quality tool-path for manufacturing using robot of the geometrically complex part 26 is achieved with a considerably reduced number of collision checks. This reduces the run time of the algorithm. (2) The algorithm is scalable for the increased number of TCPs dened over the tool contact surface. These TCPs are automatically generated rather than having a human place them while modeling the tool. (3) The algorithm incorporates a collision check module with no approximation of the part or the tool model (an approximation of a model is generally made by representing a complex shape or surface with multiple simpler shapes or planes), which enables the algorithm to generate a path for constrained and complex part geometries. 3.2 Related Work The tool-path planning algorithm discussed in the chapter is meant for manipulators. It will be applicable for performing manufacturing using robots using a tool to trace curves on a geometri- cally complex part surface. In this section, we discuss the work in which tool-paths are generated for manipulators performing manufacturing using robots. This chapter does not include the research done in tool-path planning for manipulators without contact with the part (e.g., robotic spray painting) and pick-and-place operations. Murphy et al. published one of the earliest works in manipulator tool-path planning. They used the data of the CAD model to provide an initial path to the manipulator. The rst path was corrected using force feedback to obtain the nal tool-path for the manipulator [139]. Since then, researchers have been involved in developing tool-path planning algorithms for manufacturing using robots, and this chapter covers a few of these relevant research work. Lyu et al. have a new method of robot tool-path generation by using bounding box tree and kd-tree algorithms. Their method uses mesh to mesh intersection to generate the desired 3D curve on the part. They also integrated their algorithm in an oine robot programming system [125]. Zhen et al. have used the method of point cloud projection to generate the tool-path on a surface. Then they solve the robot inverse kinematics with collision to generate the robot path [225]. Li et al. build the topology 27 relation between triangular facets of the part CAD mesh. The extracted data is used by their system to generate the tool-path for robotic polishing [116]. Zhang and Su have devised a new algorithm to generate collision-free tool-path for robot belt grinding. Their algorithm is simple, stable, and easy to use for engineering applications [217]. Mineo et al. understood the issue of approximation in using CAD mesh to generate the tool-paths directly. They introduced a novel mesh following technique in their software to generate approximation free tool-path trajectories for robotic manipulators [138]. Liu et al. have proposed a method that classies the part into dierent types of surfaces. Then their tool-path planning algorithm generates the tool-path for performing robotic polishing operation [123]. Ding et al. perform wire and arc additive manufacturing using industrial manipulators. For this, they have utilized the part model data to build the medial axis transformation of the part. Then they perform further tool-path planning to inll the part [42]. Tsai et al. have used machine vision to determine the weld seam to perform welding. The detected weld seam points are ltered, and their tool-path planning algorithm generates the path for the robotic welding system [181]. Wei and Chao have considered the wide area of contact in belt grinding. Using contact kinematics between the tool and the curved part, they have generated the tool-path to perform robotic belt grinding [193]. Zhao et al. have used the CAD model of the part to generate the curves to be traced for blade grinding. The tool-paths are utilized in physical experiments using a blade grinding robot [223]. Tsai et al. implemented a tool-path planner for an automated mold polishing system which generates the proper path according to the features of the part and satisfying the collision constraints [182]. Apart from these, some other works such as guided surface manufacturing [35], robotic turbine vane airfoil repair [81, 80], robotic sheet lamination [28], robotic material extrusion [13], and robotic surface nishing [191] deal with automated tool-path planning for manipulators. Among the reviewed manipulator tool-path planning algorithms, very few algorithms consider the tool to have a surface contact while generating manipulator trajectory. Most of them check for the collision during the robot trajectory generation stage and not during the tool-path generation 28 Figure 3.2: The geometrically complex parts with the highlighted (white)S andF WP to perform manufacturing using robot. The parts are labelled as WP1, WP2, WP3, and WP4 respectively. stage. The algorithms do not exploit the available tool contact considerations and the degrees of freedom of the tool to make the tool-path as ecient as possible. This chapter addresses these problems in our tool-path planning algorithm with incorporated tool contact considerations. 3.3 Problem Formulation Given a geometrically complex CAD model of the partC on which the tool has to perform a manufacturing using robot, the CAD model of the toolT, and the path to be traced consisting of a set of coordinate framesF WP =fF 1 WP ;F 2 WP ;F 3 WP ;:::g on a surfaceS of the CAD (see Figure 3.2). The algorithm wants to generate the tool-path for carrying out the manufacturing using robot successfully. The tool-path is a set of coordinate framesF T along which the tool origin frame is moved while performing the manufacturing using robot. The algorithm to generate the tool-path is divided into three stages, as shown in Figure 3.3. • Selecting Tool Center Point (TCP) CandidatesF TCP : Rather than assuming the tool to have a single point of contact or one TCP, the algorithm considers the possible places the tool can make contact with the part for the manufacturing using robot. Using these possibilities in the form of surfaces on the tool CAD, the algorithm wants to select a set F TCP = fF 1 TCP ;F 2 TCP ;F 3 TCP ;:::g which will contain the available TCPs (contact considerations) for the tool to perform the manufacturing using robot (see Figure 3.4). 29 Figure 3.3: Illustration of the steps in out tool-path planning algorithm with incorporated tool contact considerations. • Directed Graph (D G ) Generation : With the givenF WP (path to be traced) and the TCP candidatesF TCP , the algorithm wants to generate the list of possible tool-paths to perform the manufacturing using robot. The algorithm wants to encode these possibilities in the form of a graph. Traveling from the start to the end of the graph will generate a possible tool-path (see Figure 3.5 (red highlight)). • Search and Collision Detection: From the many possibilities in the GraphD G , the algorithm wants to select a tool-path which will be of high quality for the part on which the tool is performing the manufacturing using robot. Moreover, this path should be free of any tool- part collisions, and the algorithm should be scalable with the increasing number ofF TCP . 30 3.4 Approach 3.4.1 Overview The approach is divided into four parts. Section 3.4.2 provides some background information to understand the approach. Section 3.4.3 explains the method to select the TCPs on the tool surface. Section 3.4.4 formulates a method to encode all the possible tool-paths in a directed graph. Section 3.4.5 builds an algorithm to eciently perform collision detection to search a tool-path. 3.4.2 Background The approach starts by selecting the best possible format of CAD modelC, which will make the design of the algorithm ecient and straightforward. The approach considers two types of CAD representations. The rst and most widely used representation is tessellated CAD representation. In this type of CAD format, the model surface is approximated using triangular faces. Such type of le is usually an Stereolithrography (STL) le storing the vertex, normal, and face data of the triangles [156]. The challenge in using STL format is the approximation caused by representing a surface using planar triangles and the increasing number of triangles in the mesh for a better model representation. The second representation which the approach considers is the Boundary Representation (BRep) of the model. Such model format stores the model information in the form of vertices, edges, wires, faces, shells, solids, compsolids, compounds, edge triangulations, face triangulations, polylines on triangulations, space location, and orientation. The approach can obtain the BRep model information from the Standard for the Exchange of Product model data (STEP) le format [85]. The approach uses the BRep CAD le format application to simplify the algorithm to deal with geometrically complex parts without any approximations. The C of the part in BRep format is provided as the rst input to the algorithm. Along with this, the algorithm needs the S and F WP as inputs. This is done by the human using 31 Figure 3.4: The tools with the human selected surface and the TCP candidatesF TCP to perform manufacturing using robot labelled as T1 and T2. a Graphical User Interface (GUI), which allows the human to select the topological surface on which manufacturing using robot needs to be performed. The selected topological surface is parameterized, and the generated coordinate framesF WP are provided as the curve to be traced by the tool. The snapshot of four complex geometries with the selected surface and the generated coordinate frames along the curve to be traced are shown in Figure 3.2. The human is also required to select the appropriate tool for manufacturing using robot. The CAD of the toolT is provided as the last input to the algorithm. The CAD model of two tools used in this chapter are shown in Figure 3.4. The origin coordinate frame O T of the tools are located at the point where the tool is mounted to the robot end-eector with the z-axis going inside the tool and the x and y-axis perpendicular to it. 32 3.4.3 TCP Candidates As mentioned before, the tool can make contact with the part at multiple locations rather than a single TCP. For example, in Figure 3.4, the highlighted (gray) surface on the tool CAD represents the faces on which the tool can make contact with the part. This continuous area domain gives innite locations for the tool to make contact. Solving a problem with an innite domain is hard, so the algorithm wants to discretize it to a few possible candidates. This leads me to the selection of TCP candidate problem. These TCPs will dene the possible locations where the tool can make contact with the part. The algorithm generates the TCP candidates by uniformly sampling each of the selected surfaces. The surface selection and the number of samples to be generated is achieved by human input using a GUI. The increased number of samples may allow for a better path generation but it will increase the computation time. By clicking on those surfaces, the topological surface values are stored in the algorithm. These topological surfaces are uniformly sampled along theu andv parameters to generate the points on the surface along with the normal and the x and y-axis [37]. Further, these sampled coordinate frames are rotated along their respective z-axis to generate more samples. These generated coordinate framesF TCP are the candidate TCPs that will be used to generate the tool-path for manufacturing using robot of the geometrically complex part. The candidate TCPs for two tools are shown in Figure 3.4. 3.4.4 Directed Graph Generation With the curve to be traced dened on the partF WP and the contact points dened on the tool F TCP , there are a signicant number of tool-paths possible for manufacturing using robot. The algorithm wants to encode these tool-paths in terms of a graph. Since the tool-paths will go from the start location in theF WP to the end location inF WP , the graph is a directed acyclic graph. The graph consists of the nodes, edges, and the weight to travel on those edges. The section 33 Figure 3.5: A segment representation of the the directed acyclic graphD G used by the algorithm. Here, the index i is forF WP frames and the index j is for the F TCP frames. The red highlighted arrows shows a possible tool-path though the selected nodes. denes each of them brie y. A representative segment of the graphD G used in the algorithm is shown in Figure 3.5. 1. Nodes: The nodes of graphD G for the algorithm represent a F i WP and aF j TCP frame pair. Here,i is the index for the frames inF WP , andj is the index for the frames inF TCP . The number of nodes for theD G equal to the number of frames inF WP times the number of frames inF TCP . Each node is characterized by an index and a transformationT ij N of the tool making contact with the part for manufacturing using robot. This location is represented with respect to the part origin frame and is calculated using the Equation 3.1. T ij N =T i WP (T j TCP ) 1 (3.1) Here, T i WP is the transformation matrix of a F WP with respect to the part origin, and (T j TCP ) 1 is the inverse of the transformation matrix of a frame inF TCP with respect to the tool origin. 2. Edges: The edges are the connections between the nodes. They are the means to travel from one node to another. InD G , the edges are directed, which means the tool can travel on the edges in only one direction. In a directed graph, the edge connections are made in a specic 34 manner. As seen in Figure 3.5, the connections are made from a F i WP andF j TCP pair to all the possible pairs of F i+1 WP and the frames inF TCP . This means that in the tool-path, the tool cannot change the TCP on a xed frame on the curve. It needs to travel to the next frame on the curve to change the tool contact frame. The number of edges in theD G is equal to the number of frames inF WP minus one times the square of the number of frames inF TCP . 3. Weights: The weights of the edges dene the cost to travel from one node to another. In D G , the directed edges can have two types of weights i.e., W 1 and W 2 . These two weights for a edge from node n to m are annotated in the Equations 3.2 and 3.3 respectively. W 1 =abs(cos 1 ((~ z m ~ ee)=(jj~ z m jjjj~ eejj))=(2)) (3.2) W 2 =jj(x m x n ;y m y n ;z m z n )jj + (3 (~ x m ~ x n +~ y m ~ y n +~ z m ~ z n ))=(3) (3.3) Here, x, y, and z are the translation components obtained from the T N matrix. The~ x,~ y, and ~ z are the vectorial part of T N and () is the dot product operator. The ~ ee is a xed direction vector in the part origin frame. The direction of ~ ee is decided by the human on the basis of the most probable direction of the end-eector holding the tool for manufacturing using robot. It is constant for all the nodes, and it allows me to keep the tool oriented in close to a particular direction. This is very helpful for the robot trajectory planning as the end-eector doesn't have to deviate a lot from the xed vector. It can be varied for a group of nodes it a extremely complex part. The weight W 1 allows the robot to be reachable along the tool-path. The weight W 2 is for reducing the abrupt change in tool position and orientation. W 2 endorses a smooth and continuous tool-path. 35 3.4.5 Search and Collision Detection This section explores three types of collision detection. (1) Euclidean Distance Transform (EDT), (2) Mesh to mesh, and (3) Geometry based collision detection . EDT based collision detection works by rst transforming the part CAD to an approximated voxelized EDT map [14, 57, 104]. Then the tool is approximated using simple geometric shapes such as spheres. The collision is detected if there is an intersection between the occupied voxels and the spheres. The second method which this section explored is the Flexible Collision Library (FCL) for the mesh to mesh collision [145]. It works by detecting the intersections between the mesh of the part and the tool. The third and nal collision detection method, which this section explored is the geometry-based collision detection. In this method, the distance between the topological surfaces of the part BRep and the tool BRep is calculated. If the distance is less than zero, then they are colliding. Since in any manufacturing using robot, the tool moves in close contact with the part, the algorithm needs a collision detection approach with the least approximation. Since both the EDT and FCL collision detection rely on CAD approximation, I choose geometry-based collision detection for the algorithm. The only drawback of having geometry-based collision detection is expensive computation time. The algorithm has encoded all the possible tool-paths in the generatedD G . Each of theD G is for a tool-part pair. To nd a high-quality tool-path, the planner needs to perform a search operation on the graph. High-quality refers to a tool-path which will have a high possibility of generating a kinematically feasible manipulator trajectory. This section explores three types of search algorithms for the planner. The rst one is the Flloyd-Warshall algorithm [53], the second one is the Bellman-Ford algorithm [9, 55], and the third one is the Dijkstra algorithm [41]. All these three algorithms are the shortest path algorithms to yield high-quality tool-path. The Flloyd-Warshall algorithm would have been the best if the planner had to nd the shortest path between all the nodes of theD G . Since the planner will have well-dened start nodes and 36 end nodes in theD G , it does not need to evaluate the shortest path between all the nodes. The Bellman-Ford shortest path algorithm is useful if there are negative weights in theD G , and the planner needs to detect the negative cycles in theD G . Since the weights, W 1 and W 2 dened for theD G are always positive; there is no use of Bellman-Ford in the planner. So the planner uses the Dijkstra shortest path search algorithm to compute high-quality tool-path over the part surface. The Planning Algorithm: 1. The rst step in the planning algorithm is ltering and selecting the best start and target node. All the nodes formed using F 1 WP and F end WP qualify as start nodes and target nodes, respectively. All these nodes are checked for the collision between the tool and the part by transforming the tool with respect to O WP using T 1j N for the start nodes and T endj N for the target nodes. Here,j represents the index of the tool TCPs. The nodes causing collision are removed from the start and target node list. For the weight W 1 , the planner can calculate the cost to go to the node from an undened node using Equation 3.2. So the planner selects the not colliding start node and the target node with the least W 1 weight. 2. In the second step, the planner run the Dijkstra shortest path algorithm for the selected start node and target node over theD G . The total weight of the path and the path nodes for the shortest path are stored. 3. The collision check over the shortest path is done in the third step. In this step, the planner goes over each of the nodes in the shortest path and checks for the collision. If a collision is found at the node, then the weight of all the edges connecting to that node are increased by some nite value, considerably greater than the current edge weight (e.g., 10 7 ). The planner uses nite value rather than keeping it innite because it allows me to keep track of the number of collisions in the path and select the path with the least number of collisions (if 37 Workpiece Curve Tool TCPs D G Search and Total Frames Nodes Edges Generation Time (s) Collision Time (s) time(s) WP1 504 T1 56 28,224 1,577,408 66.50 224.90 291.40 WP2 324 T2 80 25,920 2,067,200 88.71 203.85 292.56 WP3 312 T2 80 24,960 1,990,400 84.49 529.22 613.71 WP4 324 T1 56 18,144 1,012,928 43.08 72.71 115.79 Table 3.1: The geometrically complex part curve frames, TCPs,D G nodes, edges, and the time to generate the graph and run the algorithm. a collision-free path is not available). The visited nodes are stored. If the algorithm ever revisits a node, the collision is not rechecked. 4. The fourth and nal step is a decision step. If there are no collisions detected in the shortest path during the third step, the path is the high-quality tool-path for the designed edge weight (the planner exits). If there are collisions detected in the third step, those colliding nodes have been updated with increased edge weight. Even with the collisions, the algorithm checks if the path nodes have been visited in the past. If they have, then the shortest path returned is indeed the shortest path with the least number of collisions. The planner removes the nodes, causing a collision by joining the closest, not colliding nodes, and exits with the shortest path. If the nodes are not visited in the past, the planner returns to step two. Thus, the planning algorithm showcases the novel ability to reduce the number of collision checks to generate a high-quality tool-path for the selected weight. 3.5 Results The chapter tests the algorithm on four geometrically complex parts. The four geometrical com- plex parts with the curve to be traced are shown in Figure 3.2 WP1, WP2, WP3, and WP4. The geometrically complex parts to test the ability of the algorithm. The conventional tool-path 38 Figure 3.6: The snapshots of the tool-path simulation generated by the algorithm for WP1 and T1 with the human dened ~ ee for the weight W 1 . Figure 3.7: The snapshots of the tool-path simulation generated by the algorithm for WP2 and T2 with the human dened ~ ee for the weight W 1 . 39 Figure 3.8: The snapshots of the tool-path simulation generated by the algorithm for WP3 and T4 with the human dened ~ ee for the weight W 1 . Figure 3.9: The snapshots of the tool-path simulation generated by the algorithm for WP4 and T1 with the human dened ~ ee for the weight W 1 . 40 planning algorithm with a single TCP will not be able to generate the tool-path to perform manu- facturing using robot on these parts. The two tools used by me for the tool-path planning are also shown in Figure 3.4 T1 and T2. The candidate TCPs are plotted on the tool CADs. With a large number of TCPs, the algorithm will be able to generate a high-quality path. But the problem becomes complex and computationally expensive. This chapter tests that if the algorithm is able to handle the complexity and generate a result in tractable run time. As discussed in Section 3.4, I can generate graphs using the weights W 1 andW 2 for the edges. On testing, I observed that the planners took longer, and more calls to the collision were made to nd a high-quality solution for the tool-path using the weight W 2 for all cases. This happened because the search explored the unexplored nodes to maintain continuity. These caused more collision checks, plus there were chances that all the tool orientations might not be reachable by the manipulator for manufacturing using robot. So I preferred W 1 weight over the W 2 weight for generating the numerical results as it made more sense for engineering applications. In the tests, I implement the algorithm using Python scripting language and the Open Cascade and Networkx libraries [149, 69]. The computation and the simulation of the tool-path planning algorithm were done on an Intel i7 quad-core processor with 32 GB RAM and running a Windows operating system. The simulation snapshots of the tool-path generated by the algorithm is shown in Figures 3.6, 3.7, 3.8, and 3.9. In each of the test cases, weightW 1 is used. The direction of ~ ee is shown in each of the test case gures. As seen in the snapshots, the generated tool-path exploits the entire contact surface of the tool to generate the collision-free tool path. These tool-paths are comparable to the one performed by humans to program manufacturing using robot. Table 3.1 enumerates theD G details and the algorithm run time. To benchmark the time improvement in the approach, I compare it to a previously published algorithm [14]. As seen in the table, each of the test cases has more than one millionD G edges. Each transformation and accurate geometric collision check takes about 0:02 seconds per call. With the geometric collision check, the previous algorithm which evaluates collision at each edge will take 20000 seconds for 41 just one million edges. So the previous algorithm is not scalable. This algorithm reduces the number of collision calls and generates a high-quality tool-path within a few minutes. 3.6 Summary This chapter presents a method for incorporating tool contact considerations in the tool-path planning algorithm for manufacturing using robot. It has demonstrated that the algorithm can avoid approximation for performing tool-path planning on a geometrically complex part using the BRep CAD format. The tool contact consideration in terms of the TCP candidates allowed me to exploit the entire tool contact surface for manufacturing using robot. The multiple possible tool- paths generated due to the TCP candidates can be encoded in a directed graph. The ecient use of collision checking on the tool-path generated by the Dijkstra algorithm allowed me to converge to the high-quality tool-path quickly. Manufacturing using robot can be easily automated with the tool-path planning algorithm. The high-quality tool-paths for manufacturing using robot are generated in a matter of minutes. 42 Chapter 4 Workspace Compensation Scheme for Reducing Manipulator Execution Errors 4.1 Introduction This chapter is based on my published paper [30]. The repeatability of a robot measures how precisely the robot can return to a previously visited (or taught) workspace conguration (e.g., end-eector position and orientation) under the same loading conguration. When an industrial manipulator moves under a given loading conguration using feedback control, it does not ex- perience unexpected disturbances in a controlled setting such as a typical factory oor or oce environment. Therefore, executing the same motion command leads to the same outcome in terms of the joint trajectories. Most industrial manipulators have excellent repeatability as they can return to the same workspace conguration with low error. The accuracy of a robot measures how accurately a robot can reach a specied workspace conguration. This requires inverse kinematics calculations to compute the joint angles and using a feedback controller to achieve the desired joint values. The kinematic errors (e.g., link dimensions, parallelism, orthogonality errors, etc.), joint errors (e.g., sensor errors, etc.), and the non-kinematic errors (e.g., link stiness, gear backlash, etc.) [92] of the robot result in deviation from the desired end-eector conguration. Such deviation is considered as a path error and 43 accuracy is a measure of this error. Moreover, when the robot is tracking a trajectory, there can be a delay in the robot reaching a conguration due to the controller. To avoid oscillations, PID ( proportional{integral{derivative) controllers used in the robot often operate in the over- damped regime, and this leads to sluggish tracking performance. The time delay in reaching a conguration is considered as the trajectory tracking error. For most industrial robots, repeatability is signicantly better than accuracy. The most com- mon way of programming robots in the industry today is to use a teach pendant to manually guide the robot to the desired conguration and record the joint angles associated with the de- sired congurations. The recorded congurations are then played back during the execution. This mode of operation leverages the high repeatability of the robots and circumvents the problem of low-accuracy when directly tracking computed trajectories. However, in many applications such as additive manufacturing with robots [15], robotic nishing [93], robotic composite layup [132], or mobile manipulation [176, 177, 95, 40] robot trajectories are often needed to be automatically generated through either scanning or a CAD le. These trajectories often require manual re- nement. This is not economically viable on low production volume applications. Consider the example of engraving a circular pattern on a moving workpiece (see Figure 4.1). The reference trajectory shown in Figure 4.1 was used to perform this operation. Figure 4.1 shows that due to execution error there is a large defect in the circle. And I need automated trajectory compensation methods. In machine tools and 3D printers, context-independent compensation methods are developed that can correct the computed trajectories to account for variability in the hardware accurately. This chapter uses the term context-independent because the compensation method works well for a wide variety of trajectories and workpiece positions (e.g., the context-independent DH (De- navit{Hartenberg) parameter compensation scheme for robots to attain high accuracy for any given trajectory [39, 70]). The success of these methods hinges on the fact that errors introduced by the dierent joints are independent of each other. However, the application of this method for 44 Figure 4.1: The actual setup, setup schematic, and the reference trajectory for the physical demonstration of execution error in articulated robots. articulated robots has a limit on the accuracy improvement due to the coupling between various joints. Another serious shortcoming of context-independent compensation schemes is that they are not able to dynamically account for the load experienced by the end-eector. It is clear that a context-independent approach will not improve the accuracy in most of the cases. This chapter presents a Context-Dependent Compensation (C-DC) scheme that aims to reduce error in the execution of a given trajectory. It is important to note that the compensation scheme uniquely caters to any given trajectory and adapts to any given end-eector load. My approach analyzes the given trajectory, selects a very small portion of the trajectory and performs a rst exploratory physical run using this chosen trajectory. Errors are measured during execution of the rst exploratory run, and a compensation scheme is automatically designed using this error data. The learned compensation scheme is validated by performing a second exploratory run using a small trajectory sample. Finally, the compensation scheme is applied during the execution of the complete trajectory to reduce the execution error. The execution of exploratory trajectories increases the overall trajectory execution time. My goal is to use the smallest possible 45 portions of the trajectory during the exploratory runs to minimize the increase in the overall trajectory execution time. Results reported in this chapter show that it is possible to learn a context-dependent compensation scheme that can reduce trajectory execution errors signicantly while increasing overall execution time only by 10%. This work enables the use of automatically generated trajectories in applications that require high trajectory execution accuracies. Moreover, the compensation scheme works even without access to the controllers of the industrial robot. 4.2 Related Work Research in context-independent trajectory error compensation is primarily focused on two areas: (1) correcting the trajectory path error and (2) correcting the trajectory tracking time. Research is being done in the context-independent path and positioning error correction for a robot since a long time[61, 163, 185, 187, 172, 226, 136, 97, 7]. Context-independent path error correction for a robot is usually done by estimating the path error in the whole robot workspace and compensating before any trajectory is executed. Gharaaty et al. developed a controller using optical coordinate measuring machine readings to achieve desired pose accuracy for manipulators [61]. Shu et al. designed a scheme to correct the pose errors by visual servoing using the data from eye-to-hand photogrammetry measurement feedback. The scheme worked in real-time on the manipulators [163]. Alici and Shirinzadeh have used the estimated path errors for robotic manipulators by using analytical functions such as Fourier polynomials and ordinary polynomials [2]. Aoyagi et al. have used nonlinear least square method and neural networks to estimate the path errors [5]. Recently, Nguyen et al. have employed an extended Kalman lter algorithm and an articial neural network to estimate the path errors [141]. All these methods though eective in the overall workspace of the robotic manipulator, they do not guarantee the reduction of error in all possible trajectories at any arbitrary end-eector load. Moreover, they do not consider the time tracking problem of the trajectory in the path error estimation. 46 Most of the research in context-independent trajectory tracking error correction takes place while the trajectory is being executed [224, 184]. Steinhauser and Swevers have used an iterative learning control scheme to reduce the path time tracking error for industrial robots [170]. Kali et al. propose the use of the super twisting algorithm with time delay estimation to achieve high accuracy trajectory tracking [96]. Baek et al. present an adaptive time delay control scheme to improve the time tracking performance of the robotic manipulators [8]. Jin et al. have used a Takagi-Sugeno-Kang fuzzy control system to enhance the tracking performance of robots [89]. Li et al. use Deep Neural Networks (DNN) to learn the trajectory tracking control from the training data and then uses the DNN to control the trajectory and reduce the tracking error [114]. This chapter utilizes the given trajectory solely to design a compensation scheme that results in a more accurate executed trajectory for the given trajectory. Moreover, it does not require continuous feedback to reduce the trajectory tracking errors. 4.3 Problem Formulation Given an input trajectory to be performed by an industrial robotic manipulator M. Here, =f(P i ;T i ;X i )g N i=1 where P i = (x i ;y i ;z i )2 R 3 is the path point, T i 2 R is the time, and X i = ( i ; i ; i )2S 3 is the orientation. I assume the manipulator is operating at an end-eector load L and it is operating under feedback control. It is required to design a C-DC scheme S which can generate a compensated trajectory for any given robotic manipulator such that, the robotic manipulator's controller will achieve improved accuracy performance in terms of the input trajectory by performing the compensated trajectory. I want the C-DC scheme to perform the following four tasks: • Analyze the given input trajectory and classify the path pointsfP i g N i=1 of the trajectory in terms of a feature of the trajectory. 47 • Sample the given input trajectory with respect to the classied feature such that it includes enough sample pointsP s for each feature classication. Then execute the sampled trajectory s which contains all the sampled points on the given robot to collect the executed trajectory data/readings ex s . • Train the compensation algorithm A using s and ex S . Use this trained A to execute the sampled compensated trajectory s and validate the results. • Use the same trained A to compensate the trajectory and generate . Finally, execute for the given application to achieve high accuracy. 4.4 Approach 4.4.1 Overview The approach consists of four parts. Section 4.4.2 discusses how the trajectory is analyzed and classied to improve the learning. Section 4.4.3 samples the trajectory to reduce the run time for collection for learning data. Section 4.4.4 describes the machine learning approach used to train and validate the errors in the trajectory. Finally, section 4.4.5 shows how the trajectory can be compensated using our approach to reduce the trajectory execution errors. 4.4.2 Trajectory Analysis and Classication The given input trajectory contains a sequence of path points. At each point P i , this chapter denes an incoming unit vector v c i = P i P i1 and and and outgoing vector v o i = P i+1 P i = (x i ; y i ; z i ). The angle i =\(v c i ;v o i ) between these vectors is a notion of change in direction at that point. The smaller the, the greater is the change in momentum of the manipulator links. has a strong eect on the path error. I select as a feature for classication. 48 Figure 4.2: The designed ANN sequence arranged in the order the data ows in the C-DC scheme (All-Net). The range of 2 [0;] is divided into three groups, after analyzing the trajectory by the human operator. The human operator selects these three groups such that the whole range of is encompassed in these three groups and the points are almost equally distributed in these three groups. The input trajectory path points are classied into similar groups according to the corresponding i values. 4.4.3 Trajectory Sampling and Running The classied points are sampled, ensuring there are enough data points available for each classi- cation and all the trajectory shape features are captured in a particular classication, i.e., uniform sampling in a particular classication. These sampled path points P s are used to generate the sampled trajectory. The sampled trajectory is executed on any given robot at a given end-eector load to generate ex s with path points P ex s . 49 4.4.4 Algorithm Selection, Training, and Validation I chose ANN (Articial Neural Networks) in the C-DC scheme for its ability to approximate non- linear functions well[31] (e.g., radial basis function predicted using ANN [32]). It also allows for fast training times while requiring only sparse training data. Though a DNN (Deep Neural Network) can be used in this setting [65], I chose a shallow ANN as only limited training data can be obtained from the given trajectory. As an added benet, the limited use of the robot to collect training data also preserves the overall utilization rate of the robot. This is crucial in an industrial setting. I dene the robot operation for learning time-ratioTR for a given input trajectory as,TR = time( s )=time(). Three dierent types of ANN used for path error correction (Path-Net), time tracking (Time-Net), and orientation correction (Orient-Net) as shown in Figure 4.2. 4.4.4.1 Path Error Correction ANN (Path-Net) Path-Net focuses on correcting the executed path by the robot end-eector. Suppose, at any point on the executed trajectory, the end-eector TCP deviates from the given point P i by x i , y i , and z i . The goal of Path-Net is to estimate this deviation and compensate by supplying a corrected pointP i such that,x i =x i x i ,y i =y i y i , andz i =z i z i . These compensated values reduce the path error of the trajectory at that point. The Path-Net is trained to provide a highly accurate estimate of the deviation at each point. Thus, by iterating over the sequence of input path points, the Path-Net produces a sequence of corrected path points. Selection of Features: The considered relevant features to path-net are,x,y,z,T , x, y, and z, the joint angles of the manipulator = ( 1 ; 2 ;:::; n ) wheren is the number of joints and the robot joint angle dierence between the upcoming point and the current point i = ( i+1 i ). Through many experiments, I observed that any feature involving time resulted in under-tting and any feature involving joint angles resulted in over-tting. So x, y, z, x, y, and z are selected as features for path-net. 50 Figure 4.3: Context-Dependent compensation scheme containing the supervised learning and trajectory compensation using All-Net. The path-net is shown in Figure 4.2. The shallow ANN consists of 6 neurons in the input layer and three neurons in the output layer (decided by the number of inputs and outputs). I determine the number of neurons in the hidden layer of the shallow ANN by applying the pruning rules of neural network [73]. 4.4.4.2 Time Error Correction ANN (Time-Net) For a given point P i at time T i in a trajectory, the time allotted to reach the next point is t i = (T i+1 T i ). In reality, it takes some extra time t i to reach the next point. The goal of Time-Net is to predict the time delay and supply a corrected time t i = t i t i . Selection of Features: This chapter considers the following features for the time-net, x, y, z, T , x, y, z, and t. Based on a set of experiments, I determined that features given to the time-net should include a notion of the distance traveled and the time allotted for that for 51 proper time tracking of the trajectory, so x, y, z, and t are selected as the features for the time-net. 4.4.4.3 Orientation Error Correction ANN (Orient-Net) Orient-Net corrects the end-eector orientation errors by predicting the compensated Euler angles , , and from the , , and . This chapter does not present test results for orient-net. Since each of the ANN (Path-Net, Time-Net, and Orient-Net) are designed, this chapter forms the ANN sequence (All-Net see Figure 4.2) to correct the trajectory of a robotic manipulator. It consists of one Time-Net followed by three Path-Nets in series (each Path-Net is trained using data from each group) and nally an Orient-Net. The All-Net is trained by performing supervised learning with the trajectory s and ex s (see Figure 4.3). The function tting neural network is used to form the ANN sequence, and they are trained using the Levenberg{Marquardt algorithm [111, 134]. This training algorithm was selected due to its fast convergence and better performance compared to other algorithms (e.g., Bayesian Regularization, Gradient Descent, etc.) for this application. To validate the trained algorithm any randomly selected 10% of s is compensated and executed to see the reduction in trajectory errors. 4.4.5 Trajectory Compensation and Execution Finally, the entire input trajectory is sampled and passed through the trained All-Net to generate the compensated trajectory (see Figure 4.3). The compensated trajectory is fed into the robot's controller, and the motion is executed. The trajectory feature classication is a novel and crucial feature in the C-DC approach because it enables the compensation of trajectories with irregular shapes and vast work area with minimal training samples. This allows me to maintain less than 10% increase in robot usage for trajectory compensation (see Section 4.5). 52 4.5 Results The proposed context-dependent approach is tested on an ABB IRB 2600-20/1.65 6-DOF indus- trial robotic manipulator. ABB IRB 2600 is a mid-range industrial manipulator which has key applications in cleaning/spraying, material dispensing, etc. The robotic manipulator has a linear path repeatability of 0.13 mm and a linear path accuracy of 0.55 mm. The robot controller is programmed through ABB RobotStudio 6.07 software. The communication between the com- puter and the robot controller is through a Python script. The trajectory generation, neural network training, compensated trajectory generation, and the data analysis is carried out using MATLAB. Each neural network used by me in the experimental setup takes about 400 to 800 training vectors, at least 80 training vectors are allotted to each classication (which capture the change in the direction of the trajectory), the maximum epochs are limited to 15000, and the training, validation, and testing ratios are xed to 0.70, 0.15, and 0.15 respectively. To analyze and plot the performance of and , following equations are utilized in this section. • Path error E i for ith point on the trajectory is the Euclidean distance between the actual and the executed point, E i = (x 2 i +y 2 i +z 2 i ) 0:5 . • Lag error (L i ) for a ith point (i = 0; 1;:::N) on the trajectory is the dierence between the total time taken to reach that point and the total time alloted to reach that point from the beginning of the trajectory, L i = P i j=1 t. • Average path error (APE), max path error (MPE), and total lag error (TLE) for a trajectory are, APE =mean(E i ), MPE =max(E i ), and TLE =L N . 4.5.1 Experiments using Laser Tracker Readings This chapter uses a laser-based tracking system to test the C-DC scheme. The Leica Absolute Tracker AT960 and the 6-DOF Leica T-Mac are used to carry out the accuracy measurements. 53 Figure 4.4: Leica Absolute Tracker AT960 tracking the Leica T-Mac mounted to the end-eector of the ABB IRB 2600 robot. The tracker utilizes Interferometer (IFM) and Absolute Distance Meter (ADM) technology to measure the moving end-eector with high speed and accuracy. The Leica T-Mac is mounted on the end-eector of the robotic manipulator. The AT960 laser tracker is placed at an approximate distance of 2:5 m from the base of the robot as shown in Figure 4.4. The robotic manipulator is compensated for the end-eector tool (T-Mac plus the mounting adapter) weight, and the tool center point is calibrated as the center of the T-MAC re ector. The described setup has a measurement uncertainty of 15 m. The readings are obtained at a sampling rate of 50 Hz from the laser tracker and are taken with respect to the tracker reference frame. These points are preprocessed to obtain the trajectory with respect to the robot workspace reference frame. The preprocessed laser tracker readings are used to train and analyze the performance of the C-DC scheme. This setup is used to evaluate the path error reduction obtained through the use of the proposed C-DC scheme. Two short trajectories at 2:5467 kg end-eector load are tested. 54 A B Figure 4.5: (Left) Circular trajectory and (right) non-planar 3D printing layer trajectory path error vs trajectory checkpoint for (blue) and (orange) measured using laser tracker. Type Trajectory APE (mm) MPE (mm) Circular 0.3424 0.6737 (proposed) 0.1990 0.3673 Reduction (%) 41.88 45.48 Non-Planar 0.3976 1.1326 (proposed) 0.1964 0.4955 Reduction (%) 50.60 56.25 Table 4.1: Circular trajectory and Non-Planar 3D printing layer trajectory average path error and max path error measured using laser tracker. 4.5.1.1 Circular trajectory: A short circular trajectory is compensated using the laser tracker readings. The path error in the compensated trajectory and input trajectory obtained using the laser tracker readings is plotted in Figure 4.5. The average path error and the max path error are listed in Table 4.1. 4.5.1.2 Non-Planar 3D Printing Layer Trajectory: The bottom layer of the Non-Planar trajectory (Figure 4.9) is executed to obtain the training data using the laser tracker. The third layer from the bottom is compensated and executed. The non-compensated third layer and compensated third layer is recorded, and the path error is plotted in Figure 4.5. The average path error and the max path error are tabulated in Table 4.1. 55 Figure 4.6: The actual workpieces showing the defects due to lag error for and . 4.5.2 Physical Demonstration To demonstrate the existence of a lag error in a robotic manipulator, this chapter calculates a reference trajectory that will laser-engrave a circular shape on a workpiece (in my case, a piece of cardboard) placed on a moving conveyor belt (see Video [29]). Here, the calculated trajectory has accounted for the motion of the belt while engraving the circular shape. Any temporal lag error will result in severe degradation of cut quality. This setup used a laser module (4W SUNWIN 450nm) mounted on the end-eector of the robotic manipulator for the experiment. The cut was performed while the conveyor belt was moving at a constant speed of 1 mm/s. The physical setup, schematic of the setup, and the reference trajectory are shown in Figure 4.1. The actual workpiece images for the cut generated for and are shown in Figure 4.6. It can be seen that a physical defect is generated on the workpiece (due to lag error) while executing is 16.17 mm, while the C-DC compensated has a defect of only 0.94 mm. 4.5.3 Experiments Using Encoder Readings The encoder readings are read from the robot controller using the the ABB RobotStudio software. The encoder readings may not exactly capture the the kinematic errors in the trajectory and 56 Figure 4.7: Schwefel function trajectory in Euclidean space with respect to the robot origin, tra- jectory path error vs trajectory checkpoint, and trajectory time lag error vs trajectory checkpoint for (blue) and (orange). introduce its own errors (e.g.: sensor errors). However, they do capture most of the non-kinematic errors (eg: gearbox backlash and stiness, etc). Hence, the polled values obtained from the encoder readings are a good way to collect the end-eector position data. Moreover, the polled values are reliable and simple to obtain to test the devised C-DC scheme. The All-Net is trained and data analysis is performed using the encoder polled readings. The encoder readings are polled at equal time interval checkpoints on the trajectory. The C-DC scheme is tested using three dierent types of trajectories at a zero end-eector load using the encoder polled measurements. 4.5.3.1 Schwefel Function Trajectory: A trajectory generated using two-dimensional Schwefel function [160] is shown in Figure 4.7. The s withTR = 0:04 for this trajectory is executed on the robot to obtain the ex s for training the ANN sequence. The path error and the lag error for each checkpoint are calculated and 57 Type Trajectory APE (mm) MPE (mm) TLE (s) Schwefel 0.8190 1.6538 921.80 (proposed) 0.1688 0.9890 85.46 Reduction (%) 79.39 40.20 90.73 Sine 0.5124 1.8954 917.41 (proposed) 0.3661 1.5485 444.87 Reduction (%) 28.55 18.30 51.51 Non-Planar 0.9300 2.7155 1388.00 (proposed) 0.2291 1.2574 254.78 Reduction (%) 75.37 53.70 81.64 Table 4.2: Schwefel function trajectory, Sine function trajectory, and Non-Planar 3D printing trajectory average path error, max path error, and total lag error. shown in Figure 4.7. This trajectory tests the ability of the scheme to compensate for a curved and asymmetric prole. The reduction in average path error, max path error, and total lag error are in Table 4.2. 4.5.3.2 Sine Function Trajectory: The trajectory generated using a two-dimensional sine function is shown in Figure 4.8. The sampled trajectory for training has TR = 0:0752. The errors E i and L i are plotted vs. the trajectory checkpoints are shown in Figure 4.8. This trajectory encompasses features of sharp corners and has a symmetric prole. In this trajectory, the robot is tested for its speed limits and sharp turns. The lag error is reduced, but the speed of the end-eector has a limiting threshold controlled by the ability of the robot controller to process the points which are seen in the lag error plot. Moreover, the reduction in path error E i is limited due to these limiting conditions. The average path error, max path error, and total lag error are enumerated in Table 4.2. 4.5.3.3 Non-Planar 3D Printing: This trajectory is executed to demonstrate the use of the scheme on an application which requires high accuracy, i.e., non-planar 3D printing [4]. The trajectory required to print one-half of a 58 Figure 4.8: Sine function trajectory in Euclidean space with respect to the robot origin, trajectory path error vs trajectory checkpoint, and trajectory time lag error vs trajectory checkpoint for (blue) and (orange). Figure 4.9: Non-Planar 3D printing trajectory in Euclidean space with respect to the robot origin, trajectory path error vs trajectory checkpoint, and trajectory time lag error vs trajectory checkpoint for (blue) and (orange). 59 hollow pipe is shown in Figure 4.9. The time ratio of the sampled trajectory to the total input trajectory is 0:052. The errors generated while executing and are shown in Figure 4.9. Table 4.2 indicates the average path error, max path error, and total lag error. 4.6 Summary The context-dependent compensation scheme developed in this chapter uses a sequence of neural networks to reduce the trajectory errors of a manipulator. The neural networks are trained specically for the given trajectory by sampling the trajectory. This chapter shows that by adding only an additional 4%-10% of TR to the overall robot operation time, the scheme can reduce the average path error by 40% to 80% and the total time error by 70% to 90% in most of the cases (this does not include validation time). Furthermore, this chapter has demonstrated the eectiveness of the C-DC scheme through physical experiments. 60 Chapter 5 Conguration Space Compensation Scheme for Reducing Manipulator Execution Errors 5.1 Introduction This chapter is based on my published paper [23]. Manufacturing using robot is popular because of their exibility, higher workspace to size ratio, and better portability than a gantry setup [11, 154, 93]. The automated manipulator trajectories for the manufacturing using robot have poor execution accuracy due to robot model approximations and controller errors. This is not acceptable for some manufacturing using robot such as additive manufacturing [24, 15, 21, 18], automated ber placement [157], metal deburring [86], and arc welding [158]. Low accuracy execution can lead to poor part geometry and part failure. So there is a need to reduce the automated trajectory execution error of manipulators for high accuracy manufacturing. Two examples of manufacturing using robot that require accurate trajectory execution are shown in Figure 5.1. Among the manufacturing applications, arc welding and deburring have relatively short trajectories which are repeated with a xed tool for mass production. These trajectories can be executed as a whole, and all the errors can be compensated. However, the trajectories for additive manufacturing and automated ber placement are long and are not re- peated often due to the low production volume. For such cases, a scheme needs to sample and 61 Figure 5.1: Robotic manufacturing processes which require high trajectory execution accuracy. (Left) robotic additive manufacturing and (right) robotic welding. execute a part of the trajectory to learn and compensate for the entire trajectory. This allows me to save the manipulator run time life for improving accuracy in low production applications. It is important to make the compensation economically feasible. The proposed compensation scheme in this work applies to the top of the existing controller. It does not interfere with the existing controller's working and does not need continuous feedback from the controller. So it can be easily utilized in a commercial manufacturing environment without any safety concerns to obtain lower trajectory execution errors. This chapter proposes a novel learning-based trajectory compensation scheme to reduce trajectory execution errors arising due to the controller. The compensation of controller error will be eective only if the kinematic model of the manipulator is accurate. So before implementing the approach, I need to calibrate the kinematic model and then reduce the trajectory execution error. Chapter 4 introduced the compensation scheme in the Cartesian space for 6 DOF industrial manipulator [30]. The previous version only compensated for the path error (pose error consists of path error and orientation error) and lag error. The current chapter redesigns the ANN archi- tecture to compensate for the errors in the manipulator's conguration space. The compensation scheme extends the physical tests on a 7 DOF redundant manipulator. The entire pose error (path and orientation error) is compensated in this work. There are three novel features of the 62 Figure 5.2: Illustration of the inaccuracy in executed trajectory in Cartesian space. A tubular region generated around the input trajectory encompasses the uncertainty in pose of the end- eector. scheme. (1) Execution error is reduced for any trajectory by only executing a small fraction of the entire trajectory. (2) The framework used operates in the conguration space to reduce errors in Cartesian space. (3) It can be applied on top of an existing controller. 5.2 Related Work My work in this chapter covers three major areas: (1) trajectory pose error reduction for ma- nipulators, (2) trajectory tracking improvement for manipulators, and (3) camera vision assisted manipulator calibration. Chapter 4 covered the rst two areas. So the chapter lists the relevant work in the third area. Vision is being used for manipulator calibration for a long time [227]. Zhang et al. used stereo vision to track a planar marker mounted on the UR5 manipulator to estimate its pose and perform autonomous calibration [218]. Svaco et al. calibrated a KUKA ma- nipulator using stereo vision to determine the robot's absolute position in space [171]. Yin et al. develop an iterative algorithm to determine the line-structured laser sensor's position errors with the camera to calibrate the manipulator [208]. The chapter derives the camera-based calibration method from these state-of-the-art methods. 63 Figure 5.3: Illustration of the repeatability of the executed trajectory in Cartesian space. A tubular region generated around the executed trajectory encompasses the uncertainty in pose of the end-eector. 5.3 Background Modern manipulators are highly repeatable. Manipulators may exhibit inaccuracy because the executed trajectory is dierent due to inherent controller errors caused by overdamping and kine- matic errors in the model. Figure 5.2 illustrates this concept by overlapping a planned input trajectory and the executed trajectory. I can generate a tubular region around the input trajec- tory, as shown in the gure, to represent the region of uncertainty due to accuracy. Manipulators are repeatable because the executed trajectories lie very close to each other. Figure 5.3 shows a tubular region around the executed trajectory representing the uncertainty due to repeatability. I need to reduce the uncertainty in accuracy and bring it close to the uncertainty in repeatability to use automatically generated trajectories. This chapter classies the trajectory execution errors into two types, (1) pose error (2) time lag error. Pose error is the manipulator's inability to attain the desired pose, and time lag error is a delay that occurred while attaining the pose while executing the trajectory. Figure 5.4 gives an illustration of time lag error. These two errors in a manipulator arise due to (1) incorrect manipulator kinematic model, (2) overdamped controller, (3) joint sensor errors, and (4) dynamic errors caused by link deformation. This chapter assumes that the sensor errors and dynamic errors are negligible. To correct the kinematic model of the manipulator, I calibrate the manipulator. 64 Figure 5.4: Illustration showing the time lag error while executing a trajectory on a manipulator. The pose error is assumed to be zero. So, both these errors can be attributed to the controller. It is challenging to model the controller errors, which can be generalized to any trajectory. Manipulator trajectory pose errors can be introduced if the kinematic model is incorrect. Manufacturing and assembly errors cause the actual kinematic model to dier from the theoretical model. Kinematic calibration of the manipulator can be performed to compensate for these errors. Such compensation schemes are often referred to as DH parameter estimation [39]. However, calibration procedures are performed at a rated end-eector loading and a low-velocity prole. The manipulator is allowed to stabilize at each waypoint. Real-life applications involve complex and continuous trajectories of dierent geometry and end-eector loads. Also, kinematic calibration alone cannot improve trajectory time tracking during execution. So kinematic calibration is necessary but not sucient to reduce trajectory execution errors for manipulators. An adaptive controller reduces the trajectory errors by varying the controller parameters during execution [216]. This method, though very eective, cannot be easily be implemented in an industrial setting. It needs to replace the existing controller of the manipulator and replace it with the new advanced controller. Such changes are challenging to make in a commercial setting as manipulator manufacturers unlikely to allow the user to tamper with the controller for safety reasons. 65 Figure 5.5: Illustration of the pose error and lag error occurring while trajectory execution. 5.4 Problem Formulation Given a manipulatorM with n DOF represented by a set of joint variables Q =fq 1 ;q 2 ;:::q n g, I want to devise a scheme to reduce the trajectory execution errors (pose error and time lag error) of the manipulator. Here q i is the joint variable of the ith joint. The execution errors are classied as: (1) pose errorp =fx;y;z;;; g, wherex;y; and z are the Cartesian location errors and ;; and are the Euler angle errors of the end-eector (2) time lag error t, which is the error in time required by the manipulator to go from one pose to the next pose in the trajectory. This chapter graphically represents these errors in Figure 5.5. The trajectory consists of a nite number of coordinate frames being attained by the manipulator end-eector at specic time instances. It can be seen from the gure that eliminating the pose error does not virtually eliminate the lag error. So it is crucial to consider time lag as a factor for reduced trajectory execution error. I am interested in learning a meta-model that captures the relationship between input trajec- toryT in conguration space and the execution errors. The meta-model outputs a compensated trajectoryT . When executed by the manipulator, the compensated trajectory will have high pose accuracy and low lag error in terms of the initial trajectory. 66 Figure 5.6: An illustration of the trajectory-dependent compensation scheme supervised learning and compensation steps. 5.5 Approach 5.5.1 Overview The approach in this chapter is divided into four parts. Section 5.5.2 describes the model used in our compensation scheme. Section 5.5.3 explains the supervised learning approached used to learn the execution errors in the trajectory. Section 5.5.4 shows the trajectory compensation and validation steps to improve the trajectory accuracy. Finally, Section 5.5.5 mentions the automated calibration procedure for the completeness of our approach. 5.5.2 Model Architecture This scheme works by taking the trajectory as an input and generating the compensated trajectory. It works in two steps. In the rst step, the ANN is trained by providing the input trajectory and 67 Figure 5.7: Illustration of the ANN architecture used to compensate the trajectory pose error and time lag error of the manipulator. the error in the executed trajectory. In the second stage, the trained ANN is used to generate the compensated trajectory. The illustration of the two stages, i.e., supervised learning and trajectory compensation, is shown in Figure 5.6. This scheme's novel ability is that it uses only a part of the executed trajectory data to compensate for the entire trajectory. This is made possible by the trajectory-dependent sampling to capture essential features of the trajectory. Thus, by increasing the manipulator run time by a small percentage, a considerable improvement in the manipulator pose accuracy and trajectory tracking is achieved. The novel architecture of the ANNs operating in the manipulator's conguration space for the trajectory-dependent compensation (T-DC) scheme is shown in Figure 5.7. The scheme calls the entire ANN collection All-Net. This All-Net is classied into three types of ANNs by me. 1) Arm-Net: This ANN is governed by the joint variables set controlling the arm of the manipulator Q arm =fq 1 ;q 2 ;:::q k g which have a major in uence on the Cartesian location of the end-eector. It takesfq 1 ;q 2 ;:::q k g andfq 1 ; q 2 ;:::q k g as inputs, where q is the change in joint variables between the current point and the previous point on the trajectory (1 < k < n). 68 It returns Q arm =fq 1 ;q 2 ;:::q k g the compensated joint variables for the trajectory. (2) Wrist- Net: Like the Arm-Net, the Wrist-Net compensates the joint variables set, which have a major in uence on the end-eector orientation. It takes Q wrist = fq k+1 ;:::q n g andfq k+1 ;:::q n g and returns Q wrist = fq k+1 ;:::q n g which is the compensated wrist joint variables set for the trajectory. (3) Time-Net: This ANN aims to reduce the lag error of the executed trajectory of the manipulator. It takesfq 1 ; q 2 ;:::q n g and t as input. Here, t is the time allotted to the manipulator to reach the current trajectory point from the previous point. The Time- Net returns the compensated time t to be provided to the manipulator. By executing the compensated trajectoryT =fq 1 ;q 2 ;:::q n ; t g generated by the All-Net, the pose error, and lag error is lower compared to the one occurring while executingT =fq 1 ;q 2 ;:::q n ; tg. It is easy to divide anthropomorphic arms into arms and wrists. However, for non-anthropomorphic arms like a 7 DOF manipulator, I found experimentally that the scheme works if the last three joints are considered the wrist and the remaining previous joints as the arm. 5.5.3 Supervised Learning Trajectory sampling: This is a novel feature of the trajectory-dependent compensation scheme. The scheme performs trajectory sampling to reduce the trajectory run time for collecting the data to train the ANN. The accuracy aecting features of the trajectory, such as the curvature of the path, speed of the manipulator, and the workspace in which the trajectory exists, are captured in the sampling. Two sampled trajectories are generated. The rst sampled trajectoryS 1 has 1 2 % execution time compared to theT. The second sampled trajectoryS 2 has 8 10 % of execution time compared toT. An illustration of the compensation scheme stages is shown in Figure 5.6. To explain how the sampling is done, the chapter presents two practical examples. (1) Consider the manipulator is covering a part surface area by performing a trajectory. In this case, the sampling is done by assuming the tool has a larger surface, and the sampled trajectory will have fewer passes to cover the surface area of the part. (2) Consider the manipulator is performing 69 material extrusion additive manufacturing. In this case, the trajectory is sampled by assuming that the extruder has a larger diameter nozzle. The sampled trajectory will need fewer layers and hatching to build the part. Sampled trajectory execution and ANN training: TrajectoryS 1 is executed on the manipulator, and the executed sampled trajectory dataS ex 1 is polled from the joint encoders and stored. The time lag ofS ex 1 is calculated, and that data is used to train the Time-Net. ThenS 2 is passed through the Time-Net to generate the time lag compensated sampled trajectoryS t 2 .S t 2 is executed on the manipulator and the time lag compensated executed sampled trajectoryS tex 2 data polled from the joint encoders are stored. The pose errors ofS tex 2 are calculated to train the Arm-Net and Wrist-Net simultaneously. The reason for using lag error compensated sampled trajectory to train the Arm-Net and Wrist-Net is because the Time-Net modies the trajectory velocity to reduce the lag error. Any modication in the velocity changes the pose error of that trajectory. To compensate for the manipulator's pose error executing a trajectory, the scheme needs to know the errors happening while executing the trajectory at the modied velocity. 5.5.4 Trajectory Compensation and Validation Once all the ANNs in the All-Net are trained, the scheme uses the All-Net to compensate the input trajectory. The entire input trajectoryT is passed through the ANNs in the All-Net. The generated compensated trajectoryT when executed, reduces the trajectory execution errors for the manipulator. The scheme validatesT by comparing the compensation of each joint variable and time with the maximum pose error occurred inS tex 2 , and the maximum lag error occurred in S ex 1 . If any variable compensation is larger than the max error, the scheme clips the compensation to the max value. This trick allows me to avoid any overcompensation done by the ALL-Net and keep the compensation bounded. For a sanity check, the scheme comparesT andT by plotting them. If everything looks all right, I go ahead and execute the compensated trajectory. 70 Figure 5.8: KUKA manipulator showing the possible link length and twist deviations due to the manufacturing defects and assembly errors. 5.5.5 Calibration Procedure The chapter denes the manipulator kinematic model using link length L 1::n and the link twist A 1::n (See Figure 5.8). I am interested in nding the link length error e L 1::n and link twist error e A 1::n , such thatL 1::n L 1::n + e L 1::n andA 1::n A 1::n + e A 1::n renes the kinematic model before the compensation scheme is applied. Redundant conguration generation: The procedure rst samples a pose in the manipulator's workspace. A numerical optimization based IK solver is used for the redundant manipulator to ndm congurationsQ 1;2:::;m , which can reach this pose. Dierent initial seeds are used to solve the optimization problem to nd these m diverse congurations. End-Eector position detection: To detect the end-eector position using a 2D cameras, I mount a conical tool to it (see Figure 5.9). The tip position of the conical marker is tracked to nd the end-eector pose. The procedure converts an image of the tip from RGB to grayscale. A median lter [82] is applied to the grayscale image to remove any unwanted noise. The ltered image is passed through the Canny edge detector [33] to determine the cone's edges in the picture. Finally, a RANSAC regression t [52] is applied to determine the equation of the two lines forming 71 Figure 5.9: Illustration of the setup to perform kinematic model calibration. the cone. The intersection point of the two lines determines the location of the tip of the cone in-camera pixels. Cartesian visual-servoing for pixel matching: Figure 5.9 illustrates the visual servo setup for the manipulator. One of the cameraC 1 is placed parallel to the XZ plane, and the other camera C 2 is placed parallel to the YZ plane of the manipulator workspace (approximately). Both the cameras are xed. The conical marker mounted at the end-eector is in the eld of view of both the cameras. Now the manipulator is commanded to go to the rst joint conguration of the m redundant congurations. The pixel value of the cone tip from the cameraC 1 (px ref C1 ) and camera C 2 (px ref C2 ) is saved. Apart from this, the executed joint variables Q ex 1 of the manipulator are polled from its joint encoder and recorded. Now, the manipulator is commanded to go to the next redundant conguration of the re- maining m 1 congurations. When the manipulator reaches that conguration, the cameras are polled, and the cone tip pixel values for both the xed 2D cameras are determined. Ideally the pixel values should remain unchanged (i.e., same as px ref C1 and px ref C2 ). However, due to the error in the kinematic model used to generate the m congurations, there will be an error be- tween px ref and the current pixel values px curr for both the cameras. The dierence between them determines the workspace directions (X, Y, and Z) in which the error is present. Based on 72 the error, the manipulator is commanded to take a small step (equal to the repeatability) in the opposite direction of the error between the reference and current pixel. Again the cameras are polled, andpx curr are determined for both cameras, and the step is taken. This is done until the reference and current pixel error becomes less than or equal to one pixel for both cameras. Once this condition is satised, the currentQ ex 2 is polled and stored, and the process is repeated for the remaining m 2 congurations. In the end, the procedure will have recorded m congurations for the manipulator Q ex 1:::m for the manipulator will truly go at the same conical tip workspace position. Kinematic Model Data Fitting: To determine the error in the kinematic model of the manipu- lator, the procedure uses an unconstrained optimization approach. Using an idea similar to the forward kinematics of a manipulator, the procedure can form a function F(L 1::n ;A 1::n ;U;Q i ) which returns the Cartesian position of the conical marker tip for the ith joint variables set. where, U =f e L 1::n ; e A 1::n g. The optimization problem to nd U that corrects for kinematic errors is formulated as, U opt arg min U ( m X i=2 (F(L 1::n ;A 1::n ;U;Q 1 )F(L 1::n ;A 1::n ;U;Q i )) The seed to the optimization problem is a 2n 1 zero vector U 0 . 5.6 Results 5.6.1 Kinematic Model Correction To test the scheme, the setup uses a KUKA LBR iiwa 14 R820 manipulator withn equal to 7. The ideal link lengthsL and twistsA for the KUKA manipulator are listed in Table 5.1. The chapter performs the calibration procedure on the KUKA manipulator by selecting a reachable pose. The procedure generates a set of 140 redundant congurations using the CAD-based uncorrected 73 Link 1 2 3 4 5 6 7 L (mm) 157.5 202.5 204.5 215.5 184.5 215.5 120.0 e L (mm) 0.077 0.070 0.090 -0.112 -0.303 -0.227 0.117 A (deg) 0.0 90.0 90.0 90.0 90.0 90.0 90.0 e A (deg) -0.001 -0.010 -0.032 0.026 0.063 -0.197 -0.229 Table 5.1: The KUKA manipulator ideal link lengths, twists, and calculated corrections as shown in Figure 5.8. kinematic model (ideal link lengths and twists) for this selected pose. It is good to keep the number of redundant congurations ten times the number of kinematic model parameters corrected by optimization. This is because it lters the noise in the data. In this case, the kinematic model parameters are 14 (7 link lengths and 7 twists). I get the manipulator at the rst conguration and x the cameras to focus on the conical marker mounted to the manipulator end-eector. The setup uses FLIR systems Zebra and Chameleon cameras to perform the in-situ calibration procedure. The cameras are mounted so that the vibrations caused by the manipulator do not aect the camera vision. The conical marker being detected by the cameras is made using a Form 2 3D printer with a layer thickness of 0:05mm to build an accurate part. The median ltered grayscale image, the Canny edge ltered image, and the RGB image with the cone tip detected, for instance, during the experiment captured by Zebra camera is shown in Figure 5.10. The procedure corrects the KUKA manipulator's kinematic model from the polled joint variables data collected for the 140 corrected redundant congurations. The correction in the link lengths e L and twists e A for the 7 links of the manipulator are enumerated in Table 5.1. The unconstrained optimization process's residual error to correct the kinematic model is 1:5204 10 5 , which is far below the correction values and is converged. Moreover, as the pose selected by me is reachable by the manipulator, there is always a solution. KUKA LBR iiwa 14 R820 is a 7 DOF redundant manipulator, with pose repeatability of +/-0:15 mm. The robot controller is programmed on Java using KUKA Sunrise software. The communication between the controller and the PC is achieved using Python scripts. The trajectory 74 Figure 5.10: The grayscale image with median lter, Canny edge ltered image with the pixel value to the tip of conical marker, and the RGB image showing the manipulator holding the conical marker. generation, neural network training, compensated trajectory generation, and data analysis is carried out using MATLAB. The ANNs consist of one input layer, one fully connected hidden layer, and one output layer. The hidden layer has a hyperbolic tangent sigmoid activation function, and the output layer has no activation. The weights and biases are randomly initialized. The loss function is set to mean square error. For the ANNs to converge to a stable solution, the Time-Net used by me in the experimental setup takes about 100 to 200 training vectors, while the Arm-Net and Wrist-Net take about 400 to 800 training vectors. The maximum epochs while training is limited to 15000, and the training, validation, and testing ratios are xed to 0.70, 0.15, and 0.15 of the total available data, respectively. The Time-Net has input dimension 8, hidden layer width 5, and output dimension 1. The Arm- Nets have input dimension 6, hidden layer width 6, and output dimension 3. The Wrist-Net has input dimension 8, hidden layer width 8, and output dimension 4. I design the hidden layers' neu- ron architecture by applying the pruning rules of neural network [73]. The Levenberg{Marquardt algorithm is equipped to train the ANNs [111, 134]. It allows for fast convergence and has better performance than other algorithms (e.g., Gradient Descent, Bayesian Regularization, etc.) for this application. 75 Figure 5.11: Schwefel function trajectory in the Euclidean workspace, joint error, and time lag error vs trajectory checkpoints for (blue) and (orange). 5.6.2 Trajectory Execution Error Reduction Once the scheme has obtained the prerequisite corrected kinematic model of the manipulator, the trajectory-dependent compensation scheme is tested. This chapter tests the compensation scheme on two trajectories, (1) the Schwefel function tracking trajectory and (2) the Vase 3D printing trajectory. Both these trajectories plotted in the Euclidean space are shown in Figure 5.11 and 5.12. The manipulator's joint encoders are polled to obtain the executed trajectory data to train the ANNs and generate the compensated trajectory results. It is assumed that there are no joint encoder errors. This chapter compare the execution data of the compensated trajectoryT with the uncom- pensated oneT in Table 5.2. This comparison is made using the data generated by executing the trajectories and comparing joint encoder polled data. In this table, APE and MPE represent the average and the maximum of the absolute path error, AOE and MOE represent the average and maximum value of the absolute orientation error, and ALE is the average lag error respec- tively. Here, the absolute path error is the root mean square (RMS) value of the deviation in the 76 Figure 5.12: Vase 3D printing trajectory in the Euclidean workspace, joint error, and time lag error vs trajectory checkpoints forT (blue) andT (orange). Trajectory Execution Errors T T Reduction (%) Schwefel APE (mm) 0.0998 0.0884 11.42 MPE (mm) 0.4198 0.3407 18.84 AOE (deg) 0.0524 0.0273 47.90 MOE (deg) 0.1657 0.1162 29.87 ALE (s) 0.3718 0.1686 54.65 Vase APE (mm) 0.2438 0.0701 71.25 MPE (mm) 0.4746 0.4315 09.08 AOE (deg) 0.0480 0.0168 65.00 MOE (deg) 0.0956 0.0874 08.58 ALE (s) 0.3339 0.2249 32.64 Table 5.2: Schwefel function tracking trajectory and Vase 3D printing trajectory trajectory average path error, max path error, average orientation error, max orientation error, and average lag error. 77 Cartesian location of the executed trajectory with respect to the input trajectory. The absolute orientation error is the RMS value of the deviation in the manipulator end-eector Euler angles in the executed trajectory compared with the input trajectory. The lag error is the time lag the manipulator takes to travel from one point to the next point in the trajectory compared to the input trajectory time with no acceleration, deceleration, and controller lag. This chapter also shows the executed trajectory encoder data comparison ofT andT over the entire trajectory in Figure 5.11 and 5.12. The joint error is the RMS value of the deviation in the encoder polled seven joint variable values with respect to the input trajectory joint variables value for the tra- jectory checkpoints. The trajectory checkpoints are pre-planned locations on the trajectory to poll the joint encoder data. A similar plot for the time lag error is also shown in Figure 5.11 and 5.12. A direct comparison between the results obtained using the scheme and the state-of-the-art trajectory independent approaches is not possible as these methods do not account for the time tracking errors [141]. Moreover, even if time tracking errors are reported in the literature [8], they are reported in incompatible units such as mm or deg. However, this chapter provides proof of the scheme's capability by showcasing results with the average accuracy within the manipulator repeatability and signicant time tracking improvement. 5.7 Summary The novel ANN architecture successfully estimates the trajectory execution errors in the manip- ulator's conguration space. Long trajectories are sampled and compensated for the manipulator by increasing execution time by a small amount of 10 %. The average path errors are brought within the repeatability (+/-0:15 mm) for the redundant KUKA manipulator. The orientation and lag error are reduced by a signicant amount to perform high-accuracy manufacturing us- ing robots. The entire compensation is performed without changing the existing controller and aecting the safety of the setup. 78 Chapter 6 Multi-Robot Placements Optimization for Reducing Inverse Kinematics Inconsistency in Robot Paths 6.1 Introduction This chapter is based on my submitted paper [27]. The large-Scale manufacturing process is useful for making parts in the shipbuilding [174], construction [51], and large machine tool industries [71]. Using a single manipulator for building such large-scale parts is not ecient. So researchers are looking into using a multi-robot setup to build large-scale parts. Oak Ridge National Laboratory in the USA has developed one such multi-robot cell to build large-scale parts. Their setup, along with a few parts built on the setup, are shown in Figure 6.1. One potential way to perform multi-robot manufacturing is to create a xed multi-robot cell. A xed multi-robot cell would imply that given the robot placements, certain part geometries can be successfully built while other part geometries cannot be built. This happens because the relative location of the manipulators constrains the workspace. For example, if the manipulator reachability regions have signicant overlap, the multi-robot cell provides high exibility. This means that if one of the manipulators fails, the other one can take over its path. However, this limits the size of the part that can be built in the multi-robot cell. Such part size limitation can be taken care of by investing in larger manipulators, but that is not economical. On the 79 Figure 6.1: The multi-robot cell developed at Oak Ridge National Laboratory and two large-scale WAAM parts built using the setup. 80 other hand, if the manipulators are spread out with smaller overlapping regions, the workspace of the multi-robot cell increases but the probability of reaching a manipulator kinematic limit also increases. This showcases that the multi-robot placements are not straightforward, and any xed multi-robot cell will not fully exploit the manipulator capabilities. Thus I need to explore how manipulator placements can be changed. There are two potential options to change the manipulator placement locations in a cell. The rst option is to mount the manipulator on tracks. The second option is to move the manipulator base and re-calibrate the manipulator placement location once they are moved. This will allow me to exploit the full capability of the manipulator and build the other part geometries, which were not possible on a xed multi-robot cell. However, this approach has a few challenges. Finding the manipulator base placements for dierent part geometries require new algorithmic advances, and the gains obtained by moving the manipulator base placements need to be justied. This chapter looks at a few challenging part geometries and investigates what kind of benets can be achieved by changing the manipulator placements in a multi-robot WAAM setup. The challenging geometries addressed will emphasize the potential benets of this approach, such as reduction in build time, improving the manipulator reachability, and reducing the IK inconsistency in the robot paths. In addition, the benets will reduce the probability of defects and avoid unnecessary time due to the weld stops, which happen due to the inconsistencies in the robot paths. However, this requires a signicant upgrade to the technology, and users need to weigh the pros and cons. This work has three contributions. (1) It provides the computational foundations by developing novel path decomposition and multi-robot placement algorithms for performing multi-robot manufacturing. (2) The hierarchical algorithms optimize multiple objectives, i.e., the build time and the IK consistency in robot paths, to improve the eciency and quality of multi-robot manufacturing. (3) It provides the necessary tools to make an informed decision on whether the user should invest in huge manipulators that can cover the desired workspace with 81 signicant overlap or use modest size manipulators and change the manipulator base placement when required. 6.2 Related Work This chapter discusses a few relevant works on multiple and single robotic manipulator placement planning in our chapter. Spensieri et al. have developed an optimization-based robot placement algorithm to perform automotive assembly tasks and reduce cycle time. Their algorithm is used to place multiple industrial manipulators individually in automotive assembly cell [168]. Bhatt et al. have considered improving the accuracy of the manipulator by nding the proper robot placement for additive manufacturing applications [18]. Malhan et al. have developed an optimization-based single robot placement algorithm that tests the end-eector tool velocity and forces along with the reachability analysis [130]. Makhal and Goins have developed an open-source library named Reuleaux for single robot placement and reachability analysis using reachability maps [127]. [183]. Caro et al. demonstrate the robot placement optimization for machining operations using the elastostatic model and the cutting forces exerted on an industrial manipulator [34, 46]. Thus researchers have been working on a variety of robot placement planning for dierent applications for a long time [140, 6, 180, 49, 74]. However, the state-of-the-art works do not address a multi- robot placement problem together. Large-Scale WAAM is gaining popularity due to the benets discussed in Section 6.1 [143]. Ta sdemir and Nohut have demonstrated the benets of large-scale WAAM in the shipbuilding industry by showcasing a few large-scale parts built using WAAM [174]. Hassen et al. have used a single manipulator WAAM setup to build large-scale mold and dies for the composite manufacturing industry [71]. Feucht et al. have demonstrated the concept of large-scale robotic WAAM in construction by building a small bridge [51]. Nycz et al. have explored the challenges of building a large-scale WAAM part, i.e., an excavator metal arm using a single manipulator 82 Figure 6.2: Illustration of a multi-robot cell to perform AM. The illustration shows the relative location of the AM part, build-platform, and the robot base frames in the word coordinate system. setup [142]. Williams et al. have developed a two manipulator WAAM setup and built several large-scale parts on it [194]. Currently, the state-of-the-art works in large-scale robotic WAAM do not address the multi-robot placement problem, so it is addressed in this chapter. 6.3 Problem Formulation Consider a set of 6 DOF articulated industrial manipulators M =fM 1 ;M 2 ;:::;M n g who are tasked to additively build parts using WAAM (n = 3 in the examples) as shown in Figure 6.2. Each manipulator is equipped with a welding tool and is capable of depositing molten metal. The part is supposed to be built on a build-platform B, which can have 2 rotational DOF (pitch and yaw). To perform WAAM eciently using this multi-robot setup, I need to achieve the following goals. 83 • Reduce the build time: Build time is the total time required by the set of manipulators to build the part completely. Given is the set of continuous segmentsS =fl 1 ;l 2 ;:::;l m g where m is the total number of segments to be traced by the weld tool to build the part completely. The algorithm needs to decompose and assign them to each manipulator such that the manipulators can simultaneously build the part with minimum idle time. The segments l consists of waypoint vectors ~ w =< x;y;z;;; > in the World Coordinate System (WCS). Here, x, y, and z are the Cartesian coordinates, and , , and are the Euler angles. • Reduce the IK inconsistency in robot paths: A 6 DOF articulated industrial manipulator may consist of multiple IK solutions from dierent IK families for the same end-eector pose [72]. All the IK solutions from dierent IK families combine to form the reachability of the manipulator. Ideally, the manipulator should stay in the same IK family while tracing a continuous segment. However, it is not always possible because of the joint limits, and the manipulator needs to change from one IK family to another IK family to continue along a path. This requires the manipulator to stop the welding arc, recongure and continue building the WAAM part. This is IK inconsistency in robot paths, and it can be quantied by the number of times the manipulator has to recongure at a point along the path. My goal is to reduce the count of IK inconsistency in robot paths by moving the manipulator base in the WCS. 84 Figure 6.3: Illustration of the WAAM part being decomposed into three sections using vertical planes. Each of these decomposed section will be built using a separate manipulator. 6.4 Approach 6.4.1 Overview The approach is divided into two parts. First, section 6.4.2 decomposes the paths between the manipulators such that the build time of the part is reduced. Second, section 6.4.3 places the manipulators around the part such that the IK inconsistency in robot paths is minimized. 6.4.2 Path Decomposition The input to the path decomposition module isS generated by slicing the CAD model and orient- ing the layers (only done if the part is placed on a tilting table) and the number of manipulators n. This module decomposes theS into n separate segment sets and allots the sets to each of the n manipulators. During the decomposition, it tries to ensure that the decomposed segment sets have equal execution time. This means that the manipulators will have less idle time when simultaneously executing the allotted segment sets. Thus the goal of the path decomposition module is to reduce the build time of the WAAM part. 85 To decompose the path segments, I select planes as the decomposition surfaces. A simple illustration showing vertical planes decomposing the WAAM part into three separate pieces is shown in Figure 6.3. The reason for selecting planes over other surfaces for the decomposition is because their representation is simple, i.e., a plane can be represented using Equation 6.1. ax +by +cz =d (6.1) Here, x, y, and z are Cartesian coordinates and a, b, c, and d are constant variable for a dened plane. Also, the section between the two interesting planes acts as a great heuristic for promoting manipulator reachability. So I use planes in the path decomposition module. A planeP can be dened using four variablesa,b,c, andd. So to decompose the path segments, the algorithm needs to nd four times n variables that dene n planes. Finding these variables such that the build time is reduced becomes a complex problem. To reduce the complexity, I assume that the origin of the part is located on all then planes. This meansd is equal to 0. Then I represent a plane in the spherical coordinates, which allows me to represent a plane normal vector as <r;;>. Since the normal has unit magnitude r equals 1, the plane can be represented using<;>. Here,r is the radius, is the inclination, and is the azimuth. So the number of variables reduces to two times n, and the plane can be represented using Equation 6.2. (cossin)x + (sinsin)y +cosz = 0 (6.2) I formulate the path decomposition problem as an optimization problem. The decision variable of the optimization problem is the vector containing the plane information~ u =< 1 ; 1 ;:::; n ; n >. 86 The objective function is the build time of the AM part. It is a function of the decomposed seg- ments. So I represent it as BT(S 1 ;S 2 ;:::;S n ). I bound the problem by setting limits on and . Thus, the optimization problem can be represented as shown in Equation 6.3. minimize ~ u BT(S 1 ;S 2 ;:::;S n ) s:t: (6.3) 3 2 3 0 2 The seeds for the optimization problem are generated by setting equal to 2 for all the n planes (vertical planes) and for the planes are equidistant with an angle of 2 n between them. Multiple such seeds are generated by uniformly sampling 1 from 0 to 2 n . Dierent seeds generate dierent decomposed segment sets. These solutions are ranked based on the build time and are passed on to the multi-robot placement module. 6.4.3 Multi-Robot Placement The decomposed segment sets S 1 ;S 2 ;:::;S n generated in the path decomposition module are assigned to the manipulators M 1 ;M 2 ;:::;M n . The manipulators need to trace the weld tool mounted on their end-eector on these segments to build the WAAM part. To enable this, the manipulators need to be placed near the respective segments. Moreover, the placement goal should be that the IK inconsistency in robot paths is reduced while tracing the segments. I design the multi-robot placement problem by making a few assumptions. The rst assump- tion is that the WAAM part origin in which the decomposed segment setsS 1 ;S 2 ;:::;S n are dened coincides with WCS. The second assumption is that the manipulator base is xed at the same height as the WAAM part base. The third assumption is that the best manipulator base place- ment will be in a hollow circular area dened by the internal radius r lower and external radius r upper . This is shown in Figure 6.4. 87 Figure 6.4: Illustration of three manipulators placed using cylindrical coordinates. The manipu- lator placement in bounded in the hollow circular robot area. The multi-robot placement problem is dened in cylindrical coordinates < r;;z >. Since z is xed, the only two coordinates dene a manipulator placement, i.e., <r;>. An illustration containing three manipulator placements using cylindrical coordinates is shown in Figure 6.4. The center of the cylindrical coordinate is the WCS, where the AM part will be built on a build platform. I x the x-axis of the robot base frame along the radial direction. I do not include rotation along the z-axis of the robot base frame as it will be redundant with the rst axis of the manipulator. I formulated the multi-robot placement problem as an optimization problem. The decision vari- able for this problem are the manipulator placements dened by a vector~ v =<r 1 ; 1 ;:::;r n ; n >. Here, both r and are bounded in the workspace. The goal is to minimize the IK inconsistency in robot paths. LetS i be the segment set associated with manipulator M i . If all the segments are reachable at a particular robot placement location, the algorithm can transform the segment 88 set to a continuous conguration space pathQ i =f~ q 1 ;~ q 2 ;:::;~ q k g of the manipulator M i using in- verse kinematics. Here, ~ q is the vector containing the joint angles of the manipulator. Using this information, the algorithm can calculate ~ q, the vector containing joint angle dierence between two consecutive points on the conguration space path. The objective function is mathematically dened in Equation 6.4. k1 X i=1 Max(~ q i ) (6.4) Here,k is the number of points in the conguration space path, andMax is a function that returns the max value in the vector. The optimization problem needs a few constraints to generate a usable solution. The section denes these constraints as follows. 1. Reachability: The reachability constraint C reachability is an equality constraint that checks whether all the segments are reachable by the manipulator. This is a necessary condition for the conguration space path to exist at the manipulator placement location. Moreover, the reachability constraints ensures that all the congurations in the trajectory are with the joint limits i.e.,~ q lb ~ q~ q ub . Here,~ q lb is the vector containing lower joint angle limits, and ~ q ub is the vector containing upper joint angle limits of the manipulator. 2. Clearance: The clearance constraint C clearance is an inequality constraint to ensure that the manipulators are not placed too close to each other. This reduces the interference between the manipulator workspace while executing the conguration space path. In addition, it acts as a heuristics to promote collision-free robot trajectories. It is implemented by keeping the distance between manipulator base frames greater than some threshold . 89 Thus, the optimization problem can be mathematically represented as shown in Equation 6.5. minimize v k1 P i=1 Max(~ q i (v)) s:t: (6.5) C reachability (v) =k C clearance (v) r lower rr upper 0 2 The seed for the optimization problem is generated by setting the r for all the manipulators equal to the reach of the manipulatorr reach and for the placements are equidistant with an angle of 2 n between them. If the multi-robot placement fails for the given segment sets, the multi-robot placement module uses the next ranked segment sets provided by the path decomposition module. 6.5 Results This chapter tests the algorithms on three path segment sets generated to build three dierent part geometries (C, M, and Y). The path segments of the part C geometry are generated by slicing and orienting the layers as the AM part is built on a tilting build-platform. The path segments are passed through the path decomposition algorithm to generate the decomposed path segment sets for three manipulators, i.e., red, green, and blue manipulators. The associated red, blue, and green decomposed segment sets for the three-part geometries are shown in Figure 6.5. These decomposed segment sets are fed to the multi-robot placement algorithm to generate the manipulator placements, which are shown in Figure 6.6. The industrial manipulators used by me are Yaskawa Motoman AR2010 (reach 2.01 m) with 6 DOF, and the tilting build-platform is Yaskawa MotoPos D500B with 2 DOF. 90 Figure 6.5: The decomposed path segment sets generated using the path decomposition algorithm. Each colored segment set is allotted to corresponding same colored manipulator. Figure 6.6: The WAAM simulation snapshot of the multi-robot placement solution generated using the algorithm. The simulation is done on Webots software [137] enabled using ROS2. 91 To compare the multi-robot placement results, the algorithm simulates three xed multi-robot cell layouts inspired by the WAAM industry to the multi-robot cell layout generated by the algorithm. I call the exible cell layout generated by the algorithm for dierent part geometries as L*. All the xed cell layouts have manipulators placed in a circular conguration with equal = 2 3 between them and r 1 =r 2 =r 3 =r (see Figure 6.4 for reference). In xed cell layout L1, the manipulators have a small reachability overlap region with r set close to the reach of the manipulator, i.e., 2.0 m. In xed cell layout L2, the manipulators have a medium reachability overlap region with r set to 1.75 m. In xed cell layout L3, the manipulators have a large reachability overlap region with r set to 1.5 m. In the xed cell layout, the algorithm decides the part location in cylindrical coordinates < r p ; p ;z p >. z p is same as the robot base frame z coordinate. The algorithm also uses an additional DOF to the part location by allowing it to rotate about its z-axis p . So the part location i.e. the part segment sets can be located using vector < r p ; p ; p >. This location is determined by a build time optimizing algorithm. The algorithm minimizes build time along with maintaining the reachability and IK consistency constraints. However, since the cell layout is xed, the count of IK inconsistency in robot paths is not always zero. Moreover, the path segments are decomposed by checking which waypoints exist in 2 3 sector of the manipulators. After the check, the decomposed waypoints are stitched to generate the decomposed segment sets for each manipulator. The build time and IK inconsistency in robot paths results for the three xed cell layouts with optimized part location and the optimized cell layout are shown in Table 6.1. The table generates results for the three-part geometries and provides the robot and part locations for all the cases. The multi-robot placement for all the cell layouts can be visualized in Figure 6.7. Comparing only the xed cell layouts. It can be seen from the results that part Y can be built using AM on only the L1 xed layout, but the other two-part geometries have signicant IK inconsistency in robot paths using that layout. Part C can be built using AM on the L3 xed layout, but the other two 92 Part Multi-Robot Build IK Inconsistency Robot Location Part Location Cell Layout Time Count <r 1 ; 1 ;r 2 ; 2 ;r 3 ; 3 > <r p ; p ; p > (hh:mm) (m,rad,m,rad,m,rad) (m,rad,rad) C L1 12:31 38 < 2:00; 0; 2:00; 2 3 ; 2:00; 4 3 > < 0; 0; 1:5708> L2 12:31 6 < 1:75; 0; 1:75; 2 3 ; 1:75; 4 3 > < 0; 0; 1:5708> L3 12:31 7 < 1:50; 0; 1:50; 2 3 ; 1:50; 4 3 > < 0; 0; 1:5708> L* 12:28 3 < 1:95; 5:25; 1:78; 0:12; 1:76; 4:07> < 0; 0; 0> M L1 17:43 54 < 2:00; 0; 2:00; 2 3 ; 2:00; 4 3 > < 0:01; 0; 2:89> L2 17:43 0 < 1:75; 0; 1:75; 2 3 ; 1:75; 4 3 > < 0:01; 0; 2:89> L3 NR NR < 1:50; 0; 1:50; 2 3 ; 1:50; 4 3 > NR L* 15:43 0 < 1:86; 2:43; 1:81; 0:86; 1:74; 5:53> < 0; 0; 0> Y L1 10:26 5 < 2:00; 0; 2:00; 2 3 ; 2:00; 4 3 > < 0:25; 1:61; 0> L2 NR NR < 1:75; 0; 1:75; 2 3 ; 1:75; 4 3 > NR L3 NR NR < 1:50; 0; 1:50; 2 3 ; 1:50; 4 3 > NR L* 12:09 0 < 1:85; 2:43; 1:70; 1:15; 2:00; 4:03> < 0; 0; 0> Table 6.1: The results of build time and IK inconsistency in robot paths (dened in Section 6.3) for the three xed cell layouts (L1, L2, and L3) and the optimized cell layout generated using the algorithm (L*). Here, NR means Not Reachable by one or more manipulators. parts can not be built on L3. The L2 path layout works great for building part M using AM. So dierent part geometries require dierent cell layouts. This can be overcome by using a larger manipulator than the AR2010, but it will cost more, and the manipulator size will limit the AM part size. The other way around is to move the manipulator based on the part geometries as seen in the algorithm's L* cell layouts. Thus, multi-robot AM users need to understand the trade-o between exible and xed cell layouts, which can be done using the algorithm. The part asymmetricity and the part size greatly in uenced where the manipulators were placed by the algorithm. Part C is a tall part that is bending towards one side. If the manipulators are placed symmetrically in a circular pattern like in any of the xed cell layouts, they will face diculty reaching the bent part's top layers. So the multi-robot placement algorithm gets the manipulator closer to be reachable at the top layers. Part M is symmetric if the setup had four manipulators. In a symmetric xed cell layout with three manipulators, the part decomposition will be inecient, and the part will have a higher build time. The algorithm cleverly paced the manipulator such that the build time was reduced. Part Y is a comparatively larger part and is asymmetric. So the only xed cell reachable is the one with the least reachability overlap region. However, the cell layout generated by the algorithm managed not just a reachable solution, but the solution has zero IK inconsistency in robot paths for a large part. 93 Figure 6.7: The plots to visualize the multi-robot placement locations of the xed cell layouts and the optimized cell layout with respect to the AM part location as listed in Table 6.1. 94 My optimization-based multi-robot placement algorithm generated robot placements using a single seed and converged to a local minimum. Furthermore, the minimization function that promotes IK consistency in robot paths reduces only the cumulative joint movement. These limitations can be overcome by using multiple seeds in the search space to nd the global minimum in the multi-robot placement and improving the objective function to include other parameters. 6.6 Summary This chapter presents a multi-robot placement algorithm that optimizes the build time and IK consistency in robot paths to build large parts. This chapter has demonstrated that cells with symmetric xed multi-robot placements have inherent limitations in dealing with parts that do not have rotational symmetry. These limitations can be overcome by using larger manipulators and therefore increasing the reachability of manipulators. However, larger manipulators are more expensive. The approach enables manipulator capabilities to be utilized to the fullest extent. Reconguration of robot placement in cells can be accomplished by placing manipulators on linear rails or mobile manipulators. For builds that require a large time, the manipulator can be mounted at dierent locations. 95 Chapter 7 Robotic Supportless Material Extrusion Additive Manufacturing 7.1 Introduction This chapter is based on my published paper [21]. In AM, the process in which the part is built layer by layer by extruding a molten lament is called material extrusion AM [63]. Polymer extrusion-based AM was rst trademarked as fused deposition modeling by Stratasys. To build parts with overhangs, they introduced support structures for thermoplastic extrusion-based AM. Support structures allowed to build parts with overhanging features (makes an angle of less than 45 with the horizontal plane), which avoided the sagging of such features due to gravity. One such thin shell (zero inll) vase-shaped part printed on a conventional AM setup (Stratasys uPrint SE Plus) along with the support structure is shown in Figure 7.1. The drawback of having support structures while building a part is that it introduces limi- tations in the extrusion-based AM process [63, 59]. First, adding support structures means that the machine spends time building the support layers. This increases the total build time of the part signicantly. Second, the surface nish of the part where the support structure adhered is of low quality. Third, the part built with support structures requires additional post-processing to remove it. And nally, the support structures require extra material during the extrusion-based 96 Figure 7.1: (Left) CAD model of a thin shell vase-shaped part with features making an angle less than 45 with the horizontal plane and (right) the thin shell part with 0:8 mm thickness is built with support structures on the inside and outside of the part. Figure 7.2: Extrusion-based supportless AM using (left) multi-Directional setup, (center) custom extrusion tool performing a specic pattern path, and (right) by constantly varying the build- direction 97 AM process. These limitations contribute to increased build costs. While support structures solve the problem of building overhanging features, I observe that they can also introduce sev- eral complications. So there is a need to avoid or at least reduce [78] the support structures in extrusion-based AM. There are three ways in which support structures can be avoided in extrusion-based AM. (A) The rst way is by performing multi-directional AM [84] (Figure 7.2(left)). Multi-Directional AM is possible on a multi-axis setup such as a 6 degree of freedom (DOF) robotic manipulator or a custom 5 or more DOF setup. In this setup, the part to be built is divided into sub-parts such that no support is required to build the sub-parts. Then either the build-platform is reoriented, or the extrusion tool is reoriented intermittently, and the part is built just like conventional AM. (B) The second way is by designing a custom extrusion tool which performs a specic pattern build [108] (Figure 7.2(center)). This allows me to build any shape parts without support as the material settles down quickly without sagging. (C) The third and the nal way is by continuously reorienting the 2 or 3 DOF build-platform under a 3 DOF extrusion tool [67] (Figure 7.2(right)). The key dierence between this approach and multi-directional AM is that in multi-directional AM, each layer has a constant build direction, which is not the case in the third way. The build direction can vary at every location of the part while building it. Thus there are three ways the support structures can be avoided in extrusion-based AM. Thin shell parts are utilized in aerospace industries for rocket engine bodies, oil and gas industry for boilers, aeronautic industry for aircraft bodies, food industry for vessels, art, and craft industry for artifacts. It will be benecial if these components can be manufactured using supportless AM. This chapter only considers free-form thin shell geometries. Such geometries can be generated by sweep blending varying cross-section over a three-dimensional curve. Consider the thin shell asymmetric part shown in Figure 7.3, with a shell thickness of 0:8 mm. As the part has no inll, there is no way that it can be built with method A, multi-directional AM. Using method B with a custom extrusion tool will imply restrictions on the material and design, and 98 Figure 7.3: The CAD front view and top view of a thin shell asymmetric part with a shell thickness of 0:8 mm. it will be dicult to achieve the desired 0:8 mm shell thickness. Method C, in which the build direction is continuously varied, shows a possibility to build the given part. Among the few works done in the domain of method C [67, 167, 206] (similar setup), none of them provide an algorithm to build a part similar to the one which this chapter is considering. So the rst task is to develop an algorithm to make the part shown in Figure 7.3. It is implied that if the algorithm should also be able to build the part shown in Figure 7.1. The thin shell part needs to be continuously reoriented on a 2 or 3 DOF build-platform and built using a 3 DOF extrusion tool. This requires me to do the second task, which is to modify an existing slicing algorithm or design a new one that can fulll specic requirements of the process. Robotic manipulators are known for their exibility and the variety of tasks they can perform. Multi-Axis AM setup can be quickly built using manipulators [13]. Manipulators have high repeatability but low accuracy. AM requires accurate deposition. The accuracy errors in manipulators can go up to several millimeters. While building a thin shell part with 0:8 mm thickness, such errors can cause part failures. So the third and nal task this chapter needs to perform is a scheme to reduce the execution errors of the manipulators before performing AM. 99 Figure 7.4: The slicing of the part shown in Figure 7.3 to build it using method C type extrusion- based supportless AM. I have dened the three tasks that are required to be done to build the part in Figure 7.3 without support structures. These three tasks are in direct correlation with the innovations of this chapter. The primary contributions are threefold. (1) This chapter develops a new approach to the slicing algorithm, which satises certain requirements, which will be discussed in Section 7.3.2. The new slicing algorithm is meant to handle thin shell parts, as shown in Figure 7.3 for supportless AM using method C (see Figure 7.4). (2) This chapter designs a path generation algorithm for the 3 DOF build platform and 3 DOF extrusion tool to build thin shell asymmetric parts like the one shown in Figure 7.3. The algorithm uses the method C and is not performing multi-directional AM. This algorithm is described in Section 7.3.3. (3) This chapter applies trajectory compensation to reduce execution errors. To do this, this chapter realizes a trajectory execution error compensation scheme which applies on top of the industrial manipulator controller. The compensated trajectory has a signicant reduction in path and orientation errors and hence allows me to perform accurate deposition. The details of the scheme are discussed in Chapters 4 and 5. 100 7.2 Related work Robotic manipulators are used for expanding the functional capabilities of AM processes. The sur- vey by Bhatt et al. emphasizes ve technologies of AM using manipulators: (1) multi-directional fabrication, (2) conformal deposition, (3) assembling prefabricated components in AM, (4) sup- portless AM, and (5) large-scale AM [24]. This section covers the published work, which describes a way to perform supportless extrusion-based AM. As seen in Section 7.1, these work can be classied into three methods (see Figure 7.2). This chapter has already discussed in the previous section why these state-of-the-art methods are not adequate to build the part described in Figure 7.3. Method A (Mult-Directional AM): Wulle et al. have addressed the machine design, workpiece de- sign, and the advantages of a multi-axis extrusion-based AM, which includes reduction of support structures. The part is built by dividing it into sub-components, reorienting the part, and per- forming multi-directional AM to build the sub-components [200]. Gao et al. have added a cuboidal rotational build-platform to an inexpensive 3D printer to add the capability of multi-directional functionally embedded 3D printing. The parts are divided into sub-components, reoriented, and multi-directional AM is performed to build parts with reduced support structures [58]. Lee et al. have added an extruder to a 5-axis milling head to form a low-cost hybrid AM machine. The setup is performing multi-directional AM to build supportless parts [110]. Wu et al. have used a 6 DOF build-platform under a xed extrusion tool to facilitate supportless structures by intermittently changing the build direction. They have exploited the capability of multi-directional AM to build supportless parts [195]. Keating and Oxman have performed extrusion-based AM using a 5-axis build-platform mounted on a KUKA robotic arm. They have built one supportless curved part by using their setup [99]. Ishak et al. built supportless lattice structures on a robotic arm platform. They used the concept of multi-directional AM to achieve it [83]. In their previous work, they had used the same multi-directional AM to build solid supportless parts [84]. Li et al. have 101 developed a hybrid additive-subtractive setup using a 6 DOF manipulator. Like others, they also achieved the supportless capability by using multi-directional building of parts [112]. Kubalak et al. explored multi-axis AM on a 6 DOF setup to build supportless parts. The working of the setup relied on the concept of multi-directional AM [106]. Zhao et al. built parts without assisted support structure using multi-directional AM [221] Xu et al. have used a 3+2 DOF platform to perform multi-directional AM to build decomposed supportless parts [203]. Wu et al. devised a support-eective volume decomposition algorithm for multi-directional AM to reduce support structures [196]. Method B (Design of custom extrusion tool performing a specic pattern): Laarman et al. devel- oped a new extrusion technology for thermo-setting polymers and attached it to the end-eector of 6 DOF manipulator. This new setup was able to perform anti-gravity AM and built support- less parts [108]. Peng et al., in their work, on-the- y-print have used a 5 DOF setup to built supportless structures. Their setup relies on the cool mist sprays besides the additional DOF to build the parts and to solidify the extruded material before it sags [150]. Khoshnevis used robotic extrusion-based AM to devise a process called contour crafting to build structures. He has used his own unique tool-path pattern to avoid support structures for building roofs of houses [102]. Felbrich et al. used a 6 DOF manipulator to build composite supportless structures. They adopted the idea from the shell formation of land snails to make it possible. A new extruder for depositing thermoplastic strip with concrete is designed to build supportless parts for architec- tural application [50]. Wu et al. have used a rhombic inll pattern to avoid support structures in the printed parts [197]. Etienne et al. performed slightly curved slicing of parts for a 3-axis printer and reduced support structures [47]. Wang et al. modied and optimized the interior structure of the built parts to achieve support-free hollowing [190]. Method C (Continuously reorienting the build-platform): Grutle has added a two DOF build- platform to a conventional 3D printing setup in his thesis to achieve supportless structures. He has built two simple symmetric parts by rotating the build platform at a constant orientation 102 Figure 7.5: The ABB RobotStudio simulation environment showing the degrees of freedom of the extrusion tool and the build-platform enabled by the industrial manipulators. and proved the preliminary concept [67]. Song et al. have developed a 6 DOF low-cost parallel kinematic machine to move the extrusion tool for multi-axis extrusion-based AM. They have shown the benet of supportless AM by building a spiral structure and a slant surface [167]. Yerazunis et al. used a 5-axis printing mechanism that has a 2 DOF base platform to built supportless parts. The goal of their work was to strengthen the parts by orienting the bers. They build one symmetric part to test its properties [206]. 7.3 Application Specic Algorithms 7.3.1 Background This section describes the method C type of setup used to perform supportless extrusion-based AM. The setup essentially consists of two main components, (1) a 3 DOF build-platform and (2) a 3 DOF extrusion tool. The degrees of freedom for the two components are enabled using industrial manipulators. The 3 DOF build-platform is the base plate of the AM setup. Much like the conventional 3D printer, it acts as a surface on which the part is built layer by layer. The TCP of the build-platform is placed at the center of the circular disk, and it is located on the top 103 surface. The 3 DOF build-platform has a xedx;y; andz location but it can reorient itself about thex;y; andz-axis of the TCP (Figure 7.5). The reorientation range is [;] for thez-axis and is [=4;=4] about the x and y axis from the current location. The extrusion tool is shown in Figure 7.5. The TCP of the extrusion tool is located at the tip of the nozzle. In a conventional 3D printer, the extrusion tool may have 2 or 3 DOF where it can move about thex;y; and/orz-axis, and in this chapter it has a xed 3 DOF. The 3 DOF are the translation motion about thex;y; andz-axis. Thus the overall setup consisting of the 3 DOF build-platform and the 3 DOF extrusion tool provides the necessary maneuverability as required by a method C type of setup. 7.3.2 Layer Slicing The slicing algorithm for building thin shell supportless extrusion-based AM parts using method C has three requirements. (1) The layers should be separated from each other using adaptive layer thickness. In supportless thin shell parts, if layer heights are not correctly selected, there can be gaps between the successive layer laments. This leads to the sagging of overhanging features within a few layers and an overall failure of the part [148]. (2) The layers should be dened using an equal number of points, with each point having an associated point in the layer below. The method C type of AM requires me to have a knowledge of the local slope at the point where the part is being built. This is only possible if the algorithm has knowledge of the associated point in the previous layer. (3) The points in a layer should be arranged in such a way that the start point of the next layer is exactly above the endpoint of the previous layer. This feature enables the continuous building of the thin shell parts without any break. It plays a signicant role in build time reduction. These requirements are not satised with the traditional slicing algorithms. To satisfy these requirements, this chapter has developed a new slicing algorithm. Our slicing algorithm takes the tessellated CAD modelC of the thin shell part as an input. TheC is generated by the user such that the z-direction is aligned with the initial direction of 104 A B C D Figure 7.6: An illustration of the ray-triangle intersection slicing algorithm steps: (A) the average axis of symmetry (B) one of the m slope maps of the part (C) the m direction vectors placed in each of the adaptive height n slicing planes (D) the collection of the continuous layer contours sorted and plotted on the part. build, and the origin is located at the base of the part to be built. A tessellated CAD model is usually represented using STL format [156]. STL format works by approximating the part using triangles. The smaller the size of the triangles, the better it approximates the actual geometry. Each STL le contains the information of the vertices of the triangle~ v, the face indexf to which these vertices belong, and the outward normal ~ n to these faces. The most common method of slicing such a part would be by obtaining the intersection between the slicing planes and the surface triangles of the part. The intersecting line segments in each slicing plane would be joined to form a contour. Such collections of contours would capture the geometry of the part to be built. However, such a state-of-the-art slicing algorithm does not satisfy my requirements. So, this chapter proposes a ray-triangle intersection based algorithm. The ray-triangle algorithm can be understood using four steps, i.e., computing average axis of symmetry, determine layer thickness, placing direction vectors, and generating layer contours. 1. Computing average axis of symmetryA: The average axis of symmetry is a 3D curve to best approximate the shape of the part to be built. To generateA, the algorithm uses ~ v read fromC. These ~ v =fv x ;v y ;v z g are grouped such that all the ~ v in a particular group have the same v z and the centroid of each of the grouped~ v is calculated. The line passing 105 Figure 7.7: The relation between the layer thickness and the extruded lament diameter for the algorithm. through all these calculated centroid points isA. A captures the shape of the part to be built and helps to slice the part properly. The algorithm will utilize it in the subsequent steps for slicing the thin shell part to be built. The average axis of symmetry for one such part is shown in Figure 7.6A. 2. Placing direction vectors ~ D: The direction vectors determine the number of points in each layer. The greater the number of points, the better the thin shell part contours are ap- proximated. By keeping a high enough resolution, the algorithm avoid excessive simpli- cation in the approximation ofC. Suppose m points are required in each layer, then an angular step size equal to 360=m is calculated. The direction vectors are placed in each slicing plane with the origin at the average axis of symmetry and the direction equal to ~ d i =fcos(i 360=m);sin(i 360=m); 0g, where i is the index of the direction vector in that plane. Such collection of direction vectors ~ D =f ~ d 1 ; ~ d 2 ;:::; ~ d m g for each plane is generated when the layer thickness is determined. This step enables me to satisfy the requirement of each point having an associated point in the layer below to calculate the local slope. 3. Determining layer thicknessT : The need to determine the layer thicknessT is to incorporate the adaptive layer thickness in the slicing algorithm, which is one of my requirements. To do 106 that, the algorithm initializes with some xed layer thickness equal to the nozzle diameter of the extrusion tool. This allows me to have equidistant slicing planes. These slicing planes would have been ideal for performing conventional AM, but for execution supportless AM of thin shell parts, the algorithm will need to place the slicing planes at an adaptive distance. All the m direction vectors generated in the previous step are placed on the initialized equidistant planes with the center located on A. The intersection points between these vectors and the surface triangles of C is determined. The curves passing through these points are the m slope maps of the thin shell part. One of the m slope maps is shown in Fig 7.6B. For determining the new adaptive slicing planes and the adaptive slicing height, the algorithm multiplies the nozzle diameter to the cosine of the steepest slope among the m possible options for generating the layer height at that location. The layer thickness does not alter the extrusion lament diameter, as seen in Figure 7.7. Thus in this manner, the layer height from the bottom to the top of the thin shell part is calculated. The m direction vectors placed in the adaptive layer height planes are shown in Figure 7.6C. 4. Generating layer contoursL: Suppose that there are n adaptive slicing planes generated withm direction vectors placed in each of these planes in the previous steps. These direction vectors intersect with the tessellated CAD to generate m points in each of these n planes. The layer contoursL is formed by sorting these m points in each of the n layers from the bottom to the top layers. The contours formed by connecting these points are plotted in Figure 7.6D. This satises the third and nal requirement where the endpoint of each layer is the start point for the next, and the algorithm can build the thin shell part in a continuous manner. 107 7.3.3 Tool-Path Generation The tool-path generation is an important step in additive manufacturing [77, 199]. This section generates the build-platform and extrusion tool-path plan for performing the method C type of supportless extrusion-based AM. The tool-path generation is based on the novel idea of comput- ing a separate build-direction for each point in a layer to avoid supports. This algorithm was introduced in a previous work [20]. The algorithm takes the layer contoursL generated in the previous section for the thin shell partC. These layer contours are used to generate the build- platform rotation and the extrusion-tool path for building the thin shell supportless part. These paths are checked for any type of collisions before building the part. 7.3.3.1 Build-Platform Rotation The extrusion-based AM process can build layers without support structures till they make an angle greater than 45 with the horizontal. As this angle becomes less than 45 , the hot lament being extruded starts to sag, and the part fails. This sagging occurs due to the gravitational force acting on the molten lament. One of the solutions to this problem is to provide support to the molten lament under the force of gravity. The support can be in the form of an external structure (as in conventional AM) or can be obtained by tilting the part so that the layer makes an angle greater than or equal to 45 . I use the latter method (type C) to avoid the support structures for thin shell parts. To explain the algorithm, this chapter will rst introduce a few denitions. The algorithm assigns a reference frame B at the center of the build-platform, as shown in Figure 7.8. From the previous section, the algorithm obtains the layer contoursL containing n layers andm points in each layer. The algorithm associates a coordinate frame with each of these nm points. One such coordinate frame p for an active point is shown in Figure 7.8. An active point is a point where the extrusion tool is depositing material. The z-direction vector for the active point ~ b z is directed from the current point to the corresponding point in the layer below, 108 Figure 7.8: An illustration of the method C type setup with the terminologies the chapter uses to explain the tool-path generation. which was obtained by satisfying the requirement of the slicing algorithm. This allows capturing the local slope of the active point, as seen in Fig 7.8. In the rst layer, the ~ b z is directed in the direction of gravity, i.e., downwards. The ~ b y is directed from the current point to the next point in the active layer. The active layer is the layer in which the active point is located. ~ b x is perpendicular to ~ b y and ~ b z . Finally, ~ b y is realigned by making it perpendicular to ~ b z and ~ b x . The magnitude of the angle between ~ b z and the horizontal in the world frame W is the local slope angle. The world frameW is usually attached to the base of the manipulator holding the build-platform, and all the frames dened are with respect to W . The horizontal plane of W is perpendicular to the gravity vector. In the algorithm, the build-platform rotation only occurs when the layer slope magnitude becomes less than 45 . If it is greater than that, then the build-platform does not reorient, and the part is built without build-platform motion. If the layer slope is less than 45 , the build-platform needs to reorient to increase to 45 . An illustration showing the build-platform reorientation to build a thin shell part is shown in Figure 7.9. This reorientation is calculated by determining the rotation matrix required to transform the active point coordinate frame by an 109 Figure 7.9: An illustration showing the reorientation of the build-platform and the change in the location of the extrusion tool to change the local slope angle of the active point on the thin shell part from less than 45 to equal to 45 in order to avoid support structures. angle such that the is changed to 45 for the active point. This chapter calls this compensated active point frame as p . To make this possible, a rotation R is applied to the build-platform frame (B), and the new frame B is the compensated build-platform frame for the active point. The mathematical formulation to calculate the rotation matrix for each active point is shown in equation 7.1. R = ( B R p ) ( B R p ) T (7.1) Here, B R p is the rotation matrix of frame p with respect to frame B and B R p is the rotation matrix of frame p with respect to B ( T is transpose). The process for generating a rotation matrix is performed for all the nm points. The collections of the such compensated build- platform rotation matrices for the nm points are called the waypoints for the build-platform W 2 . For, the point requiring no rotation, the waypoints store the rotation matrix as the identity matrix. The Cartesian location of the build-platform waypoints is always constant and equal to the initial xed value in the world reference frame W . 110 In the case of thin shell asymmetric parts, the build plate rotations generated using Equation 7.1 will be abrupt and jerky due to sudden changes in value at dierent points in a single layer. I have found that the key to a successful build without defects is to have a single magnitude at all the points in a single layer. At dierent points in a layer, the local slope angle can be inward towards the average axis of symmetry or can be outward. So the algorithm rst determines the min slope in each layer and the direction of the min slope, i.e., inward (negative) or outward (positive). If the min slope value is greater than 45 , then there is no need for compensation. But if the min slope value is less than 45 , there is a need for build-platform compensation, and max is calculated. Finally, each point in that layer is reoriented by the max amount in the opposite direction of the min slope, and the rotation matrices for the build-platform waypoints are generated. By using such a modication for asymmetric thin shell parts, the algorithm deals with three cases of build-platform rotation. 1. The active point in the layer has the same direction of local slope angle (with respect to the min slope), and its value is less than 45 with the horizontal. In this case, by applying the max rotation in the opposite direction of the slope, the compensated local slope angle will be greater than 45 with the horizontal. 2. The active point in the layer has the same direction of the local slope angle, and its value is greater than 45 with the horizontal. In this case, by applying the max rotation in the opposite direction of the slope, the compensated local slope angle will be greater than 45 with the horizontal. 3. The active point in the layer has the opposite direction of the local slope angle. In this case, by applying the max rotation in the same direction of the slope, the local slope angle may or may not stay greater than 45 with the horizontal. If it is less than 45 with the horizontal, the algorithm will throw a warning message for the human to assess the situation. The 111 human can still attempt to build the part with the chances of defect or failure. This is a limitation of the method C type of extrusion-based supportless AM. 7.3.3.2 Extrusion Tool-Path Generation Once the algorithm has the build-platform waypointsW 2 , it needs to determine the location of the extrusion tool-tip at each of these waypoints. If there is no build-platform reorientation, the extrusion tool location will be determined the slicing contours (similar to conventional AM). But in the method C type supportless AM, the extrusion tool location changes due to the build-platform reorientation (see Figure 7.9). The algorithm keeps one-to-one correspondence betweenW 2 and extrusion tool waypointsW 1 . The extrusion tool waypoints are initialized with theL Cartesian locations and a constant human determined rotation matrix value, both with respect to the world frame W . The rotation matrix value of the extrusion tool corresponds to the tool pointing along the gravity vector. Now for each of then layers, it is checked whether the layer has a build-platform rotation or not. If there is no rotation, the extrusion tool waypoints are kept the same as the initialized value for that layer. If there is a build-platform rotation, the Cartesian values of the waypoints are updated by multiplying them with the corresponding point rotation matrix calculated in the previous section. The extrusion tool-path for the asymmetric thin shell part shown in Figure 7.3 is shown in Figure 7.10. It can be seen that as compared to the layer contours of the part, the extrusion tool-paths are dierent when the build-platform rotates. These tool-paths are non-planar for the asymmetric parts. 7.3.3.3 Collision Detection The collision detection module works simultaneously while generating the tool-path. It does not alter the waypoints but acts as a safety feature in this algorithm. Since this algorithm consists of the build-platform and extrusion tool moving together, it becomes increasingly dicult to 112 Figure 7.10: The sliced layer contours and the method C supportless AM extrusion tool-path for the thin shell asymmetric part shown in Figure 7.3. visualize the generated tool-paths. The collision may be generated from human error in generating the tessellated CAD or a simple bug in the implementation of the algorithm. However, when the hot extruder collides with build-platform, the result is bad, with both of them being damaged, re, and loss of calibration. So by adding this module, the algorithm is checking any collisions in the path in the generation stage itself. Our collision detection module works by approximating the extrusion tool and the build- platform using the sphere tting algorithm [14]. These spheres are placed in such a way that they are tangent to each of the triangles of the tessellated CAD at the centroid of those triangles. The spherical representation of the build-platform and extrusion tool is seen in Figure 7.11. These spherical representations are transformed into the corresponding one-to-one waypoints as soon as they are generated, and then the distance between the two closest spheres of the build-platform and the extrusion tool is calculated. If that distance is less than the sum of the radius of these spheres, the waypoint generation is stopped, and the human is alerted with the possible collision in the waypoint pair. 113 Figure 7.11: An illustration showing the sphere approximation of the build-platform and extrusion tool for collision detection. 7.4 Experimental Setup The experimental setup uses two 6 DOF industrial manipulators to enable the 3 DOF build- platform and 3 DOF extrusion tool setup, as discussed in Section 7.3.1. The reason for selecting 6 DOF manipulators is due to their availability and can be easily swapped with two 3 DOF manipulators or custom mechanisms. The build-platform, as seen in Figure 7.12A is held using an ABB IRB 120 manipulator. Since the build-platform is only allowed to be reoriented, the manipulator is constrained to reorienting itself about the TCP of the build-platform. The 3 DOF extrusion tool is mounted on the end-eector of an ABB IRB 2600 (see Figure 7.12A). This manipulator is constrained to move linearly in the Cartesian coordinate frame, and the extrusion tool is always pointing in the direction of gravity. Both the manipulators are controlled by their individual IRC5 controllers, and these controllers are connected to the computer using Ethernet cables. The build-platform is a rigid plate that is printed using red ABS (acrylonitrile butadiene styrene) material on a uPrint SE Plus. I selected ABS as the material due to its decent adhering property with PLA (polylactic acid). This property allowed me to print PLA parts on the build- form without having any additional heating in the build-platform and the part not falling o from 114 A B Figure 7.12: (A) The experimental setup with two manipulators holding the 3 DOF build-platform and 3 DOF extrusion tool (B) The simulation created in ABB RobotStudio to validate the tra- jectory before execution on the experimental setup. the build-platform while printing. The extrusion tool consists of a heating block, a feed-motor, and a cooling fan. The tool is held together and mounted on the end-eector of the manipulator using a custom printed red ABS mount. The extrusion tool is controlled using an Arduino micro- controller. The setup uses a 0:8 mm nozzle on the extrusion tool and PLA material as the build material. The extrusion tool is the direct type (another common type is the Bowden type). The extrusion tool micro-controller is given digital signal inputs from the DSQC652 I/O unit of the IRC5 controller. This allows me the control the feed rate of the material, the temperature of the material, and the speed of the cooling fan. These factors are critical to control the part quality and build speed. The fan, apart from keeping the feed motor cool, also helps to cool down the built part by increasing the air ow in the surrounding environment. The entire setup is working at an approximate environmental temperature of 22 C, and the PLA material is heated from 210 C to 230 C for extrusion. The higher temperature for extrusion is to get overcome the moisture absorbed by the lament over time. 115 7.4.1 Multi-Robot trajectory simulation The trajectoryT and compensated trajectoryT (refer Chapter 4) generated using the algorithm are in the Cartesian space. I rely on the robots inbuilt inverse kinematic solver to generate the conguration space trajectories to be deployed in the experimental setup. This implies that there might be multiple joint congurations possible, and the manipulator might opt for sudden cong- uration changes. Moreover, these trajectories do not incorporate any collision checks between the links of the two manipulators moving simultaneously in an intersecting work-space. The solution selected might involve a collision between the two manipulators. To overcome this problem and by taking advantage of the already built tool, I use ABB RobotStudio software to simulate and validate the trajectories before actually executing on the experimental setup. The simulation step (which can be done at a higher speed than actual) will take care of such collision issues and validate the trajectory for the safe execution on the experimental setup. Though, ABB RobotStudio software simulates the actual IRC5 controllers of the manipulator; they might not have the same execution errors as the actual manipulator. So I use the uncom- pensated trajectoryT to simulate the supportless AM setup. This enables me to simulate the trajectory simultaneously while the scheme is collecting the data for training the neural network on the actual setup. Figure 7.12B shows the simulation environment. 7.4.2 Sampled trajectory data collection and neural network training I execute the sampled trajectories (refer Chapter 4) on the manipulators, one at a time. This makes sure that only one manipulator is moving at a time, and the second manipulator is moved out of the way, and there is no chance for collision. The sampled trajectory is sent to the manipulator's controller by establishing serial communication (Python-based) between the controller and the computer. When the manipulator executes the trajectory, the executed trajectory data is polled from the robot joint encoders and stored in the controller. This data from the joint encoders 116 are converted to position and orientation space in the controller (using forward kinematics of the manipulator). The controller clock also stores the time stamp from the start of the program to when each data is polled. The position, orientation, and time measured using the encoders and controller serves as the data to train the ANN. At the end of execution, the same port is used to send the executed trajectory data from the manipulator's controller to calculate the execution error and train the All-Net for each of the manipulators. Since the scheme already knows the execution errors of the sampled trajectories for both the manipulators, it calculates the sampled compensated trajectories. The two All-Nets for both the manipulators are trained separately by performing supervised learning. Here the uncompensated sampled trajectory is given as input to the network, and the compensated sampled trajectory is provided as output. Once both the All-Nets are trained, the entire trajectories are given as input to the All-Nets to generate the compensated trajectories. These compensated trajectories are plotted and checked before executing on the manipulator to avoid any issues that might have occurred due to over-tting or under-tting of the data. The accuracy error of the manipulator is greater than 1:5 mm, which is reduced to around 0:5 mm after the compensation along with the signicant reduction in time lag error. This shows that a thin shell supportless AM part, which has a shell thickness of 0:8 mm, will fail without compensation. 7.4.3 Multi-Robot trajectory execution I execute the compensated trajectories simultaneously on the experimental setup to build the parts. The trajectory data is provided to the respective manipulator controllers by establishing serial communication between the computer and both the IRC5 controllers. Here the computer acts as the master, and both the controllers act as slaves. This allows the computer to have check- points for the corresponding one-to-one trajectories to make sure both the manipulators reach the respective waypoints at a given time. As the execution error has been reduced, these checkpoints will always match. If in an uncertain case, there is a time lag and one of the manipulators has 117 not reached the checkpoint, the computer will ensure that the second manipulator waits for the rst one. This makes the multi-robot trajectory execution fail-safe and continuous. 7.5 Results This chapter describes the thin shell parts built using the method C type setup without using supports. This chapter also characterizes the thin shell parts in terms of accuracy, build time, and support material usage. This characterization allows me to benchmark the setup against the commercially available conventional extrusion-based AM printers. I select dierent commercially available 3D printer hardware/software to benchmark each of these characteristics accurately. 7.5.1 Built Parts This chapter displays the dierent types of thin shell geometries that are built using the method C type extrusion-based AM setup. The tessellated CAD model, the sliced layer contours (blue), the extrusion tool-path (red), and the built thin shell part built are shown in Figure 7.13 and 7.14. All the parts t inside a bounding box of 300 300 200 mm and are built using PLA material. 7.5.2 Part Accuracy The part accuracy is an essential feature for any AM product [101, 179, 1]. As compared to other AM processes such as VAT photopolymerization, powder bed fusion, or direct energy de- position, the process this chapter uses, i.e., material extrusion, has a lower accuracy due to the process characteristics [63, 117]. Apart from that, in the setup, the nozzle diameter (0:8 mm), the manipulator accuracy, localization error, and the dynamic forces due to the rotation of the part can aect the part accuracy. These factors contribute to the thin shell part accuracy in a complex manner, and to give a denite value to the experimental setup, I scan each of the built 118 A B C D Figure 7.13: The tessellated CAD model, the sliced layer contours (blue), and the extrusion tool-path (red) on the method C type of setup using supportless extrusion-based AM. 119 A B C D Figure 7.14: The built thin shell part on the method C type of setup using supportless extrusion- based AM. 120 Figure 7.15: The accuracy error color map of the thin shell part scanned point cloud overlayed on the tessellated CAD model with the labelled color bar. parts to generate a point cloud and compare it with the tessellated CAD model used to generate the tool-paths. To generate the point cloud, I use the Hexagon Absolute ROMER Arm with an integrated laser scanner, which has a volumetric accuracy of += 0:051 mm to scan the built part. The point cloud of each part is compared to the tessellated CAD model of each part using the Hexagon PC-DMIS software, and the generated color map of the point cloud overlayed on the CAD model with the labeled accuracy color bar is shown in Figure 7.15. From the gure, it can be seen that the average accuracy is 0:222 mm, and the max error for most of the parts is 0:556 mm. This is a good part accuracy as it is close to the half of the nozzle diameter, i.e., 0:4 mm. 7.5.3 Build Time The build time is the duration of time required to build one part completely. This one of the key benets of the supportless AM setup as compared to the conventional AM setup. Since the supportless AM setup does not have to build the support layers and do not require to transition from build to the support material print head, there is a considerable time-saving. The method 121 Table 7.1: Comparison of the build time on the method C type supportless AM setup to the conventional AM setup for building thin shell parts. Part Build time (hr:min) supportless AM conventional AM A 01:12 11:42 B 01:21 07:36 C 00:54 47:36 D 01:22 09:26 C type setup, which uses PLA material, is building the thin shell supportless AM parts at a constant velocity of 20 mm/s, with a nozzle diameter of 0:8 mm. To demonstrate the advantage of the supportless AM time saving, I compare the build time of the same thin shell parts with the same nozzle diameter and velocity but built on the conventional AM setup. These values are listed in Table 7.1. It can be noted that in several cases, the build time saving is up to 90%. This will be advantageous in an industry where AM is not preferred compared to subtractive manufacturing due to its higher build time. As there is no post-processing required to remove the support structure, the post-processing time will also reduce. The post-processing time saving is not considered in the values listed in the table. 7.5.4 Material Usage The material saving is closely related to the build time saving. Since the supportless AM setup is not printing any support layers, no support material is utilized. In a conventional AM built part, there will be extra material used to build the support structures, and the support structures will be removed by some post-processing method. So the support material is wasted. To highlight this issue, I compare the volume of support material used in the supportless AM and conventional AM setup. The volume of build material used will be almost the same in both the setups, but the conventional setup will consume extra material for support structures. This is seen in the values enumerated in Table 7.2. 122 Table 7.2: Comparison of the support material usage on the method C type supportless AM setup to the conventional AM setup for building thin shell parts. Part Support material usage (mm 3 ) supportless AM conventional AM A 0 241545.32 B 0 68334.06 C 0 162559.68 D 0 61123.31 7.6 Summary The layer slicing and the tool-path generation algorithm developed in this paper can provide the paths to build free-form thin shell parts using a 3 DOF build-platform and 3 DOF extrusion tool supportless extrusion-based AM. The build time and support material usage reduction in the extrusion-based AM was made possible for the thin shell parts. All the contributions were tested by building and characterizing multiple parts. 123 Chapter 8 Robotic Multi-Resolution Material Extrusion Additive Manufacturing 8.1 Introduction This chapter is based on my published paper [19]. The material extrusion AM lament, when deposited on a surface, has a bead geometry, as shown in Figure 8.1. The deposited lament bead geometry can be dened using bead height and bead width. This bead geometry is related to the nozzle diameter, extrusion rate, and nozzle speed. The nozzle diameter limits the maximum bead height. To increase the bead height, I need to increase the nozzle diameter. To increase the bead width, I can squish the extruded material under the at nozzle tip. So it is crucial to understand that to attain a larger bead width along with a larger bead height, I need to use a separate nozzle with a larger diameter. Moreover, the build time reduction by having only larger bead width is lower than the build time reduction by having larger bead width and bead height in material extrusion AM. The conventional material extrusion AM builds part using a constant bead size, which is dependent on the extrusion nozzle's diameter. In this chapter, I will refer to bead size with large height and width as the large lament and the bead size with comparatively small height and width as the small lament. Parts built with large lament have a lower build time. However, such 124 Figure 8.1: The illustration of the nozzle diameter and the deposited lament bead width and bead height. parts face limitations, such as poor part geometry approximation and increased surface roughness caused by the stair-stepping eect and the deep grooves caused by the large lament. All these limitations can be reduced by using small laments in material extrusion AM. This, in turn, increases the build time of the part. Thus, conventional material extrusion AM forces the user to compromise either on build-time or surface nish. Figure 8.2: The CAD model of a part and the conformal part built using non-planar layers [162]. 125 Figure 8.3: Two example manipulator setups to build conformal parts [162]. Conformal material extrusion AM enables building a part using non-planar layers. A conformal part is built with non-planar layers, and the CAD model of the built part is shown in Figure 8.2. It is usually enabled using robotic manipulators, as shown in Figure 8.3 or with Computer Numerical Control (CNC) machine with a rotary table. I select manipulators for the bigger workspace, higher kinematic exibility, and portability. Manipulators are easily programmable to execute non-planar tool-paths. The main advantage of using non-planar layers is that it reduces the stair-stepping eect and improves surface quality [87, 88]. Along with the reduced stair-stepping eect, conformal AM also provides advantages such as the reduction in build time and better-oriented lament in the parts. However, it is also aected by the bead size used to build the part. A larger lament increases the surface roughness due to the deep grooves caused by the bead shape. In comparison, a smaller lament reduces the surface roughness but increases the build time of the part. It can be seen in Figure 8.4A that a large lament gives a rough surface quality to the part. Thus, users have to compromise between the surface quality and build time in conformal AM. 126 Figure 8.4: (A) Parts showing the dierence between large lament and small lament in conformal AM. (B) A part being built using multi-resolution laments. Here, 0.8 mm resolution means lament printed using 0.8 mm diameter nozzle and 0.4 mm resolution means lament printed using 0.4 mm diameter nozzle. The build direction is pointing outwards along the normal to the plane [13]. The concept of multi-resolution AM in was introduced in a previous work [13]. I dene multi- resolution AM as a process in which small and large laments are used to build a single part. The large lament is used to build the part's interior regions (i.e., interior layers). The small lament is used to build the skin (i.e., exterior layers). The interior layers are sandwiched between the exterior layers. A part being built using multi-resolution AM is shown in Figure 8.4B. Multi- Resolution AM oers the advantage of reducing the build time without compromising the surface quality. The part is built fast as the interior layers are built using large laments. The interior layers form the major chunk of the part volume. The part has good surface quality as the exterior layers are built using small laments. This chapter presents a new approach for performing multi-resolution AM using a single 6 DOF manipulator. To perform multi-resolution AM with a single manipulator, I need a multi- nozzle extrusion tool. Such a tool has a complex geometry, and I need to design a planning approach to work with this tool. This chapter has developed an automated slicing algorithm (see Section 8.3) that analyzes the part and utilizes a combination of planar and conformal deposition steps to generate the layers for performing multi-resolution deposition. The slicing algorithm directly uses surface representation and hence avoids the limitations of geometry approximation. 127 This enables it to generate a smooth path without increasing the execution time. Moreover, we use the search-based path planning algorithm (see Chapter 3) to generate smooth collision- free extrusion tool-paths for a manipulator. This algorithm achieves computational eciency by reducing collision checks. My approach combines planar and conformal layers and utilizes a complex multi-nozzle tool to build the part. Due to the added complexity in extrusion tool geometry, the hybrid layers require collision checks along the entire deposition path to ensure feasibility. Doing this using an exhaustive search is not feasible. The graph search-based algorithm described in Chapter 3 generates tool-path for multi-resolution deposition in an ecient manner. 8.2 Related work Multi-resolution AM is currently being researched for several dierent processes [24]. This chapter focuses on the extrusion-based process [68]. A few works in the domain include a prior work in building a robotic cell to perform multi-resolution AM [13]. Chesser et al. used dual resolution planar layers to improve surface roughness for big area AM [36]. Delrot et al. developed an integrated platform for multi-resolution AM by miniaturizing two nozzles [38]. This means there is no specialized algorithm meant explicitly for multi-resolution material extrusion AM. So, this chapter develops one such algorithm that combines planar and conformal AM to generate tool- paths for performing multi-resolution AM. This algorithm derives the ideas from adaptive slicing, and conformal AM. We discuss the relevant works in each of these areas and the limitations of the existing works. Adaptive slicing is a process in which the layer height is varied to reduce the stair-stepping eect of planar AM [15, 28]. I discuss a few of the relevant research in adaptive slicing. Mao et al. have developed an algorithm for adaptive slicing, which is computationally ecient and minimizes the global error caused by the stair-stepping eect [133]. Gokulakrishnan and Kumar 128 improved the strength of the part by adaptively changing the layer thickness in fused deposition modeling [64]. Tauk and Jain demonstrated an advanced adaptive slicing technique to reduce the volumetric error of the built part instead of the cusp height error [175]. Wasserfall et al. utilized the volumetric surface deviation metric with adaptive slicing to improve the part accuracy [192]. Li and Xu have demonstrated their self-adaptive slicing algorithm for functionally graded material components [113]. Siraskar et al. generated variable height slices using a modied boundary data structure [166]. Huang and Singamneni created adaptive layers for planar and non-planar layers to minimize the stair-stepping error [79]. Sikder et al. used a NURBS representation of the surface to minimize the texture error caused by stair-stepping using adaptive layers [164]. Wang et al. uses a new saliency-based metric to optimize the adaptive slicing thickness for saving build time and preserving the visual quality of the parts [189]. Adaptive slicing in these works reduced the stair-stepping eect and improved the build time. However, the stair-stepping eect reduction is not as prominent, and the build time reduction is not as signicant as conformal AM. Conformal slicing is a process in which the part is sliced using non-planar layers. It allows us to reduce the stair-stepping eect while building curved surfaces. I discuss a few of the relevant research in conformal slicing. Alkadi et al. have showcased two slicing algorithms for conformal printing and transitioning conformal layers to planar layers by building parts [3]. Zhao et al. have demonstrated the benets of curved layer slicing and variable extruder lament to build conformal parts [219]. Shembekar et al. have generated tool-paths for building multiple conformal parts using robotic manipulators [162]. Kralji c and Kamnik developed an optimization-based curved layer slicing method to build conformal parts with improved accuracy, and speed [105]. Zhao et al. have developed a method for decomposing and building non-planar parts using robotic manipulators [220]. Jin et al. have published a detailed study on the modeling and process planning for performing conformal AM [90]. Alsharhan improved the part's mechanical properties using conformal layers to build an additively manufactured part [4]. Lim et al. applied curved layer slicing to large scale AM [120]. Kim et al. have embedded wire on curved surfaces to build 129 multi-functional parts by performing conformal tool-path planning [103]. These conformal slicing approaches reduced the stair-stepping eect of planar slicing but were limited to the geometries they would build. Moreover, the build time reduction is only notable in a few geometries. 8.3 Application Specic Algorithms 8.3.1 Background The design of the slicing algorithm depends on the representation of the CAD modelC. I consider two types of CAD representations for the algorithm. (1) The tessellated CAD representation uses planar triangular faces to approximate the CAD model. This type of representation is stored using STL format, which consists of the vertex, normal, and face data of the triangles [156]. The limitation of tessellated CAD representation is the approximation of the model using planar triangular faces and the increase in the number of triangles to represent the part accurately. (2) The boundary representation (BRep) of a CAD model stores the model information in the form of vertices, edges, wires, faces, shells, solids, compsolids, compounds, edge triangulations, face triangulations, polylines on triangulations, space location, and orientation. The STEP (Standard for the Exchange of Product model data) le format [85] can be used to obtain the BRep of the CAD model. The advantage of using this representation is that it can avoid any approximation of the model. In the approach of multi-resolution AM, I select the BRep representation over the tessellated representation of the CAD model to avoid approximation while building complex geometries. Based on the geometric complexity ofC, I classify the part slicing for multi-resolution AM into two categories, conformal and hybrid slicing. The novel characteristic of the multi-resolution slicing approach is that it reduces the build time without compromising the surface quality of the additively built part. 130 Figure 8.5: Illustration of the steps in the conformal slicing algorithm for multi-resolution AM. The white boxes refer to the enlarged areas. (A) Selecting surfaces (B) Slicing the selected surfaces (C) Discretizing the sliced edges to generate points with normals (D, E, F) Generated large lament interior and small lament exterior layers. 8.3.2 Conformal Slicing The conformal slicing algorithm is comparable to any other traditional non-planar slicing algo- rithm. The algorithm's dierent property is the change of resolution between layers to improve the surface quality and reduce the build time. The illustration of the steps in the conformal slicing algorithm for multi-resolution AM is shown in Figure 8.5. Given theC in STEP format as an input to the algorithm, the user needs to select the set of surfacesS onC using a graphical user interface (GUI).S denes the shape of the conformal layer, which will be used to build the entire part. The user can make this decision by analyzing if the outer surface needs to have a better surface quality for the desired application of the part. If it does, the user can select this surface. For example, the selected surfaces for an illustrative part are shown in gray color in Figure 8.5A. The shape of the rest of the layers to build the part will be generated by stacking the similar surfaces above or below the selected surface. This limits the shape of the part built using the 131 conformal slicing algorithm. Apart from this, the algorithm needs to know the nozzle diameters (small lament d s and large lament d l ), the thickness of the part t, and the hatching direction vectors (small lament ~ h s and large lament ~ h l ). The nozzle diameters are related to the small and large lament bead geometry [76]. The conformal slicing algorithm starts by building the path for the selected surfacesS. This conformal path will act as a template for building the other layers. It depends on the nozzle diameter and the hatching direction vector. 1. Using the selectedS, the bounding boxB =fx min ;y min ;z min ;x max ;y max ;z max g enclosing all the selected surfaces is determined. x;y, andz represent the x, y, and z coordinate values, and the subscripts min and max represent the minimum and maximum values, respectively. 2. The user can select the surfaces in a random order. So the algorithm sorts the surfaces inS along the direction of the vector perpendicular to the hatching vector. For example, if the hatching vector points in the positive x-direction, the surfaces are sorted along the positive y-direction. This means that if traveling along the positive y-direction in B, the surface encountered rst is considered rst. 3. The sorted surfaces are sliced by calculating the intersection between slicing planes and surfaces. The set of slicing planesP are generated perpendicular to ~ h. They are limited withinB and are arranged such that the consecutive planes are separated by a distance equal to the bead width. Figure 8.5B shows the edges generated by the intersection of these planes and surfaces. These edges are pre-sorted as the algorithm has sorted the surfaces before slicing them. As a next step, the algorithm trims each of the edges whose endpoints lie on the other surfaces contained inC. It is trimmed by a length equal to half of the nozzle diameter at the respective endpoint. These processed edges are discretized and dierentiated to generate an equidistant point and surface normal pair on it. The points, along with blue normals, are shown in Figure 8.5C. 132 Once the algorithm has the points and the normals on S, it orders them to generate the conformal path on the selected surfaces. For a multi-resolution part, the exterior layers are built with small lament to improve the surface quality. The interior layers are built using a large lament to reduce the build time of the part. The top and bottom layers form the exterior layers of the illustrative part shown in Figure 8.5. To build them, the algorithm executes the itemized steps with d s and ~ h s . By doing so, the user has obtained the path to build the exterior surfaces. If the user selects the top layer surfaces, the bottom layer path is generated by translating the points in the opposite direction of the normals by a distance t and vice-versa if the bottom layer surfaces are selected. The generated top and bottom layer paths are shown in Figure 8.5D in red color. The interior layers in the conformal slicing algorithm are required to ll the remainingt minus the small lament bead height thickness of the part. To build the template for interior layers, the algorithm again executed the itemized steps with d l and ~ h l . The interior layers are generated by translating the interior layer template points along the normal such that interior thickness is lled with consecutive layers separated by large diameter bead height distance. Such layers are shown in green in Figure 8.5E. These layers ll the solid part and do not determine the surface quality of the part. The generated points are converted to coordinate frames with a z-direction vector along the normal and x and y-direction vector perpendicular to it. The set of these framesF WP denes the path to be traced by a small or large diameter nozzle to build the layer. The path for each layer from bottom to topL conformal =fF WPbottom ;:::;F WPtop g are stored to build the part using multi-resolution conformal AM. The conformal slicing used in this chapter uses planes to slice the non-planar surface. In scenarios where the surface has high curvature, this type of conformal slicing is not adequate. It can lead to gaps or accumulation between the deposited lament. The approach can be modied to use specialized techniques to generate the conformal layer for the high curvature surfaces [222, 47, 48]. The rest of the approach is compatible with the high curvature conformal layers. 133 8.3.3 Hybrid Slicing The multi-resolution conformal slicing algorithm successfully reduced the build time and improved surface quality. However, all conformal layers limit the part geometries they can build. To overcome this limitation, this chapter designs a novel hybrid multi-resolution slicing algorithm with the qualities of reducing build time and improving surface quality. By hybrid, I mean the part can have non-planar/conformal as well as planar layers. The exterior layers, such as the top and bottom layers, are built using conformal layers with small laments to keep surface quality high. The interior layers are built using planar layers with large laments to reduce the build time and provide the capability to build complex geometries. Figure 8.6 shows the steps required to build a multi-resolution additive part using the hybrid slicing algorithm. The hybrid slicing algorithm requires theC, the nozzle diameters (small lament d s and large lament d l ), and the hatching direction vectors (small lament ~ h s and large lament ~ h l ) as inputs. The nozzle diameters are related to the small and large lament bead geometry [76]. Moreover, the user also needs to select the exterior surfaces using a GUI. In the rst part, the hybrid slicing algorithm builds the exterior conformal layers with small laments. The user selects the exterior surfaces to be built using an interactive GUI. The selected top surfacesS top and bottom surfacesS bottom for an illustrative part to be built using multi- resolution AM is shown in Figure 8.6A and 8.6C. The steps similar to the conformal slicing algorithm are executed to generate the conformal path on the exterior layers. Consider I am building the top layer represented using the surfacesS top . The bounding boxB top containing S top is calculated. The conformal layers are to be built usingd s by slicing the surfaces along ~ h s . To enable that, the selected surfaces are sorted along the direction perpendicular to ~ h s . These surfaces are sliced with a set of planes perpendicular to ~ h s , separated by a distance equal to small lament bead width, and lying within the bounding box bounds. The intersection between the sorted surfaces and the planes generates edges. The trimmed edges are discretized and dierentiated to 134 Figure 8.6: Illustration of the steps in the hybrid slicing algorithm for multi-resolution AM. The white boxes refer to the enlarged areas. (A, B) Slicing and generating the top surface small lament conformal layer (C, D) Slicing and generating the bottom surface small lament conformal layer (E) Interior sliced planes (F) Generating interior large lament planar layers (G) Multi-Resolution layers. 135 generate the points along with their respective normals. Thus, the algorithm can obtain and store the path framesF WPtop andF WPbottom to buildS top andS bottom respectively. These paths are shown in Figure 8.6B and 8.6D. In the second part, the hybrid slicing algorithm builds the interior planar layers to ll the volume between the exterior small lament conformal layers. The hybrid layers in a single part and the large lament planar layers to ll the volume between the small lament conformal layers are the novel features of the algorithm. The interior layers are built using d l and ~ h l . 1. From the dimensions ofC the algorithm calculates the bounding box enclosing the model B C =fx min ;y min ;z min ;x max ;y max ;z max g. Assuming that the model is oriented such that the z-axis is pointing upward, the algoirthm generates the slicing planes perpendicular to the z-axis. The planes start from a height of z min plus half of the sum of the small lament and large lament bead height toz max minus half of the sum of the small lament and large lament bead height, and the consecutive planes are separated by a distance equal to large lament bead width. A clearance distance equal to half of the small lament bead height is provided at the top and bottom limits to build the exterior conformal layers. 2. The intersection between the slicing planes andC generates the planar surfaces containing the interior layers. Such a set of surfacesS interior containing the interior layers are shown in Figure 8.6E. To generate the path on the interior layers, the algorithm slices each of the interior layers with planes perpendicular to ~ h l , with consecutive planes separated by a distance equal to large lament bead width. This will generate the edges on each of the interior layers. 3. I know all the surfaces on which the small lament conformal layers are built. These exterior surfacesS exterior =S top [S bottom determine if extra trimming of the edges generated on the interior layers is required. If the endpoints of the edge lie on any of the surfaces inS exterior , it is trimmed by a length equal to half of the sum of the small lament and large lament 136 Figure 8.7: (A) The manipulator trajectory simulation. (B) The actual single manipulator setup to build the multi-resolution parts. bead width; otherwise, it is trimmed only by a length equal to half of large lament bead width at the particular endpoint. These trimmed edges are discretized and dierentiated to generate the interior layer pathF WPinterior . Such a path on each of the interior layers for an illustrative part is shown in Figure 8.6F. The entire hybrid layer, multi-resolution part can be build with the generated layer paths L hybrid =fF WPbottom ;F WPinterior1 ;:::;F WPtop g. Such part will have high surface quality and low build time. This chapter enabled it using the novel multi-resolution and hybrid characteristics in the slicing algorithm. 8.4 Experimental Setup The manipulator trajectory simulation and the actual physical setup are shown in Figure 8.7. The snapshots of a part being built on the multi-resolution setup are shown in Figure 8.8. As a rst step, the substrate on which the part is to be built is xed to the build-platform. The substrate is calibrated so that the manipulator knows where to nd the substrate. A substrate is only required for the parts whose bottom layer is not planar. I use ABS (Acrylonitrile butadiene styrene) material for the substrate to build PLA (Polylactic acid) material parts. As ABS has 137 Figure 8.8: Snapshots of a part being built using the single manipulator multi-resolution setup. a higher melting temperature than PLA, the built part does not bond to the substrate, and it is easily removed without aecting the part's bottom surface quality. The setup heats the PLA material at 210 C to extrude the molten lament. In the second step, the bottom layer is built using the small diameter nozzle (small black lament). As the third step, the interior planar layers are built using the large diameter nozzle (large yellow lament). Finally, the top conformal layer is built using the small diameter nozzle. 8.4.1 Tool Design Building multi-resolution parts require an extrusion tool capable of extruding small lament and large lament. The extrusion tool selected for the approach is shown in Figure 8.9. This tool has three extruders with dierent nozzles mounted on linear actuators. One nozzle has a small diameter, the second nozzle has a large diameter, and the third nozzle, which is (not used in this chapter), extrudes support material. Yoon et al. have described the working principles of the extrusion tool in detail [209]. 138 Figure 8.9: The extrusion tool with the TCP candidatesF TCP on the three nozzle tips. The small diameter nozzle is utilized to trace the F WPexterior frames to build the exterior layers, and the large diameter nozzle is used to trace the F WPinterior to build the interior layers of the multi-resolution part. Since the extrusion tools have complex geometry due to multiple extruders, and since the algorithm is building conformal and planar layers in the same part, there are chances of a collision while executing the path. This leads to the path planning problem to avoid tool collision and maintain tool continuity while building a layer. This chapter solves this problem by using a search-based planning approach from Chapter 3. While tracking F WP , I want the extruder of the extrusion tool to be aligned with the gravity vector. This constraint allows the material to deposit under the force of gravity easily. However, while building part with conformal or hybrid layers, there can be a collision between the extrusion tool and the already built part or substrate. The only way to avoid a collision is by tilting the extruder about the gravity vector. To represent this degree of freedom, I dene multiple TCPs by uniformly discretizing a right circular cone with the vertex at the nozzle tip and a cone angle 30 (can be varied) into nite vectors. This is represented in the GUI shown in Figure 8.9. The 139 human selects the surface containing the tip of the nozzle. Theu andv parameters of the selected BRep surface are used to generate the nozzle tip coordinate frame. The z-vector of the coordinate frame is aligned with the discretized vectors of the nozzle tip cone to generate sample frames. This set of nite coordinate frames are the candidate TCPsF TCP for each nozzle. By changing the TCPs for a single extruder executing the path, we can reorient the tool to avoid collisions and keep the motion of the tool smooth. 8.5 Results To generate the results, this chapter builds multiple parts using the single manipulator multi- resolution setup. Then it characterizes the surface quality and build time for the multi-resolution algorithm. 8.5.1 Built Parts I built ve parts using the multi-resolution setup. Continuous lament spools of diameter 1.75 mm are used for both nozzles. This lament diameter is the input to the nozzles, and the output molten lament geometry depends on the nozzle diameter, speed, and layer height. The CAD model of the ve parts with the plotted laments [149] and the printed parts on the multi- resolution setup are shown in the Figure 8.10. The tool-path generated using the multi-resolution algorithm consists of layers dened using a set of frames. These tool-paths are also used to build the actual parts. In all the parts, the black lament layers are built using a small nozzle diameter equal to 0.6 mm (bead height 0.6 mm and bead width 0.6 mm), and the yellow lament layers are built using the large diameter nozzle equal to 1.2 mm (bead height 1.2 mm and bead width 1.2 mm). The bead geometry for both the laments is circular, with the bead height and width equal to the nozzle diameter. The minimum part height that can be sliced and built is limited 140 Figure 8.10: (C) CAD model with the plotted small lament exterior layers and large lament interior layers of the part. (P) Built part. Part 1 and 2 are are sliced using the conformal slicing algorithm and parts 3 to 5 are sliced using the hybrid slicing algorithm. 141 by the small bead height, i.e., 0.6 mm in the setup. The smallest feature that can be successfully built is limited by the bead width in the feature layer, i.e., 0.6 mm or 1.2 mm in the setup. 8.5.2 Part Accuracy Part accuracy is an essential characteristic of any AM process [30, 23, 18]. The details of the multi-nozzle extrusion tool calibration can be found in the work by Yoon et al. [209]. In the multi-resolution setup, the part accuracy is improved using small lament and conformal paths on the exterior layers. The stair-stepping on the part surface is also reduced by the path generated by the multi-resolution algorithm. To characterize the multi-resolution setup, I scan each of the built part surfaces to generate a point cloud and compare it with the CAD model used to generate the tool-paths. To generate the point cloud, I use the Hexagon Absolute ROMER Arm with an integrated laser scanner, which has a volumetric accuracy of +/- 0.051 mm to scan the built part. The point cloud density used for the measurement is 100 points per mm 2 . The point cloud is compared to the CAD model of each part using the Hexagon PC-DMIS software, and the volumetric surface error of the built part is calculated. The generated volumetric surface error color map of the built part exterior surfaces with the labeled accuracy color bar is shown in Figure 8.11. The blue spots in the color map are the unscanned areas on the part surface caused by human error. From the gure, it can be seen that the average part accuracy is 0.222 mm, and the maximum error is around 1 mm. For a conventional AM using the small diameter nozzle will generate a part with an average accuracy of a quarter of the bead height, i.e., 0.15 mm. This number will be higher if I include the stair-stepping eect error for conventional AM. Thus the average part accuracy is close to a conventional AM setup and has a better surface quality due to the outer conformal surface. 142 Figure 8.11: The volumetric surface error color map of the built part exterior surfaces with the labelled color bar. 143 Slicing Resolution Build Time (hh:mm) Part 1 Part 2 (55 38 14 mm ) (69 38 10 mm ) Conformal Constant 02:16 01:42 Multi 00:56 00:39 Reduction (%) 59.4 62.5 Planar Adaptive 01:10 00:56 Part 3 Part 4 Part 5 (50 65 15 mm ) (105 36 14 mm ) (40 58 13 mm ) Hybrid Constant 04:59 02:34 02:38 Multi 01:51 01:17 01:00 Reduction (%) 62.8 50.0 62.2 Planar Adaptive 02:18 01:18 01:05 Table 8.1: The estimated build time of the constant resolution parts, the adaptively sliced parts, and the multi-resolution parts. The reduction percentage is calculated between the constant and multi-resolution parts. 8.5.3 Build Time The build time is the time required to build one part completely. Along with the improved part accuracy, the multi-resolution setup reduces the build time. The reduction in build time is attained by using large laments for the interior layers. The multi-resolution PLA parts are built at a nozzle speed of 12 mm/s. The exterior layers are built with a 0.6 mm small diameter nozzle, and the interior layers are built with a 1.2 mm large diameter nozzle. I compare the multi- resolution part's build time with an estimated build time of the constant resolution part built with a 0.6 mm diameter nozzle. I also calculate the estimated build time for the adaptively sliced part, which uses a 1.2 mm diameter nozzle, varying layer thickness (bead height) between 0.6 mm to 1.2 mm, and planar layers. The adaptive planar layers were generated using the Ultimaker Cura software. Table 8.1 enumerates the build time for building all the parts with a constant resolution, adaptive planar layers, and multi-resolution. The bounding box dimensions for each part are also listed in the table. All the parts built with constant or multi-resolution will have the same exterior surface bead geometry. The time required to build the multi-resolution parts is considerably lower 144 than the constant resolution parts. The time to build the planar adaptive part is close to hybrid multi-resolution parts. This happens because the extra time required to build thin planar layers in adaptive parts is equal to the time required to build the conformal layer in hybrid multi-resolution parts. The advantage of the multi-resolution parts over the adaptive planar layer parts will be the no stair-stepping eect on the conformal exterior surfaces. Existing material extrusion software is capable of varying the inll rate of the part to reduce the build time. However, this may not be acceptable in applications that do not want to compromise with the structural integrity controlled by the inll rate. So by using a multi-nozzle extrusion tool and the approach, this problem can be avoided, i.e., a reduction in build time is obtained without reducing the inll of the part. Moreover, the multi-resolution approach can be combined with lower inll rate for further reduction in build time. 8.6 Summary The slicing algorithm successfully breaks down the part CAD models into conformal and planar multi-resolution layers. The multi-resolution parts demonstrate the advantages of better surface quality and short build time. My experiments achieved an average part accuracy of 0.222 mm using a setup with a small diameter nozzle of 0.6 mm and a large diameter nozzle of 1.2 mm. The build time is reduced from 50.0% to 62.8% for the parts built with multi-resolution AM when compared with constant resolution AM process. 145 Chapter 9 Robotic Conformal Wire Arc Additive Manufacturing 9.1 Introduction This chapter is based on my published paper [17]. Metal AM is a process in which metal is deposited layer by layer to build 3D parts [56]. Metal AM is performed using AM processes such as direct energy deposition, powder bed fusion, and material extrusion [62]. DED (Direct Energy Deposition) is a process in which the metal is melted and fused to build metal parts. The powder-based DED process has undeniably impacted the manufacturing industry due to its capability to build complicated geometries, less material wastage, fast prototyping, and less machining time. However, it faces limitations such as high cost (material and machine), bulky machine size (powder bed), and high build time. For example, one of the biggest commercially available powder bed-based metal AM 3D printer is Concept Laser's Xline 2000R. It has a build volume of 800 x 400 x 500 mm 3 . The huge machine weighs around 900 kg and costs about $3.5 million [161]. Moreover, the cost of stainless steel powder for the process is around $120 per kg [165], and there are hazards associated with handling the powder. Welding-based AM is performed using processes such as electron beam, arc welding, and more. WAAM is a process in which 3D metal parts are built layer by layer using arc welding process [43, 146]. Robotic manipulators are used to perform WAAM due to their low cost, small size, and 146 Figure 9.1: CAD model of a complex part to be built with robotic wire arc AM process. high exibility. For example, the Yaskawa GP12 manipulator with compatible Miller arc welding hardware (my setup) can be used to build parts bigger than 800 x 400 x 500 mm 3 (build volume of largest powder-based metal 3D printer). The entire setup will weigh around 400 kg and will cost only $60,000. The material cost of the stainless steel wire for the setup will be around $14 per kg. Along with this, the setup will have a lower build time as compared to a powder bed or fed-based setup. The reduced build time will come at the cost of lower resolution. This is acceptable for large-scale parts where certain regions can be machined for better accuracy. Consider the CAD model of a complex part as shown in Figure 9.1. The rst type of WAAM (type 1), which can be used to build such a part, is by building multi-direction supportless planar layers [213] (see Figure 9.2a). This leads to a stair-stepping eect on the part surface and degrades the part's volumetric accuracy. The second type of WAAM (type 2) which can be used to build the part is supportless pulsed WAAM [204] (see Figure 9.2b). Pulsed WAAM allows me to control the build direction and build non-planar layers. However, the pulsed WAAM process gives an undesirable structure to the bead. This reduces the structural strength and degrades the surface quality of the part. The third and nal type of WAAM (type 3), which can be used to build 147 Figure 9.2: Three types of WAAM that can build the part in Figure 9.1. (a) multi-direction supportless planar WAAM, (b) pulsed WAAM, and (c) conformal WAAM. the part, is by using a conformal substrate (see Figure 9.2c). This has been done in polymer material extrusion AM [13], and this chapter does it for WAAM. It allows me to control the bead fusion direction, weld non-planar layers, reduce the stair-steeping eect, and not degrade the bead strength. Manufacturing a conformal substrate for WAAM is economical if I am building a large number of parts using the substrate. In the case where I am building a small number of parts using a substrate, I can use the concept of a shape-shifting substrate. A shape-shifting substrate idea is derived from a shape-shifting table shown in Figure 9.3. A shape-shifting table is an actuated table that can be programmed to have the desired shape. Using this technology, I can program the substrate to have the desired conformal shape and weld on top of it. This chapter discusses more about this concept in Section 9.4. Plastic conformal additive manufacturing is paving the way for wire arc additive manufactur- ing. The technologies developed for conformal AM are primarily focused on non-planar slicing 148 Figure 9.3: Shape shifting table that can be programmed to have the desired shape [75]. and tool-path generation. These technologies provide the necessary background to build the approach for wire arc additive manufacturing. However, the signicant dierence in the physi- cal phenomenon for material deposition in WAAM and plastic 3D printing makes the approach dissimilar. Conformal WAAM requires a few challenges to be addressed to automate the process. The initial challenge is the design of the experimental setup. I can use a robotic manipulator like a plastic conformal setup, but I need to select a substrate material on which the manipulator can build the conformal part. In addition, the substrate should be economical for the setup to be viable for industry use. An automated weld bead defect detection strategy will help in tuning the process parameters to automate the process planning of conformal WAAM. The path generation strategies for conformal WAAM will not be as straightforward as a plastic conformal AM due to the complex interaction between the molten metal and the substrate. These challenges need to be discovered before automating path generation. Conformal WAAM enabled using manipulators is 149 capable of building large-scale parts. This requires an automated placement algorithm to generate a feasible location to build the part in the manipulator's workspace. To address conformal WAAM challenges, this chapter has developed a novel robotic cell to perform the type 3 conformal WAAM. The development of the automated robotic cell involved ve dierent contributions. (1) A compatible substrate material for building conformal steel parts was selected and tested in Section 9.4.1. The substrate does not fuse with the part, and it is capable of supporting the non-planar layers of the part. This chapter also presents and veries a novel approach to reduce the substrate cost in Section 9.4.2. (2) An automated approach was designed to detect material accumulation at sharp corners in WAAM in Section 9.3.1. This approach can be used for in-situ inspection and data labeling applications. (3) A non-planar tool-path planner for performing conformal WAAM was developed in Section 9.3.2. The tool- path has a novel search-based module to modify the conformal part's bottom layer to make it compatible with the non-fusing substrate material. (4) The formulation devised in Chapter 2 to nd a part/substrate location in the robot workspace which satises the AM constraints is used. This allows us to build large and accuracte conformal parts comparable to the manipulator's workspace. (5) The deposited material's mechanical properties were characterized on the non- fusing conformal substrate to compare with a at steel substrate in Section 9.5.2. This chapter will now describe each of these contributions in detail. 9.2 Related work There are several technologies being researched to improve WAAM such as machine learning [201], computer vision [214], metal droplet transfer modeling [118], part size prediction [60], path planning [215], tool-path generation [45], fabrication methods [98], thin-walled structures[147], morphology investigation [188], and control [202]. 150 The part geometry this chapter is considering can be built using one of the three types of WAAM. This section discusses the recent state-of-the-art work done in type 1 and type 2 WAAM. Xu et al. have used pulsed WAAM to build a supportless pyramid lattice structure. They enabled it by studying the mechanism of the molten metal droplet transfer [204]. Yuan et al. have studied the process parameters to perform multi-directional robotic WAAM. They successfully built overhanging structures by estimating the eective parameters [213, 212, 211]. Penney and Hamel developed a control scheme based on sensor feedback to maintain an ideal weld pool shape in robotic WAAM. They build multi-direction supportless parts using their approach [151]. Li et al. developed an approach for building overhanging curved thin-walled structures. The controlled the torch orientation to enable it using WAAM [115]. Yili et al. wanted to build a complex metal pipe joint. They used multi-directional wire arc manufacturing to build it [207]. Wu et al. have used a low heat input pulsed WAAM to build overhanging supportless parts. The low heat input has improved the mechanical properties of the part [198]. Williams et al. manufacturing medium complexity overhanging structures using robotic WAAM [194]. We used an alternate approach to these works, i.e., by using a conformal substrate to support the overhanging areas. To the best of our knowledge, there is no published work done in type 3 WAAM [124]. 9.3 Application Specic Algorithms 9.3.1 Automated Accumulation Detection The quality of the weld while building the part is defect-free until the weld path is smooth. Maintaining the weld quality becomes challenging at sharp corners [107, 122]. There is weld material accumulation when the path has sharp corners. This causes the corners to have a high bead height and width. A higher bead width decreases the part accuracy and increases the material volume to be removed during the post-processing stage. The higher bead height is undesirable. 151 It makes the layers wavy and leads to failure while building the part. So the setup needs to avoid material accumulation while building parts with corners. The rst approach I explored is to turn o and on the arc at corners. I found this approach not eective. By turning o the arc, I faced the additional complexity of the arc failure. This happened as the fed wire got welded to the deposited material. A possible solution is to move the wire tip away while turning o the arc. This meant an increase in the build time. So I discarded this approach. The second method I explored is by increasing the robot speed at the corners. My estimated robot speed is v = 0.9 mm/s at a constant wire feed rate of 21.2 mm/s. I increase this speed by a xed factor at the corners to reduce the material accumulation. I found this approach ecient and eective. I carried out experiments to estimate the factor by which the speed v has to be increased to reduce the accumulation. The images of the experiments done by me are shown in Figure 9.4. In Figure 9.4a, the manipulator is executing a path that creates multiple corners of 55 angle at dierent corner speeds. In the case of higher corner speeds (1.5v, 1.75v, 2v), I increase the robot speed at about 2 mm distance from the corner vertex and keep going at that speed till the robot is 2 mm away from the corner vertex. To automate the process of accumulation detection, this section develops a three-step process. 1) In the rst step, I scan the deposited bead at corners to generate point cloud data as shown in Figure 9.5a. 2) As the second step, the algorithm cuts the point cloud at a few cross sections near the corner (see Figure 9.5a) to generate bead prole plots as shown in Figure 9.5b. 3) In the nal step, the algorithm determines the points with the lowest and highest curvature on the bead prole plot and plot it against the Z height of the bead prole. Two such plots are shown in Figure 9.5c and d. The plotted points are clustered using the DBSCAN (Density-Based Spatial Clustering of Applications with Noise) algorithm to detect the outliers. If the outliers (red-colored) are within the bounding box of the clustered points as shown in Figure 9.5c, the corner bead has reduced accumulation or necking. This is desirable for a corner bead prole. If 152 Figure 9.4: Accumulation reduction by increasing the speed by a xed factor at the corners. Experiment images with (a) 55 corner angle and (b) 35 corner angle. Red circle indicates accumulation, yellow circle represents necking, and green box represents the selected corner speed. 153 Figure 9.5: (a) Point cloud of the weld bead with the color coded cross sections. (b) Bead prole plot of the cross sections with the same color code. (c) Curvature vs Z height plot for a desirable cross section. (d) Curvature vs Z height plot for a undesirable cross section. 154 the outliers are outside the bounding box as shown in Figure 9.5d, the bead had accumulation or necking. This is undesirable. Using this three-step approach, I can automate the detection of undesirable corner bead proles. As seen in the 55 corner images (see Figure 9.4a), the algorithm detects accumulation (red circle) at 1v and 1.5v corner speed. At 2v, there is necking detected (yellow circle) at the corner. At the speed of 1.75v, the outliers are within the bounding box, and the corner bead prole is desirable. The algorithm obtains similar results for 35 corner angle experiments. These experiment images are seen in Figure 9.4b, and the detected speed for reducing accumulation is 2.25v. This method is only eective in reducing the accumulation and not completely avoid it. This is because there is a complex interaction between the robot speed, arc parameters, and material deposition. I obtain the corner speed for other angles by linearly interpolating the corner speed values. The three-step automated accumulation detection approach can be deployed for online bead prole inspection to detect defects and oine data labeling to train models to predict parameters to avoid accumulation at corners. 9.3.2 Tool-Path Generation To build the conformal parts using robotic WAAM, the algorithm generates the non-planar layer paths by projecting the desired patternR. A pattern is a set of Cartesian points lying on a plane. These points are projected in the direction perpendicular to the plane and towards the substrate's conformal surface. The substrate S is represented using a tessellated CAD. The algorithm calcu- lates the projected patternQ on the conformal surface using a ray-triangle intersection algorithm. The details are mentioned in Algorithm 1 [21]. In lines 2-4 of the algorithm, the algorithm extract the faces, vertices, and normals of the tessellated CAD S. In line 5, the algorithm calculates the normal to the plane of the pattern R. In line 7, the algorithm loops over the points in R, and in line 8, the algorithm loops over the faces of S. In line 10, the algorithm lters the faces which face the pattern. In lines 11-13, the 155 Algorithm 1 Pattern Projection 1: function Pattern Project(R;S) 2: F S:Get Faces() 3: V S:Get Vertices() 4: N S:Get Normals() 5: ~ d Calculate Normal(R) 6: Q fg 7: for ~ pi2R do 8: for fj2F do 9: ~ nj N:Index(j) 10: if Calculate Angle(~ nj; ~ d)> then 11: ~ r Generate Ray(~ pi; ~ d) 12: if Do Intersect(~ r;fj;V) then 13: ~ q Ray Triangle Intersect(~ r;fj;V) 14: Q:Append(q) 15: end if 16: end if 17: end for 18: end for 19: return Q 20: end function Figure 9.6: The non-planar layers generated for conformal robotic WAAM. Each layer consist of two path segments which are indicated as 1 and 2. 156 algorithm checks if the ray originating from the pattern point in the direction of the pattern plane normal intersects the face. If it does, the algorithm stores the projected points in the projected pattern Q. A path segment P is a set of Cartesian points on the conformal surface that the manipulator should continuously execute. In a continuous path, the Euclidean distance between consecutive points is less than a threshold. The algorithm obtains the path segments by breaking Q into multiple continuous segments. The set of path segments is called the bottom layer path L bottom by me. The algorithm osets the layer path by the weld bead height to generate multiple layers stacked on top of each other. The layers generated for the conformal substrate used by me are shown in Figure 9.6. Each layer consists of two path segments which are indicated as 1 and 2 in the gure. The color bar in the gure denotes the start to end direction of each path segment. The novel contribution in this section is the search-based algorithm to modify the bottom layer of the conformal part. This modication is necessary to compensate for the gravitational forces acting on the molten metal, which has not fused with the substrate. It is important to satisfy the gravity constraint to successfully build the part. 9.3.2.1 Bottom Layer Path Modication The bottom non-planar layer path generated by the pattern projection would be all right if the deposited metal fused with the substrate. This chapter is using a conformal substrate, the deposited metal does not fuse with the substrate. This introduces a unique challenge to build the conformal WAAM part and requires modication to the bottom layer path. After a few experiments, I found that I could not deposit the material on the conformal substrate while traveling downhill (downward slope). Figure 9.7 shows that the deposited bead is discontinuous when the tool travels downhill. The deposited bead is continuous as intended when the tool travels uphill (upward slope) or at (zero slope). The reason behind this is visually represented in the diagram shown in Figure 9.8. As seen in the diagram, when the tool is traveling downhill, 157 Figure 9.7: Experiment showing the deposited metal bead on a conformal substrate while travel- ling uphill and downhill. The bead is discontinuous when the tool travels downhill. Figure 9.8: Diagram indicating the eect of gravity on molten weld pool when the tool is travelling uphill and downhill. 158 the molten weld pool has no support against gravity, and it ows down under the gravitational force before solidifying. When the tool is traveling uphill, the previously deposited bead supports the molten pool till it solidies. However, the uphill condition is held under two constraints, (1) the uphill bead should not start at a steep slope (greater than 45 with the horizontal plane) and (2) the bead deposited behind the molten pool should be solidied to support the molten pool (the weld bead is deposited continuously). To satisfy these constraints, the algorithm modies the bottom layer in two steps, (1) path re-segmentation and (2) path segment arrangement. The bottom layer L bottom consists of one or more path segmentsP . Each path segment is made using a set of pointsP =f~ p start ;:::~ p end g which are executed in a continuous manner by the robotic manipulator. Here, ~ p =< x;y;z > where x, y, and z are the coordinates of the point. Thus, the bottom layer can be represented L bottom =fP 1 ;:::g. This chapter will modify this bottom layer in the path modication algorithm. 1. Path re-segmentation: This is the rst step in my bottom layer path modication algorithm. The goal is to make sure that each path segment is uphill. It takes L bottom as an input. Then it iterates over each path segment in the bottom layer to detect the slopes along the path segment. The detected slopes for the unmodied bottom layer path segments are shown in Figure 9.9. Then all the downhill path segments are ipped. Thus after this step, all the path segments in the modied layer are uphill. The number of path segments in the modied bottom layer is greater than or equal to the input bottom layer. The path segments generated after the previous step can build the part, but their execution will not be ecient. This happens because of undesired short path segments generated in the previous step. The algorithm overcomes this using two heuristics. (1) The short path segments determined using a threshold are merged with the preceding or succeeding segment. The preference to merge is given with the larger segment. This merge is done 159 Figure 9.9: (Top) The slopes detected for the unmodied bottom layer path segments (see Figure 9.6). (Bottom) The modied non-planar bottom layer path generated for conformal robotic WAAM. The bottom layer consist of six path segments which are indicated as 1 to 6. 160 assuming the short segment's direction (uphill or downhill) does not aect the bottom layer quality. (2) If the part is symmetric about a plane and the path segments generated are not symmetric about the same plane, the algorithm can mirror the path segments on one side of the plane to the other. These heuristics will make the path segments uniform. 2. Path segment arrangement: In the second step, the algorithm arranges all the uphill path segments in the bottom layer. The algorithm begins by visiting the rst path segment. Whenever the algorithm visits a ~ p start of a path segment, the algorithm will end up at the associated ~ p end of the same path segment. Then the algorithm nds the closest ~ p start of an unvisited path segment to the ~ p end of the current path segment. The closeness is determined by calculating the Euclidean distance between the end and start points. The algorithm keeps repeating this step till all the path segments are visited. In this way, the algorithm greedily searches over the path segments to arrange them in the bottom layer. When the algorithm is mirroring the path segments, it arranges the path segments on one side of the plane. The path segments on the other side of the plane use the copy the order. If there are a large number of path segments, the algorithm can use clustering to improve eciency. The algorithm can cluster all the ~ p start and ~ p end of all the path segments. After this, the algorithm can query for the closest points within a cluster. If all the path segments in that cluster have been visited, the algorithm nds the closest cluster to determine the next path segment. The modied bottom layer path generated using my algorithm is shown in Figure 9.9. The bottom layer path is modied to six path segments. The color bar in the gure denotes the start to end direction of each path segment. Each path segment is climbing uphill. The path segments satisfy the two previously discussed constraints. The six path segments combine to form the bottom layer path. The remaining layers are not modied. This is because the remaining layers 161 Figure 9.10: Diagram showing the collision cone and the clearance cone for my weld gun tip. The weld gun tip orientation is modied to keep the conformal part surface outside the clearance cone. are fused to the previous layer, and the molten weld pool does not ow downhill in case of a steep slope. 9.3.2.2 Collision Avoidance and Tool-Path Smoothing I provide the collision avoidance and the tool-path smoothing details for the completeness of my conformal WAAM approach. The layer paths generated determine the curve to be traced by the weld tool. Ideally, the algorithm wants to orient the tool along the normal to the conformal surface. By aligning the weld tool normal to the surface, the fed wire force is absorbed by the surface and the weld bead deposited has a lower probability for defects. However, it is not possible to always satisfy this condition due to two reasons, (1) collision avoidance between the weld tool and the conformal substrate and (2) smooth tool re-orientations to avoid jerky movements. I avoid the collision between the weld tool and the conformal substrate by approximating the weld tool using a cone, as shown in Figure 9.10. The gure provides the dimensions of my weld gun tip. The red-colored cone is the collision cone, and the yellow-colored cone is the clearance cone. If the clearance cone is intersecting with the conformal surface at any point on the path 162 Figure 9.11: Diagram illustrating the tool orientation modication to reduce the sudden tool orientation changes and make the tool-path jerk free. segment, the algorithm compensates the tool orientation till the cone does not intersect with the surface. This has been visually represented in the diagram. For all of my collision checks, the clearance cone angle is 110 , and the cone height is 12 mm. The collision cone angle is 97 . The cone height has been exaggerated in the diagram for a better visual representation. After altering the tool orientation to avoid collisions, the algorithm modies the tool orientation to have a smooth, jerk-free path. Weld tool smoothing is required when the conformal surface has sharp corners. If smoothing is not done, there will be a sudden change in tool orientation between two consecutive points (approximately 2 mm apart). Such sudden movements create undesired forces in the molten weld pool and cause defects. The smoothing operation is represented in the diagram shown in Figure 9.11. It is done by detecting orientation changes greater than 10 between two consecutive points on the path segment. Then this orientation change is spread out over multiple points to make the change gradual. It is necessary to make sure that collisions are not happening while performing smoothing. 163 Figure 9.12: Three small scale test parts built to test the tool-path generation algorithm. I test my tool-path generation algorithm by building three small-scale parts. The images of the three parts are shown in Figure 9.12. Part a and part b are the initial test parts built on a at substrate (planar layers). They do not require any path modication, collision avoidance, or path smoothing. They test the estimated parameters, generated pattern, and pattern projection algorithm. Part c is built on the conformal substrate used in the chapter and has non-planar layers. It tests the path modication, collision avoidance, and the smoothing algorithm developed by me. After building the small-scale test parts, this chapter moves on to building large-scale functional parts. 9.4 Experimental Setup My automated arc welding experimental setup is shown in Figure 9.13. It consists of a Yaskawa robot setup with compatible Miller arc welding hardware. The Yaskawa robot setup consists of a Yaskawa GP 12 industrial manipulator and a YRC 1000 controller. The Yaskawa GP 12 is a highly exible articulated 6 DOF manipulator. It is controlled using a YRC 1000 controller. The Miller arc welding setup is built using a Miller Auto-Continuum 350 power source, Miller 164 Figure 9.13: The automated arc welding physical setup consisting of the robotic manipulator and the welding hardware. Continuum wire feeder, and a Tregaskiss robotic welding gun. The welding setup is controlled with the compatible YRC 1000 controller via LAN communication. The setup utilizes 0.9 mm carbon steel feed wire to deposit steel and 90% Argon { 10% Carbon Dioxide inert gas to shield the molten metal during the deposition process. This section identies the substrate material, provide a unique solution to reduce the cost of such substrates, and select process parameters for my conformal WAAM process. 165 9.4.1 Substrate Material Selection I want to use the automated arc welding setup to perform conformal WAAM. The 6 DOF industrial robotic manipulator used in my experimental setup provides the necessary exibility to deposit non-planar layers. I want to select the substrate material on which the setup will deposit the non-planar layers. Here the substrate material acts as a support structure to the molten metal. Ideally, if the layers were planar, I would use a steel plate as the substrate. The part would be built on top of the at steel plate. After nishing the build, I will saw o the part which is welded to the steel plate. However, in the case of non-planar layers, I cannot saw o the part. So to enable conformal WAAM using my experimental setup, I need to meet the rst constraint. This constraint restricts the weld fusion between steel and the conformal substrate. This will allow easy removal of the built steel part from the supporting substrate. So I explore a few materials based on their properties. Initially, I explore terracotta material substrate from supporting the non-planar layers in the robotic WAAM process. Terracotta can withstand temperatures of 1250 C [152] and seemed like a viable candidate for the substrate material. I tried to build the conformal part on the terracotta substrate. I failed to do so. The rst challenge I faced is that since terracotta is not an electrically conducting material, the setup could not establish an arc. I was aware of this fact and had planned to tackle it by traveling from a conducting material to the terracotta substrate to maintain the arc. However, while executing this maneuver, the molten metal is pulled towards the conducting surface, and it did not deposit on the terracotta substrate. I attempted to coat the substrate with electrically conducting silver paint, but it burned on as soon as the arc was established. Finally, the terracotta substrate cracked due to the heat while performing the experiments. Based on these experimental explorations, I added the second constraint to the substrate material. This constraint enforces that the substrate material should be electrically conducting. 166 Figure 9.14: The copper substrates used by me to build non-planar layers of the conformal part in robotic WAAM process. As the next material, I explored a graphite substrate for supporting the non-planar layers of robotic WAAM. Graphite can withstand temperatures up to 3650 C in inert atmosphere [135]. Since the setup is shielding the arc using the inert gas, I can assume that the hot regions on the graphite substrate are covered with the inert gas. Graphite does not weld with steel and is electrically conducting, so it satises the two constraints I have discovered till now. I try to build a conformal metal part using the robotic WAAM process, but it failed. The reason for the failure is that graphite did not conduct the heat so well. This led to the high temperature beyond what graphite could withstand at the arc location, and the substrate is eroded. Moreover, the deposited steel had graphite powder inclusions. This experimentation led me to explore the third constraint that the substrate material should have higher thermal conductivity for ecient heat dissipation. In the nal exploration experiment, I chose copper as the substrate material for performing conformal robotic WAAM. Copper has a melting point of 1083 C and a thermal conductivity of 398 W/m : K [135]. The thermal conductivity of copper is several times that of graphite 24 W/m : K [135]. It has a very high electrical conductivity, and it does not weld with steel. I perform conformal robotic WAAM using my experimental setup on a copper substrate, and it can successfully build the part. So I select copper as the substrate material for making non-planar steel parts. The copper substrates used by me in this chapter are shown in Figure 9.14. 167 9.4.2 Substrate Cost Reduction Using a solid copper substrate enables me to economically build conformal WAAM parts in mass production, where one substrate is used to build a large number of parts. However, the additive manufacturing process is popular for building a small number of custom parts. So limiting the conformal WAAM process due to the need of custom WAAM substrates is not desirable. There- fore, this section discusses possible approaches to avoid this limitation and making the conformal copper substrate economically feasible. Consider the work done by Follmer et al. [54]. They have described a shape-shifting table that can be programmed to achieve the desired shape. Such a shape-shifting table can be constructed using copper bars and can be programmed to attain the shape of the desired substrate for WAAM. This enables me to avoid the limitation of machining custom copper substrates for dierent conformal WAAM parts and makes the process more economically feasible. Xu et al. used a similar technique to reduce support structures in extrusion-based additive manufacturing [205]. They have used small square plates mounted on actuators as reusable support structures. They tested their setup by building fairly complicated parts, and it was clearly observed that the number of support structures and build time was reduced. So, I decided to test a shape-shifting copper substrate for conformal WAAM. In order to test this setup, I created a mock-up of a shape-shifting table. To do this, a large number of copper bars were used, and then they were held together by a 3D-printed part. The copper rods are arranged in such a way that they create a conformal substrate. The setup built a couple of layers of such a mock-up shape-shifting copper substrate, and it was possible to realize conformal parts using this setup (see Figure 9.15). In the future, the thickness of the copper bars will need to be optimized, so they stay intact after welding. Also, I will need to actuate the copper bars using actuators that can withstand high temperatures. In the current research eort described in this chapter, I used a solid copper conformal substrate to demonstrate the feasibility 168 Figure 9.15: Performing WAAM on a mock up shape shifting table created by grouping copper rods. of the robotic cell, but the shape-shifting substrate did show promise for future investigation where the additional manufacturing exibility could be benecial in further reducing costs by obviating the need to manufacture entirely new molds, or could potentially provide real-time adjustment to compensate for defects detected in situ. 9.4.3 Process Parameter Selection It is necessary to use the right process parameters to build a good quality part [119]. I conduct my initial experiment to perform robotic WAAM using the Metal Inert Gas (MIG) arc welding process. I set the power source voltage to 30 V and the carbon steel wire feed rate to 63.5 mm/s. The surface quality of the built part is shown in Figure 9.16a. There is excessive splatter on the surface. This happened because the process is not generating the arc in a controlled manner. To avoid this, I utilize Miller's Regulated Metal Deposition (RMD) MIG arc welding process. It allows automated control of the power source voltage for a constant arc. The surface quality of 169 Figure 9.16: The surface quality of the part with (a) splatter, (b) improper weld pool cooling, and (c) desired surface quality. Figure 9.17: The thin shell parts built to validated the estimated process parameters the part built using the RMD MIG process at a wire feed rate of 63.5 mm/s is shown in Figure 9.16b. There is no splatter on the surface. In both processes, the tool speed is xed at 2.7 mm/s. However, these surface shows side owing of the deposited weld pool. This causes the part to have an irregular wavy surface nish. To address this issue, I gradually reduce the robot speed and the wire feed rate to allow sucient time for the weld pool to cool and solidify. The nal surface quality of the part with the manually estimated parameters is shown in Figure 9.16c. The estimated wire feed rate is 21.2 mm/s, and the robot speed is 0.9 mm/s, which results in an expected cross-sectional area of 15.0 mm 2 . 170 I built two thin-walled parts to validate the process parameters. The built parts are shown in Figure 9.17. These parts have a slightly elliptical weld bead width a height of 3.1 mm and a width of 5.25 mm. The fusion width between the stacked-layer beads is 4.75 mm. 9.5 Results 9.5.1 Built Parts This chapter builds a few parts to showcase the capability of my experimental setup and developed algorithm. These parts are shown in Figure 9.18. I chose to build such truss geometries as they can be used as structural members in a variety of applications (aerospace, automobile, construction, and more [59]) and their complex geometry. Part a, b, and c in the gure are build using planar layers, while part d and e is built using non-planar layers. The planar layers are deposited on a steel plate, while the non-planar layers are deposited on a conformal copper substrate. Each of these parts has three to four layers. The deposited weld bead height is 3.1 mm, and the bead width is 5.25 mm with a fusion width of 4.75 mm. The snapshot of the conformal part d being built is shown in Figure 9.19 (video [16]). 9.5.2 Part Characterization To characterize the quality of the deposited material, I conducted microscopy for microstructural characterization, as well as microhardness testing and T-peel testing for the associated mechanical properties. A polished cross-section of the 1 layer on a at copper substrate can be seen in Figure 9.20a. It can be seen that there is a distribution of porosity distributed through most of the cross-section and consisting of primarily ner porosity that was less than 30 microns, but with a few larger pores up to 100 microns. The global level of porosity was determined to be 0.9%. Results for 2 layer on a curved copper substrate, 1 layer on a at steel substrate, and 2 layer on a at steel substrate can be seen in Figures 9.20b to 9.20d. It can be seen that there is a similar 171 Figure 9.18: Five parts build to showcase the capability of our experimental setup and developed algorithm. Part d and e has non-planar layers built using a conformal copper substrates shown in Figure 9.14. Figure 9.19: Snapshot from the video [16] of the conformal part being built on our robotic WAAM setup. 172 Figure 9.20: (a) Polished cross-section for 1 layer on at copper substrate indicating a very low level of global porosity at 0.9%. Pore sizes were primarily 30 microns or less, but with sizes extending to 100 micron. (b) Polished cross-section for 2 layer on conformal copper substrate indicating porosity is similar to 1 layer. (c) Polished cross-section for 1 layer on at steel substrate indicating porosity similar to 1 layer on at copper substrate. (d) Polished cross-section for 2 layer on at steel substrate indicating porosity similar to 1 layer on steel substrate. 173 Figure 9.21: Etched 1 layer on at copper substrate revealing microstructure appears to be a mixture of bainite and martensite. amount of residual porosity in the deposited material for each of these conditions. Comparing single layers with multi-layers, curved with at substrate surfaces, and the copper substrate with the steel substrate, there also appears to be no dierence in the porosity's size or distribution. Finally, for multi-layer deposition, it appears the interface has fully fused between layers. Thus, it appears that it was possible to determine processing conditions for each case that resulted in consistent material quality. Results for etched specimens are shown in Figures 9.21 to 9.24 revealed the microstructure of the steel. For 1 layer on a at copper substrate, the structure appears to be a mixture of bainite and martensite throughout the weld bead. This is not unexpected, given the rapid cooling rate obtained with the substrate. However, the 2 layer on a conformal copper substrate, the microstructure appears to be a mixture of ferrite, pearlite, and bainite, indicative of a slower cooling rate that would be expected when depositing on top of another bead. For 1 layer on a at steel substrate, there appears to be more of a mixture of bainite and martensite. However, 174 Figure 9.22: Etched 2 layer on conformal copper substrate revealing microstructure appears to be a mixture of ferrite, pearlite, and bainite. for the 2 layer on a at steel substrate, the microstructure tends to be more strongly bainite with the presence of some ferrite and pearlite, once again indicative of a lower cooling rate, but slightly faster than the 2 layer on a conformal copper substrate. The average and standard deviation for the microhardness testing results for dierent locations in each specimen can be seen in Figure 9.25. These results also conrmed that the materials properties were consistent with the observed microstructures. Measurements were taken from the weld bead's cross-section at the top surface, in the middle, and at the bottom interface with the substrate. It can also be seen from the microhardness results that a single layer on a steel substrate tended to have the highest hardness, with an average Vicker's Hardness of 203 in the middle of the material and a slightly lower value at the top surface while, the bottom interface had a signicantly lower value at 183. This is not unexpected, given more bainite was observed in the microstructure near the bottom interface relative to the rest of the specimen. The next highest 175 Figure 9.23: Etched 1 layer on at steel substrate revealing microstructure appears to be a mixture of bainite and martensite. hardness values were for 1 layer on a copper substrate, which showed very little variability with location and averaged around 180. This specimen also indicated higher bainite concentrations than the 1 layer on a steel substrate. The results for specimens with two layers were similar within the range of variability and decreased away from the bottom interface with values as low as 157. From these results, the observed variation in microhardness is consistent with the observations of the microstructure's dierences obtained from etching, with single layers resulting in the highest hardnesses indicative of higher concentrations of martensite while, the two layers produced signicantly lower values indicative of higher bainite concentrations. T-peel specimens were prepared to characterize the mechanical properties of the interface between weld beads (see Figure 9.26). The specimens as-prepared always failed at the grips due to the high interfacial strength. The fracture occurred at the grip at 10000 N, which would be equivalent stress of 300 MPa approaching the expected tensile strength of the material. Thus, I 176 Figure 9.24: Etched 2 layer on at steel substrate revealing microstructure appears to be more strongly bainite with the presence of some ferrite and pearlite. could only conclude that the peel force would be greater than 1600 N/mm, which further indicates good fusion along the interface of multiple layers. 9.6 Summary A new technique for conformal WAAM has been developed utilizing a robotic manipulator equipped with arc welding hardware, expanding the WAAM process's capabilities so it can build non-planar layers. To enable conformal WAAM, exploratory experiments were performed to select and test a compatible substrate material for building a steel conformal part, where the part would not fuse to the substrate. Copper was identied as a suitable material. A novel approach is also veried to reduce the cost of the substrate by making it reusable for dierent conformal shapes. An auto- mated accumulation detection strategy to improve the quality of corners in WAAM is developed. This strategy can be used for in-situ inspection and data labeling applications. The process also 177 Figure 9.25: Microhardness testing results indicating variation of hardness was consistent with the variation in observed microstructures. Figure 9.26: T-peel test specimens. 178 required developing a tool-path planner for non-planar layers that satises WAAM constraints. The tool-path planner included a path generation module with a novel bottom layer modication algorithm to make it compatible with the non-fusing substrate. Five parts with truss geometries were successfully built to demonstrate the capabilities of conformal WAAM. Three parts were built on a at steel plate using planar layers, while the two parts were built on a conformal copper substrate with non-planar layers. After characterizing the built parts the eects of conformal substrate on the microstructure, microhardness, and T-peel strength were not signicant. 179 Chapter 10 Robotic Multi-Axis Wire Arc Additive Manufacturing 10.1 Introduction This chapter is based on my submitted paper [26]. I dene a multi-axis robotic WAAM setup that has a tilting build platform along with a robotic manipulator holding the weld tool [24]. The multi-axis setup enables reorienting the build platform on which part is built to compensate for the gravitational forces acting on the molten metal. This allows the setup to build overhanging geometries without causing excessive sagging or failure of the part. The overhanging geometries built can be utilized in shipbuilding, aerospace, and construction industries [59]. Multi-axis robotic WAAM is explored by researchers and industry to build complex metal parts. They have adopted two types of approaches. In the rst type, they intermittently use the titling build platform after several layers to change the build direction. So the build platform is reoriented only a few times while building the complex metal part [207]. This reduces the complexity of the process, and I call it multi-directional WAAM. The second type of multi- axis WAAM reorients the build platform continuously for each layer. The geometric complexity possible in the parts built in the second type of WAAM is high but the research is limited. I explore the second type of multi-axis WAAM in this chapter. 180 Chapter 9 introduced the setup to perform conformal WAAM. The setup consisted of a single manipulator building parts on a conformal substrate. This chapter introduces multi-axis WAAM that requires a setup consisting of a manipulator and a tilt table. The building of parts in multi- axis WAAM is fundamentally dierent in tool-path generation and the challenges associated with the process. So we develop the necessary application-specic algorithms for multi-axis WAAM in this chapter. The multi-axis robotic WAAM explored in this chapter has two major challenges. The rst challenge is the tool trajectory generation to build the part. The tool trajectory generation is complex because of the high DOF setup. The second challenge arises because the part being built has to face the gravitational and reorientation forces of the build platform. These forces may cause drifting of the deposited molten metal and uneven layer height. The uneven layer height problem is complex due to the uncertainty of the phenomenon. So a feedback-based approach using sensors that corrects the defects in-situ is required [22]. The technology developed in this chapter is necessary for using the multi-robot placement algorithm developed in Chapter 6. This chapter addresses the challenges of the multi-axis robotic WAAM and makes three contributions. (1) A new tool trajectory generation algorithm described in Section 10.3.2. The tool trajectory generation algorithm decomposes the sliced path between the build platform and the weld tool and regulates the weld tool velocity relative to the build platform to theoretically get a uniform layer height. (2) A novel sensor-based online intervention approach to achieve a uniform layer height while building the part is described in Section 10.3.3. The feedback from the sensors is used to generate intervention tool-paths for additional height compensation layers to avoid part defects and failure. (3) Three test builds, and a detailed case study is presented to utilize the approach to build tools for the composite layup process. 181 10.2 Related Work The related literature to this chapter includes the latest work in supportless robotic WAAM and sensor-based WAAM. The supportless WAAM has already been covered in Chapter 9. This chapter will discuss a few relevant works using sensors in WAAM. Kulkarni et al. captured the point cloud of the weld bead using a laser scanner. Then, they used the data to learn the velocity regulation at sharp corners in WAAM [107]. Xia et al. have used a CCD camera in their WAAM experimental setup. They used the camera sensor to control the width of the deposited weld bead[201]. Lam et al. have developed a process control strategy to build overhang structures using a single manipulator. In addition, they have used a 3D scanner to verify the quality of their process control [109]. Tang et al. used a 3D line scanner in their WAAM setup for in-situ measurement and processing of the 3D point cloud. They used the scanned data for milling the built parts [173]. Unfortunately, these state-of-the-art works do not provide a sensor-based approach to generate intervention tool-paths to introduce additional height compensation layers for recovering from an uneven layer height. 10.3 Application Specic Algorithms 10.3.1 Background To explain the approach, this section brie y describes the multi-axis setup for performing robotic WAAM. The setup has 8 DOF that consists of a 2 DOF tilt table and 6 DOF industrial manipu- lator. The tilt table is mounted such that its center is approximately located on the X-axis of the manipulator base. The tilt table can rotate about its Z-axis (yaw) and tilt about its X-axis (roll) (see Figure 10.1). The manipulator is an articulated manipulator. The manipulator base frame is located at the same height as the tilt table base frame. The tilt table base frame is located where 182 Figure 10.1: Illustration of the 8 DOF WAAM setup consisting of the 6 DOF manipulator and 2 DOF build platform. the tilting and rotating axis intersect. The entire path planning in this work is done with respect to the tilt table base frame referred to as the Build Platform Coordinate System (BCS). The build platform is mounted on the tilt table. This allows it to have 2 DOF, i.e., yaw and roll. The weld tool is attached at the end-eector of the manipulator. It has 6 DOF in the manipulator's workspace, i.e., the tool can re-position and reorient. The weld tool can deposit metal by completing the arc welding circuit with the conducting build platform. 10.3.2 Tool Trajectory Generation Given the CAD modelC of the part, it is sliced adaptively using the slicing algorithm described in a previous work [21]. The slicing algorithm returns the layers as a set of continuous segments S =fl 1 ;l 2 ;:::;l m g wherem is the total number of segments to be traced by the weld tool to build the part completely. The tool trajectory generation algorithm needs to decompose and assign them to the 2 DOF build platform and 6 DOF manipulator and allot the execution time to each segment. Each segmentl consists of waypoint vectors ~ w =<x;y;z> in the BCS. Here,x,y, and z are the Cartesian coordinates. The time is represented at t. A sliced part with the layers given as an input the algorithm is shown in Figure 10.2. 183 Figure 10.2: Illustration of adaptively sliced layers for a part given as the input to the tool trajectory generation algorithm and the sliced layers displaced by the tilting of the build platform to compensate for the eects of gravity. Path Decomposition: Let me represent the ith continuous segment of the sliced part as l i . Here, i > 0 and i < m + 1. The algorithm wants to decompose l i between the 2 DOF build platform and the 6 DOF manipulator. To simplify the decomposition process, I assume that the algorithm prefers the 2 DOF build platform to utilize its DOF to the fullest and then uses the 6 DOF manipulator to decompose the segment. Since the 2 DOF build platform can rotate and tilt, the algorithm converts the waypoints from the Cartesian coordinate system to the cylindrical coordinate system. This will simplify the decomposition problem, as seen in the next steps. 1. In the rst step, the algorithm converts the waypointw Cartesian coordinates to cylindrical coordinates <r;;z >. Here, r is the radius, and is the azimuth angle ranging from to . The azimuth angle can be directly used to control the rotation of the build platform. 2. Apart from segments in the bottom layer, all the other continuous segments have a layer below them. Using this information, the algorithm can calculate the overhanging slope of the layer with the vertical. The build platform needs to tilt by to compensate for the overhang and reduce gravity's eects. However, the tilting of the build platform is limited by 184 some threshold angle, and changing the build platform tilt while executing a continuous segment leads to variation in the weld arc gap, which causes failure. So the algorithm uses the average for all the waypoints in the continuous segment, i.e., avg as an input to the second DOF limited by the threshold. The tilt for the bottom layer segments is xed to zero. Figure 10.2 visualizes the sliced layers displaced by the calculated tilt of the algorithm. 3. Once both the DOF of the build platform is used, the algorithm starts allocating inputs to the manipulator. First, ther value is assigned to they coordinate of the weld Tool Center Point (TCP). Next, the x coordinate of the weld TCP is set to zero, and the z coordinate is equal to the z value of the waypoint. 4. The weld tool pushes the metal lament onto the weld surface during arc welding. This generates a force on the weld surface. So aligning the weld tool normally to the weld surface gives the best quality weld in the WAAM setup. This is taken care of by the build platform tilt, but when it reaches the threshold, the manipulator needs to tilt to satisfy this constraint. The algorithm enables this using the Euler angles of the manipulator. Tool Velocity Regulation: The weld tool needs to move at a velocity v to deposit a weld bead of desired width and height h at a wire feed rate f. The algorithm converts this velocity to angular velocity by using Equation 10.1. _ = v r (10.1) This velocity would work well if the WAAM part had a constant slope in a layer, i.e., the part was symmetric. However, since the algorithm also builds asymmetric geometries, it needs to regulate the velocity to keep a uniform layer height. The asymmetric velocity for each waypoint can be calculated by Equation 10.2. _ asym = _ h d (10.2) 185 Figure 10.3: (A) An example of the raw point cloud of the part current layer provided as an input to the sensor-based intervention algorithm. (B) The detected current layer path (red) on the ltered point cloud of the current layer in the second step of the sensor-based intervention algorithm. (C) The sensor-based intervention tool-paths (red) for additional height compensation layers generated for an exaggerated case to reduce the unevenness of the layer height using the online feedback algorithm. 186 Figure 10.4: The 8 DOF WAAM experimental setup consisting of the 6 DOF Yaskawa manipu- lator, 2 DOF Yaskawa build platform, and Hexagon laser scanner. Here,d is the distance between the bead center of the current and the previous layer. Finally, the weld tool moves while building the layer to change the value ofr between waypoints. Representing the change in r between consecutive waypoints as r and the time for this change as t. The algorithm can calculate the regulated velocity as shown in Equation 10.3. _ reg = v r=t r h d (10.3) 10.3.3 Sensor-Based Intervention The tool trajectory generation algorithm described in Section 10.3.2 has velocity regulation theo- retically get a uniform layer height. However, it does not guarantee a uniform layer height. There are chances of getting wavy layers and uneven arc length in rare cases due to uncertainty. Uneven arc length amplies in the next layer till the part fails. To avoid this, some online feedback system 187 is required to handle the uncertainty. The most common method used in the industry is using power consumption to determine the arc length and measure the layer height. Then the layer height is xed by slowing down the weld tool by 15% to achieve a uniform layer height. This works well when the part does not have huge overhangs or setup is not multi-axis. However, when the part has huge overhangs and is built on a multi-axis setup, the 15% compensation is not enough, and slowing it down more leads to excessive heat generation and melting of the layer. Thus there is a need for a dierent and more eective approach. This chapter's approach works by online monitoring of current layer using low delity sensors such as power consumption and acoustics or high delity sensors such as laser scanners [128]. This chapter uses the later sensors, but a similar approach can be used with other sensors. The laser scanner generates the point cloud of the current layer while the WAAM part is being built. This is provided as an input to the sensor-based intervention algorithm. The algorithm works as described in the following steps. 1. In the rst step, the algorithm reads the raw point cloud the current layer. An example of the raw point cloud is shown in Figure 10.3A. The point cloud may contain noise due to the laser scanner detecting points of the previous layer. The algorithm lters the noise by using distance-based clustering. After the clustering, the algorithm is only left with the point cloud representing the current layer. 2. In the second step, the algorithm processes the ltered point cloud representing the current layer. It slices the point cloud at dierent locations using planes parallel to the Z-axis and containing the center of the ltered point cloud bounding box. These planes are uniformly distributed. The plane generates the bead prole on its surface by capturing all the points at a distance of 0.5 mm from the plane. The tip of the inverted U-shaped bead prole is used to generate the current layer path as shown in Figure 10.3B. 188 3. In the nal step, the algorithm checks for the current layer path's uneven layer height. This is calculated by getting the dierence between the desired layer height and the current layer path waypoints. If the dierence is greater than the bead height h, a sensor-based interven- tion is required. So the sensor-based intervention tool-paths are generated for the current layer by introducing additional height compensation layers. The sensor-based intervention tool-paths generated for an exaggerated case is shown in Figure 10.3C. 10.4 Experimental Setup The 8 DOF WAAM experimental setup used in this chapter is shown in Figure 10.4. It consists of a Yaskawa setup with compatible Miller arc welding hardware. The Yaskawa setup consists of a Yaskawa AR 2010 industrial manipulator, a MotoPos D500B, and a YRC 1000 controller. The Yaskawa AR 2010 is a highly exible articulated 6 DOF manipulator, and the MotoPos D500B is a high accuracy 2 DOF tilt table. It is controlled using a YRC 1000 controller. The Miller arc welding setup uses a Miller Auto-Continuum 350 power source, Miller Continuum wire feeder, and a robotic welding gun. The welding setup is controlled with the compatible YRC 1000 controller. The setup utilizes 0.9 mm carbon steel feed wire to deposit molten metal and 90% Argon { 10% Carbon Dioxide inert gas to shield the molten metal during the deposition process. The xed wire feed rate is 21.2 mm/s, and the tool speed v is 0.9 mm/s. The deposited weld bead height is 2.85 mm, and the bead width is 5.75 mm. The setup utilizes Miller's RMD MIG arc welding process. It allows automated control of the power source voltage for a constant arc. The point cloud for the sensor-based intervention and part characterization is captured using a Hexagon laser scanner. The Hexagon Absolute ROMER Arm with an integrated laser scanner has a volumetric accuracy of 0.051 mm in the generated point cloud. The Hexagon PC-DMIS software is used to merge point clouds between intermittent scans and compare the point cloud with the CAD model of the part. In my sensor-based intervention setup, the online point clouds 189 are generated by scanning the part manually after each layer. This can be easily replaced by a laser scanner mounted on the welding robot. 10.5 Results 10.5.1 Built Parts This chapter builds three parts using the multi-axis WAAM described in this chapter. The CAD models, the parts being built on the experimental setup, and the built parts along with the build volume dimensions are shown in Figure 10.5. Part A shown in Figure 10.5A is a symmetric part which a constant overhanging slope for all the waypoints in the continuous segment. This part tests the system's capability to build layers with steep slopes greater build platform tilt threshold of 30 . So the weld tool will be required to tilt while building the layers of the part. Part B shown in Figure 10.5B is an asymmetric part with waypoints in a single continuous segment having overhanging slopes in opposite directions. The algorithm determines the tilt of the built platform by averaging the overhanging slope at all waypoints in a single continuous segment. This part also tests the system's capability to discontinuous layer. The two parts being built are shown in Video [12]. Finally, the part C shown in Figure 10.5C is a functional part. This part will be used for performing composite layup. The case study of the part is described in detail in the following section. The sensor-based intervention algorithm was used to get the online feedback and generate intervention tool-paths to build additional height compensation layers for avoiding part defects and build failures. 10.5.2 Case Study To highlight the benets of the approach developed, this chapter performs a case study for build- ing a functional tool for the composite layup process. Composite layup is a process to build lightweight, and high strength composite parts [132, 131, 129]. The process works by laying up 190 Figure 10.5: The CAD models, the parts being built on the experimental setup, and the build parts along with the build volume dimensions. 191 Figure 10.6: (A) The scanned model of the built tool. (B) The point cloud error map generated by comparing the scanned model with the CAD. (C) The built tool surface being machined. (D) The post-processed tool. (E) The composite sheet layup done on the post-processed tool. (F) The nal composite part. 192 prepreg composite sheets on a tool that denes the shape of the composite part. The sheets are conformed on the tool by a human, and nally, the tool with the composite sheets is cured to obtain the composite part. Such parts are used in aerospace industries due to their high strength and lightweight. This chapter describes the case study in detail in the following steps. 1. In the rst step, the tool is built on the multi-axis WAAM setup using this chapter's approach that takes the CAD model of the part as an input. The thin shell part is made of carbon steel and has a wall thickness of 5.75 mm. The total time to build the part on the WAAM setup is approximately 11 hours, and the part is 240 mm tall. The built tool is shown in Figure 10.5C. 2. In the second step, the built tool is scanned using the laser scanner to generate a scanned model. The scanned model is shown in Figure 10.6A. The scanned model is compared to the CAD model to determine the amount of material to be removed to get the desired shape of the tool. The error color map of the built part is shown in Figure 10.6B. The average error is close to 1 mm, which can be easily machined. 3. In the third step, the tool is machined to make the surface smooth and match the post- processed tool with the CAD model. The tool-path for the machining is generated using CAD. Since the tool is hollow, it is lled with plasters to avoid vibrations while machining, as shown in Figure 10.6C. The entire post-processing step takes approximately 5 hours, and the post-processed tool is shown in Figure 10.6D. 4. In the nal step, the post-processed tool is prepared to perform composite layup by applying mold release. Then hand layup of ve already cut carbon ber prepreg sheets is done by a human. The tool with the conformed prepreg sheets on top is shown in Figure 10.6E. Then the tool is vacuum bagged, and the air is sucked out of the bag using a pump to remove any air bubbles between the carbon ber sheets. Finally, the tool with the conformed sheets is 193 cured at a temperature less than 500 F. The cured part detached from the tool is shown in Figure 10.6F. The entire process is shown in Video [25]. 10.6 Summary This chapter explores a new approach of tool trajectory generation algorithm that decomposes the tool-path between the 2 DOF build platform and 6 DOF manipulator and regulates the tool velocity to theoretically maintain the uniform layer height. The approach also develops a novel online sensor-based intervention algorithm that monitors for potential unevenness in layer height in multi-axis WAAM. The algorithm automatically generates corrective intervention tool-paths to introduce additional height compensation layers for making the layer height uniform in the case of uncertainty. The algorithm's eectiveness is tested by building three parts, including a functional part. The part's functionality is demonstrated in a case study by using the part as a composite layup tool to manufacture a carbon ber part. 194 Chapter 11 Conclusions 11.1 Intellectual Contributions The dissertation makes the following four intellectual contributions. 1. The rst contribution described in Chapter 2 is a part placement algorithm in the manipu- lator workspace. By optimizing the location of the part and the associated trajectory to be executed by the manipulator, the algorithm reduced the trajectory execution errors up to 25%. Thus, by combining the rst two contributions, a user can signicantly improve robot accuracy. 2. The second contribution in this dissertation is a tool-path planning algorithm discussed in Chapter 3. The tool-path planning algorithm incorporated tool contact considerations by using multiple TCPs on a single tool to increase the tool-path planning exibility. However, this increased the computational challenges, which are addressed using a new search-based algorithm that reduced the collision check time by more than 90%. 3. The third contribution is the machine-learned robot trajectory compensation scheme which works in the workspace and the conguration space of the manipulator. This scheme is covered in Chapter 4 and 5. Using these schemes, the uses can reduce the manipulator average pose error up to 80% and the total lag error up to 90% by only utilizing less than 195 10% of the entire trajectory. This scheme is shown to get the average path error within the repeatability of the manipulator. Moreover, this scheme applies on top of the existing robot controller to avoid the safety issues caused by modifying the robot controller in an industrial setting. 4. The fourth contribution is a multi-robot placement algorithm designed in Chapter 6. The algorithm minimizes the total trajectory execution by iterating through the decomposition of the total trajectory between multiple manipulators. In addition, it minimizes the IK inconsistency in robot paths by modifying the multiple robot placement locations around the decomposed trajectory. The optimized solution is more ecient than the standard solutions used in the industry. 11.2 Anticipated Benets The benets of the intellectual contributions described using the four fundamental capabilities are scalable to any manufacturing using robots. The dissertation demonstrates these benets for ma- terial extrusion AM and WAAM. Chapter 7 describes supportless material extrusion AM setup. Robot trajectory path errors happening in supportless AM can be greater than the extruded lament diameter of 0.8 mm. This can lead to build part failure. By using the trajectory compen- sation scheme, the errors can be reduced to avoid part failure. Also, the trajectory lag reduction makes the simultaneous trajectory execution smoother. Chapter 8 performs multi-resolution ma- terial extrusion AM with hybrid layers. A collision check is done to avoid collision between the extrusion tool and the built layers. The chapter uses the tool-path planning algorithm to improve the computational eciency of the collision checks. Chapter 9 executes complex trajectories to build conformal WAAM parts. These trajectories need to be placed inside the manipulator workspace for successful execution. The chapter uses the part placement algorithm to generate the placement in the manipulator workspace to build the parts successfully. Chapter 10 develops a 196 multi-axis setup to perform sensor-based WAAM. When used with multiple robots, this approach will require a multi-robot placement algorithm developed in the fundamental capabilities of this thesis. 11.3 Summary The fundamental capabilities developed in the dissertation enabled robotic manipulators to en- hance the functionality of additive manufacturing. Robotic AM showcased several benets such as a low setup cost, high exibility, portability, better quality, and greater eciency. However, these benets are signicant and cost-eective only for large-scale AM. So the process planning for robotic AM developed in this dissertation should be utilized for performing large-scale AM. On the other hand, small-scale AM should continue using the conventional AM approach. Thus, a balance is achieved by considering the trade-os between robotic AM and conventional AM. 11.4 Future Work The dissertation discusses a few areas which researchers in robotic additive manufacturing should explore. • Ultra-large parts with small scale features: Ultra-large scale parts such as rocket bodies with small scale features are not feasible with conventional AM. It will lead to exponentially long build times and increasing costs with the increasing size of the setup. Robotic AM with a wide range of sizes can be employed to build ultra-large parts with small-scale features. For example, a small robot can build mesoscale features, while a large robot can build a large structure concurrently. Robots mounted on mobile bases, i.e., mobile manipulators, have innite reach and can build ultra-large-scale parts such as turbine blades which are twenty meters in length. Such a setup will require complex process planning 197 such as motion planning for the high DOF setup, task allocation to dierent robots, part decomposition, and collision avoidance between moving robots. • In-situ printing: In-situ printing is done if the built part is too bulky or delicate to be transferred or if the cost and time of transportation is too high. Conventional AM can be used for in-situ AM up to a specic part volume. Beyond that, conventional AM machines are too bulky and not portable. Robotic manipulators have a large workspace to size ratio. This means they are easily portable for performing in-situ AM. Also, manipulators used in-situ for other tasks such as grinding, or nishing can be easily used to perform AM using the same algorithms. They can also deposit material on prefabricated structures. Though in-situ robotic AM is a promising idea, it faces several challenges of quick re-assembly and calibration of the setup at a dierent location to perform high accuracy AM. • Repair: In repair, the part is xed without replacing or re-manufacturing the whole part. Conventional AM cannot perform repair work due to its lack of portability for in-situ repair and lack of exibility to deposit material on the damaged region. Robotic manipulators are portable. They have the desired exibility due to the more DOF to perform AM on the damaged regions. However, there are a few challenges to enabling robotic AM repair. One challenge is to register and model the damaged region to determine the robot tool-path to repair it. The second challenge is to determine the robot placement from where the damaged area is reachable. Finally, a collision-free trajectory needs to be planned. • Micro-scale parts: Micro-scale parts are the ones that have at least one dimension in microns. Conventional AM with planar layers faces diculty building micro-scale parts due to the resolution limits of the process and the limited DOF. The layer size will need to be extremely small to print small conformal features. 198 Robots are being developed to perform micro-scale operations. Such micro-scale robots are being used in a variety of industries. For example, we can think of a micro-bot entering a human body to manufacture a tissue additively. However, this requires the manufacturing of micro-bots that can perform AM. Furthermore, even after manufacturing the micro-bots, technology needs to be developed to make the micro-bots work together to build parts with the desired accuracy and reliability. 199 References [1] Amir M Aboutaleb, Mark A Tschopp, Prahalad K Rao, and Linkan Bian. Multi-objective accelerated process optimization of part geometric accuracy in additive manufacturing. Journal of Manufacturing Science and Engineering, 139(10):101001, 2017. [2] G ursel Alici and Bijan Shirinzadeh. A systematic technique to estimate positioning errors for robot accuracy improvement using laser interferometry based sensing. Mechanism and Machine Theory, 40(8):879{906, 2005. [3] Faez Alkadi, Kyung-Chang Lee, Abdullateef H Bashiri, and Jae-Won Choi. Conformal additive manufacturing using a direct-print process. Additive Manufacturing, 32:100975, 2020. [4] Abdullah T Alsharhan, Timotei Centea, and Satyandra K Gupta. Enhancing mechanical properties of thin-walled structures using non-planar extrusion based additive manufactur- ing. In International Manufacturing Science and Engineering Conference, volume 50732, page V002T01A016. American Society of Mechanical Engineers, 2017. [5] Seiji Aoyagi, Atsushi Kohama, Yasutaka Nakata, Yuki Hayano, and Masato Suzuki. Im- provement of robot accuracy by calibrating kinematic model using a laser tracking system- compensation of non-geometric errors using neural networks and selection of optimal mea- suring points using genetic algorithm. In International Conference on Intelligent Robots and Systems (IROS), pages 5660{5665. IEEE, 2010. [6] Nikos A Aspragathos and S Foussias. Optimal location of a robot path when considering velocity performance. Robotica, 20(2):139{147, 2002. [7] Christopher G Atkeson. Learning arm kinematics and dynamics. Annual review of neuro- science, 12(1):157{183, 1989. [8] Jaemin Baek, Soonwan Cho, and Soohee Han. Practical time-delay control with adap- tive gains for trajectory tracking of robot manipulators. IEEE Transactions on Industrial Electronics, 65(7):5682{5692, 2018. [9] Richard Bellman. On a routing problem. Quarterly of applied mathematics, 16(1):87{90, 1958. [10] Barry Berman. 3-D printing: The new industrial revolution. Business Horizons, 55(2):155 { 162, 2012. [11] Prahar M Bhatt, Cheng Gong, Ariyan M Kabir, Rishi K Malhan, Brual C Shah, and Satyandra K Gupta. Incorporating tool contact considerations in tool-path planning for robotic operations. In International Manufacturing Science and Engineering Conference, volume 84256, page V001T05A018. American Society of Mechanical Engineers, 2020. 200 [12] Prahar M Bhatt and Satyandra K Gupta. Can robotic wire arc additive manufactur- ing (WAAM) build these parts? https://youtu.be/Jx0PbPk-nJQ. [Online; accessed December-2021]. [13] Prahar M Bhatt, Ariyan M Kabir, Rishi K Malhan, Brual Shah, Aniruddha V Shembekar, Yeo Jung Yoon, and Satyandra K Gupta. A robotic cell for multi-resolution additive man- ufacturing. In IEEE International Conference on Robotics and Automation (ICRA), pages 2800{2807. IEEE, 2019. [14] Prahar M Bhatt, Ariyan M Kabir, Rishi K Malhan, Aniruddha V Shembekar, Brual C Shah, and Satyandra K Gupta. Concurrent design of tool-paths and impedance controllers for performing area coverage operations in manufacturing applications under uncertainty. In IEEE 15th International Conference on Automation Science and Engineering (CASE), pages 1151{1156. IEEE, 2019. [15] Prahar M Bhatt, Ariyan M Kabir, Max Peralta, Hugh A Bruck, and Satyandra K Gupta. A robotic cell for performing sheet lamination-based additive manufacturing. Additive Manu- facturing, 27:278{289, 2019. [16] Prahar M Bhatt, Ashish Kulkarni, Alec Kanyuck, and Satyandra K Gupta. Can we build conformal steel structures using robotic wire arc additive manufacturing? https://youtu. be/oqF6GEUcRJ4. [Online; accessed December-2021]. [17] Prahar M Bhatt, Ashish Kulkarni, Alec Kanyuck, Rishi K Malhan, Luis S Santos, Shantanu Thakar, Hugh A Bruck, and Satyandra K Gupta. Automated process planning for confor- mal wire arc additive manufacturing. International Journal of Advanced Manufacturing Technology, Accepted for publication. [18] Prahar M Bhatt, Ashish Kulkarni, Rishi K Malhan, and Satyandra K Gupta. Optimizing part placement for improving accuracy of robot-based additive manufacturing. In IEEE International Conference on Robotics and Automation (ICRA), pages 859{865. IEEE, 2021. [19] Prahar M Bhatt, Ashish Kulkarni, Rishi K Malhan, Brual C Shah, Yeo Jung Yoon, and Satyandra K Gupta. Automated planning for robotic multi-resolution additive manufactur- ing. Journal of Computing and Information Science in Engineering, 22(2):021006, 2021. [20] Prahar M Bhatt, Rishi K Malhan, and Satyandra K Gupta. Computational foundations for using three degrees of freedom build platforms to enable supportless extrusion-based addi- tive manufacturing. In International Manufacturing Science and Engineering Conference, volume 58745, page V001T02A026. American Society of Mechanical Engineers, 2019. [21] Prahar M Bhatt, Rishi K Malhan, Pradeep Rajendran, and Satyandra K Gupta. Building free-form thin shell parts using supportless extrusion-based additive manufacturing. Addi- tive Manufacturing, 32:101003, 2020. [22] Prahar M Bhatt, Rishi K Malhan, Pradeep Rajendran, Brual C Shah, Shantanu Thakar, Yeo Jung Yoon, and Satyandra K Gupta. Image-based surface defect detection using deep learning: A review. Journal of Computing and Information Science in Engineering, 21(4):040801, 2021. [23] Prahar M Bhatt, Rishi K Malhan, Pradeep Rajendran, Aniruddha V Shembekar, and Satyandra K Gupta. Trajectory-dependent compensation scheme to reduce manipulator execution errors for manufacturing applications. In International Manufacturing Science and Engineering Conference, volume 85062, page V001T05A009. American Society of Me- chanical Engineers, 2021. 201 [24] Prahar M Bhatt, Rishi K Malhan, Aniruddha V Shembekar, Yeo Jung Yoon, and Satyan- dra K Gupta. Expanding capabilities of additive manufacturing through use of robotics technologies: A survey. Additive manufacturing, 31:100933, 2020. [25] Prahar M Bhatt, Zachary McNulty, and Satyandra K Gupta. How to build tools using robotic wire arc additive manufacturing (WAAM)? https://youtu.be/-sEE9ID8aEE. [On- line; accessed December-2021]. [26] Prahar M Bhatt, Zachary McNulty, and Satyandra K Gupta. Robot trajectory generation for multi-axis wire arc additive manufacturing. Submitted for publication. [27] Prahar M Bhatt, Andrzej Nycz, and Satyandra K Gupta. Optimizing multi-robot place- ments for wire arc additive manufacturing. Submitted for Publication. [28] Prahar M Bhatt, Max Peralta, Hugh A Bruck, and Satyandra K Gupta. Robot assisted additive manufacturing of thin multifunctional structures. In International Manufacturing Science and Engineering Conference, volume 51357, page V001T01A012. American Society of Mechanical Engineers, 2018. [29] Prahar M Bhatt, Pradeep Rajendran, Keith McKay, and Satyandra K Gupta. Compen- sation scheme to reduce trajectory execution errors for industrial manipulators. https: //youtu.be/SDSb670yi6I. [Online; accessed December-2021]. [30] Prahar M Bhatt, Pradeep Rajendran, Keith McKay, and Satyandra K Gupta. Context- dependent compensation scheme to reduce trajectory execution errors for industrial ma- nipulators. In IEEE International Conference on Robotics and Automation (ICRA), pages 5578{5584. IEEE, 2019. [31] Christopher M Bishop and CM Roach. Fast curve tting using neural networks. Review of scientic instruments, 63(10):4450{4456, 1992. [32] David S Broomhead and David Lowe. Radial basis functions, multi-variable functional inter- polation and adaptive networks. Technical report, Royal Signals and Radar Establishment Malvern (United Kingdom), 1988. [33] John Canny. A computational approach to edge detection. In Readings in computer vision, pages 184{203. 1987. [34] St ephane Caro, Claire Dumas, S ebastien Garnier, and Beno^ t Furet. Workpiece placement optimization for machining operations with a kuka kr270-2 robot. In 2013 IEEE Interna- tional Conference on Robotics and Automation, pages 2921{2926. IEEE, 2013. [35] Heping Chen, Ning Xi, Weihua Sheng, Yifan Chen, Allen Roche, and Jerey Dahl. A general framework for automatic cad-guided tool planning for surface manufacturing. In Robotics and Automation, 2003. Proceedings. ICRA'03. IEEE International Conference on, volume 3, pages 3504{3509. IEEE, 2003. [36] Phillip Chesser, Brian Post, Alex Roschli, Charles Carnal, Randall Lind, Michael Borish, and Lonnie Love. Extrusion control for high quality printing on big area additive manufacturing (baam) systems. Additive Manufacturing, 28:445{455, 2019. [37] Maurice M de Ruiter. Advances in computer graphics III. Springer Science & Business Media, 1988. [38] Paul Delrot, Damien Loterie, Demetri Psaltis, and Christophe Moser. Integrated platform for multi-resolution additive manufacturing. In International Conference on Additive Man- ufacturing in Products and Applications, pages 145{151. Springer, 2017. 202 [39] Jacques Denavit. A kinematic notation for low pair mechanisms based on matrices. ASME J. Appl. Mech., 22:215{221, 1955. [40] Neel Dhanaraj, Yeo Jung Yoon, Rishi K. Malhan, Prahar M Bhatt, Shantanu Thakar, and Satyandra K. Gupta. A mobile manipulator system for accurate and ecient spraying on large surfaces. In International Conference on Industry 4.0 and Smart Manufacturing, Linz, Austria, November 2021. [41] Edsger W Dijkstra. A note on two problems in connexion with graphs. Numerische math- ematik, 1(1):269{271, 1959. [42] Donghong Ding, Zengxi Pan, Dominic Cuiuri, and Huijun Li. A practical path planning methodology for wire and arc additive manufacturing of thin-walled structures. Robotics and Computer-Integrated Manufacturing, 34:8{19, 2015. [43] Donghong Ding, Zengxi Pan, Dominic Cuiuri, and Huijun Li. Wire-feed additive man- ufacturing of metal components: Technologies, developments and future interests. The International Journal of Advanced Manufacturing Technology, 81(1):465{481, 2015. [44] Donghong Ding, Zengxi Pan, Dominic Cuiuri, Huijun Li, Nathan Larkin, and Stephen Van Duin. Multi-direction slicing of STL models for robotic wire-feed additive manufactur- ing. In International Solid Freeform Fabrication Symposium, volume 1059, Austin, Texas, 2015. [45] Donghong Ding, Zengxi Stephen Pan, Dominic Cuiuri, and Huijun Li. A tool-path genera- tion strategy for wire and arc additive manufacturing. The international journal of advanced manufacturing technology, 73(1-4):173{183, 2014. [46] Claire Dumas, St ephane Caro, S ebastien Garnier, and Beno^ t Furet. Workpiece placement optimization of six-revolute industrial serial robots for machining operations. In Engineering Systems Design and Analysis, volume 44854, pages 419{428. American Society of Mechanical Engineers, 2012. [47] Jimmy Etienne, Nicolas Ray, Daniele Panozzo, Samuel Hornus, Charlie Wang, Jon as Mart nez, Sara Mcmains, Marc Alexa, Brian Wyvill, and Sylvain Lefebvre. CurviSlicer: Slightly curved slicing for 3-axis printers. 2019. [48] Guoxin Fang, Tianyu Zhang, Sikai Zhong, Xiangjia Chen, Zichun Zhong, and Charlie CL Wang. Reinforced FDM: Multi-axis lament alignment with controlled anisotropic strength. ACM Transactions on Graphics (TOG), 39(6):1{15, 2020. [49] John T Feddema. Kinematically optimal robot placement for minimum time coordinated motion. In Proceedings of IEEE International Conference on Robotics and Automation, volume 4, pages 3395{3400. IEEE, 1996. [50] Benjamin Felbrich, Frederik Wulle, Christoph Allgaier, A Menges, A Verl, KH Wurst, and JH Nebelsick. A novel rapid additive manufacturing concept for architectural composite shell construction inspired by the shell formation in land snails. Bioinspiration & biomimet- ics, 13(2):026010, 2018. [51] T Feucht, J Lange, B Waldschmitt, A-K Schudlich, M Klein, and M Oechsner. Welding process for the additive manufacturing of cantilevered components with the WAAM. In Advanced Joining Processes, pages 67{78. Springer, 2020. 203 [52] Martin A Fischler and Robert C Bolles. Random sample consensus: A paradigm for model tting with applications to image analysis and automated cartography. Communications of the ACM, 24(6):381{395, 1981. [53] Robert W Floyd. Algorithm 97: Shortest path. Communications of the ACM, 5(6):345, 1962. [54] Sean Follmer, Daniel Leithinger, Alex Olwal, Akimitsu Hogge, and Hiroshi Ishii. InFORM: Dynamic physical aordances and constraints through shape and object actuation. In Uist, volume 13, pages 2501988{2502032, 2013. [55] Lester R Ford Jr. Network ow theory. Technical report, Rand Corp Santa Monica Ca, 1956. [56] William E Frazier. Metal additive manufacturing: A review. Journal of Materials Engi- neering and performance, 23(6):1917{1928, 2014. [57] Sarah F Frisken, Ronald N Perry, Alyn P Rockwood, and Thouis R Jones. Adaptively sampled distance elds: A general representation of shape for computer graphics. In Pro- ceedings of the 27th annual conference on Computer graphics and interactive techniques, pages 249{254. ACM Press/Addison-Wesley Publishing Co., 2000. [58] Wei Gao, Yunbo Zhang, Diogo C Nazzetta, Karthik Ramani, and Raymond J Cipra. Revo- Maker: Enabling multi-directional and functionally-embedded 3D printing using a rotational cuboidal platform. In Proceedings of the 28th Annual ACM Symposium on User Interface Software & Technology, pages 437{446. ACM, 2015. [59] Wei Gao, Yunbo Zhang, Devarajan Ramanujan, Karthik Ramani, Yong Chen, Christopher B Williams, Charlie CL Wang, Yung C Shin, Song Zhang, and Pablo D Zavattieri. The status, challenges, and future of additive manufacturing in engineering. Computer-Aided Design, 69:65{89, 2015. [60] Haibin Geng, Jiangtao Xiong, Dan Huang, Xin Lin, and Jinglong Li. A prediction model of layer geometrical size in wire and arc additive manufacture using response surface method- ology. The International Journal of Advanced Manufacturing Technology, 93(1):175{186, 2017. [61] Sepehr Gharaaty, Tingting Shu, Ahmed Joubair, Wen Fang Xie, and Ilian A Bonev. Online pose correction of an industrial robot using an optical coordinate measure machine system. International Journal of Advanced Robotic Systems, 15(4):1729881418787915, 2018. [62] Ian Gibson, David Rosen, Brent Stucker, and Mahyar Khorasani. Additive manufacturing technologies, volume 17. Springer, 2014. [63] Ian Gibson, David W. Rosen, and Brent Stucker. Additive manufacturing technologies: Rapid prototyping to direct digital manufacturing. Springer, 2010. [64] Jothibabu Gokulakrishnan and Gurunathan Saravana Kumar. Optimum adaptive slicing considering the layer strength of fused deposition modelling parts. In International Confer- ence on Engineering Optimization, pages 442{452. Springer, 2018. [65] Ian Goodfellow, Yoshua Bengio, Aaron Courville, and Yoshua Bengio. Deep learning, vol- ume 1. MIT press Cambridge, 2016. [66] J Gotlih, M Brezocnik, J Balic, T Karner, B Razborsek, and K Gotlih. Determination of accuracy contour and optimization of workpiece positioning for robot milling. Advances in Production Engineering & Management, 12(3), 2017. 204 [67] yvind Kallevik Grutle. 5-axis 3D printer. Master's thesis, 2015. [68] Mohamed Habibi and Marwa Ziadia. From gantry-based machine to robot-based fused deposition modelling: A state-of-the-art. 2021. [69] A Hagberg, D Schult, and P Swart. Networkx: Python software for the analysis of networks. Mathematical Modeling and Analysis, Los Alamos National Laboratory, 2005. [70] Richard Scheunemann Hartenberg and Jacques Denavit. Kinematic synthesis of linkages. McGraw-Hill, 1964. [71] Ahmed Arabi Hassen, Mark Noakes, Peeyush Nandwana, Seokpum Kim, Vlastimil Kunc, Uday Vaidya, Lonnie Love, and Andrzej Nycz. Scaling up metal additive manufacturing process to fabricate molds for composite manufacturing. Additive Manufacturing, 32:101093, 2020. [72] Kris Hauser. Robotic systems. http://motion.cs.illinois.edu/RoboticSystems/. [Online; accessed December-2021]. [73] Je Heaton. Introduction to neural networks with Java. Heaton Research, Inc., 2008. [74] James S Hemmerle and Fritz B Prinz. Optimal path placement for kinematically redun- dant manipulators. In Proceedings. 1991 IEEE International Conference on Robotics and Automation, pages 1234{1235. IEEE Computer Society, 1991. [75] Benedict Hobson. Mit media lab's shape-shifting table top is "equivalent to the invention of painting". Dezeen and MINI Frontiers, 2014. [76] Gary Hodgson, A Ranellucci, and J Moe. Slic3r manual. LulzBot. Accessed September, 24:2016, 2015. [77] Mohammad M Hossain, Richard W Vuduc, Chandra Nath, Thomas R Kurfess, and Thomas M Tucker. A graphical approach for freeform surface osetting with gpu accelera- tion for subtractive 3D printing. In ASME 2016 11th International Manufacturing Science and Engineering Conference. American Society of Mechanical Engineers Digital Collection, 2016. [78] Kailun Hu, Shuo Jin, and Charlie CL Wang. Support slimming for single material based additive manufacturing. Computer-Aided Design, 65:1{10, 2015. [79] Bin Huang and Sarat B Singamneni. Curved layer adaptive slicing (clas) for fused deposition modelling. Rapid Prototyping Journal, 21(4):354{367, 2015. [80] H Huang, ZM Gong, XQ Chen, and L Zhou. Robotic grinding and polishing for turbine-vane overhaul. Journal of materials processing technology, 127(2):140{145, 2002. [81] H Huang, L Zhou, XQ Chen, and ZM Gong. Smart robotic system for 3D prole turbine vane airfoil repair. The International Journal of Advanced Manufacturing Technology, 21(4):275{ 283, 2003. [82] Thomas Huang, George Yang, and Greory Tang. A fast two-dimensional median ltering algorithm. IEEE Transactions on Acoustics, Speech, and Signal Processing, 27(1):13{18, 1979. [83] Ismayuzri Ishak and Pierre Larochelle. Robot arm platform for additive manufacturing: 3D lattice structures. In 30th Florida Conference on Recent Advances in Robotics May, pages 11{12, 2017. 205 [84] Ismayuzri Bin Ishak, Joseph Fisher, and Pierre Larochelle. Robot arm platform for ad- ditive manufacturing using multi-plane toolpaths. In ASME International Design Engi- neering Technical Conferences and Computers and Information in Engineering Conference, volume 5A, Charlotte, North Carolina, 2016. American Society of Mechanical Engineers. [85] ISO. 10303-21: Industrial automation systems and integration-product data representation and exchange|part 21: Implementation methods: Clear text encoding of the exchange structure. International Organization for Standardization, 2002. [86] Wei Ji and Lihui Wang. Industrial robotic machining: A review. The International Journal of Advanced manufacturing Technology, 103(1-4):1239{1255, 2019. [87] Jingchao Jiang and Yongsheng Ma. Path planning strategies to optimize accuracy, quality, build time and material use in additive manufacturing: A review. Micromachines, 11(7):633, 2020. [88] Jingchao Jiang, Stephen T Newman, and Ray Y Zhong. A review of multiple degrees of freedom for additive manufacturing machines. International Journal of Computer Integrated Manufacturing, 34(2):195{211, 2021. [89] Maolin Jin, Jinwook Kim, Junyoung Lee, and Pyung Hun Chang. Improving time-delay control for robot manipulators using tsk fuzzy logic control systems. In International Con- ference on Advanced Intelligent Mechatronics (AIM), pages 1743{1748. IEEE, 2017. [90] Yuan Jin, Jianke Du, Yong He, and Guoqiang Fu. Modeling and process planning for curved layer fused deposition. The International Journal of Advanced Manufacturing Technology, 91(1-4):273{285, 2017. [91] Steven G Johnson. The nlopt nonlinear-optimization package, 2014. [92] Ahmed Joubair. What are the sources of robot inaccuracy? https://blog.robotiq.com/ bid/72831/What-are-the-Sources-of-Robot-Inaccuracy. [Online; accessed October- 2020]. [93] Ariyan M Kabir, Prahar M Bhatt, Brual C Shah, and Satyandra K Gupta. Robotic nishing of geometrically complex parts. In Manufacturing in the Era of 4th Industrial Revolution: A World Scientic Reference Volume 2: Recent Advances in Industrial Robotics, pages 315{ 336. World Scientic, 2020. [94] Ariyan M Kabir, Aniruddha V Shembekar, Rishi K Malhan, Rohil S Aggarwal, Joshua D Langsfeld, Brual C Shah, and Satyandra K Gupta. Robotic nishing of interior regions of geometrically complex parts. In International Manufacturing Science and Engineering Conference, volume 51371, page V003T02A005. American Society of Mechanical Engineers, 2018. [95] Ariyan M Kabir, Shantanu Thakar, Prahar M Bhatt, Rishi K Malhan, Pradeep Rajendran, Brual C Shah, and Satyandra K Gupta. Incorporating motion planning feasibility consider- ations during task-agent assignment to perform complex tasks using mobile manipulators. In IEEE International Conference on Robotics and Automation (ICRA), pages 5663{5670. IEEE, 2020. [96] Yassine Kali, Maarouf Saad, Khalid Benjelloun, and Charles Khairallah. Super-twisting al- gorithm with time delay estimation for uncertain robot manipulators. Nonlinear Dynamics, pages 1{13, 2018. 206 [97] Mitsuo Kawato and Hiroaki Gomi. A computational model of four regions of the cerebellum based on feedback-error learning. Biological cybernetics, 68(2):95{103, 1992. [98] Panagiotis Kazanas, Preetam Deherkar, Pedro Almeida, Helen Lockett, and Stewart Williams. Fabrication of geometrical features using wire and arc additive manufacture. Proceedings of the Institution of Mechanical Engineers, Part B: Journal of Engineering Manufacture, 226(6):1042{1051, 2012. [99] Steven Keating and Neri Oxman. Compound fabrication: A multi-functional robotic plat- form for digital design and fabrication. Robotics and Computer-Integrated Manufacturing, 29(6):439{448, 2013. [100] Steven J Keating, Julian C Leland, Levi Cai, and Neri Oxman. Toward site-specic and self-sucient robotic fabrication on architectural scales. Science Robotics, 2(5):eaam8986, 2017. [101] Mojtaba Khanzadeh, Prahalada Rao, Ruholla Jafari-Marandi, Brian K Smith, Mark A Tschopp, and Linkan Bian. Quantifying geometric accuracy with unsupervised machine learning: Using self-organizing map on fused lament fabrication additive manufacturing parts. Journal of Manufacturing Science and Engineering, 140(3):031011, 2018. [102] Behrokh Khoshnevis. Automated construction by contour crafting|related robotics and information technologies. Automation in construction, 13(1):5{19, 2004. [103] Chiyen Kim, David Espalin, Alejandro Cuaron, Mireya A Perez, Mincheol Lee, Eric Mac- Donald, and Ryan B Wicker. Cooperative tool path planning for wire embedding on ad- ditively manufactured curved surfaces using robot kinematics. Journal of Mechanisms and Robotics, 7(2):021003, 2015. [104] Ron Kimmel, Nahum Kiryati, and Alfred M Bruckstein. Sub-pixel distance maps and weighted distance transforms. Journal of Mathematical Imaging and Vision, 6(2-3):223{ 233, 1996. [105] David Kralji c and Roman Kamnik. Trajectory planning for additive manufacturing with a 6-dof industrial robot. In International Conference on Robotics in Alpe-Adria Danube Region, pages 456{465. Springer, 2018. [106] Joseph R Kubalak, Alfred L Wicks, and Christopher B Williams. Exploring multi-axis material extrusion additive manufacturing for improving mechanical properties of printed parts. Rapid Prototyping Journal, 25(2):356{362, 2019. [107] Ashish Kulkarni, Prahar M Bhatt, Alec Kanyuck, and Satyandra K Gupta. Using un- supervised learning for regulating deposition speed during robotic wire arc additive man- ufacturing. In ASME 2021 International Design Engineering Technical Conferences and Computers and Information in Engineering Conference. American Society of Mechanical Engineers Digital Collection, 2021. [108] Joris Laarman, Sasa Jokic, Petr Novikov, Luis E Fraguada, and Areti Markopoulou. Anti- gravity additive manufacturing. Fabricate: Negotiating Design & Making, pages 192{197, 2014. [109] Teng Foong Lam, Yi Xiong, Audelia Gumarus Dharmawan, Shaohui Foong, and Gim Song Soh. Adaptive process control implementation of wire arc additive manufacturing for thin- walled components with overhang features. The International Journal of Advanced Manu- facturing Technology, 108(4):1061{1071, 2020. 207 [110] Wei-chen Lee, Ching-chih Wei, and Shan-Chen Chung. Development of a hybrid rapid pro- totyping system using low-cost fused deposition modeling and ve-axis machining. Journal of Materials Processing Technology, 214(11):2366{2374, 2014. [111] Kenneth Levenberg. A method for the solution of certain non-linear problems in least squares. Quarterly of applied mathematics, 2(2):164{168, 1944. [112] Lin Li, Azadeh Haghighi, and Yiran Yang. A novel 6-axis hybrid additive-subtractive manu- facturing process: Design and case studies. Journal of Manufacturing Processes, 33:150{160, 2018. [113] Q Li and XY Xu. Self-adaptive slicing algorithm for 3D printing of FGM components. Materials Research Innovations, 19(sup5):S5{635, 2015. [114] Qiyang Li, Jingxing Qian, Zining Zhu, Xuchan Bao, Mohamed K Helwa, and Angela P Schoellig. Deep neural networks for improved, impromptu trajectory tracking of quadrotors. In International Conference on Robotics and Automation (ICRA), pages 5183{5189. IEEE, 2017. [115] Yifeng Li, Xunpeng Qin, Qiang Wu, Zeqi Hu, and Tan Shao. Fabrication of curved over- hanging thin-walled structure with robotic wire and arc additive manufacturing (RWAAM). Industrial Robot: the international journal of robotics research and application, 2019. [116] Zhaosheng Li, Linlin Shang, Wei Wang, and Taiwen Qiu. Path generation for robotic polishing of free-form surfaces. In 2019 IEEE International Conference on Mechatronics and Automation (ICMA), pages 1671{1676. IEEE, 2019. [117] Zhixiong Li, Ziyang Zhang, Junchuan Shi, and Dazhong Wu. Prediction of surface roughness in extrusion-based additive manufacturing with machine learning. Robotics and Computer- Integrated Manufacturing, 57:488{495, 2019. [118] Zhu Liang, Li Jinglong, Luo Yi, Han Jingtao, Zhang Chengyang, Xu Jie, and Chen Dong. Characteristics of metal droplet transfer in wire-arc additive manufacturing of aluminum alloy. The International Journal of Advanced Manufacturing Technology, 99(5):1521{1530, 2018. [119] Mariacira Liberini, Antonello Astarita, Gianni Campatelli, Antonio Scippa, Filippo Mon- tevecchi, Giuseppe Venturini, Massimo Durante, Luca Boccarusso, Fabrizio Memola Capece Minutolo, and A Squillace. Selection of optimal process parameters for wire arc additive manufacturing. Procedia Cirp, 62:470{474, 2017. [120] Sungwoo Lim, Richard A Buswell, Philip J Valentine, Daniel Piker, Simon A Austin, and Xavier De Kestelier. Modelling curved-layered printing paths for fabricating large-scale construction components. Additive Manufacturing, 12:216{230, 2016. [121] Yang Lin, Huan Zhao, and Han Ding. Posture optimization methodology of 6r indus- trial robots for machining using performance evaluation indexes. Robotics and Computer- Integrated Manufacturing, 48:59{72, 2017. [122] HH Liu, T Zhao, LY Li, WJ Liu, TQ Wang, and JF Yue. A path planning and sharp corner correction strategy for wire and arc additive manufacturing of solid components with polygonal cross-sections. The International Journal of Advanced Manufacturing Technology, 106(11):4879{4889, 2020. 208 [123] Jiang Liu, Xinlong Huang, Siwen Fang, Heping Chen, and Ning Xi. Industrial robot path planning for polishing applications. In 2016 IEEE International Conference on Robotics and Biomimetics (ROBIO), pages 1764{1769. IEEE, 2016. [124] Jienan Liu, Yanling Xu, Yu Ge, Zhen Hou, and Shanben Chen. Wire and arc additive manu- facturing of metal components: A review of recent research developments. The International Journal of Advanced Manufacturing Technology, pages 1{50, 2020. [125] He Lyu, Yue Liu, Jiao-Yang Guo, He-Ming Zhang, and Ze-Xiang Li. Tool-path generation for industrial robotic surface-based application. Advances in Manufacturing, 7(1):64{72, 2019. [126] Eric MacDonald and Ryan Wicker. Multiprocess 3D printing for increasing component functionality. Science, 353(6307):aaf2093, 2016. [127] Abhijit Makhal and Alex K Goins. Reuleaux: Robot base placement by reachability anal- ysis. In 2018 Second IEEE International Conference on Robotic Computing (IRC), pages 137{142. IEEE, 2018. [128] Rishi Malhan, Rex Jomy Joseph, Prahar M Bhatt, Brual Shah, and Satyandra K Gupta. Fast, accurate, and automated 3d reconstruction using a depth camera mounted on an industrial robot. In International Design Engineering Technical Conferences and Computers and Information in Engineering Conference, volume 85376, page V002T02A017. American Society of Mechanical Engineers, 2021. [129] Rishi K Malhan, Rex Jomy Joseph, Aniruddha V Shembekar, Ariyan M Kabir, Prahar M Bhatt, and Satyandra K Gupta. Online grasp plan renement for reducing defects during robotic layup of composite prepreg sheets. In IEEE International Conference on Robotics and Automation (ICRA), pages 11500{11507. IEEE, 2020. [130] Rishi K Malhan, Ariyan M Kabir, Brual Shah, and Satyandra K Gupta. Identifying feasible workpiece placement with respect to redundant manipulator for complex manufacturing tasks. In 2019 International Conference on Robotics and Automation (ICRA), pages 5585{ 5591. IEEE, 2019. [131] Rishi K Malhan, Aniruddha V Shembekar, Rex Jomy Joseph, Ariyan M Kabir, Prahar M Bhatt, Brual Shah, Wenping Zhao, Steven Nutt, and Satyandra K Gupta. A smart robotic cell for automating composite prepreg layup. In North America Society for the Advancement of Material and Process Engineering (SAMPE), Seattle, WA, USA, May 2020. [132] Rishi K Malhan, Aniruddha V Shembekar, Ariyan M Kabir, Prahar M Bhatt, Brual Shah, Scott Zanio, Steven Nutt, and Satyandra K Gupta. Automated planning for robotic layup of composite prepreg. Robotics and Computer-Integrated Manufacturing, 67:102020, 2021. [133] Huachao Mao, Tsz-Ho Kwok, Yong Chen, and Charlie CL Wang. Adaptive slicing based on ecient prole analysis. Computer-Aided Design, 107:89{101, 2019. [134] Donald W Marquardt. An algorithm for least-squares estimation of nonlinear parameters. Journal of the society for Industrial and Applied Mathematics, 11(2):431{441, 1963. [135] LLC MatWeb. Material property data. MatWeb,[Online]. Available: http://www. matweb. com, 2016. [136] Marco A Meggiolaro, PCI Jae, and Steven Dubowsky. Achieving ne absolute position- ing accuracy in large powerful manipulators. In International Conference on Robotics and Automation, volume 4, pages 2819{2824. IEEE, 1999. 209 [137] Olivier Michel. Cyberbotics ltd. webots™: Professional mobile robot simulation. Interna- tional Journal of Advanced Robotic Systems, 1(1):5, 2004. [138] Carmelo Mineo, Stephen Gareth Pierce, Pascual Ian Nicholson, and Ian Cooper. Introduc- ing a novel mesh following technique for approximation-free robotic tool path trajectories. Journal of Computational Design and Engineering, 4(3):192{202, 2017. [139] Karl Murphy, Richard J Norcross, and Frederick M Proctor. Cad directed robotic debur- ring. In Proceedings of the second international symposium on robotics and manufacturing research, education, and applications, Albuquerque, NM, pages 16{18, 1988. [140] Athanasios Nektarios and Nikos A Aspragathos. Optimal location of a general position and orientation end-eector's path relative to manipulator's base, considering velocity perfor- mance. Robotics and Computer-Integrated Manufacturing, 26(2):162{173, 2010. [141] Hoai-Nhan Nguyen, Jian Zhou, and Hee-Jun Kang. A calibration method for enhancing robot accuracy through integration of an extended kalman lter algorithm and an articial neural network. Neurocomputing, 151:996{1005, 2015. [142] A Nycz, MW Noakes, B Richardson, A Messing, B Post, J Paul, J Flamm, and L Love. Challenges in making complex metal large-scale parts for additive manufacturing: A case study based on the additive manufacturing excavator. In Proceedings of the 28th Annual International Solid Freeform Fabrication Symposium|An Additive Manufacturing Confer- ence, 2017. [143] Andrzej Nycz, Adeola I Adediran, Mark W Noakes, and Lonnie J Love. Large scale metal additive techniques review. In Proceedings of the 27th Annual International Solid Freeform Fabrication Symposium, 2016. [144] William Oropallo and Les A. Piegl. Ten challenges in 3D printing. Engineering with Com- puters, 32(1):135{148, Jan 2016. [145] Jia Pan, Sachin Chitta, and Dinesh Manocha. FCL: A general purpose library for collision and proximity queries. In 2012 IEEE International Conference on Robotics and Automation, pages 3859{3866. IEEE, 2012. [146] Zengxi Pan, Donghong Ding, Bintao Wu, Dominic Cuiuri, Huijun Li, and John Norrish. Arc welding processes for additive manufacturing: A review. Transactions on intelligent welding manufacturing, pages 3{24, 2018. [147] Jayaprakash Sharma Panchagnula and Suryakumar Simhambhatla. Manufacture of complex thin-walled metallic objects using weld-deposition based additive manufacturing. Robotics and Computer-Integrated Manufacturing, 49:194{203, 2018. [148] Pulak Mohan Pandey, N Venkata Reddy, and Sanjay G Dhande. Slicing procedures in layered manufacturing: a review. Rapid prototyping journal, 9(5):274{288, 2003. [149] Thomas Paviot and J Feringa. Pythonocc. Technical report, 3D CAD/CAE/PLM develop- ment framework for the Python programming language . . . , 2018. [150] Huaishu Peng, Rundong Wu, Steve Marschner, and Fran cois Guimbreti ere. On-the- y print: Incremental printing while modelling. In Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems, pages 887{896. ACM, 2016. 210 [151] Joshua J Penney and William R Hamel. Using non-gravity aligned welding in large scale additive metals manufacturing for building complex parts. In Solid Freeform Fabrication 2019: Proceedings of the 30th Annual International Solid Freeform Fabrication Symposium{ An Additive Manufacturing Conference, 2019. [152] Beth Peterson. How temperature changes clay. The Spruce Crafts, 2020. [153] Michael JD Powell. A direct search optimization method that models the objective and constraint functions by linear interpolation. In Advances in optimization and numerical analysis, pages 51{67. Springer, 1994. [154] Pradeep Rajendran, Shantanu Thakar, Prahar M Bhatt, Ariyan M Kabir, and Satyandra K Gupta. Strategies for speeding up manipulator path planning to nd high quality paths in cluttered environments. Journal of Computing and Information Science in Engineering, 21(1):011009, 2021. [155] Markus Rickert and Andre Gaschler. Robotics library: An object-oriented approach to robot applications. In 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pages 733{740. IEEE, 2017. [156] LE Roscoe et al. Stereolithography interface specication. America-3D Systems Inc, 27, 1988. [157] Guillaume Rousseau, Roudy Wehbe, Joshua Halbritter, and Ramy Harik. Automated ber placement path planning: A state-of-the-art review. Computer-Aided Design and Applica- tions, 16(2):172{203, 2019. [158] Amruta Rout, BBVL Deepak, and BB Biswal. Advances in weld seam tracking techniques for robotic welding: A review. robotics and computer-integrated manufacturing, 56:12{37, 2019. [159] Omer Faruk Sapmaz and L ut Taner Tun c. Kinematic based selection of the workpiece location in robotic milling. 2018. [160] Hans-Paul Schwefel. Numerical optimization of computer models. John Wiley & Sons, Inc., 1981. [161] Clare Scott. Monash university and amaero engineering acquire xline 2000r metal 3D printer and 3D print biggest metal aerospace component to date. [Online]. Available: http://www. 3dprint. com, 2017. [162] Aniruddha V Shembekar, Yeo Jung Yoon, Alec Kanyuck, and Satyandra K Gupta. Gen- erating robot trajectories for conformal three-dimensional printing using nonplanar layers. Journal of Computing and Information Science in Engineering, 19(3), 2019. [163] Tingting Shu, Sepehr Gharaaty, Wen-Fang Xie, Ahmed Joubair, and Ilian Bonev. Dy- namic path tracking of industrial robots with high accuracy using photogrammetry sensor. IEEE/ASME Transactions on Mechatronics, 23(3):1159{1170, 2018. [164] S Sikder, A Barari, and HA Kishawy. Global adaptive slicing of nurbs based sculptured sur- face for minimum texture error in rapid prototyping. Rapid prototyping journal, 21(6):649{ 661, 2015. [165] Timothy W Simpson. Why does my 3D-printed part cost so much? Additive Insights, Modern Machine Shop, 2018. 211 [166] Nandkumar Siraskar, Ratnadeep Paul, and Sam Anand. Adaptive slicing in additive man- ufacturing process using a modied boundary octree data structure. Journal of Manufac- turing Science and Engineering, 137(1):011007, 2015. [167] Xuan Song, Yayue Pan, and Yong Chen. Development of a low-cost parallel kinematic machine for multidirectional additive manufacturing. Journal of Manufacturing Science and Engineering, 137(2):021005, 2015. [168] Domenico Spensieri, Johan S Carlson, Robert Bohlin, Jonas Kressin, and Jane Shi. Optimal robot placement for tasks execution. Procedia CIRP, 44:395{400, 2016. [169] Mark W Spong, Seth Hutchinson, Mathukumalli Vidyasagar, et al. Robot modeling and control. 2006. [170] Armin Steinhauser and Jan Swevers. An ecient iterative learning approach to time- optimal path tracking for industrial robots. IEEE Transactions on Industrial Informatics, 14(11):5200{5207, 2018. [171] Marko Svaco, Bojan Sekoranja, Filip Suligoj, and Bojan Jerbi c. Calibration of an industrial robot using a stereo vision system. Procedia Engineering, 69:459{463, 2014. [172] Nobuaki Takanashi. 6 dof manipulators absolute positioning accuracy improvement using a neural-network. In International Workshop on Intelligent Robots and Systems' 90.'Towards a New Frontier of Applications', Proceedings. IROS'90., pages 635{640. IEEE, 1990. [173] Shangyong Tang, Guilan Wang, and Haiou Zhang. In situ 3D monitoring and control of geometric signatures in wire and arc additive manufacturing. Surface Topography: Metrology and Properties, 7(2):025013, 2019. [174] Ahmet Ta sdemir and Serkan Nohut. An overview of wire arc additive manufacturing (WAAM) in shipbuilding industry. Ships and Oshore Structures, pages 1{18, 2020. [175] Mohammad Tauk and Prashant K Jain. Surface roughness improvement using volumet- ric error control through adaptive slicing. International Journal of Rapid Manufacturing, 6(4):279{302, 2017. [176] Shantanu Thakar, Ariyan Kabir, Prahar M Bhatt, Rishi K Malhan, Pradeep Rajendran, Brual C Shah, and Satyandra K Gupta. Task assignment and motion planning for bi-manual mobile manipulation. In IEEE 15th International Conference on Automation Science and Engineering (CASE), pages 910{915. IEEE, 2019. [177] Shantanu Thakar, Rishi K Malhan, Prahar M Bhatt, and Satyandra K Gupta. Area- coverage planning for spray-based surface disinfection with a mobile manipulator. Robotics and Autonomous Systems, page 103920, 2021. [178] Douglas S Thomas and Stanley W Gilbert. Costs and cost eectiveness of additive manu- facturing. NIST Special Publication, 1176:12, 2014. [179] M Samie Tootooni, Ashley Dsouza, Ryan Donovan, Prahalad K Rao, Zhenyu James Kong, and Peter Borgesen. Classifying the dimensional variation in additive manufactured parts from laser-scanned three-dimensional point cloud data using machine learning approaches. Journal of Manufacturing Science and Engineering, 139(9):091005, 2017. [180] Mohamed B Trabia and Murali Kathari. Placement of a manipulator for minimum cycle time. Journal of Robotic Systems, 16(8):419{431, 1999. 212 [181] Ming J Tsai, Hong-Wen Lee, and Nai-Jun Ann. Machine vision based path planning for a robotic golf club head welding system. Robotics and Computer-Integrated Manufacturing, 27(4):843{849, 2011. [182] Ming-June Tsai, JJ Fang, Jau-Lung Chang, et al. Robotic path planning for an automatic mold polishing system. International Journal of Robotics and Automation, 19(2):81{90, 2004. [183] Nikolaus Vahrenkamp, Tamim Asfour, and R udiger Dillmann. Robot placement based on reachability inversion. In 2013 IEEE International Conference on Robotics and Automation, pages 1970{1975. IEEE, 2013. [184] Diederik Verscheure, Bram Demeulenaere, Jan Swevers, Joris De Schutter, and Moritz Diehl. Time-optimal path tracking for robots: A convex optimization approach. IEEE Transac- tions on Automatic Control, 54(10):2318{2327, 2009. [185] Yauheni Veryha and Jerzy Kurek. Application of joint error mutual compensation for robot end-eector pose accuracy improvement. Journal of Intelligent and Robotic Systems, 36(3):315{329, 2003. [186] George-Christopher Vosniakos and Elias Matsas. Improving feasibility of robotic milling through robot placement optimisation. Robotics and Computer-Integrated Manufacturing, 26(5):517{525, 2010. [187] Dali Wang, Ying Bai, and Jiying Zhao. Robot manipulator calibration using neural network and a camera-based measurement system. Transactions of the Institute of Measurement and Control, 34(1):105{121, 2012. [188] Fude Wang, Stewart Williams, and Matthew Rush. Morphology investigation on direct current pulsed gas tungsten arc welded additive layer manufactured ti6al4v alloy. The international journal of advanced manufacturing technology, 57(5):597{603, 2011. [189] Weiming Wang, Haiyuan Chao, Jing Tong, Zhouwang Yang, Xin Tong, Hang Li, Xiuping Liu, and Ligang Liu. Saliency-preserving slicing optimization for eective 3D printing. In Computer Graphics Forum, volume 34, pages 148{160. Wiley Online Library, 2015. [190] Weiming Wang, Yong-Jin Liu, Jun Wu, Shengjing Tian, Charlie CL Wang, Ligang Liu, and Xiuping Liu. Support-free hollowing. IEEE transactions on visualization and computer graphics, 24(10):2787{2798, 2017. [191] YT Wang and YJ Jan. Path planning for robot-assisted grinding processes. In Robotics and Automation, 2001. Proceedings 2001 ICRA. IEEE International Conference on, volume 1, pages 331{336. IEEE, 2001. [192] Florens Wasserfall, Norman Hendrich, and Jianwei Zhang. Adaptive slicing for the fdm process revisited. In 2017 13th IEEE Conference on Automation Science and Engineering (CASE), pages 49{54. IEEE, 2017. [193] WANG Wei and YUN Chao. A path planning method for robotic belt surface grinding. Chinese journal of aeronautics, 24(4):520{526, 2011. [194] Stewart W Williams, Filomeno Martina, Adrian C Addison, Jialuo Ding, Goncalo Pardal, and P Colegrove. Wire+ arc additive manufacturing. Materials Science and Technology, 32(7):641{647, 2016. 213 [195] Chenming Wu, Chengkai Dai, Guoxin Fang, Yong-Jin Liu, and Charlie CL Wang. RoboFDM: A robotic system for support-free fabrication using fdm. In International Con- ference on Robotics and Automation (ICRA), pages 1175{1180, Singapore, Singapore, 2017. IEEE. [196] Chenming Wu, Chengkai Dai, Guoxin Fang, Yong-Jin Liu, and Charlie CL Wang. General support-eective decomposition for multi-directional 3-d printing. IEEE Transactions on Automation Science and Engineering, 2019. [197] Jun Wu, Charlie CL Wang, Xiaoting Zhang, and R udiger Westermann. Self-supporting rhombic inll structures for additive manufacturing. Computer-Aided Design, 80:32{42, 2016. [198] Qianru Wu, Zhenshu Ma, Guangsen Chen, Changmeng Liu, Dongxi Ma, and Shuyuan Ma. Obtaining ne microstructure and unsupported overhangs by low heat input pulse arc additive manufacturing. Journal of Manufacturing Processes, 27:198{206, 2017. [199] Zhengkai Wu, Thomas M Tucker, Chandra Nath, Thomas R Kurfess, and Richard W Vuduc. Step ring based 3D path planning via gpu simulation for subtractive 3D printing. In ASME 2016 11th International Manufacturing Science and Engineering Conference. American So- ciety of Mechanical Engineers Digital Collection, 2016. [200] Frederik Wulle, Daniel Coupek, Florian Sch aner, Alexander Verl, Felix Oberhofer, and Thomas Maier. Workpiece and machine design in additive manufacturing for multi-axis fused deposition modeling. Procedia CIRP, 60:229{234, 2017. [201] Chunyang Xia, Zengxi Pan, Shiyu Zhang, Huijun Li, Yanling Xu, and Shanben Chen. Model-free adaptive iterative learning control of melt pool width in wire arc additive manu- facturing. The International Journal of Advanced Manufacturing Technology, 110(7):2131{ 2142, 2020. [202] Jun Xiong, Ziqiu Yin, and Weihua Zhang. Forming appearance control of arc striking and extinguishing area in multi-layer single-pass gmaw-based additive manufacturing. The International Journal of Advanced Manufacturing Technology, 87(1):579{586, 2016. [203] Ke Xu, Lufeng Chen, and Kai Tang. Support-free layered process planning toward 3+ 2- axis additive manufacturing. IEEE Transactions on Automation Science and Engineering, 16(2):838{850, 2018. [204] Tianqiu Xu, Shuiyuan Tang, Changmeng Liu, Zixiang Li, Hongli Fan, and ShuYuan Ma. Obtaining large-size pyramidal lattice cell structures by pulse wire arc additive manufac- turing. Materials & Design, 187:108401, 2020. [205] Yang Xu, Ziqi Wang, Siyu Gong, and Yong Chen. Reusable support for additive manufac- turing. Additive Manufacturing, 39:101840, 2021. [206] William S Yerazunis, John C Barnwell III, and Daniel N Nikovski. Strengthening ABS, nylon, and polyester 3D printed parts by stress tensor aligned deposition paths and ve-axis printing. In Proceedings of the Solid Freeform Fabrication Symposium, AT&T Conference Center, Austin, Texas, volume 10, 2016. [207] Dai Yili, Yu Shengfu, Shi Yusheng, He Tianying, and Zhang Lichao. Wire and arc additive manufacture of high-building multi-directional pipe joint. The International Journal of Advanced Manufacturing Technology, 96(5):2389{2396, 2018. 214 [208] Shibin Yin, Yongjie Ren, Jigui Zhu, Shourui Yang, and Shenghua Ye. A vision-based self-calibration method for robotic visual inspection systems. Sensors, 13(12):16565{16582, 2013. [209] Yeo Jung Yoon, Minsok Yon, Sung Eun Jung, and Satyandra K Gupta. Development of three-nozzle extrusion system for conformal multi-resolution 3d printing with a robotic manipulator. In International Design Engineering Technical Conferences and Computers and Information in Engineering Conference, volume 59179, page V001T02A024. American Society of Mechanical Engineers, 2019. [210] Tsuneo Yoshikawa. Foundations of robotics: Analysis and control. Mit Press, 1990. [211] Lei Yuan, Donghong Ding, Zengxi Pan, Ziping Yu, Bintao Wu, Stephen van Duin, Huijun Li, and Weihua Li. Application of multidirectional robotic wire arc additive manufacturing process for the fabrication of complex metallic parts. IEEE Transactions on Industrial Informatics, 16(1):454{464, 2019. [212] Lei Yuan, Zengxi Pan, Donghong Ding, Fengyang He, Stephen van Duin, Huijun Li, and Weihua Li. Investigation of humping phenomenon for the multi-directional robotic wire and arc additive manufacturing. Robotics and Computer-Integrated Manufacturing, 63:101916, 2020. [213] Lei Yuan, Zengxi Pan, Donghong Ding, Ziping Yu, Stephen van Duin, Huijun Li, Weihua Li, and John Norrish. Fabrication of metallic parts with overhanging structures using the robotic wire arc additive manufacturing. Journal of Manufacturing Processes, 2020. [214] Qiang Zhan, Yihui Liang, Jialuo Ding, and Stewart Williams. A wire de ection detection method based on image processing in wire+ arc additive manufacturing. The International Journal of Advanced Manufacturing Technology, 89(1-4):755{763, 2017. [215] Chi Zhang, Chen Shen, Xueming Hua, Fang Li, Yuelong Zhang, and Yanyan Zhu. In uence of wire-arc additive manufacturing path planning strategy on the residual stress status in one single buildup layer. The International Journal of Advanced Manufacturing Technology, 111(3):797{806, 2020. [216] Dan Zhang and Bin Wei. A review on model reference adaptive control of robotic manipu- lators. Annual Reviews in Control, 43:188{198, 2017. [217] Tie Zhang and Jiewen Su. Collision-free planning algorithm of motion path for the robot belt grinding system. International Journal of Advanced Robotic Systems, 15(4):1729881418793778, 2018. [218] Xuanchen Zhang, Yuntao Song, Yang Yang, and Hongtao Pan. Stereo vision based au- tonomous robot calibration. Robotics and Autonomous Systems, 93:43{51, 2017. [219] Donghua Zhao, Weizhong Guo, and Feng Gao. Research on curved layer fused deposition modeling with a variable extruded lament. Journal of Computing and Information Science in Engineering, 20(4):041014, 2020. [220] Gang Zhao, Guocai Ma, Jiangwei Feng, and Wenlei Xiao. Nonplanar slicing and path gen- eration methods for robotic additive manufacturing. The International Journal of Advanced Manufacturing Technology, 96(9-12):3149{3159, 2018. [221] Hai-ming Zhao, Yong He, Jian-zhong Fu, and Jing-jiang Qiu. Inclined layer printing for fused deposition modeling without assisted supporting structure. Robotics and Computer- Integrated Manufacturing, 51:1{13, 2018. 215 [222] Haisen Zhao, Hao Zhang, Shiqing Xin, Yuanmin Deng, Changhe Tu, Wenping Wang, Daniel Cohen-Or, and Baoquan Chen. DSCarver: Decompose-and-spiral-carve for subtractive manufacturing. ACM Transactions on Graphics (TOG), 37(4):1{14, 2018. [223] Yang Zhao, Ji Zhao, Lei Zhang, Lizhe Qi, and Qing Tang. Path planning for automatic robotic blade grinding. In International Conference on Mechatronics and Automation, pages 1556{1560. IEEE, 2009. [224] Yi Min Zhao, Yu Lin, Fengfeng Xi, and Shuai Guo. Calibration-based iterative learning control for path tracking of industrial robots. IEEE Transactions on industrial electronics, 62(5):2921{2929, 2015. [225] Xie Zhen, Josh Chen Ye Seng, and Nikhil Somani. Adaptive automatic robot tool path generation based on point cloud projection algorithm. In 2019 24th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), pages 341{347. IEEE, 2019. [226] Xiaolin Zhong, John Lewis, and Francis L N-Nagy. Inverse robot calibration using articial neural networks. Engineering Applications of Articial Intelligence, 9(1):83{93, 1996. [227] Hangi Zhuang and Zvi S Roth. Camera-aided robot calibration. CRC press, 2018. 216
Abstract (if available)
Abstract
Conventional additive manufacturing has revolutionized the manufacturing industry by building custom parts without any part-specific tooling. It can realize complex geometries which could not be built using any other manufacturing process. However, conventional additive manufacturing has limitations, such as long build times, undesirable mechanical properties, poor surface finish, and material wastage caused by support structures. Robotic additive manufacturing can overcome these limitations by the high flexibility. Robotic additive manufacturing requires several technological advances to overcome the limitations of conventional additive manufacturing. This dissertation makes the following four fundamental advances to enable the use of robots in additive manufacturing: (1) a part placement algorithm to optimize the robot trajectory execution accuracy, (2) a tool-path planning algorithm to fully utilize the tool's flexibility for manufacturing in a computationally efficient manner, (3) a robot trajectory compensation scheme to improve the accuracy of the robotic manipulators, and (4) a robot placement algorithm to enable multi-robot manufacturing and minimize overall manufacturing time. The dissertation demonstrates the fundamental advances using the following four robotic additive manufacturing applications. First, the robot accuracy is improved using the compensation scheme to perform supportless material extrusion additive manufacturing. Second, the tool-path planning flexibility is demonstrated for multi-resolution material extrusion additive manufacturing. Third, the part placement algorithm is used for conformal wire arc additive manufacturing. Finally, the multi-axis wire arc manufacturing deposition rate is increased by designing a multi-robot cell.
Linked assets
University of Southern California Dissertations and Theses
Conceptually similar
PDF
Robot trajectory generation and placement under motion constraints
PDF
Trajectory planning for manipulators performing complex tasks
PDF
Motion-assisted vat photopolymerization: an approach to high-resolution additive manufacturing
PDF
Quality diversity scenario generation for human robot interaction
PDF
Contingency handling in mission planning for multi-robot teams
PDF
Speeding up trajectory planning for autonomous robots operating in complex environments
PDF
Material and process development and optimization for efficient manufacturing of polymer composites
PDF
Data scarcity in robotics: leveraging structural priors and representation learning
PDF
AI-driven experimental design for learning of process parameter models for robotic processing applications
PDF
Automated alert generation to improve decision-making in human robot teams
PDF
Learning from planners to enable new robot capabilities
PDF
Fabrication-aware machine learning for accuracy control in additive manufacturing
PDF
Hybrid vat photopolymerization processes for viscous photocurable and non-photocurable materials
PDF
Scalable polymerization additive manufacturing: principle and optimization
PDF
Decentralized real-time trajectory planning for multi-robot navigation in cluttered environments
PDF
Machine learning-driven deformation prediction and compensation for additive manufacturing
PDF
Algorithms and systems for continual robot learning
PDF
Target assignment and path planning for navigation tasks with teams of agents
PDF
Contour Crafting process planning and optimization
PDF
High-throughput methods for simulation and deep reinforcement learning
Asset Metadata
Creator
Bhatt, Prahar M.
(author)
Core Title
Process planning for robotic additive manufacturing
School
Viterbi School of Engineering
Degree
Doctor of Philosophy
Degree Program
Mechanical Engineering
Degree Conferral Date
2022-05
Publication Date
12/20/2021
Defense Date
11/18/2021
Publisher
University of Southern California
(original),
University of Southern California. Libraries
(digital)
Tag
additive manufacturing,artificial intelligence,computational geometry,machine learning,motion planning,OAI-PMH Harvest,optimization,robotics
Format
application/pdf
(imt)
Language
English
Contributor
Electronically uploaded by the author
(provenance)
Advisor
Gupta, Satyandra (
committee chair
), Chen, Yong (
committee member
), Nutt, Steven (
committee member
), Zhao, Hangbo (
committee member
)
Creator Email
bhattprahar@gmail.com,praharbh@usc.edu
Permanent Link (DOI)
https://doi.org/10.25549/usctheses-oUC18807269
Unique identifier
UC18807269
Legacy Identifier
etd-BhattPraha-10314
Document Type
Dissertation
Format
application/pdf (imt)
Rights
Bhatt, Prahar M.
Type
texts
Source
20211223-wayne-usctheses-batch-906-nissen
(batch),
University of Southern California
(contributing entity),
University of Southern California Dissertations and Theses
(collection)
Access Conditions
The author retains rights to his/her dissertation, thesis or other graduate work according to U.S. copyright law. Electronic access is being provided by the USC Libraries in agreement with the author, as the original true and official version of the work, but does not grant the reader permission to use the work if the desired use is covered by copyright. It is the author, as rights holder, who must provide use permission if such use is covered by copyright. The original signature page accompanying the original submission of the work to the USC Libraries is retained by the USC Libraries and a copy of it may be obtained by authorized requesters contacting the repository e-mail address given.
Repository Name
University of Southern California Digital Library
Repository Location
USC Digital Library, University of Southern California, University Park Campus MC 2810, 3434 South Grand Avenue, 2nd Floor, Los Angeles, California 90089-2810, USA
Repository Email
cisadmin@lib.usc.edu
Tags
additive manufacturing
artificial intelligence
computational geometry
machine learning
motion planning
optimization
robotics