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
/
Contour Crafting process planning and optimization
(USC Thesis Other)
Contour Crafting process planning and optimization
PDF
Download
Share
Open document
Flip pages
Contact Us
Contact Us
Copy asset link
Request this asset
Transcript (if available)
Content
1 CONTOUR CRAFTING PROCESS PLANNING AND OPTIMIZATION by Jing Zhang A Dissertation Presented to the FACULTY OF THE GRADUATE SCHOOL UNIVERSITY OF SOUTHERN CALIFORNIA In Partial Fulfillment of the Requirements for the Degree DOCTOR OF PHILOSOPHY (INDUSTRIAL AND SYSTEMS ENGINEERING) May 2009 Copyright 2009 Jing Zhang ii Dedication This dissertation is dedicated to my beloved parents, Tao Zhang and Sophie Shuzhi Li, for their endless love and encouragement, and my Fiancée, Yumei Qiu, for her unconditional support with my studies. iii Acknowledgements First and foremost, I would like to express my most profound gratitude to my advisor, Professor Behrokh Khoshnevis, for his guidance and support not only with my research but also with my life. Professor Khoshnevis is a brilliant scientist and a passionate innovator. He inspired and encouraged me to be a more innovative person. Working with him has been an invaluable experience in my life. Second, I would like to extend my appreciation to my other dissertation committee members, Professor Paul Rosenbloom of the Department of Computer Science, and Professor Yong Chen of the Department of Industrial and Systems Engineering, for reviewing my work and providing thoughtful suggestions for this dissertation. My appreciation also goes to all my dear friends at the University of Southern California. Particularly, I would like to thank my colleagues who worked with me in the Contour Crafting project for their help and collaboration. iv Table of Contents: Dedication ........................................................................................................................... ii Acknowledgements ............................................................................................................ iii Abstract ............................................................................................................................. xii Chapter 1: Introduction ................................................................................................. 1 1.1 Introduction to the Contour Crafting Technology ................................................ 1 1.2 The integrated system of Contour Crafting ........................................................... 4 1.3 Process planning and optimization in Contour Crafting ........................................ 5 Chapter 2: Statement of the Problem ............................................................................ 7 2.1 Issues of path planning and optimization for single nozzle system ....................... 8 2.2 Issues of path planning and optimization for multiple nozzle/gantry system ................................................................................................................... 9 2.3 Issues of strategy and planning in construction of multiple structures .................. 9 2.4 Issues of defining performance factors and critical design parameters for the multi-gantry or overhead multi-nozzle systems ...................................... 10 Chapter 3: Research Methodology ............................................................................. 11 Chapter 4: Background Study ..................................................................................... 14 4.1 Tool path optimization in other manufacturing processes ................................... 14 4.2 Similar Graph Problems ...................................................................................... 18 4.2.1 Illustration of the CPP problem ................................................................. 18 4.2.2 Illustration of TSP ..................................................................................... 21 4.2.3 The difference between path optimization in CC and TSP ....................... 23 4.3 Multiple machine system ..................................................................................... 24 4.4 Previous Research on CC Tool Path .................................................................... 26 Chapter 5: System Characteristics and Physical Constraints ..................................... 28 5.1 Describe system characteristic ............................................................................. 28 5.2 Define tool path ................................................................................................... 30 5.3 Define constraints ................................................................................................ 36 Chapter 6: The Optimal Tool Path for the Single Nozzle System .............................. 39 6.1. Approach 1: CC-CPP Solution .......................................................................... 40 6.1.1 Transfer the CC tool path generation problem to a CPP problem ..................................................................................................... 40 6.1.3 Routing for the Euler Cycle ....................................................................... 46 6.1.4 Comparing different Euler cycles with different Euler tours. ................... 49 v 6.2. Approach 2. CC-TSP Solution .......................................................................... 49 6.2.1 Transferring the CC tool path generation problem to a TSP problem ..................................................................................................... 49 6.2.2 Solving the problem by LK heuristic ........................................................ 53 Chapter 7: Analysis of Single Nozzle Tool Path Optimization .................................. 58 Chapter 8: Collision-free Tool Paths for the Multi-machine System ......................... 64 8.1 Introduction to the Multi-Machine Contour Crafting system .............................. 64 8.1.1 The benefits of utilizing the Multi-Machine Contour Crafting system ....................................................................................................... 64 8.1.2 The different types of Multi-Machine Contour Crafting system ............... 65 8.1.3 Constraints and goals of generating tool paths for the multi- machine Contour Crafting system ............................................................ 67 8.2 Introduce the two steps and three algorithms to find the collision free tool path for multiple nozzles system under the current hypothesis. ................. 70 8.2.1 Step 1: iterative dividing ........................................................................... 71 8.2.2 Step 2: create collision-free tool paths between the divided parts ........................................................................................................... 78 8.3 Three algorithms to create optimal collision free tool paths. .............................. 84 8.3.1 Auxiliary buffer zone algorithm ................................................................ 85 8.3.2 Path cycling ............................................................................................... 89 8.3.3 Buffer zone path cycling ......................................................................... 100 8.4 Incorporating machine behavior within existing algorithms. ............................ 108 Chapter 9: Analysis of Multiple Nozzle Tool Path Optimization ............................ 114 Chapter 10: Critical Parameters for the Overhead Platform System .......................... 130 Chapter 11: Conclusion and Recommendation for Future Research .......................... 143 11.1 Research summary ........................................................................................... 143 11.2 Research contribution ...................................................................................... 146 11.3 Recommendations for Future Research ........................................................... 147 References ....................................................................................................................... 151 Appendix A: Data of simulation result ........................................................................... 156 Appendix B: Integrated Contour Crafting System ......................................................... 163 B.1 The Framework ................................................................................................. 164 B.2 System Modules ................................................................................................ 165 B.3 Advantage of Integrated System of Contour Crafting ...................................... 174 vi List of Tables Table 5-1: The rotation cost table ..................................................................................... 35 Table 10-1: Factors that impact the efficacy of the system ............................................ 133 Table 10-2: Solution method table .................................................................................. 136 Table 10-3: Comparison of the construction time in different overhead platform set ups .......................................................................................................... 138 Table 10-4: Comparison of the overall machine time in different overhead platform set ups ............................................................................................ 140 Table 10-5: Comparison of the total vertices in different overhead platform set ups ................................................................................................................ 141 Table A-1:Simulation result date for single nozzle ........................................................ 156 Table A-2: Simulation result data for two nozzle case (Width = 5) ............................... 157 Table A-3: Simulation result for three nozzle case (Width = 5) ..................................... 158 Table A-4:Simulation result for two nozzle case (Width = 7.5) ..................................... 159 Table A-5:Simulation result for three nozzle case (Width = 7.5) ................................... 160 Table A-6: Simulation result for two nozzle case (Width = 10) ..................................... 161 Table A-7: Simulation result for three nozzle case (Width = 10) ................................... 162 vii List of Figures Figure 1.1: Contour Crafting in construction operation ...................................................... 1 Figure 1.2: CC in operation, 2.5D and 3D ceramic shapes, and full-scale concrete wall .................................................................................................... 2 Figure 1.3: Innovative /Organic structures ......................................................................... 3 Figure 1.4: Current Contour Crafting machine .................................................................. 4 Figure 3.1: Research Methodology ................................................................................... 11 Figure 4.1: An L-shape structure, its FDM tool path and CC tool path (from left to right) .......................................................................................................... 16 Figure 4.2: Picture intimates mail delivery sequence. .................................................... 19 Figure 4.3: CPP result ..................................................................................................... 20 Figure 4.4: Shortest distance between vertices in Contour Crafting construction ........... 21 Figure 4.5: Difference between CC tool path and TSP .................................................... 24 Figure 5.1: A structure and its CC tool path .................................................................... 31 Figure 5.2: Four possibilities of traveling from one edge to another............................... 32 Figure 5.3: Rotation Union .............................................................................................. 34 Figure 5.4: Difference of energy cost ............................................................................. 36 Figure 6.1. Find the odd-degree vertices .......................................................................... 41 Figure 6.2: Possible paths between odd-degree vertices .................................................. 41 Figure 6.3: Solution of the naive pair wise matching algorithm...................................... 43 Figure 6.4: Procedure illustration .................................................................................... 44 Figure 6.5: Procedure illustration ..................................................................................... 45 Figure 6.6: Finding the Euler Cycle for inner structure ................................................... 46 viii Figure 6.7: Construct the Euler tour ................................................................................ 47 Figure 6.8: Construct Alternatives ................................................................................... 48 Figure 6.9: Convert edges to vertices ............................................................................... 50 Figure 6.10: Concept illustration ..................................................................................... 52 Figure 6.11: Travelling cost representation ...................................................................... 53 Figure 6.12: A structure layout ........................................................................................ 55 Figure 6.13: Add Vertices to construct the TSP model ................................................... 55 Figure 6.14: Result of CC-TSP and nearest neighbor algorithm ..................................... 56 Figure 7.1: Total construction time comparison ............................................................... 58 Figure 7.2: Airtime save percentage by CC-TSP, NP, CC-CPP as opposed to the original edge sequence of the structure ......................................................... 59 Figure 7.3: Overall construction times of CC-TSP and Nearest Point Algorithm ............ 59 Figure 7.4: Airtime save percentage between CC-TSP and Nearest Point Algorithm ....................................................................................................... 60 Figure 7.5: An Euler Cycle with an island topology ........................................................ 61 Figure 8.1: Overhead gantry platform carries multiple nozzles (left) and multiple gantries system (right) ................................................................................... 65 Figure 8.2: Task decomposition ........................................................................................ 67 Figure 8.3: Two-step Procedure ....................................................................................... 70 Figure 8.4: Floor plan and structure layout ....................................................................... 71 Figure 8.5: Iterative cutting.............................................................................................. 73 Figure 8.6: Short wall segments are cut into two separated sections................................ 74 Figure 8.7: Cutting VS Separating .................................................................................... 75 Figure 8.8: Flowchart of Iterative Dividing ...................................................................... 77 Figure 8.9: Possible collision between two gantries ......................................................... 79 ix Figure 8.10: Buffer zone concept ...................................................................................... 80 Figure 8.11: x/t curve ........................................................................................................ 81 Figure 8.12: Minmal distance of to x/t curves .................................................................. 82 Figure 8.13: Checking the distance between two x/t curves ............................................. 83 Figure 8.14: Buffer zone set up ......................................................................................... 85 Figure 8.15: Auxiliary Buffer Zone .................................................................................. 87 Figure 8.16: Flowchart of generating Auxiliary Buffer Zone ........................................... 89 Figure 8.17: Concept of Path Cycling............................................................................... 91 Figure 8.18: Illustration of cycling ................................................................................... 91 Figure 8.19: Concept of Global Path Cycling ................................................................... 92 Figure 8.20: Flowchart of Auxiliary buffer zone .............................................................. 94 Figure 8.21:Concep of Individual Path Cycling ............................................................... 95 Figure 8.22: Flowchart of Individual Path Cycling ......................................................... 96 Figure 8.23: Individual Path Cycling of Multiple machines............................................. 98 Figure 8.24: Concept of Applying the appraoch on N machines ...................................... 98 Figure 8.25: Flowchart of Individual Path Cycling for multiple machines ................... 100 Figure 8.26: Concept of Buffer Zone Path Cycling ........................................................ 102 Figure 8.27: Buffer Zone Path Cycling for Multiple sections ........................................ 103 Figure 8.28: Layout of buffer zones for N divided sections ........................................... 103 Figure 8.29: Collisions occurs in the overlap time of construction ................................ 105 Figure 8.30: Buffer Zone Path Cycling for N machines system .................................... 106 Figure 8.31: Flowchart of Buffer Zone Path Cycling ..................................................... 108 Figure 8.32: Coordination of machines .......................................................................... 111 Figure 8.33: Multiple machines collaboration in construction ....................................... 112 x Figure 9.1: Success rates of different approaches in the two nozzle case ...................... 115 Figure 9.2: Success rates of different approaches in the three nozzle case .................... 116 Figure 9.3: Comparison of Construction time between single nozzle and two nozzles ......................................................................................................... 117 Figure 9.4: Percentage saved of the total construction time between single nozzle and two nozzles ................................................................................ 118 Figure 9.5: Comparison of total construction time between single nozzle (CC- TSP) and two nozzles (Individual Path Cycling) ........................................ 119 Figure 9.6: Comparison of total construction time between single nozzle (CC- TSP) and two nozzles (Auxiliary Buffer Zone) ........................................... 119 Figure 9.7: Comparison of total construction time between single nozzle (CC- TSP) and two nozzles (Buffer Zone Path Cycling) ..................................... 119 Figure 9.8: Percentage of construction time saved with four approaches in two nozzle case ................................................................................................... 120 Figure 9.9: Percentage of construction time saved with five approaches in three nozzle case ................................................................................................... 121 Figure 9.10: Percentage of construction time saved between Individual Cycling and Buffer Zone Path Cycling in three nozzles case ................................... 121 Figure 9.11: The construction time difference between Separating and Cutting ........... 122 Figure 9.12: Difference of total vertices between Separating and Cutting ..................... 123 Figure 9.13: Construction time difference with different gantry widths (Individual path Cycling) ............................................................................. 123 Figure 9.14: Construction time difference with different gantry widths (Buffer Zone Path Cycling) ...................................................................................... 124 Figure 9.15: Construction time difference among single nozzle, two nozzles and three nozzles (Individual Path Cycling) ...................................................... 125 Figure 9.16: Construction time difference among single nozzle, two nozzles and three nozzles (Buffer Zone Path Cycling) ................................................... 126 xi Figure 9.17: Percentage of construction time saved between Individual Path Cycling and Buffer Zone Cycling sorted with the width of the structure layout ............................................................................................ 127 Figure 9.18: Workload distribution within two nozzles ................................................. 128 Figure 9.19: Workload distribution within three nozzles ............................................... 128 Figure 10.1: Tool path planning and optimization process of overhead platform system .......................................................................................................... 130 Figure 10.2: Overhead Platform system ......................................................................... 131 Figure 10.3: Structure layout .......................................................................................... 134 Figure 10.4: Different overhead platform set ups ........................................................... 135 Figure B.1: Contour Crafting analysis process. .............................................................. 163 Figure B.2: Framework of integrated system of Contour Crafting ................................. 165 Figure B.3: A prototype of CC virtual environment ...................................................... 167 Figure B.4: Annotation on conceptual design ................................................................. 169 Figure B.5: Horizontal and inclined Slicing ................................................................... 171 Figure B.6: Simulation Environment (Implemented in Object-orient Graphic Rendering Engine) ....................................................................................... 173 xii Abstract Contour Crafting is an emerging technology that uses robotics to construct free form structures by repeatedly laying down layers of material such as concrete. The Contour Crafting technology scales up the additive fabrication process from building small industrial parts to constructing buildings. Tool path planning and optimization for Contour Crafting will benefit the technology by increasing the efficiency of construction of complicated structures. This research is intended to provide a systematic solution for improving overall system efficiency and realizing the automation of the Contour Crafting technology for building custom-designed houses. Approaches are presented to find the optimal tool path for the single nozzle Contour Crafting system incorporating the physical constraints of the technology and construction considerations. Several algorithms are given to find the collision-free tool path for the multiple nozzle system based on the single nozzle approach. 1 Chapter 1: Introduction 1.1 Introduction to the Contour Crafting Technology Contour Crafting [Kho99] can automatically construct custom-designed structures by repeatedly layering down construction material (Figure 1.1.). It is an additive fabrication technology that uses computer control to exploit the superior surface-forming capability of troweling in order to create smooth and accurate planar and free form surfaces out of extruded materials. Figure 1.1: Contour Crafting in construction operation Unlike many other automatic additive fabrication technologies such as 3D printing, SLS, SLA, FDM, which can only deliver relatively small size of three- dimensional structures (normally 1 cubic foot maximum) [Bur92, Hal02, Meh05]. Contour Crafting has the capability to fabricate with thick layers using various materials and without compromising surface quality [KB03]. Contour Crafting scales up the additive 2 fabrication process to mega scale construction activities (Figure 1.2). The goal of Contour Crafting technology is to build custom-designed houses in a short time, such as a day. Since Contour Crafting has the ability of remarkably reducing the overall cost, injury, construction waste and impact to the environment, it can be effectively used for building houses for the low income class, shelters for disaster victims or even colonies in remote areas or on other planets[Kho04]. Contour Crafting will also impact the construction industry for its capability and flexibility in constructing intricate or innovative structures. Its ability to build free-form shapes by utilizing the side trowels reduces the difficulty and cost of construction of complex structures. The cost of a house built by Contour Crafting technology mainly depends on the materials used and on the overall machine time. Innovative or organic form structures such as adobe (see Figure 1.3) might cost the same or even less than conventional rectangular structures because they Figure 1.2: CC in operation, 2.5D and 3D ceramic shapes, and full-scale concrete wall 3 require less support material. Architects are given more design flexibility because Contour Crafting eliminates many design limitations. Contour Crafting allows architects to focus on the aesthetic appearance and functionality of the structure with less concern about construction limitations. Figure 1.3: Innovative /Organic structures The current Contour Crafting machine in Figure 1.4 is a gantry-based robot with a precise concrete extrusion system, which can construct structures that are up to eight feet and 250 square feet at the base. The nozzle of the machine can layer down a one inch height wall at the speed of one foot per second. The side-trowels on the machine are controlled by programs, which allow the machine to create free-from shapes with a superior smooth surface. 4 Figure 1.4: Current Contour Crafting machine 1.2 The integrated system of Contour Crafting It is anticipated by many that realization of the Contour Crafting technology will bring a revolution to the construction industry [Kho04]. The traditional way to do a construction project is to divide it into sub-projects and assign the sub-project to different specialties such as designers and contractors, respectively. Communication between specialties is very important in the traditional construction project. An integrated system of Contour Crafting can simplify the process significantly by eliminating the communication obstacles between the designer and the constructor (now computer-controlled machine) hence taking full advantage of the revolution technology. In the integrated system of Contour crafting, a universal interface is provided for users to plan, simulate, supervise and estimate different stages of the construction process. The interface serves as an information exchange center to enhance the interaction between the user and the system. End-users can utilize the system without needing to 5 have a comprehensive understanding of the Contour Crafting technology. Conceptual design, modification, planning, cost and time estimation can be performed in the integrated system. Meanwhile, the system provides the developers and researchers a flexible platform for further analysis and development. Advanced modules can also be integrated into the system in the future. Moreover, integrating different modules can guarantee effective communication and data handling. Any changes performed by one of the modules will directly impact or trigger changes in other modules. The framework of the integrated system of Contour Crafting and the functionality of its modules are presented in Appendix B. 1.3 Process planning and optimization in Contour Crafting System efficiency is not the only reason for attempting the integrated system. There might also be some unpredictable problems in the construction process, such as the collision between nozzles or the collision between nozzle and wall or other obstacles which may be resolved by the integrated system. This research is focused on implementing the process planning and optimization module of the integrated system. It can help to reduce the impact of unpredictable events by monitoring the construction process in real-time and also to increase the overall construction efficiency of the Contour Crafting technology. Process planning and optimization play important roles in realizing the automation of the Contour Crafting system and improving the overall system efficiency. These procedures generate the optimal tool path for the Contour Crafting system specific to the given structure designs. Furthermore, multiple-nozzle or multiple-gantry systems 6 may be involved for construction of a larger community or multi-residence structures. In these cases, specific schedules and workloads will be assigned to individual nozzles or gantries for collaborative operation. Collision between nozzles should be avoided without compromising the overall construction efficiency. The goal of this research is to present a systematic methodology for process planning and optimization to handle complicated large-scale structures for Contour Crafting systems with single or multiple machines. 7 Chapter 2: Statement of the Problem The goal of the current Contour Crafting technology is to construct a custom-designed house in a short time such as a day. The Contour Crafting system targets complicated large-scale structures such as houses and other types of buildings. Therefore, realizing the automation of the system and improving the overall system efficiency are the critical issues for the technology. This research intends to provide a methodology for improving the system efficiency by solving the following problems: 1. How to reduce the machine running time when considering physical constraints of the technology during construction. 2. How to coordinate the motion of different nozzles without compromising the construction efficiency when a multi-machine system is used to construct large and complex structures. 3. How to decide on the construction strategy for multiple structure construction when resources such as time and energy are considered. 4. How to define performance factors and critical design parameters for the multi-machine system to improve efficiency. The above problems will be illustrated in detail in the following. 8 2.1 Issues of path planning and optimization for single nozzle system Research for improving the system efficiency by optimizing the CC nozzle path has not been done before. Previous tool path studies for Contour Crafting [Par03, Yeh03] are focused on generating the contour for simple geometries. Standard CAD software (e.g., AutoCAD) is used to achieve tool paths by slicing 3D geometry. Since the goal for the current Contour Crafting technology is to construct mega-scale structures such as houses and buildings, tool paths generated manually or according to the data structure in CAD (normally based on the creation order of edges) are infeasible for constructing such complicated geometries. An efficient planning and optimization operation can significantly reduce the construction time for the machine by generating appropriate nozzle/trowel paths. The following physical constraints also need to be considered during the entire construction process: 1. Nozzle idle time cannot be too long; otherwise concrete will solidify and clog the pipeline. 2. Nozzle should not collide with previously deposited layers when traveling. 3. The lower layer must be able to support the upper layer, so the time interval between depositing subsequent layers cannot be too short. 4. Adjacent layers must be able to adhere to each other, so the time interval between depositing adjacent layers cannot be too long. 5. When layers accumulate, the underneath layer must be solidified enough to support the overall weight of the layers above. 9 2.2 Issues of path planning and optimization for multiple nozzle/gantry system Multiple gantry systems or multiple nozzles assembled on an overhead gantry system may be used in large structure or multiple structure construction. No other industrial application is similar to the multi-nozzle construction process of Contour Crafting. There are some processes similar to multiple gantry system, such as port cranes and warehouse cranes. Research for these processes focus on avoiding the obstacle in the transfer path by using the potential method [AKT04]. This is completely different from the concerns of Contour Crafting. The primary concerns of the collaboration of different nozzles and gantries in Contour Crafting are as follows: 1) Any collision between different nozzles/gantries should be avoided. 2) Any collision between nozzles/gantries and previously built walls should be avoided. The number of constraints in optimization will also be increased as a result of the above considerations. 2.3 Issues of strategy and planning in construction of multiple structures Assume that different multiple-nozzle or multiple-gantry systems are available for a project that involves constructing multiple structures. The decision of choosing a more effective or less costly system can be made for such projects. When the strategy is identified, the construction tasks can be reasonably assigned to single or multiple 10 machines. Logistic planning can be included based on the machine task assignments so that material can be delivered to the construction site according to schedule. 2.4 Issues of defining performance factors and critical design parameters for the multi-gantry or overhead multi-nozzle systems Multi-gantry or overhead multi-nozzle systems can have many varieties. These systems can have different features, such as number of assembled nozzles, the width and the length of the overhead nozzle platform, energy consumed by moving different axes, ratio of speed of deposition and traveling, etc. For a single or certain set of structures, optimization can be performed for finding the tool path for a specific multi-gantry or overhead multi-nozzle Contour Crafting system. On the other hand, if a multiple- nozzle/gantry system needs to be designed for constructing certain types of structures, performance efficiency needs to be determined through optimization so that some critical design parameters can be defined in advance. 11 Chapter 3: Research Methodology This research intends to present a systematic methodology for Contour Crafting process planning and optimization. The research activities for Contour Crafting tool path planning and optimization can be categorized into three groups: Preliminary Research, Developmental Research and Analytical Research (Figure 3.1). Figure 3.1: Research Methodology 12 Preliminary Research: Under preliminary research the characteristics of the Contour Crafting system are studied. Hypotheses are generated according to the features and limitations to simplify the problem so that the Contour Crafting tool path model can be constructed. Once the hypotheses are stated, the Contour Crafting tool path element can be defined systematically. Tool path elements include information of the structure, the construction cost (in time and energy) of different machine tasks, construction sequence, etc. Physical constraints and the utility functions are converted from the hypotheses and are appropriately interpreted in the forms of the tool path elements. In Chapter 5, the system characteristics are described and hypotheses for the Contour Crafting system are conducted, and then the tool path elements and constraints are defined according to the hypotheses. Development Research: In Chapter 6, two approaches for tool path planning and optimization for the single nozzle Contour Crafting system are explained thoroughly. One approach provides the optimal solution while the other requires less computational time. Advantages and disadvantages of both approaches are discussed in the chapter. In Chapter 8, based on the optimization method for the single nozzle system, a two-step procedure is introduced in order to generate collision-free tool paths for the multi-machine Contour Crafting system. Three approaches that follow the two-step 13 procedure are developed and illustrated in detail. Machine behavior theory is incorporated with one of the approaches to make the system more robust. Analytical Research: Under analytical research, experimental and numerical investigations are performed to analyze the feasibility and efficiency of tool path planning and optimization for both single and multiple nozzle systems. A simulation test bed is implemented for the purpose of simulation. In Chapter 7, the approaches for finding an optimal tool path for the single nozzle machine are evaluated by analyzing the results that they generate. One approach is chosen for the research on collision-free tool path generation for the multi-machine system. In Chapter 9, the feasibility and efficiency of tool path planning and optimization of different approaches (presented in Chapter 8) are discussed by analyzing the simulation results. Lastly, methods for finding strategies for construction of multiple structures are shown. In Chapter 10, performance factors of the overhead multi-nozzle system are identified, and then values of the critical designed parameters such as the length and the width of the overhead platform are achieved by analyzing the simulation results. 14 Chapter 4: Background Study The background study has been divided into four parts. First, tool path planning for some similar manufacturing processes has been studied. Several optimization methods for CNC machines and other rapid prototyping technologies are introduced. Second, some classic network problems that are related to this research are briefly introduced. Third, various multiple machine systems has been studied since collaboratively operation is needed for the multiple-machine Contour Crafting system. Finally, previous research about trowel- path planning for Contour Crafting is introduced and compared with this research. 4.1 Tool path optimization in other manufacturing processes There are many studies related to tool path planning for CNC [Her04] machining and Rapid Prototyping. A variety of on-going research is focused on the development and analysis of methods to decrease the time required to progress from the computer modeling of the design surface to the machining, while maintaining or improving the quality of the surface. One of the most important areas is tool path planning for numerical control (NC) machining [JK03]. The main goal is obtaining the cutter location and orientation data that allows for an efficient surface milling within an allowed machining 15 error. However, CNC machining is a subtractive manufacturing process and as such its tool path is not similar to the tool path of Contour Crafting. Contour Crafting [Kho99] (CC) is one of the Rapid Prototyping (RP) technologies [Gre06]. Rapid prototyping is the automatic construction of physical objects using solid freeform fabrication. It typically utilizes advanced layer manufacturing technologies that can quickly generate complex three-dimensional objects directly from computer-based models devised by Computer Aided Design (CAD). Such systems are also known as automated additive fabrication. The RP technologies have been widely used by engineers as a way to reduce the design period, to better understand and communicate product designs, and to make rapid tooling to manufacture those products. Unlike Contour Crafting, which lays down only the contours (walls) of the building, some RP manufacturing processes, such as Fused Deposition Modeling (FDM) [Meh05], and Three Dimensional Printing (3DP) [DSB06], will lay down the contour and the hatching pattern in each layer. For a simple structure, the cross-section of the model needs to be covered by a tool path that contains many zip-zap line segments. The working area of most rapid prototyping technologies is relatively small, thus the traveling distance of the nozzle between the line segments of the tool path is relatively short. On the other hand, the tool path for Contour Crafting has less line segments and a larger construction area. Figure 4.1 clarifies the difference between the tool paths of FDM and CC. 16 Figure 4.1: An L-shape structure, its FDM tool path and CC tool path (from left to right) There are also some RP technologies that are focused on generating contours of objects. Laminated Object Manufacturing (LOM) [Meh05] is one of them. In LOM, the object is built from stacked-up layers of paper (or other materials) backed with a heat- activated adhesive. A laser is used to cut the profile of the solid and crosshatch the extraneous material on each layer for easy removal. Although Layered Manufacturing already shortens the time required to make models and prototypes, better tour algorithms for the laser cutter can be applied to reduce build time even more. P.K. Wah and his team [WMJC02] introduced ATSP-IP (asymmetric traveling salesman and integer programming) to solve this kind of problem. Later, K. Tang and A. Pang [TP03] published works in the area of tour optimization to deal with the application of path optimization in layered manufacturing. The optimization method used in this work is a greedy algorithm. The general strategy is to start with a path that connects all the contours with a single line, removing points that 17 touch a contour for the second time. The greedy algorithm of finding this line starts with the process of finding a point outside of all contours, then drawing a line towards each of the contours. This line is intersecting with a line outside of all contours. At this point, a second, included algorithm is used to obtain the shortest lines that – together – still connect all the contours on the sheet. Finally, a genetic algorithm is developed that optimizes this pre-generated tour. Besides the RP technologies, the Tool Path Planning issue is also considered in Machine Cutting; for instance, the Laser Cutting. Trager [Tra98] presents three different simple solutions to address nesting and (partial) tour optimization problems. The main problem addressed in his work is to reduce the cutting distance by combining the edges of as many shapes as possible. His proposals are also able to address the problem of cutting paths crossing each other. Cutting and Welding are other similar applications that need to solve the problem of finding an optimal tour by minimizing airtime. The related Traveling Salesman Problem is brought up once again here by Oliver and Musa [KJ05]. To improve on cutting efficiency in shipyards, Han and Jang [HJ99] analyzed the nesting problem together with optimization of the cutting path. To obtain a nesting schedule, a so-called Polygon Clipping Algorithm is used that places the pieces to be cut out on the sheet while considering boundary points created by the previous sheets. The optimum cutting path is generated by a simulated annealing algorithm that is based on the Nearest Neighbor method while the space and cutting order needs were based on thermal deformation considerations. This algorithm has a running time of about 3 seconds for up 18 to 36 parts. U. Manber and S. Israni [IM84] also give a similar study on the torch path planning in Flame Cutting. 4.2 Similar Graph Problems There are two graph representations of a class of optimization problems that are similar to the structure of the problem at hand. One of them is the CPP (Chinese postman problem), the other one is TSP (travelling salesman problem). Both are briefly described in this section and a comparison with the Contour Crafting tool path is presented. 4.2.1 Illustration of the CPP problem Chinese postman problem [Kwa62] is introduced by a Chinese mathematician, Mei-Ko Kwan (1962), who developed the first algorithm to solve this problem for a rural postman. The postman’s itinerary always starts from the post office to pick up the incoming mail and ends at the post office for dropping off the outgoing mail. Mail is delivered along each street that has been assigned to the postman in his trip. To make the job easier and more productive, the postman would like to cover the route with as little walking as possible. Thus the problem becomes how to determine the optimal route to cover all the streets in the shortest total distance. Figure 4.2 shows the conversion of this problem to the graphic and mathematical problem [SL96]. In the graph, each edge represents a street on which mail must be delivered and each vertex represents an intersection. If a cycle can be found in the graph 19 that covers all the edges at least once and has the least total distance, then the Chinese Postmen Problem could be solved. Figure 4.2: Picture intimates mail delivery sequence. A graph is an Euler Cycle [Mat73] if it only contains vertices with even degrees. If a graph only contains vertices with even degrees, then a route can be found in that graph that starts and finishes at the same vertex and traverses each edge only once. Therefore, finding a cycle in the graph that covers all the edges at least once and has the least total distance is equivalent to finding an Euler cycle. The above graph is not an Euler cycle because it has two vertices with odd degrees (vertex I and vertex F). Therefore, in order to convert the graph to an Euler cycle, edges IC and CF can be retraced, which will increase the total travelling time by 10 (5+5). Instead of retracing CF, the edges of FE, ED and DC can be retraced and will reduce the total traveling time by 1. Generally, Dijkstra's algorithm can be used to find the shortest path between two vertices. The result of the solution of above graph is shown in Figure 4.3. The total time to traverse this graph is 49 (2 + 5 + 4 + 9 + 1 + 2 + 1 + 5 + 5 + 5 + 5 + 2 + 3). 20 Figure 4.3: CPP result Briefly, the key issue to solve the Chinese Postman Problem is finding the Euler Cycle or to construct the Euler cycle by pairing the vertices with odd degrees inside the given graph. Finding the optimal tool path in CC is similar to the Chinese Postman problem but not exactly the same. The difference between the tool path in Contour Crafting and the traditional Chinese Postman Problem is that the graph in CPP is always a connected network. A route that travels from one vertex to another must follow the existing edges in the graph. Therefore, any newly added edges have to repeat the edge that exists in the current graph. However, in Contour Crafting, the nozzle can travel between any vertices. In Figure 4.4, we can see that there are many possible traveling paths for the nozzle to choose after it visits vertex I. Hence, the shortest path for the nozzle to travel between vertex F and vertex I is the Euclidian distance between the two vertices. 21 Figure 4.4: Shortest distance between vertices in Contour Crafting construction 4.2.2 Illustration of TSP TSP, the traveling salesman problem is to search for the shortest route to visit a collection of cities at least once and then return to the starting city. The cost of traveling from one city to another city needs to be considered as well. In the standard TSP problem, vertices represent cities, when arcs are the paths between cities. A solution to the TSP must return the cheapest Hamilton cycle of the graph which represents the cities and paths. A Hamilton cycle is a simple path in the graph that contains each vertex. An asymmetric TSP problem can be formulated as follows: Define Xij = 1 (when i,j are the index of the vertices), if edge (i,j) is in the optimal tour; otherwise Xij = 0, and Dij = d(i,j), when d is the traveling cost between vertices i and j. we have Min Σ Σ Dij Xij Σ Xij = 1 for all j ΣXij = 1 for all I ΣΣ Xij >= 1 for every S ⊆ X (when i ∈ S; j X ∈ -S) A B C D E F G H I A B C D E F G H I Possible traveling path of the nozzle Shortest distance between vertex I and F 22 For the symmetric TSP, a formulation can be posted as following: Let each edge be denoted by a single index t and let Dt be the distance of edge t. Let Xt =1 if edge t is part of the optimal tour. We have Min Σ DtXt Σ Xt = n Σ Xt >= 1 for every (S, T), S ⊆ X, when t (S, T) ∈ Σ Xt=2 for i = 1,2,…n , when t Ai ∈ Where Ai is the set of edges incident to vertex i (the star of i) Xi = 0, 1 The number of feasible TSP tours is ( n -1)!/2. This computation is rather simple since a tour is a permutation of the n vertices. However, the number of different permutations, n! , is reduced by a factor of 1/(2 n) because direction and first vertex are arbitrary. Despite an intensive study by mathematicians, computer scientists and operations researchers over the past 50 years, the TSP problem leaves the open question of whether or not an efficient general solution method exists. Castellino, Souza and Wright [CSW03] provide an algorithm on the basis of the Traveling Salesman Problem (TSP) [LLKS85]. Constraints differing from the standard TSP in this case are a given hierarchy. The tour does not have to visit points but polygons with a number of different entry and exit points. The approach they used is to translate the general TSP problem into a standard TSP, maintaining the constraints, then to solve the problem. The basic solution strategy copies every individual shape, assigning distance values of zero to the coordinates in the copy. 23 The quality of the solution obtained was optimal for problems with less than 200 points visited and within 1% of the optimum for problems up to 1,000 points. Even though some heuristics algorithms [LK73] might not give an exact solution, they can provide reasonable solutions for big scale problems and may even provide the exact solution for small scale problems. They are very handy techniques since they usually cost much less time and computation power for finding the result. Lin – Kemighan traveling salesman heuristic algorithm [Hel00] is one of the most popular solutions for the TSP problem. The implemented application of the LK algorithm is used in this research. 4.2.3 The difference between path optimization in CC and TSP Though the graph of a structure layout also has vertices and edges, it cannot be formulated as a standard TSP problem directly. In the Contour Crafting construction process, some edges in the graph have to be traversed by the nozzle in order to deposit concrete for building walls, which means the CC tool path has to contain some specific edges. However, in TSP, an edge only represents a path between two cities. Therefore any edges can be included in the optimal solution of a TSP path. Also, a vertex in a structure layout may have several edges incident to it, which means during the construction process, the nozzle of the CC machine will visit the same vertex more than once. However, in TSP, each vertex can be visited only once. 24 Figure 4.5 shows two graphs that share the same sets of vertices. One of the graphs is a structure layout for CC. Another is the optimal TSP path generated by Concorde TSP solver [Con], using the same set of vertices. Layout model for CC Shortest path to visit all vertices in the layout. Figure 4.5: Difference between CC tool path and TSP 4.3 Multiple machine system The multiple nozzle Contour Crafting system will be used in the construction of a large complex structure or multiple structures. Therefore, the multiple machine system will be studied in detail. Multiple machine systems have been employed in a variety of task domains. Central to the success of many multi-machine systems is the ability of the individual robots to cooperate and coordinate their activities. This can result in advantages such as increased efficiency in performing tasks and robustness as compared to an individual machine. Coordinating different machines usually involves implementing task allocation and coordination mechanisms. Task allocation mechanisms address the question: “which 25 robot should execute which task?” [GM03] . Coordination mechanisms enable the actions performed by each machine to take into consideration the actions of the other machines in coherent operation, Farinelli et al [FIN04]. Recently research in multi-machine systems has also addressed coalition formation, organizing multiple machines into temporary subgroups to accomplish an assigned task that would otherwise be impossible to complete, Parker and Tang, [PT06]; Vig and Adams, [VA06a,VA06b]. Various methods for coordination and task allocation in multi-robot systems have been discussed by Farinelli et al [FIN04] and Gerkey and Mataric [GM04]. Whereas Farinelli [FIN04] focuses on coordination, Gerkey and Mataric [GM04] address task allocation. Of the classifications based on coordination identified in [FIN04], the weakly centralized systems are of particular interest Dias and Stentz, [DS01, DS02], Noreils, [Nor93], Simmons et al., [SSHRS00]. However, these proposed systems have not been fully implemented and they do not attempt to optimize the resource utilization of the machine during task execution. In Gerkey and Mataric, [GM03] a taxonomy has been developed for the multi-robot task allocation problem, differentiating robots as either single-task (ST) or multi-task (MT), tasks as either single-robot (SR) or multi-robot (MR), and assignment types as either instantaneous (IA) or time-extended (TA). Representative approaches to multi-robot task allocation are analyzed by Botelho and Alami, [BA99], Chaimowicz et al., [CKC04], Dias and Stentz, [DS03]; Gerkey and Mataric, [GM03]; Parker, [PT06] ; Werger and Mataric, [WM00]; Zlot et al., [ZSDT02] These approaches typically divide a task into indivisible subtasks and assign single robots to each subtask (STSR). 26 ALLIANCE [PT06] and BLE [WM00] are examples of behavior-based approaches to multi-robot task allocation. ALLIANCE uses motivational behaviors to monitor and dynamically reallocate tasks thus achieving fault tolerance and adaptive behavior. In the BLE system, each robot has a corresponding behavior that is capable of executing each task. The robots select a task to execute by continuously broadcasting locally computed eligibilities followed by determining the most eligible task using a greedy algorithm. A behavior-based approach to multi-robot task allocation that uses the concept of vacancy chains is presented in Dahl et al., [DMS03]. This approach is demonstrated in groups of homogeneous robots where vacancy chains emerge through reinforcement learning. 4.4 Previous Research on CC Tool Path Yeh [Yeh03] has done research on tool-path generation for Contour Crafting. A slicing algorithm and a linking contour method are included in his research. In Yeh’s paper, he discovered some issues in the automation of Contour Crafting, and the solution he proposed is: 1. Slicing the 3D model. The direction of slicing, the thickness of each slice, and the flat surfaces and the degenerated contours are studied, and inclined slicing is introduced for some special shapes of the model. 2. Formation of 2D contour, which includes validation, categorization and representation. 27 a. A curve is valid if it is a Jordan curve. A Jordan curve is a plane curve which is topologically equivalent to (a homomorphic image of) the unit circle. b. A valid contour can be categorized as linear contour, arced contour and curved contour. c. A contour can be best represented by a directed adjacency list graph [CLR90]. 3. If successfully formatted, the contours are sent to the Path Generator, which generates the raw paths by considering the material properties (i.e. curing characteristics and viscosity). 4. Representing the trowel-paths in XML format according to the XML schema. 5. Dispatching the trowel-paths to the CC machine. Yeh focuses on geometric reasoning and slicing for simple geometry. Jordan contour is achieved directly from CAD package, which is not designed for complicated geometry, such as that of a complex house. How to find the optimal tool path to minimize the overall fabrication time is not discussed in Yeh’s work. This topic will be given further investigation when the Planning and Optimization Module of the Integrated System is introduced in Chapter 6. 28 Chapter 5: System Characteristics and Physical Constraints 5.1 Describe system characteristic A considerable amount of effort has been spent on the research of Contour Crafting technology since it was invented by Dr. Khoshnevis in 1995. Since then, many issues with the technology have been solved, but tool path planning and optimization for the system remains an untouched domain. The scale of the optimization problem may be too large when all aspects of the technology are considered. Practically, hypotheses should be generated according to the limitation and features of the system to reduce the complexity of the problem. Then the problem can be simplified and the Contour Crafting tool path model can be pursued. Followings are the assumptions for the system. 1. This research focuses on finding the optimal tool path for 2.5 D structures. Layers are similar to each other except at the points where windows or doors are located. Generally the nozzle will try to start and end at the same point in each layer. 2. In the construction process, a nozzle or nozzles have to completely finish a layer before moving on to the next layer. 3. The building model would be sliced into layers before tool path optimization is performed. Then the layout of one single layer will be converted into Edge and Vertex model. Edges represent the wall, and the Vertices represent the intersection, corner or the end point of the wall segments. 29 4. The construction time is related to the machine deposition time and air time (time spent traveling without depositing material). Minimizing the machine idle time (air time) could save a certain amount of building time in this layered fabrication process. 5. The nozzle of the system has to finish depositing one wall segment completely before starting a new wall segment so that it will travel only between end points of the wall segments. This means that the nozzle can only travel between vertices in the layout graph. 6. In order to avoid collision between the nozzle and the previously deposited walls, the nozzle will be lifted up (one layer) when traveling between end points. 7. Support structure will not be analyzed in the research. The nozzle will be idle (airtime) when traversing the places where windows or doors are located. 8. This research is focused on developing a practical optimization method to generate tool paths for general structures. The vertex number in a structure layout would normally be less than 10,000. 9. If multi-nozzle is applied, the nozzles are always working on the same layer. It is assumed that allowing the nozzles to work on different layers at the same time will not increase the system efficiency. 10. This research assumes that the deposition flow rate can be controlled perfectly (can start and stop) at anytime. The tool path optimization will not consider flow control issues. 11. Acceleration and deceleration times of the system will be considered as fixed delays in the optimization analysis. 30 5.2 Define tool path The greatest advantage of utilizing the Contour Crafting technology instead of the traditional way of construction is that Contour Crafting can save considerable time and cost. The cost of construction is related to time and energies consumed by the machine and the amount of materials spent for the structure. It can be evaluated once a tool path has been defined. (See Figure 5.1 for a sample of a Contour Crafting tool path to build a structure). A tool path of Contour Crafting for a specific structure must describe the position, orientation, velocity, and deposition rate of the nozzle in the entire construction period. This information will then be converted into a sequence of machine tasks and then fed to the Contour Crafting machine. If we define the time or energy spent on each machine task (such as deposition, nozzle traveling or nozzle rotation) as cost in general, then the goal would be finding a path with the minimum total cost associated with every machine task. Therefore, cost of deposition, traveling and rotation needs to be defined for calculating the overall cost for the tool path. 31 Figure 5.1: A structure and its CC tool path Cost of deposition depends on the flow rate of deposition and the velocity of the machine. However, since the nozzle has to traverse along all the deposition edges once and only once, the overall deposition time is fixed once a structure is given. Therefore, the cost of deposition will not affect the result of tool path optimization. Once the machine parameters have been defined, cost of deposition for each wall segment can be calculated according to its geometrical information. Cost of traveling between edges is related to the cost of moving between vertices and the cost of rotation along the edges. This cost can be estimated according to the relevant position of edges. Each edge has two end points; therefore there are a total of four possible traveling costs from one edge to another edge. Since the nozzle of the Contour Crafting machine has to orient itself to be perpendicular to the tangent of the wall segment, the nozzle may need to be re-oriented when traveling between edges. For instance, in order to construct a corner, the nozzle must rotate 90 degrees between the 32 constructions of two wall segments. There can be different construction sequences for the nozzle. The nozzle can construct the first wall segment, wait in the same position when turning, and then construct the second wall segment. In another way, after creating the first wall segment, the nozzle can then turn and travel from the end point of one wall segment to another while it is idle; then it can create the second wall segment. Figure 5.2 shows the four different possibilities to construct a corner. In order to determine the cost of traveling, Euclidian distance and the cost of rotation between edges must be calculated. Figure 5.2: Four possibilities of traveling from one edge to another. Numbers show the sequence of the motion o f nozzle. Solid arrows show paths o f deposition while dash arrows show the airtime travel. 33 Cost of moving between end points can be determined once the distance between two points and the velocity of the machine are known. Sometimes, the nozzle has to be lifted up and lowered down to avoid obstacles, such as previously deposited wall segments. In this case, the cost of lifting up and lowering down also need to be included in the cost of moving. Cost of rotation between edges can be evaluated according to the relative orientation of the two edges. However, the degree of rotation of the nozzle is limited because in the real system there are cables and wires attached to the nozzle to transfer signal and power to move the nozzle components (trowels, valves, vibrators, etc.). If the nozzle is allowed to rotate without limitation, cables and wires may tangle together and be damaged. For that reason, a stopper is assembled on the rotation union to prevent the nozzle from turning more than 360 degree clockwise or counterclockwise. Nozzle rotation direction and degree of rotation need to be adjusted if the stopper impedes the re- orientation transition of the nozzle in a given direction. Therefore, the cost of rotation depends on not only the rotation degree but also on the starting and end positions of the stopper on the rotation union. Figure 5.3 shows the relation between the rotation degree and the position of the stopper on the rotation union. th th ex O o st Cost o he limitation he nozzle ne xample of f Only 90-degr f arbitrary d topper. Stoppe rotatio of rotation fo n that the sto eed to be co finding the ree multiples degrees can b r of the n union 90 Figur or the same pper impose onsidered in rotation cos s show in the be calculated Rotati turn 9 of the 90 90 re 5.3: Rotati degree in op es on the rota order to fin st according e table, but i d according ion union cann 0 degree bec stopper Orien ion Union pposite direc ation union. nd the rotatio to differen in practical a the relative not ause tation of th 270 ctions may b Start and en on cost. Tab nt start and applications, start and en Rotation uni turn -270 de the desired e nozzle 90 e different d nd orientatio ble 5-1 show end orientat , the rotation nd position o ion has to egree to achie position 34 due to ons of ws an tions. n cost of the eve co ro tr O th th sh tr Once ost between otating. If th raveling bet Otherwise, it The c he energy co hat the amou hown in Fig raveling) can the Euclidi n the points he nozzle is ween two e will be the s ost described ost should a unt of energ gure 5.5, en n be differen Table 5- an distance can be estim s allowed to edges is equ summation o d above only lso be accou gy of movin nergy expen nt depending -1: The rotatio and orienta mated by ca o rotate whi ual to the m of the two. y considers t unted for th ng the nozzl nditure for m g on the mov on cost table ation of two alculating the ile moving maximum o the time spen e real constr le in differen moving the vement direc edges are k e time spent from point of moving o nt on constru ruction proj nt directions nozzle (upo ction. The en known, trav t on moving to point, co or rotating uction. How ect. It is obv s is differen on depositin nergy cost ca 35 veling g and ost of time. wever, vious nt. As ng or an be 36 added to each element of the tool path, such as wall segment deposition and nozzle traveling and rotating. Overall energy spent on a structure can be estimated by adding all of the costs together. Left: The entire gantry must move along the rail to construct the wall segment, which spends more energy Right: Only the nozzle assembly moves along the Y-axis to construct the wall segment, which spends less energy Figure 5.4: Difference of energy cost 5.3 Define constraints Besides the costs of nozzle deposition and traveling, the following physical constraints also need to be considered during the entire construction process: 1. Nozzle idle time cannot be too long; otherwise concrete will solidify and clog the pipeline. The nozzle idle time cost is equal to the cost of traveling between two wall segments. Therefore, if the cost of traveling between any wall segments is shorter than 37 the time it takes for the concrete in the nozzle to solidify, the requirement of this constraint will be fulfilled. 2. Nozzle should not collide with the previously deposited layer when traveling. There are alternative ways to avoid the collision between the nozzle and previously deposited wall segments. When moving between end points of wall segments, the nozzle may have to travel in a non-straight line in order to avoid obstacles. However, although the nozzle can detour to avoid the wall segments, the routing path depends on the structure layout and the sequence of construction. In some cases, the detour may be complicated and may take too much traveling time. Since in this research it is assumed that a nozzle has to complete a layer before starting another layer (Assumption 2), the nozzle can be lifted up one layer once it reaches an obstacle (previous wall segment) standing in its travel path. It will be lowered down before it starts to deposit material for a new wall segment. The cost of lifting up and lowering down the nozzle will be considered in tool path planning. 3. The lower layer must be able to support the upper layer, therefore the time interval between depositing subsequent layers cannot be shorter than the critical limit. 4. Subsequent layers must be able to adhere, therefore the interval between depositing subsequent layers should not exceed the critical limit. Constraint 3 and 4 are both related to the time interval between depositing subsequent layers. This interval is equal to the overall time of constructing a layer, which can be calculated once the tool path of the layer has been generated. If the resulting time is shorter than the required interval in constraint 3, the machine has to wait before 38 depositing the next layer. If this time is longer than the required interval in constraint 4, then this indicates that the structure is too large to be built by a single nozzle, and hence more nozzles or gantries would be needed for the construction. 5. When layers accumulate, the underneath layer must be solidified enough to support the overall weight of multiple layers above it. The overall weight on a layer is proportional to the number of layers above it. Hence it is proportional to the overall time of constructing a layer. Once the construction time of each layer is calculated, a chart that shows the relationship between the weight of upper layers and construction time can be used to verify this constraint. 39 Chapter 6: The Optimal Tool Path for the Single Nozzle System Two approaches are proposed to solve the single nozzle problem. The first approach transfers the CC path model to a CPP (Chinese Postman problem). An Euler tour may then be constructed based on the structure layout to find the shortest overall traveling time between deposition edges. This approach provides a solution with less computational expense. However, some factors regarding the construction process (such as rotation cost of the nozzle) have been simplified during the optimization so that the result may not be optimum. Both approaches have advantages and disadvantages. Another approach is to convert the Contour Crafting path model to a standard TSP (traveling salesman problem). This approach considers all the possible alternatives of construction and provides an optimal solution if the TSP model is solved exactly. However, since TSP is a NP hard problem, it will not be practical to find the optimal solution by using the exact solution if the scale of the problem is large. (For example, the structure layout has more than 1000 vertices). A heuristic TSP solver will be used to find the optimum in this case. An analytical research will be conducted in Chapter 7 to determine which approach should be used. 40 6.1. Approach 1: CC-CPP Solution 6.1.1 Transfer the CC tool path generation problem to a CPP problem In the CC construction process, the time spent on depositing the concrete (building wall) is fixed, which is only related to the machine speed and the structure layout. Different tool paths have different overall airtime/idle time, during which the machine stops the fluid and travels between vertices. If we can find a path that allows the nozzle to traverse each of the deposition edges only once as well as minimize the overall traveling distances between edges, then we can find the optimal solution. Since the nozzle can travel directly between any vertices, an Euler cycle can be constructed by adding straight lines between the odd-degree vertices of the structure layout. Here, the straight lines represent the traveling airtime of the nozzle. If the overall length of the straight lines is minimized, then it can be established that the constructed Euler cycle is a path that covers all the edges needed to be deposited only once with the minimum airtime, which is the optimal path for CC construction. 6.1.2 Steps to find the optimal solution of CC-CPP: 1. Find all odd-degree vertices in the layout. See Figure 6.1. According to the graph theory, there is always an even number of odd-degree vertices in the layout. If the layout contains no odd-degree vertices, it means the layout is already an Euler Cycle and no further steps are required. 41 Figure 6.1. Find the odd-degree vertices 2. Calculate the cost between every pair of odd-degree vertices. Since the location of all of the vertices is known, and the orientation of the edge to which the vertices belong is known, we can calculate the cost of travel between two odd-degree vertices. See Figure 6.2. Figure 6.2: Possible paths between odd-degree vertices 4 8 10 6 6 1 1 8 2 8 6 10 4 4 4 12 6 42 3. Once all of the costs between odd-degree vertices are known, the objective is to perform pairwise matching among all of them with the minimum overall travel cost. However, the number of possible pairwise matching combinations increases exponentially with the number of odd-degree vertices. With n odd-degree vertices, the possible distinct pairwise matching combination can be calculated as: S = ∏ (2i –1) ( i = 1, 2,…n/2) (n is the number of odd-degree vertices which is always even) A heuristic algorithm can be developed to find the optimal pairwise matching. Following is one of the greedy heuristic algorithms: 1. Connect every pair of the vertices by a line segment. The total number of line segments are n*(n-1)/2, when n is the number of vertices. 2. Calculate the length of every line segment (cost of travelling). 3. Sort all line segments according to their length (from short to long). 4. Label all vertices as “unchecked”. 5. While there is still “unchecked” vertex, do 6. Pick the shortest line segment that is available. 7. If both end points of the line segments are “unchecked”, label both of the end points as “checked”. Select the line segment as one of the pairwise matching edges. 8. Otherwise ( one or both of the end points of the line segments are “checked”, discard the line segment. 43 9. End if . 10. End while. 11. All vertices have been “checked”. The solution has been found. By using the above greedy algorithm, a solution has been found (See figure 6.3) for the above structure layout with the total traveling distance as: Distance = 1 +2 + 2 + √5 + + √464 = 28.78 (While the CC-TSP generates the result as 23.08 and nearest neighbor as 50.45) Figure 6.3: Solution of the naive pair wise matching algorithm The above greedy algorithm is naive. It may fall to local optimum at some point. An improved heuristic is proposed as follows: 1. Connect every pair of the vertices by a line segment. The total number of line segments are n*(n-1)/2, when n is the number of vertices. (0,4) (0,12) (10,12) (6,4) (6,0) (6,1) (14,0) (10,4) 8 (10,18) (20,18) (14,12) (20,0) 12 (20,12) (0,0) (16,12) (6,3) (8,4) (16,0) 44 2. Calculate the length of every line segments (cost of travelling). 3. Sort all line segments according to their length (from short to long). 4. Label all vertices as “unchecked” 5. While there is still “unchecked” vertex, do 6. Pick the shortest line segment that is available 7. If both end points of the line segments are “unchecked”, label both of the end points as “checked”. Select the line segment as one of the pairwise matching edges. 8. Otherwise ( one or both of the end points of the line segments are “checked”) 9. If both end points have been “checked”, discard the edge. Figure 6.4 shows the procedure of step 9: Figure 6.4: Procedure illustration 10. Else one of the end points has been “checked”, do 11. Label the other end point as “checked”, now there are three “checked” vertices involved. Search all “unchecked” vertices; find the one with the closest distance to either one of these three vertices. Label the vertex as “checked”. 45 12. For the four involved vertices, find two line segments that connect them with the minimal total length. Select the two line segments as the pairwise matching edges. Figure 6.5 shows the procedure of step 11 and 12. Figure 6.5: Procedure illustration 13. End if 14. End if 15. End while 16. All vertices have been “checked”. The solution has been found Different rules can be defined for the pair-up process, such as having the single incident edge pair-up first or pair-up vertices representing the end points of windows or doors. In some cases, the CC machine needs to construct the exterior wall for the structure first. An Euler Cycle can be constructed to find the optimal tool path for the remaining structure. Figure 6.6 shows the procedure for finding the Euler Cycle for an inner structure. 46 Figure 6.6: Finding the Euler Cycle for inner structure 6.1.3 Routing for the Euler Cycle Once the odd-degree vertices have been paired up, they can be combined with the original layout to construct an Euler cycle. However, a tour also needs to be defined for the nozzle to specify the traveling order of edges in the cycle. We can define the traveling order by constructing the Euler tour according to the following steps: (1) Choose a vertex arbitrarily and tour the graph, deciding randomly between any choices of edges and also making sure the same edge is not used twice. If we enter a vertex we can always leave it since the graph only has even-degree vertices. The tour will become a cycle once it leads back to the first vertex. (2) If all edges are in the cycle, then stop. If not, then remove edges of the cycle from the graph. Repeat (1) and (2) to form new cycles from the remaining graph until all edges have been removed. (3) Find the common vertices in these isolated cycles. Once the tour proceeds to one of the common vertex, move onto the adjacent cycle until the tour finishes with that 47 cycle, and goes back to the common vertex. Then resume touring the previous cycle. Repeat step (3) until all edges have been covered. Figure 6.7 shows the concept of constructing an Euler tour. Figure 6.7: Construct the Euler tour An Euler cycle can have many alternative routes according to the above method. If the traveling speed on the graph is constant, then the overall traveling time of all alternatives should be the same since the Euler cycle is unique. However, in the Contour Crafting technology, different Euler tours have different overall time and energy consumption because: a. Some of the geometry features may be constructed in alternative ways (see definition of cost of traveling). b. Since the machine is a gantry system, it takes different amounts of energy to move the machine along different axes (see the energy consumption section). 2 4 31 4 5 4 3 3 3 22 5 2 6 0.5 0.5 Euler cycle 2 Euler cycle 3 Euler cycle 1 48 Some of the geometry features may be constructed in alternative ways. For instance, in order to build a T section, the nozzle can build the horizontal wall then the vertical wall or it can build a 90-degree angle wall, then a horizontal wall. Different alternatives will have different machine times in the construction. The selection of the construction alternatives of a particular geometry also affects the construction sequence of its adjacent geometries. The system can construct a straight wall in both directions. However, construction direction of the corners next to the straight wall is also determined by the construction direction of that wall. Figure 6.8 shows the alternatives to build a simple T-section and a table is included to show some geometrical features and the number of alternatives to construction them. Figure 6.8: Construct Alternatives Alternatives will be chosen for each particular Euler tour to compose a construction alternative set. Machine time for each construction alternative will be used to calculate the overall operation time as well as the energy used for the entire construction process. The optimal tour will be chosen after comparing all alternative sets for construction. P1 P2 P3 P4 P5 An alternative table for a simple structure features alternativelocation segment 2 p1,p2 corner 4 p2 segment 2 p2,p3 Tsection 8 p3 segment 2 p3,p4 segment 2 p3,p5 49 The cost of rotation between two wall segments cannot be pre-determined. This is due to the fact that the Euler tour cannot be determined unless the Euler cycle has been found. This means that the starting and end orientation of the nozzle when traveling between two wall segments cannot be known before the Euler tour is found. To find the general traveling cost between two wall segments, the average cost of all traveling alternatives between these two wall segments must be calculated and used in finding the optimal Euler cycle. This is one of the disadvantages of the algorithm. 6.1.4 Comparing different Euler cycles with different Euler tours. Several Euler Cycles can be generated from one structure layout according to different pair up rules. One Euler cycle can have several Euler tours by choosing different construction alternatives. Since the computation time for constructing an Euler cycle and searching an Euler tour is small, it does not take too much time to compare different Euler cycles with different Euler tours in order to find the optimal tool path that consumes less time and energy. 6.2. Approach 2. CC-TSP Solution 6.2.1 Transferring the CC tool path generation problem to a TSP problem The overall construction time of a specific structure is the summation of the overall concrete deposition time and the overall nozzle airtime, in which the nozzle stops depositing material and travels between two deposition edges. No matter how the optimal path is generated, the nozzle should traverse all the deposition edges once and only once. 50 The overall deposition time is determined once the structure layout is given and the deposition speed of the nozzle is known. The overall nozzle idle time is the factor that determines the overall construction time for different tool paths. The optimal tool path is a path that has the minimum overall nozzle airtime. Since the nozzle of the machine can move freely in 3-dimensions, it can go straight between any vertices. The problem of finding the optimal tool path can be stated as follows: Given a set of edges on a layout, find the optimum sequence and direction in which: (1) each edge is traversed exactly once and (2) the traveling airtime (motion between two end points of two edges) is a straight line. By minimizing the overall airtime, the optimal solution can be found. One approach to formulating the problem is to consider not the deposition edges (walls) but the traveling paths between edges (the airtime of the nozzle). In this case, walls shrink to vertices, when the paths between vertices represent the cost of traveling between walls. Figure 6.9 shows the concept behind this approach. A structure layout Contraction of edge to vertex (letters represent edges) Figure 6.9: Convert edges to vertices A B C D E A B C D E 51 Since each edge has two vertices, the approach of shrinking the edge to a single vertex creates four possibilities to travel from one edge to another. As defined in Chapter 5.2, the cost of traveling from one wall segment to another depends on the time spent on moving and rotating the nozzle. Cost of rotation depends on the orientation of the two edges, the traveling sequence and the starting position of the stopper on the rotation union. Cost of rotation in opposite directions may be different even with the same rotation degree. There are a total of four possible travel costs from one edge to another edge. Furthermore, the selection of the travel cost for the vertices is not independent, which means that the cost between each pair of edges cannot be pre-determined before performing the optimization. The problem can be transferred to a TSP-IP model, but it is computationally expensive. In order to transfer the tool path optimization problem to a standard TSP problem, some modifications need to be made. Let Vi1 and Vi2 denote the two end points of the i th edge (i = 1; 2; . . . ; n). Let C(x , y) denote the traveling cost between point x and point y, which is determined by the rotation cost and the Euclidean distance of point x and y. Define a complete network with vertex set {Vik | i = 1, 2, . . . , n; k =1,2}. Between every pair of distinct vertices (Vik , Vjl) there is an undirected edge with length given by: C (Vik, Vjl) = - M if i = j = Traveling cost of Vik and Vij if i ≠ j 52 Where M is a large number (for example, M may be set equal to the total length of any feasible tour in the original problem). For i = 1; 2; . . . ; n, the distance of -M between vertices Vi1 and Vi2 implies that the optimal tour must traverse the curve connecting them. Therefore, a minimum length Hamiltonian cycle in this network provides us with an optimal tour for the tool path optimization problem. In other words, the Contour Crafting tool path optimization problem can be modeled as a symmetric TSP problem with 2n vertices, where n is equal to the number of edges. Figure 6.10 shows the concept behind this approach Figure 6.10: Concept illustration In this figure the cost between end points of an edge is set to –M, while the other cost of traveling can be determined by the method mentioned in Chapter 5.2. Now the entire structure layout for CC may be converted to a standard TSP problem. See Figure 6.12. A2 B1 B2 C2 E2 D2 E1 D1 C1 A1 Traveling Cost between end points of an edge equals to -M Rotation Cost between end points are determined in the cost table A B C D E 53 Figure 6.11: Travelling cost representation 6.2.2 Solving the problem by LK heuristic Once the problem is transferred to a standard TSP problem, TSP solvers can be used to find the solution. Most solvers use effective heuristic algorithms to find the acceptable result (normally no more than 5% more of the optimal solution [LK73]) within a reasonable time. When the scale of the problem is relatively small (less than 100 vertices) the optimal solution normally can be found. The Lin-Kernighan algorithm is used in this research. The Lin-Kernighan algorithm [LK73] was the most successful tour-improving method in the 1970’s and 1980’s. It is based on the aforementioned Local Optimization heuristics, but improves upon them significantly by introducing the possibilities of backtracking and allowing the examination of tour paths that seem to be less effective at first glance, though they might create a more cost-effective total tour when combined 54 with other exchange methods. The Lin-Kernighan algorithm also requires a starting tour. The selection of its generation does not significantly influence the quality of the final track but shows a limited influence on the total running time of the algorithm. The two most recent implementations of Lin-Kernighan algorithm are the Chained (sometimes also called Iterated) Lin-Kernighan algorithm by Johnson and McGeoch [Hel00] and the modified Lin-Kernighan algorithm introduced by Helsgaun [Hel00]. The former changes the classic Lin-Kernighan algorithm by having it iterating in several steps. Helsgaun improves on the original Lin-Kernighan algorithm, mainly by revising restrictions and directing the search for tour parts probably belonging to the optimal solution. Helsgaun’s application is used here to implement the tool path optimization for this research. The structure layout shown in Figure 6.12 has been transferred to a TSP problem and then the LKH (Lin-Kernighan’s method with Helsgaun’s application) method is used to find the optimal solution. As shown in Figure 6.13 there are a total of 17 edges in the layout and 34 nodes after transferring the problem to the TSP structure. 55 Figure 6.12: A structure layout Figure 6.13: Add Vertices to construct the TSP model The output of the LKH is posted as following: NAME : .tour COMMENT : Length = -146.92 4 8 10 6 6 1 1 8 2 8 6 10 4 4 4 12 6 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 56 TYPE : TOUR DIMENSION : 34 TOUR_SECTION 27---28--29--30--7--8--9--10--11--12--34--33--13--14--15--16--17--18--26--25-- 19--20--1--2--24--23--22--21--3--4--5--6--31--32--(-1) EOF Optimal tool path by CC-TS Toolpath by nearest neighbor algorithm Figure 6.14: Result of CC-TSP and nearest neighbor algorithm The overall Length of the airtime in Figure 6.14: Airtime Length = -146.92 – (-10 * 17) = 23.08 (-10 is the value of -M) The overall Length of the airtime by using the nearest neighbor algorithm in Figure 6.15: Total traveling distance of when nozzle is idle: 2 + 2 + 2 + 4 + + √20 +√160+√544 = 50.45 4 8 10 6 6 1 1 8 2 8 6 10 4 4 4 12 6 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 57 Percentage of airtime saved by using CC-TSP: (50.45-23.08) / 50.45 = 54.25% The overall length of deposition segments: 4 +8 + 10 + 6 +10 +6 + 12 + 4 + 8 +6 + 6 +1 +1 +2 + 8 +4 + 4 = 100 If the traveling speed is twice of the deposition speed, percentage time saved will be: 0.5 * (50.45 – 23.08) / (100 + 50.45 * 0.5) = 10.93% 58 Chapter 7: Analysis of Single Nozzle Tool Path Optimization For the single nozzle Contour Crafting system, the optimal tool path is a path that completes the entire construction in a minimal time span. 54 structure layouts with different complexity have been used to test the result of different algorithms. Overall construction times resulting from following the tool path generated by CC-TSP, Nearest Point, CC-CPP, and the original order of the line segments in the structure are compared and showed in Figure 7.1. Figure 7.1: Total construction time comparison In this chart, the numbers on the horizontal axis represent the wall segments in the structure layout, and the numbers on vertical axis represents the overall construction time for the corresponding structure. The complexity of a structure is proportional to the wall segments in it. The relations between different lines indicate that the solution of CC-TSP and CC-CPP always perform better than the solution of Nearest Point. Figure 7.2 shows the Airtime save percentage by CC-TSP, NP, CC-CPP and Nearest Point Algorithm as 59 opposed to the original edge sequence of the structure. Figure 7.3 shows the overall construction times of CC-TSP and Nearest Point Algorithm. Figure 7.2: Airtime save percentage by CC-TSP, NP, CC-CPP as opposed to the original edge sequence of the structure Figure 7.3: Overall construction times of CC-TSP and Nearest Point Algorithm The performance difference between the two approaches is more obvious if the total air time instead of the construction time is considered. See Figure 7.4. 0 200 400 600 800 1000 1200 1400 1600 21 37 39 45 58 62 67 69 76 83 89 90 95 112 123 128 131 134 136 140 155 158 193 202 207 222 290 OnePath CCTSP TotalTime OnePath NP TotalTime 60 Figure 7.4: Airtime save percentage between CC-TSP and Nearest Point Algorithm The red line is the trend line of the average percentage of airtime saved. It increases along the horizontal axis, which is the number of wall segments in the structure. Compared to the nearest point solution, the CC-TSP performs better with structures that are more complex. According to the above figures, we can conclude that both CC-CPP and CC-TSP significantly reduce the overall airtime in construction. The results provided by CC-TSP are slightly better than CC-CPP even though a heuristic solver is used for find the TSP solution. This is because a greedy algorithm is used in pair wise matching in the CC-CPP algorithm and the results are not exact solution. There are advantages and disadvantage of both approaches, they are listed as following: Advantages and disadvantages of the CC-CPP approach: Advantages: 1. The algorithm described above is not computationally expensive. 0% 10% 20% 30% 40% 50% 60% 70% 20 30 37 44 46 59 62 69 71 81 87 89 91 104 122 123 130 133 135 140 146 157 177 194 205 213 271 61 2. Rules can be defined for pairwise matching and routing. Alternative paths can be found according to different rules. 3. Having curves represented by a great deal of straight line segments in the structure layout doesn’t increase the complexity of calculation, since no matter how complicated the curve, it only has two end points and only end points are involved in the optimization. Disadvantages: 1. Rotation cost cannot be pre-defined in the pairwise matching. Average rotation cost has to be used in finding the optimal Euler cycle. 2. If there are “island topologies” (separated Euler cycles) in the structure layout, the approach might end up giving a wrong result (See Figure 7.6). 3. The Euler tour is difficult to derive from the Euler cycle because the tour can be arbitrary. 4. The optimal solution may not be found because a heuristic algorithm has been used to construct the Euler Cycle. Figure 7.5: An Euler Cycle with an island topology 62 Advantages and disadvantages of the CC-TSP approach: Advantage: 1. This solution considers most of the system characteristics and physical constraints. 2. The problem is transferred to a classic network graph problem (TSP), therefore commercial TSP solvers can be used to find the solution 3. When using heuristic solvers, the solution of a regular scale problem (fewer than 500 vertices) can be found in short time (less than 1 min). Vertices of a structure layout are normally less than 500. Disadvantage: 1. The number of vertices is twice the number of the edges. If curves in the layout structure are represented by line segments, one curve may contain many line segments and vertices, which will significantly increase the size of the problem. 2. It is difficult to find alternative paths if different construction rules are given. 3. It is computationally expensive for big scale (more than 100 vertices) if exact solution methods are used to find the optimum. Heuristic algorithms such as Lin- Kernighan have to be used. Conclusion: CC-TSP is a better solution than CC-CPP to find the optimal tool path for Contour Crafting. Structure layout can be converted to standard TSP problem by introducing a negative value between every pair of vertices of an edge. All tool path elements defined in Chapter 5 can be incorporated with the CC-TSP so that all construction alternatives are 63 included in the searching of the optimal solution. The results of CC-TSP that generated by a heuristic solver have less overall construction time than the results of CC-CPP with a greedy algorithm for its pairwise matching. The results of CC-CPP can be improved by developing a better heuristic pairwise matching algorithm. However, CC-CPP ignores the rotation alternative between odd-degree vertices. The algorithm also has difficulty to find the practical tool path for Contour Crafting when there are “island topologies” in the structure layout. Therefore, CC-TSP is selected as the solution of finding CC tool path and it will be used in the multiple machine system to find the collision-free tool paths as well. 64 Chapter 8: Collision-free Tool Paths for the Multi-machine System In the previous two chapters, we discussed how to find the optimal tool path for a single nozzle Contour Crafting system. In this section, we present methods to generate tool paths for Contour Crafting system when multiple nozzles are involved in the construction process. Chapter 8.1 will introduce the multiple nozzles/gantries system of Contour Crafting. Chapter 8.2 will introduce the two steps to find the collision-free tool paths. Three methods will be given in Chapter 8.3 and the procedure will be explained in detail. Chapter 8.4 will briefly explain how to incorporate the above methods with the machine behavior theory. 8.1 Introduction to the Multi-Machine Contour Crafting system 8.1.1 The benefits of utilizing the Multi-Machine Contour Crafting system The Contour Crafting technology allows massive construction since it transfers construction tasks to fully automatic machine processes. Multi-Machine Contour Crafting systems can be used in constructing multiple basic structures or a large complex structure to reduce the overall construction time. Unlike a conventional construction process, in which all activity must be monitored in real-time to meet certain deadlines, a plan of massive construction can be prepared before the construction begins. The overall construction time depends on the 65 quantity and efficiency of the Contour Crafting machine. The cost of a Contour Crafting system is relatively low compared to the current construction cost. Using more machines means saving more time and cost. Furthermore, the current CC system is installed on rails to ensure the construction accuracy. Allowing multiple machines cooperate on the same pair of rails can also lower the cost of installation of the rail. 8.1.2 The different types of Multi-Machine Contour Crafting system A Multi-Machine Contour Crafting system is a system with collaborative nozzles or gantries that perform construction tasks according to the pre-defined tool path without interference. There are two kinds of Multi-Machine Contour Crafting systems: Overhead multi-nozzle and multi-gantry. (Figure 8.1) Figure 8.1: Overhead gantry platform carries multiple nozzles (left) and multiple gantries system (right) The overhead multi-gantry system has an overhead platform as the carrier of several nozzles. The motion of the nozzles is confined by the overhead structure. Gantries that carry the nozzle in the overhead structure cannot cross each other. The entire overhead structure will have to move up and down in order for the nozzles to build 66 different layers. The multiple gantry system is more flexible than the overhead multiple- nozzle system. It consists of different gantries that can be operated independently. The nozzles on different gantries can simultaneously work on different layers. Both systems have their advantages and disadvantages. The multi-gantry system can be used in most construction applications. The number of gantries used in the construction project depends on its work load. Many gantries can collaborate on a heavy duty construction project, yet a few gantries or even a single one can handle the small load project by itself. Though the overhead multiple nozzle system is not as flexible as the multi-gantry system, it might conserve more energy. The fact that many nozzles share the same motion control components allows each of them to consume less energy in construction. Furthermore, the stability of the overhead structure will also benefit the system by eliminating the height displacement in the construction process. Tool path planning is different for the multi-gantry system and the overhead multi-nozzle system. If a multiple gantry system is used in construction, then tool path planning and optimization can be performed on the same layer as well as different layers. However, tool path planning and optimization should be performed on each layer for the overhead system since all nozzles carried by the overhead structure operate at the same height. In this research the multi-gantry system is assumed to operate at the same layer to simplify the situation in order to scale down the problem (will be explained in Chapter 8.2 in detail), therefore tool path planning and optimization for both of these systems are based on a layer-by-layer procedure. Approaches of finding the collision-free tool path 67 for multi-gantry system will be given in Chapter 8.3. Strategy of generating the tool path for the overhead multi-nozzle system utilizes the approaches of multiple gantries system. Details will be given in Chapter9. Critical design parameters of the overhead multi- nozzle system will also be discussed in Chapter 10. 8.1.3 Constraints and goals of generating tool paths for the multi-machine Contour Crafting system The goal of generating tool paths for the multi-machine Contour Crafting system is to improve the construction efficiency in terms of time and energy by allowing the collaboration of different nozzles. Construction safety and the quality are the other two major concerns for the process. Figure 8.2 is the task decomposition of generating optimal tool paths for the multi-machine Contour Crafting system. Figure 8.2: Task decomposition 68 Construction safety: There should be no collision during the construction process. Collisions can happen if (1) two gantries get too close to each other or (2) a previously built wall is in the path of a nozzle when it is in motion. As we mentioned before, the nozzles of the overhead multi-nozzle system can only work on the same layer while the nozzles of the multi-gantry system can work on different layers simultaneously. The advantage of allowing nozzles to work on different layers is that each nozzle can keep working without waiting for other nozzles to finish the construction on the same layer. However, if we allow nozzles to work on different layers, they should not collide with each other or layers that have been deposited by themselves or other nozzles. Previously deposited layers also need to be solidified enough to support the weight of the layers above so that the nozzles can deliver new material on them. On the other hand, allowing nozzles only to work on the same layer might introduce extra idle time for each nozzle. However, if the workload of a layer can be evenly distributed to different nozzles, they can finish the construction on the same layer almost at the same time. The nozzles can then move on to the next layer. In this case, the waiting time of each nozzle can be minimized, and the overall efficiency will be similar to that of allowing nozzles to work on different layers. Therefore, this research is focused on finding the optimal collision-free tool paths of structures in the layer-by-layer procedure. Nozzles will be lifted to avoid the collision with the layer being currently constructed when they move from one wall segment to another. Now the task of collision avoidance is narrowed down to avoidance of collision between nozzles. 69 Construction quality: Introducing more machines in the construction process could impact the construction quality of the structures. Some structures are ‘divided’ and assigned to different machines for construction. If a small wall segment is separated and built by two different machines, the integrity of the structure could be compromised. In addition in this case the construction process would be made more complicated as well. Therefore, the division process of a structure should be very deliberate in order to minimize cutting of small wall segments. Construction efficiency: Consuming the least amount of time and energy during construction is an important goal when using the multi-machine Contour Crafting system. Since the nozzles work on the same layer and only move to the next layer when the construction of an entire layer is complete, the time of construction of a layer is determine by the slowest machine that finishes the construction. The individual construction time of different nozzles is as important as the total construction time of all nozzles. The approach in Chapter X will be used to find the optimal CC-TSP tool path for individual nozzles in order to minimize the amount of airtime and energy used. The result will then be used to find the best set of tool paths for the multiple machines. 70 8.2 Introduce the two steps and three algorithms to find the collision free tool path for multiple nozzles system under the current hypothesis. The tool path generation of the multi-nozzle system includes two steps. The first step is to separate the original structure into different sections according to the number of nozzles. The second step is to create tool paths for these sections so that no collision between the nozzles occurs when they travel along the tool paths. See Figure 8.3 for the two step procedures of finding tool paths for the multi-machine Contour Crafting system. Figure 8.3: Two-step Procedure The goal of the first step is to evenly distribute the work load so that the different nozzles finish their work on the same layer at around the same time. The initial separation point will be first used to divide the original structure into different sections, CC-TSP tool paths will be generated to find the total time for constructing each section. If the time 71 difference between different sections is not acceptable, the process will be iterative until the suitable result is achieved. The goal for the second step is to avoid nozzle collision during the entire construction process without compromising the efficiency of construction. The principle and procedures of these two steps will be introduced in the following chapter (8.2.1 & 8.2.2). Several approaches that use these two steps to find the tool paths are presented in 8.3. A structure floor plan and its structure layout for the Contour Crafting system will be used as a sample to illustrate the problem in the following chapters. (Figure 8.4) Figure 8.4: Floor plan and structure layout 8.2.1 Step 1: iterative dividing 8.2.1.1 Principle of iterative dividing. In order to assign workloads to different nozzles, the original structure layout should be separated into different sections according to the number of the nozzles. Ideally, each section contains an equal amount of work load so that the construction time of all of the sections is the same. For instance, a structure that will be built by three machines can be Structure Layout 72 separated into three sections with each containing one third of the original work load. However, it is difficult to exactly divide the original structure layout into multiple sections that have an equal overall workload. Sections that have the same overall length of wall segments may take different length of time to construct. Therefore, straight lines can first be created to cut across the original layout, and then divide it into sections with the condition that the sums of the length of all of the wall segments in different sections are equal or approximate. Then the single nozzle optimization algorithm is applied on each section of the layout to find out the overall time cost. If the difference between the results is acceptable (lower than the pre-set threshold) then the workload assignment is considered to be achieved. Otherwise, the section border lines should be moved and the optimization should be performed again on each section to find the difference between the results. The above procedures will be iteratively performed until the best result is achieved. (See figure 8.5) o d n t s i w v How offs. A straig divide each new end poi to travel betw short wall se increase the will be reas vertices if co wever, using ght line cut of them into ints. Airtime ween the ne egments mu complexity sonable to s onstruction q Figur a straight li across the fl o two shorte e will be intr w end point ust be built b of automati separate the quality is a c re 8.5: Iterati ne to separa loor plan ma r ones. Each roduced by th s and the en by two differ ic constructi original str concern (See ive cutting ate the origin ay intersect w h cutting inte he new end p d points of o rent machine ion and affec ructure layo e Figure 8.6) nal structure with short w ersection wi points since other wall se es instead of ct the constr out without ). e has some t wall segment ll create a pa the nozzles egments. The f one, which ruction quali introducing 73 trade- ts and air of have e two h will ity. It new 74 Figure 8.6: Short wall segments are cut into two separated sections Instead of cutting the original layout into different sections, wall segments can be separated into different groups. The X position of wall segments can be specified and used as a reference for sorting. Similar to the iterative cutting concept, an initial separation point tries to divide wall segments into groups with the condition that the sums of the length of all wall segments in these groups are equal or approximate. Once wall segments are separated into different groups, optimization will be performed on each group to find out the minimal time to finish constructing all the wall segments in that group. The construction time of different groups will be compared. If the time difference is too much, all wall segments will be separated again and the process will repeat. Iterative separating also has disadvantages. The original structure is divided by straight lines in iterative cutting. Therefore, the working areas of a gantry don’t overlap with each other because they share the same cutting edges. In the case of iterative separating, the working area of adjacent sections may overlap since the end point of some wall segments might fall into the area of another group. This will increase the 75 chance of two gantries colliding with each other when they are working near the border of the sections.(See Figure 8.7) Figure 8.7: Cutting VS Separating 8.2.1.2 Procedure of iterative dividing. Following are steps of iterative cutting and iterative separating. For the sake of simplicity, only two nozzles are used to illustrate the procedure. Stage 1: (iterative cutting) evenly distribute the workload to different nozzles 1. Define an initial cutting point (use the middle point of the median of all line segments); 2. Use a straight line to cut the original structure layout into two halves ; 3. If some line segments intersect with the cutting line do: Working area 1 Working area 2 Working areas overlap 76 4. Put the two end points of the line segment into two different groups, and pair up the end points with the cutting points respectively; 5. End if; 6. Use the approach in Chapter 6 to find the CC-TSP tool path for each separated section; 7. Calculate the construction time of each section according to their tool path; 8. Compare the time difference between each group; 9. if the difference is lower than the pre-defined threshold, dividing process is complete, proceed to the next stage; 10. else move the cutting point towards the section with the longer construction time, go to step 3; 11. End if Stage 1: (iterative separating) evenly distribute the workload to different nozzles 1. Sort all line segments according to the X value of their middle point 2. Define an initial dividing point (use ½ of sum of the length of all line segments) 3. Divide line segments into two groups according to the dividing point 4. Use the approach in Chapter 6 to find the CC-TSP tool path for each separated group of line segments 5. Calculate the construction time of each group according to their tool path. 6. Compare the time difference between each group. 77 7. if the difference is lower than the pre-defined threshold, dividing is complete. proceed to the next stage, 8. else move the dividing point towards the section with longer construction time, go to step 3. Figure 8.8: Flowchart of Iterative Dividing 78 8.2.2 Step 2: create collision-free tool paths between the divided parts After evenly dividing the structure into different sections either by cutting or separating, collision-free tool paths between the divided sections will be created. Collision-free tool paths are paths where no collisions occur between the nozzles when they are traveling. There are two ways to guarantee no collisions during the construction, they are: (1) setup buffer zones for to prevent the nozzles from getting too close to each other, and (2) analyze the x/t curve of the gantry that carries the nozzle. 8.2.2.1 Principle of buffer zone Once the structure is divided into different sections, nozzles will be responsible for constructing the section assigned to them. In most cases, nozzles work in their own working zone and shouldn’t interfere with other nozzles. However, the structure layout is divided into sections with shared cutting edges (iterative cutting) or overlap areas (iterative separating). In both cases, collision may happen when two gantries are working at the same time near the shared borders of adjacent sections due to the width of the gantries. See Figure 8.9. 79 Figure 8.9: Possible collision between two gantries Buffer zones can be setup on both sides of the shared border in order to prevent collisions near the border. Buffer zones must meet the following conditions: (1) the size (width) of the buffer zone should be bigger than the width of the gantry; (2) the overall workload in the buffer zone should be less than half of the overall workload within the section that contains the buffer zone. The first condition guarantees that gantries will never collide when they are working outside of the buffer zones, because there is always an area, which is wider than the width of a gantry that serves as a cushion between any two gantries. The second condition guarantees that nozzles spend less time inside the buffer zone than the main working zones (the rest of the section except the buffer zone area) so that two nozzles don’t work in two adjacent buffer zones at the same time. Under these kinds of conditions, the original layout of two adjacent sections may be divided into four areas. Let these areas be LW (left working zone), LB (left buffer zone), RB (right bu w zo ri th th co w b cu m se uffer zone), working on L one), which ight side wil he portion in he nozzle on onstraints as working area Buffer e divided by utting has b method that eparated inst , and RW ( LW (left wo is a smaller ll finish the n LW, so by n the right ha ssure that th s are mutual r zones crea y cutting ins been discusse can genera tead of cut. (right worki orking zone r area than L portion in R the time the and side is a he two nozzl lly exclusive Figure 8 ate clearance stead of sep ed in the pr ate collision- ing zone) ( ), the other LW and con RB before th nozzle on th already work les will not e. 8.10: Buffer z e areas for g arating. Th revious chap -free tool p (see Figure nozzle is w ntains less w he nozzle on he left side m king on RW collide durin zone concept gantries, but he drawback pter. The fol paths from t 8.10). Whe working on work load. T the left han move to LB W( right work ng the opera the origina of dividing llowing chap the sections en one nozz RB (right b The nozzle o nd side can f (left buffer z king zone). T ation becaus l structure h g the structur pters introdu s that have 80 zle is buffer on the finish zone), These se the has to re by uce a been 8 N op w p ca fo th an n ca cu .2.2.2 Princ Nozzles are peration if t width of the air of rails. arried by the or the nozzle hat the nozz nd the depo ozzle in tim arries the n urve of a gan ciple of x/t c carried by the distance gantry itself The vertica e gantry. W e, it contains le will visit sition speed me t. An x/t ozzle during ntry accordin urve of the gantries. Th between th f at any poin al center of e will call it s a sequence a specific v d of the nozz curve can b g the entire ng to the dat Fig gantry. here will be he centers o nt in the ent a gantry ha t x position o of vertices t vertex can ea zle are know be drawn to constructio ta presented gure 8.11: x/t e no collisio f the gantrie tire process. appens to b of the nozzle that the nozz asily be calc wn. Let x(t) o demonstrat on operation on the left. /t curve ons between es is always The gantrie e the positio e. When a to zle is going culated if the represent th te the track n. Figure 8.1 n nozzles d s bigger tha es are riding on of the n ool path is cr to visit. The e traveling s he x position of a gantry 11 shows th 81 during n the on a nozzle reated e time speed n of a y that he x/t 82 If two x/t curves never cross each other and the minimal distance between these curves is never smaller than a specific amount, then the two nozzles will not collide with each other during the entire construction process. See Figure 8.12. Figure 8.12: Minmal distance of to x/t curves Therefore, to avoid collisions between two gantries at anytime, we have: Abs (X1(t) – X2(t)) < Specific Distance (for instance, the width of the gantry), When : 0<t< time of the end of construction of the layer X1(t), X2(t) represent the X position of the two nozzles in time t, respectively. In order to check if two x/t curves cross each other, the distance between two nozzles needs to tracked at any time t. However, giving the assumption that nozzles travel in linear motion, we only need to check the distance between the two x/t curves at the extreme points of either curves. Linear interpolation can be used to find the x position of a nozzle at the time that the other nozzle is visiting an end point. See Figure 8.13. 83 Figure 8.13: Checking the distance between two x/t curves If the two known points are given by the coordinates (t0, x0) and (t1, x1), the linear interpolation is the straight line between these points. The value x along the straight line is given from the equation. Solving this equation for X, which is the unknown value at time t, gives In Figure 8.13, comparing the value of xa and xb1 can give distance between the two curves at time t. Each extreme point of both curve will be compared the see if the minimal distance of the two curves is less than the threshold (width of the gantry). Following is the program that checks if two x/t curves cross each other. 0 2 4 6 8 10 12 14 16 18 0 5 10 15 20 25 X/t curve ‐‐section A X/t curve ‐‐section B Distance between vertex and the other X/t curve (t0,xa0) (t1,xa1) (t,xa) (t0,xb0) (t,xb1) 84 Of course the above program only checks the position of nozzle 1 at the moment when nozzle 2 visits end points. The position of nozzle 2 at the moment when nozzle 1 visits end points also needs to be calculated and compared with the position of nozzle 1 to find out if collisions will happen. Meanwhile, if the overall construction time of the longer curve of the two is minimized, then the optimal solution for the two nozzles will be yielded. 8.3 Three algorithms to create optimal collision free tool paths. Three algorithms are proposed to find the optimal collision-free tool paths. They all follow the two-step procedure mentioned in the previous chapter. Some algorithms have a higher chance of converging to a feasible solution than the others. However, the extent of optimality of their solutions might be lower. These algorithms are: (1) auxiliary buffer zone; (2) path cycling; (3) buffer zone path cycling. 1. for (i=0 ; I < Path1 _vertex_num ; i++) 2. { 3. for (j=0 ; j< Path2 _vertex_num-1 ; j++) 4. { 5. if (Path1 _vertex[i].time > Path2 _vertex[j].time) && (Path1 _vertex[i].time < Path2 _vertex[j+1].time) 6. { 7. X = ( Path1 _vertex[i].time – Path2_vertex[j].time) / (Path2 _vertex[j+1].time – Path2 _vertex[j].time) * (Path2 _vertex[j+1].x – Path2 _vertex[j].x) ; 8. if (Path1 _vertex[i].x>X-width_of_machine) // paths cross each other 9. { 10. return false; 11. } 12. } 13. } 85 8.3.1 Auxiliary buffer zone algorithm The previous chapter introduces the buffer zone concept. A buffer zone can prevent two gantries getting too close to the border at the same time. However, when more than two gantries are working together, one gantry should avoid the collision with gantries on either side. One approach is to setup two buffer zones for one gantry in a multi-gantry system. Two straight cuts are used to create left and right buffer zones in one section. The gantry will then always work according to the order of left buffer zone, main working zone then right buffer zone. See Figure 8.14 Figure 8.14: Buffer zone set up Let i stand for the number of the section, left_buffer(i) and right_buffer(i), main_work(i) stands for the left and right buffer zones, and the main working zone belongs to section(i), respectively. The constraints to setup the buffer zones are: (1) left_buffer(i) .width > width of the gantry (for all i) (2) right_buffer(i) .width > width of the gantry (3) left_buffer(i) . time + main_work(i).time > left_buffer (i+1).time ( .time is the construction time of the zone) 86 The first two constraints are obvious. The third constraint ensures that no more than one nozzles ever enters the adjacent buffer zones at anytime. The second and third constraints may conflict on some occasions. If there is a lot of work load concentrated in one of the left buffer zones, and: left_buffer (i+1).time > left_buffer(i) . time + main_work(i).time In order to meet constraint (3), the area of main_work(i) needs to be extended towards the right. Therefore the area of right_buffer(i) needs to be shrunk, and then the width of right_buffer(i) may be less than the width of a gantry. The method of introducing auxiliary buffer zones can resolve the above problem as well as reducing the number of buffer zones being used. Following are the constraints of setting up auxiliary buffer zones: (1) left_buffer(i) .width > width of the gantry (2) left_buffer(i) . time + auxiliary_left_buffer(i) . time > left_buffer (i+1).time ( .time is the construction time of the zone) There are only two constraints in this method. From constraint (2) we know that, if: left_buffer(i) . time > left_buffer (i+1).time Then constraint (2) is always true; therefore no auxiliary buffer zone is needed. In this situation, the nozzle that works in section (i+1) has already moved to its main working zone when the nozzle that works in section (i) moves to its main working zone, because the construction time of left buffer zone in section i is longer than that of left buffer zone in section i+1. Therefore, no additional buffer zones are needed since nozzles always work in section i and i+1 exclusively. By using the auxiliary buffer zone method, 87 each section of the structure has at least one buffer zone, and it may or may not have the second buffer zone. The tool paths generated by the auxiliary buffer zone method will increase the construction efficiency and quality since each section may have less buffer zones. To setup the auxiliary buffer zone, first a buffer zone need to be generated for each section, then the construction time of each buffer zone will be calculated. If the construction time of buffer zone (i) is bigger than that of buffer zone (i+1), no additional buffer zone is needed. Otherwise, auxiliary buffer zones should be generated. The nozzle should work according to the order of the original buffer zone, auxiliary buffer zone and the main working zone. (See Figure 8.15) Figure 8.15: Auxiliary Buffer Zone Following are the steps for generating auxiliary buffer zones. Stage 1: evenly distribute workload to different nozzle (iterative cutting, refer to 8. 2.1.2) Stage2: setup buffer zone and find the collision-free path 1. Setup the first buffer zone for each section: a straight line cuts the part into two halves with the left zone being the width of machine. 88 2. Perform CC-TSP to find the tool path and calculate the workload for the buffer zones of all nozzles. 3. Compare the construction time of buffer zones of different sections, 4. if buffer_zone(i). time > buffer_zone(i+1). time, create auxiliary buffer zone for section(i). 5. The rest of the section will be set as the main working zone. Use CC-TSP to find to find the optimal tool path. 6. Combine the tool path of the three zones. 89 Figure 8.16: Flowchart of generating Auxiliary Buffer Zone 8.3.2 Path cycling Path cycling focuses on manipulating the x/t curve of the tool path to avoid collision. Global path cycling is achieving the result directly from the CC-TSP tool path for the single nozzle system. Iterative cutting or separating is not necessary for global path cycling. Individual path cycling follows the two-step procedure. First, evenly divide the structure layout, find the CC-TSP tool path for different sections individually, and then 90 perform path cycling on the CC-TSP paths to make them collision-free from each other. For the sake of simplicity, two machines will be used to illustrate the methods of path cycling. Applying the methods to the multiple machine system will be explained in Chapter 8.3.2.3. 8.3.2.1 the global optimal path cycling The single nozzle solution method explained in Chapter 6 may or may not yield the optimal solution depending on the scale of the problem. If an optimal solution is yielded then the optimal path can be separated (on the basis of total working time) into two individual paths that do not cross each other and these paths will be optimal in the multi- nozzle case. However, the chance of the x/t curve of the separated paths never colliding is small. Since the optimal tool path generated in Chapter 6 is a loop (the nozzle will visit the starting point at the end), cycling the tool path will not increase the overall construction time. We can therefore always cycle one of the paths to increase the chance of finding a solution. To cycle a path, the first vertex is placed at the end of the sequence, but the sequence of the vertices remains the same in the tool path. The next consecutive vertex is then moved to the end of sequence if the cycling is continuous. The two paths will be checked during the cycling to see if they will collide. The cycling process will be complete if the sequence returns to its original pattern. See Figure8.17 for illustration: 91 Figure 8.17: Concept of Path Cycling In order to maximize the possibility of finding collision-free tool paths from the original CC-TSP tool path of the single nozzle system, the original path can also be cycled before splitting into different tool paths. Figure 8.18 shows that cycling the global path before splitting it into two paths creates more combinations of vertices sequence pairs. (The sequence of numbers in the cell represents the order of the vertices in a tool path.) Therefore the chance of finding collision-free tool paths from these pairs of vertices sequences is higher. Figure 8.18: Illustration of cycling 1 234 567 8 5 678 67 85 785 6 8567 1 234 12 34 123 4 1234 2 345 678 1 6 781 78 16 816 7 1678 2 345 12 34 123 4 1234 3 456 781 2 Cycling global path Cycling Cycling Cycling global path Cycling 92 The x/t curve of the sample structure is also given here to demonstrate the concept of global path cycling. (Figure 8.19) These figures show that without cycling the global path, the divided paths always collide with each other. However, two collision free paths have been found after cycling then splitting the global tool path. Figure 8.19: Concept of Global Path Cycling . The algorithm can be described as following (see Figure 8.20 for illustration): 1: Generate the global CC-TSP tool path by using the approach in Chapter 6 2: Calculate the construction time of the entire structure according to the tool path 3: while the global tool path is not completely cycled (path_cycle_times < path_line_num (number of line segments in global tool path)) do 93 4: Divide the global tool path into two tool paths (path1 and path2) with equal or approximate work loads 5: while path 2 is not completely cycled (path2_cycle_time < path2_line_num) do 6: Check if the X/t curve of Path1 and Path 2 cross each other 7: If (never cross) Path1 and Path2 are the optimal solution 8: else (cross each other) Cycle Path2 (path2_cycle_time++), go to 5: 9: end while: (path2_cycle_time >= path2_line_num) 10: Cycle the global optimal tool path (path_cycle_time++) go to 3: 11: end while: (path_cycle_times >= path_line_num). No result is found. 94 Figure 8.20: Flowchart of Auxiliary buffer zone 8.3.2.2 The individual path cycling Individual path cycling is similar to global path cycling. Instead of separating the global optimal tool path, wall segments of the original structure layout are sorted and assigned into two groups. The optimization is then performed on each of the two groups to find the local CC-TSP tool paths. These two tool paths are then checked to detect if they cross each other. If they do, one of the paths is cycled and checked again until either the solution is found or the cycling process is complete (i.e., failure in finding a solution). This algorithm has a high chance to find the result, yet the total airtime of the final 95 solution may be longer than that of global path cycling. Figure 8.21 shows the concept of individual path cycling. Figure 8.21:Concep of Individual Path Cycling Procedure and flowchart of individual path cycling: Stage 1: Evenly distribute the workload to different nozzles (iterative cutting/separating), refer to chapter 8. 2.1.2. Cycling 96 Stage 2: Cycle one of the CC-TSP tool paths to avoid the collision between the two paths 1. while Path2 is not completely cycled (path2_cycle_time < path2_line_num) do 2. Check if the X/t curve of Path1 and Path 2 cross each other 3. if (never cross) Path1 and Path2 are the optimal solution 4. else (cross each other) Cycle Path2 ((path2_cycle_time ++), go to 1. 5. end while (Cycling complete. No result is found.) Figure 8.22: Flowchart of Individual Path Cycling 8.3.3.3 Path cycling in the multiple gantries case The path cycling method can easily be extended to the multiple gantries case. Let path(i ) represent the CC-TSP tool paths of different divided sections of the original structure. The first path [path(1)]can be fixed when path cycling can be performed on the second 97 tool path[path(2)], if path(1) and path(2) don’t cross each other, then path(2) can be fixed and path(3) can be cycled to find the path without collision with path(2). However, if path(3) has been completely cycled and no collision-free paths between path(2) and path(3) are found, then path(2) needs to keep on cycling so that another pair of collision- free tool paths can be found between path(1) and path(2). Then again path(2) will be fixed and path(3) will be cycled to find the path without collision with path(2). The process should be continuous until the paths have been checked and all adjacent paths are free from collision. Figure 8.23 shows the concept of cycling multiple paths in order to find a set of collision-free tool paths for the three machines case. Figure 8.24 shows the concept of applying the algorithm to N number of machines. S cu S p tage 1: E utting/separ tage 2: Cyc aths 0 10 20 30 40 50 60 Figure 8 Figure 8.2 Evenly dis rating), refe cle one of th 0 0 0 0 0 0 0 1 13 25 37 49 61 73 85 8.23: Individu 24: Concept o stribute th er to chapte he CC-TSP 85 97 109 121 133 Collision ual Path Cycl of Applying th he workloa er 8. 2.1.2. tool paths 0 10 20 30 40 50 60 1 13 25 37 49 61 Cycleto av with se Free ling of Multip he appraoch o ad to dif to avoid th 73 85 97 109 121 133 void collision ection 1 Co ple machines on N machine fferent no e collision b 0 10 20 30 40 50 60 1 13 25 37 49 Cyclet w llision Free es zzles (iter between the 49 61 73 85 97 109 121 133 to avoid collision ith section 2 98 rative e two 99 1. while Path2 is not completely cycled (path2_cycle_time < path2_line_num) do 2. Check if the X/t curve of Path1 and Path 2 cross each other 3. if (never cross) do 4. while Path3 is not completely cycled (path3_cycle_time < path3_line_num) do 5. Check if the X/t curve of Path2 and Path 3 cross each other 6. if (never cross) Path,1 Path2 and Path3 are the optimal solution 7. Cycle Path3 ((path3_cycle_time ++), 8. end if 9. end while(Path3 is completely cycled) 10. end if 11. Cycle Path2 ((path2_cycle_time ++), 12. end while (Path2 is completely cycled. No result is found.) 100 Figure 8.25: Flowchart of Individual Path Cycling for multiple machines 8.3.3 Buffer zone path cycling The method of individual path cycling can create collision-free tool paths from the CC- TSP paths in most of the cases. However, the chance of finding the collision-free tool paths still depends on the geometry of the structure and the width of gantry to a certain degree. There is a higher chance to find a solution by combining the concept of the buffer zone and path cycling. There are two ways to introduce the buffer zone in this concept. The first is to setup a buffer zone between two sections so that the adjacent sections share one common buffer zone. The second is to setup a buffer zone for each section. 101 Shared buffer zone path cycling The buffer zone isolates the working area of different nozzles. Tool paths for different working areas and the buffer zone(s) are generated using the approach described in Chapter 6. The tool path within the buffer zone is separated into two parts and each part is assigned to the corresponding nozzle. Construction of one of the buffer zone sections is completed before the nozzle starts working on its own allocated working area, while the construction of the other buffer zone section starts after the other nozzle completes the construction in its main working zone (See Figure 8.26). In this case, one nozzle works in one working area while the other nozzle works in the buffer zone at the same time. This prevents the nozzles from colliding inside the buffer zone. The size of the buffer zone can also be adjusted in order to increase the chance to find collision-free tool paths. Since the work load contained in the buffer zone is much less than the work load contained in the main working areas, by using the cycling approach, collisions between the tool path of the main working areas and the tool path of buffer zones can be avoided in most cases. Collision can be always avoided if two buffer zones are defined. 102 Figure 8.26: Concept of Buffer Zone Path Cycling B T zo co w co b d Buffer zone p There will be one for two onstruction, with the buff ollision-free To inc e set up for ivided sectio path cycling e fewer buff o adjacent se the tool pa fer zones on e tool paths m Figure 8 crease the c each divided ons. Figure g fer zones in ections. How th of a main n both sides may not be fo 8.27: Buffer Z hances of fi d section. Fi 8.28: Layout n the constru wever, when n working z s (See Figur found. Zone Path Cyc inding collis igure 8.28 sh of buffer zon uction if the n more than zone has to re 8.27 for cling for Mult sion-free too hows the lay es for N divid ere is only o n two mach be cycled to illustration) tiple sections ol paths, one yout of the bu ded sections one shared b hines are use o avoid coll ). In some c e buffer zone uffer zones f 103 buffer ed in lision cases, e can for N 104 Though it looks similar to the auxiliary buffer zone method, the buffer zone path cycling method has some advantages over the previous method. Without cycling any tool path, one nozzle needs to have more than one buffer zone to keep a certain distance from the adjacent nozzles. In 8.3.1 we know that if an auxiliary buffer zone is created to prevent the nozzle moving to the working zone too soon, then the section will have one extra buffer zone as well as one pre-set buffer zone. Every auxiliary buffer zone will increase the construction complexity and cost more construction time. By using the method of path cycling, only one buffer zone is needed to avoid collision. The construction order of a nozzle in a divided section is always to finish the construction on its own buffer zone, then move on to the main working area. Two adjacent nozzles never collide when they are both working at the same time on their own main working zone because the buffer zone between the working zones keeps them apart. The situation is the same when the two nozzles are in their buffer zone at the same time. The only time that collisions could happen is when a nozzle finishes its construction task on its own buffer zone and move to its main working zone while the nozzle next to it is still working on its buffer zone, which is adjacent to the working zone of the previous nozzle. Since both nozzles have to first finish the construction tasks on their own buffer zone, collision can only happen when the construction time in the adjacent buffer zones are different (See Figure 8.29). Since the construction time difference between the adjacent buffer zones is much smaller than the overall construction time of the main working zone, the chances are much greater for finding collision-free tool paths between the main working zone and the buffer zone when cycling the path of the main working zone. 105 Figure 8.29: Collisions occurs in the overlap time of construction When more than two machines are used in construction, the structure is first evenly divided into sections according to the number of machines. Each section will be cut or separated into two zones: the buffer zone and the main working zone. CC-TSP tool paths will be generated for both zones of each section, and then the tool path of the working zone will be cycled to avoid collision with the prior buffer zone. Unlike the previous method (path cycling), the procedure for making sure that the adjacent paths do not collide are independent from each other in the method of buffer zone path cycling. Only the paired up working zone path and buffer zone path will be checked. The purpose of path cycling of the working zone is only to increase the chance to create collision-free tool paths with the buffer zone with which it is paired up and will not cause any collisions with any other tool paths. This will dramatically increase the chance of finding collision- free tool paths when many machines are involved in construction. P S S 1 2 S zo 1. pa 2. 3. 4. pa rocedure of tage 1: Eve tage 2: crea . Separate path1_buf section2. . Use the ap buffer zon tage 3: Cyc one and buf . while Pa ath2_line_n . . . ath1 for sect Figure 8.3 Buffer Zone nly distribu ate buffer zo each section ffer and pa pproach in C nes cle the wor ffer zone ath of work um) do Check if th If (never c Combine tion1 30: Buffer Zo e Path Cyclin ute workload one n into two z ath1_work fo Chapter 6 to rking zone k zone 2 is he X/t curves cross) do the tool pa one Path Cyc ng d to differen zones: buffe for section1 o find the CC path to avo not comple s of path1_b th of path1 ling for N ma nt nozzle (it r zone and and path2_ C-TSP tool p oid the coll etely cycled uffer and pa _buffer and achines system terative cutt working zon _buffer and ath for work lision betwe d (path2_wo ath2_work cr d path1_wor m ting) ne, now we path2_wor k zones as w een the wor ork_cycle_tim ross each oth rk to create 106 have rk for ell as rking me < her e tool 107 Combine the tool path of path2_buffer and path2_work to create tool path2 for section2 tool path1 and tool path 2 are collision- free paths for the multiple nozzle system 5. else (cross each other) Cycle the Path of work zone 2 (path2_work_cycle_time++), go to step 1. 6. end while (Cycling complete. no result is found). 108 Figure 8.31: Flowchart of Buffer Zone Path Cycling 8.4 Incorporating machine behavior within existing algorithms. Pre-planned tool paths are generated by approaches presented in this Chapter and are then fed to the Contour Crafting system. However, Contour Crafting is a complex system whose long term dynamics are difficult to predict. It is impossible to model all aspects of the interaction between the Contour Crafting system and the environment before the 109 execution of the construction project. Therefore, in reality predefined tool paths and machine coordination may not always work as desired since the Contour Crafting machine may have to stop during the construction for unexpected events. Machine behavior should be incorporated in the above approaches to guarantee a robust and collision-free system without comprising the construction efficiency. Each Contour Crafting machine should have the capability to process, sense and communicate with each other so that they are able to interact in order to coordinate their activities during independent operations. Coordinating a multiple machine system involves implementing task allocation and coordination mechanisms. Task allocation is the procedure to decompose the global task into sub-tasks and assign them to different machines. Coordination mechanisms enable the actions performed by each machine to take into consideration the actions of the other machines in a coherent operation. The global task in the construction that involves a multiple machine Contour Crafting system is to efficiently finish the construction. There are different ways to decompose the global task. Since in Contour Crafting construction the machine repeatedly layers down construction material to build different geometry elements, the global construction task can be divided into subtasks that construct different geometry elements or wall segments. In this case, each machine will look for new geometry elements to construct after finishing a task. Different machines build the wall segments one after another until no wall segment is left to be built in the same layer. However, decomposing the entire construction task into simple machine tasks of constructing different wall segments will increase the complexity of the coordination 110 mechanisms of the system. In order to avoid the collision with other machines, a machine needs to decide where and when to build the wall segments while it is looking for the next machine task. Where and when depend on the current status of other machines. Each machine also needs to know what the tasks are for the other machines. However, different geometry elements take different length of time to construct and the traveling time of the machine depends on the current position of the machine as well as the next destination of the machine. Therefore, the time span of a machine task has to be calculated dynamically during the operation. Thus, the coordination mechanism involves dynamic interplay decision making when the physical space and construction time are both considered as limited resources. The result may be found, but it is less focused on the efficiency aspect of the global task since it is difficult to involve the optimization mechanism with all constraints that can be changed dynamically. Under the hypothesis that nozzles must work on the same layer and gantries ride on the same pair of rails, the collision-free criteria between nozzles can be interpreted as a one dimensional constraint. The constraint dictates that the gantries can only be so close to each other at any given time. Therefore, an appropriate solution is to combine the machine behavior concept with the Buffer Zone Path Cycling approach. Here, the sub- task of the system is to construct the structure layout of either a buffer zone or a working zone. The global task is achieved when all zones in the same layer are constructed. Each individual machine acts as a task executor while the tool path planning module acts as the task coordinator. Buffer Zone Path Cycling method will be used to generate preplanned collision-free tool paths for different zones; the tool paths will be allocated to different 111 machines as their initial tasks. Each machine will first perform the task of constructing their buffer zone. Once the construction of their buffer zone is finished, the machine will consult with the task coordinator to decide if it should follow the preplanned tool path or the new path assigned by the task coordinator. (See Figure 8.32) Figure 8.32: Coordination of machines Assume that there are N machines in the system and the original structure is evenly divided into N sections. nozzle(i), section(i), buffer_zone(i) and working_zone(i) represent the i th machine, divided section, buffer zone and working zone respectively. Under the above buffer zone setting, we know that when a nozzle(i) is working on working_zone(i), it is always safe from the nozzle(i-1), which works in section (i-1), because buffer_zone(i) gives a cushion area for nozzle(i) and nozzle(i-1). However, 112 collisions may happen when nozzle(i) works on working_zone(i) and nozzle(i+1) works on buffer_zone (i+1) . Therefore, nozzle(i) should communicate with nozzle(i+1) before it moves on to working_zone(i). See Figure 8.33. Figure 8.33: Multiple machines collaboration in construction Following are the rules that a machine should follow to avoid collision: 1. When working on buffer_zone(i), nozzle(i) updates its status to the task coordinator at fix intervals so that the task coordinator knows if the nozzle(i) is working on schedule, is delayed or is malfunctioning. 2. When nozzle(i) finishes the construction in buffer_zone (i), it will check the zone information of nozzle(i+1), 3. If nozzle (i+1) is already in working_zone(i+1), nozzle(i) can proceed to working zone(i) according to the predefined tool path. nozzle(i) is free from collision in 113 the current layer since the buffer zone(i) and buffer zone(i+1) serve as cushion areas. 4. else (nozzle (i+1) is still in buffer zone(i+1)), nozzle(i) should proceed to working zone(i) with the new path assigned by the task coordinator. Following is the behavior of the task coordinator: 1. Receive the status from all nozzles at fix intervals. Compare these statuses with the preplanned schedule. 2. If nozzle(i+1) is delayed in the construction of buffer_zone(i+1), cycle the tool path of working_zone(i) in order to avoid the collision between nozzle(i) and nozzle(i+1), which is still working in the buffer_zone(i+1). 3. If a collision-free path can be found after the cycling, send it to nozzle(i) as the new tool path. 4. else (a collision-free path cannot be found). For instance, the delay of nozzle(i+1) is too long or it is stationary in buffer zone(i)), create an extra buffer zone inside the working zone(i) and next to buffer zone(i+1). Create a tool path for the remaining working zone(i) and send it to nozzle(i) as the new tool path. 114 Chapter 9: Analysis of Multiple Nozzle Tool Path Optimization The results of this study are based on a quantitative simulation of various housing structures. Structures have been selected with different levels of complexity as the simulation objects and used the related parameters and simulation results as the sample data. Given a structure layout to build, finding the optimal tool path for the Contour Crafting machine is dependent upon identifying the key operational determinants of the successful solution. Therefore, the purpose of this study is to find what will be the best solution as the optimal tool path planning for the Contour Crafting machine. Completed simulations of different structure layouts, from simple to complex, form the basis of the results of this chapter. The structure layouts of the samples are collected with different parameters, such as the width, the height of the layout and number of wall segments in the structure. The results of the simulations are presented below in a comparative format. Analysis for Multi Nozzle Tool Path Solutions Three algorithms given in Chapter 8 are: (1) auxiliary buffer zone; (2) path cycling; (3) buffer zone path cycling. The performance of these algorithms will be evaluated and compared in this chapter. Comparison targets are: 115 • Success rate in different methods • Performance in different methods, including overall construction time and the final total number of vertices obtained • Performance within the same method with different number of nozzles (2 or 3) • Performance within the same method with different gantry widths Success Rate Different approaches have different success rates of finding collision-free tool paths. Figure 9.1 shows the success rates of different approaches in the two nozzle case. Figure 9.1: Success rates of different approaches in the two nozzle case In this chart, the success rate bars are shown in different method groups. In each group, there are three bars representing the success rate with different gantry widths. 116 As noted earlier, even though the Global Path Cycling is a very straight forward solution and computationally inexpensive, the chance of directly finding collision-free tool paths by dividing the global path is low. Therefore, the bars in the Global path Cycling group are always lower than the other groups. On the other hand, the methods with the buffer zone have a much higher chance to find the solution for the multi nozzle system. They can reach 100% if the gantry width is small enough compared to the width of the structure layout. Another factor which affects the success rate is the number of nozzles that are applied to construct the specific layout. Figure 9.2 shows the success rates of different approaches in the three nozzle cases. Figure 9.2: Success rates of different approaches in the three nozzle case The success rate is lower than the previous chart even when the same structure layouts are used as in the simulation samples. Similar to the previous result, methods that 117 applied the buffer zone concept have a higher success rate, and a smaller gantry width increases the chance of finding collision-free tool paths as well. From both success rate charts above, we notice that the success rate of the Individual Path Cycling method is much higher than the one for Global Path Cycling and is a little bit lower than the methods applied the buffer zone concept. Performance in different Methods Total construction time, percentage of total construction time saved and number of vertices obtained will be used to compare the performance of the different methods. Total construction time: Figure 9.3 below compares the total construction time between the single path CC-TSP and Global Path Cycling applied in the two nozzle system. The vertical axis represents the number of wall segments in the structure layout from small to large. Figure 9.3: Comparison of Construction time between single nozzle and two nozzles 0 200 400 600 800 1000 1200 39 59 81 87 89 90 128 130 134 135 136 140 140 155 193 202 222 OnePath_CCTSP_TotalTime TwoPaths_Global Path Cycling_WorkTime 118 In general, the red bars are shorter than the blue ones. The total construction time has been shortened by using two nozzles instead of one. Figure 9.4 shows the percentage of total construction time saved when using two nozzles as opposed to using a single nozzle. Figure 9.4: Percentage saved of the total construction time between single nozzle and two nozzles On average, 47% of the total construction time has been saved when using the Method of Global Path Cycling. The construction time comparison between Single Path CC-TSP and Individual Path Cycling or Auxiliary Buffer Zone and Buffer Zone Path Cycling are shown below in Figure 9.5, 9.6, and 9.7, respectively. 0.00% 10.00% 20.00% 30.00% 40.00% 50.00% 60.00% 39 59 81 87 89 90 128 130 134 135 136 140 140 155 193 202 222 119 Figure 9.5: Comparison of total construction time between single nozzle (CC-TSP) and two nozzles (Individual Path Cycling) Figure 9.6: Comparison of total construction time between single nozzle (CC-TSP) and two nozzles (Auxiliary Buffer Zone) Figure 9.7: Comparison of total construction time between single nozzle (CC-TSP) and two nozzles (Buffer Zone Path Cycling) The multi nozzle system set up definitely improves the performance in total construction time. Figure 9.8 puts the four methods together and shows the percentage of time cost they save individually in the two nozzle case. 120 Figure 9.8: Percentage of construction time saved with four approaches in two nozzle case It’s clear that Global Path Cycling and Individual Path Cycling save more time than Auxiliary Buffer Zone and Buffer Zone Path Cycling. The performance of Individual Path Cycling is slightly better than Global Path Cycling while Buffer Zone Path Cycling performs slightly better than Auxiliary Buffer Zone. The average percentage saved in Individual Path Cycling is about 47% (range from 42% to 49%), which is very close to the 50% optimum. The average percentage saved in Buffer Zone Path Cycling is 37% (range from 18% to 43%). The performance differences in the three nozzle case are similar to the differences in the two nozzle case. Figure 9.9 shows the performance differences among the different approaches, yet the pool of sample data is smaller since the three nozzle case has a smaller success rate. 0.0% 10.0% 20.0% 30.0% 40.0% 50.0% 60.0% 39 59 81 87 89 90 128 130 134 135 136 140 140 155 193 202 222 Auxiliary Buffer Zone Global Path Cycling Individual Path Cycling Buffer Zone Path Cycling 121 Figure 9.9: Percentage of construction time saved with five approaches in three nozzle case Since Individual Path Cycling and Buffer Zone Path Cycling have a higher success rate, they generate much more data than Global Path Cycling. Therefore, Figure 9.10 shows the performance difference of these two approaches with more data. It is clear that Individual Path Cycling is performing better than Buffer Zone Path Cycling. Figure 9.10: Percentage of construction time saved between Individual Cycling and Buffer Zone Path Cycling in three nozzles case 30.0% 35.0% 40.0% 45.0% 50.0% 55.0% 60.0% 65.0% 70.0% 71 91 128 131 140 222 Global Path Cycling Individual Path Cycling Buffer Zone Path Cycling Individual Path Cycling Cutting Buffer Zone Path Cycling Cutting 122 Performance comparison between approaches based on separating and cutting As proposed earlier in Chapter 8, there are two types of dividing techniques. One is to cut the original structure with straight lines; new vertices are introduced in this method. The other is to separate the layout without introducing new vertices. Figure 9.11 shows the time difference of using different dividing techniques. Figure 9.11: The construction time difference between Separating and Cutting The performance of Individual Path Cycling (separating) and Individual Path Cycling Cutting are almost identical. In general, the red bar is slightly higher than the blue one. However, there are slightly more red bars than blue ones. This indicates that the cutting technique has a higher success rate to find the collision-free tool paths. Also from the Figure 9.12 below, we can see the cutting technique creates extra vertices, which might lower the construction quality of the structure. 0 100 200 300 400 500 600 20 30 39 46 59 62 69 71 81 87 89 91 104 122 123 130 133 135 140 146 157 177 194 205 213 271 Individual Path Cycling Individual Path Cycling Cutting 123 Figure 9.12: Difference of total vertices between Separating and Cutting Compared to the cutting technique, the separating technique performs better in construction efficiency and quality if the solution can be found. Using the same Method with different gantry widths The gantry width is one of the sensitive parameters which will affect the success rate of finding the solution. Performance differences when using different gantry widths should also be compared. Figure 9.13 shows the construction time difference when using the method of Individual Path Cycling with different gantry widths. Figure 9.13: Construction time difference with different gantry widths (Individual path Cycling) 0 100 200 300 400 500 600 700 20 30 39 46 59 62 69 71 81 87 89 91 104 122 123 130 133 135 140 146 157 177 194 205 213 271 Individual Path Cycling ‐Total Vertex Individual Path Cycling Cutting ‐ Total Vertex 0 100 200 300 400 500 600 700 71 81 83 89 128131135140140155157158177193194202205207213222271290 Width = 5 Width = 7.5 Width = 10 124 Figure 9.14 shows the construction time difference when using the method of Buffer Zone Path Cycling with different gantry widths. Figure 9.14: Construction time difference with different gantry widths (Buffer Zone Path Cycling) The above charts show that the construction time is almost independent of gantry width, provided that solutions are successfully found. Using the same Method with different number of nozzles (2 or 3) According to the discussion earlier in this chapter regarding the performance in different methods, we have found that Individual Path Cycling and Buffer Zone Path Cycling are methods that have higher success rates and better performances. In Figure 9.15, the green line represents the construction time calculated by CC- TSP with different structure layouts that have a different number of wall segments. The blue line represents the construction time calculated by Individual Path Cycling method for the two nozzle system, and the red line represents the construction time calculated by Individual Path Cycling method, but for the three nozzle system. 0 100 200 300 400 500 600 700 71 81 83 89 128131135140140155157158177193194202205207213222271290 Width = 5 Width = 7.5 Width = 10 125 Figure 9.15: Construction time difference among single nozzle, two nozzles and three nozzles (Individual Path Cycling) There is a spot where the value of the red line reaches zero, which means that a solution is not found in the case of the three nozzle system. There is large gap between the green line and the blue line, which means that by introducing the second nozzle, construction time can be dramatically saved. Introducing a third nozzle saves even more construction time, as represented by the red line. Figure 9.16 below shows Buffer Zone Path Cycling method when using a different number of nozzles. 126 Figure 9.16: Construction time difference among single nozzle, two nozzles and three nozzles (Buffer Zone Path Cycling) The graph shows that the success rate of the three nozzle case is higher. And the gaps between all three lines are not as larger as the gaps in the Figure 9.16 above. Overall, The method of Individual Path Cycling saves more construction time than Buffer Zone Path Cycling when using a two nozzle or three nozzle set up. Same Method in different Layouts As noticed earlier, the width of the structure layout is another factor that affects the success rate of finding the solutions in a multi-nozzle system. The experimentation results are sorted according to the width of the layout from small to large (the unit on the axis is feet). Then the performance (percentage of construction time saved) of the methods is compared in Figure 9.17 using a gantry width of 5 feet. 127 Figure 9.17: Percentage of construction time saved between Individual Path Cycling and Buffer Zone Cycling sorted with the width of the structure layout The chart shows that by using Individual Path Cycling instead of Buffer Zone Path Cycling, the structures have to be larger in order for the solution to be found. However, the performance of Individual Path Cycling is better than that of Buffer Zone Path Cycling. Workload in different sections Following charts show that the work loads are almost evenly distributed in different methods. Figure 9.18 shows the work load amount assigned to two nozzles. Figure 9.19 shows the work load amount assigned to three nozzles. 128 Figure 9.18: Workload distribution within two nozzles Figure 9.19: Workload distribution within three nozzles Conclusions After the foregoing discussions on the simulation results, we can conclude that Path Cycling methods could save more construction time than Buffer Zone Path Cycling methods. Buffer Zone Path Cycling always performs better than Auxiliary Buffer Zone, and the success rate of these two methods are almost the same. However, Buffer Zone Path Cycling method has a higher success rate of finding the solutions than Path Cycling. 129 Also, the larger number of wall segments a structure has, the easier it is to find the solution for the multi-nozzle system. Compared to the single nozzle case, the percentage of construction time saved in building larger structures using the multi-nozzle system is higher. Furthermore, the width of the structure layout is the critical factor for the success rate. C T re u th F F Chapter 1 The movemen estricted by t sing the ove hen perform igure 10.1). igure 10.1: T 0: Cr Sy nts of the no the overhead erhead system the optimiza Tool path pl ritical Pa ystem ozzles of the d platform th m is to separ ation algorit anning and o rameters overhead m hat carries th rate the origi thm describe optimization for the O multi-nozzle s hem. In this r inal layout in ed in Chapter n process of Overhead system (See research, the nto different r 8 for each overhead pla Platform Figure 10.2 e strategy of t sections, an section (see atform syste 130 m ) are f nd em 131 Figure 10.2: Overhead Platform system Several parameters are critical for the multiple-nozzle system with overhead platform. These parameters include the number of assembled nozzles, width and length of the overhead platform, speed of the gantry and nozzle, etc. All of these parameters can be varied and they impact the efficiency of the system. In addition, for buildings with different dimensions and layouts, parameters of the overhead platform system will have different impacts on the system efficiency. It is inconvenient to change the number of nozzles as well as the size of the overhead platform during the construction process. Hence, some features for the Contour Crafting machine need to be predefined if the machine is used to construct community or colony houses, which may have great similarity. A model can be developed to relate the features and efficiency of the system. Optimal values of the critical factors can then be achieved for constructing specific sets of structures. The following three steps are proposed to create such a model: 132 1. Factor Identification Features of the machine can be viewed as performance factors. To evaluate the performance, construction efficiency in time and energy as well as construction quality must be considered. But the impact of these factors probably cannot be detected directly. B. Asiabanpour, K.Palmer and B.Khoshnevis [Asi03, ABK03] have conducted some studies to determine the key performance factors in the SIS system [Kho03]. In the case of Contour Crafting, such parameters include the number of assembled nozzles, width and length of the overhead platform, speed of the gantry system, energy of operating the system, etc. Besides these features, the features of structures also need to be considered. These features relate to the geometry and topology of the structure, such as the dimension, complexity and number of vertical or horizontal wall segments. All features should be identified according to the system and structure characteristics. 2. Factor range determination Before performing the simulation, the range for each factor should be determined. Table 10.1 shows an example of the range of factors, which includes the minimum and maximum number of nozzles that can be carried by the system, maximum machine deposition and traveling speed, etc. The factor range can be determined by the system mechanics, material properties, and the design requirement of the system. 133 Table 10-1: Factors that impact the efficacy of the system 3. Statistically designed simulation Once the ranges of all of the factors are known, the step-size of performing simulations can be defined. Algorithms presented in Chapter 8 can be used to find the overall time and cost. Statistical analysis is used to find the behavior of the factors and their impact on the system efficiency. Critical factors can be found once the relationship between factors and efficiency of the system is defined. Optimal value or range of those critical factors can be achieved by fixing the other factors within certain ranges. The result can then be used for designing the system. An average construction layout is chosen as our sample case in order to show how to analyze the optimization result to determine the critical parameters for the overhead platform system. Variables Min Max Unit 1 Number of assembled gantries 1 10 number 2 Orientation of the gantries NA NA NA 3 Width of the gantries 1 10 feet 4 Width of the overhead Platform 15 80feet 5 Length of the overhead Platform 5 80 feet 6 Speed of X axis (deposit) 0.2 2foot/sec 7 Speed of Y axis (deposit) 0.2 2foot/sec 8 Speed of Z axis (deposit) 0.1 1foot/sec 9 Speed of X axis (idle) 0.2 4foot/sec 10 Speed of Y axis (idle) 0.2 3foot/sec 11 Speed of Z axis (idle) 0.11foot/sec 12 Width of the structure 1580feet 13 Length of the structure 15150feet 1 si fe en w d The O 94 wall segm ingle nozzle eet/sec when There ntire system width of the ifferent setu Original struc ments and 38 e machine is n idle and 1 f e are a few d m, such as th overhead p ups are presen cture layout 88 vertexes. s 841.5 sec ( foot/sec whe Figure different fac he orientatio platform and nted and com is 113 feet The total c (Assume tha en depositing e 10.3: Struct tors that wil on of the op d the gantry mpared. in width, 66 onstruction at the travel g concrete). ture layout ll affect the peration, the y widths (se 6 feet in heig time of a sin ling speed o See Figure 1 final machi e number of ee Figure 10 ght, and con ngle layer us of the nozzle 10.2. ine set up fo f the nozzles 0.3). Here, 134 ntains sing a e is 2 or the s, the some 135 Figure 10.4: Different overhead platform set ups According to the analysis result from the previous chapter, the three algorithms (Individual Path Cycling, Buffer Zone Path Cycling and Auxiliary Buffer Zone) progressively have a higher chance of converging towards a feasible solution. However, the extent of the optimization of their solutions progressively declines. Therefore, Individual Path Cycling would be first preferred, followed by Buffer Zone Path Cycling. If neither of those methods can find the solution, the method with a higher success rate, Auxiliary Buffer Zone, will be used. Besides, when the separating technique cannot 136 successfully find the tool paths for the machine, the cutting technique will be applied in a new trial. Solution Method Table By applying the methods to find the solution for different overhead sections based on the priority mentioned above, the solution table below is acquired. Table 10-2: Solution method table Figure 10.4 shows that in most of cases Individual Path Cycling can find the tool paths for different sections of the layout, but other methods still need to be applied in a few cases. Even though Auxiliary Buffer Zone has a high success rate to find the solution, some physical constraints (i.e. width of the divided sections is too small compared to the Part 1Part 2Part 1v Part 2v Part 1Part 2Part 3Part 1v Part 2v Part 3v 2 nozzles W = 2.5 A AAA AAA AAA 2 nozzles W = 5 A AAA AAA AAA 2 nozzles W = 7.5 A AAA D A C AAA 2 nozzles W = 10 A AAA E A E AAA 3 nozzles W = 2.5 A AAA AAA AAA 3 nozzles W = 5 AB CACA BA A A 3 nozzles W = 7.5 DB C A E D DB A A 3 nozzles W = 10 E C ED_ _ _ EDE A ‐ Individual Path Cycling B ‐ Individual Path Cycling Cutting C ‐ Buffer Zone Path Cycling D ‐ Buffer Zone Path Cycling Cutting E‐ Auxiliary Buffer Zone W ‐ Width Overhead Platform Width = 60 Overhead Platform Width = 40 Gantry Orientation is Vertical Gantry Orientation is Horizontal Gantry Orientation is Vertical Gantry Orientation is Horizontal 137 gantry width) will lead to no solution in some cases. This is represented by the white boxes above. Feasibility & Performance Comparisons Table There are three Tables for estimating purposes: ‐ Construction Time (System efficiency) ‐ Total Machine Time (Energy consumption) ‐ Total Vertices (Construction Quality) 138 Construction Time (System efficiency) Table 10-3: Comparison of the construction time in different overhead platform set ups The total construction time is calculated by obtaining the maximum running time of the individual nozzle, and then summing up the time of all the overhead sections. Obviously construction time is reduced if more nozzles are used. However, when three nozzles are applied, the construction time saved is only 20 ~ 26 % with set ups in the Number of Nozzles Orientation of the Gantry Width of Overhead Platform(Feet) Width of Gantry (Feet) 2 Vertical 60 2.5 433.3 ||||||||||||||||||||||||||||||||||||||||||| 2 Vertical 60 5 433.3 ||||||||||||||||||||||||||||||||||||||||||| 2 Vertical 60 7.5 433.3 ||||||||||||||||||||||||||||||||||||||||||| 2 Vertical 60 10 433.3 ||||||||||||||||||||||||||||||||||||||||||| 2 Horizontal 60 2.5 440.0 ||||||||||||||||||||||||||||||||||||||||||| 2 Horizontal 60 5 440.0 ||||||||||||||||||||||||||||||||||||||||||| 2 Horizontal 60 7.5 440.0 ||||||||||||||||||||||||||||||||||||||||||| 2 Horizontal 60 10 440.0 ||||||||||||||||||||||||||||||||||||||||||| 2 Horizontal 40 2.5 451.7 ||||||||||||||||||||||||||||||||||||||||||||| 2 Horizontal 40 5 451.7 ||||||||||||||||||||||||||||||||||||||||||||| 2 Horizontal 40 7.5 451.7 ||||||||||||||||||||||||||||||||||||||||||||| 2 Horizontal 40 10 451.7 ||||||||||||||||||||||||||||||||||||||||||||| 2 Vertical 40 2.5 476.3 ||||||||||||||||||||||||||||||||||||||||||||||| 2 Vertical 40 5 476.3 ||||||||||||||||||||||||||||||||||||||||||||||| 2 Vertical 40 7.5 579.1 ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 2 Vertical 40 10 609.1 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 3 Horizontal 60 2.5 319.6 ||||||||||||||||||||||||||||||| 3 Horizontal 40 2.5 321.3 |||||||||||||||||||||||||||||||| 3 Horizontal 40 5 321.3 |||||||||||||||||||||||||||||||| 3 Vertical 60 2.5 322.3 |||||||||||||||||||||||||||||||| 3 Horizontal 40 7.5 325.2 |||||||||||||||||||||||||||||||| 3 Vertical 60 5 340.2 |||||||||||||||||||||||||||||||||| 3 Horizontal 60 5 344.5 |||||||||||||||||||||||||||||||||| 3 Horizontal 60 7.5 350.7 ||||||||||||||||||||||||||||||||||| 3 Vertical 40 2.5 352.0 ||||||||||||||||||||||||||||||||||| 3 Horizontal 60 10 394.3 ||||||||||||||||||||||||||||||||||||||| 3 Vertical 40 5 406.0 |||||||||||||||||||||||||||||||||||||||| 3 Vertical 60 7.5 406.8 |||||||||||||||||||||||||||||||||||||||| 3 Vertical 60 10 424.6 |||||||||||||||||||||||||||||||||||||||||| 3 Horizontal 40 10 436.7 ||||||||||||||||||||||||||||||||||||||||||| 3 Vertical 40 7.5 552.6 ||||||||||||||||||||||||||||||||||||||||||||||||||||||| 3 Vertical 40 10 0.0 Construction Time 139 light green zone in the above table. The results in the light gray are not as efficient as two-nozzle results. From the above table, we note that a 60 feet overhead platform results in the minimum construction time in the two-nozzle case, but if the manufacturing cost is considered when designing the overhead platform, a 40-foot overhead platform would be the ideal option in this case. In the yellow zone in Table 10-3 the construction time is only about 4% more than the minimum construction time. The smaller overhead platform is more economical to manufacture and is easier to operate in this case. In the case of two nozzles using the 60 foot overhead platform, the vertically oriented gantry performs better than the horizontal one; under the 40 foot overhead platform, the horizontal gantry performs better than the vertical one. The gantry width should not be a big issue for the system performance, but it does affect the way to find the solution. Different approaches may have to be used when the width of gantries are different. The smaller gantry width will lead to the solution with the best performance method. 140 Total Machine Time (Energy consumption) Table 10-4: Comparison of the overall machine time in different overhead platform set ups The total machine time is calculated by summing up all of the total construction times of the individual nozzles and the total time spent in each over head platform construction section. Total machine time can be used to estimate the total energy consumed by the system. Number of Nozzles Orientation of the Gantry Width of Overhead Platform(Feet) Width of Gantry (Feet) 2 Vertical 60 2.5 862.5 ||||||||||||||||||||||||||||||||||||||||||| 2 Vertical 60 5 862.5 ||||||||||||||||||||||||||||||||||||||||||| 2 Vertical 60 7.5 862.5 ||||||||||||||||||||||||||||||||||||||||||| 2 Vertical 60 10 862.5 ||||||||||||||||||||||||||||||||||||||||||| 2 Horizontal 60 2.5 873.0 ||||||||||||||||||||||||||||||||||||||||||| 2 Horizontal 60 5 873.0 ||||||||||||||||||||||||||||||||||||||||||| 2 Horizontal 60 7.5 873.0 ||||||||||||||||||||||||||||||||||||||||||| 2 Horizontal 60 10 873.0 ||||||||||||||||||||||||||||||||||||||||||| 2 Horizontal 40 2.5 894.1 |||||||||||||||||||||||||||||||||||||||||||| 2 Horizontal 40 5 894.1 |||||||||||||||||||||||||||||||||||||||||||| 2 Horizontal 40 7.5 894.1 |||||||||||||||||||||||||||||||||||||||||||| 2 Horizontal 40 10 894.1 |||||||||||||||||||||||||||||||||||||||||||| 2 Vertical 40 2.5 937.5 |||||||||||||||||||||||||||||||||||||||||||||| 2 Vertical 40 5 937.5 |||||||||||||||||||||||||||||||||||||||||||||| 2 Vertical 40 7.5 1145.7 ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 2 Vertical 40 10 1205.7 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 3 Horizontal 60 2.5 930.4 |||||||||||||||||||||||||||||||||||||||||||||| 3 Horizontal 40 7.5 934.3 |||||||||||||||||||||||||||||||||||||||||||||| 3 Vertical 60 2.5 937.0 |||||||||||||||||||||||||||||||||||||||||||||| 3 Horizontal 40 2.5 938.6 |||||||||||||||||||||||||||||||||||||||||||||| 3 Horizontal 40 5 938.6 |||||||||||||||||||||||||||||||||||||||||||||| 3 Vertical 60 5 942.4 ||||||||||||||||||||||||||||||||||||||||||||||| 3 Horizontal 60 5 984.7 ||||||||||||||||||||||||||||||||||||||||||||||||| 3 Horizontal 60 7.5 989.1 ||||||||||||||||||||||||||||||||||||||||||||||||| 3 Vertical 40 2.5 1007.0 |||||||||||||||||||||||||||||||||||||||||||||||||| 3 Vertical 40 5 1098.9 |||||||||||||||||||||||||||||||||||||||||||||||||||||| 3 Vertical 60 7.5 1106.5 ||||||||||||||||||||||||||||||||||||||||||||||||||||||| 3 Horizontal 60 10 1131.1 |||||||||||||||||||||||||||||||||||||||||||||||||||||||| 3 Horizontal 40 10 1204.9 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 3 Vertical 60 10 1218.1 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 3 Vertical 40 7.5 1480.9 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 3 Vertical 40 10 0.0 Machine Time 141 When three nozzles are used, even the construction time is saved as shown in the previous Table 10-3, however, the total machine time actually costs more than the two nozzle cases as indicated in the Table 10-4. When using two nozzles, the 60 foot overhead platform offers the minimum total machine time. The 40 foot overhead platform costs about 3.7 % more machine time compared to the 60 foot cases. Total Vertices (Construction Quality) Number Orientation Width of Width of Total Vertexes 2 Vertical 60 2.5 388 |||||||||||||||||||||||||||||||| 2 Vertical 60 5 388 |||||||||||||||||||||||||||||||| 2 Vertical 60 7.5 388 |||||||||||||||||||||||||||||||| 2 Vertical 60 10 388 |||||||||||||||||||||||||||||||| 2 Horizontal 60 2.5 388 |||||||||||||||||||||||||||||||| 2 Horizontal 60 5 388 |||||||||||||||||||||||||||||||| 2 Horizontal 60 7.5 388 |||||||||||||||||||||||||||||||| 2 Horizontal 60 10 388 |||||||||||||||||||||||||||||||| 2 Vertical 40 2.5 388 |||||||||||||||||||||||||||||||| 2 Vertical 40 5 388 |||||||||||||||||||||||||||||||| 2 Horizontal 40 2.5 388 |||||||||||||||||||||||||||||||| 2 Horizontal 40 5 388 |||||||||||||||||||||||||||||||| 2 Horizontal 40 7.5 388 |||||||||||||||||||||||||||||||| 2 Horizontal 40 10 388 |||||||||||||||||||||||||||||||| 2 Vertical 40 7.5 398 ||||||||||||||||||||||||||||||||| 2 Vertical 40 10 406 ||||||||||||||||||||||||||||||||| 3 Vertical 60 2.5 388 |||||||||||||||||||||||||||||||| 3 Horizontal 60 2.5 388 |||||||||||||||||||||||||||||||| 3 Horizontal 60 5 388 |||||||||||||||||||||||||||||||| 3 Horizontal 60 7.5 388 |||||||||||||||||||||||||||||||| 3 Vertical 40 2.5 388 |||||||||||||||||||||||||||||||| 3 Horizontal 40 2.5 388 |||||||||||||||||||||||||||||||| 3 Horizontal 40 5 388 |||||||||||||||||||||||||||||||| 3 Horizontal 40 7.5 392 |||||||||||||||||||||||||||||||| 3 Vertical 40 5 404 ||||||||||||||||||||||||||||||||| 3 Vertical 60 5 422 ||||||||||||||||||||||||||||||||||| 3 Vertical 60 10 424 ||||||||||||||||||||||||||||||||||| 3 Horizontal 40 10 424 ||||||||||||||||||||||||||||||||||| 3 Horizontal 60 10 432 |||||||||||||||||||||||||||||||||||| 3 Vertical 60 7.5 456 |||||||||||||||||||||||||||||||||||||| 3 Vertical 40 7.5 476 ||||||||||||||||||||||||||||||||||||||| 3 Vertical 40 10 0 Table 10-5: Comparison of the total vertices in different overhead platform set ups 142 Table 10-5 shows that in most cases the vertex number does not increase, which means that the construction quality is not compromised. This also confirms that the Horizontal 40 foot overhead platform highlighted in yellow retains all of the original vertices. Final decision of the parameters for the overhead structure for the sample structure Since the construction layout we chose in this specific case is not a large scale structure, the two-nozzle machine set should be applied, considering that the construction time saved by the third nozzle set is not enough to consider using it. The three nozzle system uses more overall machine time and consumes more energy. Regardless of the manufacturing cost, the 60 foot overhead system could be chosen to yield the best performance. Otherwise, the 40 foot overhead would yield a reasonable performance and should be used in most cases. The horizontally oriented gantries should pair up with the 40 foot overhead platform for better performance. Therefore, we conclude that the two- nozzle, 40 foot horizontal overhead system better suits the construction of this structure. 143 Chapter 11: Conclusion and Recommendation for Future Research 11.1 Research summary This research is intended to provide a systematic methodology for process planning and optimization in order to efficiently construct complicated large-scale structures by Contour Crafting systems using single or multiple machines and other hardware configurations. This research is focused on finding the optimal tool path for 2.5 D structures. Structure models are first horizontally sliced into different layers; then tool path planning and optimization are performed on the layout of each layer of the structure. Nozzles of the Contour Crafting system are required to complete the construction of an entire layer before moving to the next one. Under these premises, edges and vertices are defined as the basic elements of the Contour Crafting tool path when edges represent the wall segments and vertices represent the intersections, corners or end points of the wall segments. Physical constraints of the technology are incorporated with construction considerations to define other tool path elements, such as Cost of Deposition, Cost of Travelling, Cost of Moving and Cost of Rotation. By defining tool path elements, the problem of tool path planning is converted into typical graph problems. Two approaches are given. The first one is to construct an 144 Euler Cycle by pair wise matching the odd-degree vertices of the original structure layout. The tool path will then be retrieved from the Euler Cycle by routing. However, this approach ignores the construction alternative between the odd-degree vertices. It also may not yield a correct result if there is ‘island topology’ in the structure layout. The second approach is to transfer the problem to a TSP (travelling salesman problem) structure by introducing a negative value to every two end points of each edge to obligate the optimal tool path to include every edge of the original structure. The Lin-Kernighan heuristic algorithm is used to find the TSP solution in this research. The CC-TSP proved to be the better solution for the problem because it considers all the construction alternatives and selects the best solution if the exact solution of the TSP is given. The heuristic TSP solver is used because it can find a solution with no more than 5% worse than the exact solution in a reasonable time for large scale TSP problems (fewer than 10000 vertices). In general, the solution found by the CC-TSP algorithm saved 45% of nozzle air time as opposed to the nearest point algorithm. More time is saved when the level of complexity of a structure is increased. Based on the optimization method for the single nozzle system, a two-step procedure is introduced in order to generate collision-free tool paths for the multi- machine Contour Crafting system. In the first step, the original structure is first evenly divided into different sections according to the number of nozzles involved in the construction. The workloads contained in each section are similar so that the waiting time of moving to the next layer is minimized for each individual nozzle. In the second step, the concept of buffer zones and path cycling are introduced to create collision-free tool 145 paths between sections. The buffer zone concept sets up a cushion area to prevent every pair of nozzles from getting too close to each other; the path cycling concept simply manipulates the construction sequence without compromising the construction efficiency. Three approaches that follow the two-step procedure are developed: Path Cycling, Buffer Zone Path Cycling and Auxiliary Buffer Zone. These approaches progressively have a higher chance of converging towards a feasible solution. However, the extent of optimization of their solutions progressively declines. Machine behavior is also incorporated with the buffer zone concept in order to guarantee a robust and collision- free system. 54 structure layouts with different levels of complexity were used to compare the result of different approaches. The results indicate that the Individual Path Cycling and Buffer Zone Cycling are methods with higher success rates and reasonable optimality. With a gantry width of 5 feet, the average percentage saved in Individual Path Cycling is about 47% (range from 42% to 49%). The average percentage saved in Buffer Zone Path Cycling is about 37% (range from 18% to 43%). There are two kinds of multi-machine Contour Crafting systems. The multiple gantry system consists of different individual gantries, and the overhead multi-nozzle system has an overhead platform that carries several gantries. Critical design parameters will significantly contribute to the construction efficiency of the overhead platform system. The number of assembled gantries, orientation of the gantries, width of the overhead platform and width of the gantry are the most important factors. For a given 146 structure, the optimal design parameters for the overhead platform system can be converged by using results generated by approaches in Chapter 8. 11.2 Research contribution The Contour Crafting construction processes, specifically the multi-machine construction, are different from other manufacturing or transportation applications. Tool path planning and optimization of the Contour Crafting has never been done before. The contribution of this research can be extracted as the following: 1. Translate the special features and process characteristics of Contour Crafting into mathematical modeling. 2. Relate the physical constraints of the Contour Crafting system to the defined tool path elements. 3. Present an computationally abstractive procedure of finding the optimal tool path of Contour Crafting by adapting the CPP approach. 4. Present a procedure of finding the exact solution of an optimal tool path of Contour Crafting by adapting the TSP approach. 5. Translate the unique physical constraints of the multiple-machine Contour Crafting system, in which both time and space are limited resources, into one dimensional space unified constraint. 6. Present methodologies to create collision-free paths for multiple gantry-like machine systems in order to prevent them from interfering with each other in operation. 147 7. Present a coordination mechanism that involves dynamic interplay decision making to deal with unexpected events. 8. Present a procedure of converging the critical design parameters for the overhead platform system 11.3 Recommendations for Future Research This research provides a systematic methodology to find the optimal tool path for Contour Crafting. Contour Crafting is an ongoing developing project with numerous advantages and future potentials. There will be more aspects to consider as the technology develops. Recommendations for the extension of this research are summarized as follows: 1. Tool path planning for the internal structure In this research, structure layouts are converted into edges and vertices as the basic element of the Contour Crafting tool path. Edges represent wall segments, and the vertices represent the intersections, corners or the end points of the wall segments. An optimal tool path is a tour that traverses all the edges in the shortest time. A wall segment built by the Contour Crafting machine may have external or internal structures. The current Contour Crafting machine builds a pair of parallel wall segments as the external structure and delivers material in a wavy motion between the parallel wall segments to build corrugated internal structures. External and internal structures are built by the same nozzle at different times. In the future, the machine may or may not construct the external 148 and internal structure of the wall segment at the same time, depending on the design of the nozzle. If both structures are built along with the motion of the nozzle at the same time, then the tool path planning and optimization procedure remains the same as this research. However, external and internal structures of the wall segments may need to be built by different nozzles or by the same nozzle at different times. The Contour Crafting machine can have different strategies in operation: it can finish all construction of the external structure, and then construct the internal structure in the same layer. It can also construct the external structure for certain wall segments, and then construct the internal structure for these wall segments. In the first case, tool path planning for the external structure and internal structure can be performed independently. In the second case, the tool path planning procedure for Contour Crafting is more complex because it involves more construction alternatives and constraints (such as the construction of the external structure must be built before the internal structure). Research specified for building the internal structure can be conducted based on the result of the current research. 2. Tool path planning and optimization for the support structure of Contour Crafting Similar to many other additive rapid prototyping technologies, the Contour Crafting construction needs sacrificial support structures in building of the overhead or inclined structures. The support structures should provide enough strength to prevent collapse or deformation of the structure during construction. Support structures need to be removed when the construction is finished. Since the material used to build the support structure 149 cannot be reused in further constructions, minimizing the material and time for building the support structure is a critical issue for the Contour Crafting technology. Support structure generation includes both geometry analysis and path planning. Material property must be accounted for in the geometry analysis because the material of the support structure may or may not be the same as the structure layout. Different materials lead to different geometry features as well as different tool paths for the support structure. Therefore, the research on support structure tool path may be conducted after deciding on what material to use for the support structure. 3. Tool path planning for 3D instead of 2.5 D structure layout The tool path planning for this research is focused on generating optimal tool paths in a layer-by-layer manner. 3D structures are first horizontally sliced into numbers of layers, and then the optimization performs on each layer. Nozzles are required to complete the construction in the same layer then move to the next one. This should not change the construction efficiency for the single nozzle system. In this research, it is assumed that by evenly distributing the workload of a layer to different nozzles, the construction efficiency is sufficient, because it minimize the waiting time of each nozzle. However, Contour Crafting has the capability to construct innovative structures, which may involve inclined slicing instead of horizontal slicing. In this case, performing the tool path planning in the three dimensional model is inevitable. The tool path planning of 3D structures is related not only to the issue of optimization but issues of feasibility and scheduling and it will be more complicated than the tool path planning of the 2.5 D 150 model. Future research will be needed to solve these issues in order to improve the efficiency of these models. 151 References [AB93] Alshawi, M. and Budeiri, M. (1993). "Graphical Simulation of Construction Sequence By Integrating CAD and Planning Packages", The International Journal of Construction Information Technology, Vol. 1, No 2, pp. 35-46. [AKT04] T.Akamatsul, A.Kaneshige and K.Terashima. "Real Time Path Planning Based on the Potential Method for an Autonomous Mobile Overhead Traveling Crane", 2004 IEEE International Symposium on Volume 1, Issue 4-7 May 2004 Page(s): 699 - 704 vol. 1 [APK03] Asiabanpour, B., Palmer, K., Khoshnevis, B., 2003,“Performance factors in the Selective Inhibition of Sintering process”, IIE Conference, Portland, OR. [Asi03] Asiabanpour, B., “An experimental study of factors affecting the Selective Inhibition of Sintering process”, 2003. [BA99] Silvia C. Botelho and Rachid Alami. M+: a scheme for multi-robot cooperation through negotiated task allocation and achievement. Proceedings of the IEEE International Conference on Robotics and Automation, pages 1234-1239, Detroit, Michigan, 10-15 May 1999. IEEE. [Bur92] Marshall Burns, Perspectives on Stereolithography. Stereolithography Users Group Conference and Annual Meeting - San Francisco, California - March 31, 1992. [CKC04] Luiz Chaimowicz, Vijay Kumar and Mario F. M. Campose. A paradigm for dynamic coordination of multiple robots. Autonomous Robots, 17(1):7-21, July 2004. [CLR90] Thomas H. Cormen, Charles E. Leiserson and Ronald L. Rivest, “Introduction to Algorithms,” The MIT Press, 1990, pp 465-467. [Con] Concorde TSP solver. http://www.tsp.gatech.edu/concorde.html [CSW03] K. Castellino, R. D’ Souza and P. Wright, “Tool-path Optimization for Minimizing Airtime during Machining”, Journal of Manufacturing Systems, v 22, n3, 2003, pp. 173-180. 152 [DMS03] Torbjorn S. Dahl, Maja J. Mataric and Gaurav S. Sukhatme. Multi-robot task allocation through vacancy chains. Proceedings of the IEEE International Conference on Robotics and Automation, pages 2293-2298, 14-19 Sept. 2003. [DS01] M. Bernardine Dias and Anthony Stentz. A market approach to multi- robotcoordination. Technical Report CMU-RI -TR-01-26, Carnegie Mellon University, August 2001. [DS02] M. Bernardine Dias and Anthony Stentz. Opportunistic optimization for market- based multirobot control. Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 2714-2720, Lausanne, Switzerland, October 2002. IEEE. [DS03] M. Bernardine Dias and Anthony Stentz. Traderbots: a market-based approach for resource, role, and task allocation in multirobot coordination. Technical Report CMU-RI-TR-03-19, Carnegie Mellon University, August 2003 [DSB06] D. Dimitrov, K. Schreve, N. de Beer, (2006), Advances in three dimensional printing – state of the art and future perspectives. Rapid Prototyping Journal, Volume: 12 Issue: 3 Page: 136 – 147. [FIN04] Alessandro Farinelli, Luca Iocchi and Daniele Nardi. Multirobot systems: a classification focused on coordination. IEEE Transactions on Systems, Man, and Cybernetics, 34(5):2015-2028, October 2004. [GM04] Brian P. Gerkey and Maja J. Mataric. A formal analysis and taxonomy of task allocation in multi-robot systems. International Journal of Robotics Research, 23(9):939-954, September 2004. [GM03] Brian P. Gerkey and Maja J. Mataric. Multi-robot task allocation: analyzing the complexity and optimality of key architectures. Proceedings of the IEEE International Conference on Robotics and Automation, pages 3862-3868, Taipei, Taiwan, R.O.C., 14-19 September 2003. IEEE. [Gre06] Grenda, E. (2006), The Most Important Commercial Rapid Prototyping Technologies at a Glance, 2006. [Hal02] Dr. Hale, Selective Laser Sintering, October 22, 2002 [Her04] Gyula Hermann, Real-Time 3D Tool Path Generation for Numerical Control,2004 153 [Hel00] K. Helsgaun, “An effective implementation of the Lin-Kernighan traveling salesman heuristic”, European Journal of Operational Research, vol. 126, no. 1, October 2000, pp. 106-130. [HJ99] Y.-K Han and C.-D Jang, “An Approach to Efficient Nesting and Cutting Path Optimization of Irregular Shapes”, Journal of ShipProduction, vol. 15, no. 3, August 1999, pp. 129-135. [IM84] S. Israni and U. Manber, “Pierce Point Minimization and Optimal Torch Path Determination in Flame Cutting”, Journal of Manufacturing Systems, vol. 3, no. 1, 1984, pp. 81-89. [Iss99] Issa, Raja R.A., Ed.(1999). State of the Art Report: Virtual Reality in Construction, International Council for Research and Innovation in Building and Construction (CIB). [JK03] Sungchul Jee, Taehoon Koo, (2003), Tool-path generation for NURBS surface machining. American Control Conference, 2003. Proceedings of the 2003 Volume 3, Issue , 4-6 June 2003 Page(s): 2614 - 2619 vol.3 [KB03] Khoshnevis, B. and G. Bekey. Automated Construction using Contour Crafting – Applications on Earth and Beyond. Journal of Rapid Prototyping, Vol 9, No 2, pp 1-8, 2003 . [Kho04] B Khoshnevis, Automated Construction by Contour Crafting – Related Robotics and Information Technologies. Journal of Automation in Construction – Special Issue: The best of ISARC 2002, Edited by W. C. Stone, Vol 13, Issue 1, January 2004, pp 5-19. [Kho03] B Khoshnevis, SIS – a new SFF method based on powder sisntering, Rapid Prototyping Journal, 2003, Vol. 9, No. 1, pp 30-36 [Kho99] B Khoshnevis, (1999) Contour Crafting - State of Development, Solid Freeform Fabrication Proceedings, 1999, pp 743-750. [KJ05] Oliver Koenig and Musa Jouaneh, Minimization of Airtime in Cutting and Welding Applications, International Conference on Robotics and Automation, Barcelona, Spain, April 2005 [Kwa62] Kwan, M. K. "Graphic Programming Using Odd or Even Points." Chinese Math. 1, 273-277, 1962. [LLKS85] E. L. Lawler and Jan Karel Lenstra and A. H. G. Rinnooy Khan and D. B. Shmoys (1985). The Traveling Salesman Problem: A Guided Tour of Combinatorial Optimization. 154 [LK73] S. Lin, S. and B. Kernighan, “An Effective Heuristic Algorithm for the Traveling Salesman Problem”, Operations Research, vol. 21, 1973, pp. 498-516. [Mat73] Matching, Euler Tours and the Chinese Postman, Math. Programming(5), 1973, pp. 88-124. [Meh05] Mehdi Mojdeh, Metallic parts Fabrication using the SIS process metallic parts, Ph.D. Dissertation, Daniel J. Epstein Department of Industrial and Systems Engineering, University of Southern California, 2005 [Nor93] Fabrice R. Noreils. Toward a robot architecture integrating cooperation between mobile robots: application to indoor environment. International Journal of Robotics Research, 12(1):79- 98, February 1993. [Par03] S. C. Park, “Tool-path generation for Z-constant contour machining,” Computer-Aided Design, Volume 35, Issue 1, 2003, pp 27-36 [PT06] Lynne E. Parker and Fang Tang. Building multirobot coalitions through automated task solution synthesis. Proceedings of the IEEE, 94(7):1289-1305, July 2006 [SL96] Y. N. Shen & F. Lombardi, “Graph Algorithms for Conformance Testing using the Rural Chinese Postman Tour,” SIAM Journal on Discrete Mathematics, 9(4):511–528, 1996. [SSHRS00] Reid Simmons, Sanjiv Singh, David Hershberger, Josue Ramos and Trey Smith. First results in the coordination of heterogeneous robots for large-scale assembly. In Experimental Robotics VII. vol. 271. Lecture Notes in Control and Information Sciences. Springer-Verlag, London, UK, pages 323-332, 2000. [TP03] K. Tang and A. Pang, “Optimal connection of loops in laminated object manufacturing”, CAD Computer Aided Design, vol. 35, no. 11, September 2003, pp 1011 – 1022. [Tra98] M. Trager, 1998 “Optimizing Laser Cutting”, Industrial Laser Review, [VA06a] Lovekesh Vig and Julie A. Adams. Multi-robot coalition formation. IEEE Transactions on Robotics, 22(4):637-649, August 2006 [VA06b] Lovekesh Vig and Julie A. Adams. Market-based multi-robot coalition formation. Proceedings of the International Symposium on Distributed Autonomous Robotic Systems, pages 227-236, Minneapolis/St. Paul, Minnesota, 12-14 July 2006. Springer-Verlag. [WM00] Barry B. Werger and Maja J. Mataric. Broadcast of local eligibility for multi- target observation. Proceedings of the International Symposium on Distributed 155 Autonomous Robotic Systems, pages 347-356, Knoxville, Tennessee, 4-6 October 2000. Springer-Verlag. [WMJC02] P. K. Wah, K. G. Murty, A. Joneja, and L. C. Chiu, Tool path optimization in layered manufacturing, IIE Transactions, Volume 34, Number 4, April 2002, pp. 335-347 [Yeh03] Z. Yeh, “Trowel-Path Planning For Contour Crafting”, Ph.D. Dissertation, Daniel J. Epstein Department of Industrial and Systems Engineering, University of Southern California, 2003 [ZSDT02] Robert Zlot, Anthony Stentz, M. Bernardine Dias and Scott Thayer. Multi-robot exploration controlled by a market economy. Proceedings of the IEEE International Conference on Robotics and Automation, pages 3016-3023, Washington, DC, 11-15 May 2002. IEEE. 156 Appendix A: Data of simulation result Table A-1:Simulation result date for single nozzle Width Height Line Vertex Deposit Time Total Time Air Time Total Time Air Time 1bed01 27 29 37 74 140.4 171.6 31.1 182.4 42.0 1bed02 21 19 44 88 119.7 141.1 21.5 165.7 46.1 1bed03 23 19 30 60 76.3 95.0 18.7 108.8 32.5 1bed05 18 22 20 40 83.0 104.5 21.5 110.3 27.3 1bed06 21 21 21 42 85.0 109.1 24.1 117.0 32.0 1bed07 31 28 46 92 111.0 148.6 37.6 192.5 81.5 1bed08 47 27 39 78 165.0 205.3 40.3 251.8 86.8 1bed09 36 26 37 74 177.0 208.3 31.3 228.7 51.7 2bed01 47 34 58 116 221.3 273.4 52.1 321.0 99.7 2bed02 34 40 62 124 201.5 242.4 40.9 281.5 80.1 2bed03 35 26 45 90 198.0 230.9 32.9 263.7 65.7 2bed04 46 49 69 138 317.8 377.5 59.6 447.4 129.6 2bed05 45 40 69 138 281.0 339.0 58.0 389.6 108.6 2bed06 48 46 59 118 322.0 381.5 59.5 408.7 86.7 2bed07 94 42 67 134 422.0 516.7 94.7 596.1 174.1 2bed08 94 40 62 124 390.5 473.7 83.3 553.6 163.1 3bed01 62 50 95 190 416.0 505.1 89.1 599.6 183.6 3bed02 64 47 104 208 387.0 471.5 84.5 554.6 167.6 3bed03 66 39 91 182 312.8 386.0 73.1 437.2 124.4 3bed04 90 59 76 152 539.3 650.4 111.1 771.7 232.4 3bed05 89 62 90 180 608.4 731.5 123.1 895.2 286.8 3bed06 91 62 87 174 654.0 763.5 109.5 905.0 251.0 3bed07 56 40 89 178 314.8 391.0 76.2 454.4 139.6 3bed08 74 51 112 224 404.3 494.9 90.5 587.1 182.7 4bed01 75 52 130 260 466.1 567.0 100.9 681.9 215.8 4bed02 77 51 134 268 457.7 562.4 104.7 691.9 234.2 4bed03 75 69 123 246 494.5 596.0 101.5 716.9 222.4 4bed04 74 74 146 292 540.9 674.7 133.8 826.9 286.0 4bed05 69 53 133 266 443.4 538.9 95.5 635.5 192.1 4bed06 74 59 123 246 499.8 594.2 94.4 699.0 199.2 4bed07 76 53 122 244 466.5 567.0 100.5 714.6 248.1 4bed08 81 72 136 272 453.1 575.1 122.0 648.0 194.9 5bed01 142 59 290 580 907.0 1091.9 184.9 1283.2 376.2 5bed02 148 47 222 444 965.3 1099.6 134.2 1363.2 397.8 5bed03 102 74 158 316 696.6 812.9 116.3 965.7 269.1 5bed04 113 66 194 388 678.5 841.5 163.0 1012.4 333.9 5bed05 89 79 205 410 805.0 962.9 157.9 1086.1 281.1 5bed06 76 47 155 310 469.7 579.8 110.1 715.9 246.2 5bed07 143 79 193 386 770.6 941.2 170.6 1128.8 358.2 5bed08 110 71 207 414 703.8 882.7 178.8 1065.1 361.3 Mhouse01 78 22 71 142 241.5 315.1 73.6 376.7 135.1 Mhouse02 89 67 140 280 596.8 718.2 121.4 836.6 239.7 Mhouse03 131 34 140 280 590.1 715.7 125.7 851.4 261.3 Mhouse04 49 51 135 270 392.9 498.2 105.3 587.5 194.6 Mhouse05 62 59 177 354 495.9 625.6 129.7 751.4 255.5 Mhouse06 93 74 213 426 859.5 1025.6 166.1 1234.4 374.9 Mhouse07 87 58 202 404 605.6 777.2 171.6 945.2 339.6 Mhouse08 126 52 271 542 919.3 1129.0 209.7 1324.6 405.3 Thouse01 70 74 81 162 684.0 800.4 116.3 928.2 244.1 Thouse02 66 31 83 166 257.4 333.1 75.6 388.5 131.1 Thouse03 72 27 89 178 265.8 340.1 74.3 402.2 136.4 Thouse04 102 46 128 256 609.0 732.0 123.0 851.1 242.1 Thouse05 104 50 157 314 622.1 758.8 136.7 934.8 312.7 Thouse06 145 50 131 262 703.7 849.7 146.1 975.4 271.7 Properties OnePath CCTSP OnePath NP 157 Table A-2: Simulation result data for two nozzle case (Width = 5) Total_V Total_T Total_V Total_T Total_V Total_T Total_V Total_T Total_V Total_T Total_V Total_T 1bed01 0 0 0 0.0 0 0.0 74 257.2 86 247.6 86 247.6 1bed02 0 0 0 0.0 0 0.0 0 0.0 106 183.3 106 183.3 1bed03 0 0 60 106.0 0 0.0 60 136.3 76 144.5 78 166.8 1bed05 0 0 40 114.5 40 113.7 0 0.0 48 149.1 50 163.5 1bed06 0 0 42 120.7 44 124.0 0 0.0 0 0.0 54 184.2 1bed07 0 0 92 157.8 98 157.8 92 203.3 0 0.0 104 218.3 1bed08 78 203.31 78 203.3 80 205.3 78 300.2 86 297.1 90 296.6 1bed09 0 0 74 220.4 78 220.6 74 287.6 88 307.4 88 307.4 2bed01 0 0 116 277.6 122 281.4 116 355.2 134 353.4 134 353.4 2bed02 0 0 0 0.0 130 250.5 124 358.7 128 303.7 136 299.5 2bed03 0 0 90 242.9 98 243.8 90 296.0 110 308.2 116 336.9 2bed04 0 0 138 398.4 150 398.2 138 472.0 168 463.8 172 542.2 2bed05 0 0 138 340.9 144 342.2 138 423.7 158 440.6 166 395.3 2bed06 118 414.56 118 381.5 120 382.4 118 473.2 128 474.6 130 488.3 2bed07 0 0 134 520.2 138 520.2 134 571.5 144 578.8 144 578.8 2bed08 0 0 124 487.0 130 499.8 124 570.5 136 585.4 140 598.5 3bed01 0 0 190 515.1 196 514.3 190 598.5 204 626.2 204 626.2 3bed02 0 0 208 476.2 212 480.2 208 581.5 222 612.7 222 612.7 3bed03 0 0 182 400.3 184 400.4 182 445.1 192 495.6 192 495.6 3bed04 0 0 152 671.8 160 670.7 152 809.3 170 791.8 170 791.8 3bed05 180 777.54 180 752.8 190 754.8 180 864.8 208 938.1 214 940.4 3bed06 174 811.87 174 773.2 182 773.8 174 870.1 196 885.2 210 948.9 3bed07 178 420.03 178 398.1 188 400.1 178 479.2 206 489.5 206 513.0 3bed08 0 0 224 504.3 232 502.9 224 574.0 240 568.6 240 568.6 4bed01 260 619.35 260 578.9 264 583.1 260 653.1 272 665.4 272 665.4 4bed02 268 606.64 268 583.0 276 584.3 268 644.2 278 653.6 278 653.6 4bed03 0 0 246 618.0 248 617.0 246 666.2 252 707.8 252 707.8 4bed04 0 0 292 692.2 302 711.4 292 757.5 304 775.3 312 831.1 4bed05 0 0 266 549.5 268 549.1 266 621.0 280 638.0 286 673.0 4bed06 0 0 246 613.0 254 612.4 246 693.6 266 712.2 268 706.2 4bed07 0 0 244 583.0 250 593.3 244 655.7 256 671.7 256 671.7 4bed08 272 615.59 272 593.1 280 593.7 272 663.8 294 689.9 292 673.8 5bed01 0 0 580 1090.3 586 1097.5 580 1229.9 588 1215.9 588 1215.9 5bed02 444 1195.6 444 1123.4 454 1121.6 444 1277.5 470 1252.6 474 1264.3 5bed03 0 0 316 821.9 330 833.1 316 957.1 360 957.9 360 957.9 5bed04 0 0 388 857.6 392 856.3 388 933.4 398 961.4 398 961.4 5bed05 0 0 410 994.6 426 995.9 410 1120.9 430 1115.3 434 1119.2 5bed06 310 613.27 310 584.6 314 593.3 310 666.2 322 694.9 322 694.9 5bed07 386 1017.5 386 946.8 392 952.8 386 1080.9 400 1068.4 400 1068.4 5bed08 0 0 414 896.9 416 896.8 414 974.4 426 1006.5 426 1006.5 Mhouse01 0 0 142 323.6 146 322.7 142 392.9 156 375.0 156 375.0 Mhouse02 280 751.14 280 739.5 288 731.1 280 820.2 300 859.9 300 859.9 Mhouse03 280 737.1 280 729.5 288 728.3 280 827.7 298 843.1 298 843.1 Mhouse04 270 516.95 270 497.0 270 497.0 270 594.6 296 589.2 296 589.2 Mhouse05 0 0 354 628.8 354 620.1 354 723.9 370 706.8 368 714.5 Mhouse06 0 0 426 1032.1 432 1037.7 426 1215.6 454 1203.0 462 1285.1 Mhouse07 404 819.14 404 786.8 412 789.1 404 901.4 434 906.5 434 955.9 Mhouse08 0 0 542 1142.3 550 1140.6 542 1278.7 564 1242.4 564 1242.4 Thouse01 162 824.65 162 805.4 162 805.4 162 986.2 212 935.4 212 935.4 Thouse02 0 0 166 353.1 170 347.8 166 398.6 176 412.6 176 402.4 Thouse03 0 0 178 346.5 188 352.8 178 435.6 188 441.1 192 457.9 Thouse04 256 739 256 754.2 266 752.5 256 836.6 278 850.0 278 850.0 Thouse05 0 0 314 766.1 320 766.9 314 852.4 324 907.9 324 907.9 Thouse06 0 0 262 859.4 266 860.7 262 1025.8 280 1011.8 280 1011.8 ABZ ZPCC GPC IPC IPCC BZPC 158 Table A-3: Simulation result for three nozzle case (Width = 5) Total_V Total_T Total_V Total_T Total_V Total_T Total_V Total_T Total_V Total_T 1bed01 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 1bed02 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 1bed03 0 0.0 0 0.0 0 0.0 0 0.0 80 199.4 1bed05 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 1bed06 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 1bed07 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 1bed08 0 0.0 78 222.9 88 221.4 78 291.3 98 317.8 1bed09 0 0.0 0 0.0 86 241.9 0 0.0 100 321.6 2bed01 0 0.0 116 295.9 128 304.6 116 372.9 134 390.5 2bed02 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 2bed03 0 0.0 0 0.0 100 246.9 90 320.5 118 339.3 2bed04 0 0.0 0 0.0 148 413.1 0 0.0 162 545.6 2bed05 0 0.0 138 359.4 148 363.3 138 463.9 172 475.9 2bed06 0 0.0 0 0.0 0 0.0 118 546.8 152 570.0 2bed07 0 0.0 134 551.2 148 550.4 134 669.0 158 688.3 2bed08 0 0.0 124 503.6 136 507.2 124 622.2 154 617.6 3bed01 0 0.0 190 543.4 206 552.4 190 653.9 224 664.9 3bed02 0 0.0 208 504.7 204 488.4 208 623.5 218 612.3 3bed03 182 433.4 182 399.0 194 399.7 182 472.2 210 503.8 3bed04 0 0.0 152 688.7 166 687.5 152 929.5 192 968.6 3bed05 0 0.0 180 756.5 192 761.8 180 930.1 218 964.3 3bed06 0 0.0 174 792.4 196 799.6 174 960.6 222 978.1 3bed07 0 0.0 178 416.8 188 417.4 178 518.7 208 539.6 3bed08 0 0.0 224 536.2 232 530.3 224 636.9 246 702.7 4bed01 0 0.0 260 599.9 274 600.5 260 712.7 296 734.3 4bed02 0 0.0 0 0.0 280 584.4 268 690.7 292 684.2 4bed03 0 0.0 246 651.2 264 645.8 246 797.0 272 800.1 4bed04 0 0.0 292 721.1 0 0.0 292 852.4 318 934.6 4bed05 0 0.0 266 569.1 280 576.4 266 663.3 298 710.6 4bed06 0 0.0 246 623.9 258 631.8 246 731.8 268 777.1 4bed07 0 0.0 244 597.7 260 597.0 244 710.1 278 750.6 4bed08 0 0.0 272 593.8 278 595.3 272 773.9 288 791.3 5bed01 0 0.0 580 1101.5 598 1116.3 580 1210.9 614 1215.5 5bed02 444 1175.9 444 1114.6 454 1118.5 444 1288.3 480 1295.6 5bed03 0 0.0 316 858.4 336 868.4 316 1030.4 354 1017.2 5bed04 0 0.0 388 871.6 394 873.1 388 965.0 404 1056.8 5bed05 0 0.0 410 1015.2 436 1018.9 410 1233.8 452 1189.3 5bed06 0 0.0 0 0.0 326 620.1 310 735.3 342 745.0 5bed07 0 0.0 386 993.0 402 992.1 386 1146.4 410 1131.4 5bed08 0 0.0 414 926.4 418 913.6 414 1104.1 430 1077.5 Mhouse01 142 343.0 142 324.7 142 306.8 142 387.1 188 475.8 Mhouse02 0 0.0 0 0.0 294 763.7 0 0.0 318 926.3 Mhouse03 280 777.4 280 726.4 290 722.8 280 816.4 308 834.4 Mhouse04 0 0.0 270 525.9 286 531.0 270 650.2 320 727.1 Mhouse05 0 0.0 354 653.3 384 658.4 354 774.5 408 824.1 Mhouse06 0 0.0 426 1080.5 444 1078.3 426 1250.4 482 1349.6 Mhouse07 0 0.0 404 798.6 414 793.6 404 920.7 456 1012.4 Mhouse08 0 0.0 542 1157.2 548 1138.8 542 1262.2 568 1278.4 Thouse01 0 0.0 162 826.0 170 840.9 162 1013.8 192 1030.9 Thouse02 0 0.0 166 345.7 172 341.7 166 437.1 184 422.2 Thouse03 0 0.0 178 363.5 196 364.0 178 453.1 212 445.7 Thouse04 256 790.5 256 753.6 270 764.1 256 869.5 286 897.4 Thouse05 0 0.0 314 771.6 320 762.4 314 891.1 348 943.0 Thouse06 262 946.3 262 877.5 268 875.8 262 1046.7 288 1028.0 BZPCC‐3M BZPC‐3M GPC ‐ 3M IPC ‐ 3M IPCC‐3M 159 Table A-4:Simulation result for two nozzle case (Width = 7.5) Total_VTotal_TTotal_VTotal_TTotal_VTotal_TTotal_VTotal_TTotal_VTotal_TTotal_VTotal_T 1bed01 0 0 0000 0 0 0 0 86 218.64 1bed02 0 0 0000 0 0 0 0 110 196.48 1bed03 0 0 0000 0 0 74 160.451 74 169.29 1bed05 0 0 0000 0 0 0 0 48 160.5 1bed06 0 0 0 0 44 124 0 0 0 0 52 171.63 1bed07 0 0 0000 92 216.316 0 0 104 201.3 1bed08 0 0 78 214.28 78 203.31 78 278.85 88 260.361 88 262.36 1bed09 0 0 74 220.44 78 220.56 0 0 90 301.434 90 301.43 2bed01 0 0 116 277.64 122 281.4 116 325.846 126 337.607 126 337.61 2bed02 0 0 0 0 130 250.49 124 325.465 138 323.701 144 318.05 2bed03 0 0 90 242.91 0 0 90 298.535 110 293.809 118 352.8 2bed04 0 0 138 398.4 150 398.2 138 465.067 162 483.073 166 507.65 2bed05 0 0 138 340.93 144 342.16 138 439.083 158 436.612 160 454.41 2bed06 0 0 118 381.53 120 382.42 118 496.903 132 498.943 132 498.94 2bed07 0 0 134 520.2 138 520.2 134 588.146 146 586.844 146 586.84 2bed08 0 0 124 486.99 130 499.77 124 555.034 136 599.282 142 649.73 3bed01 0 0 190 515.07 196 514.3 190 612.187 210 613.86 210 613.86 3bed02 0 0 208 476.19 212 480.19 208 587.923 222 572.643 222 572.64 3bed03 0 0 182 400.32 184 400.39 182 458.27 198 461.604 198 461.6 3bed04 0 0 152 671.75 160 670.72 152 818.162 174 797.458 174 802.13 3bed05 180 777.54 180 752.83 190 754.84 180 909.321 204 899.189 210 910.44 3bed06 174 811.87 174 773.2 182 773.76 174 914.746 198 946.331 198 946.33 3bed07 0 0 178 398.1 188 400.14 178 478.391 204 473.229 206 504.54 3bed08 0 0 224 505.98 232 502.86 224 582.468 248 581.729 246 604.31 4bed01 0 0 260 578.9 264 583.15 260 662.929 276 669.009 276 669.01 4bed02 268 606.64 268 582.99 276 584.3 268 664.409 294 669.056 294 669.06 4bed03 0 0 246 617.96 248 617.02 246 723.282 248 706.648 248 706.65 4bed04 0 0 292 692.2 302 711.38 292 823.189 310 815.025 324 847.87 4bed05 0 0 266 549.49 268 549.09 266 647.191 276 650.729 278 684.74 4bed06 0 0 246 613.03 252 611.34 246 693.179 264 702.199 272 693.09 4bed07 0 0 244 583.04 250 593.35 244 652.384 264 666.526 264 666.53 4bed08 272 615.59 272 593.11 280 593.73 272 645.588 286 691.826 296 676.73 5bed01 0 0 580 1090.3 586 1097.5 580 1226.41 596 1168.38 596 1168.4 5bed02 444 1195.6 444 1123.4 454 1121.6 444 1272.85 470 1277.41 476 1282 5bed03 0 0 316 821.93 330 833.06 316 951.68 346 943.526 350 970.7 5bed04 0 0 388 857.61 392 856.32 388 1012.52 410 986.183 410 986.18 5bed05 0 0 410 994.6 426 995.88 410 1147.23 438 1142.84 448 1170.9 5bed06 310 613.27 310 584.55 314 593.3 310 706.469 324 714.227 324 714.23 5bed07 386 1017.5 386 946.83 392 952.76 386 1039.75 404 1062.99 404 1063 5bed08 0 0 414 896.94 416 896.76 414 985.161 432 1004.73 432 1004.7 Mhouse01 0 0 142 323.61 146 322.75 142 396.078 156 383.817 156 383.82 Mhouse02 0 0 280 739.48 288 731.14 280 834.984 300 823.815 296 830.85 Mhouse03 0 0 280 729.53 288 728.31 280 770.5 300 823.174 300 823.17 Mhouse04 0 0 270 497.03 270 497.03 270 563.675 292 599.202 292 599.2 Mhouse05 0 0 354 628.84 354 620.06 354 752.971 374 738.791 384 774.73 Mhouse06 0 0 426 1032.1 432 1037.7 426 1164.39 454 1217.88 466 1237.5 Mhouse07 0 0 404 786.81 412 789.11 404 875.748 442 904.288 442 904.29 Mhouse08 0 0 542 1142.3 550 1140.6 542 1248.44 570 1251.66 570 1251.7 Thouse01 162 824.65 162 805.39 162 805.39 210 991.825 182 966.074 182 966.07 Thouse02 0 0 166 353.06 170 347.77 166 391.588 178 399.028 178 399.03 Thouse03 0 0 178 346.46 188 352.85 178 418.565 192 430.667 196 433.63 Thouse04 0 0 256 754.17 266 752.46 256 796.183 282 836.861 282 836.86 Thouse05 0 0 314 766.11 320 767.78 314 882.195 340 866.555 340 866.56 Thouse06 0 0 262 859.36 266 860.74 262 961.722 282 986.954 282 986.95 BZPCC ABZ GPC IPC IPCC BZPC 160 Table A-5:Simulation result for three nozzle case (Width = 7.5) Total_V Total_T Total_V Total_T Total_V Total_T Total_V Total_T Total_V Total_T 1bed01 0000 0 0 0000 1bed02 0000 0 0 0000 1bed03 0000 0 0 0000 1bed05 0000 0 0 0000 1bed06 0000 0 0 0000 1bed07 0000 0 0 0000 1bed08 0 0 78 222.89 0 0 78 283.64 96 277.13 1bed09 0000 0 0 0000 2bed01 0000 0 0 00 138390.97 2bed02 0000 0 0 0000 2bed03 0000 0 0 0000 2bed04 0000 0 0 0000 2bed05 0000 0 0 138478.97168472.25 2bed06 0000 0 0 00 152601.58 2bed07 0 0 134 551.18 148 550.38 134 662.63 162 666.79 2bed08 0 0 124 503.55 136 507.16 0 0 152 627.08 3bed01 0 0 190 543.45 0 0 190 640.9 224 656.79 3bed02 0 0 208 504.66 204 488.39 0 0 224 592.33 3bed03 182 431.53 182 398.95 194 399.73 182 476.13 206 490.28 3bed04 0 0 152 688.72 0 0 152 894.28 194 886.16 3bed05 0 0 180 756.5 192 761.8 180 955.37 210 959.85 3bed06 0 0 174 792.36 196 799.57 174 941.7 222 1010.8 3bed07 0000 0 0 178503.17204543.31 3bed08 0 0 224 536.22 232 530.31 224 651.24 252 698.01 4bed01 0 0 260 599.92 274 600.48 260 745.33 290 723.18 4bed02 0000 280584.37268 695 298696.88 4bed03 0 0 246 651.22 264 645.83 246 780.32 272 784.42 4bed04 0 0 292 721.14 0 0 292 874.77 322 893.49 4bed05 0 0 266 569.12 280 576.43 266 675.8 298 702.72 4bed06 0 0 246 623.93 0 0 246 742.33 270 760.76 4bed07 0000 260597.01244716.87276748.97 4bed08 0000 278595.26272771.41298749.48 5bed01 0 0 580 1101.5 598 1116.3 580 1223.1 620 1233.7 5bed02 444 1169.9 444 1114.6 454 1118.5 444 1248.1 476 1270.9 5bed03 0 0 316 858.41 336 868.37 316 1045.5 366 1082.1 5bed04 0 0 388 871.58 394 873.08 388 999.18 412 1013.5 5bed05 0 0 410 1015.2 436 1018.9 410 1235.8 462 1186.2 5bed06 0000 0 0 310730.22348738.52 5bed07 0 0 386 993 402 992.11 386 1185.4 420 1153.2 5bed08 0 0 414 926.44 418 913.55 414 1084.8 436 1071.3 Mhouse01 142 348.44 142 324.7 142 306.81 142 379.1 196 524.11 Mhouse02 0000 0 0 00 316940.63 Mhouse03 280 777.44 280 726.42 290 722.75 280 833.07 308 851.22 Mhouse04 0000 0 0 0000 Mhouse05 0000 0 0 00 402 808.9 Mhouse06 0 0 426 1080.5 444 1078.3 426 1266 474 1271.2 Mhouse07 0 0 404 798.59 414 793.56 404 943.87 442 916.75 Mhouse08 0 0 542 1157.2 548 1138.8 542 1262.3 568 1295.4 Thouse01 0000 0 0 1621009.9190 1050 Thouse02 00 166345.68172341.65 0000 Thouse03 0 0 178 363.49 196 364.04 178 461.84 212 465.15 Thouse04 256 790.55 256 753.61 270 764.15 256 893.87 284 921.14 Thouse05 0 0 314 771.56 320 762.36 314 926.32 366 960.49 Thouse06 262 946.32 262 877.5 268 875.76 262 1026.9 288 1053.5 BZPC‐3M BZPCC‐3M GPC‐3M IPC‐3M IPCC‐3M 161 Table A-6: Simulation result for two nozzle case (Width = 10) Total_V Total_T Total_V Total_T Total_V Total_T Total_V Total_T Total_V Total_T Total_V Total_T 1bed01 0 0 0 00000 00 80 218.49 1bed02 0 0 0 00000 00 232 498.07 1bed03 0 0 0 00000 00 192 457.76 1bed05 0 0 0 00000 00 58 224.11 1bed06 0 0 0 00000 00 52 180.75 1bed07 0 0 0 00000 00 212 478.15 1bed08 0 0 78 214.28 78 203.31 78 290.11 84 261.62 88 291.6 1bed09 0 0 0 0 78 220.56 0 0 0 0 90 300.09 2bed01 0 0 116 277.64 122 281.4 0 0 0 0 126 327.92 2bed02 0 0 0 0 0 0 124 333.02 140 315.17 148 388.92 2bed03 0 0 0 00000 112 312.54 120 289.93 2bed04 0 0 138 398.4 150 398.2 0 0 162 469.72 170 535.41 2bed05 0 0 138 340.93 144 342.16 138 424.48 162 470.44 162 487.47 2bed06 0 0 118 381.53 120 382.42 118 473.2 132 509.74 132 509.74 2bed07 0 0 134 520.2 138 520.2 134 615.67 148 608.55 148 608.55 2bed08 0 0 124 486.99 130 499.77 124 555.03 136 598.29 138 601.97 3bed01 0 0 190 515.07 196 514.3 190 590.66 216 607.92 216 607.92 3bed02 0 0 208 476.19 212 480.19 208 574.91 222 564.11 222 564.11 3bed03 0 0 182 400.32 184 400.39 182 468.32 190 426.05 190 426.05 3bed04 0 0 152 671.75 160 670.72 152 765.89 168 821.28 168 821.28 3bed05 180 777.54 180 752.83 190 754.84 180 881.86 204 889.17 210 946.56 3bed06 174 811.87 174 773.2 182 773.76 174 928.39 204 900.94 214 931.1 3bed07 0 0 178 398.1 188 400.14 178 463.97 196 468.71 198 499.95 3bed08 0 0 224 505.98 232 502.86 224 582.16 242 591.74 240 593.91 4bed01 0 0 260 578.9 264 583.15 260 682.64 274 673.55 274 673.55 4bed02 268 606.64 268 582.99 276 584.3 268 681.81 294 709.14 298 697.92 4bed03 0 0 246 617.96 248 617.02 246 690.49 260 697.37 260 697.37 4bed04 0 0 292 692.2 302 711.38 292 785.58 314 819.27 324 830.42 4bed05 0 0 266 549.49 268 549.09 266 605.49 282 646.05 286 664.02 4bed06 0 0 246 613.03 252 611.34 246 684.39 266 747.19 274 745.86 4bed07 0 0 244 583.04 250 593.35 244 663.7 260 667.54 260 667.54 4bed08 272 615.59 272 593.11 280 593.73 272 649.83 288 659.61 288 678.78 5bed01 0 0 580 1090.3 586 1097.5 580 1222.4 592 1194.7 592 1194.7 5bed02 444 1195.6 444 1123.4 454 1121.6 444 1228.6 468 1241.9 472 1250.2 5bed03 0 0 316 821.93 330 833.06 316 960.84 346 938.9 352 985.42 5bed04 0 0 388 857.61 392 856.32 388 977.81 408 1044 408 1044 5bed05 0 0 410 994.6 426 995.88 410 1131 446 1143.7 450 1151.7 5bed06 310 613.27 310 584.55 314 593.3 310 698.89 322 687.8 322 687.8 5bed07 0 0 386 946.83 392 952.76 386 1083.3 408 1097.5 408 1097.5 5bed08 0 0 414 896.94 416 896.76 414 1029.9 430 1025.7 430 1025.7 Mhouse01 0 0 142 323.61 146 322.75 142 399.37 156 376.86 156 376.86 Mhouse02 0 0 280 739.48 288 731.14 280 845.14 298 837.14 298 837.14 Mhouse03 0 0 280 729.53 288 728.31 280 827.7 300 816.38 300 816.38 Mhouse04 0 0 270 497.03 270 497.03 270 594.61 292 574.99 292 574.99 Mhouse05 0 0 354 628.84 354 620.06 354 709.54 376 698.87 386 740.71 Mhouse06 0 0 426 1032.1 432 1037.7 426 1171.1 448 1192.5 456 1290.9 Mhouse07 0 0 404 786.81 412 789.11 404 931.24 420 856.46 420 856.46 Mhouse08 0 0 542 1142.3 550 1140.6 542 1240.2 558 1293.4 558 1293.4 Thouse01 162 824.65 162 805.39 162 805.39 162 986.22 176 980.71 176 980.71 Thouse02 0 0 166 353.06 170 347.77 166 401.79 170 384.55 170 384.55 Thouse03 0 0 178 346.46 188 352.85 178 430.85 202 413.66 206 445.38 Thouse04 0 0 256 754.17 266 752.46 256 827.64 284 839.5 284 839.5 Thouse05 0 0 314 766.11 320 767.78 314 854.62 342 869.24 342 869.24 Thouse06 0 0 262 859.36 266 860.74 262 960.3 282 1044.4 282 1044.4 BZPCC ABZ GPC IPC IPCC BZPC 162 Table A-7: Simulation result for three nozzle case (Width = 10) Total_V Total_T Total_V Total_T Total_V Total_T Total_V Total_T Total_V Total_T Total_V Total_T 1bed01 0 0 00 00 00 0 0 0 0 1bed02 0 0 00 00 00 0 0 0 0 1bed03 0 0 00 00 00 0 0 0 0 1bed05 0 0 00 00 00 0 0 0 0 1bed06 0 0 00 00 00 0 0 0 0 1bed07 0 0 00 00 00 0 0 0 0 1bed08 0 0 0 0 0 0 78 325.65 112 338.74 158 147.61 1bed09 0 0 0 0 0 0 0 0 118 336.82 116 209.75 2bed01 0 0 0 0 0 0 0 0 0 0 166 237.01 2bed02 0 0 0 0 0 0 0 0 0 0 192 242.9 2bed03 0 0 0 0 0 0 0 0 0 0 158 252.85 2bed04 0 0 0 0 0 0 0 0 0 0 190 329.74 2bed05 0 0 0 0 0 0 0 0 0 0 190 277.54 2bed06 0 0 0 0 0 0 0 0 154 575.21 178 317.63 2bed07 0 0 134 551.18 148 550.38 134 690.56 164 688.15 176 237.4 2bed08 0 0 124 503.55 136 507.16 0 0 152 641.78 156 263.34 3bed01 0 0 190 543.45 0 0 0 0 228 665.08 256 362.12 3bed02 0 0 0 0 0 0 0 0 222 623.45 240 330.29 3bed03 0 0 182 398.95 194 399.73 0 0 198 502.54 210 262.12 3bed04 0 0 0 0 0 0 152 910.13 184 877.36 190 376.02 3bed05 0 0 180 756.5 192 761.8 180 926.05 210 951.13 226 388.05 3bed06 0 0 174 792.36 196 799.57 174 1016.7 224 997.43 242 404.64 3bed07 0 0 0 0 0 0 178 513.3 0 0 222 251.89 3bed08 0 0 224 536.22 0 0 224 672.35 242 665.16 270 259.55 4bed01 0 0 0 0 0 0 0 0 0 0 332 316.94 4bed02 0 0 0 0 0 0 268 716.1 296 710.31 294 283.59 4bed03 0 0 246 651.22 0 0 246 793.75 270 783.83 286 356.85 4bed04 0 0 0 0 0 0 292 879.99 328 888.28 328 372 4bed05 0 0 0 0 0 0 266 708.01 296 700.48 306 317.85 4bed06 0 0 0 0 0 0 0 0 280 768.25 276 363.28 4bed07 0 0 0 0 260 597.01 244 710.89 270 723.58 334 324 4bed08 0 0 0 0 0 0 272 734.73 0 0 328 355.4 5bed01 0 0 580 1101.5 598 1116.3 580 1184.2 620 1225.2 626 413.71 5bed02 444 1169.9 444 1114.6 454 1118.5 444 1232.9 472 1217.2 486 316 5bed03 0 0 316 858.41 336 868.37 316 1034.2 350 1001.4 368 427.79 5bed04 0 0 388 871.58 394 873.08 388 997.22 406 1032.2 416 316.48 5bed05 0 0 0 0 0 0 410 1184.2 468 1235.7 492 464.26 5bed06 0 0 0 0 0 0 310 732.03 334 684.81 342 361.99 5bed07 0 0 386 993 402 992.11 386 1151.3 412 1120.9 424 323.4 5bed08 0 0 414 926.44 418 913.55 414 1080.1 432 1055.5 448 403.39 Mhouse01 142 348.44 142 324.7 142 306.81 142 388.15 150 373.87 154 154.77 Mhouse02 0 0 0 0 0 0 0 0 304 925.7 300 357.16 Mhouse03 280 777.2 280 726.42 290 722.75 280 865.48 308 830.62 314 248.32 Mhouse04 0 0 0 0 0 0 0 0 0 0 366 425.89 Mhouse05 0 0 0 0 0 0 0 0 396 768.05 470 400.06 Mhouse06 0 0 426 1080.5 444 1078.3 426 1278.3 464 1267.8 476 492.58 Mhouse07 0 0 404 798.59 414 793.56 404 936.32 426 912.02 438 376.58 Mhouse08 0 0 542 1157.2 548 1138.8 542 1310.1 564 1278.7 578 334.53 Thouse01 0 0 0 0 0 0 162 1051.2 186 1064 202 462.62 Thouse02 0 0 166 345.68 172 341.65 166 434.76 180 419.8 196 227.46 Thouse03 0 0 0 0 0 0 178 450.33 214 467.55 246 233.23 Thouse04 256 790.55 256 753.61 270 764.15 256 884.06 286 895.41 286 301.06 Thouse05 0 0 314 771.56 320 762.36 314 901.76 340 899.47 348 283.89 Thouse06 262 946.32 262 877.5 268 875.76 262 1025.6 288 1038.3 300 314.86 BZPC‐3M BZPCC‐3M ABZ‐3M GPC‐3M IPC‐3M IPCC‐3M 163 Appendix B: Integrated Contour Crafting System When an architectural CAD design is input into the system, the system has to transform the geometry information of the CAD model into sequences of detailed primitive robot tasks. Traditional CAD software cannot generate all of the required information for Contour Crafting in different stages. The basic approach of the integrated Contour rafting system is to apply a series of abstract refinement modules that successively decompose tasks into more manageable sub-tasks, and successively incorporate new constraints to ensure constructability. The workflow can be seen in Figure 1. Figure B.1: Contour Crafting analysis process. The above process will be time consuming and error prone if the sub-tasks need to be performed by different software packages. By integrating the graphical simulation of construction sequence, CAD and planning packages will increase the efficiency of project planning [AB93]. Moreover, different modules can be integrated to guarantee effective communication and data handling. In this setting any changes performed by one of the modules will directly impact or trigger changes in other modules. System efficiency is not the only reason to bring up the integrated system. There might be some unpredictable Annotated CAD Geometry Task Layering Graph Support Structure Layering Graph Nozzle/Trowel Path 3D Geometry Analysis Support Structures 3D to 2D Nozzle Path Planning Internal Wall Structures CAD Geometry Numerical Controls 164 problems in the construction process such as the collision between nozzles or the collision between nozzle and wall or other obstacles. B.1 The Framework An integrated CC system includes the Information Management Module, the Presentation Module, the Control Module, the Geometry Analysis Module and the Planning and Optimization Module. The Information Management module serves as a Knowledge Warehouse to provide various data information for constraint query. 3D Presentation, conceptual design, modification Tools and Real time simulation functions are implemented inside the Presentation Module to provide an interface for visualization. Control Module is in charge of digital control of the Contour Crafting machine. The Geometry Analysis Module includes Feasibility Analysis and Slicing and Support Generation to annotate the original geometry. Tool Path Planning, Multi-Nozzle Collaboration, and other optimization operations belong to Planning and Optimization Module. Once the original architectural model is input into the system, it will be converted into a free flow of information such as tool paths, time stamps, construction cost and machine tasks. Structure models and construction simulations can be presented in the virtual environment of the system. The machine task sequences will be fed to the Contour Crafting machine for construction execution after the simulation. (See Figure 2) 165 Figure B.2: Framework of integrated system of Contour Crafting B.2 System Modules Control Module The Control Module translates the information of the Contour Crafting model to a sequence of machine code. The gantry and different components of the nozzle, such as Presentation Module 3D presentation Real time Simulation Conceptual design Modification Tools CC Model Client / Developer Designer Standard CAD Constriants Table Material Property Machine Parameters Dynamic Equations Environment Impact Feasible Analysis Slicing Support Generation ToolPath Planing Geometry Specialization Planning and Optimization Module Information Manage Module Geometry Analysis Module 4D Model (ToolPath + Time Stamps) Geometry & Mathmatic Model CC Machine Control Module Cost Analysis Etc. 166 the trowel, the flow division valve and the internal nozzle are controlled by the control module. It works in two different modes, manual and automatic. In the manual mode, commands can be sent to the module directly to trigger the motion of different components of the machine. The monitoring and control objects of the control module help the user easily control different components of the machine. In automatic mode, the machine executes a complete construction program by itself. Information Management Module Information Management Module is the knowledge base that constantly archives and updates data and information such as material property, machine parameters, geometry specialization, dynamic equations, environmental impact, simulation results, etc. Some information is predefined, such as machine parameters, etc. However, some information is generated through experimentation or simulation (such as fabrication speed for different materials, curing time, etc.) Other modules access the Information Management Module once analysis or optimization is performed. A Constraint Table will be formed according to the experimental data and certain limitations and restrictions of the Contour Crafting Machine. Presentation Module Presentation Module provides an interface for the designer, developer or customer to virtually test a construction project before embarking on the actual construction. In the virtual environment, the user can interact with design elements or space to access further 167 information. Simulated scenarios can be run to monitor the CC process so that possible problems and conflicts can be found and the design improvement can be made. Users can easily access information when they navigate in the virtual environment. Developers and their clients can have immediate feedback about the consequences (such as cost and fabrication time) of their design and other decisions (such as choice of materials). Figure B.3 shows a prototype of the presentation module of CC system. Figure B.3: A prototype of CC virtual environment 168 a) 3D realistic presentation allows the user to visualize both the interior and exterior appearance of the house in the virtual environment in ordre to gain a better understanding of the structure. b) Conceptual design /Modification tools module serve as a supplement to CAD packages. Traditional CAD packages offer sufficient functionality and flexibility for the architect to deal with various design issues. However, general clients lack the background knowledge to express their vision by using the complicated architecture CAD software. Hence, the traditional CAD package will not be an appropriate workspace for designers to know the intention of their clients. Conceptual design module provides a virtual platform to enhance communication between client and designer during the early stages of the construction project. See Figure B.4. It is a 3D sketch package implemented in a virtual environment to capture the clients’ intention. The conceptual design module provides the basic modeling functions for the client to develop 3D sketches, which can provide the abstract concepts of the structure, such as location, space and layouts. Designers can visualize these sketches to gain better understanding of the clients’ idea and requirement. All data of the structures of the conceptual design could be saved to Knowledge Warehouse for further using. 169 Figure B.4: Annotation on conceptual design Modification tools offer basic functions to make adjustments for the structure models in the Representation Module, such as changing the size or position of doors, windows or walls. Clients and designers can visit the virtual 3D model simultaneously to exchange their opinions about the structure. Modification can be performed once an agreement has been made. The system data that is stored in the knowledge database will be updated at the same time. After this, the Geometry Modeling analysis will be executed based on the latest information about the material, geometry and machine parameters. Feedback will soon be given to indicate if the new modification is feasible to be constructed by the machine. c) Real-time Simulation is a necessary component for the integrated system. Users can generate the machine tool path according to the input AutoCAD file and parameters of the current Contour Crafting machine, such as acceleration and velocity on different axes. Simulation of the virtual machine and the sequence of machine tasks of the real machine are generated simultaneously. Users can operate the virtual machine and monitor the 170 entire process to avoid potential problems. The application will send task sequences to the real Contour Crafting machine once users are satisfied with the result. The Presentation module provides profound 3-dimensional information once it cooperates with other modules, such as Optimization Module and Cost Analysis Module. It helps the users not only to validate the pre-defined tool path and the collaboration of different machines, but also to attain a direct sense of schedule and cost regarding the whole project. Geometry analysis Module Geometry Analysis Module converts 3D models generated by traditional CAD architecture software into Contour Crafting geometry models. The Contour Crafting model generated by Presentation Module should look exactly the same in the virtual environment as the structure that will be built by the Contour Crafting machine. Since the Contour Crafting machine builds structures layer-by-layer, sacrificial support structures are inevitable in some case. Therefore, Geometry Analysis Module should include three components: geometry feasibility analysis, slicing and support generation. a) Geometry feasibility analysis needs to be performed to annotate potential problems in a traditional CAD model. Contour Crafting offers flexibility for architects to create innovative design but it still has some constrains. Constraints are constantly changed because they are reasoning about several aspects such as material property, machine 171 parameters and geometry form. Once a feasible analysis is performed, the analysis module first accesses the Geometry Constraint Table to seek matched constraints. If the available constraints are not presented, the analysis module will access the Knowledge Warehouse for the latest parameters in order to create the geometry constraints. Constraints will then again update to the geometry constraint table in the knowledge warehouse for the future feasible analysis. b) Slicing is a challenging task. Horizontal slicing, inclined slicing or the hybrid of both methods are feasible in Contour Crafting since the orientation of structures is fixed. See Figure 5. The most critical constraint in slicing is that during construction the underneath layer must be able to support the above layer. Similar to the feasible analysis module, several parameters can be achieved from the knowledge warehouse in order to convert the slicing problem to a geometry-reasoning problem. Figure B.5: Horizontal and inclined Slicing c) Support generation is necessary for some overhead or inclined structures. Sacrificial support structures are constructed layer by layer like the actual structures. Unlike support structure of other rapid prototyping processes which handle relatively small geometry 172 inputs, Contour Crafting deals with huge geometries. The guideline for support generation is to minimize the material and time for the support structure while providing enough strength to prevent collapse or deformation of the actual structure. Support structures can be built according to pre-defined rules of the Contour Crafting system. The strategy of constructing support structures for different geometry elements can be specified in the knowledge warehouse. The entire structure will be decomposed into many different geometry elements, and then the support structure can be addressed and assigned to each of them. By combining support structures of all geometry elements, the entire support structure can be integrated. Optimization and Planning Module After the Geometry Analysis is finished, Optimization Module will take care of tool path planning, multi-nozzle/multi-machine collaboration, scheduling, logistic planning and cost analysis. The constraint table in Knowledge Warehouse will be accessed at this stage for searching for the most practical and optimized solution for the Contour Crafting machine. Once Optimization Module has generated the optimal tool path, time stamps will be inserted to construct the 4D Model. Control Module can then translate the information of the 4D model into machine code. Optimizing the machine tool path for building a structure can effectively reduce the overall construction time and minimize the waste of resources. Optimization issues will be more critical when a larger amount of houses need to be built. In the case of 173 disaster or colony construction, optimization will be performed on the multiple structures instead of a complex individual structure. Integration of the planning and optimization module and the real time simulation is especially important since users can simulate the construction in a virtual environment to verify the validity of the tool path for different nozzles/gantries and different structures. Figure 6 shows a simulation package developed for this purpose. Integration of the strategy and planning data together with the geometrical representation of the structures can be accessed in the virtual reality environment [Iss99] for monitoring or early stage planning. F Figure 6 Simulation Environment. Figure B.6: Simulation Environment (Implemented in Object-orient Graphic Rendering Engine) 174 Cost Analysis can be performed by integrating the Contour Crafting 4D construction models with cost-impact elements. In the traditional construction industry, cost estimating is a time-consuming, costly and essential phase of any building project. Cost estimates rely on the decisions made throughout the project by clients, designers and constructors. However, in Contour Crafting, the construction cost analysis is simplified into the domains of material and machine time, which can both be determined by analyzing the tool path. Since the entire construction process is done by machine, the estimated machine time and cost will be relatively accurate. Sets of equations that determine the cost for particular processes and cost of particular materials can be added to the Knowledge Warehouse. The system can allow clients to change the materials in the project and calculate the cost-impact of these changes in real time. Even those who lack technical expertise can fully understand and visualize the cost-impact of the different modification options. Well-founded decisions can be made before the construction of the real house. B.3 Advantage of Integrated System of Contour Crafting a) Traditional CAD models will be converted into Contour Crafting geometry models after the geometry analysis is performed. Contour Crafting geometry models can be effectively presented in the virtual environment. Any modifications towards the virtual Contour Crafting model will trigger new analyses. Optimization Module will be applied 175 on the Contour Crafting geometry model to generate the task sequences for the Contour Crafting machine. b) The Optimization Module can generate 4D Contour Crafting models that consist of 3D tool paths for the entire structure and time stamps for all elements of the tool paths. The 4D model is also the representation of corresponding sequences of machine tasks for the real Contour Crafting machine. Virtual simulations can be performed according to the 4D model to provide the user with a full understanding of the entire construction process.
Abstract (if available)
Abstract
Contour Crafting is an emerging technology that uses robotics to construct free form structures by repeatedly laying down layers of material such as concrete. The Contour Crafting technology scales up the additive fabrication process from building small industrial parts to constructing buildings. Tool path planning and optimization for Contour Crafting will benefit the technology by increasing the efficiency of construction of complicated structures. This research is intended to provide a systematic solution for improving overall system efficiency and realizing the automation of the Contour Crafting technology for building custom-designed houses. Approaches are presented to find the optimal tool path for the single nozzle Contour Crafting system incorporating the physical constraints of the technology and construction considerations. Several algorithms are given to find the collision-free tool path for the multiple nozzle system based on the single nozzle approach.
Linked assets
University of Southern California Dissertations and Theses
Conceptually similar
PDF
Contour crafting construction with sulfur concrete
PDF
Experimental and numerical techniques to characterize structural properties of fresh concrete
PDF
A data driven software platform for process automation, planning and inspection of Contour Crafting large-scale robotic 3D printing system
PDF
Analyses of strength of layered structures fabricated by Contour Crafting
PDF
Evaluation of interlayer bonding strength in contour crafted structures: experimental and statistical approach
PDF
Energy control and material deposition methods for fast fabrication with high surface quality in additive manufacturing using photo-polymerization
PDF
Real-time flow control of viscous fluids using 3D image processing
PDF
Full scale contour crafting applications
PDF
Selective separation shaping: an additive manufacturing method for metals and ceramics
PDF
Experimentation and analysis of contour crafting (CC) process using uncured ceramic materials
PDF
Knowledge-Based Integrative Process Planning System Using Feature Reasoning And Cost-Based Optimization
PDF
Mixture characterization and real-time extrusion quality monitoring for construction-scale 3D printing (Contour Crafting)
PDF
Metallic part fabrication wiht selective inhibition sintering (SIS) based on microscopic mechanical inhibition
PDF
Process planning for robotic additive manufacturing
PDF
The extension of selective inhibition sintering (SIS) to high temperature alloys
PDF
Selective Separation Shaping (SSS): large scale cementitious fabrication potentials
PDF
Nonlinear optical signal processing for high-speed, spectrally efficient fiber optic systems and networks
PDF
Multi-scale biomimetic structure fabrication based on immersed surface accumulation
PDF
Scalable polymerization additive manufacturing: principle and optimization
PDF
Methodology for design of a vibration operated valve for abrasive viscous fluids
Asset Metadata
Creator
Zhang, Jing
(author)
Core Title
Contour Crafting process planning and optimization
School
Viterbi School of Engineering
Degree
Doctor of Philosophy
Degree Program
Industrial and Systems Engineering
Publication Date
05/14/2009
Defense Date
02/10/2009
Publisher
University of Southern California
(original),
University of Southern California. Libraries
(digital)
Tag
additive fabrication,collision free,contour crafting,multiple machine,OAI-PMH Harvest,optimization,process planning,system efficiency
Language
English
Contributor
Electronically uploaded by the author
(provenance)
Advisor
Khoshnevis, Behrokh (
committee chair
), Chen, Yong (
committee member
), Rosenbloom, Paul S. (
committee member
)
Creator Email
jingzhan@gmail.com,jingzhan@usc.edu
Permanent Link (DOI)
https://doi.org/10.25549/usctheses-m2260
Unique identifier
UC1313469
Identifier
etd-zhang-2573 (filename),usctheses-m40 (legacy collection record id),usctheses-c127-246488 (legacy record id),usctheses-m2260 (legacy record id)
Legacy Identifier
etd-zhang-2573.pdf
Dmrecord
246488
Document Type
Dissertation
Rights
Zhang, Jing
Type
texts
Source
University of Southern California
(contributing entity),
University of Southern California Dissertations and Theses
(collection)
Repository Name
Libraries, University of Southern California
Repository Location
Los Angeles, California
Repository Email
cisadmin@lib.usc.edu
Tags
additive fabrication
collision free
contour crafting
multiple machine
optimization
process planning
system efficiency