16.10.2019 Views

Or, Yarden, Kobi, Maria

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Table Of Content<br />

Part I<br />

- Abstract ...............................................................................................10-11<br />

- Head V1.0 .............................................................................................12-19<br />

- Head V1.1 ..............................................................................................20-29<br />

- Code (Grasshopper) ........................................................................30-39<br />

Part 2<br />

- Electronic Scheme ..........................................................................43<br />

- Material Application ......................................................................46-49<br />

- Head V2.0 ...........................................................................................50-61<br />

- Code (Grasshopper) .......................................................................62-73<br />

- Code (Arduino) .................................................................................76-93<br />

Part 3<br />

- Lab Reports .......................................................................................96-107<br />

- Bibliography .......................................................................................107<br />

- Reference ............................................................................................108-111


Part<br />

I


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Abstract<br />

this project is a work of students at the technion institute of technology.<br />

The idea behind it is creating a smart tool which can attach to the KUKA robotic arm to<br />

weave wires according to heat readings that it gets on the surface that the work is being<br />

done on.<br />

the project includes: developing the 'Spinneret head' which is the smart tool, code for the<br />

weaving movement made with Grasshopper and Python, Arduino code for the heat readings<br />

made with Python and a module which is basically the surface on which the weaving is done on.<br />

Diagram<br />

Technion Architecture & Town Planning Faculty<br />

6


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Mockup - BETA<br />

Technion Architecture & Town Planning Faculty<br />

7


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

MOCKUP<br />

SPINNER HEAD TOOL V1.0<br />

1<br />

Technion Architecture & Town Planning Faculty<br />

8


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Technion Architecture & Town Planning Faculty<br />

9


Components<br />

Isometric view<br />

SPINNER HEAD TOOL V1.0<br />

This is the first mockup of the tool that we designed. In this<br />

version of the head we tried to understand the shape and<br />

mechanics that will allow the arm to deploy a wire betweend<br />

rodes that are placed on a flat surface.<br />

Body<br />

sahped in a simple box shape, the body is big inof to allow the<br />

parts to be change.<br />

Material: Wood<br />

Size: 12 x 4 x 10 [cm]<br />

Connector<br />

this part is simulating the connecting part to the KUKA arm.<br />

allow us to simulate the position of the Flange.<br />

Material: Wood<br />

Size: 5 x 1 x 5 [cm]<br />

Cartridge Rod<br />

the rod is supported through the body and holds the web<br />

cartridge. the pipe shape allows the cartridge to rotate and<br />

release the wire.<br />

Material: stainless steel<br />

Size: diameter: 6 [mm] , Length: 10 x 5 [cm]<br />

Leading Pipe<br />

because of the extended shape, the pipe is leading the wire to<br />

the position of the movement course.<br />

Material: silicone<br />

Size: diameter: 5 [mm], Length: 5 [cm]<br />

Tension Supporter<br />

providing stretch between the Cartridge and the Leading pipe.<br />

Material: metal<br />

Size: diameter: 2 [mm], Length: 8 [cm]<br />

Nut<br />

Size: 6 [mm]<br />

10


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Assembly<br />

Isometric view<br />

1<br />

2<br />

1<br />

Body<br />

2<br />

Connector<br />

3<br />

Cartridge Rod<br />

4<br />

Leading Pipe<br />

5<br />

Tension Supporter<br />

6<br />

7<br />

Nut<br />

Wire Wheel<br />

4 5<br />

3<br />

7<br />

6<br />

Cartridge insertion<br />

The Nut prevents the Cartridge<br />

from falling.<br />

It can also lock the cartridge<br />

by strengthening the nut and<br />

preventing it from rolling.<br />

Technion Architecture & Town Planning Faculty<br />

11


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

OPERATION METHOD<br />

SPINNER HEAD TOOL v.1.0<br />

Isometric view<br />

Tension<br />

The tension of the wire is the degree to which<br />

it is stretched. In this tool the tension is created<br />

by tying the end of the wire to any object and<br />

moving the arm against the object position.<br />

Technion Architecture & Town Planning Faculty<br />

12


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

The tension that is created from the<br />

movment turns into the spinning movment<br />

of the Cartridge and that's what releases<br />

the wire.<br />

Technion Architecture & Town Planning Faculty<br />

13


14


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Conclusions<br />

Version 1.0<br />

1. Reduce the mass of the body.<br />

2. Intensify the tension between the wire and cartridge.<br />

3. The position and the size of the cartridge needs to be flexible.<br />

4. Improve the connection between the body and the arm with the Flange.<br />

5. Improve the pipe by making it detachable.<br />

Make Flexible<br />

Improve Flange<br />

Connection<br />

Intensify<br />

Tension<br />

Reduce Mass<br />

Turn into<br />

Detachable Pipe<br />

Technion Architecture & Town Planning Faculty<br />

15


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

3D PRINT<br />

SPINNERET HEAD TOOL V1.1<br />

2<br />

Technion Architecture & Town Planning Faculty<br />

16


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Technion Architecture & Town Planning Faculty<br />

17


Components<br />

Isometric view<br />

SPINNERET V1.1<br />

From the conclusions that we made from the last version<br />

we decided to improve the movment flexebility by reducing<br />

material and to accurate the position of the wire. Furthermore,<br />

we upgraded the Leading Pipe instruments to improve the<br />

support of the wire. This new version named after the part in<br />

the spider (animal) that responsible on leading the cobweb<br />

out of the spider - Spinneret.<br />

Body<br />

'L' shaped body in order to use less metrial mass while still<br />

being firm enough.<br />

Material: Wood<br />

Size: 12 x 2x 10 [cm]<br />

Flange<br />

this part is 3D printed from the KUKA site.<br />

Material: PLA<br />

Size: 4 x 1.2 x 4 [cm]<br />

Cartridge Rod<br />

the rod is supported through the body and holds the web cartridge.<br />

the pipe shape allows the cartridge to rotate and release the wire.<br />

Material: stainless steel<br />

Size: daimeter: 6 [mm] , Length: 10x 7 [cm]<br />

Pipe House<br />

the house that connected to the body via a screw allows the<br />

Leading Pipe to be removable in time of need.<br />

Material: stainless steel<br />

Size: daimeter: 2 [cm] , Length: 2.7 [cm]<br />

Leading Pipe<br />

because of the extended shape, the pipe is leading the wire to<br />

the position of the movment course.<br />

Material: stainless steel<br />

Size: daimeter: 5 [mm], Length: 8 [cm]<br />

Pipe.<br />

Material: silicone<br />

Size: daimeter: 5 [mm], Length: 5 [cm]<br />

Tension Supporter<br />

providing stretch between the Caritage and the Leading pipe.<br />

Material: metal<br />

Size: daimeter: 1 [cm]<br />

18


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Assembly<br />

Isometric view<br />

The Flange is consist of two parts<br />

that connected to each other and to<br />

the Robotic Arm with four screws. in<br />

the other side of the flange there is<br />

a connector that connects the body<br />

to the Flange.<br />

The disassembly of the elements planed to<br />

improve the loading prosidure of the wire<br />

into the pipe and to inable the option of<br />

fixing any jam in the pipe area.<br />

Technion Architecture & Town Planning Faculty<br />

19


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

PLANS<br />

Right view<br />

Technion Architecture & Town Planning Faculty<br />

20


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Top View<br />

Technion Architecture & Town Planning Faculty<br />

21


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Left view<br />

Technion Architecture & Town Planning Faculty<br />

22


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Front View<br />

Technion Architecture & Town Planning Faculty<br />

23


24


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Conclusions<br />

Version 1.1<br />

1. 3D print the flange part with the body in one piece.<br />

2. Improve the connection of the cartridge rod by strengthening the screws.<br />

3. Change the way of attaching the wire wheel because it was heavy and had a<br />

big moment.<br />

4. Lengthen the cartridge rod in order to reach all the parts of the screw. the<br />

screws are 12 [cm]<br />

5. Add the electric part to the body to make it a smart head; heat reading camera,<br />

arduino board and wires.<br />

6. Make the body size bigger to fit all the gadgets.<br />

7. Attach the glue container to create hardened weaved construction.<br />

3D print as one<br />

part<br />

Make Body Size<br />

Bigger<br />

Attach Wheel<br />

Differently<br />

Strengthen<br />

Connection<br />

Attach Arduino<br />

Board<br />

Add Glue<br />

Container<br />

Attach Heat<br />

Reading Camera<br />

Make Cartridge<br />

Rod Longer<br />

Technion Architecture & Town Planning Faculty<br />

25


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

CODE<br />

Code 1.1<br />

B<br />

A<br />

A - Surface Composition<br />

B - Point Sorting<br />

C<br />

C - Kuka Movement<br />

