collective construction
TRANSCRIPT
-
8/14/2019 Collective Construction
1/46
!"#$"%&'"()* ,-./"01)%/ &2&/),&3!"##$%&'($ !"*+&,-%&'"*
Josefa Z. Hernndez, Nik Swoboda{phernan,nswoboda}@fi.upm.es
Master Universitario en Inteligencia Artificial
-
8/14/2019 Collective Construction
2/46
4#/"50/"#%
! Social insects collectively build nests whosearchitectural complexities exceed theperceptual and cognitive capabilities of singleindividuals
! Scientific question: How these insects collectively build thestructures they do?
! Engineering question: How one could design and program asystem in which an artificial swarm collectively builds complexstructures?
-
8/14/2019 Collective Construction
3/46
7''."80/"#%&
! Deal with traditional construction problems: low efficiency,high accident rates, low quality, and skills shortages
! Facilitate the production of low-cost housing! Introduce automation in settings difficult or dangerous for
humansto work in, e.g. other planets, underwater.
! Maintain and repair structures during their lifetimes! Modify structures according to changing circumstances
-
8/14/2019 Collective Construction
4/46
9#: "%&)8/& *# "/;
! Models of positive and negative feedback have been used toexplain such engineering feats
! Stigmergic communication: the perception of the result ofprevious work triggers specific construction behaviors
" quantitative(continuous) stigmergy: the different stimuli thattrigger behavior are quantitatively different (e.g. termite-moundbuilding)
" qualitative(discrete) stigmergy: stimuli can be classified intodifferent classes that differ qualitatively (e.g. wasp nest building)
-
8/14/2019 Collective Construction
5/46
(Brooks, 86): Proposed for robots and extendedinto a new view of AI
! It is a hierarchy of task-accomplishing behaviors (situation#action rules)
! Multiple behaviors may fire at the same timeo Layered hierarchyo Lower layersbehaviors inhibit higher levelones
! The resulting systems are, in terms of the amount of computation they do,extremely simple
! Some of the robots do tasks that would be impressive if they wereaccomplished by symbolic AI systems
#/"8&3 ?"(&/
-
8/14/2019 Collective Construction
6/46
Steels Mars explorer system (Steels, 90), using the subsumption
architecture achieves near-optimal cooperative performance insimulated rock gathering on Mars domain:
The objective is to explore a distant planet, and in particular, tocollect samples of a precious rock. The location of the samples isnot known in advance, but it is known that they tend to be
clustered. A number of autonomous vehicles are available thatcan drive around the planet collecting samples and later re-entera mother ship spacecraft to go back to Earth. There is no detailedmapof the planet, although it is known that the terrain is full ofobstacles hills, valleys, etc.- which prevent the vehicles fromexchanging any communication
#/"8&3 40(& )@'.#()( &2&/),
-
8/14/2019 Collective Construction
7/46
The system uses two mechanisms:
! Gradient field: determine direction to mother-ship viaradio-signal gradient
! Indirect communication: by dropping beacons(crumbs
). Inspired by ant-populations communicationthrough pheromones.
#/"8&3 40(& )@'.#()( &2&/),
-
8/14/2019 Collective Construction
8/46
!Individual robots behavior:(1) IF detect an obstacle THEN change direction
(2) IF carrying samples AND at the base THEN drop samples
(3) IF carrying samples and NOT at the base THEN travel up
gradient
(4) IF detect a sample THEN pick sample up
(5) IF true THEN move randomly
! Subsumption hierarchy: (1) < (2) < (3) < (4) < (5)! The solution is cheap(minimal computing power) androbust
(loss of a single robot will not affect overall system too much)
#/"8&3 40(& )@'.#()( &2&/),
-
8/14/2019 Collective Construction
9/46
:If sample is found, drop crumb trailwhile
returning to ship (special rocks appear in clusters!). Other robots willweaken trail on way to samples. If sample cluster is empty $no trailreinforcement$trail dies.
(1) IF detect an obstacle THEN change direction
(2) IF carrying samples AND at the base THEN drop samples(3) IF carrying samples and NOT at the base THEN drop 2 crumbs
AND travel up gradient
(4) IF detect a sample THEN pick sample up
(6) IF sense crumbs THEN pick up 1 crumb AND travel downgradient
(5) IF true THEN move randomly
! Subsumption hierarchy: (1) < (2) < (3)< (4) < (6)< (5)
#/"8&3 40(& )@'.#()( &2&/),
v1
-
8/14/2019 Collective Construction
10/46
-
8/14/2019 Collective Construction
11/46
-
8/14/2019 Collective Construction
12/46
-
8/14/2019 Collective Construction
13/46
-
8/14/2019 Collective Construction
14/46
-
8/14/2019 Collective Construction
15/46
! Nest building by wasps:o attach the future nest to a
substrate with a stalk-like pedicel
o build two cells on either side of thepedicel
o subsequent cells are added to theouter circumference of the combsbetween two previouslyconstructed cells
o as more cells are added, parallelrows of cells are formed
o a row tends to be finished beforeinitiating a new row
o rows are initiated by theconstruction of a centrally locatedfirst cell
B#80.$/#$1.#>0.3 4#*).."%1 8#..)8/"5) >-".*"%1
-
8/14/2019 Collective Construction
16/46
B#80.$/#$1.#>0.3 4#*).."%1 8#..)8/"5) >-".*"%1
! (Theraulaz, Bonabeau, 95): Formal model of distributed buildinginspired by social wasps
! Lattice swarms modelo stateless agents move randomly on a 3D
cubic lattice
o an agent deposits a brick every time itfinds a stimulating configuration
o a lookup rule table specifies all suchconfigurations and defines an algorithm
-
8/14/2019 Collective Construction
17/46
4#*).."%1 8#..)8/"5) >-".*"%1
nest-like structures
What makes the difference?
-
8/14/2019 Collective Construction
18/46
! Biological-like architectures require coordinated algorithmso the desired architecture is
decomposed into a finitenumber of building steps
o the local configurations that arecreated by a given state andwhich trigger building actions,differ from those created by aprevious or forthcoming buildingstep (disjoint steps)
o all individuals cooperate in thecurrent building state at any time
4#*).."%1 8#..)8/"5) >-".*"%1
-
8/14/2019 Collective Construction
19/46
4#*).."%1 8#..)8/"5) >-".*"%1
z+1 z z1
(1.1)
2 2 2
2 2 2
2 2 2
0 0 0
0 0
0 0 0
0 0 0
0 0 0
0 0 0(2.1.)
0 0 0
0 1 0
0 0 00 0 0
0 0
0 0 00 0 0
0 0 0
0 0 0(2.2)
0 1 00 0 0
0 0 0
0 2 00 0
0 0 0
0 0 00 0 0
0 0 0(2.3)
0 1 0
0 0 0
0 0 02 2 2
0 0
0 0 00 0 0
0 0 0
0 0 0
(2.4)1 0 0
0 0 0
0 0 02 2 0
2 0
0 0 00 0 0
0 0 0
0 0 0(2.5)
0 0 0
0 0 0
0 0 0
2 2 2
0 0
0 0 0
0 0 0
0 0 0
0 0 0(2.6)
0 0 0
0 0 0
0 0 02 2 2
2 0
2 0 00 0 0
0 0 0
0 0 0(2.7)
0 0 00 0 0
0 0 0
2 2 02 0
0 0 0
0 0 00 0 0
0 0 0(2.8)
0 0 0
0 0 0
0 0 02 2 2
2 2
0 0 00 0 0
0 0 0
0 0 0
Set of local stimulating configurations used to produce these architectures:
the wasp in the centralposition of slice z, will putdowno a brick of type 1 in the
case of configuration
1.x ando a brick of type 2 in the
cases 2.x.
-
8/14/2019 Collective Construction
20/46
C.#>0.$/#$.#80. '(#>.),
Take an unspecified number of robots and a supply of buildingmaterial, give the system a blueprint or other set of specificationsfor any arbitrary structure desired, and have a guarantee thatthe system will produce that structure without further intervention
-
8/14/2019 Collective Construction
21/46
D#..)8/"5) 8#%&/(-8/"#%3 1.#>0.$/#$.#80. '(#>.),
Building two-dimensional user-specified structures (Werfel et al, 06)
o robots and blocks are deployed at random into an obstacle-free workspaceo blocks are square and can be attached to each other on all four sideso a markerindicates the location for the start of constructiono robots can not communicate with one anothero robots fetch blocks from elsewhere in the workspace, bring them to the
growing structure, and travel along its perimeter for some distance beforeattaching their block
-
8/14/2019 Collective Construction
22/46
D#..)8/"5) 8#%&/(-8/"#%How and where robots decide to attach blocks?
!specifying the desired shapeo shape map: lattice-based representation with a coordinate system whose
origin is the marker
o robots can use the structure as a reference to determine their location!
ordering attachment(A): A block can be attached to 1 or 2, not to 3 or 4
(B): Two separated blocks (sites 1, 5) may not be attached in the same row if allsites between them are meant to be occupied
(C): Building up a structure by layers, always starting new rows from the end andextending them clockwise
-
8/14/2019 Collective Construction
23/46
D#%&/(-8/"#% :"/E "%)(/ >.#8F&
Establishing location of robots with inert blocks:
! identical blockso the marker serves as a landmarko robots follow the perimeter of the
structure until reaching the landmark
! distinct blockso all blocks are potential landmarkso robots maintain a dynamic label map, storing the labels and locations of all
blocks in the structure
!writable blockso robots can change the state
of block labels
o blocks store their coordinatesexplicitly
-
8/14/2019 Collective Construction
24/46
D#%&/(-8/"#% :"/E 8#,,-%"80/"%1 >.#8F&
Establishing location of blocks with communicating blocks:! determining whether or not a site is available for block attachment is
shifted from the robots to the structure itself
! blocks connect to each other when connected to the structure! each block in the structure stores:
o the shape mapo its location in the shared coordinated systemo a state for each of its faces
-
8/14/2019 Collective Construction
25/46
Block algorithm:! when a robot is given permission to attach a block, the structure block
sends a message along that row in both directions
! all the blocks in the row update the state of their faces! the newly attached block obtains from its neighbors the shape map
and its coordinates, and sets the state of its faces
Example of
block algorithm
D#%&/(-8/"#% :"/E 8#,,-%"80/"%1 >.#8F&
-
8/14/2019 Collective Construction
26/46
D#%&/(-8/"#% :"/E 8#,,-%"80/"%1 >.#8F&
-
8/14/2019 Collective Construction
27/46
Types of constraints on block placement:! geometric: ensure that the structure and its perimeter is of the desired
shape (independent of block type)
! functional: encompass whatever restrictions based on block typesmay be dictated by the particular application
o patterned structures: use absolute coordinateso adaptive structures: use relationships between block types
D#%&/(-8/"#% :"/E 8#,,-%"80/"%1 >.#8F&
-
8/14/2019 Collective Construction
28/46
!-".*"%1 0*0'/"5) &/(-8/-()&
Types of functional constraints:
! Absolute: no reference to neighboring blocks (e.g., type A may beattached; B is forbidden).
! Proximity: the types of neighboring blocks are important but theirlocations are not (e.g., every A must have at least one B somewhere
within a neighborhood of radius 3; no C can be adjacent to a D).
! Relational: involving both types and locations of neighboring blocks(e.g., every A must have a B bordering its west edge and a Cbordering its north edge).
square structures built with two blocktypes and the constraint that no two
yellow blocks be adjacent
patterned structurewith a complexshape
-
8/14/2019 Collective Construction
29/46
!-".*"%1 0*0'/"5) &/(-8/-()&
Sets of constraints can be organized in regionsand multiple levels
o Region 1, border of upper-left area: only blueblocks allowed.
o Region 2, interior of upper-left area: blue andwhite blocks both allowed; no white blockmay be in the eight neighborhood ofanother white block.
o Region 3, elsewhere: blocks must be eitherred or white depending on their y-coordinate
Regions definedby reference togeometricshapes and lines
-
8/14/2019 Collective Construction
30/46
4-./"$(#>#/ 8#%&/(-8/"#%
v2
Experiments on the construction of square structures of varying side length:
-
8/14/2019 Collective Construction
31/46
4-./"$(#>#/ 8#%&/(-8/"#%
-
8/14/2019 Collective Construction
32/46
A: The robot initially knows onlythat the marker must bepresent.
B: Using the line on the floor as areference, it picks up a blockfrom the cache.
C: It can use its RFID reader todetermine its position, and its
camera to follow the perimeter.Existing blocks are added tothe robots map as it observesthem.
D: The robot reaches an emptysite where a block is desired
E: It maneuvers to attach its blockat that site, dropping it intoplace...
F: ...and writes the block's newcoordinates to its tag.
v3
-
8/14/2019 Collective Construction
33/46
4-./"$(#>#/ GH 8#%&/(-8/"#%
! 3D structures with communicating blocks (Werfel, Nagpal, 08)! Extends the 2D assumptions on blocks and robots to 3D
structures: weightless environment, robots move freely in anydirection, blocks can communicate with physically attached
neighbors, ..! Problem decomposed in two parts:
o where blocks need to go?o how they get there?
-
8/14/2019 Collective Construction
34/46
GH 8#%&/(-8/"#%
Where to put blocks?
(A) A block could be attached at site A but not at site B
(B) A 3D version of the separation rule violated
(C) Even though this partial structure can occur without violating theseparation rule, attaching further blocks at any of the twelve sitesmarked * would violate that restriction
-
8/14/2019 Collective Construction
35/46
GH 8#%&/(-8/"#%Blocks rules - Where to put blocks?
Attachment allowed iff the answer to these three questions is YES:
1. Does the structure design specify this site is to be occupied?2. For each of the three axes passing through this site, is the separation
rule satisfied?
3. For each of the three planes passing through this site, is a block herebeing attached contiguously to the locally contiguous group?
Site A violates the first checkSite B passes checks 1 and 3 but fails 2Site C passes checks 1 and 2 but fails 3
Desired structure
-
8/14/2019 Collective Construction
36/46
GH 8#%&/(-8/"#% :"/E#-/ 1(05"/2
Robots rules - How to find allowed attachment sites?
! Random movement: Movement in any available direction along thestructure surface.
! Systematic search: Robots circle the structure at a fixed height; ifthey return to a previously visited site they move up or down onelevel and continue with the next layer.
! Gradient-following: Robots receive explicit directions from theblocks of the structure. Information includes the number of stepsaway from the closest allowed attachment site, as well as the localdirection to travel to reach it.
-
8/14/2019 Collective Construction
37/46
GH 8#%&/(-8/"#% :"/E#-/ 1(05"/2
successivesnapshots duringthe process ofconstruction by
ten robots, usinggradient-basedmovement
-
8/14/2019 Collective Construction
38/46
D#,'0("%1 0''(#08E)&
S: Steps taken along surfaceM1: Messages passed from blocks to robots
M2: Messages passed between blocks v
-
8/14/2019 Collective Construction
39/46
GH 8#%&/(-8/"#% :"/E 1(05"/2
!TERMES (Werfel et al., 11), a multi-robot construction systeminspired by the building activities of termites.
! The system takes as input a high-level representation of adesired structure, and provides rules for robots to build thatstructure.
-
8/14/2019 Collective Construction
40/46
4-./"$(#>#/ 8#%&/(-8/"#%3 IJ=4J