Encoded Matter Workshop

Page 1

ENCODED MATTER Rob STUART-SMITH | Tyson HOSMER Omar IBRAZ | Andrius LAURINAITIS Deniz TOPCUOGLU | Maria TOULOUPOU AADRL | 2015



INDEX Workshop Methodology ...........................01 Multiple Agent Simulations ......................03 Family_01 .....................................05 Family_02 ......................................11 Family_03 .....................................17 Family_04 .....................................23 Family_05 .....................................29 CNC Milling Tests ....................................33 Real Time Milling ......................................37 Family_01 ......................................39 Family_02 .....................................43 Real Time Milling Failures ........................49 RGB Simulations .....................................53 Real Time Milling with Arduino .................59 Further Investigation ................................67



Workshop Methodology | 01

Methodology Encoding Matter aims to fuse environment sensing, robotic behaviour, and algorithmic design within a singular design-production process. The workshop will undertake three core areas of investigation; environmental perception, computer simulation, and production. Robot computer vision using technologies such as Arduino will enable various sensor and visual perception functionalities to be added to standard production equipment such as CNC milling machines. Computer simulations will be developed in Processing that consist of event driven rules that relate robot perceptions to fabrication machinery operations in real- time. Simulations will provide feedback mechanisms where a machine is able to perceive the impact of its previous activities and utilise this to drive its subsequent operations. The work is able to operate within subtractive and additive manufacturing paradigms through real-time control of machines that utilise the material world they alter as a form of feedback, ensuring a generative production process recasts production as a design orientated process.


02 | Multiple Agent Simulations


Multiple Agent Simulations | 03

Multiple Agent Simulations

Multiple agent simulations are the representative way of swarming and flocking behaviours of agents. The relations between these particles define the characteristics of each agent itself and within the swarm and their behavioural actions in forming patterns. Cohesion, separation, alignment and wander are the basic relations analysed. Trail investigations are also a part of the behavioral analysis of the agents. The structured randomness in the overall swarm attitudes is the digital and coded part of the entire process. Constants & Variables - initial position (pos) - number of initial agents - number of added agents (mousePressed) - cohesion (coh) - separation (sep) - alignment (ali) - wander (wan) - trail (tra) - swim (swim) - rotation (rot) - range of vision (rangeOfVis) - types of agents (type) - velocity (vel) - maximum velocity (maxVel) - maximum force (maxForce)


04 | Multiple Agent Simulations _ Family 01


Multiple Agent Simulations _ Family 01 | 05

Family_01 Constants - types of agents (type) - initial position (pos) - number of initial agents - Agent Behaviors - separation (sep) - wander (wan) - range of vision (rangeOfVis) - velocity (vel) - maximum velocity (maxVel) - maximum force (maxForce) Variables - Agent Behaviors - cohesion (coh) - alignment (ali) - swim (swim)

Data for Constants - (type) = 1 - (pos) = random - no. of agents = 500 - Agent Behaviors - (sep) = 0.2 - (wan) = 0.1 - (rangeOfVis) = 140 - (vel) = random(-10,10) - (maxVel) = 3 - (maxForce) = 3


06 | Multiple Agent Simulations _ Family 01

cohesion | (0.05); separation | (0.2); alignment | (0.08); wander | (0.1); swim | (1.0); range of vision = 140;

100

400

200

500

300

600


Multiple Agent Simulations _ Family 01 | 07

cohesion | (0.05); separation | (0.2); alignment | (0.7); wander | (0,1); swim | (1.0); range of vision = 140;

100

400

200

500

300

600


08 | Multiple Agent Simulations _ Family 01

cohesion | (0.05); separation | (0.5); alignment | (0.2); wander | (0.1); swim | (2.0); range of vision = 140;

100

400

200

500

300

600


Multiple Agent Simulations _ Family 01 | 09

Simulation_01 Frame_100

Simulation_02 Frame_600


10 | Multiple Agent Simulations _ Family 02


Multiple Agent Simulations _ Family 02 | 11

Family_02 Constants - types of agents (type) - initial position (pos) - number of initial agents - range of vision (rangeOfVis) - velocity (vel) - maximum velocity (maxVel) - maximum force (maxForce) Variables - Agent Behaviors - cohesion (coh) - separation (sep) - alignment (ali) - wander (wan) - rotation (rot)

