Sei sulla pagina 1di 17

Underneath the streets of Toronto lies a 30 km network of

underground passages and nodes that connects the city


core from one end to the other. This transport based infra-
structure serves over 100,000 users every day, providing
them access to 2 subway lines, 6 subway stations, a na-
tional bus terminal, regional transit terminal, 50 buildings
and offices, 20 parking garages, 2 department stores, 6 ho-
tels, and some of Toronto’s major tourist sites. According to
the Guiness Book of World Records, this climate controlled
tunnel is the largest underground shopping network in
the world.

One of the key characteristics of the PATH is its composi-


tion of non discrete illegible spaces that have resulted in
pockets of uncoordinated space which are confusing and
disorienting.

Sources:
Belanger, Pierre. Underground Landscape: The Urbanism and Infrastructure
of Toronto’s Downtown Pedestrian Network. Science Direct: Tunnelling and
Underground Space Technology 22 (2007): 272-292.
250 m
North City of Toronto. < http://www.toronto.ca/path/>

PATH base map


The majority of the underground tunnel is considered pri-
vate property belonging to the property through which it
runs. This portion adheres to strict rules that allow a high
level of control.

However, the linkages that exist between corporate spaces


are in fact public. There are 30 such linkages. They exist as
isolated moments within the larger network. The occur-
rence of these spaces coincides with the passage of the
tunnel underneath the streets of Toronto as apposed to
underneath buildings. All together these spaces constitute
3770 cubic meters of nondescript land that is available to
be reconfigured to provide a higher level of legibility and
connectivity within the underground PATH network.

Sources:
Belanger, Pierre. Underground Landscape: The Urbanism and Infrastructure
of Toronto’s Downtown Pedestrian Network. Science Direct: Tunnelling and
Underground Space Technology 22 (2007): 272-292.
City of Toronto. < http://www.toronto.ca/path/>
250 m Public Sphere.
North

PATH base map_public spaces


Bay Street underpass_01
Dundas Street W underpas_01
Yonge Street underpass_01
James Street & Albert Street underpass_01
Queen Street W underpass_01
Queen Street W underpass_02
Yonge Street underpass_02
Bay Street underpass_02
Richmond Street W underpass_01
Richmond Street W underpass_02
Temperance Street underpass_01
York Street underpass_01
Adelaide Street W underpass_01
King Street W & Simcoe Street_01
King Street W underpass_01
Bay Street underpass_03
Yonge Street underpass_03
York Street underpass_02
King Street W underpass_02
King Street W underpass_03
King Street W underpass_04
York Street underpass_03
Bay Street underpass_04
Wellington Street W underpass_01
Wellington Street W underpass_02
Wellington Street W underpass_03
Piper Street underpass_01
Bay Street underpass_05
Front Street W underpass_01
York Street underpass_04

Total area_3770 m2

PATH base map_public spaces


One method of reclaiming these independent moments of
public space is to think of them not as individual spaces
but as a system of connected nodes or cells that function
based loosely on principles of cellular automata.

Cellular Automata is an interactive system in which each


cell is continuously aware of the conditions of its neighbor-
ing cells and responds according to a set number of rules.
The result is a dynamic system that is continuously learn-
ing about its surroundings and readjusting its response ac-
cordingly.

The public spaces within the path can also be thought of


as individual cells in a larger interactive system. Each cell
can be designed to be aware of the physical conditions of
its neighboring cells and have a response that is directly
dependant on the information it receives. Furthermore,
each cell can have the ability to constantly update its own
conditions based on the changing inputs it receives.

PATH base map_public spaces


CELLULAR AUTOMATA

A regular grid of cells with finite states and a defined neighbourhood.


any dimension eg. on/off eg. A cell’s neighbourhood can be itself and its
surrounding cells in any direction up to 2 cells distance.

Time = 0
Cells are given a defined state to begin with.
First Order
Second Order

Time
Ti = 1 unit
generation
ge 1
Each cell assesses its own state and the state of its neighbours and responds according to a set of rules.
according to some fixed rule eg. If 2 or more neighbours are ‘on’,
turn ‘off.’ Otherwise, remain ‘on’
Reactive
Interactive

Time = 2 unit
Ti
g
generation 2
Each cell re-asesses its own state and the state of its neighbours and responds according to a set of rules.
Static (input only)

typically the rules are the same for all cells


