UNIVERSITY OF MELBOURNE ARCHITECTURE DESIGN THESIS
BUILDING LIKE ANIMALS USING AUTONOMOUS ROBOTS TO SEARCH EVALUATE AND BUILD
JUAN YANG
PROGRAMME COURSE DURATION NAME DEPARTMENT UNIVERSITY
Architecture Design Thesis Sem 2, 2014 Juan Yang (355396) Master of Architecture University of Melbourne
TITLE
Building Like Animals
TUTOR
Stanislav Roudavski
SUBMISSION TIME
05/11/2014 / 003
missjuanyang@gmail.com
ACKNOWLEDGMENTS A special note of thanks to Dr. Stanislav Roudavski, Senior Lecture in Architectural Design and my thesis tutor in the University of Melbourne. I would like to thank the mechanical engineering students for making the robots, it is a nice experience working with you. / 005
INTRODUCTION | 008
RESEARCH
0.1 STUDIO INTRODUCTION
2.1 SPECULATIVE DESIGN
0.2 BACKGROUND
2.2 ANIMAL ARCHITECTURE
PROJECT | 022
2.3 COMPUTATION PROGRAMMING
1.1 THESIS AND STATEMENT
2.4 ARTIFICIAL INTELLIGENCE
1.2 UNPREDICTABLE ENVIRONMENT
2.5 ROBOTICS IN ARCHITECTURE
1.3 BUILD BY WASTE
CODE LEARNING OUTCOME
1.4 LEARNING FROM ANIMAL
REFERENCE
1.5 SIX-AXIS ROBOTICS
APPENDICES
1.6 SPECULATIVE PROTOTYPES
5.1 MID-TERM MOVIE SCRIPT
1.7 CRITICAL FUTURE USE SCENARIOS
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 INTRODUCTION / 009
0.1 STUDIO INTRODUCTION
This thesis This studio “Autonomous Architecture
animal architecture. 2) Creative technical practice
Studio� is my thesis studio for Master of Architecture
includes algorithmic thinking and programming &
in the University of Melbourne 2014, led by Stanislav
mechatronics and robotics. The main softwares are
Roudavski and Denny Oetomo. With cooperation
being used in this studio are processing and arduino.
and collaboration of architectural and mechanical
Kinect will also be applied to scan the environment.
engineering (from Robotics Automation group)
The book mainly contains two parts, the first part is my
students, is aimed to explore robotics potential in
speculative design progress from visual algorithm to
autonomous architectural design.
physical prototypes, and the second part is background
The learning outcomes of this studio are 1) Speculative
research in theories, technologies and case studies.
design includes system thinking, hybrid ecologies and
INTRODUCTION / 011
0.2 BACKGROUND
The employment of study in other fields such as technology and biology is opening up potentials for architects 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.
INTRODUCTION / 013
Algue, Ronan and Ewan Bouroullec, 2004. Using small plastic, organic-looking elements that can be linked together to filter the light and insulate or permeability space through the assembly of a module.
FUNCTION BEHAVIOR
COMPLEXITY AND SYSTEMS THINKING IN ARCHITECTURE / "Speculative Design aims to open up new perspectives on "wicked problems", to create space for discussion and debate about alternative ways of being,
“ILITIES”
ARCHITECTURE
COMPLEXITY
and to inspire and encourage people's imaginations." (Anthony Dunne & Finoa Raby, 2013) System thinking descripes the interconnection and interactions Swarm intelligence, multi-agents
EMERGENT BEHAVIOR
behaviors, interactive design etc has been more frequently introduced to architecture spculative thinking.
---------------------------------------------------------Speculative Everything - Design, Fiction, and Social Dreaming, 2013, Massachusetts Institute of Technology.
INTRODUCTION / 015
“ a consideration of algorithmic architecture can assist us in understanding
down “form matters” towards bottom up “form
algorithms as actual objects: as spatiptemporal data structures that are inter-
emerging from the interaction of localized entities
nally conditioned by infinites as incomputable entities.” -Luciana Parisi
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
COMPUTATIONAL CREATIVITY / The role of computation within
a static model. However, algorithms and scripts
highly speculative approaches to architectural design. The natural
can run as a process with input and output vari-
of complex systems and their indeterminacy in opposition to the
ables relating to datasets. Algorithms manifest
role of computational design in exercising hierarchical control.
dynamic and emergent behaviors.
The emergence of complexity theory reminds people to rethink our understanding of formation and the volatility of their processes. 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-
Luciana Parisi, Contagious Architecture:
gent behaviors of multi-agent systems can be simulated and
Computation, Aesthetics and Space, Cambridge:
thought through computation. Those behaviors shift from top-
MIT Press, 2013.
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.
INTRODUCTION / 017
ANIMAL ARCHITECTURE / Human architecture has been inspired from animal architecture for over centuries. The study shifts from learning the forms of animal architecture to the process and behaviors in building. The nests of social insects are the result of the collective building activity of many individuals. New structures are added on the old ones to meet the requirement 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 information 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.
INTRODUCTION / 019
ROBOTICS IN ARCHITECTURE / Robotics will have big impacts on architcture and construction industry over the next few years. They have benefits on minimizing manual Ant Robots. U.S. scientists from Harvard University and
labor and cost, and thus improving efficiencies. With the
Wyss Institute for Biolog-
development of digial architecture for these years, the
ically Inspired Engineering builds these self-organizing
involvement of robotics in architecture is opening up new
robots.
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.
Stone Spray, is programmed to function like a 3D printer, Combining sand, soil, and a
AUTONOMOUS ARCHITECTURE / The
special binding ingredient
technology innovation in architecture extends
to create fully formed archi-
the boundary. Currently the autonomous re-
tectural object of designers’ choosing.
action to environment in architecture applies mainly in facade system. Interactive architecture, kinetic architecture, robotic architecture have potential to achieve greater automation in architecture system INTRODUCTION / 021
PROJECT
The project part includes speculative thinking and prototype in robotics 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
one hand, human-made things are behav
the other hand, life is becoming more engi
s are happening. On
ving more lifelike; on
ineered.“- Kevin Kelly
/ 023
1.1 THESIS
Typical architecture design is
ecosystems. In animal architecture,
prescriptive and reliant on top-
such as bird nests and termites
down decisions. It also relies on
moulds, the building site’s location
specially prepared construction
and character, and material are
sites and is limited in its capacity
not entirely predictable and thus
to design in undisturbed natural
require adaptation. Attempting
l o c a t i o n s . M o r e o v e r, t y p i c a l
to make architectural design
outcomes of current architectural
more flexible, decentralized,
processes are static configurations
and natural inspired. Staging a
of standardized industrial parts. By
practical experiment in response
contrast, this thesis rethinks the
to these goals, this thesis focuses
relationship between architecture
on the capabilities in searching,
and environment in dynamic
evaluating and assembling building
and unpredicta ble. In doing
materials by autonomous robots in
so, it utilities an understanding
a dynamic environment.
of environments as dynamic
STATEMENT
/
The project is constructed in three
components to the site of construction and assembling
parts; the first part explores the theoretical framework
them by two collaborative robotic arms.
and precedents in speculative design, animal
This research helps to visualize possible approaches
architecture, artificial intelligence and robotics in
to architectural design and construction in the future
architecture. In the second part, I virtually visualize the
because it has potential to dealing with unpredictable
design process algorithm in Processing, and build a
or hazardous environment. Currently, the behavior-
physical prototype by two robotic arms for simulating
based robots are used in hazardous situations such
the concept of this thesis. The final stage is the
as aerospace research, the nuclear industry, and the
potential future speculation based on this project.
mining industry. This thesis seeks to demonstrate that
The design goad for this thesis is to define a site
they also have great potential to extend the capabilities
location by analyzing the environment, searching for
of architectural design in dealing with complex,
materials (using A* algorithm), evaluating materials
dynamic and complexly interconnected environment.
costs such as quality and proximity (using the Kinect
Moreover, these mobile robots have benefits in cost
sensor), and bringing the selected potential building
saving, easy assembling and operating.
RROJECT / 025
V.S.
SPECULATIVE THINKING
POTENTIAL APPLICATION
PROTOTYPE TESTING
PREPARED CONSTRUCTION SITE
DYNAMIC / UNPREDICTABLE ENVIRONMENT
EARTHQUAKE SITE
SIMPLIFIED CONTOUR (DEPTH IMAGE)
STATIC CONFIGURATION
NOT ENTIRELY PREDICTABLE ARRANGEMENT
SEARCHING USEFUL MATERIALS ON SITE
3 TYPES OF MATERIALS (BY LENGTH)
HIERARCHICAL
LEARNING FROM ANIMAL
BEHAVIOR -BASED ROBOTICS
6-AXIS ROBOTIC ARMS
TYPICAL ARCHITECTURE
CONTROL
RROJECT / 027
Right One: Sichuan earthquake site
1.2 UNPREDICTABLE ENVIRONMENT
Right Two: Roads are cut after the earthquake Right Three: Housing on the mountains after earthquake Right Four: Undistributed
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.
bay Right Five: Abandoned industrial site Right Six: Undistributed natural forest
RROJECT / 029
EARTHQUAKE The 20th century was marred by numerous deadly earthquakes that claimed lives of many thousands of
Top left: Indian and Paki-
people and flattened several towns around the world.
stani Kashmir earthquake
2013 Solomon Islands: Three villages were flattened
2005
when a trunami triggeed by an 8.0-magnitude quake
China earthquake 2008
crashed ashore.
Bottom left: Haitai earth-
2011 Japan: More than 19,000 were killed when a
Bottom right: Japan earth-
tsunami triggered by an undersea quake slammed into
quake 2011
Top right: Sichuan province
quake 2010
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-auPrince. 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
RROJECT / 031
UNRESCUED LIVING CONDITION I take earthquke site as background context in this thesis. People Left:Haiti shelters rein-
who suffered the diaster and have poor living conditions after the
forced by multiple tarps
eathquake. Especially in poor region like Haiti, which more than
Middle Top: Haiti shelter.
70% of people in Haiti were living on less than $US2 per day.
Haiti has only 2.5 % forest cover, making wood mate-
In the 7.0 Magnitude Quake 3,500,000 people were affected
rials scarce. The wood to
by the quake, and 220,000 people estimated to have died,
build this tent was bought not scavenged.
over 188,383 houses were badly damaged and 105,000 were
Middle Bottom:The moun-
destroyed by the earthquake, 1.5m people became homeless.
tains in some region have meant temporary housing
After four years, many people are still living under very bad
cannot be built easily.
conditions.
Rescuers have been requesting temporary housing
Sometimes the goods and materials are very difficult to transport
elsewhere.
into because the roads are cut and aftershock may happen. I
Right Top: A family in Cite Soleil finds shelter in a
purpose if we can send the small scale behavior based robots
makeshift tent city after
into the earthquake site, and let them searching for suitable
Haiti’s violent earthquake left many buildings in
materials and bringing to a calculated safty site, and assembling
ruins.2010 Photo by Logan
these materials for tenporary shutter for people. in diaster region.
Abassi Right Bottom: Yunan earth-
----------------------------------------------------------
quake, people are waiting
Haiti Earthquake Facts and Figures, Disasters Emergency
for rescue.
Committee.
RROJECT / 033
RESCUED LIVING CONDITION The temporary rescued accomodations have cultural Left Top: Shelters after Haiti
difference. In Japan, privacy is a serious issue for
Earthquake
refugees. People normally will live in school. gyms
Left Bottom: Sleep Box
and places have empty space, divided by temporary
made by cardboard earthquake evacuation shelter,
partitions. After the Tohoku quake, many architects
can provide privacy.
have created prototypes for simple shelters that can
Left Bottom: Typical Haitian temporary shelters issued
prodivde some relief in terms of privacy and integrity to
by current government
evacuees.
Middle: Tent-School in Sichuan after earthquake
In many earthquake regions, people will live in tents
provided by Chinese govern-
made by plastic cover (some are metal) and metal
ment Right Top: A tent city in the
skeleton that provided by government. In 2008 Sichuan
village of San Geogorio, six
Earthquake, most of the survivors are taking shelter
miles from where the earthquake stuck. Photograph:
under self-made temporary tents, although many are
Andreas Solaro
living without any shelter at all. Rainfall is making
Right Bottom: Shigeru Ban designed emergency refugee
things worse-hindering the rescue work and worsening
shelters for post-civil-war
the living conditions of the survivors.
Rwanda, and homeless after Japan’s Kobe earthquake
----------------------------------------------------------
and Haitian Earthquake.
William, Sleep Box is Personal Cardboard Earthquake Evacuation Shelter, Japan Trends, 2012
RROJECT / 035
This project proposed temporary playground equipment
The affordable earthquake resistant, hurricaine
The Folding Bamboo House, designed by Ming Tang,
for children living in the temporary housing in Tohoku
resistant, self-contained 'green' shipping container
is contructed from bamboo and recycled paper and
area as a consequence of 2011 Tohoku earthquake
home with solar power proposed for Haiti and other
can be cheaped manufactured. Tang designed the
and tsunami. It is made by thin plastic paper for
areas hit by disaster or living in prverty proposed by
geometric folding structure after a 7.9 earthquake hit
children to assmeble.
architect Darrin Badon. He envisioned small clusters of
central China. The structures can be folded into many
20-25 shipping container homes forming a small clse
different shapes, allowing a range of structures to be
knit community.
created.
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.
The first response emergence sheter is easy to
The monolithic domes designed by the California
transport and set up requires only one person Made
Institute of Earth Art and Achitecture for disaster
out of polypropylene, the shelter can form many
resistence.The ceramic CalEarth shelters are made
shapes and provides relief for up to 4 peope, while
from four natural elements (earth, water, air and fire)
rainwater can be collected from the folds.
using just three steps: dig up the grond, place earth into sacks, and pile them up and dix them in place.
RROJECT / 037
All three images from Sichuan earthquake site, the potential materials to be collected could be wood sticks, steel frames, and bricks.
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.
RROJECT / 039
1.3 BUILDING BY WASTE
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.
SIMPLE COMBINATION
ELEMENT DIMENSION
MATERIAL PROPERTY
MATERIAL COLOR
RROJECT / 041
Left: Temporary shelter built by soap cans. Bat Yam, Iseal. 2011
Below: Recycled Windshield Greenhouse, are busting out of the woodwork. Sebastien Ramirez, 2010
Above: Book Cell, Built by 7,000 Recycled Phone Books. Matej
Above. The ball-shaped shelter, built from FSC-certified wood and
Kren. 2010.
a variety of scrap materials. Gert Eussen. 2012
Below: Plastic Frantastic. Build out of 10000 plastic soda bottles Below: Built by recycled materials of bottles. Jasmine Zimmerman,
in Piedade slum, north of Rio d Janeiro.
Above: The Big Church, a recyced building made from a heap of
Above:
discard objects.
Shin, 20
Right: Building with Pop Cans, sustainabily built and functioning
Right: "
houses in Colorado. Michael Peynolds, 2011
stateme 2009
Left: Earthship Building. Nestled into the ground and require a solid rear wall construction to etain the earth. Monica Holy.
BUILT BY RECYCLED MATERIALS Building by waste materials have benefits in sustainable development, cost efficiency. The arrangement of modulation and repetition has potential to create both in aesthetic and functionality,
Below: Cover 10-Storey Building with 1,000 Recycled Doors. South
as well as making a statement.
Korean artist Choi Jeong-Hwa.
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.
Sculpture "Sound Wave" out of melted vinyl records, Jean
007
"To Live" a shelter created from real estate signs to make a
ent of homelessness and sustainbale building. Nick Sayer.
RROJECT / 043
A PLOT is a thesis group project at Taubman College. The idea is focusing on material culture and spatial implications speculation alone misses the unexpected push of reality.
Middle and Right: Skyscraper 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 building as a factory, recycling, cleaning and selecting waste, previously taught by experts in the field. This material will be used on the building’s construction and also for crafts, urging creativity of the own workers.
RROJECT / 045
1.4 LEARNING FROM ANIMAL
Representation of the process of Baltimore oriole nest construction in Avian Architecture by Peter Good-
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.
fellowm
Find the right building materials is essential for birds building their nest. Birds can
ones make the work mush easier.
spend a whole day in their quest for the building materials their structure needs. The
The weaver bird begins by tying the leaf fibers around
male bird chooses the location of the nest, and the female builds it. Their nests’ fea-
the twig of a tree. With its foot, it holds down one end
tures depend on the materials and techniques used in their construction. All building
of the strip against the twig while taking the other end
materials for their architectural masterworks must be pliable and compressible.
in its beak. To prevent the entrance to the nest. Then it
A weaver bird collects the building materials. It will cut long strips from leaves or
uses its beak to weave the other fibers together. During
extract the Mildrid from a fresh green leaf. The reason for choosing fresh leaves be-
the weaving process, it must calculate the required
cause the veins of dry leaves would be stiff and brittle, too difficult to bend, but fresh
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 construction behavior and process. ------------------------------------Giovanni G. Bellani, Quand L’oiseau Fait Son Nid (When The Bird Makes Its Nest) (Arthaud, 1996), p. 85-90.
RROJECT / 047
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
NEST SITE SELECTION STRATEGIES
COLLECTING SUITABLE MATERIALS
BUILDING THE NEST
Baya weavers bringing
Tree height and size preference (7-9m, taller
Male Baya weavers need to collect thou-
The male Baya Weaver builds the nest up to
strips of grass blades to
and bigger) / Accessibility of nests by pred-
sands of grass strands to build their nest. A
the helmet stage, collecting materials and
Contributed b y Calvin
ator / Avoidance of high wind / Reduction in
competition between them. The image shoes
weaving the pieces together. He then gets
Chang, 2010.
the flying cost / The availability of nesting
the male weaver was pealing of a strand
his mate to approve the structure. Then the
materials and food / Surrounding biological
from a palm tree, he was pealing of strands
final stage of building sees both adults par-
environment / Temperature / Light intensity /
only from a young leaf as it was easier to do
ticipating.
Humidity / Rainfall ....
and more suitable raw materials for the nest.
Right: Female and male
constructing their nest.
RROJECT / 049
1.5 SIX-AXIS ROBOTIC ARMS
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.
RROJECT / 051
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.
ROBOTICS / 053
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.
RROJECT / 055
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 Diagram provided by Evil Zoid
RROJECT / 057
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.
RROJECT / 059
ANALYZING AND DEFINING SITE
1.6 PROTOTYPE TESTING
LOCATION
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
ENVIRONMENT
ACCESSIBILITY
FLATNESS AREA
TO MATERIALS
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.
RANGE I
>
RANGE II
COLLECTING SUTIBALE MATERIALS /
CONSTRUCTING
SORTING
BUILDING ELEMENTS
SUITABLE
NONSUTIABLE
MATERIALS
MATERAISLS
ROBOTS
ROBOTS
HUMAN
+ HUMAN
TYPE A
>
TYPE B
>
TYPE C
SIMGPLE LOGIC
RROJECT / 061
+
PROCESSING
ENVIRONMENT
OPENCV Filtering environment by contrast / brightness / threshold ...
MATERIALS
OPENNI KINECT
BLOB SCANNER
Defining site location by detecting the flatness
3D VISUAL PLETHORA PATH FINDING
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
Type A dimension range
Type B dimension range
Sorting useful materials into three types by ranges of dimensions
Range I d=?
Range II d=?
Type C dimension range
Multiple closed locations and various sizes of boundaries make 'metaball'
Site boundary
One location with a boundary (simple)
RROJECT / 063
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 calculating 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
RROJECT / 065
INACCESSIBLE AREA
The red areas represent inaccessible areas for searching 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
RROJECT / 067
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
RROJECT / 069
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
RROJECT / 071
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);
RROJECT / 073
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
}}}
RROJECT / 075
All suitable materials in range one (distance less than 200)
This step is to continue filtering materials to locate materials 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
RROJECT / 077
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
Centroid coordinates of materials type one in range one
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
RROJECT / 079
Path Finding in 3D environment
The diagram indicates the calculation methodology of pathfinding in 3D environment.
PSEUDO-CODE int cellSizeX; int cellSizeY; xyzCost
int dx = backImg.width / cellSizeX; int dy = backImg.height / cellSizeY; int col = backImg.get(dx,dy) & 0xFF; int dz = col;
yCost
nodeID = cellSizeX *y +cellSizeX; xyCost
aNode = new GraphNode (nodeID, dx, dy, dz); xCost = dx, yCost =dy, zCost = dz;
dz dy
xCost dx
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);
RROJECT / 081
1
2
3
4
7
8
9
10
13
14
15
16
19
20
21
22
5
6 Iterations showing the logic of searching and assembling.
11
12
17
18
23
24
RROJECT / 083
Giving the coordinates of material location and site location in order, the robot arm works continuously following the order.
RROJECT / 085
Red Arrow indicates At-
ASSEMBLE
traction force; Blue Arrow
MATERIALS
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 relatively close. Due to the attraction and repelling force, it will gradually forming a â&#x20AC;&#x2DC;metaballâ&#x20AC;&#x2122; like shape
RROJECT / 087
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 B | 50 mm
Material A | 70 mm
Material B | 70 mm
Material B | 100 mm
Material A | 100 mm
RROJECT / 089
RROJECT / 091
1
2
3
4
7
8
9
10
13
14
15
16
19
20
21
22
5
6 Iterations showing the logic assembling. The site location increase from one to four, assum-
11
12
ing the number of robots increased simultaneously.
17
18
23
24
RROJECT / 093
RROJECT / 095
RROJECT / 097
RROJECT / 099
1.7 CRITICAL FUTURE
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.
RROJECT / 101
RROJECT / 103
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
RESEARCH / 105
2.1 SPECULATIVE DESIGN
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.
Dunne & Raby, from Designs for an Overpopulated Planet, 2010.
RESEARCH / 107
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)
Marcel Wanders, Antelope, designed for Bisazza, 2004. Photograph by Ottavio Tomasini. Marcel decided the surface of his holiday car should be beautiful deep shiny glass stones.
One role of designers is speculating how
and the end of Cold War, alternative
things could be (speculative design),
models for society collapsed. Market-led
this form of design aims to open up
capitalism became one dimensional
new perspectives on wicked problems,
with much less other possibilities or
to create spaces for discussion and
alternatives.
debate about alternative ways of being,
The society has become more atomized
and to inspire the encourage peopleâ&#x20AC;&#x2122;s
and individualized. The 20th century is
imaginations to flow freely. Design
unsustainable.
speculations can act as a catalyst for
But there is an opportunity currently
collectively redefining our relationship to
about alternative thinking to the current
reality. Future is a medium to aid imag-
system. We need more pluralism in
inative thought other than a destination.
design, not of style but of ideology and
Although the future is unpredictable,
values.
we can help set in place today factors
------------------------------------------
that will increase the probability of more
Beyond Radical Design, Speculative
desirable futures happening.
Everything- Design, Fiction, and Social
During 1980s design became hy-
Dreaming, Anthony Dunne & Fiona Raby
per-commercialized and fully integrated into the no-liberal model of capitalism With the fall of the Berlin Wall in 1989
RESEARCH / 109
The Bouroullec Brothersâ&#x20AC;&#x2122; 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 bio-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.
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 fiction. Architecture has the richest, most diverse tradition for exploring ideas of all the design disciplines. Design exhibitions are moving beyond showcasing To think as conceptual design is a place where many interconnected and not well understood forms of design 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 design 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
designers and products to address more complex societal 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
defining feature. “Ideals are not measured by whether they confirm to reality; reality is judged by whether RESEARCH / 111
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 Bernd Hopdengaertner’s
consumers, and to encourage people to demand more from industry
Belief System (2009). He
and society as critical consumers.
asked what would happen
Critical design, by generating alternatives, can help people con-
if one of the tech industry’s many dreams comes true,
struct compasses rather than maps for navigating new sets of
if the tech make humans
values.
machine readable were to combine and move from lab
---------------------------------------------------------------
to everyday life.
Design as Critique, Speculative Everything - Design, Fiction, and Social Dreaming, Anthony Dunne & Fiona Raby
Bernd Hopdengaertnerâ&#x20AC;&#x2122;s Belief System (2009). He asked what would happen if one of the tech industryâ&#x20AC;&#x2122;s many dreams comes true, if the tech make humans machine readable were to combine and move from lab to everyday life.
RESEARCH / 113
Speculative designs depend on dissemination and
ogies to explore how they could take control or evolu-
engagement with a public or expert audience; they are
tion.
designed to circulate.
They believe there is tremendous value and potential
The project Between Reality and the Impossible for the
for design connecting with science about posible fu-
Saint Etienne International Design Biennale 2010 has
tures.
interested in how the relationship between the reality
----------------------------------------------------------
of the here-and now and the fictional worlds alluded
Between Reality and the Impossible, Speculative Every-
to through props, atmosphere, supporting material,
thing - Design, Fiction, and Social Dreaming, Anthony
staging, and so on can be managed. The intention
Dunne & Fiona Raby
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-
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.
RESEARCH / 115
Hummingbird nest, it is a small cup shape with narrowing bottom - cup mostly dried grasses while bottom mostly leaves. About 3 feet off ground.
2.2 ANIMAL ARCHITECTURE
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, selforganizing 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.
RESEARCH / 117
BIRD NEST
SELECTION
BUILDING
GATHERING
ASSEMBLY
STAGES
BUILDING
NAVIGATION
MATERIAL
COST
ABILITY
SELECTION
TIME
GATHERING
TRANSPORTING
ENERGY
ASSEMBLY
LOAD OF MATERIALS
A)SIMPLE MINDED
C) TECHNIQUES SHAPE MATERIALS BUT MATERIALS SHAPE TECHNIQUES
The principles for building stages are selection, gathering, and assembly.
Most basically, there are only two techniques, sculpting and assembly , and only three materials
Orderly outcomes can be the result of simple processes. Standard building
animal,vegetable and mineral. Also concern building costs, navigation ability, specialization in
units, a repetitious assembly procedure and simple design rules produce
the selection of materials and choice of materials in relation to the size of the organism.
orderly structure. A honeybee comb is an impressive structure, but in for-
Building costs are measured as time (gathering/transportation/assemble) and energy (the load
aging, bees how navigation skills, topographical learning and improvement
of materials). They are keen to build near by the materials, and return to the material source
in handling of complex flower structure.
repeatedly. Some navigation skills and topographic memory abilities are further expectation.
B) NO SPECIALIST ANATOMY
Natural selection tends to favor specialist over generalists in the selection of building material.
They used throughout their life on a daily basis. Three associated anatom-
The sale of the building units will also be appropriate to the size of the organism.
ical features of birds as builders are: a delicate but strong instrument, the
The structures built from top down need to prevent a structure from falling apart by bounding
beak, positioned close to the eyes, mounted on a very mobile neck.
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-
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).
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
RESEARCH / 119
A fundamental distinction in nest building techniques is that
can produce an elegantly simple or sophisticated structure when carried out
between sculpting and assembling (Hansell, 1984). Assem-
on standardized building material. This is the principle of brick wall. So much
bly techniques can be divided into: pilling up, moulding,
depends on the careful choice or manufacture of building units and materials.
sticking together, interlocking, sewing, and weaving. (Hansell,
Velcro is now referred fastening for childrenâ&#x20AC;&#x2122;s clothing,because the attachment
1984) The purpose of these techniques is essentially two-
principle is in the material not in the behavior. By contrast, tying shoelaces in a
fold: to ensure that the nest stay attached to the nest site
landmark in a childâ&#x20AC;&#x2122;s development, and it is illustrate that weaving is the most
and that the components of which it is made to do not fall
difficult nest building technique for birds (Howman & Begg, 1995). (pp.85)
apart.
Getting the nest started may require different rules, which allow the nest to be
Birds do no have anatomy that is specialized for the build-
fitted to the landscape. The obvious problem here is that the topography of the
ing technique each shows. Building technique has little
nest site or geometry of its branch arrangement will not be entirely predictable
relevance with birdsâ&#x20AC;&#x2122; beak, but strongly dependent upon
and may therefore require greater flexibility in the behavior than continuing
behavior. The nests can be constructed by whatever princi-
construction after a nest has been established. The added problem of getting
ples using a limited repertoire of stereotyped movements.
started is that of not having other nest materials to which to attached the cur-
Stereotyped, repeated movements and simple building rules
rent beak load.
SCULPTING
MOULDING
PILING UP
Figure: downy woodpecker nests a cavity carved into
Figure: The surface of mud nest of the cliff swallow
Figure: The nest of the spotted dove is a platform of
a dead tree limb with a narrow entrance for limiting
reveals the large number of mud pellets to build it up
twigs laid across one another.
access.
The majority of birds that use this technique build with
Sculptors, whether in trees or in the ground, illustrate
mud. The only other bird nest material to be moulded
the power of a birdâ&#x20AC;&#x2122;s beak to excavate a cavity large
is salivary mucus,secreted by builders themselves.
enough for the rearing of the young, and in the
This mucus, unmixed with other materials, is used to
subterranean species, digging a long burrow to give
construct the nest of the edible-nest swift-let, in which
them additional security.
the saliva is mixed with feathers.
RESEARCH / 121
WEAVING STICKING TOGETHER
WEAVING
INTERLOCKING
Figure: Chimney swift makes a wall attached bracket
Figure: The largely African weavers, are much smaller
Figure: The nest of bushtit is a velcro fabric featuring
or straight twigs held together with salivary mucus.
birds, nests have a downward directed entrance.
a characteristic lichen, which bears stiff projections,-
Some swifts reinforce vegetation nests with mud. The
Weavers starting a nest : woven structures bear loads
shown entangled with threads of spider cocoon silk.
most architecturally satisfying example of the sticking
in tension and so the first strips must at least bear their
There are three different construction methods are
together technique is probably tan of the chimney
own weight and, secondly, the strips have no inherent
recognized within this: entangle, stitches or pop-rivets
swift, a wall-attached bracket of straight twigs held
properties to secure them until tied to branches from
and velcro. Interlocking is possibly the most important
together with salivary mucus.
which the nest will be suspended. Spiral wrapping
category of nest construction methods. -
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.
INTERLOCKING | ENTANGLE
INTERLOCKING | STITCHES
INTERLOCKING | VERLCO
Figure: The nest of the striped tit-babbler is made of
Figure: The nest of the rufous piha is an open-work
Figure: The gray-backed cameroptera attaches the in-
broad strips of monocot leaf entangled.
platform of stiff, interlocking vine tendrils.
ner nest lining to the outer envelope of growing leaves
The properties of the materials themselves combine
This form of nest is made by linking together the
by driving though the leaf membrane.
with the probing and binding behavior, entangling the
margin of green leaves attached to a shrub or bush by
It is the entanglement of vegetation in threads of silk.
materials to give the nest its integrity. Construction with
means of fibrous stitches. The stitches are made by
All these have dry threads and so can only be used in
plant materials, whether grass, bark or vine tendrils,
driving the thread through the leaf, grasping it on the
nest building as the looped material of a velcro fabric.
requires not only interlocking with the beak but, as the
other side and driving it through again. The coarseness
materials accumulate, the shaping of a nest cavity to
of the thread and the elasticity of the green leaf spring-
hold the egg. This is achieved mainly with the breast
ing back to grip the thread passing through the hole
and legs.
prevent the stitches from unraveling.
RESEARCH / 123
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
Nest attachment devices are solution
Structural layer is the most important
Structural layer is the most important
look different, implying that its function
to problems of anchoring a nest in the
layer that prevent from falling apart and
layer that prevent from falling apart and
is to make the nest less obvious to
chosen nest site. (Diagrams on the
retaining the nest shape and integrity.
retaining the nest shape and integrity.
visually hunting predators; however,
previous page showed different types of
The structural layer of nest addresses
The structural layer of nest addresses
protection from water penetration and
nest attachments.)
the problem of strength and cohesion in
the problem of strength and cohesion in
temperature regulation are possible
the chosen nest site. Examination of the
the chosen nest site. Examination of the
alternative explanations. Some nests
major materials involved has shown that
major materials involved has shown that
are built with heads and tails. They are
there are certain identifiable material
there are certain identifiable material
functioned as bedchamber for male
solutions: silk and plant material to cre-
solutions: silk and plant material to cre-
birds, also act as false nests to distract
ate a velcro, flexible fibrous materials in
ate a velcro, flexible fibrous materials in
predators that have detected the nest.
tension or compression, and beam cups
tension or compression, and beam cups
Heads and tails appear to serve as
or platforms in compression. (pp.122)
or platforms in compression. (pp.122)
devices that distort or break up a typical nest shape.
RESEARCH / 125
2.3 COMPUTATION PROGRAMMING
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â&#x20AC;&#x2122;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.
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/
RESEARCH / 127
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 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â&#x20AC;&#x2122;s fairly flexible and can be used in a wide range of contexts. A* was developed in 1968 to combine heuristic approaches like Greedy Best-First-Search and formal approach like Dijsktraâ&#x20AC;&#x2122;s algorithm. More detailing code about A* pathfinding go to Personal Learning Outcome
Path planning plays an important role in various fields
maps. The environment with free space and obstacles
of application and research, computer games, virtual
is presented by a set of uniformed regular grids. The
environments, molecular biology and robotics.
A* algorithm uses heuristic based Dijkstra algorithm to
Mobile robots are widely used in many hazardous
obtain the optimal result of the robot.
industrial fields where there may be dangers for
(Configuration Space) The path planning problem is in
people, such as aerospace research, the nuclear
its most general form a geometric problem. It needs
industry, and the mining industry. Path planning for a
four ingredients:
mobile robot is to find a collision-free route, through
1. A description of the geometry of the mving entity (in
the robotâ&#x20AC;&#x2122;s environment with obstacles, from a
this called the robot)
specified start location to a desired goad destination
2. A description of (the geometry of) the environment
while satisfying certain optimization criteria. Moreover,
in which the robot moves or operates (also called
to reduce the processing time, communication delay
workspace). The workspace contains obstaces.
and energy consumption the planned path is required
3. A description of the degrees of freedom of the
to be optimal with th shortest length.
robotâ&#x20AC;&#x2122;s motion.
Because the information of a dynamic environment
4. A start and a goal configuration in the environment,
will change along with th movement of obstacles,
between which is a path is to be planned for the robot.
the complexity and uncertainty of the path planning
Comparing the general path
problem increase greatly in dynamic environment. The
path planning. Figures from
A* algorithm is a path planning method to help the
Amitâ&#x20AC;&#x2122;s A* Pages
planning and optimized
robot to find the optimal path in grid decomposed static
RESEARCH / 129
DIJKSTRA’S ALGORITHM
GREEDY BEST-FIRST-SEARCH
A* ALGORITHM
DIJKSTRA’S ALGORITHM
GREEDY BEST-FIRST-SEARCH
A* ALGORITHM
Dijkstra’s algorithm works by visiting vertices
The Greedy Best-First-Search algorithm
A* was developed in 1968 to combine
in the graph starting with the object’s starting
works in a similar way, except that it has
heuristic approaches like Greedy Best-First-
point. It then repeatedly examines the closest
some estimate (heuristic) of how far from the
Search and formal approaches like Dijkstra’s
not-yet-examined vertex, adding its vertices
goad any vertex is. Instead of selecting the
algorithm. g(n) represents the exact cost of
to the set of vertices to be examined. It ex-
vertex closest to the starting point, it selects
the path from the starting point to any vertex
pands outwards from the starting point until
the vertex closest to the goal.
n, and h(n) represents the heuristic estimat-
it reaches the goal.
Dijkstra’s algorithm is not guaranteed to find
ed cost from vertex to the goal. Each time
Dijkstra’s algorithm is guaranteed to find the
the shortest path from the starting point to
through the main loop, it examines the vertex
shortest path from the starting point to the
the goal, but ti runs much quicker than Dijk-
n that has the lowest f(n)=g(n)+h(n).
goal.
stra’s algorithm because it uses the heuristic
Dijkstra’s algorithm is guaranteed to find the
function to guide its way towards the goad
shortest path from the starting point to the
very quickly.
goal.
RESEARCH / 131
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.
HUMAN
INTERACTION
6-AXIS ROBOT
KINECT
OPEN KINECT / OPENNI
ENVIRONMENT
ARDUINO DUE ARDUINO
PROCESSING
RESEARCH / 133
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 algorithms’ that can manage multiple, independent machines.
2.4 ARTIFICIAL INTELLIGENCE
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.
RESEARCH / 135
SENSE
PLAN
ACT
Data acquisition
Navigation
Locomotion
Filtering
Localization
Kinematics
Perception
Decision Making
Motor Control
Andy Chang, A dvanced Control& Robotics, National Instruments Corp. The makeup of simultaneous localization and mapping, or SL AM, routines for robot navigation usually involve combining mapping techniques with ad-hoc schemes using sensors to react to the state of the environment.
RESEARCH / 137
ROBOT PATH PLANNING
ROBOT PATH PLANNING
ROBOT PATH PLANNING
IN STATIC ENVIRONMENT
IN DYNAMIC ENVIRONMENT
Robot Path Planning
Robot Path Planning
Robot Path Planning
Robot Path Planning
in Know
in Unknown
in Know
in Unknown
Static Environment
Static Environment
Dynamic Environment
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 motion 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 deformable objects; sensor-less motions; and uncertainty in control. Dealing with complex environment: moving obstacles; and uncer-
Khepera III mobile robot
tainty in sensing.
approaching the designated
Dealing with complex objectives: optimal motion planning; inte-
running a Mobile-C agency
gration of planning and control; assembly planning; and sending
and is under the control
the environment include model building and target finding /
objectives of searching for
tracking.
the sampling proper rocks.
area of rock sampling. It is
of a mobile agent with the
RESEARCH / 139
Michael Rubenstein, Christian Ahler SWARM ROBOTICS, THE KILOBOT PROJECT In current robotics research there is a control methods for groups of decentralized 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 Up: Overview of the mobile kilobots
colonies effectively forage over large areas
Right: The reflection path
many kilometers wide; desert ant groups can
of robot communication
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
have inspired long-standing research in collective robotics to achieve parallelism, robustness and collective capability of these natural systems. The difficulty when using a simulation to validate an algorithm 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-
Isometric and bottom views
bers to be produced easily. They have abilities in differ-
of Kilobot. Key features:
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
a) Vibration motors; b) Luthium-Ion battery; c) Rigid supporting legs. d) Infrared transmitter receiver; e) Three-color (RGB) LED, f) Charging tab, and g) Ambient light sensor. Left: Robot path following
RESEARCH / 141
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 plantlife. Right: the analysis diagram of the robot in functions. W
Sholomi Mir SEED-PLANTING TUMBLEWEED ROBOT DRAWS FROM NATURE 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. â&#x20AC;&#x153;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.â&#x20AC;? Announced by Mir. These wind powered robots, modeled after tumbleweeds, are inexpensive alternatives to the rovers found on Mars now.
RESEARCH / 143
2.5 ROBOTICS IN ARCHITECTURE
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.
Robot House, made by SCIArc Students. The doubleheight 1000-squarefo o t Ro b o t H o u s e i s a research space for hands-on collaborative experimentation, advanced multi-robotic platform, and exploration and architectural agency.
RESEARCH / 145
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 commonly conceived as precisely planned, fully defined and ordered in stable assemblies of material elements. But in â&#x20AC;&#x2DC;aggregate architectureâ&#x20AC;&#x2122; , the elements are only in loose frictional contact. If th individual grains are synthetically produced, the resulting granular structures can be calibrated 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 consisting of synthetic macro-scale particles Bottom: six-axis robot pouring designed granulates using a magazine emitterhead Right: poured structure u s i n g a l i n e a r K P Lcontrolled pouring path / Right bottom: responsive motion-panning strategy for online robot-control using macro-scale non-convex granulates
RESEARCH / 147
Left: Simulation of Hexapodal Granules Analyzing Joint Slips and Contacts Right: Particle Geometries for Mould and Sheet 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.
RESEARCH / 149
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 the pods would be continuously rearranged by robotic arms to ensure the optimum growing conditions for alage in each pod. Right:The assemble diagrams indicate the flexibility in combination
RESEARCH / 151
Gramazio & Kohler and Raffaello D’ Andrea in Coorporation 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 according 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
Top: Flying robots can
from their dynamic formation of movement and build-
Left: Flying robots in
ing performance. Within the build, an architectural
working
vision of a 600m high ‘vertical village’ for 30,000
1:100 scale
inhabitants unfolds as model in 1:100 scale. The ideal
Right: The architectural
self-sustaining habitat that the authors pursue a rad-
30,000 inhabitants unfolds
ical new way of thinking and materializing vertical in
locate at rural area of
architecture.
an existing TGV connection
operate freely in airspace
Middle: The final prototype
vision of vertical village for
Meuse, taking advantage of
RESEARCH / 153
Scientists from Harvard University and the Wyss Institute
put the next piece of the mound and finally build a mound adapt-
SELF-ORGANIZING ROBOT ANTS
ed to their environment. This use of local information is called
They are as industrious as Bob the Builder and possess the same
stigmergy.
social intelligence as a colony of termites. They can build model
Termes bots are guided by singals from infrared and ultrasound
towers, castles and pyramids without supervision.
sensors. Each termes bots are given an overall idea what the
The robots can act very similar way that of te termites. The ter-
finished job should look like before being left to get on with it,
mites are working on local information rather than a central orga-
research said. They also know when to lift a building brick and
nization. Termites can build structures of several meters without
where to attach it, as well as how to avoid collisions and even
requiring a coordinated strategy. Thy use very simple intructions
how to reach higher levels by constructing staircases.
provided by their peers and the environment to know where to
Left: Termites inspired robots Bottom: a) Inspired by termites moulds b) Termites are working in building c) robots working d) The robots can build model towers, astels and pyramids without supervision.
RESEARCH / 155
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;
//CALL FUNCTIONALITY
strokeWeight(1);
float rep = 5;
for (Agent Ag : agents) {
stroke(0, 200, 0, map(i, 0, ampA, 255, 0));
float maxAttract = 0.1;
Ag.run();
ellipseMode(CENTER);
float maxRepel = 1;
totTail.addAll(Ag.tail);
ellipse(seekTarget.x, seekTarget.y, i*15, i*15);
-----------------------------------------------
Ag.tailSeek(totTail);
ellipse(seekTarget2.x, seekTarget2.y, i*10, i*10);
void setup() { background(220); size(500, 500, P2D); agents = new ArrayList();
}
ellipse(seekTarget3.x,seekTarget3.y,i*5,i*5); totTail.clear();
}
// draw repeller pushStyle();
popStyle(); }
totTail = new ArrayList <Vec3D>();
noStroke();
-----------------------------------------------------------
for (int i=0; i < population; i++) {
fill(0, 200, 200,100);
// CLASS AGENTS
rectMode(CENTER);
class Agent {
Vec3D origin = new Vec3D (random (width), random(height), 0); Agent myAgent = new Agent (origin); agents.add(myAgent); }}
rect(repeller.x, repeller.y, 50, 50);
Vec3D loc = new Vec3D(0, 0, 0);
rect(repeller2.x,repeller2.y,100,100);
Vec3D speed = new Vec3D(random(-20, 20), ran-
popStyle(); //draw attractor
dom(-20, 20), 0); //re-map the contour?? Vec3D acc = new Vec3D();
-----------------------------------------------
float ampA = 10;
void draw() {
pushStyle();
int Tcount = 0;
background(220, 254);
for (int i = 0 ; i < ampA ; i++) {
int TLen = 20;
smooth();
noFill();
ArrayList <Vec3D> tail = new ArrayList <Vec3D> ();
int TStep = 6;
/ 159
//AGENTS
border();
// COHESION
float angle;
drawTail();
-----------------------------------------------------
float VAngle;
FutLoc();
// TAIL COHESION
Vec3D perip = new Vec3D();
tailVAngle = radians(tailViewAngle);
void tailCohesion(float magnitude, float range,
if (appWander) wander();
ArrayList <Vec3D> flowfield) {
//TAILS float tailAngle;
repel(repeller);
Vec3D sum = new Vec3D();
float tailVAngle;
repel(repeller2);
Vec3D steer = new Vec3D();
Vec3D tailPerip = new Vec3D();
seek(seekTarget);
int count = 0;
seek(seekTarget2);
for (int i = 0; i < flowfield.size();i++) {
//FUTURE LOCATIONS Vec3D FutVec;
seek(seekTarget3);
Vec3D FutLoc; //CONSTRUCTOR Agent(Vec3D loc_) { loc = loc_;
}
get(i));
-----------------------------------------------------
flowfield);
// RUN THE BEHAVIORS OF THE AGENTS
display(); move();
tailPerip = (flowfield.get(i)).sub(loc);
void tailSeek(ArrayList<Vec3D> flowfield) { tailSeparate(tailSepMag, tailSepViewRange,
void run() {
if (distance > 0 && distance < range) {
// SEEK
} ----------------------------------------------------------
float distance = FutLoc.distanceTo(flowfield.
tailCohesion(tailCohMag, tailCohViewRange,
tailAngle = tailPerip.angleBetween(speed, true); if (tailAngle < 0) tailAngle += TWO_PI; if (abs(tailAngle) < tailVAngle ) {
flowfield);
sum.addSelf(flowfield.get(i));
} -----------------------------------------------------
count++; }
}
tailAngle = tailPerip.angleBetween(speed,
}
void border() {
true);
if (count>0) { sum.scaleSelf(1.0/count);
if (loc.x > width) { if (tailAngle < 0) tailAngle += TWO_PI;
//loc.x -=width;
if (abs(tailAngle) < tailVAngle ) {
speed.x = speed.x * -1;
steer = sum.sub(loc);
Vec3D diff = loc.sub(flowfield.get(i));
}
//steer.normalize();
diff.normalizeTo(1.0/distance);
if (loc.x < 0) {
steer.scaleSelf(magnitude);
steer.addSelf(diff);
//loc.x+=width;
acc.addSelf(steer);
count++;
speed.x = speed.x * -1;
}
}
}
}
}
if (loc.y > height) {
----------------------------------------------------------
}
//loc.y-=height;
//TAIL SEPARATE STEER
if (count > 0) {
speed.y = speed.y * -1;
void tailSeparate(float magnitude, float range, ArrayList
steer.scaleSelf(1.0/count);
<Vec3D> flowfield) {
}
}
if (loc.y < 0) {
Vec3D steer = new Vec3D();
//steer.normalize();
//loc.y+=height;
int count = 0;
steer.scaleSelf(magnitude);
speed.y = speed.y * -1;
for (int i = 0; i < flowfield.size();i++) {
acc.addSelf(steer);
float distance = FutLoc.distanceTo(flowfield.get(i)); if (distance > 0 && distance < range) { tailPerip = (flowfield.get(i)).sub(loc);
}
} }
-----------------------------------------------------
-----------------------------------------------
// BOUNDARY
// MOVING
/ 161
void move() { speed.addSelf(acc);
}
strokeWeight(1);
if (tail.size() > TLen) {
if (futPrev) line(loc.x, loc.y, FutLoc.x, FutLoc.y);
speed.limit(maxVel);
tail.remove(0);
}
loc.addSelf(speed);
}
----------------------------------------------------
acc.clear();
for ( int i = 1; i < tail.size();i++ ) {
// WANDER BEHAVIOR
}
Vec3D a = tail.get(i-1);
void wander() {
-----------------------------------------------------
Vec3D b = tail.get(i);
float wanderR = 50;
// AGENT DISPLAY
if (a.distanceTo(b) < 30) {
float wanderD = 80;
void display() {
stroke(0, 0, 0, map(i, 0, tail.size(), 0, 100));
float change = 5;
strokeWeight(random(1,3));
strokeWeight(map(i, 0, tail.size(), 0.5, 1));
wandertheta += random(-change, change);
stroke(0);
line(a.x, a.y, b.x, b.y);
Vec3D circleLoc = speed.copy();
point(loc.x, loc.y, 0); } ----------------------------------------------------// DRAW TAIL void drawTail() {
}
circleLoc.normalize();
-----------------------------------------------------
circleLoc.scaleSelf(wanderD);
// FUTURE LOCATION
circleLoc.addSelf(loc);
void FutLoc() {
Vec3D circleOffSet = new Vec3D(noise(wan-
FutVec = speed.copy();
derR*cos(wandertheta)), noise(wanderR*sin(wan-
Tcount++;
FutVec.normalize();
dertheta)), 0);
if (Tcount > TStep) {
FutVec.scaleSelf(futLocMag);
Vec3D target = circleLoc.addSelf(circleOffSet);
tail.add(loc.copy());
FutLoc = FutVec.addSelf(loc);
Vec3D steer = target.sub(loc);
Tcount = 0;
stroke(50, 100);
steer.normalize();
steer.scaleSelf(1);
if (distanceT > 0 && distanceT < 150) {
acc.addSelf(steer);
Vec3D desired = target.sub(loc);
}
desired.normalize();
----------------------------------------------------
desired.scaleSelf(rep);
// SEEK (ATTRACTORS)
Vec3D steerTarget = desired.sub(speed);
void seek(Vec3D target) {
steerTarget.limit(maxRepel);
float distanceT = target.distanceTo(loc);
steerTarget.scaleSelf(-1);
if (distanceT > 0 && distanceT < 800) {
acc.addSelf(steerTarget);
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);
/ 163
PATH FINDING USING A* BASED ON DEPTH DATA IN 2D ENVIRONMENT
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; ------------------------------------------
void setup(){ size(640, 640);
-----------------------------------------------
showStats();
void draw(){
return p;
cursor(CROSS);
background(0);
}
smooth();
display();
------------------------------------------
ellipseMode(CENTER);
}
// Visualise the algorithm and path, draw
// import depth data ( image/ video/ kinect)
-----------------------------------------------
route if end nodes are selected
graphImage = loadImage(“map1a.png”);
IGraphSearch makePathFinder(Graph graph){
void chooseRoute() {
costImg = loadImage(“map1b.png”);
IGraphSearch pf = null;
stroke(255, 0, 0);
gs = new Graph();
float f = 2.0f;
strokeWeight(1.5f);
numTilesX = numTilesY = 40;
pf = new GraphSearch_Astar(gs, new Ash-
if(endNode != null)
makeGraphFromBWimage(gs, graphImage,
CrowFlight(f));
costImg, numTilesX, numTilesY, true); // Get arrays of nodes and edges
Node.xf(), endNode.yf());
}
else
gNodes = gs.getNodeArray();
GraphNode[] usePathFinder(IGraphSearch pf)
gEdges = gs.getAllEdgeArray();
{
// Create a path finder object
}
return pf;
line(startNode.xf(), startNode.yf(), end-
line(startNode.xf(), startNode.yf(), mouseX, mouseY);
time = System.nanoTime();
}
pathFinder = makePathFinder(gs);
pf.search(start, end, true);
// Display search analysis data
paths = new ArrayList<GraphNode[]>();
time = System.nanoTime() - time;
void showStats() {
pathColor = new ArrayList<Integer>();
p = pf.getRoute(); exploredEdges = pf.getExaminedEdges();
println(“No. edges examined: “ + exploredEdges.length);
/ 165
println(“Analysis time: “ + (time * 0.000001f)); println();
stroke(lineCol);
fill(0, 0, 255);
strokeWeight(sWeight);
ellipse(r[0].xf(), r[0].yf(), 5, 5);
for(GraphEdge ge : edges)
}
// Route end node
line(ge.from().xf(), ge.from().yf(), ge.to().
-----------------------------------------------
xf(), ge.to().yf());
// Graph drawing functions, to draw Nodes
popStyle();
and Edges void drawNodes(){
fill(255, 0, 0); ellipse(r[r.length-1].xf(), r[r.length-1].yf(), 5, 5); popStyle();
}
}
}
}
pushStyle();
// Draw Routes
-----------------------------------------------
noStroke();
void drawRoute(GraphNode[] r, int lineCol,
// the shortest path is calculated by A* Algo-
fill(255);
float sWeight){
rithm
for(GraphNode node : gNodes) ellipse(node.xf(), node.yf(), 2, 2); popStyle();
if(r.length >= 2){
void makeGraphFromBWimage(Graph g,
pushStyle();
PImage backImg, PImage costImg, int tilesX,
stroke(lineCol);
int tilesY, boolean allowDiagonals){
}
strokeWeight(sWeight);
int dx = backImg.width / tilesX;
void drawEdges(GraphEdge[] edges, int line-
noFill();
int dy = backImg.height / tilesY;
Col, float sWeight){
for(int i = 1; i < r.length; i++)
int sx = dx / 2, sy = dy / 2;
if(edges != null){
line(r[i-1].xf(), r[i-1].yf(), r[i].xf(), r[i].yf());
pushStyle();
// Route start node
noFill();
strokeWeight(0.0f);
// 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);
edges, black indicates inaccessbile areas.
if(y < tilesY - 1)
if(col != 0){
g.addEdge(nodeID, nodeID + deltaX,
float cost = 0;
aNode = new GraphNode(nodeID, px, py);
int px, py, nodeID, col;
g.addNode(aNode);
}
GraphNode aNode;
if(x > 0){
px += dx;
py = sy;
g.addEdge(nodeID, nodeID - 1, hCost * cost);
for(int y = 0; y < tilesY ; y++){
if(allowDiagonals){
nodeID = deltaX * y + deltaX;
g.addEdge(nodeID, nodeID - deltaX - 1, dCost * cost);
px = sx;
g.addEdge(nodeID, nodeID + deltaX - 1, dCost * cost);
for(int x = 0; x < tilesX; x++){ // Calculate the cost based on depth data if(costImg == null){
}
py += dy; }
-----------------------------------------------
if(x < tilesX -1){
// Display the calculated edges, and nodes
cost = 1;
if(allowDiagonals){
}
g.addEdge(nodeID, nodeID - deltaX + 1, dCost * cost);
else {
g.addEdge(nodeID, nodeID + deltaX + 1, dCost * cost);
col = costImg.get(px, py) & 0xFF;
// If col is not black then create the node and
}
}
g.addEdge(nodeID, nodeID + 1, hCost * cost);
}
nodeID++;
}
col = backImg.get(px, py) & 0xFF;
cost = 1.0f + (256.0f - col)/ 16.0f;
vCost * cost);
} }
void display() { if(graphImage != null) image(graphImage, 0, 0); drawEdges(exploredEdges, color(255, 255, 255, 100), 1.0f); drawNodes();
if(y > 0) g.addEdge(nodeID, nodeID - deltaX, vCost * cost);
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)
CONVERT 2D DEPTH DATA INTO 3D MES
public void mouseDragged(){ endNode = gs.getNodeAt(mouseX, mouseY, 0, 16.0f); } public void mouseReleased(){
chooseRoute();
cursor();
}
if(endNode!= null && startNode != null &&
}
startNode != endNode){
-----------------------------------------------
start = startNode.id();
// visualize the path in processing with
end = endNode.id();
mouse controlled public void mousePressed(){
GraphNode[] p = usePathFinder(pathFinder);
noCursor();
paths.add(p);
if (paths.isEmpty()) { startNode = gs.getNodeAt(mouseX, mous-
ready = true; // report that the route is ready
eY, 0, 16.0f); } else {
pathColor.add(color(random(255), random(255), random(255)));
startNode = endNode; }
} }
SH USING PELTHORA LIBRARY
import toxi.processing.*;
pTer = new Ple_Terrain(this, location,
import processing.opengl.*;
col,row, DIMX/col,DIMY/row);
import plethora.core.*;
//generate a data-map from a depth image
import toxi.geom.*;
and load that information into the height of
import peasy.*;
the terrain
PeasyCam cam;
heights = pTer.loadImageToBuffer(“map1c.
Ple_Terrain pTer;
png”);
float [][] heights;
pTer.loadBufferasHeight(heights, 0 , 100);
int DIMX = 400;
}
int DIMY = 400; int col = 20;
void draw() {
int row = 20;
background(0); stroke(0,90);
void setup(){
strokeWeight(2);
size(800, 600, OPENGL); //OR p3d? smooth();
pTer.display(); stroke(255,140,0,140);
ellipseMode(CENTER);
strokeWeight(1);
cam = new PeasyCam(this, 0,0,0,800);
pTer.drawLines(true,true,true); //horizontal,
//declare a vector as the location
/ vertica / diagonal / all
Vec3D location = new Vec3D(0,0,0);
}
/ 169
PATH FINDING USING A* BASED ON DEPTH DATA IN 3D ENVIRONMENT
//CHANGE CODE FROM PATH FINDING IN 2D ENVIRONMENT FROM makeGraphFromBWimage: void makeGraphFromBWimage(Graph g, PImage backImg, PImage costImg, int cellSizeX, int cellSizeY, boolean allowDiagonals){ 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, xyzCost; float cost = 0.0; int px, py, nodeID, col; float pz, dz; GraphNode aNode; py = dy; for(int y = 0; y < cellSizeY ; y++){
nodeID = deltaX * y + deltaX; px = dx;
xyzCost = sqrt(dx*dx + dy*dy + dz*dz);
g.addEdge(nodeID, nodeID + deltaX
for(int x = 0; x < cellSizeX; x++){ if(costImg == null){
+ 1, xyzCost * cost);
aNode = new GraphNode(nodeID, px,
+ 1, xyzCost * cost);
py, pz);
}
col = backImg.get(px, py) & 0xFF;
g.addNode(aNode);
}
pz = dz = col;
if(x > 0){
if(y > 0)
cost = 1; }
g.addEdge(nodeID, nodeID - 1, xzCost * cost);
else {
if(y < cellSizeY - 1)
g.addEdge(nodeID, nodeID - deltaX - 1, xyzCost * cost);
remap the height to 1~100 }
yzCost * cost);
if(allowDiagonals){
col = costImg.get(px, py) & 0xFF; pz = dz = map(col, 0,255, 0, 100); //
g.addEdge(nodeID, nodeID - deltaX,
g.addEdge(nodeID, nodeID + deltaX, yzCost * cost);
g.addEdge(nodeID, nodeID + deltaX
}
- 1, xyzCost * cost);
if(col != 0){
px += dx;
}
nodeID++;
xCost = dx;
}
}
yCost = dy;
if(x < cellSizeX -1){
py += dy;
zCost = dz; xzCost = sqrt (dx*dx + dz*dz); yzCost = sqrt(dy*dy + dz*dz); xyCost = sqrt(dx*dx + dy*dy);
g.addEdge(nodeID, nodeID + 1, xzCost * cost);
} }
if(allowDiagonals){ g.addEdge(nodeID, nodeID - deltaX
/ 171
REFERENCE
REFERENCES
Earthquake magnitudes http://www.expandedenvironment.org/soft-structures/ EXTS
0.2 BACKGROUND IMAGES &FIGURES
Unrescued Living http://www.telegraph.co.uk/news/picturegalleries/world-
Soft Structures http://www.expandedenvironment.org/soft-structures/ EXTS
news/2662401/Chinese-earthquake-aftermath.html?image=2
Termites Mould http://www.touringaustralia.de/Animals/Termites.php
Haiti Shelter http://www.emilytroutman.com/index.php#mi=2&pt=1&pi=10000&s=
Stone Sprey http://www.massmarket.tv/6275/we-like-stone-spray/
11&p=2&a=0&at=0
Nest Selection in Weaver Birds. http://micusp.elicorpora.info/search/viewPaper/BIO.
Haiti shelter https://www.flickr.com/photos/un_photo/4276934309/in/gallery-cmck-
G0.09.1.pdf
ane-72157623219576268/
Studies on Nest-Site Selection by the Baya Weaver http://www.idosi.org/wjz/
Japanese Disaster Relief Project for Earthquake http://www.shigerubanarchitects.
wjz4(4)2009/11.pdf
com/SBA_NEWS/SBA_news_5.htm Sleep Box in Japan http://www.theguardian.com/world/2009/apr/09/berlus-
1.2 UNPREDICTABLE TEXTS
coni-camping-comment-earthquake
Deadliest earthquakes and tsunamis of the past century http://en.tengrinews.kz/
Recycled cardboard paper make shelter http://biginjapan.com.au/2011/10/shige-
opinion/334/
ru-ban-giving-shelter/
Haitai Earthquake Faces and Figures http://www.dec.org.uk/haiti-earthquake-facts-
Sichuan tent-school http://sn.ifeng.com/jiaoyu/detail_2013_04/22/734528_0.shtml
and-figures
Sichuan temporary settlement http://blog.salvationarmyusa.org/2013/04/22/salvation-army-responds-to-sichuan-earthquake/ Chile tent http://www.e-architect.co.uk/chile/chile-earthquake-rebuilding
1.2 UNPREDICTABLE ENVIRONMENT IMAGES
Tent city in San Gregorio http://www.theguardian.com/world/2009/apr/09/berlus-
coni-camping-comment-earthquake
1.3 BUILD BY WASTE IMAGES & FIGURES
Potential Using Materials http://sherpas2.blogs.sapo.pt/389774.html
Recycled Windshield Greenhouse, http://inhabitat.com/recycled-windshield-green-
Proposed Houseing http://ikeda-lab.sfc.keio.ac.jp/home/en/project/2011_bub-
house-grows-more-glass/
ble-dome
Ball-shaped Shelter. http://inhabitat.com/5-brilliant-backyard-sheds-built-from-recy-
Earthquake resistant housing made by container http://activerain.trulia.com/blogs-
cled-materials/6-best-curious-tiny-sheds-from-random-materials-4/?extend=1
view/3511013/affordable--earthquake---hurricaine-resistant-shipping-contain-
Sound Wave. http://forum.xcitefun.net/the-creation-recycled-sculptures-t43862.html
er-home
To Live. http://forum.xcitefun.net/the-creation-recycled-sculptures-t43862.html
ReCover Accordion Shelter http://inhabitat.com/emergency-shelters-and-disaster-
Building with Pop Cans, http://inspirationalvillage.me/tag/recycled-materials/
relief-for-the-people-of-haiti/
Built by recycled bottles. http://www.ecofriend.com/eco-friendly-materials-sustain-
Calearth Disaster Resistant Housing http://inhabitat.com/emergency-shelters-and-
able-buildings.html
disaster-relief-for-the-people-of-haiti/
Building by 7000 Recycled Phone Books. http://inhabitat.com/amazing-buildingmade-from-7000-recycled-phone-books/ Temporary shelter built by soap cans. http://www.greendiary.com/2011-eco-friend-
1.3 BUILD BY WASTE TEXT
ly-homes-built-recycled-material.html
Baya Weaver nest selection http://www.cyclists.in/photo/baya-weaver-bird-nests
Micro-Financed Straw House. http://www.greendiary.com/2011-eco-friend-
Baya Weaver collecting material http://wildabs.com/birds/male-baya-weaver-collect-
ly-homes-built-recycled-material.html
ing-nesting-material
Plastic Frantastic http://knowledge.allianz.com/environment/energy/?722/incredi-
Bay Weaver constructing nests http://www.besgroup.org/2010/05/29/baya-weav-
ble-buildings-made-from-recycled-materials-gallery
er-completing-nest/
Turning waste into building blocks of the future city. http://archinect.com/news/article/76898650/turning-waste-into-building-blocks-of-the-future-city
/ 173
Cover 10-Storey Building with 1,000 Recycled Doors. South Korean artist Choi
2.4 ARTIFICIAL INTELLIGENCE IMAGES AND FIGURES
Jeong-Hwa. http://www.ecologyrunner.com/2012/01/artist-covers-10-storey-build-
Harvard’s Micro Air Vehicles Project http://www.topsecretwriters.com/2014/01/
ing-with.html
as-bees-go-extinct-harvard-develops-a-robotic-alternative/
The Big Church, http://inhabitat.com/the-big-crunch-raumlabor-creates-an-incredi-
Mapping and Localization (SLAM) http://machinedesign.com/motion-control/mo-
ble-building-from-discarded-materials/
bile-manipulators-go-mainstream
Earth Shape Building http://bc-interior.blogspot.com.au/2010/09/earthship-buildinggoing-up-in-south.html
2.4 ARTIFICIAL INTELLIGENCE TEXTS
1.4 LEARNING FROM ANIMAL IMAGES & FIGURES
William Regli, Robot Path Planning http://www.docstoc.com/docs/117197100/Ro-
Representation of the process of Baltimore oriole nest construction in Avian Architec-
bot-Lab-Robot-Path-Planning
ture by Peter Goodfellowm Princeton University Press 2011. P.103
Khepera III mobile robots http://www.mobilec.org/apps/vision/
Baya Weaver Bird Nests http://www.cyclists.in/photo/baya-weaver-bird-nests
Rumbleweed Robot Planting Seeds Along the desert http://www.thevoltreport.com/
1.5 SIX-AXIS ROBOTICSW
tumbleweed-robot-planting-seeds-along-the-desert/
2.2 ANIMAL ARCHITECTURE IMAGES AND FIGURES
2.5 ROBOTICS IN ARCHITECTURE v
Hummingbird Nests http://folkwaysnotebook.blogspot.com.au/2013/02/un-
Robot House http://kree8tiv.blogspot.com.au/2013/02/sci-arc-students-explore-
known-winter-birdnest.html
future-of.html Robotic Pouring of Graded Aggregate Structure http://icd.uni-stuttgart.de/?p=10339
2.3 COMPUTATION PROGRAMMING IMAGES AND FIGURES
Eco-Pods http://www.dezeen.com/2009/10/02/eco-pods-by-howeler-yoon-architec-
Amit’s A* Pages: http://theory.stanford.edu/~amitp/GameProgramming/index.html
tureand-squared-design-lab/ Flight Assembled Architecture http://www.gramaziokohler.com/web/e/projekte/209.
html
terial Computation - Higher Integration in Morphogenetic Design: these three issues
Robot ANT http://www.dailymail.co.uk/sciencetech/article-2558666/Rise-ANT-
of AD focus on emergence and natural prototypes.
BOTS-Amazing-robots-behave-like-termites-operate-build-small-structures-
Hansell, Michael H. (2000). Bird Nests and Construction Behaviour (Cambridge; New
WITHOUT-instructions.html, http://www.mono-live.com/2014/02/robots-ter-
York: Cambridge University Press): an academic book focusing on nests
mites-who-work-by-coordinating.html
Hansell, Michael H. (2007). Built by Animals: The Natural History of Animal Architecture (Oxford: Oxford University Press): a popular book with an overview of all animal
Books
architecture
Dunne, Anthony, and Fiona Raby (2013). Speculative Everything: Design, Fiction, and
Shiffman, Daniel (2008). Learning Processing: A Beginnerâ&#x20AC;&#x2122;s Guide to Programming
Social Dreaming (Cambridge, MA: MIT Press): design of ideas and possible futures
Images, Animation, and Interaction (Amsterdam; Boston: Morgan Kaufmann; Elsevi-
Fry, Tony (2008). Design Futuring: Sustainability, Ethics and New Practice (Oxford:
er): introduction to programming
Berg): new challenges for design, the need to change
Bohnacker, Hartmut, Benedikt Gross, Julia Laub, and Claudius Lazzeroni (2012
Wood, John (2007). Design for Micro-Utopias: Making the Unthinkable Possible (Al-
[2010]). Generative Design: Visualize, Program, and Create with Processing (New
dershot: Gower): metadesign, design narratives
York: Princeton Architectural Press): an excellent reference resource.
Weinstock, Michael (2010). The Architecture of Emergence: The Evolution of Form in
Blum, Jeremy (2013). Exploring Arduino: Tools and Techniques for Engineering Wiz-
Nature and Civilisation (Chichester: Wiley): an overview of nature-inspired approach-
ardy (Indianapolis, IN: Wiley): a good general introduction to Arduino and electronics
es and project examples you can use as benchmarks (the Introduction is in the Drop-
Shiffman, Daniel (2011). The Nature of Code (New York: Daniel Shiffman): overview
box).
of nature-inspired
Hensel, Michael, Achim Menges, and Michael Weinstock, eds (2004). Emergence:
Craig, John J. (2005 [1986]). Introduction to Robotics: Mechanics and Control, 3rd
Morphogenetic Design Strategies, Architectural Design (London: Wiley) | AD 2006 - 2
International edn (Upper Saddle River, NJ; London: Pearson Prentice Hall): a textbook
(76) Techniques and Technologies in Morphogenetic Design | AD 2012 - 2 (82) Ma-
explaining low-level control principles
/ 175
Murphy, Robin (2000). Introduction to AI robotics (Cambridge, MA: MIT Press): a text-
Video
book introducing concepts of intelligent robotics
The Nature of Code on Vimeo: video lecture and tutorials supporting the book
Melgar, Enrique Ramos, Ciriaco Castro Diez, and Przemek Jaworski (2012). Arduino
The Nature of Code in Python for Grasshopper: video tutorials
and Kinect Projects: Design, Build, Blow Their Minds (New York: Apress): introduction
Tutorial Series for Arduino, by Jeremy Blum: introductory series of video tutorials that
to Kinect and a variety of project including a Kinect-driven drawing robot
covers materials in the book.
Gertz, Emily, and Patrick Di Justo (2012). Environmental Monitoring with Arduino (Se-
Plethora Project Video tutorials, Season 1: Introduction to Processing
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 proceedings with a variety of projects McGee, Wes and Monica Ponce de Leon, eds (2014). Robotic Fabrication in Architecture, 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
/ 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 :)
NAME DURATION BACKGROUND MUSIC CONTENT
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:
THINGS NEED TO IMPROVE
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.
/ 181
/ 183
/ 185
/ 187
PROTOTYPE FINAL JUAN YANG SONY PMW-EX1
24/10/2014
02
23
NAME DURATION BACKGROUND MUSIC CONTENT
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 suitable materials and planning optimized path, and finally assembly. Future Scenario: different types of mobiles robots will be applied in the future speculation design.
/ 189