Digitally Malformed ROBOTIC WORKFLOW | CONCRETE COLUMN
Alex Lin Christoph Eckrich Harsh Kedia Kirman Hanson
INTRODUCTION Over the course of this semester we have learned varying approaches to designing automated workflows. These are culminating in a comprehensive project combining the various methods we have been exposed to throughout the semester. Using online-teaching procedures, RAPID programming, RobotStudio, and HAL we are expected to fabricate a complex mold for casting a concrete structure. The tools implemented are an IRB 6640 and a large stationary hot-wire cutter. It has been a long and challenging process, as we took on an unconventional formal direction. The process and product are outlined in the following pages.
CONTENTS 01. INTENT AND CONSIDERATIONS 02. INITIAL DESIGN ITERATIONS 03. ANALOGUE FORMWORK EXPLORATIONS 04. INITIAL DESIGN DRAWINGS 05. PROCEDURE EXPLANATION 06. CODE EXPLANATION 07. FINAL DESIGN 08. FINAL FABRICATION 09. FINAL CAST
01.
INTENT AND CONSIDERATIONS
DESIGN INTENT The brief asked to design a panel, and naturally we began to wonder what sort of forms could be possible outside of a ~2.5D representation. We explored various precedent, some of which are illustrated to the right. Eventually we decided on the typology of column, after exploring the idea of a grid or fence. Ultimately this idea proved too intricate for our current expertise. Our project took form alongside the idea of using the hot wire cutter as more of a jigsaw than a normal planar cutting surface. By threading the hot wire through a block of foam and manipulating it with the robotic arm one could create intriguing ruled forms on the interior of the block. These interior forms could then be connected together to form a series of linked negative spaces to be cast and made into replicable solid objects. By using the hot wire cutter in this way allows for the creation of forms not capable of being made with a CNC router, such as those forms which include undercut and twisting forms.
Gramazio + Kohler -- Smart Dynamic Casting
Ardavan Bidgoli -- Vortex Torso
RMIT Architecture -- Resin Printed Column
GOALS
1. Understand and master a collective workflow consisting of online-teaching procedures, RAPID programming, RobotStudio, and HAL integrated into a single process 2. Use the robot to generate a cast form that isn’t easily achievable using other digital fabrication techniques 3. Create a workflow and/or toolpath logic which can be easily adapted to adjustments in the form (allowing for the creation of many forms with just one script)
CHALLENGES 1. Design and fabrication of a form not limited to the “panel” constraints 2. Creating a mold that is reusable 3. Translation of information and work from digital to analogue
SCHEDULE
02.
INITIAL DESIGN ITERATIONS
Originally we intended to make a fence-like structure by carving out interior spaces in the foam in both the x and y directions and then linking the pieces of foam together to make a networked mold. Given the time constraint of the project, we modified this idea to a single “module� of the fence, ie a column structure. Looking at our initial ideas for the column, we began with the idea of a manipulated extruded polygon, with variations in width as the column moves from top to bottom. From these initial forms we chose the more angular column for both interest in its shape and its more planar sides which would be easier to cut. Ultimately, We also simplified this form from the 8-sided polygon shape of the faces to a four sided column which changes from a square to a star shape as it tapers in the middle.
version.01
version.02
version.03
03.
ANALOG FORMWORK EXPLORATIONS
01.
02.
03.
Prepare piece with stencil, drill hole
Thread hotwire through hole
Reattach hotwire and cut one side of stencil
04.
05.
06.
Cut using opposite side of stencil
Remove cutout piece, sand edges
Cover with Gesso, sand, repeat
TWO POINT
THREE POINT
03.
ANALOG FORMWORK EXPLORATIONS
We began by exploring simplified versions of our initial designs. The reduction in the number of points on the polygons used to generate the ruled surfaces allowed us more flexibility to cut them out by hand. Shown on this page and the next are initial iterations of a 2 point and 3 point formwork. We faced quite a few challenges along the way, stemming from human error and material issues. The foam was difficult to cut evenly, and lingering in one spot caused significant burning. We fabricated guides for each face, and attempted to use them to map the ruled surface in-between. This technique had limited success, although it improved further after reducing the heat of the hotwire by about a third.
THREE-POINT
TWO-POINT
04.
INITIAL DESIGN DRAWINGS
Our initial designs consisted of n-pointed stars being scaled and rotated. This created a ruled surface outlining a column like structure which we used as the driver to create our toolpaths. We thought through several of the iterations in drawing. These helped us to understand the ways in which the mold will be cut as well as assembled. The creation of a grasshopper script to create the columns proved worthwhile as it allowed us to iterate quickly, and make little changes on the fly. SCAD -- Digital Fabrication Column
Gramazio + Kohler -- Smart Dynamic Casting
Ardavan Bidgoli -- Vortex Torso
Michael Hanesmeyer -- Digital Grotesque
Coral Column - Ferda Kolatan
6 POINT COLUMN
8 POINT COLUMN
10 POINT COLUMN
CUT BLOCKS
6 POINT COLUMN
8 POINT COLUMN
10 POINT COLUMN
FINAL PIECES
04.
INITIAL DESIGN DRAWINGS
Diagram Explanation Considering the parameters and scope of the project, we ran into many issues of visualizing how the robot would be cutting the foam. In the case where the robot would hold the hotwire and cut foam mounted and stationary, this project would have been much simpler and straightforward. However, given the complexity of our projects forms, the situation where the robot holds the foam made this task exponentially more difficult to understand. Whereas humans have been wired to think in the context of the cutting device as under their control, this project requires a completely different approach to thinking about the cutting process. Thus, in simulating in Grasshopper and, even in RobotStudio, it was almost impossible to understand whether progress had been made with code until it was tested in reality.
6 POINT COLUMN
8 POINT COLUMN
10 POINT COLUMN
CUT GEOMETRY
HOT WIRE CUTTER
HOT WIRE POSITIONING
21
2"
6"
/2"
GRIPPER
FABRICATION
05.
PROCEDURE EXPLANATION
OVERVIEW FLOWCHART START
The procedure for this project was surprisingly less complicated than the setup. Generating the toolpaths proved challenging, but once we had them the fabrication went quite straightforward. Using HAL we generated a toolpath to map out the movement of the workobject into the hot wire, tracing the outline of our geometry. This required a lot of continuous tweaking to ensure the robots positioning and orientation fell within its joint limits.
FOAM BLOCK INSTALLED?
YES
We then exported the code, simulated it, and began our fabrication. The blocks had to be split into halves to allow the robot to cut the full thing, as well as make the mold easier to remove later on. Once we had the mold, a series of hand corrections was performed, trimming off unwanted portions and sanding edges.
NO INSTALL FOAM BLOCK
EXECUTE CUTTING PROCEDURE
A gesso layer and rockite cast produced our final object.
MOREÂ BLOCKS?
END
YES
Housekeeping
COMPLETE FLOWCHART Are foam blocks prepared?
Enter Robot Work Cell
Yes
Is the work cell clean?
Yes
No
No Clean up the work cell
Is someone in the work cell?
No
Yes
No
Yes
Clean up the work cell
Is the robot at home?
Clear all unauthorized individuals
Move the Robot to Home
Tool Installation
Is there a tool attached?
Obtain Gripper tool
No
Is the correct tool attached?
Yes Digital Output: Tool Plate Unlock Set to 0
Stow away tool
Digital Output: Tool Plate Lock Set to 1
Digital Output: Tool Plate Unlock Set to 1
Digital Output: Tool Plate Lock Set to 0
Yes
Move to Home Position
RAPID Module
Secure the cut foam block
Start Module
Digital Output: Gripper Tool Open Set to 0 Gripper Tool Close Set to 1
Prepare to secure the cut foam block
Load Module to Teach Pendant
Yes
Are there anymore foam blocks to be cut?
Run routine
PP to Routine
Let go of foam block
No
Bring foam block to position between Gripper Tool
Digital Output: Gripper Tool Open Set to 0 Gripper Tool Close Set to 1
End Module
Housekeeping
Stow away Gripper Tool
Clean up the work cell
Digital Output: Tool Plate Unlock Set to 1
Exit Robot Work Cell
Digital Output: Tool Plate Lock Set to 0
Move to Home Position
06.
CODE EXPLANATION
Transposing the form that was set as the goal required a series of transformations and complex reorienting of geometry to generate the RAPID code necessary to hotwire cut the foam molds. As previously mentioned, this project decided to simplify the cutting process by splitting each layer into two molds to decrease the range of orientations the robot would encounter and, in doing so, also reduce the chance of encountering coupling errors both in simulation and in execution of routines. The process of code generation began with the surfaces generated by splitting each layer in half to create 2 rotationally symmetrical pieces. These offered the surface geometries which were used as the driver surfaces that dictated the code for each piece. These surfaces were first divided into ruled surfaces, after which their surfaces frames were reoriented to that of the work object (the hot wire cutter). The work object was then rotated to get the robot in a comfortable position to be able to execute the code without encountering errors. This process was repeated until the code for all pieces was generated without issues then carried forward into RobotStudio to simulate.
07.
FINAL DESIGN
For the final iteration of the project that was to be cut with the industrial robot, we decided to simplify the form and transformation. The primary concerns were that the complexity and number of side of the original forms would require excessive rotation of the robot arm. As such, to avoid coupling errors and feasibility issues in regards to scale and symmetry, we simplified the form to distort from a square to a four pointed star. Even with the simplified geometry, we were unable to cut the entire piece in one cut and had to divide each layer into two halves. This allowed for a smaller domain of rotation for the robot and ultimately allowed the script to be flushed out and function. In addition, the simplification allowed for each level to be symmetrical, thus further simplifying and streamlining the code generation and cutting process. Despite these simplifications, we maintained a similar formal logic to retain a comparable level of elegance, poise, and grace inherent in the initial vision.
HOT WIRE CUTTER
FOAM BLOCK POSITIONING
FINAL AXONOMETRIC
FINAL AXONOMETRIC
HOT WIRE POSITIONING
08.
FINAL FABRICATION
Given the complexity of our geometry, converting this information and translating it into a format posed various issues. In some iterations, the conversion resulted in a mess of lines that was nowhere near what we intended. In other cases, the reorientation at the end of each surface cut outside of the intended shape. In order to combat this, we attempted to isolate each surface of the cut by separating the operation by returning to the centroid of the layer, however this posed even more issues with resulting in clover-like shapes. In the end, we chose to deal with the pieces made incorrect through reorientation forward due to the time limitation of the project.
If a picture is worth a thousand words, this is definitely a greek tragedy.
09.
FINAL CAST
Despite its set of difficulties, as explored in the two hand cut versions, this project would have been virtually impossible to complete by hand. While the robot posed many issues in regards to what was feasible, the challenges associated with more complex geometries, etc., it also allowed for a process to be created that could produce uniquely rotating forms. In addition, while we only created one set of the forms, one could easily imagine this process becoming worth the effort should one need many sets of columns that could each have a unique transformation.