Technion Architecture & Town Planning Faculty<br />

26


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Brep<br />

Top Surface<br />

Code Objective:<br />

Test a basic movement with the kuka robot<br />

that we are interested to apply in our project.<br />

the code uses a 2D hexagonal surface on which it<br />

performs a scan and plans the movement.<br />

this code was made with grasshopper components<br />

only.<br />

Steps:<br />

1- choosing a BREP from RHINO.<br />

2- choosing the outlines of the shape.<br />

3- choosing the upper outlines on which the<br />

movement is going to be performed.<br />

4- dividing the lines to control points and arranging<br />

them in the wanted order.<br />

5- inserting the points into the KUKA program.<br />

Result:<br />

linear movement that passes through the center<br />

point of a star shape.<br />

Path Border<br />

Control points division<br />

Sorting points to different lists<br />

Path<br />

Technion Architecture & Town Planning Faculty<br />

27


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Code 1.2<br />

D<br />

D<br />

Code Objective:<br />

Movement feasibility of code 3.<br />

in this code, we used 4 screws in different<br />

heights that are connected to a 2D surface.<br />

this code contains a new element which is wrapping around a<br />

scew.<br />

the code is manual: movement direction, number of screws and<br />

number of wraps are all manually inserted.<br />

Steps:<br />

1- inserting outlines of the wanted shape plus an extra point of a<br />

screw if needed.<br />

2- creating control points of the shape.<br />

3- creating guidelines that represent the screws in the code.<br />

4- manual selection of each and every screw.<br />

5- manual selection of every control point.<br />

6- extracting the center point of every screw.<br />

7- Inserting all the points to Python code that creates the wrapping<br />

movement.<br />

8- extracting the start and end point of every wrapping movement.<br />

9- connecting between the end point of a wrap to the start point<br />

of the next wrap.<br />

10- uniting all the created lines into one list that will be arranged<br />

according to the movement.<br />

11- divicing the lines into control points.<br />

12- inserting the control points to the KUKA program.<br />

Technion Architecture & Town Planning Faculty<br />

28


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Brep<br />

Top Surface<br />

Path Border<br />

Border Control Points<br />

Extrude Screw Simulators<br />

Path<br />

Wrapping Path<br />

0 max = 2 * math.pi<br />

1 #print max, math.pi<br />

2<br />

3 deltaXY = max / nPoints # Angle step in radians<br />

4 deltaZ = height / nPoints # Height step<br />

5<br />

6 sideM = 0<br />

7 ang = 0<br />

8 dz = 0<br />

9 pts = [] # List of points defining the spiral<br />

10 lines = []<br />

# List of crossing lines<br />

11 pipes = []<br />

# List of crossing tubes<br />

12<br />

13 #Define Miroring<br />

14<br />

15 if Side == True:<br />

16 sideM = -1<br />

17 elif Side == False:<br />

18 sideM = +1<br />

19<br />

20 for i in range(int(nPoints + 1)):<br />

21 x = diX + radius * sideM * math.cos(times * ang) # Circle vertex.X<br />

22 y = diY + radius * math.sin(times * ang) # Circle vertex.Y<br />

23 z = diZ + dz<br />

# Circle vertex.Z<br />

24<br />

25 pts.append(rs.AddPoint([x, y, z]))<br />

26<br />

27 ang = ang + deltaXY<br />

28 dz = dz + deltaZ<br />

29<br />

30 # Create circles<br />

31 cir = rs.AddInterpCurve(pts)<br />

32<br />

33 # Rotating the spring<br />

34 rs.RotateObjects(cir, [diX, diY, diZ], Rotate , None)<br />

35<br />

36 pt = rs.DivideCurve(cir, nPoints, True, True)<br />

37<br />

Technion Architecture & Town Planning Faculty<br />

29


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Code 2.1<br />

B<br />

c-1<br />

D<br />

F<br />

A<br />

c<br />

D<br />

E<br />

E-1<br />

G<br />

H<br />

Code Objective:<br />

Movement feasibility of code 3.<br />

in this code, we checked the option of creating a wrapping<br />

movement around the screws in different heights.<br />

in this code 5 screws of the same height are connected to a<br />

rectangular 2D surface.<br />

The code is manual: wrapping direction, number of wraps nad<br />

number of screws are inserted manually.<br />

Steps:<br />

1- inserting outlines of the wanted shape plus an extra point of a<br />

screw if needed.<br />

2- creating control points of the shape.<br />

3- creating guidelines that represent the screws in the code.<br />

4- manual selection of each and every screw.<br />

5- manual selection of every control point.<br />

6- extracting the center point of every screw.<br />

7- Inserting all the points to Python code that creates the wrapping<br />

movement.<br />

8- extracting the start and end point of every wrapping movement.<br />

9- connecting between the end point of a wrap to the start point<br />

of the next wrap.<br />

10- uniting all the created lines into one list that will be arranged<br />

according to the movement.<br />

11- divicing the lines into control points.<br />

12- inserting the control points to the KUKA program.<br />

Technion Architecture & Town Planning Faculty<br />

30


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Brep<br />

Top Surface<br />

Path Border<br />

Border Control Points<br />

{0}<br />

0 40<br />

1 32<br />

2 50<br />

3 30<br />

4 73<br />

Extrude Screw Simulators<br />

Screws Heights<br />

Path<br />

Wrapping Path<br />

0 max = 2 * math.pi<br />

1 #print max, math.pi<br />

2<br />

3 deltaXY = max / nPoints # Angle step in radians<br />

4 deltaZ = height / nPoints # Height step<br />

5<br />

6 sideM = 0<br />

7 ang = 0<br />

8 dz = 0<br />

9 pts = [] # List of points defining the spiral<br />

10 lines = []<br />

# List of crossing lines<br />

11 pipes = []<br />

# List of crossing tubes<br />

12<br />

13 #Define Miroring<br />

14<br />

15 if Side == True:<br />

16 sideM = -1<br />

17 elif Side == False:<br />

18 sideM = +1<br />

19<br />

20 for i in range(int(nPoints + 1)):<br />

21 x = diX + radius * sideM * math.cos(times * ang) # Circle vertex.X<br />

22 y = diY + radius * math.sin(times * ang) # Circle vertex.Y<br />

23 z = diZ + dz<br />

# Circle vertex.Z<br />

24<br />

25 pts.append(rs.AddPoint([x, y, z]))<br />

26<br />

27 ang = ang + deltaXY<br />

28 dz = dz + deltaZ<br />

29<br />

30 # Create circles<br />

31 cir = rs.AddInterpCurve(pts)<br />

32<br />

33 # Rotating the spring<br />

34 rs.RotateObjects(cir, [diX, diY, diZ], Rotate , None)<br />

35<br />

36 pt = rs.DivideCurve(cir, nPoints, True, True)<br />

37<br />

Technion Architecture & Town Planning Faculty<br />

31


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Code 2.1<br />

A - Shape Contour Insert<br />

B - Screw Creator<br />

C - Height Chooser<br />

D- Midscrew Finder<br />

G- Course Point For Kuka<br />

C-1- Control Point Chooser<br />

F- Line Creator String To String<br />

H- Kuka Simulator<br />

E- Spin Creator<br />

Technion Architecture & Town Planning Faculty<br />

32


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

E-1 - Python Spiral<br />

spiral code<br />

1- insert center point and x,y,z<br />

2- creating the spiral code that duplicates the points according to the cos formula.<br />

https://sites.math.washington.edu/~ebekyel/Math126/Spiral.html<br />

3- the radius and the distance between every spiral is determined manually.<br />

Technion Architecture & Town Planning Faculty<br />

33


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Code 2.2<br />

B<br />

c-1<br />

D<br />

F<br />

A<br />

c<br />

D<br />

E<br />

E-1<br />

G<br />

H<br />

Code Objective:<br />

Movement feasibility of code 3.<br />

in this code, we checked the option of creating a wrapping<br />

movement around the screws in different heights.<br />

in this code 5 screws of the same height are connected to a rectangular 2D<br />

surface.<br />

The code is manual: wrapping direction, number of wraps nad number of<br />

screws are inserted manually.<br />

Steps:<br />

1- inserting outlines of the wanted shape plus an extra point of a screw if<br />

needed.<br />

2- creating control points of the shape.<br />

3- creating guidelines that represent the screws in the code.<br />

4- manual selection of each and every screw.<br />

5- manual selection of every control point.<br />

6- extracting the center point of every screw.<br />

7- Inserting all the points to Python code that creates the wrapping movement.<br />

8- extracting the start and end point of every wrapping movement.<br />

9- connecting between the end point of a wrap to the start point of the next<br />

wrap.<br />

10- uniting all the created lines into one list that will be arranged according to<br />

the movement.<br />

11- divicing the lines into control points.<br />

