Self-Reconfigurable Robots
Download
Report
Transcript Self-Reconfigurable Robots
Self-Reconfigurable Robots
Reconfiguration Algorithms
Lei Wei
[email protected]
12/05/2006
Reconfigurable Robot– A Brief Review
A self-reconfigurable modular robotics system
comprises of a collection of homogeneous modules
that can connect, disconnect, and move around
adjacent modules.
What is a reconfiguration plan?
A reconfiguration plan is a sequence of module motions that
changes the shape of the system from a start configuration to
a goal configuration while enforcing constraints such as
avoiding collision and maintaining connectivity.
When we need reconfiguration?
Obstacle avoidance in highly constrained
and unstructured environments
“Growing” structures composed of
modules to form bridges, buttresses, and
other civil structures in times of
emergency
Primary design goal
To allow the robot to assume any
geometric shape
Applications
Robot could match its geometric
structure to the shape of the surrounding
terrain for versatile locomotion.
To realize self-repair
Two basic types of self-reconfiguring
system:
Heterogeneous:
the modules may be different
Homogeneous:
all the modules are identical
Crystalline Atoms
Identical robot modules
Actuated by expansion and contraction
Each module is an atom, each connector a bond,
group of atoms are crystals
Physical Prototype
Physical Prototype (Cont’d)
Physical Prototype (Cont’d)
When fully contracted, the Atom
occupies a square with a 2 inch side.
When fully expanded, the Atom occupies
a square with a 4 inch side.
By manipulating the size of the Atom, it
is possible to approximate any finite sold
shape to an arbitrary precision.
Physical Prototype (Cont’d)
Crystalline robot systems are dynamic
structures:
They can move using sequences of
reconfigurations to implement locomotion
gaits
They can undergo shape metamorphosis
Primitive Operations for Crystal Modules
Expand <atom> <dimension>
Contract <atom> <dimension>
Compress an expanded atom
Bond <atom> <dimension>
Expand a compressed atom
Activate one of the atom’s connectors to bond
with a neighboring atom
Free <atom> <dimension>
Deactivate one of the atom’s connectors to break
a bond with a neighboring atom
Revisit “inchworm gait”
Use of these primitives for generating a
linear locomotion algorithm
Another view of the primitives
Basis for Self-Reconfiguration
As mentioned before, the primary design
goal for a self-reconfiguring robot is to
allow the robot to assume any geometric
shape in a dynamic fashion.
How can we guarantee a unit modular
robotic system can reconfigure itself?
Requirements for self-reconfiguration
Structure Formation:
groups of modules can be assembled into arbitrarily
shaped rigid structures.
Ensures any geometric structure can be aggregated
from some collection of modules.
Module relocation:
in every structure composed of unit modules, some
unit module can be relocated to each location on the
surface of the structure without human intervention.
Provides for shape metamorphosis in a general way:
From starting structure S to goal G incrementally.
Why Crystalline Modules?
Crystalline Atoms can be packed tightly approximate
any three dimensional structure. By manipulating the
size of the Atom, we can use this to represent any
solid geometric shape to an arbitrary precision.
How to implement relocating a Module on a Crystal?
Module Relocation on Convex
Structure
Unlike other proposed unit modules(Yim,1993;Murata et
al.,1994,1998;Pamecha et al.,1996;Kotay and
Rus,1998,1999)which can relocate only by traveling on the
surface of a structure, Crystalline Atoms can be relocated by
traveling through the volume of a Crystal.
An Atom can be relocated in constant time on any convex
structure.
Module Relocation on non-convex
Structure
When the Crystalline robot structure is
non-convex, a similar algorithm effects
the module relocation operation in O(k)time, where k is the number of concave
angles in the structure.
A planner for Shape Metamorphosis
Given a pair of Crystals (S,G), each
composed of n Atoms, a planner finds a
feasible reconfiguration plan P that
transform S into G.
A reconfiguration plan P is a partially
ordered sequence of Atom primitive
operations.
The Melt-Grow Algorithm--At a Glance
Notation: S is the starting Crystal
G is the goal Crystal
I is the intermediate Crystal
Input: S, G
Melt-Grow: Melt S into I
Grow G out of I
Melt-Grow Planner (Continued)
Centralized planning algorithm
Run in O(n^2) time, where n is the number of
Atoms in the Crystal
Trades optimality for simplicity
Works on a useful subset Grain(4) of Crystals
Grain(n) Class of Crystals
Contains all crystals that can be tiled by
cubic (or square, in 2D) blocks of Atoms
of side-length n
The set of planes( or edges, in 2D) that
coincide with all sides of all blocks
intersect only at block edges and corners
Each block of Atoms is a Grain
Grain(4) example
A 2D Crystal in
Grain(4)
A 2D Crystal not in
Grain(4) because
the bottom grain is
not aligned with
the top ones
Why use Grains?
Moving atoms requires other Atoms to
act as “helpers”
Using Grains ensures that helper Atoms
are always available
Expansion and contraction operation
now act on a whole face of the Grain at
one time
Grain Motion Primitives
Scrunch
Relax
Move a compression at one face of a Grain into the adjacent
neighbor Grain
Propagate
Expand a compression at one face of a Grain
Transfer
Create a planar compression in a mobile Grain at one of its
faces
Move a compression at one face of a Grain to the opposing face
of that Grain
Convert
Relocate a compression at one face of a Grain to one of the
orthogonal faces of that Grain
Two Goals of these primitives
They can assembled into linear
sequences to effect Grain relocation
Two Goals of these primitives
(Cont’d)
The second Goal
All the 5 primitives all always feasible
Each primitive maintains 3 invariants:
The moving Grain remains internally connected
The Atoms in the moving Grain never crash
There is some connected path from some Atom
in every neighboring Grain, through the moving
Grain, to some Atom in every other neighboring
Grain
The Melt-Grow Planner
Melt algorithm
Melt works by finding a mobile Grain g in S,
transporting g to a place in I, and repeating
until all Grains are in I.
Grow algorithm
Grow works by selecting mobile Grains from
I and transporting them to locations in G
until all Grains are in G
Why use an intermediate Crystal?
To help maintain stability during
reconfiguration in situations where
gravity is present
To simplify the selection of mobile Grains
A Grain is mobile iff it can be removed
without disconnecting the Crystal
Revisit example of Melt-Grow algorithm
S
I
G
An Example Simulated Preplanned
Reconfiguration (Dog to Couch)
An Example Simulated Preplanned
Reconfiguration (Dog to Couch)
Potential Applications and Drawbacks
Ability to adapt would allow such a robot
system to maneuver around, through, or
over a wide degree of obstacles
Could navigate through narrow or
awkward passage ways
Seems suitable only for tasks that do not
require rapid movement
Potential Applications and Drawbacks
(Cont’d)
The reconfiguration planning proposed is
a centralized algorithm requiring a
controller to know status of the entire
system
The reconfiguration algorithm trades
optimality for simplicity
How to achieve optimal plan?
We need to define what the optimal
means.
Optimality for reconfiguration strategies
can be measured in different ways:
Minimizing the number of module moves
Minimizing time for reconfiguration
Minimizing energy consumption during
reconfiguration
Lattice Kinematics
See the white board
Lattice metric: denoted by L (a, b)
where a and b are lattice points.
If the robot system is composed of square
modules, distance between modules would
be given by the Taxicab/Manhattan metric.
General Formulation of
Reconfiguration Problem
The Kinematics constraints governing
the motion:
Modules can only move into spaces which
are not already occupied.
Every module must remain connected to at
least one other module.
A single module may only move one lattice
space per timestep.
General Formulation of
Reconfiguration Problem (Cont’d)
Under those constraints, the reconfiguration
problem becomes:
Determination of the sequence of module
motions from any given initial configuration to
any given final configuration in a preferably
minimal number of moves.
In order to solve this problem, a concept of
distance between configurations is needed.
Defining Distance Between
Configurations
Let the present configuration of the robot be
described by the set of modules A. And Let the
new configuration be defined by the set B.
One possible configuration metric:
1
( A, B)
0
(1)
C
A B
AB
Another is the Overlap metric:
C( 2) ( A, B) n | A B |
Optimal Assignment Metric
The optimal assignment metric ( A, B) between
two configurations A and B is given by an
optimal assignment of each element in A to an
element in B, such that the sum of the
distances between modules for the
assignment is minimized.
Equivalently, this can be represented as
finding a minimum weight matching in a
bipartite graph.
(3)
C
Optimal Assignment Metric (Cont’d)
Let’s formalize the problem:
ai b j
1
mij
0
dij L (ai , b j ) is
otherwise
the lattice distance between
module a i and b j
Optimal Assignment Metric (Cont’d)
An arbitrary assignment will have an
associated cost function:
With the constraints:
Optimal Assignment Metric (Cont’d)
Finally, we can define:
is the set of all possible assignments
and is equivalent to the set of
permutations of module labels.
An Example
Fig (a) shows the present configuration of a six
module robot. (b) shows the new configuration and (c)
shows a labeling of the modules in the two
configurations
Complexity of the Problem
For any number of modules n, the
number of connected configurations
possible appears to be exponential in n.
We have to look for heuristics which can
give a near optimal solution.
References
1.
2.
3.
4.
Daniela Rus and Marsette Vona, Crystalline Robots: SelfReconfiguration with Compressible Unit Modules, Autonomous
Robots,2001
Kotay,K., Rus,D.,M., and McGray,C., The Self-reconfigurable
robotics molecule. In Proceedings of the 1998 International
Conference on Robotics and Automation
Kotay,K., Rus,D.,M., and McGray,C., The Self-Reconfiguring
robotic molecule: Design and Control algorithms. In the 1998
Workshop on Algorithmic Foundations of Robotics.
Kotay,K., Rus,D.,1998. Motion synthesis for the selfreconfiguring robotic module. In proceedings of the 1998
International Conference on Intelligent Robots and Systems.
References
5.
6.
7.
8.
Kotay,K. and Rus, D. 1999. Locomotion versatility through
self-reconfiguration. Robotics and Autonomous Systems.
Yim, M.1993. A reconfigurable modular robot with multiple
modes of locomotion. In Proceedings of the 1993 JSME
Conference on Advanced Mechatronics, Tokyo, Japan.
Murata,S., Kurokawa,H.,and Kokaji,S. 1994. Self-assembling
machine. In Proceedings of the 1994 IEEE International
Conference on Robotics and Automation, San Diego.
Murata,S.,Kurokawa,H.,Yoshida,E.,Tomita,K., and Kokaji, S.
1998. A 3-D self-reconfigurable structure. In proceedings of the
1998 IEEE International Conference on Robotcs and
Automation, Leuven.
References
9. Pamecha,A.,Chiang,C.-J.,Stein,D., and Chirikjian,G.1996. Design
and implementation of metamorphic robots. In proceedings of the
1996 ASME Design Engineering Technical Conference and
Computers in Engineering Conference, Irvine,CA
10. A.Pamecha, I. Ebert-Uphoff, and G. Chirikjian, Useful metrics for
modular robot motion planning, in IEEE Transactions on Robotics
and Automation. Vol.13, 1997.