Genetic and developmental computing architectures: Modular robotics, Lecture 3 - PowerPoint PPT Presentation

1 / 83
About This Presentation
Title:

Genetic and developmental computing architectures: Modular robotics, Lecture 3

Description:

Each module keeps a number in its memory representing the strength of the scent at its location. ... If in SLEEP mode, if regular scent is detected, go to SEARCH mode. ... – PowerPoint PPT presentation

Number of Views:63
Avg rating:3.0/5.0
Slides: 84
Provided by: ijsp
Category:

less

Transcript and Presenter's Notes

Title: Genetic and developmental computing architectures: Modular robotics, Lecture 3


1
Genetic and developmental computing
architecturesModular robotics, Lecture 3
Auke J. Ijspeert Biologically Inspired Robotics
Group (BIRG) Swiss Federal Institute of
Technology, Lausanne
30 January 2006
2
Content of lecture 3 control of reconfiguration
  • Overview of challenges
  • Metrics
  • Centralized planning approach
  • Decentralized approaches
  • Growing rules
  • Cellular automata

3
Challenges
  • Reconfiguration a sequence of moves,
    attachment, and detachments for changing a
    structure A into a structure B
  • Note the previous lecture only covered sequences
    of moves for locomotion (not attachments and
    detachments)

4
Challenges
  • Finding the right and shortest sequences of
    moves, attachments and detachments is very hard
    because
  • The number of options to explore is usually huge
    (grows exponentially), and systematic exploration
    is not feasible
  • The moves must be valid, e.g. avoid inter-module
    collisions, avoid splitting the system in
    different parts, respect torque-limit
    constraints,
  • Therefore heuristics are needed for searching
    good solutions
  • Ideally, the approach should be decentralized and
    use a limited amount of computation and
    intermodule communication

5
Challenges
  • In todays lecture we will review four articles
    that address these challenges
  • A theoretical paper on metrics
  • A paper presenting a centralized planning
    approach
  • And two papers presenting decentralized
    approaches

6
Content of lecture 3 control of reconfiguration
  • Overview of challenges
  • Metrics
  • Centralized planning approach
  • Decentralized approaches
  • Growing rules
  • Cellular automata

7
Metrics
  • Metrics are very important for quantatively
    measuring how different one configuration is from
    the other
  • Interesting article Useful Metrics for Modular
    Robot Motion Planning, Pamecha et al, IEEE
    Transactions on Robotics and Automation, VOL. 13,
    NO. 4, 1997, pp 531-545

8
Metrics
  • Metrics for two-dimensional systems

9
Metrics
  • Possible application creating arbitrary
    structures, e.g. for encapsulating dangerous
    materials

10
Metrics
Metrics for two-dimensional configurations a
quantitative measure of the difference between
two configurations
Difference?
Note the paper assumes that the total number of
modules n is a constant
11
Metrics
12
The discrete metric
  • Trivial example the discrete metric
  • The distance between two configurations is zero
    if the two configurations are identical,
    otherwise it is one.
  • Example

13
The overlap metric
  • Another example the overlap metric
  • The distance between two configurations is the
    number of modules that do not overlap between the
    two configurations (n is the number of modules).
  • Example

14
The overlap metric
  • In other words, the overlap metric tells you the
    number of modules that need to be moved to go
    from one configuration to the other.
  • The overlap metric is useful but it does not tell
    how many moves need to be made to change one
    configuration into the other.

15
The minimal-number-of-moves metric
  • Another example the minimal-number-of-moves
    metric
  • Where Mmin is the fewest moves needed to go from
    A to B
  • Example

16
The minimal-number-of-moves metric
  • The minimal-number-of-moves metric is a very
    useful metric since it is directly provides the
    information needed to make optimal
    reconfigurations
  • Unfortunately it has no representation other than
    explicitly solving a computationally explosive
    problem and recording the sum of moves which is
    minimal.
  • This is not practical in most applications

