Professional Documents
Culture Documents
Alcherio Martinoli
sensors
microcontrollers
batteries
Action
Computation
Environment
Autonomy in Mobile Robotics
Human-Guided
Task Complexity Robotics
Swarm
Robotics
? Research
Autonomous
Robotics Industry
Autonomy
Different levels/degrees of autonomy:
• Energetic level
• Sensory, actuatorial, and computational level
• Decisional level
Background:
Swarm-Intelligent Systems
Swarm Intelligence Definitions
• Beni and Wang (1990):
– Used the term in the context of cellular automata (based on
cellular robots concept of Fukuda)
– Decentralized control, lack of synchronicity, simple and
(quasi) identical members, self-organization
• Bonabeau, Dorigo and Theraulaz (1999)
– Any attempt to design algorithms or distributed solving
devices inspired by the collective behavior of social insect
colonies and other animal societies
• Beni (2004)
– Intelligent swarm = a group of non-intelligent robots
(“machines”) capable of universal computation
– Usual difficulties in defining the “intelligence” concept (non
predictable order from disorder, creativity)
Swarm-Intelligent Systems: Features
Beyond bio-inspiration: combine natural
• Bio-inspiration
principles with societies
– social insect engineering knowledge
– flocking,
and shoaling in vertebrates
technologies
• Unit coordination
– fully distributed control (+ env. template)
– individual autonomy
– self-organization
• Communication
– direct local communication (peer-to-peer)
– indirect communication through signs in the
environment (stigmergy)
• Scalability
• Robustness
Robustness vs. efficiency trade-off
– redundancy
– balance exploitation/exploration
– individual simplicity
• System cost effectiveness
– individual simplicity
– mass production
Current Tendencies
• IEEE SIS-05
– self-organization, distributedness, parallelism,
local communication mechanisms, individual
simplicity as invariants
– More interdisciplinarity, more engineering,
biology not the only reservoir for ideas
Common metrics
= ∑ W (n | n′, t ) N n′ (t ) − ∑ W (n′ | n, t ) N n (t )
dt n′ n′
Ss Sa
Abstraction
Macroscopic: rate equations, mean
field approach, whole swarm
Ss Sa Microscopic: multi-agent models,
Ss Sa
Ss Sa only relevant robot feature captured,
1 agent = 1 robot
Experimental time
Realistic: intra-robot (e.g., S&A)
and environment (e.g., physics)
details reproduced faithfully
Caste 1 Caste n
Sa Sb
… Sa Sb
… …
O11 O1p Oq1 Oqr
Ss Sa
Sa Sb Type 1
Environment (PFSM)
Type q
Macroscopic Level (2)
If Markov properties are fulfilled, this is what we are looking for:
dN n (t )
= ∑ W (n | n′, t ) N n' (t ) − ∑ W (n′ | n, t ) N n (t ) Rate Equation
dt n′ n′
(time-continuous)
inflow outflow
n, n’ = states of the agents
Nn = average # of robots in state n at time t
W = transition rates (linear, nonlinear)
Start Start
ps
Search Avoidance Search Avoid., τa
ps
Ss Sa τa
Obstacle? Obstacle?
ppa
N Y 1-pa a
Search pa Avoidance, Ta
Na(k+1) = N0 – Ns(k+1)
Search pa Avoidance, Ta
Na(k+1) = N0 – Ns(k+1)
Nrobots ≤ Nsticks
• 6 states: 5 DE + 1 cons. EQ
• Ti,Ta,Td,Tc ≠ 0; Τxyz = Τx + Τy + Τz
• TSL= Shift Left duration
• [Martinoli et al., IJRR, 2004]
Swarm Performance Metric
Collaboration rate: # of sticks per time unit
+ pg1[M0 – Ng(k-Τg)]Γ(k;0)Ns(k-Tg)
N0 2
∃ T opt
for ≤
M 0 1 + Rg
g
~ 1
Example: Rg = Rg (collaboration very difficult)
10
Optimal Gripping Time
• Steady-state analysis → Tgoptcan be computed analytically in
the simplified model (numerically approximated value):
β
1− (1 + Rg )
1 2 2
T opt
= ln for β ≤ βc =
g
N0 β 1 + Rg
ln(1 − p g1Rg
) 1−
2 2
with β = N0/M0 = ratio robots-to-sticks
opt
• Tg can be computed numerically by integrating the full
model ODEs or solving the full model steady-state equations
Object Aggregation
Collision time
Model Calibration - Practice
Encountering probability pa: example of transition in space from
search to obstacle avoidance (1 moving Alice, 1 dummy Alice,
Webots measurements, egocentric)
1000
500
0
4 6 8 10 12 14 16 18 20
Number of robots
Machine-Learning-Based
Approach
wij
Oi = f ( xi )
synaptic 2
weight f ( x) = −x
−1
Ij 1+ e S8 S7
m
xi = ∑ wij I j + I 0
input
inhibitory conn.
j =1 excitatory conn.
Note: In our case we evolve synaptic weigths but Hebbian rules for dynamic
change of the weights, transfer function parameters, … can also be evolved
Evolving Obstacle Avoidance
(Floreano and Mondada 1996)
Defining performance (fitness function):
Φ = V (1 − ∆V )(1 − i )
• V = mean speed of wheels, 0 ≤ V ≤ 1
• ∆v = absolute algebraic difference
between wheel speeds, 0 ≤ ∆v ≤ 1
• i = activation value of the sensor with the
highest activity, 0 ≤ i ≤ 1
Note: Fitness accumulated during evaluation span, normalized over number of control
loops (actions).
Evolving Robot Controllers
Note:
Controller architecture can be
of any type but worth using
GA/PSO if the number of
parameters to be tuned is
important
Evolving Obstacle Avoidance
Evolved path
Fitness evolution
Evolved
Obstacle Avoidance Behavior
Generation 100, on-line,
off-board (PC-hosted)
evolution
• Collective: fitness
become noisy due to
partial perception,
independent parallel
actions
Credit Assignment Problem
With limited communication, no communication at all, or partial perception:
Co-Learning Collaborative Behavior
Three orthogonal axes to consider (extremities or balanced solutions are possible):
• Individual and group fitness
• Private (non-sharing of parameters) and public (parameter sharing) policies
• Homogeneous vs. heterogeneous systems
fitness f1 ≠ fitness f2
Learning to Avoid Obstacle
using Noise-Resistant
Algorithms
Idea: more robots more noise (as perceived from an individual robot); no
“standard” com between the robots but in scenario 3 information sharing
through the population manager!
Scenario 3
Three orthogonal axes to consider (extremities or balanced solutions are possible):
• Individual and group fitness
• Private (non-sharing of parameters) and public (parameter sharing) policies
• Homogeneous vs. heterogeneous systems
Fair test:
idem as
previous
slide
Learning to Pull Sticks
1.2 1.2
Stick−pulling rate (1/min)
0.8 0.8
0 0
0 100 200 300 400 500 600 0 100 200 300 400 500 600
Initial gripping time parameter (sec) Initial gripping time parameter (sec)
1.2
1.15
Specialized teams
1.1
1.05
Homogeneous
1
2 3 4 5 6
teams (baseline)
Number of robots
Note: this would be in particular useful when the number of tasks to be solved is
not well-defined or it is difficult to assess the task granularity a priori. In such
cases the mapping between task granularity and caste granularity might not trivial
(one-to-one mapping? How many sub-tasks for a given main task, etc. see the
limited performance of a caste-based solution in the stick-pulling experiment)
Sample Results in the Standard Sticks
• 2 serial grips needed to get the sticks out
• 4 sticks, 2-6 robots, 80 cm arena
Relative
Performance Diversity Specialization
• Spec more important for • Flat curves, difficult to tell • Specialization higher with
small teams whether diversity bring global when needed, drop
• Local p > global p performance more quickly when not
• enforced caste: pay the needed
price for odd team sizes • Enforcing caste: low-pass
filter
Remarks on the Standard Set-Up Results
Symbiotic societies
Traffic systems Social insects
?
Networks of S&A
Vertebrates
Multi-robot systems
Pedestrians
Embedded, Real-Time SI-Systems:
Common Features
• Real-world systems (noise, small heterogeneities, …)
Common metrics
Abstraction
Microscopic 1: spatial 2D
montecarlo simulation, multi-agent
models, 1 agent = 1 node
Ss Sa
Ss Sa Microscopic 2: nonspatial 1D
Ss Sa
Experimental time
montecarlo simulation, multi-agent
models, 1 agent = 1 node
Realistic: intra-node details and
communication channel
reproduced faithfully (Webots with
Omnet++ plugin)
Common metrics
Nj (k +1) = Nj (k) + pr Ns (k) j ⎡⎣ pjoin ( j −1)Nj−1(k) − pjoin ( j)Nj (k)⎤⎦
Abstraction
−pleave ( j)Nj (k) j + pleave ( j +1)Nj+1(k) j Macroscopic: rate equations, mean
field approach, whole swarm
Ss Sa Microscopic: multi-agent models, 1
Ss Sa
Ss Sa agent = 1 robot or cockroach; similar
description for all nodes
Experimental time
Realistic: intra-robot details,
environment (e.g., shelter, arena)
details reproduced faithfully;
cockroaches: body volume +
animation
Common metrics
(law of mass action)
Macroscopic 2: Reactions kinetics describes how a
Abstraction
reaction occurs and at which speed (differential
equations)
Ss Sa
Ss
Ss
Sa
Sa
Microscopic 1: Agent-Based model, molecules
geometry abstracted, 1 agent = 1 aggregate
Experimental time
Microscopic 2: Agent-Based model, molecules
2D- and 3D geometry captured, 1 agent = 1
aggregate
Common metrics
TBD Macroscopic: rate equations, mean
Abstraction
field approach, whole swarm?
Microscopic: multi-agent models, 1
agent = 1 blimp; trajectory
maintained, visualization with
Webots
Experimental time
Realistic: intra-robot details,
environment simplified (no
realistic fluid dynamics yet)