//ERGO
in collaboration with Pablo Mora
//THE 3D PRINTED PROTOTYPE
//THE CONCEPT 3D printing technology introduces an opportunity to break free from industrailization and repetition, allowing for the first time in architecture, full customization at an affordable cost. To take advantadge of this Ergo will provide ergonomic living conditions, totally user adapted, which relate more to out natural state as human beeings //THE SPACE ERGO is a prototype for a couple. It provides the basic needs, a bedroom, a bathroom, a living room and a kitchen. Spatial confinements are implied but not enforced so spaces can host more people. All furniture is built in, installations are handled through 2 main cores (water and electricity) with a plug in system and go through the hollow space between the double skin.
//MATERIALITY The use of different materials and technologies allows for changes in transparency and transitions between soft and hard states of the prototype. >Opacity: Taking advantadge of the different opacity avaiable for 3D printing filaments light is allowed inside the living spaces. >Hard&Soft: Using a technnology developed by the MIT, material can switch between soft and hard states, allowing for ergonomic uses and movable divisions.
//THE CONSTRUCTION PROCESS Two approaches could be taken in order to build the prototype, building off site on a factory environment or building on site. We decided to take the build on site approach because printing directly on the terrain allows us to adapt perfectly to the topography. 8m
//HARD&SOFT 90º +
+
45º //project restrictions
doble curvature
UNHEATED
HEATED
>How does it work? MIT has developed a system for switching the material state from rigid to soft. This is achieved by embedding metal wires in a 3D printed foam coated with wax. When the wires are heated the wax melts and the structure becomes soft and malleable. When the structure is cooled down it regains it’s position and rigidity.
//The wires are heated, changing the state of the material from solid to soft, allowing deformation so the door can be opened
m
bedroo
kitc
wc
hen
8.5m
1. PROTOTYPE DIMENSIONS
BRAND: ABB MODEL: IRB 6650S WEIGHT: 125-200KG DESCRIPTION: CAPABLE OF A FULL VERTICAL AND HORIZONTAL MOTION DOUBLE NOZZLE QUANTITY: 3
2. ROBOT SPECIFICATIONS dinning >How do we apply it? Wires will be embedded in the material on certain elements of the prototype that require either mobility or ergonomy, like resting elements or doors and windows.
THE IRB 6650S HAS A REACH LIMIT OF 3.5M WHICH MEANS THE PROTYPE WILL HAVE TO BE PRINTED BY PIECES OR BY MULTIPLE ROBOTS AT THE SAME TIME
3. ACTION RADIOUS
//When the wires are cooled down the material regains it’s rigidity.
//Electricity core
THROUGH TOPOGRAPHIC MEASURING, THE POINTS WHERE THE ROBOT WILL BE PLACED ARE MARKED ON THE SITE
Throught this core the electrical installations get into the building
4. ROBOT POSITIONING
//OPACITY
5.ROBOT TRANSPORTATION
TRANSPARENT ABS
OPAQUE ABS
//Facade opennings are solved by printing two thin layers of translucid PLA spaced by an air chamber in the middle.
//Water core Throught this core the electrical installations get into the building
//The thinnest and therefore more translucid glaze that can be printed is composed of at least two crossed fillament layers in order to give it a minimum rigidity.
//THE PROCESSING import de.bezier.data.*; import peasy.*; //-----------------------------------------------------------------class Attractor { float mass; PVector location; Float G; Attractor(PVector l) { location = l.get(); mass = 1; G = 0.4; }
void display() { stroke(0); fill(175); point(location.x,location.y,location.z); stroke(0); if (hist.size() > 0) { for (int i=1; i < hist.size(); i++) { line(hist.get(i-1).x,hist.get(i-1).y,hist.get(i-1).z,hist.get(i).x,hist.get(i).y,hist.get(i).z); } } } }
Exterior finish layer Interior threads (Topological Optimization) Interior finish layer
//-----------------------------------------------------------------PVector attract(Mover m) { PVector force = PVector.sub(location,m.location); float distance = force.mag();
XlsReader reader; PeasyCam cam; ArrayList<Attractor> attractors = new ArrayList<Attractor>(); ArrayList<Mover> movers = new ArrayList<Mover>();
distance = constrain(distance,5.0,25.0);
force.normalize(); float strength = (G * mass * m.mass) / (distance * distance); force.mult(strength); return force; } void display() { point(location.x,location.y,location.z); stroke(0); } }
7.PRINTING PROCESS
void setup() { size (800,600,P3D); cam = new PeasyCam(this,0.75,1.47,3.88,1000); reader = new XlsReader(this,"Points_Coordinates.xls"); while(reader.hasMoreRows()) { reader.firstCell(); float num = reader.getFloat(); if (num > 2000) break;
//THE STRUCTURE A topological optimization algorithm, originally developed by the car industry, will be used in order to apply material only where needed. As a result the smallest amount of material is used to obtain the strongest structure. > Extremely fiborous > Thinner where the stresses are low > Thicker where the stresses are high
//-----------------------------------------------------------------class Mover { PVector location; PVector velocity; PVector acceleration; ArrayList<PVector> hist; float mass;
In order to do this first a structural analysis of structural behaviour is needed.
Mover (PVector l) { mass = 1; location = l.get(); velocity = new PVector(0,0,0); acceleration = new PVector(0,0,0); hist = new ArrayList<PVector>(); } void applyForce(PVector force) { PVector f = PVector.div(force,mass); acceleration.add(f); }
FRONT
void update() { velocity.add(acceleration); location.add(velocity); acceleration.mult(0);
LEFT SIDE
reader.nextCell(); float x = (reader.getFloat()); reader.nextCell(); float y = (reader.getFloat()); reader.nextCell(); float z = (reader.getFloat());
//THE RELATION WITH THE TERRAIN
attractors.add(new Attractor(new PVector(x,y,z))); movers.add(new Mover(new PVector(x-10,y-10,z-1))); reader.nextRow(); } } //-----------------------------------------------------------------void draw() { fill(0); stroke(0); background(255); smooth(); for (int i = 0; i < attractors.size(); i++) { Attractor a = attractors.get(i); for (int j = 0; j < movers.size(); j++) { Mover m = movers.get(j); a.display(); PVector force = a.attract(m);
Terrain adaptability
m.applyForce(force); m.update(); m.display(); }
hist.add(new PVector(location.x,location.y,location.z)); }
} }
RIGHT SIDE 0.24
The structural data is loaded into processing. An Attractor is created in each one of the geometry points with the tension and compression values stored in it. Then a cloud of Particles is released through the model. These Particles are attracted to each Attractor with a force equal to the stress values stored in it. Material is distributed along the Particle paths.
BACK 0.48
0.72
SAP2000 RESULTANT FORCES DIAGRAM
0.96
1.20
1.44
1.68
1.92
2.16
2.40
2.64
2.88
3.12
3.36
E+3
*Due to computational power limitations we have not been able to compute the resultant geometry, but with the adequate hardware and resources this can be achieved.
Foundation propposal
ROBOT EXTENTS:
3.5M