17
The optimal assignment metric
  • Another example the optimal assignment metric
  • Where f is the cost function of an assignment
    between A and B

18
The optimal assignment metric
  • Example of different assignments
  • Intuitively the second assignment is better

19
The optimal assignment metric
  • An assignment is determined by the variable mij,
    which is 1 if the module ai is assigned to module
    bj, and 0 otherwise.
  • It is given a cost dij which is the lattice
    distance between module ai and bj.
  • Hence the cost function for a given assignment
  • The optimal assignment metric is the minimal cost
    of all possible assignments

20
The optimal assignment metric
  • The optimal assignment metric can be computed
    with several algorithms, e.g. the Hungarian
    algorithm
  • The computational cost is far less than for the
    minimal-number-of-moves metric

21
Combining metrics
  • Interestingly, metrics can be combined and still
    form metrics.
  • Indeed
  • A possible interesting metric combines the
    overlap metric and the optimal assignment metric,
    the combined metric

22
Testing metrics
  • The authors tested these different metrics using
    a simulated annealing (SA) algorithm
  • A SA is a stochastic algorithm that finds a
    (local) minimum of a function (here a metric)
  • It uses a process similar to a heated metal that
    is slowly cooled down into a specific shape
  • It is used by the authors to evaluate which of
    the metrics performs best with three different
    problems

23
Problem 1
  • Results
  • Overlap metric performs poorly
  • Optimal-assignment metric and combined metric
    perform (equally) well

24
Problem 2
  • Results
  • Overlap metric performs poorly
  • Optimal-assignment metric and combined metric
    perform (equally) well

25
Problem 3
base
obstacle
  • Results
  • Overlap metric performs very poorly
  • Optimal-assignment metric performs OK
  • Combined metric performs best

26
Metrics summary
  • Defining metrics is very important for
    quantatively measuring how different one
    configuration is from the other
  • There are multiple different metrics available,
    but they are not all good for finding the
    shortest number of moves for the reconfiguration
  • On the particular problems tested, the optimal
    assignement metric and the combined metric
    systematically produce better results than the
    optimal overlap metric.

27
Content of lecture 3 control of reconfiguration
  • Overview of challenges
  • Metrics
  • Centralized planning approach
  • Decentralized approaches
  • Growing rules
  • Cellular automata

28
Planning-based approach
Article A self-reconfigurable modular robot
reconfiguration planning and experiments, E.
Yoshida et al, The International Journal of
Robotics Research, 2002. The article presents a
method for continuously reconfiguring a group of
MTRAN modules in order to do locomotion It is a
centralized planning-based approach
29
Planning
  • The method is designed for the MTRAN II modules
  • Each module has two servo motors with aligned
    axis
  • The modules can attach to each other on a regular
    orthogonal grid of size a.
  • Constraint each module has one active part and
    one passive part, and only passive-action
    connection are feasible

a
movie
30
Planning
  • The planner will use three types of atomic
    motion
  • pivot motion,
  • forward-roll motion and
  • mode conversion.

31
Atomic motion Pivot motion
Note it is assumed that the environment, i.e.
the grid, has active and passive connectors
Attached to grid
32
Atomic motion Forward-role motion
33
Atomic motion Mode conversion
34
Planning
  • The goal of the planning algorithm is to enable
    of group of modules to trace a 3D trajectory in
    the lattice grid.
  • The desired 3D trajectory is provided.
  • Example

35
Planning
  • The planning algorithm simplifies the
    problem by doing the planning
    for 4-module blocks
  • A block is useful because it is the smallest
    group of modules that has an isotropic shape that
    can be connected at any of its faces.
  • This isotropic geometry enables one to easily
    configure various sizes of 3D structures and to
    maintain the connectivity of all the modules in a
    cluster composed of these blocks.
  • This block also has the advantage that it is
    simple to plan a global motion along a 3D
    trajectory.

36
Planning
  • In addition to blocks, the planning algorithms
    will use converters a couple of modules that
    have different rotation axis directions
  • The converter modules are used to change the
    direction of the rotation axis of the modules in
    the chain cluster.

