design thesis "building like animals- using autonomous robotics to search, evaluate and...
DESCRIPTION
Typical architecture design is prescriptive and reliant on top-down decisions. It also relies on specially prepared construction sites and is limited in its capacity to design in undisturbed natural locations. Moreover, typical outcomes of current architectural processes are static configurations of standardized industrial parts. By contrast, this thesis rethinks the relationship between architecture and environment in dynamic and unpredictable. In doing so, it utilities an understanding of environments as dynamic ecosystems. In animal architecture, such as bird nests and termites moulds, the building site’s location and character, and material are not entirely predictable and thus require adaptation. Attempting to make architectural design more flexible, decentralized, and natural inspired.TRANSCRIPT
UNIVERSITY OF MELBOURNE
BUILDING LIKE ANIMALSARCHITECTURE DESIGN THESIS
USING AUTONOMOUS ROBOTS TO SEARCH EVALUATE AND BUILD
JUAN YANG
BUILDING LIKE ANIMAL | 2014 ARCHITECTURE DESIGN THESIS JUAN YANG
PROGRAMME
COURSE DURATION
NAME
DEPARTMENT
UNIVERSITY
TITLE
TUTOR
SUBMISSION TIME
Architecture Design Thesis
Sem 2, 2014
Juan Yang (355396)
Master of Architecture
University of Melbourne
Building Like Animals
Stanislav Roudavski
05/11/2014
/ 003
ACKNOWLEDGMENTS
A special note of thanks to Dr. Stanislav Rou-
davski, Senior Lecture in Architectural Design
and my thesis tutor in the University of Mel-
bourne.
I would like to thank the mechanical engineering
students for making the robots, it is a nice expe-
rience working with you.
/ 005
INTRODUCTION | 008
0.1 STUDIO INTRODUCTION
0.2 BACKGROUND
PROJECT | 022
1.1 THESIS AND STATEMENT
1.2 UNPREDICTABLE ENVIRONMENT
1.3 BUILD BY WASTE
1.4 LEARNING FROM ANIMAL
1.5 SIX-AXIS ROBOTICS
1.6 SPECULATIVE PROTOTYPES
1.7 CRITICAL FUTURE USE SCENARIOS
RESEARCH
2.1 SPECULATIVE DESIGN
2.2 ANIMAL ARCHITECTURE
2.3 COMPUTATION PROGRAMMING
2.4 ARTIFICIAL INTELLIGENCE
2.5 ROBOTICS IN ARCHITECTURE
CODE LEARNING OUTCOME
REFERENCE
APPENDICES
5.1 MID-TERM MOVIE SCRIPT
5.2 FINAL MOVIE SCRIPT
/ 007
INTRODUCTION & BACKGROUND
Background introduction to topics of Complex and system thinking in
architecture, computation creativity, animal architecture, robotics in
architecture, and autonomous architecture.
0 / 009INTRODUCTION
This thesis This studio “Autonomous Architecture
Studio” is my thesis studio for Master of Architecture
in the University of Melbourne 2014, led by Stanislav
Roudavski and Denny Oetomo. With cooperation
and collaboration of architectural and mechanical
engineering (from Robotics Automation group)
students, is aimed to explore robotics potential in
autonomous architectural design.
The learning outcomes of this studio are 1) Speculative
design includes system thinking, hybrid ecologies and
animal architecture. 2) Creative technical practice
includes algorithmic thinking and programming &
mechatronics and robotics. The main softwares are
being used in this studio are processing and arduino.
Kinect will also be applied to scan the environment.
The book mainly contains two parts, the first part is my
speculative design progress from visual algorithm to
physical prototypes, and the second part is background
research in theories, technologies and case studies.
0.1 STUDIO INTRODUCTION
/ 011INTRODUCTION
The employment of study in other fields such as tech-
nology and biology is opening up potentials for archi-
tects to rethinking architecture in many perspectives
from architectural design to building culture.
This part gives some background introduction on
complex system thinking in architecture; computational
creativity; animal architecture; robotics in architecture;
and autonomous architecture.
0.2 BACKGROUND
/ 013INTRODUCTION
Algue, Ronan and Ewan
Bouroullec, 2004. Using
small plastic, organic-look-
ing elements that can be
linked together to f ilter
the light and insulate or
permeability space through
the assembly of a module.
COMPLEXITY AND SYSTEMS THINKING IN ARCHI-
TECTURE / "Speculative Design aims to open up new
perspectives on "wicked problems", to create space for
discussion and debate about alternative ways of being,
and to inspire and encourage people's imaginations."
(Anthony Dunne & Finoa Raby, 2013)
System thinking descripes the interconnection
and interactions Swarm intelligence, multi-agents
behaviors, interactive design etc has been more
frequently introduced to architecture spculative
thinking.
----------------------------------------------------------
Speculat ive Everything - Design, Fict ion, and
Social Dreaming, 2013, Massachusetts Institute of
Technology.
ARCHITECTURE
EMERGENT BEHAVIOR
FUNCTIONBEHAVIOR
COMPLEXITY“ILITIES”
/ 015INTRODUCTION
COMPUTATIONAL CREATIVITY / The role of computation within
highly speculative approaches to architectural design. The natural
of complex systems and their indeterminacy in opposition to the
role of computational design in exercising hierarchical control.
The emergence of complexity theory reminds people to rethink
our understanding of formation and the volatility of their process-
es. The conceptualizations of form has shifted from the macro
scale to a concern for the operation of the complex systems that
underlie formation. The inspiration of swarm intelligence, emer-
gent behaviors of multi-agent systems can be simulated and
thought through computation. Those behaviors shift from top-
down “form matters” towards bottom up “form
emerging from the interaction of localized entities
within a complex system”.
The world is dynamic, processuality is all around
us - the growth of plants, the air, the live and
death. Softwares like SketchUp can only visualize
a static model. However, algorithms and scripts
can run as a process with input and output vari-
ables relating to datasets. Algorithms manifest
dynamic and emergent behaviors.
----------------------------------------------------
Luciana Par is i , Contag ious Archi tecture:
Computation, Aesthetics and Space, Cambridge:
MIT Press, 2013.
“ a consideration of algorithmic architecture can assist us in understanding
algorithms as actual objects: as spatiptemporal data structures that are inter-
nally conditioned by infinites as incomputable entities.” -Luciana Parisi
Soft Structures, Expanded
Environment, 2014. Soft
structure projects assume a
local separation of species.
“Synanthropic Habitats” in
bio-inclusive architecture
grouped into Synanthropic
Habitats, Soft Structures
and Post-Animal Projects.
/ 017INTRODUCTION
ANIMAL ARCHITECTURE / Human architecture has been inspired from animal
architecture for over centuries. The study shifts from learning the forms of ani-
mal architecture to the process and behaviors in building.
The nests of social insects are the result of the collective building activity of ma-
ny individuals. New structures are added on the old ones to meet the require-
ment of growing colony. The integration of nest structure is very naturally relies
on the feedback between forms, dynamical properties and growth of new forms,
the process and growth are dynamically. The phenomenon of stigmergy in social
insects enable the individuals be mobile and be able to modify their environment
and affect future behavior.
Many animals especially social insects are single-minded and self-organized
Each worker’s action is governed by sets of relatively simple behavioral rules
and controlled by individuals. Efficient transportation of materials and informa-
tion is essential to maintaining the nest structure and organization.
Up: Termites mould sitting
on the ground. It goes into
deep and has ventilation
system.
Right: Weaver Bird woven
nests. This male bird’s nest
is woven from leaf-fibers,
grass and twigs.
/ 019INTRODUCTION
Ant Robots. U.S. scientists
from Harvard University and
Wyss Institute for Biolog-
ically Inspired Engineering
builds these self-organizing
robots.
ROBOTICS IN ARCHITECTURE / Robotics will have big
impacts on architcture and construction industry over the
next few years. They have benefits on minimizing manual
labor and cost, and thus improving efficiencies. With the
development of digial architecture for these years, the
involvement of robotics in architecture is opening up new
aesthetic and functional potentials that coulld change
architecuture desing and building culture.
Like computers, industrial robots are suitabe for a wide
virety of tasks because they are 'generic' and therefore not
tailored to any particular application. The range of robotic
process is gradually expanding from prefabrication towards
direct use of robots on the construction iste and involving
in design process. The involvement of robotics shifts design
process from predetermind idea towards to follow the
logic of the given materials. Robots are now connecting
technology and knowhow, as well as imagination and
materialization. Architecture begins to develop an adequate
material practice for the cultural logic of the information
age.
AUTONOMOUS ARCHITECTURE / The
technology innovation in architecture extends
the boundary. Currently the autonomous re-
action to environment in architecture applies
mainly in facade system. Interactive architec-
ture, kinetic architecture, robotic architecture
have potential to achieve greater automation
in architecture system
Stone Spray, is programmed
to function like a 3D printer,
Combining sand, soil, and a
special binding ingredient
to create fully formed archi-
tectural object of designers’
choosing.
/ 021INTRODUCTION
PROJECT
The project part includes speculative thinking and prototype in ro-
botics in architecture and inspired by animal architecture; potential
areas of application in architecture and future research. The research
topic is using autonomous robots in searching, sorting and building in
dynamic environment. “Beyond semantics, two concrete trends are happening. On
one hand, human-made things are behaving more lifelike; on
the other hand, life is becoming more engineered.“- Kevin Kelly
1“Beyond semantics, two concrete trends are happening. On
one hand, human-made things are behaving more lifelike; on
the other hand, life is becoming more engineered.“- Kevin Kelly
/ 023
Typical architecture design is
prescriptive and reliant on top-
down decisions. It also relies on
specially prepared construction
sites and is limited in its capacity
to design in undisturbed natural
l oca t ions . Moreover, t yp ica l
outcomes of current architectural
processes are static configurations
of standardized industrial parts. By
contrast, this thesis rethinks the
relationship between architecture
and env i ronment in dynamic
and unpred ic tab le . In do ing
so, it utilities an understanding
of env i ronments as dynamic
1.1 THESIS
ecosystems. In animal architecture,
such as bird nests and termites
moulds, the building site’s location
and character, and material are
not entirely predictable and thus
require adaptation. Attempting
to make architectural design
more f lex ib le, decentra l ized,
and natural inspired. Staging a
practical experiment in response
to these goals, this thesis focuses
on the capabilities in searching,
evaluating and assembling building
materials by autonomous robots in
a dynamic environment.
STATEMENT / The project is constructed in three
parts; the first part explores the theoretical framework
and precedents in speculat ive design, animal
architecture, artificial intelligence and robotics in
architecture. In the second part, I virtually visualize the
design process algorithm in Processing, and build a
physical prototype by two robotic arms for simulating
the concept of this thesis. The final stage is the
potential future speculation based on this project.
The design goad for this thesis is to define a site
location by analyzing the environment, searching for
materials (using A* algorithm), evaluating materials
costs such as quality and proximity (using the Kinect
sensor), and bringing the selected potential building
components to the site of construction and assembling
them by two collaborative robotic arms.
This research helps to visualize possible approaches
to architectural design and construction in the future
because it has potential to dealing with unpredictable
or hazardous environment. Currently, the behavior-
based robots are used in hazardous situations such
as aerospace research, the nuclear industry, and the
mining industry. This thesis seeks to demonstrate that
they also have great potential to extend the capabilities
of architectural design in dealing with complex,
dynamic and complexly interconnected environment.
Moreover, these mobile robots have benefits in cost
saving, easy assembling and operating.
/ 025RROJECT
PREPARED CONSTRUCTION
SITE
STATICCONFIGURATION
HIERARCHICAL
CONTROL
DYNAMIC / UN-PREDICTABLE ENVIRONMENT
NOT ENTIRELY PREDICTABLE
ARRANGEMENT
LEARNING FROM ANIMAL
SIMPLIFIED CONTOUR
(DEPTH IMAGE)
3 TYPES OF MATE-RIALS
(BY LENGTH)
6-AXIS ROBOTIC ARMS
EARTHQUAKESITE
SEARCHING USE-FUL MATERIALS
ON SITE
BEHAVIOR -BASED
ROBOTICS
TYPICAL ARCHITECTURE SPECULATIVE THINKING PROTOTYPE TESTINGPOTENTIAL APPLICATIONV.S.
/ 027RROJECT
Typical architecture relies on prepared construction istes and is
limited in its capacity to design in undistrubed natural locations
or sites having potential safety concerns such as after natural
diaster. The technology improvement and robotics development
have potential to extend architecture in these field in future.
In this thesis project, I chose earthquake sites as my design
concern, where the roads are destroyed, cars and trucks are
difficult and dangrous to get in, and aftershock increase the
dangrousness. The small behaviour-based robots could access
to the site and searching for suitable material elements and build
temporary housing.
1.2 UNPREDICTABLE ENVIRONMENT
Right One: Sichuan earth-
quake site
Right Two: Roads are cut
after the earthquake
Right Three: Housing on the
mountains after earthquake
Right Four: Undistributed
bay
Right F i v e : Abandoned
industrial site
Right Six: Undistributed
natural forest
/ 029RROJECT
Top left: Indian and Paki-
stani Kashmir earthquake
2005
Top right: Sichuan province
China earthquake 2008
Bottom left: Haitai earth-
quake 2010
Bottom right: Japan earth-
quake 2011
EARTHQUAKE
The 20th century was marred by numerous deadly
earthquakes that claimed lives of many thousands of
people and flattened several towns around the world.
2013 Solomon Islands: Three villages were flattened
when a trunami triggeed by an 8.0-magnitude quake
crashed ashore.
2011 Japan: More than 19,000 were killed when a
tsunami triggered by an undersea quake slammed into
the northeast cost, triggering a nuclear crisis at the
Fukushima Daiichi atomic plant. Magnitude 9.0
2011 Haiti: Between 250,000 and 300,000 killed
when a quake hits what is already one of the world's
poorest countries, devastating the capitl Port-au-
Prince. Magnitude 7.0
2008 Sichuan Province China: 87,000 dead or
missing. A large number of children are among the
dead, with shoddily-built schools bamed. Magnitude
8.0
----------------------------------------------------------
Chronos and Factsheets, Deadliest earthquakes and
tsunamis of the past century, 2013, Tengrinews
Earthquakes Mapping since
1890 by magnitudes. NASA’s
Visual Earth
/ 031RROJECT
/ 033
Left:Haiti shelters rein-
forced by multiple tarps
Middle Top: Haiti shelter.
Haiti has only 2.5 % forest
cover, making wood mate-
rials scarce. The wood to
build this tent was bought
not scavenged.
Middle Bottom:The moun-
tains in some region have
meant temporary housing
cannot be bui l t easi ly.
Rescuers have been re-
questing temporary housing
elsewhere.
Right Top: A family in Cite
Soleil f inds shelter in a
makeshift tent city after
Haiti’s violent earthquake
le f t many bu i ld ings in
ruins.2010 Photo by Logan
Abassi
Right Bottom: Yunan earth-
quake, people are waiting
for rescue.
UNRESCUED LIVING CONDITION
I take earthquke site as background context in this thesis. People
who suffered the diaster and have poor living conditions after the
eathquake. Especially in poor region like Haiti, which more than
70% of people in Haiti were living on less than $US2 per day.
In the 7.0 Magnitude Quake 3,500,000 people were affected
by the quake, and 220,000 people estimated to have died,
over 188,383 houses were badly damaged and 105,000 were
destroyed by the earthquake, 1.5m people became homeless.
After four years, many people are still living under very bad
conditions.
Sometimes the goods and materials are very difficult to transport
into because the roads are cut and aftershock may happen. I
purpose if we can send the small scale behavior based robots
into the earthquake site, and let them searching for suitable
materials and bringing to a calculated safty site, and assembling
these materials for tenporary shutter for people. in diaster region.
----------------------------------------------------------
Haiti Earthquake Facts and Figures, Disasters Emergency
Committee.
RROJECTRROJECTRROJECTRROJECT
/ 035RROJECTRROJECT
Left Top: Shelters after Haiti
Earthquake
Left Bottom: Sleep Box
made by cardboard earth-
quake evacuation shelter,
can provide privacy.
Left Bottom: Typical Haitian
temporary shelters issued
by current government
Middle: Tent-School in
Sichuan after earthquake
provided by Chinese govern-
ment
Right Top: A tent city in the
village of San Geogorio, six
miles from where the earth-
quake stuck. Photograph:
Andreas Solaro
Right Bottom: Shigeru Ban
designed emergency refugee
shelters for post-civil-war
Rwanda, and homeless after
Japan’s Kobe earthquake
and Haitian Earthquake.
RESCUED LIVING CONDITION
The temporary rescued accomodations have cultural
difference. In Japan, privacy is a serious issue for
refugees. People normally will live in school. gyms
and places have empty space, divided by temporary
partitions. After the Tohoku quake, many architects
have created prototypes for simple shelters that can
prodivde some relief in terms of privacy and integrity to
evacuees.
In many earthquake regions, people will live in tents
made by plastic cover (some are metal) and metal
skeleton that provided by government. In 2008 Sichuan
Earthquake, most of the survivors are taking shelter
under self-made temporary tents, although many are
living without any shelter at all. Rainfall is making
things worse-hindering the rescue work and worsening
the living conditions of the survivors.
----------------------------------------------------------
William, Sleep Box is Personal Cardboard Earthquake
Evacuation Shelter, Japan Trends, 2012
The affordable earthquake resistant, hurricaine
resistant, self-contained 'green' shipping container
home with solar power proposed for Haiti and other
areas hit by disaster or living in prverty proposed by
architect Darrin Badon. He envisioned small clusters of
20-25 shipping container homes forming a small clse
knit community.
The Folding Bamboo House, designed by Ming Tang,
is contructed from bamboo and recycled paper and
can be cheaped manufactured. Tang designed the
geometric folding structure after a 7.9 earthquake hit
central China. The structures can be folded into many
different shapes, allowing a range of structures to be
created.
This project proposed temporary playground equipment
for children living in the temporary housing in Tohoku
area as a consequence of 2011 Tohoku earthquake
and tsunami. It is made by thin plastic paper for
children to assmeble.
The first response emergence sheter is easy to
transport and set up requires only one person Made
out of polypropylene, the shelter can form many
shapes and provides relief for up to 4 peope, while
rainwater can be collected from the folds.
The monolithic domes designed by the California
Institute of Earth Art and Achitecture for disaster
resistence.The ceramic CalEarth shelters are made
from four natural elements (earth, water, air and fire)
using just three steps: dig up the grond, place earth
into sacks, and pile them up and dix them in place.
/ 037RROJECT
INNOVATIVE TEMPORARY SETTLEMENT
Mnay architects and designers are seeking
for innovation solutions for temporary shulter
dealing with natural diasters. They are eitiher
using local materials / resources or they are
light weighted, easily folded and transported.
A l l th ree images f rom
Sichuan earthquake site,
the potential materials to
be collected could be wood
sticks, steel frames, and
bricks.
/ 039RROJECT
POTENTIAL MATERIALS UES IN EARTHQUAKE SITE
I think it will be good if the robots can collect the sutibable
building elements if the emergency shulter (like tent) cannot
be transported into the diaster site. The suitbale elements
are cultural differentiated. It could be bricks, wood / steel
frames, metal sheet, bamboo etc.
Building by waste and recycled materials is a crucial
study in recent years. In this thesis project, on
earthquake site search and assemble is also a way
building by recycle materials. Hence, the study of
building by waste and understand the properties are
essential for this project.
1.3 BUILDING BY WASTE
ELEMENTDIMENSION
MATERIALPROPERTY
MATERIALCOLOR
SIMPLE COMBINATION
/ 041RROJECTRROJECT
Above: Book Cell, Built by 7,000 Recycled Phone Books. Matej
Kren. 2010.
Below: Built by recycled materials of bottles. Jasmine Zimmerman,
Above. The ball-shaped shelter, built from FSC-certified wood and
a variety of scrap materials. Gert Eussen. 2012
Below: Plastic Frantastic. Build out of 10000 plastic soda bottles
in Piedade slum, north of Rio d Janeiro.
Above: The Big Church, a recyced building made from a heap of
discard objects.
Right: Building with Pop Cans, sustainabily built and functioning
houses in Colorado. Michael Peynolds, 2011
Above: Sculpture "Sound Wave" out of melted vinyl records, Jean
Shin, 2007
Right: "To Live" a shelter created from real estate signs to make a
statement of homelessness and sustainbale building. Nick Sayer.
2009
Left: Temporary shelter built by soap cans. Bat Yam, Iseal. 2011
Below: Recycled Windshield Greenhouse, are busting out of the
woodwork. Sebastien Ramirez, 2010
BUILT BY RECYCLED MATERIALS
Building by waste materials have benefits in
sustainable development, cost efficiency. The
arrangement of modulation and repetition has po-
tential to create both in aesthetic and functionality,
as well as making a statement.
Since the architecture of recycling waste has
characteristics in one or few standardization in
dimensions / textures / color / materials / weight
and etc. So they could be searched, sorted and
collected by autonomous robots for recognizing
these characteristics.
Above: Sculpture "Sound Wave" out of melted vinyl records, Jean
Shin, 2007
Right: "To Live" a shelter created from real estate signs to make a
statement of homelessness and sustainbale building. Nick Sayer.
2009
Left: Earthship Building. Nestled into the ground and require a
solid rear wall construction to etain the earth.
Monica Holy.
Below: Cover 10-Storey Building with 1,000 Recycled Doors. South
Korean artist Choi Jeong-Hwa.
/ 043RROJECT
A PLOT is a thesis group
project at Taubman College.
The idea is focusing on
material culture and spatial
implications speculation
alone misses the unexpect-
ed push of reality.
Middle and Right: Skyscrap-
er by Projeto Coletivo in
Curitiba, Brizil. The future is
the use of garbage both as
an agent of social change
and as a physical element
of construction. The idea is
that the residents will work
on the bottom of the build-
ing as a factory, recycling,
cleaning and select ing
waste, previously taught by
experts in the field. This
material will be used on the
building’s construction and
also for crafts, urging cre-
ativity of the own workers.
/ 045RROJECT
In this thesis, process and behaviors of bird nestis and termites
moulds are the initial inspiration for the design speculation. I took
Baya Weaver as a case study for analysing from defining the
nest location, to searching suitable materials, and to assemble
the materials to the nest with certain logics. More research on
animal architecture please go to 2.2 Animal Architecutre in this
book.
1.4 LEARNING FROM ANIMALRepresen ta t i on o f the
process of Baltimore oriole
nest construction in Avian
Architecture by Peter Good-
fellowm
Find the right building materials is essential for birds building their nest. Birds can
spend a whole day in their quest for the building materials their structure needs. The
male bird chooses the location of the nest, and the female builds it. Their nests’ fea-
tures depend on the materials and techniques used in their construction. All building
materials for their architectural masterworks must be pliable and compressible.
A weaver bird collects the building materials. It will cut long strips from leaves or
extract the Mildrid from a fresh green leaf. The reason for choosing fresh leaves be-
cause the veins of dry leaves would be stiff and brittle, too difficult to bend, but fresh
-------------------------------------
Giovanni G. Bellani, Quand L’oiseau Fait Son Nid (When The Bird Makes Its
Nest) (Arthaud, 1996), p. 85-90.
ones make the work mush easier.
The weaver bird begins by tying the leaf fibers around
the twig of a tree. With its foot, it holds down one end
of the strip against the twig while taking the other end
in its beak. To prevent the entrance to the nest. Then it
uses its beak to weave the other fibers together. During
the weaving process, it must calculate the required
tension, because if it’s too weak, the nest will collapse.
The weaver bird won’t just begin building its nest, It
proceeds by calculating in advance what it needs to
do next - first, collecting the most suitable building
materials, then forming the entrance before going on
to build the walls. It knows perfectly well where to thin
or thicken the structure, and where to form a curve Its
behavior displays intelligence and skills.
I chose Baya Weaver as case for analyzing the con-
struction behavior and process.
/ 047RROJECT
NEST SITE SELECTION STRATEGIES
Tree height and size preference (7-9m, taller
and bigger) / Accessibility of nests by pred-
ator / Avoidance of high wind / Reduction in
the flying cost / The availability of nesting
materials and food / Surrounding biological
environment / Temperature / Light intensity /
Humidity / Rainfall ....
COLLECTING SUITABLE MATERIALS
Male Baya weavers need to collect thou-
sands of grass strands to build their nest. A
competition between them. The image shoes
the male weaver was pealing of a strand
from a palm tree, he was pealing of strands
only from a young leaf as it was easier to do
and more suitable raw materials for the nest.
BUILDING THE NEST
The male Baya Weaver builds the nest up to
the helmet stage, collecting materials and
weaving the pieces together. He then gets
his mate to approve the structure. Then the
final stage of building sees both adults par-
ticipating.
Left: Baya weaver bird nest
site. Photo by Sankrutyayan.
2012
Middle: Male Baya weaver
cllecting grass strands to
build their nests. Photo by
Atual Sinai Borke, 2012
Right: Female and male
Baya weavers b r ing ing
strips of grass blades to
constructing their nest.
Con t r i bu t ed b y Ca l v i n
Chang, 2010.
/ 049RROJECT
We are collaborating with mechanical students from Robotic
Automation Group for this design project. I am working with
Group 1 and Group 3. They are design 6-axis robotic arms with
A4 size working space. The expected goal is the two robotic
arms would collaborate and work together simultaneously.
However the final result is a little bit disappointing that I will
discussed them in detail in this chapter.
1.5 SIX-AXIS ROBOTIC ARMS
/ 051RROJECT
Group Three's robotic arm is made by black perspex, is one of
the most flexible and successable robots in the class. However,
they have relative serious issue in accuracy, they are quite shaky
during operation. This robotic arm is Arduino controlled. The
maximum weight to pick up is around 15 grams.
/ 053ROBOTICS
/ 055RROJECT
Group One's robotic arm is made by plywood. This is the version
two, the previous one was made by transparent perspex. This
robotic arms acts more stable than Group one. The end effector
is designed to have functions in picking up sticks and holding
pens / extruders to visualized the path. This robotic arm is
Arduino controlled. The maximum weight to pick up is around 15
grams.
1 servo HITEC HS-815BB
1 servo HITEC HS-755HB
2 servos HITEC HS-311
1 servo Tower pro 996R
1 micro servo Towe pro
The Arduino Controlled Dia-
gram provided by Evil Zoid
/ 057RROJECT
The assemble process of
Group One's robotic arms.
This is the version two as the
previous one was burned. The
new version is made by laser
cut plywood.
/ 059RROJECT
The prototype is simplied the environment by depth data,
balck area means inaccessible area, and white area means
easy accessible areas. Using 6-axis robots to simulation the
process and behavior in defining site locations, searching
suitable materials and assembling them in a relatively easy
logic. The materials has been simplied into 3 categories by
length. Type One with longest length has firest prority.
1.6 PROTOTYPE TESTING
ANALYZING AND DEFINING SITE
LOCATION
ENVIRONMENT ACCESSIBILITY
FLATNESS AREA
TO MATERIALS
RANGEI
RANGEII>
COLLECTING SUTIBALE MATERIALS /
SORTING
CONSTRUCTING
BUILDING ELEMENTS
SUITABLE
MATERIALS
NONSUTIABLE
MATERAISLS
TYPE A
TYPE B
TYPE C> >
ROBOTS ROBOTS
+
HUMAN
HUMAN
SIMGPLE LOGIC
/ 061RROJECT
ENVIRONMENT
+
MATERIALS
KINECT
OPENNI
OPENCV
Filtering environment by contrast / brightness /
threshold ...
BLOB SCANNER
PROC
ESSI
NG
PATH
FINDING
Defining site location by detecting the flatness
3D VISUAL
PLETHORA
3D Environment corrosponding to real
Site location
Detecting the centers and dimensions of materials, filtering useful materials
Sorting useful materials into three types by ranges of
dimensions
Sorting useful materials into three types by ranges of
dimensions
Type Adimension
range
Type B dimension
range
Type C dimension
range
Range Id = ?
Range IId = ?
Site boundaryOne location with a boundary (simple)
Multiple closed locations and various sizes of
boundaries make 'metaball'
/ 063RROJECT
DEFINING
A SITE
LOCATION
DEPTH IMAGE: site information
The depth image indicates the contour, where darker
color means more difficult to access to. I used this
depth image for analyzing the site location, and calcu-
lating the optimized path for searching materials later.
PSEUDO-CODE
opencv = new OpenCV ( this, image);
opencv.threshold(50);
opencv.threshold(100);
opencv.threshold(150);
opencv.threshold(200);
OPENCV THRESHOLD: filtering site information
/ 065RROJECT
INACCESSIBLE AREA
The red areas represent inaccessible areas for search-
ing materials and calculating optimized path. They may
be areas that are too dangerous, too high or having
existing buildings on. In opposite, the orange areas
represent the suitable areas for site.
PSEUDO-CODE
opencv.threshold(50);
fill (RED);
opencv.threshold(150);
fill (ORANGE);
SUITABLE SITE LOCATION
/ 067RROJECT
SEARCHING
AND SORTING
MATERIALS
Material type one, type two, and type three (by length)
Distributing three types of materials on the physical
contour and detected by Kinect and filtered information
by depth / threshold
Library OpenNI;
PSEUDO-CODE:
simpleOpenNI context;
context = new SimpleOpenNI(this);
context.setMirror(true);
context.enableRGB();
context.update();
image(context.depthImage(), 0, 0);
image(context.rgbImage(), context.depthWidth() + 10,
0);
Detecting by Kinect
/ 069RROJECT
PHYSICAL CONTOUR: based on the threshold map
xx
PSEUDO-CODE
opencv.threshold(50);
fill (RED);
opencv.threshold(150);
fill (ORANGE);
FILTERING MATERIALS: detecting by kinect and filtering by threshold
/ 071RROJECT
Since the environment is detected by Kinect, there are
some small particles would be scanned into. These
small particles needed to be filtered first before any
calculation. In these case, particles with less than 50
pixels edge points are filtered. The “Blob Scanner”
Library in Processing is being used for this calculation.
PSEUDO-CODE
bs = new Detector (this, 255);
bs.imageFindBlobs (sticks);
bs.loadBlobsFeatures();
PVector [] edge = bs.getEdgePoints (sn);
point (edge [i].x, edge [i].y);
i++;
for (i<50) {
println(“STICK” + (sn+1) + “EDGE POINTS” +1);
/ 073RROJECT
Bounding Box of sticks before filtering small particles
The left image shows the bounding of materials after
filtering small particles with weight less than 100. The
right image indicates the range one and range two in
research, and all materials with centroid located within
range one.
Library: blobScanner
PSEUDO-CODE:
for (int i=0, i<bd.getBlobsNumber(); i++) {
if(bd.getBlobWeight(i)>100) {
if(dist(bd.getCentroidX(i), bd.getCentroidY(i),
site.x, site.y)<range1){
point(bd.getCentroidX(i), bd.getCentroidY(i));
bd.drawSelectBox(min, selectBoxColor, thickness);
bd.drawSelectContours(150, selectContourColor,
thickness);
}}}Bounding Box after filtering small particles
/ 075RROJECT
All suitable materials in range one (distance less than 200)
This step is to continue filtering materials to locate ma-
terials type one in range one, drawing with bounding
box and edges.
PSEUDO-CODE:
for (int i=0, i<bd.getBlobsNumber(); i++) {
if(bd.getBlobWeight(i)>400 &&
bd.getBlobWeight(i)<500 &&
bd.getLength(i)>200) {
if(dist(bd.getCentroidX(i), bd.getCentroidY(i),
site.x, site.y)<range1){
point(bd.getCentroidX(i), bd.getCentroidY(i));
bd.drawSelectBox(min, selectBoxColor, thickness);
bd.drawSelectContours(150, selectContourColor,
thickness);
}}}
Filtering materials by length and mass to defined material type one
/ 077RROJECT
Centroid coordinates of materials type one in range one
STICK 1 X:475 Y:124
STICK 2 X:561 Y:187
STICK 3 X:689 Y:193
STICK 4 X:743 Y:216
STICK 5 X:765 Y:252
STICK 6 X:555 Y:257
STICK 7 X:790 Y:269
STICK 8 X:505 Y:326
STICK 9 X:549 Y:365
STICK 10 X:671 Y:384
STICK 11 X:618 Y:418
STICK 12 X:537 Y:429
STICK 13 X:664 Y:446
STICK 14 X:534 Y:469
Get the coordinates of all material type one in range
one and output these coordrinates to A* path finding
algorithm as endNodes. Sorting the generated path
from shortest to longest which indicates the order for
searching. (More detail codes see Chapter 3)
Library: PathFinder
PSEUDO-CODE
text (bd.getCentroidX(i), bd.getCentroidY(i),);
GraphNode startNode;
GraphNode [] endNode;
void makeGraphFromDepthData (Graph,
backgroundImage, costImage, int tilesX, int tilesY);
void drawEdges();
void drawNodes();
void drawRoute();
A* path generated from site location to the selected materials location
/ 079RROJECT
Path Finding in 3D environment
The diagram indicates the calculation methodology of path-
finding in 3D environment.
PSEUDO-CODE
int cellSizeX;
int cellSizeY;
int dx = backImg.width / cellSizeX;
int dy = backImg.height / cellSizeY;
int col = backImg.get(dx,dy) & 0xFF;
int dz = col;
nodeID = cellSizeX *y +cellSizeX;
aNode = new GraphNode (nodeID, dx, dy, dz);
xCost = dx, yCost =dy, zCost = dz;
xzCost = sqrt (dx*dx + dz*dz);
yzCost = sqrt(dy*dy + dz*dz);
xyCost = sqrt(dx*dx + dy*dy);
xyzCost = sqrt(dx*dx + dy*dy + dz*dz);
xCost
yCost
dx
dydz
xyCost
xyzCost
/ 081RROJECT
1 2 3 4
7 8 9 10
13 14 15 16
19 20 21 22
5 6
11 12
17 18
23 24
Iterations showing
the logic of search-
ing and assembling.
/ 083RROJECT
Giving the coordi-
nates of material
location and site
location in order,
the robot arm works
continuously follow-
ing the order.
/ 085RROJECT
ASSEMBLE
MATERIALS
Red Arrow indicates At-
traction force; Blue Arrow
indicate Repelling force.
When the robots drop
the building elements,
these two force will be
applied to determine the
final outcome
When the site location
is more than one, and
these locations are rel-
atively close. Due to the
attraction and repelling
force, it will gradually
forming a ‘metaball’ like
shape
/ 087RROJECT
For Prototype One, the assembly logic is quite simple,
the picked materials will be distributed randomly in a
bounding shape. For this one, the longer sticks to be
selected first and then shorter sticks. So the bounding
shape is a cone-like shape. However, when I do the test
by robot, some sticks will falling down. So for next step,
I may need to detect the flatness or replace by some
other materials. And also make the construction more
complex and more interesting.
Material A | 50 mm
Material A | 70 mm
Material A | 100 mm
Material B | 50 mm
Material B | 70 mm
Material B | 100 mm
/ 089RROJECT
/ 091RROJECT
1 2 3 4
7 8 9 10
13 14 15 16
19 20 21 22
5 6
11 12
17 18
23 24
Iterations showing
the logic assem-
bling. The site loca-
tion increase from
one to four, assum-
ing the number of
robots increased
simultaneously.
/ 093RROJECT
/ 095RROJECT
/ 097RROJECT
/ 099RROJECT
In the future, applying in the earthquake site and other areas
after diasters, we can use behavior based walking mobiles
robots and flying mobile robots do the searching, sorting, and
assembling work. They have benefits in quike assembing, easy
operating and cheap cost.
More information about mobile robots please go to Chapter 2.4
& 2.5 in this book.
1.7 CRITICAL FUTURE
/ 101RROJECT
/ 103RROJECT
RESEARCH
The research for this project contains five parts: speculative design,
animal architecture, computation programming, artificial intelligence,
and robotics in architecture including theories and case studies.
2 / 105RESEARCH
xxxxxxxx
The research is mainly focus on the ideas from the book
Speculative Everything - Design, Fiction, and Social Dreaming
by Anthony Dunne & Fiona Raby and the book Design Futurin -
Sustainability, Ethics and New Practice by Tony Fry.
2.1 SPECULATIVE DESIGN
Dunne & Raby, from De-
signs for an Overpopulated
Planet, 2010.
/ 107RESEARCH
The cones present different kinds of potential future
(Stuart Candy, 2009)
Probable
Plausible futures (alternative future)
Possible
Intersects the probable and plausible (the preferable
future)
One role of designers is speculating how
things could be (speculative design),
this form of design aims to open up
new perspectives on wicked problems,
to create spaces for discussion and
debate about alternative ways of being,
and to inspire the encourage people’s
imaginations to flow freely. Design
speculations can act as a catalyst for
collectively redefining our relationship to
reality. Future is a medium to aid imag-
inative thought other than a destination.
Although the future is unpredictable,
we can help set in place today factors
that will increase the probability of more
desirable futures happening.
During 1980s design became hy-
per-commercialized and fully integrated
into the no-liberal model of capitalism
With the fall of the Berlin Wall in 1989
Marcel Wanders, Antelope,
designed for Bisazza, 2004.
Photograph by Ottavio To-
masini. Marcel decided the
surface of his holiday car
should be beautiful deep
shiny glass stones.
and the end of Cold War, alternative
models for society collapsed. Market-led
capitalism became one dimensional
with much less other possibilities or
alternatives.
The society has become more atomized
and individualized. The 20th century is
unsustainable.
But there is an opportunity currently
about alternative thinking to the current
system. We need more pluralism in
design, not of style but of ideology and
values.
------------------------------------------
Beyond Radical Design, Speculative
Everything- Design, Fiction, and Social
Dreaming, Anthony Dunne & Fiona Raby
/ 109RESEARCH
The Bouroullec Brothers’
Algue (2004) is using small
plastic, organic-looking
elements that can be linked
together to filter the light
and insulate or permeabilize
space through the assembly
of a module. The elements
such as a b io-morphic
pixel is made of a plastic
injection mold to reproduce
on a large scale like parts.
Algue thrive by following an
organic logic, addressing
architecture starting from
the millimeter.
To think as conceptual design is a place where many
interconnected and not well understood forms of de-
sign happen-speculative design, critical design, design
fiction, design futures, anti-design, radical design,
interrogative design, design for debate, adversarial
design, discursive design, futurescaping, and some de-
sign art. This separation from the marketplace creates
a parallel design channels free from market pressures
and available to explore ideas and issues.
What is potential to use the language of design to pose
questions, provoke, and inspire is conceptual design’s
defining feature. “Ideals are not measured by whether
they confirm to reality; reality is judged by whether
it lives up to ideals. Reason’s task is to deny that the
claims of experience are final and to push us to widen
the horizon of our experience by providing ideas that
experience ought to obey.” The ideal is a practical fic-
tion. Architecture has the richest, most diverse tradition
for exploring ideas of all the design disciplines.
Design exhibitions are moving beyond showcasing
designers and products to address more complex so-
cietal issues. Even though this kind of design activity
is difficult to finance but it is needed. It opens up new
possibilities not only for technology, materials, and
manufacturing but also for narrative, meaning, and the
rethinking of everyday life. Designers should focus on
society in the broadest sense other than just business.
----------------------------------------------------------
A Map of Unreality, Speculative Everything - Design,
Fiction, and Social Dreaming, Anthony Dunne & Fiona
Raby
/ 111RESEARCH
There are many possibilities socially engaged design for raising
awareness; satire and critique; inspiration, reflection, highbrow
entertainment; aesthetic explorations; speculation about possible
futures; and as a catalyst for change. Conceptual design can be
used as a form of critique.
Critical design is defined as “critical design uses speculative de-
sign proposals to challenge narrow assumptions, preconceptions,
and gives about the role products play in everyday life.” All good
design is critical. Critical design is critical thought translated into
materiality. It is about thinking through design. All good design
offers an alternative to how things are.
One purpose of critical design is to help us become more discerning
consumers, and to encourage people to demand more from industry
and society as critical consumers.
Critical design, by generating alternatives, can help people con-
struct compasses rather than maps for navigating new sets of
values.
---------------------------------------------------------------
Design as Critique, Speculative Everything - Design, Fiction, and
Social Dreaming, Anthony Dunne & Fiona Raby
Bernd Hopdengaertner’s
Belief System (2009). He
asked what would happen
if one of the tech industry’s
many dreams comes true,
if the tech make humans
machine readable were to
combine and move from lab
to everyday life.
Bernd Hopdengaertner’s
Belief System (2009). He
asked what would happen
if one of the tech industry’s
many dreams comes true,
if the tech make humans
machine readable were to
combine and move from lab
to everyday life.
/ 113RESEARCH
Speculative designs depend on dissemination and
engagement with a public or expert audience; they are
designed to circulate.
The project Between Reality and the Impossible for the
Saint Etienne International Design Biennale 2010 has
interested in how the relationship between the reality
of the here-and now and the fictional worlds alluded
to through props, atmosphere, supporting material,
staging, and so on can be managed. The intention
was to create a chain reaction starting from the initial
thoughts and ideas through the objects.
The starting point for this project Designs for an
Overpopulated Planet was a brief from Design Indaba
exploring the future of farming in the face of food
shortages. According to the UN we need to produce 70
percent more food in the next forty years. The current
situation is completely unsustainable. In 2050 the UN
predicts that the world population will be nine billionat.
They tend to build their own solutions, bottom-up, and
look at evolutionary processes and molecular technol-
ogies to explore how they could take control or evolu-
tion.
They believe there is tremendous value and potential
for design connecting with science about posible fu-
tures.
----------------------------------------------------------
Between Reality and the Impossible, Speculative Every-
thing - Design, Fiction, and Social Dreaming, Anthony
Dunne & Fiona Raby
Dunne & Raby, from Designs
for an Overpopulated Planet
Foragers, 2010.The Project
explores the future of
farming in the face of food
shortage, and explores how
we could take control or our
won evolution.
/ 115RESEARCH
Hummingbird nest, it is a
small cup shape with nar-
rowing bottom - cup mostly
dried grasses while bottom
mostly leaves. About 3 feet
off ground.
The research in animal architecture mainly focus on the
processes and behaviors of nest buildings of birds and social
insects like termites. The topics including behaviors of swarm
intelligence, emergent behaviors, stigmergy, single-minded, self-
organizing of birds and social insects. Espically I focues on the
research of bird nests from function to process and behaviors.
The main resource of the research materials from the book Bird
Nests and Construction Behavior by Mike Hansell and online
articles.
2.2 ANIMAL ARCHITECTURE
/ 117RESEARCH
SELECTION GATHERING ASSEMBLY
BIRD NEST
BUILDING
STAGES
BUILDING
COST
NAVIGATION
ABILITY
MATERIAL
SELECTION
TIME ENERGY
GATHERING TRANSPORTING ASSEMBLY LOAD OF MATERIALS
The intricate structure of
the minute sandgrain case
of the amoeba Difflugia
coronata demonstrates
that very simple organism
can show architectural
sophistication. (Photography
courtesy of Natural History
Museum).
A)SIMPLE MINDED
The principles for building stages are selection, gathering, and assembly.
Orderly outcomes can be the result of simple processes. Standard building
units, a repetitious assembly procedure and simple design rules produce
orderly structure. A honeybee comb is an impressive structure, but in for-
aging, bees how navigation skills, topographical learning and improvement
in handling of complex flower structure.
B) NO SPECIALIST ANATOMY
They used throughout their life on a daily basis. Three associated anatom-
ical features of birds as builders are: a delicate but strong instrument, the
beak, positioned close to the eyes, mounted on a very mobile neck.
C) TECHNIQUES SHAPE MATERIALS BUT MATERIALS SHAPE TECHNIQUES
Most basically, there are only two techniques, sculpting and assembly , and only three materials
animal,vegetable and mineral. Also concern building costs, navigation ability, specialization in
the selection of materials and choice of materials in relation to the size of the organism.
Building costs are measured as time (gathering/transportation/assemble) and energy (the load
of materials). They are keen to build near by the materials, and return to the material source
repeatedly. Some navigation skills and topographic memory abilities are further expectation.
Natural selection tends to favor specialist over generalists in the selection of building material.
The sale of the building units will also be appropriate to the size of the organism.
The structures built from top down need to prevent a structure from falling apart by bounding
together or sticking together. Self-secreted materials are not always glue or plastic materials,
they may be discrete, ready-made building units. Some building materials of animal origin are
created by species other than builders. Making a nest is making bits of material stay together
in a certain spatial relationship. Birds collectively make use of a wide variety of building materi-
als. Materials influence construction behavior and also shape the architecture of the nest itself.
The ambivalence of discussing whether construction should be complex, on one hand, regards
nest as remarkable structures, while on the other hand, categories the building behavior as
largely genetically determined and inflexible.
----------------------------------------------------------------------------------------------------
Construction, Bird Nests and Construction Behavior by Mike Hansell, 2000
/ 119RESEARCH
A fundamental distinction in nest building techniques is that
between sculpting and assembling (Hansell, 1984). Assem-
bly techniques can be divided into: pilling up, moulding,
sticking together, interlocking, sewing, and weaving. (Hansell,
1984) The purpose of these techniques is essentially two-
fold: to ensure that the nest stay attached to the nest site
and that the components of which it is made to do not fall
apart.
Birds do no have anatomy that is specialized for the build-
ing technique each shows. Building technique has little
relevance with birds’ beak, but strongly dependent upon
behavior. The nests can be constructed by whatever princi-
ples using a limited repertoire of stereotyped movements.
Stereotyped, repeated movements and simple building rules
can produce an elegantly simple or sophisticated structure when carried out
on standardized building material. This is the principle of brick wall. So much
depends on the careful choice or manufacture of building units and materials.
Velcro is now referred fastening for children’s clothing,because the attachment
principle is in the material not in the behavior. By contrast, tying shoelaces in a
landmark in a child’s development, and it is illustrate that weaving is the most
difficult nest building technique for birds (Howman & Begg, 1995). (pp.85)
Getting the nest started may require different rules, which allow the nest to be
fitted to the landscape. The obvious problem here is that the topography of the
nest site or geometry of its branch arrangement will not be entirely predictable
and may therefore require greater flexibility in the behavior than continuing
construction after a nest has been established. The added problem of getting
started is that of not having other nest materials to which to attached the cur-
rent beak load.
Figure: downy woodpecker nests a cavity carved into
a dead tree limb with a narrow entrance for limiting
access.
Sculptors, whether in trees or in the ground, illustrate
the power of a bird’s beak to excavate a cavity large
enough for the rearing of the young, and in the
subterranean species, digging a long burrow to give
them additional security.
Figure: The surface of mud nest of the cliff swallow
reveals the large number of mud pellets to build it up
The majority of birds that use this technique build with
mud. The only other bird nest material to be moulded
is salivary mucus,secreted by builders themselves.
This mucus, unmixed with other materials, is used to
construct the nest of the edible-nest swift-let, in which
the saliva is mixed with feathers.
Figure: The nest of the spotted dove is a platform of
twigs laid across one another.
SCULPTING MOULDING PILING UP
/ 121RESEARCH
Figure: Chimney swift makes a wall attached bracket
or straight twigs held together with salivary mucus.
Some swifts reinforce vegetation nests with mud. The
most architecturally satisfying example of the sticking
together technique is probably tan of the chimney
swift, a wall-attached bracket of straight twigs held
together with salivary mucus.
STICKING TOGETHER
WEAVING
Figure: The largely African weavers, are much smaller
birds, nests have a downward directed entrance.
Weavers starting a nest : woven structures bear loads
in tension and so the first strips must at least bear their
own weight and, secondly, the strips have no inherent
properties to secure them until tied to branches from
which the nest will be suspended. Spiral wrapping
round an attachment twig may give a strand temporary
stability, but it must be secured with a hitch or knot;
requiring integration of movements of beak and feet.
WEAVING
Figure: The nest of bushtit is a velcro fabric featuring
a characteristic lichen, which bears stiff projections,-
shown entangled with threads of spider cocoon silk.
There are three different construction methods are
recognized within this: entangle, stitches or pop-rivets
and velcro. Interlocking is possibly the most important
category of nest construction methods. -
INTERLOCKING
Figure: The nest of the striped tit-babbler is made of
broad strips of monocot leaf entangled.
The properties of the materials themselves combine
with the probing and binding behavior, entangling the
materials to give the nest its integrity. Construction with
plant materials, whether grass, bark or vine tendrils,
requires not only interlocking with the beak but, as the
materials accumulate, the shaping of a nest cavity to
hold the egg. This is achieved mainly with the breast
and legs.
INTERLOCKING | ENTANGLE
Figure: The nest of the rufous piha is an open-work
platform of stiff, interlocking vine tendrils.
This form of nest is made by linking together the
margin of green leaves attached to a shrub or bush by
means of fibrous stitches. The stitches are made by
driving the thread through the leaf, grasping it on the
other side and driving it through again. The coarseness
of the thread and the elasticity of the green leaf spring-
ing back to grip the thread passing through the hole
prevent the stitches from unraveling.
Figure: The gray-backed cameroptera attaches the in-
ner nest lining to the outer envelope of growing leaves
by driving though the leaf membrane.
It is the entanglement of vegetation in threads of silk.
All these have dry threads and so can only be used in
nest building as the looped material of a velcro fabric.
INTERLOCKING | VERLCOINTERLOCKING | STITCHES
/ 123RESEARCH
a) tree/brush; b) grass/reed;
c) ground; d) water;
e) ground/hole/cavity;
f) tree/hole/cavity;
g) wall; h) ledge
The outer nest layer is to make the nest
look different, implying that its function
is to make the nest less obvious to
visually hunting predators; however,
protection from water penetration and
temperature regulation are possible
alternative explanations. Some nests
are built with heads and tails. They are
functioned as bedchamber for male
birds, also act as false nests to distract
predators that have detected the nest.
Heads and tails appear to serve as
devices that distort or break up a typical
nest shape.
Nest attachment devices are solution
to problems of anchoring a nest in the
chosen nest site. (Diagrams on the
previous page showed different types of
nest attachments.)
Structural layer is the most important
layer that prevent from falling apart and
retaining the nest shape and integrity.
The structural layer of nest addresses
the problem of strength and cohesion in
the chosen nest site. Examination of the
major materials involved has shown that
there are certain identifiable material
solutions: silk and plant material to cre-
ate a velcro, flexible fibrous materials in
tension or compression, and beam cups
or platforms in compression. (pp.122)
Structural layer is the most important
layer that prevent from falling apart and
retaining the nest shape and integrity.
The structural layer of nest addresses
the problem of strength and cohesion in
the chosen nest site. Examination of the
major materials involved has shown that
there are certain identifiable material
solutions: silk and plant material to cre-
ate a velcro, flexible fibrous materials in
tension or compression, and beam cups
or platforms in compression. (pp.122)
/ 125RESEARCH
In this studio, we are using Open Source Java based Processing, Arduino, and Kinect.
Processing is a programming language, development environment, and online
community.
Arduino is an open source electronics platform based on easy-to-use hardware
and software. It’s intended for making interactive project. Arduino board senses the
environment by receiving inputs from many sensors, and affects its surroundings by
controlling lights, motors, and other actuators. Engineering students using Arduino
Due for their AI robots.
Kinect 360 is being used in this program. It is a line of motion sensing input device
by Microsoft for XBox 360. Based around a webcam-style add-on peripheral, it
enables users to control and interact with their computer.
2.3 COMPUTATION PROGRAMMING
Processing could work with Kinect
by using the Open Kinect library and
OpenNI library to detect the real world
environment and give continuous
feedback.
Processing working with Arduino
software and Arduino board to give data
to the robot.
Processing Website:
http://www.processing.org/
Arduino Website:
http://www.arduino.cc/
Kinect Website:
http://www.xbox.com/en-SG/Kinect/
/ 127RESEARCH
PATH FINDING ALGORITHM
Pathfinders let you plan ahead rather than waiting until
the last moment to discover there is a problem. A* is
the most popular choice for pathfinding, it’s fairly flex-
ible and can be used in a wide range of contexts. A*
was developed in 1968 to combine heuristic approach-
es like Greedy Best-First-Search and formal approach
like Dijsktra’s algorithm.
More detailing code about A* pathfinding go to Person-
al Learning Outcome
Pa t h f i n d i n g u s i n g A *
algorithm in Processing to
calculate optimized shortest
path from a start point to
one or multiple goals.
Path planning plays an important role in various fields
of application and research, computer games, virtual
environments, molecular biology and robotics.
Mobile robots are widely used in many hazardous
industrial fields where there may be dangers for
people, such as aerospace research, the nuclear
industry, and the mining industry. Path planning for a
mobile robot is to find a collision-free route, through
the robot’s environment with obstacles, from a
specified start location to a desired goad destination
while satisfying certain optimization criteria. Moreover,
to reduce the processing time, communication delay
and energy consumption the planned path is required
to be optimal with th shortest length.
Because the information of a dynamic environment
will change along with th movement of obstacles,
the complexity and uncertainty of the path planning
problem increase greatly in dynamic environment. The
A* algorithm is a path planning method to help the
robot to find the optimal path in grid decomposed static
maps. The environment with free space and obstacles
is presented by a set of uniformed regular grids. The
A* algorithm uses heuristic based Dijkstra algorithm to
obtain the optimal result of the robot.
(Configuration Space) The path planning problem is in
its most general form a geometric problem. It needs
four ingredients:
1. A description of the geometry of the mving entity (in
this called the robot)
2. A description of (the geometry of) the environment
in which the robot moves or operates (also called
workspace). The workspace contains obstaces.
3. A description of the degrees of freedom of the
robot’s motion.
4. A start and a goal configuration in the environment,
between which is a path is to be planned for the robot.
Comparing the general path
planning and optimized
path planning. Figures from
Amit’s A* Pages
/ 129RESEARCH
DIJKSTRA’S ALGORITHM GREEDY BEST-FIRST-SEARCH A* ALGORITHM
DIJKSTRA’S ALGORITHM
Dijkstra’s algorithm works by visiting vertices
in the graph starting with the object’s starting
point. It then repeatedly examines the closest
not-yet-examined vertex, adding its vertices
to the set of vertices to be examined. It ex-
pands outwards from the starting point until
it reaches the goal.
Dijkstra’s algorithm is guaranteed to find the
shortest path from the starting point to the
goal.
GREEDY BEST-FIRST-SEARCH
The Greedy Best-First-Search algorithm
works in a similar way, except that it has
some estimate (heuristic) of how far from the
goad any vertex is. Instead of selecting the
vertex closest to the starting point, it selects
the vertex closest to the goal.
Dijkstra’s algorithm is not guaranteed to find
the shortest path from the starting point to
the goal, but ti runs much quicker than Dijk-
stra’s algorithm because it uses the heuristic
function to guide its way towards the goad
very quickly.
A* ALGORITHM
A* was developed in 1968 to combine
heuristic approaches like Greedy Best-First-
Search and formal approaches like Dijkstra’s
algorithm. g(n) represents the exact cost of
the path from the starting point to any vertex
n, and h(n) represents the heuristic estimat-
ed cost from vertex to the goal. Each time
through the main loop, it examines the vertex
n that has the lowest f(n)=g(n)+h(n).
Dijkstra’s algorithm is guaranteed to find the
shortest path from the starting point to the
goal.
A* ALGORITHM
/ 131RESEARCH
ARDUINO DUE
The Arduino Due is a micro-controller board based
on the Atmel SAM3X8E ARM Cortex-M3 CPU. It
is the first Arduino board based on a 32-bit ARM
core microcontroller. It has 54 digital input/output
pins (of which 12 can be used as PWM outputs),
12 analog inputs, 4 UARTs (hardware serial ports),
a 84 MHz clock, an USB OTG capable connection,
2 DAC (digital to analog), 2 TWI, a power jack, an
SPI header, a JTAG header, a reset button and an
erase button. (Arduino website: http://arduino.cc/
en/Main/arduinoBoardDue)
The engineering group from Robotics Automation
used Arduino due as their micro-controller board
in their robot arm making.
KINECTOPEN KINECT / OPENNI
PROCESSINGARDUINO
ARDUINO DUE
6-AXIS ROBOT
HUMAN INTERACTION
ENVIRONMENT
/ 133RESEARCH
Harvard’s Micro Air Vehicles
Project inspired by the
biology of a bee and the
insect’s hive behavior. The
engineer team is working
to incorporate compact
high energy power sources
that make the tiny robots
capable of “ultra-low-power
computing” and contain
electronic ‘smart’ sensors.
The littles robots will use
refined ‘coordination algo-
rithms’ that can manage
mul t i p l e , i ndependent
machines.
An intelligent robot is a mechanical creature which can function
autonomously. "Function autonomously" indicates that the robot
can operate, self-contained, under all reasnable conditions
without requiring recourse to a human operator. Autonomy
means that a root can adapt to changes in its environment or
iteself and continue to reach its goal. (Robin R.Murphy, 2000)
The search on robotics in artificial intelligence focus on topics
including application on sensing, navigation, path planning, and
navigating with uncertainty.
2.4 ARTIFICIAL INTELLIGENCE
/ 135RESEARCH
Data acquisition
Filtering
Perception
Navigation
Localization
Decision Making
Locomotion
Kinematics
Motor Control
SENSE PLAN ACT
Andy Chang , A dvanced
Control& Robotics, National
Instruments Corp. The
makeup of simultaneous
localization and mapping,
o r SL AM , r ou t i nes fo r
robot navigation usually
involve combining mapping
techniques with ad-hoc
schemes using sensors to
react to the state of the
environment.
/ 137RESEARCH
ROBOT PATH PLANNING
ROBOT PATH PLANNING
IN STATIC ENVIRONMENT
ROBOT PATH PLANNING
IN DYNAMIC ENVIRONMENT
Robot Path Planning
in Know
Static Environment
Robot Path Planning
in Unknown
Static Environment
Robot Path Planning
in Know
Dynamic Environment
Robot Path Planning
in Unknown
Dynamic Environment
MOTION PLANNING is the ability for an agent to compute its own
motions in order to achieve certain goals. All autonomous robots
and digital actors should eventually have this ability.
GOALS
The goals for path planning for robots including compute mo-
tion strategies including geometric paths, time-parameterized
trajectories, and sequence of sensor-based motion commands;
achieve high-level goals including avoid collision with obstacles,
assemble/disassemble the engine, build a map of the hallway
and find and track the target.
CONSTRAINTS
Dealing with complex robots: multiple robots; movable objects;
non-holonomic & dynamic constraints; physical models and de-
formable objects; sensor-less motions; and uncertainty in control.
Dealing with complex environment: moving obstacles; and uncer-
tainty in sensing.
Dealing with complex objectives: optimal motion planning; inte-
gration of planning and control; assembly planning; and sending
the environment include model building and target finding /
tracking.
Khepera III mobile robot
approaching the designated
area of rock sampling. It is
running a Mobile-C agency
and is under the control
of a mobile agent with the
objectives of searching for
the sampling proper rocks.
/ 139RESEARCH
Michael Rubenstein, Christian Ahler
SWARM ROBOTICS, THE KILOBOT PROJECT
In current robotics research there is a
control methods for groups of decentral-
ized cooperating robots, called a swarm or
collective. These algorithms are generally
meant to control collectives of hundreds or
even thousands of robots. They need to be
cheap and easy to assemble and operate.
They can work together to complete a task
that is beyond the capabilities of any of its
individuals. Many such examples could be
found in nature: army ants and honeybee
colonies effectively forage over large areas
many kilometers wide; desert ant groups can
collectively transport large irregular objects
50 times their collective weight; termites
colonies construct mounds meters tall even
though individuals are only a few millimeters
tall themselves. These examples from nature
Up: Overview of the mobile
kilobots
Right: The reflection path
of robot communication
Isometric and bottom views
of Kilobot. Key features:
a) V ibrat ion motors; b)
Luthium-Ion batter y; c)
R ig id suppor t ing legs .
d) Infrared t ransmitter
receiver; e) Three-color
(RGB) LED, f ) Charging
tab, and g) Ambient light
sensor.
Left: Robot path following
have inspired long-standing research in collective ro-
botics to achieve parallelism, robustness and collective
capability of these natural systems.
The difficulty when using a simulation to validate an al-
gorithm for a collective of robots is the interaction with
each other, such as communication and sensing, and
with the environment such as movement and collisions.
To make a robot scalable to a large collective sizes, all
the operations of the robot must work on the collective
as a whole. The Kilobot robot has low cost ($14 worth
of parts) and quick assembly (5min) enable large num-
bers to be produced easily. They have abilities in differ-
ential drive locomotion, on-board computation power,
neighbor-to-neighbor distance sensing.
----------------------------------------
Michael Rubenstein, Christian Ahler, and Radhika
Nagpa . Kilobot: A Low Cost Scalable Robot System
/ 141RESEARCH
Sholomi Mir
SEED-PLANTING TUMBLEWEED ROBOT DRAWS FROM NA-
TURE TO FIGHT DESERTIFICATION
This tumbleweed-inspired robot that uses wind power to
study desertification and help scientists better understanding
the phenomenon. The round robot uses an internal fabric sail
stretched across a circular steel frame to roll across the terrain
and collect data about the formation of sand dunes, planting
seeds along the way. When there is no wind, the robot can lie
flat until the next gust picks up.
The Tumbleweed contains an onboard computer and a small
motor, which are powered by a kinetic generator. It is equipped
with an Arduino and Android-based core that allows it to use
GPS, transmit data, and collect climate information via a small
sensor. “There are applications where this system could go
where people cannot go or cannot afford to go, or cannot go
enough to collect this information that these researcher need.”
Announced by Mir. These wind powered robots, modeled after
tumbleweeds, are inexpensive alternatives to the rovers found
on Mars now.
Left: Tumbleweed robot
planting seeds along the
desert , the design was
inspired by tumbleweed
when building the robot.
Like tumbleweed the robot
is wind powered and helps
spread the seeds of plant-
life.
Right: the analysis diagram
of the robot in functions. W
/ 143RESEARCH
Robotics will have big impacts on the entire construction
industry over the next few years. Within the development of
digital architecture, the involvement of robotics in architecture
is opening up new aesthetic and functional potentials that could
change architectural design and building culture. The range
of robotic process is gradually explanding from prefabrication
towards direct use of robots on the construction site and
involving in desing process.
Research in robotics in achitecutre mainly including case
studeis of the industrial robots and mobiles robots application in
architecture field.
2.5 ROBOTICS IN ARCHITECTURE
Robot House, made by SCI-
Arc Students. The double-
h e i g h t 1 0 0 0 - s q u a r e -
f o o t Ro b o t H o u s e i s
a r e s e a r c h s p a c e f o r
hands-on col laborat ive
experimentation, advanced
multi-robotic platform,
a n d e x p l o r a t i o n a n d
architectural agency.
/ 145RESEARCH
Karola Dierichs, Tobias Schwinn, Achim Menges
ROBOTIC POURING OF FUNCTIONALLY GRADED
AGGREGATE STRUCTURE
Loose, designed macro-scale granulates can be used as
architectural materials system. Architecture is typically
conceptualized as one of the most permanent and stable
forms of human production. As a consequence it is com-
monly conceived as precisely planned, fully defined and
ordered in stable assemblies of material elements. But in
‘aggregate architecture’ , the elements are only in loose
frictional contact. If th individual grains are synthetically
produced, the resulting granular structures can be cal-
ibrated to suit specific architectural requirements, such
as structural and environmental performance. Designing
with these aggregate structures requires the architect to
observe the evolving formation rather than to precisely
define it (Dieriches and Menges, 2012).
Aggregates are defined as large amounts of elements in
loose contact (Cambou 1998; Duran 2000). In nature sand
or snow are considered granular or aggregate systems. The
Left: aggregate structure
consist ing of synthetic
macro-scale particles
Bottom: s ix-ax is robot
pouring designed granulates
using a magazine emitter-
head
Right: poured structure
u s i n g a l i n e a r K P L-
controlled pouring path /
Right bottom: responsive
motion-panning strategy for
online robot-control using
macro-scale non-convex
granulates
/ 147RESEARCH
L e f t : S i m u l a t i o n o f
H e x a p o d a l G r a n u l e s
Analyzing Joint Slips and
Contacts
Right: Particle Geometries
f o r M o u l d a n d S h e e t
Production
use of designed granulates that individual particle is customized to
meet specific architectural performance criteria such as frictional
interlocking or heat insulation (Hensel and Menges, 2006).
In this case study, a 6-axis robot is being used as a puring
device for designed aggregate structures both renders
the pouring process precise and offers the opportunity of
pouring patterns which are otherwise hard to achieve. In
pick-and-place robotics elements are individually positioned
in the overall structure in a very controlled manner.
(Bonwestsch, Gramazio and Kohler. 2007) In contrast,
robotic pouring aggregate formations are consequently
predictable only in terms of probability rather than
certainty. (p.197, Robotic Fabrication 2012). The additive
manufacturing such as fused deposition modeling (FDM)
(Oamn 2010) has a continuous stream of heated polymer
is extruded from an emitter head and deposited on a
height-adjustable printer-bed to form individual horizontal
layers. As the polymer cools down, the layer solidifies into
a permanent configuration and forms the basis for the next
layer.
/ 149RESEARCH
Howeler + Yoon Architecture & Squared Design Lab
ECO-PODS: CONCEPT STRUCTURE FOR BOSTON
This is a conceptual structure designed for Boston,
where an unfinished building would be covered in
modular pods growing algae for biofuel. The designers
intend to use the structure, called Eco-pods, to inform
the public about the potential of micro-algae, a bio-fuel
that can be grown vertically.
The pods would be continuously rearranged by robotic
arms (powered by the micro-algae produced) to ensure
the optimum growing conditions for algae in each pod.
The on-site robotic armature is designed to reconfigure
the modules to maximize algae growth conditions and
to accommodate evolving spatial and programmatic
conditions in real-time.
Left: Render Speculation
t h e p o d s w o u l d b e
continuously rearranged by
robotic arms to ensure the
optimum growing conditions
for alage in each pod.
R i g h t : T h e a s s e m b l e
d i ag rams ind i ca te the
flexibility in combination
/ 151RESEARCH
Gramazio & Kohler and Raffaello D’ Andrea in Coorpora-
tion with ETH Zurich
FLIGHT ASSEMBLED ARCHITECTURE
Flight Assembled Architecture is the first architectural
installation assembled by flying robots, free from the
touch of human hands. Fight Assembled Architecture
consists of over 1,500 modules which are placed by a
multitude of quafrotor helicopter, collaborating accord-
ing to mathematical algorithms that translate digital
design data to the behavior of the flying machines. The
flying vehicles, together, extends themselves as ‘living’
architectural machines and complete the composition
from their dynamic formation of movement and build-
ing performance. Within the build, an architectural
vision of a 600m high ‘vertical village’ for 30,000
inhabitants unfolds as model in 1:100 scale. The ideal
self-sustaining habitat that the authors pursue a rad-
ical new way of thinking and materializing vertical in
architecture.
Top: F ly ing robots can
operate freely in airspace
Le f t : F l y i ng r obo t s i n
working
Middle: The final prototype
1:100 scale
Right: The architectural
vision of vertical village for
30,000 inhabitants unfolds
locate at rural area of
Meuse, taking advantage of
an existing TGV connection
/ 153RESEARCH
Scientists from Harvard University and the Wyss Institute
SELF-ORGANIZING ROBOT ANTS
They are as industrious as Bob the Builder and possess the same
social intelligence as a colony of termites. They can build model
towers, castles and pyramids without supervision.
The robots can act very similar way that of te termites. The ter-
mites are working on local information rather than a central orga-
nization. Termites can build structures of several meters without
requiring a coordinated strategy. Thy use very simple intructions
provided by their peers and the environment to know where to
put the next piece of the mound and finally build a mound adapt-
ed to their environment. This use of local information is called
stigmergy.
Termes bots are guided by singals from infrared and ultrasound
sensors. Each termes bots are given an overall idea what the
finished job should look like before being left to get on with it,
research said. They also know when to lift a building brick and
where to attach it, as well as how to avoid collisions and even
how to reach higher levels by constructing staircases.
Left: Termites inspired
robots
Bottom: a) Inspi red by
termites moulds b) Termites
are working in building
c) robots working d) The
robots can build model
towers, astels and pyramids
without supervision.
/ 155RESEARCH
PERSONAL LEARNING OUTCOME
This part mainly contains personal learning outcome in Processing,
Arduino, Kinect that relating to the prototype of this project.
3 / 157
EMERGENT BEHAVIOR WITH ATTRACTION AND REPULSION FORCE ArrayList <Agent> agents;
ArrayList <Vec3D> totTail;
PointOctree octree;
float clipRadius = 40;
//attractor and repellors
Vec3D repeller = new Vec3D(100,400,0);
Vec3D repeller2 = new Vec3D(300,100,0);
Vec3D seekTarget = new Vec3D(200, 300, 0);
Vec3D seekTarget2 = new Vec3D(100, 200, 0);
Vec3D seekTarget3 = new Vec3D(400,400,0);
//behavior variables
int population = 500;
float maxVel = 2;
float wandertheta = 1;
float futLocMag = 10;
float tailViewAngle = 60;
float tailCohMag = 0.5;
float tailCohViewRange = 20;
float tailSepMag = 3;
float tailSepViewRange = 5;
float att = 1;
float rep = 5;
float maxAttract = 0.1;
float maxRepel = 1;
-----------------------------------------------
void setup() {
background(220);
size(500, 500, P2D);
agents = new ArrayList();
totTail = new ArrayList <Vec3D>();
for (int i=0; i < population; i++) {
Vec3D origin = new Vec3D (random
(width), random(height), 0);
Agent myAgent = new Agent (origin);
agents.add(myAgent);
}}
-----------------------------------------------
void draw() {
background(220, 254);
smooth();
//CALL FUNCTIONALITY
for (Agent Ag : agents) {
Ag.run();
totTail.addAll(Ag.tail);
Ag.tailSeek(totTail);
}
totTail.clear();
// draw repeller
pushStyle();
noStroke();
fill(0, 200, 200,100);
rectMode(CENTER);
rect(repeller.x, repeller.y, 50, 50);
rect(repeller2.x,repeller2.y,100,100);
popStyle();
//draw attractor
float ampA = 10;
pushStyle();
for (int i = 0 ; i < ampA ; i++) {
noFill();
strokeWeight(1);
stroke(0, 200, 0, map(i, 0, ampA, 255, 0));
ellipseMode(CENTER);
ellipse(seekTarget.x, seekTarget.y, i*15, i*15);
ellipse(seekTarget2.x, seekTarget2.y, i*10, i*10);
ellipse(seekTarget3.x,seekTarget3.y,i*5,i*5);
}
popStyle();
}
-----------------------------------------------------------
// CLASS AGENTS
class Agent {
Vec3D loc = new Vec3D(0, 0, 0);
Vec3D speed = new Vec3D(random(-20, 20), ran-
dom(-20, 20), 0); //re-map the contour??
Vec3D acc = new Vec3D();
ArrayList <Vec3D> tail = new ArrayList <Vec3D> ();
int Tcount = 0;
int TLen = 20;
int TStep = 6;
/ 159
//AGENTS
float angle;
float VAngle;
Vec3D perip = new Vec3D();
//TAILS
float tailAngle;
float tailVAngle;
Vec3D tailPerip = new Vec3D();
//FUTURE LOCATIONS
Vec3D FutVec;
Vec3D FutLoc;
//CONSTRUCTOR
Agent(Vec3D loc_) {
loc = loc_;
}
----------------------------------------------------------
// RUN THE BEHAVIORS OF THE AGENTS
void run() {
display();
move();
border();
drawTail();
FutLoc();
tailVAngle = radians(tailViewAngle);
if (appWander) wander();
repel(repeller);
repel(repeller2);
seek(seekTarget);
seek(seekTarget2);
seek(seekTarget3);
}
-----------------------------------------------------
// SEEK
void tailSeek(ArrayList<Vec3D> flowfield) {
tailSeparate(tailSepMag, tailSepViewRange,
flowfield);
tailCohesion(tailCohMag, tailCohViewRange,
flowfield);
}
-----------------------------------------------------
// COHESION
-----------------------------------------------------
// TAIL COHESION
void tailCohesion(float magnitude, float range,
ArrayList <Vec3D> flowfield) {
Vec3D sum = new Vec3D();
Vec3D steer = new Vec3D();
int count = 0;
for (int i = 0; i < flowfield.size();i++) {
float distance = FutLoc.distanceTo(flowfield.
get(i));
if (distance > 0 && distance < range) {
tailPerip = (flowfield.get(i)).sub(loc);
tailAngle = tailPerip.angleBetween(speed,
true);
if (tailAngle < 0) tailAngle += TWO_PI;
if (abs(tailAngle) < tailVAngle ) {
sum.addSelf(flowfield.get(i));
count++;
}
}
}
if (count>0) {
sum.scaleSelf(1.0/count);
steer = sum.sub(loc);
//steer.normalize();
steer.scaleSelf(magnitude);
acc.addSelf(steer);
}
}
----------------------------------------------------------
//TAIL SEPARATE STEER
void tailSeparate(float magnitude, float range, ArrayList
<Vec3D> flowfield) {
Vec3D steer = new Vec3D();
int count = 0;
for (int i = 0; i < flowfield.size();i++) {
float distance = FutLoc.distanceTo(flowfield.get(i));
if (distance > 0 && distance < range) {
tailPerip = (flowfield.get(i)).sub(loc);
tailAngle = tailPerip.angleBetween(speed,
true);
if (tailAngle < 0) tailAngle += TWO_PI;
if (abs(tailAngle) < tailVAngle ) {
Vec3D diff = loc.sub(flowfield.get(i));
diff.normalizeTo(1.0/distance);
steer.addSelf(diff);
count++;
}
}
}
if (count > 0) {
steer.scaleSelf(1.0/count);
}
//steer.normalize();
steer.scaleSelf(magnitude);
acc.addSelf(steer);
}
-----------------------------------------------------
// BOUNDARY
void border() {
if (loc.x > width) {
//loc.x -=width;
speed.x = speed.x * -1;
}
if (loc.x < 0) {
//loc.x+=width;
speed.x = speed.x * -1;
}
if (loc.y > height) {
//loc.y-=height;
speed.y = speed.y * -1;
}
if (loc.y < 0) {
//loc.y+=height;
speed.y = speed.y * -1;
}
}
-----------------------------------------------
// MOVING
/ 161
void move() {
speed.addSelf(acc);
speed.limit(maxVel);
loc.addSelf(speed);
acc.clear();
}
-----------------------------------------------------
// AGENT DISPLAY
void display() {
strokeWeight(random(1,3));
stroke(0);
point(loc.x, loc.y, 0);
}
-----------------------------------------------------
// DRAW TAIL
void drawTail() {
Tcount++;
if (Tcount > TStep) {
tail.add(loc.copy());
Tcount = 0;
}
if (tail.size() > TLen) {
tail.remove(0);
}
for ( int i = 1; i < tail.size();i++ ) {
Vec3D a = tail.get(i-1);
Vec3D b = tail.get(i);
if (a.distanceTo(b) < 30) {
stroke(0, 0, 0, map(i, 0, tail.size(), 0, 100));
strokeWeight(map(i, 0, tail.size(), 0.5, 1));
line(a.x, a.y, b.x, b.y);
}
-----------------------------------------------------
// FUTURE LOCATION
void FutLoc() {
FutVec = speed.copy();
FutVec.normalize();
FutVec.scaleSelf(futLocMag);
FutLoc = FutVec.addSelf(loc);
stroke(50, 100);
strokeWeight(1);
if (futPrev) line(loc.x, loc.y, FutLoc.x, FutLoc.y);
}
----------------------------------------------------
// WANDER BEHAVIOR
void wander() {
float wanderR = 50;
float wanderD = 80;
float change = 5;
wandertheta += random(-change, change);
Vec3D circleLoc = speed.copy();
circleLoc.normalize();
circleLoc.scaleSelf(wanderD);
circleLoc.addSelf(loc);
Vec3D circleOffSet = new Vec3D(noise(wan-
derR*cos(wandertheta)), noise(wanderR*sin(wan-
dertheta)), 0);
Vec3D target = circleLoc.addSelf(circleOffSet);
Vec3D steer = target.sub(loc);
steer.normalize();
steer.scaleSelf(1);
acc.addSelf(steer);
}
----------------------------------------------------
// SEEK (ATTRACTORS)
void seek(Vec3D target) {
float distanceT = target.distanceTo(loc);
if (distanceT > 0 && distanceT < 800) {
Vec3D desired = target.sub(loc);
desired.normalize();
desired.scaleSelf(att);
Vec3D steerTarget = desired.sub(speed);
steerTarget.limit(maxAttract);
acc.addSelf(steerTarget);
}
}
----------------------------------------------------
// REPELLING FORCE
void repel(Vec3D target) {
float distanceT = target.distanceTo(loc);
if (distanceT > 0 && distanceT < 150) {
Vec3D desired = target.sub(loc);
desired.normalize();
desired.scaleSelf(rep);
Vec3D steerTarget = desired.sub(speed);
steerTarget.limit(maxRepel);
steerTarget.scaleSelf(-1);
acc.addSelf(steerTarget);
}
}
}
/ 163
import pathfinder.*;
Graph gs = new Graph();
PImage graphImage; // visible image
PImage costImg; // cost image
int start, end;
int numTilesX, numTilesY;
GraphNode[] gNodes, p;
GraphEdge[] gEdges, exploredEdges;
// Pathfinder algorithm
IGraphSearch pathFinder;
// Used to indicate the start and end nodes
as selected by the user.
GraphNode startNode, endNode;
// store paths and color
ArrayList<GraphNode[]> paths;
ArrayList<Integer> pathColor;
long time; // used for performance stats
boolean ready = false;
------------------------------------------
PATH FINDING USING A* BASED ON DEPTH DATA IN 2D ENVIRONMENT
void setup(){
size(640, 640);
cursor(CROSS);
smooth();
ellipseMode(CENTER);
// import depth data ( image/ video/ kinect)
graphImage = loadImage(“map1a.png”);
costImg = loadImage(“map1b.png”);
gs = new Graph();
numTilesX = numTilesY = 40;
makeGraphFromBWimage(gs, graphImage,
costImg, numTilesX, numTilesY, true);
// Get arrays of nodes and edges
gNodes = gs.getNodeArray();
gEdges = gs.getAllEdgeArray();
// Create a path finder object
pathFinder = makePathFinder(gs);
paths = new ArrayList<GraphNode[]>();
pathColor = new ArrayList<Integer>();
}
-----------------------------------------------
void draw(){
background(0);
display();
}
-----------------------------------------------
IGraphSearch makePathFinder(Graph graph){
IGraphSearch pf = null;
float f = 2.0f;
pf = new GraphSearch_Astar(gs, new Ash-
CrowFlight(f));
return pf;
}
GraphNode[] usePathFinder(IGraphSearch pf)
{
time = System.nanoTime();
pf.search(start, end, true);
time = System.nanoTime() - time;
p = pf.getRoute();
exploredEdges = pf.getExaminedEdges();
showStats();
return p;
}
------------------------------------------
// Visualise the algorithm and path, draw
route if end nodes are selected
void chooseRoute() {
stroke(255, 0, 0);
strokeWeight(1.5f);
if(endNode != null)
line(startNode.xf(), startNode.yf(), end-
Node.xf(), endNode.yf());
else
line(startNode.xf(), startNode.yf(), mouseX,
mouseY);
}
// Display search analysis data
void showStats() {
println(“No. edges examined: “ + explored-
Edges.length);
/ 165
pr in t ln (“Analys is t ime: “ + ( t ime *
0.000001f));
println();
}
-----------------------------------------------
// Graph drawing functions, to draw Nodes
and Edges
void drawNodes(){
pushStyle();
noStroke();
fill(255);
for(GraphNode node : gNodes)
ellipse(node.xf(), node.yf(), 2, 2);
popStyle();
}
void drawEdges(GraphEdge[] edges, int line-
Col, float sWeight){
if(edges != null){
pushStyle();
noFill();
stroke(lineCol);
strokeWeight(sWeight);
for(GraphEdge ge : edges)
line(ge.from().xf(), ge.from().yf(), ge.to().
xf(), ge.to().yf());
popStyle();
}
}
// Draw Routes
void drawRoute(GraphNode[] r, int lineCol,
float sWeight){
if(r.length >= 2){
pushStyle();
stroke(lineCol);
strokeWeight(sWeight);
noFill();
for(int i = 1; i < r.length; i++)
line(r[i-1].xf(), r[i-1].yf(), r[i].xf(), r[i].yf());
// Route start node
strokeWeight(0.0f);
fill(0, 0, 255);
ellipse(r[0].xf(), r[0].yf(), 5, 5);
// Route end node
fill(255, 0, 0);
ellipse(r[r.length-1].xf(), r[r.length-1].yf(), 5, 5);
popStyle();
}
}
-----------------------------------------------
// the shortest path is calculated by A* Algo-
rithm
void makeGraphFromBWimage(Graph g,
PImage backImg, PImage costImg, int tilesX,
int tilesY, boolean allowDiagonals){
int dx = backImg.width / tilesX;
int dy = backImg.height / tilesY;
int sx = dx / 2, sy = dy / 2;
// use deltaX to avoid horizontal wrap around
edges
int deltaX = tilesX + 1; // must be > tilesX
float hCost = dx, vCost = dy;
float dCost = sqrt(dx*dx + dy*dy);
float cost = 0;
int px, py, nodeID, col;
GraphNode aNode;
py = sy;
for(int y = 0; y < tilesY ; y++){
nodeID = deltaX * y + deltaX;
px = sx;
for(int x = 0; x < tilesX; x++){
// Calculate the cost based on depth data
if(costImg == null){
col = backImg.get(px, py) & 0xFF;
cost = 1;
}
else {
col = costImg.get(px, py) & 0xFF;
cost = 1.0f + (256.0f - col)/ 16.0f;
}
// If col is not black then create the node and
edges, black indicates inaccessbile areas.
if(col != 0){
aNode = new GraphNode(nodeID, px, py);
g.addNode(aNode);
if(x > 0){
g.addEdge(nodeID, nodeID - 1, hCost * cost);
if(allowDiagonals){
g.addEdge(nodeID, nodeID - deltaX - 1, dCost * cost);
g.addEdge(nodeID, nodeID + deltaX - 1, dCost * cost);
}
}
if(x < tilesX -1){
g.addEdge(nodeID, nodeID + 1, hCost * cost);
if(allowDiagonals){
g.addEdge(nodeID, nodeID - deltaX + 1, dCost * cost);
g.addEdge(nodeID, nodeID + deltaX + 1, dCost * cost);
}
}
if(y > 0)
g.addEdge(nodeID, nodeID - deltaX, vCost * cost);
if(y < tilesY - 1)
g.addEdge(nodeID, nodeID + deltaX,
vCost * cost);
}
px += dx;
nodeID++;
}
py += dy;
}
}
-----------------------------------------------
// Display the calculated edges, and nodes
void display() {
if(graphImage != null)
image(graphImage, 0, 0);
drawEdges(exploredEdges, color(255, 255,
255, 100), 1.0f);
drawNodes();
if(ready)
for(int i = 0; i < paths.size(); i++)
/ 167
drawRoute(paths.get(i), pathColor.get(i),
2.5f); // draw all ready paths, use new color
for each
// show mouse-controlled start/end selection
if(mousePressed == true) {
if(startNode != null)
chooseRoute();
}
}
-----------------------------------------------
// visualize the path in processing with
mouse controlled
public void mousePressed(){
noCursor();
if (paths.isEmpty()) {
startNode = gs.getNodeAt(mouseX, mous-
eY, 0, 16.0f);
} else {
startNode = endNode;
}
}
public void mouseDragged(){
endNode = gs.getNodeAt(mouseX, mouseY,
0, 16.0f);
}
public void mouseReleased(){
cursor();
if(endNode!= null && startNode != null &&
startNode != endNode){
start = startNode.id();
end = endNode.id();
GraphNode[] p = usePathFinder(path-
Finder);
paths.add(p);
ready = true; // report that the route is
ready
pathColor.add(color(random(255), ran-
dom(255), random(255)));
}
}
CONVERT 2D DEPTH DATA INTO 3D MESH USING PELTHORA LIBRARY
CONVERT 2D DEPTH DATA INTO 3D MESH USING PELTHORA LIBRARY import toxi.processing.*;
import processing.opengl.*;
import plethora.core.*;
import toxi.geom.*;
import peasy.*;
PeasyCam cam;
Ple_Terrain pTer;
float [][] heights;
int DIMX = 400;
int DIMY = 400;
int col = 20;
int row = 20;
void setup(){
size(800, 600, OPENGL); //OR p3d?
smooth();
ellipseMode(CENTER);
cam = new PeasyCam(this, 0,0,0,800);
//declare a vector as the location
Vec3D location = new Vec3D(0,0,0);
pTer = new Ple_Terrain(this, location,
col,row, DIMX/col,DIMY/row);
//generate a data-map from a depth image
and load that information into the height of
the terrain
heights = pTer.loadImageToBuffer(“map1c.
png”);
pTer.loadBufferasHeight(heights, 0 , 100);
}
void draw() {
background(0);
stroke(0,90);
strokeWeight(2);
pTer.display();
stroke(255,140,0,140);
strokeWeight(1);
pTer.drawLines(true,true,true); //horizontal,
/ vertica / diagonal / all
}
/ 169
//CHANGE CODE FROM PATH FINDING IN 2D
ENVIRONMENT FROM makeGraphFromB-
Wimage:
void makeGraphFromBWimage(Graph g,
PImage backImg, PImage costImg,
int cellSizeX, int cellSizeY, boolean allowDiag-
onals){
cellSizeX = cellSizeY = 20;
int dx = backImg.width / cellSizeX;
int dy = backImg.height / cellSizeY;
int deltaX = cellSizeX+ 1;
float xCost = dx, yCost = dy;
float zCost, xzCost, yzCost, xyCost, xyz-
Cost;
float cost = 0.0;
int px, py, nodeID, col;
float pz, dz;
GraphNode aNode;
py = dy;
for(int y = 0; y < cellSizeY ; y++){
PATH FINDING USING A* BASED ON DEPTH DATA IN 3D ENVIRONMENT
nodeID = deltaX * y + deltaX;
px = dx;
for(int x = 0; x < cellSizeX; x++){
if(costImg == null){
col = backImg.get(px, py) & 0xFF;
pz = dz = col;
cost = 1;
}
else {
col = costImg.get(px, py) & 0xFF;
pz = dz = map(col, 0,255, 0, 100); //
remap the height to 1~100
}
if(col != 0){
xCost = dx;
yCost = dy;
zCost = dz;
xzCost = sqrt (dx*dx + dz*dz);
yzCost = sqrt(dy*dy + dz*dz);
xyCost = sqrt(dx*dx + dy*dy);
xyzCost = sqrt(dx*dx + dy*dy + dz-
*dz);
aNode = new GraphNode(nodeID, px,
py, pz);
g.addNode(aNode);
if(x > 0){
g.addEdge(nodeID, nodeID - 1, xz-
Cost * cost);
if(allowDiagonals){
g.addEdge(nodeID, nodeID - deltaX
- 1, xyzCost * cost);
g.addEdge(nodeID, nodeID + deltaX
- 1, xyzCost * cost);
}
}
if(x < cellSizeX -1){
g.addEdge(nodeID, nodeID + 1, xz-
Cost * cost);
if(allowDiagonals){
g.addEdge(nodeID, nodeID - deltaX
+ 1, xyzCost * cost);
g.addEdge(nodeID, nodeID + deltaX
+ 1, xyzCost * cost);
}
}
if(y > 0)
g.addEdge(nodeID, nodeID - deltaX,
yzCost * cost);
if(y < cellSizeY - 1)
g.addEdge(nodeID, nodeID + deltaX,
yzCost * cost);
}
px += dx;
nodeID++;
}
py += dy;
}
}
/ 171
REFERENCES
0.2 BACKGROUND IMAGES &FIGURES
Soft Structures http://www.expandedenvironment.org/soft-structures/ EXTS
Termites Mould http://www.touringaustralia.de/Animals/Termites.php
Stone Sprey http://www.massmarket.tv/6275/we-like-stone-spray/
Nest Selection in Weaver Birds. http://micusp.elicorpora.info/search/viewPaper/BIO.
G0.09.1.pdf
Studies on Nest-Site Selection by the Baya Weaver http://www.idosi.org/wjz/
wjz4(4)2009/11.pdf
1.2 UNPREDICTABLE TEXTS
Deadliest earthquakes and tsunamis of the past century http://en.tengrinews.kz/
opinion/334/
Haitai Earthquake Faces and Figures http://www.dec.org.uk/haiti-earthquake-facts-
and-figures
1.2 UNPREDICTABLE ENVIRONMENT IMAGES
Earthquake magnitudes http://www.expandedenvironment.org/soft-structures/ EXTS
Unrescued Living http://www.telegraph.co.uk/news/picturegalleries/world-
news/2662401/Chinese-earthquake-aftermath.html?image=2
Haiti Shelter http://www.emilytroutman.com/index.php#mi=2&pt=1&pi=10000&s=
11&p=2&a=0&at=0
Haiti shelter https://www.flickr.com/photos/un_photo/4276934309/in/gallery-cmck-
ane-72157623219576268/
Japanese Disaster Relief Project for Earthquake http://www.shigerubanarchitects.
com/SBA_NEWS/SBA_news_5.htm
Sleep Box in Japan http://www.theguardian.com/world/2009/apr/09/berlus-
coni-camping-comment-earthquake
Recycled cardboard paper make shelter http://biginjapan.com.au/2011/10/shige-
ru-ban-giving-shelter/
Sichuan tent-school http://sn.ifeng.com/jiaoyu/detail_2013_04/22/734528_0.shtml
Sichuan temporary settlement http://blog.salvationarmyusa.org/2013/04/22/salva-
tion-army-responds-to-sichuan-earthquake/
Chile tent http://www.e-architect.co.uk/chile/chile-earthquake-rebuilding
Tent city in San Gregorio http://www.theguardian.com/world/2009/apr/09/berlus-
REFERENCE
coni-camping-comment-earthquake
Potential Using Materials http://sherpas2.blogs.sapo.pt/389774.html
Proposed Houseing http://ikeda-lab.sfc.keio.ac.jp/home/en/project/2011_bub-
ble-dome
Earthquake resistant housing made by container http://activerain.trulia.com/blogs-
view/3511013/affordable--earthquake---hurricaine-resistant-shipping-contain-
er-home
ReCover Accordion Shelter http://inhabitat.com/emergency-shelters-and-disaster-
relief-for-the-people-of-haiti/
Calearth Disaster Resistant Housing http://inhabitat.com/emergency-shelters-and-
disaster-relief-for-the-people-of-haiti/
1.3 BUILD BY WASTE TEXT
Baya Weaver nest selection http://www.cyclists.in/photo/baya-weaver-bird-nests
Baya Weaver collecting material http://wildabs.com/birds/male-baya-weaver-collect-
ing-nesting-material
Bay Weaver constructing nests http://www.besgroup.org/2010/05/29/baya-weav-
er-completing-nest/
1.3 BUILD BY WASTE IMAGES & FIGURES
Recycled Windshield Greenhouse, http://inhabitat.com/recycled-windshield-green-
house-grows-more-glass/
Ball-shaped Shelter. http://inhabitat.com/5-brilliant-backyard-sheds-built-from-recy-
cled-materials/6-best-curious-tiny-sheds-from-random-materials-4/?extend=1
Sound Wave. http://forum.xcitefun.net/the-creation-recycled-sculptures-t43862.html
To Live. http://forum.xcitefun.net/the-creation-recycled-sculptures-t43862.html
Building with Pop Cans, http://inspirationalvillage.me/tag/recycled-materials/
Built by recycled bottles. http://www.ecofriend.com/eco-friendly-materials-sustain-
able-buildings.html
Building by 7000 Recycled Phone Books. http://inhabitat.com/amazing-building-
made-from-7000-recycled-phone-books/
Temporary shelter built by soap cans. http://www.greendiary.com/2011-eco-friend-
ly-homes-built-recycled-material.html
Micro-Financed Straw House. http://www.greendiary.com/2011-eco-friend-
ly-homes-built-recycled-material.html
Plastic Frantastic http://knowledge.allianz.com/environment/energy/?722/incredi-
ble-buildings-made-from-recycled-materials-gallery
Turning waste into building blocks of the future city. http://archinect.com/news/arti-
cle/76898650/turning-waste-into-building-blocks-of-the-future-city
/ 173
Cover 10-Storey Building with 1,000 Recycled Doors. South Korean artist Choi
Jeong-Hwa. http://www.ecologyrunner.com/2012/01/artist-covers-10-storey-build-
ing-with.html
The Big Church, http://inhabitat.com/the-big-crunch-raumlabor-creates-an-incredi-
ble-building-from-discarded-materials/
Earth Shape Building http://bc-interior.blogspot.com.au/2010/09/earthship-building-
going-up-in-south.html
1.4 LEARNING FROM ANIMAL IMAGES & FIGURES
Representation of the process of Baltimore oriole nest construction in Avian Architec-
ture by Peter Goodfellowm Princeton University Press 2011. P.103
Baya Weaver Bird Nests http://www.cyclists.in/photo/baya-weaver-bird-nests
1.5 SIX-AXIS ROBOTICSW
2.2 ANIMAL ARCHITECTURE IMAGES AND FIGURES
Hummingbird Nests http://folkwaysnotebook.blogspot.com.au/2013/02/un-
known-winter-birdnest.html
2.3 COMPUTATION PROGRAMMING IMAGES AND FIGURES
Amit’s A* Pages: http://theory.stanford.edu/~amitp/GameProgramming/index.html
2.4 ARTIFICIAL INTELLIGENCE IMAGES AND FIGURES
Harvard’s Micro Air Vehicles Project http://www.topsecretwriters.com/2014/01/
as-bees-go-extinct-harvard-develops-a-robotic-alternative/
Mapping and Localization (SLAM) http://machinedesign.com/motion-control/mo-
bile-manipulators-go-mainstream
2.4 ARTIFICIAL INTELLIGENCE TEXTS
William Regli, Robot Path Planning http://www.docstoc.com/docs/117197100/Ro-
bot-Lab-Robot-Path-Planning
Khepera III mobile robots http://www.mobilec.org/apps/vision/
Rumbleweed Robot Planting Seeds Along the desert http://www.thevoltreport.com/
tumbleweed-robot-planting-seeds-along-the-desert/
2.5 ROBOTICS IN ARCHITECTURE v
Robot House http://kree8tiv.blogspot.com.au/2013/02/sci-arc-students-explore-
future-of.html
Robotic Pouring of Graded Aggregate Structure http://icd.uni-stuttgart.de/?p=10339
Eco-Pods http://www.dezeen.com/2009/10/02/eco-pods-by-howeler-yoon-architec-
tureand-squared-design-lab/
Flight Assembled Architecture http://www.gramaziokohler.com/web/e/projekte/209.
html
Robot ANT http://www.dailymail.co.uk/sciencetech/article-2558666/Rise-ANT-
BOTS-Amazing-robots-behave-like-termites-operate-build-small-structures-
WITHOUT-instructions.html, http://www.mono-live.com/2014/02/robots-ter-
mites-who-work-by-coordinating.html
Books
Dunne, Anthony, and Fiona Raby (2013). Speculative Everything: Design, Fiction, and
Social Dreaming (Cambridge, MA: MIT Press): design of ideas and possible futures
Fry, Tony (2008). Design Futuring: Sustainability, Ethics and New Practice (Oxford:
Berg): new challenges for design, the need to change
Wood, John (2007). Design for Micro-Utopias: Making the Unthinkable Possible (Al-
dershot: Gower): metadesign, design narratives
Weinstock, Michael (2010). The Architecture of Emergence: The Evolution of Form in
Nature and Civilisation (Chichester: Wiley): an overview of nature-inspired approach-
es and project examples you can use as benchmarks (the Introduction is in the Drop-
box).
Hensel, Michael, Achim Menges, and Michael Weinstock, eds (2004). Emergence:
Morphogenetic Design Strategies, Architectural Design (London: Wiley) | AD 2006 - 2
(76) Techniques and Technologies in Morphogenetic Design | AD 2012 - 2 (82) Ma-
terial Computation - Higher Integration in Morphogenetic Design: these three issues
of AD focus on emergence and natural prototypes.
Hansell, Michael H. (2000). Bird Nests and Construction Behaviour (Cambridge; New
York: Cambridge University Press): an academic book focusing on nests
Hansell, Michael H. (2007). Built by Animals: The Natural History of Animal Architec-
ture (Oxford: Oxford University Press): a popular book with an overview of all animal
architecture
Shiffman, Daniel (2008). Learning Processing: A Beginner’s Guide to Programming
Images, Animation, and Interaction (Amsterdam; Boston: Morgan Kaufmann; Elsevi-
er): introduction to programming
Bohnacker, Hartmut, Benedikt Gross, Julia Laub, and Claudius Lazzeroni (2012
[2010]). Generative Design: Visualize, Program, and Create with Processing (New
York: Princeton Architectural Press): an excellent reference resource.
Blum, Jeremy (2013). Exploring Arduino: Tools and Techniques for Engineering Wiz-
ardy (Indianapolis, IN: Wiley): a good general introduction to Arduino and electronics
Shiffman, Daniel (2011). The Nature of Code (New York: Daniel Shiffman): overview
of nature-inspired
Craig, John J. (2005 [1986]). Introduction to Robotics: Mechanics and Control, 3rd
International edn (Upper Saddle River, NJ; London: Pearson Prentice Hall): a textbook
explaining low-level control principles
/ 175
Murphy, Robin (2000). Introduction to AI robotics (Cambridge, MA: MIT Press): a text-
book introducing concepts of intelligent robotics
Melgar, Enrique Ramos, Ciriaco Castro Diez, and Przemek Jaworski (2012). Arduino
and Kinect Projects: Design, Build, Blow Their Minds (New York: Apress): introduction
to Kinect and a variety of project including a Kinect-driven drawing robot
Gertz, Emily, and Patrick Di Justo (2012). Environmental Monitoring with Arduino (Se-
bastopol, CA:O’Reilly): approaches to environmental monitoring – a source of ideas
and possible extensions
Igoe, Tom (2011 [2007]). Making Things Talk, 2nd edn (Beijing; Farnham: O’Reilly):
communication between devices using Arduino – a source for further ideas
Brell-Çokcan, Sigrid and Johannes Braumann, eds (2013). Rob|Arch 2012: Robotic
Fabrication in Architecture, Art, and Design (Wien: Springer-Verlag): conference pro-
ceedings with a variety of projects
McGee, Wes and Monica Ponce de Leon, eds (2014). Robotic Fabrication in Architec-
ture, Art and Design 2014 (Cham: Springer): conference proceedings with a variety
of projects
Gramazio, Fabio and Matthias Kohler, eds (2014). Made by Robots: Challenging
Architecture at a Larger Scale (Chichester: Wiley): issue of AD with an overview of
robots in architecture
Video
The Nature of Code on Vimeo: video lecture and tutorials supporting the book
The Nature of Code in Python for Grasshopper: video tutorials
Tutorial Series for Arduino, by Jeremy Blum: introductory series of video tutorials that
covers materials in the book.
Plethora Project Video tutorials, Season 1: Introduction to Processing
/ 177
APPENDICES
The appendices include movie scripts for mid-term prototype (around
3 minutes) and final presentation (around 10 minutes).
/ 179
PROTOTYPE ONE
JUAN YANG
SONY PMW-EX1
20/09/2014 01 11 :)
Prototype One Filming
3min20second
Filmic, Above Ground
Part one is to demonstrate the movement and rotation
of the robot.
Part two is to simulate how robot works for researching
and assembling the materials.
Part three is to show the pictures of final outcomes.
Key Issues of this movie:
The lighting was not set up properly, so the background
looks dark and not consistent. TheA reason may also
be not setting up proper white balance point when
using Sony-CAM.
It is not very smooth when scaling up and down. I need
to practice more for next movie shooting.
NAME
DURATION
BACKGROUND MUSIC
CONTENT
THINGS NEED TO IMPROVE
/ 181
/ 183
/ 185
/ 187
PROTOTYPE FINAL
JUAN YANG
SONY PMW-EX1
24/10/2014 02 23
Final Filming
10min20second
Filmic, Above Ground
Overall Review, explain the thesis (and statement)
Background Content: earthquake site, building by
waste materials, design speculation in both
Prototype from defining site location, to searching suit-
able materials and planning optimized path, and finally
assembly.
Future Scenario: different types of mobiles robots will
be applied in the future speculation design.
NAME
DURATION
BACKGROUND MUSIC
CONTENT
/ 189