Collective Construction

Embed Size (px)

Citation preview

  • 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