2 converter modules
3 blocks
37
Planning
  • Goal of the planning algorithm
  • Given the block-based trajectory of locomotion as
    the input, the motion of each module must be
    planned.
  • Difficulties
  • The modules non-isotropic geometrical
    properties make it difficult to obtain the motion
    sequence in a straightforward manner.
  • 3D motion usually requires a combined
    cooperative motion sequence with other
    surrounding modules.
  • The cooperative motion sequence must be
    carefully chosen in each individual local
    configuration to avoid collisions between modules
    or loss of connectivity during the motion.

38
Planning
  • The authors propose a two-layered motion planner
    consisting of
  • the global flow planner and
  • the local motion scheme selector.
  • The global flow planner searches possible module
    paths and motion orders to provide the global
    cluster movement, called flow, according to the
    desired trajectory.
  • The local motion scheme selector verifies that
    the paths generated by the global planner are
    valid for each member module of the block
    according to the possible motion orders, by
    repeatedly applying rules from the database.

39
Planning
40
Example
41
Global flow planner
  • The global flow planner is designed for serial
    clusters composed of four-module cubic blocks.
  • It computes the motion of a block such that the
    tail block is transferred toward the given
    heading direction.
  • The motion of a block is done by sending
    individual modules towards destination positions
    (mainly with forward-role motions).
  • For each module, the global flow planner will
    produce different possible paths towards
    different possible target positions
  • The motion scheme selector will decide which one
    is chosen

42
Example of different possible paths
43
Motion scheme selector
  • The motion scheme selector
  • Checks that paths proposed by the global flow
    planner are feasible (e.g. checks that all
    modules remain connected, and that collisions are
    avoided)
  • It generates all the moves and cooperative moves
    necessary (e.g. movement of other modules to
    rotate the moving module) using a database of
    possible local reconfigurations
  • The database has 30 hand-coded if-then rules
  • It computes which of the possible paths require
    the lowest number of moves

44
Planning
  • Example of a rule for the local reconfiguration

45
Results example
46
Results example
47
Results example
48
Planning summary
An approach using planning algorithms for
reconfiguration The approach is centralized,
i.e. there is a master doing all the computation
and telling modules what to do. Two-layered
approach one global flow planner for blocks, one
planner for local moves (the motion scheme
selector) The method allows continuous
reconfiguration for locomotion Can be adapted for
other reconfiguration tasks by modifying the
global flow planner
49
Content of lecture 3 control of reconfiguration
  • Overview of challenges
  • Metrics
  • Centralized planning approach
  • Decentralized approaches
  • Growing rules
  • Cellular automata

50
Growing rules
  • Creating modular robotic structures with growing
    rules
  • Emergent Structures in Modular Self-reconfigurable
    Robots, H. Bojinov, A. Casal, T. Hogg,
    Proceedings of the 2000 IEEE International
    Conference on Robotics Automation (ICRA2000)
  • Motivation
  • it is sometimes difficult to know in advance the
    desired final structure of the modular robotic
    system.
  • E.g. it can be difficult because the environment
    is complex and stochastic
  • It is sometimes easier to determine desirable
    properties.

51
Growing rules
  • The paper uses Proteo modules in the shape of a
    rhombic dodecahedron, a three dimensional shape
    (polyhedron) with 12 identical sides in the shape
    of a rhombus.
  • The simulated proteo module moves by rotating
    around edges
  • The shape is useful to make dense structures
    movie

52
Growing rules
  • Idea
  • Determine a set of growing rules which lead to
    desirable properties, not a specific structure
  • Concepts used in the approach
  • Growth the process that influences the motion of
    modules and the creation of structures
  • Seeds modules that attract other modules in
    order to grow structures
  • Scents signals that are transmitted between
    modules.
  • Modes the mode of a module is its present
    finite-state machine state. Possible modes
    include sleep, seed, search, node, and final.