Data for Constants - (type) = 2 - (pos) = (boxheight/2, boxwidth/2) - no. of agents = 250+250 - (rangeOfVis) = 140 - (vel) = random(-5,5) - (maxVel) = 5 - (maxForce) = 3


12 | Multiple Agent Simulations _ Family 02

cohesion | (0.05); separation | (0.2); alignment | (0.2); wander | (0.01); rotation | (2.0); range of vision = 140;

50

200

100

250

150

300


Multiple Agent Simulations _ Family 02 | 13

cohesion | (0.2); separation | (0.1); alignment | (0.08); wander | (0.05); rotation | (2.5); range of vision = 140;

50

200

100

250

150

300


14 | Multiple Agent Simulations _ Family 02

cohesion | (0.2); separation | (0.1); alignment | (0.08); wander | (0.05); rotation | (5.0); range of vision = 140;

100

400

200

500

300

600


Multiple Agent Simulations _ Family 02 | 15

cohesion | (0.2); separation | (0.15); alignment | (0.08); wander | (0.05); rotation | (4.0); range of vision = 140;

50

200

100

250

150

300


16 | Multiple Agent Simulations _ Family 03


Multiple Agent Simulations _ Family 03 | 17

Family_03 Constants - types of agents (type) - initial position (pos) - number of initial agents - range of vision (rangeOfVis) - velocity (vel) - maximum velocity (maxVel) - maximum force (maxForce) Variables - Agent Behaviors - cohesion1 (coh1) - separation1 (sep1) - alignment1 (ali1) - wander1 (wan1) - cohesion2 (coh2) - separation2 (sep2) - alignment2 (ali2) - wander2 (wan2)

Data for Constants - (type) = 2 - (pos) = (boxheight/2, boxwidth/2) - no. of agents = 250+250 - (rangeOfVis1) = 140 - (rangeOfVis2) = 140 - (vel1) = random(-5,5) - (vel2) = random(-2,2) - (maxVel1) = 5 - (maxVel2) = 2 - (maxForce) = 3.5


18 | Multiple Agent Simulations _ Family 03

cohesion | (0.05); separation | (0.5); alignment | (0.08); wander | (0.1); cohesion | (0.05); separation | (0.2); alignment | (0.08); wander | (0.1);

100

400

200

500

300

600


Multiple Agent Simulations _ Family 03 | 19

cohesion | (0.05); separation | (0.5); alignment | (0.08); wander | (0.1); cohesion | (0.01); separation | (0.5); alignment | (0.01); wander | (0.05);

100

400

200

500

300

600


20 | Multiple Agent Simulations _ Family 03

cohesion | (0.3); separation | (0.1); alignment | (0.05); wander | (0.9); cohesion | (0.2); separation | (0.1); alignment | (0.08); wander | (0.5);

50

200

100

250

150

300


Multiple Agent Simulations _ Family 03 | 21

cohesion | (0.1); separation | (0.1); alignment | (0.2); wander | (0.1); cohesion | (0.2); separation | (0.2); alignment | (0.3); wander | (0.1);

150

600

300

750

450

900


22 | Multiple Agent Simulations _ Family 04


Multiple Agent Simulations _ Family 04 | 23

Family_04 Constants - types of agents (type) - initial position (pos) - number of initial agents - velocity (vel) - maximum velocity (maxVel) - maximum force (maxForce) Variables - Agent Behaviors - cohesion (coh) - separation (sep) - alignment (ali) - wander (wan) - trail (tra) - separation1 (sep1) - range of vision (rangeOfVis) - no. of added agents (mousePressed)

Data for Constants - (type) = 1 - (pos) = random (0,0) - no. of agents = 450 - (vel) = random(-10,5) - (maxVel) = 5 - (maxForce) = 3


24 | Multiple Agent Simulations _ Family 04

cohesion | (0.3); separation | (0.3); alignment | (0.1); wander | (0.1); trail | (0.6); separation1 | (5.0);

cohesion | (0.1); separation | (0.5); alignment | (0.05); wander | (0.1); trail | (0.9); separation1 | (3.0);

range of vision = 150; mousePressed count = 3

range of vision = 150; mousePressed count = 4

100

100