Time = 3 unit
Ti and are applied to all cells simultaneously.
generation 3
g
Dynamic

Time = 4 unit
Ti
generation 4
g

SYSTEMS
x

0,0 1,0 2,0 3,0 4,0 5,0 6,0 7,0 8,0 9,0 10,0 11,0 12,0 13,0 14,0 15,0

0,1 1,1 2,1 3,1 4,1 5,1 6,1 7,1 8,1 9,1 10,1 11,1 12,1 13,1 14,1 15,1

0,2 1,2 2,2 3,2 4,2 5,2 6,2 7,2 8,2 9,2 10,2 11,2 12,2 13,2 14,2 15,2

0,3 1,3 2,3 3,3 4,3 5,3 6,3 7,3 8,3 9,3 10,3 11,3 12,3 13,3 14,3 15,3

0,4 1,4 2,4 3,4 4,4 5,4 6,4 7,4 8,4 9,4 10,4 11,4 12,4 13,4 14,4 15,4

0,5 1,5 2,5 3,5 4,5 5,5 6,5 7,5 8,5 9,5 10,5 11,5 12,5 13,5 14,5 15,5

0,6 1,6 2,6 3,6 4,6 5,6 6,6 7,6 8,6 9,6 10,6 11,6 12,6 13,6 14,6 15,6

0,7 1,7 2,7 3,7 4,7 5,7 6,7 7,7 8,7 9,7 10,7 11,7 12,7 13,7 14,7 15,7
y 2,8 3,8 15,8
0,8 1,8 4,8 5,8 6,8 7,8 8,8 9,8 10,8 11,8 12,8 13,8 14,8

0,9 1,9 2,9 3,9 4,9 5,9 6,9 7,9 8,9 9,9 10,9 11,9 12,9 13,9 14,9 15,9

0,10 1,10 2,10 3,10 4,10 5,10 6,10 7,10 8,10 9,10 10,10 11,10 12,10 13,10 14,10 15,10

0,11 1,11 2,11 3,11 4,11 5,11 6,11 7,11 8,11 9,11 10,11 11,11 12,11 13,11 14,11 15,11

0,12 1,12 2,12 3,12 4,12 5,12 6,12 7,12 8,12 9,12 10,12 11,12 12,12 13,12 14,12 15,12

0,13 1,13 2,13 3,13 4,13 5,13 6,13 7,13 8,13 9,13 10,13 11,13 12,13 13,13 14,13 15,13

0,14 1,14 2,14 3,14 4,14 5,14 6,14 7,14 8,14 9,14 10,14 11,14 12,14 13,14 14,14 15,14

0,15 1,15 2,15 3,15 4,15 5,15 6,15 7,15 8,15 9,15 10,15 11,15 12,15 13,15 14,15 15,15

0,16 1,16 2,16 3,16 4,16 5,16 6,16 7,16 8,16 9,16 10,16 11,16 12,16 13,16 14,16 15,16

0,17 1,17 2,17 3,17 4,17 5,17 6,17 7,17 8,17 9,17 10,17 11,17 12,17 13,17 14,17 15,17

0,18 1,18 2,18 3,18 4,18 5,18 6,18 7,18 8,18 9,18 10,18 11,18 12,18 13,18 14,18 15,18

0,19 1,19 2,19 3,19 4,19 5,19 6,19 7,19 8,19 9,19 10,19 11,19 12,19 13,19 14,19 15,19

0,20 1,20 2,20 3,20 4,20 5,20 6,20 7,20 8,20 9,20 10,20 11,20 12,20 13,20 14,20 15,20

0,21 1,21 2,21 3,21 4,21 5,21 6,21 7,21 8,21 9,21 10,21 11,21 12,21 13,21 14,21 15,21

0,22 1,22 2,22 3,22 4,22 5,22 6,22 7,22 8,22 9,22 10,22 11,22 12,22 13,22 14,22 15,22

0,23 1,23 2,23 3,23 4,23 5,23 6,23 7,23 8,23 9,23 10,23 11,23 12,23 13,23 14,23 15,23

active cell inactive cell 11,22 active cell 12,23


inactive cell

In order to simulate Cellular Automata, two options exist. The first is to superimpose a grid on top of the public spaces and force
each space to conform into a square or rectangular shape according to the structure of the grid. This method creates a 16 x 24 grid
with 384 cells. However, only 36 of the cells can be considered active since the remainder of the cells do not contain a public space.
This must be accounted for when constituting the rules of cellular automata, otherwise, some cells may remain inactive in future
generations and the system may reach a standstill.