12- inserting the control points to the KUKA program.<br />

Technion Architecture & Town Planning Faculty<br />

34


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Brep<br />

Top Surface<br />

Path Border<br />

Border Control Points<br />

{0}<br />

0 40<br />

1 32<br />

2 50<br />

3 30<br />

4 73<br />

Extrude Screw Simulators<br />

Screws Heights<br />

Path<br />

Wrapping Path<br />

0 max = 2 * math.pi<br />

1 #print max, math.pi<br />

2<br />

3 deltaXY = max / nPoints # Angle step in radians<br />

4 deltaZ = height / nPoints # Height step<br />

5<br />

6 sideM = 0<br />

7 ang = 0<br />

8 dz = 0<br />

9 pts = [] # List of points defining the spiral<br />

10 lines = []<br />

# List of crossing lines<br />

11 pipes = []<br />

# List of crossing tubes<br />

12<br />

13 #Define Miroring<br />

14<br />

15 if Side == True:<br />

16 sideM = -1<br />

17 elif Side == False:<br />

18 sideM = +1<br />

19<br />

20 for i in range(int(nPoints + 1)):<br />

21 x = diX + radius * sideM * math.cos(times * ang) # Circle vertex.X<br />

22 y = diY + radius * math.sin(times * ang) # Circle vertex.Y<br />

23 z = diZ + dz<br />

# Circle vertex.Z<br />

24<br />

25 pts.append(rs.AddPoint([x, y, z]))<br />

26<br />

27 ang = ang + deltaXY<br />

28 dz = dz + deltaZ<br />

29<br />

30 # Create circles<br />

31 cir = rs.AddInterpCurve(pts)<br />

32<br />

33 # Rotating the spring<br />

34 rs.RotateObjects(cir, [diX, diY, diZ], Rotate , None)<br />

35<br />

36 pt = rs.DivideCurve(cir, nPoints, True, True)<br />

37<br />

Technion Architecture & Town Planning Faculty<br />

35


Part<br />

II


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Technion Architecture & Town Planning Faculty<br />

38


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Electronic Scheme<br />

Technion Architecture & Town Planning Faculty<br />

39


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Material Experiment Documentation<br />

The Experiment's goal is to figure out the right material for the wire and the<br />

glue that is gonna be used in weaving our model.<br />

>> We Want To Find A flexible strong Wire and a fast drying Glue.<br />

Glue Types<br />

- Loctite super glue-3<br />

- Poxipol >A<<br />

- Poxipol >B<<br />

- 5 Minute Epoxy<br />

Wire Types<br />

Test Combinations<br />

<strong>Or</strong>ange Thin Wire<br />

Radius : 0.5mm<br />

Test 1: comined with Loctite, 2 drops - 20 second<br />

Test 2: combined with Epoxy, 3 drops - 1 hour<br />

Test 3: combined with Poxipol A/B, 3 dorps - 1 hour<br />

Brwon Thick Tough Wire<br />

Radius : 1mm<br />

Test 1: combined with Loctite, 3 drops - 10 seconds<br />

Test 2: combined with Epoxy, 4 drops - 50 minutes<br />

Test 3: combined with Poxipol A/B, 4 drops - 50 minutes<br />

<strong>Or</strong>ange Thin Wire<br />

Radius : 0.125mm<br />

Test 1: combined with Loctite, 2 drops - 5 seconds<br />

Test 2: combined with Epoxy, 4 drops - 55 minutes<br />

Test 3: combined with Poxil A/B, 4 drops - 55 minutes<br />

White Thick Soft Wire<br />

Radius : 1mm<br />

Test 1: combined with Loctite, 5 drops - 2 seconds<br />

Test 2: combined with Epoxy, 5 drops - 1 hour<br />

Test 3: combined with Poxipol A/B, 5 drops - 1 hour<br />

Technion Architecture & Town Planning Faculty<br />

42


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Board Types<br />

The Aluminum Board suggest<br />

heating the aluminum pads<br />

which will be placed above<br />

the heating pads of the same<br />

size, so reading of the camera<br />

will be done one the aluminum<br />

pads themselves.<br />

Opt A: Board with Aluminum heated plate<br />

The Double Board suggests<br />

heating through the nails<br />

themselves. in the gap the<br />

heating pads will be placed<br />

and attached to the nails and<br />

the camera does the reading<br />

on the upper board where<br />

only the nails will be visible.<br />

Opt B: Board with heated Nails<br />

conclusions<br />

Glue<br />

We can clearly conclude from the experiment that the glue that gave the best results<br />

was the Loctite Super Glue-3. In average , we had to use fewer drops of it and it dried<br />

all the wires the fastest : took from 2 - 20 seconds to dry, while the other type took<br />

about an hour.<br />

Wire<br />

The choice of the wire eventually is the soft white wire. It has the best physical<br />

qualities amongst all the others: it is flexible enough, thick enough and when combined<br />

with the Loctite Super Glue-3 it gives the Best Structure out of all the options.<br />

Technion Architecture & Town Planning Faculty<br />

43


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Construction Materials Documentation<br />

The Experiment's Goal is to test which way is better to create the construction<br />

removal after we knit the whole designed grid with the chosen wire and glue.<br />

Opt A: half straws with brown wire<br />

with glue<br />

Opt B: Brown Wire with glue<br />

Opt C: full straws and silicon pipes with<br />

white wire<br />

Technion Architecture & Town Planning Faculty<br />

44


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Opt A:<br />

the tops of the screws were cut and half straws with a small radius were inserted<br />

to the screws. the construction that was formed with the brown wire and glue<br />

was good but the removal was hard. it can be seen in the left pic of Opt A how the<br />

straw was bent while removing it.<br />

Opt B:<br />

the screws remained whole in this option. the wire was knitted around them with<br />

out any construction removal technique. the idea was to remove the nails from the<br />

board with the formed construction.<br />

Opt C:<br />

the tops of the screws were cut again, this time they were inserted into a big<br />

radius straws and silicon pipes, which allows more freedom for the removal process,<br />

however, it caused the construction to weaken because of the freedom of the<br />

straws that caused the tention to get weaker.<br />

conclusions<br />

Straws<br />

we can conclude from the experiment that after the glue was hardened , the best way<br />

to remove the formed construction was with the straws and pipes and the white wire.<br />

as it is easy to remove and the glue and wire struck good on the straws and silicon pipes.<br />

so to conclude we chose silicon pipes because the wires and glue stuck much better<br />

at it than the straws.<br />

the wanted silicon pipes should be in a smaller radius to fit better with the screws.<br />

Screws<br />

The screws are going to stay whole like in Option B, and the operation of the removal<br />

will by unscrewing the screws upwards and detaching them from the wooden board.<br />

Technion Architecture & Town Planning Faculty<br />

45


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

3D PRINT<br />

SPINNERET HEAD TOOL V2.0<br />

3<br />

Technion Architecture & Town Planning Faculty<br />

46


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Technion Architecture & Town Planning Faculty<br />

47


Components<br />

Isometric view<br />

SPINNERET V2.0<br />

This version is an improvement of the past version. in this<br />

version we have implemented Mechanical and Electric Elements<br />

. the idea is to be able to knit according to the heat reading<br />

from the camera sensor attached to the body. a bucket of glue<br />

was also added to this version as we want to create a hard<br />

knitted structure after the head finishes the weaving according<br />

to the movement developed in the code.<br />

Body<br />

'L' shaped body with circular hole for the spring in which the wire<br />

wheel will be inserted in. the body is split into two pieces now.<br />

Material: PLA<br />

Size: 13.4 x 16.6 x 2 [cm]<br />

Spring<br />

this part locks in it the wire wheel. it attaches to the body in a<br />

circular motion and locks on it.<br />

Material: PLA<br />

Size: Radius: 4.2 [cm]<br />

Pipe House<br />

the pipe house is supported with the body and holds the wire.<br />

the pipe shape allows the cartridge to rotate and release the<br />

wire.<br />

Material: PLA<br />

Size: Length: 8 [cm]<br />

Glue Container<br />

a container for the glue is attached to the body at its lowest<br />

part. the attachment is done with a click mechanism.<br />

Material: PLA<br />

Size: 4.67 x 11.4 x 4.5 [cm]<br />

Extortioner Pin<br />

two pins that squeez the glue off the passing wire.<br />

Material: teflon<br />

Size: diameter: 7.6 [mm], Length: 5.6 [cm]<br />

Pipe<br />

Size: diameter: 6 [mm], Length: 7 [cm]<br />

Pin<br />

locking the different parts attached together.<br />

Size: Length: 19 [mm]<br />

48


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Arduino<br />

Spring<br />

Camera<br />

Sensor<br />

Glue<br />

Container<br />

Wire Head<br />