200

200

300

300

400

400


Multiple Agent Simulations _ Family 04 | 25

cohesion | (0.1); separation | (0.3); alignment | (0.6); wander | (0.1); trail | (0.6); separation1 | (5.0);

cohesion | (0.1); separation | (0.6); alignment | (0.6); wander | (0.1); trail | (0.6); separation1 | (5.0);

range of vision = 150; mousePressed count = 5

range of vision = 75; mousePressed count = 3

250

100

500

200

750

300

1000

400


26 | Multiple Agent Simulations _ Family 04

cohesion | (0.1); separation | (0.6); alignment | (2.0); wander | (0.1); trail | (0.6); separation1 | (5.0);

cohesion | (0.5); separation | (0.5); alignment | (0.1); wander | (0.5); trail | (0.6); separation1 | (5.0);

range of vision = 225; mousePressed count = 2

range of vision = 150; mousePressed count = 5

100

100

200

200

300

300

400

400


Multiple Agent Simulations _ Family 04 | 27

cohesion | (0.1); separation | (0.3); alignment | (0.6); wander | (2.0); trail | (0.6); separation1 | (5.0);

cohesion | (0.3); separation | (0.6); alignment | (0.6); wander | (2.0); trail | (0.6); separation1 | (5.0);

range of vision = 150; mousePressed count = 3

range of vision = 75; mousePressed count = 5

100

250

200

500

300

750

400

1000


28 | Multiple Agent Simulations _ Family 05


Multiple Agent Simulations _ Family 05 | 29

Family_05 Constants - types of agents (type) - initial position (pos) - number of initial agents - velocity (vel) - maximum velocity (maxVel) - maximum force (maxForce) Variables - Agent Behaviors - cohesion (coh) - separation (sep) - alignment (ali) - wander (wan) - trail (tra) - separation1 (sep1) - range of vision (rangeOfVis) - no. of added agents (mousePressed)

Data for Constants - (type) = 2 - (pos) = random (0,0) - no. of agents = 250+250 - (vel) = random(-10,10) - (maxVel) = 5 - (maxForce) = 3


30 | Multiple Agent Simulations _ Family 05

cohesion | (0.1); separation | (0.9); alignment | (0.9); wander | (0.1); trail | (2.0); separation1 | (1.0); range of vision = 140; mousePressed count = 3

100

400

200

500

300

600


Multiple Agent Simulations _ Family 05 | 31

cohesion | (0.05); separation | (0.3); alignment | (7.0); wander | (10.0); trail | (10.0); separation1 | (5.0); range of vision = 150; mousePressed count = 4

300

1200

600

1500

900

1800


32 | CNC Tests


CNC Tests | 33

CNC Milling Tests

CNC milling tests provide us the experience and knowledge for the working principles of the cnc machine, drill tools’ behaviours under certain parameters, such as material-drill relation, material density, tool examination or possibilities of the milling. Regarding this knowledge, the next step, real-time milling is easier to investigate. CNC is the material and mechanic part of the process.

Constants & Variables - method - material - white foam (density +) - blue foam (density ++) - white foam (density +++) - yellow foam (density ++++) - max depth - cutting tool - passes - cnc machine settings


34 | CNC Tests

Method: Frame Milling Material: Blue Foam (density ++) Max Depth: 10mm Cutting Tool: Ball Drill 3mm

Method: Frame Milling Material: Blue Foam (denisty ++) Max Depth: 10mm Cutting Tool: Ball Drill 3mm


CNC Tests | 35

Method: Frame Milling Material: Blue Foam (denisty ++) Max Depth: 10mm Cutting Tool: Ball Drill 3mm


36 | Real Time Milling


Real Time Milling | 37

Real-time Milling

Real-time milling functions work as a bridge between the computer |processing| and the machine |CNC|. The code that is running in the computer directly controls the behaviour of the drill, including its depth, direction and movement, according to the realtime changing situations in the code.

Constants & Variables - method - material - white foam (density +) - blue foam (density ++) - white foam (density +++) - yellow foam (density ++++) - max depth - cutting tool - passes - cnc machine settings


38 | Real Time Milling _ Family 01


Real Time Milling _ Family 01 | 39

Family_01


40 | Real Time Milling _ Family 01