Option 1_superimposed grid


PATH base map_public spaces
Option 2_cells reconfigured to grid
x

0,0 1,0 2,0 3,0 4,0

0,1 1,1 2,1 3,1 4,1

y 0,2 1,2 2,2 3,2 4,2

0,3 1,3 2,3 3,3 4,3

0,4 1,4 2,4 3,4 4,4

0,5 1,5 2,5 3,5 4,5

The second option is to rearrange the public spaces into a cell. This method insures that each cell can have an active state and there-
fore the probability of a stand still is significantly lowered. In this scenario, the cells are arranged into a 5 x 6 grid with 30 individual
cells.

This method of obtaining a grid of cells will be used for the remainder of this project due to its advantage over the first.

Option 1_superimposed grid


PATH base map_public spaces
Option 2_cells reconfigured to grid
n=1

n=2

n=3

n=4

n=5

n=1 neighbours at distance of 1 unit


n=2 neighbours at distance of 2 unit
n=3 neighbours at distance of 3 unit
n=4 neighbours at distance of 4 unit
n=5 neighbours at distance of 5 unit

The first possible way to define a cells range of awareness or its neighbours is in a radial fashion. Here, a cells neighbour is defined
by its distance from the cell itself. For example, cells that immediately surround the sensing cell are its first group of neighbours,
n=1, etc. In this scenario, the minimum number of neighbour groups is 3 and the maximum number is 5. While this method is most
often used, it provides little information about the location of the sensing cell in relation to the whole since each cell understands
its surrounding neighbours regardless of its location.

Option 1_superimposed grid Option 1_Radial neighbours


PATH base map_public spaces
Option 2_cells reconfigured to grid Option 2_directional neighbours
n=1

n=2

n=3

n=4 CORE n=3

n=2

n=1

CELL CORE

range of unawareness range of unawareness

range of awareness

The second way to define a cells range of awareness is in a directional fashion. The first step here is to define a core. For this project,
the cells lying along King Street W have been chosen as the core of the system due to their relative location in the centre and due to
the fact that they are the areas of the PATH most densely used, especially during rush hour. Once the core is defined, a sensing cell’s
neighbours are grouped according to their distance from the sensing cell up to and including the core. In this scenario, the mini-
mum number of neighbour groups is 3 and the maximum number is 4. This method allows each cell to have a higher understanding
of its distance to the centre and therefore a spatial relation is defined for the cells as a larger system.

This method of defining neighbours will be used for this project due to its advantage in setting up a spatial relation.

Option 1_superimposed grid Option 1_Radial neighbours


PATH base map_public spaces
Option 2_cells reconfigured to grid Option 2_directional neighbours
Sensing Cell (4,3)

Laser sensors will detect


motion and speed.
The lasers will emit thin
rays of red beam and
record instances when
the rays are interrupted
to determine presence
of a passerby.

Computer A
Actuating Cell (4,5) The information will be stored in
computer A.
A pixilated panel made up of LEDs will obtain the information and translate it
into various colours that move across the panel according to the movement
sensed from the sensing cell. Each neighbour group will be actuated in a
different colour in order to provide an understanding of the activity as a
function of distance from core.
Computer B
The information will be virtually sent
to computer B.

Source: <http://limiteazero.net/reddot/index.html>

Option 1_superimposed grid Option 1_Radial neighbours Option 1_motion & Speed
PATH base map_public spaces
Option 2_cells reconfigured to grid Option 2_directional neighbours Option 2_motion & density
Sensing Cell (4,3)

Pressure sensors embedded


as a grid in the ground will
detect presence of people
when they are activated.

As an alternative photo
sensors can be used.

Computer A
Actuating Cell (4,5) The information will be stored in
computer A.
A pixilated floor made up of LEDs will obtain the information and translate it
into various colours depending on what neighbour group the information
came from.

Computer B
The information will be virtually sent
to computer B.

Source: <http://gizmodo.com/5036418/led-floor-captures-digital-footprints>

Option 1_superimposed grid Option 1_Radial neighbours Option 1_motion & Speed
PATH base map_public spaces
Option 2_cells reconfigured to grid Option 2_directional neighbours Option 2_motion & density
n=1
n=2
n=3