The new Version includes two important parts: Electric & Mechanical.<br />

the electric part includes the first arduino board and a sensor camera. this complex<br />

recieves the input which is the heat reading.<br />

the mechanical part includes a spring for the wire. glue container and a wire knitting<br />

head which can be detached. this complex creates the output which is the weaved<br />

wire in the designed shape.<br />

Technion Architecture & Town Planning Faculty<br />

49


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

The arduino board is attached to the left side of<br />

the Spinneret. an exact shape of the arduino was<br />

created on the body to attached it perfectly and<br />

flawlessly, so it can provide electrivity to all the<br />

left side of the body which is the Electrical part.<br />

Technion Architecture & Town Planning Faculty<br />

50<br />

the cartride rod part is composed of<br />

two parts. one that attaches to the<br />

body by clicking into it. the second<br />

part which surrounds the teflon pipe is<br />

locked with a pin.


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

the spring locks into the body in<br />

a circular motion after putting in<br />

the wire wheel.<br />

Technion Architecture & Town Planning Faculty<br />

51


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

PLANS<br />

Right view<br />

Technion Architecture & Town Planning Faculty<br />

52


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Top View<br />

Technion Architecture & Town Planning Faculty<br />

53


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Left view<br />

Technion Architecture & Town Planning Faculty<br />

54


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Front View<br />

Technion Architecture & Town Planning Faculty<br />

55


56


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Conclusions<br />

Version 2.0<br />

1. Making the wire wheel more loose to reduce the tention that was<br />

created.<br />

2. Making the pipe house from either a stronger material or a more flexible<br />

one.<br />

Better<br />

Connection<br />

Change<br />

Material<br />

Technion Architecture & Town Planning Faculty<br />

57


CODE<br />

General Code<br />

Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

A<br />

E<br />

B<br />

C<br />

D<br />

E - KUKA Simulator<br />

D<br />

Technion Architecture & Town Planning Faculty<br />

58


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

A - Scan Movement<br />

B - Reading Port Arduino<br />

C - List Recorder<br />

D - Movement Generator<br />

Technion Architecture & Town Planning Faculty<br />

59


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Code 3.1<br />

A<br />

Code Objective:<br />

This Code Is a part of all the codes that were tested in the Lab.<br />

it creates the movement for the heat reading for the arduino.<br />

Steps In Python Code:<br />

1- Manually creating 4 offset points on the tested board .<br />

2- arranging the points according to the movement.<br />

3- Inserting all the points into the Kuka Program.<br />

Technion Architecture & Town Planning Faculty<br />

60


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Brep<br />

Offseting the Control points<br />

Sorting the points<br />

Technion Architecture & Town Planning Faculty<br />

61


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Code 3.2<br />

A<br />

E<br />

B<br />

C<br />

D<br />

D<br />

Code Objective:<br />

This Code is based on all the knoweldge that we've gathered from all the previous<br />

codes. the objective is : measuring the data, sending to grasshopper, creating the<br />

movement by code and making the movement precise in real time.<br />

in this code we get a reading from the arduino system that is sent from the port<br />

into Grasshopper. the reading is done every 1 sec.<br />

Steps In Python Code:<br />

1- receiving data from the reading : A,B,C,D,E,F,G<br />

2- inserting the dara into the Python code that translates the readings into<br />

different heights: 20,40,60,80 m"m.<br />

3- becuase of the fact that the reading is done every 1 sec ,<br />

the code was created to generate distance according to time.<br />

explanation: if the route takes about 40 sec and has 4 stops then the generated<br />

distance data in the code will be equal to 10 sec.<br />

result: a list of 4 parameters will be generated.<br />

4- inserting the generated data list into Python.<br />

result: control points generated.<br />

5- inserting control points into the Kuka program.<br />

** the final form is controlled by the heating pads, that's why the generated shape<br />

isn't controlled by the code but by the sensors.<br />

Technion Architecture & Town Planning Faculty<br />

62


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

A<br />

B<br />

C<br />

D<br />

Input from Arduino<br />

Python<br />

Code<br />

A<br />

D<br />

==<br />

20<br />

80<br />

[mm]<br />

[mm]<br />

Transelating the inputs to distance<br />

Diagonal line control points<br />

40<br />

20<br />

20<br />

66.6<br />

Line<br />

Building the control points<br />

60 80<br />

Surface<br />

Building the control points<br />

Different hiegths<br />

40<br />

20<br />

73.6<br />

80<br />

Inserting to the string function<br />

creating a spin around every point<br />

Dividing the line to subpoints<br />

60 80<br />

Creating the hyperbulic surface<br />

20<br />

66.6<br />

73.6<br />

80<br />

Projecting the line’s points to the surface<br />

Technion Architecture & Town Planning Faculty<br />

63


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Code 3.3<br />

A<br />

E<br />

B<br />

C<br />

D<br />

D<br />

Code Objective:<br />

This is the final test. this code is creatd based on all the knowledge that we've<br />

gathered from all the previous code.<br />

in this code we get a reading from the arduino system that is sent from the<br />

port into Grasshopper. the reading is done every 1 sec.<br />

Steps In Python Code:<br />

1- receiving data from the reading : A,B,C,D,E,F,G<br />

2- inserting the dara into the Python code that translates the readings into<br />

different heights: 20,40,60,80 m"m.<br />

3- becuase of the fact that the reading is done every 1 sec ,<br />

the code was created to generate distance according to time.<br />

explanation: if the route takes about 40 sec and has 4 stops then the generated<br />

distance data in the code will be equal to 10 sec.<br />

result: a list of 4 parameters will be generated.<br />

4- inserting the generated data list into Python.<br />

result: control points generated.<br />

5- inserting control points into the Kuka program.<br />

Technion Architecture & Town Planning Faculty<br />

64


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

A<br />

B<br />

C<br />

D<br />

Input from Arduino<br />

Python<br />

Code<br />

A<br />

D<br />

==<br />

20<br />

80<br />

[mm]<br />

[mm]<br />

Transelating the inputs to distance<br />

40<br />

20<br />

60 80<br />

Line<br />

Building the control points<br />

Surface<br />

Building the control points<br />

Different hiegths<br />

40<br />

20<br />

60 80<br />

Dividing the line to subpoints<br />

Creating the hyperbulic surface<br />

20<br />

66.6<br />

73.6<br />

80<br />

Projecting the line’s points to the surface<br />

Technion Architecture & Town Planning Faculty<br />

65


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Technion Architecture & Town Planning Faculty<br />

66


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Hyperbolic grid control points<br />

40<br />

36.6 23.6<br />

20<br />

40<br />

36.6 23.6<br />

20<br />

46.6<br />

66.6<br />

46.6<br />

66.6<br />

53.6<br />

73.6<br />

53.6<br />

73.6<br />

60 80<br />

66.6 73.6<br />

Sorting the points in course A<br />

60 80<br />

66.6 73.6<br />

Sorting the points in course B<br />

40<br />

36.6 23.6<br />

20<br />

40<br />

36.6 23.6<br />

20<br />

46.6<br />

66.6<br />

46.6<br />

66.6<br />

53.6<br />

73.6<br />

53.6<br />

73.6<br />

60 80<br />

66.6 73.6<br />

Inserting to the string function<br />

creating a spin around every point<br />

60 80<br />

66.6 73.6<br />

Combain the courses<br />

Technion Architecture & Town Planning Faculty<br />

67


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Python Code<br />

Steps In Python Code:<br />

1- Grid Creation<br />

2- elevating the 4 edge points of the grid according the A,B,C,D Reading.<br />

3- creating a surface between these 4 points.<br />

4- attaching the grid points to the created surface to be able to position the<br />

Hyperbola Shape.<br />

5- arrnaging the list of points according to the movement.<br />

Starting Movement 1<br />

6- destributing the points from movement 1 into 3 lists:<br />

A- center points<br />

B- starting points<br />

C- finishing points<br />

7- inserting all 3 lists into the spiral movement<br />

result:<br />

A- every center point from the list gets a spiral movement around it.<br />

the spiral's charesceristics are generated automatically from the<br />

function.<br />

B- the spiral generats the control points in the list from 0 till the last<br />

spiral.<br />

Inserting the points into the KUKA program<br />

result:<br />

movement from one point to the other according the order in the list.<br />

Explanation of the wrapping/ Spiral movement:<br />

the direction of the start and end of the spiral movement is determined<br />

automatically.<br />

the function is designed in a way that the end point of the spiral is determined<br />

by the number of the wraps which is determined by an if condition that is<br />

decided by the relation between the starting points, the center points and the<br />

end points.<br />

the starting point of the spiral is determined by the if condition.<br />

1- inserting the center point and deconstructing it.<br />

2- creating a loop that duplicates the points according to the COS function.<br />