Material: Blue Foam (density ++) Max Depth: 40mm Cutting Tool: 3mm Ball Bit Passes: 1 Pass

Material: Blue Foam (density ++) Max Depth: 40mm Cutting Tool: 3mm Ball Bit Passes: 1 Pass

Random Depth for agents

Perlin Noise for Depth


Real Time Milling _ Family 01 | 41

Material: Blue Foam (density ++) Max Depth: 40mm Cutting Tool: 3mm Ball Bit Passes: 1 Pass Sine Function for Depth


42 | Real Time Milling _ Family 02


Real Time Milling _ Family 02 | 43

Family_02


44 | Real Time Milling _ Family 02

Material: Blue Foam (density ++) Max Depth: 40mm Cutting Tool: Point Bit

Material: Yellow Foam (density ++++) Max Depth: 40mm Cutting Tool: 3mm Flat Bit

Passes: 5 Passes

Passes: 5 Passes


Real Time Milling _ Family 02 | 45

Material: Blue Foam (density ++) Max Depth: 40mm Cutting Tool: 6mm Ball Bit

Material: Blue Foam (density ++) Max Depth: 50mm Cutting Tool: 6mm Ball Bit 6mm Conical Bit

Passes: 8 Passes Passes: 8 Passes


46 | Real Time Milling _ Family 02

Material: Blue Foam (density ++) Max Depth: 40mm Cutting Tool: Point Bit 6mm Conical Bit

Material: Yellow Foam (density ++++) Max Depth: 40mm Cutting Tool: Point Bit Passes: 10 Passes

Passes: 8 Passes


Real Time Milling _ Family 02 | 47

Material: Yellow Foam (density ++++) Max Depth: 40mm Cutting Tool: 3mm Ball Bit

Material: Yellow Foam (density ++++) Max Depth: 40mm Cutting Tool: 6mm Conical Bit

Passes: 8 Passes

Passes: 5 Passes


48 | Real Time Milling _ Failures


Real Time Milling _ Failures | 49

Real Time Milling Failures

Constants & Variables - failure no.1 | coding a mistake in the processing code occured - failure no.2 | drill bit wrong drill bit is chosen - failure no.3 | z-depth wrong depth value is arranged for the z-axis


50 | Real Time Milling _ Failures

Failure 01: Coding

Failure 02: Drill Bit

Material: Blue Foam (density ++) Max Depth: 40mm Cutting Tool: 3mm Ball Bit

Material: Blue Foam (density ++) Max Depth: 40mm Cutting Tool: 6mm Ball Bit


Real Time Milling _ Failures | 51

Failure 03: Z-Dpeth Material: Blue Foam (density ++) Max Depth: 40mm Cutting Tool: 6mm Ball Bit


52 | RGB Simulations


RGB Simulations | 53

RGB Simulations

Regarding the RGB color coded LED light idea, RGB simulations tend to speculate on three types of agent behaviours, which change under certain rules and circumstances. In this way, the research towards the real time milling with the introduction of arduino will lay the coding background and expected behaviour of mechanical operations in unison with agent behaviours.

Constants & Variables - initial position (pos) - number of initial agents - number of added agents (mousePressed) - cohesion (coh) - separation (sep) - alignment (ali) - wander (wan) - trail (tra) - swim (swim) - avoid trail (avoidt) - range of vision (rangeOfVis) - types of agents (type) - velocity (vel) - maximum velocity (maxVel) - maximum force (maxForce)


54 | RGB Simulations _ Family 01&02

cohesion | (0.1); separation | (0.5); alignment | (0.5); wander | (0.01); trail | (15.0); trail1 | (10.0); trail2 | (20.0); separation1 | (0.5);

cohesion | (0.1); separation | (0.5); alignment | (0.5); wander | (0.01); trail | (15.0); trail1 | (10.0); trail2 | (20.0); separation1 | (0.5);

range of vision = 140; mousePressed count = 3

range of vision = 140; mousePressed count = 3

100

100

200

200

300

300

400

400


RGB Simulations_Family 03&04 | 55

cohesion | (0.1); separation | (0.5); alignment | (0.5); wander | (0.01); trail | (15.0); trail1 | (10.0); trail2 | (20.0); separation1 | (0.5);