250 m
North

PATH base map_public spaces Option 2_cells reconfigured to grid Option 2_directional neighbours Option 2_motion & density
Sensing Cell (1,1) Sensing Cell (0,1), (2,1), (3,1), (4,1) Sensing Cell (0,2),(1,2), (2,2), (3,2), (4,2) Sensing Cell (0,3),(1,3), (2,3), (3,3), (4,3)

Actuating Cell (1,1) Actuating Cell (1,1) Actuating Cell (1,1) Actuating Cell (1,1)

Actuating Cell (1,1)

n=1
n=2
n=3

PATH base map_public spaces Option 2_cells reconfigured to grid Option 2_directional neighbours Option 2_motion & density
250 m
North

PATH base map_public spaces Option 2_cells reconfigured to grid Option 2_directional neighbours Option 2_motion & density
n=0
n=1

sensation sensation sensation sensation

actuation actuation actuation actuation

sensation sensation sensation sensation

actuation actuation actuation actuation

Panel A - Primary Sensing Panel Panel B - Secondary Sensing Panel


Primary Actuating Panel Secondary Actuating Panel

Plexiglass panel

Plexiglass scores to distribute light


Photocell

LED

Cell Prototype
Proof of Concept Model
ground

USB Connection

to digital pins 2-5

to 5V

to digital pins 22-25


ground

1 K resistor
to analog pins 0-7

A-0 A-1 B-0 B-1

A-3 A-4 B-3 B-4

Panel A Panel B

Arduino Setup
int avrage0=0; avrage4=avrage4/20; digitalWrite(25,LOW);
int avrage1=0; for (int i=0; i<20; i++){ }
int avrage2=0; avrage7=avrage7+analogRead(7);
int avrage3=0; } if((in6<avrage6-25)||(in2<avrage2-25)){
int avrage6=0; avrage7=avrage7/20; digitalWrite(2,HIGH);
int avrage4=0; for (int i=0; i<20; i++){ }else{
int avrage7=0; avrage5=avrage5+analogRead(5); digitalWrite(2,LOW);
int avrage5=0; } }
avrage5=avrage5/20;
void setup(){ Serial.println(“System Ready”); if((in4<avrage4-25)||(in0<avrage0-25)){
Serial.begin(9600); } digitalWrite(4,HIGH);
pinMode(22,OUTPUT); }else{
pinMode(23,OUTPUT); void loop(){ digitalWrite(4,LOW);
pinMode(24,OUTPUT); int in0 = analogRead(0); }
pinMode(25,OUTPUT); int in1 = analogRead(1);
pinMode(2,OUTPUT); int in2 = analogRead(2); if((in7<avrage7-25)||(in3<avrage3-25)){
pinMode(4,OUTPUT); int in3 = analogRead(3); digitalWrite(3,HIGH);
pinMode(3,OUTPUT); int in6 = analogRead(6); }else{
pinMode(5,OUTPUT); int in4 = analogRead(4); digitalWrite(3,LOW);
int in7 = analogRead(7); }
for (int i=0; i<20; i++){ int in5 = analogRead(5);
avrage0=avrage0+analogRead(0); if((in5<avrage5-25)||(in1<avrage1-25)){
} if(in0<avrage0-80){ digitalWrite(5,HIGH);
avrage0=avrage0/20; digitalWrite(22,HIGH); }else{
for (int i=0; i<20; i++){ }else{ digitalWrite(5,LOW);
avrage1=avrage1+analogRead(1); digitalWrite(22,LOW); }
} } }
avrage1=avrage1/20;
for (int i=0; i<20; i++){ if(in1<avrage1-80){
avrage2=avrage2+analogRead(2); digitalWrite(23,HIGH);
} }else{
avrage2=avrage2/20; digitalWrite(23,LOW);
for (int i=0; i<20; i++){ }
avrage3=avrage3+analogRead(3);
} if(in2<avrage2-80){
avrage3=avrage3/20; digitalWrite(24,HIGH);
for (int i=0; i<20; i++){ }else{
avrage6=avrage6+analogRead(6); digitalWrite(24,LOW);
} }
avrage6=avrage6/20;
for (int i=0; i<20; i++){ if(in3<avrage3-80){
avrage4=avrage4+analogRead(4); digitalWrite(25,HIGH);
} }else{
Arduino Code

Potrebbero piacerti anche