https://sites.math.washington.edu/~ebekyel/Math126/Spiral.html<br />

3- the radius and the distance between each spiral is determined Manually.<br />

Technion Architecture & Town Planning Faculty<br />

68


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Python<br />

Code<br />

{ X,Y,Z }<br />

{ X,Y,Z }<br />

{ X,Y,Z }<br />

outPoint<br />

centerPoint<br />

inPoint<br />

Inserting the points<br />

from three different lists<br />

extracting the X,Y,Z values of every point<br />

{ X,Y,Z }<br />

X = cos(t)<br />

Y = sin(t)<br />

Z = t<br />

inserting the values to the spiral cos/sin function<br />

defining an ‘if’ statement for defining the direction of the spiral<br />

if if if<br />

elif elif elif<br />

elif<br />

elif<br />

elif<br />

elif<br />

elif<br />

elif<br />

Technion Architecture & Town Planning Faculty<br />

69


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Technion Architecture & Town Planning Faculty<br />

70


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Electronic Scheme<br />

Technion Architecture & Town Planning Faculty<br />

71


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Hot Board/ Arduino<br />

Opt A: Board with Aluminum heated plate<br />

Components of the Hot Board:<br />

- wooden board .<br />

size: 48*48 cm<br />

- 24 Heating Pads .<br />

size each: 5*10 cm<br />

- aluminum board.<br />

size: 46*46 cm<br />

- 49 nails of different heights.<br />

Height: 12 cm<br />

**the nails are distributed on the board evenly with<br />

a 7 cm distance both horizontally and vertically.<br />

Technion Architecture & Town Planning Faculty<br />

72


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Code 1<br />

Hot Board Arduino<br />

#include <br />

int pin1 = 3;<br />

int pin2 = 4;<br />

int pin3 = 5;<br />

int pin4 = 6;<br />

int pin5 = 7;<br />

int pin6 = 8;<br />

int pin7 = 9;<br />

int pin8 = 10;<br />

unsigned long previousMillis;<br />

fl o a t Thousade= 1000;<br />

fl o a t TimeSinceStart=0;<br />

extern volatile unsigned long<br />

timer0_millis;<br />

unsigned long new_value = 0;<br />

}<br />

digitalWrite(pin5, LOW);<br />

Serial.println(" 5 is LOW");<br />

digitalWrite(pin6, LOW);<br />

Serial.println(" 6 is LOW");<br />

digitalWrite(pin7, LOW);<br />

Serial.println(" 7 is LOW");<br />

digitalWrite(pin8, LOW);<br />

Serial.println(" 8 is LOW");<br />