cohesion | (0.3); separation | (0.3); alignment | (0.5); wander | (0.1); trail | (15.0); trail1 | (10.0); trail2 | (20.0); separation1 | (0.5);

range of vision = 140; mousePressed count = 3

range of vision = 140; mousePressed count = 3

100

100

200

200

300

300

400

400


56 | RGB Simulations _ Family 05&06

cohesion | (0.3); separation | (0.3); alignment | (0.5); wander | (0.05); trail | (15.0); trail1 | (10.0); trail2 | (20.0); separation1 | (0.5);

cohesion | (0.4); separation | (0.5); alignment | (0.5); wander | (0.05); trail | (15.0); trail1 | (10.0); trail2 | (20.0); separation1 | (0.7);

range of vision = 140; mousePressed count = 3

range of vision = 140; mousePressed count = 3

100

100

200

200

300

300

400

400


RGB Simulations_Family 07&08 | 57

cohesion | (0.3); separation | (0.5); alignment | (0.5); wander | (0.05); trail | (15.0); trail1 | (10.0); trail2 | (20.0); separation1 | (0.7);

cohesion | (0.001); separation | (0.3); alignment | (7.0); wander | (0.01); trail | (15.0); trail1 | (10.0); trail2 | (20.0); separation1 | (0.5);

range of vision = 140; mousePressed count = 3

range of vision = 140; mousePressed count = 3

100

100

200

200

300

300

400

400


58 | Real Time Milling with Arduino


Real Time Milling with Arduino | 59

Real-time Milling with Arduino

Task: To create a behavioural loop inbetween three mediums of action - machine, matter and code. Approach: Arduino acts as a connecting medium, taking values, transfering them, so the loop could go on. Process: The light has been selected as a tool to trigger data flow for taking measurements and making desicions. Proximity sensor adds same value of importance in decision making. The color of the light, underneath the foam, is sensed by the RGB sensor. Value has been taken by Arduino and sent to the Processing. In various situations, and agent behaviour, the operations of drill bit changes while milling. The removed foam lets light to shine through, yet changing the values of RGB sensors - changing the values in the Processing.

Constants & Variables - method - material - white foam (density +) - blue foam (density ++) - white foam (density +++) - yellow foam (density ++++) - max depth - cutting tool - passes - cnc machine settings


60 | Real Time Milling with Arduino Material Catalogue

White Foam 19 kg/m 3

Density Increase

Blue Foam 30 kg/m 3

White Foam 38 kg/m 3

Yellow Foam 240 kg/m 3

Drill Bit Catalogue

3mm Ball Bit

3mm Flat Bit

6mm Ball Bit

6mm Rough Bit

6mm Conical Bit

Point Bit


Real Time Milling with Arduino | 61

AGENT CODE (PROCESSING)

ARDUINO CODE

Feedback Loop

CNC

SENSORS

MDX - 540

LIGHT COLOR DISTANCE

(r, g, b, dist); color

distance

Sensor Kit Color Sensor Distance Sensor

Blue/Orange/White Foam

4 Wires ground red green blue

LED Light Strips

Card Board


62 | Real Time Milling with Arduino

100

200

300


Real Time Milling with Arduino | 63

400

500

600


64 | Real Time Milling with Arduino


RGB RealSimulations_Family Time Milling with Arduino 03&04| |65 15

Material: White Foam (density +) Max Depth: 40mm Cutting Tool: 3mm Ball Bit Passes: 8 Passes

Material: White Foam (density +) Max Depth: 40mm Cutting Tool: 3mm Ball Bit Passes: 8 Passes

Material: White Foam (density +++) Max Depth: 40mm Cutting Tool: 3mm Ball Bit Passes: 8 Passes


66 | Further Investigation


Further Investigation | 67

Further Investigation

In general, the development of approach is clear and for future cuts few points should be introduced: - Local behaviour versus global behaviour. At the moment, the LED and RGB sensor connection relation is more global. Playing with the three elements alltogether (Material properties, Sensor positioning, coding), could lead to increase in resolution, i.e, the the decisions and behaviours are dependent on the one position, but at the same time they are related to global circumstances. - Different LED positioning underneath working foam, could lead into different results. - Writing the code in 3D space, combining the play in-between Machinic Z axis and virtual Z axis.



Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.