• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
 Three-dimensional construction with mobile robots and modular blocks

Three-dimensional construction with mobile robots and modular blocks






Total Views
Views on SlideShare
Embed Views



1 Embed 143

http://correll.cs.colorado.edu 143



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

     Three-dimensional construction with mobile robots and modular blocks Three-dimensional construction with mobile robots and modular blocks Presentation Transcript

    • Three-Dimensional Construction with Mobile Robots and Modular Blocks
      Written By: Justin Werfel and
      Presented By: Russell Winkler
    • Self-Reconfigurable Mobile Robots
      Designed For
      Frequent Reconfiguration
      Locomotion over different terrains
      Three-dimensional playback
      Not Designed For
      Static Structures
    • Goal
      “To be able to deploy an unspecified number of robots into an obstacle-free workspace, along with a supply of free blocks and a single-block ‘seed’ for the structure, and have construction proceed without further intervention.”
    • Assumptions
      Weightless environment
      Active units may move freely in any direction and in three dimensions
      All blocks are cubic
      Blocks contain self aligning connectors
      Once a block is attached it is never detached
    • The Units
      Passive Units
      No mobility
      Limited communication
      Locally with physically attached neighbors
      To active units
      Optimized for structural stability
      Active Units
      Manipulators of passive units
      Do not communicate with other active units
    • The Passive Units (Blocks)
      • The “seed” block
      • Knowledge of “shape map”
      • Coordinates (0,0,0)
      “seed” block
      I need blocks here
      • The seed block knows where blocks need to be attached in the local reference of it’s 6 sides and communicates this to the active units (robots)
      Other Blocks placed in its row
      • When the robots connects a new block, the block receives the shape map, it’s coordinates, and other relevant block information
      Information is passed back to other blocks regarding the newly filled position
      Other Blocks placed in its plane
    • Block Rules
      The Shape Map Rule
      A block cannot be placed at any site that does not match the shape map (duh)
    • Block Rules
      The Row Rule
      A contiguous group of blocks in the same row can start with its first block attached anywhere, but successive blocks must be attached contiguously from there
      Blocks can be attached to EITHER of these spots, but not both
    • More Block Rules
      The Plane Rule
      A contiguous group of blocks in the same plane can originate anywhere but thereafter must grow from that point of origin
      If this entire face has been designated to add blocks to, A block may be added to ANY of the faces, but after the first addition, blocks must be added from that first block
    • The Rules in Action
      The Desired Shape
      The shape map does not specify that a block should be placed here
      Violates the plane rule
      Violates the row rule
    • The Rules in Action
      Following these rules will provably result in the reliable construction of any structure meeting these criteria
      There are no loops
      No more than two “couches”
      Kind of
      Any close parts
      Like a U shape
    • Back to Blocks
      • Seed block with 6 open faces
      • Add an additional block, now both blocks have 5 open faces
      • Faces with an attached block are designated as done
      • Add more blocks, the center four have 4 open faces and the outer blocks have 5 open faces
      • Add a block in another row and the blocks send signals informing other blocks that their faces are no longer open.
      • Faces that are not involved in the shape map are immediately designated as closed
      Faces are now “closed”
      Faces are now “corners”
    • Back to Blocks
      Each block maintains information about all 6 faces
      Each face maintains information on 3 state variables
      A plane “P” that is parallel to the face
      Two rows that extend out from where a block attached to the face would go
      Information and updates are only passed to blocks that are involved in the change of a particular row or plane to minimize communication traffic
      This is based on the blocks coordinates
      If all three state variables for a particular face are “open” or “corner” then a block may be attached to that face
    • The Cost of Communication
      Communication further than a single block is rare
      Only when the first block is placed in a new row is there a need to update more than just the neighboring blocks
      Communication time grows linearly with the size of the project
    • Enough About Blocks!
      A robot algorithm is required to place blocks in such a way that
      Every face is visited at least once
      Previously closed faces are re-visited
      Attempt to reduce communication costs
      Attempt to reduce robot movement costs (time)
      • Algorithms must me measured according to
      • Total distance travelled by all robots
      • The number of messages sent from blocks to robots
      • The number of messages sent from physically connected blocks
    • Robot Algorithms – Random Walk
      While the structure is not complete, bring a block to the structure
      If the current face is closed, randomly move to another adjacent face
      Repeat until block has been placed
      Go get another block
    • Robot Algorithms – Random Walk
      Guaranteed to finish (if left long enough)
      Requires little inter-block communication
      Extremely time intensive
      Requires more robot movement than the other algorithms
      Requires a lot of block-robot communication
    • Robot Algorithms – Systematic Search
      Robots move systematically along the perimeter of the structure
      Robots first move along the perimeter on a single plane
      If no open or corner face was found on that plane, the robot navigates to the next plane
      When the robot finds a face for the block, it will retrieve another block and return to the previous position to continue its new search
    • Robot Algorithms – Systematic Search
      Guarantees the structure will be complete
      Involves less revisiting of previously covered faces potentially reducing the required time
      Requires little inter-block communication
      Much more complicated algorithmically
      Requires more communication between block and robot
      Requires state memory on the Robot
    • Robot Algorithms – Gradient-Following
      When a robot with a block approaches the structure, the robot queries the block for the closest available open face
      The block provides the robot with a coordinate for the closest open face
      The robot navigates to the open face and attaches the block
    • Robot Algorithms – Gradient-Following
      Requires the least amount of total distance for the robots to travel
      Requires the least amount of communication between robot and block
      Requires increased inter-block communication
      Requires blocks to track gradient information
    • The Comparison
      D – Distance
      M1 – Block-Robot Communication
      M2 – Inter-Block Communication
    • How Many Robots?
      It depends…
      Size of the project
      Size and ability of the robot being used
      To many and they interfere with each other
      To few and time is wasted
      Depending on the Project
      Develop a density of how many robots should be working on the particular project according to how many open faces are available
      The more open faces on the structure, the more robots can be deployed
    • Conclusions
      Rules make programming simple
      Subdividing the problem into separate tasks handled by unique pieces makes life easier
      Future possibilities
      Include structures that are currently unavailable (loops, couches, etc)
      Specialized systems could require specialized rules that allow the row and plane rule to be less restrictive
    • Questions?