void loop() {<br />

unsigned long currentMillis =<br />

millis(); // grab current time<br />

void setup() {<br />

Serial.begin(115200);<br />

pinMode(3, OUTPUT);<br />

pinMode(4, OUTPUT);<br />

pinMode(5, OUTPUT);<br />

pinMode(6, OUTPUT);<br />

pinMode(7, OUTPUT);<br />

pinMode(8, OUTPUT);<br />

pinMode(9, OUTPUT);<br />

pinMode(10, OUTPUT);<br />

digitalWrite(pin1, LOW);<br />

Serial.println("1 is LOW");<br />

digitalWrite(pin2, LOW);<br />

Serial.println(" 2 is LOW");<br />

digitalWrite(pin3, LOW);<br />

Serial.println(" 3 is LOW");<br />

digitalWrite(pin4, LOW);<br />

Serial.println(" 4 is LOW");<br />

Technion Architecture & Town Planning Faculty<br />

73


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Hot Board/ Arduino<br />

Opt B: Board with heated nais<br />

Components of the Hot Board:<br />

- 2 wooden boards .<br />

size: 48*48 cm<br />

- 24 Heating Pads .<br />

size each: 5*10 cm<br />

- 49 Aluminum bases for the nails .<br />

size: 3*3 cm<br />

- 49 nails of different heights.<br />

Height: 12 cm<br />

**the nails are distributed on the board evenly with<br />

a 7 cm distance both horizontally and vertically.<br />

Technion Architecture & Town Planning Faculty<br />

74


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

// THIS IS FOR Number 1 RELAY / PAD////////////////////////////////////////<br />

if ((unsigned long)(currentMillis - previousMillis) >= 25*Thousade &&<br />

(unsigned long)(currentMillis - previousMillis) < 205*Thousade) {<br />

digitalWrite(pin1, HIGH);<br />

Serial.println("Pin 1 is HIGH");<br />

unsigned long previousMillis = millis(); // grab current time<br />

}<br />

if ((unsigned long)(currentMillis - previousMillis) >= 205*Thousade &&<br />

(unsigned long)(currentMillis - previousMillis) < 235*Thousade) {<br />

digitalWrite(pin1, LOW);<br />

Serial.println("Pin 1 is LOW");<br />

unsigned long previousMillis = millis(); // grab current time<br />

}<br />

if ((unsigned long)(currentMillis - previousMillis) >= 235*Thousade &&<br />

(unsigned long)(currentMillis - previousMillis) < 355*Thousade) {<br />

digitalWrite(pin1, HIGH);<br />

Serial.println("Pin 1 is HIGH");<br />

unsigned long previousMillis = millis(); // grab current time<br />

}<br />

if ((unsigned long)(currentMillis - previousMillis) >= 355*Thousade<br />

&& (unsigned long)(currentMillis - previousMillis) < 385*Thousade) {<br />

digitalWrite(pin1, LOW);<br />

Serial.println("Pin 1 is LOW");<br />

unsigned long previousMillis = millis(); // grab current time<br />

}<br />

///////////////////////////////////////////////////////////////////////////<br />

if ((unsigned long)(currentMillis- previousMillis) >= 385*Thousade)<br />

{<br />

setMillis(0);<br />

}<br />

Serial.print("Time Since Beggining Of Loop is : ");<br />

Serial.println(currentMillis/Thousade);<br />

}<br />

delay(500);<br />

void setMillis(unsigned long new_millis){<br />

uint8_t oldSREG = SREG;<br />

cli();<br />

timer0_millis = new_millis;<br />

SREG = oldSREG;<br />

}<br />

Technion Architecture & Town Planning Faculty<br />

75


Arduino Board<br />

Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

6,2<br />

1,1<br />

68,6<br />

50,8<br />

3,3<br />

8,9<br />

53,3<br />

12<br />

9,6<br />

3,2 (4x)<br />

4,7<br />

27,9<br />

15,2<br />

1,8<br />

51,9<br />

74,8<br />

14<br />

10,9<br />

1,6<br />

The Aruino Board That Was Used Is Arduino Uno<br />

Technion Architecture & Town Planning Faculty<br />

76


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Code 2<br />

Hot Board Arduino<br />

#include <br />

#include <br />

GridEYE grideye;<br />

void setup() {<br />

// Start your preferred I2C object<br />

Wire.begin();<br />

// Library assumes "Wire" for I2C but you can pass something else with begin()<br />

if you like<br />

grideye.begin();<br />

// Pour a bowl of serial<br />

Serial.begin(115200);<br />

}<br />

void loop() {<br />

// variables to store temperature values<br />

fl o a t testPixelValue = 0;<br />

fl o a t hotPixelValue = 0;<br />

int hotPixelIndex = 0;<br />

// for each of the 64 pixels, record the temperature and compare it to the<br />

// hottest pixel that we've tested. If it's hotter, that becomes the new<br />

// king of the hill and its index is recorded. At the end of the loop, we<br />

// should have the index and temperature of the hottest pixel in the frame<br />

long Temp =(grideye.getPixelTemperature(28)+grideye.<br />

getPixelTemperature(29)+grideye.getPixelTemperature(36)+grideye.<br />

getPixelTemperature(37))/4;<br />

// you need to delete this three lines<br />

Serial.print("Center"); // 1<br />

Serial.print(Temp); //2<br />

Serial.println("C"); //3<br />

}<br />

if (Temp >= 20 && Temp < 25 ){<br />

Serial.println("A");<br />

}<br />

if (Temp >= 25 && Temp < 30 ){<br />

Serial.println("B");<br />

}<br />

if (Temp >= 30 && Temp < 35 ){<br />

Serial.println("C");<br />

}<br />

if (Temp >= 35 && Temp < 40 ){<br />

Serial.println("D");<br />

}<br />

if (Temp >= 40 && Temp < 45 ){<br />

Serial.println("E");<br />

}<br />

if (Temp >=45 ){<br />

Serial.println("F");<br />

}<br />

if (Temp


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Technion Architecture & Town Planning Faculty<br />

78


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Electronic Scheme<br />

Technion Architecture & Town Planning Faculty<br />

79


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Technion Architecture & Town Planning Faculty<br />

80


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Code 1<br />

Connection Between Heat Reading Camera And Grasshopper<br />

#include <br />

#include <br />

GridEYE grideye;<br />

void setup() {<br />

// Start your preferred I2C object<br />

Wire.begin();<br />

// Library assumes "Wire" for I2C but you can pass something else with begin()<br />

if you like<br />

grideye.begin();<br />

// Pour a bowl of serial<br />

Serial.begin(115200);<br />

}<br />

void loop() {<br />

// variables to store temperature values<br />

fl o a t testPixelValue = 0;<br />

fl o a t hotPixelValue = 0;<br />

int hotPixelIndex = 0;<br />

// for each of the 64 pixels, record the temperature and compare it to the<br />

// hottest pixel that we've tested. If it's hotter, that becomes the new<br />

// king of the hill and its index is recorded. At the end of the loop, we<br />

// should have the index and temperature of the hottest pixel in the frame<br />

long Temp =(grideye.getPixelTemperature(28)+grideye.<br />

getPixelTemperature(29)+grideye.getPixelTemperature(36)+grideye.<br />

getPixelTemperature(37))/4;<br />

// you need to delete this three lines<br />

// Serial.print("Center"); // 1<br />

// Serial.print(Temp); //2<br />

// Serial.println("C"); //3<br />

if (Temp >= 20 && Temp < 25 ){<br />

Serial.println("A");<br />

}<br />

if (Temp >= 25 && Temp < 30 ){<br />

Serial.println("B");<br />

}<br />

if (Temp >= 30 && Temp < 35 ){<br />

Serial.println("C");<br />

}<br />

if (Temp >= 35 && Temp < 40 ){<br />

Serial.println("D");<br />

}<br />

if (Temp >= 40 && Temp < 45 ){<br />

Serial.println("E");<br />

}<br />

if (Temp >=45 ){<br />

Serial.println("F");<br />

}<br />

if (Temp


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Arduino Control Board Which Controls The<br />

Heating Pads Conntected In The Wooden Board<br />

With The screws.<br />

Technion Architecture & Town Planning Faculty<br />

82


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Code 2<br />

Temperature Reading<br />

int pin1 = 3;<br />

int pin2 = 4;<br />

int pin3 = 5;<br />

int pin4 = 6;<br />

int pin5 = 7;<br />

int pin6 = 8;<br />

int pin7 = 9;<br />

int pin8 = 10;<br />

void setup()<br />

{<br />

pinMode(3, OUTPUT);<br />

pinMode(4, OUTPUT);<br />

pinMode(5, OUTPUT);<br />

pinMode(6, OUTPUT);<br />

pinMode(7, OUTPUT);<br />

pinMode(8, OUTPUT);<br />

pinMode(9, OUTPUT);<br />

pinMode(10, OUTPUT);<br />

digitalWrite(pin1, LOW);<br />

digitalWrite(pin2, LOW);<br />

digitalWrite(pin3, HIGH);<br />

digitalWrite(pin4, HIGH);<br />

digitalWrite(pin5, HIGH);<br />

digitalWrite(pin6, HIGH);<br />

digitalWrite(pin7, HIGH);<br />

digitalWrite(pin8, HIGH);<br />

}<br />

void loop()<br />

{<br />

}<br />

LOW = ON<br />

HIGH = OFF<br />

Technion Architecture & Town Planning Faculty<br />

83


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Control Board<br />

The Control board was desgined with special attachment to the screws baord. this<br />

attachment allows inserting each board like a drawr into the control board and<br />

replacing it when needed.<br />

Relay 3<br />

Arduino Uno<br />

Relay 6<br />

Relay 2<br />

Matrix Bread Board Arduino<br />

Relay 5<br />

Relay 1<br />

USB splitter<br />

Relay 4<br />

Relay - Turns on and off the heating pads according to the given times.<br />

- They connect to the USB which connects them to electricity.<br />

- They Connect to the Arduino Uno and The Matrix.<br />

Heating Pads - each pad is connected by 1 cable to 1 relay.<br />

- each pad is connected by another cable to the USB port.<br />

Control Board - connected to 1 electric port that is connected to the matrix.<br />

- connected to another electric port that is connected the USB spliter.<br />

Technion Architecture & Town Planning Faculty<br />

84


Code 3<br />

Hyperbolic Shape<br />

Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

#include <br />

int pin1 = 3;<br />

int pin2 = 4;<br />

int pin3 = 5;<br />

int pin4 = 6;<br />

int pin5 = 7;<br />

int pin6 = 8;<br />

int pin7 = 9;<br />

int pin8 = 10;<br />

unsigned long previousMillis;<br />

fl o a t Thousade= 1000;<br />

fl o a t TimeSinceStart=0;<br />

extern volatile unsigned long timer0_millis;<br />

unsigned long new_value = 0;<br />

void setup() {<br />

Serial.begin(115200);<br />

pinMode(3, OUTPUT);<br />

pinMode(4, OUTPUT);<br />

pinMode(5, OUTPUT);<br />

pinMode(6, OUTPUT);<br />

pinMode(7, OUTPUT);<br />

pinMode(8, OUTPUT);<br />

pinMode(9, OUTPUT);<br />

pinMode(10, OUTPUT);<br />

digitalWrite(pin1, LOW);<br />

Serial.println("1 is LOW");<br />

digitalWrite(pin2, LOW);<br />

Serial.println(" 2 is LOW");<br />

digitalWrite(pin3, LOW);<br />

Serial.println(" 3 is LOW");<br />

digitalWrite(pin4, LOW);<br />

Serial.println(" 4 is LOW");<br />

digitalWrite(pin5, LOW);<br />

Serial.println(" 5 is LOW");<br />

digitalWrite(pin6, LOW);<br />

Serial.println(" 6 is LOW");<br />

digitalWrite(pin7, LOW);<br />

Serial.println(" 7 is LOW");<br />

digitalWrite(pin8, LOW);<br />

Serial.println(" 8 is LOW");<br />

}<br />

void loop()<br />

{<br />

unsigned long currentMillis = millis(); // grab current time<br />

unsigned long previousMillis = millis(); // grab current time<br />

Technion Architecture & Town Planning Faculty<br />

85


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

// THIS IS FOR Number 1 RELAY / PAD///////////////////////////////////////////////<br />

///////////////////////////////<br />

if ((unsigned long)(currentMillis - previousMillis) >= 25*Thousade && (unsigned<br />

long)(currentMillis - previousMillis) < 205*Thousade) {<br />

digitalWrite(pin1, HIGH);<br />

Serial.println("Pin 1 is HIGH");<br />

unsigned long previousMillis = millis(); // grab current time<br />

}<br />

if ((unsigned long)(currentMillis - previousMillis) >= 205*Thousade && (unsigned<br />

long)(currentMillis - previousMillis) < 235*Thousade) {<br />

digitalWrite(pin1, LOW);<br />

Serial.println("Pin 1 is LOW");<br />

unsigned long previousMillis = millis(); // grab current time<br />

}<br />

if ((unsigned long)(currentMillis - previousMillis) >= 235*Thousade && (unsigned<br />

long)(currentMillis - previousMillis) < 355*Thousade) {<br />

digitalWrite(pin1, HIGH);<br />

Serial.println("Pin 1 is HIGH");<br />

unsigned long previousMillis = millis(); // grab current time<br />

}<br />

if ((unsigned long)(currentMillis - previousMillis) >= 355*Thousade &&<br />

(unsigned long)(currentMillis - previousMillis) < 385*Thousade) {<br />

digitalWrite(pin1, LOW);<br />

Serial.println("Pin 1 is LOW");<br />

unsigned long previousMillis = millis(); // grab current time<br />

}<br />

// THIS IS FOR Number 2 RELAY / PAD//////////////////////////////////////////////<br />

if ((unsigned long)(currentMillis - previousMillis) >= 5*Thousade && (unsigned<br />

long)(currentMillis - previousMillis) < 25*Thousade) {<br />

digitalWrite(pin2, HIGH);<br />

Serial.println("Pin 2 is HIGH");<br />

unsigned long previousMillis = millis(); // grab current time<br />

}<br />

if ((unsigned long)(currentMillis - previousMillis) >= 25*Thousade && (unsigned<br />

long)(currentMillis - previousMillis) < 335*Thousade) {<br />

digitalWrite(pin2, LOW);<br />

Serial.println("Pin 2 is LOW");<br />

unsigned long previousMillis = millis(); // grab current time<br />

}<br />

if ((unsigned long)(currentMillis - previousMillis) >= 335*Thousade && (unsigned<br />

long)(currentMillis - previousMillis) < 385*Thousade) {<br />

digitalWrite(pin2, HIGH);<br />

Serial.println("Pin 2 is HIGH");<br />

unsigned long previousMillis = millis(); // grab current time<br />

}<br />

// THIS IS FOR Number 3 RELAY / PAD//////////////////////////////////////////////<br />

if ((unsigned long)(currentMillis - previousMillis) >= 5*Thousade && (unsigned<br />

long)(currentMillis - previousMillis) < 50*Thousade) {<br />

digitalWrite(pin3, HIGH);<br />

Serial.println("Pin 3 is HIGH");<br />

unsigned long previousMillis = millis(); // grab current time<br />

}<br />

Technion Architecture & Town Planning Faculty<br />

86


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

if ((unsigned long)(currentMillis - previousMillis) >= 50*Thousade && (unsigned<br />

long)(currentMillis - previousMillis) < 285*Thousade) {<br />

digitalWrite(pin3, LOW);<br />

Serial.println("Pin 3 is LOW");<br />

unsigned long previousMillis = millis(); // grab current time<br />

}<br />

if ((unsigned long)(currentMillis - previousMillis) >= 285*Thousade && (unsigned<br />

long)(currentMillis - previousMillis) < 385*Thousade) {<br />

digitalWrite(pin3, HIGH);<br />

Serial.println("Pin 3 is HIGH");<br />

unsigned long previousMillis = millis(); // grab current time<br />

}<br />

// THIS IS FOR Number 4 RELAY / PAD///////////////////////////////////////////////<br />

if ((unsigned long)(currentMillis - previousMillis) >= 5*Thousade && (unsigned<br />

long)(currentMillis - previousMillis) < 25*Thousade) {<br />

digitalWrite(pin4, HIGH);<br />

Serial.println("Pin 4 is HIGH");<br />

unsigned long previousMillis = millis(); // grab current time<br />

}<br />

if ((unsigned long)(currentMillis - previousMillis) >= 25*Thousade && (unsigned<br />

long)(currentMillis - previousMillis) < 200*Thousade) {<br />

digitalWrite(pin4, LOW);<br />

Serial.println("Pin 4 is LOW");<br />

unsigned long previousMillis = millis(); // grab current time<br />

}<br />

if ((unsigned long)(currentMillis - previousMillis) >= 200*Thousade && (unsigned<br />

long)(currentMillis - previousMillis) < 225*Thousade) {<br />

digitalWrite(pin4, HIGH);<br />

Serial.println("Pin 4 is HIGH");<br />

unsigned long previousMillis = millis(); // grab current time<br />

}<br />

if ((unsigned long)(currentMillis - previousMillis) >= 225*Thousade &&<br />

(unsigned long)(currentMillis - previousMillis) < 385*Thousade) {<br />

digitalWrite(pin4, LOW);<br />

Serial.println("Pin 4 is LOW");<br />

unsigned long previousMillis = millis(); // grab current time<br />

}<br />

// THIS IS FOR Number 5 RELAY / PAD///////////////////////////////////////////////<br />

if ((unsigned long)(currentMillis - previousMillis) >= 25*Thousade && (unsigned<br />

long)(currentMillis - previousMillis) < 205*Thousade) {<br />

digitalWrite(pin5, HIGH);<br />

Serial.println("Pin 5 is HIGH");<br />

unsigned long previousMillis = millis(); // grab current time<br />

}<br />

if ((unsigned long)(currentMillis - previousMillis) >= 205*Thousade && (unsigned<br />

long)(currentMillis - previousMillis) < 235*Thousade) {<br />

digitalWrite(pin5, LOW);<br />

Serial.println("Pin 5 is LOW");<br />

unsigned long previousMillis = millis(); // grab current time<br />

}<br />

Technion Architecture & Town Planning Faculty<br />

87


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Technion Architecture & Town Planning Faculty<br />

88


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

if ((unsigned long)(currentMillis - previousMillis) >= 235*Thousade && (unsigned<br />

long)(currentMillis - previousMillis) < 355*Thousade) {<br />

digitalWrite(pin5, HIGH);<br />

Serial.println("Pin 5 is HIGH");<br />

unsigned long previousMillis = millis(); // grab current time<br />

}<br />

if ((unsigned long)(currentMillis - previousMillis) >= 355*Thousade &&<br />

(unsigned long)(currentMillis - previousMillis) < 385*Thousade) {<br />

digitalWrite(pin5, LOW);<br />

Serial.println("Pin 5 is LOW");<br />

unsigned long previousMillis = millis(); // grab current time<br />

}<br />

// THIS IS FOR Number 6 RELAY / PAD///////////////////////////////////////////////<br />

///////////////////////////////<br />

if ((unsigned long)(currentMillis - previousMillis) >= 5*Thousade && (unsigned<br />

long)(currentMillis - previousMillis) < 25*Thousade) {<br />

digitalWrite(pin6, HIGH);<br />

Serial.println("Pin 6 is HIGH");<br />

unsigned long previousMillis = millis(); // grab current time<br />

}<br />

if ((unsigned long)(currentMillis - previousMillis) >= 25*Thousade && (unsigned<br />

long)(currentMillis - previousMillis) < 200*Thousade) {<br />

digitalWrite(pin6, LOW);<br />

Serial.println("Pin 6 is LOW");<br />

unsigned long previousMillis = millis(); // grab current time<br />

}<br />

if ((unsigned long)(currentMillis - previousMillis) >= 200*Thousade && (unsigned<br />

long)(currentMillis - previousMillis) < 225*Thousade) {<br />

digitalWrite(pin6, HIGH);<br />

Serial.println("Pin 6 is HIGH");<br />

unsigned long previousMillis = millis(); // grab current time<br />

}<br />

if ((unsigned long)(currentMillis - previousMillis) >= 225*Thousade &&<br />

(unsigned long)(currentMillis - previousMillis) < 385*Thousade) {<br />

digitalWrite(pin6, LOW);<br />

Serial.println("Pin 6 is LOW");<br />

unsigned long previousMillis = millis(); // grab current time<br />

}<br />

if ((unsigned long)(currentMillis- previousMillis) >= 385*Thousade)<br />

{<br />

setMillis(0);<br />

}<br />

Serial.print("Time Since Beggining Of Loop is : ");<br />

Serial.println(currentMillis/Thousade);<br />

delay(500);<br />

}<br />

Technion Architecture & Town Planning Faculty<br />

89


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Technion Architecture & Town Planning Faculty<br />

90


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

Electronic Scheme<br />

Technion Architecture & Town Planning Faculty<br />

91


Lab Reports


Report num.1<br />

Team<br />

<strong>Yarden</strong> Elah , <strong>Kobi</strong> Laham Haochen , <strong>Maria</strong> Jarrous , <strong>Or</strong> Shetret<br />

Date 12.12.2018<br />

Movement Test V1.0<br />

Testing the movement of the KUKA wrapping around screws in different heights and<br />

radiuses<br />

Location<br />

Research Lab of Digital Architecture<br />

Module Type (Input Receiver)<br />

Wooden Board with 5 screws in different<br />

heights.<br />

Materials<br />

Knitting wire<br />

Module Type (Tool: Head V1.1)<br />

P.L.A 3D printed Module combined with<br />

metal elements.<br />

Robot Information<br />

Model<br />

KUKA arm model KR6 - 10 R 900<br />

Starting point<br />

X = 136 , Y = 0 , Z = 12<br />

A = 0 , B = 0 , C = 0<br />

Tool num<br />

15<br />

94


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

STEPS<br />

1) Positioning of test board in accordance to the 3D Rhino Model and the KUKA arm.<br />

2) Tightening the test board to the table with cleaves.<br />

3) Bringing the KUKA head to the starting point (Manual).<br />

4) Tying the wire around the first screw.<br />

