[B5]
Heiko Hamann
Swarm Robotics: A Formal Approach
ISBN 978-3319745268, Springer, March 2018 (in preparation)


springer.com
amazon.com


Given the increasing number of sophisticated robots sharing our lives,
the study of how large number of robots, so-called robot swarms,
interact among themselves and with fellow humans to organize their
activities and perform ever more complex tasks is becoming of paramount
importance. With this book on swarm robotics, Heiko Hamann gives an
important contribution to the foundations of this exciting research field.


Prof. Marco Dorigo, Ph.D.
Université libre de Bruxelles
             But it was one thing to release a population of virtual agents
inside a computer's memory to solve a problem.
It was another thing to set real agents free in the real world.
             -- Michael Crichton, Prey


Contents

1 Introduction to Swarm Robotics

 1.1 Initial approach to swarm robotics
  1.1.1 What is a swarm?
  1.1.2 How big is a swarm?
  1.1.3 What is swarm robotics?
  1.1.4 Why swarm robotics?
  1.1.5 What is not swarm robotics?
 1.2 Early investigations and insights
  1.2.1 Swarm performance
  1.2.2 Communication
  1.2.3 Two levels: micro and macro
 1.3 Self-organization, feedbacks, and emergence
  1.3.1 Feedbacks
  1.3.2 Examples of self-organizing systems
  1.3.3 Emergence
 1.4 Other sources of inspiration
 1.5 Homogeneous and heterogeneous swarms
 1.6 The human factor
 1.7 Implementations in hardware and software
  1.7.1 Example tasks and swarm robotic projects
  1.7.2 Simulation tools
  1.7.3 Future applications
 1.8 Further reading
 1.9 Tasks
  1.9.1 Task: Scaling of a computer system
  1.9.2 Task: Superlinear speedup
  1.9.3 Task: Synchronization of a Swarm


2 Short Introduction to Robotics

 2.1 Components
  2.1.1 Body and joints
  2.1.2 Degrees of freedom
  2.1.3 Effector
  2.1.4 Actuator
  2.1.5 Sensor
 2.2 Odomoetry
  2.2.1 Non-systematic errors, systematic errors, and calibration
  2.2.2 The art of map making
  2.2.3 Excursion: Homing in ants
 2.3 Kinematics
  2.3.1 Forward kinematics
  2.3.2 Inverse kinematics
 2.4 Control
  2.4.1 Trajectory error compensation
  2.4.2 Controllers for swarm robots
 2.5 Swarm robot hardware
  2.5.1 s-bot
  2.5.2 I-SWARM
  2.5.3 Alice
  2.5.4 Kilobot
  2.5.5 Other swarm robots
 2.6 Further reading
 2.7 Tasks
  2.7.1 Task: Kinematics of differential steering
  2.7.2 Task: Potential field control
  2.7.3 Task: Behaviors of a single robot


3 Short Journey Through Nearly Everything

 3.1 Finite state machines as robot controllers
 3.2 State transitions based on robot-robot interactions
 3.3 Early micro-macro problems
 3.4 Minimal example: collective decision-making
 3.5 Macroscopic perspective
 3.6 Expected macroscopic dynamics and feedbacks
 3.7 Further reading
 3.8 Tasks
  3.8.1 Task: Plot the macroscopic dynamic system behavior
  3.8.2 Task: Simulate collective decision-making


4 Scenarios of Swarm Robotics

 4.1 Aggregation and clustering
 4.2 Dispersion
 4.3 Pattern formation, object clustering, sorting & self-assembly
  4.3.1 Pattern formation
  4.3.2 Clustering
  4.3.3 Sorting
  4.3.4 Self-assembly
 4.4 Collective construction
 4.5 Collective transport
 4.6 Collective manipulation
 4.7 Flocking and collective motion
 4.8 Foraging
 4.9 Division of labor and task partitioning/allocation/switching
 4.10 Shepherding
 4.11 Heterogeneous swarms
 4.12 Mixed societies and bio-hybrid systems
 4.13 ‘Swarm robotics 2.0’
  4.13.1 Error detection and security
  4.13.2 Interfacing robots and robots as interface
  4.13.3 Swarm robotics as field robotics
 4.14 Further reading
 4.15 Tasks
  4.15.1 Task: Behaviors of robot swarms


5 Modeling Swarm Systems and Formal Design Methods

 5.1 Introduction to modeling
  5.1.1 What is modeling?
  5.1.2 Why do we need models in swarm robotics?
 5.2 Local sampling
  5.2.1 Sampling in statistics
  5.2.2 Sampling in swarms
 5.3 Modeling approaches
  5.3.1 Rate equation
  5.3.2 Differential equations for a spatial approach
  5.3.3 Network models
  5.3.4 Network science and adaptive networks
  5.3.5 Swarm robots as biological models
 5.4 Formal design methods
  5.4.1 Multi-scale modeling for algorithm design
  5.4.2 Automatic design, learning, and artificial evolution
  5.4.3 Software engineering and verification
  5.4.4 Formal global-to-local programming
 5.5 Further reading
 5.6 Tasks
  5.6.1 Task: Beyond binary decision-making
  5.6.2 Task: Buffon’s needle
  5.6.3 Task: Local sampling in a swarm
  5.6.4 Task: Dimension reduction and modeling
  5.6.5 Task: Rate equations
  5.6.6 Task: Adaptive networks


6 Collective Decision-Making

 6.1 Decision-making
 6.2 Group decision-making
 6.3 Group decision-making in animals
 6.4 Collective motion as decision process
 6.5 Models for collective decision-making processes
  6.5.1 Urn models
  6.5.2 Voter model
  6.5.3 Majority rule
  6.5.4 Hegselmann and Krause
  6.5.5 Kuramoto model
  6.5.6 Axelrod model
  6.5.7 Ising model
  6.5.8 Fiber bundle model
  6.5.9 Sznajd model
  6.5.10 Bass diffusion model
  6.5.11 Sociophysics and contrarians
 6.6 Implementations
  6.6.1 Decision-making with 100 robots
  6.6.2 Collective perception as decision-making
  6.6.3 Aggregation as implicit decision-making
 6.7 Further reading
 6.8 Tasks
  6.8.1 Aggregation at specified spot
  6.8.2 Urn model for locust scenario


7 Case Study: Adaptive Aggregation

 7.1 Use case
 7.2 Alternative solutions
  7.2.1 Ad-hoc approach
  7.2.2 Gradient ascent
  7.2.3 Positive feedback
 7.3 Biological inspiration: honeybees
 7.4 Model
  7.4.1 Modeling aggregation: interdisciplinary options
  7.4.2 Spatial model
 7.5 Verification
 7.6 Short summary
 7.7 Further reading