53
Growing rules
  • Transmission of scents
  • scent signals are transmitted between modules.
  • Each module keeps a number in its memory
    representing the strength of the scent at its
    location.
  • At each time step, modules look at their
    neighbors and update this number to be the
    minimum value plus one.
  • Scent values are therefore an approximation of
    the distance to a scent-emitting module.
  • Experiments typically use one or two different
    scents

54
Example Growing Chains
  • All modules are initially in SLEEP mode except
    one that is randomly set to SEED.
  • Control rules for each module
  • If in SLEEP mode, if a scent is detected, go to
    SEARCH mode.
  • If in SEARCH mode, propagate scent and move along
    scent gradient.
  • If in SEED mode, emit scent, and if a module has
    appeared in the direction of growth, set that
    module to SEED mode, and go to FINAL mode.
  • If in FINAL mode, propagate scent.

55
Example growing chains
56
Example Growing Recursive Branching
  • All modules are initially in SLEEP mode except
    one that is randomly set to NODE.
  • Control rules for each module
  • If in SLEEP mode, if regular scent is detected,
    go to SEARCH mode.
  • If in SEARCH mode, propagate both scents and move
    along the regular scent gradient.
  • If in SEED mode, propagate the node scent, and
    emit a regular scent if there is a neighboring
    module in the direction of growth of the branch,
    set that module to be a seed, and go to FINAL
    mode.
  • If in FINAL mode, propagate both scents if the
    node scent is weak (high value), go to NODE mode.
  • If in NODE mode, emit both scents, spawn seeds in
    random directions, until a certain count is
    reached, then go to INODE mode.
  • If in INODE mode, emit a node scent and propagate
    the regular scent.

57
Example Growing Recursive Branching
These type of structures are useful to create
limbed robots, or hands, etc. Note humans show
only two levels of branching (limbsfingers), but
sometimes having more could be useful
58
Growing rules
  • Other examples lattice behavior

59
Growing rules
  • Other examples Sponge structures

60
Growing rules
  • Grasping an object

61
Growing rules grasping an object
  • Initially all modules are in SLEEP mode, except
    for eight modules that are set to SEED mode (to
    create eight branches to grow toward the object).
  • Two types of seeds are used SEED modules, and
    TOUCHSEED modules.
  • Initially growth is caused by SEED modules, but
    once the object is reached, seeds transfer to the
    TOUCHSEED state. The two types of seeds allow
    modules in SEARCH mode to know whether to grow in
    the direction of the object (to reach it) or to
    grow the structure around the object (to grasp
    it).
  • The modules are assumed to know the approximate
    direction to the object and to have contact
    sensors to detect when the object has been
    reached.

62
Growing rules
  • Note the system grasps the object despite the
    fact that has no knowledge of the exact direction
    of the object, how far it is, or what shape and
    size it has.

63
Growing rules
  • Dynamically adapting to external forces
  • Scents for growing legs (and switches to disband
    mode) are generated depending on load sensors.
  • The system can adapt to slowly varying weight
    shifts

64
Growing rules summary
  • Use of local rules to grow structures
  • No global planning, it is a decentralized method
  • Rules are designed for generating desirable
    properties
  • Desired configuration is not explicitly defined
  • Stochastic process
  • Requires insights for designing the local rules,
    no well defined methodology
  • An optimization algorithm (e.g. a GA) could be
    used for designing the rules
  • Constraint all modules need to remain connected
    all the time
  • Since only local information is used, there is a
    risk of getting stuck in suboptimal structures

65
Content of lecture 3 control of reconfiguration
  • Overview of challenges
  • Metrics
  • Centralized planning approach
  • Decentralized approaches
  • Growing rules
  • Cellular automata

66
Reconfiguration with Cellular automatas
  • Controlling Self-reconfiguration using Cellular
    Automata and Gradients, K. Stoy, proceedings of
    IAS8, 2004
  • Two-step process
  • Generate a CA representation from a CAD model of
    the desired configuration
  • Do the self-reconfiguration process using local
    interactions and local communication about
    gradient information