5) Starting the KUKA movement.<br />

6) The robot will follow the path that is defined by the Grasshopper code.<br />

7) The Spinneret will wrap the wire around the screws using a unique radius code.<br />

8) Stopping the movement at the ending point (Manual).<br />

9) Cutting the wire & Tying it around the ending point. (Manual – Last screw of the<br />

motion)<br />

Technion Architecture & Town Planning Faculty<br />

95


96


Conclutions:<br />

1) Finding a method to calibrate the position of the screw so the robot will<br />

know exectly the screws pisiton and height.<br />

Suggested solutions:<br />

* The Robot will mark the location of the screws before screwing.<br />

* The screw's head will have a sensor that sends the cordinate of the point<br />

and height.<br />

2) The L shape of the SPINERRET tool is limiting the movment in the Z axis so<br />

the maximum screw height can be 80 [mm].<br />

Suggested solutions:<br />

* Making a vertical head tool.<br />

3) strengthening the tool's parts: Flange, Pipe house, Caritrage Rod's nuts.<br />

Suggested solutions:<br />

* For the parts that tend to rotate, adding to holding points that will prevent<br />

the rotation.<br />

* 3D printing all the parts togrther.<br />

4) A mechanisem that streches the wire back so the wire will have mote<br />

tension. the mechanism must act in a force that lower then 3 [kg] so the<br />

robot still pull the wire from the Caritage.<br />

Suggested solutions:<br />

Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

* Using the Measure tape rolling mechanisem and adjusting it to the<br />

SPINNERET<br />

Technion Architecture & Town Planning Faculty<br />

97


Report num.2<br />

Team<br />

<strong>Yarden</strong> Elah , <strong>Kobi</strong> Laham Haochen , <strong>Maria</strong> Jarrous , <strong>Or</strong> Shetret<br />

Date 16.1.2019<br />

Movement Test V2.0<br />

Testing the movement of the KUKA :<br />

1- Reading the temperature of the chosen screws with the help of the temperature reading<br />

camera attached to the improved module.<br />

2- Creating 1 linear line wrapping around 4 screws after reading the different temperatures.<br />

3- Creating Hyperbolic grid without glue.<br />

Location<br />

Research Lab of Digital Architecture<br />

Module Type (Input Receiver)<br />

- wooden Board with 4 screws in 1 line.<br />

- 2 wooden board with 4*4 screws in grid.<br />

grid size: 26.7*26.7 cm 2<br />

Robot Information<br />

Model<br />

KUKA arm model KR6 - 10 R<br />

900<br />

Starting point<br />

X = 136 , Y = 0 , Z = 12<br />

A = 0 , B = 0 , C = 0<br />

Tool num<br />

15<br />

Materials<br />

Knitting white wire.<br />

Module Type (Tool: Head V2.0)<br />

P.L.A 3D printed improved Module.<br />

Expectations<br />

- performing the scan and reading 3 or<br />

4 different temperatures.<br />

- creating an inclined wire wrapping<br />

around 3 nails.<br />

- successfully creating a hyperbolic grid<br />

weaved in two directions continuously.<br />

Performing Temperature Reading<br />

98


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

STEPS (for all 4 movements)<br />

1) Positioning of test board in accordance to the 3D Rhino Model and the KUKA arm.<br />

2) Tightening the test board to the table with cleaves.<br />

3) Bringing the KUKA head to the starting point (Manual).<br />

4) Tying the wire around the first screw.<br />

5) Starting the KUKA movement.<br />

6) The robot will follow the path that is defined by the Grasshopper code.<br />

7) The Spinneret will wrap the wire around the screws using a unique radius code.<br />

8) Stopping the movement at the ending point (Manual).<br />

9) Cutting the wire & Tying it around the ending point. (Manual – Last screw of the<br />

motion)<br />

Hyperbolic Woven Grid<br />

Technion Architecture & Town Planning Faculty<br />

99


100


Conclutions:<br />

Summary:<br />

the spinerret evenually broke in the last test, and the reason was that the<br />

wire got too tensed which caused for the cartridge rod to break.<br />

However, despite all thath, everything else worked and the weaving and<br />

temperature reading was successful.<br />

1) weakening the tention of the wire that is being weaved .<br />

Suggested solutions:<br />

* Making the wire wheel a bit more loose so that it will allow better spinning<br />

and less pulling back.<br />

2) strengthening the tool's parts: Pipe House and glue container.<br />

Suggested solutions:<br />

Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

* Making the House Pipe from a stronger material as it gets a big moment<br />

from all tention that the wire gets.<br />

* The glue container attachment was a bit loose there for matching between<br />

the sizes of the female and male parts of the connection must be done.<br />

Technion Architecture & Town Planning Faculty<br />

101


Preparation For Report num.3<br />

Team<br />

<strong>Yarden</strong> Elah , <strong>Kobi</strong> Laham Haochen , <strong>Maria</strong> Jarrous , <strong>Or</strong> Shetret<br />

Date 16.1.2019<br />

Extra Tests<br />

more codes and materials were prepared for future use.<br />

Movement Test V3.0<br />

Testing the movement of the KUKA:<br />

1- Creating a Flat Grid that wraps all the screws in the planned motion.<br />

2- Creating the same grid that wraps all the screws but this time with incline regarding the<br />

read temperatures.<br />

3- Creating Hyperbolic grid with glue.<br />

Location<br />

Research Lab of Digital Architecture<br />

Module Type (Input Receiver)<br />

2 wooden boards with 4*4 screws in grid.<br />

grid size: 26.7*26.7 cm 2<br />

Materials<br />

- Knitting white wire.<br />

- Epoxy Glue combined with Super<br />

glue.<br />

Module Type (Tool: Head V2.0)<br />

P.L.A 3D printed improved Module with<br />

glue bucket.<br />

Robot Information<br />

Model<br />

KUKA arm model KR6 - 10 R 900<br />

Starting point<br />

X = 136 , Y = 0 , Z = 12<br />

A = 0 , B = 0 , C = 0<br />

Tool num<br />

15<br />

Expectations<br />

- weaving a whole flat grid.<br />

- weaving an inclined grid which<br />

demands control of some of the<br />

heating pads.<br />

- weaving the same hyperbolic grid<br />

from the previous test but this time<br />

with glue.<br />

102


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

STEPS<br />

1) Positioning of test board in accordance to the 3D Rhino Model and the KUKA arm.<br />

2) Tightening the test board to the table with cleaves.<br />

3) attaching the bucket filled with glue (Only for test with glue).<br />

4) Bringing the KUKA head to the starting point (Manual).<br />

5) Tying the wire around the first screw.<br />

6) Starting the KUKA movement.<br />

7) The robot will follow the path that is defined by the Grasshopper code.<br />

8) The Spinneret will wrap the wire around the screws using a unique radius code.<br />

9) Stopping the movement at the ending point (Manual).<br />

10) Cutting the wire & Tying it around the ending point. (Manual – Last screw of the<br />

motion).<br />

Technion Architecture & Town Planning Faculty<br />

103


Part<br />

III


Bibliography:<br />

Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

1. Sheil,B(2012) Manufacturing the bespoke : Making and prototyping architecture. ed. Bob Sheil.<br />

Chichester: John Wiley<br />

2. Menges,A , Sheil B, Glynn R (2017) , Fabricate: Rethinking Design and Construction, London,<br />

UCL Press. , pg. 179-293<br />

3. Sabin E.J, Jones, P.L , LabStudio: Design Research Between Architecture and Biology, (London & New<br />

York: Routledge Taylor and Francis, 2017).<br />

4. Gramazio F. , Kohler M., Willmann J., (2014) THE ROBOTIC TOUCH, How Robots Change Architecture,<br />

Zurich, Park Books.<br />

5. Kieran, S. & Timberlake J. (2004). Refabricating Architecture. How Manufacturing Methodologies Are<br />

Poised to Transform Building Construction, McGraw–Hill, New York<br />

Web Resources:<br />

http://www.robofold.com/<br />

http://gramaziokohler.arch.ethz.ch/<br />

http://www.robotsinarchitecture.org/membership<br />

Publoications by Sigrid Brell-Cokcan and Johannes Braumann<br />

http://www.robotsinarchitecture.org/robarch-publications<br />

https://robodk.com/doc/en/Basic-Guide.html#Start<br />

Karl Singline -Youtube<br />

https://www.youtube.com/channel/UCH166BcWXSEYoTwiZGVLy3w<br />

https://vimeo.com/robotsinarchitecture/videos<br />

https://www.youtube.com/c/RoboDK3D/videos<br />

https://sites.math.washington.edu/~ebekyel/Math126/Spiral.html<br />

https://www.designindaba.com/videos/conference-talks/basia-dzaman-intersection-robotics-and-creativity<br />

Technion Architecture & Town Planning Faculty<br />

107


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

REFERENCE<br />

Elytra Filament Pavilion - Victoria & Albert Museum by;<br />

University of Stuttgart<br />

http://icd.uni-stuttgart.de/?p=16443<br />

Technion Architecture & Town Planning Faculty<br />

108


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

REFERENCE<br />

ICD/ITKE Research Pavilion by;<br />

University of Stuttgart<br />

http://icd.uni-stuttgart.de/?p=18905<br />

Technion Architecture & Town Planning Faculty<br />

109


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

REFERENCE<br />

KnitCandela - A flexibly formed thin concrete shell at MUAC by;<br />

BRG<br />

http://block.arch.ethz.ch/brg/project/knit-candela-muac-mexico-city<br />

Technion Architecture & Town Planning Faculty<br />

110


Applied Research Laboratory _ DMT I Desruptive Material Technology<br />

TOOL INSPIRATION<br />

The intersection of robotics and creativity by;<br />

Basia Dzaman<br />

https://www.designindaba.com/videos/conference-talks/basia-dzaman-intersection-robotics-andcreativity<br />

Technion Architecture & Town Planning Faculty<br />

111

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!