67
Reconfiguration with CAs example
Light gray Wandering mode
Dark gray Final mode
Black Seed mode
Movie
68
Cellular automata
  • The basic module has the shape of a cube
  • It can connect to neighbors on any facet
  • It can sense for each facet if the is a neighbor
    or not
  • It can communicate with neighbors (exchange
    information about states and gradients)
  • It is capable of sliding along the facets of
    other cubes
  • The whole system is assumed to be in a
    gravity-free environment or to have one fixed
    element (the first seed)

69
Cellular automata
  • Example of motion

70
Cellular automata
  • Example of motion

71
Cellular automata
  • Example of motion

72
Cellular automata
  • Transforming a CAD model of the desired
    configuration into a cellular automata
  • Use a special scaffold structure that can fill
    the desired shape without dead-ends
  • Note that this creates only an approximation of
    the structure (e.g. it has many holes)

73
Cellular automata
  • Transforming a CAD model of the desired
    configuration into a cellular automata
  • The structure is approximated with a complete set
    of modules
  • Modules are removed such that an approximate
    structure can be constructed with a chain of
    scaffolds
  • Each module i is assigned a unique number s(i)
  • For each neighboring pair of modules i, j a rule
    is generated. This rule is of the form if the CA
    of the module in direction i to j is in state
    s(j) then this CA should change to state s(i).

74
Cellular automata
  • Example
  • Each module has the complete CA rule table
  • Modules can be in different modes wandering,
    seed, and final
  • All modules start in the wandering mode, except
    one which is in the seed mode.

75
Cellular automata
  • The self-reconfiguration algorithm has three
    components
  • a state propagation mechanism,
  • a mechanism to create gradients in the system,
    and
  • a mechanism for moving the modules.

76
Cellular automata
  • The state propagation mechanism
  • Initial random configuration
  • One arbitrary module becomes a seed is given a
    state number randomly chosen from the set s(i)
  • Neighbor modules change their state according to
    the CA rules
  • If neighbor modules are missing, the seed module
    attracts a wandering module with a gradient
    signal
  • This module will act as a new seed.
  • A module stops acting as a seed when all the
    neighbor relationships, described by the cellular
    automaton rules, are satisfied. It is then in
    final mode.

77
Cellular automata
  • Creating a gradient using local information
  • A seed module sends out a constant integer (the
    concentration of an artificial chemical) to all
    its neighbors.
  • A receiving module calculates the concentration
    of the artificial chemical at its position by
    taking the maximum received value and subtracting
    one.
  • This value (as well as the direction towards
    climbing the gradient) is then propagated to all
    neighbors and so on.
  • When the concentration reaches zero the gradient
    is not further propagated.
  • This means that the source can decide the range
    of the gradient.

78
Cellular automata
  • Mechanisms for moving the modules
  • Wandering modules climb the vector gradient to
    reach unfilled positions.
  • Thanks to the scaffold desired structure, there
    are no local optima (i.e. no dead-ends)
  • Note, the wandering modules cannot move
    independently of each other, because they depend
    on each other for connection to the robot. There
    is a risk of splitting the system in different
    parts.
  • The problem can be avoided by following these
    rules

79
Results
  • This algorithm was tested with different initial
    and final configurations
  • It converged systematically to the final
    configurations
  • The number of moves to reach the final
    configuration is reasonable
  • Not significantly more than the theoretical
    minimum

80
Results
81
Results
Movie of a complex example
82
Cellular automata summary
  • This approach allows the generation of specific
    desired structures, with only local interactions
    and local communication. It is a decentralized
    approach.
  • The system converges because of how the CA is
    encoded (no possible dead-ends), and the number
    of moves is reasonable
  • The CA rule table can be quite large (up to
    62N), i.e. modules should have enough memory
  • The system is meant to generate one particular
    structure, not to switch from one to another

83
End of this lecture
Write a Comment
User Comments (0)
About PowerShow.com